From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============7847370534223038495==" MIME-Version: 1.0 From: kernel test robot To: kbuild-all@lists.01.org Subject: [peterz-queue:sched/cleanup 4/4] kernel/rcu/tree.c:1385:5: error: implicit declaration of function 'irq_work_queue_remote' Date: Tue, 20 Apr 2021 09:30:53 +0800 Message-ID: <202104200948.dlmNjUMv-lkp@intel.com> List-Id: --===============7847370534223038495== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable tree: https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git sc= hed/cleanup head: 05dd40f3f6f4b06c16b9ad246e5a5523f10b4dff commit: 05dd40f3f6f4b06c16b9ad246e5a5523f10b4dff [4/4] rcu/tree: Use irq_wo= rk_queue_remote() config: arm-randconfig-r034-20210419 (attached as .config) compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 2b50f5= a4343f8fb06acaa5c36355bcf58092c9cd) reproduce (this is a W=3D1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/= make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install arm cross compiling tool for clang build # apt-get install binutils-arm-linux-gnueabi # https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git/= commit/?id=3D05dd40f3f6f4b06c16b9ad246e5a5523f10b4dff git remote add peterz-queue https://git.kernel.org/pub/scm/linux/ke= rnel/git/peterz/queue.git git fetch --no-tags peterz-queue sched/cleanup git checkout 05dd40f3f6f4b06c16b9ad246e5a5523f10b4dff # save the attached .config to linux build tree COMPILER_INSTALL_PATH=3D$HOME/0day COMPILER=3Dclang make.cross W=3D= 1 ARCH=3Darm = If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): >> kernel/rcu/tree.c:1385:5: error: implicit declaration of function 'irq_w= ork_queue_remote' [-Werror,-Wimplicit-function-declaration] irq_work_queue_remote(rdp->cpu, &rdp->rc= u_iw); ^ kernel/rcu/tree.c:1385:5: note: did you mean 'irq_work_queue_on'? include/linux/irq_work.h:52:6: note: 'irq_work_queue_on' declared here bool irq_work_queue_on(struct irq_work *work, int cpu); ^ 1 error generated. vim +/irq_work_queue_remote +1385 kernel/rcu/tree.c 1260 = 1261 /* 1262 * Return true if the specified CPU has passed through a quiescent 1263 * state by virtue of being in or having passed through an dynticks 1264 * idle state since the last call to dyntick_save_progress_counter() 1265 * for this same CPU, or by virtue of having been offline. 1266 */ 1267 static int rcu_implicit_dynticks_qs(struct rcu_data *rdp) 1268 { 1269 unsigned long jtsq; 1270 bool *rnhqp; 1271 bool *ruqp; 1272 struct rcu_node *rnp =3D rdp->mynode; 1273 = 1274 raw_lockdep_assert_held_rcu_node(rnp); 1275 = 1276 /* 1277 * If the CPU passed through or entered a dynticks idle phase with 1278 * no active irq/NMI handlers, then we can safely pretend that the = CPU 1279 * already acknowledged the request to pass through a quiescent 1280 * state. Either way, that CPU cannot possibly be in an RCU 1281 * read-side critical section that started before the beginning 1282 * of the current RCU grace period. 1283 */ 1284 if (rcu_dynticks_in_eqs_since(rdp, rdp->dynticks_snap)) { 1285 trace_rcu_fqs(rcu_state.name, rdp->gp_seq, rdp->cpu, TPS("dti")); 1286 rcu_gpnum_ovf(rnp, rdp); 1287 return 1; 1288 } 1289 = 1290 /* 1291 * Complain if a CPU that is considered to be offline from RCU's 1292 * perspective has not yet reported a quiescent state. After all, 1293 * the offline CPU should have reported a quiescent state during 1294 * the CPU-offline process, or, failing that, by rcu_gp_init() 1295 * if it ran concurrently with either the CPU going offline or the 1296 * last task on a leaf rcu_node structure exiting its RCU read-side 1297 * critical section while all CPUs corresponding to that structure 1298 * are offline. This added warning detects bugs in any of these 1299 * code paths. 1300 * 1301 * The rcu_node structure's ->lock is held here, which excludes 1302 * the relevant portions the CPU-hotplug code, the grace-period 1303 * initialization code, and the rcu_read_unlock() code paths. 1304 * 1305 * For more detail, please refer to the "Hotplug CPU" section 1306 * of RCU's Requirements documentation. 1307 */ 1308 if (WARN_ON_ONCE(!(rdp->grpmask & rcu_rnp_online_cpus(rnp)))) { 1309 bool onl; 1310 struct rcu_node *rnp1; 1311 = 1312 pr_info("%s: grp: %d-%d level: %d ->gp_seq %ld ->completedqs %ld\n= ", 1313 __func__, rnp->grplo, rnp->grphi, rnp->level, 1314 (long)rnp->gp_seq, (long)rnp->completedqs); 1315 for (rnp1 =3D rnp; rnp1; rnp1 =3D rnp1->parent) 1316 pr_info("%s: %d:%d ->qsmask %#lx ->qsmaskinit %#lx ->qsmaskinitne= xt %#lx ->rcu_gp_init_mask %#lx\n", 1317 __func__, rnp1->grplo, rnp1->grphi, rnp1->qsmask, rnp1->qsmaskin= it, rnp1->qsmaskinitnext, rnp1->rcu_gp_init_mask); 1318 onl =3D !!(rdp->grpmask & rcu_rnp_online_cpus(rnp)); 1319 pr_info("%s %d: %c online: %ld(%d) offline: %ld(%d)\n", 1320 __func__, rdp->cpu, ".o"[onl], 1321 (long)rdp->rcu_onl_gp_seq, rdp->rcu_onl_gp_flags, 1322 (long)rdp->rcu_ofl_gp_seq, rdp->rcu_ofl_gp_flags); 1323 return 1; /* Break things loose after complaining. */ 1324 } 1325 = 1326 /* 1327 * A CPU running for an extended time within the kernel can 1328 * delay RCU grace periods: (1) At age jiffies_to_sched_qs, 1329 * set .rcu_urgent_qs, (2) At age 2*jiffies_to_sched_qs, set 1330 * both .rcu_need_heavy_qs and .rcu_urgent_qs. Note that the 1331 * unsynchronized assignments to the per-CPU rcu_need_heavy_qs 1332 * variable are safe because the assignments are repeated if this 1333 * CPU failed to pass through a quiescent state. This code 1334 * also checks .jiffies_resched in case jiffies_to_sched_qs 1335 * is set way high. 1336 */ 1337 jtsq =3D READ_ONCE(jiffies_to_sched_qs); 1338 ruqp =3D per_cpu_ptr(&rcu_data.rcu_urgent_qs, rdp->cpu); 1339 rnhqp =3D &per_cpu(rcu_data.rcu_need_heavy_qs, rdp->cpu); 1340 if (!READ_ONCE(*rnhqp) && 1341 (time_after(jiffies, rcu_state.gp_start + jtsq * 2) || 1342 time_after(jiffies, rcu_state.jiffies_resched) || 1343 rcu_state.cbovld)) { 1344 WRITE_ONCE(*rnhqp, true); 1345 /* Store rcu_need_heavy_qs before rcu_urgent_qs. */ 1346 smp_store_release(ruqp, true); 1347 } else if (time_after(jiffies, rcu_state.gp_start + jtsq)) { 1348 WRITE_ONCE(*ruqp, true); 1349 } 1350 = 1351 /* 1352 * NO_HZ_FULL CPUs can run in-kernel without rcu_sched_clock_irq! 1353 * The above code handles this, but only for straight cond_resched(= ). 1354 * And some in-kernel loops check need_resched() before calling 1355 * cond_resched(), which defeats the above code for CPUs that are 1356 * running in-kernel with scheduling-clock interrupts disabled. 1357 * So hit them over the head with the resched_cpu() hammer! 1358 */ 1359 if (tick_nohz_full_cpu(rdp->cpu) && 1360 (time_after(jiffies, READ_ONCE(rdp->last_fqs_resched) + jtsq * = 3) || 1361 rcu_state.cbovld)) { 1362 WRITE_ONCE(*ruqp, true); 1363 resched_cpu(rdp->cpu); 1364 WRITE_ONCE(rdp->last_fqs_resched, jiffies); 1365 } 1366 = 1367 /* 1368 * If more than halfway to RCU CPU stall-warning time, invoke 1369 * resched_cpu() more frequently to try to loosen things up a bit. 1370 * Also check to see if the CPU is getting hammered with interrupts, 1371 * but only once per grace period, just to keep the IPIs down to 1372 * a dull roar. 1373 */ 1374 if (time_after(jiffies, rcu_state.jiffies_resched)) { 1375 if (time_after(jiffies, 1376 READ_ONCE(rdp->last_fqs_resched) + jtsq)) { 1377 resched_cpu(rdp->cpu); 1378 WRITE_ONCE(rdp->last_fqs_resched, jiffies); 1379 } 1380 if (!rdp->rcu_iw_pending && rdp->rcu_iw_gp_seq !=3D rnp->gp_seq && 1381 (rnp->ffmask & rdp->grpmask)) { 1382 rdp->rcu_iw_gp_seq =3D rnp->gp_seq; 1383 if (likely(rdp->cpu !=3D smp_processor_id())) { 1384 rdp->rcu_iw_pending =3D true; > 1385 irq_work_queue_remote(rdp->cpu, &rdp->rcu_iw); 1386 } 1387 } 1388 } 1389 = 1390 return 0; 1391 } 1392 = --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============7847370534223038495== Content-Type: application/gzip MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.gz" H4sICEUofmAAAy5jb25maWcAlFxLd+M2st7nV+h0NnMXSURKsuU7xwuQBCW0SIJNgLLkDY9iszu+ 49fIck/6398C+ALIotyTRWKhCkABVaj6qgDm119+nZD308vT4fRwd3h8/DH5Vj6Xx8OpvJ98fXgs /zkJ+CThckIDJn8H5ujh+f3vPw7Hp8nid8f9ffrb8W452ZTH5/Jx4r88f3349g69H16ef/n1F58n IVsVvl9saSYYTwpJd/L6093j4fnb5Ht5fAO+iTP7ffr7dPKPbw+n//3jD/j308Px+HL84/Hx+1Px enz5v/LuNLk7LMvy62U5uz8sv14upveXd5eHw3Q6/1rO3Yt75342v1xelof/+dTMuuqmvZ4aojBR +BFJVtc/2kb1s+V1ZlP4p6FFwXAQaINBoijohogMPnsAmHFNREFEXKy45MasNqHguUxzidJZErGE GiSeCJnlvuSZ6FpZ9qW44dkGWmDvf52stCIfJ2/l6f2104aX8Q1NClCGiFOjd8JkQZNtQTJYDouZ vJ65MEo7ZZyyiIIChZw8vE2eX05q4Hb93CdRswGfPmHNBcnN5Xs5gz0TJJIG/5psabGhWUKjYnXL DPFMSnQbE5yyux3rwccIcyC0qzSmNhfZpysBztF3t8gWWaIMR5wjXQIakjySWjfGLjXNay5kQmJ6 /ekfzy/PJZh+O6zYiy1LfWTMGyL9dfElpzk15cgFjZiH8OvdIhn0ITm4ABgYVBo1NgY2N3l7//Pt x9upfOpsbEUTmjFfm2Sacc+wXZMk1vxmnFJEdEsjnM6Sz9SXytgMtWYBkEQhboqMCpoEeFd/bdqV agl4TFhitwkWY0zFmtFM7cbenDgJ4GTUDMBrdwx55tOgkOuMkoCZfkekJBPU7mFKGlAvX4VCq6l8 vp+8fO3td7+TD+dtA5uWSNEoSD48gZvFdCSZvwEvQGGrDa+T8GJ9q057rPe2tQ9oTGEOHjDMqKpe DLbBclLK2xcyI/7GWnefUm1RTwZrcrZaK52CzDE4E/vo1TszWGjXPc0ojVMJ4yYUPbYNw5ZHeSJJ tkeWWPN0UjadfA59Bs2VaWoV+Gn+hzy8/WtyAhEnBxD37XQ4vU0Od3cv78+nh+dvnVK2LIMR07wg vh632rdWUK0zm4yIigyiTMQcSJmX2syRgVo+TwTqAPtUCMUq8e0TDFXJTyxcb1Dm5xOBGCjsZAG0 4ZZbjfCjoDswTkMJwuLQA/WaiNgI3bU+Owhp0JQHFGtXZkyHMgkJfrI7SQYloeAPBF35XsSEtGkh SQAIqNA7aAR/SMJr58KkeJz3R9BN4Dsisr9eAA5p1aSn5r6nTAOxmt5iCuWuitgzvY+tqNbJbao/ rp/6Ldp0DG+4WcOY1MQsjecS/hr2RPuv5tiIu7/K+/fH8jj5Wh5O78fyTTfXoiDU1r2sMp6nxiQp WdHqmNKsa41p7K96P4sN/Mc8J9VYlXjIntXklAUC6ZUFNkywqSFY5a0WqN8voFvm456q5gANjp7G RiaahefoOrhgrhwABQQmOPHd3uRSFIm1QoALGTTh7oAFPVIz85r6m5SzRCpnDuDVQiCVCSiQqAVE hwb0EQoQHRyBTySqkkwbfgczo43aTw2hMgMR6N8khtEEz1X06eBVFvSwJzR40OBaLTUI7U5X0IN9 JgVAHyZqUOPP7vetkIE5KhxmFWHU39iG+gWHUBOzW6piqNY5z2KS+NbO9tkE/IFh+KDgWQpoBjBi ZgErQIA5C5yLrq3vcHvkGOApUzZiKXhFZQxOpqgx5BkNn+MIK7yFhWgu2K7GCObEaQYmt8HjG3oG PAKwLMwjA3yGOUCW3k+wdGNHUq75u5WwVUKiELNRLWJoWKPGbKGlecI4KjHjRZ6NhWsSbBmIXm8f dgbBv3kky5itmo3i3sf4efbSEFNIM6VKDVSi2o0M3AmA0ep8NzP4OtnsDoWgX5DRYAwaBDToWZ8y 7KIFto1aVSMYWbGNQTQdaDqV+87Uyqh07KjLFGl5/PpyfDo835UT+r18BkhCIKr4CpQAhuwQCDqt dpz45HVs+slpOmm3cTVLE6RwPagUnEjI3zfIxomIeJb1RbmHH7CIjxGIB0rMIFbWCeY4m4pdCrsU GZxFHo/I07Gp3AwivWXgYp2HIeRNOjrrPSQQEjCTjUmqGW6KPFF+m5EIPJhhI2CdksZFQCRRVRgW MhiL2QkMQJGQRYODU6vMrpV0th1bkxQiT1OeQTQkKagMvByxc1DIXBhXHAXIbHSVkOhUyKoewagc AeSBgDYkNNBofUMh/UEIcCCZl0EYrMHeD+tItqLmOgE3z80aVsLDUFB5Pf17Ol1OzXpVupLEA7Xo 5FtcuzUY05BvIn+8llVO06gGQ5J6fq21LIHQyUCIGPLr5Tk62RnIFvYd3GeyilTlId5eWpBM96bp 1Wy3w32goocQN72MBSscRmmegG/PUAVxnOn0DH3mu/NzIhB55YxT451/ZmwZz9xxcgTebWlPbQ2d CrcB0enx5a58e3s5NqprfAlkh9W+Gg1yncceT6I90gzWliq7sEkz93t/EOJlKtMGy7DbU02I6Ir4 vfF9AsgPuqRY80BIaCiSPNZVE3c+7S8z7HIFw5j0EuxxWDV+wMRwWUGf1vlgoHqAPgPmy4aO6iEu IqdeglizUF4vTCWCr4qJipgAQMKQZv1hOidJpWZLCYBVrEIIzRquICdZ0xTWM2ldAKbqAG6pLiIX khf4BErWOM3N8Gb6Ar373ruqu7y+vhxPZopmNpvhd6giHQJGPZI26iQrVinjXRF+fVuEbAdRwFgT tI2dWSC5Z0iLUdJsvNfCJllCTA0Ec3vtGMvRtujWhV/DaVPisZ4PvyGACbS7J1GxzgE/R57JAqrh Qa5iaGQiFF1OUy61uOUJ5RB6s2vH6TY7I6pCZAXHuu18TciGN60aKxt4AbaXV3XxYyhWASQeGiJL srKgVJPIVQZeVLcaHcOtzn8yHlcXR2AbQ4onhElQu0LSlCaAIotA9vZLCaBaazB1llj4caDuXQDG qGlgvoir8oUdjMa7gcQgBZa2VQwq5WwH2rG0Ngkc+2VEQMTK4xQ7o5AzF7cq8Q2CzDypllKaWuQk fflPeZzEh+fDt/IJYCkQWlp4LP/9Xj7f/Zi83R0eq9Kk5fwA0n1BrQLv3Q7M7h974adXLa5bihXf FmohZqnGIsY0yUdIkvIm8IFi2nknwfHhewXsLcUBnQV9x1svB+9vLrZakdky2Fg9Yfj4clC1zsnr y8PzaVI+vT8296OVpKfJY3l4A0U9lx118vQOTX+WINVjeXcq703POjpkFQy1GE+tGMax7OJKLtKe cXbOAI0DOODVkT2+7kNPPbjKxwVrAmgt+qhw1V49HJ/+cziiGgtZFt+QjKp4CKELFX3FuQKNDesg AZTlt+Nh8rWZ5V7PYu7sCEO78X35TPfhZ/tUWpd7VQsAAOIojpGTrXm8iGyoK/psNhOhmqErtNbt /hqABnGnBXj7BBEg5dHemU0XI6ND8r4NAQvEAATClCW6omxdIR+Od389nMAOweH/dl++wnbYhmXA lVD0zEEFAXXbCwEFnPUN6d/qJjHrtehuOl9ac75BqsVxWh366lINuT1TRFWQURLlaU8gVa2AGClZ uG+qf0OGDaVpv2jYEmtYxrM9KrmWqg5mxc2aSWoX+jXXzIXMR6GeQvYGyegK9JwEVd6owrG+fkn7 26RqKFihRPXH2nXRthpTRZLBuipdQOYTUohR6c5fr64RQMJSv6huLpsLf2QPBPVVODxDglMayV6F sKKM3UJr0SGblRq0Wh0tClbbhFOgrv968vijd5SaPH6RZnIhd2k9DkBp9dJT6qvqhFEp1QBO6ENC I6W7CLE3TdGlFgXn7cHpDsyofxD8CBYLiYG/AT8YGNbA1aMLtqpd9GxAIH6/cFKjmspc1TrPFQF1 bQH2OjBfaKgSh1ng6jsIbVVnq8+aLQ2TYksiFrTeyefb3/48vJX3k39VmPT1+PL14dG6UVVMQ7Dd yKupVWlIF6HMhfdpeOHojAzWEtRzpDTKVyyxLvR/0sO2VwTgd1Tp2azn6Gq1UGXILjuq8wJRZQOx iXRrizNXWnNXeYMCuVgVruLJE0Uf7VyR0UAHfLW/wMubjciZ3z4YQgvO3dIQKUST/pzt2Ne0QVGx +qx4FY/rzn+Ga3FxXg7gmS3n46IsHPf8AGDD6+tPb38dYJhPPbo6uBlEjr7qW0JzzdWfvKWj75hq pqogGzOhCnXdrWHBYl12NIeVGYvBMsDFBcWmf83Q84P6rj6CqJ9bknnKh6DQJXGMW6ikeikHfhaw hrJFf9M79F0FV4Iz9QsAiohbgFBRcDDDCDJJtTyVWKkN0Us0Eu32Clf7I/p3efd+OvwJGYN6OjnR 1f+TBWI9loSx1P48DFKGvaWpWYSfsbSPGZRsNT2MiJXCG83jgyqqeuC3TdVTv1Q/AlSh03AmFSPo 1QeYaQSBjPazz9aHja1bLzwun16OP4ysaIgalVTVvbvRADoINNa3S+l6GxQ20/dNtoJFGkGISqWO NxC2xfWV/qe1MY3YwF+C6ZqoRZefMqrsworduopZ1DcOlRXTncJi120xRT/lAHClUcLGLFVGlCS6 /mdUM1LOI3NXb70cc7W3sxCicYfyG1RLSRbtC8Z16c66B1OzgyLtY7fK08FzzVZn42rpBkgoZkoV 6FCXgp9ZmygE5feHOzNtM+sjsWfdlKe+D5hkkJvpSPhwV48x4YNaUoUg1jRKzdqA1QyqlGurrhLQ rYzTEA85sGVJQKLes7BGzKwauc079YvVZsFtJgip+L3OIRvbvSnaMlG/SVtaoGq+HRHgZ0baSYxn CF0vjdv760bJRQi27VkHuuMz4sEwoa2X0fTSkEy9m2gOvlX00q7fpKJvV9U1aZCxrY3x63a6BVFQ pVQMynDr3qpUPXZVo9mIvm+umfVtFyJPe2um4Hwuee9ZquA+6MWIlZBEWaes+l0w1x+03TjdWa2b 4pjxYV/zoae6AIAIn1X2EJqqVaSQJhBMdQ48gIvDQ9KW4e/1OTROjZf5sZBesWLCg9NolEO3dFdF +eq3gRLWzN6KuqHSjFVfNGY0/E4iRhCexLxdII0d1cXitgMPVUiXI2/OgaoChUIM5gC1m0RJG+59 thqCPSAXZgnQBHurzVIdD/UD42wLurPiVkXg0daetUIS/QvaWN3q1tm5Tqjt69+xBmA2Q0jXCj4k xF4ZGRwAftQb3uGYZLdcXl5dDAmOu5wPWxOuxahdYbKFnFAM73+s9goLPLzdDU2UBAt3sSuClMvu HBmN+sy1BHA38b73ytoXVzNXzKfGOYTjE3GRg9tWimLqOZuxayQNxNVy6pIIt1QmIvdqOp2dIbrY 3Y+gidDXacCyWEw7cRqCt3YuL5F2LdDV1HhhtI79i9nCeHMWCOdiafwWGYntXxBLqPUKZqcePOwK EYQUQ5oK5EFGKYxZ021KEmYNsmaCwb82dA+RBn864rvKLAYRHVBaxmPrarDRjqYABnexzx5qan1X /NRrjsnuYnm5MEWsKVczf4clXDWZBbJYXq1TCgt+GnSm1JlO5zi+tddRV5L/PrxN2PPb6fj+pN/2 QBJ2LO8np+Ph+U3xTR4fnsvJPZj8w6v60y4z/9e9zSpZZTMREzN1NvCHAqq2RhTCSbEkmvpr3u1s awhKwwa0UpVHvVUNaDTPb/UuxBesbjH03AgKRJXYmSED61B9SfL8+n4aHYol1rdR+icYSCCMR8e6 LQyVS44s/11Rqq8tNiqo9/rEBLD9blOFey1M/lYeH9WD9Qf1VOvrwfJXdSeu8lm6HQxWtxepIPmu L0RLhfSO0qTYXTtTd36eZ399ebE03I9m+sz3wIL7J81Atz16j6pCeU90kkLufgNI5MlUyRi0r/qA W/A4MYvkTQu48HSxcKdjlOXSPMI92hX6AVXDIjeekR617V+kM11M0VEV6RK/yDd4XOcC8+oth7q2 3RQByy6WC3SaaAOSnZ9FvWL4mENfXqDvm1s26ZOLuX50OxwCaMu5szzXvTJ6RDlRvJy5M9NDWqQZ HhSNcXeXs8VZ/cW+QOaF5MRxHXTehN5InpwbkqcQ8CEZwQYWJBZ5skJHXkGiHTKxrl95nptCSH5D bkwY15HyBLdI9kVcuDuEwMHZzJF26c/A+HeorDJ2C8lzfw0t5wTd1cdjOIKfcVGgUKBjIanj7HAB PB+7PewUKDdFqsD0U98XaY826ovAlQn1YZNpyU1bQRLIz7E32h3HzFps1x4w1FJbBp97GfZ9Rsuw Cl0jke6aM5aiMypCgSbDHUvO4FzH5hd3LY2pp7/El+g+CBbQG5ZAHn9+UTIOMP12k1Tf2j2NEDQA GCW6Mxch3qhX3/Z9XEuLyYpGEUnOC63LqjzDPj+1eVTpDt16oSp3FLv563bmhgXwA9n42zVN1jlB Bw48zJV1+iQx9e37sm7CPPP4KiMh/ki0M1SxmDrOuVlUsLcubFvKLjVv/axmgEKoWJqmoNN5qdJd hiPLliMUjFzgCUF1sPVDYixzr8nKl1UYp1uC0ahKOeorE2ZfVpkcJLiEvBWvDJlsGaAsZxQrW6wy plER7zCxLb4cYjTb+SzrToRJ93LXmTozfGGa6F7hPdX3yerylvnJcuYs8RH8/dKXMXHm03P0leNM RybZSynS6huNcwxV6o3uVMUx12N8sFkBuZrO5mNKVNQF/tzZYtsnBCziQ741iVOxZtlIwdDgpFSy DySHFDQiO3yLKpqqLzASjbDsfPU/g8CJYf6ZSZHjClxxHrCRidcQC2g6phfI+cG6sNfhJpe4EPvL C2dMJ6s8uf2JDdzI0HXcy482EQLAyP5EfGwZN8SHrPxmOZ1irnHIaRVmTTIAUsdZmrUhi+qD99Ua QqWIY+E4WI3CYqJRqD6AYul8RAT9AxeAxbuLPCqk8Md0wRK6G8kZrEk2l+htseVRaRLrz9VHlksD yKDlYjfFyigmo/47s79LGdABr+Brlqwg8Wy22NXLxiRtfCtuHIFcXu52fY+OcAKe0RcfXDA54uoU S33OUVEUPSVJdduFiqM4Zhg27jMxGY/PQTVgODfHz51KxRnEvtpbB0tnB0JllXmemRgcjiooYTfw Axnr5+ofjqn+pzcYVu7zfSZC0tHDoTcu+vh0aD4Xzwj6fLd7mfEEvZwf6gxwjD9fWHWzPpM+v2f0 TsT+7G7pv5l0ndlHp1L4OhyNGhEwuIMq5yjfR35dfVgzCs0Eiyj6kMhmEucghpCOO/vIpwkZh2fE 2C0vFh85cJmKi8X0cuT831J54doVEYs8eG+EsmV8HdfA7yM1si9iYafg1nz6QQKeU9TpNhOY7WYx m/e+ytVNVeRsx9Bt/0/ZlzU3juQM/hVHP2zMREzPiNTp3egHXpLY5lUkddgvCpetqlK0r/DxTdf+ +gWQSTIPpFz70O0SAOadSCQSR5NzlzFCLUdjowCA9MtOhfux1FWb9J5nQXwTMh5ZkIkFCayGL6dT 6x1ifft6T4/c6X/KC9QraxbLxnYhAP7ffNIwKKqgNnR9GhqNHq5Uw2YBztIQvfMedWgd7EyQ1N8L Vz694sZH93p1echP6giRZ9ocVKFBoKGF4pGa13+4IRT3ng43X8NhVUIORTOdLhh4NlFfArhZ6cMc cY8B4gHpx+3r7d378dV+R2xb5XK/1Q5r+NOUGb2nF43wYeB0fdu2o1Te4XYKrC8QKAcEGk3FfCie TZHuLxeHqr3WOJR42iIwZ6wc43sMGilIW0vx1HJ8Pd0+SJcEYwXDeUuv3pFq1iQRC1/XiStg1QGr rKxRYT/xZtPpKDhsAwDxGlOVeolKrSu2TfZQay3To2uoqJzEdo4/qVRFfdgEaIg44bA12mnnyTkS 4b5l+KyrzQgKmEG0Jfx0zIKmQjuxLdb2SbPJJER/3tYnDE3c3fi6CRwf7oD18Khlk7m+cfU9YV3+ 1Xa0/mKxZz4vl4cKNiAaJVt8unh++h2/BggtdXoHtV8VRUHIYKGokcct7gHZrTJ3e3taz2Spyq4S LulJnmLMPXdZOMEZXjTM8ewQzkXfE/Tr1jMo9JNbAXL8SaKbdJk6LKc6iigq9o5gOx2FN0ubucPV XRKFUT4bsy7p3SiL8+zPNlhh97g50yl+YeLEB7I4Jw4VAMIk2dzmKlEYbGKMpfCH5039wVmXoXTN oDS2qBq+RTr6zJyh+/7hPKeAk54bwDr6hUEDIlhiYkDMJQac4JBVjvkZkJ/XAr+SPZkQpqs0gmOs 1uUbXFZotxcxWw7Z+403nrpLb6o6tsrDzUMtdyHIIbrr92CPoJ+qxrd51NaZcDw357PAGKxoPqq+ fReHdZxpc9M/MIJ0wm6gYpNlTqSMGZIW3M17vY0Y+0qCRpz8LxuOlgVo3qdeL9prJkiSRBIiUSYw q+w9UFVoCjFIX2kN0kRPNtgZVHkq42Vquh2Ck+WReIjl3gyQRERGEy9ly0Aap6gEZiRCDQfc0I2l uKgx+9QoWoeWEeVyqXUm5Fo0CI7CZYsBiQhQaYnWgww2DCZj7TQaUGJk2W4MRBEsW1YcHUj2abUG lqZWAl3JE95JFVBXOXvotxH8V+V8Y1vWlZg+wSjM+uODgFoAvJ4eolo1plMx9F7Do1KAkEMsiy02 27I1kVtoMT477a/tj5p2PL6p/IkbY6oygOVn17DVWKMy+yLT323l4NUb4JFa2AFhleNHjH2Uqv3G 7tGTPIxAqYPNsAcEo+hMWx2Yk+2SsNr8eHg/vTwc/4a2YuXRj9ML2wK0LxaXSCgyy5JipZ1vsljL AsZCY92PJjhro8l4NLMRVRRcTiee1XyJ+FvjERJVJ3z8tA6fZ/uoymJ24s4Oh9oGaZKvh72mYcpW ZTj4TmAh/WVYj6UyTLiIufIVDa7FUXXxj8fnt/eHnxfHx6/H+/vj/cV/JNXvIEbfQaP+qU9OhCbc dJRpQxgnGKiOHBx0CdNAwrV568Z2Mr0530mebDmFA+L0Y7WDHLqQ1392Xr4KwVWSV6pnDG3kMg/i 9MqsuSRzIOcsw+JgLyIKSX013uvVN2mOqmhjQaG7YtCmjgg+SCFkP9s+9m/Y/k8gfQDNf5ocp/72 /vaFeIJlbYfjnZZZUBw2vtUEaZjt6kgZlu1yc3NzKOEINAeqDdAoaOsahTYtrqVZKDW6fP8hFr5s sbIkVQtfwbXJ3OjQbgpXXBMkWzrCBzv3hTYl7SbU1wOzUAkkDX0ZYvIiQUcDc1iFK4rjgXsgwP1s jqrAuJi/ysP78saa4BjFRYMwEFublrVsiXcKXhF7QQBU4IMXR1qlhFhHqSZ2V7zM1IDUw8sZDiGr qhpriVdtdXH38Hz3l8nUkifyF6zW1xh2Hk1ti6TF7AXoQk7iEUjXOTpfXrw/Q3nHC1h3sD3uT+jx AnuGSn37t2pVbVemNC4tUJZnhnEIfhDBgQsHL3GhtaK/hN+a8kQCgFM1LTqcyXQJU68P2lwuDe7W fZLWX2T8eUW2wpXiNAul1lBUVE4JS4etdnj3oMPWM6BDqGvVM/Px9uUFTg9qgMV26Lv5ZL83PJoI Lm7Fip8iVQ2ySqFL5gSPd0HF6ewEz2/xj9DlMC1WjxcNXdujfFhnu9iqPSvhHrrlbkWEzsPFrFHf fwQ0KW48f65d5wheRYs9q+wQGvRsNPOMUWmCPJjGPizDMtwY1QgljVVLk5bOKjAcq6rqJaA4Zaxy buCGcmZpBXl8WEZrXtRxr5BeMiHo8e8X2ML2yhkMvRmo1GIazYkLR2gfmvDdwRLLtJlB42M2KtuA Vu1xxXyhnDi2B07CsZnOqUYS1Z9HQpeL6dyspq3SyF9IdaVyDhgDKLbmMv6FgfXNioM6vSmLwFr9 YTz3Fj5nDi7R0Akv322N4oRhljUuBJ7yR0MLIt95ViZEuHMzNJ/5I6sLAuEI0ydGPcjgyHMVXEfT droYGyuxM7c2oPQcvJhZEwhg31tYA0KIS9bWQsX7Znlf8r1VyS5fXF5ONKcbey0IH5UmtNdI/xWD JfT29Pr+Acenwe6NTbhawQ3JEY5XTEcZYYQGpZlswd035CFL1Xi///ckxbn89k0Pt7zzpNByiBt/ cqktAh234O4UKom3UwS9AaFffwZ4s0rVvjCNVBvfPNz+z1Fvt5Qj10mt1yvgjabn6cHYk9HUhVg4 EZSaQXp5qwM00Hi8k4ZeDmfjpVGQzQODWDgbPR65EJ4xmQrqF9o6XnxKM2VNHlWK+cLRuvnCc3Q0 GU1cGG/OrBi5MhSxE7WG5C3MXc4EFkOSUMxd4ysBdyZqqOLg0LlrdaIsaq8IpFrDoIs8QdkxRO3P CtUUcKKA3MJUFAYt7JHrQ7TzR95UnccOg2M441mzSrLgOKRGoMyDBvdteBMqusKuEwhU49kERSDB Z2oOv/hzEOfUDw2U03LcpFvHnKjQdwXNoBURV4VPmS6i5ep8NBlxQy5xHB/USHxvbw9T2lT4sY2A TxaXqn1Ph8iqxdyf2x9I+dtaTXLkz664rB3PptyCGwiiiTfzNY+PDicewktqsjeZsYGWlF6R7MA3 FHGXPA/qiGB6J96U4y8axSVbA6L8KWdLp1LMx1Oum4CaGjWzNDBrn9JcLj6nmbHXmn575eF4Mufa KUSmy3MbfBVsVgnOqX+pamt7tHwos9de3V5OplN77ZF6CeScKrZxm6jxRiPfLgxk3cvLqWpJVkzb mbfoWanyjJGzPod0yAeKyYQEUACeFF1jGhuXUGKFAm1+5DuSCNp/yJs/RiaxHgSjg+7qVETmb+u0 4hWbHWmXIBBj4oJ8Ux12aeOwUGS+WAZpLexQ3L3XPhBxJatAzzrTUf5ykVpr7SFEdIiJOkMteaeK 1hrSTTxFsO+mbFi4XdxgiTvTLibsbYcipcijeuCI6wtX6iC1uF8aGzQ1H6LmDlDtPR7tu0WwG8dT ShjlAVMOgpVTBonQnAVj32iHHyKaZRY0a/7QQ3zXgDyIDlHO+/dphK5LoSAyZZzh4enbx9MdBUSW 1oCWigruR93LxTAPAAuidgGMg0/USQTNeO45gv1JtM+dr+jjqji36x8Frb+Yj1w6YyIhD7Nlluyj Uns3HZDrLGK9OJECxmt6OdorpzpB7Ss8FbevfDWoyADTXwxpDKW2XsQ00FqV4/sj5yorximNFImB RocknT0DVAOa4McCZjdG6BjM0UXojDdw7dH8SS7RnkOBQOisYIMtAgquwgnqppvDSnfTocGJvDEj I6oUlT9Tvf0Qtk5nE98T/tKq9UaLjzk4otzrPSChlkpNPIxlSS9zDSZfyjTYYlHlC93XaQDzCp0e PxvxQohYHiCCTeeciCPRQqfz04ZOrR0k4As2cGaPvhyzny0m3LBJNIhIc3thA9jnTI167OXcajcA FwawnY1nI32GEWZ9nBRL3wtzaxFt0yqp6c3e0ZY6aTdm66toCVc2x/2ZCHJTT62h63Y6GrtGzFKY EfBqoeolCCTkJ7NtTRKdY4JNOpnP9saLMyHy6cizCkOg+wghkqvrBSxCR9accD8d2UxZL6DNK2dr DXU7wjQftiC2ZjSrxpfO5YjXqcXCKjBTk+bQBJJOU5E7QMz2RlPVL5QEb90ItnNncVTeqzd/2tBL az9KrefcOXDYbujO2L3OJMV05tponGa1hy9mZzty6Y2YjmjaVhVq2uhIHLDFMS8KtLtsArd29+IB ghlc0s+vrl3m+fPxuR2R5ePp2NhulnqagNpDHEHm2Wy2D63Ri2bjxXzPe+h3BJfjPfcqR2ihn9aq yspoDTf7oNbB3cMDB+RGPGom88wVQhmHK596I9dpjEjPWqekOHcdQYQ09hvAJiOumLHnVvh0JNPR mfO+1+GrbJLcv/AdRtc0qTiQhLg3Gv1z32a1LUoRbkEWHeRcW6gPAgksrk60iNo1aa4rZl2rhlAu 8by/XicrvD1pPmAdqA8oaSEosxOm426DlWIjOBCgGeRGGBo3m1zVgQ40eBsUMal7KqYqkG5WwGLU QdWQKDGxQztQ4U1jwTI3hSaeji81BqfgSCL/pJJO7j9by7BCeJS+9lSkvD580ggmgBBDdSagg0F0 fsxQYPc9rjOA8VW+b2A8dk0FxXQ8pUsFj1ssRvzoOG7ZA4EQ5rmCBWY7HY/4BZY22eV4dH4YgGbm z72AbxycGzPH2asQdWz7bEUosszZ8SaMz3eBVMPnlyWd/uzAS0GIq1IcfuxHgJrNZ9xXeBWZLmb8 UHUXkU8Gi3tq5ogWswnbPEKptwEdZVxDDOSn+4ao5rzMb1Bd8kKbScW/rZnj4VCRG2QLn7u4KURR 5cHQ+o4JqqYTb/ZZPdViMeVj/uhErNyoknyZX/r8NMHVzWM3AmLUZ1Edo3q96piZY/+LS+InnbEt GziiKLicONQbCtVysWftY1SSzQ3GQuWnqNoCm2SjJBo0C0ePCel4rVCodpw96oCvg6YKk7q+rlIj fBPaq3KzYN1nFZR+q1UQ/d3WRoFAxpbVTrRYMyom3/rsmdVkq6mnhQlScHCtHc0cvB+QC3/yGfMn qjn3lDHQwBVo6sHS5uvprp2fFTHzxzzfE5dLf+wu3nFfNYnU+4iJu2QHl3CeGrjOwPm68sLAGmY9 brLP+PbWYX6qUEhZnB8kcV35pBJx8+CJbH3McEtI4jQ4REnUpUc5Q8VQiPQNr7cvP053b1y455hx 9sVUdIMLv5Z3UYswvHy9fTxefP349u34KmPR6mkBjfttl9iA+0yEyb+9++vh9P3H+8X/usii2A45 3BcN2EOUBU0jvbzYx83oKqNA7iqhbkrQUVy1sT/lNEIDSa8EYD43WCJDIbTuv0DkEDIGoi8Ue4sP QDtQWQF+NRQcwAovMFBz9iuSZUea/aKB5M99hahaTFk+pZFoIueAkdZhXLFb6Oc848IVDURhDExy zna5jvZRUXCoLNHCY3+yOMXqfH56e36g4OAvD7c/5ZXb9sgSkfIjxdG4cz37pIA+2YS5pbuSm3JT 6HERCjufyzqN7TYBUHF4TOPBnKetk2LVKs//gMW4KP3vjfVtZ88uTQubl+Md+vJixdYrIdIHkzah MGzDcwtCo2hDIgT34kL4WvVH60EivqYKraossUpHYMrduwjb6I64BNvUCfseTcOVZFcUVU37JEza soL2uD5KVyHGG1zqvYjWKECZsBR+XZsVwMnRBClvziPwG/5yicg8iIIsMyui08SAVXB19626YTja FHVR4Wg6cSTjRrprOj0djYC1tCqLGi0LVJfXHmqMnlZykjfuwdWDGwpIEmlevwQrzX4lN0YcZw27 SvIwZV+DCLusc7O8VVbWaWk6HCkE69IRwo2+Fplz10GeG2YwKb5ObYMs5mJl0qftbDGu9f5C14yY hwS9TnTAJiLHDB24CzJYzjpsmya7BmOyGRzguhaWGRo0RR8Usw9py8s+iPszMCJBa9h2lxbrgJOf RU8LzIDXmo3IIsM4k4BJbAKKclsaMBgSyagY6CH+04GAH5UWFbTHsIsXsfUmD7OkCmJf42aIWl1O RhZwt06SrLE4Xx7AJFKQb71pOcxkXVrsKg+u3dYlSFAnYmO6GEqKeshy2Rq1leiEnxiMBmNlpcxa LNrUBNTpSgeBnJtcma2vggKte2C38Y4oRCPjbJ4haIPsuuAkFUJj0IwotqoW4EF8cJcvKZ1xnokI WJeIdOjimkBxTWZt+iQq4HN8s6rTPHB1sU6g6thYMHUZRYExrXDwiFnQYFZIfwLD0eWojiIwYfoG o6A2CXILBGscBIukMRCboso2BrDOjWW0Qj1E0KhnWw+yNk6TB3X7Z3mtl6tCrU/gKLSOEmCXTZK4 l2O7Bg7F3x4EGkMNOP1MiVGjLHaomrHe2Y2/vElqg39RPF4DlKZ52Vo8eZ/CNnHUiOXKYem/6WDu 0/jmOgbhzOTFIgrhYa26Citw6fcpYxWa4lhWuXZHDgKLL1NWdOFkGBm099ZhJWKMAGpJtlWqmO5I CuHlqRUWPkOjqtfn9+e7ZyYyHH6IqSC0kjo2rXkKnSnMJNOT9qCLttarfuwoAgLyUG6qBuQQ6Fr3 +1ZrMj6ScUOGQIIMLfa0XEcpRv9pQa5JCpA2C30kpCZDB8LSzfV4/ggFNopmt2yEP0Bvsio1Y+qI worC9Xq0oXx8MqfrOtJnyaw/KAo4TqIEM6FIHYPta43ZmY4PD7dPx+ePN5ovK9MqhQaWlrsVZllu jO4voXyML0rs2Qi8Tx+LfHlwBBdwJXB0q2wxalAZb6JW5r3XykB0nDZky4xB9uoiyHBvOkrDI4wG n+y6m5Dm7FEbRri/yYTmwqr6D1+v0TDkHvbQ89s73obfX58fHlBPZPvD0TTO5vvRCCfJ0cQ9rrR1 FOvNImgcriI1jWSPqOA/uPImTdAwn/UOzxoqYeshaF2WLQ7ioTVmlLBtiyungRtfbM4G4ZcNd+FU q3S0qNxjRNt1JVewVjJ6mXizvTluGs0SFgMUcGZsS7bPHVTaRnMYvsEbb+xzjW2yheedbWq9CGaz 6eX8TFuxWt3IuoM2lFZFKw/B5JuVgxjELk+ZeSt6uH1jY2zQ2mdz8lDIchm3y+joLnZ90Oa9KqWA w/p/X9C4tCWI4smFSEn/dvH8JFK4ff14vwizK4om1sQXj7c/u8gOtw9vzxdfjxdPx+P98f7/XGDs BrWk9fHhBVNEXzw+vx4vTk/fnrsvsc/p4+3309N3TTWs7uQ4WrDvV7RPMWQGz9UBM7a4MwIPqyBe JbwgPRA5oj5Si2gu4zoyixeI0sy/bFLY9ZsUMRq61EKHJ4JqPNy+Y47ti9XDx/Eiu/1J+YfFGUDr Jg9gcO+Pio08LYi0PJRFdq0PTbyLrJFBGB1qjmYRHrtmHQ+I+GREiabvk7Xw9c7JPLcNJzVRQSBB NGluKN4kljMgozldpxVGtNe3aQcFWTcyVk+H4brcI/PGtbF6kjTfO+ocVJkctk1WtdFacuGbjfSG SqAlTgwIdPeojbiTKoGYO2tmWFr3HOIipOCtDqa1aZq5wwyDOAUFKmRL1WUcVuJN8nTmGydknvoz c4EE8abd8K8lohHbJnEJfFmC2Qs09Q6B7XNFaiXh7zxy+CYIMvIYclSXxkJq10W1Nk6F9lEDk8IZ xKtKzziM0EO+TClojXCG09sOsiD82a4Cc5zYYA10XtQBiKTbNKylfZ++SkqZF8z1NRx9ZlXJuoHF R4fiMt23G9ZYVixB1H4sd2al1/CJe0qTGxq3Pf/6Rex6g4sz9KceaxVLJA2Iv/CP8VT1k1Uxk9lo Yl0gMHEkzAi6SvLZrMWGD8rmijRY/Yqvfvx8O93BlZL4PL/kq7Uy1UVZCTkyStKt2g5pro7xlTaO RL50IOE5sTUiV0l8G6y3JV1Q1OihHVCwl/C6u2I4J6/yxrqRf3eJYp9yz4yCWqxgXebAS4ZmOZg5 iWDlZY64cTap6wYkqbaUNR1fsXwGKwWiQ7HJZQr4RqFTQuk2ytlPg3F8Pb38OL7CcAyXF31FLHGF jozjoRO2rQNuVRNM4weduKtDq33gq3GSSEjZ2l8jbGwL2UWFpCSauyQerNTXKwjhE6vNRdL6/tw3 q5BgjB9/fm76aEmqzEAvpmupeFWXHzviGutPwyHNkD7qKKProG5yTUIeWobJ3oQtjUvjknRIBtFw A1B5DP3T/L6Dsk3okaIjpopD4LCV7uOto1oeMlgGrm2jkC0t1YOCRI3PpyUMvR/C5dzefz++X7y8 Hu+eH1+e3473F3fPT99O3z9ebztNiVYnKhzPLqOlpfNZbooIFeNu3sCO8YqfrZU9ryvUKVQWnyOo O4qzQtNXr19vgx0ruavxhD4dvv6cuK70OJkEOLQRHxCYkBu4ViqLEnOHR5HyICOo1vG4aca+HiFK lk6GWAt+FQqSpoV+eIYvY7882p8vx98jNcDrf+KjGu61+e/p/e6HrcMVhVPM2XRMnHc69k0e8v9b utms4IGihb4fL3K429mCgGhEXGFYvlx7WRGYYpui/daA5VrnqEQ7GDDjSbNLWz1hVZ47PGaSnNKF MvOOykzK4T68MaKujyyp1KIH6MF6N7RJ6MFPxJw3ywgpY12B8jhmb1kHxSqxDVfQ7Im5uFAJQTEe +dNL7mwReIyRMzY6RMkRVK+MATo1oWQBNjIKIKBmGDGAOYOyDjubsB/NLll7fUL3Bs76VyIWHneh JrQehlHUg/6PE7t6AE+d5WTVVHNt74DT/b7TzNs41UVkAI4ZoHovlMDFdGR/rhuIdUDNnm0YlanZ XgnlBgVRs/HeGhXbcs/Eqo7zoqhdbkAGVytjocX+YmR+nrXjqe5FLdavMOljd7IgcPimCy19FKAh r1FVm0XTSyOnuFhrbkeLDq/7X/erfvq30UfVsVqFp83YW2ZjT3WiVBH+vg9zPmx70k5+fTg9/fUP 75/EHetVeCGtIT8wmB73znfxj+GpVQm9LaYA73/mfJlexaIj2R798PTeoSebOajkLcw8Vw2bnHcr 6PH+nEuLJwof3IyFDe7D7dsPCtLbPr/CEaVzyH702tfT9+/amaS+3ZhsvnvSoVQIVg86bAncel1y twWNbJ0EdRsmamh7Dd9bTDjwUbVxYAKQ5rZpe+1soeN9T6Pp3tyIf9F4nV7eMQDy28W7GLRhaRXH 928nPIalcHXxDxzb99tXkL3MddWPIeY1S5OiNRZO370gx0i9fA8rzLvhxKF5prlI+7HZxBaL65tE Q9avjRC3k3Wc0r5gBi+IogSj18AdTU3qFnjeNRziQZpliXkxhh15+9fHCw4aGbe+vRyPdz+UtFFV EmDIyp8GALZh0a6hxqJtFB2rga3KLNPTBOr4TVy1nKZLJwsL7bqgI+MkajNuMCyyZN+6upFBEe4q 0Gbq0wqa6qrcOCto91XtRNL92TCH4Cal+zqJA8zgUeKLchPVG+Upj1DWWw5ChzkiGplKjyJkqxNE SFfsxLqNDiKkd0+PIBIgGfIYA+DQo7v6xQB1xC9CHURsZikE4CEpVmmhqAkQ1ns0g1RaJFmjY/WQ YDIdVd6sDDWHousTSc0ct6F4dwj2KZbM+bBjpqckzjVNMMK+uGrDi2uGWupgxjufFGG1lBWy+Cob j0cOnY1MnHVzXXzJK7jfiMyAEkmOCmus+ZCvcoX9DYgBBr2OKV6VFnVEQrXNvTxURmP6CY0eTsen d+1mEMDqh+vn3tEBgEplt7UE4Nad9gkeARxulrbRBpWOWkll2+0IaqxG+PqQl9vkUJRtuuRtiyWZ a2NIdJNkS2xzozUaMXDQVvra7KG4B9skVz0NjC71fHyzt14o8E0iU9+t1vFkMl+MGBFHYtj+XTUj b8RFUUhznKgoTQ+GYSX89LlNL3Nq4PGYKMoa+tkhh9h9ElyXNFFTZWkTQtw1QUxtGnwD51ouBwDO RNjtvFGlSsIZxyp4uigbrR4mc7tEHX9af1kqA45A/RcspBRGf2NAuWQvhECuwzRL+whkkWwPzHlP oeMoMq7Rrp4yyOP9KkxYolyEKTNBnQOWMr/IWGUUOjbnKyXUUnooUpfBhWJjAcMApAB9LUoMJV52 lt7FCbSBhyhHq9TkwJwvW3pOwYYwpl53r89vz9/eL9Y/X46vv28vvn8c3941O7wuSscnpEN9qzox s1V17KYNgFspkTpgTyaxoq0Tv814Hj1UCL/EWNKb5HAV/uGPJoszZHDzUylHBikmuO6mVB0xiQ7L gtMPS6zOiyWw288mPG0CpSLjmyibq17iCljNEqaCZyxYjZo9gBdqCCMVzBay0L1Ye0Q+nvvcPU8S BHmVUWIhfzTCzjJlCJIq8sczpPisLCCcjWVROh4W/WJkd5XAdldBfBv5THPioPFmOR/tZiAZLcy2 suV8QuAK/aIU8TnJbMJGMuoIWn+hv4UqCI+Njqzg7WVG4KmrPDYK8YBXU2N04Dwf+4G9MZbZ1OOm J8BjIC09/8CHlVDI0rQuD+fnICU7SX90xeuWJVU022OeUT44XMcyqmjmCDjVNSn+4vncq7/EF0DS HgLfm46YfksspwlQKbRzwEB4s5jDZUFYReyGgt0dxPyujwPvzKIDAiNw7YDYsNqMbhRRt/5lbLWk mTKsjV5UJe+0l+nlgl0/BX2HIe3crQCCeGMvVQFG+xamXIFs0pXjBiLJtvnVgg+yJAkW/tTedACc ssADM2tX4i9eP02Uyo2dS4FDtPyyquEin+puMvIoF878llwRPN2/Pp/uNYd8CTJkAZFgUj18V81h Wa0CTFjJvwMXKVwQmor1E81R1KEH9CIp1GsHIeI09w2QCConIg/cvv11fOeCCRgY5UaJ119ob7rU lDrLNMlistlItkwj7RDlfXbfKq2UB7doXcMc9IKsKjqIAFoKqYy6K/pjAOE60erh9SVCpuzkV7Kk IXVnyI52R7INtUfaIQIwiHHs+3VHIVxlNH+aHkWKGKZUeoV0lbnBMO7oYrhSbeoUlLjSquXmSZYF Rbk/l8ZRpHXLrpQJyK7wmgBivKYM7AhhyBNYoYkm7MH10yikh/Xhag2Wo6AvJwsuvpdC1MWf4Qpo 0ul44pR2VKrpr1B5ziNQIZo4BEaFZK7zpw4TxVEyH7kGA7F8tF2VqAHmB7f+ih1uVCLB31VSsPUz 4SkVrBlNVUWp+YIU+DaaGheMDiPj6Z3vjIhjqKfOk/qsbbQZalzvmiotoPVXnTIoojyGzfPHKxfz nN5MhFJQgwDDCBNtsTd1ZNTfAatGjcWNLrVobwycrJ1NQlWJwzZF2YdBmoVsqjrSHRyCKu06VR8f n9+PL6/Pd3aX6gQ9BKEDylPEAOuSHPaNYooSVbw8vn3nnu/rKm9WbPrsrkTty/64w1AXu5Q8zsQ7 w/PH0/0Ok/0Mql2BKKOLfzQiT2/5RGmB/4kK77vTt9Od4lokDtrHh+fvAG6eI62x3aHLoEXwmtfn 2/u750fjw76x0SGso7xptQlkPxJ+HvvqP8vX4/Ht7vbhePHl+TX9YjVJlv1lk0aRVFuy4/dZWeLZ 69/53tVpC6cmCs1O70eBDT9OD/hO1g+tNQxZ2qoWc/STxgYAbV1mmZbNXmA3YZ2sSD3xx2Ro0q9X Tm398nH7AONszk5fHItXJ6/tt8r+9HB6+ttVEIft31x+aR0qCsocxZ1lnXCpi5J9G5HCq0tYfPf8 1Pklxea4C+LDsgngzNMuSRLjjOAt8XBajseO1IIDiRWM0KIgq4FHA25y/w7cFlNvOrLgdYthFgOr mCafTlVrCgnuLKctekBEttinItEmbayFxwe2V6vPnnUOQo4394FpqxYOKG4f4iVmKEmX6nBX2Xg6 hpbyt+aUveFp9iTwo39RU0Cdfm+oCIAiZUUbcVdnxFt9RyA+Jy3bXAdSHoNRoAPJZGYx7ZYgJuO8 4xPQ96l1lWErtnp+hQCqTSOWf1kl9wVXQXRF7r3D+4uwzU6rMmoDRa9OmmqVzfzUMZI5469ItQAV WPGMttqZ8DbtbEXkGVStry+aj68i3buSGbTLlqu6AyhAkQI61tBhlB+uMEo3uj3IL4fphW9kPt9D W9Y1XM24SVaoqPBHDtOkSa2aIGi4IFODoCAKF0ia7xf5F3I3MBqVg1yVDd1xNKraBwd/UeTkmaEX 36Ow2zoqD6pqDdfQQx7ns5keBxPxZZRkZYtLIHb4CSAVvT8KrxBH6xQKs3VkpYoBjpWndH3Oe2p0 QtIcjCmpUVr8mUSaL0Tcsqa3eaS8ucOPQ1b1+aGr4ys64t0+Aa9/fH46vT+/co7+uM2iiM8ARJwr 37D77Vzx/fonhm2oJrqyi7guUy16Wq+rGLod8A/gxRaYrKX+WO8u3l9v79D/1GIvTatFXIKf4np+ CNEkjq1koIHte2AtL4BiMJpQgCB21lFv4+L4UhINtk9q+nriJS2f15npp3qmMKYGVQ3MzpW+gM6h sE7jlXL3kB+CXJHcJBZWXoIqNI2Kyk2liWRUHohjRtSZcqliXO2A89AoCU/IYLlhoEUKR5MYKeDx h2KsBWFdNqluAZF24RcOheGyrREpuWZZ44qeQtOfKPCAgtWYdcMBwIdwIWSYoDKL2+GosoXx3dMI D3m1pNG5nU5rsz8E8Wp+6SsHMQJ16QYhvRJZTQhglNuv17RUNLb4C09UK+Rik6V56IhhRu4R8O8C WBt77d6Y/u4gYcC9JYhjVvE03HlBeIGzqEKHQ13NaCgdiVvHuQGNuoxZndGDLh4LC8oTWj8R71bG ehtkaRy0CUwhvkBqVp4IKpsUJiPKVGkTnykNSycJO4SoQDiUjuSAaJiACpKrtOAsP+B7OIvr60rP dAfgLcgPqhVeDzLfewdEuElh1YGwnK6KAIe1UamkLm8wIukBylwTiCxfucYG9icdTBoPYnyTPG1g pRXcCfxlU7YaoyPPGQE+7IK6MEZJuQcjhct+RmBbYHpq2V+WeXvYci8aAqNcJ6iAqFWmHKObLJvJ QRXGBUwDLTcYxFDVbgmPYdNSYcmvjhJmDvNRLu24MtHt3Q8j5i5Ir9GaVwNIaiFBvB0/7p8vvsHi t9Y+aXX0hUwglHRbLhqJUAOt0ywGOXTo5lVSF2q3jWuL+NON1SB82C0b2EIjzK2EOZPWwrJGMx4q jb+k0gZyYaM6yFm1eoWuoMrpKH73FhFXqLkKr1vYRd7In4xssgyZCD6fUPxo9SYoSLKbskfzImtH N2HpLKp1dK66xcT/pepumjb+hfr6mpgB0nrejZi2qLg2n/FQNursi/zt/vjt4fb9+JtVNCOkmSSo e3TXVash6ArV9BN+DA04vT1j5oPfvd9UdASiSIVuxJPxXO23hpuPeWcAnWjOa140ooUjxYBBxD0+ GySakYKB+4XWLtgkBAaJ565j9nkTZ2NtWlTMxImZ6rOnYGbOby6dE3c55vJp6CSq8sr42Hdh1Mwl emPmEx2TNiWuusPC8YHnO+sHlKf3mQww+fINyg7smzPYITgNoIqfmGPaIbj3JxU/49s3dzWED0mu de2ztnqOMfeMxXRVpotDrQ8UwTY6jCwry1wNTNyBowS9I82xERgQnzesv3NPUpdBq8XR6zHXdZpl qh6jw6yCJFPdS3o4yEhX5pgiIo0wqAkfh6unKTYpx7y1zqdc/0EYvcInfA2xaZfK8t4UKS5hdYwk CO59mNU5vRGhTzsraVYO0iR+8UB0vPt4Pb3/tC28r5JrTczA33DN/bLBSCiWqNUdHiJ+H8wa0oP0 ulITRWJEzyQWJQ9aZyHgd3BFhgJZfg03h0SEUzZQJFenkYlqkmgjrgF50pCusq3TqLUJbMiSK6ZI Wkyyqw5Ej6uClo3Pjs/2ZAtRQKfwshCVFdwAMrjn6EnnLKIzKLhKZBl6jKlNsamQxzUVGxh6CRcy vIoIDY3WIwybG1Eh6Ia9TrKKveH0Pb8OVH+HHtwES9QNpzE7XHjNi8tdccgaXmeAd+kVknI+AFLs HOY3UN3DmvyP3/BF+P75v0//+nn7ePuvh+fb+5fT07/ebr8doZzT/b9OT+/H77jW//X15dtvYvlf HV+fjg8XP25f749PqHoatoHQShwfn19/XpyeTu+n24fT/6WQAsMeiSKKlIk3H7g31yJKpeWexlJR iNpBQYogmAa4KhdloU2OgoIV0JXuGECN1AwUodMBr6AlqfgBcs/lkhRVZqrHoHJtcYxRh3YPcf84 aPKgfuCQMZS99cHrz5f354s7jND3/Hrx4/jwokaYEcTQp5V43OfAvg1PgpgF2qTNVZRWa1UdYiDs T9aav4MCtElrzZS9h7GEvfj9aDbc2ZLA1firqrKpAWiXgLcPmxTOtGDFlCvhzg/6aKvCpcekWi09 f5FvMquLxSbLLGoEalF3JJz+sGb3sk+bdp0UkVWeYY4vgL2DnFAjfHx9ON39/tfx58UdLczvmJjk p7Ue6yawio/tRZFEdiuSKF7brYjqmCmyye2RBk65Tfzp1Lvs3ys+3n8cn95Pd3BnvL9InqjlmCj1 v6f3HxfB29vz3YlQ8e37rapc6UqMeM7dTRob97P7dg0yQ+CPqjK79sajKbPrVmnjqSEpur4lX9It MxDrALjTtlMgh2QRhCEm36xJiMKIWx1L1rJaIlst6nYP5S0QZYtCppas3rk/KZchU0sF7XV/s2e2 C0hEuzqomLICjDHdbs5MDDo196O4Rqd6xyDmQWTNwjoP7IW7j0KbcisohVfh6fvx7d2uoY7GPjtT iDi38vb7NR+DReLDLLhK/NBqlIDb4wkVtt4oTpc2YyKebpbjXNR5PLGI83hqw1JYzvR8bA9nncee Guaj2xbrwOOA/nRms4d1gK4RDHhsF5GPbULUHoflipmbXTXVzfoF36DQZPYiChJ7sAF2UBNf9HNT 7nTLZgNx6L0wjckL0Aw3tZlkFAiDbsN1U8GydqAD2h7YmOnPkv5a/ekYoD24SV1pYRL6ibDXDtxG limzACW8691jl5Xr8eX1+PamC61dy0lPaZWU3ZTM4CwmZ/dfdsOa5/bItc0PUM/atbO+fbp/frwo Ph6/Hl8vVsen42snaVv8rMAYXFXNvhd1XavDlXCWNCslzNrwrNZwrhQwKlHEhlVQKKx6/0xRak/Q BKe6tpkoVAqS9tIUdR9OX19vQbR+ff54Pz0xLDlLQ3ZHIVyytj6K7xkae0eKHABwj0UqsXDZAgRK qcNaGD3RmfWBNL2scrbBikhjrds0ZHcjwjv2DNIYGlNeniM5V33P5u1zdujoIOKc77KDVa93DJPZ Sos24ZFhLcoeD2LkmZXZk2HVo0lgbw+gkL7HHArv9/uIfLa5JkSY7vaT6nPKrXVY7W0h3sCbD7lB c53nmAAiIv0Pem6wyGoTZpKm2YSSbDAdGQjbKlepmIbvp6PLQ5TUUtOUDO/hw1vKVdQs8J12i3gs TtBwujEgnXfe9tbTusBSmGEMtjsoV9IVKniqRLyV41t2p/bqucXx9R3taEFyf6MwUW+n70+37x9w T777cbz7Cy7diilFGW8wVl5KarQ/fruDj9/+g18A2QGuM/9+OT72jzniuVHV3NWaz7WNb/74zfw6 2bd1oI6j9b1FIY2eR5czRclUFnFQXzONGXRNojhgaxhZqemVkPyj8C8MmwgV5GTD6CUfYOLnYqVy HrTN1IYpTEF+Qp9DpevEXonRctjOQhIEryJC7V9NhnnqilFJsqQwsFFZxyoXw7xXFNY31NzGhW5V NfvsbTOjFJ0lAs14FVqLT/pRXu2j9YpUenWiCckRsAE47FT+EXm68w3QCOGa5RXRIW03B72AsXG5 BwCr6NYJgA0k4fWC+VRgHG5HgiSod4EjO5+gCFllP+BmmtQWTYy+c+7OGKiXuftEXMwQcdVRZ7CI y1wZkAF1g8cMyBWZtuduxElpSH/qa7yiWL0pyRjOhhuv7QOcpdce1QdyAnP0+xsEm78PezXVtoSR tWll06bBbGIBAz1AyABt17Az2NmWNOgjyp2tEh1Gf1qV6ZMxdPOwulFNwhVECAifxWQ3qsZdQ0xY OInX1qZmHiHgzMYkdVmpBbJUofhEs+A/wBoVFFnDbYOsMzbqD92mjFKRMDWo60B752iQyyS5DtLi KVGsKTXAT4EtoPBKQUWPF4nBo2QRh12dCkuM0AptBQ3PAjKUWJNgzpTQJO2msmtHQFEW3YeHXOOR iA0qK+yIBj402qnV9SSEcYa7Sc3GW1tlYvKUOc1KTd+Ev89xxX4NUGwzdXNE2c2hDbTC0voLSruc zVNepSJM2cC8lrEyfiUlUlzB8av7i8CoFnCpXR1IcafIAC0e0Sr76o9o6+Q1+yJYGdpNH9KGBmiX 9LGr+peHTgQi6Mvr6en9Lwocef94fPtuv3xGwnYGPX8zOJezXt0+d1J82aRJ+8ekHyIp5Fkl9BQg hoYlyqlJXRdBrqXCdrawv9OfHo6/v58epaDyRqR3Av6q9GdYYbTq8IbJvQvWUD+ZF5Ill/osWKcV bF50u8k5vWedBDHp8IFG2b8ABRkDqoOtqSrr5dpPKBQ5mrTlgYjXPIh4GobaZGQHkjkOSrQx76Ka w7yDkHwY+yFPt0uCK3yZlgE1lZTjvziSwqMftRKnu25VxcevH98pK1T69Pb++vFoBmCj/LMokdac D1uXq0HjAxIm1jH+/8yH9H5CdJTU9Uw5+KDInmybsAkKVjT+pb7qLUKTxySzm4GWi5Z2UD4Z9uWq 40ZWOpiCr2h4i3pRLpIZDNFAwLFFi5Ozv8M6yl3B39PoelammNpZv16ICsoQ/Vh4G0K5xLOAe1kg iV+OFnCsDJalXXqHcXZcvO9ukL8oWwez6EkUZhyEn9H/q+xaetzGYfBfGfS0BYpsp3vZyx4cW5kI SeyMLU/SUxBkgm5RzAOdmcXuv19+pGzrmba3hKJoWSYpiiKpBPG79PGNNNacGS2JDMmCk/I9OQ+Q z4WdBUROuFcFMVTCgSKtiKOAoq8bwtIGpbSKqrJ2X3iaPLFGNLlL7UuUnCgA/6p5en75cLV+On17 exZZXh4fv7gBvigri/PsxlvSPTAi4Hv117XfiFx2lCAdA12x94F5oAxxg2tQoaBp3Di+BWqRkC1Z bFxEfkZizvPIdpQf3enBww7Lvsb1N90q+al3t6RVSbdWTcp/yu4HeYqfPHBpciWOiPTn/RvfV5kS auHPXIC6tFoHqAuDbedxR+oxIYPgS62U2gb7ftnK44xwUme/vTx/fcS5Ib3Yw9vr+d8z/Ti/nmaz 2ft4/WzJ1uuN2qu8dDgVE0I9+IOe7a4L4roFPlSiXdMbZTvbDAq2MKcymf+5rIpcSSQ9RHdc7XYy tkumY1cu/P6ujfYLUxpZJO0tbUNv0rqUtZlpizLlmmPTAEEufY1bpol9ZB+cUKiirzMa45uscPfH 1+MVlrYT/D9uZVyZX+3v5HidSQG7mxAicWqez4UXEdo6FaaAm6bth/SWQOAyY/Pply29fW10sR6z Etuy96RwEO7wAw5WXNkfkPmrcreAASHo7LS0auF0d3aQ1EYG14GNwFF9frr2qOLr+uTUbRendPMQ OZDvcIMusOZ0UyVtF//tQ24g/SdGYcvmYJLx4Bipy8+mSQkcL+Kj5ckv4EX0oZWhhw0nf9H8wBUX oCChhKcFmGRr1K64St0f21GoTI1Cu7RKZhAVFOnyC3UKKMX9EUomSc82yz+/fJJtmiqcboxJl/aN MattKr4vxps35dJ/qDCAbPcicT5+f0gxfV/vdF0hf7F1tihIAZaWWF9ksrusIoi2M7pUVVnGZEib a9RKzaVsDfQOfUHryp+fMikMPtp2/fE6VdTGjhwoC5j8BEayfzhWIqPrct1XCpkjNFe/fz2d70+n WfcuoFTHLrkJFhJ5ezzZc+bZ304miira9ef85U/I2+382w9GEF9NiIttyKbFrxzKiGHvCZ58pyNa WZi0lE8oQmCrfwpPmfnddSrLw8GTFGhlNn/sPYfuhGGS8TjToElvihJ8SDQanXlVo20MrYSCkynf JVWkLyuur8ScX16xisO6K5/+OX8/fjm7htCqr3VamQzrHBwaTWuT/TMp0RxEOmJMH3dR6DX2Tu6k ASZbMt7U/ZhcIpiaaSx6KcDjUPb7Xbg+cXQJrsrmLtrY0HaGwFYzbz1dAPzUikoqHccxWDGl8KFb 2Hm9qoyjrMQox2lWJ9WAR+pyU7euudR5zpzvvMsK5oNNxeZeuGTP4beNLETP4ZuxETzPb2Al0GIN hg7JDn7IS4Ynv8FS7at+s43e3DoOJVw9eTOoxepKlxvkjJXAptkHUFZWiwA412bDoXUusO/9KHcG 7tm5nRQPbkc+K/RzbqgtTnYMnBbBEPyYMwbpqghZZLUJcGjk2OaG8wYBOUBCUsJEayL6Tc7ogOZC txsyvlU4H5WSyvnhJ+LMApwL56eFlnPS0oc8Bxs+T9UmeCb1s24Inx7HqnMiRPKZ1C2bIHNRDUYR 7eJX/h9WMdFtriIBAA== --===============7847370534223038495==--