From c490a5390c2f7c3658ba28f04c7d76bdcfd8e685 Mon Sep 17 00:00:00 2001 From: Neythen Date: Wed, 14 Jul 2021 18:02:54 +0100 Subject: [PATCH] news lag fixes and professional demo added to server --- csv/crypto.csv | 6 +- csv/currency.json | 2 +- csv/current_weather.json | 2 +- csv/daily_weather.json | 2 +- csv/news.csv | 40 +- csv/settings.csv | 2 +- csv/tickers.csv | 6 +- display_images/crypto.ppm | Bin 62318 -> 60398 bytes display_images/daily_weather.ppm | Bin 71822 -> 71822 bytes display_images/display_gif.gif | Bin 0 -> 2978 bytes display_images/display_gif.ppm | Bin display_images/forex.ppm | Bin 143247 -> 143247 bytes display_images/news.ppm | Bin 1808080 -> 1077616 bytes display_images/stocks.ppm | Bin 81710 -> 81710 bytes display_images/today_weather.ppm | Bin 50702 -> 50702 bytes display_images/user_gif.ppm | Bin 3019 -> 747 bytes .../small_feature_titles/crypto.png | Bin 0 -> 277 bytes feature_titles/small_feature_titles/forex.png | Bin 0 -> 302 bytes feature_titles/small_feature_titles/gifs.png | Bin 0 -> 255 bytes .../small_feature_titles/images.png | Bin 0 -> 377 bytes .../small_feature_titles/message.png | Bin 0 -> 320 bytes feature_titles/small_feature_titles/news.png | Bin 0 -> 292 bytes .../small_feature_titles/stocks.png | Bin 0 -> 305 bytes .../small_feature_titles/weather.png | Bin 0 -> 393 bytes server.py | 26 +- setup.sh | 1 + stockTicker.py | 370 ++++++++---------- templates/index.html | 1 + 28 files changed, 196 insertions(+), 262 deletions(-) create mode 100644 display_images/display_gif.gif mode change 100755 => 100644 display_images/display_gif.ppm mode change 100755 => 100644 display_images/user_gif.ppm create mode 100644 feature_titles/small_feature_titles/crypto.png create mode 100644 feature_titles/small_feature_titles/forex.png create mode 100644 feature_titles/small_feature_titles/gifs.png create mode 100644 feature_titles/small_feature_titles/images.png create mode 100644 feature_titles/small_feature_titles/message.png create mode 100644 feature_titles/small_feature_titles/news.png create mode 100644 feature_titles/small_feature_titles/stocks.png create mode 100644 feature_titles/small_feature_titles/weather.png diff --git a/csv/crypto.csv b/csv/crypto.csv index cb6b00c..433aab3 100644 --- a/csv/crypto.csv +++ b/csv/crypto.csv @@ -1,4 +1,4 @@ symbol,name,base,current,24hr change -BTC,bitcoin,usd,32537,-2.3240271926474465 -ETH,ethereum,gbp,1416.58,-4.239934826025793 -DOGE,dogecoin,usd,0.198075,-3.4900700142218035 +BTC,bitcoin,usd,32927,0.1348056422318777 +ETH,ethereum,gbp,1447.6,0.44060897841839514 +DOGE,dogecoin,usd,0.202152,0.7090173677844843 diff --git a/csv/currency.json b/csv/currency.json index 3dfeda3..4d10993 100644 --- a/csv/currency.json +++ b/csv/currency.json @@ -1 +1 @@ -["USD", {"AUD": [1.3374, 1.3405], "CAD": [1.2481, 1.2498], "CHF": [0.91667, 0.91563], "EUR": [0.84431, 0.84374], "GBP": [0.72204, 0.72199], "JPY": [110.22, 110.15], "NZD": [1.4337, 1.436]}] \ No newline at end of file +["USD", {"AUD": [1.3391, 1.3374], "CAD": [1.2472, 1.2481], "CHF": [0.91771, 0.91667], "EUR": [0.8466, 0.84431], "GBP": [0.72094, 0.72204], "JPY": [110.31, 110.22], "NZD": [1.4239, 1.4337]}] \ No newline at end of file diff --git a/csv/current_weather.json b/csv/current_weather.json index 65c8b9b..29b156f 100644 --- a/csv/current_weather.json +++ b/csv/current_weather.json @@ -1 +1 @@ -[{"main_weather": "Clouds", "description": "overcast clouds", "temp": 29.14, "min_temp": 29.07, "max_temp": 30.95, "feels_like": 35.13, "humidity": 80, "clouds": 89, "wind_speed": 0.89, "wind_direction": 135, "visibility": 10000, "uv": 0, "rain_chance": 0}, {"main_weather": "Clouds", "description": "scattered clouds", "temp": 20.47, "min_temp": 14.03, "max_temp": 22.37, "feels_like": 20.48, "humidity": 73, "clouds": 40, "wind_speed": 4.12, "wind_direction": 350, "visibility": 10000, "uv": 0.18, "rain_chance": 0.62}] \ No newline at end of file +[{"main_weather": "Clouds", "description": "few clouds", "temp": 29.76, "min_temp": 28.24, "max_temp": 30.39, "feels_like": 36.76, "humidity": 80, "clouds": 14, "wind_speed": 0.45, "wind_direction": 255, "visibility": 10000, "uv": 0, "rain_chance": 0}, {"main_weather": "Clouds", "description": "few clouds", "temp": 23.92, "min_temp": 14.67, "max_temp": 23.92, "feels_like": 24.04, "humidity": 64, "clouds": 20, "wind_speed": 0.89, "wind_direction": 284, "visibility": 10000, "uv": 0.8, "rain_chance": 0}] \ No newline at end of file diff --git a/csv/daily_weather.json b/csv/daily_weather.json index bda5fea..854fee4 100644 --- a/csv/daily_weather.json +++ b/csv/daily_weather.json @@ -1 +1 @@ -[[{"main_weather": "Clouds", "description": "few clouds", "min_temp": 29.07, "max_temp": 30.95}, {"main_weather": "Rain", "description": "light rain", "min_temp": 28.62, "max_temp": 30.79}, {"main_weather": "Rain", "description": "light rain", "min_temp": 29.02, "max_temp": 30.91}, {"main_weather": "Rain", "description": "light rain", "min_temp": 29.06, "max_temp": 30.42}, {"main_weather": "Rain", "description": "moderate rain", "min_temp": 27, "max_temp": 28.33}, {"main_weather": "Rain", "description": "light rain", "min_temp": 27.13, "max_temp": 29.29}, {"main_weather": "Rain", "description": "light rain", "min_temp": 28.39, "max_temp": 29.93}, {"main_weather": "Rain", "description": "light rain", "min_temp": 28.89, "max_temp": 31.24}], [{"main_weather": "Rain", "description": "light rain", "min_temp": 14.03, "max_temp": 22.37}, {"main_weather": "Clouds", "description": "broken clouds", "min_temp": 14.6, "max_temp": 22.64}, {"main_weather": "Clouds", "description": "broken clouds", "min_temp": 14.84, "max_temp": 22.03}, {"main_weather": "Clear", "description": "clear sky", "min_temp": 12.38, "max_temp": 24.02}, {"main_weather": "Clear", "description": "clear sky", "min_temp": 14.95, "max_temp": 26.2}, {"main_weather": "Clear", "description": "clear sky", "min_temp": 15.51, "max_temp": 27.33}, {"main_weather": "Clear", "description": "clear sky", "min_temp": 16.25, "max_temp": 25.9}, {"main_weather": "Clear", "description": "clear sky", "min_temp": 14.61, "max_temp": 23.59}]] \ No newline at end of file +[[{"main_weather": "Rain", "description": "light rain", "min_temp": 28.24, "max_temp": 30.39}, {"main_weather": "Rain", "description": "moderate rain", "min_temp": 27.95, "max_temp": 30.09}, {"main_weather": "Rain", "description": "light rain", "min_temp": 27.4, "max_temp": 29.06}, {"main_weather": "Rain", "description": "light rain", "min_temp": 27.65, "max_temp": 29.11}, {"main_weather": "Rain", "description": "moderate rain", "min_temp": 27.62, "max_temp": 28.55}, {"main_weather": "Rain", "description": "light rain", "min_temp": 27.71, "max_temp": 29.87}, {"main_weather": "Rain", "description": "light rain", "min_temp": 28.26, "max_temp": 31.54}, {"main_weather": "Rain", "description": "light rain", "min_temp": 29.41, "max_temp": 31.81}], [{"main_weather": "Clouds", "description": "scattered clouds", "min_temp": 14.67, "max_temp": 23.92}, {"main_weather": "Clouds", "description": "scattered clouds", "min_temp": 14.59, "max_temp": 22.45}, {"main_weather": "Clear", "description": "clear sky", "min_temp": 12.66, "max_temp": 25.26}, {"main_weather": "Clear", "description": "clear sky", "min_temp": 14.87, "max_temp": 26.39}, {"main_weather": "Clear", "description": "clear sky", "min_temp": 16.48, "max_temp": 28.14}, {"main_weather": "Clear", "description": "clear sky", "min_temp": 18.46, "max_temp": 29.05}, {"main_weather": "Clouds", "description": "overcast clouds", "min_temp": 15.76, "max_temp": 21.21}, {"main_weather": "Clear", "description": "clear sky", "min_temp": 12.81, "max_temp": 22.64}]] \ No newline at end of file diff --git a/csv/news.csv b/csv/news.csv index 5e9e81c..3afcfea 100644 --- a/csv/news.csv +++ b/csv/news.csv @@ -1,21 +1,21 @@ headline,source,date,time -BREAKING: Senate okays 20-year jail for candidates snatching ballot materials - The Punch,The Punch,2021-07-13,16:35:23Z -The rat's whiskers: Multidisciplinary research reveals how we sense texture: Mathematicians and neuroscientists achieve breakthrough in understanding how whiskers 'amplify' texture - Science Daily,Science Daily,2021-07-13,16:30:30Z -2 officers injured and homicide suspect dead in shooting near Baltimore mall^ police say - CNN ,CNN,2021-07-13,16:25:00Z -Elon Musk Returns to Court to Defend Tesla’s SolarCity Purchase - The Wall Street Journal,The Wall Street Journal,2021-07-13,16:25:00Z -INEC: Fayose^ others commend Senate on Onochie’s rejection - Punch Newspapers,The Punch,2021-07-13,16:22:09Z -Emmy Nominations: ‘The Crown’^ ‘The Mandalorian’ Top List; HBO/HBO Max Edges Netflix For Top Spot – Full List Of Nominees - Deadline,Deadline,2021-07-13,16:22:00Z -Foreign aid: Boris Johnson sees off Tory rebellion over cut to overseas aid budget - Sky News,Sky.com,2021-07-13,16:18:45Z -Emmys 2021: The Crown and The Mandalorian lead Emmy nominations - BBC News,BBC News,2021-07-13,16:08:37Z -Windows 11 is full of delightful detail - The Verge,The Verge,2021-07-13,16:06:34Z -The best pre-workout foods - Diet - IOL,IOL,2021-07-13,16:00:54Z -The hunt for wormholes: How scientists look for space-time tunnels - Space.com,Space.com,2021-07-13,16:00:50Z -Is a third dose of Covid-19 vaccines really needed to boost the immune response? - Scroll.in,Scroll.in,2021-07-13,16:00:00Z -OFW remittances post 2-digit growth in May - Philstar.com,Philippine Star,2021-07-13,16:00:00Z -COVID Cases In Parts Of Missouri And Arkansas Surge To Levels Not Seen Since Winter - NPR,NPR,2021-07-13,15:58:50Z -Rapper shot as many as 64 times as he walked out of Chicago jail - NBC News,NBC News,2021-07-13,15:51:12Z -Gene editing 'blocks virus transmission' in human cells - Guardian,Guardian Nigeria,2021-07-13,15:47:19Z -How Canada's athletes are training for what could be the hottest Olympics - CBC.ca,CBC News,2021-07-13,15:45:17Z -Biafra: Nnamdi Kanu in need of quick^ advanced medical attention – Lawyer - Daily Post Nigeria,Daily Post Nigeria,2021-07-13,15:45:00Z -COVID-19: UK reports 36^660 new coronavirus cases and 50 more deaths - Sky News,Sky.com,2021-07-13,15:45:00Z -Euro 2020: Uefa opens disciplinary proceedings against England after Italy final - The Independent,Independent,2021-07-13,15:43:15Z +Amazon rainforest now emitting more CO2 than it absorbs - The Guardian,The Guardian,2021-07-14,16:40:00Z +MI5 investigated rightwing terror suspect who was 13 years old - The Guardian,The Guardian,2021-07-14,16:26:00Z +Ottawa Public Health adds zero new COVID-19 cases for second day this week - CTV Edmonton,Ctvnews.ca,2021-07-14,16:25:24Z +Award-winning Classic Adventure Games Syberia I & II Are FREE For Keeps On GOG - Geek Culture,Geek Culture,2021-07-14,16:18:59Z +Solar radio signals could be used to monitor melting ice sheets - Phys.org,Phys.Org,2021-07-14,16:11:48Z +Baltimore officer charged with murder after stepson is found hidden in crawlspace - NBC News,NBC News,2021-07-14,16:03:41Z +Today at Apple tutorial videos being added to YouTube - htxt.africa,Htxt.co.za,2021-07-14,16:00:49Z +CRISPR stops coronavirus replication in human cells - Livescience.com,Live Science,2021-07-14,15:54:39Z +Tour de France 2021 Stage 17^ as it happened: Tadej Pogacar tightens GC grip after Carapaz bluff - Eurosport UK,Eurosport.co.uk,2021-07-14,15:52:00Z +Catt Sadler gets COVID despite being fully vaccinated: 'Delta is relentless' - Page Six,Page Six,2021-07-14,15:51:00Z +COVID-19 in B.C.: Another update on cases^ deaths^ outbreaks coming from health ministry - CTV News Vancouver,Ctvnews.ca,2021-07-14,15:50:48Z +UK records 42^000 Covid cases in worst day for six months - with 49 more deaths - The Mirror,Mirror Online,2021-07-14,15:46:49Z +EU unveils ambitious climate package as it cools on fossil fuels - CNN ,CNN,2021-07-14,15:45:00Z +COVID-19: UNILAG shuts hostels indefinitely^ reverts to virtual classes - Guardian,Guardian Nigeria,2021-07-14,15:43:00Z +Worten tem stock da Xbox Series X e oferece 3 meses de Xbox Game Pass - Eurogamer.pt,Eurogamer.pt,2021-07-14,15:41:00Z +Bolsonaro in hospital as hiccups persist for more than 10 days - The Guardian,The Guardian,2021-07-14,15:39:00Z +EIA Inventory Report Sends Oil Prices Higher - OilPrice.com,OilPrice.com,2021-07-14,15:33:00Z +Dani Dyer's boyfriend Sammy Kimmence jailed for scamming pensioners out of almost £34^000 - Sky News,Sky.com,2021-07-14,15:31:18Z +Aussie comedian claims his ‘simple maths’ accurately calculates daily NSW Covid-19 cases - NEWS.com.au,News.com.au,2021-07-14,15:29:31Z +Investment in space companies hit record $4.5 billion in the second quarter^ report says - CNBC,CNBC,2021-07-14,15:27:33Z diff --git a/csv/settings.csv b/csv/settings.csv index 2a9a10f..1701092 100644 --- a/csv/settings.csv +++ b/csv/settings.csv @@ -1,2 +1,2 @@ speed,brightness -f,9 \ No newline at end of file +s,0 \ No newline at end of file diff --git a/csv/tickers.csv b/csv/tickers.csv index 9fd0a07..c4aac3c 100644 --- a/csv/tickers.csv +++ b/csv/tickers.csv @@ -1,4 +1,4 @@ name,current,opening -MSFT,280.75,277.5 -NFLX,540.99,535.53 -GOOG,2628.34,2617.28 +MSFT,282.56,282.41 +NFLX,551.69,541.99 +GOOG,2646.92,2637.49 diff --git a/display_images/crypto.ppm b/display_images/crypto.ppm index a035a00b37b215732a9b23e148edc7ad59b22e07..aa9c3f4ebcf6ea40f7c64d3cb20bb1563ed883bb 100755 GIT binary patch delta 3314 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 LxOU*{-huxIM7kS^ literal 71822 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 AIsgCw diff --git a/display_images/display_gif.gif b/display_images/display_gif.gif new file mode 100644 index 0000000000000000000000000000000000000000..2819c9067759a54013bf1b0744d2e6349c62455a GIT binary patch literal 2978 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 literal 0 HcmV?d00001 diff --git a/display_images/display_gif.ppm b/display_images/display_gif.ppm old mode 100755 new mode 100644 diff --git a/display_images/forex.ppm b/display_images/forex.ppm index ca69342078c48d951a227cdcf164f6c77ab45376..4eb834209c914ddae40bddde3324467beadfa74c 100755 GIT binary patch delta 4488 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�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 literal 1808080 zcmeFVZIT5$t{gW0`&QvCSh5^ihPUuG=BOiWZH^9vxmXKv5@ zzyHsF{9ph5zyH_&`~Uo}|K&ga%YXZC|M9Qizls<5kN@xgxb@$~*#AXuPDjzd|M!1^ zcksW9|Nn^%syf3S!;>W2`et_Wo;;TunBT|uHSh0swn5+dZ2wN%@Tc(R<##TAHamRA z;kf;V;fPNec7BC+vY)!|8|J?A-8Q%KcvaG?Z}_2n%MLGmNnVMuKdCc!JTK3>Z;EbS z&D#8Xbr{!80yAvr4QSJcAtP*Yt~yVFwd{&6L;qBH0;b>c;0_z zWakI;T`$HrJ^ri3<&)3S{~zP~>Tr$C5utzK1wun}?8|$#sr^ZJynz2W?r82i=jYBl z`-z`b|Hdso`-VRKzL&hO`P93;f5THZeRGfh6!5*eDuM>CX8&pa{;hiTQ*ZUotv>Y{ zn{%tjbe_wZVeB4fHvftq#(AF<4;y*|I{iBOO${LL2Gz6g&(-Gn&gPZoOMXtg0KX^5 ze<0v@SpNOwlAGReem7o*@sY*$3+FF#Y2oF?mV-0v-C91gK=ANBj)UQ*ZmT$+{ z4f@kzhW(6DZlL1Xa}{$Z@ai;$t=KJb!;mr}~=XYZa!w)ns5Pk_8XD{)~8}7|-Q^WEz z`+MYV7x}~c@XtuE*{kX|h9itq^H-35i{(}ON9fh%p}*ko1^&q|F#n&~dFRY~o^6|% zc!#I@FQxl#r_IWoz3JxP$;0??+hId*KtKPm7{l;dFx}}1eYvV#n zCkDeGKF+@_zY=4AocW%skEzYdTpZX7vSF( z!(q=}bu)WHyg7P`4a%^(kNZDn_SNBrnA!U4BNO%Fmv+#&Gi$r8rP3Xa+#+qhL>|1+{9GQ&*cCDeZ-f+ea*`&aZsOv)jxwbe+n;rCB2a{f9A*cS1)qY@70mt zgqwEzt3S%$y@oIF+TW-&|keC^Nc<23|A?`>JR^3fL}m=qgb8C zzu&s~w_@iz-%YnthHvo(>>Kizx7ysls^t-X9&i5hZWtdv;IN@Lg#P|#TB-Vr#0;kx z`)Fo36&7ob+|bxwBJsA2_t)b#$NQbnH1Ou>#Gye``U1*m>d!Mr9$}&6naEfC`1~mr z9^@mp<82x5FZ00{IC~L1h2BURn2&>-F15MmJGZJXr9Uras_ft6_3q3#<}beh^PKAc z9NkxWhZJv)KxcJ982%XGAL1Xo+CS<#{CnG9+?>7Pr=~CP+W(|9Kl-yfpKVJY`5Cf# zv3`Ln_-9_Gzy2w;dd5@zX^;MlnBkQSHw~OhZGlw3G9j{g-27W;7$2@TZ0HT4-=FL5 zM+-v_9=~_<@CfNeQj&vi7}_{8gO3-^4E=e2FW@ims$aiXE%VH8h+nz7c&|RQVLIgv zi&c-7F1$eY|8U<|hbwK4K)*heGB6(pU;3-^DV^RhO_2MWhD(x;V}`NUDsySvpEvvaRIk*l{p0l6 zUbW_GrGDs7{k^~+eu4S_Q1E}g7>CE1FATx=AD_9}GgH=HyZX7`x3e}Yvv!v%wfQ&L zFka0CKWyj?=;0q0V;DXNhWj)><(=%>m30|qhRwsZhYf$yu<(-4zr*im_xzg=Cw|3m z&hQq0$-w_HVSMC{#|x{ij{jagwt00U=6M;$>{-Ug3&SRN_lI$Ie12jWstY)ytL`&A zi}70XeS5C$DA3w{YS;$`I6~YDS70F6`I5G$cVJ08npTM>M))z!{o4`H*l5X^rk7P z*>^GzFMr>-`gMau(bNp(@3%~St=C}5H zUO;~*m08>NRL|P^JGc7OYpl)XH)L#WezY%|*-)vQe?<@DSf&EQ zhTec$zAQ)ulQs>mF*;6}Q_b@|VTW*>@A*0H1^D$C{{tTR1!m^}~UutqrEx6EUM?z=+OoL(&@tA?6He zm2--5<^L}JyKWS=?f)FzSBF2!%@NukF6ag)?F&EK7{kDT4UE~dfDcwJO#iOP@2&3p zd0l#2HZ#6&z3*-2_hEeNjUE{Ez=&I)=pS1iesJM<-?Qut@~nNa-cB1z{utQ&J8Bpo zKG(3JH=zHWKiuChA$~w_0R1mXs;1+zwf7RtDxxu+Y2^ z*<5lzzO(aAc46~}$1QBA5#5=Y3ZrLefYU&4u2kmH#w24HDxhX%s_YJbb;?!$&TduK zcd#!EXSd=u#y5>aZ3WUDD)Sxu^9%4q#&_KAfzBgW=u3Jvz2ib8?Kw{JVvI3}Nyadw zz@7GmI-f=42kZsHyM^P~CrZmx^6Xr1>;H%OzB=4_a|HSydofJ>OW@S&aS!7!daFxo zUowBuBfN7}er?9SEi;TK@3Ih?Y<}2w9}0uc0$!Ujra0M1?raPuq3s}O zCLWx^RXmX~d;Tz9xN;gv$s_Nk&B`1ZWF-sD3z1XX-qiEJjpj$pJ8yc8U+tH^0RQGN z_Ukai7?)*|F$@)OvwdN>6h~?v^nc9ktHVt;N1$IHN*S0p!F|nF7xPW*n+AI|jXXf| z>oJ}j-A8(La)jErma#f}W+A%}IleOTreb1EC>;iLN^TINJIP&Iq=G_>d{c+saJilkyAspv>Ug)gu z!aQTULO9}5{eNZcs~A*)%@JCg-ZUjOyTIJnys%7&@NSHQ?GGG}-0n!psmIi1lsPr) z*K_L&9RI=X7jgsRTi@YV{!e&;xBWWtK8*hfKMUM(^RKL79D^z_Z0HSI`$a#>Cs*B> zwUgB!(0vT=$#^)C&5Vb^vxcjq-EUuAgR2;;^T&Ml1^S;(uYPv(;q;y5ce2C9CJk@c zVRF?;+uys<Blk1ybb_QfX0N1!h4<9zOCWj2~WO zew;3;%zWFoJN@qV#YOlv7@J}8IQ)xr(|}bgaH_w*Z#DgU`EcLwy~sa#bN(SR);H-@ z_5T>Wz{{U5T`whZqpRR-+tul({Co?>!+th1wqQ68tA2*(AI*P8_Qm7#Pp!g3GYl2z z=T@m5e)DgkVSKpTu%S0_|M2I+=67Pg!aFyd+$z0DN^0SxO@kG4ys#Sd<9{!pFYu~g zzgI1zZ*?EjU%XfE+p22jeHd5%oA|p&_y2I;SBKBCIRgFqP|Co37Vsd(XQvF?7Dg{b zhHESvCYPDCEwAwl{>c~MUmM1sy6hWvxasbbSDUoilJm~9H@a``ea&ZI;9whHnK6&3 zc=r4-zY=4689p+`qcO=ChO=Pvue)Js>|=br*&_b|iQ)No9hNm8qPdh_*&ebvKl zjMaIG(JE#bd#y5;#{F$GKMrGkI#v6ZVL#)^W{+sFANo^&FYvctVE#W5GtR&LpR$=3 z*#B*LX3D~zyclDv3de==D&o!dh2g$gK4SB4uwfh*slc$IH=y?Jhr*z%fEQzo9w!^g zosA)t(0>(Zn=*YT`x*DCe}ei&ukl5z{(f`*2`})rJ3jCqkgprT3p4)s&+fiuZffRQ z#t*#Y!{czHbZ$x_as(V1airwPb-3i6Tk(c3!vFd2e+~aVy>9z01IV0UV zcc*+OJ9F_hPr6k~uJwnMHY*b%M~>B$&A(TN@!|5rhTfq4=}l8ovmarGyA2Iz*Pa|V zY2)1%A{_q+_MPqP)5CFcrRL&|#1n^u(w>wYR?Qf8n)__8&g}N{EWf}Xe*EKCJ6^c_ zQ~L$)`&r!Ae8*4Cx3#aAhvUq|>b?~})4A^%P9GYY9d@!!?Hi;&e6{)Kz3CB#wL?R7 zh2>yXxXDlMGilpgW-|V%WoG79o{FEm@=dlQTOBF6>4H}Kbk;L^yso{?vN?+(u=I@#I4-M7()9I9%+$=Hck$2EB_i!=Ve2VdqT-T~(Rk=swb` zp}hY;#`o1QPLG=-P^h<72Id98ZH&E&8O9itl2G3Xj_iD-WZ`|@KlgzRcScNRCv6Kq z!EcG2dVy0t`fdx&3lW_=&)hw3*grJP-{pIq;Ss`d@?K4%du1%?g10kwQtkP0Sk8eC(1oP9kWj%%GpWER3;5F zxe(#FVl7n0QYqFlp6s zQa4!`ainBn?ph>l+y6PbuMU^o9HIT;f^KlqzVNe+F$@5zDg*N+aH{9h(3hL5H>voS zU*{{Bt%Ix%4 z*_|n#wJ*wd+EDVxz~A~+Py-`o9*j-I0p0Pap4vVk;x_B*?iwt>9b6Zo3!bO<)Bu9(N1O< zTckg#0aF}sobgZ%=5QR&x$nQ~@7vZ?-+>?J>Q=p>4>$Urg}zI-NYGp+82iTEFwKP zUf7TOl&aTM=G1O!b4p@jufjG1`u}0RuMT(E9D)9WZ-UNC;NuIV+fHsZX-h{i8G6Ez zoy+)+PG06x|0Od|`Qe2Z;MZpCRm?D+9JCObY<}2wT+TmtD6?Z znMm(pm2o;w$%V*%$>z{L-mAL&DJGqpl1C@P5UpP}K7m;A`knTxz?FHp6KXdClI%np(XJ>kqt@!z^hRz2@40re$7G6MqaLO#y4kJ26nPJI} zp&!?){oG60{tw-KwO`fL%@OF=TQkEL5dc+{f%$pREYnD~XRkhgkvC6Vdn-*TGk@ze zo05~AO}3FH%b&MZJ6HUr4Ud%YL@%_jli|qD_h5YlW*9d+_qJYLu5E&^k~aT&H;fN2 zJ8b9;=+~bkGmJgL3}aQB5hhJ$QNmy+%RL{#y8PxETByvm|@In|L5qwid8GH zIRdrS1!4GOK<|6?g8L0uC;t5W0{Z^OumRYel?qz`+JDs${9k$;zQbqlm9CeP%X^+} z>({t%7B@4#x({a=H$9WKrs0Fq!t#BjSC8M+$JrOnyZ~b}^hY(IQ-N367g8t(e+q2= zEi{Y|_Z&9#2K4JgDFgFsLArBF`V|^!(s0vLq>H7bE--1+V8t9StOiy5#~0AWUbvDj zsmy(Azq9%HR>uqVXY@{{zj&`cd?Q^(nP*l?=ceS^KK(!3_toK6n4)#U=r?yJxrX*HPL5PH78hMg@ z+dh}>es+0oV|;0)HS@x_g~-}&!_<2=8LkS$r*=-~rX*I~0XH@GwY_@lb?zIzvv!*O zqE*xV&yxBY$_yv=kzO5^t3eBu(bPP%*5)buVo=(Xl8D>~F3s)#NZwb6*W4U|e!Vp_ zj6K2(V^y0GCQW8h5`f3GWWPBK;-ijZhH<(ESA7u<_d2q~4a!58?w|G~%HubTgH44rIXyuaj28qQv-YODCqK7ww=4CAwVdb52|d*3V{vH3UH zFpi5`Lw*Vr*PqZ?^v;%2-W!L^Lx zPf4gd;J)U5t8{Kk_B~hCBO{KKT-|)=KfBf0w&C*68UFL%|MGwPNW=CoFn$DsqnnFw z|36#y)ne@bqBlpNDE!d-qovru7=;Yjz&P~i5hWqzypt?d7(GV-PdQR}spR?T&rh6r z5Zx*;d}KUR{uQ2uOZAanZQf)#*mS-}N^h5vy7QzB!K;1*Uklc5G?|*ToqC)jM%ZBe%R0(v_HLRN^15a z%y74%;q2Oz<0fsq+d_onAHlw}eSLa3POj8kyped~a8TNllEbPQ!%lOb?bVsxexBtQ z_`{EX{A$Mwmw#%%;C(-f`nONPo;%7SdJ;UikL$kw9wyAxC^oOrD z|GYOn!mxH|sIIUatO_^z$$chmo6AhbKef!v+{#n&lUKgUc4Vs~B{yBrYM)&1nOW(S zl>8g7I)97FN0_wn+=U3o@5Y~6ub8hog@hj@;!)$?>bDg}SOT zX^_c2(yQEKxc@)K_th{?kDDV_BP9zregE7CHryF8 znVqyP`~<%xa_R+6_2|1TG%rMS?mTn%xMBa$Fn^ctb%sX>$H{v&sYdehpGuB_ifLpckFye=lpBzOy9{?8)~OARo3~d{=ThJ7p5#ks_B8>Y2L|(HT-y_ z@JI=-H(A)&8i@y8!rH0KrNT+`GgBs)IcrO=mXb&2YO^xKL4BlG)AE_fj3+JMB#+EJ zQnGoG`FPm2|8sO-9WJ&xLi@u7-QXlk6`m|q+XBNoEX4n0qWy?;Wv+J4_$Q}K+R}+T*|hL1d3L>F+t6_Kb~|mlsxmwMRd#2JXSsoKHSwRu zZ~h%Mj1S*)*w7o$|IQ!o1HXhfU3^$OG~h?`9? z=7VrNG6E$Fw^)c^To2yaeBV~-YfO%twCRZDpjLs=PG%Teq(7Q=qKS8ZZ%=+))>E(A|Sj^C(X?Cx=Q_v`JB zOzcZ~RaY`*GBRn?5oMH(h*KJ2ZUDONNW=94}qj z2k|(@m#QYs{U0;?>Tr$C5$M;4QpU_FiIPchq-1hdWy1~t>;wtG>LlLDHX}A``*^Q5 zTlLbZ+J&Az(yQsEW+J_(SJRz~ z>=?#}YYZEDgZ8KInUb1aVD4-7W$x}@xbjCLcfZ3<|4w%PF`t>z@1r{?V+|?UH@mtV zoGI@;>1ZXHVa(E*a|HVJ*32+Q1VB|~V16Dn%QTYh*{jcAU&J}-Y!y_d;(F^VCWH_?(Jy;)s8OF`dy{%W5Yn$M! zq|JZc4dcVh4jXy{`um@ws?0FAfBvTvqWH9gK)JyR3<+V_mox7iH^G&pKhMBpA z_t=*Q;fMwu2kEt7ZD&p~UbyC^IGY&{=Uy@o+umUK>Kh$j{&?ZlAMx=8ypU@d&#ZUV z@11L@nSFLVlUq&Nb~c&M>N3h$TT0GMSq{#WANTmSymN(p^o-j7Il8Y7A7OI@`uVbY zec1jC(EDD!+J3{;i9bKTz~uY8ZPI+Hf1#86zXiYin(2Bex%}W~+xj)`o3+;5r+O7P zowULKDzLD8AL-TOclU8Tw8A!;B|To+t)F|TYSO&( zzgHto8g6=@bg`7w1tx78teE44)u4+1_yW4v3s=%5mAP;2cQzm2>Ug34jNZxg7w^@F zZ}gsJ(oIrw?TPw-xbLgOtu{xXU*AL-m=A(yrpzq7u*pJXW|Q7i4XyalHfakfJ1z&c z>MNLA@4HjJlU;uKj|^?L-QQ=wp;>Q7np|wsW}D1A*VeB3D}HSXr}mrshF;}OuHv<3 zO(|oWq~z5N7yO@^dwkV!k^Zq=cl~QdB;VxlNrWW zU!%|VYWS%Q%~yB(`7gb|@BJ@5*WKp%AIH$i2F7<^;j#X+m#W$-{;_MOgZiy{H7%SZ zy_x$NPnKM=ZT<~5j1QL?HuMJc-~CV+bP4EIf#D-#n-Y%7uz~TV4b`kw%4mw2tA5V@ zZJfSLN*;NKo#sBxflr7rzMzHUUnaIao^nXBezbR*47 z*^E~shP6XO)jZ_yYwky_?d4Zf1CLvEe?;%iPzz zywWh}JL`8CWJ7cDM&gDcKGicEv~T#LRrfFZT@8QuM|1pY#|yvfSLIdP-uJV(ulbG# z^lkM!KdZWL#m_hII6pgmXYU_~RTb z{2RB}d5}{taH>b|a$mE~T4V0s@b3P#TfZ$8UMUZhLKom+kC zH5TUf59lg;6f3j&SM)GGyymc>H=v)d22#PKO@nKUkJIm38>eiu=5c2kj6PC=HUs;G`whI0 zW9?K%Q~S&_Q}*{9)#T z?VRyHFvUj9Z1Oie54`7N52bfe=8k1{rg)Yc7~iq&H+F9R9W{&(-(=X(8_@sGAMW@5 z629|2@#9_tcBv+qUO6S3l6mRA=J_2OXa81Ba47Z7>9eHdaL|mwoAo=Bz3N%G#X{uj zR>%Fe^K$3I_q}`E9sSzL3}gE#^hY)D5AIU7HwU$!%R9j74g3wZ<44`OA92;+x2>uA zK3BKu{k>{C4-ISgs!|V+(={Gm;O=pE_uuq@{o1{%D;cv8NqZ`CtzT0!Otk~^-otH- z+4;l$3+THk(>KhkX>&@>cg{Qe|6#tb4ma5xf&Rx{3={tnIQ4p=Cmg@x#V+l9$@~@9 zfAf<4YxnB#UYqe@|6_(D7wJoS^|71&?Lj+_yp#Rgulmm0&HudSoijImbKCy@XK%;* zcr*7iX6Grq`FHX#KHPKI&>PTy_d{XOt$=UA*oP{^%cN>ba%vf;%_+G&f`j)p^OQH^ zg%?O8DS71L-mKpv<)LKZ77LLu^lirnZZtn)-ubp?eCIy@oc9bj-8o+RQTiYr$M{m! zq`CiNW?vnyu{i?$`cTTiyb11WURbPOrdJon?MF6O>f^n-y!@%!g`R~-f6bY~-qWl7 zbW=Cu-hZ{^s(*M3Hr!gyg91+Hrep{%AGw_Ia^X&J^Pe5V_;9yjLvPUj^hr}vvkT09 z&A!at{R>zANaXH!*y-QN&OhceQ~G^$2W9$(UOn5^&kAZfT1jRYb6fvkS^Fx_O7Z3h z?M!c)lA2v$?rZjCcKUa+3s3RE$dQ{KDLM5Bx{NZXW_?S~eJ^ldv%T%{^8Ld7hHv?u z+28Y>Z}rZt?)Yur`3b)Em3A(*klp+%YZxD{G;HV%+W*3zY_(Fw>!tRYomo5C{mtha z*7jUW&2KgDT-YRyD5=c+RzK&hFVO#JdiB=D_RDvcznZ=3pSj%~oilUYvopQQR{Z={ zKj&Y40sY-j=8n5RGo{(QU!Yf;+N)Ckhwi>Q+-GwH`t`+_VT=fXs>;CpD$wuQtFOAq z$Co+vRy#dA*{cuujMw@twOq0sTwe8#;O0N? zhVkLf!-n2~{{F|IYGC-t82tuPUP)!Rgz>zSQ!l~Cm)AmNcJ6+*%{S4`8D{1d-lN}{ z?BDa8de!QuR=wEHT+LQfzJ>ql8y#Q%c;VGwgX0T$A=fgVS?{XfJJ(V(`|Nn$xmAB7 z-C3Ewp;yng^|SU>-^gwx0+~dc5=_ z>*rponlx|zEi{Y|*BCbR2K0xY0{HI&S8s9E|JZBTVmfPb+ew@DSIqIkYS0()zc+d8 zhhU-hivJeJEvMJ_w$fGPCf)CKj1# zKI^IWtoSf}(iT#7Tn=j0S1|vy`}RMSx4p*xKKl**i!G~@i%r^Wjd|zV&Q*WKuTA09 zeskZ@tGvloywu%;R z-DUr+^fi>(obo{7*%51Pp5iRy%{P2F-v5!juMV%XIRgFtk3iMH@R2e44Wzu1%5X`F z(}uT_S}vC4QR z%RN2bZ`Ou>;y*|IqL=xiRsRXUKffQxeLv;3w_QtJy2aOx=ojwQOD}WP+>CCdnJJs` zYQ#;o)i~xqH9DP}lDzFcJ~HA+$^KnJ!`ZFQwuMzcbNtVL|I7Z(|H6?aknUuOvxNKq z*|M+Fs2pyNKq>#w8M~opR7I@;Rhg+UH>4#@q6C1|P!*0Iv2Wn}BM(ZQs13~s!k}?T zFuN!4cI>mN_6+y4GhKrXhB?cNg)E$ihahL+nFKtGvB#CEYSmdW%JVE&?TbP1Lt+)S zA*kZahh~CmvRs}@lUd&?-7VCj5FkzQVvRw|o$+|8ax)v4 zZ{i#QHosw{0APUXlKWi+1HdWuu<8+GkTswN*jRGR!H{LcFqmdFb&5%E1kype5~NhE z*7Fpr%rJHjGr$h)%RTH@LzUh9dvzGs4FfZ5=nbLGj<_jHAoXQngJb~Y5NNZ;xtZ0# zvoxG*hUK^ic?2`S=x1k`8>FD3%5D9TJ;8}ufXd*!s-fJEGhb9Gz%twe+a&4!CY4HF zj;wA1$pCK>g0KY-cn7Sq#Jpjc;Ryym!WLAd45X5g@B{-(p&v(N4ImD+VIT#7Y})MR zNeNXvqRE<#Rl^9PiVaX5u+(QmusL3x%T>sNtQh4z;yk|S0hkP$4Urz8a5xlB6wWX( z2QZVxN(Mr_KXOn9S(Xi41v3n+h9J!BLC^s6J?2ze8%A@R`kCpQ+3B6k0CNeCZnlCA zSujHo=3)v5Q46!Hfw!ZkP#9Eg2w4Of1P?C&iAl$h9IzosYA`cGRV|#Afq5Mo z;ur@I;@|;-p+6$!Aebu^W*C}ako<_C0XCo+WW^|tNDAP0U|+VW8VqJeP^F-Qk6-^7zYqMfwvTUCy1Z>Uu4um-r+FiIS|Y9xRgaCBf_1R21_q+z5q$dblqm@sSd z*w6J6_Hb>#6{mV9PYIYyc(mb03eJN^y+|nMtqilu67#^7!FjX6fCvC2m?3e{ROWlE zRTblWCd2ZjR7GFnVQ3DR950n7^vpAdU~`nmKr?I5z1G zl^UjmW0TUkA&aAyAR9b>gsQ>dhZ8(Em}`5_d0br}91OtKwf@DXikN_ZYFjd*WDaVLR0yLOk z8=xA{LRQrPHEq^5FbGziC{zPVQozlQVZ#v~NC1!wfCQ*i<{cyAfDNf+Bs{5sRl~uP z9zD`Dvy^sXD5`uAj%-MGP!d^8uRJKP41tFqpfRXq40Z!x8)^+GkNBl5_bB#3C(zLY8tOd4mu9bV1TM-WnexC`YBKq*bYiM zv-wx_Fh0Egu%S1g9~T6Zg2v{O8ok49%mH>%r)RPNYxR13c?g^15-KE zm5}10+yI=$RplO(r`g~PM~+}h;|Wr8tlBuj)0M9nG^cSU;pD0Y&t%!tR0T;lshFNu z)dxARDi|2TVs>N+ezjFh6G5|q5ND}ssCeGF@q~$foSB;jF|<-)XjU3ZSPxSWfn-2c zFae|~_ps!cvoj3)8TZ*q)op6FK`a@@XqaJu1ON%Mk-ACQlCW6Fbx&|Zz zs#Z*B=2?hvb6SoPL>TlcI~g}Am-w3oD}$LEsZlxQnCD)?X`K7HP0h>zr*T!e*)azV zR|fF?pQHOK2325lgx2DfSOTfQY#=!T+^fN6W-voA)9fC6(W%*rQQk^W2!Lh>;0*+6 z^H?=A@0bUHfsIwikPNV@+0;=3l!FjX6fQSR|oMO+= zz-GoAbj)glVdjS5ZzMP?PsMwXRl{kUdmw2rNWB4V7@fwClbDNUW*GDS0XI8C3RO75 zfCYviWX%r-S=1T;**M|hV5r3r9;5&u!R!)_FdzZ|$pAyCa00WSgyBZ{(t_CnO z%`k@%RW{fbj_E{@&0I(Z=I5e0jX-V6D+yUNGXsn`Y;OQqkCy@2>7+CEwvXu>; z2Gql9sA?qcfsM%?he2j$ro!IIYQ%r@s$1=AZ~<4(hzsyrc*9@8wBa|&h{=2ded1;FuOV5y(W&J<%DK(K)~ z5F|S`Doc(v-Y^_z8}nM*tK8FIt%aHUK^j0LH9$o~8At)ZnKrw*k~AC2?O0{uL*d_sj zsPZ6=FlZr5@T;w2(g;W{4-JqE1gSZOW^;l;ikrC{P8bjYUAoO5*s=C=F za{^!rQtkxLW_Vb249NiufwvF`CIh_o+Da5!&sr(cuKFbGhh#DoOxA4NqR(ssoDV5KoeJ~53=gb=ywUrfcFuu z@|Q<5?^xBIF;#;cX)vazB~T4;3G$ARhql7S#K$IWIQiYnbFNX|quD%E0D;kp*8d6>q_Gu91)!_#m_)>pXuUc@;~cq>?a&4P2WV z%nT0)d#qIzQ}Nud9##W(Gk<#nt4+#nmBD%Qz);n~Ss9pjj7|V}zyLrRW`najdUL8` zr~x%pYA6gx?O}#Hs~~$cYfNQevtmw#(Ky00j0XdPsA2=F%=eg6S8L60Z1<85-219@3pyA#OHKan&RWrkepabwBhzJ0xxB+q4SnYA2g=!%5 zu;jQg1ZjBWayB!c4rOz|Gk)&pxMl-W1yKTnF(C_21Ja0+%2b`|tQhC*8>+x-(439R zQrgM!U|`95g38T~gP}UY%niZZNakeKaLB@-yfYpTs*=it2##<%urDM4NIR;vc@JvA zDDNK3g_E-tMhZZkkPN6=F`hCNadkpUn;VrS$0%i&K@BpD4yn!I`(QVA!hljIx zXI>jYHiSJJ$(<+(!5KA;7}*TPIC#9I|3i0QtyTrUIRZVnV9KZpn*pc_*p}iD!I8~Q zs$@($9oZ^~RApe^F**T)C-6K15M)1avTi(F~rSmj7QMMp3qiF$imMIrdNi%bpaY z87ectmKLE@Mf(M3_R~5Dj3?pu+Y?TT> z4AlZDk9eb|9+1skNHFshR+;ZHsuXyzsSOc3@+=O*$p*vhVF~`qz~+NE%*BR20xBjl z!=gu#G&@P&k|N=N~i2SES?gX%nIg8>aG;969<6GwQo0g?e$ znRm?U3=Rz(36dRIZLm8%ZZ-gpIEgPLm{m%v;73CbP^-Zp*|D#JiYhcfasY!J83&sl zQ3wz`;0>r`j2jrRt&g*+{oJFt$p&e@*@L)C8su`_s$$R#L&cyUP5_OV6v%M&EIJLK z4FIaP!BYWbL$mXoVun-9v%kmOz)t3`Hurw07{PN5gEtT)Ke9nRjjB?JvmqTlB&!DI z7lwL#IQ^6X;}qBkkOBL2R939w~Q!^MrRB?(`=7H1H zQ03ab0ag2;AEauR?T;F1e$TdAv5np zRRgq5&F;Y$24qzVp31;H+9tEGDL^fNdKw0)uu|ad$R#kt#wsvuU;q#_0MY>SRh&JX zos5SFAGz5uBy7S4s16z_IQhsaOo0Im+n_pN$uO%dF>lxVY$;)e(gN>_l6tx)YKC&h~hxnJ1zL<9c+ zra_H^LC^rQeKTyxf*FD^*Zg1@H_ebZ=vi$rhW~}Eks4=}Q$6M$#+*WPFyIJ-rh10e zfYE6nm5hWZ7@DI;`YdX7GzWVX&Sse)Rdbnl9D>6m8qCQJjJ+f<2pUMIuz@|!BNC3_ zmq9hx3!&PPM>A$8uYqhZ;|K$%xUDjPH_&8Fa;JKf@hbQM*y&^{VV0@D$o4__VMEXX zcn3j6T=^kWH3!~~T-B@YWRGTzfk9PB23X~kO75((&T~U(zUhd$O+W8!7*5SH!`LGg zQ}LE^Ne$THEYLv}gT;6OkOr7%tc9j3sSKAeR%gX1kI^m#1Cv4G1yT&Z0{3&dHn3{g z4E}|a4IteHKRjx1iFsh8;OYNJ-d8cY0-GaHiyMJqplV?F$ha>tRn5w9Ns7~mlFDEK zlhWpt)E;IkoK^)ASqC_>t&(7dfm4nl8DLejY~U1}8fP1;^Ei~_h~|Z=G}|{r#W-ak z1puc5`v!v@AqCZW_AA4xVr~xQGjll}$}7ovE)PMLV0KS9!ik1zC_7WnrDio_feP?Y z!@<_5LF%)8t!9Hi9K&d+&f5_NNB}Is548etavWx;4Ff3v%Nm0Q0Jb@)5}3+>W;nTa zh*66kjzBfQykl0`5O|h&3T&YnJU}qqbo6m)d64>}H3UQ2=_H&Aka7uzz~g8jcsK}Y z^KYJ+<_5+dRE7&#W!z-lW?$~<@k}#nLo@T* z!+XNnFB4Rx46uY*FtF+v($y>n9cy{RAa0%zhh#t-SPelp2Lm^-#Jpit!4nLAge|B@ z8Av4~;RyzoLO+hk8bBOs!$1lESv0djRb$v-7(tbSs)qS&7|PAS@HDk9A=0npDtkQ6 zUksfA9OPQw$34z)=VX>6s09c^nMXewzyLrR0*_QSs8us~c7`@cfw!Z^-Gc}WO%^@s zsTkB^kUIl!M{ej3nSK=Ipr9IUkv{9-~Y0I z<6nLR!)lN$!YUdF^#8MEU!_qw+#G?@{zo5v8PX#+pw>Vz2ZmFIImlQ`xCbf#tH7+H z+)4X_nFI)G)+O&@Yz$JV3WKY9OqtXi=E73}_A?F>gXC?2_iD9j%7?0OvY-(9z>~Ux8%SUc*aA=!94u^78Fk>I~ zfHc6oW?2npFA0Xe8LFm~fjIzmGUM33o?VVcDi7`Riv z>>1*896CL&9%dL{9T&3UXl=|mw(rbVliAI`SBLT8gA5ybgZA@_LA~^JX#=Vh^yQ%~ z9IZ_m9ifb-l+lzk>SV^TeJgXrbC23sW$aG-GRc^$jOU}`iZR|h(csShi!~IWkQ-nd zl5R--Gg%Hgwl4<_vj>urf$5Ll6Ff|s#7E2pNVC1_k)}CxrpGiMoVJEC*iC_()8ZoW8G6#^Q2_T2d5wHtAj#3 z1lK0O*444CD-eP@E91la&Wd37{C6v7Em83G@U9#2Uf$~MRLO&i#m z8l0@YA;?zC^U#ysB-wVuWhB-|?nZnkf=TW{c5jMFwYRG61!kMgFbQ;hUr zW#C%I20(vWPca2jVbZ(=+j6<3V&3*WE_ zA06wLcQBQYx&RkmQmdfy%IKhZrfFk|v6nN$7^73tROJKXNBioa5D!6&P628INX;q9 z!C(lRgrl2N(j?{?Lo%{zNd0a`yvo9+Ak>Dc;n54Vga@UnlFs!1$N0X=i=}vTMA~Vj z-nVi(&wj>8rR1b)wkjU@<`^V&8t-ecfw8L248K}p5hv|CS<5Ai(|BLbamHE|dfd=_ zLmMAM6-%3Q7n*SeWCMUfcVj8sA{^(ln2vI;VhlqC)XWTHU2jG;j|P?LtIR(%c<0QQ zs~p=GK~*6cV6{JLGxtoNVAAaB6VUzHSSi^awMWQ{Y*c zLzP9CVZ5-3#?zHB)ct8Hkl~o_#WDetLZ$EG0&>_sx#$72_G5r+!U)hFwHSY)~`%D6i)Z^xAHUJPl2ica}{j<6+Mje z{wW?d^agbDW8wv%0#p+7j4kL#`+7-G(VPO96`+}euw7C)#cdT1{%{PVRSgE7qUON( z(Y~HywUN?^oaG%V-1u2yTvdS|n%ThE8p2T-H`v$54gJ_^251{nEHQ?m0%{Hn9~q-C zC0%8Sv8jHvuR4_pW;YDKVIus@Gd4pwrc6aDuWjZ@|D{f4(jZ9przs{GBWqxi4>mvA z*Q;1%%!2}MY?Y+EGGPji!Py@zl^Trn!cp{>vgOiVp)vPMY-MswOW@Z?t6H|kcz7MO8 zQ%TL~EG7FtNB31Bc7@$i3mWjIS-PLjNK3zJ~B3Q zI4Z*i#@J*Ta2sP3rX)5r)tzc%hB5oocxA>)JqYpUm`YCaH!RGOVJzc3n}Y;1JJs(h z%qVF9BARkZrx=4&s>0x^9#bYY^A0dHfc=ay(MXR6wdq8bJsfx3G^@F)3bTgI-oyP> zbLC+_u$q;DS%I7F>r%+_k+Jp|6AXN0JRFo7bfR`@FnIiEUv+AKV2}+U*wUj%AoWMH zu>s>e&Qi*-VVK2A3eclK=fb0sGQn&HW*pmBgDJC|; z=z*UZkSGc2&N1xcRZe1@dYEB6++=8WgME1u)N-7$8Nx9zuG%-PMgOOOE|2}2ojJvL zcng>ncow`KU9zuA$^^3+nr4ryC*?yAQq5xUpb#Lm@zHT#i=H*WS#bPHjrgFkuIe*f;Ra5s?5q63Ec(Dwiw6J?gCbE52{z{t9D51!*~Kss^c=$U%>! zK_+42Ec%0Lyk>(L$6#h&F=`dK8GKdChNfR7?N?7#&OBpn2#lNgn;M+dW&|rkXw##1 zYE|%@8X9VC?y#97jB&4&gjxa24WRNfA0l>CwP#HA61Fk!RdxbTMpB!SGYm#IV5Ubs zO(7(t6u1Yx9U0^3B!5w^4UpikJUolB`hyyd=2r%51mI5n23va6DS_c5V{Z#gb9BkR zVT}-(QA3qBFazBG5A%IBY_7-65h%p<0U$ZRmF>uwRpa^SIQTW2MpDwVVM;h+=n#ZW z!ZBR{oose&U#Of_KG^t(DgaguJMSc8W{l^fV|+Dbl9I}xp$8gdhB4+E>75HIFO$X> znz>VPm|}*&@R6}@64Y?iW?hCEjx&ZQB_~zbDo~X(&)9pMu`eGLSB&%Nw`n#%Z^9T- zx{?oKKVx2_;@8E#*i1_6<5q{b@4?8$*yR<&1rG5O=0HwDFN~)vTU$N=i0a zmKdi!fn+~pvxTEFY+&pooUtz-6{ifhG2SOF1bBAU( z*w?FqpO1{q9FBo;)xK%1lg&4j^KsbRn45_#aRc~;xybea;}m!hydD>}vIzERnk!Gr zhaU3`7lQ|d0HKYKGqvcc02i`{dB*MuOmlR}zFb~mm;u-cG5}sFNOojZ+nA{^I%lff zj4EUUfT8L%9+AqE&f?}^V5#a*R%1*^; zR!L>FikZrY6Cdv*uLzrx;Q zUpG{>m4W??v5%Ad?FV5`Zez@Geci7fW*BRK zVBBoqv{|c|>9c8JnBE_GR&cV!n1>qA$Iy@-t16h;z?cW6bKR`pVUP`qotfvu&f#c1 z%78S9$Mx8I^otY^VvKQcrVOi$LzQNOAsoFbB|}y4_|d*iLx{MOzo|jV8Kzo8v%Elx zs|fRqb#zeq$T*#zl1+*w#=MpBd`w3KvZ~^qrZ&Wvk7>|J{_^r6!V)hZcy4118`m<1 zp$An&d1f5j*UMQlrdMG|vrYz2Lx$0CD!^6&sIy`?$R6-c`cVyFf?@s`oG7e7@HfX) za+1HBe`O8h)kVM$8+rqJ0K&zcS5g@?Cdlb958qHOVb*pNwrg(=`RZj3*lsmF$@)Ovwhv5S!NikKd9ko{u!p)Q+aLUl}zO$$2rKDJv~lSPU@G} z=v5xdBaq^%-pp!``*K|aZ7ey-OkZn$HHT(1Xl)1%4Lk+?X)36C#Ek+_XT@+Zc*36P z(MV6FYARt$h=A`?!ImD=W+&|%`ujh0_tkVmCO1c*N^i{!t`C5q0XP+~t-_%bCGO`V zW6VVyAPfpARvQWZ><11(K03Cqn^{VkVBjNT%Z6jh_z3-a*1j(FRY48Mbgp`IhanS6 z{HR~_upc(44%h=Jke9MeE&3}koEtVt{pkY1X`UH|tIW?w$MatuXIUrLno+1A-4iy< z<>gsrUa>p%t4?LYl=Nt%2ZM^Xif>XHnPIAlA?ru`HVdFCfV2u8RvDYYkNVyG=iM-l z-6}9_=nbe1_XY1j)xhwPG54grlFD!iTH`q6AZb+A^Z$Ec9 zl;go%O{`YsD)WRkRx6B&Y(N#yH3J{3V955zFjUQ$QUPz6=?NYLy_r?USjkB2zy`)J z3_+D*p7C-ag51W~4B@B@8yKTpBQB{~87^TArvfd9Cv9MI5_{pWRt?NBwz+<^ukR4l znZ?k6l8{O}k*el~RC5ecm>!NWD_|#7B~5a&@o);5{fxP-FGm#vuhK7jDvUK0SOlcU zCy)J~qx))g7x0@S(9_@7Y>mMs`+8gItklpPvQV4257lo~6Ya1BP+BXe`=5Rzw1BQ{*;G}*rh*ONs z5RNH>9t9!JN5&phMhn?#em=69s~EE<#cB>rf2{T~o`a0B29u1n(^dN-+XHT6Y^iXZ zWcqPXxtwuo067F{6;iI+*O|&Z$p>3=OeG`3V*OSy_aL2xNKj`crV$jTz$5xi&4I)? z1?KEK5ec0$M`RUv96Z)QElWc);+ua94dYm^0>g&hfLgx3V`gw)_otGPsoG~f(tLRq zW1ZzH)EC6ptRTzZA8D2es;bVn;BC8dH-2#}*s*MMk%16b@ zXrVHms=kfiCHv}JV?vORmx7@R*#N@+JPwkQ%rN$dGGQ4s2R;P-Xy2xms}^vW$b;7A z_B-o1W{?d4_hPe=d_;t=fZz~tRcH>!;6!u9yCGGTR0jP4xKqEumL7QuH@KPAlnI9P zXyh>KK{&B$D6Dw4g(^t>Kiv0K>{fxz5vaul0|*8`;`-^)$Y4N;f}t}Q_~_WalWTA` zEE%eTsz;xge#4YYSvAkMg)3;#x1HfrPfBWMu!W;u&>O06h^I#*b&W761gmk(HxZX+ z=7u%UpO*KvJJ~QU3_^1QLIXQlV(gwUOATDbSe?uaYuRkI;g~W!y}_ZXIX05_2SY=e z#Ae6#ZT5r|%-o|BRYgw)s>pqF_nWJo^+Cd|Imp;-;W){J{`5H0oQ_LLZgZ?(UjsZJ z9rKq98=h^9`*JR1Cw2o+r!qR1J*Waum6=O8jGj4e{&hEu5BDE7^ak|fJpmvw2yX%@ z@Zo4SWkS{r&ID(FpNP zQ$w{9^IBqRKbPZ*hgqJ;*sGXfT&d>K9a4td7{i>BP#eHO$M$tUOBG|h+EO#yD(u0{ zFPH0jtU9)Dx^SNj>hUUHNf!%)*rpif0N`|9rznF4WYxnGHyeNH*f;YO#r+`NBs7FL zt1K}_r;+XtYC~526(5@Y*w5uE#>fW1o(g-UQjHG=J~H+OW*Dm)nk%#MY1YZ~>s9(q z&4H}efGrrp(QPSNHB^zl1Z@U_GaQ2bui{=6*c^e{>eg;hH86Z+jD7r*qlQco>AiYr`>A1vQO;ggM>0Z|+qdk>U`aKL#hRfGKQXtj?4{ zkAkMnCHs0RIK!Y|)U}$U(O8R*c;>$yjux3=!rb)eJ^W=GcqhZq^k^hE7!Ee5f#;)R`=)b4XE39`0z4>Gc_bJ@ zPouKLm}`yaV<_*B+6n)>lsYHL)P@}t4E?FWN&9-CdIA%URZ7OGWS*)fhC+#~w7iNoaCu2x32Ni~NuA47qVcu*GabNF?zyJB~f8pPL4LkC`Tn!AI zAk4^^38k9jTRL-)$!rXw8hU9*?adX9l!nI=<6pq%( z4C9%t=Kb?dy=I?<3ZM}RY_W*B=)nWn8bb8v|Js#Hx$ z4C+}Tx#%rI6J`>4$%C6z(LCBODC!0H=&dP=&Xks5=hlu6gCNS`%S zdz||+m9H4(tA>gX4dKX}tE3G3=P`N|q$RLH zRmLUdnPIGcs0uKb0c;?Zf#e`Hq+|%%alxh$W*Fd>_8w*!tJ=@)vpcHI)i{<> zi5bR-0Q72a(=0QLy=R8O#42LE_Jma9naOHf#c&&A^{c8(wYE9~!$-zxVKC^bVAL6y za71unE>{5qaI@n|Qa&)@$jvG-!&r9+YJaqNFz^}`P9sVxGhfJA#@@gT5}K_RytRiYIAim!?f8OEws3`RGG zzB#Dj82ZCe&CD=v)T@zju#o^7PYfRqADfy8=&2}jswvTP0*wF-jM zkFc?tk}&itZ1X@1nPKdm${3%L*dbL@vWfJ51c%G8(=j(QR#mg77@f<_tU6YPw{>;% zujpZ%H%#%cp*NtDFAGvZYEzOK#$Kq54hl|00L;KR_*2zA!Ko!|OR-1z%Qh{XVZv4@ z4B2pm&45bGFy_=et{RkArkc__Rb_^;_Xj2%b%&urBVekm^2(qj0Ch6M*n>07jI;0Q z)o_LCs3qo9k{QNTZCa9=C)?%=(p51?hEQV>KmV=vCMnkT#^Gmt2zA%($vj zPqTR?g_3Zz6f=y|t<-?IDk%eVmM_-+49{Xb@8lG46IV$Y^cY~3v3rf%@ztvTBzL}khd9H5Gs%M#DJfrgTKFiLTW^QAwS!2|Iah0_BchoSB z1u8IX=nbf?F6aiR3e2D+7*;1|!4|UKIo}MYf@%bKL>dN?fvf&Bl9Jra*rzkY*wu%> z=>keJ!&qj#y(M*YLiK4YD>v5XvPyF!=rXG!`Q0&qZ)jANL3`;7;9}% z)!-x2FR}`HKU5DQ4!#GyUsYxp+m!wo48hzl8C1?XR)!<2I+=G2Q%vu;1 z`omHChfLa_Br}Y?Uzy?DG^jnyFizt}s%LVOWm`W{Rb_^2r;&c)$w+ET$uMrl6C&v~ zwMQB4QHE2FmElyXf&{1{;MK_tV~;Syct*w0Tfx<>)X(d&%2@AZ8J-l-}xjIZ8^cTn6n>#Ugu^)!qwU}hx)6OP=k zk}~WMxG}553}f$PhOw&HL2Zx>ET|e`hHog;Jh-%r&;u*5vV&LZB~*Q#y(n^YNesGF{s20W8JD(t8FWu+Zf+8S4Y?& zC7EHYTUGZ8PLu$oK~@=uHaqsJma9K4Ny(56N1c_H3~gGgOj^QZ8c|Z2szja2aF%iJ zgsQ+wlmx>n#<2=A1?psmvB#MKR=~5M_GD^9L{(*Ac90sBWQMVps2V2TbPRKMj+Zv% zL5`K-!X4Fn`afp&Ro*tmn8;AAx!wNVigw8OFYtGX28t*VK?v0|o`DKU&HSoB!+>#<5-nh7G+zYs1Ce zpd>SlE58n^oZQA({i^De8P7~A^n@cfsH6=08LN{S#-0jHIHt|1M@eQFr*n-|4^QuL zl~tY@#=6y2wcqfR+HZv^YBNd683vtq16^jga~iQ!|6f`A>hLKxM`(X~Qze;U?1jqc zpvuWv#_I1?^;bJoy!Ka}!5NNKzw#PnhH<)y8ZZKq0`q`W|4>aM4au_@BXR_2Gc$~R z95akn?bp*R`+F76)TSgejH{j1gNaqd_+hH?%w)q3dQ3}{WQMU9G6M{tLwlwQDj%3| z?5D8W2US(3YMXa@L+|G)lm4_2qyno2iE+w6NzwBr}W`u7J@g&~n&RQU+!NshW~VrK*z3pdkQtGQ-$|%rJgZ4Od8y zx|?oTF=?TZ+Q|%KZN94N4%(oeim9^7Gs9SKRLu&!mY4ygf_W8#P{P>-6_E{(_Q&!{}T&%&uTNDqK8Jsfp`#-NfiR+y3))T^+iAk8Z2O#g@OzM5{x zD74$f4 z=nW{uy}&R~wPKVpHMcY2Whj6aylQH!%?%9 zq2jec8O_cx+M^756tEfUkc1(PG%EWUdn7R7h*}0S9`+mdh<@Fsh0HLn{9zo9Ix)0` zBZ3AX0kEo=ZH(Q?3}fw4hW(7yd5H;C;b>KX2}hn4r2eSQTvg%F={6;mxl{I? z5R&#lGN7t5sjVWpJYa5StW`l(Lul@g+Q$A=O-ZDB6}D4=$2nF8vsf}R9ATRQoOP@W z_w1|Ks}W`x^PqX$G&GX-vzf6wnPJ@Yzy`qPc@n8K0u>;& zDaj0D?@}Tvw zWw?P=##gi4saTuUGtX$7GTx@VGUl8l)uznM+$uHy0_+TJ;n+A$YRnu2Zv2geI6!Ki zBqwb)OP$OxPR-c10-*smfIqY_HDD(uOL}AArV{L8Ou30k~vFN&)vcR)$lo zGVhpGU!~aZeZ+f%2ZRprx7KUK|=uQWQMT^nPGfY4QqsB->kDj zygByGy^313nUs22`u03N~EI|IW<#_0lVV64rma-pisFxF=7QH-ntGlN8s8OCl< zCM~H*Oi?i3tl6H?W@WgcQk7?hvA4}IJlC*BQj%?qtGQvyk)zJ-YuV3OcivI0P2>Gy zM^qiE3=c}xlte03l~e`|0l1UDY|tKN7;}p8jEDV>Ipvrc_-DxA2}i36OgLf|gBcH+ z`#+NRRbDK`n5fhOXTeJ$JAs^*l}9%d?>Rw>ExpsK_SV-GUJ zSXE=xFr1$Dgw&;D*dZLPN|~x(oy;)y24)zmT1~8++{Re_y?S*n`-jbHKwKqe80(Et z0ucOsWDLK7t9%;a62?4e24BsxpRvwTl^MpGy~=PKWA9;xv8wmY?VGWc0tu;Ss)wD7x&L7t*1!>f_fb+A_A_RuV`X~(yz0))zrp?oJ8pw4 z%W@lOYOCD;A~aBAS|9~u+@g4Fp&U;4u*svSa$sbCjK&r;r zs9=GVlA(XZ9jTXU_9UYNzRPmmCC(ej5O?7Xb6TC*dndERdDU;#(}l_Jd*x4CNh7&O zqza5BNhb5%0ojv`Zp#&mIi+OSOq@<*Y`o7d!TdU7GE0WI?@7iA+cuKS5~tZzb$$of zMx1-I-~4U3BxxhgElcgmEPiiJl?-te+IYEQv}F|;;*KYy+DDMtWLR=ilQ+gjc3$G8 zVUetSbY7C9&H6b$`bR^O$vke^BaHtRk9(6OL)^zC^LXSKNsu^BeW6_Q%#M zhQNLbnMbf}VW;7n6&Crg@n8RaZ~^_Bz9y3)U-j zI8_x2q)O(56<=0lHW~I%CI23?xpBUy4`H@E87zhunqSfww5-eqvXcy(E!ZOs!jza| zbMf*E(ENz4P5$JQk=Z~x$u!PaB`FnSs>U~<7pY<2+ct|Rd!w3}F=$L?i&^}VtVeu<<9xGxWLTAk ztSyGNJx-_LY&OGb)W!rA5vh1GqpkgI=4(A;n+h2;r;Vz8+-uH{MlDTHJtEba%xK&F zQcv03lFTV9z9Sa2k(UsUwj`6$cD4~;M$Fcuy{a{{_yQ>u3J!Z|I<_6X&)lxM|+CdhQAE43nx#e zalTy25@y9)ytCFolGq9_Q@hRX;R@ohB(uDB$C)i=+)^YjAwKy}tM_cH`JT2|n~l67 zC1ZNztGGGE8yIaYB<^fRZkU_B<>9)lmBHG2e9VriQ?}YDow9jkGL>D(miTHHQ^YD{ z$_y$=kWOQ4WJ62&%9Bzttx}TTKzod=F?nNbWJ5}1h&x4wIL|OO4Lsw7vt;ZUZDVIT z$q;v(4Dm^A4_}>;aY+Rj8J#1^GpvD9F1k^b8doPthPZlcRPzYZOoq7QWP}rpyGUk4 zOxcKYuX@r(bF1bVNh_phjLUCe37YfMF`J9&5?z>}3?j8Lnb9Wyu8wVE*4C9!o8-`Wsr&@S4jHH6C=4%Fx29}^XPvdxAlF6`;Dsg*^ zu`zqvz<2B^a;ai1JI>Yg5*EHjL7DWUeDayd01=9y6*VsZ^`^%CLhym})Uy*b>W=q53PlZ=u>a8Q$OO z%fF%@I*Z642h?rA0`D9dLAf03y=gSiMlRsrM zMTWRLli{urkC7(xRl_2gN25Syi;=p6%bImsRZ%5RIrvs|eH#lQSJ>M?FNFO{bR{UTGqzi zZtuy{yuF>xNHVtN({U_Jk__?b&eIv09i1mz^L#CS3YzVsF+0f+cP$y>RCPw$N=lLp zaW?O&_KrZ=1YFdrUaL~p_+{K9sgfbC730_>UmZizvhs|8W|p*>3^A+NK%NcBi+K~@ zvsyv0M^ZJ$MmAsKu^~w^#Jwe%%k5=jmN=VtHU0NDym97LY)dtn@{go?c2zcl%gD*r zJYSX@l@H%gc?n zC?y(pRcFw)oI#0On!jQ82C9!Z*Ht7*V{GJ>l#-#}@M3N$-)_htnM_gD4I}wR%|bH7 zr?1d<1CLo6h^wc^e6_;-;vc~tO!bC&Tq;AhwUm4^Dlw2wV>l95PmlR(h55xdcnp4O zQ2!E?=L9lajG5c>NRBp3^_WgF#OeP?HFJ;o@<@wN`o}PD;I(-GovkL5sdVNRGQ^hE zIsqCi`10@M$N1?>#XmOe2KCs-ifv3#O zl1$@#Z*E}E=wA#ekr7T%i$rQ^GLjOs+1|Eg4;kW&L<#t;)WF(n!7s)YV>oh7ThT#2G-KH%Dq$Vh5l47W; zld8xOq>~JB$H@pM;4Y~QnXpLN@0olOeX> zO(g;}SaAPi=Dqs(?JrlTUmu%5o&r*Lk~ZQ_ks)4G*#u~A(j;EE;61ggOKnM~Z1a5g z9#i*Pnn&kIDz&S!5oF|sVZ#aUJ+03>GtbjMTW4%kw9|xHm~Mjq|-fk6EV36U)=2Mgo(@k)4fS{}ZnNs?)tZO6Twq%M7@z~Y|zWb3sQ6H}wPbJBNFWY`{`C~~QQ;{Ue5VL>(kF579ca8Yv zitHS}G)Xdz^Ud;P*wZQ*;!oA|=k}e+?Waz2+PH6_s$hb$iB!ZG8)aiw9s#O~+^b{6 z$Zq4i7$m&`yuW+M5HG510yihMnXgipJ)@0<#CiWcqr*-S^0`#;@!-p>N={%bPm&BV z&md0E>44-<+2oC}F`E~rvwUUFT4R_J?zlPCNmUU6vn}J^U%}BJGJzs3@m)zH>gKIA1J0l^L)*)j7$kHev>+4WR1xuGupapG@qo!+!4L$BttyzY6D+urj%_m z8%XC3V&FiH!-dSW;jn2`QB$>wfs(+E> zIRP#*Pu7}wG>j!iYP7=UlT1bp2GU8UalYKUt6cYK^C?UIgt?2J# z)neMfm#bwk@^Z}W9Za4Kk0HKXdRkGuwj{V$b%siqT~vMxvx=O+V$M!8r$JlHSv(oy zj*uZvRaI>>GfCp^(Q7I3{}|u_#Nz>rA*E!hb0oEES7jT)m`$>o{SV#u>Ubf^mn&3t z`oK1%s$c=B31~ZErP9z+zU@>n0js2vw1$+5c?`Be@2QhL#JN;e2IMrpMoBy9AU$M= z+ha_Rd|6f4{HE^XciBuOb2`kNHtO0Ff2vjR1gy};y>>TCO`u~WiD{60G8V~kj3k*% zR@qgG2++`^UP^4XETtdfeM_pz)G;HeBTs7cd=+VM3Th*>g%w|d@{C{)rbVI^$ z!Ctjp#^ool&KjvMIG5fqOQ9t7B#@_oRFdLbO%HifZB$kF@2Z(Ql5duz$C!+eA?_d< z;#6&sjgQ$hsG+4xgUqK3tw(+V?JXdZKn9YHC4CAQC+;3&Y~(JJ#<5AhYQ1IDnQmx4U-h4YGW-d^rM!(dpY~?9o%^4o@72>i;$N;%&*=lr zz~8NKtIQ^Iqgt(+t1aU?=@EQX%SFWbMJML*9tQ0;WsR><(hhWUg2%mzXayN!R>{1B zj@zq<@ij`?K?ms}leJWtI^jqEXb_p87B!i#ZdfFFP9U?z$egOA9dwW$GFeNNsl;+7 zX!BTZJ<5`2ko;0x5voj$D`*f-CmG`RyR@{xKiT~0-toK>ndSXydfQ;%yN@@!xYzJl zu6s-!&)W-4{rSiXdG_hl^nZ6!_MDjIDn$f%wgq4QE%X?F{2d+}c7yuuV~Z!luO{X% zqpFXxOeN+n;&wK}R5GQGF|95h8WvkN+hM2d zr@YnnUMuO5?|9ycv^LrnschUR-0=(=Bfo(5%9%hOZ70)Mg#z@56rjomcAcP;PB6>2_xAU{^-0`vdhs zYmEE^@3W^<#dDpVB+m(CwiudEg~=yVJqy_q-}}8x*@{JC|A;eNjGVSee1S2@EX^Z+ zEFV*+)n*>clT1eakA=(go zQ`t+BHsJ(gp=><$p3GEd#|D~zh4)3Nk|F-|p2ut(?0xyy-DCXmD;^tmgZlIHlPU8^ zinkv}xOkmdff*g44Rajp}}t z)G?A|GHNi8PBM-2?ULj(%XL)ACr;-LlRe4oJ-e#5w3RfH7TG;Ae+s(R-Y&_F#&9HN zym`Hpcq-$>^f0SJ0jf;xZKG2WfwF0lfsgjGP^(8$>S;9%@)-Fz+PCB-$*}XJjLX`-Vf!O>~t+vK?%AoO|0sGCm%FedivV?|F zO)?pl5bw@Zjp>mu%L|*|)YHh+r{&D%0c<1IB^DP?aPqKFc>g2$y~@Kz{BnglPhZ`J zR8LIu`-=1@qlOc>j9l7ITf}D%nG;rg2aKDurF`3#K{CXnKMmt{BU#lAk3D09NXCh| zNah9X**EI4w4|Hn_VDdaWfSa6$GwcGP^2+7$~HFBOx!7BdbC&lG!x4(9xyK2BUWzr z)X4aPttXw?%<@##kWw>?LDC}_%R6OTiX=mP@;`2ufo;T}HY=N;szi=^M}s-Lfv*e; z*!QxHScN2or50$COylH@QJX-P`~wWH(j^6QHJzt#%v3sa3mIa|>Hq;6Eco(ou*dl6 zOT|An><0DN$BJ)|sxdY)o>DUOCqDU;zhN%FD9^ZL_8VHwm*v?YHG{=ST|jn{A?^|~ zjq^?C$ee=9wPR0_yh`zrl$qNfBQi7?o0CjN+pSRJWyEYf+PinQYCT0JqaFk4G{#28 zQzApmRO43jy;s>e?z$vtBd&fM#WbHPPfE;`aNDfP#&K_XY(=INq|}IOOil0E5$q;8ls>axu4fhPIh`S+~;zv>&cU86or(p8N*qF^HW)G%HhPeC5 z5T~kp(pFNEWQb4A={Y%d$p}t8quEGiiQ7hoIMoxg^CvZTmGhFMjri2iH{@$si|?x1 z(k96Y#b@M(QG5aFNiZHGn>v$e>BK(=9%ksu!Hf_IR#&t=OA^!A?J)0^S z;{2^rHp7c~kyO&2bS9%nfmD+jZ7dNU zvr-AtNrt#nWP}rN#fUQ^ru@WX{3DWW#95MRGE7k=rsp1?8cw`5FSe7EyfHR%<08@a z16 z%&ajsvTBjamMWRXdRZ$>zsSet(V%#Ck|FL08RFbxY8rII02I>``soDA`e zY6oQ83>?#(Ox}=8rpORyR`;Z>q$J4@k7ku8u&l)|RoMh`kuh>6up2rk8+%5QhRk+E zubCeU9}O)0$jqSO>>(qZpn62AGnvsQ|E`X0W8~!IqI-O5JMq@M*iKUN#@NV>i$vQ$ zfO!e=vU;?Qq)JjHL#&9vuF5uo%#tDQcrwM0q}GjUlFjV@!}xnuSDnDi6|Bu~q`Ke? z-Y_goKh?scVI&pY)l;Y91|HkYf9lVkWLQO&xIM<$cH30Jq$eOf|mD(ng$xpE7JCUe41B`iV1}s!9s%YPK=E<7_5FoIR}^BXnW#(Q!_*^(qfJetQvO9ZR4>thEnpgONSfJF3=cSySJPdvmH}i1RCU zHE*V$IGt~pY`$Ug>ypVHyYtaN|Gjy4rbE%7^*y5n9e525T~k=OTaebjHgP5 z_;gizPR`tZVzQGA@u$1?>~B?m-QFx`+DaNpMLq=|wJqjF8c(91IL*7-{zuPfNRkZk z<(54D3nurnBvmrRd2_1w&2%QV<{s3N z;>U*Fpw9ixxb#G3CmG`WHFh=qykXD2QMo1YPnxqN z7a6lhQYAxNwfks$bF_FG#F(?kdfQ;CQUtqaSF2|?yis|i@TZ05w^6nCU~EW|3~?_? z=DP#3hYay)Z+h-8`Odj-Of{L>JCeF*S7jr(jC^go4DzJHnYv-DWE`!h$9mgrs$C*A z0e4B=N!o~+YP_rO{n>ECt7EQB9Hzv3d&Z|Hb^h%3ULVxk8<% z4{SrK#@MLZ0*mx$v+O?J?;4#}-nU(nqm5s8iL-|c@pxVua_^0&QkS-LTF^%Gzft#3 z`)zaXBEwz8^fcbpH~wtCVYo5T0m-odsT%h5px3RBtzT{WP}rNoz$JAjX3w7 z81@&=l98m1_-0G`?S`L>xrGdI-kj?FNtW%g-rSO%$|gv2F>Txbn0c>`t4Y3Gp{o9z zdYiG)Y#M1M+3_E$Diq*4;a!!DV2|u7dlFw}FKy~S`IAqkN=EXrT!sW$c*A5*GJ8*| z*-*@G8&xCsaa>^$JM5$;pUk+<`g6=4GQ^o}=Hy8}nQ9nG?b=n@eh$XHNs=M{?w)SQ zo@A_lF_^TEs(ty-j>otboxo$mZpd2u@HQk#hBym%CbMLS_nw zph%S%W20=$$|FEkk$ZKF?4;BL+?(n>lRadJyOWG?g8KvHR7o+!G9(ynBdKhvH;m#9 zGGd04?J`*Ld#6^9ktE3w=gqC^)uMZl{kdgiPQm-taC?y%w}A}tjj9y{SwdC#(kB0}0QVAiKN;d1l^14~>W=qps$_%>y!97*lkRoO-` zW|M4Y|3mk^I$lWfR6@Iz^U)voK4NQDI7CgcB?cEh+No zlp#Tulqbn#vZ|SMk|9q2uAVl&=W{PRQ%$D)BdMNUU2Lad^2XSx6^~#Krbak%rs9)bDh9K1wle~IHDamBiU|@HqnhXo664P_SpZcq3j3k-NcQ<5@F*fFw zM}s17oS98Vix!ZnWGX(AS-ab)5_b<7;#4p1$&x(Sn2eAi&Z~CS7TNfiO@kU*(ks3} z2FVbg{4AuO_|q&qZ!mWek9*Ug6(;SYQXc{994{<#w2g~)=dN;lI+OY007Wj_%5Tmd z>*ckoP5;Qye~)eGjtV++% z8C%+8y}ig(+it4H{m;?&s-2PJ%M~ir7d5kw<)MK%3=Blt9%{;{^mbS9(hBFSUmF)|uNCKzwFr8cU>_#D%j z3{$(hJDDYB>IN&DpyDD`mCR@p+5URf&|vJ5C)H$RHjqv-#HUNrV=KlnQ#Z_5Wn}iy zkZLmJzb93m5i-QtZ)zH}QkAVhs$__ny1{!k)nvx=w0iVQJ!LaRhWOOL75CVh zPvvPFowO0>J+10ZgE4!XnQK&YfmCHkX<3v~GA!IxIvX$kk0hFjAGef&e&GZ>UMk7N zyKPi2N!p0}hGg=#kC?GA$z)Dj(n*Fmzes9=GK-%8 zJ5Gl9x9WK6LgpnWb2@LB{JIlUd={R_F3~#%FS9E7$e$aHvGKbtOc8%qo~dL`KSDZ_ z`7UccHu9@a_!LRr7#mOh$t#$k%pw&eL)?ZNMpX;Q9-31nLwvfb__U4WXyY-$=_Es} z$VcGRkUSaUkJgnrvt)?7`G(;Q=|A-_l{kBn$y73#N~ThmByGY8#zNV6)No7w!+LGsi%94&lR?%{iDsQPEKZtGybW%``Mq)8-@)h zy!Y&?I@4CtNLr*l^@@KFaxWR;-gRP5JTIh&IGa;F^^nh=6O$=(>HvW<5NAWG$(%|? zr&gqz%&A!=Bgmc`hE?fr^~9gl^e4l;g-1h@WQb3f*p{D+xtF!6k`Yc&B_dTwhFAuI zM+42j!nu?Tac@kf_>t6wqnczgYA~=nQ%#12sU}1J30tbidd+XPR*l?8E3DD{X*hW@ z*v$S%@_Ti>kmSo1s>%4T`*RGD|$(tc?lw?5$P=setNTIZH1|)y|M|IlUKd`8|*PY zt|s}|up3l$^RY4)Fu#q9GqW@&UYe~coyoADDlt7@;H)A;d@4VAl27KolUd?!AVZw} zsV2kJuI|n;JCf{aOdD}J#f-Kjlc|Q0eAAqT#@MJ`<1vew!JF(-l@b|ZTRQHg=hN)y zza(iRemwHVppUX<%bL26mR(kiPAgZuL8{4EWE}TYs$__(+(xY%`6S5@cMlojRJC^m zH`(;C>ZG1{WgiW4p1{&@l9ErR)?JdL?R4#_mj1CYNixJ;mCVg*p7BF`c?@mDUtcno zBuR$2_mUybt5PLH{65Pz;!m6N8`aRYr*h+MR0+Y!^T@ZMUbYn;g8y>Qe~2kC{<}+M z(~e~Rm$d)amiMampTNr%s?A@I3~@#FQJoFUY;jXYlWflq4DAQ*(MwPF*sBQ_pBNl3C)mks(g? z#O(Y@&0XcZB+b^N-rjigT8|yDtLjgiBr6o3ksC(w1*j*%c#Lf7Os1t1{}_~^z*v%G zGN&xd8;{wv{fZgaB}s<((=+yLs$_`sw@Q__rP|EPzgHjQykW$T4Z9&b^GnNZcT_PwVSV-L-ZM_ZD~JYIDfp^bPvFAe&ll#-D-!D3#d>?wwR;xwmfjE!tqB)g$g zyPwTtT!x#T_M|fz)s9O?|46c@@ulr?Z}yN8PLL-VlMylFRTlqfyl8RFh}!`wKthhHQ$LD@tqa>K~nAR}Y5r9R4X1@Tg% zb?KL6Af050bMLO&A{+N?s*I;_xvw3U>kF+J*4+as_Z+jXhRCUC!3 z5dpiQtEj4cB&7<_cEZaR^%P*7{D?m?j}1*`4;kSE6&I=gWJa6(yE?Xwk&}~)?(wPZ z#Iw0QC+9tHP8)M0nSTc7No0tZdq&$xsw7o1#EJ;)s%#_3EE(dCCsX`LYTc+N+06bw zjK5cP)d{>@q1yaFNsl12HwW8CFpxZjUiGo_ffS zJw+~67EdP`;@q{Xw#ddkd#TDMz%BPAQ;jdPv=L|FrwrSOm-DoOe&Wogs*(b`nr+PP zIGf23XHTkRh`+utOR6f#Wb)b*!z^*${6@{T@t#~!wj_<|QSaD1lGbCpQe{c1#@NX0 zjx$JxxOlG7<85Qf<5jysr^-f#xDCk^KaykN zPF||AT>_p*+;K9*sa~%8!nW@#5obx+MskcdIr=Zj(YEZObe~Np8RDOR zQI_iyQc9-GBe~o;MwSxYvv;0UYqpW)i&VB$$q=6|Iqk|Uo&NwH4@i;>@uwGdw%!ho zBRj`kBdOG`%0`fp8%7OjzLCna1TPz8Ghog8XqTAT)Ev2b&+e*v%(nkI`d-!E6L`5I zYwZKuU}TT=j;eK9w$x-Sayjljsgfb?b!3QB&GYCdPUjmYn{SxY{mc@N7d{%8x;O96 zRLKY@sAG~8LzQO>)7c~$;#5^Kf<2omOHw66e7Y(Y~vOlM+i?y=sy zVacjQAkD>4CC**HRqdE8Hv`8uzx+GuG0u%6er(tc>fFCwYJzG=QViA0U9x4iYwK+f zw&@ z{I%^eI4(Vr*-3^te~n#DKX2HxZ&Yqc{JyyxvL|+)1%(|W;z>Na~i~$)3%$c z6v6J<)#}*|i`vp+;E}?+KUHIFRP8+&84Sq9gt2k#M!*7=|A1@TRyL1f2zrp ze~mfV-sbByGe@HQv?t{%p8m@+vaK z*_J99;?5>h{77oos3u82eu(qV{BAyfknEpbzJWrx!g5g zHD)i#(Z*9RarTfQ?m}a19GBjBDtKv2rv+^^{~I;Gj%~#4Btx8PHt!7Eh%>dTZ~WPO z!*FBzsXpQ{o}@80a!X3d&~JD#FH)7HN`}}ra@=iSs2L$c+-D@i^N7=VVop5U3}?g) zr*RLadc&M{C7*5WNj{luyU%u8b|zz69u4%gTq zErvj9g0dwkhN=pwiWJyY*$O;5X&}DI_99Dh`%64FCrO6*)9slx#zyw1L`FD4m55Yf zGLj6WlMHbO$q=V%i%w&flru>(#HZR5pII`*-9U!;x2mqq6(uEUjE!m|7(GdnA?~VV zxMIX(WF!?&l??HxS7la93rJ0Huc}ZbVoo5PWQe!X75Qg8;aR&C$)LK zY|h9Hvp2MQ*^@Swk2oV_h{t%5Cr|RpEb(49MoyRfkRSIZNrw3AOU9Cs@ha3~}DDt9eiQ)AOFmEy>iDd(uuCgXZ}|r=M zMs`wa0`5)qp2;3E#NA0oIKlk^a;l^lVi^*Qwvkje)f-0f1{pEK$#xm6_`OrB$4HW7 zi1TKu#M<}>PO0RLvGH-yVqg_=oO>+BrRq;IGtpOPrF!1KQTQwII}m*`{tW1?MbJ$k5ZD! zsNn=ok>VLS+2|o|f2MXO)$AlQ;;|%2GQ?x2kstXN^CH#8RFfHPy!J9O+SntUPBO%b z2z;v2Ppm?LRFjc;1Sfy;$&7_XrjrbDH;^GtH8+0h&jvEtcDjL1VzzyR#}bhVsys!k+gRNT(p!d5^LEu^6Vk*AQ@t-9h=ib zW^db_%o2Ahnfo?6cf4=;G&{D9WHmRhcieT#Dn6!mQX9wek?g{h$OtFUJ(9%SG@JP} zj^#-vb6?0Tael?Fo;JScb1yqnO{V-Ksh(Y3Y^PxI#@MJ81nsFeNixJ)OGenh%YWWI z#(Ck09~*XqI`v&6v#Vo7q(GLGlw>k$Fpy3%#2rkAg;a^@IpI(J)iXwtOy;{Avd0)3 zbIYSakvGoFCZk0Q$W$^FAIYrUZB&W7hYWG5m-l2z9&AiT$PnjMyK0MUe9Wdn4U~xU z!enmzT2z33;%sK>Mx}pm-qq?!LzcIv-jv9EfyeDhCUe@gJ9o7^+mp^@#v6WXs})w* zW4*kVmzX~rXkPH%lPaq|Rd@g1JZ3LR+K9Qa@vf$yOlRw5l}0(o6-nMOT%`U4S(Toj zGq$wHdV7(nw%t^X`=6ulRXZccmn&4LFKT8V%R>Wk#y?ecQdXJt>BvinbJ4D*|NfGj zX11lDDzTgi$|h0~GQ@2lL!7D#NAPJj{bOyB=}bo1MUuzBV`MalOfcSTOKnt%@j0e5 z8K!o1cQQ-N)D2cPLB&O?Dw)w{WTukQ3d=UX`|q>abHlLzgl~G%b7~`>DKf;JN~ZXG zQmZp!OpkgM9M@Tv=10sdaR-wb58#$DLc?#dt?RMg-ePKzWQb4x)3uiEvEG{=WfP3+ z+V=8qp~v{Rn&e}{ZcvrJdSp_Stw5?|h?%;1^i4!)*JP)JZz=Ri08Zc>|dpFKr)5G!yssWOx--;RL4$dBZ9(zQ<9$ zBxxgFn#UV1$y`yvB$GMyr;`kEH;@rd@OYIXIxHDU26pGJs%p3G>Sc*+FF_tdhPW4z zAx^cJH0autk~uY`lMFGh+W+DHUe%|az{?e?J$)cQR^|fq3nyS?#EM8IL)->3#Q&tK zQ!hc@c?zcUhRJU~F~w)$iR==+WAHMol8^kk(HI-Q+rkv_cjcK%=JX?^GnucmU8R>_ zdV|MH#$(KBbdn)f__P_k=?lI0AM*P^Y8`PPfpG=uA$+RW2tX`z0N2wcNJw4XjSyPK7 zL!5r839Kix&5SllC!lq0*hgDo=8x3VJ;vt>+tU8gW>qIAv&0$yRNejTPv;H8h7;a< zc2%8eD`_Oh$nI3+5@Z`0;x0TfC!S}}L!8a2o_fe<&xy&DIdy!?|AZ~oW4-1#n^gJJkc?6d9t~w1JxMmR z|B?J&wfl2?xk81f4{XD(E+vu*WXVX5HufYwMT)2SWTWQ>XAc?TYP0dNfAKHUxQKq@ zzQGt9^UgV}ha;wzX^GU^}wREaxp$uYdCz-hzltjH>B97!E;MJ4^`4s9qih1&gxmJ=Z?MO> z)}6p(!){QmzFG`Hs>ay(QI=-IOKm%8ATHHLYc|89IpZfLtH==FH?%Xe$=r7`OPsq> z<(5>F+5J?BvnQGIk0g5<(?*<5F{3TXWU65#-!x~TF*a(~c+6sE@Fu%dr9_62q|+E}G`<>cn9(+p*`_1E@H0#Na!becvRQaskt7-7?jb{* zs`ifHCYv5sozxSr?4v=>6IdEfQu4{vx=V7jovuCA(mxg^Nrt$qlDS#UGk%CKkD-nD z>r2LxB*_r>UNXdaRjOo&-)GrI{AqK3qZ+zaulO;t-!MiAN6nh z*T{@y2GeGq82A5D(`tnNH{!A3e{;VW>{s2#+Cu|zo{%aT;?5>x>$D=B#&B$0ui{*n zyxDBbW*Vp#&ylzzWQbEu#{B!(@zcvJarr+QcYjya+h{aDOgS$} z+K9)7-C$~d(avaN_0YNFTxtx*#`Rh!J&QEjMzTuCH?DUnm&9O`#_Z!5A*nO0XE{Jp zfiaaN8Dd_d+B8VAjqR+Lh6Ud@kBiuBRm*6SHRs4Jsj`i@Q^{Bx$K7nIjr%$?b0l6$ z(pKgqli>#vr_&gY#M;{=U-q9c{lxM&c^bthuwWUCSw@pAyQ^l-v6%f|>?f|&{bpkrv&tUV$+>h<7SN)b1pNq_CWBHBQ$L#0oC2LadH75OL(B5?J z3{~PTOh$_gq|=yXG^v`CIg!c#JZoRtV{fUKBc0_R-cY=9cQ!8DNwPxnJ7y=bQY48VH}2+LwQ@7-wh_oIKpRQo_K;~@ zui{iiW-yryCR3@Av_%^KqCc2*^Z0>Dk|9($0oM`_%} zY#D51gd5er09FwzLh^)pz!)r&*&LM`CCk#B*v!j#lEe$}Dv<(x!!nx0w#>G<-j*I; zmJ?@lF*FdTc~>9(7PqnErxm5pY$@wetaI6FuFWNS0ubS6W;;oWSi zjeC`uKN_oh$vv2nWYqsd@VJGB#`X3Alt#u39Er#5@{NyKGjMF2@9BmyJDTZC zgEpo#GS+5eN5){0i&??H=nuL5bEGEVPcf=A2$xg8(gIW{k1-sHwP*xtqq>tUC+^hF zqm8ihS~@+WwmXljW|`7e~oiRE;3J# z^``Uj468c%M_ZCRlWMJNvfk6`ymIT&p<-7W5&UIq4 zSyBTU8rPeWrA9+mF-4Vp;&d9bk5xzmaqmjTZrBYcl{~SP=lE!*f%x)sa-%WXna$?u zvEFoA`8cwTxXh2u^b>0lNn#m(4j#AA(70YZgC3J=+|~5oN5Gq$X)5R%9fl zoxPZJU;Pb)(rQfIqehj5@Q%AmTe?2RoPD9R8F3_dy-*4 z)yDPGuwZ7>W-7&KV$fTicBdIgKQ<)+j*O@`9M?f<%&6m8{Y-Hghw(K&tR4+T} zC#L6w=_f8fN8(czdHRV@o`tu#jZ3g3GcTh_mfcm}koYp2wyq-IxZd27jG5VU(@g(k zm2GFXBpZ!M)!KeFauKoJlcO=6t@q|ITVz%Hs6_^P?_=|L-oMQs>iYZy{8dMl2H|q{ zFQ!P3GH6^tX4BlBbS9J8Vs@L#$Lvmy%}E-wkM|p`=kiOt-?BaCJDMLCb?PQ-XJj)C zI*7;#66_;4B%d zXd}KfS7fEaKh+{_Y}-hl8orC<3Nplx z{WLeOSJytq&B<|ZrdlZ*jiE~1>yoi}+xU(V8vYO-_a1Qk4hCVC#A+_ zurd9`{6+up(*5IiC27n)sysml>ut$;iZq5J@l8Dac@KNa&ynW6%2XTKW4N99%El_< zHY76!i%cgO;%siUUX@#6#_3GF_$d*02^r#(TAq|nO!L2e?MNH7>yl3!8Dcg6IdED> zp13Zt@$$C+`482{A1Z%XV>mXhw`(cgFzMgVTl|!WPiO3lq;^%lW;kuhOEM^rKzWGA zavF%$KbCw^HI_G7FW2ojdyL^otPg3D@4m5Bt5Tb?X0Y*8GV;t4kLDujA#T4J7BaJB zPPhxHYQ+vt5%R>j$kct@kI8cLvz+)bXgxOWRjt-LZrQUHF~dir-I*iXh~?Z#sRA9` zN0pxd1gIgR+%}+4qD_yjWR;)cGj!T9k4mGsj7`qo>7b$Y*fz( zXeO3Po+cKI|g~{lv z6YOSFITD|~;_;X)$*T6$o5v@Ug~t49?4Ejc!+mpRRdNC>CoVrn;!~CQHrLxsX2}qz z-&7mRzcZ=o$Pv(g!g*w#!R)vw$uS}_0hf*{4Z`K@)r#~e!{sR32(p|uQ#lfMgiPal zQ%Z)xQf)M5SIwMbF(?|Q8>ZUaFSFa1DO+U^SxSrnm-yXnAtvNd^=ljt9zBHHjaDg zAs&wrdGAz&fbqul(omQlNh2v$V6jmmR(1rB&fP$jxOVlJFVA4)gxgP*4GSJ4NhWjZ zOeY!Q@n#wt*L&LaE1pZUGu31&HIix@)g*U@DsgWy#ztL2(4Klp7Pjm%o+R-Cwu0lo z%|CGMr#pT7iSOTJRE@NeKjw((C$@w005hlG3>=BGxtYf|OY(-1IW>=kGN)>cjS33T zaKde-s`v@eOf3IMNz9RjS1a3SsH^>MX;?Yk-<9cny zI5POyYz>y($I8+`oO}PAYM+oJR}-I(ERRake0h)=&!_2UZCRJN9r<2Tl3XXh|#=IFX4{n<+`iRUd z8Djgb9>+f8Prr7dU6m^DNi`Yz8~;UrFz4rxA?{Bj)41N0irG~eI{P@v_6T@ko5>KT zS_}=u+DnpHh7qKb3~|Sk8EcD_GXYh_WqVZ3(7}3DwE%8u8yVtMm)bOE72~@~r!XVL zqajH}1lqHVCY3)KEi#Z!GQ{H<*2eKMYX%!xWw@RBwk>;-Dd!ED9%GiVrF!l7)5t2~ z{HU>+5#rN2@iY^U29Y;_ZN!zeab!+p@@yk6ri%#J29`*v<8J&uP&OpB`g464&Z|OvBArTc<@%>WS|-)yDOvbYkoV8?#&n zN+KJiM20y1m#S<6yy23hjX1ATdD_x!9vjP_jQYO=V_}lXoYtk&7>$E^1Z6mxxl}eIlh=xrMkWh?!YpS{8c(8u zn1?lAFUf3UoVZiTSX+&M@1K{auN(O!Zy5btXeXQj(9#5-9(mfUW;?@p zj>O{`3u#+yylJL~IG38bj3!mp&ZIg8fA7t*nS85}({5SQ7;M<)H_#>XC|#=?#&DTrv5wnfBf;NuK(w}jfP373Q-u6>U zW>>jUn2{6CMT(!meHEQ-YrbBRh3O}58yRAiG&xH0BuKw8%h*!Bxn*RQ=JHb|?y6+C zf-14qW|f&o|B39jMa^+mOLzSY_DE9Eo$+u9n{n9Er2pF0^sa?y6nY=6Y?# zX=FLE{3^WfH#Z^b^TLRipq_Vi`{0#@wECCX-uESvh48 za|5`VxUf(<3QKWA?Fo%tNvy zj@m0QW_L9sWQfPrY0$a?R2$bz!wH+2JsnAgRaA+`tQmeac2B)Ltg!WuCz)-Gs5aGP zWHyjaGQ<|FG1X*7+ek7?+)lTKRJ5wb?oXuiJTasjmyT=%gjqBCM1u!@^7nvRw zQYFsduCntITOm`FPPqM4)i9E!l5bqEQjdV~(L5TGBtzVt$rL}5;|;$h$Gu4!vyV3y zT0=*YG=^j2dbN&fksQrTXQifNn@JyI7SzX6NbI#ZWXwdKhY zsW(!2v?%?OJ_T0QquxHdJ4G6}QE#s5+LMz@&9ev1oFkhH(~y!3Eu}e`j?mvY-O(&8B5j3MGIE58q6%7 zPTpXK8gJC}*xpM+rg&!`BPKg#u%3=s@Dx{e^p7d^Tb6v`@3IQ2{EvdZ*;XWZVw$hl z8ct*Oq?4WW6L;#wuwi%Rb~1m_AIv&Cf0L4uJTdvxsrdx5icS^ER)B`W^q91aOsRbF zQ=*@^JT@BBYQ8Fel;pJL<}JRPQ)Qg0m8W!Kx{&ILDZXq}8|TY5MHn=a4a|y{zg6)D zlr_FaNn?Z53^v15Vc8TUDK)bu)o9HsWH!s2Ihn-^Xm1C#SB4X?Gt#E!bedG7#mzu9 zCB|E&-*Cp;kilfEisPgCv{xld!;(#@7=Do%q?TuqbkzttNa@5Rue}`~4Qw_{Ke230 z>J|S86cMn9_y$sKEZ!Ik)~IX)Gno1~GHzx{+}k|O$&|`C&6I>?7^|epuX0L_7b(q* zP_;AEDZT*xh3Szb|0AP#I#nXj9!10#P&_@7ET~b20wNnoGG61!&{eHkRZB&lvXtaG z0bQakii=V9#B?N81r4P0#57;;*wDOXZM0yGZ5VBoZVW2VV8+d3S&h1oj7Y1sPL0Zn z5s)Mxses4=tJPmA9nr1jK6K4I&M+$4HIYK!%u+##CQol^3uoN>rPt zIhj%!rQ30cGV($vh{6cvUIbfCiKHQNglhxzrn}Jlv)1*i0v} zQU==7WctZ0*g9*J`KFn11qF7sY@>lBao0AZ6)F+KNSb9!kmeJk6)X{{Q~?=8in#<< z%g$~vLy_{Bq|sK3SFlUS3v;P#1Z@!0L6Hqck{+#lbY`j;r3AQFPkoX+23?X``~a~B!n_9Vk> z=Z}11im#xlJ@Qq#IWsF~f}1Rt7Cx0^l`iR&8Ej;2O2+ia zm+>3CWEbhNdCy*|wWXa}XQOz6y`0X(OLmd6M+{SqB?*{Ee1lVpsv4Bd)QKs+QmLxy z1eQokdf6aSK&lu6Cqwb&l)3}!ybpFQ3=%cU|WV4Ny>VtNYSNU~XW z9J_FoL~3a<=C@H10cFi;^>?u+N2gpgVd55%VVSXbS9%(l@#a(lQgnF z@xR$0%=|$8L`CY?Fpz$xsItWPWn9`imG>0GLK%w8HmR19`QE^#jg?JlXB5nfwEjGCsi7nm#u&? z8DzYJ^sq{8GMKuLO4-KdnN5aj;y2BwY;U1jSgV`YSb&VBG^T%)XiKb!KzdG0M^0+- z>b!KaYR~SftyZn2G|F%aiccq*KY{zmy_p|EKXEsl7&h$A{gV5vHl9w}s~Fcws*);+ zZBz?WDoph;E<>j@8c?Tz8FKvh`$JAYkwAU5a02}%E!9iE)Duvl3@7Hqa~(a6^X)}+ zj*JC+OFQ+_Gm@jBt0XBXeqodnpt$b)P-iS zE#ugcdPnsQIUbYbiD|yx%NtHTimOmgm5VX6#sZ29OO>Ra0 zQKFfhDKC9w((&?zaKB?&Mn|EP)-u0dU21bbQRW3Shp@+@MlgWFe-Y-(bz|wHqtB4HN`8Xo$gf%coEk!>U!Q!Pw`NvBZ}fpkhLU}{T7_Q({m%p{i{`3)#; ze2-EK(2$GB5VJ=OZQv`3{>Pp&r^l)|a^n~@1GCyC4^@!@R3EWY1=8GV^3Ck(DJ6c1 zw=^0?Qk?~q6{fo2`(|@$=ZZeSdeYX6-p564IQ1y5LOBauX3M6y z@O`tg0?MkbCGwJt>`_$)WKO;qX5}okw^im zjU^RG^~7|F>WNYR$@~~B1G6Lk>;By0SMV3m&t;(fbnZ+!%W(21Z{{>K!?zE3d>J9` zAQ|Gv+A`2jtSrgKl5W5rQMoSZPVokA)cdPWx1IQpn#-I$vW z<25Sy=v1Tu{lv1dS!8A(r7T~Xt4*r#xFT!Kmg64L-U6rWsX^Hann#jAmj9g5E&;9( zX<+eCYRqh^KWDg(n2T=slZQQx|K~qc^EWZ3e@v1mruec^CGLh~6d5J%O}s~19X%tN z{UgIHvCK^_lAHwcCn%dpMNZ7lxBBSO7Og%7+bNa79iMJsO0@;Z7iOH;Y~#q3~u z7_U)=0wNnovQbVM8Za)2B=KU9Brpa`CEr+)9b_=$^kmyfJ@sV6iOB{!PkYO=2U(Js zwbr9i9*c{olb$r(t8|W-D#w8Wt!8^`H=4Y)nrzC?(8czqefvXuw zl}_Sxo*4FL!=qY}ubam#Zy2#oDqx01GABpfuQ=7lk_vpJGT8W|c$$r2zocArViZ?) z2l5-}l(r-&Ly}^&w3&M8H{9kWo09rR@aS)YUY3XyklIX*DVax3<29;8j5-A*H4vZW zG+63SkGv{(Q7ufv=_}-6R%8M4#O)zN%m$W_r=OV3=_ix;FZxrQpV^Dxp+Z{Hclt%brG6DVt771x%&X*bFt& zlj_JYLOhyBQmIlKw@thOl^9>+BDGnDTw&5OE_*9AE@B(waBQTmY8HJoxj4p@zj8YP-kcR2OV1 zjUDNc@nonHKRUHb&H`!>DJB6MsFJ_wVYV>iCP__xXYvd(+(@iWk_@(CSIa|#It8T4 zX_7_)r3}z>!X2SXhPXW^ruZ_X%4Xtp8e`)Z*>0$}59@}kHAX3cTurI44B`bO-2kQ7 zsi4$i8k?lifPwAIsaoi0~WT|$F=47ZQZhxl86L-VO&wi!~Q!2cxX4bgxwN8y4-?O$N&1Fzws>!JE z&w*S@hB$9XHJMEPMSn2o=NQwY-ul?W{mF7t)vvLuY}n%}yay^2P*ztxGU>F)Vvv(S z$0%4p22&}?GXl1CN=*BE)LUfR8VJ+em`vNcgzAFZthbz9Vzo3ZZ6+zjPV>~*w&Zta zEGJ3aRa%rlyO=60zJN)l(wW$@-6or<_stztPuE)9%4yy)%ZWRcwZ)8*oK(5`rab+< zF0*td)-fG7gVf^3W*Nq~wQ<~o<1WS*d}_{4GE5P35&6QqM1ut>bqNiu{Sul0h#AbRRBh=J@dj)KRY@d?*(`H`_K0D`Bze97s!~5oL>f4G$TvO( zo2TCx3)V>U4YtDZ9&J(Kn37t65i?5?VDJVjSb+ZK$q+NuLB%s@OpkokEN6o9FhXqc zQ5xe*PzQ`2k*eJps`r>5Lfj3f3vc>wvf5aM^b058VHT&v3spjL!KxjDC)Ie3yh@~i z&JZIY=}!Y~EKs}p)l#V~QI*udvLaPwKyhmpZ$RCLqz2r}h7ntqwWFV;WlPF9J<2wzv4hGoLY#i7 zlp0GaU@9e3O)}MbY_x2tjJIkLjv1%=h#9AO-^*0t3ijK;)E>K>IGHh6WI9JC<88Zq z^EL)qPQLISG_#G&5|6c`p~-qXGWJ{0JmaX^F-tY$QcGf7ya6^yvMfD`wS{rBNs`$N z`^dPQS#@F*S9S-d9;Vb;fV}W-SX4?@Zj!0JnjRf<15QEm#OxGbWaCza6VS=HYDF55 zK@Bo2QhBKUQLKAxDfz~E20f`3BSWf^vOJ|?vVqKB_vaz>t(#K_zY4N{(so<0xZ{!T-RAnwl(`-#QpWdJPbmxC`z*3wi`M* z3JL_l66|hO-_+hL*;!@fIF*$QoL5zSc2)2R@Q7V0cvUik%`9=^`=t&|4iI2OG7Lc? zAx`Zf)0Q2>?K}d!Hu7j-?%iQnDL~7$xv2|F*e(DvKwny#5Tq_FxxK;A2UyAllAblG z6nY3!6?_0x(-I~S1mJd*m}CsW0zI!vW}bn0Ka4Sp$%Pjm_Yg!?v9?De_kszNvIL*k z0PF-H%>^GI9w9WTgyp1~G-10Og75FxNh8B%)RRj)E7mkqxTIFhupwhOFv*QO0r&+< zeF)SxiIX7Q*j(`k9pg0weH>0etBXmAsi!(HQ?{3bCeErUt+0Wz+K^~mfMxm=%CJ7+ zLvaXjM>`s|lr&I+U!Wve0F5d!5g;}8OLQ%u%D&3GI@>#RR@;UNPZsPLOy7yMk(DKe zXW7fu)L!aYv+LEy#Bk%n%QNn3&P>QsZ!958OYi__hntpIgX$qbm+nDJi-BRPaw#-P zfW`$P-m3tM3zUgX8>J|)I6rd$a5P)BxBvk+hE*)a-(m|+B zN=uW*aXU&ot0X9Up?MP64L#iR+7EhxC!0Lw+>3WrY;1wUEq%}-ke`b&KO=bkP@=@* zgweY|Dm6>)Vw_r{RFd4)$WkwsXa_R{Xk0*BxT=DvYS&`4QQOPLAi14omvY z7cGf_CjgWaz+LPNJ^^?pel1Z7kOZhE9!u_8IPqLX31D6gCF{Y!Ex_UzNL4HqpgkJ7 zSH)m>7BH$4E6gn?a#aNnsisXPPb}l1V%a<(^Z+VGX#uYGn7g8p+f$WG%QjVmiE*if zC07HN4DwPfIy02^{+GEZG=39**?-qncqq>K`(F(NcUsvg@=fJStM36$W$ zB)|?$>8x$C!ji`^h9JPM#Qefb9QOdJ8cTMD0D7+WSlvPo&jh&2&dEo+7Q?+sfGT@F z3CHMUuH=phe%+J9ZV7z?p%0RKcg*6Ktf{6FmI2nCr|@(YpcgGWCTyE(Dy3!lL?Btb z!~7u4Zc$>uo{Ntq?mK1bV%fj&fB*bv{l}Lwt2!i08Jk!5gZ{9pwr|b}JU)Tx&+p?W zUw3?yJ*RD?<@LvNrxW-!3FuFaGQTDaKd2LUqXc|lexnb=TX6#KoxpdzxWD5m-us*4 z-8lg#-~^n26L11fzzO_h0(#m1Ie|d}{ss<0vgC9E`n^)-w5c1Mz#xJ6rmg!x`#*`l zpa09ELf@K?kMY%~ZO#ce0Vm)DzA%AreU*RVN99Ly0&kXp56o}&fppt><*)jfweH=9 zTyp|WzzIA*f%K~{EuTN%6TUEkJKv%^z0Zi!2e~rUcl(&iO`3E9Pf8%Z|LguFf7?2N zc>tqR@DU04Xa6HUCU4RS{K5qEx05p89n0rFuMg_wH}i8p(DHFiIsqr(1U@JM{|5e` z56fE}Cg9`NFeuBM!22YiFC%5%XSd#o6VUIcGG|lr%j;}nZ=%2d(Z9)qcpFaO%M$P} z)i3)%{Wwm*2{?gwOTdS~cl$(s!+!j&i%;3dyx;I`_cJ;HC-Bh;_=WY+AD=h>s}k@} z>#zE_AM&t1ia#Vqo7_*pzrHv_O+y*hKMLyW42j>2lb6+iUGx_ET_%nU;56Ihd0$-ef{{B(s^5Z9~ zw7hKV#-B~#mmJ1^Hsp7ku0OoWyxX3=A1B}hoPZPfrUZQa_@+0AR z{5NN%&#uh-e1bm4zt3m!^*edzAB5+HA5XpR&l_Q9C*TB}fD`z^1U~oe=0o5Qer-H@ zp1|k+h|QnzQOfVgYW@^+<)adQXCF;NnP==@rzrD`x$o(z&#ugS?%cb&mViIsYq@=2 z*Oz@0_;DD=2bY+%+)apZMa| zJuCBq=sdy+H~}Z%1e|~qZ~{)i3A`);J@G2@vdwtVTP2|11ZCc8!`{rx68Ncag3eXu zWg&Qw6L@L@`rTGWH{gG|*G$ax38e2;TK2uJI)R5L;BVl=Bemg5K)+YYI4CFZJ_-2y z$)AO$p$zLk7yB6hxu2bP?gX5G6L11e0{Y@srfGM{2{-{KfCPMCMilP`^cTA_@3v>} z#|bzAC-CqD(yzX>eE2vU{)PnZe2eb%J|kNn0(}DhZQSSM z>gyBG@1!!X-<2o6LjuqHCOpsi9dh#?oPZPflmz@w2RA<{{bjDq%@J;Q0#4u!6VRV@ zW!`Yx-jWk=0>3Z;{q3a8H^rh)r_853uMg_$lhTh*nNRsZy-z3L1f0NUC7{1=mHDhE z@@}1gCg9_iW@5$(ym%;m>VR%v0>38# zeU~ZoDQWl+_$i;%FW=|q{)oN)gZsp+bkEA{lAJ4d4&TIU8p=H5d3B01&zSq3p8D*{ zyywont4RX-X(}`EvF7^{__A+8dYs8JH0jPCbYsFLIG`8I0w6Q^@1OrX{J%WoVC_Gw z4gzxd7bKuR%kTft@408*)ygm}-#=CF&?L8?0{U#{$q|vs0^8|kI zo4}(Pzj0=oqG_04#vH}3?TfD*nmfTUjlc&MR$6ik)#iDkt%;KjGvLYJ)M9PZ~{(X zn1FvF4}-GoWeMnaQkj=+#)IA}f#-b_p6C2l0eUk|zzMv00{*9in;($=GFRs22)8={ zC-9yL@DDrV_uQ>_Btg{fth)34B%p{Dxxu zSx@2JI)Pu9fPY|r;fH?nk$n`u8KB!Am4JVJagv&bGOT|T)+x$7YSu6J;b0m6@>st6 z@%_U6?$6gx=LDR96Zr82^hBY|k8jc&Z~{)i2{Z}(k^^)9%ek*M>ACbi3Gj!=_nGbz5Z`%ntfj$BLVQ1WTt?DW9p_>JdO~A*?$L47_C*TB-fPeWT z3IiwL1YVy2{|aLK`klQ0M9zot`|teWJJiQl=HWvx8~PZ3IXX95Y9e}^-jPE zH~}Z{YZKtt8RL%&#D~C-`^bLhhClkJ?8P71hi1jwW_+05Dee=jgY5@P5ws zPQVA|_x^mmJ15`-9*_W^KptRc3n$0#3jQH~}Z{-U;vlIPiP#*SmXN0{(8i zF6)n)^s~Px_-px5v3avj;B*3KzwQ2~`_mD-!3j8lcS_)A4;b&1g!l5`1o(aGui1mc zwcVo=@K;n5V%uk!N2O*#Q5@W2FoV18hjwsHba zzzH~kXC%Of-i4nr!k)h>f%ryUd*nO4*CzH|KFIa?xatI)fD>>6KbXL~y)=I?3XguD z1mbJS_xIVGck+V?Jn#3_^PGP$E{}EsPT=Db@IM`V+(+gOI{_!~J_-15hxhp`yb~wj z1eyf+m(?%%JCq-}N#@N2juNJ0Vm)DenSG^@k;#-pOl~RS^_?9UCYf~PQVE` z0Vgm|fKO8o`8OHAyyoFs=>(jB6F5x3zf=z+vcL&A0Vm)D?j-P#KLPG+z`egP0e|b_ zL-#T77k>Hu$WFisynh1xFQxClTkp^bIDtsO$4h?`&L-fa_}Rp)cLGkp2|OeLAGRM7 z;|H1eh5JDtmbdBzoPZPf&;>6PQb?xe+Qg^6L^ON(x10$`3}4C9-M#^ctHaE z<3Ar4U30yauS~$l%U7oDSx&$SH~}Z%1f0Oj61aA7ecATjYLK(S$H7s&`Cl=Dt4R z$wa3yN$I0C{1JcjgLv}~OyHHjav!+uos~WgGmMu*S`IzAYlo9n$Z-Ex^}m1qv;N~t znN=N_4okRLnU6C*TB}fD>>6PQVE`fqxS4f!SXLC*TB}fD>>6PQVE`0Vm)D zoPZN>0#3jQH~}Z%1e|~qZ~||YfdA?Ktv(KK#tAq9C*TB}fD>>6PQVFF67Vs8l9Dw} zzzH}3C*TB}fD>>6zcv9Mn1Ag@?+14RPQVE`0Vm)DK0N^+>6PQVE~H39$A!BgY4xf5^#PQVE`0Vm)DoPZO!mVgiH*K%{06L11fzzH}3 zC*TBz3HZ1*49YSm-~^n26L_Bl{PKFA&%!%#0#4uy67Vn8FZdAs2u{EWH~}Z%1e|~q z&;)$U(@e}b0Vm)DoPZN>0#3jQIDr==;G_5pLiPwJ-~^n26L124;rct^1e|~qZ~{)i z2{-{K-~^fkd|+0?$sshp}fTY=0-<1e|~qZ~{&sCE(*n3dBn% z-~^n26L11fzzH~kI|=xBc_%&hIsqr(1e|~qZ~{)i2{?ftNx;YWABo*Voq!W?0#3jQ zH~}Z{vkCYR__O(Yx)X2$PQVE`0Vm)DoPZN}w*>zDeWhK21PDP|rYs+&wti`=_;9$)JByhjV%3#l|*8~2{-{K-~^n26L11fzzO^>0UwzEmxYlN zZ~{)i2{-{K-~^n26L11fzzH}3C*TB}fD>>6PQVE`fj3CN|8)NbAA+~w1e|~qZ~{)i z2{-{K-~`Sk;A8x`ysUNtPQVE`0Vm)DoPZPfWeNDe{L4OYKduvS0#3jQH~}Z{Jqh?A z_dTDbpTr3`0Vm)DoPZN>0#3jQH~}Z%1f0MV67WAAJRwwDIsqr(1e|~qZ~{)i2{?hf z3HYFXH$nG10Vm)DoPZN>0#2Y!z{jmN9v7W}6L11f;2jh2%j+FK74OLjIDwB%z`s;K z_M`L0oq!W?0#3jQH~}ZnCE#OTmyT;rzzH}3C*TB}fD>>6PT*+?_$dCgXl?8SoPZN> z0#4w63HXKkzbuTLfD>>6PQVE`0Vm)DoPZ?Y1G7Y8!U;G5C*TB}fD>>6uS>v(vDano zNlw5CH~}Z%1f0O%3HbQoFM<0#4wq67V7Ltv(KK#tAq9C*TB}fD>>6PQVHLcmjX^ zzS1^=#2wXAj4A^t0iw#Dsl@G!3)z4Fu;Bk=FbkCbMFV8$R|cg$_@F}d!6Zg-V?)8B(wiBzv(apo&={?+A zIhQ9gK6GP2=^TQ~p4`r}fbTdT_BKz14V2)TGj}mAN0@X1PQVE`0Vm)DoPZN>0#3jQ zH~}Z%1e|~qZ~|YDz}NiKz5ZJwGmPU?Q|8X68E%c|Vd+qCZF{9{ka|BgqIBkL8$my) zY2-ckCR*L~GS65Y8YUWdg0jl981GEXI{_!)1e|~qZ~{(%6ZoKGJRfx!$KwRUkM=06 z&dM~ibgL}xtE?>X&Gyps$4P#uz(2mFW&^z2Ms}@qXx`*=r}uET@_ zdvZI^0>0zC>t&uXhE6~{>6 zFHYd24|31TD!t=A^qqCM?ev(O=bc{mDRDWMCo(P_c4X-s;>(`gUe3Ma-1qj?ax+Xu zJ2Q;SDo0#4vf z68NBldVj9ytC2Qq=J`h#>y_c^`{2XpZ64%K?_mPvT%O4I(2WJ9a|kYbay!ogeoyD! zu9#=ckI8&sJgk8eZ~{)i30z3vbB|kiBg9ib@1>y5%3MhP$6FBK0_D{_=AGVh7L(;% zp2(OR4{_-nU6(z%z1+ZiI?s2tl(@KyF$4xq;AIJX&C4qi+x<m9hD?@oc_L$OJjA7QbY1r3_HqNyb6(?`Cn`6C7T#59(vXL}yV2&I zfD>>6PT<7}_?R~doZoAz@2jeR6XtN+At-lyr?)g@vYg8k8FS+yE}f(6vM0Bf8+e}c z8rM8gxfv$=-m=Qi!kBH1oq!W?0#3jQIDvTrA9NJwSHGSUl$nRHlx%*g@pHwW_{fKQ zZoUS0dJjM4axPC~eCWo4(m4c|J-MA{0YA@qjcA?-8`y!qx2*EBFy4(Y?*yKgz{kCC zIST&y;vXgEL*G}~^BQLV(m}Tb*_~dP>_9n}CoM=%{vhl~s!{==t zlJ$&}I7*2eE}P!nMCKU}CtBtNoPZN> z0v8hapu<=^-8;M>Vh`!PO{;0IpAV9#t=+EG?vPpC-aO;6O&HB2|O@?uQ`73ua1Swi#4U7B%_N<%5e34 z@Zs||4|1pXFoAL|Ph@=P#)8s01eZOzoo6k~o{W=hxLgjn*o`p+6A+C_$!?58#th?R z;-wRC0#3jQIDsaC4?14*%Pw&9TxUycezv#Kv+cw8+|2Dux)Wu3hwrQMCsjUO6VaXC zau$>2T%O378xL{m99@?^xjk)wJsBt2aJd|Cu^VFuCLkJj%CgF{81GEXI{_!)1e|~q zcx(b6bc~M&-@Pu&_v~Y{dPBEe8rW(R%bi~M??5@1Co3Wj;b%tWs;?77Du^oJE5qB+z- z^FWZsrR4($C99_nVspmWLy%1=l#O7OE?mvr!m|B7~_O>X7rq~Rr;nGDQUj8$1OPjcp+FvcD*cY#wEyD^5z+_`LrkAV|# z0#3jQH~}Z%1e|~qZ~{)i2{-{K-~^n26ZrH5zUH6q@sED^MED=~`YKwk0UeZlFnxh^ z&3jYhWZBG3?YxatDwlB9DqAsDWyw6rnRmi??IA78UG*gPyntSPmG$>`!fwV+zzH}3 zC*TB}z;`F`S;zSJEXvbPNj~JWQ)guk2lXv|b!X09jCcCa;y>$&p0Qi@WQ@--$fgv^ zMzBg3u4Zm>D@P{{FX7B&V76kc%944KGw+1)+Cy5FyXr~oc>%rpD(mm>gx!ptfD>>6 zzcT?Jm=8bq^twsQ!}iO9rw(Fs#@KC;O(~R(V3jUh&D`Wxj!qh0!kNjyY{giWCG#X_ z-U;K!?s++>6Pfg&14sz+8l9rE6sWdOi$IgAA8}F7eMg-ZE zLfHsb>B7~_O>X7rq~Rr;nGDQUj8$1OPjcp+Fn;Wwm$P1YqO!_*-56Jmoq!W?0#3jQ zH~}Z%1e|~q_zeks&_5llkAwe;VVp|8;e$($oYIH{f^14GOQE4R@slNb7wE5YZ%qrF zRl`<{Rar8h=!^$R&zqKz?Z8?6&d0nHZ~{)i2{-{K@Yn=C=%CKW3C0l!GmH@zlZ+wQ zfe^1du2b#kdNJTlGR8K7Y)YYQ1gmu6YUU=la&*%063$EpW-G?3ESVQLuMz3ueKJn6 za>;tehhh~Rwrh(SC*TB}fD=dwe9&9#mn2&50CiU8j{lGJ@*^EeAdPO@^zdd4d5t4n_X;2{Zo&C6@0 z!9PcgQ|TeOu?f#&3{8+tDU^+1l`dS(+~ih{P8wdqnaRLx#aNXk^8)8JLNClMtEvws zx^~sXABqnJ$tHlpY3HFJ|&IXY>031=n) zvlU}imdp#B*9g5Zx2&o@nCRM7Suy~lUAUUL$*mlnG`xf}lY!Zau_{aE1pY3HFJ|&IXY>0 z31=n)vlU}imdp#B*9g5Zx2&q3nZCELst+^9PT(~OeB29{e@^2^EP`UZm{ZG}QS&Uu zunn>)m5;#W>b-C^bCX-Sx1`}EoS6*FR*Y3yGCSuBR`5UUWdUP2?7&1Enz?c}%e)hC z0#3jQH~}Z{Qwe8(n4h3bGNhjb0oPZOUC-6asvGq{=USK?b z-iIiEa5VNGdsuf|@31Ru=JkLdpD}h4WK#-dBUq&iS2H)cm7|k}mvCk>Fk3NJWy$QE zFIbiSi#)VC6eQ=}p3|&D+e1N`>!lNL0@o7wn&Sum(qN2Om}CsW4up8!ah+;M*NXvf zk}Fk3NJWy$QEFIbiSi%eE&x$A29-JZ3jpVe2@ z&5RRp0#3jQIDrp3UZ&SvT0Z2Xe7I*aOv{Jt`GQGoW8HDR$;Pms7XyBL#@I%XO(~R( zV3jUh&D`Wxj!qh0!kNjyY{giWC9`wBU{(4rGFheNuB+j(=LPiYtE|7j6LvFp0#3jQ zH~}ZnC-6bX`1K(CmSmht{Ud)(l@nl$2Mn?)g|ZQ>(uJ#;o7~FLNyAGxGZ~nz7^|{m zcFq^9O8-SBtF+v8H9YpbfL?u-_4jweZpKc)2{-{K@F@v=)*&!beaJiOAtn$1l;3k# z=`neej3EoMDK(!Xdf_$)=v|<{%Dpu$a8?alF;->C?3^!HmHvxVD`pt)91z=N& zR%i8ToR?0(2{-{K-~^n&^Ah;;_f`5wY28t6#LxslueR(;s$5nO|6}{tUw@wSU)q1a ze8C@9lM#(Z_g|jJN>Y0-FzT$#1>3`x=S@-P#PE{w+H+be69SbTK5w!*bT}07#Aa9O zqYPUmeAYR&@0Pj;W*F}rcD(j7!#Et2VduWeN@FMB1e|~qZ~~v3Kyy+>sed}io&+#m zU(L!uyaN|nc2>{kb*su8?xAn#tB2-i1v)M0#3jQH~}Z% z1e|~qZ~`Bfz~tZC`-hr1+|gjV{$m|8f!7_^yo#0!fTu)zVtC1TiPKV<5U6ajPwrw| z_8tnjE5v1slFG1E!e^aR`);XwV21I|q2almakMbQxHLQzlwBsBfD>>6PQVE`f!~?H zzvwmOWgxAjCT$V&+Uw(g&D@B;h~`H zGU)`IfD>>6oWSHL%X-BVhdUabSpNPmN$tJBsIxK`Y!6$WH$|Nj!%N0%&uOVl2vm0X zyvgd&;ZVR6n_a1oGHjLbS?AQgTk0N|VH^(1?3@?RV#cX7aZc^cP?wy56L11f;28-_ zj#&NNiNhTYrt2$18HjI!(zzrtsINly8lam=3@;h4?WLtMAyC=m(YT9o*?TD9t`L_k zN-D!v37>UN?YpJ!ff>f(pv=yB@hoPnR$5KAhk~T{(g`>LC*TB}fD>>6PQVE`f$vLT z@<)CD)Dwq08cf$eVVGfzmM;eSyouo@gP4eU}#%1rJfV)CmwkW9#TP1wf zIkh*-v(8I@_QD7>27~1xIIBN2w7>~C0Vm)DoPZN}NCJ~1bU$d~a7Tmb={Rv`xja)l zrYH#Iy5pMnqUFUvcbFJnGG6;kOJzc!vdJ@Y7vr+`P{3UwE?bmThOH7l>zvw~C2xcA zYDvqI**Tx>RXscRRaP210Vm)DoWL%D$w6q>8~nuKjz*`KzyC{8doM8Rtjq=5A8gV6 zCx(}d*Phc-nGmRK^1R%|xa>U?a94=S7A2KotAx)wr}k#a+hDv}(lVIFic4khBJ~Po zS%O&IP%>}=PfcL*TIn}1ak!(=>E+LhlFTqx!#j*RCx(}d*U+?7CIl**Y?!+km%WDq z?h0|)qNFlxmGD{T)ZQ$48;qlc8ODvFHumDMUH9fXHM;R}>1Pv|{JQIRIB~e6!F2t~ zDFd-VlYr)y7+x}7o@uE}2vpYW2PN)e3;}~ffr`r(C6!^TghO1mD7l#V#qEs4ff>e! z{)b`~FfN@B1!b2>C*TB}fD?F40+Rz+zmti>9Sx@I3q=`-p8@)DeYM}uo!;KLtm?SL z@RIRzOG{-!pt5o&iR3QENfygP0e6MCY*A7fwo3S{b82svybZ?D!VKfa5GB?#zTm9w zm}1}roPZN>0#3jQ940V1B=;s0hdUZf*OxvsjM1W?m))uAtU1%qo%;-xI&Q)Y&7UMY z+#w4Xul=N@G9ggen zQw*HIQxllH3i}OA9PVf^J$_8q9T)%LFb)ATjI|2G3*gY11&r6Mv{WVpDx2(+yBL?f zhXU>jaoM7zGHjLbDd*JNEc-oZRhganp^^oROT$A!*=5oRH~}Z%1e|~qcy>TQ;XduZl1woz(&b*?h(-&a{_>;#;E6L1385||v5dgqD59Sx@I zOF^&54SBT3N zC6!^TgikrA-r*7>8vXP3+&lNxX2UKy0Vi-Ofyu$3H=H=!(O|m%T409pYU!6Mz!U{x zweGl*Ir#Shy2HfqlJR0#4u;CNMep^|4GG?r1PwUvtVpyaRnpU)^~&yc#Ogv>%qP zxkcBy<0^eh5-raIFP^L862nWzD}l6BCIl**q{m&1%ico)cZIlYQBoPUO8As>>K!gI z0{T-sL>B>6Hxrl~u=^1chdUZf*H>6 zPT+Y7{Q3JT{iC$*sDdd0WC5T_{92YJkP6`N=dZv1_1}^*6U!aRzTEXU#)t`+{K?b% zOdRfLbb5InD@pCWz^Jn_7i##h5jL`)bld48Q^< zm0>+&C;`eUlS8bA%rG7rLZ-dUFpd^w8Y`3xoPZN>0#3jQd{Y9Gqip}Y6Nft*OmAM? z&>Vt?m>f=dh(Nch%;BKErLP{EpB3o1#PE{w8kClaK^5TC-nfggn)KDAhZukbN-D#8 z#!v#3RVIg64HLsl#)tkYP7E&@t8-sfy%{Iq1e|~qZ~{)i2{-{K-~^n26L11fzzH}3 zC-89zO#V^5f2fJW9Sx@U|6UhW)+km6=9d9`hDl<0$#{v=GBKzEoZ2LJF;0#3jQH~}Y+5||vYQ%hP- z9PVh+xV0>gLnW!b7Z`O`=Fqlp>8qvrq-CNh&2N$qnfnlvn-4N?fB0_IFfqJjy!M=y zi9r=${+K(f(&3ap!~pE6q%y2$3?)EWWpaqskQv59LzZznpE9RWnY&2{-{K zFic=_l=d?@=ssM+N$pY?T%$mS` zHR&M+V1bg#u%0oL0A-cQAyz|X7>A)U%^(&tUM*=^GH_NgN(N5A2{-{K@R|fBN34D) z6Nft*OxL%DG7#ScrE^JQP+x`YH9$9$7+x}7+e^#DpbBv6iMWfgn)KDAhZukbN-D#8 z#!v#3RVIg64VhsahRQU9Sj>6PQVF#aRQS+>ifr^ zINZ@-djD5UUxmrn0Da!X@RIRLAT1MvD!{4GxQnrx^wp$?7=Q&zD#LolPy&=yCWjb? z0NkjgGORCgw4}zgEE_?d5~It&2{-{K-~^n26L>)alOuG$jfuk@4W_3P#hoQQCm;s# zIK~r)*K2f#iQy&Vwbist45|R9o{qa1t4Uu?dWZp7prkUaXAC7kS!HsL*^}{dNXwGh z4La4UVz%w8tTc84PQVE`fhK{;L8xh8rHR8GjZQCL0VS!u7Z`O`=7Q}Hw&?y7!%N0% z&uN($Q~^#sCU-GblfIht5CgD4No82i7)pS$%H$lgC*$RimUGXtw{#1#EMZ(E(}%lFTqx!#j*RCx(}d*U+>~45|R9_Q_q0)ugW`J;VSkP*NGz zGlmkNtTH*r?8!JBm|=YAKNN?o7x&e}omlWb2~2+7^}C%o+|gjVzjcV>CeS1k!%N0% zZdxV=Re)1lsSN8GLkUn;nVe(xWE>96Fh2A@6tjS_I`>u8n{fh8 zzzH~k7bh?|fc0CNINZ@-`j5X;`VI6|JVgoa^p=J_spAsEOUBDKEfa$(K);hz3c9zzpMwKkFHvb=Ka=bZeY|6L11fzzH}3BrrK7 zLtKK1!yOHV>U*CV#%NK{%kETl)|~0*&V7c;$+(GTIPM`b-A`h8$#_jq%fz4xaB9Qc z#aK=HYSKdtzyc+eVLf9g0m>?qbIhKM!+{yb6Mxn-KI^Q#lj+ttfrlh8c@_49CJuKr zm>xeV{PVKI(K4@M#09`pbnaqUz&Mq(7h-_W4DZ~V$|{pX zTpFTRtI9x}z@d@_jFZn=_EpuJaRN@j2{-{K-~?Wlz~m^~Z)W0fM}z5cqTqAI4zCt2 z=@On3(9fMXyk3(Ye{CQ!ykxA(#6S#i>gl+Pv6}SNq=y)Q1xhNzdd5%!lvO5&xHLpB zssJb*0<-{di;~Jf-;|&+Z~{)i2{?h92~3Vj{fLRf9Sx?x&wHWVNl9Y!4+k-hhcd>v zl0@}+;Kg%wTw-|1cqNdQi9r?MRA}7ASWWtB(nAcu0wtAUJ!2>V$|{p*aX6R$u9~urn)KDAhZukbN-D#8#!v#3RVL5ka8CYddCC*L08M+Z>8p*cOHRNE zH~}Z{n-iEE{Q7(*4tF$|u5UVJAl`w#rLXQh8(s~SY1$7<*W99udl_SBNuv5Z@Zz~T zE-}1hyb?&u#GndrDm3n5tR{Um=^+MSfs)Fwo-vdFWtGXZIGmGzT3+*vF12EYu}0#4v&0+R!FKVsr=M}z78Te7dhV$|{p*aX2Ucw7ljSU24S)W1Z4hRd2=#H~}Z%1imJL$?>dz*ong( zjZS~aYwIBulBS|45|R9!sIT-YSLGe9%29%D5(tV8AAzB zR+&7D!#Vk<W!Hwa1qR+c0S7@rbzqp=fk0#3jQH~}Z{f&~8jeeDLNYAkp6WCB^@ z*K$_^&w$(i{Powr{#!a`Vj0cgL4v6OPdUVsKY4nSiNhU@PA`vSC8@m^7b6zCG$pCM%xH@;&^IM$6b!qDGWIW9N|L)yVRmDD%A^$cZoBG^FGrYk z0#3jQH~}Z{(FshBvi$>29PVf^{kOfK^?8*+IM=|#4bN_aH^4Z2lwtp}T9VwQSX-1q zS5tyU!LVy6WB;=>(g`>LC*TB}fD>>6PQVE`0Vm)D zoPZN>0#3jQd`be7e^l?EW#Vv0gX#T0*+rE#ij{%+13^E9t2(r-mZbJFqb>6zbApo0lQCQ;&4Z! z)626^Nowx}MxB*8wC!8^YH2=cnP^J$o8&|0KE&kagUs7suv;F%I5w#aZ@#RSBzGy+ z7G==Yl%P>C>>A40zicTBbmJ%4sT);j?w-~^n&4Oml6KuBHTyf??NC#{OkXNpjaI+`IKv9;8ZU7)O^fJ}m5qr@PQVE`0Vm)DoWPS3m>i+|(G!O| z8ca`ziaSeqPCyLeaf~Mp@1Ws5GmgC}!+S2PCCOciwM7|pH6>^i47-Lh_AgsXlDitL zz05EU6J;9nRBC#!m6E@gPQVE`0VmKWFgXa_cbH7sX>@w|f+$Jty~eOP<7;kj*u@XU zIJT+`KSEh8N$ygtEy|#)DM6!P*fo@~f7w!!+|^+1WrlHMGAyYZ7yz|uN-8$v1RkEi z?v=rOKa`cvz&gGBsZo*{#%lOjhG#L3Da!ElvRabdrC3{(L040PM!~RaC}aP!r6jql z!P?6V<1kTXXFgFv1E6kANyTQ~Jb}rt!Tu2@4tF$|?k^sqcsSr}8OI=Hcmrj%B)Lnm zwkU(HrUZ?GVb@T`{$)!^a#w@3ml?)kqRh^`S87$6vlDkaG4BMNfD>>6&rV=+0PFWK zak!(w^xf+Qf@gz%1AX<`d%Nk+n`a!h%J8_dT9VwQSX-1qS5tyU!LVy6WB; z+RF^%Fi~b_u1aPY_s*)^O*HQWoPZN>0#3jQ>=Kw9l6SqqPaN)OFkN5$%rHjFS?~~( zvqN96pFHM7^ZK3hMBX9e&?vL(1>d(o#z0$?fxan0qhQ!Il(B!=Qj*-&VC`jwahNEx zGgl=ujC*HQ?k1Xd0?$Zb@+$1-P8{xNFg<=)_(x`kqh(&jh=+hXbGa9rDM?gIpe@Rv zu_-~LVAwU3v47c8lHAqczE`Wt?96+mR+S0o9lx7v-U&DXC*TB}fD?FS0+XX`zn_W2 z9Sx?(p@NSVJG@%Bq)T{CKtFfl@D3UdgmLUm8QybQElKWDtS!o*t0_UFVAwU3v47c8 zlHAqcVee2@4jT6EWIMi`Wzq>a0Vm)DE+;TKCiUhMhdUZff1g*wJM1L(z&l}#(0(o8 zG#E!9%5YF+wIsPqv9>6KuBHTyf??NC#{OkXNpjaAh66y^(pSrtMV4JkDiek~emBm% z6L11|5||tedjE;T9Sx@UzZ_DvU&3<&!io(UPaNJs!+T~NdsBw@TvkhxyA*4SGU#eb z&?p#o4Q1?Kwv;4y9bz~DL`zy8`jmo+Nuy~>KYLj%N$ygtEy|#)DM6!P*fo@~f7w!! z+;xcI01z!{dFaCe?PZ2>KTDN7#n=fr0Vm)DoWL^@m>jVCxf6#w8cgqBlzkN@Uko?_ z#_`C?a1>>=B)LnmwkU(HrUZ?GVb@T`{$)!^a@Qe-13meq(x0}pkclB7e-J|go#-Ue+eadP{a+hLlQ3hR2 z2^s~%uAz+m%a)Slu0sq5fL+U>KpV@JlGNVC%#~%kNhjb0oPZN>0#3jQZ~}k+`s-i+ z{rOWb!7mUv?x~%YJmnBi{^aRRCJuKrI=wuVfef(jdZAQSRUb@rag`aysz)`zy6c4! z#K{K&?OjY?EnAf2(Tqc>3_Fz7lH@MM+M>*4Kk5u-X9&Rp6AkMFmt7zOtb2L&)zbfg z&dVQey1i>9^)cfFoPZN>0#4wg6PO%j`v;sj+|ls#=Jg%25a6!8jRU$C;0rAfa5XSW z5VMA>%=cKWb`1R45aa^8OAVJ&No62w%y&bXXJ^KtQD)Z*zHfnyfwm|U`W?@1C7v`+ zG-_UUfef(j<<(cC1y<#9kx9U^-CWiLE`3VpQVA0SC*TB}fD>>6PQVE`0Vm)DoPZN> z0#3jQH~}Z{H3>}qQN4fIiNhTYrtkhKF9fJ6SOO)%z#pI`OQ2*Cmq4eJA!T_6LjdwKO$w7_jKz;>xl6IO zC^OlQI)m96La@L@!}`Ew7svqXUS53_EpS^5aNk>2(c3$hRgk;~CXJnd6L11f;6ehE zqikH0QV8j$4+C`?dVV1B_FEzB_HDG7&c-St8#Sz!r*_AaKcmMuzR77SU# zRptYi)soa+X0%0_W+Ged@XnC+6AkMFmt7zOtb2L&RkXkj41=;-I;)Zy#^J9_&-1Q~ zoq!W?0#4xB2~3Vy{T?O`cQlx;FO(gle3%4}JDgK>ElY=zgt)AN46yEcp;T7cUwh|F zObI>X9mCG5U)7T2F2&lSOmyvd^-Rp9aiU4KYgu-I46yFy)mPC1H!uv!YU!*>W*CRR zGCj|`GIjz^zzH}3C*TB}fD>>6PT)5rF!`gt&tc+lN5j*1f8#7oD)md%^OO>YA?`^7 zegVE>8P&xDum*hUO`5|cn=_6^W!SK+mLzv6))r+Z`%z~wJ3|N-m}poZxazK2$Ic0W*xX z3d13Qn*umQ34+99xj@ozV=AEw8ZZ|Cn==k8Wq3qcElKWDtS!n+_M^^Vc7_lvFww9+ zaM=Yiz`B=LSw$~e62nWz&@T}Dx;NLZ7wx;=rg7I|-U&DXC*TCi1SSWevJvFO;f@A_ z0Lr%j$N=lE7fNMS^q+jB)rV!~SKpB)Lnm zwkR{%k2-_d8A7nYM8o>PWf#Z*>t0@E6}@O-2Dt1^Elbl}u!4pe#t;N(N=fOZ6L>}f zlh;Z=cj9nIqtnZu8YP)wtcGAhw(fT>p2avkmEl=swIsPqv9>5P*^fGd*%?Bxz(m9P zz-1T60P9{}Wfi?>VTSSH29}sF^ae=PrGy}1Ht9=A>E-(;F!^=YKgGo1j)tf6SCsjM zQ3|l`dZ7d{Yvxt%n&4~Bt7~1@DnObD^TeN8vN_{0QHIUSYDsdJVr@}ovLAH@vonNX zfr*Cofy*wC0oJ{|$|`!%!VKfX4J>6KbXMe0M>7B z;&4a9(+}S)A;2BIXhdm&bTy?=!X!0Ls%6U}o1qv7O=;3s%N8Xu3tM6hSD6o7R!dTQ znb8(ynu%<+!#hLPPc*C#Ty}vBu^Qd~|986E^+ z*RBHCqO^cssA_4>VAg7391hB`b6G7(?ozBR%1rj7&R}+i5G*j!us(3v1v0?8mseRu zFIt#ke7J!n=Bw}RtGy3bjh(==6PUaT`#nq??r1O_KUNBs2Bhi_tEpvK-MM%tjKfnI zo>f*$lDiaZi!zh_s56+IAp{FdG^`I?c7Y7A?&Vch4|^e4o{V|K1!uKVCPwUd-hishSFL>pGw-L0@lDM z0GFb%xu@Qx1fxUM2NTh?0ADOnelfiOw%i+-8yD6K0xiuM-T>opP==k$YDsdJVr@}o zvLAH@vonNXfr*Cofy*wC0oJ{|c2%^mF2>2^u(Sl_RW>TAOt|g%a+XOa-~?_aFgY0X zBPI@aG??E1a^NcCXjcZdhXB0_&>JNP5|8BqNyCk)gf3{nTmWp&IINW65oNU`xl6IO zC^OlQI)m96La@L@!}`Ew7svqXUS7K@+E*82UhaBh(4<;!iQ9LAw56TQyc2K&PQVE` zft0}H;Fns`a^i4DgK_$@+cD)k7vuuFOAVJ&NoD4S+8d1W7+ngOEPHobf^7++i_O)C zs|$w@%UGa%=%GZgS}p)KXB<|_@QAWnlH8?OTa=mXN1eg!3?W!xqG5gD zvI}H@buX`77455wF)w$$F{rF2D|SnmO#<^>eYk4u1e|~qZ~{)?83{}d*!|pz!yOGz zZ{C%u)GwE367ZA~haUH&0lxrWv5e~C0ayb*^(M{XlFb=MqcUt*R!fq*6l;qzll`bO zn4KX63rsYu4_tPE46yFywX33ibus4Ut~Umi)nvtP3A0IHzN-&cjh%oKZ~{)?yAzlk z&-w%=4tF#>L)itg?>*d-Zqkes zZ~{)i2{-{K-~^fk{`~dVzyAC4r(S|*uy9<-BCk2KRT{dMX+#q2CMKDePQVE`0Vm)Dz9WIj zQMP~5iNhUDnvVDQ0_jRG@w5zaNv;y}j8R(T&Y{%*qi&s{DM7Mbn#A0#3jQH~}Z%1e|~q_@)FV|ES(S@5JGb2Gh%bB-AQo z080a`01l8X&E*UJ;gFUXQTnTRX9AyS;rp&-Zq9Cu)1G&Ryn&^;aFx#33Hz&glBr-Z z$v?HEDjbq5coj3lc&FF>V4{H&Z~{)i2{-{K-~^fkCI{@MeU&B-cQiU(Pe)4=3-Q1d~$P5~SY4P+OGgl{;r_cxTAAOLO5Wov|PGSMwxO z!D5nsYDrZ%Bw6q(W`^-julvD711I1FoPZO!kig_9+uKeY?r3znzAu(0$aRlPHOw$p z|HLG5zg)d62)yobaj9fjaM;TZ81c`fGymhEt1m4}2KFkBQppFY_gzbAQtn4R%ifYq z&$2WZuF^S37?v754rJx@U2lkY)!>t}iW9@j!0Vna)})e`PQVE`0VnXv1SUtUem@h3 zI~q*acSmA)$v7Mm(=4O3?&(S`lWMY32WA+vc{1VB5GUufTqerEc~>g=AoU(@+M-Oa z+&LfamTi~Gg{#~u_QU>ao@6RmOz98hu39>)m>I_5ugu|ourUKC-~^n26L11fzzH}3 zC*TBrLjsdO>iZlf4tF$ZdiBINB#n8pO-g-Ym;fkbGzJg;7fUd|A%r_9U2; z$`))jfiTn-WqM_@UCVUs4B1w@l1aHNor8p7sabAGmi%{J+=vlnZ>lE4a*38yh5wF+ zz`zMO0Vm)DoPZPf*#ss>=zfP2hdUZfk8=gzQCfg`J%K30y*);+f@lPfZNQLAhhlB# zmSuJMO4~@w-CUloqtygHQR4f~sx*NQ4`nyTtSK8=fJP>VxZG+oEH&8Gs`91c9iu#a zqO|Vi)mK-`p>t_#(g`>LC*TCmCNMb&^_~-lI~tu{z9Z6`MK#PYR)1w!&p4FKFy`vw zd8v3Y(F-M*QXC{S+=bE*#9WBe5+fjBpyH^Oe2{wIwUj1Hth{=vrfiJSyn)qt;cCXg zu+*$s!9&KI;hk`MYT=T$BxeYcNjbN7hLwR6czpts*Gj*uiNhU@PA`9;lw^jn8iEPg zx?jH1ptM}J%3#*6RPsUUJ>0ZKnO?bbKHM$aE|UvaxmE0k{nb3lc48jEc&A@{C4O1$RkRe^v$v?1>6PT*Y=m>j_Ry-ytOXwvj}4e85h$r4#E7a3PsEldA2h(Gwg zE6K`b+6)`+HVmKWg$(>0r0Hq7e3XItu2k|t>OI`FMVVf?b3WWH+b)v}SGiT}hyB$& z$#!BM!FZ=%{Ii|)S>6rxKVPl6%96!yOH#r{hPtTx49Sx-$XacQw@* zw42*kF}>XFVJ~+vhHVevzkptiVJekNc&2I$3KANfe#j)-v|R1Vz;jnB`5^TkZrY+u zuiQBw?v`zr$%U)jD)z(vYMx{}F^^!p(=Yzn&iX87oWRQxn7j)6%}gBbXfPc=unLw2 zWav*V(}>l3`ReB`+a%yYyHd#qsrN9{7G-+n&KVot8M5utT)0YS?1%l;Jjqy$&Gi0| zCG!i;I!Ku{r6kjIFP(rBZ~{)i2{?ftOki@9?YB2^xTC>zoGTP8O^|#?BdW~Iv5o^1 zCcI=^&Se2(wZaZVw(gg&G$<{XtumOkE0uhZdJi{kQKnb!oDX-)w#($gRc;mgVShDG zG8SVqrTpYLA4=6v+lUKi*X2&UIj~5lFFB|dlH=@W-L8cgqhKj60t02&wQds(R%y$V7MUI%gMP^|6TvaBv&X&Y&| zo6FO6w3@&tN_^j0l_v1vq3p((HDx0U(8%Nvms?GSr3SlNRlbtAT%sja;S)S$-~;Ts zAZr9o3GD_>zzH}3C*TCi1SSW+vJvFO;f@A_^nI6@ei=SV1M{Y;Ey^SxER!-Vmy8+4 zsT77uP-;Ti-{GTx8&Pe@(5yQy?qVE*q*uX`m89~eEcs(sbC7J)Qn$g*DvoN&2dVd6 zOKDQ>M?K5llEmY{1k4@P+OGgmC1H3)3q~XTkT3F<+5}R5{9K_xg{BI2D4IcYDv}9wW@rnm>I^=rOe_> zlBXCu0Vm)DoWOS{Fgc#}2}~UBXmon{@(Oa@<5CSXNxWLLin&S5N}ZLe7kXC@P+OGgmC1H3)3q~XTkT3F<+5}R5{9K_xg{BI z2D47}rY>v%d^v(iwDfb6p_fj;2{-{K-~^n26S$nfpTGY4*MEQh)JyORlEeQkPi<-P zCr@uUak!(=>E(etIDvRu_~46^{e`jmfnQ-FvMZF?tJMKWtP6|g-_Xn zY6-MO8O$vm4$0Cmbxky>Wi87tC6!UDl1Ytex!XW#mB?h3mZh_5lBbtWzzH}3C*TB} zfD>>6PQVE`0Vm)DoPZN>0#4v-5}5p>djGH!hdUZf@BiVBtAUjXE3IP09ROQ4;XUwl z)+}81LZc=q?SQr@gSk7Co-Ykk%S4k}*0StUQW>>MOth?ff6bj$$qeI|IAQv|x#|R* zfD>>6PQVE`fkjavnrWk91|x@zc*K%fD>>6PM}X!`4 zOz&SPeHA7EtY;hoWfotOrC~#|3FBri+%A9^vF>~g=a#+jQ4^GQKwFeqy(PKxO#GyG zqDi*9U8$8aYL%F1S@-hlt4#}+cvp-=Ghx`x*a>6PQVE`f!~(E-=!C{M1c6h3C{`OL4lQFpF36dc?iaa*^PG?yfTX~d*M^IpjrZLQ3i8MheNV7OkERA zYFW#&OG#zaDi~EJhL? z)u^W#C*TB}fD?F!1SSWtexDPEJDT0}^sY%u?P>&CQf3*JBnI_W$VyQ5DydBAHYdYy z-TBff$}D}^3!kzD)e>lnGMHOB9FnDB>Y8X$%UYIQN-CpP!KjiM#ykD!VKfEQf9X+RWif4apwK+ zuv+c5R63;gv@Bchkm0}XeCbeSmcHzTPuYTM3A9BS%q<-b$$QpzcK}APiOy1H>C0aD zlr5;1KwFf-+|uEYEDclFM3Y+9a@aMLslSe3E5>DSPjWls=$bISzpGBb2{-{K-~^n& z>l2t9ar<3O9PVf^oevv5bC5 z>rP5W&CNIgC-B$=b}xPA`-!Z42FCQ}cgxbGYQKc%1h7?LW!UFVm3%w6lr5;1KwFf-+|uEYEDclFM3Y+9a@aMLso`Pcq2TPE8^flgQ_MI4C*TB}fD=dw zOb&#pB`qfocQhEMuRLWSUZAX&B)ZC~lFGm#fl%_D1?s~LWA0)+(Xc)+cLin!`U#md zX}PQtla`ppV4_iHcDROP?z;1(n^9)z%U<}DEvS}2Ta>}v(&3OS4O7=dlUmkt*fo@? z;bG&U0DD#?GmN8U!ob|X2{-{K-~^n&QxljRu=@>69PVg#)6@GDO8{`vX;ZHp-c@A8xIB8vnrWk z94!+D<_1o{2{-{K@JkYy9MAeFCJuKrI$hsrOQR$+jKh!_#@|uZrwHbO_Xus>`RbE| zvg}P&EGOX9+=-!Tbi_5y<*vyF!aOO{GHsx*CNY-7E|n<*PXj051e|~qZ~{)i30zCy z&tHH2>%TvL>gD326!+BykR1MRd1^nCKY4n?iNhU@PA|`9N-`5z?`p0L`%J2=XB@rE zFh1+7`m@Y#y7ChyP1lwr(51F0v${%B-AZQIJCyN=vPDT{*rdmOZ(mjCxn7mZsJ|H} z-~^n26L13Gl)&UD+duEb;f|)6&M$7p!xqS*SMMQEXJ#0~5I{Y9JsKBKWnxNmb|_6) zkPM@wq%v%B7Vq4YpD<~>6PQVE`0Vm)DoPZN>0#3jQIDv0UVDgXZ{qs&7?r1Q*|A#xS z2397lw2Bdz0ncI+JS3}w(SP_`(k44WvP>+dMJmvQW8 z!syP;H~}Z%1e|~qZ~{(16PO&ZwTqdF!yOIJ3an?L#Vg57V7;rkGVoEr`$^`>2fc}B zhq5#$b%Zi-J1m8O@4Qv!)k+!6or7eOmdl43#=K9AQ$bTo;#j6T+RJgNdU=_40w3ik z4B7)|OA_c(Ta;N{C8=&DGwdD8ctqKvq%v%xc&@*r>6^8_YG z+1_p9a7Uxl_3f}UN-`5z?`p0L`%J2=XB@rEFh1+7`m@Y#y7ChyP1lwr(51F0v${%B z-AZQIJCyN=vPDT{*hF!!@2lz-jCLu*y;@a<^~O%X2{-{K@X7=xN34E76Nft*OxM>3 zGlBJ<+LIuv?6YGQuQHhLs@lR#V7;^L9n7=XNBIfE4hw5b66jJ}l)2`NS*0PW07Dt{ z3zRKND#IpiaY%4tF%o zbp9hKFf-h!yfUn3+$*)p46p(oaT&ulIVeA24o#9km%}M4Q>z^_>>bK@O4*{MGHg=f zvPDT{O1DLZQt!Q>6PQVGgGJ(kvy5G;l;f@B=^=QEi<7i=qF${-* zdjs#7U3CpY3jl9Y8;5)AWoZ_~%1;=y2hf%z(51F0v${%B-AZQIJCyN=vPDT{*o3hv znPD7V%CK9H%ifZ_Kdaw~t4_cPIDy}pz~ms*Co^%lqtWT*YeGq80_$DPcMSKkhIz)& z1c@bsR4SM3nFMTg0q@+DpD<|y+L8pi)D~q{S4pZ{$qajkG9FR3D5(saFjgfqjH62# zcIz?s2G%<}u%3BiC-BMyCa;x#KNE*L8l7JL>?p|$V>P_b?EICVFlj&9k_5Wc7G+jf zNvd1P410$%9#OU^sSKMiRwXlxqe~ff>oNBR);l|}o_XWXO3eNubN&6qTvfjv4k2Wjv*9 zQBoN;VXR7K7)O^f?ABxMWxR7%P4Dlj6L11fzzO_R0+Rz+zqg6Q9ZfTxUpI`)mPVi@ zWtL}2Vpd;;tORARlFF2BLvrV){DetEwIvC3sV&N^u98%@k{R|6Wjvy6QBoN;VXR7K z7)O^f?8aD?%rM?LtA_oJoq!W?0#3jQIDvTrlS6XvHgUM4!SwzBpjBm-RY_hRQ5y0H z#xX^i(xfE0H?ZDg%GommGJ%zWIDxq` zH4c~T&n?PN7)gXUr-MQ3V*vpkH9vGL*41F!wSJfih@31l-Gb=d7B; z5f(TBC*TB}fD>>6FHT@`l^KL`x5v-lnuX`)WVbRVUyC zoPZNJo519l)O$`G?r1PwUl7bNj+Vs4GTj^Vrj(q^ajCtWt3JxWCjnNnc_TxKdly+Q z*|QYDtpuqB8ns=_qpp4^Pf?{ZtY7$0ko09sX;PBvRx-ohp^QfiTZS^E5qiG!P{PT;}OG_p$v~1dcN~e#&c(M^({@cDZ$*p2{-{K z-~^n&E`iCxZ`T|A#Nmzx)Af~?m{_Je+5@DPNmW~vNj_NiO06a)mVAeEfTT~=-IBY` znse{+FPH3D3U(U{KD9uswu^bx)eq$bfQX4pHF@rYr|P=+)@ z&vzcm_^k7;SA8Z7yBRwHC*TB}fD?FL0+R!FKYikGN7GE_S88BpxKVj!SkJguYLyva z1w7(1hHY|Ce!?7@B!Mo6Q&gr_J7(BBl<|~d%TTtQL#cNj%J{7Fu2+2~47(XS0Vm)D zoWO5LU~)X`bC@{X(dcx2qb-e+%rFi^W&-P7mC9(BI!D*8x38+d`pg-gbqDh^vXAl; zh8-5xmL$-nwkUJW8M8`5Q~`!E=oc8a3}rA3J>PjKn2A&2^zzH}3C*TB} zfD^cuz@NYV`qzJd{%n`46j!t?oO=JgJhh+6pFF+c#Nm!creeT3aO?b<1s=Pt(3lq9N$plnxCnb$k(9+cr-^;K3b+=#W5 zn6ymJUOE9M-~^n26ZpymCP&%+!6y!PG|hB=cQYQgK-Twal^Mn`1n8@fl|Xx$VI1ws zEWRW$uB?ma-ioV?V~R35eWK~RN{5nEpB+=SE2+%R5PaF9q%v?wK$VH%CFA6y zOBE-EmyE+o869E92{-{K-~^n26L11fzzH}3C*TB}fD>>6PQVF#O#+jDRPP^l;&4ZU z>HWXmrD`nKJ+8ir5!XO6PbOStTy8A&&NbS|vlv5JlBgbnvRz4Ke#H6IHZF^`kr~Dj zf-;BUSl|SlfD>>6PQVE`fk`=}sNp$s9 z$a|>`)oqxfv(m1e|~qIF-QUDBBxO9PVgzdigp~ zk{QNo*fV{vR+(WOQ0#3jQIDucAz~qnmKAefe9ZfTx|LO^hd+K6kl$1#=SoTV- zG6Spt{+9tfO9!qp4zV(7GST#1r9(-o&yFeEl~iVD2)=AlQW-exK-r?CGCRY>A2udI zS|&Fyoq!W?0#3jQIDt1wU~+`+w>ojSqrr4NT`IpyI_q zR#s1uy%kp(#|UL~^hDEll@2ATK0BstS5ldsA^5UINoC-mfW?fLGA&C+4TG8Vss?UN z2^s?@-~^n26F8N?krh@D9H?CHN466=3HeQLzU6ZOf-F0=}?mDvt!D3C6(D3f-hT?R0a+T zSj;$-%rI7;L#Aohk}`+>7QBA~lV5lJQ%oH0XqxH#on#y>%rKr*d8qbswa0z0R+#}- z&<~wd;aQ5g$~eTzsL4drca;t$sXjZVY*$j5ogw(LMM-7gpn%1UL&*$d^*LlxJ1-gQ z+(TyzoPZN>0#4v(6PO&p`W;Rj?r56n{0?GVwlo4QDYHCF60`a$WF;tjl~ks5n~=Q~ zR~d)1GCFah>AOmYl2o4^Q?@Iq%+3&e*`lN}a8STv#-U_}vHB>(dd3rH)vLc5C*TB} zfD>>6PGFe8e_ z6RmLq4^Lq7D(r_&9PVf^J^j?ga^2%fRdkirUYvRlm%STT8J8O?XK7a{OC)zOhO8t} zJp^UDlFD3j)~*ZAFyUUtAy5X5hamOxlJWgPhdZ&r2{-{K-~^n26L?etlcQ`uYvOQ6 zgX!tK5zBRtD^(ZC3}YA$LF$d=y2q8O$rDutNjY&VTXrNSmIAIao^M0D%0Y?bF2<0R zB&vs?Y*$j5YtGtr!5JoHZ%Lx12fN-KA8viMpXjO+Z~{)i30z2Ea!l%NCk}Tsn6B># zW*A2cGmN#m7!?fXHnP%|2QdyGW#FGcQpR%K)0JdVO=Q1JhHIJhD%feXQJKy$W_3ZB(Xon~=Q~ zR~d)1GCFah>AOmYl2o4^Q?@Iq%+3(}uw^KNEx=*pp#WA3u$XaZm|?6{_B3_^PQVE` z0VnW+1SSXUej5{qJDO%Xzf}X{p1N2WC1p|zmc3G|%m6EZ|78Hr(t)dtL#&LNOf-F0 z=}?mDvt!D3C6(D3f*-aFWv~S}Y&;aeY5^8A4h=JmwaT8xPQVE`0VnXQ5||v%`amWQ zcQiU(UusLEBr}Y|kQv64aja*2zn9$@pLNz}RENvVd}FFqMz=B1^j)PxNvh9|DchA) zW@iX~*fNyC79cgI<&r6b-W?dWBw1SS%*{IiC*TB}fD>>6PT*7mfByRGU;q7~Yn9do zK~&Nba`68LPHkiICr@uUak!(=>E-cENoE+UVbAovT4jcDOkswx?m?@{XxD@}^kD(x zWuBJ1aYI>Z=Pt&Ol_aW%plnxCnb$k(9++VqdsAk&=U%B*W*G1M%{u`n-~^n26ZpOa zCP&%+sV5G1G?=b0Yi1auML{VmN%U%!8OCS<=&O*GKzo^C9PP?1z9ccOtSYGt98Q5l z9~Lk^d=P9Sb%E~zcQHm+NuqiP%627{dA+mlAu+sUd||7potKQ4b6OtGvcL&A0Vm)D zoPZN>0#3jQH~}Z%1e|~qZ~{)i34D42lYdn2pK;=FM}z75&v(o)UM;a)_qh5hMqB{N zSshrwcq!9TdxIIuQag7shO8t}Jp^UDlFGc^x!;3Um1*|OV#d+J4C7Tz%Vva2PQVE` z0Vm)DoPZP11SSV;?P6x)a7V+l0+;6>C7EHYhCLI#>(0~Dk{!xfC5f)S3K;`!nJ{or z@uajgP2DtuIi(lu~s$O6V|Tw3lnFqEZs?qUpCNuqiP z%627{dA)PL2dyg8?3u-kqlFp9tD2V02$!6I6L11fV4lF_DBHVD9PVgzdih3Bk{QNo z*fV{vR+(WOQgIjV7k6Um|=_-0If2^I9ilhd`UJV$`&?Z z44;R9LuVE+F85q+DRq?^CAo_+lqHGkAt>9GROa>0{T}-2sokm-GmMvQS{@FvzzH}3 zC*TB}fD>>6PQVE`f!~n8%Ck9RC`%I6Lr}IWsmxb8$3vxuP0OWWhVfx07B~SX-~^n26L11Q zn84%+-EVK=a7Tmbdca_YakMbQSgROOg47$!b)Wd4SHWafshN-%w-d8~@zST|#9^mV zp3NCUS(2z8g0fvnWq!n&x50RACM`>5x93T(YQk;D?`D~I0#3jQIDtt5lY>z2GjX`1 z(dp$IK}lv9tKpC-O-hmtdqGrjpEt7dEbh0o+*rUkm72M!t5I@^yBI@LlBgbnvRz4K ze#Du#!FX*ZElXy%=Tp5&oR+&0=AFO`5}3SJ`fW@c?r3y+`4glhGmO>n4s+*1- zTJE+nl%;m=VhmYHqIw9*b|sbh5og{8b=N=3#Nmzx z)AdWp4C82FhVi6|p$lj)SAj#e?tJyVT4e@U0gt$VVYusM0pq1l%ZbBIqdc24hO#74 zJp^UDlFIyuGjD@&Y=#-e7q*((dC7P=r{&=+3!H!xZ~{)?XA_tl!1^6d9PVf^U0*TG zFh&c5MxZ5SmQ_h&#H6}3ptpfD>>6PQVH55||v4cfG++9PVf^y*~zMRheZ~ zl9xx6hCG6COi`vZDM{{S9M1E*_D-1aKUAt}flUHFscj9nIgX!r9Czk6TSE{0` ztoGv6+b<8TSipGMrsZzXP?p-ci!o#+iRvLJ+m%%2_0GBnW*Eobl-ccBm5Jdc<7JqZ zyAkG{fD>>6PQVE`fgev`a+K{iIdQn7!Sr;%h~>J+m8y$mhVf4SkCFT@^~Q4DCqC#^ zAanjd0a;m{lZQSmU_9SL>Kg8iyBMRrBvCyCWxJBfyxv*&pv>A;NgnPt1Z8hY!mzJG zX5a*zfD>>64@_WkOzOu?9PVf^U0)N-Fpd^x7;AMgDj3dfWTh<+VjMooz(0YcjODtg zE6GrWUIogaE5M;($x4lq%A{Gt<)IG?81J^Kb5oZJN`|`_LtK)m9)hx6No9V}IYyUT zD#^pGLa=LJJYOth%o<}S-~^tXz~o@i?_uI_M}z75i-H-((ZUR4tztw8Qg1BRed2>& z1(R8&WKEl z>z=M8Llt@zD1)v5hk_+5HA*UzW(}8zJ}h9o+p5k@T`DLU?qUpaNuqiP%627{`9bFx zowk&gOQTG)XBIQoS*e>6PQVE~BZ0{QyPrF8xTC>zeQ7eY!_m&w9kck5 ztvg@Z+gDi+tbk1}U>NRtS-^Pd({kdl(mpTPZY6K6!g23w@7ne#V z33$o4>}7I^=a)KbZ)jAhjP@>ODAV5E+&i9_vfCB&jL~=qc3sRfX2amuJzcD495QAY zvq|vl&eu*14GS1AL0Y24zzH}3C*TB}!2fH+0Zf1J3*$e*R z2q6hCm1H{kvo|pLl)Z0YlJG{u>HNJWPK_~E9yJO#F-ziOhzUL_^?(XK%`yG)sW#%>2s#&eVg@E3w;k$;`rNyMaG`1C#%$ zeqX{Q;f;pV`G4?;Lt~{e_pU~yEbjTK$;`rNyMf)nWCN2A?0e26;f)-S>R|#!@b8Y@$cl?m68)S&FfJwNxr%u%c*PrQ*Zl+`zPbKhiYO7|-A#4fyu|s z(}|^_fLMY6$;VxfS|4@ORnwN)4eSPX1G|AY8<>2`-t#93Z!~rK@fV?z#@x#~MT{B6 z3s8_a?mTQA856K1K6*)pcz$Yf^`@pOD^tC}3}w~Z&3%)pDc!5c6U+DrIv06j1|}aj zPbW^zy{nvKG82wDB#Falr3Nk74eSPX1G|C$Y6Fu`toz$032!u-Za*SchRhh2#2IJ| z%fxZpp~hNK9=nw^=3eHM)WkhM7JD=*){-aQ2pr1l=x*+tOik%tMV?s3N6@**6EiUR zxOqBpYVKX-9Fv*Q<;WO-r_)ojcsH;c*bVFkb_2VC-N0^OH?SM{+cq%ykNW#gCJApe zoX-EQAr8&GG(n2vwsYqtzRc=c;sulzAj!Dr=a^%5#ai;jt5;d(r0nLt$<*BL@#KkR zd<30~JTU{4kNbG;uC&}WU2^AT8gb~YJU)2I-N0^OH?SMn4eSPfg$+zTq3`dUB)rjR zx_w}LR7ME(#LDkL6&rIYvsLe$Wk!3X-Xpu1M^KZiMX>>RCf?8wWlT=o&3%)pDc!5c z6U+DrIv06j1|}bOJ!;i%w$eh(5ZOrvrk?noW=6~0ayPIW*bVFkzTUv(L+BnpNqD2F z)9cSiXew#Uy{uCzV+j%%e=p?r74Q z637$F_y{@|d13}8A9p=!)o!-ZLd+1^Nd~5#*kq=xWz{dU8~AA(nEb5VA2UgKqp8!o zf859uM}n0#GntgdJwKCV#ai;j8!s8k>YKZ{Z!$Hddlh+N86QFCB2Ub~)z*DlxB6Vs+Y0?iixEp+2Itk8;q3-BuGu%^Yc-xB~QHZlA)}=IgLmAk*o<9rb{4C ze2KDF=ORx`d-8GDqt+MQNR$0XC1+qwTV^-#^EWX0DZIaGlJG{O>GdBRGQ_e7)NW-$ zoMhbdbIdWjVl8>%)vGLXQg(CSWNL2rc=E(DK7!6go|u8j$8Cpt;*^mgW=QgJ+o7IV zG8xT#6w9?>H?SMn4eSPX1G|A=X9JT@+52lJ32!u-UOzC%5QoJ|V`^7ZDyU*(E@igr zom0$ckJL+K7xM^eaOe7Y{70|H?SMn4gA0jOg@wD<0c7jG@Q;~io|j2T)J$f-WV&DS;eW0 z+s-kel4OYMAj`LM=&iEIIg-pb!M&tW*euCcvNEAeGVb{~=9pcvmOSz5RhBs^ySZ;N zHMe^_d14tKLFXb*%)sR1zMSf0U*i zSjI=txyTbUF!{JIr+Uc{GbH)AkLT|C$Z`}fxf|FG>;`rNyMf~dCLexBqsU3Z8;u6p zZ{@uVmkBcGNOmKRd?v&_IrnjqKmoC}a+V29Q@iP^cU4x#!WD8fyu{xIn_&sm?6o>U5{EH zb<mj@cD!$rG<$Wto$*oBJkHbGyfrCzkOMbT0D53`{=m%c)*6#0*J3?t0YvsGF{u zw#;r|H?SMn4g75zn0%hycQQ$Mqp8!6zhad%hGpWob=VD(rHR=}yD=<@hvKm4n4Kl@ zF*!(Th%G-_^K;BGdupn(GG@$jD68IXZYaOb)RZoPJh6q)73FdxGQaXHJYH7vKTOBc8{bPqs&wJV~Ay1*;zW??6sV{ikh0xF?11A-|^B& zAVxr~0QKCvp_hPOkp?2`-v88-gf|+Se*c+fH?WTJ zDkTUYGJ#rFN-2RDC9w6_HL*&i386{PG{pw>spbP?D5Wp)F* zf!)AvU^lQE*bVFkb_2VC-N0^OH?SMn4eSPX1AoQ_CjV3Y{wJLzywTY7?tk1RPca$d z)Kn(;B;%eRSqxZ0c8{bPqs&wJV~Ay1*;zW??6sV{ikh0xF?11A-|^B&ASQrF1D%Gv zu)JajvP*{e*j1nb8W-;db_2VC-N0^OH?SM%HZb|X?!3uQ65eR)^vg#P#Z~s*_fnUm zSv5A8Jl0Y<=_>yM6sU35u)iyI+u+ z!zqcC93}O{R5C$c6I*G?N|0U5Bap>_8S4W=U>23>RcXMI?`3+crsJ#97<-IL%0vd3 zAG(N{(DBkpASQrF1F11mB@-B8JVP$6jHN(>3{bOpH?SMn4eSPf<_0F8Soil#65ePu z-F`cwtj9DI)RrYk5U#{&7jIzRt6OaPGvQe&h_CNRW!h8$b+T33S%m~6}4z;0kSup8J7>;`rN zyMf)nZs4!lz~n#b?+ckEywTWn{ud2f$xoP2#;JOdDPR;^ccXbFu7LU3H7^Af%VNNk z**%hGj51HK1G|CUz;0kSup9UlHZb{wzQ1#l@J6HQ{HRE*R)BjqmDJFC$K5Qtm>iggcH-2S z(Y&T%>>bzGIyw?AWKFQgnBe{%>mKKJ?=kPOw8yBVSY&|tp^KOa9WRXpVhFNJMp(uG z$0I@Qs#U$&s+M5rB0h?j+zspob_2VC;RYrjLieai!W&JUe*CehWXI@7q$b~)8YsOo ztEMt?1u$cjc1&PhCe&8PSf)zTCx0Ym5lERz0~T^G(_1wiUzNt#V^mTmGQj-MMa+bb zmqr3H1lc7cEMtJbz-5ne22COR!)!@Y6Oh`B}L?W|Htmqv`yIg;;_B6TZ{X z&dfVz8nL;ubtLJctn%zyR9AMEj_-2BPhLfhjE{gWVj4SM8VSS@WS0!_q#K%gH1yb& z-ty@pmVUu+x`D~R?(ToINx~bAP4E8p)8DZYT#TWKlec6tCJ>+C-p#b5k*%YE$s8(i z1yvTB`Qb!jOVC{M)Dx$M3^5ZPaT=?vvj;E$#x`?UlcxfaMLy%oE#FK7l z>e0|+H}uD3x`=E3GP{A@z;0kS@GER!@&R^#=Op2c#-`tYT-XiFlPxla>1B&NacamA zGa;~AN{Q< z3B(X&mkjZw8=B*pc+HrWdYf#^-N0^OH?SMn4eSPn8<>0~-=ii8Z#0_z>6Zib_2c2k zcH@y6p$Cf;2n~-c22zt`)mKJ#wjQxu0gk5=kWViYvU>~^sRS{PKo$dLJWe-@%Jix< zV9EC~y;alkRcVYpMkQq;1I!Oy#7yXTX(SLskX>f!oMwzGb#}Lc3va@u&*=sp@6*V=X zW9TBLzT>5lK#YJ|0qVJTLodPCUNb7tfXTMp4eSPX1G|CUz;56_-@xQk_WsC8!W)gI z=XZt50A%c|Bg%THsojp@l+<*L@)<=jF{5M*P>;H`)iJUdFnxB9q#2{kQ~6_vWm?%; zI^OKHoV<#fn$R(H5mVps(nugiK&=2gnI% z}jPe;pF>z{S5un#Jwbe07Ghq7c9!WDsnWyr{5X-c(vvj=KYdLupH8r7Q z=pv@R6Oa-YiUd8~&BLTZ24M>x`N&>T}q-ODMU^lQE*bVFk?i-kV_`Oe;&Qi9Q7%v zu_iV_rZHUkp`0I!RcQ&yA4ypRQl`>?h1|>ZR!zrOr7`vxm6VALFh6t=Goj<9kw8oZ zsWD#00LLT2rF(1z`8ZMG-SjSb`Q5;7U^lQE*bRKWf$rm({5_n?e*@d}?&q@p&UQ@x z&em=WN-_nPxm6&ewUSpd0rO=idB?ICFqa-c-YhCpqtXBq9&viBtmCWF7<-IL%0vd3 zAG(N{(DBkpAf|%U7%yXh;`rNyMf)nZs1qg!2bY-3=>xX diff --git a/display_images/stocks.ppm b/display_images/stocks.ppm index 6f7b26927b9de3f4f9174de713a8430c809a63f3..0ec7767c27df5bf31c2d8e7fe42f91e6fa2876d9 100755 GIT binary patch delta 3144 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 ozB=(mrcpL;7C%6bPO{`*gCA-WpLcif zI3g1bGY7Zq`~IGPzvuTn6Jx~_W5ww&6k}BL;rinWGDQj|&Wddc23K{B^iFahmu8SIfq z?{t2iZ4=D%l|L511|(!-iq16Wya(}DbJ(^`*P9Bywo5W*$*dHz>vl{Mp89g7LX}BO+tCM8xR0h-|qC=4rx}Qs3&o<-({YK1SBAl=`vU-j1}^ zxz5pf)*_hy`1nsKAX!3qBH+06Nvt#~NW>Ie+AAS_LPSrIOlH^MU)_A4V7Pq*A2PPf z2w%M8Ep7@+1C{1h_5%T~AJvm76`N~A#&;D&Kd&OH(#Nl0ETCCczExR?e+fPeSBR#k z?p0x(bMvgr#vI(zys_xkknT>K)1keB&U*4stQgsEl?n82FHxXLXAS1Da2a{<7AKd6 z)Z^_`3hVf~2NrfL35b_h)C}EI_;c&_N8P=16|V#rcHTrLBH_21h+Cy97Ar&~9&4w_ zK6TefTfq8>o5fzF8Z;v^XIzu8+^RU3tzeHTX1r^b!d55_jO?fu`0ve#PI@V3l}J&C zT;2o5R zsbmtt&%T39A)3ePHKq{w*F6Zn>*H-Q+@~TjqR}hv6aVmbtj~X68t{R&i}>Z9IMVU^ z%ZBcu6jL+@Cu@nhUsnv z={Z?v<@m(DT=gi6l>SS5oltjI{Ur3hNsk<-1&h71UHJ<1KBXE* zB;&{ie5aaHNNj27w|a9}=Rzgs>^N~#aqB2WRU*;{LWS`fktVPMtq4|24ogJ1T%8DC z9^lW_)IDq6bewJ8Q)`@53uAY6iM+1(pijiF`y|9(*o48@hxq$0(b!IGDFYtCXvxm~WZ+H)pw~`UrxcR@}3OtAZ z=^BTQyZ{ytbyiI&CQi&$V6m^1+`Z5I%g_@9>%BYJ=ZFEPC=(L1O12t4$NO^;(h4c% zVFfG4CGhTww~-Dsm#ig|?yhxuE6+xq-AjBI&9P^a0!f+tzd%?`EcK`u9UZe-8uO*Ko7Meqj64ahKM$P3#`1x(To>qOA{dW2CMbNAw zj6FlrdlcjhNnAUwPlRq>GE;z-)**i4j&baPE)wu73N1{JE=6fhVZV3$Zwkb#7Qa{GN-rZdv~&%L~@So zXeIb)>=kl@kD^v2(=sN`9dPce>-lqeg0=;o`FM}!U^~)C)Z$ZsCXa_QqT=^sw3t|4 zQSv7hwBaEV@(^93&BQMwJxu{gw5CmIs5!p}sn=whRz7l+l%b~)u8~GMOKKM2oySwx z#1{r*-v<0~jAjf$N2e<(rVUt5gy=PGVII06)A%JV(H+U8-EXaddFB!D)YJFk7q1Ky zL}D|>9?YbdF^yC%pH^I%>(ZGY!&8k0ZKF8>ra6n0PNR~lU2~qqpE@y>I#7U0T&uJ7 z!1b^l0?#?u(D8$Q?4RzmR+GgJa(JqdtEYwSdTreNO{z!0-(EkI2P1xSX7QPC3y@ln zUKP7$zKTE4;+84p+bv&hHOLpfg5Z9CAp}^UgY4Uao6BE#hUYJU)J#35tNjS4-k^K^ zI{OpUZy&R+vliK@2Cp2+94$W4xe)1ii9_fkI%~qc_43)uNR1}0}-?#(H zZrnIpm<+E2LwgBze~`vkX!f5vyNpNP88ISWtH#!h?eXIzt-gHY=5u$kf>wizK16*1 zUMw#Csf!63w&bd&(&p^Lm)=d@H9`}vzqLx&!T0=FYSju5vpTzqFMsc(!+&QQ@N}uf y2-(`!ZP)yEK3Y+;&}#3uhpFf0?&{)h4F7zbZr#vX221bzu=2iY{_gvqasLOfBT$_H literal 50702 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 H1+p~&wK7U< literal 3019 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 SQzimk$KdJe=d#Wzp$P!NfNH4# literal 0 HcmV?d00001 diff --git a/feature_titles/small_feature_titles/forex.png b/feature_titles/small_feature_titles/forex.png new file mode 100644 index 0000000000000000000000000000000000000000..7ad1c726ccfe31f2aa54aea3f3f576eccb68a58e GIT binary patch literal 302 zcmeAS@N?(olHy`uVBq!ia0vp^{y@yn!VDzCo%(MADaPU;cPGZ1Cw1z99L@rd$YKTt zZeb8+WSBKa0;D{^C&U#<|NsA=;Xl)VAY&=RuE|0oKq1zWAirRc#DAF!Y9Qm6d%8G= zRLp6e)XjTXfyag4l=+6VOQ`t?ririqrmw0$vP6Z8={TQ1)BVO{Rt)@8jZH5_iH9BO z@a-0{yxSOdK=b_9!}|`}-Dh0KX;yaQGxL%%MmLMbK&>BDOmBB_J>qQPZ0LU@`$ktS zbP0l+XkK<lmz(&gG4v$I&=W}HJ&bxAr*5< z&mZJGY{1j{Fka7!wJK}b3!ztRb}qkDrpS4xy;zw1_1dX0o}~f?Gx$$lGTza>^Z3G? zh9&tAUq9!|>bP3=@d>YSriT8x0?Q4CQ@?KE>u#4nd+GV(Qmxzlr8i$^yzX~>{5S9H s&(HI(y462>{WE#L{>=FgZ~gzydi0^HWv_>k7SJ6Gp00i_>zopr0O2TQW&i*H literal 0 HcmV?d00001 diff --git a/feature_titles/small_feature_titles/images.png b/feature_titles/small_feature_titles/images.png new file mode 100644 index 0000000000000000000000000000000000000000..57e483f2df56c1fe49df67e9e6e77a0d195f6fe8 GIT binary patch literal 377 zcmeAS@N?(olHy`uVBq!ia0vp^;XusK!VDynt^JMyDaPU;cPGZ1Cw1z99L@rd$YKTt zZeb8+WSBKa0w|~+;1l8sr2qf_4@Q9b; z^nazgdx}6syd^JgfoLFW>ZQRBIn(+`$;6 z?_h40prM}lNbXK+^g|23DJH(!>bdbk$F(*Jv~);F2{gIAbrz_do#ev%jHz0NZO%gr z%WXf+rswcSE9RM+MMM}a_+gkRGD9^v^TWSO@#UP-jvfiU4=dgot|{E%?X!{NK#j{r zqZJ3YS2e)@IoZ@upwe{UTy3;FYNZQ+`|OBwx@d6ri9-SU%+zH{u?pBYmdK II;Vst02Te2{r~^~ literal 0 HcmV?d00001 diff --git a/feature_titles/small_feature_titles/message.png b/feature_titles/small_feature_titles/message.png new file mode 100644 index 0000000000000000000000000000000000000000..332c0248b87b398a92373af11e18ada822eb992b GIT binary patch literal 320 zcmeAS@N?(olHy`uVBq!ia0vp^1whQt#0(@Ie=R-(q!^2X+?^P2p46!aaySb-B8wRq zxP?KOkzv*x37{ZPfKP}kkpBPwKSRL(|MwXB-zE71`79+te!(Eo&AJX9K>l7&7srr_ zIjI*n3LaMAVZGq*_*ktsLdm-&XThC?wMJf9vw9}HNR=9uB8+cnF!$||w{DxapF$6XXBCwawZ=Gllh|2ACdyZ2uH z7^`TMRo@MLqi@SJUW#x2^4ny0T94FpJ1>bDXPGws7oGD*$Zq1|)Pz&&KMR2#VeoYI Kb6Mw<&;$VX`hD8~ literal 0 HcmV?d00001 diff --git a/feature_titles/small_feature_titles/news.png b/feature_titles/small_feature_titles/news.png new file mode 100644 index 0000000000000000000000000000000000000000..90857e96b4d563e7bc4a1fb91a1715f586a78098 GIT binary patch literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^9ze{`#0(^@?j-_A2FBtbcPGZ1Cw1z99L@rd$YKTt zZeb8+WSBKa0w~B6;1l8sr2qf_&tUQYzmU+TsO_hLe3p_RzhIE)W?hF4Ab+8!i(^Q| z9N+V{e1{Bp+8&fie_g&g%Yv-;TMhPZoroQ3r@>$uG=d#r($Tz-4t6pw@ fNbB4Qc`=My0%ohGx(T=e9n0Y9>gTe~DWM4fAUSFq literal 0 HcmV?d00001 diff --git a/feature_titles/small_feature_titles/stocks.png b/feature_titles/small_feature_titles/stocks.png new file mode 100644 index 0000000000000000000000000000000000000000..37dd5a9c1e3d03f47fd6c58ffcbcfadfc75c85df GIT binary patch literal 305 zcmeAS@N?(olHy`uVBq!ia0vp^(Ll`4#0(_AxktYSQjEnx?oNz1PwLbIIh+L^k;M!Q z+`=Ht$S`Y;1W=GCz$e5NNdN!;U-u@%e+CB6DIRJ-K1)fEUoc2?v#vu2kiX8;#WAE} zj_-tnyoVKdT^pN>(WqF_n%_ziof0Ja3fb3esS*={x`6%Cd9uH>&2IQ;tYa zZmTVQBpF%YzQL#>Y{x_E6*DX}vKJQ1Ubxk@G_LPoZ8!hsE26#p|IZb^TkAJ}dZpYO t_3A>!rj7ES_hpy*&6oIX@_i?R{i0Wz44WLxw1F;X@O1TaS?83{1OWP;a?$_* literal 0 HcmV?d00001 diff --git a/feature_titles/small_feature_titles/weather.png b/feature_titles/small_feature_titles/weather.png new file mode 100644 index 0000000000000000000000000000000000000000..4d893d44cc1cf0b3a712cfebf02b8a3a59d13a09 GIT binary patch literal 393 zcmeAS@N?(olHy`uVBq!ia0vp^IY7+M!VDxoYnX#17>k44ofvPP)Tsw@I14-?iy0WW zg+Z8+Vb&Z8prBlUPlzj!{tpDb4FAvc{r}8h$*`x)`ai?j|EkuN42%B%@YlEwRKZme z=F0BZ`3Hux@K|I#b5nsfNWN@xZyuWwgjC+GWQImzb@afUg>7mD#25lXJp*<%G*9( zbzpVna1=V(H{;0r#1&EuBA>T3f9%-tS2HlJWff1N*QeDMH9}u3S1nqy@cNSNuO;R& dsxG`2XSvbf_UjhER-n%rJYD@<);T3K0RTcypeO(U literal 0 HcmV?d00001 diff --git a/server.py b/server.py index 0bc6b66..44c42ce 100644 --- a/server.py +++ b/server.py @@ -185,27 +185,6 @@ def SetWeather(): return hello() -@app.route("/DisplayImage", methods=['POST']) -def DisplayImage(): - if request.method == 'POST': - if 'file' not in request.files: - print('No file attached in request') - return hello() - fle = request.files['file'] - if fle.filename == '': - print('No file selected') - return hello() - if fle and allowed_file(fle.filename): - filename = 'user_image.ppm' - - fle.save(os.path.join(os.path.dirname(os.path.abspath(__file__)),os.path.join('display_images', filename))) - global LastCommand - LastCommand = 'Add a new logo file' - ticker.sendline('K') - ticker.sendline('I') - return hello() - return hello() - @app.route("/DisplayGIF", methods=['POST']) def DisplayGIF(): @@ -312,6 +291,11 @@ def matrix(): ticker.sendline('K') ticker.sendline('t') + elif "Professional" in request.form: + + ticker.sendline('K') + ticker.sendline('b') + elif "All" in request.form: ticker.sendline('K') diff --git a/setup.sh b/setup.sh index b50ef51..2186ea2 100755 --- a/setup.sh +++ b/setup.sh @@ -23,3 +23,4 @@ pip3 install pytz pip3 install matplotlib sudo apt-get remove bluez bluez-firmware pi-bluetooth triggerhappy pigpio +sudo apt autoremove diff --git a/stockTicker.py b/stockTicker.py index fdcde6e..784af64 100644 --- a/stockTicker.py +++ b/stockTicker.py @@ -75,9 +75,7 @@ class StockTicker(): dirs = ['N', 'NE', 'E', 'SE', 'S', 'SW', 'W', 'NW'] return dirs[int((deg+22.5)//45)%8] - - - + def setImage(self, image, offset_x = 0, offset_y = 0, unsafe=True, min_x = 0, max_x = 128, min_y = 0, max_y = 32): @@ -101,9 +99,7 @@ class StockTicker(): for y in range(max(0, -offset_y), min(img_height, self.matrix.height - offset_y)): for x in range(max(0, -offset_x), min(img_width, self.matrix.width - offset_x)): - - - + if min_x <= x + offset_x <= max_x and min_y <= y + offset_y <= max_y: (r, g, b) = pixels[x, y] self.matrix.SetPixel(x + offset_x, y + offset_y, r*self.brightness, g*self.brightness, b*self.brightness) @@ -112,12 +108,13 @@ class StockTicker(): img_width, img_height = image.size - + double_buffer = self.matrix.CreateFrameCanvas() + image = image.convert('RGB') while offset_x > -img_width: offset_x -= 1 - self.setImage(image, offset_x = offset_x, offset_y = offset_y) - + double_buffer.SetImage(image, offset_x, offset_y) + double_buffer = self.matrix.SwapOnVSync(double_buffer) # remove the ppixels behind the image, to stop trailing for x in range(offset_x + img_width, 128): for y in range(self.matrix.height): @@ -242,14 +239,15 @@ class StockTicker(): update_process = Process(target = self.updateMultiple, args = ([options[(i+1) % len(options)]],)) update_process.start() - image = self.openImage('./display_images/' + options[i % len(options)] +'.ppm') + if options[i % len(options)] != 'display_gif': + image = image.convert('RGB') + - if animation == 'continuous': - image2 = self.openImage('./display_images/' + options[(i + 1) % len(options)] +'.ppm') - img_width, img_height = image.size double_buffer = self.matrix.CreateFrameCanvas() + + offset_x = 0 if animation == 'traditional': offset_x = 128 @@ -287,8 +285,12 @@ class StockTicker(): offset_y -= 1 - double_buffer.SetImage(image.convert('RGB'), offset_x, offset_y) - + + if options[i % len(options)] != 'display_gif': + double_buffer.SetImage(image, offset_x, offset_y) + else: + double_buffer.SetImage(image.convert('RGB'), offset_x, offset_y) + double_buffer = self.matrix.SwapOnVSync(double_buffer) time.sleep(self.delay) @@ -309,7 +311,10 @@ class StockTicker(): frame +=1 pause_frames -=1 - double_buffer.SetImage(image.convert('RGB'), offset_x) + if options[i % len(options)] != 'display_gif': + double_buffer.SetImage(image, offset_x, offset_y) + else: + double_buffer.SetImage(image.convert('RGB'), offset_x, offset_y) double_buffer = self.matrix.SwapOnVSync(double_buffer) @@ -335,7 +340,10 @@ class StockTicker(): frame +=1 offset_y += 1 - double_buffer.SetImage(image.convert('RGB'), offset_x, offset_y) + if options[i % len(options)] != 'display_gif': + double_buffer.SetImage(image, offset_x, offset_y) + else: + double_buffer.SetImage(image.convert('RGB'), offset_x, offset_y) double_buffer = self.matrix.SwapOnVSync(double_buffer) @@ -359,7 +367,10 @@ class StockTicker(): frame +=1 pause_frames -=1 - double_buffer.SetImage(image.convert('RGB'), offset_x) + if options[i % len(options)] != 'display_gif': + double_buffer.SetImage(image, offset_x, offset_y) + else: + double_buffer.SetImage(image.convert('RGB'), offset_x, offset_y) double_buffer = self.matrix.SwapOnVSync(double_buffer) @@ -389,22 +400,23 @@ class StockTicker(): #self.setImage(image.convert('RGB'), offset_x = offset_x, offset_y = offset_y) - double_buffer.SetImage(image.convert('RGB'), offset_x) + if options[i % len(options)] != 'display_gif': + double_buffer.SetImage(image, offset_x, offset_y) + else: + double_buffer.SetImage(image.convert('RGB'), offset_x, offset_y) buff = 0 - if offset_x + img_width + buff< self.matrix.width and animation == 'continuous': # if the image is ending - double_buffer.SetImage(image.convert('RGB'), offset_x + img_width + buff) - double_buffer = self.matrix.SwapOnVSync(double_buffer) + - else: - # remove the ppixels behind the image, to stop trailing - double_buffer = self.matrix.SwapOnVSync(double_buffer) - for y in range(self.matrix.height): - self.matrix.SetPixel(offset_x + img_width , y , 0,0,0) - self.matrix.SetPixel(offset_x + img_width +1 , y , 0,0,0) - self.matrix.SetPixel(offset_x + img_width +2 , y , 0,0,0) + + # remove the ppixels behind the image, to stop trailing + double_buffer = self.matrix.SwapOnVSync(double_buffer) + for y in range(self.matrix.height): + self.matrix.SetPixel(offset_x + img_width , y , 0,0,0) + self.matrix.SetPixel(offset_x + img_width +1 , y , 0,0,0) + self.matrix.SetPixel(offset_x + img_width +2 , y , 0,0,0) time.sleep(self.delay) kill = self.checkKilled() @@ -580,8 +592,6 @@ class StockTicker(): d.text((4, 0), TICKER, fill=(255, 255, 255), font=font) d.text((4, 8), CURRENT, fill=self.greenORred, font=font) - - img.paste(ARROW, ((text_width_current + 7),10)) d.text(((text_width_current+18), 8), CHANGE, fill=self.greenORred, font=font) @@ -603,14 +613,11 @@ class StockTicker(): new_im.paste(im, (x_offset,0)) x_offset += im.size[0] - return new_im def resetMatrix(self): for x in range(self.matrix.width): for y in range(self.matrix.height): - - self.matrix.SetPixel(x , y , 0,0,0) @@ -637,12 +644,10 @@ class StockTicker(): change = change/100 * current current = '%.2f' % current - - + arrow, change = self.getArrow(change) change = '%.2f' % change midFrame = self.textToImage(ticker + '(' + base + ')', current, change, arrow) #IMAGE THE TEXT - try: logos_path = os.path.join(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'logos'), 'crypto') @@ -652,23 +657,18 @@ class StockTicker(): except: stitchedStock = midFrame - - image_list.append(stitchedStock) image_list.append(self.blank) - - - - + finalDisplayImage = self.stitchImage(image_list) return finalDisplayImage def getCryptoProfessional(self): - image_list = [] - + title_img = self.openImage('feature_titles/small_feature_titles/crypto.png') + image_list = [title_img] start = time.time() self.readCryptoCSV() @@ -687,16 +687,13 @@ class StockTicker(): change = change/100 * current current = '%.2f' % current - - + arrow, change = self.getArrow(change, professional=True) change = '%.2f' % change midFrame = self.textToImageProf(ticker + '(' + base + ')', current, change, arrow, font=ImageFont.load("./fonts/6x10.pil")) #IMAGE THE TEXT - - + try: logos_path = os.path.join(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'logos'), 'crypto') - logo = Image.open(os.path.join(logos_path, ticker + '.png')) w,h = logo.size @@ -705,15 +702,10 @@ class StockTicker(): except: stitchedStock = midFrame - - image_list.append(stitchedStock) image_list.append(self.blank) - - - - + finalDisplayImage = self.stitchImage(image_list) self.blank = Image.new('RGB', (10, 32)) return finalDisplayImage @@ -728,20 +720,16 @@ class StockTicker(): currencies = ['AUD', 'CAD', 'CHF', 'EUR', 'GBP', 'JPY', 'NZD'] for i, currency in enumerate(currencies): - current, yesterday = currency_info[currency] - change = 1/current - 1/yesterday current = 1/current current = '%.3f' % current - - + arrow, change = self.getArrow(change) change = '%.6f' % change midFrame = self.textToImage(currency + '(' + base + ')', current, change, arrow) #IMAGE THE TEXT - - + try: logos_path = os.path.join(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'logos'), 'currencies') @@ -756,31 +744,20 @@ class StockTicker(): stitchedStock = self.stitchImage([new_im, midFrame]) image_list.append(new_im) - - - - + except Exception as e: print(e) image_list.append(midFrame) - - - - image_list.append(self.blank) - - - finalDisplayImage = self.stitchImage(image_list) - - - + return finalDisplayImage def getForexProfessional(self): - image_list = [] + title_img = self.openImage('feature_titles/small_feature_titles/forex.png') + image_list = [title_img] base, currency_info = json.load(open('csv/currency.json', 'r')) currencies = ['AUD', 'CAD', 'CHF', 'EUR', 'GBP', 'JPY', 'NZD'] @@ -875,7 +852,8 @@ class StockTicker(): return finalDisplayImage def getStockProfessional(self): - image_list = [] + title_img = self.openImage('feature_titles/small_feature_titles/stocks.png') + image_list = [title_img] self.readStocksCSV() @@ -929,11 +907,8 @@ class StockTicker(): def getNewsImage(self): title_img = self.openImage('feature_titles/news.png') - - - - headline_font = ImageFont.load("./fonts/10x20.pil") - source_font = ImageFont.load("./fonts/10x20.pil") + headline_font = ImageFont.load("./fonts/6x13.pil") + source_font = ImageFont.load("./fonts/6x13.pil") image_list = [title_img] @@ -949,10 +924,9 @@ class StockTicker(): source_date_times.append(source + ': ' + date + ' ' + time) f.close() - - for i, headline in enumerate(headlines): + headline = headline.replace("^", ",") headline = headline.replace("’", "'") headline = headline.replace("‘", "'") @@ -962,17 +936,19 @@ class StockTicker(): headline = headline.replace('–', '-') headline = ''.join([h for h in headline if ord(h) < 256]) + lst = headline.rsplit('-', 1) #remove source name at end of headline + headline = lst[0] + headline_img = self.textImage(headline, headline_font, matrix_height = True) source_img = self.textImage(source_date_times[i], source_font, r=255, g=255, b=0, matrix_height = True) - - + try: logos_path = os.path.join(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'logos'), 'news_logos') logo = Image.open(os.path.join(logos_path, 'techcrunch' + '.png')) img = Image.new('RGB', (headline_img.size[0], 32)) - img.paste(headline_img, (2, -3)) + img.paste(headline_img, (2, 0)) img.paste(source_img, (2,16)) img= self.stitchImage([logo,img]) @@ -984,6 +960,7 @@ class StockTicker(): img.paste(source_img, (0,16)) image_list.append(img) + image_list.append(self.blank) news_image = self.stitchImage(image_list) @@ -994,7 +971,8 @@ class StockTicker(): headline_font = ImageFont.load("./fonts/6x10.pil") source_font = ImageFont.load("./fonts/6x10.pil") - image_list = [] + title_img = self.openImage('feature_titles/small_feature_titles/news.png') + image_list = [title_img] headlines = [] sources = [] @@ -1010,7 +988,7 @@ class StockTicker(): f.close() - + blank = Image.new('RGB', (0, 16)) for i, headline in enumerate(headlines): headline = headline.replace("^", ",") headline = headline.replace("’", "'") @@ -1022,6 +1000,9 @@ class StockTicker(): headline = ''.join([h for h in headline if ord(h) < 256]) + lst = headline.rsplit('-', 1) #remove source name at end of headline + headline = lst[0] + headline_img = self.textImage(headline, headline_font, matrix_height = True) source_img = self.textImage(sources[i], source_font, r=255, g=255, b=0, matrix_height = True) @@ -1035,7 +1016,7 @@ class StockTicker(): logo = logo.resize((int(width/2), int(height/2))) - img = Image.new('RGB', (headline_img.size[0]+ source_img.size[0], 32)) + img = Image.new('RGB', (headline_img.size[0]+ source_img.size[0] + logo.size[0], 32)) img.paste(headline_img, (source_img.size[0]+ 5, 3)) img.paste(source_img, (2,3)) @@ -1043,12 +1024,12 @@ class StockTicker(): except Exception as e: - img = Image.new('RGB', (headline_img.size[0], 32)) + img = Image.new('RGB', (headline_img.size[0] + source_img.size[0], 32)) img.paste(headline_img, (0,0)) img.paste(source_img, (0,16)) image_list.append(img) - + image_list.append(blank) news_image = self.stitchImage(image_list) return news_image @@ -1341,7 +1322,7 @@ class StockTicker(): wind_img = Image.open(weather_dir + '/wind.png') img.paste(wind_img, (154,8)) - wtext_img = self.textImage("{0:.0f}".format(current_weather['wind_speed']) + 'm/s', small_font) + wtext_img = self.textImage("{0:.0f}".format(current_weather['wind_speed']) + 'm/s'.upper(), small_font) img.paste(wtext_img, (168, 10)) wdir_img = self.textImage(self.degreesToCompass(current_weather['wind_direction']).upper(), small_font) @@ -1350,7 +1331,7 @@ class StockTicker(): vis_img = Image.open(weather_dir + '/visibility.png') img.paste(vis_img, (154,20)) - vtext_img = self.textImage(str(current_weather['visibility']/1000) + 'km', small_font) + vtext_img = self.textImage(str(current_weather['visibility']/1000) + 'km'.upper(), small_font) img.paste(vtext_img, (168, 22)) imgs.append(img) @@ -1365,7 +1346,9 @@ class StockTicker(): locations = line.split(',') f.close() - + title_img = self.openImage('feature_titles/small_feature_titles/weather.png') + image_list = [title_img] + current_weathers = json.load(open('csv/current_weather.json', 'r')) weekdays = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] months =['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] @@ -1424,15 +1407,15 @@ class StockTicker(): deg_img = self.textImage('o', small_font) - img.paste(deg_img, (x_offset, 1)) + img.paste(deg_img, (x_offset+1, 1)) x_offset += deg_img.size[0] -2 min_img = self.textImage( "{0:.0f}".format(current_weather['min_temp']), small_font, r=0, g=0, b=255) - img.paste(min_img, (x_offset, 2)) + img.paste(min_img, (x_offset+2, 2)) max_img = self.textImage( "{0:.0f}".format(current_weather['max_temp']), small_font, r=255, g=0, b=0) - img.paste(max_img, (x_offset, 8)) + img.paste(max_img, (x_offset+2, 8)) x_offset += max_img.size[0] + 2 @@ -1461,7 +1444,9 @@ class StockTicker(): img = img.crop((0,0,x_offset +image.size[0] ,16)) - return img + + image_list.append(img) + return self.stitchImage(image_list) def getDailyWeatherImageAlt(self): @@ -1645,126 +1630,91 @@ class StockTicker(): weather_dir = './logos/weather_icons' weather_img = Image.open(weather_dir + '/weather_type_icons/' + weather_ids[main] + '.png') - - temp_img = self.textImage(str("{0:.0f}".format(current_weather['temp'])), large_font) - - deg_img = self.textImage('o', small_font) min_img = self.textImage( "{0:.0f}".format(current_weather['min_temp']), small_font, r=0, g=0, b=255) - - max_img = self.textImage( "{0:.0f}".format(current_weather['max_temp']), small_font, r=255, g=0, b=0) - - main = current_weather['main_weather'] main_img = self.textImage(main.upper(), small_font) weekdays = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] months =['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] + month = months[int(datetime.now().strftime('%m'))] date = str(int(datetime.now().strftime('%d'))) - weekday = weekdays[datetime.today().weekday()] - date_img = self.textImage((month + ' ' + date + ',' + weekday).upper(), extra_small_font) - rain_img = Image.open(weather_dir + '/rain-chance.png') - - - rtext_img = self.textImage(str(int(current_weather['rain_chance']*100)) + '%', extra_small_font) - - - hum_img = Image.open(weather_dir + '/humidity.png') - - + hum_img = Image.open(weather_dir + '/humidity.png') htext_img = self.textImage(str(current_weather['humidity']) + '%', extra_small_font) - - uv_img = Image.open(weather_dir + '/uv.png') - - utext_img = self.textImage(str(current_weather['uv']) , extra_small_font) - wind_img = Image.open(weather_dir + '/wind.png') - - wtext_img = self.textImage(str(current_weather['wind_speed']) + 'm/s', extra_small_font) - - - + wtext_img = self.textImage(str(current_weather['wind_speed']) + 'm/s'.upper(), extra_small_font) uv_img = Image.open(weather_dir + '/uv.png') - - utext_img = self.textImage(str(current_weather['uv']) , small_font) - - cloud_img = Image.open(weather_dir + '/clouds.png') - - ctext_img = self.textImage(str(current_weather['clouds']) + '%', small_font) - - wind_img = Image.open(weather_dir + '/wind.png') - - - wtext_img = self.textImage("{0:.0f}".format(current_weather['wind_speed']) + 'm/s', small_font) - - + wtext_img = self.textImage("{0:.0f}".format(current_weather['wind_speed']) + 'm/s'.upper(), small_font) wdir_img = self.textImage(self.degreesToCompass(current_weather['wind_direction']), small_font) - - vis_img = Image.open(weather_dir + '/visibility.png') - - - vtext_img = self.textImage(str(current_weather['visibility']/1000) + 'km', small_font) + vtext_img = self.textImage(str(current_weather['visibility']/1000) + 'km'.upper(), small_font) img.paste(location_img, (0,0)) + + x_offset = location_img.size[0]+2 img.paste(weather_img, (0,12)) - img.paste(temp_img, (30,9)) - img.paste(deg_img, (50, 8)) - img.paste(min_img, (55, 10)) - img.paste(main_img, (30, 26)) - img.paste(max_img, (55, 19)) - img.paste(date_img, (location_img.size[0], 1)) + img.paste(temp_img, (34,9)) + img.paste(deg_img, (55, 8)) + img.paste(min_img, (61, 10)) + img.paste(main_img, (31, 26)) + img.paste(max_img, (61, 18)) + img.paste(date_img, (x_offset, 1)) + x_offset += date_img.size[0]+2 + img.paste(rain_img, (x_offset,0)) + x_offset += rain_img.size[0]+2 + img.paste(rtext_img, (x_offset, 1)) + x_offset += rtext_img.size[0]+2 - img.paste(rain_img, (90,0)) - img.paste(rtext_img, (103, 1)) + img.paste(hum_img, (x_offset, 0)) + x_offset += hum_img.size[0]+2 + img.paste(htext_img, (x_offset, 1)) + x_offset+= htext_img.size[0]+2 - img.paste(hum_img, (117, 0)) - img.paste(htext_img, (128, 1)) + img.paste(uv_img, ( x_offset, 0)) + x_offset += uv_img.size[0]+2 + img.paste(utext_img, (x_offset, 1)) + x_offset += utext_img.size[0]+2 - img.paste(uv_img, ( 143, 0)) - img.paste(utext_img, (156, 1)) + img.paste(cloud_img, (x_offset,0)) + x_offset += cloud_img.size[0]+2 + img.paste(ctext_img, (x_offset, 1)) + x_offset += ctext_img.size[0]+2 - img.paste(cloud_img, (169,0)) - img.paste(ctext_img, (182, 1)) + img.paste(wind_img, (x_offset,0)) + x_offset += wind_img.size[0]+2 + img.paste(wtext_img, (x_offset, 1)) + x_offset += wtext_img.size[0]+2 + img.paste(wdir_img, (x_offset, 1)) + x_offset+= wdir_img.size[0]+2 - img.paste(wind_img, (205,0)) - img.paste(wtext_img, (218, 1)) - img.paste(wdir_img, (231, 1)) - - img.paste(vis_img, (243,0)) - img.paste(vtext_img, (256, 1)) + img.paste(vis_img, (x_offset,0)) + x_offset+= vis_img.size[0]+2 + img.paste(vtext_img, (x_offset, 1)) + x_offset += vtext_img.size[0] +2 #img.paste(uv_img, ( 96, 0)) #img.paste(utext_img, (109, 0)) #img.paste(wind_img, (96,0)) #img.paste(wtext_img, (109,0)) - - - - #img.paste(date_img, (70, 0)) - - x_offset = 70 for i in range(1,len(daily_weather)-1): - - weekday = weekdays[(datetime.today().weekday() + i)%7] day_img = self.textImage( weekday.upper(), small_font) @@ -1784,7 +1734,7 @@ class StockTicker(): img.paste(day_img, (x_offset +5, 9)) img.paste(weather_img, (x_offset +5, 16)) img.paste(min_img, (x_offset + 25, 10)) - img.paste(max_img, (x_offset + 25, 20)) + img.paste(max_img, (x_offset + 25, 18)) x_offset += 40 @@ -1897,12 +1847,36 @@ class StockTicker(): return self.stitchImage([title_img, image]) def getUserGIF(self): - gif = Image.open(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'display_images/display_gif.ppm')) + + gif = Image.open(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'display_images/user_gif.ppm')) return gif def displayStocks(self): self.scrollImageTransition(['final.ppm', 'final.ppm'], offset_x = 0, offset_y = 0) + + def displayProfessional(self): + forex = self.getForexProfessional() + crypto = self.getCryptoProfessional() + news = self.getNewsProfessional() + stock = self.getStockProfessional() + weather = self.getTodayWeatherProfessional() + + x_offset = 0 + news.paste(weather, (x_offset, 16)) + x_offset += weather.size[0] + news.paste(crypto, (x_offset, 16)) + x_offset += crypto.size[0] + news.paste(stock, (x_offset, 16)) + x_offset += stock.size[0] + news.paste(forex, (x_offset, 16)) + x_offset += forex.size[0] + + while True: + kill = stock_ticker.scrollImage(news, offset_x = 128) + + if kill: + break def process_msg(self, msg): @@ -1936,20 +1910,20 @@ class StockTicker(): elif msg == 'T':# text - self.scrollFunctionsAnimated(['text', 'text'], animation = 'continuous') + self.scrollFunctionsAnimated(['text', 'text'], animation = 'traditional') elif msg == 'I': # image - self.scrollFunctionsAnimated(['display_image', 'display_image'], animation = 'continuous') + self.scrollFunctionsAnimated(['display_image', 'display_image'], animation = 'traditional') elif msg == 'G': # gif - self.scrollFunctionsAnimated(['display_gif', 'display_gif'], animation = 'continuous') + self.scrollFunctionsAnimated(['display_gif', 'display_gif'], animation = 'traditional') elif msg == 'W': # weather - self.scrollFunctionsAnimated(['today_weather', 'today_weather'], animation = 'continuous') + self.scrollFunctionsAnimated(['today_weather', 'today_weather'], animation = 'traditional') elif msg == 'D': # daily weather - self.scrollFunctionsAnimated(['daily_weather', 'daily_weather'], animation = 'continuous') + self.scrollFunctionsAnimated(['daily_weather', 'daily_weather'],animation = 'traditional') elif msg == 'P': # past league img = self.getLeagueImage('NBA', 'past') @@ -1986,6 +1960,9 @@ class StockTicker(): self.scrollFunctionsAnimated(userSettings, animation = 'down') + elif msg == 'b': + self.displayProfessional() + elif msg == 'K': # kill self.resetMatrix() @@ -1996,35 +1973,6 @@ if __name__ == '__main__': stock_ticker = StockTicker() - ''' - forex = stock_ticker.getForexProfessional() - crypto = stock_ticker.getCryptoProfessional() - news = stock_ticker.getNewsProfessional() - stock = stock_ticker.getStockProfessional() - weather = stock_ticker.getTodayWeatherProfessional() - - x_offset = 0 - news.paste(weather, (x_offset, 16)) - x_offset += weather.size[0] - news.paste(crypto, (x_offset, 16)) - x_offset += crypto.size[0] - news.paste(stock, (x_offset, 16)) - x_offset += stock.size[0] - news.paste(forex, (x_offset, 16)) - x_offset += forex.size[0] - - - - - - while True: - kill = stock_ticker.scrollImage(news, offset_x = 128) - - if kill: - break - - ''' - # #stock_ticker.process_msg('A') #stock_ticker.process_msg('G') diff --git a/templates/index.html b/templates/index.html index 0893f86..33848a8 100644 --- a/templates/index.html +++ b/templates/index.html @@ -20,6 +20,7 @@ +