From 5f3cda2a6362c8f37105ffc81de00f07a040704b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B7=9D?= Date: Sat, 28 Mar 2026 19:51:52 +0800 Subject: [PATCH] =?UTF-8?q?chore(server):=20=E8=AE=B0=E5=BD=95=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E5=99=A8=E5=90=AF=E5=8A=A8=E4=B8=8E=E7=83=AD=E9=87=8D?= =?UTF-8?q?=E8=BD=BD=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 详细记录服务启动及关闭过程中的日志信息 - 添加文件变动检测后的自动重启警告和操作日志 - 记录上传目录准备状态日志 - 追踪接口请求响应日志,包括视频和设计资源访问 - 添加应用关闭和重启通知日志 --- .DS_Store | Bin 8196 -> 8196 bytes backend/uploads/designs/26.png | Bin 53854 -> 0 bytes backend/uvicorn.log | 140 +++++++++++++++++++++++++++++++++ init_data.sql.zip | Bin 9844 -> 11755 bytes 4 files changed, 140 insertions(+) delete mode 100644 backend/uploads/designs/26.png diff --git a/.DS_Store b/.DS_Store index 151d1a5b2d5e52ff7f0560f44f9a1b97309e6310..e7c41932f8afbdbe1484f8d9bfaa610973c9ee6d 100644 GIT binary patch delta 28 fcmZp1XmQwJBFz`&5U*;4#BJA^seQv5UkZ&U}7 diff --git a/backend/uploads/designs/26.png b/backend/uploads/designs/26.png deleted file mode 100644 index e164375f9bb76f17d064609ca9c1a429bca8b619..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53854 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 diff --git a/backend/uvicorn.log b/backend/uvicorn.log index bb40617..844bbcc 100644 --- a/backend/uvicorn.log +++ b/backend/uvicorn.log @@ -80,3 +80,143 @@ INFO: Waiting for application startup. INFO: Application startup complete. ✅ 上传目录已准备: uploads INFO: 127.0.0.1:64149 - "GET /uploads/videos/6ed3f33421a44876b303c7671c1597d5.mp4 HTTP/1.1" 304 Not Modified +WARNING: StatReload detected changes in 'app/services/design_service.py'. Reloading... +INFO: Shutting down +INFO: Waiting for application shutdown. +INFO: Application shutdown complete. +INFO: Finished server process [65045] +👋 应用已关闭 +INFO: Started server process [69988] +INFO: Waiting for application startup. +INFO: Application startup complete. +WARNING: StatReload detected changes in 'app/services/design_service.py'. Reloading... +INFO: Shutting down +INFO: Waiting for application shutdown. +INFO: Application shutdown complete. +INFO: Finished server process [69988] +✅ 上传目录已准备: uploads +👋 应用已关闭 +INFO: Started server process [69995] +INFO: Waiting for application startup. +INFO: Application startup complete. +WARNING: StatReload detected changes in 'app/services/design_service.py'. Reloading... +INFO: Shutting down +INFO: Waiting for application shutdown. +INFO: Application shutdown complete. +INFO: Finished server process [69995] +✅ 上传目录已准备: uploads +👋 应用已关闭 +INFO: Started server process [70000] +INFO: Waiting for application startup. +INFO: Application startup complete. +WARNING: StatReload detected changes in 'app/services/ai_3d_generator.py'. Reloading... +INFO: Shutting down +INFO: Waiting for application shutdown. +INFO: Application shutdown complete. +INFO: Finished server process [70000] +✅ 上传目录已准备: uploads +👋 应用已关闭 +INFO: Started server process [71187] +INFO: Waiting for application startup. +INFO: Application startup complete. +WARNING: StatReload detected changes in 'app/services/ai_video_generator_kling.py'. Reloading... +INFO: Shutting down +INFO: Waiting for application shutdown. +INFO: Application shutdown complete. +INFO: Finished server process [71187] +✅ 上传目录已准备: uploads +👋 应用已关闭 +INFO: Started server process [71203] +INFO: Waiting for application startup. +INFO: Application startup complete. +WARNING: StatReload detected changes in 'app/services/ai_3d_generator.py'. Reloading... +INFO: Shutting down +INFO: Waiting for application shutdown. +INFO: Application shutdown complete. +INFO: Finished server process [71203] +✅ 上传目录已准备: uploads +👋 应用已关闭 +INFO: Started server process [71899] +INFO: Waiting for application startup. +INFO: Application startup complete. +✅ 上传目录已准备: uploads +INFO: 127.0.0.1:52861 - "GET /api/auth/me HTTP/1.1" 200 OK +INFO: 127.0.0.1:52869 - "GET /api/categories HTTP/1.1" 200 OK +INFO: 127.0.0.1:52871 - "GET /api/designs/27 HTTP/1.1" 200 OK +INFO: 127.0.0.1:52874 - "GET /uploads/videos/6ed3f33421a44876b303c7671c1597d5.mp4 HTTP/1.1" 304 Not Modified +INFO: 127.0.0.1:52943 - "GET /api/auth/me HTTP/1.1" 200 OK +INFO: 127.0.0.1:52951 - "GET /api/categories HTTP/1.1" 200 OK +INFO: 127.0.0.1:52953 - "GET /api/designs/27 HTTP/1.1" 200 OK +INFO: 127.0.0.1:53198 - "GET /api/auth/me HTTP/1.1" 200 OK +INFO: 127.0.0.1:53206 - "GET /api/categories HTTP/1.1" 200 OK +INFO: 127.0.0.1:53208 - "GET /api/designs/27 HTTP/1.1" 200 OK +INFO: 127.0.0.1:53211 - "GET /uploads/videos/6ed3f33421a44876b303c7671c1597d5.mp4 HTTP/1.1" 304 Not Modified +INFO: 127.0.0.1:53280 - "GET /api/auth/me HTTP/1.1" 200 OK +INFO: 127.0.0.1:53288 - "GET /api/categories HTTP/1.1" 200 OK +INFO: 127.0.0.1:53290 - "GET /api/designs/27 HTTP/1.1" 200 OK +INFO: 127.0.0.1:53426 - "GET /api/auth/me HTTP/1.1" 200 OK +INFO: 127.0.0.1:53434 - "GET /api/categories HTTP/1.1" 200 OK +INFO: 127.0.0.1:53436 - "GET /api/designs/27 HTTP/1.1" 200 OK +INFO: 127.0.0.1:53602 - "GET /api/auth/me HTTP/1.1" 200 OK +INFO: 127.0.0.1:53611 - "GET /api/categories HTTP/1.1" 200 OK +INFO: 127.0.0.1:53613 - "GET /api/designs/27 HTTP/1.1" 200 OK +INFO: 127.0.0.1:53616 - "GET /uploads/videos/6ed3f33421a44876b303c7671c1597d5.mp4 HTTP/1.1" 304 Not Modified +INFO: 127.0.0.1:55190 - "GET /api/auth/me HTTP/1.1" 200 OK +INFO: 127.0.0.1:55199 - "GET /api/categories HTTP/1.1" 200 OK +INFO: 127.0.0.1:55201 - "GET /api/designs/27 HTTP/1.1" 200 OK +INFO: 127.0.0.1:55204 - "GET /uploads/videos/6ed3f33421a44876b303c7671c1597d5.mp4 HTTP/1.1" 304 Not Modified +INFO: 127.0.0.1:55234 - "GET /api/auth/me HTTP/1.1" 200 OK +INFO: 127.0.0.1:55241 - "GET /api/categories HTTP/1.1" 200 OK +INFO: 127.0.0.1:55243 - "GET /api/designs/27 HTTP/1.1" 200 OK +INFO: 127.0.0.1:56832 - "GET /uploads/models/506909359d6c45fe9e43108ee7765a9a.glb HTTP/1.1" 304 Not Modified +INFO: 127.0.0.1:56840 - "GET /api/auth/me HTTP/1.1" 200 OK +INFO: 127.0.0.1:56846 - "GET /api/categories HTTP/1.1" 200 OK +INFO: 127.0.0.1:56849 - "GET /api/designs/27 HTTP/1.1" 200 OK +INFO: 127.0.0.1:56856 - "GET /api/designs?page=1&page_size=20 HTTP/1.1" 200 OK +INFO: 127.0.0.1:56859 - "GET /uploads/designs/26.png HTTP/1.1" 304 Not Modified +INFO: 127.0.0.1:56865 - "DELETE /api/designs/26 HTTP/1.1" 200 OK +INFO: 127.0.0.1:56868 - "GET /api/designs?page=1&page_size=20 HTTP/1.1" 200 OK +INFO: 127.0.0.1:56902 - "GET /api/designs/24 HTTP/1.1" 200 OK +INFO: 127.0.0.1:56925 - "GET /api/categories HTTP/1.1" 200 OK +INFO: 127.0.0.1:56927 - "GET /api/designs?page=1&page_size=20 HTTP/1.1" 200 OK +WARNING: StatReload detected changes in 'app/services/design_service.py'. Reloading... +INFO: Shutting down +INFO: Waiting for application shutdown. +INFO: Application shutdown complete. +INFO: Finished server process [71899] +👋 应用已关闭 +INFO: Started server process [75417] +INFO: Waiting for application startup. +INFO: Application startup complete. +WARNING: StatReload detected changes in 'app/services/prompt_builder.py'. Reloading... +INFO: Shutting down +INFO: Waiting for application shutdown. +INFO: Application shutdown complete. +INFO: Finished server process [75417] +✅ 上传目录已准备: uploads +👋 应用已关闭 +INFO: Started server process [76192] +INFO: Waiting for application startup. +INFO: Application startup complete. +WARNING: StatReload detected changes in 'app/services/design_service.py'. Reloading... +INFO: Shutting down +INFO: Waiting for application shutdown. +INFO: Application shutdown complete. +INFO: Finished server process [76192] +✅ 上传目录已准备: uploads +👋 应用已关闭 +INFO: Started server process [76199] +INFO: Waiting for application startup. +INFO: Application startup complete. +✅ 上传目录已准备: uploads +INFO: 127.0.0.1:63820 - "GET /api/auth/me HTTP/1.1" 200 OK +INFO: 127.0.0.1:63827 - "GET /api/designs?page=1&page_size=20 HTTP/1.1" 200 OK +WARNING: StatReload detected changes in 'app/services/prompt_builder.py'. Reloading... +INFO: Shutting down +INFO: Waiting for application shutdown. +INFO: Application shutdown complete. +INFO: Finished server process [76199] +👋 应用已关闭 +INFO: Started server process [83069] +INFO: Waiting for application startup. +INFO: Application startup complete. diff --git a/init_data.sql.zip b/init_data.sql.zip index cf284e536237db1c671b873b5a7de60af0f27ec3..af8fa7b18808fb31cf8f5fe135d96cb84019c51e 100644 GIT binary patch delta 11530 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𝔤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 Y9t!&ZsK6sYy?-$8rRu$=X8y1DKPuk0BLDyZ delta 9626 zcmYj%1yCGavvzQIcXxLSk^muCaQEO4AlL$dWzgUxxQC#@-2;oedmsyoYmne9c6q<| ze)s>U>(o3wr+cPqrcc$Gr=LTU3pE@~RU~BM7wFG+mhPW`BM98u3^@LG%!6HYelIjV z-34Nf-%rLSQJCI;NLq!^uN6WGXXM}df7+3i596r``5=*qo#%6m?f01(M_7I4rQB=6 z%&Dsvejjw`ha)83Hd$P9K^w1DKQ-hjM~6@BQ@kHdyn-KfEVxy6T+Qf zFZ;o!?ysd8+}A&vlkadPl1`BLhEF<%5bC2G>71voV>%0%7C+5&KJ`bjXi<%wQ$7hm zKSLkRB*0f>Vm+nNoa_gkY#OCRWvs+#o*s^d)LIhawURy>7OkV+fz!QUUNuYm03b{g zE{SLRCH;jALj*4M@#GctAFBJ8cbArn_DfZhUq0q~BxuO=ypaVDKCQP7lzYzSF2wFD zTf4S_fZ;^<^P>Ql%j8-~>-$5QqkMSA;=s6G(0i!w24#hhtLyhC2MaP>lvrc8RH;-l zUH3v^cG6pdSJGF*q@7}SMHNH+b%3bh)~Ic*aNRh?RHtp!V&>}V%7gm5q2a^|;f^{% z;S%-atW^=T%DAEEUl&S(XM?LivfQ23$1C?O_;p*l5vEJ$?u$hq-=NXQg59Am0v$@% zNhN9@wK2NQt83~%`&4U^UvQ~u|Lliy;n}Vql08UANZxhs$jx@8;wD%#)Bx|S51PLn zYf_oVigEr`TqnP_wU;$s|7K&u=U8^);Kt|EP`!JiRKFT?x#YG#za3)gVM-aQ`m-KQ z^2?R0d#eC=INfB{KCmE-%(sz#3vIN$EPhmF)xE%Gh9S(mHPHQ)g*4t%HE(vl&x_aO zF2pdF(3P9{8{vgypp0PYmt)=0HU@f~6=i_ht?S^1vf{(d_WYO+J^S^*!T~ z$SMs59sDls>Cf%mFwomSBJ0Wa`?{HK1efL>-qqE8Mt0v~ctCsfShl;lnSbGpeM~4Q zTBS#}=+JEJ({J}a!H|v7-ti?mAC@=3NH(msXSZ z;Mz2@tJiu~;;?hY!94)W;v2c-bk;anWEo&&8eu!%{@V+71YXU3l1+^d@Y~~>QRL&B z*RS?(W1sm&HVyu(o5af)aUCfB_qVz2;4j#E$p^C2s{3jHD1&>gY(2TOz&ugDLKJf? ze--&KX?)tx5gX`1`BciuwM_32`&~03OJFCZ9KMV#4K_?1jOqpXXS`vEOZ!o#npRW$ zGwtzLi?nG%App|5N8Lk{N4PSvNFrUr$bBed1NRP~?I#Vd9s z3f(cw^t!(&e7xX2in*TRh!A~MldjWO#|kOXrVtWpZ2q%c#~2&cBOa#!+dqJZ);A97 zd{3my|6&$#7mt16vk^7;SqZHYLMtqFkWR6h6u+{00CaVj0#|aR*{%i)E`4E+*T)sE znM}8fb4df!Qc9-6+yKyDA)8*VF6)n1S)uW5z;VytiN$50Gz(>Yiyl-3wryJq_nqGw zz;z%#%Ihj6I!f;>R{ij<#d^eMLO|AmR6&S(!f5LICT<+kpKl@^p@?lO70Sd5C?+kV zsE>-?z)eyNwCR=oB)`<~V?l-?u@BgF#`n{5Uw&-28uiZa*4N4}wfugx>OM?(gPqKt zjs}-6G8H${2{aoq_H&NAko|o74J|=B$s+E*Ai|VOZI@_bakonc%O?YfS;~YO)v4i7 zDYI%>qgexsdD`5@Wqqy@{#+u|i2lS9(pBY0;7;}O77e~(l)jLmg3RlnIgU}}bMRuS z1imE#b{%hN9LeXrunHwnd|%LPHW>U=S6o;&;7rnZEBsOzaf7`bm5JJ;0sPm%`fLt> z>Na3l2ojPjU|l5^InKN07uHjaB>aYcL?idj`k585*6}lm4eHa}+a^m!qg?RHHA(p; z@LJ~!6fy19rPui-HUIiMaop4oeHG^gvsu-U`82l!Pt}vGA?QF}OD4lR#j(yWst8FH z?<_1|epu!1Y*d||l&;Qc+wo9fPVSf6)?k%t9NcyOQavMXOJ{GID|kHd>ilTnOrDwL zrr~x+;7(V{Gb50Z$B??7reBk}i?0!;4_u1b4~Hv~TVRZHKjA{(kRg;cPlB$@Ky~@yDw{%pUkkvcKt!iD?18F@Prv%bk z1+Z2^BZ42>>N|`IJ13aTa#oB!6#uA}y2G3LnWUa2=j{RYQyOoqSF&hVzZ^LO_yJq< z!;z`x2?uE`ffKjJOHY`-MK%9jK{Ew42`kj9FZK50C+~;l=<_oH^D=bZUTL;WPvpVa zMQPj1Yzq^x6|{Y${W_A-U}W50fHsXUoYFW~(!xyk=alDbcD)a{Ch(NQYat@ya>i?GH2e;FChW(Rlkt)}p!!W-a}Y_A=RCtK9qG*l`c( zBF9nkClUt7BX>Q>^A+HcI-y$OwWA<4UY z3l_lW#0a{DnD>~0+^plY6=>9cK>YC?F7s6l+y zcjhCT`p(f5rGFW;w2TI{Y?KBGWL~q*zy_cN?R+dSHD*EYi z4SDR0f4@gNoIimX@_=rvIJ8Vfs$fqmOZ*ZGuPd}{Xsi#)+=1JW6}y-W_ULw`u&T~a zHqA>ziYKa9`k12|aNQj~j}Fh;q;7B4J?g!jm{^xpZ+V~Umh2ax%bn%z@kZx0oQhRT z@W#<2X$+C|MtkOGqfZ6m0=fNBCL6*>IW3bL%q8OR94UC~_8WIXnV6))4f0XEII7OW zYC7LOWjOb{XdtS-rD8J2jhJn_Ufhuq${gKq)>Mj3!aPqO30s(Zg)%IRzR^sRrzEeO zpMa`$-^AeMrI2hG${zR|4=&57QZNE{k(w4KD$;VC4U9>&%oi?m8F14|)J--lSO(qj zs6zy0zcORww${?Ud2&lU4rMd>@5v3M z1vIeaC$)8CeCSk+tq+DY>UKOVkk&r#>0e$5E7;OIU*1_Ta2DAA$ut`z65g+RdNj4j zC@#Ih=bi4p?x%u7Z)HV!sXUYBFDV|N2a`k-wdGt4_WZ{V=kCv?3Basz?B^bXf~C zlZq;9AALFvN{y=Ssl}7*-_rh*ny;Q~D@!}EFi+sp6HNPa*7t^(>#=wusc~aP@D`Vo zMcj#*k&~S#tQe97|7%u%p%4b}g0xr~^t)frHSBABS-EjpiDD-qV2ZvZ$dp5M&ti?vCMg#lij-k{^ z#RrIr2LAo$wX!9u^UI;p1m9tydb{buo&F#|V zA_~=X%?G&2riI(yv{@6(CTxL3xOnM7zuqQUWhUMB+N3g3fKxfCpP^HPox(m}m>2i9 ziUWgHWpm>zEcTmP9gvv}Z`8TWO>-z!Df#3^Q8D7@kVY)gUpQ;ehp2AcD9m6DqQI)H zRx>z}{?Ykd`K+^Q1LFphWkR?VT5TC9;?ZA@)XYVT?R?^-lPFlNy*J-@KeWofxer9Z zm5}nfCT|Fha;#V_T>*w{Y=}?98&p{c2=rC-z_l-Q$jgT~fx_IZ&nLnIm#OBrJl4s> zhMkY)k7so})(<^C@Y$aiCHBb=qUpM0$q8dvE)>lflyDdRQt_ne^uUS2-%!JnDp&!` zM`GqJi`qV~g(U$mj#~z9=JTp}msoLMJAJ0}0DDg~Z)qcKgz{M1T6A3M zX6PL7(^H!=!k<1ORiWnmE)_M3)41%mt{*q_Ig_i9np0>7m8t8$TEey;g{P({FYH!J zW{%s{tt=^U{S>nm8(miOvAg)I!I}IxegCyaaQ zE&X77mU_E!1AW2rse3z?`i8M*7}FnM%fkJnax<=CIF)jml~SX?wJyeGHLcgTIG506N(y1c$2kLi zl^Si$=R_+~ANa5ehJMvP9~X<^QBie8vL#7!V7)e@ZSx@&7t0u-lB^L&_Xx>zdYBP- zkB!R;=k17_evikO`(E zS635QEmx>srlii;6_vu;lPAO}uc{xrD^M?+5gFe%9k7Ym=G)=j4XbCQN6l+^jP#A? zyUH$cBw1F%RWvB-+gB|DM+(QZZDnscl0;1|g$^cd#`GVs?}TXV2 z<3ASec~Az8Pxtf_)DLO3x}BcU1jHMGWFb_k+3P9+&sTivj#TiRqdUG6en2}J=W;qB zW}7fUe=^deu~QCozr6WvT3z5REkiEoPw3zCsb8a{oIVv~zlwZfbh3u-4krti(yq&djqhe!c@=)fDmcWHMvTaEiy^;@2pi3nIW%OA)*LHcy z_srr`96TDO5u=Oa8AQVJ*uxhOyi> zrXO%8^o*p4);jJeCj@cINlke#J7Vk-oA9Cj;RRIb-|u-aTD35~E;Biy(srq}BJ!oa z_VRv7&)+ef+;KVD#9umNyr~pV!Z0#5wVwL5?u?;nj1>R-s^-WiiRCM~K|dY?xs>hE z@2x%Pz#BqV%bHm&kv_WsgkWVx&a+Qqi-PJDFImOR`{y8E6-&;7&Cn z*cA;$Sx;$Eqv{1mM;2hP$t`-3?S)T{7Jbx7$7jNXMlzz`ytDqKLIs(47uqXfl&V&U zKsi!KR*GfUE3U7}rxzI3{b5t(WgKGnphGyuCqP)!%1wA%Ti-c{hY#JBlh;zmigL3b zGr<+1fcDkAT8;HadgLjApfGXCSFudcdIKTLYXaEXH#}#?bz;0Bt01&79oC7&tAQ4D zD;PecoqWeLq(@g&9Klt1Q`?A3M2Jz9JV66Jk@<_iJ7E*Yi)4&=K3oh;Dszx}9wRbm z0}uyl8JHR2ElVLV$H3z_^9{8n4C2=cH7e(T zB5%LjcYQK`UpWIUoAAd_8GZ@6D5p%s~P?DAna}oxqOuWMG z;*Z#$o^TpLylKoe;vP26wN(k(p)$Jb(C8Qx_8lfj!grBW)~3K3Sjcp7NK*w9KF?#VFAR=zOx~Z zFm4iv4ZtsFpV?({wN~zA{=s-ZWfr!rEZZ$C!6<)E5`Gz+4HO);#zNE)%uOx4fh@jX zhbu2oWf`Lc*^=K7uZE>EIdNKT^qJZR6WI!eG<`!I#M~4RgB&cI=x87yA#5N!p!nP% zX@0>-k2CwuYWBBULH zwZTJ-?usPx6wL;8a2A`Ow6`ZWZtNmbMXENy{JB4mX+5p+b*aAWFSB*eJz5b|ZoGFx z`O8eA`h>Ei#)egT#RXTdWhFLAf1=^mx>6j{<$wgMBpEZ^oojbS>^h(?$Do(>6?x;8 z9qFZK_1?rP^9sw~GRy&Xt9U^^r@6Rv2@?+^D(o`WZzWx8n4J9heJ#wVBqC#rGj)E| zvD4KRngZ=p&!v_-`PPGT!joV2Hc05tT0u5*(13Ow3M3KPY7VgBiRp(Bs5G&ljVx~1 z=~!lEimL@oZq9n2&3vBf#KU$EZ5yJac(NRytN(Yju(FDxut?3v`JMNG5_E7Y(0e!$z zwX^1JY9w)>0&jw4mFd^;MBf=|8G7y0`*e)b5?cYKb6}F>#&ts{w4a@WtgEs7QiSm8 zo+kf1QQDW}6uAyDc3;jmzK}WAG72FK$tDtsq-t~34)+bi$vUX2H7OGz*4CYQP#^+@ zT4$tO0;1+2P2Q-d@NOI-Jkk4ZO<}hsG_&{5kaNy(SYjOpA|+u;duiHuz5(I(8Ybdc zj$;#U2+%0kztdu!g_8&=q?RS&#Mcxm79&_rXp6#23!@(iUJddkk+cj+Lu^zCG3k|P zIG;Uetb`7ag;&D)TJ1sOl@NI{Mt9&Y88815c0%VS)v3r%x-8zuZlK2! zp|bOn=n@-QWgv`Y;i-Pei@28|7-AN5-PsLlZUs>VH6Fr%!Bdjy$C@U2?%DuUlP^5O z>A+4c{qiqFVJ~H}ri0$1gC57G4@K`EqbiNIcx;#%qV$z6XM2dVgNT}$z2X;t-yU3= z%>U+U+_%5!5XgONx1Y|88n-nlQIua6G7!zOg?WZAp}xVkRuEEur`@IEo5-ves)e4h z{dijNcrd?nm>bJMI6k${9nbK~{2N&jhAUvYMxwSrEHE)JsLI~|T}pwBg8Oc?rOWKD z@v2u13|Bm2QCHN{&C~Alw!>hnk}!JhFQ3@0@<;TYxL-bFSxa`js;8YFD2ThJH>yg; zudJ;l@5#%=LP|rhG+L9GOVL$-*A#fTn(WbjzEgjsAm_+*p8$ zY>kftS57gBzbQF-E0~Ok+B4{eUd`7KpEzJnRQ8MQ)hPlzTYd*ujek_*F-Qv z9yF1M90+O2;WUx?sT8q&kU0=PB49(VjE8M~o9Dji^B|(!R%S@VY`AO_O_yD$#JNoZ zxEtk4P4=a&>*MsGu@xn#`0GWgN&QMPE!;yt^dlkgP0^Q<3sdT>qY(7Z=h9q?)g1^e zgFAeFl~3Q)6Xs28^=T}GB>P^mtQV>LUv5YKjj;Mx<^VnC30=u^zn_4W7Ss8vdw7M3 zVUbR^vPB`&s(`u52n@hqKJYY?Ph+w;sdMtac zCOSzb5wV!tg~K9fhRCsc^GEff-ABWf*i8ZbR0j`BjCU`-UZK87t~pYYGO|reF`VWs zjO7xC$R1rj3?z{az_9=_bev+Bt!}j)K#jQD{b3(m`o7!!{`t|1eB2)(kmC@`6fR*-y^p5g zw(fZinQC(eHIuJLN|joBYb~d-i{YVD@OwnF4dlFYVN&-YT7X(3=kF({WN-ra_bvKD z%uvs!?Rbf3iH)BwrP9uc_hFZ% z={C$bNa`!|%WCXlmf&L!D;KF?&5+GRA@j6~Nps{AJGUaM<2b8mjYEUVBQ1ROj{)8h ziw16xPx?9T-@DD!)LeUlN|Sx!R6oA-iCFYB5OW1|7jvb)vbRTS1{IyDqoR4{b^qO^ z!Fde0e0TIHj~d?M=50#fsE9K_2ph-(*1ml*%!$+3T*^A=_p#HEJ{$niWk!sBtB068 zq>;^KhureCHrS#iz9!fsFGu;){1i+p&AZj`byzfuSB)D zU#c@VMUv!Km>8WKNP#zeCKmS=PKJjAV;{WTE1TezwO+7vU^Kk- zppgZ+aawa#kQ9W@MI|e|>wskN<%zWQR$}AD zu$YNuK1Va)9v|m)dOJyw zsOPllK+|e;qrr)kA}Gea%jrawcAKq(te473$&t%8{_6`N`<4-ifDVB%ToBO@zbSHl zv888}e+pW&GCt4~esD&m`4e7Q5AR0-yGDUZ1g>Kqx707Mmf%}1*ThJ$6N{~f* zfZUgEd?rxDZx!a2Y+_b_P`vVjE!0wRNmznJ?wa(J>T|VdMsLh?(exO8pf5KSek%OY z{NwN=EO@oo0tXa0Ep+2|OKES%aK`L}81c&3tKBB=0;2RQn@t0bc)gky80$mdN|r+Ff1Eh)El5vy zn8MZ(s{Rp&Eapg0`8D_i#dIx2;M(4yb``9e&fC-J863+;mH<9NecrTPKhLe(2e@(r zE&xqcH1yALeMG6uFJAO*zj*PF77FA4#864z+|ro;RYGCeCbe^W;XP}lO#i=(Bv~F| zfqz0YRS^)0k^V2$6p=;ggZ_&bFAAOq`Lq4^C=C9~{30owo0A6R1;W3HD5(ETB0gK~ L^SP4cAMbwvDI(ut