From 17cdf058013970226a1597fb1e025525681992f0 Mon Sep 17 00:00:00 2001 From: Matej Vasek Date: Mon, 27 Jul 2020 16:03:55 +0200 Subject: [PATCH] feat: http template for Quarkus stack --- pkged.go | 2 +- templates/quarkus/http/.vscode/tasks.json | 48 +++ templates/quarkus/http/README.md | 55 ++++ templates/quarkus/http/mvnw | 305 ++++++++++++++++++ templates/quarkus/http/mvnw.cmd | 172 ++++++++++ templates/quarkus/http/pom.xml | 111 +++++++ .../main/java/org/funqy/demo/Greeting.java | 22 ++ .../org/funqy/demo/GreetingFunctions.java | 37 +++ .../java/org/funqy/demo/GreetingService.java | 21 ++ .../main/java/org/funqy/demo/Identity.java | 13 + .../org/funqy/demo/PrimitiveFunctions.java | 16 + .../test/java/org/funqy/demo/DemoTest.java | 45 +++ .../java/org/funqy/demo/NativeDemoIT.java | 9 + 13 files changed, 855 insertions(+), 1 deletion(-) create mode 100644 templates/quarkus/http/.vscode/tasks.json create mode 100644 templates/quarkus/http/README.md create mode 100755 templates/quarkus/http/mvnw create mode 100755 templates/quarkus/http/mvnw.cmd create mode 100644 templates/quarkus/http/pom.xml create mode 100644 templates/quarkus/http/src/main/java/org/funqy/demo/Greeting.java create mode 100644 templates/quarkus/http/src/main/java/org/funqy/demo/GreetingFunctions.java create mode 100644 templates/quarkus/http/src/main/java/org/funqy/demo/GreetingService.java create mode 100644 templates/quarkus/http/src/main/java/org/funqy/demo/Identity.java create mode 100644 templates/quarkus/http/src/main/java/org/funqy/demo/PrimitiveFunctions.java create mode 100644 templates/quarkus/http/src/test/java/org/funqy/demo/DemoTest.java create mode 100644 templates/quarkus/http/src/test/java/org/funqy/demo/NativeDemoIT.java diff --git a/pkged.go b/pkged.go index b71d312a0..fd23cb0ff 100644 --- a/pkged.go +++ b/pkged.go @@ -9,4 +9,4 @@ import ( "github.com/markbates/pkger/pkging/mem" ) -var _ = pkger.Apply(mem.UnmarshalEmbed([]byte(`1f8b08000000000000ffecfd5b939bbab6370e7f955d5defdd9b9d7030dd4daa9e0b830d061b1c4e02f4d4ae55801c4e02131b1f60d7feeeff42f8d4eeee24333373aeb59ecdc59c69b040d29034c6f8fd181afaef87b4fcbade3e7cfeef8738ad935df8315a179fc2f5765dfe67b55967aba8fef43508488149ba79f8fcf0ff93975fc6f6ecd376137dfafe231f1e94a25a6fea2f419d3c7cfec1fb3f3ce841b17af8fc70ba9aaca387cf0f0f1f1eec6013afea9b8aab3cfe84d37277fc4750a0c7d1f71bf13178f8f060aed7372f78f8f0a00575943c7cfebf0f1f1ffeebc383550778f5f0b9deec56a70b73156cd7e5c3e787725dff475a6eeb00e315fa8f7057ff47b00f521c8478f51f69f91fe12ec5e83fa2204a560f1f1ee4b594e2d5b67b6f84d355597f8cd70f1f1ea275f9358dfbbfbfeecaa84ed7657f55e5f10a757ffed75954e4e1d566b3de7432f85ad40f1f6ee556049b3c0cead5b613c26af3dd1fbbffa765fca958155db9350ecaf8e37a137f3a7e2a57f5a76a17e234daeebe7e4d8fe4f72a8f3fa6e5a72628f0c73df3f0e1215d93ff7d4ad7bb3ac50f1f1ed65d9baaa04e3e7d4df1aafbe3e1c3c3b6dea465bcedba305955a4fde1ee2b79366cead59608a0a836abedf6d3571cd4abdb1b719b56bd84ea202d579b4f38ddd6a71bab23f96bd354f5faf2c7a7a07f637f11a55542a470ba46b73fa26d70bd58452f2f11c37134ffeac6a7b4ac579b32c09f56e8106cd0f6be18c66955a7d1f54e5204375797c73741894e52bbff69bb0b6bbcbafe5020ee7ad13d7773158d6e2e6e3bb04d02fac515c33dbeb8e668e6e6faaeca1adfc8e9c851fccbab4f554ee6c4aa8cd6282de39b3f3f05db92bebd0e83edea71f4e24e5a069be6f64eb2ba7ddba7ac5b5a37d71599a0ef4ffa781deebe7e0df0fa53b2daacfec482f8e1e3d7412a826afb9345eb205fadcb4f6f164d5655f09b5ed3adb97ab5f941abfa35ff537a6155842bf44734c80fcb6d6b4454c42fe89a24d826a77f3e459b8825fae72c9a4e8f0438bebd1555bbdbcbaf45bd5d6feadb5be5aaae3741b4babdb7de9259767bab5a637c7b7dffc866f515afa21aa7f58bdbdbb48cf1ea2b4ee3e445addb661b05187f5a1d57d1aadcbff5d3ae2442b80efc6a5be375fc96c2ed6f17bda2edfef914a6f1f5cf7a7bfefba4368ab4589dfef954ec709d5601110ab9f16db7ae57a8daa465dd99af870f0fe5aaeeffff29a9ebeae6cf4fd17a9da7ab2cd8dcdeecfe7716e9e5e6b91ba77b9dd6ae366ba2b1bbebdde66238d65b2295930979c3929c444dfe8a57c7eaf2c7a76d53d64127b4cdaeacfb3e9efefa1411437abeba0835a8d70551d3af7e3949f3d5fd6dd335f2348bb6f5265a93e13b9bb70f0fdba68c4eff5c5f7f1ad4870f0fa776edca345aa39bbf3eedeaaff4e3cbeb6772b90dbe76e5f6ab12ad379f5e2c9ab37d4b82280918eae74a556bdcd02cc5fda034f9a75b523f5beeacf3bf5778b7d9afceb6f23be5921c7dfd7e89d766f23b857fd0e36e02a272dbfd57acb6db207eef752fa678bc23ebea87e5aacdfad8fca020f329a98228ff4ea91495c13b3f6f9bed49cfbdf56bb7d23e6d57d16eb3fa14a628ddecde9516295a6f8272fb75bd29be57e83c47bb17fe4cb9b27bdf7f7d78b057dbfa95f7fb8f5d99d6ffe8d4db4bdff7e5fdd3d337eeef0f5dceeed1cecafdd787076d8dba7e7ffeef879f04195a90966757ff8fe31979adadd11f79e653bcfe58ac117914ac36db94a00afa23cd3efccffffccf8787afbdc87e00be3e7faa5745d539cfa46c87d8ba7fd1aa0e524c6e953d76ba16fbf0b04ddbd5c3e711c53f7e78283a95f499a1474fa3e7113da2c99d7f1095f5f981a118ea3fa9a7ffa4789be63ed3f4678efbc8f34ffce899e1ff931a7da63afd936eff813a71f592eb9465070857fb87cf8fa3a727eac38352ae1f3eb3143f7ae446ec87071da765fef0992343b47af84c3f3e3f3d7d787052f4f099a628eac3837cfdd3fbc73faa00510f9fa90f0f26ea5e4a7d78b06eda2fe07cfbe2721de5db87cfcf1f1ec6755a744db156d1c3679ae3472c43f334f7e141df767778fe99f483f99f0f0fda8f8af65da6fee7c383f8f345bd7ffc6357eeb62bf4f0f9ff521fa80fd47f9181ed70c9009907c83c40e601320f907980cc03641e20f3009907c83c40e601320f90f99721f34913768dcfe39f074837f8f97f3e3ca0a00e1e3e973b8cbbd76d56657d7de1f51952dbcfc2f24fe6743cd1a61f0bf47d807e2d7606e8dce882cf470cf50360ce7e7c621ff911c3f2cc2b64fe35c0db1f4373fa02cde933346759faf9f917a03969f91f45e6ec19433f3f53fc88797a7c7a17995f8a5efafc2e327fb3e86f45e69f6ea9951718fd3a636e8bbcc6e257507d45d3fd1c3c81e9d300be44d3b718b92f7d59f6fd658f20fbbf5fe894ebadbb27fe772b809b957a51050f4a2338d0a50fa12c51d0d3e662aa658a040e5096a8c0e54a31aebc40063b4596762b4ba06ecac6bea76245a6f750c645e0827c210af1221ded23b92ea16bec20c3c7ca4c5f872cd8425148a12534d045382c40e37b2686e2682e1642ec8fab326c84127a460c194c0533902e0a7d1f5a7ced7beac62f487dfd7b3d65ef3374be60850d644023167aaec8a0f60b904319e48ae817caecfc1b79f70cba1c8e8a539b2de11030084391ebeacc4286a37c17efbabe2a331d47054e42193f42d78851019a88c1fbb0d4e290f16324275891f57d589a382ccd5691f942195754203b3192411dc9c704c9a05564b38a0a9021996f56d6210e5d29879690f88c8e2356affce2881559a294994a87a55985aeb353c6eb3970392a700f71c4822c10052a70e9ae5c7bed1fdec1466811199b4efe7a0bbdae1d78a7c86a15165213b85dfd98dcf399234d64d2fd3e33d7d0a852dfd3b122a3bd22ab74e01e7345867458e81592f99def1e2b34cbe3f94cc7d012d668661ea276bd5f30a8427242fb2997850cb5870cbff55dae5c3068bf60701bb10047cd73abdb39ad89f9dcb7042a90710345fae07b2ad5cd9b90e1b7a45d3315471ee8e49377730a8afd7844a970880a9e095c13478d9084a92038d33c0e65a9810cd8aeac6eacbaf799bdfcc6151b78e69af4cb12f651231c7c57dff82ec28b783d7ff87d062e5e7fdfb2117fe54f70ceccc7d1d3886779fad72867e662d746ff1cca99399ba0d1f363d70d967ed7b05d8bf63da6dea79cdf2c3a50ce03e53c50ce03e53c50ce03e53c50ce03e53c50ce03e53c50ce03e53c50ceff9a8c53bcfeab58e778fd69b55f95f50fc2c24e657e199fb3dc679afb483f731c4f8f98d7d4f30f103a4d3d3d52ecf305a133ff0484ceb2d7f02dfaf9917464f436427f59f4d4e7b711fa7b4507843e20f401a10f087d40e803421f10fa80d007843e20f401a10f087d40e8ffaa08fd8ca3ff6aa07eeec80fbea59f3adbe3dba7d1cf4788bdff19fd47f1613d4ae77f5f7c58d7ec5ffe8afe387ae4599e1b3d0f5fd1078c3e60f401a30f187dc0e803461f30fa80d1078c3e60f401a30f18fd7f2b463fd773ddbe11ba7c8edc233e85f15381cbefc4b82ac3667c5c64d3568cab067a121d90ad1a2fc3f87de6b847ae8951017668a6ed23c6dc2c5cb45fb07ea3ccfc66918d77da78fd7f7e6b28fd4d4fb6bbe287644057e64c063cb314f37374c08fbedaff0c2140734fbf8f10e89bfe0e25c08cdefe6e3f7abe7c6167d9478a659f9e1e87eff6032730700203273070020327307002032730700203273070020327307002ff9b39810e255f39811ed793f40b7bc81cf1299542193602a389a3464f4707b275bfa0f75014d69a5d250e0030a0934750ea34cca98d3943b2e64ad2bc1546b0d0c1bc7518ab4413df39563eb33d18ccb1b681c97e31aa32f0cc3572959dcff0f58252e9a8e02887056d20e77b24f37528927adb4536dd43e67917ba7caec8f17159260aa0f4a5c954a2eef2c7c0319be5ac2ac2e2b9b59d8486b6aaa009682d47dd44ecf8a0b152b672a1670387178b575c46055d8e5a5a7c1d787a1bc9607badd7b8ab57faa617956a505aebd8e8d1c4150330daeb54ad195e35d1583cd29d880d58cc3894b9f1dbfc10cd0463e5456fd5fb630ea597b1005c736695287168b033acda45053858ac540665ceb85373e3c87aa1c949b168754d6770667ada3170d5f6958c197d1bb220871e24692816ac9e070d5d860dcf68a9c068ddf866e3977dcef40998a907233336c846aaefae195818ac69ab3e2a28daf2121d4aeade77a475e44a1628b82f51a63606fd86ac5915fbaebe59b002b5b20446b346c74596bfacafe0176e0e68e8c08deee80b6b06d560ca59ba438380c90f1a9d4c4ce06c1c1bbaa6945421ae68935ab71af5ba3e284b0c74f53210bb394c7763cb2a33ffb8c8a63b8ddce3ea9031e260327db432049712ce40ab2e0337692143bb61c3d728d3b78687b60b56dfd8d4880a9ca31260bdb5ac3ad39db85d4ea8f95dea91dcf720f619b4266bc5d30fd08b62d4d5d9f5f7e5fa99eb743e725dddd372ae0a667a1902b85f3034a331470131877dc4d45fecccacec69f2cd617575ce68b435d146afc716b661c153810bb9dbbffbfe1a3bbd79d9dfa044eb885d537e96b7a8e10d47529b052b2d3580b9d085f472668c74eab833735d0f69894132ff2d922b396c5ff5b70c9963121651a733f6b0d715dd3caab56c7cd4b3f151cbfc466b9d569bc4b596e939747d0ada30d36c33bd93876de431bb72d128b09303c460eb3bfcc67668da0012e54c3130b304fb343274074ba1c84f9c0cb9ce44355fcb03ed4359dac186af4346df5cc6dd7a298790362172f0c866d500b1a611b86032a7e2237224259275cd2c3869e54833909bda82d9523a55157e411d0cfb7d394433b5d35f2972fd7edc5fe9cd35134a52adb7389d33473f70e80215d1dea7ab5a93f459c8c06f96a31f41ae0234530dddc373dba555a395c077fa79880a9e0a19958629595baff56606b78e4bb14b57d9845252d92e6460c3676e411d1c0aed61a7db58c93530a0223ca6574ea5870e9e686fe8cd4b2a17566842d6dcfb25287a196b3b2d7d2963bd389aa11d717e5a6f5d19ebb084e582d183d0166c93e18b20c7930840117866e34c0067e5746d39da11bc2963be0c65a7eb57ed33f44199f90752e7dd7a5e4ad2d1a7cc7255aa20728fc04ff99986051348a8422e98856c453bd974b49c9825944d7de5a18d5e60ede7eb345ed589b22407b2a9f9393dd38a5af51b9eb14ab89d333ea303bfd10a330de8240d5924e9455502912fed5c1d99dfa91379a082e259574e493d2653a73eabaf17144a232979d499a3014b53336cddd0b1096d0f7d33a8230cedb80d0a2c3ba09217ad5eba3f5fcfcb79834d75058400daa60e5989810580e65495a16bea218566d114b00bea78b41990d8b4b1098b6404ac9ab3e4e757f32690a536907116b2eae13a77e96d543a31cac63bfd958e5cef435bf79c897fd4a6756049d0d4803ef35bd8408b07a69cc808e3a9ce0a737d2aede7ac6e2d584973cbfc0d1d99241193543ec337917859af753853e97e4c9d9dd6103d041db93e1aadcffa9e3132314e7cd76c2329daeb2590b4a9fe25a2d491d32a8c6e43cb9e826639550f918c36bf56e79d6e76a469084c3672b016b666ed66896867fa54c35366dee26f709278b60d689352472bab9696333c72187eaabfb645eb48ee6dfe823593c03df4fa487cedc7f999747464756d79420e668914509ce2ce3076189f46dd78d2fa246a780a30a0d127aa114df991e3726fe8a3ba7969dfef7d37417600dee919f4ac99fa2592046817c76f88e2f5c87d3e6a92b971ddf808cbbcf5695c85adbad5187512d1d3d7738955f6480623d4fb6bc7d7be8b39f74b7f634e2b4fa381b3a08e95cda23904dd2291302c250a78f13e0070edbbd45e9fc1024ea5c6cef31fd5d5bcaaab001af41456cb5407ba7565b2400f189cdb5e3259b082ae4dcc2da0008e0a490100d446198dc2895a46f96bdd1acab80c66668b647058b066e3bb3af6197ed7d7cf9dfdf18b8d5d4ea6472dcb0f9a6db0da645a6b7644eb8cd62e6d29d55c2923ed4bb78d9fc1caa4d539b4f535c2fe7e05a01f1506a579d835dd6a841ca8ac64a9b54a691ac8b51a608d82ccf62f6fdfdd5c94a3c268fc82733436a2cd5ca123dbe04c87732086db5569ce4da06d3477bbd7992307e8b899b7b88c2c5e7f3d17b90aba345eb9a09b930df4cc7e5e5edbd6689371a365d151cb8c913e516adf9e1ea08d32df05059c24f8ae6d8fe644aa9d9cd70c870b7c363e3a12b40c5a3b446eede8acc0da723d83259a87adf91814fa72419b5cc470fbd76de37711d3f9be78173068dfdb4eff954d09a7473accd57641e35acf8fa20ed65c80b1e3641163169806323d3225738a3cfd8bc900c771e20da0d1b7376cca3e2cf56ac1a02a2cea7e8cacd191cce5977ddcda33b0334a6defba14634f15dacdf037179896de4239f080137ac9144c4d3aa2f81904a66989b507984a7abf8f7c0d5d94f47d8c5ef5117af10632aa022c7e024a201ab9a95a45956a383e440ef0fd1c96baad677a26ad013dde6b8e7ef03da0bc61cf0e0113eda1a73621abb6bd7ecd5ff97c7e8912c426853555651bfb1b7ba2ae81373e467922983350804c576dcfdc99929ac34c6a748753ed1c6cb5d7faf510bae0d1f7d49cc8d0352b58c06de02aefe9d9caa2625667eabd59247025990bcd1332a7e03616531f2136f790d553d8a2d2cd39d7b5cdd6c94de8a6cfd42bd9b23a151580f299a459307c1a9431b19f9af5aa4ec52c6ab8b4a78ce5f89ba844b92943dd706b57a7780ab1e06860f818e5cec8a415c6a4e068ce226935a55f8fe76d9dac8923d6ac609993bebe61b769d0aa23732259112b48e604ec97126e012df920d769e81a87a884b663d535106b5577f591cfd03a2a4de175bd3009673809e5e9de2f31055d958605c45129ec43e63d9bb666fc5ccd6c476a108be7bab3dd1b2e3d0968c4686e45e92dda008c38835a33d64cf8821cb0d3d9f5c160f5acab3f6cb87d24839dcf805dc4827651e07d3f9f944ef7937964b478ed50fa17d0c6ad26eb6b0bc00d94ab446b4dd6b7e16265d5ea0aa36d28d72070396b4ea99483abbcb7d3cfbb90157058e8382c753a6ab8eaccb3bc811736018576d09124ad4cf65a8e8bc0d5bfb832971825d6016dce6c1b3b7aabe7268b4610a00c78921a4d7b1f286c38da2f40b328f806367c8264be0e5cad1f377174e8ed973e5ae5d80d29e0f89e609a9e340d2489d668a9084be81bc0a70cf7f8e8b310186cb20118c8a8d536668f0df68b12a4d0537621ab960b46a24286aefc5ec750af6d259a6a79824346f7b5a6e6cca6e620750c7c567d749c2a895cda0b322c582ec586d97844703088f6cef4adba683a9c9955b7e6afd8be9ff721056a274f4c478276e481542fa36695a9b996832fa0d41a58549c89d5d9cae58b605ad32bc73c6a92a4be21b31ab9472a704113a567bfe6ae4f25b274b7de4399164c3c3d00673b72dc638a986aeb501ca7496b6629a3793035e7c089e888a9aca56d1e17edf8759fd82a89c48b7eeec727e7add524a6c3427502b75aaeb2641b94d50ee5baee645260e4d8b028b8d398ca8c0aa9d46cc1d772a9450ef5c3f7dfe90b0631f9de2da489e14ac0a7d4cdcad59588398ecc0916b5b2aa740938ae9cc87a26b43ad6bd6806a66626100c7ef26f4ff5c47b9f55b968669ed6ce78a78954a34da69c36d10ecb89d26876745c8a74a66531a531ce41730dceb795bbf9627eb30b94999e725c50da4177a449c044c7c03916815301dd01073d934ce0d633d026c74836db88ca0f7396f06e278cc1eda322daaf441eaf66e35e57767db795836677be8972d4eca859da537a613b87a50bb15f8062394912fdce5e19d4fae00364dbf698d65be5a051c742cfb136677c0e4ca40a4cf0cc28f17425c3c0a224134c754b636ab3e70c4eb8b99f57a30573acc2d2b86b4f7cd4260aa3d979ab4dc6f4c2d518bd1d1fb4424fb556caeef10200300f73e3683214b39a26969deb10c8b5056c651fe4800e65a8686db2f029ecadbcf1dea4241db2706ffe747bf2839629ac664794d68ee9850d528d7118df7668bfcd997bfb8a18b00e59b0f46d7d6b9728017492a132696d1bc09534a55740da825ca37c5b58180e3d419eee4792b0077fa43dedb4d56ca7d55b65b4708d83668f0f7e06533849d27bf97473549b269320e54bcd96644863ca928f250018204adf582ec436e58f962e9f59407d34a9e7fd7206377efb567b387cc20037feed98d532a3d15a63a44db45a6b7d56631c4a93d544cb14fa6e7dd5f6445a2e68a345b2645a723d75671aabb16a609588026e226b6cd4c2d2ac118bdac81644e0d282536ad45beb2b2c0075b7b646da246e7ade4da3358b1af9b671d46487f533bf5dca779c76416b9a33da83894ef9405202caf4a3366a235ccd116b8260eab7a8d50b24d32c62f5a3365541e84856d41a6fadad1df45ecde5c3d21e335aa6b59a3d3e2eec29a3b97aae4f105eda5201effd5de770b453ded15833719c64634a49abb77ae3e6158b24b036339dd51848851e6223767a3030a80da0b6bd4dfd89b1b2c78d666b073d9b1ef5c9b8d69869a3653eadc91aa317273feeef1bab4e0f1e357b3ad25a8dd61a3a5f4ee291de4647bdf58fba7b8f9d0dce9a220a66896253dc487781a3952a1566e8a817c0891c3c713d0980825b44ad4e05d36aafd1d22194dfd4836f8c557ed0edf1519b8c297dd2e9419c411b257a96379aec1f96f7eb7c821593358be534f96297310d81d144a5b9d3d929038179b41c1d4600b8615eb71a6baeade2b9753c610b7f6e5df5d86ca21c96b6c168995f6bb67fd4db69a34f40060be51eb73cea8e6e016c3a40a6052bf3599d361fede97106acedc12f2ac36e052d60c1175bcea9450b66685a7951c3b76f8e1523d1488e9bb7d616b115dd7c6ee85c2b1ca66bab3ed1467ee1bc1caf7cb4d7648771e5638d5c70b4984a30d9646fb3a000a536729c64e6942a0d80b4d34becb9b69ecc9bdad124e7adf16a572e97bd6e8f76d4c9bf534a4fa9239cf807d8c96b22657ae1dff178eac87611462d70ad327944ae432f986a0ea60e8d5cf02d922b379cf278c1e0c72857586d5aed611635fec987f8a9f6d8d3c372d2cd21a3d52c8ad20aa5d5ec68a4b720d7e4bfbd3d9c36511abd9dd2ba9d535a43e34e1f4379caeacc9485f63fa33d3959efba3d3d68229dc109c8973648f4899ee8f7f3e777b7c7d35eebe68976d06ce7a8dbda61611b9cd6c634b421d66ca7b9e7f11dda349653933167385b30a6aabbca084cc03a62122a602a7b4e399486cdddcad397060d0c285759e0a0b5fb965d67752e7ac5138d7bf964c6419ff8359c0829b43bdb2a655a8beeb9181b48e3913983d395abede134a7fd2c717437698399b909b0b6316da30132c74514370140c88342af4c26816fadf788c5ed1b73e7a8db534acb726a69d1b9262b47cd5573df95b2a57ccf91eb8e3349a6283739bfe173cb06e95232e860a6af915c7f739a5ad227aa1396b8b5731d38b2f9cd67f02c90f29f1c2ba29b1bcd363a9f935ad83a8699d6688c4fc1ecb51d0d26d232c0288336f69dfc38731cd08216b1d1b45e1a4c355b3a266517c7492841dacc8f925b9853bb50a5e82dddfc7aaccebaf9a86706ab654a0d27d343271b2d338e7a61dcfb3c6bcde1be0146c74b9058f61499a6a77b3a8b0e16c54d823ce2cc99b90ca7fa169440b6a720805373e9e7e04ddd7cc3c3b6af7058ce1d6d3b9180c303cd36774151cf35061e6d106d2259636cd9dc2126a91614fe16cd908226885b7980b57b7ef97e1c28e825d4e51bd3dd7af073d02c3dbd7027bab994aa22b441614ff068de9263114aa7400bada90f687af42c562a5131dde8ae29046fcad8dc87ccf17e0e8ebaf5a0b71d4eca8f5a4a719a0c133d8b1bbf555feb8b62c4dab94e435917170c27adcac435195af373d3736d70801839f64c127d4a6b2c7acd04258628a7a810bcddf790e1b7afd668e71fd846a3654aab4f9cda2ffccebfa3341be5be9ddc7fcfdde9143741ae991929bf33bd6a047254dbb23a05744e4732f4c0f478340a7da2e575a01715e77a50d765fa4d2c89647e1fce5eaf0b2d533a1b4c773a6be1faac96a114ba10ebad33f2efb0c012e0adce26df7c5b08c272da060e5c6b54b2b73c750fa5980b294e776730f719b05c1547e064c96390d3ccdb3aeccd313bf9749d8f90139bacd939addb535663d41cdefbdff971b2c270663392a597896f33d5c6b1f57d583a4733af24b3540e0e1d1d21a5b13e556f340fc84bb99e39a5f6d6988d5e729f376db295834edae6b47a4a717e6116beab623d8b697da2ddb529dfebde9a59da491b6678e1db89039d2a5b3af4222a78005c7834723541007d733c49b332f58b23c3dab57b2e2364d0165adccbf163a44324831d64f00e5aef702839484d4f3b180032cb89ba5e4d54d6c6526ed242099c9c0ee5e4d1b0f899363538d7435b0b279a6eabf380a2fe48bdaff9a83239f85465d9b2728852be0973b08b5a616a3935743d7f03980a1a8c495b33bd0968835d5040d44122a1ccf84ebd088765ff6dfc0d1fb2f36369cdf61bbda1333df3477a2b64da44cd6016dfc9a4aaec0c2d57322fd8535407a02a908d26861353114ed690352d303d3a2b1952d0a5b7962db480a147a1abfd4adb386d6234baddf94b3ebdb4a856b751a6676aa1c90ee51777bc0c868fab520a2cacee4ca6d68c122ad0456684936f462919c8534d206bf482aa0f2100f96aa63791ad3021e57caf6d4d24f7dca466e7afbf877812ad4f8fa92999b42e25338b491a5da6ad15066de85094539a6ec8801a483a5c4e2461255595395346272c7f8a6b7bb96e20ab1e4e5c6543be23bee45e8f9acc3b3623a5b657cd5161d27aca83c00301f42a57c7d242774d3b9c46235de6990523258127f941d6c7e884acb0810d5785299f0532c882866334eb3e4666da7473623999b65ae6d45a26e45a06b096c5077d32beb7a593b085958fe1dcf0aa9de14a6ac04a87a59cd060d6ad0969e276ef2caa3d4cf9cccf4714c011ed7aebc377db63bdf54dcc6974dba8979dcd99f89c96a1c2cfcce22f6a4f1131dc1ec9b858599736518b2cba8f45785c4eb96f6e9e6c401b8d20d64d28ab6035c5df0c6c66909a1e5799542fa54a8199e0854e0d82a9a4afbc7e3d44725d2e0abc23badb5576289b5ebf1f107b621cb5894269b646ebd9b45db866ae675ab3b4a3166612be8fa3823363ef1689a1dbc9a3d39ada725adb1146d31098d8286a55cfc014b58212b11858332081e2e86b36a8513f1f0f0113ed0277b45fb9521d8adc390eaf79f5ddbc48d4a5adfb46411f818c5b23873a0066adc9cac82ca84d502aad2947473be74691870ef316081a8033e4e477fdc649e81e7628536294293b52d79daf66d979eb4ed53a02661551aa6c03e084b6902ea7b09e3355a35166a939dc723593d848dcd2862db9260bd4bbf1e47c97de2eca733ca3b25bdefba8d39cd3e8440c3dc9093c5d34731a00993af859228756fd2dcaf4296ca5a55d2647c48e37ba333d821cd1964dcd0399df8505281685be27ed7fd7164f0f9d6fa04fb4466be84c2b7c4e63a69c5e2887a57d177b58aa85c61c67fa54b52c575dfa2e9c032611602ee57eca6347aa4611adec7549a5ec3c3143461f2166cb459d1d88ffcf5fb3df35094a84571f7f7496d4b5d879d72bc9e1f437e5c01a51bf6fcb2b69f790046bd8f03a6c781d36bc0e1b5e870dafc386d761c3ebb0e175d8f03a6c781d36bc0e1b5e870dafbfbce1f58a91af7b5e2359ca02462aa12514c8e53224e37d18afe7814b1f4256a514319e8b964a8efb26df82e2b5aa14b046a2d2dddf478d3217639c85324f431930d0e5a8a819a77771c277bff32d94b735649ef728535231cde762fabc57a6491216e6165a42a24cfb7d1b26d9ab69ecc8ef924e4733611f952686e24d7b53a10d5cb4f33d938e0ad02ee3f57ed18ce33eb797b69e1b77d79680a352dd4777e56e62f827e7fede3ffb669977dff7628febeed4978af4451cc7b0043bbf49ee64c349a4bc98c7fdb70c65be689e63e5d4dff9e918f5d5ccd81997b61ce29faeebd4e6457e79cf5691eff6c5e67d5bfe60bfb68a58bddd1749c5112becc352c7afe5f927def507c671210aefc8f910cf8bb7fbef14a08d647e1731ce9f92e3421c7f7bbb9fa6053dfd10325c0badeb78f775088aef7279283b6b9f3547ca3be3ded765bc3bfe8a0c9aa8e01b65b69d8b2e2ec8753a7efc62097d5991737df7584159a2a01557cba693a9122b36158705de92e70c5c849eb1334ba1095c8e8269b28f1ace46b2d995dd2aa25a85254c4219e7ca49beca4cc53e032a54807c918e314a956d5f77debdaf8164ad8e489fc518f362dcd7e1ccba7799c55c5430c2c79d925efa5889f1f5b9ae6d6249fddee3ea5f2aca8bf9f909e2f1c6849dd847eae9ef631fe9dfc83e76ed1ed8c7817d1cd8c7817d1cd8c7817d1cd8c7817d1cd8c7817d1cd8c7817d1cd8c7817dfc93ece345aa7f92822cfbedf76111a522a1247f3ebddc82395114f1ba1209752438d0d3294b9676503e6245265bde1be8693192930489172a26f65d3d839e40458d9028b313e5f192aa8c1183a940e669249ee8a97474a6745ed4339f19f1fcda8f1d10f3787558ab8be639362ca10e5cae0a5d69bb10851479468c0a691bb8c6f64cb12ce2b57aa67f961975a649767601d8b998cf45f7540eeb184df1742eaa8e097467e100d7743867618f8f4a7a574e32b94876d60aa16d39bc92a53a928f78519cca90f61ae9dcb8d4bd731840390c4f47858ee7a2ba4633f3b04c9ff7a1cc67be7b5c87ac4e2db3f8b09c8cf7a4be38ef64ae8625dc078cd3c9182bb289618177d035e2e0249f4e6e7794d59512bb527ca2efea1bc8aa7be472f95ccc2ff299db5b422f29e2945764ae0a45e1498c7315899cec7b66128a098e4aa522f45349f514b444c6e3540f506f68adfb399184a970437be15d3403d485fe92110e0bd0f89e89bbb912a6efcc05976308fd36ed9f7f6f4e049772a7f74fd6fc651ee41c464d5c29e2f35e91e92a62f5eed9382ac011b9b8e9640a0b8c43d96cbbb542e6976752d0a50f4814a8b011d6e7f9dd8f05de9de6da794e6dcffd0f5cae5466e6daefe623297ba2ec3de5343fcd04cdb4f84281c65ddbfd7e1cba365f28fe5b0a554d7ca62ea382a7c3c258cfad437cdfdfcb584ea8b7c752f6d74a716d0b2463c2ed912894d0e5705448143cd3c5a9b07f39762739a6e3d876711b3178079bf10e9cfb233bebb925f4e1c2ed3399fb5f8dea2f0879244eeef7d9c6de0dbe65e77a9291a1474fa3e7113da27f826be4089df6fa788fdee8fc806c642e642373261be9c7e7a7a75f201bcff4e22fb28da367d211e6a7d8c6539f7f866dbc161dd8c6816d1cd8c6816d1cd8c6816d1cd8c6816d1cd8c6816d1cd8c6816d1cd8c67f59b691a8ee0bb958ee30feed10fddc891f9dc1d977b4c7b60cf7778503d11cf3fbc281ba660fd140033e1ff0f980cf077c3ee0f3019f0ff87cc0e7033e1ff0f980cf077c3ee0f35fc3e7e75aae3140a1cbe7c83de27e0b974e052ebf13e3aa0c9bf171914ddbbfe65bfbaf271762b8d11fc3f3ef7d72ff3944cffe4e443ffabb20fdf0c97d80f403a41f20fd00e907483f40fa01d20f907e80f403a41f20fd00e9ff1f84f4bf2fb9108791c8935d24373b746e76e08c624b321d47142ce84934f4746a1157e4fdb7bb0bd02c8edf49044376710433938a44ee9a8005a026f04c1ca507b27342112bd286055671e4011cb177c9543c15470da74057caa1a7ace7162740d9582ba784306169d460860fd0220952faba5961ebbb784776c1f4cf7b5181296825a1e7aa1c929db592f30b4f1ea573ab2f8366a009536117b887f95763fdd7b1207f2addc9f3e80fc637fc393e64f4fbf810d2f23fc1873cf12ccf71f4c0870c7cc8c0870c7cc8c0870c7cc8c0870c7cc8c0870c7cc8c0870c7cc8c087fcafe6437e57ba9397a4c88beb059350682650d0d35fa7463967567e91d6c289a1cbb58810100215c81275937919af6490a13e6d051b78e63a64495a0b427cf4e489494705d72a13e5a04dc671f74e65a66334d348a6e29bebd8b784be1f2e472d3c925a642716244b6f0c64d0a22b6143296245fa10b85cb9c046d5932c3089d2f19aa47a68c6b132a17ae26646d2909054274e01b290557b12c658ab8458b1c6bc225fe5425264d0172267ade448022221662ee94aa09724a1276ca1d5a790415dfbba3224ddc4396bad16cf8beebde3dd4d76e0ee379235f79cc157b4de497332bd4d978113459ec6116b76f792a8306293793e1353e714248d18e33ef3f32cfa35d2aacfe04bdaf7d3295466d156997572cce7a247ad51d3bfbf936f5480b61b07d49076d0e1cce8e43e17ade7bd3295da88010d128543c8ea545707943109e7890e37a940de4bc922fb6ba5043be809d8674996ef73ca8e2a4c2f6d7f5444c0f49981d5a64fc7d1bfbb6bdb02eb14c9044ee97b283b2493b1968d0f2739508b1c264896b6308d53e4727835bbd4d55cb33177f3d6c4cb73e6e21921eb6c244b14f2f449f7dbab7af304fb6e3716dc0c7a6f128115495f222ae97d5be6a27a196f45362b280abb9035e288e9d6def44c64ee9028502b4fc08a0c3b995081ec90ba4ff3f0949a64fdbb89c292306cdfa305cbdec1fa137949b88f3cffc88f9e99e7a73f9c9784a19e28feca098efe397949b8337dc7f34f5d4778ea5d52f0a6e8a9cfef92826f161d48c181141c48c181141c48c181141c48c181141c48c181141c48c181141c48c17f4d5290c0e3bf282949f7ee538ee5ef63f453993f8dd27b70fb87413a3ba258eae902d2d97f0e487f3cc369961f3db314f73310fd8ae67f08d1af4507883e40f401a20f107d80e803441f20fa00d107883e40f401a20f107d80e8ffba10fd0ca3ff7aa4fec99c8e27daf463f1832ca2d76267d84e3f3f3ffefc569befe0f51feeb461471437fa8db944fb96ff3260a7b9113f7a7ee4f97f0fc87e1df77bf07e9d3eb7455e83f42bdabec2ec7e429e50f669045fc2ec5bf0dc97bee883feb28796fddf2f94cdf5d6dd1383667863d95e03fa944658868c891745d59ecf0253a6e763e605f936c80f3060eb337c0d2d72ee1217b2a051640ea3db77dce440526642133215f659235124730d2d210d19bc859e7a08c991ed374184691fb4a4c87a12a642dafd16b2600745123c15fa32de41198cba3a7c895a2f52be0a0b13af44ee5bd4e4bbeefd81a7f547dcb3661532a3b8bb0e5d909073cde4e74bb0111405bc92f52df2f40a1560bbeafb131ae4dc35233e1d6fdf7a564202d2a276bd5f3077c7e31778bf68f2ad22ab34123b5938b1cf483b65a6e2d0e5994e4681dcdd4bb0cf6c6348765ef66d0cdcd1e9fca91b59c912e92b120536708f7dd0162becc3c2888312b448148ac0e5b03233f7caecb413730693b0c0db509ec681cb65214393b3b34e3b4c9bf30ed3a819c5866be681d7c9854b42f9c82dc4ae7db8556430f25dfa40022bef648758b542331387a990442cdef94cd2840cb7479ebe5d5924a88e429eba23e76ac9d3d897baf1a6ab8801f1221554989ee7c86d3fcd3decc6a5e0296526e0a880fba8a062dfe5384596da95cb65c14cdd87054f47cd25a0b36bd35699e13db284cc774771c44805748fdc2b799fdee18bc2067a980d59355764d8840cf54ae60b51483af99efba1ccd4043502e3bb479aecb275390aba52aec87cf1aa7ff17aae345a6c9373e20e31f412ecb3e09cfb4b80a589a3f4a6fd4514fb3277082da10a4b9df2dde3d6170ff1cae5e9d39c6f503f2faaa879b12eb621a39331536495ebc60bba3a8dbaf5d00871580ab53253e96bb97157bf4382eb4ab04332eed66b3fa764308a64be25b29aa9185a020e0bf31032788766da4e8cd7b122ae635fe4e3d37abdfe2e76eb5121ed8dd2dbf68de68a38fea6c8e37d2083249c99eb05ab62dfedfa0cda8819c780c81dece04cd807e47c3912009874637729d7086be84a5b24c7e735f3fabdccb15baf3be8e9ad2f0aa48fd0e5f248e6ab6e8d9335264fe350c60c39378dd5e2f3b38aacafa1ab6fceb2b9bf1f35fdbcf28bf339897a4bcef37347e73ea751c1b311d3cd678952a4fabb6705be290b9a5acfad7eceb924f079fcb868f8d3b825fb88351e9793f14813f9b32cf6d7bee8682e767aeeba0690a763451632e4a95bbf3f0b2f76a6bc0de431d9697e3e5fb1d37daff5cd753c96f17aeecb0209d48c187e0b8d8abc5311695f91842f0e6dc40bd78855769b0632d886f273ba4cc72962f826948df4ab15c5deb89b3bb4a252d7c05134c30768af63df130ea18c33bf5fc7fba0d4f761fae219bc7071be4cc747b51122311dc70b272e0dc6a9a3d3d98ccbce3ec83c0d45ba3f1753a42fe73bde3f73ae17ca805914f5aeab1715ceee1a247d57b7a71fa0ab33d053db4e365d3b16d9b854a4c35c1185ef8d3391db65bd152081ddbaf4f4f6a4cfb7413706fdfcbe5d6bfdd849f51e15a009653e81227d880a9e826e3f3e2f6c0f8b58d470bb48a6bf454d1fe07d0dc4e7df7dc779ae21066fc36b8070aecc5045d6d9347180348e757bdc2a928ea312563ee3c4c0e512544855284b692883f852de126283395624201ea818cd54ce17c9bacda1a7c481ebbfa11f844e9fe5d033715474f609e4c486c92a5664be93f93664a41c92b341d5246240a76f779dad8496504397de4765dec92b818cd307e85fcea93cee4376dc8df3d6f7f24e7f65cae96ccace26f5e382dff3497a9b39eb6c3a09f60f91cb75f69704dd7b56bc5bb024507fdfdf277ec6a97e69a74875d5cd73c8aac9a99faf9eebed076a4ef37e17945ab5480521940fb1dfbd8f19c7b0e8fca11b9fa0df1c10431937dd38866ca7f3a5065ac43e74ba3df665b231a10d9923160b625348dd6221c4fef8b7074f9fddc7b444abe3c7ec071f6a2fa5ce988f7d64ff26c8c7f23ccffd3ec8471a3e20be01f1fdfb22becb62bc023e95059d03d8a2995af9ac512e0febf93981eda2200e62d319a82fd6c9e97fe18c8e6f76de90c37d6345c68522c6c9cd8e9cde509f0f32b684a7ce382b97dd57a3d8e91c7c17b7d0e21ae81265bc0e0bc02ad37ea7d65c44cbb0391b7ce164f0854e21e2cea04231aae676e7200a7cf7ee9bbab721137580a4089b243e03bab323141520836ee750198f8a683e5958ff62a71c914558a00a96f9fadd7e78747caaf3d20fd2e60b2870d6f30eb431fc16150e01704101b24e4e5fec512f2b714c76c580ce2977791a89c9576542fdff95eb73eb5523e4be6726c4e139a7fd296ec1a7b183b244f996c0cfad4367bc0f675974ff7eb5b7f3bfc800e07514e01f1a804ba9b301e09eff4e03f01bb3eb90860f06603000ffbe06e0b2186f18bff28501483b0340901f6bdc3006639e28250f5451e1ac55aa53bee4e4f43d2ca4246a3a244237c8e5a8c0a5b1dae44f62d1213f9deabd6d6240080315782a9e8bd16ec15c19bc17e5a7fcd2a34cc900a6a24ca8ebc9ef565c421924488ecbb9953c2933b0f31989864c42995e92414fa07ab426505109b032a3aaae2fd73e24c4702d44a1859eca7408e5a2886fea9c4bcff70abae91055af74753c177362c0be5af913614864d2ee7d283bbb50e6cbb93c9e1386634610148e5261ed7b1ad91a1b7508411ccd457c8fda753a2a0e049913c4de9fc87f36741d92a7eed88d4731fe05544e10ecf88f23f397cfbd40e73d72fee308fdfeb99f42e9f7ed7817a91fa39393f15db4ae880231e2fd58fed6acfcb7abae0aa23c88571f4984d3778de58b9297e0d6c73f908fee4f1bccdff8918c347c309883c1fcf735982f16e4d568f6c641ddf92e8d956c1d2b458f0a16ee252742ba200a4ebd2827522e1bef346b745052a2c8522883d667d52a9a11854b14b65df039b4b86f51234c88023d7d7ebbc9b7707ef73670751c967adf865c3af8aebe8616d52cb2f1b94c033d611f31b8a78eb2f5c5b02925c96141ea840ca64e6dea9ee98c11b9af74066e466d89322df52c2af001cdb474999e51dc383de59678ece4413ed9cdee69b271a1a6c28bdfdea0c24eed1dc74a71dcfb8cb4ede5ca91bc07bdf23e9072bdf1bdc88f316570e80c2374b92c7041fba28ff9f71d95cb98a49731e9faff02e9450ddd42794be4e165d39d26be289b4357a282beff2bcd1a1dafb22732a323193437325ae9e2e8b0c8949b3266721e072f33769aaded3451e9d16c49fd55e8ad5e6debef1b2352e2d77758309f59f6e3d3e8991a3d3e3dbe3efef5475b2c468fa3a7c72b7a63fe295b2cc86135c46e3c714cd791a77793a3de143df7f93d6bf476d16193c5b0c962d864316cb21836590c9b2c864d16c3268b6193c5b0c962d864316cb2183659fcebd344042aff0d3b2dba7ac8328d370181323f0ebf7951f6b2f1821a517f0fa74c60fc6f8cc2e95b3e90ca03a9fcefad2dee57f1f723727eeb07d9d9259feedd4759d4224fc011c9b96c94737b3bffe147dc34aa96878a841f9e4325ef3fda22593a40eb45b93b7ef5ae2ff75b2b3c3d0f1a9ed1c83baeb2705801fbe45912ed72fb11b0f419a78ebadf5988a352af42665412be754638ef47454419b468927f566d48586f0527eb5865fa8f9ba77b6dc882c6672ee5cfd7a558524f62dce7789e8b487d11fa99ade3409676503ee2a81112b22d43c6973055b539c4481cf35f4e1cfa4f7da016c73112b943284bbbf964dac9a1ff384de40c5a2426e767aa132f1f2b5d79b66b5fb4579bfcc4578fe345a9e3b030d6ab46a849e8bc8b7027b3d347e3529951b7ef68a167ac7b597315140fb14a9b92431bb509a06463a3eec6e59df267796d15117d3f3cfee5f780bae7cbdf7d2f19b785382efb8fc530f13dedf643f17bcf5de648f7ac668d0e2fe442a2dd4086c4b8d126e3db779cf22a1bebdb8fe67d1ee468ab88fcb788e1778b97efda41315e434f3de519d7aa3eb26b7b29a38802b5284e116e3268a2f410ab14b73fe727276bf6d28671bc689e63e3b47de8264f728c0a69dbcd016546d6ff5b21d787a8e073e4ea383a7f1721ff3def1509ec7c86af43b70f34e8c3a38f555838fd368142da06ae9920d9b984237732f63d132b32261ff3c9b3b2d46f75b96b2f12b96e5d27a1987432d8f9059faf2c8e44b42d0a1a472c09e326f303bac76dd84497b94dfe9b193bd8e7f17e218bf78232fa67a8fe1d336aabccb67128f3e532150adf3d767a95bf7ef0ffcb42a38982ef3ced1ffa67e74267c7ec91fbd9e0b81f7c5ef939c7ecf1f73966a4e57fe2f3ca887c5e79fcf7f8bc32f865ffcffa65e715f9730e19d92379efc034a3dd4b87cb7ccbd9a27ce27cdc46cabd747cee1d299f842f9b7d34d54cab23c6dc2c58ff48ded19f2c2a85a54e4744792749afd05feee3ec947da7b43b03dbd5075d6917cef2183109ee0c857fdae7e65b64df63750db71ecd7ba31c97c0e52a34f9634ece6be7e579af4ca72703730dc9bedd8313b8c6f6e4b09d0fe2d8234fcda025747d4b1499aec202d7c8a576e7b0ef4ece2fe4248ef97bb92e4ec11a73f16cb03bc7262ec114d840a42590832510a9c38d63b323d169640cf8ba73144e7b64777763b2bb735c76e768b8f90f1ca0ab23d21bc77967b85cd0468c5442bb734c131ccac7bddaf4068cec6f6b9e63cbe59890a9f1697fd4add127079e9ceedf8de5a11befca67e23862923d728f398962f4041cce4cdcefef4af6c833ce8780ec4e63b80f9ae47480c7f64ece87b3a17d5264bc83c5f3e37d64a432a3e2af567e32ce3786bd2406fbb71b6342ac7fff00d89e7affc5088711fd99663e3e8e688ea13896fd95931ee811f54f4d22c93e3edd1cff3aea3a327ae7a48797454f7d7edb04bf5774887018221c86088721c261887018221c86088721c261887018221c86088721c2618870f817e6c688f2fe2b431bc894ffe514920c4d8dfe26c69c9ccc48fd3ec6bc6ffa40990f94f9bfa95af85f9741f275e62c73afc8987c4225590f4f19b44c0a38a78c5f864debce35e4c26c17a9e0fc814c8b2f3320322453e3f9d8ea3e8ba02534be179d3e033b3b658a0b9219d1535ebc379241030bbe093dedd7b32bca520ec5ef645624d928ef99e8c389bd57319a81264c85449105232af83af074ec8ba3b9986a99323d6dfbbb66342473c4702105bbbe5c322a72a5220bbb48a6e2c0e55a244bdb501ebf6c6f0976e7ec9ab7323831efdb9525a42bebcd6c8c24ebe2a91cc9ead8efe557e9b034abd075ce7300af66c23eea8fc26ea07bbb37df6c4936c853b6c2773313be1e23c2b2cf53215e3009f6dd2315887c035d290ffa8c7fef6661ece6c0b5dc1b590e5fbff79a89ee7b1919e56b8645453e3f2b64810cb2e070968d90448554938c6e7da80113b8e408ea6bde829b31b89583ef912f3e4cc8e8c94d76b86e7e4ccec96e7c51d8fb459fa1ad4fc623556141b25d2a40328ddb702692e88755ebf3b6d25376b46fd1a1bad50bebd3f1d4d63923ea5ceec33a56b3fe88714514cea14adb9089e22fd66df29de31eb6a4cc6d72a19bdfc951edee39d4e4948ce79db2344672b28762fe44be88f56be755bf42175081cce78a98ecc3e2c82953240151e8c6e8a45f743aeae623c92f91bf5f5fd9f557e5e6f6967c3d22c77d777594791cc952e3bb5d7b40d38d415438713453f7a8c0f939f3a56f09331318d7b0a3f13a56e4e31e369d2e82fb1b399e423d4efdeaef27dd7a3df5f1928d5691d53d9ce5976c9da7fc1797dfbbb91bca7cb928c857a5db844ca74c836a7bee4fb7b6cf3ab85b03b0ef4b4bb64f9fb216f6992f7b7b2496d48b8c8d4316d07f912ca0f277e430eed6f4782ee2d33cbad17b7d36c65b9d75ed4fd40874a7af5de69a6572e1094dc89ab8d74d1c9a937a85b61b3fc42276517087d0adda45a1ef438b3ff8aebef15d8417efbe63549decfeabaccd88c19dee3c65631ed3da448b1d12c684336809202c24c677f1d677d52d74c7e7f2bd2e9431919d53002a2a71dceb62a26fabb7b32a77fe8549d672e8e25d3767bbf1eee671c8421c15c7bd4f74f421f60b89cc69e2df90f940e3d0e59b95d5c94b2ae1696e9ee74d28f3fb481472e81e939575b2dd92d9f9369d1d25e3726f773b3dd2273f13aab0d0b7a86b7ba7e7a59a0e0b7c8a9030d15c1cedfb2fe83cb9dff966e7b5d1cd5db7b3793228a3423af983af9ebbcbc279f2e5a65267b363e2eb91ccd9246aa1f303897dea9f15f2c053bb712419467d4feded7e3a9a934c9ad7afd9f33ecb3289ea38e98fdf9f3be6c47ffe528e4d7a44f37f2728667f637c3f69fa008a0750fcef0a8adf48b2b968d6dfc474fced9ac24523faec8d2cfdc49febcb0a07df5393d0129e8cb3cf33a36e925b76b6e1e26fc521a37e832e89223bfb5ae4bd44a79f7ca26bb8789f54b2ab67f1b66f3c839ef13ab9e715c39d937876ef6b569d3dbffa65fd3deb942245e692d0751e6fdaba3bf99cbbb0c30da41c497542a2d8e669879dd6b175135dd6e182b0b3c1ee8ddfdffb20a4ac71c220caacbee086af373e3bc9d67f95db7b7882d882fbd31214d94c903cedead98bc5ad8d3d8d25103adfe4676495868cc9bd4ce4497cdfede977924ee88ddf7b391924a49924f414d3e76ff378dd613a214c4ff238b5a7c7c7b79c095a07aebe3e65d76fdfc118448e179cf1e28484b7e6587f3a4558c27dc080f33b931e83084de04a54d7de797a2bc74bfaa2dd3f717e9fdaecbc91b8f63a3f5fe08de98d5c4ff5a8b3fa5dbcf7f506dbf8a7b0f40e67dd62a38b9c2714ffc51a973de689aacbf680ebdc39af47836ce5b8c1a9a710f718f661ed157c918c97ebf0f83a648cf88b4df18a883adc56be957cf71cc56932e07bef7ff5dcaa115a244b14f2f449c89878998e29dd9e6e95994ef95d19ea12deffa888e8a57f6bf5bc852d83d2770fb1538024ea704613c55fcf897c4bea769e9f4e0f716228f33bb5c3c405c0501492b0cce390f15fcc833b1e2086a5ba0ffb1341c83cbf9963a7d337b80c5ae7d337e864650959d0f9b94cbf0d229025065aaffd6c328f65bc4305bf213e76efb3e7e494951264dd1876f7dfc6d8a3d82498f7c2036ec9fbdee0ada0971cbab9dffbccc0b245a145dd9a96a576d9c9a797d1159ff5fcc06bec34e1898ef9e299156440d3d577bf1623d66cbab9fed5eaf551bfb6c769afab9537fbf2fe3a03d33b59ac57cdf9bdd4996bb9cc297fda47b92aa2f944eaf3a8c49f6ce75f8d7793529fd7f3d35fe27fff628ae3d14f1f6bf65bdcefdfb8bd76f40bc79a0ddef7e07dffcb78df4386e37ff90cc7fdd731be39b3886fb392774c240b9a501cd7aed833d0c1cca4a2c97abf60faaf4681ccb768b21e6993f8f08521888347322ea1a7ccc5a2af7b01e213bb3caea1382e57cd4d02cfb2b7884a4995df651fc5716d89a847192e472dbcd38662593a44f2b1f2999e995a30551b32a3522cc6d5f250913d1b7f89853a2528fdcf4e47ff7c82e19be297b4fca347faf927add6e833cb7c7ce478967be439e617add66fdc7b786afb3b768ba699372d17433d5df3423cb2ece323c5b36f5b2e86bad9d170eef7db96ebbda283e51a2cd7772dd7eba5f9bd7cc34445d5972d78a972cad17bc977403ec668e26d3e5ab553671b72c4147851ee78cd15dc9bafa8511e9599d920d7e9df5b9838ea54b2dc99247cfafdbc975d1d4705c80359a2160cd98b5f07a5565fcdd26dd9d76d841d689a817459a87bb28fdebb0479bc9db3973173dd568e30f3193d1b1f343b49f5c2a0f4894243d7e73459cdb54ccaf562da6ac574a4316ae6bbce35dfae384e7b4048f2f1968167ae91ab3cfa05dfa9ecfafab1822f7c576a176ed52ebc4b00c0cbf7c880e9c603cd541a9e092fd2c7b32b71978ff887f985955d3766d7fcc2a77a0aa945322e56d629cf703a3abecc43dc97bb7edc31483f900c4e80ec9dfcc47d7b8e643c4575a5a723aefbfd662ffd899038e58016c7a941b6648276c1742e01df2c5c626e6f7342bf91f77abaebea7ed1def27cca0dc8af73bafff81615a00c0870cc77612974f36917b26ab9a00492fb216af82c648efb28a5c99a5834d4de67f86dc82a750f54a9e382d4c951905dbf18b373ae89c033b9def4eb6bdf768e5a4a37515a7f713c2c0465f2086d3483346a1c469a2316e796a453969b2891ad6e11ce5b23e7275a4e7fd3a97ab7ca73d69d6e0fc08b8e60ca7f81d39c0ba7e6de772bc9c7ba67cb184286dfebb27f7432e7083dd58445623836c5bf90496162945ed6de2bd9fbaedab9b189cf1a75e78ac1cec56cbebfbeb47474b81bf3b49b97217364a06b9032c49d9a699dcbd3401755116b362beb72c4e03e2aa2fddb753fd70b464abbf2beab530bf7b8870caac222aa4ff5ee908c1e5ff6f1fc110f53a7f9dc06f294d66ca55e30bcb0f4d6ac55ea8fd1145721f3cc5819cc8d2ce26c090248ad5be818adcf261bc3a57383a91940237b4ee71c9204ca708eade6a95ae4f038a08ec09540ea7a92ae15505c02d3b15aa1f2738973f36a6ed3e3bd414df92f96b2bd99b739f4fcf4ec629f482ffe9a9b5cfad68fcffbf2d6bbb5998eda3f3dd799ae2e22df6f28a59845366d1699f687e4a94fb7079fdab6f6445a47acb4597a89ea67eae3d283ed824ec09c1666165e73ce943b58589d3a2d86f6acaaedc2f4f5a2aa01160adfa53584cd799409893995e888e19495a32b760bf5a0acb60125b590358fd10453d0f9be3cefe6600f7b3ced4e77747d8249c41a3594018e44fa9443e4a4c39a4e874def7558e17bddfcab7a1dce9a895f1cf1a2936b81779079a13befd743f77c9fc3c5d3b34006b56fd15454484487c1f373e2887aa35e3a2af26eccaef9dbd35143f2e6f7395ef837e6d02e62f2ba1b77e8c53fd09bdaee959effb5b9745be77e61fd7fbc7d5b979abef7f70b7a6e08c8ac7a5995802871083940ee80f81f84805419055efdb344a79d53c7b15fd7ef6eb4d41d76927dde9f3dce920ad5cbd0554267a32539d35956b85a6fdeecdf4b42bd964e31bc63aa6799176806a52092867231f0fbc4921b9f3661448ace2bdc2cedbd8e97e98db2cdece300f4d21946605ee1cbc0e7ffae4f5ef862603339e9b4931e79bb8e064d47dd4997dc72ef564c3871e5a2544b5b59327f6d23227586536dd479562396baa7ad8bd1319ea992d875eb73d78886bb9621cff077a438ee085173bfcf4682658e5714a3143e01528eb384618754ec9050c6705118a2442c2eee74ef8acff5ebc04f35bae8d4d7744e7c78b103d0211964a1ffd696f9fa2e74919e99ef6ca48d2c5997ea2f76cbfc64b33c7bd337efd789101d12472871960bafc6e39eceb43ae92af34f01cfb813dd384b4bb45d07834c1de82e8975ebb9df457a3d25392c09cd0a41b2150addb908d5280e2779a0c95f985ab79dfbd0eda2b0684e76b9b459f73fe345e566eb0094316f3511ce0799f0eebbc60b6ed2e1ed323cd9b44c48eeeacc4247423d8d3084a4333f200d31519a8210edef36b47ffefeff7edbd2ee65d47c530ff333beb27306f97c073b27446652a25d1cfa679efca6af1d9727b933fdae4d6935eb19357819f5abd9c444b3ac4b74d7e476e3ad0b1cc73af6688f7637da1f5aa2833aea409f0cbaf10a4f823bd97e213e245ce5cb10ed0567c7414ebeffeec6bb8488d52d79b3227a6da5146e91311979300b4951ec10849b7539aee966fcccec66ee33b992dcef64289e830a023cb30eeb19cb90c6302fc082cd2693c8a8dba09fe0248f8c0414070631f668bb61b4c962551fd319725721c68f379e3f19e243a4c3e7a43ceb9e2feea6b6cca3bbdccdd734cfbc66da108a2ccd43b2d12e746ef26d8e4ccba05fd4db15777794338b43f5cba3a6e715ee947316311b7ab1ee067158f4446d0d599881c7dd1619225c5b99bf82f35d4c51831d35f50d0ce299eb135ad74c6f9dc4563b6e5b6d3a9b788c31e1015cc8fe4bdfe61d8f5ec71df66f7cda48cfb2e4b77ffc893d343cd3d6cbf06cf379dd6f7b0d7c62af9d7cef67f1ca8f7e338be7e599b3eeeb6538392686ab5dd17f5d62a07ec961278ce82f73825efcf871970460284eb8fc66b7cce927bf996569072e1377c136d1c7bb171ffd933b7d5af35638f326b6552fed719596b039d9c2afd78da61f6814e9066c4f7651a2cb2ee25a93daac8bf4216e33d83e89eefefab3cef77ae7e7ef38546ac32ed559f78ae67178afcd87e7cd138d98bfb111fa0f710c0e9f8742db709249fbe9f5b31f631e5c3dc71cd4a9e1ffe1fde693e7f4519394ece4a39e649c7a1b13f9704e8e69c934e9144d5429ed6c2b9d7e9b3e7bddc7df4e1df7200c57a586f7e57ba5251b64615a893ffecce731994e84b84ef8d91ef82bff879814bb4c2c4e2fb4a3339fbeb6bb5e15639c7150c5149cf5ff55db7b38dbdd1d6cefafd630e85e59c23ab1e126b12f0322b9df9ced25d55ff44d7793be6159c867e891cfb2c7a48a4ca4b528eec6a584c2f44bb5492d6970c2b215448d0cb3983ab52246d6262183296333a269262fe84e5295e119e4a4d802ca4d9d1197d190f5b204cba862c8a322584118625d7cad6fbe1f337c6f9bbd953357f65a96ea704577e9836d13dc417755a24ece71a181ee9244cf683a6a6fb30b6ac54bc882aeb19106000368c5668807b6d84b07eda855c78101b96038a4219cfa04136c432bd1da8c92c93eca1925baf40483d4a32e943ca30163ab80a119b690c3097a88953259093025fe4868cde46efb34f8185fcaea42701788eef53cb80fcf0cf18cf4cfefe8efe2b2ef6cc6a1294c2525aa3f8fa7601555acfab8de4fe257d3cfe4e1bfdef133dd930d236cb6913c6d2ebfffd1a7b87626c289f0a97a10cc3dacacad1e80098ce8f6c8947c8c67cc5f97cd4676e3408418ac4bb6c59a6650e6067cc6b682e0925ad9c8abdc22d0c0d4cba92e78b6f0f5265a802ca05c6b51c962e2408f286f44158a39ac8d7767e28a1df30dfffafc8ecd6f5dbe39f3faed332f77f8e73b5bf4a2c73effddf7f77988597cd0bfff68ff276779dca49d76f9dd0fb6e7577ee110134935b9a3ced38e9535923698a002445e2e0f3ec1b65f08482c31e36aabd11e4729670e01d94ce6d148427f1797f35e96fb03ad541600e97b7042034385d2061ed5b463b469320119c5a1d8a43df4318773af4adfc544fe6eef5feed46f3effdf277ec0da56870ff6e927f9b6557017dd388af9f81c8f0ab33a31bce6e5b76f93a3e297d0354042110456bb5d4f9b43aad16e6d8f550c0ac3b3e0d667eeced32d3db69bd5a2476ed2c35f51fff31857b89554ea6ba8f681def658b16dc21864b309472156a840392f0a23b191ee29d5a01c367191dd4b8e9689deee13236d86dce2b931a77fb13f50306acf3332ffba5f9b88b75952a2934dd14421cee3ff95af5cc2fd5050cafd26e1508bf421defac97ab44b2ce7fbf18498bb949627bf606ec4baa970b9d785b6d792621cc4048ee4cccd6f8b27b859aa531d4d4febbfca9ffe9d5ef857fef4824443ac7e38dfaf3f9f6cbaee565b017894e0da53f0d10b95260b1962259b4837ab40fb71586a75e4330804ab75a9b1a5b4eb8a5281905dbb413fd9b1a031a505cad46ebd95bddd25396b5263f228ca7a2ef5f144747b73cdb30dd25cc3a759e3f5a2ba3186b0494b988b00a8b53319e2ee679e5ecf97dec11efb8cf6701e3ff9beb9f84237f25fcd249bccb125aab4c822a43d75b260eeb267a3d4d91e915193c09a1f3d888f92cb36b68190503484fed011b14609458016e04080b2131b43bf3c1e456f8d90c1cac4a88b886615d39a9c53b141396cb1aeee25633e97117fb7dbf24437f3281ceef5f1f7ece0ab316eb48d78bbbb627ff7778aebe6b10df7f1607f9fe9de9adb19f69460cbd3e63ad323cda3cd2367ae2d1cf49050dc128a9c9430ce366340289c7a79da0785f212fa63e7e9f524b19f467c865bece042da72467354ae1dbc2116436b85465eee626167cfd8460b59d14e1258b24a7e7da76eb0bfcf792da4ad8726cfdf36f6673ef6eff84eda814bcce7f27c777efeab3a880f31a7afed82f7b1a87f939d6f680e7bbc8f03a00d3e34196c04706bae0a01587945dd89f0674bbb1f3b4a108c7456f30ae348c33e33b2ad1f8aa9ec1a48cba8f548d4c91cf7316f1669250e7101e6b882919c653860621b918c25d6939996927996ab189898126ecd25c00f3c847b16beb7cbfe35477cce3bbd8a8b7d16cb7b69f66aa210f53197cf97788a36d8b11fe229977c71078c98e33f73bddfdbe99f9f8743525eab83999fe4fa1dec43b44f74f352f732d06d2eb1ccefe76a68daaf68fbecf1a60cec1f3b0c6b835257f8d4b4130dd501b4dad5ec263df797baa62bfcb84b2ce9b39941e7fbf1f17bed1c4bfbe8c37c153fef39c4820166478a09d1a720daec0d8f8239d2e0367010f47b5cfb3adeafed4863bd2a4f729b966e1dcfc4886af851d2b65b33b9f10d36e5d544911ed6c471351432ea7169795cecfddc1bd132e31488e995daa0efc7cf79ad9fdf6574a921f92007fff83653f7ff7deac39cf455c8ea8b1efa7fab4bcce2ebfb70aec71a9aad4ad65dcddf0d7519f79091efe90ee7e07d8efa529f749baca4ca853e98f4712e6b198c4751ce0e015079aa89393526475c98cfa9be3d20e23e328583409f6b6bf51324ba1949206ccfa879c2014d343327ba70fcae99d1021f45b13f304247c81648f4de8817d92ca26c1f807bd5d3bcafd5fbb9f9bfb38da95db15d6eadf1d3ee70975fd33cd9aa6f6bfdc899ce6d362a7e5c07fbde0f59e8e956273573c38bcc9514c429c4b9d06b47d2962d0d3625d331884a14e35c3d72dbb5923e2b458e1f578ee2e98c4d453e5142792349d981f31f2025d85ecf64c1897a14003adc969314c0af6dd4cf64e72739a7afeb004ebed27fb717dfd37d5d4b991aec3834db4d2ff594dd4d32b38da9fb2b36261b42dbc7a5967928cfcc85de6e91631d97da8f96b0da8e7337e033112db5a621dcea17ba5ce0197a5800690404c6eb02cfd721d2539a39b4470d9d89665d9a7ea437476e03c3e3a6bbe26811572a105fe71cff22a3dcf776e427bcf6ef629b0fbcaebc3f67baf29ae12cdf582719050d4b19de22bba978991ea8de3ab2149b13af525b0692c889cfe063c2414b8b6c9154d996aadaf5b5c666cc373dee76accc56a4f2c1ca4288016a52074da32aeaa985675cb179a4c448525c0733b791d6f7e550629cdb94227efc22ee800e0977eba464c5b9468f65c9953af1b34ff6740ffdd044e5008ad39cfe5d70d85ccefcc7efcf39a6d14db2860a4c728c68294050b2b9c865ee97ee94d0dae676b6a41a6e17bdbbf329ecfcb26d68e1ea91216c4cd8d4cfe19c174d2421b27d86acd8c6fb75ae1e0850c6da7e1a25162e92eae43b8fd5b2db8348c707ccf1bd7ca733a80f7fb727279b20f896be6f527bfc3cb44571d6c421bee4a9aee88cf7f9d47fd519e1e4900ca368804ab8d2a4cdba977dfd645dcd399e75dbbda3a5dfa73ad5299def52ed47cb1cd9f2b2ee23003b19ba47cc26ae287e1c978612894275920bbc345ccbd3c1a30cf15c2ad6f9277bb1621bcf989b9ec356d1a62198a1a9a4f448993af87971e41c9751887b5a7eed2b7d7aaf4a94c9219ef1f30aef7f7eec35f857deffa179916d7fe2244b72a673438d5d17e86de711efc0f4ba1433f69814c08a780d440f995fe2c033bc5be5fc21d695ba22e78f77ca81e6893edec5bf6d97e1efe6523f7cd379e395ec70d9384195319a2318f07124ad1fbb351310e50a46b95c26b61a4525543e93a5afe074150a9e6ae6f352ffb1e361aaafb89c328008b6f6232f675b4acd826c1a03e7d903a66de9e9d826e5f1101bd98e5da9dffef4bce94d2d789da557eae23fa9b5f957f93dec655cc297fbfde73339fbd7b7c96b602c745844ba78a04e96539bb98b7e12268e08d26a7ef0f4d661c58f6354f8066268c467d1c823305f43b4f598dcac9d27630deb29d6f6ad6042c376a4a77a314acbb44becec99f1ba67458b7001ca48b9ae0ce5edb6a1e1aa65c8b4981f9bf87f569f810e69499b0120750aeaf4ec4fbffbee92c3f8b62f6d35d28e5a46559572a5e3ca6a4508b5358428b160c118b3a40e6fcc61bcafbfbaca9b7be89bd734877b9e96e37ea8d92aa5fe4fb590219bb0921ea252ae02bbf505fcd9b2826a54df1f570e35530b2e90fea35d4fc71a5350e3b3d46033f690d899881d661020355636be5f302db0b18e7396a7c41fb1aa56be968298c00792e382726f943ad2e3a1fb3ebf7ded1c168243ed1b79b4f7b1d67fbae79756f8136f2f742f3ec80df9329fc33602708a74bc4b14b371c17262cb86136661dd752223ab1e83f9077d71a955b8de9b11dce32c7dac9138f7b8dc669b10f034e20ef451f7a38d88ca53de8c7898766b96f5696f0191cf755234a15f4d2c0e61e14dc720e8c64beac082f26c14a949b6228516dbe6435c22e829d1d27062a57a5b22420d2f477900268c68922414084fbf571c17f4af6281576a99b012e1cf4684105cfc8b6bb1c53bf461bda179398fecb8e4a77782fb41e74c47fd6d7568e89872bc47d6d32e360a0dd1c2f42b6506158ea4cd1e13a26611551db5c173c0260dd1b32ed61a8728150a8a2bdf108b955daf38133366d7b3d8c9426489161b2c4e8a76ee539caf2cb6a40588d0a6990943dc2b67a64e322e1ae2e43097af6a185137021fea5d43af113ad3965c69227433698fbb37b5b41fea49d545a6b2e61c437e9d8ff3dfc72debb41b6a69d5928f37e79eddd7cf7fc8059c9e3fc91bb57ef31cfdf89c0ebbb484e6ebda4bf4a146f785e6490f7e2f0711ebcc7cfbec87bad397679fbf97af38f76fa553f39896632d3106388a6751b699f85d8bfa898f75ba93ba2a4400f2d886cf49c9f67ff6e5e7c7baa1ea0c22b7e4ee616db301f436e6a096b6d2c59b5ab70fef63c4b6cae3e9905fdb0b7e01a57b4deb3d5f5f680dd01aac389d87577bd15eea9abeaafd18ee67c25927f46b31cb4bbfde5d64c4a411a15b89a1bfe8f5674d5b9e64d16df9063bc811135aa1094ded176032e7a5063cbd794e0d467035810bdd8454031dd2344de60a47ba9c22e0e99ed6fc5af6224c29a8b1828bd472a73cdcb6d4f17728171b5e4d7c0f58067194f2acf16145811f68acb83576266c56c6dc546700e4894a2bfc49ede1a731e2fbc8e4523d8b009ccefd5184ae16f373ffde5fd675a96db8ad7fd6d3402b945ac6b9bb274e5d1086ca15ac5d5ed003db34b10c8b9d5f4a0b95518b72ac56d6be93bd2c846e1e030d767e81555a48915a9a860a253847bf92b229a865a2584d762b6ae9ac10d3d574df53add97378af78ff6fd9b413a1eadfdc3732ff328ef3c23ff13faa97fa43ef726f2e31b8db7bcf94f04af741963814965b138de1c499d8b490319ab15e5493e38dbd679fc7c3fe373cd947a152620a7a3900776a17bbe3fd7a6eaf21f38cba8b6d90ad437fe7f510fac649dfa223b2559e16f5e3dace6eec49c30769ab2a29c7dd35ac8f331ec97f8f01087bac9d74e3e0170f77fed567f2f3f61800630ed6642814ca64c8fa888985dfed47a2947ca1995c166e146b88264ce8c8403b549a87b8c031af042080ad3060a607eb1d82ec184068a18259b1f28e7135994a1d4d7c43cc91cd0ea212e6ba70735ae0af7dafefdb63cd00847aae337cdd237525afc74e76d66fdc866fe49a8c651efdf77d0bbde6158ec4e94cbfb327b5175a37c9695ccd472bee3e921c85b8522c260cca02aa80f823ca70c86793c99ab31dd6a5e7936cbed0bd1dd2c546146817543260c045c4f6473e804a58265cd31a244089d8061a0ea15811f7280cac3c2a26b1e5ee63e75ebe0feb97213efcc59eea3ec339f803b2094e77bcf8ba372dcbdedad0de87beb128f49ad4504d548ef76f9ffd40fb643f0f0374ce3d3bafd7f9a1a6e0335bfbb31aac3fb63137fbd47e63c31b5f3e7f775bfaa5f6e7ad2d3df45671f62ca65ff2e6a507ebf98cbb331efa9996153eed6b2f6dd8c977ffff4b1dfc17bfe96a3ef8bfe7284ff7b112a1dfc421566909b5c498bfdcd3f7df5f6caadbe2148c8b2ea1196000ee490168da7b401068a6b6a9c7bca95059cfd63922419fe92b4b35b20456aa3ff5a81433a658e051d0269ab0e2503d7bd3f10e1177b6b2cc96f448a4da8f11d1e9310a6b2542b4922124e9dd6a283ecacccbbd333ef14d6fbd57595a4a703a67d2f15ef77669effdb638f4fed49fbef4057eb8f7aa5f8648c9e96bcc934fe9beeb1d1c687ef0e3e3105dfacf5eff1ebd7a86a5fda34987fba3b43814d7f22f43fdda1df22fa7b3aa25ddc93750a7f35acb92be9ce1f7df3717397b5b1e90a2c7c46e2b5ed45ac4d861c541cda99b130b6d1964596099bf8222ea2954bdc7442d2cdff0435963be6d63a04681ce30b391462ca8d6057c0c662c0e803bf7ecb40bb8f4935c2ca536d702e68f62e61ee5bdf03d86f80aca12bb1d6a48bfee0f3e3d8b3369d3e637f8fa577efbf9cc9909770fc9bb38ccd7e724d3c4458f5dad8fdefcf7b3b176b04acab3ed71f9bbf1ba619d379d0151d6ada41e587164210d99ac17202dcc28e827b65fb13206759ee8cac1fdd351020ca8c37ef119353d1b4d11c35a628f3acfa21da3738d76e3d0672e4f79168952c4c9ccf54829c9429758c0891b70d52cafc45b3fda78bf3194864188cb90757100f24407c744375532e0b45ccd95dc213f7c751da7bdb8e0376115e9e3420460c0557a93bb3fe7546eeb4d607229b426143d532ccc74aa6a478274842b5146259c230d46547fea22edb8f3f42d100570d68a21dfc842bfd8f602467d4464b8ce33d32ba38364d6511034454a36898e2d4f1f1344f02f062d3380820654ddda1bf2fbbdbf1fd7f6ee1443f90c63ebe4837ff6bdd6ff43fd57e91910aff818af89fae51570eb97f410cc14f7fba2955adb049a3bf3013d080d3f2645b3f2997210cf7aa9fd30fca25dc6f94f33b03d1040b55ae72ac75ab15b18d93eb5f02ce0d28ab8d258e51d3d0d529a3f69b7e2e90db88a53f082fda55d7ad12f3a51d6a22abe53cf7d871cd099e7e7216883bd38f4bcbf80f1c75c98839f7b7dbd973af0db6cb2c4ce8aa521ed85d6ee56249bf3724c7d03ef59e5668183cb78c622ced5af80d75902b33cee651f31a6490e9fa9864d62815152645b0a3288adba0d9ccc423ae8699e599ec3664908f7b1217ff9201aad1d610457fca7bfc9b2dffcf9f6fe58cfde7dece2f7f8725feecb1fccb9933f3bbf793fd6b0d085a17e25345b791a5c7aac6811756751018e82fe30173a5611618a42d1a733344d0c36f7750c621d8d3c3b7b0c6c37929ad8d2725cc436723dcb3cf24255d8425baab349a03773d62b11178d1e3b72e9dfcdbeb8e0239eb144db0f77e32c0f556a03959652fdf1c7e69fe41c7ef762f427df38b1e11f19a3ce35935ef0651ee0bc67a1ab847dc955fd0f70322f67a1131cbfc438deade3d27f701b7ecfc3da99ec186ddd154b4d424d1af46e1fe4689ac2094e1586dc122bcc50e1a9279df450e316b0536b7fe09676c43dcb1173f7c9cc854ca93898b934a545bf86ae1374631ed1ed4e50f62867f298146c155413e5ff9b2ced232e3ee22e5ee57b7a2fbe7f42ff8f4e1b06197f949727fab7f9b0216e50818ab5f277a8ca7a6cefbb84640455cc5b41315f5ba61110b1907cbe1344ad38c3b9cf41efe5195dcdf091d95687a85c501699713e9971325979a18b5676b644ce932e0cf78873774a79b4f32a68b02bf7f3737989bfa7bfc87bfca17f978f6fe4e180573ce005dcdc93965a0c7ae124437c7b90158e05ab69a426475cca3e28e503b15d1adb48085d79d849bb35ab5ddc672d515b40ecc6f62833bc4a6c64ae769e6e526e9923ac319f53318d2ab562165a52857e795abde1d3c68e6fa86fbe22ff3ec3c2fd12bfe8777f8efa7b7fce1953e5b75cfd0c87f4affae9958f37fa0c6724e666b1e4c05c86f2b57fdf7d92c72e131b6aa7df7e9f4f7af7dc3ee6722ba7a05907e0cf00b0f3ffe94f77ed6ddfc25003520b1bd72f31c5bff46b1e636e1e2ebf03ce71978fcfa4e578b40e40266cfc063b097dd02fc340b45738b1bfeb9dd75e77c65bf980c954e2fc5d1efabdce5291c13a11bcd802932cad90fab38ecfe28eb84eaaa2491c175c9e332ebeee55dd965ecf47bddff37f97ad8ef55b97a5835df374ab0e2384aa38017541eca78328e541944a9785da25bc79662c33a96dea6be8424fc35b09b78070da9393bcea59b566130fcd5cdb73b20e11480574a3546fa66b2b2b49f873e7cde42602ea415448e010114a2df35e3d7469c940fa1a43f8528ff2655ce3a47fce77c088c26fc8e1bb60468b3a29fd26098b46eaf0228bdfaca339dfeddbf2e07e2f8bb52d367c961d590e9b88b685d74353e8cd14d3718667b4258ea709e83e4a9afd120c615e462d2e198eb9c9d695d5336a1d62807cc19177f219565c4d68c84a31cb0c2facab74267fa11cefd6b42dee975ff94e0ce4ef787d177be19cc798cdbf94e3a9ce9a618c4e88b4c470d51f1c3ceff90a56c91bb97a15fb95dc217f5ab6997490960ef8e2621f85b897ce0bdeab755bee94e007ea64d69a67b335572baf92ae1f6242ac4217ba37f236631857308e7a78488a4223e1f690cc264766b893c4414428355ff66e1c70c4163aed13cdeaa4868da8aa5da6994ba95b9da745a3b47cd2171a0e98dedc5ab7fa572c99af794d9f3d720fd939de27f6d838dbffaa3b0ff21bf87e48ecf620873c19aed392e5d219ea544ebaed46bc860947fca8f9ba7a5857a2953366a119ce18cc3658d50f0b4d686b96712f141db6467a1aba2a71324d288503901e03edc791f52e5dead90e936c240b992d7baa7956bbe365bb8b18fb457a9cc5bc15cc125a00ef866bf70a0b6d3ef6be81bb20ca71b7e42c3be7bbaff4b7747791a987740354c4d1f62c4f7fd36f86bacf1b65695c41218af68874705885c25d3358ae1cb563bdab23cdda79c548a3bc56bece5c1434d63a57515ac29af4b016fa68e485f2574c9f0c5cce4da9d02333041685a9250c65c87aea6839c6cc713b6e2b5d40162777c35bf87beec0ebaec837c31df877e5ce7d5267f96fbec80bbd97fd121ce6f1c5ef46df9e0962357eb7d77cc6a671c8fa84629cf4d108e56c1f9778c26cb7c73dbbb156461cd2526b840db5e8ba5f7c17cc90d798b32ffcf8fd99cc072caddb7aa9b5cea3a39e69e30653c6682977a8989b586b1f31c18164f2119751b7b2da6d3c532d064a91b27552823986194bacdaf42abcf52ab4f70b93ad2c795c59ec21b1c78217e33a52f502193e101cb9692148acee56bbfc164bfcf74c87cf707e86da8ad7f557afed04fd130cdae605c3f41db6df955910a7f370f27d8678eff558e65d6a55dfd01c6cfac4709bf8c51722673ab7e559a291d0da66d1fb6d10fc18c5ba0494f887a48796075c37806e134365e31e1f93c23413ddd425b7766836e9528e60c27c6d0122c30b55c6733445336aac6d772334d4fbbaf845c1a44639034b90eab2d8b78cb05b71bc4fef6844e149df5ccb7bfdbc13468b38a495ccd2125f6a1b5f7fd68e7fc151fcab2c4a287057211ce11cc6dc61c857999f1875bf56b523bbf1282e14be5116f5cbc1076e8f5188afc9e67bcd1d28d3ce3cc9e37d6a432d3ef3e5cd3a6e9fc9006cca9016288458592f53cbea3c7bfc1ccfb2de57304818d5e3fee9b658e69fe1cbe79ef06ff53cdd41567fa03bf0e7f7c0e9e5d033efbfe0b4dd9653a0ea200bf840d893b60a91bd826a8f4856520d8541ce7aa9902739ac233519710817b8681bbf186f98c366693e412287cb984d0ea925d18a9a352eeb9a53771695228b886bc733717a678c0ab8620abbde9598dac7f328f7897ead5f3c3ddd4dfdbfdfcd81d649f655893dde2cc9f9776feb1b6d8d28cc8c35db1a5ed1ee9021e2809a1a29cc6e1dcac88335208e22d2710bec9c642b2b79d14c386131d6ea2dab70259cfa3971582042342225f0e310430fa209e99a472f173d03782e684302e21a84ba77c3d67c7b07bfc4bcab93525ce2795ff7e22465a64ee7eeacffe61ff0832e38ed99b4cf76e03916f8f393ba93f173a4d3af7b57867583fa523b7a481ca6897798cb5ff910b10dbfe1fffdbc07beca363a63e70ef560971accdbea4c72b790c58f235354273afb8580bb635aeda425dbc6a5fb4028fc85ab9f6009c4923a3f8184f8c834c59155cf03582fbd603c5ddbae4d2b5c2e0d54fbc4250c60e5cd541e51dcb00a0b1ed621a66ae32b4f5b7fc0cdfde7d8cb7bb9f5674f836b98897f997ff03fa8bd3f9d8d2587fd9a9bf9926787446f86be924fbfff973e5fa66c0f0a1febf56eedcc0d3f54266570b5e64db472ea2582135d5acc4a015bf86cd24a831e9162f63a87fb2817501605f00ce4c73336f77813aeed744454e622daf642b9339e6780cfd42a06cae285bb59eae0d678c97056871eb22b3cff04bbfc3ff05cec239efebe2b67fa9af60fb952b8e6cd824dc7d8a3cd2f06652e9dc951686a227441483fd102200057ec576c4b94e696111b904a0e5032131351453da68a243663c880310beb03b7b0cd2c3867169e21cb7c4cb4f4c0ab8c791ad3130bdc3cc77178df975a39e75bfdfc77a8c31aee54bfe66093e8ed9f33fd671d2ff1bfdb6a21ad364ff5712b83fd4ed80006ac9e2e7aa125065ee1a26997bdb492ae893d876a09f08feba2790c0a73efe9ad087aa163431a92b8dbb8c8fa451f8d88c6e248e15f316370c5dd8a6870ca6dd75f6a524f95770c6eae83fb38e7e43cafefaaaf7587ba9e4f690f67fcb3792d17dfebc6194a4f47cef021c8919206ec23b6ed934250665bbab0da473c937d1a3eed309785dffb3ba2a3c58a8e0132ea18db2df51c1451309907cebc8f0ca512057beac03652628ef5d121d1844055fd4b146cc92da9af4b70afd8df260a9142b9ff6a7ee2e7b35b521bee92777d0c5feb77dc2d797692350761b8591280a308dd5c0c33845b9576e01095dbeff48fdfe3de7d6bcecef93e7e6bddff865d485d3d527844edd6915af6cbeb854b8ba8452af312a060a4988e98826bfaa35fcdd82e66de31605ebf9a79ad28116196193138375633c6a5256c9ebb590c0bc3ebd1836737e6caaa7564fb7ac0473b6a783b79b7bafbbfdddfefce3ff97c46d1d73840ef6717fd9bed777ae625079c6e4efaeee4cf7d5ccf92fc7c463763fb8f8fbef6c3f4196a45cfc235716d52fe307c32e9d74e6178a172a2d2dd05451d111b5784ee8f08e27c1d4e8c15af3baf0015d35d537277e34d9b50d8c04aa87cc6a5d8935e96b474dba884756c3f1d3035ad04bab7c65cb6433cac54d76abbef15f7fd4d6fb84b8e3add9d5adc1cf71d6c889de87feeb0356e98fea30f20b2a59221a1080745bd5d176c8aeca642e1f6b09aa13db2998d6da87c0a1688d26e5dba78ad3014a19c244c68c480052dd89e1165d2422c620b3d4ace2ac6f7474244c04b51df6b5eda2b9cd6b5d77d1adf0492abe25d6dc24bffd09f387ef0762d7f9ffffe8eeedbef3fad5f461ff3a7ffbae7e777e9b4c399bed6ff6546e355f918d835c1d0355029634cd882705945069efb25fac54ab8f3664fbb40633c86c88d297ec0a54957cc3323ceaa24fc3942cc3b44ca55be1234ca316696c868611ea5b535638389889adba47457988e7751d16c961f664ffffd4ebdd1739fe758defae957fda4ffdecb1973b34c6c55c5ce50e3f88afeb92719dd10dba4fabc8d0b5008053d1aca852c6a18686cce7a513190b65129beccb3dcd0177f35b6200d374b9d8979b103bfb633b8b93dc91879d5869f7fece5fa275b423dc7363bf1ef6cbfffa17fb109fcdb7291dd58c73a8cd0742c12dbea99519b84229d41f8c8a15201cdf4948e97d2365bbfc460adf03c75ea2365f5831fa25da0812dcfdde54263cf7ea90821ea01037408a850249c44819165c8c642b0daa52154d76c828fba5b1d238e8b74637e673e89798f186c1c4e86dab165799e4ff2e633b19e57b7e6cbc86419043f746f2647899111668fe74893bf480e6da1d086d863e64d9b8d84b88ef4baa70c8594b7dba59ec56bdeac5656734c282891c1840493d003f35dc49b18a9f941f6d688976d44b56cca595673c67cd2a35b7b503ee93fbcea8fdee32cbfc3fa39d946efbfbbc892dbfcff11b59f8eb404daca3221ca594faa5a5f33d6305dba5e881f3c1d2c53926a8925279e0dbc95d50a5ea24310d64b62d4563c13f32474454250e1916c87f2c97360b3ceefb3c98a36cdca6e84244fc6ba140497a6776bad741c7a4d54aaeaf40effa3bccb698f373197f5a5dfeaf5e75bb13606d92167acc180457e371ed13253beb6d7bc1e9a8965d6546f1c6c4ca6e92cdb04165bf9258244e11d86be9e3a13833a356455b6c2a00e6429f5848ea128dd30d6c4d627d2f20a0925a55dc20166cedc583968efdd8c857a3a4bee21d15b15f1d19b1ec6abfcfeefb6e8c0df441fef0587cf7ff0a95ecef8c775fd5b7f1b6e79c5b8d4ad436a4c8e91e16e194513ce1bc72ff786ec27e6da169872739492f94894f58ef4b497b6b95c5181b90d0a696cbb407960a1c95f2990182977baa68c7874af79b6e92e0c65c5dc03515f1c220a6ff5013e62067c2dc3dfd73fffa30cf79a4887fbe44f8efbdd3ab473aff18d3394d74c582b0a33acb52369a77a6ab81baf302b54a967a6d56dac656cc55d48c8cf11d2e032d2f747d967586a384b152e49898e01530746b2d1caca74af5079423280cac60e0aad5d5938137db65f87d0898dab3ec1a77245d850130178c13ef81f61857eec153eebce0febb9c89adb7a6d19437b0c7de0e5d84880755cd9f0c00bf110cfbc03cf451ecf94586a2ce4169bd3603c8998bbf220da0586a5c999bb90bd1b78b9d7af424cb80d0cc9c48113e911bb9dfabafb18f076e495c0a4d3b187c27ae7d9ff226b0448ecf63237065cea4d27876fc8f84f66fbfeb3cc29256ff7525785b49f9a4b2fed31d1d5f31fd9f3f7755eb00c6fc9bd1f900696dca2235e368230a9d2d002a4db1b28f74daf973123b7e5de5fe31b5ce5d97de4f40b6ef5cbdfff145f63d3314133d547da8f516ab72ca6f0d127aee52b3cc53d5a04cee4d90b552dfbc98e563f7561cb9ae713dddbfcd0a5236bc459ede7932e70f01c174f262f5427cb368cfa6887ac1fbb84e007d1d31dcf9f7a4f879130fee58c9a20e1ae4a3737c9873bd97a1f68bff0fc5972b011e1fcbd2ebc6dc647581f6247aac41a4f6438dfa19045d2de8f488f1c0aad5650984b82633e434c1a198e21db8b42d8849a47c6fd91a7cb48e8f526b6ea2d2ab2c6cf85c7a8c997ba52446bb1a4d8088a1fbd8072911888097a735eed2d26ceff0043f774974e7b22c2a7175e5fe8df8aa53be8bf3a20854148b66450ba78e6ee23c20067d93ed65d822174458f6d54fe6853a03609a89701c0566a9b16a5c0939079ab997858db59856da679c0eaa8e1d61153fd9aca96e70225b94be2d20d029d79818ddb7bc5c43ee6db7ec78eafe4a15fe1a8fc0f66170dfba5b3dfba73f8fb2c936facd1640b1cd68f120a5370d34a7b484958134ad08e11b45c68f4880123ab103d275d637bd678ca6685b176501569758f73f5cc2d3095764357c17827431f04053b12220f6426a3653f69d770de226ddf271c1901bd79decd3bec99ab3208dc4506bdf485bef89abf3f5ffcccdb62c41bc90a9d1566109719265cd95e08436c8f41628fe304c20d2d338b5a4845951c51bd1e115e8f84ce1ace7c0d2985c4cc5dd1fce7219836a55f6650281921cb3ac85e51bfd8ee12fdb84bf4a60d8ac6c644e837e7995f6110fd8fea5dea3f39e6e38bcc79f9fc4ff52fc490755c661955a84a43b14d821f475ee24904b215af7c3381aa0834718c806bb11963040e32c94f806fac0866a418172c68aa14fa3aadea03d2e71acbdd39e3c74362fcd4b101c56a56683eab0d99ab326277cb5bbdc9b7bfc3cef932969b76e75a6231057f7097aeea0bef2ef2473aea28b8df44a1db4561f1b287efd6f34ff3a0a61428e617e3e552cb163177b1d74f0ca63761a2b7050af18887123196e1c8f04d4eb309a575b7b205918688135d55898d5a3f9f1cc54cea988e3aaf6b68aa1766c0188cab5a13d698accba396d296732ae9dd66e885228b797be9157d8b4bfc16dbeb43aee52bbcec0fd85e7f7a15dee26cdd822df665bcfab4bf3acb621d64e9ff50a7fda1f92277a58a78f3cfb63651684a73bc0b66ecc0ca6dcb42a9cbbc303cc7058c373396cb478f830701844d7affa41374af441e2d71b662b859d1ac23b3f4c8d504c819ee8896559c4c6c52b94c1275f209239fb8bd80d66e3d9be4d7fac33fb71b8677ec4578cdc6be579dc11b9a2ff7d6101ceefed98e08273572c4362a331e58d25bdbe32d0b5383da99931a4cb119d66921ed04645b3a4b77b4902bcfae974118998b3ef3195033ca702b2d6825a5ecd6d6b8f1ca5443657608663f77a2cf0057f5745d804e2ae160fb1f6cea5758edff831cf36f7a671bed0517ef9f72cca3c0aeb7d899f791664e837e325d9798050af91cd6cf1242b69e8e1ba90182986b20cb32123859acc824c21a7c448522743a56d4c22bc97f1c6599b504d46c019885687d48746cf81a9c24a0c662866c41e1f2e678d2056f27d2339570ab918e9b9df97aad57e5e733bacb99bee019e8682b38c89621eea270905303eeef17ebfba7794b6bdbddf8da131016128c30bab2da1cf36c2bf9931158dbd1caca22c9d23e0d91eb81e2b82ec6312e9a92176c1e199330a6195b6af5685dee752f57d3b44259b4193784ab390d71bd0a25a2d3fd08cd58406ddab39b63da6d2df44c3be3350cb5552abdeac37bcfabbbccbcf994f649ce7c8af7b02467bab7f92dc8254036a442550290b60e51131b752e73174a437852031bafcc6042c421a50d12a1eb2cf539106161e27c6208e2e24437cd958d26bc94d3d8c00d0613c142e1af69d3630b3d107eda5b5172db3d329ddd0b87398babe8e25746cf1ef96486c2cbacace0cbdeb393fe2f5ee17abdea3dfbb46e6233c876fef2dbe018856e7f9ebb77ee5547577ddcf69018938de066fe8dd93e7789cf27f6f890daae4aca738fe69bcf37d6407a01288496f67406f3a014733a9b2c52ea2a99a32a0afd5d6ad5f6f2ebfe9f6fdb8117bcc80b6ffd6fc40f409694b03aefcbd51eab7bc5819b889b99d069f3a7c7eaed3a6e8ff36a26091ac872b94b8804c88115d2c403a32e66a1984795bbe7e56d33f912ceb4d81e17dfc8ebdf0533fe0fbd811f4adad941382f73216e989bce0449f8be4d54cd30f969444646780978a2991b3cc32c0ac68fe8b6b9e94dcc71115f9dafecdf096bf0056b67e0c3e56f4dfb8778a05af3d64f613d5968fb7e6dfd30636362c525ac1230d961c676a44421cb11f4f90f4034f6e059a04d75b663e18422add9240aeee23e9b1355efe2193ec6ce53272bf1e873b022aa0604ba21ced51e5b784e9d09bf1b9ecbb97f484b5ee2a1cecfd777faa38cfd14ffe56b5cdb734ff0d5b3fd1e67e81fcff689d6793f133e601aeb37630ece263cc9b33eb58a9d34d8c2a33f74dacb2a29dd8cf274449d6c8b2c7315d8732300c82525804c6b6a6a518d16cd636ab77accebe78566ee12a69a84b9159d45a3847b86676f3bcc5dc52c11a486db4b1d62c16fb57dceef26eceb3365d1ec2ef39a9b9803b5e47833e8a8738f77116db47699fb37cf6c5e6ae623b3859756c8f79550c14c0a69095f1888334328498f3b04d1af58a951c4ac76ed60e4d106e1726b04361e2596bb5fdbcc2445fb103b6ac1aa2723cd71c70bb9f0d9f680ca761768a89610e54bcd6cd29b739867fe0ef19fab737cce7336d17f8f179e797c8ea9f4aff87ce9a5d7ce985937e2f30585daa6dc9c45217257a1b21600f5096f5a49b3e91a628243160b0823445d40b9493c2572644c0065102ffacc8cd94fe0b3024826b7a98d75049587a040887b7accdb3a662aa4b65c2c757341697b44577271df8f19be3ee3837cd0d0d5fa765027a56aa2105fb7dfba0fbd9bff2a6f7ef7725ef6eccf67e2fd43ee4e2d022830e69999b289c718aee44c4d5733e47387eaac47dd7a8691acc45c2ac4a4c287449747a98f1d6c8d190d1a133b6ee059599018fe6e4dc73361a14764502d864f7d0a65296762c734771a1970eb4176af5eda4d5ac25c0440ad9d4996bce2f5a5cfd1f8cedec5e177ea92e6f7885f5ce6c5a8fe5c0ff087fec5ee0637ce3a472b6eae18531d2ddc09a66d4c99dfaf6d165322cb848247bf4cf544c95542eb25b351956ab58a68db4bf8f3c0e8d862d5c4498d39207a16c57616895e940b036a419e81986d7714b251ace130d2a5cbadf6d6f85073d5bebc13ee6b72eef36dce32ebb6994cac94b50cdd526a504f4279f4b96f8a123838c7bf04c53c990d734a6f90e5bfe77f65a9816a31bceb55dbf20ef19a0f744f3cf95dfbf332876549cef46ef0f15cca81b69eb198f3a7d15283117104a321ea823032d2de9d61edb6d8d6ef5a03ae9e5363f2ad5a88fbc451fecc8d4c2a747ca995fa643dcd05bff1b69aeea22da4c51efddc6abd523cd28a99a905cd64fa03785004ac50d380634ee99830c61c4ab38720c7235fa14d1cfa232fac8328741f9026696c3710abdaf4989b0ba63a06544e6d34c56a82a596993ef75af1a18fe1db67b3fe9ff97e7f78dbbfe3f5b9e7f2d6de2bc2f681851e16fd04482e6c54c9186928c04a2e488eb6e92c5ba4dcdda7b6d405f9a933c2668459bdd8fc38a05259b19a749e9ac0a4578869e8170e518f1d942d008b313d6ad46eecd499effc021cd299c802a3be23de9aa8939236a9e31e529b75d256eaed1ca50f33a2be9ef9faa57efb3887f0ea0ca3ffaee3decd883ae9b9b7ebb8ecf96db9106a029f32c2e89891d0dd072c7b1445b65c17be1e55135f12a4f1d0efd78ef8454a1c04ccdae19251cf6e57518e972b2803d44f6611c5a3d8612b6130e2a9cc5968f2576c2824b5f143aa8d002f1b2de0a08cadf6d69a8a4fe75d7dc1ef4fe660fd277effa6fbe68e95b04f7555259b7f8c3158d94284961e6bee32cee92809a1b36618af28b665e5c67e375634178fd2c81e124d3339730f5873db546522d1cd0c57ca89a940927b265375c7edc8c036ecd29241a981a30c5dc7d371b1d0d06acd5270af9aa3bfcf47fd6d1b7ec048f91477e8eff3cdbec8037f7b6eda71995b576298e3e72537959c82fd499f097ecd96f8e4ddfe4d4fbea73bd812c9063c8bd06f92a1779e3dff93fc0e8b3680ae5893ac5f02771f69ae8e213302909184378fd802c57a8697d460ae2cdb83af9b98d36d476c3cf50baf8d4224909569a2cc22a9d39e31b94b8a368b354879819fa3aadeca99ebc655da1302614ac5ad3d3987a444df9897759738c740eb7c67cdfc5c1bff690fe5dfed570df751f8b36740ce59880262207bc54ddbef230311144544c1bbf8c795eca270723cdb3cf36be7f6742ef7890e8bf31dc4ea72b7be83fd700f5bf86ff487737cdacbc41e67623acc30d65e66635ffcb01bebfda04b74d9229055898d777e713423e32788cb66b2d441490a0862be3f1255ebac84d3c4992c6288e842172a75ac5e023549f818d36ab2884be1a0020a144a83d9632701cc4f7ba1289c18a2145b2fb4b464d3dc0d935186f810e9f03929c7afe633fa9fcc177b97a77a357bf2ab38ec6fec88ab3db1d67fdf736392c5fa8fd3fe1e23de1c5e7a7abc9bea02342db6dae90a4e4ce4d471a45390f6d8143315adcbf1310d25979bb1893573cb72384d66d98ad9609612cb40399a0bbaef161a3398c2fa426f15d699e7116425e5532775b149f9d8606a12f99a7af49cad266d286ead0bf82bfed6751eff675bfe73da3f9a13efa5fdd4c49719b389de0269d35b316dda258d8e92a12cb04c4ed4cfddca663d0ae72673265952665a049edad56df99d73ceed55bffdb53a4cf4dfb127ded03cc9f60bdfcef9e1e0d61eedc11673a80e1ed9cc855191750135a7225784e672862de649bd5dac2c0849b9ef291f194457bba0c7cf58a98924e851dab45b68b5204ae8b1319960061baf1b536299302884b534b23828eb877598559ed64c99367ef8c773f92eaf7325ee718fdae2cbd91be65d0ef5f6d9f115cf5fafa7396366d1dbe6734d9b92d9d0c1bdbb5ab13a482d0419df0251a42d2b9a025b6d1687d0f035a553dbac52db1cad950b631b1589ee6e79e169894135d9172364655349d20e3b7012e46c264a54b05c68710557c460cfa29a14d766a67ed0b5d5a44eca1f57784d9f3d92dec35e19e6809cf9ab9e934e7b9905725b0da103bb948320d2ea8795cd34c66b93e5934238708a8a316521d37c5d62465b1f976917e5b890b6fa458b8ca506cb230a0bbf9484b114ac1c2190726d0a9e7644f9a315897abc695acfc10895ed4a6a92dc6fc6cc659651c98a5773683fa91d78f5ecc7b947af6719181feb505fe603bcf1133ef82b67fe835eda271aac8b39dcc761add2dff83c43fdc9c7ff17b23ad2f7cd8045cda1b60cd9b308511e0d35c6bfb14b3e9b57dd27ba5947e7dedae6cf8c85f4197d5d537d3e33273f620a7a11ba75c4db7a7d92bdd7e3c3da3d62505ff06ab017febe3ead1beca1db647518d123f066b8207da6b0e1ed64e52e17fa56f32b866968e9586b9782a259a46519a1f32e08b1298c9a33e6e66406676b8e0c523016406c2df5768e8bac5f6aa687423859e72e0b0cf71767320a002a910dd1adbd09a9e32ae96073c95d53da1f6cc3f77a115ce668fc67d991964c934ed14495d2c43966fffebb0605676cd29be2ae76eda4e5d38ece8a0e553f359ae3302a075992c7860aa4f5e388f39f8704c269ccfc9d67cbe7b55df345cf76b19a4cd35270bf10b354435e54809629a8d61ceb011f1f2453d4d74183190b62fad4d31c4ec5adf9dd6ad2253a52a9e13549c946d256797cc67db8c6fb7bf55a9efc9c5c84a83ff9f56b070f32200add6a88d1197f5fdf3fd52e1374908c3da6106ea52dbba818671e910bd435606d8d696a29ca99cc30f8692c35b84dc0bc5f68d66ed943b50ad12ead6a9558b25eea385a174cac43b1593b6c8369a4337dd4adc3491f01bc8c69b3c08578f638bcd5c73ff1a33ac992efe5a8fe7b7f47eab80761b8271e5fcefd0bfd4bceeaa67e0ecda0b69a4babdd2733e609db5c0614181ef9790c82fd686dd511cd59c57a174b20450c7c3da6b51e91c986db4ae345932d4186528536c2069567cc3b6e9b59ccf1c38a419070ffc8d42423a11b275664b25cf5b7e26c9cde777dbad70386cc7778fcdf7191ded2bc9c6b2333971c16c2995ffa1da2db3080eda783a85cddd75c9e30d463a81e642f9e5764aec75564a21e57c2c6db5813be28d56a65673ed18bde83325bcfe680b2dae4057364c9f692a22ab1d534a96023a9b663b46efc82755101192ed401dbee2f72b77a86d798f7c33bfdbfe11e7f9c2d57a7f6c09fe7176cbf173c9f2f7d7b873daf393a88abb313e6f7c96f1a139054eadc337fb23fffd0bfccddbdadde9c43b7a7655d884df30b71b05f18c501157219c0491c55aebdecb3a3a7541591c9823ab848197639712341d821b66a1fcf541f51bc088ad697d54f73a199c4af261dab8492258e78a53649b9ed2263c0552d6ec664afaee264ebcbbc7887e1fd4fbaa13deb00d82f49f4bc0a6eac1fa1561b6ba20d6cb6f3014648470f9ec38a440782f1b1204afef24bb6096ced8042f9c082719486ee9416ee8ae92c9750cc3d08dd988e76a46039cf2796b429881df110387293e64f3b0e61230ce6c7d656673abe1507e574474efa6c98b511857e23b9a9521d65a9cdbe37fbfebfd75a7db986e13c7f69976bfded3a02146b02cdf87467f8c88cca16443a5810983d0a555beb19ac63502f182f744cb28daf6a2f29331ff7acf22b97c75616ad67ee8855aa4db95cfa15dbb0c284dc06234460e117704668764c3480836ebc5a6a30bad90e2d59265ecddb161c36d7f723ba872dfa59adff492f7ff67d73994979dbdc3e25eac0290c62358a395b2dd1cce758475eb069f64c210f55e21853a1f82c3a88193a50ed69b42e5088001bd1d99083d8c65da3334b4e3de2f76b87d97191114fc78ad97217e8e3883baae10e3413ae5c71371ff70fcedd1bfff6fddcd09719d1605c88410eb3ee0d9ee5fb1872c5b4981f1b61b393cd9f47215637f4e5bec4709e4f3a5edae3a14671598a7dc4afdad0ed9dfc972fd730dce197f85335e41c0e433d676096890dab339e9a77630e56eb16c03afa3dab5684b6446f4562d50fa852000563e4f5c88d0c04a9d6ee892dfa355519b1ea0cf7d8f689db2147f92b0be8ac000bc698bf3c5953654352dbdd44aaded39e556b6e6e30935e1c4eea9865f5bdeabcbf9183ed3fc43e2ef163e9b8d9b926e8f2ec10bb02cf22ccb4ab7649c9065d9556224bfe47581f6f699e74a9ab863d0d5d3de2c74b9fc3b7e547bba45a1738de2eae5423815a626b3cf1000488096735639647e463d4dfa4037f9ff76fd481bc9fedfbaf3c39ff9fe0cc8fb3bd37e4045ad4ddda9ba6f2452f179c2bbe82a2f62af540a9b49936dec5acb610db9aeb5c3e7aaade2644458443bab6f10287d9320a512da898a59bc6e4707b603a88521ded025b2dff3f7b7fd6dc28b22d8ae35fe584e3ff76ea74310897e988fb2010209084cc9440eed8b18341064482280b0de8c6feeeffc804cdf254edeedee7fefc5065092539ac5cb9a65c4338901adf5337331bfa0148a5d940af755953c3b9fc59b16957f70f7b7aa7bf5e6318ef171dbae0adbaa49b4f8a5b3a8cd7d1b15decd228caa8cd47fd29a70af8399111729cd8d6731e4156ea4d07fa2072e80a0c04d59dcb9f934fb6341751c1d390d4a2ec674f58cf687ad4abf7d2a5f6763e19f1aafef6afe23fd5c1921a9398c40ffa4938d4c69feb10d0f24ea7d59d3bcfb73a1d5b8e976f2d2915744a4b75cae8054318c01d04a60d6a7b889ead323541ee3441e96c2c906626b34d2d593042a586233a9eea6cac3862cd0287f64347530c5b48c11c32ae137f54ae6ea06756efc0d1cf8aad3b8cb7876bd0e2e8077d7e896c3cb6e5144e07c00b28b09d20bff1f31acd447e62530f5b50201f14bdc6a262086dd3703db4335c1342a5aaa3428616003b50d47e6ca78fba22d7a35df2ac0390f9ae3c0c07f236501e28df93050308aa8d24caa4f50c7ef43eed34eee9cdbbdd3f1e57701cafa5d731a69b65dedde17e2cb731b0d1ca1a243ddfd60bbfe15140e9cac4dd6cc63430260e5a470ca22db7e28092b081a431ae0c754b462528f4c26421351de4acabc47430d7804d6d25e8e4b491474d6847ebd88b39dfd9ba60000bbf3407316d726fd54dba41070aa8bc23d7aef509f9d7583256ab5b14e6bcf399fa988e6d83c1d4497d38acc653090891d363addcace07cb2094a796794551ae72a1b53db8def812cf074da71d0d092e36252c4c095f5cdaccc19c3d3fc71534bbe9d5a410e37be1b7b11a5af46aca04136756c47ae2d36e2dc127cd49ebaf35d88c6ae46c302a2b7ec7da4dec267f823b4776b59ecc2027aa4a6dcc53c289ae41afd586e88261ae876b8ebb316a3e7a14b8ffd3c6620234f67b26c5ba5cafa79ec3a347cd6c184333d696b66f52652342bdc459b118d10f1336523da548c9e8d84e9888a25bdd07e8608d5130469670806ae426f628098d0d13fae375fd5467f33c7c91ff79d67f51416ce3ea75d4b83cfe7d1d9573fa6273b8a0c1c0aee802b4fed128c63a61603b75a63da69384b66cc005d47b08a4ac83972bc74e7b1680099d325e3399074261898a25e6c35b3a9578e622efc1c1696ab192326764c4a9b4785b9b31919443b4119d195687f566d94bd2cd1da55dff68562c03cf6343476bbbc1aa406c9bb6ca79fb177c86741032dfa67c4f0ab33df94dbf3ea6caa1fdb4b93d19feda6d69d8667c1c00421134b3397d7c654b27676f26422d1039faaed0948fd310b37fa20656141039de2587d18af8d82cea60aad4543879a214174dc6a1cca9a331d246bbf34b89962aec1dcd84e6cf9a73314a656fe519baa8e420fd3057a172b7cf3a6df14a931fe09ba10036a2c138d3d9d0a596d0ff7f36736a999fec17a76e6dc2de1d076686eeac1359480e2b03a9aec842560d02a6016cf56113f1a2534c279ca3a39a22259b61c46e60265f2ac0ff59d399cec263b4007ccf61996d0749caab445de8b0b5ab565f85397d13c9e6b3b9d96078e437f982f40cfa87d865f070c42c77a3cefb9f7ff84fba0dbf939089fb83daff6beff83be59b59deb2b20036522f1d019c6708674d52f4c0b4a7a61e79c1a79da0a5ab5eaec00e5ec40cf2e5466e6541994fb5c4ca115980b5bdd4b0d5b7236a6870a90f1e68435b5d07dd8cd2cfed11d0ad254aa5613a9a2c2a26a3e2c4b322887163d0f14791516e07df908ffb81fdc2e704d3476f585ef722be8929c8497cf7e2927b5ce6a9329404b474a4b9d92573e03d20998703a12d2a9c89b805129a3347d5be41db784b69eab3d5782289662117a6061787a1102b08ba425632afcb35180409f1bcf16b3e080a44f9ddc584f76c206948bad5142d37e83cebcdfb60a766357ce30ae9ef80fed6d2eedddfb65eea617e3e55adb98debc11a35ceaebb040f336ef3df576eea8e6c227e9d7f8cde99864df4f7d8748cdada6c77e4c1f06950ed063b803237d6e0e2d4a5f5a129a8c7700c57965404ab65d09ba91025dd7d546608e0ccbd9068e8728202d9931b51dc454ca447435023b4d833b733375a06eecb4c728d71adbe57c8b892d3be31f4d971700f346dcc047fcac15be0edc491d315b04bdfe79fdb4f7fa7fbdbec75d2e557a17b874152af2814ebd1e83f429be25fb5cb275c4a03a70b7697b66b11e797b5e2406f5c3f9f0fc9d9ed3a359b15d43b71e83128e0d4f87810d1fc7acbc09e75a6d79808929a058c0e04c36d9cddc888a58e1d92e2adff5f4679d453d7f3761e1ce0cc010e92047625c1aeb291002934d579103a8d0757aae948e47d487f3e11de0d0e580ff8beec50f30eef2ca9fc1bd7bd6e572f8981eb4b25959d56d944347df4e816e59cab617d9b210ef12da2a384a1f468cc5c289c5ca1e28d0b35ef0c21454cfa19c4eec1c3d8643b9d425bf99799a337168d707e64fc3931950c639c434978d58dfd1192b37d8d88d9f3f2de7b437a9610996e130aee0d05c8c3b3f8148e1abb0344efd2faff3cdb0661378fdda77b95dd0e59cd9d7da7d55bec7efb95c7971f783f7e1ad3bcdb61ec6e79dc3f3fba912cfaba5c1affc5eb7f11c1fcc05ea564333072872512fde192c9464ddcc690ad2a0091b5e9b88356b977260ccc1d0a2d3613c900bb3541b7de8ecc0b0925c4937623b1e4d1d8d8e86c27dc838bb28e327915bdba6b4954ca9ba376d8976f2d833a558009f561fdb44109f0f8bc4ff6ca0a751810b7667f79797f79dbfc8bbdf8a2bfc559c822ef796efc267d5d379056f681416c61bb845dafc527d635bd68c9904810fb0ac2fc38836919dd7a999f3ec845629bf4cb5198a1fc34233a78309ebb8509cb9dbf554a9b4d9d09cfbf9726d58fcce063eeb58f5a301fc758ce2f56817ef2673b0b129673b916ae83055ea500f1bfd8d9c907f1f7e39bf8c27116ba651f9ae5a139fc88b38125717b2261729ce8ae086a753bea7b577226fcff797f0c51da64198d56634848d91e75b33e7e7700773cb137a000825a0742376383fce6949df69a90fb414009999b840d21567ed78792fb0f885894c349134103a063319f6d78e23317e916c7d0fd631101c98733f23003de73f961ebd0f5f3cc644a44e8df7765eafab7a8d7f043f4e7c464ef1e1643e78ff7fc10fbcb6dc410a2620fe69e5309f4adb9d292d9a1990d6311d7b33455e4712d8198e0626202d028aea1956fd73222e7bba5309262b6ce281c4f8acba054c5aea79adf9854a854c0df49cde860328dacce239f6c066ccc663e87c962db1b5adfa252860d1f9d194bdd6762dbe7a4f4ce86e24d224ffd1bbe4fd3f7e0f7736e661ff0e3213457df4ce387200721c44478ccc4e0ab4f669b3f251beb50ad473404adbc543ef73ce99bc8a987c6fc33ee4767db38e75a9d3a46eb81ba3f04d5a4a72efee3ee1ac9c8ed9f2585263592e21a917d58ef3311d3a9e389e39b11d7d6d3a68ac2b408ae7f0d164cd679be16ddb3376a658af235be0268cb99b4934ed7a408a0b790a3c4883418acc5ca36d852e9cb950b900dd5bd2640bed74110dab818eaadd4cd168670025cb9597b6033f2b56791e32f42664380c8b1aba74150f4d74a2235fe6c6eddee19f0317fcf44f72f25ed9d3db3965b11b1df1e1561b2fa5f632978a5ada7423e66b1d1514a9bbe65b873a02bb1bf923881f68e09aa4aec19176ab37fa3ce44b3df59dbab611ed735eb6f0a06e8cb9dde79ed0334c5bae7e7f25ff31f1ad38cb3773b1a71b0c1b121feededcbf9772c5777b7feb4efb723f7f3d37ff593d8d7d0ef9363efc86bdfd755a15db600a655d81ac4e078aac1b053fb590cf80bc3620a3db6098ca1fac2dbdbcbc57f23bbc686be48034bcbca778c99e7069bbfb751aff31ff5882e337f244be498f4016280f3d6b67feb45c4d35bc74157b69a5330fd424e71bb78895315d3976a1efdc62c184481bcf00a803269d98a5d433a8548b87fd352c732690e5200655ed88fc6ac2a2600aa0085c6da30fabfb3143fb5325ad5d205cda74deb033bc83a7ec690daba1b1d7fab8069d9fe3d36d1bdf418e39f3b32d5ff0b3bd717ed4b277a336eda1ed2bb15edd7de575debde35acfefd4bb7538b768ce9e37def6032e5ff0036ee748c70a5a8e5d134518871899ea68d77f5fd55239e3c9fd0bf9e7a5395fedd18d9846e93a4ffc9fea8720dd8a237d53a63519a301a012addc7c76952dd4a938b3cab48828a7376638c6626a6002676bee263d7f27ef02a7c738a0cff83632c000e9a1938a53295e45437dee30b46e217d6dced3894da1261ea4341479d6199aeba0443b5d8a981173a9d37c947eddc68777d0fc1b7996fe123de376ecd05bb4cbedad1d265dc5b959e93954fd42736109aba87878060cff3370e07d9cd5bba9441bb6938a3e5bb9100805f004c9cab76c486d9d899252137743b95e2c1a8c564d87c2c8f020321d908745adce80c001b9bf0ebdca82657c791ff159b4ebda7747d4fe5bef7ca35f3d87c6db3273ac80dd5b3e97ad7df5137c2e59407467520383ecf7c9f7f6cee183b90665d1703526caf920a262614223c7a0e3ad5fd08b896d4e263292235b904d0a0d5c915f190557040c74ada2c73aacd67380bfb56c7d6303f4d361abe1d4cbd73a5d8109f23928c7db99273f4f90f018b3e9d29ff73938049f956bb0869eb90819f3dc867049efaef49a56fe25facb5bfad0505847a5b923f7eb0aff960f28fb49f9eeb00eb409598d8a1a7a1e32db751be7793d9fb11d1139fe637ee6bce55068e3ccd3cd4c36b680551bb3946920712b930194be43d984d2bc50a9b6360bd6a0e117bac28bc1301d8da914f828a143943016d29b1898cf314a2583827a4c99465cea2990cd2ccee98945579ec3e61b67fe869fddfbf79be4a383c53685cdfbef2c6245debce503a37f52eea0762cbc57661a294eadff827d2fa6e1ce66364dc4a46347d17f42a9cafd5d9a8e6881f55d1d9fd3dc42d548b7e3b92d033f1ca69e2e9be604a98cefa2853b8c871385daf8795deb0a2de8c3f8672ccb53a0c858276e5c8793fdb9594c5df8d3926ae07e5a3d421341af5f434fa67d77737aff741d03d3c5cd9cdc13dcca299887ac594106c3d6e9faebdfce6b58f0cdd805a9cf24c776cd8d713f96ffb00c153eeb680b39dbfa55cd9d343dcf7578954fa40a8b14e17d3eb4cbae7c9993abdabd87feae6af39de4d73eb50b5cb53be66374b95da480d3bcaa97b12fe7eddfc821799d77f370162fe38cae62724eee926eb53bc482b439576ec8fee52bb677eb141e577b4905436d1dbbf1e218ef8779c0ab76c7b3775ef7fd277dfd51ba7f180ff3f558499b9005657baf8dfb7fbfadd1544cc7ca1e98c84ea7aeb22d23469b07147027562d858c5ce90a041ff329243109efaca7eb7f922feed99858df686321f6f72ab6ffa11a43ad7f45acfbacd900ca682cb90aec21d042455f844a2d4f0ab370a56aa1538bc6a24c6dea986c282e1bdfd50cd78d36a1a7b38e93163625730e8876415e95134f803a80453c346dcbe182d8a9e7aec28b130a0e679ee006cc8773ec5281cb716377dbc46ff1ace673f249c40a5acd2c7a19954e07e3fdf814fb0b39dcee6d841e2752cd40a6474728bd07ac30990cf39d83269ba9a7ebd6ce67a113a78ebbe0a6833e1d14dbf1d4899848d653a8c02600e67c5656134b82be6ff13d9f8ea8d041162ce8a53147ea0c48eb11ad97f64070271e587f34875bec69d5d8adde8aa7a5889df28ffb07d25191639cc6b0dd7faef536feea633547e89c334bad0e3c6d1b0ef2ad3bd04cc854cdcc163c3830e188460e1c6ab95ba4c8d9a58e59c64cc06813c0f86b7307c6765e4906933091544f74870f7cd694c1ce789e485aeadba082d2b271914c9bced68a69e13e449f75ef73cc6971a4bdd25b773eb76d276fc608fd71fd2af6cc2a14e91c7a42035d3d8d15722e6ecc87ea7c48df4f971d246ded1215d130da8539bd723dc8383b796c5155099c383525ead53ba06bba0ce8c07debae26f9247a4cc66a61e1a27c6c271fa7bf6ef5e84a31edca9500187307a48485a09ac443e4db9e0cfc39927d3ad64dba9afaf986735d7d68e4d55297685557b86626a5b59b570bd3499999b355a2a2ee85cdb2990ec1c4cff8a90bb4b9c39aaa3e488b303736a0ac3eeadfd6aeedddb9343f45df3b1b93f07e0f54f02c97e687f39a3f4285f66792d48b7273e7d8318c24cef5f3dab68a7a3a43263bc9f3676707bc88d17453e106b1843c8796d390d5a786ab7bb10469cbe2a1b5939da0ac8065c3955fd465e0c9f2cc4d7a908e579081f3789e0a1163701fcd9d143369e53349ed177c0fba461d613eef222af0de13bffd293e3f6ca0a07920d259c8a6a8cd938ceac033abb82067feb5df7fc97743a73447974dd6027a6e4ab108191985200613a9b7b16987350b2098ce82b39987c619c886256bf5988203c0f072606bae2dc783a9ab32b321ec198eb4331a7e6a7b420fee74d5956119d8c2ce76e9a19f73c0cf3914c99f962f633776b50a326815bfaeb3613d260b197e095d793576f77511de7c6715bb74063db5deeb17677933aefc42d0aebd37c2bac069df37f5aaae46fee6d427f90d5fe37811b8faa2b5b36cdf9fd7fb53fc8b6e8e7d8a8ff390d92ecff2797fd4cf1844bd99021ce0c569a8f47a81ad8fc78c0e272e377487551e2218840aca8d424f218ba666698a5032e8804d57fedc74e23c1e3bf3588148d79c9d5ebb9ec0027ab2750018c49e5958eca26781bce71455114bea66b4933feb8e1cef67ed1ffccb6fd436ef7c6323069ce72ebdcaf77d5627fecdfe488d795647f159edfcd77d1bf7348ef87eb946ddddd1fe35f50df678d4d6becbc7eeb1aef80bf3fa68add24e2e359890a91b389029d386232857c2ccd6d7130417b6cb43474976236ac1980e1dd843d4cc24cd8ce8aa08a57ceb387a6079a91ee508da4abd8e18a307867131a25111309c6b3969ed02d98054454de6935e3448f34f934b0b99f15db4ecee79892f2714e9b6defaa90de4467ed9d772b8e8577806f11e9dd8a6d4eb9cd09f5a9be3aa2d3e33e7ebb3ceebf1bc8ac3ac964643e1ad388bcf8aa762a342de4443e2c7b0fffcd1f8a9edd8336dc7463f67f3588cdcca9f49dcb3eb40c6b005d32e816eb1e6e68339d67bb102da3df90bee78ba3ad01806ddb89dbfd9c774f1894523307191e04a950fdc5870951e0780f633f09c671bc48b1900be35d41958f6d9d0d569d7a53828ebc0a2969b31a5ff8c871a882928cc24a337c9f8daa0e32c96b63b93a914cb95f3c930d62286cff561d5004996df19e33d223cb7a44677dfeeaae07956d677bfffdfbbc73cb9fbfdeeeedb9d1e1433fce9dffffe76976475ba0a7f8b16c5f770b15c94ff533d2fe6b3a8fefe1404cbdfbfd7b3a242413d5b7e2f17f1ec7b5ad7d5f72a88f22099fd365f2e4adc6f563e2df0df785607195ae28f653bc259cb6f77cb6c37bbfbbdc7f7bedd158b187f6428f2f15f7546da331443fd0ff5e37f28dea6b9dfe9deef2cf3dbfd3dc572f73cd7fb1faaf73b45dd7dbbcb96ff8ab3e7bbdf9f02b49c7dbb5b3664c8c16c7df7fb7defc70feadb9d5a2eee7e676986fa41f13fbedde9282bf3bbdfe96f7713322ccbd20f0fdfee9c2cbefb9da628eadb9d72fce8fdeb5f55105377bf53dfeecc18774a7dbbb38e331750dead83e2eff1d745942fef7e7ff876d7afb302cfc49a4577bfd31cdf631986fac17cbbd397f8c90ffa9ee57ed014f5ef6f7793d79b1ed6fcef6f77e2fb9b7afffad7aa5c2d67f1ddefffa0be51dfa87ffe1b6f713a7b2600c230bbfbff29d3c7be3dfcbe7c8ebebfbaf7c7adbffb76a716d5e2b97e0ceaf40c834e9b0c1651fb9b1d3c27b3bafd6c2e16dda7495047e9ddefe50aa16f77561da0d96103c93773161074c26d95859ca1d972dfba1dfcf07530ab0e9fedd9b2be688d1f5dbc3159c42b3cdeffbdeb56f0eac2c964b3f2eef7fa7935fbf651b091e94f16f187409d2c7e2b16317915cc9e97190104fd1bcd92235a9149efcfef5ba3775bf3f6c9fdf7b7bb38a883bbdfef5aaea3ad7c974647e9a75f078abc82ca16457bae731dd97e722381a5047d1e1568132b7baea509aa02e9b068256975d84a4cea5043112bacc3c2dca94373ad4aa903e47ed24a1360170ff7b73c5aedbba895da30c756406f5c54fb5ba72c62f426f004ea3c7aabbda96fdfe1d6507192d67b80a7c30251e47dd12f54e5ecb7bd249fb673e77e46478d280b157ebebf710b0b3e8796b00c193d0d45d26e74d46cb467e8213664b5b62abe5cc7ddf334f6cc45c8b69e50fbf9870a9a4397db755e4b42a4c8f3a0cd44bbb72611ae69bee619990b0d74cd85ef196b58c869d4602e4737b1cb116b7e0b076ddd656c684286dc42dd6e9b9d78847b24db1e8a0ed2977121a96994ef097b8b237dccbe7880450e3d018505e6b47a752121e275a56d74e3e126acf59e1e52a32763f17ffe14ce55cf96f5eb1c8bb438702a42e15b56c5d0bd1fbd871edda35fe358ccef2cfbdb8f1e4ff5ee7fdcb3571caba5286f30ac8703c362f60c8bbe7ff8f1e3571856c7a23ec0b1689e630f1c8bfb8117f2d0bbcdb1ce9aeed77c9b63bdd4f45339d6259f7a27a5ecbe5df3affdc0559e7c4759b9dafe2b28e2fbdeeb93f82d38b2bdae8323f7fbc7dd6f77ff3cb0bf161bceb95fb9a8ff2b2b977580d02cfeaf7055ff57b00e32148468f65f59f95fe12a43f17f454194ce4ef9e43fee2294cdcafab76471f7ed2e5a944f59d27e7e5a95519d2dcaf65b9527b3187ffce70957fdc7ddecf979f18c61f05460e43f595f113ce7213944f8d5e7577fc4ff6765f2bd9815b8dd020565f2dbe239f9befd5eceeaefd52a4459b45c3d3d655bf27b9527bf65e5f72628d06f6b069f9205f9ef7bb658d519bafb76b758deb5dceffb538666840d7ebb5bd6cf59992cf1125a49e01f77e1ea89bc1b36ad28122d8aea79b65c7e7fc204e0f441b2cbaa1642759095b3e7ef2823e71d3f986dc9a7e7a6aa17870fdf83b6c7f64b9455298142f73d3efd315e06c72fb3e8fc6bcc701ccd5f3df89e95f5ecb90cd0f759bc099ee3e5653384b2aacea2e393b4084ebe1d5e7f0ecab883dae54fcb5558a3d9f18722e68e5ff07b27dfa2dec997d3052cd3803efbc670f767df399a39f97e31648d4ee0b4e528fefcdbf72a2738312ba3459c95c9c9c7efc1b2a44fbf87c17276df3b7b9295c17373fa249d9df6f6bdd33e0edf2b82a02f237db208574f4f015a7c4f67cfb33f7020de7cfdb84945502ddfd9b40ef2d9a2fc7eb3693aab824fea069fb97af6fcc6acda33ff2eba302bc259fc110af266bb651d1312f10bb4260d9669f7e77bf41cb184feec4183e9488092d34751b53afdfa54d4cbc5737dfaa89cd5f57310cd4e9f2d9604cb4e1f550b844ebf5fbef23c7b42b3a846597df6789995099a3da12c49cf465d36cb2840e8fb6c3b8b66e5fad64fab9200e1b8f1b3658d16c92d82db3e2e5a428bff7c0fb3e4f8b15eee3f7764a3c04250fbe77bb1427556050428e4c1cfd5a29ec5d57356d6987ddd7dbb2b6775fb3f91c64e3e7e8f168b3c9bcd83e7d387f8bf3d480f0ff7cbe89e61aa5d3d2f08c5c6df57cf07c6b15812a8742ce40627e9404d3e25b36d75f8f07dd994758081f6bc2aeb768ddda7ef1161a4fb6f07a006f5a22064faea970e9a57cfb114f8edaec3a265fd1c2dc8f6edd91b1613cba8fb73ecbedbd4bb6f77ddbc5665166119f1f0e9fbaa7ea2efcfbf3f90afcbe009b75bcfca78f1fcfdecd0ecf95b1a4469c050ef6b552d5043b314f7466bf2071fa9f7b6dbd3fcd71aaf9ed7b33daf7ca55d9ac74fafb7b86693af347e63c51801e37289ff15b3e532485eeaee0cc5931539576fb6ab9e17dbe68d86ccf714ebf8afb4cae23278e1e765b3ece8dcad5ff149fbbe9c45abe7d9f7308bb3e7d58bd0224debe7a05c3e2d9e8bd71aed711477f89e7625eeef9f17769fbdf4fbaf5599d5ffc2e4ed5cf63d7ffecf0b13d13fde1639f1ab98cbfdf3cb9474ae4a1f4c48ad9dedcf51d8c9114d9e03a2c6cc97afebef176df79a3cdde3f8771a9ddf50e1df6774e63fcfe8dc4efd0fe8f01c5ec90ffe7f870eff6575fe7f93545c1ee2a3f15963c10e5a027143f659a39c6e16239fe157116b24510956b1826a68f5796234266e0bce42a35e377a6a4dfe432cf47558ea54f71ec2fd3d5ac221e5d7488c4f8d9ce5c85e8e0eef10a3f5e4a27db41a675135dd54f390e176b128b486e601951caec1ada46c435470bbc5a8352e27a5d55d21fa1eb97ebe5795340d0b7309bd49e2bbbdc4924dc71185a1098c722c0ab8cfff6e0ddac2614da3764e4b75a8a3a88428cafafce3c1a02a50e35258fa6e6f31c9f2fd3332773cc7d1e19dfc7075382e6284e736def1c4f0ffe899156440a335a76d40af0d6d489ac9a05f1daf9e39341b9214920b8dc23033494a054052f0444b55e4db14c1e77dada0982ca0a7356332b749755ce7be5f811a17a0890abe1929a089b24da251dc5a55da67645f4faefe6391cba10b36661b12b3880ab01b17da1a0ef3a53a5c2664dfcbfc1e7f0e0bb986f622d1d8fd3a057e2c0a64edd3ac5fc60a2aa1a796ea90c27b77bcde1f1a2be872f9483c1f3b62404352ef16fa32647574f6fbbe8f2145e6112a7c39cd84c277b718d7798c6b4f56fe434c2a82432331d6ce2e20e68be470f9d2086998092a904d4395854787fe0b71a414d611dee3e6a11c1dc375571183f732fda12a5c1abacebd2ac654e0c628caa2e4c9fa7f077ffc82cf67f622993537f164f9c2fa2fc74061612cf09e9fcc73073d8d819ebaf299ed3a629cb3dff77d3c591b3cf63264a27b55816938d4518b5b15c121b1a55d0b8ddabb69c8e4a26d9a61f8e89b90e1f2a811d8c033177b18a80a49639804ae9f8405a86225455146684f12b26ae248bc0dc468a90e8de4d1eeb5174d438d0e49888ab3206e34cde680ff677b30345691b24dc32cd91ed673a4bf8bfd3b67b83404d4488cd66774a7d409cc5e80fb4d3c9accfb9bd37ea1976ea04bced6206430fde5a83120e14ce558ecaf83525f87d9c3595f649f3abcc1b830b24ecfcffb702674c12e62e492d01a5a5bc79e8954590060b058ab0ab78e45a108598ccbd172bf27787d76c153aa04d7b1cbe51a862f6ba6f110ec0c86cf715ffaa04ffdb5b4e9fffc79977058a1abdf14e6f78df6523c4fddff75423cb9e9fb2c219eccfc4b86ff92e1ff57cbf0fbf3f83ee1bd651417827bd35b9d0be7e62dc19c78169076c941d82e022fa5624f4358e03e30c5e132095cae08778b848ccbf04b6871f8b7e4c912f853211cb85c150f5e10aca458be667a57cc6c3d6e042d2ce13a609c0433ce53ef96b12874fee3c22e50783a540c3ca73a52c032569c246610859fc722563ab47594f5b0f0b65f5f1b9f3b24b02862979b8f86cb649cf556b040bd78081a686d3073c17de4986198147008a37843c83d127c6305158022092b2bf27244bc70c032168990b18d5dd0fcaab0732ae45c08b6202c1035cd8485ef7279a8809daac8abbdc7cf6d61e33f1bee87392b84e9ff51b867216372d34c784198dedcecbb850b1176b1507c2d10d2601578c6fdb9a7555cc54a9260011a0b7a24778d2554301356d0c530024d7b0e84759409864deb04bf62f12804c522b7091579351a48edda9413259baca9cf77caf3e208bf038e5c094eb1bba5c6a2f0431dea94ef99744411e1f45e1d18f4c43a0a41f699500556be07d3c0ddb679ef1488e73b816e9c86a2604157dee1bd7d0d4e9f28d8fc5c05cff9ea0d4966dfe8d73d8be8df39eeb787de0fbef7e3817ff8a86711f7e381275f3b8186fd5b3c8b686e2f7b3cdc537cef07cf322f4934274df76b7e49a2b9ddf4cbb3e8cbb3e8cbb3e8cbb3e8cbb3e8cbb3e8cbb3e8cbb3e8cbb3e8cbb3e8cbb3e8cbb3e8cbb3e83fd3d4b8d790ff2497a2aefbefb3f5acacdf50d6bb367f5457e718ace2d2cc4775f51f0cdb6398fb83aedefbdb75759ae8eadc3b74f5fd9adfa1ab9f34fdd2d5bf74f52f5dfd4b57ffd2d5bf74f52f5dfd4b57ffd2d5bf74f52f5dfd4b57ffd2d5ffa375f5bd32fd97a8ecdf7f5b2f09897b5575df37fabb7477fe0743df53bdbf3983c7a9eecee285f45ec839f5a5bb7fe9ee5fbafb97eefea5bb7fe9ee5fbafb97eefea5bb7fe9ee5fbafb97eefea5bbff7f44773f68d57fa90effbd0e96f9f21df9a34fda1d3279d03cf3ce20c03754f9b782005b5d9efbc44c1e64eabfaccbf33ccff71e18fe7fc93dfc5714e0ffdb24e3f4105fa692be912afab2587c69a611539354c6ee5944f3f24691fb6dea176049520de7f2261aea5de0954687d7c5d7496ae2d93e3571a92fa0bb5dde2e9eafaf43974ec3a24d71ec7bc22662f87c66094decf66e16b687acb68ebb62267e09aa50b92c88d31525186a6bbfd8a2d0a1d358d1175d41f9d07ba5e8f955717392225ace60977adad8cfcf5e24500159ec4637c72645470ec51ac032bc5de07f1e3274edbb5c57f0e400d757fbfe4f597f5710fccfd8fb36abcbcd77e22664c1a6edbb4d8dfd77acfd35b8ffd1bd7fadefff94bd870ad8840acfdddca3926478d8176342a1b2b939479fe1ebd095f74560d26828ec42c6e454c54491b25dcf2e8bccb4702ba382a7a3f69d2c76d112de86ef262af82c54406dbb32e533695b105faee3b3c2f7a74599c49b45f597beaba150ecd2c377739c66c22e56f8cd9fb2fea14e85ec6501b13f65ffdbb9cbd4e8c9f8d44c1317ecca94fa8389f45b11bf2e6a1e9bed254da6c7fff86b24cdd6e3f3e1f324cd76ea5f92e697a4f9bf5ad23c9ec9a380a9368219bb7213b060a74afa326441ae4a80812e47458da0c42e372729b492c508306089091db4042a6c042e6441a32a1c8a4ffb38ab4f72a88f91aab2b908bc491231721d295b74f21bc934112b721596932456d206ba4e72ac2ec6eda6c9e2a7aaf00d6cb82276b9edcce272e8d2eb711e37d00554e072a579d27e5cb4cf47623e1a65c23a2aa215ee2ff2f21554401d369c71ac8c098e6b2c27ab58e127211ba328d7539246ca78616c2434814b57b18218e81cd71c355c1eb200332b2d16934a4caac7b0d872aac2afa025ac6126508172babe5e1290b4757a5b4954912975682e308c039746e3a4f2ba6c0cebb070485ba8000a7aa4b23e82a29061210bf7e90f65daf7b4e7d89b1cd7eba59b90d5285f143013dd404fa366965085999044ac361f33741ab8bd35a9fac582c667c06eccc89b48d9563ed3a6bf1a974213b224b55f053d3d19635c20592384322a008a95fed97a088c198e549bc382a53a8cd751b16c334788c24fdf83a9aa68c877b9ddb85f55b128a43ea3a36868ee5445d0a042d2145233b79ff80548c3acbf808a4cf92dfcaa90089b68051b611e2a3c0d4501c50558c5623e2242988248068578081a8c53be74c4135f1432e8ca2b554c73df335355e10b55e1e95889d7f87755e9ce80d29e8191d54bc4a4725af89a6b5be159e86903dfd3912fb6192eda1a37276b18ee2b7d0a58204ea20250b1a7ada246d857875f89b9bcc3f38cbaec20ea50a72113a388357797f30f5c6e137b46b2af24bfcf3ce163615cd117bea7a53e6ba288b4ed25613bc7399ee3c95e1df1f262bf7c579f4352f74768ebf630f85c63614668a067d251c1ede7caf8ee9686d6a1af1cf7efba3cad2a7a1a669db03f341721ab9f6515891a82a774c410b8243e0b9a50e9273e43e7ea10efcdb68a87f94a44421a15720dbd763d90a45813e6b1a72d7d5198fb6e2ff10b073fa7316c7dcf485cea9c6ea90aa86377dba6fe43d44265dadfc76efbfbd83df93dcb5762b298ab8d30696b100968a68079dca6961cd9aefc4c32f2781ac2ebc2e3f90a9d627c530793959ef51a5f6cf7d997aa342ea464624b894399635f14aa16a63a85f70abac60ae35288f140919bf898b62e696b226d979db28cc760c24cd8eee9eab430515cf4572222b4e1a870904c1f1ade1b52adf098aab09b9307a890c18223daf7cffa9e390f48e61892e9634e32f830f83b5fa8437d1d7bdabc1dc3c4f4478399d0d106679fe5e4f84e4babbaef243bcc32c467cc6ae98defc69806e4a42ed550a3c382c3f87f4ca996091a3effe1505fab0abf812ec63513f92528618b2b847ea94a9f9e0cfab4dfaf766123e4d0d5daf3921d71c2f74cca77b1926aecd3f121d8e128501e48fad37d86a417e04df0d7177b23319bcc2ff9e1195e258bd181975dd08c0eae2d4d565ada73462b922af115a15328859dcf6a55343446e44c88fd3acef635b2b6f81c51d379b2990efa992a1305a576c5369bccfebb25f63383716acb35eed581b3d3717bc5d88deda4e7174ead0ffaacde501c1cc4e9d89576702e319379b4d15d9f9d5a6ae211a5835655511b408bde911493fb6a99f34532117b3b351322ac508d9d2451731d75a9ffeef15ec519b7c2b8123169054b63b5874bd47007fc1dbb900e4b99bbeea7c3b7561165c6a4c618d8050a2a6291dbf92ebd0915b01bb307de5677bcad8e189e8e0a1d5df4799efe122bf89eb00931feb767ba4b55785877ae8ada0fafabd7e661054ede649a98b281c2a7a19b579ea8f19ea866241b9722607ed0cdcb49a007f1582d9d6acf42722e4380e4940e8a8590f8c3ce9032eceabbf52b42df549166b0924ae89092ae23d6b89f0efabd897898abdfa52cbddc330d0e16896e4f18dc1e0e26f5749066d0a2a8c92062c736ca7546aa7d5b2f26b6dfe8bb3e0de7d1f55e78fa06bafaa1baef34eb6fc6f3497689677bb8beba5fe5d57e5df5e374fb37cd841c7afe8ad482f3f445e0426a5cea69e8094be84dd69107d2a8a8e9a8a13b198cded3a38b3eb11c89e500da997902ee172be2cbc0d53b5adfa6413dacdb3512add158d34596a96c3955d25347418eef6cab88c2344b77a21cadcc462dc9bef54fcffcadb36eae63575b42077d9df7ffe8f31e35132beacef29f692c29d6e5e6753b09697148c8f9707219c7b3ef30919050528aff4513c9cdb4facc3dfd2b19391f5eb98c637a9f6b23e956fd1e1bc9b1e9978de4cb46f2b68d849cc753f388b4f60bb41ab3fa42cc26c9d8a2ea3ffd9fb198ab1256bfc12a62f6a233112df6254d1387e18b7818a751e124265185cc8ec5f51706d0959125e067583c5e878533521b9284b00e590db54906b12aa9d1b182d5abfd584ee2bb445cad5bf34f2f51651dc1cebc60e7bc6339baac2ab00a15d2674e0af917288b3d1341b1cb8c3d6c4d3d31c3374123142439a26be60121c71c56b1aa901499a7f7a2f41cabbb90911ba8746a3d2b705181ca606824211baf8848a2a0cd38eb27449d9564dbcc086b4761a9a3a8c17344bb93b975262a27895d2ec72a56dcbeb7212a82254cf6ef8e45c1dd8b3cea405d4dc4fe02b7c5fbade607d864237b99cc88aa4ba7334b5885ac91c49e8ef6eb85055a420bab8f3a8a860651c5dbc499dbca77b939c4fbdaa9eeed5c0e7daf54518078aea12b73aac267c41c960929deab68982721e35fbe8355df91ba59cc89dd5f212586efc70dcfc66cb4f23d21f599147545ea4fe0c44ff01eda4897c7b6ba9af41773bc4ee0724be8e9bb637259acce689caa1c4c411916774345665582333231fd4091c019cf958d0a444c2ce33e5ea7be86a5c9fa586d56ccaa355d607cc3f80c5650017b71f9b00f2ad9bf8bb60abf521579d5ee856cab12b2d54c100da06b4eb34900851c4be2011005cf009a65389c6339c05625de5225fdd1ce4d0d48e8d14693c4a6fcc4703888fbb2283435c54d7248d4a9805e44926e4e48d6f68088210841f1e20c1c4a0cb778bdc793881590cfa022702718462bc88214abc390e1b138bd6acd36028a0aba8a589d98293b13cbb23523b6a6b608efe70bf019e37322fe05f4c7a2467f2dad6bcd29934cb03bb30888444124668a137199e0ba7c829f1298824c607c4fdb4d5f838dd19e112b975d03f0aa4dd1b22a52ad09a01511c9f9f22d61644acb245088893b0f3cb51d53e2db12dc85bc3c1df315188dd4a69fa812d57854fa683b4e32ee4a5c77a6c235cc84dac7aae35c2d2f4c44e7e3937e6801e460ea51bc01643ca6b0f13d2d0d5d6206dea943218d587d7f16099e5a85ccf896e0da96c0060a589d9a5e6c5766a0db6bfb16fb09b4b8729c91775bb34a23e8646e9950c5431d858abf548760073b38b6f78d3a8a45413700946dc43f3ab2693f5ab4dff93a24639036b1cbfd84c378332dcdc677b95da4f04d3ca0f358e67721a33f43cf58eecd408f5ebe8c58805591151cd0dc589173d89e477e3ae86f309dc2e3da8eec9a0ef7e450b5e6c8bc6534fd5a55e0d277a324561e12a8a09d8f5530026f396f4dba7ca17626bba8e8e8b437c1ebff2bce522d26550533215445fa5e15d5fc7a0d6ae259fd1fe4bcbbbd11566d02d74fdca65fc3acbf869e49ccf4fbf99fb66df7a3978c1940f90ddfe254a9cd711fb0c82ffbca3489e0e37a5c1cfacb54994aa6046fc0aabb335fe1795a12af9bd6c32a24f8c2357e5b9abd088cc5a8ed7b92d8f439ed8b58b021fb8ce9a66832bea7261e43d3116b3ea98a863abcc1b886b0ac40f8f250a3a145e493ae6a426fe4b3a88c19b47a74db2a1dd34d95fb9ec6066e8f8785bc8c18e78758d05558c4ecbe8d58902b9b442db0ec23d7d0ed67aa82c89a0c1a0d0185a6a32c4f0e7d7b6613bb4e32dd91a4c6bae57043d02c2a55e9fa6d7fff4112334b661a95711566f8f7eef39ca6a212a00e667355063b68f5d7b1a73763665bf905e84177b20ef05904fc226468cce30a559119df45cb164f3749c86238686ce01193791a2a9bc42fe479406498feda565016157233b3f891efc1744ca5ebd075babd9f240e0350cbff85dd347bc0ea3403dded3a5240332e08ff46e3425f87169603b4c6f7340ee393dff05bdfe2b7be2d6df55d7fed3108f39ddeb848a9d0ed7c21f07ce56532f616899a99230340a1a369186f2ef0f0886b33b19f8df179cec898c4a43e66aa342ee4a796bea989672f09ff0c93133f06cc8709fe08a763f16af13a5c7d513dcc01621c32ded167c64f0ef0a088e97e6db5733bf65574555414b8af6cf263baa950c4c8f3cb737dc65f3221560727eb3bc051dd9fd512cbd821f3504705584257c632c5f93b173cebd16dafcec6aebe0e0b58414cbfdcaa8116ddc2a0bf68e759c0ea8ae6d8da537b9ed54bfa31571b92b47d1d0e21c2ba4058d43bcc1fb541bf9347b10c2725a182562d4e76bc2b8b77aab2c745c170f288573363a3268bb65f8543989fc54a5a459d1e80d7ea936b5727895854933ed9097e9f0d14223fe3392ff09c1d591beee10895876e1fb6bb475758464dbf0e1503e3241e37f33bbf19d2df8e4ea0976e224cef94ed4ecdfaf7aa18ad4619f5dfaabc598cb32a1a5946b97f07e3ec49fb2a2c96993a58245af3b01a6551f28869b0029831c3d1a1b2b9c2793ccf474bcd5bf874b8a3004ca32eda68983f35843659fd4c9305cb6cb464dc98cbc0e59ed56ecf5b9c13f290e190889f0d754cab73fceea32b6c62c64cc8f3a37cc1fb586e2e48c2fb234cc487d5f8b017741a304e1278a490c4321ce649e481345430dd0639c6ed038ed874e23304b6fa04edf1b95f68d9c9d88a9ee33d8a18cc1bb06ea766e47c349817a46b4c0b5bde4b35e44a5b3cf6d5e22796ab88e9743073634cd797aa0256110b1a48e41b73113502d16fb11e051c4e7349a51fad26577005285a5d565ecd3c73d18e857658578edb2ba011de574dd139c862ba7d8af304c75637ce45a1757b70060b16951196cfc57e3df6c02af09273d814fdb33eafe880e8175d75b033fae393b90929d607c7164d8705ea5dbd7fd1b7416d0587d60d0398ea45df035b926d8716042025977d137862f93876b90ad3664dd22706d06d47921d4bd4928b3dd1313ce306eb475c77f589fb4ab1ce82f707eb7bc0ce914fccdf589620d7eaf8b393f82ec7e1338f654d620750781aeba2b08f69523f2757f76c742673609e1112f9e480d3442ed132bf3d4327b8ae16fdc5157ece9749348cf391dbcfcefbab0490cb37f7f88cb65a5a32ea70fa0cfea7fddea0ab977b7dba26c29f1cccab743a5688feccabc5a1b806a1e53ed3ce77cf37c99c15c227e5ee1aba2dcad0edb52a4ab85de6137d554d3c51cdafc701514bf3e26824d73355a67e7a625efaa29a3c5afd2c2c1e6ef0ee09a6cd296ce9df6262e564efc282a7cee515218ddaebeb15c4b8200a589fb143669b4605daa9036933eee04bfa93487fbc3f8c1781ab2fd4a1867cb7a577a7f4d76dfaa9aa086836141a42578eefb6b498de2c5cba977816a6dd71a20ea8442db8f525cc0f328b68eee5c54bd9b61d93c08cf02ebc2779e0b5d77fe4eaef06fc3d514bd43339e5ba0dc6218c97c73dc1fd93bde868a7918c81907472d0fcd89f8088fc7a35bf2bdc69a02b777c06cbf342a46626c123d34b91cf028aec11d86467f25071ac04f7c7d6dde22c9191ec531e4bde53897cbbc73bb187718ed84e35a67f18fffccc9dc2c9c98efb77535e3b93c3f09a880e525ccba706454b2fca5f6eef5a8e15afe5ae5339f69c86f03fa3c259474cd2ca9fd7f254bb8646d08c9cc2ba3db129844c2f311ce4133dda9b10571edfe54a786a17d8bbbbb4761f74ba0fd1c19f5b38ac11c3ef149e6306cb82fc2e10f9d6c56a2f4f9cc9c3afbdaf556176f16e2b8b9ce0e7e9fb5a123369e533498b571dedbddc1bd53a83e3c0768c2b9d13bafa226cfa99d916d3b957cf604edc6888bd152aa0e8dcdee621ab35d0d5a97098afd4acffdfda9ce8a7adfc21aa892ac788b82515a44ae01e9e48154ff1e4f8de4c41943a905ec4ab53be746bee80919bb0402bb85b9cdb9a14b08a0bd4840c47eceaea10625ad915db41bbae8ae10e7ac64a4d2aa25f777cdeb3696d62cafa932dc9c0ce75d5042a1fb25a89f539a88085ef81ddb81496d04be9a8e1e6a122ef22365e47c5368f1a6ee97b60d5facb7393c3672c133602151532b9ea87c4a510b5b06435e2b31e9560de161b128aa8e0ebd65d5327f6d1ceae8f6907f259731d95796b7b2176159d8b581385166ecf536246ec2d0d29607636466b071f17c4ed6617bbda597fc4259214204339f434bcdf9ba8e07fe2f75545237afe697f98378785f9d4d92a9efc42de41d7aca22ca9d4e1f2cc0e32c3346b20e17d24c58c8ebc618f3b9a41e4a56e5f2205cc031756ad2e43d6b98272676b417ce67b3ac273518f7c8fb8fb615cdadb4b545138b4c3e76e42744c81bdfc7ed481d43c66f0fcd544b529ac8b941ddee5e1e69c46417cb6863191c1c70d57c745ef264d3ac0644eb57d1fe97a86f96db0595cf08b6eaf315e930a9bad0e67e59a6c807e3d1de43bbde92f306d73187ee97b5a1535fded44e4ed48911b7f5f81f4407b89ccf6838c5d5237ed07e4b7f941ff20f01937bdd55e0edbcb0ca77384c4e5932f5a37d33a8d5ad7c0a30e757246b5617dd887274b1d3d19e42ccc43869bfb9e89c242a6da2ad2db65ab0b776e718ad4e2b751eddb3e613e0cbdc96264b5b1266776b616bfced787f1487948d4cc58c44335197b9344a3b72bade997aa18258f62fbdec8dadbd92a5e4c2ad100baec51a6e6cce997714f54f3d15060a198677eff5c463572d936012f5940bd98d381e6fd38c8ffcde4eff887f7409e0d4d14b6318ee49ce13d08d9e8960b631eb2f12a54f8b4bb2f2436eff6ecf7ea9825f13798e6fdf43d3581a5b60eadbd4d9b9e93bbcd425e927bafd6369186ca761d63dae6e9446f698be2756e9ec3b8f13d61033d95e8a2d1505b0705a68fc45d1deb3e98362d0257ab62519807789f5bd745ac276581cba598a6b52eccbdd1df04e3f991a7a9f86c1df12a7b58851e5c8dd9c33ad72fc0f2064e773c3e337590739e4743d9c9b5478772322ca377b6dd1b327a7716f2b642af2a12bab53e8ed7e17846b311b16182665c546994a94739b038b1b1fce179e8ebd8dde6611653e40eb9303adec41fc7ef6cf063ef00a75550c8cd58bcc2c72a16fbab71d6eb645ac203ce6876ab9bd2ae8de2272707864d03cb166fd944b1ccad81a8d8f0c7b569b223f1c0c937ebc07d58c78afc8c69ef8df9ad27628f1ecf2737f693da8ce7ce6ad2b4fbbae77f677a8852a511024d38a0b2606852d170723f6ef8067ac2e1fe605cecefd3b9755444fb719a3183d663d64c31ef08ac1b7bb9ebaf74abb7bb31e7ba9b3381edb91cda4f54a2476e912a21c5d951d9a3a5b67aa6283c432f4fe2425ec6aef34355ccf5711dddbd4066e236e44e4015d3c35c80a72d47d6199c3b3777f587aa6019537e5607cb1f2738b3f3dd4987772609cb20b45bd20487024fa684ac8e0fbf8ecf67611593fd1e74b45bcd6d00a780e65d1368a24debb29af57975d8de59dcc093bdec225de02291dfa6591feb5a64ad3760dac15e1bf95e2bfb6099e4846facdf7b16d413fde9607b9b5fcdf5d08f55c88da3c85430b8b4b31d6c576ce072f87ced884cb487678e7193b4c94e658213181e5de4459a518771093de34d5beeafc37f7ff7d0e9315d7842ccc4a8a30547de429ea9a7631ee8c38d3b97eecc03db04dad4703a9be270fb70dd46d8eb0cd24dbbc8e1eeb685456b3b20389fa922fdf8127c4fdfbfba5be9f61332805245aa267442a4e98801cda37563eec7361bdfd37758be84036a0f6bc300ba0d28de32c5d6ae40e88fa82663e781c8835778f3021ca1bbbdc60145a7a362f397e340e7e67b8603edb3bf11073a588cdd17e17a891fc53bf0a07363a7ead8d35194f5f7f0030e052c3b9775d35edcdaebba95cdafe9909a5de081ebbf0cb3fe2d7bc71f900dcee9aa8265cff69e414b7d664964d4fd7e76fe16c487e2407f5fdd5f62331b107d7d47bdc53b5ad9151de07342e35bb9282ea4b373aa3682827535a3bbeb1e8bc22e6610e5334942682c915d1f1240ee7c79b6bd9fbbb85b39f11969ed3b938b33d2cff777e92fc08ed8920c669b46ece4e53b89c31c0eb6c4162e8d969ce1dc891df3784669a41eecadfa12d394d7f1fe68932277707f08eeef18ef13e8c9352eaac9d8120621436f02777be2d3c379fb736c2a3c1b16dbb5ef9a9dec0e5355ecadc6997a9de3e0fc7efbf2df5c95f475e8095578a26b75f8deda9bae734d907f23f165fba2dfece9cb013fb2d1353d393f3337f6fd5519856a651470e069e63a6638e21784e515bf1bf7961de2fcdf24714ab00a8be3fae1297c5fd8af4ed63fc8f920079691f3b669a9c9a32510df91b7c73ef21355a44ee7f11e9a400aafab2fcceffc3c9dfe4b2e6dde59e0f60ef6eeb1ab6faef5b5d7e773e6f7246b8f560e06a03d7bc42ef1e6de1ff093d845f06f7fabad02f3f590217e03147439e23b4c4206ff8e396d16a37d98f7c15790162c9baa64836ef57c4cdf1e2df3c77e0fc8b9714ccd992fea735b80c61fecf61fe0971d8ebeb6c7c4aebeffdda60507eb6f9a985edad3c8b89d5fa1e1e4fcc87474e730dfbdad82a998d0e2f0bb45e046d9c83a8e4dfa6e54e29f66167ca34a7b1f804d12b171152bfae2709f3d34d7aa1c57616112fb0f2cf82674654a5534843f43121ecab5febb843749a317759be3fdd289dfc4d91dfde1f9a32bcc676e7ce08147bde738973fc1c7e036cf3d3beb2dcf3dda284efd04ceefcf4f7d11deb99e531f85566f3b81d9cb7b7ee19bf1328ebd73bd2f9f110c67a247a2d83280609840bb71f772b079743a3d77e439f925cf21e9154662ebb376794749c2d8b40bffde2e4cadbbcb69d7f2ae33f12efb1df1ebcbc68eb99f3bf11d23b461eff3e251992aaab5a9ec6d3c341d0ecdca76f93c76b7c8d9db3f25b38af05f856f663695cfa897e1fa74083b347f005a131c59901dc44f0c00a60695ca4e499dc0417fb473a89964affad99f1fa2f75bf4563aa343ab7da8de7def07fb1786eab1d4e785eab5537f21548fbeff0ad5fb0ad5fb5f13aa47cee4315ccf9035d9b6fe1ab7fe8151f59d1ce89f1caaa78bb960990e45c2904297882058ccd987d9ada393b0b77d1856e882553c9cac5451b0a1eb74a162dc2390d0c0b4842270b7e830dfab70ac43485a1535021bb2da7317d59e42c5ac0ea12f583cebc4232cee1efafbdcd0bdc3fa63e5a10db73b0f873ac0f5188ab549c03e7a3deb37e3793f19e1b60635eaf0213bb655ab691716d8ba36932b7e3a629c839b32b95e5040cf67c02616c915de1cabdaa182d2b0d08f70fcdc50befdba0feb272ae4d0a4a2c1623d6663366eb8b45bfb8a8821cc01ef76636aab1914983a94534fb2de663fc7c35c65b00a15b08b88abb74c07ad4b4536b38e19125a77946d1ab7a1a2296435b4777908dc5e12b31ac685156c3687394627b80d1544b21bf925a0c87b676197c7b5b619accedbb659887ac7b57f52a8dff18cd69a9d1b4b5501159e4f94b5ae8624e49184332212a6095de3e20c1de77d70cd3ae0d5d135c46f84a5ef7265ecca25b4843264218af6996e14d0842eda11fc2c27499ba16a5b852ea2daf0336e77c4a99742ff0eb8fc17d1b6c5612ffe9a30c0034cf52e2c2e7158338d4a23015e3f310ab9355d327a137802758ddf2f85051efa3d558b6e85e3a5aa5449562374613a6615eddf3dceed311a1e4298651bf9495cc84db439cefda0aedd082fdc5f8d6a2cc9e8b58b157919921057e2fe48dc998ef8ba1785350148baea516060490f78de3be8b5675263f895d68663a0b068c3735bb705300f149ee0de81d6281a491d4a42bf499a5e73f7e258583d033a5943c4008af034315e87591b621733721577ae40bed55ebb627e1232353a519b515898780e073c3a57cffb35095b3cc9f4156175e79c87927027558698d62ea0db23199ccecc5fc773d19ab4de1dca783cc3189e176689daed3250a922ede33183c264a341454585bc8a58611d95060f87e653c4f0f38001d4789f756b4e73e3a14e472c5ebfc1cfac2de6a184ce3cdac96632e85fc1e3134219fff2b37ac41dccfbd14ac5b82c76724b67c669b3fdf54b438cba507812e2b45763450398034be665834a1f891b648b63782dad995be10b989cef53ac208a84a1337e724cb92b7457c4912e96585ed922557436477907ac3a38927e5b38d21c09451c9aadf9fc6816730c2a7d321d5db5dbf0bb32647a25ee2b70fd44cdc0cdf96b969a3cda54a216fc4a3d9ac3d0ed7e1d5dbc5897e610ba8408ee2b601bbb88f1dd2dc92c85d7da856deac43427aaa835d510731caf8a6aa68a29e947cd5bb34fdb1f909c1cb9a6e5b4ed0131bb2035cb4fc7970f6eb18a94b4d776f8ecc02a2c4806a43643d54978472727b5b22a9e0f91a1fa99e6ecd57f7d6c01e1c9c92748cdfafca3d5cfd40cf3447caef5e7c0132c9f169a9333d8ba4ced43c486244cb41b7793840c378756975a42d96259733eb3fa2bbf9029bcb79ddc99b626d993b622370f5d83b807e23d1f18c42d0ecdb0ec41e6dbc2dc3b9c27fd098f3d2eb43416558cafcbf0ed761d0c402ff074eab837203a84cdd2fc262a9c15c97448b2d56d976fb64ba8d1b43c8715c6414c8fdb4c511bb287843e4bc07272def228fdd1941c7ed23f399f32c627b40b996d1a2b0ee63b14242eff1bc2bb0297848b60d9bb09192a89141ecb298497e0cff121fcdedc8d458185562b2bfb2eb7eee4a81df4cc3663599f1a19f84c29db3586dda90cf16853fca325d840922d200aaee16c3553921dcbe1a718871f6dea02974e4d922778aec46b4c1b6da61e913084162ee45c6319a93d77821c95da3a9a5fba611359bfe85c59b14cde65b03d77cf1eb72ee1ba58b4ae618eb2453e49f3d1862e93ebafd37ecfddb957ea10ad634fc578c7049eb60e0b9a9c633cefd06de518c29307bd62729cf3a53cd2ceadcb28799417ba8cace773c4ba587bbe14d04405df10d8cfabc780aa4858c635ee9fc217447e81565e6bde5e412f4587f3aaa055807593c33c7b07b8bce2aa7f90517cb787e78e695905c53397f1d5c5facfe4334c33ae71e0acbd112a80b87575320a91174efb38e2771b428875492cf78725aca2825f119d59dc87b3925413646f1f33bfd9e394dae2729bcd98b818b77bdb5d7f1ed2367472dec59a30ac5a7c852dac4ee86e1fe33c8f6555f3a5f380694071847f472b958064fd24ebbde9123f16856a5c38abaecd859b3e715725f604df45ab687f9d59f0cbee9a8e9892d5eca88b9905c6bba3cb83cf621c23b023b682969f9e98822d7245db866bb42e302b828fe559ca886b33f69c4257d75399a38b3952882de38cc75c9b98354be51fad238dc074df54b07ea9534621efa0d3caf403a322f869825436687275cc6b8e2e6946474fe5b87b067cd3d1896b00fe6dda861888981698adacae999920bb12b2c9dc00790fa968d3c2b09b87bf1fbb73751d18d51c8afd15a6579643640aef64fec8a08c93f387f7154881a74d43d65408edea5fceb39d3b64788ccb05c68ff3f52eee6fcce14ceebd7595b25f4f37dfec0c1e967ac4ed17e17c3a2eb78ea50f8c7d01fb361c00c8ae0406ed35a59375340eeb1912d6217cf6746f16277873b247afe10f68f7cd53ceaf164ff1c9216189720e15446882ef6e075dbbf68c9ef03f55eae44e07f46205acf6fabfe9728457980a58fa1e425002bd4891dbdf31ed28f84615794515353a6240e6bbfa736461996c5b85de8457b33ed25c89d0b491a8a257e0883c724dcf4541096b920282a40d502b5521b2183e8f2390d34f06c54fcd1c0dbdd32b1c5ab01f2df9d5df558bcc85c8ec61d1c90162bf785fdfe0d5df35a3c5a1f7c0dda18073d4635bbe81cf373e4fa7bc5a03db2c70b9a87565e0d04cc178d4e2e3c9b5d4c8002a7f22ebdfb8720311713741dbc3d5df5e3ebc76893d9cd7cfbc523c91ffcc474071139b92258f0696fdb7ba6b13faaad8b49a8c293f514b731d306015eda8ed78a0265001cbc0a5778f3695a9a2830c4bd0ecacbff80c5847438da43c891584228ce392f9a88a89de5d8b6b66d6cf340b08ea9ce2d5f2e0a6d2ba37caba0c4441b2e9786a4bbc60cac4bd9ed72c200e8c45752acb9a272e1fadbe86f923cfaa8a4cc70a869d5911dd81947e3ab8095d85955ce149278377e9996a9f01ab78a8b57275cbfb9dd64ede8e1735876ceaa7e12fc9894b0e96710f3242cbeb65aa0de54b2bbf4094aae80be8ea1d0fc77abc568524d58c40b2e3631ed5a5c7a822d6483470c4612b972dcdea2f0607975b2297b53c4aeca38bf384301cbbb418c9a84f8d44f74c77bc088538d56d135d4cf2e4a53dc2b8731116813e139f452bd7cfc203a5eb50916bb86caef63ef00ce28e3530165a07ab975cf59129f19e9d6f1f0dc77c02409b605a281a5d899fa1b08e19d074e58892b17328bd95a819fca1224c1b728d84cfb9da3c5410d13f1e2d6105bda80e19ad9519e57da82637859eb1020cc80c665b611d68da68333c4fd1d22a98f5176397ecd3c265bbca0634753fcdd1ce2ec13294f8c674e94d3ccc175a03ae5c95352baa54b19ddffbdf3fba31e3f747569ecc0e7352f318f3c56eaee35cffffb3f7654d8a2acddf5fe544dfce891150baf5e2bd68e91671615c013971e209b606b4581e011523deeffe8f2a76c5a567e99e739eba986981ac3d2b337f594bc6b23803aa3bf357e2e1c8bd10a6ea08cd91d8b1d13605a6bb30249e9045225a380231dad0404f8e0abe688eb0817928622f18321a38dbae3c5fba23e6d9cdf9136d5fd127cbcd140ce24dd1d72e614b9057a61b5b2468a033f44296069422f260c9767cd59df12b91b6644a88a585f7b8a484b52e0d7cbd0fa69ad321548adfa9cc7387eb85682c6abff766b4c60afab7b5bf54fbe3c3781d9883be0e560e1f2808cbd0053fbda2b534d89fa7f3050ce2bd39880569b9e94d97afc21ceacba5bd7487f37ccc3b90efb9d2f1a819c221c9cdfaa77c7dc6fb5362382c7c3bb55be5903c2d647e8adb84d56cbe34074b5f5c089d970541b3f3a5fe56b66f96bd31e018a172eddc605ef8d966af0223c034c8c7bc344762b24537dd8e742693be639bcb557b0bda66b5db5b6cd8aed3ed2d4b7330f712bf47eac359bc0ae26cb937c7f3ee099ecff13db2ff915d9461ca0457f59660305902d86fb3de64f19ae2c7847e8afc64a95dcaaccc3abfd160597906688cbedfbfb7d39af99aa6b9a22c00f163b28686bee56b392314d98607d97aaaca0aee4ae4698ea1ed9554f8efd2eb322bb423870f65a6b4d670872f4e6df2c45d3e3ee4ff4275b0eff21d26f46b559cdae8da01760f314b6677e657f3494dd4fe3a3f5fd26705d6dfaf24e1985d3d9af517dac27e69cd065d81945db197fbae7d742479599fa6eabb4ecb4cfc6ad574e4acb7dc9083c5a6b79cc1f9b99ce6e3af522d3be9f7a959cf47c9b711c1d57dff85dbbb7ccff97a70c0f5dd5d1951b6b9abd96ebd3328f28f6dee227f5ea8baa4ea1f13aa0eefedc27bbb7ed1deae6c46165bbb262f9d968a962db24015843d9eb7f6dcbafd85591f0a5768df3a2a0bff08558e2af6c6b95b7d9dc2e2176f979bfd277078f9dae147c76934665afbf28d9a29b43abd55bba551d37ca72dcfa088cc91d1e7379cdd6da9e201c2def79599ee7036583250ddf1a3d1e7fdc97c80023bc17ae84dbd3972b563527e3b1ebf3c1f46a4c52f7afc5a6185703527539734bd96e7dc17085b262cb983b03bdf22b56e11b09ee397fd4e153b1b593ce4b79f4f60f92f87242aeb2bd84c9cf3c07713a6537c4fe82d7482d9e9ad7594462655f7354441e08efbdd4a1a108a285babe66c20bfa0532eed620c5b87d1fa395c127477d9e3b905396d8f9a79a4eba4fefdca29e92fe929a57672b33a082064d3d8032953201a1551b2bf8ce3566bb47e6d8fa8ecf492108fa46ea08bbaafda3455693383fa291d9f12bd5bd9a2f0059d7c58ec0b7e28ea10a11b4f4412e8d0643ba6a7795e0e993b679d9ed6029a4d67c16bbe8ce7add684e95ca5c9da5b57a6cef662991288c9fa35faf6525faf9c266b671178314aa3ce465960959908eb804ca92f823063470bb33d6ade479fd533bf1d83a191eb098e9bea6891da1408ad2f10b7cad01c019d644137c93b1d52ef7749fd55806d426660d18e22404cedf8cf218c7f8e20745989fb7639a04c1d7d5eff3cd810bd57d91e81b63ccee982c719d2975fca816e063b75b1dfdd972ee78b22bddb0d56d20c9dbe1ca511b147229c4760570aa254ae7fa4b1074b47372f12511a453854c4e9ad36143cbf7e8df8796b3fdac8beeaf48209d3a9af4f5dff34855816655f7396f5fd6eb7e2b1dd3a4c980eba395276402ccfc9bdda175c456c45a5b98f64011afb93f93d4151a3d156b868d504197446cbb3c57c2dd15000e473eef45b73f3a57cb271c2267d3c17a75f06fdf0e638bc2df6bba48fbb837cfc9854065565dbc6b8304605dd3454c45967c274aa32b37c42efe5508c933d7bba3596b07e277d9ad70f452f5fd07b9522daa3260ae054ed8b3ebf867d3f714098dccebedf6914bfabd0bdeca1fed84318268bf4da58643c5c7daf88c231d10727f44bd2529d9e2b8b6819fc7c7ccb63f772d8c8128273407578bad42fed620c685f2d059a3ad347b563731e986a2486517a13719804719b1d2f8dcb84e9d4d6eb229f5574e8c93ca60afe2bd157cb2d054f535c2152a429798567dad998a128fee763d81e51b5f56cd78eebc91c51c43694c9479d212dadc9939a236ceeecf35896786224f68e89cc98b647542fd659e0ac449e3869ff71457520afa2008c507624cff5bc96d6b5daae828fdaa99e2a64562aa72a32a29fda022773e69d7c7675ec32db302bfffbe67d8dec7489333ba918bbecd650b4dcf8e5e454775b4e6f0a2ddb3e95ef54c752fb67e932bed8adc4fd97b47f212fa3e7335a385ef5f9b44754a97e277d5ff956ae3be4e9ac0fcb7c7ffeaec61e4ded3ab1c60e5cd7daa785fc2ce4eac6b861475e92c313a6938d5f99dfcfdfa1feadce8f9c7f6a74eebb78e9aacea6a13e3ab387d37cd265709dd49c5e2dcf4cfae93282506ba797f34a6eaf7721efed2395eda4015ee930738da778e3bf2ba773d4623a50293dff36da1c763291ea12896b27b7e8be4628502f8368ddc466cc69ce79af79bbae13a673adcdd05ea9ca8d126f66f267440d48453c64f808625374aca4a4e7f277e5bca10da7c23225194c988e5fe6c709db5beb2ca0d2ad46277a3c6f0f7d363e2cba15be9c2fbaf1b73acefb5dbe7cdadf54e65d1a98dc3a9daf13b6d446e694afe9e3399fd4cadbab7c2f3b3d5fedf3967c2fdfd7cddb4467398a3400ef99b777cad3739a9a3c329b40a57a4159075d92af689ba6a8c7e95887995e4732f5e5767ad81e459469a8b36099357d94f1faf53add31ffcbfdae35c151678570595e8abfd25e846b53be1c39205c893a80985b674d689be73e9d9193f0dac8292dc548c4ae9e26c1340b84db8930393220c488ef137b2f5244d292a965849685aef527d339264b87e4340b9e9fdbb9f5f4f7f5171ccb1b7af8a22ebc24874edf9fe8cf139b289341f56daae2536b4585a8bf523c91f5e30926edad15aae7ca739a30a42e389199b53e9c04f7a3a5ca0417309d8aac4c9fd1f84ecc5fb94c106cb5eb4b0490205b1e489ceac9f20045b69e5aed16d9226faf12b4dac80b4e9ead12244edc4b8b042d8a22e847fa295f2468658b04e463fbe9e93b1609b25581ef5c24683f3661435ac41d8b04599bef58242891fed44582d3a5813b9dd3e9d3f9924156b0bf311bc076a3c37f14477f6c5dafc457a55869483328161cfe7af8faf077bee290704375c1c1f5c23f6c370815000cfd0f350aff50768a0d1415187fd8ee1f6a6403fd0f4dd12ca3bc34f1d783066cc30dbf9adec39f0f9ae7bed966f2fb2d72b5d0f6dce4c9df98860e7ffe5d5ac8f8ebc1d86ebd2dec8337277ca8cc2d47d96e54348f60d2edd58ff07fdb351b8ee1403a0f28aef9d5db9a8d43c335c2861fa9c0d682e8edcd3ea0effec6fc6abb8d5871c0d71d05678987fe6bd85e14dae0e1cf072f7848161c1a6f3630d0cac39f0f41b8b55d33804d48165ffe7a50a33794568d93d51fcd73fcad11048d372803ca2fcca3ed273d142ab66b6c1bc00ec2f4857140bfb6b11f7af98f8692e4983c68b66fa15e489ff5f2473d508a0743ab3eea144d939db3170ddb0d8dadab8086a1ef95ad1e9c920160fba1ad156f2c47293de5c9b78aaba7bd76fa2988d41018c50747a78b0798aef4a4b54a0fe506049642569e28fab1f24c9354e9f9a4c81094fae940139dea53c3df209e305ccdd36dd72cfd6c28814b969f5525301e5b9537b6ab6ce3f21bcb28e7d658c3a9557af611835e667ad353a3b73705780dcbd81a3f30216e262f06c951fce04ed250d9189edba825b50c5ff949d9c039171adb1bb54ae6fc5d72c17054437f8f04b94917843a1211df216b2c25b0d23f0d6dab3591fcc9ba06ca110598e5579a1f951fdf9c30f0b661f9956b84e156d18cf23b2f405c567ee57b00949f4f936c8d37606821b0c3caebc0764d60bc01dbb42aa50671a02900348c83a119eeaeee53e4a24e2806de0842e09975023779ed248216fe69a8b659fc0c83ec772a361c6804257f1a4e0442db5750a7a017ff8dbcd0d0fdaded86507d3dfcf9e01a61f27fc30a43bff4b3a179dec636d6cab6fc12fe977569fe326b46fa0e4a6d7feb21890d9fa36dae38bc00f54aaa426a3449dad5e897691cfcfc472388dd50819db68ddc306963faaba121459a3de59daa849e83c4f4d997b437cfde432bf0cf87948b8270ab7968f832f506cd44574bff14d9a783faf0e7435aafc8b5356823e6bf1a51f8463e569fdbe83150de20ddce70756fdba84c9a4cbf598a662914711f95ef81986c12f40d6af4074ea97be932997f8d38daee8c4c575ea1b336fadb758a73357985f8468b2103ea6e00ff39461028e6a5ec2a2c6e46685edda4f3b7de21be4148352c5fd13657a86cdd552e7c0ee2209573755fe14c6b0486166d8d866aebf636bad85b8834dc2a6ef0e66d9d6b44198fc20cefa173617e7f9f6cb5c9acdfff44ae1dfe078ab7aaed5b7dfff7c9ae9cbf6e9b9c3029d4727fe3dd3be7683adfb9936c6ffa75b8bde1a0aebc7a7b1ba4f854f4fed8fc8dd07b0ba1f72646ef18bd63f48ed13b46ef18bd63f48ed13b46ef18bd63f48ed13b46effff3e83dc1d41f0be11b6b65a75cc7f188e28771fc53a7f5d4eeb4df8de39bad26d57ccc717cf3d371fc23c2f1ed7b707cdae67b707c418a713cc6f118c7631c8f713cc6f118c7631c8f713cc6f118c7631c8f71fc3f0ac727c0fa13c07cc3db9ad7013d24f85c3cfff41be179b4824edfb52e8ff13cc6f318cf633c8ff13cc6f318cf633c8ff13cc6f318cf633c8ff1fcff089e47d8fa93307de32d72ff1b5f47f609c9e762fbf6ef83ed9f0884edf15a3dc6f618db636c8fb13dc6f618db636c8fb13dc6f618db636c8fb13dc6f6b518fb53117e43371cef3acc47143f8af22f46cfb90be57772944f7d3aca470d7924ff19c17330cac7281fa37c8cf231cac7281fa37c8cf231cac7281fa37c8cf231caff60949fe0eccf87fa0d766b1870e4bede3e8a5f252d02e77e4cdcdc04fab77e6adc5c1c361787cdfd370b9893d95d44d62d227774779aa345b22b449ab4899208aec19071bbe4ca39f8abb8bb56d9de518bbb7dcd1180ce82488ebb4f49348fee5e73507422c0f5784273d0371469e8db3e8904a2f507beeef40879de5de8fd81af3a9aa98ac25183652f8261968f2e0e02451c9bcbe62c4e02bfeb407f45518cbce13c2b2ff9a73902a14b83884ba21c6575e9306656a660ab2c58737d79a7885314f81e4586995b451dd0f3c634f6a50828fd99a748e328f9f6dcb9997fd166579666bc2cf1c795a88321739aef00e87d2156ed6e98d164fdf336f592482efdbcbf2995021b14d0fd95045a93b7646ae915fd92bff3b97e508a02d32514161c474efedd9cccebcaf33b8cf9ff7e6d5495dbecd84bcd8ee01d5ae7244da67e48b2497ca4fea17e9efe49aa8e15105640ff7e0574327bdfa189b238b54cb7129b73e4a4315d3728f6f853890ee5a338839dd61c97630e8e554a7765897b624cdf57519ceaa9a9383d6a25999122d2494cb10d88502ceb9760a888248a4bcdb195b8836b95a2d7ba348865912646b607f3cb35d88a3a585a736cce9a0320437a476775915ea731bd72cd50d28c479ded1130ad9cc4ad3617a8ce42ccb1879d1c3f77b8d7c34ea674a0d934d434593b3c2eeb03478f655140f1b3397bf35468aacb652c29de93c519a9b2c26696c625539b83852c0d2845e40197c7b7ebc4dc0b6196688e2387063a89e2cf6f74f100e4deccd31cc1927bdd9d4aedbdf162e57fdba79aedb53b501d14e73b7d2eeabaa4845877c01ad62f2bb7940ef6dbe1d44298a238e70780fa13f004d46e93529e13bbeb224b85b106322b443a0b08639e5825a796449157cf565981d5a519a939cb763176da17a8bdb5a610e80cb208801e775f548adcabac40acc441202f65126a7779b1ff32643695fce5bccfb848cbfb7be90d994d38b1ab75492d90d898d7bc4f347ca0521ae453478d4d7b687bffe55e41c4b1a5b1eff34073657f452d4df4ddde5ccaebdc1a83164f913e52582150d9b697584388efbea13e6436feb77d7d2c3c38d746d02272da1e0778a03aa80fcd95d35b2b47cfe4ece76dd982b9944fa9ff4db9f47b32ef46b2a495bf7bc345501fcbafd42f23b76a4d156dbed83f6e61edd2c7bced894518c9b94569fa17cbcff92689f10ff9459e5ba57c8b795a2ab7c3b1bca5b3bcc731d652e90f763a05797369eaa7562553b1888fba7820460e8a571bc8d20ccc246b2d4b5d146b70251e02636e1175757d9b962d5522e05e5ef763666f0a2c086501c5a18e164b305ebc82c56cc94f169bd9a29a4f3796d1bc69e5f5285bb76fd35f1cc3efb6ee991bdb9dad19efb0352b29f2ad0e4f9d8f34349b3fcfd04435c77626b633fffd766665e67e97958922561b0c0d54770634b71b2b120f90647567c0e84fa3a9d4dd43fc9f44eaa517286abd388556e0f3856fc3dc67c0f2c14ae28f17aca06b7e9592e678ee70cc8093c543a0c6dcb5347b6479f6852492b30dd37116b73ef7bbe84ec797196885cd4a7e9ec25f9268e1e9a9cfa15aa754e3dee5dbe87549d5e1095d4c22e60e2fd6b9de47a3f58568d59c9169b464681954d3add37af6892b3e260ba8ec61572a9b5a89fbd336e6daad6c890ce3679b63387398a4817f2f96ff891a90d30d37b4c3f80ed55725cd741e453c7ea4ce6bfd3c9d876a8e751ed679ff5e9d579db23fe4dc2f43e57b9cfba782bd501425687449902248b9b82ca04bca28815d27e59fc2789db57c2da6d137ee8538cbff1305f0646b3b7668ef8cf778bc2f25ca85f263f37d42191d44261ebf5328d33f5128c39a7f8c504edb7c8f502e48b150c642f90785f2a5c9fb0b3cde355ee72514c322201449063317d9c810871c73517cc1ab9adbc4fdd96ec1769ab2347859493cb8d736d69d5e30724fd2e6ded062ed74fa8aea7eaa3e7cd59d9a32db81cf602e4d3d45a409ae2f5beae5b5d4c4eeb69fe34ff0366d8dc08bb69a115c17e405d90f1f97b924c2ef392ed37afc7d8ecbbc2380c56f20c2f171197c5c061f97c1c765f071197c5c061f97c1c765f071197c5c061f97c1c765f071995fee5b29b0f3071f92c90b6e28be0f6c4d4160c7df7abeb10ded5b90ff429adc75fbf4919edba79fe8b97dc28e5becb8fdd709974b73bce4ad95044b7342528b694717e98331a781d1477b873be9ae88e1aff538425d715de8208a1fbe771785a221c8ef7331fe46f7ee3eb6908bf1ae983a699befb977b720c52e46ec62c42e46ec62c42e46ec62c42e46ec62c42e46ec62c42e46ec62c42ec67f8c170021e68f732cc2e21ab7377e568f9b7d0a8eeffc4638fefead4218c7631c8f713cc6f118c7631c8f713cc6f118c7631c8f713cc6f118c7ff0fe0f846f57cd5c78179148ff72aa087049f8ae769f237c2f3a821345e97c7781ee3798ce7319ec7781ee3798ce7319ec7781ee3798ce7319ec778fe045b7f12a64fe3f05e45f609c9e7627beaf7c1f64fe8280e8dd7ea31b6c7d81e637b8ced31b6c7d81e637b8ced31b6c7d81e637b8ced31b6afc5d89f8af09318bc57613ea2f8d4cb3be9e6ef7379e713051bf2d8fa675ce381513e46f918e563948f513e46f918e563948f513e46f918e563948f51fe07a3fc04677f3ed46fbc188e0707fb8e184c55d2fcfacee6d347865ea27f663c3c54757c8527bec2f35f2b624ee6f74f88b8e4ce80d69c468a9bc4c15e66778192e8fdd349ba5896786225f1475d1a0099a1e7f0799a3dbf04434524f76a7340702cd88ddc01d09a334b6bf2a4e6089b91dbb53497f755478b966c2fd62821feb6f77d5542778d9a6a73e08e1c9f541d40c0bf1a0b0859e2a295d4f54720ad8f59d0c3bc751471b6a62c809ebbf9b3a3fbba2344e5f28af49d588e696f25926b14df9ba15fd4e6002cc41eb1a22ca0b9e34891c6e5be38ea6c8f50c4715a67cb52451ef5cd6843a2d8e6b234388e6ceffd691c018e4d20b06d146df7643c6aa2ecce802a7696301fae9f47bd7d1658e1a83f2751a3f2347d79a788535387df7ab2a53a2050d957ef34d8e012f6c16befa835855816a7914c014a165bde704eaf558a26649126843ed8cb73d35e55a201b7768acbef549bf3eb63ce3f472ba7b331e6a66d907b1b053114f6f637bbab719b81afb2078d73097b38ad8f013f72bb3bad39f538bb7d8566e6a57545fdad4bfc8b4acdc0f085db8f994d7d1c7b86f664b1b79125cee31c1e8c44b0e1ecbda9ba42a0c27eea0b60c86c6eb609b567ce051c9b8fa197b46b6f0fe717cbb6556a460f9941284bfc7125ea00962d4b3d72251e966a6cda73560854b66d4ee17831af30aff3a863bd843feaa311c36f334611694b7337ff9cf1762cb0126740b34d7b452d43459cda23e6d91e2fb823cf5c2e5361054b668578c80cd6f29c3c6aacb0d61d21d62800eb1a700c7718ad9f7f1f3e733ac4e24e5ebbd9b632efad5fa331c3f9f7f6af467548cde1cff82fbd03fa1a0f57db25cd688d5dda23a60b3449b0d4de6c37640649246d86dee9d26caf5fcf2f9b1349c0d393fa24f3e05abb063bb9bff13887045a93b764eaac2e6964f12ea38887809b73fef03c586b2eaf6507442b715f8aaa2d50704e702f84c9b9812931035feeed6deec53325863b8cd7634262109f99c3fd591d6d8ee96a9ccbef6591a7a0cc57c44e2431dc23d7dbdbe3796b7f47da9d2e0dd6f95cb23b8e4a7534d84f9cfdbc3de71dce8479eb700e6769e0bc1505c290bae066790ed493bd5c1654f2717a7b8d3df82b2a89723ea2fca34ad137eb22b33d6295e4f1049f6b6583dded5caad7db9c7b7a87ec5be8fd01b96ace902d303c8db8d8abb71586cc265a519d48678548ef219ef6cedbcb076a53d8c8920c5477761ca2f6b7aec8b4843713fae9c579aeb19da3ce98f628be2ce774d602aa6dfa2317da64335223f89dcc2ebdf1fa797fb9fc19909d1ea9f667d3953438c2399bd962a38dbf5810ad9bb23c91c3dd486dcebee9e221109c5ea08b4bef8ef9fc83f22a9dd7ee4f932f47b529c4ab73f990e6758f8ca9991ba73640ed1c69dd53bfcd4a9a592387b654f1ac8e89ecb26fdb2568aecde9efb42ffcceafbffbbf16eaf04a68ef0c0878b8c51dee8c73f2cca541b6df19e1ffc73c1a3f319834aa3976686087c6bfd7a1713e6d7fbe5363e1f450b8e8b9485a322520b0fc6def0da7afb4a5b38092972084823101cde721a7b3f433582e01961c2bb4a05120f7c7267a9780736854a402bdbde35e85962cf2a4ce2e4da8a8b93e0f857802befb6373e50a04c7828863d33accbb210410a33b046e32c50cbc61086f18c21b86f08621bc61086f18c21b86f08621bc61086f18c21b86f08621bc61e8fbc1efffff3f000000ffff010000ffffaca144422ba40400`))) +var _ = pkger.Apply(mem.UnmarshalEmbed([]byte(`1f8b08000000000000ffecbd5b93a3b8d22efc5756547c77bbdf6910a6aae8887d61b0c160839b9300ed78630520372781691b1f60c7faef5f003e95abaa0f333d33eb5d9b8b992eb040524acacce72195fabf0f49f165bd7df8f47f1fa2a48a77c16fe13aff18acb7ebe2bfcacd3a5d85d5c72fbedf1598249b874f0fff9fb4fc3cb666db4df8f1db4f7c7890f372bda93efb55fcf0e93baffff0a0f9f9eae1d3c3e96ab20e1f3e3d3c7c78b0fc4db4aaaef59659f49124c5eef84f3fc78fa36fb7e137ffe1c383b15edf3cfff0e141f5ab307ef8f47f1e7e7bf8ef0f0f66e593d5c3a76ab35b9d2e8c95bf5d170f9f1e8a75f58fa4d8563e212bfc8f6057fdc3dffb09f103b2fa4752fc23d82504ff23f4c378f5f0e1415a8b09596ddbf786245915d56fd1fae1c343b82ebe2451fff7975d1156c9bae8afca2c5ae1f6cfff3e4baa7b78b5d9ac37ad08bee4d5c3875bb1e5fe260bfc6ab5fdd83ebaf9e68fedff9322fa98aff2b6dc9af845f4db7a137d3c7e2c56d5c772179024dceebe7c498eddef6516fd96141f6b3f27bfedc1c3878764ddfdef63b2de550979f8f0b06edb54fa55fcf14b4256ed1f0f1f1eb6d52629a26ddb85c9aaecda1fecbe74cf0675b5da7602c8cbcd6abbfdf885f8d5eaf646d424652fa1ca4f8ad5e62349b6d5e9c6ead8fdb5a9cb6a7df9e3a3dfbfb1bf089332eea470bac6b73fe2ad7fbd58852f2f3160599a7b75e3635254ab4de1938f2b7cf037787b5f8c90a4ac92f07a27cefd9babcbe31bbfc027a9ddffb4dd0515595d7fc8317bbd689fbbb90a473717b71dd8c63efde20ab08f2fae591adc5cdf5559911b391d598a7b79f5b1ccba39b12ac2354e8ae8e6cf8ffeb6a06faf037fbb7a1cbdb89314fea6bebd13af6edff6316d97d6cd75d94dd0f7277db40e765fbef864fd315e6d567f60417cf7f1eb20e57eb9fdc1a2959fadd6c5c7378bc6abd2ff45af69d75cb5da7ca755fd9aff21bdb0ca8315fe190df2dd72db0a772ae277e89ad8dfc6a77f3e869b90e9f4cf5934ad1ef149747b2b2c77b7975ff26abbde54b7b78a55556dfc70757b6fbded66d9edad724dc8edf5fd239bd517b20a2b92542f6e6f932222ab2f2489e217b56eeb6de813f27157743dbd8eee6a5b9175f49656ed6fe7bd366dfff91824d1f5cf6a7bfefba41bf2245f9dfef998ef4895947ed7f3eec6d7ddba5ae1729314556ba31e3e3c14abaaffffc7b8aaca9b3f3f86eb7596ac527f737bb3fddf596e979be76e9ceeb5aab9dcac3bb5dc5eef3617ebb0de7e5c1d57e1c94ebc612e4ef2ecfe8a56c7f2f2c7c76d5d547e2bb4cdaea8fa3e9efefa1876d6f27c7511aa5fadf34e17bffae524cd57f7b775dbc8d354d9569b705dec6f6cd887876d5d84a77faeaf3f0deac3878753bb764512aef1cd5f1f77d517faf1e5f57377b9f5bfb4e5f6ab02af371f5fac8cb3118bfd30f60155ae494d3314fb9dd2dd3fed8af8d1726795fdadc2bbcd7e753675df281767f8cbb74b5c17e8a9573f58fc62a1be51f83b026a67222eb6ed7ff96abbf5a3f75ef762ae47bb6e817db75cb9591febef14041fe3d20fb36f944a70e1bff3f3b6de9eb4da5bbfb64beee37615ee36ab8f418293cdee5d697545ab8d5f6cbfac37f9b70a9d276bfbc21f2957b4effbef0f0fd66a5bbdf275ffb92b92ea9fad9e7be9e9bebc7f7afac6d9fdae83d93edadab4fffef0a0ae71dbef4ffff7e1071185ea27c5d9b1ff69ec22add535fe89473e46ebdff235ee9e84abcd36e91004fd1bcd3cfceb5ffffaf0f0a517d87760d6a78fd52a2f5b47b92bdb62b3f65fbcaafc8474b78a1e265d8b7d78d826cdeae1d388e21e3f3ce4ad66fa04e8d1d3e87944b34fdd9d7f769aebd303a000f55fd4d37fd18c05e84f23f08979fa6df444b565e9a7ff45814f54bb6293ed3f712bad5e70add26cb1df6afff0e971f4f4447f78908bf5c327fa897da600fdf4e1412349913d7c62bb115a3d7ca21f9f39e6c3839de0874f3445d11f1ea4eb9fee3fff59fa987af8447d783070fb52eac38379d3019e64db1797eb30db3e7c7afef030ae92bc6d8ab90a1f3ed12c377a7ce498b687dab6bd337a7a6a3bc23efdebc383fabda2a73effebc383f0e345dd7ffe7357ecb62bfcf0e9ff501fa80fd47f7723db8290011d0fe87840c7033a1ed0f1808e07743ca0e3011d0fe87840c7033a1ed0f10fa0e393426c9b9e453f8e856ea0f2bf3e3c60bff21f3e153b42dad76d5645757de1f599aeb61f45e01f8de978a24e7fcbf1b7b1f8b5d8198bb3a30b141f318f6f62708ab600f8c43c7e02f46f1cf74cb31c78a45f61f02f3ed97e1f843f5f40387d06e10c03a8d1ef00e15dcb7f06833f0196e12e6879c4d04f2cc58cdec0e0cc23c33e3dd3e7a2973ebf81c1bf51f45762f08f2728f50a8c5fe7cb4d89d798fb8a9eafb0b99f8027d47c1abd97b0f9160cf7a52f2bbebfeca162fff70b7572bd75f7c4ffcb6bff66915eb4c0835cf33672e84320891472d5b990a8a92cc2039244ca77d842884ad797e04e96c4ddcae4a99bb291e72a4496e83d9248ee3b305b087cb44846fb50aa0ae4e83b04b8489e69eb80815b24f00932f91a39980439ac3dd7204818cd859c8fbc715904355f20578f1020943f83c922d7f681c9559eab6cbcbcabaf7faf2bef3d40670b86df20006b21d73259829597c30c493093052f9767e7dfba77cf90c392303fb5d9e40f3ec004096c5b671a0096f21cb26bfb2acf3412e6240e24f2881c3dc239ac4340f641a14601f0222cc54496b47d501824288c4696b85c1e97942fd9119660154ac7184bb09125a30c73986289ab57e6210a1c3143261f7b402321a3955e7e24b22452f24ca183c22803c7dec9e3f51c3a2ce53b87286460ea0b3ce53b745baeb9f68fec50cd37b81b9b56fe5a83dcb61d64274b4a19e462ed3b6dfda4bbe78123ddc9a4fd7d66ac915e269eab1159c27b595268df3966b284e820d74a2c713bcf3996789645f3994690c9aff1cc3884cd7abf00b8c4524c7b099b0680da23c06d3d872d1600ef178034210349583f379a95d1aa90cd3d93a77c89d448a00f9eab50edbc0900b7edda355348e8c2563e593ba790d08f4798f08730e780ef1824acf9384878de9e66512089350270bb32dbb16adf67f4f21b978cef1aebae5f26bf0f6bfee039dac673305944ebf9c3afb36dd1fadb46ad7354fe10b3fc3ca2474f8f1c78fc7dcc3277316aa3bf99597e1e3db61d61dfb26aaf8a9efafc7d66f9b6e8c02c0fccf2c02c0fccf2c02c0fccf2c02c0fccf2c02c0fccf2c02c0fccf2c02cffddec52b4feb3c8e568fd71b55f15d57702bd4e657e07163f31cc4f9f28f6b767961eb1bf2fc40b5017200efe0e204e8d9ecf90193c334f340d46ec3bf4f233602fe8baeb304551efd0cbef141d80f800c407203e00f101880f407c00e203101f80f800c407203e00f10188fffd40fc0c97ff6c3c7eeec8773e8f9f3adb23d9a7d1cfc57b715d40d3f3ef8bf702f4af8bf76a1bfe93789cbd2067fa997962a947ea87c2bd4e5dfe9170af6bd1018f0f787cc0e3031e1ff0f880c7073c3ee0f1018f0f787cc0e3031e1ff0f8bf0d1e3fd773dd7d11385c869d233945e153bec3ed84a82c827a7c5ca4d34688ca1ab922ed773b2d5e46e17be0b8c78e41700e7778a6ee43606c160ede2f18af96675ebd48c73b75bcfedfbf3412fea627db5dfe5de0df963903ff6786023f08fdfb0ff10c37621f39faf740ff27ee9101bf0efaf74d7f07fc83d10fa0ff5187feb91ff81a7feef5f0357e40ff03fa1fd0ff80fe07f43fa0ff01fd0fe87f40ff03fa1fd0ff80feff07a3ff160f5fd17f8fe0bb3c097b048ee494f3a0086a1ea8c2a8d692d1a1db639fd37b24f06bd52a631b42e4d3f1232c341a65d4c6986149754471def023946b70ded8c02cf0c4b38fa507b6071d1c2b0b1acc67bd2c7cd7586347de7980ab16944287394bd90c6c7c29db6389ab02a1abb759a4d33d02cfbbc0e132598a8ecb229621a52d0d500a9ac31d7ddba897b3320ff2e7c6b2631a598a8c27b0316d651332e383ca88e9ca41ae056d4ec85fb1162572586a697295ef6a4d28c1edb55efdae5ef1ab96978a4ea98d6de14783940012bcd7a84ad5dd72a23264a4d921e33304d894b1f19aec10ce787de5866fd5fb7db6a497310f1d63661638b669b8d3cdcac1393c988c58f845069ca9b1b1252d57a5385f349aaa01921aae7af41da5792563a06d030666c8455dbe8805a3657e4d1741cd0135e181da8e6f3a7ed9e7549bc09972d0537d832dac78ce1aa05c670c4bf1704ed1a61b6b4854f69e2dae43473461ce7e0e53a5d6e93764cd28c473b4cd82e1a995c903d51c1d1769f6b2be9c5b3819a4918d369aad2dcc1952fc296b6a360d7d901d543a9e18d0ded816720c312e0352d206b56e54ea757d48120172b4c217da394cb763cbc833efb848a73bb5bbc75601d0237f327d34538c96224961a32c7d276e10a09da0e62a9c6a5bddc5db05a36d2c6a44f9f651f689d69866956a76d42c27d4fc2e4748e6b9887800afbbb5e26a07e486116eeb6cfbfb72fdcc353a1b398ee6aa195bfa33ad0820da2f000d5470e43138ec43507db652a3b4a6f1579bd19439506973a28e5e8f2d6a829ca37c07b1b77ff7fdd5775afdb2bf7e81d721b3a6bc346b70cde9b6a8d40b465caa90b08183e8e54c1f69d47167649a16d022c012f735944a29685ef5b708c0310ef2b0d5197bd4eb8a761e556a3a3e6ae9f8a8a65ead3676a34ea24a4db50c391e852c94aa9691dcc9c3d2b388593978e45bf10111b8f56c6e63d934ad4391b2a7041a694c3c1aeb9a4dc440e026768a1d7ba218afe581f78124ee50cd5501d0369771375fca21a00d846d32b218c5c78ca1fb0e9ccca9e8886d510e254d3572565cd9e20c6686ba005b4aa3cadccba9836ebd2f8770a6b4fa2bc18ed78ffb2bbdb9068128565a439239387abe4de7380ff71e5d56aaa8cd0280be9ab676849902f14cd13597cc2d8756f44684dfe8e721cc392a000a8d926e6dbdd69b29dada0ec52c1d79138871693908a09a4b9d9c3ad814dea356b731a2a3134885644cafec520b6c3251dfd09b979c2b0c5f078cb1f70a98f73256776af252c65a7e34022b64bda4da3a12d150818a05d0fcc0e22d0370b99f91490891005da3b627903533ba326df508df9431570492ddf6abf2007d9067dea1abf36e3d2f45f1e85146b12a14183a47e825dc4c25bc01455c6207ce02a6a4ed743a5a4e8c024986b672f146cb89fae375eaafeac4699c41c950bd8c9ea979a5783507cc026de7c0031af46a3537129f8e9380c1a296970514b8c2ca9491f18d3ab10b4b249c75e5b4abc70055e231da7a41e12414e3470d1c755418aa6e69ba460c64b9f8ab4e1d5160458d9f13c986a5b468b4c2f9f17a5ece1b62282bc8fbc83234c48800e510195345428ea105149e8553c82ca8e3d10230b6687d13e4f1089a156b4acfafe68d2f898d2f91346094c375eed2dbb0b0239c8e77da2b1db9de0796e6da13efa84e2bdf1491a1426de635a84626070d29963021538de1e7da54dccf19cd5c30a2ea14d91b3a328e4310971ee0ea50b8acd72a9829743fa6f64ead3b3d846ca93aea8dc778ae3e3208893dc7684231dc6b0514d5a9f639a49491ddc840b390694d61bd9c2a8750c29bdf57e79d6eb6c569000d26b4891a3446e5a4b160a5da542553306fc85734895dcb82b44129a3955989cb1919d9809b6aaf6dd13a947a9bbf608cd8770ebd3e125efb715e2a1e6d49599b2e9fc1592cfa142b3b33426ce0d1b81d4f5a9b84354741006b6da2e8e1941bd90efb863eaaea97f6fdde77e3251b929d9622d79c299f439147567efc8a294e0b9de7a32a1a1bc7898ea8c81a8f2665d0285b152893909ebe9e4b8cbcc7121ce1de5f3bbef65d8cb957781b635aba2a0ded05752c2d06cf116c178948502152d08df63e446bcfa1f6da0ce5682ad656967dafaefa555d3954912b336aaad8c8a94a83819a0f4866b9f164c1f09a3a31b6908224cc45194258e945380a264a1166af756b2091c29f190d96e061c118b5e768c403dcaeaf9f3dfbe3171bbb9c4c8f6a9a1d544b67d4c9b452ad90d680da2c2d31511d31edda976c6b2f45a5412b7364696b4cbcfd0a222fcc754a75896338e508db485e49626316e2d4972ac5272a85c0f64f6fdfdd5c94c25cafbd9cb55526a48d4ca6434b670d9bb51141db5561cc0da86e5467bbd7c091857454cf1b528426a7bd9e8b6c891c9aac1cd8cec91ab9463f2faf6dabd5c9b856d3f0a8a6fa489bc895674d0fc8c2a9e7c01c4d6272d7b64763225676c6a9bacdfa1e131d6d11993aad1e42a7b23586672ca99aa102cf83c678f4736db9a00d3604ecfe75dbb85d085adf97ec7c80f7bdedf45ed994607aa4834c691634a9b4ec286870cdfa84d8761a0223273494e891211a53ec6a9f0d006ddb8e3690c65fdfb029fba0d0ca05c0659057fd1899a36337975ff6716bcde04e2fd4bde350c09acab49392af0e344cad4192ef423b70e3299c1a74487133040dc3142a1782527cbf8f5c851c1cf77d0c5ff511b9d1060145862637810514f4cc50ccbc4c54121d421b7a5e860acdd2522d15d7901eef555b3b782e94dfb067071f847be42a75c0284daf5fb3573e9f57e01833716e4e15c922dec69a286be88e8f6116f3c60ce630d514cb357686a86428156bcd66152b835bf5b57e3d040e7cf45c25eb64e81825cad1d677e4f7f46c695211a3816a6fe4315a89c64275f9d4ced98d09aa2322c61e315a821a5c3819eb3896d1d899819ce4997a255b46a3c21c521e88eb05e012bf883afba99aafea948dbc424b6b0a4cdbdb8405ce0c0969ba53391ac5519881479da0c730b347062d038342a33983c5d5947e3d9eb77532060919a34445d6f5f50dbb4dc346191913d10c195e342670bf14490369d183994623473f8405b26cb3aaa050299aa38d3c406bb830f8d7f5a23898913890a67baf201472141ae5888405bf0fc07b366d0dbc4c492d5bac3143e69abdddeb0e3df1690c54a7a4b4066f20c1ac4ead8139e33f631bee34667dd0192d6deb0f6a761f4a70e701b80b19d82c72b2efe793dceafe6e1ee90d59db94f6193651a34adada846883a432561b83f12cb4589995b222781b4815f41dd69c530a659332ebedf4f32e607812e41a090a8d0e6bb63cf32c6fe0858d4fe11db245512de2bd9a91dc77b4cf8ec4c67a4134481b33cb22b6d66899c1e011823885aea884d3de070a6a96f672582f72ae4635176389ab7c47edc74d181d7afba58d561971020ada9ecb1b862b4e7d51a4555acc8302793af428dd393e7a0c823a136f2081126ed48dd16383fda2800972e55dc028c502885400e8d2eb750cf5da56e2a99ac524009aa7d6156bd4158ba8a3ef31caa36d9771e8d0ae9f12de74282648c7a30e07c3706f4fdfaa8ba6839951b66bfe8aedfb791f50b0b2b3d8b04564852e4cb422ac57a992a919fc0c0bb54679c91a4499ad1c2ef7a715bdb28da32a8aca1b32abb073a47c07d66172f66beefa54605373aa3d9268de20d303b4b723db392618945b9b6259555c83a584e7fed498433ba443509a4bcb382e9af1eb3e31651c0a17fddc8f4fc699ab494407b962fb4eb95ca5f1d62fca1dce34cd4e455fcf886e5268a782d20873b1502dde5333b1c136f5ddf7dfe90b8041b6777271a23b22f42865b372343904c7913121825a94a52642db9162494bf946239a1bcee0d448f90e839ffcdb533dd1de6314369c19a7b533dea90255ab9329ab4ed4c37222d7aa151e97029daa6944a9c03ea88ece7a967c375f8caf568e53c3958f0b4a3d68b638f14178f4ed63eedb25d46c78d052d1804e35834d7c0c25a309a9ec30673adeed8431d87d9887fb95c091d56cdcebcab6ef967c50add637918faa15d64b6b4a2f2cfbb07410f172982f2771acddd92b9d5a1f3c882dcb1ad35a231f54ea986b1951e7c063e1442ce184ccf4824c5712f24d4a34e054335550193d6770c2cdfdbc1a2dc0b10c0afdae3dd1519dc840b5b2469d8ce985a302ad191fd45c4bd4464ceff10284280b32fd68000aaca6b169651a825265424bdefb19a40309c96a132f3c8ab82b77bc372851430cda1b3fdc9eeca0a632a35a21a536637a61c1440536f02c9bf69a0cdcdb570ce03a60e0d2b3b4ad55e018d2718a8bb8b12c8856e2945e41710b3395f22c7ea1dbf404bb9a178afc1efe4c7b9a69a35a76a335f268e1e807d51a1fbc1425681227f7f269e7a83a8d277ec215aa254a882694291d0b0809c494b6311d442cca1b2d1d2e35a1f26850cffbe50c6dbce6adf6b0e484016efcdb31a3a67aad36fa489da895da788c0a6c4a9594584d65fa6e7d55d6445c2e68bdc1926898523575662aa3328a6f1698824e2ca94cd8a0c2a830839bd0e205e8d0bc5da8d45beb2bc82175b7b646ea24aa7bde4da555931a79967e54259bf152af594a779c764eabaa3ddac389467950947dcaf0c2266c4252ce3163407fea35b8d1722cd10c66b4a33a5560608b66d8e86fadad1d725fcde5c3d21a0335551bd51a1f17d614a88e9669134c969698a37b7fd73e1cad84b355c6886d3bde1862dc688d563b59c96011ae8d54635480a8c0c54cc84c0f3a81950e95a6b7a93f3056d6b8562df5a0a5d3a33619572a98d66aead1aaa4022d3ff9717fdd58b57af0a85ad391daa8b45ad3d972128db4263c6a8d77d49c7becacb3e61453288d658b62479a036db550a820c5472d8776689389e38a10e6ec226c34ca9f967b95160f81f4a61e7c63acb283668d8fea644c6993560f92145938d6d2ac5625efb0bc5fe713221b8c912fa7f167ab886804f53a2c8c9dc64c0182c6d1b4351442e80459d5a88cb136f3e7c676f92dfab175d563b3897c585a3a5053af522defa835d35a9bc014e5f23d6e79d46ccd84c4b0a144f366ea311a6d3c5ad3e30c9adb839797bad5f0aacfc0cf9694518b06cef0b474c39a6bde1c2b20d2588aeab7d656672bdaf95cd3999adba06dab3651475e6ebf1caf6cb457251b38d2b1c20e3c9aa0e40d26de5b0ccc61a18e6c3b9ed985424328eeb482b88ea5c5f3bab255d17e6bbc9a95c3a6afdba31eb5eedf29a525d4114dbc036ae53511532df7ee783c65643998e0063a66113f62c7a617a09cc3a94d63077e0da5d209a61c5900f2186632a34ecb3d4ac3da3bf9103fd41e6b7a584eda39a437aa49516a2e37aa158eb40666aaf497b787552772ad35535ab3324aad69d2ea63244d190d4c1964fd1dedc9baf5ae59d3832ad0299ac06c69c1589b68b1763f7f7e757b5cf5b56e9ea807d5b28f9aa51e1696ceaa4d44230b11d5b2eb7b1edfa60d7d3935803123e902188ae6c8233881eb10c4940f4a6b4ed9944a8cddcad5963a0d752495a96fe3b5f3965d6734367cc5138d7bf9a4fa419b78159af009b25adb2aa66a83efb9180b8ae3913143d395a3eed134a3bd34b635276efc99b1f189ba312cbd8612cb86143b8190cffc5c2b0d10a3b7d67bc890e68db973d4ac29a5a619b534e94c95e4a3ea2899e788e952bae7c835db9ec4539c19ac57739969c16429eab43fd3d658aabeda75256a13c50e0ad25899066dc9f8ea0132f3c5ec07c7aad3cdb56ae9adcf492d2c8da054ad55e051287d6d47fd89b8f4094e91453c3b3bce6c1b36b0c14c38ad963a28674bdba0acfc380944441bd9517472636ae58a18bea59b5f8fd559371fb55467d454aed0647a6865a3a6fa51cbf57b9f67addaec570834b284b1694db161b89aab31f86052ecc4cf42d69819cb60aa6d6101256b0a7d3435965e06dfd4cd373c6cf30a8765ecd1b26211da1c542d63e7e7d55c05e868c170134a2ab0246387415c2e28f2359c61194f30bb722163f5fcf2fd3850c88da9cb37a6bbf5e065b05eba5aee4c346329967960c1dc9a90d1bce9ce2f28ec1c2fd4ba3ae0e9d13519b1c0f974a33906efbf2963631f80e3fd1c1cb5eb416b5a9c941dd584625509c55a1ad55ea3bcd617f988b1328d4692262c002bae8ad83100ad7a99e13a163c20826d6b260a1ea5d626bd067e4110ce282a806ff73d00dcf6d51a6dfd034bafd5546eb4895d79b9d7fa77946ae1ccb3e2fbefb93b8d6227d831523de176865b8e60862b4b52a690cee850422e9c1e8f7aae4dd4acf2b5bc641d17699a44bf8925b1c4ed83d9eb75a1a6726b83e956672d1c8f51539c200711adb147de1d165842b2d598f8ab67f17e504c1bdf466b958af7a6abec9118b101c56ace0c651e80cb557e84761a3ffa190dded6616f8ed9c9a76b7d84acb3c9aa95d19a356554a064e8deffce8e931541330b88a656c49e05ca8d6d69fba0b08f46568a46211f6c3a3c224a653caadaa82e94965235b30bf5ad311bbde43e6fda64c907ad6b9bdd6809c57ab9917b8e42b434a2b5897ad7a66cafb96bb0b4e22648c9c2b3621bd965bab4e9459873103ae8a8674a8c21fe6abba26aa6ca675b429563f55c4600f01699eccbf103e22194e00e01b243e63b1c4a0613c3550f3a44603951d6ab89c25844cc0c9a2fa09dd181143fea263753a73aebb8786b9258d52c65ee53d4cfd4fb9a8f2ae2834795a625c98730e1ea2083bbb0e1a7a65d21c7f53610944807066dceb4daa7756641414183b18853fd1bf5621214fdb7f1377cc8d68fa555cbabb59a4eb5d41b690d9faa13254569742793b2b452bc5c491c6f4d71e5c332c7169ee8764485245e23c630e1f468af24442187de9a16df40408f0247fd3d6d63d5895e6b56eb2f79f4d2a41acdc2a9962ab92ad99497dff132043dae0ad13789b23340a5ea059291838d90c45ff542d4b1ab185052e905551d0208b3d54cab434b0601657fab6d7528f5dca46a65afbf87b822ad4d8f89211ab426c63313c4b526d1e68ac026b029ca2e0c2700b082a2869613915f896569cce4d109cb9fe2da5eae1bc4288713575977df115f72af4755e26c0b8889e596739c1bb49670d077a18fdcd2d188b8d01cc30aa6e1489338b00062ecbba2e7a77d8c4ec0f01b54b3659070a92fc1d4af59a09af73132d3ba9d13cbc9b45153bb52533e535348d4343a6893f1bd2d9d040d2a3d82e6ba5bee7447547c463c2ca59886b3764d8813a77d675eee51c2a55e36a2200969c75d1fbed91ef3ad6f6276ad597ab56c6dcec463d514e75e6ae47f527bf210b07b2c917c655eda442dd2f03e16e1713965bf3a59bc814d3842443390a4c0d5947cd58991226a7a5ca562b5144b19a5bc1bd815f4a7a2b672fbf5104a55b1c8c9aed3dd8ebcc3e9f4fafda0b327fa519dc8946aa9b4964e9b8563645aaad64b2b6c502a92fb382a34d3f74e1eeb9a153fda8da12ea79515123c0da041f4bc52b4144e71c3cb2143a0398322cc8f9e6ac10af7f3f1e08370e73ba3fdca11ab4060cf7178f5abefe679ac2c2dcdd373fa0825d2e819d220342a559247464e6dfc426e0c293c5a193b0a5d7c98379057219a613bbbeb378903e7b0c3a91ce154de7575ddf96aa69535ce54a942689421a54816847660f1c9728aaa39286b95320ad56697ab99c884c296d62dd13118a8dc8d27eb39f476519ce319e5ddf2de479d66ac4ac742e08ab6ef6a8291d1104ad4c14b632930abaf61aa4d51232ead223e6266bcd1ece9116698362d6aee4bdc2ec861bec8b57dd7fe776df1f4d0fa06da44add59a4ed5dc63553065b55c3e2cadbbd8c342c955709c6953c5341d65e939680e41cca34cccbc8423b6588e425ade6ba24259596c04401b61b065c3d60e44fffbcfd9d91afb0526abdfbe77e8d3b5d8797f2b47ffe8f6d65f92d9ea176e6fed5afeb327198ecedb501f99279a791c3dbfb7b975486d356c6e1d36b70e9b5b87cdadc3e6d66173ebb0b975d8dc3a6c6e1d36b70e9b5b87cdadff499b5baf78f8babf3594c4d40762814c3ec70e9b6289ec83683df71dfa10300a250bd15c3095ee0ceeeebb4fb456e41c555890dbfbfbb096e74244d240e2682441801c960aeb717217137cf73bd720695b21f0bcc7a99c0849361792e7bd3c8de32037b6c8e46379daefd130ba7d99faaefb5dd4e870c6efc3c22048b8696fc237be83779e6bd0610e9b65b4de2fea71d467ec52d773fdeedae4495828fbf0aedc4dbcfee4dcdffb67df2cf3eefb5eec67dd9dfa52767d11c6112ae0ceabe33bd9b062575ec8a2febb853c5fd4cf917ceaeffc74b6f96aa6eff44b5b0ed10fd7756af322bbbc672b4b777b60b3be2d3fd9afad2c946ff7455448c8f0fba0d0c86b79fe8177fdc4382e04fe1d391fa279fe76ffed1c36a1c4ed4260ff21392e84f1d7b7fb6998c8d50e01601b645ec7bbaf83973d87cd02c95e7b8c3192df19f7be2efdddf1972558873957cbb3ed5c7048de5d27e3c7cf26df971558c7738e2592440a9951b9ac5b99ca916c515190936df79c4ef2c0d57746c1d7bec3522889f761cd5a5832dab25b5950caa0407120914c3ec9579e29c403b0c439cc16c998e044def67567edfb6ad4add551d76721229c10f575d8b3f65d463e176482c9712727973e9642747dae6d9b5050bff60cf9978af2627c7e8064bc316027a6917afa2b9946e617328d6dcb07a671601a07a671601a07a671601a07a671601a07a671601a07a671601a07a671601a7f9869bcc8f40fd28d45bfad3ec8c344e8e8c71f4f1bb700273a225a97424713f1367235ca94c41d928e4496baadec3572d5084b718c850bed12798e962297a7c29a8fe5d989de78494b461810ca97381a0b272a2a199de99b17f5cc677a34bff66307852c5a1dd6caa27e8e7493af7c872d0347dc2e043ec1ae1ee15cdcfa8ebe3dd3298b68ad9ca99e654a9d29919d9543662e6473c13995231ac153329d0b8a6d40cd5ed8d0316cd65e58e3a39cdc95130d3694ecb5dc51b42c594962154a47b2c84f65baf6eac95cbfd4bdb301a46cc0d161ae91b9a0acf1cc382c93e77d2071a9e71cd701a351cb343a2c27e37d575f94b532578202ed7d60b73226b2641094931d72f4c83fc9a795db1d3d75a5bfae749ee039da0631ca1e3b6c3617b28b7ce6d6b6a3926461cac9125b0602ff244499820556f25c230e849884855c76545341f574b3d88dc7a91ea8dc5058f773220e12fe86e222bb7006a90bd5256112e4b0f65c83b4732548de990b0e0b3aaa6dda3fffde9cf02fe54eef9facb9cb3cc85882eba89485e7bd2cd165c868edb35198c3237648ddca14e5840492d1b46ba59b5fae4121873e6081a7829a5f9fe7773f1664779a6be739b53df7df77d8429e196baf9d8f5dd9133defcaa7f969c478a64617ba336adbeef5e3d0b6f942e7dfd2a54aec81aa08738e0e727d3d370fd17d7f2f6339a1de1e4bc95bcbf9b52da81b13768f05be400e4bc25ca4d0991a4ef8fdcbb13bc931194796439a10901daac73b78ee8f64afe726df870137cfdddcffa2977f422863e7eb7e9b59ecbde15b1eae2714013d7a1a3d8f68f6e90ff08abdc9f90ead38bad08ae04c2bd28fcf1cf33b68c53391f85387738e9ecf0c2078669e681a8cd881571c78c581571c78c581571c78c581571c78c581571c78c581571c78c58157fc4fe6153b0d7ea1118b1d21bf1c8c9f3bf1bdf332fb8ef62816b07f65900ffbeb827cda77fd2416bf392af3897d6229967d1eb0f880c5072c3e60f1018b0f587cc0e203161fb0f880c5072c3e60f1018bffa763f1732dd7c89ec0e132ec1c49bf094ba37c87db09515904f5f8b848a7cd9ff305fdf7a70202ece8afc4ee8fbf12bb8ffec0069d279aa599279a1e0de07d00ef03781fc0fb00de07f03e80f701bc0fe07d00ef03781fc0fb00deffe3c1fbaf4b04c4122c70dd2e909b1d36373b684691291ab62df02672451ab91ab588caeefdb7bb03f02c8ade49dad2edc2f06706150aec35590ac4b5ef1a244c0eddce075928bb362c884242179290b94b7ce22a24ac59193962865c793d37591e49fa5a3e256f090abd823372406697cca4af9be1b79e4376dd2e96fe7937cc0985cc38701d85c592bd96336ee14aa3646ef665f00cd641c2ef7ce730ffa2afff3cbee30fa526791efda5510b4fbf8ef9e85a3e301f03f331301f03f331301f03f331301f03f331301f03f331301f03f331301f03f3f183ccc7af4a4cf292fe7871bd003185673c855ced75129373bee3170928ec08396c833baa81a77c49a46ef22193950453dc2798607cd758074c9780a2a3387a9ac4a0c39c6de4897c5027e3a87da73cd3089ea95dfee09bebc833f9be1f0e4b2ddc2e09c84ec8bbdcb911946083afd40c250b65d707df618b05d1cb9e4e4171988cd75d52867a1cc913aaa768665dc2902e29899dc33460949e6ed1d74a47a198634e96ae72e99259d017ca662d6758844247c15c128b20378e0397df22b34ff682dbf6b565bac410e75cb26a34cfdbf78e7737397bdbdfba5cb6e7bcba82f94e4292e96d620b12cbd2340a19a3bd1787b91e19e0f94c419d9385d44244fa7cccb3f0f7d1537d5eddae7d3f9cec64166ee5592bc76c2eb8d41ad7fdfb5bf986396cda71c075d70e3a98e9addce782f9bc97a76213025863813f048c46b575208974213ae1e12669c77bc953246f2d1770875c9e784c977bfb9c5ca30c924bdb1f6501823e5faf52f78933fa77b76d5b108deaf27353da1e4976975f584dc787931ca84586622c895b9444097658b29a5deaaaaf3992db796b90e5399ff0aca3e52c2c891476b549fbdbab7ab398784e3b16ec0cb96f527e659768449093fbb6cc05e532deb2649448e07701a3472168d7def44c59eeb0c0532b9727b2845a9950be6477759fe6e12989c8fa57538245c7a57d8b002c7a3feba73388d08c05e84f23f089a27e7ba247e0910534f8d90c22cf8f80a2d9eb9ea5d1df91418401d485fe7b6e3bf248d36fd07ff745cf7d7e83fefb46d181fe1be8bf81fe1be8bf81fe1be8bf81fe1be8bf81fe1be8bf81fe1be8bf81fefbbbe9bf0e08ff49e943da779ff21e7f1b8d9fcafc9e8c9ec0a29f3f81d1279af98d7da6c0083c8e9e7e1f1ebfee4362fef68c9ee089a601f3e649414fd413c532e7a2973ebf158ef37ed1018f0f787cc0e3031e1ff0f880c7073c3ee0f1018f0f787cc0e3031e1ff0f8bf031e3f63e63f1f967f34a6e3893afd2dff4e72cf6bb13346a79f9f1fbfbb57e6169c3f712dfa64b89fde2bd3a3f35fb857a66ffacf6e96e1ce387a3462e9279662a91f40e7e74eff003abf29fa2bd1f9c713c87a05d3afb3e7a6c46b347ec5d55740dd4fc7139e3e0ddf4b407d0b93fbd2175dd05ff620b2fffb85a2b9deba7b62d00aaf96ec35464faef965000cb2c8cbe67c10973c3d9fe7ce4bb7717b10c0ad07b80a99dda1476cc0c05a9658826fdf7193aa489ef175004ae2317a2c8bc61a997c1200b245ae7208bab3d16fe202933e0e4996b43848f8a4fd2d60e00e095d3c54e049648724386aebf0446abd48b832c80db212d8af619deddaf7fbaeda9f25cf18650046517b1d3830ee0e15939e2ff14348e0c94ad2b6d8d54a9cc3edaaef4fa077879ee9d1e91cf9c635e32ec62c6cd6fb05b83b873e27fb459d6d6549a1b1d0cac28e3c20eee49942028703ad8c7ca9bd17130f6c23d46d9becdbe83ba3d3e14f37b292c4aeaf58e019df39f671580cbf0f723df20bd86081cf7d8725f2ccd8cbb3d336ca198a839c6c03691af90e9b0680ee0eae3a6d0fadcfdb43c37a14e98e91f96e2b17360ea423bb10daf6914696e0c873e843172b79273bcc28259e192448f83864c8ce03711d00768f5d6dbb32bb38390abbcaae3bd44a9a469ed88e375d8600468b845750729e23b7fd34f6a81d979ca3e4194fc21cedc39c8a3c876565496c560e9bfa33651fe41c1dd69718cdb64d5b7946f6d8e453cf1945211073e41cd957f23ebdc313f80d720913304a264ba80e00f54ae60b818f5bf99efb21cf9418d73cf09c23dd6d9175580a3962264b5cfeaa7fd17a2ed76a647587b41d22e4c6c463e03945178f0a8384c94dfbf330f224f610987c19141ae539c7ad271ca295c3d1a7395fe37e5e9461fd625d6c03a07563264b0adb8e1772341ab7eba1e6a3a0e02b79a6d0d772e3b67ebb8b972be00e4ba45daffd9c92e02894b8a693d54c21c8e449901b8700901d9ea93b215a47b2b08e3c818b4eebf5fabbd0ae47b96b6f98dcb66f349785f157591aef7d09c6c1cc582f1885784edb67d884601cc14eee708766fcdeef0e77eb62fae276ec2ee56a7e8d1c718ba5e8bc665ebf171cdbf5ba43aed67802dff511396c164a5cd9aef16e8d49d3289008e80e2d63d4e8fcac2c696be4689bb36ceeef87753fafbcfc7c48a1d67487e939a3739f9330e79810b4f359a464b1fae6417d6fca82a6d673b39f734e17cb3c7e5cd4dc69dce27dc8e88fcbc978a40adc5916fb6b5f343c175a3d775d03d8d5882cf1297695add71f4417d953ce82d2b8db267e3edcb0d57daff5cd753c96d17aee497c177b19026e8bf4b27ba72cd09e2cf29f6d5a8f168e1e29cc36f125b80da4e764998c130cb83a90f4e48b1946eeb89d3bb4ac50d758503c230764ad23cfe50f814452af5fc77bbfd0f641f2e219b27048b64cc647a5e6432119470b3b2a746057e1e960c4656b1f248e4602dd1f4a29d097c315ef9f39d78b24081679b56bebc5b9bdbbc63ddfd5ed6a07e46800b94ad3caa66dc7221d17b27898cb02ffad71eee476596f398c51bb2e5dad39e9f3addf8e413fbf6fd75a3f7662b5c739ac03898b91401fc29ca390d38fcf0bdbc36006d7ec2e94e8af61ddc76c5f63ebb977df719e6b18906d708df9cde4192ebb75368d6d288e23cd1a37b2a891b040a507ec083a6c8c73b10c24310924185dca9b7ca48363d9c5b84385e099c27a42b76e33e4ca91ef786fe807bed56719720d12e6ad7d825967c32485c812d7ca7c1b003143ddc19c4a1c02d8eadb5d6b2b91c957c8a1f76191b5f28a11b0fb98fbcb2191c77dc08cdb71de7a6ed6eaaf543e1d0cd9daa47e5cc87b3e496f3367ad4defe2f703ecb0adfdede2e85d33da2d982ef67edfdfeffc8c53fde24e16abb29de78851e2533f5f3dd7db0f5c9fe6fdce2fd47291f07c201d22af7d1f1847286ffda11b9fa08ff78f9044ea761c03a6d5f9628dccce3eb4ba3df2a46eaf4113802311f2cea674750b391f79e35f1e0f7d761f9302af8ebfa5dff9227b2975c67bcc23f357c2bde75f07f7ba960f686f407bff23d1de65215ec19ec2c0d6f96bf04c293d462f9687f5fc9c63769177ce61dd1aa7cfe6c9e17fe1888e6f36d274a7ea46b244725988e29b0d36bd913e9f206cf24fad61962f9ba94691dd3af70e6990c9d6c8e914f13ac821234ffb8d5773012f83fa6cecf993b1e75b65485a638a84b09c5bad73c873edbb6feade06206cc1481ed471740673672728cc618a9cd699d21f65c1783289f6d94ad84e16418e4b5464eb77fbe1d2d1a9ce4b3fba365f0081bd9eb7800d705b9cdb1d78f37398b672fa6c8d7a5909e36e930b6c1d7287a3b1107f9127d4ff92afcfad57359f79ae1177cece395f4f7e0b3cf51d9244ca33796e6e1e5ac37d38cba2fdf78bb59dff49ca9fac439f7c57f95f4a9d953ffbfc972a7feed729ffaee583f21f94ffff48e57f5988374c5ff142f927adf2ef101fa3df300563ae53482e2cc3dc5e2b54ab78bbe3caf72817e3b06e11085d6387a57c87264a9d3d09798bf834aaf7b23be3d1314fbeab90b910ee16e0cadcbd283fe5962e65883a346479425d8f5b37a3024930c65254cccdf8499ec19d07441a819832dc38452e4ff5288da7c202127946956d5fae7d883ba3b510f806b90a6891c94509dfd439179fef9573dd22a95ee16a642e649df1fa62664f1d332275edde0792bd0b24ae984be379c76ccc3ae444c2845f7baedaed720d5b64208ce602b947eb1a1de6870e917748bd3f06ff6ce45a044fddb11a8f42f43bd078875cc73f8fc85f3ef70295f788f9e791f9fd733f84ceefdbf12e423f862707e39b285d16f8ce80f763f94b93e6dfaebad20f333f5afdd645307dd350be2879895e7dfc7e12b95f672c1fa95f672cbb96ff0163f9d819cb37cfbe1b8ce5602cff6463f962315e0d666f18949de7d0444ed7919cf76860e15c521b248b4eb92917c5d4954bc73bd51c1de4a45362099260e3314a19ce3a65db296b2be73264b25fc39a9f74caf3f4c9ed266dc2f9dd5bdfd14850687d1b32f1e039da1a9954bd48c7e7323572f97d08484f17a5eb8b51938b2e1545572702843ab5a97da63544dd7db9356e336adb29d2424bc39c1cf04c4d96c919bd8d93538a88c7561edd67bad93d3536ce95847ff1db1bf4d7a9bde348ce8f7b0f88db5eae6c97bea057dc87ae5c6f782ff20386040fad51440e9bfa0e6c5ef431fbb693721993e432266dff5f20bcb0a61b246d3b79b8e974a70a2fca66c81129bfefff4a3547c7abec3b99d1a104eb1b19ad34617458a4f24d19233e8f839bea3bd55277aa20f728b6a0fe2cd456adb6d5b70d5157e26f4d67f0485fec1018d2190cdb2786ed13c3f68961fbc4b07d62d83e316c9f18b64f0cdb2786ed13c3f68961fbc4b07de22f24843a50fc17eca168ebe91669b4f13bd8f2fde09a17652f5b2aa811f553ccf1bbf90e7e8c3906bf704b45d7f4bf843afefb131e0cd4f17fa2a6b85fc1df8eb7f9a59f5c6797e4b7779f5d71835d9e845d8264bd985bdbf9773fd32661b93c945d60e13908f2feb32c96c403325f94bb6351effa72bf69c2d532bfe680dabde32a0b9be189d73ddbc5b2dc7ee62b3c605761fb3b8348586865004645c7aace3a66fb5116708a4cba4b16abd45dc06e8926eb4801fde7cbd3bd266060ed814bf9f3752114d49310f50999e702565e0475a6ebc897c41d928e24acf9b8db7021914b00aa521f222c8cb9cf27a6fc873e410be3080bec2190c4dd7c326de5d07f7eeee40c1b2cc4e767ca13fb1ec96d79a66d5fb857eaecc44a8fa345a19120d7d7ab9aafbaa07807935666a7cfc2853ca36edfd120575ff7b2664b241c228536449bd62b0322d1227ad58ecb3be5cff2daca02fe76e0fb4bd6bfea59f177dfdb8ddb421817fde760147bae7afb29f8bde72e73a47d563547871772e962d9608a85a85627e3db779c9220ebebdbcfe27dd2e2702b0bdcd71070bbc5cb77ed9010ad91ab9c9282ab651fb7b5bd9491059e5ae4a7f83509d6617288148add9f9389776bf6d28671b4a89f23fdb431e826a971847371dbce0179d6adffb782a90f61ce65d8d14878fefad1fdf7bc9745b8f30057054e1f4ad0073e1fcb20b7fb0d00b9b8f51d23c6927d09346e65ecb9069125d27daeef9e95c47e13cb5d7bb1c0b6eb3a0e84b895c1cecbb96c65b25dbcda22a749c87401daddfc40ce711bd4e1656e77ffcdf41dea936ebf90c57b6117fd3354ff8e19b59567db2890b86299f0b9e71c5bbdca5d3fe9ff6941cf9d826f7deceffa66e74267a7ec91fd6ee8db8f7d44f9be4f46b3cff42ff4c9ba96ff818f2834786459eead23e1fefd3ea20c2ed97fa44b765e8c3fe68b751b1fef7d977ab47be96b196ff95994d7f91db761702f7d9e7b1fcaebe2928d3e546aa6562130360bc63b76efe8cffa148342a3c34e6fc771afcb5f6ece6cf57cabaf5bdbdad6871c7117ccb2088398b436c23b6d5ef3cc6e3363798da31ecd7b7b1c15d0614b3cf939ffe6b5dff2bc97a7d3936db9c65adf6eacf11d7d7bf2d5ce0766ecb1aba4c8e4dbbec5b24497414e2aec50bb733c772be7177212c6dcbd5c17a7688cb970b6d5ad4f1315700a2d28d022cce0120ad4e1c6a7d975a167dd187055eb239c36beeeeec66477e7b3eccea16ef3eff83e571fa4b78bf3d66639b009815820abf549631248c7bd52f7b6abdbb4563f47a6c3820054e4b4e9e9d6de7707939ceedf8de5a11defd203511482788f9d63d68528ba3c096606e9376dc57beceae7c33a76a731dcfb757c3a68637b27e7c3d9c63ec912d9a1fcf9f13eec519e51d117333bd9e51b9b5e74b6fa97dbe18e56fff691ac3df1fe0743181e5bf302989f0f61688d2ffbf76680bcb593a3d6fa328f8f3f627d4f7dfe11eb7b2d3a84300c210c4308c310c23084300c210c4308c310c23084300c210c4308c310c2308430fc5bb0609d0eff336317ba09ffbbb33f029a1afd55b438a028f00bb33ff64d1f78f18117ff9fa711fe9fcbfdf83ae795b19725d27d22edf2159e725f1914b44fb9ba748bd6ec6b4885d12c12defe891c892f7317822ec7e2f90ce93eff9fc9d79e1b9e3ef3da3b794af22ea7a12bbf786f28c11ae55c1db8eaefcf8b28891912be9113b1cb23794f371f4e14bd42f00cd641c2c7b2c4eb61ce55beab114f18cd85444de5e969f3de3517613747740751a8edcb2517225bc812bf0b252af21db6c192b80da4f1cbf6167077ce8b792b8313bdbe5d997cb232dfcca3d8e54b3c95ebf231f6bbf1153a288c3270ecf31c20ab19bf0ffb73a96be4dceeae379a2e8fe329cfe0bb39055f8f5147a5cf133e5a809878ce91f205ae468e98f97daebe77f327b673e05aee8dfc84afdf7bcd21f7ad5c8ad23537a22c9d9fe5535f82a97f38cb868fc35cacba5c6c7d2801f09dee3ce86be6819b31b89583e7769f754000b4f826af5b3b3f26e754359ec0efbdbccfadd6a7d211cb20eff254ca5034f4db70a52e4d0fa354e7cda1a7bc665fc34379ab17d6a7b3a2cd732ed3b9d4876dac66fd79dfb2c09f4391b60108a3cfe66dea9ce31e355d99dbd44037bf77e7a63be75092532a9d77cad2044bf11e09d953f7d9ab5f3baffa153890f2252e9385781fe447569e62110a7c3b4627fda2d1613b1fbb0c11d9fbf5156d7f15766e6dbb4f44ddd9db6d1d45168592587b4edb1e58b76310e67614ce943dce4976ce59e999fccc80fa35ac68bc8e64e9b84775ab8bd0fe468ea7508e53bffafb71bb5e4f7dbce4919525658f66d925cfe62983c5e5f776ee0612572cf2eed3d16d3aa5538e40a539f7a75ddb671ddcae01d4f7a5e936419ff20df6392b7b7b2414d48b5c8b43fece7f93fc9dd237e4306ed7f4782e90d33cbad17b7d1ec55b9d75ed4f58f374abaf1d70cd0fb970f93a600cd2eb2616cfbb7af9a61d3fcc606691b387c0299b45aeed03933b788eb6f11c4c16efbe63549eecfeab7ccb189056779ef2288f6975a2467617a6445264f230c845e03964eb39ca1639e373f95e174aa4939d9d432a2c48d4ebe24edf966fe7436efd0ba35bcb814376ed9c6dc7bb9dc7018348981ff75ea7a30f91978bdd9ceefc9b6e3ed02470b87a65b6f2120b749a9be7791348dc3e14f80c39c778659e6cb768b4be4d6b47bb71b9b7bbad1ee95397f165906b5bdcb6bdd5f36245073939854118782e8cf6fd6772aebbdffa66e7b5d1ce5da7b579122cc25c3cf983af9ebbcb9f79f2e5a6626bb3a3ced7eb725e77a109ad1fd8d9a7fe593ef35da51dc72e37a8e72abddd4f46f32e07e6f593f5bccf8fdc856e9cf4c7afcffe7262407f57764c7a44733f8787d90eef3dff4e3cfc0bd363f64dff6bf0f0a9d33f8287af45073c3ce0e1f7f0f01bd93117f5faab908cbf5e73b0a89d2a7b23b57ee7caf565f983e72a7160f24ffad9dd99513759295bb37071b5a200285f91d345899dddaceebd9d3a3fb943d748f03e1b645bcfe26db778865cfd7556ce2b7c3b67df6cdf57af5a537e75c9fa7be629c789c4c681633fdeb47577723777410b19ba725dae922e4a6d9eb4b0691d9937d1632d24085af3ebdcb8fcbdfbd195d54ff0439e5517c8f0e5c65def52ec5fe5f61e94e8ccc0fd1107b264c4589ab6f5ec85fcd6bc9ec612f2ad5bf223b24a0260b02f3370766eeff6f47b970fe88ddf7b39e95db472978953489ebfcea3750be7f82039c9e3d49e1e1adfd22578ed3bdafa9412bf79075e7472bc408c17c71abc35c7fa23258202ed7d00cfef8c7bf8c1d7be23526d7be7c9ad1c2ff987767fe3fc3eb5d97e23e3ec757ebe801ad31bb99eea5166d5bb50efcb0dacf14e11e72dc4ba854517394f28eeb3392e7ab8139697c8ffebdc39af47bddba57103514fd1eb11ea23d64bf4228b2edb42f17500f4e8b34571b2805bc856bc9535f71ca56900f8adf7bf7a6e55f30d96440abbda2400065926634ab3a65b79a6515e5b86ba44ee3fca027ee9da9a3d656149b0f09c4364e7300e5b885187d1977306de82ba9de7a7233fec0849dc4e69e1700e0912f83828b22800de8b7970470144a850f6417f8c4737cf6fe6d8e9c80c3645e6f9c80c3a5e997ceab72e2ee87738f8920890f9dac5eee6b1447638e7369d7bddbbeb5977344a01d3760cdbfb6fc3eb51647470f742016ebbf7bd415921373eb473bf7797a169097c83db352d89cdb2954f2fa32b34eba981d7b069c2753ae6b36b9408c0baadef7e2d868c51b773fd8bd9eba37e6d8f935e57cb6ff6e5fd7506a777b258afeaf37ba933cd729953deb48f629505e3a9abcfa5626fb29d7fd1dfcd267d5ecf4f7f8aebfd3b73138fbe7f0ed9aff4bc7f616ee2d1cf1e433638de83e3fd6fe2780f9989ffed3313f7dfc4b8facc1dbecd45def18f0cac03615c3942cf3bfb33830a27ebfd02f4df8a7c896bf0643d5227d1e133e8c00687255220579e0b795ff70246274e795c21615cacea9be49b456f0ce5822abec9390ae3ca14700f301c965ab8a76dc2927808a563e9819e8f5a80b209c0a810f271b93c94dd768c3fc5389d928bfe57ab9e7f3c31f04df14b2afdd123fdfc7306ebbd3d0d3f64b0985f981ff8d4f6774c164d835f6bb4fef67d0d83d1facf325aaf57e5b7d20477daa9ba6cac4be4536add4b0283eeeb8b2adca691555a4db6e94e83822fca1daf297e7bcb15d6f2a33c336aecd8fd7b738384ad36965a6b444ebf9f37a72be33087992f89d402749beb2bbf50abab45ba2dfbba8da8854a33982c7365df6d8c772f511d6fa7da0546a659f211a51ed0d2f141b5e244cb754a9bc834723c5695944c4dc54ccba78d9a4f472a5052cfb1af69728571d2c3c02e8d6ee1bbc61a3bf2a39773adb6aeae5f27b8dc73c466e194cdc2bd7cf17ff91e0982763cf04ca1d199e6eafa78f622eed2087f372db0bc6bc7ec9a16f8544f2e365822f9ca3ca5074e46c797e983fb72d7af397ad70f2cc1130c7b27ad70df9e63379e82b2d29211dbfe7eb339fe44439c52370be344ef365ac266015a6f80ab174e67696f5339bf91ae7aba6beb7ed1dee27c280dccae73baffda16e6b0f03bb898ed82826fe7d32e60946241f15d3287b0e6d2001cf76142776b6251537b0f70db8091ab1e9e52c74557274b2166fd62cccec9237cd7607babafad3dcb3eaa095d8749f5d97609ef17f123b2f00cd1b8b68138c70cc94c51a34c2796434bd96292357ac64dd48cfeaa51d56e95658c33dd1ea01b1ee194fb8ca6191b4c8dbde794a24734d792084280db6b9277b453fb885cc54079acdb16c5bd90496e109c5cd6de2bd97b8ed27ab0b1c7e855eb85a1d6bbacbfbdbed46474b81bf3a49d97013802e4e85d99ce939aa9adb7532307972df45f9997d300f7611eeedfaefbb95a003169cb7b8e462d9ce31e015c0679589deadd61093fbeece3f9ab1da14ef3b9f1a529ad5a72b5001cbf74d78c59688fe19494017806668a323d0d594b441051eb06d97ae331f14677e84c07158034b6e674c66291a774fbd8a8aea28636477cea081d11268e2b6a6a8e8425346cb3e14b2f1359272be7163ddeebd494fb6ccadb9b799b21d74bcedef589eae2ae29c5c5affdf8bc2f6fad5d9bc9a8f9c3731db47575f2fd8a130a2cd269bd48d59f92a736dd1e3c6adb5813711d32e266e9c68a972a8f4b17350b3a86739a9f9964cdda53f66012656a370459b3b2b272c3d3f2b28284cf3d87563131e661cac7c654a443c0ca2b5b93ad06697e516e7d4a6c10631cc309a190fd6d79decdc11ef1b8ea9dee68fb84e290d12b2441120af42929c84987d5ad0e9bdeebb0dc73dbf957f63a9c31622f3f92452bd79cec1078a13befd743fb7c9f94c5d5525f829567d254988b9d0e43e7e78411f546bd749867ed985dd3ae27a3ba4b77df276de1fe7fdebead4b4ddffbfb053d37046456bdac4a409438841c207740fc0f4240aa8c02affe59a2d3cea9e3d8afeb77375aea0e3bc93eefcffee40c3da77ad19cf65d844f57e4a6f7fc41ceffdb597a4df3b00cc65952a17a19ba4ae86cb424673acb0a57ebcd9bfd7bc9a0d7d22986774cf52cf302cda01444d2502e067e9f5872e3d3268c48d179859ba5bdd7f132bd51b6997d1c805e3ac3b4ca2b7c19f8fcdff5c90b5f0c6c26279d76d2236fd7d1a0e9a83be9925beedd8a0927ae5c946a692b4be6af6d44a4ce70aa8d3acf6ac452f7b475313ac6335512bb6e7dee1ad170d732e419fe8e14c71d216aeef7d948b0ccf18a6294c22740ca719630ec908a1d12ca182e0a439488c5c59dee5df1b97e1df8a946179dfa9ace890f2f76003a24832cf4dfda325fdf852ed233f39d8db49125eb52fdc56e999f6c96676ffae6fd3a11a243e20825ce72e1d524dbd39956275d65fea9d81977a21b676989b6eb6090a903dd25b16e3df7bb48afa7248725a1592148b642a13b17a11ac5e1240f34f90b53ebb6731fba5d1416cdc92e9736ebfe67bca8dc6c1d8032e6ad26c2f92013de7dd778c14d3abc5d86279b9609c95d9d59e848a8a711869074e607a421264a5310a2fddd86f6cfdfffdf6f5bdabd4c856fea61ecc55776ce209fef60e784c84c4ab48b43ffcc93dff4b5e3f22477a6dfb529ad663da3062fa37e359b9868967589ee9adc6ebc7581e358c71eedd1ee46fb434b7450471de89341375ee1497027db2fc48784ab7c19a2bde0ec38c8c9f7dfdd789710b1ba256f5644afad94c22d3226230f6621298a1d8270b32ec735dd8c9f99ddcc7d265792fb9d0cc57350418067d6613d6319d218e60558b0d9641219751bf4139ce4919180e2c020c61e6d378c3659acea633a43ee2ac4f8f1c6f327437c8874f89c9467ddf3c5ddd496797497bbf99ae699d74c1ba290a5794836da85ce4dbecd916919f48b7abbe2ee8e726671a87e79d4f4bcc29d72ce2266432fd6dd200e8b9ea8ad210b33f0b8db2243846b2bf35770be8b296ab0a3a6be81413c737d42eb9ae9ad93d86ac76dab4d67138f31263c800bd97fe9dbbce3d1ebb8c3fe8d4f1be95996fcf68f3fb1878667da7a199e6d3eaffb6daf814fecb593effd2c5ef9d16f46e8bc3c73d67dbd0c27c7c470b52bfaaf4b0cd42f39ec8411fd65bccf8b1f3fee92000c250997dfec9639fde437b32cedc065402ed826fa78f7e2a37f72a74f6bde0a67dec4b6eaa53daed21236275bf8f5bad1f4038d22dd80edc92e4a74d9455c6b529b75913ec46d06db27d1dd5f7fd6f95eeffcfc1d874a6dd8a53aeb5ed13c0eefb5f9f0bc79a211f3373642ff218ec1e1f350591b4e32693fbd7ef663cc83abe798833a35fc3fbcdf7cf29c3e6a92929d7cd4938c536f63221fcec9312d99269da2892aa59d6da5d36fd367affbf8dba9e31e84e1aad4f0be7cafb464832c4c2bf1c79ff93c26d38910d7093fdb037fe5ff1093629701c3e9857674e6d3d776d7ab128c33b0a99882b3febf6a7b0f67bbbb83edfdd51a06dd2b4b582736dc24f665a623f79bb3bda4fa8bbee96ed2372c0bf90c3df259f698549189b416c5ddb89450987ea936a9250d4e58b682a891611653a756c4c8da246430656c4634cde405dd49aa323c839c145b40b9a933e2321ab25e966019550c7954042b0843ac8baff5cdf76386ef6db3b772e6ca5ecb521daee82e7db06d823be8ae4ad4c9392e34d05d92e8194d47ed6d7641ad780959d03536d2006000add80cf1c0167be9a01db5ea383020170c873484539f60826d68255a9b5132d94739a344979e60907ad485926734606c153034c3167238410fb152262b01a6c41f09ad99dc6d9f061fe34b595d08ee02d1bd1ee3f6e199219e91fef91dfd5d5cf69dcd387481a9a444f5e7f114aca28a551fd7fb49fc6afa993cfcd73b7ea67bb26184cd3692a7cde5f73ffa14d7ce4438113e550f82b98795b5d503308111dd1e99928ff18cf9ebb2d9c86e1c88108375c9b658d30ccadc80cfd856105c522b1b79955b041a987a39d505cf16bede440b9005946b2d2a594c1ce811e58da8423187b5f1ee4c5cb163bee15f9fdfb1f9adcb37675ebf7de6e50eff7c678b5ef4d8e7bffbfe3e0f318b0ffaf71fedffe42c8f9bb4d32ebffbc1f6fcca2f1c6222a92677d479dab1b246d206135480c8cbe5c127d8f60b018925665c6d35dae328e5cc21209bc93c1a49e8efe272decb727fa095ca02207d0f4e6860a850dac0a39a768c364d2620a338149bb4873ee670ee55e9bb98c8dfedfdcb9dfacde7fffbc40f58dbeaf0c13efd24dfb60aeea21b47311f9fe35161562786d7bcfcf66d7254fc12ba06482882c06ab7eb69734835daadedb18a41617816dcfaccdd79baa5c776b35af4c84d7af82bea7f1ee30ab7924a7d0dd53ed0db1e2bb64d18836c36e128c40a1528e745612436d23da51a94c3262eb27bc9d132d1db7d62a4cd905b3c77e2f42ff6070a46ed79b4e55ff76b13f1364b4a74b2299a28c479fcbff2954bb81fca48b9df241c6a913ec45b3f598f7689e57c3f9e107397d2f2e417cc8d5837152ef7bad0f65a528c8398c0919cb9f96df104374b75aaa3e969fd57f9d3bfd30bffca9f5e906888d50fe7fbf5e7934dd7dd6a2b008f125c7b0a3e7aa1d2642143ac6413e96615683f0e4bad8e7c068160b52e35b694765d512a10b26b37e8273b1634a6b44099daadb7b2b7bb24674d6a4c1e4559cfa53e9e886e6fae79b6419a6bf8346bbc5e5437c610366909731100b5762643dcfdccd3ebf9d23bd8639fd11ecee327df37175fe846feab99649339b64495165984b4a74e16cc5df66c943adb23326a1258f3a307f15172d9c63610128a86d01f3a22d628a108d0021c0850766263e897c7a3e8ad11325899187511d1ac625a93732a3628872dd6d5bd64cce732e2ef765b9ee8661e85c3bd3efe1ef97b35c68db6116f7757eceffe4e71dd3cb6e13e1eecef33dd5b733bc39e126c79da5c677aa479b479e4ccb585831e128a5b42919312c6d9660c0885532f4ffba0505e427fec3cbd9e24f6d388cf708b1d5c485bce688ecab58337c46268add0c8cb5d2cecec19db68212bda49024b56c9afefd40df6f739af85b4f5d0d5f9dbc6feccc7fe1ddf493b7089f95c9eefcecf7f5507f121e6f4b55df03e16f56fb2f30dcd618ff77100b4c18726838d006ecd5521002bafa83b11fe6c69f76347098291ce6a5e611c69d86746b6f54331955d036919b51e893a99e33ee6cd22adc4212ec01c573092b30c074c6c2392b1c47a32d35232cf7215031353c2adb904f8818770cfc2f776d9bfe688cf79a75771b1cf62792f2d5e4d14a23ee6f2f9124fd1063bf6433ce5922fee801173fc671cf77b3bfdf3f37048ca6b7530f3935cbf837d88f6896e5eea5e06bacd2596f9fd5c0d4dfb156d9f3dde9481fd6387616d50ea0a9f9a76a2a13a8056bb9adda4e7fe52d774851f7789257d3604e87c3f3e7eaf9d63691f7d98afe2e73d875830c0ec483121fa14449bbde15130471adc060e827e8f6b5fc7fbb51d69ac57e5496ed3d2ade39918510d3f4ada766b2637bec1a6bc9a28d2c39a38ae8642463d2e2d8f8bbd9f7b235a669c0231bd521bf4fdf839aff5f3bb8c2e35241fe4e01fdf66eafebf4f7d9893be0a597dd143ff6f7589597c7d1fcef558438b55c9baabf9bba12ee31e32f23ddde11cbccf515fea936e939554b9d007933ece652d83f128cad921002a4f3531a7c6e4880bf339d5b70744dc47a67010e8736dad7e824437230984ed19354f38a08966e644178edf35335ae0a328f60746e808d90289de1bf1229b4594ed0370af7a9af7b57a3f37ff77b631b52bb6cbad357eda1deef26b9a275bf56dad1f39d3b9cd46c58feb60dffb210b3dddeaa4666e7891b99282388538177aed48dab2a5c1a6643a065189629cab476ebb56d267a5c8f1e3ca513c9db1a9c8274a286f24293b70fe03a404dbeb992c38518f024087db729202f8b58dfa99ecfc24e7f4751dc0c957faeff6e27bbaaf6b2953831d8716bbe9a59eb2bb4966b631757fc5c6644368fbb8d4320fe599b9d0db2d72ace352fbd11256db71ee067c26a2a5d634845bfd42970b3c430f0b208d80c0785de0f93a447a4a3387f6a8a133d1ac4bd38ff4e6c86d6078dc74571c2de24a05e2eb9ce35f6494fbde8efc84d7fe5d6cf381d795f7e74c575e339ce51beb24a3a06129c35b6437152fd303d55b47966273e2556acb401239f1197c4c386869912d922adb5255bbbed6d88cf9a6c7dd8e95d98a543e58590831404deaa06954453db5f08c2b368f9418498aeb60e636d2fabe1c4a8c738752c48f5fc41dd021e16e9d94ac38d7e8b12cb952277ef6c99eeea11f9aa81c50709ad3bf0b0e9bcb99fff8fd39c734ba49d65081498e112d05084a3617b9ccfdd29d125adbdcce9654c3eda277773e859d5fb60d2d5c3d32848d099bfa399cf3a2892444b6cf9015db78bfced50301ca58db4fa3c4c245529d7ce7b15a767b10e9f88039be97ef7446f1e1eff6e4641304dfd2f74d6a8f9f878e28ce9a38c4973cd5159df13e9ffaaf3a239c1c9261c00c5009579ab459f7b2af9facab39c7b36ebb77b4f4fb54a73aa5f35daafd6899235b5ed67d04602743f788d9c415c58fe3d2502251a84e728197866b793a7894219e4bc53aff642f566ce31973d373d82ada3404333495941e2953073f2f8e9ce3320a714fcbaf7da54fef55893239c4337e5ee1fdcf8fbd06ffcafb3f342fb2ed4f9c6449ce746ea8b1eb02bded3ce21d985e9762c61e93025811af81e821f34b1c788677ab9c3fc4ba5257e4fcf14e39d03cd1c7bbf8b7ed32fcdd5cea876f3a6fbc921d2e1b27a832467304033e8ea4f563b76602a25cc12897cbc456a3a884ca67b2f4159cae42c153cd7c5eea3f763c4cf51597530610c1d67ee4e56c4ba959904d63e03c7bc0b42d3d1ddba43c1e6223dbb12bf5db9f9e37bda905afb3f44a5dfc27b536ff2abf87bd8c4bf872bfff7c2667fffa36790d8c850e8b48170fd4c9726a3377d14fc2c411415acd0f9ede3aacf8718c0adf400c8df82c1a7904e66b88b61e939bb5f364ac613dc5dabe154c68d88ef4542f46699976899d3d335ef7ac68112e401929d795a1bcdd36345cb50c9916f36313ffcfea33d0212d693320a24e419d9efde977df5d7218dff6a5ad46da51cba8aa52ae745c59ad08a1b6861025162c186396d4e18d398cf7f5575779730f7df39ae670cfd372dc0f355ba5d4ffa91632641356d24354ca5560b7be803f5b56508deafbe3caa1666ac105d27fb4ebe958630a6a7c961a6cc61e123b13b1c30c02a4c6cac6f70ba60536d671cef294f82356d5cad7521013f840725c50ee8d52477a3c74dfe7b7af9dc34270a87d238ff63ed6fa4ff7fcd2057fe2ed85eec507b9215fe673d846004e918e778962362e584e6cd970c22cacbb4e6464d56330ffa02f2eb50ad77b33827b9ca58f3512e71e97db6c13029e46dc813eea7eb4115179ca9b110fd36ecdb23eed2d20f2b94e8a26f4ab89c5212cbce91804dd78491d58509e8d2235c956a4d062db7c884b043d255a1a4eac546f4b44a8e1e5280fc084114d928402e1e9f78ae382fe552cf04a2d135622fcd98810828b7f712db678873eac37342fe7911d97fcf44e703fe89ce9a8bfad0e0d1d538ef7c87adac546a1215a987ea5cca0c291b4d96342d42ca2aaa336780ed8a4217ad6c55ae310a5424171e51b62b1b2eb156762c6ec7a163b59882cd16283c549d1ce7d8af395c596b40011da343361887be5ccd449c645439c1ce6f2550d23ea46e043bd6be8354267da922b4d846e26ed71f7a696f6433da9bac854d69c63c8aff371fefbb8659d76432dad5af2f1e6dcb3fbfaf90fb980d3f32779a3d66f9ea31f9fd3619796d07c5d7b893ed4e8bed03ce9c1efe520629d996f9ffd5077faf2ecf3f7f215e7fead746a1ed372ac25c68044f12cca3613bf6b513ff1b14e7752578508401edbf03929d9fecfbefcfc5837549da1e396dc3dac6d36a0dcc61cd4d256ba7853ebf6e17d8cd856793c1df26b7bc12f5074af69bde7eb0bad01558315a7f3f06a2fda4b5dd357b51fc3fd4c38eb847e2d6679e9d7bb8b8c983422742b31f417bdfeac69cb932cba2ddf60073962422b34a1a9fd024ce6bcd480a737cfa9c108ae2670a19b906aa0439aa6c95ce1489753043cddd39a5fcb5e842905355670915aee9487db963afe0ee562c3ab89ef01cb208e529e353eac28f0038d15b7c6ce84cdca989bea8c783c5169853fa93dfc34467c1f995caa671180d3b93f8ad0d5627eeedffbcbba2eb50db7f5cf7a1a688552cb3877f7c4a90bc250b982b5cb0b7a609b269661b1f34b69a1326a518ed5cada77b29785d0cd63a0c1ce2fb04a0b29524bd350a104e7e857523605b54c14abc96e452d9d1562ba9aee7baa357b0eef15efff2d9b762254fd9bfb46e65fc6715ef827fe47f5527fe85deecd2506777bef99125ee93ec81287c2726ba2319c38139b16324633d68b6a72bcb1f7ecf378d8ff8627fb28544a4c412f07b84eed6277bc5fcfed35649e5177b10db275e8efbc1e42df38e95b7444b6cad3a27e5cdbd98d3d69f8206d5525e5b8bb86f571c623f9ef3100618fb5936e1cfce2e1cebffa4c7ede1e0360ccc19a0c8542990c591f31b1f0bbfd4894922f3493cbc28d620dd184091d1968874af3101738e6950004b01506ccf460bd43901d03082d54302b56de31ae2653a9a3896f8839b2d94154c25c176e4e0bfcb5eff57d7bac19e04fcf7586af7ba4aee4f5d8c9cefa8ddbf08d5c93b1cca3ffbe6fa1d7bcc291389de977f6a4f642eb26398dabf968c5dd4792a310578ac58441594015107f44190ef96c325973b6c3baf47c92cd17bab743bad88802ed824a060cb888d8fec8075009cb846b5a83042811db40c321142be21e85819547c524b6dc7decdccbf761fd32c487bfd853dd6738077fa035c1e98e175ff7a665d95b1bdafbd03716855e931aaa89caf1feedb31f689fece76162ceb967e7f53a3fd4147c666b7f5683f5c736e6669fda6f6c78e3cbe7ef6e4bbfd4febcb5a587de2ace9ec5f44bdebcf4603d9f7177c6433fd3b2c2a77deda50d3bf9eeff7fa983ffe2375dcd07fff71ce5e93e5622f49b38c42a2da19618f3977bfafefb8b4d755b9c8271d12534030cc03d29004d7b0f0802cdd436f59837152aebd93a4724e8337d65a94696c04af5a71e9562c6140b3c0ada4413561caa676f3ade21e2ce5696d9921e8954fb31223a3d4661ad448856328424bd5b0dc5479979b977c627bee9adf72a4b4b094ee74c3adeebde2eedbddf1687de9ffad397bec00ff75ef5cb1029397d8d79f229dd77bd8303cd0f7e7c1ca24bffd9ebdfa357cfb0b47f34e9707f941687e25afe65a85fbb43fee57456b5a43bf906ea745e6b59d29733fcfefbe622676fcb0352f498d86dc58b5a8b183bac38a839757362a12d832c0b2cf35750443d85aaf798a885e51b7e286bccb76d0cd428d0196636d28805d5ba808fc18cc50170e79e9d7601977e928ba5d4e65ac0fc51ccdca3bc17bec7105f415962b7430de9d7fdc1a76771266ddafc865cffca6f3f9f3933e1ee21791787f9fa9c649ab8e8b1abf5d19bff7e36d60e564979b63d2e7f375e37acf3a63320caba95d4032b8e2ca42193f502a4851905fdc4f62b56c6a0ce135d39b87f3a4a800175d82f3ea3a667a32962584bec51e759b46374aed16e1cfacce529cf22518a3899b91e292559e8120b387103ae9ae59578eb471bef3786d230f97019b22e0e409ee8e098e8a64a069c96abb9923be487afaee3b41717fc26ac227d5c88000cb84a6f72f7e79cca6dbd094c2e85d684a2678a85994e55ed48908e7025caa88473a4c188ea4f5da41d779ebe05a200ce5a31e41b59e817db5ec0a88f880cd779667a657490cc3a0a82a648c926d1b1e5e9638208fec5a0650650d080aa5b7b437ebff7f7e3dade9d62289f616c9d7cf0cfbed7fa7fa8ff2a3d03e2151fe33551bfbc026efd921e8299e27e5fb4526b9b4073673ea007a1e1c7a468563e530ee2592fb51f865fb4cb38ff6906b60702a856eb5ce5582b760b23dba7169e055c5a11571aabbca3a7414af327ed563cbd0157710a5eb0bfb44b2ffa4527ca5a54c577eab9ef90033af3fc3cf56cb017879ef71708fe980b73f073afaff752077e9b4d96d859b134a4bdd0dadd8a64735e8ea96fe03dabdc2c707019cf58c4b9fa15f03a4b6096c7bdec23c634c9e133d5b0492c304a8a6c4b4106b155b781935948073dcd33cb73d82c09e13e36e42f1f44a3b5238ce08afff43759f69b3fdfde1febd9bb8f5dfc1e5feecb7df9833977f267e737efc71a16ba30d4af84662b4f834b8f152da2ee2c2ac051d01fe642c72a224c5128fa7486a689c1e6be8e41aca39167678f81ed4652135b5a8e8bd846ae6799475ea80a5b684b753609f466ce7a25e2a2d163472efdbbd917177cc4339668fbe16e9ce5a14a6da0d252aa3ffed8fc939cc3ef5e8cfee41b2736fc2363d4b966d20bbecc039cf72c7495b02fb9aaff014ee6e52c7482e39718c7bb755cfa0f6ec3ef79583b931da3adbb62a949a84983deed831c4d5338c1a9c2905b6285192a3cf5a4931e6adc02766aed0fdcd28eb8673962ee3e99b9902915073397a6b4e8d7d075826ecc23badd09ca1ee54c1e9382ad826aa2fc7f93a57dc4c547dcc5ab7c4fefc5f74fe8ffd169c3e4e28ff2f244ff361f36c40d2a50b156fe0e55598fed7d97908ca08a792b28e66bcb3402221692cf7782a8156738f739e8bd3ca3ab193e32dbea10950bca2233ce27334e262b2f74d1cace96c879d285e11e71ee4e298f765e050d76e57e7e2e2ff1f7f417798f3ff4eff2f18d3c1cf08a07bc809b7bd2528b412f9c64886f0fb2c2b160358dd4e4884bd907a57c20b64b631b09a12b0f3b69b766b58bfbac256a0b88ddd81e658657898dccd5ced34dca2d738435e6732aa651a556cc424baad02f4fab377cdad8f10df5cd57e4df6758b85fe217fdeecf517fefcf3963aafc96ab9fe190fe553fbdf2f1469fe18cc4dc2c961c98cb50bef6efbb4ff2d8656243edf4dbeff349ef9edbc75c6ee51434eb00fc19fb75fe3ffde9aebded5b186a406a61e3fa25a6f8977ecd63cccdc3e577c039eef2f199b41c8fd601c8848ddf6027a10ffa651883f60a27f677bdf3daebce782b1f30994a9cbfcb43bfd7592a32582782175b6092a515527fd6f159dc11d749553489e382cb73c6c5d7bdaadbd2ebf9a8f77bfeefb2d5b17eebb274b06b9e6ed56184501527a02e88fd7410a53c8852e9b250bb8437cf8c6526b54d7d0d5de869782be116104e7b7292573dabd66ce2a1996b7b4ed62102a9806e94eacd746d6525097feebc99dc44403d880a091c2242a965deab872e2d19485f63085fea51be8c6b9cf4cff90e1851f80d397c17cc685127a5df2461d1481d5e64f19b7534e7bb7d5b1edcef65b1b6c586cfb223cb6113d1b6f07a680abd99623acef08cb6c4f13401dd4749b35f8221cccba8c525c33137d9bab27a46ad430c902f38f24e3ec38aab090d59296699e1857595cee42f94e3dd9ab6c5fdf22bdf8981fc1dafef622f9cf318b3f997723cd559334cd009919618aefa8383e73d5fc12a792357af62bf923be44fcb36930ed2d2015f5ceca310f7d279c17bb56ecb9d12fc409dcc5af36cb6e66ae555d2f5434c8855e842f746de660ce30ac6510f0f49516824dc1e92d9e4c80c7792388808a5e6cbde8d038ed842a77da2599dd4b01155b5cb34732975abf3b46894964ffa42c301d39b5beb56ff8a25f335afe9b347ee213bc7fbc41e1b67fb5f75e7f17d03df0f89dd1ee49027c3755ab25c3a439dca49b7dd88d730e1881f355f570feb4ab472c62c34c31983d906abfa61a1096dcd32ee85a2c3d6484f4357254ea609a57000d263a0fd38b2dea54b3ddb61928d6421b3654f35cf6a77bc6c771163bf488fb398b78259420be0dd70ed5e61a1cdc7de3770174439ee969c65e77cf795fe96ee2e32f5906e808a38da9ee5e96ffacd50f779a32c8d2b2844d11e910e0eab50b86b06cb95a376ac7775a4593baf186994d7cad7998b82c65ae72a4a4b58931ed6421f8dbc50fe8ae99381cbb929157a6486c0a230b584a10c594f1d2dc798396ec76da50bc8e2e46e780b7fcf1d78dd15f966b803ffaedcb94fea2cffcd1779a1f7b25f82c33cbef8dde8db3341acc6eff69acfd8340e599f508c933e1aa19cede3124f98edf6b86737d6ca88435a6a8db0a1165df78bef8219f21a73f6851fbf3f93f980a5755b2fb5d67974d4336ddc60ca182de50e1573136bed232638904c3ee232ea5656bb8d67aac5402952b64e4a30c7306389559b5e85b75e85f67e61b295258f2b8b3d24f658f0625c47aa5e20c3078223372d0489d5dd6a97df6289ff9ee9f019cecf505bf1bafeeab59da07f8241dbbc6098bec3f6bb320be2741e4ebecf10efbd1ecbbc4badea1b9a834d9f186e13bff842e44ce7b63c4b34125adb2c7abf0d821fa358978012ff90f4d0f280eb06d06d62a86cdce363529866a29bbae4d60ecd265dca114c98af2d406478a1ca788ea668468db5ed6e84867a5f17bf2898d428676009525d16fb9611762b8ef7e91d8d283ce99b6b79af9f77c2681187b492595ae24b6de3ebcfdaf12f388a7f95450905ee2a84239cc3983b0cf92af313a3eed7aa7664371ec585c237caa27e39f8c0ed310af135d97cafb90365da992779bc4f6da8c567bebc59c7ed3319804d19d20285102beb656a599d678f9fe359d6fb0a0609a37adc3fdd16cbfc3372f9dc13fead9ea73bc8ea0f7407fefc1e33bd1c7ae6fd179cb6db720a541d64011f087bd25621b25750ed11c94aaaa130c8592f15f2248775a426230ee102176de317e30d73d82ccd2748e47019b3c921b5245a51b3c6655d73eacea252641171ed78264eef8c5101574c61d7bb1253fb781ee53ed1aff58ba7a7bba9fff7bb39d03ac9be2ab1c79b2539ffee6d7da3ad118599b1665bc32bda1d32441c50532385d9ad431979b006c451443a6e819d936c65252f9a09272cc65abd6515ae84533f270e0b448846a4047e1c62e84134215df3e8e5a26700cf056d48405c8350f76ed89a6fefe097987775528a4b3cefeb5e9ca4ccd4e9dc9df5dffc037ed005a73d93f6d90e3cc7027f7e5277327e8e74fa75efcab06e505f6a470f89c334f10e73f92b1f22b6e137fcbf9ff7c057d94667ecdca11eec5283795b9d49ee16b2f871648aea4467bf1070774cab9db464dbb8741f0885bf70f5132c815852e72790101f99a638b2ea7900eba5178ca76bdbb56985cba5816a9fb88401acbc99ca238a1b5661c1c33ac4546d7ce569eb0fb8b9ff1c7b792fb7feec69700d33f12ff30ffe07b5f7a7b3b1e4b05f73335ff2ec90e8cdd057f2e9f7ffd2e7cb94ed41e163bddead9db9e187caa40caed6bc89564ebd4470a24b8b5929600b9f4d5a69d02352cc5ee7701fe502caa2009e81fc78c6e61e6fc2b59d8e88ca5c44db5e2877c6f30cf0995ac54059bc70374b1ddc1a2f19ceead0437685e79f6097ff079e8b7dc4d3df77e54c5fd3fe21570ad7bc59b0e9187bb4f9c5a0cca533390a4d4d842e08e9275a0004e08afd8a6d89d2dc32620352c9014a666222aaa8c75491c4660c193066617de016b69905e7ccc23364998f89961e7895314f637a62819be7380eeffb522be77cab9fff0e7558c39dead71c6c12bdfd73a6fface325fe775b2da4d5e6a93e6e65b0df091bc080d5d3452fb4c4c02b5c34edb29756d235b1e7502d01fe715d348f4161ee3dbd15412f746c484312771b1759bfe8a311d1581c29fc2b660caeb85b110d4eb9edfa4b4deaa9f28ec1cd75701fe79c9ce7f55df5b5ee50d7f329ede18c7f36afe5e27bdd3843e9e9c8193e043952d2807dc4b67d5208ca6c4b1756fb8867b24fc3a71de6b2f07b7f4774b458d13140461d63bba59e83220a26f3c099f791a154a2604f1dd8464accb13e3a249a10a8aa7f89822db925f57509ee15fbdb44215228f75fcd4ffc7c764b6ac35df2ae8fe16bfd8ebb25cf4eb2e6200c374b027014a19b8b618670abd20e1ca272fb9dfef17bdcbb6fcdd939dfc76fadfbdfb00ba9ab470a8fa8dd3a52cb7e79bd706911b548655e02148c14d31153704d7ff4ab19dbc5cc3b06cceb5733af152522cc322306e7c66ac6b8b484cd73378b6161783d7af0ecc65c59b58e6c5f0ff868470d6f27ef5677ffb7fbfbddf9279fcf28fa1a07e8fdeca27fb3fd4ecfbce480d3cd49df9dfcb98feb59929fcfe8666cfff1d1d77e983e43ade859b826ae4dca1f864f26fdda290c2f544e54babba0a82362e38ad0fd11419cafc389b1e275e715a062ba6b4aee6ebc69130a1b580995cfb8147bd2cb92966e1b95b08eeda703a6a69540f7d698cb76888795ea5a6df7bde2bebfe90d77c951a7bb538b9be3be830db113fdcf1db6c60dd37ff40144b654322414e1a0a8b7eb824d91dd5428dc1e5633b44736b3b10d954fc10251daad4b17af158622949384098d18b0a005db33a24c5a88456ca147c959c5f8fe4888087829ea7bcd4b7b85d3baf6ba4fe39b407255bcab4d78e91ffa13c70fdeaee5eff3dfdfd17dfbfda7f5cbe863fef45ff7fcfc2e9d7638d3d7fabfcc68bc2a1f03bb2618ba062a658c095b102eabc8c073bf44bf580977deec6917688cc710b931c50fb834e98a7966c45995843f4788798748b9ca57824639c6cc12192dcca3b4b6666c301151739b94ee0ad3f12e2a9acdf2c3ece9bfdfa9377aeef31ccb5b3ffdaa9ff4df7b39636e9689adaad8196a1c5fd13ff724a31b629b549fb771010aa1a04743b990450d038dcd592f2a06d2362ac59779961bfae2afc616a4e166a933312f76e0d7760637b7271923afdaf0f38fbd5cff644ba8e7d86627fe9dedf73ff42f36817f5b2eb21beb5887119a8e45625b3d336a9350a433081f39542aa0999ed2f152da66eb9718ac159ea74e7da4ac7ef043b40b34b0e5b9bb5c68ecd92f1521443d60800e01158a84932830b20cd9580856bb3484ea9a4df05177ab63c471916eccefcc2731ef11838dc3c9503bb62ccff349de7c26d6f3ead67c19992c83e087eecde4283132c2ecf11c69f217c9a12d14da107bccbc69b39110d7915ef794a190f276bbd4b378cd9bd5ca6a8e09052532989060127a60be8b781323353fc8de1af1b28da8964d39cb6ace984f7a746b0fca27fd8757fdd17b9ce577583f27dbe8fd771759729bff3fa2f6d39196405b59264439eb4955eb6bc61aa64bd70bf183a783654a522db1e4c4b381b7b25ac14b7408c27a498cda8a67629e84ae48082a3c92ed503e790e6cd6f97d3659d1a659d98d90e4c9589782e0d2f46ead958e43af894a559ddee17f947739edf126e6b2bef45bbdfe7c2bd6c6203be48c3518b0c8efc6235a66cad7f69ad74333b1cc9aea8d838dc9349d659bc0622bbf449028bcc3d0d753676250a786acca5618d4812ca59ed03114a51bc69ad8fa445a5e21a1a4b44b38c0cc991b2b07edbd9bb1504f67c93d247aab223e7ad3c37895dfffdd161df89be8e3bde0f0f90f3ed5cb19ffb8ae7feb6fc32daf1897ba75488dc93132dc2da368c279e3f8e5de90fdc45cdb02536e8e52321f89b2de919ef6d236972b2a30b741218d6d17280f2c34f92b051223e54ed794118fee35cf36dd85a1ac987b20ea8b4344e1ad3ec047cc80af65f8fbfae77f94e15e13e9709ffcc971bf5b8776ee35be7186f29a096b456186b57624ed544f0d77e31566852af5ccb4ba8db58cadb80b09f939421a5c46fafe28fb0c4b0d67a9c22529d13160eac048365a5999ee152a4f480650d9d841a1b52b0b67a2cff6eb103ab171d527f854ae081b6a22002fd807ff23acd08fbdc267ddf9613d1759735baf2d63688fa10fbc1c1b09b08e2b1b1e78211ee29977e0b9c8e399124b8d85dc62731a8c271173571e44bbc0b034397317b277032ff7fa558809b78121993870223d62b7535f771f03de8ebc1298743af65058ef3cfb5f648d0089dd5ee6c6804bbde9e4f00d19ffc96cdf7f9639a5e4ed5eeaaa90f65373e9a53d26ba7afe237bfebece0b96e12db9f703d2c0925b74c4cb461026551a5a80747b03e5bee9f53266e4b6dcfb6b7c83ab3cbb8f9c7ec1ad7ef9fb9fe26b6c3a2668a6fa48fb314aed96c5143efac4b57c85a7b8478bc0993c7ba1aa653fd9d1eaa72e6c59f37ca27b9b1fba74648d38abfd7cd2050e9ee3e2c9e485ea64d986511fed90f5639710fc207abae3f953efe93012c6bf9c511324dc55e9e626f970275bef03ed179e3f4b0e36229cbfd785b7cdf808eb43ec489558e3890ce73b14b248dafb11e99143a1d50a0a734970cc67884923c331647b51089b50f3c8b83ff2741909bddec456bd4545d6f8b9f01835f952578a682d96141b41f1a317502e120331416fceabbdc5c4f91f60e89eeed2694f44f8f4c2eb0bfd5bb17407fd5707a43008c9960c4a17cfdc7d4418e02cdbc7ba4b3084aee8b18dca1f6d0ad42601f53200d84a6dd3a2147812326f35130f6b3babb0cd340f581d35dc3a62aa5f53d9f25ca02477495cba41a0332fb0717baf98d8c77cdbefd8f1953cf42b1c95ffc1eca261bf74f65b770e7f9f65f28d359a6c81c3fa5142610a6e5a690f29096b4209da3182960b8d1e31606415a2e7a46b6ccf1a4fd9ac30d60eaa22adee71ae9eb905a6d26ee82a18ef64e883a0604742e481cc64b4ec27ed1ace5ba4edfb842323a037cfbb79873d73550681bbc8a097bed0175ff3f7e78b9f795b8c782359a1b3c20ce232c3842bdb0b6188ed3148ec719c40b8a16566510ba9a89223aad723c2eb91d059c399af21a59098b92b9aff3c04d3a6f4cb0c0a2523645907d92bea17db5da21f7789deb441d1d89808fde63cf32b0ca2ff51bd4bfd27c77c7c91392f9fffa9fe8518b28ecb2ca30a556928b649f0e3c84b3c8940b6e2956f26501581268e11702d36638cc04126f909f08d15c18c14e382054d95425fa7557d40fa5c63b93b67fc78488c9f3a36a058cd0acd67b521735546ec6e79ab37f9f677d8395fc672d3ee5c4b2ca6e00feed2557de1dd45fe48471d05f79b2874bb282c5ef6f0dd7afe691ed49402c5fc62bc5c6ad922e62ef6fa89c1f4264cf4b640211ef15022c6321c19bec96936a1b4ee56b620d21071a2ab2ab151ebe793a398491dd351e7750d4df5c20c188371556bc21a937579d452da724e25bddb0cbd5064316f2fbda26f7189df627b7dc8b57c8597fd01dbeb4fafc25b9cad5bb0c5be8c579ff6576759ac832cfd1feab43f345fe4ae54116ffed9d6260a4d698e77c18c1d58b96d592875991786e7b880f166c672f9e871f02080b049ef9f7482ee95c8a325ce560c372b9a7564961eb99a0039c31dd1b28a93894d2a9749a24e3e61e413b717d0daad6793fc5a7ff8e776c3f08ebd08afd9d8f7aa337843f3e5de1a82c3dd3fdb11e1a4468ed84665c6034b7a6b7bbc65616a503b7352832936c33a2da49d806c4b67e98e1672e5d9f532082373d1673e036a46196ea505ada494ddda1a375e996aa8cc0ec1ece74ef419e0aa9eae0bd049251c6cff834dfd0aabfd7f9063fe4def6ca3bde0e2fd538e7914d8f5163bf33ed2cc69d04fa6eb12b340219fc3fa5942c8d6d37123354010730d64594602278b15994458838fa850844ec78a5a7825f98fa32cb396809a2d00b310ad0f898e0d5f839304d458cc902d285cde1c4fbae0ed447aa6126e35d271b3335faff5aafc7c467739d3173c031d6d0507d932c45d140e726ac0fdfd627dff346f696dbb1b5f7b02c24282114657569b639e6d257f32026b3b5a59592459daa721723d501cd7c538c64553f282cd236312c634634bad1eadcbbdeee56a9a56288b36e3867035a721ae57a14474ba1fa1190ba84d7b76734cbbad859e6967bc86a1b64aa5577d78ef79759799379fd23ec9994ff11e96e44cf736bf05b904c88654a84a00d2d6216a62a3ce65ee4269084f6a60e395194c8838a4b44122749da53e07222c4c9c4f0c415c9ce8a6b9b2d18497721a1bb8c160225828fc356d7a6ca107c24f7b2b4a6ebb47a6b37be1306771155dfccae8d9239fcc50789995157cd97b76d2ffc52b5caf57bd679fd64d6c06d9ce5f7e1b1ca3d0edcf73f7cebdeae8aa8fdb1e1263b211dcccbf31dbe72ef1f9c41e1f52db554979eed17cf3f9c61a482f0085d0d29ece601e94624e6793454a5d25735445a1bf4badda5e7eddfff36d3bf0821779e1adff8df801c8921256e77db9da6375af3870137133133a6dfef458bd5dc7ed715ecd244103592e7709910039b0429a7860d4c52c14f3a872f7bcbc6d265fc29916dbe3e21b79fdbb60c6ffa137f043493b3b08e7652ec40d73d3992009dfb789aa19263f8dc8c8082f014f347383679845c1f811dd3637bd89392ee2abf395fd3b610dbe60ed0c7cb8fcad69ff100f546bdefa29ac270b6ddfafad1f666c4cacb8845502263bccd88e94286439823eff0188c61e3c0bb4a9ce762c9c50a4359b44c15ddc6773a2ea5d3cc3c7d879ea64251e7d0e5644d5804037c4b9da630bcfa933e177c37339f70f69c94b3cd4f9f9fa4e7f94b19fe2bf7c8d6b7bee09be7ab6dfe30cfde3d93ed13aef67c2074c63fd66ccc1d9842779d6a756b193065b78f4874e7b5925a59b519e8ea8936d9165ae027b6e0400b9a40490694d4d2daad1a2794ced568f79fdbcd0cc5dc2549330b7a2b3689470cff0ec6d87b9ab982582d4707ba9432cf8adb6cff9dd847d7da62c9add655e731373a0961c6f061d75eef12ea28dd62e73ffe699cd4bcd7c64b6f0d20af9be122a9849212de10b0371660825e9718720fa152b358a98d5ae1d8c3cda205c6e8dc0c6a3c472f76b9b99a4681f62472d58f564a439ee7821173edb1e50d9ee020dd512a27ca9994d7a730ef3ccdf21fe73758ecf79ce26faeff1c2338fcf3195fe159f2fbdf4da1933eb467cbea050db949bb32844ee2a54d602a03ee14d2b69365d434c70c862016184a80b283789a7448e8c09a00ce2459f9931fb097c5600c9e436b5b18ea0f2101408714f8f795bc74c85d4968ba56e2e286d8fe84a2eeefb31c3d7677c900f1aba5adf0eeaa4544d14e2ebf65bf7a177f35fe5cdef5ececb9efdf94cbc7fc8dda9450005c63c335336f118c3959ca9e96a867cee509df5a85bcf309295984b859854f890e8f228f5b183ad31a3416362c70d3c2b0b12c3dfade978262cf4880caac5f0a94fa12ce54cec98e64e23036e3dc8eed54bbb494b988b00a8b533c99257bcbef4391adfd9bb38fc4e5dd2fc1ef18bcbbc18d59feb01fed0bfd8dde0c659e768c5cd1563aaa3853bc1b48d29f3fbb5cd624a649950f0e897a99e28b94a68bd6436aa52ad56116d7b097f1e181d5bac9a38a9310744cfa2d8ce22d18b7261402dc83310b3ed8e42368a351c46ba74b9d5de1a1f6aaeda9777c27d4dce7dbecd5966dd36938995b296a15b4a0dea49288f3ef74d510207e7f897a09827b3614ee90db2fcf7fcaf2c35502d8677bd6a5bde215ef381ee8927bf6b7f5ee6b02cc999de0d3e9e4b39d0d6331673fe345a6a30228e6034445d104646dabb33acdd16dbfa5d6bc0d5736a4cbe550b719f38ca9fb99149858e2fb5529faca7b9e037de56d35db485b4d8a39f5bad578a475a3133b5a0994c7f000f8a80156a1a70cc291d13c6984369f610e478e42bb489437fe485751085ee03d2248ded0662559b1e7373c154c780caa98da6584db0d432d3e75e2b3ef4317cfb6cd6ff33dfef0f6ffb77bc3ef75cdeda7b45d83eb0d0c3a29f00c9858d2a19230d0558c905c9d1369d658b94bbfbd496ba203f7546d88c30ab179b1f07542a2b5693ce531398f40a310dfdc221eab183b2056031a6478dda8d9d3af39d5f80433a135960d477c45b137552d22675dc436ab34eda4abd9da3f46146d4d7335fbfd46f1fe7105e9d61f4df75dcbb1951273df7761d973dbf2d17424de05346181d3312bafb80658fa2c896ebc2d7a36ae24b82341efafdda11bf48898380593b5c32ead9ed2acaf172056580fac92ca278143b6c250c463c95390b4dfe8a0d85a4367e48b511e065a3051c94b1d5de5a53f1e9bcab2ff8fdc91cacffc4efdf74dfdcb112f6a9aeaa64f38f31062b5b88d0d263cd5dc6391d252174d60ce315c5b6acdcd8efc68ae6e2511ad943a2692667ee016b6e9baa4c24ba99e14a3931154872cf64aaeeb81d19d8865d5a3228357094a1eb783a2e161a5aad590aee5573f4f7f9a8bf6dc30f18299fe20efd7dbed91779e06fcf4d3b2e73eb4a0c73fcbce4a69253b03fe933c1afd9129fbcdbbfe9c9f774075b22d9806711fa4d32f4ceb3e77f92df61d106d0156b92f54be0ee23cdd5316446003292f0e6115ba058cff0921acc95657bf0751373baed888da77ee1b5518804b2324d94592475da33267749d166b106292ff07354d55b3973ddb84a7b42204ca9b8b527e79094e81bf3b2ee12e718689defac999f6be33feda1fcbbfdaae13e0a7ff60cc8390b51400c64afb869fb7d642082a288287817ffb8925d144e8e679b677eeddc9ecee53ed16171be83585deed677b01fee610bff8dfe708e4f7b99d8e34c4c8719c6dacb6cec8b1f7663bd1f74892e5b04b22ab1f1ce2f8e6664fc0471d94c963a28490141ccf747a26a9d95709a3893450c115de842a58ed54ba026091f635a4d1671291c5440814269307bec2480f9692f148513439462eb8596966c9abb6132ca101f221d3e27e5f8d57c46ff93f962eff254af664f7e1587fd8d1d71b527d6faef7b6e4cb258ff71dadf63c49bc34b4f8f77535d80a6c5563b5dc189899c3a8e740ad21e9b62a6a275393ea6a1e4723336b1666e590ea7c92c5b311bcc52621928477341f7dd42630653585fe8adc23af33c82aca47ceaa42e36291f1b4c4d225f538f9eb3d5a40dc5ad75017fc5dfbacee3ff6ccb7f4efb4773e2bdb49f9af8326336d15b206d7a2ba64dbba4d15132940596c989fab95bd9ac47e1dc64ce244bca4c8bc053bbba2dbf73ceb9bdeab7bf568789fe3bf6c41b9a27d97ee1db393f1cdcdaa33dd8620ed5c1239bb9302ab22ea0e654e48ad05cceb0c53ca9b78b95052129f73de52383e86a17f4f8192b3591043d4a9b760bad1644093d362613cc60e375634a2c130685b09646160765fdb00eb3cad39a29d3c60fff782edfe575aec43dee515b7c397bc3bccba1de3e3bbee2f9ebf53467cc2c7adb7cae6953321b3ab877572b5607a98520e35b208ab465455360abcde2101abea6746a9b556a9ba3b572616ca322d1dd2d2f3c2d31a826fb6284ac6c2a49da61074e829ccd44890a960b2daee08a18ec595493e2daccd40fbab69ad449f9e30aafe9b347d27bd82bc31c90337fd573d2692fb3406eab217460977210445afdb0b299c6786db27c5208074e5131a62c649aaf4bcc68ebe332eda21c17d256bf6891b1d460794461e1979230968295230452ae4dc1d38e287fb422518f374deb3918a1b25d494d92fbcd98b9cc322a59f16a0eed27b503af9efd38f7e8f52c03e3631deacb7c80377ec2077fe5cc7fd04bfb4483753187fb38ac55fa1b9f67a83ff9f8ff425647fabe19b0a839d496217b1621caa3a1c6f83776c967f3aafb4437ebe8dc5bdbfc99b1903ea3af6baacf67e6e4474c412f42b78e785baf4fb2f77a7c58bb470cea0b5e0df6c2dfd7a775833d749bac0e237a04de0c17a4cf1436bc9dacdce542df6a7ec5300d2d1d6bed5250348bb42c2374de052136855173c6dc9ccce06ccd91410ac60288ada5dece7191f54bcdf4500827ebdc6581e1fee24c46014025b221bab53721755c251d6c2eb96b4afb836df85e2f82cb1c8dff2c3bd29269d2299aa8529a38c7ecdf7fd7a0e08c4d7a53dcd5ae9db47cdad159d1a1eaa746731c46e5204bf2d85081b47e1c71fef39040388d99bff36cf9bcb66bbee8d92e5693695a0aee1762966ac88b0ad03205d59a633de0e383648afa3a683063414c9f7a9ac3a9b835bf5b4dba44472a35bc2629d948da2a8fcfb80fd7787faf5ecb939f938b10f527bf7eede0410644a15b0d313ae3efebfba7da65820e92b1c714c2adb4651715e3cc237281ba06acad314d2d45399319063f8da506b70998f70bcdda2d7ba85621daa555ad124bd64b1d47eb82897528366b876d308d74a68fba7538e9238097316d16b810cf1e87b7faf8277e542759f2bd1cd57fefef481df7200cf7c4e3cbb97fa17fc959ddd4cfa119d4567369b5fb64c63c619bcb8002c3233f8f41b01fadad3aa239ab58ef6209a48881afc7b4d62332d9705b69bc68b225c850aad046d8a0f28c79c76d338b397e58310812ee1f999a642474e3c48a4c96abfe569c8dd3fbae4ff77ac090f90e8fff3b2ed25b9a97736d64e692c34238f34bbf43741b06b0fd741095abfb9acb13867a0cd583ecc5f38accf5b88a4cd4e34ad8781b6bc217a55aadeccc277ad17b5066ebd91c50569bbc608e2cd95e525425b69a26156c24d5768cd68d5fb02e2a20c3853a60dbfd45ee56cff01af37e78a7ff37dce38fb3e5ead41ef8f3fc82edf782e7f3a56fefb0e7354707717576c2fc3ef94d6302924a9d7be64ff6e71ffa97b9bbb7d59b73e8f6b4ac0bb1697e210ef60ba338a0422e033889a3cab5977d76f494aa22325950071729c32e276e24083bc456ede399ea238a1741d1fab2fa692e3493f8d5a4639550b2c411afd42629b75d640cb8aac5cd98ecd5559c6c7d9917ef30bcff4937b4671d00fb25899e57c18df523d46a634db481cd763ec008e9e8c1735891e840303e1644c95f7ec93681ad1d50281f58308ed2d09dd2c25d319de5128ab907a11bd3d18e142ce7f9c4923605b1231e02476ed2fc69c7216c84c1fcd8daea4cc7b7e2a09ceec8499f0db336a2d06f243755aaa32cb5d9f766dffff75aab2fd7309ce72fed72adbf5d4780624da0199fee0c1f9951d98248070b02b347a16a6b3d83750cea05e3858e49b6f155ed2565e6e39e557ee5f2d8caa2f5cc1db14ab529974bbf621b569890db6084082cfc02ce08cd8e890670d08d574b0d4637dba125cbc4ab79db82c3e6fa7e44f7b0453fabf53fe9e5cfbe6f2e33296f9bdba7441d388541ac463167ab259af91cebc80b36cd9e29e4a14a1c632a149f4507314307aa3d8dd6050a1160233a1b7210dbb86b7466c9a947fc7eed303b2e32e2e958315bee027d1c714735dc8166c2952beee6e3fec1b97be3dfbe9f1bfa32231a8c0b31c861d6bdc1b37c1f43ae9816f363236c76b2f9f328c4ea86bedc9718cef349c74b7b3cd4282e4bb18ff8551bbabd93fff2e51a863bfc127faa869cc361a8e70ccc32b16175c653f36eccc16add025847bf67d58ad096e8ad48acfa01550aa0608cbc1eb9918120d5da3db145bfa62a23569de11edb3e713be4287f65019d1560c118f397276baa6c486abb9b48d57bdab36acdcd0d66d28bc3491db3acbe579df73772b0fd87d8c7257e2c1d373bd7045d9e1d6257e059849976d52e29d9a0abd24a64c9ff08ebe32dcd932e75d5b0a7a1ab47fc78e973f8b6fc689754eb02c7dbc5956a24504b6c8d271e800031e1ac66ccf2887c8cfa9b74e0eff3fe8d3a90f7b37dff9527e7ff139cf971b6f7869c408bba5b7bd354bee8e58273c55750d45ea51e289536d3c6bb98d516625b739dcb474fd5db84a8887048d7365ee0305b4621aa0515b3f4ffb3f767cd8d22d9c338fc557ee178efa67e5d2cc2653ae2b91008104842664b202726265864402488b2d0829e98effe46266897b76a77f7fc9ff045952594e472f2e4d9f22c59cdb9f2620d18da8f18fdd952d0381c488defa99b990dfd00a4d26ca0d7baaca9e15cfeacd8b4abfb873dbdd35faf318cf78b0e5df0565dd2cd27c52d1dc6ebe8d82e76691465d4e6a3fe945305fc9cc808394e6ceb398f202bf5a6037d103974050682eacee5cfc9275b9a8ba8e069486a51f6b327ac67343dead57be9527b3b9f8c78557ffb57f19fea60498d494ce207fd241c6ae3cf75086879a7d3eace9de75b9d8e2dc7cbb796940a3aa5a53a65f482210ce00e02d306b53d44cf56999a20779aa0743616483393d9a6962c18a152c3111d4f7536561cb1668143fba1a329862da4600e19d7893f2a5737d033ab77e0e867c5d61dc6dbc3356871f4833ebf44361edb720aa703e00514d84e90dff8798d66223fb1a9872d28900f8a5e63513184b669b81eda19ae09a152d55121430b801d286a3fb6d3475d91ebd12e79d601c87c571e8603791b280f94efc9820104d5461265d27a063f7a9f761af7f4e6ddee1f8f2b388ed7d2eb18d3cd32efee703f96db18d868650d929e6feb85dff028a07465e26e36631a181307ad2306d1965b714049d840d2185786ba25a312147a61b2909a0e72d655623a986bc0a6b6127472dac8a326b4a375ecc59cef6c5d3080855f9a839836b9b7ea26dda0030554de916bd7fa84fc6b2c19abd52d0a73def94c7d4cc7b6c160eaa43e1c56e3a90484c8e9b1566e56703ed904a5bc33ca2a8d73958da9edc6f74016783aed386868c971312962e0cafa6656e68ce169feb8a925df4ead20871bdf8dbd88d2572356d0209b3ab623d7161b716e093e6a4fddf92e446357a36101d15bf63e526fe133fc11dabbb52c7661013d5253ee621e144d728d7e2c3744130d743bdcf5598bd1f3d0a5c77e1e339091a73359b6ad5265fd3c761d1a3eeb60c2999eb435b37a13299a15eea2cd884688f899b2116d2a46cf46c27444c5925e683f4384ea0982b433040357a13731404ce8e81fd79baf6aa3bf99e3e48ffbceb37a0a0b679fd3aea5c1e7f3e8ecab1fd3931d45060e0577c095a77609c631538b815bad31ed349c25336680ae23584525e41c395ebaf3583480cce992f11c483a130c4c512fb69ad9d42b4731177e0e0bcbd58c11133b26a5cda3c2dcd98c0ca29da08ce84ab43fab36ca5e9668edaa6ffb4231601e7b1a1abb5d5e0d5283e45db6d3cfd83be4b3a08116fd3362f8d5996fcaed797536d58feda5c9e8cf7653eb4ec3b36060829089a599cb6b632a593b3b793291e8814fd5f604a4fe98851b7d90b2b0a0814e71ac3e8cd74641675385d6a2a143cd90203a6e350e65cd990e92b55f1adc4c31d7606e6c27b6fcd3190a532bffa84d5547a187e902bd8b15be79d36f8ad418ff045d8801359689c69e4e85acb687fbf9339bd44cff603d3b73ee9670683b3437f5e01a4a4071581d4d76c212306815308b67ab881f8d121ae13c659d1c51912c5b0e2373813279d687face1c4e76931da00366fb0c4b683a4e55da22efc505adda32fca9cb681ecfb59d4ecb03c7a13fcc17a067d43ec3af0306a1633d9ef7dcfb7fc27dd0edfc1c844fdc9e577bdfff41dfacdacef5159081329178e80c633843baea17a60525bdb0734e8d3c6d05ad5a7576807276a067172a3373aa0cca7d2ea6d00acc85adeea5862d391bd34305c87873c29a5ae83eec6616ffe80e05692a55ab8954516151351f96251994438b9e078abc0a0bf0be7c847fdc0f6e17b8261abbfac277b91574494ec2cb67bf94935a67b5c914a0a523a5a54ec92b9f01e9044c381d09e954e44dc0a894519abe2df28e5b425bcfd59e2b41144bb1083db0303cbd0801d845d2923115fed92840a0cf8d678b597040d2a74e6eac273b6103cac5d628a169bf4167de6f5b05bbb12b6718574ffc87f63697f6eefd3277d38bf172ad6d4c6fde88512ef57558a0799bf79e7a3b775473e193f46bfce6744cb2efa7be43a4e656d3633fa60f834a07e831dc81913e378716a52f2d094dc63b80e2bc322025dbae04dd4881aeeb6a23304786e56c03c743149096cc98da0e622a6522ba1a819da6c19db9993a503776da63946b8ded72bec5c4969df18fa6cb0b8079236ee0237ed60a5f07eea48e982d825effbc7eda7bfdbf5edfe32e972abd0b5cba0a15f940a75e8f41fa14df927d2ed93a62501db8dbb43db3588fbc3d2f1283fae17c78fe4ecfe9d1acd8aea15b8f4109c786a7c3c0868f6356de8473adb63cc0c414502c6070269bec666e4445acf06c1795ef7afab3cea29ebf9bb07067066088749023312e8df5140881c9a6abc80154e83a3d574ac723eac3f9f00e70e872c0ff45f7e207187779e5cfe0de3deb72397c4c0f5ad9acacea36caa1a36fa740b72c65db8b6c598877096d151ca50f23c662e1c462650f14e8592f78610aaae7504e27768e1ec3a15cea92dfcc3ccd9938b4eb03f3a7e1c90c28e31c629acb46acefe88c951b6cecc6cf9f9673da9bd4b004cb70185770682ec69d9f40a4f055581aa7fe97d7f96658b309bc7eedbbdc2ee872ceec6bedbe2adfe3f75caebcb8fbc1fbf0d69d665b0fe3f3cee1f9fd5489e7d5d2e0577eafdb788e0fe60275aba1990314b9a817ef0c164ab26ee6340569d0840daf4dc49ab54b3930e66068d1e9301ec88559aa8d3e7476605849aea41bb11d8fa68e464743e13e649c5d94f193c8ad6d53da4aa654dd9bb6443b79ec99522c804fab8f6d2288cf8745e27f36d0d3a8c005bbb3fbcbcbfbce5fe4dd6fc515fe2a4e41977bcb77e1b3eae9bc8237340a0be30ddc226d7ea9beb12d6bc64c82c00758d69761449bc8ceebd4cc797642ab945fa6da0cc58f61a199d3c184755c28cedced7aaa54da6c68cefd7cb9362c7e67039f75acfad100fe3a46f17ab48b779339d8d894b39d483574982a75a8878dfe464ec8bf0fbf9c5fc6938835d3a87c57ad894fe4451c89ab0b59938b14674570c3d329dfd3da3b91b7e7fb4bf8e20ed320cc6a331ac2c6c8f3ad99f373b883b9e5093d00841250ba113b9c1fe7b4a4efb4d4075a0a80cc4c5c20e98ab376bcbc1758fcc244269a481a081d83990cfb6bc79118bf48b6be07eb18080eccb99f11809ef35f4b8fde872f1e632252a7c67b3bafd755bdc63f821f273e23a7f870321fbcffbfe0075e5bee20051310ffb472984fa5edce9416cd0c48eb988ebd9922af2309ec0c47031390160145f50cabfe3911973ddda904931536f140627c56dd02262df5bcd6fc42a542a6067a4e6fc301146d66f11c7b603366e331743ecb96d8da56fd1214b0e8fc68ca5e6bbb165fbd27267437126992ffe85df2fe1fbf873b1bf3b07f079989a23e7a671c3900390ea223466627055afbb459f928df5a05ea3920a5ede2a1f739e74c5e454cbeb7611f72bbbe59c7bad4695237dc8d51f8262d25b977779f70564ec76c792ca9b12c9790d48b6ac7f9980e1d4f1ccf9cd88ebe361d34d61520c573f868b2e6b3cdf0b6ed193b53acd7912d7013c6dccd249a763d20c5853c051ea4c1204566aed1b64217ce5ca85c80ee2d69b28576ba8886d54047d56ea668b4338092e5ca4bdb819f15ab3c0f197a13321c86450d5dba8a87263ad1912f73e376eff0cf810b7efa273979afece9ed9cb2d88d8ef870ab8d97527b994b452d6dba11f3b58e0a8ad45df3ad431d81dd8dfc11c40f34704d52d7e048bbd51b7d1ef2a59efa4e5ddb88f6392f5b785037c6dcee734fe819a62d57bfbf92ff98f8569ce59bb9d8d30d860d890f776feedf4bb9e2bbbdbf75a77db99fbf9e9bffac9ec63e877c1b1f7ec3defe3aad8a6d3085b2ae4056a70345d68d829f5ac867405e1b90d16d304ce50fd6965e5ede2bf91d5eb43572401a5ede53bc644fb8b4ddfd3a8dff987f2cc1f11b7922dfa447200b94879eb5337f5aaea61a5eba8abdb4d299076a92f38d5bc4ca98ae1cbbd0776eb16042a48d6700d401934ecc52ea1954aac5c3fe1a963913c8721083aa76447e35615130055004aeb6d187d5fd98a1fda992d62e102e6d3a6fd819dec153f6b486d5d0d86b7d5c83cecff1e9b68def20c79cf9d9962ff8d9de383f6ad9bb519bf6d0f69558afeebef23aefde71ade777eadd3a9c5b3467cf1b6ffb01972ff801b773a463052dc7ae89228c438c4c75b4eb1f57b554ce7872ff42fe7969ce577b7423a651bace13ffa7fa2148b7e248df94694dc66800a8442b379f5d650b752aceac322d22cae98d198eb1981a98c0d99abb49cfdfc9bbc0e9310ee833be8d0c30407ae8a4e2548a57d1509f3b0cad5b485f9bf3746253a88907290d459e7586e63a28d14e972266c45cea341fa55fb7f1e11d34ff469ea5bf44cfb81d3bf416ed727b6b874957716e567a0e55bfd05c58c22a2a1e9e01c3ff0c1c781f67f56e2ad186eda4a2cf562e0442013c41b2f22d1b525b67a2a4d4c4dd50ae178b06a355d3a130323c884c07e46151ab33207040eeaf43afb260195fde477c16edbaf6dd11b57fe89d6ff4abe7d0785b668e15b07bcbe7b2b5af7e82cf250b88ee4c6a6090fd3ef9dede397c30d7a02c1aaec644391f44542c4c68e41874bcf50b7a31b1cdc9444672640bb249a1812bf22ba3e08a8081ae55f45887d57a0ef0b796ad6f6c807e3a6c359c7af95aa72b30413e07e5783bf3e4e709121e63365dfaf33e0787e0b3720dd6d0331721639edb102ee9dd955ed3cabf447f794b1f1a0aeba83477e47e5de1dff201653f29df1dd6813621ab515143cf4366bb6ee33cafe733b62322c77fcccf9cb71c0a6d9c79ba99c9c616b06a6396320d246e653280d277289b509a172ad5d666c11a34fc4257783118a6a33195021f25748812c6427a1303f33946a96450508f29d3884b3d05b299c5393db1e8ca73d87ce3ccdff0b37bff7e937c74b0d8a6b079ff9d45acc89bb77c60f44fca1dd48e85f7ca4c23c5a9f55fb0efc534dcd9cca6899874ec28fa4f2855b9bf4bd3112db0beabe3739a5ba81ae9763cb765e087c3d4d365d39c2095f15db47087f170a2501b3faf6b5da1057d18ff8c65790a1419ebc48deb70b23f378ba90b7f5a520ddc4fab476822e8f56be8c9b4ef6e4eef9fae6360bab899937b825b3905f390352bc860d83a5d7ffddb790d0bbe19bb20f599e4d8aeb931eec7f21f96a1c2671d6d21675bbfaab993a6e7b90eaff28954619122bccf8776d9952f737255bbf7d0df556dbe93fcdaa77681ab76c77c8c2eb78b14709a57f532f6e5bcfd1b3924aff36e1ecee2659cd1554ccec95dd2ad7687589036e7ca0dd9bf7cc5f66e9dc2e36a2fa960a8ad63375e1ce3fd300f78d5ee78f6ceebbeffa4af3f4af70fe361be1e2b6913b2a06cefb571ffefb7359a8ae958d90313d9e9d455b665c468f38002eec4aaa590912b5d81e0633e852426e19df574fd4ff2c53d1b13eb1b6d2cc4fe5ec5f63f5463a8f5af88759f351b40198d2557813d045aa8e88b50a9e5496116ae542d746ad15894a94d1d930dc565e3bb9ae1bad126f474d671d2c2a664ce01d12ec8ab72e2095007b08887a66d395c103bf5dc55787142c1e1cc13dc80f9708e5d2a70396eec6e9bf82d9ed57c4e3e895841ab99452fa3d2e960bc1f9f627f2187dbbd8dd0e344aa19c8f4e808a5f78015269361be73d06433f574dddaf92c74e2d47117dc74d0a783623b9e3a1113c97a0a15d804c09ccfca6a6249d0f72dbee7d311153ac88205bd34e6489d01693da2f5d21e08eec403eb8fe6708b3dad1abbd55bf1b414b153fe71ff403a2a728cd318b6fbcfb5dec65f7dace6089d7366a9d581a76dc341be75079a0999aa99d9820707261cd1c881432d778b1439bbd431cb9809186d02187f6deec0d8ce2bc960122692ea89eef081cf9a32d819cf13494b7d1b54505a362e9269d3d95a312ddc87e8b3ee7d8e392d8eb4577aebcee7b6ede4cd18a13fae5fc59e5985229d434f68a0aba7b142cec58df9509d0fe9fbe9b283a4ad5da2221a46bb30a757ae071967278f2daa2a8113a7a644bd7a07744d97011db86fddd5249f448fc9582d2c5c948fede4e3f4d7ad1e5d29a65db9120063ee8094b010549378887cdb93813f47b24fc7ba4957533fdf70aeab0f8dbc5aea12adea0ad7cca4b476f36a613a293373b64a54d4bdb05936d32198f8193f758136775853d5076911e6c60694d547fddbdab5bd3b97e6a7e87b676312deef810a9ee5d2fc705ef347a8d0fe4c927a516eee1c3b8691c4b97e5edb56514f67c8642779feecec8017319a6e2adc209690e7d0721ab2fad470752f96206d593cb476b2139415b06cb8f28bba0c3c599eb9490fd2f10a32701ecf5321620ceea3b9936226ad7c26a9fd82ef41d7a823cce75d4405de7be2b73fc5e7870d14340f443a0bd914b57992511d78661517e4ccbff6fb2ff96ee894e6e8b2c95a40cf4d29162123a310c46022f53636edb0660104d3597036f3d03803d9b064ad1e537000185e0e6ccdb5e5783075556636843dc3917646c34f6d4fe8c19daeba322c035bd8d92e3df4730ef8398722f9d3f265ecc6ae564106ade2d77536acc76421c32fa12bafc6eebe2ec29befac6297cea0a7d67bfde22c6fc6955f08dab5f746581738edfba65ed5d5c8df9cfa24bfe16b1c2f02575fb47696edfbf37a7f8a7fd1cdb14ff1711e32dbe5593eef8ffa1983a837538003bc380d955e2fb0f5f198d1e1c4e586eeb0ca4304835041b951e82964d1d42c4d114a061db0e9ca9f9b4e9cc763671e2b10e99ab3d36bd71358404fb60e0083d8330b8b5df42c90f79ca22a6249dd8c76f267dd91e3fdacfd837ff98ddae69d6f6cc480f3dca557f9becfeac4bfd91fa931cfea283eab9dffba6fe39ec611df2fd7a8bb3bdabfa6bec11e8fdada77f9d83dd6157f615e1fad55dac9a50613327503073265da7004e54a98d9fa7a82e0c27679e828c96e442d18d3a1037b889a99a499115d15a1946f1d470f2c2fd5a31c415ba9d71163f4c0302e46342a0286732d27ad5d201b90aaa8c97cd28b0669fe6972692133be8b96dd3d2ff1e58422ddd65b3fb581dcc82ffb5a0e17fd0acf20dea313db947a9d13fa536b735cb5c567e67c7dd6793d9e577198d5d26828bc1567f159f1546c54c89b6848fc18f69f3f1a3fb51d7ba6edd8e8e76c1e8b915bf933897b761dc818b660da25d02dd6dc7c30c77a2f5640bb277fc11d4f57071ac3a01bb7f337fb982e3eb16804262e125ca9f2811b0baed2e300d07e069ef36c83783103c0b7863a03cb3e1bba3aedba1407651d58d47233a6f49ff150033105859964f426195f1b749cc5d27667329562b9723e19c65ac4f0b93eac1a20c9f23b63bc4784e796d4e8eedb5d153ccfcafaeef7ff7bf7982777bfdfdd7dbbd38362863ffde73fdfee92ac4e57e16fd1a2f81e2e968bf27fabe7c57c16d5df9f8260f9fbf77a565428a867cbefe5229e7d4febbafa5e05511e24b3dfe6cb4589fbcdcaa705fe1bcfea20434bfcb16c47386bf9ed6e99ed6677bff7f8deb7bb6211e38fec3df9f8ef3a23ed198aa1fe97faf1bf346b33f4ef3de6778afaed077dcfdc730cc3fe83c2dfefbedd65cb7fc7d9f3ddef4f015acebedd2d1b32e460b6befbfdbef7e307fded4e2d1777bfd30ff70c45b1f4b73b1d65657ef73bfded6e4286655986ea7dbb73b2f8ee779aa2e86f77caf1a3f7ef7f57414cddfd4e7dbb3363dc29f5edce3ace5c4079b70e8abfc75f1751bebcfbfde1db5dbfce0a3c136b16ddfd4e737ceffe9e6719eadb9dbec44f7e3c30cc3d774f51fff9763779a3e97ecdfff97627bebfa9f7ef7fafcad57216dffdfe4fea1bf58dfad77ff016a7b36702200cb3bbff9f327decdbc3e573f4fdd5adff1e2dca7ab6ad9777dfeed4a25a3cd78f419d9ee1cf498bc1226a7fb283e76456b79fcdc5a2fb3409ea28bdfbbd5c21f4edceaa03343bec1ef966ce02824bb8adb29033345bee5bb7631fbe0e66d5e1b33d5bd617adf1a38b37268b7885c7fbbf77dd025e5d36996c56defd5e3faf66df3e083332fbc922fe089893c56fc522266f82d9f3322360a07fa359723a2b32e5fdd17d6bf06e5fde3eb4fff97617077570f7fb5dcb70b495efd2e828f8f4eb40915750d9a268cf70ae83da4f2e23b080a0cfa3026d6265cfb0344155201d16ad10ad0e5b61491d6a2862857558983b7568ae55297580dc4f5a4102ece2e1fe8247ab7d17b5021b66d60ae88d8b6a7fe194458cde049e409d076eb597f4ed3bdc1a2a4ed23a0ef07458208abc2ffa85aa9cfdb617e2d376eedccfe8a80c65a1c2cff7976d61c1e7d0129621a3a7a148da8d8e4a8df60c3dc486acd616c497ebb87b9ec69eb908d9d6096a3fff504173e872bbce61498814791eb44968f78624c230cdd79c2273a181aeb9f03d630d0b398d1acce0e826763962c86fe1a0adbb640d4dc8900ba8db6db31367708f24da43d141f0322e84348df23d616f6ca48f89170fb0c8a127a0b0c04c56af2e8443bcaeb40d6c3c5c82b58ed3436af4642cfecf9fc2b4ead9b27e9d599116072645887bcba518baf7a3f7d0a3b91fef60563f0835e6af98554b4fdee055cc8157317b5e45df3ff0ecaff0aa8e3bfd2ab3ead1cc3dc7dedfbf8759756b7e0fb33a36fd4c6675c9a3de4928bb6fd7ccab1bb7ca93ef282b57db7f07457cdf7b7d0ebf054796d7bd7fe47cffbcfbedee5f07d6d7e2c239e72b17f5ff64e5b20e109ac5ff13aeeaff09d641868210cdfe272bff275c6528fe9f2888d2d9298ffce75d84b25959ff962ceebe6186fc9425ede7a75519d5d9a26cbf5579328bf1c77f9d70d47fdecd9e9f17cf18044f0546fd93f515c1731e9223845f7d7ef547fc7f5626df8b5981db2d505026bf2d9e93efdbefe5acfe5ead429445cbd5d353b625bf5779f25b567e6f8202fdb666f0195990ffbe678b559da1bb6f778be55dcbfbbe3f65684698e0b7bb65fd9c95c9122fa19502fe7917ae9ec8bb6153cf96040045f53c5b2ebf3fe1e37ffa20d965550ba13ac8cad9f3779491d3dec930f8d37353d58bc387ef41db63fb25caaa9440a1fb1e9ffe182f83e3975974fe3566388ee6af1e7ccfca7af65c06e8fb2cde04cff1f2b21942595567d1f1495a0427df0eaf3f0765dc41edf2a7e52aacd1ecf8431173c72ff8bd936f51efe4cbe9029669409f7d63b8fbb3ef1ccd9c7cbf18b2462770da72147ffeed7b95139c9895d122cecae4e4e3f76059d2a7dfc36039bbef9d3dc9cae0b9397d92ce4e7bfbdea91d87ef1541d097913e5984aba7a7002dbea7b3e7d91f38106fbe7edca422a896ef6c5a07f96c517ebfd9349d55c1277583cf5c3d7b7e6356ed997f175d9815e12cfe080579b3ddb28e0989f8055a9306cbb4fbf33d7a8e58427ff6a0c1742440c9e9a3a85a9d7e7d2aeae5e2b93e7d54ceeafa398866a7cf164b8265a78faa0542a7df2f5f799e3da15954a3ac3e7bbcccca04cd9e5096a467a32e9b651420f47d5592951e7777b6acd122b94555dbc7454b4df19fef61961c3f12458e7cee684381e59cf6cff76285eaac0ac8cac9839fab453d8babe7acac318fbafb7657ceeaf67f22709d7cfc1e2d1679369b07cfa70ff17f7bb81d1eee97d13dc3a4b97a5e10b28cbfaf9e0fdc61b1fc3edbcea28e4fdc60171d3cc9a764b6ad0e1fbe2f9bb20e30d09e5765ddaeb1fbf43d22dc72ffed00d4a05e1484165ffdd241f3ea3916f4bedd75a8b2ac9fa345b93ee16158122ca3eecfb1fb6e53efbedd75f35a955984c5c0c3a7efabfa89be3ffffe40be2e8327dc6e3d2be3c5f3f7b393b167626910a50143550bd4d02cc5bdd19afcc127e2bdedf624fbb5c6abe7f56ccfea5e6997e6f1d3eb2d8e07b45bd53b9b1f38d42b8ddf0010c6c4b85ce27fc56cb90c9297ba3bc3f564450ed89bedaae7c5b679a321f33dc5fafc2badb2b80c5ef879d92c3baa76eb577ce4be2f67d1ea79f63dcce2ec79f522b448d3fa3928974f8be7e2b5467b64c51dbea75d89fbfbd78585672febfe7b5566f5bf319d3b9774cf9fffebc218f4cfb7054cfc2ae669fffa321a9d2acd0763516b4ffb735473724093e780a82cf3e5eb9afa45dbbdce4ef738feafb42cb39f67596ea7fe655afe322dff7f944a5c9edfa3855963c10e5a027133f659a39c6e16239fe157116b24510956b1826a68f5796219266e09ce42a35eb76c6a4dfe432cf47558ea54f71ec2fd3d5ac221a5d7488c4f2d99e5c85e8e0eef10cbf4e4a27db41a675135dd54f390e176b128b4d6e401951caeb9ada46c435070bbc5a8b52027a5d55d11fa1eb95ebe5795340d0b7309bd49e2bbbdc4924dc71185a1098c722c0ab8cf7fb4566be1b0a6513ba7a53ad451544214657dfef1603515a871292c7db7b79864f9fe19993b9ee3e8f04e7eb81a1c1731c2731bef7862dd7ff4cc0a32a0d19ad336a0d7862e24cd64d0af8e57cb1c9a0d498ac88546619899246502202976a2a52af26d0ae0f3be56504c16d0d39a3199dba43aae73dfaf408d0bd04405df8c14d044d926d1286ead2aed33b2af2757fbb1c8e5d0051bb30d79594405d88d0b6d0d87f9521d2e13b2ef657e8f3f87855c437b9168ec7e9d023f1605b2f669d62f630595d0534b7548e1bd3b5edf0f8d1574b97c249e8f1d31a021a9750b7d19b23a3afb7ddfc79022f30815be9c6642e1bb5b8ceb3cc6b5272bff212615c1a191186b67b70cf34572b861698434cc0415c8a6a1cac2a343ff8538520aeb08ef71f3508e8ee1b8ab88c17b99fe50152e0d5de75e15632a7063146551f264fdbf833f7ec1e7337b91cc9a9b78b27c61fd9763a0b0301678cf4fe6b9839ec6404f5df9cc761d31ced9effb3e9eac0d1e7b1932d1bdaac0341ceaa8c5ad8ae090d8d2ae8546eddd3064729b36cd307cf44dc87079d4086ce0998b3d0c5485a4294c02d74fc20254b192a22823b4270959357124de0662b4548746f268f7dadba4a146872404c5591037996673c0ffb33d181aab48d9a661966c0feb39d2dfc5fe9d335c1a026a2446eb33ba53ea04662fc0fd261e4de6fdcd69bfd04b37d025676b103298fe72d4189070a5722cf6d741a9afc3ece1ac2fb24f1dde605c1859a7e7e77d3813ba6017317249680dadad63cf44aa2c003058ac55855bc7a250842cc6e568b9df13bc3ebbe0295582ebd8e5720dc39735d378087606c3e7b82f7dd0a7fe5adaf47ffebc9b36acc9d56fcaf1fb467b019ea7ee3f26bfbf74d9f63ef9bdf779f23b99f95f23beffed976d5fe2fbff83e2fbfe28be4f6e6f79c485ccdef456e772b9794b26279e03a45d7290b38bc04ba9d8d31096b50ffc70b84c02972bc2dd2221e332fc125a1cfe2d79b204fe54fe062e57c58317642a2996aff9dd151f5b8f1b410b4bb80e1827c13cf3d47b652c0a9d6bb8b00b149e0e1503cfa98e14b08c1527891944e1e7b188f50d6d1d653d2cb7edd7d786de0e092c8ad8e5e6a3e1321967bd152c502f1e82065a1bcc57701f39e61526051cc223de906f8fb4de584105a048c27a8abc1c112f1bb08c45225f6c631734bf2ae79cca3717322d080b444d3361e1bb5c1e2a60a72af26aefd1735bcef8ef86fb61ce0ae1f77f14ee59c898dc34135e90a33737fb6ee142e45c2c0f5fcb823458059e717fee491557b192245876c6321e494b630915cc841574318c40d39e03611d658261d33ac1af583cca3fb1c86d42455e8d0652bb36e544bf266beaf39ddebc38c2ef8023573253ec6ea9b128fc50873ae57b261d51442ebd5707063db18ef28f7d264f8195efc13470b76d4a3b05e2f94ea01ba7a12858d09577786f5f83d327ca343f57c173be7a4388d937fa75cfa1fbdf39ee3786a1f91ec5b0dcaf780ed1f74759a6f777780eddd3dc5eec78e8717c8ffdf1c0be20cc9c343dacf90561e685a65f9e435f9e435f9e435f9e435f9e435f9e435f9e435f9e435f9e435f9e435f9e435f9e435f9e437fb75171af0bff492e435df7df67eb5959bfa196776dfe483c4f8ffd8d7ba0398ae7ee7bbfa695737faf56cedeb37bfd99e3398ee2ef7b2f69e5a74df76b7ee98ae176d32fadfc4b2bffd2cabfb4f22fadfc4b2bffd2cabfb4f22fadfc4b2bffd2cabfb4f22fadfcbf442bdfabcd7f8972fefdb7f59250ba5795f47da35fd0d229c6a61f7e677abfd3584ba7981e73dffbf16b5afafddf9b7583ea3d1c6eb91f7a3f689ae1e81b5a3afb83fa417127aa77b7e61b5afa2b4dbfb4f42f2dfd4b4bffd2d2bfb4f42f2dfd4b4bffd2d2bfb4f42f2dfd4b4bffd2d2bfb4f4ff2e2dfda03fffa5dafaf73a58e6cb7724763e6977c8be41f3cc5bd17be74a3b8db552eedae1fd3dd17bf4fd8f4fccbe41a6fecb1eefec03c3f768fa7d5a7bb7e8f768edc7a65fe17b5fe17befa116a7e7f732c7f38d1cce9705dc4b338d989ae41876cfa29097370acf6f53bf004b9203389737d150ef22a6343abc2e884e7206cff639834b7d01ddedf276417b7d1dba741a166dee61df133611c3e7334b6862b777b3d83c64b575dc1518f14b5085ca65919aae50c0505bfbc516850e9dc68abee88abc87de2b85c8af0a8e93dccd7206bb9cd0c67e7ef622810ac86237ba393629047228a00096e1eda2fbf390a16bdfe5ba222407b8bedaf77fcbfabb22dd7fc6deb799586ebe1337210b366ddf6dceeabf63edafc1fd8feefd6b7dffb7ec3d54c0265478eee61e95242bc3be40120a95cdcd39fa0c5f87aebc2fcc92464361173226a72a268a94ed7a7659f8a5855b19153c1db5ef64b18b96f0367c3751c167a1026adb95299f49db22f5721d9f15a33f2d9424de2c74bff45d0d856297b7bd9be3341376b1c26ffe94f50f752a642f8b7afd29fbdfce5da6464fc6a76687b86057a6d41f4ca4df8af87529f3d86c2f64323dfec75f29643e7c9e90d94efda342267514327ff034f38388835f42e69790f9370899c7e378942dd5463063576e0216ec54495f862cc8550930d0e5a8a81194d8e5e624e355b21801062c318d839640858dc0852c68548543f1691f6735430e352b525536178137492246ae23658b4e7e23d9216245aec27292c44ada40d7498ec5beb8dd3459fc5415be810d57c42eb79d595c0e5d7a3dcee306ba800a5cae344fda8f8bf6f948cc47a34c584745b4c2fd455ebe820aa8c386338e852ac1718de564152bfc24646314e57a4ab23e192f8c8d842670e92a5610039de39aa386cb4316603ea5c562528949f518165b4e55f815b48435cc042a504ed7d74b0292654e6f0b7b2a32a50ecd058671e0d2689c545e9741611d160e690b1540418f14ba475014322c5fe13efda14cfb9ef61c7b93e37abd7413b21ae58b02e69f1be869d4cc12aa30139288d5e663864e03b7b72645b858d0f80cd88d19791329dbca67da6c55e35268429664e2aba0a727638c0b24d38350460540b1d23f5b0f8131c391e26f58a65487f13a2a966db60751f8e97b3055150df92eb71bf7ab2a1685d46774140dcd9daa081a544856416ae6f613bf006998f517509129bf855f15123913ad6023cc4385a7a128a0b800ab58cc4744fe5210c97a100f418371ca978e78e28b42065d79a58a69ee7b66aa2a7ca12a3c1d2bf11affae2add1950da3330b27a8998544e0b5f736d2b3c0b3d6de07b3af2c5362b455b77e6640dc37de14d01cbc24954002af6b455d408fb62ed2b319777789e5197d1431dea34646214b1e6ee72fe81cb6d62cf48f685ddf7d9227c2c872bfac2f7b4d4674d1491b6bd246ce738c7733cd9ab235e5eec97efea73486af1086d2d1d069f6b2cc7080df44c3a2ab8fd5c19dfddd2d03af495e3fe5d97a755454fc3ac93f387e62264f5b34c205143f0948e180297c46741132afdc467e85c1de2bdd956f1305f894848a342aea1d7ae07928c68c23cf6b4a52f0a73dfed257ee1e0e73486adef19894b9dd32d550175ec6edb4c7d885aa84cfbfbd86d7f1fbb27bf67f94a4c1673b511266d5d2001cd14308fdb4c9023db959f49161d4f43785d783c5fa1538c6fea60b2d2b35ee38bed3efb5295c685944c6c29712873ec8b42d5c254a7f05e41d758615c0a311e2872131fb3cc256d9da2edb2d393f1184c9809db3d5d9d16268a8bfe4a4484361c750d929d43c37b438a071e330b7673f2001532586644fbfe59df33e701c9f642b273cc49d61d067fe70b75a8af634f9bb7639898fe6830133adae0ec33931cdf696955f79d64745986f88c592dbdf1dd18d3809cd48a1a6a74587018ff8f19d03241c3e73f1cea6b55e137d0c5b86622bf04256c7185d02f55e9d393419ff6fbd52e6c841cba5a7b5eb2234ef89e49f92ed64f8d7df63c043b1c05ca03c956bacf6af402bc09fefa626f246693f9253f3cc3ab64313af0b20b9ad1c1b5a5c94a4b7bce68455225be2274baa4b0f359ad8a86c6889c09b15fc7d9be6ed5169f236a3a4f36d3413f5365a29bd4aed86680d97fb7c47e66304e6db9c6bd3a70763a6eaf18bbb19df4fcc2a9f5419fd51b8a8383381dbbd20ece2566328f36baebb3534b4d3ca26fd0aa2a6a0368d13b9211725fbc72be4826626fa766428475a9b193246aaea32e53df3ddeab38e35618572226ad6069acf670891aee80bf6317d2612973d7fd74f8d6eaa0cc98d4fd02bb4041452c723bdfa537a1027663f6c0dbea8eb7d511c3d351a1a38b3ecfb35562ddde133621c6fff64c7799050febce5551fbe17535d43cacbbc99b4c13533650f83474f3ca1335de13d58c64d05204cc0fba793909f4201eaba553ed5948ce6508909cd241b110127fd8d950865dcdb57e45e89b2ad20cd64f091d52d275c41af7d341bf37110f73f5bb0ca3977ba6c1c122d1ed0983dbc3c1a49e0ed20c5a14351944ecd846b9ce48b56febc5c4f61b7dd7a7e13cbade0b4fdf40573f14db9d66fdcd783ec92ef16c0fd757f7abbcdaafab7e9c6effa6999043cf5f91fa6c9ebe085c488d4b3d0d3d6109bdc93af2401a15351d35742783d17b7a74d1279623b11c403b334fc0fd621d7c19b87a47ebdbaca58775bb46a2351a6bbac832952da74a7aea28c8f19d6d15519866e94e94a395d9a825d9b7fee999bf75d6cd75ec6a4be8a0aff3fe5f7ddea3666245dd59fe33ed24c5badcbc6e22212d0ef9331f8e57701cc5ffe9d611fea675e4c78f5f49a0f9f0ca151cd37bc173f668c86068fa07cbb35fe6912ff3c8df651e2147f1d43222adfd02adc6acbe10b34932b6a8fa4fff672ce6aa84356fb08a98bdd44ca48a7d85d1c461f8221ec66954388949b420b3e36efd850174656409f819968cd761e18cd486e40cac4356436d4e40ac456a74ac60cd6a3f9693f82e9154ebd6f2d34b545947b0b32cd839ef588e2eab0aac4285f4999392fa05ca62cf4450ec72580f5b2b4fccf04dd00805c965e89a7940283187b5ab2a24e5dee9bd143dc79a2e64e4062a9d46cf0a5c54a032181a49c8c62b228d286833cefa09d16425d93633c2d55158ea286af01cd1ee646e9d75ca496297cbb17615b7ef6d8876600993fdbb635170f7d28e3a505713b1bfc06df17eabf90136d9c85e2633a2e5d2e9cc1256216b24b1a7a3fd7a618196d0c29aa38ea2a141b4f036cfe5b6f25d6e0ef1be765a7b3b9743df2b5514209e6be8ca9caaf019b18465428af72a1ae649c8f897ef60ad77a46e167362ed5748c5dffb71c3b3311bad7c4f487d26455db9f81338f113bc8736d2e5b1adae26fdc51caf13b8dc127afaee980b166b321aa72a072b508625dd50915995e08c4cac3e502470c67365a30211ebcab88fd7a9af6169b23ed69815b36aad1618df303e831554c05e523eec834af6efa2adc2af54455eb57b21dbaa846c35134403e89ad36c124021c792780044c1338066190ee7580eb05589b754497fb4735303127ab4d124b1293f311c0ee2be2c0a4d4d71931cf26a2aa017911c9913925f3d2012084250bc3803878abf2d5eeff1246205e433a808dc0986d10ab220c59a3064782c49af5a8b8d80a282ae22562716cacebab26c2d88ad952dc2fbf9027cc6f89c887f01fdb1a8d15f4beb5a4bca2413ecce22022251108985e2445226b82e9fe0a704a6201318dfd376d3d76063b467c4ca65d700bc6a53b4ac8a54abfdb7d221395fbe258c4c6999040ab16ee781a7b6634a7c5b11bb9097a763be02a391daf41355a21a8f4a1f6dc749c65dc5e9ce4ab8869950fb586b9cabe58575e87c7cd20f2d801c4c3d8a37808cc71436bea7a5a14b2cc03b7528a411abefcf22c153ab9019df125cdb12d84001ab53ab8bedca0c747b6ddf623f8116578e33f26e6b5169049dcc2d13aa78a8a350f197ea10ec6007c7f6965147b128e80680b28df8474736ed478bf63b0f87640cd22676b99f70186fa6a5d9f82eb78b14be8907741ecbfc2e64f467e819cbbd05e8d1cb97110bb016b282039a1b2b720edbf3c84f07fd0da653785cdb915dd3e19e1caad61c99b78ca65fab0a5cfa6e94c4ca430215b4f3b1f645e02de7ad35972fd4ce5a17151d9df62678fd7fc559aac5a4aa602684aa48dfaba29a5faf414d3cabff839c77b737c25a4de0fa89dbf46b98f5d7d03389857e3fffd3b6ed7ef492310328bfe15b9c2ab539ee0316f9655f9926117c5c8f8b437f992a53c994e00d587537e52b3c4f4be275d37a5885045fb8c66f2ba51781b118b57d4f129b3ea77d110b36649f31dd144dc6f7d4c463683a62cd2755d150873718d7109615085f1e6a34b4887cd2d537e88d7c16953183568f6e5b4f63baa972dfd3d8c0edf1b0909711e3fc100bba0a8b98ddb7110b725b93a805967de41abafd4c5510599341a321a0d07494e5c9a16fcf6c62d749a63b928358b71c6e089a45a52a5dbfedef3f481e65c94ca332aec20cffde7d9ed3545402d4c16caeca6007adfe3af6f466cc6c2bbf003de84ed6013e8b805f840c8d795ca12a32e3bb68d9e2e92609590c078d0d3c622d4f436593f8853c0f880cd35fdb0acaa2426e66163ff23d988ea9741dba4eb7f793c461006af9bfb09b660f589366a0bb5d470a68c605e1df685ce8ebd0c27280d6f89ec6617cf21b7eeb5bfcd6b7a5adbeebaf3d665fa13fa542b7f380c0f39597c9d85b246a668e0c00858ea661bcb9c0c323aecdc47e36c6e7392363126bfa98a9d2b8909f5afaa6269ebd24fc334c4ebc17301f26f8239c8ec5abc5eb70f545f530078871c878479f193f39c0832256fbb5d5ceedd857d1d53b51e0be06c98fe9a6421123cf2fcff5197fc984581d9cacef0047757f564b2c6387cc431d1560095d19cb14e7ef5cf0ac47b7bd351bbbfa3a2c600531fd72ab065a740b83fea29d6701ab2b9a636b4fed79562fe9c75c6d488ef575388408eb026151ef307fd406fd4e1ec5329c94840a5ab538d9f1ae2cdea9ca1e1705c3c9235ecd8c8d9a2cda7e150e617e162b6915757a005eab4f6e5c9d2462514dfa6427f87d365088fc8ce7bcc07376646db88723541eba7dd8ee1e5d611935fd3a540c8c9378dcccefbc65487f3b3a815eba8930bd53b63b35ebdfab62b41a65d43f5479b318675534b28c72ff0ec6d993f655582c3375b048b4e66135caa2e411d36005306386a343657385f3789e8f969ab7f0e970470198465db4d1307f6a086db2fa99260b96d968c9b8319781cb3dabdd9eb73827e421c321113f1bea9856e7f8dd4757d8c48c9990e747f982f7b1dc5c90fcf44798880fabf1612fe834609c24f048dd876538cc93c80369a860ba0d728cdb071cb1e9c467086cf509dae373bfd0b293b1153dc77b1431983760dd4ecdc8f968302f48d79816b6bc976ac86db678ecabc54f2c5711abe960e6c698ae2f5505ac22163490c837e6226a04a2df623d0a389ce6929a3c5a4d6edf0a50b4baacbc9a79e6a21d0bedb0ae1cb7b73f23bcaf9aa27390c574fb14e7098ead6e9c8b42ebf6e00c162c2a232c9f8bfd7aec8155e025e7b029fa677d5ed101d12fba3a5e67f4c727731352ac0f8e2d9a0e0bd4bb7affa26f83da0a0ead1b0630d58bbe07b624db0e2d08404a2efb26f0c4f271ec7215a6cd9aa44f0ca0db8e243b96a825177ba26378c60dd68fb8eed613f795629d05ef0fd6f7809d239f58beb12c416ed4f16727f15d8ec3671ecb9ac40ea0f034d645611fd3a47e4e6eedd9e84ce6c03c2324f2c901a7895ca2657e7b864e705d2dfa8b2bfc9c2f936818e723b79f9df7570920976feef1196db5b464d4e1f419fc4ffbbd41572ff7fa744d843f399857e974ac10fd99578b432d0c42cb7da69def9e6f92392b844fcadd0d745b43a1db6b559470bbcc27faaa9a78a29a5f8f03a296e6c5d148ae67aa4cfdf4c4bcf4453579b4fa59583cdce0dd134c9b53d8d2bfc5c4cac9de85054f9dcb2b421ab537d72b88714114b03e6387cc368d0ab45307d266dcc197f42791fe787f182f02575fa8430df96e4bef4ee9afdbf4535511d06c283484ae1cdf6d6931bd59b8742ff12c4cbbe3441d50895a70eb4b981f6416d1dccb8b97b26d3b268119e15d784ff2c06b6ffec8addf0df87ba296a86772ca751b8c43182f8f7b82fb277bd1d14e23190321e9e4a0f9b13f0111f9f56a7e57b8d34057eef80c96e78548cd4c8247a697229f0514d923b0c9cee4a1e258b3ed8fadbbc5592223d9a73c96bca712f9768f77620fe31cb19d6a4cff30fef9993b8593931df7efa6bc762687e135111da4b8964f0d8a965e94bfdcdeb51c2b5ecb5da772ec390de17f4685b38e98a4953fafe5a9760d8da0193985757b625308995e6238c8277ab437215e3cbecb95f0d42eb0f77469ed3ee8741fa28317b770582386df293cc70c9605f95d20f2ad77d55e9e3893875f7b5fabc2ece2dd561639c1cfd3f7b52466d2ca679216af3ada7bb937aa7506c781ed18573a2774f545d8f433b3ad7d73af9ec19c78d0107b2b5440d179bccd43566ba0ab53e1305fa959ff1fda9ce8a7adfc21aa892ac788782415a49edf1e9e48154ff1e4f8de4c41943a905ec4ab53be746bee80919bb0402bb85b9cdb9a14b08a0bd4840c47eceaea10625ad9d5c641bbaedee00e7ac64a4d2aa25f777cdeb3696d62cafa932dc9c0ce75d5042a1fb25a89f539a88085ef81ddb81496d04be9a8e1e6a122ef22365e47c5368f1a6ee97b60d57ac97393c3672c133602151532b9e587c49b10b5b06435e2a91e9560ded606128aa8e0ebd6535327f6d1ceae8f6907f259731d95796b7b2176159d8b581385166ecf536246ec2d0da9377636466b071f17c4e36617bbda597fc41b92d40b4339f434bcdf9ba8e07fe2f75545237afe697f98378785f9d4d92a9efc42de41d7aca22ca9d4e1f2cc0e32c3346b20e17d24b5878ebc618f3b9a41e4a56e5f2205cc031756ad2e43d6b98272676b417ce67b3ac273518f7c8f78fa615cdadb4b545138b4c3e76e42744c81bdfc7ed481d43c66f0fcd544b529ac8b941ddee5e1e69c46417cb6863191c1c70d57c745ef264d3ac0644eb57d1fe97a86f96db0595cf08b6eaf315e935a98ad0e67e59a6c807e3d1de43bbde92f306d73187ee97b5a1535fded44e4ed48911b7f5f2bf4407b89ccf6838c5d5237ed07e4b7f941ff20f01937bdd55e0edbcb0ca77384c4db932f5a0fd33a8d5aafc0a30e757246b5617dd887274b1d3d19e42ccc43869bfb9e89c242a6da7acfdb65ab0b771e718ad4e2b751eddb3e613e0cbdc96264b511266776b616bfced787f1487948d4cc58c44335197b9344a3b72bade997aa18258f62fbdec8dadbd92a5e4c2ad100baec51a6e6cce997714f54f3d15060a198677eff5c463572d936012f5940bd98d381e6fd38c8ffcde4eff887f7409e0d4d14b6918de49ce13d08d9e896f7621eb2f12a54f8b4bb2f2436eff6ecf7ea9825513798e6fdf43d3581a5b60eadbd4d9b9e93bbcd425e927bafd6369186ca761d63dae6e9446f696bd8751e9ec3b8f13d61033d95e8a2d1505b0705a68fc4531deb3e98362d0257ab62519807789f5baf45ac276581cba598a6b5decbbdd1df04e3f991a7a9f86c1df12a7b58851e5c8dd9c33ad72fc0f2064e773c3e337590739e4743d9c9b5478772322ca377b6dd1b327a7716f2b696ae2a12bab53e8ed7e17846b311b16182665c546994a94739b038b1b1fce179e8ebd8dde6611653e40eb9303adec41fc7ef6cf063ef00a75550c8cd58bcc2c72a16fbab71d6eb645ac203ce6876ab9bd2ae8de2272707864d03cb166fd944b1ccad81a8d8f0c7b569b223f1c0c937ebc07d58c78afc8c69ef8df9ad27628f1ecf2737f693da8ce7ce6ad2b4fbbae77f677a8852a511024d38a0b2606852d170723f6ef8067ac2e1fe605cecefd3b9755444fb719a3183d663d64c31ef08ac1b7bb9ebaf74abb7bb31e7ba9b3381edb91cda4f54a2476e912a21c5d951d9a3a5b67aa6283c432f4fe2425ec6aef34355ccf5711dddbd4066e236e44e4015d3c35c80a72d47d6199c3b0f77f587aa6019537e5607cb1f2738b3f3dd4987772689c820b45bd20487024fa684ac8e0fbf8ecf67111593fd1e74b45bcd6d00a780e65d1368a24debb29af57975d8de59dcc093bdec225de02291dfa6591feb5a64ad3760dac15e1bf95e2bfb6099e4846facdf7b16d413fde9607b9b5fcdf5d08f55c88da3c85430b8b4b31d6c576ce072f87ced884cb487678e7193b4c94e658213181ebde3459a518771093de34d5beeafc37f7ff7d0e9315d6442ccc4a8a30547de429ea9a7631ee8c38d3b97eecc03db04dad4703a9be270fb70dd46d8eb0cd24dbbc8e1eeb685456b3b20389fa922fdf8127c4fdfbfba5be9f61332805245aa267442a4e98801cda37563eec7361bdfd37758be84036a0f6bc300ba0d28de32c5d6ae40e88fa82663e781c8835778f3021ca1bbbdc60145a7a362f397e340e7e17b8603edb3bf11073a588cdd17e17a891fc53bf0a0f360a7ead8d35194f5f7f0030e052c3b9775d35edcdaebba95cdafe9909a5de081ebbf0cb3fe2d7bc71f900dcee9aa8265cff69e414b7d664964d4fd7e76fe16c487e2407f5fdd5f62331b107d7d47bdc53b5ad9151de07342e35bb9282ea4b373aa3682827535a3bbeb1e8bc22e6610e5334942682c915d1f1240ee7c79b6bd9fbbb85b39f11969ed3b938b33d2cff777e92fc08ed8920c669b46ece4e53b89c31c0eb6c4162e8d969ce1dc891df3784669a41eecadfa12d394d7f1fe68932277707f08eeef18ef13e8c9352eaac9d8120621436f02777be2d3c379fb736c2a3c1b16dbb5ef9a9dec0e5355ecadc6997a9dd9e0fc7efbf2df5c95f475e8095578a26b75f8deda9bae334c907f23f165fba2dfece9cb013fb2d1353d393f3337f6fd5519856a651470e069e63a6638e21784e515bf1bf7961de2fcdf24714ab00a8be3fae1297c5fd8af4ed63fc8f920079691f3b669a9c9a32510df91b7c73ef21355a44ee7f11e9a40eaa4ab2fcceffc3c9dfe4b2e6dde59e0f60ef6eeb1ab6faef5b5d7e773e6f7246b8f560e06a03d7bc42ef1e6de1ff093d845f06f7fabad02f3f590217e03147439e23b4ca205ff8e396d16a37d84f7c15790162c9baa64836ef57c4cdf1e2df3c77e0fc8b9714ccd992fea735b80c61fecf61fe0971d8ebeb6c7c4aebeffdda60507eb6f9a985edad3c8b89d5fa1e1e4fcc87474e730dfbdad82a998d0e2f0bb45e046d9c83a8e4dfa6e54e29f66167ca34a7b1f804d12b171152bfae2709f3d34d7aa1c57616112fb0f2cf82674654a5534843f431219cab5febb843749a317759be3fdd289dfc4d91dfde1f9a32bcc676e7ce08147bde738973fc1c7e036cf3d3beb2dcf3dda284efd04ceefcf4f7d11deb99e531f85566f3b81d9cb7b7ee19bf1328ebd73bd2f9f110c67a247a2d83280609840bb71f772b079743a3d77e439f925cf2199154662ebb37679474922d8b40bffde2e42adbbcb69d7f2ae33f12efb1df1ebcbc68eb99f3bf11d23b461eff3e251992aaab5a9ec6d3c341d0ecdca76f93c76b7c8d9db3f25b38af05f856f663695cfa897e1fa748838347f005a131c59901dc44f0c00a60695ca4e499dc0417fb473a89964affad99f1f9df75bf45612a343ab7d94de7def07fb1746e9fda03e2f4aaf9dfa0b517af4fd3b9218ddf334f3a3c77f45e97d45e9fd7d517ae4381e23f50c59936debaff1e81f1855dfc981fec9517aba980b96e9502402297489f481259c7d84dd3a3a8978db4760852e58c5c3c94a15051bba4e1725c63d02090d4c4b2802778b0ef3bd8ac43a44a3555123b021ab3d77b1ec2954ccea10f58225b34e32c292eea1bfcf8dda3bac3f561eda48bbf348a8035c8f51589b04ec63d6b37e339ef793116e6b50a30e1fb2635bb59a761181ad5733b9dda723c6397828939b0505f47c066c6291dcdecdb1961d2a280d0bfd08c7cf8de2dbaffbb07ea23d0e4d2a1a2cd6633666e3864bbbb5af8804c21cf06e37a6b69a4181a94339f524eb6df6733ccc5506ab5001bb887879cb74d07a536433eb9817a1f544d9a6711b259a4256437b6f87c0ed2531ab615c58c1667398637482db504124a7915f028abc771671795c6b9bb7eabc6d9b7ba8775cfb2745f91dcf68add9b9b1541550e1f94459eb6548a21d49242322119ad0352eced071de07afac035e1dbd42fc4658fa2e57c6ae5c424b284316a2689fdf46014de8a21dc1cf7292b479a9b655e822aa8d3ce376479c7a29eaef80cb7f116d5b1cf6e2af89003cc054ef22e2128735d3a83412e0f513a3905bab25a337812750d7f8fd5244e0a1df538de856245eaa4a9564354217a16356d1fedde3dc1ea3e1217a59b6919fc485dc449be3dc0f9ada8dc8c2fdada8c6923c5ebb58919721896e259e8fc493e988af7b29581380a4ab1e050696f480e7bd835e7b2635865f696d24060a8b3632b7f55800f340e109ee1d688da2915ca124ea9be4e535772f8e853533a09335440ca0084f13e37598b5d17531235771e705e45bed8d2be6272153a3138d19858589e770c0a373cdbc5f9388c593fc5e11d674ce7928897452658869ed02ba3d92b7e9ccf2753c17ad35ebdd518cc7338ce1796191a8dd2eef942ad23e1e33284c361a545454c8ab8815d65169f070683e450c3f0f18408df7b9b6e634371eea74c4e2f51bfcccda621e4ae8cca39d6c2683fe153c3e218af12f3fab47dcc1bc1fad548ccb6227b774169c36c75fbf34c4a88b8227d14d7b0d56348039b0645e36a8f4917840b63886d7d25ab815be80c9f93ec50aa248043ae327c71cbb42773b1ce96289e5952d524567739477c0aa8323e9b78523cd9128c4a1d95ace8f1631c7a0d227d3d155bb8dbc2b43a657e2be02d74fd40cdc9cbf66a9c9a34d256ac1afd4a3250cddeed7d1c58b75690ea14b88e0be02b6b18b18dfdd927c5278ad5dc4a64eac72a28a5a2b0db1c4f1aaa866aa98927ed4bcb5f8b4fd01c9c9916b5a4edb1e108b0b52b3fc747cf9e011ab48497b6387cf0eacc282e43d6af3529d44767472522babe2f91019aa9f69ce5ef3d7c716109e9c7c82d4accf3f5afd4ccd304fc4e75a7f0e3cc1f269a1393983adb7d43e3a6c482244bb713749c8707368755925942d9635e733abbff20b99c27bdbc99d696b8d3d692b72f3d035886720def381413ce2d00ccb1e64be2dccbdc379d29ff0d8e3424b6351c5f8ba0cdf6ed7c100f4024fa78e7b03a243c42ccd6fa2c25991fc862447dd76f966bb841a4dcb7358611cc4f4b8cd0fb5217b48e8b3042c27e72d8fd21f4dc9e127fd93f329637c42bb90d9a6b1e260be4341e2edbf21bc2b7049a40896bd9b90a19248e1b19c427809fe1c1f22efcddd58145868b5b2b2ef72eb4e8eda41cf6cf394f5a99181cf94b25d63d89dca108f36c53f5a820d24d902a2e01ace563325d9b11c7e8a71f8d1a62e70e9d41a7982e74abcc6b4d166ea11894068e142ce359691da7327c851a9ada3f9a5073691f58bce8b15cbe45ddeda73cfec71eb0dae8b45eb15e6285be4930c1f6dd432b9f93aedf7dc937ba50ed13af6548c774ce069ebb0a0c939c6f30edd568e213c79d02b26c7395fca23eddcba3c924779a1cbc37a3e47ac8bb5e74b014d54f00d81fdbc7a0ca88a44645ce3fe297c41e41768e5b596ed15f4527438af0a5a05583739ccb37780cb2b5efa0719c5777b78ee989655503cf3165f5dacff4c3ec334e31a07ceda1ba10288475727a31079e1b48f237eb7d1835897c4727f58c22a2af815d199c57d242bc93241f6f631f39b3d4ea92d2eb7398c897771bbb7ddcde721634327e75dac09c3aac557d8c2ea84eef631cef35856355f3a0f98061447f877b4520948ae4fb2de9bdef06351a8c685b3eada5c78e8134f55624ff05db48af6379905bfec6ee8881559cd8eba985960bc3b7a3bf82cc631023b622b68f9e98915d822b7b36da446ebfdb222f8589e658bb8b660cf297475339539ba982385d832ce78ccb57559b354fed13ad2084cf74d05eb973a6514f20e3aad4c3f302a829f2648658326b7c6bce6e8926674f4548ebb67c0371d9d7805e0dfa66d7481886981d9caea9a9909b22b219bcc0d90f7908a362d0cbb79f8fbb13b2fd78151cda1d85f617a653944a6f04ee68f0cca38397f785f811478da34644d85d0aefee53cdbb94386c7b85c60fc385fefe2fec61ccee4de5bb728fbf574f3cdcee061a947dc7e11cea7e372eb58fac0d817b06f230180ec4a60d0de503a5947e3b09e21611dc2674ff766718237277bf41afe8076df3ce5fc56f1149f1c129128e750418426f8ee76d0b56bcfe809ff53a54eee74402f56c06aafff9b2e477885a980a5ef210425d08b14b9fd1dd38e826f5491575451a3230664beab3f471696c9b655e84d7835eb23cd95084d1b892a7a058ec82337f45c1494b026d91f48c600b55215228be1f3380239fd6450fcd4ccd1d03bbdbda105fbd1925ffd5db5c85c88cc1e169d1c20f68bf7f50d5efd5d335a1c7a0fdc1d0a38473db6e51bf87ce3f374caab35b0cd02978b5a2f060ecd148c472d3e9edc488d0ca0f227b2fe8ddb3610114f13b43ddcfaede5c36b6fd8c379fdccdbc413f9cf7c041437b12959f26860d97faba736a1af8a4dabc998f213b534d7010356d18eda8e076a0215b00c5c7af76853992a3ac8b004cdcefa8bcf807534d448b693584128c2382e998faa98e8dd8db86666fd4cb380a0ce295e2d0f1e2aad67a3accb4014249b8ea7b6c40ba64c3ceb79cd02e2c05854a7b2ac79e2edd1ea6b983ff2acaac874ac60d89915d11d48ada78387d05544c9159e7432789799a9f619b08a875a2b57b7bcdf69ede4ed785173c8a17e1af9929c78e36019f72023b4bc5ea6da28beb4f20b44a98abe80aedef170acc76b5548b2cc0824273ee6515d668c2a628d4403471cb672d9d2acfe6270f0b6257259cba3c43eba384f08c3b1cb88918cfad44874cf74c78b288853dd36d1c5244f5eda238c3b171111e833f159b472fd2c3250ba8e12b986cbe66aef03cf209e580363a175b07ac94b1f9912efd9f9f6d170cc2700b409a685a2d1d5f4190aeb98014d577f28193b875a5b899ac11f2ac2b421d748e49cabcd430511fde3d11256d08bea90d15a9951de47697253e8192bc080cc60b615d681a68d36c3f3142dad8259ffffcfde9736a98a3c7b7f951bf376fe710e148bf08f785e74dbed76d4d3ed02c88d1b068b4751404641c54fff04c5aaa222e2d23d1513736c2029320baa7e99595999f3260fdfd39c27827a063846ff9ee9db9ec92de577d6edf0f85aadcde60d973b88526e7415ab5ef6f9cb7e7f1cc1ecddffab3b1b8f229eea33d5c3c580d7e6aced8a7c4797cd8e35e037dbfa1b36960d8e68f2ac062314caafbd91d0c6441e737a0687356794aefabb04df14839b796d487c65f9abace80791caddbed92cbf98d1f7092357d48ffeec536fb8b3b8af4d4c13bc6fe573a6f118a5ab65aa270a0d20f16dbd5f652dd9ecb4073c351101e70abd39dd07dc54151a965ad33f1583c564d05ec9e517b65eb1e1bb48bd5ee9504a95537f4fadbe5c6b6d5ad3e5b85153f581d15e4ad096a1e2efe91daea579fdb93f5ef486bb1e375c4ee8cf2a9ffd77aeebe1655feb9bbfbad13b67bdefbe9ed819d58176889f4f7fffbb3ef8f63fb15fbf62df4e6a941c9c4fe3393fb0dbb841a7db1f37fa16dfe3d8b71e4655bb7df54f52bfe9575a7abdcced649c6b74633f5be79d2b73de3dd0c7dc1f37793f3a3788443a98937244b89cd4b73cdd2c35b245f3e4da8f6ce98f1bddb9eff7087c38bd778eeff4d7e356f775cf9e8fec7ba8ff43bd28b4297dbbaad2d71b1f7dddebb74ee5a3f71ed88f3efd27f493057a6979304ef31b35fa3bc73a7c47f9fd7b2b8588d634c70330d13dfbd15f4383d7a2b59c26ac67d3d6c3f554b9ca9903be4dd5cb94361062ff5d90297387b669b46db19c586bc8e08b93893696c9c707fd5f90072d93efd0a79fcafca706330e54d79ecd12ea9d51563e8180f2a7f9f9fc3e8b6dfdf540e0b661d6d1b0bf60f4fab1351b98fd28ccae17f9ae2db81bb99f7ecfaeef3a78a6ef57dbbd0fef54fa33bcd19b55fa1d6f7cf63fa3f72f0352f3fbfd739cfe1df9d79a583dedfa0d23bbacb9f16363e8a703bb42a230ae8b60c80b0b200340029a2672c675e1c5d5a6f359bfa20032c39238ce644abe1e089d25ac2b2645615d28aceb6458573818e3a8ae8f379694e18a45589902d35a5d725d9f327f97a79bd80b5a9b6ca59eb5f5d046e62badc8a33e0d2ce2b7f92ad2f8f72ce1fe3bdb6e6e3f9d56995c27f3680656d57e2e6d52019f517c6dbb0cab2f3ba35a7b56d75e4999df7816ef65cf0ce29a47557c299b2d7a546b5b1fdd06ace4e4f1a1122ad13495adff7cc66dbdbd6c9af8a4ddabb4a75295b3075d3cf0465353b15bffdbb3583eaaf8cab3b8a3e8a82989797cb6ded62b99676722bf89729e7f78cf7fdbf81558dff5d9877158e9eea3ccc6d77dfa09dcb76c54a62abc47c465f3dd8655dfb6ebd5406860122f4e0644a721bec1bd2d4cfc0ec94d73fa62f731eab55f69d77bf827d324a2aad63effb59dbdd17f077b93183f9fbabef4ac35a5bac145a03bcdb822f6df2d97249bd377a609c23d4b9cdb145e972aaf5ab246811d99cbb09f82f793a03777a213fe86fb1d7aebf87b887970609e131ed7554f5bdb067b78de36a127671aecd1d2158d0aabd5fcddea92e447993d4913ca9bf64cb55a7145c0611fd377e7f75b3a5f114d28675c69d1092acc3a6125950eeff100b5a8bf39ae536df6c64c93c8461ff219e5c42853d0ebe4bd37d9501c99e030a5c661e79ea1181cdcbf02f3c71b2caed65e71f59df364821a602c475c1126f5fd773d0bfec5f1ac9601bf66921564d2e823fea3ea42d45aae563018edd8a5e26fbc8c5be25bb2b24d6325f7d6ab6cf745df457cbff9ba1c081db8e7b21954bf6ef2de38d25789aa4949fe1da5ba99a830df22e60415836d89ff3c2743fccd4fdf9d76975c3767a2251b95e547994de727ad7f08ce1579d1528c7e7abf6ba4dbd2c8cd479985f922454377c52ebe966b9c29f1a49318fb702e80ef7e6f7c7fc00ad1300ace19107a6835c395d978bc266880ae47636eff1a31fb3bb99ff1a3eaf77197fffcbb51b3cfbe873fbdf5caefe3d746f4fecac11cb43bb7cd4647de514cf7694b7c87fd28b3bb7366725fdedb267e4f5aa774ee5d7afcedf569c41fac54dea3d632c09826012b36edf645ad3df5fafec3d06d3f27fb7aa580f66a87ee6dede1c7dab3c0449e9a8e7ae137bc7b5ee2b9ad8f077bf47d7c221b1553e4e10af8e1fb4dbebbb7cd4c14a025a7cb469b4af40b13bf03ca921395a50ef028f5dd1c56a26af2b613e41fb6fdaa6d9dedb1f7f2516653f93afa9ded60e8de3806f1f797a0df7d6ea25a9a64728e247ce227be19267c67b062ffe13b649a20954f26f5bdee8d118967bc3979ab96f18942b471c5e06619fbdc158536d6e42b5b7fcef8649aa0e2aa55dd18f06d6c4ffeed00b0deb70a2b2e7a73877f9cfead05bceeca157f474c8053f19c15cc533b73442dd005f6c6cc85dfd9c97717ea86e1f3f38dfb94b9d3c40ef4a4f8dd85b942e14ae3df7b7bb91931c80f9ad47d76ae037622d70eee0bbf8bd5805fff1df4aff72dc3e3035aef7da5b7c3344182bfbdbedfb996e4ddfba6c33e4c7ef787e752f4d140afe353f4c069aa7e1acf9ff1bc3a1b9dd1238fcdc31f65367c7fc9effdf01cecdfddf1117d3f29987bd1b77412b3290f8f0ef4e1a09d60055cc515a392facd7cd48215042e554f4fb6e5e7ac37bd6f6fedc85536a8e84ad9a1573cb037fe1918ec5671a9a50cd4e85a73b65989588025429df173e7be3bb0326f19d29abece18d11c7e7bc4795e3fcaec29993d7d6577de487c9be1fcd3040d5ce237a17de4d9a670474902e7a273c9b63d1d4ef69e2988fa4799b592dfe347b53255ab3a08a28cf6703c92873a783f55980b3ed92eccf3bbfb9ed7ab68e5b436db19774125f2c9fe78fda826642cef7fd7d4f6f03b499d6f4f7ef7a251b1e45a7b2266fdeed3c6ad8f59862434f44bc66dc6f9f49026a58d502790416599c4a063f32b8cd0e4553778d77688eb704e7d3b7fbf278fc48b948759de3353fa28fcd64ff39461fc27fb5d21f4ad5ae5ec7e7215fe84bcd0ae0dbecba6a1db035ed53d9b5bad8e3ddd3cf2e9340dff5b6b1a895518015ba5d3f8364d0fdaed98edef16e05cf8ddfbfa9e23f1f844047d07ae089deacf32bbf5570df1cfb05a7ea4e7a6d367eb2fef5d9ec1e1a358786c1eda3fbf879f7b3a513807a5cbb46b9f4e06c086fd15d813613feed9a495a9042aa6d8a5b091f0aaefcd99a93e1cdfee87ab94be5d506677e6cae018bedf8ff12d5708960be5f4ea804710ae0cf8fe747f6500e0648964489c2aa52e10e0440fe0ff25c17f49ea07c0090a6718923c5820f05db867d60740b43e4086eb0338cdb0448ef5817041e092f501828ed60700a0299c617126657d609f349439657de0046991eb03fbcb02197dd3c1d1e17a41f05c6b36fea96ba6b3194a864a93a779f821c5ab0cc1fdf162c3fffef5e3afff8b561bfc6f6177b1c19cdbffa3994b5bd2f591fa3fb263ff8fb492345d92f5d1ff68e6ffc88ea6abffa348ca64945c96f8dfbf145d1b99f68ff1fcaffffca5cccd3fdad8fffb8f632ab63637fd236b361ea9de9fff9758c4f8dfbf468bc57ce175c11fc3fe6b676419d26226c351e4ddba3879d1fb5733c73f8d91e1d1cd75c91cff982fc63f373fcd91fdd372645d5396ce9f3fda065eb766e31f9af9d3950cfdc70a7863640efff9a9cd1d5bd3fffacf5ff3e55ffe72c3cf3f9a3e82eb0efff96b692f3473bcf444f0175efef72fd9f903ef955d7bb4841d60588bd172f9f38f3703244f8cb79ae5f7902d69e668f153d796767062b4817f2d5ccb9e477ffc94fc16fd0345b326b01782633579515d4af1c148d93d540145e1ecc1899f9a698f16a6a4ff1ca96b69a12ef7c9745db36c4d89cf4c0c297114ddbe904c35e8b5fd4b4b47b6f5517cc150a9f8c0bb2f71a4908983a400cb8984ef1c018ade39a6709038de7ba4ad27fa694361eceed14f6b06bf8991a9cc55cd1c27fefc292d4d3c792c4bcb114dee9cd14c69e126cf4c46c9d67e4ebda19538b6e0077afca31fcf65e7cf1f499fff9c8c16a32b06c4d9dbe3976448d63223a92dcd4673f3672ae96464490535e38d397bb438c3953fe633cd0b23431ea997cc2067e996b60aa7881c73cd445a4e829f9fca4221e0fc13768d378f48fa38794ab19ce4e11fc35ece1776f29439b2ed85a48c92e7e64bf895254f59735d4f1eefdfb218fdd1478aad6bf6cee9a5668ef5d11f5d1b4f769eba74978aa4eb3f1d134a1abfddd1d2d6e7e3b459d53f6df8b3a9f7f353d6c6f19f70ed1cfe1dcc0d86a7e7f83f3f0d47b7354b8292c313ff38737ba45a0bcdb43d8cfaeb3f7f9923dbfff7e7c4b6adc49f3f95f97ca68da6d22279d2fb27ecb7e864284670ce9b9aadc51c4ecbdeb1b388d061befc39da8c94002752e022e84ff8d778b4b1a23f7e2e5dd396bc4e5b38a6edcb18fcf5538168191e459d2ad97303cec5075782de3c38ef297afff92bf85496f642999bab0486799aa0a9043f71f3c14bfdeb3f7f057c39a6a6786a60f4d74fc7fe83d3bbc70c3c5c4a7f3cbad5c854e78b9f3b232304b189a44c24805973ddc5098c3a430d7fbc1191952e9cb24f113b8bd52884ba13749399fae734453c4003a9329247087582f84c07795fa26a2ebdff8dd172298d8f35b7f3ad8f1d38c0ced2598bf9c63d43087e4e2c49999da0d254533a7279e92e83592dedaa37e47e2e478ab318fd9435555b38477b0b92da0bc95cfe992f8c5344e1c7ea359885cef4dafbbfbda09a50d71d3aa6660fbd796e57d3dd3dff7f7bf137ff7b5ec1f46ef530edff509ccebedd1cc5e8f8614cb7b3d07f1ab0234f6667f328aeb2d3e91f04c65280c24a743e3b9d78b49d4e47717c005080c229eca89d1e9386321fb5d35349919d8eec7464a7233b1dd9e9c84e47763ab2d3919d8eec7464a7233b1dd9e9cf67a7fbd6f37d8df59f5369259db6d821c555167be9074e5014604ba5c3ad77992c7632b2d889c758eca5d0b6c6499a022c43a4edbcdb270d653e6ab1a792228b1d59ecc86247163bb2d891c58e2c7664b1238b1d59ecc86247163bb2d89fd462f74de80798ed3fe78bf169d3dd23b8d2722f912c451080ce19134f3d8de55ea2318af024396fb947329fb7dc93a4c87247963bb2dc91e58e2c7764b923cb1d59eec87247963bb2dc91e58e2cf767b6dca115fd20ebfde71fc7fcc73d6dc3fb245759f1cc0f0250144153049bcf8aa71f6dc533516cbb27054d63f8512b3e260d653e6ac5a792222b1e59f1c88a47563cb2e291158fac7864c5232b1e59f1c88a47563cb2e29fdd8a0face987daf23fd591313f6dd0438afcf63cf95f8afec1d200d025a654ca67cf97227b1e3cc29e27d938f21d07348353c7c2e94936dad51e897cc49c3f428acc7964ce23731e99f3c89c47e63c32e791398fcc7964ce23731e99f3c89cff1ae6bc6f503fdea6ff595d8c46de7bfb717ec7fc2e695caef6c26ab50420015dc27356ab658aac567b71b15a8266a3b2b2244b9104c9a625a33fa8401bc89ca5586d4c8a8ad5a262b5b9e796bd811dd7b38deb65bcae1443714493731461e6f8755397bfcae62b3e3036d6c07d9dcad5ca56715f6b8ac1e96a557744f7b5e4d7d0785d2b06ac09a4d72b6d4c31e03558dfe7f7daafbfa1d41a966a5430b1fbda536b0d58ad5fe6b9ade23dbbb7fc15b6a3f28da5c4b7c67da2e3fa95d6555d7d87b583e6bfbae1f3fcff1583c354a1e1d4fdda42212f6c791c3e93d3e4aa3eadd7c495c47fc24af3b01e4b7712f3008f67e3d13a5177a4d6994b42cbf1afbdb067db8f653645a1d31685f676c0abfaaff27ebb0d5dad71aeacbdda214dd83f7f3ee77efd945ad4df4006fa0c56507fc77585684f44d09fc7fd129db3eab565a2f6ca2b2655f56dd388ae8f3fba69cfb3d8f2f8ffddb696c9f9cfb112e81bcb0b0067ef9e1079709cc0ee093d6c71d0e3b39ebb503aa05896c4482a2d5c0c610fc29e67c19ebd817b0108858561cbaf3bc5309b46504475068b7d971274b01dc968ac14a2952cf2d792816a8a42bd541e5b960c0b437f8e25a30206c2d89178ca2fe235d31d583cfa6df94be2715808ba5edd29f4379501355585862bf214d6d4e65e7b11780dc066a210ad718768e8a2476fa85595a7a64111ad081412a0b855ab15ccbb57f40b458f7b9067cead57372bd17d61ebef9b9508545dd1280f644239e6f5b00f0cd515790e16acae6bb3520c52c79fd107edb9c87770b9cacd3a4121309968f444a10124beadd7a38272ac5b7fc3c6099a6dd3a074158705df672abfd1c54a67ae18dc44acbcae64b09eb77a03ebf73a00b5f7d7866cc0c2dac171cc6b1f70ae6ae8538fbff0b989fbbc7edbec2b079fb0b0f84687fda9b7310fd83e126d7e68af265452ca938658e51cb5aa63a3aeaf90ec2b11715b154dae725555e8e08ad167e277a7fced01b742704bb50c95015d755fdf6480afe52a870df8c652ec8bb807ec626ffdf7aff26ca77d31eab3baa344fddd9fff2acfec0f6d979740f97047dd94f33eb82f65a078dfa921bb63ed9736ffa7feae3bf56ae2ddd7daba628ad600f4c7f0ba363bd6d6a122e6293bf1fd8e54e596729599fb8a10fcee7ec33e2ccfacdfebf4e273de586b7aca90c1cceb7a5b970dd887e38151994adbf9b8aebd2c92cacbb17612fd3f16137f7f745f1d515092d7e7bf7acbf4e279897e699abb8a542cf3d1fe31634597da46b2fbcaa02346cae4d83afafce8bbf18bea7bdf8bd89d24da8dc769e2b96cbdda9ea8d5f6bc5e9ef4a55a63a502efdbec8fd57d85b2bca30c6f557e83350d582076290a1dbd234ca6a2f00a8bfb0df8cd72d49d6069bcfef94c2aa9d8b2fef6be6e95d763aeaadb22070b3f3bbdbedeeabdebbd4ebffdd19b757abbedbcba221c3764c44752b1fdf379e3a279e7b1a73b5aac346574819ab9734714c9e0a97d77d33119ac381d13727e858a59f2544c322d873f5231918af92c2ae6cea0cda560c2ead0a332a5cb664757cc575712da3a9c54cd8e3eaa7d3a9fc2ebdab3fafdaab8540f5688e73f3d05f0e5c8b55f91a7a0da5e0e84f6f6880274ca9b92008d17b65e6ed4457eb394ddfaa97bd650e9ac717ed564cdbbaf3ea94f0fbd2daac15a62d953c03a09ef4eec25f101f873dfd3b0cb5300b6993c1a95575c36da98cafbd5697f1de539dd33a3d438674074f0a032b1a714ecde370df8ac61273c4b135dae6e5689678301bfde973102b6a412f2cb7dd1eae5faf8977f8ff77bf4f90f04bfba3a326dcd7633a0de2e69087700a3ef09777871700739bf02ee480fee0081e00ec1dd13c2ddee68bdca9b9f3490b378f3f7e7f418231206d1b139141a92bde3737302877c636beff9fbc6bb5a9d588a4bc16bf537eca0fd07cebd1f0bcdd06c6d35bac4c57deca6683ea6897bcec7a0c0f9d8e33cff7c4c036f3ea659341fa3f9f809e7e363e3f6062eee143773df9b81791d930451ef985033f6ac8f6d340b1f71a3469a70adb3ea555942141a6f03a1ad67d58855a3b26c9a7bf746eecf789df4f31df2be8f1c966c7e8ec52aeb1deb5de1732ef11456af8913f9f8baa9af6d6b2fee03dc4b8bd172ee2c94d1f2f41c1e93e5d8feb23b7b93707a62726d7f6188c76e7fc1c828f1046088128e03326dffcbc1941cc89c65f68e49d1fe17b4ff05ed7f41fb5fd0fe17b4ff05ed7f41fb5fd0fe17b4ff05ed7f41fb5fd0fe9767f5a2c456f29d77bd440ffe295996ae2912346cacc5dc1a2d6ced9c717fe49ec83f5bbacc3d7bccc0cfe69e250b74cf96aef1ce96004b6214f81af63df2cefe2be69563c33be19215b88962d8b8e25286ca539b5197d247351811cc06010fbf6eeb56f440e2f47c03291eeb477c70711be447447e44e447447e44e447447e44e447447e44e447447e44e447447e44e447fcb7dbfbd036be9ff7d07bdccff3219cbbdbc51e62b13fb8900db2d891c58e2c7664b1238b1d59ecc86247163bb2d891c58e2c7664b1238b1d59eca109fd00b31d96c03d69ba7b048fb5dc4bc87247963bb2dc91e58e2c7764b923cb1d59eec87247963bb2dc91e58e2c7764b93f85e50eade80759ef41e9db9336bc4ff2582b9e41563cb2e291158fac7864c5232b1e59f1c88a47563cb2e291158fac7864c5232bfe69acf8c09a7ea82defd7bd3d69d0438aabed79ca3358193a9f3dcf3e51264dd2b3e7b355fa0b64ce62cfc7a4c89e47f63cb2e7913d8fec7964cf237b1ed9f3c89e47f63cb2e7913d8fecf9af61cffb16f5e38dfa9f6f2363eebdea0c558f7649a35c9a44e9c26247c78cfc4cd934d9026badfaace7cfa7c9e22c89d144a6ea730fb7f2513ecd7fd9ecb237b40ba87164767485f87424d32f35dd0f1373e2f07c69ef3e5714dad840686f55a1a18b65aaeb1d7f86c73b25fbf555d36ce80ad19928441b570c6ed6345f278ad9b6644371fad58aab00cefdbdb62c5980893fc732d1309b8685cb868e79bf4a55c744a1ee0c8457aba907fc8c637aaf6d1556764d79960e8f5fa36343b554837392cf8bef675dd1a5e6031e9fc212da65ea4d261a7a8faf600330d115b3e548422bd91751397f9fe7c944e6dbb06f9a331c960f1785c6b6a9cd2fbfc7e0bc77b3e4aa0cac6abbf73e52aad976749967fb5e3bf55a545df685ab725bf5c5afd314dd53135712ff3956bd6b1571221bfa52aebecff72bfbf5bd3e78af6c15827345fed311810e449e9cffea5253195098c8531857d3d76277ac0d76aaee922bc96caf64ad6ea597757f7106063b1b75c7da085f6bb06220b7d67e6baf4a7dd6b0e4ea46a99b98f6eb33bdcc7ad37c5d29c4e7bcae3127683af38057d8dfaad07e934147fff5565fb7cab3f452f1656a2ef2959928d4e775a3ad37797d56d7d663d9e496b2d74f350e96dd3f27935faabfbeac57a37738f7e55a6bbfba479fadc9a043fd2a376c51686f07bcaa7bcf16850a3ee0377dd91d6bdd2ab794abccf8d37b5fe577afadc33a5f15fffb48affaeb5deb94259e9a28e6ecebbc6f63a20ff88eae68636d00fab6c47f6acdf28bd6ead5b7edf2f1674a556e225639f757b93115bbf856a97253d5e05c05e81eafcb7ab9be694e5f9ee73b3358ac97f15b3b2b5bf2db9bbe3bad72ddcadabf0a6071c5681f7c7f4142e653dff0ae5c428752aa7dad597ed515819bc895ceea57b9e157ac2e532b55e8acd5d3ed8563c2af2ebac78f3f0e4ec9d55889b5d9bc6ee0ba42b4272238e025a8e0fd5a96f8cdb2dead5bbf0e2ba346f3b568e8ce805f27aa5773c01b13f5376c5c379763a1dcb0c4ca5aabbfcdc742b9be694d5b985086dfd9f8d7fa8047ad5e7e55ea667b2df26de0cdf912cf3a42b94ed72b6badd525d719ee5da942631a8d258d3564c02a5e3fd5b597c5e1b7531f7b6dabde180eeff1c62dcf6123e1553ffb3cc3c3c94a3417ecb46354d64a75630d805f4dbc09acad0ca8b3bc88d50a36f0db2879c7a97383f6ca1ee3eb4fb75eba60eeeba9b5063e203a5017f8b55fe3b092ae2bfc2acf9c01601db5ca396a057ed3f34379db4b99e066a220eab2d9d9fe82f29327e634ffdbf4e93f8f8e73a5ca6ed5f2586bbac7e739b53ad1656d6c354d4f27ebe00ad65e89d5febc357d591f7f7e47178d0a2ed73a9f03a1b1f5c66ca88b356756af879167e7727f1e7e7564a2f35be5374bcea82c55be3fcf309eaf9caf82716d1636bf6c6582730787f343d056963926656ceceb00a96384ccc2df6c2074264d839ac8fc018ffedca59dd74be058eb5239f50b8bbd7d22fe5453a72dd9da6ae4193cf55e064fc62179e8cd8059f9eee7cc28b0923ee43cb72f8328112c89e318867c19c897f184be8cc3115bbc3fa36754606de62e8f4f44c0413bf9f77afeebf39df26c7f20f675db9b137d7bf9b0be73787fc77b2ea6f7eb558ef4f401b1d61ac373be5deee913c15cceaceaef1c29f26d5cadf6c71e46d76b6d6ffef6edee5a6b3c3039ac5ed59d7a35e0a1fb6a7bb643f336732d5c7b3c397506ab9317c779e1440f80ff02fcbf18fd8366599aa5017158ef3e439c1746c4954ea8fbc77995709aa6c3f9ad043c41683c2dce6b8f34923965d63c418ae2bc509c178af342715e28ce0bc579a1382f14e785e2bc509c178af342715e28ceeb59bc17701abf712017fcec7f68eae88c5fd327c96d9d13d87f71ec07c6b24c8902a55cd639786c6ed41200b1f79165189ca6019396550592e258441a889c6e9c1fa144b639b2cd916d8e6c73649b23db1cd9e6c83647b639b2cd916d8e6c73649b3f936d1ed8cd77b3d07ffe186bb63636e78bd119633da68ba28f4a67a38f3c4b1dff2f45fd17503f28926640a944b3b9a28f80679317167d54bad452c77010451f3104ce00962891e9967a92349239dd543f468aa28f50f4d1b939223972e3e8a2bafbfa2ef2e244e53758bdaa9bb2c1ba22ff39160d7d290aad5f4da23d17f98dd15ccf572a605d8968af077c5b6f9a135b7e994febef30ea338c1e1dcb55763ae0d76385e8ac1403462d5922a0568ac1cdea55d192abdcb6acb1309ab31f44d92b2ef3ab09603b3dbf1d6edb3436ab01a82ce3e7703349e8ac140dd706425b17cbaf75aed2f9acbfb79712cf396af9d515850a2e0a6d4c59cf5752ad83299586ae089cae109d6d733dff7f378a280abbd79ff84ece89f0379c0ed9ec9321f183206806a70870980c3ad36498c81e75f564c85e3c1592200ec4a45800281c1c9d0a23ff6624f1d1a93095144d85682a3c3f15c28118cf8230a6b28bcf441e5fdd769628ebf3a9b3187df8777446cbb9be1a7547b6a7d82e7f6c0cfdf40c72fef63cca164efdc04b4c8966c99cb30bf358558b8ee71792c1089225d336ad43d238263c9018c684a7ce2fe9a4687e41f3cbd9f9e5fc308de79e8f379694f9f538da0b34c5e0deb7baf6aacb467b25567547dc621ac775aacdde58fbd892bf3e6aafae0c2c7d407ceedcd72ed7ff2e6b2fe38f6a7b250baf2bd9809a11dc3bf8d16dbcc955f61f5568e8fd5a632519dc54f53424c02e5583eb8942079378ca545cbf8d7af98519109cab786d54da53a9cad9628f6a74defb4c13b471c56ce8b2d9e90dc04497f9beffdc323b9501be9601a5cbe6e7dfe5e97aa584cf7a236fac812973c3d2f4d1e2fc34ba4319ce983481659931c17f31fcbf38fd0360258624718ac8699e52c5cd9990f3cbe64caa14cd6e258c262982208e99a764298add8e643e32671e214573269a33cfce993b63f241d323c0d712bfd195597b251ba2257ac6a8bfbd5ffb08b6d87e542b8e6cb0987f9efa540c762a0aedad37758634ded4e94d7bd088ee46edb70782a8cbdaeb2c36b8936d9163ef1ecff85500eb2aeeeb5a3158c3e3c797b5a2c9556ef6d16d608ac9e9f52999dc32c9845bd67b048729350eeb5475b75e85db25d9bad9992886aaab65d614794a578c0a26f29fd13677c56527b241adfc6ddeaca3b8f571739bde3edc1ef4cee26aed1557df3b96a245f26103a1618ac2e74a049c230a8d895ae5664d016e0b4a3e0b83a93ef89d7edcd6b59755a2ffc6f5b74db07db5d315f98dbf3d88ebac3ea36dc88d950cdf2fdc72ebc9e8aa7c5fab9799bf93db403faaf84aac71c9f760a83cb569f21d5de6995dfa371faee07beb05f2bfad57039e72643f45ca4ad6bd6fabad2b044cdf1243a5a96322ef7d8f5cdfef874e0b6e6d7e8bfbf12c2fb5e03dbdc16f9c4cf6c94799d54642471f0076267201ddfb46570d6e09693c3e016b2b55d611790afb18cf9926118d83bf6f0bbde1127e0613669734cab345e317812f601892040cc809be748169b63ccef3832fce901441624c06f00d65ce00be095204be087ccf82efeea07c08fa56a2f612064880a0b862acd9ba215a72b54f375d66d6af343eba33ee8dabb0ef5dae3e6b126d77e0b2f680d79d26b026aaf1aed5abedb99fd8e193adeb5cbfa361bb332a7447f7c7aad0587a33b187b4bf3566d5a8bc767b9855f9c43b7f3aef7ab75166b78ad15ac97cc59235d6158520e988d03afd8c87cec85369d11959f3a566cf17da28c3bc9c7643383b332475d1ec4c910c4992e4618c6db6d9b9407712e4fc8ad999f566673c8b6914ca9c61764e90a2d919cdce6767e7b4a1f99039ba2bf2f84aad725d51785d2940c764a2618930e1176548bc8a7b9685674144d6c9dbc6f5efe9db8ac1ad65a26da955d61df5925a31bb869a756c495862b91e6bf6465b97cd8e3be0d77bdafa66a5d47ccb09264dea6161e2b9f8de5974efb89f7c7e77d7c249e1c1c31cad5ef313917d741b73b5d6592bdbf9aa493474a5ca38325f01224f3a03e175320013bd69b0aee86190a7f54feb495e19ef1e996731b18bbb89bea3222caa9dbeeeb52113af7edf86569da1cfeada2b18f01bdc937d003847ad352672f9ac6c4132b1f8de9e2fcbf8336ae375878f3debec90179373e59d7736c1d4daebd6c353f8deb7ef517fc1a48f009fa806e7b4b404af9ef56570b64c74f4a6e0f531bb854bbee62ceac733d753bf0989ff4cbec77f0606bb555c6a2a03dc5679ca526bb31cdf95559689f6b6fede5ec93c0e13758eba05f759f4ad5221cf2bc550bc3149aa426b1525e42ab3eeee786cadc244974d377bff3ed679ab6bf242f266b7d35a4a4c16598e18c960176d04f29494d20f9665198ac201956b23105b6039a64082235a0a89a5ab2964898957bd68862a01923daaa694e20d3e81d447d5945452b419086d06429b81d06620b419086d06429b81d06620b419086d06429b81d06620b419e809dd85b18d7cbf6d41d1337fb6a4d5c81c0e95b931fc232dedd16263e8c3a9a4cc967373a8cc17a3e84032cdb92d795fc3720886383624cfaf525cdd7a1ced9529fe3e5ad228610c495244becd480456605d27c879ee250d8624498ac44bc77d05f13a45287386258d04295ad2404b1ad9e7a8ebe78bc44a48faaac552e21bee4068505cb5a2c9d5be1fcbf5b689ce471ed999ef95feadbd4e658039a251d9aa55ce1d55f165d3b02603606f65403a03c0ba62cffa67c0b7170a609dfd58a6dfd3bad3eabd38e16a4abdfcc27c629bd73edeaef4939ef95a10c3e4af40ff3310ea7075bbd7aff09d3ef5a73fe33e7b78bbc1bdb35dbefb0957939b409c28444757cc892d97d99807d05e29467f251995a944b457b286efc574316e73fabe6e4e3f4fd060218d231915b7de65765731b076eb936bf73a5c2b3ad79d55f8cf7ee7e3f36bc8654b46050cf8ce6ae0521e5f937d0ff9813c6f9b5e0fe7ba9f18d7db89ef33d8955a0e2313ac89329daf9a6ea7fdc989959ece763bdceb471fd3fb3dbc2136a0671d5bed7c4f20fa9e56f07beab247bfa7e636fc9e4ed0f4421a7c1b6fa2b3268af6beda8b23db95e76dbd92abbaa61815b82ab7bf0a7027afff05d3003c285e5fd86f36541428f6b2b07006674892c64a391585026b2640ceaf5014284f5138965f6c07fd439933280a0952a4282045e1268ac2fe507e060d01a218ddd2c84dab4c6289f888b7de7ba5d7bf2bbaf8881af292a0b57dda2fa1054c65a2a1a72323a4b523f9786ba21a95990c5a47e4b15eb959e5bd87c5f2f43196ebcfeeaaad6597278e3f4c97076f7f705ce32d7c3f1f6536fa8e610c22488c81fbadeb5f307ebdc12a6ba67a03944f6b3a7209e0cc4548cf320c49a62412cd06f4a0408f80c7787ea0274a1ed0137406a00f443eb667f60829027a04f43701fab4d1fc0c600f739968124fcd9ec41500f3ad0c0cdd11cba9e672e2fa9700ff3cf27c11d33ffe76d29581c4f5ef6cf27b63d876ad51ca0975c614a319647f46a422d017ad1a1038c9902483e55d3528308519e4fc0a6700e6e9085406674024f3791d21498a7404a42314a523641fd7f7571660095abf2c38bd0f587ec95cfc1fb1ba241fa338407081a5b0935e8104cfb6647416bf4f806e528618a0d201f7409eb7cdaf4f4e7cedbcb36fb702dc842ca7793f0ebe7efff0d64cda8e9fdccb70abf7f9ef5238960b02c76eae721c3c25523a18e222a583000c49b2785ea5832c50e9f038bfc2310157204086dd9791cc19948e0429523a90d27107a5e360643fa7daa110f56dabf7f290458a2cb01cf097ba70b1036966db6d6ddfd75f55fdc82f27fecf40102762959d1e81e503f93e2abb8b05e1a65d19b058bdc6b9f21ba679ea0c4c8cf08ebf7233eeb780372afd77b6d7e53a1f7d7d36830b0a5dd618086d4c141aa4ccaf13b2b109d98eaa525b65dadab432a82141df7cefc51003cec0fb8796b4908c913d5a0c3d45a3a090c98b1f152a2525405ea494900c4352189e372ca2c06c7990f3fc4a09c5901409e82c9e9050e60c4a49821429254829294a29b97878df5f33917976a6f21bfd777cce0ecf3585d78962546c51e8e88a86431e94ed3c44893829dffbc1aa44d12866cba083cbbba81d9eb3956ac5f578f3e46bf29efcdc91a0bd30011cbe1e080d8f0e1385ba0dd30b08ad18d5d2d1fb400bfb783f702a7c6db99fd28912f29e599e54cdede4379d08508d1325a66bad7bf2324db0b106666302d3384cf7534efdbf476834e3f97cac8f8663475a49c33f92a63b8b91a428a3e572880fb1217e91ce92a9b1285893ba285893a03d34c741de188e02d30842ceafd04a304f2bc133c470443267d04a12a4482b415a493ead24d300bea1de01d89508367ad35071cf3afe6d881389dfe08ac14d0630916b8b6e75c97573fa7e0b7dc294016b7af82912dc4435de57a251b1e41ae78a7c650a93fdbacca6397d715a1e06f3fa52151afa806fc3a4c2cddebbd32a939b07e803c5f0fd503c575732503ddc3655be0206697c6e033ec1c1376107dfc4b7c363ff5f50f286de70ba18e507e3d49622240697454a302586a40075988d291b12970a44627055a4048d7b48cc1cab409284d750e60c489c2045488c90b800244e1dbdf784e1e0775a277c18c1ff518cfe7d2038f86d4d9510a6dc182630b7edfa53bf6436f4a780de4bf87d2ec80d7e995d1e81ffee9bbd9d77ffeda056d796f6c894647df4c7b19dc568c8b22c3bc48623c3b2dda13d1f4aabb9a60e95b9f947d7147bb8d6ec897f6b7e50bef29951c6677051cc0189f979ecf31ad245667c0657c51c901e7ce3347e1ebe2399cfc3779214c13782ef02e0fbca717e4fa0df580ad1090bd818aad0c115a34fffeecda8df9e8dc573b652eb504da1b36af21520037dd6e461019ea5c4b7b1a6a05a6a756c072078170541aeea5bb5ca3903beb1147911573dbbb7cb501ecfcde98b2df2f85aadcd6cb5cad803415c49fca73d00ac231a1b6b407cda2ad031a98c8720b894843626f2d464606c74d1e430cf066d7af2f7664eab8cebb2f08a8dba3826bb5e5fb29658c6a732a00cb9aa4fd5324e484267dee403d07c0285e4a9fbe7b914a074d9b6396503a963c9ce3996be91c2a5995e2bc3b1a329a3a1391f4a736b480e41beb586d38d451e0e1c5ca422e10c43522499d7c351600567c8f93df682443267509112a44845422ad2552ad2e9017c0fdd4777fcb4f996a9f2fa54ec598e8cb3139978a1db65d2bdf55a83c453ff88de7c0f545ce2db7a73fbe9b43472131df782639e5a09a0b2521e112119f61508faaaccfa7dd565b0e6b4eeb4bae131161c3f34baf1f2befdfa9189f664ee8c27f67abe982d879ba5bd184946f48b0fc9218e5f08b0d95b8c50f6b2c280244132244591f9aaf2127881791aa9ab0a033204e1a12c0e32a06c287306944d90229445289b0f65b38fe2db41ad5a9dac545e9dab3575a518f6b6694eb66aada10f788c1ed5da98627013b937df34a79f4eabf7eeb4ba37d8474974e632c19952ad43c84463a1b82ca9101d57e42b769388f859b5ba24d69cbe6f9ad3f755c45b174bf0767ff83de8bf04bf318f4c82c7846cbd77a75d2637adee8397f80bebffafbe9fd1989bcba1a26b3b7fe397ed0e38d94604c7d865462fe5e10d4dd339e1b8c86c88d875466fe6b4c991cc19e038418ae018c1712e383e396e6f05c0b80d93cef2eda5d4b3f68e21e8166fdff2f84a365bf6006cac83e3ad0748ec2e1fc1047fef2c46324c388c4fe5eaece01802d13eef104c1f68dbe6ebd76fe03bf607cb5c1d297b47f810cf819ca71a8ae093b8cc9a2d610c49956832277c16986310727e457cba079f80c432c067287306f84c9022f844f079057c9e1abc37c7d09558e5a6bf8de4dccbce441ec6a56f6e910028c224d0d1072e7bc00b8c8beea5d17a73fffbfdf7a7edf64b0a5f8ccfd721adedf7e133e06b6edebf8371aacd937f82217d31c0a6b710222bc95e86ac701f3743e5354c0bcccc0739bf22de1ceefc2a9532206b287306644d90226445c89a1f59d347edad21555f25e154e219baa591a0f88436f1f392d3b7c4332bef797be76c78ee41d0e9f194801e4b867573067be730efdc0313e5e6e8cfafbdccaacd87e6c8b6dde05fd9f9f367b41892437c48b2c38a664a7a669cccd854bcb07ad156690a030c49b179f1b2c0a47290f17b442f852267c8769f24457889f0f272bccc387a6f029c96ec528e2874b051cff27fbbb8a6f2a2210a75ba5d2637cde927d59c89966c54960583a825bb6cf04c76ffd9abfd673701a5abb50ed5e41bb86888baa2615873faeeb4df664ec7d09d01bfbeabbfd70326d9e030b5360b7fed81c919a2c1b9302ea84b62bfbb5455e2a9895c3e90cf3e90ef418ba985cbf1ad40d977071581c9475a8ab3975cb4e98a021893bfd21c5e604a35c8f83d429d4291b340728214413282e4ab21f9c8e0bd1b22fbdec2ed7c1ff10a5e69f54caf006523b40dbdc2479120f40e3f1f1a075ed7e39a44205b6f5fb647798c0bedffafbe4a9b3a04557359201aa7b616213273915799226886a4719ac909c945e61363aef32a67ce6212c99c019213a4089211241704c9a923f8ceb0ece233d96c3dc2584e3eff3cccf11d47795e98b6c52ab53d0f7350d6e7369e8b90e71b1ad1de0da040f03ed25e5cbb9dba08be4986216990378b095e6412328ff32b9cdcb0a42bcb6480ef50e60cf09d2045f08de0bb20f83e3286ef0ee073b5d659b7a60fb4aff909a6d65e4e795c77797d46ef77007c52ad83296fa73cf87b327f05fbfbfaf7f32ded71ef868231fd94457e5191768a62199226f25660c50b4c4c0639bfc2498e911489b1198aa145326780f40429827404e90542fab320faefe9fe6c5d6c3cf559142c33fb287084eec9d13cbf1c8f0a283be52e81df4656244fd14ebe724c76ea985d7a4854208c1f692faf695ec23ca02ae58d3f2b327bd675a639c17aa639996123712473061c4f90221c47385e108e1f19c37707f2ad0cda0be5914bdf427b350076165faecfeb13fbd815c04e2522c35a4128f35730cdaf7f3fdfce34378cb959109ea7379537929cc1199226f3a6e80285a6e8ba2a941c943c93bc9425943c943903942748119423282f00cad387ef3d511cb765403e68751c3efb24dac13d45cfe94c877bb34ea31a94efd957c3f3cbf1ad56c12792a9ea056df03ada568ccba58b7099f58087c27226a80645e6eaf238bf22d90805938d64d8121dc99c019713a40897112e5f8dcb47c7efdd80793ee0a9995ce5dc47f8c8a56ac511ab1b5dd18efb95639ae703e72bf97f269f78f41d9c00e898e65bfbc2c341692de61bb750983ed26208d6347651bd4c1a83689437b12628303318e4fc1e89352399cf83759214813502ebc2c0fac828be3f64378557572626d463a11b5f2b064b8eba592030a47d66282f449ee784f6e07bc904f121edb786fac56839d7570519e3c71b8bacf1127911c0e38021699ac8eb252f304119e4fc0a6b9c8509ca3254d48c64ce00f0095204f008e0af06f8e303f86ed8ee8a427b25d7445d794410bad0d015c02ed5d3293f621e9fd024570c6e2b830d38993a2629e733af6c5fff3ebed98a7634428bdaff7dbac1d830bfa8e2050d2030b1395376830213a5d1d755bc201818a896610b78247306dc4e9022dc46b85d1c6e3f761778621e7ed84ef07d1eb261e093ee084f60f9b95dd4fb723ff55a78a1727dabb5717b21994b6f2e2c04dc4fb49633b90b4d78d055ca9b321c14996fedbae42e24b4c8f10cc538229933207b8214213b42f6ab91fdc408be1bac638a517114e275a5989f8f80f4e4f34fc079c71df0d456a9b2aefa84bbc8d45a63229bedb54c34b013709794f5a921bc1079be3c7407644369a1c0fff12135c42ec7ec73cd44608d5fe63e270986a41990d77d5e642636fc3af739ed813595c50c0f65ce00d6095204d608ac7381f5b9a17b3394dea87cc595086edb342aee606b4d1403d6cac29bd397db39cc890a3e101a0b5568ad064263da0415d7afddd4775ae568f6f778b1f778b93b022b0237510c1b575cc88fcfeff6dd6977c975ac3d78fc637bfc3fd0019ebf7fbf81a33b1c4b636d6bcc837ff1213624f223eaa9a6e27a94f445a84a911e6ce44ca6028acc8f46d057f9b6299222719021994a2872868ce3495204aa0854af02d553a3f71ec0aa5a23035ffd0e7fa7ef4eab4c6e6f68fac6cf06fe33a3dfedeeb3a3f3bdbdf377adacb50b5822d0699967a2df9607b4d356143d169cb7f7ce3f3252ecfafefe36266c5291bdd28c3dd5545ce6e3325396f66085a57266250545a630a3ae326549c63365b12ca81bca9c017513a4087511ea5e85baa786efed51f7b719218aed99401eea264db69ba22eb1fbec037371ff7a6feffa03d13736777168eeee9987fbd70fccc7a740e16bfbffdba1b13c9fdb4b7b21594365be181505cc675a8da2be88cbd6864b144396303caf655c607a32c8f95ddccda1cc19303a418a301a617421187d6624df19aebda9bfd6c614a3b26ef2ed9562f4efea914e409ce6b5a3101d7720bcd803c0ba62f7c08b1ac30edf58c94467abd61a13a58c4f65a2a13f29b4172fd703d794131efad33c9f52030ebfb96fec193f1cf60bc734478be2158323ed46aa017951e6529a81d897b324185160b633c8f83d4a82852267f199274891668034838235832343f981ba81d0c06583d295e97c0fbb8adfb69d01635c95a71c51a89f3299777057313947865ba79e5f478878cd8aa1e1bbd19e7355fc0e727ef1eddd071381a3e96a812ac291e6e280f2cbb68ab11ef6e179cb8d1145265c63aeda2a46d2b0dc58962ddea1cc1954830429520d906a508c6a706408df592330394bae761ea905e012bf999d437e95d79762f579d13ee2ef14f2857dfd0550fd4a79be197a17e9f63fe9eca7e88b9cfd258c66c812c85b538c2830f71ae4fc8a04e6244991189521516a24f379dc4e9222dc46b85d086e3f838b1fb0aed87b146043f7ee29b07e66d7fd79573674e73f3d40e795e33b02b33ab2f4b96b8c4cbb508c3ed16cbc367f5109d0120ef1a89413ad0b4ca40619bf02ad290fade90c0ef850e40c0ef82429426b84d6c5a1f58991fc00e0eee23351785dca846e8b3c853d2cb42e8597f380b247ffcc20cf7774a5ba598d78dc03abf30acb2efdf387e6dde2fd7dbbd03d75b41ae9730b8e7d0fa8874b4b2b4a4bc8d476a42a94888b54055062c81241e4d5158a4cdee6717e45181f5cac072083ae10ca9c41574890225d01e90a85e80a99c6f37d1506b1ca0191dfac94aa0f4a32cfcec42ebe55aab34705f5cd4441d4e52abb96794f6edc9641476f0aedb5743208aea3ab06b79489571f78787c2556fbb642bc5a4faa44dc5ecea70bfa3bc1fb09c5e2c437fa2f0802fce398ffb843efa6a2d48a132dc699602f53260886214b64de7a6a4481f9e220e7f7a8a716c99c4199489022650229138528132746f19d550893731461664bb50ea6bc3d6ad140c465b34235f909a6d65e4ed9e286ca539b51179fabb5cefa4955835d1e4f4163b2efcb4fbfa850945cdf6c91c11fcacbd162355a84358c0bc5fad34d47a04f5f9421a7444254cb5b978d2830ef1ce4fc0ad007d083c06400fd50e60ca09f2045a08f40bf40d03f3d9c1f83fe0ae05c3fc97a5064fc61f17e812620b475c58409c5a3c2e819b482ad283460c2f2a890f7736b0887fc6640d58377f5fcf182b796f79b69149a3a1aea92632a93e2b6049c6c33d221f08b0ab1972896214b54ded26f448169f620e757e81025984c20436dd748e60c3a448214e910488728448738398eefab3c487c476ff29b89ca53530916677f4ca8c23e1fa740e580f63915044bacf66db95ac165a33d3fb3f9619ff6e943130a7d5fdf2e24612a29b365712e8463cde5dc0a58a221a6e5ad1a471499e3efbaad801409d70a32d4968964ce00f9095204f908f20b81fc6343f8ce686f54a612d17ea06bc09a0c80bd3de30af867c0b7170a785ad33fe6ef14ea857dfdfca6fdb5f27c33d37dba9c9b852df5a737166f06bc6c770183316489a6414ee42e30f31fe4fc8a9cf89eb18e137406e40e65ce80dc095284dc08b98b41eed4017c67dc36db2bd97c79543ce03f1e3628e5533171d65606d4b32ee6e7e7ffe9e2f7023e4fe1b4ffadfc0be2f2fc9159fcd6c0b3ede64cce57623d782ae52d13473e4f76beecd5da239933a0778214a13742ef02d1fb6976078693b358e5d67295a560e0f9c322f60230c9be8b2e00d22fb143309dd70cc0b9f36e9e3fa2ef56727e37a3de31359b2a4c45486f2d32eb4b1729060c46326489c99be3872c32375fe92ac5207b1c5f24f379c520498a1403a41814a318a48fe07bab039c23099ff8c356dd83e79f868b80e649615ee5294b7d3b99ad28a479fe55f56bdec7b75b453747b6ed1685d8e98de5f4c33338e521522967e03d596852be3bf9e123993300768214013602ec42003b7d00df17af6583c3d4dac3f6e53ba2d0c14627f7a653ba5aeb504f8ad5f9f97f3a3f7cc0e7099c0ebe957f811fde1e2ded8237cd9d6a320e74c72ec26c02306489cd591a872c32339fc7f8153636e6d9d87816c80e44ce90992f498a201b417621907d6a14df17b8d52ab755cbd13eb4470138260a6d2cde03750208858eae109fcfbe07ae38799e0de0f7f93d01f47bdfd6bf00f057a385bd293463fe89167326c461689c213d433427de17995defca8438998be4463267c0fb0429c27b84f785e0fd89517c67b8373857ad8d1f9b455f1075c5ec9019b2e903516860a3e72e88bbcbe329384cf6fdf367d92f4aae6fb65cee0fe52273de9d68312fc4974a0cc9002aaf17fe7972de0186a4488cc950d22e923903c4274811c423882f10e29f20e75d381d3f34e75d04f16773de8530f3cc39ef7679cc00855f24e75d51727d13885f8e1467a1d9eee1091cfe971be9b3371c013eb82c4e8ef58c56226f0d5bb2c87c77e05e7172a1cc19003f418a001f01fe55809f7d30df1ef79b665b1f109c2b091d2aa90328809baa42c30a96e437cde9fb7d3cfaf1739338b315f936ae187ab0c4fdeeb4ba699ef058164f0f807c3f831e702b999ec3b39f90e308dfdb3dbe89d4efccdefbcebe81777f315ada4369b974162315ee97197a53cd901c1243ec1235e06c3b51b01d7e51b01d8b510cc990796bea910566a8839cdf63e53e92f93cea274911ea23d4cf85fa67c7eecd40def597902b5b85e05c91ffa4e1f6240d5f0f84cefcf7f4d369b9e4fa06f1f0fbcf5d259fdbdcfacf6d026b2b03d256aa154c2a635873daf20cc2d489fec0d1f0b6393074efcfeb238df186bf842eb4b7aad0d0c5320bb7aa3585d7895a1dafda6572db9cbeeccad20b64f9f2b1ec3b036ae7e03a5c3dd25404ad047b11b4e2b4871d7933c191456682f338bf025a090f5a093203b486326780d60429825604add743eb91e17b3f74550c18ac345108cf1ce266f744d8fd6747c8758014cf83b497f3fc54887b204f88ba0772fd0b903788442d10800f5a8c33b25e66e212184332b963d58a4cebc65c67e1321e0cd35406180e44ce109b9e2445308c60b860183e18c48f43e344e996004d6eb090bdffcc03d488cbb51c458bb88cc7f322751c961ef078704f221c3d40bf473aab6ff25ebefaa2f5ce48dd187a11bee9946662d7347e116e939e81489772023755604637c8797ee026e13e7036c38274247306e04e9022e046c07d3d70a70cddfba1f5a88a2f03ef251dccc03758663eb0e148995f075edd08c912e79e078113fd132154e29c1d9c7b64d695dc3c7ffd65dea521e9fac21d0d95b9f9471b1f1ce3c3d265989abdc1382dda45754a58dab3fb4a744eef3455685ab4abea94909487ae4c16b338943903ba264811ba2274cd85aed907f1cd70762bf395a55c6b5062979aca8032245ea115804fe4eac61df17dcf4a734443376196b4dbf8aa133cb0210fab341e60f830f4ffb6ed01bf592aa6ae43abcb102dd1c536cda9f2082c2e98ff47fab0137c8190afa47c78245fab4b12d00a4e93b317c8f9e5fdd9e74668945fa160f83e68370edabecc462eb10cc930794de40253a541c6ef91f43c14398b6f3b418a401c81f84d40fc60283f1ecb778b942bb7f174c7cf5d45cf4dc5bd9d02e5c73165a778f593e3fc4e52168fd7540cdd4dc8f2680ff8cddfd757f78647037b3192145b5b8d8686636ba63bc486544ef43fde52ec13bfa8a038cb120cc9b074ce5dd9548189d6a8eb0a8a13b807f85886eaa291cc19003f418a001f01fe75807f7cf4de05e25d91af4cd5aa0ec49e65ab42c792cd19dd2ac35dd037708d27a08068e803be8d4982a837018eab55dd197599b5bf63970d79b1035e8e40d9015fcc81ebb90028530c6e32203a966af457b2c061124f51cded8bbf0b39e21d0b787f12d3fbb2fefd06ee713fb181ffafe4d89350692686ec65c87abea10858493a3bb0967e6018c3902c96374a8c2a30a319e43c3fb0d2701f54a97414584b11a92ff151584d2144a08a403517a89e1fb837c3543f43c59b1566aa98a842679e3091b7cde9ec26267290f1621525b7f2f0291168d47249ca33af8e5cb783eb77c7d782f87ee45274f0aed9f477ae31c13b3f761d0bae7f75933639eae485a68e478520efb1a6e2821f17240f2ffdc0709621591c5039b1b7c0546390f32b96a2618436767ca35404a9a1c8e7c1374189d017a1efd5e87b6cf0de0d7f35c5d06722e847eed1dfd396f3bb7b93a5e77d1c38787673eb3fbb4984d9c61aaec4774cdf8dfb64386c362cb1aaea2770ec50be5e20df035dcf85caf1e5979c93631166f3bd0a8af75a081198642f702b977e604489215940e445e002737f41ceaf702b932445e2f8f150eb08574391cf23708212213042e0ab11786fccde0d786116e63b826d90f5791f6061c6eee701559871fa0080826ce14f089e59f8fd5620b91ec9d761e46e0331445e66a4920c43b204067242648189b220e7374c9415015f28f279884c5022884410793544ee0ed9bb212421f2753a40a61b2cb1060818fe0aaa3e38347d3c1e9e061d55c06907080ef98e5ca40f5c52bdb83fbfd952aa374a8af0e7a6b6932beb55e90746e31e14307971f279b25e9d8d508ad02f14f93c4e2628114e229c2c04271fe7c98553eb03bcb83bcf4d87a7e7f3de42283deef1dc95e9090dcf5cfc7f6d43742acda4852d0d6118a0646b7333ed946469437c08867866f8cdd36eae0d42a51f58c9431c922472c27181d9afaedc21444238a68f97718a403614f93c1c2728111c2338be1c8ef38ce49bc0f33f03de9e286667d234fca0e181d0b16440d29251590c840636e85241a06c0593bc299aafac2558bdb1eeb4ba05073f45cf64779f09ac89042aae5a7d778200d8895ad557b2864f94ea6cd5ea926e73fabe3ac933ac0ee8f17cd7fd4171ff829dfe3dc32b13f0ca1e7b3ff64078b56059078ddc3c0ceeeff2bebe74305534aa4d736eef0df4f8943fd0892175b92a7041bb795501c6433b0acb99f1832e309fd695aa00eda9028039be59388e5c0e44ce10e31c53225500a90257a802178ce49bab028e6cb0589a2a201bd44aadeeab022da77d435560e7993bd0423932d1d987966d73da5f9de419428bc7f3c3548164ff9ee1950978658fbd9f58157049fc195481dbbdaf6fa10a8cf4e49fdec02686d890b818fa4fb5133be12f28de5cfa81b1c043b3524e273c5d64722fe2aae2cdd9adfe50e4f3509fa044508fa03e3fd49f1ab9b786766ef9db88a764915f43f8f80db35592db829df009c8e3964928089fdbdcfacf4dbdd60baeddb50063c4c74ae4d74958d2e57200592eb96e4e5b69d7ece0daa3b63015d3dfdfc3f93e32edd1c25a68cb51da2945d5e0c003436c082e87de0bdb8e2c6ff2a235711cf3108726723ae1e922d37491d7558282963700193638853267d8e1942045808c00f90a40be703cdf1ca41db5cab94aad6129a04fef008dd9d115f3d59584b6de34da33a90b81876e691ef0d40b0e3e4b822185894263ad18fa56dcb14577787506a0630576abdb9cbe382d2d0b2d16d03eca1edfe16b95a1bf57417f67a1b503da67500aee22e7170f960b6700cdf49ad83ff41d71d943e6b2b716ef82bec866c7718221d99c7598e922137bd1d759ec005aec19f28f041263c73379a692221501a908f95584f3e3f7d64a81ee48063755dfacc373e54009283e8c2e011ee1b3d863cf5fb560f2acd8b29478ea1f9187b51d0227ee9dc3e962a7b4251b963e2092e7a8f05c6019bf3bade3b2d9ad4786d5152dc7f7b0f0354f455746963d5fa49e0bc3672e5f55bface5c8ba272ea8a451fa8103d2c3263a67ea30bac0d46190f31bd6a98af138943903742748117423e8be06ba2f19cdb78771cf061b006ead565937e98c977c1b7b2a0aaf984cd403c73c0cf1c26f09eb497ef6e0fb801f082f1a899fa5eb05740f72deeff1b40b979efdead9a7b5ce4ad90949eb9fa3b303ba27b0e56ffcdebe878a602f247329293b5135c9736158cde5abef97b59c57452028866499bcf955e802339c5da922009aa4488c6633a808a1cc19548404295211908a905f45b86c34df5845303bee80a7b630729a679da48aa0d61a13d96cc368e930f40baa08ee0dd7ee895d7e921092c60f841a77778d3995ae17d03d4845d8e32909fd9862541cc58fd8df0b556b9da3b303bac7ab08b77e6fdf4345d818fa50d64cf5f084bfe647e4880fc8da66e4f2672f8b0b20698664592c6f5c408169d720e757c405b030e9788630bd48e60c6a418214a905482dc8af16641dc7b7560826b65ca63489a7664965009644361a966c7c068a40dd9b98dddb29021e1f2ce4230912fb7c34b73e1f27697a01cd83c01ff203203f494027657eed0c0cdd11cbd1faf7766ffd7b9fc60e689e00f06ff07ebe36c8cf17e3a16449ca244c5cbc8c7e75c91c134362c86646f7cc8dc5b544c88b609d2a79b8957729bfc04c7190f12b509df0509dc892ce3c1039cb527e8214a13a42f5cb513df3f8bd099caf14437106c2eb6400267ad30812a2982d3a4c7ea2b8f872c053666b0b4b8b141ccac7baa2cb4e946a652a556125c7e0996c90f086da36f9cd443694ad9f1827e53c4cce72d7103dafcf56519f81a8cf56077de6c2c43229e761beb947417361fc7ff190bac4c8f3c894b961cdcd91692ffd435d1b99f6901c52433cbbad7d699b1128972e73c1d32c436158de4438749179e94ad7add27ba88c9732ec7e8f64ce80ca095284ca0895af42e54ce3f81ee03cc1d4da6b62af7067fb3b3c57d575d9fca4dbb0c6e27bd1b6f61e601cf2119df3f958857cec9db7a3f377b5af77950ca9d6c194e43baab5c2734b89f7de1983c1da95bdfade792c3cff24c05dc07bf8367674da209d2f464372480ef1ecebe897b5188137c55c04de0cc650188ee339c1bbc02c7690f32b92ca622445626c16933a943903782748117823f02e1cbcf746f183a11b5631f974da6572d3728b4d5723130db3092aeb01df9e8b5d76aed63aeba4cda5b8d13957ec7ab0f7e9b47a111cc2ca26ed328935a7ef775e0fcf0cd91e8fab884710f769b317f6e9a372ba172ac3574e31737a381a9a31829a745128bdd7600cd217e597c35988427993ce940acc2f0739bfc2ef4d931409a82c16762873963a9e3129026904d24583f4de207e2846db128ffb18dd2d3c9e2dab490779686e7d1e76cef582734f89cfb825f3fdc00cdd391798a00f8b472baedfbf8d096dc033febfd2c2d6fe488a3d2486743e603ed35a8cca1795f60418ce501820d89ca85c642a38eaaad29e142cae4d53e7513992f93c2a2749112a2354be0a95cf8ce07b4072703ef86df21557adeac6806f63bfa72da7addd1a8e83e782c3e737b7fef353aff5826b0f846499af009127c35f7b20343089172703e273d57249e0c171ca353bb8f624b07c65ff7f4b68961d4d57478be1d2b1bca9ad18843ede68b4470ca32f026a1c3014466039c3c64a452689c3e8abf68895488ac44a59803a943903502748115023a02e0ca88f0fe447e0750397f8cd4c14eab642706ba5cabaeadb7cdb9c0e9c1bbbbaed8120eab216fee29acaeb4bb1cab94da18d2bb5d79562a6e0a0c95972b5a32b1abe5585d7b54c349e13cbd3f83cc0c394be2f6341df3f874bfc06727d133779724407f5f50b00f9bd9622131c5cb4cd0b00085d7913c4948acced06aedae645d230414c866d5e91cc19903d418a901d217b61c8be377a1f01e770a5920e60f3a691e007d0e0af5007d37c04ebc12ae9134274167e1f94b7ed8caae4f37800bb7e3440e81ef83e91dfc9213632e491ea69cf85c06d4a6b79bdde84872924c8ebf52e3027db955e6f02a653c5e80c901bca9c017213a4087211e41606b92923f811b0cbd903839b79d6eb63bcdef1f30f612171ed096158e4714de43b9eb57860ed27ae3db9d7fbc2feff965e6f0f2cf5627079bfa9b82ad9651e6e12a24e5e4c2e30091a64fc0a4c863bb0f00c5550429133ec8b4e92224c46985c1826ef8fde470032be12abdcf23160ec3ffb100882f34f08c232cfce447e7d00c0c1f92707df8cfdfd8d41375c522a107c0f9b8c738e5db40f1a500443611495d7195d68ceb1eb5291665f660e65ce80c2095284c208850b46e1c361fc38344e2c0c3ec4431da259bc8879e0fdb565d0d1e5726231fa79d13a9f1ccfe9d13ee4f7189a271697bfb7a7dbd29db16606457e0b80f5d4f6e2dc2617edbc0234c950180d72a6172f159971ac74d5ce2bc07a98ce64281e16c99c01d313a408d311a61786e9a963f801802ebc2e555eb582c4d50f0173a5bac145a03b41cdd07d005ccb35ce9478322a50fd6c209e8bffe704ef5d5ef7817bf75bf9e6a0bd1859f3a566cf17eed018d992372e8b41efd30dc755422eca1b0a4a10a7183a278c1798a20c727e85831cc689115806180f65ce00e3095204e308c60b83f1d383f91178ded0952abb9584ce4a3167b6cc73d880ef4cd4eafb63b0dde0d632d1b6d42aeb8ebab82d0a9d8958ad6083439c7445e175a5001d938906d5e4715dad566603a133794acc2f52aee7d4058ef37da0171cfde6bebd8eb09cebabd162682de62bad30b7fda96623fd006017e907308348892173ea07056641839ce7d70f680c960bc962e6873267d00f12a4483f40fa4181fac1f1a1fc20ed00b04bd5e0dca6f0eaca84683d2cd2ed082fa9e89246f79c5ac156061b00f74bd51a2bd5d053a3e18ed03df7e27c51efeb5b2ede2f47b6ad99e365310a404a6b3983d909cc033686cce9de670a4dac765d0a17dcc37d9021702e92f93cee274911ee23dc2f0cf75346f023e0beadabb58e251beaf631101f3fff102612d79e11ca0187a955dd1189d6217cc7d79e1cb22fecffef0dcd8586d69d683532d171e222a8c67186c2583c679511a6c06c6b90f37bec3b8b64ce00d5095204d508aa8b87eaa708b04b4ecb0f0eb24bc2dc8900b5ad28743089a74cc57dee60bb42e4794e5f7d3acfa720ff5f107c17f9def60efd42fee410cfaf03646b3af6d55f149247008874a59cbe7aa6c86c6ee0ba64e825980c9dcda008843267500412a44811408a40018a40b6e17c3f6da069c63ed454df3d5f594bbdf9069610e9de25b79b2b0aed955c1375656785383c1754caeec2b21aa97e6e3ffaed1d96d87806ad20c1db717eb701bf69be6d18ed8705efe0b972bc152cdbb7caf3766cac2b73d31c29f67c3194a5a5a6dc4a4338fe98505b2861d445da028133148e11793dfc056688839c5fa12d00e8e16732680ba1cc19b4850429d21690b670436de1f8d07e26cda1bd920d4a1f109d95a2e1da40685b83ed5369125319508ec8b73199a8db03a3b295f8d669cd02b08e6c7053b5caba4dbe3151803efd529a461aff27d139e51dba5f54132956f67f85a6a219967e2bf564afedd8837151cd5582040c85e358dea58c0253e841ceaf58ca60498ac4c92c1e8c50e60c3a498214e9244827b9a14eb2379e9f4911d16da5baa60360bfcbc2c6393092787c2d9799004c5295134b165e975f49b9b858a6e75ae038a72cfabc9f5418e0776607dfd9bf66916379bb458e65218b1c14e5612093b3e22b536046bf6b173932d7968b64cea0222448918a8054841baa08cb675de410dacfb6c8b13db7c8a1105f6b9103f27b0a3dbd77f04517392e94ed5fe13ab01792b984a5aad6d2786ede4a4338fe98bc8b1c34c35038a0f36a0b05661ebc769123737df848e60cda428214690b485bb8a1b6707c683f93e6d071073cb5f5cb95e1c4805757f2f4a934094c312a8e42c0d278b60a2aa60cc8939a855a6b4c64b3ed976913d4890858e72b691aa9fc9f44e79477a87d4d4da460d9ff159a8a636b375be4d86b3bef22078333144e90784e9da4c0cc89d72e7290b0264196c08b50e60c3a498214e9244827b9a14eb2379e9f4911e130897fae450e55e85867160470b5aa7fa9458e8b65fa5a8b1c3eef271506f89d7ddb458ee5445a8cd4dd036fd02f87c4105ca321646938ef764e9664289c0479d5832233325eb79d337bc6a548e60cea418214a907483d28403dc83298efa91bb4e703a1a18b6f56b44b4faa565c91fff4f1aad6a25b2ee9de4d2f0093896270b3c46e409fbfb28f2f8acb6c9bd37a123ff7f9b5037e8f60e601efcc41d283e23033e42db1bb33900f62e106263c686949bcdc97170be47d32674271efe9dbe901becbd1fff78fa68f86c4901892f9e1ff447b71bea58b509fc4280fd6989c25929802f32c42ceafa8d75f82f5fa3338052299cfa37e9214a13e42fd0250ffc418be27d8fb5edddfc16f93172db90aabf76f9bd3cfbb007cb88a10fcdaa2a12ffdaaf82da75d66032f326e48fc0656c56fb924f60cc67d2ebe9fcb800f78dce3751bf04aec7c1376f04d7c6b70f66e2c129cf7dacb0bce0067289cca5b24812d3419e2751996280f9c0199019c43993380738214813302e782c1796f0c3f129c27985a7b7928384bb50ea6940f406eaed63aeb6706e74c7c3f3738fbbc1e8033fc26fe3de01cf8c78ac6e8836623ef397651a9619224190a2f81524ea82e3219227655a9e1ecdb0322993340758214413582ea5b40f5c1507e3862473ededf537ff6be4b32e3102188745e8e214974fde9d13cf21faf02f43b763d42c7a74a765cd4fbf966c98f93e3392a3ee2971b2d0cf28fb41b633e7b11e6c33d6f253667de43b6c8bc871ee7f7c86414c99c01f313a408f311e6178cf947c6f203413f593cc64f7818989d7789e0df371bd78ac10289efc4c90ef7c03259c8272cf5fbacc07fc0eb3e48eef77d170bfafeb916cb0b94eb9b44d52f75cd1c1f9e984a2b693394145b5b49b6363787d8101f6279b480cb1f10a903ec45250b49dac33b86caebad2f30b121e4fc8aa57482a448bc9461cf5f2473067520418ad401a40e5ca50e5c3ea8efa01798eda5c453e66fc39bfba970ee7714b0b1644371a0112a8c9d01dfc624419ca8557d254fe7ebe6f4dd69dd5647d8ca55dd115d36955f0f3f54a342368dca54adea6020742cb8bbaf4c6e9ad317bf2d236c8b0adaa220ae8ecad46440742cd5a86012cf3acdde8bd3ea92eb47ea10417f5fc6f736e01b5cf0ee342c7877cfa1633c40eeafaf836863475aa89a64eeff3dc473281c595a8b6201e8cbb48b92079f2c9e7781a1c0148590f32b9c0d2c0ccfc7336817a1cc19b48b0429d22e90769157bbc832826faa4a5822c14d14a3630d7892de3b8626e26f6feaed92eb1bad25249fb77f1ce5e1f721a3b29678151f088d99c4579c3807bf070de97ef603d5e66d73008d8fe7fdd170ae9b2a5f71c5aa3e91b5fde3a86e0554cd5265ec05327efdf50145d1f4a1325f4be6d096c6cbb96345bff8c5fbe8323516813371d9ea3f437be8c3e45d0928303920e4fc0a70a63c702633ec9d8b64ce00ce095204ce089cf38173a6017c436c066d4b2e5353995027b24661035ef5cc9ff56fb33311096fae7da15bdd9bed8f9b0e80bef4e66415549c26113d73a5562b268cfe82fbc9e13eab88378805da43f6c45fc7ef4323f2da538987117184a747c4fc26f8dc067cc672d9c1bbff0e9178ca5c1d4d2467391c2fe6f3951bfe10436c082ec3dc730d45787bd95e750a23180a607977adb105a6d7a3ae2c3d0c5ded38388fb791cce7f136498af016e16d4ebc3d37786f89b5ec4ce4271355683922e1cde122f5db503d1c0223b8acfee2b4b45bb8ccdb2bb1cacd0702b76d82e0795dd684f6a80997d0d7cd697d15f20497cccba4fb087c95414797aa155c7163fe22beb6015f910c58d0670fb56df3f2fcd5ddcc4746d27439378b03d5bdd62264252f4a1247111e748052cec4b56c8149e220e75758b21eb20222c396b348e60cc89a2045c88a90b55064dd1bc10f82d72efe8f02580786ac9749f7266ee6f8f9f1f40f769f7f0807c1f967855cdedac255f37d15c13f6f07e71f1b8a5e44bf7f03b772faf0db187a7168bcdb580cc617d59ca1688aa10049e735730b4cc90639cf0fc680262912a33394a58b64ce00c6095204c6088c0b05e3dd01fc302c26657e4d07d87113b7f2494c1326b60c374f7b665874dd1e55f1e5d3e270169e1feb5e3ee562f0f93cc460ef3b887488efe462b6f4d126fe517469b95ccf17baba1c82217d6100d6458d4698ecd9ac1760325b622840d379977a8b4c98e6717e0526b31e263319967a239933607282146132c2e42b3139cb40be0f362bd58d3eaa71dbdfe6eb521426b8e2e253b95ad92a84ba528ccd4cd9cedde67470a348ee046610e1f3d9b55ce5485568d903b09928449b9089c652acb5562d8d04cde9cb2ae4b9c9b79703a1bd5501ebcad5ceb6d9ab3b6ded2151da49ec0ef93fcee736e09338d2e72e16f4f9d3b8b58b94e9dbb8bdf746f1dcb0e6e6c8b4879269ce6db851c31bcf97865be76c3edadd455f84fb340e180a9472eeee22b10273b141ceef918b2d92f93cee274911ee23dc2f16f7cf0ce9076a00f10c6b0f78ca91898ebf47c66cd1304068fa726bab3d0d71127d804f64835aa9557fbf8fe232ae1fe49cd41e626bb0c9571cd960317f0f1805358507ede7babf8ccfe21548d5f04ef0bf0df827327d9776f05d7e632f8266daa38535d7fd3da0f81050452816475a8d93c79017e913806428c00036a73e5168c238f23e21e391cc19f4890429d227903e51a83e7164243f4c8db064b3a32be6eb4a0e200ceef19af61fa03ae88e5ae55ca5ca2ea36de05dd26d77632892780a1385c65a069b703bf0a639ade3cfa7225c21cb13ab02873c333ecfc4f1ef09c6d54ffbdf18f2f35657cbd85c9cc0fda232f034c1301460712a27c81798210e727e8f943091cc19403e418a401e817ca1207fc74a6aa7d1ddaf82b59d0755b0eebf3c1054d95a0555b662840c2b8ff55a0fdb257612c1f72ba3117b7dfa1c15d18a92e1abbbfb478aae59cbd1d0d094c5dc5acc617123656efed1c6a9e7fca40a976576bde619b1e39fbe08c3490852a5bc8eff22d3bad1f4558e7f8ca4488ccde2f80f65ce80e1095284e108c3f361f835e3fa76c02ef2eda524bc6ec52e654b7cdb9589575706b02a9607fa8e68e8e66f03b7064463a5d41a2bbf12183e95016548bc12a56bb94d06586e2a57f5b502fa2b99d7a78ac1ae1583f52b7981f64a36444b74d97dbeed906f3fe5092c417e783f1fde0fd38df865baefaf1ce803b0b1945a5b6f82fd3e66c33e3ec7fb0af27e70ffee3bf2cbac3f5489b8b7acdf55d9f00061682de69634f6bd7b6709fca904bbd06f70abe7874a0a032eda104fd3184311585e3f4381c9e120e3572c26e030137d86fdf0a1c858061d25418a7414a4a314aba35c3be41fa7bfa89eb15a8699e2d7035e0d32d25aa93a432aad9f8e8c86abcfb7497b730e17315198607e96f4d789080277773a06a6d3467ad00b2c517ea1ec7620fb034acc9fd1ffcc8e3eaa7dc20cf34ab562864b20a93a443a6d9c32af0ccbd25fd8a758d0a74fad573dcbf7f31d9666c20972a92d9dc3139ae9353ec42eaee67361b3919b075c945f972ee10c45fc7ff6defd3955e5d903fd574eed5fcfb97bf11023dfaafb831841584a22c86b4e9d5ac5c300f290154185bffed60c0ff191c4246ad6de37bb6a6d230e333d333dfde9eee9e9c13f985fb7835d30851fa2fc132ad41d54a1a833ce5a367d3e43856a15fd56a1be55a8cfa950672ee59b684685a98b7895b37f8716b198d8a492991af51b6822f600a5fb952ef0dbd142235aaa5cec2fd28272b6e7d0d27fa3dcacff55f7f9ec6822114d554efa4663c96c222c1c994aac28090d72ba9e0ccabb89de289756e5be348bc2d5e7eb9f9f61e1f5755e6dd05e5a1338aaf6a39a408f8050f7c164be1dec82c9053fa90974ba1daa83d36764da6ffa7c8626d02afaad097c6b02d7d0048e96f2d76b024d60c71fa00934c1056f204b53eecfd7049ac08937348126a8e59fa4097c78befef99a801b9aabd593bff27e2dccc07c4ecd32cb19fe0bffd57d17f6bf59d12e75ffbb722c7569b2479104f5b184871dec92090fc94fe558eaa0739dbd332eee6ffa7c06dab78a7ea3fd37da7f0ceddf5cbc57c4f732374264eae2f2214a3c936073871b66662caeadc5125df9225e2595b083cefd83282ccc01fddbd052cf8e256f1c557902d1152ec6da8cd86743173043a6aa3c7be8fa16e20bb03a4679080890d8847b4c5751d1451c8ca18f5563f8a57efecfd2fe4f8f87709f4d335c47bf564e50fe8dfec2e95fe43b031bdeaca8c159e25d4721ee300824244e7e10672f99cb90f8d45188f3f326357d7e1b67db45bf71f61b673f88b36f2dde2be22c297886b6252c992a00b7ea96df37a94d48cf0f8b21355e4cae74f8c1c90d8d5d3911b6866dd5dfc7ba1898796ffb20433b71b86ed3339ed5f4dcfe9abadd38d1709cf6e92a6abae8d88e58cf1ae0b04c3a9905d01efce26b713e33ceff787cf5ccc87e9eafd2dd1fef3d69f8720d35a2767aef43541c41c6dd47fdd417cc448828ff84e58a6e84c5b13310b5eef31988da2afa8da8df88fa31447d79d55e0f4a4d8e4d0d52086d72da6dff3df13bdb6bb89d5b6decfd8dceab119e6769620e74112b13e5dc1e32df47df979aa14b43c31776a416cea0fd374a48d4a6bd4cc2f3cf77ef2eace56af56b61c6ce7c8b127291bf583f36c37721e3ab95ec6e887b1f38129d1e45763a1f74ebe2174cd78728ff0438e21daa8377cfd8c46dfa7c0638b68a7e83e337387e0c1c5f5db857c4c74858dbe4a46b466c0638b5f380ce4f778a7100122b625757c1c8b2cd75dd669574ad69734c249e1549e17c8095c9e7728a3335cab3bee026f48fd3faa5d8f9db88e8c2869f1a1500dd2df17d31c9a428cc0c6db3ebcfeca03fff161c0d97aeebc7ee2f7b1945cb78f77dff57fc17f60bfb30cc7eac8d1a85efb077dd267747113d8aec7ed4e98b5f30c91da2fc134edf1e72fa9e83c2759fcf40e156d16f14fe46e1cfa0f0c7d6f5d5413ab3383a06449881225958049ea28ca5da760d0827b1223badcaa5bb72cbf22ccda006a56bf88c13df22c5624c3474a0f33316ca1e8baf2cc2894d8d8ac75a556e47efba3cafd36f40e9ccf7d283f7bee0bcd897f7f94b63b56aa5a8e13394b8e70c7ecc7b07fc78ee7bd8c17bff781ff8be28d9ff46a24c5b9f554a5eaf737763cfbb12f8dc75bb1065e98fdda2d7c12f99848ffe54029ff333ed367d3e43096915fd5642be95904b2821afafe39b2a1d9555b9032a74b16ddec96fe12d6881cd111d28235c8b8e06a0db009a775076b83f496938019005dae4f51b803ceeebeca0af5fba917da53efddbbc10fbdf8e6edeb830d8bf567f7390abf7ae835c7777773d8abceb7e30731f7ec9cc7dbdcf1de422d01ec039c05ff7f90ce06f15fd06fe6fe0bf3cf0bfb6a6bf560938bc43a5da42d87cb952f0d2dd2eaf28092fdceff2872b0d2fddd9f30ae0be746fcf3f46a9b8429fff454a4764c6a63b7f3e7e308facb9e3cc1d2441de7762fc439537ea06f53e75a3d7eb51648ffce866c70593f021ca3f9128189d1b27cf89c7abfb7c86bad12afaad6e7cab1b9f5437deb3a06fa36b581a9b199a13da8b3d7d03e2b30708351f6b6a6a446a0038354017fc0cae738abcad673434f9f49b345599deb07d1d0362161b039d4f8186fb409302a04d2bcffef48b758b86b63dacddf5190f2d4d0801278560507af1c5c119e330abc6e18fd127aedccf7f8b0eb10a9f3a8beaff87db9ec4271c16e7d7db680ee4fb34071a4123fdc1487efc92b9e7c8cf690e3da83974ceb826a8e9f3199a43abe8b7e6f0ad397c4673387f2d5f5f69b0896d2472cb6ef5f94228047f9b5008525c8185f4bbf93c1d0690b7c3005ea41b6d7db7e9feba18c88ac65768ed1dd04a17166760a68f9ff0f80fb389ff87391cae3a6fff929085d47b9e9bceeae01b89f24f7c542938afce0f862cf430887834f5c17cfef80553d07d3264a1031502023be3cea1a6cf6f2b04eda2df0ac1b742f01985e0bc757c7d65c0e1bc1c686c60ef762b30732484862615286441ee6c6fb13bd1d0b1db9d68e840210b2d3a1a10d2a5a51da91e184d52744e7d31fcfadd07b2a1a9b19a777deb15c8f32e1f79de777d9d1df4f58f00fb0bf7e95f60f9af965952fd1fff85bff750fe0baf3727f2efde750b4f0feff5a80ef6d11cf2f80573c921ca6f9143bee9f319b0dd2afa0ddbdfb0fd41d83ebd64af88d0319492fd6efd0925e8d58ee2976d349f755b632281a6d80699a05f750cff6cdabef61821ba4965507f42f37e581ebf2fe94e1bbaff05e897c57efa6b91257e3a7f3ef846fdeafe22de078667d5b6bb0abff32e6c2490f0bffb6814fe25f3bf41ca6f91ada6e9f319d8d82afa8d8ddfd8f8416c3c6b055f132ad5ccd4a7f07363ea12da0a77342a7106f86f4767128753f3878592897e27bf0e7ca2f6d74dfb3e7dd4feb828db1f13096e452136d612dce6420ce87c2aca1d62bce0bfc2682d69211a5aeabea4bbbef4f0f1c2c826a7fa34abfaf4b546ea65faf0ef866533f12f0ccdfb3536f0dc23de05cf24c41f9ca43f08cf174c268728bfc549fda6cf67c073abe8373c7fc3f3e5e1797f157f2d44a33b2d67cb4a545f65d3f90ca828ef34af20f9a5dfff70c87e571fbef67cfc39aa5379d7e9cb105edefb5afdfecfdf3c7e65b9ce63d78fe71746f2a34a9b7832ec7d7ee80e442b02c33f06e6c40593df21ca6f71a749d3e733c0bc55f41bccbfc1fcf2607eb490bf1acfd50c05f87c3da68756e42456a4bc868975993f1ddb3fd2977f00c657bcf22aced765fe7f81f589f96c46ab0b63fd51a51fc57a0a8159f783896e890ba6d8fb2cd69f7d5b69d3e733b0be55f41bebbfb1fef2587fb490bf18eb75c6b32336b58b2fc7fa8da10b9ea54f5ec3c7bacc9f8ef51fe9cb9f8ff535afe4af607d53e65f86f5f0a5a7e57374f8b54ea0897f10eecfaf77773ff9bb6e2ced75e91ed521890fbaea890be6b343947fe2b4188d4e8b9d136556f7f90cc46f15fd46fc6fc4ff0ce29fbf96af0ffa36b7f51c0eaced08ebd6e0d37a96364959d1a9b12b033fc9ac0c5d8a2c52489b677aeb9926ae2d0d5f5bf1643d3900cc9334a3934790e6af086b2b81b245d71bb4f6b60760b9b1381603119d5b32be4b0e3b1bfe397bf2579baf7fb9325039f22ead0b1c55dba802f8fb82eaee10d67d5413b864823bfc533175540765b63d27a6aeea32768626d02afaad097c6b02d7d0048e56f2d72b0240a36253a3c287c5f0ea81766f81664dcbb818ee07dded814fe34dfee395808ff5e76be3e14b25856e29292715976637e33505a0e97faddcfcf383f596c93c4ee7abb4b368ff89b241bc0bf1dfaa67776ffafbacfd1e8dd0f1a3fefd0b6695a33e67ed5324c478f29ca3e0759fcfc0f856d16f8cffc6f88f61fc5b6bf77aa06e914c68c552689353cc5c246b9b533387530be75efa8d92c4f99dcd35007caf5d9fde6b172582f33b9b31416f804661401731915ba6751e91dbbbe8f7e838a0bdcedf72d0873a57cb975adf9fa0fb5f00ac1be297b98ad0bfde2fec9d27b34fbfdd1ccceebe2bc15a8f8628417df41e3ae28209d610e537c9a752f7f90c106d15fd06d16f10fd20889e5cb1d7844e3b1f476c61cd12cf26b0eec3a0b3192f867e63430d8f20e9a336d4da29f8b5a18be998600b4bee75d0cd5e320ddb4dab76bf0216c9898f6828692bdc6c32e86c4b1ab18ac62fb53dcf19b7149dd38ec4d07e6197fc008e7b63629b18b1e0d971f0df8345791b9dcdd11984da47f7fffd6aa8336333cc57feea939877a29a9d05f9ae08311aeb41e9defde0c96be292c9c4884f45887531087e77675c83d2f4f96df06b17fd06bf6ff0fb3cf89d58ba37434194e9d91a8585a94f6e88882843f56aae8b899def4bf9163d7f0e52a2ccd95bca26c2621f35dbfdf81311f45de3fc6f43d6f4793eff24aa1e54d1989334f52e44c5ef7a54a74b7cd49cbc649e2f48f92722b03a1daa83e3bd3310b5eef31988da2afa8da8df88fa79443d58b6b7435367248460b6ac24ed3502aa0e90499772a029eb4a82b79ffd39e8f9368d5f1af98ce610a125bd9bc303dbb37cd620fc3f3d88a9bd56b2d40f3f899207557c1425892e84818f66fc222e98f1eb932879fef59b4d9fcf40c956d16f94fc46c9cfa3e4c1b2bd214aea5262dddf122555ccd4360708849efd4128f9268d7f164ac2391c1ca0247af6af41c9e7b969a7fe7abe4a9fe766b46abeffaa1fe0bfb05fe4bb50f31d55ee1273bdcf7b4b4298b8fb708cef4513737dee7cefd979339b3e9f81a2ada2df28fa8da21f43d1772ce3eba1aa1da99e414a8913a9858332f6e3c5430c3f45ccd44138d6450c96b1f449b7bc7f71720dcf6e0e3476e170210176edad77b429a94d425b0f9d1a45770d4edaefc878437b75bfe04b687114caf4383c0ac5f973faf0956144e48e077674bf406f51d14b9ee49beadecec9bfc133dcbec9cd4cfc5ff8afbb5fe4fb42765fa9a2416bec5dd1ba7407c251efa399b7c80b66de42947fc2337c87ee80ee9e81d6759fcf40eb56d16fb4fe46eb8fa1f52bcbf68ae87c7059a3a133093a6193778ac9352e663cbad80fe55edc8e17763629faeb361de83406a2e3f627670e2f5844f414353dcd658a28cfe544ee90e3c5e46b83723f34aeff78db77b58ccd344fe6bf9270becd56f587ed27defcf9175e5d947e36709e555b83a19ddebb3094a2204850dd0f62e805335a21ca3f81a1c86f8c9d83a1759fcfc0d056d16f0cfdc6d00f62e8592bf89a704a67862e5136a76436b70de723b578889915d03ddccef185a9334ba0f3d0d0c5ae71fea5d5feba6e7f4c1eb5bf86ed9f789ea2e7b7376c0b8ba03c67146e804c6f2c4eed38d0b0ade9d7c4c4e6bcd046674ba6279e63f0f997ba9d2f32eefffcb3312f2cbfd5dcfee5f8ab044acfcbc1f20bb5ee124ebe2be704dd85f8437ff49243f292e9a7b04f259d207104cfe738a4eb3e9f01cfada2dff0fc0dcf1785e71756f297c17401b4490ab8b0b0391633082fb4174b0831d7f04bbf0e7dba181a391e98bab831746961a28b9e86993868caa636a12ec69a94d824e3399cf8e7c2f867faf2b596f5da8a586cae33e10eba5fa5f910e68ff9a95259fe05feea8d1f3a4f615ee58e3bfc8affa27e75ca0bc77f3d2d9f2333fd8561ef8be0fa70038d22d07b9f22708790eea3f15de425b34ff53e77a323061501ea8c5b269a3e9fa108b48a7e2b02df8ac0c714810f2feaebe9040e11ae0007567399aa921d76babb6778f36c2277f0f1629a49519819da2645798634161bcffa9bab4489914e627152648d82759da8b0f5ac495e88b014e24e73b33f58db11ee39036c33b91fae4ff4257dbd2fb7f7baef68a46b1a4fd1bd7e9d6e9a34b56d00a22dd524804478ab64e280e24c8df2ac018e725a19fa349ddcf7b75fab5f7cd5fcfea3bdffdb284cb2306c3ef15ff82ff21dc1e1afbddf4486f7baefd21c7add1e45611dea839ac305735a21ca3f91d30ac5b4dd9d716745d3e733348756d16fcde15b7378bfe6f0da9abd8a62d0b1b4edc6d1b6ab87d84bad11835bdc062a00dbf16272f190f03987afec91bab20674d32e0a7c923bc578316cfd0ec16c984df2cef6a6463ed98c418b96de8e96ddefe96e8cbee898f1c768fd4703629290e5ff223f464ba3639f8f862fbddc40e1ddfb8c689aea5114fee180b14b66a6bafb9c371d5ddf449ee34daffb7c0614b68a7e43e137147e000a5f5ab0d7c1417bd42f1e626f63df8b4f9616662887a3dcc18cfcc218386236939c46ede9049e587e29b3456e52fe86d3a9a9752a992dbd8429d7c2bf8d7dbf47c7baa183dc8d0d0aae4663f365d8f75e3aff41b817f9ab3360ad29d5046be1ef0878eefe4de09d5ea783d31f0bd622e84b066be19f0978eed2bd0e4512af5c35dcad8b367d7e11bf4e16fdc6af6ffc7a13bf9af5d882a77b68e66c5c2752739b08d7d602f3277267c3fb4c6845e21a7061060acc5755891bcf5cffb1e8fc7c1c31b94524a10121a5f59e58452abf00799c1db129d09db51da543a04ba1414a894550ec9c13578e26853626aead0824008a411dfed6d9edf57220b138c545fb9a33cc5774d5b3a314b773be86b5c8d4b62112c92c23cfb0849de2d293340c6561d0f84e0fc373d0b3f6fedd21ec2a23616d46eac21989a2a1511e20d4f69d076b7b84e8742dd8b719e65ba4900022cc0c6dcb417aec1d3497f0ae8b58cb3fbb578713b12b07b6ed4b5325a07f4a8aa8e8982428fe746d73743a86e6efa0e5071e54e147ad3a1f07745d5f1d9eb4070bafcccfd48ee8df40133125a2d7ce1065838a81cefbfc0884762cc23a697ec1fb3cb7f5acc8c10dcd09679c4a006d43f3413294f1de562f5c9fdff1476a46d2f358abc67431cc1e06bc6bd7633ac07f036e95d6732a472c61a8e250ae7cdd8f037a53d374fd7dd508098bd519a8d62a58031b41bd230ab9fb3741d2bd4e87ec7cecdc2d415f30c713a2fcc3c07647d11d8aec522fdfb2b743abbacf67005babe837b07d03dbdbc0d65a925f826d8dec9c6974e068db7086b2003aa1ddba28cfaa7eb3dbf29bc3d760a4ae80cc20fc7a1bcbe8c8d1a8ed5893424beb65a686af78bf7cd7e658ccbcc7fcf3ded9332d528b90708b538bdab4d88f6959f6c664332e57362dd6f61932b82e54cb5fbc479f237ff1ff50d47f08f26f8ac27a7897223f96638fa02f18668a287f97fc2530b2d7c85f9a200882225f322c70740d1b2adaf4f905f9fb42d16ff9fb2d7fdf94bff572fc12d9ab19a438347501da136b3b0e45436736a646c52dddbb6769ecc6866de64cb02b1b9cd4b5c77ea7fe0775df855d60be4484582333bf543e6e96cfc12a31edf9db5272bf682d2b7b3dfcccfb2d48ec3f38f6374653bd3b8af8e0863a415ff0d87949fa0bd292e89c16971449d782add3c5f03b0abf7b611f812060f5f549b8b2d3a7a5e50b25bf85e5b7b07c5358eeafca2f1199033b623314028d4b39d0d499c3b11868eda403dddb181a15ec859221f572a7bac267a62e8596dcd42bcf305ae17d0685693fca42f8c089a1414c08b148ea361f2c420a254e2d0c5248ec91b4b6fd7d97c6897a27334c64662c7d91fa1f07f4c6d0a5e51fd2375952f04775a83e2901fda80ef8c6c50566de0268e2425cd8dd692c7856242e67111d00450a6d42cc4d9dc12c926f87c821683aeccbe388f11ccedd9541664788010d6bdc561769fb64bdaa38c32556c785c7193ef5f9113aee41f391d2310875611406f91008b9a1510b7348ad01a70e812e2eec28dc381c9db7cd94ca5d96389c9aeedc748e3cc3d5a98e518fd250e95a23f519c8df63f8a931d4580c68cbcfb60355a2fd31bbdf1eaebb635ac22bf53114d899422b927a191972621d8f94805615967e986112fb10d1b9a93989e55f9817ef37eb43d9fc3812438b5317cee045f5148e47db0ddcf0d694f03c2b72c21917166d97efceedbe4d6c72ea024e8d0c5d5d39f798ef8c041cae31539bd2fc42d98288df004ef5c7b36947249454e486d424c73d3053c8b1c6fa46a1fa4631218cc5a463c87cd3b654d73960ee4d8ecd00a1225736ef33287416d12eef68295df525bd3c278420a273a0221e7b4b8d5f8f232771b830b6e03b32ef1a911a59a4104a5c983fca426468db023dd7000674618af854e60385151ee540bd57597a28ab7c30ce3bd9ee1f159bba9400825adb91e2f31c1b399c9a1fd6d90edbb6e038dfbfbc7da060dea38ad34359612733cc86e687678dd4f0747dc7efcbc370240fb78284798a8e898fb3004c644554949cdf6d2fc452ee68ca5e68b5453298a9d1d94e2678b08e89ac38bc8a789a7a9a2aa222ab80d531919f2ad44852b68282d6eafb689c0dd999cad2b2a48a8f33565564857ee07d8630b42d8efaa0380f335c605f31b75ee46768a68d433174609b9153bcb655a304eabda4508a8e39825ae9163ace30ead06df5e9751ef8088dcd96d2300c789f49c03de64f343514316fe2e06a6286e142e1802863ce6fb0607f6b334f7234b1d8b5f556bddbd089d4951a8945cb0de9da848a395087244516208c914443a37043dbaee6b3ddbaaeb7ca4e6e8b85b5be2969a6a6920a29794e1dbd82e405bd71b8706df98d5c5c9a9a144a1abe7146a1686a526071ead4d0c46744d77bf932169716e94cea28992941670ea766ce68d2e643cc8ed5f0a37363736aee7061b91dd9e8ce3bddd8aecb8c82dd7bb19acd086a0194326d9ea94bd43840377436ae61350a4307a3333866763c7d99de52dfc82d9209ed58a25a18865b019d1984ca94a906436c2e533393a34925523dc0e1e18ca0a02e9f3b83d7c7f5541f5442f51542cda11da172f4da629dc48aa4b58301af72add476c2aeee08f6417c9bf6882d6c845114d201c611b576b8303235d12bf9852a603f105ebe936e8b630b872d6f3a059af404a27005d452c76fcb958b6c0ba339686f8d56d8cba9c1a32cfc54d1d5e7d41068f85ae5d4a2cd37064167200a634717aa3e3301d080e7685b6cc7038d5e726f71f46f471742149d35e05d1041dea2f3b952cbe8edda20d815ef3355ea491603aab4b688ad6e6a546091ce00a0e329aaec689ddd5c2dda7a6d2d2bed663ced48dd582cd2bfda3cfa50d3b1674b9d781fe85e68906ab96e5be33f1baac22c081f244c7d38d4151bd9943772e3b713e18c0d6578ab8e33dedb18bae0599a0a71fcbdef9216293c9b1a15430c7f6fbb764447d5967f6b2bffedf132b46d62e8e2bbdf0351d899411a140ab73421b4e3c9eb585c6e37850ee7adc180211e653e3fd8065a580415999a83db118be66f27d78f42334eea84b5ae3b25b66b335673a00aac32dcf83cd7c89087daee856b046207cf9532d3d0a5705feed43a9e805b0bd85f7665138affc63c2c2d12e990ef9a3b8b14f6de999cc1e72fac93d90c13c7923a3dd0e3b705d0250cf2d64e2656638a1fd7a10cd57b5901e00cda73a0332b85a3736708128b5315283fda7d517089990512a30467d184dba4b4b654666dc7120a6179e75846a6ee4d4c8d0a67b19a1a919aeff1f509bc28ddf32a667274c08f8c32c4a47dec8f38e2bdd7646a4d475b06377c29876a66ead353fc58c96ede8576a3cdd165469f9d5c46f5caba38021a15c2f501a0fd5361d47e5fca6ddedd9802dc8a8729e0d4d4ca0fd7a3da81fa0bf2dbed685f5824806dc42d9fdcce0f3192423beaec3d3fa92b850ca3b212ab049d366fa163b62056335b0fb292a6ceef23fbf9b42ec7ce0276301baac3364f1ce88dfbf6ff21ada5fd8a018d2adaf2e525faa758ca4898fa340b5851dad33be81ce414dad69ecb5400e7fa88a78e6c1a9c9115eaa98a903eabce71208596462b00d9a56fd41f4aac824b4f334c4076687b8c0c62ebd9e4e470fda54097961631759d05e64ffc83b93e1e7fd1d0d2b0f407b3be55ea1c47ba63b9662a39dff21b1cad959d6d7424f77763b6ebff18dd2e2f0d2d52856d0bdfebea7b5ddd645d0538ab0ebd4789a51fa60aceee8d1194ef4369ed68c20a28e1a7d66883416f60d34be19b8d7f4363910f1a68946744db10dc9f9ecbc7015dafff0b621d85c13155397a62914e6807a20775a6c69f1a24aa15c17162224313318b14a859ed3baad7f0480aa12d549e2cd8d18efaa7848544a8194034b4e4cfe2644853a313b4c28f0e65603887ed95e1a53b9d98a009d806d8d7f76a1f32d4edb333d6d574aa4a8aa40a7bfe2574dc1fc90e961a476548d4cf63ffeec9b995148a99065b567addbe765bfb4c87b4f6c6444b36ed8ddb09fa15713c551c56c72866a6286fc89b4319788c1f53257cd0ab8b8aceab73cf967db37e4995f819261dcb80123b140bdbae1d42cda7047bc23639aa4f915451d1317a80fc6fed318f6a3be60dfb66b12f3b4fc816cf84eb83533303ca9016f61cfae16b39f0517ba9e5f74e2d1c8ec73443f28b059e15852b8b1b7eafd3ef75fa27ac53cdd0a8c4e2b6debf194fed485d008dc274b2bd8edae386f6be4eeecda2bd3fbd998f537ebf97f60bd1be6433ded53a1fbfa1677fb2ae57e5ee07ea7b913fc6c4de98f5d05531849a392c8d010ddf58649536ef7d4753664e44dd1fd928afd92fd51a7f471b8aa18bcfa7c2b61d8e2dccbcf6b1b6e4081706a5ee55fa70799f291c0d4f2bfb66f77c247936b13ab98f89f60307e51e9038632363c10440e353f1de25818c61c62c28c61a1b8a333b353461216ac26252007f52781ebfa7ff556d0dc5a5a15131d0d03cf83c87522fc1be1ffb1439310768af7ffadf93994289f70639b91f6ec5d9b0f300ed453877ba1482fb576549e668b85f1d13aad7436b4cde901f3193035d0cad58426b5bd6a667d5e3e84c50d1b6156701262eeccd6436c42733b7f338a0719b934adc6bbf43d0b98995eb17c4c2da9a617eabdff9e47e5a8839ef8251232ba07cda8805bf99dcf7f77d52249ad39d2ca9f64decfcfd7b4e2ab4a1d52a9661e8845684da0f41e9cf2b4e1e25381ac7e688567bef32ffc81e981a89c538d8ae414e29862614e3b0d9cf49803e796daf4f992ac293824b8c3a546707ba86671fc457413aec38704d42a56acc3bd0d7208d159e1c3c2f4f6963709c0ef1bc9c9f6a0cf6b065b3aeda3cd0ebd8cd058ecfd57b2ee51e99daec93ce802e10a6d6da77b9df16e53e1a439a9a848e6c4c662ef930e05d9353134078189c3bb1307c9e4b43a8db49a49080a1185adc265339d61f2ffa9911d198c3d129ef435ec0a15cf62cbd4ff38b21fe309b1262d1a726b3e1e6e17e78e03387eb5ecdf8914bf38bbecf8f82ead349c008c53d6c1f66fc86f79925d0c2d81c4d619d1bf17e7ab006caf16fc5a194f3d1aee7deeeecd7c393a2cfd7733eb2a3309812eaca1a405ee3b3c980f22d52c22c025b4fca8b4ca9c9a29f4d667d4c1cf637e83ab559904f069dede47e8a9dd3f7bdfdc372bfda7588304071238b61472c5c9fe7bcd0d49ca503e7626113bccf3c033da0f9c0c94d4dba07da76350e25cff03b9b7184e415da5377b83085b86868f806f6b796450fb3e17672ef6e0ff6da1676a48696cf741e6534be54f5d9e203d8b73d3ea8fab9b74f53f2cfecc2fc04711aa503ee67707c210f8cd1bc4bfda3b9189cd1f7bd3de18bf0c60a68e08c39efff93f81df5e94263beb9c298e7685d9c33dfff205eb723d4ff8bcb9823bc586cd6cd71e76bde06b15ed9e864c56bc741ea424d3629747ca23c0842e09dbb4eaf835377af1c9eeb74ff43517f933d9ceee0f889f32065c8feebc7417abbb373447d1c04eff668f22349a5aaf31fe71f9eebd25dbc39bcdc2148ba8393bdcec9d3207b459b3e9f3c0ef262d14b9e07393c0672e65984eadbf1f990aadd24707f847e9c6d7f9991d3edbc4ec3dfe6ee5449f5feee70c9fffef5f75fffd79c2e297961ff7049bc4cffcb8f57a9198673e7bfac2cfd2f736dfaa16985f3fff2e3ffb2323f74fecb366d6fde3e86f2bf7fd9a13f8fd3bfdde55ffff397bd8c9f7cb7fcfb298bedd45fc6e5b72470e70efcf3ff5a8756fef7aff9f3f3f2190ec15394feb5b7be22f339b0d05a82af3ebffa23fcbf1fbb3fa27904cb2d433376ff5e3ebb3fb63fe279fa23c9acd0b757d9d393bf45bf2781fbb71fffc8cd28fc7b4dc035b244fffbe12fb3d40ffffa9fbf96abbfcae3253f9efc708ece99fccf5fabf4d98fdd15ec4279d0e67fffb2b227f4ae95a7f3151a8028799eaf563f9ea01c683f700b3f29472835fd78fefc23f45769f560be457f3de749ba6cfef8619635965fcaeb9976df9df68fcecadc7d99dbfb5f1d82a270fae8c10f3f4ee7cfb119fe983b1bf3d9591d160b433f497d7bf7c48bccd6b7e6f5673376aa513bfc6995596938dffd1039d4ee0b7caff5cdeeb4beb43bb0f24c7cef1b4175f7be5338d1fa7ed0641ab6c6694b61f4feb71f498078621edb4bc78fddd69f3fcc558cb7bf5be66adeedec3df163f3396f3ff1e6edda7e2ce0d26a7d4f1083beccf4eed2ca9e9ecc70f9c39b3fcf3fb120de7c7d37499199acce2c9a9ac17c19ff3859d49b27e685aa816b2e9d3fbf4155b9e6cf920bf3c89a3bef91206f965ba50e12111f90359eb9f2aa8f1ff6b34d22f9530f0d942366e8b61fd949d6fefa14a5abe573da7e14cfd3f4d9b4e7ed67cb15e2b2f6a3641986edef87af3ccf9fc2b99d867ebaf778e5c76e387f0a7dd7db6b7595af6c330c7f6431eae96e76e7ab345cbaa7a46af9382aa529fcf861f9eeee4f745612fd5dc98608ea39e5c78f280b533f3151cfd183dfd9329d3bc9b31fa710a3fefa9fbfe2795afe1fa95dad3f7fd8cb65e0cf17e673fb21fc5f3d6ecdc3ba1bd533289a93e72512cbf07bf6dca0c372f563be9ddb154e9c808b6a3cd15fee7c9b347ffc58e5716ac2417bcee2b4ec63f5d70f1ba165fdad1954335d4648161ffd528de6d173a8e8fdcf5f15abacd2677b19af5b180635c1d8ae3e76d55793fad7fffc55d195c57ea596567ffdc8d227bcbbffbd87beaecc27586e3d8f9de5f38fbd9551839867da9e4960c932cc7112a3de288d3ee08a38b75c2db25f2b9c3dafe735d4bd52ce0b9ca7d74bec1668d5ab338b3708f54ae137060872a213afe0bf68be5a99ee4bd5edf1ba9ba105f666b9e479b9cddf2848fcf012d30e5e29e53bb1f9c2cfab7c5549b553bfc225f76335b7b3e7f90fcb77fce7ecc5d14245d367335e3d2d9fa3d70ad5cc0a2b3ca75c0cebfbbf8343d4b5aefb2b8bfdf4179473fb9aeefef3ff3b386ffdbf6f2b98f0558869fff77d2efbd87a6ece629707d7af69a9ff48cd55b0fa1b696faf1aedad724db21b9c26de4ae0801133bcf71fa2f31f9cfc9bea7d2c0134d1bbe02d4a25d1efb4d509a249094653740feb50a7ae3b26efb03b8cda65afe9e118faef1c5b9d80b63af59d01fa3b77c37932a2bd6e77a91be69bcadddcda867bf0fbfec4ef6cc68bbe3feed7bf4b9e4da405bf58badaa6b535355a1d6d6ff1d1d633227505cbf201bbb147e21a8c822e3f1270cbe757075b5e2e3f10d0d121543e169740dbae787f73a25eb425ec59d114d168e8ccc626e8602e33b9a37576b4eefef98014d68ede2fcbc76a6271d393e5ec91b036a26d6829787d0b9fffe033963e6df715dba37dbe39aec7e2581f681bd4deb4a66fb67401a7fa8e669f6cbbbcf190eff203a1303975650d4e8e113a5a6c685480c6296ac6f5d5baff94fe3b6568c935e61e2b43714fbde3e416a96ecaba51d8da97f4fdb571ffecdcbf56f79f32f780533716475327e7282e8f10c1776cc20b2d6e7392c6f2162b36030334569e3d620a8b90289e93429bdbaee7f2c9718bed88c6edf21ddfd1c215383dbe1b3ba27d8b53d39956dfb0c977793675da659fe436fdccdd897a5686268456d91e53d3f8e03385c3d19babf47f246216d9bfc5fc97b4b3d8cfa7e9f532da4ac3fefd64f877e4bcae5bee8a35aae55db501f4666e309cfe0f4efc4d103da27387d31f4c64dbeb5e50c144a4bf2b9322d41d1bad11efdd75e9de4ba9c1708adae9a275a74fe7067ba9e8b782f9ad60bea260ee16e34eafe473467234363749b5e0871ee68cfaae14ab599939bdf373103aa18542fc14d7e17aee5ca371db6732a0dbee2e433a13391ab5a842b59a8cdabccc28261716fc48f42c9d5901b9f51bac33963c53a30a7e242ded480d790ee05624a2b033bb58fefc59ddd87910863c8265d19150ac553ea762f47ce026037fe99e0aed56464262692166ea20dcf5912ac6b1b49e71340974e1ded0c5f0e72078a9eda91d85a9a94b8913a95cd3e77892018ec65178a13e5dfe9c2e7faa9c17f21c53d2c4f55db01b5317d54550853342a1f3053f72d676b4721d22c4cc01832e13e139213434aa18f793c419309e4188a13d920a9e6304c0a999c385d85cebbb46a47a96df5f028ec50c9959039f492ca483a123b34b67246df89110daba0af5aa64dc4fa06ee69afad4b52315737421b373c6954821043a4a69e2966d77dc9f28c471e85a84e19a2309b3072894720369077290f1fda69fd85ef8afb6df5f4313174067303b67609fd11167a4238d84d019a9b9154f5c9b947253a3e2b19b3076ce24ce6852860bca4ce1684e0c7547f41cd120e17644153c1766f648c520b6da11ea2f69ead292e7d89535601626c7e6862696c7f4b930e3b9924603852843de96964066dcdddc496e9b07798e5d1884ba81b4981a85011422c9a0f16b8d1da2b50a696eea0203587fb876646601c7b2d4ab19cce4e802c8adf5124f5c230e5c4717cb71e144dc8eb62ecf89291830b8c3852b94eac34da67b690738b0b67dc6354835b7b8be6b106c06e70d3e77e0d8722cc6b3a90c7416477a37a7a68eb62d8f7585d892271b9e488186e316578635ff84e3e24f16fcb04afdc0a91da089387acf4dcae3a123482394079ee70c18d7d25802681d77927788f14270790eea3f8c8bb2edcbfded446666d2307579280be09c91926771f518496b1e851109701e431bdab73eb3b2081196a14a5b94712d1d64fc88c50d5d7876f44917702a610c3a15ff353607e423cf8ee13a2965591d365bd1e439bab4b634d8d7ba7ea7d2a5262e88e89ce7aaf0667d82f8bebeb91db60138251b0461c48fc4b5a30b0b20330b8b90c2f63b4e494ff91d85106d57685eca94251e2050383492a576ac6656c9b705d00502e87cc60f430cf2af4df45c8b6442c81fa5dde8c4e818fd8859dbf1d435ee95cde45e7507b1b886bab511ab31ba3982133dcb677c20a3239c1ed491c180490094d99a1a006d9a0ddc44b172648bd77cf9c278a3507c77ec2e7ff2f9c4552275eb68a87c68e9eaaa0a61fe39881bf97e286fca311d55ebac94317b6b6c1031ae31aaecc95115a2dc4f168e2eacf8014e405dbda4cd5bdbe4b4fb70dfef4c067425eb7957477a326ef02cf3a8e0d3fa3bcf0f847b8b806b96c2c62ad2ddbb3cc76e6c6e9b1844c9eb6322295038338bf4fd140cfafe1cdff848eea8d03e626cde9f2e1dc25b1b1a9efc5437fe93baf1f9c5ea27a2bbbffc69136c6a73dbb0e1b7dd184516c957fcf0aa7cfc69708c5bd9146e9da66d10c135b671c7bae1f251b916a1ec70ee979dc9bdbb1993fb98c5fb8c0ded9cb1eabaca909ea983eabbe2ba7c80b036b4e2698a42c1a1adab331b8b0b17d51caecd585c5b7e339e013fb07d0753132590567399b937542651397662ea220b064ca18e04c10a6c5fd824aec1f5cfe7811764ed07f920681f61b9302fc493c530aee6f96a76d45316fffe7f9c79b4fcdb7f2bd7f27ed1e65e1092ea9c996cb9bc1904eff57a9d0e46de7d30d9f2056f2fae687fc1a2ea9c713948b7d7a1c83bfc747cddde8d1f4db7dfbe1ca45df4dba4fa36a95e31a9f6d7e427332def4ecb22d3c38c54cc880564228da33000da30ab54ad6c77c111251a3a08ad5dd6bcd6691e2ab1b1f292a9fad2901359c0d0dd843a863f4aac3a294f6a9e7fe196a189e1e9ac9ec03308a89a57a78dc34675f377273b77cff64fae1d6621d88bd68e509bf7efbd6c8b0a1dac1a5f55585ba4b4bb6ccb672653851aa90a3b92547a22a9809ddd63be1c4863bd609f1e06ed53512a569a1ce51d8d2813dc6cb91ee79238c324753654eb0b51a04a1b037dba2e33b394d9b7da592b1d5dda38fa34ad543008f7341fa14bc8aabb33e9a1aa6cd93adba8c3b13920546c4c221779fa42bd8b1aeadea671efe2b0fa6e48ce22b601d04f5c7a36ac7844adb25492626ee4746a6821844fcf89863e54f1d1e954b6529167bbac5a8799a13ed51e345f2ad51c657faab2c498c8e4c0a1995aa9e84759b6cae70a585b9c044d8d37c7dd26854535e6ebb27ede3575119d56552a1a5eca9203746f618dd4e03dedd5f37c22731ad69cac2b4fc7e5805373a93ae5d68c81462d812e240ea70672243defd5f3c23bf5584a11bd82bff33e545f05d447bb3839873d8b1402a00bac154bf95c6ee4c9ee7ed976562128a3164bd7d47a995dbb8d8a645bbb9ec65ae5aad1901add9dc81d7cbce86752146686b6f179aecc385a65c12b5d4867f4abb9bfb495157856cad02ecf85eb71bc33291bba729c00ba80cd073852651f16c34c943b9b7100122b42d9105700f6e71ef37772f820236d248576a066ce48a07699a6b70994e7761cf827eede4dac9c6ac6e36147570ad00578dbb5cda153b6a9a5d10190f1c2e682af18a7cc2654a89627ce28688f59013468b284d87cb62cef5f9729ced428cf1af0ae555fe21737b7095c8697081c9aadf95c53323b52eb13d45d4b573153a3a887451fcddd95e60ce1f4ae5db5704642686878f110c34f11b91ac7700d45aa67e913385f9bf16272a5794a3c936073871b22ec033aac3b2cc02cf96d68a967c792378eca1378f648486c42c90c424ac61abb3167cb1c9d4af2af345711fb6ce80266c85468ddefd1b3aada2f50fbf9d5db4fd0c9ca08b953d7f6a24d4b88c606b9fc383aafe8da8e177c26ca57e4e153f25007a11d4b9db126aeed48f96a7998015daad6b5924d06d75fd756a46250be549fa941d001d0265d71d0d98e1753ea06b2b8ea73527ecaf8d2d0a8c0e2d4fc613145f7693fdc40be415ddc19b9ddea138e430ed05a09b2c96dc71fe24e76cbbe1fd110ab11886e3bfe87343823c1b362116573fd4a3ad06d06dc36b47d1caeffce7cb6c4d0fdf9f7c1f565444485ce48a21eaa4f28a300a72ec6bab83688b4f8521e29e5448ab6abeeff803129f5d92fe5593b520b8bd81240e7bf527e229bcc1a01c8b381157fa92c47db36467e733a4abbe23ea9ed0b12687c779277a8f1a27f454c2f758987ea73ac3ba1e1e32854cd223ab76f5f637187735b9832c91eaea7a39f1a77df8ec20010ca2d69386ddb95e10569bd4d09e586a5e16b6b713b5debb43dcee646f10534e494674793aea10b8b1bd9dd3bfd3f967243a30a64b7419e8876f65485fb5eb565971a3a9340fa2679a7b8a66d09347165ea4c01642a353531b7d025a0c8779419e5cd241d678074808da13955d6e5e4b06cfa62591ff72a3fc266bc18dedaaef86d68e2b34dc0f57793b95e58049681882da09d37e7f0d5384a3ca8b35844272b75eba4a169ac499ec3b1bea951c1c382cf26b37e265e690d4039348e8067935268c75e6a0da81d1d5169039a11bb304911cd99856e3761eb50a97cbc186ec68be995e64f5c5b3215193a0aa5e958da26dbd1422d2c52081f76e358db285f495360e89257d673349f683ec65a52d88bc97672ffc7d3199885db9df89ded64d0c1be625dd459d1db735c3f1beb8c67c33eeb12d4eb105f5f9a1f6d425c977b48128b6e037b07be9a31ca648b5f45be8cc48545324d16e1f7e12bda83422180f6002fd7d017d158864ad2e4c4a73c9bc0ba862ea60f0b17658bba2d0decc6d0c425c4baf279527efa78686942083829b417cb62bc302ee5272c0c8246fca60ed5993a38b57e516679cfe6d885c929f5fe6bb7fa4c77379e4dba65f8db657cbb67f03cd20f0c9d41215ee3a87a5e7d367ec33f8a26a84b8528db34d4b745ff42bad3d9fc856cf2a5a1abc53886ed7a704d6e2ca817e993b4bd6f3cd6d8cc8a68ac0c8fa20a84ff97b20f3ebf1e36d6488d4dadd643bf622c5fa42d85b6b575ff67ad53b467a66dd2f278cd9f27471aba7cbc7074a6f22ffe01f3ea533bbfcd6e8edbbe9cda7ec02e653f7c54ce8c631413b08276742373f4ddb331da13dcfc21b48a4b43174270df8c6961726c0eb469ea409933427892df90ceca1f4415632d5c3f44951f229ea4a6d683fa27712b3e2c6d21676d11ce0ac8546245684d7601a92606a174ad887e32347a837caafeed749403ba624763096396549fcb5ccc910d9d9ab1107e314d91a1852b47477bd00ba08b05f255dc509f7b812e74fb7293653f464728c28745403dcc826c32c0434b67b0b98c63560ef9924e00d48d092ab2b870e10c7074bc63ac39383a22f307e90e5fb4664bd982f63c3c0fc56670db703e82365045638e2f2c8e2d6cd259dbd136286d33e3527b8767e0de4e8e18c43669cb15f41dda3c37a305617008dbb54762388ec5c426956e39bfeac2e2c28d4d28994d84852353f5dc7627834e71435bf6751d5adfdd3c3dd604dcd450ecdcd7e8f9aff35d19671133ebfa681192410be5a634da049d193a5af7a7682c80364901171636571d27477ef7dbcef51b342e4c9d59a239962fe4fff9bc8edfd6ffe0f810a6f6e7e9d4e8f654524cd08dc6329e025df2d031c9d91f4167d6de976dd15c3f4b6d92a9e4e317fb61deb601124b6756ff105aa13e910174e3159f1a115b98dae40fb109deb25fcafd299ba373a80b199a53ed134eb3c965e2d33ecccb0ec1c616d1e9569f75fc45318636ec6df1fd3cda068dbd05b1f3e6f86ec6e2dad1fbddfa732277b6b7b4655e583b154f25e5675bb6d776fe178cd5f13a713c40d0d943f539d6ca58fa4bd2f6026ffd3622bab0736a6511e571dc8728f12d522cc6da760d0827b122bba283bf68ccd1d97c15096b9b9c641647c780083350242dbbbea131adcaa5bb72508ef42fbdd77f699dbcf105dc58277f717fa93cbbd38aa5b9429cee67e8437bb1321e009d59596498028dc2fe88bdb09c8a4d3d49ad22a93e2bfecbbf84ffd64ec16768df2b620b4bc651da85afd903dbdf8783980f34a5fb30b85c7cc6b9b2c422ed7c0cc76396407a5203cecb282c4c7d726b7a5ee6ef9d3fff1ab14a67f0cfcbb12dd0aeb3077fe0dadbdb874e0a8ba0ae73c6e96c9e7756862e16200a0b73ef6c083a928f74a3f1c2f80a1ced9a119b014eed54fb7fc5d78c4f82a35b32a304b7b91083f66215d7909ab1ba3175c4ff38b2692f737ee75cb9f9db296f25fdede8e866cffca1a6556b68adf628954cf43bf9adf55b13f98a85c0d4d8ece1e0fbee7ccff086fed0126f6c94c2492d9c7be9f743446fcaf35a2226724bc8eff9a5e271cfb747103f6536b7f51c0eaced086b78acf5ac8997b5115eff99fc66a3b44f78f1353c77c65af5f1d08aa01eae7445b9438c17fc1f39d740a3a08d53c6255d6a1cdfabbbdeeaccd9ee7ce05e6c653b06d8d0a8cc42b73beec5cd16e30bf9b45f3bcf696a14aab34d4ffd6c27c7ae19c37f52c74900a7a416c7e25624d63eea1b9d53145343dbaeec380cc751750377911496c6aeac91400119af6e6cb6214de475c7e66c5a5ae70d8699985ff75cf25bb1e3200ae387084f0c52403708a23c116d5a75e692fb732fc9cbd27f126dd78068f28874dbfe09abc967b28b0304f7a5bd783bda4adfce91df243f198b7d7579b5475f8cd2677a603469e873382f071a1bd8c5b2b8c5597c444f2caec042fafd507deee4929d4d8a6badbf3dbf5c617106662e92f2d3c7abe7f8ce5f07c7c2bffa398372fd918267685bc292a90270ab6ef97d93da84f4fcb01852e3c5e4527efb17e6c381b671648d82ac913bbb67fbb248ee60f5988c3588ffb8e70cb0cde4fee667427c8ba0319b947243efa7658a4435ff2afb14c5b1c4d2d222d5d81c49a4450acf764e75207d4063d387d8ab723e60f51ed2f6867e918ea56d378eb65d3dc45e6a8d18dce23695bd7c31de7a5b371f791bfb7ed29d8f98cd04a75353ab6d76697153ff46847cb19e4d8ab81da9c1432c94799274b17050acdd1243e3725b5b0f9d353539162f5314d36b270ea02c585b24a01e103db7b6515ab14c91935b044dcc67494d5b3ae7f0d5d7d0d5ec47a1bc3bed786cbb48aa67dba4f4a34da13cd8ded8fe6cf616d11e623b271ac4deea990dedba019205378bdd6decf2bc3adbbcb7ef539e4547d837fbaabd3b0f73464cebe66aa978289fa5a68687d57cde38d6d9f32c4dcc810eedaad6dfc8d7775b196110e10aae4b8760b3712c79802cf7851d8e8d516eaefb320fcdede882f87c283f13e4d31eeb8ce7702ee4f1e2d67eaa76cc5923436b1926973ef75bcbaeb3b0a7b54778e3714bac1cc5c460638d2d6c5245310fe88cdf57ce6323179a78d06e4b86ad0c8d8a27c876096e4557eb1c383a7f5b9efb6df95bca7391426245d3ca36e6b3497e433e6bf9a8ca7c63a77c5428e7d8a18feaf631c9f5fcc6e2aa8c93d8c74f9bd8427b3a43f91475779feec572f3499f7c6a11126e21dfd429da19798603411aaa437ed1ca0dc935f3d1c8c3dd1517fd657d3d92a5a9993308da394be11cdfcf86ec4cc1d4d9de73947312caa9699ddff2b7a1f355de47569314ea4909d4e90c17057548cb9a3c5d9b5a6fbdb387e8d65e5d9d5ba6ba4a4943f900d7073eb7f551deae83fdfff16cdf961a478967fbc3f541eeca0fd18e7095a8f5387aa78310bbb86f8b6333504cd693bc839d789ea2e717a4a92557122ba7f7ceb98c0b3e13e5836733f88c82f57ae37c3f7f6835d7106f9afcaa66c4e655be52460dd4071d17586548cf64557a54c220407d94e9d822e8d8e294352055cf8986cde764a1641319f7ac48ca2d220cc64479be613ce3f1f16288ae13b3d159884bd204d7235dafc7f5097db67eb63211bff730e487cfe93d3d7c3c2bf5b62bf2d0b12dd0d040e74086744db3c96cb86ee9df69a57f6fafc44755fe20fa48c71e174344cb71596c7b697a7678408766c4afdb3916cda8dc771d17936ce2778831d1ce0d99f8c8372763284e4df42fc957e17a4c367e9db62cf2ec08e5326dc9d0dec1de0ebd9f7f26bf9ddc3a90b990d6b5a10b8bb10e71470c6d525cdbfe11bda84fe85a36422d6c82ce6f48e34bb922cf1fe357dfc30edebb308f101596d59f9a07e5df0aeddf8e84f57c14acabbc5c9d662c5f2e9b1e95bdf0b857b9d4d68779e66c825e98e4e4155af773e3417989f2c0dd6c5cf7f2d0bd4d6759eecbc6b38c1be7cfa533bff978b6e3f13529b3f35e9563d06df4af1379f752c0515f38f7afd3598ffdf569447a503b17ce7a970b87463950204eede511927b552e19be55b6cc9702f5b4c9ac9f4d6e835f91a351dbb98cd7573535fb27efd0c7cfad233da803da49392ff7f673e85739e691dfb6b93f20f1ec4599eb7faa027616d2b2a4328f0a162a335c00c28086f6d97ab73785ce9e254ea42696c6c640a60b27c2d69359006ddbed9814094bc6b60f28ce6178493aa02ebec322b215535de5baadce69eceb00c501be9efbdeb5717997877cddca43beaef3908f8b7e86fc2c048a2dcee632b6417a6b7e13de7d763421b4232a743888fbe2c6945fd3bd52dc88d41cca07a04fd039b42fd16bf6ef047887eef8da7b57d66b4e8f7f3bb7d7b9b2e2a577ae291b5e5c932dd95bd85c701edd88cfce1eefde18132753559c49ea64af1f8fc38451037638c32647ef2818ad2a81c82a1799bb561c0fd9cadfdfacd95eb566e9f2bc7f1ca4136467223db0ba8be426fc54e7312d71f07c9e7aedbd43beba759faeb946aed497b37d28d0be5a373e09a2da0b433acc149d999dc8787d1fce157c294e6e68ec0ae2ba15b188a74d0df700a1ac6d12a4e3a28e4541d89f36d85fdfa1a34ffe6132e63a63f9324e9dc0cb57f41493547da00b19ca9998a3bede6eedbd6e1fe6e3e250ffa70f736623dfdbc4c70eed89dbd17c511becc6bcd2f85cdea9d3bcfade6df81fc54211ed1cb5f46e1d12a58c3bb2d18ada466b95adfc4d554ed3fcd672a6ceb9fd5efbe2d5f70ef5e3ebf469b74749a8bf0d9f6edfa3f3db28f7fbd6650e22e3b43f7856f983af43dffe3e0ab197436c3df13bf8c1b3143dbbc5fc136c6ee427fcb587f38dcaa173ef286f9645f23792cd97da23ba35f65d694ff2eafc59e11ed1ce4785fc606b948b413e517686f6766e8fcdb5eff86d6c2e2c427cb6f32fc4e64bfbf1bf081b8eee63f0df8f136fd6711b9e47febe261e63c7efeba3789bbc578c17d313cf31f8fcab74d28fef59dc643c8fe31a9b675c8864a13880b2f0703f1dabf6d3af27af5fda63417af0dbb2248032f1abd723da833d1f5b4eec317f4037bedfac4ff9951e07741343d9ba97752fb60b3dbfdfacdbf10ae5b36d8b47a627e28b18c522e8959db7ef1a66507c57136315799e4db83e3f029e3552c347994fc5d9b4232ea65b71a16c9a7e1cb7df1b13d5ddc7b3ced5aeb28fd6f1e6f51bec5189fae27aba4713f5bdf514469fbcb71e236678ef3f44e73f38f937d5c33f76637d0f3f7963fddddd076eac2f897ee1c27aa273eac2fa2edd2588fa6a7982a6e81ed6a1ba272eac27efb03b8c22eba2540fc7d07f272facefd25dbcb9069fbcebd21d1cc7bf2facffbeb0fe8d0bebd112dcdd53cfe7c3b51185d9981497037fe28e652cbdfabfe972c10fb78941a8994da8013f92d6fc485a0299612a5faaab1074e48c1ccf8e14578a68dc8aea73d7fde55415b99f32039f85b6cfacad48f9c9e7ccdaf699d4228510e59c8da5dcd404dce1e89ce7eab614d7d09c1c686a5ac691755c9e15432033186c7316d08aac882ccfa133b2b0cec04477f786bea34b21183028ff30a4d5d427ae43d0b999339145f2aea1498159de15e0590326b1a2ea0c1da4d95d2ef891100282cdd1bdff39b3b04886b2a330364753d7229d0ce8426172e166ecf75d95f3427ec8ce249f59999a185a31d4b9208d61d1a20db37286b248c57534aabc3fbd7caf8a9b6326f5bbe301a3a1fa2196dcf3d964d05fc2b270bef9a0191bffe76ce5ce351ae739dc9bcb4c56ea1b6258f7b73c1fcc84734e0cedd1d435b58e5be2cc3631346a01e0bc8e9cc4e1dc8a96a6ee8c1f3000d26a692cc573b4ef706c62f98c07e7ca1e05ae451887efb8863efdc96f960b84bf5c792ff838a749876cc78f231f7c6b9ce8099cc35928b2283ea0bf5cc07eaa1ab582f63c9c075b57133b52039e13289e6337887e82f52d4e712d8e2579c4336c6c472a9c7338ce9056d28e42ccd4a878dc87fd14d72096484387fc26253659f31be467354377a8973cddcc038fe6efa02c07f19dcdcab96067fc309cf13e3398aaa2a0e41b57c542451ed2aa3a60f4a92ac853855264459df1435ae687e2e32c900475183ecec2893bc30c77aa5000d62563e18334d8b8400b3113d2c2a91d1bf69d9cb8905f4d0ddf40fd140c0ed600172e804615402ef9bae6139b6442830823539bb8284e97543d40282e206802e84206c7851f31a11de1894d8ae8ce0cd82f30803c8c27cdf968389f2f8ccf18ae93c10de48f8cfdbcadac2b63e3273e3373383677068c6a0f9881a14b0b73c014062924f6a8e275b6c59f43f541f519c2d085e2e1b5b199966b440e586daad2fc0cc3597e80b916472fcafb4b3a687d1932f3531aae5c93a3532043d9c6976d0ee90d925311bb6ab7f9ca18fde4f3becb0fb15cc7bcc799a2b8639959598458c968660d7ca6ca19ccc7365c3fb18819da7605b4e97efba89eca36c4e8a9cac236998da10b9ea5a918945bfc88f16c52acd722e2533962094366b499cc9026a766fc48c0ad884aacc876ab334c65dd83be0b642a1efbe8dd0068020e72a63c53e133893312438b3356fc482d40358ee8df480c9d0153db2b8f0a2bcd1e65dc009cea3b9aed8e552f7734ea3718399b87b89597f51e0f1c96467e18a04f57b50fe0510f5636a91636a766e01ea7c61c1b80723dd20ff7fd0d9453b0ddc69ec352416169799af7539e032b43b35d87ebb9800b0b4313a01c5e59041ba075c7d11194d990c7eca892d3fa04f6ff166b291db849027cc6e20778971ff0c1711f785797fb7768bd6b9d9fd0be3135c3d5f27e0afcfe1ae8d2624cece86f972de7a3e38e09153372bae4a95858c03a40141cd6e50b43c48feb3a57a81d4d7c9ec5dc07c4376a56d95619a4531ed2a224f7aa3cb1546ee4fc4f7ec044e674f9b3ac7be2cef07dd96793eaa6ccbfdb71f98144183aefea048edba4f4c4734258f10de4b510ea0a089747020e64a49f4486b62d80dcf9699061ec1061f6a8415b4e0c1f364960e802696a1d1a44ecca2694bb41842756e490759941247a1017f908ea3e6c0ab4becf7321ead3140f472a163efcf403b7a95b97724753dc876205fb25ca0a3552f365c27355bde5ef770f9ba5cb0f25cf8e9dc4f2e1efd5df0b1cb36335acc66cc1b36a01e4fedad1c57c4c6c1323523b409bacd1191e955e5a040e312ee2399630b47055f2e9c6b548380e0269425d82039ec56d5c23621726d261faeb59734687fe897cda98b7b634a59afb89ab106a58e23f533cf8bd35406782b66b9b53f37184f0bb3c4726efec73c84f464e6f0d99de1ab3e1562cfa6b9d08512eb771e46196b629eb87f4b22b77ac2f5dde977e4e55c054320df2cd011fee786d3ee8fb63b89e7dd4663847bee4c47322f6a9946fbcabcf56083fadb66f01e230e21fa6dd16cd47af8fab31e01b1a00e4a1e91975faf4a4190f2c41fb087249dbaeae28a8c60124d53cdf3d6c92d026d8c5e1badec3179f71f8fb56ff9a71e4ebb51a431ddb227aa91da92ba0b150a7d87fe700b31e35e6379a7fadcaa103e59796e440c6cb31e82f4b3a23901cc99c99f054ae67fe507e2cf89c69f27f435bc08ad202e2a370dfaff451a8c30d5d8b0bb392272becf29d82e76a5e64a64a60d3bc3fddf0eeb2ac97a34288670ee725766507c0be96f1948a6b93618aea2427f07dd2e490fe0c695e429a155618d5e308b85e350fdbe251635676de4f2d6e0a7912b6eba3be0ffa258d05ee02dddbd850de71db82f7fb5d7e60673f7decbf7976b31cfb89fd539ec6f53b90675be5132b5af9fcfdd215f25ef6d3b7dd47288339951813146e719b239e87743eca7c508e4fc53b9c0a65d4411901e2538e6493dcf7059691a55c70c7b9b43235ea99afe6bce43926b0082a1cc0672311caea00befba8311b87905cf47ca75fd006d49b23e407db8dc9a0978d9bb9c03d93505c539fba205657d628706d5df52c0eca6d3580bcddf0c80c770d028dad38096b7eee4782df6a9b130338473601b101da76bc8fd6470eb1c05b435958622f066d058c1fecea2af913ea5500cafcfbb9e640b9bee2393543e76f917e232ded9c41f62db4a3548512b401e4212135f4a96b446a54dab26c36d7a565d95658405bd981f69d36fd09e755e0440a90506eb7791ef15876625d444235077b634186b10df5f3413f1deb6a66eaeefed844fdbd3a8fe4c0c0884ad9b12f7f0c441b3a63ec8e651cb7a2b073f4fe41dd536ccb28b8389daa127f507779be12671875e81ed68dc613eac78e462550360bc332965019b28a3c10dc833911e1783a39b48f28743e1bea980ee7419b05ce0fb4f7d459101a3c57e7c2617c80f2e228aea151145cf350d7447e008ec6a12d0afa5026f5034b0b3340da7b3a07c40c0be9270d4f23bd44f08d720db5789d8ffacb23fe5cac5c7be4043fb5bebf5f1f8a8d3c39c77bb25516dc9f154fef8d7fbbde1372f570aedb7d42f8a440ac12718743f633cd4748ce41bb06c9728328e9ad7113d1cc219c6421663aba84ee82aae79a1f0c6139df40f62aefea033e386e47b54b99e7d83fd974ceb3d86f7d10c4c680771fe5be6f45bd13d83d71518eac52fe2d277280e6ce8a686c5f5f613c3b670a07daae9017060cb4676616b1f5ec282cf8fbe1665c8d2faa6f88eaa38d91b3343571c9a35c40a5bc6bcb5f2def7b3cc784f3119323b9b27bb794c5f866a9e11d5797a1ec765cfe1e73f9885a1f8e79a3b30ca45a5f3cd46dcb36d19821ec82731298ba80ce93f3ece6e4f8eb03c1e5f7f494e3329087205feee604d68fe6a2929d5377ac326ea5072d76f53121d25f8fe83be21d94b3acc419a8cf3336ef4b888f24dd0b0d52c5d01ca91b7f4f1faa75984ff7bbe459a423cdda188bdee3917e5bf3dda003790ef94e05a2dfb4bfbfe6dae3a4f8bbf93ba9afede961b04fc806898ef5d329860f5fd4bfb4ceb11e3b38d6bbda7aecbe0ca17fdb91b2b609b7d43f8ff5a9b20f39234c030cdaf6c8a760111d77aa8406b2a3756827219b38066dbf400c6d53baf6fb84ed79b037cd1c347d84e3d71ecf31017541ba3007349aa7469fd8d3875f7b5f482cffe0dd521769f167fb7dc175082f3108b7e4ab4af61ece0d2fef8de3fd4c991ed99c40139756def7255dc82d92eff27b63ce40fd11f95b01a746a646856080e28373744fcd28c878bfffdfc202d9a7a5fe31e05d9e75429e13cbfc8383663c437ed0e693dd7b732ec4f8fbe18b7cd5c6a553b4ab049b5b11ba2b62dfd7c4a9991385b94550c8afce8f009495a55c473e4f445f01f469c6bb09b2af2b9cd767b8309158f1693664d55920f292cad32fdeb79753fb77d9e5d4cad0d50cdddbe55393e66fa813e60c66472c017401f123d42dcb3b7f048a1f89d0ae5d3823a48b457644a7fca83ee7dbf8f5a1ec080d525aa35c185caff2ab88944d4aa1253328ce61e0237f4b6ea3b96bb751fac1c7114e583e53389ab0571fc41e83a0339b080380f2c330bb9c1c9c80ecfc767d109bad487aaa7c154f46c416409312db77137eb4daf383cca1ccba1fc27984f3dec2869a778429d297aa79b13975616a20296d19d4cf0cb095af25a47d431743480bbfc33dccd1850cf252ed2fe1074c530eaebb09b23119f2f0fbce06e2038780f4f32e3fc3a02d12577c17589b7d1905e0da1a3948071fe754ea449d9332a919930556d6bd93eb3ec45b73b33cc08b6aae215f936a0606a50d2707023b55fbe9c37d5088797f09659b42d02b4317123bef6f27037a86724ce7c1be0f41433adb1d6a3bc64efa0fd06f8bc6fe40e333ce3b59ad87d53a439b46a05101f2f18d20dfa79e8df6c3a63b1baab5468551daccc393ccff7c9aa2b5b0b0086a61e85268452c06d783a16d57a52dac16a5ff7058f2f734a9cb3e411c06fa64f95366ee8efc6c257fedf70ff211d773797fba7446bc3bd627ae806f3321efc7fcc0761f07e57b3fe5dacf96d00337194c5591d531495016f8cbbc37e0839f23860483c037fafb3aea346067924a0f65953fa0a99179778dfe9f4fbee21f9c03763e92422b16913f1eae3338071669bb86ae621681f60a17f0d95c66028b74328ba3bd6abf10f9bceb3be21c52f0ec110365de6f43e75d100b6b4bae7ddaf802ed6d46ec0aed7b95be09cfe2b66b07ca365d44760bda6bab7cc6fcc8c90d9dd9009d47b66893c368046d1b0fda3e50362d4d4d489c01b330e13ca3dcb7c84ef24d8d423973d0dd7a72e7e7178df16287693c5c5b3bbef27b99a5836c4c36fd5cbf30962778bac2785f12d580d2751cb04a203c2a98e2431dbdf2ed9ed0d1abb51080b503d7ef00c9adf5ae3dbabe9b8eb4910f53cdcb78247ea707462d1fcba7e910d78eb60d2cdfc1d01e7234adb089deb54fd477ce35e38462bcc683237e4c9c413f1bfb9d4aa74518b027b34bdb14d766a153c5a6a9f26c70ca270a756e414571624ddf508ca0aa041b14c7e670288e3d3941df7a52c5d61dcf27b629e3ebca79adf16fcf0ee112cf0eab38c59184d9a349779cd339d09966ffa0959312c5fd55ede4e5393609e55431e5137359f4cbbc38c734a715cd65fc9c7b20ef911db90df961c82905e63fca7c69670e9867a007ae13b12b4753ee784e5aeffa51ed0bf8122c83f604f881d7d0a2eac2eaa7bc37ce84a16d7120f3773c07754cf699bf5fddb578a630b449c577d2da8a9452760f0546c1d4276918ca150ebfcecf31935b2413dab194007d52cf4125bbf960a6820715a735491506335c6479bf4ff3a372cfe2049fd4bacbf0801791fef6e0f7a1ad85fa7a624cabb1177e1a7aa9fb409da4851beb73d702dfb29f1adfdbe288d6a61e396273856331f3fed0cfd6f8ae4853a3e0fa2a904e548f6700791395f1db3a416b0c517cba81640b4ef0232706faf44d5feec7c7bfde7ba8ec985207711dc2092b59b0c316f48c6fb7d9c887137b2ed59a5767922a3c4c95caa738daf68ecb30b5cd303ce91769f66ecbb1287d0788e77d7e803fbe34beedf78ff656aaf904848af103ac3efb83db849a3fca2768df95d9a0dc8f049d837bac1eebe95415672a46cbd2a0f42b20f933e0ddb1d243fae011dfbc308e40db1ef30027e276b4b9390f1824ecc33e0f94cfbe9007aab1186b2f8eeb217f4467f0c1c281f26580a58e2e86b6dfafc74f5530559e05ac28cd96a7e63a2d75f36339c4fb077ca0192f8f59ff94bfe313bac1be5ce5a0eef9ffb1f7aebd8d22cbfff85b59cdd35d4db898c4acf47f106383c10e63c080e16875c4c5c198067362e39bf47fef3f753757dfe2c9646776f565a5d918689abe5457d5a7baaa0bef33480b8b5a231db598cfdcdf02f95094fcf7e6fc229b591fe1f523f19eecc0ba2b28c7a7c6e3b15ee4c783c63a150f3d01623525dfeb1e73bda34f01c2a28200f158a4bb760303edf9b234de9f3bd95ba9f98c60fbcecbc91a798e8abdf42b63876c490ab55f78f4cbf53d89b20da52d118fcb410a1a3457b363566b940462696f95519eb4db745fd9a4d01edc0f8dfb1ddffb047e724e8b6230d67a7d9722778eb9aff9f430b3621dab024bbbf17e6ba1dcb40cb6e9719d6c1c8aa38b7557fbdba7ff96e200c5eca76e0d6be5f48eed4dbbcbed1d71d7ed8bd6a1e02f257d84a3737ed25c3317e6fda68e42601dc528659abaf52906f905417dc5cabf7bc90ed1fcf712e828cf42d57fbb3ebe57e62bd7f54b3ddf880c4d89d8a9aa89c144eb21df91f7bf5dc9139123eaedb8872704e3b0938957dad75c4ff57fc1a9cd3b74cc4e69ef1e9bf2ee1cafdd6e4fc3ef8997265a64f40dbcf6905de2ddb92fe913d945e0b35f6aab8072dda590df00619b0cf21de6c25f83ebc5dd6a64cf163b979688d25790ec695322e51512e37cc8df269afa54cc015a37ba2ae9cbd5a6690b90d8d26eff1df232a7d15b738ceceac5f329d9d3217e93b8c5a93d0d7d37f72b54f4881da9baac97ed2d6c15544ab91a53e4620a475af56d54f74144fe696acc1ec441e103b00b3cda4f7d415e95fbd943752bf27eeac62ab2ffd8317b704d9e100509c0dfb6d63bf82683fd77916c1a8cae629b6a7fa9e637d1d8a32fef4fccde726efaa50cac704fd596bfc1c7e0b2cc6dac752c732b1b45dd4fa0b97f5ef745b8b33f751f058cdb6a63767dce4f7c33aed3d89dfdbdbe46e038231c097c4d317a8a6a4817f65ecef3c29732273a9539e4c2313b230efbac9dee517a70aca513ffde19d263c97c2f07f7e5ae357197fd0ef9f585635d2dda8e7cc7106f287c5e66442872e246150a1b0f49ba43359d9a6ce49b7ba017f6cf819a7af0afc01ee653229a13d7c7f55513f37ea94f0629f574bec7eb807d510ce39b422c783d216ae3204fa6912da968ae9e432ef8fffed698bcaf5eecbf1f97874a15b1798f9d27fae7c4e6319f179b871b7d25368f7cbc129b578ba2633b6c87a448f67363f3580ad64a74dbd8bc3636effdd83cb40cabf83c8597f8a9f673fcf8fb4afaac4786fcc9b1793217f534552750dc916b229d03ea35455cddd6abc5b915715728767bf892895c6f6a9b7a1e1bc64c8c01e8ab5a2f76cc3d28db7b167f55c6a0a5dea18772b6213fbeb0b7b005352d635da03e96eb4350bf2debfbdc58bdb2ffbed0c5f175cdf8a7725cabd8ab5d60c4c6c1a3d0981ec6cbe76004cb2ac428a787b02a2ba6dff23840eccbcce0b87b4a2ffd92d17e8260742ccad8f91cdab3c3b1e80258b8b15c8de3e7c6ee15fd2efb8f30233adf79b51dd33eedd7f281e073ea4aba3b8e89bda410c6379d40e744ed8a36966de58dcc158ca3877cbb79d2c13e14e15ceb417d00ce45ee7fb25ff838367461d312287c1c1cb313f8b4046921b30fbbb28d5e8db66d011cfda1945a8941a0f71a7196555f1dec5fd228eb529dc0323b55df3f29b6af5aa31b691a296b513052d81e2fc4be8528c611c52f021497699bcac91aaada5dfa62957455f98258871e3afbc3476702f71297b68197dbcaa01ee89ae088e833790990fd59d8a7ae09081c6fc61c2b9aba16eb57d2f24fe26dab722e7e4edc5f39a679fe1e31d06975e1254a60cc9e0325e6b1ad92920fceac479cd3f7b538c0b2de3a0eba147fb71007e9403bf4f2b81c35f58a77abb64dbc6119b3cc4f8115f8317ff07655db4b7c76219eb0d80b95e897c03199a32ff06b17c5b4227f47e4bf54d16ba1fb4a3d63208b33c2e86b832e6cf7d19ee13529516c26e1f80be0c6381e17fb29184b476011ed95bc46901608e70ae83c9b851babc7abdf8278cc90511f3cca20904ce3fcad1be2983a9fe2533ff7fdb134bccf0ae5894b6d400d27033756611b4a3a6ae2f1e70d8a538cf90d3ad73179093c886f9a3214c53789bc0d79edca363b81776aefaad605b661dd1dbb58ad61389e2776888d29a8c04a8c44e4480b7ed38955daeba78417f39947f7b65ea2b0f6507d45f90c2883180f65e02536f09624331ecaa447c3fe2bec5cdb43198af8cc641aec5efacf67e3f109b18b3f7dad56b403653fc84448cb5caeb7e4761b9f0210f3270ae7e5b1ef28a6a9c0ad9c62a87d8d677985584c90df23a631d8176cd716d8d80e9af3e40b804071e79495e7704431d3f99eb0277309d457f640e4f45da5ef18593e8ea85e3c8e2483620f872ab6975776305d2116afaa2e8b531c6f97b85427817539a61588a171b1fd92260693291188319b8995fd0b5cae5797b9937e493ae24b00d1be60ec7d135096b9c767df505690c769cac816c78900db6690fd8d15393114b905aa478cb09d07d7670cf40898aaa6e3f206b2b300318ceadfe74b3f586110e07d3ab876ecd485bc74282fbd18eceaf11cb99e847555d81ea4433d87925ee07d79ac19bd573d7a0162f8cc4eb4e7500ca14c84eb5a7e73663dcd227b87da1ac43e52454cd810c585e6dfdd052ec52c6d2d3f4b42d8435d7339d79e332be60938b7b9deb9c036d85a598e59baa682fc01e19cf715e40707e650f740edc5633e2bd793fc0abf3d8ea585cf89905ed7eefbe5f231303ace4c26aab931bc324e9664775eac6716454662d8433e6bef960b88d1b7a439569006213f4672c5dca13944fc7960687ac46a33429ea8039d7d79aead4f1ed21338bad47ee10b3a943b848d7cfc77487639268a0f81baf7c1a588c01358a8a72059027ffb65bcbd7a1c733ddad6b0ae6c99cc36d7a38ef64c45b2d47d26460a5c53c27e0bc7aeae434ca6043bd17a5363c06b06d733157d2fa9035ed774f61ba4e1c99438a1a5ba0db246e782bf85bc714a6d4628ee008f0b5ad75047c2ebaec77b89b4f596a77ed748d78f73df55a893332e8dce7a68f8638fb10fb8ccc5d8174c17f6c042e77ae05865b4df55afb7e9bf9d8943b0f56722a43bca99495b3746e770219e0eb113d463904cee77e297aacda7fa086edb00efdb54fa02c65e276d84580caf2fc13878317b4063bf4c270e91a2388c73daaf8fafe15931c866d89e9dd9b30528d7ab0032076293b29d9d725c6ef8e6973a8a657660db212f4b6daee1239e9df4bfa19f419e714e038df28a2b18c88f2bd75190be50afa3a26f1c3308b124d4fbddc44ebd98cdf0796745fc2a3a5b02cded24b40e054d899896f373c5d8b898db7cbfb33ca721d7f34efa04c70ad3ab8dc7aac6779f21cdb3505755afad07c803e26afc735e29405997f7f7a20ffc98eba5e358cff232277ef9c83f15d9132c13645eb17f19b3eb7c5f0ed98ec5b0c2626a0ce9aef271b068486368ec90ad00cbd39aed57437bb2383e03fbbc64881e93c61911e776eb2501cef6a3425de62220205b4643c69cdb94254d64275ac52320df5705882f654289f9a3ad639dbeafa4883e5563c12b24da2b66255d1e484ace4f793fbf6758aa2e235f00f8ec1b8e29e0202f50b1ae2ea9618f3707608ada66a0f7800876780cf37658c5b773dfd6be922e6dee3983fc4ad3914e31abb51f2884525b7f705e8d813393beb9b42a20def57cda4edc769b62212dc7903e9afd5d3d5e684343efbdb47752f4276f6fd8180f4dac68fbea38d7bfcb6cfdc1777cfb64ecb1ffbfc19b03a38ff725f530e77110670c2086b0e8fadcac6a74539ba35bf463e0799b09cdbdc43a3de9280e918f6c01209e6099fb7e5e0eafd19afc1307b9dea91b1d5f30b202ffab268364852a186b6b06803d303a9ec0e3e79077c4ec41e45841e424d2a38c109d03ae419d6c9fbab317560c9f81640e104f1b7122b8318e6086f6e519cf49ec0d3af3019d1320a6a2807431b81e474644be2a04fb4d8dc07056dfb3217bd389c6df7c2e6aa82d486777e35c0fe09ee3fbea366e3e97144c43f78cbb4e187a8563b1dc80eb1baea7baac968c7de8988c877d17183017201d617aaced438d1443646bbafe853d36c343fe25605feef515fae1b90f6cb95e3f730fb1a6ffa91383605ea6043f98918636fda5fed988bf0a53520cc684158889ba752823f38ec47edc17035b30d68e491e27532214391d285a4f9a86cfabcf186b6f28a1334e7c01000fd2f8409d885c20e7fbe0921a3e879266f4c425c18a49e99782fd19799937b8de604afadfa603b6a7f2c89f9e953483eb2babb4aecbaa351f0f8cd7a07c646951e0495f8063a7a6083b0ca3ba5fd0591cc9199de43a787e1ed3c6a2d019a958afc6b25fc77672fc3def0075f1b37897a0e6830375dc5247c0b29e2770ecde22b562408882bcb24d3997e110c74ba98bce96e945d64c5d4019959f87917ab412484645c35ac46b92f6bcea973eb6482fc3328a7b0627eb09c071cccfc10846cfc488331bd8f124f6a18e6d03990ba2e0da1c41da398983009f49cf9c16c98d78c0c1796cc8f9b8eccee6de9929c8ffaaafaca47cacaef9e60375c0cea6d17ea2e8eaab61482f9017720a91fbe7f7b63e651c3c6a015c61178cf5c2a60765a4fd2402c81b2209c5cb995271ae7230d17a993df3362e25619d912f6233996ff64cc90cca08953c4ff1b7833487ede43429b5c3e7d5d844f3b4326974be636693c4e3b7081ca789b17607ec4135c99d3f8c56d2c138f34d96342f1539dcbefbdfaffc96e1fb232d0ae6659bc4c88772b1c8a91cc907db54819ba8a965ee8f629f08dcd8a0c7261be2dcf2bde97c2613b64964d3d820c611037c1c1bd8f7622382753826bf1e711e38f34fd6f464cc3d27257d227f157fa2470a900e5135d60911ce20ad285168120cf039666acf24ca3165a00b6cea26aa6c99ccc2a68cc36cba7ad42963e9cfa4d41f02c58b59c2a5e4adcb3db322bf417371f139af329e60f8df96a9ee0e5ff62fcb75200d7d60c5c519d94c454f03b49706c7f374bd00e9b00ba48331d3235ed1078606e5a51eeac9482be79c85742fd6e2a1548443d0392a67747d46fb0a311a55b69d8bbe71889f563c3fc76d86a56a7a20e9a93935d8fe9460044df75febfa8dcebf0091331ae7cc495a656753070667c077908d590fc626f6c9cdfd8fce78d207fc5a6eea5b5037bbe8cf12c27e9dfab3e881a4adb0dd23b7e14c0786a9eabbe045eb9de0f912df23fd1fe94505a6c4b88ad78134d1011c37959f4c07397ec4e5156427cbf552ce0a2ed98d24bd710dd01c7ddcbeb7f5e8724f33b0a80580f811efa1a167e55ece98eb6ddd5806c57eaa2b188965ca8cc831a135abec77f9f9988db2e358ded85c6dafe10e5b9c4bcbc45d363e64ff426d08efb21de2f24bd7544274ce80b08398a5d03bcbb3f86634eaff253b1f1eb30aebefac99712cce1a2dc60bf9ac5fdbb341671e1567ea95b6eb14c520eb97df69daaef36f62bb5af33d52e5f58894a611afab707dea4a39ff2ed509f1b82bc1653ac2cfc68478e9f9dfe6cf95aee2affb18dc76e72a0a15de5c74972e4f5aefd08f17bdb9487a4a917f769efe2489af2cfb48502c4b511ff4e9ea5cf4e9223a1ff0e9c24dbfe2d3d5bde4d2f5441034591eb74e522cf3d8a12e787421372d9a284a967dbee6d175b968ebd1d57a74ddf0e82a5662e5d035e9b31d176d56e40e3e4b227cd13a3b71d9fd9d5bee2b03e8707174a6e9110a1ad7e45f4a63fa3207c3fdd5b654f64f40b03e606594e083ebecea0767e680eaf4f0ec8e4729a543adcc7576e3e573361fca9118f63aaeb98760f7fbbe993b32cf0572ed262f8ff3a19c4e3409250e84edf0699f1e27de117fbf7b78e93fefc7e4429ef2f2d2118c8da591b9219a59da1a4e883111c82d04dba563d4b243c076bef4775bd76423dbdc97879ce70937122f66496f00a209fa0e9327df6622db24b7138ead9ee3f20b14a81cf34b1fbd63936e32d8d882b1718fbbad359308c7b41716ad4a761f05b374ab39ececc7cbe78d4e303d9d97c529a974c7b40d3c7cd8036effb0110c5d26f9c007a8039c0449d8933605b27152bdfb72e874c6cb411725ee41414ac6613cebad7dd34fdd90a11a7de6d038e5f3532b9f341c137e47010ed35d450f551b3274b08949021f2a6a45f293febe30e22cf3a02ce0854c9e4845fffd45eb74261c7bb34c99d4e4c2377d813fd894414c9683ec5bff72bbca32453f11e84f8105158fc4485d41c98a0445aa09db8014a8df0d4315c6d3a03ba6ef2b5fb4b33c04836390c109ce9b1b7b994b1b84373488f7bee1c5060a584107c6c72ce90f7ba43f30609f90f257f5a34a767371fe9bc96ebaf5e43897ca97ed2f13cb303b57e009e4e8a831158d73646af7995a223769eb4eebc9746ebd57d245f57ed25b5b331505598e63ffe0d2c66e6cc27504b6e3a46c73bdfd9927ec173e3a6091c86c5adafab3e78d632aeff5a1a2f9653381d6a49e30b3de9e4be3431b07dbb4532fd62f8f7bd839bc849dfd8463d10191760c0eb646eedca191386627abad7dc40bd0dc9facef89a00274e0b76064160d0ac0bc2993027127652800bc7ac2a1c6fb513329b680c7583395dfa5e1e6dd79789deeb6788c7b52397f5cce839abc2d9a5f99a3aa9cb2714c959d706c9367369228edab790ad5a7f7e612b6ef644ccbf6f943b0b3a7cccea588ee9856194fd09b6331949770ec2731d8e043d8775b8f92b78d72fd1d941f3b08be6c9359cea7050d37ef3ba6712c922835caebe4c28df9c4c649a8cee7b73e77fd7d64cf1088036e2c33b571e95673c0a4eea15a7f67f2e8e2dc30d792dc77c7147ff005105ba64c68b53534a62ed250f7e2589cd0956376b372de8e97e9672234bf5b4fd2ec9b4ceaf7f56b6d83e374b42816ce2d61cf6402ae357c7d796eaa39bb7b7c0fb0deb1c91ff17a57ba63aaea5fad1d4d3a4e24e0d1ca061de000d77effa2fc6fd25ea2c277ba633abfae12849db7f52acded43df04eb1a7fcdf90d73acf7b1e05727ebada6ef9cf0dc4b7dbe3d778581b9e077d7e7108d41c5371bbce8829e726b9ddbf9219f2851c87962c1e280c33a1f6ff4dfa5f8f5d97b45dd14bb70fb4c3ebebb2dbe3e2f0bd7e1c57ae03bb5f69d268cbbd6f609c7166358a7b7f37b17e6c32d374ece75c4efe1bdb7754c06f2f1333d32976978fe96757a3fbf77814f15f47349767e0f2ddd96bd0971a6675763996f0e43fdf332cd743d1a1c7dc1d8e8f58db60bf433c91d8910ed71ccdaa5fc04eb75b94c9889bfe34dcf347469f9388ef75b9b2a9f6553814da6269f59a60fbce52e0f3467485f006b5cd6c7ba6559e69cf6ee682bc608d7fa0ceb38e11b156d32a5cccb75e30ab35036c410c7a6de8d8cf1757a86ba64961f7cdf1d532732cc94096766e7f8b5d9e6729373189dcd0f4e9258af171d00df9c678e85987967cf24a221c73816d262eac7fce97aedd6fb7846d7c9cb399d5ce2b7b7e93eb64cb0f6283ebe97ee2fea4c3775d4abebf63e7e7aa1cc853a0a9d606b99fbe3b5e735fe9aba890a6c5aca1dffc842ae239e7ac7fbb03fa99d4450666d2d73773e4625addf6ed31debbf3eee47bca1462a052d9532f9727be13b055d668e492e6c4acfd0a60cd29fcfb166fd30d757ad7bb90cc278fb6f107fbf6a240accb76722a27b5f0094ad31a98b02721814f87d6b3cc774be196a5cb43b5c18cffbc66bc2b1efc8e1ebb2f01a1f3abd7f223f9b3a1177d596923fab63177ee95068bc88f90ce2837c1c4f70ae65ca6f90ef8e93136c01db7489dfe6f751b0c2b486ff2a5e59b705fcfe770678afdfbcdb9b01b040b11180cde7782380223b4f9d6e87649e6eed073cfec9305fa92786ed104ce77c3f009b6c6f6e0710f463b91dd029b603c8c72e4b7f603ba0b0ffdfbf1dd088c566e82edba108ba7b6d3fa02a5af6f9fd08ef7ad1cfdc0f38dd06b8d3169d5f9def0fe4df4da3e0018449b6ffaf13fb8f9ddb6df8ea54bb0af9fbd5e6c27fbe7cfdf257b9bb8069a1b9b990ac36bf85c97ae30030f77f73b3cd6fced60981e382f96f61f29b9b85c0ffcd73bcc5bcbe0df19f2f1e08e7c9e66bb0faf2c7176f95bc8601fefd9a25de265c25f82a8d82b90f7ffe55dbb4f8cf97f9dbdbea0d0ec16bbcf9d25857b1f316b9680dc157df6e3e84ff0f93e0219ec7b0dc0a3849f075f5163cec1f92f9e621cd5c107aebecf535dca3e769147c0d9387831383af5b0aae9115fadf43b8ca3621f8f2c797d5fa0bde5e78780dc11ced33fcf165bd790b93600dbb80375afef3c5cd5ed1bbee61335fa30188d3b7f97afdf00ad77ffd46700c533c421b274ce66f0f205c6ff21bf33dfaf5764837abf2c783836bc4175e982ed028e4d77efda1bf76aa8bb9d7bcf4298621d9b31b0f61b299bf250e7898fb3be7cd5f9f1603204c37a157dd59c44eedaa7cfdcd49fc7cd44e1fad337703e6d583d867aa0bf85eedcaebd42eea1d582f1cb27145318f8d6b86a46ad7279fdc80da38ed19826d5e3da411a28979e2adfc30096a3f1f9c7542d6af5d673d7fec34ee8489f376a8df59ccebb53d2ce1d2aa5da78840af137db072b3d75707ac1e16f3b7f90f2c88775faf262976d2f59d45374e345f250f178b2ee6a9f349d5c035b799bfbdd32abce6efe20bf3d89dfbdfc341de2db7def888457c80d72c9cf522fff3e0bd7934e23fc5d0403ee280a07ecb4bb3fae56bbc59afde36f55bc97cb37973bc79fdde6a8da8ac7e2b5d0150bf3e7de56dfe0ae6de06849bc6ed75980460fe0ac260d1f8eafab0f61c001eb204f5b49addf97a0356c125ae8a6fc7989bc23f0f6e18543fd15e39fa9df38618ea39f8cf439c814d983aa8e7e8c6ffb2d566eea76f61b28132eacb1f5f92f906ff1fa95bb59f0fde6a1585f3a5f356bf09ff578c5b79b3e8467e0fb2e6f46d85d832bccede4ae9b05a3fccf7732f971317c4453e9ee85730dfa7e58f87f521d93870d0deb26483fb98ff7af090b42caeca417536ab18f1e2b327f9689edd878ade1f5f7252596fdebc55b2adc930a809265efea7aa3e9fd42f7f7cc9db9525a107d5c0f2d743b679251f9bd75d74b9765e61b9ed3cf1576f0f8d955108b185e32d1c8a4857e040d204f34e69f407ae887bcb152cfb56e1ec6d3b2f44dd8d728bc87fbd5da25aa079afee2c5e4aa81b85df192048897eb286ffe2f97aed04d7aa6bd07a90a105f66eb9f46db53fbc53907a58a48e17dd2815fa8973e5f1fab0ceb9daa5a770c93dace75ef6367f70433f7ccbae8e162aba797392f5ebea2dbe55a8205658e13de51258df5f274e3485aefbdf2c0937ff857caea9e936efff75e26ff39ff7154cf82a94697fb57e394dd45cfae460a7a5bf0b9d3fc468106f1ebf064b7c10a3537f12e49f9da7af54a74bd01d92ed7e0ca33f95189dfef918fd896088a7024d776886a019fa8acf5ea368d9e78b18fd6ad116a3b718bdc5e82d466f317a8bd15b8cde62f416a3b718bdc5e82d466f31fa3f0da363ecfc3381fac3d2d93ab7d13a2af1a33bea7497ed1034fdc11df5eeaf44eb277bdf14db21188ab96347bde8f31d3beab5a22d5a6fd17a8bd65bb4dea2f516adb768bd45eb2d5a6fd17a8bd65bb4dea2f57f245ac700faa743f687d55b701bb6c3023f8ada3b0484a51dfa23a89d4407c8fcfb507bd1e73b507bad688bda5bd4dea2f616b5b7a8bd45ed2d6a6f517b8bda5bd4dea2f616b5b7a8fd9f8bda1186fe25c8fde1354bfe77b88ddf71911f46f03484a88fe7d9caef42f0e4bf13c1e77dbe07c157455b04df22f816c1b708be45f02d826f117c8be05b04df22f816c1b708be45f0ff6c049f63e95f88e31ffc79bcba0de651891fc5f28f1002771ed98f6179aac4f2d4bf08cb177dbe03cbd78ab658bec5f22d966fb17c8be55b2cdf62f916cbb758bec5f22d966fb17c8be5ff0d581ee3e95f0de81f84b7f91cced9d7f743e49b45ab34b4ef66a125a829d9fd93eafc49d25f99eeb99ffd3df967499afeccfcb3df997ef6643f1dc5b177d90bc89e7e229e08862e8fa6efd204faef9e5d7a06d6fad4e69f6df3cffe00473959d0558ada2a6d466febc55e662746e6cda20ca7425d8fb8a4475af13eb50ebda52bf047efd01b7ab1017c0164f6a1f784d367f4765e0c286ba6029197092f46cf32cb24c1b71d4efbe10d25949ec7d67a537f28a1dcfbae691c3df8ede97a54d4e39bd2da315f029d560f386fba0ffc014a05b41a69c5f7f03f2f36087f2665a2809e176d61b9a0f8a611ba02588a437beb980aca1b3f8df98dad2daa36a0eb2898ef6ae94986eaca99bd64f8d933fb6efd559f137ba6caf64c3e5aa60f46dc69bd12f087c6c10d7b9ba24c313eafca0aa71b1996e34db91488503ef401093c5a5ed894beaac6a5bc978ac3752ded4a8f7004701cc7e5f360a25dfa5ecafecda94ade27463ed730d6df21664ede29e40d8942ae7e86c079fc3c81831bfd7189f348b01da2c33c7daec4615854eb67fb85b512e7ffa6c43959b0df217a8a0caf5caf913d751ce7d9502394b5fba9560ed5e3c4d2d6a35f325760139b826c997971293fb167e21317a4a98b323c2b01cacc370b32c7645016f67104329405babf1e392689323a8bcd6c804b976296fe4c3ad826438cc315acaf145916b55f78f44ba0d212b061f9d8177c9359a2ec68c94b290a6aa2f0e80b3c01dfc5d9c076c114b5d93888c27e6b1f9e5971803206022f64a06829fab1128b3188fd836d1a28f3b418464f9568bafe0d9d9257b6a992ae60446a9ebdcba5a5a93d9328c7948128181ddb94495f600f629f086a658ee398013e8932b747beb90736afaebcd858d87c6feb52bbd5cbd44abfed725136e8496e8cb262e5d7555b75ca38f83158c2f615dfadbd07c76d7faa122828b3e51ea0f1043201c5d9a456e724ec254835e116922d18992f0062ae6135e45475a8eae2435730047fa6925eac77abb9f37e87e2daa38db5cf211500f8875edfa5c89d2b1884654a6b5bb74928ceede9eef7111735eab7cb311333af1c6f7d35e2a2cd246cb62557390e73edc27d2cd2d72ee5413a8ddd43108ec2d5ffc401c844a136f7431978899d5a941ea0e76174adae73f50baa38d5fb9923186b57e8aeb0fa83e80e65a91b7151fa6d77390b1d5c6b63a802c5dd950864e0c6680c032be697ce711588e1f35b5d65b9564f6dfc03bbf67ba2f5327be6d59faf46d3f5a52c87417d5cc649537daafa7c757c924abd658e65dfb10a98d9a50a19a457bf5fd20dce8e0fe9c5d616b57aab755afb2e2b0af2c217e495c82d7467286d7d0ad2a61ef8a76a24d750818fbeb927c6b1bc7567bdb53d53813a5b2ced590f65e4b3ccfd7aae2d884b6d7d55eaaa29b116fb83dd0bb70b0c016c6cc3c89c99924d75f0321d80a9aacb9369a44e9bf5f40e365a379db21d7575f65559fd5af5529bbf6d436ffe1dca65e38dd265e189fd399a25f3799a256af3c7154ba60b55c0cee3272b964fa856a2552c5bc5f21314cbc662fd905af93f6b662fe61c03dc44055ed23b38331920569aa8603e543265d6db41848f93a4325394b0de54a0daf77ce5d9a8b40a08f2da9ac9c72b6acf2dcb494d543cb3222789b6b95fbb07f1d63b3ba46a0e8d3c192f7c4f5c88cb73cb8a1fb3a9cd41b54bad59722a8b0816bbcaa955a1d9a65cc4de65bde07ba41bcb846fe2e4cca3ab6dbe6c85f1864666d12a9927aa85aa40f3bd65dece2171c38ab400aeb0dfd6be4d59e6eeb48fa538abab1ea3c37328726230c2efc0bf57bfffcb449ee8cf934db839dc21eb9a450b2147118f3f47c8753e4fc8a136ff809063a038a23ed95ecf7450ad9f7d2e4e2be4fe6f09b9e62afd217b7d1d0cdf63af3fe5e49564a8819f6b9c13a7f1bfce916bd20703ab93ef9f02755f58a4de8141cfc43e7156ff2fe3b893b7300e37e176fe3d46ec6b2f955cf891fe295cf8f113774d519b7fc0868df86597f85c2efc48c35a9f3a2d176eb9f00f70e16bebf56f30625f3024eb90ef9a807066365013a40543a4712c79ef154369a9f50ed5ed5460697b26f5ad990ceed57efd985f8f9393774b0367b5ffa90c50db4fe545ea264a600b2cbc06da4c5939264388437be15edf0fc59a75f87cf89906a4cd7cbdb9cdaf51891f0d5d797a623b04c3743e12ba423d75fe31c750d014c576882e7989559f45b9e47dbe8355d78ab6a12b6de84a1bbad286aeb4a12b6de84a1bbad286aeb4a12b6de84a1bbad286aeb4a12bff38930942c63f2b4c057eec67256bec12108e3e7de8d048ea89f957a2f5a2cf77a0f55ad116adb768bd45eb2d5a6fd17a8bd65bb4dea2f516adb768bd45eb2d5a6fd1fa3f12adffdc648de5177f4eb2c66e07c252f6837bec8fff4ed49ef7f91ed45e156d517b8bda5bd4dea2f616b5b7a8bd45ed2d6a6f517b8bda5bd4dea2f616b5ff7351fb4f4dd6d8f8eacf4bd6d8edb21de2917cfc18827ffa7722f8bccff720f8aa688be05b04df22f816c1b708be45f02d826f117c8be05b04df22f816c1b708fe9f8de07f72b2c60bdffe9b9335527f12dd3fc9ee57867aea506c9779fa1896effeca648d4f044b94a8bbc3109d278a78ba740e222cda65bbe5e124459f2f62f9ab455b2cdf62f916cbb758bec5f22d966fb17c8be55b2cdf62f916cbb758bec5f2ff062cff7393355e6bc0437f1eafe034df710069b368993c8b8698f7f6b9a30d804f3e7628f6a9cb7ee8f451ea89fdc4145aa8e9df8bf0890a8b776896448ef1ef01fca2cf7700fc5ad1f6f4d1f6f4d10f32969375fd09678e262af0682573129cdc459f190b2fde901e89ee3f9dbc77b0673261cde4a33f9380cd311abc568aeb46922cb01d2712f06875e1d132e9c546344e7a0b2f915337f6325de00f1e651cbeedaae45b2e2d25e378b1704d197d671c9128f90d4ad2759ad04be037162da1b64f4d9eb0a805f09297f37279bf9cc4d83933157821b3f084283304e3e8f71be35226c572cc6e8692d708fcd1a38d836d2a990eaf07d5b54d01ca363b4f97de3fef87bcf56243b666ead2118c83776052ef581bab211c5335b50e37fb968d96dfff8e3de349cbdceb8806a29e5acc3beafff3854465905ef0dc07f32af9960efb71e5dc6e023ec3499894b37c9c57c66d35d250e234c23619c218829dad05a1d5c89ed1d93a89bc754331bd9c94e939b362369a6b41382777213a03dcd885dfc29e274652ea0a7b4f4c8870a45c4e92344e7a5b8f565662c8e609c2ae7fc71716c00d83749ca031273d42deda82be7a593eefaed61f4b5b7b18adc41825890ac75c0f783363e1f2ea76c4499c63eed76218bddbb72a3995b8160503aedbb52174576284b3578803d8d7dd02d6759679e39e79ab9dc9fb2be64ed6ae97f104f6e8734138a6d4ad8f92ab01420ca3cb09b638867004231b715106798e3f348e0ac546b6161c5efacfefb463519b1b71ffc2895522afeabcfa67bc662ee791f5e133feec7ce4e6d9c63ce287bd921fc67eeac7b8cd16c566be60643eaf329ea0afc498df79c23eb5289c21654ca54797ea5ca7e782dec02e5466b2ee452053c95d7863bc762e2d13234edcfa02fbe2d23ef02279e151fa8d35a3aef2f947bcce9fc97d9752c1a82fee5eb8abdf095d4a654675da05bbd09ae5e74ee336a6f51cb47ff7f9ce1705abec6cc2ed1c8a57717a87d27c5ebc549cbbdf993585f998c6dc253e5163eefe907beb5387ed9024c1dc735e3f73ef79fdf4138d6a6d5383b51af38f68cce72bf5f3b5e669cca313f935935cd89481a4eeb7dd6aa40c98852f00cad6c1c6327d704deb2ade47da17017451303a501ad8c32b1a19d7dd8a832225ab1e400d451cca50d3c09268f812588901b57094091db541eb6d20b71e07ef7358bcb6e6ed7e73bbdfdcee37b7fbcded7e73bbdfdcee37b7fbcded7e73bbdfdcee37b7fbcded7ef33d20f7ffff7f000000ffff010000ffff415e1f24c3580b00`))) diff --git a/templates/quarkus/http/.vscode/tasks.json b/templates/quarkus/http/.vscode/tasks.json new file mode 100644 index 000000000..cc8b610f6 --- /dev/null +++ b/templates/quarkus/http/.vscode/tasks.json @@ -0,0 +1,48 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "Appsody: run", + "type": "shell", + "command": "appsody run", + "group": "build", + "problemMatcher": [] + }, + { + "label": "Appsody: debug", + "type": "shell", + "command": "appsody debug", + "group": "build", + "problemMatcher": [] + }, + { + "label": "Appsody: test", + "type": "shell", + "command": "appsody test", + "group": "test", + "problemMatcher": [] + }, + { + "label": "Appsody: build", + "type": "shell", + "command": "appsody build", + "group": "build", + "problemMatcher": [] + }, + { + "label": "Appsody: deploy", + "type": "shell", + "command": "appsody deploy", + "group": "build", + "problemMatcher": [] + }, + { + "label": "Appsody: stop", + "type": "shell", + "command": "appsody stop", + "group": "build", + "problemMatcher": [] + } + ] +} + diff --git a/templates/quarkus/http/README.md b/templates/quarkus/http/README.md new file mode 100644 index 000000000..0fc567ac3 --- /dev/null +++ b/templates/quarkus/http/README.md @@ -0,0 +1,55 @@ +# Quarkus Http Function + +Welcome to your new Quarkus function project! This sample project contains three functions: +* org.funqy.demo.GreetingFunctions.greet() +* org.funqy.demo.PrimitiveFunctions.toLowerCase() +* org.funqy.demo.PrimitiveFunctions.doubleIt() + +The `greet` function demonstrates work with java beans, +it accepts `Identity` bean (data of incoming http request), +and it returns `Greeting` bean (data of http response). + +The `toLowerCase` function accepts string and returns string. +As its name suggests it returns input string with all characters in lowercase. + +The `doubleIt` function accepts integer and returns its value doubled. + +You can test those functions by using `curl` cmd utility. +Parameters for `curl` can be found at [Request emulation](#request-emulation). + +## Local execution +Make sure that `maven 3.6.2` and `Java 11 SDK` is installed. + +To start server locally run `mvn quarkus:dev`. +The command starts http server and automatically watches for changes of source code. +If source code changes the change will be propagated to running server. It also opens debugging port `5005` +so debugger can be attached if needed. + +To run test locally run `mvn test`. + +## Request emulation + +sample http request for the `greet` function +```shell script +curl -v "localhost:8080/greet" \ + -X POST \ + -H "Content-Type: application/json" \ + -d "{\"name\": \"$(whoami)\"}\""; + +``` + +sample http request for the `toLowerCase` function +```shell script +curl -v "localhost:8080/toLowerCase" \ + -X POST \ + -H "Content-Type: application/json" \ + -d '"wEiRDly CaPiTaLisEd sTrInG"' +``` + +sample http request for the `doubleIt` function +```shell script +curl -v "localhost:8080/doubleIt" \ + -X POST \ + -H "Content-Type: application/json" \ + -d '21' +``` diff --git a/templates/quarkus/http/mvnw b/templates/quarkus/http/mvnw new file mode 100755 index 000000000..34d9dae8d --- /dev/null +++ b/templates/quarkus/http/mvnw @@ -0,0 +1,305 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Maven2 Start Up Batch script +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# M2_HOME - location of maven2's installed home dir +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ] ; then + + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +mingw=false +case "`uname`" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + export JAVA_HOME="`/usr/libexec/java_home`" + else + export JAVA_HOME="/Library/Java/Home" + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=`java-config --jre-home` + fi +fi + +if [ -z "$M2_HOME" ] ; then + ## resolve links - $0 may be a link to maven's home + PRG="$0" + + # need this for relative symlinks + while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG="`dirname "$PRG"`/$link" + fi + done + + saveddir=`pwd` + + M2_HOME=`dirname "$PRG"`/.. + + # make it fully qualified + M2_HOME=`cd "$M2_HOME" && pwd` + + cd "$saveddir" + # echo Using m2 at $M2_HOME +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --unix "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --unix "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --unix "$CLASSPATH"` +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw ; then + [ -n "$M2_HOME" ] && + M2_HOME="`(cd "$M2_HOME"; pwd)`" + [ -n "$JAVA_HOME" ] && + JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="`which javac`" + if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=`which readlink` + if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then + if $darwin ; then + javaHome="`dirname \"$javaExecutable\"`" + javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" + else + javaExecutable="`readlink -f \"$javaExecutable\"`" + fi + javaHome="`dirname \"$javaExecutable\"`" + javaHome=`expr "$javaHome" : '\(.*\)/bin'` + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="`which java`" + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + + if [ -z "$1" ] + then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=`cd "$wdir/.."; pwd` + fi + # end of workaround + done + echo "${basedir}" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + echo "$(tr -s '\n' ' ' < "$1")" + fi +} + +BASE_DIR=`find_maven_basedir "$(pwd)"` +if [ -z "$BASE_DIR" ]; then + exit 1; +fi + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found .mvn/wrapper/maven-wrapper.jar" + fi +else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." + fi + if [ -n "$MVNW_REPOURL" ]; then + jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.3/maven-wrapper-0.5.3.jar" + else + jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.3/maven-wrapper-0.5.3.jar" + fi + while IFS="=" read key value; do + case "$key" in (wrapperUrl) jarUrl="$value"; break ;; + esac + done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" + if [ "$MVNW_VERBOSE" = true ]; then + echo "Downloading from: $jarUrl" + fi + wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + if $cygwin; then + wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` + fi + + if command -v wget > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found wget ... using wget" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget "$jarUrl" -O "$wrapperJarPath" + else + wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" + fi + elif command -v curl > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found curl ... using curl" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl -o "$wrapperJarPath" "$jarUrl" -f + else + curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f + fi + + else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Falling back to using Java to download" + fi + javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaClass=`cygpath --path --windows "$javaClass"` + fi + if [ -e "$javaClass" ]; then + if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Compiling MavenWrapperDownloader.java ..." + fi + # Compiling the Java class + ("$JAVA_HOME/bin/javac" "$javaClass") + fi + if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + # Running the downloader + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Running MavenWrapperDownloader.java ..." + fi + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} +if [ "$MVNW_VERBOSE" = true ]; then + echo $MAVEN_PROJECTBASEDIR +fi +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --path --windows "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --windows "$CLASSPATH"` + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` +fi + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +exec "$JAVACMD" \ + $MAVEN_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/templates/quarkus/http/mvnw.cmd b/templates/quarkus/http/mvnw.cmd new file mode 100755 index 000000000..66610867c --- /dev/null +++ b/templates/quarkus/http/mvnw.cmd @@ -0,0 +1,172 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM http://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Maven2 Start Up Batch script +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM M2_HOME - location of maven2's installed home dir +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" +if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.3/maven-wrapper-0.5.3.jar" + +FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + echo Found %WRAPPER_JAR% +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.3/maven-wrapper-0.5.3.jar" + ) + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %DOWNLOAD_URL% + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ + "}" + echo Finished downloading %WRAPPER_JAR% +) +@REM End of extension + +%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" +if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%" == "on" pause + +if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% + +exit /B %ERROR_CODE% diff --git a/templates/quarkus/http/pom.xml b/templates/quarkus/http/pom.xml new file mode 100644 index 000000000..ccf00f30d --- /dev/null +++ b/templates/quarkus/http/pom.xml @@ -0,0 +1,111 @@ + + + 4.0.0 + org.funqy.demo + funq-demo + 1.0-SNAPSHOT + + 3.8.1 + true + 1.8 + 1.8 + UTF-8 + UTF-8 + 1.5.0.Final + quarkus-bom + io.quarkus + 1.5.0.Final + 2.22.1 + + + + + ${quarkus.platform.group-id} + ${quarkus.platform.artifact-id} + ${quarkus.platform.version} + pom + import + + + + + + io.quarkus + quarkus-funqy-http + + + io.quarkus + quarkus-junit5 + test + + + io.rest-assured + rest-assured + test + + + + + + io.quarkus + quarkus-maven-plugin + ${quarkus-plugin.version} + + + + build + + + + + + maven-compiler-plugin + ${compiler-plugin.version} + + + maven-surefire-plugin + ${surefire-plugin.version} + + + org.jboss.logmanager.LogManager + + + + + + + + native + + + native + + + + + + maven-failsafe-plugin + ${surefire-plugin.version} + + + + integration-test + verify + + + + ${project.build.directory}/${project.build.finalName}-runner + + + + + + + + + native + + + + diff --git a/templates/quarkus/http/src/main/java/org/funqy/demo/Greeting.java b/templates/quarkus/http/src/main/java/org/funqy/demo/Greeting.java new file mode 100644 index 000000000..73cd664b0 --- /dev/null +++ b/templates/quarkus/http/src/main/java/org/funqy/demo/Greeting.java @@ -0,0 +1,22 @@ +package org.funqy.demo; + +public class Greeting { + private String name; + private String message; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/templates/quarkus/http/src/main/java/org/funqy/demo/GreetingFunctions.java b/templates/quarkus/http/src/main/java/org/funqy/demo/GreetingFunctions.java new file mode 100644 index 000000000..b4f207c66 --- /dev/null +++ b/templates/quarkus/http/src/main/java/org/funqy/demo/GreetingFunctions.java @@ -0,0 +1,37 @@ +package org.funqy.demo; + +import io.quarkus.funqy.Funq; +import org.jboss.logging.Logger; + +import javax.inject.Inject; +import java.util.concurrent.*; + +public class GreetingFunctions { + private static final Logger log = Logger.getLogger("funqy.greeting"); + + private static final ScheduledExecutorService executor = Executors.newScheduledThreadPool(16); + + @Inject + GreetingService service; + + @Funq + public CompletionStage greet(Identity name) { + CompletableFuture result = new CompletableFuture<>(); + executor.schedule(()-> { + try { + log.info("*** In greeting service ***"); + String message = service.hello(name.getName()); + log.info("Sending back: " + message); + Greeting greeting = new Greeting(); + greeting.setMessage(message); + greeting.setName(name.getName()); + result.complete(greeting); + + } catch (Throwable t) { + result.completeExceptionally(t); + } + }, 100, TimeUnit.MILLISECONDS); + return result; + } + +} diff --git a/templates/quarkus/http/src/main/java/org/funqy/demo/GreetingService.java b/templates/quarkus/http/src/main/java/org/funqy/demo/GreetingService.java new file mode 100644 index 000000000..4780c80db --- /dev/null +++ b/templates/quarkus/http/src/main/java/org/funqy/demo/GreetingService.java @@ -0,0 +1,21 @@ +package org.funqy.demo; + +import javax.enterprise.context.ApplicationScoped; + +@ApplicationScoped +public class GreetingService { + private String greeting = "Hello"; + private String punctuation = "!"; + + public void setGreeting(String greet) { + greeting = greet; + } + + public void setPunctuation(String punctuation) { + this.punctuation = punctuation; + } + + public String hello(String val) { + return greeting + " " + val + punctuation; + } +} diff --git a/templates/quarkus/http/src/main/java/org/funqy/demo/Identity.java b/templates/quarkus/http/src/main/java/org/funqy/demo/Identity.java new file mode 100644 index 000000000..16ddff296 --- /dev/null +++ b/templates/quarkus/http/src/main/java/org/funqy/demo/Identity.java @@ -0,0 +1,13 @@ +package org.funqy.demo; + +public class Identity { + private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/templates/quarkus/http/src/main/java/org/funqy/demo/PrimitiveFunctions.java b/templates/quarkus/http/src/main/java/org/funqy/demo/PrimitiveFunctions.java new file mode 100644 index 000000000..595196d3b --- /dev/null +++ b/templates/quarkus/http/src/main/java/org/funqy/demo/PrimitiveFunctions.java @@ -0,0 +1,16 @@ +package org.funqy.demo; + +import io.quarkus.funqy.Funq; + +public class PrimitiveFunctions { + @Funq + public String toLowerCase(String val) { + return val.toLowerCase(); + } + + @Funq + public int doubleIt(int val) { + return val * 2; + } + +} diff --git a/templates/quarkus/http/src/test/java/org/funqy/demo/DemoTest.java b/templates/quarkus/http/src/test/java/org/funqy/demo/DemoTest.java new file mode 100644 index 000000000..467874673 --- /dev/null +++ b/templates/quarkus/http/src/test/java/org/funqy/demo/DemoTest.java @@ -0,0 +1,45 @@ +package org.funqy.demo; + +import io.quarkus.test.junit.QuarkusTest; +import io.restassured.RestAssured; +import io.restassured.parsing.Parser; +import org.hamcrest.Matcher; +import org.hamcrest.Matchers; +import org.junit.jupiter.api.Test; + +import static io.restassured.RestAssured.given; +import static org.hamcrest.CoreMatchers.is; +import static org.hamcrest.Matchers.*; +import static org.hamcrest.Matchers.equalTo; + +@QuarkusTest +public class DemoTest { + + @Test + public void testGreet() { + RestAssured.given().contentType("application/json") + .body("{\"name\": \"Bill\"}") + .post("/greet") + .then().statusCode(200) + .body("name", equalTo("Bill")) + .body("message", equalTo("Hello Bill!")); + } + + @Test + public void testDoubleIt() { + RestAssured.given().contentType("application/json") + .body("5") + .post("/doubleIt") + .then().statusCode(200) + .body(equalTo("10")); + } + + @Test + public void testToLowerCase() { + RestAssured.given().contentType("application/json") + .body("\"AsTrInG\"") + .post("/toLowerCase") + .then().statusCode(200) + .body(equalTo("\"astring\"")); + } +} \ No newline at end of file diff --git a/templates/quarkus/http/src/test/java/org/funqy/demo/NativeDemoIT.java b/templates/quarkus/http/src/test/java/org/funqy/demo/NativeDemoIT.java new file mode 100644 index 000000000..ec4005cd3 --- /dev/null +++ b/templates/quarkus/http/src/test/java/org/funqy/demo/NativeDemoIT.java @@ -0,0 +1,9 @@ +package org.funqy.demo; + +import io.quarkus.test.junit.NativeImageTest; + +@NativeImageTest +public class NativeDemoIT extends DemoTest { + + // Execute the same tests but in native mode. +} \ No newline at end of file