From 8398d29f25c27c74640b11609b429047bf05287f Mon Sep 17 00:00:00 2001 From: milan Date: Mon, 28 Nov 2022 21:44:00 +0100 Subject: [PATCH] improve portal collider to prevent unwanted teleportation --- .../Desert/Assets/Models/Desert Portal.blend | 4 +- .../Desert/Assets/Models/Desert Portal.blend1 | Bin 887392 -> 896480 bytes .../Portal/Desert Portal Entrance.prefab | 89 +++++++++++++--- .../Modules/Portal/Desert Portal Exit.prefab | 99 +++++++++++++----- Assets/Portal/Runtime/Portal.cs | 43 ++------ Assets/Portal/Runtime/PortalCollider.cs | 42 ++++++++ Assets/Portal/Runtime/PortalCollider.cs.meta | 3 + Assets/Scenes/TestScene.unity | 2 +- 8 files changed, 205 insertions(+), 77 deletions(-) create mode 100644 Assets/Portal/Runtime/PortalCollider.cs create mode 100644 Assets/Portal/Runtime/PortalCollider.cs.meta diff --git a/Assets/Desert/Assets/Models/Desert Portal.blend b/Assets/Desert/Assets/Models/Desert Portal.blend index 15766aa..9eaca69 100644 --- a/Assets/Desert/Assets/Models/Desert Portal.blend +++ b/Assets/Desert/Assets/Models/Desert Portal.blend @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8b33453ef10342c8972321be7c23b10e675632a9935ee9683473a963385cf667 -size 887896 +oid sha256:76d0412d7d37d4969b84036e62760230d520e00529a05594f3d8e7d00b1029a2 +size 902320 diff --git a/Assets/Desert/Assets/Models/Desert Portal.blend1 b/Assets/Desert/Assets/Models/Desert Portal.blend1 index 57820221201b9a8fa655c51dd56e4526517198be..271d2a2840378287098413423fa99d991ec23576 100644 GIT binary patch delta 108773 zcmce<37izwwLd=9-7{0O@B7XSFu(vaY>qI%u!yZFq5={Z#5EHaL=;7%G;Y``BEu+! zxDhpms8KX(6QXEL;%iM}cqTC<8l%4Cg}fLa(HKz^=XbvMo^MYtGsfik|Idfw_N_YS zd(U>yU8=hJ&0D9u`P!6CrRh7LIrVm5Z`DZ|(GO;ioa^*nKBBL2SeIK}U0qpLR#wng zG;C$xrrJPhNl8iG@ZrN7J32bX$lvgaii+aC?c-VlIMKH$|72lXlsj!<sz@zP+C`4S2=$C_)$3O>+7rY^Yb%%J4)T6qN424qer)R zO_%u|&TXGvI&b;aBfno*o>>Z@4SkKP0)deuM-H>K!rDNKh)@KM_V)JCBSws9DlIL| z4+H{En*2djspo-uM{aXRe%tBmTYp?LJf{g~ZVikZH*PpSZSC86a-g!fxHzY&si{to zMzyuIjet&hd3ga)+@D)kmsNfGb*(Rr>MWXKcmg8(2z=U6DSrjRF?#ISu_M9V*w|QG zSXh{atGDLnm!uagTQ_3QFMGb&cS>$nULfOyOPhDhSX_NR0Jpmh4Gnc{aC_gnlLN*fy&aXM zI4f6cAeN}xT3cIN(O1~hB|x3|fpo_?x~E~o(LIef2GYHS?`0n)=a;x*(-P6C#DbTX zmlugfHN71zm04L?ez{T#=Zk$t4I4JBUS!Yd+dJdT+?k83FF4_nmIt!)0-0dF-<8&l zYz8PG<{8nqaOI?gP=a8vfQHhdTrtye%hrv2I=?id0DL=)J}?<-ce)S(rjb~h8;d2V zCjMxZSgJxS$;IwmxJq31Vp*+Qjey!2bNHREL}QuQqFe|U_DLL-B96q`h@(*wM~w*C zz5}z{b8CiYHz91A+Y8!&@nw#Ea_yA zOK0=`^C73kYro8Quj#Rj_*-H6YGc=;VOR7Oo*1Y_XrcQ+NrYHgWnsZ_7c^}>{It3& zy~kb&Jm;eONVl(mt#1t&JKJtO$%N8^a~rQ)d{Oh=V<(Jkg@gztMDaRTWDcOefpHTY zpCw*xHno+TPn8h&gD(=9YlbVe{w>xlLp9 zS|u8OT-Tb{ETN3hDMT8AktKXa;_7Q(tz!@3de!zE}Fktwdkh|v-!LriPRAoBZRd(&P3cIi71Y84NkoICya zs;?})v}H$5e!43HT#Qj77xIB>%9JUSxt zh6b9ENGR*ud-B4*P33`rCb~5_6^+?-r%7HNF|pA5+AD#}a)qn_qoqiiCk>uw(hvd} z{VdKtwS!=HB6C2x;Se>qpfscC)T>53J7I2FP)=NorZi$}FXJm5;q4UCM$Qs&Kb6i^`$YH|Yo!iz` zJZ<^atrbWI9o=wmcl8vuy*!yqPwIS7H?jz+ZJG)PO$&8gTJq@ zsAyzv!>GKL)2B24hSQS6`RI{wmKblY#2_vC~Vs&}^;{=8G3cqjMn1+-WAcV%th1 zm893c?UNRwtroT=v4>ELwN+JDTz=9O!yoTFs^SD;I@5HDmX?-U;}_`^5*gW(%WFF7 za|;Umj+rU;b{Al(cQUyjyl$|{Spj=yl&9fvKeySS}wjA>0;t`mX# zPF+QTi83YUjIcdpZu3dQ$F5k@(RIuEDRaJtb7_6oAMmvl6qg-ZQQH};YdQIxF_YI`HK}`B_>j3@ziM*# zo#(YpSvS97_%d8?&MzwITeql<{qIak(3uXxJD>q@j2Q>lQw{yXnuH?RAF-94DiB-~J%R(c+ zQ&^T+tWnz@CvYut3=U*}Br*sLG)d4|$a?7J0<;Ko;vz(qWYvioKEKnLS6Dcuyk^3@ zy5 zC}=}xsBX?S$rN*xTJ#!t74k^OXq_-&!dUb==^%x6)UJflk#rjS+6x!87iPNYql?Pw zrdKu0{!&ZZIhV9gyBRWwEDwlGThAOdVa;K+!xm2}s~%UIlbL^8@_RBedQA<^wBGLeHrI7QFibjjm3;P5ECijLZ^R*EO0~%hg*~06KomJ^VLKU@ z(=irHvOl>S25qQssKy1qgtEwxH?gd`ZEo$bW0I{6qVH%WMl?plx!4l4ilq{yzlI~J6^bA^plUASAXO3X+_5`o>b5^p&<(n>NYD$ z$<$9yJgn?UIk7ZX+?j_CAu{I5Y7gdZOx8opC~8vj!{wg?2!XVa%Bm#;> z|7w5(EFj@rCuuj79Z2_&EG(&SAq^quF#f>;2oL1Wu25xmZdQ9q<%roeO-G&3JZ8nE?OnHA zf5@Es#n*w<=AlT+WvdiU-X%(ub5kM_Q{799y5DX zPD6QqK$aV6g^n-nD|1h&&D?gxnGNf7h2GnpAxp)8>1Z-hF55i%sJ`W!Gdpm?EbQQL zQCl>vuY}rgIt_^uv5Uc3_G^~H!IDy@E;=t$X4g}iTBd#F+;e~S)|UDG>#w*tMUBB! zhyY47nLzrJbKhi~69`49J;QUBAwZXNyMrZei^&&mzti%l2iBJH3H zX)-@b=D}U!l|pz2dPxQ~BP+Z_uS(3CUKXzovX-33Xu2qXiS*{P7fJreJZ<`l3odx` zuiK{fuU)t9Us8oCC70J-y{`Z2Gw1fdeeY{f( zxMSKErU(>Uvt~{I13fK&mc{0DX*rlH;X}j1Fn3IGc|(y5wd`CNAYloaG*;?-`LIGH4>%bEgJ^(t@li;;#%4Hy zDbt&4b4F#0feOWNW$^|QqgDe>3?%j`$rF^?zU>>@WOCPoaR}L2{>EK$>81UD6}wQM zFRFZhYy11&g`YZ&ea~eC#_MeHkRuz0pZJwAlP(WUnt7W{YVQt7+^iaZ=ryN|?l}FB z@|sCaGN7gVWWV9P>_ahh=1LG(!ZH%sW}rYm&cw)}W;zt}m%hepGDl@$_J9n4Sq8%d zRzMw{0tp(~O{R5iJ%~ApuZ-Hdx+%s4lDxhs)q!)pB(Ohj9{09);q|`pNL;eGo`l>v zsbN_CSeck&R&xBX(Pv#W{?O~B7j3;}%B*ddN{E~|yzMKPw94eQ8IxGdAtdR+UuDo6 zd2aLQZoAWzi-{yM1A2TgB+*ixnVFfeO2WbfT0?uWLWx+T5>`Pcf|bO;Rfru}PtuUt z^Tp^a_H{74Aw(OSnu1rZS>6ARH}kWMbm(VY9Q4|4*Im*7>iSVH!r$$=2zaO{`jl)Q zEmNl>17?OJ%dK`y@Xl!MxKQTq8^lywC4e@c*Ead``3)n!gk{Fq@~WDS5v|yYC=m0Q zy(2LP0zoF(ji%qABVo!Wwwi0UabTC;j<(HLxglm*~ad z&F0{sTKv0lbKiC6_dmV5`F62z@1#+=G8zp zoiuZkM9Xcm7`%Sj$nodQs%bn@W=kWhvU6n_-H0e_feE0hc)9`u2t0@^fCxZ0LRytf zP>QZ(vJQ5(0&+FCZ&P9LJXj24kc_TQdq>Bm58QZh|4SPde4&~@a>H5un@_4k-UCllS)bgzqHW4$ z3mQkBIJL5Fs!XD*Dx?QV7A%K5VV8I;;9=Onpb6VxC=vIUi6Bjg0dq*D0$mR|NG_IR zq{b}IrqW!qeZ$C6DLi&_5TZ-{dV)5kEaaFDdy0D>4Vs=sTe&;gsnup$w(`* zHkHGu(tGlBWNnomm75MCIjS(LgF!KjWAa*!_&~bp?XJYog;`4xc9vyYgVC!JBM@jL zG;pmn-aG<`-PLlK4WpHq$K*1^DExtLiH7MLlvAfoyUUp9+GGD&Satj}f`seuZ=LV~ zrZ=SvMO@r}s~01f`^vh(fqA=`xuR=8^mq?rQ%Q|xG6>X^>(ydJN&W4(5o9(T#N(L6 zm0?RyHXad0WiT{M1XGEv185JMVh!NR6eCy3S+g_P+dU$HPAm5v8v7RB8t8j{y&FQa z=&2A(LcAPNElic@#mIhgtvGnZ5fAR(xUBy>8%|14`rjSsz;}zR%U`=;Ox51_oou88 zjP{~?mE@{6kYZj+7a$U^ zA($D$BgQb}LeMWb=9ou})owod3$xli*Im^A<8`f1(rCy%q9twvRu^s_-Hri&AwDBg zMCzR6jTY3=F(5d!lE}kt10--nWtnJQ3hN_+IT9#X=2@6v;J=e`d3v*l5p2 zoCMWEpd%*H9mRII(^@9d)WV*$FFwQGXkEK*4tT(ec?QggKS(K)kj@aCCk&Hn<-x?9XObuHCxaF1y^GYz_F@-kFSdNmD`5IYfTbjL6 z&g1r2yym!DScIU($PC3W(Gy;DH{7mqH;*ng$x!OW(tzpyr@-(q&w%dckrfAn2xf2q zLmGfN5#DSRCKqXI#K|Sna51iHy2t__(?vx{I-a?$65j$oFJ7|bJFxNYFEEau-+0oe zYZte!!pMPaBcXRFVz5-iEJakPePRh6&fp(DiyArTbg-T5rnQw|RstQ7S`qlV9&AF6 zJX&HgT?}FRK8T>I#v?{t)Dv1n42pXT1gsoA1Ky0!tofjy zL`p2OOm0Ct!huLIZA!l=mXuZ_A!erGhy+ZNu+Tc;OJ9n@@*mK5h@&*H`O3&VM6g#7W^;9Fo{5#E5v63!EHZNf=42^5Dt-+ zO(KR7(GMBDWAMaENpDAcNEE_at`O#g7}7$Xh*ls7<4!;0j2}OL%gOzZ-*m?3G3)1| zdF_^Y2j`3_Y1ZKE?QA**O~VrKFcd{J#brffZ{z?`3{hwfQ5g0wMps2w7m>3x8ob_P zv#XHUF$`sko@Qtg-LfU{8)Z+cuX1B(2XJ_WL|@h(F#o z^M|iSe457!e5>pYmaoK8~s{l53EyUoVWP^*dN+6RO z9J0~i2>(G1j)*b_kIRHAQ{(w7E_ma&w;j{JDYR-Zqn|a{$1L*f99nvWDC|dIAixoHPy#^+u|&a`@gNfFJTC?*7oUk%h3Qz~+WE0`8IvDj zDh=^myMY*h;xpkIUK7uXxAHRJG8ji)hG&XlVsi*B%0jq`X&?PEB+PhnAof%+`w&KO zh=UA=z6A?IE%X_PF2Q4brogdAfF;-AOUztBQwUxN2P~uFK>z5gDayl&rx418r18d! zReQn{fgM zsyM@%=n}c{>=|OX5N2qYs0A8di%fSw_On81T_up{V^SmeG!EtaBZie@;8q$!TeH7lI>5dm7k0$`Lb zR4&nh$q(iO=*XD9#58B5!+N-eC_&k`cSU6mydjO5xv!ZtNFO{+C^0d{^vd)T+8wRJ z_VKOmoU4a}_?AAW#nmhG9jZJW(NbAkwAR8g)fr+&w~9LRZAFkpaA< zs5UEop_N=2sxzSi0niWQ3DGqWB4W#I0OC-u=Eym8Gt<>zb2*QDyE(wYdG!SZ0Ix~& zLX(qpWLJg6>mofa#_gz^J|+9J9vE8 z@UiWf7soda4WJ3MM&k%hXo7Gz!vT7rRI(8i@PkNe)P?gA@9Y=wgWA48(g3!*3t?)Q zCSF4{2s{K8{D|wxu>fJfBm5!U1IH*D+qh$wfuvxTG7~fi3|xc2qDjn$@jio)qJ&v4 zqXFAVoR-~ zN6dtS&3*N&YpyO=bG2ULZx zU;@w}v*MbBb~-dbV8D#%4&uKI&_jDz119GV7aEs_k=`*eGD!ojgLx||LKW!9?3A#x zF)IiVEI8mp0W}MJ^g%QZKM7zK1VY1T0Opo5fM9}aq_KR-M8+*BMG-vEVGdjeZgof+ z1P~4op!36zOaLH~bLJ)tlK?cLNzo|4ML-kLalr#T6Cc_bA{)XQ1w{}OTqgOO28(kt z4?ktZWuGes7!&^_7I5SI54|0~L&Izk=@9L~!s6BtZq=F9GW-dxkbmJ*AB#5vq&G?NFlDwclOVh)HU@EtPb7n7uL-R#bz5jp8jnp=J7 z>=SEF?3mQH5>NkqaL1wjq0br%===C`keq;(*6vG2-=*$CN;d&2!h~QxqX|lw*!sof zag)&?C3*mSjO#*&5ib(~i$kvATVcrmCZ)n1@Hx7oTEw`Py#v7qcfz%$r6HR(k+a1_ zcm~$^6U+!q2^{2lzqrHr8rNY$xCDZsF^tRbGyD$!iz^I{2#YR=r*&cn1Og8Pz#;Kx zW{?Olvs#oA0}d7~WddyOv`7G90b>G+jWEbCb;5Pf3SY4_iVYv!rvMIC17@NEZ6Od! z2mxhrApaZbE_L_2fH zITJgG1Du!OG}rODLOQdFdPv^4{qa&fOkqX}QUL|1K*2SXamcYqGtp#28(S_Wm>{Wq zhP3$VIHp?I4KQ1+2(U4SR5r`kSeA{NT#kpM%DTI|L)YJO?Uns+-8%2zcRB(@9gl}w z&Y4$x0t8l*AorSKR_eHe5mN@{HU8iQI9aqczJNdASeS{{ASmkemw=%2V-Afmot85} zh6I9hup;OYRKNrdaOGT1eMmMy#6-m~2m6?q4__O>T0TKyfZ+fDqz4#E6_C!xjS?e> z&_Vz_2Wt+{gO=A(@9TO3abULJ3}8GFG(%k*Hedt=ke+AMnLY-33Wv|ct7|SPnsai^ z(xx$mRpgu2)pgVM@Fo4P-f~pv|K@*fl+2x6bEqh;D))#32ERyC`P2MCxX- zt~o%quw-0@pTsmVt)QVu5A()yF-#|Y7r8qf*P*HQ67b=hbusN>cF@Dm(lGX8aZ}Gc zG=R@I$39$gg7`I#8KX(etPlVugFEmULZM+10%NRcMCgrsa9wFk7w%iRs}%RS3=tWm z9>8Zb0;$1_&t!xkIHVpscpX@Jn8t~Xl32j0sx8fyHyNgR~m*TXNRU;G-wi02W3LJSTA zT3S|=(Rp-5w|sYWbWw3WL5vXHvu541`xbdZZ~dbGv(K-;W?ldO&F#O(T*@}Ak&CFq zq0wnHfdx>fC7=N#m6ibyHIvUVGoxR_hwvr*E3sf=K>UqOAhVHXf(k@(m|Z;$2ykbW9d$@ivwRP6QbkoUHUX%p zu_z31)X_&joan-kZnXa^^KPZRZ~giG-@RnSws;G}WpE)HlNnaRW&=Hd-X{v6Gv(DU z5#OPwz@N|#riB|o%mYC9jD~pd8XK4CwOLB30DaFsRn>RJ)46BJd>&iY_+o>>02b@8 zkh*&mamEV2bk;W6}rZQd7S%q`4j@(mCi zaEpNPKs*~@h7Xm3z_N<(oB3#6-@-?8``&z59>=ZE&Yd)`Y=XQ_!R_mQv^KQlgcEkh z9!2~&I$Hb!8Ec*|&#qi70&*z{tC)Dz_{A=-QAT4age3sCc(B4VhnUCgGqR-55%f4< z^3OVy&J0P!>EXaG40hKfF3?-e zdKL|ez?c)8TRGwe?DX+4t9a0hyE5XA*q)cT(`-qJi_Hxclp+%X9L5RJN+#lKhZX0` z*ZIfPH0NVG*-XYo0BDZU!K?^){!1sG_>y@d5|8Ko+peB%lkzV%%|Ceh++p)zR=5I| zgT~lz!~v_oI@sIB0c*+LHuksENc|VoNeJYleYv0S96iM&&uw;~HktHQQ$p1`dRmK?fcTPsX0Id!A*3hG<)3QNli`<~rd)wg%2yas7! zV5zh`;;UC&aqx>6KF#+^ZtQqNgmR_fnz0NG7{nL_qEa-L6ko)wjU^GBOftr2*5m03 zh!TxR@<}+78#opI^E}IXQ3m=sQ!c*7G z|3_|tJ4{;d==;a67CA#bWFb; zqvg9O_&&?EcfcYc_jdyVLo$_uMOie;g&xew3el^sI+&xnR*x9=QC7 zpY6C}{;wWfd-R(RuRG?yAG!M2KkvNu_`k~j*54mrzqo&>yHishz2hfi=F0OA!NwO&8SO>=$(Ni-fy}>DRx8Y?&I8@1J+1y8VTHtRio!ncYq@yALFtlU z$hPM$v?c3Nt;f#q`JM$%D#N$^(3}@g^VfOl^HPsIp5eUb&!V(*j577>7QbgCaZ9c- zC3&nBy#IbXaO4d4s%_?4rSKd{|CSY+ z&4~Zru$=l)1AO&1w``DcX<|nEmb;; z=)D~FRWIQ=($IV49gxy~N03sIj(nuEcwTnCQya2U)~fyXYwM)!9Ks%Gp;d@TPyWhl zEFR;EcC>aOYFZlkD?`dafS}e1Ohy`<5CkAS`PV2v1)%~%@rTGjfE@}z;Dc&`)+EbN z0Me6xpYjuzeDq#y&qnV}O01Kr~^p zFRe+v(+i!pF;|-|9WJsRzf-db%ive;FxP`Kek|!zUT-qS>#lGLGc3LLaiP;#YAIS( zhVYkB_r?`Dua{VCxAjqzWK0Q+IeFn9+UDF3ktyUJB}NG?+|$CBXESL#Z>wSN}ZqkMS8%^mv5}+ zwf@o~?)XIvF+70Sc(pGbZ^Wb3KJ@-_z!~YSEO&~#Y)Yhu*bY5M7bnM>b-A~vJm#Su z^-zy`h-J9TYGO*rYdlmOfV|$43a2qsHO1HbYkk`z-W?Urk7&Dw|1x>sMX9#ap}>7L zrm1^u%y!h2tsk_SZlCVDMJF6DLxR{e{D{^0#n^~_f0c7%jWuBK1zT=aHB5 zjan&qcdAHaPZEio$s$D`OctrMAtureby@3mc7!mc83*%%8s6b)!jCU}*4Poh{q>x5 zSJ_lb_pVeaiD;#aO?B8Hr9{HsAzo!`FL1trR!NlR?VjS?H2L;#8S`lrn9&NXMnEAY zE3aEf@5UzQ#`@MfQhC=2;eLbZ-TnJOy|-|fb5wp%8?mML$bSc_GxW0%HF#B>&c*2l z%rdo)a*od1X2HXzv^@IR^0YXsGn1Y0gBEAa*ykFznW+;+HnS^Hh2>Ipiz&UPC!Er} zsTRmJrFY|SrzNRhnb~$?zaotF#T51{wn8)07g2442GzEnZ*(?K*>SDa)g5N%=;X09 zsZOw1-qexKO?9K5GX4uM|Gp`~3LjX=cpqG6+X$LcePBNud*0qEJ}_W0rla#(E%<&@ zS|0sucwQVehz~9v9qR}^+Bd^$aZ}p9dEgzN>n$APp69&P`^xINp zAzzX#giV&ky*F8wYbQEuyzYRnsP-jm99PRVDv>Eoj?WJsYPq9_7(tGll$=e1x28%+ z94lcgv$GjW$jrbtm`%c+woRM!OnROY9c_Cr^B{RiOI|Cdj21?2@8ikNjZ?xcgY%M> zyu`Mc-b;-#EbJJT%DYYotvointZSAGuky8;(qI;H6z*2!c*@B z4|OiiumZ$2G~6<^no=9GpG`xTO?6fWj7wHr@0;X}nC67X*w9~dgDrPx*>kh4yT-L* zvWdcmIBeL`OL=G#TZNWQoMvBb4l!BZC z$m7jNB9o5D`<2hO;O$ODuG9b`Cy|@{_GQaNCLNK3%4b{fM$b% zlg_r_Z4>0A4U&D@HYpi>*5^Dsu)#rkuFl;XHLew>bBKt5?$}^)L&`vaPOTG|4cpL2 z6@c{Q?@@jV!cZKFKSTxsY*hdPQ-kElqXwiWe^mL2OA8LcA4($w0S+nvfhqYA0BNKr zf9p-!nP>@hf$ajx7L+$9kbwY86@b876(G5X&;q0;vWcwi*2(V892uus40$6_1li$@rlen(N5HnIt zfDjXbG7z9s>jY*HrT{2E>B%1(wH1egC-aBsLoyJ65)zm}NMG_g_;*Q#(*tf|1*gQ% z&SdLeEfCdGyK`omO%UFSn|r+5Y+ zGIdd^x1w#9#Ii=-TbxQ_q!Cn$7J2XlA*r!kY=}NLXb3Dw*6A(0(pS6XMCT`g?XTK+ zYqq;pn?g=TKu$Rk-$~AQ{Z#)o-NilDw=;6*sm|$vBn!K0Va5wH875Fh`}= ze!Fa3{JqEdIH_mFOlaV}1>1bJk#XlZYn=?Mg14vB_p<=*)*3+h)dugtp#pUvCp*vk z=sc$`$yjD-Au=#5nR93~rhl7Dyf?N<%IG=YX{ifWYtPa$ILs>J)~PabzW^4~(=m%R zg3PPG&3BSF{VeAg@4z-+z}vCH`CF2r(Rzz#aU;7g7{q>P3ibnLs{L}k%2g?_G5Z;K zYrlCH!G2buLG0Ifm#fofiZ5r}XRebewa%6>EL~N7i2J zR0iUf%rA#yOXhvgT5IlL`LwNvCs;>?$4hBIKtSmBe7$U)_^EqJ?Ak=G~%If=YF z<45Kr<}8i!iF8EXp?tOlZ}f%~nfECLISrir*O4*Kd?YgIh#ZR$!|!d|;M9aPSV%%B zva;ThF-<~YV9CiK<3w$Z;*g%fL&x$wCwin05g^E@)v`6gb7UV7fb`_AR6YW;VMYWI zD1g$3(g?7BkL@l5wjm?ynxw!W0O`rUOZh1X6|e!q<_8q8^s@3IKv)3?OcM?TKzi~o zRelOW!H42E^da#o0a_J+z_z0g1SoZ&1xQc+gU?tCQV_a;0iDbb`VfW?0z?&nz>M#q z07y^%t;$b9r~m~?7C`7jW(*@hj{*>w=`B1&43M7uoyt!^s6cXWq6Isj30ad7z*PVO zQ-GlWNKgKKn)4|L1>dK=BiRD`LdrmZ9a<+aO+OR>>B-LqCwjQ|9R$jU9pnXWofM_23Aox0Im ztr~9oP3f)Lis^WjPRF$j=2->9IRgq}a;c}OptMZK1qR$NOs| zf7@mz&ZZHwX3GfY?}dqG{K2uqxNE(lY9^ zl868P5~twCSb92UEC*zfZ97s|dBIPGQ>3s+-Xjxzm625sI@dULdVv_G35aX4iXV3F zaO%*koFh%lD26xk(znDYS(N!byXx(}-M>9UpF@4)kc>)i<3iss@8X@#=}8N_7?|3P zkwiN&N7=~oiXX#nNvQ^tmeG%`fZ-1k?W3nDxBC&uBD)`Rq}!R#13Cpiv=A05a{0GK z?^-=aeghBNfOoI}`uUU2M|F^4Fk=}oul^8O2xmmhLe5A(NEjt7giG>|Um(8=B#8Q) zj=d?j+qu3?M}?lD9Ef{)7oT>BzTB`7ECI@pqk?#d?Y)VXc#u(Crx|<|BsfM)^cK@-0<9 z+k|({)2Yy{N|) z7MyB@$UuM{3P50bX1{uhA`pP|fKLKQBR%;m zm7louKNU&jmxTry2(W*b_9O)&08N<)AWxSmJ^6QOow($uA_@Gs#Y6@IgcX3miNQ|x zffyh?`Ijm`ami0XhyWLwTTEmiK&t`}II2N8lnY2t{)3wTh)e!KTwrf8k%0hF1t2g1 zs7bsAm_(7D{9BcuxVFQIrBi}fZ!wX906om$S`uIo4a_|*(v!cFd|LLX1@|Wlz*|gY zAb?9omI^RbKPEl-X(8fL04l=k^AH4Bad52StjX1}i-a^C0SIUX@-{#3baAb*-mW#G z@7r-Wct8hhy*Z?(Ii|bsfy^6sirhkZAD@BGcq@W}4(JIzj=xfC}=0FsQ078&b~ znn>9XW!+Jy7l=urEq3Jb7r5}Sw~XpvOu1zg9IHdMs?Bu8PRqVy&ERc&5tGCcog``* zepeO#V@zQ@2w$eBDO~g&kVR&{gh`P3JfNZbCktVrBEBDE5~SzI9|SzC0N&UnXv&IfgRndC8B7?{YapPIR%iaan^eAC-mBD?=BuQ(?r%@4zE)-;TWgBptLlMU2s`NI!B;S8( z|CRHPS|uVA?P^*{VtV=)vZ4LXubmgucbLuV-LE-g^rP9wc3;Onwi<`~*w1CwMh^Ve z`CIZ`swifUA{|4NA<1k^KUlwb!+tM4(LNKnLm!HazG3wXzNY$VPt?=Y$o&n-A}{?O zfoVPu7~QZU=nPNf#y?)` zFH6r_tfxN~7y(UlwNBJs_!^sBK*Dn6B)ws;IMrVJJ5FE;0oj0Q zUjT#3xb^PD23ThU`ysCifCg+m)G0!tY3ew{^fbCUr<6vtu$P zvm@@;LB^(N?~VU;%Dun8gDrp}UA3|Nm33hBm$A4o2}@7YujaB7+4yI~1xUpRycUzi z@I)5;uUVcOeC(6F7QhyW=^gSV9Ix>`r)jZnig2?eM<8%4jN2^P8CS<<39kS1&5~7~ z`@StPDVvH~pS0z{Cu|vhTvL?xu4pUPXem!l?o)P7;dh`Ow^TEAk&xHd zD81$LUjD07Q6JC&cf_6g#WpMns<3Lr}tG7w;g z0uVT?78pW%_I;CW;Q?LbG%t z0|EAHS|Kn2hKd2wlYf`;6Sq|@xL?aS1?S1ws)_ZfclO5v3x^$gv*J}d#)Myq4NG`xsZ39E=n4KD zWRd(&Ff5tR1H+PGm9*>{9;_7J$x-m@q~vsMp;y@L%Sy*7C$i#GC&#Hnn}dvRwlQx@ z{{YZk0GcK5BgpIdhwV3}BzC*OF1^+^+aQ?oFU`FgT;_Xr%N^g_x@3x7y~JNDEb%mr8Yq zQUTIZHRh*MZBr^>TB`PfRH`jX1x!n|=}cePix&D$Opc2_B?Yi0U0CFMoFToLXNSA3 z2P-RO4-y&rAj0id%NPr=UXa@GD^8UNK!)l5ONE6dJZr&sC;2c$-q8VN12Q zDwXPXr2?jTab1rlmSilS*~3QUTLYZK+Eo`kE2}(n1y1r&2wnRDiTpjSZ<( z_bU}JEmeDCD%CfY3YeCvyD63G0i^<_rCK;FmFnwC1x!n|yg8L>yHWwuQmt%BrTT_a z0n<{g8=gvqU+eiA|&a~OO3E!u0Ksj037kCcz~$#cfGWpBY>e6OXO z6_&YWz1U4!g<(O9qcCn2_FP;Yt1w*u%vG3I`0cC;@8Wjf@X#^#EkMFy79-)w_BA!A z`+ZKDyCm_tTmF5c3hs(yg~99DNp7+TDk4t`Ccwsa>||&XM|VdD^5-`G^zT zV{xJe-=PSRL&9K3)xtTFg)DpQ>RMZO z?}=rh#<{6f+Nf)=%&6Lan2dzVdnH=H*>d;zKmOpX_#qybeX-&AkmJl`uxt<%pg zq_8<~;o-iwOYLS=qlBFNOEW4u-n^i1QB&d-@<-Jei!Qjp>-G7jn`gG`)P}Ta7?B`& z)<<6b5#k#?^Hnq-@0+Z2oN^*Ep65C$G;!Fd@e#T7@&76E6!^-i^52G|d_PQo*zB(^ zIodZyKbrm3`;Yd?{;Gzl-CvEYJl0p79=AEPdx`Io>FfTsaU=xh-%{=hJ!V6F-%eW| zd_+SZyF@}C9-+HMb)`;P2DzmSeiKT0BdPn6)Y=FQ$3NV-pFynAF6L7{69GST7K|U%#g~TF$WQZA!fwnPW^J*?O?VhK(Qp@OW zTMtI0G^snk^6ZE0y!Xo}y-yDd)RZX|bEo?qlY!)Z>I>e(O@Zx8j9SI3@4!S`d3t6t-MO8?1pr+DIZ9i;`K%_s>dOx6k`zneQ?0%;rFOvo=_w z4YIskwL^*4Cgw%=S^;*v5)+{H=$HUzYsN5npN0c9>ED|u_kX;NpE?_hj`_5|zfKx| zOk^>o_sk7}uBqA*^2BzzLTPE4n4MKCTmR`C`I&I<`=|LC`xO-*7*t24_BtxOkj-#i3zgeI`gKrk%8AHYdf)pyOPFOFV*%b$CYak z08^TLo6GJNU6%+ZOTg!P7cO-sPH_WP{1~jl#9%K`SZ&U|+`!Ho=G*MOIVw=<%k_D^ zTe9lqy_!?p+9WLHjbW`;EQ)%m!CKPn+gt(B@W-+sEs&P$OY?e90d~n0cUTg(V#Tm8 zR&2_9vB5sOB~H%M@^Tss*3={{<&9xoq*#>qT!VGV@HniZcU0$+BrN5PVXaau%GYDC z){lt8%J=&wPR>ihQN9??g^EMjPBu7OMiM8_=hX*%6WcT_WBydW7!JZyZ0!Qy&h}(a z>3+NnZERa++dISMT8vj|$!k3%yuh@)+s_hSytORPy+DD_k6m1Owy&sEPZPskfy-up zY3JF#yS$G4oQY%Io_pV#9Y13Qkq8oF0w#n8m~HsEFZ=FtVxi}4>X8@SC>6P4;+iJS zgn4g|G3_NnKo_M=|KXq8{MGt$EPw3?#_|`oBSxcD z5tFb+c=?ab+4^QlpnmU@!vp`pw#qekqO@&Q>T7C)zl*iiIxp6iykj;i-DvD>JRrW8nH{?qk3+ z@@F<85;rnJY4JN5@jDeU2HnYEojVo(Y-fYd{<|9o<`Iy?ofW@RB2y=KjNK}+4M_b7 zOJExqV6a;!1N9jFcLug%Oao&E>Sk-^%=iXntEF+^x&xED}S=eqU{IFR4{Q0FpL8qp|iM7zJYy(j$N zv50n8#v&S9M0Eyyp!b9yv2t4>u*0!O8nvm2jT(piO&iVAMp4>Ecl^ON+WN;>qx)~E zwr{+&k5tuZBh)bZuo}y1D$hV|>+KGBjlYzqnx5I(|`n5$0RUQHp7G|TW!D$V)Zu!UOPn*(H-FkibXNqhipr<5sWY4Bbnv- z@7vG#|KvGoZ{G6*eEOLjuj7OKeH!rAu8{!RFiW0a`}u0$=$zNn`U5!RqIY45Q<2q^ znU*%kO-n2Fnr8Ycj>a`dW*{I?I^%lxBeg@O+JWUcYKOB`${(p4P{JVmHDfeAl zF7@s=5xMm?DNT^3_pFDVX2~8-`c}hehDn%gxZ-nYbH8HSfp++FH|?yFFwL0bd%(%_ zivEI$or(s7nj1aJ5`*YbktzC>ZJ0fm&-J}Fx!k_1JjSY|F;>-*Qn)`G1J)VczG|=g zFyGg5zpT(GjXve>up~%BVyEqU2e@T>>U)#(l1Q~Rwr({RovFZ;qtW`j!+qZvm=KI` z0|O`vg(a*WX_VMPA8Ivq>}MUsBsEl=hRl?D?HyB|mh8KdO6XQ`b~+TIhLj_oQD&y~^yPTBt3c9{-EsiNED zDKvA*-kUZc-rAd`H<=)K<4E5z-k)y{Y-np3Fu``gq@aQGk!sKtob#**@$A#r-!}Qf zIoaKp-?C|s2(hPeeCEuy&i{G#qlwpdixAz-kBxt}{M}_U9`}AQd4BzklfN;q=9#`{ z|N6|s)xVxGgzs{#R#reE-EC|M2-=_aFZJaj$!`AG)%A&dljQoc&f>C^#Eh z*aPyWr43?{Jz|j=5C+$iE%NyGw`Qz=@swxZ`}5a zyXmY6Q{TGW_pJZdkMB9|`YWIH3a@bvb9Epd*jPOns1Ghpe90oeGZnUPP?hgYeYZ_F zQP+G+ce}LgdC1nI!|l{3*dnD}M93Q%W|b-%cNDjxj`%F|7EY3V;5Wj)oW)5rJz9@y zX|<8xpvX*oOF!v|-Kq4Z4as>o_-c}&T_qvw0Q7JC_>8pLC?)9#y-&5ZO?Zz0T2GN= zht|m|DE2QS5t?-5qd{#GUj2=-$C?C9B(k!emT|HqO#8GT=EOne@}W)&2(Wqr;q=yyrIhKCZQ_ zq;UZu{;`mryz{Ik@|RnD@_L;_I!bFXBO80=zHzz{2Rj+R^Io0rjF>^ysH#bx0?uU0 zD50%rJ8J^_nx+l6;>LH5-uTusc(0Yly-P|=5+-iB&6i!8C}Ma!>JfQKlf2n2@ly0| zTemooH@5iXEnkTw1{#I{O2QPSG9s_F@+CvY3}T=o@=7b*^fvMia?@Mh#x>ZyJq8 z>Cvvpc(6wDHs0mys<~l`@zqnd4Bnwy-Krwnd)}pbnl29C9;Z=vMBb=YovcjMQzXM0 z`P)5WpCl8yTP%q|b0Uv?EtMn)IpA)C7CHOAR1#XvqDAVzE+heHXk3%HADauvdm^?WsLGZ0_mQa{qm{9&WZnwc8LIsu%vJ4AsiUfyqVP4%KqUvtV)3 z<$Vt-x}K+`7vv>=v6ys(-JyI2UT%HAB15U3BFP%9lXU=k9`+bwqcrKr7gRpmgtu`J z=t?CaE1_$0=B0BeZIqLwBlP}nT5W9;-lu@pQzY4?b+Qurg1m05Rbx_06i>W+Cn-)w<@1)!h2&7=z|&@WF_>w{zO}oj?hu%vrTvlelAk$DUxi} zI#~yxk4TW3bmU{)+9td`0v$?%CKOp&f7gG&eB^|pQ~5X;xmqVZ!@ve3&koFpNFSRK z?fZsCy#ghMTq*$RDZmcpCoqGBI7FZVNq)P4+NuBqZdKFm8zKlvPXT(AKPHIsGnSGq&=XPy0(5Gfz!ZR*BmZ16bO-l0Q>IOJU~q}A5f5F0Z32&9m-E!o9pC600J`; z4iy8WCx1}+iA(;$1(5zv1_D$n0D*f{a%z%n0n(G7vk~Hwe^3`n`)On#02?4M0jLSD z!-QB^aN5Jkc66AX29b`@zbj$Tl)V7yRX&+;EqF~97H8NQo2zAbv(|5s(#*5%!a`4T zMj71%GEctk(&**C>+AB)`NV1Q*8Z1ow732B)FlSMFtau&k*9t$^t8|dM^^k6s|zC& z-p-ZlBt7-)s;V?WrS?!!H+zw}}*H3(xN z*kogYF~MHMSYmA1;Pm$FmrzhK!dgaeu%>atG1Hi*!u2#m!CZDCXa8|%+gPN?h(C!_ zT}6Mxeg|8A=%_l$x8X*e&8tcbU;5bkRHDiHcE$lbEd6J!8C_j7Y8hN_6$oD&Q@}hd zt*5DgxhxM$|9NNyEK=l=|20cI18<&T4?r1iS$pf=^ED;=_#W{mjzU!%K0Y8$XB|Gq zb^Kwv?wSSAKt22VLF%qGPlXUOU|@T;{LL2--Kb3Gvj>{*P=vj}bdR zHGPov@akwn-90z49$ubUcb6pA!}AmC?yQ8m+?xL2KN1`GQ(`^*W@6oaHL)K4QDWWw zUSd7GI)|I8>+VB|_3-w@y1ON=9ui-MZ;Cqs z-(Hni53hb9(L(1Y*2Bva>+X`odU$?f-JLa17yU(mCkIZL;Cd*r9^RfS@K9nsygjk*Zb__%Z%VAY zS0&cNlN0Oi7+XjCR)EGNg7Ui7pdB#6&VtjjO!C0cNashjrI1xW<6 z66@i~iFLky5}Ph?A?vtR5?>#gRF|r`j#BQl=P&b5$R8!226&J~r-tm0fEprmEo^>) zbD(a2SaP7wpAyFz6H?|D(!lkg`SH7fy8ZpRfx7+iw^&^gqxl84*oidzduIc6{@y9h z7~%CNM_K2OYqHLt$!0ycV_+Hxe*Wa2y&iPZ_*;8q;LqK$&fl72oxk@MtN#=~Wp2kL z*Nj29qQb_8AUh_N*|!u95SU*p_5R}cN+La<_|8e5*hR60Cu1V#FPuDc8Nvyko!ff( z|ByY=$ILBjcZDsZSL>+%cNrb+4Ax9r^fX6(_bQM@p87}Xs2}{)K67M|BA4{bbhXBw zB6k?zBBnu!?G;CMI)2$%O(eCdi$(@D^4~tcyobh$`mUJ+MdXpjt9?n6AhVT;DYH(7 zxQf}Q6J6TFE>64^nf__DtL%vHY8m}l)p%dZI78@Zs^WeGGW&(7KWE7+RWEe?@}nV% zN(4VtEW>QS4<*FcCDVmJuyhtQBJb*#ZRA9#D8zw>4WxNZf8@uQ0+7ZFH9TQ+{ZJ$c#14iD_eNQ+am4EC9Wi zYvrZ2?^O9^@sO#D2bS-tDhH&r7B;U2(9^VV5SN{Z+=Y?VgXQ2QisBlU$c$S59nN98 ztNp%Q6g#DbwN6@`!`~Wxg^#V-Ek5ka+Vft0y}u$EYNyx!k@W|CBfPX42Gl&WV4sp8L*7R{`Y3hnw=yC!ID@HdrcbCh_-j2Vr1O5pF_ z(nkLTduw20qyM{YO1JN8Hu!gF8NJ8WgY~)&s+AHhO8hCpR%Pc-?ZJD6&E6vTxXE8o zhpGt3%TcXcHv8)eJV%SXTSv3Oq-cPNlJM_;H047*|OwtNm>S zo+AwHV&S|Q%>tt)A_+ZdS-qE!^p~6Oq|lVyo>-%Nq_@q=4v&h#^YAL}os*vY!6X+Y zYDjJqeEL&g%0PfhtrM8KQV>E=0Me6x|8|WD#UVch8Q|CVFp_})yA*)H`xI#F5EdXk z`NPUjT=J(_kndq60|AyQ0D%cWO$IcuE+9SmTa}-joxAz#_k^marCe8P#}o z{j}QC?To_JGW@Ph;_jbfY2UtCF)_DC-$6YhudTn=skfDZ$8QaqTny$q2JxP4K5G}mm0t)1Y%XtDX2x*fJx&%=e-4r4uWJ51EX zuSJQv_E~kQ+o|V@c3-P^pd=^X+xfmznD}3=cVI!byg+fQlRjOI#lS!?;Ew^qfQqWo zXha(@c$59K+MvxRu9nf?TY=o)#EfTVo_d;Ib$b1*5Hm2tIxqvn&z{MquspI|I0=tz zPxt>YeV3V#JvBonWcH)^;&Wi8U%vRP*3swl_RjY6i_davf3jB-^sjHztkQayHR!=R zZMpS!HL&_BT!BH{Jg97c97*{&lJ%e-yTPAdZ|b5WuXif_R#Rg5uBl6caJ6n(?QbLT z9AWm|ZN;*17`|)j^b|>UXx*~fpGM+2(yUP$3y0x51tzE@mKCG7yqqtosYGQsuKvc#jMM z-Kr#H9e_@hnskIFoo&LaKgwSd(tzS964g3MtqWu{Q1A0RXA-0*|5oK^pj!XPM0N=N z5E%&2qW}c9&XYI0sppafAU*jzm7loeryxoE@^U_9Ab_iN0y8v*(tz~j-*<=h0mUKz z;1-nKATkhOhXN3o0MsN&gEZ2Ue~t1Jm$7R5Ho5ImrWLzUWFSCL0SHWhpeQ9 zaT%seG86$ZWM9sw3>JjXF~&I)|ys>WJyAyxA(CJ2Wg`RmpxH)6KrT(VnJmL0mQyTA8Zb z%D_~eqPqqwBEP^SPb{Jt{plq;qqRT1G{ls4Q__@{^~5Rdz+N}MeyLMh`RS!Ax~wrc zU5!@RIs<^6zET~}0J2@ldtjNrtL8@g?C96De8t)z{G*s@%qm7t(=^e&#xx5~O?A8b zQ$;W=k^IwAr;x#)SQ3MhFomp)EI%W4)6WPakz}A_^iQ4j8QZF+g~*h%;T33x=SU|+ zHofNejlxTwH(o7^fOkuBGQCl~{zH?j=&BXN8fw;B@;(sFVC;^zTX}c)N{EGhx@6Ka z`l4Fl2U6PZV`lw&ns#)fAdAe~oNCA53u+|863MtVwflqt4!c;CJ-4NjFib64dIHD{r&)Xt{MEYi){rO08PF0pjg=DTS}fMrtiys-q}BDmsXW z=tuF0s1*GXZz;8?qw>TQwIZePuj`qaGl!?&^V7yXXYaM%wf5R;uf5JbH>pyRq#QFV zZ{up6(ku`fhBL1N%+vr(LXMSH4SaI6z{2Zyxc1jTrP3*Mh48Tm)4U~L!?c)@S@GPk zZ?)DbjGCO`%vyk1By38e8Y!zDTU`qL8^I|-6h6&vrpd9=YY*9`S}Qp^94ftkb8?*k zxKeUg;bcO(t`K^jru3@7!4*7+3alnnMS}c7pSd~N695HP097Oip!BN1O5s;U*vQB3 z0MotC&%HT0Api=j6GkneHc%&2dR3r8 z_*D_*S4#x>EACpvUaJ5~puh^CJ<)bONzh=axuPS%Q|Ywl>I3Q%zE7FugS#|U&XFZU z%i(nDY2w9Io0w$RTPqbo)l?)8PZdZB-1Uw{nzcXL zzeI1zL!_VDFE#KUi5A>XIZ=qniGq~gQ0eUuzju_yNww^QPnsCgG?%WpCw$~thP|w(1M8;7u)EpQRmI|CDX7Avb)>qJi)2u zGI1jJGg0eXhE5NqTD$L_K$h9PE8jBSAVDCO)QY$AlMiPglL*S>-T5RWA9})Qspy`3 z5*-3YOKpA!NG$Aye@-y{#AD=hYB!xzY8Uk(o-^i1sa0;q*w&!Rt0W?@&m%Mg z8~>|PQ@UEm&hrp5ljn7oTA$h%u7z7}OnWzL2>(o#mRXSJi7hhsUmQvu=w($%o>$t( zdK6OZlhSueX7xKR9Vu5X<72O<nrT8qP|%^iR=*%joscjqe*30xwbm)jLFoa*;R{UrRY{eScyi3F`2Nzq)mo=C zD}{#P@CBxMFl|D@toZ)Y^4c13d#zWfCZS_U(@<&kTO?IVqLW2g_4p*~EdQBAOzIrr z)75CtfAcUYy&8jUsI{4dKA15BTl)TNiR2^ClYj%7lnR|Pf*zbc~q+L2%fh(0^1 za|J+w-JH3i?3poCdR1VW@T($fxnm6h(&r>~bpoKkZ8C=GWB7p5s{#ilR;VJ%e=G%n zJ~yfJ1VDkCL;6l&kdC8BY3QJu;IU*OC_E?Qd_|FrNgLyIy> z9Moo@^T}t5FoYpt_$3_I?5wkTnUXGrBZnRz01yTrV1@vYT+|l7^x)!KO?#Uvt8j!l zvEC}H6e^!KAq#P7zzT$MnS;YLqUKL`ApM< z3Bi~NzNF)tvXel7wE46@6k5b!TKJxhYib%m!Yl_Q{GtIQ2$j!uzHlKLbHVp@Tr=!D z!1Z6nz;)GkfJ>-+uBpO>Xv_uQ+i^|nFyOi_23)re11_QRxqcvAh{jy-{Tc4;U0#KjaIixq4K%T6)r?$ zF8DT&YZi|HuIEdk3$KiTE(n#+HAT1(jk(}kJ+4_c61ZOL23+rq1TLZSxxOb{h{jy- zo>ln3;VITTmD1+ZP8M3k$f6xK3TUOxr~R(bB1RT%YZK5)n@@X=&>}__?UYlkyU@dn z%)4o;e0giRsTgf_uM}#Zdy;S?Y8LmL(ZJnx5cK=R)1co%<#SCGE=0@XntvL~91L8i zjsY&A^103yE=0@XT0920PC5a&&K?U~LgjNMgbUHKxR#9tuCaB%bwM+536;-vmT)0j z7T4-#)DW$bY;$VN&M8h;^NSYX7kZx`qZfV#%W`7Be$$w$|q#(6roVBqsx7EYw3X~je&5F~ltpN%ZN;na7 zZ(ZSZ(|Njep{X%&FBmO4e9=$8X)~-@S2JDR5)pU8)T#;8fb7U?&zPMSg zLP+VAiRrpw*YS-phR*1vTGtl`o9X4W+swRqh3{8$MP|=Jd&799<1A}QD*a!DeIhmq z;&0jbC-;{va^x&tzbM)r0PwFY>+HS^?5D?gc8~3tYvbaSds`bE(`{|k2(9oqNA5dd zgRg*H1kbs#As7xA{y*OV>+|Ql^A+%hZHn)41= z6u__k!<2yT;S^_3=Wy}F5Ui$7qe&y>Zr!0FH>{q^ zy9jM>e6xG9wHX+3@Cpi$ z@gLpe4=isTO#WCUv?|PTL?;#s7r>U7oeSX8&voZokjs>I*;%b5%94mO3yU=q&I1P^`Xtb5F~1F;bePI)GaSq;i6unHnOq2WnKeEsASQ#J;^ z^u2znHP9UB9DjmNplenM z`%6zQ87E3%8BmIv3^>j&%@@D1rkZ)zLeh2BQdsT;RE6kRlW+y$?^c=C-&zBGrz$6> zS`%3vbuOp9tny{nPz!&hCM?6PEE#mUX%)WKV--HUWtSC6b^bW=V8je{BR?)15AVM0 z1G7Z#L;k-e(zEb8X2IRo)Uq1ZWH}U0Exd}7R#SU%>ckWHtiz_~=1{{SrgfDyy+qd3 zN&8TRhgMm;N=p;f{0_^uN-WLJGz{OpMRs4a29p64=?pR@k6ivH+s0BhYs5d@SBVw4^}(BW4G-O z_1XWtFWEGkt&45``TFKOrC^c_kEXk!Ma(5ztf7k-3w6rI(}%eAS!_oh8rSFT^|^d! z4L_~!Tr8!$0zsea*N4OPsdjy|TA$%|7Rl4(t~?~JuQ~{Oq>#IlpK?U!kCHLdbrc9*uXtzQjSF%h%`e(HrIfflihe;Wv(gK5w5S8?r}1 zb%DNY!Z|>r(D9-*-sYd+pwn#+$#Y$Fc$6yPB{a`j^%p6gdWXu|as^lAYP{O2awqYaH)Z5{`!l_s z^9uBuj~BiY-s?oB*MkWqTe_g5bQkI!ii+lvS7CG$JMu=iA@&1Miy9ymdd>Q|jnNYZ z`@`r&v-1(F%x=qHzZy*08=!?8GxvQ5UeL7fuhzMe3XI;Haex74 z(_X7qmk>ItvAt3m(E;Y1zhzoa#w=ra)bZ_5A59}APvR(X$?v3J4`(?a`lGt)L#s({ z!P{ygY3n%C`Jt6KrGmx>ZqYxBSH`y2?x%%SkDDfNeQs$k`MXtXC;C7}!J8F(8zPQb z_jjwTtJ{}T5h~G^rww+uJw>w#QkBWX+KyuqE-76r*1EWP(X#rP{U2MG7ps|;^H?nY#G2cSUonJMY6Zb; zadYGot8ykUmQX4G@BwiMv1fAkR!XUcPy}s%QS7XA0-{gtt$Q}o-+Ym_y4JTsixMf5 z5-S+*Aei>Mi)&41+Ug-bHO2h$7RbPxKDAcG(Jx`HkSEhV|K59xqUOk_);Sk))AwY) z5ed#K`KS9W*ntYD({`m-I+t7=Mq56SbNYD&1;gOYPMl$xwVzpU+WRQ#t)38>p4$7l z)!mVbwF8Q#!+odv?kLXNX7`OY+7wgF z(*BmT?~;;UQI%1~C0x_q#STeLhes0}8rF8Phu9?9thMtfDc&;S=5~9ig_6wLYwQ^o z4QNib3lWJam+n={$;Ekyocnd9a8+FlvZ;5bIv!5xF=fL(g{;0Fgkxnek4ZA+k&l#e zb7?rF%Y;iyK{%PvEG-M8Y_yq>v?Lp&EyIN;MEH>C5Sw1$WoGxV-?Vq4z2K&dqV-YJ zd3P5p)zQa(D#F$1B{QsCCo!+@^_{P}Z_(*d&Opu5Dgb*!!L~%r+>45CPCYir9u(nf zv#1YI)S5>FYQL}!N?WRh`piWecI+dH%4>}XN+It2jp|L#DzyF%@O*X5m!8+LndY zYZhWr4Pz}^Sd@oF_VTenF?z$ASvv>7wj!9}Nc3a0J6C|+X9QFtGcgKS{q!imm(8?a z3@9&=N)U*ij+&N)bGJ!UMoLm;m)ns@@6Fhji2@$cva<#HOa^2L6q1P3l>Qn*(u)j| zXy(!#!=*QxOXpN+A0_Q0rM*$whjXbh8e=%6tAuOXugaTm6lk(0CJDw!6B@gmteHuw znT6MdQ>IHO(omEmqs^40C|S`gy*V5+k)jcFD zyM6RB+Kp4(bqd48TOmyYajdST0OS>cOQE9iNy^zbG4|;@a8Y0oq_@0i@ zfRS-YvRPXdonc{Z(6}Cxk`s_}X5sP2AWbqUxdG{K?u~}acbSshfO^QQM!tN=?lPK^ z4NP+^95ca`q$pX*l$PXCl4mg?sYzxu?OpQ-c>{teNlh}efqWm*m=H6iu@WwRTo@f{ zQ50O;E&8S%!O@ZPsn+A7;5EH%SxjW*MDELOUXfnjtIVFVD*yr}yeVFI$r514Z4jS9K6E*#Qf!r3<~ z;q3Zw!n8w9KrToo=3ESG^QIM(F2vM@UhiufhJwR%pj~quW@E0yxI`fN|)s? z#A#-a0)N@hSuyqBG>^|C zQG+@FPqD9OeVGYmUP_ zo9i$RQJ}-juyXx{*Sjo-Ax_i&eQ=ofc);Cvxb)uU(%H>r;w@?4CG9(<{S9eeI1N`8QK!N`$h$kz*%lJd7O zN|z}q#@tSeQp3-pZ#u8?*p#KNuPkbbq^5K)DuvDTIYp&r@4TWO{Ht|~6-{+4EgEK- z#ls_3YV*7(Z0iuGq&Rj+ii34>DnM@_H?!x1i@t*L#6>%Qjf>!hTo?6-LKeXQE-iwL zOQ{pFnx)r(k9ypX#5OM7tz3F9ap}A$?akPAxco7OOK&un&Z%4mebgabGkam!I5paA zQ}PlLES?u;{{+*v$91F@j>JirJEr7%Ot`kI625*zm~hyCWJ1c@sC(w#o5Cs6HaQ;Y zNe1Ah2y255a8vZ5)yJ)F{IN>Y^U%n4q;_(oeOaUr|{N6fU} z0Zuat2Zxh)v)~TLO&z{73j1zUjTt;l_FPY))i28d=~B5VT?tqt6-)OOhpt8}s%9)F z7mFjK4+bZr^n!fT`~aXeDjIBg?rkWvQm;RXbAzfG&9g%02G;3mGIjHkwE#Apz_Rwa zD*h2U&U}$@{@FW~J4qZOl}Qp1K$C<8&?F&NbMLb-Nrs^SaQ+4^y`fw>L%2+wDD5Xm z`ygo_DDAae1}8~^aLpx~!iPV>gGw$%l1=mGJWBF>CM1s{)i~(p`w95II0~-Qq`hf> zF%Of2E?3eWwf_@N=`khgNfzMc7i)vFB*~b8{5j0fd!snuIP({p27VM(Qys`2v}OJu!?l$)uz!S&MgY!bn{vC0)s& z9ES5r8*Qc}RmtS+i}{q0SPN-FS1WLz)67Q)qATsLI9RgOvkyI;>q7~mkQ5^KstI4A zz&hC_Ay(WasWpfH9ld^5Ts)&#Jj3BK5#`dQ^KQ7It5Dh_(td=$#Ni&!e31jaNl(FD z!sR*0a3zemgOT2|EGCN}r1kY`Gmx1>B!$>_QrI9Ctus?;7CYh9UC7ZE7g^{{~dKKi- zXiavfe9A^!FmbDZ2DQV+`f)QNL9%1HoEBd2-2stsjUF`603~4j0fZNdG z$8N({6zN+tcv*aeS=AR{z9j|p+W53+s;i3S^!$f-^D2@F& zY(O2RB!8w3us=t_{2437pQ(?gV|1Q$nj{`mmTrcaL*h4&2`5Z4A#FJ@A?|L633r*2 z^dv)?*{xxijW!d~mIFbOFNZ-Ugc4Wj+tq2_v_C>FjEdkdPv!cHM{SbT1;&RQo5zP7 zhFHz)?}EeZLqxnAgG+ZWmtH%U&Ii)|p0vLs?Qcu_ZZ3lk;}EWyJsDIK{JffV@iszWHJt#VWdeWr40xIrL*ubN|z~V|AEEh4$sd& z>XV;hVkPWU;B}1a)qPGe&X0=zV84Z|7z@`&Q?oBBN=3K^BVxIsix~m$p=;l4cn*v7 z2`vLrY@``Ax9DDb7b&ARNOVL~uOF~#BT<*@={^ZB5)v`64y;XA?1!k9BhAmR0L-1L z<(6n_`?W=D;7$;dLR!+D1OY_yaYke<={sJmrCAJ!Z)CKD8=D|_@4p3uH&;{e&P61D z%T}>GqvFfA1K?{}D%SrFRiv6ML*@c<+|E`poC;+ z`l3Z}p9oRVh>&tGz;V{e4&5h$b#k(LG5sXKn>PU9HawOTZ{G_=aGLOBZb(ZIg@m*K zIH}9v6w-(lQ@o*YidOXNSz8et7Q&afbYA2#afEMmb`Nvu9g^G6zm;2{zmfK@xeUfN zmvH$S*H1$xo`;oi+ZXP?phVfzxhRA*ft8ZdlXkqB`J)h07b^i3lO@!Plm9SEk16TG zN`~^sA($Rk0w&(mMn>SU7e<<9Qo6E2ptM^Z)~7W0iLR}%c#KeULc}MrQWk8oHH*J6 zgfxwnU?^M*>En5vkwyP6_|TUqMSSSO_tA%*$n_zQDAX}Z1@s9e4Ozh244{gBTX_XtuUk> zUZS00g^{M2lu{l7rL-e#q!T>Sl=BcJtwmvj;_{$y&O@Z+6h8|aKdgkF;Dwfq_^@Rw z!OIq1Xdz0veKM>|4tI&pG|1SzyoY(3!=6TKA$@C+-RI_ifct!iQZxh|ME6;j>plsh z;4D1XdpMeBxesyTU8)mI>v8a0p$q!M|y%7OQN|Tt9a-R(0PjW|*2(eC5pN#APA*54{HWPB@ zLzLtg`INA!!K9S=WP}HXn}qXdQ{qE}ly`+edJIW!Nj7A^2qSfvloTa1^FBpbR8MeJ zrwBBO!aA*D(NgD+_D)m?UFhj(>PNjDxTEO*lnMdrH7?y(x%6J)(($Byo3wA0 z_LrpnMK1FK6yfsn5*FV*j_-8E2oc!2VUfg*;+^Ze9AfC=cl3+@bghzx+A&t8o6|aOZzZsZ;5a2fP3mvGq-VS&u$Kt|>z(M%c`UWz3yk1u%wX~+IGE5y7B ztb{chpVpubuz%%;vf=0Gc zSShNKE!h>@LP#B~6t5+7v#r8Zb+dvgJ*UjU^y90*zmCI^l3+UVdJLvi!@)G*P83Yp zoj90I$~bHJO#oJ|U=U2_MTBd4fSg=Fwr94ow`UMf@c=PS zh`iSQ_6>|pkLAWDmnbAQJqOf5+hQHZCYxA!v0Lz_Giz2cHo-G^4ws22moDue;6*5D zk4XCwes0`7%%yiI^J*guLwYgFBV0a3$Pe3%c2?9T$vmq9vzj9iPiqP*q#T0=@^m0= zv^h_wsKVPHl*&yAnbjUv%Ju{GkU{h1H`*+oq6*o7qgq(3OmeKGeG;?^Q|4nr{1Z^T zs+6Ie5Ta-jD|MfQNa^f3EUG6ss`IXE#)Y2Q2QKt2vSRpI7fr?XJI}#YBLahnF~bUY z3{4*P7!E%pGhiQo0bt({t4^NIsQIch($Bn6U;JmYu@R+0o~h!(+~KqQz5ZeTf3V+YfM==;YGv z;L_VK?Vn5gr_%n3w1329aKZHmm)D!H^)Aip9bI%n1opOZdE?z^W1TEaq#IM_uQrV~ zFE-@tq&-WYorei0x>yNs6~JpwB%Ss(!t``lPuhUVP=-01!_G#tl8nR?I840D;%Nhh zK*@u{C=*Oc8!$vkr#NA`Mw)XCO66)YPPF2<;y>E^h?U)wciO9qVW*v|`EtNU2xh?; ziFJB8fL>R_%f+@@fc!8E^2heiqp2bF#g9g$ns%V!d8IRKH-JksiE()*#WSk@^CZCC zi@1_?es3iD`=bGWCkl@2iClD=ObkvZ@4^|9bWRyjXqow*-H*@U=bTzRa#lM^hKcY2 zmx=edbl>69dt2IfOZ!{WzDwG7a+x;~2$xf|U*)c*lo8Xw#5GCyq1?CrJKs>)FSs@#7-vfGb-?J1YGjg_aX^5gptdto>mS)tj zY3uN`r5xm9?i6~^;LE^+HsY}ayG2)FuuJB8kVh2kL2kf;i0vVM6)Tw#yrVm zPBDPAXji1xL7H=lD*lkVHWV%0=!>?L&GcbLrcM#9>HUArlWVEGd-N^ zObMcpl{43wXywfECF1001fTn>F`fJ2P0(elV3mBB9m4w)m(GJ+Chq6bT`leRO8XzA z{rA#-H0?rg4I&F%3Ow$E0Cil3*_(H>D2nG!7$mn3UX< z`pAP6Hl7}jC+I3sjAB#1lQi1wBcQ2q@+CX896vvMg1i&KX$pWz~p2FCNcqcDa_}S?DOQEWF?+S`RgH^ z`tX8CGl>kzz7(c_%L3RqLAvdrgVD=gW_vP@|_vpzsTN9x0etlg}VHVpwZ@pfE<(z z&2Art=`be6rExfh5|{RYD}9MVG%kIPuJmB8D|tjA2~)t8C}GNSC1Pb)YWo6G?gI#p z_n2_$c5vzK=hFFH+CP={Po(`LY2U|X(19Gn<+&TSv?Y0Iqu@@W`E)5Th7^x@2+4?~ z9IruP^U>q^NE;le7E^{rLyw~&ZE$2L!xZ(h6eSz5qJfhGQk2gPXn%t+X%PyGMhT8a zw7)@=6k@{`;50A56pYBy>_K7v>&Q&QU^LSApt~N5!L|ho(O6Uz0|$B_*MSm5AxToM z15uKc33Nn-zvgH2Yhab&_ly+HpW(Jc@z%PopU74{kURA&pHKWSSw#F{y)$8CWR^lNUfG4d(lIWs0DJ;~5KEyB9wahKrDvbEi( zoC5<2BcgAD{TII?a9~yJ){%6_G(3d20Cm(+<4yk>I9wp@hoB9c6MTpDz1J7@HHWKW z#Zv?A6>_Y6UmdutMgI^TFDBGLsdS2)Udk^375wSdv3^sfN=Y`zv9iAR&IK*{2Z%nj z(kY)Sd@RCj4}qR0B+9zwg_aim%Z64ug{~7m7GXvopRe`7-*Cs2_2GvGx9DFsw9+ZG zCwwfzJc`g#r6eomSXqB_M@ftRWkV~S^0f&ci!gm_@}ZlAL|M}xf84Bp+0aU-(2nr2 z2yS%THN<~9`;<x7R*n2jOO2X7NU7Se*F3tR5EJ>Ifw=g#JA zXr)tVPxx4bsUHAZOO=wWlw)N@=-qGqp!ud7tsH2jQ@%FgV-aRm2y~N>DC;B1x|Tx+ z503rkSC{8NE1g0+!p9;^Y+$V4K&euaJ-3P~+qQ1a_3MC2b#lxi%*GJtgExv_3+ZjQ7K3-J8+)tk8K6|sC-S@V6XSEJTB z22nay$q_ylVPZq_wcc}s__dJYa>#$=))~JRI)zTkF^e!)BXoddfgGy{ggt!dP&5AJ z_;r9UA;&Djd=>&-AtWlo*BG2I8(Qg9>+}-wYvMQ4hr*gARZ6l!j+K?5dCk%$C3S_A zQO$Nhn;JlyCdbNp-|CvN_{YZ0gbk%r=sMwJ5oYvB`OpWi7grY2&p-V|%eUYB+8;fQ zNJ^*Bp75~<^C&_~m6EKKV`W|QXno5oFQ3(db3EI;N~e5n!p9;^--dkXCLvMQ1D%~? zKTD^ZkN*3*9B8FeXh-;1gt;vQde35UWg&fj)0k$QgdO|$=lGk_DRff!ScEx*&{Cx& zdlvDjpR#_qcg|S+yX($gxzIwVd`UTG5oYdp06IXjK%uqVeSXU)AN{OlZ~N>VgD9Os zCls1W^KJ-qg^(!gyLrx$W>S%jH5478RiCD|ay%1Zux^hk37 z{=q+WKBZGWSNK?j*%$&nO-PjW*$qw2f4Ju!`pbq^I)$ziJ{Do>PtMo+;C0+FWj)Y2 zABJ&nUWisYh4zGxMVM6xEmcagQjV1sv~Gb6y5*a%ugI~r(kWk?@UaLJ8=eo{BqYj; z{`~Tv&uoFIlVfY8Q)ox{ScJJc1bWZ4Y!GF|Gr@a)-!JcsMd=heDSRx#e1_0cr6ddF z*k^@PiU;n$znRVfvOGlTlrJHCEW%80%!jTJ5@p526ukuENKTrkbPAomM*N!i&31&A zDka$<$I6=i_@b7tzx-9p%{SRO!>Dx1=L#Q-Fr!E0Lr)VDWra+=rTzVxklAd>(OT&g zx=#35gn1O82S}BY9K2fmTI!$Ou%X#39un(Stu0FF2_=J?z9Ruls+44<94qUe9vmoO z+M<+gLdl@!HUOI%0Be$CWyRU{`i^rTE(bD~0G}hrEW#WD=;H$lv1}S8Pse9u+{(=GUGpGBIZ>5~k6mz@Q(G?!pDAmo}lg*ZU3!6>N1w|!`v~jX*gQn@CgAeb2j~15( z{9cN-D?Nb%uj1(EX_a2vm0pnrr*8p&IAZQr zxbSC}6_{UkD;ifyG~)4Q*qX>yQMU%+%+iUm zx$x2YnfTPJlS+<_?Te&_PK_;#l=^b$>%Jt%{PDEdx#s=xu}b>ReFlub_={lk;{4Sf z?+z$Y=4qvld?T%b%G9c{vD>;txze;xj`fXlgE=xeRw3Wj`KkFwC%pe|@wiy}y9xQu zkJB)BjqR6J-|J#5L*MICT)+SHaVG5lQZwy` zu``yp!tGKSGmZ>5Fn4AX2G7=Iav_=d1D%huI}w@J}Sw4UDJPn z@47*M4q|DZc-HE<;vbP7rlS&G)H&=qE5^UJ+yL+YSh^%qhX1KawNHv2DvUBK8=2VQ zr6QAK<;5x`W9Aam`n}lu%?HomZz~0Dt@S}$CwGXguR~j#E8nn2N4bve%6x2B#qjM) z{>)|>buO5tt|XpomR!q%&8z=&uMZTOP3Om)V*O@x3x6Z^@cA%j7k7=1Sl(JT$P

Y6*@v!nqX!&m8;rFUIw3t;^Wk#vtzZzT~*N| z030#*-4pp~Idu;Xk^T<&iZ&mo&TEUUj#;Rznf-KZZq!A?M9k|?$9__-#zK~g-XMb7 zQtiKr4ef2A9aE*Z#%fEW+6^}$v_1L zuubcO197A^fX^7R$x}<;jGb>4yA%Wq3S_)0_rPTH zYT`}HTYFWxGFFM(cyc-8`185WgD_@1$(#gNxo1GhW8|vI17lR7^}#Vp-jF>;^WQ(# zBulk^10xh=txW8%Fn?55W;DuGBkXOW3-p#WOg;M7*z_(@*1^R79-G&T6-TlPAfpaM zQn&p*HnfXx_=|1qsm>bdJ#y?tGg4dX>PY-c%ci!}s{OI^xg+DCRhQo5ef_Et)po|Omj;Dm!QHRB$13q2`9E& zhBr3e(9(9%$IY+p*fDn1-B+38+hZS{s2xLk1i&vjVu_~1fT&%_4ErMOD3Wv{iFAA% z{Kl`UANS7M=A9q|ezyL5Q;$g%@VUehjlXKqx{uGs|A9t3&Kb*fi<_4|Fl^eNV6J57 z;F|UH>!$+-)otIgN8gVqober_FUuv8orto4Y={|1my+u_v1tJ|$?4Tis}6R9)q9qHJzn#ySFgh49M7fW;C&G@#jh|6O8$&44m+sY1(JR zU+yi{Hz@};N6dk;_+!?J6U8iLr^cwXT9Q2Rn8Nw=Sta@RbnqjnvUMk3n5cw z93nT{%e5D`)x{^teby)UkDrd)A}hHot;6HdINpF=P_PtjV18K=?`d{a#EYv$rh@wF zkuYDtdSjlUJdwcug?m5EpHvTqJR9({$4qM8Cng6 zSS#T`>rXaMTvv30S+*oniXZ##Y5v_m{-a_&-4)b3Yhh=gvrnWf(z*QPQGh$b%p4Fe z?sXA&MX{&h+(HMa#i!|`=BobjesI3eV@eZD7_ujr_f({Od24m<9J^3FY8V^BOW`vG zpfr{yWRCR`2K8D884Y~}x@2(tzRI5n-U!BXhG&)Ru}22SU+yJj>RiqoU}Kc8PKf_E zJJ!|5#V1+lJ;*l+opu>_aPcX=Th$MX52!?D(Afu@EjpkO4m>j(;xSWQA9oq~(fasA zI~fLDGt7scI2@n_%7>mQ(4_CU^CLYCK*vqX(D*G3y?rP^y8-CdZC0_&gTjXRkV--E zQKt(kO7j)YSYe{w767D>w|9)ME15x1eAH=ziqaVM+F@#2vOppPbw!I0dfO@Sf&Cc6 z$2?y!Q5Iv~Gdu^gE(FumjPpSsZORAzfqZL9ZRBpzNn1sN|=jC{9!X@j)jDC<y8l&zlFSO0y&WisgD_*7leJp>) zhKM0A5GWtIS;8-h%z}b7yTgKtx|A&TwOs? z9^--s$IRLv=qg4_O41?8yn{ zt7!s~y6pnUaVsUQ&}_jMi&+GV-9J5kUrB@5upYI6)thu~M{PKIDvbQ$+!lxAL>{f4Ec42&HX|e9rOX|7)SCAYZ$jLhE*hqdy z|6|rE3|U!c(tL$;QqBNiCgo&QGJ~M_sC@+$r7>zS^K58#PMQMy0%sT&t&Ko$P zp{x@dB|qBKSgWSwE4E3~0r5d&0*b;IG?;gWppvs@X(}K-s3V{# zj6s8WX9y@etEh^3r=a+#Q9(s%j2g^4!%)dt8I|%*LGe*7K}Bhd8k%<=I+n*`gXEn8 zXiE4&sXg>P2f{s!dJ(zcf zp_BWv&XjiwijR7=prSNJ4dk6+pya*`N_nS%_@D~}6ooNpAny!-Qr<~;xp}AH__(@^ zqCCb8%{v3=ly`=p3!0+)sRT-8^kCi@0H(Y%A6QrUW8|HZTWHGQi^Wue#ZulmUu-xJ zwaMh2QmslmmtgaM%sV-O3FMu~nw==1By?XC!HWFnyi<5o9ltZAR#@KoErMs(7|J`b z4g}}roqqa7yRIYAK&YP>P|ZyGLVYmrbZC>`3||j<=Oc3EHY@MMs;scS6ze+u^%euxY_4JOmo%8{#jjzDg@`mwvrjI(#vax!%p<+qTB~? zNr6d}#T6EXA{M-$E-an-EXg+*LZuPQhz!ddc!gX*N delta 113861 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 M%d9Uh@Ac&W2h$Q>wEzGB diff --git a/Assets/Desert/Assets/Modules/Portal/Desert Portal Entrance.prefab b/Assets/Desert/Assets/Modules/Portal/Desert Portal Entrance.prefab index 4317eec..195e703 100644 --- a/Assets/Desert/Assets/Modules/Portal/Desert Portal Entrance.prefab +++ b/Assets/Desert/Assets/Modules/Portal/Desert Portal Entrance.prefab @@ -1,5 +1,65 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &2356004090473610063 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7774350221631063992} + - component: {fileID: 752629358185251236} + - component: {fileID: 8065077931921476553} + m_Layer: 7 + m_Name: Collider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7774350221631063992 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2356004090473610063} + m_LocalRotation: {x: 0, y: -0.7071068, z: 0.7071068, w: 0} + m_LocalPosition: {x: 0, y: 0, z: -0.2} + m_LocalScale: {x: -1, y: -1, z: -1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 8069972016317824103} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 180} +--- !u!64 &752629358185251236 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2356004090473610063} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 1 + m_CookingOptions: 30 + m_Mesh: {fileID: 713088202772470133, guid: a888d535ef5e563418cb8711b9de7c16, type: 3} +--- !u!114 &8065077931921476553 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2356004090473610063} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bcd51a92199746578f25ab67160cc13d, type: 3} + m_Name: + m_EditorClassIdentifier: + portal: {fileID: 1249363658} --- !u!1 &2892577287002708294 GameObject: m_ObjectHideFlags: 0 @@ -9,7 +69,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 2075043192862140148} - m_Layer: 0 + m_Layer: 7 m_Name: Portal Edge m_TagString: Untagged m_Icon: {fileID: 0} @@ -106,8 +166,8 @@ GameObject: - component: {fileID: 297632034835907229} - component: {fileID: 5559679283225865501} - component: {fileID: 6419237152131296747} - m_Layer: 0 - m_Name: Portal Surface + m_Layer: 7 + m_Name: Surface m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -120,14 +180,14 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6999744959693749346} - m_LocalRotation: {x: 0.000000030908623, y: 0.7071068, z: -0.7071067, w: -0.000000030908616} - m_LocalPosition: {x: -0, y: 0, z: -0.20000009} + m_LocalRotation: {x: 0, y: -0.7071068, z: 0.7071068, w: 0} + m_LocalPosition: {x: -0, y: 0, z: -0.2} m_LocalScale: {x: -1, y: -1, z: -1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 8069972016317824103} m_RootOrder: -1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 180} --- !u!33 &5559679283225865501 MeshFilter: m_ObjectHideFlags: 0 @@ -187,8 +247,8 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 8069972016317824103} - m_Layer: 0 - m_Name: Desert Portal Entrance + m_Layer: 7 + m_Name: Portal m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -206,6 +266,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: + - {fileID: 7774350221631063992} - {fileID: 2731753372031835923} - {fileID: 297632034835907229} - {fileID: 2075043192862140148} @@ -224,7 +285,7 @@ GameObject: - component: {fileID: 7791795762741173939} - component: {fileID: 5969531196797302096} - component: {fileID: 17691322601746172} - m_Layer: 0 + m_Layer: 7 m_Name: Camera m_TagString: Untagged m_Icon: {fileID: 0} @@ -380,8 +441,8 @@ GameObject: - component: {fileID: 2731753372031835923} - component: {fileID: 8717415820407753879} - component: {fileID: 4905517471767474057} - m_Layer: 0 - m_Name: Portal Frame + m_Layer: 7 + m_Name: Frame m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -394,14 +455,14 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 9139844951969793274} - m_LocalRotation: {x: 0.000000030908623, y: 0.7071068, z: -0.7071067, w: -0.000000030908616} - m_LocalPosition: {x: -0, y: 0, z: -0.20000009} + m_LocalRotation: {x: 0, y: -0.7071068, z: 0.7071068, w: 0} + m_LocalPosition: {x: -0, y: 0, z: -0.2} m_LocalScale: {x: -1, y: -1, z: -1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 8069972016317824103} m_RootOrder: -1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 180} --- !u!33 &8717415820407753879 MeshFilter: m_ObjectHideFlags: 0 diff --git a/Assets/Desert/Assets/Modules/Portal/Desert Portal Exit.prefab b/Assets/Desert/Assets/Modules/Portal/Desert Portal Exit.prefab index 2074681..be1dec5 100644 --- a/Assets/Desert/Assets/Modules/Portal/Desert Portal Exit.prefab +++ b/Assets/Desert/Assets/Modules/Portal/Desert Portal Exit.prefab @@ -1,5 +1,65 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &506243319273626502 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8079730491061412845} + - component: {fileID: 884126343611003350} + - component: {fileID: 974784683793812549} + m_Layer: 7 + m_Name: Collider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8079730491061412845 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 506243319273626502} + m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 534778217790596785} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0} +--- !u!64 &884126343611003350 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 506243319273626502} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 1 + m_CookingOptions: 30 + m_Mesh: {fileID: 1373837989805601541, guid: a888d535ef5e563418cb8711b9de7c16, type: 3} +--- !u!114 &974784683793812549 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 506243319273626502} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bcd51a92199746578f25ab67160cc13d, type: 3} + m_Name: + m_EditorClassIdentifier: + portal: {fileID: 1249363658} --- !u!1 &698537097821251252 GameObject: m_ObjectHideFlags: 0 @@ -11,8 +71,8 @@ GameObject: - component: {fileID: 7833101140158502987} - component: {fileID: 2716330164156348363} - component: {fileID: 3566871879873967933} - m_Layer: 0 - m_Name: Portal Surface + m_Layer: 7 + m_Name: Surface m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -25,14 +85,14 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 698537097821251252} - m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071067} + m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068} m_LocalPosition: {x: -0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 534778217790596785} m_RootOrder: -1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0} --- !u!33 &2716330164156348363 MeshFilter: m_ObjectHideFlags: 0 @@ -92,8 +152,8 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 534778217790596785} - m_Layer: 0 - m_Name: Desert Portal + m_Layer: 7 + m_Name: Portal m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -111,6 +171,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: + - {fileID: 8079730491061412845} - {fileID: 5583485013713733061} - {fileID: 7833101140158502987} - {fileID: 2075043192862140148} @@ -128,8 +189,8 @@ GameObject: - component: {fileID: 5583485013713733061} - component: {fileID: 1184410134851835457} - component: {fileID: 3208325555222820191} - m_Layer: 0 - m_Name: Portal Frame + m_Layer: 7 + m_Name: Frame m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -142,14 +203,14 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1604096967460232748} - m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071067} + m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068} m_LocalPosition: {x: -0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 534778217790596785} m_RootOrder: -1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0} --- !u!33 &1184410134851835457 MeshFilter: m_ObjectHideFlags: 0 @@ -209,7 +270,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 2075043192862140148} - m_Layer: 0 + m_Layer: 7 m_Name: Portal Edge m_TagString: Untagged m_Icon: {fileID: 0} @@ -242,7 +303,6 @@ GameObject: m_Component: - component: {fileID: 2246995198243242195} - component: {fileID: 1249363658} - - component: {fileID: 7604291350124895408} m_Layer: 7 m_Name: Desert Portal Exit m_TagString: Untagged @@ -282,19 +342,6 @@ MonoBehaviour: linkedPortal: {fileID: 0} portalCamera: {fileID: 17691322601746172} portalTransform: {fileID: 2075043192862140148} ---- !u!65 &7604291350124895408 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5635962022185625128} - m_Material: {fileID: 0} - m_IsTrigger: 1 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 2.05, z: 0.3} - m_Center: {x: 0.5, y: 1.025, z: 0.55} --- !u!1 &7398326895463990628 GameObject: m_ObjectHideFlags: 0 @@ -307,7 +354,7 @@ GameObject: - component: {fileID: 7791795762741173939} - component: {fileID: 5969531196797302096} - component: {fileID: 17691322601746172} - m_Layer: 0 + m_Layer: 7 m_Name: Camera m_TagString: Untagged m_Icon: {fileID: 0} diff --git a/Assets/Portal/Runtime/Portal.cs b/Assets/Portal/Runtime/Portal.cs index d93df1a..421a673 100644 --- a/Assets/Portal/Runtime/Portal.cs +++ b/Assets/Portal/Runtime/Portal.cs @@ -24,9 +24,8 @@ namespace EscapeRoomEngine.Portal.Runtime /// [BoxGroup("Internal")] public Transform portalTransform; - private bool Connected => linkedPortal != null; - - private readonly List _closePortalDrivers = new(); + internal bool Connected => linkedPortal != null; + internal readonly List closePortalDrivers = new(); private void Awake() { @@ -45,9 +44,9 @@ namespace EscapeRoomEngine.Portal.Runtime { if (Connected) { - for (var i = 0; i < _closePortalDrivers.Count; i++) + for (var i = 0; i < closePortalDrivers.Count; i++) { - var portalDriver = _closePortalDrivers[i]; + var portalDriver = closePortalDrivers[i]; if (portalDriver.entrySide < 0 && CalculateSide(portalDriver.transform) >= 0) // must have entered from the front and exited the back { StopTrackingDriver(portalDriver); @@ -59,44 +58,20 @@ namespace EscapeRoomEngine.Portal.Runtime } } - private void StartTrackingDriver(PortalDriver portalDriver, int entrySide) + internal void StartTrackingDriver(PortalDriver portalDriver, int entrySide) { - _closePortalDrivers.Add(portalDriver); + closePortalDrivers.Add(portalDriver); portalDriver.EnableClone(linkedPortal); portalDriver.entrySide = entrySide; } - private void StopTrackingDriver(PortalDriver portalDriver) + internal void StopTrackingDriver(PortalDriver portalDriver) { - _closePortalDrivers.Remove(portalDriver); + closePortalDrivers.Remove(portalDriver); portalDriver.DisableClone(linkedPortal); } - private void OnTriggerEnter(Collider other) - { - if (Connected) - { - var portalDriver = other.GetComponent(); - if (portalDriver && !_closePortalDrivers.Contains(portalDriver)) - { - StartTrackingDriver(portalDriver, CalculateSide(portalDriver.transform)); - } - } - } - - private void OnTriggerExit(Collider other) - { - if (Connected) - { - var portalDriver = other.GetComponent(); - if (portalDriver) - { - StopTrackingDriver(portalDriver); - } - } - } - - private int CalculateSide(Transform portalDriverTransform) + internal int CalculateSide(Transform portalDriverTransform) { return Math.Sign(Vector3.Dot(portalTransform.forward, portalDriverTransform.position - portalTransform.position)); } diff --git a/Assets/Portal/Runtime/PortalCollider.cs b/Assets/Portal/Runtime/PortalCollider.cs new file mode 100644 index 0000000..2a4450c --- /dev/null +++ b/Assets/Portal/Runtime/PortalCollider.cs @@ -0,0 +1,42 @@ +using EscapeRoomEngine.Engine.Runtime.Utilities; +using NaughtyAttributes; +using UnityEngine; + +namespace EscapeRoomEngine.Portal.Runtime +{ + [RequireComponent(typeof(Collider))] + public class PortalCollider : MonoBehaviour + { + [BoxGroup("Internal")] [SerializeField] private Portal portal; + + private void Awake() + { + // check whether the collider is set up correctly + if (!GetComponent().isTrigger) throw new EngineException("Collider must be a trigger."); + } + + private void OnTriggerEnter(Collider other) + { + if (portal.Connected) + { + var portalDriver = other.GetComponent(); + if (portalDriver && !portal.closePortalDrivers.Contains(portalDriver)) + { + portal.StartTrackingDriver(portalDriver, portal.CalculateSide(portalDriver.transform)); + } + } + } + + private void OnTriggerExit(Collider other) + { + if (portal.Connected) + { + var portalDriver = other.GetComponent(); + if (portalDriver) + { + portal.StopTrackingDriver(portalDriver); + } + } + } + } +} \ No newline at end of file diff --git a/Assets/Portal/Runtime/PortalCollider.cs.meta b/Assets/Portal/Runtime/PortalCollider.cs.meta new file mode 100644 index 0000000..390357d --- /dev/null +++ b/Assets/Portal/Runtime/PortalCollider.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: bcd51a92199746578f25ab67160cc13d +timeCreated: 1669678918 \ No newline at end of file diff --git a/Assets/Scenes/TestScene.unity b/Assets/Scenes/TestScene.unity index 4a50eae..a0ce6d7 100644 --- a/Assets/Scenes/TestScene.unity +++ b/Assets/Scenes/TestScene.unity @@ -806,7 +806,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: loggingEnabled: 1 - typeFilter: 0000000008000000 + typeFilter: 00000000 --- !u!1 &1943716334 GameObject: m_ObjectHideFlags: 0