From 3d14d8de70e1afeeb25e5ad997e25b90fc858417 Mon Sep 17 00:00:00 2001 From: Artur Akmalov Date: Wed, 26 Apr 2023 16:05:35 +0500 Subject: [PATCH] add blog --- blog/react-native-env/feature.jpg | Bin 0 -> 52495 bytes blog/react-native-env/index.mdx | 49 +++++++++++++++++++ gatsby-config.js | 16 +++---- src/components/card.js | 24 ++++++++++ src/pages/blog.js | 76 +++++++++++++++++++++++++++--- 5 files changed, 151 insertions(+), 14 deletions(-) create mode 100644 blog/react-native-env/feature.jpg create mode 100644 blog/react-native-env/index.mdx create mode 100644 src/components/card.js diff --git a/blog/react-native-env/feature.jpg b/blog/react-native-env/feature.jpg new file mode 100644 index 0000000000000000000000000000000000000000..16305aca2997e8dd09c2e30524ec1058bff063ce GIT binary patch literal 52495 zcmbrk1ymeCxTx7PgS)%CySux?;1VpjJA?!X?(Xgk?j8~#xVwZTIKhGw2q8<}-M#m| zJ?FjMvs*pW=j*@z>i)Z=tLm@%yY}}xfTg0KtN?&OAVBHm0RHZv87j-lT4?ELDk!VT zzeE54nv$A>s~Z>#09;(XJ#`dis0@vasSsxXFn|mo0NemzY3=2%uB)I2yaZ)=St_p= zrGNZi;cf+Zxf1{^vMXs(QT>0zp>;wQ=H}?Qf2RnOjDkf`YDsEw6Au1(XKWAHSZ+0z9YbQ%j8!A~h7k5k7008)p zcm9_O!1%A5SVTcS~zqD)#?- zCI0`M@V}Y$-|S%1v3+gpY3us(DE*gO=HP1gQrxaK4&DxKu2c@L|Em)I|CsE*+3*kl zqh7xNZuv8SXTbqr&Ef%&vnc=$7Zre*7QV!Q{3SxMc|d;4dLzJ{oo_vGvO=Y+u=XMFT?M{-yt9%5Fjuj2qGvU7$G*hRQSL_{P;WJMH5)I_vI^hS(C%t5R}96($^+(-O{go;Fo#Dk=OWQ^pB6o!A==lp>9m8i7j%?#>U3}DYUwuUk?Do#?dh}VN9pew7#R#0q8K_Eju?p;l^FvW zYZ<>Vp)*M`c`%hSEiof73o$z}7ckGUfLZui>{;?yW?8|k0;~?K1+4RI@NB|tu56`j ztL$j(((JzMwd~s*1RQD{VH}+t=bUt$#+)gfqnyuN{9MjlQcnUNK{1BuQd?lDKxGIDv zq$LzDG$sr$EF=6*xKH>&L_ow_q($VXD7&bWC`|N7j8V*1tXynYoJQPIyhQxF1eL@q ziDHTGlGKuxlBJS6QnXSwQk7DN(#+D1(sk13GF&pAGVL<=vLdp`_ z)I8OC)WPa1>S^jnFTe{UdXkZSPVkkc^OaMFmx$ib+~7|~eYxYGF6MBXIB zWZ#tEG}3g%jM2>BY}}m0+}XU}0@K3MqV*O0D}z_CS5KCjmZg@rR?1fSRu|T?)>+mk zHc~d}Ha~2|ZBuOzUyHv^eSKsnZkJ~F!(P%p)Be;!)*;v7(oxB=$noAu)2Yhoud{)3 zqYIMDE0=Cp99JjTVK)jlf46yeR`*Ev?;au^86Fp&s-BfzATKkoE^oY-!PJxwlTU=t zwy%V5p6@R|eZN+JY=2k(sQ{LMn1I7Tg}{m+xFGAG!8g=zLf>o$O9z*{1--R;JNSMqT!+)qGw`w zV{&4iV{Kw5;<(~6F}mLHRUUtm+PP$*T{ zP()r7SM*ryP`p;6Skh6-P?}kWQ07~9P_AD-S|L=Es0@8#&N>Z9(<>&Nd;`hfBw{KMaYz=7M3?jKJ-*?rm_ zv>4nRG8|eO)*hbutonIuL}6rTRC;t^Onj_wTx7g^LTI9MQed)Uihrtont!@|Mqs96 zR&cg!PI#_oUTprug5<)dMY+Y1CFP~bWsT+e73j*^s_E+YHJi1gb?5cV4d0F5n;~D| zzr=1~ZDoEX`&#;q`CH?6f$#m>a@$iox;vY@*1IQrUVBgb;RomknTM2zHAg&0eLoa_ z%pIE?@1MAz{6395!#>MDXF6~DDfM&e!ti4M()04~Rs1#ab=3{u&ET!p?bkb(yWjV* zzleWTKL|aHJ{mk8{`Px9e9HdA{HNzx_4&(Rm%o4iZUW%|7z~EI1UNVd{J((s(t#l$ zq97u@94MG5s3P8x{tg1zNT6D9 z2n0j}fU!XkY|!6fK;UI?g7|L^^j`rCfrCdt1R)`V05If#iULCb(7(998vq*QB^C>U z^^)vC066yl5V{T=Wg^No0hs{KM})K}um-lw_)zi!Ssz=7`xVB8Qte11P+rgxtdST| z6dp1e3)Tkp=)x+C6;&&Dvd8o8l2uBOnXtk|^p4nRqN^i}f(kdBexR zc5L}O;Tba*3kh@fW@I?{yf{dJ^vg8tC{xI448REiYuuE|-iJ|2;d}&30clmt2u z-(A#O7ISh(DCY`$jSQH?P038e%*ahCq895IL1uunRpEIWJLU?qkE+Z;<0!fWT7Z)1 zXR5G+;m(kVo3ntQ?f(mYWaB>lleg>!VdfOd0?>&Oiqw*;FkvLY{QzvwCbPLIp_6Cr~*P zw+(=7N`@1U;_zx;tm!R@^j9F3&Ppjqedv83UxY9wl`vklEmARV#HL83EmDSTtEecU z6V}4%ACZG&{u0S6XmS3*<9Hn(Dp9myiZ!R`A>!j*{D}RRejy)R9A5%81hs0No+_ zxT&BhqlWCHWWZbj0>9i?izoGG&|qGFa=}jyNb)k?55Oeq((Nd}7)GN`S{H}6Gi06x zNelNJ$?gkhj;*_#KZ7lE+E(yo$~;xswV%Bc;@&H51hvVT<*YNhWz?wk3y1G)>B6zx zdg(_0T1gzai9U1+O{ zyzXxYQdf0Gsdq^_JoAai4_c2Fk-Ka}3tiBj4o@V7AdUt8iBr%{WsPi_^itJ%yw=$5 ziZ7n5yduiVte%(+8@bb83u^?Cr?uPMEW>c^%^8-$XU9dCrkVawWuh)j{6wV6>&FTK z8%HWDW5~vkX78mKuoc7%xPP@L$59Qk&9I0ov1f6_VQ(fc_Wc6GJL>SSgeTwBM43=5IiSbY}|2IzZPG` zxvA8i{qgET@K{ndM`~ccyT^?VuEqVO?{QxafgZ7OAQzc zqxw+u2JEX1a!OT5ken&yqCJOLVme-uJG6Pd7)Wj3zO@=V zfl9)B8t+Jq`za<(buJAzXDS3cJLYm#V~ke94+_us3f_9vowj>H!6HLQp9MvJx+?l= z%l4d_eQ0-#R<}{7s-$bk;hp#{XnR4VJOtt_Mh1R5LVQ$Wn2_}!zQ~S^({(kGIqFP( zH}ZB?QO$U78k}d}H!0yW~*~Yiobwdw-u$g_nLVNv3I@<&zwkbBVvF12A@EJdH-7b+s|h2XoPR{HX{u( zg}|OrgRxX6cH1&k9(Zo0K<{a0sq7Su3?+Kf)cbiQ6vb_wTIz+B9E`h<)a2JXdZp)1P=6&!3UXtMkEbg?B=nJIEdC_I zl=nlyGOy9pu_3C^`~+Mw5x$!`6XkmKreB;ZVl zLCpSYg?m>NGG6zqs3jL$j0cto+Y&Lo$bPvotl)|}+ znY!*KZ~a_&NjC9kK2!T(-uv^ubAhkTB58h=pGA=!gVpukO?g&s<(mk%4p?H=)Z*c) zalGo4?aJ@r#J~eadgZwc2>{Vp!gL2uu^Wz?tSh;$R#vX_vt6Y3chMnpj=*P5Ie7z?K zGq0gkK4(=1RSzI=1ep=t4PRiR&ED^qa) z>ujOVPC%=1CB0;5U}0c9P!m4Yu zVTVChZPtj7v`~W#8|Ra0KfPVBz1{RQIkJ5%l2oVTXn=8l(RT}JckB~R?oV3&WXC_9 zQ_VYl2n4=QU5fOyGokiM=TLp zpnykE+=mF;c-Yy2&1wCzh3W_ff!>Y_T{3A5OH?54$yYQ-a!-YlPd19>aIM6=OJ=@K zF(R@x$kna%d)X;51`^`}%`+U)Gp|OfCq)TE2{fySa~aX!0{KT@mDyj`MNYo(_rpZl5qgd z`lFE;73CC9*;8Ry6mlabc&n}g`ze!77VcYjIks-8N=mS*ABe3?NVEkj^$jSTLeCSH z0n;55uq2oFz?*hDRG)q4U{@ws;HND??k%K9l#RjGkb_0q8q4>kO4X+`Em}kJY{`fD zD^GO|w*!a;Y6T!c2YZ?VHyV;;vrZM}UZ*vWh=MErK{qhH+H;I43X8cHzgLS6!=gd) zpk~?rRxsbb75R8j6>?T>NG`enP1IrNqA{I>=iQpvnwJFZ3_ z@V?XuKYpR`418_VzSM5@lX&S^+a!B4kLogyuK$5(qxCHHhCnMT<88f6?OL(`>42an zXM=@lYJ*2Gznfrn`_aRZv2Eq}m$&T7n+?H=0UR~QWSI4dGN?M&*8z(JCzgA|uI}2FMyyPm+V*GmGm1%GO&18b#4QfsCKJK6w zE$nUHluclwZ^KvoV}3(4L%uCWJg@k3qVs8c$Ti;C!hG$rb?0Hm>D8QR#C_|>&J%U zb-veiw`jZiaQ-ERA#d~H5`~IUVq3kWZY~?Z$~ius@A)$f+qfL4raSU)NV|A2Zft+$ zI0aF-)jYhj<~=Ov7?^UUE@#I+irsgq4D`y}(&VV!FSKv_roMee*54bcC^OS>9qa}Q zpK=$?%gcpsku-R&bC!#1mS21pb-5U*x^8gzZB0?dJGp_TA9v)Tmln2`o~sUfYmzcM zbuMUs{)%8Z?`Qs3U)G|ag!~%`f@U-Of<#{jik;5m8OMHpjHfI`ey1cBS?>PBOm5HN z+%La=vEs>cfAZLs$QP!WXS+TK^U!~sE>w@ZA;PvK&ta)9vLK(#ysEXfVZ%Ds(}~U) zJd8%Bx1nal)y&rzIM{A%bOq>Asc}L{%)$Q%TVTE1P>Yjj64SJVR zz~fJ)pO^Pe36O=ij13bNrB#RbOQwSzB^y>xmo0X}_VJ8wS7GacpV`rW6i0|Eo!MM5 zvQdPbzPgA^(7s{REl8M}nZ3SVJAB&n=Jjll8omrv=Wp$J$71C*d-HWbscuZ-+lF;O?7VFRD20F2WlU{S z?thqUun|$T!~aeA#qmwUqzfubS1lj(M7$PZGcxC(A0ve}*9?Dwdl?r0O*j9WK~L+p zi}Ad9wMSs9YEP`SYg)LwVe4*7FI!39jWzdS29b@n&NO}XA~r1%s!-ebX4`NZw-U=r zx6g2+B^PIW`Sl{bhAD1K?zF!nNx=c4_;UIQqzCrnoY5RZU3P?$7I3WNsSKNbY{lfyC)u>e3K20U zCY8VWeb(bcQP3FGpwE1#7!L2L!&%3rzDL_5WP{WTcnLZwc8b+T-c2=zw;i~kG8R*} zibK-oyp-Ek3^U)v&HL@dCpVdQ>V8!)6`Pg*RjM>LQ_gzbEJ!jd0%>#GKFKSaoO^K*CL*SI+{NnJ%Z6u z>#dT|k5BR(DBiVt)*i-7xwJ)yu1%K>&LTYhD-io<&gB2P}Um=cjGq$**Vb7gP2_{&iJFYbSaO ziV4P!^NeCtai_7Fu7)~+K;PxG)vYgv`o?Jb(VM!P-s>?_mwC_S6LO-lguUNH?1KJX z4T$FSyWQkDo`eF%2NmP==w`N#bNHKg2D)pP6cJpa)muVI!u+L|*EN{lNKxL{E(IB$t5Ob7f->UxBp*BkRB} zdZo{FNV>io_Udtd%F0v|BgraMLaWKeg9eJ4$lUWZ3rK4%r-?iBalN=bX&-l0D00pE ziA`J_-pDhO*pK^(oRXFT`k-W(=)?dl;f0KJF4 zPEE*Dh~;L}Nto8Qt(->@(7TSPEUoJmI9R>05Es4bQ+7Vzhn{<%;vb@P!ZJ1lK9BD% zr8OD`8ZXywtWWAtZ%)o@@#Stb^SYi!xLJJ>s{A}thHc$8wdb4YXT<@Wd+&s}?sw!f z1QE!jd1z+Gp*^$9sJcTC`@mA3B*pIWVQVdC+8QxTLnJHn^c$kA=@S(hE$H@7Nxu8F zlL`L%Q93c|wW+lo8}LmxCpLGduxrw> zevp#u|CA^0;%@!zTkf4N0p2oAu8$HBtIqr&Hs(n273@r@$AxKm%;wa;B+(|DR+#WWX# z{*e3yba=!x{#~8LFO5F-_c<9~Q!t*?2S@Q~KexSZZ!A|dLPjQc(oMS~i(xCeEu;Np z^AH~sb7~|^@%rsNF|XvQtKH0XaIa#{?-4jWCv%^gq-Dz8*@ZW9KKV-+RVR(uVJ0E` z={8csd(T~e0g5+@F$oBc2GrebOCxfQZ{%b?dqjkjzjBZJLwrs2vgZPaaYMz9MkLw6 zO3DZeKwVWHA1_?6I8t2UVNjj9$6m5@3RE(Pig+JdxMt_cW0Uz8m`}n@+Y!@HkaM&K z0>cf=GI|hH><~qjeeaZit*-D|EY>A$ho-A3W?u^v4S?`3hiu@G+^uAnr2g4j93THO zZu37`yd42+bO8qHs`&Zb2VygFwfq@8G7GOrgfc#R$cOU|+xT;0lf;`-5Z)*#VAyAI zKU(A1(Xvum?x!p5Ea4f~j9=u(TWX87@o-#f@abCCUlJ4Z3S&dK z8gj0$y^L3{PK^40MQ7(jbU$u%YwC<8H(gr%auyN`W`7;+S;LV^hf{RTHwmchF3cx3iqiw?~*(D z)xOb#{HsK}^)np&37wk4JqCypfkW(x37k{yvsF8(UzS33FGo3j27wlGbbwP=K{5#;a2goR`~6kZIJy#-3bjp0<#_?opTSYj@JG|)RV`leYV?pC%M ze${>xz1BNcy6Ie&;l}H5;XpG^=5YE_F|Sa+l!Y(}P5&JJ3)p&B#Zs_2N%T6wyCuc3 zWSTjk*b&T#UeFIUCdCX$oKFOpL>jpCU~Eg+O>~q{agWwTN#myB9&})EF^Y^iF}#C8 zR`ppoeMZdVE*|&hS&DGvtw+}+%<|i=CigWnf-5((5HZE@-#uiyLmP@%7J{+LH-;;i z9b$C{MPqNhsrbiy^x}e}xO2Jlzg;S@D}+(9=p0Xo+*uQOP{(~VC2Fo%Ps;L(Q)|Ae zoGXCOXq?#i3zQ9v-Ltyi9OT+ihxycF(pugbeE8Z5j-I}!2@7N6T*Y2dG`_5h*R`1t z3AE}-1Fr;GqoGN0s}V#vMMni~*x0LGs?`f&MH}6)HM7rLXdwyv+qJgj=2nby8Fq~N zV9OG&3QAB_YTmkvX%;x~OHh3u4)2u>o??UWe!(>J*ftT~KBJFFcjZhG5U4|uV&y{X z$x~&~M_F~MhDWbwZir|T7WGYHv!)^?5XIsZbqiX5+kf}jEt>K0!5 z6!74CHPzu9R##}X#ryO*PT9*#6;YZVFBG{7KZl}xrJtL}T6|^X^RiW~>R%_zD_EUtl}aBp_7aT=Qa~EtWx&kNyd&zE#z7Z2k zSXudPdZcXgxS8UhbHo~QP1Q@A`sDS%a^4#*xCjb<<;m&@Ej>XQR95KKXQywp8zYVJ zM~3df5yKH_rk$#h&8r#yofE#S4Jb zu9*0%1z-OwbfqlQTK}FSrT00!8;7x+_^O(zh4QR{VbyTAp5@O84_gg?isHf-K9-uC zLIgZt)o3D0!$+r)p4-q9b2b~4T9Lj_{z&;>lkHJ_yIGgF@wz_RhIKZ`n8mYqh{rc8 z*Us9$vETVo#n#!d^v&BgFeQFAVXlr99z*kU#+F8c$yr{l<+rlnUf(lZ3PHqgA7nFE z)2Cif(!$|%gmJeEb&#@@E|;&{R&eyImQr1a+&PZN(Vdo?f2qitCkj|)Sy9Jw`tfF; zPlct%4jbP^Z2NOEPeV6#;b2n7bF=8QO@N+Zd^}l1vaG)D>n6RPyVex-57JjYSGmL} z81mAe4fmW(J)obQ37h?`T@_$UZ~SRm#FJ&h;3{7Ipb4(*uFX8Cq7KKRPBMfkC|Z;m zCt;`T+H&*nd|ZVoH4f*lQ6ev$l$g3-X1RFWaimoGPxM*ECVVifFyE?dIXAGV3u_M{ zrtjB?o%8XWGU|tu5sK`;95?8?ZjK|KwVdJcM6=uY6bkDtYpiU~o%TLi)!paIRU1o~(rf+b{^}MH;5!^9w zYi1;n3Z3?d!=&kDM0yX`0UEHX6BYf_+5bt}_v_)X4IP>TN)*w1n5EV>ext!&0PB+D z({{I>ZR=Ff$GsEvd(%CkIEjc^>hYFol6!8S0dlHJHaxKiP|IC+y?f1^L-lW8B&sD< zRyZyr-Y)i2TXg4um8z4jYX~)K#v&n4IWwAQ$uX?NN)4_8h?fn@7SzJvF%rPv3`=Ws<9CK;ZnTvZ72%P%YgLtab!mD-bgy`sRZ8SNjsyi4jt_s28g8=jhked8Zm_#PJ78;8 zCA>nm0E-1M$?ltSW}V!XZq@P}7^((uAf}}2jYovzI-`f>u2>%2L{%@t)285PM^Jeh ztro}c*?b?}ka#3HhKIQs`5%t%wjS^d?3P8#EAOsweM@`Dws!o=Yjx>nJxfDjxmz>! z9fu3|%zAK_YbD?(nZ42&*i~%n1pfYXd2C1NeTQ^PXwKVhV$VAG(P6EpfX~j2@p*kV z#`jBI6;JXg1g$1SXOI2n9X)!`?>0e+SPCjN`BPTO{J!c($#+CzR+yk-i63KQoW8tZ zHo*Ya3*N_FdM9FBygpOY6r-RC{8#2SUgzAXMJxsw4Mo9qOhG72F|&9^LZ8kN#_Jdp zXbqqseV$d%)^A_b5Puh%-NtFBZaoXp5d2w`O!@{}|urLqt2D);ykn6I8uf7xRZQ6}IDA0Q zs<^V3jD0tR%pII$(VR)}$;yCe1$AFyWrwEwO=L`+?X+s}AmaD(sJbW%tp=#+riU*{ zc}dt%{z=+*q%hRxOqE@#2`&WdMwq0Y4aSbletg4tOz!>{6ZS7tA3CYj#dvLtlDle> zTFxb^D1DG{r|d2Y%9`G=D1#I5PNqyo9kNJQ|9f>VEh7m!;`hx7K2ASMp1ldYIrid$Fs+ixYHhYhxZPiFq4PI z$J6Z$FH)+~GD?0eSJ622JlY5y7_-)vn!Yz;i{^|eK--hs^GD`n z9SJ^^e3@%WVF4fr1PliUMuLCYHUs&$?-q;=!J+1s#--7=gu~+TkO`%tmC{KmY5v5; zt7SEh=eZqraS2cNDnvK6<^P<9K_tO{ffK2}z-gskHKmH=FNHTvt$%@!$cn#mt_Eip zB$q3&_fSBV($55V%sLX0dJk~4kJZv}%P0qB^NJ~+gPljalkyW1+0W%~4#y(ag|YWg z-;`J5gixxYGO3kN1YD>8P<#w8PLkVh2@69`%|pRPMR}9EQp4OJt(XG4z+zj5mbFC; zqDDhis^ks?w2R7;sx}|hXjB{#ryj84`t~uInLpB0jV}|Oc(nuN6OuC8^4K@@KI)E$a^SPQA>sVba=Oft;8OtI8U#$9}p`#Lp>|AJLJhVuUn3 z6LgKWP=(}*ui;qCpf7{Ns)Z)uR)|)C^Fl3c$uhC~TQbCRn1AP`Y5=mx4duS}wx|9f zDQ0vd4o0LweA0eKe)OaEo{EH4akW7((sQKl%=kAM{E4!(5!ga5NxM8wgJ;>$METYt zk+}UhP}Q&Ru*aPg1>GSVi_9iT$=H38HD*HKPFdn4*1VsA)tdc)#t9q4^gQTjnnJIV zzT^Adm`uP?Eq%n2$8BL>mzj8lT;YLDi&8Q1Jr0@@4skCec~y0!65*D1EK2sNjQe+~ z{Qw7@NPzXFM%~C)2666V#_~p-NtdSEgJ@Gh@g%UKS|ifkqh~fI({&N;f%c=&bF{P; zPi|70X-y@*2&0OZf%l4QwxFI0V5t)igJXzqE3vYUZPX5lJXwYg_ZJuCUdoMC&#dR5 z6h)T*sByje`FrBRJ0K@uQ(YJRQ$y3apu`rG<#c;F>`Z>K$VFGSr1)tbsah@rqUJUC=41Bhz z0pKZN7vx4~`w-s`UVi|}@;R)lqGB*kIOBkgVbWZUiBv66xTMYGnx`hUMX2wT?~Ox1 zzBTdHvV1=<_*wOMJq=OsTf{)DIG$sC6;>G>b$KaQ{;k2Qe0~b;1I*3Y>?@Gpqg)kD zg9wWU@}}TXt_W*8b0V?y@L;pKrl`sDE((u13L1N=%}rQuZMh0Nm#=2X*XZx56(jf} z+6B6%dDOb>?XqJ!TnR$*WpXUSNV@wdT9R`pOr=TlI60`%d@l?06YA|GP<}m@1)k7= zq*8;&*bd=Y$}^lkUShcJt?yygQQsDSa$@`i!qv*;*T8meTUe_m&NCjR)u-)Ef|4!u znTePP{ADyda}xAx+M{ zohM9}VVt=KP5uS6L-Kh30^n7QWzN6AqdBg{&1v-FyH7e5Sa)hiK8a&qy@^t8$N6k@ z!w3A_TNVVmegYL@s?!443qFn)&kU%P7$Gjc^@U?P^^&@)IXy+WY>d$(YqTX=N1NJn zFIHdK&|pFXr0XYuZScB-JWiQ}U-4o(ftFM{k{t7M7*OuLW6PRifgi?eWpQS%O>G83z$W(hfJnY_TOpoB21_YE5EnezB#-@aYd~|1C z=+=gpoIx4AiDCW=_*lzRNY9uPC&V)dslMr@(mskmPGZ(24!`f}Aklnxm8Y^<-4fLG z9NpFzI_*G%Scw&PtkLE6RU^p47jWj&C`juvoiq8f)jl(xe!PIUhbZt%R7pA?X-UJN z`ANnr*ya7jd5FvY8Q`dz;#XOw*hKftTnDTj_Fjh**Q#}H3lG`|FEd9PThmIyoNC&) z>%tVs=wJeE%jHCW2&2~92L3=>`iKMNY~H9M@*xlEVJkZ6m=AF*eXop z+JVru(&u};j|+{n&1TM_>W3+7$mePu^jJG9*N}CiXxurwO9MUUMF;2CtAIg7=~pep zp!eyQ#^c=Fx&fy(1iV^X>_s{|WP*%veD)%Ygg7VG`ZjPI8UBjJJbW4qKYxcCY1g}| zRY{}!amvhPuVT=0ypN24BLsktp`lFiY8{^97GW1tUh>x+seR%Ke*s=iooyo5NAwJ1 zPP(5-sZ>j;3VevmzZx-)6M_s+Pu6uW`8cc0M&D|)G-zXJniSDg)Y1##nbxDA1!$%- z|F)O*GdM4B*k_(z$7(Hgz(zfh+LXVS{sT=_ecwwkdR)CoqSft` zJ%nKVR!T9z6k%i3Ot-rSv?ba&;BCGUVx|0qYx&WOJZVsJB1j2-jntlZjS)4#qhwTX z_N8rM>a0SrU2BJzy_*x9g2mS5Iv+AqN>B<&i*(CxJuHryySB7&r`;!lOq`;FG!hZ3 zk@>pQ6e{l*w7gt4~!LHA2`OGeYDw3?-$Nrrc}+e7aax*me+^M%`iz_%7xFjLzw z@t(@1YTLWt-ADvZB3+t$`J@b{azWbyd5|5@3=8>VDOrF-1NVJ}et?I!X!I8eZgR3F zt11r3FYB5v!%4a98nn=1rx;dxO4h_`CL#@d5ItX|-bcp+6c=jYwRCf{B9&?jko$w( zmRjbG%%DmqQjyR#reoWmXmniyT{1kTN7s42g@bDB3ZGn-WvlP+H-Bh?4=S6?N_3O+ z*E7eD@D)=Jxf5o8$6EUvK>0~YR4mcGLeWLfvsXJD#*?C}y4Q$ivehENiy!=?!xp{Y zq!rFtyQp}{=Car~aL}KR>`|+KEs#(h>R-4zN=y^4&~f>~lKky2fK6FyE9+qSGeV=T zJ$-jeAjS(>Mv20=v_TQ(!bR`Fu$98LNUc{nxmB89;*`7I6~i(&=@7gnpm@R3g;zjO%`)=+)+}IP4$EyY0q1`_27N#s~H(FOL}J zjLrAXFI$$Y1qu~;oTm2RjSB>FUAts_uEgch;_pR^Y_3*3kw`4^Ik=p1;V?|hn$K9O z%F{M9&J=1l^`gSIIoK6KlJ6-!`P6H)XDW;uj^oH;X7g&rfIQ`=^9<>cp@|yayaac> zADvk`1s*|LR~nZt`)*8X9C2lLibMUMGf1_%WG>nvqw2$X>)7dcf>|C9W!il| z6D_8Nu14ls$+5j_7z7l@64GVh6xXYMC?d-|fB-@SonJzct0IPh45YE!Tfj){H*D1^jg)m0%TVC`GY}HE;&W1^>>7BQ7!HmZe z2P?V(ser(bpXB&bD_on?d3jYm-h}2ur@E78P`ibQy9UxPGVsqCv&l6}mQZ+UuxIYE zh6Y=EWAxH#fqZ2F7v(ot-6#Z0x?9J`01F`@oprN#SW1%{A98 z4=}hS$80a5COAXdW3Qn7oB3ova07QlNzJN4yO#O8r8T>S?gWpn7^&?LYn*X3*qSTi zAA%tX7@>Y{g&3T$Pacuag>BrC$HXtG3-UvU^(<1#m^^mAEs zDAu=)G`YFKJx9->gYg)!+47sm5^ zgEcNUA@B5$bYV@B!@#^)nXTp!VOt-ucU(}V9{PZp+-X-mxWW`&Kt8EQqQOT&0(%kW z)pD;yUI8NBmqao!aId<8!o59e-=236Vke)oZvIeEg7sy;6YcGZNI21**~ICQE*V1k z&F`(zU-B)gGk$vT71JCu9w=4O{u1PUMPYTTUTqjB8J|am5|7%%a&g6>*CMCbuc}Xi z-Ygq0n~2t`HaMcQWy$UH%aY~t5 zyzsUuDoVaqsz%gSzCu?zVr#L8W8FWHf~>7gjdkd3xOB`W3nz{_O(c9?^SzpE^j-Qn zZhi6Z`xm8H?_EyZmKx*>Tul&M^#NzZ=?%lI^VhlU%^pP!CSM+Rhs*}@+9#c6z_OB zn>M9+>G-X*NGA89D6P++$-23T(0PbG>CeM&v+T0b=xU)&dXC)>O@ER=)9%>!x!uz; zDsf*PIg|KA1t9;Q6)kUN)J?Wru2LTeOmZkvA*i?h0Nc)S_f~}rkWQ_z< z(ixI|SN{w;HirBAE4^dgZPbtJ{_ij)$iFD|Fjk`u`G*d&ht}Pjqm;CN<^Bi}!CcnG zB4ZIr*@{hyav*Lgxjp&S2(KHmt=vu~K}-GaSfRoH4R4dLG3?hyr+faYAo@{Iz3h_^ z6(8^?>^oWO8d{D_wnI?MLE7X+iO;}e_OiK)KL^YX-lH~jigW2 z4tZLRmiUG1uo{*K?5rb0*jGW*M!BV?ceB)uRaNRhVAN*CKT5S>pSpP&>LOM^j)0M> z?GRh%@Ss+ed0}F3T=V!B=(?epJXY#V&mp(02H2hIy{vZlk6}jY3GYSAG|KhVcqHM* zF46Nr%o!Fc(Q^d`xUt9Y{27a&TCe%FAW|<2vz{(1S&+V39)#Kx4jkTVHG3>&agCG1 zo8f&qhx53|z`p>F7K&cL7fXzgpbX;F%Pu%7l7o&yyX77q?vrl9YYtXvMCOPlHGGW% znw>qT>~an$^Xm#4@%ic*?U;iM<0iacnY&o{BvRV=p?;b%+MrAAPQkvS+$yb0vmHu0 zn_-!X?XPTJUUBVuVov9M>JK9{=+fL-u2B`+J-|uK@WBG>O5OdJFJGlKNk`W^+?bA`_47>>~L(zHm=J_hEF<2 zZl#LC+j70kvP3fw7b-806Frxer^?CQn|tl({T(g8{nlU|=sNF8kBd`v#jHF?V6?(j z=Je=|Ncqw!cRba9%kCkPK4ct4G)W>HvyYPPqoD1Mj`oo=><%x!8 zZgSFlh#X&~!^ll*_%i3(u#!7r66^j8uqtphw=APnWu^aUJjh?Qu`iy&rZxqv?44St zH|4apfGD}ZfT@>FpTi(H#q??^m?bRVrn4!08+sQnSz4vTS)*pHb7p{%)6t9RpxJed zAJ{N^oM)?g9Pi9CFu&wbC43qcTcxz@QjGqAUe3gg$+acaIyz>KoLVFaduDkABvQ#g z^X8378FXPH(O#qq`eBBQZ*vj(r%xm$iO&Pe^s6fE7R>Ta0bg^{SYo}d<`&D}>7#{# zKXEHQWSfK2;B*{3oTmqRDi7L#8R|4(`1b_6i$dSE@HfLj-_zP(e#RRubQ{l{`w@mq zKA$7+K5;XbG`h4Ea)|dG6W&C; zx*8y!oe*OLy!Hx8E~eb%v`VV`pd2cUodE2sOJJQd8e?==+s9!?0t)x@*i;3FRN%ZN#n_S{?_mi6GZV1vB6bnFWw;D=! zhP)B(gg7~X_uWmn0t8_Zx@}gvS(rIY78dG4Zg))8m;Cyt^+b7}G8a$c6jb?24&^AZ zyov4J6uJ{y93aPSaIJVD;I-Kbp>r*xG2IRzjDOyVtf4~Lj$--r zB6J2cT+$kD?GgU~mFq3lHSsU8nn$T}5Cm)?Io!Dd*-UY5xd-H%P0nkd%N)QQxkDns z@6l(cla6gq06TSYP`kn|DafPI4hjDNxKZXUpRfS3*CNnzuX!Y<9SI5U%&XhOKLe-P zFu)djp;6pEIGO0YGmWRj32#9ks_=)K7VXU+qVO%P^>s0^^-8P8hj@*2%4-<*Gr<~> z{lE}cD_z2CI`;Qo6#oFInp{Thx%|^AkxPX0om>R=TvrR-b&_BRUK5PlJUltM!>yV9 zQyKMaMvTGINeoC^3x0;}R4ox}bD#F6 zw3obNU~*hn5X+qhq-cRLD=~5`AniJ=lh?_^AZVq-z7ZsmvMh#2{gm?_o|y=`+H%wW z@6alC4p%l#n892|w4Gz`L`S--N_OtKV&kHH-4&VFsw_Hxx3Z|$I9xDOfO%=czQJ&G zZ`C=-#!tx{C@`CelkAvBCXLs+Jv@ywDwEhv(BxBy)f99p6qS##20CI>YE$K8BU7Hc>D>V~x10X;Ut3aOZ5wNfSAyamAB%HgvzDDzf~{HPWKS;Z!pofDWap-T z!ld34*#n2nAW67(TtfJpoZ@rbrvY=ir&(*BFw84W*Gqr9A0#JxSRia%pu346j5axd z?1Q1)Zpp2(N#+3Kx?nr0(GbuMid~mN0~@CTJFFBbimoFz5D#*(uan)Ds*>xp9aAZD zI_DFij1=x6=DTEE=neTMK@|==;Q|0?5OJKsqDhws5E^vTqNqt4E?DWDE+l6?G%8Ph zu!mooxX{}jZqP)a*9W%_{A0LGbq3r+>Ux0&6qd;5&EGV@(AJsPMA@x7PI=oZX6TTX`A-N&e!fG}EI=k38AEaQs0nbmLEM ztLigEKP@HNZTTYi$)-L=Ocb50B{c})YDV7S}bH$;~}RP=23ClaA@gzMVhNklcA zHv&s^JA_(GW8`*DA)x4)beA5`nCCR`!6~z7X>9A6RtOFzb(A@rCUix!ob^JO1+CBC zD)1j3=&rs~Bpjew5$7oVjk%S3T4_4}0Msg?eyP$m3!BIjkW*pjWpAWl?xY73D7fOE zvZ@V^Huc>)>qygebBqWbI-pDgs^Gg6{fQ~k9jbLHjeX!DQ(8chcEo$C3}blpDtd6- zHBzSfPp4yu1ml-ne2QSVh2h@axtznFlBYo3aBahRa;WZRQEx+N&Q(VL05CryV?^Tr z0IYMOW7$&|a?eib)Y{-$0V8b}4@es4vDr24FAkHeA`eZ~b~W-y4uDq>Hs@*E3GMh% zX)DsRsvrh9`g8cEx|>JDbNR2;UEi){2DU=E(0APtOj!bcEoKp_*Eo)FcHDPP%X_!I z;x8RHR6`~+xGLIgZTgAA&^8EnRV1?JG)|JLkA`|4iOp=oO!iK5kN8Bm0CS|S8?9wL z^(O&RH0r(1)8ZQCHIEo{eq~gazzs2hx@((f604j+7kZ)J?Ha0_L#W41ep&DjL{8Mf% zEN{s%jC5Zz58#^MX6TJ4fAEDv>peMwU>H|w6t09KoEs~tR~$Zl@SSDRf?;cwO__Tn z?3(w@uzw^;wc0Ch=9^3+;uCBdNa><$#=0pfqjf%d0`64!z|kF+afK>%`!P~9!l&V= z(sL?;ZTHG|h?g4W!>JMYC(^hGAsN)=HN(}Sc1YJ{2+L1QrwrW%+V@uh$Od-qm=7pF z^?$-U+I_HvBL#uX{S%!JnsXX#-(}5p#K6K~v^3g2A|$U6&Q2k>WpL)E3%Zo*&;y`v zut4}1aVpv!Ts#lGEsQIgD6suYPTl&R>Xji(nwH=5Q*jj<>)RUSN@E`l=MeycpxkoS z=jXBy(DQ!2TSO)_5CAykKXm&pZe?uqdm?@NEU8e?)v5wPD1WA@8$*ZUuuS<7n*5w0 zNv~t6wdC$oot_^ihyv}p6|`inQ9ey{SltGD`A7q@EWutK#z0;lNb|~%pgiCqxA7rD zb&%7Jh#1Zg0vg}?w<>ceFgt%_1_PjeWnDk2!+>zts`lkwv7))e-3r}G1m(aW2^Np? zgY$45w^2IfbuzfGV;PhBrqN|)K7@iqJ4ouNaypa4nCyLHd6^y6HU^q>KbiX{JmjLR zF27XKMWhJ5-=fEn1bGaj5$4&-ZFNnJv=7A+tY^P3l%CR?)8wp zA~F{*lqf3-Q?g^M|NWeJxz6Y@=E-O%!ONZD$L9g47yZBuCmo4Jnt z7v3RGg&YXbBZ4iu9>_LF%HbqpD~>B`fAYvMd=}z;5~WJ;2xA`==dTZw=%@bxq(Th81H!_2JV1rq30Hw9flH5)DTDQg z=_P;g2t&+x+sJ|p7{L*E5qwMZhl=a!6)IQho*(`J4+I~p5O}IKiUAx)AE@}oE;617 zTl8gpCO_jpq(jZc780O`kYV9sc%)AO;GP_&WiFH+6!IV=`i~FLWBxPxWIQZUiUdey zDJu9Vg(AzppGyDO7xWuLAu?hsiEK<3FWvVdVLQt$0)5e8A6$nux`+f^Xou z5JbKeCUA)OYxR+jgT?r-@hUzm#eHX!AEk@*Sh5)SRkasHrc?;AHiI$4PbmDuH}zDn z416Es5~WI&Dp%5dJNkn9Ko1_CJ{Wvu5m%Hd3&ClDE{snK`bUCGm;Naaq)Aexcz;0g zsUb^AM}o)1WyLp`M8}JzOXWr6t3Gf@gu+}Q51dMYFO;9-$anRIEebK_zD zK_LA*8NnEMtCqq=61*!_lVo3wdr;hoVRHF!E${{kVOWc=AyTguX>p)1*hem8nNsr% zsf%*LP`Gm+1|CbMBoiz(G=fyAQoq1F*M&tq_E*8++F7X46R!wRTq(IrE{udiV~|=T zR>3mcIVdp~P^P8NBn`oxN3I2-n#VGUX!h{P>Mg@jT8}z}sap9j7D|X!6|lL8`f|d5 zf<8|N!19Dyh6viQO~)C8V3~C;cq?HMS)LLAh9wf%AjMlGPY(*32L~P^iu*#O)Ojv0 zrJDeA@fi^`N(j|MrVBBw9t+s$^Aa3*tgG|BF#iA!;R#JhRJ*+p`FMz#KnSQb zho(?eu`u}R1O{*A2>$?vF+uS7xIiUJd`0bsBclY(z%rI4mSluX`-+Sij{w}tE?s8u zc#T}fkvt}bWeDN@ne zQK&L(>RhXj96Sf#aa5;(G`|w(`hmKO@W#}BM7Ti53Zn~#4S>rtTU5q6i@M|B7Xs%Qp5uf5W)&3|7a-PDeQpA)V^aPS%C4oNZk=Ku z1t0@=v4hg?Z%?RGk82TgTFR3LS-AyDNKjTeEou+Od@G9=#<8*(+s4*w!EyS}(g+g1 zkc`X2Odum7m^;j|%Lv@K-9Q~id?#vPRf@*$6P{e1TQbkUbqCZ}A8`g?#jPz;@X#DT zJbmV-ZeJmTKV}kDprt2y#U+TU-Ds{V-F(eqi=?~gJ0-Es7q^v%;^L7jgg=T5Ouffu zJ}_iTV&ely^=Q0P?}>i0Sa|K?IS8==7|jt-2`X5l1b(`e=H>kr4~zhd6v~wsggPt` zhXfCw0T|cf4aA{r0lA%Nap!TwO=LHj4=kh%ut*&)B&&*%(t6f@_=4P1CQh$w;wa96 z9S)gG`kb2=?}=PXboVM9!Dvs1MxPsoZYP(uIB_aGB?6 zZsadyjdKRG)cb{;6BuhVRkjdYeNFr_`05~Kp$>=CX)aPPqPG1a6u6~%6H$=CVL9>M z_?4W5(-CJgOlsV+IZZ(xsDmpP2~ibuc`7woWNm{phD5>zC`AK_c@lAKUC@GPRO!d( zGQ9(Z3-A(-39h9DXAOf5TBi?q#90SJCDc)QUBj@l<^z9*rr;~MT$q5t?pa(zBaCMR zek05olhHUS32Kz)qPROsux1_y(P}@VaQZA^^r%`9XaojP6X6U@qe+MsarL6+SQ9kD zVXC5A%pe6WqSmuCD#UTTLD~+5UEDrMQSI@&?}l0y@G!rMhvU}JkX_Mj3OKZ}1K1SI zxW?=&tPh#I4K!ivF{YJM1-s7}h!|zI&*gJm-%cOIUW)tQ@e$Nnb#Q~TFtDt;2IDuh z$BoM9gT2ARHmDs%U_4c*A<2h|%Zz_i@qSB$rf~$Am90$B`irefqv7kAMrjCeHnB1= z(=pWum}RDC7V;;oL$?Fh_5etH%^{|q)Tj*L*gP12a`p+`)9@xM>k_^mk?*=K{{S?9 zy-W7H9@a-m3${wAS!WBI$-z&|u?{iL0ryG$%##Yx&*s{=f|jqQIqF>Cv++2Zi;l4$ z3HLOC@J(3M2yP>O2pefp1erKP!ZE@-=2bG`1HebcN|h>9uc$=wd}#6r#WQ$<0J)Ll zXpqdzqFYg`Gd)w5K{YDAH+(=B?HZ1UQh(oha_kJ1IlF$yvZn=c;J211LjM4tUlAJ& zl~}z(bO5zm{35EoMTbJ+3$6|G9|GOTbTiz%3v_fHCjR6giYEZx{cynI0+!hO@1|Jn ztp;D16l(g^GNO$aTuK|9T`c;;5~aG;fq%ZE&@TY#cD()w110AbRbM-afC~NMb`MM| zUoxv-60$L~vLgsApJrEyVNZeZ(xt;6CZ$T1;^oWmFk=`&;j$^<*%g+J7%DH0_>i)) zsa2S#8pVvU<0pjLRn>m01|lyjV|bqG*NqT1S{|V0Ip*Tz2G`}=O4m4 zQ&?r*ts`{G+R0h&U#Ae2L|z<4OL^LJ+xK@JV+GJ20r3y;kH8f!?2IUO3tGB*XEG)a zNvuM9RYKF^Xu?`0e1%SWWiBj@Sh^P;V6dG8SLN>p?1Jh#8c^GB8XANUgVc;Kgu99_7HZ zRV?GRjBCCl7B+HcnShnM!K{@;uu_7qfzC1cj6&FBK{N4>;XZCihMfGzBp8s?xL z2AqaJsE~|$1Qu^aFV)r}WG>g=p@y=VHb6UJUB20N$#96G{%faCQlvYp3tcO4F--YC zZA7>ns1WO$yQ?O7egX<{7dV4;mvXn;oO+4~TxoO+^`hp#BZ%jDFWELpL=?JU&$D`- zn=b~2_&SwPP-)I>d043lYNX5n$1^GQaWKUcEaKZL#33@VGK?eDe%RIbl{c4(bPb6IAX|U zubPUwJ-Cilju6yQBqP)uHZh1jF+ybdBO8ctH?|dHuT}#og0NwlM;6O!=7^u-Js$jL=pe@l% z2~z~-+>>4HEq>u*_dj<7G3DP`x&0zgvpn22S~!OJ09fEamS&}F2&Rg2Yur?ZI)%XC zSgW*TFR>#*7jzV~{{V5-by3I?$^QTk+NxlR?e7Q}o-(?Pc9*E39CS9yoMZh@fgk|b z_v!@Dg11j|Dp|(71ua}|N{wZGAp%#Bc`rANut8uTUSI{6{ zVwaB)4r?nne*DtQnyTA|=z+k|^TZ6k=0K-E2Yt%%DjkAl{5Xa-u7zNT$zf}~nUEU9 z(vR3)BOn|0PR&SBDCCOrc6V&aKcAU>7Vq2!*wz*EDhE!`M`B%FI3;T3hx=ThlRdoM z+^jZwQ2BkCLT6rq+WDw@s}2GDskqEeAs@qYE`{dQ5|BNNKND!esmlqhwqxd7!fdu@ z-+b``Wm(4(nX&jneeK5(2IO&5scYfArzNUv1T))lub~#>?)&O}&5JR%$gh5*t((O$ z8(_nqiM#@G?2Ger7?~e-C3gmC)jdY?5aWll*Th3%-CxoRE3^%Sis8`p3)74*TYQ#=?4bKK0mmsL>2E8#CEq2DpO zs9)Ix*-m?h6MJ}=mPE=Fxa4esM|Q>5LmWr{0K{v8HO0UT>b^?wOZtUUQ^Pq@%SZZ} z@n+xb5t-{rxcH_Ra0$6?zlKMj7Fv^Xkl8V$^UjjQo;6!1`h9n9L z<1ucW*)FAM+)HUr2;w(7BJ}#4p~Pil;S#)<%N7nDHy-1O_!DdDrSX=Y-AphB*da28 zon)wL)1gmeDvgq@l?87hnDT0!wfiZR;y6m^;O03;Bn2ZT$1y=?RekJ(BWCSd>aRpv zv-at6m<=0!%t05^TcvuHkXQyAmrc~W0_Dtcc6uN)cF2x7gm52n#oCgY8zW#J?gE;? z_^cF68)_thEih8C%W=P8L0n3a@Bwx>`^>^_D#uHi zsNVry%SeuG7%*`JC;SZ$xj@>Q8-8T87HagS70%TBwE~=lr&5o+ULtBL8()a!C}ZvE zl?iTO_ick%eM7+yp$xb%mkF4UoaI_3Pke&x_YmAb@bSfun*-qD%UK`yX#lYA$ zOre4b`(=fZn-Tse+z^jUzyi^B>+LEnieR#%lw`<%DSEYP(!S%DMmI}!aK!dT+QbA6BcOB|7D`CfIO9NB|@wrKND=58?fJo|3(pV|{fk#ISHhyp+&Td@TXe=dH z^SC&pmMe5}s1z$K(M()ow$js|u$BzAu#34@R%)T_SeQiMO>^vBJ#HCFS~%M;xo;p$ z4wigOaWP$RznI%LO7j5p{KZFYFE#az<{zVm``Y>&NN$O)`~+L?yT zQP^*=v4Xmz8%IfVB+kz=T%K~iD(gP09t*Vu2EE{|6it%=o;3dLQl?w`*yXH`VD&`tx0Faaqkm_2~h{&&Gs-bV; zd`d#GV^`JgF;ceGuH2yqyV||q@P;Pl-tNx1Dk{Tjdd8s!KLxAU!$O8DHpqwOZDkD- zze<@efU8HdY-I)(^rvX?$Ec}*RCfCHQ#JuuH#aiDM5?B(tF25!au99sY80h()}lUG z#5RCdxjTJMhOuhA{8nLf*UNPN;R*%4Yy#$Q0R5SBg6j6wQKR=|i&f7N8_N{kp~=_$ zPh0ejFxSiss=>+A6mp2o8un)Y0B6Kb!tisR<`C2#Zsss?*}uM`Lu+6fbDrS%E>X40 zTuu}XU^5lLQMU;xK{Wv9$b31TC&>wO;F2)KyNKf8tZ#fLrT?~{t%usvzK+mIq6Wbcj^cU{HhMnZ3AlJ z;~+0Qs@$~?*dtJ_Y5>5dw9H-SY#zl*UVf1ub#ZpfZOn=zO@E>>-WSO4dXMf+R{L)+ zLYRXJ=!Qr^Ks+tQO2@XaVCC8$nb@Smo$6lul|p*zUW`y!SH{zn{>@yE@e%`NQnT{s z)KAoo0m1f5Y9^fvxR>iUIKjOv!~0GW7kJ0!5ZCV4Z>ro4-M}hbX{;NCIeUVItw$<1 zo}<9`?r8f+e|iXptrxH}mu`|H88$!^H{&kSllgq97fx-TxBS|?3Y@UZU?HaDj@3=1?y4k7b~;z9n6fkR!2=JNa_CN zQqArD$Or!bBjN#tmMOZJoVa4Kcyq*}(wjS5I6LVwl_jC1cWAHW_Z0@Z z1lT_vOT?HfPlQw)v!4XEA+(kQ<))*d{{V?Yabe4uS!P)Pc@n5R{nTovCDAQ)0Ycx< zd0rA80#q!-O!ae=%+xLrAUL1?^h%0`>u{hkd-np*g+2EBOS$W&)cnJLBmA{4d1rXM z!8kNI=BzE{IGM?8>v)-zwm_Rd)UK2k`zvN4G%%Rf1Eqh7W#Be(Jsqaxp(tEa)T)Bf zOnQHbZK~K0U}G&(*o)e;-^5>P&}pYM{{S(!>bcHOlr9E4AUj_jKnl!aV+{-tS0ykT z-^1j8GTQu}V=PaPJscQ-r~%6hvOyish(4pgG)If>R}<{G!8Q0Q@hx!@2xYHKEk?5Y zlClR3MRzHxyo){#pdNx;HRp?%@})yxM}M>iQMFYmN8Gm%Q*LkgmyG3|e=&iGcXYhK z7}mn_7CGt9FG1BhIRI7&l}aO}U)DK{$XLv_vm((78F zsz=+4>L?cld$ChUxh8$Dg@C@Eiczxhb;P``513_?XCzfWes-;5?=GgKN>wyv{L4v9 z?N;t+n`;O!Let_wh&j~61-p;(W*xh;w*3@WqAzj^ z14%iVDnv|G6OFUfL7M68hzteYFY!JAxF~)eLuXeF9zanziD5X+(ob{2=I>_oROWI>P_&o7P$fW=vZxaRwB?J^clZaA>% zdFx%r6){gE)GWt5KZrjThKlKqlQ^sUB%rHyUJ_nJEPN(KH2#W% zMi#(#+~OEh!3F`xbC#D3+%>-eg}@QHLlUQJ0oQ>-&Lzv2E?l{C{EWk2!~X!}reN`O zog)>s1%ZFWQJgSmnWT=$$}JeyE;4B5re&7xTJ^K$H7XK<=2#$Bm{+if5#L5=?pSzi z8~H;HKxF9ok75oV>9ot$Q>)D`C0f^eu60Do+~6 zTiTtl%VLN|zSzX0CFuHaY3ELw31#xNIoa_}6&*Sv8*+^kg!70)8B zCMU&@VUzp#m+mQp{8YxE7m&$_oEF<`FKhE2z@rs>f7*sgNi+;*{_(7~n2`kmmR%TIGL7)t8p1`AraIbti}CiY_bJ|n;BKLgiss9OqkP}Fx2ZDyGF z0$EtyHdRMyD-d)$ikqKhX#QXhFd}%d+*^{0+cqxhECrkI?**YB3hG+=jKGGWkr)*& z!fD6q4OPTBXH?_k+!#f*HR$&f-e%u|7hbD$F<3kipTsk$VgvDrmwX}310}K;t;#y! zy6MV$jjR}C(EI86i;H)RjY>qP20we3R(;kD+{Rbj4ip*N2`;9wZ&3Aw>-(Q_*BVd` zzzPs8NH4y_J0(W772}+IjJ8!+!%vx8CJMOic;>j4DXpxXD1TD-I^JD7`%AXozeT(F z37{yo@T@YLE4}q|Ok65V^F#|)Y<@?w0xe4F!sq^C6%6?Bycg6+E~+f8SP{4 z%jfS8`loujAn8r7G+#c*Lm{?q#Agls&tSxK@FR-W>IGd;^}-Aay?$k_z!p)$?i@=B z@E0xSWQJ1pWC{90;t^225g%?-6>>yazBLziAd%`V%6})aQ>uPZR=u3u0!$1Fy5}*u z(TXzS6C=BCtjg0tdHvTdl7ci0Kuh?3_}2pA240xe8jT`4Grr*W*oA;NhwMLPJ@Ej? zhOoK-fP$AiSmtJwV9vPp{lqxJg*DH_rr!oyEF-^io(v%-S0-tn;&Nz;3=Ga^> z4_(JKdjJj81jPz!_&+hGYW~mnGs~DO#gO2eN_JeloIYV~ExhuDV!>@H;B_w)LNG=8hevBT%OfT_EZ{{RHEYoE3E^D9l!uw8u3eVM0s z3Kr+cB2vg1t*3Eb&ozb^{^kd}!y!*umldyT{0<g zuTK%)xYs!KEo5=8cQcq&Cd9W90EFlnD# zE)Km**>BXfdTZRJw~A#zTH-2C%%-NUek5qZ1|%R{b!*@;@EELv!TKosiFl91Rib6^ zu)81}X`j47S@=%tbt|C3n$1+Lraeb;K+N|M!T$i*xYHM?0*YYyUbECq1vp|+J64bF zHyxIEl9EoOW|c69|{l9JYR#D^92M~i(|$+KH^7yOA{vJdGk>y;W0gi1Uk?A zO^B5QPOw4?yTH%H(RM*GVg@cEk&I$egY$&9n->!}Unk7A$D>JWwwAfPpII9XN)dkFBGM*`*rZT=)O zxtfmi;D0mF!Js)_cNSNg#xwH6h{cnb9(mln%z2Dv#2z0mq2d3;045Lt00RI50s;d7 z0|5a60000101+WEK@d@4aUg+_Frl%*K+*r&00;pA00BP``~%7PhlKDRFT)952Z%fv zP1usWhk%cPff%AM#AU_cfe#Ub!ym}<$NZuGF#JO%Q-K}@*TyGMkO=r63ReY+w+%0v z^1>b;%sdmpDkM+x5c5$Z_@9A6DsxW&i2-P$!ElI4iZ`eZ8O>f(4=r(j31GY}{ttoh z8GnFB$(1>I2%aie_=tWCe*^FjB}~2+viPeKIpR#T1b8QyvkB;nADZ)GKx-z#UaF3M zT4;$A@;(SZ5PUzG_y>c*eXxz)VS05{ywQBs3)uBdn^T zD%gQl3zBHK?@$h62a4zN5j@DF3;Yk4!Qk+DsGbjl#d#TiQ-^|!ITODs!8tKuFPV63 zD(Au&(2kPjsiZ~`TOf;)WC9XWJw&7DN^Mf|M+%DsS?~iO?ppv)aYbAal}um;*|HJdSkbrOK=B}d zz!qQOenM1#0DQGbt(j2K&u~B2^!|H zbX;p}OA(5Xfh)znHAWa&P?rd?Wy_2uL&*{+gTO_~PXPP@{DKjLP;w{D+O;iz}2u4LmTrABYiIUIs8gr~%{}!Lf?+d4Iq#e6dO3D~cPaj-WP<{3uj>WR(-e z1SJX(ag$y~3O6gmxU~hBu2ruQz=;?-2$$6@wBy2)0xly60jcxSagKExLoULgh!ILh zI7Ea};H$xGC3r7o$jQXKz>9$mVAe5@g#Q2yegq#W;6e^uJlG2}m73U?qDx{`mX$f< zz?l~+k&6Aube13*IKURkU1B6c*!BV~1g57TVsEI8A-2yOxpabrtYz%Vvr*w{GptzT zJrx;>BdqCl6@@}scE_|0_=+X4)-y6Q+h>fzrAXP2iH0gveX2;;Jam2OQ~qJ9Yl?IfE9573uW00 zlAy|pq;=d5T-0Wh(T~_j;OQ3-Lze!*RSv|cdKzF^xW$|JgOecvAQus96%de>rlo5Q z%_arGSRp?Ytzq)`4;AE<_=lQ&t}xi-(mHKK6eC8Vf|dX*M%g7@0Us(y)JJ)WvSVDO zcucoAOZ1O5%uX{98`9Lhs+{Xd_r$g38-qUirQYPK84y#^7b#R=t!;1yBOmbCczG)3f5A`X>MYz z5hIBX8;>%@&36HyogoIc5v)i+<`J+EgI2r*rSwV<4N6E{v!RYkHX+r-Eo>iEz(M1e z16xwd3T^;hW6I+behF}SSKQLu?Sj(8)H5-51KcMJv9E%L6*3E_5{rb~+8b&H*vb)} zQmm!?Yw{AjEMUQdE(sls2}gh-F3Td+MA^6|K*gnRF}q^57cj^POR!8rU)qksGqILL zV&l;m!iymG56KZMjzed>G0d(n5b;&JD#cZJu5nbp4I#GiiT(0FQn|boulgk6AqqLF zU?P?`S_xd5yLrp3>Y^sjs}coE9NBR#SCR_G;7trrsQ_HyR4pP@V}>l}#2`5oqK3kN zrZMiy`j5Hd5{s5=+)n{`vZZ)ef@g%41Hs^U7s9*@mqWxSva?|=HyUCE>H_5@&ajJ- zmPkS*#Ka^}Cj9+JW%@861%y)2*rb-tq88x6_=6EDp~fy#MhX<=VvkotfmAC#S!w}G zmM=uI>hukYx>aTMfT=1^VYS*5LN2OTLTxwv67)HRc=c=~0a;Mvp7MJcpskpRVuJEP zX?q5tRG4fS>=q#;Nl;;M9#S3(V}**1N}|ujenJGV!zYV_E*=NOk%l>fOOfEgf?LXs zt$rgSi;rZurk9J-{!T~^m_Q)%44tZ3fUM`&yhoc;3AZYFWhz-m1kyf3*uzCxOwxCh zP&XCQvB$fd>n_T&4;JW{)DBf3htHyi?x!ZkL9JRTOKr$C0w|B5s`#teXzyZty>R10 z>OD%DXr7X9>}HX`D?lT`!Mg!IrL_>uV2=@rP0tZ{i4~ZufX%B3t8>(kPD_j^ei+M( z_=X-|HRXQ>B(D~Djtpf@$UAkBCnh0sDuIa;S#sRSi$TlYC0<1sbr zZHUJzJtb+bHPI@i&~493oS7)mf&93r5tUm-!rx&9pl2Rm03j3_)QTwV66t_xD-X>S zX#Gry4r^^14^Bx4zyu;@m0{GWKoLg##CE;u2M>kl{H*#YF^BgNLs62B%xS21sijM5 zhuIe3?G@6Hrvc?rzaX}R3vi8bG}2c`AeP?B8}2bg6M#n-#G;SocqkELCxSqP+Q3UA z$|Dd*iGNc4M(!y^OYlSqiiC5>_2!`5#$F@{Fpd8Jtf%7`UBXTjKvo9|vo(acf~V<$ z)~`^Ce5|t=MNM53SAIEu-@n9T^)=$qt? zAq%fyi(p3kjOeKSJ(vnp;+p3p@3S7|29qAhHs5X_9c@DBPT(%BRh7}c6 zUdRQl(h=^!==zL+x;tY^2c-gOcE!p;yo{zQqK;fAK7|6PJ)~%`EsWh0QKJjXJRk4~ zh(XH3#lmrcb5n3vf{3+~+D8(#5Gs3&SCl)8g%#PFr56YX;z}aENm@27f~cLY_`aiG z+Y$!!mIpo{;iIvQ35Bsx;l3+Z-Yq>(_4x^cs68@_gR+aTsJ^VLxo;)|`(sNuoEstA zsQ@&p41_ED;@G7sLD(Sxlsl`6X^m=J)M<2k;fhkbjc4RfN`Tt0FK;RZM}+~^6#oFI zfEEV8pOJzsRgGMG&(Mdd=TV9g)|nqU!6>+`tWF+%MM+=Gr5j^sq=>i4238YPb08hq5R1TYvV$09W%B)P;NNVb@_hUSrjG;R>&$!de{DT)twvfc_{ zm}kzhGD8Z=#%9rvDQgpwf+)@k7%!4m--uy+IX+b1Of{k8gW5tzU|NN^t+`1c$&hsp zM8!MoiOLlqPJpX@++Q(mqP6e&B_pB=I3vpdw6<`)_kuP634ls5Isi{We0^L9q5&bT zKO)$2Astj^itPcfuvzgVhVy}Jzo~S%G?RV7B)P^BHDdQ=8raxkA#BvR*G0e;5Jl`3 zSC}J(-A1qsdEVd*gbN}v#%xL=PW+0tm17?7l^ly@lZ zSvH73J7pVWQl?juAVEGEb$1SmsET(MtpZD^=xY0dI7`N0)HY&(v=lS}6g?C<2jbVn zHK?dvbx;o_Zlkg7>*R>chRJ*C@%o4_*||+yF#h) zHYFYtwTfG~0J&L1ysLtrHN76=(#92f(~d{2i(7+^){c?fK?JXUvhyF(AF-Og*H+fS z7E*1M?!b*-c?k0ANl%pNLagC34;es1< zxx_8F!zzJPh8Bm!X6UxsUhOPjm~Z{GL3*c`&ku8euoVs{jeH^H1hb2ZNWT>cbKKh% zA!%qA+X{o|tzt7KlFc8cu=|JhpaCytnzwDYecDesyT<7D$=dOkh6+$F)kE-jXgpqaHv0aX$B=BAuD&WNhCTr zn{X~IrJVN>X2iE_^-(~rirN!9M4<#ku?-qy)vyfC0dY}7;!N;fMf?as@mYQ$+^!Gb zf{yq=45*@W)Uk{jQr=^ZQsAmauekbTH8_h!HGaXBRk}YBJe%H10b^lMyFs<)E|Z8; zaXz$L6dvhIj~P>F1NBykO4Udg##=)#d{j_@=u7%rQ#&dH9@Rczv(HdgqP9wf=?D>O zg116bQ1^f|gf9TCuSmI|Vn>&?Vm?Vg28iBN3`ZtJ5E`2`J&D-`wP9_X zFJ8Qq%762|dmnt?9M8#I*Q{B;bJpUO2yyS&dn@3kn+a* z0#IU0cd9-rcW{gv)PX}Y!w94rFDw4?^og+?!4|ycYjlITuC2RD`TFEP?8u2c@XQ9O zF?qr&mD3|@AcK=+sV4n=JLI{19CUIyqJoi3GI&l&B)yS%${bMZ$Ki7_3q&}E<~WR& zP?}jpd0Ie+h`kVCL-i6Ea&{*foV$<3&QHg6F9+#vLEH!lk&E&U(-g;KojZ|x#ow32*@+CD zTU;D?&9Mn9FE_Nr0H{uHI`Lz!ykYILki`5Q%xg|TdDR|)R{o}t#*E2ui{! zlNh(U;`_s}>cMN}VlGfeuUe&UxseqvbA3RmQ(S928Eq#|a2d^;q&Ke{Pjx#N!-X0dlp0SJ*e9ES7a)DLbRs z&Lw~5CS!)rX2Q;j`of!~P)j`jlEt3&>GGDN`6OnG*FLSFtGK>8YX6~7ZP?x7SH>Y; zA6TZ<#$*>3Nljh4tDQ~aeN>f}jQ3`jEM2>xZo%(M`1qUwk0!h^O5o}quR7?KaAI|>yW&sN1XOE9HN8jULC49z?T@9QSGxr<=66(I4%q0^icZRVt&?+kT zyaE<_x=_VCA7j&^>2RxX`_CD{`|=YquT$Q99fw zZ2nncxuJdJ6!alBDIlXV{#J1&W6#Em`Q$c-C`53kx+))u_ba}C*-3FitA@$QKu#nt z(sNFp3Z9CA$PMQ-!`EVpjaqTUzVUk_9m3y?QGUUZJeY#yv7l~VHT!Pab_Yf~Xxi&GD)ko3U7+;ivG7Hk}FHjn|lZ)48 zicjIf&d0N~GyFWVeuM4oKDUu(%0b<*QZtNQOLU`^cEUAW?mY2bf>ULrn1czG8@1{z zA7OBwT*c_Byfdy(@{vIY@pI(IUmAAAwX3cXQ`9o-`G(J!UrRr$XEk}m-~_~^{j$S$ zrHJ~*6+d5U9NpbV>NO^^ktBx0%JosTB2(&}mMd(1S79b5#2tg?`b=7t(ZtQFISYR@ zN&2%PbmG;peDf`Ft}VFxuZ$i;8*{{ZVVWf<9;^81XT&{7NCkq(ACM8hX!2^uu5LQV zmg3)hz?n-hO|mex7#~2xB&m`&SC(geRo;TU$I$?&{>mmD)GyQHBm&i)zM$iG7xPL1h1r^BBicFLnjLD44LvqRPs^k{ZS$fu_+X3Sd`wfU`-K3t9A>c<$4ik6F7mVrg z`U~l1M;=SpFQxecfCV0RCLyKvxGSD0xpZSTDIZZz8`P!Z7Vh6H_?0K9;Z2OgbKWt5 z#p{mq91*Lv>KHv1M)z=&p+xtOC2A}7%EM5Qm}s^rtprb$(uP!;XFgrx*q&zivaT0x zB{gs9$)6Yk!k}n?-zS9~SrmKyG~#Z->1ZY|_BUBHVzxhU^2~>62*2m(xg`|(nE$n7 zDMaZM(!=`p&iwRo!fvIA6Di_<$djcujDnD2>71$P7m0a~s*h!b^}ZbwFI-{KqeS2q z&NQ8?_mX6jR3{jI0z;;t=j6$7ZqMXz@Had27-Seg^^dBtGb868Cb>$ZxC==pdV`Y6sHAV`V2Yx1y4zZR zwY4jWBoKCUGCqeP`jUwW0m`oNEpZL7%+UFm6L&LVxQe`zwe}0cQ!)=MKM6o$H)$a9 z6Vsq|4E&@L{!`2DOf||{-vhR}ruXbk=dMn!$ieoM^jjM}Wn%uBrS5|EBegDK@J3TW zVkej36?9K#X=l~#n;g)DvY83aT z3Of2#?LBvz?!2kB!eO%&@no_cj1H)Q2$P*~t*e*};+WnTyDyErw%>U6rco=oZ}_U^ z8e_`lPi#9zsWGUnetnAFRqv&k1$yfQ%llT9EBeeG66Pjp0c_c?u6|TiW#7ePSF7OJbYn}cP zb!J`~s|Z;cFyw;rC{i3g9d3q>a5m_X5fhn-VoFB0W%HjTHe2an$Ly*;%8;TxMm>+2 z0B}pnL`RU(Z)^LMky3<{Rr!=2WT+x+pEt`5CmGe-C`c~`(ks$wdLjj1;+7N?L?jqf zeO>2@+Qqgb5AZQRA(mqnNaK0;toNdJlWdpWU2x5D2hg@;_yWcKcIOMoym;>8&Q_PW z-B-REv=fBNElNth^^oJ$F>8>s5K*4*8YKwIC0P!#po_1*#nIe1M&oSs?D>(=+bNuE zfL}Puz2vLOIB2kpf$6X^{V1cW+6s*LnVBP&_-bj-gNotNIyyM}$3P7w7%|m@SzSYFP{tv(q+pJT}yiR`fA3%cl zS|24eeR62GxpYH2kt94+nRZAyz6^HQZxHcA#|3rcBp2v3PiOdK>&0cn!%2@wgq@CV z(S?-47jyYL=iA$JAC1tcbVeDfamuzzZ$jS`$CuG&z&n4bOU6-u->k+qWF%(xiR! z_EtCis%Gdl1@Pv0HT`zcn8$8q z-8>&;%t`keHN6o~rS5(I6!o6fPYIQ=lb64+-KE8MCGBIEIjO47N3Rs%d3NF8D9Jo} zH(A>f!*zmo(Wry9ru{)H%Sc3^8>TGFeta0&$rk)&AD9_Kj z&Je~v=6%ZcuK^bbS{PxIXA`?KgUA^E#=lMNuagmMSsP7ToF?sjRs;7gS{gxE$8gqY zs$^6c7*-5cm^& zxBrp!4?6fV)yu^P4l|@0EI6po_LIRw&47rM5RQAdiGBA`yo}cDN$#zV+EPbie$IkR zXbKoNo#YOjEa#>&*4b)ezbWk^b?;A7yj*)Ar*YZ+EaIOdmaQ&d{iB9f@f{HQ%XpwC zV(1tDw(zeuVK2bvq_A=WZr(F6uggSuK$n{Yxein^>5S_NXle!d157O6HU1C4xTt^{ z8QFA&`-;Vom4l~ ztG6!tfDS@{@$)&uh6^^pVA{Z?^@*+8>HSj5;2!hZo2hCV4g?(~xol^~H-a|iBZr5z zK?RL>b&gW9v2_v(Mmdk>TFP83jyk55%YxDlEo3$E<_x;bt?=B!mLx=}J6;Lb!=R64;wW0%_y zTdZ)wYIGEWHb+LjkhY3pUJIlAX2)nYPx0M%dSc5~<~!36vJ!exb@V38*871}rMvtu zSThE?4D%7n74Ubz%bHU zXV=@PStll{g3VJ`vMmmBN)f2Mh~{+3eAj375c&l7D+iRQI1K?$8Pgfk+^p{v);=%kDm7`Q&C^w0=s@x?s0r6-x43kg$Bypv*h0Ii zQ=>&!6f=#RCq^>l=$I7h0oFwlsfCLx?dOrdAeGw2li?_Pn!?a`Dh505IaMoJjp3F1 zW{vSPG}c+#ggoIKRfX}BJa%Y;+k7@n!_FT=WQLS2R%Q8O+opw;c_+wjkKWe{&A2UT zOn!?;b2UP0$u@&nk-io{+H?q#DPmF#GP6YLA`|`;F?}|l>o$mEtunFvV7_SD!&8po z@)vMJx_^vZdD(u=)~2x%34VqIOGX4s%bW$btCBgTruJU}1mJpoe&I!&uRvN=-=0O5FF4I*15^{yX1IT`zW0<6cpPEP{)&7H?3;77fG~S%;3@%} zPapR8pNRR51haQ9-WgE(U3qN9Cv#>yC{x}Aq^>=_iFM7x*|t@&2RJ$$AzvH6f@bvw z5ob3}Gc2~D|I1avCCxIxrPD_=yYR^zotf+jlD_TKI5WMU$;yx z*Q^Mr6NqJk_SOSiSgo3XcP&8M6Io9kOaatPjN*RBoEIOZyqs{#`b#ruR|E5!AjXpK ztQ{{A{=k85>_Tr-`fx{|0~(RNAzZtiZ(ZWxq=l}D*@_@@a?NGsc=W{*xv$wif zFfGi%>cdNf4mO_`4c%rpIkc2BkH#p>u7w|mc)WM7%b{hOv`9SCnN(rdu~FOHO8%bI ze+*0WQ?wX52YTgqJTl{s_j9G zj{pj7gYt;@f+xOaPAR8e;b1%lUsgSSN3?t3s%X7b;?dwHlduM&*Gwe`3GDA;R{?h; zMf6wUJ)uN(8HzvSnxhn#(?!31d~GN18q*&7!;@NHc^So2(a2p>Se^dUyOpC|^}_Ik z{LbwxS7%S)PuYR>cLK7NfUes1pT3p&+3kHNG);LGh7*EQ!x1mx%vutWI9bMFh1_U6 z)128Sg`={(z{kh9H)s5u07L&_x3W3Ig!?v2mISQqEjQuQP)+ zh_&>OG-Y~DPzs|5VEsXpactW=)m&qg2;d}m^W_MSqm%r%)eu=}n|I#T2pKfQTP&9S zT%2!mQ{d;J8oFZ9TSEFPkZuZEgoXCvuUv`}E3w9MB>mJ@>zJs=#5K-tbiJi^{4!&k zI8HnY#}z#+Y)W6RF^8b8AOwJ|f4IL_P@NKuLcgZhCEo)T0a423N~fwaTLd*Z#P++n!6FxG$u=X~~ORXi%aez8i#g$nbOq z%=n7};=Mlzu0BFc8mqHhJD76)awIHWdral##gUAq!sH7kIQHx@j)`yLK7)*}e$4j8jxt^+nkh+5s+C&Nve?SGROk)N-EZ zl{*ne&70qOiKBV^J`DW_FFB21FZ;zt+8NLvp zneE{sI>yyNix-VgiODv{Utt=+(rs&Q1I(9BBk>(xhEel()e%j~CE)UC$sml385BV$ zPXh91nA%Blb6%Sl#h(U-piPd`E8{f1;SHSy!*#4BJrJegHRKmi&t_|wqmFwfs1irw z#uz$?qDjrAtI`2$KOaK^cdGCUftdJa+n~eFO@`2r4cZuh zzjCuX!vJ>jadF07d3(OxC7hzxHz`%&7N&h;D}y>2KXzl$kbk*wob)tl+|xI!S*YYc zW124aTqOLZ?e29De#=6st(+e&(p9i%a7A3T!>r4|BJ~#JgP|VI+5_J)5Y%#3$Ve--%28D}$V%t2 zHn3AaLIRc;P7DoZ8q2Rp`D##+xNuX5QL}{~6A`7~uK5x2=USRS=MZKv8JCO!3m(@j z+hcrvx^G6EWaej3oN9T211ra@>=Vc?i-Hz2;vDbT9&9i-@Q&0Wi4)-JNtIF)2%dIb zQkhg*eKsBS=?L<8FP5rR2n=8F#40z)Q+*%+LrQHJglQscq=Xv`Y5bv*s)wAZtN6aLjbe2ge^fNTFq@(l(a@o+Lm$Nji}rCN2avBcC7WVNO=w&#%HSe zrt+Nau-*Am3#^MX2)6$bFF^(` zW%8EL)X4laN4cAsG#LJSXe24;)%lB1*onFwnj&hT|-0(RM%?)^`(+ z)9BD<%U=FN+nrDd(9}GNA&HE}Cby`{7?pSS*u|rt$@Qo)E&^jeW3Q{+D@XCA^63Nd zxZ=0kRsB6)<7%58f2wM~jO^6>IBFU`9ihclWnvE!rRUhv`v)wXSQax159p;%2@x8) zQLKiy*`s1;$P{$bH)p1=LT7w0Rddowtj$CC8mq<+-oKlofMQt)Lz9fqrmZg`lWaf0 zZx&)is2Db!Ofdp*xg<8?gALW?x|oW#=LdeC0TJ8`))mV>p1`t2{L<5`&)4h>+7BiR z77j7rxK9T(r7&2A?p=J0C9etGMX{g6jN&kcMK=oY*2sS#qFqU<=z{2J#$A|imryB5 zi194Hf@Cgn?}O>HNa{RiTeG43x#1>*dNn=ZJlbkq-JDMK{PC(W`SRV}`QORH15H}j zJJsU}>X3DnswE!KR*&^o*kUc!`b#>bbWGj>x=sXB?f@oPPdKh{vnbdWYVDuMn7#Yw z%nT8@8WGKbVA!4y z#SluqjqpKi@g(1A=@}eE+^p5hYrtK(gkNJxPdAi8><&KE3RNe+ZL$bxd>A9L&2k%IUOoE{pv?6_UZ9*rxx}4QtpT8;#z#eWzHiDKGeHnME0c=5 zku>*<5jHOxN>M@hEpuC&*su-t_Kt6Q{hmMeSfSDJ687^FHgD-(Zbtss{{^Wwu)NP{ z6MiUw(do-AIOvz5L4z0S_8Mb$Zw2EzOlY2vzr84R9}C__*CAN`0~~{tpv(x&d3G2%Y#@F;z9P>~1bvsqw=g#|@@Q7Gy5aXll$L8Z z*>z3?xnI6$_;&mh*K)^ie8$ZjM${nTIi$&wbAZ;h!6Nz}GWE27rH)H|4E_D36)tsa zHJ{Nj1isR1wfkt6KSeUIT)a*g(NvUK-ku=uN!Fg?)O+Sdv$yBu!IN>|#fi~%*r2OG z>0iQkim3Re?8@X@m#9NOBk#tS7)pGZ_m~!)Xt%wYJ9lD%1zqP%YLKqI;@6tfB$9FI z+u4V*n!Y{Ok%j7N(xdM41DE~R%_%r$9M$AG$Zs0bJQ#OFF>hSNd2tO1)w^z%8ahfVLEpY(>C)g4`6H?nz z5Vr?+fp8N_M`*OLZN0>(;#X@vORfTwED64Vu6I-sH$N%ya%{cHh^I#u!{8VKGOUw- z1)uPpri=I3R=!splYID`Fo}n9Szh$pO0}E#-}hI}KhmtmMSC7OT>h$SSh9pPR35C1 zq_r-88IAt~F+^<5i^@C~e>nD2IvOo)qgNg}xm;|qEd~3D;}S#i9vRmQ0L#=@<$j^~ zi=n%`<_LU`x1;!>mQQv_q~g@tG12S9=Ykt_%h`>m0<22x9LlHNUrj8;>r*z9xDb+z zbq29ttm8m@IZ6?ee-&+{3ECgip}DGp?H1?~A}NpZ>(iDe4}=!;ZpwH?>lohZn zR?oh;j>ZM=D*cdaQ7@E^P&JBW_eT=n+d*ow#7GbGyxDwZ9E>qNT>Hz&d}E#g{zg5} zUTd1orB{$*5>3y0?f?=*}rxCG|UPWo?2iy{kbDAa^|U6L&0 z1!~VQYrLn!d3nmq^yUx6CS0)k2f6FkYOT&Ilb>49Uh%PIyi=;87ezr$D)UIww1C{8 z_n+DIe;>7QFSJ&q#aC=;$$pL^`(cc5j46-E!(XuR_KEL~tc(u|y{!9{!{(ph?oWFE z60n%Bfb!rC7Dt4OwH04PxP)0^(|F*^YRU*^;5HQ6iw(3%91JHjM}b~!KS;Q!cw zP(VOb6u|#nC_n%z2#tu4m;{}ak%?b`j9G@|e|peB04b)!*`}|=TlYfEG{j z4_J3wKZdR?B89aiikpioI<;t;jemYS&HIRi^1s4ajlzn0nz~j)_urK}yk|B@!~8=# zlmAjHOhoylwFL~8v2SA|ICQXdXB@j}*(PpSA>Hhe!$(cGv5=*>s{UjgXK2$?W%8^& zVjQ;huSc+dj{(N+S^koyOjv(LNo_tA!l%Rp{g|=s`o71-u1cybhm;V^5>WWq3{|oRY2ilo3+m2My%;k<(10(URUPtUQ%*HDf*Jytkd_?p_ zYkh)S+r#m$R*cun?Z3fsUZ310u@^vW7p zLrp$z6pZZw2US>8X~Tlf8a>9YM)tKDTW|m`=sC_W>w~G$mshKq`1;%KPcFs?uD=iV z9bM3^g6fDV-z4%h+m3GAZjX#s^Dkl#JJma2lH|wo)k%|VQ4Kgp7l_WsWy5oze(W{gX^Z>UJu8 zAZD*Wqu(uxKZ}(HzUvAd>$JbxPfun-0)v~|$>Km$_SNgP51T(|LhCfx! zPpsr^1-c>K`M5G2%C2XdD&_Cj-+c}c5}8L!D(kn;Lk>2ZB_9|3_-c|mQo(E%0iM26 zcHm&6+{4HBb>-zQ3y?Vq?H>g^q}YXKNGlPdg1;l#FaKFX9x=477`}OL_)FJ7h%mz; zElZDt@eDARD-NOzd%l@|h={Q-tlp@p<{NK;_{Kl`V-m^r2eS7f-jO-8)VG`8`i(P8 zR+kXCQ@)*slOc({kdOm=>;XDq?8_%`wWm}Pa+$u0##`Y2V%fEtZH2ifN+uW(01Srg zqmv-i{{4}Jh1Xwbygw?m@5_HWA36{T|C5^7ury`ts3KuZk&ZsYzwI*j5o&SJvYL4S z?rwaWuyQ`3V`{C(=0`WcT!;rh&McPP*FkbcCZH0 z0$1)Z-rmX|GkW~}{$h}NmGE03{r(@dj`}k*3r;a#Pp7@0X5F45frvrrtHV}1lY$;k zSj$*fVGo8WM+bkSwAp^jT(RRfuZFY=XmCpidouhP&%~`Dms7k*P!Fuj#mm4w^(h0u zjC%IfUyGsZTco|BAl231M>X@)fx4!~j_=%1sn91l2wGj#0f&~5f2@G!8vQz#HjVu1 zWA+UX9p3W2|5Wcry|b^$Zup_#$|$C{KbRu)aar*0b%2`e`qhnw z|8|~RQW1$dEa?URb}~$E7%Cdsxf0e?3UU>w z8G2x-W3cIv(Rz44To4&&#&wasNXkqmJ>!NWjr;cWi9ytW)IeCG(Y^R?>Y%#mQ`@mI zae=x-Th*GsJ^_6)x{5P{!^M_6VSCe%=?`;SqS~M#2(H=eh2YjWZQ>F%@I0p3A3mIR2Xm z{$26ot^UmF>aObY@4QAEqcc|!wAYUvw5L~zS*<<_?F70S0m29~^|gFDSGmj<3JG$P z$-4Indb~x_QfYcGW?awtB2TPKV=yY$@`X*ofdd9@iQnRsAk1%vG>nopl zg|dbF?&e!k1CWvXo15M@Ssut047OF zVwf&xU0krRrGhT>p@7fMQ$ab&tD=n4u@B|nq_p^Hl)c4BGYGt9xcZSQ&8(u`tbAC4 zj9oKg&1}X@A>Y~T(=cCH{7xG8`~%qK?5~lEJ&a}AQRKY(r7L<#8&Rv^tWd(#QDUk0 z>hpA)2!(NAK++G}gL`A7??z8H_EDTE%5NOZzdzr;%pamJ^T$g~0uU7)4HXsb|IHsn zOsK>!WeFtAmLNhw&xj00ewnfs7VRN4h!^QAE02Z$H;$mc1^frtcvQP>|0nUbu`PC0 zAd8quUGb-mSa@0>8}-}ziZ=otE-{HzZB+`sgoe9{);6eQc)zoK&6+x#gn~tzoiAz6 zom}5EUwAk_NUHTD8#Q(nD}EA8=B-sk@z9E+%9-M@BA%oct^UYAF|sIhCQ!Bpp?HSe zg+?#&G#0!hYBB!)^_O+4k}a@shKHX`U4`HiV*O_z+Kdearj{n2tJ*V8d}x7Y`hlw+ zhH+xI(Hj>1Pu(Wq%Qs)RAG9)1Max(!q5Z`dVOhv>Po6@oSacG+eBxAC|AJy>RH%j3 zvPWh>GKJb|0F4H8Z|nTlAx7#I8?s9ZWwDH2UG9r=bbn59NoX}H;OC9dv+SOzG^1ob z-ij@M3Au7ir_~;{)p>*#1ngLnt$?TV zY9N|hUyy<&{A4G#ybQTzM?Z^w`N_deZ|$wrW!Aq7l~$=?Y{QsBU7TK%+H4A-lQUQG z;&OI1$Pf9lbW@L`v3=r1Oia}oYvmG?u_HG2upQ-vU500Id}lwO)l}P25}k5mDPjwy z`7+Gzd*j<~!7OpJFbsp7yMO!S2aPBcy|?PvXqiB?a&*0e`O~hdglAc)8xpSQca6!2 z!k%x06XEF!7cbx>q19&&h;1)%CkLUVpn7ugRLK(6esl^_9@mSW0! zpIquxCry8o1H0-D<=u} zZ=D}E{#qJO1P1RZgg{;rU{K;Q_X*}buVnHiuiShYA>_L&)U)qIW#i;)CwL5!)O+~3 za0k(Tb$ctFqB^0@Umm0Dz5)h(b|D&5S_)O~iIDo>Q6?-RrQ<^VmHf2{DVFi~q+fFF z>vexi{eEbTcQ;$DxcpUf$C{vRdgYgxzmduZC=k-*MZCh#EYR`2p-S4$TN&Q9cuLv3 zX6%Z>I9g!&Hp`k%fa4l;pWJwEu~1j{JW}1A^RfU~7_hP&^Y5KgpR?3M!2i@L6-ayk z@`lH>c{y`yyhzCPa1TTSp8cQa1Ro8sSrM~JBZ#&wg@=Bu0$&kQ$E*JUZron-*He^Y zpbr%M6z+zwb{lW1`pc8f2q2#HsOg-mFOo}d((DH3WaEL2_ol6xZ4_yb#E60lFJrz+ zi+xrjP$48o_Xra=B(>K6359bf_nks-x$ z5Tg@6b8qt*IV;R4L)XswjGxwKxEr#X>Ga_pPG?Y=hdbkG#c;CruK z=-KFDh91_5lE8;6%moZCw3Y(pgV&g^434cV{+Z78#%q5Tzb_EJ{94HZH8k)MC<(i` z*>DCscHF2|Q~VNI$A<@=Y!{>LkKRz}Oe-$$_us@NVmYG)Jq&fhH#+n#yK!HCFsL6P zv#S2Iyu=%|hYC2 z7b~pCLpXUZn_bgJhP=^kW>^u>b}jG=Qqo_*T|s@V#|Ey;?$%lJS&ow`@(1Y#b7HgRkZjp_n_|nOsK!_@>WD$+pwn*a9snMM4fT_yCb(FfFx;^qBY-~qm@8BL@Z+q4HZWmNG-{2} zsym@PsT%LJ_BAR=)RD+<^;w`rz7uG*k_oz2Z5Zods>a{lViO)VILK|3y3Tm(=Hg4v zbvFTuFfHqo!1d~b^J|iEwInj*LA5VX&`|1rsS6@$gu56V$~*`A-7oc6@FFKi3}4@e z>$!hdBo>zr-IA&Fd`gI(A>Mlh#0N(yRW{*10xt?J3dfcib4>UzDT@xgT>;$GK`}I% zX)$&F8*f&y-BKbQL!HEy^f0s{6mbUGLFyW|3$CV`D-OU?Cw*~pC#HX$Db~|U7ziux z`}oi@KcHc6ckE8TOav_*#fCmw?=n&=9|XU2OF3esuaMHPx4?-dA9KkeOTEF*)^@C_ z{fzP&$Xk?tqzwHmbegy?6xExkS!rR-9C1qhvr0q^x*?~3BRsw!!VxFCF9Q%Jx5i5bCW1)m(yeV#K>@w?3v7iF@&8zF!3i>xt<7JQcNs zu(cgVwuzc)YV}ea6eq{GZQ-eCq79qgw~4=T%KLuhhto|7^wmJuNz9r_!y$jVO`v0Q6VpMq6+0 zI*+#0?UsaqSk`*kD2w{T{ow75s@+AP z@+eCy0r;?`QO$0L+rY?pAVa{9=Ck^LfCzta*Kapszem0jPu{mkgj#ZVIXa<2CMwD5 z%TqFZtO2hblT%jnrEvDE(LUxMj%`;5Z7bY0Is;6MmOxe8x7>H57IhI*%$#}T(smoQ zoyDC$7?SHupGP|xp-9W!UoGj9V_v{IT9nyRU88j8{AWmroI>Cs(fQ6njO3>T3mURe zX^d&pLwqby&cE~fi1!IQbGlNiw?FO#bhF8lv+-_c*QPJ3zvf*UGw67$fy=OvhHTx~ zwUrTIVNzLDqi~=o|ny^n|+KBQEX@3asnnm+NzW z$#t~~ig;%Bg)D|AY(v%P5?UmFd7Xy~qJuuIJC0Wh?I4v5j_<3C0}D6Y8W zP90$+zAp~-VA=V%%AK-_Ijn8xlFp>I4>){jfA6sQgyowO)PGUo#OZ{yh6c#CLvbr(6%nha!hjN^W+5XrDJ zK1x>ygvZ<0-_aH?D7`uOB|q{BI@(G}&ksln%r6LBqPP=@zj`NPe<}PkX=kAMMD2R9 zb2Td?t=?2xUh|ejMU0KlX!h-|g`+~{|zd4Cg zosyVr)hAh+;Zr32Mzp$mSj)P#AJC1QFu1Ut@<*RDLf&#Snq}AGvMK#Vjn%@BX`$@Q zPsrAZ84;>7lwfw0eZ`|l$6-AX5w$CMMzDmaCR%4=Mvpm8$YwiQK7j)Y{g%04Af*<0 z=L!MohqXUSqj+=b{&WxIB;u$TLl_6~6*;yZQR8jvOcgB##@-W{t2Q*;A~$R#fTwy? zk0nYOww^9Vo=cvtk5ewh}BqDfKm+No%F5!E?lUjXVC-Z`FDLNR?d&F*gwunf0oPmXo(}fol6g-`w zhhMy1id0r0?nkFX>;F0{c~-?sg+BH@VYsCN8%iV5Lc|HqY};7V(~XTKr@0xq6# zfE%u@v!?|i!bXc0DO-=I$F0fj5mqO$pG8SOi<0D-?ZVrsBeh8ABXD@4=&P43dCG3; zWhhDfm~%%fmraWl%kbJIt>-EGiEvJHOM0qCOG^?_c?v}G zba;xwn^D!wgo2wdUT=N#SSqm=!5(hWjd$_nmMVZ4ws7EC2^N2tR)xchWf+zBB2-kH z5|0vmW11VQ7(Z8$8wQK4TOlV9J!?^+Z_-t4s;mX8o!Ud-$J?WkJcS2xB5Mgmu=#T<2o zS+(KUQ)=#{orHRyq-EB!?N;7vyf-FtGJCBD&9-iuRUh;P_s0LcB1gv&L6?o(jze%y zwkI=D*BjHRe0SX>Lv#p{scEw^eagkv>muKP=kf$Rt-HSK-uUGH2ivZT?yX2h<5zp0 z0yC9OQyfdkX(oKejy?5_1Xx-EO<4Jf1SNdzw<|!67ey}#M+3#$k4bN|?9(b{-0;LA zwvb@l!>Z)&JsfNt)TvS5+Ou8UpsY|gjreLT?F8*M9Rij|Bu5sq=~BIe<~`L}m;3x) zUZvi7yJBN(`*;n`{3;IPF=~Drn&;*)$jHA**G^>`e|r@^6n5lXYbrG+7TMWDdNYaz zDKOEu*M_x+3Vf~#rS8Go<~iZzgbDRV!wqiL~yZ@psJ3wWeS_I{T%CJwUono^cqn^ zdVEbkR3Um?Mug0B3T*&%&@(%;NHNu+T=A)_%zb>n zh%~xx`wuJs7{UikIbc+X2V;cX6Qp-IH7BAggZf+mQydX5xW!S5>gn+0+zXuxU`v2%>;* z*5foccuP=qKxb-HI9uL3wW^6bqH}CGa{A<8}{-iy3;`EkoCiIm_%NllFPoBept|IoGOw z|32OsEGM_=OF%%EJbOSF`&90z!F{+VniHMRNQO1_qWZd;{_t=3N4nJ2biZWVsSe#^ZvxM! zp>woY^*8*h{mq`|eO+8L{d+_z^^GZY2hDa`RGl1}hQpWP`Gvs;ORb*oxf*kD^1V=; z-xhr$6NXQTLwmkyp%E^ z2k2#!T7Qz`(Hv?1N=P-yQ+H3`R^492`A#%{V1HS*Glldb0&4r6m$#DgTY|aEf&9?J z|4=lM|4Y&S7o&kt|Nj)tl8~9iGlG#{PzI6#V$m)e()4J#E?@Y+)uX5={|nJ z)c*^{xG1@&XS29GK@oot%JXZ_QwTb^lX^BJG$8)VUEGX%A_JPih@wh3hN}MgLQqzA zsy*5y2O?Y|;%?8t)J4lj=X)=q&;gjixP8Q(8;O^8zzR{}Ibk(n1cpHb++@pMa8o!u zB8@Ffdh}Y6`8UeAhGB_ZST^5nVBvEKTNue*?MEHrqDC-v<6GT-%Wg8=k_QjphnJup2-o*%0@pPdYyeD~f|$yMs;5~@CO;>U0YgS8cIz18gcN5G`)|h(0ULYZ4oy&+ zdNv$^`i~c!c8sVQa(4k@qO~Zlam>KzE)YNj#s&E2#lo$xOd#5BZ+>6}Hi)YRpfH07 z`}-cGSP;>U2m@yh`=c#`6BGc1$SOh z^;!nvZgNeUsGyb|w9mNw+lZv;E%hX^C;P(4tGD;LMyL*GWA=~l2kUtH#USDYbg5}# zY157}E&z*1h`$iz@#$ypIr|*LVW{TBCae(|u7?I#TVus?DlP6BV4SvYp!kl#OAw&9 zCxLMrT&Q5)(N)FN_->btwxf#g+G;<=+5so2H5BYyDh>F6(QazNtEkrClkVNr++bG8 znhy1``gW*LD68gJ!MsLhCmaYFSQb1~)TG^zA}3bjjC*1w7T{fzh(%;TtqqB5_eU@Q zc!P2K0g%xdo5tbav&o>dq&-G*?u*ew1t!)rOiVM()KbE7-WBbZgHO-7&^&k3`tbpDFFsmL10xp<9sd#am7-}Y( zsW*WXYJU-?hx%_nT7h5Moa5YMd@#k23;s<(@fm&K`5;$8+{3X`ZGM(5N3p&kr2&pf z;7j7**>+|}rH{I~%p-~J$7_mFfgT_QO3<1rm9PtTF~DkEbcv;=d9iRZp~=0#S8gEE zV@7}$F057kDlk_Ko}%L&FX9H1w*R4W@_KsIIULn&y zEq3nDaRQLU4h`NSTC04iSamD^)e+E+2n5Wx2D0+WyOCF)}sqZ3gMc^UjU=^E5z zvsY^|hE&~-pojx)$>)NxKw7TdL5gY03s3hHU4TAt_@X=Ocu(|d9TwkstrYA zX?sQ|P$>Q5T+<{4HC5+<1DzWbeZ&wK_YpyDqcuZ2dVHYU?fHXd09U72z-gC!k_e!` zGGa38DuM|&Y%qM8{8px>u~NFu2F?w35tmIp;D%N>9ORQU_G^4ft8^AKj$+u;+D_F` zVAx!dd>D(S>=d7G1pRIXO*cA*ixNQ?@z6#fF!x!kq5rHRY zq6rpzK&VMVE6h3WYvtRRcV7m;!4k`2hmF--)Bw@1KzCL^#Ai}7Vva0*$PgUVHuer| zkNAO3m72Bl6BMd1m|O-4csZyT>9GSK0st)(?pshpF6+-wY{k`WsBuRG?U~qAb9|o^ zBONQTS71`y1nbjZ85VfR%++K~- zZtkNERyhKIvwgB->4o@6)_jgJp7TXFC#3HXTvY+Opei!QHjVL_$8#6wqKiFwPzzcaGe`6Jpowv9E zqubP&>+GN!ffsch*`D%vydNNnnnHHC|JQ{w6>5X4?`E@-gR$zmGKgK+A$!k}lM68;L2 zS>TDMr?QD+aba=IKmguAx~wm52N3~k8;;_;SRS>QiopoGC!7zR#Q0if&UcIeI*7KL zur~rvvK52I&Ux>|+3<$mYWcpVqM8Rh11K7@4IEX@x7NBC6Hs7oYlL^t?H<(R zZC=9r+)yuZ^K-{|2gLncM-8Ul)ig^PxrtDCp<=spJ-85cs7b->Cg5iO0K#~o)?($6 z4fXqK;cp!>3~UGrz6i5^AtCn=EZB-lkwj6fUz?0bv2{n7!Q7O-$ERqn815vC0)SXs z;#z@Vwb1#-ee}w}^&_Tw*@PtxztSw3P3`v*!#KFi8A&3z$cmvu5uEcCbrTD9SjSJG zF^UGN9G~7Tk~&RCt2>F$p7R=;gCHlx=AomCxck@p(Gw!aIqf$LXQxSUbi^t8dv-nL zQHJ^Z2R|qW+uT;qNvccMF9wMDOr?Xv9Jlr`q0?2NSjEQ0lg~;Wp)07%Llj`tF5KQl zUS+pV204nm&0(l?h!}C&C|f;;XpeSwdsgxda(s1!+MV2s@0fkVm`LL_7jU|~97~~9 zQmd>1M<%B4hAX_&Q=QsM!2J1zdPfha5CtT)U7nDlFsrMqnZWe%DT%IzU&ID+a@8x) zLjfOTTqGW4tjAu`xPsIX*h^h19j**xl0W$aU5f0T2UxKnFd3aMoBYA0k{Jz+mboI&?9! zUV>lR6Bw^S0k04MYT%*&089hSc2h)V0!&duv~s+uuigSh+^T}}x`?b-{kYG&+6Wov zFau=n6X7e66|4isAqd5GnkTKm3t1gZOZ`IQS4x|Pm;sSU9j1~V4G-Qn;7gPl94j#7 SO){h0ZqK2Dp|LUczyH}Stz5ML literal 0 HcmV?d00001 diff --git a/blog/react-native-env/index.mdx b/blog/react-native-env/index.mdx new file mode 100644 index 0000000..558db4f --- /dev/null +++ b/blog/react-native-env/index.mdx @@ -0,0 +1,49 @@ +--- +title: React Native Environment Setup +type: post +date: 2023-04-24 +dateModified: +tags: [react native, setup, env, config] +featuredImage: + path: feature.jpg + creator: + name: Matthew Smith + url: https://unsplash.com/@whale +--- + +I enjoy building apps in react native. Yet, configuring my system to run them is a pain. In this article I'll outline how I've tried to make it less painful. + +## Node + +React native uses node to interface with the native JS runtime on Android and iOS. The runtime allows for hooks into native code which is how we can build high performing native apps. +I use NVM to manage my node installs. It lets me manage many versions for various projects. + +## Watchman + +React native uses watchman to watch changes, compile, and refresh the app on your device. I install this from brew; no management required. + +## Ruby + +React native needs ruby to use CocoaPods (a ruby gem) for handling iOS dependencies. I started out using rvm but have since switched to rbenv. Both libraries allow managing ruby version. I found rbenv much easier to set up than rvm. + +## Xcode + +React native needs Xcode for iOS development tooling including the iOS simulator. For a while I installed this via the Mac App Store but downloads took forever and sometimes got stuck. I have switched to using Xcodes to manage having many versions of Xcode installed. Downloads don’t take as long and have not gotten stuck thus far. + +## JDK + +React native needs a JDK for Android development. I use jenv to manage jdk versions and prefer openJDKs. I grab openJDKs from brew and add them into jenv. + +## Android Studio + +React native needs Android Studio for Android development tooling. During install include Android SDK, Android SDK Platform, and Android Virtual Device. The latest Android SDK installs by default. Check that it's compatible with the version of react native you’re using. You can use the SDK Manager within Android Studio to install the correct version. In order for react native to build apps with native code some environment variables need set up. + +``` +export ANDROID_HOME=$HOME/Library/Android/sdk +export PATH=$PATH:$ANDROID_HOME/emulator +export PATH=$PATH:$ANDROID_HOME/platform-tools +``` + +## Create An App + +At this point the system is set up to run react native applications. There are several options for spinning up a new react native app. I have used the CLI to create apps with and without expo. I have also used a 3rd party CLI called Ignite from InfiniteRed. My next project will use a template from TheCodingMachine called React Native Boilerplate. diff --git a/gatsby-config.js b/gatsby-config.js index dffbf1e..5bbfb8c 100644 --- a/gatsby-config.js +++ b/gatsby-config.js @@ -32,6 +32,14 @@ module.exports = { ], } }, "gatsby-transformer-remark", "gatsby-plugin-sharp", "gatsby-transformer-sharp", + { + resolve: 'gatsby-source-filesystem', + options: { + name: 'blog', + path: 'blog' + }, + __key: 'blog' + }, { resolve: 'gatsby-plugin-mdx', options: { @@ -45,14 +53,6 @@ module.exports = { ], }, }, - { - resolve: 'gatsby-source-filesystem', - options: { - name: 'blog', - path: 'blog', - // ignore: isDev ? [] : ['**/drafts'], - }, - }, { resolve: 'gatsby-source-filesystem', options: { diff --git a/src/components/card.js b/src/components/card.js new file mode 100644 index 0000000..dde791d --- /dev/null +++ b/src/components/card.js @@ -0,0 +1,24 @@ +import React from 'react' +import { Link } from 'gatsby' +import { GatsbyImage, getImage } from 'gatsby-plugin-image' + +const Card = ({ link, title, thumbnail, date, excerpt }) => { + return ( +
+ +
+
+ +
+
+ {date && } +

{title}

+

{excerpt}

+
+
+ +
+ ) +} + +export default Card diff --git a/src/pages/blog.js b/src/pages/blog.js index 8aeabb8..e52766b 100644 --- a/src/pages/blog.js +++ b/src/pages/blog.js @@ -1,18 +1,82 @@ import * as React from "react" +import { graphql } from 'gatsby' import Header from "../components/header" +import Footer from "../components/footer" +import Card from '../components/card' -const BlogPage = () => { +const BlogPage = ({ data }) => { return (
-
-

- Blog page -

+
+
+
+

Blog page

+

I'm making this by following the Gatsby Tutorial.

+
+ +
+

Blog

+
    + {data.allMdx.nodes.map( + ({ + id, + excerpt, + frontmatter: { title, featuredImage, date }, + // fields: { slug }, + }) => ( +
  • + +
  • + ) + )} +
+
+
+
) } export const Head = () => Blog Page -export default BlogPage \ No newline at end of file +export default BlogPage + +export const query = graphql` + query { + allMdx( + sort: { frontmatter: { date: DESC } } + filter: { frontmatter: { type: { eq: "post" } } } + ) { + nodes { + id + excerpt(pruneLength: 100) + frontmatter { + title + date(formatString: "MMMM DD, YYYY") + featuredImage { + path { + childImageSharp { + gatsbyImageData(width: 800) + } + } + } + } + } + } + } +` \ No newline at end of file