From a1f56b1f8e0a52e4c475f0313c8e3fcfe5fff587 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B7=9D?= Date: Fri, 27 Mar 2026 19:59:22 +0800 Subject: [PATCH] =?UTF-8?q?feat(category):=20=E6=96=B0=E5=A2=9E=E9=9A=8F?= =?UTF-8?q?=E5=BD=A2=E5=93=81=E7=B1=BB=E5=8F=8A=E7=9B=B8=E5=85=B3=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加随形品类到数据库初始化脚本和类别列表 - 补充随形品类的视图类型,增加背面图支持 - 更新依赖,新增bcrypt库支持 - 前端子类型面板增加颜色选择逻辑,适配随形品类 - 类别状态管理中,simple类型也加载颜色数据,支持随形品类需求 - 设计生成页新增随形专属参数“形状描述”与自定义输入 - 提示文本根据随形品类调整,指导用户描述设计需求 - 生成设计时将形状描述拼接至最终prompt,提高表达准确性 - 样式优化,新增参数提示文字样式,增强界面友好度 - 初始化脚本清空历史数据,保证每次导入数据全新一致 --- .DS_Store | Bin 6148 -> 8196 bytes backend/.DS_Store | Bin 6148 -> 6148 bytes backend/app/services/prompt_builder.py | 1 + backend/requirements.txt | 1 + backend/uploads/designs/26.png | Bin 0 -> 53854 bytes frontend/src/components/SubTypePanel.vue | 16 +- frontend/src/stores/category.ts | 5 +- frontend/src/views/GeneratePage.vue | 54 +- init_data.sql | 639 ++++++++++++----------- init_data.sql.zip | Bin 9483 -> 9844 bytes 10 files changed, 406 insertions(+), 310 deletions(-) create mode 100644 backend/uploads/designs/26.png diff --git a/.DS_Store b/.DS_Store index a6c79ee32094855de7a40d6406f771375199cce6..c788fdde0365776328e2420942f4007c8abbf557 100644 GIT binary patch literal 8196 zcmeHM%}*0S6n|4Hv?8*6DPT+*dNCm}V7MAeEox&3gc1UN)$Q)KY}oG9-35eGPhLFv z2bg&Eq%qM87jJU$PcYt1{75{gCw()smHnU`jj1!q%`PP9AzXBj8v6~m96-FRte9ZaS6o?!wM5rPPRpMVU zh)~D=j4zk-u_;if1Mx2(#2=aXHx$B0NBbEr4kRZ~w$cOA191ERsO$%N)1#_53ysGz|n&cg=1Xi?2yDcel)Sg-!#g^Nd|O>Mg&q{+KV z!!liOYU+cckVIGVM0ZareX{pd-|2p3U~p()cwl5?Nu)h zGxEE4EVW`-i*}xR9<8sL8nwmD`?*IxFu;ael#e9) zX7eehS8Qq<>1=LEaMGAICSeX1U=?5A9z2F8@C^3h0N%qF_(^(*LMF&0nIV_SEV)jK z4AU;NU~5W zuw!oPEEM2zlI?{VtoN|8!sMC)xe7K+g!S|5IO3l_43W#51HYBm(I~20eyihC+rMAYBENDe%n6Pfp6o zPlA}u*aoBnCVv-uvY4HNLy#HB0|EhVAmIwKcw^#s=E?jro*-v1FhQIIawWs&c%C`T E00b5y-T(jq diff --git a/backend/.DS_Store b/backend/.DS_Store index ed6cb786110952cfc1d65ea084b6c87d0e5c9f27..9d8468168f45667afcb4e504635ac775bb6b2f22 100644 GIT binary patch literal 6148 zcmeHK%TE(Q82`RfrGUcnQp9K)dNCm(ka#sLwMH9bAe4~etG3&vY}n4MyIWqTdiJDu z6R%!9nQ-AI7yks~QEz(nq~AP9U&zrIGhZ_E`{sMi%rBjt4gg@bQC$GA03bz8U~-VU zQ$+Yh>yd=E3=^WL!JUfFD>M@2j2H$C1OGY$;_UW883G9Me#iOEl4tIh6uAi<<<}Mp z4zCB&hRkc_*Lg0d&wuLW*VPZxhaZ>Pz11_k!B$(<#E~dI4jwRSF_dU^A#kV@icyu; z8&jL3@qX8;-&1D$sx8WN;W;#@lF;hZ7-dJ49m5{Po%uM^mETX90r)g~ndXhUqFS!S9s*b9%mbmqb!?4V1Zg&5PU#__RGRyKf=JlfIaHdv1BFoZnC3Ho}%;FEClO$u`KT&Qd#e$4d z=q8#t(KKS_X#1_y*BEE+K*nBCo&mbGW?=~)z&dQh0lb1Y@D2{)7(T;y_=){!;SA2= zO}vGRcn|aV5FOk?4?|TTL6@48YZ^6RL`v5WqvKepxUPuy<8d6n_;y_#kDjR3G5K>; z$8kAzww*%Ae9mg*JlTbcYwNWmHPmJ^s$sw|U>Fb#i0?yMqph*2P<}e7lTQG`B$=g< zF8}-!riFpf*4R`?77|pcgen#F69e_z0aZHrZ5`iKsL}!D%v49ujQWLwa(1$(WjLU% z(Da4@!$2nkeQIcl`~S|L-~XLSW@H#J4E$FNU@}+8Wob+LZtdBexNFnYo>3Db;+hI& m3U&HAmWsHFr>IFGUs@=Hw#KGHvXGcR0+I&P83z6;1HS>oXbMIE delta 90 zcmZoMXfc=|#>B)qu~2NHo}wrR0|Nsi1A_pAVQ_MOZUK-7YHAiaxdPyqocp%(=y(gM;#SFzA}Kmq9r(gFl2AwWV= z1f)yvgd!z`-aFqN-~G+(zxSM(b7szFqH&Orm3yuGx_<3iVUM*RT%ls4fc98Z4EAI>Bf1ugU3X`8d{PTnYJbk)MK@FbjpItO2fA{9S zdh*fTVm-qIo?f=lej|VP(Yu%Dz|#|n|9$EIKbPqx^_TpS_JY~${HV5-i;#L=S}`0Y z#O>Vmvsqa&cJw9J#MUq!@!q-H(<>Ov^ls6GcU(Ice<-daBEQsx=Jt4{3khqZ4+ki{ z6X6vPU)N)|rCSYK3RfuVN7uEFl+L^qYMT4TBIc=;;a7`vmo-frXA4$XC0wrE^ScW# zkHG1M*;$II96CA&Id3a5yH`5LK5oZy8e0v~!6=ASlk*qBHQdf;_LZG$`%>l|7=@LC zec{qAZNFnea{ISU^c+G9f_ctr@zMRREqGUw)2(a- zWG&%oI4wlPJYC})9K<>cJY$0ot}L^vsz|}SD+)tW4b-9Yay=bD%*9<8VL;pxQRgj|Bd>O@Uf}e2u{Mc;tZ_BSgg(BkIMgn>RiyBwTAJrH?iwq#W zN+jl|JmB`tW{4S?KfVT8D|-ocF>~Io-Qk4yLw!tR7^XTwFkLp7HX>Az)LI-oq`1)# zi6(uiSsUuDB5`faxe(n(qh7*!9^afHB2M?^>C`t&g6_(A_fciuI`K>wXWF`sKY2Pg z*L<9NFqvfTMR6|(tl^C(6nI=~!C2kFD2)b!>+1cCqo9wWXLa|$@>szV?{jsn6sFm# z!l4NV4W~f?D1Fz!9xD?gOY0fb!N&JPi>Ao02<2NU6(iDPFYrkLQiq1E?c+%o{#`Uh zA=9}6mD*USm)OVg_-QT(!P~L~pMNQoiLNTO`P_o6k-|(7E^{J2w1{TE z;fwC%^mI(dhxjN)4JwlS^~IPpRG9avCaLN#GC@)sm%Gm6rPCuSH+oefub^2Jp+Tr1i#916^_Wo0|Cw_XJ2MWM?Rsb zkB6Flr8(`5y4&_C^TH))=?Fou9-4Wgcs=%UVLNHDZalgX4q2rEWw+9iYW9<-p7{N5 z=A6xDq{tg!X5zqRRna`#(Bctb$>5@5%5)9sv;!taa zUauz498z@-5tW%Aj{4d!QQYPz^!&L2&$TjRTUB}qEPvz3*pBKg4H*0iV^WR7Myr9_ zL*CxV5(Wfa1kc%5%)GJ8d(^0}R1g(KP&VDD;=N`|)iMjOgzfq?Fm%mz1<#sgY_U_2 zP7)i`l8MPDdsuEYw(=dBEptSNd}UdM?51B*s9dzdg_MY0*vGS~lhRs7J&Qvhs^-uN z??-R8SbzB{z4J_zBa*3Va#`mB9>WP88KWcf6^8E45zCwx z%3U5X4(_@2>Xo3|2G+rH(L%*9GNvgZ_3`A*G_PklTf6?WSX_-i{EXO|Qiik|QcB(7 z5e+?e({QVM6M=w zSSQ*>@U&#!pyFr_JU&&{*At{u@0p5`wiu+W{TG$jl(_BE53YMn^HTVzd5im4Q=AxE zcy?TPiJvgH2lc(?J0F~53%w(FsFk`H9&j|DJHF6$Dy3?IP}PLURV{#yMSCb)Yrtu)LrRU+&|bR_Izdl%Q!L}v5IgeqS<|= z%uGnniTNu1QDDbPYgx`<#3#Iw{?TnFEkObI(w*audSgsd8eWWCGK}V)mU|_q;BoWZ z%Qo`4FnWJuO};_?HUHSb*VEL*S>Ka(X&2Zf6+4QF2YV?rYm$?~Wv7b>6}b`glUEL$&o>KO?0sccs%_!OVLGNE{nf z!F;Wg#U}Do3HsMwOsA*TptQ}a*c?V8smARLA|%0=ODSSU!Gg5{cWH{OKA4$nT4;UUK)4?4Ycmx zbC5e(Akc6LJFFDq@;WK%8Q+4Rv|K}+y%}WAQrVm2E3tAp8MjC>D^OFX<<+J21t;j0 zB+Ak~RoCIA+{(9sJ9Y_ff4UHRSU(a4LAPonHe`O_A z)Hb1~63U9s6{Eydg6&I72YDY=i>IkIxI;%wX!@j$m>d%{zG98M!$M~&(O=>mKb(O) zyBGNMWkHw4)YiatyR2DaRQChPbhYu>EEXBBY zrlq8BDWQz4%9JmKC@82Wl|ec2UTu4twWcZ@hurBm7EYC$mrm-unIT5oJ+X5_b9&baZ&qLnC{%9Ca z$54Yw&*?Pvz&(51vskd2BRbs*Sz7^>3|S{%uOZd{`o*RI(z6Es|nUgz`{+t8)7T)yF*ie0`8F?wCW*a-slJf0+6 z=5twwPPd*p*|#QDzV=qh9N{8utaJRk6|bcJBxe+==E&O-p;(TCJJO$fnZZq7)aXV* z!g1r%COy5yO%<)Pffwv?9}&vmlxkFAN?nA#Z&;5!6D6&D5uI$(RB^G~ZFqn{JN(2K5_S1cAo5oLs zkFiyO65eeYr0h!@O545F#{1~n8S|&$+Fa!x792nEyi=h8>n6*x}`;iJlX2U>NnZMi70Qo1V;I$um;LB zbq&l_WSj&^c@SRV(!i$N-1?{30D63+!|>(K8vtY$aKn~(T4u;mA)rwB+(PfRsF;H# zZPIwxd(dlo(>b@e@F%XOgPzbuT)%tzK{iM8_PFC}&9L2{sQ9D~aAvE661uNj^jZZ; z=A+o?`mu)F6AnT>L)ISD6h<%gzD_sr7iian?z1>>-Z@B&|i*;BvUFwE@eio@?T!o!d<#3uYqLk%@ zzzbrvNlIq>=VJ!FjvFSXxwHm{fBYQzK!{;^JAS1Fd9aRnP+@pvU->*5`Dg9RubQIc zlIF7e)hMU@>dlDn)5P%5PfZeOO2ImiNxdg$sVCDIhGQC`msGF8)aAxDV&>)2RmS$Z zhSp-ZXH=3zPQxX4PPlDW>l!Q|G`kditTxH$=hY?087S1%+z$APTu|(9%V!(SZy!OQ zlbn`n2dwA#_#Bt=x~0dBy*NiA@OyUCo%SJo(Kd}g!rDV)8(eVv?sYe=9bq3d4ecyW zO#kt_N$KmPtUPEof8S`Q;vU$(!3uRH3nUhYjRC*TBh{Vg^w9Qep35B0GMpAlv2>PU zq2RhWawcCK9swy7Gwv0Vy#~uZb-tc+y^7~kUYtqDah&Ozi&9RZ8NDnOZ#sMQ@t-eM zI8jcm!cG^4SZtGrbv4!AUG5mWsQxF0xPZf6ik7%jz7(`1;b3C=r{5C4>ADiZt0)_j zn;z;KDDh1SQ*x`eiDi^K;# z)%os-UC#&HFNGk0HEG`rz1w_8f9b~4%U0Xw2$y9S{#jT~*+YKsEqH!!tg`G#+`6Y% z7Pc0HLbhS{my?Xz?$=PNGa&*Mo+z<=;x1<%HeFvWT((Uxqtmsu@LlbYdEb^G-!nll zhFjg<59rSO>P8zGeLJ1;Y;9>R=qzTs%bot~9FZmKd>%<+wh^8)S+_xX_{ku-m6Znd zx&kgS6(jPdPVM||XH$pw32&RJJZ$`3R@^jlz!sroKTo*)E=0GW0UCN&A!)*LykjXt z-%tEv^b9(9$V{UxJXr$Q%ND_dOs`wl&FDSuZE9bC2(4tF*nPk2LqlI8D|4T-w~(`r}L`z~aSqDFagDbKk}e zJZ~sA#NUNq)&GnpRd??7s=Nie;wo514c?aN1}lsCh|WY`r`DUn=5nF>8 z5Gx3WFZT8`ZkqbDmqr-z&g7TmdR%xl2Hn1jEdu)otnIH>>FBJS&XMW?6sBsqzp7~I zn98duGR~sW*GVZ5tH{)3v>G7e;9;tB_@y*)ryyL=OxySx4P^BO!1!`+$(!b^Zk`L; zJcZDCo8Ro~mqUx(qN>MGb*9x|`P5$Vg7FvgW#4mySt2-plACht!Ny#tX_jMv08G~b zV6WvOf(f;==>F>yN~j~rg}>y7|2;DdcECniUw&`N_YrRtfFEUKJbF{8z)ho+-;6h< zVcKoDtzZnkJ(N}v0Ucf%t4&DUjIjmi+qxH###~l-^Vjx&w#K0mG1thGUenMfNd6OP7l`syo#>N z{@RBnWN;*-YEFXu5dK#1a;$f6&GPZ^U|VDjhW$)EF92T<2I0u!w>!}07&DhrblE}0 zV(QG)ldbo`!LvZOil1OC$1-dn&f8mxNFM*ef6x|;eJo6;nXMn5<5=BkY^Y%!NlZoy znkwW2sVL-$6yi;fSKz^HPwUbE&>?PG3oxiqL-6|GGJrtvyo6Iy8&b-|dZyNFxx>PX zS0?(6bwQaKU=@K_1vW*;Qo{7P^iY`YuiJTF`(m5Rh#w_3{e~SA$7eg~5e6{9*ps=_ z+bThLRP7NEYu=oyVVUAjyjT3t1-;WVquY!8^42ATKuS)(Q4TFg6du+7b>jMn`A%`CYl|UqfbTfxrv?ORPwuZ` z$aL<^srSlW9r0?(;3U34C_a-CO&fn+vpc&+TFo`GlVK?Nvv%xivn2RF&JZYPtd| zBeS}8dZw;Y#Edt6{$%e|X-4kgsE*Ku$H~+wAHT?Vs?5&LwbaKLD5dpg*K0d0?!V@V zz^YvL^j(_Y{|4|nSy%T6jdLS?I58sVtggNTD_kb5^Uj#XD&j2z_BL^M0NGyS-}(3h znsniNUNh-Mr3)Z#{ztf202qC4vj^;v*qKszE*{O51|Q7ot#(u-toT7C4E4p+h$B-M z4F!|t_GBe8pV8^0s{fIrKWj;g9ERF*5llwegB3vkFVZ=PMMEYofZqCq&2kbEFqEP# zAoE@t5t2?S5*hdMPAvLZAl`IF@t+8|cf6v;^9<$D%2gUtvgNq3D$Ed`6EPi8 zXddhQ zwNboQJ2(!XPgi|kaaH!3^!`!q*NX8-R9p#^Um{$Vsi@Pfeob^nEevv-{GjH-{$&O06n1yhPx+i%kQiF*6H$CZ+HfeoO1dFBXD!dkHaigPy-W`C{-2 zSla;yASk`)VWbmzRJdHYeElqRkaOpwuTJ81iplvifFuWg5lp^8^=OclI|1>gm8DMn zom-@ox8Naes%4(K#4Qt58?YCI<&S`=j6b~gHYH;#MkQ&~gaDB3?zn50@V|nvI5ius zgXjA)uRA4h{i2dhdg_giAHp6EZa-6!4yf~Y^4k3wKj-W8=##aNWTjG#I_xUeLh)FZ z6%r)+cPVIs1CL*$IfgEYXt|s{zVN!<$I9vXvP-*CS8l!n9jp3X+C382j;NLkDDP26 zw`MkmMi1DWQiM8C(#h`2PrD)zH<|ecQxu%)Is{i;4ZIM}#VsjfW!GtpiC;7MQT&%O zdD1H$8aDyP|0~M`I^bVcla1@UyAN6OAj2p7Ys#UAGG~Cazy9!bC=i|jzTA;DvgKtE z@bj>m-#KXlA~*oqs;A$9&Y3jWhS7@ezrr}%Z)<;5R9-0_{Yvq=jn3Q{XLIq%4kc9M zryk+BjapsQtD|>4Xiw%0ptc@YPgZ1OUPQM?p*y3{Y{j+(TffquuPr}V3pv-wSTfmauR?pM7swi71C%T79S0IT6+fcgW_Cy ztM)#uQ^J4#vB!i!9RRBn?91MR?D=i8?qmCnpM$x--Kydojw$Lu01miY%Q5HMn_gDn zls{rQp5|Awr(47)$q_Fp%DBbFq4SVg6^DtxFGpyS-m59D=+6iiEjITW^Zf z=BOIm)`Wv3le|`)xhVj($*8updrm7T60Sep!w)EjN^yC40^qlcO0{7nYJ6!UWxNK! ze*WcKP~B}dzHnvlE{R$Zkl-96afii1u=BSD7G3Rg$pCK=naKZ7LD=9@g4Y@~= zMQIU*j|8QDOCyU5_CzB4jjo4iy=6l>DKSfB>YJE#QXhdOTA$zR3=?ni^q#)Ew-)3% zJ$#qv8h0kSUW{woOsPQdG;7%FldaRf>7mgv`Lx}jXC0@gswzcZY>N2X?5l)|nQsm- z@eQ0?k8IEkbLerz8W-}xY9i{_QyT@B4{09NmFhN3|NKWbu~`=g+L5_HChM=OD#M_O z6a-axU==Zt@}yg-@_JTjeK;xNS=DE z{t{ShjSj41e7pHxWDqKlHAem-EbP~;yjQ(-WR!Bc@n4cQi`JotFAgU;6ZZJ+h|8w8y%*UH{(|s$6VS?~ty?OjhlR zlZdaF<+u6Rv)v`(R}o`xfs*Wb@G?7p1OU?Gl<(n-rR-e0NpLtLWJ2o`^ep59XiLCB zQ8U5st6SM=f2%6c{`jVai#a1udSDDbDn1kt;I1d5dToqR+omHScf(T=s@S%KRbl7v zncOSgHIO)79DUAP#A7W0m8cMFcM9IUk*3#*M~|IIW;QGq`o7uC0#(L(3I@Piht9!U z>QNFcWP*+?1ShPw-S*#1_#whd2li%iP?cx8;{6>P>JOxosF%R%Jr0>jonHc^@4D#W z!pv}g)p8VXu#LZ#6CyB&Y0w>Dq9OB*7Q?Dq%;HZo$(qT+46?4lN!Q5T@=VDVVUtT7Xj}P;_lxr_@@e)bh1~B@OO>&#=f~ zx3I7pvP>HVRR;ZhV?fHcV6inuVkR>Quf{Sy(Ur|F`PdezB~Npihh$B zN!RQFTpV!J@`uXvw6HI$hW<7WI+lKEJmD)ZtH733G;iXuosvkbe#OUXE{|w@8|oM}z1}o4~!4h(1 zys@vV(TPUYovG-&dN&J&e23%-kD7j#OJz7`U?rA3wD$Ls<%k3rb1ld~tKe5~(#la@ zVt0#E%MUeX%h)+B0#^fl?b?27;8tWl7IhH5_%3`yaMxGiLntrSXcve}o%$6wnADHf z5XI4hSFapg1tcXrqs=qtd3Db7NA^v(Ln1?2S_}pJc@=wyfs;n3IU6Y9KG*-Eo>{Q? z1^cKeqIkt{Ai<`OYO)5nHGq*nkx&x6{P+3)E4i8WkJo`7S0QA^o6jq6@kHt?sgS?-;4F$581mbyedgx8t0-n$_UG6{KId*%)B7wE2)eBea^%|cl zWvpsDS_sb}Ud1j02K(Ag{`4dvG~0Tr@>wiQ{a>C~GR~Jv2bN&8Tsi|xbrPX*mIKScvk`t+?3Xru<(Df=y6LMuMjC^9a zKw3tk_`2w5h?UjpWS8qNCUsh0%SriY|Ml%>^~?urDui-H7g!|m(O?oPFFA*~IuUqK zUCfb#UA1hAB?u6@Sz*4Hd-{m4AkUisY>?8>OrG$}f2CimHT@pTI3Xq_4+QPY(u9Sw z-ZKWCevVT$$`O?*Akg@ZY>sgOA4jO5sQ3#8YYCz`{1>5J?i|hTk#yp7gv-@JsmZAP zaKVfCvZbi_)v4pWj;Hd;SN_PonmI?$3$%OCu=%X>=@soTEuguS8_!AxeVb;+niYC$ zhDAmFvJJQscQ)zk^zwDrQGi!NpjW_$2I>NU3c#329J&ChjQb0#5}Q?FW^E_g#3-|j z%R?MY&}lgh-uUk3GGLt$h`_M#lo#TN6nu_BXQQ^*J7S6sWY55)JnIT-rFUPm62ERt zr-T9H^sr1dOS195k=WHpK(lfg!uhFR-&i}-wayV-ewox^MhgT6unswk$ta=%ZsCFm z#bhAxklh;Pm7`(8+Z!n@hjnSG+lOj9}$uoHsH7IHxbJQ>v+w!l=T4 z2d~xxmxv8o&kZwx2F^2wT=gl5-(UqBOtZzscVG53K;sco{N?A{ET#h1+MIH$nIZM= zf3H2HN|UEWMQd7!mPb|rgG#5>>1R;!(Cy9@o`ZujMmcdrPrX@RZFpa9Fw$nK51^FN zx@&4vo4~I=Vgkt4BTER@C;qz+=w~4K=FnbpWEKMOm!=4A!#Ld=4bbnwD8#RcpCnewB zaIix-Wr$ZOU@?H$;rqwn_DbSLHv)l|X00WSEAZ@QxSSg`Ycf9xZH!uGN^)j3Yd=&$f5V`3OBAWsWd0myB$IlWjK4faKSov*`7HR-*3mSZ=IUB!{oO9$q{*yb541!Na)8e;ho8$(D z*8;w~0W&(^yDSMPUokf|oz3xA6TYvM2W`z`HC7>zJLmuYdNUqqPYh!*5CEIg+ub>Q zj=v-spfc&`x;Cv&x-K-EiE5((3CC

!KuRTPtykTR5bW?QgN0*;lm@ZobHY$^-y<%yhV@P^fO_ z8=vI$1j*2NjU0~xPfKH8k1Xw<=Ri+2Pa0P07nr*`YEq~N4{SX6(HRrW!G#|Lfu84c z{S=eeK{OW}s?(69fZ&4Sr#<)EbefoL8BYtRSvjiJX8P`DS|4N;pJdZNhj+IY6b>gU zxMv%Dk+|Y(E0fplm0%JQ%)5Su5RA*hw<@nYKLsckn&3bsc9JBBfaC-m3cH`)j27tN|S zUK}@Aa%=K35a+FQa_EU0f>^X9uGepK=5_?!F0x2$>352BHn8qso+Z>1y#kH=5y>up zx(iDPn`xQrUmg-$^;LByIbSg@>(4?c23E)8vuI zdK&un7Is$lTK$opYOv7)e|u_Ud*cuTm1<8D)dr_29R7wJw_4waFgYP z_Fw*MBPH zPM^g}`&nT!o9lD~X}hEl6(0~w04-{6LrxUO4RMW6jc+&LjEJXku zHC;|f;o6-&N~SrWu?&{&@H8BM+&!dw57r;W2%?bwqlY>{Dt;gukP0`E_q6Cz>@cF@ zwxHAXx~I0YKALeAID*d#%n5!?`>G6sPqIH~C?#KmSzZHjy>I&bxlUuPrrFWiTQd&W zhK68gZ%u{#1%+M%Ex18SgP>X0h8EBrIKav6FPA7&gJDGCVPEq{MvitiwsPVOg-~s1 z<)xOB>`s=VcIVERVu>`kK_bX>ibwl9DbWOb9Rs;{>UaV8zODg%i9Tg2(KBaX4N3(b z5zRqvt*l+wTHKSjsENC!CN0p0smpApM4o{31YwtfiFajzM>A&T8F_mlaTGvEn;E7T zgFh>q=V+kuUwn+Cm=q)fu-603-XMjC`#~&Pf3x$WxHiL3Pq1rqe9+9ypRKgn)Em1q z-)zYJg@q1WwpS)dfA%vpJWZW9#=9<9o!(*?x>R#yw=r^|Mn2@xyKvL46+1VOj=^4s za=%c2&A;*b2CdH?SB|8G{i8vU$Af3xZO}0S^lkorK^Wl`J!L|iA*;>ndcNs=aQq4n zE+HW=oyptnip?YSf(bSq4p5_^1&eJlI`1s}f7i&=F|56v?tTW?6)GnOj(M~E^sMeTdEs;o zBPX4Z1{cNsH*wkYyvy2IU;7`No|vkjZg#mFSk88imZGcZ?`c6ED}d@=@NT9Oh?4Cy zuV4ly^ZA9Ff23x7Yk}L5S?%m==P{}MzT;{38DO@bsCI!K-T8eEuNie#*Ma2ZKvGQY zw235E>uO3lO-Ie}m)V8k)^Zo7OP&dIENK_uey|S5m^zo@ehiPn-!m>io>2XrRuIL} zkljq9R@U8nWD@oAF1WbC*Z`eZ#V{1^D zy|-kS3s5dGoRTlWE; zCjn9uj>?e+X_BLwX(Za_b3W*42M#jd82k?2mw>48?zm&{7FV(FtHfujalFHVCWWPq zH_ev8U!zM*AW>rWl^!vLcDubdi@_s~fevtXDtE6^p{|iSKvO4h?jeZl7XGNJ{npzD zCwY!`ZK{Lz`yRC4cxmrGDepffSL4?~R~#=oo?v$wmj8Us$z!y@!|d$@T+dM{;SuaZ zn6U(>7ONQj`ZYQc?Lsl_!uj%fxs}A=%{7DT{F#~6OMu9U)g?tfpa;3Pd%L)3D^#kM(nti-cL(N_fx(0N!315 z*XDr>G~th&XepQeHF%s_Vzc{-&Sl6d2RSbiF^3*G7!XvYhv`n9BU@xMp))6IbzBUw z&*<8OJ4?f5OWQ!5-fGK^{+<*4>L#=YR4_n3HB9vxxA#O?Y+j}P+bD=@)w!<9Av&7Y zb)L^kcxU`}YUHT#Sl9#o@j=r_u|U$RBHQ3+DhHEBgJpwnfK%QknIcq{QlxwZRM-dt z$are?jw1rv8#F~Ci?j7xf9#Eb$2vn|j!Yyo5blBKtbIs?Opb#UhS)##8SV@~(>a{g zr48jVDQ67T`R|^gY2XNMD0KjIESBP4b=x3kku*I##&&{@h7Ndv2LqH~BE-d2(SOS| z$T>a~#a=^}>d}RQ$tcG-;SD7KrqRUkOsXF`1;szUFDyELpHhY(xxfYYGRgUB#FHio z@BcJ)aK>KP|s1Q!buy;MS}@n1pu~O3w>{@6rFb z1jlM_HTHZ3#SMKwYB;D@g(<};;QHnJ3Um7N6E&5(t}tpD!3+k?O$N=?VIYbb`5=z# zWIhErgv}yaAk_qjpNt=E@$;>N=rd3V{yiwZlRsD^@CEFGU`Rw-E9NZ&@#FM{TxkRw zhY!dU71`D~$Ai%fjjFbdEjz)abfiojj+LXbSHR>&aIF^&cFFa;Y+}HDFxD_IaXtd> zx>(4Y8OFt|7v?$txU9|N$7Wy)GMpKytF)xl?Ea(MNxEnqKhkGn1`^UBb99^RFO+FE z^%71tH_Orv0Tz!?xkIL4=`I}Agyr>Wy9Y+VVO|PfvW<2xNYqbsNi(E@IZMwkSXZ2r^MI4-+^ZDazN0W zXOuGyU}W>rja-6Ii(vCf4`K+QP^Dc9Nt)Gvs9k zHF-BGwm>IN$VHde=<; z=>Y*~%G$@a<4*~IIqh5%aRgZv?IXG3uYCsts5!KskJ?GMbkjuM13(Bq5UbT|z);OO z@JmI*(PdTL@%_UhppML|V#}76U9NI#+||m$eoUxFcSRL~vACP_Tnj!L z9h64|o)A_uYCwQwmR!5vhCcWJJSQM*dl*@CMGfF*^F{j>#|%A;0%L3F!uXlgBX6fi zEj5G7?EQ*Y%Ye0hc+*LkQkQz^9T=sLLX-!Im9zHwImJY-cGto*GH z=rWM$0cNAE|cg0?&Sji<}AW~QU};Qn7b7iP zijIYGiehpROp8H0fYkbcvm@`h*P5&SJ%24CpG4D!_BZjS*R_jkG@tl-|D#pxjfVWav+OyndJzor!ZP$^j;|AMkWz|L&Z{%nis( zke7#a{zunn1fl0(nMuzK*K*W#QRN-FFOB|LN{*9{Y!PYUXeKkuFM>T3qkc(RqO1;zx2-Wb#F z$-Z-uP|t)kEx7sEr4bLh!x3=qOnl0ybI~49eR(2~ppZ#^bf8({U=e%KRC87rC}s`c z`2hg8;I-6(mxHJabdkkb!9_>=ntUijY}T4&*zl+HU^vr%0w3rcP|+ei^}>Nh1w?`f z?7BhqYM}T>kAKBwHXV~f!30y+zi7Rdt1}RrV8GMVLbKReK~jy zS(W2M?!1|idocAPKRL%fM;=Vz1;paWqbf0MrVt|<&=peCauzjAc{AgOMYQ_OIdl8} zX=754`#FQTEWu)v|KTasi)%-)m2!SHnV% z3<0O!G?VBj#=LK_>NIAl7ie8wZH`<2c^A3mREc#Zc(jz86Y-Yp-umf$>V) z-TE*778or{!u?yNT$)Y#8m7`4482J?%~z$0CaPB(3Zc=|wU#bK0jWt`mlnXXNaYwBXVyl{wqYKn9@jEvv7AH{$FePbuc8=bSHeKcX-1d_ie&QB2jr^xfIQ$_1?V=@-K z%i1Zqt^Gr~X07yj(1>c+z&O4(Hd_MtG>yl{Do5kCyX3L#Ne$o8!%<4`FLPf|O~BXx z`|-|tR;`oDZ*o=Xk-3|-1^FW@13`jGc1t3=ph5hHj8G>==7M(jW3IefIeLXu)XWYd zDIn_t5-i{m7m%dF1j0?ZbzJ{UC*w#UsF36}3@XEMT@6p>mkZ<+AMES%1FqBcOLT+M zV`Bq@$ahYQ)wN}{xq>6pKM#(@-j6eOrk-DS*y#7shw-#b+Xs6k&Q$h@amL(C%$4y& zV5skY555xp;KQa(0b{={5E|_lfZxLpW-ZMFGkKb_TEIl-m#muz%2T`Fb#%sQ<9=<| z6+7p?0R~a>uHwi-nY{%nexIY6ot&tCHGl4vH~>+B6;9{9@1im$G19F+pp?0v(P14)d8vo}R6`&X zpW~Q`YzpogGv8s*oqwY58xMw@9OSfNOetf=HwKwXFw=ZcP$0n&ZC=M(NIG8~yL#?N zkk&7|@`Iwj@jLkd%I2w+dE=g~|Maxwmv~)TR*|SJ5OrPp>h4n=7Mn-*b{oGr$9MV`W9>i)7I2UC84ZnN0MTYSj%H2|h36j%1T&en1?7}g4+z@) z5&<3=w=Vrzb+Qg64^yMXzIWWXRn*a_aUIWHpyaXdSGYxYJYAAJRbwd-|ehi+r{pUI;kz;;iq^J5=K`o;jw3+R<{ zL4fcbu~X>Mj}TI~fv7xYIWE$d4dR0{I`bY^fgMK^Whz(_^!d1<4o2&mKJin%{n5p~sx@*B&if$5LFs+=Nr ze`dh|NvZ|&D$MEel7(I5V_D(`nS!*Cj=#79ypKCz%>Z2g$0lI0fqf-KvNmX4N@e0-(p^j0W;{3EkMUahl~^*Bl(w8p8&J%ph$>AOK{26_kt%qtvLvNa`t zY$98j@@>9_g?=p8;Elvw`|c^T^GsVG1N2|8Nvh{isc$u=p7dck9ahk7hoKyFQA)|% zh_iWax7)-OOX)|b6NhS6Pi7m#T&S*`Nz-3v1TDoPdE}S;CzIL)FodWB14(HG(u0aVEznJo9y6%1zkPe&b~pFak_i>NH*tUd^cYiNLYf1dgqt9U#bDFp4of_ zD<9Ei>-L*6xfrKP-qmes_$C*ecF2VKBmFn@JAjIbALcxy;nd4-)pYrbML{J4840}> zz}Y!-lGx2=04E-N4RlS^+Y4R;Q9(=f_2=bGvG z)|gUKLwRX-prvq$oKxVQEA20b;(jFUGu}RaA(;Z zi$PxXKWdh@axTh8&&Wrsr1J1UEqYJag41ccn}gj)ji)=v^SfxtG$J{F|GXN#7@o=G z`(x$xS?{|kZ9z7UFM_d?4(7kP2D}X6t5ciGHO3ch%9U#VX|dMy37nhU*t!X>a2f1Q zpS^6lUloYk1Gzao>oQiUM!@XnJ8wzSdy4ubax|SmB4!v&RA$E!x8J6L$T#6Q;MXr& z@<3ys@>ue7L|?)+je@CX!qEc;E>EqCJiaA`D#fo{sH^3S;faEqm#S5-yA!}v<*g== zr2>&tS*Ae1f~d5vvaJNjRAQDAi}ZGWY0%l533Rcxl_4eDtkbjvV>$g59>732FAUjw z(HQu|z=7VZ*mXG@ty2Ce3n)wgssFtTLW$cC<2Enk+wD92v;xI1u=XN1xignB${;3W zG1VR^cGJ2gJ0B=CF4|6w0`EH@lTd&J@eHNd0&)T~ly|q{9&j1-Ot^6+z!hU!cnT$8Z^>ru>$m}`TpJB+9;3~{VhJ!H{|}~ zyzsE*+X+=5eSpXC0}bKce-m?vK+pdAA-vQ8PGc z>a%AG-%1mB4*&QDRtlD3hc-?e$L6b zzvrct`I85S&$4RQ2bD;m(nuC31du4AXZ$9{?*0Cx_h8W;2+^;|ks8uk1-YYH5@g2!=6x<>L8lCmsA93x}d9ko#nCdYYjz1+nn6B(P z9j(Ei)80g(iz|B>NprYrqWz#-Df8zQzvp zdStoG_4h1fCE@B=1dj(GZghaHiGpOh=TeKbE)ycCZ+D9(>;Ct4a0dh%7yozS*+^@M z9;1tsEf$Y*4wh|qA6q+KvA2o>(PfX_h%Zaj0P+B$2j;q>=aUtku!i2iB#=!!zD^kh zBHi=($e^%J^PGQH`@wBaK-R~YC)Nk|#TjRIn4DwOZ_%- zO9>hbC?>!YSiHZw9#QT&xV*}_H$d52oB&*kk3l|=Ti3~@OEGmxQHBYG^MS8rZzaZ{ ztJPaV$hp5DPn6x8i__7^jLd1+e1DuYI6N>21{lS6o~=w3BiuLyo_l$@I{EtP4|=9F zC>(too$s-1uLkiR1EyKv>=$KNm_0MDTrIpbvMPufb1+?f+(vFh@H1F z<)3!y{3D=v1Onb1VvMRVj^=eGzR({BKcX9K{S*1zD9}p4*wFN@G(R446omIn9M(Ki zGDEHvI1R&#HCPR-70l8`r_a?^RJ}NujdTBI^I3pN-IE6UCM34Q_7tSydp)CPKxRqd zeR7nm@$yDT%pr(qR>j5}^OVSy)XJ5By6l)DG<&Rb;e){@MwEm)qKcfQ;J`IgcUn1f&NSCb#0e$iSuErqYaZx?p-TZ%H-hO` z_wE9$1_qQfc|tSSa)S?IiA!y#`!7R5@a{0!UtY0v8tuk363PY<1)?EX{6Yub`P;m* zn=b_DvtLS7|xArR$LJ05Emly;(!M!DB&IRqM?zSOv$n$^G zawtR*V7s?(-+_-m)`eTu0u2$M{?MD;UyKJIZ~Ce%(-DW}MRWy72V%N*{}Q|F>O?2v zW-6^tIvQr014$I8_dlbv1?`7G05IUdYL%sUklFi8?Z1sT=dT-nEYbrq0yMcj$?*J3 z>?Ly7W`zrhRLFWW0(grMJrptY1u2K#;Tb|SsL24wk3YZ-u-wynB=+f>rGEv4&KxFCM@EuYQ>O5y@lH|JXf2=Ti(FEeHy{U|MB< z+8)bjN}KbwA12Ie2GeEgI^xfGC9VhVfzSuk3i-lZ!Ng$l!18}(l&EXKe2l&rvxs4p zQ=UAhmY@J{nqH5(8hkrprTUR%7R*0Z;)zSmmF!(si0B#essoi0_Q&m5>KX{VXw@0> zWPbNgYvSpitU&|ETSNzu0I!UEbww56emLfCqD9iU#?78|jl^7uE}qzqr^j1jt8N^! zC!V+Ue}19WrSB}uTv)!i`oJncIVtc@yDi&Xv*CR6RmtCfZ&<@wrci~MmhFkhjdcg( zBtGKPYBc1#e_zgsfmjrB*2pF;ejx|64-y<6a8 zw4=Mg_$B};!0QGfB%DyH%=^ZRmQB%bnj4{EjV<6d46BIN(U;LOza-N=al5nMn*R@T zZ{byC8@2mlpqQkzfOH9>bciS+E!`m9ERb#kkmjYOm1dEPZd9Zj1f)y4yW!0BzI*TQ z`~zp4?O+UK3>mKVtmnD!d0+FoelsEK_7d27lgjE+mX&-qT=DF)V z_9q;uW8OszJT3X)2UchiJx091FrnnS(fCzNz4JN-2e$F0ITt-Oy*59+>2=d zae|^(#uSd6udu6k51LgrYA-|zD~2L-{_4IKjG#?jJ5k5jDsat;4Z5oB>W*FzV^u1R zf_^!0pP12;2e%V0H-GlzqahdU!JgP$aAhL^%_U#s;lGpxSN1WkaRXGl5RWE%>F)nn z%R};A*kWmelBFsdtxHCY+Nc8~-dZ`gZo^?Dq2sxsEu%!Q^A^;~&v)H46qI$RF@d2Y zQtYpqux2|3#eve}?@vV=w}gpc2cIbG#t)Iq`FcQWOV^Iej ze`3TuYcsf6!821sq1g9NZ1turP5wLGU7mDX%#-Zl{u+Q&y(;2ueJ8|-hq#2F~ED6$VI0}sWZiJ-2^BeH*^6d}WK52HqYEfi1b%s^KVnrT+y zPp`0$83v>5twgoIgG$dG>rt#yfXL@xucCLROMyTkXs6UMAmPJm^0K3kRn-+lU}@(G z=(&I0oSv^xg3Ws}!MaI}ciC5>$UnQb-Se_zCg1pSZ7FbD`K`5mhWg&O2Jrbp)-?Jx zcs4~@%@ZB}yh?zB9`Cr5>_7`ekKbXMU=NSu!ttl>@&+>9FY3AGd&%m2SN~hy<{{%n zFcM}bIP9ie+`3SjY=MY`BSrK`eixnIEBF14gXi-T3ZMP`IaL^_bxea%wMxo87f&Ep z`vPJmt8uH3ImFRO5BSOw-27`r2oWr~0tBTI4N!+U0>O zPfg>%FU&X2UDILmy9Txfic2S23P~J=(-&!7`kuR1{SHEfa;S@iehuzLG}lPk1b!14*L6p&Qts7I((1{c|{$7|H5F>7`s*A>Mh zIw_8+`I)0#Z{%$Spp^tiXLsXa^;3ksI&@eb+)i>GtWZ(=?be*q4R$Dd8W#BIeVyL2 zDpS#XW(&;DFXl8JXF5o=-BagJi(Gk&nibed4B)ux;3u`AIa5^y-5tY2aY@3lQ?i7b zRVlsQD1Ef6_n~&8I=*Oq>&4J=l;TqU9F)S?7i-PGN?fPJ-<~i6=L-cvm`B^h;26%-`Qa|^x-68+mc#0~oS3-Q5n4BV> z4C5{zCeVDpnZGaSvY5MmtyZnF;qr4s&DwJej6|6M2U$=uBwVjzxE$(Vzk}gLas2~( zaUBQ7cL7Y{e6$Gr|Fa2YyBGrhTf4ACW(SIs12=|D0!*G48&_KFAE+1?t5lBzQZWM^ zHO4<%PDwUL>T0NY%{5Lcj;{VoSL4na)KVH69kcD5=-@a3zG0&A!9l%v=wi1m=9IXt zWs~sPR{?ubmEUkMfdXQ`kog_yruAoKu?KWNl$HtUW(0+9Le~;j?Dw~fH2S&f+$%GF z9n^kjz+Z-Z{EFW=?+zi{%by!Q&YE5jXW0&zv&@lIxm zI<3B=IxytIJSlzBw3~k{W`w0=N&xOzOxp*7OD{#9#8? z%Imq_9u}y&aI3Qf5qK*FM*IRR`}%ss|8*+URYVB#5cDO_1a?JfG0r^D$KVDKYFxVK z?Tje*@;B|s0Z8Wf=RHj_k*H+RXqP0}h%?XO$CezVxM;+g$@ft#yguy91LRRv(yK0r zB8^BGX`H}2Q-4S(GQHR`1coDuimGDJQ1H>1OX|;K);TUiX!uWGn0L{+Ac-6amHD-MJ2MwGbMFM=+&zebUPS@u5MJ*Ppq zG}I!H5Q$`k28ipSO9J53s`>`!T7*w_wMO(Vwl)h5W`3ddu7x5aO5ysg@vrHFAYl3; z%|>3SjzD|!KM%={atvo@nz@@`V$mNX5j^k#@pcpcXcv6U3r$OoA;=cA4+gG6DAqII z*S~!DpqZlQV8Q~if$XpW^=90&ZqOhaGki*S0*FY$wpnSYH12_Ez-ZV7aNNi63f&qe zn`SoTS9*}&OYkj|VyLcDjyL>`$H}|_q+*tO5Yg&Rg5<%?KW|YpE8If;y+Ha4 zq};Q4dpx{W}HHjbw0b*p9CXe0y5>tfq9iGdE+f%36|;@@yx*%Cdh#W3@SW z)Bb?*E1IkkJerPSOE*)<1FK3-ylSa~3xC{mw_~NBfxdGfTg1~NmJ_P;*iV9q3cbHn zotrmw*}YT@@B{TpfI(L^q6xg~c&9HUSPEcchNXzkpt_q=MX4W2h1F;4aWeQ6*HO>1 z>v@ww1&#uooR^oG$%A*O*|lgzrb~j#K~=0S$f=G{jV_(dak%`=p+ZB=k?Zp%qI=hc z=6~6#W2kQXnk)qt3FM2?60o@L`#DIB=uQZEB*_5Z_6$f=(7u1;-fXrra+O217Hfqh zUFkNi#`@D1TwDgMM5?V~G3wM$FOZpSx#_-NX@+%!s+iDxgy7_p|-`ln4msE;{uyo}rb#v9-LM@Ec5O`jxra_L=VO!XBxLoAr}O$WDO^PKY9%ldFQ)6c?Hl@tHi%Lu@j6WD@cGmO$M^2yN|* zwVmqec2M9z>DGrnWKQsC$+H@{-RS$oi>nbPUi5FnEt4hCq)h86C1))q_yd(B9v?1z zj(wbpv;fUP_-H@GAYtr@lYxA2%d=;*;XYQ;#fQ4e*bMi!@rkF~f9fILv-mF_7yo>~ z3Tc^q>f+IF3ldZl3ywTaD;+IBu+tKxY)^O%^- zQ!qg$9Y`#IF}S0>qirz5i+hfSp3J4vdVpt#tdQp0mk7lU=EO-&dAX7maRmI{#?Zyd ztejkzuT?Xap52JGLlO{H(NE+RaWJ0?!o7vjPGKv_fE^o1WbqbIg@1R&s8>Af8=pf_ z2*(z-AeDD&XHm>x;`wxOEur!0+1IgOp{A!t>^6(!lA@7Q=c^rSS)?EzQ8OzaemfK& zn{+ZWf0y+BfQ*09ouT#A^nN0bZ&asV6@WhSZQn7sIm#pmE$AJ{6D z)*!D21Ck4XktUw@&9*B|2EER}Lj|M@{%KKNInVjKaDU)HF8&P;GEqM2{QKoKBgGvC z@I{3%T-gO>Zq~)d*s0{rty{4z`u6H{L1>SXJ;QTERRunEDlppLAKtxi18*+sHK=m1 z700a`s4kYn*VB9GB%qk&(T+F8hCk6{*p2g>ArH%H5}*W;SNk0Wa20!x+N}C~em5Lv z_at8n4kN4lHJ}KZ27}s3CSV~q=-RB_>rAC(9J}aKLtx-TJ7f0kynT%xm#g%_*ii36 z(GZs!r1K#$T(Mur;SaC}^}J%nTOS!gN7gy}7|I8TL5@DiI{MIyO{ z>MdY})YVn9Xr&|lc4kc>B7}ff+-b$-JZyU7fY?xMMe1+fkEb5n!-t@h!voH(vJh+! z2ZHJLM)ZSciC{=yb=#w==dXz_S-gu5WEmCC$u%p%mJ&em3)V~0)8^8BF8=WYh+zX! z)C26Ekit2=-JIs{Ytu!X0JIeD23b)+IW^a}W`W3pE)3iqH?6L$+J=!zQl$bsJhKE4 z75H~FsyfgN%JYe>pN~23?3d_x_hVCT}^iTyld~@Oas$y z3BwMOjM>JkU!I)j#3i%!f&bDH-z#y^0QH>~;ZU+=B-qI}RZmIy+5KOd{OMHEDEcdE zCnZHktw7lLV+ndD>|0$En5*nYmTTGIO^WMUOI0)01s-S zz`_RR(T(aM1Jpucfv)cS#ZeF9K}t_Qr_k;c*iwMp9Vmg9Eam*|Ao$@%myGh0pRbG6 z)2n|4IG_WN4Afa;s+al*S_0wvp0BE3EwZU@gE^q}RP}z^PfYh+e%N)v|5DuzXW&ut zAyHPbU=qu9F!236BE@yRt@aTUK5Y;LZU_1pkOc`4j?MfDvx?q0GcbcE!_MIG^c^8M zsHC!13*Ap>G$_*ojm`RgN4;?8Lm|SJ|A^o5K>W^RwBXN4kCfui7(Xc$M%;gP;Keay zgCA}c9vb!_C$Lq$T!>#RJ>m^b1LfMUe5K2HYSM|3G!UrOS#`x7hU}c}(QJ0z(AByTFTqB>jx}g5l9zqkL4KsMW_X&al4&+1 zLUnSsdP{Z?(pxhCpa1*4QnPsZeh!QXPF_}n4J67B)~&syuN2&X{W1lJw%_V(H$%#$ zCDq`pUdsrS=5=B-LHlaz)cj~2>SDgU$8+}ML+l_Qq*V=30_mc ziz;1V6>z8g(hc5c|Lkvd)h=(w)yMUNuYcGiwP_oBT1xaN6&?@!%-r|vrTi7LqTHY9 z5JkO?+!sbRrk?Dl;M>qlp8TVEpm+K;t9C{Ep^Joi-aD07zJPBks}6!fToe5o?31@| z1*veO7&d<<67=kfIwU_T1?3oQPua-&KU>jA3$h@z2W3KGU`c2a*fDr0+7<;sY{v;0 zj+^bYU{dcWSFeoiWCbqA28mb04_ei$iN+A40IWpxNEaGFQ$h7H>A$$OjVvBNf?JAHH0alR`=WagxM%o2Nv_>LjW-u$I&{Lng=SYN@Lup0bfgDe`AaGuKK-c# zVTVTJjxiH`gAjknaRS?k&$FD5by#?59v#vd(-oQ%+!2839i!xg{Ovy=eFvV!#BKo& z8&Oe&9~85Oz<)ryRVIUbM8?`81+^54Hc)LA`zx6 z{O+JsFp z8bs+%=4U4lyfS+Pdnz1;9d#_*#+~6wwQ-=sl|KLN`Z?p$$<#QBVbO`m+4xg#r<^Fv zNDE4v~0?Vw2+%x*fMq6&`?A$$@e!= ze@6AsbPH1w3HgUzRziUKa{Zw5M~Il7V0&;B1whEd z!sdnV_t zuA)GwW9$?<2ievLRS1hJNy1bTB3wvWLB9n*Ja=5bOasz4v;?xh6btJU(64eo!SalK zqy5HQn7B&mS}hg^0|aDwAMfI;cAF^$z?qtQNf?p>FSd`lU~0nui&ofJ_wvK*UT2)q zpu1C><)gc2q}?z9WI6rmw$;T<$^`E=pM>E!$Yiw*RnQfLu{lWdvTymCO8dRKqDow{ zgJ6^84JGsHrGdm0bjUN60te}dnCQOd^5Z^0#^j_ALL*W1FPk$|(*(=5z+a+{&HBU1 z(h}Y=hjsL_&z2g$=x&?n3IubINJl+{^#<};y>L7dOce!P)`LiWwf42#YHI_zN0b{aC15nNs`PQ%np z9WcKvOT7ZUMcN+ocsYsa#!x8zqomULlF4e-Y~S_%6P)G0^b1Jk6;PDXh0308SbydX zwecEHd06`|XFl0K!-?lp5WXeqb-&Vb_4)D(Cj_umfaTe6Ivgt{wU5BGOkkcGjkdlY zM70&4*^(Ael41Y;5Fcd1W#U{dG;_6im~Hk1@}?J+y^~XB8x{_dggx3+&^7MW{o)UK zLTPi*?$DR9Pv*a zrJ2m5+ZAxCv-c~z+m(bqdcv@Rxyo;+6D=iQo9NXBV_{6xx4PDCVux>PF{}}U@)>wi zAHwcnxPFzn_T4S>`7&Wnj*clOW7*PE?x}PcLE0Yv;5NG$lUE#gO}Ve%_+v3BfT;uO`p0 zJILw+R91<9Rh@Kr1bY2tru(c>Ql3yI%0 zOWpmOF}D%4i9+MWkUef7vso@Ubirmof&fNtlaRS`KlU++yb$;$GnWAmbVR+^_|}27 z?XkQyu}C>8Ez>f)iSgPGVpvcm zNY}3k-3;NsXm(M@jgRma@84imXP_>Dh8Q!ij9Kv5{5^hH%G>X@Chg^1`IiB+Onij} z@xW1J8e}d&=eYEJEtW#3zyv z#9>HR%}-dJsDlO_LKJS%Et41;%A0VhKvqwIHUw4$@VG~A{~m9Z+6dX{65Ghz$T1(> zD4svJhuLNSIxaY?!uia!A8pPet(xETZin+pvK_Ds%n{|wTD)gx%rG;!bpY$)VC@GOw{2C<3pXMnhUU4cSt;j)A8omm#NPsl&uS&i7&z#J{yJ^nzK~Nxc2{2oE=7u-Fd!jh-i0=eIv*WJDeD zjva);Ex?Q;f8{IhneP?eBvC<0Q9{d$5yFHQRse(=;(i@*)STiCfvmVn54yf^b#x{{BFv$` zy9Hc<%;5{Jlj~jiJ6q2j_tt2=^e_^yUi`#JloNdSvq+-lEk5j$*3I&yi;PWZMO9W+ zaV3BbyAwc>MQ|xu7o+M)o57a zrBe%xEAiT%+VDJyb++;5?sYF&Kl&QnrJrMtq)pApX)IF;epry$LGlUphgI}1WEHDx zymy}vXofo7MCP$9@&;1;x}(BLl^Q}viR-#5DAq22R+}A&N?+TdG{Zb1f#3wMuL~y# zP$C3Yp&zfns1m?vELT52aXC1ev&w?{1&q5+S!Ji19j*n9=$UTR-&_JhT2i`Oe!|(q zW?jh8wLci0J`eQ8ca6y$389n48$oi63PDCpiPlm7<}kLPaol);tyx;*$#~pM48rl%$Aqc-_IoHFzf%SF&>{B;sCN6@&UFGWF3A|4iw%uCXpQHU} z`#xGWTi=%sXVrQQ!Al^7X0j=p+x*$cXDjIoQvUT(vjqbFdCsIL;x zUwr!vU0Z~CGpLAxe4m@62|MpHHfQY|-geY>2*(ACtr8{P!Q}M?Zxl5!zZfTFqMH6g z(NM#laxi!Vc8H#T@QO){1G{A)3xb!uK3IoeL97&|^OpTrjhc>9W4< zc{cr8hf8H_VpKjW3O~iRlQp#`=Q~@w!DUitpF~M83L=kSngKxZ$5tRs z0{8Lt1Lzub?}JSXOu_(v058F}y4QvhArr;}1do@5)xW3%@mw`Q(4pZ}Ib~iaW<+5- z@sjL@%M_gaqnM}f_+G^gU0jKmpJX4=*?_Wh8d^O+Py1RL$d;E7RvQHZrgHqx{$-n{ zy%S+N-QN)$9#NqH$U8$MJ;1~TU+X3CSuFJi_5ggq z&+(RIUIz2xsL0S-DZ@!E!2{Lm5F?Xre5gnYGtxh`h21 zAWk+_;$_hjG+syfyo{c`Ld6c+L4+BS``jSFpLEPpN_%ge%~|klaKEnw-t*R4Yy0S# z6Ob67RTz%BL$r91bq%r`Bh14U$%*&xnR;el60ET$ScUg9(UlVMQ4~RXNe3>oDCYwq z|IdeMKPGHVUWk=TO;+z9Pw>U@10e4*(08M=g{ySf1vxGqNmipJlGaMnV?VEA+@(`C z=o>VAsEx=6a(c~SdW5+G0lAHqjoMU@wX_+qcU;D&b;$Qfx3l!@H>kWn z#DQY=mP1mAaMCl1h0P94ejV!2IsO~*q@$Jq69ubWd?sA1KHIZW`M70%EwC%m{czE| zpu*v3*QuY+Xo1eHvD?5x(QRtVTTLN&i;J%B8)_jQf!qA9r4xpz0j$L}nWc~|7s+0j z_t?2o`nC#s0GuLUGK}q^LVLs>r4|Q9<|@|R(Xwn%!b7Ep&rN-1y!DptjPnZb2N>7s zl3wsFzq)=sIH*3K8x2!ge6za{fv_I|qY*j#t`2#ReX&@)>$$k(9#BUsYWMyumrG#J z!Zy)~JHlKgXzKkFRsBPNry8a#dR~f%b&-|$JmA{+m%pjI9aSYEnFA)$;xK>!mD@*2 zdm@g9u8Go0y>vBa`HMk?jy_!nF+;V+7;e~UxkWy974P4#=$c1Kyxd+dn@D`$wCnN8y^Ev( zY}EP$$5E^iC7r4&dJ0pjAus=$LX%2D6f$P`Jb!PzCm)}>Y@E_@qQsc4D+edPa5*zN znCTkZ$iCw&E*O7yp{Iw}2QK+S84dRL72rq(UGlpT@iX)|;{Q7a4b$twY~-(0Q*Lkf zwpk6=;4z)l>@jv;{0Uh&C@q03dAR%SPPG^#&hd8G+^?mR&vjr`GOc+Hliv0=3;nZG zN9|8bK6GwpRIJPjK*TZ8{YU3pSLH>ERrnjx8q3|Im-J4}TD#3=T_irA6jTO9C4t<9 z108KhOu9fuE0iX54myfjZltOv+-fEjfba+|A*O+*Dmn(~sAC9;P%s4mt$*WPOU?bqIOd|!d? zLiDFANr7|KX#0sZmiQ1A^;|>P1*Kh_66CPLx5Hpa=70(eBJ7$e4(K0YNS+LZBs};n z6*c`n_5C-$^FM8v&r6Ur6inf(RedY@+kb1D9wL$e^uh&p++1LOO`UlaEk{DI~=_Rm7PY6syk$WU&Gwmp>! z>!-dOToc}lC#A^Z~GzN;N7L~bp@>=f^Ik|XLkA!GznM-j0YMnF01j)0guoB674!yxRL+6w}LL65Q?2kww3VbIkW4<p2*v?0s0w=C)gPDXqcSQx4I(6pj0y%!EN%Mhxsw>*5-NP2K>N3Yu<{6W}4=~ z!b+|c6iR^k@tsV1s1f&2gAeuDlV=RPw(ss+{GW*A5^T zr`}8kTJe!bn>Y@pS`|$(B@MN_@ed!hwc@K1qF`T!p)~B1ivJFQHBWAJjetfS7=gWc z1TP#efTFycx7|O|iv0|Rd7#qDGusjlsc$F{hRNH#BhNyP0*{pX^zB;)BYVxkQY3SH z6TLUgF9fLGhN>-~%|O=*!P9{L9AE<&3SRM`V8M(5x1u(E=p1znoP6dGpbTho9wPVMBozozfQ?T5!IA_o& z%AZl${t!N>Zl^nvgkYM1nP;HaK^>bg1^{>+;8^ckm^<2N!DJHG@fp&*wEIid-ScGW z9;dJb-a#WO+5~+Wj*1^XpKS?$n|H)!y{wtU&rUEZ{Pv&wRQb0y*iw6*XfN&3`AQ))dcCQ%=oIiKC>G%f5>|?vJriQDQ}lQm&Ni=gvZXd0r1ljJ%w{qlR9c33 z6!&K_1!aECLzCbNV-vLjCSQM}j+roR*@3XIw{_>RrZ&Mj(}l7rtqt#0!m_THfU%&x zb86ZT!B9Y&Rdw2iQr#*R166&)Htx;EUMaXD7m9^(W${2iULv*v*TAz$#R1ZX>#xmP zJI4X)koI#$Us_CHG1CWQE3|RS_I-!lZkm_ww3y^{Sn4NKSO`aa3F0K6GI!={G>+MLrk=ol^&l?_P)u&s{sGfM(?Mg>~+wm zGp97eqkB{m$?3hPGod+>1k<;sRD~Q0JIreNYq)mZs_e625^6Xxhk?Y{>(%D8Ysl1* z;_{pTF}(Wy_Xr^vJ7jWy@+4i@eLIpv#+WuMF*Pkfy?^0o*#e1Nup;p6L+`zJVefrM zz+{aMR|=P}6xiyz_jcKVUlt;UTGsEZ?H|N)MVF(N65LSgy7Ls31FoagpcZm%D*0rc z6PQx9Q`7ZB-49`)l$kvTspFFrFWS^OE=`@}j|2M6Uo<9<;+P1bHAwp=IVnECKPHnK z+C-v8_Ua%)#?bSm&bZi2MFdja7O!%mAtLowM}^0wJ*znh1fiO{AKl60^6 zPrtczf(ghm;YO%ax7E*=$0l&rnJkL*&te^F{9_tiL!y85mi;GjRTzaxFQ?A%NKPhJ z&y+WYO9vW4Ux2kP)|}i;666kZ3H}j!IWRO_2_Nl4jRGVKk+J^4{?5vHIqH7f7oIbc zwzy{PxQTerI*(ZmaAIr?xjfY)WbRUdpcqx^z{a01U4TqHX0HfJuXa%EQ|?;el~EWG zqXX2dsIrQljYnKymj7#J*I3%8Y5#jgt2YuXds1IsHoM3xhl45GrE}%6RtDfR;W!=1 zPROY;H8y!Tr=F$w~D9b1Px@TgjpXrgez*IUf7?`5cmv`W7K(`AslnfgdK`AmFd;D2W0MC&g z*bt&ob&-+lx0|YPr%r2P*iO8)#vLQ_WKW?nfE7HT#qZo@;r+;x2c!?o& zG~-&I0Vt&sDAGiyYyBvmK66~)gUBB;e_e2z)YD!z0qf9*Y zKl@LRaI+fkW&`AHaxa9uh?pdSM&ENF=WsUFTQ`rBomo`MUDbF zt$9|?MHmK^z^A96oKs$<808Z#Q39bTu$4jr`QG}VFSjH24KEl;1Tb3r$@ZGoy6@$J z$BkY8lUoyN+ES5I27-S?H*@}xdpW4+V9jz+%rW0dW;Qj8-L#+mR2%rDj9x!tR|=k}_?O`ox>? z!xKPUkw|X~n&!nNc%jl)^Xkh+z4G3jjE*~bYDHT`Kg0hBI4u0-_nU8Rtb75JvpYVU zdWwyKxB?nR4K<7dmlSZNkm-+dt>QB`Z7}I1jeyAvQN#yOxRd|$3_kO2T zzKmNu28ap-(?I7_=bZ##Q*DTeICndVJ^x~c^89Z#{Ogky6n`|vI>_5|pw`JSIC!M13xj6XQ%cyD}p z4{>q1K5^(qrs2hKrgV!B_xi1mFtUnSIw`BhbgiteTyJytgxTXtJ?4~uV@*x@@T8q{ zkAo_q7>6ky)r-4Pxcl1orOF4)oO=ElX9KcbikGd^ zMrtEJy*=k1M)fyt*|9~&ipD8wm}41f_|5a>%Rx3~qA@>X(`{lHK2*Hj!^=6`beTj`varXIdCXwBy0r0T&w@$tcy56w+GQ};AY`BiQDhLTwt9|!ERWJ@N4 zOB*vsCy6xtyCz9>BSU<>ie+ny`bRGIKb}1qaV+q?pCcpLMjggQ?ic3zVSvoBUFzeA z%=1d30114h3cnR$o%Okfq1Bu3dH&N=UKlTZL+dGT(1WM|n%oYb82nKNIy`*)3Z`K6 zkI}FO!MALv4dB}g^tliIFrx!w|DXKoMJhX>%tB6PyoFi+im9m${0jM?#uthZAiht| zT}7(NPwLubc~;|aJfr%TYO>cTu9i>zK#@OO!=or?(31bA_JPUjYRwG{UbN797{l7J zYHy=EeS^NnVv{MLKWVCG-hQ^LFe{kwJfW&~*xJ%AY;Ghu{GfO}>W$QL>-=Q#x}|+h zK>>a4g!1C{r~22lI9bJceYeC*k^v55su5~T?5B^__@t*NJ5e#lI6x{wxmDWNPIMXm*af_+hlXp%3GhfhqnjGWVNhc3F4h)$f+*(89LY$)UuE!-Y!dTk|KA zXX_3l;*wFXPEl6;rl^F(^$@Pf`l`xU$$6|t^4>Z%7xTX?t-}-} zb(5VJ7ipBApm00-+|+cMkXd*yi%YiYql7z|SL9$X-?XM{?fKu>!8m#Gj-Agd>M;S= zXTx8d)gm}~hvd)MT@=9Kj9s9N!JS6)rdB%uM5u1NDHaBdzZ%?l*iWAzB%tH&hH!NnM9RU z9s+zZq%e!Oz(ZG>IywH-F?zmod8|=9C|R+Zzh-yov`LyWZ0YW(+J#ZpEV8WS_bWB$ zujZSMEB8hjgbUe({#5TX43OsAjwWjbxl5qZb92pSo8Jmq3rEmyT3_en|CXPnVSaZG z^J1W(Qn5z`E>oD7djCqUo{Xil5`2v`hq(4^AUFFZ8oM5J{S(26`|^7J3oLzgla+<( za|F@Kt*;nc)iXVhzBd`Nyz8k7`<@(s$4z1kZl^i*clMLd1P7E(;Ms^fHy2}ljn8u< z>L9=S3Q>!F2X@7V*RI2nB4WN#_i;OBn9e$4(|+if@No3vMCq_9Lc=h~dbaud*~C6v z`vJ;(Y7-1gK^u8TYh6PDtJfS4@{Y?t9c$~qEtambtNo5EwOUIn8G-f4!tp1waLDY$ zqRYm~aHNU={*~!_XwAT-@VS8>-#O0RMj35N+rst35a%cx;k%T==Z=q4SoVTT%ba+K zDk}ClSMSCj3#_*rq3ZwX26_$e+BL(HCpEB-Q+@skAiI`}(&DkYm$R9Bo7P-ima)Xk)(aamZyx2Ux{Lu1N6YL3x+~u;K_=MJm!!yu zrL=CLY4Q2zBA~k-6^g7`zB|g25{4-_v(M*DYfF5Kd?jRbRZrH!vB&R)WNLak%gfdu zx_j%l)a%mLO=B{62X-1CPstU%bAPV(N0Ti~CZslWWPd2wuG z805GR$?-CWw!=U-J<8{tL(y95t(LrfWCxoWZzxRCGF107CjR-`B0>4=#5={7+G9mvve`7R4SuFz|h9Vxb~L6E6R$d@re(f-=i3dO=IGh#D1oHbjnN< zuF;X4`{GF#8T^`u5lZixVVWz|)4SJZGCkw#_BB;T|mvu%3>YhVOx8+i}VtR3%H ztCxGwUJUlMoYy=Gk+XHID?n`(&bIZi9Ba>LBT(G&2oEmT(OikXzZY_E5Wi8ZX;JrB zkk0-BkBV6%Ew1D)O;+r-pp1k*lO``OlUfa$9nbwaehx!t(CLEBN1r4Q#~SK%&el(q zDiEh{ZHt3&e%e_H`EqK64n}oa=b_hCk;VoU$Hs&)GHKy5ahBH+XY*6z*^6~?${UN9 zyXv{_szUl}nwNiqGSX=!VL=sPB1vA(u{y|YV3CVq%HcyOn=hU0AZ!REYS#-+xEF*n zj7g*3X|&(}=of1o-}8V|^HF5`W8u-2B}S=>K^XsNwC7QP=N9;sJ zIb;+|N9H@y{C|2Dzz(=1Qfr!?-yN8Pu@#S|i}f&ONMlz76MAw~2VgEAJ;~|2-P3-> z7H&D??XQ(i$+YbTBAtu3`O^w6Zl~;Pd6kx(nMv-m_@g#0fhHDOBj%n+HUr%R_90|!%Mch{_MFjvTr6MJ}yN$BBgMD&~! zR-M4O%DTPnRy$UWGI9?Tru4EttE&9@LCOYqxjMTyzc`kLd-3YXmT+OZx9U-DR?wT{ zvf>pO2LH(CZ!zY}*Y*i@#YUjO>!UyWeDx(Wck`Z+J~L;{6oj#Vn?(_iRu^|#8*+Gs zi!}dxkyS65MrB1G-!$Ah8O5xDijNpf6h}k_AMp7PXA@j9>!wDypWo~;z7xS1{eU1p z-%9fZQ>YcctxSukv{)e@k?Nt=T&V1?VSYu zGP15Aj4rzQAJHy(>i+V0Tb%1$3U5dox#JgU`n(ax&yb5ex9_%i(BzE85{bFDl3IQy z?4z}B^7_6PlQ$OU$t+V|%qPngf>x+U$B>qmO)DM2N=R#b{lry4YK3ya%LGg5rLK^U zPkXXvop>64RKRBm6m8=Z*~jJl>^CrU(G%%{vRI9>Y~uWGNJKBhWDXIHa;N^NG@THB zGGbj$B2^)sT3S^(+&5*wxwd83k9bT#$5v!XKN~2dT zX{%Nl9H|YyrAbV&?}s?=rQFR{RQ0SsNC+q{=ggfTIH1go9D&mP+eqrr%g-2F%v*~% z)3bfC7Q8vKxx?DW9-T&9jDsSJUK&ErW#X)REHyIm<9ut#j4v7 zou0V67wWhdTAs_Rd3LYW^v<$!3=yR4)k9~ZjIWT09YgUGiF@8-@wFp@^#QF$=1{Yn z+IA$ZhSuR-j17&dKKn52+#mgKZ=YfhFFG}S{M|qEX1f(*s~=tIBtQLPvL~e{;VnI% z%dV68trn?MA-~0{=krk}T=|}h%EX=rP%oS^@RRrjNTd)|SgqUG*s8}+S|c8B zh@E|otnl00l+)OnYy7k)LMjwTJQ8zanwo9`s9>LdhVY}KPXAT9Rxc0H$+jFxh5YpC5Jkz~Do`JT#{8hqS9nGiTo!7yR*|i?j+B ztL6pT^Eeo6=*h-SEPv@z^C%D9*7A;I2tSqeDYpj5Z{{_ZB&O+P}^sD zdn7p(1!TF>iVd1nN*nTGJr*K=y=-DxUm>zbFah{VBtHbZ{q3l`xE7K~ll4(DY zl4OgdVZb&YeCR^cf=Vy``St63mN2QVN70BtKQM7=B~7sO`C{53{7b{|sz{ov{Ex}= zhl6Im#SU}<5fKGgkFLo7gA@ruk7*s-Ph}Ip@I8hfP~ZM9|!8R z1uk-W?8cV%DqY65EB|p|J{l`&Xk?PNB=Z}GDZWdd_mQ4|dc0qy^Ro4zIF_h#Xv0LL zu_uvpy@<8M)_LxU2Sma9e;MSeuCz^R1K<|MO4}$RuPG-LswF%P*(g(e=gn6d%CDU9 zSf%g#qer4~LT_4y^&B)v1lT*Gj7PdKu^XSfimkr&NV6_x{!f~E1P*n8A}Zc&htYHK z&^~$*$#EkHrytg=>fd#HZ(%pv9lww(GELWMvxSWXeQ&D^##8xxAq&ou9a1W8mF^UX z6kUe>v`R+bwtB3_waCSLpl$=P=~!JIAGPt?PhXtv@ZxAQEL-NDiRb3)gpzY|PZ_o6 zWMfmeEF9uv8FzHk(oL;RyDL2cG*zptl8rTVr;Xw$*2LO0CjOu1zB``k`2SbKDj^jz zQ)Zozk&!4Oj=dc-@lr_+dnN)u%y1*mfhr`6}x&P>~RLgYY zBP$Z14NnUO(%wLy7VSz=@tnb?m=39(!yW)MV_LP^t<-?j*o*#51BaMr)u4%=vFFrq z6od-ouG=j#I6zI_zJIor|Bs0fYMI?1Rmg8ioK+oap46SkK^CQCW`;zoVp&mC zY(+PM35z0VE{dqy_rxeVUKQ}(aTt;JvAj9UhF6OjZ7PWzl7CX6a9jJnTcK-c;N)9T zUpJjdvq8BT=RmaZHYy~#SS1`G$IvBMCoJ(XyB`LR*6I;gVZK%P{2p4(L8Q-&kQa#I z*aP^;dL_EE8N{MmaVK`EZl!hhwNk-T$72x|x1QOTZ-=^ZHauLD89v)Vt}XSOM$c~{ zx$@rc;W2LSjYO5#rlgZr(Z)G2q?=LPb0_@O^l+l4RHBIVFVD|N5+xAxqmtKz4c zQv`|Yp&!JO+tn>TFR(m$Hs{*Cx6wsfdl+Me|2Bs@x9?dJG|4ZDU1pa_7Z^7g2N@#t>BN@m$m5*%;h+O%~&G;0B|Om_33)!8Fb zNL+lap!4d;9x!2lb%Uqf=UIMe<>L_l1>9(?TwG&YORMTs=OuEiEvxkqvKglBXcW$U z;XNw~@dkNL2NjF`_G$6DRmfASD}%&HFD6u&?Xs2KvK4#4rz>$9H>2cc@Kvuq&`7Id z*-%)sjBR$70NwzW0ORX{#yZ%dWWSI7R>kv)&c`tyVoXw79lZogokev;l@)W5J^`&- z1x0s!$l7QXL|5|oh>Ka}(|!~$tsAS^_uUsjweBxn-NU5ro}kZPlJK>CcDxeL+Pxi# zZNsoP9GeN1GDo3@R!WuhnGy7gO&g=TTW8YyCouLJ3n^Bm-($LDLgZEG6{_RHpPKvW z8+um4i8S)A75SQAZT3{u{xDW{^hH93WS&01?2i%p*7>$#qLPBj0&*UQn5bP)agxrJ z#=KGO;g4EblFJvVVz|`#(8boWIY_Jcn*qZ5m&mpK z-I3CFN;=#(7PEWFCzmX1H@jsK-g(Z;T+W`MxKC4pqZ1lNdR^H^o?}w^Kr+uI^YS>v zN-*B73BII=ZA%I57&qv$*f^T%4@o@pmHzAD>2Q5%qjO)0ZzpuV-Zl+x?E6!8yivcy z>&>t!EvWm=azLp3kNcS!wsA^SW}F$8ciIKf$N82jb-KMqjtg+y)PiH;z&TENM{y1l zQI@ZSQ1wn_v!O-Z_|rlC6aN3T_4&U`Z2Rw#`2K(Tu7}b_Uu&il{A!)LW8sE4y!Sn* zsNmVB!ofn8xfk}=;Me-j83e!&{}(mS|Kk?~{#OJ9wJgEzo-^y)KSIv{Llg~T4rhfk z;g90hlJ`U?=I)Z!R($3_;L6|f!RHTiYBml;P?1|QV>4YpX#*)G&n7$kreSQj|MlXi zv=Jjgt-){bKU4pp)_>k=rZ}nmAlmuackPMT(QZ&i&^V8@|GMWkqy)2{umikYw$nN? zF}xD0CCgFL879MKpo)Yd@z{Rz*lhy{XIddS0gl`9+u2LpqPDwWgK z9N^R|c2F@&B)G?St#brM6Nk#Ox|7!jrB9w@X%(V8YU>=_l5igj3Nq;)IEl%F@RqsK z#sSJ<=b1sPLUwX>w+4^lzG2>t7R#e%F&eBXDNBHdZwCNKMYqM!;r^kdW(kDfp#?u8 z#18fkolbi6|IXV!-SJJ*@Ey^VQ$wENQO9{Ns^_PW6;7~NiMte>;eI+{L{kiIu8qo1 z{Vulg0l%eY#^BG6_YJE|sTm%d))GDKW`#A^uynhvm@NG;+?d4JTAwQ;TBQfK*q-Sq zlbaergI1-M4mPHZ>R%(`VJ5(d0!w424n$|#Q;Z$WT8YIA|G7vL^hgy+%7O`H&)BC@ z)hpyrY6pdHb~Vr77?YRUg1&GAz?52%Xi=qDa^9}YjR4Bfa@=KAK{5r`j4*y*B@KpEB@1wfhXGeGAP`<0Uo%gl@9i| zCP-PndK(xfaPh~iR%qyCF7y`YplT;XN;gm8J7 zuE7>zb@X&fSZm99OBY3->$4UQ@5FbpgYXEtTYaDa^;~0_e#Y|_m_G}QfOH2>fe>pd z5|)2Y_W`vSbUC;X+4i%jGc;34Zo5f&rfcO6Ml)tb(2xR6>ZfbSNIn|--Q(Xu!yP_X zf0#g@q35dYL%)&SbC;~q`{)EGx-kJ_v7eBDz?hHj1JtEB4K4dT+%W{+s=j>?R(Rig z6A*;ksXTQm~RD@ zHuPXviDbxNY}{Zgrmo3EXzbAQZK9xSPQ(>udcJ=C9&zD*&8oWmtg8Gh!+?LW3c-IPH2PJ>%HiBjNHtuFDi!3!xT5=7L>Dc%W}6MRSSmVQ4s5%UVw+U zY(d5ZQQ-FlMBCxIpLhg}lDH5+8OSmqv++`>M*@dR56t>F!(mSjf-YMz;)Wa%_8H-~!?Sb#?#Z5!VOEz+usSlE zwWXLf#N+*7?OH`|v!5$!Pny+1_@Ea#bnSSyuuwko$*+>O2l*ji!0>^upIvVU*Wi@F zgwAedt?bn-HV0+DY$+JNR?`#QK9!!`a3F#5@bMQ|JtblSd~Px zi&YBhDctEX2zU#ZDP3B^&%(#8KUNH>IL;()E31WY-rO7%RE-8cG$8w#VC@V5lHG~u zOQpjGBjbknfju0(kzzmp!!>=IiNtwc?{?k*8uu_$u)RdE#wpj-Zjh;pM`U~x1`T?b zIwSDx!|c>YY`5Er5p5=qsW0ASnJ&HX`9e_c-v#@h%qL&+_$`&?wIAH6&u@B|Z}?%) z?5fn@nU7>(H}St5O+SBN`kL|h$muf!H)euKm5laDV%!c`R!-H*1dqg?qM^u*oRiN zqEf0);Aqag;xO_?`@l7NKe z33jGgf}2NTILBKKA&bj@(VbVQ%l!8eFN#bi#L(imW$E_~lf^DRYB@#=(1rrpL#pSI ze@Do1M@NY|?#6N7kCJ}RzM2EE*7ziK!Q%XjopbPv!oi}0g~tsz4*8O_KF@&7A5f(U zt?)8iw^8RWSnAzIx01ICB=}eV>=JFuuK@V8mgvO^tq3U1?TDo%&OCU0X--f2j%_{B-kxG zQ`4)vr9!Y~eEL*9nkjib#2nk(lGlh95rYu zXgauWwEsk&q8vkB((`@uZL}lR(G^(G%-Bkuff$(3(6%xN1Z#wunO#0t1iWqLb zI*;j<5wi3fcB=zt8u|Ry$KW8yTDB5cEc6qs!n=<&(0gt+s_m#Oe%08qS|n73#R0cM zl}yX8FC2a$_z$JtrM!lpoI3r0n7J3Zr7BwKy#xF`^)(B6l{NQx`vniC99eh_k1?e> zKaccJW#;n3mEWoYsmQOM`J5T`%M$~WhT_`4>0RIr?@Z)tdA{^x>rC!g>9*Nm-AZ_1 z7?fIi2&s8{S{R^KJ@B(P7OKv9ll-St;zoru}h0yxlRLVRbVRIe2rFm%?LC|OFBm;ICb(HlT%;WY)U%kXoBa*5Md zbm_ko97>rXbH!(4v*+n8^w{f2POka4lvHa^PQT~*57H!S-%|M=hOs5+(z6#(Xm}+R ziM9t&BDtEKVlqZ-qMpQ2Mv8Whp16ur2|HI}gzDpSFnu0ng6G;|?ml+MT_fGOe-01} z`=nJMI?%#1Q-ZEQ!hj1tDx4T}9iE00@345yG?C4M zjGVsZzpb8&MZdd$s_&>GviU6&m&58hPA$fdLZZC=nq_mjYLmRuB&z1yE|<#54RXYH zB9MF{sMI~p-`2)&llz_*It`o7y|{B(S^Dfcup&$Oz%zheKzfLYz+654suE+IdtArqGai?O}_oRc|z+_lv|VYKJ*6oRsA*bfn$!c@^m9 zD!`2!SE;^eV4#>krU*TTGS6g8_3?aERi&X+O8fv^mY5SN=~XBy4n>94JKvPLO>K;5dX7O`SR$OCko+Y~ zW?}V63?rNhpj7HdQ=ggeIbDvL`Y+{QpCw^UZ_cK1Frn36w-zg13PoR+q&1uT++ zQ0`0PR-;zd5{d?+p6jJkgZrV>M>e&;DFVH0jef6%-o2mn_+Y=n+^Qet4Z z*UY|{57Xqfh*m}V9d&Vt`VV0E$-6c`yZjkS(OT-zN@zT!k|^~W@8l9cPS5K-;m8hIDokmHNt%IGpmi$+H3{|brI;EwsFQ7;5V#Fm)Zr{N!JXHZyL zT+bc9@z(8*%3h>aVN0gdycy9v5;inA&#b$`ds;U_U%6VShj5;D3!+}J)u{Uw`;+$_ zqF3i1=sWW>VP9&h8}3(leWBqx*2z`?&o9)&?H3JOz?-yE!1Nx81sg9Inwg}dI+jCu z+~5Op&#s>QUFF`V%h?5Pp})y?dT(p~R`_`xr17LOKm|U%$J<)r-#jm#K- zN@^A$5>xmuR8xlVXswVUKXex4EfN;6CsxXQES^sF<+Efu{uo$%?){;9r=u5AMc=X^ zWa76MKBOS(wjA<2Asv^>AME~?GH?!swLoFfs6b;>APZp6W%O#5j<77`8%4uX`DOed9za_08OuKVDxkg^EXCm$aBJ&b+= zb8hKshR1Ppd7}jbK7RRp*_hun{2!c8Ju|RqkLQ!N8rRl20Jx@KF|3r0dz%L2?tT(D zm*laE_I;X6D)5og$lAV;NzqFFx@c5UbFw9n)D8n6g?_czdb;|v-j*xYp%fH-oPO;# zg*?goC-dPa8;|9)O!2eNo~PrVP5?IyRnmKI%1W7XfR5pv#&e{@S^Bft$hUH4gw*#~ zdoVg`JJ7;=2?Xw=FG^FqzuHg-^t@e4s;Oxx_- zY91WcPt84Z#nCQAp)J-rDI?wUf}LTaGNCHpli#T@#jjx5JnZ?uY(BG@{Q06<+c!Sy z>79IUu7u8vsG;Na&V2|D{J`*QjWLlkT+qeM@}?xlp7OcXrM6oElql@f-zmt&@Hl|> zzH;nq=jL+qQ#%Um)AgmvqmFbPe7Z#4k97tQ>I#jbr?bTr_Zl89ASkZ%@QxI;J@a8d4<$3G5+h zby`!Tz$HlIRMcm-T(&Bx1}~)-KK6;R@%nLKi>S}+KNqO!&zr{K-ToBDUv~1ikb8Dh z$#>i}V(O2H`e^R2PmT~Kc_u8=LMJwA^}@{Pq9^QJU- z(U}ky0e(a#rGuR!RLUK!ZEYHK8aKN0c!HD#a(4YZKNr2*AXCQ{-qT8dhfDD>@J=Ws zF@@OjXEEz`jCo=>YJsfdGVntt2|NE5U#s{P>CGUoORtE~KGp>N9=AWnHbagTS$i^I z*d8r$xEchOnVj|jmB&?i_Q~wb0isWLPHX8m;%_CFb-aqxyGg;eDG?gH@TfMh0bKMt z`&kHajqX|(ZyPtg`mx@{EJoI-e~j6z<(dxi^ZC$44G0Bn#H7X0X^$(HrAXueBKdBV zVuB=&3yC$yKMPq)>}}j}Np7m}c|>Bhn%^U*-5@&wDU4ydl(LtX6y5H0VRowheC#Uh z^U^n~3b6aD2aAn(9+AE>zFtnlqP#{c`|$JR{`HnNZv1WH6052Rt~SU11+r)=e-sb( zCrQJ0G~VR#ZQNsvp!A}q%w8MemwHKKaB;kkV+VDxV5!!AE!!5@IIGNsrZso#Z(bk$ z*YAt3m5Ne94OqTDby`b%DJPO3H^UqNN0Cxt5ojYFEJ1&#ei-MJq=hzH4p1n%*|*oo z&!y4eP1s|u3BYVuMDrKK9d#tvOo)LlUkv)TT%<+>-lN-EsP5%^os6vC{|MEd%F8VX zZ!DhpsQHydAleRUSiDO5O@!)NGnm|O-A(GUA^yT}M-Go~%zwdw5m>B8Yy%k=t+=iEerq1Zz+Bh zlG|i-1wTpij-@tG$ZGdB_+ZMFOLY=QBk4KKhf6$#)-Hv8zN8K>DZflesou{-MowoC zC(N7OkLrZm5W75z8|>*DhJWf@@|)rr&iD^URvGv&H8uzE6*JbX!6zaOD~p-9h4G;p7dUmg1alBn!ih&#GbIhRx}#JV z8PRGY+JhIH;&iZrBkxj={`~8&2W3)|T*B|L(eZwgx-VlmJCk>X!!YJt)9kA(N7H#9 z2(i)NC-+BJtagqx!6-&@CGDAMG?~_mBIl!0w9VoS_e!-6IC&iSQ^JsG7~VzUF!f>s zaqZptapsYP{8)*6d@5%~0F@jTTAVi29!6awVF9ZM-Xn&tdkCl1ge=iIEvrf&W3hS# zv>f%tNSO_!=_&y?Y!mi=!+lqA=rk+>iN^(w*Uip#UXZI#nwWjXk#g6v^i_}W)lF#t_@{xTvh8=} zPFb6jnsvI4okZbu{uRjJw9=a5RR_W7&Kq8&U}H5G>DJwlFGi@dJqA5E$-m$fn#`8= zR=4EnTN^qTCaFGfwrGlNo3$C;8RP&89#N$f$=Up>Ia*~skHAbIHe7hqj`3HdzRNMY zs;=_&@1SNn4OiFT-}>ck-#<71#C2hSmxYz?9dlsV7Q2C-GQV*!p5tigy{v zP3{DafHkq^HV`V$))n$T^_q!TKiFu%YJ->1jOtWN*31G zmaM4j>8LITvbLhb7TW3IBY!Yly%K=42|V}tSTwUID)zK!dL_r+Ylwb0++g3mashEf z!yOq>?38_QV_bJ_x_D3jhSA(TFPUKoqvqP$D>I>!4@>#PdN(F0LRw|8rVabdLbl{i z>@g3PU&Of0l^!H3nWIq!&uu~Zk)4R3R6D5Go-rIT@>^ifqPQ!ejvBOu{?Nn5;+`8E zZN)kf#q*=ayMHPe+bu3KbPeprC0^ul5b}E<&6R(zyzVwC6W4LhUv6+TQ|YoRGJBlS zZV`;YtB#YvMD+@LG5nO0KVFsAEj8(it|dQ)%hbOeIauSOQk{V~&#)v-zMbr{26;5D zqsJzO`tDz@jIdejpy#qrHFRw(7iKHc)ry_9y9+{E=`SyuYQ1#^9&BQ`MGO{8qU+# z^<*9HuZOpRvp47GlD})+|0>GZ4+BW`e$pzK%Ji$BpRY};dRh!EE;(q3+l|>AFf<$P zyH5k~0H^opUHppn~N^d)hJll~n&QZdPP5N~%%@LB&hdvWpb zGVpQ?x981cDY-}#)}{15nUYIOTJ7#L_3QkGze1WSH>Miuc^%`X{@{wj;K&5MmEjwo z?274>t-EC@BzH_*t-R%hSN?ahpl; z$F1PbGqGw$0YBdJOT^ zT{o$k+=DvPy50JtyY+<71@g6H$f=_+!R8rfmKub*}JEZx~T#v zkt>XOXZbv!2o|0Nvf)YI4cQyVo1O9BKG7%73+is}VOYM<)bDh7kL!5dOjb+#Aj5IE zZEsIQT$ObNm0?+fzdUMl5Zxnt!%kqaI6D#1wo@Mm@JM!^c)RDzN-U| zQ*SJg#RvK6FJ%wh)Ak(aZ-JZt>r?Uk6B#Ntw)m^758C*2lQR9%Ot)GtZpD3v&FgN1 zq2^=16vDrK>iXnVzwA%!r^C=NV5BRMo7(dIdEO7c<+{$~_xF)X8 ze4)Cy-iIR(Hjw$e`K(1xbSLPNWDsWLwcV4SPkMMB6)pe9@MCdh89{nQ&l1%lyQt4! z8Xtx1m*w-#IyK@DmEy8Wn&I&Bow7d(`H`GegGXdi!=CX#Go3dUxkARK4aaGu<#Gp? zR?q8+GQ^CtA?LRvV<~$i3^R;){)Kv0P(&AJwC>o!6XEo=XX&S$vdkovAeR0f;Uq@gj3Xb@7BB!Nw=#N(P#?$U6Qc>u`{YO^MlQeFs51lRA zbhwk$jsvJ!di3b8;TVL>y*~Gs{MBaSKOXy7lK$LlXk-+pqdcdEa5v+fM_iiY^td61 zhu~Zl#&>q=eP$HhC_L0?SFfWMZk8t=ldXJg0f5j0#OT>Fg~^!x4wT*6!m@?t#rI0u zGJ@idp6|`tX9*{(r>U{FY=}@$xT8@2+6f_o&r8dHUPZ zqol)mW}|2(NRJpN%bk#N^xR{g)f62$)O0|vn7^H^Cq>onyl6$3lIN`kZNN0zX-J}Q{|+Ax{04|x z6*XyXjbDr8gpFThjhmq^(|jHfa?c;k*8ikcXf^Mwv&?Rjj>;V*p-Y|`0#*$4`ez|U zsjFa1F#?uCB8xT9K4)LJ!Rn=23dgELE1O!*c-`d+U$<;bphSlAO01^5ztygqa#4ke zkKN8Q9zMQaJ&}EmsP@3^^iJ0x8IIktzq77h>~R}*jQV?+C2$1}9(?Pa)vI&Jj;lRR zoVl`d|F9)}6H?*wHa{LbpxcsJK3bh6Wsz*bY~#AO!;Yzw=XAo*Is+9xUqH~d7BV=o zR>RJB7Ta4ijexBs>U%P+a?wkV7$QjUNRY6+3QVaK`G@km&tvaq3kw^eQ3Gw-IC7BK z{j64acD_CQi)f8HhRRfA8(8^HgPuy}#jC{62z|PteFAk;$9Rz zY(8}DqC3OB%`ZaG*JtXzD#(lH^=*`$xT81%K1IdFG>>43t~By8bSdFzIXiBWNr9&X zteY-Y$Rnvn_j1VOIJRbM4}3d8v7|PF|ompoZB^rmI-qr zs?kJQHKeEMZ*xE0s_mxAe!F5Jy>#NIqW-R4Lv4^0Z^)FoTkj=oiYkhBK?5KVk&);$0oGwDILUOED4SJ z*DoSmqsFW*RW^cOgXdHvv0Ap{Ue0_+G}-hsfe#*T3nIkKE!w;L&bRf3%|0h;$Bhbk zW^|SOwRawd>wmjY{Mfikg)+o~>!MD^jsbQ?pFL~TBpt;}`U83o*jAy;)?E8XziM_G zXyZkcR9shCsVQDDoCz|a&CJj8uz9Y$XZy#`l6O&&x^V*KQWE)e9w-oGO+l-`vVEW{ zA-NNtj)+k|Ozzt~3r)-sLOJL2AVUH~!@~F6atAht|3VTYWI&JlhYV2Bx?b@hVqles zn~S<9RKH$HKJu8sTbL4+a6|kU*b-XQx9+4=!Wq#FO2B4z%)jwX#Mu`iU|Ow;W#INb zvXD);g26qkQ}tSIlN)Q%cpTMq!*Xxk<|yU>c-OH~1ZA24-DSzQ=^YR#+rwKW#ZiK*FnY{p=iS=fF)0?o)>5 zLpC|~0BCJ9SF2LE?KYeWM+`DAbT-{m(!$+X{F%76aQ=6Tp=8Yrs_Upozr%{Br!J&s zEx`;;)AyX$iJu=VBYxsbqH#M4d{4RV(YgdsVomkD;@t+fLEj>i0$xMb=)5UH%0kv? zSt|L9Msww$@Z_G2FgiIC_X#rHSJ{&19EWO48a2Db0u^q94zQN7vTyUDU*%9&>*(xN z;wqY6wZUh1c-Fx6=gbf!BD|2r`o&v|HDJ1AuPFBja;r4LGwSb*7L_?l)@3KVcjW2r z`Z36>A!`D4ZFrV+1P#!=B4`&b!p3`uw&+=RWXxMfWR)t43JskJ`czjZmSJw_YHhmg zt3>{1AnAbHgFoxH*L%-EjwNtg+`=>@-+HXAuH%KmeAda)!oVwziQv)0vFH|)8yt$4 zhZO4b2j@q~s|UM2yUb(kH&+A6#r_U=Wy#*?E6zv*iAWJzRcm!#cWPC zh1yBT+s}~*4YoOwI8Tn28(0vG5+b^z_k=Hdbf5?KFQ#7Nu&u6`_|wO0(Q*ed_#w$q ziZocF_9@zUXm%j*{i$^WxBD8tS^T8U=F=y~02vO>I`<25k#Dmt*8DuJ;Tj!^Qlu8{cHtF^mZ{ zM`c3P$$hWn-pt~9BqvM2ABHY-KCI7~=zBVvcO1*M1ZoDi)q~p)$I7zx`g1unju0>F z-te{N+x+gw&1rZN#Kh`^fgCUmcj7eBol#ea-t7^|l%Za>Wm+mouAWvJy5S~0lc@5- zjS%Y0M%uSqfyN8W_n9s-K0I;>rF7idSa0=X(6-HbkFKt`ZaMG35Eusf9|#0Z%@*ms z=2pC(14psqbYbTw>6ORwA1cN?<+Qdd8KLV~+_0QPSsC*~SIZ@pu3k*LvBsbBPSaL%Qm{6?39Dqz-?9Y0C}#w^)4crI6=v5NzK5BGPX1I7j#6oqr+JBVK?K{Oe>-+?zY! z@}%5lkdA8F^1tK7BEMRr7MJ&jDpP1a+W66){$r|{f|pwO!+L(AD5a`Z*Q~q$LbjDP z;<`P)&{zp`9rgd|p>zle;@(Oe;%2klYtfT(k|-2EY@D1?e%faJu#X4Edr0b!b=Ave z`JDOHVsK{}Z%P}8Mp-;f_Zl-2e8w0UEa z#TuHxu=y5R7Lrg>xL4yGuO-}~^3kYY8cmB}seo*tRzj0Ka<}b3e#q+Hv(TX$veQc<@4%eq}m(CA`%6_Xa(L>kgBh zaQKT0R6ESpX->U8qXL>fzzspJ{>Fb6o@RkRtzv{`i0^WE8xAG)v?~&Y1QiP7{1`dQgKFUaI z#54Y&S(KPPSvqk(JP^8)N<`YhGYF;j;nvgfDTZLx>C3+HWXK09hi6pzW_^NfARz9| z36#eN^wknA{Z%w>yvp#R8(5 zUM*7(e6em>|BmYM=Yb-QuMZ%gi8CH@2LC5z>Q8Y&#HmYv6;Ft?LO5T=H$fzpg~z(| z`=9>$avXMl?%p*=XvY(cL(|Iq#%qf+7cNPe(ZZl~7gO9r;juB13DGqf3aO{9`nA3P z$l`4p;#80n2#L{FG(HkxBk-!pjv;Zu(M2$3>xau`1<(;lsX|XTe(#mm9ZsjB=wQcn zS;?zx35|JV(rMAMX`jS4)Pfa;vO|K@kmiMAqs4-#0^fUv4D0GS&MpnJ+dm;dW!LTn zXjt`v>~K;!{FF)(21&3vzXdhi#8v?0W;b66ZP7Lbk=21nH?J0Xt{L}EGr>0=&;2;A z4u=a?(LoOBjCyX}Qhf=76iLaw zRqndgR^fc-n>Mxrmn8x0ZLyC*0t)_a>&BRg5DebPJw|o%QdJh4C z{$-^_DDF9J*YA<>yOtUKCIO9tn7yWjtAs>;n*-52e@Qo?aTJOupOMv-rHe){^j}g& zb_Hj+bzu0*w?qe1szJ8WDqN-)5@hY2Bnk4X`h4d%xVj^@KL?9(?))V~`7Wdm*?i z>W@{+nJyWw%Z-H0AnVooS34J>M(3KzB_FsbQe_mR4isC>HE~eJ%pWUpPLSG^N{;J1 z-BG#Y*U4t@RCShR8cw(X<4u`mtHm^!-vPnL+YR;GP43{u>zA;}b^kHRZMfKCBBYos zfMuP`J{Z5t`7Lbf&vCF4^o;N3p=pbcorR`DiV#s9)1)k>+6PJxG&EZsUrw{;VC&bx zXgxI|L8;^1ri2*hZ6*;{SAp9;j}UE~#y2NO?@-K7j>Nc&ZnTut%Ob5TC8*Z|rrtk! z#-lcrE6>$|#xrz@=wiaC=|yJh{Wi1s10tXeD|&S2qfk!w1;!)WjGZxSp=%OJX^_5H z7P^wgd94_l!$|aRCrD{l-dhEEsLYZJ$}GKlSjqt{3c$ z{RPgXwpWQu zghXv0rrW~ZTvuu2@A_FDuD`NOzq(cfgy`ALWF@AoP%R&;flXWDF&lA7T4Z*M$>*^+ z&RI4|S#*om3pcvcdjzPf^4=HmxfS~S&kJV!zT2_d|B28{?mtqu@h_<>+SV1#s@nI+ ze;uW)u3YVT%{*Z}q@kXPf|(}aP3v&Vl2XDrBej6HR8-T@Ux&)pgX0B_Uz#4X&&9F| z-3=kDXcd%!N!L(aw{g!L{A2}2A;g7gJA}(>C5oG>MUiNl->-Gja(YLQ0gok zm{|j%88iEG*UcL1K@fNdXU4BVnV}L!bQlLjK!cdYSYbEmfQkS&`&mzj~^f+ zg2Wbq_am9YO@JLcZm+x&i1#orjj#L5&0*}9nCx=zX)zLX!h$u3(ts7GB4T=#pfBUQ zCoJkBAW*sRKPSZ4yU-Yi_S>FLjltVTFhV+JCZBchtoQI!$zVbga8UMY5X8yOi koBwO$ZT=s9*JD4dB+1-;v1dbY!3pG~m7WwxK6~{)06yz(S^xk5 literal 0 HcmV?d00001 diff --git a/frontend/src/components/SubTypePanel.vue b/frontend/src/components/SubTypePanel.vue index 8b6eda8..119201b 100644 --- a/frontend/src/components/SubTypePanel.vue +++ b/frontend/src/components/SubTypePanel.vue @@ -105,9 +105,21 @@ -

点击下方按钮,进入设计生成页面

+

选择颜色后点击下方按钮,进入设计生成页面

-
+ + +
diff --git a/frontend/src/stores/category.ts b/frontend/src/stores/category.ts index bb27636..b504b09 100644 --- a/frontend/src/stores/category.ts +++ b/frontend/src/stores/category.ts @@ -60,8 +60,11 @@ export const useCategoryStore = defineStore('category', () => { ]) subTypes.value = subTypesData colors.value = colorsData + } else { + // simple 类型也加载颜色(如随形品类需要选颜色) + const colorsData = await getColorsApi(category.id) + colors.value = colorsData } - // simple 类型不需要加载额外数据 } finally { loading.value = false } diff --git a/frontend/src/views/GeneratePage.vue b/frontend/src/views/GeneratePage.vue index 2212e24..da9d9bb 100644 --- a/frontend/src/views/GeneratePage.vue +++ b/frontend/src/views/GeneratePage.vue @@ -53,6 +53,27 @@
+ +
+ +
+ {{ opt }} + +
+
+
@@ -292,6 +313,12 @@ const prompt = ref('') const generating = computed(() => designStore.generating) const currentDesign = computed(() => designStore.currentDesign) +// 随形专属:形状描述 +const isFreeform = computed(() => categoryName.value.includes('随形')) +const shapeDesc = ref('') +const customShape = ref('') +const shapeOptions = ['原石随形', '水滴形', '不规则块状', '鹅卵石形', '片状', '柱状', '扁圆形'] + // 新增参数状态 const carvingTechnique = ref('') const designStyle = ref('') @@ -310,11 +337,11 @@ const customScene = ref('') // 自定义输入与标签的关联 Map const tagRefs: Record = { - carvingTechnique, designStyle, motif, sizeSpec, surfaceFinish, usageScene + carvingTechnique, designStyle, motif, sizeSpec, surfaceFinish, usageScene, shapeDesc } const customRefs: Record = { carvingTechnique: customCarving, designStyle: customStyle, motif: customMotif, - sizeSpec: customSize, surfaceFinish: customFinish, usageScene: customScene + sizeSpec: customSize, surfaceFinish: customFinish, usageScene: customScene, shapeDesc: customShape } // 选择标签时清除对应自定义输入 @@ -345,6 +372,7 @@ const sizeOptions = computed(() => { if (name.includes('摆件')) return ['小(约8cm)', '中(约15cm)', '大(约25cm)'] if (name.includes('戒')) return ['戒面7号', '戒鞍12号', '戒鞍15号', '戒鞍18号'] if (name.includes('表带')) return ['宽18mm', '宽20mm', '宽22mm'] + if (name.includes('随形')) return ['小(约60mm)', '中(约80mm)', '大(约100mm)', '特大(约150mm)'] return ['小', '中', '大'] }) @@ -357,6 +385,9 @@ const promptPlaceholder = computed(() => { if (name.includes('珠') || name.includes('珠子')) { return '请描述您想要的图案,如:回纹、云纹、简单素面...' } + if (name.includes('随形')) { + return '请描述您想要的设计,如:原石随形雕刻山水、保留皮色的自然形态、利用石形雕刻动物...' + } return '请描述您的设计需求...' }) @@ -365,6 +396,17 @@ const goBack = () => { router.push('/') } +// 构建最终prompt:随形品类时将形状描述拼接到前面 +const _buildFinalPrompt = () => { + const userPrompt = prompt.value.trim() + if (!isFreeform.value) return userPrompt + const shape = shapeDesc.value || customShape.value + if (shape) { + return `形状:${shape},${userPrompt}` + } + return userPrompt +} + // 生成设计 const handleGenerate = async () => { if (!categoryId.value) { @@ -381,7 +423,7 @@ const handleGenerate = async () => { category_id: categoryId.value, sub_type_id: subTypeId.value || undefined, color_id: colorId.value || undefined, - prompt: prompt.value.trim(), + prompt: _buildFinalPrompt(), carving_technique: carvingTechnique.value || customCarving.value || undefined, design_style: designStyle.value || customStyle.value || undefined, motif: motif.value || customMotif.value || undefined, @@ -589,6 +631,12 @@ $text-light: #999999; color: $text-secondary; margin-bottom: 8px; letter-spacing: 1px; + + .param-hint { + font-weight: 400; + font-size: 12px; + color: $secondary-color; + } } .tag-list { diff --git a/init_data.sql b/init_data.sql index 72cab5f..48147ce 100644 --- a/init_data.sql +++ b/init_data.sql @@ -1,11 +1,24 @@ -- 玉宗 - 珠宝设计大师 数据库初始化脚本(全量数据) -- 使用前请先创建数据库: CREATE DATABASE yssjs CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- 导入命令: mysql --default-character-set=utf8mb4 -u yssjs -pyssjs yssjs < init_data.sql --- 注意: system_configs 中的 API Key 已脱敏,部署后请在后台管理系统中重新配置 +-- 包含全量数据(users、system_configs 含真实 API Key) SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; +-- ======================================== +-- 清空所有表数据(保证每次导入都是全新数据) +-- ======================================== +TRUNCATE TABLE `design_images`; +TRUNCATE TABLE `designs`; +TRUNCATE TABLE `prompt_mappings`; +TRUNCATE TABLE `prompt_templates`; +TRUNCATE TABLE `system_configs`; +TRUNCATE TABLE `colors`; +TRUNCATE TABLE `sub_types`; +TRUNCATE TABLE `categories`; +TRUNCATE TABLE `users`; + -- ======================================== -- 建表: users -- ======================================== @@ -21,6 +34,12 @@ CREATE TABLE IF NOT EXISTS `users` ( `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户表'; +-- ======================================== +-- 数据: users +-- ======================================== +INSERT INTO `users` (`id`, `username`, `phone`, `hashed_password`, `nickname`, `avatar`, `is_admin`, `created_at`, `updated_at`) VALUES (1, 'demo', NULL, '$2b$12$bHrcm45CwD0wbQVZIQxOmuZcx/B/MEbGYFTGpPawinDkDWI.jilY2', '演示用户', NULL, 1, '2026-03-27 04:20:30', '2026-03-27 04:20:30'); +INSERT INTO `users` (`id`, `username`, `phone`, `hashed_password`, `nickname`, `avatar`, `is_admin`, `created_at`, `updated_at`) VALUES (2, 'test1', NULL, '$2b$12$BG5/I4CVswjNWhfdIP9kJeVqbqLEcWkRq8ioxdpwON7eitL.lSVMW', '测试用户', NULL, 0, '2026-03-27 04:21:36', '2026-03-27 04:21:36'); + -- ======================================== -- 建表: categories -- ======================================== @@ -139,328 +158,340 @@ CREATE TABLE IF NOT EXISTS prompt_templates ( -- ======================================== -- categories 数据 (12 条) -- ======================================== -INSERT IGNORE INTO `categories` (`id`, `name`, `icon`, `sort_order`, `flow_type`) VALUES (1, '牌子', NULL, 1, 'full'); -INSERT IGNORE INTO `categories` (`id`, `name`, `icon`, `sort_order`, `flow_type`) VALUES (2, '珠子', NULL, 2, 'size_color'); -INSERT IGNORE INTO `categories` (`id`, `name`, `icon`, `sort_order`, `flow_type`) VALUES (3, '手把件', NULL, 3, 'full'); -INSERT IGNORE INTO `categories` (`id`, `name`, `icon`, `sort_order`, `flow_type`) VALUES (4, '雕刻件', NULL, 4, 'full'); -INSERT IGNORE INTO `categories` (`id`, `name`, `icon`, `sort_order`, `flow_type`) VALUES (5, '摆件', NULL, 5, 'full'); -INSERT IGNORE INTO `categories` (`id`, `name`, `icon`, `sort_order`, `flow_type`) VALUES (6, '手镯', NULL, 6, 'full'); -INSERT IGNORE INTO `categories` (`id`, `name`, `icon`, `sort_order`, `flow_type`) VALUES (7, '耳钉', NULL, 7, 'full'); -INSERT IGNORE INTO `categories` (`id`, `name`, `icon`, `sort_order`, `flow_type`) VALUES (8, '耳饰', NULL, 8, 'full'); -INSERT IGNORE INTO `categories` (`id`, `name`, `icon`, `sort_order`, `flow_type`) VALUES (9, '手链', NULL, 9, 'size_color'); -INSERT IGNORE INTO `categories` (`id`, `name`, `icon`, `sort_order`, `flow_type`) VALUES (10, '项链', NULL, 10, 'full'); -INSERT IGNORE INTO `categories` (`id`, `name`, `icon`, `sort_order`, `flow_type`) VALUES (11, '戒指', NULL, 11, 'full'); -INSERT IGNORE INTO `categories` (`id`, `name`, `icon`, `sort_order`, `flow_type`) VALUES (12, '表带', NULL, 12, 'size_color'); +INSERT INTO `categories` (`id`, `name`, `icon`, `sort_order`, `flow_type`) VALUES (1, '牌子', NULL, 1, 'full'); +INSERT INTO `categories` (`id`, `name`, `icon`, `sort_order`, `flow_type`) VALUES (2, '珠子', NULL, 2, 'size_color'); +INSERT INTO `categories` (`id`, `name`, `icon`, `sort_order`, `flow_type`) VALUES (3, '手把件', NULL, 3, 'full'); +INSERT INTO `categories` (`id`, `name`, `icon`, `sort_order`, `flow_type`) VALUES (4, '雕刻件', NULL, 4, 'full'); +INSERT INTO `categories` (`id`, `name`, `icon`, `sort_order`, `flow_type`) VALUES (5, '摆件', NULL, 5, 'full'); +INSERT INTO `categories` (`id`, `name`, `icon`, `sort_order`, `flow_type`) VALUES (6, '手镯', NULL, 6, 'full'); +INSERT INTO `categories` (`id`, `name`, `icon`, `sort_order`, `flow_type`) VALUES (7, '耳钉', NULL, 7, 'full'); +INSERT INTO `categories` (`id`, `name`, `icon`, `sort_order`, `flow_type`) VALUES (8, '耳饰', NULL, 8, 'full'); +INSERT INTO `categories` (`id`, `name`, `icon`, `sort_order`, `flow_type`) VALUES (9, '手链', NULL, 9, 'size_color'); +INSERT INTO `categories` (`id`, `name`, `icon`, `sort_order`, `flow_type`) VALUES (10, '项链', NULL, 10, 'full'); +INSERT INTO `categories` (`id`, `name`, `icon`, `sort_order`, `flow_type`) VALUES (11, '戒指', NULL, 11, 'full'); +INSERT INTO `categories` (`id`, `name`, `icon`, `sort_order`, `flow_type`) VALUES (12, '表带', NULL, 12, 'size_color'); +INSERT INTO `categories` (`id`, `name`, `icon`, `sort_order`, `flow_type`) VALUES (13, '随形', NULL, 13, 'simple'); -- ======================================== -- sub_types 数据 (68 条) -- ======================================== -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (1, 1, '二五牌', NULL, NULL, 1); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (2, 1, '三角牌', NULL, NULL, 2); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (3, 1, '三五牌', NULL, NULL, 3); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (4, 1, '四六牌', NULL, NULL, 4); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (5, 1, '正方形', NULL, NULL, 5); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (6, 1, '椭圆形', NULL, NULL, 6); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (7, 2, '4mm', NULL, NULL, 1); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (8, 2, '6mm', NULL, NULL, 2); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (9, 2, '8mm', NULL, NULL, 3); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (10, 2, '10mm', NULL, NULL, 4); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (11, 2, '12mm', NULL, NULL, 5); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (12, 2, '14mm', NULL, NULL, 6); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (13, 2, '16mm', NULL, NULL, 7); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (14, 2, '18mm', NULL, NULL, 8); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (15, 2, '20mm', NULL, NULL, 9); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (16, 3, '山水手把件', '山水意境题材', NULL, 1); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (17, 3, '动物手把件', '动物造型题材', NULL, 2); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (18, 3, '瑞兽手把件', '貔貅、麒麟等瑞兽', NULL, 3); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (19, 3, '人物手把件', '人物造型题材', NULL, 4); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (20, 3, '花鸟手把件', '花鸟自然题材', NULL, 5); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (21, 3, '佛像手把件', '佛教题材', NULL, 6); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (22, 4, '山水雕刻', '山水意境雕刻', NULL, 1); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (23, 4, '花鸟雕刻', '花鸟自然雕刻', NULL, 2); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (24, 4, '人物雕刻', '人物造型雕刻', NULL, 3); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (25, 4, '佛像雕刻', '佛教题材雕刻', NULL, 4); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (26, 4, '瑞兽雕刻', '瑞兽神兽雕刻', NULL, 5); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (27, 4, '仿古雕刻', '仿古纹饰雕刻', NULL, 6); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (28, 5, '山水摆件', '山水意境摆件', NULL, 1); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (29, 5, '人物摆件', '人物造型摆件', NULL, 2); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (30, 5, '动物摆件', '动物造型摆件', NULL, 3); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (31, 5, '佛像摆件', '佛教题材摆件', NULL, 4); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (32, 5, '花鸟摆件', '花鸟自然摆件', NULL, 5); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (33, 5, '器皿摆件', '香炉、花瓶等器皿', NULL, 6); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (34, 6, '平安镯', '内平外圆,最经典的镯型', NULL, 1); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (35, 6, '福镯', '内圆外圆,圆条造型', NULL, 2); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (36, 6, '贵妃镯', '椭圆形,贴合手腕', NULL, 3); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (37, 6, '美人镯', '条杆纤细,秀气典雅', NULL, 4); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (38, 6, '方镯', '方形截面,棱角分明', NULL, 5); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (39, 6, '雕花镯', '表面雕刻纹饰', NULL, 6); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (40, 7, '圆形耳钉', '经典圆形造型', NULL, 1); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (41, 7, '水滴形耳钉', '水滴形优雅造型', NULL, 2); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (42, 7, '方形耳钉', '方形简约造型', NULL, 3); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (43, 7, '花朵形耳钉', '花朵造型', NULL, 4); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (44, 7, '心形耳钉', '心形浪漫造型', NULL, 5); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (45, 7, '几何形耳钉', '几何抽象造型', NULL, 6); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (46, 8, '耳环', '圆环形耳饰', NULL, 1); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (47, 8, '耳坠', '垂坠型耳饰', NULL, 2); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (48, 8, '耳夹', '无需耳洞的耳饰', NULL, 3); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (49, 8, '流苏耳饰', '长款流苏造型', NULL, 4); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (50, 9, '6mm', NULL, NULL, 1); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (51, 9, '8mm', NULL, NULL, 2); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (52, 9, '10mm', NULL, NULL, 3); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (53, 9, '12mm', NULL, NULL, 4); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (54, 9, '14mm', NULL, NULL, 5); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (55, 10, '锁骨链', '短款锁骨链', NULL, 1); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (56, 10, '吊坠项链', '搭配玉石吊坠', NULL, 2); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (57, 10, '串珠项链', '玉珠串联而成', NULL, 3); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (58, 10, '编绳项链', '编织绳搭配玉石', NULL, 4); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (59, 10, '毛衣链', '长款毛衣链', NULL, 5); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (60, 11, '素面戒指', '光面简约戒指', NULL, 1); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (61, 11, '镶嵌戒指', '金属镶嵌玉石', NULL, 2); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (62, 11, '雕花戒指', '表面雕刻纹饰', NULL, 3); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (63, 11, '扳指', '传统扳指造型', NULL, 4); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (64, 11, '指环', '环形简约指环', NULL, 5); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (65, 12, '18mm', NULL, NULL, 1); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (66, 12, '20mm', NULL, NULL, 2); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (67, 12, '22mm', NULL, NULL, 3); -INSERT IGNORE INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (68, 12, '24mm', NULL, NULL, 4); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (1, 1, '二五牌', NULL, NULL, 1); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (2, 1, '三角牌', NULL, NULL, 2); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (3, 1, '三五牌', NULL, NULL, 3); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (4, 1, '四六牌', NULL, NULL, 4); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (5, 1, '正方形', NULL, NULL, 5); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (6, 1, '椭圆形', NULL, NULL, 6); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (7, 2, '4mm', NULL, NULL, 1); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (8, 2, '6mm', NULL, NULL, 2); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (9, 2, '8mm', NULL, NULL, 3); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (10, 2, '10mm', NULL, NULL, 4); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (11, 2, '12mm', NULL, NULL, 5); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (12, 2, '14mm', NULL, NULL, 6); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (13, 2, '16mm', NULL, NULL, 7); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (14, 2, '18mm', NULL, NULL, 8); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (15, 2, '20mm', NULL, NULL, 9); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (16, 3, '山水手把件', '山水意境题材', NULL, 1); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (17, 3, '动物手把件', '动物造型题材', NULL, 2); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (18, 3, '瑞兽手把件', '貔貅、麒麟等瑞兽', NULL, 3); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (19, 3, '人物手把件', '人物造型题材', NULL, 4); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (20, 3, '花鸟手把件', '花鸟自然题材', NULL, 5); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (21, 3, '佛像手把件', '佛教题材', NULL, 6); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (22, 4, '山水雕刻', '山水意境雕刻', NULL, 1); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (23, 4, '花鸟雕刻', '花鸟自然雕刻', NULL, 2); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (24, 4, '人物雕刻', '人物造型雕刻', NULL, 3); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (25, 4, '佛像雕刻', '佛教题材雕刻', NULL, 4); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (26, 4, '瑞兽雕刻', '瑞兽神兽雕刻', NULL, 5); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (27, 4, '仿古雕刻', '仿古纹饰雕刻', NULL, 6); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (28, 5, '山水摆件', '山水意境摆件', NULL, 1); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (29, 5, '人物摆件', '人物造型摆件', NULL, 2); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (30, 5, '动物摆件', '动物造型摆件', NULL, 3); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (31, 5, '佛像摆件', '佛教题材摆件', NULL, 4); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (32, 5, '花鸟摆件', '花鸟自然摆件', NULL, 5); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (33, 5, '器皿摆件', '香炉、花瓶等器皿', NULL, 6); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (34, 6, '平安镯', '内平外圆,最经典的镯型', NULL, 1); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (35, 6, '福镯', '内圆外圆,圆条造型', NULL, 2); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (36, 6, '贵妃镯', '椭圆形,贴合手腕', NULL, 3); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (37, 6, '美人镯', '条杆纤细,秀气典雅', NULL, 4); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (38, 6, '方镯', '方形截面,棱角分明', NULL, 5); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (39, 6, '雕花镯', '表面雕刻纹饰', NULL, 6); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (40, 7, '圆形耳钉', '经典圆形造型', NULL, 1); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (41, 7, '水滴形耳钉', '水滴形优雅造型', NULL, 2); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (42, 7, '方形耳钉', '方形简约造型', NULL, 3); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (43, 7, '花朵形耳钉', '花朵造型', NULL, 4); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (44, 7, '心形耳钉', '心形浪漫造型', NULL, 5); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (45, 7, '几何形耳钉', '几何抽象造型', NULL, 6); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (46, 8, '耳环', '圆环形耳饰', NULL, 1); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (47, 8, '耳坠', '垂坠型耳饰', NULL, 2); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (48, 8, '耳夹', '无需耳洞的耳饰', NULL, 3); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (49, 8, '流苏耳饰', '长款流苏造型', NULL, 4); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (50, 9, '6mm', NULL, NULL, 1); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (51, 9, '8mm', NULL, NULL, 2); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (52, 9, '10mm', NULL, NULL, 3); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (53, 9, '12mm', NULL, NULL, 4); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (54, 9, '14mm', NULL, NULL, 5); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (55, 10, '锁骨链', '短款锁骨链', NULL, 1); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (56, 10, '吊坠项链', '搭配玉石吊坠', NULL, 2); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (57, 10, '串珠项链', '玉珠串联而成', NULL, 3); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (58, 10, '编绳项链', '编织绳搭配玉石', NULL, 4); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (59, 10, '毛衣链', '长款毛衣链', NULL, 5); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (60, 11, '素面戒指', '光面简约戒指', NULL, 1); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (61, 11, '镶嵌戒指', '金属镶嵌玉石', NULL, 2); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (62, 11, '雕花戒指', '表面雕刻纹饰', NULL, 3); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (63, 11, '扳指', '传统扳指造型', NULL, 4); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (64, 11, '指环', '环形简约指环', NULL, 5); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (65, 12, '18mm', NULL, NULL, 1); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (66, 12, '20mm', NULL, NULL, 2); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (67, 12, '22mm', NULL, NULL, 3); +INSERT INTO `sub_types` (`id`, `category_id`, `name`, `description`, `preview_image`, `sort_order`) VALUES (68, 12, '24mm', NULL, NULL, 4); -- ======================================== -- colors 数据 (121 条) -- ======================================== -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (1, 2, '糖白', '#F5F0E8', 1); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (2, 2, '白玉', '#FEFEF2', 2); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (3, 2, '碧玉', '#2D5F2D', 3); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (4, 1, '白玉', '#FEFEF2', 1); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (5, 1, '青白玉', '#E8EDE4', 2); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (6, 1, '青玉', '#7A8B6E', 3); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (7, 1, '碧玉', '#2D5F2D', 4); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (8, 1, '翠青', '#6BAF8D', 5); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (9, 1, '黄玉', '#D4A843', 6); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (10, 1, '糖玉', '#C4856C', 7); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (11, 1, '墨玉', '#2C2C2C', 8); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (12, 1, '藕粉', '#E8B4B8', 9); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (13, 1, '烟紫', '#8B7D9B', 10); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (14, 3, '白玉', '#FEFEF2', 1); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (15, 3, '青白玉', '#E8EDE4', 2); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (16, 3, '青玉', '#7A8B6E', 3); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (17, 3, '碧玉', '#2D5F2D', 4); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (18, 3, '翠青', '#6BAF8D', 5); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (19, 3, '黄玉', '#D4A843', 6); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (20, 3, '糖玉', '#C4856C', 7); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (21, 3, '墨玉', '#2C2C2C', 8); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (22, 3, '藕粉', '#E8B4B8', 9); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (23, 3, '烟紫', '#8B7D9B', 10); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (24, 4, '白玉', '#FEFEF2', 1); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (25, 4, '青白玉', '#E8EDE4', 2); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (26, 4, '青玉', '#7A8B6E', 3); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (27, 4, '碧玉', '#2D5F2D', 4); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (28, 4, '翠青', '#6BAF8D', 5); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (29, 4, '黄玉', '#D4A843', 6); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (30, 4, '糖玉', '#C4856C', 7); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (31, 4, '墨玉', '#2C2C2C', 8); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (32, 4, '藕粉', '#E8B4B8', 9); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (33, 4, '烟紫', '#8B7D9B', 10); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (34, 5, '白玉', '#FEFEF2', 1); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (35, 5, '青白玉', '#E8EDE4', 2); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (36, 5, '青玉', '#7A8B6E', 3); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (37, 5, '碧玉', '#2D5F2D', 4); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (38, 5, '翠青', '#6BAF8D', 5); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (39, 5, '黄玉', '#D4A843', 6); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (40, 5, '糖玉', '#C4856C', 7); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (41, 5, '墨玉', '#2C2C2C', 8); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (42, 5, '藕粉', '#E8B4B8', 9); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (43, 5, '烟紫', '#8B7D9B', 10); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (44, 6, '白玉', '#FEFEF2', 1); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (45, 6, '青白玉', '#E8EDE4', 2); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (46, 6, '青玉', '#7A8B6E', 3); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (47, 6, '碧玉', '#2D5F2D', 4); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (48, 6, '翠青', '#6BAF8D', 5); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (49, 6, '黄玉', '#D4A843', 6); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (50, 6, '糖玉', '#C4856C', 7); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (51, 6, '墨玉', '#2C2C2C', 8); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (52, 6, '藕粉', '#E8B4B8', 9); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (53, 6, '烟紫', '#8B7D9B', 10); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (54, 7, '白玉', '#FEFEF2', 1); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (55, 7, '碧玉', '#2D5F2D', 2); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (56, 7, '翠青', '#6BAF8D', 3); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (57, 7, '黄玉', '#D4A843', 4); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (58, 7, '藕粉', '#E8B4B8', 5); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (59, 7, '烟紫', '#8B7D9B', 6); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (60, 8, '白玉', '#FEFEF2', 1); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (61, 8, '碧玉', '#2D5F2D', 2); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (62, 8, '翠青', '#6BAF8D', 3); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (63, 8, '黄玉', '#D4A843', 4); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (64, 8, '藕粉', '#E8B4B8', 5); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (65, 8, '烟紫', '#8B7D9B', 6); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (66, 9, '白玉', '#FEFEF2', 1); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (67, 9, '青白玉', '#E8EDE4', 2); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (68, 9, '青玉', '#7A8B6E', 3); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (69, 9, '碧玉', '#2D5F2D', 4); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (70, 9, '翠青', '#6BAF8D', 5); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (71, 9, '黄玉', '#D4A843', 6); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (72, 9, '糖玉', '#C4856C', 7); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (73, 9, '墨玉', '#2C2C2C', 8); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (74, 9, '藕粉', '#E8B4B8', 9); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (75, 9, '烟紫', '#8B7D9B', 10); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (76, 10, '白玉', '#FEFEF2', 1); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (77, 10, '青白玉', '#E8EDE4', 2); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (78, 10, '青玉', '#7A8B6E', 3); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (79, 10, '碧玉', '#2D5F2D', 4); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (80, 10, '翠青', '#6BAF8D', 5); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (81, 10, '黄玉', '#D4A843', 6); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (82, 10, '糖玉', '#C4856C', 7); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (83, 10, '墨玉', '#2C2C2C', 8); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (84, 10, '藕粉', '#E8B4B8', 9); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (85, 10, '烟紫', '#8B7D9B', 10); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (86, 11, '白玉', '#FEFEF2', 1); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (87, 11, '碧玉', '#2D5F2D', 2); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (88, 11, '翠青', '#6BAF8D', 3); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (89, 11, '黄玉', '#D4A843', 4); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (90, 11, '墨玉', '#2C2C2C', 5); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (91, 11, '藕粉', '#E8B4B8', 6); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (92, 12, '白玉', '#FEFEF2', 1); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (93, 12, '青玉', '#7A8B6E', 2); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (94, 12, '碧玉', '#2D5F2D', 3); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (95, 12, '糖玉', '#C4856C', 4); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (96, 12, '墨玉', '#2C2C2C', 5); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (97, 2, '青白玉', '#E8EDE4', 5); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (98, 2, '青玉', '#7A8B6E', 6); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (99, 2, '翠青', '#6BAF8D', 8); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (100, 2, '黄玉', '#D4A843', 9); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (101, 2, '糖玉', '#C4856C', 10); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (102, 2, '墨玉', '#2C2C2C', 11); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (103, 2, '藕粉', '#E8B4B8', 12); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (104, 2, '烟紫', '#8B7D9B', 13); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (105, 7, '青白玉', '#E8EDE4', 2); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (106, 7, '青玉', '#7A8B6E', 3); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (107, 7, '糖玉', '#C4856C', 7); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (108, 7, '墨玉', '#2C2C2C', 8); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (109, 8, '青白玉', '#E8EDE4', 2); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (110, 8, '青玉', '#7A8B6E', 3); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (111, 8, '糖玉', '#C4856C', 7); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (112, 8, '墨玉', '#2C2C2C', 8); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (113, 11, '青白玉', '#E8EDE4', 2); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (114, 11, '青玉', '#7A8B6E', 3); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (115, 11, '糖玉', '#C4856C', 7); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (116, 11, '烟紫', '#8B7D9B', 10); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (117, 12, '青白玉', '#E8EDE4', 2); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (118, 12, '翠青', '#6BAF8D', 5); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (119, 12, '黄玉', '#D4A843', 6); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (120, 12, '藕粉', '#E8B4B8', 9); -INSERT IGNORE INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (121, 12, '烟紫', '#8B7D9B', 10); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (1, 2, '糖白', '#F5F0E8', 1); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (2, 2, '白玉', '#FEFEF2', 2); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (3, 2, '碧玉', '#2D5F2D', 3); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (4, 1, '白玉', '#FEFEF2', 1); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (5, 1, '青白玉', '#E8EDE4', 2); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (6, 1, '青玉', '#7A8B6E', 3); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (7, 1, '碧玉', '#2D5F2D', 4); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (8, 1, '翠青', '#6BAF8D', 5); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (9, 1, '黄玉', '#D4A843', 6); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (10, 1, '糖玉', '#C4856C', 7); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (11, 1, '墨玉', '#2C2C2C', 8); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (12, 1, '藕粉', '#E8B4B8', 9); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (13, 1, '烟紫', '#8B7D9B', 10); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (14, 3, '白玉', '#FEFEF2', 1); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (15, 3, '青白玉', '#E8EDE4', 2); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (16, 3, '青玉', '#7A8B6E', 3); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (17, 3, '碧玉', '#2D5F2D', 4); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (18, 3, '翠青', '#6BAF8D', 5); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (19, 3, '黄玉', '#D4A843', 6); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (20, 3, '糖玉', '#C4856C', 7); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (21, 3, '墨玉', '#2C2C2C', 8); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (22, 3, '藕粉', '#E8B4B8', 9); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (23, 3, '烟紫', '#8B7D9B', 10); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (24, 4, '白玉', '#FEFEF2', 1); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (25, 4, '青白玉', '#E8EDE4', 2); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (26, 4, '青玉', '#7A8B6E', 3); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (27, 4, '碧玉', '#2D5F2D', 4); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (28, 4, '翠青', '#6BAF8D', 5); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (29, 4, '黄玉', '#D4A843', 6); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (30, 4, '糖玉', '#C4856C', 7); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (31, 4, '墨玉', '#2C2C2C', 8); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (32, 4, '藕粉', '#E8B4B8', 9); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (33, 4, '烟紫', '#8B7D9B', 10); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (34, 5, '白玉', '#FEFEF2', 1); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (35, 5, '青白玉', '#E8EDE4', 2); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (36, 5, '青玉', '#7A8B6E', 3); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (37, 5, '碧玉', '#2D5F2D', 4); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (38, 5, '翠青', '#6BAF8D', 5); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (39, 5, '黄玉', '#D4A843', 6); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (40, 5, '糖玉', '#C4856C', 7); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (41, 5, '墨玉', '#2C2C2C', 8); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (42, 5, '藕粉', '#E8B4B8', 9); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (43, 5, '烟紫', '#8B7D9B', 10); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (44, 6, '白玉', '#FEFEF2', 1); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (45, 6, '青白玉', '#E8EDE4', 2); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (46, 6, '青玉', '#7A8B6E', 3); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (47, 6, '碧玉', '#2D5F2D', 4); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (48, 6, '翠青', '#6BAF8D', 5); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (49, 6, '黄玉', '#D4A843', 6); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (50, 6, '糖玉', '#C4856C', 7); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (51, 6, '墨玉', '#2C2C2C', 8); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (52, 6, '藕粉', '#E8B4B8', 9); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (53, 6, '烟紫', '#8B7D9B', 10); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (54, 7, '白玉', '#FEFEF2', 1); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (55, 7, '碧玉', '#2D5F2D', 2); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (56, 7, '翠青', '#6BAF8D', 3); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (57, 7, '黄玉', '#D4A843', 4); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (58, 7, '藕粉', '#E8B4B8', 5); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (59, 7, '烟紫', '#8B7D9B', 6); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (60, 8, '白玉', '#FEFEF2', 1); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (61, 8, '碧玉', '#2D5F2D', 2); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (62, 8, '翠青', '#6BAF8D', 3); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (63, 8, '黄玉', '#D4A843', 4); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (64, 8, '藕粉', '#E8B4B8', 5); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (65, 8, '烟紫', '#8B7D9B', 6); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (66, 9, '白玉', '#FEFEF2', 1); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (67, 9, '青白玉', '#E8EDE4', 2); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (68, 9, '青玉', '#7A8B6E', 3); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (69, 9, '碧玉', '#2D5F2D', 4); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (70, 9, '翠青', '#6BAF8D', 5); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (71, 9, '黄玉', '#D4A843', 6); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (72, 9, '糖玉', '#C4856C', 7); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (73, 9, '墨玉', '#2C2C2C', 8); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (74, 9, '藕粉', '#E8B4B8', 9); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (75, 9, '烟紫', '#8B7D9B', 10); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (76, 10, '白玉', '#FEFEF2', 1); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (77, 10, '青白玉', '#E8EDE4', 2); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (78, 10, '青玉', '#7A8B6E', 3); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (79, 10, '碧玉', '#2D5F2D', 4); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (80, 10, '翠青', '#6BAF8D', 5); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (81, 10, '黄玉', '#D4A843', 6); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (82, 10, '糖玉', '#C4856C', 7); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (83, 10, '墨玉', '#2C2C2C', 8); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (84, 10, '藕粉', '#E8B4B8', 9); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (85, 10, '烟紫', '#8B7D9B', 10); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (86, 11, '白玉', '#FEFEF2', 1); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (87, 11, '碧玉', '#2D5F2D', 2); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (88, 11, '翠青', '#6BAF8D', 3); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (89, 11, '黄玉', '#D4A843', 4); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (90, 11, '墨玉', '#2C2C2C', 5); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (91, 11, '藕粉', '#E8B4B8', 6); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (92, 12, '白玉', '#FEFEF2', 1); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (93, 12, '青玉', '#7A8B6E', 2); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (94, 12, '碧玉', '#2D5F2D', 3); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (95, 12, '糖玉', '#C4856C', 4); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (96, 12, '墨玉', '#2C2C2C', 5); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (97, 2, '青白玉', '#E8EDE4', 5); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (98, 2, '青玉', '#7A8B6E', 6); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (99, 2, '翠青', '#6BAF8D', 8); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (100, 2, '黄玉', '#D4A843', 9); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (101, 2, '糖玉', '#C4856C', 10); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (102, 2, '墨玉', '#2C2C2C', 11); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (103, 2, '藕粉', '#E8B4B8', 12); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (104, 2, '烟紫', '#8B7D9B', 13); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (105, 7, '青白玉', '#E8EDE4', 2); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (106, 7, '青玉', '#7A8B6E', 3); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (107, 7, '糖玉', '#C4856C', 7); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (108, 7, '墨玉', '#2C2C2C', 8); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (109, 8, '青白玉', '#E8EDE4', 2); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (110, 8, '青玉', '#7A8B6E', 3); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (111, 8, '糖玉', '#C4856C', 7); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (112, 8, '墨玉', '#2C2C2C', 8); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (113, 11, '青白玉', '#E8EDE4', 2); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (114, 11, '青玉', '#7A8B6E', 3); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (115, 11, '糖玉', '#C4856C', 7); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (116, 11, '烟紫', '#8B7D9B', 10); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (117, 12, '青白玉', '#E8EDE4', 2); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (118, 12, '翠青', '#6BAF8D', 5); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (119, 12, '黄玉', '#D4A843', 6); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (120, 12, '藕粉', '#E8B4B8', 9); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (121, 12, '烟紫', '#8B7D9B', 10); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (122, 13, '白玉', '#FEFEF2', 1); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (123, 13, '青白玉', '#E8EDE4', 2); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (124, 13, '青玉', '#7A8B6E', 3); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (125, 13, '碧玉', '#2D5F2D', 4); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (126, 13, '翠青', '#6BAF8D', 5); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (127, 13, '黄玉', '#D4A843', 6); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (128, 13, '糖玉', '#C4856C', 7); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (129, 13, '墨玉', '#2C2C2C', 8); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (130, 13, '藕粉', '#E8B4B8', 9); +INSERT INTO `colors` (`id`, `category_id`, `name`, `hex_code`, `sort_order`) VALUES (131, 13, '烟紫', '#8B7D9B', 10); -- ======================================== --- prompt_mappings 数据 (92 条) +-- prompt_mappings 数据 (93 条) -- ======================================== -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (1, 'category', '牌子', 'Chinese Hetian nephrite jade pendant plaque, rectangular tablet shape', 0, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (2, 'category', '珠子', 'Chinese Hetian nephrite jade bead, perfectly round sphere', 1, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (3, 'category', '手把件', 'Chinese Hetian nephrite jade hand piece (palm stone), ergonomic carved ornament for hand play', 2, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (4, 'category', '雕刻件', 'Chinese Hetian nephrite jade carving, intricate sculptural artwork', 3, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (5, 'category', '摆件', 'Chinese Hetian nephrite jade display sculpture, decorative art piece on wooden stand', 4, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (6, 'category', '手镯', 'Chinese Hetian nephrite jade bangle bracelet, smooth circular form', 5, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (7, 'category', '耳钉', 'Chinese Hetian nephrite jade stud earring, delicate small jewelry piece', 6, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (8, 'category', '耳饰', 'Chinese Hetian nephrite jade drop earring, elegant dangling jewelry', 7, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (9, 'category', '手链', 'Chinese Hetian nephrite jade bead bracelet, string of polished beads', 8, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (10, 'category', '项链', 'Chinese Hetian nephrite jade necklace, elegant pendant on chain', 9, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (11, 'category', '戒指', 'Chinese Hetian nephrite jade ring, polished jade mounted on band', 10, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (12, 'category', '表带', 'Chinese Hetian nephrite jade watch strap, segmented jade links', 11, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (13, 'color', '白玉', 'pure white nephrite jade, milky translucent, warm ivory tone', 0, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (14, 'color', '青白玉', 'celadon-white nephrite jade, pale greenish-white, subtle cool tone', 1, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (15, 'color', '青玉', 'celadon nephrite jade, muted sage green, natural earthy green', 2, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (16, 'color', '碧玉', 'deep green jasper nephrite jade, rich forest green, vivid saturated', 3, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (17, 'color', '翠青', 'emerald-tinted nephrite jade, fresh spring green with blue undertone', 4, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (18, 'color', '黄玉', 'golden yellow nephrite jade, warm honey amber, rich golden hue', 5, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (19, 'color', '糖玉', 'sugar-brown nephrite jade, warm caramel brown with reddish tint', 6, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (20, 'color', '墨玉', 'ink-black nephrite jade, deep charcoal black, mysterious dark', 7, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (21, 'color', '藕粉', 'lotus-pink nephrite jade, soft blush pink, delicate pastel rose', 8, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (22, 'color', '烟紫', 'smoky purple nephrite jade, muted lavender grey, subtle violet', 9, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (23, 'color', '糖白', 'sugar-white nephrite jade, creamy white with light brown edges', 10, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (24, 'view', '效果图', 'three-quarter view, 45-degree angle, hero shot, dramatic perspective showing depth and dimension', 0, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (25, 'view', '正面图', 'front view, straight-on, flat lay centered, facing camera directly', 1, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (26, 'view', '侧面图', 'side profile view, 90-degree lateral angle, showing thickness and contour', 2, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (27, 'view', '背面图', 'back view, rear side, showing reverse surface and texture', 3, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (28, 'carving', '浮雕', 'relief carving with raised design emerging from surface', 0, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (29, 'carving', '圆雕', 'full three-dimensional round carving, sculptural in the round', 1, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (30, 'carving', '镂空雕', 'openwork pierced carving, intricate hollow cutout patterns', 2, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (31, 'carving', '阴刻', 'intaglio engraving, incised lines carved into the surface', 3, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (32, 'carving', '线雕', 'fine line engraving, delicate linear incised pattern', 4, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (33, 'carving', '俏色雕', 'qiaose color-play carving utilizing natural jade skin color contrast', 5, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (34, 'carving', '薄意雕', 'shallow thin-relief carving, subtle and understated surface design', 6, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (35, 'carving', '素面', 'plain polished surface, smooth minimalist finish without carving', 7, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (36, 'style', '古典传统', 'classical traditional Chinese style, antique aesthetic, heritage craftsmanship', 0, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (37, 'style', '新中式', 'modern neo-Chinese style, contemporary Asian minimalism with traditional elements', 1, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (38, 'style', '写实', 'realistic naturalistic style, lifelike detailed representation', 2, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (39, 'style', '抽象意境', 'abstract artistic impression, fluid organic forms, poetic mood', 3, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (40, 'style', '极简素面', 'ultra-minimalist clean design, sleek smooth surface, zen aesthetic', 4, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (41, 'motif', '观音', 'Guanyin Bodhisattva figure, serene Buddhist deity of mercy', 0, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (42, 'motif', '弥勒', 'Maitreya laughing Buddha, jovial happy Buddha figure', 1, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (43, 'motif', '莲花', 'lotus flower motif, sacred Buddhist lotus blossom petals', 2, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (44, 'motif', '貔貅', 'Pixiu mythical beast, Chinese fortune guardian creature', 3, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (45, 'motif', '龙凤', 'dragon and phoenix motif, imperial auspicious dual creatures', 4, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (46, 'motif', '麒麟', 'Qilin mythical unicorn, auspicious Chinese legendary beast', 5, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (47, 'motif', '山水', 'Chinese mountain and water landscape, shanshui scenery', 6, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (48, 'motif', '花鸟', 'flower and bird motif, traditional Chinese nature painting theme', 7, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (49, 'motif', '人物', 'human figure motif, classical Chinese character portrayal', 8, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (50, 'motif', '回纹', 'Greek key fret pattern, Chinese meander geometric border', 9, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (51, 'motif', '如意', 'Ruyi scepter motif, auspicious cloud-head wish-granting symbol', 10, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (52, 'motif', '平安扣', 'Ping\'an buckle motif, smooth circular safety and peace symbol', 11, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (53, 'finish', '高光抛光', 'high-gloss mirror polish, reflective glossy surface', 0, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (54, 'finish', '亚光/哑光', 'matte satin finish, soft non-reflective surface', 1, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (55, 'finish', '磨砂', 'frosted textured finish, fine granular surface', 2, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (56, 'finish', '保留皮色', 'natural jade skin preserved, raw russet-brown outer skin layer retained', 3, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (57, 'scene', '日常佩戴', 'designed for daily wear, comfortable and practical', 0, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (58, 'scene', '收藏鉴赏', 'museum-quality collector piece, exquisite showpiece', 1, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (59, 'scene', '送礼婚庆', 'premium gift piece, ceremonial and auspicious', 2, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (60, 'scene', '把玩文玩', 'tactile palm play piece, smooth hand-feel for meditation', 3, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (61, 'sub_type', '二五牌', '2:5 ratio rectangular plaque', 0, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (62, 'sub_type', '三角牌', 'triangular shaped pendant', 1, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (63, 'sub_type', '三五牌', '3:5 ratio rectangular plaque', 2, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (64, 'sub_type', '四六牌', '4:6 ratio rectangular plaque', 3, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (65, 'sub_type', '正方形', 'square shaped plaque', 4, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (66, 'sub_type', '椭圆形', 'oval shaped plaque', 5, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (67, 'sub_type', '平安镯', 'flat interior round exterior classic bangle', 6, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (68, 'sub_type', '福镯', 'round interior round exterior full-round bangle', 7, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (69, 'sub_type', '贵妃镯', 'oval elliptical shape bangle fitting wrist contour', 8, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (70, 'sub_type', '美人镯', 'slim delicate thin bangle, elegant refined', 9, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (71, 'sub_type', '方镯', 'square cross-section angular bangle', 10, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (72, 'sub_type', '雕花镯', 'carved decorative pattern bangle', 11, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (73, 'sub_type', '圆形耳钉', 'round circular stud', 12, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (74, 'sub_type', '水滴形耳钉', 'teardrop shaped stud', 13, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (75, 'sub_type', '方形耳钉', 'square geometric stud', 14, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (76, 'sub_type', '花朵形耳钉', 'flower blossom shaped stud', 15, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (77, 'sub_type', '心形耳钉', 'heart shaped stud', 16, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (78, 'sub_type', '几何形耳钉', 'abstract geometric stud', 17, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (79, 'sub_type', '耳环', 'hoop earring', 18, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (80, 'sub_type', '耳坠', 'drop dangle earring', 19, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (81, 'sub_type', '耳夹', 'clip-on earring', 20, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (82, 'sub_type', '流苏耳饰', 'tassel fringe long earring', 21, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (83, 'sub_type', '素面戒指', 'plain smooth surface ring', 22, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (84, 'sub_type', '镶嵌戒指', 'metal-set mounted jade ring', 23, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (85, 'sub_type', '雕花戒指', 'carved decorative ring', 24, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (86, 'sub_type', '扳指', 'traditional archer thumb ring', 25, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (87, 'sub_type', '指环', 'simple band ring', 26, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (88, 'sub_type', '锁骨链', 'short collarbone chain necklace', 27, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (89, 'sub_type', '吊坠项链', 'pendant necklace with jade drop', 28, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (90, 'sub_type', '串珠项链', 'beaded jade strand necklace', 29, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (91, 'sub_type', '编绳项链', 'braided cord necklace with jade', 30, '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (92, 'sub_type', '毛衣链', 'long sweater chain necklace', 31, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (1, 'category', '牌子', 'Chinese Hetian nephrite jade pendant plaque, rectangular tablet shape', 0, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (2, 'category', '珠子', 'Chinese Hetian nephrite jade bead, perfectly round sphere', 1, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (3, 'category', '手把件', 'Chinese Hetian nephrite jade hand piece (palm stone), ergonomic carved ornament for hand play', 2, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (4, 'category', '雕刻件', 'Chinese Hetian nephrite jade carving, intricate sculptural artwork', 3, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (5, 'category', '摆件', 'Chinese Hetian nephrite jade display sculpture, decorative art piece on wooden stand', 4, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (6, 'category', '手镯', 'Chinese Hetian nephrite jade bangle bracelet, smooth circular form', 5, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (7, 'category', '耳钉', 'Chinese Hetian nephrite jade stud earring, delicate small jewelry piece', 6, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (8, 'category', '耳饰', 'Chinese Hetian nephrite jade drop earring, elegant dangling jewelry', 7, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (9, 'category', '手链', 'Chinese Hetian nephrite jade bead bracelet, string of polished beads', 8, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (10, 'category', '项链', 'Chinese Hetian nephrite jade necklace, elegant pendant on chain', 9, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (11, 'category', '戒指', 'Chinese Hetian nephrite jade ring, polished jade mounted on band', 10, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (12, 'category', '表带', 'Chinese Hetian nephrite jade watch strap, segmented jade links', 11, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (93, 'category', '随形', 'Chinese Hetian nephrite jade freeform sculpture, organic natural shape following the raw stone contour, artistic interpretation of the original rough jade form', 12, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (13, 'color', '白玉', 'pure white nephrite jade, milky translucent, warm ivory tone', 0, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (14, 'color', '青白玉', 'celadon-white nephrite jade, pale greenish-white, subtle cool tone', 1, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (15, 'color', '青玉', 'celadon nephrite jade, muted sage green, natural earthy green', 2, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (16, 'color', '碧玉', 'deep green jasper nephrite jade, rich forest green, vivid saturated', 3, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (17, 'color', '翠青', 'emerald-tinted nephrite jade, fresh spring green with blue undertone', 4, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (18, 'color', '黄玉', 'golden yellow nephrite jade, warm honey amber, rich golden hue', 5, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (19, 'color', '糖玉', 'sugar-brown nephrite jade, warm caramel brown with reddish tint', 6, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (20, 'color', '墨玉', 'ink-black nephrite jade, deep charcoal black, mysterious dark', 7, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (21, 'color', '藕粉', 'lotus-pink nephrite jade, soft blush pink, delicate pastel rose', 8, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (22, 'color', '烟紫', 'smoky purple nephrite jade, muted lavender grey, subtle violet', 9, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (23, 'color', '糖白', 'sugar-white nephrite jade, creamy white with light brown edges', 10, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (24, 'view', '效果图', 'three-quarter view, 45-degree angle, hero shot, dramatic perspective showing depth and dimension', 0, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (25, 'view', '正面图', 'front view, straight-on, flat lay centered, facing camera directly', 1, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (26, 'view', '侧面图', 'side profile view, 90-degree lateral angle, showing thickness and contour', 2, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (27, 'view', '背面图', 'back view, rear side, showing reverse surface and texture', 3, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (28, 'carving', '浮雕', 'relief carving with raised design emerging from surface', 0, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (29, 'carving', '圆雕', 'full three-dimensional round carving, sculptural in the round', 1, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (30, 'carving', '镂空雕', 'openwork pierced carving, intricate hollow cutout patterns', 2, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (31, 'carving', '阴刻', 'intaglio engraving, incised lines carved into the surface', 3, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (32, 'carving', '线雕', 'fine line engraving, delicate linear incised pattern', 4, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (33, 'carving', '俏色雕', 'qiaose color-play carving utilizing natural jade skin color contrast', 5, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (34, 'carving', '薄意雕', 'shallow thin-relief carving, subtle and understated surface design', 6, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (35, 'carving', '素面', 'plain polished surface, smooth minimalist finish without carving', 7, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (36, 'style', '古典传统', 'classical traditional Chinese style, antique aesthetic, heritage craftsmanship', 0, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (37, 'style', '新中式', 'modern neo-Chinese style, contemporary Asian minimalism with traditional elements', 1, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (38, 'style', '写实', 'realistic naturalistic style, lifelike detailed representation', 2, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (39, 'style', '抽象意境', 'abstract artistic impression, fluid organic forms, poetic mood', 3, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (40, 'style', '极简素面', 'ultra-minimalist clean design, sleek smooth surface, zen aesthetic', 4, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (41, 'motif', '观音', 'Guanyin Bodhisattva figure, serene Buddhist deity of mercy', 0, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (42, 'motif', '弥勒', 'Maitreya laughing Buddha, jovial happy Buddha figure', 1, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (43, 'motif', '莲花', 'lotus flower motif, sacred Buddhist lotus blossom petals', 2, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (44, 'motif', '貔貅', 'Pixiu mythical beast, Chinese fortune guardian creature', 3, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (45, 'motif', '龙凤', 'dragon and phoenix motif, imperial auspicious dual creatures', 4, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (46, 'motif', '麒麟', 'Qilin mythical unicorn, auspicious Chinese legendary beast', 5, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (47, 'motif', '山水', 'Chinese mountain and water landscape, shanshui scenery', 6, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (48, 'motif', '花鸟', 'flower and bird motif, traditional Chinese nature painting theme', 7, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (49, 'motif', '人物', 'human figure motif, classical Chinese character portrayal', 8, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (50, 'motif', '回纹', 'Greek key fret pattern, Chinese meander geometric border', 9, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (51, 'motif', '如意', 'Ruyi scepter motif, auspicious cloud-head wish-granting symbol', 10, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (52, 'motif', '平安扣', 'Ping\'an buckle motif, smooth circular safety and peace symbol', 11, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (53, 'finish', '高光抛光', 'high-gloss mirror polish, reflective glossy surface', 0, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (54, 'finish', '亚光/哑光', 'matte satin finish, soft non-reflective surface', 1, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (55, 'finish', '磨砂', 'frosted textured finish, fine granular surface', 2, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (56, 'finish', '保留皮色', 'natural jade skin preserved, raw russet-brown outer skin layer retained', 3, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (57, 'scene', '日常佩戴', 'designed for daily wear, comfortable and practical', 0, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (58, 'scene', '收藏鉴赏', 'museum-quality collector piece, exquisite showpiece', 1, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (59, 'scene', '送礼婚庆', 'premium gift piece, ceremonial and auspicious', 2, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (60, 'scene', '把玩文玩', 'tactile palm play piece, smooth hand-feel for meditation', 3, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (61, 'sub_type', '二五牌', '2:5 ratio rectangular plaque', 0, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (62, 'sub_type', '三角牌', 'triangular shaped pendant', 1, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (63, 'sub_type', '三五牌', '3:5 ratio rectangular plaque', 2, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (64, 'sub_type', '四六牌', '4:6 ratio rectangular plaque', 3, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (65, 'sub_type', '正方形', 'square shaped plaque', 4, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (66, 'sub_type', '椭圆形', 'oval shaped plaque', 5, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (67, 'sub_type', '平安镯', 'flat interior round exterior classic bangle', 6, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (68, 'sub_type', '福镯', 'round interior round exterior full-round bangle', 7, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (69, 'sub_type', '贵妃镯', 'oval elliptical shape bangle fitting wrist contour', 8, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (70, 'sub_type', '美人镯', 'slim delicate thin bangle, elegant refined', 9, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (71, 'sub_type', '方镯', 'square cross-section angular bangle', 10, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (72, 'sub_type', '雕花镯', 'carved decorative pattern bangle', 11, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (73, 'sub_type', '圆形耳钉', 'round circular stud', 12, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (74, 'sub_type', '水滴形耳钉', 'teardrop shaped stud', 13, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (75, 'sub_type', '方形耳钉', 'square geometric stud', 14, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (76, 'sub_type', '花朵形耳钉', 'flower blossom shaped stud', 15, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (77, 'sub_type', '心形耳钉', 'heart shaped stud', 16, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (78, 'sub_type', '几何形耳钉', 'abstract geometric stud', 17, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (79, 'sub_type', '耳环', 'hoop earring', 18, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (80, 'sub_type', '耳坠', 'drop dangle earring', 19, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (81, 'sub_type', '耳夹', 'clip-on earring', 20, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (82, 'sub_type', '流苏耳饰', 'tassel fringe long earring', 21, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (83, 'sub_type', '素面戒指', 'plain smooth surface ring', 22, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (84, 'sub_type', '镶嵌戒指', 'metal-set mounted jade ring', 23, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (85, 'sub_type', '雕花戒指', 'carved decorative ring', 24, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (86, 'sub_type', '扳指', 'traditional archer thumb ring', 25, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (87, 'sub_type', '指环', 'simple band ring', 26, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (88, 'sub_type', '锁骨链', 'short collarbone chain necklace', 27, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (89, 'sub_type', '吊坠项链', 'pendant necklace with jade drop', 28, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (90, 'sub_type', '串珠项链', 'beaded jade strand necklace', 29, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (91, 'sub_type', '编绳项链', 'braided cord necklace with jade', 30, '2026-03-27 07:20:55'); +INSERT INTO `prompt_mappings` (`id`, `mapping_type`, `cn_key`, `en_value`, `sort_order`, `updated_at`) VALUES (92, 'sub_type', '毛衣链', 'long sweater chain necklace', 31, '2026-03-27 07:20:55'); -- ======================================== -- prompt_templates 数据 (3 条) -- ======================================== -INSERT IGNORE INTO `prompt_templates` (`id`, `template_key`, `template_value`, `description`, `updated_at`) VALUES (1, 'main_template', '{subject}, {sub_type}, {color}, {motif}, {carving}, {style}, {finish}, {scene}, {size}, {user_prompt}, {view}, {quality}', '主提示词模板 - 用变量拼接最终prompt。可用变量: {subject}品类主体, {sub_type}子类型, {color}颜色, {motif}题材, {carving}工艺, {style}风格, {finish}表面处理, {scene}用途, {size}尺寸, {user_prompt}用户描述, {view}视角, {quality}质量后缀', '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_templates` (`id`, `template_key`, `template_value`, `description`, `updated_at`) VALUES (2, 'quality_suffix', 'professional jewelry product photography, studio lighting setup, pure white background, ultra-detailed, sharp focus, 8K resolution, photorealistic rendering, high-end commercial quality', '质量后缀标签 - 附加在prompt末尾的通用质量描述', '2026-03-27 07:20:55'); -INSERT IGNORE INTO `prompt_templates` (`id`, `template_key`, `template_value`, `description`, `updated_at`) VALUES (3, 'default_color', 'natural Hetian nephrite jade with warm luster', '未选择颜色时的默认颜色描述', '2026-03-27 07:20:55'); +INSERT INTO `prompt_templates` (`id`, `template_key`, `template_value`, `description`, `updated_at`) VALUES (1, 'main_template', '{subject}, {sub_type}, {color}, {motif}, {carving}, {style}, {finish}, {scene}, {size}, {user_prompt}, {view}, {quality}', '主提示词模板 - 用变量拼接最终prompt。可用变量: {subject}品类主体, {sub_type}子类型, {color}颜色, {motif}题材, {carving}工艺, {style}风格, {finish}表面处理, {scene}用途, {size}尺寸, {user_prompt}用户描述, {view}视角, {quality}质量后缀', '2026-03-27 07:20:55'); +INSERT INTO `prompt_templates` (`id`, `template_key`, `template_value`, `description`, `updated_at`) VALUES (2, 'quality_suffix', 'professional jewelry product photography, studio lighting setup, pure white background, ultra-detailed, sharp focus, 8K resolution, photorealistic rendering, high-end commercial quality', '质量后缀标签 - 附加在prompt末尾的通用质量描述', '2026-03-27 07:20:55'); +INSERT INTO `prompt_templates` (`id`, `template_key`, `template_value`, `description`, `updated_at`) VALUES (3, 'default_color', 'natural Hetian nephrite jade with warm luster', '未选择颜色时的默认颜色描述', '2026-03-27 07:20:55'); -- ======================================== -- system_configs 数据 (6 条) -- ======================================== -INSERT IGNORE INTO `system_configs` (`id`, `config_key`, `config_value`, `description`, `config_group`, `is_secret`, `updated_at`) VALUES (1, 'SILICONFLOW_API_KEY', '', 'SiliconFlow API Key', 'ai', 'Y', '2026-03-27 07:43:07'); -INSERT IGNORE INTO `system_configs` (`id`, `config_key`, `config_value`, `description`, `config_group`, `is_secret`, `updated_at`) VALUES (2, 'SILICONFLOW_BASE_URL', 'https://api.siliconflow.cn/v1', 'SiliconFlow 接口地址', 'ai', 'N', '2026-03-27 07:09:05'); -INSERT IGNORE INTO `system_configs` (`id`, `config_key`, `config_value`, `description`, `config_group`, `is_secret`, `updated_at`) VALUES (3, 'VOLCENGINE_API_KEY', '', '火山引擎 API Key', 'ai', 'Y', '2026-03-27 08:13:23'); -INSERT IGNORE INTO `system_configs` (`id`, `config_key`, `config_value`, `description`, `config_group`, `is_secret`, `updated_at`) VALUES (4, 'VOLCENGINE_BASE_URL', 'https://ark.cn-beijing.volces.com/api/v3', '火山引擎接口地址', 'ai', 'N', '2026-03-27 07:09:05'); -INSERT IGNORE INTO `system_configs` (`id`, `config_key`, `config_value`, `description`, `config_group`, `is_secret`, `updated_at`) VALUES (5, 'AI_IMAGE_MODEL', 'seedream-5.0', '默认AI生图模型 (flux-dev / seedream-4.5)', 'ai', 'N', '2026-03-27 08:20:02'); -INSERT IGNORE INTO `system_configs` (`id`, `config_key`, `config_value`, `description`, `config_group`, `is_secret`, `updated_at`) VALUES (6, 'AI_IMAGE_SIZE', '1024', 'AI生图默认尺寸', 'ai', 'N', '2026-03-27 07:09:05'); +INSERT INTO `system_configs` (`id`, `config_key`, `config_value`, `description`, `config_group`, `is_secret`, `updated_at`) VALUES (1, 'SILICONFLOW_API_KEY', 'sk-gvszgchguyhhpevafchnimpljasvtuxxuoxeilhiqzlhyvpq', 'SiliconFlow API Key', 'ai', 'Y', '2026-03-27 07:43:07'); +INSERT INTO `system_configs` (`id`, `config_key`, `config_value`, `description`, `config_group`, `is_secret`, `updated_at`) VALUES (2, 'SILICONFLOW_BASE_URL', 'https://api.siliconflow.cn/v1', 'SiliconFlow 接口地址', 'ai', 'N', '2026-03-27 07:09:05'); +INSERT INTO `system_configs` (`id`, `config_key`, `config_value`, `description`, `config_group`, `is_secret`, `updated_at`) VALUES (3, 'VOLCENGINE_API_KEY', '8598f9a9-0d0b-4963-b116-d7ef5b230e04', '火山引擎 API Key', 'ai', 'Y', '2026-03-27 08:13:23'); +INSERT INTO `system_configs` (`id`, `config_key`, `config_value`, `description`, `config_group`, `is_secret`, `updated_at`) VALUES (4, 'VOLCENGINE_BASE_URL', 'https://ark.cn-beijing.volces.com/api/v3', '火山引擎接口地址', 'ai', 'N', '2026-03-27 07:09:05'); +INSERT INTO `system_configs` (`id`, `config_key`, `config_value`, `description`, `config_group`, `is_secret`, `updated_at`) VALUES (5, 'AI_IMAGE_MODEL', 'seedream-5.0', '默认AI生图模型 (flux-dev / seedream-4.5)', 'ai', 'N', '2026-03-27 08:20:02'); +INSERT INTO `system_configs` (`id`, `config_key`, `config_value`, `description`, `config_group`, `is_secret`, `updated_at`) VALUES (6, 'AI_IMAGE_SIZE', '1024', 'AI生图默认尺寸', 'ai', 'N', '2026-03-27 07:09:05'); SET FOREIGN_KEY_CHECKS = 1; diff --git a/init_data.sql.zip b/init_data.sql.zip index 9182b3e71e086ee48f75463162e5154645ca9fbb..cf284e536237db1c671b873b5a7de60af0f27ec3 100644 GIT binary patch delta 9623 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 H{PX??wIJS8 delta 9236 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 I^?&UD0S0;BO#lD@