From 9a513d4de8df39856761236fcf9d2ff3a9634258 Mon Sep 17 00:00:00 2001 From: Dave <8709533+DaveBathnes@users.noreply.github.com> Date: Thu, 9 Jun 2022 11:21:04 +0100 Subject: [PATCH] Update for docker container and MapUp introduction --- Gemfile.lock | 8 ++++ ...06-08-creating-a-fictional-tech-startup.md | 45 ++++++++++++++++++ .../product-roadmap.jpg | Bin 0 -> 30765 bytes docker-compose.yml | 4 +- 4 files changed, 55 insertions(+), 2 deletions(-) create mode 100644 _posts/2022-06-08-creating-a-fictional-tech-startup.md create mode 100644 assets/images/creating-a-fictional-tech-startup/product-roadmap.jpg diff --git a/Gemfile.lock b/Gemfile.lock index efcf403..a8f51a0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -211,6 +211,7 @@ GEM rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) mercenary (0.3.6) + mini_portile2 (2.5.3) minima (2.5.1) jekyll (>= 3.5, < 5.0) jekyll-feed (~> 0.9) @@ -224,8 +225,13 @@ GEM jekyll-sitemap (~> 1.3) minitest (5.14.4) multipart-post (2.1.1) + nokogiri (1.11.3) + mini_portile2 (~> 2.5.0) + racc (~> 1.4) nokogiri (1.11.3-x86_64-darwin) racc (~> 1.4) + nokogiri (1.11.3-x86_64-linux) + racc (~> 1.4) octokit (4.20.0) faraday (>= 0.9) sawyer (~> 0.8.0, >= 0.5.3) @@ -268,7 +274,9 @@ GEM zeitwerk (2.4.2) PLATFORMS + ruby x86_64-darwin-20 + x86_64-linux DEPENDENCIES github-pages (= 214) diff --git a/_posts/2022-06-08-creating-a-fictional-tech-startup.md b/_posts/2022-06-08-creating-a-fictional-tech-startup.md new file mode 100644 index 0000000..2a3fd20 --- /dev/null +++ b/_posts/2022-06-08-creating-a-fictional-tech-startup.md @@ -0,0 +1,45 @@ +--- +title: Creating a fictional tech startup +meta: "Our future plans for creating useful examples, tutorials and solve realistic tech problems" +description: "Our future plans for creating useful examples, tutorials and solve realistic tech problems" +categories: Geovation +slug: "2022-06-09-creating-a-fictional-tech-startup" +author: "Dave Rowe" +tags: [] +--- + +{% include image.html url="/assets/images/creating-a-fictional-tech-startup/product-roadmap.jpg" description="A person pointing to a whiteboard displaying a product development roadmap" caption='Photo by Slidebean on Unsplash' %} + +In the tech team we want to showcase property and geo data using industry-leading tech and programming tools. This could be data we know well, like Ordnance Survey or Land Registry data and APIs, but also any dataset that looks interesting and useful to our members. This may include creating code samples, or tutorials to provide example uses of these sources. + +That often feels isolated from the real world. Code samples rarely translate into solving problems that a startup may face. It also won't necessarily relate to the technology that a startup would choose. How can we make these things relatable and useful to our community members? + +## A fictional startup + +To tackle this we want a theme to link our examples and give them some context. That theme will be a fictional startup within the process of creating a software product. We need to consider the examples as being something that a genuine startup would do, where the integration of a technology or dataset would directly enhance their product. + +That allows us to immediately adopt some principles: + +- **Choose technologies and tools wisely**. It's not worth being saddled with legacy technology when starting out. But at the same time we don't want to try new tech for the sake of it. Small businesses need to weigh up implementing the latest technology with ensuring that they are adopting 'tried and tested' solutions. It's also important to adopt technologies that are reasonably popular so that people can be found to maintain and develop with them. +- **Avoid cutting corners**. Tutorials will often skip inconvenient problems. If an API requires you to not reveal your API key within the web browser then we can't write a tutorial that does this while saying 'make sure you don't do this in a real app'. What we create should be posible to use in a production app. +- **Demonstrate best practice**. It's not good enough to just provide something that works but doesn't have any longevity. We can't promise that our examples will be free from bugs, or mistakes, but we're also not just creating throwaway code that simply demonstrates an idea. + +## Initial idea + +We're developing a full-stack example mapping application, called **MapUp**, which will demonstrate the elements that go into creating a software application on the web, on mobile devices, and as a desktop application. It will have features to provide insight into buildings and building usage across different geographies in Britain (statistical, govermental, social, and economic). Like many startups, we will be looking at creating a MVP (minimum viable product) that provides enough features to feedback and valdate the initial idea. + +In reality this will never be *quite* like a startup. The end-user of the product is really the Geovation community, rather than imaginary users. But by following the principles we've adopted we should be able to demonstrate a lot of key features. + +- A Flutter app. Still a relatively new technology, Flutter has [recently surpassed React Native](https://www.statista.com/statistics/869224/worldwide-software-developer-working-hours/) as the most commonly adopted cross platform mobile app technology. +- A PWA (progressive web app) using ReactJS. This is still one of the most widely adopted frameworks that provides one of the quickest routes to publishing your application on the web, using [component libraries such as Material UI](https://mui.com/). +- Backend services using Flask and Python. Within the geospatial community we still see a large number of people using Python. Flask is [a lightweight framework for creating backend microservices](https://flask.palletsprojects.com/en/2.1.x/) using Python. +- Cloud computing hosting and services. AWS [leads in the cloud market](https://www.statista.com/chart/18819/worldwide-market-share-of-leading-cloud-infrastructure-service-providers/) but this market-share is gradualy reducing. We will continue looking across cloud providers. +- A mix of self-hosted and commercial map services. In many cases startups will need the quickest solution available, which may mean implementing API and tile services from commercial cloud providers. In other situations it can save on costs to self-host solutions based on openly licensed data. We will showcase both options. + +What this blog for more information. + +## What do you need? + +More useful than any of this speculation will be hearing from our own community. Are you thinking about using Flutter and would like some information about it? Is there an API or dataset that you think you may want to use but aren't sure about doing so? We'd love to cover areas that are most useful to our members, and to get feedback from you. + +And as ever, contact Lewis or Me (Dave) on Slack to arrange a tech clinic if you have any queries or want a chat! diff --git a/assets/images/creating-a-fictional-tech-startup/product-roadmap.jpg b/assets/images/creating-a-fictional-tech-startup/product-roadmap.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7291264c2ff8ca9ebd84f3b851d61d5bf837a174 GIT binary patch literal 30765 zcmb@tV|XP|vnae{OeRhywr$(CZQItwwr%YglVp;KZQHgr!Ofg=zURF^zWeLm>h7m& zud1iI)~Z^oS5?>kT>jh!AWDfziUB}CKmZb72jFuT6h~56SYJU&UQAL(^osxhfWp}r z+d6|H0syvlE>23~LIfI`S_Dw*01yBs01QA0;50OLb`VrhkOBN3;c@Yc`wQl1|H=A4 zvi<)PU`R zv8$8Ye?J3&^>rTu838kfNQAcj_K3)jrijf#ctaV_gu$IC2BGM#dtvS11rbr7=~Hd_ z$9JypgyHk^a}5v-00jdB0|x_#fB=X52hh+^P|(odVPL4k7=mLfW|}bUa@YfWrAlr@kmh^2aCi*ne6UcFmegTJsQ`E$Cs55H zA^~HfK9(7GL>PnWU2WMGWdiL9R_Q|RF>orR>NBG9(%aqk5KE5nVq%y_H?-$9V&ux& zJYSL}AwCS{t{I>5`%UlEf@$|%8+Kwsiywg${dR$H-kZ`Av0Q8?1l@BP5j2}E%HC4p z?is>c-;SU&JyY35T-bvBNUj3`Yn&ds%CTnu1LK_q-rQS#l7--yb zhbPGnPkRCupH=xudA^+ecdjkhT3N%P-n!9-zgK0 z{Q@Xv6tB+MWX-gz3$e!_Xd^9IHfVz_xfaC1Db22pw8oq3gRL1>CB#t9O=^cUi=quM zmWy)BDbB#eY7agEQTzgakXP3qE}>f7jU!f2g7s!l0mPt<;A5C!A?%$~sYfdUiG zPKqit;OKiAwf9t!25^ShL;+c?1ZMXRkS#6t8-|r$gQw~tEuORf0-h6u#+&WA#7e(N zygy8R*>fMCK)Cw*k>{(veU%HAKuR;+?H(=fG&Xpb(A3Z7W*67`^0qQ<-9AtaD-MG( zHq8OnOqdGLTCBd_ro|7iN`qUQ>ThUlUlkE!{*wluq@2&jY=g@ZIWEN1qcX)?BCOMrqc z*$qlONQ0`Vgc<8)}3e4LEL&S?c9-%5rV-1?+1yo`9*a) z$ee<=&-nO71y%jTp{~)icZBlb6Tev`QTz>(NW7F*e_}I@B(+j-lZ-|xB`O15$YkxC zqTN+Ws!aY0tt9D!<9aJACaa0degMV}lag(Uc6;WSJR;egTvJO6_5{e?w-mp7sG%KC z(RuQGj{Rr`eIxK>p~)hXpG`Dv2bp9t27*)zGLhy?E2a>*Mp4p6SmUgay+axp8cP}z zbs^}phBfPm^=cNK66I?2s;y<=ZxgQvW3L)~9IWR!wVnMT#>}{KG0G=2lY#3|+WCgy zq|JoHb{hl8wU03&BNk-H=*cD0v&jXWwkF6kr~*_zNwT!nl?n<+LNc@W($=<|QfrfR_mT|s{IC3RUyBR=rl%`{S;bEv z7|+S-6vGcyQ;~BJOxAb|G?(au>E%!qnfc|^B-=`X!Q~>A*E4E3TM4z>z=c#Yy1pN^ zw0f=1HEk|bCAY0*>?|*7kNAoAFMn_fJ0W_!){krUdbnz2U5498MkBuiscj|ZVlS(x z+wscI#bL`7BAdbG(42aUYB1Cqzy%#$DP&$vMKIAL4)2wHcC9Sn&t=P(O6ku)HL_xO z;5R!DLT#;raoAD~dryJwIHb1VCi*0r%cb=DU=R_gXVz2$ zmDLY25Gg5?GM#K7N;9Ck4Z4uMFPKVkxaLtt*0!|yVRFVU)kZBfdW)$X&Zf#qw73c{35w5tllvurYY8lkuw7oa z8Yr?Ff@uaRA?Y!2lZ^=^9c@3NzI5F-M^!DbrV8G##=zHK%CTwa0Mk?Xh$?^>4m!O~ z+omahJ%*9?*l1VObYcJYBxSRQcYf45aEnUcYJA|aQ&x1$+2r{Ak)@7YBDh{PUCBC@ z%zZawl{T9DJNqu?Nshjiel&f>VuS zvRFT|u*cPc?^6sATRLahXPm@d83y||j?qVxMemC^&-v8>_!%@ggN0BE>$$1QC_1k& zv?qmyx{W8$u@DV^&G(RT`OKZ0>MOUiP71Q+6wA z$$58u@4{`yZl$=SSWn~58u%TM^>K6FQ*N%+QLlJ9{y6%AYvX0n_Mg48YQfz5gBBj& zOEXE6#T2TT*~fId)cf(rW;ROLhc;6UoA@dgsMZ0DTz+GzzI? z7q8OCW=>lzG^HCali zv~&o1tOQ#{cx#;u6BP&wY$$XyfP`LLuvU*+O_pAjV)F^Cod#89ObTIEu_MqJsv-Tf zBoUfTd@*Vh(ZwD~GIWid$u|8)Eb4%L&h?dLJWgawu6CVALO)E$F{ecAv&?VbJyu_) znr~^eDj%|P3{8c0JCCAm$8I9CJc~Kq;tKf)|5~SfAXYt{J^Hfx)t}-)OwA}hJ%t&G zeU#;iKKS{XV;UxOODp!qO9e1QlL?VJ&5NXpQvV-dFE+B0_!1O79;G6T`Wkdyb!+FBw)13<9@ zzH(2xXKpLfQ18tIjv)L!6Sp|nwuHTmo^t=)I{m=K)$BkwF>J`YjC49K{P$huE%4jv zmiHh2Pe8$@+a!CB?WID0#4kxyzk(C;y z=_m3ObwCR{Mfi8v_ExO<74m8OjOJR`3-!O1C%r5e^!Rqj+bKCS*Yp1n^01Z&lylcBLIf8!O?A}%0d zS4F$yO0HQJu79rQNA3Npz>oQBIR!-89_>Wz#8yWlTsBvc5^Do7tsjKwA<~*+f~1tx z*qbSdEPeyGOL8p>w1PGHGbzNgH)gL_oX5XAQ%*Ab#edXJvrnQZ7g=YEMm%5*n2om2 zmCC;AJpQoy-HXjw2x_X)@1xFIM6YK;w$^teh@EptYvT1dL0wt zQ62lp#ai78C?T!-(W1h7-*!X+kFE@uH)D_{%4T;YL}vwt5d9!T4H<4e5%N~6v-O@W zwt9(Ls4226)#=j(tysly^<2<4uHD5sIc0WQpzRu@LDL!lt;qhgn1TYxSL{)qK1%fkJ%{@ZFQ$XNeME2im|L}KFpw&xL}ylMjFg+~?^)cOCaP6URz?>AGO$O;gb%av%J` z`;S7$1Ctj7$E~!(h!1kT-j5QSJ$D);wG0>YB96}b5m%Mv-I+q-1Mwz5^}qha`-dmu z$MjQh2Zhn<^ri6NsR{Lj!q2W)iw=lqUd#KAMio4mCIwQWEPC-=R{oY`f{+y9x|ndp z5GljoiF8_ch|OBS8{nEvG?t*Fum*>V5oM+2dKbYiLs@4NA+TkRQGr(N77<4m(>bl* zEURZHB$d!@NI*BNm-vsHwQUn9froQOm8|>FODk1d-0e{a({D{$6&Lri zfj=B3F(@jAn;KAUwS&k(d&A~zlLa+F`@Z2)2yKH~^}GXZtSdEx1(}mczcB__cXC?o zhX0jHv({KrGlh;HX`%y~!gf#9mm9i+@frnUwx>s$u^n%BkvhE96z3m@`)PMTUwVoz z;45D|KLQHW#6ugcfP(3v8OB+nAi+f}R@YnLuhMsa+cV&E4k<%xUe%HK3I4jrR)3_m zUM^|yAtjBml7pRszxP2y|J-ha5it-V%;dH9JGd;+w6 zMvmVai|+4^WHq~>?a!dHnurInvTKGtT7gn*=A>xGNe*`AG1cbAvs6#7Lv$DKHJ`?piRsMi_(J6f*JPDwRHwU0%~q=F8m_Ga zrJbO3l*62H@3{rd!S1*txnTGB6!kIf@d?o13Cpd$$K&;9=X3R~dM-Ql>A;zryuyEs zR-x;WmMRYysD>HI%w)CGYQtsB#Ika$=7jVquL!i=ZS(Eu@Kz(%i6tT|EDE z_bkizqJYOiqd3c0Et4#x&*S{dBV%%$r_Sm@#%E9icH=$wgNq)Pm%%`>NRq`l~|7z6h zBINE>KqV--Xxtn71w4}l0>(?mAKnKLj(J)UO9E(vS5sy8m#nD3c*u4a*K z1oy#?A-D<)2X-6>Q&*2kG8*N-)QT5biQ{g6q|_eG9KuVVPs*+zIQ~)d)N?(4<@7yx zryqT?QHCp#w5pX}7_GW-lKJkOa>nZJN3}(Bx<2L4eRtK*3w1R9*QEUq$>}J+0`nCw z`Qhd#;K)Ap{cih@{k{f0``X^ej8sk&d*?aXD6{bDy`Wim$oCYBjTty(UOQ+|j4YJj zTI@}Sz7QG$=+6#gTF?-!S}GxuFoT$jKZUNXfZiaGg>qJW5tmhuh-`aDj$TZwZA~#n za$4lF-quqsmi5?2(<8xAAisVM#mj1UIXmaG^WyRL$zAj^WynHah~9O0{r>6#j`pE57u8dpK7QdqC!?W zWyYCb@aK3`xAhD1c>U_{%!JrF@ev-wn}8>35BX8t&caN=&6)L7g_CVyq;%f za?T}LK)&OZtC=A(xuI*3myP{AdIt^pgV1fy{Hi|w(!A2u|7Q6YVY{!%pclL$SbFBO9!Fap4L4aijl_ivG9tV-m}nLU z3fYRSAQ#&RVTfb>J&saUOXG+uMS4g3I2{s{Zs-+#wGaH21ka*%hk9aTXfzd~$1h<# zDll@M2`wJIvSwcH?v{MEDQ0LNq7LL2YVlA1K26me9ekuw>uKN9XTR5`L~7vOJ$=l~ z8#bxAT?RCjl*4^fq#E24#U7tf1#)%MEZ$aoRAcu-8;J=(GA^!N*sLO}rn@Jq|B5}Sm3;Qw!LEmH$fKBNE1KtL)g8}Ntj#M&*jEOW z91#He1z=w}`Txm-f`9_P619*>P>9ITCuSDoS(w464k^lfvjS9`L zcG}A71J(y?6xD=EeZNAf1oP|13N9`ztF5L`Xp5MbxOmNIO(^j$8}qb<6~AKjyp`4JpTtfy3WWmspx78~wS{C8uP!MjCRTfG z(v%fNoTC7zNdm!OL}5yBZ-Ty0fL;63ED+7es-EN3GEHrDu9D08*TrwGP1b}mA7$y; z(a}+r0--=nSgaLTCRVeC=;#pGWD^$`uMJw@+4F&pc#g+={7)_eL8vt_gj@ca_J<_} z0HQ^mMZSN3jaV9ejM>>8o10T4{maV>g<^aWq0*NGOiWBzrhmZo1*~#e69@^vHI4;C z83^LUF#HqV5uxSMcKXXu}i5B!!wXogU5VL1MWv;0oi>2Hj{zLhGQ*}@GQtgO-USb{(O7zk0TLY`dD{W^=S!$BZ^q~?~@C--YqE?fGE^U7#yECo8YuF%gJA`&AGM5l#T(F-u??t%Nu_T zw8@qH_b{QF`~w$LQ80Yei+0605aTcgPnMDE)x@bh64bMPJ9B4^(xf!xsJmH zagpkJZc5{R{Jg_M8?I|c2$^Cf43&fM`~>V8XvQUNgez207pWZ|4-b!?xT^2%8>)x+ zYNB2>{eB8Yqb@A^7H4$KnF#07U!`dV`1-hWR-2a_@X)bQIu=p?^_U+UYURC;P`WOH z!AQf8%UxE5yBLV(TEF4z7^?=$977Vc=QJh;e=R;Nl@2eg2&*{6q8MgdJ64yzUe(-p z{hr@{*7=EA)3sqwKW*blhL3*@S#^D-|E&87=yQ+@008oEUBFQi=PKqM9sTi|W^czl zZja0?>!1T%my~OBTmGutmhh3;aeo3@7d!<8anVeP`K8ke`xchUft0|6Bq+zcmSF@b z>Y^fG(2UngoUbQkdUhbEg6Uvp)3sP!?Df=M0pJ*bjsiG4gjn7heBn4`HO3ars;X{< z4?HX2LaE)3V$sB-{R9lbT})nScW0?_+9AZxXUwR=v9YQ~o3Uzep$z?*(H&%4=iB5? zs%WN@w(Lr9JxR=n7*eKM_E)dNAO z2p`v|XK;TApXMDr?ApP_y;HiKNO0DJ-1^an^vl}b}K z`G8fI0F_D=Xo*nD=%V52I_4}|Y-o{U+5O>ysrnun>sVrjbDeV2YqpODG(v z6i6_l_(W#MuYuR|{m{+-U;$i=!zOW@&SpzUo%6hMb2 z>Vb|p_WGJ(PxE-;4U6MF!hHTeK`z&r55*MByoe91V-IuJQorjwX#s+u38D~+zr4*0QSc4MQ*}bF?h$#luA1Q! z0RC?8mMM!nBASDsI(B>2U!7q&CUq+V8V@x!0wDx$vKEPrICA2 z)us}o&s=?UASKyyNkov3U4qrEq$)A1|5jR^W6sFj%w)|RZ`fz-j&2N50Q{@tC%kdO z(?JNfG*)xg;PWx{N7$b6gZSc$(oSGavfqpj^^+G*ZtYgJM_F}(+kc05vC*bYd_0eADyBW{= zSc78AaklrnVR!GJx0vRd1bbK59uCJ*N<3wuLRE)ECg8AeC?YD=}}sG9cGovC;-S`V5|tGc=7 z3bCZ_`(!_gi1l9-e{S3s{RLaWa*Jjf1`iN6JUnkua)bUFnyfiI2B>cl)&d zcZ#RI?;c^=)y=IgcfPhPeE7u^6@`-MpYS?ilxIY5MDMHCsv^3cN|0$aIPoGTQFCVO zcjPDO`tN*;~NAp52PAy`h1bp^?rN zz<}u017QOgg=gHV*N-S*ws$CqiTTqqhV@n|I0NSS=Gg+QDJH)#kw8mYTg z&5Zs-a!ajzGs7uIkK8}MyKid2sxx+-m-m6FFD&{Mp`g@sx@g)ME$TQPlqT|q69mLb ze$C5U0^;dVBpN$%OTP4sl&pwMVG%ZE3(Y#9wy8Sfj>p0c&hHx8ptnDoBOVA*%nfc> zuXIyOr#IGO!s9-I{=4qPZ`k`=p=OILt~nE!^Qc~4 z#E(GyEoPTW#DVX-e(5TG5xH*CKnotn)(6w&CjiksFS^4Qk>6gnsR8!vhX6RJ zcCVJ|a#H%Ly?^uf)=yrTv)XL?)`_Q*EXU^Kuby}WbL+p4&oP_>anB14O)&b7AOr$+ zO(uXsPp)nLvfS#S{v*fOTs_wP+i>%5k8}Y@O!Y!0^rnVQLEuR#JR3Z`-JcO0e{S@@ z&rjsL9yRGNEZV|pun((rEL%pKOh4SZRJF{4zLs?7D^4d`wYbsM@c?lA?wmLw@_KMY z!LvV-AS2x0Cj)OdUUmj7dj`6_G-j<0j|Y?SN|kq#*vu&{dzQA1W?ODM{XPNF=XK8q zT6Vf-cStuELv}ZUI?1Eyg#*7#zVF{wlp3}`4o;+Y@DF2ZIzs6M9|Q8e5Rt$Uy)WHU zlH}C*?CkU)@$!Vv8uZB@S0M!yzag7Jx=f8ucIal^)c5)7a*g}2Yte1Rq@w*cH?A1< z;*^Kpe|FpLbP8BB)Ai{~`xYv&RhzUJq1bP${=GK96G1W^Q2_9B`UCvSKK|OgQVwrA zcq8Pkqv%@bpMcr){Zx`yX5I2EoQ;rI8L5-eiW@QFZ=^-GV!E6j864WOY;(%}w=PHD z8E3VbNQYpx=`v7Ucv>h^a6G%Qk0z67C<46k!s?;EHX8W8Ke@f}*)PtdKLN5HNewpl zk~yIb7jj~~F?_XAd*ZP*IO_vXYCN7Pazps$(RU$EIeez*euE7&X?n}m7R z(3;^<(r9L{+Yf`eXDx&ry77&DqX&cE{9$UU(V0Xyu5HUU9?^tng(hpt!yVhWpuZ21 z!61C>4+tU*c>H=1uOq@|GG|XsH&e@vKy{6iX)w`md{yNXS1DF=Jgm4e1I7n(pD(p7 zTCl$d&D9l=Mc#NwsS(nxK*4F*q)q(3!(Lz+5|%|fr@xIO9SPqOe$jxw2Pkw30*>YX zl=4DLr#$*T$~%L!kdqbHo(PiO=(kwoG{Jcui#MK{kZ0JF* zNhgkC&jit&?d?-21om=%VG4?vZX~kjAf_3XQ#ioD(tSv6N)Wvjk4kM;u{dfZ6nBuUrS?Ni(J)%1ULN? zmBzC7D9u8WDZpzd*vW7lvm`4mpp|%T~pSam{?Y|jl1O8 zK?X@6IJ_Uxfc6dJs40lUf7^?3=iV1%`V#;(^B`ZEHfEY|kVMDRph=S|ZORFyJ$Q%iS&2UnlyguD^sTOl_>)O0|kWyhlPNK{wihsN{4{~z>y#bkr^Qo zQ3MqY35Xm6p-_n#m;{8BoDxWk5)10ln3aPH8+vBY$ykJqoqr~giYT~1v$Ba6sRSoC z_Wn;=4U8Xf#?NB0mts2_7p8d1&ms5{)Bf}l7z^YtPMx5UBKoa(`U_urc(I^(OVZZ; zo7l1U5LeG9U`CRs;y2~+fehaSj#KG%A$QeiT!^PDqNgHc%l&Ovs`K%_&*Z(Rr7l^$ zX#%Jm)W|63VpYC=XXm_#!E5b$-x>L#vq)yHj8|zP2EAH_Dqm%uyr5075745v zAWjALZ_%-&RKDAnd`(>U?^=V>*5#@*VIBusVd6D<7D&ZS#_d*2KZAGBWQxS^tGd@aa03QG%&B20PxvdvA~ydBPGo? z)z1BMW0GqeoFI5BsAL%i4N5t}u9bCl$Un2FH>s=gt5NtnC-=lM3wd(Cmw*HvA_ycj zLyQ&sIsro7r!d>G7N(NK3BtrhkZQ`q71&4*I;32^I6_hb7>UXqecU!LddKH)xQ2DFQ{Lm2h^wz#kV2?YEnysSiK{0Q6F% z`QQ9oyw#=VWY3*0YYAZ_&`QX?owbO&b*o)l!kGENMKOg2F5LN~=-L)wHIS$^kb^kd z0Pbj0@{0AN@y!3$<`dAq;r*~3QzbHe$t4fbywcv4rTN& z<|{VKh!@9vq|_`J+-%PAyidg!`3aCIvhmtd?=Eo=1pHKcO;*}m&X)`zDaScI9o^Z< zWr{5W$FISomxc_#D%z9D&*cG8-jthlOn}9qKf_9XFOrexqAH2lhhdG4-O|gDNOg3i zW4;d~e1Vm?A7j-oB#`k_#l2^D8xD3;zt%=sA0nLO&C$`i?D{~~CO;p_ySeYzR$n~wY1-#O)H zwC0O(lur|HJP5kcszsf@7j8VxjQbk(!Bt73QbpA%25LVz3KPXX5Z|Gh(~DiGxhStx zC$Rr;JCLYJw!Ho(EojZ7F9u^4Uo^=56M%qDg*snQACoH|-YD-*O~-Lbday9W*UY{( zPx7_#55DhxBe24+E!4ta{*~+>qr0XdUV1XbRZ}qlk&m;h+?4ixyZ+~uRpTs+FTZ?? z9tJJ#UJ&B}#*o^BC0?g(Ns8U3HD^t7Tp{ug6@r(z7clb zMSCgIV_4@E_~3lU)MHjJ;-}`etrgij$dPOx-Qkg2fuha0(rst9-2>P$e#|^kiY11q zg1?6sEY4MiOK4&aOv3g@nz!<%6?)oL^s(F6inUOQrP$|rcCMcav0BQehD^L+;Ffg` zKp6)}k`*-ulp9^1>q#Q88;@s76nSEsiqiQ0^m3W8%?JasqfT6;M7{cwgq5i~p1gmX zzoeT?!C`zXr2y8^;Y4Jry1meEsjH#rSZS4vZdyGVxZQyS$B0uH;?C6S?f&XQw^_P$ zv2y;aF2(h9&zL9fb)}iGM^TH#UimnfgPq^F;b|ae|Uz0tr-%#L*!Yb%(@J-0`mooh_-w z$7&_kRn4I%^~wC^K%)o_m9LE?^Wua_YPg@$t!S_xN=Kg4Y#~*7Z#e(~z{~$|dQ(3p z+Jc|cpFF#|E><%58))X)O zZe(dXd=6-<~BErJu#+V&x zBdvp^?v56iE6^HO`Jf5iV8dG0rndQTl7L&O_a+I6b$D=T^#a-~@tA#_=v=nDTnxV6L@_ zIX(r9CO;M)%JIdCGw_|xbrRSdg-Mto$iY#yf&M6JLPkfM8K+1VBTt2{LIVE^Ey2Qz zdyJoBI(snW2SLJRgWF9etGBh)F(|Y~IMlQdyqe6OD1v1X2tCxntA7@)dD+5RcCt=Q z{3D?&T7o0}Z-`5%;Q)H*4tIwnXp(Mn6z+R=OGqqO%dz|}DuUz#K}SUp`aQlvM)i&n zG5!S;{LT|p##Q-V3=%3;IRIoGYTVIfO5#i_&Y|Lr@%md^S=6@P$ML#2J#~s^Xh53Oc4USDVrfS zo9o5F{&q1T3$IOr!CW@2m3}udqsi~PHM3jlbG4Ux58JuK)UshC?SW)2J%2&cuVZ)A zGx>lOQ!|!3bszePaOw$Mk!ZXXjChxA|SYU2Y$(iUtb)-m2>rwPGX&ouZ zC+Y1J+d_>aEkt~La)aeW(85GTgQY2E1zNq|ZYbcEgB&swKGOQOmg9bG5pU)j*7H`6 z442m@ptGs7Mc+D2P(l3K-O$yVh_9qvTin#x2E#4R?`%2!+4GQm#2-MlCb8IL%f|^4 zyHu2iF3!6PQv}iZcIq8NuCuMKEv7_%RkDZtXtaZi0@>H6v3OcCHAN1 zyO#F4-WV!XoHJ*t8_q^=@Gk#?0(In`vORY1pSti)t>!7o%O=GFf^ z@s;)~H`ekZIj@>mNmB$7JP{kKckvXV3N4;Rver@yTj`p*MTC#Q4wTse2)kJ;hhu(1c4Y8jjnIOw~Gts5NnCcI9w!$^cn` z4Sfx2qm)zSmWgUfbwcmZqJ3c@(2mQpz_C<|C1H*@;hy#)853qJ9+0HI1ctsS8+Stb zfL@g8KWE3sNEEP0hA|`q!f+2sc1;(PO?O!%9^4y5b6Y)*3pR@y1@l7Mmi9cd zFc#AtPcs)d%DQ3d}bi?jEZ%(uUh`#r~9i?Bz zuSg%bN_v)0p)@eFkD9=>UX848mmEE}tT^pX8~G1fc=HI~8-Jb`nC&hS8F(M>jfVqx z^FJJW4u)dy#ArDpj+j{gU`bLQdT>v24sNfN`B9DNlxUts0D722slyMa%qx=z{tZA$zbuO7iXzA#|#SdJrtK@ z`;)ZopqUtv2sFbnqiS>)4yEv|sZ=vZ5^Tq1;6~n}0zw_! zhlpu4hGr{*8;Mc^jKdc~3#zpB`W&hkchcXs%r z{{%EEtP3Ow6G@{)SJ&6M819e7`+|CAFT(o_T~^SX|NW8G%v*gm5N%5nLx8uvT#%sD zV}&-n$0V^ItLaWF*P_+jK=?qC)rhA=Zvl8}wp?wgEgdoEl12MPxB@RU#uZP@2M<_x zM!V^do(NE%&k@gb1V#7_8*H^?Q58E0;m+rT?B81~8h8;A*Bq=fK?Xt}x+3S}EI;Hr z_%n!i4m%b16VTP+@zc!~+qc-x$}2`s79Y80!S%yKAx?K=^>AqUSUZRb99Dxhwu~ z;BSw$?v<;>Y(f&ooJLmHRW00ghaY z#xt|^=J1Hp{YGkkUa0x?ZWXgxI&WD!4bE=kgQ0bc)vBt?O#6YG~m^475$&iV)25=+cq z%D6e*GzP4b>479*@VU}h&5NmkWRTJmGAQVc4QELO!!cp z3?ZIn%2oeN)L-e$9{K=QP`^i>sFtqg3E9uXJ6p~Tl#{mxVC;WPxX@kN^;;wM@cVWy zTT2GMp#-zkVz>~--9_AGbXT(G$6Z# z^n0zb&No-bh5pD0>Sk!UcpOBm;7XX9a!`qT5OrZTam-TtrEGAKlV;O=ecwU5ZuSPv zc#t;d|Ep3PocalvTKfxJ>_W!>ith6t1yZgPc+&0S<)DH>^tXAD7XB3d(c(%mjJJN_ z!cf8hW6niWtgEsfu1yM5J6y(N9U_iQwB^FY*{>t3<)8HxqL!v4^_zgQ5JSYbwNg_< zmPCQ-ND0Hvy)q>&q_xJKK`bR5I!}Dgos3}K$e?a6b z{|blwhCaj@J&xP$@tyCp=wN2wBZpFRA#;h#+MeZlT7t0W`>$wwU9RTUJ;}OG{Z4DA zY5sFL#`ntBxc63>`Rd;XEp&OU2pB-D2f>yoFP-8I>AJzb22lJKB% zwq<8lL-;gUNTy%AIE=Bx^;Is$17*5m^8TiiwawhmrHqmgO`HU515=H){K`{$VhHrG z({v-2_haVvohu>st2$UsVeenoRcyXS+Tf=6sLnQOR|fNm1%mJO?rsHt%!~NLc4obI z6se`@*P@0G-NsV_$(CGXwPpAOR~auK7E6|et52TtstC_XD$D})B;aJ6Q+B_u~5A<*@2iF(1qXM(qC2SyCAA+g4e2W1#}0s!LJ>VWQY&s1XhcEQ((vq03&40 z9e9)0Kt2oN_}A!D0lx48p%7S9>a-$vXDfr?>j*ZtYpuEa4vC%C2o;K>O>2GyIQ9Y^ z*+>T}(aTbtp^1|xf`|*kq?>$JQ$v)JCf`hEM+Z;|s9`+SHeh>*i9*4#p{$Xf$^guO zn|nixXXaW}4*fvs8(GpjL0)L5)CojwUu@8;45K7ttV^AiPuU5`EGTxdhE=Oo2@r@P&o$vJXo2EZcV!CEe=gn@TjUKM9xV65q~ ziqngd=@*V~wQgRl^F!brw&H0Is-t+*gslYRJq*VwDuv<%7Hi~ME!rQwg|Tvlf(3V~ z14Co20#5Y%8=;;#$jGfxo-@0DBhA0V8soQz$J#=zerzx2vSBX2&D^bl>X_o<7^+s2 zf?*6*_{cfLw{limjQ|-~R@S_})GIqomFi`q`3VS~Q12uNq^CcO9^OVqb%?AN>;P(E zq9HYmcT?bu@Khe3Owg=GC(0zGA|<7O!|nMMJmkF7z7BmiJR?wK5k)!n>Z|fvZ8=+; z-fW=uYt%5X+N9{FSg=ueOHz{32pKTDS#3Ez(l4BPmNhQ^!M9nOr_~(oY*u019Ff6U zUNc!g+8kvqkdPBl6VLJCj5Z5xPnfNPN3pN2ZVEvvG9nf&9@F6OS`m zqyT(+%>wt!1D8?lRsn#ebqu5sMnN2prRvuGQOAJIyK)@K_5oR=jr|W;dK-26o`&_e zrG=wjqf#`RR@KhA*XWb}17GU}*S5B#lct(tFxa`PWYevRsQzqHg4h*l(_WXorQC%r zt>81w!_9ypKo!yMjA_=FI%+a0le2X#o?~N6!^(g>zO~yv{{TRK^HD<+JFrwxOB1jF zR=2B$_>>SsW_e9=h1y>=jAPaFHGYwmxt1viHz&%!w<@jG=6y~P$GN41ZY zaEuCU@~yhZEczSzTh>K-rm&7HGQYOA>e_*|pYWOs(i^OGaCFB^Z1R$|ew00}jf7$3 z?0DF*;Z#xH#=1$-D|>s3(F?;n6jzD3fNpp-t8_1U(#d+I6Lr?ne%qOsOG^oA60qg>-ZxPzs z>M7M&s~Frk1a};DB(XX;%CI2&4Ld=?=Pw%=-`c(Y@#*p04+zKhoBV}b!XUJ=2-nwT zmJTtLjaTW-ARN&F<@SjJtTd?R?6~Bfb`N!RDdL{x$J&vK|Tox$aB6sjdV|3==Fx1rC%l6i=Nt7KzL9EAPkz!>-ejN&1==6lf84_ z>f3d3$j{t16fJC~o4r?I;!eO(wz5TS;?23IzP+>40}&j6&2@uMN?){u`Gv@v%xWxon{S*j;+S{I>Y_40quWm{Gy3a^@Jio1S-r*fvLDCM3ym8^C z)#Q>!=2?Zij-mXmr;LGwxMTSNNDerM=R}QxG~=3)?xEGjg>&Iuw!fvt-3(VZBzf%$ ze|*;*noM2NYETpGiCSOcl`MLtgjpODM{o$o+Kej$`DU%Hx>2IZ3`mbUU!=uG3$F^x zmhr=i{Tfeq@f0|ZR#|+Q8sfc_{m9iv^}S<7KqKv35Pjzr6ndm!AyX_(mf_jRI|6(~ zdd=?Y#8RJaVE!1+EA+t$ZOU;4@~o14>uU9dZPm47(3amN8x=j&nP$nW%Uv!@PRJMB zEScmDXD6#;S+|?;n&Ig^)pM+Bw%>}sM~m>+2)sOVl6zA=6ok zkvxTaj|Ix)5mIXxcFg=m^qVtjIY0iSwitd(MfL8Aey#NF`9R%P_qx5rGRCq*mO&jD zWlwC`!5+n~g`!|+765NBg+QtB|;Zr8?|C z{^ceA0Q*s^rjd`3>9no?0J+nkm-nXybowjU8tw%ERbbS@wVR zZisR{$b<8%i8R}kf^iJ4p;A*AlYo*2cu4@(vZpQ5-BHheVzdMD5Z17x{{W~i8}VCP zpWuSEuz&gE5&r+l>(EF+ANMIo=guO43j`5zuq?y1@`Cst5TBT%vVvz z9u#A;<7|&IYg8Zk^gh@J_!`xf2;#PNBxhz*iYXgmuu6^}G7l*rCWtjz2cLN?^!S8vjLlMxO)L92+tEQAWTOUPNS6<82> zOFbZ4Dfv}@I zH&>_s05>~2f67l$KQJ@s??7YB;8r!wWAIsjaq8ylOPwvsiPWU9aU2fT77`{;a3o@` zrPumHEY_3Sta5{EZ90XKBfLGlgz%CuWCRM4WEV2!Kcn)1v+{Hbdh z@0J^NM>X)a41u~!bVKvc4Rqp3dw=wcP~-mq+%_#YGB5`d0z z#6O&q+%_I&qlOscjd)Tu3ZuX%z!ZA6>&)?w1!Mjd!LMEa0L8O`{{Zc~ss8Y+*9NlJ zLjXx=u)nn&y8h-gF%wQjl+cR&spUH5e-wPj-H-} z&OR%3`y#EP{%1+Jlg*ef@Xd6_OIah+bemgwkIV821lnF09uQI{1Pr8;d`ckjIQS7+|d%FWLn1BBX*qt*L4906;PYlZzfD7b8By zS|zMfG)*7vVhcO-l*@38}b& zVNCJhx4RTGy6sl|>J3}+C@R@W1wpGtIpM2RMj!w&RzDHYZxbD|Ts%4Pjl}^$qBK@k z$9M*f0x)Zlt*CI<1dJ*1!gm#eky#boXn{m-DS!%118zL_HJRA?QLK-v@umkcxUMA! z^Qh!UM^MVZh6j-bwLXg$jqRqq(zBSPiFoC<2kbJ9*#~hI(8(8z`D)obq;AcJv^EWC zR}ywQOfzbeo=XCe81rdc3I$(Fc^;vw%9C9#dkACCVQrtepQQdSeFK_2J!DS_@!}u5 zHE(-qJ+$k^6v$D)I5<8BxQ<}g#b!$lR&xg>M2z0j*O=ouI#l zL@Ieno)hK?*wuprgBkJ%HK#CP!Gqn9YR=ii@!+<~2qPx6{uL%raau`rPBr54HDNn& z@h>W~m3>#-R8O}Mr8|l|Lwez1y<1ybmzF?_;!Z2qk~kmK{*%YqO{q1ls5?U7`|Axr zsT4ay>;ku=Sri3$8p~EXfIVAQD1s}CE9Y4(eCuk+`oJWRaB6VF=#kZBBXK>nPJCGb zG+U+8qHP_%oSvxI29`p9g7ump`X{sE10@Jy?xiXi9D~T!t<*0K#1YLKb4d_7pJ+9r z>H5Z#@hv*m*p|6wXrfdkELi407gC~eF{EWARj_tf*n^6*eo_jGULbJE-U!I6TVfh0 zqhFPbWl=%;UR9>q*voTxLL_4(<0PKoJV~prmTL0eOpm~sSR&3uY1{{&jXj;DlPqqG zfR#Bs>i2*&FsLMNjj(Is3syHxrs+oK;)o=i#0e;b;2d|>qkn4f%#97~ClbcssXlwv z)^}2H#1cD*IH#TkCp*w(%|mYtk~@V|QpA&h0Nj&Z6xJ@}E3Bx3Hz6Y`%ba)BnMX?~ zmR|?K6?Lm$ERuJ>5hjL76`iYm(Bbpz;;pE4Vu9+|_2Z7cO7%^1A6VPa5^6ft*WbAj zFX4eg{{RwtgmsEXgJ30+|Agp7L-7H^hoNdc&S-?^Lx5Zz7`^;U$UWir}_9@kHsiW+9YW*vO!F zaO{18qI)F~#-WJs+j`Zb2TqerFa{v@+(DJpeZnf)?~4raa&8lfOMioF`8Xr_O-fL* zfH>SB8#{O4@~HI-H&qHJQXUt^{A0ME1Io1<-q<{5H2B=^%z)Mh^BG1XTKYF(e5If!{!L0C>r6Cu_b!uu!6R) zT>WQmpo&=XP*3GiO`zJ(9E##|B&C#s33epzJu6#CjFZZ-rg4+rPjCZrYSQunHN49r z5=KXHU5Fs=2=524YKM$BW|{Hf8LaD(AG>8B{izrHs{mIL8Zo^`djlg5V!KPsMh_2R zF*|pX5~OR($1^bq<{r18k*l$ye~TyJV2=@g+dX-f!)mJw8|v44w9Q{mg=XR1y;5rLOJ9sY8Q?oI^Wo2d?-kQcKUa;krAAVTdRP${*gf?1iPwj1z` zo?m}*)G$XJQ6i!s!m5k_C~)sliuf_QxWL1t z@^PoIlU)&(H#$d1uWg^~r0BAxd?#t9Rou_^iM?vWQ-SCV^@tD;RoCaweARoS={#=tyD8fawTaf+5 zOPI*^f+%0>c2hOE3v_QIw*-P>7JzZK-R?~++OE4ScIC&Q8YZ5tB>r~VH~dHqbaq>!Ur4iWYzbWkyaZ3t>j%$2 zkWpU+nu9Y(r^{yKbAnO@Y5WA~y&;(ogyP*jZatPh*t=WwL>0&9ZBPkXyD_n$~d8@c3)Tk;vB4@We` zJj?;lwnN5$jR9-XXmClJq{2;sFZbNdc7P@e#{ndDV^9w6dbBBw1b|xGvnl_6o6v7|W1dybF5p+d=$}cmEBXE zf^$$^>K5?4V2K<9S~cagZno``xz817+IRDog!@{cxwu8P(L{xg0V$FBn!3@tIdMJB zj01!Kj=0*e#}SgoYE=fi>TuFl>i@KM&Pq?3RKNv%HZuR=LfXu)OU95~402iQd} zvo*D@k$$`qM$*r99vsISo*XWA;$v6#T>`wg)MX-MwwN@GI7tMRR$w_24Qi3z^mW9= zZ7$vI*4U`pG>E!LPd+2VQr(zDXkG0g7iyqn<~gJP003%R`Rm)BCFw@BARzWIS;6ecX;1fuR`r_Ng=Y5T{;VVW$E$9k z*@IkUh!D%%SR5zk-%>{k$t0-~FWHQ6kIuVW2-*ljY!4grKJIlMc$}FV#lOH;5yci9 zsgW`T2<+w0ssR=8Rx%dAQMssIB`)~nK{XJGT)xK`HQLW`ykLZ21s}ac_tEjECu)S3E6k}C&`WI^EV9QU z0qT{mkLx`Hxm#9@v7IrFb?djctJV6q5RE?b58c$3@H~yaIS%qqAzGt}{x=#YtT;G+ z>GAWci@h-MxBFG`iZDB)R{sDYO(#q`RIZq_wlGUGcRyzq$x>SB{UEx##Bxojvk-YC zY&g_;4_b}=j-RFgPsgvJSN{N&5$znGaHW%^`W#9%Z(m^{Cu*W!;0 za;CYlXvW-53CQjgVUi?nMZ5d)MIeyplA4&nZQfF#@Prj=+H<@_lFgPUywgTE>Ll)H zfkzZr(_@tp-PI_OkT%A)>e$w8<@_dq>1Ew+X<*f@Bs`Wun&@@A&lU8sLo3A?hDYVM zHLikY$N+t^Ghb&g6t_SPKgrog5Bqn$()rHG}b!0&U+`nyLXctlMo?7 z`_xvNb!l$Iv#QEtX>Ehz7kGvhnS4blAdm?hjX2e=Zry?6g&~Lz!C zv}gx8+JZs~y#ZBg&N9qsBOc5C^brLP*pp z;R14B%nD8xK2-{F$XAJ&mIRNY4{)gwJyBN>$Z|-WEZ%_nora|f z#d9BMfaixhX1X|sBEmm@OD6@sAKvl0rBQ*Y9vwW->TZeeMVS|7QDDK%3JRd!}(x!8SHPO zlm!P-OGN!)#*~6p40m?{M|mwpuCM1fAj%OxsHz+Hj-b)A|m0-=owUm7-Agjj8fp*6g28f(-eeR8`!cPJR*KgCD%ryl0DtE%%#q^8%5xh6eB!R`3Wa@a4frpDKc@T42)N|j;=G@w@ruPg6{ z7wJ0_g;nz=wR0r#-zB(k70|#~s8+}-OLHnmK1R5R9yO-eX;aNT$|Ff}cXQd~84A4R zK?}_1AW?pn*+bdpD_u77dD!=4q2c$1t34*hXGqvi>jZKWBe&6s9DoTR0L*z*x3(RO zQi!B^rF3$6>@= zEe!A=;%b*9y8=&e4ey0$f#U)XCM zE}!t4-Ki$jtz&LYAO^I%D;s$PV6jkX9X6%n=Sc8rSoRn#xK#p)C(+;0Gip&U*tSm4`N;WI{Dw_h+o76S5;gTyyBrP90QZwgsp@vt zEyFIH?|W~15d;|?7`sdc1P~OB@y@i3A4=%D+h|WQX_8lt-ZIT3!V<~aw{r0u<+d29 z=92a~n0C@yqRlW)!?ODxYQ(JYB z1fPV{H%qRw;A?iQ>oz`fEoV!%`~tEKLuqX!j`#p?P-@+ZL^2{~-nKs8t+B}cOC5Qj zXbz)CC(u5Sad9v7lfFL+9s&K@x0g|ZIgmV1#oCm{a`HHdJ>z^-=^7a$3o6-aR}Kes zmn;!|`_PIsjB-^A`y(AtTEeOh6lWPZB$Jw+Pxx#7qyANIZamxG%~vu5w`4yy{{SId zb0^VG(~AQ>HML-ahj{tXLWf$?`WX4o zS$(3FGQG)i!{uQL@ZfNl3|KKd{azvfsHB>AlhzVP8gTdoCBJz+ zPcG1aM|_9q`@Cu>L6O@hz1pXk{FvZRzQc3)MMn`NWU=PQa%-PiJwZXNwQWSmM^I2} zZoTL+6n-SNm7#;zxuL{OZPmSE(qsCjxVl|=TbeU!Hqnl3;0kE1Euw$BQCR8IO4uAK zX|)|%=JC!!ViVb2rk5v?t{_DWfH?}=K7skQpgM`8=h?lo z&G~U|cj3-6zf^H9So7pLl6(NEXWm~`JEI-{0Eqtpg(5d+8u7>n(HxiY9_l5-%)!`l zA7y=m{Cf62k9BWYTFlK`)_RWPuhtd%C2iG?zg+cfYvpSeGkya{{VTikCa_Hbu2>)V z%R&aUak7;Lgc?dg8~W1Vesvr+$_d8R6xK7SZ0%eKd`%qI-!?kUA53-c)P8BCa+c~G zjhWBTUw?V>6&xX@l1?Vats`xL;5-FQbM!MDUwe}`v%pkwAXHEXp|SKZrn1MY)is$K zfCsCep}l;DD{9-&Zq(d`J30AnYi&75gwLSK%6`Ly+ zU20PW1gvA3tt!t(xyJGY=4*~q)wiLw8Z>Cpqeijm3Io#}M0~{avF)V9S=uz)i}4zU z-4PWsPRSbcKFzzJ$u(at<7$=>l)jrR`d+Le!6f{voC}Trg zCSK^rIYvpQY4s7w_IoefFC!k!2{!2p2*7m)~yG}^nU&HFKJTRqp2?EIF_ zseMP1NcfT`l3lFr5%)vgjG>{ThF;btA}rHtYNIaSUnBj?UPkE&KT_4P54se2B)LP` zjG~5$D`tjWG%0XKL|B=p)O2w9L|SUr&&hNqw`*p$WV~$us4UL^~zUZ>b@;#be%H(|i09}~l?ZwB#G&l=d$PG2 zMGnVgnAu#Ib7Zx0bUd%>$uuaYN;JwKL|utwr%EmR9~oLrNjLRIrd2r-%iqafMm5gw zXS3QhMm%wnc25*nW;l*4p{6uR6k}Y8a5$n7M6laL@u)_~3u!4Vjr`Qo?L^?D)2Z6+ zax+J&OvUkkR?Uhyl&w2^*?w2M+EPeO4`{M7X&2;|VWGrvF|I_o83K(>{D^`OyBVcT zB3U|Nbl=$ueRpu_cgknPoG+!-{^jn*bV{75y6*i62zyy#*%It}4RAC;2xNB4$rZ9( z8io5vTcrI*2)kEk=uvEH$K*HQ&+?d=-O(nv6D)E>W|`L%b@GH`R?Ao1%F&J%`D8FbPG3`%Iez8& z7h)RxzpKv-slrgN;a9`8&wdQK=PYoGs)DH0QhdAaB}-;A4y&V0pA$>wUn})a*Z4+k z^2yWGm8Dne%Q}asn}Yi)?dT`LKN#@UHwUPSYutV-;r_a;fBuj4pA1W#R1f-t!WVr? zUxPGWC*iuuxZ=#GB(2Ak>+uvJ=&0#Q@{vM9WepV5AewceN;coMP=--nMu;jx^F7|rW?-cZ^8WzWOWm}#V`Co%B%Ir?_Dk|( zV{NrYZ5C$~>w_*S;lXL9(|;+8P_t^jAHq$y%V+v#G?xmQtJ1>r6(8D81+B8rvCsWW`c%B zmG)1b>ebN9d^vkD?Wf6+##r0!9zQl`(e>m~lDkp$RaAJsgC?6+vcl=Ri(iq8#dSXc z!ckpbjhd+IwK}N9Ib?6LJU{exLQ$TfsWsXQx8g;ls*bisbN*&5`4_5U)IXsdjrt1S z$?YCq?|)J5_DbZJ)tP10l5gtR`;pP-l$vpIQCBH6>M5(_T1=k`r%%<=rwlQ)uHF>CG8(GG73`UkXsoHO z%O6kU(?(5iR+>26Qt8LgtJQUN+b@BhlJ@@qBQd|6Pm&Tz88USk@=p|#^+$)eXI0fr zcRWHEUYDi`a_!NU2{MSG<6lw{`H+o2c0TO!jV!am6?VSXV!@kF8eK<(xji!K?%O?f zy{~x0=|s|7L-kjS=bl9?=AxSX$YsZmB&r=zYN}j*M6=~;YpJC=>Pxe(!)1+>%HU*P zK8%*#(&_%F#|J4drK>dYi};R9w0QTux|o>UQj;*}oD)h_ea$|#_LnB27_#DSDwxF1 zwnO-q*a>%JjZVKjH4}~Snc;aJO)Mn)yBBfp>trI)H^|4cWj|t&_NLlM$sU(Gpo#fw!q!d+0PN2*cuNpr=K)L&Zeq?dmDb7N(ZWS;^dm!+6BF=~xO zBAu^RAtD#ngkUAy@g00LxYrit*vpnu$tgF>XM)Q7KM&*ih_5Z3OmcfRSkdS`o7p;2 ze`@}wnlXz~x7SX-&8JO$(U)D9CoQ)tZOOLVw`AvXe&ip`{t($@S&{stScq_BlWA=d zH`XHqEmdTM{GTR%juVFih{l z57vHGnx)%o8GBh{XHeQ3*^QPljBT$=J$|qIAxE3;_K$IlOk!eWN3tQ@W;y(mW-t43 z_B=~W^G_9e7`m|O~vLoywD1zjd@Us*B zjLd7~kFhA+;$w=Y$J|H%!~i=H009F61Ox*G1_TEI000000RRFK0}uofAu$CYK~XYc zaT6kek+B98BSKQaFhg>o6&55kVv@3=|Jncu0RsU6KLC_05VWaMgO+3*fm2|m1PT@- zmF#PQ1S-@WO!o-f8xBLrEEK0Y5qVjUb(r@-?n0qWsM45aLF5(*su8(GIiQ0p5r!<) zyK)N)n~q3CN-aFpi{q>ybUuhUsZyl^r2>PIC57pi#ESp|M$vbd=NX zln_GGs^}0>roj!=OHmr9G@=nz@ZtK63Lt|7K|rS1^8;XP0%qsY4-zDmxb#Gzwt#^^ zsYIs))5t8{(Q*b#b3$?<5UWuS6V(twf|^!tPwhg>Ks8|&% zufQX@Ly}M_rpyo&g!ZC}cFMId?^FQ>3IPCNWpr$97aW1dK>>8^fsc_=f(LlfPar5t z%%w_{3Xp#p%qq(An1iL*)^%g6I~$^oQ;BluoP$(T!4(e4+kwB-orqzI(P`JlrFwG zqyXt1!pPS|iG)9fU6rJ&Y>iImatprF)zNu_m7JD`dwsmSP?PymTeFsD^O z?wkq}2)s0JVa_j0cb_;%ap)7PHZb&mGu$K0({LqWm>XLa1Nnph009`%Ped|zKP3b8 z1ON^v$vnf~tQ_>m!a~C}vskofY8dzc)BVB;%<6!iyAX&&K$;Gyg$a!$C$bS?E7^>w zs;5K&jg$-7LKD%f23sue*#;fD@{K~!iqnRZfOnS-$OP=M5-L81PpQ5vRjPAiZ|U zHlLClD~R;M)c*jg{{RKzg#Q4wdj9|}@q@M){{Yx5Zw%sCCIeQ9V@dI7LN9+)C=<|? zI#{$RKl&Ap#qTu`;nD3bp!}pH;Dc6j)ET31b*n!5Ie3t$7Z)SsQWcAx0+Tbp$ZCIOQxi?DYeR--J1?P-KBZE5b0qg8a6VUG~fbkkQyf3n-MqnYp{Z(EEhka?8rgs4`ygLJjbAwq)gL1g1+Cx>Q zo){K`yUzar1m==tm617v^n__Mu}-8rr!)je9eEvLVaNrAiGWiCG!G;Z#L{RG;NpBO z2U7+Y-f8<5g>Q-QhM5#}33@EDo5ZEpUfWzY4@l(nd5W(Q^b;DqhI<6$_Gpo%E*&ukg zn+pUlrz^B?nND~lFgTbcrhAzEif0e4_pCM``^KB=5DASclk^DT{{R)w+`O`UgEb4; zlEM$_pYJG8Wh%~je~tOz{{TpA1jmO7f;~hay0_NP0I-52Aw*`E8SFX)_L%|`S(GO+ zuMn}h>3&(2gQ-|z33)mQ5~;k9hUvu$g+1QswSI_f7YM{Mk*S!7FpesPL#|S|xnadS zC;&iR5U?DCti?2-h^?PSwj-%Uk8?!22s0rHROP2AC9?#T5yG1mXacDpfmE zBhAGZl4Ch>?7*2x=d(REcg&{HqzsXm_i>aIEdWe8fG|g@b}6l-*Jw#B)3#!%Hmyu8 zH$AyuE_PPBbti3Mdkmq3XhAz|+7PqI15^noQvnS|$kULj;oLP;o=A?t6iR=9qN}Ft z76SzQOUxJz-BVy|13=g=DnHiM_gcK*|1*A556%^PB zIt|RHRFNd)Z~p*JO>2nTBYSl|rDbbd000oSRM3e;q7bnO#u`yo8>@X$(5?>MUhc#% zwLC}JF|^uN0Ke|QxDaI85KyAh#0pKRDy~|!%}0sXMB)rUxI*IdV1gGHV;a!_K)FE# dPKX;qHzho#_?1EUtWPrXgQ1R2agY$V|JmIugUbK_ literal 0 HcmV?d00001 diff --git a/docker-compose.yml b/docker-compose.yml index 08049d4..0639e72 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,9 +3,9 @@ version: "3" services: - jekill: + jekyll: container_name: jekyll - image: jekyll/jekyll + image: jekyll/jekyll:3 ports: - "4000:4000" volumes: