From 603f6c00972953cc9a0ee76b202b3b18fe161850 Mon Sep 17 00:00:00 2001 From: Filip Gralinski Date: Thu, 31 Dec 2020 11:58:54 +0100 Subject: [PATCH] Add documentation on git --- README.md | 81 ++++++++++++++++++++++++++++++++++++++++++++ misc/commits.drawio | 1 + misc/commits.png | Bin 0 -> 45071 bytes 3 files changed, 82 insertions(+) create mode 100644 misc/commits.drawio create mode 100644 misc/commits.png diff --git a/README.md b/README.md index f7d03a7..60483a9 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,87 @@ After installing Stack: The last command will start the Web server with Gonito (go to http://127.0.0.1:3000 in your browser). +Gonito & git +------------ + +Gonito uses git in an inherent manner: + +* challenges (data sets) are provided as git repositories, +* submissions are uploaded via git repositories, they are referred to with + git commit hashes. + +Advantages: + +* great flexibility as far as where you want to keep your challenges + and submissions (could be external, well-known services such as + GitHub or GitLab, your local git server, let's say gitolite or Gogs, or + just a disk accessible in a Gonito instance), +* even if Gonito ceases to exist, the challenges and submissions are still available + in a standard manner, provided that git repositories (be it external or local) are + accessible, +* data sets can be easily downloaded using the command line + (e.g. `git clone git://gonito.net/paranormal-or-skeptic`), without + even clicking anything in the Web browser, +* facilitates experiment repeatability and reproducibility (at worst + the system output is easily available via git) +* tools that were used to generate the output could be linked as git subrepositories +* some challenge/submission metadata are tracked in a Gonito-independent way + (within git commits), +* copying data can be avoided with git mechanisms (e.g. when the challenge is already + cloned, downloading specific submissions should be much quicker), +* large data sets and models could be stored if needed using mechanisms such as git-annex (see below). + +### Commit structure + +The following flow of git commits is recommended (though not required): + +* the challenge without hidden data for main test sets (i.e. files such as `test-A/expected.tsv`) + should be pushed to the `master` branch +* the hidden files (`test-A/expected.tsv`) should be added in a + subsequent commit and pushed either to the `dont-peek` branch or a + `master` branch of a separate repository (if access to the hidden + data must be more strict), +* the submissions should be committed with the `master` branch as the + parent (or at least ancestor) commit and pushed to the same + repository as the challenge data (in some user-specific branch) or any other + repository (could be user-owned repositories) +* any subsequent submissions could be derived in a natural way from other git commits + (e.g. when a submission is improved, or even two approaches are merged) +* new versions of the challenge can be committed (a challenge can be updated at Gonito) + to the `master` (and `dont-peek`) branches + +See also the following picture: + +![Recommended commit structure](misc/commits.png) + +### git-annex + +In some cases, you don't want to store challenge/submissions files simply in git: + +* very large data files, textual files (e.g. `train/in.tsv` even if + compressed as `train/in.tsv.xz`) +* binary training/testing data (PDF files, images, movies, recordings) +* data sensitive due to privacy/security concerns (a scenario where it's OK to store + metadata and some files in a widely accessible repository, but some files require + limited access) +* large ML models (note that Gonito does not require models for evaluation, but still + it might be a good practice to commit them along with output files and scripts) + +Such cases can be handled in a natural manner using git-annex, a git +extension for handling files and their metadata without commiting +their content to the repository. The contents can be stored at a wide +range of [special +remotes](https://git-annex.branchable.com/special_remotes/), e.g. S3 +buckets, WebDAV, rsync servers. + +It's up to you which files are stored in git in a regular manner and +which are added with `git annex add`, but note that if a +challenge/submission file must be stored via git-annex and are required +for evaluation (e.g. `expected.tsv` files for the challenge or +`out.tsv` files for submissions), the git-annex special remote must be +given when a challenge is created or a submission is done and the +Gonito server must have access to such a special remote. + Authors ------- diff --git a/misc/commits.drawio b/misc/commits.drawio new file mode 100644 index 0000000..73cf3ba --- /dev/null +++ b/misc/commits.drawio @@ -0,0 +1 @@ +7Vpbc5s6EP41zEkfzIC42H5MnOSch3ZOZzKdtk8dGTagBBAj5Ft/fVdGGDCNQ9q6kE6frF2thLT7fasV2HAW6fZfQfP4HQ8hMYgVbg3n2iDEdomFP0qz05q5Mys1kWCh1tWKO/YVtFIPjFYshKJlKDlPJMvbyoBnGQSypaNC8E3b7J4n7afmNIKO4i6gSVf7kYUyLrUzMq31/wGL4urJtj8ve1JaGeudFDEN+aahcm4MZyE4l2Ur3S4gUd6r/FKOu32i97AwAZnsMyD/ED58+T9YvXM/Wvzh6+P2jr2d6FnWNFnpDRvET3C+q5CtsRmpZhDTJIEMHaX7lqLqqjT42MaA78yR0kKC+L75GkTBeIbrsE3LrNwld1UMBF9lIahtWGi9iZmEu5wGqneDsENdLNMEJRubhRT88RArsn/YfosgJGyf9J19iAhiGXgKUuzQRA9wKjhqGHszr5Q3NSbsKtBxAw++1lENw+gwdR0pbOhgvSBwTsdLECJwtciFjHnEM5rc1Nqrth9rm7ec59p7DyDlTrOQriRv+xa9JXaf1Hhz6lXyZz3fXrjetqSdlp4Kilrz6ZDgFvlKBHDCFUSnBSoikM9hvRtiAQmVbN1exy+PF+kQLeSZnOQAj0+z6hRHevLuQkIhJ5doB9scEySEpizWaochQuFNf0aPjpOu3+ak61n9ODk9Fye9gTlJxsNJ9zVw0u1w8jJhAfxTqB2ulikrSsodU2RPHcNBUlnG9CqE9QQRdauJNsV5bvlKljRbqBKGZ0xyc0dTtaKL5swWboSGVNI3pWkRCJbLohSuefAI4p4hTvZyqqor3QcyMA0yxqPS9o5oafekpW2di5fTgXk5Hlr6PWnpDklL/wQtWZoLvsa4nGboGHlB2rwg86GPK7ubPn4DL86K7/lrOHbmHXyfuGA16z57nHcjpw1sx+oJ7LPdjWzyxwHbrt59PIdsMiSy7fkgJ+2WyU/VWYrtz/Whi1J9zCqhOmXHeZPtHeX5oFHuvjT68bus/ZK7bApC5UiL36tUwrAMV5Oo+lktp7wbqx1nqj5Y5dihrBEvVa/9qi+8s6MKwumZaGdnS7T+38q6coXXk7r+oNQd+irkWLNmyCaWafnTZ+K2l96DYOgDEKMK5rB52Ovk4X7vL8rMqHLkPRdlVjJHXGAeXgxU35AGf9F3ANLfvFf5fdxUqVbZoMoVX3aIMjroO57bgv50cOQP8t3pvAgmPRFc5tufgPB+6KUQdNcwyDnL1Bvfw8zvlaKGAHHb2W929JX3yNz2T5ljo3x+jYDDRn4CFO7A6XBEHz56o6nxH4AhEiLpJMRFTEXCutWD+twQ8HTJMpZF2L4AM1LlAmQFpMsElXipsvaVx+Hu1U2uShphgiVHtcVk1jPDzl+eYVGs/+1Rcq/+04xz8w0= \ No newline at end of file diff --git a/misc/commits.png b/misc/commits.png new file mode 100644 index 0000000000000000000000000000000000000000..4ca4d9fbb4c47e2c096d5ea02cef85898ef527b4 GIT binary patch literal 45071 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%0D#KujN<7xJ;qYKX z;h4fhUQra^mKGoC`n<#yy&$guMOI@@3bu6(c3-o@pK15*Kr!&Ph#53yj32a#c(aWs zHk7t~dH2|4IPt;&n6g$o(^}vKvl$>${)9ljUx6ASyt5sGxfd^9pnm8~Zn*sAlRXF> zaNZHQeI|pO8kLHaW4Mh_nZTsp39|m|>C=gfij{PsO9KjQ;<2GZhLmu~>}%kZs{LNy zqmh622Hd=nmvt3~oZJo6I70Om`C4sn3O$;+W0Gi4jbER~$^vTXM5+%2a6x7Yefws@ z(9+N9At!g6=9AMs5?%U=jsYM2QS%r1NWL=U4|f1wJNGGUVpz`Lq|J4OHn<~2Gz!1C z_sOQ7kFr0iFa~gjM2i$YD3K~mI5S7B*~CxUnN!lkZi?HW;HZ=SM)G}&p0bTw`RJlA zHXThMK87$SpsJ>C(gN0SYF1_3CAz@PKn(&&pHxMR5c;^aohm@%7%{s|yRt01<^|B=a ztcRS7PWH8Jq?EpV#7pn8(hc~5XA(EMy6%;icc z>D~{Qk1nmKxXq%Tg8dFmV28dn}=g9wlq4SiMdNdbBq2I z0^UIDPVL)2gXe)=_6ds=muhAP&42W!wI$>0B#Xy?`QsTpnl)9{rcm_Cjl6bskGiBX=(U9Yu!I1arbi<5#|rsrWDv- zrFoa+#lKW5H>IW?W%+lU>T9@CWi7cTFzN7A>q$D;4qPCEVib+h9I z0kn+qeGV+D^a@;fc{ur~_x2hSiuo6ZqDauU}{>zMwvuYh)ChNXrm9 zE3jP}Eq^9$Or_h2*76&IN*>EHmHsmc+6P6Xf2lfu@4fey&)2HPn0r359DX0Mzpz`U zYl5n0xCehQt4_|V#GrmXCX|QX1k?P27 zkc|Yx?bj}xbo5PPTwZ>Q6Q5qu$;b$!7I^pMl2J(Ek+9g0w_urrkuAH^qjzsT205Pu zsl62QAsQf&FTkse9dWv(M2UQx3Pt#H>eu?Ok%7ck&4+-D6*ZvxumlZG5`k{QmJ#L# zlL*!2h35zH?D{dlpfxAIAW)UWEZf%I#=yFnlSw{8gOse!a`6`;2@iar{LeO_$siy-t!peCtLlDz;>xc$ugLOm_X~h{cB` zDocI!rcD#d@rn&>{H2UN^0I0mP1KP3!tW93AG%aVSFFu*Fm|ni61y0l9zjLxK&l)9O0xtd)Ipl@8-vplZ7-;WB<$GYGfm@ONAROK}cswKA%4+dHh5#;^8 zvE#=d2W?JV`FPgy<>6+F=FSxlb-JG3v%vKwRnn8m-Wjs{X?`kB0yA3U|~1B z6-)~YmF}GI_rFb4r+!dPI!kviih&t3+Ogim+EglVRqXG4MdnA;m|OL4X!$L2`ZPVg zs4-g_a5oVz2M(s9NklNEPH;#_HRaH$oO1n<$t_#8Qo40a(O9a;iW`&B4-&WL-wU{_H;>-8&sgp^>( zg%yR9SS)!9UI5~Jdmk@fW-~PP+`BjLa*I|SxRq`HMpcp{joE-%+L;r&Q82~3jJHR< zEsmoS;aW-v>x8d&f*Yv|pjaj9Va>e>vq=!0#=nztt*aX0dX`y9HU!q%kGSan#)D#) zbTf|V226ahDD2SpX&``+kxPElB+&O#$c>@%CVj8XXL>e5@qKc+;mzsz_`?Vyfwsk= zRZ{fMV)(n`iZ)vxCN7|k&`UC?EyOgRsT~9G9PHts`+#*~$?n5iKUGjUA37Z{9k&wx zY9r>=4_EXO7&*RtZHzkHt*Nel%FsapqQJhs8h$V~Tg=N;s%OCqo};jfX58*7&$luP zEadP6(x0yU#+{6A$#_?YlMd$u)m0p5_a7#QLbqn&Qm&}uEuTpxg(zV$M=n$p>>}IK z%+G!H_(mTQ+yA`zl%Sxk@7}EfK13HH410)hHQ>Drr*9E*%BjqR^#r~)CjCp2*AK&? z9?OEg0H4eRbHo22$*du{A&JuAs+inJnRuHXnNuxFFF9GpkuJ4ex6GXX;?3{RI-(_8 zS-Y9&ahPu70kHc-g?vi?Q?Khg~Que7^e{ScbTd~c7TIIi_NLQk} z|J{4d{3<6}TmN>eTj6#mpr*arqG36Z!VgP0D=EtQFQq%u4y2X#|C?eu+z; z-nV{?LlA*nNn^euN4mY8pI~R4uoxlG>5{ke&1cy9`}tib(N{X@yT-xa7M+ffeu-hN zYH}!T#t9}LeAg>@PSamJeuNnSpD*w7>Su@(=cnMJbl|s)6MlaCc3?VLo~Xv@WB%BITBj zjt5Iz9<81iSN8HHE#hx7aYnPwo88L%c$X9BPMwQz!xcri%IB1eEd(h;+x>%5nbmI3 z6K`mvB11+;BNGsV-0aJ4uHO0?A zmh~)*uDyCiXuT~wznd9i3qQkW0|yMipecj&-~sD_(sc;Tj#4>x6qqNFTRXr*;dmvwmIuyLX(DwZIKqf>8Dp)B-{2fc`_N z&2CX#s%O2ss8&L`f7{{0BOMo)aY#!#C}Lic<6B*`C@Q~Ec@AuyB-&*$A zE1FpcRaHlv;;`Tm#RasMwZ#q>MmRoHXIj1TQuVIezYVf3=m^)&I=WzJO6{kovDTRV z5BO%!^T(4NokaU`>kBXC3B5pTrI&g!hhbsbZ-m8@w^>Yz5H1_fza!VbPV^_hEr>2x z9O@aG$o*}EV4XMqy%Z&h@e8Q`BR)D|xM;?NUmbS^$SPz%Is0FX3U@%zWc7<**kS_`NEF<=(s_CU!VTQ*F zq!55bd%6*PMel3(6(pr=&z|$5$8SO6Ci-?^!U(HjkmXp_p+oHxs> zJ&-*7$)_(Zl5^cZJv(5n06@c86e9{xfXp45o|%(l*!WP>HhVzA7bpdy9YVnmTEQ4j zjD)4c0d<@Ja+DY0)Rc&Y8YY`1(g{F}G&4FI;fbaCq^37I#Db84*8>c*nvMT_jS=mbn&HzU5~0 zDGLQPjps&q5m&(Eq}i%>PbT_&4NXRPhen**wZ)mR>#}j})u3+z_Jv$18Qy1B6_C#p zKXb${BCif>X`q==f&E;}PIK8ESJFOztPzwJ3fr#@ zsb39Kb#T`j$paNcH-vMyM!hfEgWz8Zw&%GieD0c+1TsM0Zw8eUsm3Fylv2rRQYd*F7z(faJFhu z_0(?w&P(Fbf1@LhiB|LP=DJ|P@xlj>GQDWTj9tIVKe_FzJpR+G)3~>IQvp;%=2Dwj zu7uWN5T_B5xH`&@mn<*qLht9~u}Edk#zjk3S7qeaTKHIhMd5Vj@~nZmCm58IUi3Gc zt%Pa{<@C{b-+HDN@wZ%k&q+47ZQs6YocZFA(H%PSPjtAd-Vb}+2#qUJg{#_MaGhmR zUmk2Ig%4{VG`PhRJl|eWQN|Rkr$!5Dbv3UC;3wyWSd_i(tF`GU4ceGj4`JlKk?cvk z`%8UBT$i{4ZNrvn>^bJdG4=HhKi2_S8tY}v?Y$YFMZmGjR)NLvj{ElRa&+VK%j#qL z*U2r9loCh!iW5T(syBbcVi^V~sZ7A4LDq--5wFw+5+S1QLGQ4>bx5&;+-N?&6K4$t zms}|*UpHi4EKRg7^?V@`Hwr-*tHbF-p$Zv{D1Hb&pmG8t0F^Zy%OMeUo#f8##f z%A9MW?%JPrV2b5S+pK!UF=G-Zetix}Cu7O&it7VF1^{LyFBUjW6c^G(ij*j@J?KqA z)+0s5B2FgG3)toFTE)!PxEOYuI67%tyHh4vhwJG{apnlF3(#`A=wEqxZk1owN?SMM zIP*Ktmkm}vt|`__=6uVU)7M@eCN1llcd46~7XymyZp~JGe7}^E`mB~|sPpT;I+$0r zpX{tBpsw`z=3J4WGGW3=uBYYjz~=PDDFg4l$7*c;%zyo!hz?R4PZoT(t~?f1m3e#F zkl4`Rv5$_xW*UVR7fQySO+4B;)`BG479ZuXoDr~x7#eT$ywn**ns}=eC-iIg==LQk zu4+)@hzRe&4NNqSq^3>~hp~(Q=L= z7WmAXW%#po%(l=rTPcPf(0cg}R8>~iYdakL3k4`0z;)L1Hx-EmwW@~%xqWUTZzen` zyYdHdK|VQz<@56Bg+ac}`t5aFcJ`cF=5)(UkC*EfQI5}#U*3h6hx|lwx-n@M~8|D)#!Q+~)e!!-&5QC(ECa>cU2$^vcf?taH zxdsN>1Y~9f;`mHrAAmzIu#R^D66hY&>F6IRD4I=bTG4>kc0~n8EL=P=AQKV`i0lG4 z6L=h+slkA3OO`Ihy6P@oNA~@lIn8u43Tm+AE5I2>&IuR)#DVRPJ@ogHgxqkvC=AO2 zcBTG&W`$03`&pxpG=PnWW5|&H+AXBX;piz&^Yf$bSP+d#qY?$2GVu6-0RzPOR0*#+ z;oHdLtes4QIGLl2?1#1Kr@>DIlw3^NMsHzy+D zzPs%13Z*Gks`rhW4d?JL<7Su=^ui2JIP18$Ajh0cyDSj-`R9H@I}36s7%g2~*R2~( zenOkZgnSHy#fQ#Gg9Y-J8m3m73wv)vF<(ftGuerlKd||i-fSL%T zC(<}dKe4G4;=t?X0&=QUTOqMDsRGsWt_Ydz{tczBO@RS&l;)9HixB!S^dESKtt$qR z#J9Xe6#d6oc+Fe1_;^j>OB!^F-Y?|yT6b}k9&Ico_&@_cK6Jl6G2QXR%j|b*-E@;W zn&&KdqsJTv)(A4XdC|RxTW+n0yXUW}7k%&6t*7f#8~W;;jx+OIre~eniap{410)CjG){EQ%ne@%@apSM{zAnrBL>a z4)81u-y_M)Ss?diSLv?>R`&imZe)|i<%XmDIk~i-)buG6jj}@k!^G`kIm0p#UipOS z{R$Ii@j^HPN(_C1bmC04oG*#Xdy`Ucfkt`kmM`N|Txx|q5Fk8?*WP1Rq*)G+wJ#V7 zw?Z7ajYf(Wy9Q?12Nz8^FGA$IwfspE-5nGW$d7Zf^~A*<=VG6H zzgU>6OZc^Q6}cYx0eMr;Ma`+kZ$%N&6fi>#L8%6CSt>u{1lmwcXNVHf&O^COk%k1J zmy&gU(wY#tU<5LMHQ)D_jC=c!F8_DCBT=5%m2&5u;M6~Evp&L6T;14~TPLfx9 z@1K(rhr|^kPQKFK1&e2P9c-=UeR}lgZ(sIiFDjRqZ5LZpyGoDmT zH4X#Ve;fU{WzIC*P;+<>*bKX&H^G8V{U$8vyaDaKPgCh+S9ljLzq% z_!oB)6g4J}s*6%o@pbe@{Qzz@VC2ZTDZ{qFv)k37mpDL;Ku#!X#=uhtDiiZVaRPYC zu#<-mr}GVBD9P@IaJq__oZXAW!^UT!o@GA!RXX+bg5A+SN)|0^n7pM-heE@{_rTeG zT3IRf3$gBbVzDD#Yj2aV!Dosz+=zfo69%FRz}f`LH2~(v*=g^M_BCk*)-ue1U~m+! zqW|4f6>$iVgi*N2!%+pUg431!dJH>?if{?cL4hKI8e^p?^ymaaaUMMQRd*VN#on4a zfS_AFB!T}b)-Y1O0E$}s?Y-On(f7r;6<*(~k=icF@U2|j1!0WhM%&>ntsR#pu3jk) z`aToJt?jya_Z+bu&f&a3&p9y#g60-v-Fy!clS9DtQlZ=96BR^hoOyZVT;IPnoFi{d z0kQ)`GCjF=?b_*_lC6}!nU*6VI#L42cqU&!w{PBL!7J3i?JziM0i?Kqun4&?w`*=6 zulL$}dQZxjXKO2N1E6i-oeyywrlLYk)13tYMd}*8qg?zVgi$fuKJEFYi#Ulc!s^gO zNC$Y-=||;sGx3!GpLhVk6cikZjUBG)u{|N8Cr2I3BY|Qkv6z$TaH`EdBN584nqN(4 zHrjcBj-ox>Nv5H|W33!yX@Co^aNYtHy;e)fqDUlR(*{I`wz1q0|iU z>tA>f28&sZ7sDMVqA%8;Z%@d6yKC!ijuaLEAC= zzRrk5oS-ap6%8+*KYy34H>{bgb zaF;=dsh|nk1X(W&rWq7%NDIF(>rI^5_dC5MCM6*NIMn0=^^Y37mgLv%@H8z^QhrIz zmfJzk_}dx2pt#5_kc;gUb~C^N?F?<8Z!8f9HyTdRnpXcGaFV~P#lHp;aSDbG)G<^5=P z5O3)@JY$+)<+V|fm>(6;8EuhX0APH>6-6njWgW7p$ zt&FOu+whTDMJXmlh}CBzu$n0nd8y*l84u0={kKyV3Lyn`Uug5wc48HC;LdOWP^V8x zdL#(Cmc{oPSX0YrgtvMQwpQ5iq*;*lr8zHR4jWWgK40vLG$Q(Tx= z;-6kZ^@~h0Tx-~(%MVv9yHNC|0HLD2c9e7`ieLf1=;y0GPdHa}fIS8T0`UZZJ+J&& zz@IN8DJV$0?FLx3D<1xS5S|Au{!GT;`qz8nUfMidtK*G_>hgcgtjeEz37_@|H4iBU zD%t(wIOBb4O7{-3n$=j4#nhI>pqMP!YSP zy5Dd7ZNvD#*r+a-CH9h zDqhdFL7G>|h*C*E0k$Hqcow!Q1-7A?*==4QwVj=R5sy?f(b{ryw3khFP1!+b`yUHdo;HXH5Uoqe!eSV1zf@6xm9P2Nq# zr9~oFH?v(X_bP-BFAy&VbHT8|Dq*fd%e9O#N;n4>lPOv0RNkA&WK)B z4NT)qJtKgOaETP8oT#=-D<)4)x0pM3yG2Zyz&Mlgy!(v3igH59`s>#&{IdODJS_U8 zkP?mI^!?#_lMRile3|97rls@kc0D_OH}f3K75u3=1R1^dp0;t^%A$A=AwVad?#&s2 zAMSQihEUCIZPwyk+KxmCazU{;W$i{f`M9@O&R$X$WVm>2d^#*Twh8?16~s_ zvcMJBKV01!!bx+bRtNrxf#*^F4hi1KM^=~Y&W@3%90vKjGE zdA7D(J?=Ws{XQ{GoE{F1gAj>3*?iv{$0ZXubQHN^2GLcp-x0aJpkqpOiRR8kY5;T< zyeu&D>$Ggcdv>@~eZ4m=T60-j8|--g5`P-ZY;8OE^^i0?poIM~!!dCb6zvhEgnoJn z+O85jU8%28O9&K7^@|tW9>)`*-B%a}s(nL{a_Z*U6)zqJGykBjd^4prdIJ;{^BUwQ zG=9iI&6-`Ih5IOm%N}ZvH=QpUbNWGe(VfuX%k@8hqdvsjRobszRDpK5RYmswqg^#n zY^cGZN*MRr3e!5lT+2Ru8!B94cu zmI4SWb-JiXpKX*j*?kXAB#VP++;87q%e-VM5>dNUkj9aOj3`^dD%cwp6?H4IY4U8_ zA5Fgj?giE(56*%`8W1+L)*`F;efaBIFiM>ar@SfpwZi);CCt$S;`#yN$Y#_~rp0wU ze}CD_DG_hoVh7X}Jv?%;KbvirXNsNoqoVlTK$U`%p0~djM*rLZ-R4q+kZ2Ii1NT=` z%K~odx}}a0#2Nr8`GGegj~5q;g-TX8b?ex+?NbI#+8I+u`C2Q`t1sGA?Oyb@NiS+P zQzO9Ne+KI|G9>;{+~VCHlG*^@YxKaN3DN@L#wFKf_{7S`f=(6 zzPtb6!5-L5jI>OXf_lJ(&ly!XKY2f5W}2}*&~G4uP*3HTYe91VCsAajYTV;Zi|%S# z;DtQ_n8ft)14xh;FZ%17x{eY^V7O!gTE*IZ;z=^?u@ro%V(3(&s=$Tlg?kSR%pwo- z4r_-z%3imRVg=WIgJ>3oP!;+_bVLYu_lwPZ-=c2{^nnx1IVnDnJ!j6dJ8@zb>3?Qc zJrc3G^X7%8I}Y!eTeX4vMrRW6d9tB7{n-P5%c)g)O!8;z544LYGEDgJN0!;ZM1Pmi zl_|A;pJd;i+AUv7AuyuQA}KRF>CT-yJOV4$qF~q9`6b^zbC5hM5Os29#G(Pwn!ApV zT-r{Y!3H)2-H6(net3TL8x9N8f;GU*&yabQIH!u?ikGJITJIiSI=|2Z9Ute^ZtLs` zjbb1?|B^Q)^}$bq-LvZX%`P0Vnym5TLudl&9|Gl1` zLuTEWr|^xGM+Zin&<9IrwlODl2*D_#?2~aswB$d-{C+uEa$Y)M6NN|;3Ci@B46&~R z>>ieIaWrGXi~q2%FJ*XemTkn{moy2w_S~Cf1$K=^ii;*XBzg$BtSik$}#Ex z(jtwWl!iG&ULqvO8u*0fnrdleeoTRDfTsT9BrA@oTkY)p zlC%^8Q7^A#@rBW^tx$yts}sg0gy`^-8yz=4LV~o98qxgt{x~h`n7ivspioh<0ph5; zq{xRK?Y~+K!OkWmTB{)~7Mwn#&yXu~qt^RnXHA;=<|FZhnP%G#9i9W3x7OFqz^vMf zZirdsB;XZPpdoo91OD2dj6F*jvD79--an&x`TSvz=*Tp%A$d>%R#Y=38TAB?s{=() zbvgq9n=so|3e4=Jal0~q`M&$*RBtc&JR6-Uu6iSr5_!QL`>0!1&l9YiM~@y=xkY5U zaXhX;O`&Nv0YDCJWOXT6_DY0Y6JcQra8SzyoWx$+zS)*hG(nd*$#3SuedFdF8M#-I zd0O>~ol2Jd+7!%+tf3%PtTjG0-({1HO4on{c~|O(gpY-T^p6I)L{MYfr6lO?CRDX# zA*!)fj28g(w28W)qWwzAemw5w!w_!35`t&Fr5KW<{KKurAR znnGC{qSR2$IQ$us=>g(U~6)6^0+eSKU5&TG7Uoee(#=I(y)B_ zVatzkkSeJFtHg>MPku8lVhu7l5to0G$^dXE$+jH zE>GzH2Eplh%0x=_i`&#H)u4o}1#(n6%V)-#?X4-YcuOfYc6I4aw|05cr~*dt!=XcW zkw*)*<~O&n2b%f5d|Xq2Er5%PwcPCnOsPtooL6cTiwwqx#V`U zg(|*eAE>CgSg|t5j%GE-V(6i?r zD$joi@^h2J_wS;rH|u)lbjHS+%U`=B?4tJQqarnAsr!z{E`s9=%FYN|ALl`FOgKe@ z!)-Qq({1kWUZ#2~;qPD8adTHea}>Zy0|UlG$B(agyuAqG!^Zf5^K|#t_^(Q@RQdH+ z+WBLTy7%sFKc;4xgSQ|*>ged~xU(ErAJr$*npvtS_d%tGd51hlkcJM4eAKisoPyP3 zq;bvh8Y~oS@!|MjKIrx!HPJa_HZZOU%A^h_m1 z>dH;Tr9qbJ4!d;9JujK+f9G+=*)$coZ@${UeX}?+QbB!xfMd&$H4l_KEpuMzt{C5E zY1Wcv?q;C}XS{S-=NlY)J$vL4y>liGsq&kGf)mp>Dd`QdSsFF)jBZY$Pw29uo4Hdh zd<-@o*n9G^!akn?t8zQutl#`N=5@o3l==->nibWVJi^36wu!;s2`N)*724@ z-krqlvB|^Bo2&Pl8QpGBo_k7UYedcW1bcyz_1qS1T2My9?{&&Ra!W#eL=06Sm zxytLjO6*hTz~m9-n_6t!+I{GPaL$}mnSX8ybT>bv^{rvBs#BKEW^{i5Msw9pbyZbk zL9K9dN?-&WMM`=yQ4b`QwzA`T6>)CQq2|^75F?XsC1fU!~QhcRq5T-XrbS zayw)72uG)jte5bM7tO%ZOxLVAw@K?H5MbcZ$E&VMOTQ^zG45)KdU5mKjs;1*eX`b5 zZvu}V#cD1dlMhOa>4%tC=00iM0^#9(Lu0#EJ3NsMPMzvrV@5<`G7}Hr?F7-`iap`q z?EJEsJ`GV9Fm_z5HAP>t@aVc`Pjb7|T`%lDulVd*z5sv88H9I6RTv4B@6=?LMWkMn zSPUEf^XAmV6@}TB)!iZ-HEV!4Wqb5c9y#*d6`Os8<#-y3f%T>$fjwUzbct{){8#nh=U!~2zN1i#e z&LWut1Y?viwrcqyy`i?N_7RRvn7_S-5xPK1U2|v3>cp1$ ziIooz*NBstc#I@2j$#bPYiJsh%Y#PskJoVCKrLxB>fE`xP+$#_HVl}Kg42bfL$;l} z5vQ#XC>V{;<~Uc7+POFuPdar#v@jnxX+hu#FKnEi4NNk6Yh!(-04Fm>O>o=! zXli52v^H<8u1;7LeJe4|zuUNB66ecb^XT!Tp%Md!SLvtv`b?56gt%{uaCYBt1wdq* zPcdczBk!C`I}!2h#Nfohw_9ovDsy6v*0`LN&w{%+OAU%uiA{9RN~~#&(Ko;77u!O8 zo5QvQm34`MF%E4swsw`URwmgLe=OSd|M*X}Wq10jURxWV+gG)%hUM_$=JxiIUQadK zXh`iAUs&~UPR{!zWm}CW`(s^uCZ!#2gLtr}N5_Pm>zCgYse z_y2#~|L|uw8THz7`18^y?3LDmcOYAT^7~eI-s&EJA_C!zZQ5yVOHwDB8W;p=_Y1;w zpzrt%2c9+W-oI+=#ENUgWsR22n>|`{N5!t-Y#=mC*)~5NFSzu@B*EcEOMM;IPVPPH z${qQVbF4(NZ)I<%6vJ12Phy|M|yl{{9(>AHMx@Apg2ej(@%W z=O0gf(cJ40-SlCTCCw)H<-;=n{Ns*7XM0n}!R^IjZHB8iVR?jzc0JZW}SzNC$Y{v=7WPMz!C@l!JV)YjPDYF9h@baqZ_u~YL>7w4lp zV_V4gt9t4cdu_nZzVD>0I<4H((yfl;_!bgzm4*y4A}`8s zdN+~jmj2v@l9i0x+$a4Enlp>o&S~eq#M*9Mx}3@kP~+6d8N#d%e};Y$)v>L2Oe6!i zakL!g`HB#|tCPaeh@n;d-hIX~M)T)K;9@g}8q3JRA$n-ia~aw0-7C;F%BeXXCtHOX z{F+j7qShp&j2ky9k)4UR$L!|#NmDi1I;zsj zi24k0Ei6lk!Ypz~wPzD9$}|Y3#r4*}rz33cVin8f4$^XXUNLR9ts9{UBF?bNtCSNQD-mCfEba-W{~aL^)$OU z1ze{uJ1l>5_@&UiZf^cy+xU&^!@IScCTYu+X3Hkj_AoO&H4q> z3R(+J8BBu@W@={_Ilz`gQ2}xTLju(PlOAePmzqp9#py^GT^KbQ@tSdkegv8JkX)9; zhDMj>(Adc66_+Vm177klwl#Re`hfY*Go-&iqnxXo;cSofZr!105dUU+NL1BimFaUg zZcJKxBnf6LCk7g@KMnzUHhTG2VH3_p%YehsxX@FWc3vdwArf; zDY{L2CM`ZzVauHY7O5LG{Gp2G77BHc^p-AL7736GZf}Upt!tgamd|t49||#y}w1{8?$OL*MTKa8(Ca0wo+#Sfi1p^(ijx!u z*a{{y2fhkMFsDP)V$5gZ&z(8b%WvqyiqHPcTg<#Q>y8evg<*1$DXh_)Ij5ksD8Z^e zR@l`!=!Hl^PkYvhvi`_I=VJmfo^x8K9GK0BH(Xo1GPN8;6;56X;b~Cq>ta*RO+Gdt zB0PK=zE&>8;##heIqI9aDCn~$eBG28s8KL>pjB(Ljv{T%m8`D#bKCqMCP3}qcQP-X zgfOOV-AV8ahj$)-Y|(J}5Ke3ntDEQiiU9XA zEHAlH%k+JUpO=*>D=JPUP%8}`YC^jq*H~J*{!i^yj)COg6Ir?rN9B}7>8&3fC#XJSwkMfVZ)I0=G%IECcIg0PtTt_M{BtPO|Tx% z#ecZfq|=K!2tO{-!SE!BwqXCp^X9!8pLO%*eLR6?yC(bnh}fz&Rlvp~9S2`@H^Xpp ze9IkId@N?tLm2Va&ca{}1+rSWHdECFUdDjNu65!qjvHqNp~`^9m!;*zxK86nDkxI| z5RMR}UrwvaOY$eQe}ZPH?EQU0ERW{oTYblN?bo59QXU z9WpsH?-T}6Gsb<)%N2+e!30u-KF>(HZlOXQppyktkdrl=Y;7Y%@TAGn7gvuDR83Lz zg_1}J^kY75esonHu?aIfb#J!KYR%8@u7#y6)ccV*{6*Ye+k6vOZBN7ryX0?XWpzr_ z7AQa2cOt+X`qH+68TAKHk1^^@*LQBe5`>=ZxKp8`Ej+)kgR7`%3doItH#m*rf#GaT zr=q{sM0DfRB!Ih0v3}uWlcf~{Kik=fGc^fd1E%AIP=N3yf`P{jJN3n>%o_vUTJD$_ z=vG%4868d1@)K&ovV^a4bp(cJiT_5!z8_{wgi;7h`W5^ML$)X+iy)Gt-l0KOkIyaL%R)K67T3rF z*e*vB7jC_+uOzjE#V^$RUftaj=B9h8xYKZ9M|72P8j`T1AU(0d|dwj zwkrKE8SejZpZ~4Ut+*!U?aY~Uj(X8IU+uV91g2Umo1OJ6m@8kKDIVT`wxq@LH&XmJ Ned??!XD3;1|6j{YriB0i literal 0 HcmV?d00001