From d6338c0ee97f8f61d18080bb37d9826951115f5f Mon Sep 17 00:00:00 2001 From: "JinLu.Yin" <411641505@qq.com> Date: Wed, 11 May 2022 00:46:37 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E8=A3=85=E5=A4=B9=E5=85=B7=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E8=AE=BE=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/设计文档/数据库设计/mes-tm.sql | 55 ++++++++ doc/设计文档/数据库设计/数据库设计.xlsx | Bin 51707 -> 56663 bytes .../service/impl/TmToolTypeServiceImpl.java | 120 ++++++++++++++++++ 3 files changed, 175 insertions(+) create mode 100644 doc/设计文档/数据库设计/mes-tm.sql create mode 100644 ktg-mes/src/main/java/com/ktg/mes/tm/service/impl/TmToolTypeServiceImpl.java diff --git a/doc/设计文档/数据库设计/mes-tm.sql b/doc/设计文档/数据库设计/mes-tm.sql new file mode 100644 index 0000000..dd3cad3 --- /dev/null +++ b/doc/设计文档/数据库设计/mes-tm.sql @@ -0,0 +1,55 @@ +-- ---------------------------- +-- 1、工装夹具类型表 +-- ---------------------------- +drop table if exists tm_tool_type; +create table tm_tool_type ( + tool_type_id bigint(20) not null auto_increment comment '工装夹具类型ID', + tool_type_code varchar(64) not null comment '类型编码', + tool_type_name varchar(255) not null comment '类型名称', + code_flag char(1) default 'Y' not null comment '是否编码管理', + mainten_type varchar(20) comment '保养维护类型', + mainten_period int(11) comment '保养周期', + remark varchar(500) default '' comment '备注', + attr1 varchar(64) default null comment '预留字段1', + attr2 varchar(255) default null comment '预留字段2', + attr3 int(11) default 0 comment '预留字段3', + attr4 int(11) default 0 comment '预留字段4', + create_by varchar(64) default '' comment '创建者', + create_time datetime comment '创建时间', + update_by varchar(64) default '' comment '更新者', + update_time datetime comment '更新时间', + primary key (tool_type_id) +) engine=innodb auto_increment=200 comment = '工装夹具类型表'; + + + +-- ---------------------------- +-- 2、工装夹具清单表 +-- ---------------------------- +drop table if exists tm_tool; +create table tm_tool ( + tool_id bigint(20) not null auto_increment comment '工装夹具ID', + tool_code varchar(64) not null comment '工装夹具编码', + tool_name varchar(255) not null comment '工装夹具名称', + brand varchar(255) comment '品牌', + spec varchar(255) comment '型号', + tool_type_id bigint(11) not null comment '工装夹具类型ID', + tool_type_code varchar(64) comment '工装夹具类型编码', + tool_type_name varchar(255) comment '工装夹具类型名称', + quantity int(11) default 1 not null comment '数量', + quantity_avail int(11) default 1 comment '可用数量', + mainten_type varchar(20) comment '保养维护类型', + next_mainten_period int(11) comment '下一次保养周期', + next_mainten_date datetime comment '下一次保养日期', + status varchar(64) default 'STORE' comment '状态[MES_TOOL_STATUS]', + remark varchar(500) default '' comment '备注', + attr1 varchar(64) default null comment '预留字段1', + attr2 varchar(255) default null comment '预留字段2', + attr3 int(11) default 0 comment '预留字段3', + attr4 int(11) default 0 comment '预留字段4', + create_by varchar(64) default '' comment '创建者', + create_time datetime comment '创建时间', + update_by varchar(64) default '' comment '更新者', + update_time datetime comment '更新时间', + primary key (tool_id) +) engine=innodb auto_increment=200 comment = '工装夹具清单表'; \ No newline at end of file diff --git a/doc/设计文档/数据库设计/数据库设计.xlsx b/doc/设计文档/数据库设计/数据库设计.xlsx index c4ba76c14ce9a06ba86307d2d91253ef23cebf48..19704c5adf2490b8831df083a28eba56a3c14fea 100644 GIT binary patch delta 48931 zcmYg%WmH^C(>3ny5?~;>J0ZA3aCZ&vA-D|=!QBZ%a3=(J3+^PyV8H{yonY_b-utZY z`_ZtNuBon5y=&L*UWfY>_=PrjVl_p01OgZ&7!(*77-|?Q8})-ESQwa&uf(t6!0E=S zeVhalC&~}liY}Ne5E?EF_Js>&R0r<2TYnPcCf6J6OiI$s2U+lTbdV^`Q*v(F$9x)& zdgx5ev{qw`%|jmJ;UPwoc_7`L1y{Nk?1I{lJXK33@$~G~%c&zmFXNMN&4jHXyJyAVpn=8894LvFxh6Xqo>EuAght_z%ZXLBKOCeV@R)%ptUaW zh{s0t2l>@#R==^+ACo&TghFax&0rI)-p(;?b}?f;C2*eMz>v&= zvvQ-%hl1G0UC~WbHd+17w>C&j_myD|ZtmoLA69YVb0S<<_`?bpaN^q|TrZzLg}xyd z*O}_3qDUM66bfgT2miTsIqo;po)Y5p`^_I&`4qpJueq?|`Y`+iOwnVayZ(3!6EBU%*=8XHZtrKWvk6u$>hlO^v# zKX|rikdPHAq@Imig)>Nn*5Quf4;)%_LWCK?=zMCBacD)O}XN4$QnZ_CUk(OM#$x z<>9Bg2P-pL$0(@0mLr-pyD@)KA_rl_?OfKaG;o{=J?(O6ln@U7st`_o!6Z)E+4i-nSdIagGG$1gA-lD^j@Nl171>#AiK$m zZ~{d$LI=(2OpL5!u7I-qLoG3Gi4ILjn4ZKPH{`4I&v%g#MU4l;Js%$6v(8QT_nfr(s*oP!mGZl^Kgjzka*A88@tGj(b1#c-*h=tTZtkp~EaODEo31@xm3Rl{6UT8W>^cHlZ~gi1ADy^bP5k|9&3!P(Tx{$YZ01x)mb@e1$<@_NEtS|; z?`*5Oee9A7b|Po~Cd=_vU)8yry*oBJ$8_YkXJq(Lr}?*n{liLzvHY#>Ju1(#FS2P( ze;9-V{W@;BjFoCV>yjgmN;9*pLVJDQT>ko0tjNzW#I#t+RQp_iAohY4MBfQN2al9E zbULuH3wb+k0LS#R+3(IK-C29O*OM|FUb>y)=medQ-a3|oL>7iMMYIBsS9F5?wOL!_ zksL|=g4^d9k-6Ure|FvPHZ^VnbqV48)}u zyLZkP-rj4gDqTk^Dfw&9XV@oQl=1m0*zMreyT15S|F%5g+$jzLUER{7{$sn3ZNeRg zpR0GCT>YWBN8kjiS{06=)!j)iU*C>w6H|_w&;0j$sBx|z{l`cm@9!Ty7pR)@^F60* z$hKSjR&tLXRI%?fG)a!^?$b9u^AD-!n?5y&2zM@0iyl(l?70L^k9?oI-pxpuirfP4 z_80Cv8uF|=_Afq(+258vUVFcxIG)PzY+=bR+wEvGFkVVp>uz5*M4CJz9$I}o+TPo> zUNxGc*F9PH!G84XzV{t{>Uu+E^3>KYmb1FGb+kS8v0cp>RrD2B{;SK3_T`aAimL{{ z6{kENcK++FvG`w7Ld|2hreNxu=FVZTcE`IXua?c<8Am5WG3~35yBAw`RFSpdr6V!X zT&LJ^cEdj?dkH!1E|13zjp*haflCd}D@PkMSQgKn-q7W!Y<)TBz>9p-8?U{{z^ z*26=T<*Cw(jeW5ni>|r{mJEM{mQ;^_u(Eg04aNVyU!0mAia0(ovh1Zew8>lopG;M3 zVO^&PHC(F(gtNE>-?(%Ox~z2zQFfUu{&qej>u_8#$y!_dyq0w_R^EAVXWspIdC}`b z+~#?((qE|5%NVneF;ElUemzx_V~XULl!BScagtLK;C1!A<|&;kf>ZMzS7Nn+MM5Oh zzvyoP@=xxHbiQV_-}>}P@t8O};8cO>539}${NkHRIo9fvKX3-`1zepGOKisbhVnoD zfEdXBtlv$aylNX=YH^~^xW#ld5*U%aUBww3lpFNc=RU@@*0w+j$}-8w#5H@n(aL9T zbc(b$xycx=%33tYP_ukwDN#Tsca3W^Z2g|uq}^$cu0)PxV-D7g2#&{I2|R~7p3V98 z)!~wc)T#&ik5W1|six$%#UYWtC^b?TYwCXS_t`43-{@mYoUvQT4r&Y`pEp10Xz_*DDeiZ4SqUuM$&u&82w;R@X!k#GySag#&QP?^Px3jzFTngXUwyVMJT zu8UU)XHsQa>yg`rVMKKx5;(pT^9SXof~uh-&y@o@ECf7#Is#m zj5Zb7f@(GC`1}ntpX3OklpQRjL+&8!7Y(0^zE>2Og)E zsd{i9XQbKh{XR$w<^j~4Lbs~^$%EIikvRHBYr^Pojxx9ij75PX&%w`BsqLw!8S@h~ zPbI_ciHQ2W>x-*K)^Ne58s7PD_}WX?}ReAtwF^I6H#At$CERey_yrn8^Zml zd~wOJ>$Irn4Z%y&|olD@s*oaX)thn9cv1)(_6pEw#}y3!1s z(;Zr6!z#=jdUXlyLGo{`#6fhs|NHW&Q#woYKeHpcjuVu@S_MeKKRW$h%1ETAS)+8q zEpI+bo6C{yE*gMtBJ&UNMAs7%iBBgE72_i5h4m*1MD`D$uVA&;+|lNhc@hNhZE8R! zfMNgjHDmG~ky=?+q0z%uc(#vK{KaF}O)Pq-kuuZY+MMXvMPx0VvKi$ z67KaAzi=|7R&GhlG$!d<`@b-wXng;H^ya36+w?9lId!o&Lc$7D*0Kmlgc}x05gH#b zzGQX`vf7+eEE*Q*}+7Y|T)cfq4z zBDw(q0(<}NI&{k?oA(kbX)It|`7{<-d18AUd7mJO9{4n?Xnqb&dE6cVNo{KI;!X?+ zvIrUi+qeWWFwHP+o+|HPJFR++yX$^Qwr8iu3a+Zyw^D{|mqdcTasag8ZU^^kB$LSQ zbMtAjkbj#L;aS(Ohh0aBX%ceW>fw$Ebk|3#d44)AZtqZ57+bsR@MgitLY`BzCkX< zScZwS8!oc{Z$8=HKM3>zFBUiTcJ>m+w5UI@p}q~Y)Su8p*D572?+9*Wu&yfDA7zFs z2gd&Qk`c>%$ivz3^9oo zAIXtEjaHy+i$dyWE1bzZ=HBw|2c0nEr=KwBe`0eavE)dSG+s56OkCuJhZ||1#tpVy za+?6PvuuKMlXK9WpsloOXBfFB#2<6Kk>ca-W|~`wLOPKltpow^F#EGWaI?&z;;vfO z?d(&Yl96QmyOg#icBsD<5n!@M)|Iee5QN1)GO?GA+6&{Iid#MXIe%anCgms6%tqUp zg`ZZ^p+bhS-NW}_J$GO=nLq)1084zNScs(8; zOyVRMH`QN!4&J=GA*Eu*zYA=t_fb2@%0b~xYc6WLV#fNQl9iJO%em5&$M9Es}aq8PS##05^%u7!1hUO(e?cZLD6Myv#R-BL?Ylgf%?ZQTs-kj0}>3} zayEU6_U{(M)@t4T!7nTGY1z(M4sWkIUSb)ZqX-#Tqk@sQ`G)c?Mg=@41r*#ydTW?w z_uzX61wG3OfF6N)6lpwFO81F$_IOJT-Exn6Z?o;dffLlR`xlYRm*s ze5`GMzY`&RYVQKW0v5=387Oiy);ZCHCfdxr>m1e&Ur8|y75gk$E>Vg;2f~9Wc5n$$ zKgL9zYsoMMs4>mxv`VKG^Y+irBL8aw{>LQM|FlBda7p2(qr*A}Yn%U<{<=n5)+WgW z@q-TnFth5E5})b{t-u^r=u?&NKJDJi^zA2ti)yJC4RB08Q7lU(%J0J?d{X9f$v#dvTEnBadAYQ8egj2 zKGDZSM^xYOUZsG5un{CcKF!>KuW`JI?tyQ@L(Ftg<_z2V5NlvP9n}!=#OQNK7g(bz z=p$S1o^>_$H|q zmG8yIX$_F4yYO)346py!m@ORBVz}{43w>>dqh!!)qNd%pe%g+oo7DNz7HJuUc_TU$LT`t7GQf4yG6iJ|^ zR&gx-lx6(zX7MLhSu8&vHB>(4@%IJwG2+T3@@3Gl(yJ-Yeej5*m%&4{ffzNM`T;I( z6r3VeP3B!t_IauFZ>zP-`u)?diDXfVtbT z&;X7{pYFyJW^lKdaQ>>_^wInqu-{h>C$MN{KTr3{nuq_A|H`A&$A=cMsIf5AtGvBA zeYwiJh&boI`^a!Upi*0k3d`m`6k;N$G}^jYd7%-4}(Kyb@TwL_(Q_j6klcc;ha z4~MtjUVq)6Z+CVdz)yb9rK@*K7h^|TrOPg*Lx9Q2(B6d@_+bGIzB^ss-{0G-9oibp zx;(x0|M+yZvvYqR6SLP|I~2LR=T&+#Bv*dt@9WzVkOUSDX!U-2a_@K~AQ$m(C*j}_ zAjWRKN!Ww--i$N%``O$hxcNR~{e9`44Yt?G^WUAbOZWRZfsMx-^8mk$zwytmt70qbB6**I zdyX{)FJj-q&lgwUufi`c&-zRK%yGs8uiYPjkTcF6%{!ol2mrBK$kQYgZ1@Mm){6Cy}R{=6h8RQFk{<@x3#_r~s(|?b3%SYtJVzcF+1~bQt|MvYr=cnsdm+WEdL9N71 zLE29FwqR+Z^?}Xnts_(@j{yHDM=;?%dNyVQle^K#TH32BT9uxNcnoXoylISm$7R6e zHI|0@T4QFGd5z(?B0?7*Lp+tvu zs_g~&!I3ph&-IFL9{5x*V-%NKHYI>81&_c$J zn95GIYdO`NQa9T4YWSj8d@|G}+bs!Ng6*aO<9?Kn?$!`OJ!f+W+n_WWv;PF6uc{@u z1_ANM7EwhmFGk-p_eRnJ@&Pq$V?uR$H?wVeA4#;e^*6VpY~dIP_`c>MPUb|1 zsJ5MOV-y(DN;te~38-2^S*T_hCBbFjT0*5z;F*1hkf3j|88Vi8MJTEmEJ7gRzDf|X zQ6-puZcKw^?_M$^s}j&}J8H;8F^@!>(U~tBwSOqg!A51@$Za2{5`2=00}0>lsv4hr+Vtq9`o;w&to-mj)%kKpq@85h_6g@6t(=#e22e&X=g8GQJ|>#K1z zlzq&sF;2{M<5mNQH2@vH6_O^ARhxEuMj=#e=$LWW2NlwH8Y3>*Rg##V>l0_Uw^G|6 zw_VM}?{ZTWd3wbyt)Hg-_RTxUh`nJKC!Y-(TyQhzG@tjVXegR#r$}G3W@ua^5;^Fv zlFssZxPquA&Se8<;$9A~DR`rjF3cs7h2qc8GVY;y7QJZtN~hZzbNhGmZ`$P1;R;zX zw)b2P%1?jd0batx3Cyo;#>16$mNkOQ1$n0b*-i&N)N4|$+k+$AuDoQ2Dmr3%Z-z>z zyS^W}q_&}FQ6Xk@i#BQ-mCbUuNYo)u9Rcr=MCkhDw0YVybqB!irGOm?Hyk9W-AOz9L@+!)#~vcFN*!faAS$1sh=kpYgu%L)X@|Fz%uez zDf7ja@XH|NZ0%hu#3~6zxQFN9Il{J6Q{-jBW&#V=irskA;I=i#5~R4s1brG z=WI{w7Uy>-O4D?j*3i`*NS)F>!pf7u;lcdBl>Lz0$T5*zIDs~3A&su)pebD!`mVXsoWc3nQ_Oc&HoZECHW$QYN??cTe*=(EMTft;%VF0Y zd?{TOuI8HWxr*=f{wca~arWRLarV-b|H3Pun{QOPI1%wJ;IA^bpPZL@Pms}52+9<_ z$6)qPVNOYw%`o9Yy)H!USR9#Xr9U;&>9^m(s#m&36-IJ<8KHR+SsiJK2y2Akm_f16 zJ?#e=ZeLfaI^i54{J~zB(Kae&$<>DbGi$^Y8cC|Zj6EXi7mpM0ypinjybJxn%moz) zpE;oSU!<7N@gFL9%)WaLqm`Umf<|(QbiJl12@tkgITQV^&49%7Bw|>1mDZayI7pzt zQG8YI@@3R`Rh+FoUkNSom5&E+c$R=Tk0m8=PHqr*TM#}2PehV<^3ahGAVticp4GcEK9`1$mho2cmM z&t0|Z!JW72fzjalk4T5Hy+<`tr=RWFJ?F}=E!ug}d%PGbtKzs@IFK1p#@jikk=UDU zKrX2Z8l*WYRwT=G=#UE)9m5+io}!oWaKO70_L4B$8i&F{Fti0YI12nOT`?ivuouy46R; z*{LVQ1G#?Wl;at^0QPN})Txt}n7$}c& zve*-cO{Zn1HH&uPE>7l@pH2R~sMY|;?U39AM_;NzDmje+q`K2=fPRk(`$BM@el|yZ^`?f3|&6jcD2YfQbIa62ea%2j{L* z#!P(_bKUhjG5P_n3*8|g5+>#-kx+VJ1T1dRvU$Kxtt?Sz!HN;a<1hu}-U*}+b1ss0 z^+o^QGw&-~)0l%uhq`^*m4;ZGGy!7p2Vyv~74qVj2SB2koFP5(BvWy}LZ*28f^s!) z9z=;nBNAJ9hzRVRdsT20;@hqDnt1T{?#mD3%!cSa(VUuzIYho$Z4CK&ufZai$8j0} zZPrEIMjWoFY{mbD8Ll5;{&P=x_WA)3Ch6#~n8(3%q4h9;3~J^<{#xl((38VZ>A2tL z|CtG;!^a%LQa1wR(700wm|w4}yukd`mZHt?zAC^&u>Bxpg*R$(^s%u&ACo*%Bxk6dl@xfvikuN8eK0&Iil=mpu+3m|-^2^;>ms`hr)%#BGkF`iYcLRn zD?04m1T7pH*Of14qPGv$!TUz8g|MqXDip-abcI2MDmqIfh#3W0A=Ahxwyvtb5qR5l zw=tzxB%Qy>T^L7tj=*JtK36qy!MoZ027}XZy7DBC+Y~fv@ z^$+&={pE1Df$ZO!0x>9*0qE0S!37_uS}ruw_D9CQ^aE$(1$F}*j8#cr8h=gI@Y-}R zuzdDm+q`8+EIGO=}2+Z0w6$YyDQXnYM+gcu<4Yw{J+~WOE>=4UB@MGlh$`3|caVF(gMSKlzO2 z>&NnBlPY%F^#9yXI7UliGBsRjD4RM9wL_SpwRW`|^_u>6{lZWPILop@`;oW#;4`=2 zsF2|P7;5sYuFO3jD!-AZJ*QKqos=*hl(ydkaS)fmhOxT{mq4^=qax}=KuF}=(7b5JmMS{Zt{A$8#x@T( z&iH9-MwAH290&^dD6GQP0k?3KX*@zPO_U${D^pU)uGqd|HBdk<_(K@~e$4p)OvkUF9etjTk9@cuKU(DEu=|zi=3cvC`t*@C z+HHCL6=FhpZfXOaA2N7(*RT z!r^RVElQH@hZFuhT30%)#rnG2an8ALtPGzZLhx&>+?|M9v|G+L>USf$utat#+rzK7 ziy8z{woXFLoiR8Bfe`8lP#HxP{w59O&dn$oKbnMwvIzPfMJQMsQ~g1?c`VZ3!r=&) z6Mft0hG3id$Nb3akaMBkDvoZe&uZg1)b;M9l2XZJaLy)^%?r@M*J}7t)F^1(Gs*bJ zBGI&OxhtfVSuCn{2LI|sMksIw>!JY)OTWLKx(XF7L%>{F?bfJ~qb$0S-?B=I8R7u0 z;){g5$23>gb8zY>>wb+hj}WeyQFqPQ9cQ9O=-@Q07pWvp?4V4|=%6ZOo(GoiIhBh^9`c=)4aqB%l=ODgeyJO*BMJITc&c(qW`T^LteHn`p zkW&`guW@o;m-5xpdX*?(&H1`2bcYmMJ_iDUzHG=T1p^RcCP6A-N9e$2 zQ59NoU{UR+q~AVq*&83=L=Q))!qU)~g47tgl@-<`_qA6AC{7|SsDz%!jE;e}9S z$uo-;GDD$>(PPxKL8<7cf)M zYE0QKe;we5;$((3WteQCjCBIVrAHagFVWh$7XlQQl&oQTiYTZ`d^xc z-Dh+VEgQ^90lMJPZUE~BCDX-09!z*8zRsuw0C7akU`dw5G%R>9mcI zTw+pD`Frj+LkciYM64$cw{e3uEUDA9DL@w`(M{_>C@0%R97@|G*b{XB5+TU4&9)Mb z8>&+L6+h~qNa*6qc)N-7?kjA&D`q#jxsM-ST$eG6#+&q-2fcqEHBs#9%u1WOd!3wixVOcY^C#7-~7v|AY4q%*djyH5f< zkIX;pH8yn=`_CQ-p=1I3{*oHGf;?VLWpXucD8kMS_zUT%i@Y@uaJx-IXyX2tYP4b7 zet!ZWIX@d<=^9YcE+)C57>Jdh9wMwI|4R>&-SeqQ0|ld_-wdbVcchAROXF%`N;M1k z5FkMqG7+Lz+Dqawize>E;skNiUx@<<=kX5r*i_HHZcqheh>%n)#jKgMF{PSanSdKO zQr0OOzt{cRE|sm0J(MvGCoGJ~W#`)rvASGEZIe1Q;fGqKay#ybT20pZa=hhZvyz-7 z8q}cQu8LKH_fMKS#F{92QrKwXdS@GRd>_GqD?b{iL6N6)BK_(_gd z>$^b=bb~|n{OELu#}@2|VIH|~aM};YAf~QDnaM&Nt61?MD<~DLz9Tn^I{Ju&C9@$4 zc~EM-mYI+8e(RJ$t(8i=f{j(YWVXGM|xN@LeS;(D8h+Gro8_tqs_({8GKj z1C{vm%l6sTb6lmCkGuyGjj5$JvR-f2-tW&iYBQu~YWaJPkcHe9cP##Up~4Ib#nM-A z6vpcdaQds5JWA%^Qj%eCdD0|Fb?G#b7p`P&Bx0qZcqC3N+ zkD|#~1Zg{O`gK@>PzBLl=>E`c8)YSa1d3vGm^W(3&ogQ6lv-r3J^h3VIxV7LFKN9* z^~lOE7tBl01kh6<3OM9^iAxHVe?3571-b{$_1?6}2b;{?gPQ2Qcdg`f?}k$I2Ob zpo34$hUpk`xK$GV7CA$q;?%uOE*&RKAgeW3PHNp$-&Vww;*ts*p54JEOa6hQ0u~%d zai^y1KiPnj>G>M5)(#9baRzHCm>qe#A%yLj z9l1wk>57ypI>d(+kg##6kDBKH>sFe?PK3s?nX9=GCti50e7*g#{eWS zNsmB<0Pvo;q3pw7FWdtLBfmT_muA?@E|-eBnG!lV4cj8qfq%*v(q+zg3I_Q{Ijj3^ z2QWs%A%av?eoz+V0h*G{qQS2?FE8Dp!CW*t#m`A@E%M7t%cBoSYW;6M^l6{WiBRQ* z{io^MqQl%m&Pl1}Gr)&aK*#f(vPEv3lQFbPo{6|)Y)FZ&$X&7VCmFTzXGGJ%M>X3A zM+1w{G;9er%il-xh?3<%^A0@P*3KQjq^Vl`Pn_} zfH4E7Y+9BRE+%mon^1s|b5hC5;55iU*$cHQFhF=yps3<$+@6pB3dLR^U8oWJ8YSA& zp9D?JmDtorn`q#@ZaYQ+^#YvCeI`HV9q$4+fx`+O;f*RdsRQD9OBvM?C6^S7Es+Gc zUd%=P+AxMg7WNZ|Gui^B7H0l&$JrMW&PEK~)f zpz+GS`+~|tgMd}s0%e`phl{naqO2TKceVST5}&$sFnrOA8czMtfY}js&fqXU#oM5~8$|7|fZS+Y(WCk^%^An% zy~CT#W8rnXn;zSEJp)Cujsc|V$;Q7{9ys#G@2f}O4Uti5hd1umF#kSY$%rG^>2kDW z+}+rZ2J~dIc+%_V8edjBi|0i@xN3eSa6fj69)`JZRV%U@3iksBV%BTYz=(4dK&4VQ zL}7vx)qrLRRg9#1-!eUaFqqFJ$I(DK>L()AdqDG1q<|S}Fkp+kGbhuI>kH7UVWk7K zlJ7Qb`kFC+u7ojT&Kmfw!f5>os07x6zhkdp{Iyv(cCx1IG*idycv7eAz%Lc&iy!M* zT0@@0W4Br&TTw$H-qmgAQTHY&!|_}tFeZ6lMUDML8>ohtiYcDsgEA*MHke0`+T!o; ztXXU`W)1^vzT*Z(e352hP1{m`ZHFT4oV-S&XDXIwkgB;q68sJe|6=6U3_){hN0n{Y z9a<`{<%e=graXYLIx@elmRt!s#lsbV8Wc>!fTr-$6VlIqyPZ?>ju&FSrUjY;snZS7 zYq{PqTxb!8STj$>KlKgq^xeINaF586%gWm_m}_hO_~iyA03spS!OH=nQPEI|HdvLN zdKD-osu3vGKp0 zb%emZoBzoQ2~f%TVg!ug=~5OQ{%IQh-G@b7ynNqx3Y0vCcDsqmsnX$EG2vm%a;RL@qlci8-V%t}kBJ}3gj_``1# zm-4%C2;_8Hhb!z$Cbgvd5qDUG6Xv=ow>C@BcY5NeWS_E=w&>Hu6F1^pxEY%BiStU>W2j!b})P=O%So8>)d* z%DajfPqu5<1btil@Lf$Rf|sMx{}0aTHrvPurmawpO%$i<8h8?g0M1m^08WCz`+!yp z8AF$l8LZI~a7@!XnvZUo36eR#E9}>mR4pKk`G3sCYGxqvhlpap0KW2vLm>^SvnVy7JJ|P35~Zm#BS|jN z*I43Kf0h(_2z)>eqY&y1x#XAPki1YR?gzp#y zHy3gdY6Lt8F$FIA*GC`?J_Or#yYZn^oru%(%r9mhX);n<=E@%;vp-I$jlX^o{fWB2 z&ry`+%cy_B>Htk+VgkH1_c*S8EEs%AN7de(qK>gqJB(2PbeA>9VFMmadlV8Gt}xYz zLw}v1FCf}aazJ7IaUs=qPbK7<~{#?ZIP%cUO6jq_< zfcu_;Rx@L+a$aNpS6Lr4RgaF;^B7+&`g{tribHF@FWU$=AIy%0O1C?#VXga!KoS)J zX=!sT)KGSUFJx@uqSjr7_o0d|a9v9D5&!EJ*+!_fg9}acMi61UV><)!E2&ODiHKL$ zEJ&P-63FzTHOFFvhjwz5NiLIdLnVG+VKn8HSB1v89IL*6>()x?B=*dNrlVF+ZPCD0 zkpKK|O@N!+=jDU|nmuwW*yr4h;4droDPq)<3~w^2D2NkNVlMoj4EmW*QSMlX8D`n= ziR7Xp@{1WJApmztp?`bOjlGDF_L8m8*C8xp*-7ra0%bKz=l?DyK^|?p zP4={fm}7~t{I~{B0gMsnUD(Bb{$E8I2S%+X9GCj2VD>s9Giv&)o?SE(uGj_eLydIk9Q5O}v`*JzT0a((RU z)caxnUHWq8_T;yMT5&&(Bj4UtrO#JO87mE#=O>r=QGN6%%Cl^hG#>Z25NajsOgH*u zV#6mN8oavt4n+~~v(fXrw<(BGKaCV72rHM2yTpdG1dAqAj>T27srmXrt0Pn<&8Qw+ za#8$=#E=2eb0PxpzUJBknum}M!%(+Ez8lgjI|gQ@18F|_Rhh0|7em*`#xOVUiyQ5F)+K=0|lSioNZdG6*b|NPgtdxI4Tj3c+;PT}asNZu`&(#0C zrj;@t!28N=hnLdMDC9+Prd!XHyi%mA3p?owzaoDyZhZ- zL|!~U)%JHEPEAqf*PMtNgFCy00^U4tU3x#2COki=o`Ac-w>xKJ`pt{s|r(l_mM6Os^{yG`Rk&A;5WwL=+G{3K!A{mkx|#9XMmqq z4Nr%k_sFZ8e6jVl-1Pe#)9$?E&+f^Qa|?eM^q;pfmQNDwnp^}pvW}Op`Z>A-pEGjq zUDmCl^PRibL?3Y(M8xhrFOE6H)>p-ho-eh%pPe#mTxM6!#GL=SGz(zgB;4fZuMNAq zcoclT__*zR7nEm%zDS>fZ+*Q!L>mJ||}4ZaLwkFzjjX`ttt$)ycQg`;+Iu zzYo0mU4f6TKq4AM#L)dt=N=z9VDB?jsU|rrp+j>EbIOT>ON|d#%L-=~t{>>g@4#mo zXJT%7&3BSl-E%V7ANHR9x?b;J-u+#uRekn(zVFU+20ww%Y3=KMUh5`kc;D|A=k z_M^@K^EmeZbvf=Hr9IzUYBp4_h#Nlt>vDFo?jj}GBLG@<+NtYanyab+} z90Xnt+Bl!EX2^ID3M~>ap^N%XzxwPtU5uIBJvUn-a8G4qXA`>ZLf+8n?>udoCPQ%P z_UQh2_Sg@8JhAz*UwAlp^T*YB(2H9=_2AMv^`}@sYvq-X>3QWN8`-o{te zR%p^|Xeml^{2h@hB-a~8Pva~U5o4ak-z>iPf2_fY$7!Nk{1g#ZXY)^H3R{mVPWFcrL!j0N5 znrm87vzt{oIsw&XIj|OL$_zIb-_lJW^<+ek2<{YQ9;^&~bwPPxuJ;A2!TQLdoVZu+ zj1>bOyxi z9{p{T8Bsj+mk$!vaxV{tqHu73RREhR&V3)J_pFF@3qls9u=Ph&hF@hQOTXP_Ibu4p zzlq9oF1?O_!#)E4L(L+Cu}T&sZ&?6(Bg_JO2dT$@|u=V0+)k^Zf2zdc9_$Z7H^+sL@|rQu~g)9=e%LD>{TdX@zci)cQ| zQV`B)a7d5fD@6@=dcYZ8Q9T~cSNDCl@VX|)O$sN)HwdC4VSHxXeRUic;*vEKdfnl{*Jj*0 zaAebeDY(mU<`Ly1dHKSICV#WVD^9Ky6IM0r>^~y@ew37eu&}^lW^m302l0c2GWTsE zpxjrMM;xO%jle(4oe#bp{kV_%r}}$+J4_1jMg^w{s;&4(S2M_H!@hES@Bo5k`62tL zphGbY%ZVTbb$9CPZdleE$IeErYhuVPI%4o|9XP0Q!SWQu|7}%xUi_puN0BJHxn8eh zC*Ov--AV_~y}peC-)z;9_THMFCP(; zU2$)#e}k3Z(d%mik2qzZSFmn~SK*ubI|r+4KQlY34~#svWSYXkU&Q2yMHJQwwECGoB15^3&B^qa8k-iWB~7i{w|v)d6iNe9rox9 zRE4m8qD5+poPKQ!`tqum?NVNR^^;Hgyvr2%QPor}xc;5QFWDDd1iOgfBu)vD4=b7- zT!KG1)H%P;w51rE8-Q5k+4N4rkJC#lW>Fx&UkPbn* zOORCHZhXJL``r7-JU+0;*%NElCuYqiBzaFnAEkiN{qbz1{5GObe2` zIMDjs=QjmZ3X=j>t8P_Z%w-<{;A@?A%&XtoMrdiNEQS#D8pP-?OCGF7)oFomxF#9l zgErAocdIh0zg4N^xEhjVDD!?QSmC!XIK9mW1Dy(5FrY_d@dkk|=20c* z3pw|*xFG5pO#~p@&s8mNgQht+6371)YgN8C?Si8n3K|`IIY~d}CEYd)Y)%{zJD8~8 zgP08oN37^yclcfs+Ij5S7k(#VQBL6TL$E5KIN7mw4v-+)s@Y6$4X(Qjri@%Z=U9S%-7mYdt z{8cy*!VcIF^hrR;1oW9@+!n+K`$1{Qn5*u{$_0k>&eqki*+0>uVQTgF8GAQik0dl; zt_W#ghX9MUclg^Yqp2l?*Q0q#8ip$HEzGJz4%}~!8^r;1Q3Q^Z9tuv(B+=5B4o!q2 z9!senu5sI(n|6O-`ZiB1;Uqmom()!l@v@tI2|lBO+bGzaz)HbmrcW;FvA%CXU}whN zMGfI^u%^whn&8}n>eU|!_udDw+;qXNyUg^h@MlS#zd{|DBzUo6pOJiV9UYlNFIp0o zlTcVgNb^)W%ZMc)t+FZx{o_9)BhrF#nCuL&dybQfv9f?cd+o?xG9-{q8vy0hUw|Qv za1q-kNz$B7w781DGYGc}|=8TWoNfv|UJRRWkEzy$!zLm|XR!5y-N1r=(17|>930U&%qt^=T z|8e;mVaeGs7_I2?6;=erfbuUAc)AF%@6QACdez!|g}isV^}}%aVeZ*Y{(f8z?D7R5 z7qwTSr+0fL@l$6T)n-UV2*(|I_YL=-lX_sJ;(CN5c_v1RXWr;u_B~LWa(BRaJFVnaglO}Yggocy z?+U&$6*=?Yf3dK;();FLS{}2*Mvf5S%dMJX^`n*ed+68t*zTjvEP&*R8~sbgVs;Yo zNVZl)AtJy!U~1Q(?$*b?mN(dVlfyO3F|^~Y7mfb^&}`KRpxLpucUWA^R1%^Cb0zYn z1ho7GaIoCi?C*oKuDVu9;;cdFIaLj5P}vb-!P)AER+*pK)LcQF55yd>ACL?^H|=!f zkX8z~eKN37zZkVQ+ZqScDj}V8Z=!dSRRhNya;j8C)c^u3s>e>8Zqi7^kq3>P>(}sK z=rL+joF72rg@-y*~OX~Ir?3H$ISP2=*1(g_|)h_UJIcB>@*TRsCDCGURXys*Gq zD%&A>(dX|l(2i_Ho?NQ_$X|~4i+_ddbj0&|FuT4=#ax~73Vv^*g z1xC)Em>)yNvC6@bU}+mfAFYT$*ih<*n??Io!{A52cagE90h#~t&zF_V2eAfk6>=iZ z2R(QMl4d-VK{><4?)Uj47(&enjEU@WzMN z`n4z(dhB3@w_tz*ik=d6ZJjwlphed0juh`OPzx-KME1d@=NVG{-x!;Wm?VjNpgDB@O;!*Osg|5?%G^vCHE{ImecXFU!8Yx_(S(RrcBT;1Nt#M zVg?|u^;WEZO;@rxrumz~mpzuihV90-!KF$yaq-M=AJDumup*@e37^ z1_SaABKUvpoLSVGL14BJffI&=OFrb&!GizQF()j3S{=T>Izs+TBQ#8IG;h7Wt;`UI zAQy$|k^E*acUJ><<&jH=2G$Y#gvIe}U5=?UTHNPp?k|Prjz_0&=i#veCVs7spD8DdC9 z_sZIRA+G#btFnq-eD-N=ggw$zqGP0d$zinb*IT#fWD(AmzNg5@qD?kAF&_^64L0Dc z+D+vi=WF^0cDge{B>kn5HCI#Q2hdOIWI3`nS?m4--ue@`unVtfOTp+}4luHpqKDLh z`B!W~8%W02vhjB^(9Qy=ZPo9wLLuuxMZL+U{$)x zVDRIYgufAn7maU2V{pJ@d3asPr&hw=#N>F%ZGN)?RWV4EK1(cOWd_<}q7HO2624hO z9U0`{v970HwL}KII9VMg)KyQ>V@!+8<#pL3=xrAMH5)bQ*{!QP21;?Zf! z9kxpkq_y?p0yGA8s~{3U-N=?Pb6eI|>dgThL&4IYVWN9}U*whdCU*Eb(+sZQPzaem zhp6Ia1If?*EAPP9L~D@bu*K6X*`oHnrd|kpI%|I?xJ^PWADb~}oX-2oFs$hv`yz!o zpxh`(ulG{9MPN+QCobrt^9GL{@k)Gvq^sdM8c`K7qns3xzS(b`g7><5io>V&1|v_! zoN|ATnRykVakH;dR35E5#zi=^^g+U+lT-4?ocY+;m?@xs2uv==%Gl}j7jIoZOJ?f&n;q7s#(~m4w4+iUAL=T*&R*S zMb(C5|7ly0m5*QhujZ5`Rw84=gW&L)1?Foo}J3C{yVR>ry2%nGXZB8=S4IK%6i?` zU%+hv`_jn*xbWqiQ2sEk|r91bjYoi zy2i7)S+;@Ca{MR&FSCD7vw5;$f~?XY-UuCo4K))hzAgp_Cd$DTxO2TVg^j_-`vp#( z0|A8%SAesx+yhCxD+#&qFpI`pwrk-%>^8R8AxRa;P!l4nN_@eD7>y)eGXmG=cNjC# z-A;`c8bcx*_kY!zK!YjG!-`zNfRrXA{|j2BLVWntkW;vY(mYGrOlPn>Olxd zp9zKFmuQ5n@dGFhh7W`VPkzT#+R|r*RUhC>(6VS7<=XoXpuotIU}Vw#D<0&3c!MaO zNqFVQG=0HKeMi7*R@D_J-eJP)iYu$Co6_co4k}_;e;Rz}tHP5S_bP^XrG!AV}*p_`0 zSl|bgP8&cYaoZ4NRGGIb)q#HcW14f5pdANty=>>E(J&KZS`r=Ao%quXZX-uUu9 zj8z7QLuRiJ3!%0R)a=Zx7pT?334q&M#s9%=*kFWS{(0gDFqFbx`>}|gQA1(aUR7aO z(=z@2y~}0@VW6%^lY;p1d#*Q7R(PYf&K0xg0SSeMsS2vpu%c?U7KM!M)tAN8&MTVm z383sv?e@^3XW1~=Mk(IaHRMtU)lRE)syLL)*b= za4xuVw$6-5k>QfqsPG1i$(P{dw;(VrQcjFK<$V@}MXsz!T@FenDfE^*`SJsFFy#m6 z@T>p+m8eUY7*?+`N-pE1cKIQNO#wl;a;f zfPV#;Owh!hGx7FzAz8j-G3)Fa1{dB~-1elzj+FvSGz(uC_djFJ zp+|nk#s(>sFogT0(48(CvkOl!b^w&0B(E~dr4ieR)^huncboO=UUf#*fA#0WB|1=F zM~}PbEg%&L$Q%H-z%-=MBnQ9Nt>)Gms!|rcU0TK5#4T271Jx9qhi?k5zd4FdLv4)O zgE#k7!4)6Qg08cpow`nzk<@n5@G3_ffgHfAt4%#Nsu1i%vV4}PxQ6Lgstg_g_-zzr zkmwV@Z#9wkuV|B!nQ&aVD@#f6#;)9j8bn;3nWfz|%t~zFc0;}G!@Eh0frV(!yRxM& z|B#2<9C#ZKQ`4rNI*n4x_}Cc;Fk8mJ+Q#E~$iQK8;zy!}gev>Y2wq2GScszVMiKY` z6)AcbSQgYP_Nth2`5MTNrRVPtNGFcdUMr~M(5k5@cSrz5Eoqn}{dib4RKx@r?S1G+ zss+S+Fi}C*O+Bp#teZ9gawvmMSixpALOjeFcHB(cCs44>5q2m*XmEzAa0Oj)pk`AZ zDNML9?_o;B1j>s+8%@Zs%-2POlft*3bO77W7y%T-Y|oq9pIOkGk8Gbn39rNfum>#R zNn-4wxzPcyDSlYfw5uY)EwX*^l^UfO`{Mg*KqWrPT2q2n2^oR)_`V1i?8NO*G;{kQ z3TcjAJgY!7w0?zb=%30ks~=;k!8?~_Twe^E!tOXZ6cTR0fTXIG6bf&#KqTvr6W$M{ zN-ef8ULL)mP$rMPI+$!&_rn?A5v@Iy8;(#UxfA^L59W4yiH$n@0l@b5Hj;QHe$u1EVp(A2N zXfsB)><66aU|m_;l(xSsQ$RcDmW>j!^HK&D^hIb2c&pU&S3QAdV2}G(l1(A~NBOZ{ zh>q>H_KKE`eUHcxM{N6tD_Yb&DuQU3C;n7M?Z&*gHFGnQ;-_Q5j5LI1LHtkVNkMN^ zx0T&MVpoQ!VLZI`HG7Pa>} z13`s`A8^92j!5H!NpXxmOo_zTb<-2Y;8QnvnqtGfktlD$f(tm%o&PD&jnty08Cn3c zOs3jag9uNjsh&>2mCgdDT>6+jrh5oVdn)>NF*uQkv1%g{Bxu*~Y#ak3Kvqsg>@WHR z!X1Lc5>&_l&C`^F*i4Ds%@*8v>6o+`f@k>bT$OxV2QbCha1Zklg9}7|yK%kN=6GWi zJfj(c41=r1MY%^C4e~<|EHwOA^7A2X_lcRZ=%%rFY8|%r#$xY7^pVd}Bg~d%C8^Sk?Dzhm(k@VL!4nq?^iV%(?Y3Qpe@LrCb>S%w z<7@FMm2tz@dhZ8m@=i)r=orbav9}~?%s>pbJR0Q--8#RxpMSOO~X2)gaSUrCs)Uc#$H;vhyYLwpWi@LRA=ERP{N;%b^-AI>qi7<{1<4w}EVRA2_?_-PI11yR=#1-5&lcDR+Nd7h0yP_I#8D(^=Q(|4A}7f z&8Xx>=F)=u<-kInj&X)9nFB$AKA`(Hdmt{W9$C1lEDP7Sf5jbK(E0jKN=wXkxPo$o z1;h&#IceCR7uXhZs>1YxKuJ}j`O-|AjvEax1;AGEOJkqv=(E9~cALEkVOr59@B=_d zaTfoax|LI1p~i@&G*Yca)3kl|C3@!JpFQ~fYA(Ur(fttCC^F=)wE@i>#{?%)UUg2% zRF@Xc1xnaN!gPQv)i{*Vuf*eq(%%<-gUI21wD5l{$^13T^-GMO+5g=O2?a z@VatqL5+ZwhsYrhwHKDrv$oyT1sA(rx$XDqNRw);r~{$Qnz^y!$mbmfBoM^`5Xk^C z{YB|mVGEqq4Z3#N#MDZvH6D9bXa`p^9TzX45{Y|iW%RH^7|=(F9=8W<(* zlllUKDD_|%ISH^|wi3XV3gsZfUD4xIr*-dM>1ddOXwYx@rq*I%MPCSk6cu7LqPUtO zCI#ON4dNt28EEraD?WT$(P5p(jCX7u2<&Oeg)KF&^354Ewu|`lEciZ{GWohwXlH7| zL&xBY-7^g@YDt%ZnYfvW#P<6i`3td-w2;KJmTx0G#FlRDbH(&Rarkx}w%V+_M*(up($#;^g7p%~-NC&!_;C!;ka z@WH|^xRocLR41p0nzPLF*HSP~(!7vlLf+vie-=U-7H=CfNY)wBt<%iIvjpeiO_UYl zEDqKO*I~cMcZ?fJZHByO(BWm47n=>ng}2s96=&7@6Uw|e{}xgr`RWF{KfjDOw*7NBwIl^d2=S@i9iO^ff!(a(L8r9YE8hB=45M3d z>d<9b+;${wc`=^_^jEC1YA%(7$$xaGGMAkqd=P;B!D?&eb!Nm~D_4I*q&b@RkekuT z_zkED)UKT_vpZpi)KgtV4{eu$L*swO4DlE8PAjO}ltaB|20?<=+2>YMRCG*n(%Jit zJM*0dFn<7?-D%1M0(Jmt%wIh(a!#`APsb_Id{ebY$iajZHs@7SD39C}2QK1Mt3cjr zK^Vwe{jnWwgEbwJ%reYIueGw4sqkf7>UOdK#rVhST_GrIi04__sr}zwn z4`@Sh-%r@9u*+Wq{q?Io{*or(sF68XR=GOAS=Y#DDq1Fq2~&(+>=5vvCnCB>PAe23 z>S91bxu~G4sp+S&58yid(2W9|4G+~=T8X|lQG{B!Sdx|Os}@w1yyeI+4$p%7c3&2Z zO#)lr#s{})hiBd@WB!g-#tb(PMtmQ`A~wH*$reJ1n1{Av3?&cOr#hv}fxAzEZdHvf zvm%;K0hl9zuD^)gk;mrFENcIJg?nk+FQt+Qewn%b^@%lYP;K)f z3`lZi|7R?UNGY>eXqFOzYjWyg%?TB<$1#9t7%0!LqT%Uq$2xu|3`YoKg+1U0PZfFc z&`$PX5335_NU7zUM7ROh`rah3$HTiN-BxIrXj|X4<;m%{j0giVzW+7!chN?Z1~v|H zh0(R{oF2J=>IN?+21sAEA=G~@#jl%$9*d-1+U*ACr5^nVqgjI5RP z;XQK3C5*NWodRrz8=?_W!6@K&upt&=tr}#-_4Tj-cZp&s5jiq?K97`P>+9htpbWXa z0`VcgF-O8vOI7N`vsd>Cv-e$;FqM3&PS)YEMC5$a$G9qw8<6b^*O?=CoGq&umanv` zaCusdu45*;rCgP6JftzESz1?~m=YiGes%WbWz}N}d!Zt$liMPzX@N9A)-uvr9CQs= zyT+n$xz+llQxP8a&4QdhE{QiFSsm1Vy+WEraE6)Z>F9;C+*Z7p=G79~+l1m69=yZS zh%{#NU-Fmm4D$(yOlwEI)`nc`PFZ|#^5zS{wK(FCEGb(|+(Zhp3d zD^v1=`SsK0m>oW3#46mqDK9ar)$*wC=w@2OPR^B`)o0vHTDJDBi?iVx9jd7cc512P z4zGC)An7{Z|7aT#^q~a^?i|mY-Vc=H0ry9f^-16#J;A_Bl&5VQbWfV(s^YZ9{b|b~ zY3+N(d&E?)-N^t7z|(nJJ=cn`C&i0v!>pxqbN>nTTIL3(OCNsUob0SjKGk^FtJ3?a zzRMHJ7KZRE^!^_FL|VVUZ_H_yLdZEae343PozM z1#KxsXG!;`)hCT^)agerU&v94AMY88yFCB$U06bJ1Yb+B$}Z&+%HF_A>kLn1^q=kz z*XIN&cHo+$b#~gtd?OZCjqhm}Ef?|0rBqAH;{B9*ZJ&?8@0ipGczc*W_*H7znCc^%__>6yk58us2TzC8dzTO8+$j;f5 zk?zFZNuJ7!>(k}++4|1P(wq&S6}~g|kB_ZS4+@WWb5D264D5F*cPfBfa`vS=yILfN ztp8=#1=8IEk$*}0fco<};N?<5aFYDR=J8~~Wk~qLO-RM$<}W*lF3;MWnU{wk zNoDi+zF(KW55M2V`jW|KbO=I(SDlcFL+07B$GwLqLHEbor;8lH_qPe?85LRrY=q4b zb6Zwx=jXA~5qo>bcCNg3UKLdjBKVWfcHc95&dKA^JD%)Z&x5PEi+=rb4>v^@5lk)hv$tyW6s?Ql&V}&a)~`@!6-;)%+7$XVW`gv@jKR$f8y z(mGdn19^50%iE=_TjT59h>Dwm@x@dQK8A_j?&yB{U>DJ~G0}1v0`$pWvDT9B# zU7DI1Cs0qfVehU-A3M7QN#DxMjZy0wldtX{50j?fBpFS#Ca^<9{(N$E<$6d5agv>j zc^N(yr#SnoZySh>xV5u@?U-xL~U=bUEI!8Tk@){=Ok zbi~yQ&?XTtUG44Iy_uKpvK}z3CAB6P=U)Ug0rDy`A?UP%f)6fJyTYA!AuF6|6ZhCf8V2kiK;p?CR^oFnM9?P|| z2v9-j93jyfWvEjlBe-_?s-)HhrH8df?iGBG{x7ZrMhKbbwd6v@&^# z-$ubg4QUNq2I3tg_S;XD#g|%U21=BUa!Vo2Sq@OrK;;Q@$L&iMxn&`EI#HUk$ed+H6tD=HM2V{ z$SI`dJ@tjW3(U{_OTbf3RUVu2i9~tyXlhOvW6mPs99O6>>E{VF^-N0AyBZE<^N+kV z)4I-7iNQ^nIWAxJlu`)p#aNRl$M(?g3@0&3DP7HOKPeOX@@`C8-iE13TH%%x7D`aF zOpw*lhr!FZn-G9n!5nt$pL;3( z`E)kdux7H`A9?AfM|*8wxM;z33IucLrsr6|w?Ar@(}UTlUB$8`@T=dFaeqsp-B6D@ z`$j;7U>F=|`s*Rp!3*g3Af9~GrQ{)or!vt_<2P&^gGBb<*kCNo%I^HLx+|b@>=H@K z%ErVpMB(A+cluN+d~*5FqH%$y5AX)1*#k6g=>9277E`0a=`8BJat>`qURDBRsR5ll3gPxP-3xtEXMbd!D@mxNUP++`gY)n0{BId3W`4kvcBq|!b zJ^G=@PqWtyCQR_RmC;CwMXrySewLD6qUkgk6O&1p?vJ<~ zEjI#=iwiEIEGUr_lsy3Nraa}9-P^Z-jnYV##SyYO3C2tm1+56!_465m4t609QEtjX zA%sX1IK;5{_@BSXzy!7a>S!?z8h}I24ra1oc6AXLgu&?u&c20m4+n?OqkgBr#!p|y z+pT0YjWn125BgC?V(3DFCf8(rG-^sNxsUIl&14xaTaV(IDb#`l7F`<;J`E3ltVE(a z-6EMFzJUrZ(XO2Q1*{t6qfcS5lX+gmk=!YYn~U>2EMmI8l5O4&u;MqDlJI;#8m9+- zQ#V8NeR_8c4X02=yZc*57!`n-il!ofC3>~XF|r!5lX7}{%ua%LFu{8|IQ1r)Q*wqy zy%YycZ?95Yl`X;+H8pU935&!<#ltLHDzaYzO#e9rDxyjra#BG5vDa4(15`jpGW3kQ zOI;n|F3)kzkI&nRQ$)y!UG;NFYVjgTl|r~l1DyCtJV+z?^HQ#aO{J{IM|}Jf=nIUS z#I6EAg5*}R+%oFt(l9|9VaD9L!Sn)C<`9|Mdj_AFBOBCy0Kaa^QB~Fl6VGN2->?PZ zVD#Vg3=0NBO0-YmX0T_#)U*+(s zUvL863|T&zsJM{j9+*6wx>`nF@)=T|omeVP7m25jqM}Bi+apl64-eAyOT&rKf{9|p z#ZD4jJuvf~(D#WZs}0Cz2mUi}^b`H`>o(Uc4*3p$py*02&8bc6MaIJ7W|t6(EN3MT zVh@8Ur6i5LCE>TQGC$bbHW%tND_eGU@+XMi2l~3K<)U30WVE75Y!#P{i~4fd-zC0TOQ>)vC~u3QiUHD$ z@oVHZ*finKPtS3Gnf)wIq#HXFnVuCdWV&Z|?PRE`qRURDX@upC0f<2BGURG|$eY;FsL)$Nm$9 ztw@XlORbC7cR>F1HBolAtjgbM0+;DHKueVJ`mb)H=VB@iRD5hOR3FFJ(-Oqv^HpUf4dwnw0$_Uj8NkZ@ z+~P&nr*E^nr-(!%hEa@;{hf3Vhg~Sj$s~wo2N{kU9MZk}0NzCe=HJrZj^aD2w^1id zl?`O$88dtB;-;N&K;One#x*`aBE{N420CI=B{OE4@$xkPKCfV}laV5G^2kaN&Fr|aQf?v2Pi5?uu_IJ`HJ$^OHqrpYWepa&5lLd%GtTcqJW@+t zMo&M8N`K#pkI}p=K87iBezd+U?NXFQ)F zmh@2`3o!eHi$voHpB9K$!qqkx8 zhbgzL*~^tY$t##%{~Cag4c5jvzBclFWki#_t;|NY)gaTS>+G4!!SaURW|RvS`CJk>j( z*dI_!ug)2do^(i%t=A&U`^L!7XOrH6=X{sig|*ztVXNnU=*LXL?nuT`Qmm?EjMf=r41W1c^Q!in?AKBrkK zFl<&W&U}`31xy+WP)YjO2`;`3IT;8|sw4B_6y7ws7^ikePG3)|Ro09$4UpDuAhSOd zy}vsc_@3mHcloz->fAaKFF5?EKs)nyJJ|1Uy2HX7?m{k(dOM<-%nyWm4CDI@IhQ}>FDsdray{lgh^wb;!%;Q%%qP9>(*Z1d-1B`<0C87x(LngEu(>mlYx} zfA=3Q1U;XP9m`FG{v1q_=lTB5@pbOm+Qbm~dv%dV@pnTgru%-$*~IVGH(|s7#6Ke7 z>U)ezz@FO8t-*!oK!da<}WUe;rK0#rKt^&LA@ z76JH5bNwb0sjHoLI>6WVYYk4d|NJ@0`;5d++_O?MNfYXns}j*+{qr2(o-^Z*fPI7L zt@rf$Q!o`IY;WZS_>-J3FR)N4Ivwcf%)z73C1g-gl(^7PxKJsz-`+w_jSMt2_0j|K zA|Ei|SZ@b4dF;GzJeI(u@AuU>LKPV}>&8Be)}|eEh~pU4njbT(rNkIkK#7TANfpS; z)k+4z?GAgKyL03nvre?!@gMApbODsz+nnf$*0<-8vB&AkJG1ZaVg8-#@Z4T=v1-H2+=btB-u_q!Gn%A)qJlPQN*3#*#W zT_toj)s0Jx^L1ay!dP_XF@hPY=FM5>SH+6Y(AY9*D)k0~{&ZqhgUcL2aHMp+8ioHKu_?V#In}{P4^D>F<+l~(! zN9f@W6k2FqkYCz*Nt%q#Wlx_E(IxQ>){Whl=#HN>`UARaH$*PK=&T#iyt~ZQlX7&& z8y*`6^||KZt}juYALjqDO~j4Q8@?XZ?0-nsGYo`=Uy)mHy3?_d!V3~EyO_Gwof>UP zLO}~!CCryVF*0%^Cz(%|K7;vcC9m2y2(NYiquqrN4kFtU^r1Jg9B z+Gna3eUdw(7rcn|;a(Uv>EJ2BRIXdIr0V!NwZ=)(ZnC?asNgHc1l#A@RJJ$2A zyc(y3aR^4)Y=!;{*N4IvR2p5T0F-CvRDvyrhXa=uO;?Q67zPTtXtF}6tA4?qK{NE( zzsCcr*^hVWJo43;M63RF)Q=d$m_m3fV$zYw4nB>EEOu9I9ha1k#8MPV2sMsH8g+)* z>eA*Ntpfs}gdYpX=c(<$Ar~D{DTfp`EZjT&Er^)Ug@&T2Rxl3-d>Rarg8B_Q2o4QN z7a|x~8;7?l4o1<$i&-o~&aYI}S~J|js554Qi71u%R3OZ&yJm<(W?`9;pw0C4A;Ju9 z3TAT$`kgG_bp#^kRZxLE6YPup>>YdbH}Wz8uBgNJF+?3yFGJ*CXCktY$Z?1BhZ0NP z$w1i8Y6PRF^1Li$PUfWE88vs{K*)1`;_!96Y3C6+SpQMy8E~wA~=)TNQ( z3c?#TlaMC9NqA{agSu=jxnUde2|Fvvbv^S)#q4qK!Q}Gnl(Avbrx!QW%$5#4A)ov= z@?Sd#HYLlDCJ;aD~S8IIuJ^4R`L#OaC6jU1%Ng!r6e%OMcG-j^FmQ&Rb*&Z)IT*q#g)}qo9EI7XDncpxQ|rU~_VeGPK$d(6>Z^Q3N+XNJ_=Td`>+ih#h`;droNpBRPg0ut9uf z+*#&?f8y@^+$dc_ZDw-gllo9d%KV{f%`sUmTGOG|mYuY3<9e zuKbgrQSABWR3fr#9iE;z+2SvLt&tHBfha8Xo^82N#vU%g20NsPuI7bxI?QR19E#>l zGxx*wMj2fHrOaJl@?F`B^H9L(+p$cj+!2vq&7|n0r@^&V@--@Nlq==PUWv49xe>U|R5*?gFI{x0om^QIDS9(pV z%(RwPkZVfuruUW#^pwwtjU0(V&^&iK7uQ})~ z{+3I9_n|l}HZNVx`FnIru-Ctd2QgF<)<`*FGa*RFJqw#}2bKKBkKS`QZA_WopZ(R4 zo=#gX_Ej*JEmBhFla&{>hBzra_Mc<~SN!OatYo|>w7x_*E=$W5aSe%UyB75-)xH~_ zZ{OvZOQ$$buEgBrl#4w)X?^tlFw@gx=di}Jt+;8D8=g>{-!o;5lUT^kKtYD}0)N&+ z^;ke1Cpi0Z-p#Kv{SdKZEflS%OY-=8XfpQkrO#wcpAtf!F_YsT!en8cbN=^>FaCSR zd8@aWxt~N#p2zpZf7Zm4Kk-=0{WNS1_;rG^1iAV1Q!j|``KVOeMObKzSpgMwqmk_k zfqj^jK#tFq2M5_W&0KlHX6-4&4c&J){3%||&;nZAq{IRjuU+@3VZ$Dur7#m=LAGms zsprVaDegxN?f&5wVa&s~K*NrJhvTr5p8@KJNA?UqTHV6>9(CDRJRzQ2@+Nah*D{q% zjDZR(LH6^wuJm)1)6^idk}qXj7H$D%um?N8J_=Y63Jzv+dCrz5JeL1}2umd~-A_k$ z6X|4AMdN?0%3%3jQ2fh|hf4mhfcNhdT4HgUk6IpEgZwvT4q{Dk41taFr)NrYd)?<1 zN|cJ3)kYU>9y{jb?g5x?V%q|G@Rk^I+6ZpH4W<~IVdhwf%97bR~G; zX5X?7s6i#$D_$hBdLQw+Lu9coG(uIIVZ!pfht%6F&;5i$Mo=5hS_AwDJwK((3uhzJ z6vNz!Efa4K)ZS73Ad0V&AlOJmEbwWLr@Ws~n! zEgZee$|`%RcTU@3zNf@$1f9RR0I}O_k_`w12`Pl54!{;Qw*~c+cl0cv;}xOsv~yq0 z%10w?IAZ&>+h~1i>4?N-c7Aa5ybyNFy!;kL4Z8Y8I?XC~JR6>+)f08j%}Q8}x`!B9 zXp79sf--Na6yQm*$POW6Z0&K_T%qElFTq`&}K)wT=tUy9ap+}`w>==naPrWp`a zE5iO-l&Iyu{b9N{yq02F9*l>{*p+9=T%5NVQY*d~VfGXX6+ZtUj9NPFhk45~qUIiu zV0x*Xuz5+Q0;0`!&psj=L!xf^n1&|~6R^w!j+!HrE8$eF^MY*1n2QV$tz=1H1i9cm zU*mSS*{jUo-cI{oyZ!}?%oqD(`I;GHj6Cf7;&Z{MXJS9k-x%is5gJnRpt`WC=W^@s zrhV~ux&}Q;+T3B#SHWQs0tP=WeoC+AV3HUty2;|bmq&~z9b(qKS#Q(-&}MwPw0Gp; zC&89h(i^Hm;Rp#uLBEK4kdI(C{yoahY85Jb-;?-NNyg*B_6ujq1iuWTz5y{CX5>QG z^YN`e@Wpz%6s6MN`0IGp!K@P(qKxu)zryGDlhiiibvv0qo4eP*;w}cH(70+xn_g;1 zLlAWD7?z0^X{DxNoqbZbi0q$Zra9ia-99zcU#5~tZBIjlqra_{fAK9lf0W~wLnFD( zeV3@)ESZ%1@j;bn#O;nddN9uvH%_F_fhGNO6{ZP1iNZbKTETvgS;I|;MW zV+=CsXF-N1Fevl;7!A_^1|+}z4{jH|!&ze5^NX0hulg9Up?w<7Qjp(3p5P;To@FcJ z*~1N<`YfESa>QzB_=tFi%V%*A2PX)fm?RwC>zW@zD;ZE$(wlgh@ib%xwfe+o_)j-6 zq@;-;79UF|z-TDJ;x5a~&Z>iBB%k%gGfAwkkSx*lx>*`8Ib?2mv(Co`%kKyZhW#(+ zs}$9-5#eQcJcg1eCgT6R&(BY^-y1e{an0j=l!{@U%YcW)gDoDxN#o3aO32p^w3vem z>+*v}_q{2W3^YhFy*xH{xv#*dPUl=2x-fBq=nJs(2K7I$(`ENBM$4I)C@e?^q~;2E zlZRSak%#YDet5T|9Xe>5;?f$P>vag(5+WD7DmXvzx#$+CM?7G-r&%}~Q~OPZlRHd~ zIXliPlR!52G@_Wn>?c5}j@dG2V6R*kuGF=pU=1Vim}Jo)b|uZiv?lZygF$lr1< zNP@>wx>Y3E%AClK-^QM$`-gS75Hp)ro%8XmS+%%6Br>h#RGvt&&m7?oe45V{??6~2 z&yp-o+6Bfq@6QMkZ-a?2Z$FO3yDVw2`4FqP*h*cSkuQfZ_U|jbt$bilgcKHj&LV$f zC7H^hifN0uS2%#lyg*h&cbLqOP)OQZ1G!iFqY~cglA}hR2<R|s=5!W!U- zjjCpMLT8Y!E}H>oPhW2tO3|aEMxr);zF6IUEsN$TnJ~~v8!xZ2cqrl;^AV1vyuDAB zVC?X@F|@jxLs4su!hj9)o2jF0X9}OVpx}EI^F!2~ra^R`#U7GV74ldnHW&031K6 zn)z>mpNxH4lOe`EB4ubKT}=o_+k0Fi3GwvDz=l zGklhOq!@K0qni&pI8tk8pLZdTx!LGQ@CT@)j8 z=#faO7I>$YTD-d5Cc80Iizyw z&SY>*VS{=BLoHqE(GA;vuEs~9CJB3AC4?uQ_S;x1O`S_EPSM)W}3#?j8u+$Ai+6FZ296~5YzW6lHPjoY$P@n!kU43O(Turkr z?u5bJCAhl;cLB&Fll5!`lyiPwI#QF|n5>S`EKGeS)c z6ls^pZ=QQ8%9`VI#3Z#bC#&z+aQ=8AKlXyJppKh#&9)`!J}{}i$v#&B4JS)BUUg*z z^+?T+No$A~iuViQl&R5?!BqA|ktd2+J~OvY#&y`kSe}`@zP0JgF1y~3{$V;7PDu^% z2VN9`qU=@K(`uqt0G$55C5O&{_UBJbKo<>fag^sMih)Zd+@>GO<4|2@q1CfT=oGze z!+s;lhGN-5NuT-L%2GHJ&QEGD^KJ3jZ`lGrhAG|Ylw11Z`b9T3pQO8PDI=>=miOSoW_;n3sZ4Wi99m1+t;P zJf@V67&-V1>2IhcS$)Hs*lI1*T*JrkfqOz$Ep9H{nuy1dfeteZgv0oS*#4E)Zu_y# zn)Oi?wzszULbmgF);_$=XhIx9j5#g}GSY{QJ+i4gTeTDe&L?;sF3|Y;@9COeE0DWj zuu-)K!od1vXvL;oYgGVIC3s4P8W=LwCy&&-Rh?vKAjTdOV3<1OUxN~)7|^rLBk5on zI^74lz&Bbj4KrHUUu|`?clY;Up6+PoK8Us_!!_uJ5n7&(#u}F<-H7#M&c(#0B;69A zYTFL4saIi^h1&$Jev=qmmG-u_hbmm!*arIf-W^x7=o#M++aC&cqoRfO0SIG?i0=@%x` zna>pNx#VF0#fQWeS`-yb9D_5-_-QWE%4Xjs+}A$&5Ofn@lr}w^baYxe)!mdb)1RP( zoO;C8gEDnu{LyxSRWinj_1z}cJ1YQ+JaSLTlrVr5UCb1@aB>N$%Ks(bkT{R#JaI$qiv z#mgExx-@IjzMmr^N1#4CoA$4|e@xqlBluqX2?DI<@j+1~fys3#N zv0{+HGGw4qa@1b@7ib&>6%I#es$!6lsHkjVH(6;!b}Xe)H1OA-CdxjSJcTE&;wp)- zWn~|+=v`d)kJP**0)f@@KXWN&T3sK8h)N`+&bjkm+-YL4B`Ng*l1hT<9Wo1W8|9YsU-o$lLVHY|lN-7|n+ zD{U9;yjjsb-?{T;#*{7c>(?qcr4qQ9S4=Fc#-%AyqAp>rDDVnG6^Cl3b9Y$mOMKlD zLkfbOXo65p$V(zTj+q(1)0;HOdXIy4hT<*vQL;w|3_a*R&}8K7Z)2!{{^*6Y|enBZkyL{uU@9Y(k2ij30n(1Rs@|8-YApxKNT=@M+e{ds7U9~nBAvnTKP0b@ zRerpEzi*ThHh69;o?3H%GCsH~s`f(i9g+W-9?SK2+P(7G)H(O#`q#&zXRnLBEHP*K z6U26afy-|HoP&9}e?GSFX%q;}X@RNt$QEc$La)F}nfnH;f79BBk(RMm>EKAQr)=&F zkl?yTwi?}=EM!DC15bY@jhnX<38*3_VwYXg1pSD}gyvLcRO1H;W!Ltq!HrB*N#|5l zun_i-p|>A}(gqF8P|>xw{?^JWK}e)7W3R>9GZdqD8QQkUZI_|j%b%KG`h)IIIRs3E zs6~rKa5z!-_YO~~jC9ht(~DWt-Ea$8B6WbTTF;1Ws0r(nx0)^YS|~|4;(uz7*4bAf}4{u+p&^jxk82 zffc4tWFFd9O?!R?k7PChVzEUf;#Qv#G5(rOAXA)^S9V`1mlIIAeS4+T=7bv-Zs$=@jAQJcf^MLCYz1ILuC+Z5)>WpjI5 z0TEiIYOL?F@ox37(%d8`AfO#r9!=)YMS0FKDCcHdSFEyOwgt&!Zq^53l7_iq-Ic<=sGrNoSxnGgzimF=UPgTz;XpCe1meyzv6ir4?cC`+1DO9rSU7&^ z3L?iVC85w@z`k3{ppr?DlWzV=KG+sus6_!@?*D*1vlKe9b=clzI(<^ctK(>~@eUs1ibUlKvl-Zu7n;SvGt>8VQ^np3 zIcuKn?iO2I_EO6478DpFaVJ6nrxn%Bs)r6$eqT_K?0#uIAt2Wp!Af6Z^;oyIzEx`aQirGbpxs2U4*`)Q%w&8&oZ)$4#CuH~DfN`0BSBs**!u1GM4Xgrg?hPRENUM(k(N+D?qnQU^T0Yzp9Q|1 zj#8v6jc&j2V~wY#FV!?>(q_v#p_ZD8&%2lNn(rGj&H>RSc$88&|D-x%>zS35BOF|j zdMO*!1cdqR4`PT5nfmqQUNxAjmYwLrL}wr4Vn^TogqFdq&vVVM>5H|_DHs(fh~8vS zx@K(1Gba1Mbe`W(IAC6o5RU?LGQA}8Rx?G=_FRt4Q+3NlT)+Ksj#TjFxy|;dm7r#7 zn1I;O^#Z8dcJT1*Lh+2Np^K`1TQU85VFT~{i1zTo*ex=AMaEtWcT&ln$96i-scSqW zZ!(a3iKMrmB)Ea8(JA~>le_dCtLw|9f60*X?!3VF=l~=|g1Wkli6m2w)yDw_9Ub&} znvC>WhaSz=HIY9hdVKlbPXOR8%)r|28viGg?~^)7NZTgTF4JY=W^05nEd*`41?;dU zOE3kOx%c2*lhKdK(H6#;%cN}du%uHC#7EkXP?$Ad%2jsNY<0!Gi8xh=V~YW1pxDfQ ze|U4PUOM7uGcu;mPT$IR%75O(uJ=iqfrC|!yiuG2vE`Ehd6_-F*=FdjI1#p@`zoou z1q?o5bL~3NmMPc|LWC}r70@UB+Dk2x!Wg3nBma5t)%^*TlR4--Sz{>D46+z9qbs-g zXO_G0yPHp{&k^&YIB;2^JbmS;K;Y~-tpCW0=D6T}%8s4C0gF=o$i#5xR@5y^H z?PJB02if9jz^xHb;2TkFHyIc_LaUr_jCeKXXKctUuGw*bV z5$jkq0)e_TXlpy?H)EHRZzl%r{j)a^%ylhVfg~0D=cHXn=WXx;J^MWKGga*u28QU5 z&Q5~<;!Gm3?Hj9;)nQ><_`4SsFK;)lhq3Q>;`#tdYZfTsAQ@-p=09D4@iyO03#>oq z%sGIMhIfZbwOv;G8yjYOA)Cdx+K{3XW}(^+K>CGtqldS(!gqei_o^P0gUsmUCn3h| zTdj@XdSM6sZ?j?R^qSy7*70yPJFdEwelyaK{`1$~?|kw-G#ZylEEnb0Pj>gPM1~h^ zNNmoJ=%T;2x#6wQw0Y~73Q-BImWCH%d2zELK{D{F!->~${OYzGuq+WDE6ZqvOU0sQ zf%coLjOu(c-f_st#dQ5r+T3+_lnmv;Q6Dl&f@84rU4~_`jeA6;5-$)45$h+|q>j&MD3lk6_5C`D=~St%AUdCT`qcc;P=|Kj=?H@Yuvy;Yb)r^~||; zX%Mn>Ha17q880&qfZhxlgg3T0YBAG9^#!6fyhYXtjYO5)h7?Lf zn}X!-NtX@A0Uwuiwsa>zhhom-PNJ-#CS{?^9RC4)yZUOV#DL?G(1|@^Cb&pd)!?r+ zg}48sjQni_PGL6!I^&=%su&wtaAY0nfISP@*qO=DIw35|->8-T9}Pf323mW0l;d5f zuf|M!ADznvPPL)tsbZoLD87HA1aDlSgwiWr_YnV7R-v0C&q6MoI!hfkhfz|LOCK2S zwt^t%a^(W0$NM$jwGu2phgaJ&{hUJdMLs9Zqa9sT!tomnb(;r-jLH>w-M}>QG^^59 z?MqxuhVB%^2Q$DX}Gl!fx?;{!&0&%4_o9eFnD$$2!^zVOEvOY!BB(Snj!BhTL9KW z|HV#iG{wIGK`sKGG>K~JyMzs)XvBpLwuYH}B1V_yvPai0#Q*5o57`JA!}D!nq5kfLdAnf)ZVVUGyI-xPE*iW&`SX z)(&C|sJX@ey8S@P|OrmuW_WO@OQ zulhQtW8PgFr3%`5?qo-tiF7%XoV*8_rGjrAU3oFuR#HsU69BV{D@E1htvCrhlKE;%$8RV1MmbsEJo5J9dK zZE-)VhPGolL$_slm^>+)h-1t5GvwTq{4zq$_v3=-9GS&f1eY^xWy3XCePYYCUB2J* zcOa8CRPU(-k%pfZQ~>A4|4&48JqFwg`7(yao{=bKU(-2^@K5XnkgC&N#^5GoCV^mg zM%g#dbdtuIi0s=B1Obr=$RtayL9K9>%gG|Bt&mX=+r;Mxas)lNe1W}ZlPofI(N$)lsE=xQ}er)KlLFI?zSLcz3jh;C`Y%a!@y@M6xZ47#%hBXe0UN z$Q|El;7#n)lX;3fQ?pNfhY3X&2}J61qZ@Ff(h$Aw(}fM8UZ!A}4nIrG{`H$l)@};y zaJqv)88VXl++}%sk4mX>WE;+pxEWm(h&oS887#6Nw4tWAmu1L?cmgR5g!^W7^)w6k zT8C43i>~YW3=)tUV6@Rc{&j)DG+V4aeT7YA3wqg;#-vD}uQi4;&r4A(X9bps4HTaZ zVU)S#lTk{8>eAgM3H`I4P)Ub3H;) zS@>LKd3w#YqDE(ItOdKf7B>?;DPaM1(Ls{WQ~;)h^anUghBrV89J^D>(ItQzs#!M7A;z9Kw9A zJfIA8=CM@ExzxqGzQ{iH6?0|$dP>l(e#PJm_xK(!a#|?^L*3;85m3!!B==~16y$Rx zly|I5Ux@Oh_F5MPU5O3c3aBg8UAz>ROpN`BtRV4Nl7x& zkGj#rNjCb-yj#wPsQA~zseqh~Fvj))Q~+-_far9WpTwq)W++qb_0^k#*w??kfT+k6 zV0mUN0a&Vv&Kbas{dgI|QTzBh-7F&CF5`jB`H{Kwh4E3hBK%Q@3{gU-Lkh~#WXDL# zKA_{rC5|QC+K})Yj-{5z2w$u4pRjcjQv)-}S1#v-0~e9P2Z2yDV55&EVd$eyj@g#l z{_fi$QyhGJvq)4@_XAi(pdo?v(-b!f;s<*U@7|Ec0Yb>*Hp`Ijoo9Ds2uP`9YhII)#m?keDz2c_;uS6=Ni_( zZvTrI(h9MG#?KfAaFH*ioEKRfB#7SGu2r1Qb#nn1qg4ROfQ$0ko~N1ih-w2pE?MMu zn;j!O#0Q2Nb@K=&2-gjlz{f`kQT-`?b#xavq9UKe5V0~1YxxNBxscLn{*1S?s>;YbXa0J-r*RaHxry60j zF$eJ>sWfpX*^446q1O7^%J6y65dNv0r@ahR?Rp%Hac3@q+{BCaMGhTfONQ<+P^n;9 z*^fPcOk12HTx${6Bwv+5lgA%Jj|ja&M>B#;Q#h9cL?QY#lEK_s0Devy8BqaFP$d7> z8uJiGT?2K2MJA=Q{~w2R1UaecM(1zDcIdW{8-z zy%FCZTl`B8*=Ij7ZE<4qANdd(b=Ow>pe++8#xI(y#&dTfpDRyhr>;Dqp{mZ!Icnfv z#?*~ssfR_-;LXid5V}qr{6b^>QNo0L@V9G)QSZw!0mJ>x96sbbbLDTl-BiY~lkLUl z7wzU_vs*5i9X%-wr#uv!GhLe&RI3|X={R;+^o_Bv5TwBf-9r8DV*HP>3(Y*6(y_k6 z!3HmF-ERE{H@h7I?kNUn-TnK9r*BUFEGjK%0k%a4Z|u5mVUYLj!aZ~>-GZtyiZ8Y! z&!Ajy98gLtB}geBw!XWy2olLsAQwFY5dvbI1-v1Z1el?%61&ra>c=wm4tRV`7`~!% zV@(y;Xqtu9&N*CboLnDBW#f+c`m?@%#lS!=kvh`2y3~MMU`9HER92;-;2^u(V4~jM z)!lyigc;+;jI+Et?Ebf|f%~+5cd~Hd^y#|BqKT_r^&Rscm5uytgSW@9gV?5LFJSqJ z9~`Cb1+e|F^1^;)aNEzLoMqm3ef^l>He>nx%iX2LLtD#6TN}T1?wBV!OUlV$p>-8{ zOwAbye!fs%PAkfC{!Kh(uD}IYv?cwhAem1vr)i9jpSL+e* zP&9vOujci|>s$Nr7`_J(SJoA8XaNY*Z;&Rw2wY$JDjc?jQ(`&Hr(=qYceMBP8v@$w zUP~j}ZTe&F+DEGf56=a-Khj@;tJ3e;cV}lTccm$JPaTnORCSg`f|rHgy6F!Oc9^yM zavuKZk|r{lW54*6qw7~JYz_jCJm=nx5<)V~Ufzv{zIdP6ubpaUmpwSYKiuz3y59U* z5C?`=>?;|gleRhlXr~5>Vf`yO4H1-EdRM7+++I za`5PWINQtqO&djvL@kBj7agZrE(?@~@wyYd6bLuHncsg1>7ms|@Pp62dsnqH3Eo^p z5UM}nBy8la!wz3d7-|FfuSy0!W%H}>9k5F5Q4EB0 zu^EjRa+_ud8H*j4d8BQ+QgbVRJeE1VDFuaOa{NeSJf#>wNZT3%fQtHJYdU+Q>Q&O( zlHi zWcBHdq3*8z{_&zvJekFKkpUYI!K?{DET0LifK-UI2pE@4vxlrY_9TNvqUO=`j{_As z+d{?zI-NhTCiR1_sQJUXrgU;`Hf?AsGiICwNh?$=Ob z{rYIUXY!b!oCM`9^iE@HwNG>yVHy|+Z8p$R2+P-10@1IL!~_Plnml4u%b?>ZP>{=W z9EjK?AR^&NjO+Z5Ii+Gxb|ivMc%MJaA}3YCL_k`0(P@oOyUx{*7J5s`0uoBVo2D6dIMy>^#aNicz)g9v`W+bPYb|giKqNyhF2M|1viiiahqWZ zMa|QaF_58aRBQnyipvN8UDk~eFAm`oP?K@El?Z$D@iXI)x~4_$SOibu(e2~R8Lx#X zl>s(NIHKd%n z`sj4pI*#Yr%OlLPk_q$lYNHR=A$qO+Wa#rxC)TQc_2 z&5R?8HxM=J0oVmc#3!k6VP}lPo@i(~T7X(TD^X@b!+1osAC-=??{1r2X_`A$d^S)R z`!lyOig8S`3t%G4a=}6yQ$Qns_C2X)YUVLE!8Gl&I+E@kXtU?4dbXsdQLMIys+)2C zAd#Zg>o0McX)nr*q%5=n!>kVU#Z+K?QQzr{#c`dv^`Z%vjXGcqAMoh)|M4xJj?<+1 zTG5bfxL)p*Vzyq6y;g9}$?Y3}8C-TH#`>T`&L(pxG^{%tjwy71L+~E(A3!ooZ3|~7 z$;KvoC@lIIHW4jt4CCfwQpSI@v}D$h{luL&dHh@f3vy(VIq|Ua^6la*uO(}1 zb_6@RG8=!_@4m}S%{^*OO`|jUzjC3j-ft+#6jF4&$}N6j^pjVEIH4B<*G#>ChA&-p z^0c~t1HmCho`Xl+16)41Dum5oKNo+3V|w!|7|lS;zKBR5yvBarO)Of>$5`vb%*^4arO@F=;vqI-FM zK4RQ|aj*X4dhP3GxiOEt4O5k5%g_ZT?G?^?WT24Mvo$grOX@uy|D|29+yLV3rfBL} zVAyCgkH`Ev54^{*k9BpYmsI7a8o$-ek%z{lvw6X24bWQI;-6}@hh^Q1dJe%s_1LW5 ze&Vjkh4(P&FKS?=jKU{G0)!-5uZ~i7Sc7CHGoTmTV{gLGz5~R|Oh2)e@H2e`fc#CKH zC!2_24Fb@4hxbF5()=5I$~k6wg6&`x?^mvZg0p^A#k13$il#ly`KG<3#Lo|Je;`To zBmk)s*BC!{;loK0`~l;|23>kAk=3q?JZIlXYs1tUO6FzhJmlr&yKe=th z8yP@DZoGsA#eT{_Iq{jFWmHm`DP&F4YXTfaoV1B zB&`&YG%z?0GVLna+_Cv}G6u^@U1Rn>F9*`Yw=b9}oacWB`iSMa9X;4NRw&J%m_15A z-#@f@@}X^FjPw(D$p2~IaaVbOuMrS@0|rzUu8Vs^QeV0|e(MR?oL)Rm|Knp5)9*<- zSeq!^aWC%u8cSj)Ak!}AqgM-k(1)& zl$>U5Dvgpw=T5HWhFDjPSOc#NOnnG0G)nmjF8$8_O(%7l(vwR=P?^*AYJxRf6Dp z*wZg|D8r`k(HV?_BO0hPLaEOMvg&9keKs_17=aBKiSv|?4(N6hittS^!9=JBq|4O$ zHcWR}bCnBidri2`9UUQ2`Y3dmRb{RItWi8QMuGz6cG7XtKsMJ5$!L7_;M@0~LSqZV zBK#GQJbag76Ejyx4#rD*IYHg<)+(Db`Jjx&5hfFWN;rDAm`}p|cd3DcQsC1ay)>MB7Bg>j|wa@fEiT+fDxpoc^quPswLzt=frJ+4J4LLAjF^! z%qSvYC5Q2g=2XL$7bJ|H)))*GTagW!Z%(eH6UWh%uS9VjnaBuIfD_a%d_An9%iS?T zTipU;Zn+JWvtPcNlR16KQb1~j@+dkLLZ%HLBn6R=&+33iECA?Zria<5u?QZ1<@Ig7 z%KZ7`0|a67`@tgiwWdL!p9_An+b)+z=&Ex=+$y&r>Bm*s8m~@Ez((R14OHHrL!iV%&GR&{9@v0s0% zX*C6FN~Q=b1L+^R0vRf+7VBNK1FB}}rU)EI=%(O8q>MyCxQBb_`efxPV713=KAp6r zkp&~$w$UPiDr6GW#UgLHT-Iri$LQJiM4E|otyfVoj*00@p6VtxFc?$_(%^=+>dEKMShZQc+XRm-(B2RoXEL$|Pm-9Y{=)_q7$GJ#LKlbIjl+3%;jO00 zIF{t^Q@CsUl2@{0zOWZ55(rhPf-y-4uw%i(;k@##Mgr-zlXbO?vpwNU5^HE*c?N?a zz;BnH5`oGzw2YS9&-&PKzMk3D=dAB7e1i8LNeRBUCEDg}NTPP;TfsGZ5c23U$~ma~ zy-rBG_D#$^O-)LSK<~I#xb=cwlFxVOVDmo@^tbz9iA>hK8?nJR z+%ZImD3+UmN!ADd@)Mkt3WyJ8p>*mmhrpp3Tn6KqT18aa^$#h|G zaX6=atL@|a(!`uH5(wRK-9NRax<2J~FvtMDM`l2I`hpqzD5w1#{(HS=nK|=;$-#Hx zFI_Wz!R^;GOcyt)!D7Bp%w`O;(Idy4so~Tj2j=3|$(@x9fL-o$z{}-)Wa`a4C0N|X zl)3l~r4>leQ_pOGl@xJFO%+2sz%;6KB2CjCN7CSSY1kDfk`UTG#|H7oGYTA9SZf7UWvj2Yzr@R6~P_Eq16?yO+B3sDpx>$Gv^63>P@(NrpfCQdg0#E>}}%--t3lMxY_Ad3M_9+ z*>^d!bBVBGM2!VK9{owG;^~Ei8WsGYzNJ~hBTd?tr)sM~Vouwpf z@p)T+?c_XmA9(5Td#cH1v#X*lt0VUO8;^?`N6(ELYDL|%iz;KvJ^S5FHb}W08xcMq zwY~)g0^$Uuk!1#S;@#dH5j0+4lKn#85}8p?Q-|;%De^QRxv?5WkTNVsy$@*~h>6Q2 z^F7PMz>iI4FEIXuj(i3RN6>Xzb+pBPrBs+2{qv-R0&fSRB!&^Nr{GAKSbUL80pe5K4p);P zUx`Ybruh{o4crDy=K-=#zTdX{5{&Thuz!TT%@HMhCLahga!5$ zI^#J%MVojoVKF19d)Xlr9vq0`qqh53vfusQ%kz*NC6*{ozLkFXHkQGdmy>$jfE|T0 zE~lW>S-QOhRF`IKk3SiRYKziR^XcXn1ssdh4>UOzf&B8EEGmz!hBh1M zTi!SU99f8)Y6OM@C_C3pQGB%!I_%GNiHyls?_>kzqQEilfR~g;bcqZ%X|vk zMUGiKzEv0O%cTI0U*A_i($p=snsqGxZkos6dIS1YdbVIGbGN}lH0L^PHl)WkIS|!{ z@L!fWODqr^i;tJRV&`L$#77MfZsu7jN{VgtD7$jrZwbl9(F@BQSKrY>kM}!auY`)O z6Dp_9t442HR;a^a&s4z6Q_h#gHdBeUVy>nxU~%bV5IGlZIFS2?aH#Je2^ zWC9n1EsK5oyfQZ*L&xu=8Xk&NaCcFg7oe-FLM8!%CJWv!KoVA%Mcr$cmO4RK4lqhWtQxet>Z(%+Uy*XLfcRA|o?nACCS_|eYeCc8wt3H0~ z;rLPAMRmxa{6)`pb^|Z@%jPa#9ANTChgO%%^zoC8FEUJBWX3UdC-#?mhv{R!{25F4 z;heNFdqDM-2QNr&An!R7B+LhWf@8O)oW1wN4H_YBlleTNXM1CCo~p51jDVZqww$* zG%bt`0(P^5Qrh=naoq(uMCt=OXdrAsevo;v?Sars@45P0&d~e1Hntu8`d- z25u{vytTJZtM>U1p>Zjz&gbq*%(9E{YSO}ndh>@U)4@3i4VI>bV5n9m6V6PY zYnH=P=tSBF%{-;73Y<9lwkAD)kaV$Rmf4Kh8y?nKqcVR7Z8IZ&ARf>&!F~X4SCjxMCSTm&mkip!p)l)J@`CeJU+!dz7@%?yyVN`;1fP!G|+z6y2*56-VX zefxb?1@+{B@+T<`%XbwLiX91(|2N>FqGOUY`#b7rJMoYy_NQlH?b5X7wAWOB#63uA8AEoX%-F&0s z#aed1*y!h?Gmc9Os8fK^pq`uKXI^f~Q?x`^1G2L7$kCccTF#D!GWEr&lpuJ`KvkU) z|MavJmxe|o`~4j^fL5Nd>FzxgF0ja_?A+Z1`gB{`k%&#M;YqG}v;<2oc-d<;7hoj7 zVk~|DDHN~Zt_Q#JgyRifXXEa*lc9k9t^eT?GS0<{tFOSxQ3rQLq%khpxcb+!Tijg& zEl|c$u0)ZFQkSq|E}5&I|9euhozsoy?TNA1{LiN8`lX6-og1zd*9UXBuN4Hd{!#tl zLr6Z&qL=j7NEPTq+xk6YcnrmDne)Qg`K-uKOx%Pc|F$-B5g^J25@(|>95)_>fnrm@ zi#jwxM{p&UDlvi@l?Vx9nMW zLdJDu`|EGK`1O4T{!fM*WqC*_CI~DH2sj7? z2nYyr2vQ4`<9KlTn+}jz{}-fDXb1=cCo@}T7LdvyHX*8Ui#;n?m;wg@K>&vT`?&;7 z^fM6#omj0SgIQGyz76ePA^6G=gfl=vC%>|NI9{1PSyw2ml?4 z08sudVO-*`5Rw~oF^ErOdc#T42bPI}YeM-i27EOs`45cuAK3S9=-fZ_5D;%DkpE@u zjMP8IqKUzRJ`Dkg{>@wa-v&cD{R0FJVH5q|EJFXg)O3GvP9YH}r)<#m5H-<1Z(V{d zf0p=fWfDbyl|k}?Y6h@C>puygR>7Y@&Z>#r_*~ z-1QI0um%=1@e@Gv|Hpl_;2`n8&4rL2hJf&}WpQ@#v^4|u4q<~(M+l(ke}N#osX(T~ zEKp7VxoicO_D|#nx3UVD6X^d(iP!|_cvuLkb?WbJ;JEa8gc(Y58vKP0^ksw|YWnXb z6)0~6TjJkH1pxu3&j0%8%|Jky+M6gl**iG17&$oneM?nY9u~|^2na&(UkN+}MC$zC GZ~qTU%-0S8 delta 44445 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 diff --git a/ktg-mes/src/main/java/com/ktg/mes/tm/service/impl/TmToolTypeServiceImpl.java b/ktg-mes/src/main/java/com/ktg/mes/tm/service/impl/TmToolTypeServiceImpl.java new file mode 100644 index 0000000..676320e --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/tm/service/impl/TmToolTypeServiceImpl.java @@ -0,0 +1,120 @@ +package com.ktg.mes.tm.service.impl; + +import java.util.List; + +import com.ktg.common.constant.UserConstants; +import com.ktg.common.utils.DateUtils; +import com.ktg.common.utils.StringUtils; +import org.apache.catalina.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ktg.mes.tm.mapper.TmToolTypeMapper; +import com.ktg.mes.tm.domain.TmToolType; +import com.ktg.mes.tm.service.ITmToolTypeService; + +/** + * 工装夹具类型Service业务层处理 + * + * @author yinjinlu + * @date 2022-05-10 + */ +@Service +public class TmToolTypeServiceImpl implements ITmToolTypeService +{ + @Autowired + private TmToolTypeMapper tmToolTypeMapper; + + /** + * 查询工装夹具类型 + * + * @param toolTypeId 工装夹具类型主键 + * @return 工装夹具类型 + */ + @Override + public TmToolType selectTmToolTypeByToolTypeId(Long toolTypeId) + { + return tmToolTypeMapper.selectTmToolTypeByToolTypeId(toolTypeId); + } + + /** + * 查询工装夹具类型列表 + * + * @param tmToolType 工装夹具类型 + * @return 工装夹具类型 + */ + @Override + public List selectTmToolTypeList(TmToolType tmToolType) + { + return tmToolTypeMapper.selectTmToolTypeList(tmToolType); + } + + @Override + public String checkToolTypeCodeUnique(TmToolType tmToolType) { + TmToolType toolType =tmToolTypeMapper.checkToolTypeCodeUnique(tmToolType); + Long toolTypeId = tmToolType.getToolTypeId()==null?-1L:tmToolType.getToolTypeId(); + if(StringUtils.isNotNull(toolType) && toolType.getToolTypeId().longValue() != toolTypeId.longValue()){ + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + + @Override + public String checkToolTypeNameUnique(TmToolType tmToolType) { + TmToolType toolType =tmToolTypeMapper.checkToolTypeNameUnique(tmToolType); + Long toolTypeId = tmToolType.getToolTypeId()==null?-1L:tmToolType.getToolTypeId(); + if(StringUtils.isNotNull(toolType) && toolType.getToolTypeId().longValue() != toolTypeId.longValue()){ + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + + /** + * 新增工装夹具类型 + * + * @param tmToolType 工装夹具类型 + * @return 结果 + */ + @Override + public int insertTmToolType(TmToolType tmToolType) + { + tmToolType.setCreateTime(DateUtils.getNowDate()); + return tmToolTypeMapper.insertTmToolType(tmToolType); + } + + /** + * 修改工装夹具类型 + * + * @param tmToolType 工装夹具类型 + * @return 结果 + */ + @Override + public int updateTmToolType(TmToolType tmToolType) + { + tmToolType.setUpdateTime(DateUtils.getNowDate()); + return tmToolTypeMapper.updateTmToolType(tmToolType); + } + + /** + * 批量删除工装夹具类型 + * + * @param toolTypeIds 需要删除的工装夹具类型主键 + * @return 结果 + */ + @Override + public int deleteTmToolTypeByToolTypeIds(Long[] toolTypeIds) + { + return tmToolTypeMapper.deleteTmToolTypeByToolTypeIds(toolTypeIds); + } + + /** + * 删除工装夹具类型信息 + * + * @param toolTypeId 工装夹具类型主键 + * @return 结果 + */ + @Override + public int deleteTmToolTypeByToolTypeId(Long toolTypeId) + { + return tmToolTypeMapper.deleteTmToolTypeByToolTypeId(toolTypeId); + } +}