From 5adc9568546295ec63619094f30e0d1c63310395 Mon Sep 17 00:00:00 2001 From: jfa Date: Mon, 25 Apr 2011 13:49:48 +0000 Subject: [PATCH] IMPs 19998 and 21191: new gluing by PKV. Add option to glue all edges in MakeGlueFacesByList (old behaviour). --- doc/salome/gui/GEOM/images/glue2.png | Bin 24621 -> 28580 bytes doc/salome/gui/GEOM/images/glue4.png | Bin 0 -> 22828 bytes doc/salome/gui/GEOM/images/glue5.png | Bin 0 -> 27161 bytes doc/salome/gui/GEOM/images/projection_dlg.png | Bin 0 -> 20761 bytes .../gui/GEOM/images/projection_preview.png | Bin 0 -> 3218 bytes .../gui/GEOM/input/glue_faces_operation.doc | 3 ++- idl/GEOM_Gen.idl | 6 ++++- idl/GEOM_Superv.idl | 3 ++- src/GEOMGUI/GEOM_msg_en.ts | 4 +++ src/GEOMImpl/GEOMImpl_GlueDriver.cxx | 25 +++++++++++++----- src/GEOMImpl/GEOMImpl_GlueDriver.hxx | 3 ++- src/GEOMImpl/GEOMImpl_IGlue.hxx | 7 +++-- src/GEOMImpl/GEOMImpl_IShapesOperations.cxx | 6 +++-- src/GEOMImpl/GEOMImpl_IShapesOperations.hxx | 3 ++- src/GEOM_I/GEOM_IShapesOperations_i.cc | 5 ++-- src/GEOM_I/GEOM_IShapesOperations_i.hh | 3 ++- src/GEOM_I_Superv/GEOM_Superv_i.cc | 6 +++-- src/GEOM_I_Superv/GEOM_Superv_i.hh | 3 ++- src/GEOM_SWIG/geompyDC.py | 9 +++++-- src/RepairGUI/RepairGUI_GlueDlg.cxx | 13 +++++++-- src/RepairGUI/RepairGUI_GlueDlg.h | 1 + 21 files changed, 75 insertions(+), 25 deletions(-) create mode 100644 doc/salome/gui/GEOM/images/glue4.png create mode 100644 doc/salome/gui/GEOM/images/glue5.png create mode 100644 doc/salome/gui/GEOM/images/projection_dlg.png create mode 100644 doc/salome/gui/GEOM/images/projection_preview.png diff --git a/doc/salome/gui/GEOM/images/glue2.png b/doc/salome/gui/GEOM/images/glue2.png index 08fb4f97e159e01793a30673448ad3c8c411c25e..2df8a68b4d57f1c4f99fa8d0eeb4c6bab818923c 100644 GIT binary patch literal 28580 zcmb@ubySv7n>UIg2q=Ppq<|5t z@tyaqnfczCIrFXahs*WU9sAz<~e zIGDUAPxmYG7ZwuSy30*0YX!LJ-v8RSy42n1^&i8a^1~&{j4G|opzoop9N(7j8ovW? zr5OGkPBPn&L4NF@htlT2;l%BSD-tk5g7U@G&gmJvpAk=2@MB@)9j*w5JRgZ3CY2us z23rH32*z#P*M2m9xcBe1VMt!9;-az^W32jum6e##VY8lO#j)g2F#Y%o z0bUq$)y2w6hK0tH>b%(7%9U%}eI~c;%P_bqFxe{J_a@S`_4*L5?-Q6z+HoC99#F7M z8JFA|s7O5WB&T2FClBL%f2NDc*yqgqu0GssIvc-Wn~vVbTO3E_#nUKjo@i8qT7Iwi zSg)(u5q-PtMQuX+H*V9D&YF%j2p7z)+O5h?$d#V>+7AR5VC|91)4$kkZ%wFq%PhgB zRjDQJyedpQ@*$~7FMX=1^!51`XKSb`tAEL~@o7o4NDm$X0ZqRDd(jB%2)djaUYiZU zbS#r}fg4H~j01Kq)`mjP2ibPhzw+KL*3_<{bYU9`1Yg`~`hkwd^ZIR%C%=m93)Wmc zTc@6NAF$6!-pZ)m?oxmcc@ znNeSAy;a9Y?Qwz0sNdGHQb~MFT=H40?sCPoX zrIL)is~b%>yX?uH!N{)YQ*J)x;66K1?|oRnL1NvgC7|a_^k++PprXI~P4TsbTW^eN z1yzhJG0*tAcG-VlQ_O#>k^c_iCNOGMODGb&rI1CJbKjT$l(%?fG_;_uOKV!Ea{47j zGfxAEt^PbDmoR{8D>4eccjVnJd2Q9o%p9-5e#O>*tUiYAwH!qzG^Ej*Z zv-0|+XsXhQdKtyFev%w5LXXx?XBEN$8MIaM)Y7mI~(hg?uB8& z<<2!m#(h7r`rfL({m=?j^oLki+ww=Gu}FjujK>U+u^yvF>D>2=hm z*dMJ-O~@=q45mBDEauL}ul~rt!cV7ZL6CG~(oXudphnnbP-V~SJ>lE?o0+)#a;hsX zUFlvN=1-Je;&wXhO86PuHx<1w?*?7@ts|<<#I)ERS=+LA7@r{N5V4XYXXRk=Ffjc? zq~Vd4m9tSk-BT@6&2g-Sn_K2AXQ?4jY_bY$wH!>mHc5J3_13pBTkBA&YPL$!ifCfM z#hF#I9NJ4APH4NN6gi#4W#;hr4KH2@imCFJ203mB-0aP7{8fToKVo95sN9>?LmsW+ zAX0NIf7D;mXl+H=V^H{8QBHH=_}Rph&LXY+FK!nrcX~2frhUlx8V2 z3NCYu_I9?ZdR%YdKY!aG%NhKNVQ^EqF6Hn`nM{N&v@wo?iQN7t@{Z@BEbH?G>Z6P&`NBy28`)506 z1D87#xtynZXPgN;YK||v{ABbJ)&t1|c~JDd&_b~fG#eh#zYUj?eW{fG>fEwU87t27 z-DH#NiCxPEW`Ex8#gU_}H%53ZKF+daF1MVm5{>o{8mFQHW46Uch3{pyt2~Qc6Z7qq z0$Su*m9qMYdm0bf_*AkMt2?{T(mY(_S5y*Y9V>eXbe!p+n_zgE;A;+v6Nz9@J!cQA z``bEJI3(quxfokIMB78}5#bOjr>6hgOlXAR^%Y@JRrvZ=w@RI9np8A9tvLjrMm3=>XD`WA;eIg7R?W6&9^yR zbyL&Q@W{w+)SYhD_QW0zZjA`(JYZnJdhjK}Nw@?AzcW1Ae*T;e zVyU@jVMXd%T_eA08Sv+iDkc+^U)fVn5-Zj*4CN7%YKB)@m{~|LuTfdSKqhJb{3Z>s`*gV)YSO5kMO^xr|Ul^Cgyj3 z>~+zR=uvV!6U4G}5qtRknp&??$V0`n$8Ozgrj%h1-(xm8|X zzPC19G-!(zxM=itbkPbmTEL8}XtC4qXlok9eXIUDV|48sr%AU`g?K$Zy{e)Uay(Jm z0)th;&GY_^*p@Hlb||W~o&vH=o`J=eYB%c6**A?k|FFUU;Gx8Iy-T4lE{TbYlbk7h zey~0%rm9Mea(sL|aiL7d%q$}UQ-(BS!ut;So$;xbmJl-k>b4L4%X6#oIzui(ab2Pk z5?C%J{E>`mSKp+WW@M=^@;Yve{p?_=ma?&7jZOO$7KZv%Tbshf#KgU7L*Ht6Ys)&( z;+?;Lf2od+;kZx`)ieLck1g+=U*9_%4&CV`6|!`XKV|mAjY`Q`%W;jc>c!|#d0<%@ z*Vgt@z1Xz5#^baq3S}r?XS4eEqGP4NjfBL&lq3^U%Th8F|HkR@G!xQ5ndzb)!N%8Y z2$SrJgN{SAg3L)4;ZwmgYbt;O#2g-eJN;C%YYHsx&k-C}UjHTzlvO>_(kUY70%qk6(RP zRV}lof{!NTm0XVB-XO9a(sH^@PTn;o?EA<*No=TDUmfG#bmD4G0XJc}HfIp>UX(c)`9|eMnPFdPn;=Hv@okW+CqbZta^c+j z^JhGJUUGC_Zy|wmI;;3aKHIqfKe#we6dIRJRwt!Z>xO4c;RN%?V^q8h6@wjW^OVi@ z<+UbdDV?2Cn2!KsC*?(5^A&keaOX)|_jk?J-DSS+~O-qA5Tjx&URmi>uf^o9+Y#*`9AI{`LgF^wQ%jD7j+$D-Lt^JV0Cr4zgH z);-t5jrGk&f)r(23Jja+*tO47$8;vmqYj_qkW&%ROljAnOjLI}#91)2RVUJyC-JCoFnI>r$z00VN zI1Ab@vvby|2Uhpj{(SePdiL)3$>e;f&_&zNtK_Kdo-Oi9O}C@GH`Ig_lofndY?Ct? z5)*lwn;zvQo!2;gj1p5fCi0?4z;#dFL|;D>$y9prG0L{VJV`mR|kx zH3XWpFVkh|+qm?J7xq8!nMRtX&(e4msLnbzA290ZA%-rQ5r|YHJuXyf*TJUX)TFxZ z9&(^uX(=Y8Wt`@hTFocS)h=w0Fym8>PJ8__idGu1?lCgn^ly~U-%UD2tS|Scvn0AF zO3EAGYVG>OgH3AL6*8JDpE25exn8vGAD!Lz(9(+{5?8u?vwwu_K@N&0Gg1BVleNGa zilVRK0iQ*rvfeeX)4r5{TrO~Zw{q{Yu=2%q!S^fvGIT`;&CSUri*6o0s6`W9I5DK6 zUq2P}-V3J1CoIAYY7QPYex9xv%}XEav8*h3c@h5Q`poA(>IXSDupe!G$(YV+FH7W} zWo8z&*!r;yakjE;)Z}kf!%t^~_0EPMpVapjs9LGB7<&)TjYGrIK!^N!c6o0 zxKZJ>F*MFp53+4#(!(~#^zLF;1YRALUCLj2zhXNxs5E9ulGQI9xs1ZZ5%DWUv)$J7 z{!x~vCl4tVY1;R0-*GWpo;KdS3?b=ta zXmtOyB<0mA{ql zzE$3%8QxnTjk07NFPm;5Tk1`I_LbZpmq?@=m5Ny^%rjEgL$)*UmA*a+YXRAHoQ>9H zdu5HZ7pu4_DJf-Xqnu;*{n7vm!g_mq(Muot3AMT0d)~-lqN^2RO49awzNyJ&`2Z^Ql-SV$OY$$H06x1mE6BR z{DkXR5D6f?h5ttY`5!Cfzk;2ld()+?vg;F$|7UPkSEa%fQlVoOQB9Z8{ug=xg z-uSg-lwFo3KGVNRPj);wwFgItUlTDzeruGYooIZ0*mLOv3>jsVglgUF=jSM}yx zzBA<(-&Kiu?deJA*s4|?E93nyw;t=aewdH!D}Aira?_kE&gnGp&Ld)0cR#074Xc{w z;UXibMWLlq&HI7tOs=-K;YT*5AM~MVKPC+Uh_i9H)4{@SGDH3D7D;=aR%O-br0Xsd zt!!*3(^o6K8Nc^;`5bfFJ;Ugv4VOM9!>w)sFlBT3_4?fykDpcTc}aJx>NuNj9ZF2b zeLviRzo>LZO|Gg`Xman#_wU~)_J@lM*$q|*YR+~fODrZ^j<#pj9(!F0O!*iUB?g$1 z%cJIJrN@X?f7Wj`gY&4-9)Zid$;rv)!xe9tG)i?J6Ekdnr6(XH_*JQ51>b#7m+1bP z#!G8voNGPL#C+_>CyUWiR-=u(3F>D`spqgHhRaMI1QD?qo@}P~S2|g7S&p=&ya;kW zh%s8V4=!f1v9Uouc$)-Q9lYQVfq8brDJl0wKiqvkVA?D{Gj+*zNr?ijIy{_U$J~Wc zt?(L(^ne`V&Km%xCkLw?Ij2Ufua|IPN_@L~b3p)vqO_8eEv}0?SOO(Uc2e;5>(|bu z>tp3%Q97F3yVO|0?Yv6*=u|DiAHFQh$tOPK?+ z)UU9xXa!LtoUeCm+O+OC>sX12iLJN0(3O$ZKGPheR$@AX#89Q!Us@dzf+;}|K# z0fOMI!|LFt$jFurO2?wtKk=XhIM4i~>*c^M9mRgrI9(SqI;!nZYPOR2(|pHrXxZM_ zQnnhVLAl*Rp=YBjjMx+VEnIwBnXN%Hwzw*XCHo47)%pD+UQwNz^8<~UnVFUI8+Swk zp5pd1rAQ379Nk?aAH~>^l!WCEX$MhUmH9q;S-PM>4Eoi5^!E^UR zOWw(6!(w%s94LN-p5@f46zWt|R2LZ+pY=;ek?%HKuk|>}t%}Onphmvp{tIlW{(k_r zwVuD4o0*?HEHAIT2W%_+NO;>b`?T;D)J(z*pwMKFnjE5wMT^o&TcmR`cgu#|>%#s1{rkl1hQa?l zavd9KNM{V6f2x;GyV<3CZu^0Xw#!>tZg&Y_z=T0>=R2bM&qp>UKK%(MVgFO%@aV~t zCyZJp;Z}|wjU^VNJZ=Y!9Z@Wcz^_p1Op6PR`|f+5Y||+rQbB`Yl++YeQc}u2S0qUN zwTb{J2uIt6%j`>)B(mb!2MCZL;C5A)Ek=$2t!TJ&d$#p`P|$2=3_A*95J}4#afCYS zeXoP^A`{QM4NdMB^Z?S+*IaQVoTdb=p_GRu58&}v(zHudE8G^=xjQ3b54fu!Ra9(60(=x3c%} zHxgYQqM;ORBsQ--DIyVc=Ru)#-@39(nb1?YS*>9<**sl5%@ zVpI!suUr<*c^!>TUMic6f|TQOoEinHY7svVK^M5`ylNd%mM34RbOeC`kW!x1)MmURk-t`}{ho(qw}e;ZE-} zoKG<^%hmbN+eZp5MoXIKZEco58V%0Ia++0*!j+JKDAmKi8(gXb$XdYdfFnZ(`sWj~ zUp?fce2$Eu`c3Qy1Yj(5#kFS0e=T!Z%k}g3=Puj0lb?T&ojpwNnLq2RCJfOJ#6J(n zN6D0i#+@d+zC5vuW;4L5cHKudjLt7l`uR9(?-vbAy?S*YM7!6$Ny3N{ucK-IFFZCr zpuY7&CqLO+ZiJI~93%sjYiey(l#{EAP|^OmUOG9Eqz}tj^6kGUw$jRu%J}wOm%zlA z|73nO%BmQii!apPF41gp=AQRoi}0oHU*GV*`3U>u zTTrwmYsfeb5)doz-^u}G&g-!ZN5SZep8K5iKOAl9ki}X`T6*6JKccC*nbX7#S)|`h zUR{N{2Ot>9RR*3HD<~==wbdECxu`l`hZO=4mk!oPPrsh17h6qgBcUy`uqS2?$TAg< z>sWPZA#tk3rgu_PQ!}z8pi9$|k@%koa0MS!|~AS7dGa-|4k~#_w@) zDgQks)&D}C<)=Kgzo-~6HP}vRK0E3UHO^{@AkTX}Txc+HFQ@y>6;$fK_ctA7vL2YC zTde-Gt1H#0CxJdtVOIpZv_~TmG*rbjnQ2(ZuSX9of+>X(&~}M_YnP_r5)lo}vEKpF zh@-|ev>@ec3fb77GMm`~qG2cx?$x`iyqiWv!!O0fsd^$?KhsE}^eSN^5UW4DT#Q2~ zxod>ak?r~D->_cPH4n}i$IAD?!QT+s%4?&gJ#LuRP*5i%JuFK{i>8h<>9JzdrX4G< zfSx#E5u290L?C#yx7*XPWd@yPS1wH%F7pioF(5s5(-=}dxXSU+K)7DegJkB8g zs+H+dEiW%mobK%I)~`QQR99cA9#4630~CkT!_C%d>jKAh_05u`qR=pj!@laeU-XBOaV zidpp!Wx@L7Clef+@`i?Ke-*=T|0iDJ`HPn-x^tAX|9<5a3_}6`4}bw@@*cTsj+KAk z^*KA3F74XCphKdwGLGZ@)fd$KNSHx*d{qo?^UD7niLK91w5N*Iu~o1wDxnmjuTdK% z64B(PE?`ETZ4I@Gbo9ST(lBzFV-Z>M7B`9lGpFNCR#w+I8eD=do@&$;V8TtQPp_`B zC7Gz(IVA@!cv?tfOjBOCkE_F**55xAsO$8RzL5Wmt`yeq`(fPOrHEY|8p@@CQ)DS$ z*8SoLnLJzICWtCit1OZBj zI_3u$%6TWaML(quH^x~>LqdjF(d=F0jrtJUd#=^outKiFE!@}#;0ZlrqT20vqjK|T zWi_9K%@#d(#C|5it46wE%b8ZHEVu6@RndOpMSlO+Ar&p8c{Go_dxv;?=w96`1DkqX zk5bJ_uSg{vaMUyL>9X|c7cU=A&9bz0bQp9-vufHj-ys^y-|6sjt)}p;mzz(o*F~xY z&c^};3JMBGt2&nwzyo;WZ%Owf@x^RQ$Zolns30&jUvVi{hSM@ zWpiO(^7-t{UE6gz75(~PYTeMcAP~qdDlPaLMaQ32e(?Couhp5Um@Y0<;oopp6wVvi z_T-%XMacu|o1sQWTXFP-M7QzqY=!Yz2?#dlp8{O&)1CW@BlK#2WuR)eo6mmj&uxGd zfacmdx*E;dxXW^bKK*=sHDkYQjLLGMCsFqK^K1Go!R2!ls8lPB`Q8X6B|ng(0RT*# zs+X9HcSJH(uR`5_5k$D%A1aib#X!z$ud6o02K+MX_hPoWvN9oHV4mgHU#!H~H!1j| z0guWnDK){mzH$U2LBX(j@nBeNYopR#RpNx`z}L78O1D zWRlwYrteF)jrH16=r_-5bh86NDPapat>*BE*ZrCLeD~E~=$4K?WMJI6sJF-njJnpr zf?BiHa3e>%Iu_us9$O5oubU)nO_e>Mv90{SJWD_ujv9Ki2D(vcpVrptVUgXJP1?}@_s z)jOvJCjGSC0Kl{JYgRlizo-1~eqDp}Qi6MKSVUMQzTGY!VILmi<27 z?;m;a;6eFj&1u>8JF@cG4}8uGEIkEwi`^0iNUID?!h-#dT=UVI5S!Un*30SRfx*S> zwN4WDa=lUU_d1#=cr#r;1)(`#yE{)ZPtqsyDUiqA72;1n?@GRNmr zGw@;+{akag5Kjk-#4L9xYR6=CJ~<*P%74H#)oQYaI7AfL^X5T3dkyvCE|2va)a$oU zwwmx|f!=_aHMh9fU+d)s&_%7n9>zjSZ>rAwTUy%AVeMr+s78ef!^zM5KZ8&LP^WtT zcPe?EM#+q;OEny34y?R+E3Z>B5RMKa<5~65y)I8Dk=+#&6Ejmu)}rIsqWykHbJ`P#e!_I+eZv> zpmeFLlTzlN{;8C8cIE*Fx}QZyN9P|#LRUT?sewYwZF$$K=Gd^fm5_o$X42Cm#^I9j z-A(d_x-#!Q%HBjDpR2%DFu&rVEcKV-kdTl}od0JRb#~nFF>#eeDBu*n^l`Ox&!Lu~ z9|r{mk2#8?@0w9qmWp_4qbE}tVqwMqz;I-taSE3p99=fX zD&WhPyT5+@dMR_@F7Zw~e-TW`g+UFg{mAdCjAM>*Mzpg4o_fK;611Lr`hlEpfywMK zaWs$3eH0k-ZNUu(lXNb^pk}^y3Lfiw06b6t>c0a6)GDrY(v$D&K}+|Wzs02 z&XSh=V6-tCxI{rLUB9Gd2;Te`sE?2*n`0s(CzpQtGQjDow7%(h1t)NtZ>g!biHKCv zJ-QQL7<0u{A1?2oFsyR!4-c6)1&;OzIfB`fiZjprO`7VtfoCy);~B`7C6f0Pb%*a~t(AtDLllxpsh*0!ke&&xo|GUq^I94L4z<4Y=!1#`EdUyQNpUem3d=9YM0+Xih z$vw3*6I?Y9INn{{-D<=Mi-?%7W`X%j&ga+*EEFuiE~rmf&dd(TG8s(HS0ZdtuE{KT zJco}Wc(U}svT9otC2<`|G^0A2lb3naP#K-Kn~ACol&fldfG51eCT|J2{ebw%E9y}v^ZXJ)9Rrmd)%xyy zC)-(UZZ_MwmlxX&LIJ_Sb0wpe`fVZ4h@aR}XJwt_7#;7-^Y3=D2bUX2MO-F4Vo0=g z?=OfWW_@){_Hx-Il7=~ZpY?q}fbK+N-q`*DCGIqQS)VgSi^V zvy_*Al3KIwBM=_U(CLz7^O@H!Jq2<{F9LmDkwbw7nO@}CGZV1x4U0%hN43&VNKcO6 zLMg>zH|m}n0+kBVEi_zQk+m25`4jJHkitfy#{r3e>t2%E;YQiGB_2LL*>7bCQ0RE< z->G&xGz1XCsNuNbq@uwG#lETOIq1;Kb_(6c6Yjgx6drr>=(p|yj}VVPSnm6JeS3Qw z^k(b%2o>AY_0pkiX)5MB5<3(68ySPse*Wt858HRkpV=#MfMFuo@&07D^|Ta8dTkL= zyb%t(@l{))QBU;E-cJw*HkQPR5eYt3vRCp=%kPP2FKxkTkdl!|gANX279*i#G0RkJ zm!UoH<(X{6Kg0*<=AM~40UdqN##he%dNeD0rOf}7EaSYyRA*-7hHigKp_hu~`S7R# z%jS=){v(c^<^>kuRv;=2lqcLk=3<{q&wY(yz7J!()se3M+lW?Yl*@udV1>5kf;Z-? zCF()StF;%7BF{uviJ9ZmB^SHnSz`MJV%Uv{IZc%!PNBiNYP+o$8!mmqC4!GxK4!>! z&^`r5lDB3})98;g9~(voy1B5O8K65=f}l?GU0*JXkpg%I$apT10HE)u9xOc&^x5pJ z3uJDwVkQ*P6hxv`BD3DkIPQF;YCETJoC|J|a1!-fDrFlcu7f z3vI{-vKn}Jcp~8Q;vZzW{ylSY|8no@-qIfLKh;_9fjv{K90=H?$;3;5N*YASav#j@ z?17P{>g>*ZZ%$a8DD7Vi?mn^gi{4;Gv0v-`#69U+G~&U=#`cmpW-2N_kVu4s60K+c zX|+tKc6zJ)jBdRT8jxKa1Og^QDpPLzk62-E=pKfxawpi`?;v7E$BpsOR4@ksAhm+ z>&kH%bPkCSh`!Z*Pm5<5eUIn!RhAuGL1l)YbS4PIDd(!QI;<#l8t$T@4bFxN$=KWf zMR6c@@oiRx9ZtA~o^Dizf=XHhil5c6%kBaoZ=Ydv%iw1>j2Evf!!?V)e7S`lLDM#a zorj%hnFJvEwV@%Gq)y!YXIe7Ew?7h zAtG*(^A<4LkjTr+Pu#0IO{f$fiD?2k&DnV3S=CPaBln7FMPTO8gc)^ezHAIR9!4et zOwlMYuLn^Weh6z9?cSqDL9LWtU-tBuiG$J6aVR=1emIX>^WR zH)6jwGD6kmAnjZ3uIA(bARL0#Rf%Q!eHHz589PJj4{-VOA33G3}V%IUWco?U|1Dz^w)T}eV`QD81h7< zt6eo)2#%48<$n*kzN9RM8w)H`J+hZEsU4BZ5BXLv)H)N`}QHeXoE8)MtFH&YVjHE5~iKItuLuq4jPTH|iDu zye{=y=Igvs&5!I+QCzDNpib?KPF|EqsQu^gTSSfUkTD0FUW1>+>3=o|TPwTFxxyYZ zTzMntar*Jorz`&{6Su{?54WOm41p(QT^D1Lo9F~D>R+?Dpg!W}j)ICv8rRjLC@X;G z%zT`krM{k#!N12~$qoju>!TBZzg;kP2KM_mqDJ=W`{jt58S7*7G%Cj}VSSNtTjp&4 zyhA{sv|P*fueIv@qshp>5Nl|p6gi}QW$itc$oX-~+nlXBJ};IgR?d>i*TIDVMmEZtwQEwAcG;OLn>-Hf7PR zTok$NwMECnO2FWiPE`{;J4k$V@e`O6F_%5@Gt0YIEstgsFH|jt|D_aemcw`dz7LcW zR@2|~mgH`a0FFCs41s_D=XhVnvT9ls;J{BI?ISVdJ!Qm^Syg@V^ScJ&(xpG&9{`%J zbQ<-i^lW>NPX~p}6RDpvz8GgDxPIC^(+q zN?^=@9@;TKQ@L3?>vVYb0gURqG`ElvUI#duJx-HeDh7#ZDb$++3m;6$Wt=nKeoo;} z#w(x>XF)OR~&Z{yNOXz=gpj#(DJC5^^4#3f}KFZ`e?z43S~o5+vd}IN`lSOigUqSkFheF3rmpGn_lQbV8=6_cJr|Av(>^K zPAGlsEf=NN87oW8(f#4!Vb3RA zRPLW7eNuj!#EQOri2;`1&cxyVkPbVfO+dS%0f4$x^r5PXANj(tE7n2SV;j+P?14Z; zaGDKnfn2!L<8=|Xv}BC(;qH?LSQ>JOfm7uVEuI^Tb8`iHjc@>-H`@7DJ9cJgN85X= zL!o_N#X4M=V&7hiG`5}Zc^}vla&+X3G?yeM zR3ZrF-@$-j0~`Rg!1LS{1aC7&oR5%CgwogyP=S^BCfG)H5Q}EmU)n!WKdo>-w$=7J zcYy9PTU`q^0agb&0`X|wZf8!sPr)#zoc3-V(YZ$%s$`3D)y>*#Ajop4p4&`Du@p9{re(3gshE*X%I=~ogJ;7eB zJ{?k~(Cz;6WQ_mBQ2TVz3}tR~=OF__mV#`vXZ)nfKb9ElxW1{orOMdi*?Eu7;lQFT zRWcQ_I!2sinKIPYoDZFOo@`zLdi?-7h}n}`TC>|(vFc`VE-o%eY@s!|2Jo)4NXOGN zYeie}dK^N4R}Vl&CV2-hOds&||-xIaI?|fek5| zHPbYgadInX7Z1*Mb#>(yclGwlAsalbT4H|V$6$$kg?P=tflfdgtv5}qrgT(9&FKbT zUikv45(4N&GCkI2t_x1sPbGuP-PH^$7afmG6E{#>Zr{EQS2gLjYyr|Jz%mFg%`sS% zk8em^QBu&H8DGfmsX0;5)a-0{dqeGf!?eO_vm2mj+jwnt<=||tWSmv)F4y$~O5}cl z9)ZKV79%Bkkcf70t@7KVgDr4#9MX;Jjw-H}NUdo{lBLLgSOMI5&`psEKBSUaZnv1y zzfAw=(Ja(y`_(~g@Ht^w%B160Yi}002N5!r9gLW%mD|!F+2j;SM7)ly)`{z7&gpSK z?jQDi?T3w8Ju^YaWF_z(ey%DtHAl?D^e{b1N=!lLG6EgN_{4d~Ng;DMPRDtMNm zFg`$TrK+l$YcaC!xaP?uW zChLFz_hiUeyt-jCLoiemTA64-P2X~If-&)Ft@rcuXmbpRk{`us^Vg` zk2-ZeXgBB|J`~O$`U>7RthuZoOpC?FxBd%G?2yI(p9x3gt{WBzYw)E_)X$_7_CvE>*pMkYKHKe4JKl`= zVLBkuZPv#KJtyM@pkk!mzj-o$<}UN{C2SYDQdUKIz0dtWY^kY-0?!#EO$|+|0hZXm z+j#@M0;ybhaRYgrVVfGN3#25_S>*l%Z4tM)@0c0lGO!QmZ=3l4?pB>$h!ag6FX-t& zGM8Ie77lTZq4xTq-TR(_Oicv^Jd_)R%v(lI$oJ`M(Up(eOd*noB%KfkGquV;S_~vz z<#pMi=5t)DQ(Jj1PXO`XZQq&Y!Q8kWPmo@B53)*Krs}Vgx-)_eyf$3z?>&T_^F73? zdYc8js}VPyo<9kD>qDjW7T|vKq>D3S4$|ZhyvVfig4h)xcu%`UtFnbyGvK=r^MXwf z#L}X7Z;8d9+#cWxTUqRR5Vs z;sRUtOaC`-gof&}J!j7)Jrh$Z%-nRa1*8o!A+LgS#KkN6o3*^>KuNM2aU$ zgG)-Po(h^%P+;JnDi`(=elp(b51?*BsLdC)vp~m7??kj{IgKMM5+Sew5uJ&B*a_vy zfA#=;A>y0pqM;P)HV6A79_)p?u2s@83Tc6SHf+qtaV0X@n#m=QX)Kg6F~BsMmj0%38r8COrZl=S|eJM$gY zqpcxiV)@$D#9ZdY!jbn5HpV+tbUd2FA1cz@MIc5$K=iEL?XmqIIZ*aR9UZyoWWMP3w@B}8jK{6c=7W)J z4NbGXz5NJMM7?9k#5)a|lT$KYsiO3CO4N1b`p>$qvgMGi$ml!a0d= z&Mm~>;Fa!QvCp}K+O=$72ynsEX>;=kF{ER2vS$JU6X(r$b~tVh>%RwuUdTtgwkpYP z8GfOD`0zb!QL`kmlZ-!sJ$v3+;ulQ$lBxrQsvsAD%FQADY(NR-FC@jk8gxWnyMA5& zyDIop1=-J^KY=#$I;=HGH(I5DcE+exK@hL4GW#tkkdg2PXpvPQ3H$l^!K__m zIM2w7A2~s4)hDupZnSaqNs9JJkRm0jSnWv%I}MG)=c-%B!WZrQmokiz z5eOw0xD=2$JENa88mT@EY`D>(ld&Dr7?^@fL9tQ(BsBOmdx8yxSDhE<&W1*3b0hsi2ZMoK(ZA zwF_D%Y)o$ScaOaB&n=V-led*Y8vOkEGsI(Rv>R&;F+B!!+@7*6|sk00&fT zx#|8iLWMeMd~;`k{Qo|c@E@}bv2%@9VPT&=B7w3@UK6+tk0k?o&3a0&5&FUrYdlYWq zw|pS!K#KRkdi7g_4aQqnQQBaiWST~>5KekvpvB48^Zw!V80*n%wQG~A=S=kUQ>m98 z%RZ|Qhwj#jQ8itbI&Ip>M=sB{3bFg%4ac~HuRLzSCvL((Y8vk2<1b7VVcXT17ytW5 z4Mp~OR%Yt23jzbP=D^N&&RhpG1cALG(a6p4PLUUk{agf(aX+#*bnc!uZg$#6Kj^-v zKXkeu8`VA5V>dbE;k*#L7^Bz1`Jl z$ytgxE3BW{?{BtuYw=nAxhN^KoyQ{MGM_33+t-v2I2{9JMFEXk=0M~#NZ{yqjc~TS zMze;kbF6L$Ylfp-9uX6J7m&t8#uKL-^W!t6<9I`Sd=_d6%nNL0Mei4X@_YM^)%CZr zj8S4q`Y8&shx!YhdG{tKLwv5te3(t&Jd83?O4XS783jed+3{{>PL4TY>Gb95%wRHk zu7U2>Q}F2+2Pc0_0@;U^m_(jCe||V&MUa@v`u+C-z}d`}Cs$v@&1X>YrT~mzJaf0}1j_(c_-&;SZ_Psl#F;+ab{j&THnlMYppdI`B){^<9oz z6#Q)f(}F{B$OMCb|4>rsSCHSs%Fl6beoYRI6F8}VxW_|Ck46t>y2WK}oP=2o&trqnil4WwO9d7H!4BqW zK@dFfyE|MIZ7Tv}npA!Ma}v|f_7R%;G^nx}IT>>+1KI92M>paQA2Bh}Jb2*y`4=7p zGp~T;P1|$xCWJ+#8s1&Y%F2RlCc&LM!*|TY#W7)z?wS6gP;lt+36d#DLH84P`;5|S z%mGfcFJu5?a#|Z3eQ!SyL+NG7poDk_;VKIY3-<&I1H+8S2HFpGCToi`E~^RiUAUo9 zQZomQzz#VskbO{)awXX8=2=5SLs3Z=!kw{Cf|8S;kr4BLyn=JH;GrSa^U>c~n|f*z z%8_`HiHVdTvCe?>w6`*FJR^rIN1=0$d-20#U#U zG<0hv`!SquML9csMU(H@((g=sh=#uExUPW$&w;uo?B(<4e$Q5{+Io6IDQY+BFV0V| z{HZju`g*=j67~*u?#N0@WAE?p8|oJ+m8O=Rot-Vg-s;5jU3L^01&h4WloTIeOMRtQ zI-rqtrw|d^P|pSoTwqX* zcVpw@Y9;O@_>^%kA#Po?)8vF#?!0|pFIf-PD*kN>;gLm?t`c7}*gY@oh6qET)xVaf^P|5%?(N(4t6rYuZ%Xke7eF#bu7B|1<#dO47CcN%&asX<>Yv9DAW{47j%GGHsJm)icyKmbTIga?Mk| zoaks`+wM74X=R3pK#Fm44QTxxvju^+C*n|}OA%^7^yg@v)RdmofDO&@CHMlxn$JY<|T z>K-Q0B0tHG$UmRcK=Ts$$8@IgsFCuZHRfmJUoI%SCXNiz{_CF^_eD*jAKbLJzYAaS zd*Miz14t^)(;j(DYwEv$M&Z9bs7R3Dpk*jn(?;A>d5YH7TOqfEF{pBE)f*uHe>aLn zCk>u;x2XuvO9&-WGf_Q{TMYMuyhJuowsUT1@9g~Mv^mjoda7{HCzK)7TEi;}>l}}&qFk<#TB4^G^ZWmSFsSowdn6v zgr}ql2?m}~|@D!P5X zTr9-u*r`ezocI*BQNR%x)vEm3+a*$3L~nC)1;S-54do|l?Z>VaPZhTI z${ZI`6f%#-zfFFpGr=h?F3wP5xHujbDql=+D?2YO{i=`|&E|mh^Wo2LX{l^(-R9cb zCxzd;cM5G!4wfa`YX~47CAGGqsy_^IERwS+-Cu&Tvs1~wjH+cQaH^uB1cRAPTHB>w zD(H~!KYTEp_Iay3%i$3BM4z_t9nJ$zrU>Ys1TUrsRJ1J!ChLSzpExhwgRQwa?hZ7t zd>vMYrq|cIynV0pSZ|?_a!Y@8G|wDTs)cqKpg|@E7odNcCKdmR%QHgag|&6T-}$P4 zNK=n;i4s>j4iKm%lrl6fjts1t=fYIb7s2mT1U&zC?1pi%ItnyTBris}xVV6=>Th7? zfN#<$HY)V$*KAnuK82urv>!I65(1GtvE*XXO18hmzlBd6P9YHP`lWUJZ7t-NYtuubc9|>8$%^fD2pv5ii5YN(mq| zykoRuM~lgn!-5>n6nd9M_2dpUSR09?HG#YgZ@f)Ja)Nos>e!I(DastSw56Ee3-zgi7|dGs>EM znL%-o7(@2Ga*!Aj#y(;g*>}b|?{%N^Jnwnl?R=j1Pc`nD`{({$zw7#L^I}>EelIF2 zsxeO4zfY?SQQ^p^yB$IKl5&r^bGu`XBByS$bFaoz_BI$bZaN%-NvWo<`uF06^_bEU3PeWbL*8grC`vSgpo+PV6dap>G!7T3Cdbt zZ!$70N3s)Mnf4T=r4ax>Z5kq3QsZURLtaSJOw0}SeSDN*)!N$HOxJ$uV^7{TG3j{| zLRhXSFaPf2=S=q;KZo(ScyWulxjFJjE-r9^Kd2clrJMu}fPsMlMy82S1U>*aPz}6W z>7&AhuHCv-13uHsojDgUO7M3L9`iiT+T!5g09^&txf{mDU1ASR#$-CC!NWA)>gSsb zBKvh@nK%6sg-@QWwq7R?PZ)zL#AGn?*)20O>Jq-^g}_0r`}YfGnQocfaG%4|iktfP z@5@lKy`v!TB3Lt7@O5(X)*Us)cr&x32ppd>DF}fTc<15L{p5MWH%#(uWG-8)>`ZB!oiV4eySGU70MaeXL3u`9{D}0 zX;3Gi#)m@*#D<0j%p4;E`s<38*Rl6z2QO^x;n@k*z2#P{h;=B?91z?Qg7Xj0n4?9Cjx)o@|L0DAD_TO ze{IfW#pGDWiF$3$fjy+v`Jd<1AyMe#^`Tuz5XRpgssG=T_*>E( zGQJ&P9OE6y`eGU&n*A$CTDN-bq<>izIQle&N>mK>7xawHFi4|+zh-J~qN0HwRu+rW zwkgkOcZgu$&bVp2Od*qpUyNSO0mmN{W%&h)+Jt^Lbz`~T*yJt(d!QhiKTeCscvj#BG^kYwy*61^Q2X-b9Z+Y$INr{R4GrZ+*xlK`#>eX2aI@WQ_MnO2K+F~*A|lV9 zKZn^axhq+s+|#tuQ69)+c#!KG8gMsxAjYOs0;ARW@=k&BBb2${QyBO#E5IU=r?7T7 zvt9*wi1+S2b_I=&?@~bsEZ7pz%LW~jiHA8|&uI;0FtVQaNkn49P@V8W9==*=Um=*t zTSQcpT>B+5)n!{_E!IhwjITQHbTq8{3TRD)WMrab*v?$=(-T2XW}u&6%V5Es29k7e zd+)lejZTtou$!&zX|S)t$Mj%VEbGzmcSNGoucM`$cY>L_3(mVH;g@9z(b&O%@i~4>0Syu zENXt`l(v>fL3m6Ob}{WtfL_n=@W|OD@3|LS&-B~+WRm1OF3Ee0{pKpN7U`-mk{|AN zT2p?$k9QdOaD%4JyM`+Rz1(~56lQ~7f!vnir`#&nkXHg=Dgq~~Y>z)-v1)P21Z>hOcCI~X%b+mIET0<_ z)i(D{4EH*5J5J6eSrXXDOo>h@C)%KtOd74Qf1S?6**I6EKJ@V5orYoldI@`T&7_>i zF)o6Ti;nM4L*aZRQB6hcr3Z}SCL*eNVpZmFV5-a=d%9RV_N+N>L%K)5j*N`n57}Lh z%+rg;7ka2vF0$bdzx;XB%SMCzD8z-axpwSj!IHO+&+ak7-?QTKj_@f&KK`(ccji3@ zad2T~=Fab*e&ksAVNBD>DZ49{`@hZb#*^58b`>Q{n@Jieme6ME5@pGkC5-q`I}AUe`OHRwF8va+bDg?LY#Gp!lWN2f1vJ zYB|!&yR0{uRsdQ{l~g<~@yNTGlzQJXBZ=AVFzR9*nC50XURq=m9B0*xMm17iPf1|v z5amB{b@&sk9%J2;`Jn}U%CajwE9;b4@shbN+&DZe$QD^0P4}2hJ$(JA9e;K#Q&Us> zIE!b^#KkEZF=FI`bi>T90^DK1CInP{Nf2SSzHQyOz#*z#PFYDQhz(k!GXYkvWzZ8d z8xz&OCJG^PUXT*=LWI^23OaeYMKT2Dp{`>Vtr7)=75@JI68ga!trL|eG`u>Voa;d$ z`}VYukaTx*v3|4lE%#xmecXY;ApZX6DJYo3b1b$dL~H3_uEb__mIYJctY6Seoi;fB~w}2}iC7 z2-tJptW+I>j^b2&6avkSeh&*eX}FyCo4sJRc}0MJx>O~l2m%W7dSn4O5k^SmXzoG| zFwAOs3x@$XmMIZy<M;V$8{g5b6C(*uMY=T?LTn9>VcwLZgE*z zp5uz-X%*Qpr@pcudH865Em0~aGqvuzj+|>Bsx92ZT(Ao9QqHW7Q>4B<-U5^2R-*)z zm)uwh6Ao7_NCo#1{l{NxtGbxaF3;C=^hAsW9LQAM&f4|T;-#~}@Tf%^GBP*C31rr5 zr`~8u@e1Xi^REWfE$I1?i%oGPL+75T`r_R<>)=>JGqd2Bn8O^q`47ms4sn`nmJaXK zY%hgQpgaG3dAZ^Z^mVn1*E8IjbM{&kS?j!e2VDTjh zh{w5MjgIfW0u2r3Q*$8F*Zdoh#NYH!&t&6rCN?&aP)Agi;fiwBf_N+03B$5=hZd0Y zgszL{$JJEfSD?#z0)+cD^bKv;(cnlg0jAyQ9-trtt|U*bFL!Mh7iTH*n^c#|l_ma4 z>T2{s;j4G&+O+g-k_PWJjoMmBI8X7@aSjeJV0<#Ts$!Gd_h)C+ZN}UyUODq~L(I96 zc|SjW|9wXh+^O$A(Dk_k;&Wc|JLj2Ai~;{+wqubQ`uGuzpt6(>tj-v25~I#(Qt;W! zi0PZtGQ%e9@=r}Vsim!rIJ+U%(7?#3lkYV#wRP07drFnP!tJxVwB=Gm{a*ddcZ9tZu^4d^eGq+gx1i_d=J=v&YHK9{CO9A~#Bq0J&IS}p zmsvA+VROaG-sjt~V+TiL5=sz6)(!>g>goW{S(dANZuWYt?phoHO%;b@UuhI*m&V4& zi8Td(_FX{`kfH#nYuq}^8m@C>Ze~B?rn9k0t??xXn)t(~fujlB`%(y^{$D#Q;^g6s zU~2&G5tGt9n+7PJ5bN=sO4jn>T2Hay9q;)mRTsgAlIso509%Gkdl7g7j|F=~X5OYq z!s$e#SU49_mKq~UIwy`UM;GG9SEUbQTcv(Bz+OqCYx*m1L&%{+F#24s}R7hv^U;Uy(JKG^9(?EFhz8l(ry|X^KRS4 zHT3Pn(`Uc_Iy)vxkrnx2?_TR>y7GE+FMG=!n74IFa$!&X_l3ttYl8^~)Vv(WH=AcU zK+hctb5joFLtxCRDi}pbgeC&z0ERZ$Q8y1FTLzQ1j<12dnm@n_AVKeb@HRKz z>720y=mf4AkbL{0O^qneT6_9cLEr&$K<{fvLF2`U5E$?mz!H7ltlO^2yuvGt6y69C zFCJs{>4-ZDUV+?Dl;~}~q5^3i;QF)7%Az682eSgCw{ERNwzGd7&BDLbN@?g6E%uUhVRRf~# z!5UAK&u}1MAhe0$OF}I`JwfyZmF2?VpTxc~NokQTbAD6TZ3OhjgURm8;6a6q5@A_c z9yW&`)Pn3XXT2`Pt4ymku=CitJ9boPh}~;9C4sF^gVMoYlu0HRWcccAIQ?-uQXQ~Q z?Ampn=&5pbUNAQHys-+YN}QaW-@xW6KvnwO(wKrgli}f)U{?UNy1=^6y)@m={hqGu z6}*NPkxB(PrKJ!sB*`)aJN*aEF}ph@J3C~;po^#H0;@G?Q~fqOdqR({V`@t3+W3>K z2%g;_gXOd(^R{@Qcg_wD2t689d;vA6v&~8EFK*6-^@$J6`=3n;uA3%r|Ec?*Wx)mqw+ndTbR|2)YpOEc z_?-jmZGHw`&G%Gz41-!FbD8w&%cD@ay-5eGD0PyJ)rK;W*xAq(nG@^HHM*Y>aV; z`QWu0;cKOu7c6db&kN`IuYuyZ;7*0Q3rlL-HD|-qBb|z=d&J7v+q%lD; z24whOCvW#1k@b%4yMM%pFK}+oHPLs>9srqZxVB>ZUL*b@nzeGsSkGcD^NmYUp@ySb z5_9mLyE_&xs_X6eb6=_ZNipfH7GEYUU)jy-4!*)j!B?O_<#+KI5g24@`kN11IA47$ zs+~2p|C``1zK`)Sl&@8~!r%=cNy(p9J=?jE3*1TmcT9gsILyn>pZ`d0+D_4gVBW`% zAKOm<;F5Q@cJ`!``D5j6c(kZF{peZpo7b=2w3Ptj@n_4i?6c=~i?qBJ;5W~s?W1&_ zC{K@e@lj2SAot``rrHVgl@P%JM?g(ba|e<@9zfJ2u6uyiV}J75zo9?=rq}piS(7ix z;#GLo!DVPR)NwhAmcxgK8m@9eV`F#URSU_W{#zcVO!d@}Z-U=~}v`5RiUrL-@wOaiPDtBfA!qS*OTG!#%8_xWLedm%H>-&d+02-7sD8*7OPC zx!>H`To{3Q??Up~E2nHZdQSnE z9nuwMvrK)td`OT@&%na7)Q<6lzGruTj#KRrnrF&MM&tcSmb(M3H%%iNiHuK1g-3yS zx-99Jt;M9eSc~=S(=z(_uP+u7vkYrY!i9Ud3Gg-)RV5s#Ss{4c-W#EyK`v@Yxj z5Gm)LJ%fmdxHV0$qt6gT%@BMu1ng{wSxjDce~FtgNW;!2Z&480+WM-<7D=VD? zB)!+Aj~{;o;&;>AW=(eNlu#8bP%1k16b5@umFxmqz|&I!z*1<((Y?zWE=$8NiFmI3 zLrw9hYCd|t{Xu~KIUo!$2#hx%k)3KQbdIEb54G%*b!=$EEKT@HmA>AM1EfNUy*@9X z^zbEUXk&rN5`Yu}2o;7zti7SiOGhkxS58fK7cj_0bV-%naiX|RFosstAg%+*8+wGJ z3_--2C6onwr5rwOU0or0`M9w$2RQ1C@@%p7IqBxdkfyRLg`7Jr*v`}Nd7(x$PLB%wowQAik zy(6wXVPimSq&W%O%W?@yx{wGq`xdB>_dJin`#>23&A=${D3YQBm%j;Pz2wun(<-%K zE)@rw0n~{AH6po-kZ*D=vz1NfA9N#kmY^zV=wzbPEp5~V*8*;E0EfSy zB0-eG?gOsL8@y5^C65EZEDq9YUcb6_ujDy=I7AKv9uzrHhr(e|4d(-pVj;UF4kDs9 z z)s}>1fJB_vt>ZyBR>W0ROXxsBXfppD6PnyQ{&1>f1fgMOUGTp}$C!K8+mFv^1f^!= zW&)((s{7mQ6669%JM@1omKN};o^63(0B9!=1F|8-yia7~ZXy2z!s2Y5;K7Y6(!h80 zf*lO{`pOk1f9dk~5PgaouuqmB5wp$13qu#_erz8F_pwIkpv9tjk%tA|cCx2%zVr9G z&bbdfhS_LXDS$F$sDoN;NhEF{{OwzjpDHfFl0xG^QugBE=H^aLNkL=-TdMYa1B&$C zR9hVA8N*;p&aCyb6M;L}sVWx>7N3X>*Oy3z{cJrn>oG0StGg}Wu9fDZz z{quHv^O6$u;CKcq5|NpAH8-7p>bz;O z9s86dwzAX_hx=wb803LtiO^?0W?e7YtQrRK_|VYMOiP_0@ABG)pl>svY#^}%-3^%X z1({6=4QeO2kyQjfFQvFR7Fv1;?0;dxkIkYCpq=n!S3+tB^86w@*Lwn}?jSE~0Wj^0 z-p)1>h#_E{fKisV$vnLVkuwP80xreI7=jGhhQLAq|-NBD3-R|z0B8~)lH6JG=CR0B_RCzMP` z4h5AdqLKG6+XZ1U?(Xh@wP<%8`qsT@h4kQ=@eiCP`D(1*BK#qQq=W&r#b~ED49f9t zP7e%Roch)Dr^^>xM1jpy$e(_ce8zEQoChdt5Lpf_qRi8w!zy3+ssr>dtZ=Xk2U~d@ z_u4|DGKQ+ zrPsnTUC+4b$hK32%C0{hajyI0sSkj21v0FhCJtRL$)NYUZl3zU=6_Ep0znl*0m9^o zfYa+NMko@E1~$Cch8e*WKIn#j)lbK;D>r}!<=7L@F8Ti9HSih)D^8U^1+ze+>iPgT zlH)8Bm|j{M4{ri)#=4ro!%!4ZwDuW`YEeGKS{wyaI4U63a!t=!%C_kaEz3AEI+{;V z(RW=A9D4Yl%7C1J47edGs$V_5_4@7Gb-M(;e=#zO&ElD5=k>h|E$~~dPuGpT@VK;80r8PA z7)X>S2vLzkqt~_JoHwKsz#zH308IrIM@H5gbxNy=7_J*8LWT#Z$AM?u2l}|vjM@l%O!*OB#8Tm8G6uw)CtN z>|7d@_yq-J@YGs@$pu1!kBD!{HqIl!=>Iu8G8a$>=oO&E+e!18`z+oM_yq~Ws~XY+lWobM@lf-p)U`u`rMvS8=DO1vSqbq)CP zb!JD^MR82h9hs0BKNfJ^4S$AEY&E-7iLFmZ?3E)?e6nl$}vTeviF!YLIgYw?hI>A63VHlK@$nF;KDRU>#$8ie z)Zxq-kqQ^VQaPZeB0@(<^(TacwsWA0m;;mD6%8yldwn6vb{Hge-ahL%?EsxvWiMGM zB;Ko`SI>%x!JcTc%7S*!ZlOq#zt~C2ikX7(BoTIu`KVy8CxeKFAxiK*>B~J4w-PYs_Urech zd?BjU%TTYNe)@oJ^A#-EHEkPI*~=q_<4Yy&{-Nw82{6!$2bd24_(*i!nm{$i*y2Mz ztSj|D=)u3+nRQn~wN*-tZMsfXC?vOtYlckXi~4G@yHv`~j-=?F7JF1}ajeiN(M6~_ ztq{U(=*depGEJrnH0F`UW;bvdW^MVwsa80X|8niSNxQt=I{94x(wvX@X zFF75Dste0?R2`0uzIPCj1IaNn+tEZZH{yoWyiJfU$sVRQa(>k5l+x|8lveoZgaEi= zK=u9qhmw0aKv1w{W^U@C+EdVVpJ;U1c82_>q{Rj1w*5RMdVOUk1^0FHT~oIG@xO7U f?nPtlZR4jm56M=sI^o;*IJ7S7t7l)j^W;AO+_c{Y literal 24621 zcmcG$1yq&Yx<3jkpnxLXpme8nDN@oR-Q6MGA<~V2G$<0%-LVMil5Q5=-M#Kyd+&4p z=Z<~O80X$`?>GFG@UocejX9s^SJO~MdCBLfM5qV|2+u!Ai76o+c39!}?a{rZ__dzO^SqjrUtivAUpNKcU7iSO0gDq<>+ z`_(Y$>nO&A_&4Iszb)|JQ_+5z_$RCQmHrHaa=?=>RL1EaOt0_Rjb(edpCucMX7H4{ z4>}ABZO$*#C=AuR9uPo0Pc(8bApPMXAyT9sKBuA`Zv36Qav{aLCE&>W#Ba#C4F>_> zOH8!44ZlhnUsF&xaKxj|J1;!P#Ei{SJQ;W95fc-8qlASS`!Xx`TS!O%dStwq7?rVk zHr2U&|5E}eQU(lf{@tvrXLZnly*_u_?81?Z>gQR^*l*I2@dJxqM;^zIbW0I+F;q|3 zR%v#Q=GNY{JTdzfRo7%XugkdTk4}MhVN_Q^Z|;S7(DTB%iryjD922p5PPCD(ETwh* zOO^I?3NlRYQV50433gFO!&Mz=~d#3Qq>e?UR_{-(d+SC)zRKrV-b zbnzIT(Frfxa#rkwOx=VG_UXrV=17bAF4?F}JrX%s{64IICGQRP!K%QAy5FQT`?Q7v z83UmbsMPr_m08QPLr3ewWd^Kkjjg6ZFXWce2(E_N=>+Q`cy9jK(sIQux9|Dd^7W|V zC;kk~oC&jS7D6*bK5OWo2dDNC(3>O=x3i@sp((_8E@2O`D_!Yy*Zg^N_%&xj|Ae&O z`2LR60_xidd+;RjG?wwP97EMw``F%L(Ki`ty zB%<>q+WT6|ugZ4Mb3c}~brq?RFen}Ec(4t@g*5ow)2A@6?rMXrChqWfA@OQ9Df5w# z*84;5mnN4J^&;4lhkJtI z`-r%3eFs+q?bF+gTbpoN(R{a1zYcw=_LP~r?z}&VF99 zi%vQGm8bUhyWSWfMbXiGZOdCryaTP;)=&1ga_vi(kgpJ%K$xlD!iuL{w>z~u!(6Sr zE7VgTdw_7uQ(G{GY#L|!2G5VlOe1_iKm4ohrG3?EarV6(HhU_*!}Ptt9zJW9$u1c| zjRel4K=Hylg+;M~pXGzDnJLeQ;%-0Is(ya227TIL=4eO!-&FBcS)I(jkVvuz#DFdSS8Sl6Q2&YBjWU zS@FWoWU1CX=!fDAR!+dvrS0*Pk$K;CwZu)i%PcFH4D_cYJo=+ar%Mr?)noiBPtfQ*KNVI z@%1NiPx*uHPCYB4joVHU%H>)Yba^sGt}nF_tTyz8LuguUOO8LpDWSi+*;*|xrN+%tJkG^4xJ)6~qRu{Alj#>h^R#q1p+-2AsSW3K4Ak|bUgkTs6gHDOJh zr{bmc3PI9INb|IkiXROi3C#Q(oR?P6D$P*-@Chwdt)S&X%DxvoI#2EFE(5dsA8&F6 z(hGU_S1Qzua6EcpmRQ6Xb5RT1Y1EKqTO+B)p+YbR`xVEPQG;^GzayGTZkQRjx6zd-2TrY~N2QPIW&h zwedQ)sznIhJ+MV@a{rfi|6rHhZQ;yOq&x}BmM5N90~G(&dx5(e!P1v5Wap8h!qe-X zi_^&Ev1PSsBT~mV&By`C-Xgz|SfD)x8g+-fiXW5jMD>1alVZr!-sUc)@SFsy<^Ec^ zNDaE(xuqYg9SpS9Bj!4uDv;9f=To|Q-v~c*a_i`sqXqnCpH&SMw_E*N)ZL>%r9fzb z@iLo`x;REiK%Iyxq=O=1Ci5BVJsNWL_TiL3mu z+3~k`sK+ATc*gD=$X=m#+|QHi%^(9n>O z@gM|wrM8C1 z4OZ?cH*(YAjKK@?8pnhBO^(BScP?GuA2jo9@4#SKKZr1Lz(>w|^$#KxX;z1=A2OLO zw+B{PPhk1o-(H?x=MI<8?N9H!upKQ-{TLXK6~4a0uCbo+r+?C-dby!xtI8G{^5hjA zWlmO%`*9$?`*J6~xvQ!Gtm5j*ZDn;8v24bgfB^jd=;$Z`yVn!g!vho{J12+Ta*eL# z{y+hG4?nBY#_xqCO<|#N zG!<^ghLfdQ3O+u<1_lNL={$+2Ljo9n9l;o!RvSz{*X#I2s*K<}v%YcqgqrKV{?emG z&qIUSIs3+i2vYFi;%L5KXUMjASNMMr%f@<#mIJOTicCoQ@?fE#*{pKrZarLtMbnfZ z2R%k*tBJH`?xj92??G4NN86+yO&~;l8Nf2f@236 zx%ya``EM0PdkxF=%hm6q!y{TO-^|R+)GgQwL+|+T!jU@Iz)6we>kS*0$E2srIXG~1 zk41CZWgK3`Osz7j_#R(`Paz#G)I!V6M<^T|9gjVljg5`LU_E_(E5YPGOJ7yUuljkc zCW}V7Q{PyKMw1EE8SRjs?Lwo&J#}QGGlUqt?XdD_8Ir`r`aZ5JhJ{C>{nnP1MQ7Hm zTIx<08NK!&0@I^8YWs}o1?il#CS~ViWa_M{uU2+ z*D8y6n6WohT+G$d>xEoOs8z9l{)inwU_QFu`znS;Mu?x+1p1ifsx&?cl40Cl?61x{ z4x3Eus63c_{P^)qervGZ4F4Oi5M~D(9TSuBVMg;qYoXM;cZe*B{k}}*GovQdI|q}+ z#4_KR3`Vm*_}LM$@bfpcb2~aZ_V)EpIPA@Nuv*LmZ8xoCcNmvC0CNjG8Kl`6-OM8Vg z*mb>@#gV>+ydn4!72i&o8k4;GYG2*-vxM{u$(c`1&u6}M%HT**P$Ymt#H`Wu$5$NX zn6yLbRcMHEN!R=QtpSd_F%9=+Wc|)tM)>;>QTwFw>5_;}aN7|li*@qef;sK~!`oT> zBO8}7DivmI!LyyjyY0k^kPv0@1wBzMF|jqOz<;3p|0l0fPj^O|B^3|EMRg*5dox4Q zGRPJ@k4g_=DpLzD`D`Yxzli|SAS%oD=mRBnJ}Zti#cLV@#H`rFar}49(pULP-#$qT zDs06m7JG1Ta$Xyr;=48L3X(;`RMpi(#{hd?OmlCy4I6GT?`h%x@NL8U7q@k zM=xLv(eV&g3L2Uq`E-6vOw5m!#8g;6cK%~Pq;KG?GFxOm$p7@bJjn5(8#Lv-zd1Jo zlO>|r!}_hWiLvp~9i!b#mxGsrHRjrrG&t(1OI2^$ENsHYX5-J8P&{kB#diZ>M!S>6 zdvmp{NvX6-B|8VVCP+Qo2e)2(`fO z6Zu*~$#;l>fwuFu7}rCO3|sVuL&7C0Z7%URC{KHahF+YghANjZ+&<(}=DfYU54nTc zUr&pa-|spbXY??YA6fxwCawsk1FJY4EO^wgyv$;Z2Kfa^PgnwDU$ND2hS1$NlPt4k zVG=&RyD5{OpLWPlPfzU|wcX}zg$2Em*qJr|nszhv^ehGUIQrMSQ>-&sLG9*hm=U(O zw{Z_{^N^)RTA;j;}GYX^c1` zG^aUY!_tYQ5ad$1sd;#6=e=R$2%uXy?feb0U1+Ghfo`vfk*)e(nBu4lx(Vqv>0->} z`c~LW(zteK2KOF)FZlEY+=jo=^hj7zcrxoVTMqT+PAdekh~3DAEur0Rrzc0e zByMT)O=K7>t;;T_o2$212Sp`bGdmR4!9K5;n3(E_X_daL+`4&q@Pi9RYF+-UTz8ns zujEj#EyiQ}r>uXd-SI^E^M4ew<_o(b;o#sLvD&>633PqM=*YT(r(@rUdgL+hwh&l{ zMv^`2lU?2&$w`~uZsch(zMS>SCRR$npz<)2=oJzYlJ)%|`-2(3tm=;LKuwv_?L+K< z7tvfl^b%J}N$-hJJk|}>=T2NT1TeF6m3*lmB}9EgNRy|XN$y@+k}opA#Nn^7$LBu= zpQat?rY+x8BATWlc}xcFgx&hWqA$#9^E4_=+va#C&TKkn*#6{rQ~2Z51}Q%v7uGB>Uzo z^7AY(CMs2aqWtril<9xmlP#GCF(QP>_-q#VS3?MGR}4<@O7;&Jtq8;#3X1cTf57gb z|MjaxHA@c>l)WYQ7RW+M=ZeyDGS9avFexY~RC4|a(ow15Q2pOuC-|wG7`|=LA~lA3 zu-bbV>bSlWqoR7k9Pe_tIM`6VOTcGoT$aLXL^Y_O1fc56Y(@UhO9;D@B}RL7<)sf;tp1wo<2dX}bY14MuHc9h5s0WL&y`v);ba4O(blFnYdSWTHJqN3;9}GF` z>+72?4?O3cPUYTNFcSO=PCwU;3|1Pwqq1#THw6$}^jC;P(Vadu0suV1ryE17gSCrA z+cby(3hG}SaB^~LoZMj9rg~{9&Z2%#wX4?vi2S*xqJ*?dBWdbj(3fR2w53rQ*7d+m zy(5ufP$Xj^!tE{Ix1Z~^t8C`Jca!->s1|D?9{n4}jr}FTVR-fQ;rE*8%!CEp=U$<2mWvVC?~C1i(5aHDBP`nsHPf`DQO|X143$ zBBG6v1`SmBAD5%5DF2KVH7Bdvr7?Y2_%;HKrLGkwc)TdqrNbE&Np81RDVNEAw-RLQZZ5)l<*2pguSJ~#TKKHlw_NC$5Bb6wi zwh#n;=`=h}WM0%AsaT2b-_2aGHJd&%Ksei(2-n~=yYBbB+;?TttO}W**KX2fB_t$# z@Yr_|pp=McWkY9a*rGu1Si0=+!FUT0I`7rrHgJv{p<~!whFG!4d3`@|@QLw1&-C<2 z316>a1NMY*w~h#wLiy(rQ7{@!T&PQswJJ`B|gqwW_iKn&a%N|#BkvAH_E z_w8CezUt>A9V&2vmYNe`wpw%F?mF|5$R=|HPFSgq<;dV)08+G7D3Pc>%!Us0SfBVb z!;PFpm$WgQsaJe1F1Dj-scD(er)HI{ye`3nXDT9?D*ViQy2geWU)Sw*Gqy+N(M%wf zyuu$gbkG-O8qHYKS+`_uZCNxlG~j3(l(W(LPi6qs%ERkU_o@N3#T&l%0NE%QxB$z~ zo|mLfyTng|x)T=%XUU=duG{-NvyN)cdAOLkxJq5*7dj$(mGgT%%x6f)q^pH@Dw6M# zTO1n~0C@uU01np6%Gh!j*%P|SJ=0vjLpn}}MTRMTy#pTZZ;h(e>78&n9vY6FA`Ycg zRq?Rx(xt%3nN|{pPqeQ(l64z%uscr5mNai@YS!8gwtjisZ(VA?+NJG0p>oz-#44Ba z#$dmpI_E~M$*%K|l7b?M+lJ^pE4ehlV}x(a73=4eXS~Jd)RWEd1b^iVU|M{Rh~K|$ zE*~@s2}P$Aq5Ua&2fKeUz#-O^Pjet`9WR&2x@f<>sBIbgIl}{4qNu zpA?f~#wuc;DOP9}%ck=u&}O=QQ`7a%89zzX^GTj4RQ*>G9u~YsClzp^;^Ip9@)()J zenm|9c8?P-qU_}7U7ZxNUY~@s^7-8HDzLhx$gno!_??|Ok$D}xyV#rgI=7yy)950| z1)~RSnsG0)&CYBlSq(=LJPSRAr7eBncAC#rn1q_Fc1Lg4%-KHH?+AK6kj5A13iZbK zD=K1YaN2J_BOKF!_z3YVx>2$=-(mS)_v@)Qx-dJEWp>;=-$hK~FhK>C*YIem4WUT8 z{u|+#+0o>joysg^g_hsg%*^p@>tloSVbGvyhh?>4<%~4RCk7AO+Bq3PVQ0ct=Gyu8 zDvL1!VJ}{U{_o7IC5;D$;9(_P?2b2xi48ebV@azPCU{~Wu7}cQ=!2d_{oOn6z9W>%M>A zrBQ@xz|=7m^XrWD18j z1TdWh20M=AyL-CXTne&il(^nMBCuK&1z06oE;vWgfx=_%W!)oMuBLz7T+0LHp3EzM-aY$Ss_Z!9^$LF8afs^ZPg5 zLCdCX&oAGX^DXYLVWGdi13HF(BQnf8ZA;% zh0*MBo~2f*YiwdN0?x;_VLR8-29zRi!)$BlVWbV&ds$2q8v^!irj-Vjb5AkQE=8t-&BVoi09b{n7sJ(JB-rS3SWu1WLQIjd{j;Et8UovqvK>1r+bXeQ<$; z&ot@w7n@Vzy0*i3k3QGO+DD(l|52P=4|Q$Lr>(gGjE%nk zVnXn+8G1>>agbtfedk7*X>$|7t`==DIiP_X^bG*V*@ZD2S-`Et6r<=hnDChJ!eREY zBWjT}0s=sF9NbJ5=>`HaK@h}iWOZd1yaN=VW1Cv7|HuM-keAw*y^gXBUz(3s{MG%$i55L*(0D@5~TXi*>~MN$ABHs4K_u#FX!vIVTfD^hmQ(hK3ZEP+yVKmJ0?z zLJ@dRNKL-m%ofp;MF)G|Uf2USqQdf=0agK)wg>H*>2f97hqR0k0|Fd8yb9N0UEd{@ zT=Q(@2_7jiu>#r_Bd-L=4&DDx0xaYHFeh5Z$as2)l#u>^v%uAs%_;vAqPc1QOFNY! zed+|Dz)ZjZ35rEG$5&1z2j0GntU?nom!|(LpbK!qy$N%-nyXLH~}R1i(CVWl_^7tKek+bJmA$zA}wvchmZ zjNd{_Y=<^b>G9IB+fD--5OzP(aUs~&HkLFhO6w>vhDn_xIcn8EJ;}%?uA1AgHqo3*GiTrltq0Wbk=@DrJ-OQX`m(uj>=uk3!96IFXlNsH3c3WSrI@n>$Rw*^;sVfRRb7Ce3L3h0jzu zt(roT+^^p*Ya6M285SFdj3N}2l~g?jt!W0TjH z633Z1MnBo}l8SL14y5>6FDvdC95ioc5GD6<$_BwqYmzjYJ-B2NnN50kWz45aNb$l0 z4_j`d&LW(wUFIxm@lgSy4Kh%!6QZdMZ9HfI07;9@@G6AUbWWTBdt9-vzn@Y-AQk8o z*LvY$VH6AueK0{Gp>$xU#Q=$Y$)(-`45~2b8#X;Xt#q!Udhz$?`*~mJJ&B;(OTfZ@ zfBZGw;LOO!$A?bH@uYEZ2tYr^;?3Jb$mWp10Tl zMW)RCuJv3^B(M$B{rw-ooBB6u88~+M7tn@t06IF4hwaI6PT{Dzy>F}nvEnHC|1mmz z%i$e9@^dn=OkwXk6ZojvAL0lE-PjNq)k=&3ylXnY(8}2037$CFxs zp#&KKOT5L8?xE@T&|9kSwF}NfS&kO68>kVQATgbf&ndct6Z+ho$eowwlSlYI~ zkL-3E3b`?Oa@I2yf%|i{oX$JS4@bcwF-b{ME-u`9zUN%<`2pw(LhJ7FcMSy-lgf&U zD}y-HsQ-~m7f8;k}ByrkBY!^S12d2r`FG&m43p^a~C!i6BW4Jsn5eZ{S64*1T%tRB;yw*0=&+C{(E9t#GNeS+2|oCg1;I~}iq(>jL>okG=O0xnCO zUlNgqe?l;2o17^Cg#|XCEDbg>w>8~4{&9YR(uLDbeqS)x^A7!W6vmlyBNV7FOvrI_ zC`WFNdmgY<>W2!h)WHYNrT@O z6+@?V2m8?wCO=NU@|jn10tpGw<i98%f!>`^e?nEx|@Wa2%^)wr}x&FOTo5gp|O0{(Pn+!|-iKjC|ZMV)c zGXsCvwCYC^zN*KiQ(q@0pB7GZC9(ek0&M0M5J~Z!>iw?dkE;Xd#} zWj^vKy1S!9r=^l1kyVdOQ41(^%Xg>4ms1*VR2V68ki4_cHd5_Q{=Ub+B*T*jU3b%o zHyCM{>4?=AkV!YUiw^WH5rpsw|H8kWSG(O~Ao!58Q&6-g!wUIx_Gi24d_xO}I3*;` z)UI-k;Um8!$4c!)Qr=j!|FbP^BPqbs0~J8^)b^Ok$+`JRMN1p}0h=~9H8s4~y4|w; zT{w{2p`DCBH8N$+wRN zH9N<6`J=F}MMkJ{pMj-+8O^)rBCu?*Oh5qlBcE`4tK&}T`3l9x#zv5fkOAwie|=@I za(H7qFB5sGxOQ;`lpPaLO{**?!g6F1RSVO%w#?!8l+5SKV9&)f)B<`kTc%k|MNQ3a z-1Bm_+G;b?^!cBa&hTpp>{bL`hkv~L%Akk1HBpEUxjR7vbsKI$02+M+qzE+&0r4H; z|0Z<6t2Cx$_0#IP0-G>2{#zQ>-%ZbXTb|OU6NWh#fvvygDZ@aF&A%0^5blu%cnwve0nz6mt3pTL(gHZ`4eTc9v& z5ca-#;`MG4uvEl*VYFy#QPZfeRYu7-{AWQwDz*h`yPqS^JB>xAk?yV>!CG?UZgs6^ z?-VL3Dvwq=*$CZ^k(H;mWuc)`9l46AukG#a-_@fAbnidgGUZ4n@H|hb3K{B(^$ZxW zW+djZrJxjgT-#6jSxCHAaRTUAF$C22;1)Om$#;A|R+21#w5cw5EXaX^Af40Wx=m(@F^=#Q|4w z_s8fyjSWo(@m@@AaUQ%0jHOK#T|2-i)+_dE68lL-!8OE&jvn`=mo34=nj={{Anu8R zcT);L^%^BGHGpfxf(Vh;fIaT0nHtiPWanb!=fmYpL3eVvBpF_c*NfxG)AYT z0jRUp+8&7Z3=OStw`>iPa}0NsOB z5|R&Es)Fz}mAMUwG{~WZ1UxNWK2IOe=VnXxrsehmnxo+99;dpEDv(S1J1|5B?tNPz zC5;{uj8@s>AV|d0vS#Q@5EvYM+hMU?kyB+k69(dOQ}67&cZ_drK|zHl)d1%n%@Rk; z@Okz6c`Sm@ee;5mxG9|a%I`oD0hhS175D1yR z;gPNTsay{tMlBCJR#Bt^UDyhOh;TXPW0z$$2MBnLBV;L21;;88@NyE&8A#B4NeA!i_IW? zSOu{@hV+1d6It|T)f|3oD*$51=mf0=DuqeB_7w2uTfY*TafPcxdRdE991x-1`g@0pNk3z!J{s6BidB5%|f2mZ=jmwM+aHOt=#uGxZnM z{`i3a2rvL;2t_D(a(w{$n z8V*JYhu2*a>h`DWANwVc7p+Z9>6#og)z7=ayk*ng#1?kz%E1ut5vR)?CG(xFWYWE| zJw_bE)sM~|A-^E#`Od6$*Bu~#4jgv-qosGqXXLG*3lVa-Jxzs7Yn#seyW-q>@4mgB zc;z*=dA2(j4exzjyLQU;-kAC7b2T>CM;#cz(?C0Hz9fqz;wso>Nk7(RQOlp3w9%^f z7=RPb#JctM_44b}LFVb31@Yo7(2v3bWI(w|a+NQB`gQ&JONxnsX^V+SVFX&XmpVP4Cej+Hk{mQ}8fK5*XD+AJQ(?Sq|+#VjMKWgyBm~LBVW2Ea7e! z3S+3fBmH#v`vgg2RiF#ytbXi2W6OjM-C$46+L^Kw@&dR4b$~$DFJthOIdn>cRIiem z**tC@kaPLotGF=H@lhuOH&;sj!;56jbGSTg_WNxVlK1gCeznKIZw??X#d5~CDEuQ~ zO&96+C`S=1mWW5l-b2UrXIrYUH-Dw+P{FRPax%QCD~o0ZFl6#GwS6Rqk)L`0`9G5N zzYEX)9v3>&4$^Fez>4IL`G=Q?avy(GSkk~SEeEy`F$273r>MY%;X$Wz@w^noM8y5c zq|c9MWq>}$^Uv}8$)(BQz3U0hRd@V6$ih)jd>J`Qhqp9%>!Nu59s~q&ftUk#2tYi~ zfB@OHHq~*6FPQ#Q?%!XM(SAE10Jm{Ir3ZwDL&4$}0F94ZSb$j%-i%o0ac-&WzK#pf zKT9Im^7NEOF6B=WyOETfoJp%6;@)EOZPktHcR)anK}8wK|3s_nxnE6G3K0Z2VKqN5 zgMyivnQo3+2`_!?RdxHmJvJt0n$;WF&tkVsx5TmV;h}+W#2t9>Jp*pw1drYr+cy z+`$24Y}X28VZe2BY1Wu;`!;v*k=E@i)Gph5N*Bd}mKpQ<{dBz}?Gmv&$SFjC=(kEk zWGA4FpU;yD?fKIIZb}0Ho74ToSl9bpWwJ=){Xa9`g7;@*X}%BF>$ZnFt_vy_sjMwm z6#a>;K*nEnX@nE;BtdtFa4BlmHgWdaUm88diq}24XNv58{GW^yb)2o z+7cJ8Q3J(i17Nr1RJ#^~`=IlO1_lNUHo&h-2;7ls=N-`CQieW=F6Zpz|1JgmnMBAV z9zcNggW=98KIi*SnQD`p6w8tA?x%x1!1Oc^ZHXe~`L1PqZZizx*F8Y5bNAeyTer0{ zIs6222B#S*-H?ZKRzS&RiqsZisZwR|@M2h&o@L$v2Jk3-Bj^Edh+o5rA{Q6}8rGw* zdr{X$nTd}Y*PwaT*g=N``k}|AaG)bEFQ4p9Us{^C_&5S$EBLS6_}x|q)^5Be#N3kA z&jx+X`xdYsH$a?w`v*IA&%Y%nYb;-6@Y-j!a}#q}{t;hbU5OGnSgMd={Utd}2E>o% z0UOL`+;Y$l#dLN=TYAv@aL}w)>^(o@Hn5?8yT|Hu{MXT+O?AX@dj25u>oCkyr1on^ukq{H2 zLn3|vNY!+`k@~>R$-yZ-fi0z%C!5|rkj%-K<^dc^T_4?02l41%Mp+;!y0=h^U)w!6 z>uh!3&#>!g;th0CI8tg7cLbm4>w9@fy~ASV$!NtXK%3f;9~^p!Gh98T)2}mjUxr^@rJqI54(a~otZ0zGYA?itXLK+}53ES3Rnk8c^T9&$7hM{&y}3 z+y;G{kVlpG89dl@TXJ#BiC9WWxN6he+v~iLz@K+1D(^gJQ;T%xEe+B-aCJRr{XfI! zxkD}3^qug$4$z{yjiN;+^}|}6DWlQzV~iJA}}x6pl87y?{sy^R8w(-J1`YR47EDH zxlk2r&cXF=fD8zL^}tupXYw6PF}NI$(|~$ky1udTEfXZaxW&bYQZ%3CynU3PrO3d< zlno3R?&7(agalw@{DdrKbpxj4b+esEBH}|*+ARYlr9_P8G!PhsEBxHR4~XXRkp+b? zsP~6acNEwU^bzU~Mt=(^vv?qE=^esy049cyww zb(q^;XmriFzjf)ay(_y%0h=j+sfgB~{kBxMx!_oYk^)Q9k}IBp7{tD8YsV_p6hI0{ z0cdRS{VZuOHva-X1512bq6f*y5b_u;_T*v0L(_sl`!-XBHw#A85(-MQDgYX&wwi*+ z)4=|pfEjBVR*`4`+~MBeLGz_9RH_H9JBpm~qa9dgXn0IV(eYr~N`h3wHWVTPw3)s6 z`nXcaO-lJ{7eM8G*4=FAi@vaXhug%&#BMb`?@pj^nU7XIbMt<^+bLsfYy12GB%sDy zG|_V2<{mMO*4pXaT97yQt06#l}N+w2hpnL^+_C;HdjlE$b#F2W2pk!8f6{a1ZEI61Qd_kyCxJEP0(jgH(jZ~;yzAa zNd{R`?$qLWY|=15_RbC#Qq3~lg8-}?+WssbimBnguRIO`qQzv9?y5jr2SR1<0I;#5 z7EDW5U|}FO!mdqpmgZ|CWYH#=e7w?_ej)5o?AYT^9Kx|{MnaK_6(gyR~1bb!HQ?e zd@n|$Opsl(%q-_mCm+qz~_2eSIosn%qBc>l#}2`?vMS>$8Y6rBbyT zd5z4keZ9S}X=(HRoc7J;|MoRO$^x;eAF8>B3=K*^%aV%y5&W&h1k~g&qrqVR5tT6z zto}cFRo-P-2K~&cfgGM#$H*D48ux4YpeQDmUGV0gTmvXxfN}iW>o3i`05x%tKGx@X zJrU0Y0}TX(Kd_WQ5(eePKOzEPJ1957gv@h7 z0ox+~4`QOyilP=^FBUxVh#;TF+jbcIkO4{$hf!CA!xW#x+S93MNCpU0<3+GcB)e#-jz&v4ULjV+#xO_HDQL&BanC{c>=e9HQL$f(;XJ9ok*A3}t_5<}>H^^*#j95cBKK!;ixs<5B}Pu;=1s>p z#M6zgtPq=>No62?AMdKDsTnCAy((iuOO_1+Eyn01yEh~>sx6y`W*HcDF}=pWfB$X; z!GLlQLz49{!UB^#5Ufid5fc-WBrZq1t|-Fro=yu zDUp4B(v|i^4Iphnj7=*mChLTrtB@K6(&f9I-(zC@z&qg|=|#-=z0|KjI`DY4+vsGi z_pagl!I-+Q>)quGv1YtL`|{P7Lfk}phj+8)^PDTDf5qtoUN&M^(JeH%qghrHJw|!) zCm&WZ0hz_lHPe3r^ldV++s48pJA7ZmfA>m1fm7n3huKx`Xb_7!z>;I=Ro71b+2 zK@uS7PFLAugSIupOS~8_O?@z5|Eu=k`gHSrGBoVQaRxk@t8Qwn&_$1i+l>p0B8aZ8 z?o)L1KLC@KgC4Ct)EMEiKT8)=&h@ZT$tmJkumAJ$I0FfD?BC5M7RDh5yv*b7l^Il0dq%?5wNiFHyw{K6vQ(vA;y<&~ks`iOvaVpD>1>0T7K+==fZR-_GeW;UUz}@Zz z*b5G4a==8y6}dZl4C-Wz%NsenTkwFq8rD8pFIEv^>t*)f2hYxGnpbO9*+Iz=uKdlS zf`d^!&UfH`x6#enHo{H`y7gG@b7XW9KQ6uEwkC|tcNDR2e~m0{M5elJ+p#7`RthU9 zC;&GmQtxsr_7?%0J_1C$aAJpf3|A8$AOH7+B^Vt%#KH>;SrrvrG7+B$KR<*gPo6C0 z;On)g@i{UPF)oN>Ov=-UKFuG74nub``LWi{NITfBOb>YoI9<>IR<~>RxO~)K#_M^( zL=g0Dbcf2TWzR7n8a22;v(v7h4IRu|_-0*@FeC?(`Q2(sNl8d_baxLX<+0|P)n`Y? zvAL*K-e&GyRxOBukbEY8WZUbn?1I+3fZ6L_UfrD6xgL@Qp%eO-85lf8L+gkZdFZh- zV;BmmWrf^efh~7WNwLE8e6Eo)nQj8~HVzJ=Dn&BIr_0#V1l_U7VY@~T$K^)d6vm2A zDJUt3&pXD2BhN2EElIi?)-skqni>3DLb8@xuIkL=^cdqe|~N7X~SKfy$<{f!3tMBv6#P$HuVDhSJ{2 z$wfB5w=f<)5K@kL`Z`PhG%LH&K_-H=CA<9bEr#Mdihz)ySCY~V?PAcEEVkXFQ6J%l z!t_OS-uVX5`@nz6ka8>fZX}%Sb-+ujzr#PVMW13mXOIqfDJu3g3=13_`H>~|^tITV z-*lM&?|<|TLaj|Jz&N+Z|5%T78a?(U7>ctkTuBldrCO}V#EM6UB??Z3c57Q;0dur7 zExaz?^I5%neNSUraK9Q0CFB)3k{a6Q>LUhJU*81VSEfM1unir~ewj zpD2**!&emPaMWvE7O*e7b&EnF%MCd>IU!`k%*y7>qB8vuZI*7R?oF!P<>uig>lOE) zh3%a-Ix1Pf_E_$mKs?@uf#FcoYuVnmHbkt@00?2DU4+E1wmFy=ai;GBpO4@vrF^<@ z;4ceF%$G0qKi-0ZxH~yRgNWWSZ7ecbM)MG~>*49SdKB9s8h9a=V#SpC26oZI$6k_^ z^#~*YcuzAqrz@Ogeytn!BoY|1b$%}mt(jyJ@BQX)TtJtv%s_{O3KnjL??6Y#<6#k) zpf9AUi3IqmU=F|EicxIhTbGNEk4Hcdez-ECOOOW221%)S%cME1!8I@(pB4DK1Yp8m z+c@`szlWHFM1=e~SZI{1K|fu^ zyUyuz+?3KfD?soYFd5gpM`Y^b;8@OHO z%*`!+f@!z1E33N1q`5;i=i%yzUGpZ^gDA~*5kXQ9jmsKdkAXLBq)<;Rdt(Gg93Ctl z&xpH4HR9ln>+6d>*g*$v9YsY)ON}*2%~*+6hg&>zoNyScae>Ej#14z3MMl!qSXi6* zrxF|AECJ|B*m6=8b$3bWe%6{=cg)U(d#mWTIMM2r|C zqkE$Nyy3;!+Z-O?AoKo9kDK~@Qq^8D?`;6kb%PH1q_1~ib9~QtPdr)3sK-worBn1~ zW_Vnqado))v0y>n1s}@fbX1!ZcF2nm6X(8jADC_}QZt)|4B`PA<24w$!0;CAvqiX- z`2fG%XRU2$2=R73GK37e;)*gr3Fy-hHz6*2d}D9zP*OlZ;7)W58KT0W?!$+R;^K@~ zC)0obc$+F4^#Don>r|znGSqCQi}w(SeTrWnVaQ5!ho9&HH!$^)1qD}}xnD#?&{hN# z6&1BX(PQG^cvgxTu5_|(&}i2U67DG$O6U@|9TY^gfTT|L>P|4z#l>lOYtpb&s9XFs zIm<1N_FXu!`FwZL`{YB`uaQawMQc|tojwnv^(Ib{>$M3e=k%nq6 zShz{YmvSsmG}LenKWk2svpi-7kH?cTM>3F+R0xEM+hmhsr+y(GkIxJd6ci-2)ZhgT z)9my7G?1g-(;=A9wM&$jlMA*o2wBP>vV{=P8R*(SV#S)HQl*`K%$ifFk4d*1+i!Oc zjMq!PiNdhO#Kb7iR9q*bi%>{S3+Rnh%L>*yrfV!$m)Ik%rh>zK_X@N}6#9>W^l`d2 z`Dbr4X@$g8@NI8d#pG-i@YxZnFEcPxC)AbCHPlo(X-WR79=>oxr=X;yBVQ*sW5{-| zv&6VAxHny%Jnz8&8Q^{Wtszcl;|Y1nXyuSkg<*)rOOb}f!(&Z+#k!H;wmN}u{`pz^ z=Nb-&_a*!&C@4@;Riz;#BU_IRIwaqk@9V5vc6(ZLHOK6*s;cU%ZPlT*y`SfrM7?7G zz;5tirJ5qC>DixD2i%T|PR<|YEPraEQ`FO3RVR+tG1|_BnEt|#Dk0?CXZNB}k8Op~ z)hj>XeT~<9&>=WY#?6IM=wCf4|9$k>eRq93VtqeQQBkoU0-TmlEy)m|4(?eIT&*q} zHT^kiyX=tpT@z>EO52y1F7IUyTC?-BIWl-Mw)&>$iDJZ}>D22EpR6%~;a~YOd$NCyOn0IJll&_S#lG z|B?BA@|mty?7JHL28A?=SSSvSIy9z8oo z1;Nn;-wtyZSJzLun1F~^XD(&wGb8m5-74N^qDM04bMu; z@^gS@y$gg6)1cT(q^(402>tK@tI(yuN~`^LaI% zm2M42aquMy9#(zL((z8mEZHX`-zH(_*g53}mvL(Ga@S1T*i*QIU@3*evG%-vIzBz! z;b+CC+@xkq^If-(?LBl!YEo)yLSc#z2Le3eif`y#2#rHekJq`8nytYhTW@dg(OH|7 z_cy;@ZO`0>P+Nez~49c66;vvI97cMDiJlpxZa(Hzd0EnHZ1mhrZ#tR`Z-~Nu2nL+ z%}*yO++bsE?jARU!~!U3T3(S>`~RW|%IZwz!GGqBK|Jv}=>VE~^$ zbplpDoU+pe@%+@1G?*`_cfqT90s)YhUBaBAyu2JgJv|@@pRLA&CmWta8EhhPX=zb_ z2sT&lr^~VCYGIUpd}Kl3V&dkeM|{R&Tj35!u7t(boW^Os*YiD*=htc4 z93b&!NMMMYO>W^w9!|HlQzKga$m71^X+yb>&2dR)93eGAdwLIY3Y2VY1RS(-dhkE@UA5KGCNF)frFiNrf_qg+x-=OiYxpoQ8pwARn!JgJvD1wg9AikHq}WNpO8Q< zCME{7LCBG)kXS3QWfC@D&nKdjvUGK@VuiYTw~KX`q7D506`+Za$6#VfWX+{ZWXu^^ zgge=C_q-TF90*4EkC+S7BYV*ZP=y}hugaqV+RH#BSy8;b-oMhd}+JK z6q1rx#W%KJ!4s1%4o^Iw^^U|kWp_q(z(h5QrG&QaO|N zXG;8dD7NX8_FuV&(ldMn(KI!OSE*vmS`9{swT5n-IUldWC@Dh$vA{NPeVliRdv3-7 z1Od1mrej|OJyBU;^gr4jS>OEm3EbuyqTgJ+yzT*TX5f~2u054q3L!p_Gf3Q$VR5y# z!hCOfD-yRa03e{ng_}pwH?-Q+!DVOFJI?tP-*E5X?YqLa5&EXINQT*%d6sJy*wR z#I(eqzsS&9y8*rvDzXErEC`n_01^b&vAm*uBX5(5nfXjh8Mi(`ykj*Tv4Zf1|Yhe1w+E3M*r|H7IQU=IOtAJia?0KY3hY=BjzKi7*Fq6=Ih!PI=E zPUj(55`8b0hfiLJ%PPl8MMH&ReV&Wf&xCS>dqq;1Tu)E$-8uCcULha~2JN(A_o(Fz z%+?O_dWBoz7ZzSlwQ|M!saq$1^8y^CBA-G9_>i>Io*0~kKOj-Dq-Y5yd`gBPqLa3i zo(^qAiWpa57i;9Lx>>$pki4Rzq9o%wi4y{;=vstovF^-K-P#Of1W0)l$MM?V&051h ze*exP-1_PJ_qr0rFfwM9mU7{D4=>A9uRem+eg;UNBCq{CGcKN0p7o6lk_-wbt42&h z=F#H*=Q3^}-NMStC5>yHPuMjXlA};4(w%_^V-qzll{rl~>7jPpe$OdCbn%5_iK$3! z1RKh~-{ymG>!w?hmHu-(e>qz?bp(Zl+n`M-m3t;7=dl+4xWN0k;cNeFwW!HUCSks{4wm@G%0`4rVtW%J6>I5u0MOf9X;c3MKc7k01 z(&KF)QHgw*e5>uTmElG%1qFpt%PwY(0P8EZwze51+R_pCOtQn3vv1wJiBMBhi`%s7 z#;mCwuc4Y8&{K4=sUKiM=M?1)^vqwK_kYQYiZVc_4)ivj7u$oq`>W2radcvQ;%k+i zUgM2l;M`pe)6c(I*1&G+&?x?Nnce>y@gnIBLBn>hIq;~|yq%V1LPV*5;=*{X54k`S z^7pI{ceCVj_^Jj((287dnN5h8bkq4(p`<54$Zt`4(h3H6S4zGZEa5=_x)PonIsHvJRP!8TkY8nL}@=Lu)Djv=V6=>!yom&6V8}ZYhp&#^dR=$ zgss8E!eUvDlaP>D|M~L{Xv?tefP|IvTz(04A|t6NX|fu^QElLZ$#|HLpPLJV;fZ;` zk?;sH5=|8f3Jdw-Rq(U3p)eJP9#*xAhDO`|_L79B#>B|FU6o-Jmox*Bbsgo4F)&ce z^D;5V2C4H~lG6M5<>jba4i_jx@Ut*lb`gdsW(2uY;3LJFT0nH%0P{#Dc(znjR1nzG zL*vK!kDQ&IpTojG3wj>fEI#pdXlN(}C<(xW(?SO`I;#J3xnHOB#+w1|t*oh94&N_> zwSy?V9fe&`8B0A^456E|=t+^%YCl9<&a=6kYfzl}YnXPZo3?^$*K@sUck31SM1C&x zx8lp^F+n`Byhy0Zb(1r|0@r$PT!3^5jA;BF#E;tg`rsLvLtv)8*YPL7gmOyso6R+6 zS69+Z%H5^oWKoj{DDLK9^{n+=N$K*&_z*Zi+daz}O+_0(Qe(?~4?MuqpR1V;Cp|QGF2v)2e{sMt zp^}n;fv6`V%g{_bmS>@*A&;*;2}R82!h9+QCu! zz>0j$sT-!dc6>q4svg>UcM=rn3T+6tQ*waeTBaSXLI<%RYN3% zOWKKj{H+1T^a<)-yd=JB6E`q=6$u1oaHWG-kA$?n zY{|CPoT9^>y|5y1nJj$EjqUPa50|K0^K=-S0;EQoZ&Yb00z&p(6u&utrY5ESAE*}R zn1F_WIFIXCd;g%YL%KJ-epPU}eqN)PLV!TMX|h{`b0-)#wDgQ?ZFa9n7XEN_zH__i z;_Qb~fi5wfR{XWj!lr7@5CiQAIfXs|@@ytxr|KRdFe(&xq$GQqQCi0GDma&}P zSL8Qm`3IuA@5iwJgUG3&!BEy-ZHwNtkiUkWzLoob;P*+>#2Y4?`Csod{{G;9KEt;# zLJvL4-jZ$i2tCcQ$P}sh$@$Ny;*_6Kx1rOijtPM-sH{m4+Mu%m4iu!WP2}IVQ2*aO z@RdKKj2zk(yNF~v_z9~w VU$aKxzX3p~-qpNQqVy#AzW|VS#Kiyr diff --git a/doc/salome/gui/GEOM/images/glue4.png b/doc/salome/gui/GEOM/images/glue4.png new file mode 100644 index 0000000000000000000000000000000000000000..32e07ec223ee2231d29903da73c83e4e42af5c1e GIT binary patch literal 22828 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 literal 0 HcmV?d00001 diff --git a/doc/salome/gui/GEOM/input/glue_faces_operation.doc b/doc/salome/gui/GEOM/input/glue_faces_operation.doc index f940075d5..ebdbe9c34 100644 --- a/doc/salome/gui/GEOM/input/glue_faces_operation.doc +++ b/doc/salome/gui/GEOM/input/glue_faces_operation.doc @@ -1,8 +1,9 @@ /*! -\page glue_faces_operation_page Glue Faces +\page glue_faces_operation_page Glue Faces / Edges \n To Glue Faces in the Main Menu select Repair - > Glue Faces. +\n To Glue Edges in the Main Menu select Repair - > Glue Edges. \n This operation glues faces that are coincident with respect to the given tolerance value. diff --git a/idl/GEOM_Gen.idl b/idl/GEOM_Gen.idl index 7128e76a2..a63bd51c6 100644 --- a/idl/GEOM_Gen.idl +++ b/idl/GEOM_Gen.idl @@ -1494,10 +1494,14 @@ module GEOM * \param theTolerance Maximum distance between faces, which can be considered as coincident. * \param theFaces List of faces for gluing. * \param doKeepNonSolids If FALSE, only solids will present in the result, otherwise all initial shapes. + * \param doGlueAllEdges If TRUE, all coincident edges of theShape + * will be glued, otherwise only the edges, + * belonging to theFaces. * \return New GEOM_Object, containing a copy of theShape without some faces. */ GEOM_Object MakeGlueFacesByList (in GEOM_Object theShape, in double theTolerance, - in ListOfGO theFaces, in boolean doKeepNonSolids); + in ListOfGO theFaces, in boolean doKeepNonSolids, + in boolean doGlueAllEdges); /*! * Replace coincident edges in theShape by one edge. diff --git a/idl/GEOM_Superv.idl b/idl/GEOM_Superv.idl index 0eb9b049d..7d961a6e9 100644 --- a/idl/GEOM_Superv.idl +++ b/idl/GEOM_Superv.idl @@ -392,7 +392,8 @@ module GEOM GEOM_Object MakeGlueFacesByList (in GEOM_Object theShape, in double theTolerance, in ListOfGO theFaces, - in boolean doKeepNonSolids); + in boolean doKeepNonSolids, + in boolean doGlueAllEdges); GEOM_List MakeExplode (in GEOM_Object theShape, in long theShapeType, in boolean isSorted) ; diff --git a/src/GEOMGUI/GEOM_msg_en.ts b/src/GEOMGUI/GEOM_msg_en.ts index bb2b19e52..ab1af6650 100644 --- a/src/GEOMGUI/GEOM_msg_en.ts +++ b/src/GEOMGUI/GEOM_msg_en.ts @@ -4709,6 +4709,10 @@ Please close this message box and select edges for gluing SELECT_EDGES Select Edges + + GLUE_ALL_EDGES + Glue all coincident edges + THERE_ARE_NO_FACES_FOR_GLUING There are no faces for gluing diff --git a/src/GEOMImpl/GEOMImpl_GlueDriver.cxx b/src/GEOMImpl/GEOMImpl_GlueDriver.cxx index 1d4de6930..342866ea8 100644 --- a/src/GEOMImpl/GEOMImpl_GlueDriver.cxx +++ b/src/GEOMImpl/GEOMImpl_GlueDriver.cxx @@ -561,7 +561,8 @@ TopoDS_Shape GEOMImpl_GlueDriver::GlueWithWarnings (const TopoDS_Shape& theShape TopoDS_Shape GEOMImpl_GlueDriver::GlueByList (const TopoDS_Shape& theShape, const Standard_Real theTolerance, const Standard_Boolean doKeepNonSolids, - const TopTools_MapOfShape& theShapesList) + const TopTools_MapOfShape& theShapesList, + const Standard_Boolean doGlueAllEdges) { TopoDS_Shape aRes; @@ -606,12 +607,19 @@ TopoDS_Shape GEOMImpl_GlueDriver::GlueByList (const TopoDS_Shape& theShape, const TopTools_ListOfShape& aLSD = aItMSD.Value(); TopTools_ListIteratorOfListOfShape anItLSD (aLSD); bool isToGlue = false; - for (; anItLSD.More() && !isToGlue; anItLSD.Next()) { - if (theShapesList.Contains(anItLSD.Value())) { - isToGlue = true; - aMSG.Bind(aSx, aLSD); + if (doGlueAllEdges && aSx.ShapeType() == TopAbs_EDGE) { + isToGlue = true; + } + else { + for (; anItLSD.More() && !isToGlue; anItLSD.Next()) { + if (theShapesList.Contains(anItLSD.Value())) { + isToGlue = true; + } } } + if (isToGlue) { + aMSG.Bind(aSx, aLSD); + } } // 4. Set shapes to glue. If the operator is absent, the whole gluing will be done @@ -709,8 +717,13 @@ Standard_Integer GEOMImpl_GlueDriver::Execute(TFunction_Logbook& log) const if (!aFaces.Contains(aFace)) aFaces.Add(aFace); } + + Standard_Boolean aGlueAllEdges = Standard_False; + if (aType == GLUE_FACES_BY_LIST) + aGlueAllEdges = aCI.GetGlueAllEdges(); + //aShape = GlueFacesByList(aShapeBase, tol3d, aKeepNonSolids, aFaces); - aShape = GlueByList(aShapeBase, tol3d, aKeepNonSolids, aFaces); + aShape = GlueByList(aShapeBase, tol3d, aKeepNonSolids, aFaces, aGlueAllEdges); } if (aShape.IsNull()) return 0; diff --git a/src/GEOMImpl/GEOMImpl_GlueDriver.hxx b/src/GEOMImpl/GEOMImpl_GlueDriver.hxx index c5eb5e22d..d83a8d75d 100644 --- a/src/GEOMImpl/GEOMImpl_GlueDriver.hxx +++ b/src/GEOMImpl/GEOMImpl_GlueDriver.hxx @@ -174,7 +174,8 @@ Standard_EXPORT TopoDS_Shape GlueWithWarnings (const TopoDS_Shape& theShape, Standard_EXPORT static TopoDS_Shape GlueByList (const TopoDS_Shape& theShape, const Standard_Real theTolerance, const Standard_Boolean doKeepNonSolids, - const TopTools_MapOfShape& theShapesList); + const TopTools_MapOfShape& theShapesList, + const Standard_Boolean doGlueAllEdges); // Type management diff --git a/src/GEOMImpl/GEOMImpl_IGlue.hxx b/src/GEOMImpl/GEOMImpl_IGlue.hxx index 0fc27f0a9..c57d935fe 100644 --- a/src/GEOMImpl/GEOMImpl_IGlue.hxx +++ b/src/GEOMImpl/GEOMImpl_IGlue.hxx @@ -18,10 +18,9 @@ // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -// // NOTE: This is an interface to a function for the Glueing of faces -// + #include "GEOM_Function.hxx" #include @@ -30,6 +29,7 @@ #define GLUE_ARG_TOLER 2 #define GLUE_ARG_FACES 3 #define GLUE_ARG_KEEPALL 4 +#define GLUE_ARG_GLUEEDG 5 class GEOMImpl_IGlue { @@ -56,6 +56,9 @@ class GEOMImpl_IGlue void SetKeepNonSolids (Standard_Boolean theFlag) { _func->SetInteger(GLUE_ARG_KEEPALL, theFlag ? 1 : 0); } Standard_Boolean GetKeepNonSolids() { return (_func->GetInteger(GLUE_ARG_KEEPALL) != 0); } + void SetGlueAllEdges (Standard_Boolean theFlag) { _func->SetInteger(GLUE_ARG_GLUEEDG, theFlag ? 1 : 0); } + Standard_Boolean GetGlueAllEdges() { return (_func->GetInteger(GLUE_ARG_GLUEEDG) != 0); } + private: Handle(GEOM_Function) _func; diff --git a/src/GEOMImpl/GEOMImpl_IShapesOperations.cxx b/src/GEOMImpl/GEOMImpl_IShapesOperations.cxx index 710c3e5ea..a9eb02821 100644 --- a/src/GEOMImpl/GEOMImpl_IShapesOperations.cxx +++ b/src/GEOMImpl/GEOMImpl_IShapesOperations.cxx @@ -808,7 +808,8 @@ Handle(GEOM_Object) GEOMImpl_IShapesOperations::MakeGlueFacesByList (Handle(GEOM_Object) theShape, const Standard_Real theTolerance, std::list theFaces, - const Standard_Boolean doKeepNonSolids) + const Standard_Boolean doKeepNonSolids, + const Standard_Boolean doGlueAllEdges) { SetErrorCode(KO); @@ -833,6 +834,7 @@ Handle(GEOM_Object) GEOMImpl_IShapesOperations::MakeGlueFacesByList aCI.SetBase(aRefShape); aCI.SetTolerance(theTolerance); aCI.SetKeepNonSolids(doKeepNonSolids); + aCI.SetGlueAllEdges(doGlueAllEdges); Handle(TColStd_HSequenceOfTransient) aFaces = new TColStd_HSequenceOfTransient; std::list::iterator it = theFaces.begin(); @@ -881,7 +883,7 @@ Handle(GEOM_Object) GEOMImpl_IShapesOperations::MakeGlueFacesByList pd << ", " << (*it++); } } - pd << "])"; + pd << "], " << (bool)doKeepNonSolids << ", " << (bool)doGlueAllEdges << ")"; // to provide warning if (!isWarning) SetErrorCode(OK); diff --git a/src/GEOMImpl/GEOMImpl_IShapesOperations.hxx b/src/GEOMImpl/GEOMImpl_IShapesOperations.hxx index 14b41aeaf..25666f82a 100644 --- a/src/GEOMImpl/GEOMImpl_IShapesOperations.hxx +++ b/src/GEOMImpl/GEOMImpl_IShapesOperations.hxx @@ -96,7 +96,8 @@ class GEOMImpl_IShapesOperations : public GEOM_IOperations Standard_EXPORT Handle(GEOM_Object) MakeGlueFacesByList (Handle(GEOM_Object) theShape, const Standard_Real theTolerance, std::list theFaces, - const Standard_Boolean doKeepNonSolids); + const Standard_Boolean doKeepNonSolids, + const Standard_Boolean doGlueAllEdges); Standard_EXPORT Handle(GEOM_Object) MakeGlueEdges (Handle(GEOM_Object) theShape, const Standard_Real theTolerance); diff --git a/src/GEOM_I/GEOM_IShapesOperations_i.cc b/src/GEOM_I/GEOM_IShapesOperations_i.cc index 8b441c0d3..ac17b55cc 100644 --- a/src/GEOM_I/GEOM_IShapesOperations_i.cc +++ b/src/GEOM_I/GEOM_IShapesOperations_i.cc @@ -442,7 +442,8 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeGlueFacesByList (GEOM::GEOM_Object_ptr theShape, CORBA::Double theTolerance, const GEOM::ListOfGO& theFaces, - CORBA::Boolean doKeepNonSolids) + CORBA::Boolean doKeepNonSolids, + CORBA::Boolean doGlueAllEdges) { GEOM::GEOM_Object_var aGEOMObject; @@ -465,7 +466,7 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeGlueFacesByList //Perform the gluing Handle(GEOM_Object) anObject = - GetOperations()->MakeGlueFacesByList(aShape, theTolerance, aFaces, doKeepNonSolids); + GetOperations()->MakeGlueFacesByList(aShape, theTolerance, aFaces, doKeepNonSolids, doGlueAllEdges); //if (!GetOperations()->IsDone() || anObject.IsNull()) // to allow warning if (anObject.IsNull()) diff --git a/src/GEOM_I/GEOM_IShapesOperations_i.hh b/src/GEOM_I/GEOM_IShapesOperations_i.hh index 1150b6239..32ace82ad 100644 --- a/src/GEOM_I/GEOM_IShapesOperations_i.hh +++ b/src/GEOM_I/GEOM_IShapesOperations_i.hh @@ -80,7 +80,8 @@ class GEOM_I_EXPORT GEOM_IShapesOperations_i : GEOM::GEOM_Object_ptr MakeGlueFacesByList (GEOM::GEOM_Object_ptr theShape, CORBA::Double theTolerance, const GEOM::ListOfGO& theFaces, - CORBA::Boolean doKeepNonSolids); + CORBA::Boolean doKeepNonSolids, + CORBA::Boolean doGlueAllEdges); GEOM::GEOM_Object_ptr MakeGlueEdges (GEOM::GEOM_Object_ptr theShape, CORBA::Double theTolerance); diff --git a/src/GEOM_I_Superv/GEOM_Superv_i.cc b/src/GEOM_I_Superv/GEOM_Superv_i.cc index dda0a3bcd..fd391345a 100644 --- a/src/GEOM_I_Superv/GEOM_Superv_i.cc +++ b/src/GEOM_I_Superv/GEOM_Superv_i.cc @@ -2182,13 +2182,15 @@ GEOM::GEOM_List_ptr GEOM_Superv_i::GetGlueFaces (GEOM::GEOM_Object_ptr theShape, GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeGlueFacesByList (GEOM::GEOM_Object_ptr theShape, CORBA::Double theTolerance, const GEOM::ListOfGO& theFaces, - CORBA::Boolean doKeepNonSolids) + CORBA::Boolean doKeepNonSolids, + CORBA::Boolean doGlueAllEdges) { beginService( " GEOM_Superv_i::MakeGlueFacesByList" ); MESSAGE("GEOM_Superv_i::MakeGlueFacesByList"); getShapesOp(); GEOM::GEOM_Object_ptr anObj = - myShapesOp->MakeGlueFacesByList(theShape, theTolerance, theFaces, doKeepNonSolids); + myShapesOp->MakeGlueFacesByList(theShape, theTolerance, theFaces, + doKeepNonSolids, doGlueAllEdges); endService( " GEOM_Superv_i::MakeGlueFacesByList" ); return anObj; } diff --git a/src/GEOM_I_Superv/GEOM_Superv_i.hh b/src/GEOM_I_Superv/GEOM_Superv_i.hh index 81517c037..2d4625b0c 100644 --- a/src/GEOM_I_Superv/GEOM_Superv_i.hh +++ b/src/GEOM_I_Superv/GEOM_Superv_i.hh @@ -486,7 +486,8 @@ public: GEOM::GEOM_Object_ptr MakeGlueFacesByList (GEOM::GEOM_Object_ptr theShape, CORBA::Double theTolerance, const GEOM::ListOfGO& theFaces, - CORBA::Boolean doKeepNonSolids); + CORBA::Boolean doKeepNonSolids, + CORBA::Boolean doGlueAllEdges); GEOM::GEOM_List_ptr MakeExplode (GEOM::GEOM_Object_ptr theShape, CORBA::Long theShapeType, CORBA::Boolean isSorted); diff --git a/src/GEOM_SWIG/geompyDC.py b/src/GEOM_SWIG/geompyDC.py index 418cd2b42..0b0ce1b36 100644 --- a/src/GEOM_SWIG/geompyDC.py +++ b/src/GEOM_SWIG/geompyDC.py @@ -2571,13 +2571,18 @@ class geompyDC(GEOM._objref_GEOM_Gen): # @param theFaces List of faces for gluing. # @param doKeepNonSolids If FALSE, only solids will present in the result, # otherwise all initial shapes. + # @param doGlueAllEdges If TRUE, all coincident edges of theShape + # will be glued, otherwise only the edges, + # belonging to theFaces. # @return New GEOM_Object, containing a copy of theShape # without some faces. # # @ref swig_todo "Example" - def MakeGlueFacesByList(self, theShape, theTolerance, theFaces, doKeepNonSolids=True): + def MakeGlueFacesByList(self, theShape, theTolerance, theFaces, + doKeepNonSolids=True, doGlueAllEdges=True): # Example: see GEOM_Spanner.py - anObj = self.ShapesOp.MakeGlueFacesByList(theShape, theTolerance, theFaces, doKeepNonSolids) + anObj = self.ShapesOp.MakeGlueFacesByList(theShape, theTolerance, theFaces, + doKeepNonSolids, doGlueAllEdges) if anObj is None: raise RuntimeError, "MakeGlueFacesByList : " + self.ShapesOp.GetErrorCode() return anObj diff --git a/src/RepairGUI/RepairGUI_GlueDlg.cxx b/src/RepairGUI/RepairGUI_GlueDlg.cxx index e8317fa29..4c8b9d6b2 100644 --- a/src/RepairGUI/RepairGUI_GlueDlg.cxx +++ b/src/RepairGUI/RepairGUI_GlueDlg.cxx @@ -128,6 +128,7 @@ RepairGUI_GlueDlg::RepairGUI_GlueDlg(GeometryGUI* theGeometryGUI, QWidget* paren } myDetectBtn = new QPushButton (tr("GEOM_DETECT") + aGlueString, GroupPoints2->Box); mySubShapesChk = new QCheckBox (aSelString, GroupPoints2->Box); + myGlueAllEdgesChk = 0; boxLayout = new QGridLayout(GroupPoints2->Box); boxLayout->setMargin(0); boxLayout->setSpacing(6); @@ -136,6 +137,12 @@ RepairGUI_GlueDlg::RepairGUI_GlueDlg(GeometryGUI* theGeometryGUI, QWidget* paren boxLayout->addWidget(myDetectBtn, 1, 0, 1, 3); boxLayout->addWidget(mySubShapesChk, 2, 0, 1, 3); + if (theGlueMode == TopAbs_FACE) { + myGlueAllEdgesChk = new QCheckBox (tr("GLUE_ALL_EDGES"), GroupPoints2->Box); + boxLayout->addWidget(myGlueAllEdgesChk, 3, 0, 1, 3); + myGlueAllEdgesChk->setChecked(false); + } + QVBoxLayout* layout = new QVBoxLayout(centralWidget()); layout->setMargin(0); layout->setSpacing(6); layout->addWidget(GroupPoints); @@ -483,8 +490,10 @@ bool RepairGUI_GlueDlg::execute(ObjectList& objects) aListForGlue->length(added); GEOM::GEOM_Object_var anObj; - if (myGlueMode == TopAbs_FACE) - anObj = anOper->MakeGlueFacesByList(myObject, myTolEdt2->value(), aListForGlue.in(), true); + if (myGlueMode == TopAbs_FACE) { + bool doGlueAllEdges = myGlueAllEdgesChk->isChecked(); + anObj = anOper->MakeGlueFacesByList(myObject, myTolEdt2->value(), aListForGlue.in(), true, false); + } else if (myGlueMode == TopAbs_EDGE) anObj = anOper->MakeGlueEdgesByList(myObject, myTolEdt2->value(), aListForGlue.in()); diff --git a/src/RepairGUI/RepairGUI_GlueDlg.h b/src/RepairGUI/RepairGUI_GlueDlg.h index e03e83f5f..0975e8e97 100644 --- a/src/RepairGUI/RepairGUI_GlueDlg.h +++ b/src/RepairGUI/RepairGUI_GlueDlg.h @@ -81,6 +81,7 @@ private: SalomeApp_DoubleSpinBox* myTolEdt2; QPushButton* myDetectBtn; QCheckBox* mySubShapesChk; + QCheckBox* myGlueAllEdgesChk; int myCurrConstrId; -- 2.39.2