From 27d87a7028e7eb988160951717036af973b30aef Mon Sep 17 00:00:00 2001 From: Shivam Mishra Date: Thu, 21 Nov 2019 16:09:43 +0530 Subject: [PATCH 1/7] feat: added a null state to list view --- frappe/public/images/ui-states/empty.png | Bin 0 -> 50732 bytes frappe/public/js/frappe/list/list_view.js | 3 +++ frappe/public/less/list.less | 5 +++++ 3 files changed, 8 insertions(+) create mode 100644 frappe/public/images/ui-states/empty.png diff --git a/frappe/public/images/ui-states/empty.png b/frappe/public/images/ui-states/empty.png new file mode 100644 index 0000000000000000000000000000000000000000..de2a89350854b07203c53051eacbe4e9170864f4 GIT binary patch literal 50732 zcmeFZbx<79|1Agu!9#El4DOl)27(OkHn;}Y;K6l};O_1kB)9~3cM0z9t|4#o{k^wu z>(y56{@&zzQ`$^k9*zmNjRFTBYzc=5+k%I!B(N0@4v+)* zAA1mhISBuA``^KB-E-JEz;M!H!m4iYCvEOGw35#I#Ho+->y>2yN*YS#AXPUk9J9-h zHr(}HMQwK!0&5q%ccYxPq&(aoxKpxn7v76{gh9UnrvzMHG}!ia0b} zs!NH3$61lXR8hngB&8aN*w-{8g7?Q06rpe6&y|8OGIT{SX2SIfVeQ2emji@#B&$Ux z7GcFFDi=Y}G^Bj-5S8%~^*{AvIs5WO;ku+{6@Oj>wTs{z1*rAr6bXfwb)%_-j17k* zssuvNl%?J$C?`Pbm`g+vo^$mW^9pzi)`AaW&71 z*=?fpLlcA_Sk;gSSy)+;lMfJ0LGo(i6BnpPas(!x9oZ}fp}7t7EzK!=^HwCL1-o2C zPhm%0mo~`__tR_o(htm@ZMq0n&3KS+13JDtKUM>vMzR(kNsg|@g=u4E=sZk)Q<_D& zl0^XcFM8UB^gUl%Yd$|Z9l8z-sXZk1SFwTRO&{UEQrbBw1G6=~m!j19MkX#kGflZVZzq z%~Fx407Ir&Z{Gx_)=((3+8~#K>M1!|P5Fl_B?D1k8VJhRp{FGFqj4uc9nN3*V&V5r zOc*_vheKKGhxSD;MSz9`<2;v;ae9`_Q>^%`nk_*6iL~sE%6v`Sx)lxAh3OQY&#H6$ zh-IBf3qkvOqONn=@YJ7o8FP5?nNta8q9?s6{2C)3KC)FcyD=_iE8M3QVN z`Lb)|X6I^(%cs3VLa{~?ns1n7&G+QK2D6O#a-ln96ta$*qK^FMbx9fvYRp(Y+vMDKTq$C!o2;kx1?KC%L25$yppf2oQN#nLT9<>`rAcC zR~zHc^G^j~%PKdm8@6vtT5NgjG$MHhFC` zWv`Ga>lNpoQ8v4~QSrF)f&EFmf_J;-ou2g8B=15vv%_;!$b|ACS~Gus8)X(G6i`%F zqsjJuPCfJyH+Hs$d`+5C*7fMi~|laK0QSe~ijU(3%l6 zOY&077_oZKV$FuWi85T$V#XLSljOFejI>YR7}Tp2r!7N(9y$~Anpy-8VrOq=rHM)j zZ055A3Ucm$(2w~#ZW^yhKm4}_!>SfbfuS_$g81REMM0=+PQ)lg znw1vQ?y6Y9lp|OKuN!+on6V{MxkTivh79&FgDzzTcniOZ_a{8EfV{-bLFMV;H@=Y| zHLV%cMWrBoQ~daH85IgZsZ<4rqWrD6V|9buAe@7d@2T zY-Fc9sA8wzm-7_!8&U}>u<~AC4Dh@>v>DxfJmt^d6ckSEgys)=_AwR+VUUNYelw3v zjoNlea4MR)QW)r<^$Js#!nR8;fM?m=4VJ+d@iB-mVh&jnOe-S!8oR!zkS~{M$gCnY zM^KGnq(-39B2vI?q^)eqY_^%dU1#s^b1ym7m|lc2&OS0)vp?jS<|$i^g^SOLZbUo} zX%hLWEK#15mk5D902K*h8AdV68_@B^$ubCm+viG7H!JqXXS=0LK1Sm?7t^0OmGbxc za}`*p1V+}MKD}$T&CXM!bXJilr^%F=DvBu>{^<<=;fh{c)9R8^IuSdWfmCS7)ym|M zw)g4WNd$OK^@PIp`N8vLZ6P4(r9Rr)ur21*-d zJWaQ$p;Z}{_7=0&z1N}IJXa8H8(V#&YtoA)NquQnjTx=_EbrQbsb`f?RFuAOmVg-gj1m(9Bs{-qzPl|4IYEoG%-~5y+IQOk_~^*s-jN9PFa> z#Nspi9HNz4e^G~g${UuEDJ!s7l9JAer&IArOjP}8y7~3=v_hBCf&DDB;#QPz<9a1` zu;Ql4*rDa~?&RB~ml9pdnXr)Newh%V?dt~Luv^O4dO@~je2&Zx6Eug}fg(GWr~AvX zdQoZ6Md8AD%}10jbj2zzb!{5)xQjoy zo@t&m1fi!2x0(nBQoGEqn}tv`>e9xf=owLTUmjghfByXIsC1yws<5QsH6S;kGDh2S zOWO?HvoTry(hH%2=*f2nns&#?tf(z=<}FIX3(-Q6%xGLHOBb0|)fip)UCcu88oK)9 z`uF26R!OTMd+(G5nQxuj-*b;W`0|)oq9A)jM+t&whr1y5^ON^sPob*;mqzfH^o_rd z?P=_S=QXow5ws{CCCG`hX-RYaEuxkRI07q3|SccB-l+ z*1*)62$k|bS=AT#c`=#-bBmaa!+hc{is z4rJ$_izd>q(oNY#iAVDZBCb`h))iu zwU8jWVMu+Ssws9n#)BuLf;ZokRtGW4->F|;zGOMKg*auXXV_w2nun@H1dZa5KbKDA zQJs)IzPH;5F8E=Q>pbJ+^4qqlF1alr5iRf#YwQ0Bl>cA0QI!MVFt_2?N@wzStS;RL zbd-M!*4EDIn7L?wYd2n`zCKE70Q^urDkS}E`d7#VZkV-u|p&B7>DM2dG8H&Ov> z*#Onpkqu=iCn<{)3faHym~vqrV<1X!mabW~FPpHSYvh+8**&S24jg9J767R9=- z0a`8LZv#Wu->9}iV+=JrN<}K;%pS%}80v1*o!oc?h23#%fNlvmst_~+@uU1?DTFCY zqIZJd6a@C8meJMO^A^PYT0={?7|YU=Ti$%BngMBAa$xF-H)gmU#HK|rB*!mZsrG9A zuWlu7IEN50>*89%}Qx(NBRr0&+>743)JSSoHTlH_Y?>Z7!2j zvjU2{M@pxRVC+oak$0T={7L%0UsiEDcids_-Rx$n@hN@mI9Ve92YZu3R=(8S-qMNd zqXBSXiuSdpe!ilhoEt~Bgx7$$zgo(KJ7PQCdb>k>(@gKP2@0OU)BOXvmd%*fBFE86 zVw=8dP^{{-RMirw$wba0vW~XzK6!#NtW9RA3EM{yo;&VQBfJ?>235-aD#L*(F%%8a zdUwYkj?tMbeN5jlUn>#)On_xTz3Es744IcL6j)F$Vp^1R)*_{0m-kV%{zzgRJ!`|G z_N)1&6yGMMbvAKH_w=hW`-01B3c-L<7&OK~m3#k}1%g(D>zx|W;8!-wiMUuiLGyMz zgwm^OnLKC#D+-EGHh9XIc9EiYf5huRCb8c^3hU)(92}2S*r;YMxtPBL+0FAXMbxZH zv>pBswu6RT4uc{j1v=@eW^S=r|Cwp;`;N7UA3^&w7ps?R@!1K184#xxx#wwEqoe4o zmFk_HG=K{^!wzCVPsu)#V-4kS7OCC^_ObuqEt#)6GKH#7m@@aOy~S&_h65bMxn{ zzwf0^^GsEsy?kApZ%&j=`B>sh=qkc)i{f2Ou%X)l&-!3hp4@-{kBIK1jNb?)acGkN zLqXD~5UKv^7goWyhX)}>Ne=d{q&j9jiIgcwM!{_= zJgl0bPE+y)KN|^mvPj&;n$F?3u1+emZIg+85=G|xuhZ1~>mL^{EUkR|PowGfkk9aX zyUNQ>ot^I@m+bNvQ|u<{lx847&6OXx5itj&tz~#;_fpnvwMZxd2Xvjg4()NcMMY!a zL8E&2{J@%U)bIUGL~3$qd4>E|A7Z43F1$IRw!aE55F1ir6Mkry%gLCT4ON#5a2}Iq zAV5?6Zpj0a7n&lpg#zu;w!5$ABo7xh`x<{5k#md3M>R){_s_Dja2@zwUybjMSuTLG zm!@bOyTT-VYX@_O!ga0s8KH9D(<|G_xt{yQ`#GPZ^3C6zGr6d0qE8%fVD{&YfmuxW zd1T+(HE*{W4xwE-Q4hRPMyw-25f~?$IoQ81eo(fWuO9qm|1hWE`I5I)zOdEV7-+OP;HkVrcC-t<-^T4QOrUj1En^F`VkI?is< zJhbkxY94RjMBn<6SxhCaHAL(kmt-}l0_vx5-nC_M4}qav%bO z8y)PE>OYwkJx)PlT5n433W3ElT6dnt#(JrB)5A3{8&6*Wx@%@%hFlwBB+E5v7^Ah# z#|6p40~KXaSFTS~f)aK`s4{1T=Op~O2Mf4QUi5qO)#S=zxTVN=ePyho<%WaKU9cFY zK`BaxHZjsKs^L7P@9mvGTn?ds`V-}VB@kBZ5Z%pl&C&-R9QO7|bqJ5>4P&GA3Ahi< zL|9^6P@(>Ngp>b5cP{K(qRY2$yr?Wd@DoVDg}K(NvWymX9mmxAmMfKm7}YZlvM`ah zfV6o0c2>K;P&}@6Y{YuPrb16o&OHv^HyAmUF7AwnSTZ~!KY>23dl?w7wJ#@a8GnP^ zw^XW_^(NQ{pkuAaB(Y0`Ec>Ml+S^n>B+a6@r0BCB+`754{Ilj+_hU2LPluf_V9!_~ zJ&4hmSg-S%yjnBrw2i!;GD@)j>gcSs?w}?hatEysyXr1$mg6F%KH_BRSPgc{>Q+3m zM7878SB9rM2DDc>>jKGmXhGMh7jpgXt5e$NZ{I6cz+0nuyYe(7DEq0A zhyz9d=1iB}-C9R@I_#rXuK`&T~6RzUY_)5kwm#or&Qqz3aD5JI5`H*_!L z^Q*;*{mR=aAo#PqIGQ{L!=kQ(j|qoOmpTOSr2^@BZv)k&1jI4lvRP?uOR2~DeU$Sf zhgx<}nfqkB_oeibN{t3%m?mPp`BBpc#`sIqqe*3={9{4f}fWyr~Xr&jGI42ZbCri zmZ+sVEMQ*Nm?A#Jhmbl-6JZ)BQN3=%6($W)Cml4AC`B%p6fmr%w~#~Xy%$3)K`v7i zP`*y?RKyE^0oQZJNUO! z99s5l|GUkkN|DB|@#Lz}*05~xVs?0_od(392{wAB{yUK`)y5@>7ql*;1NT?Fc+pL5 z6ICk>_T3<(;GTo?H%t%5c#R?GM~vrv6-n1TTZp(!SQsXuMo7xvG(c$WKWS28lUIxG zR~ojxrldAyaY&H3kiV@q#O&ED?B$f)TAnC_a$jFL9vHbJT8NRUL$1d#=wfDHnXTS3 z0aO`Y*&tKsR$oZy;3kW*vd`*T2^BKRb{DisQEdLS%0Hvo&O)wHKgfH&Kbv%!Oh*mS zAuLZqnkId-uZp*7l*t`F8nc~o&fTUHE+=BNQg0OyGvM~O$s2xK>I*?Aajo(9Lp$#K zC~Y?^j|gqrzO&RHbnbC8#tS3@KBpt`a#dpUq*Cua3vLKv`>Ge$1iqe9&v)MY!u3}- z*&jCzN2JzAHPQ4N79v9pRaIuc-q5MLV_8|Rplp})gFtF#6MQ8KfIo~n+rlN-?TW)% zQ_(1#MYQ0^djzZAs-iYUBR6IYM14`CDai15Nw)mAf&AY^v#1la_<{JiK*g;%$xyjM z!>^zmuYYwoyCm7G)4)r5*DQZ+6)X6P9>_Hg zE|EYxm>SlcXap0^f60@qh#_z0kLR*VfaY-8LZ;H#e@I8V8e<^#b9Qv5y7l2vb9RFb z$mr5K9aH5wa4wMm+nV~5a+s8>Qevbi5j{J3*}5)65>yR5A!dKPsd8ejcaqeGN5P;Glu6vc z5<=2Gq7d6{%_0=tWLa=rYzRk8JB620WeZRXA8}AhECCgJ!c*Km`hz)zx@)$eR*(;2 zQFGh+7q|C>RXD%3kJa@BneTz(#K>r=kBF5gw@h}?s#d_+%wNW3BvmKmC98kdC@%;0 zF*n|03J*PQ59@bKb4?F2`c^I<@;V71E~*;@*;;wDhk`n`6{Jm75k zS)?!vC~B$fCKOSbmCtuReb>&{ZrPXiCiu7Nb^a0;Bo(Uq#{wofR`ONXSI)PbQhThg z9hZ*PpT%B#`JY>Jr!Q1Bn=pJOiM>@^LM}T*iwUFir!G)=o@FmB9%7?yt`o?=MdOxq`keLVU4|gL#U% zOse%8Lg~{K6Z_5_akNS8mK=%gd>e=-9gN?mT}V23Ql9SAux!idJ4F2(rK%|j)&t`Xep!5XrqJF_ggj_Z~<>NiubBfVfX{omb#-!FC zs^qg)HY6)b?~i_ie!JP@$>xmKsHQnL-vT_E8l`EQw{j3C2yM4kf5;rhDahwZOWfINEOL6 z?uG2tFE=PKJyG$r=98jBOn1Wi-6iasSaG3w^Y^Ty0Vcz=wg7lTM6^p_kKs)o_>C_! zWz{}K8@TqFLs8eCEi9qSX|{32`DwQJTd{HoRLZ@T@8I^ZPjvL{f}TY|zeaCL$XvAM zJ_Ylx4Pxo;8%IlE&MLS>QrI(tDN5ln(f$xr%&qt00+fH?Oj7x;* za0I^6*2J?`z`lLGFKE<4O0E5KHx4IhJSl<{f3xa!mGT|F;fr(AknQ1?R6s|$Ff)%> z-15>Dl(828fF%qQEOA$Msev?EY4q2RF`)b%J_gse|CZjG-4r!O}H% zYT#(QH#eZPs7krV`b2RXB#{pXc5LzBL`zm3PuKV1T&kty3OYJkv*tiGYU$M1nzb_V zsY@z{>j;{hwQAGPs;pt83nti;^Iuq)bw&!cW_1!x62&k-v@PRR&4n);Z=qL8M`Y;>dAD<+-Bs-2NSt)C`Q1BCs%>qvQEosepS&d zfrJC`U;VJB`)i4+U2JBwOy3v{td)0wG}M(J)Pk%?c^LqgFd%8|juKV1+fXUiKsdrZ}1UDpW4iBluwqT6c#t1Y+wyaiP zEhCDmW3MaL5$n|;gJ(5`ghN40EmcikRAyL%Vqn?SStB6p#B;u!R;N5r=|3%GsWZQz z*0hS-sWVSbP6`}r@?}N?J zWix_XaDF-L+o5!(O$4smHB-#l?hH_Crd)L3GhbFv&@6Ky^i$ z$;_t;Hvi|nA(ilX#SGR$H%`|QJ7TRDL~zKEJc_)sKl{u&O2RK!F#Ba`IFB2_f%Hs> z1z%V^v|`+iCY@Gh+P?OzuXzQr?q9@CyJWEMj3>ckUzAsJ zs+#Su4DWq!n_69QVf-5moc z>KRUUy85B`1oWXPfAxMqW2`@zIh4CgbfOD1om~yZ{-3Zngaf6*ROtt_j`Zwf@_Np?mk{36Qkw7V3`+x#SM-#JcbzqOlqW zkw_Kqu4-XY7eF)sJN*B(M=$Za*Rp8NPYI8RkYDR%w&A@sQjcCn=898c50G9?bB91yR_zgMaC)~cGm~+BVn8JN}C>rSR#qMvAW};BJnc~HQGTATWCrXjG7{I zxLd+M{`+?!uPYn9agpbh7(mC^j5aZEW}Epn?^GbSy(1&?=I?KU%!R~W@45~HAl->&It zi&_g16rD`aeE%s$*Ph*|y?vQLV-qj#u(`w!7=IDGcW<=d|56H_+}Qkn$j)^o82CF} z$v8A4ER4K@yGSANsWy&#&;(Qdd@gMiz5SS0X*XXjBVI;8iY0KHk0PS`pm=+|!S||R zs;)WYba6CQXg`3LdeYIeG(Rq!hHXpvcyuv%4wh51$q+0A;^f?whSX?1QmdC!@LToK zTrl>5G;xhE0)wV(XkM0hF>6tzxG?GHD-o3&&&TSr=H2zI3bVNMlqs{eP*+5d@@%4= z-fx9j6eyYn!rw}Cd0I@Kj>YfS`p_Gz{425l6tq+Kqg|C8e-(f+T-sp}=y;1?s{9>S zT(}9%!1nq>U5ekf?h$tzE{+q!JeWuwTR;aVQOPy+Tcd#U6`l<+LzyU4!FeQHw#I>j z^%ALDq+2S*-#hr*w!xMJ5ehmQwISLa866Sw40k_RQNdLK0Z*KNElJdyoeZi=EFEx^T4+D5@+C2e{9`h zkiN6UD03+JrX;Xmz)0Q7Y-+uE)#Dmx)OB3My zS4_)9Xm1~Uv@U0;qma!dN&IZNTW{JZman<^6dR(@M{n|uaLUedn~#`9riI9(A~onO&*ckl4}q0J9YKB!2`w~+Gw;pzL$g%iBKDtWd#rr{}$L_%?9O-KAsmCm8cGp)T`qVtg1rkYN_T5On zX3tbwSB+weZ#GVc1^EhlinNzq1hUA(A>}Do3#|KApv~D?L~wblRz8K==3nOC@N7kC zAsPT{ODqHzNX4s^VA{fI>NSK_`SVd#!qwW6je6~;nk0T8&i_938V^FL3`q+fb%Qo`$?%<^ow{&$d z)aCGnJaajc${fa}_bJpAZv3|0-+fH<=yb>+*BgKb%;WkYRO|P-nA&5BPei_4NS28B zMuz33R}5ut^NaL9EGzW6V)|bYsuuXfwR`SK=~oua zwxA~D`?Q@lpBJ9*56izVg?1VO?191V8ydohgN#k0LSE?gWNZEF=rTojQ*kP&LnZ4| zR!tpJ>!>`KSPW5cWKs@at%KrBHQjpc{H z>)(5ZyThRVRsA{|@7jCmfohhlPBD0-QoNz4<**)%>p~=ny1#=5N;j0KT;(XuBc`QDfh6Ni2qvJ8 zE8Homr9}Zg$Q|}|j2SIoypu^Vs0t?>0kNDKjBxQQv#8Nfub*WMi!1~_tT3s6zqHVy z5k5}@R;Q5g)26#u8QCGX!KR`*Mf_Qk=~Cc9b@JR*b@Sb)*VmrhBZZ2f7RA0f+Q#p+ zi{t4s0;>^!5?k4gtoM_vnl)}K|@5Q0w2zb-|~7aiKyuL zu>t*g5lh04uV?#i`JHGQ6d|CPux~OIk?E!N4()k6u`DQ>;(pq+jY>auuzzrwg3UOP zAT@Cw`5UV%Rp|T5Ty8YxpWqvcFWpcVljn%>lX&aEG7uErsPMYi*~_>%Q7)j89U#i7 zbou7znod_CEI4-)Zdvpu}Y4kU=+ z901^>!gQWPobnrKopc(q5Q(|CZID9Lc3wXNHa?1`TLKw5Px#cr z!NMrL8uZo-w9p@gK^-G zrqN2px1{5S5Ve%xi)JBqJHGxp@9oJMyC^{@D0H27Ue4s9e^I-P!f@ZR#so4QM(3S} zNe-Cb|9qXb z33b8Qu6U zhj^ey;Oy=h?Gd9Ze*T+zDM~fyhW!G8Z@=VUQQGafCwA%c0rP_MfbYsKUTmH}P-#p; z)TYw;Lt%6}IEMjnB1X3GCwDCI?i@ey`>dPwA#dr(k+4V4QGse9P2zv2Z!_jS#lsK7 zXHf0a2DQdj?G#K zV3UW(N0QQicG{lNmO(vD(JwpSvb46gGC~o__D|-m_7g($%oCekuECYgT7^~4wKxPW z>-u&%5;wCGi5Fb^U3pH{n?&`Pzuk3PYtk8cP6C_6s}DAgM>3GtCk!k33dE~7Nl;Y5 zz%T_z>jM7-W?9E-H4VC?*TBQmGBp?SCu45renEjydIvH`C;Z4?tvkcWLq`gJnJ5c9 z&KpYT$Xq1i?D>u52k#Zg)UY-^V7nsc-x#l;k9=jQl4_zr+`~Zu{596Vd^*o2?es@i|BOY# z@|Wrpt?wE@fH?aNxsxHi$kSi~VY{n${Ri@g2|RdP0F((OaB2c(%IeS*pEfP9tUx%7 z^uN9-nsXZVvw)DKTQhGjSk4TOR&DMH{0{wE{tZ$u(KHhFWpmdv{q4zpyasYphZjKi zo!;VkCcDt?mP(x?ISOyI-DLh*=+u}K;?dBu3_RT>EMO6j};fWvf4%p)qD1`8Sq_@pP$mNW-Da+vg z=v2ejQbxaX+39f-gZU)7gk{a)^DB&$kG{dJU3!3TZ&0ZX)qbjISFyqJFd)K?K-PV*yO< zCH{F`A8RpM;$_wb?(hqWA*iu)ycOJGjqaQqihp5pcuj^MjwfN%lG}LG_Ie?@s&HIS zw?E~EEHb|Byulc7x`ho0Led)5gQK@%=t} zkx3T_*}sxmC5&JP5guz$Bxl)*NQIsBmc-7Eh(F@~;T_=+G6i38OWmi_Ast&jFZd4F zTLTd^;2z3%Ge6oIQ-Q6VS+<~vSN$CS4sLiWEiS=tXUfjcV?1T!ao%Giama_T>se4= z7&%h;=Cd~VQ*rIFvVfxVX$_>9=eym>cKts94dCIa$&(`OfdR@F>gZ^QHE;kR93T`` zNh9gOVa~Cl?q50W9t=>9}NHL4{=yXL{6_=)Rsi(Qaug{22z5{>}Rj5B|NabI#&#+>~ zi%i$B@C_|45r((3={;C)ZBgUbb6fL={pX%35Sg9lFV9JKEg2eQfFp_$v)ESwh8Ewq z#uVY`4r`n-ZEN7SC3!^vKAv2d&u7jy_>TU5@4K|)=2oI!SU{3Ww(?dthpI3Z!&+^? zue7wW#gWQqpB&9BmgUPlbmq_`EC~Q~h^<_cywsS|XaMZd{#QGQ?YQa1;?K@-#y$0y zeAJMaJTKD3hXV z)9?@Q1(!i<5hf*^E&8aCEG*dzY{U#+V| zv_RKtSN9tY%TX6FZNyV<`VQ_j)<1nwo={^_OW#+kMFUl za{1aD%?|~W19XMjSrifZ&J*{+RJV{!VlmwsRQqEp!8=PMYDMi{cmR+i*{|eDS(k8L z_iK}Z0DP;SDa^AbJObmdnng+`=HyUf>ylCQuxp?aC49V0SqWRYA)Wv`(Hs0SOzCBr z9N8-DYYI#(j!d{nT*2t1PmdXaULjUcF`tJvoE$LHKfJ(_1Ir084nrrkJ&NBjzs-Z; zgP$KF!01R?8MD_RuUK|6ijnKw?jR}vm=o-m;sHrOP>!WWiXaytBpr#Q zkNSbc%HsAH!F(Vpkp5*8cH*B||60xZ39;ri$s&j;Dq#F6o3ij61|5M4H$=SHpqN1M?VJUTXrDh0&I_3na&E}}uwSAH-r!_($C?Ym7kA|U zf%k?rZu`ZUaD$%!zWWo_&v?HSf)EB|k?=Y}gW~pB=6~HWDe+(30eX8MT}LS)_V0EL z=;1kU3raX+2rAB}NuONG$ePPCI&nYO-J_h^_#+?|;B2glB%iiXo4#i;V;F`?sWI(v zWrOWFR4aqGY}@Hh$Dzj_Vf2XCbhdP4c`ZNX;E;%g|MO;4B~Hw})Lu#S%#T*1hOc76 zQ=)#^Wo$Ed^-o$eXO3YaXp)}!JeJGL zW1mhUDvtk84#BR_4d=h-19T*>y@iuwUHjvfPHiL}j~CIj~~ZrJWt;%cFHuS3fN zB0M^3s~RM$*V*t>`uG41e2sjPz>=$%nBpIPrN&Wr`?cnJ`-nSM^Zl+w*Q9_VT7|4kLiPGoPsbQ5EuX_5EA->P@E5o_{blR5A`Ai{WJE`Iju^a*ZGr`IsZjA zBVYv)7R;G`y2x8)3sw`XR0RtL8vRu>MdG=}jiN48q|BMB71(DrTN-YUYi2#N%-r1p zeyoUM^TAJi#pp`7tk!X-4)t(aG!pK6Cp|}JGxQ%q8`>7~8>{2kNqg)Jo9mVeD+6?> zk}dQ@_T4|MPi_$ekGoUw<9Z(ixAaQ#1C@xNw~2SLsRy&(g%b}SW!P-V2Tj(<79I`o zB!mRqG1qUgN<2i!mk}D79zX~04(aFxAp>yKzbf ze4aunqyPmQ0aov>3L!X>-~E6}{Ln`HY_WE{-e_p=q9`*B-Q^B_KRC+-Y6mnRge z;IzIp23F@}UFnng4(zJ|S`QaAzI0pf8@gbC6 zG;aZYSZ*oW6pe(q^=q1uj=&7(Z>D2xaD;67kY9D@NZK^Dj~gr~DIyzL=Gk0D`rHze znvVetEzD$ZzJ&O0d{_qi0-Q6#>%2<$&B+*%W4AuB-N1RV?mfOevb*3hY=t?FFSHd54+f zS)?YqHL-ysmCzIg(nPfCjlZd(Lt7T&&kRq2TQ=^6sO!UuxpBpiMD|>R{zmYYR~)W8 zrTg{i1I(!mgBvg%ym@-Y0J`aLk^&QqkUAt;DtZ49LTj-6H5>UrCTNNcBPM+n@L8Pe zH@fvQo(0!w`ZJQgAjqFCsW*lt+GF3fi|s++PA|at_`J6H$cvZm7*q{2uvSdLq?QM* zJvZ+lkX43>iNdoDN}?n__8dR)nM8NU^>dw2GY`8|-Zf#>352XJgYOY-z!`s_|8v4Q zImW+43kA^U>GIRblDmrS*Z3yM4Pl(y^0W8uGt|hvY%PjM`8zfWViAhcR7X?uy!-I1 zWxlWWK3J0!<~PD~q}nerYwfc*#iQZZ*lVSDB#{U2bkGcp`$XH9$^GLox=v`d(vR58>PL zzc{`F4vC$4XH2+6L55(DzHxuL12iri_=QK>qlT6dbplvQrA`tV+FHHo#@?s~rQ5Mi zY#H*BuOK|@-g#AVmyvAYTZv@ySX$6{YJMAFvmo;TQMpo=k5V=dx!`=@))K@lB&NVGF|4(j& zCEw{VUUQAbns2sgwGU3Acw3pB*C^qu^g-4*&sZ|1NMtY6NB8nqCHeA(8%Qu~qN^f& z=n|WJ$9#X<@>74*_V-9N<0g?w5?uRLih{-6;v)&5XK>wS!BS-Zxe9?#$C+oCYK4TY zUhjaQ{MQ}na9DWK0GzFz<&KJySYxE&7Fz1gviXD0=de1L)#mIa%d}8I_X~^e9Q8{L zV7hP&XUkPlJ$jyL9qljK{L$y!*poAV%y6-HXg@>yt@bT%(h{qm-ApDPH$QKJD=%{z z>6$n|J7RZ3spVw-fnSPn4;s?z<_YM4X_b=jR}@NmP-wGtScx~`{5NPpXz-64*O?pl z7no77L;#w;!H<~?4~psG@9!vy@%pp$dvM=ex1SM~B6wgw@Xw)o<%E06oF5Qn0l5Ce zx70T2{CG)qo$()i@ZQ{_owKQjnb&n{+d3n3xA0)et>2oF>-4yHh3WSR+H6axBowni-6DJuv>G?bP(7d#$=!xPVoVlpy)SG;^-#u8CuC6 z)PHg7%K96}TfRHNz~(!y{Ve^jv3^;M331D<9;k_!{Hiv*vt90+CnM+Utu%TJPu*QWVRr-&dc1`jaB&LNNt z*CwwkqmL?wiJvub=?)aUaoammY~xLVDzGbypu}v0grm0OupA-?5HJhiZga&UaH?Xc z0AAFbzF6Fih~-VN8F@bzK4FQveu{2}TW2IhPPnS2p>lAi2 zX%v{`Ydhm96PJS$p9!ZgIyTNWm#Lbf7?B-Fwl7d>D`o)e_#MQ-_TS?h{BhJHxHzma z{5Os(vfDH~Gk(vHWXc=ruol*c7GB!~Bt*W5;9**rP|bFpT6!DYwNHh=`r(>N0X8X& z(rhs7U)Lp1T$}0l4nbhlJi(t=i)xn1oupodT$X?&7o3xYSW@3LQf6$b3x6~~6aq)v zOZ8JZ;@PhB-GW2rm&gg&6a`asPB&X@I^9DUF)g4W%6(qK|0Tsb-@jlr0RVT{Ic#Om z?!PRb9nBP@{;9{b&JL$a8VfCkMzG9ZO3Y7t^Vh6+eJle9KurOz`Gz9$fBY8!W`QHV z2_Z~Aeg_%ZF}WkMr$qC?c&tZ|(j|}ph3x-O zvqkAIdqA)z{iR=PdY5(t~f z;`BierZ62pHaB><02q8V3#G`)ofsPq1b0i|041weZJS)D_qQd?;6(Q6{6YhpvD4ne zlM1zQH{&Z#Zz&#mJjmBNy*UgAcJ3P0WY{-DuNnO7cpdWI7)4bw#V2Uf^I%GBewhLd zzfVMk2FlWc$G1jKi=H8lScEe2M4`muaG1Re&O_Kq8N*1tiO++j{9mF}V`$Lf9SO22 z%^lcz!!ud#x3ivL`e|v^8T!y8tX#tIpK^(Z1SKkPnhY_c%6<6H0L&&^N)`)?p(X`5 z%pE>7FUB~ydd-zwigsGak9z4moxAq^*ZZM91mJm37pGQ-d{bi)8cN{Og6 zLzhz0NP{BX(hL&P3@s@sARwr;lyoSaB8UQlgeWN@aL?%X{oT9ny6djH?%(epxRx{L zInO!!?6dQ;_o$r{ouB)S99*FDMk+AMaDGBZ9vp&VM!w=HC2IziPb~PKF9$~zRVJ>= zzGR|{U%h*;{7c~X%O$V8F(w|_-Wmwd&rEy^k%HvGmjor_r%@ogc}-#YxxG*Nf#g8q z@}iq~XsrMvMwqY{=rCKVUxJA^zABPR@_+7&OPr5wp7|HH*7pi&#k9UT9*p_4{Dj8LHhydTtXx9mS8injDC(uc_RDav{g{b$!n~*C{9!SgTNtpB&JIU zadS94|FLV(wXFDQNs&sSl!Qn(9$CsW^hS#8WY;lYP&q1|5r|uR*yF`})SJnVPEvaO zS9hu;%()?6oO^rX?KchiaVHz&LAKW7cQx`R=(!Sq_-xu-K!YXr9@mP*9zcgx81QsjbhF$W%WM z40+0^MJr$0vq0)my_L$*sOb+TMYABysUMI@8jDb&g;f~t(>i5*RH{jh5SUcU zc?A|XIIHt*lB{@hA%#6OiADX*VQ)&I33LsGuiX=3x#)Qz|58!0Zjz{wq{?SajC!q1 zxp|wD1@Dqg$Q#+%1#6IVcmr}wqesPr3@9xQu?`OgmMZ>$pqNZtYpLzKcfRPW|Ye-}lk!c!q< zv8V(FHFRr3^ltPS&F_y_wfza((s7o%&Ef{zaHcJeOqsUlqYp%N9yV&cbHI#nW@#+$ zNB`l&Be2!uFT7c`+*fNnx#Q_V;+$gXI!K(QA)I?x)pd|!-y;L3wN8+a=$x;WiwW<( z;2`lUU23TI)SHr339CvCznb?vW{Bvj%s2QeGNi_~WPRmgXAVBj*|q)>a3$YCcjKZr z!@BDVJ6FS-&ErSJFi$jaEKKmX5`U+Nj0^6UGx13&$c!?_+IA#d_ z>(`Woo%SzbO;W(^=z7clnrIxCGRswX_1^tb%gGWv+nA2ZnV)=;Nx7ty^tO*set`B2 z4XOnNve1vFbbxn;IrFcwet5bnIcEk^vy6;iZuAh2M^I%22%kl3SW0_-M!~AuvKq2ImD3UdJl2h2B>V;LMdV8rEKSl~9 zhF2fMyJA*Xz{n(}eJJ*wefLPl@DI zYp(1MRMyOP=2b%I)NAAf`p_Q}e7}tZ=IOQ6i8auuU81_0m+xoTl!(rf>+XZ)({5*E;b(FwCQl?r<7dW=WYb>7}IW^3O23C$M7R4?R&ryC%DOj5_4a zqHrQMnGmCK#d`!;Jf83C7oS-Ov8E-6gUx97oPFEZuh!A@K;UiWWENgT@abPFLG-vZ zfo)C-V^KSQ1EN>wjBb5GB;ZO4qSMx?B$GQqLX6_o$M_%+_le^I&U`0^`n2(jeudRL z4+N91c7)&4XQ6W&&Iwd{AV}m=k`{4*}Oc_MiCKDF(mvE zVO`>@8akSg-QpxabzEVU|t9qE6m0nJ{-EKzr_(#OHAZY|{Z&%--(QlR;!1+|8go zR-q{1e@Rl)av*YTIcX8h9tkh(qYq1>v-#t|@r8jKpG6(tmn``5tVj1eG}_#g1Vo%r z&=*yqg-ecq!ch~-@i2l^ec5`v-Pex1^&;hMWN$&}Cz9GDXPK3C;55$Ts!A*YL8>C_ zw8P9Z@K~HVoCb#KLO`c8ROEUY8IWFO#oghhU7whL&sXr^iNNq6)Bu%BHXTnyOQ1`n zpf_TtEQC?*UMa(4P7FSp@lH<9WTS$HGr@oC1sqr2BiqlGj{hRi`%zK=@o1S(f_EVx zc&hS##Xa2Tf~cdIR|PO8`@M~dE8DYy_v8a!T&1ulx{~wqH@hLt(km<`qGcVjp+^*m zbdnD@AB_E@cJ?}3G$34@OL(<5nl8-ME6|EsyU(Nj8Jr;wFa|=Sw;pfw%m1jPVHs5BCsccTPA&hF78`ebMpT&e1o3F$ z{+#uA^8nsfYYr-+_6B7$DA5mKE68%0d|((5VEb^dn{3`p%f%0wvRdscY)`+de}=L9@!LT`Gxc+j(+i}u{Pq=E1=IBHF9 zc+^Da*VdA0Wjr3EAOf);Jq4(C6cU){pJ9IF_zktvPP-__{HjZo4y8$oNpq2+3>>45 z-cH&*zX-$dnVX8u_>o4Yhh2Gp`m5s=iYvbg=11|{NnL9^NStlr!A-+*U!R#BjOD%g za*q;(!Hd-jP|E$G<^!D}4eMK21>0#yM8xK72JJ?k^;Ht;nnojy(N*UtJ(XTHLKgtL zALJeQ95B3EwgKY)hmW0-S^7R`ZnSc>)VHf;aS|(ic3jErFP{eR2|tR!t@*DX=8ITj zS$I)}iqM|AF<%X#ATg(JsKB0;9)k!&leOnMfolX#opZ)=vg>2gj`Fa;efQ@LZXGWb z{n+xfUrSDWC~O`WjbtH~PC>so!SDImGSpPY@@fQMlA1PPOH48gz&Z|k`vTw<30=pb zdp)^TOYBv*&~a2R^5;s+7ipbBc8q(?onQTz78di(1LfoW7vA2k4&Oc!zL-9##H(xQ zC}uKPxG(8X-p{ddm5b^V`-F32yj4SDx5r1$7Ml=XRnmAJi)BfZoVmWMD*}XqJasJ} zOv@g>FcWGsd86PHxb1Y`^J?9hKokBvrN=|v)L37ci!PmWW53r6cn|Nqv@`J&XL?_D zAkM;c^K&LKIrg-cho4(4>0cobW59ENMmMUX(V;Bl1ufoPs`RBtuOrrId`uz zc#aes^$7}bMm9y_%n2DE|F^}-9OC9=+y`k1qDCB}QbBi$~CFNQ9aguVW z^sq{x3VC4N54|n!q`jNHf3>fJy`VN;KYo~(QFW`LC0B4Hq>{Ru41tL38dd1L;d>k4 z%-Z={^POInlki(LP?cz`3h709#+&iCf6Xr2s4hPVY+u|)7txVN-YX4hARkVDGLWHd zzTI`R(<}jG&!`z-&*^-Vj>tlOr`j{aUQr^hjp63X@DaHpf3U)VFXIx*Qp z8C1yG>t&0JU6H|IAMfpJBS%_FzDe$%#m;M40$A-)*mHm;+$Qv{VQEIqn>cL z5TA+Pb?p@n3%T zOf+DP6!=yt$YgEPY9GYf&u@CyTW|C7<$n3HJ~_p<7)0RIu&5EVSoA{%x8PH;=BjeA zQv=JQi8KvGC>pH?b7XouBQ?ZVNloNjhFhc&LBTs5LWb+<@UH5^Gf&RL8$&n)_p?N)!^n<5WCS_y^cpLb;V>X(>R|GvYk)2UjuyIdiEPug~E zSi+A}!+W~)T-v7*>W1JITV{`B>8&;lR5J6uNeK1LqYLhBOD;82lo*0lybt4=yKPYL zfZrvEe4B-^rt$20(Da>K+Vimnvd`*TW({#aWP4D~VaS>q5qxp1pY0A3olee4oXTb`*SyMvFpI zUV%@$!^d-s*(r^b5lIrz`84G`O(#KkO^Sm`zC#~E>b>OI3#Kd;dszsiU|^D&lsZxw z4(E$P)B0xqBrm;59GYVE;fl(tdan!Agm~HIe1S)n>{(~pSNZmtwP40hRb}_hx!IsR z$+NoFvqO!v5q5ima5HKIfvpd#%OL}3M%msvTSk!$i~`XdoCd{&7d;7n2+gQ4d!KLN zKY-Qb%WLh!3UE0bW4q&4ufLa3ocAx&Ppud{EK}7<$2kHHBH7xqake699=7o+$3=wuX3ULKe!a_(^(8=qp>dB5hNOge5 zJ>1I_UM&q)y`Htz=JBO;lBY9Swd40ziyDv4XK8S#Z(-j9j`{7j9PD6aH)~m(!mW)9 ziF#u42X5vEMmya|2rhEty!i{DB0Un(TD6BvFNd42TA1L<|8bzH?SVA|Q^WHKQD`_C z50+55o#2U>h6Y67;VA{tjqi^q(NI1@&HVR;p)<|5h`%lJSa_@>aT$MIIFrXGTKy%t z2xQCiYVqi`?(oQzgW4S-fkDQ0_H)7C5ad{{8Fm+S8U{y5V_7D`Tuxo=oI3yE)^bc z?3b|-8)n%mEYdNZf-W(;tyAOoVeXm^HL=Rv#FLI-3&UTw*C2C8>D%4m^VN3D`?Kr` zumS9Sc?an{)ex$ zVl4YVWbjp)5KNx*JWV5fN0+S{T6i23vMw@j8}$j{a)-pG=4{P5%5;BhG-B$(4PG;5 znv?l#jFJs6)%ek}wS?Tw)5i1?mKntTVon_ko((TsXW4kdW&+qPo-W_di`@56JJS8r zzvsEf-tbW7&}6?F#RW)MHQHDD0LG}bq3TiAp(BK@Iij5@9F`k->n#d=DaMpv7crKv zE&e=rrHNjp8zS4Tx@Kz<4Engfooo|Mf*30l`a|U!CX?@I1#QijJeEw+(Y7U+_$>1* z4)g5kM<#2vt|bKxp4p$jaOIDz7GwvJkpCymU%?p8#ipWp(I*AxN4um&3~<~qdQwv|$0-u$ZvtZp^>w;a|F94`aBu;1jeAD_$^dZVdgQiAfSnb5$E-WO{g zd||&JP&{h5@y$4I#IzxYU)0JY5;gt_@Bb9G^qK7bwx;J5&OJ{TJKr|snLe+gcG8UQZwmVyc+?h$6-G1tBjI?08ef%XoG_6}_hQz?Dq-d4X6%+^d;no_zjB0iIyY z-S^Cp>N9r4xy}~X3-gH{R{BmM2xz6_njQ2Tf-|lVLD6UkOxf2) z?_{PoNeO>EBBq6~{(){jYm|<+^1P=<7VX%+ITACL~S$PF!b{jKf)D#Ua&8XgIur@6R6cZMfh%<;qYrR!L-1`HxP*x$!aU zsJp(cy=`0|mkD%RBDz9KKNB~WQ_thp6;lilDP4ik;w^PO^2p;C)OZ8Gi%qIXZFN%3 zDi_D!?Wf9Wk?Z-ER?qpr%-BtR6)|E;^g||d+4{+m-$w#y6t(rImo2Rwf~~sM zK_FDO4<(3QAqKFYa%(i=uc9FYSv^jJt8fym6UzQd>Kx19XvH+<&EC z61t*hIZ!F=oA|pgx=$DnA}I3j$OIjkHZ4_4)ze5}Irk0G__Cz!mg_B~cw2RT>$#Ed z_;%G}wwA)^`ltBV0dT%}G=ok*qbfMSBy~0Yie9pAx9s%0!rSVWA}#10bJo^@8$MCny*k( zGAA5~(4~NGc8i&eecVSMh?<1MS;4KqA+T+RPV9@`4TrPCNWsf&>-G^+*q0e-fDpCj zZ}q>+`2Y6}!sR&ITf1`8C?Y`7rwAr&xnNlEc!RrWE8N5mn&fm{w&BAAkuM6qrFlx} zprCpa@`0I%Tv_|HPL=APvN9>r)w(vxo{%YtAwW7##Nc-y^MB+c%-EKAzUWrzr)8ig%XtmxD-D>OrM^^bDy2h4(rSXE z)uHkuE)0N0oCG?prLF#uS^qhCu!aPn@dmXdTh}u0r4&$}TcSl7RpcT5gLR@40CjiS z4yRwfZ+NM6^~wf@4t7YnBBgKTa%xAlj@rLZa23fdx{urNY5U64g8dCv1Cwt2 z@gm^-XRw*b%rNdstL23fVpGs|B%{omt66_TlE!@d%5#N`kjw~kw#Rt`2FTzVd6_L4 zay;*8iF1Jbn*nO-vG8XCU>RPA*|$fjkZxAehnV1H;<=I4ajkqWL{e}2{|SHk8?;Zc zPmOz130&M)B@>Rq`Q@L-n~9nXJkY4yL|8#42@e#fyRL3;uCPAa)$erEx6!DQIevh1 zk}YDwvC>YRnYTOQe}--ybkshJQu1kR0dD6r_D+(X7_*Gx*Z7}NT{Qp1aIfJD3H4{` zFN)XKno1_wKHkn;@2LNVkRhB#qnlgx@^ByA$k&-IL`?I<-)3@;B7|PLX)ftNSL-wXfaIWNMHdJG-V&xTp9piqp z5+y^fDp;{p$sbM`|Zh&+Ui)U|7o%>Zxqy9WrK@GVdp8uEefAhyEWltv9=ceLp4dr zCbz!8uxdf~W2(CMkNBQoirFqrB{CaVE<}Si%{P?GosRlHKfJy@NZxJ7ZTPTT+Py+CcyR&oRm?BozOq+5d z(fCrzG8H)P9J~V-mV&k0UuKrtK6-XezijT?yrSu2!!QMIMMUT827)V))25v zJKh^#AZ`xN8}tu@d%<5DeIx6^d`*IFNeKNK6ruy=NZ!!9^l>u1X1ruMFHY3nCaF6q zMoM`f+xVV*OH(Y>5a~zz@q8?sy&b_~u*3HylSrB(e_%a7Lb-}!`xdolILZuq_u_u~ zIoYe^rFzc{N=q;LOm%AqzB1tlSbaq>5R${y9o=JLBr|3g4Vl3s+9!gl5vqfdsET>v zYAzbjZZjyj2#ybXA!L&qi>Kpes6hroLT*GOo>xZJL6BmLg5Z1Dii|j}iccdPZb1;| zhp?Oqc`8(fa|$>D8$ni{3om9>AMupSg-E#ll`2;V$A3NEl+vxoeOU}cP%9Ez>ripT zp&3XBf27Ltu;P;zOJ8OlYh3E36)GA9!2H>?+(pxQ8IVwb6`6nN^5TWgej(`C$l=GP zo{%WBe>I1~i~k~VjF;$%9L3sD-U>6Q4IzaNRFZ7(Cmh&n$L@8flIte$a1a9hWeB@f zan>u1@r?Dzb2l**!!Tkczsaqx7^yKrf-h1Nmu*k3zra>cNbo@Hsw%DB6ELDR zw#NrLj})@iA@-c!_}m8dOYFW+hUl(-IMQ)l0|&PqFW{@l)T$_s^BI zimZrG#%SsLFxxAy(7u%JK?uG>I9f6xEBu?sQ4_2@vvv3+@m+evy zRU1$Yf@T~%v?7DRH^W4uK!x^m?Hl*tvWZmizs?T|Sj+vA@Hx+AOBuRSpyF_#>r|pI z-L5@vp{b%?GPz2GMPtq@cGZ8s^3`n?@w*{a(Vd@VJXh^XBTb&nDZ{_e^ja+R1iKCG zF3F0!k)%+DZz!4dj!EOUVec_kRc^8W<0u-G8U6;)A_PIW@z>_2SLTU3-L__%{rYhy zxZwvC@BA>Lpt{6*@?-MQE#{js7o|T&_he4nJ3fu?SJZw_@pdL;FwbJ#MoHa1QLE;c z8w4kb$|w5wS;Y|j1p70~xrH6fL%8VEt{C9UzqYByZ6W@6Zh7ae(qGk%fU3^fs7hl% z-|agz3fLnT&A@4p`xhWsRa}+mbaeV0{t=L&fyX*{$zjL2Ev@gxi`v6|=QhwNKr$Bk z350%0IZ!netJ_vr?mbOml2bId4Q}FC$G0^?t$-Sl^?Y#x|y zB!L0R6Iox^sB}wP(%a*{56+?VoP78iWma0s1YKG;hffC zCIUrjlBdoAFO`k~GYKNvmx9z-V(KUDiI|455YBwxmcS)i0fIuQ<1~Iz3F6-$OjUrE_t+Vb*nwBz03pnnJsLAtp~Ed19`I7B;@AYHe5M{pNufZ_1n|fnq@@%7UGO8=~7J z`jH8g?mQbk7Vx$EX`=kWPLxT=m-NA^vOioj4!tVV>zk@4#!EA+NzfhOesk$Qw>{dL zh|ojJUi4Pyxh8{ZT+SW{9XEo#f0&(BnU#X?|AH9a4KrBOH%IlK?pD+jJWO+F5pk6w zq<~Tp>B=6e-KEz^zy0_Y7#gkQY#;KJTs?+MI{ZI3^A&Y(J`eT$-CYw40@GboKi-&O z?e!L%9N{y~@*3Zj+=8#S)S#!%ie0`twL#Sn5lgD8H=Xq@RqoyS9|b=ctjGs{!h;g2 zGWi=n?$>k;9LqBj4$V^gzv+2(-tl7tp{+bK35;;Ns#+~nR-k=+L4dsz%JP+k;Pb2+ zeGP?qe2n2~vC&D%lG_PKmDqLOYYiTVyoWh={YO~vB`lzjf+M+NNe)wTw}2m?1QN@E z)cXc=oV0e`%K0DxX9`YqbeOxTB@(Q^zRI|g$YS1o3s) znYxYCxsBpke^?}s+F<8i ziQ?usbIO2ZJLalY?u9HVN-wXE>wWvJhjK`eV9*8(V)3T6uXV;hi&iX9Q-Xmsg5t5j z@0SiXu5F_ko;%8^Uu!ka9&WneeMD*7x5*Pq#+X(eM%$=+tNo29uhEfUr|I(iNa4N2 zX`#KeKQk*8q$D3ApXByia#i|26G76h^7}Dl_g1r3O)kD<#k^jx5VaqhRPu;4L97w` zY&OrA=M>l`HA35yAAD{4R9dGF-4Z)jUo$~nnG81GdOrOcQ@6Sze5GKcXfePbO}f;K z9xBvyXR)=kkvy`%f9%fQAp2|?Mr(8f8(z+A+_@z>b@$aX#G*Llx!Q$?L!YF4NQZEz z^ES%lZT$dZfarl{e|#@0De$9 zuE^^;a0)$g4z>P5(}A@XP`6fa4djD4F2Z%nK;HsQ$ZgSJ+{DK+H+-4of#%q{y>iuy z&AsC0qmq`#xRS%l6aIr!_w)W@lXIvL8{z-bqW4gr?@UvfW_uHrV;@q%@qNn@(i8p; zqNKwjJ8;zD4AS{ntTRFQ-dbxRo9XSRS`rw%cT!{<@)Lok?51#77SI?w+&?J2*urex zkM}pKGqvF5eY2pGr{f(r&oh>%VTX^rWYzN9)}PgzD*6Kptq|{HcHFzfU`7D395{0Ry3W_${<+ zj;ncH45vy2?oeT-U&&8`!_s|kEII+OMK@uc(CgbI)FXtRD=4w&vA;FLvWb_^#Qr7v zVQ_2ad**bAxD-xnxNP|cY>rdB?V{vAJaZYf$AxRt`Z@3x&C(GpG58M0Y8Psb0{EG- z6J1n#XcQyNF)CL6yEyYF3stilqM>N|X)23Ymb0KfP7H-j1?MZ%85rxQv-GytJJDOBK8H7?2}J zQ9~MUOHkYvtyRG#D9+;D<(m9;L!jbP+q*u79FUd((x}n+9w4V@838=*9%?8kj(F=t z`o%$2!0O*v#VJvp(5u^DlZme00+E(%p5kv0%RisjZ%epO(XbW+b9E4fcEz|}?Wt+z zhCoP*dC}>-grKB?n#ttyNXB!;5^%&J43t_w9e*<5UfN0h5DCIJsp$qu9srkI6G{`z zsYcTb^6m({@aWa{(gh#6>@Re%_W)&x#H|->8rT0Z@PPkUyy^EoS+L(BqVY*2uVZYg z))1(R{|8GS@nDyve4MBLn6LDhU`6Z(WxxA%P z&{rFn^8g%lXU>IW)J{^^m16}}Uv!I&QkL6w9Ou(U>ZfoFc+&wm`G8W&z_y}b^U?E}bokwU-GtVprK0sioZroK z%#q~7o%;Bd1yIj30s=YuatGP`lPkY5_zSt$M81Hc>n>lY`0~|a;i}mq>RB>kE{?LPjD6p^9F2?h8K@;D^o8FKGdtd)v_>dzxS_01RT;x)=1ff zQ35b7FCR|}s;%KI{jAxyU_L1HIxngwiFT`XYlbDFd8Y)AQ=3~8bSDcbw>XbQ{X|d^ zrmLbeZ7$P*vRaYREGdxTs7Ix~evVuNa0%+9M$BM#6-=v_g;X8HkFE$m_sTM zvD3oQX!*#Dm;9WsRU=LYg9{@D0L5hA+~p~fcy>x>E`Y{!<%>^@A&bi@7rsH;OAcZl zD`MmudNt&erAc(^OlFGR`p#=m01y-Si?%ui{a#krB;4MyQ`+*S0l=BVptt z5DIdk9MVSw@&?3o@7+}+=_QpdOQl*etMuUTAcBos7(&;GQ$g?sCy-HN(u-=$Fk;Ef}WNAKwi$TDXsieuaS&7I}A?*dSHR(q8L ze6&P;)Ucn7K%e`ZYVx~yekVgMcWK^S28JaS2coiMSj(L3t-F9r{sudZ+d111Yt8eg)FrxX$i2&k~otvb0q{l!0Q)Y0RO0=T@S`kC5#4{n@EJKi`m_wA2ucGB$fT-Kn5 zd@`E)I48B}foL%5)Su=I5NS|fHt;4L48@0n=h+)1LOHWndHJH+ONn73V!JNi0G zX}S77aeS1pxqGv|P5PJbE#OAF+!s!%3V@kxtQvb(l6D2WD~UXC3@;=_@}O!`?WP4z zB^opf(th#4#G`Q!|U~-j^PGzpQ?LXY>SMBEarH4F49dWl|BT( z20i~wH_Y~1c(5Jtef}c|#=R?ko-8x zTcFeH=>yB5v&yRNji^{W&lsEr;n3Kxu5FZ}C=@*iSz90}$2g#C%6T2^9r?ub=9|*3 zniLcK8w8RGqWW7F`O#;7zqPGA(P&FRzQ6#^MoCz7&!$Q^budb0tIzw9@1U zerV&2ms}Z_6sRMQ$717(Bb=k)E3-r66qm+<$k1ycR#%WIIm((s@v>rHPCyaDWs;HV z?Q~(jTo1&fbiMm}{`?tyKFi9rgz~kcESc;1%TIpit*Y+z=yQ&!e-6Zo_~F6?aeZnA z)rp&r6@JO9r2MuC?AbQiB6MjEx6JipIg);{abYDia9T}fs>rs(38Kweay6r5z7MZI zR`_wgW)K>AVd;A3-jLoO{_}GqEN;8CSoOv_S-{II5U+1mvhe{LHo7*PWwO^P`n;9{F)C)k0JX7-MFcHtMB zTovKidETo&AKlH<2sO~hCy8)@D~cfLc8P1gP9&d6Tz;y(AJ|~#dvfUW>EztfDZ60t zq~JjM>9w4ePPvmjW_iPc_P`e(Kem3YHqYRx87{nd?rTJFWSpNdw{Ms$a5lHz>>JP` zJg`-Gw9>$GQGW+)*7jq|_%`QJ47-+b`@dJRNPyR<`d zA5x-lAOP5~lIMJ!aLPfS^IC>E|Eq1#xT*J`nfG|#?-^F{Q8urBmh_OvYrp!6d*z&2 zWJc91=Jo?2=7Y({mvC+KU>a^Np7rXb_`=PkcePBpQqP{aW4f_te{PsI- zom{nhhk2Lzsy!ch_T-;vzfX_D?#ZJVhiEXCsZABkeh-c*{T$mqnCEWsCt-fb*lsi{ zeld*mEcY7C06!iTLqdhb0fpFepQ`)sYeoaDoKL?REnF@^qcr#cf1oO1>L|?_3s^i3 z)Rb5q`tk$G``3A~BK7?ijtL=|JLW@T_*(+WXe2jtf3t|Bo%_rFH)S)TR;eM|>kl9) zoZylz5Mt2wtG9#*5xSxf4P z9y=5aKMg22dyV($l0-xMNtXVpc6m7Av<@0p8XBS^I@0p~v>I=tZJ?MRcaxJ zBue^e#96}!h)sfO|0r}$crTNYkQ|RB%c5nm^zsDsikqTWeuM+%9Dn%z5nqBx#(kN# zUdD&yfS#gn(ASU21B~ABo<}2jW(sT;;9#{h!6s!15A&qQB7bVFg?ouT z=crwPqY&318n@P3c)#LL{g7LDb=>$);29?%4GO&L*HyqY(|C`%WTpLnURh6@*K!!` z*WaSmhd>E;Oi^FcU4{l%$v_-w+U0}D_ZA#&EWD0hR^ze}UDQ`6o22@j1{d$5GIAqD8mLrwKxER{9lJjiLp^l9l`GBKyX7^20G;48|3s&w zQ9>}}TZsnd{!W3!kcMhS-#WU)XDMJnKDt3|z3Zfjd3jGmasT|A_7^@FyrK#mhec3< zA6H#G`rYEMp+V)^tck>U?$ecreZrP)i8#*sm^@bJ^jr~~SSn@RanP&HJ?XW~8hK1)Y1XZx zbiiUNa0G;3Q3Q?)^(I#D{`|0H(~EiW5}`vY?>zcNf)&fid1#sTbM1|m%jx6uZElWO zVtNFG1Kl+ZPVvqiPXx4&YE$aOo?3M;^>O5Ryse6=IF^lnL-*^ZE*~&mWVkxJ>vZ05 z0$hf~Q%9vvmkPr4X)t=^I;xVEZh0YZJ{tKt#Tn{}1A^)bLqd*YeBCoAQnu}VA_=%M zt4?AXqrsc5@A%~0WeZR8zP}*astTUGTTl^81C}>vj8avTTW7jprmJbc_DQ`0tXY)^ zgHF)5VFymcAm3w9rbW+n{}V?Ei_RcF>2no8jOSd|yCEIE#@9nGlkI(!>2U3paKhWb z>h`}wwrbnaNLDga&J)eks$aSLtrkIW9IRkXhan-~hNH&ZhxI%6Qs-d+GKig3wwNGPlO($JeetSX0^K|DpuW zMhuQAuQT6nZ(FLn>7dJO_g%_Qga2;ai`c}j(3Ye?5cxm7t0wk0{QZ#!!;$Z>FCEw(j2MAL(Iov-n2mL2`K8*@w{^(UQwW+xf-MUWngoUQ_-Bdd9%l-OKfZy$M1t!^ z6_>6T2w_||*}?xwkmxCLCB)7VOI0*V0dGg`!|gpoF@Z^bM|5NqiU%-ow&)!VJv@8G zQ<8*uc>$t9ewDjI%Sk2Pk?}nj)6l%3`2p6gYCQ&K58_#kd__E{X|yq56P)&LSE8ia72)=G z^>J7|GxtL{leXTi#*yR!9drP%ZMD`v9HoLMW%Fy;4UXptKW80MQ<2WT#{nqhK#!pq zINVFWXrJsfcW@{F$t9|Rro?DSwHcd1THZhBP8+Vx(pb;RY@~!G{pBNXNKnKrv(CG2 zV;~Om=&SK9z(lsJW+z{L@`GLxeaT%958s$wdUX7k{su}YHV?@XTE73)3*eW~)SxY&2&#AEOM^EiI+K^Td?nQaTZUuSw6Jk1;& zff~Zv7qd2zXO55-<73}cpSJCZpi^=n8UU@FNYur=9Nv8EeDk5E)Yp&}0jYEvGitL) z_5YKEWOJ|fzxIF)du9NnJpok%+B8>sCY2_+bCfI9Ao}kPNeCc#k(3)E|2+)7O>Z^YX<&6=dg9W`}wOG z$(EJ(hwanf;{yEb1x=0l$QL{4kQyUuDl2KE`Jn{eG_Wek60VGApEMAb!tJY+nyhTf zPx_DODbU|1Mwj2WK7C3dsG|mm26dDe>RH?X@!_LQq5O_D)|Wv?cAp$5{##Eee_>eI z(O%t!toCcRVO8sNoF?l;eH$w$=u+sRK=$1Wf=WZw+yC}jcOQ~neQ^bdl87L=6l(Yr z1vJbaUtD|P4GP{&!bKgX&6~4#?lOwKSXc(A$MbpA>fW}2y}LkU{0St%pr_wl-f?e7 zvJg0EEQt(P475}ltK$7HS~j5*qJynCA*5bC~{KkYq_?@$!j9@hwFM@4;IIZG9f5dG_AJQt}GzWv8j zL)EP&^v(mD4}cLKkjxbZYe*Q`7Yta9V0Q7YJG$B4ZaeAdQKiOYtgCpBGM4ii3FG~@ zn&K|wvYn?GWqYnZDZbV((07nZe}eKQ8B_T`HC|6QrG^HUODWhTrPSrv!ZvZh|28F< zu#`qvLC)(uE#!iOojYuFgR=1$ApG8Y>kL72E#9{nF0D@Sd^D46(i^uHJH1b=lLnGy z)?M5h1YAX^Bmfa~gTmQky5ut^Fw#yUkgft417v}ko}da{9rsgBIHu$F{?)Uw9*;*Y zqi5Dw9RWubmO_7Xlv+~!(bHJv-N^$i=JiO#uHm<+Ld()~_kX|BeT)t^(kq zk%#M_qAJt1i!y+0t-PDX^9gYpHMs-(Z1q@plJ-T;&>SlEKOWHag0#zxZ%1}!h9#yp zMg6!#hk$4>Ht+PEbpN2oFJT+~JXt_xxS(g*>#OOgqqn4%4eshAzym ziiKNHZKnBMJk^U$*;v<8rR-vVJPe#okzb}XwBHW0YDB+4mx4D1C@#y4XiymoE9irnI!y? z^<3N{!?G~dzm1o?xHHR&eD~0)$o@ZCSG-1B-d9%mb24zFb+7U@uItTcSZTjJ-hTXw zE^o~DwA$L5tGKt-{=1!|czK?+vW*KZdp0fPLv?1)1u#Gsg-dab=-NkB84nE(;ELTj zIuzV46aH_06w2*XPIh@m?#KAO6GKPfon^-zZF_T3zrQq4m9;eKc{a6{L+BG2QgZpl ze_vB~)@;h@#=A+|5&!+bX}S@sp&IS6!$%%-8D%nKIeoL;E1xP}%|FIoM2}RocNoH3 z$r4FDZRIm59c*p`C`|nD`_S#Q(pA*W1oyPs@&c?_)b)d$w%nkoanDv~v$R_e3+=hq zAs>J-cEc4tM~E$5^cSAy$OvkQ6)!$RvgY(|ejVy{>-5qxn_fI(If%`!?t&NhWk!_ribje)Ys4+dW-o(2XoC!0!3-@Q+o z7N0VE621{Y0=-r=$}&fzA@jmlxYg_9*-mXEnum?T)rH(m%?z`cNM2o&(7xnoMAUx! zfl_KN0sAro5^-jnc}+_h+A==Zt4SRdP!LwMaWnTeBlW`aGcB9`m-KJ@>Hw zYY9IioBaQo$fz)0C!gjw-;CxjlC1i+44glDN$^v39q)$p zk^(dMK_`6;8EyP&W##QjSCf;W0pxiI%`Q?(|KaDx{3l5RCe1iRgg_|qRiM4;W!h%U z+i_(I__1A(he-VlU%r7NKMYrFaCd$tBwF-y1n*ZOk}NJ zHm|z~4~Rp4kBwW*Iiz}li)ruQ$Ct}KUWHf0pDwK7m2=~G!f@Xyln?u zD?pnkce+~W_ikx#{PxuzZqq5pJ@_6jxt$fC7qaj1_AJ{)ju%;;WoGRfa26g`B(qvd zs1eg&_;T|jMPee^U;V-X$8RAXk(KeHgPUHOq%Sdb5R`+Uo_2-m7AO@{cU&i89PJzwhF+_HJ?i0(d^W{^;8~#LngAlre3g9OxtDG8sgyB>Qy9GzQ9=SPPG0u3=@Y3h zMZS&}X63W*qp{)*laH=G`Dv4#7pmfSU4N<#D)?Tk);fAaYyT(HY3WfrqmhOoH@!(p zyv?~m=kv$SGq>35^C$oro44#$=I4B61b3`kJQIbr z0+~pf=i5&{Cw}kl$T+@!{T`pnlm<$3{B}Dc@b%q~?KQ9>Dq96SaSn+(cL#WWQskk1 zx@|}mR|&2ce+~P_Slze2HzGu8N>tf~jHVBU@j`%?&=&1|%}3eMzv>Ck?GE`<{~4rt64?-l2SM{PYrG> z!@pe?%Shx{T$eAn78Gxw`kvJ^kq7=;$9>G~(+;`Y*d(s(n7o`oX^C`CM!k5r`QqHy z8&xSeJIdfv5%a8kX<}X65v&#x>1eP{p&U)ZYR@p5wZ^K4!{t-%0v<7u(Wpwi!(+jA zhg(g$ROGC*lP#RB--L{$9+z@hfyf}3W|$ihapoT2U-i1q{lU-YUMiN!jv6T94`Zpp zcZG%qn2DL#Y&di!A-Bb&n;Z>ac#30XT}2U^)a&xMlDUQZrG74jH_7Z}aJ_LI`Gkjk zLzNZRDWCNKoC>fVR<)#SA^hCaXI_TZ+*L4^H>1KlI`R}D6-j&Wc2C&EBr*cao`1*b zql^XuPhQq6JCu=j6f2~mX)5fb!_W8`h5wj@D{|8OFB_on5GtG`-?;qkkHI%){SH$Qg7!TfWhgdXy%1e-2R}Ua36iUMW>-1vgL9M=MpkmNR*LxD_;E&&UAhBA^o*Ek}Hoc zfFY>0CG1%$tnXhc7Pwm_ZG$chuytT>c`4KSZ_hY$ylxCJow{F!7i>r?LRi#Mt`mP~BB~=VfjVAX@-Sj@*bRS&6OLEkzM4yGT%{wc~ zHmO-lK%dR#9oFyq1Wyk?FNLk;U?|=lhP%Kkj`6tcAR*1z)FElqM4%)<+dPa%OEyx+7Vri-x@ z7X?vxk@kfa8dBARaA;_Hb_n)W#`vWgJm785W{Rn%!EV7xe=3bl#s_Sl&JTHmCRjxh z;~C6lRn9E~#52&KTL-JP=s{_OH1;Kl%DnAgf1kFH?DhqOq>=nJnNP549txYsEeTb) z0!}w~V~k&^7SiMsTJ^Q!kxzTeBxkW|dS9x{zBs3R%r zRrhf!mX4cJoXQ=;ByNYX5Yx?`I6NBcq_2Gur@eNhIvXsxakt}J)GWj9`hMB z_w%2Dx^sIPgP64@alMYM#@ZL}mTw{**R!TyO0qYb44ZWTF{@6_p2h9(lhB#A)9_!% zwN>qHC^i?7WXy*Ni~F8lAt2O`^F>c1Zd1^TSO>@7`*)=u;aTfssZ-LZsW?Rw1F<8a z#xGVEuB?9QlDOGv&yodtEDPCWj&U{j>;PCM|ESyUx#Vk=#1H)Y`0uI2Ge;*#C^Fj` zOJQ_XHnM&1Wx{Ne<(GHJPg2G{zq)-ouglgZ>uq1S=4yKSt1tVzT65yJ^H?h(wl1}| zcQPxLxo1T{$viPPR;&CL!S2yFWV4Jb_JVoCf%*{ial9=)niSZ?}|QM$JSDH^fa(8dCal6^8cXavbG|%jz2yd?B-ltfzdC zPgv&D8$Hc)lg{brpT-w_@-2i{ozt}Z2S#J=!9KaJPlby@O1(|^%fw*_98ZOO9+mj{ z{hMxHWj_SHjAoxPcaq!=m&k9lzkhqvm?xc?jtP~*1A=0r=dV11w&nNlZ^p`2a0E&M z5JVG*-Jx$x(ZtE=P99V*3~_r}DC4XD$ZEO-0Lcxc*xkGDdrQl&704|ORFw@^RE<{3 z?0a$F+)H@g8S9bQV?Hr)5@tp+gJrjIwn?RELrycbzsXeI1(1J;u=xvEw`YyT!m8nU?_jBN6|0r9 z>Jxd@&DPp+j2(OIm$ZmHI7yTLfy>*lBx6Kl)e9#^t)1*r$~S4ZU7PY$<}>T^EG0HwmUzzWRLycvb+AQBX@HWw_QFc8Bpga=pZWfrs*Jaw(rk`*(%z|V_ zziU<#wYq%!uyj+0LNh`IUi!$uGsV}Wdgb=sClH2$*s(HPW5==;Tdiv3^$~Bv<8RS< z|HQSjYkU}}ICDH$ubYF+LQIeY`{&}37Gm|FkOA!tM23UG_(`Pe3DHXjOpq|4{%?$m83R8Tg+Kv7n%s9AkJp$r$$1Sm z4oQw0E#gR+=DG%wPZa1|Sj!l*{4jwjooK|=Q7D^OpFp{7xTsOvOwPJi#p|lGRVs;X zKh7658<_;7j?fJAzA^fa@|0nXT3PpBI1}}?f6JLHfqR+Z&{G0AI7A(LzxKXp!k1vN z5XPPnEt=f^Q7`T1#01y=Jx@v_{C7M_*$S#~l%{N1jXy!ZbDJ7Tc=R^FD#^>qAS*^!SAW@5omgacy(P(lDs zO}gUXVaFTdb+E@<15XL~-;yFp+5a6WLP=6mh9bN*V+=!xF|b-~g}CESRT9l`mWesm z=(uFz*ZnRZs$a2Nl$KVKWFD*(;1=LIEW5KcJ^nf%jV8D=H!PoL)~~MhErWjJCsF}g zo|;GU(F_ysj`EbH?r*)JtXibNvn^wBP`ZxNi-Ge)2@zQ1T>C|<0oSdzi0P>B{#q8` zd2~H+#h7M7Cw=q7AoRiM;)>SN+wspUT4WLP`z=y|&z_lmjEZBhw>lgdGmSONQbA=$ zL6W$TigD{E5OpLLIx0DcKAQ^=dk*NhEL%#Y*&@49RbZ6;LN=o7Mz4ZhNgqE9_kxc4 zG*F^<#f&b%3;IOKr}s$A@VhIkNNsaKzA(MT`f8D8mBW32t={s(D*Cxn4Y zYlo}A@sN;=+u(vGQvw~zpPNZI;SlcT7yQ&lhF7W!VAS%EH?XhZZe{9!W-d8!Ju#sD zP^LxmMA*Q(yDi(+9_oGZd<7iJRZ7&OwLVSCyF%QmBEl)vc&owY>#GIb>PEgl&MQl7 z=Ra#s8xGsA?ezQrC#6k^*VW>}wB-HXwTRK8=APnnXo+f+p#Ykss3c#cPZ*qZ+2OVb z*NpY>S*jRCY=FAYW0#Yn>?Q?5E|Ij(-J{M#RWK&7;<(knO^2;bD|{5w`gKcAfC zvM)eyKc>A9|ASztF*Ib=VeodeV;C-~p%+7uNjT}|0KJaYiW!rnchnG8IhDkJMnAB| z^}V~I&V&f4i?P`nwvj|F40*(ec)5jkI59h z^nyY5(Dp74?!k?FHPJrsvL9SZ0-#D5`kw!&p;weP3SL6=2h#@<6ocL`gnmlq6iKaV zU;YK{C72oe+|Cp9;+zDbo@~r&xYFB{>CH4M8)`rfvRsRFZJn)}EyI7G0vEJGMk#VI z1$yfN*C2 ztPDs#h&56mZVN9f>i-L+xJ8u!E0VuRco;Jq?!(=oyni440BA*(p5y5*C6@{Xxl$Zb zXnT@*?!)E7Z(klbu6sWCu6*^PZAdyWBbY8=i7-`lXjK*}(HVjv}C zz=N`Xutrh#KZ4tc*GWSDw};EqqsECLZt50ld6e%u`)AK2>QFdho-NleSPPp|T1|(TsPkS=Qop$ zI>4dupfP$g?U(C+(5ImUk&!GA*mrzI?|6$pb7^1h?iJJG(I_AJ=_#Q<&hCU!-8$MfR{bP-a7F=th7NBt&pyz2Z(Qcd&j$W>jkH5{^srAhKZMkB8`mWbNH@E zx>Ob%J7-ai)8(|jxqfYi9lSjro;AdK!1;=CqBd`L_ZJJJTqrx~28B=?*S~}L=yWs` zsAl9Ru;(BS&|%H}cN6Pj9BF(O zj@-4y|4WcBn3oln6L`Md=<$1&q$+Ns2Ey>w+Rm6kLOc}t5rb2fH6;ygNk{K`z+)C0 z^Y*@?JUN@Rv`bocwO(B2Zy6}bUg~Zu-T301I!%83j)AK&GJ2}5Dse?W&S2obgL_9! zn8Dc+_(cQO%lmgSaE8eR9h-^M4qJ*92O>KG9kM;j?U@)x}1Dg?wOeomGKo&h;cPdBXZ$1m`C{J?uM@@?U>kSvTnEyhy*b_+eRKrgsHVmq)4GE==)941%F_qU6m!crHy^?Kc!kgH5Ce`iPEF}KsR5n z=(_w^3?Qb*M0lw`ZMdDI6vzkf=HG8Cm5R-%RJ5_<-ctQ&g97qwKy?v-TC#|mOGDw+ z@lig@kaRoFy_0Wh6wNf?*ZvJ$Q~biNbT3Jo)jvgFzZLOx*|+A*$Ahogp>Ux*Awth* z%VvLTQ*iMI@7 zvzHlfmJ8tKzd?A844oJSquzL)d*P91v^a$rqRXk+`wff`^&*V}`5+^G8g8awB2ZgW zi}{w%u3(%5ZiYqE!f43+n^PS{cqi^eGHf4ho;~zQ^bT zpvWn_PSte#gq#quaWBF( zYrObfWQ67$%`FmAXQD@NJG6GIj=xeL{}YU-r^X>}bD|x62$q%FZ6OEz=w7Ol$wwRL z+V@$-o!my1aJp%yAL}(%m1X}%3dG&i;f9o0l5w*TUYRm{IE^%lI?$IA{BX`K&%@f5 zj13DdlvRmPV?0f_?0NT7n+x`s-`Zqf){DrB+U;z7n=~-fbDo9ia_s;7?wFhKX?xwu zCmK=wtAvrT!M47p3Z9J~Zl`pqrJgDW3j6lxgsQW388&rbk0*kjkNXLOP3Rej>a8D%4}uyq+*fQDy8!TyFdWdvqjg>Y1kaE#^MllFV^!`;FGAeZ$yG&C zC?xt>828{;D?VN^DT^1CAr^he!)Wgtl97s*6O{LRQQ3^UvhkiMGqFKORv~OSAkc0xnJij~}#CcQk@9daks?u$;em+L{j`vcPaXaOM&H(jP&`jn?(Obt9GnpvMtf#l3g zk{3+m*=nau%LdSQ#elI0pJLaZ4T@(vn>+{Nk5ZB%!jXp24kS2R-%u1l_uxA$F)S&*Fa`!FRs#9OQHg zC9mU6(v=1a_SZ7AKJk1&nSa!@_-YR5r2hctC~OavC_MGLgtFft_z9&*UcG+`&Ts!4 z^T|%XG~|x;j1@~75~Th0i{G(G^Kb;iLyD$)+T2pH9~2U-nlr zvv#4)AiY5U57YqPM+foPq4tTeCm%qr;xib>nIN{8>lGlt`?nSyq5sSra@~Ka5{{|) zf_KVmOe=2J7W@x84?2&zc6(-mPen7EB|RP~?WFosq(r1XsUN)j5{CBp$9Oglpm4%Gych!zcjjc+m#&}#LfvhO7>4V8^=u;9 zL+Q#q66)fH79}=a!oP$4F`CDBR;s_<+Wo0Ss~TCCL3)PBV+lV>7B1H5<`CaVxea3L zPZ*ya_Esi6oln<9m(YMyV?J=)^G!3&8!doanM2M;;yXU#>&&a)@7%hgb9)n>l>0$p zO(zTYT||k*4P;8NLr|3%=S`CqZLmA&)-B%2V+C=618Lyx`KO{Eww!}XG zZ7@#jHhG)WbZ!fdF%-!s;l_zn&$nwW(45cExJ>_#%P?UyhT*jZwUZ+3!KF+_A1={R zr|A)nTLDQey*72=xiAbxL(*v*oOD?7BUnCcWUqnm0QrKXNgGq^4Q}jB--j$IJ+heA zPF1F!j{VOBgs!*u)sz^0+K_$57Jg<^OyNHBt{Q?f%w`kn2|jXUOqGTv!%u6yp6OYS z)wdPP=CXYBDfDox1rj=w&ub=JkwmlgL=co?j&V*wQu3huFB9r0@I|C)VdsjM;z z0`E_|TcukkI;30s?-a)U!e+8x^L&XRw^qo;nc&#PSL;JSc#(!IC)lfkQHiL&9h@6e zCPakYZ{T-Hx!JtiHl*JCNKMZddX0+T@|94{V@ggXagpuG6NrQ)s(=M_d_XaUk=@G= zMvXUEILm)GUS@%`aS5;T&d=Xx?_?;htK$z^=5bIasDjOxb@KbCaGPyZ3( zw>w2huTz8W_m;VAK@ERbvR(2WgZ_lIwHVB*yDP9Vpta@9=qQ}JAV+>HIpii=p7|?O z$E$FTf?-q|L$_!mcA|Zd@9Wge@}>-E@v1)wwcux;iSSSslAY$G@2#iW^5W)u03i5x z{EWw+<}Ds)m+Y9odaQi+&#F@fIl0vXmD+20YH6VZ>V$|ycQLQM$`RZ(i_J$Gh8HS3 z)B~lJ;6;^NRaUIEEKIJvXvqO}ZIKSM780S4d>okna~lG3oQ^M8#gZ^=m5zyp)1z3nj8))aWa7&i&re zV{#i^elMgnFD~{J#4QrDekv}3n_e!M% z2!qAbrxShCI%PTG+B+2|jNKql z-Z*aauj%6J$D{3EvAa5w`yZ1VoK&?d26|Dxoqq|`sJV)Kwtv=Cj2*1FhE5%A0jAJb zrjU6hy00uy{tr-^;fTEUZp@r1A4o4zudl&<7eRmOS)}k)>a_xTPX&uF7lUe0v;uzU4@(G~C(2J&e;C z$^pJ;V2%35;j5v(bIk=?I^?qZ?dZdnTeX|HWZ~vOB+1b zq!IW3C!)ku?=!Z47;@aPGQsIB_p2X5h#=hAev>N--s zl6jnHb1>f?_-*Hyk=_R5F&$UYIg2v-35gc;W@HqgG>S4&Lxl;HjnHaON^sp*Pn-`O zfegn6CBqqYYW`4ATl;;TlCjLL-eB4kUjX8W^}$6wK4ivvE^(QD__2H=$*u!O%NeQ) zBSw(h*4NwRY=10wKHTY*Dz01rK1E{fz20=R(j`h;-kN?BhXV~4{+LRF?DW4xX?n7i zOmCZ0Z(CTC(VcT$2m}<+O*kArt38oP;R$J#0q}!y50)2uifQyF@kIX3+CdJiBZCdv z4&Z#vaYMaw@>A6Sn7C1oCbC{3t)%2^Z-h}Bu4EaPe$rhVUcq{WMI=M84>a7!nPl05 z71J5QPt&gMEP-lF5Om_6rc6aGJxbm6`J{lvcn|BAhlYF)Q1UogTI%}w368cFdU~wa zTrQxR^9OpiwH@cZujl>Gd|+%#gc@KX*}V?;{T-BkF0JlPh?nwfIZNG4AUkI;bpUHq3(Ei1Kj2w^dTC9AbFHFdHLh zD8cdKZTJhp*cvm+pUdf#HG}V+ERwWclHXoCS$-WEq_$(zjf>@HhzNp}D8_MAWCXvA z%b^njqR`kGAGPFx0aU0C#ya`K%7x+W%Qj+p3kibOwUe+^%mLUd+sWh^-K`%9JeBL; zj^=K;;64#N&6zhQv?7u4hl;-r+(xpvmed*|)oVZN2D(CebY2}e(EME7QDD=U6_^)I zmbN0R6HzM3Nz6l0H?lDXdOH8+*RxM|-QLD4az%VGx7T^y^;=U%i|lzO;ri9UUkhqk zl|mRMFZ%h>!4}(U08h5=YDE9N_TmGb;nRZ;fjFvl!u)z1$=944_wH$BZ4LMZNRR-X z*aLgRiT0EVI7f=RLr2endW*QD;C(U9pPn*&WKpg8vVFZVI0v+L3D0roO&6HHt*hTw zNbvC9Ec(LKC$lnY#3<0>Kbjvh*8dgoDib1v(${*s3$ZcK%g@zf$)Ds^SC;ZsO+p+# zXP>IP8^rx05{u_xpt)|3#YvB*KvWSO=wTNro8zi>Bk%7NZ!!4aQam*@M|`mEfr9jt z@c!0_!=Z#bU!a&As>o;aS|YuNtA1-})$zikQipD;P6y$6YULYf3QRjiwjxYi|DNuF zGQ9lb8#2Pe@v4hNI?5nA?B^^$^0*DTh1brmsh|5?;fEuvBTL|)ANbg*|AlBbH}*#cMwp>Vr^~<#aa;Io@-q$ z`98pDeL%eyiGd^Ri%jbokFm6eQRi&NrLBX_KWS*oTbz)9Qdjd82c7IWIF|*SkkqUH zFtR*$XG!*^AQ~gsqobJ2TydT2T;#_!fJgo&nZ|uSjSv> zDf^>6@P>g)QAd|8d6yNqMLlzFem&JtZ+Fu^As_%Xz4CM^N^wFTyqyxn_^+Uh@4+Ow zY8$A%h)^VsRgrRq?gixwdd6C$A9OqbcU9%99`wnxW^!MUk8HmNxmoS$MHtnig?8j9 z=v<9OhOG5nGOFlLGzv!FCLZQK=0QCdh5GwIs5CGWMoA@?X5XIw0;m)39^C$}-pUzi zU-Dxw_{FxjuD+c}2K#q1W{QhjWEoP1Fx-;Xue*&amkwj`8i5%O``n?cS7u=s*^59o zT9#@byY}Qy1%WuaFs)3B-%&MvuPSpsD!d=NGO|Th@p1Ar)#gAc%78~ix`9 z;Vd}$fU1!vpJ!k-ekdoFFV;?|I689QmY4j7ZJ-3(Ik1yw zU00V8yw+NOKU2te2Go2ngcG6SJ?G&~~)q1nb?dWr9h~5=&1=6kEpWegL5VK^r zt~Z%K3?-JyoJ15*8N+tA^+#Cx^RCu0p9sDt7lF~JJBiJ$ogdrh2s@P|B%~DQlIXr7 zYQB21ddv`FR90GJ-sN#LBQ2h3KZB1NP+wi>V1{~xVwj^z>UA8O0|0K@&J>5%Ny{ghj4?heCWeEc#+g@DyQu&ZETaMNt8b&Lkwr7Zie`dhGgjmwk z8?G{f9D~7g^w@8eS;6{O?R~}WSOz1|iq3EcrF*+4nr}u$m(Pa;$xa>JajG6Sa7-#A z_-ghR&Ndwv*aAsq*URl82|=wCk#EEAoYvTXCO|n-Fo+Vw#dF>r6cM4)f+1rv+u`BR z^g2(2gt)b_gl*4q9m?6^@adSnp( z^z}UIm8i)<)dRbGRxj2*AjD&MeKXG}$Q0DMwqg=F-!Moa7q6$oY9kM&VkS6`Z6T6< zU=$i1m!T6e`nWM+@Qa$mC!hd5s78@6(#1rR{?U2t08tGJ3pHe?H&(|k(_8|_Nr2*3 zv~V>b(!gna&1Y6Lv`^a<`YPzmW8lXdz~`Mb&kH;g>v?41)FQwHkCt=z(S1R-|DLEv z8QYY*Eq0R{?0h`l;Iyh%O>ir$rB;+zn(6c3phbWKAEdFfiQd$M(z*}EUkmYF%?=Y}8gIvsM1Np9;K+rMJ6~ht;i#pQPx;`kvQnV- zuF)4W=G?@jhRbk3v_h6MOqc`jp2yU3hCRc1Cw}9!`d=1d$GcV|FDZO)juRX^%=8lU zg8v|xNsVyf#VYO0bcD33gRJZ$RM9!g4k8E<#xoerZk$%U%ikj0{O$0wgTWmN0tu#y z#0aRd3PXXnGDAVV^=4$vxh}XNAF@Noopbak%IBFWyYFxOY}7#AaErVLW5I{6e(Cwj z+pZhgf1N%4%UQpFF&eHMyS&!)a8hWlB)?kiiw`IFSs|mihK zyejJmKb$#mLv^&{!}s1&TWeTtE%_md8jsK<;khGaA6Qk;v_zLkIf6uJ@c2BmQ_Y~O z3`{N3M{s$4e6zT*L#no0_{{qYqAzc6A{vHd`Zf%cRg`%lPQVOv#5nt#zhFsom%7UsyP(gC$`K9z~st&qHf|=00}>)y{#0z;++H;LG1ahoM<)HSTS5 zS8o(-CVc_(s?lwx15K{u}>pkJ@3 zY=uUats&;a1ZnD}vq^#T%MS7>-`yY7`@VH75|u8dQThZNs*nhlmc#0$Tq(mSc+00U zYZ5)W=wSoFMZTYBWkJuy;S7=9?RSrO*|go~>D*mGPDujLA7)u4d<;l6X6r)GPe33E77>R&Ii21VxMBZ}?>OrT6h`iDDWj{qNy^wx&SGo-=W;S-Gg)t90u z;Frs2xW=7)sKnjA@shj!J*y@ldT<%g6WNic0pSfWG#P2_TI!R^u7o_;eSVw1k{VP6 zA(3jsNF%q&(JhcHIE=F2!X~8?1?ObQ16#XO@{|yq7mf%pmWVs>3}-ua$fyy{(Cxj> z4uXr|Jclr7{m^BlsBhr zfQ(}(I3MJ#>c(1||D~e1Awf^U*ZL`{&`s1iKrKny1We$p8k#(ZjzP{2%r+~NYi)Qp zSor*aDlY_cxOz5qrq)63`%C&M%_8YE^D8J70Z5%(Cd;B$#_&~~^lDF7*lr#Ug^5nN zNZb-gx<`vZ_`pauU0+oHAUz#v$~?{s2+06a>Fl6OH*efnluq!4k3gaV5(jZ-3}W31 z5y2}M{e=;mK%XoQ8KjIg7wNHmUeDOpGDRq%2<#r=4@Upm!oy(r4JeFegU9IR{-sOk z?lR({58d9oCg1L5HHkq=YRf$@d5PmU@A$xmVxEz1U4e@w@0XowC=>Z@}9sePB0*T!$B_$d^2`$GHp; zYqNtasML|6Fc{yu<29 z)RcqrkLTf1Rj~J`)2BGf`86Ds4L84T$6a{c%A%_zpU2TIkrD$OqQ*(e!~*}?3)6m& zH=oEdmL>coQ|^KHl`mS7g~0Ek!}$3JB2wRl8y!OS(|28?5(Ntr*fSoL-z?riBPBh; z>2`dlwSFw}8a5-nqHqa7O;wPwi76e$1cBvD0t6BXjyUQbl~MFkkBaWkxMnQ`3VcRD)%~OPN2bf=!A@2Of3ZfYNk5?J2$iQ>Bw0QySwxWPx`7aXB1YM>OK+ABBl*d`iKydjtJ}8dp63J8o5BH_;baO9LoJ<1CLvF=Wcg`PSUom z&HkKK>FG~v+7x2cv)sV5zAve11N8tpF(MraCrSAIggnV6G1hyI%`B--SS~8=&g`+I zZzHFZc@$5;v}Z)gs^ZeJ%hy9i*W+8=`x6#Coi>}ozu9HS8=*i`XM*x_a!Le@zys*R zr5?I9A0e>5{ouBlT-BO71dle>35sRTt z8EHI~o!{#5)lIT4fv$8ddwZ;Rcz>b{*U_vazIyign~}z|BD^zb_kTZtZK5#l|NZ!v fF}OjzcZ$|p%;fU!!`$&D@J~iUQM~Yhq2GT2tQu5Y literal 0 HcmV?d00001 diff --git a/frappe/public/js/frappe/list/list_view.js b/frappe/public/js/frappe/list/list_view.js index b980ae7684..d5db15d126 100644 --- a/frappe/public/js/frappe/list/list_view.js +++ b/frappe/public/js/frappe/list/list_view.js @@ -308,6 +308,9 @@ frappe.views.ListView = class ListView extends frappe.views.BaseList {

` : ''; return `
+
+ Generic Empty State +

${__('No {0} found', [__(this.doctype)])}

${new_button}
`; diff --git a/frappe/public/less/list.less b/frappe/public/less/list.less index efcbad4653..99ba3e7c22 100644 --- a/frappe/public/less/list.less +++ b/frappe/public/less/list.less @@ -4,6 +4,11 @@ .result, .no-result, .freeze { min-height: ~"calc(100vh - 284px)"; } + + .null-state { + height: 12em !important; + width: auto; + } } .freeze-row { From 9536d6d61c61a25862043cb1d41bd6a5f5b22e3a Mon Sep 17 00:00:00 2001 From: Shivam Mishra Date: Mon, 25 Nov 2019 12:01:25 +0530 Subject: [PATCH 2/7] feat: contextual null state messages --- frappe/public/js/frappe/list/list_view.js | 21 ++++++++++++++++++--- frappe/public/less/list.less | 17 ++++++++++++++--- 2 files changed, 32 insertions(+), 6 deletions(-) diff --git a/frappe/public/js/frappe/list/list_view.js b/frappe/public/js/frappe/list/list_view.js index d5db15d126..5620469f8a 100644 --- a/frappe/public/js/frappe/list/list_view.js +++ b/frappe/public/js/frappe/list/list_view.js @@ -301,18 +301,33 @@ frappe.views.ListView = class ListView extends frappe.views.BaseList { this.columns = this.columns.slice(0, column_count); } + get_documentation_link() { + let find_url = this.meta.description.match("url:[^ ]*"); + if (find_url) { + let link = find_url[0].split("url:")[1] + return `Need Help?` + } + + return '' + } + get_no_result_message() { + let help_link = this.get_documentation_link() + let no_result_message = this.filters.length ? __('No {0} found', [__(this.doctype)]) : __('You haven\'t created a {0} yet', [__(this.doctype)]); + let new_button_label = this.filters.length ? __('Create a new {0}', [__(this.doctype)]) : __('Create your first {0}', [__(this.doctype)]); + const new_button = this.can_create ? `

` : ''; return `
- Generic Empty State + Generic Empty State
-

${__('No {0} found', [__(this.doctype)])}

+

${no_result_message}

${new_button} + ${help_link}
`; } diff --git a/frappe/public/less/list.less b/frappe/public/less/list.less index 99ba3e7c22..0df010c08c 100644 --- a/frappe/public/less/list.less +++ b/frappe/public/less/list.less @@ -5,9 +5,20 @@ min-height: ~"calc(100vh - 284px)"; } - .null-state { - height: 12em !important; - width: auto; + .msg-box { + margin-bottom: 2em; + // To compensate for percieved centering + // + .null-state { + height: 12em !important; + width: auto; + } + + .meta-description { + width: 45%; + margin-right: auto; + margin-left: auto; + } } } From b5e7ce06628689cd1fd46fb9d98edeeb4a89b846 Mon Sep 17 00:00:00 2001 From: Shivam Mishra Date: Mon, 25 Nov 2019 12:09:09 +0530 Subject: [PATCH 3/7] feat: allow changing empty_state --- frappe/public/js/frappe/list/list_view.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/frappe/public/js/frappe/list/list_view.js b/frappe/public/js/frappe/list/list_view.js index 5620469f8a..5bc00ddd97 100644 --- a/frappe/public/js/frappe/list/list_view.js +++ b/frappe/public/js/frappe/list/list_view.js @@ -302,12 +302,13 @@ frappe.views.ListView = class ListView extends frappe.views.BaseList { } get_documentation_link() { - let find_url = this.meta.description.match("url:[^ ]*"); - if (find_url) { - let link = find_url[0].split("url:")[1] - return `Need Help?` + if (this.meta.description) { + let find_url = this.meta.description.match("url:[^ ]*"); + if (find_url) { + let link = find_url[0].split("url:")[1] + return `Need Help?` + } } - return '' } @@ -315,6 +316,7 @@ frappe.views.ListView = class ListView extends frappe.views.BaseList { let help_link = this.get_documentation_link() let no_result_message = this.filters.length ? __('No {0} found', [__(this.doctype)]) : __('You haven\'t created a {0} yet', [__(this.doctype)]); let new_button_label = this.filters.length ? __('Create a new {0}', [__(this.doctype)]) : __('Create your first {0}', [__(this.doctype)]); + let empty_state_image = this.settings.empty_state_image || '/assets/frappe/images/ui-states/empty.png' const new_button = this.can_create ? `