From b7d229289bd98da5cdcb23b39979ccf3b5da12c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marijan=20Petri=C4=8Devi=C4=87?= Date: Fri, 6 Sep 2024 18:17:58 +0200 Subject: [PATCH] dummy-contract: factor out nix, build with recommended toolchain --- dummy-contract/default.nix | 51 +++++++++++++++++++++++++++++ flake.nix | 34 ++----------------- test-resources/dummy-contract.wasm | Bin 48340 -> 70647 bytes 3 files changed, 53 insertions(+), 32 deletions(-) create mode 100644 dummy-contract/default.nix diff --git a/dummy-contract/default.nix b/dummy-contract/default.nix new file mode 100644 index 0000000..2217c90 --- /dev/null +++ b/dummy-contract/default.nix @@ -0,0 +1,51 @@ +{ inputs, ... }: +{ + perSystem = { self', inputs', pkgs, lib, ... }: + let + # nightly-2023-03-25: https://github.com/casper-network/casper-node/blob/release-2.0.0-rc4/smart_contracts/rust-toolchain + toolchainAttrs = { channel = "nightly"; date = "2023-03-25"; sha256 = "sha256-vWMW7tpbU/KseRztVYQ6CukrQWJgPgtlFuB6OPoZ/v8="; }; + rustToolchain = with inputs'.fenix.packages; combine [ + (toolchainOf toolchainAttrs).toolchain + (targets.wasm32-unknown-unknown.toolchainOf toolchainAttrs).rust-std + ]; + craneLib = (inputs.crane.mkLib pkgs).overrideToolchain rustToolchain; + + contractAttrs = { + pname = "dummy-contract"; + src = lib.cleanSourceWith { + src = lib.fileset.toSource { + root = ./.; + fileset = lib.fileset.unions [ + ./Cargo.toml + ./Cargo.lock + ./src + ]; + }; + }; + cargoExtraArgs = "--target wasm32-unknown-unknown"; + CARGO_TARGET_WASM32_UNKNOWN_UNKNOWN_LINKER = "lld"; + nativeBuildInputs = [ pkgs.binaryen pkgs.llvmPackages_16.bintools ]; + doCheck = false; + # optimize wasm + postInstall = '' + directory="$out/bin/" + for file in "$directory"*.wasm; do + if [ -e "$file" ]; then + wasm-opt -Oz --strip-debug --signext-lowering "$file" + fi + done + ''; + }; + in + { + devShells.contract = pkgs.mkShell { + inputsFrom = [ self'.packages.dummy-contract ]; + CARGO_TARGET_WASM32_UNKNOWN_UNKNOWN_LINKER = "lld"; + }; + packages = { + # Used for testing purposes + dummy-contract = craneLib.buildPackage contractAttrs; + }; + }; + flake = { }; +} diff --git a/flake.nix b/flake.nix index cb1fe09..1ba4ef2 100644 --- a/flake.nix +++ b/flake.nix @@ -38,13 +38,11 @@ imports = [ treefmt-nix.flakeModule ./nixos + ./dummy-contract ]; perSystem = { self', inputs', pkgs, lib, ... }: let - rustToolchain = with inputs'.fenix.packages; combine [ - stable.toolchain - targets.wasm32-unknown-unknown.stable.rust-std - ]; + rustToolchain = inputs'.fenix.packages.stable.toolchain; craneLib = (inputs.crane.mkLib pkgs).overrideToolchain rustToolchain; cctl = inputs'.cctl.packages.cctl; @@ -80,31 +78,6 @@ cctl ]; }; - - contractAttrs = { - pname = "dummy-contract"; - src = lib.cleanSourceWith { - src = lib.fileset.toSource { - root = ./dummy-contract; - fileset = lib.fileset.unions [ - ./dummy-contract - ]; - }; - }; - cargoExtraArgs = "--target wasm32-unknown-unknown"; - CARGO_TARGET_WASM32_UNKNOWN_UNKNOWN_LINKER = "lld"; - nativeBuildInputs = [ pkgs.binaryen pkgs.lld ]; - doCheck = false; - # optimize wasm - postInstall = '' - directory="$out/bin/" - for file in "$directory"*.wasm; do - if [ -e "$file" ]; then - wasm-opt -Oz --strip-debug --signext-lowering "$file" - fi - done - ''; - }; in { devShells.default = pkgs.mkShell { @@ -113,9 +86,6 @@ }; packages = { - # Used for testing purposes - dummy-contract = craneLib.buildPackage contractAttrs; - cctl-rs-deps = craneLib.buildDepsOnly cctlAttrs; cctl-rs-docs = craneLib.cargoDoc (cctlAttrs // { diff --git a/test-resources/dummy-contract.wasm b/test-resources/dummy-contract.wasm index e0f74629982f2c53816a4a99cb15b959c800fafb..256131f3f2f37cd342756e304662b2f772c43990 100644 GIT binary patch literal 70647 zcmeFa3%F$0b=P^$smFcP?e1zxw%TghI=9@hTej4y$G!Ei6X+wmWXbYt5<4M*;i_&` zU3K5v&)c_KQgGbuM`9(h6FD)#2_g~T#0DHNd4K^AD8YayWWWT^H~PSQV@L>w@yz(+ zGvEmtG{67a`L7yRkzOB&$ZWHuf6u#yMn=m(_s(<;d|eE^{J>}M7^-~PWd#q-_%gvmC3{jM;d>qmDB}_) zg?TExN4-VgxB?i(!uZUkR}BXj&W$%$hMVKT)_7%j_RQAiV7Rq%ZZO;!JUm_*Y^|Ia zTsRRFRCu2+yg9x!-rRBx?DuKsE^e)Cj2{b1DtMbu9E?U;OH{dV^6Z(QT=<(p!mo!j zGf`nSqCzk?7X(HAn=2OPD+|SiVib`O1pEzxf}Vo80&l#R_%lbEWkt~(|CM;1i>R}2 z-@XE^P%bP*b5z@3q}f2dsEJ^KW>jN8pQ8GtahlMp{)^@c2WCSG1T%D9WXMstkMwGE zpl~qs{}q2&s0+`9H{V=(zdZ&A%Rj4!!sRfza^>luaydwz{HXhWO5ZcTrtDJr^!W7I z&Bqw<=;G;-Ssh#$7oxc*T@OiEx#^d} zjqhLi6Mymt-t~Qd{QTyHt?&Kw;a>fkNlj+gk4BWG z)i}7b@I=@t@Q{2VSg-!FFZ$I$Wl7mq_8pyQLu#0~RBVR+oH!$>*Z|XKLF%7x4#Ueref6tC z)?yS#2Py}I%P@|r|GUx-RBrWU;wUau{|_ryjEe^6A0QWru{YyZX7{1;&$Qi&r7 z#8Hj=E9Bfy(ZbPab|2W@7bW3hv{0-t0O5)0TqswlNP%K4Qe_G;RjyE&Vw%^eqC!DT z3-tTAgJdDB(1j<@MT!6bNt9|wMe9SvCSQCzpN8loHn)Pe+}xboC11?ET#yrfo*VZ$eqoQZcrSkWF4ru zC&GE)tbSh2R{qy8ETkgm>0qN4IqEUl^5}Z4pn5=91^`gF01Bb3**Ls6>_h^+1ZgE-eDBj&g5aRG>m_k=;M92a~o z22@s|8EcIZs*tfsJd;FQ>&b^ghcdvNacC$CX{F>n>x;7h06H?H6%CWSA#L_XkX97Z ziiYekp2;Ij=wldwyl`sW69*8R;1Ny{H_0cY4#4B*gwGU@kM9pFDN`V7BF7UTMnqiw zup`d9gX&_z@W9mGQnPVFNp}Y~zb=rpi0%mvzCK{`G{QqQv@Aj>E~-P%lMx8lO4WfI11W#7AIh7+B`H+N*r2@o7 zZ3yT*>6OL#xD1(wBI9||CyXO-cVV2eF;3Z0Ov&bQCZz$(+ly&@y$R!}V|pzBcsw7M zM7NIrN&qV~LJ*>0QM<@|Mit^2kvTw5$b4Rf+~{G*xU^UnnU~^9p3KYiBozU-8{!Hg z^96ba`12+%;IA2xIo)KSQrdVtUbvAV&WOxs3^hh7rFh<7e~gW>Zf;rgrwXZBoT;#G&2p-Odh1! z#hFSxCrr+%a1rG`vu;G5kul{nGG_eD85m085=rnW#dC(iAdc=V1c=jE_76a(M(sjj z50OAYlP1UyV_i`bWDR=*jY!Jzi-=^Zr06imKH`{?@d}BvwOQbVe^7dsMl<4{(5O=4 z8IZ*>(lW*y#!aOhaY@rKs$Ga{{zizaB;qO=YRZd-s7gGmre_6N3~E!gfn-=;3>~)v zRKf8DYIr+ega&ZU&4l=(NJ9XXiT`=E56|sjeadB8^Lm(nUck>A@XUxaW8pd{^J_BC zOieRMX4nB&jw(!8#IyTk4AZfdHc4m75W<&~KsrEw(edQ7AsQ|&9rg{EToXjJXBU1|e8NqqT3x}Pcl7!D7_r?n%E_NgkO-#|x zm&|%{rk|P1W)xx)fh?JYCgmXEz>_fKED|oEaY%F|teMw}1U_TR%X-t$WeNkLC87$C zMo*O&L%0X|D0@z(hPRz8Px*U&s27O}uJ#g&Yg+34gvUKu znL)=9%OuT_W+@|$kY>uVy{|&llbN-7zOI?g`1^X0GnrWpt8m=e9gv`hJUHx(uMkXR zkc*4}J`!aJ_{!h)v-GCfa0o))Z8|Zsd^4@@J zPyl}wO8)H`7+a+1=*&xFNYaz?u7vyfnQfH&h1m(^K0cQ`gHfHM+}V^ZzEzaFeJ1mi zdrf3aW^zKgpP$i!GI5~iNjC$12kCw+3X3dZC2wPgjUYK9DTUTekq5Qa-O@`1lO;Wy zY!(X?B(1dsSE4Oc!sHff09lw}tZJ@G%H58JH`(dzRM+!eejb#6D#vHlKP{o-%2bo^ zO%frj^XbVJ&H=6M1SJQD6KHujSOZP3w0+d*z8JoVZFNM(O^kMv!c-@1MnS zTr8Et085s%q65|*lWIB$;GJEsA&CN?t;eZs0Fr;~8ck4!^_3hzJeh0Fo(k7dPu`oW zf@iAKw{2xpSZ$=)P%0I3?fj3LlFC75qWUv>tjhfq1eGs`6KBuYaP}0AkbVVCAtM-S zs{R$d3WqX;797rbs>&On^`kEuCC>!u`mtdCQMFM0oNMf8G!lzLLPw*AP@>3Xt$2?{ zC#vsr?K?wAev*{>L_g9#A!AI_01Kz90};ny;qG9z`V(rP`e*bP4-H8VO((sSG1Ca$ zX`!10)t^(*%J0t>W-b@r6Q+y$Pe&WI89(?L^Hd*V?Qm}(U$%R%uGi-B?@-9Rf7jPL zR19CR6|O$5PI&$r?r|Ebq!sl}LkszL8rqj@=xg{ad`py$%T=19tyz~!Yj*|))tpbL zrU~;tVKz;eiD&K%zJNPkuswnA%)#~#JZztIu$AMARz5aPB>`R~UYJS(!i9KWnnbIG zuhHr!4N!dgv07Hund;xmV5L97S_o?U)wZBj63~)#KuLmENx(}|)j@#oncn8&$t&>8 z$5vs6EMaqBY)xu-g(o7l&j6Js93A!WJQ1$n9oR02r5zHCSVZX{R1V+GOoIPDp9a~_ zB;N?KH1%<=1F0GV6m5Mb$_*9|ItIX*l%b{)&-=C(;<>a{wJfiT>D)6qI zl8@Q@K~el{d@!SUx-DvPYyJ|Rg2h=S%))*S<%WA3b2eJdgbkNun}Ph?Qq4x5LTB@4 zgC^N#!b%J1qdS29O#@Pllm}W%R=8_60~*zqxxwVk4Hk=hW@S^$o#jRm(VL#k4~4%M zyOY7nCu23{RJ!C#&++6+7gVAsuhmS9gX&`u-#E}ds&D*vPw1Qds!v0ja_fCc-}u=w zQZ>BHPT@tnQbq|R8+AH#DcSHs@-$wU%y-0IDj-=>*3zv0SwqlF^6AJ+smkX{;anGRdFNmH4710;X?JVx*4th^rSGPh8$L5(5}Kb&D3(S`jJT?Oa_~ZD&8(D zv|!`-QI(LAFj0$RlPN7HF%7T>qPZy`2#T>h>2dY_DqQ`?R%Ir6ErQ?$A#9bdJ6XU>zA=bJE+X21cx`hb zHa}T0=O>Hsg*Zl<_^3!T=8AI6C46R3mLxkeeK?b?3DIs=mA5Nl_NnYCt7^|Cu3=SOtzK$XU9F7y>tv^St12s-gSArm$4A0fq@^+Tne=+ zz0jDdm82hF_p-EQ?H~p4C9r*pn2F3vVBZM~-oKQRZwO`|kYm)G|B`jqL zan;HqtFZ*_@u+*crBnDy81GLO-o9@p7T5q#-H7+UX&-$`Ak8v11j&K8DyUWRRBCiC z2;BG}Ie<&fcV;;ogGR*o|2_(J+ARAQaeyXyDE~0(E8{`SeUzxO9Yq zE1#)cmyUvV>2cPMM9CA8)J#c_M?2Aid-@7i6>$co02b7jyz#6jd@+XIljrGfW2)4E<-`M9R=Zb6ofMR@+b(mqaaMSp&+#IpBxH8RyHamJ|= zl!dHC-esZX-{DXBYMo$(;Hz0CCDX-1NfyQaEJr4N`XX4g{BZK&eq@HzC+5bNGX}%D z;-C=cYqymax|~( zl*IcPm)|u3Ezy=6+hPQ*K}%3s1d1uZxK#i3;ghU*;stRCF$iym-O74+fN6{iC>VBc zoOA*DLp)AN3YP!|N9!BxP zlNvyi3%{YUA>M`uP3fi$m>QjK0KKa?5|P~k3$8NZDx$u;-kqvIskAl6M+6udX{u+D zs0cMxK+r3|L=4pO(7@7-vL7>LDcxu$9#gttisXQ1cOiL_40l8ClAHte2wy<^;%Hp|&EywAccV{`5 zr*o#+%eR9jD1Z_(>&gs{yRw^Z#TAU@NL{nSzNmx6YMdq0Z zwe?z!7zDl!X#1=j*Nj{=B$18K!9zwiX}TvDqamXg)#ky_MP@NK9!GZ7}o)Gq!}cA?{nnF^*8 z!esuzeMlIJ%ZxC=q!-yT7HtBMUngfKTW~mANU@zM{C>1jJ()Bw7_-T1?kg6ic&d=` zlxK`W#!*>9%1>EB%1v3q$KX;tvEoOme^dTWowG8u!Gk37a~AYXSkQXCS=CC(Q>n9* z;LE3EE2f^S{YfQx;zypwN%(R3LxM{3%n$RH98IoR>M#1#PwOpNPQEggYBQBKh2eTV zO)&_pnCs~BYwuH+uT7qPKi_GPs3Q*FW%5CTwVr%N-&v6leLxlC>@kY+eF;L3uVr@yThE1xffrPQOVoto$f$wIx0tZ-XeW`u{1EEQs&5bCVu zH<9aaRzQ|^w#(ibON=HMC6=146IRY}^>=Kf zMa6l@PQ?JR_$~*>U9RU6?d0P;BG0;*Euz)P`EQIvBOl^nP!v)qAZm;7Q&5)Rfg&a# z$YGK1S_tqV^xzNc6!!k0poB*An;zL=7UA8C-Z`4SmsLiw^0hL-im#*^%sC0$*Ca;A zlUF6b$?V=8pyi1d0~Y5)x6s-sfkC9M0}I%fQdg`#TZxKXC_D+*AgIZL-J0~y|)n6p4A4*HRV19(2Lp2xK zpI{MA^`=aAh(&u?1K6yo-~w`mL_>QLT{|NClQ=^H`+FQPV`Mc*!S8hynPH6m+>WFO z3vsGAqO1%{ZtW0YbJ#AX#|mqn#;ZAxiF~yToDucIP)cnIjfe zbgseW*vl&(8#i3)$sIv~@oOWnG_$p5b5w2fh$rUGpsEda`TUKbkEY~XNC_GrgQGRM zyp5o7Lrf90I+gk1sk)S>YCBdV;IK4mu$*tJn5SFuPDasUEj)~_ORcD4qi9$Kj2T7C ztvtIp=dobJtA!iMjN>WzZ9;1VT_PmaJEr-Z2D=aK#|WPK%zvXgfH)98Zzhd9eVHy7IJc7MX1fX2C**||zmc~qc`^&#q3uAj9j&YU#{$YY?ZJ(ZH)pSCCxbI-PHwxfRn!6Y z1`ac#iR2%HD{O}d7O#Fmiqj78DH*G!#L8_1GvhX)8ipp?FLcFBbrPIpA_NS&kW|3e zHnt?4`Yt&$PP&aGnv+8ek6exKGonrf`AY~>uaJB(V8tM~1aB$%5~ooGz&D);F&f93Vxyq zN6{kB*+Yb?x#`6$;^bszimAA#gx?M)@ul@l8K9TMeKJI1_e>CSJ7P;jc5#(2-f$l{ zYaKz&3FD*8plq)~Unhy7t3%2+o#_U^u!-*chi2>Hrt&DkEVm)ZMslhL(BP}G}DOh(Ax-X`QPW$s#)+~SQMY|UBuNQ5YzsKj{?WbEi1B~7m|fXqoW(J&cW zH3W~ZU!IA|6PsZ|CLSTu|L`G#?AZ@`LAJwOH=aue|T^r@jDONnz`k z@BK#j{>MMz&K@z;opuFheT1USjNWcnc<2iIOJNuWAy}3joXQba1o$4Lxunh%4(HTa zK~zQ}8cnR~G+LU7Qq$(PQ))`Ym4`MeR82)V@@4+TkQj4j!;)^? zHj;xNIL>yXX??0imQWf7E%VVdZtY?T2h$oojy{)?H$#aj*fS^l%4g0 z6_e^ohpXs#47Lh|un=JGhsk1wEj_(Z*h2RGzYJTF=+LNnfMoS)u{N1LY))_WF)Mki zPZ-qn!OydrIXh-P3pHKc{)ZkXQg1I4-=@;D>tuQTFLTm;vb;6|NBjPz$?6ujo&E{F zYo3djVp3-k7oZK)AYISM>m$*bCAjq-yx?3B zhOi(dQ;}e{lKE%R#CNc59V5DS+^BWT)x?f1U}zLD424rXoGz@zJ<|(o@z?aiS{zv0 zWnt}E8Tp=Cx*8G+pDz<$S`^ig7@nPlC#-AM$|j^`@MH@QyOJYaWScRZF0ym13@VW; z(hgE;lUa~dbGmHWqP1ar%K57~ddZ_S(JFI-P-ej|%Xf9c2&cliqo-XY_w?YM<7EP9 zo?L8&NLC(p!Q$a9LK&3{fjUZJ?ZiQgcLt$F0h9C)C_JJxLuRZeRFx>!B7sA~fj!nO zOgJP~IC}@}6Gw`9N5Lme7_^n&LPq9{geWxD>I_lq=WQ-^Gjp%*?{_pD zI(rz*+4V0Fr_Pl{8aC$itl|+s;8iycwynme8nP+4?uMqF^ZAB6JYXhUhr>R88q~gR zWQe7tnFO;;Mr2g#0Wi^{S;=sY$&p+Ao6ws02a; zkqe69N0IfEw#h4M)Q!!tXSXDtu--3CueBy(RMWFV-&~V4#Jh_~)9aE`v7;hY!TK?= z<9BfG2{35x4hp$Dd!Q>Dr2cS$!iI|DvcM_kwk8X4kmny+&*GW_9x8Ht^q}Z25KFO@ z$2{mTiPjyNA9*66;sQt$4m{4D7W+6Yp@!oZ_(rU!bb-JgH)8F5ql4WBA#Xqa4_r3a zaU<3fkF#84lm5vcb*UC)hJM4KpzR;~mFKscD~*J3)mT`%MlEC}7Cp%2e! zF`i=e?|pkIh%@+mQqVQd;D5U)$lb?~rywpaV7VYyoMD-5OdNIFNyw^QlZ5<54mU_b z+p(4>p=)C8dPwM*fOypj{cyd5RQ+`k(EmI$xnNDZ@5R*QO^sL6ypnpgl60la2m&^= z)|r8kY!lwE0hR7{m|YAxk@X^WnIk`9WU^SE3`VlxS-YJ96E=f z_&L?sPar4LwGdbEoGvO4KPuNw5fq}>GnDc^sePip<9!btuKo>$BykRbHx4cxuI)>L zH^uz9UytE^a!>D5m^QcB&i_Ra@I6HT3udH z{586!k~6t-opPj5MiqizmI>=5=}qh_)1V6^06sozjyyi4P%Ebd>7vNUT=4mvt24*3 zMjd}414o{o9uIBwU?M#u#QV0BF>@BciE2wj&gQlsEt%VX_+)PT@szpk2UzBk9YF-_gA5H|x9soYivp91oU>ZBiVa+*TAj@>wOq4Eez2nGB9cB$(mo#`7hr*q^huHy zvLpSB zAXV%dHZ$5R98Ho4m&_z0E#TTiG2sGd82RFCHS8aATzKAX(@WOW?4o5NI8#nHk!Od( zBb&Bx6V|oC@w6bRh1{CaYH}vfI$VB2GbQXE%^AJv?j`Mn*yOTXgt{?1N-LB!%7<73 zf2)?|?RBG;uQ$;H^k_Gvas8i!D*h3Akz+_bDjWm3Nq;&?BteW#YL_a)w?-Sntvd&s z(SkdA~XJw98ti+tlsXfh6PdwrJX6~yv{uV(M=pEB>Y|4XPvc*oLA;siQCcrJi!uguoej|uQdBHMn)tm;K*p+eSw3En7tFp)ee~Iw- zh8+GxR#{PUyyu&+@K%p_`U2jL(r%nVXYN zL12E-g|hqNjI9r`6Ou2u$2p+Tglm()6k;~z+oGObzV^}(Lb^*+P8CQT8Q~mlHE#aE zmj)5gBskrOck?h5Mew3DNXT>vcfN{u=5}*75LkhH#*mTS4f^S{`Wu;mAROAPUM{sy zZh-P{fj|WUS{68*w5{kSE8ZAT<+IW54subiM;7Eear2;&BGHQQK*J_~>=JqOpoAXu zkgzVBIE4^`iM)CY4XLRzqUPynP_XKy`L(^)+g#t-geay&atf;Sld1)3PLA0mPyjx~ z5hm`1e|OpWGCr5Nf;H*ZPSZXf8=jXzZ?HyQ7sRv`dMB%0YckoA09oe$%pBj&5r-CZ z7xwKxP(66dO*eyHp+Q1Y9S7M)gY1nd54VdNz>?PTOE!_) zg$q2gZ`i|)pZ}H@v-6vM=aT*!Ih&K|Cd;<5%c-TwQ{Y58@Y!sOaaJ~!E;jOrm=%?k zwE%L_2HLLXJ*6_1N+8yDiXb-@K&c0o)vnv;nAt`azDwtQ(zP%GOdxu@aYQz-^VEN>@rUXQXnqo@2ef zeZwZ$G`rBVk*!A3jT&voWT(*bXu;UZHfk7rtc@DuD6Kn?kCSx=0lY6Fp%FIhG=0^6 z;7Yzq zrKFJlSLmoiNa;KB9EM3|I!b~3skpf{6F0jF9vVn_4`gK4avW5?M>d9bxneppgJhP3 zqmVr|hdhj_|N#-P#8wl`qB*_;|M6`9&eb$gq5SZ|<>$3r4WCLzO-Gw+$mu=)uh zO|~tViE_&>3zE|~c3Ua{jl;Y5!??A{QLH+-3Qh6>Ue1q{t|*?L(fr#G% z{&%I!P)!yW4Tr*G{-06SHO^ZE?z}~y^A-hv-r`f*Z+2^VciuvxGKrF!l{k##%+6cL zsn3{|=FVHlg`d2J*Yv!F8YNr49F{rm&_l?;824m!8k>IliZ6J@doQ0(uZE1n%D*X2 zt|9$);{I>$je9?Ime*R;FXE>#pKigQ2=PCkz&esXMarhu>42m`!4um((ff#FO7ltGpC;{GIotfa< z&Vk_OIlovC9JCT}5(JMF-fA5IQNR8ONFLDi2uP3}0SOX+1SClO5s)D9M?iw)ggO>Y z`y(JA#~lID=)UZ`!Fy!G3+xEUd_^M?Ve8ZizMFZdV=-`uvg#l~)!F+KkPJt)g&mH7 z7-``Yg1R{7j*FS@=GPbVG-k7SO&YsZqVCXEa_FLB^`B0epz;q2{7fHNvzHc;D(>J< zp3Pp^XFA4)+23jB7WEakqQB|pTVC?gTMxbLw!^o-{1tb^i?vrC`Hok;`skgndF@?y zAG@dCXttJ?+b}MU6a~!idy7el4^Gi!hR-aYIX?4zDts3B?Blba&jCJFJ_q^S#OG!{ zxA1uhpO^BvmCqqQFXM9?pTm4^=ksztui$eBpP0`gpBkT6@;SoiJNUec&#Ue~^E9HvjV9>;(yWDY)bCZ% zH)f_(j@x#YuN5APv3AkN?$<9B7fWe|L1`?U5Z!DWhwfL%j8$P)=Y^D6ZT5k+C-_qT zq(pqGt0!qzOc1D6<@a+T)sql>4TfQ``)nFrGNe|}xhd^h^5J(caY0c+zksQ0_a?u9 zX~0ElTnDUx@fImn#3*gBQKI2Q0)bz^WWX9WinjXO!l)z!!GLtlgIuCE5=jL)=rj_U zpI}bl1lxWA6Q_T=MUrisL`fEn|CR6$$!~qSk%}hFb*s6zkvh9kBh|cUq}t@)ZKUBY zBP~ou`k(fQWljEJU>6n;pLbZ3>3!AO_k-x!`q4 zzbVMXX4eit!ISN_>-a&zy`oi(g5aIM=4i-%MNt%VJ@Aw^R5Aq#ci|o&h2R&(Xoq9i z_L%GdQUfMoTL2vFh@*9o%~t>J4#;eWh{fBEUtcUcTtfNNkg*fD3$kD)xKS}HIglvI z0!0AX-oFlQX0|vywu|pS6%yi0%&F-gq?2e8x!5ss@n6bQh#IB)J%N80A`Ky=a3ToZ zlkAU&>blPifm#*>>?y5@NZL3oE<(brvSoEW=mZt0zV4vxAWKbUjt<=+wQD*JD!%ABg~yP+!cskjH>OAcleYEZRE-j!; zq0_?zm)Fz7!Rzb+7jf3Z+zpN4rd@jg(AgVmhTkd9&BNZPK*wZ&-WalPxy~LG0%FMC zISB-ZMSBXA_jMWfNSx+fR;NtzN2JuU1AXRT2Tz zNDq2g^*DjGQu$dOomGJwk5%$J_u!@`)6C+Pm}9NbOe9$62mxJnQ8;eE&^f081cNzc zgt!`}UM4Xn_atdHUCaQ%k|u8Ko)C6B(-;}HX0kpBdBKKD58zDQ4QO!(7MWo{5}=n_ zlo)S1%w|U$y~Aa4=LRR$e&w4&ji}HgBbAdbtc#o0PB{-6g0FBKO!=@aFymZUV8-3} zmfnAoMGN zD&nLQ=qZP54xRfhvR!~Ia;UN|xcAvFe)PTn+m}B24}a#e-oEkcpZE*E`X7JxCw{@+ zKL6`q{-?k7BmeTB|LEn)zx~6qO8l~|81`Bv+G75BED>4vztVgcM)iJ;4-G^4vT?ns zUwMr$<8pGY0CR#P>?TG3b2M3APflh#rV3;f)9!NtJ1{(nuXRBay~$S9GVov7aE;+* z!E0TiC5+0rxFsZS<~eY`ArdB6s^&hTWxPgmqoPZbKZ*}2+*B76Ll9XC?pkiuhh>OTCkl0a zgWZxpwVph3o@>jIC*(YESZkeQ=p-Uot z*k}TA1>@RL2V7wK8FJ{v1QF^qp_h&Gz9d|kw#;fKsQx#@2JpwBD0L$)Ja`!Uj3<8Q z!+e}U_5JEYu+rZL^c+Kwxu@S%8{P|nt*CM$cN%e5B%xn@8zE2DBW}?Q4ongE3r)r9 zkJ@OEQ3S8Mo`4Axrxr|Jt66tu%2t2eVIb|}Ha58b&a0y83%Qw=>6)f1{+HRFr1+U8&Y9URZkuWS3}D1eGtFA?FpX(DQ38*C?Wdo< zf__q)a)Cw3l}HqN2L>BQ8EZQaS@*23x59gc5C&x^SGD(`D#etW$oVRy@oArBiqiwfbtd zsaJ5da12DAZcxG1-!pn9(lW*N1N*RbT~V{b*r8D0YQOqHJ!u#=EFHShFMd9HKKZ?m zJPkV8t0nJQ4SBIJ!3;qilqy`>s?Bh|k;ykB5|^GaAzMZlG*etI1p>DaAYZk{5Y1rH zdCIXUeHS%de9UNJ7|w*~grj~wl&R(HPaHjRzU^j1wuV}({;d`!;hS3xZy#>(ANQ7Q(FM$*^7Ta$6sESwKW*I7S5~GZFgLHmNH*2z_wE(IPPT*~ClFqD2 z6MX_@-OZ19!TR6^!jg8;IA2tKRujYVlax6N3>tdPQ9e3DB0yq8`opf*)nS7IbUS04 zAMUxpikG1yrHtY6*9ce+K)n1?QampUL$p?S6QU=cVSkYvJNIIj3D7CTwQ0?9hAN)* zBqRKrNIEaB6tC^V&9)rYk=}x}LZLkPOv2lN1K=U#2hP_@cIXDY@BkN2F|T%W^7H{2 zY3O41XyffVJ>_|}mJt{Npy=4!_-u;B1J&~sN#`m3L6Ig^fvQ~nx0(Q1cjX+17pG|t zOo@tN?XuCH{RDB@(H{E~8KDrup&bn)l#F?ec`_abqTMM%Hum(t37b#@t4;6UFd@vS z9z?=~PM|VGXOy6(5hYGrtxuFy&WMmvnXue&WvV}8V#7QJWz!F3h4W+_$W#c}4MasI zHw_MLw3z(MKwOMafTVg}0;KIC$=$*1MREZSOWA}+5N6HUgqZZrP27YrwIUbSV~(oh z4}25}Y%Z!Ax318+CAhrDm8Vr2O=2~*BTGo}tJ+so0&+{fC^@_s6f{{= zVu|1>L&+1?qExfWp*|Gy6jXmo;C%yPZ6-Ph(IuLjljwkf7{=nhdj2ETz2%tGX^Een!$YR^tb?Y^0P#FzZLx_HSNZL>-Tuj}P(%h#VsQvJ!bjX*}Z}A%Ck%>U`VPDlk>JqMWrWV*I})n`ASW7r_a( zVk}32evt#J;P>D0(2?P(+|{c-E`rmfXEHAEGR^|4bE;N!CZhC)T>_bzj0-0E)#C7E z6a|@#0~G03lX3Lzw4mu%;E;hJwt#TWsv=$V!Mm0`HWELtnV>TH?FdU3I@&UfXf1kR zv7vhbQ!@?`nhA3>UtBWcBffWi!;XZ4U(eMtTI|h)%6+D`-e-JR(wIT4TWl0PiUOxU zkmrUs^RDB5P0g|ywMTy%YRMG7N&XCV7(qo4m$QQ~lG!z4;OS&q1f*fh)2%9-ESI+w zw7F-7>_|2x|HZPQGl#%zkdqcl>(#HA5+lk|*p|TdEjp=Veb%H3jkM&?v?Nf>-nv*s zwNlH?GjCZzn+CF%^y<)wcL%b224tsJb08DmY2w|4o2($TKgCkYj55lM9A)OJV!%W> zJq#g7$JOzKMz#FdszpYlWZ+_VdKjE%G|I{wB6KurR-Y_2u&ggL483##y{v_Zkh`ND zeN?Os+}Gk(XBxMouQ@(;_A}`AueL>DSNtSNm>9pPzpHoPV|NcJzhm*WdQ9_Kh^1e*L0jjy}hD>BP?^@S~!*JoYs<386Hwp4OI zpk(IP=la5yO74eT?#FztFKnsge$?eY<#T;uOC|S7m-|Vd>kC^dxgU4ApZ2-Fu%(jw zDVO^hpX&=-D!ISra-a6OzObc|`&pO!d7tYGTPnGqbGcvexxTQalKa~(_Zgq-3tK9= zUv#-&_PM^WrIPz4m-`i;>kC`zB=`4}dsX+{OwJa-#>`nEnYNMxY~G7e@wFEkEVHd`W%3_mJ9E{? z<;w4rxVW9xLkC*wAwsTSG1W@X()tCjVN>TII|K@*Mi^IrOyzKPQ0`gHg|0D{&mBKf z!fnqHz++;4U0Lb}jbs{w5M1*csSW&)vuoY0)hPf(^e4uwa+M)$}_$ z&%0ep((m9|`oS)aa=w;K?dT^mft%tf%G*KgF`L5x zz3TB42~S*x;_xIry2B2d#*JVL!QPE=^MDxR`c_#f^gqTiTFiJ`#b-l{*u!YE89cmaZa*YI2Jf#=w5x zVHZWM5CXgQgT7>xM-mo7sd;xGakVBB*4{-YV#Y(Ro2tLMQ**C7)@XtFXTP!T^B9M+ zwOCO0flB3H3A;!sW-py#{Md3^q<(CUY4IjMcI5onQR>GQYVTzk#R$}#el0vo{l}~r zyobr%J>+IC8w*#6gmIL*Y80Rhq9f;MqxVwYIi+8F=Z+A!%_AWoUyfnG8H^xQR^%Z$ z*3_s?9G<|5Pp#&D3fThXj+J~DQa;$V=eixtE&*I*C@ zq)7(`)*c|7d(1@2_O(#CQV916y_6R9YW%kL)WtBVSEHajJ^}O=i9#@!MP>>E5xvOm zPE{vg{oPJUc&YkxPPS?RlR7viOY-UU|BRC-i?d$A&1H+Y`P?#_9fvG^fm@l}a!kuA zb~(%3tb+cWk1Jfnw7#*<8dqT9O=nCd&};>kNhc@JOmOC88@%BMqML$EJHQKc;FrIt z55{SVQmQG^B>^!lC@Qfjo4_J&yI2P{k^6_&=kBmSa@yEZAr31)U$I~5OgGz@r*vic z|0_wa2zOVL6JIBM%^aJ8GwqViID9Fzzu>A8&za=-i?0x47Evh~%N1xYdqa|P!6?*9LEa;CpVyim! z5z+UQTQh55???n2r@4L*wVIGMxL(wBzy=cxYkE=#+1|)zn=PF= z5TEfDdR3Tk$ab{9E3zvUk-&ctqJzp8!>QZ6!XqSKAs-4f`%sG7)>WnzyZuq#b01+XkefIFx8BNA-umN>edT!2Gzf! zm+F6V&`}b6_<9SxJ$ZfgJ{(Tsp6c0g_vm=SJ@TJXT!NYIn2qkv0sUxh0+nO$C69lI zY?+#jNfu9Jhvj%Y;>`KG_=<>j!YZ<-yLgI8VRP%#s#^Vv8UR*v#Eq^Fo9T}o|7#7Z zGB51^JA3^7*<45v6%-I8o~v3(Ztr9G{J5LjVZ&JU9_rjC37fZ*`QIz-N7p{=4Exc| z#v#EV1@ToCyD}fulMwMk*v+I%V0LjmA(NO!%#{3k+$=c}NcxWw=^`9LL|fpANQIC# zxF%ce@{pIEre;^6>=%gm9`qxV>^PVgVuJ{jnMBO45Q*Ot?i6b6!H_*^nSdb?!$5>b zo;H{}?k(hp7oC*}XSx#whJIbzWQhMt|f+rekcTqYHTGZ z=j@?f+1rB<<6r*1!m%Q<3J6CXnm(s$E+nU2VmVC^%=3Fhen}{bF zYGX$HZlcbIXn??(&A+gtC?$i0?d?g#l8n+1XfTq&K3GYPaxY;$vfp~O`s$0#c{%J6 zQmh3`#qx-^$@GQU4XH~ZojsEr4$$d+T!8Z+Avr|1c8hohJ#+8fP`c8LF*)d!>b7WS zs_)f!7=zX)W~Vz?%rZA$2t?+*2y;C7AQ#zrSo~V=kP3V6@FFORX0n?CL2*r5$_1jT z3`D3d57=x5;_M_EEE^=Wx=#Yr2g*TG)QxG)(R=b}^6r#n2zB$5&7J1yZ5y$3|p3Ec~he=j(gJ<}e^Ym={< z;hxhjbjVSztslDmGraFlvSCULJE;{AkS1r$+1i&-0%4u~FN-xXxhfC$8Q zZHfg20Z`1Fz9fgNj)yTWbqd7XB?MBZ_grHw>dl`K6(;@Nx7MkA3u*vIzf)L7PBz}; z>GbxI%0I|y_q-n5fiVZ%c8sC@7`d*a<0QJUDi2Z~V}|J6Fs4gj(5`8uFjv9si80;h zt2OV=ab)`QZMwxmlPnJo1D8dTa2aV1ReH;z${7ttZER=AXiy3y0*1JffbO;@{<&xp zhRzc4ztW6x_!~CBYX|k$z_IRT>!K#dbn|+0wb!2>VFm*f=XjzP~{FOn4?b4 zM$ju$iHPuTsQhiz_zr5Q1$FmXL4ZB^K4o&lgolJu#ehFmCPcpV%RVr;azHc0oe4rh zu(65FWDjw0zH$?f$;*^|X@kFa+;^BZk{L6rpb$K_70`~IS4^Vw6v{Hf^VVz(I7Bky zZ7fj-@y*#>JxgCT@#|2$gi%F1U z(Rgx1hm?#1D~XKs-?JVy{L04p$>XKUt6&5)vRtRMrAQ_t3Ot|S3ZNgfwVFpB%__Ch z(`-jvZ*m;&q-!Gx&03Ubu?;C-);%MJMI*W@ahbe|0+QYSgq3nYRX0h{;V(Gl@W<$9 za-bn_Txvsg2E5KOIho2P=TAU&;y2daAGXIs6UbnV4=F#j*M%^;`7uZCD;@`&YeCj9 z!zEMxev2u@Jl-Egp(K6s7_Pe{T;$A@4+-_JC3EG8;YB!J6rnC`($yQdy{&Lr#~8uF zTc*Yp`Ef=1(KxL$sAQLcxP{4+ZeTE8;vYTpea%5H_L0J<{xyfRKRMNS!8cyOK5|H7 zLFtjkPX?q&D>yVV`|^P^r&{q8m`G_*&X&=jJqR`if;1%CbGu&rK*ue2>VmXx{(g{BU%H&T{a#sF+@WmS4M{_obowg2l#)1l&GCA;H0^0a{AoILn>zt{_PM-sLw#)^`PA z_7r7L1$&}~$Q~-MaI&WcDwwHx76{XgSTV*E5`2iOZQhE_v7^E<5CcmX172`zl8&FR zNm)=_r?LH2jSYgEV**Pmlro|AWz&Dua;rFgv_&3VmU8D=r}DN@n`4Bues>Vp5IsrZ zzQbUp7VhU~t|LsFYj&;QSK84vID<(X7U!@ZfS)e}L(wI5Y+Zs2zJkRd zIu4TDue(S(1++ge6V1sFa0pOrtP8L?BNmIVh4QBnB0qRZHB*Gh540Gn_2@W5*PdQn z0Yo|0JU~0UGC)lE$CU@%cnny{$+|?k5Qii%G)d3I+b3!oF1iHi*4?&o&L#D|$GKxH z0eIn740_WF{C0V`uupz!mRk}X;Ut_7dpFmYVfkgYM^b!{F(Vx1g|HK=veWG7g1iUd z29mN3XyXi%PD(Lvzh@36#CR+==DPc+Q+CgDYIfH=c*Na!wyi<-fz~Z%6-8D< zyt^%HcBwh-CwGlxe#BON^4xo$ojK2=eXrx(E1tsQB=8A2E37)ngGSyyK9)zRZGeQ( z+|*`8KcS(8uudmF4JWh7vx*To?~o#dcnO3Fdm#bz!Y;VjJ1EEG@BL|_ABayQABpE0c4k46>%;EMhLTg5l|8tO4LA#l^H3VPzpt2 zNaRMCSjI0rd4A!^^9xU&UnrSE1iyHQ+(2@TFnwqWH_ZTU8{hFv<;|fMG=7StTVW5x z6}ke}wzaP}%%l)aM&cCann>~?9+gN1XyqdzZTWRW-XN8&iDe+;mP!z|Y+~D^(AA{r zQ*6noD=jBf?vq;2nz1UI6=N7$w9F&4Rq(q5deT)9GS@KwV_vZ-GpqUEM}-K7R`z4# z6R?t3`yaLn?tS8)1V4b_bN*4KgZ%aoWGgK>drB+he_x#W&IIQ;Eb1Z0o zFE|64gj>m{WYDksADk-l%Q{ToEZL_vT*2){kV|$s#J$h`#{Y89_eumoQ1FzQTBT3W z?eE%Nssn@eI1U^u9o?MuT;96_&!ow`Y@De^Fq)>pb(W4sD|)7zGDaHr8ORCBUXTWs zq;0GxuSQ^0KP98W))bjJSFG#@OK}M5e@(gi1)Eu?Yog?U^a@K>b*07vZsy>J%{XWo zAupj+WyYc1c!Dr8`&(8B)QZTJAi+9kBybwe9eK%Tq`a_$3XYL9Q`p>`gj8e9$o(>T zRAyeB0ZY*ury-+_S zC7T@FhM=$H-0>N%i;8HP;2NzcT-(;RX3pW7jh<;-v-zN4wH&Uo1yWoWJ+8S>@cMDh z?%wlhmeFzjxVE!0+i)#&O-f(;9Xvo1vm178j{W=@6^jeP~&E1peWwVBp9CN#n_^^(uCeT4m9x+ClDG` zwdIHodcNd|P8E@;`k_IO1Dch2i(#z1Np+E{BfVT5sLrMZ6{aKTVh+jY4g0k$4O$KO zK~Jbp>41|V-slv%@;KT~r_%%yRDM15m*zT3G)BHEmjeUDk9gUguQhcw5x7`JY%Fe+ zt3g)Lsl|xu=H3;4Gwx*MW`;$(GTP3*0+e1s-Z$$7iD9NTmby;A3pKTp*63badJc6z z^`;n0i6M9dy9tdr5qrOGVlR_|zdHT;EB0FXO*{ZW7$jG&JRMX%QypDAefqKC*)v<4 zgW=ZQCk7WzWH09i!;QhiW0yEMb!t3{AA0+_t&?ZZyzX@u&pfg@ICu2UhvKtm;z9h- z+s>XDKNMdYoVqx^XY=BPt>Hc0)p2XsTpbPCtL<)Ut=m~`E_E79tApj<^0>QNUs@ZC z*Or%t_nbPpx;fZ<>>heJJG|$@=J1~3Svni4qYL+}Zf%ao_naAAI{ENmYkX|;LJ$Ps z9aMuAzTX-JK|S}5gDpS-2E#u@z&__;{Tbjo^5VmGdT{QZF_Zn6F!^W0YVZ&+oeKl~ zUR^M_aACYDw8v|MlT7#P;*+CC)5IBnWJ~AxzU9!_mbAT zeI^J>xptl`2Ej{n?_cuoJKNn2&@&p92VT%l;QLnv2k#4l%N&J{3L-eD?9#&*uQ2?d{$|+DrI|CT`_(h|kOTumu(z=5srrm-BfApF8-( ze1u!U{7OFJ{qNu-*aRaoJ~+ll@=7vHG}7eL;(>cnQN#{#x`cLz% zxl3W1Xq3&tBP*B2Ltq*XP-`c*9*fUj8gH(hI{OIazXqJ5p)Y!P_W_?|fztG!+7*4( z>-9#xS#Q;s>dWMhro8_Uh**7DNw@^X8* zv)oTQM}SIXLt1I9@xu8DBVcayV8J0`lRl6Fz5rW)z=1 zGa5e{L-(^)&J z>UKQwG#YCs&z!t)V&&n@vyU`7Ct9n+(P*%?G+rJx);fbu|JbQhmrfsRFu(Oqmnm#_ zyPZ~}-D|WKzJF(Hz3(18^1b8Xk+;0_$UBd`;Yf1iP47I?*&L&RFO8dx(b*OMyaGTT zDmv|~4tlL|hc0{VW^XX)?>kP@ji$%i)???!7kb9po8xnv4L1VK$Lhtkwecn`tSztd zyBou`@nGB-x9Y?G{&xtt`ig_(VzYi^aN&r)hG#d&$Br?Pny6#P9yqggR%PBLNcCAd zNs3?^!T`fYz1LeBk5-pj{R4j{6j1fHwP{FHJDE{;?3h_~$Bto*96NUJJF)QIIyk4c z9|RNMYwhRZaD-)JqpIYV26yb(JI~&$7nN^xK-|f}sgplA9<4Yc1~R5+yxbYqSG!BA zqt<1%`f#-~?%(uY4XM|=t`Y6T zwWmCr@Tqw}dyWB(HqSCcZ{)8HM6bZmTE(0nu6Eb>@fIY|YX9bMKMcbmGI%^}^#+aZ z>QZmqzvX*D!;)yWg~DqzPY)hj9j{zG1J7u=TDyX?i$xoD=1F?aFwctu54{Mee~ zX16oyjGIXL_F8k?f63{r-E&);%XO8b#>%-2cdhW#)L?>@{1XwZX8_Ypg9b+WkZKU4JtjFU@JE zx!kCCS?`VN?a^SkJm|knlJ#2PT!3|0dN!J8#*bvGgw`6Pt{vW^<{_bRT}_^*2aWv{Z&iucl~qt+mwD40Icv;jqza^>05z ztByFo_o&@5z@An zIrcVceD`?my2_p&Y;H&_zV+f3^4!VvH(a}mwAx$7gEjFDb*~9lTBpxy(Ri(W@{AU- zXwTtAtcEiWiw1{-_P90f_AtD9%bh|072k^K=#A>F<>6?xG43|oozYsV|Cg6qjmFYa z8{-XIaksjaOKiW11d2W-IiSb7ztK2;sig>+jIZ zl$5?6t=M>E6P=VPk5P9#>H%53yVk2C9{TZ<4zSMi1S}a28N>4hZ;bg`A9O)lyFJ1- z=`a4Y1F!i!!MkC|x;c$I7_BwedhJGixQvW$)cduuM8uTI)#&b=#zr$gjg7`+8ZTg% zAvki`5Gm$5LSsDaj+^b(@p!fW%0KpeyJ;akX}R4RtSzGn8lBGCYGc&xAMxb4{5;W` zK)N?N=Tn%iudX&)tEG^kygXl+I?Z8y)E;!2t>poFYuJC)6~WZo4J6rQh<{u?$7G1Ufv0b#`^Gjd zZ4H-4&2DeF+-nT6F&h0>zj+5GOlbCH`t}ZVP z`bTecy)axusi0QYhO9YTolgJG8*O2<+#R<%^|iI-wdMfT*niCrFrH<%Iyl*CJ|7ZV zYph~XbvtW=(bCe|a^w4qHp3{#}n78P<0b z*C`neE}DZHN<0bPVFYO407kY2g zTs}zS=;O%`$;!Gw+fnOGYw_CI-0b7>{!#nU72Yt1^VDi+uM z`c*{aRRDUc1JU4mJKhj;w>=-gaO;dZg8^3EppNWb?Khq>Of`0s-7hp?yDzebqvn|P zMx$3>>n%4sOa10Y9f-S$%-zUKGSibBIuZlux@Ysg&9kQ`E`a(PubHjWXttM^mzt|X ztYg;OYyH;y1y*l2659o5PXLE;<-*A@aP<3C@FEVa>UOG}->D!YG;!CJrl#vLMVqTMnt$Tl6>!Mf_y zd);Agb$L8)FZDYwre~)$Y<0S=VH-_1st=l@e)q+Mh9%DO+OWxbr#Wo42TT2)TqAof z23vUHn#+57hWvs`7V6q?wXr(ruC9*89lQhm*L~O+{oCp1%bSm_rABYi9O7D7WwqUD z^k47H$8RS*+qrBNPrF>g=^n5E3IE6z{dWB_%^ag=El}XtF&8k9`P`n* zXgf=opS{M?kgW||Hl6+-ZPDxWLTu^c=6G%CU3e`_iTw z@M;|c1g{&W5vE$Z{|3`wjrzB=f4@s~?ASY8(21D<@&V-_S!)R8#F30xhA(y2`frqL z_FIbjym)E021}jZc&XQGwAV%$5d9y`i@RyW?+Sl@4`cU9IC61$^~lBUk&CU>BSt1# z4K0ss*!iIk2JOLebIgX1w*Pv~{(YvrFQwV*3`94=W_2z(u^r+okt9P1>{)691pVMM`f{8{0+yCOJtrahB zv>P&Nw%V(!sP@59yZ@GJ@5C-Q24d7@5#@3RnVjy#(pa;>TAJOJI==DcdgHCTw6@z$ zY=fN;+lpNQvn%H=UN|A@Zw>3s;ix@i>vXkOAN1e$E!)>+69Vra@|88za=kU|zkTo3 z$}Y=1zwUg#wt2nX*3y8mg>i4(1(EM~(~ha@_#Ljc+u+*WKv+Xl58KPVr8WFL-R`*m z-|ckEY;UMJICqYSgKPm;AJjWT)(G7-;t1Dz-TrsKkY4+Cx7Y3BBE`l)>Jz}R)cl?c zQZH`3=uJ1pkQ~c)?NjDU_f5YEk9lS58V9u#LUMRs!7K8n5+QtNri&rkZJXaUbBp zYcz3H)|<`#_kB~%w7TOuJ70>T8IRYxt^ObTmN6$j7#4Qy_H{?&#sI$melvlx{k%qf z=dSRP@4oNIY4*P)LW!XwHsI{BW8bIUm}AG>rp(%D{Md=p*12u9Jc(f$h{pT}l#fPh zjWq~{NTRi+rCz811CnPMAWO|1yVJX`IcSmA;Poz2bJ$|9m$0Kj|Bs)@x7OJ?DyOG* z+V*?)BG~Dv(PLG#%9?S=k_CTj|4)1$J^7%MJgUBLC-oVg40G04-C=KdVxVXiVwwm* z=-?k?`@Fqe@BjDDN5JFi#zi__YBmRrHK?-xC*So=g4xUF7$6A*YuAYj8Z51$+NZ-$ec?>)^&e^qTAPc#f|d~Qgbp>=>Z`-mVSBCHAH0q_-O;Jj zR;|%_qkj@bT1-+q%{j4(2fx!A5kl1;%D; zb9`z%V89p8T)cpL|HAm;)9e~vVCc=>+A7;A2=ZQ?xP^NE;pBRoWo0)Ws|lhI@td$T z9z*cUbqe}<>dUSLhjGm9zxp=AQ6#%t}tc)5l3wzk^rZ@k{O?0BZRME*dw zsPTfc)Y)M?D^hF7$21798C&b;X z8)ew^tvqsa>qJU|m^M%#XKD!jtmE)*N zA^VSt9u+%#VQT>QSx=8icVsL-c_5_n;WH~2#polv?FunoZVuXt^z8qj{BM(@sS@d( z8n40AL_|`l*KM^}e6F#bJsK{Jmim8c&q@Ozq862Ka>%0#_bbY=)$PA~cTLk=QdbvF zoTNXk({xsd*gPVZX{1AtB7xDv0kPUWB2@c7^hb9EcliybO_tWi1QeiNh*KU9WZ#a^ z)eN)QTx0)@J?#E_mafvk(gk8qsYO_LtJ@&n2)m>^#9Mc{eU)16;Yo>h>a7hLy%8ba z%Y+USx;O4$39nl5Tv}0K=S$7{czM|F5Z*KBzc>7@tMtf19G$|NHm#3Km5nlWJZK?$ z*ZS`Zm#d-{+b9+oILwA7g!~W_2aJakHa?{$ZXO%6GIvX_`a>IIOgiQl|3_HvH z9|^zbDloK`)Q+Y&*UZY-Ww9+H){7Ezm6eW3no3XA+NH<-5QOTW#Y8f#v}Zh^33dHV9ybabEhs|V2o=3 z$*ke@t`kSFjN~Eucd60;v1`y7kvjSMKFPJ0BWJh2Dxle$Yj+8kS~*Cr}|b*z>3@>2gJ*RFbw@Lv#KCvJE+sMnXV3@APwEs-PVZl z%xE%3@^d7FeMtfd`@X#h@56UaP1_?!qY<(%EVn&VOIO$Opa1-SPi~FTxOdALrMtdq zdrT=Q`l-4{qkDT-X+eqov_6#cf=Leg?j!KLue@#Doh`e{&~_#gFe#b!EI2jP^ik`Z z%Dum39~(+00lyMEG)ffKJm)m)-CgrG6C@AnpW#p&jp!vgJ5`}=f~~VJTo8P(Q<*f!ZEe)3>er*a!=8!Qr=%v@=A&A$(fjNQ?}>5C<09 zbAs~TePRwTp{ekwk=@-=Y%g;W?Oy8foDgWVd69be>7_iC1@b37glGc6dIMP;!TIEX zoZNk;3ng@BJ^RYwX4;HrC`sre8GHyW2$=|1%;&l@gfgeZ0dSA=kD0nYIc<0|LisP&!JOt^W{T)L5L| zR02T?2q?;iNTQ$?_qBOtsN}5OOhW^{-u00ulT-B9UmoRv$Bwn zJeSu}2Jbbvn`s@A;pehdQUi@NfbAS0i9(2Hleg}XxwhFzrkt95vCJEYb02d+6m@Cc zHwuXUH-X(*bjJ_^tw+GqF^#^}*&IeP+8w3|I4)|3Gcw#{Hj|$B~QOL$D$Rko* ziFyULsh4_MV^1YPPA*syJyq*|GGY_j-DVv4Q2<9jkzkDwwJb<(TX-b42Je2>M;gXp zb5a-ECiPg)s@xLeTBNgW0n^wf?w7Omv^h}=24sAkr!-vyR#J{o37V@o(4ez zdVf;@0XZ^1TJS!EB__(rbOp;N4zrvezc`VBFG&no^lTlDpQ`NL?>c&0$}xH1!`_pf zh*jSpVCGDUVh)Sk{jsaTfW&JU8($D3g0XDIlm2s8Ie#Qr0n;J2RG>eD1Z&s1zw}P| z@Ncuf?$$ryUyGCd7tG%CW1$HAyTOXmEw4Ol_V!21d0VgQy?^CZSXUPOb?ng_Jn;;Q z{KI2TDD&i-kPCay@sYSfy7r(sF;5BM;9s<(A{s>pGkLAU^yKPGr*8?lifKAIh?0Xi GefdA^{H|yK literal 48340 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 LICa;;i8KEfkMKHB