From 314ab76dd75ee62b3df4efd757c85384eae174d5 Mon Sep 17 00:00:00 2001 From: Jack Dougherty Date: Mon, 4 Mar 2024 09:35:15 -0500 Subject: [PATCH] updated readme, GA --- README.md | 57 ++++++-------------------------- data/data-backup-screenshot.png | Bin 0 -> 59700 bytes index.html | 18 +++++++--- 3 files changed, 24 insertions(+), 51 deletions(-) create mode 100644 data/data-backup-screenshot.png diff --git a/README.md b/README.md index b9c866f..025cce7 100644 --- a/README.md +++ b/README.md @@ -10,60 +10,23 @@ https://ontheline.trincoll.edu ## Data CT Open Data, Municipal Fiscal Indicators 2021 https://data.ct.gov/Local-Government/Municipal-Fiscal-Indicators-Economic-and-Grand-Lis/jrwx-mxhm/about_data - Town - - Population 2021 - - Income per capita 2021 + - Population + - Income per capita - Equalized Net Grand List (ENGL) as "taxable property" -### For annual updates, - +### For annual updates 1. Locate the appropriate dataset on Socrata (https://data.ct.gov/) 1. Identify the dataset's API endpoint by clicking `Export` > `API Endpoint` 1. Identify appropriate column names for town name (`town` in 2021), population (`july_1_2021_population` in 2021), per capita income (`per_capita_income_calendar` in 2021), and equalized net grand list (`equalized_net_grand_list_fye_2021` in 2021) 1. Modify `index.html` (see lines 299-308) with all these details -1. Just in case, consider making a backup copy of the JSON file returned by Socrata so you can always switch to a local version. For 2021 data (as of March 2024), the URL is https://data.ct.gov/resource/jrwx-mxhm.json?$select=town,july_1_2021_population,per_capita_income_calendar,equalized_net_grand_list_fye_2021 and the data is saved to `data/data.20240302.backup.json`. It is printed in the Console (see index.html, line 311). +1. Just in case, consider making a backup copy of the JSON file returned by Socrata so you can always switch to a local version. For 2021 data (as of March 2024), the URL is https://data.ct.gov/resource/jrwx-mxhm.json?$select=town,july_1_2021_population,per_capita_income_calendar,equalized_net_grand_list_fye_2021 and the data is saved to `data/data.20240302.backup.json`. It is printed in the Console (see index.html, line 311). Alternate code line 311 would be: +``` +$.getJSON('.data/data/20240302.backup.json', function (apiData) { +``` ## Credits -- @kitzj Joe Kitz for redesigning code and interface -- @erose Eli Rose for helping me with the JavaScript logic +- @ilyankou Ilya Ilyankou for redesigning code to pull data directly from Socrata, 2024 +- @kitzj Joe Kitz for redesigning code and interface, 2024 +- @erose Eli Rose for assisting with JavaScript logic, 2015 - @nav10003 Natalia Vorotyntseva at UConn MAGIC (http://magic.lib.uconn.edu) for code to toggle on/off polygons, display results for multiple regions, and export results - @alvinschang Alvin Chang for creating functions to display info window data, based on examples such as http://projects.ctmirror.org/content/2014/05/raceSchools/ - -## To Do -- update all README instructions below -- revise code to allow easier data import of Income Per Capita from source, and multiply by population for calculations in the code -- revise geojson and variable names to remove year -- display dollar signs in table -- right-justify numerical data in table -- check sums for display and exports, since they do not appear to match -- update to newer Leaflet hosted CDN https://leafletjs.com/download.html -- add GA code -- Create index-frame.html with caption, sources, credits - - -## Steps to construct this -Simplify instructions below: To join new data to the existing Connecticut towns geojson file, use http://mapshaper.org command line tools to jump over steps 2-3-4. See http://www.datavizforall.org/shape/mapshaper/index.html - -1) Begin with Leaflet choropleth tutorial at http://leafletjs.com/examples/choropleth.html - -2) Create simplified geoJson layer of Connecticut town boundaries -- Download town boundaries shapefile from UConn MAGIC http://magic.libraries.uconn.edu -- Simplify the polygon shapes to reduce size in geoJson format with this general approach http://chimera.labs.oreilly.com/books/1230000000345/ch12.html#_simplify_the_shapes -- Use MapShaper web tool (http://www.mapshaper.org/) to reduce size without changing too much detail. In this case, I reduced Connecticut boundaries down to 1.5%, around 100k. -- Export "shapefile - polygons", then copy and rename new .shp and .shx files into new folder with original .dbf (to retain data) and original .prj (projection) files - -3) Join spreadsheet town data to the new simplified polygon shapefile -- in GIS application (such as ArcGIS or QGIS), load the new simplified polygon shapefile and spreadsheet data -- join data to shapefile, then export > save as new shapefile in new layer, and open attributes to delete unneeded columns -- create a new folder with four files (.shp, .shx, .dbf, .prj) and zip folder for next step - -4) Convert new joined shapefile (simplified boundaries + data) into js format to use in Leaflet map -- Use ogre to ogre web client (http://ogre.adc4gis.com/) to convert zipped shapefile to geojson -- Copy and paste the geojson output into a new file, and modify into json this way: -- At top of new file, declare contents as a variable by adding this text: -``` -var data = -``` -- At the bottom of the new file, add a semicolon (;) -- Rename file suffix as .js, place inside local directory, and upload in the Leaflet HTML index template - -5) See code comments in the Leaflet index.html template diff --git a/data/data-backup-screenshot.png b/data/data-backup-screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..da28760403425c4d1b12ba203f0807337f1276b3 GIT binary patch literal 59700 zcma&NWprG&=?j}^86hx!w=0fj~j{wHWk^ip0`6rCgy2U4Uz znu)I273hzo`&GGShJnV&T=~ogn44P>3Eg%>1?{}9-s#q9ckzBHWd7lFu-0M zefhw_$wLT#agof4(Zd4~Z#b~_czSefFyX`-GZh5!ABgx<=)F*+dKCR>jykmc$Byla z2N>AB0nJEYlwXmhGU5GCOowI>TGEun8i0{{AT5d7xwJgLV?~)Y$`X{dy$Sjv!9cWZ+4@jNr?S5LGqNc1O((+>=mn(nZtQM zDj*zkSOmz>jpW0G;N02#!j!)!Q+(6Ah{3bJ)vPfShBcBR8Wh4bf((NUZb38rA}An+ zIuwFah3cH1>rV&^Wa^82dIkr6$zj|XW{uFW@CixnSG_v?W~8ZOSpgfL>0TuI>4KG0 zIW?#nS-XQyS|kk6qmd5t*Z67_`j)w*6g=6S&!E;98>4|vKE6q?gVV_}q*xX6)hrCs z81tjh<5}#sztIGK3GIt_E(tx8h8}T6)M(s3%3*-+0Ycif81LKLpPIautEUg}n-*gM zZ$s}2(Zj%!zs!fLp7hLiA;t(5lqP)|Eh%D3eyY)FQPBgY}?mET|u!0_=z9>9SD9t z=%G6Qe0)QF%`z0FlIxZZA)A>G;SUEF_cLN)jkO3o-Q8%WCW49Stl`;4T=TIY+I)vs zgwG0+3OWs9>N%GQFuGRM3<+c^AucJAc!_EF%a~V$a1rVy;!^VabnE3Wkz0sEYBS33 zGYHLOGCRwkM?#jLHZVeKNWsL*alhlGVts}egkn@1e!AeQ#Vx!Hz6?3Z6IXFtHy<88 zRS=g=1|Cl32mmFPM9vso(fMKs`|-dCt-JAnu4k#3DAiTewey^qjFQQU$a83KC{;`pWnHqQ&d>5QIulA4&j)a?|vm=b~i%(ov=Z5%b zCw`d1tDEfyF_?P;A~G`3^F(kxSj{Gq;D`Jsk2TDjGYzDDRX9Bw_6U!TC&}NYAUyAx zJAX75$OU^rg}-0jA@otfM1?8BAcqae#sm?noLE!8m<4#`LM8s%H$Ykf;|jDfz+OT? z_J^^@%!D%kD`AhT1M9YZaty;PEaVO=NDe0|S^|eOE%qA?p%2+X6eo-u-9LzwRhlh6 z#Dq*#JYY=xfZTNGy9s3N*HXy`a`_>dJ^q>SHAy0}jv?zkjEFqC5-h7Qt^5LIm=STY z>2J;u>EQ|@kyFq|Kb#4*f-gi)rxT7O?s!*%JB49c{ArDOQ{l~GSXr>J!V3*>Q*kn) zl8p8>zN$rX_P%<5J?(j^iTQ?ByzRV3RJCQmPjtAWa<%+~?hVE*(dKTXINxLrafK&qE7MS4ab&6p=KN*VaW|s&wlDN+AQ?8}Gr8%W(NSsadO5`3H z87UgM7?~b{*l!s*O?;%yQSmK#Q&%;tm z`B7e4T!Kxujc_dG0z1)ebn8Rrd0vc=iLx9aHvnVI@I#Hl??rm3|ekMFmvNCj!r8XQbE zf;N2T9F^LUC8mY_3nL43vn%EEdGpnkrRNn{xdQTSqOYm0Dab{}rM(No^O{9Y!iOOf z#b_bqspL=OSTQAp4yJux>v64}t={WD)_K=YTXXJ?Ji$GAJn8T7?k-MuUm9PgUsUe7 zk8>6-@k=>poG9E(j)x%0FL82V8ev#r*by6X>+unB@Ni*pBM=wyv)RtrXIO7IN4T_X zoYzVgQ_aq77+Cad){NdVtK`jRoQ_YAZ0>w9AQKEQ!iUuokP{}0)QYZ)`ioqO9>;0S z5bF@@=FKY2-VX*2wh!3Ht;a4kVi|F;G_kB1C$!p|>TBidbu5+*mW>Oo`y1(M%Yd!s z@(mBbY$IJ$pYafj-kM?HvW3$!R)Y(0ytcBY!z6U2Wd;6>YsDp+?6)H^CBaY5lcJ6Y zf!WTf&Vi4-z-X~lF`!sr@96YFfr?}`j*sgdw-olE&fs~p+n_}>Jgy3Vk;j-dwKjE? zO7Lt0a1Qv(`0%$4!RyHKMA~Kh@N+W4IOUpYo^1K3x;nQy(7MvPI-^B9UAu5qJ_L(A z0vO~lk+pSkC^-0D@+yU*9s>~rN#y6T;&tGD@o&!Ki`4hpMg(tm8KCnhYOXPGe8a zNYzd$PE1K&q?p4zfLo=)m(S*EQ8A&WLvxY8POUZj-t|qjot$_$Cw5aK7us)cm2x3o zp8^G;1A+dFkeqy~r+xYW$9Db0apNquqMsV3#@#BSH;kL)sa!(Zt(jnEe`bRV7aO0C z>nTAU55j@-BvN{tHIb>_MEhnWVWc`%S60rqE{|W^0WAnbpXhh8^5ItD&3gx;lffC- z+mTR_yjU^1?Y`GdKlF}+*#>KGYMEu5WtrZ14;EdzkeS9cR)AwJ%SHQr`#t;IYEKnQ z4L^)cr$+|Md(`Kvi>jG)-(AQ5a2}3kjdE8PRwPxNYhgE5IdnX~?4Nc4hF0u5daCoQ zW^x@J_Ftpgqtv;cZOhgH%`Jf2V#WZ*rbZZ>%Iew*x=qP7wdV8VhoEzFKjSyG4lzHe z<>+d@V7@lj{xhp`*Yc_jn;I`oBrWpNL0D`HrobSSgPDGTKHv!}24wRo*~3HW>&qUl;00vRa84&Q2TONOT-j8_Je z35yBz?Y(OXOH8+dj>I>I#}Z<+sT(!~lAKSpw4JpFkEdo2C!n%ZhQZ_EcK%e*o@qaR=%^n3+BJRT9IBPV?*{jA5Ax%uK+pJgLFvOu#Jc{UmXjH$R6F<1RH#;ohhjHpxfE zzWQrDeG;w1e%jhX)Y$Q@`HJ{7sDkB}fc3RNI-f0VbJeRSoYNOd2EF<-4(rd}&UAON zK4;&Cw)+V}mX@(UJ-;zqpnI#%2kmqJV^ElC$e78?gVBNVa9~j2cwo?=95^Tmg5&>h zUJ{%J4Dw&)5MW@TmS9l-X`=vw|2(mv^bgLzA!K|A7%b=w9hBU2A^xW|RAVmW|K!2` zfa<_RRK#RtKv2cl(bUw|$->TgC-RpUr~uwxTGI&(42$xg1TOP~;tJINqNS>avxdAJ zud$sClc9;7ktvhAjr~9UfbqNYg0eQI&W0rJHUL{EUUvbqf3@HR<^L&WCL{S*6K87y zG7Whp5-~eRQxYyF7A6)l!7n5vB>avhX1qVdCI5pCdJ`bCaCWxmWoCABb7OL2XR>oN zXJ+N$;bCTBV`gJx1hrsv^00L_bZ4}6BL8& z$jZgR|F8D{pPK)p_+OYB|AooM!u8*%|5f$>M*Znz>L_Ms1ET3H_$(BfB&cpEo9#Si>`lvUnG`Lu7ag0-%gfi#lN%Qkew$t@^t`+;ys=A+5Ui}M z?RMsq*_E||yrLNby;dIIZ6qr7wGv zzA*pP6GJPJ=u7sQtRRn-`v&<_K*2M1_0UBT#ql*0`{XOBFdQmG5Eux|@k1T?ED0Va zZiJpY>6NHIM1i4cKL`l@RCppG_$kk}oGu87l31ng3uSvm7rNG<%tl z=*Th!@Z|`Y=U_do#jtzZ_9>AGaOB zYL(eQbl}{r8nws`Sb_U{dr(YFRZ2>+`h{T4tt}#kA|gqRmZJj%zf45E%RMviNVwn2 zkgZn{(xW}fEGdQT43Awlp=t%4NOa%$5C=t;UCkr@eYu6*}!--VIMF z#yHEyAHAq-Fj(ybG(Q&JJ}k*^P^-Hs;ykW}{{0(L8EM{|7RYzrSbY+`{;?*tMT`zk z{b(CTb%{^jDD!2V~eRduGfzj%V!dYXBgE|)f)e7|cm!sdPEdIjl zMWm<%$FR%C&-PYs?Z0#|Z6@JTZv@ZwE+8nMB_8;H(;a8X#&WwiRj3qIzD1VCx^b1t zwR55^bfRd_awRngK^gHaLZc9KOSi`&rzlcs&v)0nfWLKS<*2}!Kj;F>n7rr#Y{32P zW9TR&ZDDB*o2z>SFmvn%qD+eN8s@zfXg7N|**-%Ba)=fIcV7QVUE|2$j}93m$RFnBoQ9=RiBt_BN1 z^2(EI?~w3**V4sV>y2@Lm00ylKonqS6uk3;$#^Dh+gtg)xk@4cpED9 zH;LV0LCvzJ-OmE*2|83n#1>gcz;DDrFmCEFIy7&xIkc~IdN+o74IxE=h%5DQ*zQ2I zqsV6IwhL7cZ)VM)6a0}M9+Enda&eM)6=hS)C1II3Mfamo9)d@*TivQR@WH+g;#qn7`xR8Sy_Q#AV}0yU&bw%6fe~hj(OnfR zs&Ti^Ren-7)KmG&<0f998}qO!nYdp3EfhA|{?i z<5KVFYcR>BP(q8w$*=`SfuW%JGe+f9M6Z`A>kEFgzB7BtqV?||`eXjrXA{Z@XK_o8 zPENt0M0k03E`R-_w{~~o=YK8TTssB`+-8u~+cR~7!EC4lnPtAve8pr*S`rn72!~hM z>(bo(TejKBMOpsSLr(KZd)_}OxIBI-{jJxiWVQwullA;GCA5K|>Cm{i9VIJtP0v}pmvVXH5D9OgFtJHYUh7m28RZuUIcYw7Y2R;m~vjZdKvh=HyeToun=(~p-#9!+i0SS(4yStbTiVU)9-Yh@!c9Pjx^ms@{ zoYlu;D#Iv(m!lr>*V4{eqrrImp3}M+e{ei?gfc2WB&;OimwbGEIqZ!xWpOavJ3BgT zy?u(5!Z3WzH|GDX)$2oDzi(I1BbY#}4( z09ZZz>S_}*_S^Xi1unof%ZtXQO1}YT=0}1A5YMH;st2~)DTr$xtusFu=Ph)G)!00uXx%I?_vgQV+=_1nD|2o! z2v&i5b$)EXq(QRx730CWVx}6>g(eCb)Eu(>KOjXFH;O$)x_O*F}1l zqrO&fQ70{RZhZd8#yceJZQ?%@-m{TCf_(bm?w~j-HQthr^>a@-kV7tvwXc3{tJ}Zf zDH!oWhy&81lR6F(H$$y~!Nx~~gy1nW(CRa!mvfvn-^antg%s^$kRf7HQSDWYWCcPE z-Q0d@*-i-eCF9}pGNXWNqie?jNl~!~!Je0)BNkLV-YX;S=qMYnPH8@p5)*xon*dDn%uH8;HU{B^MCwIB3p0R(#S6#C#a9i}9`&kgluH!R;+A{-MU$q=%r7G{5R%uVK?cWUkFz)Q%^ve=ni}4bYh`>(@Q-wXx8ir5!c?& z3l8q~fC@LVYsGdhE5sp@kUc4^@lB(xezAmw9kcF)i6fF$m#2VGB5RcEnmd8(4wJ3PSyTcVuwcqsf2 z?R?eX&PLA%{Gv=^fqGa40)dju7(DLq(1!XJmOSgpUvj(j@f~4_ENnK(RL4cCYVwdj z<)298qNj@9NK%-ia+i>mnqH-^BBP-vNzD8*(_qrD6@}N@t4R;j8_fdD?QJZ+y@A77 zOri6?iIH;O)BVZffhxvQ41K$+O%M8ov?`3recpyF<@<^HW~}9?(v`dPp!6ekk|Xb- zH&1`l)UcOp@q?9-#Ptqi>#G{JPRDy54L8EgOjUPM7X5Zl$a6c9hYs2AbhRiu52zZ( z>KYn7ruQ}FZ(Rp=(gHrhChVT|K}%(`9xUSZmna|i89;0@w~%9*=2~k?owa(UYS3Py z_5Z4!59BnFHa}WvpcI#qy6Vj0al+-Y;RUl^yqG^NfB9p*h{a+ejcqYUgZ|?Oo8e^k z?$sc1xnWahQHYOhiIMnJu5l$1^4HG$S(raxKT_LCqMR&HFCCh zEeS>o(0&jAGWlk6i*Op(E1c|viS^^6w1izH>H5ys;H*F2z&FymWM>DH?F_H-`S+vu@XS-)LP#wbcr9_?C0}@uAEFQDVt` zmWQ3x%+(PRK>g|;G&xN;dO&lHBi-%}!!_}$$*i!jR2#G;TBpj5vOdV5?7-Egn7-S$ ziD@*t;tBgQ)k}D%u&(CKFURV`mceFr?Ns;fr{F-P#l-rtPWunAcdBIFxe*Tu_qV6( zt;ZG(qyJb$d08u9*Z)=% z^31VjsnIqSbaGeg4(om-N2j4aK`3Xi7~z`}D~DiofI%ri3DeLgdh#N+Zbo|6dTX+X zIQzwrivH-6{=*&pkM8)4wW3czx`jnH8qRj_g?fLiBTqs~xy7d;8?fOmRM-Dwge;Xd zJhU30LVv{n31e9D^`xg>_oQh-z?wNnI$&+g8?NFUVabm`C|jQ=sYgz>8t9eyK{H+b z-6k1jFzm^M;z0OjAF&y;*e?gE@(|_2P*CY_{WBB6ypP6Wwan)j_fo>RE@}*a$0M6g z%E83yCZy4dWQ}`k2)|yfl+GRutwz1`BbZ+dzlWon25T0))!v~B#N zl^L!{dR7e8Fh#w~{XpYq3`Ub+XRv8N#e6b)c8?IOiXWS|4OlUz1=jMqscP zo?q>$qi$5igwZ+iUv+VB_3*w26UQ6a5WmC5c5Uy zM5=yv@$@AZ7xQ_4JY!7#32#*Ff`nD*j%5A-3l47e%2?ajjoJLtw6UTRy|YcP9#2XU z)bY2bI-^*jzqc1fkud?5oT!Bzsz?rT*OL81CPdLJk+N_v;C)bNz%@LBLFzczfjxS2 z)9VXzo$jtli_HkEcU-iC^bE;#Ar=Sp+jfiBx9L2Ew%bC*Jl(F^#cbBY>jhM8Vn(46 zqQ0uNVZQh;M|(Pq^k%-u)*o+rgh&P1?vSnQ`f^q>vh6+a)XLRo{GH0HRaaN4Sp(P4 z1+QRk)T#*S<38O4t>hpQeP(O7#Ox~TwU3a_vC#*vQjJw=*t>^EVZ<`54LD9jLLM*Z zC9}D-k1=1HtjX)o1ch}86wWtcW^;0K`$DC-0}jm?)F+~#?JMjyi~OQAWC1?4Cs2zY z$*YW$9_^Xfy+x?n3(**>xbJ(~Q#KU0v?ZirmYCuR>-TBk1}f2huOgG<%=t3enUgY z82u1TMEr^)jQ;0SeEst7D#XbiVEs%CEq>cE*t9JU$;1$gO3%b#9Y=DL?p3i#N5G4` zIL??ZNd`_PTfV_MRbPIgS+FnrXYicy9;?Vv6VdMDkcC=h?mD~kVyzy1n250(dOGc0 zy*{2H0;3P>C4Bh%sIf`n#E59sm_~*)8Io@a`DCZdhqA?7Co*?j+^Dhp=gF+SqdM(% z*t0EO$t`^GL?i{#4mpcmKi0i`+fhyS>onB^K!w$$?90lXHJm&zFy`P)isf-v{<{@J zIV3!USU{Vom5r7^a?C1{RbLjTbyENHQqxT$6|EVqpw>A~1jc1=t??bf0fC@X=!em& zk_Xx))&(p$WCp$2Z!)5o<^rRY5%SEE_}%Fo>~z6=lXG6!4V(OC%bZMDnZ~_-*xYXd z>d^;=muhiavq0Z8ceG!BG!7ovcT{8LAANqzG!C6`!oSsM<#y>yc<@T8}F>2+_%;4-$dK z`e)z`_NT@&at=gx$C=XOsRZ>1MhNdZxkbtLh&kEG5T|NPKVX!reaSCS5Xh%Ov8?p- zIBce|(i_{uFYUu74yL8BU(U4}oS784Q4fk2S<9`^$ovgCfw;iicn zdDOH{Fn=Hke|F_2$_kO_*LJKo02|<=?*1m3NO;GYwI?YQ_cQu)EU2h&)1-Ls zC%|dXwwd8Rtb=arqqpgIr6IUEm`YwpbokxJDosQ`-#Z4Fd#DB_rBMXv28Et{ysMhh zz6Gix=wK~1EypYY*f}k;fF<;2<=x|vwB6qLCp?v)SE(8!vOK?Ksib zqH7|Zr}~Jqwms{p!6j}IiQ$ZKha=0oXY@;^VYbuA?cOebSmKQ@H|JGMwxu}Z0`Pc- zQ<#NmdTE*)ZIy!;2VZx+L_Lj;--T7#4vyVO%StCQM}#Octziw*Y5S5(3S!>}>?=wt zF_)Wz!$PWa2q3XF`6HVANY-8#I4Bt-EGbB-mYSTT9{y1Qzj;9%_`MhDWy%5a9#%eF z3Lk}e$gO_w@0$!O^S>=&`_bWPZ{OqHG|~qy)w*U%i#HgqMA7WH#Sah3&Gm?$(gOV7`47UK=Sxc^l==7|wV-6NOL_tPj}N(mwgH%z6!W@6LtgyP~KJ&Qim5 z+Sv;(Z0Spu%Ox=kYU9r@3Z{0lC!QvWeMRqG$Dh~kEO4C+qi(A?m3?gg9zE$_emJvq zISySTM7DuSYc}yDt|tNrcbcmaE$*!1Ucp2tMe-vEvX(25VPta%H16~0Zs`lwMJ^xB z$tqCm{ncQ;)fX+>-rTMXb|B#QM7Mfg8D`j9kFDXGc-IFoRcCaT{Ea}B_-S^*SvK$Q z@uFxo*zgy%tD)*G^LT$5V`Lr2Z|aCGSD zK$P68rl!Ix*fMPeXes};808rVtF$o|4cbD(H?0y7m$C4CA|ln&4iJu@(RkBj$y4%rDJ0lMT&${M8<8w#Ld{rPNgkvJsN# z1MB+HBh6BH1bvc&pqh=5L9?&Q11A&;xbz#O&b)MIJu6*3hINfbplh!^Ry^CJ^Vzn4 z?o|1SlBG44!md`LSN~#%z1xImUwTKlq^^ZClI_cTAh23}WzG`KnwV@Fu{0AlF@Mn zZ#h%J$ziviol|9Q7G^m{Fugj64TFe3y6bAU3Ko^ou!Fok4SbvN=!(oIkwcr-d~b{@ zPjp8+T5=1%8A40y`qnHjBq>m@7ipJTQ4I^n_fUtZI{I zsPcy_?U?7>6P!_^_Erukc<{t}ij=Q+7aGc^mGp6H_Q7Wc)R4mfWxByPd_L8&J{ z@N8UjTms73qd{LnPOlGEYk9x0p9Zm2(dqr^c8YdD(vc5wAkk zXb=2YXLn;UvL>F4ToGkvW5l4~`M%`xOy_0Tmvw^(e;~z3j;RvPDCQFWbO_6VCE^Q` zoX!eDw+*mKcTz$bNJv_zRr5lEnGmlFOv*DG>1_!Z-@fS!b#S05T&$1GPH|lI>o5Ah zB6UUYqiK((mM*n+72VbUFv!4{;)glHn48%U-Gr zew6uRNhrVmRoMbyNGRRv%@6D{YFx5DduMqwT<45R_v-4rPgPSfh>Bqx|6(V8q1l1@ z@$%$htSM}uhTE6iYUnf&o~|}IsWS{;`j!cJI?FTkRJc;6N0FCOo>FxhMjEF~PU4J^9Pkp|{haY4&AF23 z7UR{e=21FLa%%?sObd-~PEep>q@i*I8s60!eNeap#l6+u?NF%SS(trudOe~5=sl6P zZ>Ol#x%MJFFPiIZnCOZp(BzZeyTl8u2hdq&khYY5Cc8Y@Gwogi7SnZtD0WW?an8S4 z5~1ZW*E@8dzwNtwI6=(S|0O)G*`$$nf5ch*u?!99ztdftQ)RM)7j*Pc>DlpFs+Kao z0uT&DQcRlP4u#RG^j{uGMo|5D3BibU<5i|Tng5-p!zxdinAt0b0XWp8l$Qq-RvDO} zlczP;oKm^p$!|FtyA71HH__~~IMgEph$rOQI7cqmDkGnw&p`J%E6c{^w%`)7avBQQRD!yC0wMIk~UjOZqyW6aB%4=KQ08 zwO z_jLJT{d823a7K?Idp+-QTK3@2CSK{nP#_ix=*FW2Ih(!t%_o!f{w4_sOIfJ!521~I z=vPACB?ObfVfp@;=t8TDzUD5?ZwF|6_(!)VMIydFgFR9Q@6FG6$u>}%7@f`}_t#v$ zV(%IKUeW^JK)dIGzq_P(@J|w_nq3g&i?t4u8HNe0J(#m95=qYRmSDD&~~UUb3gd92b6uk9D_A791g8Fd^Mq69n()eIfp}5@p>~!FL`aL6;MB zcFs3d%qmU`Qf(62Zu^R3cd~8MR}Q| zaK?skJhRsOW4GMXD?X2p!damJB&W~f#GkNb@k^rU7x&t>Kcw-`5MEwI&xtY9q$2=x z1liBNXfa*RH!Qge=?t}&e^`wW8XPuoDnHwjSH%;?FLMa1RT<^ZV&Oc_lN-Oc!@41`l9mXNa03pHT>P1{nQO4KBO2PPB+v>(>5~n&zhNum^ovJyfaEyl#b5LE%0#urax_j1foRO zY|r6>?|#-Mw~?zzH#hPF0c4cHQ+%-^%ae?6Aj8nsJ|v{wtu7obG4sb$qiHS_h?c=h zYo2CIY;t0R;E5rS{8T+sL6VRa`_A68s^X( z>z87(w$f-v8O4)0(m(b5bsQw|B>s@yJ(O#7V8>u-yZk7{!7Yv+`FfGwpnIGy2iQjb zT|!G0sqQ2h;W8a(6z+Es5WhBaDn&KhOoh|Cgc&!O_RT9a8wNM|@p2xDAMd1U*+i1< zt7WQigsU87W58hjE)-$92^DK4r-*HYr%qtn!!o1IQ|XdJE!k%1IB8?LOF1l~*ZiT+ z^bBH@EiO!!?>(S721iDytQOS#10 zOX*`}T(JJ0t|q)TIRg6h(=aL@#*K zi@oU@1#agc%A%8IZ|K*$J=;a>w@OwiDUvk%+OmIZJt(jHsNYzH1U)RnuQo9RSju!n zHC=B zr%C)bEvc)tTxmj{vJvV!w2vsAA>JF)g`k^HZvCC_$d zNEkUo{aRUK9Gv6*eQ?=i@4nf`OCk74!B;|*QM0g3zb@2+3Ej!vej#pdb&XD);zC0? zW9w6Wc@m1L;50M+P%|+X=JkAJV<`@3z~UzsTzJK#99IwS053*j>lh-Ek96rUZraih zYaT+J;Aj(nvnc}|URJJN?`6yszd2fCt9Kh-T4dW=B|!6rsLl-V5n z9%SdsJl{Sw65|jT7dHmF%ODEViZ`FgWKC@7*%4@8H|SGoJv@CDQ*WXAU7FNn-f4`t zX1~*Rw@SFiKR8!gbWj(v)I&(*P%MS%tQQT1oPLapvAl?LAW3idHto4j4;4Aoc8;_XONTe=j=(c1 zfet1+(9sj$@Ya?sS*HmrMlix0Z(3nbAWVE#;dUCFz==NBQD-F=9b67wU{`UHL@a~< zGDaVHWgVymI9zfm8-q7%b(pyd8BUe!3+Dw%i$wNAnvKxu3KY&{rK(szY-f0E@XR-ch5H#nY9FWm*I*<4YX*Gn4qa=E00 z`<^0n?SLmSBjyy#@Zo@TFPdz5@+Y*_URN6lK%Sj&yIZhGN-Er}??vY@Z?Sm>DfF_%X+&?%{Mkva@HPJvSpE(0cOkHNM%ZXWAbOkm@XZ zAZ|5qmOCEC=%Pq|+Alm<)#1Tm1z^;FDz0S_7t)dr$^&S2LA2iCfK7}o22~i&TmOZF zL;SM+(U?3oudlSZX3i31uaDXOrNb|L>{7Yt_>%!d;EIgDO*%b2~7VM>GRu z8<~YjzvOOJ`Dbhr4EFB7m#;g3IlI5$XUmUbV^QU*JeOn_cw{qPZj9IGI_tli8d<+b z_L8!HU`~>MxOhIm!gZB$3+XyGT|g`R@qh|qL#n%vAZ9{~p-N0~V+id9q)2Rs>HgVP zj+L{xY5pigb3{i8ZS2HtZD$D#ovePxN1pJmlOqECK?+#-AVf8S$7}Sd&Og&4O1!s} zT#Bdd_xaA{cB7}NiWmqZP`*4qU*2VKnb$xfC>WPU*ExC1f8AHf;_0kNAu&5w(6;FYXcIuP1EP7g~2KsrtS zIz2N=k)`o39bm2<{cSH;8fShoC#UPB-}K2`B0b(r@mC`xp6D)eT)S*DK5_b3Dw)Oi zK>bc-lXF6qk@SQ?JR|zlG`xonpmu=;M%PR+8+(WGDwAl>@l4DhnXav3A1>cc4=lFu zLIg=;Y_sOoax&Zeu(1d`KLx32TsZ!6Ome0a^5_c1r^4#68%n|~>)P#v+S(zaQOF)< zgj|iG5U{KH+n@yR2-5;LMRuPNJ39}o+M9-FjHJF+Z(4HBmC67D(C=vU6mj;YSE#|V z7%)S5gU>hO+bu5Wbd9z@#uM>q$T2C#E|B=g?;*9Fo#cWJha(?}IR%);qbrmrG?=(LrZQ9EizHqD$bfH%Cjh8hZ& zouX)g8ve82gn;h|e-pB$-0DKln=RF)9@2+tBui9~=eg%@2w_QYB>R*_XR=~ig8PRu z0CR@SxZx%PoqCgA{9~l`@@Jo&%H8x#LG$8}NgJ^BpOb;(QiDL9>ePn$bb&0CyH;LR zH9hBK3?vqk$HH3~ohHsf(o|uP%MNl}>v+!6%|;jH8ry{e!^#?d@CJHJKNA0TGr%m; zT8%+zfY)FN=fG_gz^toeKVL@8W(!e^rS+8ipm4;9r37#4Wy&XIGVdIkD?eb*2N~*0m4^#V>k43F0Bu$jy)H9?pZ$r4xFM zN0|}ipZWCu3Tcz>d6WOxL#H>RLLp)Q)0YM0$5g{*@O0J+} z9BHtxd6ejYmFj7p_+3wvK43|-OZS^X!%(`3mX;BlL!C`GYhyu*15!5^Vggmx$&DG7 zPxyz=mw947LW#3)wAN2~myCC%As=1#*B2)jJ#sV&2B+->YvNz!e>RK}0FePg z@$-yutkd5X>U@+liH^e*vS2qhv&}{1IRU+?CdG$hZw~ML2Rp_UzG9Xj`@YzRV>L-B z)MlhB6s#dv4($#pm=7`kPc;y|vhZ219CkEJD*>)b?O9L+vAQJMJRs z_W|0F8rUyWH|Lm;7x#h7u=?+h+o!+V<@EgsZkP*=)UsHdWE22Ec8aaoFcpNC1JT19 z8Z9joM_-jN#xxpwgVY0dsi%QI-|z`Xsnw5OYj}#nnoD79d;FshlnZ{!O3EJ(_;KIB zAZR_0MU|Jm>PftDjT2_@b`^qLOIOl;<%MivjDTLyhI|~&bkdAeTWj0DVX7L_-*H;^ zNR+$EQ~Z7h8}j2{!QCjD&nV-NuZXR|i;izc;NM&=m{As^D`2ziE{fIp;?PE`nctxFk^x)ZR!Tnss0HR@&yG7xySChkItI) z@LR##E}*q`@J34MYkZ;*q+Yl3MrIedX|j)M8Od@4nVIJ?rj=g$U!$&+@o^XTad5nA zyXxaBIEJ_PniK9*;9RVPb+*g}ARkY&3XGIe3W3ygAr*7w33<}SHE#%mDU?+Y+)7=% zq!Cr{du%#tYU;m2r2POu3AkZdDo6uewX0@zN=Mam`}|1YEZ47-44pily&kh$P|ZG! z=6mT5M2X(oRupB8y$T?Pp%xdKDV&#EDQCJ_xYbxSJ00 zJ(G0+N*@fmVV%J!68jbOVeuwO9p2Qsv*d(aGR>{G#aynyvFo+yD=Z+a(gWxH-i%o+ z@@$!#??1Aq`*+%O1UWdeM_xflCkF7!=_n`CM@lhX9)^Y(3o!jK8 zzSwEDn0vM&F%E?KWQtGTLHHRlnl=Rdc>xL4|AgbZQvIv|xzbaOIj|+_lx4*&0Q+?) zu52xU5+>Qz`UB6!lTj=)EW(koeC3tjzXR9a&?^C4QP#dr9Q8+NC8}z$bhJ zvD4NZU-pvW4@Ji|yzS87(tjffW8@glc)c!SYbcPROs~texR<4}t@m~=r3duY-`N_i zc+$}O8TI`M2`{pDuXrFP=O79qrgw(x0!2~?p9^7TQg561p1u{BN>gQrzl)8s-t~W- z=l`8nFG`un#srVN8JTgMN9B@*$n0B6vfVQ>||s@ z`Q`Dr|1B6Oqg)%ZzM7O^AnjgQ$y?SJ=}*6^%nC<1#6CSkhVgu5@dfxZa^0=xV!HAt z()kR{B5lvfqam8z@HByu>=_5WHGkPECdHQv|5l$kg;D*i!Svga&VLTw+4O6}6tEN_d7dq>KSryd=qQZw%|GzbF7Z2Qqi7G=)`4Ja%0n~xE9u3R;6`dn z6N(dr{>x6dZ_N~Oax56g*XQMLYv_J)=djeJt$nV%ml6XR8ndskH~r?Y93Ye!8lG9) z8VYh3^zf9OI7GnmGzypu=-FRi?NE7-UbKblO6_+IwRt}GfUdR-9i#>N<#3jx{j84f zw~ekMt$GSl6fC;ES&xQ7Bgh)(&XL}1*_&TaJAagAZJ`)4`!i(=DvfcVCa>$e<}JKc zVdrg6$+VC72(`nda54W-ug*m9(>?MhBAmvL-|iyXrb^h~PZ%vH-n%`VG;c#|rPtiq z*-7;)H&42~f!Or>WZ1y}6y z1I09c+;_f%<2-Cd@*hwBKa{;=bY;!f_uU=awr$%sI!VX2ZQD*dR>$txcE`4DJ9&3s z*K?n9o_m~YjOYEd$Jk@p;|NK>Kc3_9)-651K>zm#&;lqvg7)5P^!NFn8 z!Q|zAy4gx8``YJ+Jde#-zIx5os_Wg%KC&liqfuSAEVNJX!0bk18*BqMOEBeZ>J^7! zKiUP_^Z9JkY4QL(wHZ@Ldcq=Iwtwj(?9MS0p;?#}AYrCdf?J?@)X7m|j>)8CQ$hvU zG^me-8#abzX`w%Nb{F{ExD!h5GixSL1bDkLfs6i2IN_8GA*-1j|(Qmx0m4Xsi zHj#W7^y#Bpt3Lb#WSM8aMnD*5rt~8$xrrV~z3e+6_zh7;J*382pVMw^W!)MH)$glE(JEcc9#~Q3D|TP ziun)rDl1;I8@gm22Xm9v5Hu}-bg1bE!(TO2EUnD%hn6zU_SsqGen=Sj=rhr!-s^F@ z>@Xwj_fJS$k?%3{SRvL1$E?hAarUUZR_U-G6)T5jf)bp2blPlxb&|k$E8y{FMN= zZ(rYh0uD$&>SW9M&H)=U`Hod^4>JCoxz3Zz(02DV^uQY<7CL_4>Q&Qyk)M520D~nu zzCKDz;WGWZdcW%7p>I$PTdQcchiRYACHgyv$;XE^;prG8aygkmV$qSFAaKS_Yg8D}aO@-DP(ER~w&?(z| zee3LtrZwO{nykp~MpEDIx9ZJ3{cCwLytzn=WfaA+JdT%hi=`sw>XTG<{9s~DwMdIG zob%+R8x!n|_UB1BxijM;vL5cHQ=R64FJztXy!AI}NN{;1N$T!=7-IPIh{e9kr` z>j@Lr*;YB%Yy(jsmI=Fx58BtkolZ$>-isiKdnI{2P+}?pQjxS;|NMXfOdRN!J=AB^ z4QsY4O;4p>-pdh79`Dt(Tj)50kd`Enh_^TWnf5V0H?&7=4m{OJxO?{oV*tVGdgu|C&DG{)wA&pZ(SCKLS$JuG(th(?po`f<_I zgxHw8ikEKTSPmtWPcqf3feiTe!NM6PF1&jL+N9F9A>UYF3cGT@Na#`XH~Zbu49Lk{}2yy{Qr z=;eIyQy@$3V1Kh*)pwc`EU1hPU}i3{M)k)bIN`+tUTlLdcbnkAYIP}57l*SmO_HsiyZl3pB;jyxE<`{ zZfASdNB(}z1_tE?w#6^C@@6Zs=nRs6 z#x9>y8$iDrnaPRx(sGWH-J3D_ z+*cTh{ido|WdUi8S*RRvq38Z;3eUjrAwxsd_yUjHXY-BJ?qyF=LQcl-tU^X7Ew-AU z#Sm@>v^2O#2(WYp4F)ZY^gsGBXs2A9;qJ4>h!{?PSB#3fu0U8k6@@SkIX_eCiQnw; zjHK1!5dPdX0&E2@Svfeaab58w^m_Tm|Haj)B7Eo1!dersu=a`b1QBHjJ+oXES_;<{ zGF6)hDDd_AE&I$+C6`J#b>RQF^+&#G(BnF4yx`DliNJhi;}fGHiLHwZ3#xAJ2e;wb z*%fCle>}W~eA^YgdnO;o+OG=OF$-i~wfNY}$0zU^L+Z>GPV5hR@Xq7CZ5tTs{#G>~ zgnYrb^nSnG4lO}s?R|-NL9;os49eAYg&b5rMf)*3ffFEWyGGVp=6-f{x2VvzE07&h z6g~8jK8mxIvyjECt1iS08_q&9ry#X-c{_ZG-`z6rd*k?qK2^iY(s7Qt;DWw%eGQ!X zq{Kg5N!sY~*cooFwm!D{dt@Y3y-t-0{8IeMT}g>+Z|}$}skybad!`WI5nsbhjKO+E z=m)BJ9J{$Me;mqti37Y7KZ&IL98Ia(O<| zB5kQxra5CPQ(pIAQ89-bFC_1ge`w64xVTr-kel+}43vhjQSNN{x6AZwe1L|t4wpNI zg0fVY9iDAWEG^CJ(xI=AOgUV8x^RYSZ-r~lj-g2L&C#h;7+@FgmSi9Y*y&d+$6)>0 z7kK%sfqGJ{r?)QdDr|yy0;9RzYT-vk_ zQIaZ1nkDa{8h#XEpSt+`@QZYr+ivFf(|BQ(khWgXl^#d+`w4V8p~n2)`9EC9267hX zLYPf6IfgE2md4)aw%_$0N8K4N%NJ3{X?+{pZo56R12SIV4*8l7ydE4dO8_~-3iH_+ zz?^n`d?_NBGr>h0s)@%9JS2B|5qsiwa$82!h~e4?N$B*2{?e`ZB6h)DCIh0ox`!g; zlN07Bqnrt}%Pcm1Et=h5WF%epvG(=rE%Vq*Oc9?@A2@SKIPF|}FZzqJ=MHK@|MGme zIcl)oEh$B6=3tqvhMWh`u8{~1QSR1aP3$^Zdpgc^Xgj9+XT>AHb z4!tSi)F-wJ{`LtKyFjT_1cgS+Y4ZqyTQ%9XcN~ zuCRX83#Fsgmaj(4%%W>w6(Q0;pPem-Iq1Nwbe)*sZqbJ?Z^5*R>SGT^h zLhEt05ZRG_=c_0m`SqzS#;WWhvR=1C@@T9Ur}j zgLf; zKlXS5&kU+9?Kz?Um3G6j?-U#;A%2JW%f{xd&D#PES)-R1Cbf2q)p`w773q$y&rae8N$j8^JF8EiMe>_=laHt?>nZ>Lcaa)}G~MAmSNLwEsr0G2;2 z0As|4mYSHGuu8J~b^T+f^~mj%j%9}9{aXhW5B=o|Smdd1qv7Xlk>^`N?Lp(DbV+~G zsPcP5P4t3i2HqNEF~Aq@NMLeqP>ExxX$-wg-xp9gU5((q9)IIXsY(Ol>dzt>-BHG# zQM-yKeK5uZ(F^jyu{NU7X9V4T<>3w1NKCQG2xT9Uaa^Z`m=D0duzOCO6Td*0mTmNT zg)4t|yS&#sya>A`bp$4_&66n@&HJ@swkZ>HX+@t5b!3Gd-sQzHsO{ut0XyIHS6WyC zz&_*S(xSc9B+4^DGn;8PJ9@g0{>ApKL$+=*gavjSmmJCT2wnC=JJ$qF2i#$;3e_=> zD2x`TxX@a|qhoBTwQW8CI5Hzo2~E>+ZV7J10W5?FMPjB&5`GL0b#QpZIUO8 zPy^lnkS~~MI%0W)P0Pb9^Lawf>X}{4N|gTeY3fsGgo?g&fYy{@gI75bu?DU!$4kIz zwi8iA*6bAlo3+yqr@vfsRga^Xb@+(Ut-CI7M9{*~YrD`Xyd)j;It+6t!ZS{gOzL@< z(n3NfpePXxNmo45)1gg4V3z>PBg1I)55Pc0MWYTv8^m0>SKNTKKezpj!^#I-cl)AH z2P3)wvW0k-b2f*u8&@GBGl0Pe7tT#`HAiHLX@K>BUaOG0ICJz11mF2}KMN4hDArNr z(!XY{|KQijzE|g?-~E=g53BFfnEB3=bP(5#*jdH!i-Ht80sTU4hEWf;7L~!zTu?N* za~1MN_M(_DN7rW^nm#(ETQ@JQ0D?}4$j&iotE;fxbOQngt13)kIx&v}1Wq{o}@HvZ< zr{7Hxl6ZrVBeJb9ZC&nQGjjMSif@3FWNYUQH3-X;Il^c-<&bM1n@Irq?=umN+0|l! z-FWzG9q(CqGqb)9qBbGE&|R-s~PTPx4U#CFb~9vy(C zkf-45&~i+`@1azUI0zYT?=KHt%xRB;?*vT?LuieM2M17>ou2&lHtTVrqWG%S8?g93 zPi-9gLm%(lUoM=EdcU0;3*PoVZoI-aT5*zyQ|r$?y*%xT=epm%M1?Jy-{p#7EPRfT z$KJfa;qyTQvZTpMV$?M^zR?6lbj;&MmvQG}LxOTu7sf(a=;N_?Z%61C*phO>M4+rS zFR{Lvm+2*Jo{6lDAK5QNo1}_lo^jo2?>)?Z8gdqxJmySyZKsUR^#{)l(8c;E?}6^= z72ZG7)FXI2&Ddo!l%#^7Zabmv!M8HVhom^21-C(bK3fYbHWTk>>}z9#;zQMrokKwu zH4fBZWTCXv4h-K)3$%!(QIf(d0T>H`)NR+JAU-X>KC-01a(GDdGLj zHOSDzZsemydL`tiyfKuy$nbfjgBf3#Nsxv6ZO-`?G6Kx8q}p}|x3k9V36C2d+Pt6T zuk9yeAo<88tlPUb9CVt{MFflYG%5o=*^$rtM8hqE%#U|fI&>{=s0%}rq@IS;<9qi5 zOZeVe+|&IEsijPNgS_0Z)~l_dE&+)wvqCt;ZcE7OThZB#;6%@+2(x_(7dn+suw)o8 zpp-`Qk$XDV?UvWRt-Mv|pkeA9-H;Y)=?2I>uM-BJX03KNM&ef|5;4TKP{0P%xlA9Q zZr1#Xux~1!kc*Jt=)O0ojHQncdzWkYsdHtME1zEqc8-hj3&`jPwbs4CFLnENgj);|R6d zX=j3m7iLUUofYM$VhI+*#JKMDoF=jock5o7&=3&x9bJZ`VV5=s3K&Brq-I4JXt>>c zV9DKYr5VXI&6r>5N)+OPgqcOvr=n`rn@X5Khz|sJ;KmuI1=|UGeDW7yUWAmP6Ee|b zNpDW`gbWQS%Jyj(6yfuUVl zOoWj&7UauN>2qBy{b+pop@=Nff=5ymN8wnGn=5WdS{H2+kx;i^;m1t^b{D?S*LjDu z1c~I|Ol`D~4Q)Y&W@O&8qDmGq4LZl?kx~Cd*!jxHwmAs(6*;^$4Io2R8pt8QZIcM zCc;(Ui~93IoL4_!$9RCRbt17sOH`;MtzK*&s={o3GuEcY(!14E?qw}6UY?!N3{U)K zIPsOX!Rc}WWAN3)%g&BVaEi`AA3fI4x0+3*-K&8~7cgN!stEG-b_FQ~a0nQkgV-AI z_I5mkfXIHjn_d~mY&xb@mnI>5M!jVAIvn{@|1?%Rpy5NCnZ)z|Y51Ei$J|RLg`hUb zD4m@+WhzwdrNuDLH<`>ux#~~Nmh50 zjp49tMCcu$E@=0Sv4d@{KSjp?HG8fc9S)bPUkFfXTkGkH(?3L>w&tOiOaHUb*q)Y9 z>#S1e9hAP!U;xgf=&5+xBc1(5?`L?-TTTN7=tfr2y8|5+K-b;ZsLk;l@KG~GGxlQ` zkdu7~Y3tmM@tGdC-Qgx7^8Ypq!YGuZK?#Yzee}=}!I`$e0Z@EgKVJ3~J$Kp7fRB-9 za(^|GGLIm(CmF}uoJ-~|6Tj`81$VKlq^e}2ocKT#ux@{$U2&{z&8%?pp(Qvj+Se@4 z7c(@^IMBLu(0!z}g4)QIvwPMcyz3ltvaYmQZ|y0s?kxLuf7$iPqt>@xW9#h_GA4$vL7zfS7w3@8ZCEgd)Hv^7cJzBq?^ zUJi~M7$&ah`z9DoFgGVK&cK2_YVb3q6mDA9S~v?n$Gv&DyHOEaN?KZ4dobOR1Om9% zt2??OH0F3dD2de>Q0Zp>%-}FOJCyYdZMX-Sfoz2g$*K%8BGrXJ&sQz+Ku8!yR@R7O zc-a?KYtjbm@fAtiOhYXxzWB_{tYlKcY6mX3q(dbs8(P$y(-?wQ*qAn4+yHXb;lbtb zAofprZ~w;}NqS!E^c&L9_udQm5|xk@jbz%AQ$io^RHwC`AhkhUb~zXZZM}YqZ;ScbKug(M^hLJ*_#LH0l7- zAue%a8u34D29e^jA@e&yn`b9QNovHJRPdJMK81)_+*NEmZzmM~&w~v28oO;W(s6~Y z)Y$yIRoRWWcoi7jK^*p^@q9O0gR%Sw3o}AmgYpo#clNSQr`Xk|`+Fgp@+3)z7{MEC+ghFrV+wIWVg++>Q`$D^n9A%Y>8l!X{MXWG~ zLX{xDvI2E|esF_;f!!Rr-yZb*PGg=|r`p5Gaw_QR^*ZRs8b6jnovXQqoq2W^zKuaD z3YHcEP_+snre5tR(H>CBsxJE;f(Y*it`Pu$tBJ$4Ke&s4GCXqL;q%+x>MHmfR?E(B zUr@eEhCj~0PTrs`562&!po{dL4R}pc0zwB(4N>&7$alzlsI z*xA!-L%j7-DQgWFw=8buANKa{$d${|Yb+JR(`xS~R;A@dTiMat1+U3vLnRLJJrIB&TgX)dH7-xT>LCP3%m{11I}s3lg^U>+-qOp%;9+#3Eq??Qg63fB&aF zL;_@SZrKRS|4&xhzbI>EvfMcyCwTwnviicAFs1c(`dkuc> zZ@~Z5jU^<&{k013gtT4_xUx@Tll9B_^}ieZtG|FR{cwo^-N2QHa~W5ZAk&PRohZ(3 z75}F`?-L00t8#u>=2}JziY=%&KW!;|fcy`@-T&d-{q@n!1p-JzWM*b|4-B9}LETiI zeobbJ@GFRuX~Za2+@g&CPaFA9gFD0fnix(CFHdiVvI->BYXOi_f8pTfzU|TO(gAXB zX#r@U5i)sE!56D_*}2SgKfjo*w9~q|zg~HTK3)dw{VW$710*#CZx_x90r;t>rx!s* zMM4s7X}xpYz;d;n=#cEm%do2*`lJQ1tWd%QIuLN zzL|%BgEbLWgT&#zgJER+^J{`O#b6k%Exs-WgB8tWYSND{fKrx2{Wo;fb%YhysNIYIXSpov^aC7ZvRe3f6!umTe`};F~n1FyjH!LI*>4S+GlJz9HZ?k^15cuNe zb?G`tbJqW9T>qY4{1BS`1%eSZ*F9i^YQiLRXcJ@x21LOG*^-w|xZO~mp1~bts|P;c zia3g@vDd$FIUN_OeGbk`6OwW&(pQmX{ynaRpwqy?e{fq4CLmR0%?Ua>E#-3SP#YZa zJLh1&>Zou)`OMU`>sPMWNeTIVx#L>7yM5ND6z-?0sG|xzS4olOT6b8j@UHGZ6pO!y zL8eX4g7)8s(T#{$6SibA)6P2k6KdzDl7L=K0Cs`~cT+{+Sp^KK9JL-*t@GIVqXYQ$ zFW<_Cth5os_mH?T8SKZ)4Iph#xII~%wKm*|OrD~7t%exKzs+?49n3lVzgr6dNH>vz z^bd&9r$1=GLDo+peSLqNN=&xkB?lLm5JW@rs~a`CtWaFd1tB{L049t*X~_D?mh!e# z1;!g}y>~JepZCiU-1)p!HJA9xU-MJ>t+Svv`M=PU|7$*}iCVH)$)|nv-aoj2>-6#8 zy4dcirJJjVv+QA0L8*sIAtcGQ>Zyoomnr)S5oC$jh^>KhsZs(ruQ zVe_OPa-zCoz~L_$S1enk9Z--Y(hjQA(nFlE{L?f_0rCB3ZDCR;Vps(_FmBt!foVx? zgV%PBm@5TK@KWz6U>mIeRHoGhGy$m^2+896XT*T7u)Sh@HrV3!JNNe7H8GE`?2GB& z{wKKz86EuJ@2H&!2o(VLvt^Lc==A+FoN4VJfyte zSaXF43KF|=Wbp-H@@3|Ew*Gz^H{Ol9RC#ATq^8d!q`=hv4l0F)uP=b_9o;BP15(nX(h{qIiXhwx?A zRrHMC2}X;a(tnmbR)~rDd2C{I@9FvJMYt}7o$@D|g(`sThK_=Ua2rAvAN+` zsI!`Hq=(Am^2015(cRifN-`3c-iNS^QGUlF@Y>jLsX(lBIpxoTsUYF zb0fY#Jx+QsmNd+FJQ7r;6{gzl?%fnR`c0fv>vmNoYn|^}2|jU1Wz2u<(DXEg4l99DU{D6Kc0sXLYg4+j}2xBki~OAAj5 zdz;Pgi1cu|QPw}-|MyGXRJL8mOy++Ai$B!be_zp$m{5U&Qc#HT542f8z)FP1abp ziBRquiyLh8Yk;HtFFSVZHJ^r~LR2_gp9!2M}peffHzw{~c|u zc-WMB|C8m^{E22O`l@H7|Bkk(y>CkX*A({ezm|Lhv|RSht+IOU?{Mp7IS=cfy3w8T zCvca(lQmoYJKO?#OZta7gaG6W<4;iS=1^l9BgC|9km+r(JU*0YI{}`zLZLU%|JQn{#8vozz0#*yCfR-`Z33m^u3CQ2Q%aIyG{Rq5}kdVqM zxDgQ%+bh#IOp?D!!7kGRA(PA1m)Lf_-9(D+mmvK68UKjs2FLHLPJK>J)t%=qM*g2c zd_lBxGZ@R3q|GECYD54<63TS|EZNE(>K2gF-b{V5%Z z8g9>swJNv1K`cV6gal!gx*tExmB`69obe~cu{6ngMAQED49fp31F4=${x&+eK)*gD z&3XU1-txFG+R$g(83AiQKq$`kB`f`3Y-bq}zc5;4|9q>zY@dSz2u|K=gs&m)EMf9| zdqn|Rv!$gad4qQPV7bnex`TGwk9GycdUo0#(d}+p{CUgw2j@5m0$$4{WA^3iWfwao zzcGNG{68i%hWNBIHhB*v?_(0N!I||hmkRR}M%H8sCuM2g1wE6~iVtMRbwjv;cPc)%|_&&!0anU{iP#H6UortyJFkQ8&uSMVz}pT|Td@ z=Gk@nH18fCLlP2BU$7bH5`dA45ePvbH&Y*kxsn6QZ(+j%ne7IS2K23pXpxZ_}v zb@@$^YFRs7Jt3}dLryEM@ztz?+XM1%TJ_nFc{SOBRPQZ?sWNi-+0Gg=e3qrfu|z=n z;^4;JTtAvDz%y2bJde|5Ulb!7P7cq%rg1(i^!nr+K&7xZB{f*5uZmmVzSer8>yU$r z4lJk|JGkS^yAIRS1oTQ--CpqFcIS-0f6QLj>@TS&zM7Or<#!Fy=>#``%dM1Qt8CEm z#R7TpY;P@()f^9}QQ3A8VX=q-YDYQxh=tpLH_#K79Zw&f+op4ZjCxE&;DWQa6j1n5~_xras?3 zd>=?4Axi+>x=rtNXY;%!RAsa9zW8X^452HP_n-uvaTE zYVykYr^VcDKgb$8gTztu?!ktT5HJC|8hqk#sI9kWkVMbh_s2=0EH1+IXWtidNE+={ z73NCYO_!^qf&v1DDYeVa_~c}0aJb9>fV!o(RQcL?lnC-+!xR43rhxU85j1NOPNN^6 z`wdb1!wL-Agz{+n^8tz3GE+znI(ll2=e&4amUcQF6W`++?i4^o>+^Du!JMa7O~_NR zZ+Lo&UZAJo%Ad{mHll2Idqoo!bP&*v;ZUC9-rTXPG8(p+d_^YzFv*<(2sGg~B7XdZ65aHPlf z)^<_bM6EZ8txL9^F3;i_lhhO8@y%8@9fBr%lrFUB*`o&`BkISxGfLw?)+|m$gLN6T zx7Bx7GfeFa@ms#?jnawUN&6PgY(x%REKxyQ@n}g;3o>Sg{VnmyJmGmyO*@@=oJlk&WW}7q@cCXhjdquj` z$hzx9Jnwzo%j3XM4l{WKt8a(jJ065{pY^gnXQOBFLNe#5U7!W6B$S_WH_6+5b*(>f z*s^tPo4f~Nyld_V0AS4Cm?rU;e=A zW~hj_w$GvS6dCQZyg|C0b`*?R6pJS0!F?bZ{b9E>9#q_{j)l(xGg@-iM!%UWiO`CT zOyV|$9m#%ce69UvWiMoGl7>y`nmc!9xS{KWCx`zb_@K9Bvu@%-A` ze?gDZX}5m45J1DiDpMN*D8XSJ4}MQaCdw;NpLM=o1YWGS1=iKoB_!qKz`L$Hr#jf! zr zrGw>m5|Cj1o%w8=R$r=&ALw!(g&f4~iWiuwn_Z>GMne;axK9scVPP&QCdSrA?*&rI zj%HbB+69LwlOZ--roz3w8~ce+JbE39pB*?D?M$C^*?tSnV!M%CTpCV`Pfxz|Zpz#! z0K(zh@&$}9|FzdPf-=7{ywb-yz55-Q`_?{BbvhluQNK<_FR?N>owoH5 zG$fLuV|QaVb!+z77&6Ni9~W4VZ{<-^v4=iNLbKtrnL{NerSW;__L0IF1Inw*N;=r$ z3?e@)j8-^oRh$QK`~o9#XEkEqdMok@$5I+d=XW?z0VRbMEZ$hDsD zq(qdhnDHX=AzrQ5;Jat1z4`?B%F{5W=OB%VcheZ0ZinKB^!JN!I2|EqwK|2Tp(G15 z*{m-SwZsc?W%0Np>3AHIcBJq>Z2^Zx8LBJ&FfW7A#4e0!5As- zsnPqD=qCnDtymdpsTIC3*54VKZ)PkQrKM%nbi@qDXXc`ITxt>Zoub>5unU+bFFDs| zTZYCjq!(x(-|RgnI42#mZ(p+}#%?(`FA>k=Wxr2;Q+vo={`_iXtA&{#>4}BphQU{pjVb8r43qh$ovTKAUB2|^79Wm9i`HJ)&wDsb zxih}XEo&b}SJj&pg`zzVLuc#>nlp$RQL4k)v0q!`owoO9yUHXRYuhpqY)!bOPy(ZG zeeFIDBR*^1nkJ5#uA--yHJDbEC{S)Sp{zhsH{liGn3$MeTax5L-@YY@Cg0sTm3*W6 zP$*eES*1d+2@iup!?jW+#zjAGj#K!%n zWq@i%z==hH7qZrPp%L(Ue!hc!R@bLq(Ff9&o3=J^et~O2y!xUUk+gx$g^uEg=&6O} zDFL|VH??AFF$)Vm)PWJz8qv*#lf!x3BHJzo%7gHwjrpDhBNNe;RwuO0&GrQFsbtlN zR~zZP@<3W8D8!}Q&>yC(_%*L<&YCks3(uQ93s+zHaP*8fTVpkf(v#%YQP=GpW*rb; z&PH294hI+5TZQMPelkST$QsqHrMXMu%+TtgO|sIW$+tvIr12HLitoch3o&q0e9^_~ z6h7V`QPTw0Gy>fb8}vk(~<~H z7IW-%KKUeG?IteucqonUxP81!+59WWIJR8akHD??0I7MbFy_U&$7*b=y(fj0(23zVOO)7x;SOZZuFtJ~E{8p@ADWHl1k)O@lUY z^3_}vt8;2Op_c3HiV)9*4VX8;QM#X>Q@q`PgLVHtOXy4++zVv@-3NgHGDtw81QMV? zoXNPO%Mb8dLVcpnT^i7#pi%`vRYdqHnMfCQx8Zr&5sF3dc9=0{b-?DC+O|fD?r{0; zGjcH@w`zN6V%q6`Dcc$V3cW!LfNbOmm)dRjG8J!hc+Qq87e{GbDQsDcapsA}W^C0nvwaolZqrg4_Q08a+IZy?C*2Ra%G<(b0wD z8IRLHB|nw&gxpK5mV0-a98})e(9}~<(NdDRoGk>5M^W;mvXAk`(;H?WhDN3fOwDfg23+)G=^;X8_$Vk+=uSl4UDA{8-Os?P9j86QV?XM+m8J6F^LaHRn(#e87YWN{l znLeSk+TFKuO8wIIy_W$WrCk}!YOB4wWA~l0_76_p`;8_PO^s4K^X#bna(8St)`MJc zHm2iIB}!YSK!Lv=)gmnK&C4e^1H{=^Vw2XJq>Iy6XHujIwA*J&HeDb&{`c@|YouynUViaXqcAHS$?67wBm(9S9*c7sC*_a!BY^Ibcy)Ns_7RaP( zwG|>2Vp?LaaGioc>z&ix8tDrCsCwrufp&|}EFB+RdZdF8Gx+G$FVLH?`j)-tx9GOx zm2u4*oKL@HUFt@R#S;=r#qf;!yCO|TcwahHNHbj|trB?7&xJ<3by565UrYCbQ{-j=S48mBI6DS&Ohn#hGR?jlJy%kubLF@!Lkm!3AOR<2uPtjFE(L znfDggaF@4jw^vhEs;z?&+xJ!_v1@Miu1k#fMmtzm8r>)=lnL^eRnL0mE&q@Hw^s$x zT-_4&Uj!;B*Zz_zxiUA8zFTwd8g+*dxX4{;{UGO^RZo?ui0?k%+}M`Uaru4I(5zO7 zeQgi!$~rw`ata@ZmVK4u)MiH;eF$F$Y17+$Qsdk02X;`fa70R0Q-sN*?3`yB#nhoB za&$I?aY)@dfjH}+VXCG_wL?X^lryPN!+%!v_}6QCA*Wt&=&8#m^OcJ0MSKj=c*f?` zy^g0{mY+%m6PIRVB<@XQCkHSY$9XS6G8PGVyW(>fXd3R%_h-H$M+YD zrBtdko`=)b&1N{%-3)wB*OWzeLz~FUg`B~TIXk3;x-a{*%9ABh@hkAkt#@CYs9%6^ zSKGS*F6_Ubcyy74fr%DJh>TjcESR0M))G~vTVv}fsNP5UO9MvJb}C;SGsXJo&g`PI>MTN(T(r zIwC%5a=5v|<;BzEM^B9x6U^D%HSu(K>v_or+~X?kV8)QKG6+6K>omZLAndz93SD0N zSPEtvJ4uAf4BEV|L3DV_a^mdy)phuZ1mR`$ovh%hGDUG=6r;o&iXwRt`4yT@fC5#(hjM=teyf`=_*Pa_V(DfB1v4R(I+2;X z`|2|F0;+sGTs59zuF3z(1!@eL$9tMOoksjxs#8o}Y8H&;bm#(uyVB{8CXXR`D38}5 zlfg<8aKiuQ6aWBI+2#QdK_n33-Qu(CNGBeT6Sy7)#^!At$NfJJX4N$*g$HGrypEV@ zkMFj@u#Fet()=Tw{rIJ|1=@Bx2La$YY zwNLk5=AgxRM5`4K_melQ!!xzW=e1MYy;(vk?La19=yrCIwkx%#%jPZZV}rR5XW(>E z)DfkiN7nj%m0X(dCoK7*dk2i~7(-T57_H2m!~QSW;WpPxxy5Sk?B6X?R_Yxvw#b^L zX>+}|)V-nMwB-w1?%!X&FkXKQJj8c+8Iiwp*YGC$zTr}>)Pu{Onqwd3Cso7`P`*6r zOhQMEeeECb_U9$NE--~+0vs+smc(w`Ok$!@@21j4JDI^!DplRFppw9TkU`+g_wED( zNKTRMqCwOv7Hlw7Wo7xvoX#ENnkq(lPK41SXb?0Ku-gtQoGw&j9wTw5F>C`zgbkAw z@IEZPIz3puiNpE_Lmw9A`1)vX@Y9h|@_Kj~h+B>SsLfnyC?~#*#bk~Zi;ekoYXdCM zrZ~y(Pi;=ed_GQbU@>t&5#`4F(Im=Tcgap2+0XJf(W{a%etafV|47yGZ4UntRan;s zns5^3_W3+u^czqBS!hUHra?1G7wzLOc?Q0Fu#D(VFxBZ(Re(3X%{dcDGeb&gd~$s6 zC{rZJwbLT6)htu}VZduPLI}|o+t!polAMiqm;w4VES$Js#>$@o*#1C5fC(WXc@VIn(vdfN%r#RG%}|D9#X#hPdOxC5yx7#eiHAF-aXsm50}J zD9MQ(a(^}vw91}5`G@c-T+X*tx!8%(Z;;b7UGCe2oZDcCx8uJ_LGpnOM6K>Ew8asc zMfcw2$!K!V#jT*7;{yaRZ@#?&IQPFdYcj;34Tey^GQQ|Hr7)e8t%n|GU`j_Bji`|M zOa^+apb_{{*4&3s4oE{$F`q{~?>r1-MY_{J z;ge{{IUGoghfup`Mb;!(0OMa)jpJw>2*W?D$R%BUD6f!s=eu4Vx?H5$1#?OjycNlL z%~&|}c@eRsN}>)WC^kGQBN(gM(o32CtRO^K+DKaDVod=_=afenAxOf7^dZK7G!qSW zTqR3Yz3$9uh)TKS__2is(e{Chr4-_K2YIpG#^g3iBwc-+KPwlbgl4RScvvx1^@c2b^Xfwdz zzD=RlL;Ls09_vgc=4}ctWGJ?Wx9bGHWMKwxD#80W^`Y6w6*>i5j2VkK#7I)I&*@Vr zjE;{HrFY8=mUJ?l$ap#bP^_p*v(KAt0)es^+)Uu!^VW0QfR#)!8J-N|aY}Do0Tk{EO5Bah6EHFuGgrQOGBNuGY4LWw$&{l#+f|^g+*M1`$U`SF_T}ezj&G-J zoCbj@K+-QuDvg$Vb)`T|CPBws3u;~Ny6N2;=6JOw$>p%e0!V}_)N;%STJYSxeY21v zG-$L^Kk9?uRkM;x8kSG%C&0UIv~9xwiN|4=(D~t!5Z_gYY}$`DGoH=+0|?l!kEL}xESP~MHinNPXf~%I9 zMP%yP@Hnd0qxn@pV1xu3^$lVU1IYsDObp5^r({l*x+1*T%xp3dG?ISI30W3Ib*n)_ zut!%j-9pJ9wEG0&-qo7`iNPIUtFyyMp#8&999f8n%FIBamD2kS?mS21h2S#KiVW+u(;j( zgpMOkSH@nSaB+~KIS;F}60vgUBhVR!%Qn#~8)h>TAp7~vB%H%N@qz@gku(a-qz8f? zn1*L%cbZ_CMA21rvzCCC@1BvZVGN!v1zD=lf(q!$*2$8Wl-%?9b?9H(D|S{@70m|9 z_?B>^`IA%Yh*=J)(4$%Mzfq^?rX&N7RB-Dnn``yJOoMypsJF}GL`TFTdi5^FG$wjS zSeE&=i$oTx%-nj(+{yUPfe^#Y0CM{w;m zd%+TpARe<^-rB zW8&AT`8x3^OJ}8mSJR{d0d;rCN>VchZEn{jro&-zeZ@jb0%e5rAKY4Ify-f7uG!c9 zjh`R@v+PUQS0)vcJo0ggK*M~1ciG-hpbmlU*QHzDlGQVTHl(ZqOp{>45egC!h@ zw36jDyZor*y*zm%LWn7kuO0Jxhj*d_)HoxJoA3k8OEg?Xy?42h-$S)Ur^TIWhd+~1 zZ{szK{j1x#P4DcmfpN*@)$t7&OUeXv!pY3CauO{OJ8G$dc0D9EWxL%PJj>%^^%;{w ze+pE)!*<1-&uDTN#C{YNP2lBvWT8K9+06K=U<7;P8@N#!iks5*RbZl`jRI1No&eO|eo zKTjFoRexo=mS2H5)2vG#yieq_n;$Npk0{0P8>f>Plg($p%vfbiePM~y z$nkziV+eQX1WLvVt9x2bUim!voVVK0#(~WZoLs>9}NPcdzWlq#mY5L znI=gUw~-(=u7_FSG(mQ@Js}YOP~ipG%x=~T4sZP9K8B*|*mlfh=I9kc?N~3l#AsA5 zDj;B1A153xJ6q}P4kck9Fn5vzE=F_gdnQ4*) zm5Qvdt_XSTIkI%^g692k@Z?m5PQLiZpygSbRLr}FbUu2Pn$$9}_w>N9*qnPjcve{H|m?o&=W2H5PQ)xn6*gq7ttwh8+GuYq2dT;){?7tZ+f!$JO|qsnZk?;_daEkeFF|eW~E)g-J#UcEce!$-rSlyUP*Y-$qW28jhwA6$Gs3?7^u*Y-FwMaiA>5gd75#gnA~PuYm&9>yt_K3Phe(B;Uj74zT7S51U1v+ z`+k3@XtN#;tfS$uk`Efvh~3UeHKx_C=DxQ7fye%mO9i^53+#KebC5 z1)C<(baD==xg%LTKw}Ik>wb1g`%;}*x#@O@9mC+;`Stqk4%`53y_cbdW-G3dqMS!L zozEa8kR!M4dZzHY>Zv|?TT`xCt+LkX4c`169=e&F7DB&LjM>ld%rgNa?FTDoMK0Jc zFOV*)b%_}Zz0%?ydD6RF@MGLA?L`eNW_=W|(&m2I$>b%J%3gP|JwVbBZB;I0YKQai{CA4<}LLy||~s?ig7^4b?R?{GtvA{6bh&}7kU zcS-nQ0(uhDP~2mvEi7iwZqufiY%HOX3hkXS!5nSyOZbLOnifhM80m4(%pL0BM6?kF z1^SY6?Hg(!m^)%jeuAc>;l6KBl~CHJc)%T^YYyq(;QJ#O6&8w|_yhCLZ&Zd5onD_k zzt;jRyJpSY;@xHG=>B|~jq@E>LeBrG2%AxI{47b<*rj>y0X6?GSk>^|@m4?xIS{mlgES(Nk)Hd`$ zHYPjKw2V}3`B?TdS_(gLO+bpgtuv%|_hclSxB639m)!bxb{XR$k=z>tG*+QRPB;QaD}=;n~hnXazbAI0kRoG)?O(&H-H zyeE3R^9KU29cSE$`rqhZ!Q^2Aj{PT{v{+RF`T6a-fCwO{=Nv@)(AE3CoA0I0UNV8n z{&MXZnP8Btc$AyypQD-%v2bm7w$ z3*t-Ty4euAyYP1$Ds3=CYS6;80$?mX8aRZFWTia}I35;`j^jSGIX~leOszKM)@3K}}JGsFvDn((hU1{E>1|&=03ziZj!M&My z2T7Vy7?)~AaT|qHl6LRQ;+koK%$mI479FKXZ8a@oPPD7U5Shh&1k&c3`WQuufUo|s zetLc|g*iX)tjg}-=6)}G>KoDxt%<3ZDne~x{3n?JS!C9^C9JtW;&$+Jhe#uZ0I_t z?Nb4`>~*OLLSzWIigtsrs0isQd4Z*$TxzwEz)QDyi>=qbd~>gbA8HE+t=2lLoZ_l8 z+RE+lnM>~;4hOoQ#+%ZZZ>9GDRzmwGtNfVw$wluZ-(%AV)IBG7=7q3YXb-gyS5MSo%`FDnP<9t>RJ}$TR z5Y}*9DlQy2L8;1Lg*A2u2xaWB@#n4r?`0E)k)z_eGQW0sq^cPX#j_|=n-Ib~=9mSk zK6};`!M%Fp?FA1^d_=+(x3fd6CGA9sx>c@p1A)D8_P|@93?@mapKqtsP#`qo{`z_4 z!G=wWLQV?1Qw$cHwZzL9hp?}zISQQM4M@zU?#*QdV-Z8rqRpB0yPp)0zs!~%pm4sN zGuE=i7Jypvu0%4Zj~=^Um$J4vUfBWXsH{Wi@8DhHZxXa-u!ps=Xan$=G{ld>m!D~*K#3`wMORrn*h2A-ffAeoYl_) zW_u!?AC@PSaE%JMw*;c8J#L&2!v@+fQ?DN?F6OTqr9Z?lEAf;EN0$~z$)M;!mo*l# zh&UqFy^JC6SBw+0%H}8gbCI_H5v zSI0cYtbAmm(nR7@kl-kB3if96g?2p}+{qyXAjUCkG0>hSO(m2EmY96{i7-p5V#Xw2 zZQ#1BV@fs+>yb8O4|`{5*=mg1#e=g1N_&zhP0B8^D<2>msZ8;L`M4|b^je(7S1tx? zT_clA>^EQ{f%vwd>{=R~ z98L>a;UuC`hE0oLqw5%_2tEu|g}9x91L5rkI2gkSP;`_-##dEtPQJsm)Yy{I--|Wa zpKqLr$t2PUt@*6!o1Tve9tMJKM81KJ=3VJC`)EZ5XD+%PEJ&Z9T}AZY(GZyxfvOT> zQ>gQ}kz+g>EtB(2N6J(iEea9$ZtdLGYPXgQe}$&of1h_zZ70{LsV&bM!ZpvZiu$=wk-cuEu$&2h1I-mAxWKWX<0M(lgjCjEZ*Prs?|A;T;d!|^2hJ0*% zK4kAjj{eLJo8oa?Ei=Akp8Iw)ybW}kVPIa%gC>!M@zLkv$&~0QDb^mx>uDquGd>Ip`!zCE32?7K zmpN#(p(96XW<%LyhOp3X6k#F10>Ax_As&QWiawXkTJI0bY<#`E@*UB^<^%?&jsX7vjkt4`{6|4y2WKl7G% zIrl{-;guI(FWY^SK-O6p44;~%8ugl>7)oz}AW`4`UlwZJ9)IWPA|5F-j87`KJrtJ6oaqZ&9z z3=N0a4H0HxG;k%69-ipDKk4!MWF)tG+r5WzI@RH0^sex31Xi=pWpWAKMf7$YpHpbE;T(Vo|}Su!9zu;!IDU zm+-{zya_*(H2E67zC4#IWb&Ym1HBm$vN>jHCqrV=LMo@_EFfrS=ON*#X)QE+jLJ<_ zIxXm_yq6US9(P}4mR_EQ^9Oy$aoGBs;NMNcZO3bYUZ1UVQBzs{dNJib7?i=Lvi2=b z%Z^!27Wf3IKB#)c@ZDn67HUE%>=+1OV>YW!hoG{W1M@Ih!W?*fG*cMZEKSKEt{b>C zN4F9+k{3Rp_Fxw1cS)AWk1VO zSNe_i^Wp(~i#%0_q#5a18aeMzF&rY0`CEuOQ&-Q&Y}hKlY8TxK;uSQ9$%0M6$F#$Y za6*=)WrP4V=*sBClCddzXdXP@u-=|hu^PIB)@DS%RF=tVws?Y~vr2P`w^0sV07;RO zLiGzdoJ`r2J*q$K200;LGRTKG#GU2c6vYl3o{6yMd!5ztQ1|-5!jB-0mtr;VW%8zW zy;gU?jnS1B>aq-E9 zv1cEP1aMvog@@oA3=g{+OnNmvSdzz7{pZW(H!ucu zn*1uJ@(lO`HD(K;uFLOxh<}lEC@2AUy)J!0;pVE(4YG$oqh($nJ&(dB>y7JX`F!(U zn?2lGg4bJt8JpYhbTH4W)U~u5EnC6hMGT#V-{sRJcUAuFuXaeSF5I08GDe5{RrFUQ zuRH@>4_%b2uYQ9wUugn_y!_rcegsThm|BT2Bj`Msu3NWwPGY1u;~rtia~|S+|767J z{0gqsc`FUEe6oPw1Rfr9ZVsI3f&XIS>R_fZrgT!!y$Mm-r`nVVG|&GFB_L;4_9LatPiS&#jX4Mc%f)IryViLtxa|E72hKHMSoFdiEF6Dh0pu9XlMLR zqodTQNYMG((WCy0>&uX53cj!awqUeNxO5&_Y@0TmpdyN-DcPW3P3pXbZY>x8)DcAL ztjrR^`%B5&Lz+|1@IRKX6|W z0l%lT`PozEk1JS#v~Cgq0iB+t=0P^g5h2-M7+)DON(E8(Yn1k#|I8 zf=)5osyc4_be*N6XR76nEfzzlQoz>pKEvOO6_%-0DK*qQ%p~PF67uglkMWcu(V!#t znX>)K98DykA<+v+jn8Mj*&I$}$ZQNLTL+SD^7bNGYTbXrL^mh&;H++WcK6UTJF=+j zyFL<&f5`3V67VP*?B((=fYO4SV6R>eM-D`*5ld%2#a$|v=P%Q1jgd2>Xv(pNpZpyQ z3;@|)2X2%P94RKS^u0VjAFdTjdemA#hbICu`N;pm=#~M0L1&%}ft{_-Gz<9B&lFc4W z;XK5}bHJK9FVo}RK97L{^}%@WDb~rYvV%j?IEbPf?rG?vb0MSZKT>rqqE;mJySDPl zr;nQx#|;m+oF*?PFS2lkLEqFS!q`p5(<=ujGnbejtlJ!IQFQ3DjwIz~M|1C1eMX^) zjDz@x1XK*f<>Q23_+xw}ozK9$WsgR_L}ZC#wg6i5Ou6P102d=LO!+&8>?>!*Z6z__ zB1+k$6ym_(qnNUw;Ir5SS&6k;D2sJ4TbWMy5jLIB>E+42jmbH;A#yYf?x#_7N45VB zszCjE074sNT4-gm{)yc2;zCGc^D6GwX0kjzicsAM?DMjD4Cb%|9DULWf>qG-b(Khd z*|&D&VqGCd5@DBfoM2EQn9UYfV%&#PsVVSYzNTW{|y zHu8caIVHG00?Eh~*X*2cNY>gM$&C8wAc*?@hA6hCvV>8&Etmz3j9rE<5k_PlnyoE; z2UMLfC1q&q5Ahx;Lfq&v(p@3aq#q-jx@^ zQjXJEg81Z>JmXtjnUqgP{`(R0{@)N_aYC}XvXXgjB~s5~-#PN@fwH<}(6T*J?sc;h zM9HAVAo}Ue@{EFS&%20<=VNg#G=;Ve3V&|cq*|9H=f1bs4&3$l*@4zjLrmOY16%h? z!bUF1V3&Ytq$fZj4T$`=?37UWdvOmWm%^1D2FO2k;f2cG^sdQb44d%2p^R!Q?)*4mkB(YIxvmnFC; zZXTIfB6yXr)zh(vKg}I1VVOx-Dsa|~kvXVBm9HRN>v0pH>hvQQl-%E*|4CSBHzrfqH=TG8=xs?mQwcc`W|Aa=7+hA6*9tkK;odM_>Bq z7XXyrU>+-Px$Jgl%w?Z=HGrKUe)M4WC~=}M5PQSWL@6oDb|5TnvBW0RE^WmQeuXhX z9L1Fk+h{&m6bXKx=+TQ1+&r09YkSzN%j5dn-K*09sZ_)>T|&^srRROLsq#y=jjn(w z6SvwX;EcLIPkharZd&jLVRc+b%X`Wu<`UH#Bjn#wR>ul2X+DYOuX!p1sFXFr=D@nW zVcIcZm&}~D<4e}oY3CmAY$NsL3|h#jHHMWx+bYX+C9W^y^~}QfRI)z#J>P&B7n_!w zN>D zot8HbiW&R?B84<{^*a=wWQZ6wKT(XuU+O~}+}vd``2>2^ZHq42Ip{fH?qRvN$yo&j z1#z#OpB+|r6_u1w!7WyIz0i0)&Q~++n-@_S%HEbj*U5Ix9v+oDQZ&V3-OG_IP`lng zI63Vg<`ZYm!}os>vzD+zBe3^qbq6Dk9P7-56f3N&R#|GMH-*6;F4R+I^5a#5^SkZU z1RCsC%jd8H37!)6LFGVnwV^Sm5t`fM3i0~rzEmb@9o9!f%9b2RO7YE<7?AC+|AOzV zz#kaT?EnW86;1lR<+z04&w9aE8 zv3gT#(gVdzK){b7iY(BKCH%)+t59&1;nyn?V^k3t$UxWA^(RkZPPKNNA4^3SXVdQO zr&tNl4|^p@zu#1&A$2JYza$65-%0SZZNy7@R7OXM8Lh^#j`GIx2Fox`EwtpS-98dC z@3$nsMM1@(=|;FDt0l!Vqxh8lYgTkMViAx#SUH~njBd%5An8qFx+V?lS@4JWI;Jk&@`YWg1?VTxAe}P`uZ{wI9 z(r~r{Lj*zra#&u9B({19@A6xa!1l}Dlpfm7C%~jUuW8p`z}U~MN%LQheAm}*yk@V& zEVa~-pgGeu|4xdgRj*6=G96A3U$euG4D-nyc635To>aCYOopXZE}D$zpv7&s1Y=~; zj|z?v2U|29b)GJI{Hdj06OA;(5-fZ_7~}qr1B|-qg&VID%1Y)?sc__ue3EljC_1UX zF2eMXCHv{BvUp{NB(9o<-jDg3`DLtj#BnIR41YhRH#}_Qu~iu<(KeJ^!#?2ILCr0+ zKHhyJkW<4-w0%??pkg#s62awHgvr*Fz(v|*_qxZKowstBR92EeZ${{0mT~+rxe$LP zJ@?SdUyiOALO&cp=;;ls{&iBp6sfX8v5lQAtaPfA*Lj~+>2q}kcht+nF8>yx0^!Lk z+>F(I2%@8e)r|QktFcbGMEO=@<|6f%2>NTjQHk29J1`jFl>^ zM7q8Ig6ef8xU&KXnGijSrrsz5S{JxB+6I;vGOsu9@wtfA5RHOn#c@0iN{bOy5YUVE zvOJ?0biaSm{M8$Y7r)4lY8pOMwxChSX}e0trl>LW9hg2GsE)2Dbd*4)+zl(D#q=nm z2fF{=Td}zdfXsV(9%@h-YtdOl3)#M>%#(`B4ijbcnK9}{;db6)t#rDi-i#24o4HmL zKwk4G=YETxT-@+36+7Ic)`7r-3w#9b*L=cL4$1SAp?K!js91E=~! zuHoyHfPWWbL68=Si`UUic|h)QkQ|}Aan871o8brK;!|Pa)NS_R4_%KZj9SQd!)2;{ z5-49ZrMNPKxyYLA^eHdxknAO_p07R&m+7;M^;)iY5*_neq<<{LG(?CuOZo97&peB% zUxxRt_!JF>a&KW$cCLszi*RuFgFSlKBdLA*QDa@p)QDP6g=zfE%K zG;=bPbwJWTcAHN)6aj`X>SX^;1^-7`n-@g ztrastg=c8eosz(k%YM0nfILJ%5zEM7`>A8egD$WWQlPe?M-NRLRlFYo)W7=Ron(c; zG#22loyGMUx=-uWw-p8}+*)l$hZ^{VDve^;{0qYWlcqPyNqQ)K>TXL^U=uRL%i5SW z#ZaH~YK@XdsUAO=6RD?xp{x@~A9nfK2E7WQB;9@Mcz(3{^^<$@5US0AEn6Y*mmG4@ zx(wjT^<#x2moPq@e9l9nc9b2Gy(&kP`BGB4g5ADHb8~uQa zDs)$o%Bq|~z8c$E+uCv2NDRN#Xp)JlGaqzzxQZ-IPhsxgaWQ2zh>J-wlzI0%y}{+g zIN13I5^(eSa=(`|7dTcyn$RpIO{3D8#zv+F{lt~Sd%V^lqZem`342_(Cb(}MV^^7l zBNR#KJsNTtF+ZqN@Zp-sKxes?&|52or&A23xe`mP?AZ{S0>RDp9jET*a%d8s`c-@+eC1zk(~o#>wryvikPSQl!OanVxMqv zIRAn9a7t!SXC(XrWbATlNJKr96KT!^D?j_C8yX_20BK(UN-U8t*+uRxS;|J-M?4R$ z1otG(|8ggJFnI#or8-sQZGojP{zm%d?AK|T?77ZMH%k_(aK?{jOfRcc=pK#TVLz9j z*z2^L3M(mm?#xI41W|90Ob%wvy;#!!I}O@}`{f8~gUc}kP6BpqBCRHNBp&BDgP>WD z#<{=W)ot@{A%1#{DzzP z!_8{=a$Z(@95728nx4E>b4ck2ae+EBeOMF$VBevnW(a)@WkBH9?A6_CKA|t~vDtr(W}x+GRL?qJ znJ4WL(?3RKr1{p!$)tMdG}Fl;IL+QHlPiBvE-=YnZ+4LJQv6a>CcA`dQW`#wp$y07 zefIdn78+8X!vyWCxRo$EdeqIe094lmqM?~lj4BFkq^7z)Fp2%H^@eQKvU(#PX@o4s zM4xYpaH1fm3Z=oIX9TVJ%~r(xAB^4=L`lBI>pt0M+sQ9gjuvdUlW5p3{|!o2zRWR(M! z-q>&lO23c2baYD{+Q;S=F9`3eFGBWQA{9UoFMAX{D-PZ=z*3uV5$lM`m}7@y(NkhlXQ)8y>deI~$A= zpEn^kZ;9?Xcj$E|rQk2#kCpTaGbJOU3{nGT>LbYe3NkE&&UiaN8_`@_x9dtK6}lcP zk1^ec?DE-Y==5rCbil>rk!W1v+rK_4hBUgs(X&u z1Dg^S6pczN-6BRv4hPfJ?(Ozl-}or@1l5ZK&8;B%#!JvdL=Tw_;yy+DcRPgs^grH0 zqZPoP8^y;=)9sqvAdklvIjM@KPgKqpKvuroWkq)TZTWT;8Ns7 z7)Au@@~N4rXsr=ruDSMpmw^kU!wZuV2&=NOsA6=?<(&%#6T_EKHBAir=5&R*pm&gw3})(+{SywsDuXf4h9l2Bk@}n$k75BX6GOM`tm!HLHCz z&qu;O>lmNp%kvL(-{duByXYi*FEP7#Y9L$_U%ih-*VVX+R7eyF}N8{gP;Tt~uW+Uj6z6%20XS?W9GMO~VaV#S7}HeS+I z$XcBo7Cg;c;hT0&m#XP~RfFC9w$q*r!nuQ%KM6h@o(BeTrUUm4oEqQF{$+x2lxH5c zk55e_ki~avu$BBfvI;A6jlTL%1}cyarwhA{CCWjDaaVlk>f+?_eIW10B|XX=!>j!X zL#wzcsfSq|TU0u!IGqIQ&4uT~ug}>;T=egY^f49@jw`;eysB->_PI>>C8{E-^4`_@ z3(}I$w1LDnf@mi*b>_g?xzVLxwy?WsH<`5`j2Ovu1>r{Y0%=?^!%MnDJGAnCe|NiV zAaT03dcq#Yr=%-m!vK0qbO%Z#l5U{@hEe63eb2xd35n?rUllEbpHo*UWo)R&CC@}YS2tn*pBvXZi&o@@lyKjSH9B9!RcuFu*N*I@ykO12Gj^!Z*~&K={!@a%bSWsfY}c9y^Lv>WA5b2)D3 z5NaEbfdtY>!xNb&x1hw9dva|j1EOz}+9+0AL6NIp^#>TDK(X9xy!&mfY5M8g(uCh`c zMm7bjOX|FeA`u~>f_OM)p>B(VbllF45?X0^p>7dfDO;Y{TtI=T+^oCl4Q zPjncYdq$C(*V?aFbs+AZx{C>`g`(+Mg8T7?Ao=}1IxTHD(=TdeQb9kt036b%06#Y#_X{sW z>78ew0^%#kO|!y3cT8#(aZfs z==mV{Hf3^gp_~K^C>o7r10LwOVGO?o(gq5qjb#vkYwejz^jZ$xQb--g$6h@&xPPpf z9JOoIT~}dYq1^e<^}7;Aktfslz}-K^_a6Uj#pP2$cxTm`LXx9?0vH_NyDs*~>wQjh z%x~X&X0Y?Mb0C)Rw9Y@J!N?)X6@GIr^~W-zHRf1|D>^+U^_K@v8I%fQJ6%-QAt&;& z?TGvXgvyUG+M(B!#3tc8BhskdFq@s|duVsZj)hg@pg|&3iJ;Age6sGVDLu5ML5Y~Fu?X!tco^7p$+>fK%E#ZE(#mG2%4!ZK^nTlZla z9zqtNp9TUhPI5NV7O7gSCWR9OuQ4+LzudT@6s2*duMlXGeia2_5}?Z$=P6Fkvg*L5 z8PT1Pt#j1wfKW?We?JRZKyXtusdPT8?Q_J0@y$mT@l#KKh2BVri<3Meg|6r62j+_f znoc59YqhT>?nKN(Vt0YmLM$|gMKr5c3J>&L3gHb854luDB)-sMPMB`N{k4U3L3K z*wvIJ)EOMv`a4MV3ys3&!!Alyr}PV|mG4`6L%2YwL}G@k3<0)*aVFM7%}eEB*2BeA zvG&f`@pMx}rCMwtnLX}v=`#vbC-<8-%=v$23E^T4+SHGW6g@JY80-pyUs=WI(Qr+homzxR;gJp&zY*l$U4hFi zyiE4I4+2}dNnsjHI`!EUbNIM}KnfDRsAv3;oy1LFv=K*Gq=H253kI4mAZ|LDGK1b7 zK2xm%(KNR$q%zIwtUyQxPM{LqQLww)`34;-W&R=>iy)3V&;cqKA={dJ-(#44(bFK> zhwpoG_GEP^eP)jeuC7N)a;<`j3xFkrUvC114e@7vXn)qXzNd67Q7ZVZK_j=rqbsaAwDPp` zF$x}o=HrIj{Z8^%0H|?G%cg59DC8STFX%S#6!Ka0hixc50TA0Ki3qK9yOi{?C#-G` zO5pK1tUQ^t{oo=v4IMS%^Wsh+pG|oBU88GkZ&e)l@#*G33o~TI8?qm;DBjbRg;$Ni zBkUgGdYGyr-}q*t*2!eyTvBxF_n4kZ@w?g%mgEcNVIdcSt}U%w>~aSB;)K5b;Aknf;; zF{It8*^T>a+W@mdxT1bB9MbFI5&+i11o;x`3#2wmGp9x30dytxgxuwJt#xjti=kY( zNl}lZJx(c}UlzaTAbb=d=U`#j&Cx>wedjz)#$Sy8hmv2Q;;{S_1s{8=e4AIjmQK&-p0fCO$pGuJ|Y_=N4ZE$kawx&1TI@$Xak0@d#K23==WDE9Kt$|Q)7|LiE~ zL>0j}8I+0pSrAy+2E84@Bn>10Z@#^ksP9c`i?R3m>$AY~Kdb?calm6y__Gs$9;EAY zJxL0N)JP2cbnFeVfZYGmS?4KG2cD8Cw@u0p|0AuyXXuH4^k`_ig+C$wbs`@HAwjYL zFtuToS{PO5t9P)7KA%}%6v2)xFw?Wl^)u#P_n-IwIlTY*hdK;cKQ(;wW6-_-*?BTc z>byf2zXSX~3;aW#|0ah7F*^zHT?-F9Oy_f~xB;xOfu1DsfGy&Ge|lX&1fZ7MOP!bS z-JNVIpkOX~$7YQF<9+|}cCUEwWXLaA|?0EmLYmV?WgJr7S!2u0q zEn)>mcO?J{qK;Fa;XhvYf7a}aDy8vU^2W6Szd6#9IW=sH==ilcu2*Vg{~w`b&# z(iBaT#fpkJEXD;XDLT{|ufD#Be;Q@9I_|lIC4vwA|Jl(0{}R8;SwTaa6&aEbsfbmz zC$O{eLPJ6I$Ni~-O6Rm0U)9qAuXpM>ov!j1vk#`x^Cr@$hO(H!#hy1=Ys>D9Wj4vZ z-J~n~f=ctL04m57fpxIm^Oixc#mNu&KiOnftz5bWnUSnIc&5j|D%XW@lN^8mM z7t2A^ELlBmLg5nYwf51A&)Tq8K;KtJ6X08zAdJ`_dZuu9`26D`Z)&C%8WYEZf6QIj&)(+XuZEdLo`O-08?x$+$p z8AZ6L2=wU{6y!pgU)}}7|nyX3~g**2Z-1E;Veg!9YkNqoWuSdfI)c@Ix z@nUFXguV_H|8w`4Fm@Yr7|KlHWrabZqqmZZ&&)P>OP z^$gASMASN5$Z$Zr)AriuYfn)2lOn#1utYx8@u8IsX9yc+|0x~+hlR|b zbSaw9-j*J`y{7j0na8r20rr`!Oy`XFsBSr%e<*SYZyMkl*sH$U52;pfgYLeDQ)^

o?p>=_e`|u-=ZErj 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Μg9xl_VsMlpV*rJVRVl2#VXy+h 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 d|0}MetroMerger + + + + + Metro Region 3 dblclick: resetFeature, }); } - + // Load data from Socrata via API // https://data.ct.gov/Local-Government/Municipal-Fiscal-Indicators-Economic-and-Grand-Lis/jrwx-mxhm/about_data // JSON URL for 2021 data (March 2024): https://data.ct.gov/resource/jrwx-mxhm.json?$select=town,july_1_2021_population,per_capita_income_calendar,equalized_net_grand_list_fye_2021 @@ -314,7 +324,7 @@

Metro Region 3

var town2data = {}; for (let i = 0; i < apiData.length; i++) { - + town2data[ apiData[i]['town'] ] = { 'population': parseInt(apiData[i][ apiDataColumns['population'] ]), 'incomePerCapita': parseInt(apiData[i][ apiDataColumns['incomePerCapita'] ]), @@ -332,7 +342,7 @@

Metro Region 3

town2data[ geojsonData.features[i].properties.name.toUpperCase() ] ); } - + geojson = L.geoJson(geojsonData, { style: style, onEachFeature: onEachFeature, @@ -391,7 +401,7 @@

Metro Region 3

} function comma(val) { if (isNaN(val)) {return '-'} - + num = val; val = Math.round(val); while (/(\d+)(\d{3})/.test(val.toString())) {