From 8238fb3593b7e56c4a4620f40d52e3e78a2cc1d2 Mon Sep 17 00:00:00 2001 From: Simon Date: Fri, 11 Sep 2026 11:02:13 +0100 Subject: [PATCH 1/2] add more on roger paradox --- Chapter_7.Rmd | 375 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 375 insertions(+) create mode 100644 Chapter_7.Rmd diff --git a/Chapter_7.Rmd b/Chapter_7.Rmd new file mode 100644 index 0000000..315956d --- /dev/null +++ b/Chapter_7.Rmd @@ -0,0 +1,375 @@ +# Chapter 7 + +## 7.1.2. Visualizing Transmission Pathways from Material Patterns + + +## 7.2.1 Rogers' paradox + +Social learning can be individually advantageous without increasing the mean +fitness of the population thus preventing the trait to be selected. This is **Rogers' paradox** [@rogers1988]. Social learners avoid the cost of individual learning, but the information they copy must ultimately be produced by individual learners. If initialy this mean on average the population wil have a higher fitness htan individual learner alone (as the social learner don't pay the price of learning), the more social learner "invade", or the more individual learner "adopt" social learning, the less accurate (and thus lower fitness) the bheavior will be. As social learning becomes common, adaptive information becomes scarcer after the environment changes. +The original result is illustrated in Rogers' Figure 1. Social learners have high fitness when rare, their fitness falls as they become common, and mean population fitness returns to the individual-learning baseline where the two strategies have equal fitness. + +```{r rogers-original, echo=FALSE, out.width="70%", fig.align="center", fig.cap="Rogers' original illustration of the paradox. Source: Rogers (1988), Figure 1."} +knitr::include_graphics("images/chapter-7/roger-1988-fig1.png") +``` + +### A direct reproduction of Rogers' result + +In Rogers' figure, fitness is expressed relative to the constant fitness of individual learners, $W_I = 1$. Social learners have twice that fitness when they are rare, but their fitness falls linearly as social learning becomes more frequent ; this models the fact that, the more social learner, the less likely accurate/usefull information qill be find. + +$$ +W_S(p) = 2(1-p). +$$ + +The population mean is the frequency-weighted fitness of the two strategies: + +$$ +\bar{W}(p) = (1-p)W_I + pW_S(p) = 1 + p - 2p^2. +$$ + +```{r rogers-direct-plot, fig.width=7.5, fig.height=5.2, fig.cap="A direct reproduction of the relationships in Rogers' original figure. The social- and individual-learning strategies have equal fitness at p = 0.5, where population mean fitness has returned to the individual-learning baseline."} +proportion_social <- seq(0, 1, length.out = 101) +rogers_individual_fitness <- rep(1, length(proportion_social)) +rogers_social_fitness <- 2 * (1 - proportion_social) +rogers_population_fitness <- + (1 - proportion_social) * rogers_individual_fitness + + proportion_social * rogers_social_fitness + +plot( + proportion_social, + rogers_individual_fitness, + type = "l", + lwd = 3, + lty = 2, + col = "#BD573B", + ylim = c(0, 2.05), + xlab = "Proportion of social learners", + ylab = "Relative fitness", + las = 1 +) +lines( + proportion_social, + rogers_social_fitness, + lwd = 3, + col = "#176B68" +) +lines( + proportion_social, + rogers_population_fitness, + lwd = 3, + col = "#D4962F" +) +points(0.5, 1, pch = 21, cex = 1.4, bg = "white") +legend( + "topright", + legend = c("Individual learners", "Social learners", "Population mean"), + col = c("#BD573B", "#176B68", "#D4962F"), + lty = c(2, 1, 1), + lwd = 3, + bty = "n" +) +``` + +The mean initially rises because social learning, who don't pay a price for learning, increases the overall fitness of the populaiton. At $p = 0.5$, social and individual learners have equal fitness, but mean fitness is only back at the all-individual baseline. Changing the mixture of learning strategies has therefore not produced a lasting population-level benefit. In other word, there is no situation where having social . +By formalising this intuition, Roger opened the possibility to explore much omre than that + +### A simple model in which people copy one another + +Let's put Roger's intuition in a cultural evolution context: individual can choose to adopt one of the two strategies, by copying what other are doing in the population. + +In our model, individual learners always acquire the behaviour suited to the current environment, but pay a fitness cost. Social learners pay no cost and copy a randomly selected member of the previous generation. When the environment changes, previously copied behaviour is no longer adaptive. + + +```{r rogers-simulation} +set.seed(1988) + +population_size <- 2000 +generations <- 600 +burn_in <- 100 +social_proportions <- seq(0, 1, by = 0.05) + +# Parameters used in 02_testSocialLearn.Rmd. +environment_update_probability <- 0.8 +sigma_selection <- 0.2 +sigma_individual <- 0.8 +sigma_social <- 4 + +# This is the fitness equation used by evosolearn::fitness(). +individual_match_fitness <- exp(-1 / (2 * sigma_individual^2)) +social_match_fitness <- exp(-1 / (2 * sigma_social^2)) +social_mismatch_fitness <- exp( + -1 / (2 * sigma_selection^2) - 1 / (2 * sigma_social^2) +) + +# The report first attempts an update with probability 0.8, then changes the +# environment in half of those cases. Every population gets the same sequence. +environment_changed <- + runif(generations) < environment_update_probability & + runif(generations) < 0.5 + +fitness_results <- matrix( + NA_real_, + nrow = length(social_proportions), + ncol = 4, + dimnames = list( + NULL, + c("social_proportion", "individual", "social", "population") + ) +) + +for (i in seq_along(social_proportions)) { + proportion_social <- social_proportions[i] + number_social <- round(population_size * proportion_social) + number_individual <- population_size - number_social + + # Initially everyone has behaviour suited to the environment. + correct_previous_generation <- population_size + individual_fitness <- social_fitness <- population_fitness <- numeric(generations) + + for (generation in seq_len(generations)) { + probability_social_copy_is_correct <- if (environment_changed[generation]) { + 0 + } else { + correct_previous_generation / population_size + } + + correct_social_learners <- if (number_social == 0) { + 0 + } else { + rbinom(1, number_social, probability_social_copy_is_correct) + } + + individual_fitness[generation] <- individual_match_fitness + social_fitness[generation] <- + probability_social_copy_is_correct * social_match_fitness + + (1 - probability_social_copy_is_correct) * social_mismatch_fitness + population_fitness[generation] <- ( + number_individual * individual_fitness[generation] + + correct_social_learners * social_match_fitness + + (number_social - correct_social_learners) * social_mismatch_fitness + ) / population_size + + correct_previous_generation <- + number_individual + correct_social_learners + } + + generations_to_measure <- (burn_in + 1):generations + fitness_results[i, ] <- c( + proportion_social, + mean(individual_fitness[generations_to_measure]), + mean(social_fitness[generations_to_measure]), + mean(population_fitness[generations_to_measure]) + ) +} +``` + +```{r rogers-simulation-plot, fig.width=7.5, fig.height=5.2, fig.cap="A minimal reproduction of Rogers' paradox. Social learning is favoured when rare, but mean fitness at the strategy equilibrium is approximately the same as in a population of individual learners."} +relative_fitness <- fitness_results +relative_fitness[, c("individual", "social", "population")] <- + fitness_results[, c("individual", "social", "population")] / + fitness_results[, "individual"] + +strategy_equilibrium <- which.min(abs( + relative_fitness[, "social"] - relative_fitness[, "individual"] +)) +equilibrium_proportion <- + relative_fitness[strategy_equilibrium, "social_proportion"] + +plot( + relative_fitness[, "social_proportion"], + relative_fitness[, "individual"], + type = "l", + lwd = 3, + lty = 2, + col = "#BD573B", + ylim = c(0, max(relative_fitness[, c("social", "population")]) * 1.08), + xlab = "Proportion of social learners", + ylab = "Relative fitness", + las = 1 +) +lines( + relative_fitness[, "social_proportion"], + relative_fitness[, "social"], + lwd = 3, + col = "#176B68" +) +lines( + relative_fitness[, "social_proportion"], + relative_fitness[, "population"], + lwd = 3, + col = "#D4962F" +) +abline(v = equilibrium_proportion, lty = 3, col = "#5F6865") +points( + equilibrium_proportion, + relative_fitness[strategy_equilibrium, "population"], + pch = 21, + cex = 1.4, + bg = "white", + col = "#24292F" +) +text( + equilibrium_proportion, + 0.08, + labels = "strategy equilibrium", + pos = 4, + cex = 0.9, + col = "#45514E" +) +legend( + "topright", + legend = c("Individual learners", "Social learners", "Population mean"), + col = c("#BD573B", "#176B68", "#D4962F"), + lty = c(2, 1, 1), + lwd = 3, + bty = "n" +) +``` + +### Temporal dynamics in a changing environment + +The frequency plots average over many generations and therefore hide the +short-term process that produces the paradox. We can instead follow one +population through time. Here its proportion of social learners is fixed at +the estimated strategy equilibrium from the preceding simulation. + +```{r rogers-temporal-simulation} +temporal_social_proportion <- equilibrium_proportion +temporal_number_social <- round( + population_size * temporal_social_proportion +) +temporal_number_individual <- + population_size - temporal_number_social + +environment_state <- cumsum(environment_changed) +correct_previous_generation <- population_size + +temporal_results <- matrix( + NA_real_, + nrow = generations, + ncol = 4, + dimnames = list( + NULL, + c("individual", "social", "population", "proportion_correct") + ) +) + +for (generation in seq_len(generations)) { + probability_social_copy_is_correct <- if (environment_changed[generation]) { + 0 + } else { + correct_previous_generation / population_size + } + + correct_social_learners <- rbinom( + 1, + temporal_number_social, + probability_social_copy_is_correct + ) + + temporal_results[generation, "individual"] <- individual_match_fitness + temporal_results[generation, "social"] <- + probability_social_copy_is_correct * social_match_fitness + + (1 - probability_social_copy_is_correct) * social_mismatch_fitness + temporal_results[generation, "population"] <- ( + temporal_number_individual * individual_match_fitness + + correct_social_learners * social_match_fitness + + (temporal_number_social - correct_social_learners) * + social_mismatch_fitness + ) / population_size + temporal_results[generation, "proportion_correct"] <- ( + temporal_number_individual + correct_social_learners + ) / population_size + + correct_previous_generation <- + temporal_number_individual + correct_social_learners +} +``` + +```{r rogers-temporal-plot, fig.width=8, fig.height=6.5, fig.cap="Temporal dynamics at the estimated strategy equilibrium. Environmental changes make inherited behaviour obsolete, sharply reducing social-learner fitness; individual learners then reintroduce adaptive information that can be copied in subsequent generations."} +generations_to_show <- seq_len(120) +change_generations <- which(environment_changed[generations_to_show]) +relative_temporal_fitness <- + temporal_results[, c("individual", "social", "population")] / + individual_match_fitness + +old_par <- par( + mfrow = c(2, 1), + mar = c(2, 4.5, 1, 1), + oma = c(3, 0, 0, 0) +) + +plot( + generations_to_show, + environment_state[generations_to_show], + type = "s", + lwd = 2, + col = "#45514E", + xlab = "", + ylab = "Environment", + las = 1 +) +points( + change_generations, + environment_state[change_generations], + pch = 16, + cex = 0.55, + col = "#BD573B" +) + +plot( + generations_to_show, + relative_temporal_fitness[generations_to_show, "population"], + type = "n", + ylim = range( + 0, + relative_temporal_fitness[generations_to_show, ], + finite = TRUE + ), + xlab = "", + ylab = "Relative fitness", + las = 1 +) +abline( + v = change_generations, + col = adjustcolor("#BD573B", alpha.f = 0.16), + lwd = 0.7 +) +lines( + generations_to_show, + relative_temporal_fitness[generations_to_show, "individual"], + lwd = 2.2, + lty = 2, + col = "#BD573B" +) +lines( + generations_to_show, + relative_temporal_fitness[generations_to_show, "social"], + lwd = 2.2, + col = "#176B68" +) +lines( + generations_to_show, + relative_temporal_fitness[generations_to_show, "population"], + lwd = 2.2, + col = "#D4962F" +) +legend( + "topright", + legend = c("Individual learners", "Social learners", "Population mean"), + col = c("#BD573B", "#176B68", "#D4962F"), + lty = c(2, 1, 1), + lwd = 2.2, + bty = "n", + cex = 0.9 +) +mtext("Generation", side = 1, outer = TRUE, line = 1) + +par(old_par) +``` + +The social-learning strategy can spread while it performs better than costly individual learning. At the marked equilibrium, however, both strategies have approximately equal fitness and population mean fitness is close to the all-individual baseline. Social learning has spread, but it has not produced a corresponding increase in population fitness. + +### Reference + +Rogers, A. R. (1988). Does biology constrain culture? *American Anthropologist*, 90(4), 819--831. -- 2.45.2 From e5c86a8a8e3d4c35bf24944749995e4c2aea5a10 Mon Sep 17 00:00:00 2001 From: Simon Date: Fri, 11 Sep 2026 11:03:47 +0100 Subject: [PATCH 2/2] add roger original image --- images/chapter-7/roger-1988-fig1.png | Bin 0 -> 34829 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/chapter-7/roger-1988-fig1.png diff --git a/images/chapter-7/roger-1988-fig1.png b/images/chapter-7/roger-1988-fig1.png new file mode 100644 index 0000000000000000000000000000000000000000..e05a87514941d1daaf9b4bf3fac790af1061ae63 GIT binary patch literal 34829 zcmY&=2RxSj+x{Jjkc5yOLN;01WMuEXGqNI^+loR6;jzie>LwXC*%gsc_DINH$=;*? zd3%1p_y4}v=kq-E(dE9s*LR%faUREUUXhyWidXQd@DT{a6{Y)f+6V+z5CU{oK{?78(r5?#Tz%8&@W=LzhasSzA z;*ttpT^XsuYc+w1A{rF& zBwoFU`S(oeh&z}+Eia~R*+<;%J59Ta}Kvhg(>0&Bo1E~Z{M;eo50<>Hv%uux!0+(L^p~E2*?do ztFkcRF;Wte;Dk*6Ks!;0GEfrQJ$(4Rrzh8%v0RQnU@^-_^6bDmy|8bUEpZ8({My~X z2M-v<#7tNc)l^mI78Z!ET$u>i?in%l==u56l#Q%@I-L4!E2V`P=Vp@fyaFhJQ!&s}4(|nMaSH@KnHdTbmpknRbaT1-I#!uV0Og2|bVM4d;xLSKl`L$&Zs{ z#0xES2)F7T!V8lfG4q*tD0OU<};j51FT_AKd*aBsaLZ0f&;<}iEgDT5dK zvTMFe|AN_&ZC9aoi4FgaH|lc(7EB*4A1_l}4HQ_~&CJYfIhp5SPhzJeJe&G^It3p( z_Vee@y1KeJsk4Ln)wlPGe!{b?H*Ux3vddGvJeV8jNa@ni)(-ucW6I4cdH5-!b=s2G zcQ!`2dHb8#(#{tje;1cO`z?P@dxWPNt3!);|27N$6Sl03{PDj_E3-y=AZ<3T!yOFFoz9L+x5Rq3p*PSoLsBlD8E zL?6ZE8WS7)b$+WnXcu+o&K>0fcO(+IHg*Z?LYQnte>6=;JoAlHa^x*C{9KFVogL3e zxzHf2lOQQ&4;o=f$>zSOv#jp!?zFVDq)9amjksnkykuLg%e5{OqI`TZ#B%25lb=3e zDL=HcD=aKDZw@fZ)jT*oJ3RCYWf=Ca!wb!EIC|5;S^vhMi2-Fm9-opzamWduu9QI2 zVQXXaWq#}anSfe8>^l=f!_@3-4Gj%N!3kbif~9@WYq^?BTk~BUf%C)jSHfgVN=ibc zpX9NH$$oUpoLVf86YE)qK{!cB}<8brx{Z|-|vpH_)(z1OOK0&|~m zu(vn)JWEQ~ynEf$dJ!8t7uVX%=VCI`+le5ysvK>bg|?Fvf(ZQ|lJUvR)0+ z`nx7V_jc42EHXAX-8=*4SYvIC5}3bdOVJZWY;SL;obAY)Xd0L3!Zh7D#dfFh*_@G2 zQoe2`lx#~87-5ubc8aT5qMKJw%5fsX!+7UTRdaLD+TV+OGNx)g9d2P^VFGHnSRrX? zHzHaq`dt|zo~)D(R+nboZwNJh{#Ybnx&IbCZ`Rb_+W6&AX`g3fV`EiSRm@7-WY_Di zvz%>m3z6YpeEM-otOnLOltJk6?3YT;u1Xl1a={i%iAk-Cd@WIY!}wCesJz$Be|hCxLcbeI^~%%Ef9MmH$BUAB zgv@8^-c+|9mhUe8>h!(#q~pBCE!v*NEA8&7;Il8*FUsP7|k({|)tW1>e4W`6bWwmT1vS z?UN20nRi2=qhnOza#R$4lli)P-Hd?{W~_Gt?vz+uLg? zK$Uyp65Js4^!M-iT>`ERxCje@6MGnxfm$?K2XN zb$!}Ef%fvRU%#^do-9UF@VJas+K#+6TaCJ~t@r9SUWBSY`@eTCJ&wIWCU3-(VS;043o)8h};C5 zC?8b74Q0aw6x_N71{pneXyZp{E?8~Y+qe!gEv0nie|md%gcNHx@~rI!;B5a z^#r%=`f7}ozIQ_t1jxF&F_+qM6*CKq;6Fd>#2`!kX;>e2L>FIBPc~*P{9kCqe&08q zmzNiI$FJ=}p|rR$XUU)w-#HDm@#*^Cvvpfr+tshkG(_}w-RIgONiRM9Xv5zp(A24o z!8og-R+LTValyANVeB0?2^y}h>zlJ3akOGW{FrOTyCF&0*3a({DNOp0a)G^+Wr4PX zP)1c{rKOlG{C@Wa{~_rs#<8OvZY8U-+@U0N zsr9$BvxB2#S9O;R|MLcZ8!rlHFobIGlfLzE2-Qyx(_Ly|)c9j&0sF*wY7 z{L%I6*J(O#9bD`HXn2kgNt2F}O5)OwcE*>E$;n0^`qr; zy;mqpUdl_jxZgAHwpNxZu=+8$do%O5jVAhzZvp8XitpE$msW z@g8(Ucg#A#_E=f@`t>UnCFKVPcu->I5NSk}mT86gc_wV>Ed4aS0a16}{V-8OvhJ;i zwI0FKj~{qdb#w+K_J8V_n@fs`MXNQn3)s;X%Wydh+GXJlL551jJTVE*HKGV%k0U^q z4h|4!?Ageam6YP|Gm}Izb8x7zBq|m3PfnUUqZPz1bOGcETyx@1A(%kl`trXgfJ%){ zNkgNf^o;OAX+&h?WwddVwl4z@&(()k@C>cf@5a|!TU)POx$^n*=SPnoX_t^aya6kg zkb*%qanH-&4?kXTs#7QQZJJC^Pp_`7rZD%-eg8gneFpAgzQEaKXKM=~>a&g7Yc$ha z!}2FXqFFAEjw`tlbjV*JxYfp7t-QqPSg;Q zS-|3^{PWN6iH4EY-3L15wS}Bra4^3-*=DZ)g2{xKJQ#Lbpncm8{ho#58ei6rj8sU_ zaUCAhpDxy!z8zUD(|5{yg#CN}*vZkcva+(~(Kt(zG6y@me)g^T{o`9Cm#IEMo*=&0 zE2?skqC{*q!0{@HjfSWrjDTWcagmye%F)r0akXF*ud8x?e%{`7);e1{!A40*$-`q? z`C)ESEkGpRWC-J0(h1BTJDA3bm@)wyGsd-Ia&n}8%$^rsM5~^jo+G-xvXVps@`p}T z-qGP&buOMUswO6ffd?d|Pf6jV`9{d%P!7d2jkDcFi} zjgF3Kas#`K*JxuWWJ<>2OU^me|D3sB&xJ@ha_=8LBlv@Ywl9hmd zy(XJy7gw!4+8DNB?YM>S^u>mWX8(N`Mn_IP5t`<+qt#m^O3WuOCbxXW>Ea@+Qad}9 z{s9<)BO@Rztiqh|XuL+gJ^I#}{3XF+QcU)b(nuL3HfKHS7wB+vaBzU>X_K269Msj< zU+@$a6BRY(9)Y~1$3C>+tUX(>AP$ZU`o?daev9VF!PhDNTu%JL*V{!NR)ZV1Wo{^QGFkhEF z*MbW1WcSmEdS#vylA4-&!bN!MqLL(KIIIxFnK<#SFR`>@Ia$~UX~f3RP87$m3UOP3 zN(v5*)bs50!sY!*|G2zjzysfd&$jJvvdavU4d$o|KzJ-3j2GPHMZpeCv7&sw>mtIH z(nU)YF||Hb>pBIezT3`&my*mzP3FqVGi^ASm?IW7qYnW!-So9C`ysb%f4+8!sF)bw z5z6q+o*pmJteLThYY0ThM>iTCm7yrqGA%uQ1p2@lwg#ljKPxMaj~?}W{R%Vut3eKq zz$&ER@Dv3Zi1MC3Ouu_C3JEGD03d{K67~K)y8T@$_;hy!W;(yF1`Bn&Sf-~O!;?^w zoyYX}w6xpsJ3;798&RJ>KRv!n_-y?8*x#>RjaR_ngzu;sEyF4#h%fg*KN{7V#(-Bo z(&cjv2aYF8V(0886uEu&nd%ScHZe4Z;j{PYlTh7csdxC?#vxD}aH(x5Dk?&w1;xY~ z(CF)nLKuKY{Uk*XAFxzbb~aRzSh4iXp)kcjLsZq&?9Fv13Qu^FVyX@pDcAk1(Luu2 zUk1?}!vt3M#T}BAhXw~d7rN5`ap{zg80hKc^3-lP!Y~OmV3=*lSt6e8S~&uFEeQz; zK)nKLtGh=D2_(%bI0(c$%2#5UpAlV^#DQ%uWOJW88^tFk&U%VYGeH2F12CMCoUD-W z`qw>*MpR03n1ZFmcK4kKB3h_f%>pkkF~7l#NF0{@UHF~YYF+ku5%rB+g2^F{COspg z<^5w=@n(<3Z@_FcH%mG@5;_3WL@BCOa)+PaR|{tEE-~JR(AEROWsB}&kw)9l6SJ4*6k4gPb7k~zW{}dAx~E&)L3v}nM09gMN7L! zu$RlLss@%lp%w}W3Hi@c(H8TuwGBpz-!ijW5|5)GO#^B&* zS3BGq=2_c z@Z-l=jspQc?Y(lhf*Y(0&78^2AOYdLTiSLLg5Owr&)( zmy_PJ|7yeEbo{4b#N2-^o=Fk-6DX7TMszbFdWMx@3tkFade9V5vbicplAfSkP~N!p zb=8dy52aX(@|5SN=r+Ni`m%OA5ba~qA#HtfM&py zb|btTp$vw}*Z*@jsyHJ({in-5RD|Z5nj3S88VcSw$-K*CxOfEttn#tRjZ71cvp$cR znR$@WLrxSC5gsl;b!A5i8}UI5qW%Rp*@QXBrmzT#B;K#?u6(zIj|56{AF_{6~`)Qy|g)2!JMgzMTa5}y3uaKyy zs4wPYoBAC*|D}x23-s=8)#hjfGroY@ae!o0UbXQf$XrvOFCe7lV4AYh(xw~mq_J`} z0r)BMQvP0B8*)T*r$n!lTtG13GYk`~ydHU^&6U_GPNxA-SWT_xbbkuitcsG)ejjDB zeu-*YYyL|>M@It4>tFNMP*a=m98gm)N}Ltp8w6wn825ZlMKdp0UXO~7#>K@Al(cYi zLg}M`(+fz!Lm;fM)OZjl*l@xZxAhDRoX|hu7*}@ybuLX9VhAbNoWes;UJH)QN6U?q z!)=(GiHV5^#efX-|4q)%cSA*&y*71PHruH+Bz6Z$HN>^_^sXD7DsP}KdF7R0D0G<% zz_Gt$WL7ffOfD(8U1$0#F>zpY6t7DI3-QiRZe#}__qG`h!=VUrr+9qLj@;XfibLZ4E#s5?7WM~MOM!&G8lySio@$fVu# zM^+;uB7m(Gq*C+nxKp2vjbKokwtW-~#08Gb2i_Z&+rW}-`T~;+{P*7PF<`yUH$QcV z6=hW3hX3d5tB|r`Ev^SFh5Eqmv~bK)9~mC@{`KKPlevYtIUP~NXH6$f0&_@NN(txX zBzw|VfKwkMxP1+*hc{7BvB*}%xisw#=jPrtj|u?{W(Citz?8{{`aCpE*wiB}E}d~z zlqUAa591gG?2M~e(j)*Ff=YnI2$SWLkm&Kbjj+laSPqcP{`>&QTL)+7XA=|%hTFev z>3tx~!QnpCo*j{~kD`FofAs6=)w6>RDMtaSs<9V3Jt~-h6{*(KMRV!|Wfoo^@7=q8 zYv_>`Ptj%qEW8_Os`^@5Zt#QVgPCX`(Ex79&x#=6j0gQao(lfsk$nurTj5o*4@&py`#e~EuH6WVM-p`!9|>RGFt!i*ii$>SzjNq z7kGD!ganYu&g3Z6Wxpt;76Z#@rd_PZp7eduqt2A4X{Ud5 z)KEnQfJSJ!U~!@rE4!Dm@sFQBX@a~=MKb{rp9KBw&q_5mHa-bz>9K=o0fiG#NBQ~K zHI~?IPy6g?XlPV{Z$JHBJOY(^^DkSwYuDlmp^owK^qgB<^zruQMo!GT-yjSJG$1fs z^6uTsJT@SMwsG+mcDG`O9L+@E=C-u7R8(9mfRGPG57cM6?0Tpnqw}jzOFMQpJtKo+ z{+FjHh3)Dtvd7K?%f;2Qb{w|%jc{NVqsN@XH*pakm;}^jQ`#kmyLeR@h(|$rQcCD6 zuSKKXXdYG=G8PpNtw2zXoz0^Un4M^Sm6gTyyH}pE*g(qJ*Y{vi>aX9<>h$CHWo2vK zX?K>sYqH4=cxq^Tr*>_GwSkEJJ!tPvR32kTwuFC8U7er1JHKdf(SYChqgwfgV*LE> zCkLB@gM)I#yAUADyc;H3&UVY;fm(J7c*fSe1(s=^iq<$_@Eto^m1S0*_E<3U8puXR zUdgt{M@JCUnD!}_$_g}?-PWuYMbv?F5c7=3TS3u5jYocZR33cl6xTr-D5^GqL4(L9 zbB%$Wyz&9S#TvwI0~%7aS*%@^xtd>=Jr#(=g3rWdh*Nkh)L$C&sI3E7dHi?-lp!(q zxi1qwQ)~N>5E6G#x75#}KU;6K1#Nk!eDqOorurf!Z*uE%Z&HGgP2tcwdYoIHxKc*C(3* z9p1Wit1k%)A^oxqwH#w!7iv2O&r?~+k2al); zYRL=LRem3yg)V}aw<2zLVQ%hzf%eW^hWhHz@dm|-B zfzR*Jo9A1h9GPm$y^m}HVi+p?NY+=N{`D=M&GQ7`prr*Q3Lsk6Y#`nPBuL0Tvbiri zZOG(vgUJ42RZ2Kd35xWAJ5pz}Qh1^F)zpSocO!LHQH4qg0%@vHaAlV_?fn4wGkC=E zYmoo~A*7RQ#~ADt02MwYX^=XSI1I2tKEwr|SVwyQ!R>5KLHs|>SsFh)Nff%w%&PYtO=B0!h5O`H>6BFt{?xSzOEt%H27u44S z^vy3f+F4#(Tl;9)>xc%#yF|>tjyAV8W>0F~`pN;d2CNpcskyxTY6cP;vswRBGe5rx z+$kIjkdL6w1c3%eM(&c3B4ms!mmmhbP`sfZn&LM1K^xKtAku-Usd7y=O!wrGTl-t$SHR6#JLYlYj z*04%~&Aofr9c~?Q^okj&++u@JByiIDUN^9Op*I5>1;o?Kq3;Yii(rXsqa1FJey zy5(z~-@YkC=H})?hT$@)A-jHEiJ7GO4~`76&xBWsahXB~aL4@urxWWzBd`Q|@kYt= zT{%n>&4I_g|GdU2*$p4yPwR&I2XF^n+~Uz{dEARB@Y+Q-?Nen+^Xp9H_6{2GoSF;pFPFm+7wpxQvZ0DJ?zeaSgfy zq|Li`IU}nSE?D4S{AF;5(}y_En}%SIRvF^*N$Sl$%iYWt2*7!b<Oi9oQWGu4J+WC54JJF)hu3mvTn;iEYSd z_YfP!GJVJwN2g~E>&?eywUd=&&b;o#2%*+IB4%;e5Y+f#fNmt{zV};q+rb%@@?7c# zd5@i)J+J659A%XO2tdf&mYI$xqIhbT4M8Try>zL@Wx`lf^NDu?@x3y66tH_4RDw;Z zLlxO0{$ONa%?{uv!=C{CJ=$D2qX+hyl<$V+!-tDszI^%k6u0lwJ&{>l&MtgRFoyMT zdy}MG&^1p*O)ciXS32grcNow}hFztOSu4P?Z9(pRb92n;I@R`{T!MrD{;P5wlSH&~7M$yN8EA64|`pv@WsJdvEHX zU6}ll9gP86gy;PeOyTnUw9y==l~+Jb(Ok-FMK>tuEX!xIZi%e=*hFCSk5!6t!TC`T z4L1T$L6)c&epyn*bEp)e@_OwL8ym$zMBdWt3#5kRS;?dC;^M-b^$R`u4gmfZXa{~L zn;md`9|>i2+C()sTz4$P@UDRIBz&a`7cKHSusGcr>WMwd-voA<&Fz*4f0y?yJdKx z8^@<4kv3D!fo-e=GE8q!sH-$0j}NzOF-Cx&Q1k;$mLSTTtB=yimh9nuG3NYdX~}ng z!pH3__yXb``GcvQegU9*);&dOiExnx6%|@V1M;p@;gpn=@X_Sa7suP=cC4?oU5=d< z6%{p1)?*_B!a}>`A6uj96nYurpq6Ya%E9j;c7F2N&-c2b14w&0Fcy|d`BfPg!em>G zSK{E0xY3j;!oCqn%1TbFlwf01j^+7vvdN!f%{lc~uYiQOxU*1(hld9Y-Lk?k*-ViZ zfiOR)URG05iWDbuWq}&&&6_v%_4U20EQt=5mXFH^_G49ikn1U1XWJ1?`@h-?^ig9%EK9?g; z4ilI`o4P9|cD&{q><=In96bDKoY$I-bJQOL7u8kITRdAC?ja*11ALLX`nUP6lzX`^ zKU#k2>WY>OXTZz;zPRa2L?{0I?g9QbGNlkZL|Rc%(evT@hY!*W#5rv2Tg7B}IQJ8P z$LNTqy;p8yXQ!}FNs5VxK*mQ3CcdMngA%>8lv7kA+{!Rn-k&3^bs9LejGp#NXKQOF z8RAP%WlD743^{r}_VR*)=JM7dFd^?vxvRz+ZM%}enzA0SC|2BZGnZSWm{b{)8hy*A zf4kSIXNrW_k#aSBw-=$2^jaZX=)sV)*YPhJH&{G_ka+(X>W#jqW+1JE$vUEu-(N|< zRV}(yn<%C6b9s7<;-ZOPK7<#LoWy{)4qGNSF;i>&?EK z4Z3@3LK0TA{=mcUt z@Y3Kpk-w&Cc_$~rnhdoEyt1NWn(E$k1bqT?T1tu!_>caK*Tyj`nR6e1`0!-RS)V;A zPGWB~kJTSRd=si28~$lmvIq35YMJUM1rF6rr408day9YP=6|oOhz6aAAXV6t{!BC& z6ljAzg!Pp#(9Bp8Us$}tGgRJ3%;D7 zAW0cwKr}3gw@HLz>FMH%Kn9hNm{{}PuJj;4Fk_ua?Y2jCc4E#HxGl`lcVcYEAjiWo zef#!pswzVryZs-QOIqF2B7Z>gF5ah%31P&;x@g~*(mwt8!&Q3{8Gz~o@oIPaSfgEX z0UF)Y`e$l=WZ4rUIe2O;PG%^qCD~;`gbHW|Pz*un%^UX7BMM@!Mpe-ml>sQf>XR9U zVeLMAK*$ioWNQpW7iK;nev}~1z$+>Ft@3vSeb7O_3J<6_p$s6H0?%k?w*cG_ulV%~ zB9W^0P@~$9xWvvvzUo_{4-5!re|V*>M;8rIqFhZn8T(8n+4DxrkHc+$Z@a_JQryng96ck?T?11eMs*hcr znfUe`!)Q_d?;Y#=Vp-oH;tRyp)Yqry71N(>M5tstB^D2-dOgt0ce$Bf2#{PWl%aQY z8P=VQJ?QLkv5$gZK&e3K54jm=U0kVy3oDlwn}%~1bB`mzZH}2}wFfsZf65IHmo3AhB=?y#_%5a&}2&nGKqi>OHV?ROXfL)FN zO@ae7#!C91wKc(vp2WmNutnX%W9$!UeE6L%OTG3ewE=3;EOihmWU9sjKnVyB4}bmq z8{&iAFDC{^)AUK(j^k&oR+CIhu-$y+xKo^beMNY9)<-L>?Uj{+f`Yufc45ODZZ84? z7jcz&A|jK(jBGD(5Utd!>6(8)d8ud4#lb;lyKWa5XpXriEC0S=R;oAUPPT=O1-o$@ z$PzkHPrUH;3s~XhA+=C2k>FGW9`D&&#GTQrA9nOyvo?QWJFpqO3oQ5k&Q4Ae3PSGX zP|!f(iTbJ>X3ZM(`acbaAjfK7DCGCq%Q+0vwSaM;<#f#zY7(!xFW0KKyn*vGG8)VC zxE%#}4nJ%r?cu9sP=B1923B`FwVh<%eAdx9Sy|$mb9*yOvfAXi+}}R}{*N8mlW6rw zKR*52=BkylV$;Mp)4NDB?i5}2Ch$qBv5=-KH}pUI;XA@TiB?yoEgtb51$$BiNl;6$ zuW#z?`wqxqCR0bl01$yr0Ba$*5@=lc(|RS@3JMCq5e0^%cn7>rJ*NxjT)3SPxx~Q( z{f_2VBle_ASRn}s3Gxk9VXamvUDwA5V;S(OEAFZTf)-}7#hB1qfH9h#oegTSC?CnE zF9nZK>KZolHOQ=i)?DNS#$&CkyF`S9P<=s;2f^ycGvn0ZNo~*q84G{*a8BftWcRY4mk^cT!>Wd)QbXAIG{TVW_ zn5eMssMLDP{01xvIkAd0K*BqsVKO~EJyUxYz?b>-W6r=bK0bb_K1Ww2kPP;z)h`{h zQqSupD7G}SIqU?R{hBU+s%&cG?23(xi+k~+ai?EJxuD;Y7i`1TRn%uBSkg0^rlv1` zjA*hAj*Kk2*Fi}lL(Glwcmi7mT77dD9-=d1DSgsjBvuSCFcj3rO3Fn8FzqBWhKP4$ zb*8bh4??7Wbx56Unz%O2?;`u~>0rD2wmTx8SiY3gzWw*Thn49-s+Y;z_O)+>ts+_9P;?+)0(%R5gN8=%N=ebXn8ymX_fY1PgyFE{Hu0jB z^;_DIM9bX=jfVrWVJE3yE)&YJP@HiMDDuI}T)2aqPn*S!AY>BRdxy)*;yalo6 zCgkJ3XK({X&ITW=?xr-uyCoe*rAA-((dXV$8Qd12}yj98_=aOta znDD?XCNM3=pR@sP$9O9oOsF~bDf>rBAbw~Jh6^U_Ba7HflEZMh;DY>z`({bMfB!BZ zC*nlzqF^#Z9WHlyl*#F3?jV|9@*?;v}4^=%?LTUILy$WHb1`8rr0Q^l>I4H5)|`!BU&8% z0s_^=cV(`O!#MiX+E*Nbtx@=fvF8ft$`oiT5#!W9=nCr4kH8p`l@jD^6#&kLkT5GL z{5iaI=~AyyPG8PnbU_YJ@DAr+hh^-*_Y?=?Jnqx%MamXCr`&9-`7 zr}X)&>rp|g4^sUE-0MuaQ}R30qJv8EoY>><_ws=|15A6&N+fzTwE6ld;k!Y%w$v2l z$`h(Np^ktG1-4N9VzT^UX%J6pRu;zbQ^|R>kpI`B`hnk0B+91p=#i!fP3+0Z1C~9F zCWEkZ2jY*}>1nIXduibF0HAnw+Z4fY2^el*Pa)jVPT&Din_lQ8YNkpCWoylTNAw>r z^0LFHe~|g>zIn%Xc}5Nw8ti*hNdQm8kh!7FV+wL+ApC;l@lTQ}%XqyPhrE{4ve3Pb zx%qiFnhv+0P*v8rPQ~`edls| zmBKh(lXc;((|`W_fdKy{d~6g`+$aXbg^&xn-+%TxoAsiL9+=m?6I19?w2F}iwGVel@>ViVN1SuG$* zR-Wl4G6OvYHu6W0%FN4oz}*)n3#~e!F|K+4oxU1;@YSGs>vz@nAn@9O)9ZZ7Jlm2 zg2>V^c+ch%`?uvqaG3ICE=m(W8v&cI3xdHH&gP%G#aAXSb)O$pKw?;`t#4=mS=p4E zLTvy_^?L9dTUp^VOu{V2b+j(d8ZnwemMq=zY$Kwo_p!c3tpe0Ko&WC&`Kb%%F!NjHUChFwP>+PDe?P!# zyLy%}`46R_BdS`#Q9b1k+vct_@&&pzZ678Vu}dB2m2aZy%Pk**zO{t~>n8?Ldw zzFv+(9dEQ=1-Bqj8U5Cfe}O{;cRHrS2K?}Ye5t?D>i96Pu(I|_SGre5*GEvg>;}lv zpS7+)+yE8Yw_2fXAxN8uaiIVT>a#vI{ubl2Mxxl1+^VgkV<374-9@rar)^5KMFPbm zN!%P97~Sv;wuX?faLeDbW1zCL zKArpQVidpzG+V3A&mcQfzqQBS*1UWrqSc;jz0Iaidi9F5);|+25f>N`#H9A=pilwd z5BoAdpQ(~s1_!W=9d>PXwI>*?F8MB7AzsS01wod1V+YVK$@)RDiR%%xcT{|JY#NHx zi6PO1XD5HeP?bi&@hzH@7Y)S|vgy0j-xIK{!}dv*Xt(4gymF-p$^no!Q8dYNfYM=> z0ecjGzfmQ+w~f4J&!C6ZeiiV`gCq!_CL^0}Z?v%9jJS{H#aN~Uh0PSj>QD`4sDggA z4UmWf?3e895YeKVoZF0Ki%cD#<`QgX_Af?>?RBT|R*qIcUL6Cc)l zw_hBVw@JOuzpTejl?d@U+^=Z#`ej<^uBv4GH!H8w(3|_D@1= zrUyFZZ&zfzkSBgN=KS`}8{_%94QK&7KA4RISo-+e>McCkGW`yAl+)WfI|zto1}u|k z72;iEqONb>Vgn?^>Ar)Z8Qj|@`uYkdOnr;rzI_XVFb+f@aYZ|X|TGMk;<^L3vPBg6TqJSzAFDB7ITp}J;^Hu zsvwoZx&T~|6<=3i?|%LA#qfBO(lLc$1x+I)CdLte(lk(jLUqk<1{_RB#211K0SpSE z4EE_nI9M=qAjbVYZTU+<6w%j@e_2~cvqR5{KMjh?s^Gt8TU+jN9r**x`r6=HgO<3z zKwkl2NENg25tsgFg*EPvOo3&`o(6UCm8FP#-76XylcUfAVDRG~3a>+DW)f&;Vm)SW z^VSkgoqlHprb0kP&-$T27f@TApU;&784_c_2Uzbx10w*Ut)6Rbbu}Y3^+U@X^#>;W zuuqHIei&mlRbr>Eg+3kXDpw&2lo zs2Up%5)c1z3u7V~oYAVSt-VS_6trqGC94zn7O8A&J5T@jK(TflP*J_p$Xm#zUtTUV zzX7q=chKVC6UB3l`Yb+_wNxFHLS@y8u8hR3MjQq);ujFa9?;A{P2JVig(@l8^c8n9 zdQ$uT{d;HkET;$Hp9hmyC)6+xPJM zlcr7^Kz1&*8ME&{eUi=ZOZ|fC!KS?bywJch>mVn*mkg|3LTRd?Cql_#anzqe8E!PY zESmLgb`vTQh(y6)bou?~4^f!xWpk%)(aqw&%h_j<&)+DD>S3^7Z~VS720DWIFfde za*Xl!|8=$(_5r6FqmP=Xd1P|#K^U@!=GME=xds2AT~b|G$g*Gyb|U7N7*qh-AlRjp zm6i34eBD9F$6u2l9T;fkRn^x|9&!vzJIcda%le@5OKMNW5t14Q6O(m7fH;I)5G)>b zk{NwDub>=e67`~>s3CcL#DhR|hN%}3TzU$F1|1f*tXT^?aO;mB6LaB~_1S|=+G!Iy zb!+oO*TQOrMXMhW7?7NH&tvny&b-0%rdY_TSy^C>dk03&#aI4BWhu4o&O;a@+~VBa zTnIL9EWOm^;GhkES|#Ml+~G)%_=|-KyoC1#1nkgYQ39!g2kbs^7)k4?XabmcsBYXi zgc#yKHQL)143na`Tk)5T^uV75yS~Ntj{kHkPPxvws$&I+}cxf z6`@fO&bW-HHqdAa)6Q!xKve|ru&4-#6QR9m=raZx?#2!1LIFM<)CbeiUog!x~d!g?PZVpDGDmGAt_5pxr0MVyT|M)<63@8@V z0}$c3I5}w~kb^F@BZGsygo*Zo7rop|tf!{M`S>b+uRkfpm!KqvRySmw~{8@UP%q5Zf3l+tP>ko|GQ^iSWEs7=hWYidHJ7sCc21Lx0$v`AT!bB3|F3Kj+Rf0-@OYyWUvAOYbTp4 zy*<`9QeRsO;<+L@8i}(*VtH+%Ac-objzo|j&ISIw8RWGW7)NW~+Q&pu?H1LQa z8@>lFXwZOzifL^F;&IwmA-i(?zg_?%OG|9IPx+}zAY>o-vn#0R09=F1LN7Buo)21x z`VHQiMn)dJfrzU*0AJXiZ}Lxj>8uto)Seg)%^Wj8R~kx(FuBYoJgJmgrzu{#O$Ioa9~M$1z|wfz5^4>=;)r z*di;qn2GN(lXL>UJdkj+09nZz`_S!P5<^|Fo$At8jya*i?ckD(xYJb`aOD;*f?-+Of4_d>50rwydI9NF5x_|v{e2PoJfXqF zem`t9ne@IW#-lF276m@wEwC2;bg2bi&=C!DOx-2No&@JA`@3R-jf~6%&NEJT@YNQu zMdh)bd$}>%xn_r$+JL8t$v8%AfY!&qlh7a$9`OR?Jt#sUuA+?rPC&DF-VoWKFQz>K z%v#B|7ipyK6Q8ec3@aFKgSQg1e?lb^W^|D zd#Nt_&0zw>hj1;7=V=WT0N{fm>QKj?kyB7yy?S-kQxw|Irf;iCtHSB%;JI!v&|rU) z3)b%nRMH?Uutk0C>>S%jzFfS02L;_f zm-Eg8} zLxH#Q0rNF6$fSAj>s3`AmX^}_eZX_Z%vMzd<9nuRS?Ezc_CbchLag%42M;1K&n<^MD-$#{YVHp`V7vOF^MsBWNoz6mx;woow08Bt;ek^v$?n&xQ%}@_p#yQ|?a3 zmktE$DZD15o}3pYPqums<0A9SfN)RDdhT0a1Rk6+yrj5zbR((<$`7K5r&g&w&t8VK z$wBv|yjElPt4j!JXSszl@Q*nA{waqd>@a{ly5Q~GZ;t5pnr9!ti}G>c(;4hRAVjqo zwH7}X}=?+PNrdIR8&;1T*8j}@zy{w;dQ6Y7P1M_L|l#YSpU>i_7g!h zZ6KULKek^WutPt80Pe5X1qC02nlQ}(gO^dzT?f6NK!>z~=3;7W97Xp|C}$jWU07>+ z@V3E81ZpQH?B%TSfQ_z7LBDM|^Ck3i(M+RcTO<8k%?&eR=x(?uuLV7NK=p&|Qy+DG z*W)ckdLc-OfLfp%jZ^#v>8EL4i)e}G#mn+O!kk@O=fCy5b$a740P1OsI?-nVb`(qN0ov0x!p?1(m=^PM8}ZML@9{l$Fkc{Z2n+kPmWg~|Vx+PY zl$2B_ekPksyipv2qjet2It!p%3G8HtV5ibCHim+vfiFuoH#I%|=xo2m0t~Yg6IrQ( zYLB7VdL?==1fO!yu%c0{=nFSrJ)#{ z+Tr0O?+PPJS@0O$SDzYjdS;rYV1E5@90uhKa?JA+e*_rPy0 zhfn(8npP>rT0~}YGRv=C`B2cmq_3>J*4H5$8XE&k_+-%W8t{k($G1xPIKbly)D&>+ z6AeD)x1MpniEea0f}$4QwE?df$TQ?ImemIM`#&4Y7~z;+2nr*#6*R-?0UI#R(~nn{ zK$_OkNt9y*EDeD+(rBPf3+j3u#`ujq^~mbO(1_XhV9tO}dg)#YcA4PSAP@frp28KZXHfoi3ZlL6nh;r#?oZf@u=0}2M@ zMfD;NYmZ=vzhK2T5@Ka7YH5*Lm?yi$o)q=V;dK&hWwuO7DJh=+nFPlWIQw1@+nvgr zhJXGHfF80KTY1de34*4>D1bPEt8XPKQeP)%2;MR?+8ijxg9!sNT)LP}J8nl0@G+8bYXMk^P9U$wCqI+i{?h7gfJ6#cm$WGhcmP~3zX z?Zf-*0igVw8Q%RPAbzQnw+p2+JU46b2Fy9(zupAg%>GpH z-}cH%Lr&1vL4_#Ha9LSj*Z7eBKp#9~4oGn7Utg8?7`jMP|DXKD09h@0NL`2Pp z3mK40?58`g*!Y8r4WiQ=P?q3ZSE+^%D4+Y3gUQaDouA+YB02%glai7`(58xMcSO4| z;6~*+3z@+CTJ-di6!Nbf2B@4-B#>PWFtdl`mCBH$3}#MfBlTENh32L9J+t0rPZ%V) zhy3?`U-MWcs4!PuhL>Xy{Qu22x?(%U&dm)Qxc2W(krY&;)%NYkDsUn}>V%dUu+d;v zQd2y3>VL*pn!@mWY|Q8akh1@tR|1o!eiQAI!PVU#&NaAnzB&2%*5F{nj)HRtbGGk4 zbvy}s(YO4zo#3^ht5HT*&fmP$8FgON(9_ZFAu%sk0MQ;h4Wva4RaIU>=xUzXMOvGG zkqiGz^e`Tw;}6v~C1n4iqD3fFO}O}g8YeG*v6Xj|jhQ$G>M=la|9kzA zF%b^vACMqHx4{(sKc2)gD>Y2GRE?b-X8#?77d>d}bW=c&W1Z5L zOqgkFpJS$dqzB|jSW0Bmt67nT3A#9079!%+&o~won5CwMdOB=jWG_V|N+ z9g!_lE!fRcs4 zSA5kkrl9wsYmQ>%j8Z866G=~_0Mj?`*@)5-9FF&_d!#RI`Tg+vY=JY-_(JK z9SkSWX6+3+vl$4!d!XWodVZPRWcK}kwS8$cmF@d>gKCo`$xte^&0~^rmm!%+RAwRy zDMJ!66Uh)VWKO1fOxZ$0rerEICkavJDU?)tkKOb8{nvl3_x<|%@I0%v_TawV*L9ue zF`a+E9R^f5<0!tU5Tf`Nn2OE94VfwN5#SGa73g;!TaHBB)aWF{nX{9V;D&BuxpA8I zQX5Riny_?#nsQ|7bk)ZyW_eVld(AteO~IDO9=^R;vKv9TdL0b9zG;a8mKqM+C(X|#+}XJ zID>N7XMNnq6?TzVv))j*BFOE{kxOkcadE(8xQ+f^QH~&fjOi2}cG#f%T@~H}9FAN^ z$rXVx8nhsAu<#so-|+aLTv9S_i7$kce198Tqrx*-y3g0^FrvXaYibI`ao@8qN8VqG z%(i{{;p``u<40)g`#!}ZX)0Eo>*Q(Acpw$*AslL*mPL4)Vk}rtb**^xIp3)tv9Yx+ zGRj8|M2$`pl?u9^5GC>}`dg89LT>;0>kRJgL4CP@?_Q6wC>2Egw5Q0H#o6N%puO$+ z@ZlFSRjw-U&vjY$z4CghT}jvSes(De9GGvT%Y8p32N5U+@NmO2*OD{*;QSaulybU$ zF9gepv(OUN3Q|$gVe7%82GE&2Fl+YNjZ`wKL5X>S|Mp!k(h=E%33QLuc;n zUC9JZN(BxuRZD9}&?hc#TxZBBrl+{b4VEWStYE1_B7xO}^2$gX$t#x(d+j9}E9^r; z;Gm^aKqX8SmPpY2TgOr|l*%lyqC{C};h!|hXPRBDXj$AEFcL2L5e3=S0KdY2S4>}} znfPn|4(>QCOF|H|fM644MMMg#s!Y>$^1MY`$vDBATU(KS^HQ(U2F}par+0~jKfwN+ zK8Qc=?SpUHa})N8-WSJCkPo3cRf`5iG<@<+D4n7nGEYQ-h!yEFqi+Uc4r&93UarU^ z`RFky^+7W%gDGrO!V=G4_NeUn^uF-M)vFOAN4@uJo}i*+t*rlca@Ys9pe56UZ*oqA7A_0PY_@O}RA z?Dw;OU(5vR6s26MdKL_rpmL~39ohOmew=eIhcZ!ezF4ySeNVNoeHE#FTwR98xm)~X z)?*iM)k}uLvYk(6UulR`xc~>TUpuQlU|-5??zxC)DUB-!+N5r{`P2(CyKVF;WUiL{ z9NaVJ9rwR(iM_gPigvg%ssc|?Dk-uzv`afgl&;C7ps~Qh#%3$(|Gwq}*Y=?qf1wA| zxf~Gw3s7z0gH!HcA~x$8@7~hA@`?HqBsu9Hc#&jkNbO)OWfy2;<0TG zlY*_El@cxP<5Z~vy$X%mx3U*2LN*1~9a0gOZEb(Radu;63e?DR?@1hkU-dBkVHN%Q>LTvJoCc_)dU=9X1QnDQw0#Jzu$i^Sq;wqA%?F=380cR*%QLFP416)n9p ziR$CQxL*=FYv4QGqINW6?>M^m%|8^39Lvrd^zD@^v-lLC22D2TuplkZ%HpCYAhv>5 z_*DKm2jzk;>Gev=+G3=!-dyhe`?+(PYKnIJ3w^{=9Js5J+kkVWx`pGcRL?E*#6coddQh_EoGEzQCoxB4tYH=HVeklW=M6TT8$Bi=L}|IVJKwO1o+NjE}W zZ}JzG=Z7E-<~@5@DMmzJdgRiqxRLg8UMcQ}9TtxU-o2RGPKli8$<>FJ3JgJf1eMw4 zl+T+)1dSa)0vBW!i~R2=!vq*IfLZ*Y%evR>0)AtMr7ALOKO*8qXQAB0U%qCPh`o26I@GKt;-=M2!E?>iq2f0*rV@M*Zj_ zBoD6FuZM?)k-ojVAbVpD2#HwI1uzW-d68SJrawy+AbY7#UjYx?7Qfcdz&)T0K&Kyc zR0mrPUGONH6fQZ|r>yVnOX0>Tv+@PaXd;1_%P+zFX=+Hnx{? zKYp*zd(Gd(e%D|9&!$92Wn};UV`9Du=YbA6*sSm%D=VLfNIcQj#%2Nt4Q^mV^%uLk z@+Z&DrusDSxwnFpGr;(}mFPp~ygsKm7jJlFfb)grnYH!!|8;^4%NA~RsQF5L85F${_dk1f!o-WN(zgLz@GTZa$A|V~xW7w`j8-|B~ zSKuGy2fo0)k;1T@(rg#76@ zxcS8f_(UOe*Voq{6*!gBh40TlC!p4eqt~MUnj)2gZ(bBLYq)ZHRYOgV6L{|Q4QKh! zlI>uA1C5A73MmkZO?D;OFS@lJ;-NsJ(KoH96iK8`lqQ!V<4OL+AvK0Zr?mZ3g%ad%H(^nZ;929Wb^$!pZc0<5Uz(EaD; z3cQ)KtM_x=?fg8|#W4v=z>(~imPM!lgoT9EqFu(@_NR_J1)yC!=svbL7eD4b6cMMZC@Xhfp3}3w~cV9|LNgi2pRUi3_!-hLZScg36(9!=Kcnw`|ktq zj8w9uPlEz%bSL_`f1S zmI|%Dfq`%Pgf|iu!1$8dMFa(h{pmGdMFU*m`>M zrwZLJVKev0u6*9A%1U@cXoUK{Cqd;S?sc6=FTkcQ) zRQGUl+7);1vzPY#C0oZ&O(8BDXGb*4Pt{yj=Zo<_S?Zq{y?gkY@>oHeVSsBD*s$*od_Hy?rusV`&x=y6O9fDBL2Mw`KsqdSMN0Q#OtUlz0Sb#|pod$42d~LPb zP^J44ES?085+kkSgl6q(_oXi)K0h?1D1oCCp&!0ZA^+T;+JnDpak38tY}>h)cI(%R zArEiAAha(ntc2F_jgjstFA6ohejPT`bpqN|(8Jpv!BuJ7zgd*S($MtE(E@|YM{&R*u0&3U&p1&aP4yv~>6!+Y&3Q2$@hoo^d z9D%EIJK)01^w}QMFzsA!)dBeT$MwCd^hl!Y;~u-1%Rmc0?a&W)7>WQ}bzeeEWei(x z&z%eCIJv@h({7cNzGTc$*ryR^mWb?n*nlY}BqI=#WIAhSXTU=>^_F4@a1VG0Uk|-r z1tcmK@$Aii}= z;kmafb$nOLWJhxc)lCZ#j85QdJhs41o|;_vM=_|z>T&%D`)2fZVn;(EGdB=>K1HJ1 zd)4riZHZA=`S!Pot$XQI9U)~4uBp=YIiB&>m&vgA<@ayjvJGt@kNDBahjNWqMIU)p zY>m<>ZL|f_e|$?*1vyVMTBLQ;>IMw(?0Z`4>(?fp$<0FhN$uIu>y#)hlzgL7zq(;4 z4zhp+QP4}3Rni1^k*)D@&s5mJqx`YHn?Ju@38ZgyB0C0I06vtN{MBIoYs-&$q@>U< zt~e9^EO(uX&4FS8KBd!)#c9(!q(6pPwYIc0E#MeeCHjZ!Hf#Gp#R7f7hWRil5<>`k zAkfP2QDjjb3Iuxg+q-&bKA5n@py~1F2ggU#9KFm|mgU(O%6xv7y}Ny1l#X;2Qg$n; z*U|x|M|jF#6wV!GlxkmEnCU4|42u1ll$^N1-8=$ z*JpCDYcbHdkA8nmld1LsHU`a$j94}Jp?z&xVB5XD_zgKqpxe>@tlz7&QK|m&cTAD} zM;*AvIfE=1yf1ElQJ1u~-9+^1*}3=aWWgU*%Byj=?YWp037^KMmUO@GS-7QvYG!-z zN*pWWY1l~qhU<&7x*>`zxZdx|dC@;6dU~TvKg6n+NuO{+=nRXo1gVWPO}NOE4Gazp zY;U-^wmb=64RXf%%QO}vOtbllRSY(P3YU)TIFZJJ~|NOIHROQ~~BT4SlSG(!%%VMNSg>}dHWzJrd2#R0_{fHb`7c{5|?w+wiidK^Ob> zw3L)vla~YOHSLKe4T`Q+m#ezlE6h5R+=}lWk@a$MVcdJeP-@QONF?{o(Ad~L_bZsF z6kI*r-K7;DK}`L#{A1+k4o#Y%(gl5{;N^{`NBI=!Q{BI?!WwAuEHYc%-acB#qiuTPmDUKzDhy%&B)# zjUea-I6LHU8doy)$-S%Y&CU0C5Da(dCKKvS=vynfFK(6g!`KVZov}_eEd-Irx8SHn zGD-5f+QW`VM77EIQ)u5Cog|X3WQatPX`+dKQ73Kp!-X?U4Dz$3Wj(*#oOklQx~a%h zzLp=t2I=y1d>K@6HqC7i@T0yM76>14H?tMpeoGN%_YoJLjo2Yj-Ws|>ft%#Ly|beO zHc)gEVi%Avr)Ly_@Ex7Kr3s1~{&|#l9J^&Oj%lxR3^cbGggbXp`OTE3=btW!gl-%r zie*E2!eQDB`x0c#={#(pp|-tzIaG-gve$&D<0EU-2G>=GynCrj=Q|fNs^!P4%J{%>K zQ^CKM{q>L51CgM%A|vL(B7s|LNrLHeS<+`oQi|=PwTSr(P4%6$w1M>_NIILAZa&&# z>c+~zJu1_4a}mlJ2>y$oAGk6U$``Dc8$Q;Jx|mT>Er2nlLxtw5HhSBd2=B@M5uQKpaZs2bAAL@cTSr#p1fam zdM>P^r{`7`gN6C+z_!WS^N}A|PUduVya}|{)YgtRqD^Y5*dQB6JW*<{uCLFW z+N0@IOv4)AdMgw&Dq4*^YwRVC&>s4U)JocqmW$=oH`+0uh$lngd*xKwMw&YS>7D0} zH3U5HEbgF0N=jT`L-8V}Vuuhf7nw;_d9|qmW+pO6pjFyyzlzPNa|^EuKh(S1+0lG+ zE&aH8rh>YxMD5-cr-oh$V}C~}WaJr`nx;6WnnJNu=FmDb#$pg-U}pB>pWRl1O!tU< zTIS80Fz28~tko(vw{GOgYhJ=Fk!xo&t&j|H{xNz`^=Hkml+`lJeG4{35hp2K*oP0v zXiEPm$P=jj9iaesp`idF+jz7DoHsJi1s{aj56@eTi+|W(n5uQD(s=_Wgdp6Fj{uFD ztjk2?;8p#CWHd|AeLdmcuDprVUN}XS=HFiN@yd^tqe}cKCnoEf`6$Ezk4jcCN7+f0 ze|szY)1}eZc2NK6v}VhTo|wJum?oNf1##~&i=@ZQZq_BrbDJqam=Q` z>Rh>R|3yM$@)WOBo$+Y>|Mv2V|9mrz>BW;-WtIP{|JxEGg0@15(gC(GQ&Vli4fxjt zWinmv&+dtcQ2<}PHsVQ6SB&@nr&W{&kO={WKl_<8XRI8bt7kD#jVz4R`@1Rwx_KCdq=P}`!-W(18kIaX-cP|%G6!w zC)DAPqNltWkx29gQ1bNHHQPXucQOLE4xvXe@^$8mMPhqnSQ?$E+hd8go}MP>-cN4e zid!RF;|l=&*E(&zW5CQ2lgBG|f&$)9|8jWMr`)^`NF+#;zX}D8vcav& z3;@1geEiOr^Dx^+mjDeIEbHW3lP>HF9mPX#O$D{j(hnh+JKUhafN#Y7GPR+Vk`rjC8@V z@%WGRtqT%K)*T|8<@Zl15=n43f>WqZ;o{v&!>tX!_8R2( zx{P6H1yV&(1@h%|*uWBT?`%Hw1W?C(YN8PP2M%a+Accg|94rrBEfZTu@xsu1@T(c# z%qVSX$aK}|;?Agn*|!-MofLi%D=>!qO^r%K~L-3R*z=9~jLW|FWRwVLxD;bVS z&pLnXZp8{uAXzn+Ax+}fI}J1vj_#JXo30*;RGI>uS=*jk^ct>*R% z!&ZhfOI?hsMjESw9XeZD)O#a}1#b+ghdzX&6z&OI+sCgtohROMh`qoKp!@E z;+6n~wD!LK{vSB&DolhudnqFJI}Ztq9GM{9JU!WzlR+E7Ysqz6(E{uE)FVsxj;)m8^Gm%P-1T3F;9GR(U1%XK1%iF ztZS=t;*1nM0V&@!{ttTWoNhql3z8PW2!mJSQ|id}f=oveGy$pYl>4>t=@aLHwR(2; zl4PP9KyoW~dSuDXcmd%6jRObLaK1k&tE6NFeu&%8(gB5KXTQSyAJTy=s+W>1w9gzL zc1%#j+mNB5JB_X%qIi5ni)zXCbwnaH8_; z*!W^Pt^Ck+M~pJO$OlNs69X+|1txXCEe&>Ekzxs~9x6mOirer;V5}WB=mchGDcYDu zC)D~@JJOPpD%=)1^U|ZZwj5!?HqKM;^Sxq-BM|0o&bgaJ1`KIv?^w+HZLV;FL&F8FZT#Ig%Sy@{K_ibKDiS?o&HQxw?HI4$cuwa4Vg8R6%H1&?EuLpn_Sf5|R#(^mbLql>$j+_XB z-DhIO16l1-QmR4qA09N0)&{s?QV35aX~GtDgyBoCg+zrE$^MF9kzyQM2CA@MibLgP+28S7D&eD=YJs2MGA2s36_9Gi^XC%l`K`$rrfo%si<8Sz4Tnan`bqvDSEG^Q8p1^WGU*@%AQ z4%_K)08!8sc*B%31lvA%`Wdr_pUNFGosc^E8yQxa|_!&l)GYdVZlhb&*BEhZgY* zGt$i7LuuY)2Ujy8T_au?ftet_5fX9HuU=^}xA4V3VaPT&_gd+3loI?&EfUnSx~|L_ zg$}h~FV2XiFK>{=3h0qPW0CX+%n17T6j}%1Zw;0d0|kpU89-?SBERwdC*0Q~Z; z#A>@ac(~9CHs5%>Qg)`Dv_z{o5vy-z*j2udGo{~&iFkb8W67SoiXQZ-e2DLHkrEe7 z88Nn141w}`%H?^keqr>;`Ntk$K^d~CcS`)&E%-5{!E$nJ;>(*P2s4mJ0cXM*VhFTf z`EA_IdQf>MM45g?WU(BHq#ep5nbJQH6AJ+*GR>-m)H+4H7q?fL?F@POGIL6@%z)M|Znm_9!(@LE;oPG^6T*K&{fke~ql)V?(;f;qyE`T9&KYkC{ z>-lDSu>qqPJ27Y@jsp<(IU8|)wa&y;Yd7AeG;DNPx{pDW20(g(5H&KL{B`6+ZDTbz zeBxG8-Z*+VL6hRe<|}&oG?1QOM5Hl?YLlP&?b(zETY? z=d#hhUGX@k_y|+8IH*FqJF8O>7zX-Flc~)K75#N7who(^WxFlqfek1G{qH)J(PXq^ z;EUKUUMe>#Ux1-%(d^9BsE?ZYgJ|j1M+n$nQQ;vH3Jzjm3_!SHbAud0Ur+DQWnrtD z;uBt;hk<=Dwp{G&?F~vxfK}Ye%L20^+Vw3u9a_6>c6EL)40ffj+zeL_#M{W_xgx$-FU`8h0IaK_o?g8uZJusWw%rMm zAucYa9U7ZXhX-9s(V0MS49~OE^NNVzslP)xRqT3ZT9MP>QMHa`CGGyz3b7jq)*g*F z^Jum-*udbKlOMu=)>A@%b8^j0Un4uQ;Y&`3|FQJOiXdt9R5(9G4`d|}d z^kN_>oi_td4j~EPnkTPyLK;Uc44F(i@hbz;OLBPeSobmeJWHj~$Is4C#*BjBC$*oj zmH!@av)5`kk(#f-K)%+ zPJ>H>=%k{eLXWZJ%|*y1iC5Ha(UquVf&rOp(>0Ak`|4 zv~Co2eLZ}fET|!4EHD~b5V@%IUGm7hvL_qu)>`7@u1PDiHl1#(jr^xnUQQuU)IH{< zk7WPh$+G;Itv*9;q~jz~^4q(+uUZ22c*R92BTD78*+Z2J5;nQWnBKA4rHDyr!J~YJ zhMv}BU!(lEV*xr(R+WAA1>#g!-=a66^Xe#MZdC|GMIUF4D*OD&O#A%RmKGY#T~QHV zS((KIvo%gPi8l6jc5+^04*Iewu9qjqcU(9@*12vp>{`+KsGzEju|q@_WIw-$W*qtBiXI*pnZp^+vicyykv=!3tyF0uJO1gPQna`Q3@rkQoz|UuJ4R$*{ z7&|Qb!=cEah8puEw?0n`%LRppX$()Un&fnuR(tRFiaM*+dLLdBrFV>7*2{sx@P!H>KJ2Eepd_r7^;ix-w6zlB`}&ZCp?C#E`YOQC$W|)K%JhneypsCW zz-+EWNIC9h#B}fr>Ln4d4Z%EBt)2KqW87%JIlK{%gh*-CbhNRqVkhA1f_EDU-i9G_UK1QGxSqx=XA2gy%=_G45E!{(6g z)KVb5CGtkXF35lmF@-LY4syb*g6R$w6~=twHy8$q4`>XbCOfA4PU=*$)W!(R5|v^I zA^2}t%EAb$*kjB(MMx|no#Q!`3LdPbVFz#2(f2mun9BrxiYjrFNFh0K!xoLbz6$}q z2Qkj#4@|qT@PH`iIwHW!Y+9H7Pc(7xnG>Wg`GqNNm>~lHTR8~%o!Vo*1wgZ=Mzm} zv?nE8jG!;_4Ruk2i}0n$jFcxLW}(cBCZ@>wm?g9!h;4oB)H+pf3jgPtGjX+EfeBO4 z)QTe6bf@BNPmTNU-f$Fb*s$%cnv%kqgoN5-wcKZUNZTUlJun9XK@1ZUkKm%#t28S- zm%GLM(lG4n+=>&FP_^A(nk&ptP?Js!Ev z+Hx*V_Up+@sHTPEb0Kg#b$u8tCI%0T*oY@C7{*0Cx2kFVLz!bw)@x!`x4yjft|R$o zaF_XtSZC$?H?nR1R3$54G}kB*XNfri;o?tx)({zMEgVJ(eD913x==Q-KV13GTH&9) zo$4a=ly0q)^+N={^BWu9mhr=3I4*I zOt-v%ddOcLyqESxj0yw8e$Qy}?mMO(=rcB0B@qQo{kljfpOpzm#l?NYBf~HzY--UB zf%xt%u$1=kbI4wWMH_Q{M)Cyd0wd!Z0Jj{+$T|eMy11N)i)kMR4?vNSv#w+NJ@LJ( zuTLcionpT#kt#B#~LYPjQtT`YpY zb8>>M`wI$$pPe_zIVL4Vm=6222u>FH)`oG%yw+Su2ZFWt{vjH>h1I*K@>GWvJdMt# zYm}pSB_-T$Ip%ahJ(cD$#b^H3tY_7xL25^7 zfGSN(Q&V202V}|}OAKymbV5E(3-uVtOC&*1!cORdH+v|(>wxX9Y(Qu!+0S+ix(VD$ zC~+{!QjzdlrtWw|?ic9uakbV5AN=*q05HMN$UO$yda6wuSDRj=kxG31H2J+*(xxB_ zC}nX%e48IC?3+#}o;-~?sigbVeM{~ofeR#`sct^C=<}Diyi+^O6bh6TWgS%eM=I9ri0gS*K^YqoJ6yVl|{PUR) z*QEgWRLDWMQ*Bzk5Wf(|uErqj^DCtVzGG|}F8mm90Q^Gz+M)HWTxXtO3JN0fgarlR zqSJ^DtTtN25g9<^l6$pmpB&vYB6>yMJD{jCb2aO>y~P~PZ{JX3MGNrjYEB_f2(xFe z%ameLAo3GGCm(5Fa;^A{?&l){-b#1ZCV?BUliK!YWNz6#_T4XBGDP`XDqoB`xB-OtqEkgdBk!#=sk&S49Q>U$Ol9(|Scp_+0dJg0)_rMjY19t&bk+1oOE9t7@5~m0daMXD% z0oKA^zYbD{?|WVxSLp587`?)APCad9MP}IzvP+rX@eSV*5!d{}U0zI1Zs!V9aOS)E zgi)!l^&1vgL#+B)_wB>US=#UvwB6$~WE;m?YKp`WGzs;MdJI$*yY}o{uIc3+f$c)X zfxLauXRpfPsnR8REW9sE{r!6B?v=%xS>;y-BuH!@DSEFxiQ=?^XZU+4VH1slt##F+ ztEygW7;69*2_RGN<&1-a8O?8coXy(qMhV-OrvdMgjX3DbYKJT5a0UI0ngoH3TUX@!?Ol*^EXI|p8 zjW`W+anTlmJD(`-vgkR_zm%+7uB)L`IeqlFdz^J2aS(%zK75#QtymlrWu?45{~S{H zLLRz(n=y28$j-;CPxJh*(FiS~SFDCqUG>5*udni-HD$Ezd$iIwfVD&y;9V`(@J$?q z!yh~r$eS)h08Am5_yf#=abi>PetPpPDit(N42dKf)_=ucpRXa45##&pON?T_t)uKp z(N-xC*9;$;|I>Ekg`TM?wkOr9B-KaeA{0*Jcn-wF5U6+_PtfpM+xKJx4z=T6GEAZP z`*e8gZ(W(r>NGa{A1ymre2j@`9G#q*S^oKZm8bvQ<6LfQ6tCXZU6X+g=HGn^iutv8 zk|}%&=OH#a%0q7>{^|DFe} z7Gy!e#;=U#y&Q3b!8zw(^@9f)|D{1nR&*zYME)x#k5IpKA|m2H