From 880259d04119429d63fa794bfbbdaa0df49b90b6 Mon Sep 17 00:00:00 2001 From: Li Yin Date: Sun, 30 Jun 2024 16:13:47 -0700 Subject: [PATCH 1/2] polish notes home page, adds reference in directory for code, mid of improving prompt note --- developer_notes/prompt_note.py | 0 docs/source/_static/database.png | Bin 35527 -> 0 bytes docs/source/apis/components/index.rst | 7 +- docs/source/apis/core/index.rst | 4 +- docs/source/apis/eval/index.rst | 2 + docs/source/apis/optim/index.rst | 4 +- docs/source/apis/tracing/index.rst | 4 +- docs/source/apis/utils/index.rst | 3 +- docs/source/developer_notes/index.rst | 20 +++--- .../source/developer_notes/output_parsers.rst | 2 + docs/source/developer_notes/prompt.rst | 60 +++++++++++++++++- docs/source/insert_labels.py | 12 ++-- images/LightRAG-logo-circle.png | Bin 12146 -> 0 bytes images/LightRAG-logo-doc.jpeg | Bin 29840 -> 0 bytes images/LightRAG-logo.jpg | Bin 7697 -> 0 bytes images/LightRAG_dataflow.png | Bin 127326 -> 0 bytes images/lightrag_structure.png | Bin 136675 -> 0 bytes lightrag/core/prompt_builder.py | 6 +- 18 files changed, 100 insertions(+), 24 deletions(-) create mode 100644 developer_notes/prompt_note.py delete mode 100644 docs/source/_static/database.png create mode 100644 docs/source/developer_notes/output_parsers.rst delete mode 100644 images/LightRAG-logo-circle.png delete mode 100644 images/LightRAG-logo-doc.jpeg delete mode 100644 images/LightRAG-logo.jpg delete mode 100644 images/LightRAG_dataflow.png delete mode 100644 images/lightrag_structure.png diff --git a/developer_notes/prompt_note.py b/developer_notes/prompt_note.py new file mode 100644 index 00000000..e69de29b diff --git a/docs/source/_static/database.png b/docs/source/_static/database.png deleted file mode 100644 index b7903a894247fbaf96c5c8864bdd75300dce9ab4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35527 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

luW2ET_QH(Nm1X=vf^6Whd z*GC{6TUBohxdwS$+z`bO^twc>S0*6)Kp3fa(7VGIs@xX>*NEFj4K(zxW6R3Q-UBXJ zFxgEE`l`eC_&A!Z)oJb$_fxo9`1FW%N|P&e2ZsI<=lJ*b&4Pi{R~mH=+IJEB_n5bW?5mV&kJXuSIMYF&XmO$}8W0228AsC+BwJL=}YN{k_^FXef5vV;`IGl-6u zFe!hpR_zfLz?yOw+C|q92m~GxQT&GwUBI1)ntYJ^gaKb{zMyg?4eww9+urru^m^Nq zIqr7Y6%1&6y1(3PMrleeRC6w+0kvItJnN?E05*lF?qAvX3mH);t~EMbO&v_i|L>pu zrd@ubj|6yI%~?I?$~^EJutc2eYGZ`I%T;wPk| zv+rTtB9kArV|MBRspwiRd!IldpOTs^Y|eT7KEJKq`{tL@lRc<-qr=-^3a^ba?y+V! zx`{D}M>|a$whfZg1&5D}t*w?8=gGWQX^zHeExxu`Syrd2@^LWbQL|Dn<{->;d=(Y7 z)4sc;XzdgW*nVo#MROr-P+|zc?RhVFwVrg)0ur2}WnQ-u1V}y=2UwZ#=Z83*Gb+Ih z{Oi`&tLOY2I?eq3>Gq_L2O_&E#z6*Cb{-9*wDv=N&GO6L(Xs;kK2S6dKNBIa6m)XB zI<{Fz3wazMs-DrZkV+P}jdiu;k@0(@8Y7QwtM=+1wo(JyyaMHc6}O#a3Z;79%RLDY z=7~QE)&NsAwGyhOmGd|I`Pg~WzmRXkMpDU=tkSA&a^-8OP;Htuzga?c%sYpsxLES` zA9LGg8#hAbZitK7!?g3|17s_I8sxmrY>596k%g#AxX*i>TleV1*t?ahWWMe;t`D=E zznW%uo_gf8Uv2gH=de*VRh#_eyIkyBL=L4wmUvuxqrTW8F=7w1Rb}6fJrRnODiP#e zqNvYOI?1h0>)d{~V*GsJVWJACCtfq$SE!Q=r@R>P`!)n32KlT_FB>#A)(Hf!_ur50} zEP_8e`>$zShRF`utPoohf-G);A35eY7~Npsj0Q3*uXktaR59OBVsu3n=R6xYYCd9$ zda1_#-2Gnp2YLH_5a))0@b%Pppg zq#n;J0tr;qq51Cze~mq6P36zew&%4++feuUWx77%)hBEeC5E(K-lc~o%dD2U(sH3p zn-ET#TWmomX0?i;eMPnfuB6mTfhZ!PI<&4Eds?#h*jt>pzJ9;zv3}m{r)>Qu4{Dm? zdMtMe)q_XJ=7vOUmgRk%{oGosowhtz@-eRLGOxZUCV7~n?5+Gf-d7GzJEBV&J0J#IpRlZidv^(uG(0mal4DN$@i&UgFDmCI9g9f$G?4FKD{2y;zS4hqEW>gsQsk|T0 zEs+qbfSF!2^y{UfxV8mAs2I0Wf;L!+M5|LAlf?35@h(j+(s-m&F;A*~2 zbO2CTAE7blII6yh9K}a5+^q@*ix?)vvYpoO0{7XEpga`UaIpmOVSwm2hrFi#7h*7t z;SRo138WSl zQ^e2t7733)h7`rMF9zM3xp(IRsZp_Vs19A{_F#s;N4JP}-|}2{MlNY^yKXg4%b9&J zpb#fXs}m^O=dgsEr_0x>OA{5WMzCGBkLm7MiGIG!b@2NE6> z$=Q!A3_yu!d7*r7$~=ae-I#W#EjPK++CkM1OJE; z3DQ$eiz)R#{<{>BqIrpMFYSNNb;T)grP=ylmFDJ`211Sr^K``MU|4BPS$cHRhs0~& zbyaKFn9_q8-=fW#)~o|+d&1t)VL22ns9$?v^r)BAx7203N1;Rkp4Wlp+PfbYP`fR& za}YI{)VmukheemXpqxOpR7Vwadf>%?t!gomss!eD>~;01z)@6W!NNeC%{?VJ`W7i)uXoVI?ve% z8Q|$IvmrB7lda&f?hNv2)5g!&jHmf>`NVgh#oC}v83R$g%s`wTEysRA(6U)0mg{JS zg!@b4!iS>L?%OcCVA{di`7fBEn7U`^Cd)(b zUG)Rr^p16Xf6f@co@WZMkDNG7;9+YLTD(4g*_izFIpaFbNRm@)l~g2_1Y0)mO9o*_ zdqdrEFfZO+Qs>R)1f<&<4OtgWx4;Hgg0a1cG)A7GS~mb1R5K-{hc>xH4NE5tKia#P zJd9x$X~T@MOXY;yAE`npcJu_P01 zxx<`rVxM#*xtY3G%I6guo{o-)ZG(2}Q6gsau)teG4bDu~PbbyK0N!@e#|_a9L}Yz_aj-@ifKJ?p9srA!#z? zWA{^fWVus+l6%8NWB5OFbuT<2+=aaK9@pyk5BeULC}TR=M`WTEX!%Z5J6V}#{7RPy zIjP*1LiRE{4**1RQ%*c>PSMFDT~^FJ$=`l(&-oXt8gMJ@gf z#>&dd#ig;QK3!wCMw>@H2g=P45r}qLMkw2PF9(bwxfmWn*|~ibCPZ7$r2j3wJbLYL z#zVU{vo8V^f#PDCuzbbAS0z%0@1O}AO&g5Z+2`sY3S_x12#@(hQWW=!XE2?uiM_qB(}IN4Rk7{}dGxn5 zk(LU%;Zd-Ic+Gn7d*^}?E&6A{{swukw`k0-a zCF6H}aGK2T)-yRd+0z4~qw8vKhdRtQc1Aw25ZRh-N;-Y6qm!7J_$iAc;L_LVGgKZ# zQcenNgBsgOtZf0)?)PK@akhKsC%=nUVrZ37C=|fSr^`*G!{kbymwy!|3kV1h5D<`- zmSz`oLen8mO-<#j0gRYxKVSm3CrZ;Ku<3Q>-qSpb$%)2i(t&Rds>lZ609Xg>ZeEtN zM2auGNXk!#(KJdkq91^|XiN=vN@>pq{u&DLlfE$1R{(Y_H&we|zLL3~GxKvWU08-!CKckg1oS>Za~vbj{O4UB=%$8C>oE$O>NDW$;eyLYS~8G zX>J?is%YgTA*s7F*?Wf{ z0ZjDXojYBe2>_Z?QB2Cqm4ND2S*m7AVekInq{LGpxx0}p;8Bv9 znYl=o4R`-}s=unTM{nd1wP9y50^CUbPoC6 zs4I%{bpaq3Qk>)PzXNyn9GgA?*hl;s&*I?F&`=Qsj+fDTy$f%^!c;h}ldC^yOjptK zT!RAYgqXrYn^J?O=N87sPx~Z8amctGW_!ttC`Ul80MjUt=>UA%V=#U&Si8CA6zuPS zYzD4iroqGC-=CS88E~R6{HS5tHMZJ#(%p~fEau%`cXf3EnoRZ;HYxX;v8cvMgC=iz zWctk;nh;pnpb@CjDbbJ;dBiHROhY0_U>sIpt{;<;0mAj$X>Y2~G?=pU*QtPzmW3mH zqpOtnUUG*~h0Cq_o*mi&n;V07w~UlVzAG(|hgT@42?yUJz!Pyy0ZAhuOY`#R#_OGa zO5tgDyR05;Ob`_sJ%9e_ZlNbktJEMoEDU^yz7Zt%)b){y>_1g{m&L-u0^Y-i+PUO; zS+%uCr>=2~+UzerL%^!g(&mEAi)nVaJtJSq3hY%ro;iiztpFJ4<~%{U967)1o713> z5c|oBrLV!5MJsPy3XE6(r3JvHN=`|cDAqk%Nedw7b)?|s{eV*PL&j35c8A`7Qi0KG zVq(&L<-U#5&QZ8tH%uOB|I__^IV6laoyv~tQJ3lN;7I;wYG%!Wg4s)sd(f0&+d0p3r%?{SbKBXK!FX&1Q2!u>>HRAGNnKq%_>8PFaH7=Eu+cNRDNhEvGuP4r?hgoajz`_UR|Z)0 z>V5%Tfvt>+$^QZ@Senph5ntdHF9RMNZ9U1Dwgh!f@nqgzbx$oei0fw&*reTqzu=zc zlRI!Vs_Udr*!Nt_J==LmSwII zZ}>0hTO6S00Z4r1su z?@ETZ^WsrqBSXChwY|6q%9~{4xJ|lJ4F>Or^Y_us9 zrqt;E@#Dq3x<4du;HL#kstyz(+U<`x?Z|h$3oL#Z z$fk1`H2ROE%R5k|UwNJ)g&Y?cckbO5tpQjZ*<1mamxHNj1aBR|vHi$l@5X~;9u?Vi z6K4GuA@}W%nnr%Qhi_QB@+N8?9zCvL@y2=5z;StJNA8wrjmxjagkP!;>m8g>nc5Sx z*!=#jLfG3wUZSH%0s-^-3nq8LouBFF?RZ(5DyVDCr(Y+4scLx>(ccwu4T0dkVr zdPplUkIzK)UcYk!18+9quv_2=2SFf%4yOkjog`JjGl&F4O!&WI{IB8`l1IbERSn3+ zuS{I#=H|Q+7?4#KkY+ucqxqgC`*4;R&F}V++>La?n;1B;sPwI+rGw2$j#)1>$jc7B z7XO*qS%cvmCcQVMS+9!#K|xNN*@In}6Mi(;oG_{#j*Nndjc(-JQ{wmw=_A zaM?!HXUgP)pb0p5ke2KRfOzGxHPtS_1)lhW)6b4_?!MO6z^SUY1PsGhz}tZc{_yXs zMQ{3p^auq9`jtn(O-b5KfnD!Odt?6*!1PJ3S(-<9UfAH#%nJqDLvhwK|$(f^>?kiFagz8qkH|M$MZnDOsPdV2B#$9^LU_nP|y z5#|;@2JEh=)HM+katjo*%5rjYdU|>w&i!|@sX#zCbUmIYMFDZq-oXL(ojad->d+vk z?|xx#4`<7(CrROnUWJB)ERdooFhO@+$-pqEH1>Dq(mbpokaRXc25Z_6GBPrfi}?2n zaHR);Mk?=K-NcYf)MsHS1^LNtKPCjixeQF9rltnLZ3ptw#@{!*?}B-#mQhq>GHh-f zTuw|#Na1q{@lb<6q9j3DM{_8Hx`9)H1sb_sn^k5em5uvKf66xjGO$W-K_ys@UhFvk zbs$Y-B?V_t3qTl_pZ{-08fwERO8Os*kUod1i*JN(|0>!Ecr0l0Y_8h{i-mtbav@dR zU805Fg_c>r!TacvYK3{pF@^8)j39A)acSdJIi=H&kAfFn<7@dlO{Tf#l^<)EllmL| zdd-&?15WCiMNe3nLeAd1yf0IYX(8s0@FDRv>HUh7uf1rzTAbW0aSM41hn|?<+)q48 zyDXXDQ&@`W7j5~q&*1aJR1Ie|A&6rIGY zDMMNs**vM-?zAoDNIIl_{{4G-H!^Re>M&gv;Ixa)j~@t{c-hVvjmUFZTcjGWIVU7U zCi5BAR&T#p;A7}S6^#>M+CM-A*aAHKWPtaz&FB-MfflPgpcK%lX642qWmBrH?*H)x z&;S^|r)N9EU)=JS0jmT+7wXfmHbIwCJ2SEX3m6{HNolPwgI`1Ce)TDiP6@Y{sLdgIqd&kOWU@;3^Z06`~o$AK&3u^3J?k2e8I zX6#eMHxHLIt{_{JUk*pM$-h;ECNHL~wrpks9)j@rAu>(49R1UEU@ZoLRW(mdQK$IZ zxWl+t3g7QeE|N-VQRw#XH&I^4JR1@kX5q{w+_V12AEc1em8?ezVqJnT55=>Z$shvK zs#3QrTs1Ydzw$-m?pvth33>MZk zzgoV;Qvfr1xMFFzaY+SSY0Y26&z)_MTQB;GLb-tRthx=e$^-8m@8?lJUAYP1dEl6t z{^Gn}`v8iH52(Eq0fcDx>W}&g7by0^x=yasM>zB+cr7f{<=oo;n@#^Bl#Y0leE%O# z>930pIHghpxSp=vKH?nhJ4AiMssIU}v+!S)JjfA(#l8Ug)S^ooib38yV`p+>E1^yy z#XXdHR=8^A;i<%Cz0673YW45l_`~=GV}MLV2)f3cAxyu>Lw)R(ZTU7r0iwL#d?KUN z&r*CRu_|i?Fo;%7SOOQZZiwvLRp&W?hCxjzp{s)0RobI8FD8=uBHvo|_RrK*Y7)ic z2$*=Th7bI*zz~+-Pg80|pl1Kvl|WosaI?Z_YyTJmqH|IpM_e3 zLY;G2Z<%m^0zd)Vzlix%FgR2En9%_Ce4*YAN`n+ZFLo$2*yHJsC+P@ActMuU5W0R2{T+VQnN zqwlYdIW#XCD5ouSfYg>T%iv^~d8jlkQ&#-+pPC zc}TRq`;$$_gLA5MVl%#|!9ZYOuyklmAnY`AMfLXTC(38+ZlGQU{Ga!wtD0Vj!W$UY z*joUviVXk~QQeFp#*tp{wHfK<@7ud7@bvcHYA%fTxyFbF5;`xK2;=TudM*tawe{8g zce$hL&M${N=AMkIf6z`;?5P3lK#z?&F1cc&0fVy`fMwM%mTm+_UXD2*^1}vc%zsDy zynothm>DjqmNR$B;F>3HHpMhWGdXCPYX{5`d;kL#j#qS#WRh>=YU1GyZaN~uOy%HpPMVCe+h7f^X{N*TfthbTZCWKr#)QiD?j8`sjFj)}J^ z;%#kpndG%JB{hf(-zOp1BCyOGz}`5~GE4Nxx#aXTNE?PD_(krQgvhA@Co$Tc8D-d7 zLyVspJ=mqOz2kDdSDRp?j!ZggjBiYpE^zd+HN>y9uu0{}t&$ny^Ro#q#3?sZL({wn z2P@>KdYGP5gRM8^LX@wm)#wb=VS6QNNj-x<7Tv)Xp+nQbRLv!~Xl#zv7|yg^0<6cq zlx9jMAnp5oc3W+*>zYieusfR3>=_*Witsm^94F<|g=-OMf1grUkz}teudMQ*mW&yN z?wJEp5O9s0=Ig|l-*z|)fH3miNM^ndx+X5am9oMT5MfazV3JUdSvx0!LJ_ELhA*G1 zy~Ifd1Zfw$>{=Hu*`5!K1-mCLPLLq;GM0nMx}1FIktMSwpE`mQFL6%Ke7Q=t!qDo| zXlTgClL}|ooGZXv;YKzN^W3y_Tngmz)9SX=NNUWwHx!LXa)1=qHMU=n%`{muy_u+R zZbewBOQ|!C<&j~V#nV11rXg_wj7e2*_Ydt?{e?%vrB$!q{mw#{)^k}c`$CnDXD0`j zv=ZY)f=uD9gBV!(NTu5691NrduvpqLBMt@|L_bTPe@>-1vOuN%#neYD!78^ALlT!7 zaw~Bt7Zkhzy2Qp7?Y5o<)WZ8=mjM9s=u6_!D$(O}S?&d@zCyl&YbZv@=dk@9k#3Fc z$>Fra{l~n&wr2#^uRxVVvND>lUTZgfINyq~gl3foS`DNM2~bkL!W-=7Wie>11KWz z?fT&`zWG4s-fe4~N78+1j>zJ(xXhXo`_T{gZs&335~|aQhEuuKBsXo#Gd1^I+`D}j zd&{Q1-STS4b=~=1V({mh87o6wz~Z9fE&274>RurD7-2P@4J=TV1; z``fXZU~in8&peyLtqGfC#Lq$W5Y;uDKT!7ZkPF-LmW{V^%T1}16LElzLZ_4`-lcLd z?uM~a^xOl9{BfT=Wa@iCF`qmDfTZIov0> z*<@7tpFS%NS#P7C%KAS2oi>(r1tTu5>Xz4gdr8al_PbA*8|-VQRrO(H3rz{uLI`vu zr^q^z()BY1ie(zGI#Z8_?J1928fxh0F%uVXjI}k6^j_+)o3V`(cI|j00a{e+$AIeQS zr>3R|G;!?Z}9^I1CbrFfq(?6oQ<-z9J` z;%V!wtYT(|N`mhV-pIIue$&gA)0q+&BNx<0t$^4hGx5Fn#n74$l}_1f=?V(AkCIHu zav22A0tX9lL-T{p&|wLeSg*9NDfW3%*Ts@!gSP5e9bSmZtJ=>~lJ-0d} zZAKpwrLXCH=et9zo*?&jpm?|-OW3%)Ulcl`*VgrBJTa@qC@;%2CcbWT@ZtS-hG_mt zJIF#01t((yw;4Qs^-;d&;w?aTl;I(>(q#wv6$|G(I^aS~k->z_peI{UajF zP{4ijgW`SI>o ziv1RFpv95@*ZNo?R4#TERbR>dGnv~i5s4fFw2Af#;6H38N)*>m_Lk(wL*eXOSkIb$ z_ahypVlH~Ecb$e})XIg2+uqtX;asM6v$r~NIanqy72B}uq z++!LXYld$gtCARPqjDALnjiEybTr;Qxmdc8%a__}yMVTX94=!9LVWY+sOFbnDOj?n zf{F0%J|0m|BIPO=GRqGuysut`P3L`DrYYnApSf^|0xrrPR#x0O(m!S=g8XvYvwy?m zo%Y=Hr@90k9WRYMRi8oX?yV%i0ZC{(4~nVQ+hpm6u`hgr0~x`d@ow=1!kXeNZTSr> z>sYJj*;C)4wH3?!)OXNQ;I+zspr_fqs8m`^L}cL4Q?<)e)mj)e2%cP42VL|a$fFg? zZYV&ZM<+uW(Z}^au;7ThC3{RBAsGmSqJdg)9(o+WWyf;{%icJ6BLA%ZrfL`*^F1zpj((x@XNgy^84MtB)FCzHC2 zI{@O(!<6P-{>3AFq8B%Mw$ZK$OY66<^0F2=vr0=HOifL%7o4ilXLliZFc-+0v;05| zd3ag{)=#roM=UocW@LYDq@9Y-_n7rA3eZRuf=WP02t3K#&XXTsZX&)R8MG>tauDx` zSmG92OuO;+Ms;iL%lkvHNkf8yO!+7HrCH#JDLLyTY7xoHM9ui;9MX1a(ZdYz)#KDD z>5R3kj-lCN$QH?@IzGM<`D|hVHCc-8iaWOLw9rpupg=;}QH4^4Y9Qj=0d&z`J12Q% zsM5wVMs+Qxfa`^f<0A71>GhoL62&}+gAb)l#Sp~j-hKWgDxQ-n<8VarDS#BfmP`cO zSTp%}H<1&GKSTB9_2P#%)!~=|i7$I&ZEj)iV?7K|#enee{OxRgC(Ws(xZ{F^y`R&_ zPy4xuDh?Vl(`T=lg{9@)k+~nzIMcXi+T;T{Yh|iG^~isS%kWf`O%0_Odr-O*0N=aH zebqi>)E!Y3cYYOrEW#3Sp(VSdXrLDy0u|0kTrMWVix&iPfo_P7A^3WDa&covJFN;w-ihtUSnj^M1SGbG7_u^L zZBruGp|NW09cEeQH)^|JKy?1u)C`(M58|zcK1za&BDmkEHH3?RQZJHbi$SL<&+{`N zEb(D*8I%P$(I-Z{Cz%)*8L7;N`|8!JQI~6$gmeXvUsk`s)|WNsprd=E-*tI*1v@$0 zX_4<~^f~HpZ3QIf>&q6uGw$LBaNsUa&vNoD*up>==&HiZ*Qd_l{5n5)=|^Tjxf0RN z0(7I6kSK4+gOjW0s~h1I+B?JbXInI6%HU88XYt3k-kjvS4Xm;6q9=ySn-}pk`Y}Rj z>zdwzji86hT~Vfm5-kgU(_k{l4RaOEmTu{;vXrJ1-08KieaeC#pW#M(_>D2o^r%nz zhK@f~-B6bc%kSgZ0-#vSa6B+*1*cD_9TXTRn0tq2g$L%>lPApF|T{zQ$FrV}os z43Mx~+i=b#a7b{$MbH!ms?GM-q~I)(_G19>ypFEqL4UIpxIBUCP-^6~+#TN5<1I2a z6O-!2tHE)Dv%7k2#w*c`5wo|qjlxf=*H23jFdi=_0^{+g{%H^as$(b;o=cx;g6Ax- zt6#G;b@0GJx-X{~KP}SYStq5~o~y52sy@iz3@M#7}@z`496e6-gj`q$qFo6E4Nn1d;&M0bug17jND`)!&$TSMLcc?uH;p~I=;JnVSe z0`L0~a>L~D2udz$p^rjPf*R*8MRlTk9tJTryKz8|C!v`47Ra9vhRZA(B{LuGIL)WN ztT1gWt1)Z}aA?XFr0p|kD0M%q8@eK5*=_HmiHUneOv*5kojxcGywYthYNqrQp(R;{ zU>NL#uJ4VfRn%S80Z_m-YhT%b>{aC=_W&`GTSc(}u!CZ05+*z8SdEo2pLXawc%eL| zgqQh&5_D{Gv0dX$1ZiJUQGWl3wV6hIjh{|EkOobUW-=LYr=-- z(9l#*8R>q2O~jglgI`uI>Fr_%628YeAkD7oAbp=8EseS65gs6Z`&NB#-E#cS;5TLm zf9t_KIUrq;4yR_iHGfCi*+67u@|9dq+EtL8|6RrE$X~m=cQG*^67hQe`T-c)Ns}pU zQVYOC12@jZ?6|+G`taeyd3WU;#6qagEpU+Z=khYQ?f0_Rw=uz?M9xaSenMa+c-H%5 zeg4@$mw{Zi?7rXwa5^d<8QbU^l&B-^!J_$cYT<{!N!#r%7Ax+_(yAxW39R++0wzfO z;p@W+DxU4`Yx0>-l($4X=8yg&T@vSiTR@sOyThm8&R0OTfXNQ%GQ8Ram= zDe_Q5ETF>CNK{Q~D(vmR?TRK`WX23FgZMhlVb^Mr!4DcT1)o4!epk!+xuTfGvB(4I zK4=q#>cf_*NU2poYaW=Y$-JdWo>kY5r+(IoaHLCnNy|m;kWvBwbK zQT`#78}PXd6mXq4ZewcYi(llI+=~~`4zd$?=4VOAo$HT1U2)`Bp&|{<95ED+DK!-Z z8mS7442wCxc&i|{P(`hN^}iqnwcu6JH#1LU4_;wKTH`Y%V*%hH=RLd>9Asb)mLL4` zh)kXB2yc!~>|3Mhg=WW^kMB4t+m8KX^n2d3WD?QCOPb7mo^;vmx~}wP=@f5;l+8d5 z+vf%3hKUyn78o%4fPcu3Y=s|%2m$x3nL!S)q#!UGfV{oqJux8Qn!FE&&6CfLc6hkC zx4)ND5idRoI4^fyQ`6F#0PGFsZFUve>l31`5K)sl=OwwE%49MC7LH+Ai$muYVs3F= zxKdwaE1OHF_)^aXk~lg(O)SRxmlnWx)BMHPVt|;N&EM?<;OxhE4EzJa?q13U&wv>!}C353$Ijeh(;ADvG(CEo0i zH)vBY^X1yLQ4fCPeEy7Zne%5Ja3Qghyz~q>7izM0Vtbn{{JYsX?{UJ`K8vD4XIe#< zpitS%)%4dmCe5QLRkO@iauSuLBNFzKlTr8~D)l(qXe=$|56=5o@WUZ`2nm;UnUZ!| zq$yBy8v`W*5EX46cMlCkqn{k_X2$(QHF&Tfjeb^DRICGq(XZpfxrBUbWEQ9Ocu~UI zx%oo?@7>`F+xMgtWQvM`EES9VRp*3GJn_RWb`hGhF*Shm0DsE zf=7FW86(b{9NyGV5txY!$2)mhIGMoDa^_M}nOFQCpBFJqM{W>g{Yd@Ld<)cY{wGUB zI>tZ|VVWWZes@5f4jj4A`ltyko4hul>V3iCre36OE07!+VSx&>w zqy>V({rK|w!EwU!$tr@$)9`13*T*}0lXzI{!Y;04@u>Fj)`20@&sDwTk7dwe-daNw z5NI}}4h7KuBZS=3ea?Tu_nVWIxz7U8!8vU66e&O~XF(qk5VZ3!rQ@_*U7i6pw{7ml z;*CEi?ZSSLtH?_9W5Ctq-+$M_04Phhz{7N&|K%FYKqUiyRlvwFl;-{SZ?DcTE>3c8 z@BcNkc>m@Nq^N0WM;0oos_;*x4FgRof8r_7qP#IQ7ESx>DBnMXMo?iP15=4% zz=g(YOb!B2vSt%?hAsYmEIj|O(TuHt)u}3SUg>ArJ{bso=;!CR#uM>G15i@K3EwA6}Bt>fI165vl>Y7M%SGGLnwjlKfeGgEs|D> zeIDdJnwpwDX)@>1P!a$0E-Hrf(#2h7DP%r4CXGsh1mUz+TgvJb)ApxMcm>xV9n*(T zcDE+|xdW)#B{h~*h9$urHfnb);pUp-D2scPzv*VOs5FoV7!iPS!b$=^e=+hJrdv~# z)e`;dNw+!p4S~)GG8b;P^!O?qWr22mxN4-&!KLQ-Jb-E@Cscfh3s>?G_nfwIenvJY+ zVi-^vy1Tk&VauJ2^rdO+4TxNsYB2$(%7t4fJpko%J~}L1EO)zRtpkW;ES~^n2~Txd z76HHcWrb}4$B5?nXPpm#8m=E;5ewPvJ2hn5O34fH72?&=s@^{Peo-{e1yU_Pblg8j zQ!>~+w)K#?)K`Rs)I;ERLtrZ#8%gS6XhP;gIa?qVg&QR|y{$R3 z-zaONMUmc?Abe`O;pF~~TD9J(5b(_!B(=s5VXC!WAT6mM5D=pQYHGb;CEOx=e0r@V zfCumwxozUzQ>~LDtI*iyco!urvDpM~nsC(QLHT_X^a|d3`{!w`Xegs_q0GpV1IIgJoW|rlP*Oxa_om>;LKOz2m8V z|Nn7KB(jn%a;QT>6lHIRvRBI9MA@q-DYH17?7df6Wv}cVAtXCWl)cCAagNvM{eFLb z|9sD_Kg4-HpV#$#UeD`#JnoPC{eD?*sLE=ct!a3naX-V!+SOHVRmszGN4d{M%ww8p9*iF$4(7J92A{DEK6!wrCxvo!2clDKDw;Quh&;f~LvsGL*Hc^8p9Zdx! zwG9PR^~`C=%z=n!nGdW9Q*(EmgjB3rJy*NuVv(J7jC8kHyWW($bKF7=kxl5 zCHH~IVq z-`|f(GaY7kkBf~pGBz#>XU1J9DA z6gUPegtg#sZVs!@$P#4ZtFK>{{a2G%4XkCeB z($dm0ymqI=_ST7Owj-IU*BcXAQ8S*c03WHeLc{|9ONM``;;;K6_CiS%$}1{9zqwc8 zb+Es*v{cS3Z0eW`Vrv6x@ZI6yS7z3#W>{1U!vzZ5ZPhYqw&qeTyT( z!)rMQbSgYKcxK_7EIq}RpIpsh-0))ARCouI)2(4_Y-~oD)Gp{8j!8z3m08!CL+YYd z`oQp8#b-b-fq~h5^CmEn7=TWNx2dSDJs1)1n+w)4R#wR0$B*EN>0y~w<4joU@lwup zmJ1i$W?^hEgVP3FMH!r*f;4!cSOX`TjbnpG5nvm&D+yd*-bFbIiZI|vFLjaO;Z0-B zSMc_kAtDnI*@r;{lSwS_RIj!G0bc|>S%Ae`S#%5!PY~DLvjk%-#tCfj|3q@^88Z!l zE~kh9X6uKW=b*h;uyuqJB5pnF;F}GQeu;XZGct|-E$_V*mcDDJC%hW-57m1?c z&7 zhhrc+>W0(YcSpTy&sN;ofE9v!(?X=Nw*)@t195HUCpyPva;_9N6tK4z_dVrX1_tLn z=4W6S;Raz8?y2;vzquQgH4XX++%5a-I)o%7W=Oa3+9S9=E8?Dl70{U@QJ^we?m7WR z03b8N!&CnRT*q`YJjkg(nw}05zarwg&0y`ntyI2cVR2Ed6<+9-KM&8-y`GL%c+ENS z=iw0LD(@ku9|UUf`Wpk|F}B5V$ZWopx*Q6eb*^8AyjJxV*An`jfZlP zRXRE;De2GK3338k#~UDN`J+kjU|LxI<549>!%!ht0cpfM1mkM*3JUEYkpO5Le8*ho`hGwtTKNg4pE4{n)Vo_TLFDVjtDxJczj+IW z6cKKA=>S8!tLt(^M1jzg#oH7xDICR33eu2nUR7>|g74yOQW!13k z7XY{G#LZIYu;&S}|JHUE9Pa#O%gf3T?CdMIiT|En)brg|%=}TmzLdPe@+;4S@*Vr& zAqyg8q=DoIOQ{UGfIW%wEh{T4V1l+>fUDd-Sh)>0bJKn#>R8DGw)PAjd9diY%nug8 z1m;V0uB$x=s?wkGvF|rbHa0Vq> zCWIXe&j=}~V0wa32&`P1Ol5!)OB|0zKgBI>hfAD4T2ONtTBHtHP#i$tMva_$m7B2Y z@%2k|s@ubx3i1ydcX4s?K6XLDt=2I1=-X#;bH{@hQnrwR!)j{(@S)*Ttz7K_SmZo+ zH&r@$GIP*yx}19z*J7SS;RGZ&Si*mQF)r-!uG9ugpm-s-$a$EKxtN*7% zVtsODpr;3jW(Df{3#u@2z^8Bu5__z>&oy``QcfpZ?;;?KiG*WmQ^3#A9w2VyQ0f+#9j(Hsj`+SJXoE|JNj*7Zw*^7;)ZnVQvg#BuapC19b7J6#-K-X9X zDQMZtIuly|oVfk@D((y3o@K5}Mo*5O2V5FYM8BCND2fDeea1*A)$U z^ev>ho!tRMeDsQcwTE_H%mw@z8-x#VdBc2>AdK#=A@E9rk9RJ!3amG5DvBr+x%<8X z0%VWD3SV%46GL>I#V4j^UERt>gO?5o3CZe8)KzoW>A!-rPLRZbgr)J3NDga-LLrP} z!T7_0@R4qEYU(q*==%q`=u^H=)$QS}k1fP`!r>}^3Xcu0?$pC0;tj&P0D{?9!P;QXJqAMjSn=Usc3UH^Fl9}_ zxa(D42ApW#*uN5t->@HdF;F13FoMo$QwQ=baP+Nu!!(B$wjHY$zJ-8#V*j-~8|M0bv<;^x>-i_a)*Aj6T#_Ax18DDh7Eo zPKI?eSLy`UywMv6bIKN(_>l_!a_bdU#;(fi0_V>y3u-%M>a35v6El;54mL!GsMZ}zjmYv(zr#HQ{Q;eABt8nG45EtuKy z6j`=j*volo%ub(RsA-k0 zT3z1evZB7QTT8`iR!Tu_F5+R zy?w%)#C2o)Y=x&k2fJU;g^%@5=2{DwmYf$jp+B@MKc?^p#A^26i)^srCDmJK-dJGH zUQ?J^#@XCV>uP0*;FsQfFjh#)`-+e_Kuu$aJ4+NSa?D}4p^}svnwoGfJ93Yd&ZheX z661tZ)cRvD2Igaz>JN2L`dU|%AN{)16NXbW&6DJaX_&T-cUAt(jep{S5Fao^>Xe00 z;EvQD=t>xv51$a=!+%~ICyLG#Ig_LI40l{CjcQyrN^xuecbwe=pWI`Iu91Js5p|~Y zk%Zo$(!lytVkID0eWb}it&V(%(|=06c&$MT^uNCpgSH$Jk^hzzw&sHPLkAy+Djvs5 zKa$ME5JliBX2Ni23x?IFVC~8}XoqspkX*7KbOQs-iGP@r-2qH5uk5*lJ_e+i7J~jm zMdsJ7`Y!IYwFlD!o%SkiEWLVgW0rV-yyBbosz#pqzx2&feCo`_W+lx7nmRLGgTt41 zR~AkYsXD|mnelVRe_oH!JL`y<&awMRD36-#eIU8N$*Rt4ZSof7?&e10|G;rq-^2W< zUVZ<;5@(?T>$AZ-EaDC1x}+-N_Y1<2X;<?szxRWDONyY z`M5tZor?ZG{i#Ha;KJUYAKm?tmW-NOt>B}W0Va~^=}=%XhNKf%6>ID3&&!2XMR<64 z^50CJJE^G-9HSd+dl|o=Lt`{ZBt?_)$Ud`r@7{|;monN_wzC)a>t=! zfuVnHyTgKFrMMI|8vXSIg7U}M^Us;cunZ!Bud6_6L2!gvsb~?t!Y5+{2I}MhO(tCA)TY#d~ zV}EyRXMKUAkegITR#sLn&s}7?_lq}ZM+NOopppnK%qT_0N~fQ%AI4|gj=KYDZ?H-( zu^EDrcBg0mB4|hTN*_!BX$(9Iu#B@cmh4o2`ON9(UejeGVY~%-2^sAx!AR?;-Azt+ z$v#bg{pG}+Kf@9I*-U0Ck?DxS&UK-c-z0O=TIN#5mp60b%hvj-nh(~BdCRO#SWkXZ zQyZR|8YI4Geu~F@NFms4R_|1ma85zv;00WU9Ra} z<;)WY*E4boR~I+0B@kOo|Nb^yqGC#U=0{saT;81tb@^m=n_CFk5~AMIH_7_i&LQzoC}D%A;lSv0+V)OzOx{_2s5qt{6Q_k(DU?V+=A1Q)q*bEi>&E z9bpNc2Zo#F!WA5v0l9pJ2|{CdQFLDPrXTOB%5H@oYvNhc9PxZhr0MuQK_!4gKXRDN zhk1X?Qt{_jcmGbYosVZAJ3<8!C{LKh3X9=IPg|gUw8c(OPeZQY=IY94J#cz}nv^ur z)esPa8G)NOjk9W=K)ohF`eR{){$rXGB&SZDA|jHEkL0Z6PLT<=0&E6iY=B}LIv`L3 zzolBD}({>18rY7pk=FR$3v@pEJEMH$Ocwxoh~_y{%Wj`JMRl&76HXX{M60sySp> zo>lmQN{tcCD^>nBw*YGm0juVaV4;GmVjp5Z>*8lS)N(V>Xb&_Fk)@ql->`Rd+?@SX zx1lb1ZJC}{hd6LN(22wS=1swCIWsw%MmEjSk*}gIUfvh~;A-A~Dg#9>Y&eDVcXX7{ zJxvt2%}*NEWEII@r8bpq8cWYWtGQHneoC`Vp0MlseGtq46Pt})K!`CBg?3F2a%62+6sq?ud{MFnAS{~=zCngx_HcpYM{q`en z!dLjG7UgT_`(}JHNnQ;TDk_~&)2M$V?RzP)hIIVQ92);8lD|mse9!1B!={A{v(Xk)2*s?b*H78 z0$LKU>>DRpf}R+a^(wh{U5Ep_Fg zj{#{IbBk-$y{C;|@~e|qZ>l70Umx4~Sq(-`GbxM>!@oOzY#X_1&~NGIKdHcEqGt@( zJP<1ytr-cA%OU4#n}(1Y7Sj|(+rj)Jjmr8hU0Mj{r*jGui7;{6Rd1Pv`fiQ;oB^Zr z@uv_KgHikH@0x>`QM8!Vjg16e(}3+M2=IOGLfKSZaUE)bfN{>@ZCbdxmfj)W+ua@Y z_$}-dBtV!gguIR6<2egMhm=P|;%mdSgCS=4c*LjUIAvr)?Ru8~!W%5C3nRc%fv!hcmDQw7Sc8P;1aIdtduuWQQFZ)7L%Hn1KYASUd-zV9AvVYD5kQRD)eS>NpE-q5*S~T@^xcJ-+yjr&)qx~b z^b4o4x_cq04`2FLCSHcLL-}3(x-yv3gv;-J657f((bOFH`L<>>QQT+l%tIF!CSDV{ zP~Rsj?;ug~XODm2?5vk>@I;kW8iBRe$2Z43-V_g$ge8VjBTuKu?C#xIHUmH}0%((W zTT&rsy`{lt*?asd5arp74#zC-ebt+5yV2jOD4(eH4rch!3Og3o$O`!{m4}@DmV-Vr zdIuvVGUwe=Tj&!#>o&lPER7{!*$NB}F%M&J<9oFH_V_DDd&kn1#piO}d#P zUTJXYSKn0xw*@@Z=NhjAh%fx{t=Voxo8+Pk3JRh<;~%Z-Y>q*Z_qq@(Sg=rHjst|w z$jAuuN1Fq;6{e%B3u=rb#g<`gF90bOd)IgX^Zj!HtD{huNza^sF`a)F{5bB~NV&V0 z`@tiNJf+%tspnl>9Q}c-D<GI4- z|0i#vdc2$f>wf%TbGtJi|4!E3eX1YrPlB1`5j;=bN(FLeS&3h9Ys!B+$%-Jv z^yS`jSd!IDMn%iYCtwX(EP`qIq3HO;$zRX`3gT+%L8Vj5cnp1+CIHQOtj(phj(q;? z0-1dq>uyJXf4>x_gMZ|!>&CBprm7B4Dgf*37EQ>w3f?wfT3an4oH1JN*V31MJ~#Vu z;^ia_gXwLUTlL+(opoY^!j68v!4b{NY*{dMdTNk|z3IAb<>I-JH8+=WKJ)>BUTgEM zvLDK))91oo&Sp3_Q0K*pQ%(wG%<5kl){S#`nEdz#>HFbnf8JNAXbG==QRkb5w-O6bv8EC{BVbqg9n;e$7o!6M17#4PtP~Owf;t@*kOCq` zKvZaGC=?8VU;)d}=JL08!^|`khW8$V-vS4>y?pud*vZr0;*2+)ZNTFTkgwmpX@TS+ zQBhEmcyW}KjV(Pb4L0pa0y2b%h=>)xlw|=k%&3C)(**Br*XM@@iw*0aUpk^LPZ6dp zuYKWV471^!@hCCb@JnkW!P{XKb_{%lS@V;lt-wuREF6- zh0i+^Y}&dWCs}QeaMm~&=uVu`{#7`iCX+?+#W1x=wM6xHqe|=D`gU-0M( z?fTTXwPa=S-`$N)MnAk~o}OpdE1~! ztq0()^b7#R(cs|iM|OcT4PAD!nV67}Y)jH)%yo*m)6P(WR7H#X_VL7B#0mCPlHRkNIO~N@lRHawDOugU~cDMfQ9Lc-(o5B`h_(~cs zgn5ZVD;LR&?G1{u;Zcp17p-#8=cG%Gz!!t z=Ns{PO6zVuEDoBQeyYyKkN4LkLVvhZz^i!ktT>SzW!ETuKsS^|5 zQ*Us0S$u$Zh4pm&8iz-qhL}v4tf+7Oz3fy5qk9;>IN;DFhdyu#zXBX((!4P;qP>JTscBay!i*fE< zU*fFAIXW-)M|rt??BsZWjZ8R@@{F=Jnuw@?C~WrnT?TPE^0|yA$HGi3pO8f5=nNz~ zFm}_Wti6uZkCJQj3T2`jJTuYmx3Cw>L^oYB*L2))Kl6*mM;uljCr3wW@}=oG!FzdC zdUQ(a@+*lb@|7gi9KQyy`SCG>R-|8(d4-;*k`v1O;afzALb zF{Wl_s)*JLl9)bg;1URnV@!B?Aa^0uKnwAz%U3}}*h8T%&qhH3O#^H-B{>-^i?Yzu zq5oc#H!2dkTIYfA-%>`bMPvJ^jEGWHgx2N%x>@R9{oh{=l|>M`vHsi1!}cuZvhpxx zr|MCF(HCJhYnVSab+6PyN4`>)U(x&0X43v6?hUiWklRBF6Bix{&f2Kr`tRL7(W1eH^(g(N1fPocb&!{l>QxhIBY5KVij=5eu_`(mw0 zXy2t&pQ4Iiei*?D2akD%Y@*5U(Zw~?6n}|}5iGnpZ+ub%O-ZyG z6@A3?g%w+6&38%rHOk!@{qbw^*~_mrmKcuT&ad~S zjSJru=i43QS$%ZFvUGlQdlTE3Z!Mz>0znk|AG|~uD%~tra<01moHl-qmK9xtz`AZ< zFPUM?>!<0^*8ozYqB$Rdo~mP&Uq^qEZBMnx{TRE+_T$IrhxcEv+YR2x%>7Qc_vIS; zs}hp}jMAgALhhN5eC9}|moj1_zC^!DZ~vwIOxu^~GrKy6)}8f;puvkpWAqm*UWmN; zW30(P)Y<4MzD;bs=~mvtNa`oZ=i2Kv_i^^hUMO<~6Pb~;?cFL~ulX_EzFgKFB3T>X z@lzu89x@D~rLxXrea9daCSZO>x@^(V+$<|CjbLL_MG(R-BwA8n1mb@3i&|tDf!`1? zHz+P=vSR;8z?@!Rg#PPyu5S;2$3v0*|MElFKOoJ2AMVEY#~XsX*mTc$)!&!hB(cRc z-H6Ri9gS_$Gty5JI)~jcVuOK>`&}fwdH)YT$jivcz$|BG#`f>wz10G+td~3e6xrXL zg0h5%Pysy@oUy15)IPC=n~G2(Rt^qpNJkI0y1ho-W*LUgrh9>n1vrsGHR?4KF4}C} zR3%a~GJpd&8jn8+ABc9nfcpVVutHrQ?Kr@rGBY#5ur52b3XEZVLD+he^yeptFQ8D` zYWv_a1O$*VMBKZ+4ls0kzG1ydiD&^AwZTot@8>Jt4pH%2^$otWj+lSVtodvMHGEEV zZ&eLkAsav6*nVW+P@24yt_sWmUG%}}LG zc^|`X%~tX4V7l>~K4txl^#_GH&5S?5L=0G;b4(T5IoDPJae0`jyxeOx)e$TBDZ8I! zZXoYx?U8F&Kuiog1(|oQZf<*^ARe$i%Hk`8lwT#5xsG42@gB%gt&Do}N9W5MMCSK4 z#v;CMmH~iI6~8r*bfCKU}NL(RGUR>?zHqAs%zFddT)H13`cU1GT zjXm&j2Qs%tUL2bTUYn_1&gEo!tpp*rUeuZr>jw|Sf-l^Af4jnY=EiF6VvEqsbtnh6 zE#OV+RYCmN`i9&C|HV%WKNxp+QZTTRzv`Iag8}%uD(RXmlo6E$;jtFVbV3i%Cy8kj z9|LvEFnF8YJ_$8U1m06F+(IW?n0oFv3DY zAzLtxOzqMxAFWznUzgdNAFCOg9bpxHvEMmNJR>kiN&TPcjC$!Tc(w{?I$*T``Ih(QZ@C(RUI z?{VI07Tte>j0PQMBS(VV3#8>0zfdj~7KwFNBNxB+8;BKMR$sB!d{KcEBHM)v7ogO7^=cS0%K`UQa$20|jt3 z&Ys0YM#^FO1aV*WKbf7%nTaNc<(_(!@El1F#D@W;Vhqs*51k1$XUJ@4f#_@1e95W=&t{QIo0m^&WDo%ji6=o*Wca(V6p%OaRoUEhR(o-6+&Iz%uaPeh)rFap@E`^z@MZ z{0cKS);<9IV$C{f=e;2Z*jecoFaUOx1e#JbmL+nzj!tNdIgB6T`M7QaR4kHVF~5Va|AQR9ZgOwfryE9*!8{|ptGYLroe3OGk%D+EP8KtZ?z zJ1EleTcviiY9WB0TVd1~;4=2;+;Yb2vb*&z9zbLO_@7W$7_d%vl7XGCE@MC+pqq(^ zjpEPTxYD)F$}SX2Dz`-Y*r z;_mL-Z)^6gvPM{q$S|J2t2V-~j(krxn>IjTIBzp~%YI;+2%n3Z)b$zR)K=I1sqpte z?&De3SdMcUU0PfeaQPLxlnf(*S@JpTS}37No5R|+V0@mFvjdz_KYu>Ar=b%Nhkp&< ztDh-LyI>N=6Q)&ke=`O6VUQNrfnBJ$IQ7`U+FLK-Y}8ZW;^PkCz(HDMOtFmQWZZEV{=H($TZ9gvS_^J}!ra8K9x;&wj3+r!-$IQ|pH` zx9cD@Wjl6cP1byxBUAuS=Y5;3&BW# zqgmQ`N4KAOCE#!uZatZvX#xxK`Or4m{I}VfdC@dTH(>jAH0z-lo-cda;xXbG=G`sh zbq-6n$>Ps{k2*?S3w(^m1LY$&oX5A}?E$6}C};Fw!hI%2_}nmYVlfmdVY|MJm&m=@ z>Z_R&8as4PhM#$(TY|O7(|*<|-bJvvP%_qs5NG>Nn2+CJkT&--gOs+x_+HDA92t_i zWrM61Dp`JQ_l048*9_^ow#Vwc%yvxPQF}me@e@}_GE%96dBft?W-R%uVHtd7wnhy* z#EavSvM2=w3I;49VxdOAKk+k*g!IJ&!IO(;hF!q4(8!YcQC17r9XWj@+rLBW0V92| zF?U2dda(tjqZo1^?9Rq}yuo3|L7M=xK%LR3P!7wUB0ZXKtcEW}(Wxw-OG_2FS9PPK zxw(1FyQJhgTZQvNK*4DE<##6sH03S$kcPlLFe0CM7FS{)MPA|T$ZJ!*9182(d<`Z{ zY0)P)mvar7-?y1O4Qm#Uei`$b`|KpFeaI;52j_NEM2g9&(SDz7E{InziQRpehtK+rUuVrCk8nVfP6|D&e`L(ml?@-f;{T9IVURwy?alDs5c zjyo>UA;~s5e;#I7VP0(2g8aeaxcKplZXZtcY=38;OP=`>5ip;8Vl8b_^6xdmLo6Cq zz1ph)J7lIyS*aJo!Up?dMPn^5kR@6(fa)GO5`f~;eGed>hQmwP1Gc%RXGuka_wwai z!eavSuv7y@5z3i-rV4pa*3`*8bZmYA5ePu9v{>Q~2i#6;vYOzqo2~igu|!|~tQr?B zXtE;a)NT=OE$o9rvY;1+dXD)AR{LOe)dCu9~h-tLF}0_Bq|WeJl~!ekGfAcn<zLL(n)V#z1oGk9mU%?G(^LtDmU27 zi7O=V$((f@v{Qoz@>3PAn<7iF<9rEH8zZdX0mFD8{D-cw_I!KYicUY<;@zU23Q5 zV0|G7y9=!qMv;4j-aoyL#goZlW%S0S8>-IE@6#vjiA9-SD?d>BWH1t;_~SpHIm3km zJ^9mKfVBXzuxwEBVr`REUnUt1O;$%w=Ct+ODk^H~Oe*ntZdf(JCscsvQo}=_E28k6 z?FPl95r&TmHW%y9^#6>;{29SXo)wv4e=1G$zKtbd259Hw=yD zn>=x=LG@c(`q5Z1mFsm7dnJ)z-)T^SnZyFcc=(2oo0B`;dv}`6BMwE|3 zoTNQo@w;C{g1Dbo_&E39#r1<6kB!5z`H91z&+I z;bRj1X>-PlHh zX46aaRD$PJh|&$UUVY6JCrT#ixAMEw$*hc%tZa@3`MQvC)9C`e zXTH9^4B&#z$JZBL^7Xt3H+McT+XiE($WM-^gJd88$WZ{77i4Eqhv%aLzAj>mfnSRR z`d{2XfbCAh@u(+YxqWXpMk4;KKj{(>E%G#l368}6_^j{c>vpkZ%)i+ZmUW`5K0!t) z4aCQ!v#}i5q@;_rpvGXP0ZvcD@WZ|&YQlZl_a7;jsIXbJ)vr80x(W^XOu;$&`_Eo~ zm`QP$Hm1p8jn<&--K;*kq)tysQD%6lI)0Kk2jwlG6}<2B`s|VK%(RHkk}GG2q_fc5 zl4D4JJDPwbPk$)>I!$~yVXEA(_*w`eb7Kl~#M%5aa!N{CzXbTm1nMBp?PEW|??*xB zTUo4}tM%xHniq7Hje5Od(*Nt-`kT*QG74wEY(B_zNK*maIDJc6Opeh}jgKQpEvg1o zCqe#xqF(#EK%!|pVcSSRG_(g6cw`r{v>677UML?loOgu16w+JnKDv`5pe=nYXgNw*A*fyZwyjMoMUhc1HR^o8tY(K(&VFQZ%0FAfu@r<|B#PIwt7 zwN5sU5*$o>M7O2q>tZO`gCGLC;%o;6Dhd~}a1$CE3Wl82-~{SVRj6SAQW+#M#phO& z&>?7uqh@K}7zfZP!RyW%Kh1rjLZkI~z2KC`N#H_-T9@9hRsBusp4(G^VjEod=Q+&J zu!-DvNyG^{Q2E1q368scZ>0-#=5?TzB?>?YeFPj4ED@o``HR#T(y|?wx%Kg=%X^3` zA-7x&XOZ$jxGW2oNnvy5|H;_^!1Y!0qY=1Xntz3?o_AW4wfA))1yTMzjQ!hzB|*s7g=QrWL>Y(&5%6krgkNCR~D-u2t8h|rxtfB(=b%=?yH zouX$}`qiF8v>2snG*k^?1I?%?c}$-u?9?E&Q(j))6?0u_z1Ha5#T52^ELsJ6DydH? z+yIrlzQ?oPo(X&EL~KHab9uA@UX*iDSMC(ctv?^W2=QHJ0>sEVmCJQOG*<;`sia^^ zRu)utv+ffrV8}#o<1gr@q0aIZ0J|PmBhy!xZIcls%=8BQKzGXkbSsnU z%$Zk^8K6*$b^&e6OXN(3Nh#yn^>AtEGU*GvSq#-I~y86)R>;hdbA*$jw}04lsx zkv;G0=jR6qC~SzGY%;7RxB=T1(UOz*!lFJqPfp*?Z`qrw7{!}>Z9EjQzVZgv?g>1i za+lxxaN^gBaTNa3Dp;)hhQV;LWq<_PM*x&zlZAF$Dv4FXZWOtMpNI}TdDjZ8B=DM3 z4KMSy&j$P&3zJ_34#)rB53RBYfUZm<0&t+Y(8+0)RsepClA-Wis346!T7vNy8|`RY zOi0M$?5iV&$smRQ=Pze&17{wBDtsiC;g|{bTW{xC$gtN6Y4#T#bH1P#g7+?5mlk(* zqa6rXOF8L=FK-37r(y_z1|oAZQ^x@fgf}rv?IP~P%K{(s z4JBdYq=TKYyYEmi_ft8*PAyz-4Gzzoj`aZx>S=HP32q@}Rv6Dkk8dO-P_2*9x^~#I zPk`#`mX*ilXtvJJ+rZ4isS9+S*koK!N$F%_(Z>NxB6V0E;lLVNuDrXBJ2R_3oDg3t zC?G&}2JS1UE?|2Q5;ANcDt|5*cf$v{VKIzWLzmHFIv%+;n}B=*KyR(W#tXPJyjOra zEP(l#3f2>MU^|`A(EL__*~68~4*PvS41@8l`FuKab~XiVX=$mar(j$s+0?3F3U?3xdPpHq*bZ(GD}AFBPN%pIt5Yk%VBN=-+*sQD`vw zpD&yd-5vk&gOJ?@no|8+ic=X;2QYJkDBw$lsK2kYTywDZ7B&D`#HM~!tF{Xt)K$43 zjEkA{0G|hLn?gj$VV7B8(xaTc0Hsjq+^JI>cMzhxi;@qYRKm~z%)G>c`LGOiKQuO$ zo|YE5`rG%M-bJBO3oK2=_Q%xJ1^a2^uekf;j(v9}wqPTgF}K+`mZ@8+@*!w+FKGQk zoy5dyApwT{O72!B9}fSR^X%-iu&Kl5ES%7L9y-Ip!_yOfCORAa6z0(WJl)R|%z!ii zI>?t%iMxQ*H60xt00kkx%z%$;a3`poA;hP4AFVM8g$?&2>gG^G_Sb(+#Y~e!efTrco1|@fCK?bEjya5ba>)G zl7jd4ni4^$mOMXpD+!oD0I&G;>C;3d{u##IR)VED8G_6umcv#YHt4k&R{g1_s=9ap lumJG&9D(s{gc?6Mwr`_&ETpXQ23BMuFMV6;jfBC|{}0KFa;yLV diff --git a/docs/source/apis/components/index.rst b/docs/source/apis/components/index.rst index 3a311617..24890fa4 100644 --- a/docs/source/apis/components/index.rst +++ b/docs/source/apis/components/index.rst @@ -1,3 +1,5 @@ +.. _apis-components: + Components ============== @@ -10,9 +12,9 @@ Overview components.agent components.model_client components.data_process - + .. components.reasoning - + components.retriever components.output_parsers @@ -65,4 +67,3 @@ Retrievers :maxdepth: 1 components.retriever - diff --git a/docs/source/apis/core/index.rst b/docs/source/apis/core/index.rst index dc5dc194..c9f7399b 100644 --- a/docs/source/apis/core/index.rst +++ b/docs/source/apis/core/index.rst @@ -1,3 +1,5 @@ +.. _apis-core: + Core =================== @@ -7,7 +9,7 @@ Overview ---------- .. autosummary:: - core.base_data_class + core.base_data_class core.component core.db core.default_prompt_template diff --git a/docs/source/apis/eval/index.rst b/docs/source/apis/eval/index.rst index 966c01a1..d3b09e39 100644 --- a/docs/source/apis/eval/index.rst +++ b/docs/source/apis/eval/index.rst @@ -1,3 +1,5 @@ +.. _apis-eval: + Evaluation ============== diff --git a/docs/source/apis/optim/index.rst b/docs/source/apis/optim/index.rst index 74894349..3e2f23d8 100644 --- a/docs/source/apis/optim/index.rst +++ b/docs/source/apis/optim/index.rst @@ -1,3 +1,5 @@ +.. _apis-optim: + .. Optimizer .. ============== @@ -22,4 +24,4 @@ Optimizer optim.sampler optim.few_shot_optimizer optim.llm_augment - optim.llm_optimizer \ No newline at end of file + optim.llm_optimizer diff --git a/docs/source/apis/tracing/index.rst b/docs/source/apis/tracing/index.rst index 66ffceef..7a266ecd 100644 --- a/docs/source/apis/tracing/index.rst +++ b/docs/source/apis/tracing/index.rst @@ -1,3 +1,5 @@ +.. _apis-tracing: + Tracing ============== @@ -22,4 +24,4 @@ Loggers :maxdepth: 1 tracing.generator_state_logger - tracing.generator_call_logger \ No newline at end of file + tracing.generator_call_logger diff --git a/docs/source/apis/utils/index.rst b/docs/source/apis/utils/index.rst index 4f13a5c5..fb339773 100644 --- a/docs/source/apis/utils/index.rst +++ b/docs/source/apis/utils/index.rst @@ -1,3 +1,5 @@ +.. _apis-utils: + Utils ============================= @@ -31,4 +33,3 @@ Setup_env :maxdepth: 1 utils.setup_env - diff --git a/docs/source/developer_notes/index.rst b/docs/source/developer_notes/index.rst index 7fca9427..463b03a5 100644 --- a/docs/source/developer_notes/index.rst +++ b/docs/source/developer_notes/index.rst @@ -4,7 +4,7 @@ Tutorials ============================= -*Why and How Each Part works* +.. *Why and How Each Part works* Learn the `why` and `how-to` (customize and integrate) behind each core part within the `LightRAG` library. These are our most important tutorials before you move ahead to build use cases (LLM applications) end to end. @@ -47,7 +47,8 @@ Building ------------------- Base classes ~~~~~~~~~~~~~~~~~~~~~~ -Code path: ``lightrag.core``. +Code path: :ref:`lightrag.core `. + .. list-table:: :widths: 20 80 @@ -56,9 +57,9 @@ Code path: ``lightrag.core``. * - Base Class - Description * - :doc:`component` - - Similar to ``Module`` in `PyTorch`, it standardizes the interface of all components with `call`, `acall`, and `__call__` methods, handles states, and serialization. Components can be easily chained togehter via `Sequential` for now. + - The building block for task pipeline. It standardizes the interface of all components with `call`, `acall`, and `__call__` methods, handles state serialization, nested components, and parameters for optimization. Components can be easily chained together via ``Sequential``. * - :doc:`base_data_class` - - Leverages the ``dataclasses`` module in Python to ease the data interaction with prompt and serialization. + - The base class for data. It eases the data interaction with LLMs for both prompt formatting and output parsing. @@ -79,10 +80,10 @@ RAG components ^^^^^^^^^^^^^^^^^^^ -Code path: ``lightrag.core``. For abstract classes: +Code path: :ref:`lightrag.core`. For abstract classes: -- ``ModelClient``: the functional subclass is in ``lightrag.components.model_client``. -- ``Retriever``: the functional subclass is in ``lightrag.components.retriever``. It works hand-in-hand with the ``LocalDB`` and Cloud DB in ``lightrag.database``. +- ``ModelClient``: the functional subclass is in :ref:`lightrag.components.model_client`. +- ``Retriever``: the functional subclass is in :ref:`lightrag.components.retriever`. .. list-table:: @@ -92,11 +93,13 @@ Code path: ``lightrag.core``. For abstract classes: * - Part - Description * - :doc:`prompt` - - Built on ``jinja2``, it programmablly and flexibly format prompt(text) as **input to the generator**. + - Built on `jinja2`, it programmatically and flexibly formats prompts as input to the generator. * - :doc:`model_client` - ``ModelClient`` is the protocol and base class for LightRAG to **integrate all models**, either APIs or local, LLMs or Embedding models or any others. * - :doc:`generator` - The **center component** that orchestrates the model client(LLMs in particular), prompt, and output processors for format parsing or any post processing. + * - :doc:`output_parsers` + - The component that parses the output string to structured data. * - :doc:`embedder` - The component that orchestrates model client (Embedding models in particular) and output processors. * - :doc:`retriever` @@ -133,6 +136,7 @@ Components work on a sequence of ``Document`` and return a sequence of ``Documen prompt model_client generator + output_parsers embedder retriever text_splitter diff --git a/docs/source/developer_notes/output_parsers.rst b/docs/source/developer_notes/output_parsers.rst new file mode 100644 index 00000000..dc1f8e4c --- /dev/null +++ b/docs/source/developer_notes/output_parsers.rst @@ -0,0 +1,2 @@ +OutputParser +============= diff --git a/docs/source/developer_notes/prompt.rst b/docs/source/developer_notes/prompt.rst index 2c73bc85..720c3ebc 100644 --- a/docs/source/developer_notes/prompt.rst +++ b/docs/source/developer_notes/prompt.rst @@ -5,12 +5,60 @@ Prompt `Li Yin `_ +Context +---------------- + +The prompt refers to the text input to the LLM models. +When sent to an LLM, the model uses the prompt to auto-regressively generate the next tokens, continuing the process until it reaches a specified stopping criterion. +The prompt itself plays a crucial role in the performance of the desired tasks. +Researchers often use `special tokens` to separate different sections of the prompt, such as the system message, user message, and assistant message. +Ideally, developers should format this prompt with special tokens specific to the model's at training time. +However, many proprietary APIs did not disclose their special tokens, and requires users to send them in the forms of messages of different roles. + +In LLM applications, the first thing you need is to + +Design +---------------- + +The prompt refers to the text input to the LLM models. +You can use any of Python's native string formatting. +The ``format()`` with kwargs is the one that allows you to use placeholders and treat them as key-word arguments. + +.. code-block:: python + :linenos: + + # percent(%) formatting + name = "Alice" + age = 20 + print("My name is %s, and I am %d years old." % (name, age)) + + # format() method with kwargs + print("My name is {name}, and I am {age} years old.".format(name=name, age=age)) + + # f-string + print(f"My name is {name}, and I am {age} years old.") + + # Templates + from string import Template + t = Template('My name is $name, and I am $age years old.') + print(t.substitute(name=name, age=age)) + + + + + We strick to maximize developers' control towards the final experience and performance, simplify the development process, and minimize the token consumption. For the major chat models, we eventually will only send two messages to the model: the system message and the user message. The user message is simple, often you have a message `{'role': 'user', 'content': 'Hello, how are you?'}`. The system message is more complex, it contains the task description, tools, examples, chat history, context, and intermediate step history from agents. + + +**Data Flow in LLM applications** + +**Benefits of using Jinja2** + Prompt template --------------------- @@ -166,6 +214,14 @@ Output yaml or json format can lead to different performance. We have better luc - Few-shot works so well in some case, but it can lead to regression in some cases. - It is not fun to be a prompt engineer! But what can we do for now. +.. admonition:: References + :class: highlight + + 1. Jinja2: https://jinja.palletsprojects.com/en/3.1.x/ + 2. Llama3 special tokens: https://llama.meta.com/docs/model-cards-and-prompt-formats/meta-llama-3/ + +.. admonition:: API References + :class: highlight -Resources: -1. `Jinja2`: + - :class:`core.prompt_builder.Prompt` + - :constant:`core.prompt_builder.DEFAULT_LIGHTRAG_SYSTEM_PROMPT` diff --git a/docs/source/insert_labels.py b/docs/source/insert_labels.py index bdf5f036..324c10af 100644 --- a/docs/source/insert_labels.py +++ b/docs/source/insert_labels.py @@ -4,17 +4,21 @@ def add_reference_labels(directory: str): try: for filename in os.listdir(directory): - if filename.endswith(".rst") and "index" not in filename: + if filename.endswith(".rst"): + if filename == "index.rst": + module_label = "-".join(directory.split("/")[-2:]) + else: + module_label = filename.replace(".rst", "").replace(".", "-") filepath = os.path.join(directory, filename) with open(filepath, "r+") as file: content = file.read() file.seek(0, 0) - module_label = filename.replace(".rst", "").replace(".", "-") + # module_label = filename.replace(".rst", "").replace(".", "-") if module_label not in content: label_line = f".. _{module_label}:\n\n" file.write(label_line + content) - except: - print(f"directory {directory} not exists") + except Exception as e: + print(f"directory {directory} not exists: {e}") if __name__ == "__main__": diff --git a/images/LightRAG-logo-circle.png b/images/LightRAG-logo-circle.png deleted file mode 100644 index 899dba0c6465abcdd4c3d2ee9b3c34ceeea1013e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12146 zcmV-&FOATNP)PyA07*naRCr$1eF>OdRh90)&$(mGRha{sM-s@uC@3gOBcOmdU@N{S4&D0vY(cx# zr%zkod(hh5w%YyFrX3o6YCF-$s5B~r0s;vH0)!-F1X4+*GSqbEbI$JkYwvyTsmfGS z68id;p>ExK?mqk9Yps9%Ywdj%{);@c))xS{13>EthujO`N~P3;BYfWpdAT|vpL&!J z)mksnz;nr$9fN@`RZ6XUrQQEAxX;nuqSksffHOw-?lHgX38mDTW4_8bT;PNPqP4yj z&^H4obQnXY@qJ3E?~lXWj_ML8WF~Z^LjazPSVo|aF!&QPM2;s?O8KLj)iJ#3xZbUf z^x&C~KRr4MAjfr>2aQE3b=(GUTs}zas8>U^5RK#yKRgvbbEIX(R}LPkL-x4bfEik! zQfj0OZ^X88Oz%f)JzFE%s-a+h1_MH$m6EA;(|a`6RUhsN0K`r19HrE@5zq86-*C(T zsp>%U;tq&NNAOfCUgvaDbkO{X2ch|_2IwKQMihqdQiRMs>Xvc>0WqQP7`d@=2SjV# zT7vE|U}ywkh>V|>iFXf15?Tl6Jqoq_>w9h}nok0riTQ&cuN*+^xZ0FbOgzW!F|L3V zLS528j!WKGX5|YoT=XH3@+`G-%i9BJM#{P_&KJFELdq3TTbkdqB;#wu`3hL9Y>rK9YYRf z5#te8#tz6GJ2iafdG!5}xEnC{upM=HJ^O)utfN}sDt<~^t zY3I^7?Tj;V(s+HVhv}6@f;c{PyLq!WULHq)POYKvQZDHG_+@}fmF$p=wRp* z-3u2s*%G5m7?=gwZzs!%b`m%amdAzA<5xbeU^PcNkyG@ z56(aN5*zBQ&O_elZo|B5Xy)XuHCjs<6(GOguXQ;9v=2lcP*p(92l{Kkj(z| zI5PZT9U=50X!!87Cmxz>(7?penTHT|UdkJ}rV5kqu{&3c&290)+qy{nm<`ttD41%X15c*K)4XxgUvT94sF`0XF`D zHUgbBe%pmjYq-XRMoz&i`zk%GDW5*6viUhc_dSly7_qS6EFUr&6dyAyU4F zrgR$nYYZ?PJe@X!Oa;pu^H?^0Di%-AV%B8fWL2lW&T^jZ1MYpc3%`H48#}d+nGKDY zR2sk==Fh<8r#EAkrOA|BeQE++c=8c64NfgHO_~x32A#N}-sKwOR#w2+1E2t4dleW6 zfv&0$K+H@73tE8*cF~ZQa|UVM{D@oxq=qOAGU2oiK4QheL=^Y`&JX(Vhb6NN3lQA- zk`_NNHy!{{4G1eHKr3=04vI^NqfQy17`SN{oQzx^2x>sB1gIKj=?a!M=Wxc1$$0JJ z7EHCPl~-U4T3Z4hTsMH{Nsn$lxDX!=C)4n09rFZE(1)+niWcO=9`UE zFhk->yRkk> z0e;Sa5d}cCAD2&?g!yf4XwRp_*td7@#>Txnv9}hWhKz~fwK6U{WiBo|WdfF_OcI+5 z4R_$wO7M>hp$AW=SV!V%1st)SazsG3S;3G~Xz6;K2yqoVARMi9F4pGfF%zR3;%eQ} z2Ryd92aoL7jWwKsR0B{W<;@s(mSqem;L-^VxcaP_Seh}`;)4H!8#=N2i6=3)r48?X z&1;YJ31*-dUSEp2ii+7va1)K4vi#+C{|s zBakE>TPwibtG46uUHkD2U2jmvl1AV?E0*E%sh%tX#xW5>=@vDRx8Nu;GN~)rflHmi zIx{;#N?vg2$6^1lRqNh%poMHSXXBQmy7bn*)t+qRkgL1QcBud4+xcFC!kgyGeV_}t z`>Cy1J5WPkDsKottqNqwT&kE+8Nk^cO?dM;^RTGFSOBlPaR7MeHxHq$;^94)oQDN% zMiY~q0U8kk^dOC&Z0^DL*LGr~*DguqlvD}l<~2TW{sJt?+m&u7mG31G{NVy%&?gK0 zV=wUSM>b+rxh#{=S}EhI2~+Ur=g+`oYrzf_OJ9Tl&^en*Xg${)G(ju}rw?5YJ}e+l zX|1Q&l|XkHGB2{hO!CqY$XLqB--YYfL%WT86oHFUH_v!!L`b6yPi~gL&>cOz2l(aV zYq6yUZ1o#Zs`@~t5vVcQh|mxY;L3T^@uuZXm}4h_3*x?qcA&Ux2R?ko*_a^7nwiLM z0IaXR@0U-ZD?J5Jw88;g(Nx6s7cG!jzyQq$?~4nI?uUznj~3KK7tqK_{MiiP=a28i zEt@w(<(n}%%3>lyy!Vo&SkYiyw^Onu=}g2xR}FQZ!!mKIFt$@I2Pki=(2kf_&v#JNU z@7b+by|;`_OozQjlamnnS^+El8ZKQjAD7Sf#2V7aw zf~BOae{v!@LA0Fvb{BEmn&uSI)kGzPr-F+zfz#gs8t#f94{4kase9;iZrOeIeFt4K> z^CmW9@l;@T6L7L+YrL~5!vf^4t>msADg*e~+-bOOWrrk7MAc=pI-)$zER?zLkccJO zD-}2XYnP$bj2uQBJ2P&TN=e>9X6F8-E8_&*zZbau$t`%OCjzp~miyCh7Lc#?<0C7V z;Nm$soJ2qefVoX3M*XA<_}pWgfhdP&Kg7FRtGNDx`RJfK2})@9awcU-EA)H7&!6eW zt?M@8*>oCH!y3MI)vGbjuLo%^HiE&$LU%~l_J=ZX|7PHKdwYQ*A>#r}sM&NSeE7U^ zu0jG-!J@E;#W{tQGpFG6d97HKL$qi}Gv2`#a@#tMY#R`zF~7JUUw*>^yt>`^$#hsl zj&4Nqu?V5o(6+hHhL=Q3k8xa5Pq!4Uu8tb9P*m2)D65n}cx#S2J6HCr?Z7{+ejdA- zKV);Z02Tm21?T2dxbDn3IIGprUs~H=-2XEEqu`4<&aU<1$5$^A&}bQ4P$U3;z{ONU z*~{WN4gCFWkKiR0;=CDC@mFUqz!c73WD`rSE6)JZ1K>CPz&)M7-MdRb|A6h(2#ncR z2pvs}sy1CUZ=PbD^W(hdnr$#pxX7#Ex0fy*gu$R+)@pt2rykyZ^F4b5Ks5nD6>rOz z@rg?oU_Sj{7@?V{a{+jD<|B(?P)koF6YeAgYF(y=UhgESQqAxb6bCIDdCDjs9J943 z=f7V7@U2I8qy`~{D>5nq;>Bty|HeNvE-=P$^*`JN{CM>y+*1gFwy8#r@vA_k zh<8qyh;z@K|_e9KD(m=Y|xYB$Y80f|gb0^^a%UUG1WF`B_2qfm3HmBle*%eUrI7-$& zBGgm{J19n0fY0Bx3WZb-vnmCA>TR#WsSNmb4!96qZee1m1;oV+-mR-XT0mT);G`x3 zRRx}yZ}+FffUq;2FCI{acdtGm*xq>e2CVfa+F((_tHb^H{98^FO^2+dK~{xh7iR5A z%c#V2yJD1&$mS=>1j#2Lig~p!T+OX5M-J*SDL@p}q~yTFvV@eFKm9suDL>y-#`m6k z5j}nrPz`}>R^*recisMkt6CG2ijf@1=470k`$3Tc1ZI1-xm-1bpK3$&y2~ zknf0z8Ks{w&d%weI3gF9I(%#{gGh}$YsbL<_LG2AbY)2<$~-5Ij`Y(9b}7TTzrC)A zZ$7^RNVfs$G&1G=I8PPumsg&OB?@xW4X7bt)0^TgNgd4&gr8_W)s;4rgLm4Pb5l+i zitms?JqiU336eT66q?s#Pq3enAv14b;pwRYaQ~yvW2)BpR zr8~i_Qx&3w2xVwwkr!t5&5ghhpWcl2sDQtD=Q6Bh%!n#zBmx96OP0k_`%z5_Iw!JHpc!WaNtt|#FQT)q_!$(TkV8uD z`?J5@gY`WHoZ1lKlb6jANu?P9qDqKNCJU`tTMv>u}ZAoxtIY~Sd%~S4z@ePssdMFFNj8~?CvXL=|^)TyF zTmUB5VZlvm;W8ODiGzWkN6iuo#-{7;ei_^Qi@0b)8rS{F97!y55gY!pQo)W;H6(!W zGpluvA*nW14XH^f0v&223(~&p6F}=ED9i&k0l4|0 z&G<2k&Ys1Uc7hq6ufU`lW0ZBo+=?+wpl~kVq`MifAANYlQknwV90KFAgWen zfW~qX-D=i4riwqiU?I+JG@!8l z+`@&yn8}}m#}k(vS>O@<&^9{qrLv%G1Dm6&Lsud1#RXM<1~n=s&xTirDAmeHryEVM zwKBB!YXX!K8cd>B&qw&7Jsz;(Kz?xbFQ37_NaIV(XXEYjTf{%Z?x~Q; zb4(%jtj@zGi-z*tAl$6G6F_)ELIgZ`&`l@2e=XD~Kw%)Igw@=#p%=Gr+<`S!4@fr| zP*jA)x`fwGYsI_HnJ#gKxk|EDz{HxLO;;x2fjtp2^QI)yIO;Nbz_y5FuvIs(3N(K4LZ zVrnR^cEb0u10|;S^?}7rbFoKFOuqG0gF;L!xSAonPDNUiRJ2OROcFYIB7!ajP}!V_ znYD~@VHExz+YkKf1FP|n-+~~;>VyXj^h*o-N>#zdbEo2s%O;3?&)DJ$H%S&kr)08x zZ7Y8D73frCx2J?<5osrWcY@;xg|^s z+oys3KJep>JMo=ox^S|e!MEPBM6z;PJueye;n_`IhCL=Dx>@^43rNQF7!7Bb!UEmo zqgQE7hhhDN9u~m zZO#;&KfeRZn+-4=J6#z8V)-C1zO06FRD<@Ix^W+()4*Kan$MWqq79j;CLkIpm5|Mw z#)**qwqeS&ih69^D?#xW+L>(+GPC6-z%yc|Z5eX%`rrS44W8NMV|iOUZoGJglpkp6 z^aPRHYR6_9rU;2V!~x*|IFwr&WF9ecF(9ljQFmovN?cj4Od8ld|u)oyKcBj zm@PBdvn}*DyMZ6AT90SQz|yTIw$MLu-3R@cQ|rgdMjvO-o{p7sJ1{F-?+$c3tK1s1 zsZd;-=5)Gs;u1+Gv2d7tzxmf~@*z!TiIi`2`7lLGzQU=#PTny&1+^wu>*oP0H{SUW zs--quvTzapd_`LF83PDWu+|m%F&{Y?h{JKHWJnnj?7vFt;JNjBC1Ch+P+%RbV4TFk( zA^$rL_%`RD#AFweD+{<8S6VZLbG>#hj1ES!T&lDvxQAC&Atom83-zz^za9 z;_yC|lyKlrdFTFkOepL1SiX3nu3?nAYAR<D61&3f{?6~|)> zP@0*GeQ8ob8tUs}f)oG2wBd_mvMrSk7@Gg~0C;pu0S~;e4O>FsSs^@Zv|{r@&NyER zZ`^^!tI*dIunH4SEt2H3YoQGCbHemU!q7r<1ipIyzo+=_Ii-*+=P|zhbsJz)| zBeUlc6l-1e%7xg}K6s);{Pi8{@N5)eW>CS+Z$AUmt*bJcfxCwB{@U#0I)rtM4VJM1 zl1Ri%)@*WMm(GjVKD>1sa~)G3Ca< zE*ZO<)!`;OP=denK1D=yhXz>riI(OpiK6EBHdOG%=e7X3HbV%?C4BablklM#z)U%_ zz`*WFyGkfDS2BJQ2;281&MJ{6u$7gih5vc?3wW%S#>Ak6FJE>F&XG=)02u@bkP|?% zlKhZ-Ft1?+w4T=-%(6xXLh{vP1cVwC6+<4YVO@jxEzy!qc9S;3zDtBeEOaJgeU>ZW z4U*c~oTg1T2wm0ncW=g{Q3lAfi7x_*J^21bvv7G6&=!y(Gj355rv>oyouFu_E_Xf1 zVsM1Z1NJE37u~?uf4>2tpTaq9S^V$Uoh$?)E7g0lMFR-;gcv!RwAYiSi=>+!Jp_Z_ zNkBwg9Nh&S4Rp~UsqZIuuLyM0>pckn_GqH;Ku2 zQCyS*ibr|Ku$x^2i21F~%;W!ZK*VU+)MrpNkZC0+(*Q!Iv>z$#Bptnf6YeT1Ak$)Y z$EXmm3-;q1moJg+1vy%hG8U4R<_fbt*cNL|o+%oC1!*sXPF1)$r1$J|w?B!_Y9l83z?a{;NV-a-GRTebB6;wNnV9g( zI9=V}9auV!0ffhKj13TpmKI#w@;j)GlrU*G?j+-KfEa2?K11$o_B}9mP+PiXC-9ZW z)}xb2BBhrMH{cZU-iaA}>f9-It2ASo5$!#<+0ga})9(0umb-@8GODsdbHBZ%7r%IN zBc=suTyx$ETsqSw=YBMA35tALq<)TmW$`)yWAT#2SW*3qx*( zq`*`-IA3Y_ktYco8}>+bzx-4I-`~E+$Sfi=Q=}~6ua?fhHS@A|M-)puwv*WPJF-?_-S-0g=Y@*bA9~ICs7O({&aE&-v8=ZVi~zmqs3lCK zp_Qy%?!kzbN7DaB>dD3oh@-vr6vWN;p_Y)1D9M)y2VnR%H8a+^Q<2G_3(83PAAN8S ze%BWOd5R#B974deHvZSrS$NNEU))Sn(jN}-naoI(P+(vBtr(O3Y1NDP#Y_9KIGe@| z7cIf5S*zw&fks?I?m6AqN&f}%!pdz-K zQt zAj})MU+}`8t;6=VlO=A5m2h83wSXI!&cVCp1KgO}AfCgpG;?NJf^fX;rh!KNhOehTyhuJ17`iNSwQa8VK@5v zb)CB&4>05-4{EkP5nmVK0I``gr-gt}3*__@kW+5m1mq?Ip376XU9BH~xo{#rxVT9s zRgT4Aeh{bpW}VUa2rOL{t?lbSx(`#DC*lKFE)#ZUx0DX<85`3I8}*yxuge%@Yom2r zqaKDVLK7t!F!_)eVuQL^$ZZ=?;%+Y46i?*Lu^9htGHLI0*+1AyjwShl?FF_W#Hq%V z{BOEv754QN@a{Lg4ktAl5SjA14gX`hhcUi6c^u#g1;kYHjdO4Zi@Cx#6LSLc`a9O4 zlTIncYN6SONZR|ROc`H#!yH-Z+*cmAz}f_r*5OV8dSc6dJh*BV-u%XkvDlvcAXWY# zKtqaqt4{3WNPt|+7T)7EJceM36ck;AZL+V}Qh!S0bTj|sk1ykQ0~89`?sV>t(ihgp)WTMfVnL2ZZ&pg?QpLG_26nAp5zG8ZbPeKJhykeddl3FBJ@Wo@f z#x>$f!us#`K8iD6^(stkF)^c=2lQ3S2(yj#MDKX5z(ah_(9=r~1&HgGIp)K3fUtFk z-8JT@JflNVs-VR2FE18x!D)N; z>mqRNy=#En3{zjEOdnAE13q)w6kI<8m~2H(;%Sr~YsXuL8ERSL#_yM$S%3HVOZd)SQrZTSN^@wn086q}-2VEh!nD%X(K7F#E2L;H-MrH8Z;pSH z9F5tbwm;7 zxL8RN5W6Eve7jxTZrk%mf4v@$g$?!`Ek@}GD0Jc*E2ra~vsxu%XS}bbOdOH8WPz1p zArpK%YjS>7#E{OUly#Qln~5ChT==5_GMh&bju8Eky?h8DMn$z}yT5K^%V^ZEKH9e?3`;jYZmx?HX19o${p`l^?27>I{k!R@ z0epQkx6SeFtg>n5E%xDtl}mB$424N@3LIlYO|}>)x093^yl2`=2?#3~tYaAMYt(Z) z;x`@*3`aPQdSQO^nmxbksIMK#3!JyIwZufPtgFVE^O>q?PjZrH55$$fzVjvgk*8_P zLB>3fv4YE6v-sOrPsKFNb4bX*O7>)J%Mj#F9UMkAGv~G+*LXgTM~xdAOhw$Df;^IG zKm2PA+cjF2+3iGV5&@PkpwCJH6dU(gbwV`4gFPb!BQ zqTlzi{=nk+!ml^r*O8ntZDjdUH$E{lhmWi<+Y)Fz?h-uP#B?*7W(D_sBE~9N6OZk4 zoH3|hZaA*Wy?R7|9E%_ydkyI>=fkX6X;^oS9Xwz;>!S!?6yS$@fsg+BITTx_8U?s1 zg|qv%;vcVC3DQD-=`Q=c9rcx33G)`7NaT?y7#Q5H$`Mb(2%sAY7{iVsLqC69EhV;w zdebcr^mp)Z3#9p~qAI#eRYZ-=B0ApmXg7Yaa{vYDgs%d%J@~&%X5rd}4U&_v`@X@G z1DEWEV)I>DCLb}CaMxXbtNbASv`AB^!KL zBmd%^>v31A!yE{l3UPWgfdBvIMe;%*@uWJSyJ>nBh1>qm%6P=cRI$uYT+pO%d__wNMW|L6wPxJ7}FY61W6thu;+ zx;w{Z3zI`&k_w?*cOk_r_WIi2<(kKU_KpRNaRFq^ zpv0NFIlx99${dOrZ^_`{*5*uE!=ECJK&8;HJlPlj#RsInGS-RrQesxi}3xO~oJynDq&X`*8` zOQ?dHIVxS4mqUB(>ie*hzTvRtaabFJKV~E{OI_%7*|a;?>un@2 z9?5HmldB8{B%#AQ2_>1a+oj{gN3(^&?AI#s+pi#g5bxE}=?SK#+`74h->qJQHXY)+ zx1EnAX?rT1SV`DIQgWKUVJP zP>38?KoY>zoAE3HhX=$uwfHF3!9h5zX{a=bZ6IGT!?RWTZ3__(R(s&N-B`E!30!g3 z*?9Gm3Gw0i>`IBEDl$BT;LuV1peDBQw1mT5>x2N30A^4x@xk8d5dLb&oz(Yfng60> z$Px+v|~J0?|a2q$kA@lo;Yzw@)(d| o0@7Oqu4q^4_ecATSHj=_6Uhr_l&FPM#sB~S07*qoM6N<$f_s%na%$?b=yH>5*X|0`pYwar1C}{>@(%0701|Sds zcm)0dq*)+PE7a{402mqq5&!^D1LP1MfC8kzB!C*^4cKcfO>t6yO8-%59ow>$uC&q&dbuJq-=JtER@-q+WYj0pg|yaWAB zbuJ5Bx3m(VS_WIg0kDFR+1@e0SN-bME5~L2bNyZZpP#+q-)#p5rH;$`!~UNmn4O#h z96{l)g2^460vx?Sx)K1$vmAZ>0|9{Ym@gC(=zC0q5n%HN8wk>I$F$2|bk;HL@E865 zcbaRa8ep1MuuJIe?fqQ<;6xwD7YKHA0n0dn0qJwzPHx@+z$gIHYF=JGP9S{~q{YEB zz94;EzLLYgmE-bnw7tE6(Kyn4XN+F+c;Pov}hKIS{za?{oWX(o^kbqmzH2GU$09p@aNW%hTP9Dg6vzw08a zzU8l>{x`qV-XEm?s%t99!~B?kT>h4;v)%{wG$;!+_?Ex+vFyj`6TAXI>bLCB99K8J z)lSZuS|AO|4qbNk zHb0j4xE!2s;N|1Gz`W$NzMjA52FNEDboSIa<_m(fTtKkd-+9R`0{yQY^TBqK-|`K- zdaOgRo#f%}_WD;r8f*{wBj5_40cZjOKoA%m03W~|aQn7ivku<<^+X%62mApSz!{MG zoAXZ&#P28G;IA1F4r~D4V48qG`7Zx{>I?*fe8L~@UwNf~Tfd(M|IXn7`~++80t^68 z@IDBnoxwc+)Mf!JfE>3!_y5#x50>c&w$~Gk$It(J{y*G*rBnyyz4CY7pnqx=(B` zY5tM-pB_IR9|7lz&#j!p|5Zw$b7&wqo&gOX-!OkS7uP@mb#O;;7SQu{JbOk!=A4Wi z037cx$7ujy+vNAY0pa-iFW$Xr0Jw-Ikw~BZ#nVRvK)E6~{XhPTC$0nl%yaL3v~V1waM31ZV;JfH80lumo(u@#+eWbAKQNhy?Bc z4}e5)2Yw1<0@*+w@D?ZqJ^(d9JLq0;9AYG7t$QWc6 zvI5zH9FjrF=*if~_{c=bq{)=X)X5CUu94j!b0PC13n#lz_K@ru*=w>AvTCv>vTm{= zvKg{9vRxB}`G1Llr3+fMzh9*GMp|7E3&^oZ62ca|2b?5;(B{?g( z0J#)6f_2Hw$sNi4$fL=V$TP{`l2?~Ix zQ@o+5qG$u>(jvtkB_$;Xr5L3mI2SD`-6XVG?E1V6tb5W_rQ&k!gf! zmzkCMJhL&g7jqKxJLWFtWfm$HQ5G#0Czksxc`Pj~^Q=%-Ayy4mN7j3+`K)cMi)@r^ zVr+VB?re!{rEK5WFzhVsa_koDq3kc%8`x(!pd6wcdK{h{DI6a-hB*#7`8d@%ojKz< z%Qy!(_qk4TUE*@)O5j3q4RIZE3vg?3dvHJIuHl~KA?K0cG2sc}dBxMlvwo88q{>Oh zlL;q3oE+yR&48qsAjE-^i^aIs>sAL0z+aB)BJ*W%w# zQ=V2j?Q#0$={^ZE33&-ui5C*Rl4Oz!l5UbOCHv1%oVjqu`^@VzBU1EI>Qcc{#Zt3p zInG`=d-rV3*&|bvalmnGNC~vArsd%WoQ(0COQ*~C&SDn8oc+vi1?!_530kxZIIchWTQ*e9u zYxvwHp-WDe-dtKzKdtVrUZVc%^0~|Ym#Z%CYba|(X?)g%YU*evXnxaT(K6S{)SA*3 z)OOJ>*2d__>qO{$)}_!j(0!~sqQ|G_s8^(i(O1-u(r-1OH!w5EG?=?0amD{iogtZ_ zzG0f-47p0*8kjCS^R6*nnvB5uCBiMKble{H|(py!a~fN|7t%y3+Dy5#i4 zX~p@XbE@;wt&6u(Z!NoAbV+krafQ34yRN%wxMjLw-F4lw-S<6=JqkTYo(NBr7q!<- zuaDj=-X7kqKKwqRKK;Iuz7Kq7{FMEk`eFPH{NDsX0&WD<2C{)b{%eqUP)yKluv+ko zU|fhrNJS`fsCVesFp04Eu%&SA@PY{P2*-%#$WxJbB4?x2qjIAm(GJngNFn5XEW%1-%=D(UOl3GEt4puS zviY(Tvk!CJaz=A?a;sm9zE01h%nQ!@nQxKbQJ_>%^oHk6;u}Jtcj3%i)3>cfibX~5 zc;BTIlNARQuawx7^p$Fs)|N??<)S!HiSL2;LGM?~Z;DN>nL#afk6 z4XF;R#?-jh%+y-e_J7p>*j%SlSM}-ar^5PE^)DLO8&Vo+8}B!g(BbIa&%U46n_Qaa zo9&t>TCTTzZ#8NC)@IPw*{aX%&t9s;ns=g_F ztL|0ot?j$eSJ$uF-#7ptXd2WUZ2zwJy?e-LsDIdecyz>OWMDmw5I`A--%Zv*bTa|~@ACmb6fB?71^})y z0Kl~i0GX`ppZGfqXjA{TE01p|K^r2+h~VJm@b{zta{0^V1X=&I`#-OsG_tZFc>0ek z=`+Ag4dH+$K_P+w88ZaR3?a1wFi;K(5Tt9Ixs;M6F>%mLdnRX z6copf14tD393W?=U^#VOos!kWo=VVcpV+&m(p zV&bPIspQK}XXC(l|g5g@A(z$_&5(0`7H!IPm}R2qpFX|3uFIKXO7lqQyf$S!14@|1m15 zd`|eOsoyT@g%cqMe~ot|14@`CHbi|YUEZtvnJpDFPN}EO5NSUL8#}U5&e~epdi{A_ zpWf-t!N_u!SbVpL;b6Pg>9eS!0~emzfKYRDUs-SI*UK&>phX>rB1RzR(S&gLYz`hl z0&P1iShOh#h=I&yAFOBZcaZ>|(g2K5n?nC{)walBT4Z};n_1_J4~uFn=An-z8-vY$E1x3P>zb;DYK=H-re^TL-w-}9zJ1i!JkSC zEOp*xjV$zY?iq34Yi}75Y@lk%=1{eq-MhZ=3+=C*#DaVo%0&WB$o*`&hE7v^aRz(C zE`!@>$^)M=FfREsg)%aFV3#G`>chF`=%g&^EmW=?!O?I?(9*Mv>PP_^+q z%qX0cQ@~#7yvKW!u{7d>s2+mPd?0_o&CaZ8j{j6%dcS$G=wNW)5x;4@s$yHPOIc5E+kG<$jO<3vi58rPjKJ`4|MW1=J9+(C89qz9baqb!xauWCB) z?^f}cxPrRO3%!%lVZ8-*Mo-b4w0_d`vm&!oWj*0{{ zpPcJGr1*iHrhJ4`X>&|_V}qO)MG>^S(My|i=&#*GK?M&IpoXL(>P&M?bK)ffWLhl| zA^t7wm8yC($wAb$b+;XpIM@%`#9~#|sij1obU*xP^}27`vU(qplwt*o#krJ9^uX7? z3e5$}C?j$*x9bRueV;aC;S52T>%#t@0wr4Tl3n$BM;9t53i=iwvaK`9ZwEi0N3pDs zpFH{c8Oj0Eu|ZXOU8bydGw|N~`Gj~U%SOhj7W1Dsp1+>ElEU}PVcB1C2>EL1d1&G+ zDn3%>w8fpDCV1UKwou28DN&49b3RL@-@Px70_?n&?O5=q=Z@?tx`owlawF_Bo3J`f zKJ=jvMe7EbSu7UR{4W$3Cz_D}mmcwnZ*A9Rg3;q2-1oN{-xS_fJL^i6xO1u&DHsiz z@=LS*^6-Or;03B&_Ji&@#s@?RjN#^ZDSH96KR4S9q8cxS`?l4Y35y$z52x}5ph<|{ zrO4ApS3^r0ZTdGx52N|#t;*lN56cR3>ECe~+PQYlnEk7P+!^lcWYqgb#oK$O9}oRQ zhA7y~4Z7EEs8QB_dZd{+`H+G+(YsSb`01GUvn^rAfJb>#jlNiPN2#=)OZgys{u3lm zR>Hw10yjPHb@_7jeu0o!Oa}?DZETU6N%9ty@bX8=&dT~Q%izysvHC~rEStG==`TI()Fq~|y)BZ@??dbbZ_gkO8R%E*K zV~6(-hjO>orcckQ^2^)aAB?Jdv16hYx>Uzzq6Pf#5|N}q0uGe|cSX^@Pi3$jl5x5f zMh&yA+T-(krP`M}5~&#B+0|&qO|$OtWAgi;olgqAeJp+F#Am`qv~OfPPxK1N&M4KqXXBJ0}sy@$v?SW+&qe^Y=q*r zkE{)q<=1OH%xSp9Py=Y=`I3uneGerW6`dQhjh5z#C+FU3u&VNl(r(@wG4I>gRh7-N zF6+zzEWRpWFWnKm3KYFXwYymP<6ibo7xmp&W4Awd@iaI41M0b#S}p-*EK4nQhT|W4 zsc#ZIQopOQg^HP&o;?F)B}PdOh?mt}hzSpG_KN(*bKuSYu1eqSFmG|1nfUE6YM{Jd z-#YwOqd(TTxtAH|ZQ5w?qa7a4dB?6`*Xq{*-6+r0Vo3X>R+KHGBlHV{M9TB9Y|bp4 z-<{SsD`)k>y!K(K{arzYKPYWFB%+^g@H65j=lCd6`7YmjH5od7QF6tYBa#6#^#OJE zIhnQ5m`aN3NSCb?&T400@wP7LGg*BWg3iI$bnn3P7y8Nmxk#7$Uj^PDRGuLLFAhg{ zQexHMLzOC3n2|*Gp(l?%!0GOMMitII7EN~6czTl>@6o>LSucc@=<@M;B^z=3+LEwi zmIVp8cUC_60tt9ub$8^%$J1gr@8#f&XSOo~*K8{tyX3JtyE-eD3|5s=m;IOC5V@n1 zcJzK4gxb2DV26ldem3&s+OW1u7IkUb0|kJONedSt}mQ}fx5^WjPfhhjY+0sT{oYBB}UIqJ0@4_>h(G;t$7OSo2 zH;8_gNR~zs>rkHFu()m^UVCGqi)(bVA#HE#-F(Lbmrb2bC!X!?pk5Zle0@okoRlrG z7O-0EDDyP_I*qn!Z$Zjg?8s**nO;=RQ%#%4T->UN2X6eQu!!683~{y-_ARHmI(wpD z2C*+R!f}>)xH`_->rbUmL+B9;)vLSs=<=$R76Z=#uYi!UbV7^s#5$ zoZq4!`%+B>?57k&l=ut3<5!?B1lRkDIq3&PaZD5mc<#gcRnRk@IdraOXERw%Zs3%G z^~Z$+6`s|vwGyvR9eLKd74|KBiBvC+F?!%(Sah};e)%mbR)Fw2=$h|9Ja?2V2^cAR z-LdzqI=**&-RTj3)((mc1-->Q&Z(A}5;tbEU*vNwDnu)i1ms5|F~q_Y1y-NzP5E$( z7g(z1@wk)n)K62qevHH?be#`G#vA4>`(|m}Md2liURJT&PW>9+Q0;ajPh6E~3-glC zyBH%p)Mui__Tc}`OD&T09fV#2%=ZkmfJkfX{^wf*vq9ZlTcRQh63Rhqc5ocLHG`jf zxOA8L*?RJa&mpKmX;xQ-sZ#?kgJo&JFO0?oM9#Ze2#+4*5 zJdi$tG2b`X)Y&EhaoqHn>jfz-%P-J*aP4}bIRiVEWsKdW*_VAB+zYVqRgdlY84#{L zua_-)^D=yCeS{t&JR^>33?y70F|9KAq{AY7Papxm9shxQ#-qw7XubD4PAA^&r;@Ye z(ORJG>jV%G5d^sI#4@P1ZZv`C0z(rOjrXs&sy6>R4%&E_qXI_)$shL&@1vqnZX- z8!XFDI`+D!RnR%&0tujucENeH9rnij;_y-kj)SIBt=YNYFW}Jmp=nOx&pGx5yncY- zuf0BG4)(cwQn>4_E4ncSm40uyF+5dDL+ev(Lf@5F4IZ0VC0UvCfv?YfohsgJLU0UPD$?_HCjU-s~h^eiW50X`uz2g*SD$q%$8rHS>d@XssVF_Ehh63A{^gNWt|g=>m@5!-JZ($K5V6a?p#g90pvNTG&dwM=@J($i@knXB`w__!TBD2UDYmiu`cB(7 zeSbDv*aXW6TlK9Zr~RXqW%FgDf8Ub$0P+1spTQ{f|dEs;vtz z!_#4;wFgS)v#mAjGPoD~86v)A7hHGqqxN)Qe!DKY;@tL3m2B@iZOFDuXUko`gY3-; zGBLEX=cCVNiF`YNQut{E~3#+ zlabO`PnwUOA_2=BaqXN(Ji4v&{? zcipMzteD=*5j@*c8Z&G(ff;q|&6ax1Kk}hX_~J9Syq?VGxwVXSqw(kaZ+8XMSGx@s zZJZiEB#I44d|Bl-QeSo(N}QcI*`ugg@&3Emk>OY7m{j9U#ZoWClDXiMOrxdM!2Csa z(UR#)uM-Z6_o@jwZwSxSsNJWzZuX6|`n)lAqyFHL<_g;|E4i?(=|AtiK5yS^B*DN~ z;EGxrB*GpSk%0b_u_S=12i(i#h2a<*LnF&nX`I=k*%K!OYd{?-0KiH>fG>Pdt5Ayl{_ba(GEq?l7PEq z_z0|G6LRbeA6-+(tri4!5j*f|maC+1l-kzdO?<4jr?BQ8!r|Pg(1B(S<3`5}dc*!m zmDrcs<%UUX9}b_yOWat0rsomP9KD_B@g%`Q{c(o5gv^BnMBgr+H5AciD~N%|%T06Q zbgsV89}bKk_&KmjIUy|5?q5=PaIcA%NgcIOv*&{=ly2|6!%u}P3SwyqnUgw8m-xiE zw&s#&Egi8pv$SS{JBQKpzwvxQJJrM^qjBdk7Ex*wb2Ukz{Z7|id?v-U=EK1)=lgFT z6;i1foQX3us^A71$LK9r67US!stx*pmiCDT z(nQT8j)Vg;*m$K2E6xQv~;sHcy%>qzXLDd7U6Z_j|{YNH2J6?WP1iyMREi6o%Q8JvUJ4kqR$ zzczO1l%zLKMsl7ndHnv@L&ej0^ZCM;x)z%$7l=y$6D_ATqgXH-7oYxJ-hQMU;LC1-EnW` z52B7>_USI6SDeD$53w~U9+dXGgB~{3-G97mjHIEzJfWylxMB=(q%Bi3O@~YI>glnL z3u;f-z9Vd@PMR^Ao4;A_Z+qsvgT3ag{jSbs;TtO7b~)pN<&?H#=(h`~5S$*?dr7k{ zMR#aH+H*mof|s0q1IZc9t~IA(F(lX8_VrTgy9@pvv!%xR=>A`s<9nhBno3QmADHW3 z&j#FID8dHaF#DCVq}l;V>O9{#@bn;DEjid_bt?O<)v85Nh=;&qVQzBsRXh&og}rBn zY3*`(`^m=I3849WRRu9IbrKt#GG~45ReMm#O_`j9yAgfH&png27rBpI82o}y zo`3W4M&S^jA)ASvT$JlyBjtFsumK}lkM)&0HTZ7#4>v9NN zMwm6Dys}J%lHY+B{WU&itRXBr15L3@IB63jm|SLW$zCHqe=;U&slZz5%}Xz`vdQus zp&#PKiyHL&ZXQG5Y7?rJ&zU#&&V~MfH`hkinTu$+MMJdM5WU$(#~3;?(_~G%r*Z4Gv}_w&4O@IptXzR;4$hUJe|n@IM7B`YE1~%_U0Rml>XlLppSD{vf7g?Z zk7^=^lc(nXF0TBN?;=z^cZZRH$g||HX-%vp`I{bihE@T~cB!aga{#9=TaQsy+M6 z2Y!^;m`I$8B372n*sNC$g7**AXyzBi?#J)+QiiG+y|5UriXRvs7^avM{_ycL5X{%5 z1URJvqUh@BvB6o#NLC#8OiGNIe#H-5fWh7IpPEN00m<7Rb`GwTv_;Hw|NPL%KjfLCEftLm{-zZ=g+t@Z6+*Z>xH+p^mzk%?Gm= z#<5n0K}v^}+j1^M0xdBP=>p>dy~j+^00^N+5`IxkRn5T|-7@wo$aU{$a4K{OCoz+~ zTYQ!!4g|B~6-V}lj`+b{<1HTiEjQ2tVS&VBx* z=uLQwT(}Ib%j;sC#Q4m{#QP**!BOY?fwuyf)Ita^*34#N{feu+<~!aXf2HPTC1;4Q zh5!|LeyYU#&Xp$Aa@|ul!G%NEmnTIZd(^#m&Ml+*VK|qRnCb0VMIyN#Q4ZOn8hMrk zWYeHAg2q@BSV3IMZK7pVH@R;*Y3&CLszw~YP>W6{m9p8NYsRc=xQ2^y-iRfItQs zv>3<3tH*N(BRwwLIz9S|O!=C0^}N-S%jZYF7{AiknK?}Y!qITaX|!uEE7B_zvvRI+ zEs8_rzGGn~2~dsQHHZHixjnKYM&Ue-=$?&Q+=RcHj!9XZW(u$?y%ltZFd9+3h@SU- zT`HfvYWXH-Z%eA=p^3A&rsrDM)zKz_AntcnyY71Hk=I@iFD?75@6Y*cY{vFo|9Vs= z7vf>jYbU*_9sRH2w#mq11|58MSJ#I?47u!wqZ3YOwUrBkMGpw zjRe)1ZduOc(L!c#&HrKNj|@SobU?CfOU4Q&{D z!G`vc8OAaRo1ob_(gtJlwz|jyRQI1_`SB&VjX%Prm^b*UaT%5Tu0rCGG|p)FT+pQU zD$$#0F)DAkh^z{` zj%1QqO+;=kjyUy#Y zVDVB9lP>Ib&dlJlo9j03?dtU7)!m0j=sJ5P*2W&k(ieV@V!XiKix~P|pu?^|pno-^ zM|N(-qV?w5wpOi?bU$jX{IGOpnsbF;sqf~*#?zdeLXaQPId_%hhY(G$ zis*{6QC!!~gk)G*;KcHmNl)_pGda%|9s2^F?o)jvYuraIHHvqoQ*lb14|%xOzk?ik zPS9#Pz*q3HdGuHr=!~zu+d@8QItB)?tH;0qNgDohMh&1iaA}xqL#)>)oAGx|{*Z&) zT@D`Ou4P|OsFm@&F4h~%yLZ0Zb#6sjem<}l#MrDjmFt*>ACK%Vb@QaMch1I^%Czy%o)zjp2}nz)Nnv@Vil?lOGD(yIs-9JO=v2J3q^OT-zLOOc=mx zyt3V)PLpg-9?4LS7Mdw%}zp%DGO^3qbVc3Z)IeZt*6-KP|>=9eKn)9+3mPYC&t4GGpW6 zMyiudwTDti8MZnr&yoC#wfE6sUyfv#-6eaa)J});uhG`!Tlabne^-;ow0-`nh^-l@ zmv|m52xnJlymF`?R>p&5&_!n|XG*>z0rycYBw!o&l=sy+%z|X2!2;Qb>-y*~#Cb$= z9)4|8$3V+>8?TGG@gY6qTKuJ5d23x*)8_$1i!hVYm<2Wz@8RWuU9QEI;2GPd66~AO-j&R3_qQR6Ve2u{Ibxo`aBy55Q`C-qPUsm@}a+Rcy?aDKKEu#{44| zz?XR({2&3b_0eOn9p-){=6W{XJbDw^q=Q`OBA!N$B%_Gw6C>D;OR#rSAbz-8MI2Sm zh?DD4Uc1_#q=>lMiW_9&E1NYsv8iD<#EzthJ^^mppFsSATJs_BR1sD|yvvS_-IzWy zMz5D*c#hgLW!e-Im%(F+_JTMs^V2j_=epPGLn_>wDf0x zl}ZXu5AS(Z&Wa%^LBy~{VkE#meT-TlxhY@ZZu$EzSZp>sd*?u6hqy^x!yVFy#k(UD?TG}>Hdy=y;q99j7Mh}bIXdG zkr)HigmGJ@zK2i~^9oZBQ@Z%>$s_BqALlyFXdZQ)3@>?iKcp>k8jISyg8 z(I@=uu1e{J1>Id{+PO)3#@cq~M3t2D_s(4=+i1e$2jvKQzrBvrc%c%SLE!HVo%z5K z@(6Wu!u1T(c>*_xK!{=JncD0vS-cQ9U@kh60Bx(0S&HaQ(8uftUvR;Jki|B zYNiDU_Mnm#kX_@`Bw!Tv7P+ET8a+T9Apteu3lPR*mj?`KBSZ5#{M-2%P7GgtATTc} zvM_2-#^j&pq5Ju6ab-H}tKE9dkv=YE4}m2XVqwkUHyVrH*}Cp$+K??icewNGig(&m zlkEd9E)^LlebU3K+33?)ow!J^xr+vEQ)j-53;BnyK2#F;y3EI??$33FPo8CYDG$e`FR)b~r4}Z!?Bh@1GYiVAx?E zpL|9Ts;ky&K~@PG{9^Q3*4eWqlr*wO4^7egu;Sr$9$wnr?yFW>T_$0ULV;5`v-6RB zsi-fLN;kj26Z8+o_7H@eNUbBeNKXuSC_*^l!jZl$)mZFVUpn)zGG@x<{ez$T_LzlVM)o1vi;%sR9jp zM}`}B2IVCgTnsCR<%$MYzZ{A$-F3R4C-_uDsOT5Bt{_?zJyQwaa(@K_ErUjIS=04d zhHj;R?_b?5j~>k|dl^(P<$h>#cT4QSCAm)Z(}GVu`G4@>hry8|xg-5K8)LRP-ZI;J zw^AAibu=Fo98kUB=uv4~sAOWCZ;x?V6CX8`ui#R%2Dto2R2_55AGGFbdJZarZ-3i7BGcKg-f6Ut$;YD{H$O|UIxSJ)m?6_~5orXh%*8eA#|FM*~|42qa+MT}`j zQbwn2!P7CYj>1*6?5+doC0e|9BqzCu9?vkmYs|1b{?TMfJ-81#?O9&Ie9$hrs*l^; z%f)KtcNkz|D)0Qf(=+s$N`>Y|`MqE2jwx68cXw4ejr_kB`3HWAPIqa?-Lc5>&zu@8 zP2H`lImkXWk`sA4ObC4WtUa-)AugJHhWK=8_ZPfkI<{cAQE+_Pv#0SONIdJI;r;+zE^{+Ta0*Hb)Umpul$FpTU8h3Zj- zxF9^E*u}5Ij8q5~;+MgZ!gr*l*Sx7 z7Iq57($2!Y*3Jt*G&u8;xuq9X4?5&I9Fymmflekjv0{U=G)+_6EyFX$ut!*BhF3aEmCpuzY z$nS+_KGVA>TGoI#Ky@Bcf&-}Cc=~dq5TP*g+J5Fn%Ke)@KUT1b@wYeS@)oHG-xrYe z9vffqRk*ZbwVL_K2$SF+{9D(+!F*-TM+%M|V&5n7-88@AQ7ru)%~`k@ur19lE2blz z%++vfoxp*@mbZ=|W>RQx;3iu4)OagY7`lnrBOR9HZ_{`0-T5&SQfAs%OGuYfdbMVQ z^XDEj=;*@a3QP_#}^9~m;r;-i;;eJ5+Dh)bPeav zm~D`l*6N?JjxcbhO~~68-ggKS-ZJzs(LyR*D>|+B#b_gYxN@bP`Rd&d))Z_eS1o^{ z+3*k#EVOxh<%rE)VYZ;+5ys-G+6sI!Iu>*B5-KZ_;z)kA=0oXzitrId-76^vXSZzF zRM3~VYOQG-cAh478W~t^S-RMCo}`j&+u}iRy3VGg_b91AlG=1Q<6;(`miF(VBf<}V zboR^fooopYcME6F3brWU(QTKB(pzoa7f$uCO^|FVGBr(m@^V5g^QBU=1e1lqYY_6~ zya&&4prnz1Srx};I{D5PC$Br1_Fv+qii_qAb+L=bPbdw8-JJex0r8C}LdeQbjQaLG zcz{2bj0Ef!uZK%cb%$nf#|&ictnaFMD9oOrl(niHIx1!SI%z#?oD|q0w9cZ;IM?Q< zn0dDFrtYUZc^x(*YxKi?HfP5kDeafgWmDp8w?&tX60RKHBg*eRGiG^HS!zU#{p?sT z{ALof>$Mtf(INb(5%+DFZ%v!e$KtkwWQJWXs()=WCi+C(Bh~Q0^MEo1eEzy3nnG39 zU;QCl;Id5Xw9rcq{Y8FydV4rb# zd2S1oMZc}*fvG`paZ0Kl-O_O57sAVW;hXQ33C-(IWW~t??q%YRjB8SlOcRvML>8!^ z??us9>tT6Xua_;Vu}EImj@4@j#kdP8<<0My`#aY$EfRaUE(e!)u|L0o-GORNS-yJQ zEvQFu*KAHIli5xf<4H=T9r<0Onj-ZAw+zmJ>YljPs7t7x$q3V0Y)w+@Xzz2u+(YlS zs3pi^!kbfbw;D!0w&C(vF~z|5#WaRTLvjZ&?dWffT&_~+*;9cez@|WU2h_&M(9=#F z?2<79E_nJ%%A>rHpA7$9-hK=n@4|0gbUX=DJ}U>5QSeP3-IO$X}LmSF?!LN++)BCORIqc_A=| zBj7hqUzhM4H7%y2#6DX(?DhC`2J03*FEo{hflG*r8sl5N`Ofw8YnNcj=0`E$*`pOs za(0siH_?tf8MKD1v<=mhDv^6R!}c&@@yU-XvLrx?MfjQ-VGPzNiP=Nvz;S|NDLVy~ zxEGkZ)fJ)dwg!B*!(`E6_Ouuq5Vp%MfZp=Rh(4;#(y)wna-7u?eBPdMAr^Er5iYIYP7@JFdbSt2ytP*|ys=&!}DdG#_4!P`Lz~l5R=iY{62^ zF2&#@d|+vu@qwSD3|Y&D>hFls;i%ezgJ!2I_>&`Mr^nE<7Waxy8#KV1>x5Y)gDizU z#9JcCs8N3ZD~@X#`v)G+^J;363(_s9<8D{Tp8pJ-&=bo+tqksofY{0|QUT{PYbe_R zI!q}OsS@h_-fCvR#%el6-w(9B738>6!8=%n3>}~}_hyRxG=a?~(sW?PyTL>IL=cVY z4c+AAiGJ*-P_Fz+2XBxYHrx4&p}Cb>mC56XGl#xMMXP@&f_+dfk@}2h|K*Z%nvYxA ze8JDCAsY#JJONy#Z~DX_VMIO;tLb}q6}Mcx_Ta|C$3awyy+Lq&rij#@M?n%qqB}Wv zlv7*aUZqUUaupi{PcHMJ+=5H!F5^`<$-zd2mGndDb|3!by#y9IKBW0wd0RlYY{48l z3bA#(1RE>FvmUkW^D7aOquD(|G%Fvu!NZR!FVV|%;AE%y zJ@QQX#~P5^zMqq3UU_V<5oyfiQi-knR5}-!eylDxeqL2%z;~hgm4R(WUYugn$_$E0 z*)^E9yKwT6R>`Hir+oH2a2BXdl@8>VaA+*CX#{yFQj9yFLk4;W##oze+3E=CYRoo2 zmaEMSrDNo7g+#cHJx|VZO4VOT`!Ry`vYSAxM}WSAJWK?!O$tQ6x^p><;34;Y$tLs; z1avigzK+Iaq6=|I^#NzMol=GIFNhl@ea(-{ZI;O2QgQQ1+JeCQ=jM1UQBw*|Z1zJg zKQCV4`5&G5XIVicn+!8steqfgT~EPeQ(HVpd)uAwUL9UZi;{ZM|Lxt_xRnAur2T}< zg_1+bLm59)Bk5bn)0e%a^i}d!z=M5bZe*WC%T@+>kZwW(81&|)4=JukgO&mI%RxH$ zF7&Q}6zIU0#Htk&!g|olr--nHh+pMLx{+GnXFMXzJl;@pP5UrQr<5ekL|tN^RYV{Z zYglef>2LSSa)j|E%AQ}SvH##~C7o38z*6g;@msgJj&BbX&wnDL<`Q@qOU2E- z@_4v`SK&r%^JQa3J!#D{JbHF)(P7)hLOI_;q9S}#biIBD?-^e&Ju8K5x5{+0g;jby zw?6qI-w(C_vQC^BMQO}_cpfu2`!gG})-r#k#{S~Mf?kl?`JZ}8H^U`%Om;8o6;A_ck0k zQ%2Wv)1h47J%6DxbxaJ8UOE8rjvY(%efERdBX!V6j+|p}dm>#ot)o?C6F8;j#yH|P zj+{i*;|)ujW>Ji*%Ddkbu7BPF--cs0*+Su|XBbPPO(rLeqeA322A_-820tF%y%ms( zWbxRUX7K;zK6Ku6T%vnu6Bq5Wz%O;H{>kZ?x!tr+JJwN~TaqKA@DI}uaKozBGC>nA zH28e5=bQ*0^Q#0k90Ek-T9MGa71Og_Uj^M_kqSO9@9f)b;3Zch)xTbRNHr$)b7RX2 z-5=Te5QCQ7J4mTc9mquYETa)y7ik;0L9nX0$H+E{OJ!>f&sVdFCB9I>UkVlRTWV zw4m{Tg+-!gZosm3H<1;nc=UUGWTs7T^|WPt&V`kqs9x?v%r#_#Ee%3$?dauM;)Gd+ zR|ZFFetAt^E`8xP`_Yugo$Fch`ivWrk%!S@+eU`Zx@i&%<5R}m@O7xnK0@H@4}pBP z6L$TcL7$9w75h45QZB8YV60vCutGm`q2gBR4n*3U6>+y2on1-3MO`rQIw`vued^ZJ zrRPhJ78e{^4^#a;c86E!(<`)I9~|jmY>gNf3J*s<&7JfB&%J6gRwJil z%8lhl4(ygA2<8o+5}Lov9p1bW++Ux>nN|f6oJ?Kw( z^4-n?sf~D%BqGw!F9gm@Ma(uas*3Sw8?@m0@`yY>vrG6Rci8?9`td^1w|#0jIC8Z^tK{^L`wd2}B~#lH!wI*l}rfHuT^@SxDWAHB8* zI)t>PqTeHyet0~Z#jqCgUL-7Rh6I2Bi?KF?^|@K`8AB9Dsk7Iw$wBi!V;^p54z`Y>G4_FOyiAzq z^8-Jq(%m?dEEMFRhxgb8zs&NlEb3+#Dei~GgqCL2m~tsKaFpzz?`PWW)g(!6_+^oS zp9iE(=qy@maqctgEJ)5Wj?Hz!+OU)Sxm*s7dnjn@6^-=s8n1N*afq0!pY;nZK=6m^ z?H#P{~6rAVPTc%W8X!uS4{N(eYVlJ(3#+s3v;G!_Ho-Wj~m+F~y zPU_yb!G!J2+pp-n%&vLe!YZmK6$vG`WNv%uZ<^o|=cQI-5|vDq@ww%hM@LO+TveFH zc!v9c6Mb3|zgBcX=J3P+qnvLKhkEVbWl@TxoKj(wB26ecpQf}TB!>ziBPFLKm6{x8 zRLEIau_7ipA167VW@wxxXHz7`Ima1em@(g(_S5_B_xi29TJL-9Ywf+SYwv6S@%4-^ z=HPjr&vSq7&;7Y=5?i+m#rR{Rr+z#9YNoH%oN;GlO`C3!FM6Lxw9FFu0#*hB(y5=W zp9KxbOf@E`w{8J^UcwP75{PsVoAzQ{n8RW>yE*zGJ_TY@tqasadlesR0h;4st^7da z|NY{bKroK1Kra!^%9~Vh>i3QKaWofLk^q0i0P;Km0%rzpKa#CjiJOcG(l+PAw2gwA zGl^dLgJYq?8F0!&D0&#i#@J)#25~D^LHrQVQap*}bZX};=}_bsIXfTAQImq@y-ZD` zD5N76Ma^$Y#`pdPS3;>620h;{yCx2ZOP*q{;#t3`w3_Q@C{ zyW7|lvmZKIHmD{VwzcZ*pks%^A)bV(cJDivM7o6~{YkCJa&JhqVA6a^kIdBNlgc7I z)rH-wT(S#{EbIF!>NKyU`XG45S5J+EGjktUr&fyyN%SPj_P(k z$yVi&PYm!fZ0&)S&O*Y^)?*k2`JcxE&X*u|>MDJDl!O1Y`84N#M3=o^^|zOGZ?(xK zWdNXHxd^V^p~zBXkPPD?rPkcjRP>%&bJK@IHFZ@^JZ3&}TW4iJhxjEfu~S?YeC2Nr zxs|k}?*?~*xaPQWepKvq$0!cw%)K1I$dl4afbvz*lk$Y{5D+9k6U|)cB21%X(PYYc zb#>h42*cCTck^XY0`mlJ-j9$N`?E^pAFCTiL@Wt>=Q_MGfn-MwcXJXu9TAR=ECaCm z0vX^KyslmfxWad&*d9K5BS=%Sz%rMmAlZTQ-?=vLq!A3^G=O|Tu$40!Cv36?fryW+ zhmNw~gHIBe!n%Nbaatg-g$E%C(nji^Z}o8h1**eMSQ9F6pEfvVM&ldo2s>p?98e7z z{Sa3DO}4TKNu{)a84a*asEHYaNIqzcA4j zE)?S3-ME$DHvWo(`l1u<`iO{8UB|oxxN2h0j{Z)n<%=yI_iRi{?Q!i;wMNK{7 zp-y^(RbYpg`~p&A!q6%{R7Iej6T8NWEu^IAB={Z|@e8nI+e~q2gFt)%y<)#*rmUw> zHP$g9g^-%S#8o@5Rc;`!a3VUf9g6is@e;V}jHL;0hOz#^u|o5jG1KN(=$DcDt^kZP zxE-~Sy$%PG0`0jkD0;AGX+Q#b0|WON@}$>&EbQO7zKlD|xxH9^-A5{GseYhDAUO2b z2hmkF{HKrld|JZ+g(Nu-0@9pQrsk|=6Q)PRTB&4`K&1P`fiAB~-B$%+Cw><@9Fo`B zg^$e1*9X5InnT^g=2k?kR38<<4*NUQRV4P!8kC`24UMc;oeFmBW<)TbM9`A>rt?NE zk>JojIT-LLMa}gpyAul0?3PkE@&^AKQ)ET?b57IPaGGEh1?qlT<{oA_){a#oFxIJS z&4E(LR4kV+Ald;j-lSuH1?z<`&hBMvRCev%T;axuAm8|cNo(EvaFDiLwG3N__vgs3 zZ9Kbz8+zAvmf$D7!1Q9+FY`mshmOUh6gYlsavJVFgxnyCab9eWA(Jut$}XlurbFoh z6*_rm`=pyL@RYzPDnttIAyL=l@_gTN0t*X?%s^M)YhBAFA#a)mE^xS~eK+l=A?G3b^LTfTFRx*(0s~7+)g>XT1M{eRGC#y_jDkoRj01yTV*!9 z0lw@#9BCN=+ve`)=%YBelFXNXX8%_9RZns<+xsb%5oNvIy2)gzvM9cP`Z{G7PQ2|1tyk z*Gd1!k!KP)YX4w)m^p!%Wa0^L82ZUES4~DOp@LRl zhf=$5Kqpefe)T45lv!)ISgE!i7~sOv(q`v)2b2enp(r^tnM{Hr#(x0AM;ivh zqT+g60{p48R-t>^45WF0`n1-?_V#bc(*cIm5JK?%y|*)E175eBoG0=yNgoh9>i95| zfj)IcMYq*!!)J}1)(!}KG1G8#wLU@ONiGK8TTfpXAc+G z=e4q!-1}|OhWHfVd{Qtxa>gAvu7zCUa`L|%!7Lm(nWj`%V4g>>mbNtKc@`s$HE#|P zwRF6;0KWcjgIHO-dAyRlzXl-)esBih1w%s^tnXZBm7B&GS^%F-mSKnnP~dm2H%SxT zkR*^NP=~oVGe>Y_EN9=I$rZLJK?E~CvjG5nFGvjps2iLJWH^Cx5A6O{Hy+mSZwR3n zh8r@Lux15;UHvp=3?vC8AoO!B@Tgf?%%hZEAt}oZc(14mD9Be;#bqbk+?Y=Nl6X_E zUF)@w?q4E0LP__}@NbSM^G~3T@PzOu;0Ng3<}n6*V@YRHC{$XQveKx`jWo@=%J`_T zOgF84wBugnHe17rxy~oz4;5#28D3VuTlk*fR=@-s>B;ASBP5rBIv#3q%VLTtyk(w$vG>;FN(gujyWHw?3if!AEsSa0#}R?{lJI*_xC!yRtWTbfnw3L#?ZeAQ zW|Ldmog&WZX5MKz0WYh5&Rtjh1$qH3k-W#1!!f(?;+|)kFoKYAF3R=d$lLCmFYUJ% zv7>i`ZzI?3Wru?h)mL=4jJvytbdpEarY}C9=@V|)d}5>4PvlkaJtj^qw9MhQ*kYj< zG(m{5S7sdPUMkAT&xDDtd^*xV^IDuigvW1{rxquZIQ)^UyTjwK@Lyb{GW%4s+2}SQ zz^anE#Gu!1Sc(l|MA_uNKimG?kim14(QiI7-q+W!Z->HgWgJ0JnfF{&R!;9n>!J26 z?mBl#J>zv--=P~6Q#*$fff;%5lgFjRqPfuPmJa5`?r`ZXj8d|WvLvKAv{cR(uy7#y zda#mYS7doYjU1z5cofJ%Y9khWw64EsMuBf&ewNf)@GS`ag-{kZox#}#f~mYG<~x@& z9svF<@p86l&kw;hAEo;*z!~W+x`(ieL<8dTQ&%Bixo?$Eu5q*PU>X%LQ*F>5puYAa za9+vddLy7&umnI_(H_T8=HTfVwx&5ULzFwI*nQHvS55E;AZV8A0G&401ZR6Pq<;X9 z^nU=4!sDkUcNyj4R)z>s$|D8i;8Qk?4ac_Xi>1MoFAU&ZhE!X4wykSNmi30vcb{-G z=B(We(*G5=xSz8fM>RKKq_7U64hpKwnPSLr??pWWVMB&oDf2q7pRSz7#W|mWU5MD^ zHEbwC0(}J9LplT`4Fr)fl&i%{-Rc{qzr9Y>ojR7+aqjgh&lB$1A})+CJtfCeTfbx- zyBImAjBh?^-#umWj(PF*mW;s6C0|~b3)|Wz2+=}&IbUJrE3s>NW#+<=<)B^11mdXe z(hh6s8?H|Zy<~&m%7(U2`F`{S^-0FTv6g%3kQw!1qoDPq_*Zz@RjX!O>iWn|xy!Jx z@qEVu(_agH)S^YrY?s807?n@bB%m@ zA(vtV#U%5wgB3BLy0E5nl5uhk69-iWar6+Enb-ml$T7!YpVN^kNJ(7{042tnyo_b9 zzV+aBJiC?xCR>4rpM4mYi12_3vJ1}i>ss==EV`(##sTCtGi|(X?SN@0SV9RLUzecs zl?~$kajoVrLES3+3UWxL{gSDjcgl1rB*igm8l>AS)=wZyJ+-kRt^tP^oo9AoW-}d* zOE2aiDEpY!H3S}1IIyW$f;aJ>vo{`SkI9x}-hf32!`DG*Q`#KbnYFXXeZCwS&QRWQ z6KmDl*L2?;X_Ns84cg5FxJ+!TgOj~3HmOXq`GJ*X#yM0pW{(V7txq;H?498mIM->( zCqieCiktyyIhNeBY=$*oQ_|}G@SyKpX%>{%tdp<6V)F#={6J?KeD8&4hV(T%LIWpt z!eP*fBIctopO}U_%fO0u9ZM3fqn&tk$oWHSys_3Hwud(SErsuyd8DpO=G@_jM)$Ot z1bVyvBLua#c#(!6*a#M z&Ymhzdsx1X$eX)!;mS6{oxxY*Z9Fk2XK{?1m}eN;4{ zDys`Ku!!S42IP|rbdJGIj@`-7up|X&9q#{XdnD=BJ9u97IhrQFkU#>dJis4Wypi}E zNMWzvuO(MUXZY$3wrqn=<2qow=19`gBws=P1-47@s)2cNi;PB3%vp3w!`>x_OGmA6 zO74mm1F=kW&XlwqWm;0oM~ z$7^?*zH`+nFrt(E&mZ#H?#ahMFx2;iXyM+qbPC94oz2N7tyZs12V}4=FbquVwTUec z!mB`{p5YKj>bUp&Cl)+jzYsn@-#vK0R?6F~x=&3rc&O5+?Cyc(!sF;?J?pxp>Ali! z6jZMB9y7K!w%kYDToS!ATa0d}-{nDoH9)a>2NLZcS)n9b58c{(u*n5NUf7^I-Mb4f&wfnoaiD=`}$#f`rTrI7O{^x~sBJ zt+p0rlj&@IL_gv)&noWYNzBe`R=2Z-11jg%nTY<2^r*;Y_rC1B>+UrBC3#$z-dJky zW`^zNN|-8A(0$b-dFji82fa~=_o7%w=39HXjBy{e@F$=Psk)WaEe#T_oh3pu`GR-+ z5^?zpC)ouy^~syJQ)c5bZw1;WINlZ^YS(p+3|g<&VxkEb2U}6KXHT>3BJXnO@sKj6 zVFeF|43Z|~!&5B7?G*I~&#RYIUVYjAKuSYvYIDa|5dzUnk8NeEyTvMe>B}WoI9x*x9c6 z6n8&G)zwvPq3xiRV=x0lS|V_w?AT5?u$%sT>qEc=jv~y6nXwMrhIkrAMeeJLr9nGqeipH z3?IZxVPp0*A5Dx|8FpXGC;w{i=2%G83*BmB{;l`|$E!xJUWc2Waf@QxZWfYsCKScW zM=qDr>_m4+yqNbH#!Ck~&-^wTw<&kf%HlTvBC~J9bO3)0mDCm3nfadhV$SYlKP)6r z@r~P1vQ*Rqb+_HSc0QHt`?gOnG4__?k}N-;)m9ZxyZZC}YQFJVf(N9M=21+2Q%Ri{ z9?1iVD{GFYfs852A85e;t5NHZkN>)93ltK0dXZzze>IZU(^*28_Vgbb$C3xF0ANRK z0zn%imcy?DI3RPXDW}d02z$R0VzfD&Bd>+VagAfE8g3Xm8?28EYeKyVFyg|ivI_|A z$j`E5LMUB16kBFp;+|_%WVeJpb?!!eO|l&Gw=#<-*A4~s)|R1URNl($21}yR5aC{r zT))A_-d2m{>o`F5j!?2O?wgi5QQ^KjGkH#7{Pzqikz8RF;cab*HZ-o#o*|?!r#f705c1fwCc2K3nv9eOdzXxnk919xwB7!ruf^kKBrdf5b#}b7EMqP0!Z$9BME4gMqo6i^V_;G0e-$? zBWo=Cr7ZnkVdFCT{sBoeX!M@#{2BP#Y)}EasR*MOb~APC0csMX3$c%sA|1&$O#e}R>_ zhGINdez6~Jy(b+xX~yIKZC{Gq6frh!Xwv(G)AOLaD!p&NyoNwS!=2t!Fk);=?B}sb zjYU>*#bc`L`whSSNiLz&2_H(Uc^I#&&o|4oY6@0icJW0}?Kmv&HI|_D$E%1-6%ngL zJ{9M(&&F$9{QTlEZ{QCrlmc`c@*TeNq=N@y8+3HF_O`2;bf4T!-S`&Gfq4I!AVm04 z_Avmx12~;PQ9ugAYocT)g`NZ;)WgZ3v@=HZSI6aLCRQX2yLvTQ2-nV@H0YLC9mpM} zsl<40x=?Z!r&$Qpz9nBFz5q4K*J#x5&CSIL?xK@Y2)~kNY|qbgTtB1GOgEg7LMz)w zWQUO=^XgK`^z0*7((xC^>%P==kjj@GZ%syfSA1suUvc zIee~rK}VG%#QF4t?ki;f4*!kX{Vb^&y=yQ)|CI7Wo^7-q6N0KM<&L25ed{u~$*W1L z{W-p?Cz>px?e1pjWhSGepvNvZoMZSwSpg*z;e~FnMCJi%%;Gy&E(S{Z&Q*@s3tHJg z6tP4y0V=xn$fyw^48+i8l!fzYMx#E?*&mTtd&ZUiNlJ=A?o@E4SZ@f=5S7M%cbU)XeQ33t9*2$g7A3#^X&G^txgI~S&m;SYNrWm zFA`sMjBfa0W9f9)#ac3<%wrfAk$pZZ(|PzHhM@3e%0E9BW{4|4g1fFY$#kal6I+s$ zH5@&^Z78nmNpK7VN0dcwMfZK(&*`LQ;p>Gb zq@1~IzjO7w9ghYS!y+OzaQ3YKE4|cC?yz-g^qPAC&?f2V*I;#;CG{k``6+!#@EZ5w zbkK(enH{l{uygYUGE-k z4QGUG&l62tSb#T6A4MeIHNN*ceP~g|PJ21|KOq5n#i>eAQrHLM86$GMsjCA~tkCQU7q_FWW>C6KGnvAzh6RNraH3 ze71QLWZQvUrp7s%uW2C!=LNIp*EjfmXh)zn+(7EiWq8-oKDU^0=kx3b5l~7vRK5E< zSIudtV9k6y5wF(GzkTn!-imJ4Y{WcOmZ!@^jAW)yi+z8q*|7Zl$@yZuQK{uwG0+Lp z@S~RVH!p6+Gr+FY^sFqS#RJr-lBc`Uu!W<;9jBPQN!H}aFaDCJ7?3BEh+7s~k7w*A zcMqG6kA>;)X2f4~moC~@Up}1cT2}Ws`1$$QbpG+J4$*B_?w(BMsOzgif{Y}VK4YFn z-e?v)Xr^pcaj02Nz5h&wjHqQJ`^P;W@Kec;i9WSs&)Z^jHPSaDoYr#6Q-!3hI91DCI>$!ldT{|?`eX; zQ1uT`l}$Bi6?KwGN3*+{-#F!fe@iDY6wH@clz07PM*>BFELZA15i5*JJL!@;YTH(N z<=gtLF~S*@=|jn9x9WvmXs|7@<}ZSVdu{HIYFG{_FRi5>9I{_nXcs>s^LXDCm$;8& zyG6xs$_H_^t8#xs{KDDifso*wKht#@3XPo|bMNqt)9_hh|3 zd&we9JwFOG|HD@WINOt0yz>NZ#T$%K>XV++lc|oM8n5M4>@6$M3Q}@eRC1Bn!M9n~ zkx)HqL+AX{!s=iBX8(sr#1H?k|F8wQaH$+^l$39g0zLA^=)GP1noD2tVfmGbC64yS z-YTIsyiPR7n9IML3plE!_pH)h6-#_jrO@Wl=Q{VFk^OaYNAOdIO&_LoES%F?C@5|- zA`^+>iW%m^x6NfbCpB4y1~5Gq@=moNdqKv4Y*r z-r*VTypJl96_Y*?@goI^?>Xu-1Z#aRbPKGMusD?GOCi0dM!PB446bw!)5UijZ#X}> zd#j|%``nx=HM-v44rYHl2>#1sSOIT@dWsqpt%JljUbtEqJ4kx?TqM8 zYMVA>Ge1((KHWVPxGFCT^y_;@Qd3`B2t)4BNr*@U{hlLae4fq3v#I-Kplrpx`9Clx3a4D0PV=ReubMX_LTs!xCY#b=SJSsSbI(3a z05+qm=a(hwbULZA&@reo4CR+CAY6L>m%#wj8vV-XpGfYw|=#`iszQvU(mS3fXeF>Tx{qXC^)Ky*A;!GrI7cjpN8Y+8w=up*o!+ zV$r9=?_F#IvTU8Ed?zX$Re{eBFU+o^tY`69ao2Q}%L9p)m84ai72c`9%Cdl}2s~e5 kf{B5SrKzw`dz}8ojWXO;qy10hSvm{ETk`k2)rI4`_WlSUrr6kIf zG9;7=g=@TTUzL9E_ue1xz0ce1bG~QowbxqTwfDYf??dUO3;||SLlZ-QLIGe5{{Uqe zm>Wd*WEZocHc6i|+tJWP9eimVq$86mtf(bspgvavKY zF*jHbkno5Y9PE!~1|T3XJk-WWPjHW;lOTQqM#c%)U}YhCgazwbS(#I9{<*K)-?+@b zUFQM1WU00`#Q!tE;zqQ)18GJ&GZQz|9=B?K+$c%~^Af5_z-(?9gE5u}9$nFXg+d&NV(YzjE`Y@Mp zlmS}7lep6iVqS<11O0bV$D1m5_wqF~ftVTMXy0%XTZp+JK1m8Q*!^4QdT5Z%Z(rz2 zuTXv6-||*sC`7+}y^rv-qspoFXMIQ}zwIMTF+R2qP)-MzfM}$z{Vs@^AeIaB+f9uJ z#(-$W_~=vR>pGzkHq`h+-zzx!hB!$WPUau_GZD>&SWnnM^TCT2g;)Cyu4 z59S;&2l`+q5Cjphx`QCFANanUs+xjNzgi3d5rhJ7KmxMAC4YK2thWTh>uwMOzJfrg z6SmP$Z@rZSBB6YBL;9<)Ebv-yja={H2R=a$0l*CS!{-QyNwCi!Z}#9Ll=yBu|M50eD<$k+UL--tgR1qpxp;|y>+amF}9oD_x!qm9wTn8WK1Sd}p9 zm~DS}{ME;P!ggXuuy3$K*giMkgwTKG$N~&OM!#}Mg8BVNE->QIrV2(6vmIK8mNA?d z9w3WRhJJK0I?%HUlZcAHIJ^oH{?k6iO5(6;^&(2`5E|!}$#KgMtr)`g;3>3+lo* z0!h#$&_iyEppt@;G62-~3snbzAJ*&d4HRelU)j+Q0BmodP$&=n%1j#oC{u&Wzviz@ zQXK#mdH`B$JR(9Pf7!!OZ&>&%L4Yfb8}I`WAPM;>0ac(0b^rrl3M_#wa0IS!zWTs< z9txsBEI0xZ!D(;~Tm%^)8{~pQa2u3^Do_U+!Bg-YyaI2)0GvHz;0u@r^I#c;Lg7)2 zC^i%~N&qE>l0hk<)KS_f1C%++2IYv_hw?@Rq9RbSsH3RUs5Ddt>ISL^RfeiTHKN*3 zov1$4FlrJti&{b>Xa+Ppnh!0GmPf0jb*YOfn_|Q;4a=G-J9j!4oXH(Oc8|(jTV3On;ZYm429h zk%5&#nn9nzg&~6BEJFdqBZfYPAB>EQ;*2{OofyLz&oUMtN zW+`TAW0_#Zvx>7CuzIo{W6fo4VjX2e*hJX$**w^evgNToVH;z|u}iREx zCHpi7D~B?NJx4T0CdWgLAx?x-oYREUpEHHCobxT`(k8x5x|>LwPHnog>Gh@suFYIK zxJX<{T%}xZxR$sDxed7exKp{SxCePKJkmVYJW)K?c%JY~ZD!xBx!GfL(&qBb{k&*i zX`3vVZGzp;HtTTpwS_I2$c9U&c}PL9sV4v`(6JMwpo z>q_bF*S)3tO;15DRIfsBL0?1vkp82c$WEi3NjqN}uo~DIWEi|R6gKoWEHRumQZYJc z^vD=%Y-XHl++)IL;$c!`GHt46ddRfdjKOTTS%%q&xwLtxd94N7!qnot#k*Z%y8?Gr zSprKF%k!3lRuWbrRu8Ok)>hV;)}L$?ZDMU&cC+nv+g-eS-d4{x#dg3>(k{a8u|2`w z#lFaX!C|LEn#0f@`8|jBJa^=A^mVLu!aLbJ3r@SG%VC#8|by|#O$ zc};k4_df4E>7(P5?la}9@0;N}v)_1s_WlJwOTPj?iob(@X#h>YzJQuQ)Bha;!tt!agXCg;*Z6T9X2{#c!chV-;oyy z3JGZmKaV;btv$wf?C`PC<3`6z5}6W16MIf*p2$9lIq7@y<*BWwuAEv+@=SVmTH$p1 z>6K)UZBH?v82VMjh?qSUwJ|BLehnw7u_zl zr7NdrU!uDdacStX`Q_>>qF2scS;_Fpc$2A@S(?S0bt-G&s^`_$*LGaHlg*cXI(zB5 z@AcjrMmH*R#B(%X@x2x~S-nmiAS$g^|xEpczbJ@PKx8-K#kMF79yK`UcepUrrMN%cI@<8Qu zl~2`BwPST>jcLu}TFu&u2XYSz>V)btA96fQsi&(yR!?b&X_$Ky{AjAtyK(ff+v9j@ly3=Wrtcv z^{Z{KYCE+$>tE}|Y)@{0{pr zX^?p^{XOsdoDWhTN{3X39uDsuZXek_GBD~f`sHKT$Ca^TpBO)-j|+?!O(;#&O&U(V z`t1C9>`U;M<*CH4EMK#}Nq)QkeaH9q={?h9Godq-+2kMGKMH;-|9m`WHTQl#V19Wa ziOfwdTvT6dS#nq!UyfSAuUuZ0TCH6(TYEh2{OgQJZGd|Sa0l++t*7AbrU!t#c>st*`veyNtQY~X z-3HKGw{Fz+F7Qmfey*fG;NThJ`mR;?0QcWb|LOMY%n3z*;{Nv?ve~*7Zl3;ir#u2I zG;qu3iJ*i5ngxZhpeW5i0P?`XO$sc3yr9qs28+Yf(9+REg$ibXMj;3qgJ7}L4+p42 zupMAnu&hFgx;Qp#B3?LzUFk^b4H^->vPKS@&S}xD?x6{^bex;GxOv3HB_yS!l~q*L z)VFEq?=&zpGBz>YZEI)m0Jmozo+K}CAK(39;SrHh(FbCV9y^|R;^e8MwDT7(reC^z zB_k&{?`D2MVNr4Uz55lFRn;}MkDHpGJZ))hd-l4k`_0>)-oF0fkRRK8A#B1*M`+mf zQg4(s(u!=gndWd0?WE%rRUQ_bp;B9C_CF(*@PA^qLF_ND0eG}PuNMT3Mz9EiU~yPj za5Qk|g~QR%(X1D`--ThlFi{I(qfnp`$P~d~FnIXSOixSC{J$=gLHMBwPw58?2ntRn zgazn;)s>v2#f6cm7H(~BKkG?{HQtQR++DG1!V$(}yn)EaK-+2E@f#DmrTVl9w@(*M z6&lWd4R26Qkx^*B+e_#AfkSSOYtOxdOD;=vN#xlN^A9>RcF5IfhVUMG<|2~aT1){N zKeL(EIzQ0QO|sIKl3sg-9j+>ya#?OY{)!MubghUzs+dz#U@-99t#xrljq_vgl~9{z z!?h^445NqEb^(E3gT9W|mS2$*yg(8?b2OJ=)g+iy;ilZRt9^NAmxHbWyA7AM0Xz6z zQIuD!R^1e^zm%XK{#HZn#P{#shLScm=dM0)*>Efd_fbYZ!%o+4kRHDaHUQ;lB5^bAB^itL%c`@YZg zp7YDoqJbx*TbrbHztNPwR?N0)?7Hc6Rv<&k!6x+JoW0Xtfit91)pqHgrkUJ_+yZESMG&_M`yCG`HuH2x(pQUulRsPKM@2yE;o9-#I||PZbsu%<^Jce2(-`cNVah>%H9ZEcmqLr;9yBvxLN0kr6(uTXQ_na^`Pv&(rEBHDS)B z7@ess^5_yZ96VB*yT%{8t8Aw9YTkzdlU#CQbNo%;1#s*1T7MuYkK^X`E|h4jb68gX z+|Ti0MO1*c!ZF|*Q7rwviFs&>Prl0`1@dSK&qx0_={C8Npc}ECWtpZu;rZwR#{?be z*}ew{3UQ)m9t?31S0pq~)Fd_SZlBb+;F;g!?Bw@GR`em^N~1@~$B0ogHoU3q)Ij(L zvh!Q{XY)U`S4xo?x33)2-<#B48##zxxLtO`N2b(bn^HNCk5;x z`{nohZnCzB9|pWpi(8q-`_{6_e6tX|c9cp%o!ot)xwLzV*0j=q2R!=n4=SNCVK zMy54qXWxcgNEc^H-hOhVZnVj1aG{x7%iu*$ah%q|Tv-S6)?TxS%(c(Lz;_=%XWLi-Np+}V?2sJSQnU6XL-fj9vUyWvTL z#{~v)o%3QXNuH94L6*lyt zVh7Ib(QM8rw}iMFKLuF6eDH!WpEu37^4zb~X>g+ar&p?0?}a7SY@M}jE^n%Xl=3s@ zqpG~JhpxU{(c%91Cd0Hrb~*pj``1QYw)XZ{iYH?Rlbx=e58?ZIt4V6h7Cx>+MzdcX z*4(}cv^u=dP?0a2_hT_B`5{2*T&*Ri4#{ec$RGcvrE~D)C!M;=Om2nt>tBNk)QRud z-q*X5O=k41$;4YG)1@POR4d=kUPy@A#@YVvxYq>Hf6SR2*6}RPt@_I|ZLt-J>F>>h zI?ucDeJYYD&V|%Mx$LRCqcPrB^JaRFW-Qg+Q^@79Y4ot0G;_W^vRwK`0J-{+e9Hc; zce--P6UT!4Jzg;vLXDLDwwQDCqHi(j;&0$?mL8T>p@8K0d)=cJZ)M{vVl{4`e9n0= zmW=|ok_{zrptT4~QZ`$W));lUtR$P^Qe>t<&J@4MJ=Sux@KtTc zVToEDx590^-|qlmn_PP+}<#OD$b0dwM?uCsC(DW5tiMq4rQP%8&qU30) zSjpp?3>G{|w%xg673a;Dir*;g$xteAGPOE5n15w9`$U7cB{Ml}MDCRG!cn{FC&!xx zWjOmgHSWwY(({t8TCrYfFgYgud>G$Y-h%`)wm`#v)2p}C1(^*E ze0%Ikmq!%OpKe~Uw(lQ|sQq?eQPtw;^P;wW_1v1@<4%cYd#0b@obnQZr*VSh&Z=;zDm8om4}oJkjLHLt#Cuw_rOrgevwrcZDu4G5C3Mmh5x%Y^MQ3Qt z-2uOI(olfUmxc3<>2b^zf`jCYwf@)2-}I_O<8d@PJPVmJ#^KAF2kApj-p)0C6(h}< z`;+5s!4~bk{6@aE=O27avv|3W1vx(b-LAXJ zh(YoEij~o6b}gNax1D6hMI<&wKiE1|K=V@To`b7*mh+0tH0jc1Fk~3n27fop@8wJ`h_*`)YX(r6!1zb z?qfXVHT7jHiKfj-9Fa&2cN7V>yLedo(Hw@Krc_{t@JRl6y-;L^1@E5rRo55E0_369 z4{MsP9R`uZGZE9XpK{eUeeBnI=jC?%snK~h3zGwRYhR{fvm=&8$tpkQWxdvfu4#2h zn=`Gl$b4!@5@1@<9Qwe%hb+?+)%7{%))UO99VNU0ifGA4)>m6JQ`EuPysWq!hp~>M z6%sR-S}fEY>jFM4J24xq`hWv)fC{-m1EiPsew_DKlNzV&o-B7zu8*lV)v3lBS#YoXsTMuu5^*YrkV zD88n?=CHb1hjnH%!A3c_@3=}lNj5GrYPoaCKAL0PN&dJ*&5Uxr<_yobZbt@AD^_m* zfSMr>!RO*(BFNK7DQTssI_?p!Scl=gGR?s(r=G|xP zUZl*IHZewTJ~*i1kU^6-eE4PGXiIVBW@NcNhHh!CK8{>4{eCULwPz&$2)ofpfZ!>9 zF<#f^qgW=L6ffKO195KVF+In%EDFdEbSrv(t`xh-@vAORKPwDm*LIZ1$8DR2H#qz>U7 zgH81cPc_*9 diff --git a/images/LightRAG_dataflow.png b/images/LightRAG_dataflow.png deleted file mode 100644 index b385553c9d3d4a0406a55f0817ba58c7c547cab4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127326 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

)4aiPHpE=G>DyiE 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%0A~?#MBa!8bQms5Fq-oE#U@R#o*X6c{W^ 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%0DUxTZ+J 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

^!eX)_mfP&eKtGL_mhhlI)5v|U8O|AvlvF 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

%f*ttg;$ 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 as the template. @@ -92,7 +92,7 @@ def __create_jinja2_template(self): raise ValueError(f"Invalid Jinja2 template: {e}") def update_prompt_kwargs(self, **kwargs): - r"""Update the preset prompt kwargs after Prompt is initialized.""" + r"""Update the initial prompt kwargs after Prompt is initialized.""" self.prompt_kwargs.update(kwargs) def get_prompt_variables(self) -> List[str]: @@ -109,7 +109,7 @@ def _find_template_variables(self, template_str: str): return meta.find_undeclared_variables(parsed_content) def compose_prompt_kwargs(self, **kwargs) -> Dict: - r"""Compose the final prompt kwargs by combining the preset_prompt_kwargs and the provided kwargs.""" + r"""Compose the final prompt kwargs by combining the initial and the provided kwargs at runtime.""" composed_kwargs = {key: None for key in self.prompt_variables} if self.prompt_kwargs: composed_kwargs.update(self.prompt_kwargs) From 6dca9c41e798c2480b48be7a4f716d90da1d7c3b Mon Sep 17 00:00:00 2001 From: Li Yin Date: Sun, 30 Jun 2024 20:39:31 -0700 Subject: [PATCH 2/2] rewrote prompt and finished the draft --- developer_notes/prompt_note.py | 84 +++++++ docs/source/developer_notes/prompt.rst | 301 +++++++++++++------------ lightrag/core/prompt_builder.py | 39 +--- 3 files changed, 246 insertions(+), 178 deletions(-) diff --git a/developer_notes/prompt_note.py b/developer_notes/prompt_note.py index e69de29b..cb4bb167 100644 --- a/developer_notes/prompt_note.py +++ b/developer_notes/prompt_note.py @@ -0,0 +1,84 @@ +def python_str_format_example(task_desc_str: str, input_str: str): + + # percent(%) formatting + print("%s User: %s" % (task_desc_str, input_str)) + + # format() method with kwargs + print( + "{task_desc_str} User: {input_str}".format( + task_desc_str=task_desc_str, input_str=input_str + ) + ) + + # f-string + print(f"{task_desc_str} User: {input_str}") + + # Templates + from string import Template + + t = Template("$task_desc_str User: $input_str") + print(t.substitute(task_desc_str=task_desc_str, input_str=input_str)) + + +def jinja2_template_example(template, **kwargs): + from jinja2 import Template + + t = Template(template, trim_blocks=True, lstrip_blocks=True) + print(t.render(**kwargs)) + + +def lightrag_prompt(template, task_desc_str, input_str, tools=None): + from lightrag.core.prompt_builder import Prompt + + prompt = Prompt( + template=template, + prompt_kwargs={ + "task_desc_str": task_desc_str, + "tools": tools, + }, + ) + print(prompt) + print(prompt(input_str=input_str)) + + saved_prompt = prompt.to_dict() + restored_prompt = Prompt.from_dict(saved_prompt) + print( + restored_prompt == prompt + ) # False as the jinja2 template can not be serialized, but we recreated the template from the string at the time of restoration, so it works the same + print(restored_prompt) + + +def lightrag_default_prompt(): + from lightrag.core.prompt_builder import Prompt + + prompt = Prompt() + input_str = "What is the capital of France?" + output = prompt(input_str=input_str) + print(output) + + +if __name__ == "__main__": + + task_desc_str = "You are a helpful assitant" + input_str = "What is the capital of France?" + tools = ["google", "wikipedia", "wikidata"] + template = r"""{{ task_desc_str }} +{# tools #} +{% if tools %} + +{% for tool in tools %} +{{loop.index}}. {{ tool }} +{% endfor %} + +{% endif %} +User: {{ input_str }}""" + python_str_format_example(task_desc_str, input_str) + jinja2_template_example(template, task_desc_str=task_desc_str, input_str=input_str) + jinja2_template_example( + template, task_desc_str=task_desc_str, input_str=input_str, tools=tools + ) + lightrag_prompt( + template, task_desc_str=task_desc_str, input_str=input_str, tools=tools + ) + + lightrag_default_prompt() diff --git a/docs/source/developer_notes/prompt.rst b/docs/source/developer_notes/prompt.rst index 720c3ebc..c9a1e888 100644 --- a/docs/source/developer_notes/prompt.rst +++ b/docs/source/developer_notes/prompt.rst @@ -11,217 +11,238 @@ Context The prompt refers to the text input to the LLM models. When sent to an LLM, the model uses the prompt to auto-regressively generate the next tokens, continuing the process until it reaches a specified stopping criterion. The prompt itself plays a crucial role in the performance of the desired tasks. -Researchers often use `special tokens` to separate different sections of the prompt, such as the system message, user message, and assistant message. +Researchers often use `special tokens` [1]_ to separate different sections of the prompt, such as the system message, user message, and assistant message. Ideally, developers should format this prompt with special tokens specific to the model's at training time. However, many proprietary APIs did not disclose their special tokens, and requires users to send them in the forms of messages of different roles. -In LLM applications, the first thing you need is to - Design ---------------- -The prompt refers to the text input to the LLM models. -You can use any of Python's native string formatting. -The ``format()`` with kwargs is the one that allows you to use placeholders and treat them as key-word arguments. +`LightRAG` seeks to maximize developers' control over the prompt. +Thus, in most cases we help developers gather together different sections and form them into one prompt. +This prompt will then be send to the LLM as a single message. +The default role of the message we use is `system`. +Though it is not a special token, we use ```` to represent the system message in the prompt, which works quite well. .. code-block:: python - :linenos: - # percent(%) formatting - name = "Alice" - age = 20 - print("My name is %s, and I am %d years old." % (name, age)) + simple_prompt = r""" You are a helpful assistant. User: What can you help me with?""" - # format() method with kwargs - print("My name is {name}, and I am {age} years old.".format(name=name, age=age)) +If it is `Llama3` model, the final text sent to the model for tokenization will be: - # f-string - print(f"My name is {name}, and I am {age} years old.") +.. code-block:: python - # Templates - from string import Template - t = Template('My name is $name, and I am $age years old.') - print(t.substitute(name=name, age=age)) + final_prompt = r"""<|begin_of_text|><|start_header_id|>system<|end_header_id|> + {{simple_prompt}} <|eot_id|>""" + +And the LLM will return the following text: +.. code-block:: python + + prediction = r"""<|start_header_id|>assistant<|end_header_id|> You can ask me anything you want. <|eot_id|><|end_of_text|>""" + +Data Flow in LLM applications +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.. figure:: /_static/images/LightRAG_dataflow.png + :align: center + :alt: Data Flow in LLM applications + :width: 620px + Data flow in LLM applications +Look at the most complicated case: We will have user query, retrieved context, task description, definition of tools, few-shot examples, past conversation history, step history from the agent, and the output format specification. +All these different parts need to be formatted into a single prompt. +We have to do all this with flexiblity and also easy for developers to read. -We strick to maximize developers' control towards the final experience and performance, simplify the development process, and minimize the token consumption. -For the major chat models, we eventually will only send two messages to the model: the system message and the user message. The user message is simple, -often you have a message `{'role': 'user', 'content': 'Hello, how are you?'}`. The system message is more complex, it contains the task description, tools, examples, chat history, context, and -intermediate step history from agents. +Why Jinja2? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +To format the prompt, you can use any of Python's native string formatting. + +.. code-block:: python + :linenos: + # percent(%) formatting + print("%s User: %s" % (task_desc_str, input_str)) -**Data Flow in LLM applications** + # format() method with kwargs + print( + "{task_desc_str} User: {input_str}".format( + task_desc_str=task_desc_str, input_str=input_str + ) + ) -**Benefits of using Jinja2** + # f-string + print(f"{task_desc_str} User: {input_str}") -Prompt template ---------------------- + # Templates + from string import Template -Our `DEFAULT_LIGHTRAG_SYSTEM_PROMPT` templates the system prompt with 7 important sections. We leverage `jinjia2` template for **programmable prompt** right along with string. + t = Template("$task_desc_str User: $input_str") + print(t.substitute(task_desc_str=task_desc_str, input_str=input_str)) -The default template comes with 7 variables: `task_desc_str`, `output_format_str`, `tools_str`, `examples_str`, `chat_history_str`, `context_str`, and `steps_str`. -A jinjia2 template will rendered with :ref:`Prompt` class. If some fields being empty, that section will be empty in the final prompt string. +We opted for `Jinja2` [1]_ as the templating engine for the prompt. +Besides of the placeholders using ``{{}}`` for key-word arguments, Jinja2 also allow users to write code similar to Python syntax. +This includes conditionals, loops, filters, and even comments that is lacked from Python's native string formatting. +Here is one example of using `Jinja2` to format the prompt: .. code-block:: python - :linenos: - DEFAULT_LIGHTRAG_SYSTEM_PROMPT = r"""{# task desc #} - {% if task_desc_str %} - {{task_desc_str}} - {% endif %} - {# tools #} - {% if tools_str %} - - {{tools_str}} - - {% endif %} - {# example #} - {% if examples_str %} - - {{examples_str}} - - {% endif %} - {# chat history #} - {% if chat_history_str %} - - {{chat_history_str}} - - {% endif %} - {#contex#} - {% if context_str %} - - {{context_str}} - - {% endif %} - {# steps #} - {% if steps_str %} - - {{steps_str}} - - {% endif %} - """ - -Across our library, here our advanced features: - -- Various output formats where the `output_format_str` variable is used to pass the output format to the model. - -- Few-shot and Many-shots In-context Learning (ICL) where the `examples_str` variable is used to pass the examples to the model. - -- Tools/Function Calls where the `tools_str` variable is used to pass the tools to the model. - -- Memory where the `chat_history_str` variable is used to pass the memory to the model. - -- Retrieval augmented generation(RAG) where the `context_str`` variable is used to pass the retrieved context. - -- Agent with multiple step planning and replanning capabilities, where the `steps_str` variable is used to pass the previous steps to the model. - -**Note: this means in default our out-of-box components would not support API providers's tools/function calls as we only send the system and user messages to the model. -But it should not stop you from implementing them yourself.** + def jinja2_template_example(**kwargs): + from jinja2 import Template -Prompt class ---------------------- -We designed a :ref:`Prompt` class to render the `template` with the variables to string as the final system prompt. In the simplest case, the string is empty and we will only send -a user message to the model. And in most cases, you want to add at least the `task_desc_str` to the system message. + template = r"""{{ task_desc_str }} + {# tools #} + {% if tools %} + + {% for tool in tools %} + {{loop.index}}. {{ tool }} + {% endfor %} + + {% endif %} + User: {{ input_str }}""" + t = Template(template, trim_blocks=True, lstrip_blocks=True) + print(t.render(**kwargs)) -The cool thing about our `Prompt` system is how flexible it can be. If you need to put another `template` for say `task_desc_str`, you can do that using the `Prompt` class. -For example, your task is to instruct the llm to choose `top_k` from the given choices, you can define a new template like this: +Let's call it with and without tools: .. code-block:: python - :linenos: - from core.prompt_builder import Prompt + jinja2_template_example(task_desc_str=task_desc_str, input_str=input_str) + jinja2_template_example( + task_desc_str=task_desc_str, input_str=input_str, tools=tools + ) - task_desc_template = r""" - Choose the top {{top_k}} from the following choices: {{choices}} - """ - top_k = 3 - choices = ['apple', 'banana', 'orange', 'grape'] - task_desc_prompt = Prompt(template=task_desc_template, preset_prompt_kwargs={'top_k': top_k, 'choices': choices}) - task_desc_str = task_desc_prompt.call() - prompt = Prompt(preset_prompt_kwargs={'task_desc_str': task_desc_str}) - prompt.print_prompt() +The printout would be: -The output would be: +.. code-block:: -.. code-block:: xml - :linenos: + You are a helpful assitant + User: What is the capital of France? - Choose the top 3 from the following choices: ['apple', 'banana', 'orange', 'grape'] +And with tools: +.. code-block:: + You are a helpful assitant + + 1. google + 2. wikipedia + 3. wikidata + + User: What is the capital of France? +We can see how easy and flexible to programmatically format the prompt with `Jinja2`. -Prompt and Special Tokens context ----------------------------------- -Each section other than `task_desc_str` is encapulated in a special token. Different model can have different special tokens. -Here is one example of `Llama3 Documentation `_ prompts formatted with special tokens: +Prompt class +---------------- -input string to the LLM model and minimize the token consumption. -We enable advanced features without relying on API provider's prompt manipulation such as `OpenAI`'s tools or assistant APIs. -.. code-block:: - :linenos: +We created our :class:`Prompt Component` to render the prompt with the string ``template`` and ``prompt_kwargs``. +It is a rather simple component, but it is rather handy. - <|begin_of_text|><|start_header_id|>system<|end_header_id|> +Let's use the same template as above: - You are a helpful AI assistant for travel tips and recommendations<|eot_id|> +.. code-block:: python - <|start_header_id|>user<|end_header_id|> - What can you help me with?<|eot_id|> + from lightrag.core.prompt_builder import Prompt - <|start_header_id|>assistant<|end_header_id|> + prompt = Prompt( + template=template, + prompt_kwargs={ + "task_desc_str": task_desc_str, + "tools": tools, + }, + ) + print(prompt) + print(prompt(input_str=input_str)) # takes the rest arguments in keyword arguments +The ``Prompt`` class allow us to preset some of the prompt arguments at initialization, and then we can call the prompt with the rest of the arguments. +Also, by subclassing ``Component``, we get to easily visualize this component with ``print``. +Here is the output: +.. code-block:: + Prompt( + template: {{ task_desc_str }} + {# tools #} + {% if tools %} + + {% for tool in tools %} + {{loop.index}}. {{ tool }} + {% endfor %} + + {% endif %} + User: {{ input_str }}, prompt_kwargs: {'task_desc_str': 'You are a helpful assitant', 'tools': ['google', 'wikipedia', 'wikidata']}, prompt_variables: ['input_str', 'tools', 'task_desc_str'] + ) + +As all components, you can use ``to_dict`` and ``from_dict`` to serialize and deserialize the component. + +Default Prompt Template +------------------------- +In default, ``Prompt`` class uses the :const:`DEFAULT_LIGHTRAG_SYSTEM_PROMPT` as its string template if no template is provided. +This default template will allow you conditionally passing seven important variables designed from the data flow diagram above. +These varaibles are: + +.. code-block:: python + LIGHTRAG_DEFAULT_PROMPT_ARGS = [ + "task_desc_str", # task description + "output_format_str", # output format of the task + "tools_str", # tools used in the task + "examples_str", # examples of the task + "chat_history_str", # chat history of the user + "context_str", # context of the user query + "steps_str", # used in agent steps + "input_str", # user query or input + ] -Here is how you customize a new prompt: +Now, let's see the minimum case where we only have the user query: .. code-block:: python - :linenos: - from core.prompt_builder import Prompt + prompt = Prompt() + output = prompt(input_str=input_str) + print(output) + +The output will be bare minimum with only the user query and a prefix for assistant to respond: + +.. code-block:: + + + What is the capital of France? + + You: - new_template = r""" - <|begin_of_text|><|start_header_id|>system<|end_header_id|> - {{task_desc_str}} - Your context: {{context_str}} <|eot_id|> +.. note:: - <|start_header_id|>user<|end_header_id|> - {{query_str}}<|eot_id|> + We barely need to use the raw ``Prompt`` class directly as it is orchestrated by the ``Generator`` component. - <|start_header_id|>assistant<|end_header_id|> - """ - prompt = Prompt(template=new_template) +.. Prompt Engineering experience +.. ------------------------------- +.. There is no robust prompt, and it is one of the most sensitive creatures in the AI world. +.. Here are some tips: -Prompt Engineering experience -------------------------------- -There is not robust prompt, and it is one of the most sensitive creatures in the AI world. -Here are some tips: -- Even the output format matters, the order of your output fields, the formating. -Output yaml or json format can lead to different performance. We have better luck with yaml format. -- Few-shot works so well in some case, but it can lead to regression in some cases. -- It is not fun to be a prompt engineer! But what can we do for now. +.. - Even the output format matters, the order of your output fields, the formating. Output yaml or json format can lead to different performance. We have better luck with yaml format. +.. - Few-shot works so well in some case, but it can lead to regression in some cases. +.. - It is not fun to be a prompt engineer! But what can we do for now. .. admonition:: References :class: highlight - 1. Jinja2: https://jinja.palletsprojects.com/en/3.1.x/ - 2. Llama3 special tokens: https://llama.meta.com/docs/model-cards-and-prompt-formats/meta-llama-3/ + .. [1] Jinja2: https://jinja.palletsprojects.com/en/3.1.x/ + .. [2] Llama3 special tokens: https://llama.meta.com/docs/model-cards-and-prompt-formats/meta-llama-3/ .. admonition:: API References :class: highlight - :class:`core.prompt_builder.Prompt` - - :constant:`core.prompt_builder.DEFAULT_LIGHTRAG_SYSTEM_PROMPT` + - :const:`core.default_prompt_template.DEFAULT_LIGHTRAG_SYSTEM_PROMPT` diff --git a/lightrag/core/prompt_builder.py b/lightrag/core/prompt_builder.py index 0f2f7ac7..75396f4d 100644 --- a/lightrag/core/prompt_builder.py +++ b/lightrag/core/prompt_builder.py @@ -66,7 +66,6 @@ class Prompt(Component): def __init__( self, - *, template: Optional[str] = None, prompt_kwargs: Optional[Dict] = {}, ): @@ -141,7 +140,7 @@ def print_prompt(self, **kwargs): def call(self, **kwargs) -> str: """ - Renders the prompt template with the provided variables. + Renders the prompt template with keyword arguments. """ try: pass_kwargs = self.compose_prompt_kwargs(**kwargs) @@ -175,39 +174,3 @@ def to_dict(self) -> Dict[str, Any]: exclude = ["jinja2_template"] # unserializable object output = super().to_dict(exclude=exclude) return output - - -# if __name__ == "__main__": -# import logging - -# logging.basicConfig(level=logging.DEBUG) -# prompt = Prompt( -# preset_prompt_kwargs={"task_desc_str": "You are a helpful assistant."} -# ) -# print(prompt) -# prompt.print_prompt_template() -# prompt.print_prompt(context_str="This is a context string.") -# prompt.call(context_str="This is a context string.") -# states = prompt.state_dict() -# print(f"states: {states}") -# named_params = prompt.named_parameters() -# print(f"named_params: {named_params}") -# for name, param in named_params: -# print(f"{name}: {param}") - -# # get dict of prompt -# prompt_dict = prompt.to_dict() -# print(f"prompt_dict: {prompt_dict}") -# prompt_state = prompt.state_dict() -# print(f"prompt_state: {prompt_state}") - -# EXAMPLES_TEMPLATE = r""" -# {% if examples %} -# {% for example in examples %} -# {{loop.index}}. {{example}} -# {% endfor %} -# {% endif %} -# """ -# examples_prompt = Prompt(template=EXAMPLES_TEMPLATE) -# examples_str = examples_prompt.call(examples=["Example 1", "Example 2"]) -# prompt.print_prompt(examples_str=examples_str)