From 3e71c71cbffb0de454759e2bbd0ff840dfa480bc Mon Sep 17 00:00:00 2001 From: BlueWall Date: Wed, 3 Oct 2012 16:07:11 -0400 Subject: [PATCH 001/851] Add modular configuration for Robust connectors We can provide modular ini for connectors... look for our configuration in the following places... 1) in the default ini/-inifile 2) in the named file (ConfigName) located in the configured directory (see Robust[.HG].ini [Start] section for ConfigDirectory) 3) in the repository named in the connector (ConfigURL) In this case, the file will be written into the configured directory with the specified See example connector/service @ https://github.com/BlueWall/SlipStream for testing. --- OpenSim/Server/Base/ServerUtils.cs | 38 ++++++++++++ OpenSim/Server/Base/ServicesServerBase.cs | 8 +++ .../Server/Handlers/Base/ServerConnector.cs | 61 +++++++++++++++++++ bin/Robust.HG.ini.example | 4 ++ bin/Robust.ini.example | 5 ++ 5 files changed, 116 insertions(+) diff --git a/OpenSim/Server/Base/ServerUtils.cs b/OpenSim/Server/Base/ServerUtils.cs index 42c82cf34c..4a696c4289 100644 --- a/OpenSim/Server/Base/ServerUtils.cs +++ b/OpenSim/Server/Base/ServerUtils.cs @@ -33,6 +33,7 @@ using System.Xml.Serialization; using System.Text; using System.Collections.Generic; using log4net; +using Nini.Config; using OpenSim.Framework; using OpenMetaverse; @@ -333,5 +334,42 @@ namespace OpenSim.Server.Base return ret; } + + public static IConfig GetConfig(string configFile, string configName) + { + IConfig config; + + if (File.Exists(configFile)) + { + IConfigSource configsource = new IniConfigSource(configFile); + config = configsource.Configs[configName]; + } + else + config = null; + + return config; + } + + public static IConfigSource LoadInitialConfig(string url) + { + IConfigSource source = new XmlConfigSource(); + m_log.InfoFormat("[CONFIG]: {0} is a http:// URI, fetching ...", url); + + // The ini file path is a http URI + // Try to read it + try + { + XmlReader r = XmlReader.Create(url); + IConfigSource cs = new XmlConfigSource(r); + source.Merge(cs); + } + catch (Exception e) + { + m_log.FatalFormat("[CONFIG]: Exception reading config from URI {0}\n" + e.ToString(), url); + Environment.Exit(1); + } + + return source; + } } } diff --git a/OpenSim/Server/Base/ServicesServerBase.cs b/OpenSim/Server/Base/ServicesServerBase.cs index 0cff6ed5df..2f122883d3 100644 --- a/OpenSim/Server/Base/ServicesServerBase.cs +++ b/OpenSim/Server/Base/ServicesServerBase.cs @@ -64,6 +64,12 @@ namespace OpenSim.Server.Base get { return m_Config; } } + public string ConfigDirectory + { + get; + private set; + } + // Run flag // private bool m_Running = true; @@ -153,6 +159,8 @@ namespace OpenSim.Server.Base startupConfig = m_Config.Configs["Startup"]; } + ConfigDirectory = startupConfig.GetString("ConfigDirectory", "."); + prompt = startupConfig.GetString("Prompt", prompt); // Allow derived classes to load config before the console is diff --git a/OpenSim/Server/Handlers/Base/ServerConnector.cs b/OpenSim/Server/Handlers/Base/ServerConnector.cs index 71876dabbd..951cd89b5e 100644 --- a/OpenSim/Server/Handlers/Base/ServerConnector.cs +++ b/OpenSim/Server/Handlers/Base/ServerConnector.cs @@ -39,8 +39,69 @@ namespace OpenSim.Server.Handlers.Base public class ServiceConnector : IServiceConnector { + public virtual string ConfigURL + { + get; + protected set; + } + + public virtual string ConfigName + { + get; + protected set; + } + + public virtual string ConfigFile + { + get; + protected set; + } + + public virtual IConfigSource Config + { + get; + protected set; + } + public ServiceConnector(IConfigSource config, IHttpServer server, string configName) { } + + // We call this from our plugin module to get our configuration + public IConfig GetConfig() + { + IConfig config = null; + config = ServerUtils.GetConfig(ConfigFile, ConfigName); + + // Our file is not here? We can get one to bootstrap our plugin module + if ( config == null ) + { + IConfigSource remotesource = GetConfigSource(); + + if (remotesource != null) + { + IniConfigSource initialconfig = new IniConfigSource(); + initialconfig.Merge (remotesource); + initialconfig.Save(ConfigFile); + } + + config = remotesource.Configs[ConfigName]; + } + + return config; + } + + // We get our remote initial configuration for bootstrapping + private IConfigSource GetConfigSource() + { + IConfigSource source = null; + + source = ServerUtils.LoadInitialConfig(ConfigURL); + + if (source == null) + System.Console.WriteLine(String.Format ("Config Url: {0} Not found!", ConfigURL)); + + return source; + } } } diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 18094b7226..995f18178f 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -23,6 +23,10 @@ [Startup] ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003/OpenSim.Server.Handlers.dll:XInventoryInConnector,8004/OpenSim.Server.Handlers.dll:FreeswitchServerConnector,8003/OpenSim.Server.Handlers.dll:GridServiceConnector,8002/OpenSim.Server.Handlers.dll:GridInfoServerInConnector,8003/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector,8002/OpenSim.Server.Handlers.dll:OpenIdServerConnector,8003/OpenSim.Server.Handlers.dll:AvatarServiceConnector,8002/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector,8003/OpenSim.Server.Handlers.dll:PresenceServiceConnector,8003/OpenSim.Server.Handlers.dll:UserAccountServiceConnector,8003/OpenSim.Server.Handlers.dll:GridUserServiceConnector,8003/OpenSim.Server.Handlers.dll:FriendsServiceConnector,8002/OpenSim.Server.Handlers.dll:GatekeeperServiceInConnector,8002/OpenSim.Server.Handlers.dll:UserAgentServerConnector,HGInventoryService@8002/OpenSim.Server.Handlers.dll:XInventoryInConnector,HGAssetService@8002/OpenSim.Server.Handlers.dll:AssetServiceConnector,8002/OpenSim.Server.Handlers.dll:HeloServiceInConnector,8002/OpenSim.Server.Handlers.dll:HGFriendsServerConnector,8002/OpenSim.Server.Handlers.dll:InstantMessageServerConnector,8003/OpenSim.Server.Handlers.dll:MapAddServiceConnector,8002/OpenSim.Server.Handlers.dll:MapGetServiceConnector" +; Modular configurations +; Set path to directory for modular ini files... +ConfigDirectory = "/home/opensim/etc/Configs" + ; * This is common for all services, it's the network setup for the entire ; * server instance, if none is specified above ; * diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 5a9d61341c..7b8e83def1 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -15,6 +15,11 @@ [Startup] ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003/OpenSim.Server.Handlers.dll:XInventoryInConnector,8004/OpenSim.Server.Handlers.dll:FreeswitchServerConnector,8003/OpenSim.Server.Handlers.dll:GridServiceConnector,8002/OpenSim.Server.Handlers.dll:GridInfoServerInConnector,8003/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector,8002/OpenSim.Server.Handlers.dll:OpenIdServerConnector,8003/OpenSim.Server.Handlers.dll:AvatarServiceConnector,8002/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector,8003/OpenSim.Server.Handlers.dll:PresenceServiceConnector,8003/OpenSim.Server.Handlers.dll:UserAccountServiceConnector,8003/OpenSim.Server.Handlers.dll:GridUserServiceConnector,8003/OpenSim.Server.Handlers.dll:FriendsServiceConnector,8003/OpenSim.Server.Handlers.dll:MapAddServiceConnector,8002/OpenSim.Server.Handlers.dll:MapGetServiceConnector" + +; Modular configurations +; Set path to directory for modular ini files... +ConfigDirectory = "/home/opensim/etc/Configs" + ; * This is common for all services, it's the network setup for the entire ; * server instance, if none is specified above ; * From 227cfbdc67dd96adcf6fba592fba8811c6fad152 Mon Sep 17 00:00:00 2001 From: BlueWall Date: Wed, 3 Oct 2012 19:48:54 -0400 Subject: [PATCH 002/851] Update Mono.Addins Update Mono.Addins to latest - 3177b22e958c82bf2c5655ac3d4ef7ad25cc2588 --- bin/Mono.Addins.CecilReflector.dll | Bin 364032 -> 226816 bytes bin/Mono.Addins.Setup.dll | Bin 103424 -> 130560 bytes bin/Mono.Addins.dll | Bin 202752 -> 235008 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/bin/Mono.Addins.CecilReflector.dll b/bin/Mono.Addins.CecilReflector.dll index a1a638265cadfb76da851ff70a83701cfc7b6362..fb95e00d2262fabc2f59a85c5a69c48f7f45a1dc 100755 GIT binary patch literal 226816 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 literal 364032 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 diff --git a/bin/Mono.Addins.Setup.dll b/bin/Mono.Addins.Setup.dll index 8aa6d5f2cf1f1f4cae069eabea7c1a10a4d7c101..502ad1866b9e34803b4fc5a4e732e16bf21ff82b 100755 GIT binary patch literal 130560 zcmd44378~Bng5@iRh3nh-90lk)l)Sy4RmwNm^4>|h}8|u43{DT;yvJjASk#f-I}9jJnFOvfjsfySlpmT+e02Yu$r!)zwv3*Y#N4LmmE~?;DX>Sv5V(fcyL( z`{}HVeB+Hb-gx7UH|~gYF1RVE1VK>cx%=)Q_%Lt%ZL!~b{<#+K6;mHw5xl>7$H5;S zIs1--A9dN~3)5F+=~J_do<9BLi>|yf-8OykrPJBfS59Ak<@D(fd*t-f(@QQrdVD-S z%#%Lvj379Bq!PU9jw{Z~WBXRH;^5JdC2nf?&(h*`-&cAR4dm9EjF$_P{%} z6wI7=Z&)==_~LKNv~ynI-}*Wix6-rx--V~8+38nYan41TUl}}o;mK)s>7_?sa>W%v zPRXS^3~Ir76C*)mWF*MBI-76h+txKVCHZz#WFJ=R+7~a3zG?v3^s<9YI?Xip_QzW3;KqmG(lg? z48UF{`zz1^Y{icmAN@y)w%l%o~>IZti$eZ zY6+w22$Kp&xH5+%_7bqCvQV8nRS3plcT*qP6GCi`P_N{bqA>9uDF}ic;iAMhhrEKY z5-x&PP1;DPhe&{Q>|=&}Zv_t^b^Ny~bEEiGQnERADelBB+swn|RuA7``tG~$e%@&B z7b3MNby%~7ED5Hjs|$R^2_lZeswv8vv1q*0uJ+Cr=_n=kxLs@2rpC84fkfS{aqn0h zK;kW8tqX3?00{{39H|JRv2cS$)7@$`70Sh1KS>2Vay)N-J#01BoG4K44JQQeVf1p) zW)-mp6e`U|^ZYc<`E6C_O93}`6~gIyf>`2Kbxr{lbspUa(Miw#9PT9Fa8U(h>ymSu zSd147?`gTRRt+{2PJaVI&-Xz^pmUN~4?FvyhTg+@vF{DW5Wd$J6_VagH}?sG2ZB89hqD}Lji;`cWB|Pq!fKLN#GQV5YL;;Cydlg zus*?v#WTTET*Bt~f`*b7PNe7uUcuz-%HSEm$uci@SL7@UR*ocVK@)D|BUd^15n@2% zxCiUlNbG044ec2jtyg3)<0w6V-}LAzA6qN|C0WW(4TY85on1M$2|={p596_Mk4 z5}wEN2w#7bv*W=Z@GkM@G+bIyxwl*$wBKCiJRMEk;^{FwIZx>86ok;%C^!nZ{=!9+ zvFfa&Iq#G~N~Xa}59VhZpOZ748wAbsv>$e5KdhYhDlFw9k5|q+5pGzD7r`oCK^3nm z%JQ@RnnRS709{l9%DSj;2QBF$c;c{(r|&)R+OuQ9^CTGl!bLGw4x;bMyws*@8dIY7ZKlsh1Z0K3cvCmX@ID@-5YWSHxS zOg<_cz*QhT{Yl1;36uMYWOWHUP^Hm8MOFn4Kjz{s57VO)T`=sxg9*GunWlLnEh89m z%9|&sAhNdK-4XV;+&l@+4d+#|7Dz`l6E0BEN6;P(=5yMMB1?PYA^3!gM%F;-xd2i) zBl#uh!v#G8C_bW7@aXB((zEV0q4sP&knz%A=;)+p4^t^ctaw$G>d)b)4;@C|7xyQ) zR8`U=U0RU4Bsf#RQ6r^s-s4r%qYZGJ`%WqU@(%LvV}`y_QS(=xpXCiX=8_Cl_Ro+n zoh2+Y87F9Ztbpy=N6ac7gtS(u!o*d4s&+dV&}Y{b!`sLxRbsCX9@VWRAU|3+~7o-|#P z%hQZDEK(;_D_fWJitHm=RO&W~UgX^7IkSB^21szctx3!?f%kVcoGOcn85hfaT>SX^GAEw4YXI0)YBqSV~xldXqZ^9xFD{BTJN0nRq9Kr66{(e7W=svBE{%g zH65AI_ z=>wrdV}?3`G9&%Kx-KfsbLbwDmec#98Xf?O;u@`In9ZwFY*;)8;h?@Y#W2UCj^Fx( z=Td!2(eeCF%PE*S2u2ztPlK5QSbMe^NV6y*Ilrgum0x86#6{CPmka-}y@pr5`S9Mk zT=*yNHM}z0hxg9q!qe2-i@c>FKD>7>7ybo%4KKCw;k{Ebm2RnDFU8W^bg4Z%A3S7) zOpdJ?}2k3j=Q>rr|#AK9xF<0f2IHgf3e3aFGThrYXjDy!?JAXcuD z%@8mnTd$is4G{ZC5lq^U6Z?DtRet8sZxm4FQV#u50hR1?=r0PWB$`7GpdizaIPy0T4aytrLPLAlFgkTFvG}aSP#6l$K7! znPB)%1V(CPbm3IMV~u)W!s%&1>RBO<@uro!ITgA_Gd&&Ou#uj@%lACqsh$T`Gw*q{ ztA^XEy1qv>yKsPqcCAMYbmLuDMqIR`g$F^eU2oM}QC8$%`e1+tx;~dn3jcA~s$2Y! zpxTV*-zx?%`_OcKpLWA>;CnyS>~(`2G<$~KEO8K5Dy=w?5L-=0byq>P>8Xx7s-vYo z6}5Co#A}f^&70s1-Xg6(!DZLa=lKtwGQ7q26L`qKK$6qn{00A0b{xpLckK?$HD+e4WPjA;QbDgh1_;5+~e{KW036}d#E59hOy{T9a3M~H{j z;Na;XvJ&Yd`4PIJPHFhXm6kOFVrmEp&GhDzyN49F?lQPuWN_a1pyUQ;A=H$opI@7U z=kq;I+-9s~zaB$WW>s)MR&J#d_g1-Oj&P$8@zS(&Um&+E3-HIueW-IkUT#?t;3!JG zB-?@eiE_(g;J#39$q4t8a4%dWfNX1+UW`+N+HrabKchWWp>?P3a5OR&nE`RdxL(rt z3E??)AGZO7rjtdOUYZkQ)D4>Gs3QksBO0db$JUN)*b#xFy74x}*T%rfR^I4q-XD)6elC^lVAdG4$ocZx5IE6I~%VQ>rYa+&)HuQ`@aPMYorI;td3Au+CDLc`UX38hL!g}qCAmMq9ocUN75_N;Jmnmnnb&%w{A z%upvLPlepfSz&S+?@D^PBo$K@X6PSz*wcV*G~E9tr0UHhpksZ4gLB>tBn^qO(J;8m zp-3}q_|Dp8?b+D+rYoeUFTqE8`c~c+-;!tocsqcFKOn|1eVd$D;FONUOUR}w0jqB` zNxWq`$qnFo5=%!qM759C4dE&C<7A;gh8*^8b?_?QE8#0#NI{@Nxr*0l?;OBhTVZcx ztdU}vry^8r7VV zXZIt5g&#v`d#gHg%JI&Ip9H@22$Q0+Zhy*d zOwumHltJk>eoU_8!MV$ai5xb@gMkDEmmP_m2o5BO_ZPKt&TmE@M~rlgb|VP zVO@!(og3C?uM=+aOlUX}SJM)GY+s&)VFphiL^plb?-chXmBF~f#iNksT${9nRpvbO zm3|f;Oo_uVsgK}38fdsEwO-dFId5s31+#)&yH) z^=z^z2Np7UE{^#IVQ??u-Z&jh2f+<=v}gf!+Vy(VG`iiGXg6Ec@uMO>b=VWWDNUvLs^!Y+5%%i^UYB($Uh+O*{-iXFd`(vm5R%#+E zHIX;^mYn1|XtYN=?Xljhq8M$B?P!m;#*-HSFO^A^jj%Pogzc^NTEZObZf%dX##*B{ zUcULSi9B4C-~1?k+0EpL(*xOp+;(3x5(MOT@P6J(kN#AA4&nR5y#H|s&NOK7ZQz;; zR{Z+AQW>hk;&LPXq*SZBbQ}&jc8vnW!P^PrC ze04ul%u#$0B#K4wBc8ktpPcOlS0k&{gx@p6oP{Xm*u3hh>?f#M$vP!3Lp)CH!bRn) zRZQfNxnGWFay>uuu*)F$@zp&8r~gTUW{_(UBKNclKIf3&<5)p*k|2 zS1Rh^?&weCaib!tFwN!Es=GwNstywUoQSFvIqs7$DBO?v+3u;QH$h~qhxx_?{UPpg z4A0&}c^mL$Wr0dc!wS0ZAPpG23c6Gz&gpLQ1|qg{ieOY8o8*J^|I|{so22d|T+k+e zDo%_-?aWk?n_jMa(+7{JtF5g+aVKdhWpYDrL~W0Qa8E#c;gZme z<5FBSAp0@BHcaha`ly7ccE#r4V)$AkJy}$S%qb|N!*cIY%F;iAIcjHE_u3GpuL5Ld zoAD!M&D@m`Sa>ziu|`Qa>1%+Lvt!(5kDHbq?P`M}EezkE{9Z2lftJZ0{4~-(CJYRz zDsi2@O8Rpolzned9rtMPp>uJ1%MeTSwpYPC?Q`jf`cP(*@~-oD#nehe7-$NWQt511 zrJn473D3$%jjorXLf&~hsfx_i_L<==iu#iRT*X5tAwYbEjhD5Y`b41@-UO~LIRy(q+6b@V#i>g1Xu}l#r&BJl&hsJXKGRM zdLT8YuhsMoe56w`bprV=Lxa&eXjp*&#tqvmvzXsvTX&~8HdTOMBp0Hs$55-bP&K`TXH)dZVb7R z{u%BWk8~kHJpnm=Pc8^HIX)`YT6(^sKEZ#dk8_NWmZ!)?zwUmJBL&oK7%DN%T$eu5 zFBUx4tna#B<>JQ6Z$KwPl?9cjs9vq_NPdH3rxgYKH~#>Eqio6hfl3DIdmYPr@8N&F zkMNP@$0YGDG+-)@s_8gyMe+d`$>i+YgGtnfGK76C*sr8-A$65x9xRMvb@j;VF!?wi z^N1en^)O23MEXmdof%t&F>b%@YNuU`vNz&8bxHaYyrb-keALxNjjQ&%wYzodq3M6% zSI=7=kAr63>X48$bVx6jC2~=#N<(>qz#F6VSA?tYd756R>YV3Lh#@1+S6t;Fle|ct_ ztx?ZwnX56l8e4{|*tMf}6kNr=B|q-U*|=-BN9j)$VRlTkryM6tj;-1}O;GySmyn9~ zir&M;_lgqVD_bk!TaDf2`5qABD%f4M47)2FySEkWuJG)(9J?*gu1mV-$;)!J<7st? zr*^9iPj~NCmIFLZz|+JsJgpw)X|?BRjpJ#}fC!xeMM%e{`{Pz^?mzj6vNI5E(ssU0DPPC&_*aG8 zI-bXMj>mP5M`E^!*1L$-mm->MO%f43i@}HvAff|G5v?DNXuXf(4LO0NzvrFi*tjEa}P7;OPG~2@AVhw@c z#arr>(|c6E@gZLLgHtwNe%JxQhO$F!(}T8lCktzK14 zpmT)PRaNVSjrMkurnQ*WqRwbq!6#Hz#gIF@AGnb+}BwK?j_ z(|d|CJnGBS3Rj+1xboDTSH|Y?uk0b*ptZ6T|Ekt1;Jcqz{_?D!x@|kTET8 zO8C$++z;XSJ06WQ=uhkB)K_J|pk?KkmTaY(d=#~b?u5DWQd9bKlWKEM&Q1rP z_Hgt&*rU+WHM^4Up{cs@-b3;7Gt;m!qT#ozu|YP;Hg`0h z=Q0jrpJ3)oLDE};T^X)xprPP+L5S-VMCI(0A9Tm4Kjq4+IbohOg@G;^j2T*wLALiz!F5>KL+~HyhpedD5~YXxh|O=bGiDQx)kYdqQpcN>uv$B> zzM^_w`dcDn0smOTbtKFv3a-Az9KAStzvsC&aJ9FQPfXH!yxg2+t&$y4H&gK*U^aB< zDi5%bdOZKPMX}GPB?pDtneh$mdhgXD?x(cO!ZvE>F<7r*+_~rAhhZ-|5yuI4s1pJ1 zdljYfml60z%4kbuz0__#Mc_LJpDLKjI|pOVB8)kU&}!OPWv4y9>tJd(n6k87SOm-G z#s*Dx&C6+}sqV0`mhB1KtyarM%1WlB)zXM`ls;2GFC+!+)veX(%Oy|h@px`C=?Qa) zjb0vAhJ2o2w%WVm3E4QP??#e>3n{zsVkx++NI`D?+b-d4mvGaSHWuCWXglpS9op!O z9t2ey>CzmR3L5G2bZ>*+F?h8)RHGDX_+VSEPS(H1F$B6OKG>g#@Z{@*4p&Xky>v_6xR{ND4t~$yZ4r& zR7oipMUr_w!jS1BvVC)8dl6b|C7ae-U$*XIHHC?*)9QH8ZGgO5ukXD`Ob>NZoWu`k z9WbYsVVI!f^icW&bW@J9h+=Da+A+tJ%u4f)Ihb+MML`+l}YAWGkdj@Yb{Te7d+aDGDJ4HBZNhJ46xa7x`Zf@$%V zY=YH{>HDR21K4Rx-YiW#-%cQ##cxIqY-GCX!NpeZ*OB38 zkzvKA6>PAvM?oUSR&58vNiA9(^tWCBz6DLhTdPJ6FcPjI*v(%dG-LF&;7Ed@Sgi?$ zaH|O|J`!C^{+jn_e^SfOpWDd%UGZ8`~hZ zabj%O7y;dG8(VC9SA#Ymx~0Dfo^?E`h{t(or&+sOaB1;8Pn}19lgy{98FfG7VNua8 zqX-Kh!(+6Pew>#v#d_0it@y}rXaD=xm`-EV-lJacdy^2nELaB(|jqwX8#s{ zle0$zkEbjo%GvBLRMss8M}9%_Nur3Wwzx?O$*8{(uDhv=Xr_|=SUPUooz}W;z0@Gy zb~=<^`UuY_2;1M^Y(1)Nm0M~tvnOnYcfCA{oU z$yUYGZ#B@^Ez{t2%@_GOkrER`=6pq!d{FmMO8+;!BFlZ`_{3}znG$OC5FKkZ2$DPS zpV{g651l|0C|vkkKubs_ch1S_cNN*50HJ9Pikiml4KN4s15-HpDG=}EOQNrJCdcBh zzdO$schi8ge}b8*WTJZmW`ATu2Q%z_c21;sf^aQmOH&h25ho8YVd+R-ELAqU_M`&V)MTa#}HU8ZefraE_)5&U~VqinbM2YC@7=pDyT zJ^e?%OR=vp;6DK@MNHNPVLiDE==Q!n>?V}|cpJH``8!J%J^FZK?+~GT$Ug%~zQvD= zQ`*hE{I>ykgzw>6`t(e)9R~Z@u+9WlPkXOD*1v+) z-Ew{(V3I#3M)H`fcus9WkJ^{K`5c4~vmokhMAC=IZ8Oi#P}uJicDoN}Tw*bDI^wd2 z=;=mM-I|PsdF|cWM|T`9^#R7=n+pyf+xHpbP&ULz@B`x1vfgF+bYNO;KLl%Ii;)0U z3R$j9Sgw@ao?cm3#o*M+E$3j!!sOrhU~;Y(R*JZd-}e^$KB&*t5WlLkoAVp_?T(lE zZfMr;M-Wba%uk8|h-?hk;~4#~7xed$V^yDHl>GaWV@)6F|35i~ZCsX52WHs8<(Q2m zmvgD?-oG4U>3(0+O`^XjBzjEWXDG+k;M162$#0Zm%5#B^kM2(qz#38nM)xMr9eq7< zMc|ozfHC-B#bQPAyuQy6gVY6kW6g0KcDk~j`I!7Dx<6W$UfI2ONj|Et`(rMIvu9=Z z-a|j**Llg2?f!(#0Uhx>+3qJuG`CY&=GP#AdU{W`o0`kDWxegzcW#KC?Y^QfUK9MQ znd)(ZpY8h$3BDu2`y~InO6@CX4c~`a;DsjHensL*8e`slA8P@uFROTaXHzA5LQc)p zH1PmS?ehvXJ87?}RqfWab%=XfuJk6Q{EmJZGO8~tsGhc0s)ys#s?Upfw_W!c*QV>67uf)k_itfRpJys?iN6b@5Vfaup z9w^%FTABE0#KhIBMfcu#tMw|k3{#o6fL|yjuD2LR{f6L{8fgAZqU1lp*}fv0YXW1mzmohC zz>3KdOP}E--%7%JA5NI)27`)8?rrS;@1R z{%=l$`k8qStIE?~1Kj*2Sv3bRJ}TBQvpJ41Q{&UqxwD9beO%JdFe}9(Uq%IsX!7;n zj+%?Fa2k1g^uF^}GB!QD7kR6S$kJkY8`{2ApSJ5MP|0s# zDa>TAJd}C;$W9Q*ehAPGrOJMR%km=3WQ;xLD-~Wj6zbr(9C~vfDpTcgU)6`oAb98> z16`N=77{+EZvikbYY=9#&mK+Cy|OecPhY-wLzHq;v9-0wAlvHIZOH0~sk_KE$-QFp ztFw~()vL`f#S$v~`UN^Ir%7ECmA%|Vh2CLyOI>N<81Q^CV*nwlxIT~wzNA3JO_rfpCC4V^WDk) z#SZy|?%?iZpYBP?D0?vUUBZ-w*_-)vi%sgKghY3W8!L|K!9=G4?aA~Tq;6v|j>%4L z8)G2N#kezL9}+RT8QR=AF~?cIsT(7svksj^wdm!PCgTI7TW^wjC@wlCE9HhoT zbxW}_`n+N66{N!rOtB5*xggAIDx6*V(0r=mVNI~!aHB=GT8ETe#<$-Ox)!nRxgS*P ziw%c8YT|j4F*CJ9?k{D&qsyjW7c(Os#?U>*qAUcookV> z_rv6-vEM~t$IE6cFn<~^5l0*@FxL_ptj2>&@q2*D z>L$30d$>`OKg7)`B2R{T(gB&Fot~&PSZ7rY*`&azOuW&mU9GOtW{!LpInHJF&LwMI zl*OJV$@458*+m*)_IF4)k*xE0vfmqk(!p#ktOuyGiY9sUVnaW>c9#y+OIuwSDY87^ zT+4}M%6;g3xhE1H-DH21kxi%Zifv^>lrmNukFFls-N6n`rYE5e71!kwWA(9JYGeB( zsWGucBJkAed|tdeX1!_6YlIarjoWltv~ z8Q_+lBsB)9owm5hY!{5;E+Tpe5!tC;4tI6X@EklC5AEhi?gt^PJT*(aOS~{?#IO=8 zz-QPhT)&X&)YZFoHH1-v&rBb)EH(k-JS2_#F5@>wasd&1D^vo%b zO@EHhm-7@J7%btlD<`oVgB!3tyn|nIeyCtW|*%h{r z1G%<1hW7rDX9Ao&4R)QuPqc765Vqug6^cwEeUF#_aGk4q@&FL(srAKA{P$&5o8%Wd zt$aI;=b=1(ojx%5TfR>!@&rRB4dP52h&yiH146jg7#yuT&>H~N7ft|W;eq^&HM%JR z}9Rbt4R@96n>gi5^xf#-}>KQ7LdRjbcGd!5* zLLNKgrIP+T9F6u~2w*kSiu&r`Wd9Y&>ixkLR5{fgjmEp%iY)0^a_{$Kra!v z0*B<}&Wj`=jDabE;S5`4NEVf6?{Iy)L$Ga*d&>lXO80ykQS++6!%k!eQqQQWjXEdY ziB*~4Jeh^pKz!*;b-w%zHu^T^YaT`d$_H&RvSG&? z`h&I_*&k5F_=C0@*_ZnVZ8frAl5Bs_R^wXHF=DOy>ZY@^=P9aYanhE0Cu&O`$4PRje8#&QO*uV>7SB{4Wsi~s<~&AU-^{x2WhbdsCRHZ zkLc*HJ-aa&;rnzrqhcok>6@V!M{Bl7p(`^BxAUn^@w@q~R~k{noui)q8Sssfjn`IC zVb^~@?8K*n7OmyP^{J&OeG53_>gwDCQ2A7aQFksu+#X= zw&ddnl&^=Afi|vT4rl{=L=H2DgFP~bnFE;i@Twu`$_<%bb=GetT-3)vA>vF`Ll_0$ z7kzzu%&MuV^6)7R;?E^FGU?lu19-xh09wQHD804E+8l&?rVqDD^bIY28^JoeLwCLq z>7`9$Va+tD|N`7NHG!_47e7vwN=0OMTR#{hHdA;JahYP2MP z1KYW^j~(_GAY9b1*2+x>Ux&^avNfv6qB){tv`bD~EF0TN8ve*Kx@93f3XJ+tANh|6 zo70WCu{P+MIXr5#A3X zg$vZoT1J^t|3=iCPgI^IG)R#93rM?-sxfwUJ#M>*BdRYw9vqqmRL+cNQK?5-pF^X_ z9bZsi(4dNK69FfNy%Xqi6dK99@Uazt<9Qs-CA#I+CWp4rwulzq z4MLQ@hu^&Z>R3Pj!K9;-zE{ByK?t1XtYDS&&w-3ai(=QG3gJgQ8vUiR4YyRbJe)E8 zdW^bT3dqqupM`h!$2%%Cv>8O#6!RGJWAwaQoC(ERRqC>05nz5M)Jnt4*Y{Z$ak|RI|Z$f{#?N$U3oo^=;}{!LfDwrdw7@ONAWG4qi!hrhdAw? zoe%T=G>`D1!TBzso%=-f&)kI*qdO;RB{{h8K18`aS`=@V7Uu+F!hJu!X2)EEXA-?U z3%Z!~{(1A=gytLVi^qwCr01L|9jJI?xkDT-N(ViPsbl&fM?bFzRYWPew#QX9lm4)s zPa>GvPICa$c*+BL5Ab0O%v<3K6B?G$!Uv$fB(?^*5TxG+RGbI%sJxZpyeN;;9QeV< z#W~Cz26J-3@5#BJIUK&qe19Bz=~8_TjYE^#dm4xSu#?YORkLW}qDYu2flh5t81=!I zP-N`KeOn{>6ys2Kq;4mTl8j(rjieCvn5(9C-_JFYwg~8UINbj=k_##+?b(}xU!u$p zLGSMS8p(d_Ye?5Uud_iT2G-f=dvKi%CF%EOjbxOn9%y51k)fH4NZUsm%S-(apH#j>m`fAu>5EZ?W>7Jyf>;`}l6>I5MX1w-KvV zWp0~vkD>LPn#I#!{I!pGsxF>Ov=$p-R{0?Q{ zHszd^z)i*1SVv>EuMq9orw1$12gV(K2YvYRz0im0A$`#I@1;I` zr=Q7AAO5lrFn!qH5`E7Z2$fvzjB0=N+Nph?AuUVrX}U#%1FNQMEa32K*Ur9A$}v_} z4(<{OuZY~ZS4M2Aev+)p8;0n1C2p&7W#*T!jDJAI+8Uex zHZOO~xUZ0pRamQ#eYk&7)xE0E-*@@$F%rib?o}S;dw{(2t2j6I=!@pjx|Bb-53rP9 zUvT)aKII_=mx0|2YYwb>{8=)sXAo&?74`V4-aquoxsvpM716VYBD!iQqObm6Mf9AZ zh}4r{0m8Q>_L93SZ||0<*^u#qqPFjH8u0U@A}dTF{f5mxbZ*%Nw{&M)I^I6&9X>?& z7e)H_K{uMGhdaFBc6G$@0vC(!murLk(y!aECev~TmI2{*%IH+oTO6X=H{1K*w&}Ue z_ka8V8Mh}mwJg0%bPpY(i#G3HiEenh4WD;LcMa#(q)!puFIESopz-MavJ|nWo0mtU z+le?q;Ax_}Fhuv1{iR#?bO)BBcOyfyTWBx)Lh)!2+%I;`<)i zQZ5nymlkMQ*4#}AgBHk6TKF9-&^{vSTOb$FeYZgSh^TLYTtp?SbMGzCc<=5Z+y8(< zH<%O6tBE1o-@&J~!tXFj`?~Q^h23ZEbSDO;(_XhX-MFQ1x@9uETdwW{%troM!QsAY zr)61-Qh}u#+hxliO&qOt)K2Tl(kr{mn(N(S3|s!_qAk{?LGghhK0m&nwsE=cR*sV?WeXK40zosQS)r$~PhL`?8m{cUM2Zocd~i&=9k7%@cX9jfvLU_D_wSot z^k(}i;B>-9*X~W>`^#ZDyYhzt{2k={>w6(*T7_=Ch%bNo{(Y0P_LA?r{Pnwa_p$t) zzFhfRH<34~?wRUd%in3DdasT09_4R4Yw>M<@^{dS!4m-r_2Pql<+lp# z-9-gfDi*^H48jcTQ+>FkL%lU%Nq<{Zu=j!zO9bNku;X>!3ZMdb8`{bWpB`S;3{ztO8*#C$oX=Lf=@WlSdVi%$I zKR%y^8+;xeuueL71Y!2E|52oDfZHuwYDl`3ee8cMBJ_LY)HC;6&seg!%pNyQpZgta znxvUi9`<)d3RF*7#TIRwCiZ@Mv@7yDdFpD0ip}rX(TeWKC7b7Qq{e!Q@ok`nBeg=L z-kk4D6sZ?L%1&*n7+#;$@Rm5{{)r84D`K_e4QdkBh{zCX3X0|>1x!_zn-58sF>81uy z?=7zyur2edQ5Y}V^Wo3SR{akTWhOj_mh_l5WDZrO=yB7K_3c&qg$~%7UxbKk)mth)CYUI5PpeipoBH>ba?gj zqgXg1s^so*zJz3A3A#9wxzG_4216IzW<^Cc)P8RrB50L#qG%sGj(D;^e=Ph5T|YS z99>1U`@v^F|M#CybrOvO<8zO=_ghANmD&He)p6>_9cF6$duhCjEc5oaWK-XlL-*iw zeejn3lhMJ2!P$R4)sQdq`R=}j{e*JuH?YM?4}IJJ$pTt&Ez7?GFvPRkir2A?kCIRg zr>~&P((NvM3cMwBwpcN5>!>j9ZatSdNGI#3o|ePR;b541hi498TGzCZxBkN9m6Q`( z{^y;vwBqaxby5zKT(|QBPtc}=;OLlxu)r{f4rUHu+B0yR2=f;vuY&g6bm4T;Qs2i; z)^q;0)HzIU2Gzx*gxWeaa}bz#Bo2d_1DMu!9>d$UX_baM$wODy+mV;s^vSh^8VsPb z^M_!hYyx2|CSh0D`QZ5E>A$|ulgZ;ne7iul6wGa~+KM4e?P>!iPm<9> zLZ0K?gH;~iqoh-OJB#=Xx+)ZZql&RZ^A_} zpZ+Vp(bz66JKQBb8Lt>-CA*#|o9WR?XEkBTl|Qqiny{QZ;yh55%UwJ{qu7gyE@+Le z?fVlgy5_9YJU%#vCd;Fd2fYx_`UZTX^afE~i?cevT7XV^Bakv;!<8G{ z@}_&!bG;f3#JNV=vGyME?y4^VFRuhv-pjD3H6{iU=#25xp9yvjW? z?zru1C}B~$hDf6H^@zFEm=oI^wyOTFTd?2k9U+iEt;6`nP?%0~Jcs&%{fn}#DCNg< zd|v!$oTIh3<2j1*>NR90--o-7EI5UbEIJ=pzkd<1Q+aOV5oP^RCT)N2n|XhMNBOM3 zN%j)HlJ`~^D9WkJTZ-Kd_;wP(k~|5tdOyiyw)4y%8je*9$9;O6L&>csY#^bbZMkGy z6cl-W3bo8np{)2ei~IlU;fMyJ)|5i5u6piCV>B*&FX8E4VIJ)f0JHLiO#wBKoC8 zS-LVz*jW(W$tZ`bB-4Y5XB&oba>mYRkP(N-uCbDtCehW4QDJ=tyVEzcPrTK$l$>&FV2>x0t#eB{*niiXLX8n zSn#*%JQSQ*@3AT@VL3|ay*|v*j z#r<}R&T)>c-7;z?IE**Ptj4SRz27$s5^cDvq5SF2r4oWMdkyRj8Z*s873M(aOIYL_ zvDd1bLhFPh+t2`@Yc;$eHOmz%kC>f5hHJ=ZEGhX6)sr=IJm8wo0&pi`NN(K!iVqt80TLih0WMmKV17{~gemsmN^%pZWQ2Y6sc5 z7HSI|7fwt}bUO*nY^gSPS?aq|`mPN7SE>W}?06seo~R7b#}I5ez6#&9l0Wfx z%KrN9^FzCCVj`iJ0Jq1<-RaYw2`4zyz3{8nN^~Y?w*;?69*;-t3!ft!IRBVh!xE0VNng5Lk|13-;CRgA6@{jPvDHxz2M zXw*{~LATbcbgvMZdUcNc);$Kds#$=&kL+p$U%a1#U(L?&$}u!TR&(opNRW=*JBOEN z`-{Y%BNn9GwJm6?U89VizLeN=ERnODP&+4ELK+YgiO-X07&TpdXrYVwwcmrf=x-?c zCL=xrHxvzC!LXv%z0e&r7bW!AsKCBJ9FeY0jqO}=*^%e*e1eCQ9t!;xe2(WxV3+c! zn$q9o>>7C$d4{<57#_FbztdV{h zZ;t1@ok(m8CqXuFVN0Y_)DSZZK(IKRL%`SOcM@B1Ue`GE&*xFYMjYsGl6!Gq$NPz- zd#G(tjocMgNQs-6eIqw-DY)i?Yy6Cr?BTc_SYK`;+0EB|Ygh{rh-`6H{WNMA(+V9U zIFQ|gn;QG=gfn1fGtUco^1NfdXEy|yM{(!jp@y7?w-H5F@8ViwQ9sn3hxa7>Dpyk# zTw0{@(Hk}YzstYFaN*5_UwS5f zxZh3gFHz*GGdqetrGo7hO?_`6%v|8!I&F>P#Hfh;z`y{!-YMXOdzQj!udX@ZOXrfQ zO{KqZkv4hNdSlLMU8l|_)vXRd8(%S}e@~1vI@fDSA!Ns)t@LO=u%+c(_r_T3{;u>d zNaW0eO0e`}f~X&D_*}F2=LYD1GlB#{|N8?&-ya(K{;+)?7ux-3$%1{A>3_r^+W&P5 z{9dH;`)aZ*uBknA2q0Y(LNC6Ve3RU<>u#J~a`&;jrVNL8eH|5y(tj`ss9Zcd_#wvP zVwDRMPNkOqBc7Z#q()*TJBAFXS&L)B8a)#;`K{aY6~)RuxanhH#Pw6vqp8_x9qs^U z=f~-Wj|GM6YABa+asoeN4Q^q%&~9PLE+>kNp8r+pKN0g-)%9?*XDI6r1D7qN*YH}n z3tuH{GTnu1VIG(&j!sI7xurHr|Cx9CE&Z?#J5~ui8Jq-gwD27uvKYy~;8^&szOX&+ zXd+!WkWz%&-sCTs~pg%vm5P#3U}ELrR)tvfk+SoN7c~ z_{(OLBk7U+&>38(_*V7M)}Xb@)zFyHk#?)jm6hA&$<1fU`z1dvGEV;u$Jg98--%Yc zHPLBJ_}#l3TP-K%HAr_&E@qGLJP5fRyn~mU5v8&H{6bW#yr>3mqNI`WBg?n+`A}-A zyytgY=`Jq7;rhcFXk_YTyg$WTnUMcc#oHd(|Ku(Ck%@Mu8FK};$9!~%&XvH? z?0{x&L1%LIe!*J4pN!D_A)@J7FqWRe&uH&P(0x~q)NvQf)wFy@7-UermUrfQm+{d| zA4-Uf29#gStkTEHFVgqkgZl`!f8lme=QO0{L*1s*WxxabK*qK_&}>I@py&A1yz1u+G>ue=1wP#s|WzzW~ zFxD5riW(?piU)2D{x2Hg&Wx|ZR6H6IZXm2>_qeb_gS7gt$LaSWy@>%9`?%&=!D%t$R3D(JZnhZn!ZHMC`!;E8EHGL(hAzd@+Pl7w-Nbs zwvTDAm&et}1JyJOehX>x3WzdIDL0)mMaj>UzcK)-Q_m(=J6wmuex`vfoCQD%=)79! zy5*cY0Fr*gT{_n7aD(J|qS0-w-O=XeNOyyo6@<;i?Jlh`omy9O(+BPpqV{^73fEfi zW(-tjxIk4UF~54T)ukDu(~vRbc_01+jKYb;_KcFfmYtyIV&`;rO7O|q^|mhMDN8qkn*F!>*Kq992a;FLqsb zi1Y7AwC@g8+*FXYw31(f$f;kl3>7~mRE)pLvSVNDEX{tO=J4QX()U!-vG6OUpt_L4 z^k}W0sIlHp3B_sbO4NA0X{k#8iw|od%DggW^xyi9R!7-OWFh{CFNc`?FHTbzSDBOR zmOvYzcDy@w-Mj_9HxoZ6T_e{_u14u#k0$&1+!-GAR@)p=#V7DeK7cMnEceQiPTMY*%;$AQs>yzwBrJr*5!10gw#F59$D zGelkAwSNL}==RX_47$!kFEr?S51sVT%ME%!c8PEkx=D@^Kc0M}WGn?^N5iC)XzE7IqAD0&gwk91|92g2bQ3JKZ2_;8H5U#gyd1J z$GY%E_%1j1_XU9;QtD$LVf<#_X)eMtV2y@n-rE{Ee5WY4lPwnB!2bp7@4xM-9h@ z-7e^hQk2qYwX?hO@%{Cn+@I$h9--^+->xB7s&k)kDQj#kcRY z!l$|Htnd4wC^Iql+esKFRO}%4YEpF(9~UlAqenXA+RLhH?YJiCo?4&Oz@q594UMs~ z#Ijt;b8UcqQ5%nQ*FGg}>Jglw@o(jBj>?YKd-zx-J1%#RSF#Iocf0COKUEgj?dZih z$_QgWMl(uJgJ{)g*1cOa8{RFNP45;>Oq~K4f2)IS5Yk^h6kllB)baNB*n z^djJ4_F_b|^b$F(g|+l@InCNFT`y;M=?1;>)d(-shr3f@>80jz|4_mu9ucvzA9E1X zap9s+QtEiqp%dJ9C1n6o07iR6yStlnd>#>2tN^S^PbGi~<83X0oW-Y-`Efy{QF+!-On*nuZvRA=S#Z~)v6Awk0 zbZ)TukyPot=0>oOYEA5pjwiqZU-7j989b@bLuMW`u3YoV9PI%Gnm`6mBGBj`)p^-& zvM@iwH2W~o?=929<^z@bqgGE!~p>~nBJSMpoRAao#h_eV4s z-2kO~{*L|y#(sR)W}wE!rfFN#&jdH3WDIVQV{UI5cMRUaa~NcWuRqy0HOQ`Vy3{>s z4Ih26OivDqMJs7vBaB5?XzDvG$u@JrDafSLokAQ|ypPS1jO&Zuw281R42*!4CJBSF zE+-2be8^%gq)Zls9TtWJ2hM;n+`3j8=@(J^gq(Ek5oA8o##U~n#oXj|2}IpR%7bDaG|F;aYDyB|cCb7!X?0O)o= zb`&#!GYf#s9tP2}*oio0>?E3xfoEq6O+~#Jcli!r*^dJVr=p-gwTu6NNANfEm2@0I*g(7`spQ`Wy56r$R>cW#1!3$O zV`z^Dr#R9WCDXJL?PsHHeKIBgKG0~}t;pO&BVIci%d@`{zRlfM(*31p6S$R>ZcA?N z#Z-B~VaEB=hH2PXts*SPCp|BH8^0CPkC}@2oSZ#0_$luN=|8R3+fkIXj)@)3-jVB! zHGaleiY5I_vHWrRetx3tD><@tOL7E?rbB30zizzubm;rpM%Wo?SL?RkQ1u)c5IJjq zCP+@nswoFh#o19*CYW-vB6gQ4$z0U!SkUb6i5S0^1IfNAHl^^+p2)oT3hkw`g)|<5 zd_`Ari#Dy1_^zT4_gGM9C`4`-4H7w00MLU0p3jU$;P81)6%hN;9h= z34NI&IhUWE8`fL$UB}i+adF>`w%u8oIWjmI>0Eu!>1Z6}?L#RY6LwKncEU1VE{UD7 zy4@T08Q9moVJ?~6=OR6!Lb_G847MV23lgHpXM0r2_7@Vi6Q%5nHvw0TLHC*NLv^?>y zOdlHjH>^+`?@1^2E=y|>a^Z`amqJy>8YV^czV53Ok8@Hy!d`omqU;`rZ1>xJ1+~W$f75;eB8ZpeKBMu?n{Q+RK>}tZfnUYN7xfuc^e=W)pt<46{#+TYoxcM z#~ZEDMgL^;SERMNpYm}8dlodpU{&djm zSeD(7uA-BLeOv6)1t!){Yvv`ng4ZcNhIwryYhgf#XuD05ic}YZSlMdYxI+C2iFx`ylj7Ruil%^o!6Ekq>4_7Z}~u-y+$X;;adHsm$1o;_Q5)~JxZ z##-GX;m6=-*T~C5Ujx((78r8#x>+D=03HnX)HG#Q{hhU27a~W=5RCNQ0Hia8wYy3J z{iyna?HjPmV^YVREE&g9&|Z z+*4he*j(Rslcl^0ej0@H{A4HLwk~t*&f0fWB-IbWh`YYb<>nWiV6c%U+qpl&AE{Uy z>|%f^H$eI+d3WUsCiIO$)>-<7wFU$hG{O<%+4Yo}1QtD6;hCCFyL@q?{}@#3*%r8R z=kM1Uv}QAfZh=qVM8Nsm5w7b~>}5Hat~S*jYg<69yHT>duc)rZB|Kl}q4KvswYAia zTO>8fk4U5J!~+4S>@_r?AB{IO&hN*%R^#RRA0A45rgas$7MLOUq!p>)iM|!x@1mt| z0efZ{IOSUFk*an!v>01n2VO>*k)xByJci{I* znACNdJKBwgHIL|P`o+wwdHE61anHn=QiaX%XCtcJxTh{O@JHovTmK8-iX7k&$9ivb zh}j@~v_}aSfolffs1_O!OthOM#0@=6^Sy_tluWIk;m*sxzksHJteLRedzt-^Zn3DO zX%%|*3L;}QD}wT!j#ks|N~P=IC*fJEvQ=XfEm_ZhWyZ2TS3^EdVs!p|)3Rte7LcN` z$;y&-igc{^r*O`M>w3Pnp;05u(AI2ib!U?j$%i4X=pk1v4lzU`8)>g(0`=VlYpon= zw$DunRa3B5X!zoU9~FyyZOI3U60pM0Sgx{+U=fEkC3|We4iSJy>ye*VgdOu?TP|$N zg~jqw0mRPaehg9inr!Yh&`j2&b#@b(7NhtDKdZCG!4%dxa*Du~+IH`FanN?DJyfZk zXxjPvOu9}&!>V?-N>#QvY^`ohBplwMQ}K*Vl^<8g+n&uej?Fcm&DAM2aojuGQtD#u z^x&LwP>PjyYd1MubUTjjHw(HQPj{`OyVlXgZszCJhm@-$A$TFj}0K4O^X=a|*>LOE3_=ClqR5wiwX+*O@$IEe9iqhVl&@x);a z1|FedV2455Ymmk_jD~?7#^Z-EuxHRPu)}!5FvcGkhJmL^VYRQ7olSp9Mwu-bwbA!6 z?@7JE!0DS1n(sX_x=-)1lAVXZO4rm;2oBDLhWik?osgt0?((@DF7E7_&;nczdT2kW zDxHem{X{c~RA4Pr#RI&EXr)|QBIctT!)SAGI5zBkyzd&aW$z^a zspf)uja3 zvN4Nqm=|;F;&DrZw;`30nd}f!H*8Z!2kmK%^D~&ZiP>08lxz$`=99Be325kQFG0(V zJY+-I%zGKDWaAC%0K*cr zj8(GphIPDQ30lS~*?Pk|+pq*JW0_%hMi*=0NBJ)?RC$$Ai{?mY)5Qhqb)dQ&yFGVR zTooZx6!)ZGz9^^`7-eE8!S1lB#LB-dI5r&D$QUcH7(hjexvOuWX@~QzLMnXyP0n5& z978$1w$Pt1z=Nw)`i%Qpz@>4NU=CnRTjdp7TNI9OBV4C+X?eG59P5T;+X?Gdnckn2 zw?_~1L#?fb_`KP;T1yDkW8%||8LkJSdTi&0$?Ua;a{v(4OFK6l*cvUf@5h^;Q&d9v zfb(D_1lRXi{k+B{^-Tjwb$ui@N6>p3FX<4SmG_exUQ#Aj(UYr1cjsCOVP*DFD6wq5 zP$=Ak8kP5NK3#CWeE%lju@t!)??b=!lRVS~XS@3DBk0zH;NWiFYIW%kXYhW?8`EOJ z8AEWYpWqapckuMT1~luQH!e97=z#F?;N(I^M}qayp$yb2YiVB;P}MF6Vg#k9gG| z>rGyad75EO$%}YbOpq8st#c7RrJC_V=cU@0g%pg+F`TtU6st3ltB%3%1n&ZJo$yWd zY+Z~qb`@>iN%7Uzoo03?s^+HG9tN!GFa6Yr`kF0kfw=gZUAwC@v?{zeU4khQ}uk0hJ>VL*;ecWQUfK7*n=0iW3keM$yISZxnwCk8?22Gi zlm)+-!6;f$TY4>NyjhuPO;vNn?kZZ3}jY1ToQ-1-B$Rz)~q_RRqk=YXvGJDHqeO(6Oi zPpvvhW~4baJ+;a~&bMJ;t0TtEXg94l)L2wL_A5!hveP;QDk#hE_i&ZucVHu2yq@sc zPs9;vcXQ$9J!8M2hRo<5*s}4tr$RBiU;}2A?O6a@H5WY>e!4m^y8=%~6Oavcx`&F!YZ_sFMX_iS##a0H|wCfl}to_*dSN^wv3XeKE~&H`t7nbY$x{;)HPyTe+?8Jn()6^p?J} zn-ox1=j6fuF?S9Wh%g-g z@&hSG;s#0m47ewC)ZFsnpALM2u(S;a!#+y^oa)5$1(|bkdX8@IJI78epqKQW-^rZ= zS)W~flF8t8ys~%mL*xwa4o3a~;GXd#PA>SElhc`^ul1dmZYrR^$(;i+*0brKbY zaWRBE7}wFjeO#}_>C=3doGz}5wiM3q=FXuARL5rF`aC?!Q66yf4nd8Fj4t%VUG($a| zf8S2!Uj9}is{Eb%pB1J%nGmhmZ~AA3^>2PHx*9;~!1)$n z>e+PS#FAhCv8mv(1g85O%h3% zJkg<8+1&s{esj@FnRG$xL#$iN*-ZG4g^j9-#w{DOT-f|A zunih*sy0FdBUsZnhjS8CEPy>^wYr zqfRL*Q_U@BD@bT^PcDK!+wC64%T_bEc&DbLl+GTj8O941^OS9{fYDY=8sq9RbO#E<+sXU(L?6!wj^- z=YABF&eZM%X~a{z?;nOU3zvY!7S+X%DcSGkNBdEy0?qflLSYsaCJxsuS=iC&jLQGV z+?&8hSzZ6b=RPx;%w*p~1VVtYNeEkj0AUG9kSKe?;tE4Dz(|q_GYN};5gkVv7|KEp@5bpR}mZB9)f9wA#A0{=etk`^-EE;LrX)@B4mU_{@3k_uO;0 zbMHNOeV!nLu;21!$Pe%=#Vt|pP8?PawXMqb8#H5uiLHr3AjD}o#4s6xC){8 zi>y>S8w8TLF|(}>-MnU8m5wc-8Hg=Eidc##k7Qd-$u;H3p;fu*KS?JE_M+| zi;$!&2YIbr#I9gU5hY8eP$JVEML23#;`w;FkIx_Y-!Q1E6wfR1WLpO_ptvEY0q?}~ zNjy1P{>OZ7*Q@Y*1wYm(|Lcl*?{YkEI-|Yl)-n@*c8e*!2;glV)jHHeqSQnD8TC-g z^IW-JrPX{!nJ_d(?+(<$&FNf>UoL+9kMqo_F`s4G&Hv7e+z*vpg}H3B|1@F-fc3^2 ze&V%te9#nf@DDSe`%wun`Z4-ZK3JXlQ4?6)k3x8^V*+ zQxXsQ6z7t2$aAXF^C4!f=?W3qyM~@{TPdM`7RWm0g24}YKXP3JE=PxARhOdqv3A)@ zUYuNq9e&JYIF>bt98PBRKLiC>YjNod=XD^X*XUrvSOLbml^~9|hj82jMQAO1^1KHyTnNRFbzCqs9ZnEU=WE1|m&^h5H3exp zG3&-2rag#^ZVzh~GW$B66?W^aY=X;SxE-x{4SVUVTn`tr!VjI5E_PPXRge{tl&0A! zE9_yiA~KSd(vcF#&wkwCtn+RH$c!gI#~+}YYlV0zYf`Dbx4Rc z4D<*rm6T^|<`Nx_L-3_d4kE#EiUT(;EI)`|j2p@Tx)z%{_GA@pV-)w1 zJy705cw(*|?Yqo>6F=_jec|sMqb@Z3yYRI6UGaYZW?rIkKvn>*A1NBnwXak#@~##Q(B7{ zW+A}sO#-I$-kYW1E|L!X@h1N!Pc zsUfro&d(5U8lJr`m{VPer~S`@4(9cED$$n@&UxhG4>@uU?!b?A#L;Yk5dV6?jg2x& zz>_N*?OSBQqJH@8#P1#avhW*(AIF2}L{F?MpK)Ub(nXijgSgTm(?jTFp;rjq2+ez_ zoqh=VGvWLi--h>4vSRu3RH5=vmADs(`@7=)q0pZS{h82rgnpqUtd)-R3al(EfgZ4a z4*G`B55Y;HzOJq=4-IqOjBi;@fjfoP3*7>mKs#J4e^BTfpdK3J9^+1+kel5PiTiQ5 z6KFyl)5V}3x-+g&CD4Q7J_>gR{WUHfXY28vR8J0Gm`n9|sKmo1y%02k>Tp!*p<9Ks zUFd^Ce=PK%&?7?s0BU`Z&}t#Qi%^)K>!MHWM_3 z79@P(O`#PDthcs=EeRgFTj--ge=PJB&=fiXnH2g!=(t3dZ%O1lR3*(y^3a+jc7I3c zPS6y3B#GsJoAiY@fv!$wojjS$HQt`Wso$IOKakmz!ZL3NJudW1&;`ijoN`m!(#Oj^cc`I^jNG2;rDa#%arf0r_t-;mxGyv3x3Cu-ZXrX zhu5cRbh68rxzngSR?=)oJ_5q3gx`&Z-&a8GKpO?6<$amE5a@bA-GR1X4SJ7+D*@v5 z;=|%s4KxktaY40$M$)eZH3AJ%W9W53TYwtXSb1kZjUEMxQ{(6u%AZEBNVswIo}d#z zKAK3UX$L}nnup5`Kp#*WBt7SGdJ~PcO#x~L@+y`rIByopJCRZZjWj4-tw*>EfyTp6 zqq#sF3kF8`)eD*;E3`CPCTJ#&6~C28VGGu37Ye#XQlCrH1l=X*Qo2mgqk`(>`}e37 zpmuyiF(`g-0u54&39ECYcM_;kEg>w9fc_=nf^?(Wi86S*vUZ#Cg%j3G7ocfC_bWge z2sFqF(|!q84iu+afmm{`NVd{T;#VhV9ep5ZEl@Mwqx!o@e%JVYD(L%yuA~2mXq0+;$A6qgU}m=-X`=;q4x=WtY8n)`kByI3!e3*)9(u|j8pWN zo{b5L4)x-gb*MMReXJL!_^D8DZ}!dX&7AJNmqY%QLJswK@0$}9?dZqac&s1m@R$95 zkqlqZp|rgJ8_BcQ4Lu=U+LX$+~OkswL}u(y~ zEpzVr?}5%*fB$gK;f{WTG8O$q+y{jo89of0cZZJzJvn>~#Dx9_ds2A zQQ^T{7cH5C=^X0r2^>SOluN+5 zH~mnYiyjmHPty;>{mb+}gT9o05Y!IE?ja&yp0Ws`4y47xCTDP*Zwe20DEcgljswl_DSqC&yKTcB;6j5Q?N;NlsKKCLbnAuO zwHWkDx8p$T4SEOR+_c%C4-n2xw+TAnonZCCI%K;>^q+2@c;jf7LAl+(@W#_K1{HU& z!aQrApf(!Wy&dR~_VZSDSH46#Y$T_`FOiNJw8U!19LU{^%W!~Ntv7LQa8OVi1t6J9 zA4Sn8-ZUyHWXU$V3h8A~y+Lh)*vBPWI^WW}qNr;%L$#Z`)r^jH@8-i~QzQ?lPrJ|e zbfG6C7OmYpdPXB}|NP;;Jo?0-QlRr_2v62%llP+hiN3CcOU8oc0(B!??PWyu`KR68 z={18^0_9T@FJ9?@_qzOPz8;jN5lwPcVGTFLpy^l{_Mk&i)J_GokQa!i-h0wgjl6sE z7y5eAeFhy6bj+YP@&oYe)?d<7Tw^_{z#y)p-c)E1*I#eyZ_qpW$EhzBY2@P?>qjNV zk87+SU1kv1Sby4R5ZBlMN|VEzlfL)!w_%3aMI+T_RRI+WI^g5BG?4mhq`t4%Z=<07 z>Oc96HVfiK+s9i#7OF|k>awC)W;S`fy+LMrWi>s z`)HbPB)ROPX{qt!vX7=!#*fQBn$`-^t!^~onlt`wqDT++yU!r5ztMEqATGmLN-NTm zoa^yaZxEMgJna_L=3U+6F5d(?to^*3dgS8<*e3?v-eU*+hVWJcTJj@3w!v?{K|d3} zg9g1Meup)pw~(_5^u9)7i6+oz#&1T!Zp1l-w-8Nh#Y|t&ao=AHrmBhbiJ+6dd+}YS ziIg^2r@jw;V%??Z&EqHaTU&St}}iuwyW>H7kHlj$)?@zbSOo_(kA1h2A%Q1@Nn;ZbNl?8{k(>{RN%$ zT_3kVT}b%YCH|fC-O`g$sgax)_p1~njv>}=46#0Ah&32Ptg{$mEyWP)C5BiNF~pjPp?PsrV@5cM6tqJl)#zOTKksBt@1!c})6I7^bunmepSHv{>Mv-YD~xd0vKamyNaos% zA#Qas#OcKlrx!(WoI(t73fIvPNrB6ETjC~~C};!ywNDjxR4TQfw@=nxiPuxDM)YN$ zoj|um(G!U`&|wqq%RYM&zeArz(Tj;U(S6f6*KIVYZ}+5|>5!mJG_G%-q^)!;ii(nM zrNgsWauZ$Dw(nFVM^sBz(l7B>p4LaPnBKdI|a;Z+?bl)7;k7;5QJ>}X>rv+`Ggnsjr zpQeeIvE)|D@3%PlXS80>tyI*nDf#E*zMTDTrBVH^Nq&~L2--jw^t(Cvm(+g&`)#1w zeoxbLRBKQj(68t|LATQCem_orp7sjT?QB22uaWmizvq+p(?=_5T$`Z1q2nBDU;bMiE=@e@7A9>#w7T#~h_TlGLA9JX%=l6NA{6yVYlcHqeLX z=i~2@l!ZB{u4#{|jG`l!N7ZVCQS|PVc(qg`jH36Yc-1O{zUzH7!KXGG^sM)Yg-tE_ zcOdQ$sdaJK+%o8q)XU54yttMl?}d~s5T+n@Yqaz16M`?Mde z^i~1wj-r9?OjX$;;V38N_bFLwW)w|wXQ_<_%}6Q3*2yhV)acGpU0QWG3w~YHeBL}q zuNtKua_6bn40Ea%!^*9@IxT1uUXy2(wOaf2OYI-mU9G)}(SCI~P=Q)6 zsEuAsdC%QjRj$>3ccj+fbZd&BP2LLzZo%DynS$D=6?y5aUNe%dDRpuE)M4ZI_vBvg z0jkS7j%5>dOKs_UMesl99ZKSp-vd|Z-g7E zP8;MY!rDoFW)RP;Mk)Ejv#=pNgCC`mu8|UXc~)7fvJB!Ge5oqXh*FDA(P%Z%pmFdU zqugyAu8n%bZ>-9afm@faOm)*pW^!e!&>&8)Obs!J(;KJciVO0>>5WsB#*g(fUQIQK z^)g<~*N84hdK1(}g91f4u8C@wL5(QwBy~{G2Jfn(r&BA`YX)6k^c>Jz2DKNx2z0`r zM~k*mrE>EP0(!yste_-8x{Y7LAf6LVR#Oe))yrfxU(g2cqCr^MsD%c#4#LVtH5kbw{r;3XMQt%?^B_jMG@@Gv zodVjwQSw4R801c?R{T0Ux7J-i7phW&c%F3;wy4>!jh-1a-!olJyf;;Ct~)Ov$%EZ&BDlbem?{lzt& zS?V_9w-0`^)pq0e8vJIfhcuGZYt$3Qk9Ag~o-v4ZR-^U{+Tbl5e0f@}I;0W81%Zwl z$<0=C+8p(fMriNuw7E+DL?jg80h*`MZr~E_r{RMS#LriS22C2gGVKyoDoD42%hg0d zdd_gUS}#b?Q7%`zwIp3Kcne*j(r)B9H&N5z>(Z`JSvP64aqxX<3svFG8a*)hskB9E z;#Q4b9{lUHdiBg*8ofLCleER^wI68o@4@luOI7JT8g&`cCH+b@bEihbh73$^P#f=M zq~{?`YO_H+?`cw71nDv~soMnUGBl~fg7mznNqO(nab7fJ4Nlm~1hvt^A(PUZ)!O^n zuZ>m?nUlUk6+NKQ_96cCwdyT{emSHe{aRJ>sP=nv$TjJk)lq{!8FFL#ch&q|+AnSB z?diCI^q58ihwe=OzS=EFmtlu`Mv%_+4s}!`FRzk!s1pWVJhUC?BZC$W-9|grX9hJ7 zt?}$s?jLaqCw=RO=F<;VlAulA8xZb?s*6F~0TdsVIR<92qhT4?;ZPv57O z8pM72KGkB-_mINWpXAkSMw?;}>dT z6y21uPt7zae)!cH&#Q$|bbH2r)f`3FWgJlJqi9FQL3N8k1;axbzg9bqhw>Y2S7Eg1fF z#_!eIXQk|7F^{T^g7y=yJC3Ry2JyP%9ktgWUU$5!_8Y|Oj(61|LAuAitGfNdj2}9anD| zbfn)!nSWHr1a0tMTQUpieeEZ!>p!ZmqUedFKdZD~N*0S&p3eM_+P+`s<-?LbNnfk17qs7pC4b0N*8YPU^&QbQ%VTYMNu!DpL$kbA)~_|1 zH{#N)L~H3GMjN~eh$KBGs6f!|w0Fb`ge!`oby=y_ ze1ndU_+D1JwJ?g>fldqBN?(q6HVc1&@fD6!w}MP-h@g||k<=qunO2EGe@H!+m2H(8 z#H)#1Yld@~pKQVSarqE6?ios^l82^`oq=)^kWEiR6EcXgSaK@il_ zG3|F3&{%7sK?5LJW^F#M{YrtxStks-5NN#hl|dH+O|Y{5s3n&IO|&WvS`Acgef6I9 z+dR59XOeZNY+qm>W%QbyN~`{_+V8p1cji=EZy9uW^nE!~tu7yEzjsIfG-sN%<718f zIr_bv8P@xM*XZlf3w<@#M+PO0d7AJF?LV~Nd1HR=skMd}G-%9-?77xyL7Qmwn6%t^ z*5*&NWYd`bxmQ>PvYD}ou7czO>%>2`-^MXjw9s1nA4Xg0)-f-uh1M2>?gjE&+YNdW zXpyzcpyz<;)uInGVAaBMqWY4Nw4fV_=k^J$q?Z_rBk zEwh>pYJ*>c#d7v}v5ok=ctm!S@#FL2rrb~z@p*CB+N)zh>Qxl6(r^aP>HVmz7f=_2 zo-I2LRA|s4__bI?1|5N4i&bXO$+CQ$dsiCtud;Tar3QJ&^}@T<%?9O;I}WtopuX^1 zX>B%W0{m85cN#Q*+{WBh)((UG<8B1nXV8`7w$W!Hl++SkJd_k)O9iX`?AK`Wh!fyZg%#5|x34_K%@@k83Jh5GxK7MEJ z)m9m9EHS!t{4KQJD#WcDMr+1DnA>K}H0TzDyVlBz*M9eo|8efM)^dN$)kgODBr}tJ8m&i`9SvK2FDxKac zL3VoU1=;1>Y>-ax7L81LcN(P2cS4Yz-hSNAiluiSHt-nf^mYld)7ve`PH(S4I=%fG zne+}Bq|@sn+kkd@M{#2+mR=?9RmIXHwB7G^WBSY))Y~0zOHeW>-%hjLF6twk2|_RF zL@iq6@MRebH=;O(1LFRTxDQ9EMW^A$O%vgKE%eNsXijrJ$D^rJCYHCeRkC` zzMbcbdT{)jew#QuYru}@+l0NMfYWl8;=gtOyeG%-3aCYIfV$}S!ugAEUPb&i=T1p0 zBs8lRhtl+Ualat6vN!WD7uxD@Yu|0cc@WgXJv^5D@7ykWAEDfY?+a5L{Rb4c;0rs) zqf@`=48BgQ@f>_-emJa)ypk3^NQ->#6RLHqORZ~XS|662396`3=(+ehepg>Edpf8h z?amdq&Rf2N-_POJeL>6DiT<_w0+C^kMOTP>EvQAzaT$)CiUrQLzLsdug7&oDv~NE6 zE@+i~o%%c%{|ThxqTQfwsgXFT5s%bJyorI^k6pj)cF`XthhInz|I^9sB3Hkd{B4r| zJmF}{b!w5*UC~M2ZgnByZxyQRYe#>M`823S|2o61eXk$DGTc5b`VrhNdJ5Dnq2lOS zxIJ{>Tgz~4ma#CON~pT?nZs5Bw=m)E*k|t*PK^FH79eJkEc&s;|j7bFOq7vpKcmdnu@kg5rB1jpg42bi0-YH6ExuGsPi za}2spow1dHZ<$d^yQhHTqFEyU&HeFQ{q(=(|G&|%|DUoC|9^|;T=jb<|I?vdT3xV zKZ3Q91{z1*KoyM!wMdW4+N~|H<^;u;HRhs5k#}0QH-+P*&N0I2c8(X?{%h;4>6zMg zw(xPKoWn_=cvnQ|LgCaqIGWFMGYjtm#UynpoK)*s%YQSyO|0=Z%Y1uZJ-XdKn)4QO zW3~p4o46gu(H`-A9n=zz%W!lkrr3lM8SUnSax%bxM&{SZWGTkxa}U~TpPwT z_TQ`xo$W!p_3BJhPRpW_@toqtptieFIM)mPiSVBqABWrQada8VI|9GU@Lom{-efJq zucwtweXLyYyV6s5PkoQ-M>}xWz5&0dz|F_67k)$WFb=gULyKEM1wvK}GF4`=*!#a+bcUUL!HZI5Zq|iO|DR#-8#9#I}1>ZCmr{0YB zXP*<_=V+YkD|$)ZD0z-*T$XyBmbh55#TBoP(`~L~bwtX0O5{(`6S(DaiukU}!_ZQu z`ds**(@AhXr+|Xk2%F~a0osGlJs@)&bd)Mm-Dr-x1bjdEKE?U;DL&nOoi@3V zH+3uAK6N)}A>_xYJjHkY^Az77&r^JglBf9IO`hU=;(6)|p?r3nr})GrPw_qQJT*ut z-}GiZ%tkz`;x1ML6yFOUs<;O8)H8AQY7ZTXyAmAE$x!vjxMo$ZSgYlV+dwt=xL*%? zjcS+L-$Q9}*Q;5=pC$2JEV-Jc#(Hj7LGbT^B;U?nu9karT|c0fs~bJL)D7_ciG=-y z+Ny9PmA0ypD1kl6kK z$zJhA;P;CE9Hkfl{vKk@;IA6Te+~DT_nUEc=+;*V?UGN$WC6%crK{4#els25KLDFkbnn(fbo? zxmxLc#u}=)$8joa=!m-7`wQ?ldS9_-(RXnJ{uJGTuzQGaQG86?9@^z*{7}X1|CDH8 z7V$m8<>~-J?U6SYe00Kl3}yTx{-ouzCeq(5t|_!ME7SK6D;*q^h>Col!?(ouAC!@G zzEzF)#ks20bbPKO&rUoX(le0^Qj63;BFSHd=` zwg!Q2Rb>f9uC1yj;RTd&c>G}3DJk{EkYxL?KVhWn25W}8&~>r(r-WM9R_lv|OF+5T zY_+_J`E;?Bm$(qVC5hYMo}L(R?X+54%Rss8J1y=P7h4x6wz?j+u1;Ksus1<+tN31Q z-Ie$>e0L?T0p}Uv9}@a*B1&hS5c+B2C5Ycj+K8})N%?dNE&nIh#n#9q*br-R(v7a? ztgT76z?W;yZ{3l^XD%-$-RU|ar8r`pg5(kFE1^lrIpANM_(RZwp`8hXx} zs~!huM)Fh8!)EIPq{Vf8#99Q7AHL7JxOS?R!?Q(0B+x9)m2hM4?&viQG@9sQT zL2^63?XXOJ?mmjV#l@YV9;tro1Wohyj@wRr5A~>wXnC#)$*2ogNh;GZsX5U9jMSIa zX$kv@g#AjwekEZ)kx<)-@2+mOmZxsRw>$Zr@$JMnR<}xvLaUD725s|g-mU7FsV^X( zd`tB{;@iI4SDL4YkoU;x3q!X#3w4dzb!w_J)O#pfDs#qTe>6~BY* zR{Zv{Tk+e+ZpH5%yA{88>{k5Vv0L$b$8N>%9lMnuoNkh0H%YOZDIJ%$n`oe$l)9Vf zp_`<2TFRTH_MSj=28HJG9nle!6P{hEN;WXx8DV}O| z5@D;=$DnM7M|pw>b-tBnbsH4ea6lnWr#&*=#NF6oLjoIjzs>iA;=2^em`P#&n;03GO4-;mme=3H@jp za`G-X?UD+QhGEZ3)@O99`z7m(%ypg;(P|0o=QvfOTv=7P?|cFye+kCKx8usB_VrPLZ)P4zUU;riEZ0&>$k6$HX4`0Hce}2gGlIoMS%d=b!6UsM6ma93SQ!$^s5&Xui zA469syg&EsM1Jm3J6&6|j?;7W{j3^Ko_aFtInQzWIpm+CgISoZL5AnRZ)a5#TZ04e zJ(=~Y=V8|g^*hhS$T{Ygt`D;Q;5h|b`ZW0!X4kGKT@$mbV0|yh{v%3SlYOhZ+G745 z7te&Bq@~$8u9vLU;1^0euaq)YO6l6wb=iMY&q=zo)Xwa`d!BPWlHE&2fm3KXk7vK2 z){33v_dIdBD|WROx|(TSCh<%aO->aZt`%#{RF4k7qM@#rvoqqCBWzy$>ypY1^hJEn z_#^6%*+rm_#ZLx(KYMn3p86nr8%7g7hx}UHJbFH7CFLxLuSX2$TQ`s^D-_QoR6Y$* zy>f1{^3>2AjCU?xWpMl4h_uG%JcD_~^5zTSI1OrIC}C!wx* z=J>q5GhRNg+FOzF@AHB}k9(Pa+{d&$k?E<#t{L90DoNy%x@KJ1wWqktH7EI^jO)7k zQfe}8>grA(3;9Z+8-+fXF0lz!8SL&Uv|K1<4hLsnCi7Je(__7uLw%SQ2%UI7^A`%; zH&A4R78J32qR@px*9+Y-^3sf3yY2)1Ro9KhtPdOj|rsi9#0&-63?JP?|2jLKh0%A#|TmnjyYI7Yf}Wbe~X~DZWA% z3ibF#`zHHl``8b(;XeuKi9HkhB~~ZSOsq@1 zD)HgOUnRbpSempp>4v0TNxw*XJ*ivr)MS5hYw~r;w=EWf`>@&t#m)@MQMP?3cMD zb6w`MnXhHOpV=#GbXFki#;gaj-p|U;F3297JvO^0dr9^++4pDf&VDZY_3S@p|0Vn5 zY%3=xr&rDuIXC4zn)Az?PjWoD-E#-$mgP>*-I{wx?p?XNa(|ZlUhe7Kzvuodm%6yI zpF;R{QW9v-{655=baG>ND-QcS_~svID*gg=26lY9;ENmm@STkka7SS0XB2$!B>}w8 z&vWo>yak_2lOa_Ndw3DPCN>rOGSl%jidrh5OQ|PzjbJmwal2*+US=4I?{=5qD}*EH``Ep~e3Z7xzM;4MHPA*9mPCdXv!Gd(A>T_X>Tc*W75F zIvyS8|7~oX!xwuk0sYWwPQ^ZNe=?!`hMJU^yYt!J%at!P3)>uOM4vtJEm->*CzkB&`C>QubLB4yE;=^Ke?^KNlJ|iepO`+D+((W0<33 z{(21OFnKK3;MTFszeDKH#xv&yp|6Z*{vX7BQs|fCf0c`lH$lQqVBg*oSbl`KXNr6D zMCLb7WZk|pQNB|rZYMwH_F|{lg5Bt5Y>f*~+?ars=?=@22CKm~i7gP{?1+Qg3oB&d z$JB@a7OYPqXir!ooLs;TS+FPRp#AaJ0xax2XM+xfJ>tJ^lm|LW(kw*^7Hm}y&g>TZa-J6a$ESdp}WYJ7~I|e6uh{?hiE(U|nLwpv^M|}8l94wQCZ~Bjb`!d9B z!M=@x`wHwITXZ?7qJ^-H7A*i(*yA1tw;xndJ?te;?m+S7IP5)Ju!rSvFGY?l*u@IC zuSC8q3WDMrUicD-MazUX!nRt}1nY|XW5~6IZ#2#TU5T7pu%R`etMN@j3-h^opjh94 zu0`%FeEHyV(5sOn3olIiLDwS}7A$T6^jf5B;q|&8=w_s5!3sBm?m#*UUxHl@_fDbr z;>B8vcSt}VM#>gFf;2696scMG8_?@OpF|249YWl=i-q@TEc%VmSCIl=ZNDD;_mP4{ ze+I=j@8~;lpA!0a*nYk=d^6}jd0!l>uvJHFM?5bMSTiu1QgVYb;E&^3F zSlt76F{q-UYA4)7K=H*ibuZk*Ko#CIy&vupP<$ayJqY(mP@Ivehv6;*Rd^rsQMkv0 zDk@ix!97uEm3kbU3$Tl9;SEQoQ?QS3VKw?w@TX!o-=d2^6;25Dz&#yQ(Jb|IxMzYY zyyN#Q+_Qz&s$arAM?DAr0_*_e)|1eM>IHBXsTaZVgQCq~m5eq6s%VM&HQbAZE>*vQ z`%3jH_*<}BZ_#%^ad%O@0ryRyif&PF!hN&Qt@swN!k6-ofb%_2+!0cLfcrL~x2w0o zxl_Fh&K;l%XBfxfZWnsD`V-vusQ19%ss0T24xv9(r{KO<{T1{+^*7MR)Q6zIRv&{N zQvU$`jrtU!URD2s`xQ{!d%;-&T7uBusxRSwL;V}{J@qx{Kk!vc)V^|o{!7Jyex~9< zKUY4`FH|Dvmns?bE0qfRZY`7IDW;0eU+%8a96|Cf7RX`P$ zSzX~CD|DRI9h^$52RId=iY8k<;jRKzG{x!-_XVH|f7PoG+|{6{ajPHP7lA68ZViBY z8mOX~)4JZp$`iM7~jw02sLST9?%TraxbbRBhl==vvqUEQ^KeS>?qJ3a2axM6W) z;wHsCga7;R|D(87o@+g~cusjf_gL`>@r&d4q`22(RDqS}e>?-7?&WdA60C_=`0UnF z?0S*1M8qlg59;b-KPPX6N@o^$wenlQKgXD7gLyWYXEUBXVAK1+Hug|ct$FxOv+i|gx~E#%_~qi)$9;9Yf)!>< zjB{swMM8#6>c!PFsH&+hRF5y4+bkB6gewD!{jCixR2gUpEb$|`icsSsj;6Y) zB@k{1)h!FuM*}Sl2mBHXgqr=~0Lrt}--IHBnio_z1(vt^8-gvXX?CD7v?4%ND*{a| zQ~XW!4S_I~hr|BWQ-hHfJF<#ULqnjBl@X!x`g+MsMX0q2THdIiGITZ0Pf-bc)K+~YerT&IVt7ium z&scONazM4Kn*%f(DF+(^?ABT41Q<;YhZ+q>%7EPH=k(Tw2I#duGB1dln-*#ca<-~i zZK&vA3z_KQ6DmdtgD7bA%y4K)81-J$;%{kv??fVYRF$t6%CW7$#YqzhU)w}WMxpAzdyWs;jpvx zisB0bO@VN*j%vfJQDCi5j-k2PB)RS(@UH#MHx?l{9r$bu_G?g+q1yIV(Gw zLFj|s99={#jg5qDtBINAtu0H@@Yq=qYF-@u`q z@pUMVqiu5JreOt9i_=2&tqpY<_c7GvA8Y?Hcy4|$76C3M&}&<#qeht*b1ltwk_aq z*`>9#A(u*>4))xaAh!zUV>_o78FHn$s#Qgm`~$f-LyDF707W*Aj+djtI-do z#M%c22VEJlGB08~bj;|D5QblMy)cmLMhuNhxGAwYk!Wl~56g{aYD`B(C>$WxLroys zc&GWB{7YavDwYQ7mYJ@K3TIOSdpfzbsSbV1j1xQzn5ZyNE~oM)=r1;gAfXv(GJ4R( zaKXcdR-vup&I+~_pj%k8R3-Ypqg_RF9v$n7YnlUfL5!1E8GB#e(4e)13PIplencg@ zyG{?a)U-CU%@5Sa<`AZV)`nytcSB zirPSiQ(9V@9X@bQk>Xo87A?qhLuzv4QTzQPXO3V5QGr9{qFiGhz(#gfV1TA+0a)XDNy)T5%yY~9(JH#DLcPYtP(+WR2UsH>b zrfO|SF-)!qa>Zi)K71HgFB)@gXi^9Z3O^<`uoJbI=gJ(+xa|%ok;_m~8*<8Z@Hd@T z9-;+%ZiYmfW#VcVLqxb@YyC^6V#N~nH|SML2jz*BUCRO-n$TEJ1dXnQ6{{pPk?MNe zGNJYHx(O<9&aqkFdSMir8d|9vIGY*iQMUc(u_1_|EkcWV$eOfza;Sl|Sl6;j8gqre zZmDCyt7FJLn|q5{LUDXD*3HzjLEQ=cSO`JJ@FLW_4C6!7;@}c=_Xw30j_<@6zj(od zmZiZ670#@11mwsj>9HBHP4!3g5>Kj9>e!j+Qhx-d1M4zgLDdIV%~-5Qe9TqQ7Gx1e zH4TA4vkZ7r4D=1hOq^9_BIJg`KBD(9=|1y+l-o#_vTF%U07 zPXS9e13Q7q4Xu%-niZ{AQ`yxKZa*`^df6h;n^3l)(S3X}bm{21Wvs-=%3w>~(!xf6 z^HAwvodROj)f#CDHKL*Wc_6iCC9Dm$T)e0YwYF5Pf|ZvgK@ALYAQpz|^}<=#dR5bk zU^vty3l`Lm1J31M%B_nV!LlWFQujI#)2OZIu@PFWX~qg#&qOiuG9Y^aBHHT!cx;q0 zmSdXJ%t_2a(`rCp3)CYqM?+)HoAq&YoT2GF^=b%40_9EhC^v%Xj76JdCy1$SJ-6D3 zY--F52Nnlcp^Z5ku@2$n*nz<76s}o1%*s%B844cD6$cg{IL`1atTT&zV;ExwHe#=r ziXDBrtaj#j@SQsaWo3nhR4W}~pDzT@F|63{%sk<{$ zg0gf1CP^fqS%^Q&R)$=K!-f<*}^tG@VTp^4f$61L8vs^QMvBI-2JXnr$cEL&1~}^8>6F z&2o^pr+5J8-X__PuH-p8woziYSv8B<(erTTP6=TGirp#MzKG=s8q+d0n5A=1tcC@} z-iIVn9jV6dkaN}_UBE$75AIP8Ct?FpDKpF%qbK%eY(h}M&V?{ml`~pf9Lq=y7P6bf zlU(#z%*9s(WCKwz>uWGR)rMfZC7%cy2s7aI6F;Y6CojAj%HkC&=VMOo^F|Y-rXns8fnL~(YYV}d*!gfeqBEian*I0Jv=edc)066wfA>G8;owy|#{V9eNah+oqZ)Z&ydSe5-X&6q&O! zWy+=F)ty;SXj=7na83`l?>t!XZqix88I7FF+g|M;2BU3}lvO2mad=@B;T^VE%||!& zqe?T|!OhWwV_v!%I$=j8#(a!sV+^Cq7-Mz-=U??&_c1OEx?Sh?$mU?x;E1Absos@{2|DUQ z`V8=jAXfEK8xe1*I*I`e^W6Xd@w14&p9UN&L}W#JIActDK(tx zFym^(&K_^#VBWJ5StewM&y9i+>@BhYHP}ZSC4_!557T=+^Q&nIG>a!rM4M|kkC^ZYLs}8+ z6>)!%Trl9K5XQcz-m=DCk{p%>R+;Gsi#7xnx8Ohz(@I(BLJ>R`i$tAEzPDZ#_t(T z_DUL4b33wVL?)6mgK@KpSyK~`U}X7(w8acO7s!lH_H}GC+airnX8*d;pbn)yafD{E zdp0ahl4Z;eU=-_#cobGQ*`ps-vKD#QMdEYD?Qly#XPl1s9C69)sW#d-Oau~`6)ZiY z8VAJCH44rAnSpQ}_wr^eC@5G@=v{jDjxAr=n^=Syq`e8|*XMC{(X+T#oWs>S4s>A< z_4!-9y(HrKambv0Mb}BpY}UuV?Ci9sGUP1N7qQHGGEmIwh4%Q+m_xIrkmVFk9@xz~ z&_!TDo&ej~XW!1)95J$2?1+&OA2IUNxdIX?yNDdSeXiG`WIU4b$-d;74LR{Cxxc=H z5ER6U0WU(Z4UHmUW;;PX2eV^wrmtuFc6qQ$3bkO#@V}_bp(<#|)>KSOwsxGFF~Fq!|+o(F~48n$4=HUXH~uHqLOYdRpy6NAS(TTb*ok zN$8+GTv8Aw4VIegMAU9iVYnV*<36li^BLX}(_*eB7LJa+ON)Ki0by)H4cO6b3E7@4 zq1f^-XcslQqG@fykia48?JUHkv8EJ*joQXl(9ZJ;4B$Rajb03?;ki?> zL>Q|vnLkR87Z2%?+Qn5Jld~@b#5iIKWlXKau}}jx9n4{))OXz?83bgWa5jHbDBlJ6 z*16;Kzood&ek`LLG=?PGGVaJkzMl7x?PY-(w~&rp2jVsx;o%-_0~IDycI}8rgkfwz z*muIBbpabMD^|PT+UL1Af^UVvNBhG*Nz_!?zPyWxIHkGSA?w)qMw?(~&(&xT%{;1L za51x1ZirI&*nX^@u?NChCy`Jq1|#^QZ8ootNkzhS(z+0X-YtR%b@^Dnf`lsy>-$Ob^Kp2&PJ6r_FVVu)Pk^ zda)NJyl=oq=i0ml>LqqlZQNb-EGXIlIB>_NZAZX^PgHER&1G40p}>xsS(1v5J{pFj zj)G_eodP=oE`~Y8N$!-uD!rp=PHv0q*L%q zK{=ceLxH{Ex@EFlidCvZ4`xxwd!Y8tFrQ4p;#Njz6|QVWX9F!EXLe0taC+$|p`QMK zbM`}8=zl8#kLf(GYLfJ+DG;caLagL_m%MJ^RbUkl{Eh~CX1T&pCq{UE@+*=yU~Rys zS}M$p7{HiT;T|3jbRm6n1Jh-P8S5loYyz4_84fJb_M{p{f}0U{2aMkwBR9WJFuKga zGI?<@+=v^hOUNM;h?*aci!U(+u$s}MU8jMWp>(#eyS zoV4R?QgYHEEa$Z2sWHnS*c?-i6zXM$!W%@|fj*C` zb6S0xGo$H(Q0!c)Q)H&&nRPDOnZ53p8@FY$saC@$SZ8Fmj3-k(U90ETxD+SEq1H&l z>NDlAD7Gcf@Z{>|yIqGOgL=vfCF)T=$Ouut=1 zL3C|9B)(ziG#ZPs-e$dL4=QI~3wA`S&m5zXJM$#5o!iH(#LOKD8RlZyKgT%KiG7Z} zVCNWSW_z)iwPKtiu~K*7o>^?Ccjt0D{W=x=46kU(gSZoC%0Pi8o?z%r1FVd7`;2*W zpWrKWwmAE<>5zsi4(8MbTfkyhl_NUaeF08>#Gu5qfo(eMNuR;hgY_9~v{3|=tGISP zbc%KgVGQ(gXV{)fJ5p+utDDn9D`id}^DuKJZKPss-ms1#I|1GT$4nQBuxGTLdYPn- zf<^^+o~et2W3jVvqpa1$n@fDzIV@KL%UAe=4O}NWGzL|{ydK6>ZYlG5GE9Nq<`UUh#%jX>ytWZdSBl72kBA4@z=8!hc9cy!L}gzv zkH|$!Kd;8@0fsQkvkwVk^HAuL&v+cm8@~M`Yx3X{Okd1$qB(Y&(@EjdNMv+hf@a6v zSms|C#7s+coK3`%6%&89{BR^@R_4gl*_bS;&&^oZTvD@PC3iUNRUTf;fM6`D#b&aD zYoUAsZN%gipe9_~;hK$D0#{9n3kgfI zBwI$%7t-e2UTEEp>VYlc^C?bATHslQbUT)1zT;@h(L7@fqElmVq!eoiXVkT>(vC&q zhK*5I&au#3!`PZJO4rR(YhCAw_k7T+{2g?LNlP>kx0_l=gp74{MO7@&Q4Z4!#NQc} zGa5$}or3EPXDqVKRT{WDwtVz9DVxlvTbrRLnLoES1#t-+W5J3*coDxVB(ryaV__W| zaomdH%YQa3?+7P#gcTiOrS#!W^&ulkXC5mDMv0Tx*Ih)aBj*emecHrbyn~=-FS$)K!O&ywoLsv%kHa5{t$yUZjiz+=x$+-_*Wawm-CkqsSMwg)FY zV9I2@8COW7kZ;J?KuoH{Ck2qc9D{s|3A>(kIz`iWLrvzA3;SaB*+MIDYRb3cbfkeW z`-^9b4k%G~ibF2r5DXE@%ktU=M4K~~NP4fGmf@-$WDLT^(b$w$^W?>}XdT;K8n0Eg zNRw{};eMp!1PAw^M`7{O!OsYR4W*@GC(V&Htg(&{j!1c=rWsoz5t1ul zSSDesm-l5QyKo~mYQU+oM4&eY{E^u0VM#Zd03XuUYmJvp^RF_;-)F2WSy?e}(V_#g zZ>^n0)^HTCPX`sTZwCfTOpP7Rv%dqf?@ZQVG{Z(CEO%B94#698l1Fhc2N{a#&Ezn~ zV2QI=68oH4N6eMP&mBm-&kU(srPP#m%IgMlt|3gE$jDP}x;w!Is<wqJRs0CLk92Fmprh}ZL z{?1xOQY#&5g+ zi=&t2xxjo`o_oRnMKC*v{eFThfMfSPZFcmqI_70wyoZTy#zpN#LH>e3%-86}2+5sc zRBsr^NPKXMX%K=j!(JiO$AV(`=DmB^&<;F#d7lrsV_b8&8ke0H;bbZLVtFO5J zJ-3SSO`a-){v}Pg3?8h*bOs%ESK3xglcEXH!m{h;cG*)@vWn3{4T(EEeh~K416FgwF=zX_?pmc!z%_K ze!l6L1~lRuK@_(D-wvYWa(wxx1z#%);SvO8R^Zu;@Bd(M#218?!iVDL05uThRw7gc z-xy-QX7~gl+l0?kRUpO|_$`q*RwL#hzMw&wnAA#2IP!$6j??tnJW5>wjO|-HmSlg2 zeAJyKAFU=I_2z;BYm z+5{mQ@inLhXpB;IDVHG^OTee(X-K^urD_l~1=KHTLC=e}6VfGZG0m&eLffDl}7i{ZNjxeJTdbX^t*mt!k{1Wse{ zDLJ3QTR<1XFtN1J($>Go0U}^?qhSGC85|Wy8^)8P=4i1CAO&e~ zWTzPZGo^5TQFQ@Aa22s+STe^AS0{|4Y)A%09d^?!K-C0HN-Tv_H&hg-wnR_}v}4+g zxzJpNe(^)`2HE9cMRN|gn5)kS%jJXgrCQa4B(#oSm$eb$VmV{=|JRDH>ZoWtjehu4 z*ARTDtDoeFHEvg4$I_V`u7CX7M)TiQoK|cRl3#>sWi`gChufr`-B{7NC364Z24QEJ ztIXNzpwg~$;M=h%IxV(mm58GWVJN#2GF&}%NS7NIR}ojL!MoxGvvs)hdc~opd+}sa1f3aHPez6krY_FYTAa~pl%vG%4U|UQ^P}{QV7Qai=6Qf)&q27~fo$jwG9 z%V99|7!Z|9o{1`8i_I36(%FyW=dzADNTRB@4H9$-rbdvAxZye^|+7o z_|A8}_xbMGy}-*9XgO)07;iJSWh_XHDb$A$do%nXe>K8HyYBU9#W6KH97jE|M~~7L zK%J4-1@fJuZ(42x1Z;ig^*xp{mQSoHqvi-k;Fz&Q(S{HYwO3Rl^_G-ZS}iMyHds+B zMEcMwsgx#-hH2NaRjtJ$-Ab!&{dm2-q_o-bky#TeC~b(tF3=#35r}D8N+KSQa}3h| zt>Ol?y0I-K#QITZ8VCA!y|oSXZD{qWgVa5GSkj2bhvjM+h#$5TqHH?0SVJ>ZMjO`A zM#TO>=|6!P+a4D0eP~IFPU8Dz%|?q6X-h3*xiw}<`Vk-2u#Lrt?I?GY5S3B9xXvxZ zR3b{+(Fiw<;D|HnP0b_>%3vc4mxdop3h?e5NsS%XHHuP9dl}#QyA1|^KfbwF*0U}9 zK$pXy@IkD|4#L0hi7=w>>`58>KC=wA^9b5v#k%ew+Qkurj;2oGOfqEMgjzRKxDXHt z$*f!l4Wdn^-JXng zHkos|Tq0L*1Wxoh_=*plWqp6%27IsZ)mY=NMHb*Xz!{Od4X~zL%=_@Q&yDNXqurHe z7{^VJ55`uzu~Mz4x@pn6OYohVW{zH~^zMRSq{=MYm;&uK_J<<|S^)oS3X}uZo69L_@5ji*hgM|-vpoczV*QNrYQK$ilK$v6kqmm>dbo%POZDT&JJ~R0*BxasU6m0sqa=#X;wDEkkHw`HU_g+Rd8_o;YpY;CdcW2 zXwl3CYlTiqLAB?$POTkci#eOX1&toWFLhA&m}N=G&IK`D>HRdCs*$hmTLep;WlCau z*GgoW^eXkNoDDAb_n(Ps*A&BoN`tsc;%$!RM z(mgnReT5l>*J4h1%HTD;71j*kN;T8Q(VGCF);|m)8q&6=z+TJPzeP*s`sg6~Tmiq% z{0*Z&J?_F4Js~3mn_JMi*u^+`PJc=NX;&}F$XVeulD~e;W{Hey!mkWsfVev+$>kA) z`yrVk>lyrWaFT)UQqQ;JoFo8&vTa7wptfrtsG{M8vVh_Ob6c`*N2#Eto6zprU3kYkrDV>zRc&U9R3InsPc0P?{ zB00xK645vv2)^a}fPq<<)<}zEoc1_`Wgpw}0U^0$vc2fFrh$P@V}f3N>p`0XkaF^Q z59Vw&Vge@GCKcjG4Q~aL3G`$?jBvqqfL~j#<8a<84V+Hvnfsf;YaPzLru* zd$a}Cj09R{wdhYm_DQ-UYi-k%&7}d}h*o`S#$8s+I zlbc)={#MXoZw++7k%y4=5hnX!qfJUCZ2E!w7Od2OKNmEjYr4!Vx)AW{`Iv+xST5wu z8?~d3Q4+qci>NM2TG{v|4Gj{I9fuUq zJI3)9BM7xbHZsMiBR4|_@hWuG-3%O)iNn|?-&{RR6)+X=!CHyVykFgYj#FlMtg zV~}1W(&#Z{D9gH%jx;?jLc%9H#hKH+YF1oC;Psbhs ziE4RlZU_gd!R=0(-6ft3_?Z3IpdX`$Rf~A-)U97 z42U@4FTozBe!Ob29~lGK)m793>X~lv(Z}w@kJ~$JbW4HMN8NmcuD*jMAVEicG;XpJ zSpRNCy^6M72{zQkMX@F_xzbn@v98}Y6TDhgdpn9`xoEj&R;D+Iq{T_CU;VuMNzXj3 zow+zpm2uW-Iy735fRd};p(UEC9djmyR!OSIiIh__phB+gG^V6fYN=IX&P(OP+-d2T z=3i2JDa&W4+#FH!9)!cW#8Iu;H}iNIvud58IOKIg{s|scgkDUK`F*8a_yUOwK{Ir_l_wrarxx#3km|EXOa{ zgr>=2%`vbZG@(x=oO=3^Q}LQaw$)tE#~*B|eHaZ`h_U-cPDlcYf7(baOK=d1LzF3=2|ot6MMtYMTleURN)(nulL z;Z#A~Ix-$g+_3v0HZ8VyEQJMktyTt!<(>A zikQ4*ISb4Ii#;JX@~VJvO&u8k)}IP;oMk?l75po4xd!@S)np z0z3b2auHwSn~;H+i(Ev!11@%1PN#`QKEmwu4W~%>7Mz@{Z#`R9&Ym^gOqI^_oA7sU zly%&Gu!!zjr@qwQD}^9AgMcXjCrl=c1^m7e-cLk`9bmFx)X0 z)H=-c`dGq^X*EhhAo<|}uict(izL1s&8j8KtSOnvlPL~#h#xr{aCAG`mD8yQ&N|j; zBt#-54Y!i4o)OcoNiv#raCR!3GUBzNq}M-dsM|J2x}f?obL4i`kO$U)9&zq^Q)0gQ zL6SNbE{x^o!xUq&QH2Q+vvMY0q@$W7o*aj4{Lp&voY@FYGG6HNaR!5bCirZek_JYG z5}@5dXCH*9wAO}Dv9vWn;^=jNGbsWPlZE5fYLQ})UdC`4!X!Za81Bq4IKGV*4YZ)SMjzQ=n3iBk&(L zgB@0fn7L#bml$lORqq_(5y{|!xq(a zUW6K*%!DQx1KGRrox><&vuV5ykC|fR9>%!M*it}qI*eGDX0xQ93EyOvO1;fZ*gC%+ zJykU{>mwPC8+8<=YkHKKpvRlHtffl|5e+!7KdNvoe+YR5T(E0$W)RZ7(t!)t{Pu%D zR1HdoKJ#YIj7q}T(S87v(H-l#I+fAGhjjRQwli!bf$P!Xfckj77O{B3mhg?TjEe*^ z6N2@lLQEEJz=Z9NRwB#%W1WE%Ev5^IwUtf)Iy@2Y8dLo{lUJvwC85Z0-Q{apPqH_D z%*s%l9+sAn;rAE~Yn!I=IB%rw!q03*H6X+M43OUG@wTk8{a5kQKNCUIt;C3bJL<*22% z2_LB^s13MOCzE0}Q-DU4n4zs*-y8($eBQ?Zjv-h)3DR;BCA)Ff?VZ#$ePFQ*;TPNM zT8Dk=rwXRaR(TT3WRdY2ZzOoNxxrXP8qJL%UgHl}#R7_P*A7mLYai?!=S{KWQ=L9w zdYLecn{4?p5tgJ~H=h6@5~xR4gR)G)BFZx}{Rg7Q5w&O~MJpW?+Yd|VJ_uSrK7P{R-3qOx7sVLPc8x7hO4%Yv zgsxg=!Hq2TyQw>L>4G$x zRsmxvBr9r7rwKo7pC+Xr64I}!;Zd&74#jlxDb9)L7&Kq$4^0pyHKQhcAof7kwk2o8 zrm=BS(WXhJQK7P1Yr0Pm*9Q?+B)NTtt>Tc!3Uj?*U5rgjOc1I5rI{VCU`a;}5{^W? zV9d?&_y}CL>&Pd6yY(p`$w%VYtp{)*1+BqVYPppTH|!RRnV>-QXOUbcuJsGUvmQyd zSddGNBME+S1j9vcHqsct)THq(Kh!*HP^AfeyM9);WO3C+orQ+Eb~QHG=8m*Zy|Zzw zNYYv9Dh6*M#f%t10S9cjz*fu_F2eBz6GNEs#fWdoMM zPm{^|`0>7S_x2mQm;c~_ym9fX)x;^6rCH}U~&1C1Bx$_NwbIqBc)isXP@n#`_ctspC#U?;527S4*2?hX03bVLy zSnD^LOfb~Grm36>)&)aO$^oA zj|HC7M7+@!2QQu~s)8{NJq}QSmB%>yc+3P-yuK41Ot8=G48khr>H=(s>Bx9x$LTP0 zJ2Gt9VLVhnkO{)$c{C0m0QE^dDz#T3q)xF| zDmtY+TUSSLY_DER0Vqhp#sW2V*oAmwd=I_AE1cTOIja@z)v26;V2BnyZ`Fhx zfk<>xFxsmRv|w88)rT-_M@Fw7k!w#%F%&NzA@wN1nF7WSs>gB5(LpTClil@f^+{ZzNH2)B6hwOJXPZjXsFR~0Lar&Oex6#ErOom@ zP%NmPLZ#zn=?Xl|(V(aemJ1UJs!s>ir;4O@wS*h=%s8Ynt^qKZLLWf^Bm}fPZCNo_ z3c|;7P2jU~GgtvalsF&a7p(9M_&pcD0Mx6(q=M}dlEYwj z>#!$KSjx+_n9$(P;7+m=fWzY`hGF%o9JJccaQs)GEj+`%+zTm$QvJxKJmII=4%sTWKDCK#08Mdxn6b{F`tKO*F&`i@CHBYte3OSW3?Cy#)l=CV zrU%OdEAYA;-vl9xMPA+~Cgr|1xo)R%ipnX>LG?|N0uEKIT(Jmw12|fJp0nO%{7?~> zj{3DIlUUVFB6^rK7vsp7U=OxZEyHFi{w|5qj!bhbG0rlRV~~)`;Bd}NpQpGZ{PRI&2uVkU-uvW zv;LpG@ZoC~Otx;Q{{2r5U;XCa{bJEQ@A=28zxT_Z41enI6Q}>{g<~&m8226yd#-)< zuWz~PTfYn*fA+|~{M?MaIPaejJj^AvAoH{+9^wN~-E*7hYMgAg2X3s#c)1>w!qGy6 zVQ-%*qFXQiTk*e8%t&jK>jbSqtK2N)%|eDXjDg&2Fc5SG6~gGIB!WF~OXp+dSN(;R5t%gIu(=q4ie$Z_ByR z0)Q4pfcwYtplvWd&-GAsXE07P zBeo0*6I3FoC%W8bz#Issq-Xd@bXfrrykIe=6@(8F%dI?YLut@M-Nz~4!)xH%gMT<^ z6D;Obmj{EK>T=kGV7a*9<#6JhgWv8p1>xs0Lik07LOlUTae|#BFe<-WJKaLCBiM=P0Dm4Xbrx<8wghuUq$BDtq;y&$mxd8e zw2a`Ci3&NuzVw@bu=Vhzw`havA#zci;G3Vcd4#5hz z4NwX5gV_YldSH6PFGHzO_GL&7%pK8c+zp+MJ+lRRdET#AC6GUleWXnRHI>p&gkf30<@AXEDKLcAsY=*Oo~BuA8*z} zcyZmw>-SNDtNY~GCjnIWG>Fp$Yumi9qI~n8L4sR`Wd-EW2P-t`WkwlUMx)R}k3>f(QGKbG6#-=8JN59N`3_zYYdi5+%-c9WC;;1c6~5 z!7c%cA*G8z5a_$P5)4I&$I#g2R&ErRetzXOI0HuXXN(Jt`B&bVl$F}xr0@FXOU_AxEn0=gL_H`cGd3efc(ojW&@V;J-d`w0@Ce4rOAUt6xalRhX z3}7YhL>iAd&OAs)cr21eV2(c$07?<8aGYic;0me4!WR4p9jBE}BGfWz*5f$myG3{l z6?O`|{6HS`$HF`6I4$UWH0n!$)o)P9c}5|}oX|ECi8kSJZ3C}Z-6+&Jrs{A^)PXh~ zI-*6P6p04G&I1j(?2$_sw5Bpi(NQUqPStP3EhpmQ@VHz{==&H#UnmpeMqD^;WZFqm z4fh41%Sqo6F9Z!0YM+D$%8}J*b~31xN#v8!{V|?HNJ51m^jg9rXAY>XfK^CZ0D~5g zAetD@gpakL$#xHJ_heAO;zs=4lel{~g%=mcpgjcziWGz|_BlaIN|`SYcAzzDWCc8qosKmXrsh zumJ`U&ucYfp$uX4b=FV$P~J?v0vr-i^BCxD;yY3pa9I|JU6G@4xd3ArOLg* zy)6X8TQm_X^90@CY95AxJ$%Bw5Uosb1ZOud20#dRFD=$qBBt;vH?L5TxESZS0Hf9#MO5)q*WeIBE-jb0RsfEaLP zFvk{#ZzEF_8ml1f$c{!49bp zAM=_pDJbn+w}~fD4iI{v(9CrrSq|U~Q-cZ^hWclq+Ryj{ZZ}OR2Je+NSbOh?Fd5)d zq5`1>UMLoSf)jEA2vkm>sOYw_WA!yOsGbfgUT|Lqm-iI_j{#oPEU3OItsuOt#gr?s zCq5gqv+CCgMokJv2Ec&T(+k~p3m=Uu;1qjv1foWINil4bynaaXcZi9@2Qy}ld{zDQ>!_zD zlNcr5X`}BHkJ~LSCmJp;<5e<;#t-ZtTH1d}|I+@Yi_2>#_8y+NYiwx$*aTh|2D~>+ z?8a-{t{I!!a^Q|JG`#fU6=SN`j8%8OB1$G6K; z6~>_od1{R5&zN4kbGdx=So|g~!7_RiSGi|=w6{Etmk#3HrN#_p%!)HNziaxnhj=B| z;&Q6@7e4Xm_ZIA|tbTCds-vHKu>UI;eZS?~dw1Rc@`1lyu)65H`1BvY=Z+WVz4xiT z7yb5k&ONy9G;!KmGHtxBA&5U9WEc#g`W4Mz?(Jx5j^VYWt6` z`^!f^F!-N8C|3UY!Z#PLc7FP;gOmUI$`k8X+%&#>DhvSS9B zx{Q7Xv&(UHgV~JlF1x|-ofw<3d5_mePHHq7Q;3fN2WeVe;U1MKv1(3j7r`N4nP?REp6567PYf&^OeJRGf4z2Vf!Fy$g zKB;yq%6qWOp;2y|`}A%5ezfFF;F0h%Yy#lK{<@Wj`xO)4p(x+7%-%D9r>DV;2*c8S z81t+DVg!z5KhS(8Sj7ab`E7T)kyB~B)Zj78^f>yxdi__lfPTcJhZ&w|kbJp6Q+>lVq|@nqDT$K$rwbLfFG%kbU1Ffsl)Lf+CX! z0veGef(T;Zp#}s&#O1Mx`b5BhfQpI%B8=dMyF5kQ!~gp|Rk!>0WD?;0KEL1l59D^$ zsj72MojP^uRNbn&2OoQlvXxQ}{=NC8QV-&ne~ab0OC*;&k9aCxA(MDR;}_^_nvx2Z*cyq-W98Q_kP!5z32L;pV8ma;!QWGm+hm} zK`~p+_}xDb45_`WtSRYOQmLzAO1T=k@GgXV5q=oIb3ZT zO0~=Xjb9Vhnbm7|#*`2S-enZT=)ad^Dl;1PcH+HCp$7H8B;xzmV@ma}KI4Mbi0^%c zsTb=CzN3G=N}b#v3-mY^e44jr=W!K>C9-R{F>&yn<)J_0eteEr}G9U@zs0 zKk{a&xLW)JrM~!_QYnEp9?N=_x}*`^Zpb_C>ph?OP-)Y5Z~gldlbji+sOx_4!Tq0g zo_gx9v(NqAI+xRUU28ln=;*9)BmY{z0dOdUf!?s z(JPWyfBrq!KY9FZQ~x^er0Ku9=YULfY561+lFeZq$4ucSB7>qZ9P`nVD zXav!wArvACgC2uL06c35VXu}ZKnKwxPU%!@SZEImGsC1{j+$r4a$s$~nK1Td!n zB%oAowypL*hmeRYgrbyzQf?u1S{=&zCPdnz7sXB> zsALiek!Ta9YP}3a5@On;4y71E=z(=8Wf4M8szWJ|5PDV}N~wgm|`3y76N`|q?;j(_Va2~Cxp?8UX4nGa38}|9fZ-O zUX2QaF!=FmR1<`EVwlQ-FnIN9R0+#3Bj{K7K>Imws|Xc$?cyx(ou6anVf-kSNY}Os zC94QYgqgNF`K__iQf=^TA8p}E>Cz!qzScsC4x>RGe=abVa%g8XB}PQF^Ip=lF94(1IXM5#+iS1bN+Y@#>#OEHCQUg-9c&E_a&yR;bCW~)qqu8K++l*Nh)md zcR>z!n5Zim%N-`E;(TNlUTn2+TYS|Rbj8#P_vR8dI!OFw5IaC$? z`jC(t?1b_rE(|R~X4ctJV4FT{cIbV`M;pCAeplP5e~rZfSPH-pD8a)xfWbWxq-J3!Lih7k^jQxNmks@xEcfh;C2jrun%wz z-GyQorpQYS1EQq{RqMWFhv7DL&~e)4vOerll%IV*{4~pRt72hAbXxwDHwPwDe=xUA zeplzDqM1e#os$anm_$*j21coEDPM2pNLguMw3Nq|Ln~9Bj`}&qVsHrQ-P0h0P8FpX z)ez+M3jTq3Rt}kPHH>I1=ViToa4W>KG3yl~+J$JhXcz+HA~+BoAACjUXIJvHSgm2| zO(kbJwhsD_fDO?R%POAA@OWgfhN(5<3PT5@q~{JDf*-WEs6l%0qo@|V63E$GO-;yH z!z`2(eUP5gk}AFnsr03E-$){`43NHF)vMIiXoy%Yp3k}HyVRImqBECF6%S=FSJd(rsemE2L$j#u3;E4Xyf>Ymo^G)biS`Y4- zYzBjSMi1^Io?C%uD&C;xxp)MMT1^M9*7dfeeY8oj%F-CdJ?iWx^_g=*-{1lD)TJ@em?P(u}*(q?Ozzm zTL^=&{1%GG09Jx-Ce^FpF*8~>r3=vP3OPt^wOc$3G}5hb@;{3}HObH&2 zu2$V2tg&KZybJ!lfMt@>+T|J9c-Gwj?br^otPAnFS(oiS_lE`zoKjaikBRc+sAHFN z96Re+@m8lb-s<{aK|Ul?398RS1IBXiN-72q!cw16mG5giGGTUH%|ZXfpqkxQ+`1P= z}A#MIjn?RJPriI-o+*ns|ureJmAs|&=3MgD|y8e$zG2ge0U5jJ_a7QWLlPu z>iLfXQiU@?ffgS_L{oD8lbCuk9 z7#EH{4M8?nd(w8Q?WRQM!z#Y8y(%{9r2B}SC=P*5!|ah@R+tHO=0sKga9Br2!6d3y z_8T!F>sM4_C5H}$M<1a*k=)=}wk!COg`+dc1Qhx=P7$7lH!`lz4o(JkCwMQOMfwBM z@*@fYr973YsN~LS9Mm$FgMPw(W8|YxDZO~FsCYCi(mrCnL=Bqs?p>gg0ZUL3X}Z85 zYcdH|r+=yDmRv* zE^Kv@l3(~9W7uFiHG34Tl%@r&qRgL0OUJd{hY^9@H@3c^r~9kZKBwCd?jHse7yhkY z60>WQ(Z%3i+fKfCp;m6LTdao+vTWzzHYx->E3ew(1Ycy!aiDLvET^~z`C%n3w`8I8 zFk|sbA5ax9MYx{9|2N#-bfS`hqeRcw|2rPmFbVrVK}L8>(=&D@V+WgnKIyLjeiXh4 zNtFZwH3T|aMiiYRttYe9;BqxRA$sDdsZbcW6>8SHU%aeA;UrnuTN#zq8Q-xp> z(l(~LO&v#o(q9BhS1m@Kjj3@W(~YU(IY8+Dg)9V9QDV&O;%oc=-Kc?JTgXCsf*UC{ zL#Pxs`->adDPZXLBnX>^i+(N!e}zFB{Ysjkj?iDp3YI6C#i7~aT>5VSm#sZr$4!q+ zG)q5QM$F1jORD0UWuMMcqM>tnRa#6H(!Ss+5D$ipMjKW0K?!xXgJba&V-OA|V=#r) zviF4R9%KvaWc?>6M6WW*%8^OG1SZ45a%MPK!cJK&DId;!Sb>aNkhXs5M_?-)G@sed zpc$@-tV6n4SZiJr5&AidTg@E1{<)B&>u&{5S*LOw403}#uUrln!pL4OZfWI0UnZZ8 znT}|ExH$GSSQu+@%#e<>vB>&Fk~ z%oqgc-Z_%ZId*Uln1VLYzKwK_U^TglEH6eH5whq(g;c*9`ZV+t*1|$~-Mw5Q(EX?r z{RmD`)`@G1djgkd2Uc92Cu=93Sm$o3WoNn*!<@9-_dv+j8J_FWcTAaforp(!Mu9bDgGIL?NnntW3 zg9W4hKOr|1y8$$c=b?9@}YzfhVu=V9@OBEM85NB@1YD z5ZIl#$-y?W)e&ejOf0jyFWHq23BW5!7C(Z*$#i)eQ;gmepyIj2;7e%u(4dJHri|Ii zI`hBDG{-Mfx1mayL=Ij_km;5wv}`W!RK}qp;7di8m5c(P60dZIY3M|5T=N@Y6iBWFKhDiN3!-xQ085ikw7V1=HYj@5?73@<3?EN1$Gi9Z|} zPfuE1e+Y!!XIP<#L2zggP+z@Xa+{>iVmJlkTe- zM_uEl&~KNHoQdjsyu1_Ygr4WErmnXn^|&JT8bbhDVF}V4X;5Sot^F>vcE^6%9%|l@ z)=&6j?*#(9`s<}Xw$v)V4^i8{fE1z37Ckl%dOtvYrFmf#PMcR+>PRMQn5Anl;6M@I z284CGDNN!UMhS%LgLp>;JzWYp@y}xK^!zoXW5RI3yx;;D23dTp77X|zf}!0S3}=mo z+q=*z6p9<54rm;%_od=Wjfea@J-dPx&P$M`f)#0}vb$AWi%2>lCf%!65) z{{SHk8c8cr{2)LV4($cC2Rh+(9Uy(>@tD3z^h1aiFUO;ru-qcrKg@RpVJ}1rnK1f| zS7|Yks}O-tt8t-!howa#`Ai-QCr&;W9~=)2G`V0{yu#u)Fh&`GNbD|33~rA%zXvri zDGi}XiiMPHe8E2;i!8PI4h#SoY@;ceh- z6BEXIUBg&qsR1{0RT&tI7Y#E7t^pJNwRrTwo^OVS)^2r*sLKfxFd3tIL{=uZEj|r> z-70<*kpjf{xK)>pFjuKF2L+M#9L3y>RCQ{hC9FCbDPG6N$M6u}cX0J6l*>YtZ`BZv zX^1`FX+uEwh1LHH4Y4gRu20yu4Us@YB>txj;S9n_3YAnEVpUygbUVgui~0Y68YUOK zF4{{ci`siR%k5ZuzaiS2+@8?TcSCwwd(SdCg|A0KzAF2T$y8;w>u<}8hFSSS@g{aP zGd@9L$#){LGaIUl1rK9gpz=*-W(<{o_Mf53%lZ-5@t=c|PIxDF@p;yJK9sz=BfBVb zTO${37mtey4}++AaS>X$QN62fQ?6%s;>`2y8rB=5R89DQVpw6;25)OY*Q2`~+b3>R$A5 z46X1KJj)gDLdN+5dg!O_1vt9LX{7%|YJ5h#j-A=S{!mG5CC7YoP@2`<}bP-6FJ=Q?~ z1ZXu8><>se9vn_hr(~^w=E3B7oh3DtUCKZ?VK-3rSp)rB1Ilh=pq!+pJ7U3!#4oPK z?I0qhqp}cvzk^bN-qW3@)2`k6;+@oJI9n07-h)WC>(+mk#W{cE>WxyE#b<4q6Q;{K zv&)C&(Q}HRh(#ClEU)^D5%c~B%VOc{=aPO`kx-NS^!f_if3o9oF~up~W%$In!0E>{ zP7t_LVVEKRak4FK?5Hw+d%=gZe#O;78$G4XO*n}S#iNjIqjU%)&iyUl0eneH(*NH< zxg)n<&gQy~ngV)5&~B{hI6h@a)L$0VkWE~j3Kx7T@Q~Y^1_#ILwpDv3hZqS`n=Oz5RfyOTt ze-6aEHSuxTaUeb}oP(pzSg2kzhEzI5Dj3(!HIf-$-YYvk!W(Au;O&I5c{598kVhIU zr6Vkj*DT!&md0zACS)gor3p>)AYCJq9?CY!sTFKnJ55=zOsX>L-vnw=Ek z5---l<#FWFv`$N|4J@?@OCt)IMK7L&942XgCTAyupUIjZ5L!un>;>N52;TN=JMf;^ zgf|Pk*${7Uh<8r5SL2&TJ=0oYF+1%aG^_Nlb5$n6638$j$(X z8Jfg4)ZeKk2`E@au#CklSsquh$I!y+gKE~jsy!iVv*)X0zo*x4u!0inpA$3i zKdWO7(rZyleKI!Vu@L@|*s`C5@PajCcgy5YSj&#Guxi7}J8snunp+POt^f$jch;Z#fGR(zeCILh8MUapgDHmd~}9CuG~Q?Hh7# z5(~hMeA#wvcYtzc+b~wVEg-{cF|=4Wh6>Qo znhukK85Q$3(w0j?!}XeVAq|_F)tc}PC|g!*0(2Cb(4jRUQ9Z^G$(3h8MH@u$t_MWK zW|>~umh*ty(}se$a~k&(z@5{$p`5_oX>eE0a)Vw}PFG55WK2L;xi8xlA%-o_AjYmb z(vr)7N+#^1U7E)CL8D94$Y=AQkvE-1R=`6sXmJ(LV+s-EEm^FUjOsDiI5G>=vaMl{ zDKvUaLDT8Zc7sm$4tvZteTBY4>~!k!Lu$g0RGZf0yVO2^4ExFCSjU{0fw#qWKQQbM zSH;pFj~V@56C3zK2>*4g6ED*=6xST>pA&(s6gjFBY*RpXP8n|(>|KQNAShMg zOYO1TJZaAy%#rrC^SMku*D{Egs>*?j#0J(Z!e^P^MSLw-Kx-T1^v{9A(#Qb&KK~U! zVPWdLXWJWLy)6C>$pN@Xdruc3X{eGNe2rRQ3PY}LFv&AxkFHT6ml?dyko`}{WN;mE zwWCOgt5xHg`L=MCm$HIHgeq;xwUiftz+0Cr=dx{-K(ei z&B?|MSFmGVWhxF4(XYt4t(bi2Et)9_-T~-KSXttZT~YYk!17p|V+~8+MSlMZqJkmN zJ7eD^J7Z;Eeh!nX#yij`L(@${R95Y+PBz&v!Xx>n?X!2b;>G_2a4+wxE$n$a=7XUg zJg-h3)a`w#;p=IzWXqP)$(70dKBlpr>gf0KpHYhMFgySrGDu+3SWuLH=nySVxY=z%8o9fTXwnlRY19gu@) zc@{@d?4ZIRWOfsC#k$gwa5YTIv(=yv^-*r_leX+4)ca+7Wxs63N;+|oqpot1+%#>K zeV*f#%{2n9G2s0o*E1fG3dV~M<2S9hKFbEZ7bAO@2Z;2*peI|ApsB zp-%@iUllYb24HXNcK~%EHJ`<<-O{A>Gz{CS-kiQq4jx0eytQe8Jq>q`Cw;D6tSc}<5Vh10n zV@dhnLh=LR9}D@M)0vBRVm-y_?v}myxwuB*Z$ieL+so~ldN+NdJkv%OL^Uu?%O>&& zzZ-dMJvomqyI^}YlCdGx?5IyxH(|g(9GPJ``uSqE zeqKYVPpH)`v0mM-pHLsG##$hD(U)QT&Vrn6Jz96##m7NaXcjUfr}pJDBPZC>BP)m5 z!7Y%B?qgV9bGWAFCazix(aBCg-En{21X>1ceNB)v0Rid+QR8q(GTc{`RBZ*VdkQD( zX9hZaVsIB|T0TcvOP{@a0tia~(0fFS-$sP*#-GG*4FixRU`%X1m$2DS_#wWA(2Oi{}OVrHv4p!7J)ul!6sYN8vb{HTXsJP5ID#*k1q+shv;8y-=U}MV}No?`$k|s#vJaPmE1UffbljO z#aI=M!j+6h;aPB1wQ=?+f(XN`_Q@Ttq09d2xSYAt`>7qb_yTg&H&p*x?2x0Dp}}B_ zFqdKF?7073R1a=J&JM1HpyJX+J7v3BDcqM_wG()qBd20TMAcNh_&pTMlwqf)FyP8D zS)9a!Y&*n2EWx*`UBueb#j9eNHSuBH~BM_>qb$401ZqTnMDWii+P zF#`$zMgF+{OU#gzlPg0b3}Xa>r}7h~VkCx5K&Piw(C!JgX2L_nPHm1*{>yk&TeD$w z0MWkae)}vuysYfrhF9#tn~)p;oyvkghgUJyvVtA_0us?jYD6ynE65HneIPVN*!D%f1lv&_k`#(eAS#9RpaQ3Dx&jk~)UVYh&u4y|e*dEr@WMEB4 zGTBzxu2wxY3KuG_0Jmc;RA938a}>f4t)4l{b7HLbqRcCYCgz7i=Fac1^GSz#WDOTijQ?} zUfWD~3hJDTLjUY0HTCN{%y(YPQTMqreh!ek-GNoBSlVrP5FA7GCd*8+>JH)9pqtSP zZ!K0T=>+?sXrc&BcHJb$QP)Z)oFY^juj6Ln861ZU`as46&^!-)9<|S2^ea;1e4S+B zZoLaXnZ#IhTT+HD-817SUJRs3t(d2yU^2LqHTX4xxpvHC2X98zFqg`1V5gOil5-LQoe?x}25Lf&yLKVzwy=)dvV-|nySQ|M8lWfzeQ;}_u9py^6rjQ~_ z=_LB?-rz%orM)(E#(HNqD+^CS6UJIu2)k`(IUg=82--{v%XIyyjhXXTUjYI$;m1M& z`d^pne@>Nse`nMoKW9=RCGBkL|0C2Ntyr(WgQ=THxs{y59$@=si)@cI`(trn&-Fi! z%9MMDZlw6RyeEJxUXk;#qRW{qrJU40bv~afly}MIvxN<`D{(RWSYZVPFW1KHs@b-n zuEJO&qBdp=kTaGovUw~YJ!2{|%s7b9iaQ zYn(K}`5vTzA^mQ9yqdYEp3iN%2tcPgeJBY$moRKqS_EeKe@2nAClUX3ge6q+3V7W; z&o2H25U2PC(cYt4G|H5;dshb

^N|eCoEqG;J#)BW-Crn2TK4%+4rg+j`D6P3?Y?UPqq?#ZWPni{Sz0IR3(i z;r;;3|1AJB<+(}UMgZOJ0#f`nP|2*EKGB9W_Rcy;?TgO5e`(Zt(}>sDGhh`lLv6@6 zp%(6=~brN*JlDnxeP-ly1chAq@fr}dO9DpC*ir>jw2hzC0gFy@H)A=Ec`rr=t zEa11s2f|r~I~b3by)s$jYA@E>ZBTagwXxjqGL$nB0?)SbfYY!ghkZu!FAU zEjU@W7-A~v<-HN?E1iPSi|BpS2M4@w-Ky6NFmECL(s;gt_AV5C*dOV;)n(?ng=6-y z0fHp!|4N}eyN}ri-UM7a{jZ!NF*5Ta1El|=vHQCyYgbLvLhqlxSckDkg!He1A)A2f zNWy*~ZQam^8r1>Uk%X>3rv)n|gHk&5mUaD@~GAe?I!RrR4q=o!69A2z}BI@H!YIrcAwg@_z%!?8C?A7`i| z{h-6%+QrN%o@~>$rbSie>%PD>l<$Go9-!3`(;011oA#J3z6*}u&|1vM#f#HHTgU7U z<iDRSKNDV7jxD22;6Ob3NTc?O$Z)ALnHB2KDT#Bxp5;K7W zRfe$$>9|6tj+e%?>gr4#DrqWyHK05aTg0(6b_$#y@j%YiSa?&`e;BU> z;oot}J4206K#weSwc6zo4d-}p3Q{p_pr5j`m>9!Cg?(WanYhmS0e7uLNt@?>Q5z-jz1fbQo`}^2Ey3mxH<;(7J*)mXBYbI?s9A# z4my=*Xrr32^Fwoy8B*K@XPSC3sHx%r0B&Im1ciGPo-6F@*Y*R6Fn9(5L%BW6!!QXS5i-VG~v3FWrPxt2?9~f9XoZ-JxBPI5a3+=s9vC z_!H{p&j(1iiH~c@cw&Acwjl0?V8%*dPt@)R;RnlrUJ=`+JtShIqF3EA(%Ru{&3A>} z@Wli-)uR?Kq82dbqA!s>&UY5X|{ho z@TJQ`9ZCoD#REYnVpz&Yhe-x_8H7;YYZUN<1on>teu%(v1d?fu-yr!gl5GD9fEVn9 z(b4wTA&At`i;;wfh{2ZD4NV|E@Ok*fj50g47M$@U`NjAZ;bWgDb`LOyu_2TUh2Z+{#k0B_ z)7Kzmszy-|6f{5-goRy(%fO9h4Ut0;Nq`ak-e+gf$5anC_uYV3X9Tm+SBi%r>;=oh zVA`@eVdf79w8m^YGxk-xxIs^;eNnz}wGXA@N?rbJLPsVSJ4}?!)_*5M} zjp5UE_zZ^6WSD;DSqQ+-jH_MX0l{yAEQvOq*e4DqxZ0IK0vY1(;Y(0N z^Wpv~YrHgCCYcXbL#cu_)U4gX*T!TaxMmcjJGgliWL$9fC`irMoRNaA#CZfv5cUQ! zcG58?NY~>%Oze?Fz*)A2Zo)BW2tVbe07`tA(G4~9I#yds4KpIVY6(m<5*RtCfsmyN zM++`XP-t{m@VMP7o=;?&7m8?sKC^}{Y`pUKAw;hn<2BOhm-DXzRpGycjw+Z9wsVt@ z{$ZrS<1qRrJ~~Rktm}W;4`-|6Xt>tMabtPvY%r4}lbkT7pU=`Qsh&}#G2>+A=;X6H zFR~7L+#aW_38A0Ao3i!@!zZgLYjrrRPs81pUJ!Bj*;~ckmjuy$y8F@x#NFpqK&Mgv zm?nBSDve6OG*Jdgn`+cV>_i`Urk%i?z*qp?`Ry7zKQ4k~zjxy`c6n_xEp<4`EFEQA zE2?-7zUJcF)b(R=)hrm!l ze_8zdA^z=ze*x4r>~A|mp!^r55CyhDE@8|g%3PV6BGrB#WP$pbrs_OW`D zHL0%ig0rFX(tZ)0rxuCMOM*w zQspo4@t1`7E9maBhS8&($^`xU41m!+rcmVxrM!%mC1k}CjAZ5STV!2evhw#CC`2O#)biMOC4j?B9p5ug>ty)OQdWE7nLJSsBEB8nZ0o!&#B>SNGSX z%9*iCyu0fuq$7=5Iki1d6sMbD$)ricUxLZap8Vyt2oeBbNeGYtF4M(=gM+ip)(}EMAVWv)ZqfS^1!J>Q#9P`9Ie`SMSOL>yno(BVlt30EZ6*+EZBhMuE8pniSZEqtGE2caa*9dse(AMGJ$zYeW5Fn8NsHxaHVVP-N&8SFrx3& z=v1YJ`aOlE&Qg`@^t;d7ZA-40u+PU76wB+nKDPf+&?#wFOymmt{FKQ;Ms5E(orU!` zk#Md357rQ5@76G>!KJ%wJ+ua9w79DO-N;=-B_LIKZguAYGPE}yoYc9cB^KUrPG!g% zn$4fzSi{7Fr6}}a4BCQ6Kt6hb>)$~1Q7H5Q@6f0+e+Y}leb|9_R(8E9>qDoTOE&QT zROj)b%gtHdim`c`VcUNN-Htj-S>PHFsfO*}NanFOg;hnpS1=P6Xc_fC!L%^4AsV@f z5t-a#GAKO(PL=Kn5&#*@j3nUz{%$nZhPkbwn^C&PbQ5G2-Q#F{mLgU+CX8rMXr6A@ z(MoR!J{K(Ou)Hb7)g7HR7AuV}-ams9D` zziqMNr;x|r2TEbc?QTe{1huB4lrhfYKaJcwI!bALgMKynV11U7HtU#X+F0}@5BA%q zy78^3hCWGAP2Nw_Jrxd?P$}Mu!mFpCm(>`@*DS(>+qO-h{A^uf25{CGml8TbN;DGC zH9rF!;%~R1j)y|N&iPz`qNqLz1*Sg{lZ8HvKfbfZmHWGJ)L*tsv=vf9;rxr09w zILmMyL>yB4#!U>{!;%7)rWIv$x7CIQ;BEGb?FhQ*KAOhuB-^_%B~=~Y+_&`I zBp-i=Z8p2P%^dYF_{T@TlQvuMw%QC%@&8u;()W_#kXt^q?D?FR&!x>VuD`hT&Zb-R z`wf7!=pn42SmN!q#aNfu6j0&8t4E=dEu2I(|M|vHauJ6TM9rmW|Ak;Sv)}>z$aZ6~ z@F$Xok02wKTf_oii7@VP(UGeV8N_M?u0CrupsN8g!8Hi>4ep0z1JKpP%rgW?HSexh z^8k~tnX$^;vDnct8lF>WcqV`r4)$!$wGKWxs$=}1j(^{=@z2^Z{?nTAm(Mj=g!$M1 z50Rff3i&&@w(XAk5XHlHH#yBxZ49;BRUU^oA2nZB)J5f4HVRc|?k)AuC90+yi}<}P zcQ8H*Ri%zj6yZH z&eL{LC5Z|bdPGo7B&xnqsP=tpR31@b={kaH3Q_$SE^bt@PJC-r38KQ;`v@v@19$M6 zQK(jisNSmcx0uckXaAjb{x-wI|DDdiEj#*STFsqb4u1ZRI{%LFH#)!If9IWlN5~tU zUnBn?cK((@OzN7H=Z3JwD{tRJ&Y{uEM@Logt~!=E20Y3zkI$xg;~6eXh^XK+;&}(2 z_TT^3xTK8h;h27N4*&N3Y#Be^($AiR{vQrZ>o_p|znkj~ex=bodI-F}0gzGTYjsJ# z{r2ibC7S0&ProIWZ9PC(MDLxn)-F-E4f7&PrO;l-zLWMEA)9a6UU1?6H`=R=B~$Tp zq@e~hW>!L@rz3mR!33|E$LikM-^A@%U}@xTiDpH@1gmTRk54 zf1t-rS0h5F_1%caqwT`G5n((ccO!CzMEqvnjkp319MU_hX@EGAVJm>Uzhs-NJMz^>ep-F#!>*-X?oCd%87yCFWD z`j%xVV93awi+o9t)EM~QpmF&j?_4~GiM&r=7m|xa<~|v{e-Ac}dz&yZ-0@w6t#3;% zoT2N<3YI!?qhRFjKrFq7cLzpp3A_Q&w{c6LwD;xU@x&dq9qa$rZO0X#x8%{5qc6?E z#Fh)(nb5e#k@|E8e9Il`llY#iAdDUA6KBa$p6G!aeZtytC^tF`2HMepMsyEz$1pED zxyhSvKsiY;P?)GNFTGd;ML!Rr^tcVQrvZ($D7s3RmoBx*ixDq`(ls&AsUg(n8CiFJ zKc|-gC%h&Dp~YJur+j+wbu_fjhfj!Mgqi=7Q2@Ef^qIc!b@ISYc=1gHI{RuS1avqA zH~Rs0b-9C|7!%9PIu=~*7{$VbfYZ`C7VI9vx>+=nW~8`16if&>`K+VBek`|~Ya*mC zU^V@mwUA!A=%1W8YFfolK`yp@n$`%8lLaFMbUx2Qfx<_o#y&*Kplf0I?11Wqpi#KKZC8`7fcvlFJ004)F00{tq7h<}I1OUL> zObw6#09d!z00}_G+$V&k3T|M+d(T6V%%dfrL(BAuPsp=t7^~GuOt-n`4=+KPEvTT1 z`hbRP^Ro5zC4;{Jvc%*C{@p;4Nle~D0xij|fkZEy@Qcf_WU3KP6+e$`+&L_XyM300 z^Ed^`jY$4IOpD`Cq&a7*0rDl7OTY*3_DBsFu6f&w{{<8%pOuZz$R#Q#XA?nvHK|%b ztiH@qEh1KT`l{0rTO2xX)!uR+KQ)6LYHqoQA#Ct;%N-11f1O)SGK4K!c>DE5keiWS z(29CB9m>#qNv5m6PmFn}5M&(3ZhP4VjJ;4xLCXIUih6F>fMu74zKk$#Y8a%;k+5+z zeT%OCe*)g;R$6Rq$dV0Plc)C|?RIbW?8!A;6@=85R9C-~a^de6ir7l(+9lgfxw<&N zDaCfmIvsIo&q|t?lL^vtqX6Efd2Xicx-$^S;FW9!>Q~q@3tMu?sO#USIqeVA>`Ekc^ClmfhnG-V^CSSkQ6WGA0ALwi=a7KN&6e-;YTd+}R7dW~ z8D=P=rPwAQY1qXibQ#eg-md}n`PQF6zV(-~{{0j!I~k+=g}KqRC2*$6k3Id&;A3&w z%Wt*t-CDeYhH6Sbg>%Kt5``LE?npf`sdR8q)~+#N4fDyf0nCKm2s$?@5+J*UB!GQO zj(Pku`{2l`WFCY&z5HoZGvIvu6lV3TizdEfKBl` zp@Ybhb5g|z!902qFZSS_!f_wV-|RasHr;zET-7lb8O!4U$Zs%*=2JMfjT7^{^J4B7 zlk;gKtzpaxok~7<8sw9~2$@(!Chh{Z3r#(j$PJ&#U`dxr6+VNz870S7@Gl0jN5;i% zpkrdvd}{FweFd!hYe4{VBl+ZlE>7e{cKL&Lx6t zkOS8N><=_@JB@rgGXyw*%GFlFA4>M1WcBMfgFp7C(xf@Nt>8wIm3pLuHxSlhNJRK{ zpCNsHl))!E@D3;N<`TCL+fB?KkUe7ieL$ao=iK`s!s*Wk(+fb4oiJYUA&8*(RXnhb zL2E*X>wgXLyfz7|25>h|nAF~s^!|bS3)~%7#MT|L<=m%-p+f$w$;)c+(;Y|_QwaXR z!aLYy3k7tryZBW86uBP?s(czFdJEO*3=Ye4tBbuJ(JfTaY9bM>mH+^xApi*gKxzVz z002aeeuV49Nvw#WM^0lpeiuXNa2QEkmXHkWI;7qJT%=J{@>VbpVuRhH@Ti-*fZm^Y zV_0vY$L}*$2As-lD>!6~G8$uH4o-h+Y`GzmBKQ)~ZecN##gzRzTaa}t>5_V5 z<7h5X3krmneBvAmLPdB-C}QVzfPUKFQ3te3)~*=qi)!St-HEcUn&B0rGbNoKd=!~+ zo&@2pfzHXj&JbRdX?3z3Y2B`jE2p~mz*#452j(pulUoLG9qwkYTtwI#z|EDoiw);& zzJYXnqBCR75R8S*f`K_TiNvgw89L^EiKi|@D7GJ#VRXqwVy*+v)U#8`lpdf&wQ((Q zn0aoeQM=;9poZHJaBv7?lOAUl%|XX6-46Pc4Nm9axw)ppQpf&`6f-DFzii66#pGoE z{4DGz*+I#rP1oz&5F(Vb>8n{#$@fAZO4#>mD|lM+XAON5T-VMZcfpC!soGf#>V36m z3lv@ZyxKVo7Ha46Cp_%Df)Q=UYs)18BLP)^m^h@fNC3OLKwa=rvmAuL{S^AZgayo4N9u$;Z|#|T2TXJ{rj>+0M24K7U^ zwy3sahbgxQixuw5j40eTrfnon!l+rtsdmioE!xO3;1Du>(Vw6wPLQ^`!vQMj_`gCt zUkX;TLu=#7F$bH1*>}E$a%bu~6lRULA_vKWYfylP$ylS3{!Req-0M)l##af@EAi&o zWe|>vz7n^*++zGu6p&#y!x+a|d?}Ph8g2@-UfPPIF23_7V=jC#NU%Hj6gf<62p*(p zXsGn)!O2R?lB5WQGzIqUQ|ScGD*T_SbjKpy-}>g0~9)8#0D zgJY0ZoqxFs7PktmtV5(mEn$u5o9jB+opdSdmBL*Rx>hh7JFb;v7`s-!)GBXk#dCCc zxx_n>;MG%E#RJILGLH=<`aMb%?jKHqKY(C0E#G6%BE;SWr?OJ#PYvMyvAfxN#|53; zkTkVH?%cygUuE98DPDp{#fob$L9X)C_Xuf!z#QlQA^d@{K065W=u}RtQ&}ETF<(;j zK*jhXLdDfo{h*CIx|ofW`FicYR)y`-BjOFbIiBMsb2-O1(ZeWS2{Qv1+|z%9m?xIAUcGT z?A_x2p<9o>;@#YUjsAiI(Dh8~$w))}gO@|bL`~(*EyMpqevvN0TevE7&uRxNuFS` z%LRw_mQPHW0=7G z@9-&7Y-zW;MD!x%Z(@7!SV>C0H>zEJcB4dPe6SoOQgRh`u!{UpCv_jwo`{|l+>Guy z))jH#9SldP<@I~r9NfUH6vle?o&20O_6gQn_C=Lrc`pbUV=pv<<2b>y>A2KLwA!au z%Pnacd~?RqHwPEtW4P5rCdha#S0PIEFnATh92mS^#JiMs`M=cKHJ@i-zi3?l4B zETgnPeJxwQDbULL^ZwBpa{p+gC6cD(~`QhsHgo zub48Jn5$Kw8DY-91Q|UpbEJbw6HIq21!spr7aw6QPfeyatey?~oi-!LKhRMc0}fU~ zT2fpFdA@XyxLNQvP(B<6X#gV?LO18NqHgIQChzmx&uax<57vlz4Qla4(6owM@bsT& zanyxpLjHhXEFIu|E|ciwrGr)!GSq`52#ag&=`}>1Pd082-iETgt#|`Yl8Bjxvxt`< zN1?;Fq~=31Dy0V=IMkm1I4q%mGD7f-_Je113WMmBGBiDbM5xs6gkc@&+lWFn5|exV zClSO7Wd>`jU`4Mj))yIp1~W6S`o--yPq>WrX!cevL@hcL9VwwNP7BvY&Q*thGrT9$ z<~P@++bfR%!8a}3c z?rSXgQ>bF;(lMHoR*UWZG&ATiZnLG-d%$BJ@9grKLiklM8QOAjTRvwq_$yQ-{Gv@I zE6dgc;10Je52A_CX2BtBR`EX)1#b{u8-d4$K-@Fy20<9BBnp|qkLWBH)PYVRU9KV9 z2O1Da?3~UVE;ceVnu*(pfR*_!IKjtXO(G#w7~Wi8;n%;Y4s5b&NAOXg#zHt&<;?6Q zo2Wob>i2F&KF_nLg^fG^RdA_Afu%(=&euosI^-T8)HnK@uiRwy=g7^cdpN%1!xeFJ z59a9zVWi?0K<0d5r{O?giL)-=2KWe_~Be+|wY-{m3A~GNE z;r*jyeY^)c9z&%pwK}%%L*f0Mhs19AT^Qcen)g0^r>~{{!_ZuU9}i2$%W>Uj@1Q1 zu{OmYM{b}tOQxXQCgi3zufM>k}NQtTx?3_8!pEe*bjxZ zy2|7i-T>ny-OrPiDtwzo5>Z)nX}Qi2eOG*FfMWP+$&nCHF75Kv>yZ!sd^hpX`mPKWt`QYQ4b zLTHP4Iq*azy_jzq#M?7ob36~x)fM&@eEes1gLN_j-N*TXs21^}Rf5DJMEC`S#qIYo z(t7e5OLPiJSh@F5QuCBmu)K#Gsoitb+lv z4o2Ggl=y;UwY1Giao8zHJENs-GCKZGiSKSmJU_b)mHZi_KgT0KXQCav5mpJUnsu65 zR3nh@!n$H17cIf24h^M!L33MbL+sW)LOZh6`uykgx9B*B{1`_N$T05zf)pv%O!;iH zj>EQxjmS)@Yb~1|4i&RfEiG5RT?M6caq~n9iTZt|B)ZXdHVSHB4H22up!FkWF$i`U znkR~AzK@zw@4Zx?t)(A)8u*3Zf_qi#x@I?2&BF!uzXV^E76hnvt2uI&f+A`#+Q6lo zjawWWdtOBetp3UvhI=LXp8mJ!3add+FLKNS9&vnvWnoAsoQyQUf0XTiDWvxKX&C;7Q3sP-J>dkF1OjtVs6b8`-;pKS_3i z8f0XzPl&NA@Fuecw6W1F5kuP*OqDDIMYBYVZC9{BvJe!_5;3@4!Mi03LD4J`qdVS+ zRPqrX&DXHLbB@&cE=NAyCU=J+yJ3gZ<<5u+hE>GJ3!ts$EcwsJ`Yf+`kNA~X?+Y<* z3@ABbyc@hZ+V*ObfT4hvSon&L5Srz`g^Z#*Ya1=&M-e6yTOd}V z%DFVY8JgB(2YX>AnAA)2E=pgLAdP6`HLLlY62C<{*5{No;n^suWpy+{Tof6cgE0)N z}nxcmnMLZ+v-}F0~4?$l%aAxR!ZZwGd@+fSc{p&f~+> zr~^MteF@6vl9Tk}4?Y%_&tj#gtq|M@I0D@$z`+B-ac1?WZ9HHcJ^-5#+@kaK0LB3U zu!-3uo{c(y0U2?J^cc{pM_hb`4P!vNHgsS+V*NW1ZCL+>SL%x14nhrGGd{m%W3H2m z=njU$`=CAe5hco&XT!4=2ZTzL^MZ$g2CjNtjSwECN9Mbnk3)~f`hW&E4sq?=j5Uw^ z`^`6{tznAHU1clOf?LD2@6W|PwkRBT?y>gxZRo$o)vuBNy=)$Mm141DB?RS#6Wl)$ z2V1eFe5e`SSplyVbnABC9i^DnJ{Wzm-P_CNif)>#TkaV9>J~Hf{u-^Bi}RhWmLJCv zT;BN`fD=9j1zaD7o22Yy9N!3Fw?#fSbMBrFzu~weaqiThuN;)Uv`W z#WUez^A+S7__akSD8#iJjE3rckX4w(fekO|a9(e~!Z*S77>7LE6ZIeXy?}We?@qP- zv1JMLR9V7;da-;-ePbE+li|WOQpYDiKcY9qWFjnpD#83cp>wAH4FzK8Yc;IaZeNr35%4uG<=~!7XvH7rKVw*XiQ2 zS0C=|LpZ5z71YCONeyE$2Ullwg58RhOv^@1olTsfxlbp$23j>ByyQs7@D|YZe}~#| zoY!}STqrUo3F$tWGCq3}dhfXMVi;>Bh7`V7K8#g~kg$Vmp(h$o=IJp!nNHqP4F$sN z(82|lgL{W}lsM{O7@}dyVEu{(Sf^6>R+>~&cVMS{F-&uv2Yhi#>Z{*OO_7eLA;Fd= z`=Ei)RCFyDm-lBNp2_XA3dza6liPK4i{89&08%ny?vmoTCx$8Z$he|E=Ca^?ZNA1@ ztk*-!2pF)2&q3kfH{@jz5Q|aP=0Tp=d9guWF~iH-D>!lrUlEYQlqULnw1!5u97!5k zicYXwtS6<0sSbj;+@aq~11D<{Ay$`lL4D-*aJ|b_m%B=>fvkfM0DT&3T6m!w+(uGc zU2Okxhv5IYMh}C}0il|g1Ig0Rl`;QIBAVB54h^y)@1J-rTH9|oH=F%dis zc_0d>21HNs&yuLct4>W>r zG=itkG#N(GS`T<|GajIY70>1xYy{lUdVV|Qk1nG8sd%6~Uhp-SKNE0M{ze3)+N0?I zisk>N%YSQh`K^ueXYN$5;4@)x6e_C(RQM<#S=lriRWIO%m6H+NmX+Wy07I!JmVu>; z2e4pSx4A+CfEz5QA!wB9eGIZmM=|tgz=KppP+?iP8C4tL+oIYF(6LZG3V85>MuoNK zW>i0EpsH5KF8>hV!P9u4R#?7mF8>3-4J+;aW0eoi1{kur89%|7@co6CNJ1!M>cDs$>+ z&O^{}w5bs+&8Ms9> zM)2ZY>d^c=6KtZG2o?Yy?2QL#eP=YS{Q)<$zRdEv&TlZNY2m)bFt{}gjv}yl5CoRu z0RmVhX|Bv6fExnq5EKGU<%10XLoFV}Pw+Gzz=HW*GnUPO8!XBBbv9=+sM-8RBe?&9 zI`oHOu!&+Kn7kWk&Bp_@u!!4CYcIeJt+faWfu{1oZvh6!sok~qV1=_8!$c$)4Cf+f zg!(}Sx9Q-x4Ns;alHUY5xYhTt(Y3+GLb@GRyheY+YISM>esMS03>gR`J2S;k;tqmU z$bfCp;;vx33X99ou2b|L0$!=eeAv_{j!Xp^Ng!NcFva*5Unl5g2CTk#1|>JaVM44o z!ASrBc=Q?|0RZ5(YJda)fN!b+5&!@Wpaw`_qgDJHWQu#@TuU|NeQg7imxMKtPic>Lne}@_nqMzOUx+WSkn7V4urqJKUu%X5D zFyI<`atoD4VHdxNxwEbU?$^>qYEq9gt=^Rhr3!_iKftM}kwdd>A9R)+wsc8M!STZ% zJTvv)x&5>IcbUEG++7KYtCe`Zc#u-lF2eoi2V?yS3$fD*qW_2u@S<5#UyFZm z+|_6BZ!$9V;~%Cd>W@goa)-QghQB0vk)*I9r9Omz58z(`|A>xw;`ry7-!KkInHsw4 zoAyJttDcbOv-142{j%+;KBvX;)E;=c>Trj7PLbzod0ykJL+VXPZB=(V$KdVt0r5F; zSEUn#ml77>`z8qKPQGlns&}WD=c4p6szXiB5Zj~j{8I~4ds~@$c`Nh(u$8GD*}t~C z>TmK)cQAZS$2xFw6P}*>N{5B#ukh?p%exNfa#d%ZrKZU9!u+bdtDZu*Rei27C*G=F zlxMP=`0ty*+6_%4hgVKy>V5M3DW0y%Pa&RjrW`cIRbQI+$!U;`Jbxz7p6UMrWOsQU zJN+TxSv%bVS65FbSKmU|Q{NHDFQ&6z2hJe=m3VsU(=#Z~`|xztzhY@_b01&r8l}lh>iXGiS2C%V)CeRr0)Do)6A^8IW(!B+oA+ z?5TguBtJ(L$>DK3?Yon!*6c){Z{CTJ3rfUxPwCcDhx&>Ht7o_2Jpff44lpAP z?vqlk6W_cb&MyegynOwuT|I_a59E3fdV0J1vE(es?&@}&ovNrJdhuzX*{)ubv`Jh! zK+KL+FhT8A*GOz4Vm)e#xIK2ITxuuiJd7q z_foh%6FJvN+P-R`G}HA+n}M6c_m;Ff5!(r|{U!DQa#nFO_hAy-Vq!;2?2m|bA?*Z- zDVs7oSS^=W)@F?kQ5@;oRky^BP?t&_rXyz@H)>ofX$$Q0v0LK=b)&=%MOqe`@p;L4 zhU7d$;q)A^_!3*Cei}ofT7%dOXwa*%PeY>DAjXw!zSn41pOT#CtJh*S7AGcRNhOZe zh?vD#`y9sBDXelK_N%#!ZBPX(rqb?iXvJ1}7UbC@&*}1{cEJl0)^ zvS-ONm%It#smWW=*KUsQhUW{(d-434JpU-qzeyhAu~lp8Ysi0o>RCJ=@%Vh)BPW{5 zGZOx>Jb&pC^J`u=1aNNp7KGoMJ_uor;pxm@VuxOGNejzr_yKM2vSaGVHbTyk=bE;| z0J*g7C_F#hcD$Wc3$jnyhhFlVEc3)WTAi5c=qTXX+d)XF<0d?J>6i}4{EiBqEEQ9_ z?pjK>=9u#f^8BhiwFD-0vh2)G^4TxXUFG?y&VK>Vt(`1&K${njsqb|1No=;Mb-Zg5 zAepYIc;>oh;(0(D@$A}lFP`u3nhVI~^4up+_|5s1fIOeSARbDfecTK;rpAvW70svS zS-0slffvV-!#gCW&ZARx&M%Mq3uL=uJoB6<&o$#o{h#u*ClKz*vuy(5d3pB8Q|HwD ze`CUl;N1pZekt9pp-=1J6?mqmX*FX8*-`N*VL!d1@- z{11SHdfPvl{4BskAk-XPBWguVU0*%4J*LL>6Z3RDU3Gf@5g2_YPsMtxTGh|z+I~{J zqW=WIukSw;&;RH@1J7^vpNq2BSBW`_A&{~U%#pGZeoDe0mGCPP{>vQVd{dsOxu?1C zYUUC$L!O$4xpPV7V0kW==SL;yEpy53wsdu=PYadA0IAN0k@iLH0{MeJIWlQpu{CrsJ~ zq}l2=lg7F`>aQm4vq-~WK2=j--Qy}Lv31EWAuX=5CXJGC)i{&(b)>-)Gij7dLX}L~ zcaWA)11619N~+yV+Ve; zsdEyiVLbY8iTyIhR>8J1`P&q~EU_G4>keaACsyetSpYW0Z%QnY??^IrQ~cJ%`Hfi1 zXA>7Hqa3_&CZEM5W8Ef3 z&U)1TCPvOCsSlVKIh&%MH8FBFMNPu%Xv~|E{mG3`fjuO)F1cHB8e+$o*n!DA5L;(r zCnc{y?6W53OIl_p;U#&Iq!n~bT@B8rs8u2avWVk~U3UDY0Lss1wuF zbvi9cotOsyn-nffcBUT2tnIc)x#>*6-=>ynsV8Mdr(?v@NUNrzu|*QQ+fbO6dLB9N zHL>B;ONf14Vy~n=2%Iz2w0rX>K| zAb*c0`VpI5kL`{a+#8d25Mn#mV<#XsuO2%WvB7%mVy`2%K%F7fAGNPU+HUGB6T1Pi zJ=98xU8ZjJrs2z&cS>wsl9FGfz9g|tN!D+XdRAgLsK0tWu|=wa^mh`mPVzsx4 zO-%0;+f%KS*tKeQdUkAy>ZCiT9<|8JUTSZNZBh%<^J06ekDJ&&>5H*v=4&P=C9#is zR)q1WMM>4(CDxa#AkGsnrr&t4>TWiJhPh7jbLreTq6>V$_0Vu~XDJI!&!l z9~nDUT~Lpm6gyo_$4gmgInq|d&Qga(u?}ebw3OWNEZ@>hbhx zI6-or#MUOaq%VlARDUyRzfac?>zq%V>(sx~A3&_v#B!M{V&|&%1x#D3a+zymzB*_( zowJy^ITom+>#>c9onDXK85>gP)ni|Zov+rI*zTE)u?y7Y_1K-U_p6VY*b%@vtUgtb zZA9#ICbm3tXKanSzaINi>>~A;#MY|inTKL))!ut(J}=BX7W<(3ox~{5XJQ{x|CHFe zBZNol{%)9Eh+0-^_Yp3T3Qf$aW75%kd`j%I`xfx8GB5f-Lgbo zufAzw7f9?;iD?bFUOla2>gtxGt?T7;V{DZ#wwz$ypgy}lv8+`;YFT03tiE(W1LsEd zpAyqpHma{S#U8E4&bKzIALtmQG;H0fexYOPw#-`VHubuRZEfj@eMUJ;NnxEzU}MMa z>S!H9-S<^@s8i~(%hYGpIrZ4G*j?&EiCw1JTbHQMsWmz++24A#^*MEwj;Y;RKZ@96 z_1FgM^Xgxw+-|M6T3=ATvUGVFa^7uyNgcjS^Rid#6|w(RJ%{Po!L9dN_o-zPTdPiP z{hIZF>N#Aet!{nHdPp5#k8QTTq1H(3GPSz(=hmYtb2M{armk!Kll8dz*D*TwnO4XC zuIfEj#~x_)?C+@yB(_$4t2Jl;KwVysjkBLs(~r|RpKtB8pHrtx>{|6|>rVC-^)ZQE zr~cA9+y1fo-T&9#yTHd;ReQsGKa*r8w@ETd+NMp~!Cuog>7AQxAx&F|^xl+jv|F6BD zd7hc1P>=8X{eJKFy@l*&uYFm2?X}llYwgSPjD=Li34vdz^UgE%$|@EGo>LE=Z=kx0 z4)ucC@)1JUsA&~T1HV**0-3RWQQe<~E(pA+UNMkx_a*gPfp&(j#;NT~s&FH*42Awh zpn8F>2z^taNf!D^#d4Hvve0YDds&@jp@PcgfG)65UFGJ$D{6~CJ44eew*u-jdEn=R z&MRtH7W#?vYjwSaIMT1FFJ+<6IB%%Cvd~wY->dIfh-3Sv`jJ4_tNE3Efj_C|Y#vAY zE%mxvvT}Rizg7JO(m%DPaxm~$b;~9L#VbD%Q2OQ$LRYA5l~-b?pt95CZL7R05YV@8 zHqaH7p9zHYOI?I^hHk9LS?D03`3bhLS1qr4B2b|jrziJN)sX-eSQdJ!>URO|=kVXdh4cVx z^k%8|ihio zkeXF}L%}?Kwm?^?Q>woJXv_dh!rE8=OTqE_u}ch;tbU;2B>k2^d)2P$Ckj5O7x555 zyu7Ci7U|_#XbJY!+68(rL|!k}I}8L`birc%yg;;E&lQ}i7hft^WEQvRxP`dtY0=#l zqA%5=`z`cHHK9u_^t3>iTj+>DpR&-YHLn!3=zA=*QlJ+t^x>LcBQN|9Z2e))6+?@z zv=G+_tvX^Mt{+-;jfJ>kSguDIsF-V+({zK)i`Og%bc%(zmN{K_T8Q%5rk@e$m13@C z&d|R!kmg$E4E<|UvY0EPGxY1WUb=>PCw`1{KBzAd=wyM6l%JuOWTBlXdA5NMd(nA*Fx?`2T(n58W;lkDWpDlE#hR}ls zQqR>?1G;gLbY7v3)Ew4p^tUbaJ3wpo%LWn;Vx9g?7TTrP>Bb>cgJ(Rhc1GcPeX>BW z$f&gIehYCN&eR7i#Bn%BKV>0~*oSraGGZB0&9%z`)eH2BjM2Gzl7TcwHAJOO9JdVmo^cI`PQTd3zP@pS9b(K5xM|8?U*VMA)#TMFM+Ye}` zh3>CCp>U)Aq=kMY&@~1UzHHR&K|p3zD@q#ZVO>6Ixr$|>S)-!8A z)jsOn!p-_w3ta%HONVw6&%>deqhf_ybcKP`KaN_0-Rfx;x_(p_@@~yS%T+?x?@}tN zt_a;e>Y~C6^#Tjs18A#WWufOrU0RsbT^4#3P`4fgWHiGP)uTTl(1Yr&QCAlB=vyu1 zjNV(=r@v*P@aP)~FVYWLXx!+V0X-&=k@Ac5A)7}m7wOk6L@a4tayi?3P!UT;S6PTy zGJ1?a21`aq4Wy=xE_O0{hlLi7-iMNZ`M6N6){VZsaGSn;w}Dcl?=0M*&-v zkA>Ii=;sae?_+e)XZ2kcdU{NG(LP=O1(WyYn7X3d^c?~j%I?s23S?-xL*H$n5Vi0f z`hE*>@97Txh=u0XO;rD?pR~{^b;|)gZJ`x)SK{>N1q*$+uBqrw{i=nwpx#&Y?<{l? z>U~xJ*+SGy2Xx>T(g~?Udk1uxg}5j8Z@R`p+>`q^9W{`;xNdII*Yv3tx-+s|-KBT! zQ}{Qeu0Y<`b^4zOnf`r4Utu6wqkltRWg)ir4Sj=!*xudx3l?H~ckA0NM84dkziJ`! z3V^7hJIdm0`Bomve2t_Z|iUBnHKs> z-8+C5SSUR9O7$(hTA+uDqXL~Jkm=F4^u`>h$3UUWrQ|jXT|2g^=v(@F3sIlluRm|0 zFOKa8bh|(==&z1#D>|re{}QPlQokD8p}wQlKT97(OFgK|vQR&)Qqn-7=(sD@Lpo!j zrg2S059v!Sbn>{5!OmW8p%0Dg2XvK%K8$+b)z@3-Le%@N{(?Xche+om`Zfb8+UZC1 zH!MVp@I8IdLbL&o>qi7KHsEpnLz5Sxo&JG-+Lol9{(=6bg=i6;&;_@#e-A5KgeUdw z0u8B)$1PVs(vM`JE$YYm@!MH)NbMT8L_MYdWT8(AG-p5axDH=e^psv|Ab5bkP(RV@ z4I~`=sXi|YT@d)G{tsI(R6kMuOn=8h_4UgEJ!T=UUY^!ZTZpTdr}ckYXmKXkz z3oWT{Dtbm^IV!ZY*MCg?To+qtYkfbU8Uv}z>br^#>r=B(PtmjbF@Z31>N7>p>4Gm4 z%MjM0mlVCAe`cY*^_LX=Qh((uZr)JQi~7WWHBc)`zO2u?(?FlE|3uL%`pztLRndRy z*DZ8g{k28E(jWe+DS1cz+@d3Tmxb;|3$N#Xg#2}^cD+s0(x5y{=2DnX~SoV z{#!rtEd$-$@WrCP=pFYP=(`Pf6=~;J7W!$!!J-1^^#@Ge8x0Q^6*{LrWT3+FPZR~6 z_J<7=9{)-~sdJu%#*Od5DR0t3lgIx8AEmp|LbJwSQWSQUewX#GP#+xsVo`YuervPNQ?K%_E)Don00poztB?wj_7q zraRXeNcB!QsAf0^EVOgN5I#@B&`GbYF zG`$*}>HNh)qbFa9lF_7;EdHmaAEV?n1L>!mh-J2g-Vx{)Tk<4)#Bio_hd{JP{V4gE zKtt;G<|VkZ@hb~GCeZ5{L(7~wI@08v*KZ)w(&Thnh_p004{kTK^v{_H=rIEcEltiL z3z3#4=h_{nBxz}KZWhSU(&YSyKtpQr+$FdR_frdL-%2tcaNFB{Z#!M%+<9ms~F%P%lf$ZzcR< z4QnxU)bI03@|J;%A-C3FrKGhsc;q4}RB9xf*4FH8ImU-&h|9XoeS{9dF4)VHOKk;d;!nV(3C zKmNR=aI78mON0USD#8NAGKK05ghlGV5#k;Y!uKmvKhC4jNRbImdf9QzW$36|WPX`Z zGd!=9ToZp>a!aMf>Av)NzPRDD;p$0}PA<7)VNzUd4*Jy!Pn&TT7-_eF)toapOX|*o+EDV zZfLo|Vf2QR6W^a#-qkI4Nc!#yw(i$L|1&Mx5_T3bnDTlX;Ux%Y7C%tU-#S z#!0$AZgjhmLw~wI?k}?-Ld+8cj|u(lniQiy8Dc)lxHn1plO=3H=!g{v$bA^x-Wrzj zAt}kwv1Le)D+5a z#)f}Vh#SrHYA!-bPz_0W!wtj9-AHkSxA6L;mML?+lr$sa*E}BgM$$a~5jT9;p-XoPcMenxkf``w%Y1-vT`c zZ&u8~_bKKeZ>~BXe+zIs>|{KT;ICNCL)tu~%|qHeq|HNGOg)30(2F$hpAJYkgmAgq zE#Y1XZ$j9w_90w?8VnN>?p1fx-y7VoW0O9n_Uq)N4usn$9Sk0jk_Ysikw=5~YM#Ly z&^JzcGB}{VGHGtnetqwxr-BdYrzgD_d{nDAy5^}CaboffIpqDv<)$2lc;qZ8Ow zd>y%5fmSJ=N6nEkb95AC=IADbLyEU!hZOI@4k_+D3@Pqw4=LVM9a6lLI;6N;F{HSs zJ*0S}bV!{vnc?}9YeP?K-XlFuk&+>G>Ev;ty=w2|g`p#8Yq@#@;fF%I)%PbaQM*CU ziwJ)>`C|xwKDi&^XUjq*yDc|fnp{(|U;lRUQ{c%rit9?=)_TfhgymBjkv?w9tP<=Z zOj#iDdxQH>Yq?^0Y6-?>%0%26s3}}gQspqc${{^<4trGPd}7LnOD;mm4yoIS^1K;$ zuexE%rINC%wWt)_n@ZXkwg~-0YV6b#3X3szWu!3&%+v=;W5SJuaAUW6a4JXPo$}-LMUs9Tdc6c=_sY~gWdjb! zV!+`T4LHQss9u|Tb(z*h({4mqGYz-4^#>3(s(I5?VWV0#?MlSAO#6JMs@SF4up41JKNFvUP*sk!sn+gL7A5&{3F_GRDs5Cpzh>G z+x-3rhAm2O6J2E%s%Ox(_Ais3#839JRBZd)12RKQ3?4XHMscbKmd*nN!7b zFY`E&`4-LjwOj6u-K#dC{9d_3y6{HXI6^y`3AHRFcx51pnNpF?=cjD2Cq&y0PL z^TMg$4!_`RneiyX=J4a;d)37=81lBny=u=4hPTf6QTT0r&kWAQzUjXxI)c_aN{%=$ z&FF^~`pt}{q9OdQ$}`~yba*CD;>OLy97h>Qk)A#C`S9DI{1t>tXTFXy>u3HcyjGt( za|y~^J@uV%o%H316Pp>RDAwMDfSy9jIQQT$SBRj8q6n7ox2tDn>$&&&1ca%_a&MjQ4|J=A7INz9bO4V0De|yzkYUb=8 zSKOtpZcLyqZ#;cPda+iIoxVh^)$?ap2linW@2T3aH_u*Ba-Y1&jVaEO*33MvnJ!_XYyDkb`H@gNj^A^a_m>YTz6Eqh@qM8~^3Km8*{?n%?*$!_ zH;4`??pYsFe2?gm;+sN;PaR(!MQZM|h4N2Gt=!pMD) zgtw5(x0Mdd4)$SbcfbDBytR?H^$qjL&+U`WjNByBSOd)S3N8x#bl!Q9dl9b=tW_`1 z>x-PEcyFmi+Pz7=I&V32$eZ(ut8Y>~rM(H?)x8oSZ|2;jcrsipJ`eqn< zc%PXg`cJcdSAB0_<@`TY@7HT3oipNIeJ0}jky}^tfb{5rK==IO8m3fAII8A8SZ#8K z7H6-@%&#eV6eatiovt56?R4h+$z4<2;4ymVs=YasdO;S=@d#`$B{w{s5`t5x9OMySlKe={D zjahI??OO3UhZL>Ykea#RO7*nim7Wg!lF+9tn24J{#GKId2^0GC1>0-S(X@9l-HzNg zSkg;tW0D)wmoB)h_DF!`j|4uC+#`Y8fb&S;E(wX@9R2))PXL2+{8hDY2gr?cbj9(X zsBMFdI9|8uzf8X$@mtI8N3QWR7a#xET3ztjvcRa_xc~o4O>Qh3wIAcvF{-$LV~uzI zah@2)d&i{(Vf+e1gVT)nhj))^Rv%OkA#7DYKsZsQMtxC#IdECoqk5-a5}N2RUL5$O zelEmtt%SYBjS^@0T!>+BaYrFbPAs~lED~&$utUPelAU@_qz&N@B9E4QQirRHOMhL~ zQr#$FqT-T@3r8KS{AA#T(&rIYmhGyoR*~R?5*CbNykI=Tr4sI%zEb_RX?qIttt|!k4%irjVy_LDAEzh zLYS?#s8U#oqn_Q~3kQR7E_VARY}CyZJ#>by}O zz*UnmtY|e>!R1&}j>QVN0V`j=qc<7rxJJBX*Mzs}X5l?Kc$8QnhOr{7 zQuFb~+X8qZ$K!pr#i(^Ees!}2>(0|qdnMj7TaC5ndaO>*R3E?_-c!}NcvmR~Y+KZH zbs;3Q7jNYE0doeJw_$yH39w%V?7M*d3Q%=Z;apNE;XVn!EaBHAykEkHC45rCLlQnO z;gQ1QQTLA$8a$T-iOt|KIR9tZ{t&zhc-{)~+M5pDfbi-NFM@nFMEtjfzKZZ}N&k+- ze;{!~;kgd4Dy%Dh0-;GcyO^~$OSrE1SBM{!Tz|Tu_O24PW$K!gJ!Rj=5PqxdHH3dI zD{vV9IKopaJ``}nbE}BISHgdg@EQqkt$G?|4pcph@b0P?5q`3oB|lUBRDl~ecnnuf zi*HMrq8gTrNci!ZH&Ff`CA_KTkBA%o7|s|jJtQUD3knO}(KLO(wW z_U?sR^7;3*i%`ZH#qi=$yAT?xK3zvjZmc6`{z>Bgk@d$-`FUec#m>&+vElDc6wGLG_yFQ*60GHtVPJQLi`0V zqj|nnEO05pBFtq6sTBxAn9mOKsu7mp-Bp~DVJC@Sa;!sGftjsQq5*MyLjhp~a~p5t zBXpnvjzhdw!qLzg4)&t>-g6zahXdWfa4hD(29~La*Fy(rU};2rJoEt0Oe8!Gy1;?H zVE6&(1Pv^+5T69S-~h`!gtMS=u=l1;KsXPpQ=FE-$~pL3gm59=GIS7YLAV%p4|{=l zD-h=-&`H=eN9d^Kstw`k>I{T!&{K~35HytocrC&e&{!I&>k(h2HXvNB&O*3`YgE+^ z9p)hQe1sipBf?H-G)H|55Z<&_afH|7xAnBT0U>rPu`}hUf5rQF4t{m78{s3+dX9P& zzxUy&@8PTDT76%_$ML-iM?EIt5AY>a+)%)GLml-jw4$S4QAZ4e7m+Oa+zDvR@^mmc|afFWgq<$3fPwDR?zDL5V^y7$sT0epCYW+jx zUW3q4*Xkc5ejP%7J^m@gKa0>&H|w7w{y7Q1pr1y{=Ow&F{~Ylz>0cncLqCV`fPMib z{|%v|zNTM9{4Ru!`nrA@@oz|YkN!`j+>KDHm-P|EUy|?@{cFU3t$%~?zw~Pef1}?( z_*?yZgsbcPE7Jdj&{1#ccM*RZp@WZL zY3PGL^8I0<1v z!ONU~1r^R56)LDgSW-}pu&m&NNDmjxg2f(-l5^D#A<9y0xk#GCh)rBqLL63I?Ghq4W3; zCPa-6&O`{6pZ%w?0wR!`=0L;ppQ*{%Soua#ez||Qb=z4){;e%pIE9fS)SUy32VS5b zV~|n_U*{vhTM3^!jx!(C1Ui!KP^xOhHeG9boEx>dOQ7&BB+u5ItFIFpi zdwQE&Iy)0R>E`wEOn+ZJ@aPGRNd zwWneoTSr3F?3S>#@s&2!9!qak>*9UAY2q7L){{vMm0!G8ym4Bzk+0vpJrM_jC+HEnHbYkj})rTYGypC%XDmG1gdT7r+ zx^HRmHPqIV&cu?*Wji|JebTbQfPTl7jK%tRYFnZs4mNizPbA~5v5qZqw490W$XqbT z49uFXU51vC3K=G(hu2oVBw+GE!>g#4zP@ClLwc%K^(T{gqm~`#WvLV-z~gH+V|^x; z>CcMD(b%L`^metQXUn$5doriTdODL}noYATJX%%oDG^I1E=C2f`4JQCPBd>+_Rn|po3D?`}ci|~2t(jY0z$Mw-D!W=?`-UVgG=p(n<8n|fs|mEICdE*ZdNvb3)3Pi7!S>CDo2GTs%- zWNBzytvK!$jSoB6-ImAxu6Sl+Tc_e}Pn8c%nm5@s?=DUjI(HI$CS0wL=qC6swdWM+Cn6* zwpj*l@-Z)F7}t?yT0a`>^f3$S!7!@RWeB_1J5ryUJ7_4#-4(qZu_St&&Wn4UXAU7L z;&OtCer^!99AVVs3L$caPd|60luIza4jPYjXZ1p?b9t(_TcnOES3w+?CF9*tNtl$e z&K!P9DL-PCV0C}m`u@JY-c%;-Qtx(p2@Fw>SUZWW&&2x#TGrDkPbOF{b-B+K@on*> zD2G($tXQgt29sJNl`*=POl?cI#$daW>*5#n$6=~Em4T^B`DbtpFV)%G6IU&%RBT`c z45Z4y4yS<}yfUq0;tE|dE&5Y1kR!rp^`^E;g$+GhdwRF`WZ~2BRn=HB3%2#RDpW0H z%PU;`tv=koxK#Ax^x^a2YVUm})4tz~q6nmt0Swt$*A#;T?rB3QpA zmWp>;Go~n`UNZuUuw%G;liT7j+;LcvxLcf-E0J-bbuc8G;Cs2SExZBJDDDiE8j5?c zTfs|dOK<4wO2NBay;(utT}+62Wm+*UGx7F#ci-~fB>m9bE+puFLg{Z6!r_s*#X7_@ zlT=F(ra;2*evNS%^SbX#m1@kkB*i-o3pueRCZ55vi~3{9v^p&gHzmELwYM{lq3)nr z%fy!^=p*zENNJ)=D=@QH=2SZC&RMV7I7X;UpEREG4@sh@(*vy&urA)+yUpj7qM@El z488P9<_W7b3p%p}sFgSLb%L`kNvH_xW_zjGqye=dm0%ZJw#5=jIu)jxbUT|Sy*z5h z2xW=UYok3CC+l2iU#RV(4#RlT5k($*tXB76JmRSgBI}`#Bzq~PBLUNpgyz6%Cb2nz zfo5&0l57HXeNI9Sz;RvI+iPdKafHBB&$R~yu}AxRs1;5=XG~fV zYFnCCJGzsekrT(~y{V8Q??;Be&~Q3@{)sC#WbwLKPZ!4ke3IowC-@pOi-7D>iA>D` zc4jDVrea84vzQTqNUP-#-~2SIT-@Xi3SAc9dQ5bWF9mo79i|j~U3y{eM3H2fW?o+V zKwliDWP4At*Bvnmo9n7~-yUys40G z78(*As%=?Me>bQ>4J?R{h5=tB^H$<4W#rwze)jt34I*X6H-J8pyulkbK3PN@1~UY? zy_U4re#ld|Oj`JKS%9tr&5>$tX+3?}#xs|#Ti>>Nm0FsREsj`f;DWh|CN!<6bkXC@ zG*wFmtgY?fPJ;;BmRP!V3w1w*^RC7ER7 zZow{!`9M#H%JjPHOCrRjUfQZb~ST00bWJ6Gz+x* zFy$2X7xWkEkOc&+X`DMcX|>%fHPQ-e(sYcXK(s6UfL)E49MP0qJaA>QzTXU{*{Pr{ zcV)9vWl?0S+p6&$Zd?AQB<^i9*xD*4yO)w_rlXi2ah_?&OvHE+*+gh%auwTBD%soB z1p&#}T}q6kyE1V%HAS+xd`h|6exR+hwYMJvX7^6~8fAT7yu<89L1yKrC%jzMnUKwz zPD`ke&Ve(G%TD<$eya50sboL+NoD0?Vv-;=*oN21EAK1Y*0Zg5E7nFWX-eD1htN`zw9|EW++89wxrYX?oG)7pJU`NH#~P0Ht)8@M=oyi zvIH1EZ{(u37nW2rHu#*OuI(ldQbw}jbumZx4oYdi+_h;vK)}NQxyKOP- zdtx@F#SV%l#b#?-!TMQ^L~*4pl044JEWjMNjkX-KJcxNKh=|D&IW3+!(>A7-ZHp!Q z;s1!u6U1IkDcq5@=d#L?4#=7ZSj6P7w@;(pB#BLWet=9fE_uAVLP|~wtDxn)T5ahw zVYXaDseHM)_;PFJ)#}4qx-TP&)3^qm)VF32ip_4oEQGpc8Pb&pX1A;S`yF{(!p+uk zk`d(!3u--?w2(MVscz-N+tHis?}qlr3MCE&zC9J|Qy5ontR>RiBSHb;+F8gEl|{m` z0Es35oi1qHOc!Q8{aLd+W(M95n{l8fG^w(V5=yd7_|f~Tg3((tlv2B|iUmii3r=fK zX4ujLoeo)rc>d`gP7vmjmUHTadN45nQQ)6)fgym9wUTn`Ewzb}@+o{e3=E$#2_ za{=lGgHM_k#RXSX#vTWOY)CSYrtC_kw`Udhk=A2(L$dQzhn1A&u4ylxVpW##Fneg% z^rE#qq$Uk~Wks_~la(Y$nK>sQ-)&3`j_l>9X)@eF<0{{cOVg*vlW=HL+_&1vrDN><;Tp!mcTp96r zNY;s}U-lbU^=`Kwx9e8(fQg%osg%#L=DxY90M8s#RP`t*IPA1Q*03tTRxqp*dfpS? zZX$^^&!j~yVjF4(r`QnPspY33G%MUT+^fO&;B+74)Tt z4Wk7_JUg+=OO@{J#~}pPe=42o5T2=Y|E5mB8E$CxZn{vxtp>NTsDr$D3q=YdeFjoS zgerwih7|DgDb7SHo}~0i+%t(RLe5KaIvz`PY_VuMM7I03b}9UcoFfJS9+vaoH;ZNX&2PRSuO&JutMTg&LD*7}`wciZRcX;{Xdz9hhKg`kmC!owofLN!APUKoCpS5J<~ckI z8kXnbUPhk0LJjsoN>W*YH3{}&OER`YVrj3w6?7Iu)}}-{gC?b|4)FKClEXusSi4Z2zn z9oS*bn!BaP<7ObS8+?S=j6EMT?hbblpwL(1uwfPDi<+E1hm0Koce+YV>AB@A>hL0! z-@LHQN=#alV++7PbjOnU?oqrclctU1G`2|7?33-k*LS3ea^mram&#pM+auYLFiU}! z47=RcDIEaQ+Ipa%;m(6?GCh&Wqcw@6?M+z7!y(Pgo69pL3Z*yamhAvz)2hAK4sBa2 zPvYPJcgC9~_TfYyW-;!cjF{exY=u8Dgm^9!Z4O*Gbr%|Y;7)p=F-j~9*2q3#mJ;bp z77}e_e2r|HS~9>bPjNutpJCGw{Uk2&aTqZ;AS7IMabwP$ZcD2|AqS@=DTk;A^qfL=91$)gCW3>VsYwb`F zxa7kNNI0s?S|eAaxd>Pf-GXfl*^ga`ErNK;S577a$;d|R46~C)Y$3(H9XFQDUa6Gk zjSS%tAx7k4$cA-omaFyzp7YMzh$CtmVM^^#{Us8J9L|09ln+S=EMNwj%oXqs|>>S2XDC?2Ug`SMfP;Ex;u`&i39VxITtc6vVK&H|L!qgVHZoQzExdd}p_#QiLPY9_v~GBbCBw42DAb z?N!ey?GBSzOdqp_DN(a%lPI^0(in<9x)7XDnD&A|bTV~Nc3P5K zayv$}k~LGSU}?{aZ?d;p)ajW_pASUT97pA;SCfdncSx{s)t4_`IuDoy53bL_nv*-& z`84rt8x|&Ac9K|=<|}PA7mq5WTV_jbWvnO0O=VVXOY_v%-4RArBQNe+QOek9Z1`x; zU{F$EziC05%Ptz!-hTI>3m4v?Tg}?slC(aa@mAn)tgzFvEq>M(h=aN8#q*T*UPzlz zfU5Bn0iLz+36+8)SBs1N*wDWGM5{A1+`ttZDJoPz={>HdEKl~Qx2QG!8BS88?8zKX zo%b>kxU1L=M>0)crP;K~*|4RPjpZ|H}&)I$ZS`6D$!yzT;p6ZF(b3~ew%PqQjD_b z%<>o_MBh`iV0&r+ppoWPy*Nyh%Y^Yx&q}$gX-qXJ95`z@yul&wwiwxDjIJ!~aVJo= z9CzT(6?KSQr&8;aajZ8m-?@0=90iUu;ses)8fc&(MV>ttjC5Mt_z@B zrt$T-mTq^b;HnY8v6VS25u$Sd8Wy=@&+gbEbse|?nes7 zg-1Dj=b+93AB3MC8;9*TEZl65^vQ%dV3*NaWE5&iA{C`eI@#nYthuvs-;{$y9|#)- z^dYb;Omi}|t@dWHj4*^8`oz8IlofRmews$i*px^MRC8x`7DDXhu-S7NOpL9{yBb&! zXWVmgMBS5ZnIG;QV30-YFkl_jGaLlPt$C_E$%QYGw>j=vXDP7ETpjA|kzI0w68oPQ`1c}JRd?Xohc{VM z$nQdG2A|aH2b9EXdAPQMdL5F7?LrqrRR>zZRvpR{2R<%7j##>-^$flykkj7erGWeJ z*8^G^b^s6Y&ca*3o%k<7s%E@bDeP&YMz`7os?b`6>E%{X(S>wXz7nltUmdxCO1lxq zh9=rng;9LBK-I>w?KDekn^9h!@3kHUP2|mH%SS)Gaj-d~1t5X5TxrV|f+Xh== z%PI7Y{QrCC)5~({bK97Tx0z?-UFNAm6Df83%+~WM)Pr{(D;kOs8R8BTS!X&E6;|e= zC)9ue2G%L>v&q+F3GWY}c2%(&e2g)eH6}eC-{*Etc;> zSq=xM8e3GwE*2GlVh9>Y&3f-PC`RNzr+bti0GK*_;74jr&)9%|@zr{YA;&6e`|9t7 zndWMJ>j-1RiOaTGdt{+bp;q^Zc%cFshPS^N6qp+7tpD{bo(xLV98YDehaxik@5W~g zj;1_Rtyg1>aBB-{sg3^H{QOTZ_)qDfyqRg8hNP?qkC~PbwUAI3%SbaFM^u*YBh^)< zUaM;2I@Ibz3x4Tp!`K-f^#GS@puFSegD6-^lUEqiTyrAi&Z#~X~) zs@mZ=F{;Onl*+UY(2oOJNI5?xN=~WKZJ?NWoAH;z9}NrAi&vo~8bcM_fOMF#x)n&_ zSQ#^sKn>ClY^9r#gO}Q*9(mf&*rEYY%Kw^BVmQGaqUe>x`5``eMis}Z+ppJqL z$0u+h3z#2%?z@~&6|T)Z84lPi%p=aBi$wA{R@rjpYd}BU89E!PihXVpi7<9t*U?&T zM;l2zIgZ(yuza*j#HI#6>oPZgs10k`Ren{8%P);YO8mbKiO{h(y)enr#XwOsn`Xr-F zbKMVOXZ_qk@&uK`rGw4z<6*D^@b}8;9JoTLCbo(I`Aw{wXS_@pBn-mH%0*SI1D#av z2@w=k&0%Ced=5x84JMV9FKwb{SPiE~sMpvkJm-XR2c5&u{(26R7|e?4g4?BAjcXCL zWiWfZm9ka&Evs5$r~2FhEL@p%L)cW^!fbpoz9+N^J?O-ATddRq=I{&JrWMyoTqiur zHGm5t`lhTdX05rbUuse%e(6Gt#A2v@sxwYN6UGpuTA@6;lhX9VRmB|bZNlp$LataS zo$QH`RfA_F$!kV$W=X4h@a~0Zz^l$q(*9A97fBbHPr+y7WCN|2d2Yee&j2E2SuZzt zfi^s!LN$EZ=PyT$ragn(r9)TwDIsO5+SGHYl(brZnu|-JF5_;mQMZ99-T)JF#Q?c8 za8(5Q$v+YOleYX5(CB4-DCbQ*W7~`-%eBL~y4}@n#_FhIiZd~(la`_XoIX@A z+eJvsKvUGsV%u0AQ{HP?EpR=U_iC3*a(XmuS0=~kHE7kXNeg0VSH*0PqpQYI+$ff3 zp?xaHIE2?u{t0XF@vPIJW?J#FtX1-XEkbJ`C-iI7#F6t?;PYEc)KY}&;7w8NH(@-7 zb6u61yyNk~K~-VmW^E9|q@qVap3t-MbItU?uSDGS;BaLkc5QSw_|5TY20nM=0M@>N zejU?|)N`uQGc>AAO&&SdTS3VN#*C3lwS#7Il**lcAMHB4#sC!WS#J5}oL1?ZdnRHe z#j^}JICpSs5m@uRe$})Ft#}&=?~OstVScXv`#v?QJs!1z5^`Ksu#d-0&Qw zN0VE?LmEzZ`(~t?>NtAsG*XCHbB!jR;d)M$ zx4?9APH}dt#?`1t$|z&>!H2hQS3}kA%EPw}SH-!?xtQH5tH>Q;Rka+gQ4ZYNYJ#5^ z!$(*(c$^p^x5CRcJ*U2MeLgd@RPhR#%a}Wbli+@-OWZpCenvs{4xyd%$z7Gwyrqz1 zyj%K>#_-e4;a-XBZnDxa?HX(NuN_l?#nr>ale^Vs?4D^qe-|X* z)gq<29=I7RonRZZ9LMU@zjv!gYX?r|>UKzy%dcEoxJEE8P6D)07NeqNm~Px((wBk! z8X1!HU<>{3DD(&OXnUxYjLU5JPxsWV;kw7%MEKE!hPs{b z^oTUI)SxL!K$te zPj4aMp_*|aY(CV|GtJh(kwc+nHlNP`)d{rz%>N;4)btbLY z)qg60&0{#kJ@7LO_vpm27oIgRZf-8sYP8E?!%gOj1v`aOXBr}r2FU+bP9Sh4Rc`@M%0dS0Q*RRbCi<35RZFw*3ClDFE`x(G5bj}w-&hl z_0Iy11GSsyxcjvpMrExxs<<+acBt>U5Hh?lUV|&6@4vVO#tkkVBaNk>wvk41)2_pY^6}3N^@G`~r$nlUqhu)Z|ivT1_j^`(EF&(3NDrPI7mv)V%k@ z$=w=Hm!&Z~^~6=cpPx?e+O-m}C})^5N7Kns@ki-r7@bBxdt_?@T;gF3w=ze=4XOTM z3$Tsk!P0v$dp1XtB~c66)|BaYvS-+%2_Ams2v)Jx`n&_ z_}mvTa-~GeO`ERZbLXe3;*49Tin8R_C~7njCFvgDjuNxQy*sqe0R-I}IdHQMj1dwFVfzTa)~n4Z55F!;?`frr83 zmwo2pYXp{q=a3^4uJ0Vhy4sZ*jL*c8_?nxhr%ngH;p6DXBvei&RU?(-9HS&sN2*do zyLe=UQV(2?W@W~lNQ~4cRcvZv95LVF&w;!7k}EBY=BVY%Evy9W1?mQ^C9d=2)p(y- z3TxeV{7)5VQaV8T&DN!OOk3&iBr&_9*yGCeycR>txSpkZn&_40tTEm*HDeT<;SA+j z8rMP{NXf+pt6ODs7CC0Nq!mt!xzkSUCY49yHqWj{-E~VYHheZbkigjI+FDv`qkmlQ z4XvJXE-3SRXP*B3=&&4j9d|x3*)yNPkB`*IaD!kJtJ%TM-MOTKqfw5^ZYRxRZf8g| z?q5TpQ4vt3xXPG}rIMnXr3cIrg-fF8EH_MMVIa&tyuX{Cc{6RdVPMQq<+8&o=eBB` ztZitQ0tEwjX~r(G@@wWhxm2ulPmI&!iU<4eE|f-g1Wan~;>|21;UZj0Q#M?@`~#hT zpyN7&?xHHUwxMnl6gT;Sw;YA*bScadjhlN$@F6~fLr3epYsKj;as6&8PsMO>-f*wP zu$v-5#+h|Fhl=+uIILt8neMX3_$_f*N!o-y(bMoB7P;%Cr6^CoifrZ)$$C8L(Q|FP z3F~MR&bKP3`yWRrk?bBwd}5 zE&q9>%Q5eomM2NfGri-k0bY|9>2!BM=+UZ1cQtG9P}R5-kxJ0L#0CXW?q8*-LPBc6 z288Y|%rTGV$MVlqS<~ak@VPMjpvg~*H(JLiO~tM#Cyu2zeu_tK z-OT&k{^rgSJ?C$mC6GC+5zN>$L3TY!BZr_nPs!!baE|!7mcN>&QMu+=y8gGJ&F%94 zU^u3(lPQ>cjvLK8oPon#L1yw-t4t?#Aq|_F#oB&FM4>h%{TQ=W9mke5T}d2ax~`VG zWF#D%p1Gns65avvuhxSG8c0%3>82K6bP^|8MsvSA2N|ORdaTp046|g`Q()OzlY1-Hf}LaF{BCpZr_Uc{>Rs z&t{`b%pSo zOEjjt!{e#t;hS-0j+0TwHSiNk9ImvDK*Xi1(9U+0@srCs`6~^RpX-9qh2YkPw=wKd zIT8-G@6L2?Pix%QA^V%4C3x({jUX+I#j*Sc*CEeK_xHn3Yp%#z)}F$;ulo$8}GDem%+E7)^U!rgiFU^BNo*xkSLQe1!A+hgMH z!0^$%~C3V%-w$Prk|O2 zRNjKOv>w@%CBN#( zcSJ@;?<&%fR0v7R-E6oRLkUN25zinK1wifa=l0sBp{Gd6%H31%~nedlU#IPK8ngFAbp)^ZXcifqV{kGhF0kgU@y93-MF-j(%EWc>wZ?2MH8eML#azwdR zYGlb3T9;pD(@(d!>3%7jD$;k1qfzYcldAx34xZrm9^D*Da_$a#F5QqNERk~4cw=)3 zM$ot>BdI`2^(N_Uc6Q62!zNIlyWimN8)@<1A#)dLdMZ7L6s$b$zp24tG=7J-aMOdI z$~E94yU4?vFb0VR2;Y#y&~RFrec6$Qz?+JG_ksF}M~vQnwI2MqyZf5Et?q5YoAGzo z2;O36BocF%j`R#%x03=()s}lhkf}zYs=?i!EpoM-pYbfpo*Fe}gq+HmeBiWq9hGj; zon{-+9(+OS3)auAqmn2|O){zK$MQb?dFUbL#JF#}!GMEwhfnXU)+g z`cj|)|Gu;P{K@C;Ze4!WZ}uE48~u~pROs%D&pWej{`0$owUKrm8N3D03-}BLPyF>4 zs+)g$CNAoR3!*BrpfIXKkx*b7z-a)TqHv%nvH;n-AgXn^Na;vfQZWSg$2aZmf|e*My=@WbnSoN@NC1!~y!q z;K8s{6a{k+3PYC_MO6c`rOrx0w=!G;76IK_6v8=hLnMj{2*aq)M>rG>$dm0hL?(s9 zL`eoNV;7eRt{n&?^&yGZlk*`E8$eiJIE@*BqN)vGP}K&OKy(_S;BdXrIOtef9p_}e zCXm6rFfTc6ho#>RIogijd~FtO-i1S`xj2U6f3qH1Q#cyJITI*y4S zl(-Of4vCy*h@3{crin z5o2+4wF1#jxLT2!VNCO4la81(7jv;T(#_m56RC|{q)`+=JDx>&qTynYY7#;cLsBTJ zm{qOHqsU@JN}^NM3KH!glmzw(*hz$r^j8f?A1_4;U{E(?h#Vqy1_Ne;RD_t1vQdG( zpgih$0GQ%n%%CJ7_P}_y!Fvl>-#|V#L^5Crq6i`xFsy-t(m*yf0Gdx|K59nlMa9iW z+DZ=PClIOO&{Z1vav77$g|mn|x_%5OjSTJvM?VFzU}ts<1&va2FQ-F*n0A@WU5sC6 z;@1h9y`07Mkvi0>kJOToItH~!j_iOg#AA|qoM;|pcAnm3pP#eOeU4MYc?TiFw3FzG zUK9$$O)ZnCnU^>D;-B-y_eq=r0I`75!cT1@;IzQ_Fex<6jZl!!heVToWg$-JvJiXu zr9e>wW|I@bltvyN1WZ9KfQ~G6kmEqRGGr;tCnF2{BQ2Gj6oZIF2JeV01H#g10DL|m zag^1O7AcGTuVdl^bPHl+AUI{1@Oa=~WbhuaJTiEfC~cEK67K;<3|NDVUV(<09K1zM zQmSB3scQihIS2r+Ti=4;30F$vzk%ADw*TnKldszP>c!2OU;XgT$FBL+<#n0sX52Nn zZ|2_lr$KBco%Wr72yZz!xW4y^g{ORL*4vK`{NSct{Vx~&>Iawo;@pY_)U^MV%HDXBtq8=PFwlSA8%a# z_`8vP-`w%iYbyTasOO4QfL-EfgaYWGk)>ZyW)@)jj_QJSoK(B@HY%>F?klFnGl-M%E5Qos8=v-@xeV> zRoKr2@`LI8CED%&UrX?PJ+L{i+{~!2;LND~G|!^h%?p}mH_x6KwI8fp)D!Q=kK-g~ zM%VOj!Vf{?^F{6Wy_lXwvrm|JVtms{o9E1%8}B?}!SNW!tF)@j|NW62zE+z3)>=^|s6h;DF4Ezqf(X0~I z*P{SDx*!BloVUo@FmcSJ?6ri(1z!2e8>3dIVH_euRgs}`kxaybMUkOmz)UR@QKC|V z9WO+C4Rn=sxN4}jYCvSPpXzp~4lTk`h?#6C4257WLwq8&AsmhdDn z1iR5UXaMBWTtYmZQNiL!TVz@Tg0@HukB}4^!iap>5g`eI1}VfE!E6ZxDt6EOK0W$6>;52EQ*LlASlYD3kA(U_-erTqqAT?-Z%1kGAC z;>Sj!r{UwB?hj|mv@;*}Pe-REIvb<>Y(Bq-sTOH<;(Hgz=h}PmopF4M6JN%k8O^B; z*K|^SuoUDEEiir95t#%|dmRi0O~==gNa=2|Rt5ZkwA_1)3@sA1GlZ~es6|F(Suwg8 z83N8_%7qYLz)#@A;=5B`!>=A=D@jWi=g8WaVYt01(*q;ymEeU zEPdY)=#53Dk@RWshTC90(F-^clZ_UGML}C+CLC@Iu3NGgAS|~N4g^YN zVqm)9|AL?sHojOKOs4HR<35Z2d2M>z!$2(BOC0jxCk?rF-%;9hZZp>_u0WnslL zbSWS3DIf_Ag%TesZ^FXY%=>@P!

+-r$2sDh^`hATc;|STIypYg?OLG}VG`^&nF*UcGwsQK=2#F z4S}km2V@>SR23|02q48Q#~2k)o`b`IcqBUzjKSK`YcC2Gh)zWQW7&Mhz&rGj^Lgk| z2euJP`cdx81Vj&nLYUDY?uX(igh2;16xUph)KY!aPxbO&R)e%?Rf6wwTkE1#`!#U1S|`~_Oy|b zaO6@%TP%}A#*O6=@>y^24h#kP1~vGGgl|ju*YQCZ9jtS)o`p#`5E*(iYmm`MaVdxW zfZ+w1USAKrg|dQpX0Y1UJwSVcVnc7z1_2Fe5Z9RIBum9*n!O#oBV0{SiD>VTJPF`2 zz>O_Lw`j{nw(g?ed6#&!cOfFhAOYA7tH(H?`d$1p$rQ@FAX(UYginQaVxm*2QCd|E zn^?Gcqt)@*AB~AlYi*3qojv=6=qmgoL=tXhTTe%H+7^6k|KwS-wr}6w+#~7D9lhO+ zN`*9ZC;yG-%Dmkf#h+7J)!UQ(qAk8;-Mc-_h5eX+VQBs}GahxJ+-Edf4qw_&Elno* z`ziQkrjB0xLVR;4ep-V6-kq$Xr%LSq2LE5+05%KIjWO6a$n6cqN@0(Ccsk3Sj=!@H zYV{VkiR{0(ocV~Isn+8IF=yhnjdh5%$!B9W;>nN4td^4BEO_l5ZYaSSl7H?KFY3#` z0)#%alC~6~238(;FSqAaZP<6`aU}muQmoaETyqhH*S+1-J1L;PT5vXyYS3gZi12)9 zIHvhh#_aAhoR3pm@BkO2BB<+@Uy75a;jh859ruNnqkr6mJPrA9oe5mNZ|nlcY@9SK zz#pHc?NKPt-kL*x-X!vU^y3)XY{uD`yqbWmy%T_I1=_@KZy~K!&RKK5;X6WF6ffv zccjeawR>;sSa|F8bH4DH=Zxn2zP!Jb&*^+VpD1-&FtR)dcRxB4ecyW0iT{&=TeK3#e*j1TZm0kN diff --git a/bin/Mono.Addins.dll b/bin/Mono.Addins.dll index ea330fdc9b7d3f098d3ccb58d877b5630a4199c0..1bc4c557f3e916208971c3a7c85f80a87abcac2b 100755 GIT binary patch literal 235008 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

}P@2&(!9!ZB5PXAo@ol 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 literal 202752 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 From 741471e02cecdd70db90954aa8e4e47ac2627d9a Mon Sep 17 00:00:00 2001 From: BlueWall Date: Wed, 3 Oct 2012 21:49:58 -0400 Subject: [PATCH 003/851] Remove duplicate files We are keeping these in bin/lib(32/64) now --- bin/openjpeg-dotnet-x86_64.dll | Bin 215040 -> 0 bytes bin/openjpeg-dotnet.dll | Bin 201216 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100755 bin/openjpeg-dotnet-x86_64.dll delete mode 100755 bin/openjpeg-dotnet.dll diff --git a/bin/openjpeg-dotnet-x86_64.dll b/bin/openjpeg-dotnet-x86_64.dll deleted file mode 100755 index 9e8cd21507bbf9eed60af9d664f166ac9b6ee1f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 215040 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 t!vjfmVKD9v&=*yr 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 z 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�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�t&S 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

(ioPEbpZ->4)VHSn?eyKA z_CG}552gJN)Az$D9sFgw{+DV0qZEHM?cYe>8`J)0>HAsA?@ZTsru~~JzA5eRr| z|4sUSlk)eb>-VPp?^66-N5>D*w(pY_MQlsg-dsIUB70v;cdDIk7<&7I{r{$FvVTwi zNoysoxahyE?uQwe_U&-gfN;ow6pauJG5ywKT_5ID>E-!)-d{i)OM0r5#(I&SD&tE@ zPqpLAnYQ-l^!N4qx2Eg264u}+if&8SZ%h04BC1eyd%Au*+H&?&Kl=Tzrt4otVFAs* zS3vW>YeMr6QVE`}=V|}3EV%vY`u%B37TUpd{lTh#Q;W#I@5kv zzX457*UM>tUKW}?U2jkO-C1x-x?V~9Jy~$hbUmu(32=Tl!P7$}$fuCHrw5D_V zX{h`CkEQD$qtP_`{l|3uAJhKMEa=D6^^eoonwUPBu7A?e@gydCgYWGXb6Kyq#~^B+ zK~%dzRE3Djc3=*u9E{grzCAsAd%FBxfXSoitLfRVrpq~^c8d06iAk65H`^?KGd=sw zf$+mz3k3(`9Y9`Fx-@0x0t3xcYj-gzSoJ*HkvN|-RX5=+O*Mh>F-Lf z6Vs-AEh^1kn=Zevzb8HWzI6FRD2PS3{9zQqqFeqrL zboqA52Tfk3d=R6b@N%#!?mg)}{f&G2X@_U;fj%iiCB_Vv4$v0Dk5o!| z;H=VGnbIZ4n!}(I(j?@`>D*P=?y;Cmo)L01&aUeErxdn*kpjVKoG(BgOqE^`9x@l3Pv2Id`ks}}ZAXPLN{98Da~0d)x$hVim4$LxD`B8F z$-{+PhYMe-*mm&=qAvf+Z4DZ2A~{xnLW)y8>q z8t^qzxC;F+AY{udY+q8IdKPy=o_llHtunjD?!D4`jZn#}qgkh5bJP4dDMKmw8;hQudPmfd%6T)(v>dq|~ky z7T6j#TlV%Nps?9??`#?$7cDH_7la-SxE`!$PM}eSLV3u>epnb()Gusk+3#4h7DG;A zmvAoBD~{1TKrlZJ4Z9>($2Ri=Ferd;pxPJnE}Z011JmGDwHjxU7Vr?JAu3?4?**6W z(#^Ilda6Tc`?~XHJ#oK9cUtwi`k+4Rev8nNyU>~*$d?f*=sJ)CEDH|r(e3|9aa!+a zdHO&}&ym#+A;ONSA1Uc;6m>vJTU73cK{nlhpi>)j=y2?H z46Kt{u|eI?C9(W?2cdi9TeBnO=x8T}sYl&Q!&8`Oj)Uwau@Ht~0kM!d4BsK1ha^)w zGs~)Vd!e4vX$w)zwi9|aW65=}5Q}HRMIR12FFi9|j`POFY4j&;O<#~M$I{Ya399=P zAPjryOMDc$ZnON{Do-$eOn@$ zZRysbmcD7Wq}#KHxW!=fLNI*3dAvihzJ)QE3j>F0 zkhM6(<0y)L82iG&Df1s)684QIxV0!D_;X-CDg-MjANT_$G2Dqs7zCMFwTbw)YhelQ ziAA0G*w(h690?8oj7?g*$AVadJ?ydLo7rFiX(u-pw%Vg00pdLd8^%7e#O=#TDr~Vl zFq)1=b66p)BIh)~cMU}eM$tB&cH)eF6M^rEvu8bd2y|o;Q<^9noTM~cLi|s8Aj4`; z0g}QPv^+QwtUwa0kgx^ylzc-a0{$zC!IS^ff4{e>Acx zSBN(osdHldS|c>Vfsu?OqRko94Gwh=>&1Yhy@#j>>jcIt&+wfJYn4tdsqnh-q7ALm zs%mUOZBpzTxbELMFC zP8ZCf)yi-N(_(fQXy8`LX4=WCG_Ghd7mL{)>tirXWPL|PSk z?r6UStr4bvwWm<+_0TCGL_l8Z{>BEjc^;u)l6TvG?QfS6XS5y zuXfpyl>AsPH(iTGmGHvOSI>lfs$vmo#CEJ&gTOKLJjAyJdtJk8_jhO>9N)TJ!9-|7 z4o(zsE^19Ixhpd9JFwM^Ls2_b(WW~c&pWMZ_jBq|$E^{^Q$LZevM3qP{Rh8mfeC8i z&ijb&_kBkOiws;bB7t~jz&#>?7=FMpB7xY{vHp{C^@x;eYlKVgyxBc0^DyAPg8%37 z|0n#vgMW);{#o&zBiXXFp>K7+Lb{2IRRkRCD}vFOtut=xBu}Rl46LznU=o;WzzS?S z3QP~8+eL@4psgXdDU=awCaYLv!w?kpm2P|#y@o`glZ3p~4A@s;LT$FjB6WOf5cX_`8XS!*EpUmOr;TiiN|*8%DK^uE90_%L1DAS0FL;eZA@yiA`S}?Ae7_3g z|K>tpHL;N*&i5ffWN)mH)t2aiv6*#;kFeUZCK^bsDgc*rZ&k4#kd1VV^H#Vb26^+@ zV1-x^;v_&e!aA*L5pS1qI9OGKL4*TtfW)62{{IajoPreKRy8v~^K?;3!`|X|1UjSS`@64Kzz(-hqa+ z%0jaVNK3wynw}THcxjczy_FL1v2^TCzzZM7@Frq&*~P%VBrbM z3l9-t7WPr+ZBGh{#M!bSHb%j901wC4^HC3*6wE?1VZ2Dd4TNmMvF%hsF|$7uF()R8 znXm^5X!y`5Yoat-bfEM`siiQYKT?40g}L6U?I0hNaGR~!x{liXJ*rfq4lH=S8>Q4+ zbLNel;$d~Uq(s>d{jqp*0;`bC<)m^E96u^b#0tASXmrf>IE^vgUf2MT;CU>CQfZ|p zbv}sXWaC0jt%8nWepu*lO51d)706JH4#K-L2SMD1;J1#5+4(}mM25l}C}Wcw-P5X^ ziE`X=phZmFjcF;;|NJ<*NzkrDF{s1Xn^cnYb*lexX!oZe6bUJHv*fFyU5h=nOI;qY zINH|%39NTc-27OBAbbgE->V|1uOW~`&F{c8rb7_ZVTFfZ@`|7zpKN@Sm*`m(L^fzW zE}LrS76jEz`AAmyyDx!+P!PdG%_Oy)EmvWmqO1k8vNd8ZlOcGoRg=aNg~3PNs1fDc zj7_4O)+OS0aF*m-sHA$?oB$?mEo=uQ6SRm6w;(idP*@z?)bYRCFw1cksa2E}b)r(~ zRHemT)W@C|jinqC`(fEk4Vz1UTNeTLO(p$M99)mwqlZBW^c}ZEmIgr`d0|FSW!a+U zoMuZ?Bm*-bh?2*j1h!!M82@4$ks`)8FMk&LK!8M%%XI z@fcr?jFCeu3@hf~Vr0P`7};zeFtW=_&@qsLZd2jCXo43t*kK zRl9`Hi0~xPCYiC)Wlb8Fy|6Jc&T_Hx_@er)ZpLZ9M@Ouz>KL1l983C4v(?r)FuH5+ zxaJ(V#npu(+-pLDdkfsHwnO-wWY0GBix^82QR3_%h*BZ5>3&lXm79X-%R*=hksM3- z1zm%=B#UZY+8xvnxWeFobKk(_aCo)Nz(I3mW}Ua2@g2uI4y1C`pq+WfV8{KUpsG#Wkp0mF9T zjjn+UY;SmbigrTHd8GU5i@LS)V+<%*^?2rgC?`?5a@i>L(N{r(cRNZcdffUyfOCq1 zEVp2s@(h z>=y*Z$=xWAm-S%|94bu;&8npcQ`Utg7+EfJy@R5SGw6#^3 zpxNUjq|hciSkCrEBixT<@8{}=kY=y&9x>0Ir+}mV5ve4>GIEEFF5E4o<26uFZdMo* z!r~94B9dMrBxWOeAE!e!NX`68z5*B)b+(-_TJCJl5%xkoV99l?-;4!ZXcYA*gjJe+ zCdtUI|M!!CNUI0gH>(CsRb>iM0g?gMw{=lcL?%0A9w^9Q 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

NWNwD4vH6Hrgy)A}nvulatH^V3xCrZEv~ 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 SuYvm-xUYfx8u*uJ;6DJBJgk8L From 440726250cc2a523463f575b682a6ddb6242408c Mon Sep 17 00:00:00 2001 From: BlueWall Date: Sat, 6 Oct 2012 11:48:21 -0400 Subject: [PATCH 004/851] Added parts to manage repositories and plugin management This is working - more testing to follow, then soem documentation --- OpenSim/Server/Base/CommandManager.cs | 353 +++++++++++ OpenSim/Server/Base/PluginManager.cs | 555 ++++++++++++++++++ OpenSim/Server/Base/ServerUtils.cs | 106 ++++ .../Server/Handlers/Base/ServerConnector.cs | 4 + OpenSim/Server/ServerMain.cs | 10 + bin/Robust.HG.ini.example | 8 + bin/Robust.ini.example | 8 + prebuild.xml | 8 +- 8 files changed, 1051 insertions(+), 1 deletion(-) create mode 100644 OpenSim/Server/Base/CommandManager.cs create mode 100644 OpenSim/Server/Base/PluginManager.cs diff --git a/OpenSim/Server/Base/CommandManager.cs b/OpenSim/Server/Base/CommandManager.cs new file mode 100644 index 0000000000..45652b30f9 --- /dev/null +++ b/OpenSim/Server/Base/CommandManager.cs @@ -0,0 +1,353 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + +using System; +using System.Text; +using System.Linq; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using Mono.Addins; +using Mono.Addins.Setup; +using Mono.Addins.Description; +using OpenSim.Framework; + +namespace OpenSim.Server.Base +{ + public class CommandManager + { + protected AddinRegistry PluginRegistry; + protected PluginManager PluginManager; + + public CommandManager(AddinRegistry registry) + { + PluginRegistry = registry; + PluginManager = new PluginManager(PluginRegistry); + AddManagementCommands(); + } + + private void AddManagementCommands() + { + // add plugin + MainConsole.Instance.Commands.AddCommand("Plugin", true, + "plugin add", "plugin add \"plugin index\"", + "Install plugin from repository.", + HandleConsoleInstallPlugin); + + // remove plugin + MainConsole.Instance.Commands.AddCommand("Plugin", true, + "plugin remove", "plugin remove \"plugin index\"", + "Remove plugin from repository", + HandleConsoleUnInstallPlugin); + + // list installed plugins + MainConsole.Instance.Commands.AddCommand("Plugin", true, + "plugin list installed", + "plugin list installed","List install plugins", + HandleConsoleListInstalledPlugin); + + // list plugins available from registered repositories + MainConsole.Instance.Commands.AddCommand("Plugin", true, + "plugin list available", + "plugin list available","List available plugins", + HandleConsoleListAvailablePlugin); + // List available updates + MainConsole.Instance.Commands.AddCommand("Plugin", true, + "plugin updates", "plugin updates","List availble updates", + HandleConsoleListUpdates); + + // Update plugin + MainConsole.Instance.Commands.AddCommand("Plugin", true, + "plugin update", "plugin update \"plugin index\"","Update the plugin", + HandleConsoleUpdatePlugin); + + // Add repository + MainConsole.Instance.Commands.AddCommand("Repository", true, + "repo add", "repo add \"url\"","Add repository", + HandleConsoleAddRepo); + + // Refresh repo + MainConsole.Instance.Commands.AddCommand("Repository", true, + "repo refresh", "repo refresh \"url\"", "Sync with a registered repository", + HandleConsoleGetRepo); + + // Remove repository from registry + MainConsole.Instance.Commands.AddCommand("Repository", true, + "repo remove", + "repo remove \"[url | index]\"", + "Remove repository from registry", + HandleConsoleRemoveRepo); + + // Enable repo + MainConsole.Instance.Commands.AddCommand("Repository", true, + "repo enable", "repo enable \"[url | index]\"", + "Enable registered repository", + HandleConsoleEnableRepo); + + // Disable repo + MainConsole.Instance.Commands.AddCommand("Repository", true, + "repo disable", "repo disable\"[url | index]\"", + "Disable registered repository", + HandleConsoleDisableRepo); + + // List registered repositories + MainConsole.Instance.Commands.AddCommand("Repository", true, + "repo list", "repo list", + "List registered repositories", + HandleConsoleListRepos); + + // * + MainConsole.Instance.Commands.AddCommand("Plugin", true, + "plugin info", "plugin info \"plugin index\"","Show detailed information for plugin", + HandleConsoleShowAddinInfo); + + // Plugin disable + MainConsole.Instance.Commands.AddCommand("Plugin", true, + "plugin disable", "plugin disable \"plugin index\"", + "Disable a plugin", + HandleConsoleDisablePlugin); + + // Enable plugin + MainConsole.Instance.Commands.AddCommand("Plugin", true, + "plugin enable", "plugin enable \"plugin index\"", + "Enable the selected plugin plugin", + HandleConsoleEnablePlugin); + } + + #region console handlers + // Handle our console commands + // + // Install plugin from registered repository + ///

+ /// Handles the console install plugin command. Attempts to install the selected plugin + /// and + /// + /// + /// Module. + /// + /// + /// Cmd. + /// + private void HandleConsoleInstallPlugin(string module, string[] cmd) + { + Dictionary result = new Dictionary(); + + if (cmd.Length == 3) + { + int ndx = Convert.ToInt16(cmd[2]); + if (PluginManager.InstallPlugin(ndx, out result) == true) + { + ArrayList s = new ArrayList(); + s.AddRange(result.Keys); + s.Sort(); + + var list = result.Keys.ToList(); + list.Sort(); + foreach (var k in list) + { + Dictionary plugin = (Dictionary)result[k]; + bool enabled = (bool)plugin["enabled"]; + MainConsole.Instance.OutputFormat("{0}) {1} {2} rev. {3}", + k, + enabled == true ? "[ ]" : "[X]", + plugin["name"], plugin["version"]); + } + } + } + return; + } + + // Remove installed plugin + private void HandleConsoleUnInstallPlugin(string module, string[] cmd) + { + if (cmd.Length == 3) + { + int ndx = Convert.ToInt16(cmd[2]); + PluginManager.UnInstall(ndx); + } + return; + } + + // List installed plugins + private void HandleConsoleListInstalledPlugin(string module, string[] cmd) + { + Dictionary result = new Dictionary(); + PluginManager.ListInstalledAddins(out result); + + ArrayList s = new ArrayList(); + s.AddRange(result.Keys); + s.Sort(); + + var list = result.Keys.ToList(); + list.Sort(); + foreach (var k in list) + { + Dictionary plugin = (Dictionary)result[k]; + bool enabled = (bool)plugin["enabled"]; + MainConsole.Instance.OutputFormat("{0}) {1} {2} rev. {3}", + k, + enabled == true ? "[ ]" : "[X]", + plugin["name"], plugin["version"]); + } + return; + } + + // List available plugins on registered repositories + private void HandleConsoleListAvailablePlugin(string module, string[] cmd) + { + Dictionary result = new Dictionary(); + PluginManager.ListAvailable(out result); + + var list = result.Keys.ToList(); + list.Sort(); + foreach (var k in list) + { + // name, version, repository + Dictionary plugin = (Dictionary)result[k]; + MainConsole.Instance.OutputFormat("{0}) {1} rev. {2} {3}", + k, + plugin["name"], + plugin["version"], + plugin["repository"]); + } + return; + } + + // List available updates **not ready + private void HandleConsoleListUpdates(string module, string[] cmd) + { + PluginManager.ListUpdates(); + return; + } + + // Update plugin **not ready + private void HandleConsoleUpdatePlugin(string module, string[] cmd) + { + MainConsole.Instance.Output(PluginManager.Update()); + return; + } + + // Register repository + private void HandleConsoleAddRepo(string module, string[] cmd) + { + if ( cmd.Length == 3) + { + PluginManager.AddRepository(cmd[2]); + } + return; + } + + // Get repository status **not working + private void HandleConsoleGetRepo(string module, string[] cmd) + { + PluginManager.GetRepository(); + return; + } + + // Remove registered repository + private void HandleConsoleRemoveRepo(string module, string[] cmd) + { + if (cmd.Length == 3) + PluginManager.RemoveRepository(cmd); + return; + } + + // Enable repository + private void HandleConsoleEnableRepo(string module, string[] cmd) + { + PluginManager.EnableRepository(cmd); + return; + } + + // Disable repository + private void HandleConsoleDisableRepo(string module, string[] cmd) + { + PluginManager.DisableRepository(cmd); + return; + } + + // List repositories + private void HandleConsoleListRepos(string module, string[] cmd) + { + Dictionary result = new Dictionary(); + PluginManager.ListRepositories(out result); + + var list = result.Keys.ToList(); + list.Sort(); + foreach (var k in list) + { + Dictionary repo = (Dictionary)result[k]; + bool enabled = (bool)repo["enabled"]; + MainConsole.Instance.OutputFormat("{0}) {1} {2}", + k, + enabled == true ? "[ ]" : "[X]", + repo["name"], repo["url"]); + } + + return; + } + + // Show description information + private void HandleConsoleShowAddinInfo(string module, string[] cmd) + { + if (cmd.Length >= 3) + { + + Dictionary result = new Dictionary(); + + int ndx = Convert.ToInt16(cmd[2]); + PluginManager.AddinInfo(ndx, out result); + + MainConsole.Instance.OutputFormat("Name: {0}\nURL: {1}\nFile: {2}\nAuthor: {3}\nCategory: {4}\nDesc: {5}", + result["name"], + result["url"], + result["file_name"], + result["author"], + result["category"], + result["description"]); + + return; + } + } + + // Disable plugin + private void HandleConsoleDisablePlugin(string module, string[] cmd) + { + PluginManager.DisablePlugin(cmd); + return; + } + + // Enable plugin + private void HandleConsoleEnablePlugin(string module, string[] cmd) + { + PluginManager.EnablePlugin(cmd); + return; + } + #endregion + } +} \ No newline at end of file diff --git a/OpenSim/Server/Base/PluginManager.cs b/OpenSim/Server/Base/PluginManager.cs new file mode 100644 index 0000000000..6248e74dd9 --- /dev/null +++ b/OpenSim/Server/Base/PluginManager.cs @@ -0,0 +1,555 @@ + +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + +using System; +using System.Text; +using System.Linq; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using Mono.Addins; +using Mono.Addins.Setup; +using Mono.Addins.Description; +using OpenSim.Framework; + +namespace OpenSim.Server.Base +{ + public class PluginManager : SetupService + { + protected AddinRegistry PluginRegistry; + + internal PluginManager(AddinRegistry registry): base (registry) + { + PluginRegistry = registry; + + } + + /// + /// Installs the plugin. + /// + /// + /// The plugin. + /// + /// + /// Arguments. + /// + public bool InstallPlugin(int ndx, out Dictionary result) + { + Dictionary res = new Dictionary(); + + PackageCollection pack = new PackageCollection(); + PackageCollection toUninstall; + DependencyCollection unresolved; + + IProgressStatus ps = new ConsoleProgressStatus(false); + + AddinRepositoryEntry[] available = GetSortedAvailbleAddins(); + + if (ndx > (available.Length - 1)) + { + MainConsole.Instance.Output("Selection out of range"); + result = res; + return false; + } + + AddinRepositoryEntry aentry = available[ndx]; + + Package p = Package.FromRepository(aentry); + pack.Add(p); + + ResolveDependencies(ps, pack, out toUninstall, out unresolved); + + // Attempt to install the plugin disabled + if (Install(ps, pack) == true) + { + PluginRegistry.Update(ps); + Addin addin = PluginRegistry.GetAddin(aentry.Addin.Id); + PluginRegistry.DisableAddin(addin.Id); + addin.Enabled = false; + + MainConsole.Instance.Output("Installation Success"); + ListInstalledAddins(out res); + result = res; + return true; + } + else + { + MainConsole.Instance.Output("Installation Failed"); + result = res; + return false; + } + } + + // Remove plugin + /// + /// Uns the install. + /// + /// + /// Arguments. + /// + public void UnInstall(int ndx) + { + Addin[] addins = GetSortedAddinList("RobustPlugin"); + + if (ndx > (addins.Length -1)) + { + MainConsole.Instance.Output("Selection out of range"); + return; + } + + Addin addin = addins[ndx]; + MainConsole.Instance.OutputFormat("Uninstalling plugin {0}", addin.Id); + AddinManager.Registry.DisableAddin(addin.Id); + addin.Enabled = false; + IProgressStatus ps = new ConsoleProgressStatus(false); + Uninstall(ps, addin.Id); + MainConsole.Instance.Output("Uninstall Success - restart to complete operation"); + return; + } + + /// + /// Checks the installed. + /// + /// + /// The installed. + /// + public string CheckInstalled() + { + return "CheckInstall"; + } + + /// + /// Lists the installed addins. + /// + /// + /// Result. + /// + public void ListInstalledAddins(out Dictionary result) + { + Dictionary res = new Dictionary(); + + Addin[] addins = GetSortedAddinList("RobustPlugin"); + if(addins.Count() < 1) + { + MainConsole.Instance.Output("Error!"); + } + int count = 0; + foreach (Addin addin in addins) + { + Dictionary r = new Dictionary(); + r["enabled"] = addin.Enabled == true ? true : false; + r["name"] = addin.LocalId; + r["version"] = addin.Version; + + res.Add(count.ToString(), r); + + count++; + } + result = res; + return; + } + + // List compatible plugins in registered repositories + /// + /// Lists the available. + /// + /// + /// Result. + /// + public void ListAvailable(out Dictionary result) + { + Dictionary res = new Dictionary(); + + AddinRepositoryEntry[] addins = GetSortedAvailbleAddins(); + + int count = 0; + foreach (AddinRepositoryEntry addin in addins) + { + Dictionary r = new Dictionary(); + r["name"] = addin.Addin.Name; + r["version"] = addin.Addin.Version; + r["repository"] = addin.RepositoryName; + + res.Add(count.ToString(), r); + count++; + } + result = res; + return; + } + + // List available updates ** 1 + /// + /// Lists the updates. + /// + public void ListUpdates() + { + IProgressStatus ps = new ConsoleProgressStatus(true); + Console.WriteLine ("Looking for updates..."); + Repositories.UpdateAllRepositories (ps); + Console.WriteLine ("Available add-in updates:"); + bool found = false; + AddinRepositoryEntry[] entries = Repositories.GetAvailableUpdates(); + + foreach (AddinRepositoryEntry entry in entries) + { + Console.WriteLine(String.Format("{0}",entry.Addin.Id)); + } + } + + // Sync to repositories + /// + /// Update this instance. + /// + public string Update() + { + IProgressStatus ps = new ConsoleProgressStatus(true); + Repositories.UpdateAllRepositories(ps); + return "Update"; + } + + // Register a repository + /// + /// Register a repository with our server. + /// + /// + /// result of the action + /// + /// + /// The URL of the repository we want to add + /// + public bool AddRepository(string repo) + { + Repositories.RegisterRepository(null, repo, true); + return true; + } + + /// + /// Gets the repository. + /// + public void GetRepository() + { + Repositories.UpdateAllRepositories(new ConsoleProgressStatus(false)); + } + + // Remove a repository from the list + /// + /// Removes the repository. + /// + /// + /// Arguments. + /// + public void RemoveRepository(string[] args) + { + AddinRepository[] reps = Repositories.GetRepositories(); + Array.Sort(reps, (r1,r2) => r1.Title.CompareTo(r2.Title)); + if (reps.Length == 0) + { + MainConsole.Instance.Output("No repositories have been registered."); + return; + } + + int n = Convert.ToInt16(args[2]); + if (n > (reps.Length -1)) + { + MainConsole.Instance.Output("Selection out of range"); + return; + } + + AddinRepository rep = reps[n]; + Repositories.RemoveRepository(rep.Url); + return; + } + + // Enable repository + /// + /// Enables the repository. + /// + /// + /// Arguments. + /// + public void EnableRepository(string[] args) + { + AddinRepository[] reps = Repositories.GetRepositories(); + Array.Sort(reps, (r1,r2) => r1.Title.CompareTo(r2.Title)); + if (reps.Length == 0) + { + MainConsole.Instance.Output("No repositories have been registered."); + return; + } + + int n = Convert.ToInt16(args[2]); + if (n > (reps.Length -1)) + { + MainConsole.Instance.Output("Selection out of range"); + return; + } + + AddinRepository rep = reps[n]; + Repositories.SetRepositoryEnabled(rep.Url, true); + return; + } + + // Disable a repository + /// + /// Disables the repository. + /// + /// + /// Arguments. + /// + public void DisableRepository(string[] args) + { + AddinRepository[] reps = Repositories.GetRepositories(); + Array.Sort(reps, (r1,r2) => r1.Title.CompareTo(r2.Title)); + if (reps.Length == 0) + { + MainConsole.Instance.Output("No repositories have been registered."); + return; + } + + int n = Convert.ToInt16(args[2]); + if (n > (reps.Length -1)) + { + MainConsole.Instance.Output("Selection out of range"); + return; + } + + AddinRepository rep = reps[n]; + Repositories.SetRepositoryEnabled(rep.Url, false); + return; + } + + // List registered repositories + /// + /// Lists the repositories. + /// + /// + /// Result. + /// + public void ListRepositories(out Dictionary result) + { + Dictionary res = new Dictionary(); + result = res; + + AddinRepository[] reps = GetSortedAddinRepo(); + if (reps.Length == 0) + { + MainConsole.Instance.Output("No repositories have been registered."); + return; + } + + int count = 0; + foreach (AddinRepository rep in reps) + { + Dictionary r = new Dictionary(); + r["enabled"] = rep.Enabled == true ? true : false; + r["name"] = rep.Name; + r["url"] = rep.Url; + + res.Add(count.ToString(), r); + count++; + } + return; + } + + /// + /// Updates the registry. + /// + public void UpdateRegistry() + { + PluginRegistry.Update(); + } + + // Show plugin info + /// + /// Addins the info. + /// + /// + /// The info. + /// + /// + /// Arguments. + /// + public bool AddinInfo(int ndx, out Dictionary result) + { + Dictionary res = new Dictionary(); + result = res; + + Addin[] addins = GetSortedAddinList("RobustPlugin"); + + if (ndx > (addins.Length - 1)) + { + MainConsole.Instance.Output("Selection out of range"); + return false; + } + // author category description + Addin addin = addins[ndx]; + + res["author"] = addin.Description.Author; + res["category"] = addin.Description.Category; + res["description"] = addin.Description.Description; + res["name"] = addin.Name; + res["url"] = addin.Description.Url; + res["file_name"] = addin.Description.FileName; + + result = res; + return true; + } + + // Disable a plugin + /// + /// Disables the plugin. + /// + /// + /// Arguments. + /// + public void DisablePlugin(string[] args) + { + Addin[] addins = GetSortedAddinList("RobustPlugin"); + + int n = Convert.ToInt16(args[2]); + if (n > (addins.Length -1)) + { + MainConsole.Instance.Output("Selection out of range"); + return; + } + + Addin addin = addins[n]; + AddinManager.Registry.DisableAddin(addin.Id); + addin.Enabled = false; + return; + } + + // Enable plugin + /// + /// Enables the plugin. + /// + /// + /// Arguments. + /// + public void EnablePlugin(string[] args) + { + Addin[] addins = GetSortedAddinList("RobustPlugin"); + + int n = Convert.ToInt16(args[2]); + if (n > (addins.Length -1)) + { + MainConsole.Instance.Output("Selection out of range"); + return; + } + + Addin addin = addins[n]; + + addin.Enabled = true; + AddinManager.Registry.EnableAddin(addin.Id); + // AddinManager.Registry.Update(); + if(PluginRegistry.IsAddinEnabled(addin.Id)) + { + ConsoleProgressStatus ps = new ConsoleProgressStatus(false); + if (!AddinManager.AddinEngine.IsAddinLoaded(addin.Id)) + { + AddinManager.Registry.Rebuild(ps); + AddinManager.AddinEngine.LoadAddin(ps, addin.Id); + } + } + else + { + MainConsole.Instance.OutputFormat("Not Enabled in this domain {0}", addin.Name); + } + return; + } + + + + #region Util + private void Testing() + { + Addin[] list = Registry.GetAddins(); + + var addins = list.Where( a => a.Description.Category == "RobustPlugin"); + + foreach (Addin addin in addins) + { + MainConsole.Instance.OutputFormat("Addin {0}", addin.Name); + } + } + + // These will let us deal with numbered lists instead + // of needing to type in the full ids + private AddinRepositoryEntry[] GetSortedAvailbleAddins() + { + ArrayList list = new ArrayList(); + list.AddRange(Repositories.GetAvailableAddins()); + + AddinRepositoryEntry[] addins = list.ToArray(typeof(AddinRepositoryEntry)) as AddinRepositoryEntry[]; + + Array.Sort(addins,(r1,r2) => r1.Addin.Id.CompareTo(r2.Addin.Id)); + + return addins; + } + + private AddinRepository[] GetSortedAddinRepo() + { + ArrayList list = new ArrayList(); + list.AddRange(Repositories.GetRepositories()); + + AddinRepository[] repos = list.ToArray(typeof(AddinRepository)) as AddinRepository[]; + Array.Sort (repos,(r1,r2) => r1.Name.CompareTo(r2.Name)); + + return repos; + } + + private Addin[] GetSortedAddinList(string category) + { + + ArrayList xlist = new ArrayList(); + ArrayList list = new ArrayList(); + try + { + list.AddRange(PluginRegistry.GetAddins()); + } + catch(Exception e) + { + Addin[] x = xlist.ToArray(typeof(Addin)) as Addin[]; + return x; + } + + foreach (Addin addin in list) + { + if (addin.Description.Category == category) + xlist.Add(addin); + } + + Addin[] addins = xlist.ToArray(typeof(Addin)) as Addin[]; + Array.Sort(addins,(r1,r2) => r1.Id.CompareTo(r2.Id)); + + return addins; + } + #endregion Util + } +} \ No newline at end of file diff --git a/OpenSim/Server/Base/ServerUtils.cs b/OpenSim/Server/Base/ServerUtils.cs index 4a696c4289..6c6af628ef 100644 --- a/OpenSim/Server/Base/ServerUtils.cs +++ b/OpenSim/Server/Base/ServerUtils.cs @@ -36,9 +36,115 @@ using log4net; using Nini.Config; using OpenSim.Framework; using OpenMetaverse; +using Mono.Addins; +using OpenSim.Framework.Servers.HttpServer; +using OpenSim.Framework.Servers; + +[assembly:AddinRoot("Robust", "0.1")] namespace OpenSim.Server.Base { + [TypeExtensionPoint(Path="/Robust/Connector", Name="RobustConnector")] + public interface IRobustConnector + { + string ConfigName + { + get; + } + + bool Enabled + { + get; + } + + string PluginPath + { + get; + set; + } + + uint Configure(IConfigSource config); + void Initialize(IHttpServer server); + } + + public class PluginLoader + { + static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + + public AddinRegistry Registry + { + get; + private set; + } + + public IConfigSource Config + { + get; + private set; + } + + public PluginLoader(IConfigSource config, string registryPath) + { + Config = config; + + Registry = new AddinRegistry(registryPath, "."); + AddinManager.Initialize(registryPath); + AddinManager.Registry.Update(); + CommandManager commandmanager = new CommandManager(Registry); + AddinManager.AddExtensionNodeHandler("/Robust/Connector", OnExtensionChanged); + } + + private void OnExtensionChanged(object s, ExtensionNodeEventArgs args) + { + IRobustConnector connector = (IRobustConnector)args.ExtensionObject; + + Addin a = Registry.GetAddin(args.ExtensionNode.Addin.Id); + m_log.InfoFormat("[SERVER]: Extension Change: {0}/{1}", Registry.DefaultAddinsFolder, a.Name.Replace(',', '.')); + + switch(args.Change) + { + case ExtensionChange.Add: + connector.PluginPath = String.Format("{0}/{1}", Registry.DefaultAddinsFolder, a.Name.Replace(',', '.')); + LoadPlugin(connector); + break; + case ExtensionChange.Remove: + UnloadPlugin(connector); + break; + } + } + + private void LoadPlugin(IRobustConnector connector) + { + IHttpServer server = null; + uint port = connector.Configure(Config); + + if(connector.Enabled) + { + server = GetServer(connector, port); + m_log.InfoFormat("[SERVER]: Path is {0}", connector.PluginPath); + connector.Initialize(server); + } + else + m_log.InfoFormat("[SERVER]: {0} Disabled.", connector.ConfigName); + } + + private void UnloadPlugin(IRobustConnector connector) + { + } + + private IHttpServer GetServer(IRobustConnector connector, uint port) + { + IHttpServer server; + + if(port != 0) + server = MainServer.GetHttpServer(port); + else + server = MainServer.Instance; + + return server; + } + } + public static class ServerUtils { private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); diff --git a/OpenSim/Server/Handlers/Base/ServerConnector.cs b/OpenSim/Server/Handlers/Base/ServerConnector.cs index 951cd89b5e..067fd2a0fb 100644 --- a/OpenSim/Server/Handlers/Base/ServerConnector.cs +++ b/OpenSim/Server/Handlers/Base/ServerConnector.cs @@ -63,6 +63,10 @@ namespace OpenSim.Server.Handlers.Base protected set; } + public ServiceConnector() + { + } + public ServiceConnector(IConfigSource config, IHttpServer server, string configName) { } diff --git a/OpenSim/Server/ServerMain.cs b/OpenSim/Server/ServerMain.cs index 21fb6785c3..575d560475 100644 --- a/OpenSim/Server/ServerMain.cs +++ b/OpenSim/Server/ServerMain.cs @@ -34,6 +34,7 @@ using OpenSim.Framework.Servers; using OpenSim.Framework.Servers.HttpServer; using OpenSim.Server.Base; using OpenSim.Server.Handlers.Base; +using Mono.Addins; namespace OpenSim.Server { @@ -48,9 +49,13 @@ namespace OpenSim.Server protected static List m_ServiceConnectors = new List(); + protected static PluginLoader loader; + public static int Main(string[] args) { m_Server = new HttpServerBase("R.O.B.U.S.T.", args); + + string registryLocation; IConfig serverConfig = m_Server.Config.Configs["Startup"]; if (serverConfig == null) @@ -61,6 +66,8 @@ namespace OpenSim.Server string connList = serverConfig.GetString("ServiceConnectors", String.Empty); string[] conns = connList.Split(new char[] {',', ' '}); + + registryLocation = serverConfig.GetString("RegistryLocation","."); // int i = 0; foreach (string c in conns) @@ -123,6 +130,9 @@ namespace OpenSim.Server m_log.InfoFormat("[SERVER]: Failed to load {0}", conn); } } + + loader = new PluginLoader(m_Server.Config, registryLocation); + int res = m_Server.Run(); Environment.Exit(res); diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 995f18178f..107a42d62e 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -23,8 +23,16 @@ [Startup] ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003/OpenSim.Server.Handlers.dll:XInventoryInConnector,8004/OpenSim.Server.Handlers.dll:FreeswitchServerConnector,8003/OpenSim.Server.Handlers.dll:GridServiceConnector,8002/OpenSim.Server.Handlers.dll:GridInfoServerInConnector,8003/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector,8002/OpenSim.Server.Handlers.dll:OpenIdServerConnector,8003/OpenSim.Server.Handlers.dll:AvatarServiceConnector,8002/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector,8003/OpenSim.Server.Handlers.dll:PresenceServiceConnector,8003/OpenSim.Server.Handlers.dll:UserAccountServiceConnector,8003/OpenSim.Server.Handlers.dll:GridUserServiceConnector,8003/OpenSim.Server.Handlers.dll:FriendsServiceConnector,8002/OpenSim.Server.Handlers.dll:GatekeeperServiceInConnector,8002/OpenSim.Server.Handlers.dll:UserAgentServerConnector,HGInventoryService@8002/OpenSim.Server.Handlers.dll:XInventoryInConnector,HGAssetService@8002/OpenSim.Server.Handlers.dll:AssetServiceConnector,8002/OpenSim.Server.Handlers.dll:HeloServiceInConnector,8002/OpenSim.Server.Handlers.dll:HGFriendsServerConnector,8002/OpenSim.Server.Handlers.dll:InstantMessageServerConnector,8003/OpenSim.Server.Handlers.dll:MapAddServiceConnector,8002/OpenSim.Server.Handlers.dll:MapGetServiceConnector" +; Plugin Registry Location +; Set path to directory for plugin registry. Information +; about the registered repositories and installed plugins +; will be stored here +; The Robust.exe process must hvae R/W access to the location +RegistryLocation = "." + ; Modular configurations ; Set path to directory for modular ini files... +; The Robust.exe process must hvae R/W access to the location ConfigDirectory = "/home/opensim/etc/Configs" ; * This is common for all services, it's the network setup for the entire diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 7b8e83def1..430be269e9 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -15,9 +15,17 @@ [Startup] ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003/OpenSim.Server.Handlers.dll:XInventoryInConnector,8004/OpenSim.Server.Handlers.dll:FreeswitchServerConnector,8003/OpenSim.Server.Handlers.dll:GridServiceConnector,8002/OpenSim.Server.Handlers.dll:GridInfoServerInConnector,8003/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector,8002/OpenSim.Server.Handlers.dll:OpenIdServerConnector,8003/OpenSim.Server.Handlers.dll:AvatarServiceConnector,8002/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector,8003/OpenSim.Server.Handlers.dll:PresenceServiceConnector,8003/OpenSim.Server.Handlers.dll:UserAccountServiceConnector,8003/OpenSim.Server.Handlers.dll:GridUserServiceConnector,8003/OpenSim.Server.Handlers.dll:FriendsServiceConnector,8003/OpenSim.Server.Handlers.dll:MapAddServiceConnector,8002/OpenSim.Server.Handlers.dll:MapGetServiceConnector" +; Plugin Registry Location +; Set path to directory for plugin registry. Information +; about the registered repositories and installed plugins +; will be stored here +; The Robust.exe process must hvae R/W access to the location +RegistryLocation = "." + ; Modular configurations ; Set path to directory for modular ini files... +; The Robust.exe process must hvae R/W access to the location ConfigDirectory = "/home/opensim/etc/Configs" ; * This is common for all services, it's the network setup for the entire diff --git a/prebuild.xml b/prebuild.xml index d3af8922b2..fe8dcef3b0 100644 --- a/prebuild.xml +++ b/prebuild.xml @@ -733,7 +733,10 @@ + + + @@ -856,6 +859,7 @@ + @@ -864,7 +868,6 @@ - @@ -1260,6 +1263,7 @@ + @@ -1336,6 +1340,8 @@ + + From 92849c5cc39bb6d83c478c300ba10fab9d7f8bfc Mon Sep 17 00:00:00 2001 From: BlueWall Date: Tue, 9 Oct 2012 07:59:44 -0400 Subject: [PATCH 005/851] missed some conflict markup --- OpenSim/Server/ServerMain.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/OpenSim/Server/ServerMain.cs b/OpenSim/Server/ServerMain.cs index be12f8af1d..8be69a93a4 100644 --- a/OpenSim/Server/ServerMain.cs +++ b/OpenSim/Server/ServerMain.cs @@ -86,7 +86,6 @@ namespace OpenSim.Server } string[] conns = connList.Split(new char[] {',', ' ', '\n', '\r', '\t'}); ->>>>>>> master // int i = 0; foreach (string c in conns) From a960efeabaf00563fef551fd3b4f6d215306c3ea Mon Sep 17 00:00:00 2001 From: BlueWall Date: Tue, 9 Oct 2012 08:00:02 -0400 Subject: [PATCH 006/851] Fix registry issue Rebuild registry if loading from a local dll to give access to the addin data for it on the first pass. --- OpenSim/Server/Base/ServerUtils.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/OpenSim/Server/Base/ServerUtils.cs b/OpenSim/Server/Base/ServerUtils.cs index 6c6af628ef..d0b6c81973 100644 --- a/OpenSim/Server/Base/ServerUtils.cs +++ b/OpenSim/Server/Base/ServerUtils.cs @@ -97,8 +97,14 @@ namespace OpenSim.Server.Base private void OnExtensionChanged(object s, ExtensionNodeEventArgs args) { IRobustConnector connector = (IRobustConnector)args.ExtensionObject; - Addin a = Registry.GetAddin(args.ExtensionNode.Addin.Id); + + if(a == null) + { + Registry.Rebuild(null); + a = Registry.GetAddin(args.ExtensionNode.Addin.Id); + } + m_log.InfoFormat("[SERVER]: Extension Change: {0}/{1}", Registry.DefaultAddinsFolder, a.Name.Replace(',', '.')); switch(args.Change) From 08f6c8065e79b4a74300efc31fbba8fbc03652ed Mon Sep 17 00:00:00 2001 From: BlueWall Date: Wed, 10 Oct 2012 09:32:31 -0400 Subject: [PATCH 007/851] Add System.Core to references --- prebuild.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/prebuild.xml b/prebuild.xml index ca27e2cfed..82c4dc9e69 100644 --- a/prebuild.xml +++ b/prebuild.xml @@ -730,6 +730,7 @@ ../../../bin/ + From 83073ebd03e46789b3509af2c4e37ef3b3428174 Mon Sep 17 00:00:00 2001 From: BlueWall Date: Wed, 10 Oct 2012 09:35:08 -0400 Subject: [PATCH 008/851] Implement plugin unloading Plugin may be enabled and disabled on the fly. --- OpenSim/Server/Base/PluginManager.cs | 2 ++ OpenSim/Server/Base/ServerUtils.cs | 18 ++++++++++++++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/OpenSim/Server/Base/PluginManager.cs b/OpenSim/Server/Base/PluginManager.cs index 6248e74dd9..d2cf668356 100644 --- a/OpenSim/Server/Base/PluginManager.cs +++ b/OpenSim/Server/Base/PluginManager.cs @@ -246,6 +246,8 @@ namespace OpenSim.Server.Base public bool AddRepository(string repo) { Repositories.RegisterRepository(null, repo, true); + PluginRegistry.Rebuild(null); + return true; } diff --git a/OpenSim/Server/Base/ServerUtils.cs b/OpenSim/Server/Base/ServerUtils.cs index d0b6c81973..6cbf332cb9 100644 --- a/OpenSim/Server/Base/ServerUtils.cs +++ b/OpenSim/Server/Base/ServerUtils.cs @@ -65,6 +65,7 @@ namespace OpenSim.Server.Base uint Configure(IConfigSource config); void Initialize(IHttpServer server); + void Unload(); } public class PluginLoader @@ -105,12 +106,17 @@ namespace OpenSim.Server.Base a = Registry.GetAddin(args.ExtensionNode.Addin.Id); } - m_log.InfoFormat("[SERVER]: Extension Change: {0}/{1}", Registry.DefaultAddinsFolder, a.Name.Replace(',', '.')); - switch(args.Change) { case ExtensionChange.Add: - connector.PluginPath = String.Format("{0}/{1}", Registry.DefaultAddinsFolder, a.Name.Replace(',', '.')); + if (a.AddinFile.Contains(Registry.DefaultAddinsFolder)) + { + connector.PluginPath = String.Format("{0}/{1}", Registry.DefaultAddinsFolder, a.Name.Replace(',', '.')); + } + else + { + connector.PluginPath = a.AddinFile; + } LoadPlugin(connector); break; case ExtensionChange.Remove: @@ -127,15 +133,19 @@ namespace OpenSim.Server.Base if(connector.Enabled) { server = GetServer(connector, port); - m_log.InfoFormat("[SERVER]: Path is {0}", connector.PluginPath); connector.Initialize(server); } else + { m_log.InfoFormat("[SERVER]: {0} Disabled.", connector.ConfigName); + } } private void UnloadPlugin(IRobustConnector connector) { + m_log.InfoFormat("[Server]: Unloading {0}", connector.ConfigName); + + connector.Unload(); } private IHttpServer GetServer(IRobustConnector connector, uint port) From c8393dd0bedfa88c32c940249d86cb7781c1e815 Mon Sep 17 00:00:00 2001 From: BlueWall Date: Thu, 11 Oct 2012 07:38:15 -0400 Subject: [PATCH 009/851] Add logging to help track sequence of events --- OpenSim/Server/Base/ServerUtils.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/OpenSim/Server/Base/ServerUtils.cs b/OpenSim/Server/Base/ServerUtils.cs index 6cbf332cb9..8ecf3d36b7 100644 --- a/OpenSim/Server/Base/ServerUtils.cs +++ b/OpenSim/Server/Base/ServerUtils.cs @@ -111,10 +111,12 @@ namespace OpenSim.Server.Base case ExtensionChange.Add: if (a.AddinFile.Contains(Registry.DefaultAddinsFolder)) { + m_log.InfoFormat("[SERVER]: Adding {0}", a.Name); connector.PluginPath = String.Format("{0}/{1}", Registry.DefaultAddinsFolder, a.Name.Replace(',', '.')); } else { + m_log.InfoFormat("[SERVER]: Removing {0}", a.Name); connector.PluginPath = a.AddinFile; } LoadPlugin(connector); From 99bb6c930479fedee4e55a662fa715702f6110b7 Mon Sep 17 00:00:00 2001 From: BlueWall Date: Fri, 19 Oct 2012 07:38:36 -0400 Subject: [PATCH 010/851] Move PluginManager Move PluginManager out to OpenSimFramework for general use --- OpenSim/{Server/Base => Framework}/PluginManager.cs | 12 ++++++++---- OpenSim/Server/Base/CommandManager.cs | 10 ++++++++-- OpenSim/Server/Base/ServerUtils.cs | 5 +++-- OpenSim/Server/Handlers/Base/ServerConnector.cs | 8 +++++--- prebuild.xml | 2 +- 5 files changed, 25 insertions(+), 12 deletions(-) rename OpenSim/{Server/Base => Framework}/PluginManager.cs (98%) diff --git a/OpenSim/Server/Base/PluginManager.cs b/OpenSim/Framework/PluginManager.cs similarity index 98% rename from OpenSim/Server/Base/PluginManager.cs rename to OpenSim/Framework/PluginManager.cs index d2cf668356..188d90ae6d 100644 --- a/OpenSim/Server/Base/PluginManager.cs +++ b/OpenSim/Framework/PluginManager.cs @@ -38,13 +38,17 @@ using Mono.Addins.Setup; using Mono.Addins.Description; using OpenSim.Framework; -namespace OpenSim.Server.Base + +namespace OpenSim.Framework { + /// + /// Manager for registries and plugins + /// public class PluginManager : SetupService { - protected AddinRegistry PluginRegistry; + public AddinRegistry PluginRegistry; - internal PluginManager(AddinRegistry registry): base (registry) + public PluginManager(AddinRegistry registry): base (registry) { PluginRegistry = registry; @@ -554,4 +558,4 @@ namespace OpenSim.Server.Base } #endregion Util } -} \ No newline at end of file +} diff --git a/OpenSim/Server/Base/CommandManager.cs b/OpenSim/Server/Base/CommandManager.cs index 45652b30f9..88aac00fb5 100644 --- a/OpenSim/Server/Base/CommandManager.cs +++ b/OpenSim/Server/Base/CommandManager.cs @@ -33,15 +33,21 @@ using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using Mono.Addins; -using Mono.Addins.Setup; +// using Mono.Addins.Setup; using Mono.Addins.Description; using OpenSim.Framework; namespace OpenSim.Server.Base { + /// + /// Command manager - + /// Wrapper for OpenSim.Framework.PluginManager to allow + /// us to add commands to the console to perform operations + /// on our repos and plugins + /// public class CommandManager { - protected AddinRegistry PluginRegistry; + public AddinRegistry PluginRegistry; protected PluginManager PluginManager; public CommandManager(AddinRegistry registry) diff --git a/OpenSim/Server/Base/ServerUtils.cs b/OpenSim/Server/Base/ServerUtils.cs index 8ecf3d36b7..31b04465b6 100644 --- a/OpenSim/Server/Base/ServerUtils.cs +++ b/OpenSim/Server/Base/ServerUtils.cs @@ -111,17 +111,18 @@ namespace OpenSim.Server.Base case ExtensionChange.Add: if (a.AddinFile.Contains(Registry.DefaultAddinsFolder)) { - m_log.InfoFormat("[SERVER]: Adding {0}", a.Name); + m_log.InfoFormat("[SERVER]: Adding {0} from registry", a.Name); connector.PluginPath = String.Format("{0}/{1}", Registry.DefaultAddinsFolder, a.Name.Replace(',', '.')); } else { - m_log.InfoFormat("[SERVER]: Removing {0}", a.Name); + m_log.InfoFormat("[SERVER]: Adding {0} from ./bin", a.Name); connector.PluginPath = a.AddinFile; } LoadPlugin(connector); break; case ExtensionChange.Remove: + m_log.InfoFormat("[SERVER]: Removing {0}", a.Name); UnloadPlugin(connector); break; } diff --git a/OpenSim/Server/Handlers/Base/ServerConnector.cs b/OpenSim/Server/Handlers/Base/ServerConnector.cs index 067fd2a0fb..72014dba7d 100644 --- a/OpenSim/Server/Handlers/Base/ServerConnector.cs +++ b/OpenSim/Server/Handlers/Base/ServerConnector.cs @@ -41,8 +41,7 @@ namespace OpenSim.Server.Handlers.Base { public virtual string ConfigURL { - get; - protected set; + get { return String.Empty; } } public virtual string ConfigName @@ -95,7 +94,10 @@ namespace OpenSim.Server.Handlers.Base return config; } - // We get our remote initial configuration for bootstrapping + // We get our remote initial configuration for bootstrapping in case + // we have no configuration in our main file or in an existing + // modular config file. This is the last resort to bootstrap the + // configuration, likely a new plugin loading for the first time. private IConfigSource GetConfigSource() { IConfigSource source = null; diff --git a/prebuild.xml b/prebuild.xml index 82c4dc9e69..6c58e38307 100644 --- a/prebuild.xml +++ b/prebuild.xml @@ -105,6 +105,7 @@ + @@ -737,7 +738,6 @@ - From f473252fa8022f95f60e219b24ffa342966f8c13 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 23 Nov 2012 03:56:53 +0000 Subject: [PATCH 011/851] Add AllowRegionRestartFromClient setting to [EstateManagement] section of OpenSim.ini. Setting this to false will block all restart requests from the viewer even if they are otherwise legitimate. One use is to block region restarts if necessary whilst restart functionality remains buggy or triggers bugs in modules, though these should be fixed as soon as practicable. Default is true, as has been the case historically. --- .../World/Estate/EstateManagementModule.cs | 103 +++++++++++------- bin/OpenSimDefaults.ini | 6 + 2 files changed, 69 insertions(+), 40 deletions(-) diff --git a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs index f974a63c8b..eb06fcc4af 100644 --- a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs +++ b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs @@ -53,6 +53,11 @@ namespace OpenSim.Region.CoreModules.World.Estate protected EstateManagementCommands m_commands; + /// + /// If false, region restart requests from the client are blocked even if they are otherwise legitimate. + /// + public bool AllowRegionRestartFromClient { get; set; } + private EstateTerrainXferHandler TerrainUploader; public TelehubManager m_Telehub; @@ -60,6 +65,53 @@ namespace OpenSim.Region.CoreModules.World.Estate public event ChangeDelegate OnEstateInfoChange; public event MessageDelegate OnEstateMessage; + #region Region Module interface + + public string Name { get { return "EstateManagementModule"; } } + + public Type ReplaceableInterface { get { return null; } } + + public void Initialise(IConfigSource source) + { + AllowRegionRestartFromClient = true; + + IConfig config = source.Configs["EstateManagement"]; + + if (config != null) + AllowRegionRestartFromClient = config.GetBoolean("AllowRegionRestartFromClient", true); + } + + public void AddRegion(Scene scene) + { + Scene = scene; + Scene.RegisterModuleInterface(this); + Scene.EventManager.OnNewClient += EventManager_OnNewClient; + Scene.EventManager.OnRequestChangeWaterHeight += changeWaterHeight; + + m_Telehub = new TelehubManager(scene); + + m_commands = new EstateManagementCommands(this); + m_commands.Initialise(); + } + + public void RemoveRegion(Scene scene) {} + + public void RegionLoaded(Scene scene) + { + // Sets up the sun module based no the saved Estate and Region Settings + // DO NOT REMOVE or the sun will stop working + scene.TriggerEstateSunUpdate(); + + UserManager = scene.RequestModuleInterface(); + } + + public void Close() + { + m_commands.Close(); + } + + #endregion + #region Packet Data Responders private void sendDetailedEstateData(IClientAPI remote_client, UUID invoice) @@ -184,6 +236,7 @@ namespace OpenSim.Region.CoreModules.World.Estate Scene.RegionInfo.RegionSettings.TerrainTexture4 = texture; break; } + Scene.RegionInfo.RegionSettings.Save(); TriggerRegionInfoChange(); sendRegionInfoPacketToAll(); @@ -215,6 +268,7 @@ namespace OpenSim.Region.CoreModules.World.Estate Scene.RegionInfo.RegionSettings.Elevation2NE = highValue; break; } + Scene.RegionInfo.RegionSettings.Save(); TriggerRegionInfoChange(); sendRegionHandshakeToAll(); @@ -255,6 +309,12 @@ namespace OpenSim.Region.CoreModules.World.Estate private void handleEstateRestartSimRequest(IClientAPI remoteClient, int timeInSeconds) { + if (!AllowRegionRestartFromClient) + { + remoteClient.SendAlertMessage("Region restart has been disabled on this simulator."); + return; + } + IRestartModule restartModule = Scene.RequestModuleInterface(); if (restartModule != null) { @@ -329,6 +389,7 @@ namespace OpenSim.Region.CoreModules.World.Estate } } + if ((estateAccessType & 8) != 0) // User remove { if (Scene.Permissions.CanIssueEstateCommand(remote_client.AgentId, true)) @@ -360,6 +421,7 @@ namespace OpenSim.Region.CoreModules.World.Estate remote_client.SendAlertMessage("Method EstateAccessDelta Failed, you don't have permissions"); } } + if ((estateAccessType & 16) != 0) // Group add { if (Scene.Permissions.CanIssueEstateCommand(remote_client.AgentId, true)) @@ -623,7 +685,7 @@ namespace OpenSim.Region.CoreModules.World.Estate } } - public void handleOnEstateManageTelehub (IClientAPI client, UUID invoice, UUID senderID, string cmd, uint param1) + public void handleOnEstateManageTelehub(IClientAPI client, UUID invoice, UUID senderID, string cmd, uint param1) { SceneObjectPart part; @@ -1081,45 +1143,6 @@ namespace OpenSim.Region.CoreModules.World.Estate #endregion - #region Region Module interface - - public string Name { get { return "EstateManagementModule"; } } - - public Type ReplaceableInterface { get { return null; } } - - public void Initialise(IConfigSource source) {} - - public void AddRegion(Scene scene) - { - Scene = scene; - Scene.RegisterModuleInterface(this); - Scene.EventManager.OnNewClient += EventManager_OnNewClient; - Scene.EventManager.OnRequestChangeWaterHeight += changeWaterHeight; - - m_Telehub = new TelehubManager(scene); - - m_commands = new EstateManagementCommands(this); - m_commands.Initialise(); - } - - public void RemoveRegion(Scene scene) {} - - public void RegionLoaded(Scene scene) - { - // Sets up the sun module based no the saved Estate and Region Settings - // DO NOT REMOVE or the sun will stop working - scene.TriggerEstateSunUpdate(); - - UserManager = scene.RequestModuleInterface(); - } - - public void Close() - { - m_commands.Close(); - } - - #endregion - #region Other Functions public void changeWaterHeight(float height) diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 818321e9bd..19e081fd96 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -368,6 +368,12 @@ ; alert_uri = "http://myappserver.net/my_handler/" +[EstateManagement] + ; If false, then block any region restart requests from the client even if they are otherwise valid. + ; Default is true + AllowRegionRestartFromClient = true + + [SMTP] enabled = false From 1f336579c87b6b9e3152175c8b6724bff2777b65 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 23 Nov 2012 04:06:48 +0000 Subject: [PATCH 012/851] minor: Make note in log if scene was restarted due to an unrecoverable physics error --- OpenSim/Region/Framework/Scenes/Scene.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 8ef22bd3f9..1ad5edd296 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -740,7 +740,12 @@ namespace OpenSim.Region.Framework.Scenes // // Out of memory // Operating system has killed the plugin - m_sceneGraph.UnRecoverableError += RestartNow; + m_sceneGraph.UnRecoverableError + += () => + { + m_log.ErrorFormat("[SCENE]: Restarting region {0} due to unrecoverable physics crash", Name); + RestartNow(); + }; RegisterDefaultSceneEvents(); From acc1810af2d4527d9cb0e3e7aaaf43c2f54ffb43 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 23 Nov 2012 04:08:17 +0000 Subject: [PATCH 013/851] minor: remove some mono compiler warnings --- OpenSim/Region/CoreModules/World/Sound/SoundModule.cs | 4 ++-- OpenSim/Region/CoreModules/World/Wind/WindModule.cs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/OpenSim/Region/CoreModules/World/Sound/SoundModule.cs b/OpenSim/Region/CoreModules/World/Sound/SoundModule.cs index 513a8f5385..089fcda614 100644 --- a/OpenSim/Region/CoreModules/World/Sound/SoundModule.cs +++ b/OpenSim/Region/CoreModules/World/Sound/SoundModule.cs @@ -43,8 +43,8 @@ namespace OpenSim.Region.CoreModules.World.Sound [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "SoundModule")] public class SoundModule : INonSharedRegionModule, ISoundModule { - private static readonly ILog m_log = LogManager.GetLogger( - MethodBase.GetCurrentMethod().DeclaringType); +// private static readonly ILog m_log = LogManager.GetLogger( +// MethodBase.GetCurrentMethod().DeclaringType); private Scene m_scene; diff --git a/OpenSim/Region/CoreModules/World/Wind/WindModule.cs b/OpenSim/Region/CoreModules/World/Wind/WindModule.cs index fd8e2b4b02..9de588ccdb 100644 --- a/OpenSim/Region/CoreModules/World/Wind/WindModule.cs +++ b/OpenSim/Region/CoreModules/World/Wind/WindModule.cs @@ -66,7 +66,7 @@ namespace OpenSim.Region.CoreModules public void Initialise(IConfigSource config) { m_windConfig = config.Configs["Wind"]; - string desiredWindPlugin = m_dWindPluginName; +// string desiredWindPlugin = m_dWindPluginName; if (m_windConfig != null) { From edbdbd44b95b6fb11958eda1cd8e70da799849b5 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 23 Nov 2012 04:09:45 +0000 Subject: [PATCH 014/851] Enable further client stack packet pooling by default by setting RecycleBaseUDPPackets = true by default. This reduces base memory churn of every client connection, improving the garbage collection situation. The effect is a significant portion of base load (an avatar standing still on a completely blank island) but will probably still be swallowed up by other memory use on active regions. Tests have shown no noticeable impact on speed of processing incoming packets, though setting remains in case a switch back is needed. --- bin/OpenSimDefaults.ini | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 19e081fd96..8a451ecdad 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1592,8 +1592,7 @@ ; If true, then the basic packet objects used to receive data are also recycled, not just the LLUDP packets. ; This reduces data churn - ; This setting is currently experimental and defaults to false. - RecycleBaseUDPPackets = false; + RecycleBaseUDPPackets = true [InterestManagement] From 065d6d6fe1c8cd010d2bf0e68d6a2a926b17fc5c Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 23 Nov 2012 04:15:21 +0000 Subject: [PATCH 015/851] Delete unused BaseHttpServer.HandleAgentRequest() --- .../Servers/HttpServer/BaseHttpServer.cs | 53 ------------------- 1 file changed, 53 deletions(-) diff --git a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs index 66d80cf3d7..2cd626fa44 100644 --- a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs +++ b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs @@ -1282,59 +1282,6 @@ namespace OpenSim.Framework.Servers.HttpServer map["login"] = OSD.FromString("false"); return map; } - /// - /// A specific agent handler was provided. Such a handler is expecetd to have an - /// intimate, and highly specific relationship with the client. Consequently, - /// nothing is done here. - /// - /// - /// - /// - - private bool HandleAgentRequest(IHttpAgentHandler handler, OSHttpRequest request, OSHttpResponse response) - { - // In the case of REST, then handler is responsible for ALL aspects of - // the request/response handling. Nothing is done here, not even encoding. - - try - { - return handler.Handle(request, response); - } - catch (Exception e) - { - // If the handler did in fact close the stream, then this will blow - // chunks. So that that doesn't disturb anybody we throw away any - // and all exceptions raised. We've done our best to release the - // client. - try - { - m_log.Warn("[HTTP-AGENT]: Error - " + e.Message); - response.SendChunked = false; - response.KeepAlive = true; - response.StatusCode = (int)OSHttpStatusCode.ServerErrorInternalError; - //response.OutputStream.Close(); - try - { - response.Send(); - //response.FreeContext(); - } - catch (SocketException f) - { - // This has to be here to prevent a Linux/Mono crash - m_log.Warn( - String.Format("[BASE HTTP SERVER]: XmlRpcRequest issue {0}.\nNOTE: this may be spurious on Linux. ", f.Message), f); - } - } - catch(Exception) - { - } - } - - // Indicate that the request has been "handled" - - return true; - - } public byte[] HandleHTTPRequest(OSHttpRequest request, OSHttpResponse response) { From 4b46a0d5368ae1ae95b5ba817f0ef4f7ed0c2692 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 23 Nov 2012 04:19:08 +0000 Subject: [PATCH 016/851] Make "show version" console command available across all servers --- OpenSim/Framework/Servers/BaseOpenSimServer.cs | 8 -------- OpenSim/Framework/Servers/ServerBase.cs | 7 +++++++ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/OpenSim/Framework/Servers/BaseOpenSimServer.cs b/OpenSim/Framework/Servers/BaseOpenSimServer.cs index 89d35076f3..d8b47372ae 100644 --- a/OpenSim/Framework/Servers/BaseOpenSimServer.cs +++ b/OpenSim/Framework/Servers/BaseOpenSimServer.cs @@ -104,10 +104,6 @@ namespace OpenSim.Framework.Servers "show threads", "Show thread status", HandleShow); - m_console.Commands.AddCommand("General", false, "show version", - "show version", - "Show server version", HandleShow); - m_console.Commands.AddCommand("General", false, "threads abort", "threads abort ", "Abort a managed thread. Use \"show threads\" to find possible threads.", HandleThreadsAbort); @@ -263,10 +259,6 @@ namespace OpenSim.Framework.Servers case "threads": Notice(GetThreadsReport()); break; - - case "version": - Notice(GetVersionText()); - break; } } diff --git a/OpenSim/Framework/Servers/ServerBase.cs b/OpenSim/Framework/Servers/ServerBase.cs index c182a3abca..431dc9ec1a 100644 --- a/OpenSim/Framework/Servers/ServerBase.cs +++ b/OpenSim/Framework/Servers/ServerBase.cs @@ -167,6 +167,9 @@ namespace OpenSim.Framework.Servers m_console.Commands.AddCommand( "General", false, "show info", "show info", "Show general information about the server", HandleShow); + m_console.Commands.AddCommand( + "General", false, "show version", "show version", "Show server version", HandleShow); + m_console.Commands.AddCommand( "General", false, "show uptime", "show uptime", "Show server uptime", HandleShow); @@ -222,6 +225,10 @@ namespace OpenSim.Framework.Servers ShowInfo(); break; + case "version": + Notice(GetVersionText()); + break; + case "uptime": Notice(GetUptimeReport()); break; From e0a3e01850ea066ef10bfe59ffa81b8ac425442a Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 23 Nov 2012 04:27:04 +0000 Subject: [PATCH 017/851] Make "force gc" console command available across all servers --- OpenSim/Framework/Servers/BaseOpenSimServer.cs | 11 ----------- OpenSim/Framework/Servers/ServerBase.cs | 12 ++++++++++++ 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/OpenSim/Framework/Servers/BaseOpenSimServer.cs b/OpenSim/Framework/Servers/BaseOpenSimServer.cs index d8b47372ae..3f66ab5d1e 100644 --- a/OpenSim/Framework/Servers/BaseOpenSimServer.cs +++ b/OpenSim/Framework/Servers/BaseOpenSimServer.cs @@ -112,17 +112,6 @@ namespace OpenSim.Framework.Servers "threads show", "Show thread status. Synonym for \"show threads\"", (string module, string[] args) => Notice(GetThreadsReport())); - - m_console.Commands.AddCommand("General", false, "force gc", - "force gc", - "Manually invoke runtime garbage collection. For debugging purposes", - HandleForceGc); - } - - private void HandleForceGc(string module, string[] args) - { - MainConsole.Instance.Output("Manually invoking runtime garbage collection"); - GC.Collect(); } ///
diff --git a/OpenSim/Framework/Servers/ServerBase.cs b/OpenSim/Framework/Servers/ServerBase.cs index 431dc9ec1a..b8bc27ec24 100644 --- a/OpenSim/Framework/Servers/ServerBase.cs +++ b/OpenSim/Framework/Servers/ServerBase.cs @@ -209,6 +209,18 @@ namespace OpenSim.Framework.Servers "General", false, "command-script", "command-script + + + + + +
+
+ + + + + +
+Region Stats +
+
+
+ + +
+Sessions +
+
+
+ + +
+Log File +
+
+
+ + +
+
+
+ + From 71f7bfc2ff195106254712654fdd549ea9f2a3e3 Mon Sep 17 00:00:00 2001 From: Talun Date: Thu, 24 Jan 2013 21:08:57 +0000 Subject: [PATCH 400/851] Mantis 6508 llHTTPResponse body is incorrectly interpreted by IE This patch html escapes responses going to IE so that they cannot be interpreted as HTML if the response type is "text/plain". This has no effect if the reponse type has been set to "text/html" by osSetContentType Signed-off-by: nebadon --- .../CoreModules/Scripting/LSLHttp/UrlModule.cs | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs b/OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs index a654477a3e..be617a5c6d 100644 --- a/OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs +++ b/OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs @@ -328,8 +328,22 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp if (m_RequestMap.ContainsKey(request)) { UrlData urlData = m_RequestMap[request]; + string responseBody = body; + if (urlData.requests[request].responseType.Equals("text/plain")) + { + string value; + if (urlData.requests[request].headers.TryGetValue("user-agent", out value)) + { + if (value != null && value.IndexOf("MSIE") >= 0) + { + // wrap the html escaped response if the target client is IE + // It ignores "text/plain" if the body is html + responseBody = "" + System.Web.HttpUtility.HtmlEncode(body) + ""; + } + } + } urlData.requests[request].responseCode = status; - urlData.requests[request].responseBody = body; + urlData.requests[request].responseBody = responseBody; //urlData.requests[request].ev.Set(); urlData.requests[request].requestDone =true; } From 3ecfddd791e7159723e4d9af89091e84a8f6f710 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Thu, 24 Jan 2013 12:22:49 -0800 Subject: [PATCH 401/851] BulletSim: remove exception that can happen when setting physics parameters from the console. --- OpenSim/Region/Physics/BulletSPlugin/BSScene.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs index 35dba9bb0e..cb304b6737 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs @@ -917,8 +917,8 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters foreach (uint lID in xlIDs) { BSPhysObject theObject = null; - PhysObjects.TryGetValue(lID, out theObject); - thisParam.onObject(this, theObject, xval); + if (PhysObjects.TryGetValue(lID, out theObject)) + thisParam.onObject(this, theObject, xval); } } } From 2cf29c87bccb5b359fc74e1a0520bfd394d86d15 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Thu, 24 Jan 2013 14:26:11 -0800 Subject: [PATCH 402/851] BulletSim: zero motion on an object that we pop up because it is below terrain. If the position is being corrected because it is out of bounds, all other movement rules are out the window. --- OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs index f80084a7fd..8b00a33961 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs @@ -363,7 +363,11 @@ public sealed class BSPrim : BSPhysObject // not get it through the terrain _position.Z = targetHeight; if (inTaintTime) + { ForcePosition = _position; + } + // If we are throwing the object around, zero its other forces + ZeroMotion(inTaintTime); ret = true; } @@ -1639,10 +1643,12 @@ public sealed class BSPrim : BSPhysObject // DetailLog("{0},BSPrim.UpdateProperties,afterAssign,entprop={1}", LocalID, entprop); // DEBUG DEBUG // The sanity check can change the velocity and/or position. - if (IsPhysical && PositionSanityCheck(true)) + if (IsPhysical && PositionSanityCheck(true /* inTaintTime */ )) { entprop.Position = _position; entprop.Velocity = _velocity; + entprop.RotationalVelocity = _rotationalVelocity; + entprop.Acceleration = _acceleration; } OMV.Vector3 direction = OMV.Vector3.UnitX * _orientation; // DEBUG DEBUG DEBUG From 591faac3ac236ea676ebd2787d824abd9f30c2b6 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Thu, 24 Jan 2013 14:28:25 -0800 Subject: [PATCH 403/851] BulletSim: disable CCD (continuious collision detection) and contact processing threshold since the first didn't solve tunneling problems but used resources and the latter caused instabilities. --- OpenSim/Region/Physics/BulletSPlugin/BSParam.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs index 9460daff70..06186b0101 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs @@ -334,7 +334,7 @@ public static class BSParam (s,p,l,v) => { s.UpdateParameterObject((x)=>{AngularSleepingThreshold=x;}, p, l, v); }, (s,o,v) => { s.PE.SetSleepingThresholds(o.PhysBody, v, v); } ), new ParameterDefn("CcdMotionThreshold", "Continuious collision detection threshold (0 means no CCD)" , - 0.3f, // set to zero to disable + 0.0f, // set to zero to disable (s,cf,p,v) => { CcdMotionThreshold = cf.GetFloat(p, v); }, (s) => { return CcdMotionThreshold; }, (s,p,l,v) => { s.UpdateParameterObject((x)=>{CcdMotionThreshold=x;}, p, l, v); }, @@ -345,8 +345,8 @@ public static class BSParam (s) => { return CcdSweptSphereRadius; }, (s,p,l,v) => { s.UpdateParameterObject((x)=>{CcdSweptSphereRadius=x;}, p, l, v); }, (s,o,v) => { s.PE.SetCcdSweptSphereRadius(o.PhysBody, v); } ), - new ParameterDefn("ContactProcessingThreshold", "Distance between contacts before doing collision check" , - 0.1f, + new ParameterDefn("ContactProcessingThreshold", "Distance above which contacts can be discarded (0 means no discard)" , + 0.0f, (s,cf,p,v) => { ContactProcessingThreshold = cf.GetFloat(p, v); }, (s) => { return ContactProcessingThreshold; }, (s,p,l,v) => { s.UpdateParameterObject((x)=>{ContactProcessingThreshold=x;}, p, l, v); }, From a2a32fc8448e9cfb1292f7ff781875aec6d684cc Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Thu, 24 Jan 2013 14:30:12 -0800 Subject: [PATCH 404/851] BulletSim: reduce the zeroing threshold for rotational velocity. Sometimes settling of a vehicle from gravity introduces small velocities that need to be kept. --- OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs index fe7891e866..f1ef449313 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs @@ -1190,8 +1190,6 @@ namespace OpenSim.Region.Physics.BulletSPlugin // set directly on the vehicle. private void MoveAngular(float pTimestep) { - // VehicleRotationalVelocity = Vector3.Zero; - ComputeAngularTurning(pTimestep); ComputeAngularVerticalAttraction(); @@ -1201,7 +1199,7 @@ namespace OpenSim.Region.Physics.BulletSPlugin ComputeAngularBanking(); // ================================================================== - if (VehicleRotationalVelocity.ApproxEquals(Vector3.Zero, 0.01f)) + if (VehicleRotationalVelocity.ApproxEquals(Vector3.Zero, 0.0001f)) { // The vehicle is not adding anything angular wise. VehicleRotationalVelocity = Vector3.Zero; From 6a5d08819725a836a4072dec3bd3f84a1bd39ffb Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Thu, 24 Jan 2013 16:26:04 -0800 Subject: [PATCH 405/851] BulletSim: reduce the force of gravity on ground vehicles when they are on the ground. Makes them a little more stable. --- OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs index f1ef449313..7ad7c89d04 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs @@ -158,6 +158,12 @@ namespace OpenSim.Region.Physics.BulletSPlugin get { return (Type != Vehicle.TYPE_NONE && Prim.IsPhysicallyActive); } } + // Return 'true' if this a vehicle that should be sitting on the ground + public bool IsGroundVehicle + { + get { return (Type == Vehicle.TYPE_CAR || Type == Vehicle.TYPE_SLED); } + } + #region Vehicle parameter setting internal void ProcessFloatVehicleParam(Vehicle pParam, float pValue) { @@ -1176,6 +1182,11 @@ namespace OpenSim.Region.Physics.BulletSPlugin private void ApplyGravity(float pTimeStep) { Vector3 appliedGravity = m_VehicleGravity * m_vehicleMass; + + // Hack to reduce downward force if the vehicle is probably sitting on the ground + if (Prim.IsColliding && IsGroundVehicle) + appliedGravity *= 0.2f; + VehicleAddForce(appliedGravity); VDetailLog("{0}, MoveLinear,applyGravity,vehGrav={1},appliedForce-{2}", From f557d7e82821c931c6ca2faf97c668fa94cacfb0 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 25 Jan 2013 01:48:31 +0000 Subject: [PATCH 406/851] Add basic JsonCreateStore() regression test --- .../ScriptModuleCommsModule.cs | 2 +- .../Tests/JsonStoreScriptModuleTests.cs | 86 +++++++ OpenSim/Tests/Common/Mock/MockScriptEngine.cs | 214 ++++++++++++++++++ prebuild.xml | 7 +- 4 files changed, 306 insertions(+), 3 deletions(-) create mode 100644 OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs create mode 100644 OpenSim/Tests/Common/Mock/MockScriptEngine.cs diff --git a/OpenSim/Region/CoreModules/Scripting/ScriptModuleComms/ScriptModuleCommsModule.cs b/OpenSim/Region/CoreModules/Scripting/ScriptModuleComms/ScriptModuleCommsModule.cs index f6e1d393a8..6bf50d2504 100644 --- a/OpenSim/Region/CoreModules/Scripting/ScriptModuleComms/ScriptModuleCommsModule.cs +++ b/OpenSim/Region/CoreModules/Scripting/ScriptModuleComms/ScriptModuleCommsModule.cs @@ -41,7 +41,7 @@ using System.Linq.Expressions; namespace OpenSim.Region.CoreModules.Scripting.ScriptModuleComms { [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "ScriptModuleCommsModule")] - class ScriptModuleCommsModule : INonSharedRegionModule, IScriptModuleComms + public class ScriptModuleCommsModule : INonSharedRegionModule, IScriptModuleComms { private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs new file mode 100644 index 0000000000..4b6ddd6c34 --- /dev/null +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -0,0 +1,86 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using System.Reflection; +using System.Text; +using log4net; +using Nini.Config; +using NUnit.Framework; +using OpenMetaverse; +using OpenSim.Framework; +using OpenSim.Region.CoreModules.Scripting.ScriptModuleComms; +using OpenSim.Region.Framework.Scenes; +using OpenSim.Region.ScriptEngine.Shared; +using OpenSim.Region.ScriptEngine.Shared.Api; +using OpenSim.Services.Interfaces; +using OpenSim.Tests.Common; +using OpenSim.Tests.Common.Mock; + +namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests +{ + /// + /// Tests for inventory functions in LSL + /// + [TestFixture] + public class LSL_ApiInventoryTests : OpenSimTestCase + { + private Scene m_scene; + private MockScriptEngine m_engine; + private ScriptModuleCommsModule m_smcm; + + [SetUp] + public override void SetUp() + { + base.SetUp(); + + IConfigSource configSource = new IniConfigSource(); + IConfig jsonStoreConfig = configSource.AddConfig("JsonStore"); + jsonStoreConfig.Set("Enabled", "true"); + + m_engine = new MockScriptEngine(); + m_smcm = new ScriptModuleCommsModule(); + JsonStoreModule jsm = new JsonStoreModule(); + JsonStoreScriptModule jssm = new JsonStoreScriptModule(); + + m_scene = new SceneHelpers().SetupScene(); + SceneHelpers.SetupSceneModules(m_scene, configSource, m_engine, m_smcm, jsm, jssm); + } + + [Test] + public void TestJsonCreateStore() + { + TestHelpers.InMethod(); +// log4net.Config.XmlConfigurator.Configure(); + + UUID storeId = (UUID)m_smcm.InvokeOperation(UUID.Zero, UUID.Zero, "JsonCreateStore", new object[] { "{}" }); + + Assert.That(storeId, Is.Not.EqualTo(UUID.Zero)); + } + } +} \ No newline at end of file diff --git a/OpenSim/Tests/Common/Mock/MockScriptEngine.cs b/OpenSim/Tests/Common/Mock/MockScriptEngine.cs new file mode 100644 index 0000000000..51f2712071 --- /dev/null +++ b/OpenSim/Tests/Common/Mock/MockScriptEngine.cs @@ -0,0 +1,214 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Reflection; +using Nini.Config; +using OpenMetaverse; +using OpenSim.Region.Framework.Interfaces; +using OpenSim.Region.Framework.Scenes; +using OpenSim.Region.ScriptEngine.Interfaces; +using OpenSim.Region.ScriptEngine.Shared; + +namespace OpenSim.Tests.Common +{ + public class MockScriptEngine : INonSharedRegionModule, IScriptModule, IScriptEngine + { + private Scene m_scene; + + public void Initialise(IConfigSource source) + { + } + + public void Close() + { + } + + public void AddRegion(Scene scene) + { + m_scene = scene; + + m_scene.StackModuleInterface(this); + } + + public void RemoveRegion(Scene scene) + { + } + + public void RegionLoaded(Scene scene) + { + } + + public string Name { get { return "Mock Script Engine"; } } + public string ScriptEngineName { get { return Name; } } + + public Type ReplaceableInterface { get { return null; } } + + public event ScriptRemoved OnScriptRemoved; + public event ObjectRemoved OnObjectRemoved; + + public string GetXMLState (UUID itemID) + { + throw new System.NotImplementedException (); + } + + public bool SetXMLState(UUID itemID, string xml) + { + throw new System.NotImplementedException (); + } + + public bool PostScriptEvent(UUID itemID, string name, object[] args) + { + throw new System.NotImplementedException (); + } + + public bool PostObjectEvent(UUID itemID, string name, object[] args) + { + throw new System.NotImplementedException (); + } + + public void SuspendScript(UUID itemID) + { + throw new System.NotImplementedException (); + } + + public void ResumeScript(UUID itemID) + { + throw new System.NotImplementedException (); + } + + public ArrayList GetScriptErrors(UUID itemID) + { + throw new System.NotImplementedException (); + } + + public bool HasScript(UUID itemID, out bool running) + { + throw new System.NotImplementedException (); + } + + public bool GetScriptState(UUID itemID) + { + throw new System.NotImplementedException (); + } + + public void SaveAllState() + { + throw new System.NotImplementedException (); + } + + public void StartProcessing() + { + throw new System.NotImplementedException (); + } + + public float GetScriptExecutionTime(List itemIDs) + { + throw new System.NotImplementedException (); + } + + public Dictionary GetObjectScriptsExecutionTimes() + { + throw new System.NotImplementedException (); + } + + public IScriptWorkItem QueueEventHandler(object parms) + { + throw new System.NotImplementedException (); + } + + public bool PostScriptEvent(UUID itemID,EventParams parms) + { + throw new System.NotImplementedException (); + } + + public bool PostObjectEvent (uint localID, EventParams parms) + { + throw new System.NotImplementedException (); + } + + public DetectParams GetDetectParams(UUID item, int number) + { + throw new System.NotImplementedException (); + } + + public void SetMinEventDelay(UUID itemID, double delay) + { + throw new System.NotImplementedException (); + } + + public int GetStartParameter(UUID itemID) + { + throw new System.NotImplementedException (); + } + + public void SetScriptState(UUID itemID, bool state) + { + throw new System.NotImplementedException (); + } + + public void SetState(UUID itemID, string newState) + { + throw new System.NotImplementedException (); + } + + public void ApiResetScript(UUID itemID) + { + throw new System.NotImplementedException (); + } + + public void ResetScript (UUID itemID) + { + throw new System.NotImplementedException (); + } + + public IScriptApi GetApi(UUID itemID, string name) + { + throw new System.NotImplementedException (); + } + + public Scene World { get { return m_scene; } } + + public IScriptModule ScriptModule { get { throw new System.NotImplementedException(); } } + + public IConfig Config { get { throw new System.NotImplementedException (); } } + + public IConfigSource ConfigSource { get { throw new System.NotImplementedException (); } } + + public string ScriptEnginePath { get { throw new System.NotImplementedException (); }} + + public string ScriptClassName { get { throw new System.NotImplementedException (); } } + + public string ScriptBaseClassName { get { throw new System.NotImplementedException (); } } + + public string[] ScriptReferencedAssemblies { get { throw new System.NotImplementedException (); } } + + public ParameterInfo[] ScriptBaseClassParameters { get { throw new System.NotImplementedException (); } } + } +} \ No newline at end of file diff --git a/prebuild.xml b/prebuild.xml index cea4530d85..8a753800df 100644 --- a/prebuild.xml +++ b/prebuild.xml @@ -2741,12 +2741,13 @@ - - + + + @@ -3109,6 +3110,7 @@ + @@ -3133,6 +3135,7 @@ + From ba369c5cfe89706c0e7261e699dac1d0c3c68cd6 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 25 Jan 2013 01:55:27 +0000 Subject: [PATCH 407/851] Add basic JsonGetValue() regression test. --- .../Tests/JsonStoreScriptModuleTests.cs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index 4b6ddd6c34..204bab1118 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -82,5 +82,22 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests Assert.That(storeId, Is.Not.EqualTo(UUID.Zero)); } + + [Test] + public void TestJsonGetValue() + { + TestHelpers.InMethod(); +// log4net.Config.XmlConfigurator.Configure(); + + UUID storeId + = (UUID)m_smcm.InvokeOperation( + UUID.Zero, UUID.Zero, "JsonCreateStore", new object[] { "{ 'Hello' : 'World' }" }); + + string value + = (string)m_smcm.InvokeOperation( + UUID.Zero, UUID.Zero, "JsonGetValue", new object[] { storeId, "Hello" }); + + Assert.That(value, Is.EqualTo("World")); + } } } \ No newline at end of file From b914fb98c4c178987e23580ceb3f8b48415831d1 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 25 Jan 2013 01:56:41 +0000 Subject: [PATCH 408/851] minor: remove mono compiler warning in SceneCommandsModule --- .../OptionalModules/World/SceneCommands/SceneCommandsModule.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs b/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs index 12169ab617..5fb74b01ea 100644 --- a/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs +++ b/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs @@ -48,7 +48,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "SceneCommandsModule")] public class SceneCommandsModule : ISceneCommandsModule, INonSharedRegionModule { - private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); +// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); private Scene m_scene; From f32361d595e0ee11066fa78627fe91936743a5e8 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 25 Jan 2013 02:08:33 +0000 Subject: [PATCH 409/851] Add regression test for JsonSetValue() --- .../Tests/JsonStoreScriptModuleTests.cs | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index 204bab1118..0e8b1cab05 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -99,5 +99,28 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests Assert.That(value, Is.EqualTo("World")); } + + [Test] + public void TestJsonSetValue() + { + TestHelpers.InMethod(); +// log4net.Config.XmlConfigurator.Configure(); + + UUID storeId + = (UUID)m_smcm.InvokeOperation( + UUID.Zero, UUID.Zero, "JsonCreateStore", new object[] { "{ }" }); + + int result + = (int)m_smcm.InvokeOperation( + UUID.Zero, UUID.Zero, "JsonSetValue", new object[] { storeId, "Hello", "World" }); + + Assert.That(result, Is.EqualTo(1)); + + string value + = (string)m_smcm.InvokeOperation( + UUID.Zero, UUID.Zero, "JsonGetValue", new object[] { storeId, "Hello" }); + + Assert.That(value, Is.EqualTo("World")); + } } } \ No newline at end of file From 844e60da0f81454318519445f7c30fa02cf524f2 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 25 Jan 2013 02:12:15 +0000 Subject: [PATCH 410/851] Add JsonTestPath() regression test --- .../Tests/JsonStoreScriptModuleTests.cs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index 0e8b1cab05..06e4761e62 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -100,6 +100,23 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests Assert.That(value, Is.EqualTo("World")); } + [Test] + public void TestJsonTestPath() + { + TestHelpers.InMethod(); +// log4net.Config.XmlConfigurator.Configure(); + + UUID storeId + = (UUID)m_smcm.InvokeOperation( + UUID.Zero, UUID.Zero, "JsonCreateStore", new object[] { "{ 'Hello' : 'World' }" }); + + int result + = (int)m_smcm.InvokeOperation( + UUID.Zero, UUID.Zero, "JsonTestPath", new object[] { storeId, "Hello" }); + + Assert.That(result, Is.EqualTo(1)); + } + [Test] public void TestJsonSetValue() { From 8c68451856756a6c43e90c533352a1b5c3b42210 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 25 Jan 2013 02:22:24 +0000 Subject: [PATCH 411/851] Enable logging in new json store tests to find out why they fail on jenkins but not locally. --- .../JsonStore/Tests/JsonStoreScriptModuleTests.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index 06e4761e62..0cbc5d960f 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -76,7 +76,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests public void TestJsonCreateStore() { TestHelpers.InMethod(); -// log4net.Config.XmlConfigurator.Configure(); + TestHelpers.EnableLogging(); UUID storeId = (UUID)m_smcm.InvokeOperation(UUID.Zero, UUID.Zero, "JsonCreateStore", new object[] { "{}" }); @@ -87,7 +87,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests public void TestJsonGetValue() { TestHelpers.InMethod(); -// log4net.Config.XmlConfigurator.Configure(); + TestHelpers.EnableLogging(); UUID storeId = (UUID)m_smcm.InvokeOperation( @@ -104,7 +104,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests public void TestJsonTestPath() { TestHelpers.InMethod(); -// log4net.Config.XmlConfigurator.Configure(); + TestHelpers.EnableLogging(); UUID storeId = (UUID)m_smcm.InvokeOperation( @@ -121,7 +121,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests public void TestJsonSetValue() { TestHelpers.InMethod(); -// log4net.Config.XmlConfigurator.Configure(); + TestHelpers.EnableLogging(); UUID storeId = (UUID)m_smcm.InvokeOperation( From 4f52acaa833b4c1c99e13f6ca7177efc7b2d15ab Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 25 Jan 2013 02:32:38 +0000 Subject: [PATCH 412/851] Increase logging by enabling during test setup rather than during individual tests of for JsonStore --- .../JsonStore/Tests/JsonStoreScriptModuleTests.cs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index 0cbc5d960f..b50bc0bcdf 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -59,6 +59,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests { base.SetUp(); + TestHelpers.EnableLogging(); + IConfigSource configSource = new IniConfigSource(); IConfig jsonStoreConfig = configSource.AddConfig("JsonStore"); jsonStoreConfig.Set("Enabled", "true"); @@ -76,7 +78,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests public void TestJsonCreateStore() { TestHelpers.InMethod(); - TestHelpers.EnableLogging(); +// TestHelpers.EnableLogging(); UUID storeId = (UUID)m_smcm.InvokeOperation(UUID.Zero, UUID.Zero, "JsonCreateStore", new object[] { "{}" }); @@ -87,7 +89,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests public void TestJsonGetValue() { TestHelpers.InMethod(); - TestHelpers.EnableLogging(); +// TestHelpers.EnableLogging(); UUID storeId = (UUID)m_smcm.InvokeOperation( @@ -104,7 +106,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests public void TestJsonTestPath() { TestHelpers.InMethod(); - TestHelpers.EnableLogging(); +// TestHelpers.EnableLogging(); UUID storeId = (UUID)m_smcm.InvokeOperation( @@ -121,7 +123,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests public void TestJsonSetValue() { TestHelpers.InMethod(); - TestHelpers.EnableLogging(); +// TestHelpers.EnableLogging(); UUID storeId = (UUID)m_smcm.InvokeOperation( From 614d4eda3ee2889e7b122b4a5c522c6ef72a7765 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 25 Jan 2013 03:02:08 +0000 Subject: [PATCH 413/851] See if getting the registering JsonReadNotecard with MethodInfo works around an apparent issue with registering methods with more than 5 parameters on mono 2.4.3 --- .../Scripting/JsonStore/JsonStoreScriptModule.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs index 0c175caa7f..77be828ddd 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs @@ -168,7 +168,10 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore m_comms.RegisterScriptInvocation(this,"JsonCreateStore"); m_comms.RegisterScriptInvocation(this,"JsonDestroyStore"); - m_comms.RegisterScriptInvocation(this,"JsonReadNotecard"); + m_comms.RegisterScriptInvocation( + this, this.GetType().GetMethod( + "JsonReadNotecard", BindingFlags.NonPublic | BindingFlags.Instance, null, new Type[] { typeof(UUID), typeof(UUID), typeof(UUID), typeof(string), typeof(UUID)}, null)); + m_comms.RegisterScriptInvocation(this,"JsonWriteNotecard"); m_comms.RegisterScriptInvocation(this,"JsonTestPath"); @@ -191,7 +194,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore catch (Exception e) { // See http://opensimulator.org/mantis/view.php?id=5971 for more information - m_log.WarnFormat("[JsonStroreScripts] script method registration failed; {0}",e.Message); + m_log.WarnFormat("[JsonStoreScripts]: script method registration failed; {0}", e.Message); m_enabled = false; } } From d977bb77cb39eef927cf0b7487b500019a537114 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 25 Jan 2013 03:19:56 +0000 Subject: [PATCH 414/851] Disable json tests for now - I see this is failing on jenkins because mono 2.4.3 doesn't have Funcs >5 params, though mono 2.6 onwards does. Standardize logging in JsonStoreScriptModule and some minor code formatting. --- .../JsonStore/JsonStoreScriptModule.cs | 53 +++++++++---------- .../Tests/JsonStoreScriptModuleTests.cs | 8 +-- 2 files changed, 29 insertions(+), 32 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs index 77be828ddd..b9dcfead8d 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs @@ -92,12 +92,12 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore } catch (Exception e) { - m_log.ErrorFormat("[JsonStoreScripts] initialization error: {0}",e.Message); + m_log.ErrorFormat("[JsonStoreScripts]: initialization error: {0}", e.Message); return; } if (m_enabled) - m_log.DebugFormat("[JsonStoreScripts] module is enabled"); + m_log.DebugFormat("[JsonStoreScripts]: module is enabled"); } // ----------------------------------------------------------------- @@ -150,7 +150,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore m_comms = m_scene.RequestModuleInterface(); if (m_comms == null) { - m_log.ErrorFormat("[JsonStoreScripts] ScriptModuleComms interface not defined"); + m_log.ErrorFormat("[JsonStoreScripts]: ScriptModuleComms interface not defined"); m_enabled = false; return; } @@ -158,38 +158,35 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore m_store = m_scene.RequestModuleInterface(); if (m_store == null) { - m_log.ErrorFormat("[JsonStoreScripts] JsonModule interface not defined"); + m_log.ErrorFormat("[JsonStoreScripts]: JsonModule interface not defined"); m_enabled = false; return; } - + try { - m_comms.RegisterScriptInvocation(this,"JsonCreateStore"); - m_comms.RegisterScriptInvocation(this,"JsonDestroyStore"); + m_comms.RegisterScriptInvocation(this, "JsonCreateStore"); + m_comms.RegisterScriptInvocation(this, "JsonDestroyStore"); - m_comms.RegisterScriptInvocation( - this, this.GetType().GetMethod( - "JsonReadNotecard", BindingFlags.NonPublic | BindingFlags.Instance, null, new Type[] { typeof(UUID), typeof(UUID), typeof(UUID), typeof(string), typeof(UUID)}, null)); + m_comms.RegisterScriptInvocation(this, "JsonReadNotecard"); + m_comms.RegisterScriptInvocation(this, "JsonWriteNotecard"); - m_comms.RegisterScriptInvocation(this,"JsonWriteNotecard"); + m_comms.RegisterScriptInvocation(this, "JsonTestPath"); + m_comms.RegisterScriptInvocation(this, "JsonTestPathJson"); - m_comms.RegisterScriptInvocation(this,"JsonTestPath"); - m_comms.RegisterScriptInvocation(this,"JsonTestPathJson"); + m_comms.RegisterScriptInvocation(this, "JsonGetValue"); + m_comms.RegisterScriptInvocation(this, "JsonGetValueJson"); - m_comms.RegisterScriptInvocation(this,"JsonGetValue"); - m_comms.RegisterScriptInvocation(this,"JsonGetValueJson"); + m_comms.RegisterScriptInvocation(this, "JsonTakeValue"); + m_comms.RegisterScriptInvocation(this, "JsonTakeValueJson"); - m_comms.RegisterScriptInvocation(this,"JsonTakeValue"); - m_comms.RegisterScriptInvocation(this,"JsonTakeValueJson"); + m_comms.RegisterScriptInvocation(this, "JsonReadValue"); + m_comms.RegisterScriptInvocation(this, "JsonReadValueJson"); - m_comms.RegisterScriptInvocation(this,"JsonReadValue"); - m_comms.RegisterScriptInvocation(this,"JsonReadValueJson"); + m_comms.RegisterScriptInvocation(this, "JsonSetValue"); + m_comms.RegisterScriptInvocation(this, "JsonSetValueJson"); - m_comms.RegisterScriptInvocation(this,"JsonSetValue"); - m_comms.RegisterScriptInvocation(this,"JsonSetValueJson"); - - m_comms.RegisterScriptInvocation(this,"JsonRemoveValue"); + m_comms.RegisterScriptInvocation(this, "JsonRemoveValue"); } catch (Exception e) { @@ -357,7 +354,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore } catch (Exception e) { - m_log.InfoFormat("[JsonStoreScripts] unable to retrieve value; {0}",e.ToString()); + m_log.InfoFormat("[JsonStoreScripts]: unable to retrieve value; {0}",e.ToString()); } DispatchValue(scriptID,reqID,String.Empty); @@ -392,7 +389,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore } catch (Exception e) { - m_log.InfoFormat("[JsonStoreScripts] unable to retrieve value; {0}",e.ToString()); + m_log.InfoFormat("[JsonStoreScripts]: unable to retrieve value; {0}",e.ToString()); } DispatchValue(scriptID,reqID,String.Empty); @@ -424,7 +421,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore if (a.Type != (sbyte)AssetType.Notecard) GenerateRuntimeError(String.Format("Invalid notecard asset {0}",assetID)); - m_log.DebugFormat("[JsonStoreScripts] read notecard in context {0}",storeID); + m_log.DebugFormat("[JsonStoreScripts]: read notecard in context {0}",storeID); try { @@ -435,7 +432,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore } catch (Exception e) { - m_log.WarnFormat("[JsonStoreScripts] Json parsing failed; {0}",e.Message); + m_log.WarnFormat("[JsonStoreScripts]: Json parsing failed; {0}",e.Message); } GenerateRuntimeError(String.Format("Json parsing failed for {0}",assetID.ToString())); @@ -498,4 +495,4 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore m_comms.DispatchReply(scriptID,1,assetID.ToString(),reqID.ToString()); } } -} +} \ No newline at end of file diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index b50bc0bcdf..397dd939f3 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -74,7 +74,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests SceneHelpers.SetupSceneModules(m_scene, configSource, m_engine, m_smcm, jsm, jssm); } - [Test] +// [Test] public void TestJsonCreateStore() { TestHelpers.InMethod(); @@ -85,7 +85,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests Assert.That(storeId, Is.Not.EqualTo(UUID.Zero)); } - [Test] +// [Test] public void TestJsonGetValue() { TestHelpers.InMethod(); @@ -102,7 +102,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests Assert.That(value, Is.EqualTo("World")); } - [Test] +// [Test] public void TestJsonTestPath() { TestHelpers.InMethod(); @@ -119,7 +119,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests Assert.That(result, Is.EqualTo(1)); } - [Test] +// [Test] public void TestJsonSetValue() { TestHelpers.InMethod(); From 1bd0b06ec1a0a5a7d6302d8017edcea7faf557e0 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Mon, 16 Aug 2010 20:38:20 +0100 Subject: [PATCH 415/851] Implement Dynamic Attributes for SOP and PBS. Implement storage in SQLite --- OpenSim/Data/SQLite/SQLiteSimulationData.cs | 21 +++++ OpenSim/Framework/DynAttrsOSDMap.cs | 79 +++++++++++++++++++ OpenSim/Framework/PrimitiveBaseShape.cs | 7 ++ .../Framework/Scenes/SceneObjectPart.cs | 9 ++- 4 files changed, 115 insertions(+), 1 deletion(-) create mode 100644 OpenSim/Framework/DynAttrsOSDMap.cs diff --git a/OpenSim/Data/SQLite/SQLiteSimulationData.cs b/OpenSim/Data/SQLite/SQLiteSimulationData.cs index 29cac3c2f1..b97653baec 100644 --- a/OpenSim/Data/SQLite/SQLiteSimulationData.cs +++ b/OpenSim/Data/SQLite/SQLiteSimulationData.cs @@ -1232,6 +1232,8 @@ namespace OpenSim.Data.SQLite createCol(prims, "VolumeDetect", typeof(Int16)); createCol(prims, "MediaURL", typeof(String)); + + createCol(prims, "DynAttrs", typeof(String)); // Add in contraints prims.PrimaryKey = new DataColumn[] { prims.Columns["UUID"] }; @@ -1280,6 +1282,7 @@ namespace OpenSim.Data.SQLite createCol(shapes, "Texture", typeof(Byte[])); createCol(shapes, "ExtraParams", typeof(Byte[])); createCol(shapes, "Media", typeof(String)); + createCol(shapes, "DynAttrs", typeof(String)); shapes.PrimaryKey = new DataColumn[] { shapes.Columns["UUID"] }; @@ -1711,6 +1714,16 @@ namespace OpenSim.Data.SQLite // m_log.DebugFormat("[SQLITE]: MediaUrl type [{0}]", row["MediaURL"].GetType()); prim.MediaUrl = (string)row["MediaURL"]; } + + if (!(row["DynAttrs"] is System.DBNull)) + { + //m_log.DebugFormat("[SQLITE]: DynAttrs type [{0}]", row["DynAttrs"].GetType()); + prim.DynAttrs = DynAttrsOSDMap.FromXml((string)row["DynAttrs"]); + } + else + { + prim.DynAttrs = new DynAttrsOSDMap(); + } return prim; } @@ -2133,6 +2146,7 @@ namespace OpenSim.Data.SQLite row["VolumeDetect"] = 0; row["MediaURL"] = prim.MediaUrl; + row["DynAttrs"] = prim.DynAttrs.ToXml(); } /// @@ -2393,6 +2407,11 @@ namespace OpenSim.Data.SQLite if (!(row["Media"] is System.DBNull)) s.Media = PrimitiveBaseShape.MediaList.FromXml((string)row["Media"]); + if (!(row["DynAttrs"] is System.DBNull)) + s.DynAttrs = DynAttrsOSDMap.FromXml((string)row["DynAttrs"]); + else + s.DynAttrs = new DynAttrsOSDMap(); + return s; } @@ -2439,6 +2458,8 @@ namespace OpenSim.Data.SQLite if (s.Media != null) row["Media"] = s.Media.ToXml(); + + row["DynAttrs"] = s.DynAttrs.ToXml(); } /// diff --git a/OpenSim/Framework/DynAttrsOSDMap.cs b/OpenSim/Framework/DynAttrsOSDMap.cs new file mode 100644 index 0000000000..2d45f66d80 --- /dev/null +++ b/OpenSim/Framework/DynAttrsOSDMap.cs @@ -0,0 +1,79 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using System.IO; +using System.Text; +using System.Xml; +using System.Xml.Schema; +using System.Xml.Serialization; +using OpenMetaverse; +using OpenMetaverse.StructuredData; + +namespace OpenSim.Framework +{ + /// + /// This is the map for storing and retrieving dynamic attributes. + /// + public class DynAttrsOSDMap : OSDMap, IXmlSerializable + { + public XmlSchema GetSchema() { return null; } + + public static DynAttrsOSDMap FromXml(string rawXml) + { + DynAttrsOSDMap map = new DynAttrsOSDMap(); + map.ReadXml(rawXml); + return map; + } + + public void ReadXml(string rawXml) + { + //System.Console.WriteLine("Trying to deserialize [{0}]", rawXml); + + OSDMap map = (OSDMap)OSDParser.DeserializeLLSDXml(rawXml); + + foreach (string key in map.Keys) + this[key] = map[key]; + } + + public void ReadXml(XmlReader reader) + { + ReadXml(reader.ReadInnerXml()); + } + + public string ToXml() + { + return OSDParser.SerializeLLSDXmlString(this); + } + + public void WriteXml(XmlWriter writer) + { + writer.WriteRaw(ToXml()); + } + } +} \ No newline at end of file diff --git a/OpenSim/Framework/PrimitiveBaseShape.cs b/OpenSim/Framework/PrimitiveBaseShape.cs index 4c36819bb2..fb0255b0a1 100644 --- a/OpenSim/Framework/PrimitiveBaseShape.cs +++ b/OpenSim/Framework/PrimitiveBaseShape.cs @@ -82,6 +82,11 @@ namespace OpenSim.Framework private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); private static readonly byte[] DEFAULT_TEXTURE = new Primitive.TextureEntry(new UUID("89556747-24cb-43ed-920b-47caed15465f")).GetBytes(); + + /// + /// Dynamic attributes can be created and deleted as required. + /// + public DynAttrsOSDMap DynAttrs { get; set; } private byte[] m_textureEntry; @@ -194,6 +199,7 @@ namespace OpenSim.Framework { PCode = (byte)PCodeEnum.Primitive; m_textureEntry = DEFAULT_TEXTURE; + DynAttrs = new DynAttrsOSDMap(); } /// @@ -205,6 +211,7 @@ namespace OpenSim.Framework // m_log.DebugFormat("[PRIMITIVE BASE SHAPE]: Creating from {0}", prim.ID); PCode = (byte)prim.PrimData.PCode; + DynAttrs = new DynAttrsOSDMap(); State = prim.PrimData.State; PathBegin = Primitive.PackBeginCut(prim.PrimData.PathBegin); diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 672063555f..2a9b99e50a 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -37,6 +37,7 @@ using System.Xml.Serialization; using log4net; using OpenMetaverse; using OpenMetaverse.Packets; +using OpenMetaverse.StructuredData; using OpenSim.Framework; using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes.Scripting; @@ -124,6 +125,11 @@ namespace OpenSim.Region.Framework.Scenes private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + /// + /// Dynamic attributes can be created and deleted as required. + /// + public DynAttrsOSDMap DynAttrs { get; set; } + /// /// Is this a root part? /// @@ -335,6 +341,7 @@ namespace OpenSim.Region.Framework.Scenes m_particleSystem = Utils.EmptyBytes; Rezzed = DateTime.UtcNow; Description = String.Empty; + DynAttrs = new DynAttrsOSDMap(); // Prims currently only contain a single folder (Contents). From looking at the Second Life protocol, // this appears to have the same UUID (!) as the prim. If this isn't the case, one can't drag items from @@ -4598,4 +4605,4 @@ namespace OpenSim.Region.Framework.Scenes } } } -} \ No newline at end of file +} From d3095e26493c15ce146e36fe38443722e86ac832 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Mon, 16 Aug 2010 21:31:36 +0100 Subject: [PATCH 416/851] Add DAExampleModule to demonstrate dynamic attributes This module demonstrates that we can add an arbitrary persisted value to SOP without any changes to core code. Every time the object is moved, the move record is updated and the users in the scene alerted The number of moves is persisted over server restarts in sqlite --- .../DynamicAttributes/DAExampleModule.cs | 98 +++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 OpenSim/Region/CoreModules/Framework/DynamicAttributes/DAExampleModule.cs diff --git a/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DAExampleModule.cs b/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DAExampleModule.cs new file mode 100644 index 0000000000..2aca93a3d0 --- /dev/null +++ b/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DAExampleModule.cs @@ -0,0 +1,98 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using System.Reflection; +using log4net; +using Mono.Addins; +using Nini.Config; +using OpenMetaverse; +using OpenMetaverse.Packets; +using OpenMetaverse.StructuredData; +using OpenSim.Framework; +using OpenSim.Region.Framework; +using OpenSim.Region.Framework.Interfaces; +using OpenSim.Region.Framework.Scenes; + +namespace OpenSim.Region.Framework.DynamicAttributes.DAExampleModule +{ + [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "DAExampleModule")] + public class DAExampleModule : INonSharedRegionModule + { + private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + + protected Scene m_scene; + protected IDialogModule m_dialogMod; + + public string Name { get { return "DAExample Module"; } } + public Type ReplaceableInterface { get { return null; } } + + public void Initialise(IConfigSource source) {} + + public void AddRegion(Scene scene) + { + m_scene = scene; + m_scene.EventManager.OnSceneGroupMove += OnSceneGroupMove; + m_dialogMod = m_scene.RequestModuleInterface(); + } + + public void RemoveRegion(Scene scene) + { + m_scene.EventManager.OnSceneGroupMove -= OnSceneGroupMove; + } + + public void RegionLoaded(Scene scene) {} + + public void Close() + { + RemoveRegion(m_scene); + } + + protected bool OnSceneGroupMove(UUID groupId, Vector3 delta) + { + SceneObjectPart sop = m_scene.GetSceneObjectPart(groupId); + OSDMap attrs = sop.DynAttrs; + + lock (attrs) + { + OSDInteger newValue; + + if (!attrs.ContainsKey("moves")) + newValue = new OSDInteger(1); + else + newValue = new OSDInteger(((OSDInteger)attrs["moves"]).AsInteger() + 1); + + attrs["moves"] = newValue; + + m_dialogMod.SendGeneralAlert(string.Format("{0} {1} moved {2} times", sop.Name, sop.UUID, newValue)); + } + + return true; + } + } +} \ No newline at end of file From a3e1e6dd611a179eb2d894a45ae45ef278ae2e85 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Mon, 16 Aug 2010 21:57:08 +0100 Subject: [PATCH 417/851] Implement dynamic attribute persistence on mysql and mssql mssql is untested --- OpenSim/Data/MSSQL/MSSQLSimulationData.cs | 23 ++++++++++++++----- .../MSSQL/Resources/RegionStore.migrations | 9 ++++++++ OpenSim/Data/MySQL/MySQLSimulationData.cs | 16 +++++++++++-- .../MySQL/Resources/RegionStore.migrations | 9 ++++++++ 4 files changed, 49 insertions(+), 8 deletions(-) diff --git a/OpenSim/Data/MSSQL/MSSQLSimulationData.cs b/OpenSim/Data/MSSQL/MSSQLSimulationData.cs index 17f42e1f0b..e9497389c8 100644 --- a/OpenSim/Data/MSSQL/MSSQLSimulationData.cs +++ b/OpenSim/Data/MSSQL/MSSQLSimulationData.cs @@ -351,7 +351,7 @@ IF EXISTS (SELECT UUID FROM prims WHERE UUID = @UUID) ScriptAccessPin = @ScriptAccessPin, AllowedDrop = @AllowedDrop, DieAtEdge = @DieAtEdge, SalePrice = @SalePrice, SaleType = @SaleType, ColorR = @ColorR, ColorG = @ColorG, ColorB = @ColorB, ColorA = @ColorA, ParticleSystem = @ParticleSystem, ClickAction = @ClickAction, Material = @Material, CollisionSound = @CollisionSound, CollisionSoundVolume = @CollisionSoundVolume, PassTouches = @PassTouches, - LinkNumber = @LinkNumber, MediaURL = @MediaURL + LinkNumber = @LinkNumber, MediaURL = @MediaURL, DynAttrs = @DynAttrs WHERE UUID = @UUID END ELSE @@ -366,7 +366,7 @@ ELSE PayPrice, PayButton1, PayButton2, PayButton3, PayButton4, LoopedSound, LoopedSoundGain, TextureAnimation, OmegaX, OmegaY, OmegaZ, CameraEyeOffsetX, CameraEyeOffsetY, CameraEyeOffsetZ, CameraAtOffsetX, CameraAtOffsetY, CameraAtOffsetZ, ForceMouselook, ScriptAccessPin, AllowedDrop, DieAtEdge, SalePrice, SaleType, ColorR, ColorG, ColorB, ColorA, - ParticleSystem, ClickAction, Material, CollisionSound, CollisionSoundVolume, PassTouches, LinkNumber, MediaURL + ParticleSystem, ClickAction, Material, CollisionSound, CollisionSoundVolume, PassTouches, LinkNumber, MediaURL, DynAttrs ) VALUES ( @UUID, @CreationDate, @Name, @Text, @Description, @SitName, @TouchName, @ObjectFlags, @OwnerMask, @NextOwnerMask, @GroupMask, @EveryoneMask, @BaseMask, @PositionX, @PositionY, @PositionZ, @GroupPositionX, @GroupPositionY, @GroupPositionZ, @VelocityX, @@ -376,7 +376,7 @@ ELSE @PayPrice, @PayButton1, @PayButton2, @PayButton3, @PayButton4, @LoopedSound, @LoopedSoundGain, @TextureAnimation, @OmegaX, @OmegaY, @OmegaZ, @CameraEyeOffsetX, @CameraEyeOffsetY, @CameraEyeOffsetZ, @CameraAtOffsetX, @CameraAtOffsetY, @CameraAtOffsetZ, @ForceMouselook, @ScriptAccessPin, @AllowedDrop, @DieAtEdge, @SalePrice, @SaleType, @ColorR, @ColorG, @ColorB, @ColorA, - @ParticleSystem, @ClickAction, @Material, @CollisionSound, @CollisionSoundVolume, @PassTouches, @LinkNumber, @MediaURL + @ParticleSystem, @ClickAction, @Material, @CollisionSound, @CollisionSoundVolume, @PassTouches, @LinkNumber, @MediaURL, @DynAttrs ) END"; @@ -409,7 +409,7 @@ IF EXISTS (SELECT UUID FROM primshapes WHERE UUID = @UUID) PathSkew = @PathSkew, PathCurve = @PathCurve, PathRadiusOffset = @PathRadiusOffset, PathRevolutions = @PathRevolutions, PathTaperX = @PathTaperX, PathTaperY = @PathTaperY, PathTwist = @PathTwist, PathTwistBegin = @PathTwistBegin, ProfileBegin = @ProfileBegin, ProfileEnd = @ProfileEnd, ProfileCurve = @ProfileCurve, ProfileHollow = @ProfileHollow, - Texture = @Texture, ExtraParams = @ExtraParams, State = @State, Media = @Media + Texture = @Texture, ExtraParams = @ExtraParams, State = @State, Media = @Media, DynAttrs = @DynAttrs WHERE UUID = @UUID END ELSE @@ -418,11 +418,11 @@ ELSE primshapes ( UUID, Shape, ScaleX, ScaleY, ScaleZ, PCode, PathBegin, PathEnd, PathScaleX, PathScaleY, PathShearX, PathShearY, PathSkew, PathCurve, PathRadiusOffset, PathRevolutions, PathTaperX, PathTaperY, PathTwist, PathTwistBegin, ProfileBegin, - ProfileEnd, ProfileCurve, ProfileHollow, Texture, ExtraParams, State, Media + ProfileEnd, ProfileCurve, ProfileHollow, Texture, ExtraParams, State, Media, DynAttrs ) VALUES ( @UUID, @Shape, @ScaleX, @ScaleY, @ScaleZ, @PCode, @PathBegin, @PathEnd, @PathScaleX, @PathScaleY, @PathShearX, @PathShearY, @PathSkew, @PathCurve, @PathRadiusOffset, @PathRevolutions, @PathTaperX, @PathTaperY, @PathTwist, @PathTwistBegin, @ProfileBegin, - @ProfileEnd, @ProfileCurve, @ProfileHollow, @Texture, @ExtraParams, @State, @Media + @ProfileEnd, @ProfileCurve, @ProfileHollow, @Texture, @ExtraParams, @State, @Media, @DynAttrs ) END"; @@ -1691,6 +1691,11 @@ VALUES if (!(primRow["MediaURL"] is System.DBNull)) prim.MediaUrl = (string)primRow["MediaURL"]; + + if (!(primRow["DynAttrs"] is System.DBNull)) + prim.DynAttrs = DynAttrsOSDMap.FromXml((string)primRow["DynAttrs"]); + else + prim.DynAttrs = new DynAttrsOSDMap(); return prim; } @@ -1749,6 +1754,10 @@ VALUES baseShape.Media = PrimitiveBaseShape.MediaList.FromXml((string)shapeRow["Media"]); } + if (!(shapeRow["DynAttrs"] is System.DBNull)) + baseShape.DynAttrs = DynAttrsOSDMap.FromXml((string)shapeRow["DynAttrs"]); + else + baseShape.DynAttrs = new DynAttrsOSDMap(); return baseShape; } @@ -2086,6 +2095,7 @@ VALUES parameters.Add(_Database.CreateParameter("PassTouches", 0)); parameters.Add(_Database.CreateParameter("LinkNumber", prim.LinkNum)); parameters.Add(_Database.CreateParameter("MediaURL", prim.MediaUrl)); + parameters.Add(_Database.CreateParameter("DynAttrs", prim.DynAttrs.ToXml())); return parameters.ToArray(); } @@ -2143,6 +2153,7 @@ VALUES parameters.Add(_Database.CreateParameter("Media", s.Media.ToXml())); } + parameters.Add(_Database.CreateParameter("DynAttrs", s.DynAttrs.ToXml())); return parameters.ToArray(); } diff --git a/OpenSim/Data/MSSQL/Resources/RegionStore.migrations b/OpenSim/Data/MSSQL/Resources/RegionStore.migrations index 350e548a0a..5e88e36eb4 100644 --- a/OpenSim/Data/MSSQL/Resources/RegionStore.migrations +++ b/OpenSim/Data/MSSQL/Resources/RegionStore.migrations @@ -1148,3 +1148,12 @@ CREATE TABLE [dbo].[regionenvironment]( ) ON [PRIMARY] COMMIT + +:VERSION 38 #---------------- Dynamic attributes + +BEGIN TRANSACTION + +ALTER TABLE prims ADD COLUMN DynAttrs TEXT; +ALTER TABLE primshapes ADD COLUMN DynAttrs TEXT; + +COMMIT diff --git a/OpenSim/Data/MySQL/MySQLSimulationData.cs b/OpenSim/Data/MySQL/MySQLSimulationData.cs index d56278354c..b7f39fba6f 100644 --- a/OpenSim/Data/MySQL/MySQLSimulationData.cs +++ b/OpenSim/Data/MySQL/MySQLSimulationData.cs @@ -202,7 +202,7 @@ namespace OpenSim.Data.MySQL "?SaleType, ?ColorR, ?ColorG, " + "?ColorB, ?ColorA, ?ParticleSystem, " + "?ClickAction, ?Material, ?CollisionSound, " + - "?CollisionSoundVolume, ?PassTouches, ?LinkNumber, ?MediaURL)"; + "?CollisionSoundVolume, ?PassTouches, ?LinkNumber, ?MediaURL, ?DynAttrs)"; FillPrimCommand(cmd, prim, obj.UUID, regionUUID); @@ -230,7 +230,7 @@ namespace OpenSim.Data.MySQL "?PathTwistBegin, ?ProfileBegin, " + "?ProfileEnd, ?ProfileCurve, " + "?ProfileHollow, ?Texture, ?ExtraParams, " + - "?State, ?Media)"; + "?State, ?Media, ?DynAttrs)"; FillShapeCommand(cmd, prim); @@ -1291,6 +1291,11 @@ namespace OpenSim.Data.MySQL if (!(row["MediaURL"] is System.DBNull)) prim.MediaUrl = (string)row["MediaURL"]; + + if (!(row["DynAttrs"] is System.DBNull)) + prim.DynAttrs = DynAttrsOSDMap.FromXml((string)row["DynAttrs"]); + else + prim.DynAttrs = new DynAttrsOSDMap(); return prim; } @@ -1637,6 +1642,7 @@ namespace OpenSim.Data.MySQL cmd.Parameters.AddWithValue("LinkNumber", prim.LinkNum); cmd.Parameters.AddWithValue("MediaURL", prim.MediaUrl); + cmd.Parameters.AddWithValue("DynAttrs", prim.DynAttrs.ToXml()); } /// @@ -1829,6 +1835,11 @@ namespace OpenSim.Data.MySQL if (!(row["Media"] is System.DBNull)) s.Media = PrimitiveBaseShape.MediaList.FromXml((string)row["Media"]); + + if (!(row["DynAttrs"] is System.DBNull)) + s.DynAttrs = DynAttrsOSDMap.FromXml((string)row["DynAttrs"]); + else + s.DynAttrs = new DynAttrsOSDMap(); return s; } @@ -1873,6 +1884,7 @@ namespace OpenSim.Data.MySQL cmd.Parameters.AddWithValue("ExtraParams", s.ExtraParams); cmd.Parameters.AddWithValue("State", s.State); cmd.Parameters.AddWithValue("Media", null == s.Media ? null : s.Media.ToXml()); + cmd.Parameters.AddWithValue("DynAttrs", s.DynAttrs.ToXml()); } public void StorePrimInventory(UUID primID, ICollection items) diff --git a/OpenSim/Data/MySQL/Resources/RegionStore.migrations b/OpenSim/Data/MySQL/Resources/RegionStore.migrations index 5b59779050..1a38836ef1 100644 --- a/OpenSim/Data/MySQL/Resources/RegionStore.migrations +++ b/OpenSim/Data/MySQL/Resources/RegionStore.migrations @@ -902,3 +902,12 @@ BEGIN; CREATE TABLE `regionextra` (`RegionID` char(36) not null, `Name` varchar(32) not null, `value` text, primary key(`RegionID`, `Name`)); COMMIT; + +:VERSION 46 #---------------- Dynamic attributes + +BEGIN; + +ALTER TABLE prims ADD COLUMN DynAttrs TEXT; +ALTER TABLE primshapes ADD COLUMN DynAttrs TEXT; + +COMMIT; From a6d9c263650cc23d60f941718f87a64aa2f360b2 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Mon, 16 Aug 2010 22:21:46 +0100 Subject: [PATCH 418/851] Encapsulate an OSDMap in DAMap (was DynAttrsOSDMap) rather than inheriting from it This is the easier way to give us control over locking, rather than asking that OSDMap IDictionary methods be virtual --- OpenSim/Data/MSSQL/MSSQLSimulationData.cs | 8 +- OpenSim/Data/MySQL/MySQLSimulationData.cs | 8 +- OpenSim/Data/SQLite/SQLiteSimulationData.cs | 8 +- OpenSim/Framework/DAMap.cs | 173 ++++++++++++++++++ OpenSim/Framework/DynAttrsOSDMap.cs | 79 -------- OpenSim/Framework/PrimitiveBaseShape.cs | 6 +- .../DynamicAttributes/DAExampleModule.cs | 2 +- .../Framework/Scenes/SceneObjectPart.cs | 4 +- 8 files changed, 191 insertions(+), 97 deletions(-) create mode 100644 OpenSim/Framework/DAMap.cs delete mode 100644 OpenSim/Framework/DynAttrsOSDMap.cs diff --git a/OpenSim/Data/MSSQL/MSSQLSimulationData.cs b/OpenSim/Data/MSSQL/MSSQLSimulationData.cs index e9497389c8..e0e260d31f 100644 --- a/OpenSim/Data/MSSQL/MSSQLSimulationData.cs +++ b/OpenSim/Data/MSSQL/MSSQLSimulationData.cs @@ -1693,9 +1693,9 @@ VALUES prim.MediaUrl = (string)primRow["MediaURL"]; if (!(primRow["DynAttrs"] is System.DBNull)) - prim.DynAttrs = DynAttrsOSDMap.FromXml((string)primRow["DynAttrs"]); + prim.DynAttrs = DAMap.FromXml((string)primRow["DynAttrs"]); else - prim.DynAttrs = new DynAttrsOSDMap(); + prim.DynAttrs = new DAMap(); return prim; } @@ -1755,9 +1755,9 @@ VALUES } if (!(shapeRow["DynAttrs"] is System.DBNull)) - baseShape.DynAttrs = DynAttrsOSDMap.FromXml((string)shapeRow["DynAttrs"]); + baseShape.DynAttrs = DAMap.FromXml((string)shapeRow["DynAttrs"]); else - baseShape.DynAttrs = new DynAttrsOSDMap(); + baseShape.DynAttrs = new DAMap(); return baseShape; } diff --git a/OpenSim/Data/MySQL/MySQLSimulationData.cs b/OpenSim/Data/MySQL/MySQLSimulationData.cs index b7f39fba6f..e558702421 100644 --- a/OpenSim/Data/MySQL/MySQLSimulationData.cs +++ b/OpenSim/Data/MySQL/MySQLSimulationData.cs @@ -1293,9 +1293,9 @@ namespace OpenSim.Data.MySQL prim.MediaUrl = (string)row["MediaURL"]; if (!(row["DynAttrs"] is System.DBNull)) - prim.DynAttrs = DynAttrsOSDMap.FromXml((string)row["DynAttrs"]); + prim.DynAttrs = DAMap.FromXml((string)row["DynAttrs"]); else - prim.DynAttrs = new DynAttrsOSDMap(); + prim.DynAttrs = new DAMap(); return prim; } @@ -1837,9 +1837,9 @@ namespace OpenSim.Data.MySQL s.Media = PrimitiveBaseShape.MediaList.FromXml((string)row["Media"]); if (!(row["DynAttrs"] is System.DBNull)) - s.DynAttrs = DynAttrsOSDMap.FromXml((string)row["DynAttrs"]); + s.DynAttrs = DAMap.FromXml((string)row["DynAttrs"]); else - s.DynAttrs = new DynAttrsOSDMap(); + s.DynAttrs = new DAMap(); return s; } diff --git a/OpenSim/Data/SQLite/SQLiteSimulationData.cs b/OpenSim/Data/SQLite/SQLiteSimulationData.cs index b97653baec..6875ed60d7 100644 --- a/OpenSim/Data/SQLite/SQLiteSimulationData.cs +++ b/OpenSim/Data/SQLite/SQLiteSimulationData.cs @@ -1718,11 +1718,11 @@ namespace OpenSim.Data.SQLite if (!(row["DynAttrs"] is System.DBNull)) { //m_log.DebugFormat("[SQLITE]: DynAttrs type [{0}]", row["DynAttrs"].GetType()); - prim.DynAttrs = DynAttrsOSDMap.FromXml((string)row["DynAttrs"]); + prim.DynAttrs = DAMap.FromXml((string)row["DynAttrs"]); } else { - prim.DynAttrs = new DynAttrsOSDMap(); + prim.DynAttrs = new DAMap(); } return prim; @@ -2408,9 +2408,9 @@ namespace OpenSim.Data.SQLite s.Media = PrimitiveBaseShape.MediaList.FromXml((string)row["Media"]); if (!(row["DynAttrs"] is System.DBNull)) - s.DynAttrs = DynAttrsOSDMap.FromXml((string)row["DynAttrs"]); + s.DynAttrs = DAMap.FromXml((string)row["DynAttrs"]); else - s.DynAttrs = new DynAttrsOSDMap(); + s.DynAttrs = new DAMap(); return s; } diff --git a/OpenSim/Framework/DAMap.cs b/OpenSim/Framework/DAMap.cs new file mode 100644 index 0000000000..a6fdf6194a --- /dev/null +++ b/OpenSim/Framework/DAMap.cs @@ -0,0 +1,173 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Text; +using System.Xml; +using System.Xml.Schema; +using System.Xml.Serialization; +using OpenMetaverse; +using OpenMetaverse.StructuredData; + +namespace OpenSim.Framework +{ + /// + /// This is the map for storing and retrieving dynamic attributes. + /// + public class DAMap : IDictionary, IXmlSerializable + { + protected OSDMap m_map; + + public DAMap() { m_map = new OSDMap(); } + + public XmlSchema GetSchema() { return null; } + + public static DAMap FromXml(string rawXml) + { + DAMap map = new DAMap(); + map.ReadXml(rawXml); + return map; + } + + public void ReadXml(string rawXml) + { + //System.Console.WriteLine("Trying to deserialize [{0}]", rawXml); + + m_map = (OSDMap)OSDParser.DeserializeLLSDXml(rawXml); + } + + public void ReadXml(XmlReader reader) + { + ReadXml(reader.ReadInnerXml()); + } + + public string ToXml() + { + lock (m_map) + return OSDParser.SerializeLLSDXmlString(m_map); + } + + public void WriteXml(XmlWriter writer) + { + writer.WriteRaw(ToXml()); + } + + public int Count { get { lock (m_map) { return m_map.Count; } } } + public bool IsReadOnly { get { return false; } } + public ICollection Keys { get { lock (m_map) { return m_map.Keys; } } } + public ICollection Values { get { lock (m_map) { return m_map.Values; } } } + public OSD this[string key] + { + get + { + OSD llsd; + + lock (m_map) + { + if (m_map.TryGetValue(key, out llsd)) + return llsd; + else + return null; + } + } + set { lock (m_map) { m_map[key] = value; } } + } + + public bool ContainsKey(string key) + { + lock (m_map) + return m_map.ContainsKey(key); + } + + public void Add(string key, OSD llsd) + { + lock (m_map) + m_map.Add(key, llsd); + } + + public void Add(KeyValuePair kvp) + { + lock (m_map) + m_map.Add(kvp.Key, kvp.Value); + } + + public bool Remove(string key) + { + lock (m_map) + return m_map.Remove(key); + } + + public bool TryGetValue(string key, out OSD llsd) + { + lock (m_map) + return m_map.TryGetValue(key, out llsd); + } + + public void Clear() + { + lock (m_map) + m_map.Clear(); + } + + public bool Contains(KeyValuePair kvp) + { + lock (m_map) + return m_map.ContainsKey(kvp.Key); + } + + public void CopyTo(KeyValuePair[] array, int index) + { + throw new NotImplementedException(); + } + + public bool Remove(KeyValuePair kvp) + { + lock (m_map) + return m_map.Remove(kvp.Key); + } + + public System.Collections.IDictionaryEnumerator GetEnumerator() + { + lock (m_map) + return m_map.GetEnumerator(); + } + + IEnumerator> IEnumerable>.GetEnumerator() + { + return null; + } + + IEnumerator IEnumerable.GetEnumerator() + { + lock (m_map) + return m_map.GetEnumerator(); + } + } +} \ No newline at end of file diff --git a/OpenSim/Framework/DynAttrsOSDMap.cs b/OpenSim/Framework/DynAttrsOSDMap.cs deleted file mode 100644 index 2d45f66d80..0000000000 --- a/OpenSim/Framework/DynAttrsOSDMap.cs +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSimulator Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System; -using System.Collections.Generic; -using System.IO; -using System.Text; -using System.Xml; -using System.Xml.Schema; -using System.Xml.Serialization; -using OpenMetaverse; -using OpenMetaverse.StructuredData; - -namespace OpenSim.Framework -{ - /// - /// This is the map for storing and retrieving dynamic attributes. - /// - public class DynAttrsOSDMap : OSDMap, IXmlSerializable - { - public XmlSchema GetSchema() { return null; } - - public static DynAttrsOSDMap FromXml(string rawXml) - { - DynAttrsOSDMap map = new DynAttrsOSDMap(); - map.ReadXml(rawXml); - return map; - } - - public void ReadXml(string rawXml) - { - //System.Console.WriteLine("Trying to deserialize [{0}]", rawXml); - - OSDMap map = (OSDMap)OSDParser.DeserializeLLSDXml(rawXml); - - foreach (string key in map.Keys) - this[key] = map[key]; - } - - public void ReadXml(XmlReader reader) - { - ReadXml(reader.ReadInnerXml()); - } - - public string ToXml() - { - return OSDParser.SerializeLLSDXmlString(this); - } - - public void WriteXml(XmlWriter writer) - { - writer.WriteRaw(ToXml()); - } - } -} \ No newline at end of file diff --git a/OpenSim/Framework/PrimitiveBaseShape.cs b/OpenSim/Framework/PrimitiveBaseShape.cs index fb0255b0a1..775412b15b 100644 --- a/OpenSim/Framework/PrimitiveBaseShape.cs +++ b/OpenSim/Framework/PrimitiveBaseShape.cs @@ -86,7 +86,7 @@ namespace OpenSim.Framework /// /// Dynamic attributes can be created and deleted as required. /// - public DynAttrsOSDMap DynAttrs { get; set; } + public DAMap DynAttrs { get; set; } private byte[] m_textureEntry; @@ -199,7 +199,7 @@ namespace OpenSim.Framework { PCode = (byte)PCodeEnum.Primitive; m_textureEntry = DEFAULT_TEXTURE; - DynAttrs = new DynAttrsOSDMap(); + DynAttrs = new DAMap(); } /// @@ -211,7 +211,7 @@ namespace OpenSim.Framework // m_log.DebugFormat("[PRIMITIVE BASE SHAPE]: Creating from {0}", prim.ID); PCode = (byte)prim.PrimData.PCode; - DynAttrs = new DynAttrsOSDMap(); + DynAttrs = new DAMap(); State = prim.PrimData.State; PathBegin = Primitive.PackBeginCut(prim.PrimData.PathBegin); diff --git a/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DAExampleModule.cs b/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DAExampleModule.cs index 2aca93a3d0..d6fb15bfbe 100644 --- a/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DAExampleModule.cs +++ b/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DAExampleModule.cs @@ -76,7 +76,7 @@ namespace OpenSim.Region.Framework.DynamicAttributes.DAExampleModule protected bool OnSceneGroupMove(UUID groupId, Vector3 delta) { SceneObjectPart sop = m_scene.GetSceneObjectPart(groupId); - OSDMap attrs = sop.DynAttrs; + DAMap attrs = sop.DynAttrs; lock (attrs) { diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 2a9b99e50a..27f3a4d8f2 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -128,7 +128,7 @@ namespace OpenSim.Region.Framework.Scenes /// /// Dynamic attributes can be created and deleted as required. /// - public DynAttrsOSDMap DynAttrs { get; set; } + public DAMap DynAttrs { get; set; } /// /// Is this a root part? @@ -341,7 +341,7 @@ namespace OpenSim.Region.Framework.Scenes m_particleSystem = Utils.EmptyBytes; Rezzed = DateTime.UtcNow; Description = String.Empty; - DynAttrs = new DynAttrsOSDMap(); + DynAttrs = new DAMap(); // Prims currently only contain a single folder (Contents). From looking at the Second Life protocol, // this appears to have the same UUID (!) as the prim. If this isn't the case, one can't drag items from From 1650846df32872fa64a8d944f2144b866f17c57a Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Mon, 16 Aug 2010 22:28:48 +0100 Subject: [PATCH 419/851] Lock DAMap rather than encapsulated OSDMap This allows external lockers to preserve atomicity of dynamic attribute changes --- OpenSim/Framework/DAMap.cs | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/OpenSim/Framework/DAMap.cs b/OpenSim/Framework/DAMap.cs index a6fdf6194a..7551a10fe4 100644 --- a/OpenSim/Framework/DAMap.cs +++ b/OpenSim/Framework/DAMap.cs @@ -60,7 +60,8 @@ namespace OpenSim.Framework { //System.Console.WriteLine("Trying to deserialize [{0}]", rawXml); - m_map = (OSDMap)OSDParser.DeserializeLLSDXml(rawXml); + lock (this) + m_map = (OSDMap)OSDParser.DeserializeLLSDXml(rawXml); } public void ReadXml(XmlReader reader) @@ -70,7 +71,7 @@ namespace OpenSim.Framework public string ToXml() { - lock (m_map) + lock (this) return OSDParser.SerializeLLSDXmlString(m_map); } @@ -79,17 +80,17 @@ namespace OpenSim.Framework writer.WriteRaw(ToXml()); } - public int Count { get { lock (m_map) { return m_map.Count; } } } + public int Count { get { lock (this) { return m_map.Count; } } } public bool IsReadOnly { get { return false; } } - public ICollection Keys { get { lock (m_map) { return m_map.Keys; } } } - public ICollection Values { get { lock (m_map) { return m_map.Values; } } } + public ICollection Keys { get { lock (this) { return m_map.Keys; } } } + public ICollection Values { get { lock (this) { return m_map.Values; } } } public OSD this[string key] { get { OSD llsd; - lock (m_map) + lock (this) { if (m_map.TryGetValue(key, out llsd)) return llsd; @@ -97,48 +98,48 @@ namespace OpenSim.Framework return null; } } - set { lock (m_map) { m_map[key] = value; } } + set { lock (this) { m_map[key] = value; } } } public bool ContainsKey(string key) { - lock (m_map) + lock (this) return m_map.ContainsKey(key); } public void Add(string key, OSD llsd) { - lock (m_map) + lock (this) m_map.Add(key, llsd); } public void Add(KeyValuePair kvp) { - lock (m_map) + lock (this) m_map.Add(kvp.Key, kvp.Value); } public bool Remove(string key) { - lock (m_map) + lock (this) return m_map.Remove(key); } public bool TryGetValue(string key, out OSD llsd) { - lock (m_map) + lock (this) return m_map.TryGetValue(key, out llsd); } public void Clear() { - lock (m_map) + lock (this) m_map.Clear(); } public bool Contains(KeyValuePair kvp) { - lock (m_map) + lock (this) return m_map.ContainsKey(kvp.Key); } @@ -149,13 +150,13 @@ namespace OpenSim.Framework public bool Remove(KeyValuePair kvp) { - lock (m_map) + lock (this) return m_map.Remove(kvp.Key); } public System.Collections.IDictionaryEnumerator GetEnumerator() { - lock (m_map) + lock (this) return m_map.GetEnumerator(); } @@ -166,7 +167,7 @@ namespace OpenSim.Framework IEnumerator IEnumerable.GetEnumerator() { - lock (m_map) + lock (this) return m_map.GetEnumerator(); } } From 918b06286607a06e73eae5f24762b45eee76fd6a Mon Sep 17 00:00:00 2001 From: Oren Hurvitz Date: Mon, 21 Jan 2013 18:45:01 +0200 Subject: [PATCH 420/851] Added missing DynAttrs references in MySQL --- OpenSim/Data/MySQL/MySQLSimulationData.cs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/OpenSim/Data/MySQL/MySQLSimulationData.cs b/OpenSim/Data/MySQL/MySQLSimulationData.cs index e558702421..77fa1ec194 100644 --- a/OpenSim/Data/MySQL/MySQLSimulationData.cs +++ b/OpenSim/Data/MySQL/MySQLSimulationData.cs @@ -171,7 +171,8 @@ namespace OpenSim.Data.MySQL "ParticleSystem, ClickAction, Material, " + "CollisionSound, CollisionSoundVolume, " + "PassTouches, " + - "LinkNumber, MediaURL) values (" + "?UUID, " + + "LinkNumber, MediaURL, DynAttrs) " + + "values (?UUID, " + "?CreationDate, ?Name, ?Text, " + "?Description, ?SitName, ?TouchName, " + "?ObjectFlags, ?OwnerMask, ?NextOwnerMask, " + @@ -202,7 +203,8 @@ namespace OpenSim.Data.MySQL "?SaleType, ?ColorR, ?ColorG, " + "?ColorB, ?ColorA, ?ParticleSystem, " + "?ClickAction, ?Material, ?CollisionSound, " + - "?CollisionSoundVolume, ?PassTouches, ?LinkNumber, ?MediaURL, ?DynAttrs)"; + "?CollisionSoundVolume, ?PassTouches, ?LinkNumber, " + + "?MediaURL, ?DynAttrs)"; FillPrimCommand(cmd, prim, obj.UUID, regionUUID); @@ -219,7 +221,8 @@ namespace OpenSim.Data.MySQL "PathTaperX, PathTaperY, PathTwist, " + "PathTwistBegin, ProfileBegin, ProfileEnd, " + "ProfileCurve, ProfileHollow, Texture, " + - "ExtraParams, State, Media) values (?UUID, " + + "ExtraParams, State, Media, DynAttrs) " + + "values (?UUID, " + "?Shape, ?ScaleX, ?ScaleY, ?ScaleZ, " + "?PCode, ?PathBegin, ?PathEnd, " + "?PathScaleX, ?PathScaleY, " + From 8b4441d940a55da90645580477ece33d15849078 Mon Sep 17 00:00:00 2001 From: Oren Hurvitz Date: Tue, 22 Jan 2013 08:41:32 +0200 Subject: [PATCH 421/851] Changed DAMap to be the container of "data stores", which are OSDMaps. Store names must have at least 4 characters. --- OpenSim/Framework/DAMap.cs | 104 ++++++++++++++---- .../DynamicAttributes/DAExampleModule.cs | 25 +++-- 2 files changed, 97 insertions(+), 32 deletions(-) diff --git a/OpenSim/Framework/DAMap.cs b/OpenSim/Framework/DAMap.cs index 7551a10fe4..c25623065a 100644 --- a/OpenSim/Framework/DAMap.cs +++ b/OpenSim/Framework/DAMap.cs @@ -39,10 +39,19 @@ using OpenMetaverse.StructuredData; namespace OpenSim.Framework { /// - /// This is the map for storing and retrieving dynamic attributes. + /// This class stores and retrieves dynamic attributes. /// - public class DAMap : IDictionary, IXmlSerializable - { + /// + /// Modules that want to use dynamic attributes need to do so in a private data store + /// which is accessed using a unique name. DAMap provides access to the data stores, + /// each of which is an OSDMap. Modules are free to store any type of data they want + /// within their data store. However, avoid storing large amounts of data because that + /// would slow down database access. + /// + public class DAMap : IDictionary, IXmlSerializable + { + private static readonly int MIN_STORE_NAME_LENGTH = 4; + protected OSDMap m_map; public DAMap() { m_map = new OSDMap(); } @@ -79,12 +88,42 @@ namespace OpenSim.Framework { writer.WriteRaw(ToXml()); } - + + /// + /// Returns the number of data stores. + /// public int Count { get { lock (this) { return m_map.Count; } } } + public bool IsReadOnly { get { return false; } } + + /// + /// Returns the names of the data stores. + /// public ICollection Keys { get { lock (this) { return m_map.Keys; } } } - public ICollection Values { get { lock (this) { return m_map.Values; } } } - public OSD this[string key] + + /// + /// Returns all the data stores. + /// + public ICollection Values + { + get + { + lock (this) + { + List stores = new List(m_map.Count); + foreach (OSD llsd in m_map.Values) + stores.Add((OSDMap)llsd); + return stores; + } + } + } + + /// + /// Gets or sets one data store. + /// + /// Store name + /// + public OSDMap this[string key] { get { @@ -93,13 +132,25 @@ namespace OpenSim.Framework lock (this) { if (m_map.TryGetValue(key, out llsd)) - return llsd; + return (OSDMap)llsd; else return null; } } - set { lock (this) { m_map[key] = value; } } - } + + set + { + ValidateKey(key); + lock (this) + m_map[key] = value; + } + } + + private static void ValidateKey(string key) + { + if (key.Length < MIN_STORE_NAME_LENGTH) + throw new Exception("Minimum store name length is " + MIN_STORE_NAME_LENGTH); + } public bool ContainsKey(string key) { @@ -107,13 +158,14 @@ namespace OpenSim.Framework return m_map.ContainsKey(key); } - public void Add(string key, OSD llsd) - { + public void Add(string key, OSDMap store) + { + ValidateKey(key); lock (this) - m_map.Add(key, llsd); + m_map.Add(key, store); } - public void Add(KeyValuePair kvp) + public void Add(KeyValuePair kvp) { lock (this) m_map.Add(kvp.Key, kvp.Value); @@ -125,10 +177,22 @@ namespace OpenSim.Framework return m_map.Remove(key); } - public bool TryGetValue(string key, out OSD llsd) - { + public bool TryGetValue(string key, out OSDMap store) + { lock (this) - return m_map.TryGetValue(key, out llsd); + { + OSD llsd; + if (m_map.TryGetValue(key, out llsd)) + { + store = (OSDMap)llsd; + return true; + } + else + { + store = null; + return false; + } + } } public void Clear() @@ -137,18 +201,18 @@ namespace OpenSim.Framework m_map.Clear(); } - public bool Contains(KeyValuePair kvp) + public bool Contains(KeyValuePair kvp) { lock (this) return m_map.ContainsKey(kvp.Key); } - public void CopyTo(KeyValuePair[] array, int index) + public void CopyTo(KeyValuePair[] array, int index) { throw new NotImplementedException(); } - public bool Remove(KeyValuePair kvp) + public bool Remove(KeyValuePair kvp) { lock (this) return m_map.Remove(kvp.Key); @@ -160,7 +224,7 @@ namespace OpenSim.Framework return m_map.GetEnumerator(); } - IEnumerator> IEnumerable>.GetEnumerator() + IEnumerator> IEnumerable>.GetEnumerator() { return null; } diff --git a/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DAExampleModule.cs b/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DAExampleModule.cs index d6fb15bfbe..084fb5f70b 100644 --- a/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DAExampleModule.cs +++ b/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DAExampleModule.cs @@ -75,22 +75,23 @@ namespace OpenSim.Region.Framework.DynamicAttributes.DAExampleModule protected bool OnSceneGroupMove(UUID groupId, Vector3 delta) { + OSDMap attrs = null; SceneObjectPart sop = m_scene.GetSceneObjectPart(groupId); - DAMap attrs = sop.DynAttrs; + if (!sop.DynAttrs.TryGetValue(Name, out attrs)) + attrs = new OSDMap(); - lock (attrs) - { - OSDInteger newValue; + OSDInteger newValue; - if (!attrs.ContainsKey("moves")) - newValue = new OSDInteger(1); - else - newValue = new OSDInteger(((OSDInteger)attrs["moves"]).AsInteger() + 1); + if (!attrs.ContainsKey("moves")) + newValue = new OSDInteger(1); + else + newValue = new OSDInteger(((OSDInteger)attrs["moves"]).AsInteger() + 1); - attrs["moves"] = newValue; - - m_dialogMod.SendGeneralAlert(string.Format("{0} {1} moved {2} times", sop.Name, sop.UUID, newValue)); - } + attrs["moves"] = newValue; + + sop.DynAttrs[Name] = attrs; + + m_dialogMod.SendGeneralAlert(string.Format("{0} {1} moved {2} times", sop.Name, sop.UUID, newValue)); return true; } From fdec05a15ef126f344c03427e9ef264b4248646b Mon Sep 17 00:00:00 2001 From: Oren Hurvitz Date: Tue, 22 Jan 2013 08:49:36 +0200 Subject: [PATCH 422/851] Stopped storing dynamic attributes in the PrimShape --- OpenSim/Data/MSSQL/MSSQLSimulationData.cs | 13 +++---------- OpenSim/Data/MSSQL/Resources/RegionStore.migrations | 1 - OpenSim/Data/MySQL/MySQLSimulationData.cs | 10 ++-------- OpenSim/Data/MySQL/Resources/RegionStore.migrations | 1 - OpenSim/Data/SQLite/SQLiteSimulationData.cs | 8 -------- OpenSim/Framework/PrimitiveBaseShape.cs | 7 ------- 6 files changed, 5 insertions(+), 35 deletions(-) diff --git a/OpenSim/Data/MSSQL/MSSQLSimulationData.cs b/OpenSim/Data/MSSQL/MSSQLSimulationData.cs index e0e260d31f..24252ad289 100644 --- a/OpenSim/Data/MSSQL/MSSQLSimulationData.cs +++ b/OpenSim/Data/MSSQL/MSSQLSimulationData.cs @@ -409,7 +409,7 @@ IF EXISTS (SELECT UUID FROM primshapes WHERE UUID = @UUID) PathSkew = @PathSkew, PathCurve = @PathCurve, PathRadiusOffset = @PathRadiusOffset, PathRevolutions = @PathRevolutions, PathTaperX = @PathTaperX, PathTaperY = @PathTaperY, PathTwist = @PathTwist, PathTwistBegin = @PathTwistBegin, ProfileBegin = @ProfileBegin, ProfileEnd = @ProfileEnd, ProfileCurve = @ProfileCurve, ProfileHollow = @ProfileHollow, - Texture = @Texture, ExtraParams = @ExtraParams, State = @State, Media = @Media, DynAttrs = @DynAttrs + Texture = @Texture, ExtraParams = @ExtraParams, State = @State, Media = @Media WHERE UUID = @UUID END ELSE @@ -418,11 +418,11 @@ ELSE primshapes ( UUID, Shape, ScaleX, ScaleY, ScaleZ, PCode, PathBegin, PathEnd, PathScaleX, PathScaleY, PathShearX, PathShearY, PathSkew, PathCurve, PathRadiusOffset, PathRevolutions, PathTaperX, PathTaperY, PathTwist, PathTwistBegin, ProfileBegin, - ProfileEnd, ProfileCurve, ProfileHollow, Texture, ExtraParams, State, Media, DynAttrs + ProfileEnd, ProfileCurve, ProfileHollow, Texture, ExtraParams, State, Media ) VALUES ( @UUID, @Shape, @ScaleX, @ScaleY, @ScaleZ, @PCode, @PathBegin, @PathEnd, @PathScaleX, @PathScaleY, @PathShearX, @PathShearY, @PathSkew, @PathCurve, @PathRadiusOffset, @PathRevolutions, @PathTaperX, @PathTaperY, @PathTwist, @PathTwistBegin, @ProfileBegin, - @ProfileEnd, @ProfileCurve, @ProfileHollow, @Texture, @ExtraParams, @State, @Media, @DynAttrs + @ProfileEnd, @ProfileCurve, @ProfileHollow, @Texture, @ExtraParams, @State, @Media ) END"; @@ -1754,11 +1754,6 @@ VALUES baseShape.Media = PrimitiveBaseShape.MediaList.FromXml((string)shapeRow["Media"]); } - if (!(shapeRow["DynAttrs"] is System.DBNull)) - baseShape.DynAttrs = DAMap.FromXml((string)shapeRow["DynAttrs"]); - else - baseShape.DynAttrs = new DAMap(); - return baseShape; } @@ -2153,8 +2148,6 @@ VALUES parameters.Add(_Database.CreateParameter("Media", s.Media.ToXml())); } - parameters.Add(_Database.CreateParameter("DynAttrs", s.DynAttrs.ToXml())); - return parameters.ToArray(); } diff --git a/OpenSim/Data/MSSQL/Resources/RegionStore.migrations b/OpenSim/Data/MSSQL/Resources/RegionStore.migrations index 5e88e36eb4..92cc38ab2e 100644 --- a/OpenSim/Data/MSSQL/Resources/RegionStore.migrations +++ b/OpenSim/Data/MSSQL/Resources/RegionStore.migrations @@ -1154,6 +1154,5 @@ COMMIT BEGIN TRANSACTION ALTER TABLE prims ADD COLUMN DynAttrs TEXT; -ALTER TABLE primshapes ADD COLUMN DynAttrs TEXT; COMMIT diff --git a/OpenSim/Data/MySQL/MySQLSimulationData.cs b/OpenSim/Data/MySQL/MySQLSimulationData.cs index 77fa1ec194..1a6a0fb819 100644 --- a/OpenSim/Data/MySQL/MySQLSimulationData.cs +++ b/OpenSim/Data/MySQL/MySQLSimulationData.cs @@ -221,7 +221,7 @@ namespace OpenSim.Data.MySQL "PathTaperX, PathTaperY, PathTwist, " + "PathTwistBegin, ProfileBegin, ProfileEnd, " + "ProfileCurve, ProfileHollow, Texture, " + - "ExtraParams, State, Media, DynAttrs) " + + "ExtraParams, State, Media) " + "values (?UUID, " + "?Shape, ?ScaleX, ?ScaleY, ?ScaleZ, " + "?PCode, ?PathBegin, ?PathEnd, " + @@ -233,7 +233,7 @@ namespace OpenSim.Data.MySQL "?PathTwistBegin, ?ProfileBegin, " + "?ProfileEnd, ?ProfileCurve, " + "?ProfileHollow, ?Texture, ?ExtraParams, " + - "?State, ?Media, ?DynAttrs)"; + "?State, ?Media)"; FillShapeCommand(cmd, prim); @@ -1838,11 +1838,6 @@ namespace OpenSim.Data.MySQL if (!(row["Media"] is System.DBNull)) s.Media = PrimitiveBaseShape.MediaList.FromXml((string)row["Media"]); - - if (!(row["DynAttrs"] is System.DBNull)) - s.DynAttrs = DAMap.FromXml((string)row["DynAttrs"]); - else - s.DynAttrs = new DAMap(); return s; } @@ -1887,7 +1882,6 @@ namespace OpenSim.Data.MySQL cmd.Parameters.AddWithValue("ExtraParams", s.ExtraParams); cmd.Parameters.AddWithValue("State", s.State); cmd.Parameters.AddWithValue("Media", null == s.Media ? null : s.Media.ToXml()); - cmd.Parameters.AddWithValue("DynAttrs", s.DynAttrs.ToXml()); } public void StorePrimInventory(UUID primID, ICollection items) diff --git a/OpenSim/Data/MySQL/Resources/RegionStore.migrations b/OpenSim/Data/MySQL/Resources/RegionStore.migrations index 1a38836ef1..c48aec2798 100644 --- a/OpenSim/Data/MySQL/Resources/RegionStore.migrations +++ b/OpenSim/Data/MySQL/Resources/RegionStore.migrations @@ -908,6 +908,5 @@ COMMIT; BEGIN; ALTER TABLE prims ADD COLUMN DynAttrs TEXT; -ALTER TABLE primshapes ADD COLUMN DynAttrs TEXT; COMMIT; diff --git a/OpenSim/Data/SQLite/SQLiteSimulationData.cs b/OpenSim/Data/SQLite/SQLiteSimulationData.cs index 6875ed60d7..fda77280ff 100644 --- a/OpenSim/Data/SQLite/SQLiteSimulationData.cs +++ b/OpenSim/Data/SQLite/SQLiteSimulationData.cs @@ -1282,7 +1282,6 @@ namespace OpenSim.Data.SQLite createCol(shapes, "Texture", typeof(Byte[])); createCol(shapes, "ExtraParams", typeof(Byte[])); createCol(shapes, "Media", typeof(String)); - createCol(shapes, "DynAttrs", typeof(String)); shapes.PrimaryKey = new DataColumn[] { shapes.Columns["UUID"] }; @@ -2406,11 +2405,6 @@ namespace OpenSim.Data.SQLite if (!(row["Media"] is System.DBNull)) s.Media = PrimitiveBaseShape.MediaList.FromXml((string)row["Media"]); - - if (!(row["DynAttrs"] is System.DBNull)) - s.DynAttrs = DAMap.FromXml((string)row["DynAttrs"]); - else - s.DynAttrs = new DAMap(); return s; } @@ -2458,8 +2452,6 @@ namespace OpenSim.Data.SQLite if (s.Media != null) row["Media"] = s.Media.ToXml(); - - row["DynAttrs"] = s.DynAttrs.ToXml(); } /// diff --git a/OpenSim/Framework/PrimitiveBaseShape.cs b/OpenSim/Framework/PrimitiveBaseShape.cs index 775412b15b..4c36819bb2 100644 --- a/OpenSim/Framework/PrimitiveBaseShape.cs +++ b/OpenSim/Framework/PrimitiveBaseShape.cs @@ -82,11 +82,6 @@ namespace OpenSim.Framework private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); private static readonly byte[] DEFAULT_TEXTURE = new Primitive.TextureEntry(new UUID("89556747-24cb-43ed-920b-47caed15465f")).GetBytes(); - - /// - /// Dynamic attributes can be created and deleted as required. - /// - public DAMap DynAttrs { get; set; } private byte[] m_textureEntry; @@ -199,7 +194,6 @@ namespace OpenSim.Framework { PCode = (byte)PCodeEnum.Primitive; m_textureEntry = DEFAULT_TEXTURE; - DynAttrs = new DAMap(); } /// @@ -211,7 +205,6 @@ namespace OpenSim.Framework // m_log.DebugFormat("[PRIMITIVE BASE SHAPE]: Creating from {0}", prim.ID); PCode = (byte)prim.PrimData.PCode; - DynAttrs = new DAMap(); State = prim.PrimData.State; PathBegin = Primitive.PackBeginCut(prim.PrimData.PathBegin); From 86802bcf937e19ea99c2f9b7bc757b4e9daf3d16 Mon Sep 17 00:00:00 2001 From: Oren Hurvitz Date: Tue, 22 Jan 2013 08:55:15 +0200 Subject: [PATCH 423/851] Store NULL in the 'DynAttrs' column if the prim doesn't have any dynamic attributes --- OpenSim/Data/MSSQL/MSSQLSimulationData.cs | 6 +++++- OpenSim/Data/MySQL/MySQLSimulationData.cs | 6 +++++- OpenSim/Data/SQLite/SQLiteSimulationData.cs | 6 +++++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/OpenSim/Data/MSSQL/MSSQLSimulationData.cs b/OpenSim/Data/MSSQL/MSSQLSimulationData.cs index 24252ad289..276a19002f 100644 --- a/OpenSim/Data/MSSQL/MSSQLSimulationData.cs +++ b/OpenSim/Data/MSSQL/MSSQLSimulationData.cs @@ -2090,7 +2090,11 @@ VALUES parameters.Add(_Database.CreateParameter("PassTouches", 0)); parameters.Add(_Database.CreateParameter("LinkNumber", prim.LinkNum)); parameters.Add(_Database.CreateParameter("MediaURL", prim.MediaUrl)); - parameters.Add(_Database.CreateParameter("DynAttrs", prim.DynAttrs.ToXml())); + + if (prim.DynAttrs.Count > 0) + parameters.Add(_Database.CreateParameter("DynAttrs", prim.DynAttrs.ToXml())); + else + parameters.Add(_Database.CreateParameter("DynAttrs", null)); return parameters.ToArray(); } diff --git a/OpenSim/Data/MySQL/MySQLSimulationData.cs b/OpenSim/Data/MySQL/MySQLSimulationData.cs index 1a6a0fb819..c95311e6c7 100644 --- a/OpenSim/Data/MySQL/MySQLSimulationData.cs +++ b/OpenSim/Data/MySQL/MySQLSimulationData.cs @@ -1645,7 +1645,11 @@ namespace OpenSim.Data.MySQL cmd.Parameters.AddWithValue("LinkNumber", prim.LinkNum); cmd.Parameters.AddWithValue("MediaURL", prim.MediaUrl); - cmd.Parameters.AddWithValue("DynAttrs", prim.DynAttrs.ToXml()); + + if (prim.DynAttrs.Count > 0) + cmd.Parameters.AddWithValue("DynAttrs", prim.DynAttrs.ToXml()); + else + cmd.Parameters.AddWithValue("DynAttrs", null); } /// diff --git a/OpenSim/Data/SQLite/SQLiteSimulationData.cs b/OpenSim/Data/SQLite/SQLiteSimulationData.cs index fda77280ff..91fc704e61 100644 --- a/OpenSim/Data/SQLite/SQLiteSimulationData.cs +++ b/OpenSim/Data/SQLite/SQLiteSimulationData.cs @@ -2145,7 +2145,11 @@ namespace OpenSim.Data.SQLite row["VolumeDetect"] = 0; row["MediaURL"] = prim.MediaUrl; - row["DynAttrs"] = prim.DynAttrs.ToXml(); + + if (prim.DynAttrs.Count > 0) + row["DynAttrs"] = prim.DynAttrs.ToXml(); + else + row["DynAttrs"] = null; } /// From af6a7cf95df76708d013932d8ef92c9bbeda0e5d Mon Sep 17 00:00:00 2001 From: Oren Hurvitz Date: Tue, 22 Jan 2013 11:59:20 +0200 Subject: [PATCH 424/851] Added DynAttrs to the serialized XML format of prims. When copying prims, use deep copy for DynAttrs. --- OpenSim/Framework/DAMap.cs | 26 +++++++++++++++++-- .../Framework/Scenes/SceneObjectPart.cs | 2 ++ .../Serialization/SceneObjectSerializer.cs | 14 ++++++++++ 3 files changed, 40 insertions(+), 2 deletions(-) diff --git a/OpenSim/Framework/DAMap.cs b/OpenSim/Framework/DAMap.cs index c25623065a..291c8b8385 100644 --- a/OpenSim/Framework/DAMap.cs +++ b/OpenSim/Framework/DAMap.cs @@ -67,7 +67,7 @@ namespace OpenSim.Framework public void ReadXml(string rawXml) { - //System.Console.WriteLine("Trying to deserialize [{0}]", rawXml); + // System.Console.WriteLine("Trying to deserialize [{0}]", rawXml); lock (this) m_map = (OSDMap)OSDParser.DeserializeLLSDXml(rawXml); @@ -87,7 +87,29 @@ namespace OpenSim.Framework public void WriteXml(XmlWriter writer) { writer.WriteRaw(ToXml()); - } + } + + public void CopyFrom(DAMap other) + { + // Deep copy + + string data = null; + lock (other) + { + if (other.Count > 0) + { + data = OSDParser.SerializeLLSDXmlString(other.m_map); + } + } + + lock (this) + { + if (data == null) + Clear(); + else + m_map = (OSDMap)OSDParser.DeserializeLLSDXml(data); + } + } /// /// Returns the number of data stores. diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 27f3a4d8f2..189d2987eb 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -1625,6 +1625,8 @@ namespace OpenSim.Region.Framework.Scenes Array.Copy(Shape.ExtraParams, extraP, extraP.Length); dupe.Shape.ExtraParams = extraP; + dupe.DynAttrs.CopyFrom(DynAttrs); + if (userExposed) { /* diff --git a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs index 2d4c60ad75..4a2a47e685 100644 --- a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs +++ b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs @@ -359,6 +359,7 @@ namespace OpenSim.Region.Framework.Scenes.Serialization m_SOPXmlProcessors.Add("CollisionSound", ProcessCollisionSound); m_SOPXmlProcessors.Add("CollisionSoundVolume", ProcessCollisionSoundVolume); m_SOPXmlProcessors.Add("MediaUrl", ProcessMediaUrl); + m_SOPXmlProcessors.Add("DynAttrs", ProcessDynAttrs); m_SOPXmlProcessors.Add("TextureAnimation", ProcessTextureAnimation); m_SOPXmlProcessors.Add("ParticleSystem", ProcessParticleSystem); m_SOPXmlProcessors.Add("PayPrice0", ProcessPayPrice0); @@ -722,6 +723,11 @@ namespace OpenSim.Region.Framework.Scenes.Serialization obj.MediaUrl = reader.ReadElementContentAsString("MediaUrl", String.Empty); } + private static void ProcessDynAttrs(SceneObjectPart obj, XmlTextReader reader) + { + obj.DynAttrs.ReadXml(reader); + } + private static void ProcessTextureAnimation(SceneObjectPart obj, XmlTextReader reader) { obj.TextureAnimation = Convert.FromBase64String(reader.ReadElementContentAsString("TextureAnimation", String.Empty)); @@ -1235,6 +1241,14 @@ namespace OpenSim.Region.Framework.Scenes.Serialization writer.WriteElementString("CollisionSoundVolume", sop.CollisionSoundVolume.ToString()); if (sop.MediaUrl != null) writer.WriteElementString("MediaUrl", sop.MediaUrl.ToString()); + + if (sop.DynAttrs.Count > 0) + { + writer.WriteStartElement("DynAttrs"); + sop.DynAttrs.WriteXml(writer); + writer.WriteEndElement(); + } + WriteBytes(writer, "TextureAnimation", sop.TextureAnimation); WriteBytes(writer, "ParticleSystem", sop.ParticleSystem); writer.WriteElementString("PayPrice0", sop.PayPrice[0].ToString()); From 23f0610f0ce33a7308fc2c9190204b2d8882ce85 Mon Sep 17 00:00:00 2001 From: Oren Hurvitz Date: Tue, 22 Jan 2013 12:17:16 +0200 Subject: [PATCH 425/851] Disabled DAExampleModule --- .../DynamicAttributes/DAExampleModule.cs | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DAExampleModule.cs b/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DAExampleModule.cs index 084fb5f70b..d36f65acf3 100644 --- a/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DAExampleModule.cs +++ b/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DAExampleModule.cs @@ -45,7 +45,9 @@ namespace OpenSim.Region.Framework.DynamicAttributes.DAExampleModule public class DAExampleModule : INonSharedRegionModule { private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - + + private static readonly bool ENABLED = false; // enable for testing + protected Scene m_scene; protected IDialogModule m_dialogMod; @@ -56,14 +58,20 @@ namespace OpenSim.Region.Framework.DynamicAttributes.DAExampleModule public void AddRegion(Scene scene) { - m_scene = scene; - m_scene.EventManager.OnSceneGroupMove += OnSceneGroupMove; - m_dialogMod = m_scene.RequestModuleInterface(); + if (ENABLED) + { + m_scene = scene; + m_scene.EventManager.OnSceneGroupMove += OnSceneGroupMove; + m_dialogMod = m_scene.RequestModuleInterface(); + } } public void RemoveRegion(Scene scene) { - m_scene.EventManager.OnSceneGroupMove -= OnSceneGroupMove; + if (ENABLED) + { + m_scene.EventManager.OnSceneGroupMove -= OnSceneGroupMove; + } } public void RegionLoaded(Scene scene) {} From 6daf559fb678435779d766cc4435b4ec141fb7df Mon Sep 17 00:00:00 2001 From: Oren Hurvitz Date: Tue, 22 Jan 2013 12:50:23 +0200 Subject: [PATCH 426/851] Added unit tests for Dynamic Attributes --- .../World/Serialiser/Tests/SerialiserTests.cs | 37 +++++++++++++++++++ prebuild.xml | 1 + 2 files changed, 38 insertions(+) diff --git a/OpenSim/Region/CoreModules/World/Serialiser/Tests/SerialiserTests.cs b/OpenSim/Region/CoreModules/World/Serialiser/Tests/SerialiserTests.cs index bcb8e2f537..b4348c9d5a 100644 --- a/OpenSim/Region/CoreModules/World/Serialiser/Tests/SerialiserTests.cs +++ b/OpenSim/Region/CoreModules/World/Serialiser/Tests/SerialiserTests.cs @@ -35,6 +35,7 @@ using OpenSim.Framework; using OpenSim.Region.Framework.Scenes; using OpenSim.Region.Framework.Scenes.Serialization; using OpenSim.Tests.Common; +using OpenMetaverse.StructuredData; namespace OpenSim.Region.CoreModules.World.Serialiser.Tests { @@ -143,6 +144,7 @@ namespace OpenSim.Region.CoreModules.World.Serialiser.Tests None 00000000-0000-0000-0000-000000000000 0 + MyStorethe answer42 @@ -331,6 +333,7 @@ namespace OpenSim.Region.CoreModules.World.Serialiser.Tests 0 2147483647 None + MyStorelast wordsRosebud 00000000-0000-0000-0000-000000000000 @@ -359,6 +362,8 @@ namespace OpenSim.Region.CoreModules.World.Serialiser.Tests Assert.That(rootPart.UUID, Is.EqualTo(new UUID("e6a5a05e-e8cc-4816-8701-04165e335790"))); Assert.That(rootPart.CreatorID, Is.EqualTo(new UUID("a6dacf01-4636-4bb9-8a97-30609438af9d"))); Assert.That(rootPart.Name, Is.EqualTo("PrimMyRide")); + OSDMap store = rootPart.DynAttrs["MyStore"]; + Assert.AreEqual(42, store["the answer"].AsInteger()); // TODO: Check other properties } @@ -409,6 +414,14 @@ namespace OpenSim.Region.CoreModules.World.Serialiser.Tests rp.CreatorID = rpCreatorId; rp.Shape = shape; + string daStoreName = "MyStore"; + string daKey = "foo"; + string daValue = "bar"; + OSDMap myStore = new OSDMap(); + myStore.Add(daKey, daValue); + rp.DynAttrs = new DAMap(); + rp.DynAttrs[daStoreName] = myStore; + SceneObjectGroup so = new SceneObjectGroup(rp); // Need to add the object to the scene so that the request to get script state succeeds @@ -424,6 +437,7 @@ namespace OpenSim.Region.CoreModules.World.Serialiser.Tests UUID uuid = UUID.Zero; string name = null; UUID creatorId = UUID.Zero; + DAMap daMap = null; while (xtr.Read() && xtr.Name != "SceneObjectPart") { @@ -449,6 +463,10 @@ namespace OpenSim.Region.CoreModules.World.Serialiser.Tests creatorId = UUID.Parse(xtr.ReadElementString("UUID")); xtr.ReadEndElement(); break; + case "DynAttrs": + daMap = new DAMap(); + daMap.ReadXml(xtr); + break; } } @@ -462,6 +480,8 @@ namespace OpenSim.Region.CoreModules.World.Serialiser.Tests Assert.That(uuid, Is.EqualTo(rpUuid)); Assert.That(name, Is.EqualTo(rpName)); Assert.That(creatorId, Is.EqualTo(rpCreatorId)); + Assert.NotNull(daMap); + Assert.AreEqual(daValue, daMap[daStoreName][daKey].AsString()); } [Test] @@ -476,6 +496,8 @@ namespace OpenSim.Region.CoreModules.World.Serialiser.Tests Assert.That(rootPart.UUID, Is.EqualTo(new UUID("9be68fdd-f740-4a0f-9675-dfbbb536b946"))); Assert.That(rootPart.CreatorID, Is.EqualTo(new UUID("b46ef588-411e-4a8b-a284-d7dcfe8e74ef"))); Assert.That(rootPart.Name, Is.EqualTo("PrimFun")); + OSDMap store = rootPart.DynAttrs["MyStore"]; + Assert.AreEqual("Rosebud", store["last words"].AsString()); // TODO: Check other properties } @@ -500,6 +522,14 @@ namespace OpenSim.Region.CoreModules.World.Serialiser.Tests rp.CreatorID = rpCreatorId; rp.Shape = shape; + string daStoreName = "MyStore"; + string daKey = "foo"; + string daValue = "bar"; + OSDMap myStore = new OSDMap(); + myStore.Add(daKey, daValue); + rp.DynAttrs = new DAMap(); + rp.DynAttrs[daStoreName] = myStore; + SceneObjectGroup so = new SceneObjectGroup(rp); // Need to add the object to the scene so that the request to get script state succeeds @@ -516,6 +546,7 @@ namespace OpenSim.Region.CoreModules.World.Serialiser.Tests UUID uuid = UUID.Zero; string name = null; UUID creatorId = UUID.Zero; + DAMap daMap = null; while (xtr.Read() && xtr.Name != "SceneObjectPart") { @@ -537,6 +568,10 @@ namespace OpenSim.Region.CoreModules.World.Serialiser.Tests creatorId = UUID.Parse(xtr.ReadElementString("Guid")); xtr.ReadEndElement(); break; + case "DynAttrs": + daMap = new DAMap(); + daMap.ReadXml(xtr); + break; } } @@ -549,6 +584,8 @@ namespace OpenSim.Region.CoreModules.World.Serialiser.Tests Assert.That(uuid, Is.EqualTo(rpUuid)); Assert.That(name, Is.EqualTo(rpName)); Assert.That(creatorId, Is.EqualTo(rpCreatorId)); + Assert.NotNull(daMap); + Assert.AreEqual(daValue, daMap[daStoreName][daKey].AsString()); } } } \ No newline at end of file diff --git a/prebuild.xml b/prebuild.xml index 8a753800df..106ae39405 100644 --- a/prebuild.xml +++ b/prebuild.xml @@ -3023,6 +3023,7 @@ + From 77894151485e4e6ad397cee85a551a4593e57cdd Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 25 Jan 2013 04:22:32 +0000 Subject: [PATCH 427/851] Fix tests by adding DynAttrs add column commands to RegionStore.migrations (these were originally in 021_RegionStore.sql which I might have forgotton to add 2 years ago). --- OpenSim/Data/SQLite/Resources/RegionStore.migrations | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/OpenSim/Data/SQLite/Resources/RegionStore.migrations b/OpenSim/Data/SQLite/Resources/RegionStore.migrations index e872977634..4c3c55da25 100644 --- a/OpenSim/Data/SQLite/Resources/RegionStore.migrations +++ b/OpenSim/Data/SQLite/Resources/RegionStore.migrations @@ -575,3 +575,9 @@ CREATE TABLE `regionenvironment` ( ); COMMIT; + +:VERSION 27 +BEGIN; +ALTER TABLE prims ADD COLUMN DynAttrs TEXT; +ALTER TABLE primshapes ADD COLUMN DynAttrs TEXT; +COMMIT; \ No newline at end of file From 7a139f8e5324c68c58249fc21e4ac78328cfa3bf Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 25 Jan 2013 04:35:06 +0000 Subject: [PATCH 428/851] Remove the accidental PrimShapes column that I added back to the SQLite region store --- OpenSim/Data/SQLite/Resources/RegionStore.migrations | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/OpenSim/Data/SQLite/Resources/RegionStore.migrations b/OpenSim/Data/SQLite/Resources/RegionStore.migrations index 4c3c55da25..e583dc2bc1 100644 --- a/OpenSim/Data/SQLite/Resources/RegionStore.migrations +++ b/OpenSim/Data/SQLite/Resources/RegionStore.migrations @@ -579,5 +579,4 @@ COMMIT; :VERSION 27 BEGIN; ALTER TABLE prims ADD COLUMN DynAttrs TEXT; -ALTER TABLE primshapes ADD COLUMN DynAttrs TEXT; -COMMIT; \ No newline at end of file +COMMIT; From d6d6618f62a3a66e0d660d634c2c0f8722e3692f Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Sat, 26 Jan 2013 00:28:45 +0000 Subject: [PATCH 429/851] minor: Call down to base OpenSimTestCase.SetUp() in NPCModuleTests to disable any enabled logging from previous tests --- .../Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs b/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs index a522277e8a..bf23040c3d 100644 --- a/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs +++ b/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs @@ -74,6 +74,8 @@ namespace OpenSim.Region.OptionalModules.World.NPC.Tests [SetUp] public void Init() { + base.SetUp(); + IConfigSource config = new IniConfigSource(); config.AddConfig("NPC"); config.Configs["NPC"].Set("Enabled", "true"); From c3fb1144614d85562169a7bb6cf8b10c9724b189 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Sat, 26 Jan 2013 00:31:19 +0000 Subject: [PATCH 430/851] minor: Fix full scene part console report to show proper Light* names rather than all wrongly FlexiDrag --- .../World/Objects/Commands/ObjectCommandsModule.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/OpenSim/Region/CoreModules/World/Objects/Commands/ObjectCommandsModule.cs b/OpenSim/Region/CoreModules/World/Objects/Commands/ObjectCommandsModule.cs index 7b235aef74..9fc2dafafc 100644 --- a/OpenSim/Region/CoreModules/World/Objects/Commands/ObjectCommandsModule.cs +++ b/OpenSim/Region/CoreModules/World/Objects/Commands/ObjectCommandsModule.cs @@ -592,11 +592,11 @@ namespace OpenSim.Region.CoreModules.World.Objects.Commands cdl.AddRow( "LightColor", string.Format("<{0},{1},{2},{3}>", s.LightColorR, s.LightColorB, s.LightColorG, s.LightColorA)); - cdl.AddRow("FlexiDrag", s.LightCutoff); - cdl.AddRow("FlexiDrag", s.LightEntry); - cdl.AddRow("FlexiDrag", s.LightFalloff); - cdl.AddRow("FlexiDrag", s.LightIntensity); - cdl.AddRow("FlexiDrag", s.LightRadius); + cdl.AddRow("LightCutoff", s.LightCutoff); + cdl.AddRow("LightEntry", s.LightEntry); + cdl.AddRow("LightFalloff", s.LightFalloff); + cdl.AddRow("LightIntensity", s.LightIntensity); + cdl.AddRow("LightRadius", s.LightRadius); cdl.AddRow("Media", string.Format("{0} entries", s.Media != null ? s.Media.Count.ToString() : "n/a")); cdl.AddRow("PathBegin", s.PathBegin); cdl.AddRow("PathEnd", s.PathEnd); From 5128ae7b8685a583b3d53428f5bbba5ba5e65549 Mon Sep 17 00:00:00 2001 From: teravus Date: Fri, 25 Jan 2013 20:15:37 -0500 Subject: [PATCH 431/851] * This adds llVolumeDetect functionality to the C# implementation of BulletSim. --- .../Region/Physics/BulletSPlugin/BSAPIXNA.cs | 196 ++++++++++-------- 1 file changed, 113 insertions(+), 83 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSAPIXNA.cs b/OpenSim/Region/Physics/BulletSPlugin/BSAPIXNA.cs index f63d83c46f..04e77b8f76 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSAPIXNA.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSAPIXNA.cs @@ -137,6 +137,7 @@ private sealed class BulletConstraintXNA : BulletConstraint internal int LastEntityProperty = 0; internal EntityProperties[] UpdatedObjects; + internal Dictionary specialCollisionObjects; private static int m_collisionsThisFrame; private BSScene PhysicsScene { get; set; } @@ -158,7 +159,13 @@ private sealed class BulletConstraintXNA : BulletConstraint { DiscreteDynamicsWorld world = (pWorld as BulletWorldXNA).world; RigidBody body = ((BulletBodyXNA)pBody).rigidBody; - world.RemoveRigidBody(body); + CollisionObject collisionObject = ((BulletBodyXNA)pBody).body; + if (body != null) + world.RemoveRigidBody(body); + else if (collisionObject != null) + world.RemoveCollisionObject(collisionObject); + else + return false; return true; } @@ -182,7 +189,7 @@ private sealed class BulletConstraintXNA : BulletConstraint public override void SetRestitution(BulletBody pCollisionObject, float pRestitution) { - CollisionObject collisionObject = (pCollisionObject as BulletBodyXNA).rigidBody; + CollisionObject collisionObject = (pCollisionObject as BulletBodyXNA).body; collisionObject.SetRestitution(pRestitution); } @@ -219,13 +226,13 @@ private sealed class BulletConstraintXNA : BulletConstraint public override void SetCcdMotionThreshold(BulletBody pCollisionObject, float pccdMotionThreashold) { - CollisionObject collisionObject = (pCollisionObject as BulletBodyXNA).rigidBody; + CollisionObject collisionObject = (pCollisionObject as BulletBodyXNA).body; collisionObject.SetCcdMotionThreshold(pccdMotionThreashold); } public override void SetCcdSweptSphereRadius(BulletBody pCollisionObject, float pCcdSweptSphereRadius) { - CollisionObject collisionObject = (pCollisionObject as BulletBodyXNA).rigidBody; + CollisionObject collisionObject = (pCollisionObject as BulletBodyXNA).body; collisionObject.SetCcdSweptSphereRadius(pCcdSweptSphereRadius); } @@ -262,7 +269,7 @@ private sealed class BulletConstraintXNA : BulletConstraint } else { - world.AddCollisionObject(rbody); + world.AddCollisionObject(cbody); } cbody.SetWorldTransform(origPos); @@ -303,7 +310,7 @@ private sealed class BulletConstraintXNA : BulletConstraint public override bool SetCollisionGroupMask(BulletBody pCollisionObject, uint pGroup, uint pMask) { - CollisionObject collisionObject = (pCollisionObject as BulletBodyXNA).rigidBody; + CollisionObject collisionObject = (pCollisionObject as BulletBodyXNA).body; collisionObject.GetBroadphaseHandle().m_collisionFilterGroup = (BulletXNA.BulletCollision.CollisionFilterGroups) pGroup; collisionObject.GetBroadphaseHandle().m_collisionFilterGroup = (BulletXNA.BulletCollision.CollisionFilterGroups) pGroup; if ((uint) collisionObject.GetBroadphaseHandle().m_collisionFilterGroup == 0) @@ -390,7 +397,7 @@ private sealed class BulletConstraintXNA : BulletConstraint public override void SetTranslation(BulletBody pCollisionObject, Vector3 _position, Quaternion _orientation) { - CollisionObject collisionObject = (pCollisionObject as BulletBodyXNA).rigidBody; + CollisionObject collisionObject = (pCollisionObject as BulletBodyXNA).body; IndexedVector3 vposition = new IndexedVector3(_position.X, _position.Y, _position.Z); IndexedQuaternion vquaternion = new IndexedQuaternion(_orientation.X, _orientation.Y, _orientation.Z, _orientation.W); @@ -418,8 +425,11 @@ private sealed class BulletConstraintXNA : BulletConstraint public override void SetMassProps(BulletBody pBody, float pphysMass, Vector3 plocalInertia) { RigidBody body = (pBody as BulletBodyXNA).rigidBody; - IndexedVector3 inertia = new IndexedVector3(plocalInertia.X, plocalInertia.Y, plocalInertia.Z); - body.SetMassProps(pphysMass, inertia); + if (body != null) // Can't set mass props on collision object. + { + IndexedVector3 inertia = new IndexedVector3(plocalInertia.X, plocalInertia.Y, plocalInertia.Z); + body.SetMassProps(pphysMass, inertia); + } } @@ -432,7 +442,7 @@ private sealed class BulletConstraintXNA : BulletConstraint public override void SetFriction(BulletBody pCollisionObject, float _currentFriction) { - CollisionObject collisionObject = (pCollisionObject as BulletBodyXNA).rigidBody; + CollisionObject collisionObject = (pCollisionObject as BulletBodyXNA).body; collisionObject.SetFriction(_currentFriction); } @@ -459,7 +469,7 @@ private sealed class BulletConstraintXNA : BulletConstraint public override CollisionFlags RemoveFromCollisionFlags(BulletBody pCollisionObject, CollisionFlags pcollisionFlags) { - CollisionObject collisionObject = (pCollisionObject as BulletBodyXNA).rigidBody; + CollisionObject collisionObject = (pCollisionObject as BulletBodyXNA).body; CollisionFlags existingcollisionFlags = (CollisionFlags)(uint)collisionObject.GetCollisionFlags(); existingcollisionFlags &= ~pcollisionFlags; collisionObject.SetCollisionFlags((BulletXNA.BulletCollision.CollisionFlags)(uint)existingcollisionFlags); @@ -494,8 +504,11 @@ private sealed class BulletConstraintXNA : BulletConstraint public override void SetGravity(BulletBody pBody, Vector3 pGravity) { RigidBody body = (pBody as BulletBodyXNA).rigidBody; - IndexedVector3 gravity = new IndexedVector3(pGravity.X, pGravity.Y, pGravity.Z); - body.SetGravity(gravity); + if (body != null) // Can't set collisionobject.set gravity + { + IndexedVector3 gravity = new IndexedVector3(pGravity.X, pGravity.Y, pGravity.Z); + body.SetGravity(gravity); + } } public override bool DestroyConstraint(BulletWorld pWorld, BulletConstraint pConstraint) @@ -733,7 +746,8 @@ private sealed class BulletConstraintXNA : BulletConstraint public override void UpdateInertiaTensor(BulletBody pBody) { RigidBody body = (pBody as BulletBodyXNA).rigidBody; - body.UpdateInertiaTensor(); + if (body != null) // can't update inertia tensor on CollisionObject + body.UpdateInertiaTensor(); } public override void RecalculateCompoundShapeLocalAabb(BulletShape pCompoundShape) @@ -770,7 +784,7 @@ private sealed class BulletConstraintXNA : BulletConstraint public override CollisionObjectTypes GetBodyType(BulletBody pCollisionObject) { - CollisionObject collisionObject = (pCollisionObject as BulletBodyXNA).rigidBody; + CollisionObject collisionObject = (pCollisionObject as BulletBodyXNA).body; return (CollisionObjectTypes)(int) collisionObject.GetInternalType(); } @@ -889,7 +903,18 @@ private sealed class BulletConstraintXNA : BulletConstraint world.RemoveRigidBody(bo); } } - + if (co != null) + { + if (co.GetUserPointer() != null) + { + uint localId = (uint) co.GetUserPointer(); + if (specialCollisionObjects.ContainsKey(localId)) + { + specialCollisionObjects.Remove(localId); + } + } + } + } public override void Shutdown(BulletWorld pWorld) @@ -1050,7 +1075,7 @@ private sealed class BulletConstraintXNA : BulletConstraint Vector3 worldExtent = new Vector3(Constants.RegionSize, Constants.RegionSize, Constants.RegionHeight); m_maxCollisions = maxCollisions; m_maxUpdatesPerFrame = maxUpdates; - + specialCollisionObjects = new Dictionary(); return new BulletWorldXNA(1, PhysicsScene, BSAPIXNA.Initialize2(worldExtent, configparms, maxCollisions, ref collisionArray, maxUpdates, ref updateArray, null)); } @@ -1310,6 +1335,12 @@ private sealed class BulletConstraintXNA : BulletConstraint CollisionShape shape = (pShape as BulletShapeXNA).shape; gObj.SetCollisionShape(shape); gObj.SetUserPointer(pLocalID); + + if (specialCollisionObjects.ContainsKey(pLocalID)) + specialCollisionObjects[pLocalID] = gObj; + else + specialCollisionObjects.Add(pLocalID, gObj); + // TODO: Add to Special CollisionObjects! return new BulletBodyXNA(pLocalID, gObj); } @@ -1399,7 +1430,7 @@ private sealed class BulletConstraintXNA : BulletConstraint } public override BulletShape GetChildShapeFromCompoundShapeIndex(BulletShape cShape, int indx) { - /* TODO */ + if (cShape == null) return null; CompoundShape compoundShape = (cShape as BulletShapeXNA).shape as CompoundShape; @@ -1407,7 +1438,7 @@ private sealed class BulletConstraintXNA : BulletConstraint BulletShape retShape = new BulletShapeXNA(shape, BSShapeTypeFromBroadPhaseNativeType(shape.GetShapeType())); - return null; + return retShape; } public BSPhysicsShapeType BSShapeTypeFromBroadPhaseNativeType(BroadphaseNativeTypes pin) @@ -1802,26 +1833,29 @@ private sealed class BulletConstraintXNA : BulletConstraint numSimSteps = world.StepSimulation(timeStep, m_maxSubSteps, m_fixedTimeStep); int updates = 0; - - + PersistentManifold contactManifold; + CollisionObject objA; + CollisionObject objB; + ManifoldPoint manifoldPoint; + PairCachingGhostObject pairCachingGhostObject; m_collisionsThisFrame = 0; int numManifolds = world.GetDispatcher().GetNumManifolds(); for (int j = 0; j < numManifolds; j++) { - PersistentManifold contactManifold = world.GetDispatcher().GetManifoldByIndexInternal(j); + contactManifold = world.GetDispatcher().GetManifoldByIndexInternal(j); int numContacts = contactManifold.GetNumContacts(); if (numContacts == 0) continue; - CollisionObject objA = contactManifold.GetBody0() as CollisionObject; - CollisionObject objB = contactManifold.GetBody1() as CollisionObject; + objA = contactManifold.GetBody0() as CollisionObject; + objB = contactManifold.GetBody1() as CollisionObject; - ManifoldPoint manifoldPoint = contactManifold.GetContactPoint(0); - IndexedVector3 contactPoint = manifoldPoint.GetPositionWorldOnB(); - IndexedVector3 contactNormal = -manifoldPoint.m_normalWorldOnB; // make relative to A + manifoldPoint = contactManifold.GetContactPoint(0); + //IndexedVector3 contactPoint = manifoldPoint.GetPositionWorldOnB(); + // IndexedVector3 contactNormal = -manifoldPoint.m_normalWorldOnB; // make relative to A - RecordCollision(this, objA, objB, contactPoint, contactNormal,manifoldPoint.GetDistance()); + RecordCollision(this, objA, objB, manifoldPoint.GetPositionWorldOnB(), -manifoldPoint.m_normalWorldOnB, manifoldPoint.GetDistance()); m_collisionsThisFrame ++; if (m_collisionsThisFrame >= 9999999) break; @@ -1829,12 +1863,19 @@ private sealed class BulletConstraintXNA : BulletConstraint } + foreach (GhostObject ghostObject in specialCollisionObjects.Values) + { + pairCachingGhostObject = ghostObject as PairCachingGhostObject; + if (pairCachingGhostObject != null) + { + RecordGhostCollisions(pairCachingGhostObject); + } + + } + + updatedEntityCount = LastEntityProperty; updatedEntities = UpdatedObjects; - - - - collidersCount = LastCollisionDesc; colliders = UpdatedCollisions; @@ -1860,60 +1901,49 @@ private sealed class BulletConstraintXNA : BulletConstraint } public void RecordGhostCollisions(PairCachingGhostObject obj) { - /* - *void BulletSim::RecordGhostCollisions(btPairCachingGhostObject* obj) -{ - btManifoldArray manifoldArray; - btBroadphasePairArray& pairArray = obj->getOverlappingPairCache()->getOverlappingPairArray(); - int numPairs = pairArray.size(); + IOverlappingPairCache cache = obj.GetOverlappingPairCache(); + ObjectArray pairs = cache.GetOverlappingPairArray(); + + DiscreteDynamicsWorld world = (PhysicsScene.World as BulletWorldXNA).world; + PersistentManifoldArray manifoldArray = new PersistentManifoldArray(); + BroadphasePair collisionPair; + PersistentManifold contactManifold; - // For all the pairs of sets of contact points - for (int i=0; i < numPairs; i++) - { - if (m_collisionsThisFrame >= m_maxCollisionsPerFrame) - break; + CollisionObject objA; + CollisionObject objB; - manifoldArray.clear(); - const btBroadphasePair& pair = pairArray[i]; + ManifoldPoint pt; - // The real representation is over in the world pair cache - btBroadphasePair* collisionPair = m_worldData.dynamicsWorld->getPairCache()->findPair(pair.m_pProxy0,pair.m_pProxy1); - if (!collisionPair) - continue; + int numPairs = pairs.Count; + + for (int i = 0; i < numPairs; i++) + { + manifoldArray.Clear(); + if (LastCollisionDesc < UpdatedCollisions.Length) + break; + collisionPair = world.GetPairCache().FindPair(pairs[i].m_pProxy0, pairs[i].m_pProxy1); + if (collisionPair == null) + continue; + + collisionPair.m_algorithm.GetAllContactManifolds(manifoldArray); + for (int j = 0; j < manifoldArray.Count; j++) + { + contactManifold = manifoldArray[j]; + int numContacts = contactManifold.GetNumContacts(); + objA = contactManifold.GetBody0() as CollisionObject; + objB = contactManifold.GetBody1() as CollisionObject; + for (int p = 0; p < numContacts; p++) + { + pt = contactManifold.GetContactPoint(p); + if (pt.GetDistance() < 0.0f) + { + RecordCollision(this, objA, objB, pt.GetPositionWorldOnA(), -pt.m_normalWorldOnB,pt.GetDistance()); + break; + } + } + } + } - if (collisionPair->m_algorithm) - collisionPair->m_algorithm->getAllContactManifolds(manifoldArray); - - // The collision pair has sets of collision points (manifolds) - for (int j=0; j < manifoldArray.size(); j++) - { - btPersistentManifold* contactManifold = manifoldArray[j]; - int numContacts = contactManifold->getNumContacts(); - - const btCollisionObject* objA = static_cast(contactManifold->getBody0()); - const btCollisionObject* objB = static_cast(contactManifold->getBody1()); - - // TODO: this is a more thurough check than the regular collision code -- - // here we find the penetrating contact in the manifold but for regular - // collisions we assume the first point in the manifold is good enough. - // Decide of this extra checking is required or if first point is good enough. - for (int p=0; p < numContacts; p++) - { - const btManifoldPoint& pt = contactManifold->getContactPoint(p); - // If a penetrating contact, this is a hit - if (pt.getDistance()<0.f) - { - const btVector3& contactPoint = pt.getPositionWorldOnA(); - const btVector3& normalOnA = -pt.m_normalWorldOnB; - RecordCollision(objA, objB, contactPoint, normalOnA, pt.getDistance()); - // Only one contact point for each set of colliding objects - break; - } - } - } - } -} - */ } private static void RecordCollision(BSAPIXNA world, CollisionObject objA, CollisionObject objB, IndexedVector3 contact, IndexedVector3 norm, float penetration) { @@ -1934,7 +1964,7 @@ private sealed class BulletConstraintXNA : BulletConstraint contactNormal = -contactNormal; } - ulong collisionID = ((ulong) idA << 32) | idB; + //ulong collisionID = ((ulong) idA << 32) | idB; CollisionDesc cDesc = new CollisionDesc() { From ceabb1b49ae40b31659082a2f7622c1f3586ce46 Mon Sep 17 00:00:00 2001 From: Talun Date: Sat, 26 Jan 2013 00:34:42 +0000 Subject: [PATCH 432/851] Mantis 6343: Turn a prim to flexy to OFF don't work llSetPrimParams Correction so that scripts can turn Flexi off as well as on. --- .../Shared/Api/Implementation/LSL_Api.cs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 001f4d9bd1..81de9abe6b 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -1700,10 +1700,17 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api part.Shape.FlexiForceX = (float)Force.x; part.Shape.FlexiForceY = (float)Force.y; part.Shape.FlexiForceZ = (float)Force.z; - part.Shape.PathCurve = 0x80; - part.ParentGroup.HasGroupChanged = true; - part.ScheduleFullUpdate(); + part.Shape.PathCurve = (byte)Extrusion.Flexible; } + else + { + // Other values not set, they do not seem to be sent to the viewer + // Setting PathCurve appears to be what actually toggles the check box and turns Flexi on and off + part.Shape.PathCurve = (byte)Extrusion.Straight; + part.Shape.FlexiEntry = false; + } + part.ParentGroup.HasGroupChanged = true; + part.ScheduleFullUpdate(); } /// From 53833babf99d83a27d0be2b820efbe41067ef723 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Sat, 26 Jan 2013 03:57:51 +0000 Subject: [PATCH 433/851] Add OnScriptMovingStartEvent and OnScriptMovingEndEvent to EventManager so that these can be triggered by future code (not yet implemented). Also hooks up moving_start and moving_end script events, eliminating itemID on XEngine EventManager methods since this is completely unused. An adaptation of the patch in http://opensimulator.org/mantis/view.php?id=6515 Thanks Garmin Kawaguichi and Signpost Marv. --- .../Region/Framework/Scenes/EventManager.cs | 56 +++++++++++++++++++ .../ScriptEngine/XEngine/EventManager.cs | 6 +- 2 files changed, 60 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/EventManager.cs b/OpenSim/Region/Framework/Scenes/EventManager.cs index 902ded1f03..9ee15204ef 100644 --- a/OpenSim/Region/Framework/Scenes/EventManager.cs +++ b/OpenSim/Region/Framework/Scenes/EventManager.cs @@ -549,6 +549,20 @@ namespace OpenSim.Region.Framework.Scenes /// public event ScriptControlEvent OnScriptControlEvent; + public delegate void ScriptMovingStartEvent(uint localID); + + /// + /// TODO: Should be triggered when a physics object starts moving. + /// + public event ScriptMovingStartEvent OnScriptMovingStartEvent; + + public delegate void ScriptMovingEndEvent(uint localID); + + /// + /// TODO: Should be triggered when a physics object stops moving. + /// + public event ScriptMovingEndEvent OnScriptMovingEndEvent; + public delegate void ScriptAtTargetEvent(uint localID, uint handle, Vector3 targetpos, Vector3 atpos); /// @@ -2212,6 +2226,48 @@ namespace OpenSim.Region.Framework.Scenes } } + public void TriggerMovingStartEvent(uint localID) + { + ScriptMovingStartEvent handlerScriptMovingStartEvent = OnScriptMovingStartEvent; + if (handlerScriptMovingStartEvent != null) + { + foreach (ScriptMovingStartEvent d in handlerScriptMovingStartEvent.GetInvocationList()) + { + try + { + d(localID); + } + catch (Exception e) + { + m_log.ErrorFormat( + "[EVENT MANAGER]: Delegate for TriggerMovingStartEvent failed - continuing. {0} {1}", + e.Message, e.StackTrace); + } + } + } + } + + public void TriggerMovingEndEvent(uint localID) + { + ScriptMovingEndEvent handlerScriptMovingEndEvent = OnScriptMovingEndEvent; + if (handlerScriptMovingEndEvent != null) + { + foreach (ScriptMovingEndEvent d in handlerScriptMovingEndEvent.GetInvocationList()) + { + try + { + d(localID); + } + catch (Exception e) + { + m_log.ErrorFormat( + "[EVENT MANAGER]: Delegate for TriggerMovingEndEvent failed - continuing. {0} {1}", + e.Message, e.StackTrace); + } + } + } + } + public void TriggerRequestChangeWaterHeight(float height) { if (height < 0) diff --git a/OpenSim/Region/ScriptEngine/XEngine/EventManager.cs b/OpenSim/Region/ScriptEngine/XEngine/EventManager.cs index afde685d68..0ff2da365b 100644 --- a/OpenSim/Region/ScriptEngine/XEngine/EventManager.cs +++ b/OpenSim/Region/ScriptEngine/XEngine/EventManager.cs @@ -62,6 +62,8 @@ namespace OpenSim.Region.ScriptEngine.XEngine myScriptEngine.World.EventManager.OnScriptNotAtTargetEvent += not_at_target; myScriptEngine.World.EventManager.OnScriptAtRotTargetEvent += at_rot_target; myScriptEngine.World.EventManager.OnScriptNotAtRotTargetEvent += not_at_rot_target; + myScriptEngine.World.EventManager.OnScriptMovingStartEvent += moving_start; + myScriptEngine.World.EventManager.OnScriptMovingEndEvent += moving_end; myScriptEngine.World.EventManager.OnScriptControlEvent += control; myScriptEngine.World.EventManager.OnScriptColliderStart += collision_start; myScriptEngine.World.EventManager.OnScriptColliding += collision; @@ -419,14 +421,14 @@ namespace OpenSim.Region.ScriptEngine.XEngine // dataserver: not handled here // link_message: not handled here - public void moving_start(uint localID, UUID itemID) + public void moving_start(uint localID) { myScriptEngine.PostObjectEvent(localID, new EventParams( "moving_start",new object[0], new DetectParams[0])); } - public void moving_end(uint localID, UUID itemID) + public void moving_end(uint localID) { myScriptEngine.PostObjectEvent(localID, new EventParams( "moving_end",new object[0], From b0cff35d96de4e9cbb252476f49640a4bf1f94e6 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Sat, 26 Jan 2013 04:27:01 +0000 Subject: [PATCH 434/851] Fix issue where the "set terrain texture" console command did not tell the viewers that textures had updated (hence they did not display the changes). Addresses http://opensimulator.org/mantis/view.php?id=6513 --- .../Region/CoreModules/World/Estate/EstateManagementCommands.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/CoreModules/World/Estate/EstateManagementCommands.cs b/OpenSim/Region/CoreModules/World/Estate/EstateManagementCommands.cs index 3b84d5728f..4d49794347 100644 --- a/OpenSim/Region/CoreModules/World/Estate/EstateManagementCommands.cs +++ b/OpenSim/Region/CoreModules/World/Estate/EstateManagementCommands.cs @@ -117,7 +117,7 @@ namespace OpenSim.Region.CoreModules.World.Estate m_module.Scene.RegionInfo.RegionSettings.Save(); m_module.TriggerRegionInfoChange(); - m_module.sendRegionInfoPacketToAll(); + m_module.sendRegionHandshakeToAll(); } } } From 776cc33541d5b0576f28c02953be728ab3154e22 Mon Sep 17 00:00:00 2001 From: Melanie Date: Sun, 27 Jan 2013 01:07:37 +0000 Subject: [PATCH 435/851] Prevent items being destroyed by rename operations. Renaming of a wearable also sends an asset transaciton but it is empty. So we can't ignore name data when a transaction is present and can't treat every transaction as valid. Conflicts: OpenSim/Region/Framework/Scenes/Scene.Inventory.cs --- .../Agent/AssetTransaction/AssetXferUploader.cs | 3 ++- OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 11 ++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs b/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs index 8add4bb073..11efe6df67 100644 --- a/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs +++ b/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs @@ -321,7 +321,8 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction // to avoid a race condition when the appearance module retrieves the item to set the asset id in // the AvatarAppearance structure. item.AssetID = m_asset.FullID; - m_Scene.InventoryService.UpdateItem(item); + if (item.AssetID != UUID.Zero) + m_Scene.InventoryService.UpdateItem(item); if (m_uploadState == UploadState.Complete) { diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index 92bf85aabd..6808017624 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs @@ -407,16 +407,16 @@ namespace OpenSim.Region.Framework.Scenes if (item.Owner != remoteClient.AgentId) return; - if (UUID.Zero == transactionID) - { - item.Name = itemUpd.Name; - item.Description = itemUpd.Description; + item.Name = itemUpd.Name; + item.Description = itemUpd.Description; // m_log.DebugFormat( // "[USER INVENTORY]: itemUpd {0} {1} {2} {3}, item {4} {5} {6} {7}", // itemUpd.NextPermissions, itemUpd.GroupPermissions, itemUpd.EveryOnePermissions, item.Flags, // item.NextPermissions, item.GroupPermissions, item.EveryOnePermissions, item.CurrentPermissions); + if (itemUpd.NextPermissions != 0) // Use this to determine validity. Can never be 0 if valid + { if (item.NextPermissions != (itemUpd.NextPermissions & item.BasePermissions)) item.Flags |= (uint)InventoryItemFlags.ObjectOverwriteNextOwner; item.NextPermissions = itemUpd.NextPermissions & item.BasePermissions; @@ -451,7 +451,8 @@ namespace OpenSim.Region.Framework.Scenes InventoryService.UpdateItem(item); } - else + + if (UUID.Zero != transactionID) { if (AgentTransactionsModule != null) { From c44a8e9f925c0195c4754c5e763af06dae657b53 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Fri, 25 Jan 2013 10:17:20 -0800 Subject: [PATCH 436/851] BulletSim: finish the post step event for physical object actions. Modify vehicle to use post step event for logging. --- .../Physics/BulletSPlugin/BSDynamics.cs | 14 +++- .../Physics/BulletSPlugin/BSPhysObject.cs | 66 ++++++++++++++++--- .../Region/Physics/BulletSPlugin/BSPrim.cs | 6 ++ 3 files changed, 73 insertions(+), 13 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs index 7ad7c89d04..a369c1f2f6 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs @@ -583,6 +583,8 @@ namespace OpenSim.Region.Physics.BulletSPlugin // Some of the properties of this prim may have changed. // Do any updating needed for a vehicle + Vector3 m_physicsLinearFactor = new Vector3(0.2f, 0.2f, 0.2f); // DEBUG DEBUG + Vector3 m_physicsAngularFactor = new Vector3(0.2f, 0.2f, 0.2f); // DEBUG DEBUG public void Refresh() { if (IsActive) @@ -599,6 +601,8 @@ namespace OpenSim.Region.Physics.BulletSPlugin // Maybe compute linear and angular factor and damping from params. float angularDamping = BSParam.VehicleAngularDamping; PhysicsScene.PE.SetAngularDamping(Prim.PhysBody, angularDamping); + PhysicsScene.PE.SetLinearFactor(Prim.PhysBody, m_physicsLinearFactor); // DEBUG DEBUG + PhysicsScene.PE.SetAngularFactorV(Prim.PhysBody, m_physicsAngularFactor); // DEBUG DEBUG // Vehicles report collision events so we know when it's on the ground PhysicsScene.PE.AddToCollisionFlags(Prim.PhysBody, CollisionFlags.BS_VEHICLE_COLLISIONS); @@ -898,9 +902,6 @@ namespace OpenSim.Region.Physics.BulletSPlugin { if (!IsActive) return; - if (PhysicsScene.VehiclePhysicalLoggingEnabled) - PhysicsScene.PE.DumpRigidBody(PhysicsScene.World, Prim.PhysBody); - ForgetKnownVehicleProperties(); MoveLinear(pTimestep); @@ -922,6 +923,13 @@ namespace OpenSim.Region.Physics.BulletSPlugin Prim.LocalID, VehiclePosition, m_knownForce, VehicleVelocity, VehicleRotationalVelocity); } + // Called after the simulation step + internal void PostStep(float pTimestep) + { + if (PhysicsScene.VehiclePhysicalLoggingEnabled) + PhysicsScene.PE.DumpRigidBody(PhysicsScene.World, Prim.PhysBody); + } + // Apply the effect of the linear motor and other linear motions (like hover and float). private void MoveLinear(float pTimestep) { diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs index 027c786ce7..285d4a2701 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs @@ -101,6 +101,7 @@ public abstract class BSPhysObject : PhysicsActor public virtual void Destroy() { UnRegisterAllPreStepActions(); + UnRegisterAllPostStepActions(); } public BSScene PhysicsScene { get; protected set; } @@ -393,17 +394,18 @@ public abstract class BSPhysObject : PhysicsActor // These actions are optional so, rather than scanning all the physical objects and asking them // if they have anything to do, a physical object registers for an event call before the step is performed. // This bookkeeping makes it easy to add, remove and clean up after all these registrations. - private Dictionary RegisteredActions = new Dictionary(); + private Dictionary RegisteredPrestepActions = new Dictionary(); + private Dictionary RegisteredPoststepActions = new Dictionary(); protected void RegisterPreStepAction(string op, uint id, BSScene.PreStepAction actn) { string identifier = op + "-" + id.ToString(); - lock (RegisteredActions) + lock (RegisteredPrestepActions) { // Clean out any existing action UnRegisterPreStepAction(op, id); - RegisteredActions[identifier] = actn; + RegisteredPrestepActions[identifier] = actn; } PhysicsScene.BeforeStep += actn; DetailLog("{0},BSPhysObject.RegisterPreStepAction,id={1}", LocalID, identifier); @@ -414,12 +416,12 @@ public abstract class BSPhysObject : PhysicsActor { string identifier = op + "-" + id.ToString(); bool removed = false; - lock (RegisteredActions) + lock (RegisteredPrestepActions) { - if (RegisteredActions.ContainsKey(identifier)) + if (RegisteredPrestepActions.ContainsKey(identifier)) { - PhysicsScene.BeforeStep -= RegisteredActions[identifier]; - RegisteredActions.Remove(identifier); + PhysicsScene.BeforeStep -= RegisteredPrestepActions[identifier]; + RegisteredPrestepActions.Remove(identifier); removed = true; } } @@ -428,17 +430,61 @@ public abstract class BSPhysObject : PhysicsActor protected void UnRegisterAllPreStepActions() { - lock (RegisteredActions) + lock (RegisteredPrestepActions) { - foreach (KeyValuePair kvp in RegisteredActions) + foreach (KeyValuePair kvp in RegisteredPrestepActions) { PhysicsScene.BeforeStep -= kvp.Value; } - RegisteredActions.Clear(); + RegisteredPrestepActions.Clear(); } DetailLog("{0},BSPhysObject.UnRegisterAllPreStepActions,", LocalID); } + + protected void RegisterPostStepAction(string op, uint id, BSScene.PostStepAction actn) + { + string identifier = op + "-" + id.ToString(); + lock (RegisteredPoststepActions) + { + // Clean out any existing action + UnRegisterPostStepAction(op, id); + + RegisteredPoststepActions[identifier] = actn; + } + PhysicsScene.AfterStep += actn; + DetailLog("{0},BSPhysObject.RegisterPostStepAction,id={1}", LocalID, identifier); + } + + // Unregister a pre step action. Safe to call if the action has not been registered. + protected void UnRegisterPostStepAction(string op, uint id) + { + string identifier = op + "-" + id.ToString(); + bool removed = false; + lock (RegisteredPoststepActions) + { + if (RegisteredPoststepActions.ContainsKey(identifier)) + { + PhysicsScene.AfterStep -= RegisteredPoststepActions[identifier]; + RegisteredPoststepActions.Remove(identifier); + removed = true; + } + } + DetailLog("{0},BSPhysObject.UnRegisterPostStepAction,id={1},removed={2}", LocalID, identifier, removed); + } + + protected void UnRegisterAllPostStepActions() + { + lock (RegisteredPoststepActions) + { + foreach (KeyValuePair kvp in RegisteredPoststepActions) + { + PhysicsScene.AfterStep -= kvp.Value; + } + RegisteredPoststepActions.Clear(); + } + DetailLog("{0},BSPhysObject.UnRegisterAllPostStepActions,", LocalID); + } #endregion // Per Simulation Step actions diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs index 8b00a33961..99903f5189 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs @@ -527,9 +527,15 @@ public sealed class BSPrim : BSPhysObject // If an active vehicle, register the vehicle code to be called before each step if (_vehicle.Type == Vehicle.TYPE_NONE) + { UnRegisterPreStepAction("BSPrim.Vehicle", LocalID); + PhysicsScene.AfterStep -= _vehicle.PostStep; + } else + { RegisterPreStepAction("BSPrim.Vehicle", LocalID, _vehicle.Step); + PhysicsScene.AfterStep += _vehicle.PostStep; + } }); } } From dd08e1fba6e154002a7fe8f46c8c01e6e61d39db Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Fri, 25 Jan 2013 12:00:19 -0800 Subject: [PATCH 437/851] BulletSim: parameterize several vehicle debugging values: physical linear and angular force factors now default to less than 1 (0.2) vehicle friction and restitution now default to low values --- .../Physics/BulletSPlugin/BSDynamics.cs | 12 +++-- .../Region/Physics/BulletSPlugin/BSParam.cs | 45 +++++++++++++++++++ .../Physics/BulletSPlugin/BulletSimTODO.txt | 9 +++- 3 files changed, 57 insertions(+), 9 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs index a369c1f2f6..5c531fcc2f 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs @@ -583,8 +583,6 @@ namespace OpenSim.Region.Physics.BulletSPlugin // Some of the properties of this prim may have changed. // Do any updating needed for a vehicle - Vector3 m_physicsLinearFactor = new Vector3(0.2f, 0.2f, 0.2f); // DEBUG DEBUG - Vector3 m_physicsAngularFactor = new Vector3(0.2f, 0.2f, 0.2f); // DEBUG DEBUG public void Refresh() { if (IsActive) @@ -593,16 +591,16 @@ namespace OpenSim.Region.Physics.BulletSPlugin m_vehicleMass = Prim.Linkset.LinksetMass; // Friction affects are handled by this vehicle code - float friction = 0f; - PhysicsScene.PE.SetFriction(Prim.PhysBody, friction); + PhysicsScene.PE.SetFriction(Prim.PhysBody, BSParam.VehicleFriction); + PhysicsScene.PE.SetRestitution(Prim.PhysBody, BSParam.VehicleRestitution); // Moderate angular movement introduced by Bullet. // TODO: possibly set AngularFactor and LinearFactor for the type of vehicle. // Maybe compute linear and angular factor and damping from params. float angularDamping = BSParam.VehicleAngularDamping; PhysicsScene.PE.SetAngularDamping(Prim.PhysBody, angularDamping); - PhysicsScene.PE.SetLinearFactor(Prim.PhysBody, m_physicsLinearFactor); // DEBUG DEBUG - PhysicsScene.PE.SetAngularFactorV(Prim.PhysBody, m_physicsAngularFactor); // DEBUG DEBUG + PhysicsScene.PE.SetLinearFactor(Prim.PhysBody, BSParam.VehicleLinearFactorV); + PhysicsScene.PE.SetAngularFactorV(Prim.PhysBody, BSParam.VehicleAngularFactorV); // Vehicles report collision events so we know when it's on the ground PhysicsScene.PE.AddToCollisionFlags(Prim.PhysBody, CollisionFlags.BS_VEHICLE_COLLISIONS); @@ -618,7 +616,7 @@ namespace OpenSim.Region.Physics.BulletSPlugin PhysicsScene.PE.SetGravity(Prim.PhysBody, Vector3.Zero); VDetailLog("{0},BSDynamics.Refresh,mass={1},frict={2},inert={3},aDamp={4},grav={5}", - Prim.LocalID, m_vehicleMass, friction, Prim.Inertia, angularDamping, m_VehicleGravity); + Prim.LocalID, m_vehicleMass, Prim.Inertia, angularDamping, m_VehicleGravity); } else { diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs index 06186b0101..8de8905656 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs @@ -82,9 +82,34 @@ public static class BSParam public static float AvatarStepApproachFactor { get; private set; } public static float AvatarStepForceFactor { get; private set; } + // Vehicle parameters public static float VehicleMaxLinearVelocity { get; private set; } public static float VehicleMaxAngularVelocity { get; private set; } public static float VehicleAngularDamping { get; private set; } + public static float VehicleFriction { get; private set; } + public static float VehicleRestitution { get; private set; } + public static float VehicleLinearFactor { get; private set; } + private static Vector3? vehicleLinearFactorV; + public static Vector3 VehicleLinearFactorV + { + get + { + if (!vehicleLinearFactorV.HasValue) + vehicleLinearFactorV = new Vector3(VehicleLinearFactor, VehicleLinearFactor, VehicleLinearFactor); + return (Vector3)vehicleLinearFactorV; + } + } + public static float VehicleAngularFactor { get; private set; } + private static Vector3? vehicleAngularFactorV; + public static Vector3 VehicleAngularFactorV + { + get + { + if (!vehicleAngularFactorV.HasValue) + vehicleAngularFactorV = new Vector3(VehicleAngularFactor, VehicleAngularFactor, VehicleAngularFactor); + return (Vector3)vehicleAngularFactorV; + } + } public static float VehicleDebuggingEnabled { get; private set; } public static float LinksetImplementation { get; private set; } @@ -454,6 +479,26 @@ public static class BSParam (s,cf,p,v) => { VehicleAngularDamping = cf.GetFloat(p, v); }, (s) => { return VehicleAngularDamping; }, (s,p,l,v) => { VehicleAngularDamping = v; } ), + new ParameterDefn("VehicleLinearFactor", "Fraction of physical linear changes applied to vehicle (0.0 - 1.0)", + 0.2f, + (s,cf,p,v) => { VehicleLinearFactor = cf.GetFloat(p, v); }, + (s) => { return VehicleLinearFactor; }, + (s,p,l,v) => { VehicleLinearFactor = v; } ), + new ParameterDefn("VehicleAngularFactor", "Fraction of physical angular changes applied to vehicle (0.0 - 1.0)", + 0.2f, + (s,cf,p,v) => { VehicleAngularFactor = cf.GetFloat(p, v); }, + (s) => { return VehicleAngularFactor; }, + (s,p,l,v) => { VehicleAngularFactor = v; } ), + new ParameterDefn("VehicleFriction", "Friction of vehicle on the ground (0.0 - 1.0)", + 0.0f, + (s,cf,p,v) => { VehicleFriction = cf.GetFloat(p, v); }, + (s) => { return VehicleFriction; }, + (s,p,l,v) => { VehicleFriction = v; } ), + new ParameterDefn("VehicleRestitution", "Bouncyness factor for vehicles (0.0 - 1.0)", + 0.0f, + (s,cf,p,v) => { VehicleRestitution = cf.GetFloat(p, v); }, + (s) => { return VehicleRestitution; }, + (s,p,l,v) => { VehicleRestitution = v; } ), new ParameterDefn("VehicleDebuggingEnable", "Turn on/off vehicle debugging", ConfigurationParameters.numericFalse, (s,cf,p,v) => { VehicleDebuggingEnabled = BSParam.NumericBool(cf.GetBoolean(p, BSParam.BoolNumeric(v))); }, diff --git a/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt index 801f6908ee..791779591b 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt +++ b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt @@ -2,7 +2,6 @@ CURRENT PRIORITIES ================================================= Deleting a linkset while standing on the root will leave the physical shape of the root behind. Not sure if it is because standing on it. Done with large prim linksets. -Child movement in linkset (don't rebuild linkset) Vehicle angular vertical attraction vehicle angular banking Center-of-gravity @@ -12,6 +11,7 @@ when should angular and linear motor targets be zeroed? when selected? Need a vehicle.clear()? Or an 'else' in prestep if not physical. Teravus llMoveToTarget script debug Mixing of hover, buoyancy/gravity, moveToTarget, into one force + Setting hover height to zero disables hover even if hover flags are on (from SL wiki) Nebadon vehicles turning funny in arena limitMotorUp calibration (more down?) llRotLookAt @@ -72,7 +72,11 @@ Incorporate inter-relationship of angular corrections. For instance, angularDefl GENERAL TODO LIST: ================================================= +Avatar standing on a moving object should start to move with the object. llMoveToTarget objects are not effected by gravity until target is removed. +Compute CCD parameters based on body size +Can solver iterations be changed per body/shape? Can be for constraints but what + about regular vehicles? Implement llSetPhysicalMaterial. extend it with Center-of-mass, rolling friction, density Implement llSetForceAndTorque. @@ -321,4 +325,5 @@ Mantis 6040 script http://opensimulator.org/mantis/view.php?id=6040 (DONE) Boats float low in the water (DONE) Boats floating at proper level (DONE) When is force introduced by SetForce removed? The prestep action could go forever. (DONE) - (Resolution: setForce registers a prestep action which keeps applying the force) \ No newline at end of file + (Resolution: setForce registers a prestep action which keeps applying the force) +Child movement in linkset (don't rebuild linkset) (DONE 20130122)) \ No newline at end of file From ddef8f16e58471d19baa63f14134b25309cf2570 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Fri, 25 Jan 2013 16:00:17 -0800 Subject: [PATCH 438/851] BulletSim: first attempt at reporting top colliders --- .../Region/Physics/BulletSPlugin/BSDynamics.cs | 10 ++++++---- .../Physics/BulletSPlugin/BSPhysObject.cs | 17 +++++++++++++++++ OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs | 6 ------ OpenSim/Region/Physics/BulletSPlugin/BSScene.cs | 17 ++++++++++++++++- .../Physics/BulletSPlugin/BulletSimTODO.txt | 4 ++++ 5 files changed, 43 insertions(+), 11 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs index 5c531fcc2f..06b46201eb 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs @@ -597,8 +597,7 @@ namespace OpenSim.Region.Physics.BulletSPlugin // Moderate angular movement introduced by Bullet. // TODO: possibly set AngularFactor and LinearFactor for the type of vehicle. // Maybe compute linear and angular factor and damping from params. - float angularDamping = BSParam.VehicleAngularDamping; - PhysicsScene.PE.SetAngularDamping(Prim.PhysBody, angularDamping); + PhysicsScene.PE.SetAngularDamping(Prim.PhysBody, BSParam.VehicleAngularDamping); PhysicsScene.PE.SetLinearFactor(Prim.PhysBody, BSParam.VehicleLinearFactorV); PhysicsScene.PE.SetAngularFactorV(Prim.PhysBody, BSParam.VehicleAngularFactorV); @@ -615,8 +614,11 @@ namespace OpenSim.Region.Physics.BulletSPlugin // The actual vehicle gravity is set to zero in Bullet so we can do all the application of same. PhysicsScene.PE.SetGravity(Prim.PhysBody, Vector3.Zero); - VDetailLog("{0},BSDynamics.Refresh,mass={1},frict={2},inert={3},aDamp={4},grav={5}", - Prim.LocalID, m_vehicleMass, Prim.Inertia, angularDamping, m_VehicleGravity); + VDetailLog("{0},BSDynamics.Refresh,mass={1},inert={2},grav={3},aDamp={4},frict={5},rest={6},lFact={7},aFact={8}", + Prim.LocalID, m_vehicleMass, Prim.Inertia, m_VehicleGravity, + BSParam.VehicleAngularDamping, BSParam.VehicleFriction, BSParam.VehicleRestitution, + BSParam.VehicleLinearFactor, BSParam.VehicleAngularFactor + ); } else { diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs index 285d4a2701..5e8143ca00 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs @@ -95,6 +95,8 @@ public abstract class BSPhysObject : PhysicsActor SubscribedEventsMs = 0; CollidingStep = 0; CollidingGroundStep = 0; + CollisionAccumulation = 0; + CollisionScore = 0; } // Tell the object to clean up. @@ -239,6 +241,9 @@ public abstract class BSPhysObject : PhysicsActor // The collision flags we think are set in Bullet protected CollisionFlags CurrentCollisionFlags { get; set; } + // Count of collisions for this object + protected long CollisionAccumulation { get; set; } + public override bool IsColliding { get { return (CollidingStep == PhysicsScene.SimulationStep); } set { @@ -300,6 +305,8 @@ public abstract class BSPhysObject : PhysicsActor return ret; } + CollisionAccumulation++; + // if someone has subscribed for collision events.... if (SubscribedEvents()) { CollisionCollection.AddCollider(collidingWith, new ContactPoint(contactPoint, contactNormal, pentrationDepth)); @@ -386,6 +393,16 @@ public abstract class BSPhysObject : PhysicsActor public override bool SubscribedEvents() { return (SubscribedEventsMs > 0); } + // Because 'CollisionScore' is calls many times while sorting it should not be recomputed + // each time called. So this is built to be light weight for each collision and to do + // all the processing when the user asks for the info. + public void ComputeCollisionScore() + { + // Scale the collision count by the time since the last collision + long timeAgo = PhysicsScene.SimulationStep - CollidingStep + 1; + CollisionScore = CollisionAccumulation / timeAgo; + } + public override float CollisionScore { get; set; } #endregion // Collisions diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs index 99903f5189..17fddd79c1 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs @@ -59,7 +59,6 @@ public sealed class BSPrim : BSPhysObject private OMV.Vector3 _force; private OMV.Vector3 _velocity; private OMV.Vector3 _torque; - private float _collisionScore; private OMV.Vector3 _acceleration; private OMV.Quaternion _orientation; private int _physicsActorType; @@ -644,11 +643,6 @@ public sealed class BSPrim : BSPhysObject // DetailLog("{0},BSPrim.SetTorque,call,torque={1}", LocalID, _torque); } } - public override float CollisionScore { - get { return _collisionScore; } - set { _collisionScore = value; - } - } public override OMV.Vector3 Acceleration { get { return _acceleration; } set { _acceleration = value; } diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs index cb304b6737..4442650040 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs @@ -26,6 +26,7 @@ */ using System; using System.Collections.Generic; +using System.Linq; using System.Reflection; using System.Runtime.InteropServices; using System.Text; @@ -697,7 +698,21 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters public override Dictionary GetTopColliders() { - return new Dictionary(); + Dictionary topColliders; + + lock (PhysObjects) + { + foreach (KeyValuePair kvp in PhysObjects) + { + kvp.Value.ComputeCollisionScore(); + } + + List orderedPrims = new List(PhysObjects.Values); + orderedPrims.OrderByDescending(p => p.CollisionScore).Take(25); + topColliders = orderedPrims.ToDictionary(p => p.LocalID, p => p.CollisionScore); + } + + return topColliders; } public override bool IsThreaded { get { return false; } } diff --git a/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt index 791779591b..a95e169742 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt +++ b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt @@ -1,5 +1,9 @@ CURRENT PRIORITIES ================================================= +One sided meshes? Should terrain be built into a closed shape? + When meshes get partially wedged into the terrain, they cannot push themselves out. + It is possible that Bullet processes collisions whether entering or leaving a mesh. + Ref: http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?t=4869 Deleting a linkset while standing on the root will leave the physical shape of the root behind. Not sure if it is because standing on it. Done with large prim linksets. Vehicle angular vertical attraction From 36f401d85011b0ffb548e79923381be894dbfabb Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Fri, 25 Jan 2013 16:52:16 -0800 Subject: [PATCH 439/851] BulletSim: parameterize the value for gravity reduction for ground vehicles on the ground. Set defaults for vehicle factors to one. Debug logging changes. --- .../Region/Physics/BulletSPlugin/BSDynamics.cs | 15 ++++++++------- .../Physics/BulletSPlugin/BSLinksetCompound.cs | 2 +- OpenSim/Region/Physics/BulletSPlugin/BSParam.cs | 12 +++++++++--- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs index 06b46201eb..90482fdbfb 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs @@ -976,8 +976,9 @@ namespace OpenSim.Region.Physics.BulletSPlugin public void ComputeLinearVelocity(float pTimestep) { // Step the motor from the current value. Get the correction needed this step. - Vector3 currentVel = VehicleVelocity * Quaternion.Inverse(VehicleOrientation); - Vector3 linearMotorCorrectionV = m_linearMotor.Step(pTimestep, currentVel); + Vector3 origVelW = VehicleVelocity; // DEBUG + Vector3 currentVelV = VehicleVelocity * Quaternion.Inverse(VehicleOrientation); + Vector3 linearMotorCorrectionV = m_linearMotor.Step(pTimestep, currentVelV); // Motor is vehicle coordinates. Rotate it to world coordinates Vector3 linearMotorVelocityW = linearMotorCorrectionV * VehicleOrientation; @@ -992,8 +993,8 @@ namespace OpenSim.Region.Physics.BulletSPlugin // Add this correction to the velocity to make it faster/slower. VehicleVelocity += linearMotorVelocityW; - VDetailLog("{0}, MoveLinear,velocity,vehVel={1},correction={2},force={3}", - Prim.LocalID, VehicleVelocity, linearMotorCorrectionV, linearMotorVelocityW); + VDetailLog("{0}, MoveLinear,velocity,origVelW={1},velV={2},correctV={3},correctW={4},newVelW={5}", + Prim.LocalID, origVelW, currentVelV, linearMotorCorrectionV, linearMotorVelocityW, VehicleVelocity); } public void ComputeLinearTerrainHeightCorrection(float pTimestep) @@ -1193,12 +1194,12 @@ namespace OpenSim.Region.Physics.BulletSPlugin // Hack to reduce downward force if the vehicle is probably sitting on the ground if (Prim.IsColliding && IsGroundVehicle) - appliedGravity *= 0.2f; + appliedGravity *= BSParam.VehicleGroundGravityFudge; VehicleAddForce(appliedGravity); - VDetailLog("{0}, MoveLinear,applyGravity,vehGrav={1},appliedForce-{2}", - Prim.LocalID, m_VehicleGravity, appliedGravity); + VDetailLog("{0}, MoveLinear,applyGravity,vehGrav={1},collid={2},appliedForce={3}", + Prim.LocalID, m_VehicleGravity, Prim.IsColliding, appliedGravity); } // ======================================================================= diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs b/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs index 2c8dd233d6..6c53c5053d 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs @@ -232,7 +232,7 @@ public sealed class BSLinksetCompound : BSLinkset newLsi.OffsetFromCenterOfMass, newLsi.OffsetRot, true /* shouldRecalculateLocalAabb */); - DetailLog("{0},BSLinksetCompound.UpdateProperties,changeChildPosRot,whichUpdated={1}newLsi={2}", + DetailLog("{0},BSLinksetCompound.UpdateProperties,changeChildPosRot,whichUpdated={1},newLsi={2}", updated.LocalID, whichUpdated, newLsi); updated.LinksetInfo = newLsi; updatedChild = true; diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs index 8de8905656..75eed86aed 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs @@ -110,6 +110,7 @@ public static class BSParam return (Vector3)vehicleAngularFactorV; } } + public static float VehicleGroundGravityFudge { get; private set; } public static float VehicleDebuggingEnabled { get; private set; } public static float LinksetImplementation { get; private set; } @@ -480,12 +481,12 @@ public static class BSParam (s) => { return VehicleAngularDamping; }, (s,p,l,v) => { VehicleAngularDamping = v; } ), new ParameterDefn("VehicleLinearFactor", "Fraction of physical linear changes applied to vehicle (0.0 - 1.0)", - 0.2f, + 1.0f, (s,cf,p,v) => { VehicleLinearFactor = cf.GetFloat(p, v); }, (s) => { return VehicleLinearFactor; }, (s,p,l,v) => { VehicleLinearFactor = v; } ), new ParameterDefn("VehicleAngularFactor", "Fraction of physical angular changes applied to vehicle (0.0 - 1.0)", - 0.2f, + 1.0f, (s,cf,p,v) => { VehicleAngularFactor = cf.GetFloat(p, v); }, (s) => { return VehicleAngularFactor; }, (s,p,l,v) => { VehicleAngularFactor = v; } ), @@ -495,10 +496,15 @@ public static class BSParam (s) => { return VehicleFriction; }, (s,p,l,v) => { VehicleFriction = v; } ), new ParameterDefn("VehicleRestitution", "Bouncyness factor for vehicles (0.0 - 1.0)", - 0.0f, + 0.2f, (s,cf,p,v) => { VehicleRestitution = cf.GetFloat(p, v); }, (s) => { return VehicleRestitution; }, (s,p,l,v) => { VehicleRestitution = v; } ), + new ParameterDefn("VehicleGroundGravityFudge", "Factor to multiple gravity if a ground vehicle is probably on the ground (0.0 - 1.0)", + 1.0f, + (s,cf,p,v) => { VehicleGroundGravityFudge = cf.GetFloat(p, v); }, + (s) => { return VehicleGroundGravityFudge; }, + (s,p,l,v) => { VehicleGroundGravityFudge = v; } ), new ParameterDefn("VehicleDebuggingEnable", "Turn on/off vehicle debugging", ConfigurationParameters.numericFalse, (s,cf,p,v) => { VehicleDebuggingEnabled = BSParam.NumericBool(cf.GetBoolean(p, BSParam.BoolNumeric(v))); }, From 80f0a978db50f8fa3a36e012f92d7ff3755be332 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sun, 27 Jan 2013 09:00:47 -0800 Subject: [PATCH 440/851] BulletSim: fix compile error from last commit --- OpenSim/Region/Physics/BulletSPlugin/BSScene.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs index 4442650040..86eb773440 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs @@ -88,7 +88,7 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters public delegate void PreStepAction(float timeStep); public delegate void PostStepAction(float timeStep); public event PreStepAction BeforeStep; - public event PreStepAction AfterStep; + public event PostStepAction AfterStep; // A value of the time now so all the collision and update routines do not have to get their own // Set to 'now' just before all the prims and actors are called for collisions and updates @@ -763,7 +763,7 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters private void TriggerPostStepEvent(float timeStep) { - PreStepAction actions = AfterStep; + PostStepAction actions = AfterStep; if (actions != null) actions(timeStep); From 05adf4b30f2a7cdb63c63a178bd44b0fecbe9c45 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sun, 27 Jan 2013 09:01:24 -0800 Subject: [PATCH 441/851] BulletSim: disable center-of-mass computation because it does not work yet --- OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs b/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs index 6c53c5053d..54dc458e09 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs @@ -377,7 +377,7 @@ public sealed class BSLinksetCompound : BSLinkset // Constraint linksets are rebuilt every time. // Note that this works for rebuilding just the root after a linkset is taken apart. // Called at taint time!! - private bool disableCOM = false; // disable until we get this debugged + private bool disableCOM = true; // disable until we get this debugged private void RecomputeLinksetCompound() { try From a345a2feb794d05dcb628aa916569b19394c2337 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sun, 27 Jan 2013 10:31:08 -0800 Subject: [PATCH 442/851] BulletSim: add framework for BulletSim unit tests. No tests yet. --- .../BulletSPlugin/Tests/BasicVehicles.cs | 56 +++++++++++++ .../BulletSPlugin/Tests/BulletSimTests.cs | 56 +++++++++++++ .../BulletSPlugin/Tests/BulletSimTestsUtil.cs | 81 +++++++++++++++++++ prebuild.xml | 31 +++++++ 4 files changed, 224 insertions(+) create mode 100755 OpenSim/Region/Physics/BulletSPlugin/Tests/BasicVehicles.cs create mode 100755 OpenSim/Region/Physics/BulletSPlugin/Tests/BulletSimTests.cs create mode 100755 OpenSim/Region/Physics/BulletSPlugin/Tests/BulletSimTestsUtil.cs diff --git a/OpenSim/Region/Physics/BulletSPlugin/Tests/BasicVehicles.cs b/OpenSim/Region/Physics/BulletSPlugin/Tests/BasicVehicles.cs new file mode 100755 index 0000000000..41ef67bd03 --- /dev/null +++ b/OpenSim/Region/Physics/BulletSPlugin/Tests/BasicVehicles.cs @@ -0,0 +1,56 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +using NUnit.Framework; +using log4net; + +using OpenSim.Tests.Common; + +namespace OpenSim.Region.Physics.BulletSPlugin.Tests +{ +[TestFixture] +public class BasicVehicles : OpenSimTestCase +{ + // Documentation on attributes: http://www.nunit.org/index.php?p=attributes&r=2.6.1 + // Documentation on assertions: http://www.nunit.org/index.php?p=assertions&r=2.6.1 + + [TestFixtureSetUp] + public void Init() + { + } + + [TestFixtureTearDown] + public void TearDown() + { + } +} +} \ No newline at end of file diff --git a/OpenSim/Region/Physics/BulletSPlugin/Tests/BulletSimTests.cs b/OpenSim/Region/Physics/BulletSPlugin/Tests/BulletSimTests.cs new file mode 100755 index 0000000000..35cbc1d3d1 --- /dev/null +++ b/OpenSim/Region/Physics/BulletSPlugin/Tests/BulletSimTests.cs @@ -0,0 +1,56 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +using NUnit.Framework; +using log4net; + +using OpenSim.Tests.Common; + +namespace OpenSim.Region.Physics.BulletSPlugin.Tests +{ +[TestFixture] +public class BulletSimTests : OpenSimTestCase +{ + // Documentation on attributes: http://www.nunit.org/index.php?p=attributes&r=2.6.1 + // Documentation on assertions: http://www.nunit.org/index.php?p=assertions&r=2.6.1 + + [TestFixtureSetUp] + public void Init() + { + } + + [TestFixtureTearDown] + public void TearDown() + { + } +} +} diff --git a/OpenSim/Region/Physics/BulletSPlugin/Tests/BulletSimTestsUtil.cs b/OpenSim/Region/Physics/BulletSPlugin/Tests/BulletSimTestsUtil.cs new file mode 100755 index 0000000000..6c2247a45e --- /dev/null +++ b/OpenSim/Region/Physics/BulletSPlugin/Tests/BulletSimTestsUtil.cs @@ -0,0 +1,81 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +using Nini.Config; + +using OpenSim.Framework; +using OpenSim.Region.Physics.BulletSPlugin; +using OpenSim.Region.Physics.Meshing; + +namespace OpenSim.Region.Physics.BulletSPlugin.Tests +{ +// Utility functions for building up and tearing down the sample physics environments +public static class BulletSimTestsUtil +{ + // 'engineName' is the Bullet engine to use. Either null (for unmanaged), "BulletUnmanaged" or "BulletXNA" + // 'params' is a set of keyValue pairs to set in the engine's configuration file (override defaults) + // May be 'null' if there are no overrides. + public static BSScene CreateBasicPhysicsEngine(string engineName, Dictionary paramOverrides) + { + if (engineName == null) + engineName = "BulletUnmanaged"; + + IConfigSource openSimINI = new IniConfigSource(); + IConfig startupConfig = openSimINI.AddConfig("StartUp"); + startupConfig.Set("meshing", "Meshmerizer"); + startupConfig.Set("physics", "BulletSim"); + + IConfig bulletSimConfig = openSimINI.AddConfig("BulletSim"); + bulletSimConfig.Set("BulletEngine", engineName); + if (paramOverrides != null) + { + foreach (KeyValuePair kvp in paramOverrides) + { + bulletSimConfig.Set(kvp.Key, kvp.Value); + } + } + // bulletSimConfig.Set("PhysicsLoggingEnabled","True"); + // bulletSimConfig.Set("PhysicsLoggingDoFlush","True"); + // bulletSimConfig.Set("VehicleLoggingEnabled","True"); + + BSPlugin bsPlugin = new BSPlugin(); + + BSScene bsScene = (BSScene)bsPlugin.GetScene("BSTestRegion"); + + Meshing.Meshmerizer mesher = new Meshmerizer(openSimINI); + bsScene.Initialise(mesher, openSimINI); + + return bsScene; + } + +} +} diff --git a/prebuild.xml b/prebuild.xml index 8a753800df..86671688fd 100644 --- a/prebuild.xml +++ b/prebuild.xml @@ -3359,6 +3359,37 @@ + + + + ../../../../../bin/ + + + + + ../../../../../bin/ + + + + ../../../bin/ + + + + + + + + + + + + + + + + + + From 26d4596080295d7509ef16bce9eb571d326c3ba6 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sun, 27 Jan 2013 12:48:16 -0800 Subject: [PATCH 443/851] BulletSim: reinstate the supression of rotational velocity for vehicles --- OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs index 17fddd79c1..998836c646 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs @@ -1620,7 +1620,7 @@ public sealed class BSPrim : BSPhysObject // TODO: handle physics introduced by Bullet with computed vehicle physics. if (_vehicle.IsActive) { - // entprop.RotationalVelocity = OMV.Vector3.Zero; + entprop.RotationalVelocity = OMV.Vector3.Zero; } // DetailLog("{0},BSPrim.UpdateProperties,entry,entprop={1}", LocalID, entprop); // DEBUG DEBUG From b546af9ac290951f22e8c8e56798adb176076591 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sun, 27 Jan 2013 12:48:36 -0800 Subject: [PATCH 444/851] BulletSim: simplify the initialization of some of the parameters. Disable vertical attraction for vehicles by default (for the moment). Fix bug where vehicle would go crazy when velocity got above a certain speed. --- .../Physics/BulletSPlugin/BSDynamics.cs | 19 ++++++---- .../Region/Physics/BulletSPlugin/BSParam.cs | 36 ++++++------------- 2 files changed, 23 insertions(+), 32 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs index 90482fdbfb..94194b0678 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs @@ -141,7 +141,7 @@ namespace OpenSim.Region.Physics.BulletSPlugin // in changes by making enablement of debugging flags from INI file. public void SetupVehicleDebugging() { - enableAngularVerticalAttraction = true; + enableAngularVerticalAttraction = false; enableAngularDeflection = false; enableAngularBanking = false; if (BSParam.VehicleDebuggingEnabled != ConfigurationParameters.numericFalse) @@ -803,7 +803,7 @@ namespace OpenSim.Region.Physics.BulletSPlugin m_knownVelocity = Prim.ForceVelocity; m_knownHas |= m_knownChangedVelocity; } - return (Vector3)m_knownVelocity; + return m_knownVelocity; } set { @@ -926,6 +926,8 @@ namespace OpenSim.Region.Physics.BulletSPlugin // Called after the simulation step internal void PostStep(float pTimestep) { + if (!IsActive) return; + if (PhysicsScene.VehiclePhysicalLoggingEnabled) PhysicsScene.PE.DumpRigidBody(PhysicsScene.World, Prim.PhysBody); } @@ -961,10 +963,13 @@ namespace OpenSim.Region.Physics.BulletSPlugin // ================================================================== // Clamp high or low velocities float newVelocityLengthSq = VehicleVelocity.LengthSquared(); - if (newVelocityLengthSq > BSParam.VehicleMaxLinearVelocity) + if (newVelocityLengthSq > BSParam.VehicleMaxLinearVelocitySq) { + Vector3 origVelW = VehicleVelocity; // DEBUG DEBUG VehicleVelocity /= VehicleVelocity.Length(); VehicleVelocity *= BSParam.VehicleMaxLinearVelocity; + VDetailLog("{0}, MoveLinear,clampMax,origVelW={1},lenSq={2},maxVelSq={3},,newVelW={4}", + Prim.LocalID, origVelW, newVelocityLengthSq, BSParam.VehicleMaxLinearVelocitySq, VehicleVelocity); } else if (newVelocityLengthSq < 0.001f) VehicleVelocity = Vector3.Zero; @@ -1301,6 +1306,7 @@ namespace OpenSim.Region.Physics.BulletSPlugin if (enableAngularVerticalAttraction && m_verticalAttractionTimescale < m_verticalAttractionCutoff) { Vector3 vertContributionV = Vector3.Zero; + Vector3 origRotVelW = VehicleRotationalVelocity; // DEBUG DEBUG // Take a vector pointing up and convert it from world to vehicle relative coords. Vector3 verticalError = Vector3.UnitZ * VehicleOrientation; @@ -1328,13 +1334,14 @@ namespace OpenSim.Region.Physics.BulletSPlugin // 'vertContrbution' is now the necessary angular correction to correct tilt in one second. // Correction happens over a number of seconds. - Vector3 unscaledContrib = vertContributionV; // DEBUG DEBUG + Vector3 unscaledContribVerticalErrorV = vertContributionV; // DEBUG DEBUG vertContributionV /= m_verticalAttractionTimescale; VehicleRotationalVelocity += vertContributionV * VehicleOrientation; - VDetailLog("{0}, MoveAngular,verticalAttraction,,verticalError={1},unscaled={2},eff={3},ts={4},vertAttr={5}", - Prim.LocalID, verticalError, unscaledContrib, m_verticalAttractionEfficiency, m_verticalAttractionTimescale, vertContributionV); + VDetailLog("{0}, MoveAngular,verticalAttraction,,origRotVW={1},vertError={2},unscaledV={3},eff={4},ts={5},vertContribV={6}", + Prim.LocalID, origRotVelW, verticalError, unscaledContribVerticalErrorV, + m_verticalAttractionEfficiency, m_verticalAttractionTimescale, vertContributionV); } } diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs index 75eed86aed..4ece944b76 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs @@ -84,32 +84,16 @@ public static class BSParam // Vehicle parameters public static float VehicleMaxLinearVelocity { get; private set; } + public static float VehicleMaxLinearVelocitySq { get; private set; } public static float VehicleMaxAngularVelocity { get; private set; } + public static float VehicleMaxAngularVelocitySq { get; private set; } public static float VehicleAngularDamping { get; private set; } public static float VehicleFriction { get; private set; } public static float VehicleRestitution { get; private set; } public static float VehicleLinearFactor { get; private set; } - private static Vector3? vehicleLinearFactorV; - public static Vector3 VehicleLinearFactorV - { - get - { - if (!vehicleLinearFactorV.HasValue) - vehicleLinearFactorV = new Vector3(VehicleLinearFactor, VehicleLinearFactor, VehicleLinearFactor); - return (Vector3)vehicleLinearFactorV; - } - } + public static Vector3 VehicleLinearFactorV { get; private set; } public static float VehicleAngularFactor { get; private set; } - private static Vector3? vehicleAngularFactorV; - public static Vector3 VehicleAngularFactorV - { - get - { - if (!vehicleAngularFactorV.HasValue) - vehicleAngularFactorV = new Vector3(VehicleAngularFactor, VehicleAngularFactor, VehicleAngularFactor); - return (Vector3)vehicleAngularFactorV; - } - } + public static Vector3 VehicleAngularFactorV { get; private set; } public static float VehicleGroundGravityFudge { get; private set; } public static float VehicleDebuggingEnabled { get; private set; } @@ -469,12 +453,12 @@ public static class BSParam 1000.0f, (s,cf,p,v) => { VehicleMaxLinearVelocity = cf.GetFloat(p, v); }, (s) => { return (float)VehicleMaxLinearVelocity; }, - (s,p,l,v) => { VehicleMaxLinearVelocity = v; } ), + (s,p,l,v) => { VehicleMaxLinearVelocity = v; VehicleMaxLinearVelocitySq = v * v; } ), new ParameterDefn("VehicleMaxAngularVelocity", "Maximum rotational velocity magnitude that can be assigned to a vehicle", 12.0f, (s,cf,p,v) => { VehicleMaxAngularVelocity = cf.GetFloat(p, v); }, (s) => { return (float)VehicleMaxAngularVelocity; }, - (s,p,l,v) => { VehicleMaxAngularVelocity = v; } ), + (s,p,l,v) => { VehicleMaxAngularVelocity = v; VehicleMaxAngularVelocitySq = v * v; } ), new ParameterDefn("VehicleAngularDamping", "Factor to damp vehicle angular movement per second (0.0 - 1.0)", 0.0f, (s,cf,p,v) => { VehicleAngularDamping = cf.GetFloat(p, v); }, @@ -484,24 +468,24 @@ public static class BSParam 1.0f, (s,cf,p,v) => { VehicleLinearFactor = cf.GetFloat(p, v); }, (s) => { return VehicleLinearFactor; }, - (s,p,l,v) => { VehicleLinearFactor = v; } ), + (s,p,l,v) => { VehicleLinearFactor = v; VehicleLinearFactorV = new Vector3(v, v, v); } ), new ParameterDefn("VehicleAngularFactor", "Fraction of physical angular changes applied to vehicle (0.0 - 1.0)", 1.0f, (s,cf,p,v) => { VehicleAngularFactor = cf.GetFloat(p, v); }, (s) => { return VehicleAngularFactor; }, - (s,p,l,v) => { VehicleAngularFactor = v; } ), + (s,p,l,v) => { VehicleAngularFactor = v; VehicleAngularFactorV = new Vector3(v, v, v); } ), new ParameterDefn("VehicleFriction", "Friction of vehicle on the ground (0.0 - 1.0)", 0.0f, (s,cf,p,v) => { VehicleFriction = cf.GetFloat(p, v); }, (s) => { return VehicleFriction; }, (s,p,l,v) => { VehicleFriction = v; } ), new ParameterDefn("VehicleRestitution", "Bouncyness factor for vehicles (0.0 - 1.0)", - 0.2f, + 0.0f, (s,cf,p,v) => { VehicleRestitution = cf.GetFloat(p, v); }, (s) => { return VehicleRestitution; }, (s,p,l,v) => { VehicleRestitution = v; } ), new ParameterDefn("VehicleGroundGravityFudge", "Factor to multiple gravity if a ground vehicle is probably on the ground (0.0 - 1.0)", - 1.0f, + 0.2f, (s,cf,p,v) => { VehicleGroundGravityFudge = cf.GetFloat(p, v); }, (s) => { return VehicleGroundGravityFudge; }, (s,p,l,v) => { VehicleGroundGravityFudge = v; } ), From 2c5f0677e515191a45d664fcf736950df220a3cb Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sun, 27 Jan 2013 13:09:18 -0800 Subject: [PATCH 445/851] BulletSim: fix reference path for BulletSim tests in prebuild.xml --- prebuild.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prebuild.xml b/prebuild.xml index 86671688fd..ddb7243fd3 100644 --- a/prebuild.xml +++ b/prebuild.xml @@ -3371,7 +3371,7 @@ - ../../../bin/ + ../../../../../bin/ From aea90c198faba3af6cbf0c5be8d56738b86bc91d Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sun, 27 Jan 2013 13:37:58 -0800 Subject: [PATCH 446/851] BulletSim: reorder dependencies for tests and specify path for meshing dll since it is placed in the Physics directory --- prebuild.xml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/prebuild.xml b/prebuild.xml index ddb7243fd3..24299ffcbc 100644 --- a/prebuild.xml +++ b/prebuild.xml @@ -3379,10 +3379,11 @@ - - - + + + + From 2cd56014a7dfb93d450720278897fbd4b05a1e3e Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Mon, 28 Jan 2013 06:21:51 -0800 Subject: [PATCH 447/851] BulletSim: update Bullet with profiling disabled. This seems to fix the memory leak problem. --- bin/lib32/BulletSim.dll | Bin 551424 -> 545792 bytes bin/lib32/libBulletSim.so | Bin 1720231 -> 1689992 bytes bin/lib64/BulletSim.dll | Bin 700416 -> 693248 bytes bin/lib64/libBulletSim.so | Bin 1858716 -> 1834903 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index b46837f600d568de75ebe2176d71894ccba8fd6d..d8be6c710ba7a1ce7c792dd7cdd892c67132dc33 100755 GIT binary patch delta 73153 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 Yv$-BvGdI3%$YN1&YU@O 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 z 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

V&z|%TIPOW@7w)o0h_Tw`o;^|rfUaiX> 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

6;9wZZZIi&fu1FQc_$S; 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 delta 575227 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%0Dm+~Gn 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�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 YtB(lG$QWXVowd{3H9T>H|B}A{7vTq)U;qFB diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index 0a1faf3e8b8ec227d3aec6ef1a972f609f4f635a..5403913e16d3e6701b9595335ffe456825ffb2df 100755 GIT binary patch delta 126789 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 delta 133725 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

N_SGyIo9L57}hF0RnMthiF&!QFCinslf+QG|P z0Y1JuY>!e-wo*!Xns!3*Ow9e*|9jmG-n|1iQR>Qdx#f7YJp}|HFMtl5 zP&|BI4g?tiE6cHnf$59(NMn8$^3K%kIZ8WgEsgR{C`F3|o4@qTx4O!40U}H1sq9Im zYFW!s^nqm=Opx<8PM+L!GV*H=Q-)dG5^HBH?DaYwrST_~cHlPLJgEfu8r^=oKWd8J zL5*HoO2M=_tU|#cF1oo2@56fN>VQ*9aO>Pz+%hIN1|5la)Sh9j(6^mI>7fsY>sgHT zu4nT7VA%+Z=veW?%%8)9*Ye>q&3KGoexU*uEnZ>s!eU`#FwFdB7G<1LPL!QD{8OGe z=?yw4>Ahr{4A~Hy@F1V^{c(~=-i-jK4f=J5&OVSY{=@0zX=My-4fQ{xgp|o`38E5c z`HfO-(DdK9M@8xM8KrT|`EFKPEtyM$MeC-lEA&OvQRRXI`S4?_IvEzc+o&>Tp1#`1 z#V|Sb4a|QjW>|D;=&~5>1!iQiJ5^sl-_)S7?;DXT|%r4epqfw>G0kXO5@Ifn0`2d($6V96X!bV z4D|lfz!0z`M4_R)y=W|^z&36T0QEa->5zaiWkcnr5!r2v=`Wsj^uVx31P_{DgL5Tub8EDcT5&{{NMtBcL`_F zR&u0u7nNG{>n+I?7+@GXuh{d4$?+VhhRLyvmp{H8p9=N(RERWx>S-#)hm;CmQrsO@ z4$H&U9!G$4k$8+>nnErq<>lNO-LT;HxrBbq?LbQ}DXDCd8&$ll1UeUzRhvlhRNnna za|2(F>vM)_LoX{6Z2eC_t_q6+$bk$?A;@LHb0Wf2DbqAL$khh4RprdzgyAN>AKDM= zPhPh{Q66lnZNII|QVN=*vCSh!e$a}dA1b~su66>)tD(BNIZVcIvm6mkDG!yuSaDk# z_J{I{^=M4J|5RGD!i}|zKb2E*;aAuhftLL6DPOItEqJ2b7fQSiWt=oPg7Lx$GiDYV zn~oueo;RBNw~|&b$s;chq@-STUCb6?&W(Tsg2zWeZv^+d!jEX2@+_(W&ftFGBlUiU zlUMtnsPuECcLCuiUIhpHFY(&^=Sq~sX4Isd*UEn8^^BIjQA(BA_fWBU{-HDh@c2=9#|0LFfd>8jfe&*YaX*tKBlc4qmNk{eGl{uFh4Psnt%Wu{-g|KUq4a6XJw|)pE5q9hIz3Le1iz$+e1B_?$4baB-qRy zc-ITEH2Rrya9!)UvS!_Hht5*$?>a{8>^cG+T7&0(b&SaLuSyf~VyIx%u>y~-V}(nE ziWh6=gW=)e`Q6lh%)Yj9ew`a)Ehj$Yhx4m$W9#o)Mv{bD)+E8Ten@hSslF^CkOWaZ zz)A(vVNo5=mIqN?NhPKPY1bt+5R_pJGAW2?R)c0jcNg0oNWQ9?%E|?jrmC=4Q=J~G zYU$#atD|pI#>8edh~szrvG@Y4#}<0TZOuEw_z1p0N25x3a{{fTZ}sD z=~SL>7es%YctlDewI<7}MRg0Qotb|Ctt_OrW{)b<`$B3Pp(!=9SAP+@(M@}`3!7bu z#}=XHh1Cewuo5jOj3h9WR#=_En)y?rNo~s%f4Xi`yB5CGnj>d3Am=qpR%?oMP}?!T zinP{2g*xL3^vOXTJ3!xAgFr<`oBy%|l}81;9YVj_M0Z=q6~{$Xdm9$=*);tm{H7Um z@Ed%{hGT8&6!<}cxnRQxOKsy2nR#Ed*jB*zc=s+wnV&^>o5C}QNzNGW7i~TpY5qOx z-3`idRBN!z^5p8IdKdNsarB)&qPkA%Ji(5xIH@UYpdX}A)I|0S>b#xRG}gwKMix=$ z`A&GiOPIkoD2w!hH*W^tcp=i+3v(;l+;AkG1?0uLQWY1qsGRGCNNVPy`ZUfdkxx+Y zt=XWZ#(INn2K>iXm#CcB&DW(RpR;6f2F}0dFFz*9xC=oF5{zm3-73JJ(2gLJvJeyO{pmcut;RL(}oQLKGq}3@RD<)yG`Ytqz`k9 z`An4g3LoZx;uz+@GSsWMI)PPtul-eAZ6FABs8UI_q%edUmsHD_I}Cyhdr}VQmK@7Z zH9xYvTVacw&~qD{UW86RAZ}JnjsFmzdm@_{X1vrJJV+G3{FW*JQj&# zcvy!Y#nrUJZt4SpP4}Qz?rIa(%!BHBpfU&DDbquZW{K`(Dy9Cy9=g%uQkWNMZuGvC zI#TFIgFV&C4oe>8eLoLA%oJ$Wc)`owC4&bD2zDYGt?WhowwU>~JrL29`e+>589t&!$=-V1bhx;Jk-H%b|)lU>o+ z+=6hH2#7JCi-2qus4!oY=ZQTS+u39zwb@nwAT3z+vBLt*H&pX`suZji^Rg`Y#Is-G zy#m?d8Vb8#tS+6X4>-iew9dimV1b?9OqXk^jYX4S9C1Zkcxr~IqXNca&B{LwbC>IG z8TkY32VHGqZZjL>^AeFiq`-+~;#1x%h|%nMtrf1Vg6+57ooa?+md#p2147lttomnd zU#PkrB35=x8&Fs6FEPirbfe61VrY^W=M4BIZh)MTsbaKhIi2*c-DB&JeXpepOE`@ba zo3f>MX?6$oA942`8!)cRL1my?iuJ!k7dxsgne81a+evM}s!gN5olwa&w`ox)Y(yPy z)BR59dEvH=!S%kyKh{lzdJ4BFv$G1No42T37qvdCHii0j;osh*MO`ohZEsT9t~}3V z>f4pWZ_uKy>J(P!29@rnz7fk_w*iy9I4$g>dQfb4HI_}kMyt9bX5CdAPMj3eVB7&J z27P}giKmrtr&)7XlRypYM5G#*_S+wB`vk}1+FmIq&*v< zP7!>j9n@hHIBcxppT)JF4f^IkXX&mj9HrhA?NavU;ql)&%S3uHPOVPq1?9v;#dMPKYUP7PtaP6oS=FOiN-nc<{rT& zrkf?&{K~R?FXjgdy_0f?6Y1vj5y^j#FB)Z*&PC>BW>0v5VsV(wiwrqE_AkCSWgp8y zFg$pGgDJHzK0xxJMWec%4a0+y01!d8mJa(kJ@WpE7;Vmr?$)pnwno#8!^j8QqZ*ak z%rmCKd3rHXJsy^fvLjQ*yJj`?6r$mVrwo9>u>pmUr)lQj$lR2Ib=D?$Jj(i@XK!FWYI&FKQ^;-<}@+0>Zk&c5*hW-Ua+^Ia9zPaNI!(GpjX)<21^w zu4iYqQ0eKw_uK6#Zn_%GDjcA>(}A{Q_G_o7tFeMmjNE3Zv1NcfVUYTF7{%>VJ4EF~ zr$qINGKcwstl?(7b8u{==Ca~kWJPtf4v>@h$C))wkJ&XtEhC-eY3|IxBtA*XO!Zk} zyagFHe~KF)5Nv$p_;M`vBkzya>2R2SE^1 zycx$Pj^goi!>yj*ctubo5D9xPpXFi&yr^qX^r4zWT0wC zxz%%|;lvAy;Ex3KvbmjmbDRN;pTUa*U>VN|?S7AnO_^Z$Kfv-HqGsgRF#`e1>*lC! z7`h-HUBtQgQ}S!bg-ed|w&-jQULvp76y7i+qcpuxWT@9vSI>kD;%-p*Y}Gq4La*da zd=h3sPFM2p9~_$J=$(p+g+1lKWL$(wPYEO7ptI3=RqlT`o<7Bz_rgd_czkT`Wqdp_S`Wuv#CIvNh963=h0N_BQGcvLI|4 z%mzQ=5N;B8)C!(}qq<|46%9k&m}xo~e4r$Ede;LHY>ttl%?G?k!W(Ix;)>%>~**gy5D08bjSe)>F=p3}+ES-z}{HG1{$6W09E*mI# zp4yeITu)2q;ba-Np5D$=o3VH6sL_1H?^s7m=Bv$Fvvu@*K9&~Sb<{9Tohe(2;vhl4 zr>SiyfYib4$r5cfVJj7a>DWTGei7vwuQ7O*=H@t^o{#Ky-SV1BEK>Wh$gMPG5zeQt zX436NYENMwHCU|n7Gi13VzqzK9W$`%=N*X&xjc4Xbhl3Z&}X5`HdDY7>@*EYTcWPQ zliHt_;)CLJY$-43^8YGmnL459rPTk<%Hvlft94X!IkJKj>2kFp4O%aiOzdpz9JLk+ z=&Jh>W_|Oxy@>bnWbX?YDBkPW;YOlYITI<`>=Dh`ja+uL9@1p+I8F#-8_=JV0mfyM zBh1Hn5?=&4u11-!VjKYA)Uhuvczl6I=5a-fgooSf$=_uyCKNdNo_Jf&5iNC%wsAFxEa9LQ zuudH=ut#-i!+O<&^_)j1)~gNK_`2k<0pYK6DPRM_MeEYY4WOLn&ZWg0)D~=c9eTb& z^=8HAYAzc&vGsg5)%{g%Zn~ZE!x?GjY+C-STAaOEO8b6Q-PpQmbp2P1uI*B)v`MYS z&Mcumo784?A1~q6bZjnRGVpn2{}BKzGnVk$`a;0txtv*?d>=kt&g=p_T+Xb$d~ON7 z-=xMgZwm;nK=r%1up-mK+=dKAwEjk^JEAPx!M!v2TJY4MIf8n2{!QTH+4*N67i+M)+P2I1J3s=tM_e>Ih!Zc{zH zUoGN~@i|X2RnD4wHHeoGF?=k<74h6ZUIS&dewH>< zQ(-Z!`$THISAEBxOw=0eQ*Q`$E#o;V1c}0P^){m_R+g5&;c%|Q9ukF#W-@BOO}42 zRT=6!_NF;C&IBL%(MbM{JN=%ix)s=joe-G@uI{CM%0z`&?aA8LqiS8DL?^6Wrle_D z6j3mLclsFCkoViW3GpJ!rpu61_YQ61d?Cx}F8Dj$JhLp{fC{ zH4}L4D?bBr$q*6(Uq;cD+O)A%t0Hx;F-Y4?6tWub6Y zE0CX=3RR_7SJgKxYYA`;2GD&?8_;%^6wL3=*7Yn?v%)7zC{z?yO`cPeO*9c)`@7;sGK2$3v=0N=kq9K9E z%eQbLm&&=rOIcz82gRL(xT!qO5@7%`ax-+4X?q;^ou;JU^lE2Xy#6zJQEPHsBp=V^ zkAQjap>?Y&>BT34jvF%GR5|ft*3=frUKlcji-qwyfQ7=+1Yh%7+5D?k9+v$$u>npT z&TGdvu`Ph%M(s&OARez&LK!r|GW&m|Ofpg;-4|riV;X*JBOLJSu5{A^{#2nKaBGbA z=8?KsV5#FZbSAcL|Bjm7Un-u;C}YX>33!{+-crve>U#fVu+2~h5T{v|MELn2Z{ih0 zBls<4j;WP>!E(H{_LlZk>nWzfiFP#LsanPrn~a{^#R(p?`vE>VZh85UHa=Cu+1iiv z{HeNwjTuF&|5hKmO{r%vyWJ;p51u{GMQUD}|Im80>Y3`p{*0%S&(w|V*AX=Ixmue| zj-wsV)fy#s;-q3qnr-wxr~Dg~(R=@mKd~3;43~aDJ!I7U5})IS0NIze+S(WDB!P{K zBfnSb1rtsP!gS$Mpz?ZG`-0teR-Q~Ht|3BW| z1U`x)?H{kXlJ1-XBq0e9hH%Iwj1ZBVAzVQbM~H}kI6%OF5XKM?6`4^`!3f5)@M0q# zi->M?S%deWSp^Rql|@9wsOSb^H6pJ>WXbRQR8>#+1X&G_!(+Pa?;7bMzW{hE7EVah!5 zoZ8Y;iH$b*&LVUHmta34zE*R0-97H!Qtcx94dd>8LF=l|MDqYA(mUMycWr3vwd1H_ zUG@cvchSN0OFLXUj-PAO2G~cAkerWBKWbI2VJYC2K zrD{*K{>KFRwC}z!>I|0ZJq@ok)&7{O4aPPuTkY9yt;*&2;n(A}kxcDx*v^c9p2^nw z+ROU#o!MGH`|IWWWVSZm@o8UMZBdTa-R7w2W2;?~tEJj4+i7<@?cwgVeLPya&GGeFwpw2&?E{DX!Opx*SM6>4`}wtBbk({h+8eg5Yp@#kuDQV=ZeG89z< z6GXQwrCsf&v$a?7bUnvs_0>XHFdEricDHi<7_=vz)(`c5E_Pgr^-JW+UtaK_>cFRl zyC6}tHgN)NCqgGaz7osq?(vm=oa^n!e*oas?pi<5Sb_&&DrW5KOni4jrM;-K6(7G? z>o`=LXfORxJ800$SL#Kpc4Rka4nBaTs?3-1TU6O*ZJ|bQwBPc%;Q@`wJp9g~wl;U~ zxwmx)dw_5{MRVr&pVKUbj*%jldQHzBU->J2;5R?gK(oaA#~&Y3RN2^^IT0o+FVY;l zd+l8H%R?(tSN&2Fg5y`XE8jf4Y{DE2xYNhK@c!}1UqAj}9p)E1#;5;jXVLLPMLSL; zVx7Hc$Dt8Ljt|hM74^EvT{Pr_@hdx!Mhm&ui*__XE_xU`9~Jew)Lmq|6eWQvVz2#H zr;3gbDq4G)d=<_o{-|ZeW$6^A%rZ+WC`;EPOFvO@#${<=bLLEBy>g=Fct>W*g)FVS zLS!ZFf0LE>i+W9@tWZwUkdshcmaSR&xTqK2joPMU7xg+JC%ozvKIVnjA{R6Trj04{ zn|+1p2)|WyKjqN4{kYfWjb4}P)$q#iS8R$<|G7yOk!o#kzh;Y_ab$iAul^qv6(Dwo zSN}gTdX<%ndVQ^j#)x=@3pd_xz&Xg6k-y(?>KUp()4Lbp%@rcvY1kzq-f8$oM8uCk z<7)dS{hO<>6~cpsZjHXIcQqUks>0UNZ{kOY*&r(2T-k-fC1z|Hz#idKcBIof^Ls;IIMPE-0j-oTq7?9jl!$71Rt9&2N}mTGE^1iot;og+6&YCX)SBNesx0b0e(iXzXw@%l zX#??S|3UKjwX_iJ^NfcE{PE0J3=+lVx|3v#Hl{LlKWx0^+KykkP~xs_WL4CKy|_70e@!t$u7#!W4N^@e7wZLM`(O={~>^TBz`<;E{v4PT2mot&UaxKWPH zuA>+a#>jU?hSsHi17<@FRC>AgIzx7>tXb;GwHYG&(g^-yX)^u65-rc*c2s_c%4WI4 z>8qX8KCW7xjbj#;xN*b+mPC78kF8!kMs24tA_9{);Ai?8tU5>WKBlCLZ)sQfk9U5o zp%1wbaup*C7n-T6VgdNFVaMBG3h%<>yga4S)eo_2S9hVk0eByQ+Wt?d_i$kj-i5l7 z=J%KW0LC#V7;V6SOnb-}%R-3yCq*?qYsgl%Nzb5ZJpFrMQDy7&(6o=|jZa@0ZP*Ku z{y*anw`dKk@)QE~2+-KA!{Jt_H8d|cfI!ipC0hFGgNRG-v8_urF!F`3rSXfMOY=sj zmu(f^Vk!6Af1n*0r8VQLvc6)odQl23@P4o?9it?ypwB%1)5uWzWycOx>h~ zNCc-embz>q@;*vAq7i>abNaL|#QhNYXc!Hn$Uof@m_qHrZ*i9Zeph!1gPGp_W%1G+ zOMzF%?m4z0W9hI6O&4;BXHK+3;zo#e$jJQC2I5T?4N(#L5wt@^Ye#A8E}@;y4fwc< zHpq>y9EBDrLM;&3j%I91mWGEMU%_dqS*~=xEMNTJSVvFF<^0QFLiUwn%+oOFNh<%H zP;bt>Oq?Ek?!Fs=eZ6@EY?~eb#_COR3RC7g3 z^);ufFIDP0{s@(~MsniF2%Uyw z(C@#CO1DGNT4b*X*;`H+Su8>pi;%@4?J&w6BP--dFvr1oi@ukdJ7aLr!Ep?07ezyo zX+IW?wHoG#zIR{ITGyeU@XTD0(TsaM(zbR~#?8A#@4BfOwRaI#jxD{bVekbvIXZzd ziZ2A=Xn$JYp&(fs=qJ7wKbOM>ZycBir<5*N3MN+uU^&STJdr zNNIMxf{5nK{y*_0Uai0V+oOE5SDTQr`KT~vGmULL%C&Q}3p4Ma7@9k*?t*h=&}F$@ zMMwF9bF_B)$EWa|UFz~D*RDTD``DEkI&zxmz#~G`{&7<+KTjK`+c*Ef_xiM{_Gf;r z^^Vl+srG)~*A`6FE*)VT$!}k$b+Fx9yJekr2fi13gb%qxE4F{KmEU;>=1h-m<*(nN zoeR45mpinjN%pc$wZR9ppFH-QrF`y7+C+Pg8*BgalE!U%c8L7EEVVtqVgU#M~2(SE5tI!q|pbYxDhV#Uaw6pC6^J@ouq`hv} zww;Y$ir@3a?@;mE2fw(D>s%eC@vHZ0=h_PSANS&r(v4^H#=TmHk+r?4BJM<8Y|dOl z;kB;bGjTW8x;hZL`O~GYb)#&DI~T3$j9uy)1lFZq07S=WQ}|at@ndb|MUP+!o8HA^ zg@HBi99{XtTGx88<`z}ra9C;wDyM3PF|2>1BKHNF0X1j7)QdLHG!~^l+aY*4vibGl zgpsdM^HS-WdO1Jvv6kbx1pMaATOo+eaClVGSJOHfMmhx|qKvoQr{M#7#1{=3!zwTg zz7X<0qA5FfP+;vC){NawsYkKa(wx~v#HD@?LWpGWtM_TSz0U!=Ir9P`@7hX{Yh6zR ztsQm;eraF8&0kZ>w+_2?2Cv2W8S{QDMBu$kIo}r~p6ZkrIzppiT_Qe+8IFEQ zqq1F>`XkbK%asTj(UQ(aG+M9K5O|+bUzb_~)G!9@w_IONx6y(UI>)7Wg5N5-)%7Vj zMT3SNncl<3Dmp>>YcLx2qBbDKRyem=>@~+~W^?8)#5BA9a0$Qr6V0EJbG{t;4ayvK z3IE{}t)2b0DLiGrc9p%u6n^b~ZIJz|OZc|^S|@ww@%-cc+BX?H(FQkneNp^w6~7z1 z^XR8qFw{j*S>jg{zbDQj*(3Nh+Dy!xQx8t163+sc-oXtlTGiCNG#Tw!bLL&(9bWl@ zMg^3FYJ?$8>hnUnp_?IHnfj36>{T3}(2RD&2JX+a4()0L+ch6D^r^V7Idh}rTr`y* z|4i#UmeOtRx)aRiuD9WrW+T{qXZ*D%1_zVKy&t+F!Ae(nGTn0=BsvCtBUU&9WOQo7 z-Mr*;%^UJTlwv&-!1YfM2aZ-ksQ<2pk!aZt=hJ)2HB>>?x>Cr}Iz`goHLi8tPwJJf zqr!@7&c#H@jd_SH0rxG}U@&zji@fD3K!~aa6h0UulfAqY#CwVeHfQ#P&ud+eLGT4p ziAwN1_21Q;nM-+DmpXY8@|>9oV%4yf5MoP{q})*P+&K~PBBh0=zB%($7alyIb++mJ zo&(ySJ6?`OxkEE(MGAWeHQJx(!G9I^EhWRlx|i~eUugM!%@oDqIA;#{@)VfMyJ{1jm>*h=+f}<<WW`5)>J@LGDO~`i=B^9HZ<+XAE`F~QzbnM=O7Xj| z6G@&gekX|ESH*9Q_}wIa?-9SZh~MSncR?pM1Zpz`F;V>b#BV?G+eQ3liC<0pp72ls z85j3_rDfXwUOV6`?Ouod0~deq8|^L}%og}o8{aDVd@7SqFa|_z8`;z_iof`+Hp)>u zp7CH?oRHR^=l&hHIGqpwyOxi0X=Y*jTwk#_ee8HNt$2}MdLj0m-aiiGfjKjK_y5Pu zpN5uRd*Prm?+w^le)Fd*JI<@(oBpnyZClKvf7i10j`)=eWzX6>d=v4_)9U% z#T&oVI^_<*47+HKm>krMLGy5URC9Cq`ck%ZEbn+&8;M=KP~)=>qhCLHoZod=`^>fx zhjeNaZCBL3dPIBHh6Bli-)q-(IrPCG*f*=OT(5Z584yCr9RVEJM$5f-R$>{xI;lCP-Rk_?U=@inx#@qjSJR5q zsA^3Szf;rr#GkbRwjjUxXY|@({?gCdaN81o;%79{5BKIBj%)30ZTR5hn$P~-A->|c z*3z3Tgpilghr!{F^lfFz= z0&nw0O&!> zn&i8L+Qk^cz+){G>P!U@-z7c)JPE!-^>tXAuDq>?43@OeUmdRxdGDddH-tRdE7EV= zQBQi8*YP`l(b|T#)yMl&(JDrheH8U|NvgnTuyd#)Hx@7GdtOoWy4(B||JdGGypQzB zUyt-x43>y?OFE4Bp29(&bdU@P+H0YezYo8`N1lMc$6Dlfn_H!a_Eydz(>|jq+)i{r z0}H4h?5V+OWoj=FFph<(R$w$|-YwY~V9QmhBobJc`Vl!{EKXs4=+J>L=^;YQe8hwf zMFk0lT<`jyex&7^h_NkFti=X9nmVS1hkcC*I>Pi=0lp`SK>b0)z3F-vYeyR)QSRPp*tDN;hgxgo0u^@)#l@z?Mni-$piK^k zN)cQ8!3izH7ScN5-r~wvcwWAw{R$6OI8Wgug&URpXA19Bc#Fd86~0d4c?!=|c%sB1 zHe4~9JThV74Sve=lp_io{JM^kzhB`7g^ww0S9V$}>{0kd6@R{>iv`A%XtrW3P`E3a?jqwZbbDu26V^!m|m_M7I2j;ZwLkVYk9ZR0%{Cen#O< z3J+9{tyj0^F@?A0C*9d8Gd0py52GG3Pd4zKo!W#Nf6@fQC{eB(9z#alN7g-6h?q>@cN2YH`_Ic+R$L*)oi9G%f?U<^O38s+FPtDg#KL{ay}& zZDh{=+amWVJ64A$Qf2tREAo5K*Sm!xozNVQ6!M&V$#L)7JHJC%^ajqN2}oiA}j@tJ{@exsrb7cXZ| zZ3%4|R)tXv6>L=DGnIf>JuF5EOjHk}fsGQd-m!mm!y>(qE_xnj7%)n}pp6n}j6Ebg z*N$7}8z~+37Aky(r#d=9#@8zxQMhWDgS{4J;qxfqn;{cmmrH!65)EG{8f7kC2^IshAIGd^ro}s<0 znJ(i;UAu68S;^e;sZ{)yEAnq;2<=}DvoX*&pYQOLUKlNArf960)v_ofd!0IVEYEBUQIbT&=L@HpO2naj04aqBWA?sg&4j z;H{Eo&q^Fr{J?ri8zofLg7$8b@zsN5-&I^XtL&;JePY9A|H8Smmdy3=j}!G>p{2nR zl*!0hvuDe42rBP`mq=yb&B|Cy{w_ zT=Co`G3h@c;z_7^TqU?#Vvj@ey$V;qsSG|ZvHM3Qhs|X4goNLhbdAyvx+On| ze{QDu##YLnwF9NB8slPLYboGY*sE|rDH@GPSapa-4;obQVTFzUsRj!pN%}HOom9g4 zzu|x-{YW1fUo%+Z>aG&kE80juqUfl?jS7d)k@80R)#nL1#N3@^MBM#B!p7y9AmhV+ ziM@*U8T?6#e~H8q#g7(B+R$eg|Cas)+?o~!+!raqQSk=CQ+~^URiB?o#+WFoAXFtOSgVis37~2wWuB70Op;h&Nl>szwRsUTM{?iPIkyKLX zHBieWrO(MqXsrjqzi z`H>cOMfXODM($P~ZB5DROJ@b=^0lq>vqI7Ll^NT=ZXQ{!l#8_*&64)*me^<>qiTw3v>JXD?};dV zHI;NrdzeDLAR}U}#>;FANRr_SZL4}Pf>pmd)?ma3apGjQ(vBJvX zY84+)I08EZX!KL{sT8bHxLV<`!a;=td!<~}Uj9`Z{l1XQ}I8#sL zR&&{wb;>A+GuA1&Mu-Ny#bTq;6L}j|&gaNsU-TzQ|6ZLk68_&|+&e>%si!CKJ5NzP zlXdDp%yE2%sqXy$n`1M>*Ss1U5qkUR_^XY3Uf);d%qWpF-E$-UOxU>REr(gZF&CB% zxM9fSjdy@C&q%-y!@=M*86TJ+@tGVvtx`^s^7X|M8xBVMgk*yhYw1*FJX56%s)UV( z&U>M9$XL-)2{1LgGnO|a7f88Ag_*Jw4Jn4_Vky8B4l0km3Ky5ppH+6{Lb05VC4lWw zRT9QD(kQ`*nkE|4MT763DeZ?9#+Z9EmFi%2m5eY1eTyX>Q2e06VTG$zeEo91B^!%u z!M{j(pThpjk5AV~|KG%+*yH29>(f1^-d0Ap# zMB?!45(gFb2#n{qTIIY-MYxrMSJCyaN=1*tKE?Md%xYzP-~);4l_NDTNV-Nj>U&et zUWFU~3YyxFDwPAjiij!)n4&!@C-usZ+u$o4ct;wJ?o|n#B?o|PsG9VAB>A2qMPDd! zBluzf=>1p<1dd7^Ry6xr(u-R=hAeKq>P3&5zWv@b&Znkr0fmieoc9-L&v<;%zLbh- zm@!lTjRr=<*Ep5uEv9jCb2gNu$0p^1OyaPjYiv&bQagQ7C^}h2c>kA0{XaaoXY}lO9AgriT#R>@XPY_j-kkI z$&N&ooew0gQFP!##Xlgi_Y;ZzijEvn@_&~&a#-Pg5=TFlxL)B#1IzgSEUXw+3Rf!} z{6Z?W9645h!IL`bdG^M$c+Zad*pT~9m#9kajS`8iR|#`{J}Y}ogVBD#RFdJ%x2N+8lz3P!p~9Jom0pu+ABe3M5X z9ttm%{Hh9xjnyab6_WNT?42#?Q_Z2*0HRdLvBpZtkK8M<;aL49rT?bHhF^gjC0!$N zGK;L0jObdvpc7V?+<%j_vEp6xmZT{$x^P6gD52k5urx~E`|mASnq3x-c^3)!6gCY0 zUtzzp8&o(TFy6SeOdzZTsuZqPxJF^`JJL}@ulh4dSMQeCyPJQNujf-|#FkuJHm9_F zaoPOq=3cm%mhC53U;%syTT(GMIC=gedPN}C^3}q)SlOqgag$yqB!n9Hc$2X3TF;W; zT=8~c{<66qtTb25np5E^$1?N$ilyq+z^GB9L!Lz7OH?uxRhtlSXz}Sn+?aUio#Y*Roy(-jk&rRM=Pu zuS!tqg!V~+s*aLTpCoa_BXKZU;ZLNTUm5a$ENM56SGAF&?UkI;cfT*=0}6XxGTyJS zPvKB?u8eT+RgS0xstu17jwtN;O3Fo5eX3Uu;_OuU1ga9NQcr9^*{xCOL=;}Kc;Pa< zFbWy>QQlzWBq;B(sx`)Y4Dz@K!eogD5Awn#Jq$zs^2PJ!}n}p>HfO81$J|y{Lr5GPGOeAncVn4CKh=vj6Q8i7!{m`<1?tfqjp{3tNTgp86dG+#rrQ+@slNvDqIiDhxXNnhO`oC zDY!>U7-iQISIv=fzP~ApYVEb9-2aw#OFJRvQ3kyV2Nm{zD~m+jEBv^X1L2S39q=tv zMW?V=#rqWYD;!WbsBpb_hlQKas9t8dm4TKHY?v)`?%gjF&Q^5z6G?~nN!+M#Q1SC! zcjwT+pu!nz^_Te)lW2}z99rUJWwtAIVgbP=D-(neR7 zDCPDkId@_b?|+UyCe&M(5l&z-FcjEB3b+gd#6JSQagiGtNlDDB7$nEo&O-bYV8R9W zWWvN>m}crxekwqFfayYfNO(wskF^lo8ZQ`=`>ciB!86EpPmfR73)(}e;-d6qf#Z%= zwGiC!n}V3Lw2<3*2D!!-a!tP>M&mZs2CQzAy$G2<01zZ zg0@x)qf+0~Lhd2Z9;Ij)q*}ViBIg8s@HgZro$R)hE+))$QIUAT@DPE^Fi5yDJKn*j zY(A|(&+S=sd|dGt72d)}cFydXwZBJK+WkFh@QgXvUU|*@vKgg|7tNhfKC5Kbq9y0> zM+)?Dxyme%xN3Y!EP`$07-ihqDTjLo>COTBKpR(sB}_b$H!gf%-ArL0AaXfBe~8{L z3DE;*>e$jC%vGJMJBRy08&@g9jk8SJ;5R{!a!Hrf?7*3P+8{kQ*)uYUZHF$}e{xgU zjauwBoWU;X{g&PB%B~;r1FwL;S4g`9bZ0w1XyaOr@a6z$z|;WAAIlAIpy+XRW z6Y)EthEakj(erd?+j@)1ICGips?XqIcS-eRt0WotS^G3}fs?_LJEw+fV7e)NQIjFdEOh5gg zjjI&ldJApvN$JBxn0>Chbd0UZ6oyo-LRXUO#y761X`4u8OOgJsV~UG4tq8W;JFI2;%?ZP z$>U{(dTt)}ezS`KQ!O$kPs(7!I~xh8GGvycqQ-dqK%u^g{JUwCp6{s&*w_w0#X>Vp zE01rTs^{RJSoEs~i~B%joM2}O{p?<<6z+vKcA(70N*7W2q1)Y#vf7NAw;|aQ$8Q>~ z_e?Tn`SYXoeq$#uL(u?UCSA9axexYaT0t)s$4449OKj}@3RF^()9p-eO1AKLpE3Gi z%Fco@`V>C!Mm?h!R_NHzfX!u4z(3h1RU|T3K?1Y#ZNx9u_~9}7<$2hG%$fnc7ej$+ zN=Y^|d3@ejeYdEEELIE4#$kzF*24G#Y20LES&!P-kswULc?$0Y>{B#_qkuZ1DXHbU zh>zoyCdKPfU09Z>*uDOb5Tb_v6}sp9byI`u zWJGo7!L+*W7Cv8pzP_YW)W%#N;baUFYwcvMHw=fl5zH6k^ZW~BjhG3XMQ%i3p4^Cj zj+*oZDn;}N0}?=3^=@YKQepb0=*AauAUS0JdI5G&_;0Y zSUo#0cnrsG046MjBck9Fn91WCOZ2=v|Nr2a6u=sbjL9RJTwYbAXY=X_x-(SsvyJ@~ z@R>#0$`f_AAdw~YO9)bS{KsJ(kh0A5z{+bW-w0V(lZ_3v$Xj^)nhW(YdDS@D?gK!z zAyk~eOddb*zMjP!FVx+I(O+%sdw_NgQinGbcAT`aV}@c$!s$FbiKZSub*bKsS6!pK zL&1OA*m^)%8Kdx{fQ3Y>!aa=#V^%$xU5$#zFN)`sjV%J4R5mGG4rov`g|7wdxkeAk zc4AL5bJZmYAr&DLuh4~|n6hw4V}2+b3D|JzhThLr@9@ipu?C&VZh#-pH#tM$uK`1e zRv9vRqZJc5vMRRBQI*Zk{t5^iMsROTp1e2Fi}aL`&tYei07q2n6rKmzM|64uORqzt zfQG_VtO>bT9C=oOfty9&ra72a=#1Jii=&))aKhdwfbUwFGYVe|=uNa}JahXCfjDMG zPMl(nCxNBe+Ofo_D?&wvM{K=c&kaS;x7>^~DI>x-`jca+SRcTN1|@i*7#D|`l9g_q zz*<8#39_yhvbNL&mfBCRH`1a^RHG5915{i`nZPr>$3whC#pHc1)^n3c;A=q9b$rsr zdN(V5)5Uszl4*oLbFsdW+KGvi^eIU-xoF|q+1cjn`7@Ky@mc7vCh7h1@ZkWv2GDdp z5=Y57OOohg0>$I~CW{dizizUgE1It`944n5yV=P~yc*je9kxU*qi zc&Xkm$wIHZR2Jw);6i+!!m=*JV-uEsQ@AgnhG#0MknS3v1a z%65T<$(+d(4J_J08XVC*#fK&AdcX#YyvgGqUZzhH1HmA_bBdn9hfUM}n1pXN*g`=4 zD*pX6vqiF2Hk(EC34oZ?Ur!qNxCiogzMtSCGoA zdbVU2OD+^GTF@Slk9^gwcJ?G-D%mlHz37Ckd_0Z(qoI0he)&c{k=Ic^W6bg0qt*9u0qD-@hLO)m7(AUoWKg$Zpgp| zD^GT6aug$`YlYJN!2Re)0F4$sE6=J&_sac%ot+QxU>YWiErEE6ib=g;ZeHL)J9_{y z)gol_giNUFAv=2pu#IG3n8I%Wstp}v;4~gR*cLtMoH_OgK8$n$p0#8XbI4 zyyw7o5`T088(rKwgys#C$hzeC$m|4`jn2$n(gu^FR?KQp^vJI}>+Pui$b4ReefTN~Ee-^xo4RX<^8e+CrXM!9DqTnpMmG&zK{S~^7X zF&Xj)PFwA?@TV86+H7a90)k|;gT^}4C9pQQEomhh9-%Z#Jl`@)pBTbdA#4o5S1FyM z@OVIPMN@b`AVbg?5-d*;@i87fQsB8t6XW^mPL{qWi#h8uh5eXKQK%VArF))8*p}*K zsYfxJ3OGecMW3~^!+;7(loF^*h4U%QscZ1pY3b}V4rf9!mYO9AtRdFj5=M! z$9Ow5wgbb8+&vo0EN+E|Ih|Q;h$^%RRVav_lhQ3nh)pZ-eF?h&(EfJVmP;0yv6UWc zSjPUE2(#`L)DTD{F!|2r6A0E*YkEK#@) zFqCL<15-tOj3;KmX`(Wix_tdyj6@>4?d%|6yRt>$e*zveY{8||c+?Ze^!Sz+uyVF; zs-D6-%+s$Ac|NhTa{(*vFbm7dlQ+0O=K453x0+v_t^;crPVA8Z!fq{Un3)7+r z5jlaU^$K%Hi}%6ocECZh52q>oHDITa-kw(Ryv_-%^FcRjSJ4_PLb=SUZ)=;t+Tw_| zvr6@I`bEEovp=9`yps&0#^o$<|(}u z?Y`UQE@@@c3fkGMGCBPqxBM0~wXJPQjpopoGU?M~GmYY*Awbhza7jH~R$j{r6Lvb-M!?y!wB#YZX;nx6FL{o|=Qqqg#QxO$oQf1M#B|BL%2H(m3 z5+h{C-`c^h2J9m{nNCbk(b>WWE8pf$z=!uxau;K++b=~ZHbUuFK*4>|AquBs_~Iej z;!qr4Ib_vs=}AgrirtO1$wiZp=U~;OgH;oKd%ln-{x;6PFVnmAiL)U(@=KXYT%?`T*@4!l zn5m`a!o~XF+4z{074&m3_x-X^D0~s1X@jJ{JkP3fiMZ&*Ikv^;DWH-V)R&iKQIcUO~@A zz0bjp0tz0W45J2Y#tm8HY{AD`8SyvZjrwVEXyYw$Y&mL!)#f#6?3&U9)&nwKpx<$g zlV5tZo|0g8gM4PWo|kLVltFACHskL@yjA|ya{UP^qq@3GlgIC?KtD-+p$FwB`tO6qtbRHAj_dLKlMdYkE3Kiw zkCWj?EA-*HWTO#x)_4h-)7r+I`QoL?`AhYl(}FiS*m}T>jj&1W5{AhxGznI|=!?tk zLD^TBgYxJq2m2au59x}sPhcjG?_R2(pBKOzSq?ZElhK&T;{%rId15^g*%5iFx()pg zV8$Q#f@QSA6{9g$=zx_lTPv|ZE5;W}r{;DC+XJ}g52`G&m@>_HN(N%JV+1o3;eD<{$4E8M zO-~j*H5e8cZ@_Avbg;JpGaf}^nF%Zt9bg(dLwc&Labnty1?1Fn`D&=@DF=HRa1ZHa zU~LqO&gqD!7R?$b^vV;?5^KyGq=TQhXc_x7XC;*IlpYPpp0xJ^*Tz9SYz39L8TUJErVakx_4-};_*j(<2b4SxU&N3}z8o_7eB%l|D<7ZdvRoUEN%uQ2(1?+U$JKEA$Xsjp!GVc08{g=_M8-VJE7d^;R$6=1>>sthU;n91X} z+<@^WdjpRIU@OU>+$el5V1uE9ayyMjkA+3g@>qy_!Rqj+0oWgcx_E4 z8I39O!7Jfh;7td+0kB3HqVP?C3Pn@+RzQGgDp>W7F^*3+zd{#wV!GmaNBa$3!+y(m zjM1HraqNj*C}oitY9q#gL_YO@LBGQ}}5>G0`-)IH)t{o+Kd?<5S0rb|y|YC4r?N4Gn2H zOHxDe35oGxYi4yyJWd~KV)leD##y)B4%VQYpzuV%9-=9OaNsmv9roQ>^lVcS*pvb^ zel!^h@P1*vTV5dQU@riMKB?@WN}4>rEUZsUs`(hhqUTdPFY>h;vd)8s-oopvT5&UhD1?)~!82kg;DI)IsuTYf4HV#I zl0hRt;Y$IV4IS#lTk`O{dcZUEq@!jh?)$rgoe#*~Ds56Y1UN}HsrF&vRPip7OgCOJ zpo`H;TH`jjnbm+T37L4E2Kj0srUC1qha9Ykj8k=_OvQLIQ}u{H1$az3K;bsup(QtT zkg3yn$dpyDWu_v~-w9w(%S=%?`7qiD!)9HAhzBnunKZ9Ky>ioNv>2N!Ee6Cg@oe+m zzxxQ9O~7(xoWkb(vR+5GOel<12M;+`o!0pe-TrWH3U>^b)(KHGv$zyRmR3VaI4_GdA(0Xo2YQdwq z7WT89#>ZT1JI$$LaYIZ)-89w>k?Dv`f}(3pa=cNhR}~$Z=`eruW{hxfXamavborCa zz{n;Cn*=yW&WQp_V{trWfaKc&+@wQQbB(zpGcJzw(fM1`P_N~^woXZ`Q>lwDzC~X| z6RHEZ$ca_IThUyF(d2Z%#+HFK$_d;NE6(aXO+e$u$haE?!!}hP%nmlCTYhZ2Ga}v<6T?X^7dGTud?f z{Fya+?tr_po$OUW4at#>iY};LU0EDo%n&=XaF$c>>z?JO*64-Z0vIw?cSJs(gD$<{ z+tUjTN^i95XEQU7&s(b(<_9|?4L}vi8Y2h1(lPn`?X`Ht8R_C={{ZYHIl9vYc!py< zZodsL>u_)e8x3&(88WM#Y&H5kdSztg+o&JG%}mG5OrMl2Zf12aCwm^So%Cq9iyBGv z=YV?zkBRWW-cA-Ix=RA`Y+J<;g~z1Ce~oZFtjTD)Zf-r&tpZGY(rWOKudM zRe%7C4K4R;fP}V#Q829uWQu<&uf;qo5ZOO^VpzO!09%3}~%-qBeb)5=;&xc|}Q8 zq_V0hPWHo8CwrOf(A};}Lv6u8xCFBdGj0g8r8rqixhqP`L*zi?<;X1oDQ0Ob3#+lM zFhxnBDN1pQC7$i+MT*XFYH58)CfvWl-~VLRtxC;0_=#UL{3R@ z42W+$6LG~GvxFizv)KAL*;sxXg7@6?CNwIfxza8eCB z0%-pd&%X=1hAi~VyYyV~&M1m3$-T1G+nnq#fQpyQWKEuY85{l!WB@gW3?5gLCk9M; z;pZU(Xt2t}c=D0<-K`gdYF==%cLDyFRe}ZB{%zsO#tz+dG45zT+1R;Xbh6HX?W6)!%|*DS-rw%-XnKZt-MDckc2~f*f>D- zEBw`a^xSzSZ9EIDPFwMayzOK^0ZzUmouqKeJ17yN)q{B&4>#1*=tB;*%HHssN*xdmCYtkr%w*rO|ZL~Zsc`$0~@w@KRCne!1BUTD{ z_ci|geHbxX=rpe1Cn_^lP;$KH@3_kia6H0aM3sFCZvbp2S`1?} z5ifaS??Z-F$ChYgiL>$GHNL91=QU&Tik~)@PpoR=Vvhs5ysrGjlW*n8*4mtuc{5yW z44~K|Z}QaEb=tb^&vdaeK!gO50Sd1IY_%w!#zTQv^(}t8qftJEU}Do3=;|T`SE<{5g+3LietseE#k3YXtk4pwOq)j zLp}-e^!m^mFSf%Liai0Lh_O|>roD^(6)^O#9z4`_ftKoo>7%Y-Ne(Js;Bh zbR&mj`m{h)(H|{S0a~VWEza|m59#ak0)1Re^P---sWP~x4KsPX=fl{KX`!b)toIXZ z$u;W1A3DIrrU4!^^pO_PGXYh^!~475$If9Xd-`FF-XG0-L43S;AkSs-cCZ1izl%8v zTx<{7=&Z5MO~`XYI%~7fozArFtt|pPYop%NO|1d7M#e0N;~h~EjZ2=`sFzLhUF>2@ z0NFb!n{>}maWE)lC0K)qi$nWir5{RQ4?)KGOwWwt^ZuYu6KxQh9r4)KOn0$)Gw^0m zq=B=T5Pk))o#;*)>$GM7%Pt*==}I|@V!0)rCsgAlovF|JRO?wiDM#4fB5eBuF81nd z)T>>vMX!c;rZAJo%c}Lk10u-J-UTkUjbz{xg>$aLZ6LZmR(SWUNOafTkf@ccPBi2A zfoeT>wpBOBm(2R^taWr-^OB>3ZDpd^>>^&g%DHA>i1ev(k&9iv*u@6EEz_fL9Uz5h z8vE7VF5)GRPkRJa$<*PuJR-MXKLdV#;93{E67U%5(pbJ!Zl5*z{OBY4yuA9G@EELe zvF`6cjv5cVbv1c>*(N>zeBZ4ub{*gzl0i98c+eUbTR}A0-k!h`HYdjOsnM!vhw7Qj zOnv^bq_YoB& zpweR7U2MwBE>^G`c0}RhA0%Qte$(T6A^G^`TU ztTI#)e?taG|FPqM?qo+i-y@lY$FF%pKUd5cp3rAcYQ#>CP2Zsbic+F@GMmt1?n7(3 zvn`8{!>rCK+c$yrg={ut^*C8R`;YqI;nhc7>?6Q7VV8;Ugr8jOcB0!SvG(|!BfF#% zbECkMHe)i6O${V3W%&L-V#B`GhOK=fYmZ5JI&G4#$No64d+2lt=2ydZ4@Ni8D*Ad?sY}fw$oU{@iBl)gv86f4do@DpQ_k zJ*kh)kESKCW`OrY*iFV>pfz#<+vM|=Ph!?nk5!}`eBV<_a#YFIV6%OU$De-^yFF{L zXX$T%&4vtColGA8`AH0UBe}=}VBklT58NVzv)W+=i)i|M3+X$TyW;sdNi1hGHU(pW zJq1szR?!NT+0CrBY*cO^I=!|`2g@wAF=wGH+bD+BUGq=|GQE%>z6N8va)83EI--dt zIuEO&O)i$%fSa^05tTw?aq)1p9j2wNHzzS2AJ>xMn5|J78?`2d4PKtgyrpS)gPPB* ziQBStmQ}+0Jf)xCkDl-4MLl6eSpw;M(@_s zA56dzhbZ!op+iF`44=|5d`iObi5AMtc%JYly!>&OdMb2>S(OfiTVUmg8c%l-Bi zJO@wVGgHH#l5Q-H=f-pkJgwlYcs>d(_-F$A5>Q9F)S@@($rdJW{b%_t@Wel(^4i}> zU=sippQ((OT*%^hBB2YB(8PE?5@LVB=25@~(iI7{xA6G4DxLgo7?$GTM79+W{v5JY zCGg6_~Kn@p`dTMnA-Qmp9Vr9tfbD#$+os5#IX9@2s{Mtw`557JOLhTZ!WWPi10%JS z!NM25@f)7k`xZvPp7}MNG!jR)TGAAEt_>fCQasg!~q ziQ$b$jei5KM0OisXgzFDeZX!ElgH=P>V;Eq{3z?3l*k@3WH3Ls@+|csC|=&E6BuxK zC(BPsWP1!fv=SzdpQ=UgSe=^4{sPGOQl$^uCQmHCO$?_cvU>r3i;R_LO`poilb*;f z0fY^Cq-*lza-GKw8Nha{OpGU&>%_O@0lcSP3GjR+Zvuty2BZ+J+SJo{X!=Y&bGly` zZk@a7|h5rm#XfbvgkJ{0g9<6!K4&gjjRuAa%wRDQYzX04slT%dEEqQp4Y1NaZ zCSEy<7b-aGm8}3QS2ihpFQ6o5Qxoyv;V3PGS%Uq}7DXEdO=;-7()uMuwTS$r28YkG z`v6VKFoj1G(|3r>($}KwxC^{%h ziNgN`6cDX$-Dy0OwpGtkN`4#8_sYUMjx4_RCB02jv}+=JrW-zsKggeW34=-tz5gXW zS1h~NsK*Q^|FV)kC<98mHFlZRVVr?6hRNsoFYEoCnOFnom%WVdUVOepb|s+x8*(0I z)-V>wqxJ(l7fw*I@~z)3R*gzz9|GEc3mZ5TY2;?cdT+3?voK86mOJp}2j1aXWW)m9 zCNb5=f4#%#Sw}$i-&H0nFi)}aNI#Cp-+omen-?rgWNQJ=29*X{4U@-Ty+-eNc@Ucf z0bvrM@40ahC}>NF7_$AeFCdLlE}a|AuZw)71Hg?{9p*zzRX5!tP0n=ZTtuJ(3uc#L3beuQ-cY z?TJCe(bkRb`m_j5qsYEDoXD;M;A~7v?*c)r1>=Y%K@y1ZED6T(Rf48L-t!H-GpbpQ zp7Lg7;0Ryv2Hv|_=qKLL=giuY$gX_~b%4@WbLGWW9?jp;C^0ljUaTTb1^E5}S#kq> z7x=`R0G-~%CpYj(k}1m<)ZwEH9C^*A13n`evWbe!P-)}&Ovt>n4Xr)N(S0wq$Mfhr zI_MgQk(m0m34hh6+49+^iR_DS;ph)AK*O(NmtuS2RA%z|O>gSMX~OsVoBB<;zC?{( z1*mBx#~9m`gw8h^2Z%NDnQvikV$u|^iOoF>dvw@xtihM23f;xfe~9$EVFw}h@U%gE z8sc@tJ4@Qf%g{s=UvXH|r5%77O|*YLkKw$9AT74g2o-NM<~(6X>LN~*FwU-mzF}WZ!1~7~V9X|a z92^VI?gJbVKHy1c>Luty;6;c>g$QW{&5<+ z4iNrHmJ)?;0+b3G9`AGt`d;uRC>aVbEYes3(HS%w!rQeCv{xjF#l_J_+t7Dmk&$c~ zHhkjax6RmLz6OhG%XQ&EEK!YiVB$;fl6K7MoY=l$Ys*}Ir2g@r}}__qRHdk-oe*JHA^)1F5p;9 z22(N%PqfAu$r{`2t12}11fa{$hE0q%EIjLYFuW8G55RAcwenz_AAd)Gp<867#=Zj- z99OprpV_*xsnS{324}1oaeVK)dY>fs?YQlLdyez8_psg1q)}iQ`1Z<%idrxC_SfH| zu^#|+WLFdbhUpfb)miVo8XEy0!2fZ`^V zIJzy9C%UamI6lb-R9Qrrg(tg0S@;wdL6aav186I_tO5b^tb z>Z2e}-!E9@ZOPc-dJ~!+ELT#K&o*lK%0**CDGhQ6;~JAE#x;fBKWJa-GQr>@8e0$W{z@5VBK#=m_C%ADNRZ;= zcu3IH;~z%#0eOv&X{_htaMaL4S|-n&QilRhXly0mh)R&ccLVkrib(J@9ulbZ-9L=&=Fbf69`f@GXG$il*>`0F7vMJ5S@m@i;w_t3x9MJ;S!lj2vRhu=tLM z|KSGRHMS~>x&XLGB}(BvfE7lfbvSX>$`ivj`DL}K%LjZ!XB2#(v7Z1{r}%=8^unGd zEi>4XCfRZO(7>JIdr99yC+*Smrdj1}{S#RKCO7MB8^SUgTZ_BGKG)bM2QWD}r3$&k zE9ejE(FhVR8(R;L^~A~*8cDp!Hs$$Ed-RD(o(7GL0jz1}`}gQ$yO}igMmVp;b{0#h zcZx=+@d#d1`~y8lGavgmeQZ0EhHP6W&O|te>0Zrm!v>TeKEno#zy3`han=L>)Tp6h zAOEbeSB~RTt_)q^4?w>G+6Nk!)EKi@@7$U+V1upt1&tnHS_Z#vuRfs2;Q#qo^k9Ic z&?KxHN`I?tyw;eV5osN46>wv`Wyq(W)L37@^D-qyr!ID!;n&r0!w?&XWUm7>LX5C6 z&$m1XL3$AImmusU;9VPbPg7N>z|gq_ucb^rU-Gd&ubWe6w*jWwA@?xO2dhhA_hPu~ zI+n_UW*l$+SkLU?)^wJj*r9~bTv&Mgi}!J&11-UI^t9I5WWa`)B<9K{kB|67zqn(d9^C~% zb1HKcm@=9?{-;m$krQap=Rvcc(*s8&*b;1X9}HeA95(EnjZH#ru=)5hT^x|@$;7U5 z{OJgtQv9&^^AX0LQ#4Q6ulqXI{DcGO0LP4E(RNvQ{0}91hf$s%@Kp$)*ahEkk0^X8 zz(=$ypVN3~H!OO*`BJ?rZ``kUAI0`Eb{62EvPNMaAZoF88V}YidVKn)`sITur$OX2 z2VVjvpc^!3cqlHai{t_#xvc!ayE45Mz;xZE=zvOZQ6}H=nLO1j?{odz0Un%#|14me zhEk>lef0jug1$A5jw{e^l1KGnt~U69-cuA!V+&u2HZH^0Z2ZrJ&tL*qNng9wXgIbP z*So-UeX8gx4z?pHp?HBk13@XIz zX|i@kV1yEhDqOE{qrwa?SN)&MLhE!u_`wDOlg>rJODf8;A_oAj2#8|QXvSM!Y2T|1&!Qo zZY$_E7>&7=425?Bn#ef4!r7k1;&`-J3q5^9cDydVLRyo9BNuY%JK{m{iP3nXWJH`p zIUR5;o(&V@*ye1E0dNO6UMytL8o_|C^q=$T_WITBb>sGVew4Rs05Dw_{KzMMjgMVP zZn={4K(3}y%Do9p*Qbr9T(y$(Qgu*r^OW56jr`TG@r@7J+o|Myl@eV%&L#@_vaiW9%5TBhz?EY45&<0FO5KT;@O2}hU^0Ffn6Bf%WHenRma7t@U9?&JnQyRi7za2*2lh zt-HRz-}mwB@p$!meLnMo`MujJPf1e#!gaPj>*vzs1YHA71+eHl}m>tm#voUyw5#|MvPv%Nrls*73Nd&gq&u z=c}1BOTT}-0>{5=I8F~AbdKM^j|_Vp-SO9DJI<~PJ0Bw#^X6Zn)1`Q<&Qr%wj>kBz z^OSPx8_92C-$*X$9C3B$gt2Fr?(%s@jC0YVjxWDnSg$?qhgBTYR!e3Ko=Kx~*lsj~X`a_*{~w zNd7-NO#Dp2Cl5B=#8>hAzyA|*P5+na;`y3KCCQU$?bUM5M?Tp7zhR%L`$@e&dbCfn zPSqcu{_mT{-UO&=dEujmt^3A?YVTahWh>QX=sI?W3poB=(K+0b%6d1s-^UG^*eg%` zxMAOp54;vye*BAujq+`6UesXVW}V07vK}47-x=38#>MLnpQVmp@aydh?hBab6Mr4Y zuxVqu?r&RTF>Sp0Yh3N(jsCym7x;Z}zbqcl_20*??UL{KCGoXqqNc&$*8NLdU%;x} z(i`l4mp}DcUB_SI%O%F8<1g@SvesYVt4|8XcdX8Ho!BtBV`jYe@zaRrwZ?7glY|@8 zY?1u$>IHf4`}a@0sW<<( z9Jx`l*@zvI&HDHAJA-|b^(*V`wfP zGefu++Fp+OKmYx3wWPJD8@$q&jJ5v7!C2hfWqR=c{@2#``!Q|*yDj_um@WP{@uV#q zlgVk{E37qc(N_NSjBz7Nx^u+oogUrkYdU>VmZ|d~K zPLJ#K*iMh`^y!`cb@&8J($qO3+v)zDPIY=k=NhPX`cIv{v(p1QXKZ5UrkU31)~z2t z=QDrcyZ(W0xpQ2a_|%8rTG^1TS^t(U2cI%}s4K<(Jg%>rv~2o$!{(dc+x4jPPC4ho zrc=&|OJkpW=5JgU_>{BHJLSyZT-dV3e;U4N8T5I>(4Kv3PCDu5W5yg57tbB+TGyja zIcL|Fn?7$yU%$=tFXw)3!*Qc&E?~EpQMk$Q=`Pb4 zC-iEwfe}WUIQ?4>c$zz(?c{Gb8&7OF;|p8CORC}+4=~a+Q{AuR0dF^s;|pE9*o>E5 zO=dWSq8V$u!SrUls&hqc<}02rT`hPA~RvQ%@bF+ zYAK7R$)O2Z4^+6?uqSA~!u>fLPh^RkVkzTsVnHtP7{B*;9wTFX+T*12?%0H^fp}$` z3^Vaq59mqTkTRTehpY$7AVHf4OrcpA{r4w4i7J-iQ*?8U>K~yW_Qp`0j!SSo?!qH@75_$;9sRup^ugX3 zir?WXwBiZ8jAf|V$u%vp8}f(y?>L-_^U;Eb@ftosO{Ou~5IbUj9E}rjE{Z5&HXg%s zSdK5yedoqx6J#(DN8-1*7+2wX+_rOLKA9=*$K!YguV6X8KX9D-x+<-eU2UWDAaregLXE*>uaSG1I)wl)I@xX!p`z!vA57A{0ON_0t8}`GY z_ziNn61QLuDtH<1?D6oGYZ^|isk#5*55H-+blvrSKJv6tBZi)H@|owxmxY!Q>oktN zsYhdW-ND)KuTkFXaF-Hx{k~mysSf%6s^o2*E*$>-aC_&lYbiNH2H*cH9NuzHkH&+# z@S{B%w+p}1qjAUZhU-P3ufKG9@Eu1CR zvwQQuFs0VJ$6GqHU~D`WKa%zh|GGNuH1?H&DPHv#f1D&cZSBd0S8)AGhN)rUx3=z z^ky!zUy?Lry_7RP#Sb99$qzr1-{0yo@C?6zRXzPy%mKb{!d!RA{MJ-0#OI-&$0Dc$oP0M_lFaG<7R>X``&)uK)msP;z@QQ9X=03 zb-ZYc7iIk{LHKRN`()uWnmw=%KaPdE%GZpr<~&)vDBREs!WF(j^j?ZHgu8W)n(Zo)_&U{-cD#f+fHXyhabTR9j`ctpKHG{ z(`$cE9N#Zr;m(fqhYpjh6){G_2^6?lL zYmSFpY8u^?7uTYvC-AB+c^*CD$$0_ocR3$+WdW*z$kKZR8~ULkIR6*^x0?T2ML z%fH4_-Ok;;09>r&h2StO((yuZE3ZKFeavaR6y4NI(q85$UYh=RyhF`g$E(WEu^{en z&HvuMx=%ml+m}_F_(IRmVwqm+-Q$jTmUs5;O1;Mq?~c_QnmKO8Qq%jECZC+=WoEk@ z;^k%w=6kaEj$+@UCpJ;Mlzk6#jgQyUyI=1C^jdFccf8&GuJKim6JCyrj+e1DH+WY` z$7}LeG0lB5lal0MOj*bIKVHrM7L(i%ubF3Kf-du$7^mBKo11(M(D4n}2N}UE{;A=WqAL#z1^CHoj!%@<2sigjPFXl|Mkd z+ZeuZs=3zTe_?`-Z|JtZ%Zq*Yjc@jD#$@+h`yI@9ck^rHOdqb9<`C5RoT!~{Z!{Ar zo;<^TpiA8UZabsS^1_+6-v(xsAHBzIvGm;iUSE(rS(Z1O<%>|P3H~j{8^6}iJ3D?R z+B7Fgl9-0im}C35H(Kom-o+SqXy=Q|=2Wl!L)Q2~YG-M8 z36I+ujSv43B^^HS37bQQ-^3Ul{thE_s^WZs_z70{_ZXZv5OF{H>+mU0T2dYU8a;G) ztH0O;DND@1_^Tz*&HUL@_77_!^|W6c{hL=m#%K61&-ih$@ooGCN-@o|K3IXtI`^F8 z|0@42afc$`jcPpTA`@U?d`jVYOM<~V^`h@ykv+eo%ioQ!b^gyScHARzL-v&T2Ghd101tBzYy>+p!5itg~HIgRmr z2HMuQG&~DsUFHu_(D9Ru#(&s9Hnz6-=NPBsBMQxJ4r`x(2#-d5if43Qyoyym_Y+=< zWx9>OM!a_({toe;dAR%AW=MzI-?2}4r4&B>UH8@Dct3rSUi*FZcz^vh%ryRoA8_a6 zC*1Lq?uG9;Y;^c#4A${;pN&4SV_JgvY552LwpNU9=SNrASG;h|eq=RboK@Y%TYelr z6EvPL!6;qfZ_%vR`n*qkMkxQ^4+;J9lO*{!`k5&F33}`BcI}P=o#BJA#y1%8WBxy2 zkuLJxSfI=NAtveMQ(qx5LC41oj>mAF<9D&RYrOtnnIzj|k=5SJwH^pQ#}nJGDc%7?JwX#M!F=P}_!|r{KJ&Sg78bg1JMW+W!bG09z_($L ziHfUzQ-Qh0S9tK3I(8ghj@EdxudFQ$Fn#)K+Y}WKy4HtjIzDhy{m!N_efUF+j{7Dx z-qor}=9xZU?cyV0U2Bql9;liBg0dT`{GQL}rHxOz)g*uH?sCBHT;hi@LdPe7-o`4g zbTbVu8H}a6)L4@=tW%SeM)+I-KhmQnY1I{e33GMlb?);?n}M!Am$tr(+b`1Lo|v!G z{KG}>!+We>ldLvAd?=Rd3h(3h+WVa1lM}p=%RcniY5oPVq{#X+N<^ zzQda6&1;eh`kdtxHCJ~I z!e3*W4!_yY8q(p9F-EuZ$vc<{UEo`Ga(`XoJ9e>FqPe)6t7VV$84-R4gGRdab5(4; zdri{hh74bd5xUCl7^TDe?BU6DmJi+2Ceuw^33Paey*!!D@Ql4JwQlDl_wmH1S#$f= zB;)q8f9YbjCfR*|+rO`Y?EWrBje)wrI~`Dy4AvQ*Gsxkh%Y4CsHOZ8ihG!ssdP9dt zALJ;~;XVhu{=8|zcVUSRj~MJ)^g6ua5Nk`X$cx59tzH9Z?sk|R(gUTr>kw;2r}$V* z*5Ta`uSv%0@F5tb3!Fc~wbgZryB+C5_d3mku{5UPnOLUVj;cw%MSg{W_#VvDW&RQsoeZx@_QWEc$Ggt(ej{x&UFFIdwxw?4x=}Sr z@;gt)Z=G3_jMU-t&bB6W_^;@t!=uirN$PcuXXVeeS`3u=#nF~VhmSem66^4>n6JY- zTxf0S4qxm%ptHYsWFUQ}HNhucVyD(s{v7>v&W?T)2F5f6r*;g|`F64KrH*w2Sw0m* zb&=;^X3y8T%iS3xbsK+$oGy&3NoHe=F7xM@sl(e|VcYBQo+#)n?|P-R7|pw0W&1BM zP`aun`4<-JrtwxSmg*`GzSF`1<(cvl<=wYrJ(3;Z|GK$QpGZFTD$-+`gJ#4n;b zrs2;qN+&aGlBpQ2%Y4*5)`Twb988Px{7;m1J8yiiHKf!0?JNs+w)20|T9a&tHaBGW zSY*zzxAU;FRc3s65ti#Je~!VXN$zuBH0dHQeb9Y$J8%DxwW2e8^5YI!9e(sLzI^NO zZBN_&Qw)@zwvGN~iO=<*JQo9X_#^bw;hmqeL+S7_sE_HN_hcBYoA_dk)dik~ak|WJ zVuEhtbzX4j>Rev@>P0gVci;h4bEmW1?eCUYhj)G5zM#W*prT9s$Uki3(bfvT_)mwQ z4nOy?8Peg8F+#WV8|_xRZsWR7ZU4mvQsN0L)fN6?r9(?6t1LNso@X`kndq%^duRDY%pqDQ4Qy8qP{F5*3 zXgb4>V3@9O^H&x?hi^wtm-r==boj8ZJ+AJs9;=J|Lf(IK4OIDK)L+oh;jU|J0^`GZ zwCV6TRCV}XRCJj?Mo;%`=N-SPNzyvQXQH3Z@kA7K_%4jn`G~E)wKN98eK1&u55)l8 z#J|HD9X$2*)axQYg@O+6-^E4Xb@&<#k7;h4IREv_tW7u=%vFy@-fqT9j;=v`=)$g?@xQuCe z0})kB(&6$7s{xZBW%2J_!ZW zH*-FhvONrhX9l{=$8X@0?7G1J#DbW{C*1ErHKyT@eGGA_&iDga$82gQF7}|j$7U`* zuCsg(nsk{PHuv~CoNQ@fE{^lR*aRcoklM<1wlOd6obHlz{jn#G@q7VR>+sfFyN<99 z?|{WR!?$khbJAn2Eq-siF3BL>&cFX@mt?XI@3y0hmh13CJKFxu1}X-=K)Vi~ld)tv zJQIs_nV-S1-#2vlb3I6h&)nHQp~L5+w+@d*4_)BDp{&DSV6y%qFNW`Gdl(2`gPacE zhGw1W-zB*n6tgE+AA(+&G<3Lb4{Jq-H^3^>q`3w8K5i(9 zzhbx!X9id@9X=fWbrVm-C|%^+P|@LqXw~8Ids;Fbz60ZR_}>_#+j;6<)~HVQcKn~V zw`0*jj-N(9r{wUgftEmrFWAQt=wRCR&79cgFODZU(;OB*^oMfcX> zOp}?@;oY#>^x+GzJRXO?L)J9OQDz8DI$t>2oqu85$DR2$?Y}y1FtDcCN#Qa# zoa_el)LEW`-nz_N{Mt2Ab(&xMjTzT%{53}E@X;e&=3R$Rz#!es7h|#xzl?GEAvFW0{;t5x}AS{hE1cJx$BwsWSt75O^46QnNc0S7SnW*KgAlI zKD$eD6?%*_)4aiGYgDH>|119uGtkUK&vV#B^UWBoOZ++tI=R4h#{?bzCno83-gr!x zq@;6v6K3iPA9taBBF1wG3t~K{FLDkT=lq`&FJZA8l8d_}Cu5l|@~2p((__0Nm!kFx zOTh1-r%wGo&X$%&7x@eH)9FjhFtRa?P5g5->866yGluH|mkVwfVW4c_Ta41lrCpNk zFh*ziSQKvrDwGE1t{d=O^pCO#i!UEmp*r^|V<1{DLz)SON>6omwDhHZEv0BC(vJ4_`Vz5 z7R{faNw@RmlWcokxCQB}Jptd3THWD0Y$p@da%0I^Plq=` zMW=aJj5B?B59D;X_nlpmAv&DFKpox%{dAUpb*JrLH6W7fXP9dpz5zvD;s?zSVx9!xNCz#a74vyR#kN2HJVypKMEAy_33w8KO%*z|7iVrc`1BG9? z-(IT2nFp*!9o`R1ba;cg?ySR$F-?b0ddLFk@SPZ^%lrnG>D0qrlEct@f^SASzx_O4 zb`6C0MZ1Ygk9aYHp~iTR+MVG1-y}{(pKHB8!>w3jqVU;ITa7w=_unkN4nK{BI<>G%vN!s2V<^o;^7!N(aU^ZfPs2JUL3#3*M0-xN6|}%_j|z^P&f0#7@;e?4D)pO8%)#T z>tA%#=yj7$PZz#t}Jomt{AJs_hF<#zb8k8~=n8MP)Ph|Xuk*#R|8Qa{def1Y zqKEGATb9@zQam30jW6+g7^B1K_iR@k-W!8-6HmZ09ex)Jb$Ix{?GrlOlK0;<11(&| zB%S)uw#O=6S>d(YM-I{Jt;Uai>x3S<%JrXEb2@w>2I}xQ^wr^;(NmZB84S~HyiL19 zROd5dn@@d5Vjz6SN=v50&tjyma^F>ENQb}q+*dFi?)`;LpwoN_di>GO#kYOwiFJ03 zSIOTxM0N6=C&dsQek19cPlg$2OS&dsV{A-R<5IL37ZdUQDC$y|uE}$lrmOrlT6MZ> z*W@tF)lEDR^L3G5z`~fGKfr1oKD*YXJ@whOc~5F!v4H~Ljv+UAX~hpBBE!dEA#DYjEXP(}eS{`-68w41~9KF|2{Qncu@C zom$^DWl_>iJPfOKcoN!l_;W1M;T=;pfes&sR^7~hM(vGuYF>iujn4lO2W?>Wx*>cN zdg^Ar6+?81XJMKSKY^kSZ?K`&sKZ-fqz)g1VY-RW#u6QV6%`$Re?!~9Y@pr1*XVzf zZz6g9jk+dj9X=WLI(!yZn?8IKmg^GFL)kRpuQ4GWhnsquIUSyZkvhB>O?q)&EJfBp z8^5}-RTs_QAlu?F+l0Rc1;R8yac0khj;3l4A-OhdJNHRT$eFJlO2kD5PIqy@36BSQ@3&d zU0f;m=7tU*saG4%`DCPlr3S)hW1$XTw!7`E!*B0lXVc;B1~@n9a0R1ucol~0@bC6C zb2@w-2I>-jvzN7KCX#*Zq-eU?`M+7Lx38VW4Hp^uJe}?|Ic;&+n4YD8T@Y7gs zn(&)gq{Clht`2uS&;sZbZ+@_uaNjgPk0H9stMmSAHL#lBIK;Kzb@&sE*WpEnx}d!d zzlISydsx@xUd+?Ukgmxuut?{4+rzCwodnW2{mG z;b}vyMjd_;Lv;A>=%d50p{GuM;S7kGI>)CRXX&H)4lLJI{tl~j<#-E*WQrq>H#pJu z?_r?nM0+AKy1>_+W_9T@|Lb%!r;{^mdrZ^qyyaQeoX+y8XwxNr5zBRzx5!zT+gvt| z(`UOHxDM}v0eY9S9sl=@aaJ-AeiN(Qxs7kX*y=StoVvsl>+qSFq{A1YpbLer$%j~@ zn=b9@Bi$bJb~C}N(Niavbxn>zTIYBohUX1LjJ~{UGDwGSML%8QDn{t=yO^ZIwc|Xo z4zG_~On;?SdX+CWI?ZRGRp+sbRY%(3b6KP%M#h9eSzq!_o>hKxJ=^THJDR;#C{}XLLl;Z||9~IrsTNSMV zo#y{wiB7IJE!uRr;g4oo7x~X<*A@O2t9AMYuMbdLvT1lCdgvn0yTSG!Xkea!$0j+2 z>hMDJ(p6sXMmvs9@evrRoA?xr)8V&~)8Q3p*6qCGP1c^y@FA$^@JndbFXhEjOfk^L zV_O`@y2Ni`X^iJBCtFIL=3k)K)P@efq-%9}vzzU_F%9pF(Z+|5L9-6Oh#@+>82Nz) zBECXDo!sKduuzBhz+4@E5+xme8buxc6a}5!>b~fGr~C4*sMp~+SY?{!{r(qo)T{71?d?^O%B7Z#9gX-|NSgOOH-RY&64zIq;{-VPl-E9GM z_`#VL;Lf~{Q;6>OSOPa>`EK;N%g)8mVz>@pFw2)?9li<~UF6xAq{FAr_Vr$e^BAcM zJPqwSoGP0+9o{1Ezp{ZXcpH>-hWA5un(y^_0{ZE2!+o~B4sV5e9nN5N+?Q{}5aUZc z4P_m^@qSCJ!)H8TU(@-Bt1-$z_!bP;#kuxU%+qbW&V%M!=lCWp(j|T$i*@QDFJjTA zoA`Vz*H!);?J@nscG7ufRA>0udA5Ht-6}FL1NFMhuOOw{c;+LPIL7nl^POaLn)k&B z9lixabod?&jOls%#~fKY-1xY|RfjjjXq|rC@&BfQRs(Ik?i2P*9sUZ7ba?%Wmt{J| z`(d@t@+nAWSX=x8>UEXBLrLb%{U2FrEC>9nq@8 zyJ4~pzk+c({02tr@Jfu($pVKWlDi#>ya!eoAASW(;=Y`J!+#6o&fN1U+gqpkQS@-< z=BK+RzsGnTz6_&v_$oB(aI(-@Qiu1)03Ch`eRcQ+^wL$H@r*TnxAT9*EL7bPzW!M= zp~FW#XAjol6EI0P^I4cY)5~x^7vpsJGK|#W*%+$BZ!NM<=I|QRF}lEWFiw|wt0lI#4yWES zb2_{y@u}O$U(w;MQPAN&Z<|pa-u@kX zz7Fq&fjaw+<@{e2jsNPJG`k^u7l!EYhVPkEo#uTpUx$B*nL4}@lXQ4B#_8~` z?>ka-mJda*R&Voj9&3ybZ<1eb=Q6MfUx_6;{2~_WDtG(9e&EjGOVMA4-$EbV#@}L^ z4sY~t=Xo8z4r6tA5=QCpJPg)gf@I;K!;UBMZCe`6XFi?k2Kp%a=s=TjM22uvXFC)?6Gyh|U@&w^=SgOO1 zV3DryN=!3-@_E-}WAvHh=l#4nQaZfDQ z<$;QP*Vn#B&}Htu#_H8+{uPGnX1?}2XTX@A&q`cVJ*KItO^(D|UEn#W=rZS@?&2ct z2C6)xwl-NBH}Dr&qm#PYtuH~TZn z*JHE}mtBu`m=4c%35daE=l_a$)YUG=xuL>UWbZRWycqp-_@oVLlU1e(KjSZlwdruO zk^AWIcRg#9DLTBrKN>edH}QCk_Bi3AH?B>F>+qP3^R>wk0|f(r^ye}c=+pXz zt4${BaP#IKOovNbnYsI|74E)`zb2-`ryPlXGgoOsek8Eqz z=J+gwz9mj>p^o%&Ip&JYf6UWSK7ULzrip@INp~hX?elb$Q^1 z4&S?j?LX8&ME4y%unr%Pad{dYJ|Aga;8v{G;a~1zhIDw{UF}0U#d*}vH9h|mDc#2V z^|ycMEMI~FF-`y4eDb(~K?W-PEt+()TWzv0hQ}TFB23WXn%%8N9sV^&>Kwm_k}mC0 zn>;qaTGSO@xwpMt`>O^?@!;BIiB1o$O`bd4{xmnv|Kho0%;|%gze7Kr46RKLK|zP_ z!YCbH{tJ7u4j*%@Jz0k@!vJ06PlnYd^L2RUa5JaFZ=YacbUUxk$A1P^^Pii|oepns zvVB5l_*m3FWT)fwuN{8Tyz_|Kq;E7oh^(&g?@uv9y1@*LF2=}9P8-N&3psKnkL+ekvja--`6HXb$CY%(&3@#uiLop z5=W3uarP41e~AH+ynlsNq{E-1sFN#elS?sRp09X((6u&`4nJ^RZPIR<@E6xRAL!~I zO?!hSGfkGqVvH{ELQK=)&2IGgdb1lH|9cuJ#2t9}&2|>u%nzgABYxP-V{dUr)8Xq; zt5dhytC7`Neg{KzJ0Cg4YS&FX6QgvQ_rJ}I>hO7(pEnS(`&~{lI^2D_Riwi|#u%O9 z{qMG~=q7$1y&kp1yaqWP{?SYep~Kf>unymZ0XqBy`s%iO9In}WEuDezZgcFJI>#%} z`_Eq8@=FhxYvaT1sOrqz+T?f)G)*(#jzPM_4`Q?q@BE-Op~C~wq_cbp3V(L~FNg^a&9rz+l&;@=F%VQee`C&U|Ov4vpK}^G4AF(!ciszu$e5;)op-G3o#y}lj z=TY0gpMlh)waGS^r^7$NG#&o-&*oHzH=J)(>u^sr>om{80$t{RVu^0!9#2?{kNM~g zFM8VP+4w4dimdV3{NHMmQ!&^;j#r>bxARXI)+Qr#h7U$bhYxtxCez_VF-kY{Lzt;6 zyb^14xW{wWoDN@9@`2_|d<_5aTLl-%RKkh;KX7tu&u6y1&T&MUL4AdcsMGTQN|FfBJWOyAJP&UOGG!^-tujYVo^QEsYz>yxD8Eu}<@^Fjlwo6-&&h zuJC)95aW5{*Da0C@JKAu;SbQN!~ek)oxEZCw=9fK^Few4^{6+!Nb3^M ze%})4GEZA>HR|y8A38Va@O>DmE4&h^C#`nwvBG{}eE4cC*Wrm+qVo}Ru`uq;7uWe? ztnQp?=$7o$qgygkXZa{pb$Bvn>hPwiZpkDa-e-eu$v7Pzj?p^Vuv@Y{mgo#0k2am! zs9SQxM&0tsasy2UCSsK?@^tk1OGAgZ>e($x>G02x=nNl-p*s8ovO4@MGP=s^{is{g ztW$ghM(HL#6BT{tkMiA;%MG*|2!DggI^1RBZpnBZ-VS4QhL1qczxvLGe}hDa|A7^z z3BQA-I$XC&w`7rS;;)c4ed0nXTVP7wK*ZJ+T@UWQdAFoihquG3n4Yt}yCsWtIDd@)<{Jo4!%SV~r!ep-@7wT8NbB(S zKkk++_n_g^w&|8E)ZsTUPlt#1u}|o5XOG;O^a$xjK9trs?pB zDC%&-fNn`nhwsC1eP3RDfguLcdzm}b{>`@ByIXQGdgub*a-f;hCBEzkch*JzD<d zhdXw4_%Y1W;creb6FS^}k{wxxk8HMSbQ3@RYx~eMzN6y&Z!MVSeDcspb7!Iozk0gW z=!Wp7XIOPQ{1=SY;XnVbTQWk2+c8v!PdKYvGT>R?)AIuK(BY?Y-ICR&3GaHY&8ovE zk9JaeCU1ulD>1?ynlJ2@{1(%6xbb2;kq+;Vu{y`E6`V748y|U@V?D<6>sS-xdHLnt zlD^OR9)UNz%I4GI{ZOm3d{N$ilMGzMdye-6I{e#f%#aR0f1Rb&;cqcW`_m@L_L!$L zd@dH~)b;iQEY?|Gh^4y9wYQt87|$mov&bgMiR&@IK$%~K>p>>%JhbFc)XjX-U1mrZ zcm^iL^!zra#Ps~kbTg#GeP>#WI>S%=$y(8cIo*=Km+eo_TSHvA-}WDFKqTuuU`};7 zhXp!(%YzP49sU3%9p306n?{E}d)S)O$-HjKvGbivUhq*a?)s{oPKSSklrHi^7^^F< zI{tTl-AThhGhc^tOvGQH?~8s%hX=lC`|0ojsMXF^lL*KNG= zEo;$zoBr7?c^9Me2HM4tce?rgPdD)M%bbQ|Jm2|mPh4&2@UV~V$;O9I!g3w{^=F<; zhfA2R!+*zI_YDtOX>IB7AzwIq>Tv!d{|z$`z7~UZkxyRZM4`jqBz4IW9Ufg%mn_r; zo*Mm<4;%3kOxEF~dtEX@hwrYhONQ!j_lCM;pbl?=elI!yXT&Bw>XOB7NORMAE~%$W z{4|o6?Y;aRGCI6h$~Dz=xC!;TZ39=U*|07dsl$K7P#yjRgLHYLy5tqi)Zv?Y=IfG4 z25#zEmpr?%rPEm##htsEOI+y+FT{Yq`^J$s-rPk^b@<5Mb;%mjgs;I09WG(1PHj<_ z{0&*tS9x21yoiLeEQaP$tWGZW!t)BxDG#nA-d@& zb$*M@+R|CxCSwgPcF6I>o$Hdpy2wlW*CoxmjknmnE*YoOe8^sPNxo#DNetZI-03VI zk5R99pP#QslMX+9fHk4RJ%3)8^wr@l&`YQJ4UExk{NkXxWW28Ow+GfG(_)%~>XPZG z=<-2z`DB;FtzrXN9(JT{`Ksfd&pXPK=psLaw61WUUwUF)=1qo~QJv=5$J>0-!!6kf zmQpwID3o>h%M-0>9qxKkT{7WS=l_)09`oIh<*k2Rmn_g3o`R}w|4m(T*9ccK)n$GY zt90`z_F|VmSrgOqKhCI2`oCrYepi>=icz}62j|S3ZsPMWPlvb9pY5zz}VEYd077Hf2PDwgYTE0*Xoe~kJiW}4SK*M6hJ+hDK`-+}%*A2AJm41}LW zPhI7$Tn1yLPV=Q0t&6<=d38xar}*6SU5r*2_)VMFP2V8_wnhi){T zuJCFMded8ZyzNaMQ-||dW18@yTkJzReC%yzC~qL*i979pI{XS+bsLYk%TeKha{M+H z=+rR+Z89BRh7mgTr@G{uxz_YjYwJNXcZL5Z8whv#tHVZz zhhVf0zk%U8{Pt6JA{`$1v^Au&dm#kcDRmU{1)Fr!Ps4j9V3Of8P zM(OZ+uUY`z%okv;4nOd!?O!tRfPu$R)D=GXwYsFDoA`57b+ROm40HXKvmXBmtBeny z`MM?6Ilcv1(}dg5PlwylTZcD)!`juG=fw~-8|biZ(#?De$~t`MQeUWa_%@8wC4L$U zbd}%wrzg?jXWq7#>+lBe*zt6l55tgu`rQwnfqZ`h5s#veuJDQPS~4Bpt)_djK!+&6VZ09i7Grc9|7M-;$;@cpx<~h9u?|0oiVmN&Zug|z zmN%#3b}Vy4i62DIw@t)5uh-q*-E}_TfoL~PmM=lt_yXUECLP{jebec1Z}ih?{sjs; z{1Qg#u{=0`p=behJfJBHnC+?#ZN>hEK#I-OQK3mGwG&gYKcj>u=aSS#6qd zPb}Bry|6@Q`4aRqeZC-WN5Me&0gTe&oi?(Hb+|tU>+o?HpeuaGk8FEg;x9I_X>`)7 zdvYhry38$`bx-E&Dv#;iJ*nyfxAnID`@CyA8Tb+@9iF&F_hgNU!Z%=r4yU&4o-Ebj zu^40e@QoOu!#i$ebLjA{$m;MF$mk;9gw^_{t@7QI#|^X@2)~9!I(%l@=Fs7DF;j={ z#AF?=V7v}5!{B9pEr-8Be;vO5$2OA=--MJ7KZzu7pekP6)=?16f7;Hf)8Q%oEU6AZ zgHbUJkJ!-?=y1QCEr1RWK~*<#9;ts>)jS8ib(yc<#i6J(yPD<}|MfRe+`W795C-aG z4-Yt?dooCepWWLN>MG~2QAk?#V(OzT)TIles#44W{WLzl`4R zIsZqTcA%wkL-+ z)>U5bY)h$Aye;PI@Knsy;Z{u6W&Riobvtizj&sHbKIp=SBCR=}++d*IKzJ%v#{=;T zSf;~EuvoY8*H~ow@W$s_b2@woN;-T4#>ZpwRE*K#1sI{j&tT{W&i@hbV2~Tyc{A4$ zUZcZJ=h+!`_(Uwx&3p^`{o7YU{>%CH4;`L+frZf(ejcqlybP0d_*;zA;jQx*I;0G2 z%|Ai24j+sr9sU?u-Oig`A*4C(OK*Lz|eUiXilSf|1>os@KV z7_uLEeZWKRwaIk&EcDc8-D|EdoMn5vL-_ett4@b|-Di92G#_@q2XlueJ|0VT_|J2F z4bb5YAGW=9c*;EJaPCptTZeD>bN6JlF7b<4o;OgLZ|8f=_RvlI1(J^~&EwsZW6?u5 z^9=OVW&Z35how#`-IJS<(IwvRNlUD=JQ+iDh4=i6v!`z2%wL@YbU1&R|Hc|{~2 z@@DtspYOTJK;9ZfN4uu{b8;C$UtgkFYI=dSad7ZH}u? zQmfpTPd(n6(K&t>Lv;Cs`s61k+HZ8}r26E9X8V_}@TVB1lauR{-SYk$V<5}tVVth= zR==)KiaO1wp`>&C2wHVAqCPnj^K_99KgE8e!(B&O03F^33v`x$hXMcbTXB5cY1XvP zM~p_jfimxSx*bYq_?j~;jV|&6jML$Fk<;P7jH*wXb@g}kNzIw{$z)wRt3G)NC7sFD zC#PVhuJC_Q)=g*ECwH7}`_GGs&b3si=rS+DDjojS=z4!b+uw-bD^S%%o`F7}`{tE* zJJ06O;RBH90#8Ac4*%qQn@NWUp`Xs3@A&`5z;FZE3+j_|kkbXeA7gceKf`#PjHyqy z$0VKOTQNnq@j4gQC)0F_S6*a+bm`*yF^sEuG{z%EYRU?Z?p+?IKRFBN(M5# zAKG>JJS^4Wi?K)-_&W4n?E}U96zX;OIjlBKmDjt;rZGOnKgCcTo{OvwKY`3@=l_cM z7R_!*TI!P@p{T>xW2_EO!6;qgXJc4b`2#G};fp7G5*@x0({zzvz~Y#m|ApEw8#;XQ z&9;BL8&1C2gQHF7cp_3JD)NF`Yyw^7?zh^mI=mew>+pUUr^9C>r^8obxDMZq!8-gP z`s+$wyoVlN`C|h7

|p8^Y6Xvk7$gEiBOCFECeoTf}ci*{j_*ya0W5xX&GCT4(qO zOxEGwVw?`ILOy38;!8B^@D3%1jn43yn5J_)9gB7N$5S1yI($0HF%3^d=4;=&^Ihnz z!&}{HU(w+{SZ#XFCx;qXZlH;0PO~&7D)Yw}s@wTz)6KOG{~0+Q-fV`M)@eQwlXWv+ zf)zS^1D5FU`gdDPI@}X;zjpqQ*bCF#kma}0XN`9_dDKjEt;2iYW3FQwKKx$W&-fS5ber}@Nr7D9)&dck3-!~0`gOwVT^^NklQd}ZE$y$xK+x1wH$H+|9eafk4hSf<1K zV6hGl#sXdDiB)UPeTzI9lXQ47#_I5Zmz*nf_)HAb`G_ePY@oy|QT*12hxp(n?x4dD zziEke_;f?zrL`x^m5*Iwe70=@*gls$Mux&!4%!bJAP@O z&_j3)=IQW8U&Z;~Kwojr*H)1p%|$HN;Ww~aFXcVgShAW%JDZnPXwu<%7_PJ5)F+oB zr)TnWDC$L=|JHt?+rBdsSfs=Gd5QC}f$$TUrYn4Sm-tz(rRU{=Zs$T*KjF~f+fm=8 zF)8sfq;xxvsC7|ho#SgTOot0~euA#Uwe^nwF0TKQ5_JvsTsMT*>Cupk(c!HyQm6Sy zOwI=`c=OFVHszrL%B`~nu~D*p>>bok`;V<8$lJW4OoIi9$F-V(UXM$y0vNa-q{ zlkzKfaaj(29DU+a9Q+>))#0-@a4yi{N0EtX_*;zB=?#6V3X^sCd5qKHEjRMnfS4vP zeutR`3cP+#H@JRVig!cSw$Ji$7@))Fp{&CXpeZ0UUuh}$at!_0CgH_cu(H8LFCS|u?%q(_(xcG0PfgpyhZY(i zuIZ8XCCneEX`i}!YN}<<_{JStCS1{&ZaMC<#{ONKrVVSk{<6lsyN;ZmYkBdq#-Dag z&*&z?8CGJE;#_Sr3; zU)4CEr82H@>y*zGB;)-uPg1HcrAoa@E$!nP`|MFIEh)8?mY3Q~t4qn$`l+d@y{4w8 z_MMuUI$&yc>fotOQ-@7$o;q@BZt9q+#i^60mZr{}x^QZ>r6m@vI=-=IOYw@vUM-Jb z)3{wr;j+fMuGwjWTQ<15ag&xQmo@g?v}yXV>CMwE@ANU#3)9C>FHWC4y)=F1^m5Bl zS2u2c)8#JgdFqvoeOk&_H}2Tdc6H;HUHjgXX?gR?#={%_yPz!}UEa7&OVd@2eNL;+ zS~9C`*78~HvsTYaTI*X=t=}(rrgcDTwsml8Q|qwS=GKv|xz;hQh1T({#n#EKrPi6P z<<@zvmDVM#ZLP~&+gn$+CbR2jr)H;T_nn=YJz#cr_Tbq~vxm(dKf5@4^6b)VE3oD5 zs~V4NX&u*?YT0*u-!a3DBOXjrASw5$I&gwZy*2@KdEB%Mn znlAM%Wl94|O{HO_=F-Uj-_`rW%55oJ(>SnY$`zi?j*{A7$zADbeWzKI)9fdteM<$_~mx-!p#3?9n;sh zacLScIB+qT05v)+@L15Wpku*=1v3_G0H!(xU>d6crmGXcEMu@JVo}4Q4T~-;;#h34 Lc)Mda*DekKS|J+- diff --git a/bin/lib64/libBulletSim.so b/bin/lib64/libBulletSim.so index 36674f007018a38698881800e89b647467c885ad..a695fa4b41d96f76b9341a786b4e31d5297d2f9f 100755 GIT binary patch delta 691646 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π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

1`eHZY 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%0A@M7qb#S4< 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%0D!je4*_)x66k*o)t z-SLaopZ@lh_A|fXfM9g$B0DE3xSOM)HEJLQWZ`MGyv;4 z?eOn0g-6qxZGNs6(9fnL0N!uWhl+&dX06B{@VW)*h?afDC^9S^+ng!5B9lCrW~zBu z-HN2jK3YPjrmW$#9Y2$e|0&t{C+Z8?N(QWaj_p4pDY`{`4=GaYURF6`H=5>ue_^fs z8IGNrAo|ZhNkU{-vHUs6HwWV(BoEP5=vL!mm>>=?vLjmCK%lH?_@`n=3x2VCn@UQt z+ocu|yMYKm##xL}qVWN1t%KGMu=QbfU+JLvJm#$enz1_s9SMHq5a5phzN770IE?k( zWcw(kJ#>^VEj>zkGD`<(D@?k)=Wz-qg4X^3hl)xCQ@IgHRi-z+$P1n?TrVeUS+`(49;`|h>EyMQhNFI`=>g%KOM9(uS z$1$B}nuahOdvpLEz{%bT0KP(+;s9aGN$&;wM) zoIyZs8GMb-BmwS@q=GJ8r~>$A%f`2$nalrM0|bh@ZD7Vl&ZSl8X*;!w6&M9YxAi_<%}b$Q^()MekyJSRMnSg`JxC9J z=*e+Dr%L8^V?cONvn?Z&Wv)SHFeEII@f#3GMvnvjG8f@Y7PFUe9(UC+@}aO(RA_

*vU)FI)ihU_u5nn4 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ⅈMAw!Ly>YIk==I!JCCle<-td4Hry?l+s< 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 H>6rI_Jt`B{ literal 1858716 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

w~VzBUQTe$CzIum!1UKm9@f% zm)MF7C~B^khDM@w+ess$a*Ha~98+LCXoTfg)7p5qaleb3LPaSQi@dz--3keZdn++= z?jkuad$(X_RyciR$OEX7y%=HsMZw8iMhRCdAg3M@%59j+UUo#@4pTkC7M(iB&4?BF zp7EN>WWX^8SfPqGi@#A30pWO!-pZ?Gwtg*fLE!gQ=J#n%)k5>Tz^SSW{9Yu#pW09X zn45Gyj$uj=fXVd@jhr7+GV$4;%yGK@xZ8W7tK9JOPczZ4(S{47Y$klc>Qt zhPacc#5T2xe1?f-OAnl!p+9B0+#fu1%rGJXL^5i`b&I`s-gn=yA3|uatw*NAh@JBxC ztu_iclpqm_L8p0#k6B$l0Vdb?=^n(%P}vlb-rsTHZuFkr2=x93P~=viYr$o3svca! z*B|Wut~B!IzA}}u1#6fOC@I-nH{TAD+R6M5FuM~8K1ni60vXSJAnY@%N{?$<$yD>p1D1{=(k^ni>-9WyoqkuO~(nkUte1V$=SVhu3=)@af z-DqoDxIAd2B9?MHJVt^x?mwnJgeB-EY^sjPsgWe;_5G{_p|@p}cZuIXOX#P4S3!~5 zsk8;AX$nq0Us1re{oK7r-Rg%Rb*gC=-tC`=YId$g(Ka;_O-nIt@GNaWK!8?7|g2&mOU5J_?hbRhC88cQTZ!7d2En)4Xc4IJWBvjXIV5xIQ} z4n0SM^S%>5DA1T3BG{q?ApT&Us+%=oZq?d5Z(Y*Ix|&8j^BnF7`7fqVny>RdLa}6I zTcmUuR6&;Kr~DeS0mCqDirSRq*EJ<$f@DkxZ+mdL`=s_OSnC!#I(Qxhj}4y(WnDym zn+L%{{kws`v46DIydF_E&$Ms{wj)^ijT1waX#z}T{ti_RZNk9cIM_fAf-0V1l?`b0 ztbrN*hp||>Sk25}(k_rr!15E{@yX%}K}gkvC>b&V4l|mWD6?eS4+KTgrJd#s$VcOD z(F;hS(?(T9l&S#V09??2rNOr%lEvVkNXGbV2AiF&V_6Y+r6XvjPBl|(`50nF)(pzs zZDp_Ah9U4X=#3bevGYJ_Xqhuru(k$PuN8cWNp%WjsuJfWtMN~r>nTB(vM3RysAp+# z#Q_d)!k&{-lVR;(*SyUIAi*ws&tVYN#gZ>1_3T#>;W%c|3fq2GTkCUH)-o>cwAX%z z^}@)fP`;CQCxC6$QF^tkEbyVA-2!{IRV9Xl$Peo(r+UEQ8Dbpe4!~Fr%YMo9KndH5 ztSUdi#}eNEs|u8eesijGu&X|oXYVz-lR+thto4IY~W>ojIViRk9gq|@g-{);#DZ;^ht@>PTZ@t zbDX+YYq_s`Xp{4|_szWR)sLw?gwyi2XKZj0dF79N)(9P2#3vX$ zbzjjq!gmJwSn4Q6f&u5V0vIeMb)^P_Aw%v&31A4ReWM?YpCW#S++_h@g)#AZdiNr> zJ3c1*3cqD#2w9^=p#MXAmwRwDG%*7svH@08bKj0g9Fdls5xEw7#U?XrM06j?aWaE8 z?Z#8_r+&6Bkqb*$MBc8s@er0BV9E?<;!+P6bgeNqQypIO<=N;4APTiLkN8eA_$a}C zTcs=$zkvfCZfg?DvIao-G`88n1~F?8r{OhJA+0nP86DcSjB;a3_huv+jWl-nct(=b zNMlgiN0L=5?S@O)vTCJ$Qb^jtMm6tzX`f`M24rB?We=?4SxDL!u_~lISL*c(bMCa= z6MWM~R8}eh$v@$fR-moqzZFnBB1cqOcTcr|viT$m>H+wZW;#sLdS4wYE=NP1=mah{ z4c@)+DzM=0jY-*eZyys({U$?uUIl9iG@8t0XO;E zfWs}$r0y6WvzV(lcopnA-}z%Uh%+<~Jl%ybQNH()de8O57zOeYx7 zSCQgT06ybX7b9$hga2c55O7D zbCv3(#8n>>mf)yG*K8ZvQxYkINSfOb8UmtDta0TEk?HVdz+hqj?WRnP6uRFH&SC~3 zs1W$zC?dz?w8ZOho<|mQGQ1F`s>8uEr)s9}JwyYt3T|h-BULM0WeWvAPzX>t<9+)m zP~&i0*bGcJ*5F7==}kDXq{jp`Wsy4r@e;qSg(9x%l?{9bMB(2DJ>)vL6=+(y4sL^e zX-9%j+L(52Z}hQok%#+FCR<>F!pFuZY5}#Leia9ppYP)hFbrnmFf==|21`_(j!GIa zA)PK^`hLHBCez>Z(~y~rw?wD;A~%Jimzg(VrGWmU5xjP*`;UdXDSi?0z!4Yx>?lT) zhLw@Os;C-2VdCZf3WU}|>y>~dMI~C}Gtp{%f_wHP*^eeF$wdc4cf*)`bTnRqt6_LE z3b1r$p4pjecD?$>nbyHuV)l9I+Mh?z2P#> zZFS*iIg)XE;U_lAkZM8v3=CH{e7ea}rqoW_B{)W8Byq_=Sus__W8S+gU)d**mR>wA zkGm6&C=~?~8#+E6cas9+Q}oHWD}ZQ3s-=>HQd_qEjuxe-t2DO?t-74w`~yEPkDsXU z*A;mK@KBYcau;$DgBPK%i8(FzydS2>6N=i9OL@DhkbSk^o;eV`Wt3$l)(e^BqX0tt zyrWls$6MDo7WEwjFL3$P1=(PqEbnJ z@~k;b$`6k~WoJzo4X(;oA5=@tTC354wFTZ|dzctxvKweJ$qo3+9%hnV`q#Ek0x}^5 zg@K;zJwf%P7hoia41u$eROu-?tqDD@=+0llV#@8L2N7C9T`b)|dh!h@=CSDh@i3KS z&=#NzwDt!$3(h)IQ#yWhirm6S67Ye9i}9fZ^%(_%ux|d(!QG4L0xjgG*tsx=<~q-T zNhx*ve^kCBcZLI9I_rs_DE8BWdZ{ASTQV!yTc#7jvLKH>Cd%ImV>3o3F^Ge!k>qlz zuecUDPK~B;2O%&s?v1)(4u>~YH%wuH_b2R)@Kaaa>@jokKL5vlVVHcR$u+RJv&k@f z+9ZH63@FSNBSW5|8E=s(MC5jLt>pnQ@8$HOg?8I!6S4|UK6 z!c32p&N+tS=}(+{pdB>hT;bmwku){=?p5Cf_ks%INjfk~x~Lff{sQzi*87xZ_MtZm|mt3f@|G^fvkJR?4uK(+Z$1%PT;yrm$L z{2c8d$0%i9dLyM*VUibp>Zf}FtBmkM?80jOa-d&cyD? zSATI{T9R)Z-+suqTX?;QRRCXBqJDLKt29l&Y>LO_5AaMNa=G^nm8h zs1BL-B1a3bN;Gn;qZb&UtT-@FnPtW1Ak{WRd;fc!3!zD)r`Gug`FaZ2!*Ru``apyR z72I-M$eeeEF2rQc-@rd1rTI%L;BV*>-LC+C(o!#5MCck;$vgZg?uayvP-g0Vtsp|6xyX<8ZLN>u(*2)RAoL*jllbOL@ zINXLz$eJSRG5RVDMwaGS zUp^gPB-WXkaxU@;_&ZZR!T*Vcn%!qGm7Qptc*}--(|JBr@aP;*8Ugms`chKs39!dh)Ya;f6KD_cn$z388{<|{zlCt4kzA6S6Yi&9eUD&{Psuz z0d??8`MD-_`SUM*X+#aimICid=4tzOama&hAIaon% zhcT;0n6Jk{1!L@hKjYm&Fh=il=c~v;NLL*qk|j=8VC$S{`ayiQBEt*PId0_`_1IO4 zMb;KsOk<&mP915w>u9*?S<3alpsD69us)w|4azJgbH+Oe0;wrpG9Vjud0%M&Avk~^@}K!AWD*RD_*hYx|4p)h?`tl}z`uR+rNNzwPy-uxzAD~j{fy=+!m>(Zl{C4MZ-pnNe~8u`f^GUyFJix%*KadTUd zTiu$gLrb;)u1-Cx`RiaWPc8x_UzGl5x0K5amP!`mQJ@j*2^rR;2vU}1G)Jky!YjxE zxkgKj<$6Y;vDCL}c%%5&8Sm`CLxmEx1Y$+zOueYi4|m zffDJJfK|yj7Z6vybP&^ksLe}0W$=Xa_|$lhQxOoA`k+|$wc4$N+63#lZMft^r&R#jm=P(S|VLqf#*4BqvF-Oqvu3Gt$4sGHTm#LYz?Z zrl#hFA;nXDj${KF2^R;{A0pIe(YXcI9X$O!+Uq0G21bhH#Ute6a#q^;EOwsEmgT^) zEE>6ZR1mCx01NMuPKS8CC%Tt z;Phcwl&K1?FWb$Q79LAsE{>QGhiUKP_rRxcCBteO3mr;uBH2;@v!SHDFSM zi=Rc`F#Z{DA?Lo~Edudea%b`O#S#QaFH~%&hV&V`jwN$_Ign=WrF7&YDF_CAs#70@VFdry`EtG(YB1yknFTBE)H z0-Kvpd%s6s%d8S@d@;?r(%$F1nun(c37x+7{@e}#84Z(PdtbffeIs!Mcx|=!rBaY9FgIYK6Vl!_oV<#QlZ65! z14et_wlfc1YcWfM+WYOd0c3caUwaQ@w>!V~evKvB+PjZBXUy9BP+xni*uySX9OG!S z#OqKi0Vtlc)V^hS#qoxj0D8d?TyZ>(Qv=|EU2$9^i;Juk$Ik^p{uRe!g&=3eQS>sq z4n$*FarC~VfT`xFKRp$V9`x4}Ls=`1>%`TeCui0q*(;92>8y^p;&?{9t`D^0_z{Om zEke@TC^j)Gcg68_X+&JkW^|2iP%EDJ{lQlp?}`0|=@Q39e1tccmAm5D8%#7FzloO^ zuOB>~hxMvmi$~!A3`x{YkHC?BDNDFS@ZSQBMvNka&`MFK)4gS!guLUK&twqCTFoYNI>UD#O?rb{O7N-m9v6AJ{L9CZv08w*dopp0eUml^IkOcxl z8Fn2rk84wLiBQcfXfJ`K0z*S=X%c_BL*bWx|BC`DiX2Vi{A*;DfOIm30t)^u`%hd! zm6u{=U#M#GfCAQTek9~XE~Iz|RiZ1d7XUl~$5R?O0aqhIqLo#AsLNQ`xl6>w;`~zA z{B6{4gczZ$J zhZQz_4+@4Is}>!%d_-w`Yz-{#)j{nh-8Um%=VSFn6p_a7Nz}no`w)B!(1(FwT*-># z>kv2a{lfLJey}U0dd-z?eXy&a$MOx8Dc=1EO5v&R7Lj<-VN?a?wh;+REf5~YTDSG6 zl_RLb{S@en&khqZ__$t@Xus$-ze=a*avTgY$=)}AW2G71J zo3MFJ*)i*5Zxx_-Z=qHj*wdi(SzM~*8YYH4mUK~K?8zv9#+h}Qu_dCNAX-?@af(Rb zc^t-cC@|Xu#x6c{Yo7Iwd^Lmi#f^gQK`mre0v^!h(QLc*mdrxx?;&01Dk08N6{G>A z|KC4D+5y%4g|gK!Ijxk!>$lbo6yS>p(KSAP({jKDmx(3`QhS^VQW_qb zI?|nt*8r6n=I&UiJrn9>Y}A$`{uag`vifBsTk>ylT_V~K=E_>~+HoUV^4DD%|1&%Bc}|EAWG9YNOC0F*poJOHP7I0Z4%mqj(Ofz@cP0nS z3C{fm*uSzGGFQu0VR%GEwON-HS`Kzt>3GI3FgQ7@gK<4b#SUBUHSAz z$2ntM9jLogI~L#9B7hr^?v)3X*Fh0&{7k!`+>#U>a8WB2t>d|!hO z5f_m%bNn@M)c2gY-n8!0d(iX&Gspt$2aK>+(92H0U_^_PMDHCu3%ADv{QbRyjn4=z zloy!XS_~z@_~jC`65TJ z!A0|Wo_*inU7$tJH;cT;D$2}IQ_g$u!gVkd=MT6j8cB26kqGdV{LFYgSOxgZv~V0T zlv{d07w)fsa`a(IkcH2|+Y1r&VJ%!&VjM`4QS&L6SY5LlUUh<9Q+HliCexlZYnbf3o7`dd-gKG)Rosx;ufK$(7ix-| zq8L@4U=XV-v-w%seMJR1dxBy$$=hT{i83IO5zV}+Qav{Ut0#GZ$G+!W4C7^C^30m` z>K4l>bQG{J_7UkO@1+7wXBRUVmoxh?{7OGbMJ1^ z#yQ;khMFoPb1$1SqSLP8iL*JeL7c{faWC>VaC3k$OY9w)^Y8LDa02Mfcq{uG)Omty zup4y)xEe;n^@#v3&a_T^0Gj_5X`biH3ygjo_X=He3?dSl+Lpp+nI9IG!afh0x z1}3MIms+gApUMvWsa_6!+umTM>A|b#-t*_?>xuivQm##(}nZH$qh$PxP&-3b4!7`mBBhVA1c4 z_a`3~>8cvQf-hCI@DXYdqmtz{Xw)?KNbC{-8Lt{*Dr2L*Y-qnb-vkafI4w8H(nszX zo~Lf)uW(Wl-*aP4t`w^e{Gh{4akoXSnwmYbLLj(ya+)O&s325uu(?-5fY1gIIvX8n zCO!4*gn7VKJ{vC;m0zWAFqC&Tc@u(P@=j!CTD`1q^Xe4zjm7FI`*kdgKF&k^#Qz6+ zVF4@)N5sES;a|QwjjG;@vW3A@9v~C%3%>0AM+MBlsG5@11v3Eiu!d3SOElc4xCO^7 zrzX0(1Tin~dkRiR_+R#pr~j)UiZyL`!oy9+<1VKmyHE`3@fJ7ZB;!%CsKPB>&DRsW zPXQZl;HYq3_ojn+70%y4-Q3~7tmbJ-?~3)njY=T+lUzfqW~Q(1VWB4*mb8UvVPT1S z#;2>N7#6l1&r_KNLElMAgyi}u9_L>jNC+=McRJ4yqwq{fp;e4m1L3EQx9%HPOA87;sA%AOc%*_=)RhcPZh0voTQnq+LU!uRG6yk%Sr=Wi z7beu7g&yza43?~4)0b6m`Xi;Vk1To@0;Y2x^>bhGbARgRKI!L{bXg25{oLoFwKU%Q zklTz9Jeh|ZUFOcu^(i1-<enu8?D!Ib+Og6}DzJ0(QI?KaXY34^30 z2MM&1kEDc@$Q6>ZN?0;bKpr`d#i6WuC%`-^?Um&!mEz48ai^tB9;s41@Sz1_h`apS z=&E}$ZObzk;V*qhP`5lDQrD-Y+Iwk%Z(IvGmWx_+GB1K9OEPz+&ZM>I-p&NxCN*;Mtcj>m0Qk zmQv?M%$*?OkN*y+`@a-7c^U6pVt%MvRr78W4WWyx-CE`4NT}I0f5U11LA)8Mo%g2^ zX-LEdpsrM>8)!`NiHVyp3E+K5Oo+m%Y5S1G8`OSRN*QL^*%HDIVz?s((`!hR+}W!c znTjMoi&2#u0YV5T%HlprIpFno5L8uc9iNlM?UT$*!&dSW{~0JwN3b*rcaW1Tu{JLI z^$<$jD4vPYc`Dd;qRdr=R#!OJR;a?2w{W1vhz#TWn4C}UAkr!XG2rxxSJ(K4G|IjD zjCVcPfA)6kjQ1t1t&mP*&iEVb*LP}W=^MbF6JJQU z;p$hoRYE>4dh*)E`(u#k)M6DqC$>Z0rHjb@DuKb1k36zlp9Pc9_vZdO-AZ1ZkrZ`m zTzg~BipxOXgL@iuwKLw{vW11X2lt=q_5taA8le{0-#mhbfWV$$mtu%uG^;F_?QXI4y02E?~?9;2g)+jJJnqh*0S%!N^yrGM*dA&x+kfl7Cl%t6I-^ z2R}xE#0%TD_GHN!!mH48Vnf%R&5J5x_&($ip!k(YsBk&Vf%q0w3MFl}qLmLy8nq=P zEv|A^iW5NPK*afywX-(9=C38R2YdBk$f!((Ep~<;#YmK#pil)Vb-S>-C!3!@{hP%6 zA^YkK46w+kyo?d#G0+dGZVJ+zy1x+TP~IX)k-%(fA>oEv9N*w>3GVyC1QlL12rn7| zQp+wi6KsbCnT_n=~g^(VO$%pF;h4d7CBKOY;$BXLORuYl&43!*=G3kh&d#I`?@gp zKqZqMeSRB0k5YlNjSA$v#QXvY8Sg|CW9%}qEx=i@twi2zkojO|K@C`>zVVC~Hd9jw z;kR}el#DAMb8c3HcdJr*tssFF#ayGE{(l%U7F4(h+VL#~1a0J`{a$Lz#(a}4vAC@O zM@nSy$?0{9~?lA@P}**qCj90Gs5qT(NeA@^}gHiIz_j-`8QramzO@Ji@pcZFTz8)F3Tfued%#-ZzX@YE)@j%P&dS8(t1}|lVmzenf6xNCi+jM=Ztxh2 zroKZDgx2!!Ksx%TC1P8l#p6XiK^%qdFGgm$ito6UBZe0b+Fdz1^DBg@jG@v*2<4#62+bQSYB0fV)i~F zO{sm%Z-DcvLa#_7*U!BVL$nL@i53YD+`dgP^q~;{xGt#Sq{sRS^GDXb45alzKE=0( zIUQ&Se)4An>g(0cuW|ZJucCgs*5>{QxhisVE;Uda+J^?BwQ^Qo&Ux;%aJsKv#ID`@ zxOB~i96l_3o}Z4JBT}$$3^Mx3nLP5w2@;@PAB^_Nr-%=4!bD{6^{QZ7DQ7u8pr<_A z@uGC#@Nj*Jcn!vzMTzuy(Zs6QEr3xn1>>>`a5c56QJ7W0(dmP!Fbm-hPWCQNI61wb zExH)6&%u8)XeI>EaN4ita@)IyUW>C%z6}@aewb3BgB~Y9&>;($!kpIrNak<@5+#Gl zogVdBE>SQdvGXwi^qNKLaSvo+Y%61u@MPvBIa+%1V&SW}zND)S6a)q0s~9pZ5Zqta z0`U(Flg|A%a%DZI_gF;S|3CKLKR)W}%Kr}-G?c}GvBj3%wc8*G z3^r&`lo=h7R%&TWEwurur8agF!#GlCVT%@9=t7k$T~S%E)k^pwgNlkjR#8!-MLQ8x z6jZ7x-{(FR7jThYY>Q*B* zos7`}?P85fZL~OFSLMG$|2@dQ1p;#)vn7BIiADb0-mnT`aXYuy_qGLLPJjPcqz`L& zSUsPSW0-KMo=H%@IXm4B-61Udt#O!5{+p-#qaW|!ogD8J{k@%|uz{{&h>}xdZM&?1 z@wa?WaG7S91_j10_jSn&JcY`ZXQwX%=xVWO3Da81Y1`@REc3-2EQVinbzhCAoel*4!&TDC{vQlc|qzO;THox7uD*sWx)B|JDa*D}ZwBYEU) z9~r355R0}y4o@6rHAnBLQ&0JC5R|A_yGBK^O+rHHVs zc@oPD9xl><(BA7BSyHYst>cP~u@wK)kNr?OikJ2}^k7=O5P#Dh8Bu(^$-m<6QlGi8 zX*p2!FxGEt-_3Ly=@s$O+AVFRj^~#o`QGhK|CiTUwUXOG!tx&!H5ZWy)F5XE9_Mv# zQ#|UQsIN=fsi^T(N4IBy234Q}Rdv2@a4A?FsYAG53Tn!WxF6NgZ%HYwjOE21`RL7u z>X8Q@EcQrA?psvHdvx%Ym4`z2V?$>nv5XFJZ5vw{#ovnQ{u6lJwL`9@&T8+GderqL zp*WZ{)$k~FTleLT+S61Npk4-2?x=@L`Bs9`iQo6W^EmC0gK@Qai|9&9pIQ!82Pd~N zj<%xHH-q11a$5=OAZUe~8q6Fkd{#%RqSHa(`J{^@Yd_pw(R>Vr8H_RmhTD^g%=Tv6 zOExvtYtbZ6ltH4f${?vpz8;b1Ax(ot(%JnDh0XRn(R)%l+gyCM>uF;yPPp&|_(dtJh+${9o^H;H`>ZPCI=g+XkTuyg=~+4uEcSMI1Crx(SM#vA*7zunhd^p||$ z`XVhuMax3gYGsqo$f)Eq48ENwMOv*`eBX5>9~LG1&DS%*;i=xHlRvI$k=_f7BcAH6 z#^q!^LwHtce8c-5FB492ebAGigGBS6A|0OTs8RgkQr!4^*l&w%oTB_a%oIC6RwCMf z?zi>BHsv2vBKjbXYx4t;&Q+f7Ob5Oi&UX>-MHW2tEj^(B{XL;uOSxXt{`Gef%U%Q& z?|OMjvEO^WGuT6Geuy<#)GJqDl=spy+B}3Uv0{$13ZgSR=ln;svfpnn zhBRvv(&X`R0olPPH=o_jz$uS+-QasJrzh4M3NWIFg~d+7W@gN_Lz#*SZ)qK4=C3=U zb1HqM9}zeenG=Fj5f^R#o(i>zYMenec*1HtVt1daz%SQC+UmWzU;gT2WbcWZ$a?I- z)5{JqPGQxbZ24tu@ZQL0wZ!v0x(m+r&<>QjNvTdVG@}y_l2bso!`$Aq5LpjyQR(s; zKcls=ukkQ(y}Lf5%u57p`l)`fjebE~A7KqnK|D9JoFJz70gN9@9 z$wV|Gwx>Ay7WaE_kV%hAZrXwg%S&TKtL%I#3S+46l z)sm25=Xeu2Zw#bsu{D-PG1f}A;okG5$8H*CN=c9O(2w^Ya$YZ!U*GG!*(Ak(4hS zPuw+lGh*A}Z~ZJ_V&njCrMfbRWw?dc>zJc}|X61wK=QS;* z&2sl|6QBBOO)Me~eUE$XZw_&f`%&rGgYR)4KsUnVzjBW|>xL1^zPEeapSIEDZ+2@t z((hgOxW_%2RdtCS(fzz%Y0+llyhKg>xO89p%}av>k{i3%Z4{V&a^p1&D(CeswrwaX&+`=T$u@R;SY++I zq_=h*rore}MxFm5fs^S08>Trn(Cp22P=7PqMRp>K?d|LbU=v>~owVl4vUJL^WXiI1 z$|b7#uEw!nlgOS@(}P)o9USmL_F8U8SIknF$i-Uc#`)VPI* z(I%4ES#qf=JP50&!q}Xzt1b(h_uA4y^JC`TZoiH46;b3?I@hUzJ?1(1?_KT`p6=I8 z|4kb1XNlR3hToaub?yIaG(70nr~geF{+SWnjfNvjeE5~@r7}Li0(2Fl9iK`Mslh{j zP)anjmP%E7nBHFfDZWEA{4R9_lb*&2LgV(sZ}~O4LBFX8UKuLoMEf@7w`(Er9{47$Q+k6ZX#^fzb2q%@Si0Zo z%l;CC<AXx-anP$hzmp`%&@8>$V=`ar z!@o9Hcbl6kq{!U*q34~&2+s98J(@4n-Bz}G35)egZpi&)d9GwN`faO&cRVYLyFW)S zEXiUoHQp(%ARA@}+o-r!(n7R2*Eu>2AYZr>6=12v~L&1Q8B%)Cr|0_`JnLs9PUwAtN#OZ7l));X7{`g zPVp;{?lZGZ7&qUb&a@H0I<*54$rtAMg@xwf(oNw%n{kb1EzQ;gB?*4EPD**|(9l8C z^S_!}^*4o2#Kq$0%Nh6_Ro$KD%(2xoB$+_vm?;a7VnmfUu+})>zngO^3fmtR!E<3%{+lQnPolbkS z057{!IYe`tzn{6TQ@?nG-N)WdzVKXk`Mm8y_jfqrT=tj9jjpkuR1B}4hVz8zP!2uK zQ#h#I8sv1~kRLL9IH=#v~X-;96VIEoqw>$7FSz5);^f;4HpI<0ljT-6e-n`DPbIFN)Bg;(cQ{qI9&s%PLDag6hdYmKA1VT@{=^0Aff7Xf zevUDi!>J6SqAb6EFBmGiSF%JPIt@`oQC5ENL7BnFefdns2R)(nM-1vtgSgQfKSsfi z=I_%`db@ed9$M2vy%m`k^^2O~+AeWzilF|*vEzb=IF=1F!q$HfGotqE2d-Nes_~@I zUKdwmeY{vot&8f3;MAxHF0-CiSPk|6Fv#~$cDJ2_1mvhQ{s}2Tgs=DnvP{C!4VJJWxI$Z@ zcj~|x*9+;%@$rz)!STXYEciR=X`fynuP*$NB+53%tAh#shJv7w!&(8np~7m_1;uL| z%;0!Xi!_Iz3))`?%bwu8twGKD!bfm!ssz`jpE>c3!Z!gYWIBUn)iR;HmV1U%%dx(e zDs<*>>tK#Y1s|^yX?7{JaEwO-KdH&kghe!k=dU%o2mBCZ`G(3TgS*$}8|;kSiTs?o z23G?c{PvUDZd?`d-fR0-&)ivt_coFo6AE*{>+pTaaCoFbbz%o3&I@Wbbn(!~foMEZ zF5rJcWl($1C8PNz`Wau8?#PcGPOs2E{cin&G)ipr&`Tx*H(&)(L45}u&~FhDYrFwi z`-9r`m;4>2DO_=4$A)PH`<-sYq`osKsJ$y_A0Rpz8^^lTM=5cB z4e(C|6JFx$@u2pp;EEc65MF%1(=Y9welo!8V0u5&g7!U-1S9qY>yLW#q$4Z( z1>-3Y8x2re4U*2kQm1kF{zbj}zG0YsGgr{CU&LLclZee8Pf-6B{$EtW6Tt-0ra9;r z2?5eP09=C3=L5*Jk-DI7t55(Hisd zSQNLyjNjT5P8>#mBE(nxi6i-4pXbBL@%ac_cuD`R(WIa>+^e%}NF<3@(n^);05pm5n!z z|9|m-49x;6E z1$UEIAK%!Rvk4=-qDkBqxU~LH#=BU395E!Vle8<6mKJ6m>nXg$@*W}Ya#uRc7RwbZ z57`Va_vNUVGP~)~@OXWEwNjtwR7q4v4F~WtMprnaj*oG5O1#ecmcXy9Mgpr%BnbR8 z%5vI4ByOf$ozzLfRm5N;l@T2F<^NPwmaf<{ir$*5U;@xoy-KATbpDe3!AEZ<9{+-7-IUBI5 znB(BX0oO$-`^^qbji&W!MppX%pypL5n3xZ0ASpdreUW}3sQF7!b6-&Nn23Ym^wju9 zx^zGPp1x|Ud1Fv>KOiX$@zlK<`0warHw2|ne`(BIrgOS0^{~>xoou9kLHZcM@$rIS zf*LFShzkAL_^_E^`Zejih9LbX;eJS&f=D(a8GKDf6aYdY_zM0@sZ-;-lqzVj?^f~G z38$LjH{s_Lo(!8A;-WiAlT)V;g9sR!lHpGO?1eI)=+--&lzvO4nMG5t z@vr{*d7Y~_ZIkI0!xRhB?~=2+-qDwSKt%2V{xPB1APm2X8(fk}C0uPHEdv8el*&X~tYS5#%rYsd1T-er@() zUKc5;J|}pEwx8Ca(Drqm{0cta*UoeJ)66qdx?KJ-iz*K->_0N~kav%zWIU$ny>k zVA+J>!X-vTN{HVjEByfKV!vQIMfExr(U`;!q1LuK`ccSE-Z6&((6B(81F(3W2as@v z*S9$2FDTN!z(roBC=!}_8am&gvUh}iZ={=&Z(99SEk0Z99e{7TT7^m7$IuxTS5Z~G zX11#i?h07dtX-xg@+3e>#%k*N<)j2PJ5`S?RGQ*}lY2qLpo%reHBqNDoiP0%c+E0c zlFtVC>mDWdLK#ptgjb%i$>fsXxH z%t30Q=u1%SFX(u&TRU(~3Oge+qTC0Fg^eCY&)h=v_ER!gz z6I{qf(i;bH(9Vk26i&F(mZG=2-U)A2p9M9{{*UG}y9hh%;nIX^%WRKQU~W!QP9>&) zBpYEy@`EtuGy5aBAiQyk1H*b?mPv1gAsv)@imsI|V(v^~UB~7Z3@k0d?hq4A+8!h) zx5MRZAV-3yNlKPOjEBJ>0BL&yT>nL4mvU)$Y|%DX=ab6qB3J4-{T$;;E2C70K0qx& zkKMS{!O|tMrH{C<^}VXWD#6^rQqUZmUJpoaA0Qfu8gO(*ZnugM$n3SUG9k1S8OK7d zBe-&u&355{zps%hn@F#Q^IdyV56OyvjlO=eVm=(^JRPK^GOjH#pBCn<)j>+ev(F1N zj(If9^)cmq{hjn5m7MhR|6}#Ik_fB9u|L zsLs$a!DuoWi|W600+|E;(bY|2m@#hIG#~Tf&@;}ae&enxbF?{b;|m#j?gqG3n8pF5 zE>5g+i+f$+0wUPAJFivbY~}Ft1PA6d=1#AX(>2j1tq^`hAKx%L{~I+(LHOMvN@=R1 zmZ`Et8Qus}IAstY(`wX{9la%a5C#<>VrUXIyJt}z@=luG5rnMV10hY5T~jQu~3BHuX2d)5Tc*T zmJ#;hE^(tE%*AZzIt25TllA%CI-#(J&#Y8}mL}n}lU1Ou&XwLAw0=Wta3nk(zax?R z0C4GD`d|a@gN%T8^&o&s{Jj$2WfUrU+MZoQhP)|LB{obRT6F9HO;R>J8K~?aHc<-uvTCRbFJG?SCy-sH04-l9V#TrW z<`pIx^Z;Z?bD2_%oi;Q->SU+NF*qT8)G*M^kod^o5-vBCblOTo>E}l5bzV?%2-oLF zH5vj+Amb_Mid|H%THX~tt(i^rj!Fn8%R}h4HOo{jaA^vuuL$y@CUy?W{OO6Z@yZ~8 z8CZH6KemX*b)euNK1T2%BT#Wc)!W)G9B0D!jsD;czcN^#sUd<675sj+KEFHEO4148 zwEle9K%QiJAYov2)uhfG8nkYpvH8Q*&ip9UoW9J*n;+$j!yr7P5{z1Hh5x7kQEY(-=?#uEavS<9@FJeg`8k_Qu$PpFqSDQ4cXqpLq@0?Rf}Y}6o1#x5F2 za3W&n>J2|MBAD&suMHNUPQb%`d)*26!=$O}3H=;=yEyc~GkPW0&)U*6! zg9DMY#jy+$joRdcs`fPTcSc;nv&EXN#%AoI;UK?@ zz-7aLOIfdv8Y+smfoq<_5iaqPW@~-1akfLohZ`5>{Lf;2&crW4Cs9*v*)fnA3X1G%dh`aDlA@2uu=#ll_C*?ce)g zQ2WFsjX~`rLA$+iv+jk%vB48_uKmI+D->Jsg_Q(w?iWU8n15D}98#bA@^E|bp`q>W zpkY0;)ueOF>PJO9@p!*aR;y=Y>3H(-dj9u4)A`26%IR-D_4woIc$(Vz3~HYYu9VZ4 z=t*yUoTX{)o}m3a5`x;JpC*n%4bn$%BgD5jc0vVMAMdwGu;Vo#Cm#xZz0hNhoNU;3 z2kmbl+jyGWBeeZ4Hzb9ic4yGePY|&^kv!_#q;>tpmQ!`uJnJ9tcP=SZ&fsSF9il0d zRo9N-%Da41J}u0(dxQ2{tj=RUOx&7s>;UDM8~lXN6MVei{*M{@4Z(OB;)kpuYK?j* zsNJpp>i0*A8rFVm2nFM5$@9S#Cu@lqq>oxkTGwZYTsV)0^;@7QujD&FZ1U(<#W|Ad z%D;=*3j++{nzG-F~s;SkC zYl1-ysfir0iJTP$5(GFtyQUhA;eZ229~$rEcwONzhm2rQqk%-(BEqiCxP(a?@Q3$C zQcm2h$S*~DBaS*eaqOBI-mks~UYb(4&>>U%YdU)p_eQzDx@GM!b_Dx){rZuPOy}X* z!^_8uW{2|m;et(^l^DzTc{-nm{PL@4OVBsVJ7&PX=Tim2n7OLa*jb7C{F|{76 zMOxLZ@D;epRyX9^gu8_jH`O_OxX&nVXefy~46m%9003P?~7mYH=%I*Bfg{aXboQ?dm~Toz|kSeUfvM;?MSMQC`MnIEH=<>ke>S4p3OZv4g0_|)zsQL_%tM()GQ22qq+1b&bD^$~q& zN@V|n`OiGZ-$^QXKkME-$~7D0P2oY{k`F_aJnqT+Rof*AL13gO&qiq_PaBqRZ$z^6 zCzxjh^P?#$Yc3cUPb)6tE_MDSIODxr;rWfirL|M)>rJK7Q(b9NCrl$~4ipd*atm@0 zXkb9r-9T`?;G zn29NfMo-GOr=vC#KfMV)pFf2j_|Y`bEwo{0o1w9}8l3s|sSz}CI@3~S6;n9DBi=#g zO?ME`^ah>sYRFxX+#}qL;D+U?OPZ8~=@tG68-U)CoJtE3`OYLSBeA(jOMzv;O(l!* zpZYqa(R%fe3^$r%Y79B+Q1#$3#T0}WS5xepOjhRALmI=c)`+@OP4Z3|sPHGn_uU{u zs7waWsRVwDvRL<#hi59h^pKKwN=fo=x>~iv;rAtcYi2uWlfN^DLcpoRigL4dxiYET z3m#2uF+)`y^O@l`kiPa>kA1taFlJ&4O~=y3ixfZEmUH?32rOp4-#CH*Vy&5J?@g=F0>|rvWM(0G)k#&t7vIoqWWm= zJR$H+gEpso=SGy8OfNJ_4I>`Fh|tYyiSkXh93Q~9!0<^4go}+5bhWF?25rndiYg@` zHHIPul2h9dCL^|HiJ>r2Tx(T3X}sQQ?jexN3^ulAx%+O{jFoS{gHQbxR$*_+jJ}HR zmfKH230E{H6S%dxvNFd+xV}TF%DtbJUcUpVnOYIRe)de zDIoeiL`eHx_@_eh_|6RE8-qNu7nu7Hb0ETgms>6Abvw7>N7Birg&jMu=ls(2xi|9pUx z#rM3@`pR2XO`cal>kjKP$CP|~rwHON-@c<5DilMzd?;dGzWp{;X7Kxpq2ZCt)csIr zGdYa;%z>sPJ($@_`9yBMjxz?e8JT&BTtt>P~=hTC04#(CKbHn*Vc|DF&Z76#O7a;!IH8LHelc?=F>{TJneF4!0qj z9i2$zM$svwoA{A`+ulN}6S=;Gq|Xw$ zQ$W(LX^9|s+GPU}1XcSI7X(|oW*kyM*sj@vAUNA)ED;pi4htS}fQ#wbXU^?fwn*;% zx(a@eBzxb8@nf=&=wxcNhAT9D)20vIjmUQ0DFs`22mwsw`hE29PfJc&G=k``F}X?x zaz>PnaYC38sS1;w5v>YCY-WiMLv2RXDjjk&B3EJP&4^xwhv!Y(5Mx(NL*IooL|tf$ z4^gIrl)R}bmnDVaLK@gEw7nQAD$Gn#VP=X7GZQIHw%Cd#Dk4RhsVs){K%c{`bHw*; zY5doGM$hxP(7<9yuk$%Log;Rk>S8Ef4Am4vyQ%kcpZnaG@|nFxK?|XMj+QTN%GjKe z&kQYs*ZI(kEm8JcBWIiMJ zTm^6GmkRR#;jKBn>K-7;GgZD%Hibcrg@ONM#4QG(y9QxkG$tQ>I3t z`q?*Xs-@TY?1Mn?r9URj`5Hr5li`h8AZ^OX9i(-VEs=t7x(vW?4=G!)Eb35!ApF|U zXxThg&hfBeaM_aOYqn5f5#!b^=k=HUZtLc=LdyQI`cUiUhB{fxwr;*r+CZ`QwR*W# zIz@K5R?lY*=VR>2`H|yEEUhGNmmYB|3DDZ=`S!@zw*~Z~B?1Uy=O!R>(N(UjTSG6E zo)R^#n3>zrnqL! zRa#8XH*&17;R7-)^f?ioA32#%TUeP=6$+~?NZoFP2eC6}(o@^1;LEe}BbyBxQ@w>i zKGUiwe`?=mklK30(cso2w;E^s^2YJgub#g*1++IVQDK%VU!Fv#XxV(bQR~(!OC1H> z7SHFhtd4zeT4CtFnGu3@uiuj4?&DEc^wngN$3A7Y_;BGfT#D>*o@m5b4Vs_EW;ZfF z-IvJnc*bis9~GynfBvq`OPK@5m(5FD-y$}WIk)o)->L2YPHmb;{{KF;`I)S+b6!s+ zGU8p0{Gt+hk=wOp_INfO-*K6*8rpUQZ50e)+$U8DR)y8T zR0KDzh->;Kms*A=E_kVN&M;l+V{!PyKB}~)A@|w(?6Bnxxr-}DWry9?IA?lari}2E zDxG+)T`y~HI6ko3iCfk7{{WQ-h6q1iogj7$(z^MO3O z#xA$5QXMqwA5{V07gy@@t5vv0gVrM`+?ZPxUqX>Yt~GA68YaL81#_9artk7Ui2rFs zaK9asfp*pv^>ur{m-p{kv zd~QMO+XxA>W!Sz7!!2?jK!e+n;@HcGVbJ=0ZQ#RsK2E6&YM#(GABE=LMj-;}F>(UC z+Y6i)C1-K7aAdb}RV;0qp=L zpCYgeOjAV-wMo|W<4&*vM#-=AB zwayOHM%BPjtA>h;m_>yM>WC{^p^k1jVZec^id`q%ENsrBf*dNs%f^xl0G)CYnq)UrxotfwJIfSqk!hy zk220(>BRFCb>pcv0={YL;9}GPyw!1Kc2BfNVTW5ddhAZLKEgM9EoqF;H0PUjWhORw zxm4o7+w|FgrK8c0A4ZD?AAk%aXz)@dPr8nfoHphhRstXht4agoLjLbL2~ zTRc)MQXwZi{7#iHqHNL|&?>BimK#2+mbX?GycoKE6xTDgK!>5yem1SJc>Un!l@$QC)9yk*ZarU8O(j`VIt? z?)Me#1KeLF10gY|eHM%PZgzrZqud&KF3hLOcJzqsBV)1;jLmKuo4qes-7W`4+Z#b! z4Ju#G-fF&cIr$Y5bIe^~<$~4bR^T*K+h?#O1o(gW&dt|qA3!+~B0w$n+a8);1yJiI zsxNwpkNS#t+}25?>da$HuwK6N@$n{=PwHbz&U^z(oV0FVu)NQ7-p4y@cw}C4gUB^jk&AL6q0}?#%3{^UTw_2C9Kt&oIAwU>@)QkRfEu3Ly1av z)zB8wr^^3l&gxb(i4xh$c;UdLcMpu{v$39EEzPClEViP_b(x=BSJ>pL$yT##W9|-T z3S7QXyyr|xUCDX=VQ|rGwfJw~K>u4g1bFHgp|{ zQ`!09N0IWkH|EIl#$4T_G4jL}8*?p@|E0!!+BfFI=27PtiQt_)U0t`y7MeF=0wZL^ z*^H49XE91fjAzUgJ(E+c0yp=2&2 z&o!aCTqXfZLXA1|#}Z;oZ3-1=pn7bltu@{PG1gCktsXz7CXxVEj-Qg7K5YkaEVu^|nt?L`rgbU(}>=T`6pXQY_-SQi@#f z@9@F(j|tE`$zu0PV#a)`Wq0#`n&&s4YdkNGfYx`pspm%kHNxk~5a#%-jWD-0)}7De zf%u#GtQ{6A=*DMl(vSw9>m4`X^Dq~J&y#!ddELIlB;XS@g6CHN7YVqI(B|e>E5!?V zUs8&!4joEZeE`v`cavsA8{_?Zfc-BryZ#)fvwv%5Z5=dfhsaai_6)ktM5fY2W^!OD z5!I+flv&XB98fUZX3DNzPG9zfNzjKynDOdRcOSDS9KS|if*W9auq|-J1UL7guC=y> zT3?L+vPb+*Yep&m+9+P1TO>Q=#10*uSkTcm!pNk(x9^4ZCw8`+_s53OA>t-SaO@ zydv=4B1aSPtdSWoX>9gYSwT}8vqR!zWU@Tln0;5!6d;3aONjN=O zI5Q>Fd3<~dMam&nQqZB{vvS$>h1VwwI*rE!*T7J@2KZH)sqwl-*+z{VJZ@rlJ;{3x zg?kP1{o=hZ$>WpPmG2)H?a?vWJ!ST2_U$rTl%Gy(%zdY(G57VM)~2y@&Z-(ahttnv z=lo|Ad>S)nMclqGzf0G($6UTqUoFlhL3@Q4kHu6S8W<8Eo88x#eXx->*ECXl_4IQK zpNA~H8$lH$Py!fj1wT_NX+@q^`NFmf9CL7<8B17diaAYUPEyR71aqdid7yA3!0#XR z?3!Yvs=pDeLMDBpsU#Vgfj1^00hwoV0Pt;pSl+n3Q zR^M6}YIUVsHmSoc>12}dg$X@N={jO~>0BkO3X=eiTW`nyH&`Wh`;hx90^^2U4Xf?w zr2^Yen^Z&AG@+R(hegQGJMx+Aug|8z`b@Ab7f#VKc~UhW$)VhwpDMy9eDQ01Q8x{+ z1GyjIqE)|fmImz!Be0$#Mke>0NZ|lG4NwVg^)wQ1R1>(B0$du}fu+sBk_V2Vq;9rU zl|s2&IjuSI4p=#d(;Pi4fYY0Gzmmn5Zi&H1s?$oE1G5&5jTX2eC&yePo0M(Nm|6I3 z@L#a1_a*DgN*dh;$!k2KTW#uAk6dA{9)HG~-iVEEl6Mowj~%g|1u@is%PTf|ygnxD zqq!_U;VFnskT{Kp3m|>C44~d2C}BLgSR!pDjH>by!+Vyn`#JlmdBP-)sK?a?i+-8RG!1qe$#36{zo7z}#L|V5%pmdjZLpuK~B2j=$Q?q7=ufViTsZjcJF> z<*`EOqdm&U%;yHEyo{{7N#9G79AZYOJ4DHqXY;vsD)~`7imwXiOmIG|V%u~>l$7>X z)U?Boc&ppV#E}gh;I->nkAVDHl9PGmZPv#N$i*&zI48-KCID?;REOZX%q4dsb*h@A zT;daE5sJ09s3Pi^Ql-yHgDA%15q#`dJZXcG8>fU5Hq`2d2(jH__p-tXR)14TW3LJF z!zpzR$Zm8pY;C~KLYfUPwJvbA#_XgmZ(FS0$tb0cX2eMZFn(8%#Q6P zup!gFO!>5LmH*zT?;g|_(NWx}cVyV^wz0sdFQ>w&FBapptFRiV$%PKnyHoScj9%p6 zwXy^o90){gt~>$sjp;O6S}J4XqrA+?LSkjy{8CNO=e6-sUjgBM?-u-YM|I z2n=???q1MrL&$aOlj)2PoPZpSHt)O}rdvh9y`<{8fsIRcWs=eZbMG+T#MXB3EqkQv z&guF|?sbXmKx`UzpX@qSVfHM|*LGP-X}N*%u5J6UG`WdqfbPmwV>~QO1k#v|HDvIB zen{@K;@@pmSQce3baF!M=I7Xtv*Te$*h{p<^S*@#&eYEXv(H|aYiP`ltj{$xu}7b4 z7@r;4m}^L~PoHZ@XGf0DHB4f!KG!fgJ2IVXn8JR2u3>6+)+Ll;Yxw$rti)==@xi-mRHnYUSlCNw=xw$q;jXU6$Yt#72W|W(2 zQ{TJ8Zn-w~Q#PaATw8~Qm78nRILl^~n`@K%F`L_Q7+rllQT5@gs4Q8K(D=Jl2!NTUL$ZWH)c``Da2?wj&bl@nPsi3=w zXmcx@sU(7&aTv8<(+gGl)pIrn`rX`F?EkKBW1kmgMS;v){ifS{r`3A7a|ADUHV-Mk zPnvn_!1Pym*>id)0^ME(k(s%2fK(RWQ;oH25$IC;auq4ouJyNz_t{Xye@uiQyP)~F z()*!r9U#F~A^*BnQGP#;B;m(eZK2&#HHM$NZnoYTF+t9(`{m5KOUEX+xFacYY1uoM zb}Z%cUE&!&QVkAyF~v3f43dq)m8UTXTsUujAyt#lxD$=q=~u6^gyQ^{`s)|hT*HYm zca*W^OSA1@qK>9;#7&DJE8FQqoTyp#)bSkp+MxsvnoQ$c=P9c;xkH4TGJmlg&f9F_ z4OM_PWwb%r2iTc>a|j3R5`K__Zty^Vie6ZW4$)Q|C&#MzIBO94NYl9Pj<8ojl8%)n zdDetk6r(}G+I~kq&(!zhb3p{au}gQzf(_5o#5%T`kMqJ{!Xv?iEy0BC#HRP>{0+~N65BLSm~O9)La^TzRfXEO-{8C3~*W-{S?Ce5dZ zoj=K7k`AUSpPB0OvY9D_)RKSI$3-+Y&qVq>T0Q)@K2F!36j!gA9iJ5h_h3n#pxue2 zo@skQIi`q-)pi8!gVbcT;YWX>%|La)5h?R=oeg$(_fY^)^gNkR^NOBJXb2|St2|w< zB5JdHc~2{<$BcOThtOMuQpcVyoI(0!RjS=dHo?fV=+of5kCnj|@anCty}V8|hJ#Q{ zVtZO{w-c>`-DFoIQ?CMzA#eB9tvbx;^d?|mCy{MU3-7fsg~&|4N#@(&rN7Ls)Cse+ z68DqImbIp|zo-U#UBc!wZ2a`&?tvI4>mY4gdf%akk`HRfzvj;Zw;Pl@T$;UoW=Obd znFeUHk?g=|zqWa}fcXLm;TM!DYmo$dH^}xzxqF|~8yDgE2xgkB=MnCebTO6J3qD)+4=XG@>0;si@=$HgbwxZ>m3VI=WwBhAKK`2g!$iet&?vuI@769-rnw&BSh za+<-+@=1f4U3H!gv8Y}NWQC`_Yz!rBy4wR&X?9ID@=>TNkcI={vA1-Zpgz#`c~@Dh zaf+ON%gG7GZ$d@9Oz09;FKo*PT9?SC8TU$1`%-Y_5>%!&?w^6dy@Xwa=f+I<0XGVD zeK7GUb@N4)0-G9VgHy&C+y9J=k3~ZuDl<9Wzw0Fkp&pDo)yK;t!MN9h+BbqLbzR@; zy8jtpSHa3L%+YRCq=6QmG)&c6RW=By<|);6QDrplcK(!3Zq!ff1&v{iL5LU^FId@ z;JXg#*zp?(!#Ar$LuZ`t;3GKYeEEN%WKa2&RN?)98&&WCA?Dd>U;)b(Kw@ zw`%$XCO4VyY{pHa4F^x73>n(X=eJSv;aFY8Mk{DiXK3o_5ex@%rHN%n5XVCmo~OxF z=WN8Eu)#b@9Z_tsD`g(Hu%TKp}MK>zWLb8>B!4 zXNxqwAQK)vb-Ss}Z9)6T%t%SPt!fZ;kRMIfFJl}Fe3k1M&DG#~9OQTL4HZ;i_48p* zq}iK-a!}Y4pER0`W3PUaUgpS8K^nu3IN1|OFN4M`i%02G&}rJ{Bvh<5u2le|eT($} zmw>XD4etj;hL>u#1Mb#z`3;;cpo`EvM`cyHB0fpCDoc6m~Bu_MB>Xa-7PbK1oBl>L7HTQB3CSpZWhGLYZ_I7IfwMhZhie~!VioUAr7`j0f2UuyUh}9yjOGaj{G*$r5;4W{>;f72qugx|d-U z%g7$#d(kq!ONNHG3VT`^9W)}cGW@!$AsD|E6XU3pAD50hT$3}rxmzDE@qvG%0mX)S z%QHCQgZQ_=MvPNn3>!Haom%Mk;x_3#FXaMF$NMAsCOzul)LF8RZ7{gvfM^EaS!TDa zr)}ZbN?0H_zTRjk>DD7fA0zzT$DD5cl&i0YZhf(+Tc?9Y6+nV}(Gv^Ed^chz3eCB1 z?+Ye8M*5>&^X+s|3tTcTbckZ(f=2f^2B)}ihBshbrA01m6Bo{sV1_6CN#qg0c%k(= z5{UW5$9a_+$EM{ykGfvB=@xaybQ{(O$1N~(qVPxV>4`)T^7*w&29nF6Jpgts!dYWl zuzRs9ip6>s;5TjLAEqpykr6YL@MKJlAT|}-B#1S~n}XwJVNPJCw8q5;g|0G^6mrLS z3e~EG=D8>}bt+Z_3tiEmMwm3UHSuW`&=pjMP*8EvUoMN{lAvA^0qa!zJytVGfmUHW_^Ne@7bc5Ag8f1n&t@( zBB=SBU^PKa>;&-*+CrG%P=eE3>TrTH33}5)8qG`#lBLxY7G^0hg@sybOJU)b%2HU! zrM46ncBwRlh5k0eHp!LjyX^ceB=%;~Wz7@Pn>pt#xbEg#cP9t8=DOQ#&3&_5{nCp4 zN_OoAb38;_qr?Vj_p%!AR!z6}^tdm}5vDB|ssE*$NZ1C^FS%3|I=*h*a^jZbD}JwT zQQv&Y_05j|#lE4()aU9Og6ea14Z)~q2u2-4FzOeAQMV9`dWB%rDGB#l#C(ZDsc#sO zOPfi_=F~^T>S{_IMO2%Zsr4n_6){cIizG#SPZ^w@zs-WFUA=W9;FJ3MzC@)n4#Nam zAa(D1ckI&c9UGO@%+5TR(tD&y9^}+K1r4Yhvz(JCktC+GQrS`pk_k=eO~oml;h)n~ z&G&qXY-x%|a_-5_-%FbOpZ-Fd&L_64m0Ru5?{CR}C>e4W+T4Zf%Xi7-ug~dMCBm;t z=Pee`r7W)(tL+iw*s{1*&`gWF1jX+=$aHWACs9~C1bwPBa(Ho^xd2m?4_S0;Jm)X1 zQRW$;K6#jitqkwFl9|SHi)I7qXB04^uuQ@;V4ilo$-H!!12-qjlccbAmDgNV$epqx zKHJ5T+Xa4oQq*H5J&*3i>f`V{I63W~lt(M6$3}UP8yM);6GJ-JoxIkXr+iE?W*BWI z>de2E>--AAOqZzkOcC}#&)s)V*Ahpl*N%79gO<6}c2efnxxCbxCYR@S)YfV-BiiH^ zSUX7(Od0Lqglh~5<#&rD_uRFH6?w@AAkA(uXe(0N*s)phS)`dAE*BwIElAs~E)ZIS zzaf?b=b&lFTHg-JcTcx=7-EntG|C}C?FiRI1mmAeEsO}>s;qV^2En!(S=_zYZJu(D zGK33#y<62V?W%^?uW~KNq7PyV;w|b+;EV(A%)wl13QgBe|3V|e?O?SV4P;1Xj+MAgVS&7bd!9^g$r{fK?bmrlvo zw=g4diM*1nhL$g>v6l|zlkqC$VR3D?M&noc!(H4)aFAYR1DkP+CoVkUCCaIDDvt+M zIzE;4h|^)Z*#HffVsyvOsbb(flOGM)lpSql?dC)5>s7%7t%E+Eud8wxg(P1Wp+`N% zCg~UMt3j-{pSjDC=(EX~mL4-q9I2={bx!{pUqrX6bfqGe05J+bmaNQ2uh2#~|DJWI zU4Dq!v7jS?8c~@a5!H|1WP}GzHBj{rhfY6(wt0&-NMGe$dy?Z=U^%Yu$Wh0egzJ7v zyX9GTs?^oxd5dAly(8xgn{mpV{{N{q06RWDi%y1Y?&CDhxu{R$oQZuK=ZxcfL|?IT z@GboAO>E!|$Ue(wg8hF%GLJRSRBq*!x)gKr&-6L$$B@>4C3V~*E{K@rMDA`lk?Vmj zel_vUjz#@v^WJ=vJ`X>B6mGEww1_&Y)R5PNs=9SAL9hn3Y)<_At`V8L`Y;A>*Vb2kwyXZgzfAuKu5``0(IVGQDXTRVqvs4; z4K}|tnQ+%w-oIp&EQ>1_X|f&}GiOF0aXEgA@=)q}%V^q|Ij31?oNTFL2Smn=_myIJ z-rvAcc%u)`PRy}Az(x?%=t_?+vf_JgqL*|GLQ_jv7(GUYrAw`kPt~tw4*bHq2e{Jd z7B@pMTPY9SRtAc~=A(!K%Wvj%TzaJ1iXN)pCoI!)^R>H|IILml8|(YJaT2sW?3b%! zD;qfD*?KnxGS5{ue=s*+o3JtqPst8k3DU1&Y}%gFv$SI?33klg8bD-G2VCa6k-<-M z%9|l}=r9*wjq#?!k2z6GXZdHPAWH=4`VtC% zGcn>SB3*e4I1;(sMrb)D+y55beQnik3s9xTR=i=mn|&0~T%WAsBUVLIbJ|JPIbIb4 zr+5u9;$d**6L5svOMIS^ue`-wa6K#G!#@Jr?AoCAvEYh@0FmH?Xhh~6rZgHdOGBm7 z=Ez3;SJH`=lp<_~ZX+TC2oE~>1b5>=X=oyy`Jjk_a5c)}>2=K)1-1DZ$GIC@>J9F? zuAgxj}gf_(F{f~;exDH%w8gu zwMu)^rLtBr3xibFD(zETDr=SYX)efGrG2Ia`x0ugkUf|*+XaPoo(l@CW^CR=651s$ zD72ch{ewv|QT&5Rw^{HAelR;c&{@1MX0NN4y`Sr!p^!YTX{7|;ix;@>uT~SWw;?gZ zwcg;zLzF|0T&jN2qlw|%dIL^zES2c@NRE^p~4lh(G_lpA)Wf>t~<{A&r9wbpS8(mj#_X(IA z;FNP_bC6{F&)nA9?32}*THNHww;ol3(V67ucTGiTo=@F0Nib%WvC4ACq}*13Rtu@? zB@D{Ouj6I}XRVX6S;^0!|sQ1`<5KNVy$9@cUOm;6jVTmlq)N z8mMZ__Kz0^eNjiI`=jJ7r7MwrkyG+I)sCN{TF26HR!r7mZO*1c=kTuUM(RG9?%l}0 zv|E+(gW9_Wxz#C&9KwIS`IzqSE`kRa$W$CUnT>;@^Dp_s`!Sj^l$ahE89g3jyo?vX z{Ukj7$QGMnE1Fkl8Y=o^zFpa8=L+73KJg`gBqjldmbLrfNk#TM!?QQ()<@8q9$;hU zs0HiIQ#+v1zA<_`furXJe2WCRJ9T!3_>Iy5<^v3GO&EW}rAZ}?cSmZtIE=j535cM! z-%nJyeKs~5r(NAn$fL-I`hRQj`1YMggBej@V0FSO$-%^}jEZ%j((mHf+N)9S;dQ|T zJDgy6CxtAP6;JRj~o)mw1je`H63*N}0AR zcWsdz?R)w9g9&7Mby+Ach!(>>4sruOx*I;r8yO zyo5NZy_m}h>nOP*-XSQaE6%UfOGzjSJ@a+XGM~|?wg7tI$IaVw z=Q1CAjTiF>8X7XSX&YNQ%V+LV?ADn+rsMdr+nari2`&7Y;p8WT4V#uznx6UPWvf(r z41PS3&&-QzFoPjBf3|Q0u!ar4Ru}FRs8+w3t1KbODX*jrhNo5Sq6JE&8J9_4A(zG~ zvlWzB4L00z;YBtDn_+N~B-u9X3S^vOnrp^Tf@jo-3$MCvvD0#3m?+aCsl}POPA(iG zm~B9xBY~E`5ub+yjD0YP)dCwBQnnO6L;KIxhosvGCo0~BXNWLa8uS}v`&ojFRnf>{ z^U3rCmFyOsR{mbv85};Um|z$ZX!YbiDF+h8GG3P_8Iw%4nG+P8IR>N>VEz4Zem#m zPWFvuQ3gotRudTT`q~+WcK||8ro(+N(j7@P;OCLx{>qnO+n(g>Ow<@nX1eK^9pj1* zshrr-%_>Yxf)iV`g&2;0KJ}-h`CC2q9~)AR1_V@!Q7htp!Vy5SsXv37v^7BuH9ew#{HB1*GxI zP<$eaWnxZ(2{B@6%9^-ys-J>rN75%uCR8Rdk`I2&4-)j3&+IOS_WF=oy&}@@=p1Q! z-noo&mDyoQRTwh*qphoa(x4~_9LwBXNXVHP!h46qtIQ6SL}2uueqx4(s#tO($zpwy^-MXI^2%Vo$K&OQc!&jyW zT}L7O#j&N8Dn#T(QD-Z^-;f zB)~t91bB;*e-#Paf8{eZfa*^~KAp&Hs#0yaxDe2WXBC@Y?PEG{5?eIb$55T&A3Wah z$A(gKBX~F`8eZwecQXR`x*pf2x%SIs+k_-D1SC8f%BNLsEJ3)bdYI6ot|CNt zaXy*!!Z9bx=QFZ~>K2t7x@K4ep*yt9=9mDQkYV)?Ls&a(1en~yTZXBBw4Vl5Xv9va zfnfH-?0OR;%|{qEDOO1-93f)7-ykcHQitYa+77}cLk*YZE_Zk}{KA%MSBK_a)~Y%; zEDqTzn)$|0G5Fv8stF1jkkinnYX^2?a|hnYnkWy_FY;y$eBO&FDuN7ntC z9r>3p)g~jmL8Mbj%%u!4C}%J&qj=Z%_vnm49ZQkXrsmd8gB*~|ZFb-0H6d=dQjs4} zFu`l!hSSUqpm{o_H+GUxislnmGIcS|BqvHqHq~{@m-K-pmFQ1VJIci^C(29zsC>06 z??fv~Huu-uRYqE}>10aQahZ5DbvXi)2zU{Pm>n)$X}}T^v~h<+-hP{FoDBhWHC@6r zT53dA9YvNRfu|SUw(unAmu2L(g^NIXvm#2>6v}ctS#{EPbcBZyjwu zt~DMaNUZNT6m{Gxn||D#PAu?FwH_=3=2HM+!C`La0yj~w0;W;Nb(j}(%m*E;TkNv^ zBth37a9oL=VB5yBh7o(OzgNX=u#iN1bmW^VZFnK&t#LOnSbn%si0LTxfaV&CrZUlM zGTZRqr;$u0bmKl(on!&3*_UPt9jvTn(UJzB0zkCIj1q(tz~vr8crpDKUOYr4?uhRY zG7;jfxo{>D7;?YU@a^|iO_I?D-G0@em-L9Qa^^p{PeEFV+Byl6LUQ%nE_{AdLdY-9 zBOlVE)VMpUajykJl%&Wf<%H@Oq??4p4?9DvH=*s4s9DmHm&1gI5_YE4wzn6=ODw zq#FC)l+r`a-!JAe!~OF2uGAU99P^}mwrHzNt>a0)IbwFBgiWOj5eozyxwpk zU#=Z;*Md?_s_}BNND1nCltXTrs}Iijp&ia&;BnS}NtS|n^43{qP z0c(P^lc^Aj+3!#Yq{NJpA~46P)JS-vSYlcTGk%prh8i&yLG~R{ucHJawc(YDu^7gC zrQ(&-|EEgDt^y-kH+HBY*sOQB2EA{!qE6GF1j^LPtu}xo&2sw|7;^d8E^55>?1a%pJ#A$*6k2drEDP|+lA z%7{el8s}+cXiCPYn~@|+6!J!+72fF5G_GZ37$0nC3yUc-vqz+`NcpNMxN|Uhd(~7$ zbzsb}I$blJDsWa6)mx=OI(f2&zcbD-7*xR>B}IdZNl&Un6-c)TQ081dBU#lSgGT*3_Lkfs|$ntYC+^h?@?x1?GLHO8W?Try@Kxy*cKaH;EW94LKHYs|VtJ$Oqt{DoNuRPyhU)nUs|IaI=*Mb-g+ z%OMdis1PG#i{ipaY>Q$`s}-Xya;(JW+Z5GJJ4BX;43Eg}2vV3GCr5~jDndpF_?>G4 z{Q!0+^X7t@Z>yA&Zg>xsPzUO+`G1P;$FfVvMOBV}=y;LZchn8Pacj0?pC!P8Otvh8 zpp))mIaOlcM6P!qSKR8;Jz6;vSVDyZ7E;pPoxH;=cV=uYl2^pVa4s0KKN(wP>juQ~ zZuT)ZslXMVcKSB(x?*N>~(t_i-QA*J6n8qgC`6YK( zWL3OH6i6Y?bEI&9LAEQ0fa(hGaEwVL>v1Z+lq32LG6vWzJ3HNa2LN@?-MX<=c3#Gx zKxjUq>$zv_JW`L}qqf5WbJlKVv~ggeS}&7g0mu5s`KXT%F6{cC+@fc41c=iQ?6Tv0 zm1DQie3H>LUeNZunMzE=i4&XOVYoI{b9zJX(FPNCxFh&yoym_sm^#KSR;S@D;g*WD z`#<60@s^g{KvVpo=_C)nZ4BD~d?YZnk8^LdN`VK1pRWs6KOU@pkYk3=CNdlP1gjaf z{5bT&j?DT#BZAe1hG2C^qR&eWeLBWo(2wg0#mvfbs zSI&QspRE67F=v70Flc;fQyDh#XhH9*Et(K+g$12+TVSo@^4bN)<R3sA2~uC{!4JhF&20;Sh(J}{Y0?(A>;O(Z;9LWb57|qw$F|}cRTh9Jx68#M)n@e z)<1l}*c$Qe|2=kk-oeF=?N-DGqjE5vXV*Z**js4Ha_pq=+ivwfaa zyRJ;%rS@q?Q7Y#?h;G8a{5F8EYF@xZO78=YE3Rx^on|s6565?UAAokh6m4q}I{;&y zMX6QJ^re8dmi3T`j1gVmNTXTGvdu$bXGq?p_P>DLj4^gh&6uGwTM{lSx`za2_buKM zC4MbxLdKl6jY|0O2$0zBq8?+h-&KHJ5y%6S-%6X=KPU4Zrcf=(K;&bVrzM`{X-f(d z3xp3-Zku9HT8wh?0AY&&`7kjZ@X?Q6nDafkos>?cz$)7qPj08YrL-1F*+HI>xE->S z1(<|(!8$Wu2Wfsb14~ENPExnmjlVG4BF1?Js`g#RZ7`dpuf_zwSP_KBZusR9i0l`F@RmbK!N7X>y@sP&&Af z?l79%QZLX6?_8&P^aL}vu|D^dH$NouOm#w11%Ns^58J5(f3QSyF7 zg}RVjyjOt8B1mrmXQyCapn?~O=tO~umLeE}rhS;Yf}lMY_0csHU5Zc(x5gha+3LG2!L0BG=7lGw#VK@cYZi?&TXrC{^+gOi2YB`xP(IRg!6vuf?8gPu#>yN zd0QEj_J|&2V2|*+3pb?;Uw`Kv45DO*J(5Qbc5Jn*({Sg>LG8oEDNFMe(-zYeQ&obA ztB=iFU0rW#udWr9t-0>C;EKP{%glnZRD#;h8T=Fo;~s@3+k`De*({}-3teOOzEgfa z`_;Xn2X!QU^W?OJ`X;5bWcXkV)Z1w7T=cDw7J)b`N0=j{=zpK&nM ze*Y%yH(|9Y9|mQ3?CA=_f)frG3ezr(U>=>C@GMs{x)%BOq+u75J#KSQdv|c<3Q$qD z)l29^314`Vv7Er-*%}Fq&zr7xfpG3TpR#y~56o@#Ssn*MViH`S9O~K35;JdzO4eB7 zc*`YnaFFIE*sf);q6?=7+Z{hP95!DC>FeuVTOx~0=ibzaAl1p-9$8fp-9gM*Rb9V%L-sUEx$9ix zv6H8$=NK0ZJe_ME_o}^lbP;V}V4?NHev4N*6{cPAV^5<^5;)VFwCIE%k}LJl#bIAP z`D5~Lf)6?4{jv|+A42Ad3qfqEExi27gQhVY#HI0W-ItC}D)c+vEma7U!)k6?`PhMs zvSmvh(FirGKdmyT)y9`S2|$y3AxSh)XYsXx^4i;vJ7n$AT`rcKs<&9tzu5zsclA=`+VxtE!P#1GmD|!Xq3-Z{*oP zMI2rJMb7Bg(maZsL)rC;_W$+r=U=UY+F)u_QIBpcq`TJ(SEAOqE=llPElV6tV37y$ zwlWGmF~8r-^Z5MQUX^QEBsp}Hwal3>eVJy1&|F~XtQGb7-2!-TKD$1CX zL^P_AjsTW-7wmPNe<-2*0kRPFRavtNLq&k^=FQ!@r|W)toJouRfD2Lk%g2rv*Rmn< z+^32{D)YvT5=UFq1w97C39PlLq&FdTtUkDsAC_0r`F<)nl1DgtX}pu7p3?I%p*MDF zitj#*qej4mNQk=LwC74T9g<7k$J*}K%cfn^2cG-2{RaF@D%)#|Vkw)KulNn!*LAeU zGxHwz@iog;^mZ$MHW~G~i)ui0jz+WY@}PD%n}8#ATb!iZS;2+f&({DZ=O=|$cz70a z4&L0_I>KTHAKW<{I+xq9e4a6oiNzv-;5aQ`~26=!03FVYm8Vijb=wAh|i+ zM7JP1aKH$O9ISSn7RcIm1Y>Bb**m>uTQ}IydVV zXk5UWVzaWY6NTRw+l#)7Yd!x(7WKK^i}Gx9j*DH!BzVC|ZQC!fqe@J*ZyCCMA{29q zb2QLk9ponWsFff$7~cXNilVTcGL}0l%7tb#XrS4jdg4+bQ@ow1EFPcPYUjVGPHWs` zad%1=?5+2-;s*OeBHFfmeQ{ZuR;zQ>b1%!c#oJ<_5(r34ob3pj$|DfI=vF#TK7Sor zcYWclHw;N5#mc)gMOgR#8a}HHu2ZNkV8+pFG;_BqqM6H`S)|9`%p$TK1y6?-6%@mO zvAPC)0v#S-oxAfwalx5^+b450Bxh^G@qb;u~UelKW!kq#zw5@ z@55F7?BV~z-n+opSylPpy`&Je^?8mIjboXK8s^Q6oldINe>yGWIZe_&fzuKo&=UwH znp&$=jF6T>OG%rg?Zd+w0d1}oRfH7zBlTx3c`ErL=IWwbx#IZKlbU#nZ~x7L5m5v0F{T6`vlF{OBq8 zc}^6vfNd=4BbroVpGJ(-`|QwwT{s68Nkg>;1jC?S9=e|$HB4AwQJFU>MSC;p=4k@l z6w{y9FY1NT-}3(|u@e7qP~ygx?Nr^PpyZ(YboN6rLW4G$nSOU7B6dF`OLn`7>{n(T zNVhy|$=D(45|pXzV51eUo)k4Hg!Z_3Dz>pIX^BjonlQuU2V$G;phYURf|)PbWdhLb zMA$x8!Vz^Vg!Ks!=<;Vw3+6UE(;?e_(l8DLJwDr&o20@-5;_iR-EG|;C$PbNn;j=< zR-2;EbwxF=%nquTNYAdJ8O2ejWFDX$T0Gcg%f~)05osUiId#LBa0>15Iaz#gEhVQ% zpd$pyHhnG;zg$Fa!{^6oUO4_QTy>P ziv0~eCUZjHGf!dC#)8f+Raen3l9fp|CF72X>#92A;Fk@|@$xYXEb^u*5fSBagS!~1 z8ByW`ZgQO}8fGKH*a@;AHKo}ThL#s!6jNsF9wn%V6TIkh$KBS74Mu^kyS~iCVrRy> z1`J_|qFP@8OC~7W3qb#9^=Z5c{ueDCY?^8wBslR!8KE-<;*Kwp}vax8WEtV^F5e9`t4AvSWiE5f%uQ5Fh{S>MkKoS>)t0_)06uRQ{ zxXpFSU;{Fx#Fk{RN*fS^>EZ%_z<&z_rfqbOix@1xdVjFd#ccODDno>nt4yRxd*fK3 zpFbQRYuiE>M&)g|I>*KLc)i}0NMqQ?sl~I~A8g2;I#TF!$r`dJVsYjvbvQN>R*_7& zo87*X8AQN02vFm3epLoCrgXWis^12Q!q&Sm)n5whi+kBgZR|+h4Swt8Sg^cL8H;>r zv3CqN3bxK3?DqJ&hVqa!o@B*Az;x5TBo3ztO^AC8bk))0I#da4KtL@d7&bM9!9h`) zW^Wxq%r&F;J+5EKujPyygj8I%Hc`5b2fRAi;FQFmw=OQ`=y6>a_i5Z$2CLB5`304w zu_^&If>}ZANU^(V=sJyf)=e7&B4F0>o*ye)ORiditfWVybT%uz#Fd7YctA9^|0yNo zC!T+$4VzT=0M9~WndWEV*t<%jVPDtX`(f5bU`1naKwwZKF=4ai6e!LX&xB1DAdnQm zVWow9jy2Lhwan|emxv%*TvL}#f5~KkCnMc?E2MWvBZ zo~K1DvBV>pIkG=8n5`T|cM)wzJ5R^aKUNwzM4=ddft`YXs`eR@fMZXT%&?bu#gy0) znp4spzfSF*cr%7`ipF$4O4hpvjp^L|20f`WSwzts0KT0$9k2K2>ZX<3*76w?Ok+YI zslm>4dWj|m(d=^hVg-6yQw=(V0NZ+Fr;jVee0McQvyg6t9i2`IXNKA=k#X?X`C!zy}o|Xlv5)3nf)MJ1~Z)XST zLvEMp$99k&C;NZa4wAqq+CjR|?FiIF8eVFb27v52@kyfwwIm@qSxa|6m8-Qvqcevj z)Wr6XZ1#|vObD`?lwNa_%4lt|<$t|Bq%_h(iW+VYN&5`00Rqj0x@-K0-k0~@+ z^T_NY>1dZ^pw`ZlTaLq(LGcsS0o~qb_4Il+QGuEL$}L%F_RBcxF@s23mb8NWayE^7 zPAI@5!#dYF-e=RqLf*;D!%llN`x zDgDN5L%)+frRQacsdU~q_bJX7muwye@Af4(6^^ktT@A4`i%~Jep3*n%AO<<_aN#~} z#0;4%ae*ApJKFelCJ1p{SJg!^I2eQZ)xJ&>N)u*?*xn@zpo;yLobKv#4l56xu8unCY}VVsi8%g1*Zq3m zh)0-aA!VLb-Ixt{Bz3Jg-XPmlp3Zj3x%gd$&Og3s^58=B=$k`dtlF#vXZZVOk1sC0 zZ)NXYZ5i|z&U<}W?!LZMGp2&yOlPm(4j3r6y`F#gS8pDOdXsq5;R|{StykxLdJU~N zFh>yerp=L#dUaT+XVH3_&Cwk7X3UX^dRxuW8uhlBqb=%{+*Gfm^)58W!l-wVITl5| zl1}TnwBAm0@M79hbMRu?a&z!vT9+K%U9^{H)Xc3TL|#%e_gZsbXzmNm-Dhr%4qj3- z_a)|DZ|?QxzS7)RntOw}H<66Cni@u!{)``zJ*FM9zmz@d z!{=gLGqksm=U43xe>C_cGG?HPPa-dD(88Fms^-x#*>_r+zw602SrIQWE1W?z+Me@W zR8`&(V%(2(v1KS;^Q};-E-JR?jCswsgV+7S7Y{Tg|9jcFa5y?07K%ow4m8!~FXJQz z7Ez|CxVOtOlk8Ew?IXZJ_&|OksnOreC(GTe|19T*V@^3kIt2dF^F{Izllmw7{2V`? z7w7oS=#ZQTnsB+JMy*>gk}3a18gt5Gf}fKszsOp_LAmFD1nMtcm&~s$n^r}qTx9+`tYU&#d@T8At4M!?)k0Co zwopT(JrJpubq)rXtXj#eMwjmf*CN=(VpVq-=^Zju-S=yhYselAgW!LwOCB2atsV>YFIvmj>$zDzinEuuB#+h!j8?lH{Byw3 za_mxm=63RPT8DtxuAj&C!`V>cB8S_=<%R<bLW$bvi#H9a1;wXx)#sz zh@M+ct^st=BfBU%XDL4EnYi3=M`;@ztnmO4_$OBc-S@>U^Kb5Q@pr^+y3e&~s|!8y zUzV6!{v$(Pm(%eD2Un7dI*8O%HS;93aE{tKuLEc6h#QH@= zhw#6oOqOY@AH(^1Nz^oKPphB?bsh?LGW7?Zj;+@3m+czSX%ncM2h^lvWjwwAd0&05 z;}?H!rG95kQ~(3mKVO|vd~Hpsu@etEU*ErLGNaFALpI64u zN##y|+nv<%@*?`%(9xAINnjGClF{6W8_POB)4OxUsogJ*WWk3LoxL=jP49eHfD4s>W4#&hj8TerK@dxw7=s?NRgl zo5PE{2w(hIRG04U_tw=y`MdL?P5-p(EIVvIqMtAI^}lN}G7104m3UQiY=`gRVDt%@ zAUbm?#w?QoMf7a9nfpc>OP^RDIl7u+ z$6E0~)U4WzkZ2l95QoC3n$@Is=_eC_rc9FgkdP~Zt5jRD5_`-2pcXm{?X)Vct9V{r ztWR}YeSAf&c(R?krtl*(7zue3@+O*Uq8ZKM%-YHQYF4w?jFREZinGeRJ7!J@R&LSo zT03(>dg?=7FAU;==mbm&KGeI@Tel2NKV&a@>dU=1nhswMMxR~*54eL&HcaZ22Gfrd z8#HKsfsabAchk&2wH|0bmn5Viz;)Ga5GENhZs`8|7e%>wL_=)F>dm zYj5*0w*1?T!V-Vg1}o0L*O6Yc43KF6yDh(GiMFFghJR*ptu5GI<~%h=B1=|3y9vcX zRAx7tgiqUE?nfx>L#IqjlskQs#x;MXe8iH&squ)TadC+I(^52nW2O@5O?m+5k^8=k zbM;tLsoqK=$eTfr^v6xXF}{_clUe?eU+oqsIu3*i^TQg-L5+liz$y&er4_q`B=Ia8 zFAbXIY+G#e@9U#Y6(7`d@}piA1L~j1V$LZqjrLDvEN4^`@2KHbacqH;{HiEuq!Ald&-WndHqj^8|*370^pyOc#cs$Z{$M3k4fsk3~@ZO@oK=Wh$GX>x!~p1YkOK!4fB(#EKJ3 zlGT$xMwVvE**ZNnEq&zjX!?_o#Yp@@d|6dptR!@JEB0(HIqr-Md@?enrfF__l*}$` zvc|POtv6-K#krwUAS#Z_$;3Bf&C57?lT?`(0LCmz=&d-@qepZLi)Rce=ZUS15zy44 z2WWpp3sJK`as!J{9G!A&;m`zRAw}=gbwNZIQ1;`whT_ufA2p5c$~8=&Swhyl9l3^y zu{)uum^g1ru3@@DQtToo60o>dEzy~wlg60-2rs}s2sA(ApWbbeTZfb_PvF364HJrX zX=dpLhuujq-%j~dfcc&f0Cr0F6R>Go>dyc!s`AV^Fkw30c1Ec>?AobNZsHnocfzc$ zRfuRvH65-3*{o``8!J%rRy!&;ji~b&cZmj_b3#QDC;H^kRe@HzDA7<(u&ztWqlZYi*Za&^}K7IRip?>=vBgT*W&CQW{q=a`P(hrG4Z%E)u~g$m8pEwV^oR^zqOu)?if zW;w@lsoc^K>aDwvP?9sfr}d zb=#$`+xpaPgGhfHgnw9ihZjh6$GM2t`(tS!PReTC^DcNup56ys(0U8H0}uM#y*InS z4Ho!smhK7{q*c|sV4Vf6bwL{~ND8W6?_z#qeEg>yQdnt66Tm5g;#RVvB+$sSyIZ?R z_jQLXY>wO{++vitu&N7iG--w`bEoXHWv*Bl(pKq*c93ew;w4`xx2r!=aTU~p zXj&9*`a_`O^|v4dIQ!R)*|9NyADsh(ecaOU+~v{tdw?rw|BoO$_8~22QTn~j;ROOV zd+bO~6pP{F{4Gl97vEMGi5_#zr?Fr@lJqX;uFz%NU%BH?T1=DP9s9JH1|xSiW@n9T z(Dja!Mi##BfKeIL8ZFBNy$3qq*R`yTLGUBZ@?2d;Q3G{tBa7}_U6X%SqhWP+U5Ot zDeN}FY_)gu&9r4T?GT*M)4_IJ9ETI#t$2_8v4xd$49;YuGgjZ|H_cY*j zcC+Kkvi$q>SBOO8GM%o7H^m(O2k383Pc`B2+Nv|?>XRuYfZk>z#VxpF>AB4(XE-g~8cOqL3!H$Jzoamm8V^t37*dlQpM5IHY zL)=>smcLUpwShK|Ko^(S(>u5DrkT4Ri@l5U%r7^ zP@C?4pV(R#J5iq?JTy0}My`QbZOWRFJ2xxsK27=ztm)!ckxS*x&06F>9r_Hc*}yN6 zCb(5dZq0@I@RwWD=NzQ!$E8%8Zd^*WD-Ox6d9>u(5xWM~Xv3gX z`%7^zm0WvEsVd`C;#2gOTO$JETso20ABB{}{Cz|19ncHsi1TQi4@p4;>8INGY0=a> zZahB=U~WuMJSRy4_MA@TT_U}&lo7I|S>2gxg=LXUdI6h!T`)G!hjA|uGxIB@hH$kk z5q~4!nG{=+O!G#X*YeqBSXIeot+vKWf+Qlgf<9BN1j?&AJ}XFIs$D^<5V4;;t&083 z!csYAwIst8zGu&_P|PCa(PzJxLE6~7=dgI4bad-8prAE3M234q7f2&dQHHy2Eq<@( zN((jFqhvj7s)k9WO;T$zTNBsL0k+IZv@|mhkQ4GIyS!S`$XkYs0aFf4GE} z##(-)UEb1CL+&|h`ALA7nFmG^@+Ra>$UCI3zJL_^E*m`r-x9arF0Je8qgAd6S6dVO zBX2zoaY8ju20wxQWN)sTVkUyOl~ICHYvC2vAr z|9D#CAH9%tJNPGeLJ3-CsBOoQs-=-sEh)k>$E!I=FrVCK{-rJcXD44%Kt6u>KlKsSUnnui~|oRLw! z-Ky~m#qq5nJ$UBAm}a>(HEDMSQ!jt(g>Q}3Co)G zOmgJ$gTt2rPP^O~2KpOp2w;(V$RMU=fA(-?*f0j3;fE{#Z=TqSN4fSe74_zi28(uK{Ci^$!iv9OSSMc|Bhxb86qr)W}qH(s&Q4 zl(xGo&euD7(wBeh_mMe;nrZwi+(V9hk{6W_B0n%uAuHe_-B92`OBQY?CcLY|0w4lb@qGY zfBZ$f3;HJS41W9iDd7%ip7qP*{-Aef=X>_8QpuwNuVE`P_T0=QsOGeaj?*V_pS1fl zxlgnEWZb9KKCAom;V-vZ`*{83RK}N(&V0U;+0LYyiE zX9rGIgmbA9nDeqtE@#I1HalON^YxprOA-_6-i{C52vrGG9B=S`Y4Kssatm{(h`E`* z^Nn{&Dx7bE`&7D5mHSk?Bom#l#(k!^Pp$h*w~w{Zxf}pO%vuHTHv~mFLy-l}Y;%Rr zcb|psv&hADIA5pxEOnpd7Pnd`ajx4+E+IyLxz+bL2d@5-Yg@^+z2tf{cDeaOFCQMv zh1HlVVegg)f@su<+*>FqXh9RZ`TEet zR;X3Tmyp%}QW?VBSX6G81=*_mi_66T>{1b9<&sz%qcnPe4t@DJY9`RPa=y^|4CyBE zKM%F=zb{i|{+&ri5a0VvgV*>}(|h-?nW6}I1zG30rpi+3UZH<~U~X<>**!!5eo-RQ za9^k8yOqvedLvpIyZ$w`3Z*FEY*|xnNlX-PvHIW>7hMo4S-8()uQSAteC>j z88s^Alh>YTYpG7Pwm@?D>{a+jd0xYA!JL8^dag{*yu=qVlJ3d*r_lJ8d~T+VV*z1? zqF*3Tj05?pDPDPbeliVP6Xkv{RZo&1%_`_ z-eK=d=Q^*#=hXnhOeJL?A=G~f@82lmixTOyO5d=Bi`+mSgYRXo>7cW90*gtUp0C^R z_D6%&`l>fb?Vk})WgVBA<}x}7+^@iS;!ynsNkX}rHrF`K)>M@Y(w5H}kY>?n8+{U!disWXTbbm&5-F%TTvrw9 zTD>0YLaMn!1c<`@ZqXlAtn&^3T2UD}ZWNKB%w3j7lu2oHlHx-8ExP3pa3V+-m@o{* z6Od+yAv%hE!0Y*bobfJ8Pj%mj>utHkY9i#D#lpW6SIGrZE>{xs9RrQh8GMP8=I3TY zUV(#vALM2(`rW9*n*`Hyr<@AF$on|kQq>yw8U9<%v?ZJ8#GE#klzRFvH?u}1@U7Li z@MRNV%Ab^8uUYNkJg;9d(dO%}Z78W4Z)71?~SBs2&X$a}~?RgUH zB3uMmU9yV-Q+Pr$JIObt@27Vjcf&jm)$n`GY4}P14;_|`fKVTOeo_6j&v&H4pQKRs z%YJ#G*K@rw5w-+QVy@a61AaGPFZuHNnyjcDk7zAjr<<<;X)P2EO43%%^WfVp}~UO4$>8q(1F zlxI-FAkWM;v0BXMo#MOSM^UM8TOfrUxHg?Khuixaqs4xZU4A&qvQGvhe;lmbDoBE< zTVD^ZU;G@U)uU<1E4>FxkuOxLSZvIp<-(#QIXr!7ctS_vyVgA#AMHSRpHFI=#7TZJ zTUig>87We0@7yd|C1OXG!hRim=eOSg%S)kcLHM9FlbfQtMfE6XWFQD6=GV+Fl3f*l9~*=Fo+G=35qaC=uF{WukJP|2K{d&P1^V=|*A!afvg^ z`1xC}XK9(R`n|7XiY>GVdOG;sH#AZD$igA)sQ zsC!N|j(PCn>8kx+&r@!l-4w60o8xs>8gsfx?spX%xlO*c#dQ_|i#2U?yv~ZLP*XP# zVN5o~I#EzK6;y1Z9dEm!;yNn?ZZ58~qK^LB;yP=_)fCjy6|b`^hODzoY@L-}nhBB* z0fH4G@BW-}uO|=7FZZ|Nw%uuMWAWNeb-D%Rf7hTTL~E^or-6gdIGk&&WdvVtfD^1M zbtYWA({Q3P2$hA4j21dsaq#bS!@#02>_(_m9`Cf)umI>fWoDli=bn!XI?s2Ar<%SJ z=4tB_q#I;$jPuxBM7`|padkvlVi4_O9P`~;(PwR3vM459mnf9en2e**7sX&ZKX88=ZF52WNe&y!6F>0@ zFsnt~*a?(OdM~3{a1+5_;3mAkV*~rw@e^-zYW{CR;o$kW<0>`~I5G$gv7srw6t1BU zOZU6}EBwX6s}JTcte5^AKQJ0>lXxULP78O5rQ9q0Mb74oSj+wR#afPlPNg}OEw`^T zTM(-SJ2d<4PW^FhbVD&mdh}& z2RAzUH#=HhRgt3p_6Jfh(7c=;WXqBbuy?nL5=T;w07oE46OJZ1GB`4Fz&6folVc%{ zg>rP@=#XP64%qLWsxDfBXv{u%HHU*i5fm{NLX4(5Ui;wH{Kjh^yc?X?K6p1euYK@t za$fu3-R!*f!Q1b=_QAW|dG*P!`OcdM!mIK)3m-PxnH;fi^=`bQydG{A9w@ZCDZo6= zmVK!AsnmUR7NoUdZ~fHQz3k_SZJ5mM-F@_o*Sn5LsWz`W5l4zCoDTO-MhB<)_|Y(_ z>;zsIJ#_p%+&CI7xRqOWQDhK(JP7H5GwHSty6sGQt;6R_r*%~Dt>jCeok^E<&}C=R zV;xFQhjq|lXD0d5UuV)?9dy^3^j1d`UplLU&N{P=FMV|;UDZKXok>r1bnvC4I_M}n z1PsDWT?Wf7YxM~?*(bWibr z*(bWC-=(xqbjx<w^&zN2EO#PkL`v}Nx)GUDK=uD)#P>2|@xV{nkT0xQ# zsR0J|$k|NWiUuaIU(mYN*gjxeBFz=LK)asN`JG?q!Zl-bY-5-!q$xGucUK&;XH#iE zlA4P(dsCqre|+jBom!+$2vhS!%ly0jS8I|eOK*Nz^q#7gRGBz$4;4@o$|!&-j`=bH&_ZU@qW9A zoRA6_^lKn3w`Du{&M^9+@rv@=+Aj?78uV}YpM^*3#tysBg-Rt#Sgf1?%`n^d; zz8u+@ccoMg!3nr3=8(08@$Zd!Vx(S(K9t<}Ry(DQ1L9qS-Nv!Yqa@Wiq<@t$-*%)P z2N=UDAs`G>)`>9TPF0ODtlGAST_yIac*Agv#F=#)Il>6I*`Xgy?m5xiFAOONxDgu^5jgA8i~J*xCQ zRkq!d%`L0L5Jxz=;Kd+A9YJQf`@$+i9xR;HmI1-gN1di;ykAA$Q&q%ZeXKw$L^47W z%aROL?kjXIq3ym9>@U+*2Nd$FZ6|iRNi(${n^~r!Y`?ce_{E9;F||%SJEIPljW7X@ zX(fL8!S8GaX3Kf?{FwSIIwk_a2!a4q+QrI+%oKl_#l%L@LbYUd(85@wg@|I|?)bA-(`sM9W zekSs>jJ?pMx-~=ZWZUAIcJF)~G)uabnYi6>fsF~i3D>-v}bL{AC!XX6r+&{+Eex2FO5gb>V@eZ&ki~G72gDO@G zKs7b`T-2goP@uU)=bDwcXXP@bdu`?!z|=3HDZ*@i9^xkx+c3g)le6E0%b9Wl&flbR z$+2{_dRn$;06c|-E=kHo@)pLckdkG5>XM>%)h5)f1{x`%=j=tcrQfI{zWDcjAj)&xkU^ z{CUgO=``^isEdCLx%|_|^K+K^ds#E-z-MFehASw$$VM%WYqWP05^b|1M{lP(0mr3F zW5@M6qV#%n%BDKBVdN?#KQ?&`tJ~#$gVsZy?dF@kF!1G01s~g?-?NwUoB49ReveJ+ z_iPR2goPw5#Q*YqLhLGRTn_P;s^$DP$~~Pq-f|3Mwq;q33ixufevcJGGv_z)o3N0C zg(L_WjtU!3vRKhrybwzxOGfFyf0_)-nl*;%H0}Ij)RX=R(suE$E+XvaBEszMtfH=S z=I(IaW(M=To=0O$aU0OgAsR9mkuB*eJ?r{IK;`x{KQD=77-=YCO&BC%j^S*HaMp5$ zu$V!~jbDUK{GK5!CM?9=r4`vqxKI;EArS(RbLLZ}qFPq80chr=4DGQ?tVVM(bD9ZF z5K7$4Cb?Y*?t?K0@QD+enDAS?o?G0oh_9M5&RFs-1hmGOaC9$;Y)sIn;&2ZV{jp1$W?_7W} zoX^ypeVRAvxh0=Nt4WuexGdQSPh=`o$F!;hTcWpgwz$N{gSb;V;+KVUbqlE(G$iWU zxbdMQnV@@Hrl@&h*Ef>fI@5I@zp?V{E1dG1tW?fx8N267r-uQM9QFQm&-Jk$k9C$2 z{lw|b>LLOLXa5OJUhf=OPM!GC`?^H56Ci)jS6BV?iU!9tEYZ&W`>?FEIThs%sI9 z=jxIIn{S}6Mlk=fWcQ20QZ)2qIEb%_)79!*sIbQw(Es{9*O{oUa4QC02KOV>sNNJ% z`qASux?#AJ4lDJY!p$#m3jysI%uf*JU0>t3@HiK8`c5pe&t<6njBh+4x>{2;9nIxn zz6`lOSCXUimj>;xqc*fJ6@4Yym@V7NC1yJ?Nk{9&^M=0(M*c4CHU!x2Bs459J{dMM=_EhRBpjaD2^3Dvm3R$PTKN z>>_Qjl%J+feli{OaS-s+1oM%}B&ko{guH&R5SPMQv_>>B$^A?lz8(CloP$&}gN({) zRyoY;guDrP6Pc#j2!MKa(J-~}8*w9!n(`@lN7op&g9dqXwQ|!Q|0}B2v>Lx48q{(@ ztS0lBz?&=O!1~?IrfF-Mq9(0#3Y?~? z`7E_#;liOzYMU8p-O3!Uc&E%4)gsfwJyWeT@0m^Azw*7FyMc&@#e(*y==i7XbZq4B zU>z+&E$`AeIk<1HiqZ0peLL8JgPo_={pAj{ep3fpw(ar_!_F{+fHu0$OAhb6 zr0cwAfO3dtZ3|eiKJw48wJW9N!v9X(v&Z?wHjd{fRpIqqrv`fdkquMS-P(DzpmO^( zAEfr$c9aJ3jHP&v?&RnA4#1fa@N={VCQmt|6&t{d_2Wds3+RsyrZ9vV_7j$E&dlN*v#G%Bitkhg_-|kVh1B&qL>evA-0L zJ^GWhV@9Bc;h^8>iMstlPqez6Ni0h)h#@ZX&5fOWlP@(_W%5saAAu`6ikw=$K*wq^GrLAG^Fxi_h<>C7Lc5FSiS zO+#!pJBttv;M%;N+msFHYE$7B!P1uM-ZB#Av7-Ura-!JCh3Tvl1vG}cXdGvj{S-96 z5z7pXBXqP285p-N}3h=ZD|%Bg<7 zPzi>dslqge_DF~j0_Gn@owSG^HNehiYto1vfq0eXoY%9E%hej9H`oG=@G0`KUeDjexxZV?eN8dvC$E=Wl(wLkD|67?#gZ0x5 zEW4@@KYn=kd#wS7`y>P2BWmqCZwKx=P3O~-8+|_Q2=4`v{>;vW$b^(OUgTd#Mg|*h zO??`kxN!q1`9?7s-4o%oM~5k1@3(*_=w4pc#IUlgogWo)oA%jh*T~Mp11`&lKhZc! z=BM1HD{>MLlOr?2CC$8T(sz}TQd$P#l?4B7niGv7k`wylCF-}r&Bzl~GB02)%+8aB zdY{EJvgPSA&-f||o1g!u`$Z<)2v@vhshj7;$$Zf#5CXdSjUZn1X9#!a z!XY(nBl}ZYmPYh)cGa+}ekw1lco*KtPTMAQJrK7Qs_mF8seY-;c#{Ua)yp_k1HtM> zbw5lw0x4rz`tkp!4LUc|IZ$iZ0ysTg?b898iV>CNbmED45OcjHGLWNEr!Iyz%|7F*$z-KD?9r7hrY6 zTQjNnzNXk#iYPW~NSUs|q8100S&bbZ$}E<(x=gFika2RGVdk$KE5(6gv#2yyGHTZ)oGh7{@@3tVNvT^dibJ`*|0eB68kzD1uNp8 zQoqs985L2eE`snwh;6gGgWH>fdA;jdX}H_7Vpb}fLKzZG$kbiZN~{mrbjhq22Vu|hMDru2N5DB_b~+-^ z$Aggr&VpEa>Mm&|KA$2zi^ozOyVdI0?Qk8tC1Du`SZW*Tpjt|`qqpS9Mi!&m1}dv5 z{87)OiGm6JeTIHNTFci~z7iJ@WN%eJl~(&MJWRO~2dkVAtsr!C%*OId7G?}DBrX5< zcgAdhk+6L;lD^lwlO8mF+i@DZ0AxO_G$rM87cd>4L=eLL;2}Is+xOzmDtuHj4Z~-U zb#xcTXKoxuYAMG|M8|_<$rj1dd=P8 z>2DaG{v2acx=3d5xb#EeSu#BRKMzmeuYBRq^fQO2KYNf)nVPVKvW~RF1r1pyA9m#6 zh*?M48$&8rf6Pc`p+BaLV7@RQb2THyDo8xTAsU2dhb4q7@$^_I3_`p*V|*!bU2$cG z1tDgaC537|fuqo`el6*D%tq0^=TIm`X@k<$~51eh8+D+(8zTWnzQb(S8u8!f^EpzQnTGpJ0lcw--)_vXQkLk%JuD7BK z`M!mo2vQkaqek!CsG3lxll2l|0=n%JQ5ovLB3aSVFjJfly+oc%u zB^4ZKf}4Ymf)&nTJQn4%D%w>-s(#=uR-&>?6%A{Q)%a(31FuPkGdW0nT(d5@RLwGE zLN#GrNmDq^CP5dK8n#fgB0)Yh#R%|k$XDBwg%7CP%m`eX&EE%Zw+)6i7R3^Ql$gSM zMM+BOUcD_Q%Py8(dZCKRH<;kDw|3x)wvHLUc)*VTi=5{w?6;OB2C;W>u?kY*$x zQ~AdT6M`3_x+&~TlW<-aF9dFW6R|NsPiQQPULjB8It3!N+2Ic)ReJ-gp_mL6x1y&w zF~fX)rOYs=tAcu_R(<}IE>*!OZ0J3Z>(W`i{#N|$ux|*+5jpMZ4|?%cpMj*4_RAyiOkrTaPF^_1;2=)e~jLav@@! z4vVuVp!>AFd{y+6i# zkV{rj4h3yR5orUiffr0a2#_0w^2 zGSc)u72CY^diGdN^D6A2)6`~?0lN(oHuw1I!s7^XuHc z+`F8ca*)J1cct8U=dPA}uXESPz2CV_rD}vEei)foc)4>2a{JB=CGDxIaBiq}PgSLJ zx5-`Y+zaKdaqbSeW%-sem&%0w z=DZtX??UI@7<)UM*OmnGE_L3`acr0K_Q&3}&a1JJe+DaNOk*Y&fx4K_IvP!R$vPze z&2J*vjV8R53J3OKWZaY&_4o&tSs^0bI&Q#*rc_PGs7R57eci&(DDKxH#Tfw&(H~BU z9%84Y^!f{;BmyX&gLz5oiQoA}*%rze*?}GMXQcDTe?`x>{}|2FXnYlpu{flLdWn^+ zuh1A^K}r0YzAC#28ecSLUBGPy03p{ElSKDu48%1O@imP;SRppHEjxI;MdQ%N-F+M3 zXn!vu&B>eqw>*N}zMt<8`HFSp1SPXpnC9E(IJQieIs%d#hbQ9jL>%s4@u*eSig?xk z+BS3h*J^OX`N7e(ic#zqVdWduy6>%1>??7H|3v|U^u$y#uC1{M&QeJnxI{3%&L8W; zNlx;$N*Big1h%NT&rt9DuM>Ag(v<-#nd#ENaA~;BAx$1H5r^4DkF}0%&h+)ijdcEm z`Jv_z{#U(=?m&jA*M*ws0QQe7KBmFdMGnSS>&sw%G`I5(aDSf+Q*W|lv4OVpe{M7& zS|=MqQ&G*Kgyn~L7rm^*7N!YaOVHaNu2vFn-96(u`NNFFQw@`!=ji6aa%$OARlNVj zp0xXc@?3-J9+4WkEj{)1Tmy_UQi$`}e;z?;qJiPhxG0tkMt`S*GP%6b`RO31M4X4C zWaqwq{H=(;mGQSa{?^3bT7A3DpD?0xRby074dE+6G~z&0Wz@h9|ABG`#p0DQv1{dk zWoDX)pnmG^^T(d|?)s?iEr%QR-T?VAH}1d*J#w7?DUUJ?r(@Z_Vk_491}Gk2{M?)HvNO> zWC&*xJztZdf02_Q=rFpl`3um#cS*um2&l=QqkwkpokhJlri!>cZ)Q2h@8mRUN6`NG zpm*#J)lpF&Wh!;gaou#Jl=aiD)^J~OXnkl7opbpO(V_HaeY|E zDl7FaL~S~JB&}y5UTc`#kE(n4u;dgqg)Hc&(LL&h5y^cyF-Lkdi(-MKP?Ms>bxfdcT3>i*Tp&d~#hj>yee2n%x{H)D}r?McDhD_i zpR4t`8AeEo14&X>H}3iPN>Z?<%z?c3v{*TtDcP z6h?ok+^P-cFz0oH&W(dk?XdKh%B7O=*Wkn-!f$ezTR8~V%0akR7U6;n!k&V#C|P+-wERdUNNmEi@Ugya=Bq!P+i_Om zWI56sE{$1uT-+O-n{f+o@4y|+s7{45=SMTj2+)fwWa7M)bo&er$8OG-G`YQdJ{Dmf;z#2w89Kfb1s z3(^Y4GB<_wS=-Q=k(y_)h@V*%ya9dY7}}p)K-rjBnSqn@C zR0^_25Tx47Kxauu>H=#AQBF;Y0$NsCE70RjCUZ$QbAbEgmO5SgrybDNyE7UAC~-`&NwnT>B#{e;`dY$5k{mz#VrNRG9LF)qbJ_z4wOgwZZY zx*%&lz;a=iK1AcoF2mkkY`atm;~+ycDWy4RT9a|1))7`hDXHO@puybt79lrt7OsBO zhJQ`*x>jIKkTNj+M2J~VkvH=giR`&w-3xWM3=Qtvi+HijjE8L8TIs(#z-}+L_O-#F zVr!)b@Mx)N_ZC~LH%wh??=800;58F#uHIs6b^kO@T5N48H|E_O=yUg}X>^X)JZ_1v zSvjtb&yx45H$GW~6UV&0{3JSBgOvj!i?k(ZOHYM!^}Cxy4?v1leRp&0vlp{vP5kaQ zg>XA|zWZJu`>!%TAeg@TrB;eYPe#e;maLWJwOqQ;<-5^+F%tofrRdq>G{L>hFLFsE z;cBcsoddDRaN;Y;rgbi2P}3r9eGbPq!3y`q6%)9heQ16VW z>?4hEJK}mA$J6^>L?N6v)b}1(Q8W3e5`Q3K8N?jVl%E#21o<&vf~P^Bj5GWC^Es`6 zv5DrTqjish#QJE##ORDgQy=jzyb!OqZZ*HtuHM1#iWRaehWUoa;UTbsw(fC`H7$2K zd=XYOx^I_qu+Nf}tufJ*HQ~o4EeX1}mQCGq{);*c`G_^7Yx8bWvLC-u+=%h0xmC)n zKPz!y^=_PO$Zu9~X!RH2w<7j&Y!R*(#HfZt^P;sk;hvS9Se2Uk1Mk8}5$k&St)I4W z6Q32!5xq2^GuQh)I7~tRNrN8#SfJmvnKUq4?+7_~>bkF=gg`!ruy(^!5FQ3iQnNsPP=(8VJprPf&nqjNuEGF%_^bVB7*mmiu0#; zgc2qfh!`h8c_IZB@vFT0i}9-z!molutKOQ^`&775@U1u^2)9h;q~7ePL>KQ;va(g` zcb{|c5qRc-x4wwF#``b z#}&^ZnkF`m;!UhWUv%>L!p(L{21d|>E6#<&n}`ox|EH!tI=t^U6#M>VAohBnj7RQo zY}|n<5F13B1vI1JoklI=r0cGJ(t*`kmRmsNRx7Li40!`x{W!tuMg`Z0R=eT9KK!Qo z9#ez`-Wog*?{KEA_UQ$0-3X+#lb@1c@SM2k*AxK^LgwveHPr!lXb^E_wKTEHnONM% zw~1vSR=SSA$2#7DsLc8^5aUhPK$jB2xvy7j*e5s&=SbY#^TC(3y>&t{ZfSa9(#o>E z(^38 z8ANmydurrK#-2)fg4knHv!>Y7q?k}gYsD8KfM3+3sEJst8ajXfqK>oQMI zRhPAm%e>}~P3nZ#+117R@SZ9$=;`pL_?9l|;`DuSevM-lzFvOrO`9JkSp!Ys8wl6E zYV#A`ABS(W@SB{U@a=@B!Mna15EX{FA?GU<>5z6UMQXqqcNpLes(D1BQp4C!^Ug#% z%& z)$@7}*De(tsvhA?b?E(Q>jT1-v+%wbnWpo`g0cOikG*vs;>2*EP@U(T zV#)cEAutulURXyyo_G@Rd4y#OI|cuX-HT}!*zRRALV(@864pf}bjVoee7gi*%gk?0{KhU+JjVX8rMcTARl9O>IFdqkIv@x^4n5hpx+f=yp6#@RHgL%sf zqwkEAxnFsBE7)qO^_r*< zf(N1tB#kVz)6x0$-5DG4~EVdRJ*HCy? zDR|cOVx1iFtmzlNh6UlGe6Fa^f1-5xd9JYgrP^rL#At3>mM^-fKrf|su!vMgvlj80 zn2H*b8%KIQe@9(d@I6_E5+?5(!q0aLtQ3#=P*;7pZ$>n>HsoE`G|KA#yjmT0s}cn3 zIaPo;^P}mjXN1%LH4f&zud>wCABSUCFTOoB^-JSDyG8~bsD>;xxw>M0&vZP7)-zu9 z0lpT z?nKH}oRupaMJJ^9ZG)2QdFQx}o!&)A9pR4aLC`cBhry8SX@mgBQXn{I^2>V?MLH|V zJkRN_;BG|OOI=HmW^*otjR-n$En}NgAw}S|!HsTjnVX%f^1om9h=`U zRx*Bk{XyixjST2C#k|=m0|$<)Q61-B>8vn+4zfRJ4Z6rz8=k4>ziAKphhN~hT=t-` zAxFa{EV~ta4Xbj`d;5Tv2Q7c;^;{-IN8N^RS)!H|YT4WyeGIqDR`w`Xjgoo6(Yo{R z2h9k|mfX*lxiM3;Q7x#QnQ9rZrfB2iFjvh3V`A6XzBVqxT(z04_U0ab^$3}$o3fYi z;}-H$R+Yc8$>62}tOoXek#*S_r%?m09c;k-eqQl>zN{|@3&H4Uy})~0D4T$C$C6Vi zt^_3zKRy&pfQH+A-8&Wa@ZpBFfw~CsUZCB3;7|$Aija;3QUfzs`JnL)ps^R3IUDJ1 zwL`WoMdZYop*kVw&)M<5@mRDHPe^N`#go&^ej2h#-|V85N4J;N4(XfBv~PD2dftvb zUw7jN5^=5@{uuc>_vNx$=h@eE1!ygVant|_A@mwLT>At{aB z+uXU$?5ThBdVcRZY_l31K0}{X2HA;F1X*?eB@^iM+MxZ?3l-a*72j$@-(h%cBVVpD z@e-9Y?Y^BMo^M!cV{JB1R@oGF(__;18PWI}0m0K#4|=QTYVcuhMI(BwGnqM(4(HKcHui{Xtk8PS5B$2(0U{gXq~05#z-e`~QNTRRZl$dgjJh zS=C>lXKvko`(ZX@Eg1e@!JkMr?m{}4GX!Dl;+R5Tm*pki;3sRj7MG!u*>w1d zXaJ_7VRRh(`S2Yu>@;`*ki8lUh@jdyuOMta|8^nMj{^nm+jJe}KI55>tpo=zj60+7|N4TP03*hK-OZlyMZHzaY9>i~T^i zq7liIB68hg?e&-Iw*3LFxTF!Tr1M=#%C0|3($X|wS~DuC7?JCK$r7lfy|F7UX}7#y z?~$$~W!E1iZRRu3y_;W^RE)@VKT3%HhG-MH*7Ylttu&yKLD}_3N$dFxbocYCl8O;I zQwb)Jk~ZnXUkuX*xxL=6xRR7zf3hX~cCX=yeCu!UT|5;t_-@_bSTS`=m4-4hMT^5Z z7Zg8^nXBut1Z0h$0Nkncxw=f8uXdoW4fvfuwicADYZ{U%3Cz*~AW?0csbZimsZ8e2 z)lF1z(U1W(y|-%_Tf;O7DqMy!V_yD;gP!FZ>+<-Pz(&<*hNOQ=d~Z2_?HTOD{+)Hs zt&jPy;YSX==R2{#+xg8(HsSfRV*iI(qvUUo{ZHBgG9rIM>|Yi8>tcU(?EggUe~c=X z|D&Ldgy>Gs#ePL+ECyJN_u=m#4nuf!_*r|H%^`1OZDm3q zmahVUJ^4L1?76sb4j3%)Q-zFtgYtH#A~D22_MrG*fzKiDJBfbe|1a%~!)Hz@Jhlk3 zGVBk!Qh2dMS03o&v8Z8x2m49?{lWBwqu^$Tr8jyNo$qU|Fbpe3EdD2kp^dVEx(bb1 zbLZ;BgfV8z^|3+c=xhFCfVk(;Qkm{<{1fhOyzQrEoLUq_s;oVVpMA%Rj)m4TK zQ(&&bhFXFqgbmYq{xWQ+jOxaQ4HKfe+OVNIs+*o`s8JijhKbRtGRPep&wpXj526cv z5x?wsQ(l_fzh|8BOWpnD!PFg{9|)#R7`gb@&~uczYD9JkUHoDnFw~UFnems)`Mb9- zr!;<;(@c~xC%$oLe5dz;1^OFuelzCRFa5)a@a*#3EDfatxmmvZR7g8$VAceC{cm8_ z5xn15sTeIk;at#vY)x*KBS5pJf8*<4|5x7mO9~UJp;SI^kYin!^?uA}UpsWf*-gt% zLL=vC?bIhdu;e4&q{5k}nz}m=flPXE$#KrjvFN-9oIQVU(yk>R@+ST0tU2x`&A1Oy z4ECiS9O<371vUryykw7qR_pc8fK`ygjZ>6cy{E{1- z+f^!oP1jM^d;h4F;(m2Y_Nevv@}D>w`lo$192G_p7tai`toFoygIKiHD%EtpRq?kv z{u*u0U%G%9m>qKlX|;P4&~ChQ(M%U3j%p@m^3KVefm1rXH^0()Kw59V6Y`^Hsf44( z3Kq$8gXr*z0uwhn>f&GV$$s*Ein;fAW3B+O&`MwF{$vbrA+5g49`(q30U=}~z6wEG zVDluGzX4H}!z1(iS?0H<@t+$L;z2YnG$t4frC~9*I{&9*xGfv6Qej<9t}Y%JbxC1^ zY2L?y_jYg`JUM3GUUg*4xHIf4EsVsmsNB%x+9&nD|C!zUwv{dZ?a!Wkvb751HJI0* z?oH}Hcb2;HNHQUwIJ<`1+6mlP$n#pqyvK@497-v32}qoVW@+N{Xk~5-==3hZz#;pX z=U+W^#2$2O{Bb|UWelekFQpldGWf;5EWcG%`JbI=_^d+Fh8rPpVX%2PNmW=JHGLQmL5-A+3zB{(!tanj$g^f4BJM_shU!*=_SYBvi`S2zJD@`1$CN9T0ZU$-9 z#Lv;hNw{4TtE~ioT)kqef9lPBk{NRLhrLN#mwZji1nQXFESCK)BsYn<<6{8S?jdoX z_T~!AQgqVr^5`qz<(sN|E3P1%u2yR){7JKhih1Xj6;7k!C3z<)X3^M|SrzVmq8J$- z6Zy$8%P0n*X1Q*C=Qe*r_0A!K+WbM<{4cm&o2LjGhe(67s^mAbQRBwrw`%f}0CdkC zL+MWu9>ED18KC;*%YRiTd|UwCOIiVh(%6`9<8}aDi^~Agc+QNur06YGqO2>4yST&fu^)x(F&L{cJd)o?i% z=MjgIUPECXkREuc2l?Da`8UzA(*DL4Pnd}DU3XWoj*eK|0F$pk{S9<03~r(n0(+C|*7B>rTz7fw zqB;I4h2OS_ckNPC{*iWijMhj$37+Fv;}z~~!^b6)>{#PEbRV$n z{qUIZ91n9cdYc#x{&4EXK%2h zyY)9(GsRj}^as(JBmsf$OqA_?0Q?=~M_YTZw6*t(vUJ_wOJXL=AF$ojIhJj?3eSK3 zGa6L3;l@LR6W{gK!}eVG*-IH0>aK#Q6L$-pgT_RUAz@#Ocvc ztfs{N#k&LK2!hE`nhiKdEIx*rtU&!C8Nh{pkAYqvUaQs=rb4_Nzcl0oa&-Qhe??So z4Pehv_?#$Q{*=>-VS6_6UMckC^~l~q>D{+tayq&wNqL$v?`q7Z0O`rahwu3W?QIPE z2j|O^oz={jsjn^O-l6uQKhNKOmPXjJ8r-K8HsYBbZnt^X{R%eYILaEor7>ibU9RFa zjY6w)&;6+r8^hl?b7K;>F(D6$F4u_Sl}^oXE<2R>B4J*$6wivr$uCcS%FW->keXf{ zt$7K|bnhS4`M2Hs$8>&h-8ndn34I~@!CHkT9 zvrFTLLG-%DPhR7P8TO{6X_{o!&eZ(q#pCv^wtBptJE=bCw%tFvfCKp4C?B~v8JWK3 zv}^|O)7k5r_;@`zQlz8X+tfY{zOsRM>{T%KLd#LKZ+4#+4o#AevT{W>ckWWq_Yp%J z*f?_WVcok&am4V!o!wjQ`%w2oZw9&uqw6HEGT~5><5sA~GSAZMO~xq6HDGNO7|92A z2iZFf&D4-;r4Ng(==~SUf1B*3tnog_&4YVs2_`KY^7T^-UREL(r|P)4gSqf=n+vZE zoeN0@_|DF;jljX6c*`t!E{N_m%)H+dJCHnH4HhW zXZ%kCXNFE`#(c$%e_H9n_T0?)k6(9Kd}v`OY=_n-(eKUF;pjK(iAJN=6U@M0E&vW% zPd@T?>q$j%Jt-`sSX)vYeSgckV(oP6iYh7`L;9io+5HcB_wOtm4kKynUp!UZ9O3Y7 znwt^G9Ev1%=zMse=EJyr?z3+<2Oibik9b{hElQI)A!v&2DqR)QiZIDSy@{1w%6w-_5`+@%~N>k%PnV zm}=%Etao3muCRDvR96P-KgDXC4xi(wBPOSV`&Gu#dxGc~hS69w65ee@%82P+=_@T8 zBKVn76!xUUc0WA5T=E~Q+Scv%KNU4MM(002Rk}yp_N-dam;V?n=bi^k`-}fA;LFtx z!WY4a{qF|f|1|`@J(*$fiN3Nl8%eeG+4vU6^-QzZ(^#5Q;S-$;g7zK3mghzXqraA9 zbZKS&M>KyMdY%uvrx39C@Zr=+oB{j!AUcl)>6Lu5Z6eNNLE>`YP$H;wg->a&+jz^4 zhgr4fLA-|7rtUp246^nnYyMV`mWtcmQgM^gM@IO9_8+4Xv7@w942%pd z#~z>cxwKCF0g;CmfRuOt5BPtgxDd2zuEND=C8&0bz#!<$7?%?Gh2rZ;Oyw{e4 zM)B9!dcd*tV6cznn_b#gzdfdTw9v&aJ(?n*`uC#MqBKc%JX-_ zQ^BO^P)_n$p;s5g{K)PyOKW5<>$7csZtS;2mX?PQjdV4{?L9hbKAZwpnN`*3t3Jx- zbS(BrH6prp^E(;~k9=4ty`HNTx+)I67?0DM?EW392C^jH{kt(<&$n^ZM{A!~^jGy8 z@WS$*!(%$z&iVe>?a|~^SW^#k*ZvS4uss#Qpg*+uxu6|g6va+`t<&v~wBg8(-y3~A zoE*JxNc7@grKUd4J1$YOY-Fk|6*Bg^s0w|At>v?){?zOJD2R3QM!5LBfpMc|ut<1} z1XJpF>mf&zV@7nHi=e7!i>2kM9B$18vJbn7fOsBxz0$=oTzo^JMO^3{%H3u#T!{5D zT->Yh3k(%^I8@B7*z-Q-$?W$2qp?3*A05&Vj*LE)ZXcMF9lNz5V)r+&__=iZmO0q7 zZixKU)Q3AiZ0UC%jc!AIlxPV3=v{*e>Zd-w__?W%b-p(h9aokb*#s`$MS872*x_<` z5Hk_}`~dH#8@E|_6NB!*35%%_t4320**kWFu|2<4mD!NR}h7?lnX5?w- z_I%+<#x3$A-}Z@!(E7c(2fRr+Ss?gdBto9TJ-^mR`TsGovYja#nz~J-`*{x|#_?9a zSK~N))Q_G<)^sryvFqHfK3Q6Rn0L{q6d8?q^6`IwU0KmFJ36D9BV3z40domGqkGKe z08(oS3_ra9$Apn1^!Z!07bz#nlG0J{qR@cwHonYZo_594;XKj@XIt8DF=*b^M>meA zvC3bg2mvGy=kSN0`h;XWTYdTc{C^|`@tFL7`~x>9ZgQ6Zvh`Iy7YcTfN#si51*P6F|YF1#{T};uSux#UHg07l>;3! zmFlho55;;>9m4JEtgDpU)mI0}E7n!V^6Kizm(|6Beu-w}dj{hM>`Qf5$VoMPyV_!kgGx;YPD7$M# zlGY5GAiXj+a)#YdA(g0hNm5VO=>TS8d%uf9NwFvu@(g>?!pY2JK)-@n@U~4m`F~l{ z&Qg4-X}3$_Jp^-?sw5qZrMm80L%SfK-z%egvq#nal&SZA&;urJBSv%lVxmyeV~UI= zsojqQAN|D6i6+*f{~ukYb*M4=cdbLQHIl%q-?guI1c^rB%%`GW-H;Md|7R=i`ND_s zbK$U+Ln8myP7>0?x)j>_YCW$_^0o}&*Dkei-ihIT@8xoHLs4%fV27>cIXs!W#pvKj zm_s>U9fJsF}_D_i7@#>DH*#g z>P^~4AvbC`6PAcCkR~j^i_WBaZ|=C;euM;^u6UdWK~b-}KKAN;+t&K3GPFy-svz!@ z#vON+bq@DRU5B+iOC2Vz0Ow9@p_fI?POz?v7B87zA9suS?IJYE6^2{sIYzT?wj15{ z`hj~=j2?OdM9R*J%<{!gkO3U)iGQhe8@*!}qq!x`Q!MUDkZhI17-9aU)*~v%%b4GK zkurA*;g?og%9i3QWIrUwkVnW`uD8wrrxdNr>lqU%2+5S!a;bHKiivx{#d?`b=R34# zE;amniDE#)0{TRF8m3-vmkHM$V6tfg!qmTnZ5o|O-z|B%v3(m$Yk&r~EYu@=9HTRc zw&mWW7tS5kc`xpaWTCtiGgq2vL6Q!9{)hAy1FEBjuKP*sSvZBBepnvp4V0(F9vEH* z`4Lhul&BoZO1yS8y@~TPJ#OK*DXpG7^V{sTr`gJ}orne^*zt2PRWv}PTgbem=3Q_Y zw9M-rr(ecmJYH#zcfmSo$n@$y#?Z!JWY2>3#Z;&p(j)!i@~KDwybD*Lh?svCU5)(H z{BZeFliG>nQuBDhMZC>cMc=Dv(03^k3<9B>?T`K$y7`fhlO!55P4OkVc^>)qe4m_q zP_LETb`L7`5A69?iN6=`u;Z=!xnYlqmIGYSecygQ(AoV^zY_YSVSFd&7)mrz7FOFy?Nam#F{LEX*&+0CV#Ym<$0(8cecFj)ZXy?fH zYOx38XP(###qRzc5vw=2h<=K}Vl(d&d&m9Io3zur;I1*iUCo4UdCr@36EEdX~7y^B&cXn(W12_D%x`d6%~=TDEIqYdq3wK5c)EA=HC0y z2hOwKU)ElG?X}lld+n2vCzIS_&2aDSt{vezYcSZ8b}bGqM`#7?Bdgt2?>DpLR%&^h z49{BGI@E@;X-%K!l-{Q$MaS%Tbw(4NQwuL^jaz~{a={%ub9cv!^}U}esSfTq(EH_*=_N0e97xV#Zq7)u z0}>;h*~e>=vXY~#2z8mC*Ofe$EZJU%;mcPi2jTGV)s_6>)w6=8;VWs!Y44y$tt!KR zNE@-T;VsHvU_fMo$&v-ORLNLMil$OBmG`XgcLOJ=b|$vTa~28uNR}%7cMp=zHI_;_ zZ_@%)i0H8hI_+3qn$hXl5`uahUxI776%0|npZ^c@U;O(vmdYeIH&Sr2cTOaxVDclf+ha;H5~lk8>$?xA8$R6Bb5~ zn!{F5pq2$XVNWBf?kzlJSId94oP5SRVjCKe5)7iNN19FLxQhsyFJ@XEr8 zz2%4b7I8XOu^PZzOvGcDAxO~CDXI0apBZH7{G(s(ycnBf(52`Xja zh4%9LA&_NqH)X-CrFNrN7?)UTsq{vr$OQIz`v_24aJ1arKE<)zuA^E8O=0b0qvf^} z($&>Lf~5VNwXb_#S=!GB&A;B=g1%<6h-Z;L0b>UYfnVt9gvK#XD>UlHG7L*RC=i%`MGp=JAXCe^B#US3fkbE$XHLj#dc$4Izi8m+US% zoEynnwwTIKOKnqKP>$gIt--i^gX=!%Q0Q?g4rk2MKrvgw$qnF-1E-{d;hz=ijTwa9$|jkU$m3>{~@WQDr(dN#Tg7Qga+vP!v4rOX&!T*NP|h;dSS zgE#q*eRpNwgsVGJ|De#HH|{ryA;4uJ8=g%wmeD#LCSxIGd{O;&vy657KCMg4fXi9psGmEhte7ZV*Vd zC!7qyMCzj>`@e=SG7-4?zD_byOQnPNIs{i7;Rn4VN$%y)=R{*Fl3l-S+vPUW3_#HN z14>OFENx?b^OkRd@MgC)h#%Ssmx#$@ia^N1XrFV-{y6BZ$9Iq({k;W-Ho_#j*?4Vx zHNhs}l9r+Z_8+T&10aM0Wkw|0E&)upEYZK8RR%O1F!2>;lcy=${5D|A7vO#(7~`| zHUwQ_$BXRb|Ag@zl6x_qKYxC(j*PkALw8)cKZ9vv53?(Ks|t)X<8tq$s2JaLoZ=Yw zTzRcS%eUEgSN17{>WkfLVyH_CBj0haF!GwcRa9ZdWWcIa+(6e_pDH^UfmUI*oJ$#Qw&dGmXAPPQ$B-ulox{lhRSG(X z;>aV+0of~o-)N;4!_!iMwjI!RTv@G<9gSFSCS(;es97l+jI=@FrBs+$zw#Q=r z1X=AIYs{J7z~o`}*;5#XVp(mCBBNoat!FnCUD;Y6EqJS}b~O!ym(qgo#I=~$!zGDr zXW~s<654umC?>aEJNv_!Ri`XXY~RH%(^A8FpDUQ+5H zqZ&qA@==R_rmdfZxl7HEOZG4nk4}vKspPq9%#d+?Z>Pmkp@zDQHYh5q5)kR`Ydw2zN99|%lpH))KFm6Pu7A^*L7Ip)mEY}r3C^-EZW^?SvnK#`clL}@9*$_nU7N5 zMcyxULHQSZzbPN$U*`SNHdK5JAL*gUFH}+amF9P%U01gg?YerMXxG*0M7yp&C)#y& zInl1_$)0+e?eN?{gL7wAZqg?4pv~a2;M!*(5t^PvxfbETl8Kta5Nf2|0>tWONvx64 zNd$7`&7wvUe#HcSCL@R-)U8-!6k2UrDqJC^x5;X%J>Pow)Vk`djALm6v16f(GRt7I z`V5=VLFaeW$oNFr$Vl7J`pictXl`O8=gP2hjsrsv4)?r-YHv%R0nx&jEG zs_Bb(Y6t1Cy<&hHg|t>ppjonJNJEEfA26Vf3C=X=kixAmBubEHe4OXEVmCR`h=ES3 zvBXbMJl{$FTW{$l1U2@Q$>z8{DppnaB@NLZ&K~E2MuR@yy#-vBlb}^TNJ7*7@lFyc zlG>;(re5~YwySZWMhh5J0|VP#nbthrXVb7#sm1A%cC&3h@z*mh6#9hXo&xmR#nyAp z0U4m4TgD_FvAlT4e|!QX2Ks?Drx>Kvg$PpiTRstS4niji%svRRIV#Z;1x)3RZ| zS?gqPtA+n2V{>#d`@Q!Yp}kx2K75~Qep3oqZ($~T?#6^k_GujtUb9)eKrH#&bd)wm z&|AkoD%pFND$HKpSAm>quRY^1Nrtmr(!0lnC}$yi@iEPJ7X;!DZ`23zW>g;JX)kD8%{{K_3(CV zaTk1MJTV_aX5C4#$)&Un9IZ_TXWUj`SGM6)wa%IHPI<>-5xe3N+*35YwwqQVi>rzg zScs#ZajBm{L8MSekC?T{naMx8<=SuL&iJ^4=SS_kD|_;Epk9DS?!6yA!e4U%d()bk zHTKYj-H)rJnJ6wkhKZS)5c#>cJX9f1ao)sfWSKyuVE$j$b+%-p^C^l?l30CR4N zHa;NtB|1fA&ip+nvDojAjx7&|e?LMbzSh=!8Ai^7zb3QUDW1Mm9O^b!wytwpPY>t6 zzvi0V;=5{s8#W)<9C831+)$fHrL#lR2T%OcCnRE8WTj&rjjvs>x9_S%pMAMtZ{PKa z)qEi#Y7Dad4!Xv&JnHLrF*oO6;IU-mVKhn84Md|hCca2X2uUd)UM)g+o4t3j^R{^J zGUsje-ahAT_g*be#BNgS4`#ITSU1Cv-) zB7QbX@1PP@@5UV?3>M3_f-glKVt8X6`aGpv*z%2 z*ffnLv}egqvh%(9NxmqClckA5^oMhvchbxToMh9W;+yGw8b5p~=iBUj&Ca*O`Q|#` zZs%*kCt_e^ON(Svf~(M?6|@0)B6Ws^7LW8!9u^cr6FIsNImSC{enQbe;FIkXamoiE zq1wu+6#Nv=?@W}*fu9t|%M_x8~oN^9|6KO*rGYF~%GQCiKd@4a<39}-6E$wR{BMG60VI|6>F0vgmxo%jS9d~MDrNZ@OCz7FSG z?0f<#aZ8=A&-rYMIBco6>#hu>!x?_(CaS?4`pNR45$_|b;ZftTu|I*(GvF$l1g8y` zKf}QZdpfklo~w_p>!1ew;D^vb&BbTMgN7AAO~vUC=Zb=JWx=`1J8KRNsmXKnzeh2MFJc`yOme@NX1JuB+PvBKaTBM=M&du9jo^diF{ojp0I zG#=t~=7FNQuviJ$K-sw!M^&j^?5++ffu9}ATnWEZke?xa7Syzhjif^R00Qk@=@K5K zbuc}Rk1EPf8i&c8H)-n9l=mI@k!_`#WGH=$5^6f(-a$EQt(@}p36UJdX>QRl3grm2 z15YqZ`W!k}^59s!k!?~m2R5tx-wsr6&_Q`zE8e5N;c+59L3TB$BW5(ph>D@hNzk7aV zeeb$jh!#hoDZ*q5OUHB^GAL@9@#9H{uuCDc<;h{6aO)Sk1)h zCa7WOZcN&6*f-W7%sG8`_PX~T$s_ocyogayuZwsE2Q5{vQOUlY9cK}bQIxMZ6Y86` zRQQ?fGuQP_F~+Le;tC9gjXq3KYR|`FK3P!IAfc~RlRi|T>Ma%FhC05)p!11gOcrgN zj5w*oOvGU;Z`WR?ao7sJ*_+;TM3cq5sO+MqzopBDt<<5qvVY0mvZ%{Uq@t`x_BwS` zuN|5@wyNQ%UaO7*TUCV*ywyj4MI4scDq_axWAYr<1Rq4~B=3Z+syVP3<@}$*Ss%IK zVRBTHip2U@B~hE~O*1pBhT1r|z{4ed5SgTMrax-PT}ILlKPeR(u^3HI6n1}xRK7+=X^0mw5C<_ORMrM zD?&v#*QvRJZ2Ch524BMa#F*l(^xnGO1yy**dM}wz`P^#s@iUK$)~X1RQnknRKj!Mi zw>o}x|Gt=C70tAJwtiYsZigCxhCI$ra~jqOQ2HY@FH`mKVPU9OF=*fsD*)&Zr}!0L zk^rbbLYF(2VTeFTP@fONxuW0{n0@wGPD=tIf&Or=aV|N93i`tti#W6ILx%S!&iu+_ z&3w9N7-lzKmnJHXK>@VWQ-g{Ivl$p`{&y(&lZdnJ)Ya}Udl+kK2(O6J;j7@LAi*O0 z&zz7KwV5e+9BQ>RQRUk_;fQv{G~1DxxZJp%@~cll=gYF2ZawoN6>tSEIBq$epz*o; zNmY=?1)b}T^k4h`AuByy`YXd0{u^?qSr6yFO-OuxOL*i^e?D6%SkJls{mCckw#|hU zNv>_h$KiNz?Qm8D5twR&$`)R)cqLo;A-5`97_AprMI$6tQ*Uen<8SbOp`YSY-Y>+H zzuEiyyuZc!g=C6XBUGM7Q~q}EcNpNqjZn;Eob(5(E%Z)hY_JjaD1$$RpK>}#iLcrD z)H;0PE{W@Nz82@xWFxNC`8==R=6sqJ#I@topt()UsIeo&hl39Kw`M@R>k z?svi+cEvu~C=e&BroNcihZN_j#}H$4c+@{aEe2eO6t1t@rwV^n0)G z$5!wC6Z-KLjP5V??f3lrQ8c(1-Hv4RAN@cvqhHiDXt1C4u5bUnyuP2v$3V3MdM_M% zG;CHXMGre@6&o7kxkmfOD@ z(12Usud&JPk$RxyT}AjK-ea|+9s1}GGP0)NTs#llc{#42KIx;Iree_$?L;o-&O}sJFk+pv~Uth#_%X3vt`L zQ@v6a-@LpmFxSj6M?oL&?Hxr2RvlFCS_bI}R`2NlY?>lww!*!+(KI-4{yIZya8*t56=LUtaLVrT^Q|YHqd9 zE<_x=5rlrc*4c338QH7GdBs5y97C6Ae!EOCn93k;Y`9x*vC7~RrnLBF9nNyv^9B3v z%GRCEX-_;J`S&3>;gKyE-Eqe7gER!Y=$O|Kd{=(_ij)Gc{4~fl`rK$zMa=qN0_IPEO9*XDSjv=K*LFTp(=h9uOJCbMyR=HO30c~)&> zeMSmwHHXiyj4l|C?%~33)6zsJ`UDd?ZV7{J~RMw^M!PutS za9B?Ry`}EWaoy--SfU0hSIv{pJD2WnG_1ACYbX9#m0tZX?(S|)Q_aP8HRUM#NEi67 zIpA>u?`+uotOelF{radH#&OF}<*hl;j}eOjo`9!Z_ipazoU1hGlC&f9(CPiWoO@v7 z(GTYy*m%Udxlg-yb0fPl2CRNkJFC8ygRl30M>~w_RMgc*X}FrAF7ZgXnxih=@4_`V z>grQtGDD)S73Qcejk-iqh%Ae`#Kz+q9(9SV;0mKI5foe_BYWN#*XXFL--V5dx;8sk zMbx#`xe`&ArVHsRqpls!H8$$fL?Nsy>e3+uuJKXVUgw$+b?tMmNu2OIS9R1i=v?Ro z?shITP_xceA9ZbWE}OYgb)_4p!-MV|v#z(jq-M*IAwT-Gdjj}I+fY}dnkH>Py*~W> z3GV&hYl$h~lcLewd)~eO`x(XQuYhlykM7fbA+uY7wIaC&({gb6mo1)`xAqO<(B;;eb z&@UaW4@!<0COhdcX)PezK@A=2x|FzWG=UYC*d>rVdxx9CY2NkO9=7 z@bO1p5tl7#Ma!yP95G-<4wM7~*KuM~wp`aIZ_p)G#kX+^6|am2AyW_?LXieQU#v4gRk%e-?S-G}R2-+cEc2GXK+l2q6jbiFW;7Ri&D zU}vB`vuM$zf`Rtfe0yIF7*9Ih>0}uD`F&tpJvl`3a8ayCp8f{XPNsoO#!SZpJ;Fo= z-~Nlgx@*ABoFCY>?aX2m^CE-a`eq|J262^=Wgxv9m-w22vF|J@{KX3UjNkxAQ?fV9ZXhxmxZY3c5^_Rd;+1kFRjWu~7 z`+>g_)_uQ{BDbVPVoO}&J|&*(5?MId%?G8MhnkCRgjd&?#f7}?`VAosw?z? z{SOJMG&c_wCNum?Vilr!!j|e34XZW0@~&jYw7|vdZCdQQAnKL<*B9w8g09Rx*$-*b6kC2Q$vxvpf}5E4WOuxS z6plhK4Ju@>7BEK*vVBq#@3mJPvPhSD#p{O-M|KCiHu|neWbMRf7M^ug^%>t5l?<-`GT7fc4Lfc-l2`~*7i&*_ z3aiv_FX4Hpp^M?s>V{qrww;t5&@=(!vR}S+!EZ9(R$&+^`yZY^H@+|#job;-P)5xw&bdJ>U=gx=Soh07$JMM`egc8oLUd0QgifeD=)vZ zs*k=qnhK&DR8AcX!sr?n_uA>QW?RES4?J&eqB8yaAy=Q%maK_t6UphlT#3Sz!lG}f zVRIgN{SkWjo|3r7>S-*;I9`8M#oQWnZVi=G`1H1ED!fI7H>+@y_#U(HVt(d0@T`fJ zCxmON!f;YmoEUWJSz{n-lK`df8unx{N+u&>Qm`ZFg~5E^r8Lok;hBwxA4x{N0#TA{ z1j!8V-QJ~Hmp$)Utr&MHCObnD&gDr)(_6F)h%R7nLs=EsJIWb}w7dQ!KD=PBduKf{LW!kv{bNT^!|M@@g&SJVa@9*UO zZr&S_c+c0gzbaQFnG!kZO5SR3GIM!*@e>BvWID<}EF;pAws%ypaeL>icVHf=>%y|O zlY=|Ye*2|eQ-=pP^uHRHk$3nSj`pA4AE$H){+R#h{C}?BBnCxQ9-W`1y1b{TfB3(7 zls|Kn|H}n`?z1l(D!@`bB7b91{PbhQ|7(=5FL&B8;@@4Af5b83Ge!A7`|4Zje^)X( zFNOJHD8-#q-*IWz*=23-iASmpE;xsv5x*vg?gyu}stkDYMM@E|N|Kf0L7w7jgq&d5)lPh`UQ&|+JHne>Ri>o27 zD!!xnPT*U?x0)|=cd9JcGmpqOo0`JU>F!2S`Z*0_sRc!g#z*m7N^M~)%BW^Zr3J-& zYfeKIAtmm>8f;j_l`b4gWh zj`&C5MaCn$@V9@o3rF<-|8_rSs~_=S&CJsexErzQy;aeyTFhJW>f7ZFwbA6cr{Bx9 zIC-bF)<#Q2b&=B{6=^%EK8nO4)JGRFT-dyn1f)r}{w}Jj&5YzR64oRwQWi?4V|aUnt4us(GLhdPQh+J1ARVTxwopv1C!_Gi>_}wCt4!npX~j92cNEo z+gp!cxN;l)KX&;8X_tT`>CIKfOo^Y-ZOWIjC$56#*J_-c|HAL%|0QdH_g_o=o=%OS zlc!C|+@p=lHa0G=`5k==;=5o`f2l6AU0%Vs@vbVM{@O|!RUge7eLD7{AKNo(%EZUp z{ysf`@v1FcYkWQEOsmlnGrWu}iAjk}rDHc?UHvtgO<&$VC0ZsQ*%sVeGx5!<8f&n) zeEI=OuQ~NiELoh}JLa`A64doh`rV#WFI`+SaYL}QU!@0k^w*RO)KC0%8`8tlzdyS4 zFF#u2D%!Kn;GhO0>@G`Rl`ILqHi3RfM)*z;C7NH0NUpwja<#6Zr}li<$;Br(B%HnQ7TvKg_=Y-rdO_YiU3Mj>M-Ach zXynJIW67P9+`6>vO71fIuniIw@Ddif(p?fFVAu}zR8_&SU@|oV@ ze>d^Lp!a=|$86H7$7l5@5udq>_UtI)`A>t6s>Fy#wO`hm$y8CSyB21q&4_WTRDy&FSD z_Av910b8;wpVET5(bdaE;?sMR_#dn9Eq%bS<6hNEL$N>2O(?|YK{E3XNsvO*qJH8A z>|sXhtW{3l(GQAZOTOVg`U>9jMLRzKHnTN3HACf(tvFeL?Sg1(%04)jMT? zI`>IS03OUJ8#;OJ8D}N0)|)6T?y`tUnBD$`Ffj#e>YU&?_mSNuFVfIwZ!FR6?oKsG z<87whWBOT}Xi%EMocU)ZK5EWL_S29HWM0DGn_zl1NYx5ueBso1%T$C@F2@VxfW-l5 z(=Z!5Z8R&5(pTWGl7oP0a0&GS>ogb&H1(rt6`A2IK~L$zdO5wX=MtJ$sk+R)gxXqF ztF=m3PT4VGFsn8*i43(`vnI1blU4SIMRJe$%iYXowJ5}>?f=euUuO(Ka8-Ek z>wmkvJ%FF3m1Z^0S{aboo4FC7yFNXigia$2|_Z|9k;QzePw*dcJN3xsljp6^XxTvGyUo$JS zwP0hy%$*n&f%24Uy)D^ZA597C=RBX;P}}>DC3PE~9l9a+KT5W;R+c_=Fu81cGzs&U zQ!A%Ov#^V7#*>Zyp4U6R5{|8=_oBnKnFpsw9|{(gvwq3ueWjL-D#sj2%#s5wCvFL@ zzmIQn&dbRS&kZH#mq+gT67Z{?`1AVS3lCoPVWdhhcs%h357*9-XG2wVw>Y=1!(aYo zP4rVam5}sT?;zjA$FH0@@xGvEr3!DNFJJpHuFMnEUuvR?n&>CWQ*(yTdhWri?zcJ~ zEYy)K)bWcw4_d$KGAAO^3Q1Wr@&4M(FY7ajs;h4l1O%rdDCi`$260*L6=-gOzlpk4 zYi_u$VztyC{m24LoERDTekps>!9$0w(brESoesDP>sXPjK=a7k-B}B4hqUp)LMc2L z=e%d}LUuB`KE!u=KQBj^sqj7Jmo848@x`jP4?3ye!L|<|-z$;z=(ZP#s9f+A+igb| zPDf;-@wbAD_Pc8jQd5y%_W!cp9=+LfkI(h$GKZ2;3k#bBP^`r9DfVG5F4+5x9AP8Q zVkh+*(`xyP>6t-i>(L(EkkNU2bi>HNo7<6?IKAw{p4j@=RK} zqOMvCSFWflX>R3;x+FTxq?Ie`k{mc=hh$OLOmiz&)Ri)~az$ND=2k9et3H!fuBdCS zg)3KN7Bn+y<%+uIS-5h!Q|wH7ySbALcqZL!?s{{p1lnNk7IV)uw@Ppa-5EQDa7W!4 zJBM(G-5EQHh`KsRnMp6S^quBbNYu5++zN^8*fNt=NYu61!h6iU)Z7Y*x|W$+AyLcqx zZiR5#Zf=Ee7H)2ZaQ1F)g>d?AZvArpZf^YscXT~zp8XavXl{jY&~9#paMW&Yg>X=B zZiR4EZ*GM|T`D1yRtU(=x#6&z(|XyHx!1{zhCa-~99W(}yUp-5d&N;Bw&_lhkFP!W zgV;w`c5Z2~u-HCkYHBs2pIMXmxn#n?*nNL;HxT4)Vt(=}oZX{Kl~*^nk7E<_bq)@w zy~rk}Ye%@w+Q$VfLvfPK)qS@=*Cu9)C6`>&%JMcbFGJEM`*q&0}IA z^IlF;%Iak7d~0&f!?K1c^O!t=TUW9xS+bK&yEBjZ!(_?t%{=C6+I8AX3jwZ-W!_42 z3+6F@twzXboHvgt>zB7H9X2qznYE_Fu*K|{IL&smkGaz9W8O(F-QVi$u~f?XeT%p) zj#z3D0Ki=iqaE(VLNMvEvje%7o63ApxsB^>4+oXM)}6QexeNCjIkxNPmoioP4C2&c z`& zqryBMzz;LtQamURf?;O`GpO80ZL)y*3jcpWT+^=^7d%Zb3l?Sp^J3~NUr8w=^;GepSrYSS;& z_Cb*t63CVdL?N8PJeI*b@?!EHB5C%{=_e4HBMT|A!eq9Hn=GHKK{a7|GMr|Urr#O) zJxEgods#xaVkcMOcnaX|BPOScp)RTYc%CLg{T5M{p=1kG<3*|)WqlXBEx+Nz!Vpdy zZ7F4)Wuc2vZ!RjcV^+s4!A(kZ+puZBXRT`N8lN zeVnhvscmusE~T1NpICbTaD ze3Un;ZoW-U(&(PP&|HSmlwNdX)HtGbU9_KPJ`2yA8~nU&ocl$cLx%e{QfBzcL46gtksJ-&*@YIYzE^G6u9%}WanB|tq*=A+l3Vh{;G~H zE?rz7b!+hJGA}1H4<&mqM}Bl)UBuNP>@QY_hXGS~eXFp2+=#nAf6|aEF41V+i3>`? z%ndIr<>y?j0SpQ&T+n#pK=NFQ5u;s-tu}khyCq@B@Bazg z!%M(SSy3++S1kXU0dYXBSGM$mO3{~L_kGS#(^rJ)xNH(dMq(l_8KC1>jH5Ik5XQWV zAmV4d<7ccy$K|NxR#$Rb4a~lZ<`024YsPo1lkfv@g-g5uVW$VKO?|4eWPE*mxrGOv zL&(O?!Z8HWeStAZZF4W*FqACG81l&~(YU9A?m<___dOeRt7o}hAW`HA)o#j=O>9xa zr+vLnH!Q6S@p zV4lrW;29n@$l=Y(%wrlh55f`OHmWF9DU%&M@At-d*#wvS%+_Ct7Qn_PFss}O;cJ+a zdr#cnKYN(n;uns%k+Yvqg zY(om+DZhRN)edy8=2w3M-MZ4QKjOMqS(8E!qR@j*9G+wn<+rSKP4=KGzrM*RLwR?z z``)Ch^GtfR;eDfBoh7L{oJ+%r>#olCrzt=-H;pJugd|twh@P}$S!P<$2 zcM1gB+DIqy>alX^nVWEGrAl~1e)w9p>xT$!e8JgHZahHZ^C~EVnIC>SRH`?Wev4e9 zPmR0rrUpoHNI{2U-|t*f5`2EFfLuZCesiY{SR>1&&!>$l`3U=T6;2+DQ-oamDHZBp z-kq?_R_D{i!X)#vk1XYPR;pJ)<4ek zpQV61t5sfHg*L~Hmq=XHXkfA$C>GPmhbUb8J|}26&swg1J1tjBh<#jLfC7|vkGD34 zjFmRN2IK0q{D@^=Uof)u8w?poq5-y zysIbgTAX(+&AUV-^fzGKm~-{z!$g`~*xI~necsidcWutQw&q>i@~-XP1s!q2($ zvU@n2jixNbV0&4{&TTj#qap-Y$&87z(EEscpN=g|WYYU7iDM&?oki&<@o;{IJChzX zw|4!R^lo!&b;+c&=3Z*S8fd$+|MI9YnRY-qkgo7>B}*h68c0_bLY4@>m@6<3 zjoSy(WAkHBl~2=Xhnw6|%*Rd0yC&sb)p=K~cQN-OPq&wdj`JQ#K21yBH81aK^)B+I zMd!KPm5*!ByB6kM9eG!$cj+w94grDKl#p>_sHbS3%&+zxnyB74)k9wNL0grolTpKLj~X_Wyk9PxGYho6VyK+&5>GVCfB zbop2aO*pkezvoFF7=FG?zn>mXqN_#f!b>FF3Z*F@-qvgd&c1#nUwhkZcJ~T5ILH{W zSTKnd7wWo?k;$f~PFEa6z$b~acdvdNe{s|cr_Eh-d`=w*Fk zrX}E=J9}B}9um}(-_r7fT!T)fV0iCQm{zT(L_LXanQKi;!5fodk|NoNq&ARJ=OFO8 zu7wEupwT~f?V6-^nHbLpBwa&EY7KEk_$IhAQZM@oB;SPOJ8!+JkRK6CN}pF$i%A>X zFn>=ik|44;%~ZH?{B79KC;U}~HvtwFjJ-vX^@_Bo(y)7@$UT60n;fr`1DIOwgUXG@ zqQW1Ndv8&SqylsX)kd`>kQ~_6r?H7!QLj)*NHLVGRL>WcP^&nk?DUFpOTFm?#5-Mz zAoWI2xmPKWJtG2^T-z6$!g6b44jVE>LZ^NF-*c-mm3cuO5fmF{_o9M=8);og39*P|&ws@7C^qVqo(G4G z=OSf#bEW44Z)tUtgxyMblU6Ohp0y5tsMQJoZCabCA9-YW=XmGVanvnZ@A$q36ueeI z%4-FryhcE|4=?xOVYk*k)m3fZ@>p|VJ7JF32pV-L@WX_~>yg*+mZYoaN$N3wmGf)A zZ|oXhMlAJfwQqup+fUeSm97kplAE`dMm&#AUmvFJwRUZ(cvf~hT2k))I-i4wcIEby zPI6iJ?enqy{>!iYPaBfPO>DZafp7)a-U3%lLq^Sal#YglKJ#n=O^mwthuw}0*ny&N zOt}v$H@^*(9)^R&l@Cv3hjMX~@`fiMI7t-RM(?>s_)~ZfwLUX9F<6hKgX|HO-#zs` z59I@qoJ+>=Gpj1@3Qa%pV#y1%zG)ZJJ=q-W)Nkad=MJpL-hnvsj^F4eCSM+ye+YR! zE2op!Cy~%Uj39nGZ*WR8J@e>v-r!t@+Fq%>!I{}mSMo+($(!7eEM=O7^*5j?YxD{k97xv{RuX)S9`q{33JY7up<*+?wQ$W-1uT?MH58 zN*k=D9#?BUBFgsqXnmrCSsT3TzTnh)ooezlOEOcMusJ<}-_k^3Vgt)Zf}8pU#o&&e z0wC8n1V4nn+^s2@QgXPrp(Lm0$DIBfa2VEck-=drGNiA3)@0`4DT^&kV%TshGko?_ zIBeBBZ!GYG;pZ+{1wXTf)A4Qm7l!X}J2u%SL@8TRSJrf%3d#OVSBya(mUo5Gh0(d| zX@iUHi(|FnU&x*h`KO~Dyp*PWt;r>)Cb_PKP;zR6zqXa)OC?jA`NAtqZQ%>AFtwF0 z5SrS~7ha)T&`US(^I zxq`21uH>tltN5zs34Ez}YIW|O`=uRQt4b(^TXB3<0)3#A%vAb7Db@!{u|80W^?_2X z58SA8eaQX2ZHL8LBPhA(Np2h#D$nPU9XthV9H?a#HX%YqiY_!7kr*(oZfprW4(o&6{eth`ooKLui_ot1{ZioU^em z8o#kFb9yqm(>k6Rz9r6J8m&GX?Gb$)l)h;eskcb%K9Sgiu(dnsJ=ev!7*m&#T&*;b z{lt$oy@rkcq;?x^nsnN3lqR;M9gqgnG1vyu>ZSh3iKdtC6Jr^|hp9fWa%de_)>UUS zEJeE#$E*eCvK{gd8B%OgR8Vapk4%PYdg%|RwrFPjqSFlHX?M(XO}0r>j#iRr!oB?$ zx1NDh8#GK{Ov2e$aIT1*-2AZZb!{R+kQ!9!zhnKk%74fEbQ8RPlK)owFO$*oCw;nl z?{Dzmnf{yd-zI&t+g1w1%e`H`Rf&EA_2kG_`>slC=L;F$$!Altcij*mivDl*1}@`h zgLm3yeP7DH#!YsUUuk^z73>3XvXOZ$d-?4)jtvd6731;yMMUUt9X-k{8a8(&B3o%~ z$M{ zZQw|&V#NmHRI#EtNi=HgSPa-Y`j~#RWa0Sqn(Rd05^a8_GuaLlrc56gy(g zjF^=V&xSc@n#xajA$(Vpm@l@E>MG)*Dxw4I*Jpj;*(<)ELM;c*apq7bxQwQ9$1x$Y+!XSoZB zwF2Oxo1Vk-h?4#u2kJZFZ1ulMn`1j;l`dwJUY2Lm%$;|5G?Wa1zeEQ}Y-r(ZgN&M| zEhT$8@lCJcW%u8>i59EZCPmiHF}!r7+QgPHwS_d=NAf>@NBmWRf*nZeb>gTn^(*Z+ zO?}GLvRs6obd#PJ5?NZpNV46eHP*A#OXSq9w2=;_UUIE4ztmMzZ_u8s96PKnrD}_* zjY&fSx3=3(I<3-_LFvY+JiVa>ga{M78nv_Kyh6@R`mqi6Z`2MIMXGxVP3=Xe=wA6G z$WBQU)I{BT6ep;nT+jiY`nAPl>>p7cTH#c8r5z+@k5UjP2RsX*g$T#0SbJ!BqR)k_ zG3_Bv7MUh!-mD}v=w8p9M3>@?p!+Q6y5~6B7WW)W+v2}em*}DMinc8e&>FvO`IUwH zZOea)F43A;muN+-OSClBC0g%wi5_$qExlkcI|YI>Z?xN#li9DQ>?ObOyRJtdv7qIM zH+VQ#+by@VeVKG@IPBSbZDvP2O*E2@p!+oq5vVk5n=;e}7u!TaV+M37aOY=ZePt#{-p^-aDJ1hYW4aRK>uDwY^Ka0J3_^~Fnzz#}Y z9+>QjrL|EfVQofL=i0BMogbwgb4vN)a_cp3RpY6q{DHjwnbdV+bz$y3f68kM4Ac)cFv=K1=4 zbk9+qa9E#ZZ$hpj($(|~6Ht02O@N=dvR+^}6(EyiZ6`3s1=R1>SS%B4EsoqlcSuW; zBgce*h3M?uK4|g;oJS0fh9vij%PQ`$S-Zz->Fgw>v(u2hf_&21VdtbU_L0@%-kWnA z|8fqDfP}@ZDm&8^Ul?^a)@;42a*wj(q`&+vH1jKydY;N2T?i$78HKP8hMsA@|^0R^BW%mYdf$k zueJnTALWG|kd@0CI>bV*wB;O4gz)>0BT8MC3c3f%RCqXlCO=m&jH%llpi=AlU2Wl% z6wL^GEtr{N7D^RzgHMo}J`->1f(F(6A*;D_2v>tZr-%73DLP1k)-f$vk=SieLzx)g za(l^+xCfYd`1UFe*D8Ahf=RVQz7_tB2X}gVKS8G9Ya9ui3@b17kf~dVN1DCDUeo^4 zNNV8BnxCZ!lbF&*u`-P-?0pN>@1DSrDuz`$fwrqBgT!sz!Hu1nO3x%7<06_AK_;CY zsoW>^vs*<<|Ce@F5y6yrHK-I*03SvC4t`RP!7RM0gmy+Pw$8MYpLYqQoC0rzoVDp` zJymIZkA#yD;gt9~I}Rbh#GKoMaSsRA^-r|6hNtXGp5$)Ss_RdacvCXHP7}d!ahb_# z8LX8iqy?RpyXivEvhe~PL2id8SAOP%D@|~#R2BJDHtQ^vANg=)!bOJ5Otwq%wbedk zb!|SM#~eyGyaOmYNAchbI>(U^s2S&Vh*pFbwe#yZ~}C~dXW5FsXOSsI+cXH9FiA$vfQ4&A)D<8K%kKn zCaSBDtk|dD=>CB zKTknSiE`t9UekS!R8YbSH6dtv7ND*??vxK###E=z<7J-Kgo|UkvdGhwu*2|8R7g`c z=zK-L?)h{!Ug2eiFWTLK8{vFIrmO&9*G%jN#hXM*kB4n0KZZwI9N2L|6p}>xD*^;P zgOAOn_Ir(27@je7p%ANS;cem`Ct~C_Hcngc#w{{V`4gDhw$6gCD>V}5RTu{emh5Idb*v;f~0~(qf+q< zWpV(@Z~L^r>y6CNx|i;O^)DrvQ9vx~AES{6_|n z`mCmuLQ)rNhMD)`2DT64C3OqHenEolt>iZ9>P|Fw&Z`Fg@gpxti1z=?6$D zmd#5OD|OS)acdW3H=XTU#QN}x;v5ETUnq#L=P9m^svK^{aQCl;c5?WAP5ghBX_uI9L$ogJ1i13 z{dWo%;=mzECWucggh}iG2VT*+U&*mm;Tr`!Kte`ioy4MgqR3!*mdeCRptm?FW38x7 zOc5F>c24j3ED6QJi{`o@@mHRo@{|xdYj-V;8arypJaHtEq9(^Qkr3|xcupoy`(peE zViH2< zma%2Uv`URDvB@Mh4*gHig=3?}#{@1REhtL(m9~OFz8s@syk-iK2zU)EASD}P9#U6U z10KiAKu^PqMIIj~h$H}jSjvKmgco~wHcoF=kT??)`?9yf>GxT-9V>Ss@fJ)h2MJ>0 zS8i$iPA$LPi^(6`KI*c)o)JK!hPh9?lGi6rM#(Z#Ea`WvhS_JQLtI&9+a_Ub7Krp?q{K#L%Ou$u&&TlBc+&Y~m-7d`G-vna{QMUQ*ZEJ|{8(c_*o zi;^6*RwLl(Ni-{eZ%<;izB~ieV&&;{#6M+b$0Pn3v*;}9;S|oLp&pLhoSS+$Xmf7r z@y`U=83{*fF1$L~%OiL2H;P|L7z5-2=l0RD4{|=Gd{*Ibc~Wlelo_=t*pg9c$t=Yh#C(MfCW$ z%FBEFz8Ht?eI-WN9w*)rJD!XkgRx_G?8wFr+ml=Nxb_{+(P{4p(Vd>eP78r`J!lw1 z$dfJ&Ix?U50kSDZa32KTVuF21%PpT(vOjLo!PsGpvg#k= zYFq9$_6pIdt>qdXJ9JKHA;v{(tE)pq3$g9Jayjl6hh#YxRT(?R;>gZlg?tW{ZAGFM zuX;78cw_967Q*VnmmR#iC~-hgxhI|vOnU8mVfgEnOY9b0ey4v@IsDj{KQ1xq?-3Pj z=l@nP=pMH#&clTbAvxA0+6pjB-NVAAa|kHEWq@&&1&Pg+FM_Q_(1;s^hw33HKgS{F zK^55oqGYV{68AQ~V)F9TFW8UkjDDQ){d3RvNi zSp7}J8ec#LEsN9>=hu=P_QdUJ>`5$jC8c~xG$3ClV?57StJWSTNy;Y?Yu30vF;iX^ z5Dy9wKDFD9_|_!mIxpj5aI?yF+*HWm+hZ(N-TZe=VhY6dsi%?IORam(XY zP~g%;kBifWoatbr;J6W=+LvS^H%IotT#3UTRg+EHxF%smT9f&aJdHWS;Ka@L`7HgB z-LcX^j`gk`q|kn)xMRNP)Jx#FI4_@Iq?&CIu>qh6`1RC2t2TxT+90lTYCO&HV*}S| z+ap2@YIZc8(m}B?CK^biCn>0=%MaTMh8iLh2OomGkP??V+;mEr+Hg^#2bb#5rkM~A zZVRCf9Vs@xpgJUINO69lIzTVUYM6drT#`CyT``~L2$_s-9CU?Rr`2%FX!CZiD~Dth zD@znidmDJN+8)y;S{~4G7>Sur%4?Ly&sG}J;>(jnDdpQmV%_;+fKoozgs;mT(KxDr zc|M74Wb++^))eZP>61u7n(0#Oyr~ym9Zf#=6~#i_ee5%eU7l~BM7(j1xK-l55l$q1 z4oRCCtr$X*O4|uBrC1|@(5|AexK+9@1ObX$^=p-~CSk22hbRPi8@EdP07l!OMy!+x zn9!EPT1A*-)KCm-6)=^F493V>rS$~h9(0AojWVrxA7+iB5KpJ#M)~208?|3mtZ%lwwdisvmIyz8}>`7I0KQ;sWyh zpy6V?f?2Rx;xvn^W@N2!8exW5*y1vWn=Lu#Uyd2W zOy2;38*ETTTw5^9i_?WWO#~Pc%`=BxRTwM+qj8!Btr$-{ofNI2FG*#yJ{Zb-e0Y|Y zur9g701tP=ZUd!eRsqCu4IZ2gM;3S#IO9U{-~?oG0Uj-89$A2gn ztlcEp>5@o3=mPp(fYvy`q*W`c5Ng;ZIInk`A_|kr4|{Y-&|1sFoVJq5XF5IX^;4UJ zO1KwR*WIoR@yM(}ZmZEwXxOvRTo}Z#mZ_7Qdw;>nSBIbyb1WNMnww>IGG` z%2h=IB(l`id30U7m1;%4SFqy6m3e@0$foX53InD8l(Z-=DGxNmD1fFSNwCZkz{vNx zl=*FGPhz=?f)#a+rHPf!(UVw(BisH9G^(}j#iMQScKfdJ4~yrwy{^RUIizMpmnL?r z5Kwig+gS!p@N+H**J`=6qGip|v?i8AtV$eoQ7aPrT@>AQA#9*s$cn^f=ZFOgc5Owc z%TP)rgN%oyf>@g`KKb2tLc4+8soPnyErj>9)S5>8x744u)DQfn zrAENTj2r9bS7)Na&!XR}rhfIYCsFB!#0k2VClZ#{vy@|edL;$i(@!&pF-26etv?w_4 zf;d|GL2^5zj?aK0nH1yBh%L@wLXeYfTj~7hTrOM`H{8b2g8bnu={aRF;j=)MQga)P zlAClxP0|=ONf!dzKhq)e4(>-0I(sVvCZmyT%iMC|)lSJ^H!HUWU%gA>2sBh`$cb*u zc@8T;QCr3-)U95ivXnfrnrV!(7zp(k+#j$7!44>(qh?Lc8rd%oM+AF=aacdNC%A4F z(?vRR-IIMCt886V!&l^M>ond(HHqMxQm0TFZbWOST=}#RAT@(7atLKdb1bA1?WZ;o zW`}A_Hm#fI?~|#k>n@`K%swYhb0{9n{&oJmf^m3@nnppw-e;&onpi(1JmP4=oq0*9 zqaCzY{9vfqIF{$NEqi|S(oWkjS6rEGVQb({2!eJ-3#)HUKBtkJ(0(ZJ==NB&8 zonQQ+lZ$wA&< z2jVq8s31GCuwA=^aVS3V;}33Ql?urOrBS7owo#NIrPEqwG_EUa^(&cyDO#}Wqu)dm zXwo#|i&ZNgBtkQH2pX{_Ly#GyeJq#!%@Ov@h!Fc`a*O>+reobTv7{nphmj`7 z^H$SHA!W-|PPv9DvRSS6`zg=)+d;8cs?iow43|@DGbw4DdN&xT8ijOA6Q)2Hvr0~+ z&z6z0_h=%LMw|f!nZBN3sSg-bF_PGd_1Py6>5cIFR%LxXsGG1C-*3rNPcS{DfktBx zYCZye0{>EvOSnrQOn$l33stQ2#Z8VHey`uQ`pA6G=RIl`lRuY7)EU4w;}hUS(0|?WFN19JIko zB;AEN2#U=mvRV+tsS|`?o6@g|^TU`q?yAW|Fo35?Xy`Xs?h3$-rb9)MLN}o28x6Y$ zA7o=nu|{#6l9BrVm}>d4Wu#`OilEbam&v+DriWEv0mde@{hqalOqbTGAnkm@8&^A6 zq%N!`EM@6dxGpfY22~2j9ZEy2EYzR`Otx>wMP013KFlE#))f~ur5c!bCOl$l%tpZcaOAdp=mf#36g&ryt;(bX!!koW}CI+$*|=Bv z*JTYmjBf#Oi;WE8a0+OgVO`BD#j2>?$qQY;tuy2N-)S6 zO1YfPaY81y335iIr2(sLDZm6ZCyN@xd@}ZL5;nhG-f4E){07c)iw}L5$;i^5ns2km zcbPJ#3I7O0X{yDSTTU1SQ6$Z_0ib##$Y_E&m}y;PT-6H7H@H*2;lxr0L_^a!$>g~z zuwQK=BT=STX1OOfyC_q$p^QPi(qN=fGnL+y8N;b+HG>zA@aOCChnJHq{E;w&yRZuQ zs#_}=NNXpN9$Uz29T7^|U@Ng-NPiR~5IS{!_?=D+X}(qK`Wt>D=^fV@j;b7wNa0sK zt|);ZW+aiGSoaVnxN*0!)$-|#UK(e#^^~9DvUCv50+PKX zR~{Bt53wRPrZhmL#37ns2J*(;axoz(%=f(!WiA^aB0k%u=qZLZQezO6v_C#X9Jh0x4I$g&nAR=wnCVq=p>-aey*4BTafa;?^Z2}a`OO zUjHQoP}D6?0DZGqTcBSef)FjS!QhIgg5p!ylo%O2XbGT#p3-Su*sRof<%ro!O$Q6o zYZ4CanHFn_BcO09JxDS6ZD-K)%mdN5T`X zJe4~>1qS+Tp(j>Sg6FaJ&4m(-?|#n=-HPxuKk z4MM~bZolirTM!U&a*w*zS$lTaKU=HCI+$J|N1Kh)w7rMlhXsUlYn;(a_3Xvr=CuD- zSZYQ!?VH>}to9Ow(?InGR?G#FfJ{ziF{p@Uiy+K|7beqmB8}8ETY{akI&O&13Wr)o zkPQEfAbH#}{bX@uL3o`Fvevux2B`3>m4-|H#L;dPGns=C+Y;`!aE@yZOlXT5B2-pFGsfH1pZwn3II0x7q-Vf43rNFm-U zGPOv6ExcIEJ3k|2r=^C%^KciZl9T1z5!;_+FOiYDYq2E~LXOgFJ&1`xs}_DY#B z#x(2^bC?8$7&tS#qCz}^JK;h~5>?K}_%SX`>Y;hrN{Uf*@)gg#U2I&LONbDLBPC{u z=j)8OCPBz8H?%9F7ekVoy8-QVa+0Rr$k5Y@z9kwjhLy#*DnCv{{u@~*J&TlLVuel* zn1VEiEu_;Q5;Vp{hOu;*DDZ}B4b#ZLq_O~C73De%V_1FNM-}I=*A-$|8W+Mg-AoR+ zCgiG+Y~|r`R;h!>(Ps&$0C|43!w?;K2)CG~xa_D!%I!=QJLC{RJp0FV8ttY?qZ7K) z?fyI<{0W3Xh|;v(w^*MkC;%l6@i4H`fq_BC0mi|@O5sP%IjX24fcWN7fI-Fz0Fb`T zss7yVXN6nf$?RRZmDxO=0fYSvH~JX#3D2I~hfp%co)F>k^8Zq`b`!jv5{>9tQYz8C4=O*2>Q7W23*F+qKz9S>fvK zp6}9Esl8%^GURuzE>UAYu$kXB8AAgtIsgPkgBFXut3IJ6f$QTH`nXL}_KNQ~gM-d1 z6;4{=l5n|O8CdJA1d&85RG0s$gR9%r7h2sIT%#Qv3+8UUCx02-8t5Ky_~XqyX5)VS zuf>f!s%3vdd))I6wCe2LV3rhH9n}8RMjZ=w**f2-|16O5jT-r!hPBWl2BiRn?9+X& z?^GjOr;LLlH8xca(if85PAwTxf{uduG1Cjhn3}O4 zchco59ym6Lv+q_OndB3Oa${_7K%ZVOKG_KtFA+bCpvneNRNzK!40`?qvgD<@XC^}%w$fZ0U));GWT z4+GuXNn)nHx(9J#BJ9k8?iNd@;-zRbU^b6F`q7Vm0t-_3H!YTFg=FTHpTQIlvG>)| zd&{z~|H~m>iNAo`7sKj@V*4z*psGHzL@PjjG#y)V{g{;+TAzue7--KsXVNoqV$+&S z6zim@hh=H*P~1M(oYT2Nv82tMGBUhwInFI+v6=f4yONnm%79za1~}g6S%{D7I_(qn z*eAV|4+XBUPqfNDOV-#Yy`E2Y&O+`AIJ3veXw+$?G`sMa^<&@UEd#SZRWoyXW;30B zK+nGv^*j6O7i9-ySknp0xXbquE6DiL>N!qsj-=IPoB+UgS!R{(WjR7CaJnwbxUxNq zL@1X=%y2YLdT-t1iD(|*ORJ0GgjBHlDYr^iXXRGW0+!q=TfLWCg$o37t8~FZZWS+J zc;I@FW|LPOI&AkG0nA8^X8|yGEt9pwOAGe*22O-e8!~VJ*$jZO}5X{<* z6%H{PvckcH{-J=w_xhQt*kLrp=(Z5_68nR5xH-90?5(6i%G$Z`W`gq8v0`q_mXaOI zv{Y$EH;?w%ugLuhNoviKIS)3VTBHa!O*n3?&`^0{uESddQ6=ma2<5nG2M+W(M!htg zy{LAtnCBQntCl*kv9!#fFW$TW=XmgJ3JH@?D^mx6)!Oc>fM3=@U)V65xcdNr$S(Jy z6-_AMNa=7oX?@yirBD^Df-!M+Y8N_F)-Vv&6p|89l9U3E=RKqGNY+VL5hCi?#PwY% z8Zl%-pv0r$un(SOn`@E~0#OUnTi@pTe7z_MeID`qlQ}j@fAb{ch)ev2UF9B$9vQ3GZkg(Cd(xG;d;SP+&T9O*HCt;~U?X z%FJCwwxSeW>c+wgD=glmKLWuAU6HHuLT4`@2LbFPN*xLP-j^z*2LuBc*C?&g;zp25 zt@lATBP=L}xU=jicz7K^pTw-XQH^RwHic-6}&lNoL$jF0Hjd;M*%yTf z^G9-_J79B*p>^8K=MHr5qsjVHYJaxME>c4i+jnwD5E>sJY^dRBl4+k9wed(n?GH1a zh>mdi_AzyjO0r!@@bnRNdR(@`iPX%~6Q*uik+1O)##p^#C+)h|q}4{!Wf?+%Mgpjt z_G$>IUyU$_c5vf?qdTChiT$ZRDge>R#6pOL4#OQ=k+am@5&1pwd+ucO7DX(q50byWK^P|MtL2aF^Nj+*c zHwA09_9yg5$oCnwbNIjQ+>b_2B;q99#vSW$+h4ha%KQ;kxapA^!eTYT@ju zI!4RaBz@qjb{|+3$J`XhTz|HbfXTLzTxDMrWoxeJf%rFpTy|u34pI3{RzWd)T#IKg z6!gmxK&~*3Kxx}__l^Lv71dUPvW9H3QX?4*!_H&Ed7J2|`ZJWZa&JmveG?#QJs~uA)t%xp}1g;DPbpJ_zi&>@=;q>wtwlbKVeAs7cEX3(J`2-i?dL3y~Qn{l*7|UAv!ZJi7%} zEpg$&?^YO(WWgiHR*{YRA?a(1t%0Sr^+kBCTZapiv0B+X64YQXGeN37s%~M*QABvv zbOoR=nM2)f8k=FnVAM|)_n8-yZ1*tI&>oUhGuAj;Z7DDNh~MuZMq*S+w8Y*xx;))* zNxGb=drJ39yyIyL;@ts=o)Wj97KvgiOr4H7(Pq35xH?_5Pj@nsSV_EFTkOf39%JqX zwb_v}%9$>M9=WxK;zFK zD!%<8mZcBbxOIbs`}Y#Xi@wq>O6ANl*tyd<~li>KJw7WBB6*A%XRd6e`u05?&rNbHbtOyfSTG}%kDA~ zOF(nXvc_D$-3Tc>;%x;Wd#O^-m+LVe(WbBfT3+=6iUtxCyD_VOr*N*jVRUW$eu_Q# zf!VW_0cbbl=jpnRwrByLLAYcA=O+IjWu3)P&wD`ros6m8%|O}47E11-Et^`fR1W9Y zYRBfJw_6|n^;F3{Ym5E2ya9C*7 zB;*oHdu7LES-MLWUiaX^02}$g^;nLesdy~^HxY3lx=`^xe%^zMAcgT5lfnZId>w|# z!&RTtM}PZR9n3qHDcOr!1j(n@M*dxq-u{mS8zANIfQMfbLkd66|5GaY8DHJoI8eEv z^BU$OYEexa32>pHrm>np5B!UruBnYEO77|UpORg6GuF!AQC-$7+PL&K+QnF*sv)zg z3n!{7KH3_qgGs1bH4`g?VF&+{0YUYR8BSeI;(BFrY_d0V)Z7%E{#>$|jwqU@(R8Lz z*qQfSobt#qI|Vgr;(c6ndSN3hr-r9E=rnNX&SQ+Iv+L? zq{ffCg~?eMs#~G!SG#N{#@Wzew_d9|l(D;#%T=YDl(D^1)a9N$Ssss6k8V>QZnf!# zWiBSN#?_8B$rAU^uL}7!{eyW^VR3~He)_&gU^e;hzpzN7#}gzMM7i0zIv=M|e#CgS z5>~ZY9r)oc;H#rwwAmQK|MNS6EcLtN$FP`Fn zkj_@{zs|Q#%-hQP6$ppSRhwVg&jCP=-VzW%LKlO>+Kny7Ot_Wk4jwaG*klm8E1r2p zt7AcyMfuqhVnKDmZ4=!5RZWS z*_lx0?5fbsXTG%t6;1J4CX&R zlx#fsH~+srroclyXU8e%Ul;gaf8T0O--(s>*BdNp$(lyqFyr$T{@>J6@kUbx&jN0W za@JbQv<=D3#$@K+mT5iF>MfPL3Rc;Yxg)Ar&wGH)tDmaW1AhZ=NLD;Vpnc#fpd2&f z1*3vn-A+v;3Xj{#&qEIDv=4FQITf9rznn%WHsc zOx$JcmT(ilsmhxzfudatRMb-b+fuGArgT|~{m!z?swyQ+h>Jg z&X%92$WyaCMi{FT_Rqcuqa#>UhQw$oA#AOR?h#=wB}Uk-F~U~H2xHHfs$<|>#jG>G z)0)UazEP|4y#(?gUPe=989!3t+n*qxc}ipwvM*c1WvnTE>2#C%NYJCSBaSj~K=fJF z%TLNh6Dnnp*~a!|hFq*q8Cg||jfoq`P>Jg9)3{F9N{@8aoBdW!R%z%M^O#L5REf2v zJbiM@tZg!gfI%m-3_*%TK~FE?7_!Gc!fY1>HAiVF&cs?jO4V^+<`woAgL^zzzhM-0 zUoh|O8c`I-LGAfT%~OmX_V{FxrkZ$rvPe@*P&M^|Culq$7sRBs+RW;+zAUiKdhq{X zF0P14YxlXhGMT>Btg3W%Dl65dmz^)A5eI zPDhvGrlZX{&%pehJeq~^d}N;}Gn2!^nu`1{&yT&uC5I(@CiszqgAJj~IZ4rGYLq}| zUp9L;#a~9|<^;N5WW3n!`HJT_+Mi9zl#4E9pi*l`UPm};BuZyuU1GcOP*v<_CheQc!+DwkQePg(uxgnvFD3+Y z@Hw%@F>_sQb~{Hq+6MO*${TMyLMLj0C@#>>tG1by;G#gtWGo>g85@oBJWA7i!1PVYeJ8%ws-Hd-$gl&RmvSchmv zRY`5)Z=3wPoF+)Yjww^D+GEniS~~_F*J)BtV1|c(vkKI!GROs+YHGXH5a$&fE~Z$g zIq+cj-D!Ey=>;RhcCeKC1p=ITo^1OEWQA|f6JywS*UXS6X95%PD9{gFdUnqa zW5_Sg#(ygDE(K*!oUKc+V^%P}baK6Ix!b8u^}FQN1q<$=hE_t`X8^7kQC}HC5E%A1 z-jLOd(el0V1RgEh$q!9AbDcWGP>)SqQCj(ZB4%eUIz^`(4zNb)4FWs%h92=Fwt*@B z@Wl$yqVt3*WaoYky?}T|ehtltH5iIP1ET@6l_KEQJnEq$vte+))We|j4<-}1(j^w58u)q=?3i@o zYocd8M7>7)NIyc8Y9gcg+Fz!DcG2YB{BIjcY@3Qb@nJJUXeRc=!E?Ha3OJAIE5L@+E~m|{{sL#)9_Y@U*)5+;9e=3gzAw3v@G=V{fy9QHe4AbG16OKjphDq$^{P zUo$@jBxZy`Cb=U>fBLfyq$?Ay?eMxu1i;A-nl%P{Y%L-4wVzZ6W^75eT^!-nr~5MF zk#@p4QbN8n7?9oUo1;yE!ZSK82*)hIQ2NOuYnIt-{S+xnVwsQ&*^W4$S52Xn?xs*> z5nBQn+oXYgD!efz0JL6dY8%svvyqDaOS^duviw}(by~%3wCRN|RJ83A&nT048iq6m zVY%H>3>`hIC~>j2%iCQy(QbsBQZ7Q_)fy>f-J-0vx0b+eS*=1ZQ)v4Jn;-z+m*t+j zVog-?3_bFl21b{b^sVSh75E*w1TD3Y!!A`7M>Hzxa<`@iZMNZ=s%#f9tz{Rhj-c(j zv+Zv`VmVjhHN)>45q7MF3kRcjra z2|cv2VNt?}iwKF(l>3^6_KexqFfnzfTWzHI zm~{NUQ0QVEmDznA)Jn1qmftqoL$Y={TJm~JHiGxbF2*L^Fn0@oFu%>|+EqV%ROW&3 zfK&L3D;V`-eK7CrPYIXIFawe?(W^bs8f0yY>Nb6vBw$-!M1P>rAflhf+=?p!8=DLk z5u~tSYpaA}+yl1d(e5Xc9BV_QuGoPqNd_sg2+#jl9%jSl`G0R(TtffICabEX5jLFx zp(Kqq9#jG&eA$UZTf9vSF;Hc+6^rKJC_lQjr=5Lqld)|ZL$67{puwgVgeM-%WZqnv z_c68w-P1x*V-Xil; z6e$`7{kCL#{_5(ZM={6r71YEHWvwA)P%GAjpvEFm)Zp%6`cc4!FRlsFAHj9sYmagZ zh1j%Z3)61(##0)nG@cs2*Sxz1jOX68;0ONgWu%~C z1p#(XDHa4ImY`ktAGh;x5;nQFr3!!>H!?N1cpTXX6&}PS8r!>RvFZY#6SN8bGBJAW z#n$I=WD@Cmphr`C^;EKVC~nmdn#I*dI0sZd7x&8J9cEf36opp)20W za3sv~xXg#-)iGAx=_Af|C&;*y(?{HDdo}W37=sZQI*HdiW`Wwl*jvjl?ec4F;_zuD z?Aio)-zFBfWv)hwsLgPBU8j$5ZHC1*5tFx&6wIqR#1^R@f#`NP=WmzejneLuiKnfG zmcccU|Kqpb*(u8%NgV&%7Z^V{WQ8OS+Iaksin(adnOPgXDKIv(y0j&0(yJ?=M0DdSB~U3QuYK4N#!SgNuGx=D_&xogTfov5+usl37qv$yAH9e;PdqC z7gK0mTBolndecMsqXSpL{Dp&6oGt0n#VU#JO$!M9Qx_H+NYWyixiS?SPYxhWCmum| zNdo}6%80O*5Mg;~UyEoQXN^NYT3yu#bR`cD5-fe3 z>VT8w5mm2GHOL<|w`^BBq-U$MAUCbBCjFXgT3cke+X7#^z!v)KGWzy9q-VXy6wXor zQ3<`?^40RG)z5!cs+gHQDQm7_Sd%2VKbAfRyQ(ytaj|MwtXM(wf?%W)l^LpqO7uufx?w{Z6T|O{7_iQX^*6-0ZBBr z6T0SVQDx^X{;}OGy9ud#sgZVX`Y2EC5^34`XMbJbE!}PRkkemv zZkQ&!Gs$~c?2~#4hKc98p*v(b@TX3@k+gnY-xT9(Un9=tC7AKsS41Vw8R}! z+VS?++&Get!gd{8kJk^NUXoB2Z3niN?viEMP5p35(vpxigYcSG!hp!|$hgH_CG3(& z$qn;xP;d9CGo-2Cv1x+R{BJaKaKk3a7E^Eq+J%1NF>PDbH`x=ygKpbMGVAN&qRqzo zqd5ova2!jvxl$lNUTp*}8CJDbT)LIE>x9=&*AO#( zwK>8N6E1X&0F_@%*Yic>^6=PNW#pA(r{s33BsPRRN#pBOA(l;GT}-_5Jn_+C6x43& z-IADbnnlFAIR9+R`~(I4!y(dy7g?cjm1C#c?G)Z*Oe|=VR#~&uo*SYYIxtbQ+@2#+ z$Ul}NAcngtPO29+%|zlKD+#bryF{N$pxUO5)cpp&qxq1MGIuGviy^yDx+bB@p>@VF zylRqbY02p>GCU*Hy8I;R;deqowbbSn&}t-1lMFE$5R?w#wA_!=)<5!vE5qhsu@rIP zlzQb8y7rtrNbT9tkz*^xl5M}g)+Smu462U7%47hHuXZ(A64}L@%5$2Q{FoxU{L0#P zp4BVn_@>Kj1L>*-G!ojr<7>4PX~R}&F`rdxHa%%sG-nHAu?F8c9~mcWK>ech1)9+Q zxHjz+2ya?oIB%POfyeo2V%`fo+?V$BgsU#`NmAcI2{Ux56$;N3sk&h(o|0VEWog>j zX4H1o3SW9=t?;H^hez9(Nv92uXDNXkY>lKYDJI8jdH5RtLqy^H*;ZW}1|xExtcB;x zsz-h2&M6NU`L zEH97ID$5?Ew$o%JGMVH|7A$y7&~|b)wZBHa*BBOqwlhk3RE);kjtAwbSIKkmX?Ghd z!Wa%9vVOs5=(-s-#3+=rZAlD`@Pgn3JKMyCcr`_3y%kywj~C8 zSs#?L#DjN|Xb2OR%fG~<_$0bx6)f>sWGbb`kL2fm%3kAhv4LeWyj5|jlZM;A6BgZ+ z!!nE+ikog9#M->jT#;1R?y_jiR@8Z_D-L{ktK(E413MR!)9Rpq;)7*1I(8$|V4SB< zvP}|e5DC$yfDx>EMJ>iwBqEG-poqoCD>c=*WTPW?swoT5AVL>Q)-3QQt(0P8YZ4-b z;fu^`0V|F!Pwy&L#@MmAl6I7VKv^4-Vp$hmo^EtNx1 ztKBu7r#IsEQe7R9vni?Pl*>#)H0BW1|6CA-VL z`sQ+|OMX0D4i{mVb~*B;W?T+M%wK7}Y8zXtnQ02ss#_JsoW4+e#=QFG(0j>oz#uht zltRzxM{WqX8LNjRVy1?XA!Sz-Ern*@vo*f>E|xR$E_d`u=H;=WnOgv;N=q0ca<)S= zmT|I3^uqx`Yvu-$@JDMl&#bkf%1l`;cMyRkP(lnFACwIpOatm=t{RM5aLI2KU2nrp z&NGd*m><(BS`sIStA*Z34Nlgom1_)jlsZj(9m$JDQPo@9#j0au8oNcA^Os5hw%LAXEVI)gO;N>Wl zkj?!lSJZqDMOl7j?6LFFo+}|3ORS@K6c;zF#<8{r3Jsv=6}7+Eu~pjFdk@4(pj+lz zB+(E+wxv#sCYyP=9;Il_t?_et%VUv?%f?-+D~fUvmkTP2?#d59Jq8!`XoKcbFWRM8 z^THzcwzI161^A}Jf$b_<8tb?sQdaZjuBCWW5VFU$7GuK0@_4aW?)d@k2odXWSIC>T z9p82-9x)4IHn+6y2FpuJMqR>`jiCtDMnpqf#9z^c8przai1WhMd#pZyFr2D)lN`XV z8b4m%{%+M!XsrXH%iivhX`H@u1kn}Llw%a`))yiF3J{^??j;{feN?H8ECzbE_RRkf z2Ym$=*bq&7Bg*-wd#7z^&hT}s zd&qa%rsmbpRyJoIY_3=rW!5*dr%_w-ULD6)#-B$O+nXzPvL~l~;I*{gKJa=7bC=Ch z$7)}tr1|iGYwnO@1z(X*k_xm}vAyzIh;i{sw_V3}la_77TSm52<$qBKP8{#UQ^{-8 z*;0aSCZdUz@m{GFyKKV~O}bq_l0y#~4J2|RyRGI@MW2vbYU*q13BkH`jdHvbOnN&Q zc5g8Me6BJB0&lpVxVB{0#=u9yjZeEFG;4Km=_h3k6tOp0^pq`bujJJ(m;Bu|J{(@1 zw=CuZkNpBZE^aQYY7sQJOy`B%XVPm<3Y}H)Htxbhecy+GG0OspLxTzV44Cp;B6l(r zkPvLqz{2`r(%(T>KWS!2E<$1dCgsfGH6}xBp#!^TS5It9@9O4eI#Y{d8@l@bzBcsI zJsU-+Pek_0ExsAz{D-V zu&0Ad`?GHmgMchsbLz;erE3cIlTgm)5LF{+pM&V!eqJp(#Fsc#lasU3*Ex;Co|KP z(;el~OnA9tVWC}a1!Pw`7TKOX-SV_wZd?tRq`@E^nGq=7Cybsix!28axR(di?I$j* z{JrK?2~V4YVUGltewpV4z>}>dV}&RQf>R_!UMNJ3l}^@<6E|qTP?#EPn9>njET@2> zHJp}WOvy3>;yeWLhCpIuRWH28TVehliZVDHZl-bJjYA15Zg}0bWhhx};n42l0)*?9 zI#gtrdz4(Fzrcc?)|U4uiMMMSO5$yuyP@RpKgiXP;KDCBvJCMh!~bG?O;ZklEmYsf z0l+yTXSAnTo09owYRwm54gfpG#G<4u^n_bGEzpMTu&=|%ya8uE1qAX2n3u0Nt<2^P zm^aaS7mjJXUF6h``-3&ckyE=YSz9zt5}9hQR-wY7wT2+l=UD(Ze!(rraye^{lZqCr{>a@76JY zp?GY5(pPLixrBh8Y2ZqWP;Yv;jgcYeR_~LMPqjBK`>Fm}pHlRo*X*l4YNbhhB_p@% z5|mO+F+N_R7!U-LO~CbU>mt`7yz}gMnFLz263dk9QoIDTjUn;Et{0aO&FwDR_IsR> z*jMXZ!)}L$*STql!9a+zl1LcaATrqu-tv34YqQ(WYqKN}J=wT<3-LkCn}z zVAxX2AIy7z7a5#%B=Rn-As2iE4!#}&w!Jf=Bffhy&#oXWIoGjnZ3-xPQfbcw3(jn| z680McoDi`Og3Et=Bo-J{x#p_#u)Arr*uNL9nMH4z+x+e##}t0LC0>_+ms42|{vXjV zzE}S*!(aHYgWtVl?%_9|l7n3?ufma>kyEz{-+jaa8wzI-5O5iHdr6dW4=P0&ck4)$ zSy{K44n&z-?Y842`KrNBlJwC2A{FpA|Mt;3f$Tn#S)Z77nWL;L9A$lFr0Wu|i2NJv zuWP(;=UoDZ1BZJChEa9*o$Lw~30f0H4>5pzF+9713583P%_o6Y)J}MBKo`fCO5+X? zH;9vgt`~fGX!h2f;dVLfUU3VE(9v#vaUjP1*tG}wA2#m`=&E>MvHtYkrXhg#cwk!fpbPmfv4~D$T)~(ul*d;pE;<#2yL~rq z-nlu*=y-w14MySq``pdVe?@QdhYQfMHj6OYoG-!`^MT!9_&=LO$Gv+1L0R4ACBV<$ zIlQ;CO#)_TsShi)^-xMrS&@A8#{`EieY24@i(oKG zPB&k#Hj4j|l7-vg_}<@o z)Hid>cW%;$`X{H|*US3b`Sr2AiAC&C?)>`ExuYbH_Dkf3d?=c>skd^GVwN^IL+TP{{Y7JAJi%bCf|G2s+(U_McDmE91@qOn`ivcQgQ5!UmwG*_Sl9T*>i!gI zJG;&yz)A}Ra+d4OYASO`Ad_9D(XLB;IG;&UhY-@H{ikiG*HvrK1ZL`gicsnpXNuiW z>_)0-rE}^yzy*^*Fc_%icWPzt1VcdYgt*6tU@`$uB%WH`JKj3qJ3dat!(Vf3WzaR( zdKO+j!~IodfN`QwkxJGLZ{hBD`c~1Ly||${%ac1nyJ5V&WjG+qu~<{xyZ_Feb9eUc z$M4*r`{zIbnv&qosu*cSppW(zf)p9Yl`MH33^NOKF#kR`xLG-4TBb1;;pHz7Y|foo zLD-!`Fv<*LQ@<$tiI&{S{pmGBX;f=*I>}u3FAn!Z{!@4*V$e@C21;23K8IXuaaYiB z?TZZBvg@t=wyc?!tm7RY&0g05u3NIFj2f32dU;cB$Uq@OV;&=;^Oi%&!8>37w&X6V zQ0SaNExB|1yBP@kX}f&7@wLqw-ibTKU^vm( z1EATArtH<02}m|7Q%g0!ZLdS0#!a5272C>~dXVbnbH~4cvBq}L>L>T;=*rXzIkwV*G`wN@u{_GVV0$XLiv+K6&W+H#_PLz2!%Dmd~`Ch%15kHm@fwbx!iAa(pvq>Sah zzR5Hko(yaf+QOOCUaUtJYzHxd4gNKIxsPp4CgHH5M*v8cJ3fZpJ_NgDxudH|J{j00 zorLW1blw#MNgnz?*!he0cL=WMe*@^~QCyzN!tO4i4eDWEIBe9e9p-G)<*K%2Nk8!w z$+pq42k%qWepe#`&QIVCqQ$B%zQ`6H`Vj)$geZe{Sar|8%hQC$Q3-q6797@Prb?JI zceeUV`pI_CmncJH_o!VMjrI){^{@JM-c=wjHOWme=gRntM71j0w zE~+sX?o_Sk;LD5b2heE@{G#7@6<MYHH&}rpc|Y#(_S4a#9IGQ`@&&3AX#4PwKcLPmPrRyi&A}Dzr?<1_W`?`Al=I z5XUAw0N}Wwi5V*#{G>jnED|=tVQhlXH3s%CqZIn)`4xo~SAMJxXe|qnP4jbp7=DTMTF=2+<`}MVc zoNr&Q0JYe$>bI2kUn~6Zz0^CuOGWvo9JW*I{MicX@{*dl7pM;!rkd+Jm4~udSiK;1 zy}p)Na>yf%I%m)rr#(a#u0HpDfGLBJVb0yvZtBYAnA4VjmVvM51jrPJW)bifg#FC|; zPMktKTzI=m5gK&3#FFI>{~*Vxp5!IVe6mfJYb*nVzYDu4R#M^^an@a##;Ul&J@XCd zTB7{>v4?n`m);oKjWbvlKlf`EuAmFO^Ka%?|9D`}1+4qmEaRhyhZ4hrLgwG#ldkt@ z!OShRlsHaMvudT!;~5)xyuY0L7`tItvga&tI1BxM#a-ysS^;bxqHJf(%v z9!qRL!>`k>4GIY$<=10%PIM@8CL0ryj5CGb5$iBc<_>j*b7~cFUb(Pf49u`6c((Ye zQ?;r(v{uLsR6R-&H_()K(pGyUKH~Wez2mDr)xhKzlTtQGXIxdvul`XD7x`EK`tKn? zR&hk+Ix9kkqH}AZ%h+}|kxTuH3*l8h_oLRVLu%VKE~oBfrdl8A>SJ7=pbOIG*`?xe z4a3nUST#?qtC1`=@!uw9u|4fVPh2C`BI$Ny7G;4AEpR$Dxtp|56w+*~wDl~Q>|F&+ z6CD)roAiaBat6UMRT-?UBgVFzuH*YH2I6Nu4_k@ZLWsi4DoJkYpBDhQ$kOWZSOOvR z#wsO`xGw30ULf8}8e+dpS-J{k3kj04fk3-0%@zPgjW)!MTuVlUq&}}KvaRa)7Xjw9 z1k2v}LrTMa{U8Ad_^~kg<5-&bnJxI#x>4;*gZjBG`dE#6=MRl*Ajz%fb*hIiNoqA$ z+3KmY60G{R_#iS^#UL1!D7?Zd*XI2oyu?@gSnvF!;%a4{ve|Auu30kDpwt${nyVaT zYr{{?LQ^h^(|qrq|o+g)|1UE9mSBrM|Wa}^?y<2lra7~-+Z4m)B|<8GlGWaVlL=FP&-Ltbs< zlBJBJ<(|cPJxryDvU_QOM_ARr;%gr^IyCN8F=G@q5Y&Zgsy$8sVFN&#zk<+m8R8Tr z%oe`m{7r1xn610?y=x)9ELz;<^tuLq?agSv{efNgfC6+i3AZPDL0zYhSnQt1cXPE_>_6s8=X67d?dh+AopV;{D z`dY$=52O|_UXm(mDp7U_W-+8N)#-j?2-UQ>E1pEfGL3w3Fv$H zN$Gk(sf6NH>LGgrZI^uM{VdmAvV>Jje`vQba)Z%+m4>dc>fJ@gWw^ZxoRDcEZ}Vv* z{3V>3p4ljDM`De)fz|AtZjFlEJBAMW>?xk_S zg7K*l0irHgLArWBh%<(LmuQe)$S8LgMHp^}GeZgq)X~m$4J=XOr3!9zK~P|_vBv;q zg>+Wv)b9yv`1R4wMF*P|W`@}E{fr^`W?&*hxAL-l^P}q&bo_-yUtfS{<`HecMJi(O zfXYroEUjDV%FH8~eIZIs*ML`oT$IOEmxAbP0G=`)g{d+f<=|^2;y+!_v50OJ$ zFDroSNVw8>5d!fo#UmaruUkfE8BNf|eAPZ_WJIGUaHmCiu_G#wsKYIiLyY+COLieF zonX_Yxgs@L5uH(pC6=<<1tQ8SU{tIz?P8(>?^}t{joBHbN(2e z>by`U};k=aY zjwhXt7zpgam)$3|@9nTO56@1s`wGfVWD@__tPRMwh-S)+pUE)aEQVg>zVS zo&2ctE?dZ5j;D?Gz0%0Eh^LSI$>Hf-V6=WJR~erEp7>zi!|`o!s#C{E<{hIcB3`Tf zR@+eH+Hra285q~Mkl?>4&rsBpos zRQ)OA>AJ_$^}&n()970A2ySmJ1nyK<)%he8K3^O!76o(5{}O^MEa%7iOQp!J!}I@e zu#-~>Go7tBg*)EXRwh$z6m3NR(eixIdEw)njbW6GnAnxlN?7~uB`we3*GbDO>pJOR zp9b$7Qfv^W;##B&E+>Il^rI4O)wbSIxu~{Ksn=)g*E)!1Q&C(&VYB*Gzs{wcR-W=K z=+3vgn1U`Bbb0=hjy+2ps%B#o#B|)P`@wCIKUk>#q z{*Q`U$^w-X1f1uEttWn3Oj&FxT9SN#8zq!i9L&$8<*r^Rd43l?g+KR*tlecT1Qwbe zOtmH!;D`gMufpSy`8IN2q6^&>EOE!9A9ly1pNMj2*$Fiq%sP_ByCg!T8rUaPb`()L zQU{gWM+$}TJbxYFaE+zivh_OH%7c!uGR79DTxqBTJIKp>!JDP*5pR~_@J8=fIK&ZJ z>M%#hqmIzZm~mHqa-N<2GzZfe0}=P~;P@Z-i(tUcB=U}z`_q((cl3EuwHAj?8;rJf zB=KMl*WMt;X}Ljp?w?d-)L8Y z32j~(XCPmqrMF@s!Zxkw=4^|$(@DBQn_VmXNKxS;J`!czv9n|H{W_bLuBcDxwr?G4 zfrkB;$u!bdObhaYiV0)tEZN1q+`ShnED0RzOnFtR*cbK^i!w2gU9JLX9;RMii4%Z` zDZ*qotjX$TJ~B$!1K`wgiD6t%G05gsv%GEr5&56IyJIIJju=bXZm9UaG_LqA(l-Y! zpMb{U8ql?_@nl~42#(!YgQB7+E~jiMBnpog*G1051ry&4hP@G7+D>hZ-x~}>c)c0Xz`xy_a@7I{ly1uk7cSNZ z7R2k9`oLAoePH1wF2KS{QM%QHv0fv57)ivm-h1pwhgS7!`81Y_d&#mr9eRN+?=TCiM$IfiG7RAiChHSTpDl;yT?M_-C%67L}AerqJ9cIS0 zX1ldGXU0v+c8g{*<5Jn~sTOF@cAsv6soC!77C1fItra{oZhE$Rh6T>fc6V4{Mz;F` z3v^_=XItQcYzU#Y|e0KHI&>!kX{dZc$|>twk~0 zeT9WZ^4V??X(lbI&vq}fuqH^hTQr+VFSGEq7G7@Q6&4oX$addgVQKW)?v)n4!NNCN zSW0ZR`&J9zY~daY-)iCeE!<<_%@$s3;YTgJ-ok4we7A+yTX>^|@3!#$7T###&4k%7 z#u8H%cI^jCD;r#fneqMR_lo0NIQY#Sedz&ttA4$cxAdeOJKMd*PI!T`Fvz**3MGE% znZ$TgZfXLaoYZ7?>!nT|-rIN-*~wqiNNmkSVr$w&n4jW*yI4*3329ThZcVC{_BQD* zsENPlrPbil2_`7P=CGL!JM{6n`}I5TKyn}S03nurEF*An{4~hm>xkm!Z-NJ>=MbF# z$x2BGL@;G&vt|hMlx0gYa4n(L`TBu2|18yBf}N#KU2I#Hny8*hM8?p{ZKK3?@u(hm z@<5R=q*h<$Y+5jxJj>3oMrsu9FC159?_Nx)xgkJzrdBA!+KGu0n=;hEyT0 zJ0lKT2NDc6#mA_l?RTs=y3*4ORrZ<+J6FsICfmVA7t|JhQKW2R_xrHfz#uK%Q;@<0 zrdMK|n*^GZO-z^fw~3x)982j9*k}2$Eh|r23_{Zu1QYtq&l8H;!jGJNspsr;iLlZB zte#QP#*!el&6$y*K?Rv9nk}hqpxE7M{aINZ>R)f{#r8o*wV3`4gdkIF0#|D ze&mF>O{4;a^n))158H!>AZiT@fLF}cD4E30Kj=ELcHWSyXAYa`7WZY7O*IZ7OtS5M zGU%d+hNjl&o_ z|M>&4e8xLjzkWHE&)!Jp&Otuoj;6xn60lT%qlesoE zMR`d9>M--V@qwm(g;&btJx!zh_f$et-P<`o2PdW#8HvLa>V#6*T{w;g?Rt&y82QNC zPZ$g;#?>l#jChaPznsgsP=W4i)_JwLfYb)WJyO;C2~zC>kvd1C#+bVYKmCnd5AA1ey7^#AS{g5 zNQkmlN=!~75mkj0l}I$z!53xSi_Amn3QIvDl@=SwCrY(Bp~#q|XPA9^SopUxAqE%G zkSNoiKR`Ve5o-L=a z1YI}r0nE@Y>V@9F4O{8tDeDO|5&)a{PL$MI`D$>gMH3)8@1qCBxd{->IS9*L9p@%M z^b0;3LU45xAe!}q+^Uw3ZNl2-D6^mbZizDE>0_cUZ+%W^EBV-JI!C`I0D6!1QS(AD z@I~3k0$T_m$^lxGZ5XW4-nMl`N#EeiNN^Yp=qJDR^4U_oXC{o#RQTBwCAUTsjYm{k)7{;|K0>Dp*h=`)>ZCgOF z9hrM9%I?3jwHEVa{)bp5*L8n}xx@HDglv7UPG&g^*k}KHZtnE_60CKlmS+9fTHq0C90hA{7k=IB4pdWo{F-*si1GnI7`u^b-)`w7w2D)mXd37a|ZuaEqy7kBL3`fn}e)km2- zBVYA5sk+&!&g8dJ@}OnjQ_@%dt2^m$=J9V7hM{WqJ&$-o zb^`RjW59&jV7UJ`?y!+~t{R|o7fsJUMqpj~VD)re+A!Ojet{4D<1GTkTWA}<`shu+ zrU?G^rnmFUl^}%P;n$^B7E4qYLj#MU!NpKm3=Q(3s5h;l(LaI`UiFXQW*5S}ut@KY zH%^W+ceP+_ORpK6%uTL#qG(HIEu!e_UKCXkhU2ZX>iZ?L-!&?qu4^*X0CTd9!CB4g z$vt69_lr8L-$Q)R)y$fk$ey1}=1z^0nWc4|#5R8aJ^h(`d`D|~ZtL9OvN6b=Or=!g z&2x!wp7vhTVcVkI$aneRFy`$2E0CuKZ2f47z9796PwRHXEX`0Rk@%q!x|QxloTnk(KWrn1>`X<-RjLRdE^D0rYk$JzHM*rTz6di4)>68lZj z?w7lm*vA@vy%noE{UGSAyzb;d zd!@JY=K68ojo!Y$R&1_J)b;zsf>Y5{PQjo4XfSUw;vJW~aaz5FP?WxCIDGCvNbE?s zO|b9+=n^(m-z@p)qTviRM~BaA#U6ij=BRarPf}(PGpAJF`JDA~^_@e=*LSe1Z+fs$ zMikX&!pOP4zT;heBi9s0Q)bcaAyBW9nVDP=&`foW1SaG?H6=^QOvw|T#73Cts6I$D#xXI$F+9yS@^W1U*`3nf%kC1YcqQ< zARm>4C(QVZ;k`wiKp+q9yrqXAP|It@x~K>bJ(P7uYSPH!Vie$^V605uwjm)R;X! z(U|!?$erF)@knCy!*km%o-9~rB#u0}I#}2x-jsRxOQc8BU}5R!E4Vx0bt=GBJn7>| zS{;c0O!lnG@$>d%)HY8C=a8+TDQKHtV^VWK6ke%A5dP&jS~bimIk22ehUNZ=wMvfuIKn zXfS02Sw^2`!KqCkB#(+%H@MbJIU9Gf-`W(M+61IJ%1G6S)@T7KJXLrAf2%ev?@}{_ zZM9LnCZVgapzpGpcXH;?Rcw^MOYK%MmR5(y?oElz=1AfLAVD4vgS+mYIj5)d(1hE^ zDB0%<5*gS#HD62-6QJmI&g&r%FCk?_Pt^TJ$48>mu^^W!M8XY@G){PasV}Z99s;(~F3#~Ly+hKe` zYSUmzd`2({NT=0?)yC70t)@UKU$t5qiKY@5R~L$eLuzS|v-7k}M-J`;2x%=5RpAvx zjpk`@`}<-A{iTFi?;q!5C*zq@jZ-i}8X$D(L!y$VYaS1|tPVgF7u(>0(ohO;|*| zg(C|Ow=kqc#?Zo(EL>+{aXXBO`O|KPM!I{NGk11CRf8Mlj_B98s)1kK^N5lv^EEXj zr@hX$h5^Uq5=YRJ!NITrGY=zW9F}STnR&3~stbmVtDIS*_(6)V57HSbT-5#I9OUK~ zwqEb$8U*By>SX4n{Eh5)62T0PvMDSTkL+VVT_0ROhg!?K_ftXyn6rM?=P$hNZ`n_} z->08-=N@6}(O&!cJ9aE#9JruNa?^TfAl6e^^~|+G8ucaYOpDj|(_a5D` zvoZ5hOXl@L6*ake$AVa^Hk!J3j>`@DdXQjCeq!|7;I1~fY%TC~Z_=VUTrdUQza=Xp zHnK67sC!SmYdA`MX=zCa)eep-4@YrDDZ%mbBaVWHC-4H-CNWP9PgZOzOs27te7dLp z_mac+UnY_d+<)5j{l8dk8U4L)|Bov6f0XP0JpT0Q|ERyD{|~$Vk1FGWl;G`@d_xXu{Cj2Z7xZ1!dix}#&8;twT$tA;kp+%fA9TOZ}m*5@=& z#m`$Z>l#mN&OD$izFsqs$7+}vH>4R{k#Srd*Y-ec zd`VcHD+ z0VY9ZlsP%-yv=NeQD*6#>#4Tmliu?ZWj61^*I4nsmy#XsTU2wl)+1& zjSm8A_8gWzEJnY8bgi;7eAMoW57$?>tQ}>!9X{OB@9^Q4eus}y`MJOL_^>6uzKD;o z93N-6mg`%ly@Qij%lsIY0G6hvelr_srpYi-JM#!@ayapow*EI67DoE@e-!c6w*EI6 z2965SKLqKE#N6orvs-^0_n+?G&Vl>XEo)%n$d0=D7JLFMgO`Hv=4tDibCtcyBLZm3eW#*uA-FBoAEhr= z_20JY&n)-A3gw&$~;r(bc-4&bgPqEky1w%uXIGVq~Wg`U|A+320D%ZU!=)Qvj8jm9ybK`B* zYbbI3*#5T<>)u=Ui*l(~4QSbGVEWK}ShyWj`~I=+{R5qDw1q#x%HK5l_29C0GB6_q zm9aMj0E6j`Ikj4aL+PWNI`(hQ4rIeq+48?`?sLV7b0N(qU@i4Ymff)MA!}23spq?% znumM5>=a&x1K4mSf|udJWuiRPvf+Zj7;5($LHASONAq-OjF+f{mlz)OW5H7t14{5b z|9ebAR4$Z6f+>my&^_9%FC3?phxi%X1sUaL*UivcSU{t+$Ykc(VkDh1{a%<6{LwTz zS6cpl^-C>(YYQt?AxT3^Nk1V;Ost_$3o4q+7tOgoDJ=XeNh&wIRPHpN7!~?yvDHeo zGk-9h(fU}mweR{^Mf}!hwJN^MK=60geOn)l*T?3}J$`*G?hbRSBFc>O3<6!O(4gU< zUz>*0$P!^1&YM+q7{{SwfoVIaToDZ0FG&9nsNi`eR!-E-Wahd2zzsWgrn}{BsxY4k z_DAnv47vu3J?zcN=vP;kTUJ+FZPC26*h=vlH*ybaA&Vy}yq3drcUca*HWXLFL4IlU zj>@3xIzZcfUjod}&0o4W-WX~_@Pp5TckA+`VA%M|;0Fh~@A1Z16TuG##OW#0k=tKo z5LMn7Y!v+9DffMrbRu2&6i#D_u&1}rttG(bPTN}*p2e!*u8$cvgb-VS!*hqSTD5N@ zG-gVhb}Mik$aZ7dBNg-Wpj{a@lc3`zTlhcE|J&?JL3YYsq6|R|&(RX#F(tyz21LN^ z0y=LH6&`#5l?RjY?{E~Z)3UCygo9p7DS?w~IEq{yt1Y4G5lcWP@*8yB==)>2q5`U| z`oSst;Zu1o|Cy(D>>RP73;z3>&9re*Ic+${bI_f4X|3#s!W?5R;i6pkvF20!Wvx}^to^+efI(8Y#mHc4eYkU%0kYbcvb>SOoLenIzf zM$b*7dYgu-(<5jW)5!(ZO(R}3qHVl+ws0XoadPyIpzC~0>XIHNKp6vOO069iB30}^ z^RpHUJ)m>y=-RkJL{F#;(kE8>^6;&oYXKdUFgQGsDI{|L1k}CF(;kp3qiOV=SOHnY z1}C!@RL}Wg6U?t}f_U@jb-}`$1x4tR{4 z4{Ge3T{jA)YX(&|i$Bv|zs7Zl`Bcm&&^Gb6o;6mlq45ry>47~RLF_~AZK$>~>2;`s zJ!rn`W<9PVb&ctKW#KmrLUDc}!UtWGh{^tF0cDc8Ux`$||8^(8a~YaJAdZcxlG%H^ zl|u<5Hpt~_1N27hkktsuNjAKN3rr8`*E0HD?qh`p+&D1|h(}-6N0S?>FSwynLgma) zT0%Tn)$pZw{<9_qT@O-EbN0gFO_^;?xf$^6d!p4(Fjn_4RzWh$%Enmb8nY+Yaf9lo z6QiFB7On-HAa^^zO-G(qA6#~+Lfubeod%;`tLujBkTaU(ePBfz#cC>y;Z`k^e^_5X zk<1RY8%Nx_1iysbO0rw$B~~ zoTuNa&fnY1>VuBdfR3c;ef`}#b~-MPwo<6Uu($~JJscq|=(>^O!XY;#Lpj^j%c$Zl z`6V+oQD$OwV=iKyfya-pZcO*|*LFy7tSm}ztS zO>@QSDDyQTDK`;v9nqZm=j!xos@r7#&x$pcI9ZP$W zK8;ESi%MYVFEMY8QWP zcQShn0G&U)McblIHVB0?@E|1q+#=>ez$erTXUWXRqG|UPF{OwP=e}2wo7g|S8o&@q zK%*W(6l}fJlFWP}%ABukQ3j;`y+d6B1@_|MxXV9dD}2+a-?-fvZzK+TIbst;#miQM z8?h*ttPYF#miz`iQV#m=9c%RHX#B2OPZhoaNjZL&zHJdXXyPMu!83?eY9*TX%3%*i z8QNiog$Rh|R$FtqNnyB%?P02)LaM*f*T0%MbRYHqEATgS%Og+(UBlq=j$$X&8yz-Q zH&5$HW)9QTVWcYHeDEQ5L{%4_p`c;(K_EA>Y|hT56y)|Po3Re7>D3f+abT;0-Y`Gl zWU%5)1(jQ^j;BT$+@lv%7qZlBbb2oNnEFt`wEI+#jR6DjVMP~yg(FMyoym)<`q3{0 zT60`g=j*RU;?0S9!euagVUO(IFz3j0feE)RnQN{XVYA29H~E(av4JH_W?^mGwKhAT z(K!gxAc?giIeG)@gl9l7kHMX{EfX?>?tj-v^ct&H#JcWf{L+MH-Wsn?{x6)Ui5&CS z61@5EUjvvY4rLK*ke4&FI?3Uj5uDlE(uW_ij&XT5OXN`>k20f?_&yGN|13ct__U6# z5qvCc0Qa%ZiyMG!m_gQLY(Ks z0qs}9pd{c?zWefVI&{j*07SSd3SZKoPTTJ51K*l3s@LkwFQujgy%dC2N`=JzYYSsI zhpFo8O?xgC84Z{1n^io$zA)AD$2FHhTTOvI!j_k}Q!SKe<59SsQG`Hn^^RhEELVON zi7rl>qC!(WW?)MAS>cSlqn30P*n+KWGnoXJ}hEKT=D#r zmhimauec-LuUL=NcVGgkFZXT6`gL3PGOUQt<Vu zztYaRuAWQM+CBKU-a$9(v?z1k7HdkTJN@H9u3~7Px6*0nBs9?u31TX#jnZp*n9}Pb zZoYIG<)AKLig>~ja>4v%M){`MQ`k9X7qV$VXHJIQH`;E7NS8si4 z#0J^a`$dP{6`i$dYLq+sK(=5!({V_j{BukBZCT&?J9asKczkh}W0W~CpT)Yrs5E}E zznXq2KIm>LA1n^Dc>sBQ@&oQPVPxh zd3uj}N+UyT0)pu&vPXJ7dK`}*;yrRMS4n*TfuMBkxlh;&Mhe`hkIpZ)NabkBIJ~P)Kd_4 zFP5--rl~1SUQ20`l7h%79i^#{iqZujpbt~ypV3pAOihuZ*S*Tvo|iaZ=EKC1GW==civC%~XD#1*(VtGYd9erm z3E4mj?w<6gt)@S{6Ld{2(hu@3ruMNS4^}$9_Q$>~T9M8qOZ(rsB&R|-eQJW_P&iMJ z{yIQ-cuk)=m3rStpJGkDpgOqhdr+OzsfMCcZ4DOoFn&SqxBNC8c_uoQykh9neRQgU zPN!kPYtoX+UYfaEYoX#h9tSj$>m=_v=t-yvvN7|^83l-=ThY^^7!XV1ozj=2}rCZ`&|?--iFyl^ZKWf=5^)=(Y#t|wOqg2f~eO= zzcSCh6ke}hy<~v>?bNHerZ9N*WcXgxlh5{1Pijp)`LRscLY0%Ks;N%9W7DzUV1q816-7`pFYNiS-jLTkoTv93;|w zUj^l%51^o=Wa!wtLU9aG?M0#ZSA^@Le_?N`%}3O$eN%0gLlJvYP_95E+mnKF#@-Z^ zZ&RRL6DTTAOX3zv3d)g|7fr0BpnM%R=M zZ#|@Y>%;xuFaNUStG zf~5mFP1t0*A3>(e+M%9g?%e6}`>$F3{2>(^(_1PI+nBM0=!#@^`5hAJ@yG|=*AOT? z&5!i`WM+D+=4h(~n-6K}h;&3tcH4+7aCtkSBg1X04=ZP7GBY(wX0F~$7Ex=1)PsI2 zaavK=5XmH1AD&F=G&0MRBH8X2tK-rNTe*UE&|vakKqNr;MF%Li2m*t5P`Fhbg_U z^A^9ef&TD5mZoyH>eSKXutc4aA~T7zzLibuxKr9Ru!_ooF_GDos7EgI;Cf#u=C31M>$jjeRQII_YdY=&mE$b3lc0oN6%ZX{nDDd8p&6>`Ery!9-Hvk2KI-_-O_-#zyHiJgyf*; zH}flsL)f2CIkR4o1RE-CA3y`5{)Fn8A5$#BhU#-aSCk*DU&+kNjl2V%eh~{bJsixN zc$GY0-#Ge(VBtS8a8U4NXBhd(ROxrf)ttluSV)Z@*UMXZm6PKGB26ce|q(ZO}jc~8nE{xua@*3 zC$E~lKbBVy?IW*#qFi1L(!XXgHTlr|GyehSheOBinLfT5jPWL)&dH&mm6V-d0b!84 zp5KI&oeooW5*fVJ!_iN$@*jmnieDy~n^J*qX7y8j{W62_%hZ(lWiBf7%RJ`%GT5@D z?i@{ZQLj^X)}if0PTNV8YdgKA`LrkdexvzidYxZ}f~M~Xfu`?h&N_i~oA@kf5Q8Y0 z*xzoJO&(kHOlM-JSB-s4?AV5!rMidm*<)sluLaj8HnU7~HXtt2!1cg7aIG`WmFS>*A$(~^JQt}ji)@0fuxr~6rAh_)6#4|b> zO*=*n(qzzU_MJ`+g=|Z7avb%1Ksxz_(TQ02u5@xQ)97zVC$CW5pQjV#``!INd#4ZW zge=j=_P>%o)>B^gg@p&9MikhChrH?ed(d?#qwN@mV-g4PU10yw&R*k$Ah2KIQ^eUg z#+v32#vm-YnH{SNUm~UjBdha(T*HV-RnVwKoWYddHNa%z^Vye#-X*dw_kuvoiuiEu zpNn1)uIj)Gg8RxW@b6JgGJ`34yt0{xW<5~$1?wJZ4yHTDVBJbg39M)jVExeI{)S++ z(IiLA@R{gl8gbTrP|)7rU$O|~x+=9ws!Fd>zL_`-Cb1_^PrSaouU`2f23B4x(^(#7 zd>k8+ABF*8r~S0m$;{`Z=$JG}luG>+O$XYlq2^JkpLGXB2)3>F0QXI#|48gQPF z-8;_tGselEA-3oI85c3BN&v`(k*^mJ$7r|NU+?$n14sY&fnyoeR<5>G_w|D;&H>Z8 zxIr%J>jtSVY}Xi;={vg={Kj4jE-`f@fx%q8F8NR1`o%8l39=Ho3Xjo{M8#e6Z`e!z zd2#*uYslg1I8Q84br_--5-%*fv?q-{B8tX76Tg3~6+ejcncM_LDevBMoP*NR$3J4q z2Ddfb-U$QD|LkfR5HFf;U*9M!Xr3GHEQeCgsiO z>Y4Qkybja**s{CGqlw72zbO0LEf$v0o5)UQ&oOhSG5u~uaG6*cH&uj<$c*lciZ=ft zN^MmpPS)mCMfH8#qbr!dRoZ*UjAQphb7oUATP@R{iYxPAzk6LpWH>Q9k}dl1_IvW!u34tCZ3w8 zdX<_IuN;v5-r&a3uLcXBqEz$f`+~)58rh1n@M%7~*weX!zel#$ML|x&1ACGd&K_uf z*~m6LF8s2<5hoH_5k^s`1`F>vy7xnV(w50Y=1(JD9MLmk15)s!2)wR-3Ps>loJF5c zX3wo|9=$f`(v5@7*^^95lS(kw6oD^F5g^oG4-AH5ogSclO41I-vQ6nS`t9U(H_n;I z8j<#k!)-1?#=N01dwylqi@+t3?qyg}wSu`O_KnvPJ&6%S~jTpY8L;eotFaOuKux>PGT8Ty(T6mUfNw2AGOs}mdbc%(I zzBlMThS)OTbvz^X$9eb*Pm@>rIAd(v&EojG<9Gy(9}(XAZw|l8r#*0Sz8zL)10-`# z&^?w9w-0(z`aJ|>+<}c5w&PYyrW0}Wom{n=Tz<~%eS!_&eS(Fu@BPi@*8-p`%`e$C zG{1I0w!6)*XGtv1ul3N;2cKUjSZl@kHA&4ezlQMF&99rNmicwr@sMI>v&>DyGY{Rj z-SH&M2@PcoD4AvU%qTLRQ6>GUIs2uU|Af2npG`&nGZy}Hk>dgMO8jRo{O66^#S|Pj z68~AqL~kDby!g+X!NMaCaQN9+BmA&K#q+`zZ9Tas6n@^o`vL!{hb1&+zf;D4Ri5O}xiS8Y|Ihiq)V&LQ zomG|hpV$Ng1fEk3L)5C_X?wEIe`=dv^13f^=*MT6bX_*mA0fLX?b{Z zAUJivnL1Nv>P(%f4mymWq9(nilqxAuDEERD&ml$1wY6OG|Nho~o^wvpDn)$X_wzrW zPx9>hW$m@sUTf{O_ZI!n!2cSf|DQ2{MDYJddN2H}IC>2HV+Q{t0Tu-~_}>5qkHybJ zg8wtn#2onF3uzVn|C?aoU*sjfL`YQ=OF`eq!2vCb0_c(t3x3)0NPYajxHBkg9}%q$ z%=u5WVpUQ#vZ#5Eg)i@D=6g^B!)HeN=@hw4S9B^DaJ<_n&g-_{t2 zcUcV=8a-g8`7H(GcmUQnuUAh#yT!o>xg-G5y^xOmIdpuGCP2r(IqUISya(_9H^wIHwuD`P^PS-9`2LT$ncQ zj9B;cc+(deV}Rb0_(iX}_)-^tIo|ZuaQ^VW;?qns>s|k4iWjejY5I$>YnY$TCM3O# zf8*(Ih4`0T`ddov6%qX{JqZ29-h2%Go%)xjzg5~r&#Zr+fU1iA4gk%Z^$)rYCS8w` zGedth{C@`h{RZoQ4*i`MG6?4r?C7sT`W*qjg~cEwz#KYS^a|=lG)5UBd|~Rl-@~?Q zKH);Usp4U;{;A_%F`|t4*F#tquDj1Qsiu1$9PAZ9L=$I$t>);8=iwMxsX8hgpL{KNXr>5ub9)h=Jox?K8GTAd@8y;HvEJ{zcL zUH+8X3SK*0+w97pmxT<&WnH-rC#z6NQTB2HF-Cm z0Cuu2m3lYL;Xymb1#T;3hc1L2x(Soj^yi7ukX0L6{LH~e#weG!`$y@%m;4 z1HENanEDYte>e4wN)`sZyF`bCACKV(>kIG6XcV2Qvn|vNa-NDe>}PtHHKiKJl5S%2$?;@+})TWiOb zzdMw>8iUHl;M^G1HU=2RS8bI@h`{%$#^6dmh|9s1tjJd(5?+Zocolyq&A^ZKykUYvZ^y4gj?z}1Z-*4-tCTddGVJfg*<#a^z+vn5 z--X={>CBB{u``79mlPk)Gx zYl!ZAfx&+W43g)J-BJ6}>zU}rv<>lcsQ9jm#?!c3r~59vX`Kpo{a}^ydTut@X@zop z|DTO7^T1f6lwZV=L;23cdoZ|tYHYGN-ggJLnIYUBWdt&C`xTxvDDL3#8K|M)G1bAN z9B+F1{~>ss#^4w{K8Yh|K|CJs!QgS^*ko_~{@udkY?ufk#*Zi|1CQ_G3E}aU*Lxzq z9C(x}vJYw#;zt!pCfRx_V;V!DqwuB&9er2f+i7*W1o|US!WNjk^c(mqpYMGPMLG*D z2*w3$Gjy4p<4fA}IYl`5Y+$2h z|4W6=W6=^c# zp%4u=mW@$la_m~0RW)cs$8BdN=4rDrRP@>oS4E@0&e4M$J$&&`LE#*E>YeU$wVHqv z?Q^+v@LsRoP-e$|ZJ!H0CkH}*KvGtDx6gGOC^S~iK9qef-E)?+&!ux!kgMKZ6o%kb z>?N1uLYrLX^%Wt#0j^@yoN@2w3t3W_bS*iXjOeU7w}?d8F45J$WZirRdMdWv4z@q^ zAJ&Y%uL0A8?hh5ell`Gjsgy{sn1D!`KJNV*uc+DHvI4vj{f+cNYmJR{eC96PQTU1| z9RBqJ+`0Qhcju&w_J@oodzbn|4YZaN-R@%TKNm+%`|I$IYk#Ou{P@^}AF_m96!%WX zX{?MECqPv4fW)P9g2HObL?9IyJAs4p{k2&-jYQujZh4lDNh zPSixDZ&iTDyZH}rB;zM)gzQ&u_)F*?eo4*3f({KDdswTiL48-?J*Yfd_IC1UuKa$I zN{OWB&l$GV2@>cjG*NT#{#7DFHrYMt8p?}LLByTYDd4-{Qt>GCo%Oe zFF$FbTFcMCk<;?i@E(lsJ$`Jm61?wD4)|>-H*R67W#;S8HSe6B#?4oote+t?oUD?M z%JHTv~%)2w>S4muB+cN?>4Z5U>HIM!25_T2gT?VNNYxJ^cP`VGnGUG(-{ z%ITViPA_fBK(EX=7rc6xjkx=(M(!HP+QMiGY-Gu z|IaSWl{b=wU%TT(7|Y$p$0O{@!i|gD`~p~bZiR!n9BrPKo zKkd9C>@yJRa>{?PU~KtwT=__n9Wq^uigu-zj<>htH2g!lZS7SZh<{^N<@4v(a7|+I z;u90|p5P=NR#GoG11@$MxKsgw4(q!Q=!}JuEqWwkkJmf=X$;hlbFoN$F%f) zasbQokL&bMY2`g5M~m;~h7tJOsuw#xoT&O>=bl8>*NZxztHg9J;eBD98s*+iI{$*o z0o)mS4u&4nRIt^s;wy9FzkfiyJ*$Okq3W=X_a{!9Ues}vuA$mc6yjSV_yRL>HaLcr z@qL*7g|V6Oe3$uaX7e(8&3QVA9!-+))(9&Yw8a|L>)i=yt^s#zxc97dhQBkIRovvK zXLvI!eVQyGR=H{GQupBt~RMXEZwb5~Q<^rFru z74uJ)sc>i%4B>bYW}{qOVmMZxM_;izH?wOG#BB2aU?<{!&x8x=fyt~=Y2ET4(CNGh z*fC?Lj0u+rS8!%&B7YbP&ixpPpcxu*E;<%8HU7CoGGG03sfQXdce0lj5~baj7t`Dg zOzS<-gs-`X8I}iNMxM>pX9a~5^UJx%SlTSZaWpukn&d}!U0asd`59(PDZK&~gv7|IoE_z4+83PUYcC8L}xeVGn)`x1+YbY9roM{tZGi~|{4vp1t%<4B! z)Uy_TeR224^V3oTIC>12^NEttT^*WK&MVbd4KF#o&gWXb;TnHkoj*LdGgf!_0IcmZ z-roE3*AcMqh|1w)$$(skRZ8-F=15}X*dME07c|7E>9}>31EsX#_4>uUVpJC|0&SWm z%u8@>WNG3PmqFUDZA%2i!3-7E1SRpr;PZu5+dGd=H^7sJd=zT*dF!}lc6o4E)yB>j z0Val-MDy6f=|RDrXC;eu0x-`%tS*=bMqay6$0ju`|H^0wM})BXYw|ZiJ(^HOa7F%Z z?iD1*jCmU%8f{I?IF#hNwQRzJ1V!TV4o1KuM~m%)x9kDvWV(+4@jYRGikAhNYn^+9TUXJOWj+gRZ7B~(K+8&| zHs)_?=h3E_Q`uxb4>DFa6)t}|Ev-$Q9+Uw0+P2gE5>nvzPwwx&tT;a{ z1ycyWad4`E9ZPQ`T2*HVmy>o6ar@iv*y0gA^tUxm&=Osl@Tc(MA~e4v#xPt7_3nrf(#U$# z6k~g59oswmJAVyw=ByW&MvH?j6x=pn=g*6!w`b%P@6OYYfQnzz%Z0W*Ql)rzPKT+( z`m9GgrRi_j5La`PcX)-Gc6#odqZ2o^#p&r;I;n}5`pVZ`gyfE*ksb=Rs&dvB_g>_z zbAu~r|Lb+Z71Qdfp1LreXWe3Txbw~v;RXbB$Gjmxh zS9LzG{k3Gt_Y0`N$q#2Hh6?iOCpxl$0zJdD8~!)5UcwBtjgQwE`M{89%Nm zL?sW;5OB$3aCkWBYfAmW!Kb~w+wwQ#_`?yEgURB1I6TXWp@654BxX?lSmoy6Oc}Tw zx0%Wys=<_{s@0!zi~N4cQih&MzWutt%Rn*PKHYo%JSR%L-VO9fasc>|fYVv>A%|Za zaw!aom;2G}-UU^gu6s_%&LeHjd0wxy72r^U56nh$ev>~h;a^sro@w?9xLtF-jVOH20+E6q2My#fCLrt<_wC=c_SlcCwa~HzNO^_r9f31TLh*fIJ zUysDcGU)Y4UkW1>ErpNOiAPCZP*h(v-}{z=7AN9S&h~Ky?g8YS;fW% zQx-$`30s?9f7ab14)Z~AHAfugumV|mO4L2y3T8c(KXne_4tkY+edcESMSgXCBPvd|lmXCd; zf(K&kraG_pL3J#AegyIxbL(Z;^i=IEk(OD-$gmJSh0=1}h}=-0JY!VXArEpL^3zbw zF3N#!?oCX%mOg&8$)5yKzKBM*R&e}`b5uAe0LHtGGFnyQBv)c_zjYWveN zY16rhQtN0mKB>uUkE)ZIQE|N`U0ODz$U(i2lC$35UpbH-#noQ}|5*6cD<|6BiFPhj zI4#iuR`0!=8fg4bgLP!6!AS=VZhyZ4*`eVi#a0-+h8m{o`^#$nr5-w$esvZjRG~L$ z;AR6!g?4pu7QX8mC)iM6cud23<{UiUv2K2gj1iF`W=_3hWtgy;8K0z;V+XaBSZ19 zhtaflXxcwhPegY_4mZ`dONcT$G*sJ4EJD;=eR2rljq-+sP;0D+VdNjGou<@7wblA4 zlatmONf7cIh4<5(x0TkIA2CU6d8y;Erby3b(48ETdOv=`N4_8WCpdpvw{#?u9NV=8 zcrgYJw)heRr=T@?e z9{$qnqgrd%U(%nt_DbPrBDuIl2>RyNfPZrF)YL0Dbb;w2I3jRyI}ppo*i(HlR{VwJ zv%L{hgjRE5@CBybqIeniv9|yV4iBr_eCzb>y$6>8&b#S1oG@c~X9cdjf8?Bq4~Hv7 zXl%^ih&&?>NlJ_S_0mKp{0V%Dpg46LD911sEr(x=VQf8=5Zl>gT|B=Lo~UZjyJ9ami@B+UuP_vmncf z!S;&U*vmzVD&x&jqKO2#aeMXnfQt61U#ih*MO;9mwnFA2w z1gEQIK9eXmifFB^@gK718kMk_m&TX~u_fox%F12VN@=cRBc82Of&$T8l`MsRSt9>Q zR6*K)DdRfRL?EH))6xmeDsT+rdSLR*bwj*ELmsm(0!%@om1}|i7ng=r-cPTCE8CDl zh6?_Q$;q0xuAr)>^}000*LCmb4E2>9M?gwuD2?_qBGdfgk#mI)&eXzQ189T?MJ3<+ z6TZBwGs#QJoP#%TDrCUo^))~)>E9%Fai@7Vd6cORG}D<1f~QFp9^*&|&!Nqa+kp|J zOx-+{n1_Y;7?YMpI1o~o>olKjmvd5&MUB<6tw=>lDl76gS^IQeGG~8$Qg(lQtR2gN z=Ov&2iJ+nLk~8eQ-pA-oc%Jk=@8jOMEv|Z&at@DzJ%z4RsbY8MX=Ou6Y7nV!i8j02Z$USy?>ff~p z1F|A_7UMRpr(udiEmr$!c1BekPT!|&_q6k0Y_$5$p}fX`v&pDLxEsjK(_fK!`lLqx z$VL{-M*mD^A*Yr7Gns`tt$ZebAD_V;6^;Hm1amUz=3X*1|?mZ8T9S@hsI z|4e*Bk8N}^=eV&$kNb$EfcoI<(vFMkgG)-Y{DTeT+uAw3Q`Rx-%xQ*d3r@4YR9zD{8dLD zqp<4;v%OoHmT5SRP6LRy8All&{dH&s&uv#X_Zz^yp5IZPox6V$M@~ERlyEfU|7=74 z^RWqjkWFwX13uR9$?H2^I1Ah_rI?X_cJP&dcDC65^zl%x88R0Bm;oJ*%^3?Hi#Ic} z|3(g%-|ok9cITZLxV$a>(>`*>UVo3*rvlWH@3NC?BeW7n4rG#eU47x0g!W;bW0PHi zH%xG71atg;_LtO%GD;a)g-iM_uV-Sm(DX+Dj*^@p>~J?pq`wNL>GhZ1hpaIffDPfz z5XxD2tUTrZCAJe0Zq1}bc!nwJY`MQZI7C}#^u%yUxDq3@mkS6906Fo(=RE!8R>@$T%PuWQF2Sq{$(;v;>jQl!f93^GF z%~H~GfFG@IthZTu$`gEu|o z{b!c$y)9rguQKx+6pqdz>55xx(Uh?*IstDuzn!f|cn;~PvB}AMfmd1eVoL11#C&<9k$BnKlA)*3I9vuIG6Q)pxFddr zUaY82J#x7uXObKDPbA_Fj3hG24EX=b$3h8!J2FO&>PIIN@&5=V@c&KuPlwDuhy?$C zHrq)tUQ9wVDyzDn;5zg~5#!&D=}BJ4dwEW)C9m`Ii0-+MN;l4X%hWN_Vx^Xyjugla zwIn1pDE$~m(NfjyuA1-Um(^HGOPxZ{xPl}D#=vu)Elc++A?0wH>+w!TPmLg8=2*-l zYaaJZM(?5X0)=yaGsfS5bxroij^bEpfh z^2XOU&Og3<%B#pN&--!1Nx6RFr;hOlgp$KM`q2!SG@;mv963t`?PJykFXX%wQPJt3Z~;n>NsFhJov z(te9JTRM)2Hd;D2N?;tHC+d^wvx4hP0!F7)n%8*>Iwix0O|_*`K$&}}79mjzs3LvN z&)Vyx9-E7PVryoM?1+rLWzWi%@TbKS^Abq7)46i5nnySa*!-wldbD;exZMxir(n?# z(dwjnvc5mKX(ts_4!ky4(D|X@8}huiuAnp4{qzK9V|7^fGZW0j%F!2RsI@2IKcs!y z;HZ^5Q5^;7BFwfbvfaWOVUTH99IwgRZiVZgHY^(2I{w-WE2c_Z**ZVJ;dru;N z3#VtUI>wn^a6@Bzth>4>-`P8$|4r|_==D*wp|6HILHbd60z+u_AM~g^II|?^J((39 zbzYeW$~Sw+a#ap`YBkQ7&@p`Ps0>@sG77 znCQvh!<|Vk)#fNGIkx7whjZKy=D20O95v_h9QV%9-RQ547g6>MzOk^5QofeQ?}-bE zy`KNV%N?v`Abw+V=5`dR@BSh1%pJU3n=K4{$vRUBJB}lul~8Jl$V?a1AwVW@AI9lY@wf$Y)0*xP9&#o z7bRpfojd!E)Fe&>Qy>wQDC0N^IEX#m{?6ZM-iONi^1RMz5YsX;p`|ZpGwrf6|FY7w z9_o;qk-M3y*&Dz5Dj{grDe3aLY(FgEM>Rg)!4l_#-!GI{gWM+vj*;>98T4_3x+P|?9!qaxgN z9~aeV!oSMCcf{A&_wM-Ze7S>N;Kz&ZO)?OM*O080Q zZr<(46?I&n)-L>*`!(HqAak{wG#^mfmRCL|{N(7I|AJn|Ocqq5d^`+>val%i^RK)< zdfK;@a?uk*z0nK`iMjA1ShicO_V;%0dr!v)yZ04#924BBLvp>ZbsldkqFaxG>y=K4 z3Q5%Ym|1Vt2`*TaJd_CXIGJg97R+u#H3-(SuAT1WmejG^S>(|G45 zH|RC3H5Y&>Y}GF=qwT+XFod!m;jXXfcz@U8^1P11)Wz5(u)%5l0k1aIt9#BnRPVay zwwF`)RvWBR$6sONnV4tSPbUl5PN};dMyzRQEI$rEAJyr<7k;dvBw`hf#|vhcV2E*l zM*&2n3_EvyRAx}H$I{_%&&_b4zwqhp5#~_78>0pw_@bH8`}eU?0+Xh#9gK*@PyaBR zK7C5nf&BLO9>|oJKI$Oxb9Q9n*TWBueOS&6ON;#JWe5iT^f?N2`$$-$pq z5j0Hlr%$1m{`9FqL)@P}EodnBr&k9JC;QXuxC-2#P9LZE)0={Zss8llpkbOneP+;5 z?N4tB8tVM%twBS=pFTHeX!57e4;q^N>1{#7On>@hEMt|8Vb1SdEY_++S-CwrG+$zCew$|J#!Cxj~87x-`{<1sFy~^C8p22dJ z;4c%47%W!_{;~mcs|0`926L+ff7xbps|0`9R&%Qaf7u>$tAxZ5TQUk7mPa!2oywH( zALe#o?IZ@hJI()lNk5@L;&;D7SYYRb{qB9{PVwKj=P`ob-R90?b_Knv%I|*A(kPd2 zPnrb1ZZ7h2R`7SiP$-eDrTU^j2$Z>Hzr=3WA6@+6+lJQY3QT z9Sy;#Q7msj>EXBe3Im@zdUq?++Uq)RqO+MbHN@8KahP-A!sT zOfMRFAX*IEsOT48`gD4c%~AQ7k@;d7xUImjB?n(v|NeOWXTH1o zkxs@{Zt$kPe-z%O?jIC)} z8{Bvsb%HOaHR!Het!O3Mcuh|+|*7;OUv6wQSpX1HclHXD1l^6c# z*}^>UB)U@5{c};NLT}k$QzGC5y!JKls({Aeo0|!0Om?zh>2_fa*i=Bg5b4(Id4MfYsx?%~h`Wv$m7ma81y$f_avnSG$yfp6!p&Pu6GcUOejDiW*SeWW zNC>{Bcs%3Bg&#pajF(7Hxi5PyET#`a1CXLR2%%~;WN6H!ZkBK)0*Cbe;C*N_*~cNSZjPf-Py_C4#GPG zq83DN3M02S`Bfa28R(IDqGg=nSz!_tE zhQrpP7DHJkk5==)Q*9Ldt44o^Dw!+eS!g~WjS0?L@9X?H>!fUxXivM%JEuTN__qE> zdXz-q^ecy|Pe~RW-g{4t@i3f5*;7~bB9GBA#`Tpv)%05DTofXe$r^NM`_Z9oETT1) z1E!ZirbLg{3BabXs(z9IWL-y>R<%!hv|P(x^k`Yr=_Y?MHqV{0bdM?0I7gD%7MqZ| z;zV?2Gq|8Y$NBcy=!qB6I>qOy~bMWQ+A3G3V8gt^42Z{gTJz0FZ{2=kS?dG=z>)GHlyHhTyXD)LtxJv~mA2 zqxQkI?M=ZvP7AexFj_tn$#W~DQNse!f1ze{d+IYyDp8k~v5$ntZ9Z1}xXK`I<>?P9 z5>wOn+4rf`bLi;ge-HkVw3t<@Zl~&0m#PiU1>>$NH@*jft@`}*BWJn{+wA*P>U$KB zIUfOe|HI}JbI+fqs<6H=ZBFw^DzEU7aq%CB;wxNy&A9kKaId-LkGc5c#>GDp#qTL6 z;nLl0wr&<)zg{~UIVDZ$hjYLj zmTiMM)sPi&O?ov<(iEw7WK%sJrXqA_*10R|Ol6%~%#6G0iARzLr2Cu#{(X=I=R6#( zAHj1*5stHpC^8hfROh~IITF3}Bh-X1iHkk)0wAlO0B0gFUkNZ?`8u!sH!pj0*73); zWv5p@h?769Y-exqCJ%Tw>a|X)K4sxnIG6I@^3di^Ug0F!e$vd4C%MDd$}fP(eI8SOdYY{`a3J5GdFXG5d? zEIPTKHm|hZGwN@RFCt+gn=snoLZGT3@uMVOVTy4QuZVY1Ga#jiIotRGZ5H8<(P6aW znibfa1J_DGdg0UF382cU?oehuO$ zKEm{@Fc}NaR|){UxVta3Nl3#ndjY+?m%r_JE&*L**R)D@6IfnlDVzi>00sb{{yA4P zX?DZYKMP!V!!m52?htguTMwrOhA&CAU1G7{;9sSV?b7 zthaD=68{qG|Nq|pNSp?)fqAZRY|PJ%vy$-Vc39Iaf5r`K7~EwEv2XW;t@ZUL`aC0|t&>CNVV z!!EDVvw_%kzRrQBO-4+%-zA9x+Bv;sextg?3edngj%n<6KBzHoD zfxKCEn7}duRxAQvI0!@)Ua_f=8T|3qc&p$HbrA!>$#jccS(&|1@&tT%a}JzGB)fHYzq$`tHC!tkGJ?EXEn z0n-t<3;uSU$O^aknhD7YTY$~bgfvox;x1GAGUrD0Sm9WspqbiMIQA%zYJPxSv~S2ct4L|j zkLmxpCHjA+wwf*N8(`R(Wv*D#U(O5%b<|?7d?Sgdvd)|HQk494QntM6N+$Wm;LQI4j;mt`$rD&y} zvn9&$8`b-$D}-z_tT7uD_=q(`tcR*zX`Bb+6LB3Ba&4SaVj^gB=CO{>sntIie8#9< z*}OUDmy=@wZv8Zq7veTzL76R3GH?Lmx0^q+xu`E!G3AQfMA(RG?upN}!b~r-Ha_1x z7_f*9sTqB^i6bs;Uhib4Uiy2OT4wYqHqmJxiX)rrTD~Emn0z%N=}xm&uo=SG5y2u< zGunSUtxV51^Ui8CQ=ID6QlqVsesOsABr8zCbb&DSo#|u#g!(oY%u|vI7jv@3G%Kdf zV&F9_3q7WYR`!9yts?Wcjq@XE!!n?sf$F)k4gKMQZ3T6Ok`qo{Fr}7M_>}_FdezLW z1y)46rQ2nYqs^#hLcNd6MB=_4E5&Fd>=#Uk02RTAooUh#Y{j-XV676cK7%=YW_^XQ zS_kX&;khvyTn{yDw*HmzKU=VNyD{lw)yOG09ECM1SWl)px@TkX)AMG{f{S>eCOP9h z{^q^U={kasp0th*CQHt->Utn#^?4_4!*0%6(dS0yz-rlKKWMeLsoG1aHtY`#E8HbfF+m$HevHU=w9=OD(Y zg6wOf>_%Oo!?#+K7vd~>j zq7|9QA+nB^8j%&Bsy2+HqmZ&Obhg6is-#Gxf-U@qvy7-v3$nN9tz&v&H()+py=Xa{ zV@3QG97+@h^ktI_059dyQb1c*7$2{sDnt>R!vtCpNYLj3fEQq*4Ike7Gx4c0mk@_z zMVa2X9e>LxKTaX~d9&B+CaJmJ?0cJn8~ZKffrRfC?j5QL9@?73{2s<{H9lxf7_#Om zux4~yx}7H90vpaU^J!@fTJ%y#W_}3;?%jET*#FLDMUyYtuNywPrwvOoU5!V#?rpo zaTL~Q%&Wur1mD#2wc~2(Gmz!hLd9hyg*Q{~E)5;u+r!cvmLRNzrCKY%o~V|)!f;o6 zPrMv|&FDkv_t~Rs^^~PyQYqow2=QFgM0v)|jR@a~o$F#XH^TWOXE>kajOLM>8@0D* z=Z2<)s%-LKqgzadcQi3nvGDT$!o)Dj+b@{^$;t7VVmCRiI0|!KCO}d8nLTDTt;@>h zav%|^7TSxbM0MX0FoaJ!10xC;WDq&pZ_}3{S2zfp+FCOXK@JrS2SO-qw(o&x*c`^U z@J(GZt``4=Tnx;hU4-ONmN0jORvLCkYFEUEEiS5Yg&~UJ0OS3lh_?+OeRNGgMB%hG zU;zfB{UT*Gytmx<0O}71%NzAPj=x^i=V$;esGL`?uLXT#x(lk!2BnU4K^57c!Z6i` z2^zCsno;6mhmr_>q3RP*ZmFxwv^59^8t%$}@;}2}`Pc!w@><85r0EQI;c?+df(-q* z@I%VNU3d|?CT%f?e$hPJVGjM}ye$FFbpI@m|L+O9chahk&#mD&%;I*h=UgL0k^PZu zS^j&#noSkhDwSKaWh;ld4M$>}ys>6N=P$#3*hKOww#1}mrhgTttDPtYL%lG~F*h5~ z^c{F-no8LW25i?IxzTkhHeY5!Eh+wXlCDESl%zTcsqRIX{4x&94Dp_d+cHkHOc3=% zxJ9lSTjM3(`Ys#c-Fiy7XEE8XE^89$*JbXzCD80#pS07Hj zh_X8PVDhpy-%qw=d>v2)&^7rS$TyumTLO}rtpv(pbAtx9x`Cxt@TLR&u?sNgetOH^ zOzfzOH;A)oS;x+ax4fNFeo?5Q07Yv*`ub?s=lbtEk-6V#KsY8Q> zd7BCsD2=u$l^}WQa|9aFMFGdH8y9fY-I)M4#5wx|(H*48&+UQfNzPHB;;M$$;eed^fT2hdg7b+;1 ze-d~1zGH$3jMIlZe~9i8rirkiHim11xymSWD=z&A+-!jbxQ5MDg6lzZ#Yy;hHsKBn zEFyZRxk_>EGM7|CyR!*XIH|vuIS@N@3al;Pb1PtNz1a_VJ$k=Z+(~l?3pEdcLb4k2v_XyeI9_+^&j=t9EfBiZC|>dXv%TGc+#Txcg@3 zE>n1ma~pR**SRYc-sarK-M8bmRg`d@jg!ZGnUg;99jzgk|-)Z^Ty~ihTpir`^*%BjmrTN1qD9W3RY{@sQ zRZed*SQ`a7r#G2N8wEM1u^!^82-X-HNI?YyKgN2-!a-n`Kwu(di0FsXr2c0D#vR3+ z|FIpqONG4H;r*LS-6g=~P@B|pu^~%0h=k>AbcFUa$GrG2%7zu5DWH@W^lMhjn90r5 zrXNmmUZGR!-(&CGHZ_qv9h%0OFJwr9Y~;FD#~0z=Ls&vh-TyZ*oAgx)qLO9k@(bmNpqrYlL`qx@Ob-##dDY?^wF;Z)<{!t>i(u58jxbvS(_0f8k zN9Lz%8xGf$)H;BwJJX!iFoRbXf~=gcekK9+xM0w@oZVQSKVH?2uNt4z zpOo5FFeVIYQj0n=%tmf22rzOx1qUNDjgNjtZl~f&ZU3D5{qD(a8HK5l<@WtQL~d_8 zHHRV|0=eBO2-2vOeGeqJ{b9TjzteIH7c>=nAh{KfKZe}y8B=&j5t*v1EWA#u5vxpC z(~j`FhHvTv*o&!l zcW%StyPVsI?0|EZsYRQe+gdm5+(u+~IJXhmowy?++lM=KXNj<-F!rx*7Flz`StNI= zVRZj!`XAY3kiMk8rIE{G6Un2#b1BJba=$H|C{OLn&LH0=pLI=soxDMfZ9#X(*VuP; z{C2)xj|s%!b)JQCy#Oa$5k^y7&qj05YY;BHuhv(QAwec;ss&+01#lrFso!$?QCZp* zE{Rr|`|5$JL+A;Cyk!1C?Om ziA*GhhdgNEm~@anUB|d0-ew*I1g*E)R$ zJFld{n2|ITHD>E|1BD!Hb6_*!DtXXGnFV4|yhPwJelK~<z1@tB$Y8lp@G!W6Pl&l}l$Ft7ep_4k|oy9bh!O5kPE5Rz~hviQZsSyyU%~}C1Dy>We9OPC|^`t~_w-Eyk6Comof?^#M zu#_+3p>Cy)gH4sR*4VwVrJnoRdT(b_E`1sQP@S-dH~s@-o6IiaOx1_Jtsp0qWu`3c zNqrOkNK)++pVF7yg+Z9KS#8T@5sr9sKi7?^ls%%6SkB({05=nTMGH7HXO6ehGWJU8;%*F4F||7@}Y_= z-gb|X#0R4zT)lQ65#h2_&4fV_;x>>O3ZlI%8?m_vNhdX;I6IJLxYdfr*o1;mPvZ}x z2Di=OcEdy@2yGQ{SOb)W1nrvbtMKS2KD#|CJR%Wwx`kytedx0EHUlI2a05X`AL_VQ z*O`-uIOrm3BMyC0mWVj8wL$;h1!ZuD>vGA$0?xHS6I!J@J19Zm)QVuzPg|e{jX_7e z91@_Nr80nl!Uz_MxH=dI?Iw{_%}&KJ{YOO61c*cwt~aRWK4e{n+~{wwnK{GXfcEoO zQpOa$7Xqxig1G?JZb#P9FNdU4xUb$RSGJKTQm%X#H_8?6w#0@|#*94=psjJbmc!xD z#3l@j$7Ryr?r4%e=w1M@q(S{?s{~8VF>27wCEbhI3vT+rB>^y~mF{ILt}u&O6c{)H zAE$yaaM%K+hI!Cj<%$mTFn4OF5+kP4X<*KrLRh4Ru{Cyw;|BWT4>|`N435;3l|T`; zUu}mL6qr(FSTtATAZUGXSooG>#KiV^uBIz%h+l6*g*3*r@i< zFWFX&ZVvq|d{dv#EgXR^(|J*q7+{GY zPbKg_uUYa%Q4kc%c%#*(j}ygsMa5iR#{W5DjnKUajtackjNUE~Gw0euV9O@TbVtE# z0Y^Vgq-z$6Y7xxXthmZy*>dGrmX{SVqsUcA>LKFifNz%@leZ2OUP&_jaIVcd@6I|0vQB9< z!?c@2Ck40cCU2zTlz#+3V3$1Sj`%C2Qq_;paM+XEkjG9^9Id0K{q)xqylxE5yi2%|h ziB8uUF`L;_-jVtRybGe{onM3@fdeR$P9W0qCbABZZbCg;Rigm@2)#acO3}UAA zs9cu{%s!cNwTDu1wMT(kxK*t})!4aKtGYm>leN_3Hf7RTmUVRTz;=^zzGb8&l@KK@ z$xWJRunMzEl_yGC8YYd}>k_GbQbH{tWvGOdleRgyYTButbry)RK(&iSapXe!La1P0 zP)>+ORSneemD!gC&ah`MEsDkp6boS)0fc@jI~a)kZ4N4xnu*%cRk^4L2-M|TPl2k8 zlA|cfQB+2gIqe&cQ&$@z_FL}M$nRml-u@0Y|b=}LpGZw+VUb?9dgtwnVy z+pRrBEwq_X*m*O}4y6U9NcGv7HT0rXKEr=8Qe-}73oO+#P0(eYZP03=3>&~!bJ%X2 z(`C+e0lB)&`_>fZUHt*52$*2%NVULQzJPj6uHc;PEmGbiJGgx$wIDTP51JXhs}}9o z1E1rPIq(ss06sJWf}q?vP|AQvMIH<;AskYdN~6U@|C62OT{dK(ci!=b{vE5$Ws{V5 zT<4d)S4Nr1Ux@Ebox2xOr^{LCfTTwKGOE`Y0in88P9sWyPh(sb`UP^MNuj?j^jC!b z_Rv2SKV22{$z6>vQpbJ`F!yto^4xze%u7vqZ9m)nOD1ui{-&Q96@_6UPvw9Pf+jdV z+vsyU)=ZrSKITNjB1wxgXWS1sF#s zv`c=HS_;09qd2U!f5ejCi{0TCPq>PCbO3(PC<1(zmJBWlC*spw%cIid6=xGY3q%c@Ao>TfLPA>R|HI^3=xif6H zH)n(lRy53tMjis}6glLGg)Bo@_#DR>8KH^wbW__1p6pDwL4!*r6H$OI&BI33R6&(sh3_~C)%adj-#;=?6Vu< zv72(_X4gyqugT33vb~4i+#M>|pG;MJP-IwwToj1Rmii*wXMbFR>eqOUk)XOlINf01 zNcwRyj{s8^#+UO=z4@V>!V@f=Dla2OsU2MgeiNS9iyl*^;~<)}KWHK)+tFd!5@a-1 z;wMtyGqrn9s71XTrP*FaT)3ql&VsB{SR95Hhfb9v>=MzxfiU?sIpyyU{hDX;-xm5c zJLF##`uBwXHKAXq1ILwNy|s#}v$E8M{}$_AD+EavzHwGA>kZ%HFxyyfaWQHfnQ~Zf zLXGuSEOVz>pa8J03(}I%EX9psz3qfDDeZW&<%pQ}aKKc8HEwU}TkjW|6mGd8eGMv2t}#i)|K_CCx4+_Pofx;Qj>`&?9k8i}Iyg0O-U2zU2iqEBtoj)`onS=+FoO>i|r zMx%;8J5}@+tu>7*_a~z-n&EGf%IMXanYyPt`MJ|T1E)FSU8AMDwH0Qp&ss1kbs79; zXs+C^Mxd%;2-(EJgJY#Jj~Ygu4ImbcB=p!k8Yvf8>Zr7Qa&dtGu6nP0w=&9npNwU; zlo0C-`tj{i?CmbLoMKs=@DMSqLa=hchilFYwl*lSjvP=_1x4$0^LC}X+Z{w8oeqr6 z;i7JLq?UBjbGD`^&;;DQEZ%!n6eoSr>R3_i8 zj!s0*d5NSNd-N3x1vS#|RW*EFxw~AsuajY=0g0$N4_P|3!^$Bs`U+aA@l^a{{F``( z9ULIR9R@4~Idf}eeoBp^{x?I93Q`?Alx(HhQWM>>pXTYh0v#v6!_Y_FQiD;_XvoOI zY5Y0Aw!{P@;|lv!^g8|1S<99u6tOn0gA&Tl^$~PemfK44yemxONkMmnrP2oN*eE$V zgcglpi_YFX?Umn0V9QqA(r2xX&kVt~#hWeLNCus5HoL%yeP-&S%=dYdw|L7pqbl|$ z@AH;>IO=fKcz-`w@BR1>HQtY3eexJiuQbp+j?$RDWBzkkL&&I!8; zX3XP~;%!a-eN7mes79UxF5pp!f~Nezru?C%c^bjur92%DDizM7yN zDY4)d3np7npRy@@8R=UJev*mku?WTkm64L*;@pBuywYqA$hFpPDhI!Q&7Y3O+5p>~ zAWUR%4gMBTyPXRS3r!3A@nrz3LXVlj3XbE#VahwI4i81G(|DRflK!Blq~J%*e)V=1 zLZvHJChr1K3&s&CM*9;niouw-OrH+UIIkb!33p6usRge-ilhr%L~B_Xbm|2BB_vZ!dZ0>^kprO(vRjt zrI>P}<2s=@TX@WzTjhWX=B+lM;*jA7X^(o0l68{tcKqH+?zn~g)$*4gwHB5}!DY_- zb4wi=OEF0Os!4FME#LLtrMyxO~UlTfo*48H zA+?%DM4VfUZ<8HMnS@I}hWzBLb6V(R47P}FixiskL7e>AjU~t2X)w8Pn^*plO;g>!1nniAaoX;4`(ZYh*`mp6Hb=iAD!@OAGElTaR zY7VZB$6f3SGkYUsWprE#rr)Asg3Y_=;Fz^sTDJI6|E4^dDC8jJ%mfGA0|Z7vD( z+#I0%LW{Y>4)e=GtPB64-M=&+y%dF?ue43{sJKj+PU4Q|jYe;Qn2h>aD2C~W$= z7hSJ(>a(QoIF@{;4&bs&g!Xu|N4?2!dAG9aX}yGE-9^J|xPI{K9#;!nHK%?*lX1B+ zlJ3G+ql~PDVMbkyMaE~o?x_g1@6?V=#Rx-#82)1LGTblK@U zskgA*)w|i7e2;gdcy7Z(W`V>W>VSwrpKmkIg)oqC6syeB>Vzno5(-6LD_TX1g4Bdf ziO3%`k6Gi$J?#h^zPagt;LXE>R{1AuyYRr;-map{ zImDa`kkkh$;{ZU4(=sM21CwfwvAdD6xQX+zlVL>A;n0zsu~`}K3IoK|{d{7kaO7!K zlZiL}j)1TPFQyW0G}6V?#fX)}Q;U^f4PpIHUrw-;5S#Zq?Z+yPN20&D{NxkTN-ruTN-T$eZ9(A`P`v#cR z&g9iy?#tr7Na>txNyLmpnb799>Z&!i7j(T*Gb)dk_0n-{t-J^8G46Tn-q4i@mWecS zyBUjAhtt}(W7|RTTuG&?xvGhV26jjdTBmzWuD1-`+}#O=EmV@ZF3C(`XPq#}jugt2 zcVowFHF0j3|97di4@-Sgc*0e5#>z~dS<%R4_Lj)U%6UG0&-6kk>@jT9;`_oVj%#V8 zdv0SP7p--PyskgU`yiFiyYB5S3T78m+s#)}8-?m6Z;lgQSGr_wG#*XC$uG{!oJ$7amfXmWQ3$riN;jkx=}mhGzcG&fnB<4yk4y@$m7V+tkoP%2vxg)G*h+ z{%ow+8WzgEX?Yj_^SNAIM>hT1HvZ<)VQzGHokUlcI?uG{xBzu(&JosEH(w%qt~c%A zU*=+7VJDB=ESatsSw@b@-bZ2YuWT%;x_9v>>|y#~T6y;`^XN@}=Pt%o(bnv%sE)t1C*lh%1XO8^{4ZYxG6MfLOQH!)EvcaFCvDCnXH z?(seJmJD;_d(Gfztfq3P=D59eRijta9PVeB_i#|qulAgt2xicpM6x7m&!E@yB<+)d z|Frrxmd^QJ&wi_j2KdFia5zl)+w5_(g#W>A9yfEt7t|-}s`gNvck?-xzCJc%9v25u z;psu~UG%5IFYaeeEm7A__e%(xU>L~c9c^AH?5j!Eg?Hj@UVIAYv+9CQhrfp_W=pxR>M5@lGWi$t$D_$$p|R zFjy3C2Ic<*Qb$=@$npy{f-Dt(dX_|4rjli`vbdMJ#<0lM6ja}w@F&I0NC99J0AcTD zJ;cYm-K`Qy>otT$_Xo%p+(wM2^Xm{)P5I2X+I^`@{r^bok;#x21ngOl`8{ z(=}BOkt62yooNNtH`j4Ff}48jF49ONB5BswrPb1T;npwpw-3;XDX=iy7OO;S2qaz~ z{ZeNTUq{300sCk9cBgoAt)#brI6Z_qBQ{i!<+?r65r?+_~FAE5?MbQz+2%ZZgnE zG;hL;_F&?KvkUxfgHL;Vx8-m1w+!w-qH;^J_nk<7Ltr zFzVCmC3z8{pNCO(d@?N_}7h=m|q_5=qlWo2ObRic+7K zCkWa4>rsmVU+_I8dm;$f_Qu7J>tl#3AYQT=bFPL&cH6=Q40}?SpadgB*I5c zyEo!rpeq??BI-J!)FfIiA`2Fl=SsF-&!t*ra;00IWhhN;*{n_%)(XnOnMmkJ&Igrn zy9X<5L9~11C_W?Q>e4f$+_1WZ=~0MIG|3a=@H=OG46hC{K3`jBLz4R8dcM&(Z5XmZ zH%_-ICK{(l-^fKN**^ffrr-;-@C!xgK9*?5KQ_Gp1>C;Ifa7&lON*p9M%6c8JMuVrLZ8h+6Q%Kv8`U-xh6BvuDr0d%d2E;Cq^a*`@4r?_fjWMYby*ZVb+d5#2gx z8o9oN)~EGKw)|sXE>qyy)%=frX_EHZw6AXW=>CSVIdd>CU;~$g6^hhGhWUy~g&`Yad^@*bJ0036f5aNv+AmVP)_IG3E7XZm4nL@#JTHGwN#Se`;S0Y=EGD8!q%NH@yL6o&`X zh*=%R;EXsrTGpgcC7bH?JcBd%LOi&ptjWKh2RKiz3oa^$1#d^>@6Zzr3+tdEi*z49 z)6s`hWQN5QR-{Y#QM^+Cw4g_2%GzUxP)z7W`xs0i8CcaWteTr0)wXC<4?ry&RUuQ` z7}RQuP^&$QT61$pwUPICH5xhSm0k(YW_-)b-W3gWa7*xovf!Hd41XIvEvKg^U*cT{ zkDdN7v_*5?xB`D4wd+vAY|T3D=z&_X21Z`?9>THA-uTx~CFZD4f7z7!nuUz0ZQ}Ed zRVzFDZF3Sr8u=zB5CArmt~XWhB1ra1X1|ewkvom#NMHEMtVHsPa-%dbBujVi1g@#~ zzao+8ArW^tQr-?^5b$S@lft@~>7;aq2r;*lNn2lc*%#Bl&@YTq%4WmW)ZHk&#uZ!k zr-~g2i`i`71B;!jV%t&|Q!D^bHNmxNXVh*$hk7!n1`snl7ce?)AzPCk=i>UWHZ>Hb zF!znlSGfxkEm>0gbp}MnGT}UJ^LplmItH6#kKBjb4l-@6=othVO4+w5naC;cM zbi+={H8pDX{^VBMBIw9INETy3q>uCCG_;jnVZcbATQPP3K5e*YytZ+H(|lZPB(n=L z7Z-a&yt}ZUt_|}iv!)IF>2%hw_j#H_U>U>`!}D%{%V>(bYrh?t`@ zV%k%usV(k}EF3FrAaJ+~?WuF6vwPCWiMH8bt->)noSw|SAGzkWFvGj4_q>mPRzQla7C?Nts#$EE2nlmM5xj6wr?2DSqND^|EnDZ4m%|QQS zT5m2?16t$zpodss#lGlT@&;t_aYcVp|Nd6wis4~7lf_o-Jhkiesr)-*3S%@~u5)N{ z>seFSt%b5ZrBsXJc9#RA9J{)Re_x@2t>=*}c1gM7&(d*4mvlN!i!HH6EsC4%8f}^Q zQ3BO;>V7c|T`v;~^<`X=}6CGHmv4RB1}|(ErEYyMV`4T=~A1 z-2xE=yA?#D5J8kg$p|7GIpbuc*d%Jyvb%BH2rT1vEIXbEh%=DH0SQ0wLqrnx&UPCo zVNQ}cc`zB~44GjDX2K8%1mp*n&C@mk%qy68H!@&e#z4UL_g}TU)spQQGUuFo?{~hV z?^EyERkiD}YSpS$tJYdYrXmtVR!7DWlqv`6F_UZ2X)~$a?PJtdqF9a?B)V;Dbw_QN zj97{9s09kaHRyXJ-&HC(k3yG8Hlf!A$gK zut%~yTA?>QrJ-M2>As>_4F26=?6rm1G=Pyq1(*BEN>N|2A`8NpK8xW~V1@&dMWzCH zJDG^mf+ezfZf%N0Th8V@>y7`txBBN~2%O{U*SxPXt>$T3k+Cc+_NSHNTNC8z;c4wu zgqlcEYi-5Gk>_HXXNnMR>EPnB#ZxE{1(JDN`G{M&@P2p6pF8Ba?V))m_63P*06%vA16l)RG6r0y-t`(sl1i9u#6@TcrV)1BQznOW~qkov(qSdw!N zPV>CxAM#ftR^|TEE%=%(OlNjS4gBU;{b;uN6*bM$m?=?)#?p+)h18EYzRKZ^O)^J~ z>s*d_WkS)y5e1zjwi_GR0*By4C=#m3c0qC##>|NlZ{JOWz424amVM$DLSwo=iWfb! z0btm}>*9^|cjq1wzXV6#VuZm7Uz}y?-AN9p5{V!q#F~zt$ZnoVIHff_Q<+w#H0C;k z+4g@!-1>|4>krqSxc8;{hT_Q4ZpU-=iBxV8W}7tq>-ocG1>fe-b2CuxcXqqb@ksCizbs~6YX>Oi zvF;cAc@d3Os3VZb-+?MTLlt~%_I#ip4_YI#Ar*qxWvU>D(=#Dalxvn zYuKeU>{N6TT*F$bIHY#r!Ip^HI@nUChh4rdSg`NAYbQ{=y8y*lJF>2iwf`9gGra@R znLVqjSS;Q_wA{sQ@ZXNQo38ujgIAKwujAvMOLYRcnV6nS>&A3_2)b5-u&XNj9TH*c zYqASnfUVk*ru5O4J;%i$rgJgrY}~~x$j2nk>_9#*U6ei6#VpC^ zS(5$Z4pnMSfx}1(XPXc<-_s2^@jaqj zyM@8o6ZrE=s6*K_x@CaIQ_;a*KtO!SPM%08`TR zqmIk|RhAupp*-Pdc2GDg{g#t{O`84+>Amljc~=hThPEp=bbY1w?UJt6zHQy#@V6he zw`*?id&jLR?R~qtYiaM>$E`Y|_r2=%T`P%PIfr-eiuH6lGi9iEf0?&h*vvhX3!pYV z1jk^6|C>ax`YM7ZN9O&Py!Yha32Qtz^}biq{R3V!=wuwDiatX@ZTWlPg4G&dlH7bD ztH!nPo;h9hFD~Pgw0-~H$GSey`!+wsEWz>E)P?$4v}wH?*VsACuiM-HY)s51m=UWt zY_W9mm?LkO25|N~Xj{)!DS~?kdnWRb`vS`rOs_-ZrulYFWa$z79ZOsG3uG6^cr3%Q zQ5K0d7NAs1!tteb$Cst3j81iRxrL> zn#+m`O&8_7r6}j>)aaZGigJFxC}%f*`bL(yuqfx(i*jB}cSh!1RFw0yqMWZBRQr;m zoW~XAyl-@mdVA<}QRe5a9q#_C2W7r$WagX0%mV%$nhSa0_X?@3R60;{y8(7>QOUbT zH@H_Q>6%eRDErkgGxYTMyTZ(a&C((tGuW)+is}-U7JXV9eu}~K@$32YaGwd8)wUJj*Nqx|HP3y;I@tAfJa1Y` z+^_MMa1L?ZAG2Q~xz*Om)~cl6iqv>RtB-H>TuIl2WM?-m*~rOj;>{<9`OT77Nlo~b zU+jK8)|(xhgy&3o*KJ9a3?$rcE9GA>-1_zOy0|^}{G;_k?fD|wEVb64K_&-(iEvD| zGy^DC7Eo789KP>|d`T0>wEErf_ZLKSH;C?1eqC|--yANV{#Lo-$272^rpw5m^G{U=4~zdJF`nS8V|SSnMqMKK5?a_v|K8iQ3X1<~Ls@G; z%FHKVrZJth`{J_c{@#=nu^-WbIQ2KoazCqmm2I%JmtjM5VQrN*p*6Ov30tZ2Z>qjf zhu~H}#W>}ULcRCgRx`TZ(l16S2ufqDd9hm^zXT?q0mL~o@HaYPttO5w)}`hTPJMO)a(4nA>g{QDlJ#T;qd<`U3eh?+d3(kK`;1EWMp2HqEZ5{1Twc<|wv z$<^5YrEu3OSJQ*pUv7CnF#506SIHghBP#p+`>O2yj=z@j5qN&6{yp`t|I7M!P<;pW zuls#f7WQwi=2NIY1%AC|tKf+K9376)OZSZGgLc&;7KGPE*%L^9mYr5QCeM%C{$w#8 zzF8=)IXzFP#?8$aLiC10H0#%E`GoxZN8hP9o&4V)e$SoyKMtm6-ziEzW^{URMJ;Sq zBKQIdpEFXy6%D*i*qNL(A(@Glb$@8+#E_p#`U9+~Wr<0P_IDlEyRihZ)}GfkP4~Bk z>0)v^H{iNzL((7PTcI=^e=_~sW+wfuso+ChU2#_#dao-_O$5KNs^b_IN>!RNfQx1-d(#Y210k7|FJ`MuG zXnIgDt=LZ|f*)GT2U3$x>8{B2l0o#PcO#8HrE4+#UDMX?y_14EzDZ?%UBkoc`#!l6 zL9aecbnZxGBHKlf@W2mgxkXK;tB?ZUYBKGe4v`+{v8WE2juhd61mV6bg-&9#4jDy; z4(xVtkqoTpgVDJ~utK@mbpx~|SI1sD6FI7XTkLjf$E>h*f4u1}FEg8XiKh;9UuY`8 zXR$DCNo69TRx;zcuj}Y!uoB)&YRO+xzh&-|YT76j;9IPRNB}B(ZfR7(-Lb@=b(`>* zExn3^8@8CZe~Vz08-f>1b{=rE4$*&h*DsLZ8YFT{wB_fZp)C8ufqbM>FSy3_+jg^U6kk3w%K)!6eDYpVSeQW=V-CflF zh0G|#E678@zjE2<9tr`UN(8?f9{1lB5YXDB(c97=BA~^@{eLzDoB@(0i;oay{|sES z2Im$P5b%SyTOvsx%ubgkp8rn{x$?}NEmE+bph$MIp~}nIi5v@v z-s=9bhhpczt;S|e_wO(lM&=qmYxp_V&S`YYlE8iIdV4zcEW3u4;~L2v2uF3Ir_DWK zj^jc-o#6Bug$GI<)8bx!#AT9%jCe#7tWNgI!WMdXyoL{#byot-XN&NA?&P^@X-gB_mCW4(UoT1h1IRddY2DKlMD25)B%E{A z2o$J5pskmFo!F;HrR5ghts=OS&Oz)+WkW?Ey~nG=Ewi*Cs8{G_pO8p%l}II0jG$s` zCkcYFRE}_Ku{6^J?&qDVqEzPvX$cDw8icyMrvAK`z&eNiR08Fe1 zzJ8N#na0MgRtzo<29!0-Wi0}{(k#L6ku?HEjr*jjLM}Ou%9lkhQ#`r4(3~*U`ar7H z^oFXF8}amee2c$>1q=i;>p~v-Q{>v(b6upa;L@MY|MThQqlp*rnEPxkKv6pQ?Q*eK zo3jaGI1G0&*VgtCz+VH%NsViG!5`Am7PZA&J^m;Q;W6gF4dD3zrQaLzr*k8$=_YxP zA#OZrKia^8Lv+qLMR?Ji$!wE)mU=L~ldaI5i43=G@RrJ4X-}QbCrVxwM~Md{My~uH z6D98@I#D|7D8D@6za^J5sS+@wqx>g~-7&{CYi@)-Wv-@$f^X@^iDgu`3N}tJf>GUS zK9bgMx1P!KjB}E78D&L&ZlkWukC9Bhk$<7|$agJTu4el5nc{z?_`k_#zcq};tGr9c zrGyLM@ZJS(up%KwjuJ>04Qx&0YfXwm{3{48k#8_z^;z7~iI1lVVPB4)@MU@!`bIjw zju$#+?y_uFp^3nUAoiWo0$3ekWCVc|-}#b#HBSoJRL3E94Zn6=T>%H1{ik2bFOnt^ zZ~R({TJo&r=lGiZHmy*Zl@?#VvAfA!dKMJPoFP3^24>6_fjHHtMssu)Ej>w1hDd>h zcLN0d@%n=N7u6V0aIr3|+{_C%a}&Ncbj`thzshohi(8diSGwU$xjO2rZE&wURSmDr z_U(XzZI(g`SzYd{WLUS$SGF?cktB2Vr_VmQc+!%*+BXw@^t*389*fd z`5>XD6?kQcg%wxV*3v-IcN;ni!)VWmw@*^HwQ#U5vTP2JdUdUMRLeGzfLF)FgIWj+ z$;#RmEnQ=unJz522m;6RUo^TvpE(Rt)_G*jHr^{=(tXwj4p!EcMcDJdIP?+mgP{w8 zSd&Zk)(vq4AYBQy5wBB;pgN0TJp9(L2Y|X$^1yuY7NLA9Gp$TR<%Z}=8?uytuXe8} z;B!5Flr}gQlycXDJ9jtg(W}E*n7%si2lED-qhyD9b6ve5^uUtFr=P_{Lr;`mnv32P z1LnYAx)5dmSfN%FNE^}NH=wCqRLf!xScOlw*U)O9{TTcSYJ-d8;C_=&| zxLMO7$5uezD$s&&(I|>6maeDWWbN8oOnhw3ci&fp%>^06d4)P+eE)5oB6TPrRoI4579c$ljqFF!F4!+_N*n@agyml(?;A=TX~#8wE5tT=J&u zP?{*&kMII8_NeVX6#q$Y>O&Lu9krcLoIA$Ijo+^5l6^ua+!zK8Ba6Cbi!?<0doaPRPXqs4|bN1PJt z3?=~hiW<Xm#H4%Py3z8M&C#*d~M*;F1pFV>8n_Ip1Juz<4-ua` zLOz-b@Rz?W7}JB9Rp)Q(U|u!%UeWig;hT*u`vQ6wg8t|K=JST`^Y_viOw;(0rth44 zbMG*Q>mhHYOO(Sq%lW-JS>JikN=Jp}!_Yz{H#_Xf?-|*w-sEDgw*4~zgnC;{2d*Vu zQb_T%i^Hcc|13W6QjTxMYpsamc5sJ4e%Xi2iW$uvgEuILN3`#>T@$SbXALq}VK}eU zH=5ngC?3UH5JI~pN^x!Oc!Zc&1$*sx*cH;5x=Z!@P=D)Lg7{+fjuWLt2Y8gtgjf}+}b~>ZH@20ZAWNco4c^~+6CDIocfHa zooHgzhF?H^vyYQQuBq;nh6IvmcA!v6K5s!^ zHDBA&Hf5T}=(aUeO5&ciyho`cOlPd;%czXOnZVj1{|%p}-XO_qgDe+G&?==2m8b*i zgR1boT2EzcB(f%qtPP)aVdnbqy*Yf3hwq8-nF^n6;j=x=mk!@M!smkUd2aYz80NcB z@21`>w-*>N20s$tr)Dkb-?_5W?sVNZRLS{43?IH+L|GPZ`n9sGoSHu^@L!%0=m4M< zF3d@&9M5%c5=GXnls_E>TevQ>5_ZRl&u5QVjgb0U)5i$iT*ctl zMw<$6Qjv9>J)r-^&cumZPYnUQ76?nVQEPW?4UV^K$ z6=u#>a0q3WRuXh`sw+obXw3YCtoe$XfV@FcZO>^1*nmOmekoaa;mOtMAC23DOEm8TFwX@Q;kr9+i&zWr7(P6 z^t*qgI)CZ90mswx%i}-y`7Km;$P_TG&Qdc zy_r(>0&lk4IS#mHOG+RRTl=5!`)YfLMG>1&pM~lP zt+7xYp|ym(HE%-LrgsY1Mz3n7Wy+g>s}>{1I3iJkKdq%@@xWIB@!%)=Iv)H=pQeJd zmNf4hEQtrd`7y6v|0PsS1ibxP7lL#DB_Z7F?T85_c1I?`IoLQ8=!8oem}z|+KPg1 ztAc5n$>$O@Acfq>hUbq+jJveVkJKi52g_myc4Cl|C2J8kjvnm@cL#~!Y$F$6nanVM zP1Nk7MnZp8BN}qHQM0cdf||(+)EpfARfFit3;8#ZkC*trXxJwGYr{6_XG_u^QZj{J z&2ibi+c&UI|q?vTRs&99KiyU5*yo!O(-*qqB<2Me&Cw&Hj|thI1_ z0ab(F;_A|%>RC^EHO^0OBvK#0`g;frwoZjy2*iu-Zry(xbn>2n~rCHF;|d;WUw#`fA8 z5cMbyy-U`dRrcFk^uZ!N2=__9IkxwOu_TT?-v`qM$L8iMt*|}@Bx8%QC1R-bNFTEFCnu3UtRGqG55MPL>>Z^)QgnVDQ@QRtoF}A13y=l!-89&ew%USA8@IG9 zkQIo%54NNfJ=kIlRQN&jnC>&k(5RFxEzQbo;RG%#2V3gh2Mv0-!}mLXUaa4r4X%Q< zSy$NKW-rzIb+8YOD*wcuOPj}Zc_Qv**##uIbMr$~H>xW0m#L5DQl0yVQe9-X(}_TACv?ZK4tSu-V6`xPB%o$zSugq=8;Jhjl?*x+T)kix0*0fL&` z3@kTBZG`*V1owAN`O1r+AXPJh@~YUr%XX7tT=$)+U}{yOa|rvZ4bP5CX3Fb=il+O! z(9J=c1fS25?LpM92zc2};&u|ZcRv^NttJ#+t2iC8(*5?jNLZ^ifLc}Ks&#Yc70#c7 z(mCLR8+I9qVDXNRo>m{fR7Ha|5_*Rp^DQk4OVDi^#(xpE+|;Y3Ct>mibIS?iA1s4G zMpH7Ob832mzt%Pmwpp9I%gszBoR6j=uEaWs%*tnDy?aUkaS~&vz@E9Q;<}68QQRksUhD$wNBv zp*iu@;7c*T5#__qH_?T8H5N29y@@~2&R3Kc4~|7ksq2%LAIUvUxHBFc759&&_Tntv zPc_}wb!;qXi|0U{)-#~wZqoiwez^_$o}_!36tm5Co`>_@3R5x zeFyW*Z%S&MSy2`nY_%Dk?OUR3v&xwg{X0>zK8{mEcP6>uz>nu$!p zoX{zFPA}Px&)6iQ&7tzVepb`Qt}i4yyP}aqF!7c6r2ipEbw3;2xQ8c(IbNUqL-f8E zxs3;+s`$O8)rDr$ovkJBOfPu^Qz5VaZ%9jScnaMuR7*dIzh3lV>TA2EpcDlo(8@fG z*HJv-l7V|cHe&+Pyw}{$WB=g+`}&id-oEnzwTSlUmtG*7Au#u`tRhP z)cUBqvH=U8GHuw#FIK&Ut()4)OKd5N} zRM@=98{(7x!J7BD%*w}Pe|-g{Zig)Wm_K6^{zKvX8}!!wlyn@*4ow4&LGNzft{K}^ z5%#L946&(=N-VfMO#5K0_crUYOT3*gVm&JsV#F9@qP8~uu`6X2#qo_C*42hHT5a)| z{;A;ls6zdZb{&-m-5S~FZp;^pNS7{$Wp&@cI#D;wBITC;0-~IUhwBg;woYYeEO(RQ z*}4yNlJBU9ptU|WskNc&v}7=^(K%|pKXlZ33K~u^zqLM>Afwc#pU7TuDdJT*_?)m$ zrnNnKJ%ZPGW+F~J?RHSG=GA!9-WAtD`tc9h|2BQc(d6gw?*2>tH*5;C=Kd%w%j)q*ECU|`r z#J+fhZRp>&gze8PdUMyC+#eFThwqRWr#?~wn>`NSc1EWxN6E$_TV<3xQCxgJ*Gf70 zx+|@2Tpk|(6Rb%_R35%e*vS;P)mjb}o4H^2$C~JXt&LVC^OmMk>nni-V18_gIgpod z_8v5?1lhm8o)tmgJNbc0gx+Nll2Ppv8KO2wRM(t6jg>cOEr${fe!g^!$W8Wy%P?I7 zxxBtPAj0#2|CYDr970W7y|p4d$<6^hB#i4nu=IpnJMnJ3n%+uf z+V-#fT&y>XqUiQSP=sKTpkPx3CIOg7=1f$bgFXKV!AuQH_b~PYj4Tv>u_pZ1=X*7v8w0oIvfi%3e zs~xG%y)?xQk47aw5-L6%p+=3+;YKDiVq_X^WX2qFTz)umT)qxLWL)0%)_ju?ja<9h z#$`LZM2*Wyxdp@zkIUKny>*o|T!6yoSR#mEMZ3n0&H52zvm+dvp{+?j0&u5}1a8#3 z;sH$zM}$KFTQ?Fx9?k^-iw9ss zX$bE?x4JpHy;z8r-I{>!FOFIhmQp`*G(_|`}|kE zHChM+&hnqEm|P6wW~^se_sz_}4{VhSFDvu6Z2cgBJ>LiM3- z!}Q)CC$REqtSJY|vPuKhC-P7o-4poE#=v@0fa@uOYk~ji-xqvWRnUAtMoRE~z2&|@ zFdi6#J@jFtTTNRNnTz&&8J#~-I|}MW4Ntfw&2g8^(H+4$*Y5rUVexN!{twv-hQ+TT z7L;v9ntv?8z>bE2v?MwzmGc>{I@Zhk&TNC>4nffAkfhx79zxrcclo}Z`hU)k6@6ynnG)EtRR4~DoT z^n+~P7vf{Q>FE`pX+o3MTf3D)<4xz*)_d!I&LG4w{wkZ^`FgAWB)a$Yxi=Vi>>V(< zGz1(10UvJl?-l~Cy3MBa$bKJUO3P7aSZ^_6oG^@c-XZZ$crlX{I{6=?#f}gywyE*> zfxD3FUw4_cncPB``46Lg?EFz^*yN#NMyB4DKkZP92yH5u3{^0pd@}frP$VAMgrAX_ z_}N(ID+i_rCnepomkdUcR}BvSFXH}2Z_N{gHGu!lQ-%=`Sdx}j<#rIEc@=NM`rwTH zEB^w!52@`LF}U8*)-{HjHwu&c_i5exR|S=wuU6e_^QP(H74=Q5_}*Wg zqN6M@uR-vtWBw!X1l2k5*Xxr$>uPJ1+L&>1|Na!dmP74THW*IkS+LcYE|w-1moefKXI78#6p7S#!r0=30~Mohot#FvVIt`8rrJil0fa- z+Q$7EQXA{q6`!(N7~9<0kPtKNi_^y{n&qwQWnD;QW+j4oDYzk1oZ=a!bz<+uWi{p= z;ze*z1>NaH=O$zeTk@7Fv7p~JN}Edjd8yw0W4p?G_m_&evsG$+OWb&T(z&%&D?aMP zC*#-(^@2rZG_|HF>h)bsPTCS>S*lz47wkjCd%>q>%IPvIy5stT9u2NTCNW6~Ex~YT zUY|~J*H74{L$f~kU1>vMF2K;$dvOG1>^or*qux5%iEEx#4YsD#I&a6q z6sxU3tTq)#8zx2rfYn=C7l0exX@6Fm`47s|%S_~>O`BNWtG!H;7E)m~*M7)q^OxoFw(7lR#cq+nmy52{}E0WX@Bm2hz#}Jtm3-c*u<>SKAWKe zAr85vI8ys-B_C=(F=8aHxP(HpyS}g8@8%`Ld$vu&3-((=4LVc5^5jJ4UNjxYG2cHI zu5F2tn6cy(VMUi0hlth3KLaD5dlr-jC}I&#!^-#YYIuv$}a=-%LRn~MKz zQ)5LDsL#uTT42tHC+r+-ZR5K!xd>29=!QUU-9UE$0hJ3UgeuK2mcsak*v(|KF>g)< z6+v6MdDUE06+3WtG#tu_XDROqU$jtAwn-dfqr0oQ6qvC3OFPrH*y ztu`l;e7McYtYQB7UfZ1DgT>fp0Vv#&xa~=Sz01>St_8`wNe%g$D^+uit9cevoSJK> z8G53LM9rzr{ZvkLbX=r15AXay6fKP-c85hAj=nVD_fYGh;Xi7jJRQ>K_?%Nk1h+3= zne5E(K~Bi&=8*H(YhS4SM?H-c`}U{pKUzn^4^H_-U^@baMLj6M@XJ(I;E&$$GSAbY zrg{djtCn$#(J(q&3-l_zb#gmV486(`&|48@`c?{+iy(OTEr;a0+HZX4KiY5nE3I++ z4P9{p*j5eiHBQL=oH*!JexEU!uKWr64EQ_t7w`w+{^DM@zYya#ytP;n9l23D6x>2a zf4)I74!~@eVWONv?<;;t74Lsv5f;A{N*9*=Yl8VL#Yx5dN4T#T`Y-J(o*&*<>@3<> zoLJb874{d$7s`KM`wO-f_(*uq&-z0kjHX$B!>TFjBMRJ5QV__1Fl;LNM($BfBm=%^ zKe6;b+)wNm!q|TQ4~8(_T5VK|_Y+U@K1}ES=k^ottoZY$YUT=ZUT^K)6wF*HXRefa z>$U(Rn=5GO*em`;7%G#zK-W57e zhUJcU>rMl7{v&QL5y_PsV4JaHKf>sQ_7Qi*{YMjieZwk{)V53lNirzzEC*O@BQ}*3 zz7Kw*X5<qWG{sE4M z**tQZSED0b_?)@98~)N5o`fV(*?-WB&|4;}|AsgmOjnV$yVDoX`lla|d{=+;M*4X8!5Ny|P#C^`oP33RTc z!E5&tOQ}Z28@rvI6uJYlz&Pu5yRP;W%0|@z?SeW!Jx>Y{bMVW;C+G2#e%2fR`r=Ey z@t?2y0Qx$zrs_alCiqbzY=v+ffvH;wWX3{>|fRC!2{55~Y{$fIP07 zYxQQ{a76M1g{Ns~TJ26R1WCuCy3iqa@@QGL^NTE307kJQSY5@I34a17a~jCV{6^?( z3Q0{5cFnL8LhUeg&H!VaJ()vm#$|y9o6bf*m7rNDQ#?n_C{*Z*aG7ROS;8ud^9!4s zYX!sByVAB$8v0I@ntc@Ud!aN`O>HA(U!b~Ba9-Mw?Zr}=%Fy@H#i@DMrEJ)=A1TZI zm|0}|P6QKp)45xA(7Pp{H~%{O6aE|S$nn9HzrlQ_yo0rJcD&f=p!CfW46kuKnecIH zFAar$9Nv!W`lOs9&{FmWl5wz+L*7AK>oyJJo8ZS;2-A_nOvBkK+=*3DTFKCWSbdoE z{qu#6FK5Sav@zT+4kuD-?6CixUUOdgZdbi#MAxT-8Iegd%DPTV;RaE@F*5Nx%nc3R z31(4AR7}q_P6`j#M%%ABGkLS}V3)l+-t^>(>$C&zf5sd%oXQ<-DgOnIlty0Bb}@aK zctpbg-0=Q#zx*@c-5)K9V|(Pdvl`6{+x*Mtm|TR#{m!!7*+y~3WIwrzP2;r4&?Alx zCp-T*?4aQ<00?P#B{K&N#Tyt#wsijy!}LP%+OBcjg?g{xmG`%SV65P8#UuV3oPa&NV;Uv}bSDxss45k-4?@Dhf*Z?`69d zabSfW1)6`7HeYb`{CN_WaQU9I=OGSRh|8Y{piy@2*#<>wmmdv~n*g(m8$k%v5vWn1 zfdI$cNJ{83m`f=WQ?VXrO6qa30dfL*J|9;`zUVJ?*bJyL0JIam3b# zZEt_t^o8En`f%l3&8;Wg`mkCr`Ssy@S01!J{3yRZeCeyB*9V~(-dv1+>=ND?zU_s6 zIR9M!gQ6n^BGT&LD?0KV8*}K$hiP%1j>Oko46P{8l0V}_pMyNOQWKYolt53|G5!hk z=S_kJ{wMJHFLxr=b0 zW;EE;2)Hmw?RAhvda6gcIc z9pT2ym0yKH#W~!7+B+jtz9sGt#DWS=p}Rhr@^yr$@;Y}S9)7T(Plt5+L8nibG<^_G z!Z)sB_xX0o%4jTe2KTph)p{tkPCN(j^^S4|#=;nzo$&XEMlQn8bb^f^OG6i4#Z$Gl zsUWRGSAM~zF(Dc%(DY{k}?Fafc zE;i|ND}D^uG>*P)O!Q{uW_8k{vgNNdJ-ob+cE^I|2vJS@e73VW` z7^^ZAr-uHaDd%O@2rJaoYNlVaxAuP5)MlEBTyZMd4{B~z*w~Wo2RFA$&8^CO`#{ql zR?QgI-1XL6gX^d!=e)I&BPN4Wike*)^G`s?Yt5FVKHuzLG`-|yq^8L2(=0JGJMOKO zt}@V)CI@F&lMdDF>O(iXTu`p|w}j1pc-5JSPTXANq5Odr`DTOvc~HMpGASWYzvQi5 zT-5HDN}AqG`o-;@Q`GLC$C{q-GC!c9@us)Iiw1A)Kf6{-l-l5BByBU~gI&X!Svm@a z&^E-b=yx2h@is48gD4n+G-=hWWapq7pUg}g*L3X4wFYt~Zyz-=fBh{&72WQv4(wHn z)=H}+5u7B*D}md>L7BM!A^#nJ3K(-{Q5SwB!AxD;-{0!LdpMlc_~zU5pm)V`s!ev@ z;o4L_u4%%`6GAi)Jwb!T+Vi5}F70`I#h=HUUI021m!C!7CjuE%ly*sq;3lR{H0p+@ zPF=3cn*R~k{1<8d%hvn~njed-`nM2ka^E1Ev^h)-q(08+j{oA}x=?@@{fK8416Vq8 z8}u_V+>uEWR#X-6IqU}#NSlK3Cd9sr$lvtB@|Jj0mkz~0Oa0S>udBSX;F82%5JMYQFj~^3`zdtl;&gI8H&YYv2nsl4; zz^09V7q&4!{swO(R$)7bmai4yQo+ZGYkDH)zdPNpiTf3R&bva0k)L!w)848}vYn0A zzQ>$1JlDpjrgz?*i5z!kru?pW=JY%f^B)$Gjs=rtB<<>N4JukQ3uxydm$pIFBgG9c~tl`VM%zfXg!eq$(cxabUvVc8eHzu*Wk0$jc`*SKT{)Y<^D=PW084uWc7oMP}HtfI!SNa^@A;Nbd}7sv82|v9;pkK zc{q3Iz#w=IKA)m9sK`7Jn9-Xqufz$9j7P91--+G$tKQ|3(^JI#{F{F%S@Pp)3im^b zvMa1)^sTq?4=zqo9&!tOAb1_fZQS))4-dx5DMhjr841gujjpkp^9;TG2w|KFRGdX` zDv~rOy_vqc@gnbhxsAee2Uldtmf8xn!Z!{5?RwJjn#GSUESvMl&=sTX9cgLwoJwp9 zUsdQ^5&h1nqOl!sV6?nVujk8_##|cMEo#vth{Wn{x6&@Db1!m2(D4e*OVvKcci62& zSJu#!tpvU$V@E#70*g2GQHe4Ov}dbBsoH1Ec?tKtsh&HPV|lIJ*Tn{#mYG8+e0oK{ zqt$ElBvoZhS3VDqpUEu{0hu@fsA&u*k%=RZmr!c_O!|kbE$V`8l-E@_*kAl z5PTU_bR8QxWk8gp9HA;jWJw*;SHd;<#Oip~+Uj+j3)pxyZ)0I*tM5rZ#=i`=OR1r_ z@}it}E~ul7o%-PS{D4#>3AHiud0k0zFw;(>7(;CIJ9fys5z&LV%OFM9&6=mL^yW)G z$~1WRlH>W^Ak(rji%%JrXL;kdUUb|9{0)r1>!RcM-Rk{t0Ay#^!!PU6X#cd@4JV{e zivDpW8{Bi?P2mJ3O~HzSC$fdJh7F-H&Vqu8?cm&WFDRN2dFO?!fvUZN>`b z3S9Lmohjrx6gE4GLxvhXJ;Bd1W_9$UMg08Lh5USFAs~2}z}FTK z*agD1%K%bWl}68QBZ@hzfr_5pK|o$`mLVDK*w4st7b%n7F03Qu}O2OSfIH!(3r4gbjG|&%`8)a z^j!v=X>3IIUh-LrIsUh=MUXGQfZ>}r`w?$8((J>Q20AQ0X~Mw4*L)4*Pa?C{nu7Ew zVNQ=31WaI?`Nim3G@>D!M(U!=m@!NvUdGs(;SFB@FTh6HhlYW;Ppbb3)YM-e(j<*1m|EFM#D>D>~E|+s$7^FYue(i6(f#I@l|8I zz8x&16!%H~=Q5m84FPm%Ap_CDg>ZFXBSe6bp`aHU<}sFLe8^Ki%`|iQCx|1R%XQTzLhxgJO6%2jWEy%Tgo%#x*LmI7vSF(T^&W4nYm>nUCCkWWnf@mc$n zPh-g!`6dHF`uvVEnuje|1VNRCQ#1Du=5o?yX41Uijek)dw!Zf=MG;n`&KrZ-fLpM6 zn`h0QUgmvIXhF5d{QKU>n6Q8I@8N@J>oAZ23t8+=S#y|JL7KS$FkrL(*!^7mgH&5+k?fZiC4yW~$zVXZFn+epxHsQy^YACpfty|YNY zgIS2#)JMOd^Cz@;2&2CR+&a!#H2g`WJ^^c@=Yveql?+csbuFR!!hxa-Tvyh*vI})pxer+q z;W>e$MsU6m-I4mIhO4M^U$Vabr#H58_5w^EM!sjr$g^5-qO%nm2|+JK3*o< zOQBgc!w_)ig4IYSsuF3^Fc)e8#95C1MeFt1j}w42MxcmgEfMw-Qj9HXwjXn z->Ooj_}O3}Z1k91=7%WEZf)8l;h2C(q%ziJ??uQc+p9hniq^hoy#9=>7+`uc2Me0w z9d`e_sJ8x?K1Eyud@;u&0(i7#fff%f6nt~(xf-YeS^&onVF3A}7cZ2PtR5=^x4$pz zqq%L6;tk@>c$wKwesg3m}-wgF?Dx2|ujDv^Gr$ z=TKrS3_Ng&0Oo1>8~TmoO`qUe4q~JR+)e0QPH;&uZt?fT&0Iud*f6E1br~GReyDTc zCYurr)vt6fp*=f}j;L;cAIjwigutmCf#2k9-3Ri1<4^N^<~tRs#B9M}#gAOd11 z!A|~3d~ZZV<`box?*v6ld}P>moUPmsG6(D-z(*hUInTmWe?SXwqnM0#|aRWb}nw>K)<>tC#^BMB=cAYc)p7JPlRMiYP0W`1BTzaX6tV*bB{K zJH%mQ2sloOkEBUc0ShHnD+tU80<7p%06`G)31b0xQSmUn58~?FtEJZy>3}abB5lRY zKW5K+HU!2Zq}yvL6=I}x$ZVdo^3wDrt^Erd8tr3@Mm}nuuvr>`4*!Au zUgtIrwoG&tnpB8csq2|5S_Iu`g7(Zh`cXwcB)3%ywyOmQ)J%CHJkJ35po4)rJ@mcs zp!SLs{o|naNOYvad5B-&pS(%iPL4}3u(Gt{U5&%aRPA1OQA;8-b;N}*v~X%;(H$-~ zHPY6icUZYRvLp_NEb3;6ER`eiq`U}EP%{vom{VkjCDHQ)IUFqGuaf{q_l!5!gz(#5 zTY2%(#C>Y{v)Vl}Iiu%A$mSxyZjnsQ=y{BSi#+CRixi3=$}jLiTGuBMCl10}Ns0lZ z5r`+`RARk+lsg$-8{~$vxL(7 zErG1i<}B5}?#7(z_gM9Nt$K|~VJtLc_<2}&Iaw*`)b$jBkQEe|&G>I9!4JM1D6=;i z#_v=na)fFX+Y)Un16eK}=gqb)NSdbZB5iiPq8?I)8rR0J)+q+jVMX=W!T4BXCDo|0 znntOyHVtH4{ma)jg@gfi2f_d(Yl;UnGKvgDHJnQ4^Ln1Vl)Zz32~S78-R zYhZwzaqO{P`U_d)3Rn8~X^fG@Ic&omsFxmpH)v_TIUE~E~iDgI+#ly~^OVx0G%zH3W zt6$8%q_NQ`jg4kuB<;QF2yzz9znes?ir+POMek0aRhXkSBjzaW$`f?PFKi1$;c`_61l^$ z$RAWrJjf{k45_boiU>S&R`R5d`_VY;F5}Y^FL+V_KLy7}tf;od#RW{b-O)QhB560@ zJf>HaTzWUx7(-|julMazN|_CIMb8wrO>J1*oXC_;hX!Kl+*!FEuUXtdR9GL#a!egn z4hqg=2B$>a11R_0?gn&9IWou*`S7{oncTu@8r*dspaZY(5 z-|a&W7RftGe>}2${6tQ%CCYJrGweH+yl7Ou+ehaEBJu^5$9U-)?Vs=>2wyc}U+;b{ z33~_4qs5hp%rSqzFES>Wcp0Hb6{^3?E$#=_?*bl#b=T8NAcJWXNwvtdia=ybXSw3) zD*JPuu>^myF41H8|GLKE+Yr--FFK3Ri8ntXk_k3+Z1=|BdC_UkyZ#JlPx|*Pw-?oW zvsvsrc6;ORzNjWlWX$nzP2z{W*=)`_b|Ej8qkD7U6|r$ zK`IlMw^UXToj#DZ1SJTL9=f!fG&Rq5Tr%pkg0zKfmypEaqOqlnv+oNNL8>;*$>$>O z>;1iydB)+ows(2$@^N0D90OzL@ut_W`-Q#hmX#$s4bSh@L4P)7&?Hm_P#R zKBuiLSQdd?rVP5*afZNx1BQTaaegJY_|J>TGfUoepR?~9?R&>HVQ9K9QNqbzG^Qpb z^G&eoqZQT!DOK4gpsd!rxc{V&$}fu{CD*HEwkpvYmU~uIJP5vIa}BiG)05xahxk(H z^{ezc%Fmf){Ct>hp6`8Sfd6gYb?@=mNo(_cGoa)Fl81)1C1Isl5P72%|4>dqmc!KX1bEvcqesK|p0GWSU5ugB8$H_LE9bghjj7q)0X`KqXEWEkuH z=7afS!tNFI&AaZ^;qm_8+Pz%0WWt(!9On~ zM2l=4i)?ezBHPe=fF<^E3HCAI=-2kV_rO@M@1Hm<_ils&{|5xm$dsdWEzm}BDHScv z{7hpTS~0Vc?@QkA_n|Ckg#5?5@q^I#_rKCgx>SJ~M&@F)1X*hbTWZxRx600BLpN%X z-P~r2tmI49XAfp!r2Ayw zHnL5B;(}Y$Wh=+VozR(O0+b;DZ-?b2^3uN%BcA)HEws&G(m{*j!ON>_fm>ZeymM>o z%*OY>v>v)08J1PyMX;=_fWaf7^(Sy%|63sS3N0KS-{N*20(QeQRebRw;AX>hSkA^i zH#Qi~y0GcWj~o+JpVz?;=Vs~T9k{`dEZtf}-)#478*g0+Z*nKL-%vUBjIYUPW4>{| z#IPNI0xu#aX*qCKjZ8ksgF)XTI6px!Wag>Canm7a+HW4T8Nd0g)6Yqyf-@kBXrFJ! zjmMM7A+%Q?HUm<;-GES#XB@VDZ6n$T0Xanb$TOmS^upRl{2|)cK0VgA5Y#-~aBQbfhD@H7?nN|E|Vq*glf`AQJxl*%waJp}~sg zBpaBhjRqsJDABtjF@`;|4sH@%I8k>VRu*1U($$rOZEX+%RzULeG30I=)AgC*Tw}XW z(hL4-7{>#c(_w~lZj!Q^hmJLVTc0-Dr?1NabvTF>+0m(>we4mNC#Z%aUMh_pIIAvq7BtND%C$q~ zCq_2oFv#vQ3YYMl5aPP4Ct+x9^$4Y`o_{IQ4`RodMq#g6Gb)uS&2%%?um=p(b16T9 z2$}=2>_cq~A;OSN=dTat+4QwExyj*0&#F0mb7a>CZB{bRv|1*zJ2{HvBT7OP@Of0o z2)N?v^ujbO!xkv}-#dhnh54lNvmZu-**;rG8DMMCd6eeccHtXxp(6WIgbYRYrM-J_ zlzN{@q|My#N1s=Pr9a+Cg9lp@h8Cfd^7xw0^p=)6_$)6w-Vkjdinl2au)05WD3p;2 zV4aliCBbO~9%dwayQJOOichN5gGqmL_6rDxyc=hxQ+{V+x{pcoE6nJW|9tkeQ{-2B zPRYxfRPE5z3E+RD*SOT8;m5=YKr$G0@NcZ6a( zdmZ00(Y+(fh_;sV-ss*rHN>`D?We(e85u0Etj+WU+{<2mVmP2b`?JyXNBXEm_;=Bv z@b5P@d@co4_NycEAOEuv`4JHrzJ7g1A^)rpVatT2qfzv;r@!s4p?3q=_Hi3PMkd>h z>Y)ZO5nK!tJ*_&GY2p0g0_Nq**`;-E3~3RDeL5{I!p|c4r<;d}JECnG8d#GK4wJo( zRxv3F#-&3lYK3!J9RO_Pe*?FH{B~Pp%;NH}0;6X(d0xt{XtbU&bDo$xFL%Y+4w^;v z+j=zme5T5OAm-nlUH>^g4obg&`@z$odCdg}PlIPP4e+0M&W3iyW;8$3 z40>PA-jyCPpM}TyA%J*chmhDZbq@DP{+HnL%dH2&MS@fjmY0CXSO0>#NB#lo5eKx) zml5v{pU?+gW3yjM&LjSSS5EK>O(xbOn*9dy_d>3l+W4;UX7(0059iNiJ~66AMgET8 zNca!__MBO>@+jIEtZL>034i~aFZla6?El!w8#9$>pZrk&HsejBsar4`dXfDWN1B+) zqjQ_eEX51{^O4-q#D?n_)BBLhma{-Lgm2Y}&X#7D#u{3!F(hbP9iDZH0$lOlIxhQb zAJj2YMZB+u6^VdpEQoes1#1^)a&Ty86=vKK#f%kHeq6U$kY{o&FKF3w>vE={vmfH2abh4&Sk4@0KWT8Kcvi z-t+qIR=_CR&3q_*9(`n^U#w3} zeCaU{0w=B&y?hKJh6(5*Mo(S2nNt$!J?q%Iocr1nofn7T>8l+Oc=$u3aI*_3xHSxd z1DP4ckP70zu4BUaeK!n{guY;CdXTQ}cKW$DdIetP0_C%tgFWwyt8RdmH;D%@S#4 zo%jtB0E~LAzr%uykD(1QZ#Ly~Px%0O9c^%+amx0i07T9%X+c&j=dK@gOhaXILQa)m zan2|}prkeKg;3f-4Jd+10xa!%Ozq>3WNbFbT_^-Ky&jj4UYiFcR{{?x&cWP)8*7~V zU6BT8wVbjZGq^0`SItD#Pe-q6H-4j6ghoIgO*2DvSU2Vb<*g*$yM zntE@5kKj429)_j{C6Z!(DdY`C)K^zr-|Yid-(&xNaD7x~_0=DyKIwtIpZae4bW#7# zboHffI=H^Ehv^@jq4iID0@YXimp@m}$GtW(IlrHRS^hsmKWJE=)K;k?c9;t)7B`P1 zxpZ1Aj@BpeixmniiJQs~3$}%cNymR<@i&anZ90_d6lIt$09rQS6U+x?aDVP?OpXCU z^N5VDKw0$<+zU+5@L9y=Jh0TP8omiSr4e;|?az7bX0j;dRq6XiR}jfZD9)H7E1@j0 z(pP2f&M|FgX|$SNvgJo>mHcVTh1RNaz0E)BKI!LG9$KsK<+WC`Mq^ZrZo!7ci$!{# zz_8Y;se3=Es9~*DQ*bpUANJCDtyTIU7SOa-=b?#~XCFemgMVGaI$FTO2?KBgyZC>M z|K0p^%h6Og#6F0T^l#9v+s!X|+$VfLtN44~XB5BR)XXF)ly3a+_irrl&$)Tkqxj(> z1YxuF|E|7Bjc4=TR7o7>{BPD5d4k>le@$N`Xl?deq-80sk>`FttTh5Do&aeK_b0h` zPZ$MX(kn=JWY)~Svk#L8?q_bU;m>V9_{t5#-~a9q-|ry3`1_yazu)Wjlm9v@eQ7>@ zyV6Zs>u4L=t4zT;D5KF4nG<5%D>3E>#L^_fr`g+Cr(a)woDfTc3UKA!N2Q6QgCeqwLAU{ijr0P!@ddfLX|jGJ%j0fF&+l zydpE4&;WD+)jw3#-F=|Tj^;(XI_py1hU_s2o`!~s?F#V zwAv+=>#4SAj~ERjD@6%t8&OqZRCV~Q37JvI1?C=$P8p*+(3 z7vj;-^#*Xn;39|8 zTBfcKP?{i&3crDyyjrLbN1cU^;ZE;+9ekD-1VB6JMxNbg3@b1T;+G3K`E@G02uLZM zwW`_XJVUaGf+^2dUD)h~f<34>?HakM>j6+?K!07%>ekqs)=St_3XW2VoY$>aJng1v zx>RAEudvQn%;WmGDQ=ia8L#B?BlN7o!AbTC9fC>)Az-DRhwlbEN#nwIC`f2iOul1* zgnf3bzA`;agRPZX!8;{R;fot;ucB>m>KgGppPnCxx4qSiC3bfM@rrl3-sneqW9~Z& zg?ij{{y%|d_LL;6mIHuO?i8#Ih{d2HY-IuOoJ0$G{*(3KZ?7xR`%UX_(kvgjUSBqx zo;&8$QR_+m{>I)tHNn*C!Ksb%v^Y3*vU@bUN1QTo+m?_lqkmvwR3cc}Z0rEw2<6?41!*;W7Q-J!{G4#&XJ`Zw3}0Et&TRJj<-*3}o%6Y}&&HmJ)ah0F z$V@AtF4|73ewpH}V07$@N0oyXvzeS*O?XU3vF#jS~=Rs7$HOy-lOFqY3p~$?`cKc?@Kj%Gi=lFk;{~i3x z>qdIeYnPQMX14t7ra>}Tn}a-MGxP&$$&2;_P(}0N!Ot7C2G^#N9rfK<>0R|n9^W0AFOMmsR zTJt*o$UhkL5~YeKkkE~N3H6YGnVk$KO(F+vHaPCj>C&kY`|k+@T&AS;T`a;PHUO3U zSAlmCd7-Q3AH5i~bO|s!IT<8S&wm5|6ZxOae>4Aa{&o6-*3gks2vf`8?U#e{rB_&DVgLnhZ93SMbgv! zV@V_q$;MF704f!qJ6DyC^=UnB`c;k+>~kC#tLJF4i#nnn6i+0T7U{uyD*VjNYT zEAL8G{X6|B)&4nEiNPtx9Cd$$@)GctpSV*Tc|l5R=ftgJZfk?Yabm<0D9AKm%*)$m)1=8 z?-o5umEb)3~epwl)dBrCF6)eP`935pnXL+!whU6~>i)wlOBFS}nl3cGR$qgibB3Lw$*H4h# zs3&J4(;+Sj&V5}A zZQegz26T_b=)*XN`g+{u50ShK0F^vi&xNFrG36Ww5 z5w~crbu3E8S(~$oQm<`phLTh)?OA6x*ityHky+`!@WxMbOD&e#io25b5@=zy4f9U6 zc&+K=bqnq^Ex2p*u31`GbHlvN7B4P|ylvj<{nqH-7Y5|0D56_++RRXE1FXYpHXPX_piUGE#c$jnHK;rjX>ePkCSHt z0G>Hc0KntqnLsmv1_crX8siv#z!++nN05nTjm)&R+|ra9x)L{JW+wWnO!;>v>`US+l*0N*7l2+#j+-9E zg>yO)G$s5mCW58l6s8ctQhK_Kek=u}meGx+^lKTtSW35+(TSz>Y8ic4N~e}J@}y78 znuDeM@{;nGL2Qx$<%~9*2c=U@_jdmP#gDqs;dsNC?rA7n)Tt3$S{k_fss%%aOKWng z)Yk(2#kr&NGoGpJ!K-V?m?I*~GZ1^oE<8SET_5p5NuFyA8+U3?c)`69BYv z$CAi&8;WCc)7=K~m6z_e2A&$##x4lq5|jZL{}e8>LZw<}j}cFLo)+IqGxbgh?5Y)_ z44cWCp@e{Q3$5v@YsC3m5b4gAs)KMXJ=#rc^sH;Nc&?PzFsk25~wH}!*4ywQevB>EX zHVdU$znC{go9sE$BkB}WWsc0WnNkV$kJr{RSh17_-^i!d6WMQFNZCAF7J>Ix&it7R zjW|&R?5S2JE2eRRoxI7^n4*ZHX#{PvI*SDkohe|g<7*Qo#JG&kih*QNE?-etL-vVd zz?Y^@82QIRI!CIX01+1w1P59c0r>*hG4;{{K1!cMo>PZajzCha#pYw2jefzQJqj<5 zh>L=wtCLP;YTGb~-SEsfri0gaiLK}@T77HUvRMhpf)?;4#D`#Jb*f}{?+e^Uyrd2D zjZ{#BvsAW}Z3wUu3|E3%<(4DO%1r)2O6yp#gb`cRa7LzbSxQrml_{MH7B$C%g#a?z zoHC9fnW=mzMdMkSfQFVYieZ6B1z(g`;)M8|wv>;(?6R_yzl8dhMR`)^GU(kBG}V@Y z>Pu(~Ru9gL(J|03}4j5hh`Zf^4z*7aUc4M4AT>j6T7HDHv) z06(_pwYCUo>n-9hANJSt3@NSg&k0bZinuX3U8scrI`(g@y<+!52jbNlGkk?Esh6Ko zBSZC&p=Zb0zBH-HoNBtTuDPpT*W&cPnC^Y&KzBBjLt??H7QqIFKEBOVkNvOz2dR6# z^zK^+hPD>-+p*b6|Gv;abY3;)vONj#BUn`ps;v77hiU8)Q%s`?+b~_Pd(w7@aQQj$ zdyJ{3L*#NfG=T0itL%*7qK2kHCdgi1pCkPuO&qIXSz#{^t{ULAH1YQl?BbY) z94S{!XXP$%%Lr)jNcTEDBJk5%EzAV^Ow)isYonR>SDeROte7{^JGrlR3@z6)8a`|E zT$eoxHIyQj5b#SD!EFErXyt8PnLyp=Tvd69o-Vei7;S$%-Ta0y0TJV zzoT#3$`m9=bV(KEV1*l9pq4Z@s)$=_ck>lRa7YwQFnS#YsQtCVkk#e<@s+^V^KN!FdWk`Km)IK;3DMu`TubDKJal? zRsMg{OiC;%&l5-`Du3cKWdjy$wd^*wXhJ4rLZ=XD+9r_x(UekY(I`o&w6wuwfMGhN ztO)EbtX)MHS610wR!~8b{!0s@r680)O8F-C`~oNGA23dFl#atgiA} z@5q9!x3+r3}uS!0G z(4)#1C{?fmWmMtC>$?CAk2v{irp4B z?GT{JbY<`@s%)QO#8^A-x6k$I1AI=M&>KLScU(7=1$IDcj%8G!+%@oSPNJ}u<}$Ad zhh0pz9N7VrNps+_Y*^ZfBc?* zaeNIQ0+k$aZHb{Ic2DO{N>MOK~kk?Zx^RaE36@-N|+V{+01=0U} zh>0cCSonHl;Xd;EZ8xi%{PKU1NUsjv)OR&Dz{h!jlzFn1)5Lah+l7SxN$-j%~0WY|h<*!Ei{L2C7D<#n%@wSBWdR)R;ZmqC^ax}MQcej_gk zznX!TD@MhQD59+GyYv_|qRg_9*>?r|Dqy-=rEgE4eIkbEVgN2>mNuyu(NWCG>_JwO|;y!NkB25|DILFwU?* z(-^7;mmE%=yv4g>5mHm0oEw*)(L2srY3C}z?Y-o^{w_til)_q`=Kkf%EUbvxd2Wt)4c&BYYV?uskTVKd%6PNL) zhA;c93371kk6+^6e+GZnnVT$EH{Vwa->a$W&A+W3XehOOJj^$h)|?Xf=qM%UODyJW z%V$V4KYX2P1UihTO`q|K9Kn7MFR2OVd{7I=<@5({r+o>>soJJbSa} z>n%2cO(*-j+9Xw2D)sL|Ept%^v))?F@{V^Rd+F4Oxm+Yu`tq#ntPM&)VroL|}5V^ipgOB|A!g2VmTG@I-SYM%hEF`Z}6UIa@>FMD&RmyhZN|D z^d~T`jHXspNcd2azWEJc#uB$=@Yn7=$&|wrZyuY%W6-ubo;%g{*z@62# zr9qWzs8V$X8eHWXD)pqw)%5NQRK;u*`%~KDgX)SYw?!oluu!+#Lie;-imQQ!rS8_@ zZk;Zzb>a80=!cU4lu+|xRTFaMkKzRpAD#d%-ZpV=3+ zpM_LuP7KSwX6jSE7WSk0nhIu|IZ^7Xi`f{JGNmI~AT@Rasq-RNay7l;*y?X;wrV{K zo)ArI*;x@Dq;h3$G7FJQ4<|o*x3aTp0AE#R^9#bD$!G*QpN8ld)cY&!o8kimna-mO zIdEulcyP-wd*Gfw7IseU`Qxb0W8(X|J_$Ow9&Z9l^nbJFTa)XM;-Z=qMT+uaTssu+ zUUY8^$(x-a+wO_f39&3!?3?d;%X;|fz4^^?|jE{~ddmSw=n~vzL zD1GfQ)}HAOCjQI-jKksL1#p=zxJ*0`{!w3Cl(ldM5`&x#JMN;CunXBF(x&W4o%DNE zOA!#WPBs^ce+cUDr;iJXUKBq`rBR#kYJix3&{jJm1VMQv>033NHON)aCnzXSAC)Wb zp&~2qrmFygK$=(Nt?w>!R(_E?5zFWF4YD(9Z)gH$$MDDg#*SBLeU1kVW^A?RkA3kU z96A9qzZ`^Xk!E)%xU|tbxzD?LEPY4Th8oOemd&8J7zU{|R0@@lie|40ewZ4XbFnn8 zMzCvAGwGa&)X1xNHUn0T=*7YKPih#5(JH?psnO87Big=|#}I?U%O7cV3M{lHHv2bc< z87~rByzg3yY0rC^q-NT5kalD~O|h&&MvNxC5Uxxg4H=?9aZEO{a>FWfH{wos$Purl zccT}xOxgUC!+-=(WTakQB>!fw8%|ulTTD~>?mxVV2IdhV56Ubs=qaAe(W2oK&b9>Y z#gqnfWq?Pfu7;W=o)qUWfOG>9>TJtOSgzl+&v6~ArDVX0;|!9e7B*-hw?1dE$_%< z-vN><8z7twjkB9FkV>!t!J5b`^rnmn*bD^)z^stgU}A_0%r&Xa4ni^XuA%kXBqSpsiYK&}m2GeccrV#Cg*`(@S}kH+?YpqMkwIaT z+ty(yrJCgd!0azq9)3K-U zccJWfJ|oq6l4wEtzuz2&2qUn7IT1Pg^hEiD>50gM5|}EswPj|hKkGf-X;kQ$_kvN3AG#Dsqv{{{RP@?XlogMTOg<@{G>RpK{Numt_UG<((v zLRj@9F*i9=M2TM2RV+bo3U|At;xTJO=t{6v63Q6rfJh^|D{HaE&}{*`)NNd?Pt8*^ zulm};&^rFh|Hd}AxuxXW!JiFy+K6WxhY7c`B!j-#nKhb{5i=QnZ{q$7zG^!^>#1KE z%DT%pt*44k!DuW3{Kz*cJ;#B_{~ywsoWJASNHh!%{2f!L;#<*C=Q4a_cn048$87Q< z@8!PyclAN0tjn)puCv+dkj#wTZ{|!BU44?ppU+D_=^*K~q`PU$*|UF$JYeW~nFVf2 z{CM8`dj{WKe&LAsw~@!*uXOJ}9Uor)_p|8*q(_nsou+;tbX|Q3TC!`pU3m3TIJIT1 z*HC#cv{WOJbLkW6My5fQ?P)?xigNrf8LmI}JKqD4$LeihtPSF}Q{04wtmVaANoycU zHxHOk(1(%m! z(5{DKI6y?QDi4UQt3zD=o=3{vOJOU`xiUwOxo+bc38!t`qWH;nIsTS|gmviCn&aDM z&Ggou!jv81aPmogjj3p%+$=jfC-=xQ`?L&^>0CEm0L%5gN zc@Vft#xe}95&-Am`gR1p>^ZUgJKeqCU}7%3G2Kq2}irH8GGMl+jrD5RrbJl6W8K#RJQn-aoU7 zCusrf0b*}wzyX1l)2DFJVF;YF;*}bIEk=lXam_+)sjC!hHxYm|%R9wZfV-&8a&F+oh;RwahyIi#m0s>pT z(~G|$7KBC$5Fe81^mxiHR3@xw4sA@9H709I8WSICOit(4$p45&Hr>GNjN~UJVKG+= ze;H31qXO^AQ$`$5x#$XrYSJl9bP~m%<|+4HZ7Y#?@sxKMCUOE_K2Q0WMf&3p;S+yd zo|1;;c*@9Mz*FYzsQ}Q}rEwr|5WZ4pf_m}aW%vjukaa#fHkv1f(VT<1>3+yW=(=LL5<&-pRsNMzvM-$nrW9^_6;wst)yiRMRYyYEruSh)0a z&97prIZO*CW0=PJG1rE~e{_>iBzHq$ed7G(ny<{iOefz+#InV2@7hCZC#t$hJH#&} zrzS7P_G~*8M+z^!9W6}9AWGE_C#EDiLWyX}K#ff(s~;L13p3*CuR>ypm(#rxu1HK0 zSZ%}Ps2({$4nFSqm-L|shcc(oPXTD6iH&OKN3-qhEKa9c&g3ONl`#M>!z`(_Vh!j}%9hEP@FI2y6F{!x_By;M@BW#gMc3)kfgY8i z-QQj~Fz4OsG47OSn@1m0)l&>>QaS4{7_jXesb!@JpGx91*?jI~e0`KZ801q`{pw33#K%EUd zSD+KcXFm5k!Biy|q&FgIAG{4w-xnxICBTF*bevHB!(bv3-$hYSKzRE&(mAkdOvs=^=7&_ zx@xuN)FDpK|FGA*(QCecpdl)A_S3?9Va;|Kcf*sTmb!7jA3;#;t{kn)(lvjZkmDYj> zk*as710I-EmN<1gYK%Dlq&qIN?NG0?p$Tnz%Z$kcSnsr4Hqkj5V8!Z)So4pgAz&N55?X zewTdmf5}gRAH(@c$6zkD?hN?J53l?n{N(!Xzkr{-bH!hqpQK^%lj16|vi{%llSfg# z_svfVf(YIY%1?e73Sr6bl27LNN%$Y+?%kgoMhD(8F325z>PP`c$y*;yqqsWAgXCK{ zG_>6!V6bE#=Yfv?1mx%Cf2peuo4xY1z4TgGHtq6 zbCkmHUQU!2zLK!{=aIn*jp-b}mXGmg8HNE~jm+}Sw=z*_^4Mcu! zZ&4=@ae;^{$cJEIA;s%sey6s}wIWjYm+CwWv#_tXH*1D!uLY$$t#>-@P{mv9JhZ?o zl6(YA(-<=_sj2>S2#*Pxe#t|-8i_o;_2OK!t9W8T>R>=Uj21zl{Pr*p&+}gbSX&fx z91oBTCy=K#w*-Pw78eu;NXUrU?{x-fOw=S*CFVLit9b;p*zA)BD)knvS3y#}CIaVB z>L>whXbaG-RwOoUw^#tk8Kn4%9pu}J&(?#&EI2k7P#+X*xF0aEnFLs1GsK!M*cf67 z6kw7sP{`J>rOwDXF(x1(PmAy;2PN{hvc656L*5zx71Che!YQMJBK^M#v$C}8P8fHDGi{$i|Y;d37xYs!bP2B-qLKZ`a8g;*AC+?MnqkU^Ck z-UwudH)_7{M&mb!GIaoP7|KisZh}sWDB1r8Z$O9uZ{CeDI%~02UjkQXJTx2}Go>9P z7(#i_@e|M-RoH0G6vG=a^~7XpP6?$A0YP{pNtfY`Ap<~g01)zI#bXAIcOegW)_NWl zHE4i9Ezq5j^yW|Ej3XJ4nC!?8hzJ!LA|66hfx~K*&Dg48pKIk%7t2ac3dr0-a`<{) z{Cj%NR2CId;G~;nX6uSgDOKRBuWPATeEzpz2RZG$J z@7Pkepdc|bmYCT#{B3ssvdu86vhGdPH6`kr6Ll>rOTV0aC|FM{=sxu;*B#Fa43iqK zw*iR&G7xhPLn!eK`hpN`l1rEp-B}e7wAD0sUr|39&4q_@J#eqkJ(@aYD#h~XEP#;J zD4J*2YGgja^Mv3&F}P0-?o)#MwBTM7+#|s~8r);Sy(zdi2ltlX-lqG3bvJSq`hl3{ zc|_JMY`EmfWL>!X;IYOY8I&$n*l&B&Tx!G~)%liLl!e_^EGq0V3U|7|jIMh1MIdnM zN4{}QCsA9@dd557&4%4Ak@<2=qunT<-ySNq88+ z%Ca%;`yZRaGH+Y#4O5^@ZlN` z!3rLz6%7aVX2>`dN0_KV{_`rut}_;;=TMSV9LS&Y15VT8GVV#>B(^EYJ+Lm_)}<<4eq0p`3>dQmn8JL1rdYjwQ_f>^~(glVhum z0XMzNc~vCrbTxFWKg_=IH8ZCW%Zl4yBJia7YpOFBCA7qwqe)81n6G+sUb6Oe61B@d zERdWx*_}YXRP10&`$U7)asz?Fj(c8+;{h!zvi!Wi1RyeXb-T9TZLFHjYHsf3 zrEE-|g~DOnN3UdY*Is&cwD7(I&zQYWG&!d#*#Lg|$Kc3z4O#W$aW+d8ykn8B?!GD9 z?V`^FdMuGNsVIGUs)>~|t0+~h=dD8Tik@QIHF=M0^=zMvjJ?>=@d}`4l=@3=>LA3E zzp$5(fPeOW@8kpC)hl_^o3qb5`Hz>5_IiI7QZ?qi?42y;3PD-fbvFsRKpaz#8B3sk zb9RxE(cX$%Zc!3>Zo5qZbRxRZpxe0VhY9_9ZX{gio^EkZZXRCcQpt2H(HIdpux9>^ zNivW(QZc@3O5(FP@^p(k40_9js>W7QYC=SE=TK&=;BA(&ofv#L$*7{iogaPlH!NWz zb#))jtEAc(tQ3K0P!*SJs7^;%ov5Tgn!j|o{+z{J&RPmE_@0r$dGwP1MJ&+ZpNX%J1CE^yB-{ zL5Z~JRihz-NahH81E^#7k%LVx5Omy2?3&2gvmKv2tA^Ii3z_Fvb`Uw$>+BL*`dYO8 zv7Y`>gf`}!laqJpx2kA8MsFKV(9B{E@0~YTWP+gIM=v!=a_pKadfmIi_EQ;xjPG46 znbae=M?xz43J?+^>c?vhQ+O8s=|{4tQ!D?fUBn9$_2Y4;5ZRF3teWXjs90d=#T(D+ zG3Q|#$tm*9M^sDVF~A}*kY$kfMH1P6V{W2J?bAkHMAC1PiygB>i)VNn>eX_9r2UGv z&9yj$JN2;(Ffc8rK5U+=dW1i72K$4E<$lWj-1C~3*Rs6E5X_E1H_NzY0o$Bkm)imX z44V#ZFj5t{jWV~^ZMzjx6`$tMbR`7W+NyAzj6t;8D^5O&6^Duz(`w9#@qlK!p-lqSuv-dOQO+AUeb|8&Qtdt z6gii(@`e!CPBBu+)|jMClYCIXtxqa zDq-AFt8`CG(lc=J;#BC@Cklnlca|f)JVe2$`=>tgi!> z%+6t!DIGDfLUExK zwvej{g;$wu1^c@NtT6Femj0BKa#cI+NZFzFyj)2%CLVCd*5fD_`2QY`=5{`BUHP}- zbYqDOX9-0UzlAZD!X#KiS)}gm?Q7%uOEAP64xbj|M zuDt2=QYxw{|5e<14>)&#Vt7Zm^d8ZBft|v4_8Rcme9f@?-sf%d=$b%n_7kC{fX%2{ zH?-7G^qPO+HN&#_Gkvf5VIcG?!ssx}$)SVUqgj~A|9}Zlf+d2zC=ZTW0=PH;B>sn$ z16zi*6mri>w`YKwO}C{IK-`^k)u@7)Dm9Qv#C0Mw)8lG(C`>e?w9Q;9NP`H@gox`S zPV0k~tu8L-J5i5wZH>S|ON3{ZUSe{lU#y7iu6miF4$E#?N+Y-rzw)^|tu&KH$4 zY5`4KFnqDg+AL3j#C(GC2oh%WHmKvhK^^~$=4gsQ$WazX%80(>C7kMEFhXzSHkqI?N}u?%5ny-^bomRFMp>L0jw|4R!0|3kk;9eHFkIOL zATJ861f2*C6VLh3;=&dGvx3@`~qI|q7#yp2a+P??}ambA6hpo)*Onzpd#C%S0KahKx|8O&=i<$JD8B==|p@W$* z3HVH^Q{0-f4rJtM+Cj~jW||ojW)C?trfF(GkuI7N{YIb%)RLGIBJx7J}--Amsn>D1aSs&ASg`JgL9iN15cLY5Vn=HBc+hm%Yk&OT&oOp$#RR^zmp}OE&k)NgRW_z}u$!#6jp3Z-6N6R0 zah)#8?PiK@` zy4X0RgvNbdByKc&(#}o>nTRX}WI0Xc0ump9+r%bKZ;aqHd$KM7hwazFcDsd&&0}bp zRFiYd-1>J8!1B)mKB~Cwd%pC1Z_X3m$r~>n)!E3(m4g>p{;IOGLnhfcx^I>w8=6Yz zl@QH)bbJk0TT6pFQG_bC#AWd)#bgU>@{^BQhM2}L?y;A*4&G;bi903C=WTj}w=2`X z7FE(3mtI3#g5d)>GD{^D7_L7G+H(xqw4fhqP8Bg{2?27=xggh^GhB1#g}Qcz)8&$k35n!UC=jU7 z-ih7`h+@1GFoI7%i|MjgMMx4c#8bTFRgtP~?oq0lmAEY+OevW~e3Jc+e*(TAKj(eJ zcW7W|;Vb9`a2*ccF(jOmh3{#3@Xd3l)C&X*zRQ5E8<#l%=g3SBz<*}|zSsbKkpcLa z4**|4+bJObIr#QGHxjIvqQJOysU*Yc=2ZL`8f7h56ZU}$r zsuB1rvX=wzLGU;90pR<7@%OlAN5c30;V)v-p`HJ1nQzbt)CJBDUr9_K#7$Hjts<_{ zxO!(8pm?IfTDL6pv2a+7=cL;w>F0@eQt~aYl}18W3(B*P$=~&mKK2eX zXu0w9oarLHHv7WyM&n&^HAKK^4zHJ1gS?SAV0?-XK{C_NK5P?6 zOo!#Rj{R2z6$phkvAn{oTN6AJ-^4{ zo?NC2Rc2NJ77X>-Nrhg<=~t);I?POmsEpeO1CAinGX!ZF{JPE#PZoF3K4R1u`PHeu z%|yiM%b&#d$Lv{d*lcjvb(-wwYN$l8Z>Q+Ijh23iOP^A2>E^x0mF3dmSwQMT3=owL zPaRwic8DY*cEe*sPk`qnPc74FXUj|>GIIn$S%j3egLuQ0FT;ulgY!nkG;8z%S7HED z9;6E5Oq6L{@y|_!4G!3PAS$rhho zp8@K>@BP8sp(+f854Jz}g+|DYh~Zz&=S<89q{!r7VLwNV>b>v%9DEa$Jox_LZ!tnG z`QZCGghaXiWgVo>%_1I{4cQ<5D5pRar?pFh1sWqy%^n(g8VW5t-OzP&f%F>lWJs)WwcE0D?wZrWlKk{#)k62H3+-qcU z66x9T_0IQ3j4#M*Szh{Y4wC*#&G7PnLLMvMcjZ4gBK;q;>3e_v=7Ik$eHrn-C>}P) zIlOQIi{!u|aTRnW89;=0(<c!6o4^-3|>Jb!62SzE8{c2A3@=;^GLBrMZRXuJ`& ze!QULzug6AJ^q=MUbAiN)2=r=$5E_Ci-f(i5peJ&#jIypOh4eKHBnqticaUOCE zRYb2b^ZLi=k+QVq4u=}ZxKQG0F)y*2$x}|(7C!Arv~784-3e)4aVqOhowgB714Kr` zi}QfJGzV-l>-1!KKK6OV&Ld+mRT9C5} zpQU@*T;u>x(gRpuYM+D7ZG_P?naX6zGiij$v83*j?wc*zFcpHoma~1{5u?2$PcI41 zk2U`TE1mxV>!acRLGaJGl9+t^z|5&bA0!IZrRS2|sN*#&L9GJk>ByPLu(VU*YV zPlWJzWa}RrA(zni{+D4}{0kVazU&tL`HU~yvr_EUY524}GSCp^MFnL~wAJCa2}RDD zrpngnLlLm54DUUOhROuvk?0ADhN?uv6oMB_G`H8_+S_2q+r-${ms)WCWE_c@?V=yyqX|dYW0d-iOZO%hKbj_Kr9RtJL zv+Lmg6POt|3dVZH@tn!J<%}7xS04Wj^?w8cgZbw{leAx(>-i!~oU#i#*R7|R z_mggRFvn~6JEscNl9O~6a+YGAoL%7=9JGUZ7nR2W9uX%#2`#Lf#>jr25@#;pGIrbN zjO}CwXr11cFSe%|o(O5%(<+LJa6La{l3JrDD(^Y7qVlJ!q~g`CBnDvHc@cXLokE)% zk|%D?FWTCsBAs;w3*XE*kUUtwx_bI!KS_B~S-G0BVcu(Nud!+pdVKKTN63rGr(ruE zF%~wvTr@oApB5rCpA(OtwWTuYB99-h>U_x!V$>E%JWv+^{qIjecCEhC zqew~C#gf;V$wkj?;cgNNdwR|Iq!4c~xE3K+h+Zhdm8@$bQD(M^*8EY3HL`@UQGXlc~uAuczZ%LWmF)9L`Om*qDst8 zjW1V|t3GvEp_h7zk|K#T!)Zd#uEMJ#;bUu4^#{mXnb|?f^n3S;u7b|PD7UgOeJf*o z8`0e>mKAg!+PyM-Y=PH%7ZG-t8%}@hT(PIpB?F>4rFf8hD~Q=AsL5>&ne3Q%2xNJB z7qN}W(GjQ`gc&QMiLt~Rvai$GaM_&cpW3_mrQJGI+FMo{F2mE`c#p!UdN~cQ@YWX6 z*zOgbxY;|OBgKwmXl6eY)Uqk}rMyZ`9r>~J3GeZx5v2(q0w`D|)32D6#eg8Vn16Fl z+!8`0`XhnVx;C+yQ>+@D%#@j+3cviqk?I&tIFk#kM8s=!2s2eOzZqP}Sb^+5>`-CN z>)6(!k<>uTZt|#|@A#!!U=^ue$$Qu641~d*e7Bo?;1igux=?;1?KQe+P@#$(vY#>_ zo(Ux5JFEg$Z{e{+Vv@ri$zfgzXBJa-aH4=pb~|V&7p=;lDtX^Qn#L#8w9Gh)#Q$Zg zI5m5?Jf-!S@eII2GKJSLbCI41o?lt3=Vb9uJ~hOzn*1c69~DhX|J%)UmF=hd&yoBp zrc>6<{y8bC8N}9zKv0-PSNZsjpo2yEDvoR)ToijI$0~l}CPVAQ zzSQ;y(p_4GOXI6;Pnp4Y+dJ8`Q{J9p??L6;USf%X3~zo(;@ADpkNc3$s`jI$xWH1N zMO=VZQ~q*aAvtPnvkeM0%(!g>%G0F2>(IU{rWTU5ZA%_x+g?^+D|3pR)lAST@93(( z=exwhpP5Z3jI?}SummKBHc3o)N0(Q1(ZNjjOMafaSO&I7MCXQ?A5cWDsSiy@pGxr z-^KUYnY~{9_UcD2`}U;1_>QjD_&&}~@K;TUq~@`2vk~`=jks@w{>PH#UMx`#%hl}R zjJ3IhC1pQ8*&ge9-VR{sUQtodbq>cW_>c&WSg62#Rvm{Pmt-2n`{2LwEpwE{5ccIg zHIfK1FF*v-f0JUqycl1mqKL^*7`>sNF}0=S-$mARXA(Ow?= z`uqpUll_YO0uic!m9Ou*Z%iOG>>I9hVqfdLFqUlhIdQ3f*XYK=O|%-hkL;N%L74-! zqV|eo-(;<3K!tS*0yp`7;wA|tw^+DbH!wiArQxG`>OzIgd+PW==uwcG%!Fn~2zm7{ zRi`hDbM94qj~Bm%Jb39_0w!DfH6 zMW#>6H@1>z_h3BKc1lPcP$P&uk6=RSXB%6B7w{ zWCq;6K02wy)rCmojmf~*o4DrJ&J|50ALGim({Fx1TaBO&_T8Wk?$g$?_o%>DDljzO zZT@}%%D_aw{lx4y@7n3KgWUkV-98{PJVsG?sEEacTx;@8}OKKCYCx}5 zrXP#H$v*mLChZ%jpQcwO#5f-d&hE=_3;E55iRmnf@4(L`3yNs+9<4|c-`uN=Aa6zY zJ?jaAzyGA)}dK)->whNXUP3|zK=GETQL>RT)tMpB)y zF#73`^~#od&H^5Ai39a9K*E-CIp=7m=03sa__+f&{D%;+e2?jmk*jKhC@ zCzhC8gaiK~&EG{n=NK1pUT~xc#9dibg*i$QVxw4*5vpkQ_O4%mIQ5S@#A(7cEV69I zb^6;qc%#?^6K-;nWL&V4B9X8UY9VoFIbSd^GPCK)Zgi$V!sES_e%_?#p7*M$_0wlcvamu6C-Y!u8t{R~+CmL>n;dqX7k(tAJBuFiC2HOyBo) zEzve6>z8K6F;zs{|1jjK_lKn61vMGhkj(s$CZzRU<}p2O zLG3O&+C;(We|&{f5%_$ZjUz@}71y6;(yM6K zKJOEHL!mF0=sIZ;d7sl|50`T-v`-;>+~@VqrMP5)_oIH8#=;Hyz`WoCxxx>4=k9wI zjp3!#{J^VT>sL#-d`4x0!R1z(0{qY2#~<6pmsxSMU}br@VYe*>#$I!R@%${4VS*pU z6R0<9H*D10hdI0QO>g#~DepEsDaL)HH|t4w^PMF7#dCO%H+I&0v!poOu%(a}_VTnb z!r~g1_Yd4{wSIto>%2wRD z1+Pm61t)Ci*;=?LQ8$`kzYD@*PUv&NF|{b@8hiF|>P9EqC$4D#Q=`dmiZq>(I_kt^ zT`3dIRhKi~YZC+G4;(nQptk?OIOgRkk?KEou8Qwl{$Y2_3~Vl1pcfA4NN+gVN*!mT zk)c#g+G0V8j$nOR5rYL_JZoJ_uJz=KrQC=!=73_92#XiYz=?8-fW5}8Ig8FIk;EU} zH@qLYF)0b2z6FXFF*_zJ%&NvpouSFA3bo!yHa*| zy7dmG`o!AF0~)aO!Y>tpRJ-+2FTR?$g6TBBuvIFIuYBGWM(B$no^jDcP_B>=O>lX` zi+@Mk_wURfUGZ=0Wep~M?5p%&>t{0e6SrvH8L7yLer;-1A(J$-@KwK{RcEA{PptIr zELoH|)VuRDi>lvTR5LuGV z$wQRH>F@`ahO#+%s2Kwm!9tufW>NKauV*9Fe;D#CO3WPNt-Y6MH*bL(W7PW&D_|M7 zQsF$7QIHE|=0fCM{u6%1aW4{7L<`@_R6#;V=wq_-JRPW%73p2V#Ma3o)bkk#ZO{|j zm*9W7l#r=-=QDg|6^X7ld9N63U^`(u&(h-T74a1uwLJX_pYbW?a2ITuB$FAjOvZd2@1RX>z(>n@DSU11I`IRwNYBU@UwveJiY6 zw0&l2gptA;3i*(Rug-`my3Uwep%fi=t~kikK#H$|EoXofhYQ7O;fe)g7{>F&Io5$j zM+D6>juH-&=3Vn~I(LMaO!ny*_eK+sn7o&>7P?p06m%U*HXX)c^4^3@PKxV~V^!Gk zFR%{Nr`1pD14d59zvmX#R>^tRoh$ep3nixqmsacE;M1YL2<%}JFQKDl^*MA4~ z%;!J6AMeOiEJF|;{O(#n9dg!)>(+Tc-j>_rbfb*U3(f6zpkHjpcXD<^#N&dwIZIxVGvKvD17_Cx;`pV zz1d5hM1czuH?{O(J~HQQc&ov~9@#HQN55DT@Rx>HshKRJ8Eb#4iu5 z+euE)#iw>tW8tG#?hu)r5XSz7`@(SOC*p||Zj&ZT#8oB@rB05IXd;@}z-blM32%|a zX!g$$@snqlhZ%1Y2%IC5s0l82@KGsLz0|v5L+_5@Kq-sp-N7VN>ec@e`A;Fr5tO+4 z*6QmyIc7%bvSXv|+iWvQGE#~-rk?pOQi{L`V`5}kGfII+&z|laNC4IvaiWbq1HKN2 zi%n%w@5R4O6f{kpltFTeylcEBT{nM*ij#in=+LWi`oYADJmlI>OUL{!=v0 z+rrcM>pVFfE@x-Tac|~tN6N9Hre>T02)$~S-j#mp;JQ$*quV%dj_X46Hg{6ySP?)3 zQhI~4v30mx>)0zz86ewpbHal;fN66P)yiR9?(nzgNJn&UdzGHEEl4s5Ge=U-5{*tq zR8~7e^A3MIAEC?cZWAl!kFSI7?_+J4^S9p;_}g!T9AlgS1GkHRcBATwDD}TMM#IF> zEomZvqT2b}FIF2-NZUr$|JVHOM~)e`Q}zE@fBPfp=~WC>diogtvqN6hvxa_h|Lx0T zoqT7s>_TwvP|(~Q7SB3a`mjyj6;-gsWGvo#R0xrijXVjbBK&ohW0R3sGQii?-Xp?G zc-+s(3>hIe{uJvIyDiXS*EX)$2oI6tX;9oeIy-_Me~r}Idqs`wC+!Z|DbH$;7Fs|VaSS6}O$yf7SFR-;qZ zQY^D6foD5ltx$X$%M*$OE_T8ix*tNPLt22HKxXa=$RJ3Mq|Wz4N68KBx#H-=D;L9O zZZL>!^UB#c`k?pW?cNF3g*!lkD9Z)A!~K|3ujPgrtKf7v>U1PQC;QO+$ReorgqQ1K z-mdv7UyUG#_B7~%^ zs7V+71591Ac#|^a_Np+$_~&J=`kIo)eLqM7m62I(U|v5WeUT+80#AFlqc|{m|KG3S z1?lU5cNK=R(tSq553ta~9GY)w#G&ySRG?iciYL{cSGv@m%O*xzIQZ z$=kD+i~CS6RFn(7Ges>@JKnI6-gqU5OW%$l_MrZuul!;#K7M=U$njA-r!jFrhoogq z@-E+9f+%hHfNf;>rq98Y#U!WqN~(bzI^A)Rip5}bApPrJ2~y|RZ0QZ}XIel{(;MDP zKtF=d4F%IdaInki4Q{f;sW*j{&{Yvhg+CU5!o>X%FT#0Q&w6VvH1W@ER$yW$1U%aQ zP$cnE!j&t+*{2-Fr@t6WP^VFf+^R_SQ8#K2)J`fQTPGgK;ikA+anUOvj`i_f{s9kK#i^!IB`De*ViWJ#Vrk-kM@>rEUvX5>Qu69C{@@6cqoU zU;GJg?NZ54IhSnGzQNhHUTELWz>9)f4r~DetrTPd8R}~sfHmSSxsDfBz(2pu> zDnRFExjUlSmeFFh%!{8%CxSUFV9b;S%y}kKy~|s(mDZv0@-ruqL8yu>KxnDC$m_n_ zaJ7IF=az}!Bf^)w-wtO>?Ckn-yf2%5)d{KS0oL?duKYEOW+mUnVPq8+bj3AqfXRRZ7s!90Kt+`E4ks{}mtceWIvvPv1_N_n4{tx`00jC%mC8c;OjZ%!nNq)HyC()%1{ zDny-Ar9!&8R6v0%KruGXRG@w|?;s;O+m;gLqAj1rf`ZTM@qJK^%w_8IF}yR_tFc}q z=pzNQLT0gEWqVV3zV^ z3#o90tfvrO)|0*L54{l@3YG*xsEtTz&sznM3(85zh?e{% zQSBz`V+VP#v=QXd{6|wOFJf-uQ?-05nkqj}-%$mvm{hYrG0L8ZPw87S1lUr8$=pDV z-YyuZDRDQf8&tn&rE)DN7vU7ql=(T9Fqe8C6h+RT(IJ)WIxSIrWoC z>Kwu_s{TjeL3Lh*e+JW9TLu59+`6!6XZ6HFU90vHi*;Lbc~^f4rmeQ;okDNzSam>q zeaPyZl0$)Z>R*0NG&Nyew0dc{!|OdIFH15KF98CoHkFo9V*GfU>SV>1o$6kVRPXgt zhY^o08?1~M-#%WnK(oXO%sZZ5_2FoITW4`{@(qbe)@?ogq3Z3cU)1Q!8lUmTNaM2z z<`%L(yNg*N-3OO`V56;6S93zgV7#0HVVAnCcG$%kZh;A>Eo2`vx)(z>i;)( zL{mrAL{kx;K{SCLdlr;?J~a4={O@MN1MGU^hmQo^I6fRqAME^a)@1Hsnap)=N&g&< zcktf#8u6KDRZGZ$Dx{y;pqjxSrsrK>FaTAosxo|QGRqJ8-40$Y`Ys>K5VjWpR85me5eB^lf%&p8UU>MsAMIF33 z3=r3B=^k-p@;pakMhEPR5ElcgGxZzy0xDX}UzRo|=hO(i28>c0eAMmeO(bi0f3*UC zABR8_j7}h5$AW}(Br#4TE(sMcU&C?hK=!)4qbiPh{aIo>OVD!WTP7B|a)c z<(|zUmJ>obulEIVS8wckEH!~uMXeWksromoei4{_e)Kr8zN?NCVYDK!f$I~cC{C7M zkr+c;QGIO)Rc~aZfaF$#&apyp1=FWp{^o&1ItK5g$Bg{{&_ryv)P0a+AsrFy@KHq3 zQgy=?J8{&%#kgA%Q6-Z|;HL0(7HEAd=Nttei8s2qjldSu0F%<7#upM`gs!tb&2I>P zPlyD*W%7a|Np_iBn@Byc{m@!upWTn_X9d)%KRxv(6WombMu{Zm^VEswBY0H**;~5^ zs6Z>Dj6H1ft0JHOEZi#x>L%RxYU5W3w}-jZRXGU}b}^Hlm=S-j6N|DJ(kDpT(t~EZ zpcBXE+|x&z{N-*lW64hW%OP_xADa+d^gh9)uVk*2 zt(VjHthVX&wD>z1oFkF;-qNl>=rgv--+&ZCC$J}iI0nW|{} zo}R%`5GKvj9DQBnrstkNs6T5exkPEKS^TqB>7d=VB^zPba%dj4iMDTaCp=T-8~Fsi z#u{!yoLfQkgq^X}BZtMurdTwFCiRIuzjk?LFQ>t1hBiR$F)(rA+m492KLMTD^;5cCAq ztd~`%R6W^2H1(ri@A)4BMt4{~%n!Bb>66_*vwiieUhij=JJGMmsV#4JW!R~v65#~g zFjNcmX+_dfTJrUzpD0UIcyVp;Wf&QN*lwlIxO%+*&KDuLijwt%PGuQ~EZ@M_jBb&u zTUq!;nLW4a4o2wB#&*=JbV!Y?W@ANe%U*2~KVN78+2q3YOc|TwL?F)Ya}1`}^A>?M zX3Ie!&^WLC1MxIkC^~7+ko|FE@^rtEgFBK(-Kw56e5z%OR5V$_2>`H0Fd^WF>U9v zpJ*vh)jLCgE#5U1^dwm5pd1C81X&1$Fc_4~!VIx6Xv&Ehx06i3K~5F49;tTk8IZdz zN8Y%KPlxGfY_De=8FQC67KVl-y|c@`xF-CZ1thSb9*)sti1hJ?47%Mq3np0irQIvH zgm+s&9e*J+l#xv72A}3{1q`|9Bb{#%=`|PY zeFo`&>vqL1h>^|Y!5Eea)h0g6s6KnEck(vx>UHk3r~H1DX*9=u%zYmEuUZBerxT0j zY`5L)t;_0mR^wpfC#+UG!_!39Gh=1jX|n9MzvXkr7=Iq;@U{IRXQl!5V8--~|%%wp}s9P>); z&xQZCQ)7@~U7N7}nn)Geg>1OjZ&MS*iTg{aRNG?asZAKyQNK<6xwq_R*9}4bE&BoS zfE`8hp;C3iTM-6@kUhe@468-9cN%-PRG^n_-4v;Qp63jI?GbLo7PtC{c<1U>}wHmUkz1=tTv9lpAS|4qv*L}odss!KQ;g0ZYJP^3esskEr zE*L!8*#n?vtHrjVu_see-^=uI4d0MIOh{%eeF+Zly7Y-Isk5~)NZWrHRd6b#x2m(W zF;5@^vrOl%0YDDv-eFeAb+&p^%;Q!)(JNwgEGyZBj54&?s@$GoBXKRzK;jJ&i!(@kQ%0--56}Pvbk7HMHJ_2U*WG+Rmes3>cuNZ6>lH zoth1Q;b7ChjOp`fbVeAK{vnn< zL3IbeFZ{ldM${KRm*ovEn~e-nvuHQ*`g!q|av`6iY>xdsq&69gvrMMCjsbSl^y+7G zTvr31iGj`Cl#uy{H&h+>sZ5*)TND3+PScv0dmeGS<_N>9aUcF;QFiiVkU&H=br?|_ z`w5cl&@wyf(ACSkCj1A=jra085^5VfS{MKTc?ao;VOq0z@Pue`Mga?e>50;5`~aj)4>V_y}Z5a@f<^3(Ut2Jb{xz|?9QAca*%j1 za}UQcMN-oWBGvo7)T!#mOSt5*kH&ii8g|rearwVu`)$B#RmyEEKiaW1qn8Nqs~7 zjn+pWiej&qEWLaPMQW=zt$v<;sg)vO+r@q)>#7vqNmzm-Cz!#0uLG>I6g4Y(+Jvd6 zP4s$yV9hv#{Sj{Fj<#>7A?KKgfQEFF+s*Br z9B2uet3oIys$_L5jmC`lzQk!0w3v7!-EpxNF3hql{@v+XQMTDH_u~Hu&B$E!d-^KT z9vZwYRnCf8yTS^*`unQ4Qt7)CUL%rWm5(vUs2tK1E@$g-#&TX#|8Wry2H5$1)XT3-1a9460fonnS!H5t^RNks(o#sh6w?LTN3Jdr@%|eO>bgx z$VOYVee>|X`Nt;Ez}3vLs>w4#^8Wn0!&K`_F<%IF2L{4|gLT(YRzUZqQn`FxD5sW3 z2WoxQLYtr#=StaT)rAvc$2KdjtR2kII1Ku+I@9%{y-CH@m2Q4N_;{?|y!v;Uf1)S# zLI;f56iqotb}z4?KL2S|&`=yWZHlW8eJ>WPn0SOoFLnZx^i_niy_+^<{)QPWnyiQ=kAba;C1=B^p6OTrDw;SZnrwkg++-YWjL|KQHpbw; zoqIGfkEy1Gu{aMds6wu*U~v;sMDSfIkjbZKpfK|#=)Lh(0fTjuv0cQ>7DtPui9pLb4_a5Ek5C6>;*`;2xrIGGN(BYPkBHxIx$WhYASnx9j5rWvtK zKwTT?COtQ`O_Q&4J`zjZ9bQjD=hQQjkyG469Ga{!GjU{ci9$@p5jPe0`~g|zLu6MG z*^hK>W-`oE|L?D@ernZ!N-d3TQ+z9;7UXsRySaD`HVfMB(V=O0CTOI?IV91kNp$I_6S>4- z9M^NN{W&Slea~sog)GprKur9mG4ZI=zyDfvO{`!dBMkwc$}Kvy%q8yE+o^x7&~^(k zPxZW6n0UZj+ei70smbL`>E#vCo);^4(~e8Pb3qk5fL`VKFpy)3*zt>rdz!m(-NvAQ zC^dtIwjIZcheIiC(IeYfEqqvm1~N#NL}KnFh}7~^!pQq!*KxV%wgpKHjA&}kHjvJ{ zqMd3w-NqkjPPCnt9V*#2twK4&Dbk1ur$hVjb`N90-FLk7FlPiKi8-g}rxgOJBr%7ti>69Hj8wRy`fFtJ$rP*J0A23c45;})sJ8mI zT~}z5{H?k*_)JjG$k&H29OoP%4_H39KseZNVO79+aqw)POj7q;9{mU4q%SQ`UMlw!m>A2vZCT%mmXn?QLYvP+Wz&E|p#o6VZ z;SMr|5QH)#qZzm!VVPuS2CPR`lLH87itN-hpLk^$Dh$+?11)G*2QyISc`kC**MZL_ zCj-`uTDSwZO a=bXYLz5~vw!;Alhn#A|4ItBk*(NxT>Jf1FE*O)A4=|P`2CY!bN zU_Y-yEIpdDOOLI2OOKlu11?97MDV)#Mjb9+fVwTB@cH6)oi6uMkC4U!H*ay+wSs)B zj?eLVg2ll!B#ctvFihe@o)$ml9@B?WOlE)>A_UOfx>obM8Z63r z9Cy_R&zs8yi1jLnU*6inaeh&$e2%pqag4h7i1o@@wAg=ds*;=)ayBE~WcAkEuWRqO zRm@0~yCxD48@G(nBH%0bIUKjxvhB|;*G^IH08|}-2`Z= zTMTzSAH0#68BihC-!oW$UpqvJPy%#Q^y;Svi^zp6v650NxkHjcc2-sENoG}r9-V63 z#X}VNyCS{#|JXW#@nF2YxAr^43jTn;o1lI+aT$w0ExSI+wu-X5$uZF}`%Wg5ZSrt_ zU!JSn{2;8;OZn{nj}6mqO%Jxi?*D80Id0;EGWS^RR`{9k5(o;+d{hJiWM}GeOPeFK zwCS4bhGyQfh73+>ZrC<_O|!%l^lrhKB{gmlaRa)0w_;;FFBfrN$RJNQscJW68Ic^H zktu?zr9Vw#=2Ooya|UeRQ2K8XUS;-jNgt+6NP`dvjF2^j`6QC2%*Wux2X7kuX+9&9 zxs4?Rf(j856I2XfNdQ^Myd|j^I^7G{u$O6qg2@po%Q`45&@ISZNcxDVbBL04!ZPle z2f3tA!9NC2GQ*X2Phs;JEFdVx#eIRZbnc81d!&`YLbK;|_VL|$z z_3$9k(bRQjHz~nfA0b`muHet=0re|-aF5jwJ?pzv=EW` zpC<&M&6&u4y_v@a?>jXxB?@KAALq><^JZomA?5x!xwD&g@>jL#noDgBJ7UG!{+Miw zMeT0|D*9#q^S6{VWV$peeTDm8<^d2upZFdF-fbXe3(wO}jz|BetucpWZjKFY9kvXl z_ml3n1zDc-*T`eLbqc6;?VM<0zjMe{%RvL=`#sxbqL>ikPYj1{G0gHH;pMUR$0MoJ z3JbRfTCuE3tT7epmkJD*fla0ntC1vSxl@QuPle8FOik+t4~T5=>r=~7gl&@YsF}VR zQiN%1F)~`QKq_$X*qr>B?A{IVGwF(6Rz}|dI#SpqQZXDg<+Ao14Ihre}X?= zBv}`mU_nwD|2&Csw1Cz^I#77oNd-+xV5_O$qBo>$72`@>%?E&TqZTu@bWZOzs`FH> zsdH6|OO#n({q|*_ic~-2ttqAp0B2#iJaaoUXr#IcnNNS_L|%&} zPmU%(srE#ZXO+k!W_|Up`ousi@yS^7OE4x&!|)O8#Sw=&F_!o;val~9-ug04KRKE> zlN_h}tFL5qSJc8wXKti?HCH_#ILuMt5Z6St$iG1&2h8y!9k@5iUjb;$8*I@s-;X zC#MkRlDX9nY;1M z(O=RLirH`KuLsP@;88}%eh3~NS-}3M(xVWMN&`F!W$d5DA5ATGP-b}Q=FEDQ zN}|!QcSm6T%~hqfX|= zQB=Or0?`_m4mK@Fy{RU{U+Vpg-Xp#@5#=s1b}8!IgA-XV?;PnBI?!NRx$emOv(OCy zmvGH3bI;^>{_qIco+1caA-GWRanC`F4(!gF4G!#u$Z$zH>(6BUG>qk^hB9g}&Vdb3 zMBg$GA!{AdCgiyX5snHC;pTq&ss8L&fBIzq+jRkxBvuOj*IO?gh=3(=HKbY=6 zi?fGldmz%H3D_8D39Bo}_o+)iOkll%NUg=xT4MHT%yfr)XTi3>x(g}C`QBsj1==s? zqZ8pKkY#{^_9jl+??jb?$QNvK#Qc#6*vHd8wM-#ZBec ztdMX_L>k^4o@c0iIa?*c5>r5=v%)w+Dz-d+>Y@?RFxj^{o?>y4aZ%_N`;r#Y|;#>m7w=njtROeBC?9(V~ z4j~mKyu$zU{6Fb+j#f7I85f^Q<|P&IZk&$E4x3q*;Q$QFGS%M1O*N)r_?w`TQdL5( z6DP}2=}qUYhLUb9l4A&P$}@Z)BDPt9Jyf$(_So*P(Imm4cgUJwQpfo|ND>+PWBWjr z_ksI5un_lY%Arwtt@Yu575=tI~uc}2J~6s z1j^dr0lqKu&%**bZf4E213(~Yt=XrvJrpP7!Um<`EOWxzyv7bD)yo z9BWNrL=;+}LF%<8pK{$bPzkgWHOcnz)mt=ajn!b?roJT=GMXuSn$3ESPZJDMI}!EG zF7Gf_Tim@rj$}j1TB6Z58oHSe%CLlc~ zB4q-EMFhid$g8EHm;f75pE6j|Shv+TxvXz5-k%?v-#zE6xpH7^;TGR+n$dk)!F?QIb8mK~!2h1h?4&$zkENqAsP z4!Kiw#YH3-R{My^rQIb`0WOCT3W{hzCoc+M`82vulRi{lRoz_`b3t(z1XdSxSLKg% z@slc)h?ThTj8kD~>@8%3Y2W4$ZSS&R0cHJc_+8fexuKlAS?eeLbynUn-j})+A$zi> zkpq`xO_RMFirE(44aIT`?}nag?~GR1JENEhEJ@Zx?VVAqyl`@|1~aw(DA{+;gQVecFfL4rqGw?b-cr&w!H*(EqPr!SzXg(uZ*mq2UEha zq-nQ{HNg-nk3+>7B8#SCh>XWyfN>g>`J zTna%)$A!l@?;5;V7~DH7122VCdbf6G4xK{7t2K>F;zn8i-OXhLWw*wL&d60m1G69lFTkzu#vKyoP`n;^R1A1IN3X( zb$-rMECS0_7JvPv^p8I28Lgn)wUG{z1+8>Slf=6-J4kr-DNZ_n_y~D7tb=x>f5a(R zc>Z^ovHbw<4sE5gGN06p@C}h$rKwaQxk?kFr>rdYQ~f~p z)>j;bQSV?{F-tY64DI=uq4_DSCkN108?zwZUqLqH52-AJ@B@b9V@AOYV*UhSjKg1d zc*M=g>%T+TpF9q~`lxZ>H3SSGSBT>5$r=-=&l>`u8#;loA5Z~M1<;W6L~l0eI^qKu zRhpsp|9>fvjl+qYo!dC*+)Wcgs#MnxB{XX!j?sK^gy-YvO!j~)&Vi3Cz=*vHu=!vk^YM63Y5(mMXR9dA9USgK%(YaYt>Tsh8HWBb;aO1rMD*Ot z!uP|$B%Bwl1tQ^oKg>nd!TfBHhcndKDzXs=ts7YkMhl(WA zajRGFy9LOb%~)8*%Eb7hx^6fHBycic0CquZl-|B#MZrIL%mVQR6!4yDycG8Ctfqt6=CwS|i3&xmS|Jv66DJWwYYCt4i?o zYg%CBu5NMb)?9xx>2jOm>$R)5HPxSJ||0o5TJb z-IOZP9KrgVhI0B^1af&%ko)H zYPmttN62{gBmTkyuXMi)F3^*z1e3jl zxX>ayFL6bmJJKuN?1D$?8JD2wDaBstCKp_+J3+{ntnAuIHFCDgjv=71HiD$A%c6Kk zl6JdLy&~)0X5=K6X1mY=LibzRB0^I^DET;!QQ^E5Nuym_@*%iZC@+`LXctO8dr8tC z&l9q=*@cpiRx520p__uxVnSV`M;@`g#M9m(r+vB{EH#e^g>BD3YV%fKZ zK#y`^*Caaa`^vkA=oqDYe6BvxL@rXqq21&2U0?yTL#BA;oz{Jn{f<-0Y2D*o*tjrB zfkLB+-;vt41ZX-bcQo-5K}7^T&39z*Ee^gBC6UM#V#cZfnPz@bf?HU~7j^FkM2c}R zh4Z>EPzQ1&sn;;3)KwGs(U^?aQ<0*cU=(wL*fsqp7&$1aV-4^XIiDU z1Pz`9OHd=7J}%ifpSrKAObZMJ?*AlE6WBg&^1hBh_+Uhp)?sVM?6J{r7rykq^jHpe^yLkergNh0e*F-YPnPyyq{^~^LR-xK3^vjr+ZoFdph6VDV2?0 zD5zwHDRGbcD-#FA=Jo01dzUHrCG+ZT=Uv8H*2cDP*ox9!%e26daxKeC+c$VHq`TH8 z!`9leoXUjW%|KhA);iW*YdwKNch_2H&{_kY>ejtw{D||)PwgD8X5N>q8p%DV>Fv7W z5E^X2q)|9Nx(lxN{p$1JOWgy1dBEL0@W-7RT;NuH9!qllQOv0NJnl6Y-3AT}#lrY)Pa|FQK@Ee}h z_!t#Nh(vb@M62OYZv|e~KhqRxvByL%q?XtL%AZLou?wjwHdE_`JG=qd1fag*Po;6O zscM%!Uu%`hfQ(NaG=_%6?BQk}?qCsIKoM%7FVzSnRxz*S5&2*u@WpiqsxvJmomC>| z1Dq%6Rdj#yaB{XF!^b_%*YVeTa@Npw?)bW=pBsvlg#s0#_oflH@xu{rtf8EreN?3) zIEa0ma%p}uPp+t}cP)%0dr5NQt#=OQxRtltw&;+R`TjXKY3<^{i|z5Ktx z|5F6&%@j(G;eD9@?Ov0fgvN}Jj_XJ-2B5iDKRr4)<`maX@^m7NX%~WDSJ)FYf^%V9 zc1o?bqaDN1n1b|R9m=$1cv9ijkz83~B24GLyp3XEY?3)il4_3pa|e;JaGIVwD_p=1 zWXo)~IX3z);}q>(P}YF2Mt|wpA>Q%h39);)@Q>$>V)Y!F{`se%g3#T>&+!NP&OiI2 zC}S4=Gx~T_$Tfa;%s~1Gd_L_+z0%s^g(Ke7tJ+dkwgdNb9~7rl zfG$)R2!MAkB4`KcM~3o~ofztw6a zR!-umm@~KiqO!>oKXt24G5ycNL_s{;z7bvFZpR9Gk}{pDKyF1xS5yIUsS3atfTt-E zoX^Y@njWwQSky?eG%5=*`z@rH5PL|NX~ETfvPTd~ucUUda|ANS3FQ5w@Kh~^-U=aQ z1{8CSB^f751Zr-gG=ZxE*A8=4+i%o<>+QG6eq;8_Q68yh*l!EJ@yHy0n*u9^trmVc zEm{?{$OtKl4%%iCESZRFC}Hbd*cuo1bTrx4=0es6A!N8Ea30(#z-uAY@Y*PKxFbMr zPozi`<-05RE(^XJ^aaxWH!xO3dMyqcEy1@f_}*q;P$qRnfsUsahnf+KowXH&UHeHg zHN=O_sq+dA6;uCQ!<@^^7tUhu)`(R$Ro=z--pONL)f9F3ITUUr!heYdqZr3%38ab- z(~y($Z*i8IoFz9_$;dn;zD!60=ESPt6&OfcVVpUEs?mp)XZf?rQ>E4nabE+Aj1MR> zY$kKKuxjMTmaVp<0g+Yk*gw$LvX3nfPM4~7*UV8Gc!4TLp|C0Ib~ZGp(ND*G(Jsdi zX6Z-dr#^QoD3#2+`9C2=i3`c}I?4$ngqcSE*>%;h4{Pk`YGo$WfZLOp=$FFnAw8Wz z3)~}tZDb(-v#I@_(J+O=mMY|;&kJW?PrZa;`318H3W-f+l4LM4!Js9^1z5-iL!DyAR=7m+(4-# zqRWSbGcq0SCZk;t?yx(HgqJD2(WPPLbwpz3hF9*0%rGZ{Yuv8?qT?NQl^^R(R{Z5I zjTPVK+zdV!Y@OSRU+LUd{LQ#iNv@Vb%mv=8Ba4i@8ZZrMNX``jaoUUk9@KOwEQNl8 z2T@LdkeJ}iHy^ZT>?b6KaWU8_y^5c%w zA)PDv0LK+2%5#~Oe$iMPb^xKUv&vytn_sl@cT=0hXOzdfI~1Ol>rljgK*Hv4!ByEx z%`9APhIcc0c+gsD;V1{jSZj%ThIp)cQs3H8&5{>^6-EPJR2^p9@*HOUz#>e)(~Mz0 z7-rZbhZOWsJ2VK9|9Q3XENOGX{RaiVB;QMl5WmhljOuT({Ht6m;PYQrV4(YHI{{+f zC!asJ0x+a-#iY!MnFkv%3Y0Ej>}6p6feL+0X&0QTu%JczG-i|{n1p>6E>PTllDU0J zfKC0m44sHIb=>8qP^&Tnn285bnJCIO-{mllNRx>=ZB<3uMkmN%$VV6h+q^DRr;K40 zlfF94YyME}Gr??N*Mj6*vcjxIglPkId!|8pF_=LN8?=YWP=k|gl;?j-gga2>q=}aN zJYUUQ8_WpX<*p4|@tmSQWY}q`|E*%nY!GxI>wUV=%z{+(atAs#a5A^*H!vhUps2kvZe8yN9pBX;*#;F2Y6h7ywOvGOSwx_i zd1F}!K0t_j=o^ALnh5<-4T~hRwaYw(Ev6uc97V$kgbF#u5|mw4%nfY^7QsnVg-k3N zpUuZvWl%uC(%ZHZ?`o%Ct0EK&%c#%o;lo88_5jL3R57@D!2)5NvwH-_SV4ja=iG%{ zKAFWO%fOJl>mtK(iIx^AL`#RFEQtszyNj|QscW7kb!1W90w&v3j%^jB#_hX)0}(ok zRt}2CRx-XFN*MIT^8)~&h)tU+fFaOkrqId#;Kuz*n*oC?GHdV?Uyg&-lQVgE!MQ3JPn?B++DYblaU?BxF$kW7;g<#>|N@=4$( zqb%|(EO<{rBG`f$;d>O0?@{ZdrE(Rri3S7~O=)ZaV?2Q%sfIn&4(%orkcmwym+M(v zdcZyQENE>=zQduU;Wo%=GLk(?YI8wX0AkN7$pQVa!o8ZiTlI1gYSo%lOn7P*HF5@m=W|Z8%}TOx-FRgd1a<3?q5V}4o@wz)<8MiCZ z+CY2O6@$zu{t~GlR%!|G5G(lS6q67W%M>nr?p54<@-b=sZwa)*>az@mZH+odGpJdO z1RW*p*uv*6yzlbeOuG?a!exNCj=~qIS!_IFTS=q)HvGqU)B=hEOi89Y?C%gqg|Vl- zl6{0TYgpFR!5~gAZkus#NxIGg7ua;riq%2?Vy~0`eWf91>~+_c_vDuq>DULfN_S7f zRox1vRpJORNC)uG%a>DkM4BJ5918rKOcw6B5@Y7-?w3onJ*=EcUR1(uig=A{2R7G? zAqv*?usXYfvR7&Cc1y~JirFY|qvp9E+RH3^pO5}*Vjgf|14yM8A8NW9>tdcBy=+X^|)yg3g4J&fV7FRm4XZI6(6 z*Zq8?b&okhC_^p4(*7<$0xI;7t8n?MM!IHk?p8tW_f%N!y(DnGjT_(usdgb+I45xxPNm~-Vo))a(r|^B*BgZt(q5~D~DDhZAiTMf-*+NzshIAL8n1Xx9Ncpy|1w% z+4+!P|0=4F&%y3z8!q%9d>_O3H6AoL(D0y*QG@S>d(ri z&Q#8wlq{0Y-4doHBwdu8l`h!#HRMwiq#HOBomLJb-Habi|0Gm<$&Wu7)xOKM{0~#@ z9um8gWc(6>7D!bOz4WJl0>VvlRy{!TClPM-5rh{}&m!Ek zOXn9M<#v7igp}J#rda{yRx=Ny+ys__X%KsL`pA^qD*t%O9ai^0lyd+5Uj~%>+PYk3 zYH7E36PA6y*HsPOHgdhbt6{}rk?yYQ6?Hre2CeRbKucyIs@yQMt3L6YkaE|vBXG3( zd0wykT|kr}ihjYJ(VP#XGg;u{1=mIs?~0mZEL8Nh;O7kVuq%F;MXYZ;PNUCuqsw8j zBhMk34TJ6GSMJqDqt}BKSu~m&bF~KKUSr`R(vB7@;tr$IzX)^O^?!^=zknivh*{nb zeh|!X`G(zy54`RI!#L03r83*Ba!=^c$;W(zCbB5_g&+`UVtUSG5u7z-G-F1GdEw|1yO>vVP&l$Zn?8C zidWlXVD5yAF-a+GjR)nkn1Xz39=+MA);crD*A+5LH{eG-WQf?PtG8%FlqK}kc{3Bg z!n+Cf`g5stYY__j)FW^7At~oT(lR;mk6G9Z{3U>POc%ECEGwGb zoE6i26xd0SToqZ%2Y)z_65xTbt6eDkJN3~sE>eP@Yh0+q0k=sr#2YsA`+^0x)WI>= zUJ%Crt_GRlC-`4&7{Jut?zR7gn!s9y&7KkSfr@wSF}|+Gz3okTDt#mDx*Px9jDNSr zpK%8l)*ocZpz@8zwO6m00_oqz7{R8CJ)ik(ed4i(L{B}ZX0Y8@spf&km!bL3)aC4o z=4gXG{Cm_IAHEEVKfIGRjkx({H9NS7J&ARPMBxsNjUzOAl`-I1!P9r*$-O}Z<+cGB z7#U`!apCkhcO}KiH{rd6^UsS_aHNzaA);=Z#0k)T zPp4iaU~KllO1^~01j4#k9@|5`&xw1|ZW>|$1We4GGVVL}I*Fl{@z=Z(q(+h)#rE40 zAs$suAZ43}{XiUhaa?_$$f&EIBmA2N+b$6F(jQ@fnTQkL`JP3L4k9G3>31#@Uy}4#7|8iz_>cA zc5q^d-_SVq1&M$J40tpc0xrOSrc2sq2Z7HLXMz|KV<;XdO2iL=^=Z3dj*M9{Fk%!| z+0hj_X)}o7wh*>6i94GSMV86Wd+xh7+a|M1u_qE%yR!llu(9@(g=I%@xWSoLX61J% zhH=w6AEUWoZb?w)3M&)cA+@f}1v){5SNarzYt442Whr;D9icE%6u(B>9(TayUDwR} zAhJjRL1cy}8NOcE2&vI1 z`jK)nJz-Eu=g%5WM?rD6Z6**26x=MQMjH{aawA)AWI@^JbzUG+R{Fem?Tmam{!H}j zwYr>CG>7SSI6dp(Zc&DwH8Kh$`kzS89tPu|wu>^sE>}6W$cxqQIv?uFX+|0FmnqI(JLcPMy5n}TEpns zLFVUq+@8!LRUP&QeCre#du{(JNC6}zvX`n8P6_Juhcg;Dbw)H$sLzI|>*unhRe?lC z7RGima|$ALXdpP+T);K9*AM!}dBLG|QIX0~zg4l%mjf$mN#QcB1o$(hf@j;uXHaT% zs_!6Nn0c&lujAW#iUHPb7YQn1MU$%{kC^krN>V`8@c<0RM~UGprVGl@s|e3u8|iV5 zb&(x7ltSDdG4R_2@Qf-ofX=)SmA9`0<`U%&DDnpYP>Iz(@7iN64Tm4%qqVfipbKC*i3UWNpkl^R_IA19rESG&&z_ zD7jZ`Bf*zWnY<5mV+em1Vdq$uDR<&?*9$2)HT7a^LsoOQ*FGdqeL~njeFrhyz0zT8 zN$7RHhG+pI4wqBu~K1=&W>R?tBh0A2i4dF6*4zBEF668FCAPFx! z*8@MA@^Opgt)Dq;k#sUk7D?OT+9El~HS&LBksOLLD$O}IvqsJg*T|`VI;D=sbS>5LxllzMRh4>YJMe^<;5o|(ajZ9$Qx6~xx_f_ojG`d^p|-af@(vt z-GDtxYEKsF%`8*tW-`&J)K+5Cd(9*M#p-d*9I)=CR=aXOdg)7lhZiy^Q!BY3EFG9O z`v$K;CT@36%V6|P10v(om+L;*yi^5c>l*mHdNge=m*F=zVnGH>>}V+apF46Dq~C|& z{7DtsBY~8d>gF0_J#3CJ=}&0D1J4fxeQE(EG8zRDq$KH1@Z2`we+aNuF2^4L?CjTr zYIcf3nHllCs+frjwJg>JEGK~SV~>OX*Evsfbj z*mA$~3Ch*G(=>;gQ|Bm~!wN^dGQ*!~8srR1kYR=|{ZSci0sGNWA9%lUpr0+rw=Z{F z4$~*cf5KH6f4X6J-=Pp_ao4s6a!yWeZKcA?5la*I$rcP2V3^0z z#1p8wM-x0E@OnM-(@{*6=9%wYwTkl*Y2r?0cWy*$E1vpD6TeL?Tem*hcaX~%mr9dz zxajyAQkY2_F45Q7b!skX)g`#p#+|G>gJgAt`!HOv<}#RWSlfavv)Z$DrRb)d;;#oNZRNOni~4DHw)?wa?SH~`A$3x^@1R}^>v*X3Kcw+K2ABkFkSslsWT1%C+uF6_hC7lTGb4nkv zF7be_6+c?p#KTpY3qDux%ZE>+H{G@MjG{?Ugi+3^O>5xPwl#2S->W|pBj{_u>2NpS zxGJOYoi5yNMC@|zVuklQx7~rGPLhfQ0J6k1{IQKlc%bfdia;*wv-s}i0l-P2M zl_7FuBl5uJzniRp>NNMYrwXx-#9%q&P+8Z%4vOz5R;T}hGm9#{e~iM%1L_&(<)elWCEQo!H}ID z%y;twHd--lY#XRhYNO7Ri-&6n%~z>mPQVD2=1g0KM3hgIWFLUXn(K@$< zV4coQoa3`HXNC=t6r75hNQIn z;jGF@!&D$VYy|=90x_H5gs8#gQU@tcRDvQTvAI1sunrVe)!bWD0fWT`lh{WbWuk&cm zPefOQv#tz4pcJXUMfJ0zi_FgNE&aMx;Sc+kDOE6F0sV0N2uN~?l?i2yHpR8&^-{G{>U|H;I@@{wu zU~tK>xV=2r>$nryw!vHFrtdYwtQ8tpVWs|XYB2SOs5?CdK})~9&^n}?-BmFqaxhxu z?l&?3jn*~eCV%{>kpf;OPijn|&2)!8>nSq73WUHYI`goC9HhX{4!9AJY{yRRi967- zP;Au7LtS_HHt!tXfGXW}*-)yc4?t_!rYj|tFGEBI(*!p{gP(#&NuCiO)3tP4E1VB6 z{Iq^4IVr|VvtOVFcT1m2HdD#4i>bsL-sPQxQ8?7qZt8+ywdQLOe*);}T9F-G{DZYH z@5ggT!MZM8Mm4hJC{)W{!xZXtYP%0v%UC9(cAGV>?Ra&hSd4yA{fa8ge)GJ6m3;ui@4pkJmyaMHzB2oF=2lu_(V9=^Mj1<;>_HMT8oiIkl2h?%|8 zyuVl8&IGVyIKWRW0N&DOv57p2$>$Jdtu_*5uJ1w98|6$n}2#p3owu`EoPX(0a5^Z?1g?WXd`o z(`$p!b#W_{qGe@LfiO{+tz>TU0&<7ytSGkx{QxrY7qc^?ixpl1hOf0@U_QI#&_*kf z6f=U7-9S-tlO=_0D`sG!DHS@~vIuf4Os+syj~0azTj64954E_$pwO-`7N%+|wfQL} z4d$0Ck@T(*I>BkDOD2`~wRV-+wWKgii&C*Blq*5trZUll0OszUic5{!_#;{_n;@XecGVE=!!s5 zn7OPP*msKpOH6Hj>LUyX7c_A=(NT~gSy6m&XZi&*PhJ7xk~k&kif+{54iM!o!^QLl zPP)!t3GEw3wdrHgFf{u*$=WhD5^fX0DcF|u8A_Kq-vRkk_ViOOv(kXI$65qO)N79T zU3PlR*oLbo1CVl2?u?mHpluoDQzA@(ZPuOY=wm8G&E3MgG}*X6=m(_z9@ts?@J#uwwg6e{Rn$h_4IK>=5r9)yB+-A#Jc z@m}*uam?*T=&Fjcl5CxP4(M1)8QEVv%`}Fnh@?r;VwU&hQk=-gaidQ(HtG)N=_O7E6Rk8GTJ3Lg2T^tCl z!B79vh4mD%OO7Y<5KB@}pzVMza$Nkh-;&EStQ z8=Tfu5Yocw#(77X7#629F={c6CGp9TzE?9<8eKtt;!~wAk4vgVzR+E|d`GT?@O6vDN;A}3D&olLn02Ud-#wJwfMrAtBbOhZ#i7oo(U$>!lWu*qgf)=B7H8Ra%uC2V zn90nrA3}S+-S1C7t=4AOhvA|8w$oajqbcLxL*105MsZKYtOrT z?&;1Ol}YzGTz6ixg0K^CePK&8>5k2$8Yb0v_2a@!x>=cY z=i&k`l+v6Dn}iFvP;Wyftk$`JT4g5eYvw|4DDUJ<*x%yXzxfIBehJsl|KW%Cbm#pQ zuFGs>PRyh`9@jJH{57$KxMBwn;`)nBy1Y!fgDXZ2+VZ_?Deqle7kp*{5PH+Xgb}ae za^v=Us@q%`J=%=xU%#jF?#`t96|S#a*v~WR{u5V| z_2Va*bU(sXeo`5EzmMx*tRFYxa^7Yq$;6JxxIA2=zI`0!9gXX58;`-6*bkP6|7yTgJMqKoR_Wjz$GJ^k=Nq1`|-M_nZ!0+EO>3)z&cM~pG?{{!fFFi_T z(k;!TTapR;wz-7umuAA|X3~8VmxIec;&SCp&7_;0NjCu(<4Y-ZxE#Jz;bMFVJ1vv$ zE4Ub6dN~G{!}~8=n9_~Pr28B$@cCZoUncBWT&}!fnXsX_TzNUT9KQTMsW6rI7A`lB zUdQFym&WDr?*&}0yr(ni9>>M}An${juSFU*ZDqN%yl% zx}V}={?gwc<8pN4Uoz>wn@M*=CSAg%qvZBXx~nqj7UFXC&d25E+l85Qvx0P~>W2{@ zt;oB3S!Vfi{FBaGDkt+;L}kM=8o@vK5F-N@u)tDcc0EFXeLDP}jaC2fb?K z;QMDu;>1HiQ3MgiuBB2Zkab20 zJ_$3;L-i76H-84shvSY=0$F7Oao8mH)ZL}UB!RPvnQ0+7c(dXdRofeih?2Y$+h3gN zP&a|o=tuL@bvaw>+TZ`1pemEb@2Kn^A2x4p*diH)m8`sZvgscoDnQ1hQX+)u?(rvyM7$M)yw8YBC;wR zl~AXG;i|lM4dFFqNWk?Dvo?g49Mk?yed2f3iI>*R5y*Cl3Cz{IhWk`IacE3UtYdw|`d^s)> zR)JA+pAQc9=7L+RX0rFo!M4nSZfCt6+-f6?2ATZl3=UmRzE}YPo_=EV;tc;2q1Wla ztslKUt*#t`UYauwmJYRm*b!0c40CWm65yCi7c2bB7SEM2OaC7movEGb5Ee5{DW=_^wPnN8;d|q1%U`TXoL6 zGF|ae7>6b!&^R39<{km#W`!7MfC({93X$P78-Q|iLzJ8LaVU59=0i}fI1A;9kBD+x zJ{sjd|Br{G+%UopLAm#5{6C3ur*MP$aFn~@C7~QD8JN!l?@Fo%gPBI&suR!YWJ7Z~ z%I)VUVr9@tL~jL82_0N1nVG{-rb$Jv_F1>vbWv)dEd{t#K=;HO&*gR&YgKi3b)-V1 zitnlVg8A`?tN@qGSCe>YZ)Je5?jp|fx^->x=v^R_WYSObzuO!Bl)b1|dg9$}g9k0F zG8-(XeCS>OStdm)u~94Ddo_vowcaspYdT&{HcFDBp|(||F~9YPoMm9yYVQvmJ#Lt} zC%OW2UUeJyhz?8@`p-lf)oV?}hfILk;7=`4M7gMvuOFMe@d%+L7_9`Ly^sDn+P-$_ zMt0wPo$UKx)`}%qDGuQZmOScmw(z}5^M{4UpJ^txbeqT@9no(~B$vi3y-ZUf4iHVl zY#&9+Oo+=Qsduwgvw#+w*{T=|fvk5CK?lr-*>g3qj0iI>(h?afC#{WLDE%QWIeD>{ z2wGr`cr)}_Yu~~*i}YrH>?$i4&4SoFCZ&umC|kf)HD^IiifxFZpf)P=pfsQDHddUP z39klHP-Ph&L>Q0j_j2u|tVOg3-Fq~42#!nNfzxTpqENS2&qv~Wj{p6nJz#a0KI2_` z6zj2(u_k+4o>S$TQ@DGHwB=NO!8U$dBO^KTk`M&_e#7SKB)FI=+$Y)sx~7KW0v*P5 zd8I9pk(d3Y>}RsBWt~n~w$!tGgB+Ba8%gcNOWO)~{{oBiw5dmP2kdW!Kj1`Yo-aPE zi-=+0kBiR4Sl-Esy63EWf~@4X^YAL+Rg+rXys=)Ed7bRXtQ4U9gv|g7(>GsV2sx)w zAQiVoI2qC)P8u6co&jCu5((!;#Y$T2l41%KX{lwuE3(VJ2z%|z8IXMuLGx9*Ue9JF zN5U3?!AJt6T)N*ytcnZ|a`w3ZE}<%b>94Fhi63Ns*L|&`KA?n6nL)6wGyxIWTAhto ze>g`5PPMs2nK89$aH)`X*DYlCrsU0>>J9+QT!JEQM4d{E@^@tAFL%+!fElF=JXR1& zUrarG6!d8o6dG!Esmm<&qA<0o4mG;e`_8e{78FzJ6?t{JQh%ZNHu))79ZVg|#Vl{V zYZP^MM9K-pQ4rDj;eUXBpmGlZ;3&Uw)Z>z?A~(B4=nLU6T{aicVwmt?z#D-S2#T3h z6_f!7h$wWlrHkvxWp$*)c}P=enu}*aPzpb-@?DH@$<*JtX{CD5fK%j3%U1a5>cl0Y zj&U`t@I2)`CqLbXs1YObnS+G;(*MpCnU%=n9-N>(N?_j?|HgiQ`n1~z$Op%Cbq~$a z`p{i_xrTddXPZ8W&JO!sX1~krccuMGPbkr;^(E0Mg{JP#HT>!?+TB?$F*$!*J0;L3 zg+%U&PKnqPojN*5bV~f4=#;cO(J6s;qBG8Kcc+Ba`lFP-z`3<^5bFggWD_jWsRPMG zr_6~ZI(_>cZoe|*nCKkIZ+E9IG3bv{HU!SCon3MzI=ApiboSWq4*T6{zmM4OF8kfh zZ+B-ezxtz;dQACd49sQYmE6>mw^+0atQ?jFUIBeYR<5PV$CbB;&%H z*Yu<}e&+_k%bP6ZC8tZi(>r@Ri}Rb_rU!F$tX8r~X(wx|5fnFm)1B(3clKsG)1z43 zW_D#x?oqMon~EvD;bu~L<2RwyIC|o!L2X|hyHi~t^d@NqfZ)}URa_Y6tXoGZ{tYYD zU5wM={#CtFumtIz5$nj!eBv%SyIB8T>5NgpqR47RpkEWexPT`P`7VSW$Is>EF70+c z)XLXKIo!x%-LrkMY~;mZ@rfj;j~R^$n5~gMe}om+${~cOKPXUpI190xvVGK}&0=^mL_Oq^72kM@;D>Nvc9VLv(S6)& zdc^B^4|P4dxXAjal&GH%z;CJKI;%CT=^PmS5#EvwgFMmazx_M!aPvm<&; zMR#oDYMrqI>Y!CjGcZTkv`^Z+3x-kgu!|=T9%P7V_ul7o&clI*SGv>dY%urEI}K$@ zU-4=;A>^;veE!O%UEb0dk!1goVFn`~r5LL9ZxDurBi|`3A=OQ`NoTCZdTt;YV|Hp$`fxJLsQO#eQT60b;q4_iqxiSZ>Ks3`2xZs|jiXOfs;A!8al7Vnf(Yp_~~- zqh>?FatU<|ETqpRt(cS3SAZHd!%s@>&s^;#*6 z5X;p%%dO6W6SrA*Vyh#2h_!xGeE>ZN+ZE!wE3RC=HP6 zNSFLTRi8OzplJw#sGsC|&WGwOORE*ryvQYy#seTFx+&5}|D{qQO<8)cz+AEFR)GxB z1`%|D`a}R?cKz=uxn%QN$FXF5#Nx#V%WkS+gF%!`Yl)J556x3j@=M??%CE6=b4Mn) zrMXKy*%i;lO~t-VI;crNLu6DHjh@a@_HjsHK!qMhs}@Cs?VGmeQFm+PE~c}LqXLEa zoX7^$67<**;9L~h=S_x+6t?o@n0GeRy>L$CfVcEo$|FA`q2cvgz!BOr#|mX!*2vew zwBplBc@VKF4+)L=N0otWih`fH1-5V%Wy z#WW4}4=G6fox`YljF^pWEAS1FnXD?oRCQY^Me1fm^|?}oEkF-Q+BSpESy8$CvN}3w z8nS6vEa^U|7Ag-6gNLDI=91krrsj9a!);oFE5q7z_U z;2AgEs0R}u+8mcj-Ixrj#`h`gZES&9mA1X>4fskpVgGa%Jl$r?*S#Wg;Ndqy{#|+O>^a5 zBajTN)(4RR8*E0v?{tJQYmL2GYysAOgh;Dsqgdc-hM4&%Lm65E<1dqQkw}@Frv%xA z;MO)|i&lhjz~EitY!#DUwba4*#&$se^Ng~OYMg*W9_HT0Q3t#~22?Ipf1uBe3z$^bp0do=dT@q(XR&Bjj!X5=Mu;B3Ra;gos`cY^~0W2wW3Q|T2<`lD#IcB>UVH@qe3vUa( zHcYbii4fph#9Bd$CN(Y~rWAnSn?Ohv&L*2|v@uw|Z&9{ZU}gpHme1NR#nOP>0$sa& zUQemPJSDLR7I^iza?H`%Z4;P?xTtPGly}h`C=BUDZ$xd4I5WO__U%$z=T+kht-}aL5{->Xtthaqxr-L$U!Ev4nK!X#J#3e#xUAY z+z*#TS!P~YgN2QXYZJzIFae*i`y`v5%)|Vbxcm$c4)49R0G5g>Mjcx}Sl`+LD)lGi z)7)THMAQyX_1WA=wS<#TKO#7R=G&N-6K#)MN;6 z!7Dl~Z0ggwfbj%OP70l4t6!_KfB`DQMh8fn1#7#AsMSXF-Vn(xHjKdmwZ^SEjH2Nc zOApOKm5HLjMDWJe5-nO<={2juHLD5O163ghgKrQvmQ2hA;qSX{Q4Wna2EysTiJ(c6 zH#}m&Lh)Bss=6XxL1{r=teQ~>J%(@->sSuTB-V(#_z7qQSqwR3D9py*F&>5$;;rEy zD8{faE49VgdT0yV<6fy)?T3{9Vf{RG*_H5y7%S86!Q1o}SnwJ?7(}n>EpPI}-r0{W zxIp~>lvmU9r7IZNS$H^oKdMr+YE)kxw6kdkBm96|P|+cX0)li?9!mF^?F?<`&1%mZ z>A6xxa{4zs2Di5zx+;aNOH2p?MZZm8t~b15VW0|lU;)OK6cIR@qa*^4a77cG1u7Sh zXo_V%U>ag8Ei*)cTp$}cj2sQ1ComwyIo<$)jA7ndQ(vaMTg;>zP3TKYHI#&-hSE(} zKP^$eAB(zvpDg$sqVL49Y&7xKr0V2PwQ1)iw95APQL0}mP#{mvN!Vt7Ojpg)JzQa| z^y;=mXYP#hYCN*(A<>+N@4SnY(G^$bSG?Vwv*6qO9_1~)i7;HboHyc1Jh(AE`0Y)( zZ$^L8dUWzr3GWW%DTChLbX4o7s=Z(3e(L<{M6MTY-*{B}^Es_Uz4gOCwQRU2*(E}N zL8;&WXWzlf#1>v-$D*No=XVJ2gbmJ5z41uj!Ss2E0VEgo)=yS5j*enLNR3!FDgVx2 zQw^`hlcHb0%lp-*+F#-Q_N_dVPNm&PSvxy8*QS_iPNj+F!St=U7Mq*?hH_`?hq2&{ z1XAIB!p!x-_I*XEC3hfS4IUCLNX^HW{I$SpdqPYGU4H{D0=cUr1q{;yoc`Qg6K%}O z5B0rfVzalPj>9mZE2`S8q;>gVi1tTXt|$699TdpB+D z*tXyp0=N{ZfR1faz4vPL*6b+|IfzpJf*aU}7V!XCsDI4+cukXo3!){6TWEcII>%ea z^)jp4kqX9zN~=wCjZ z5IwZu&nt2**W(Ok`ApsLr_(=}O0OBdB&HV~?3e(P)lMna&buL67CM8pu@wK)$MSPg z8NH2`cUOdmGciI7XA|m=E9U1cT5Gq}v|{?>hVyH@_Z2ioS9J6gf}Rx!JZgvF`~?EW zm5UbHyc}1geC$7)FQJn$8C%l{fH)={K*Y{cQ_iDO(L}gkuW$yHH%FuV#H!odBpb|W zf0vnB*cj=q7>yT9D6CN3vjM8!T8*(n70zz-mM-UjAo-s*46o*RiC)sC-;lH?uwO#u zP$DjZO4Wc7RV6Y&3nfvDAq%vIb<85E!OSlbSxq`KxMMu^IZrpNn3eB3&`6DxoH~w5yi#0V z`|klzec~l@qrPRMY}6ZeB9mU zmKj9AZEcF~Zd;}gf8A}%onuh@D>=X;;d%m8mcAmbjrJ`i?m&mRDtcF$U$^3_qoXV4 zAFb9`F00Ak;0WF+B3U7Rh~A|Rr+1$tO-S!j+4OD*5!n~UjTBtHZzWA*JbB}fiG!tg zey0y-ivxx;ATeAVxcTG39slc!9M6o3KWmYCR@k=s<4Y8Cei2J4>33M<3+_N2gw=l=yuldPSuhv#l2=;QH}0E{rfG>E%3= znQ%%?q=Y+|Q00e9MZo=%3jz>RN0VWa?bq~x9T-W^b(K|2xmFz@Z_wDUl7x4(Nb(M( zW&~)D<+`R-AjXL>rUXf;?)t^fS@qU|^{CU9m3k?7_w& zVyi}{FM`@o&am;6O%l#RLmH?9**0n>wKpa0P1%T1N~Sc!9Naj-!O1BpG&a)p5*?M9 zM3s9S*W*2DrkRe&%lM{lz7>UyD-Z@=5?+Hl z+5QN%w5_$JmLV`7Wj){oyP!r{2+akBiQuSIPEWL{ec1k*R_eW`d<0s4kE65siZ?TQsw)-}J?w(78M0<>R;gFg6UZmI z&{qDMM5;RR2FOdN#FL}{;QH=v+PP5fYrB3E?H~dqR4Ex;6cZ)=9*aNJF7;20)A=jY zYEBd-T0#79xZIsJx(1hhHyT`?E;}+@QuX%{5AW3a8+|wLeOR|svi3W`^o~rK*vT1! zO(727$Ag=-zA2GnAV!8@CX{s7!pedR7#%v~z1UtvUj#I zq&O*|Q*@$^6X!&yaJ`PphB(EOahHmj$(V1^+w<%lwdWXdTi}j)Lv}9a9c@9gTK(;4) zOZyXV$=p&O7l;^uq3qmImOQvpwXRr@bLZKUCr^$h|AL{F-6BS8WF)cwomUe3qsfHQ zZ0!5omo~AD|I%Y9SIerA4})2B@HrKgH0JeSueC2Zv@Wqf@jx{3V10rE?zTQMyC`E5 zH-OgJ{Xt0P9XrH3e!LpbANnSHP(cZwdtSK#^zQc&&->1zJng2Bk^TXf?<`;VL;Oa~ z=^*~9Bg7Z}ZGZepKRi7D)#P_OTB{><3S|J7sp-alvbpiZfcO)__%av&^U_1}Z~H-* zAG*JEn|FPRF0lhfFNl{jq{h0pDzo0AEyMy?$zA+POt?18`LyMYpNo zs0I*^oAgJy8FEUG*YQ0{tY48k1adP)?AL@jtjDPT@iQYA;=wZKw5VhG#9kc7t5x`$ z_0Uh9`A(RJkFA>X#PIa+UmGPvd-98C;A5BBd~PEltlbKY+4bViGoUZlXqa>i2;_97 zYYEBpXMj1em6WDdo=>YXO%2;;Di43w=3Q1|;G|&y6OjGBtuUo+KI|85yt?qZv!|08^N5Hm|i0UIRwigXS& zraqfyQ#mxxOuDGYSrAuH5WUoClss`I9d(~7neviXy2ZPul8U|3{oXa@IN-`;kpcDz z=(2IDu$Nf?n^wFw17G3Dh%I!mdu61V6DdBpQcEa+U_FyQlw8XrBDc8Wj%|}`d8AEY zN_Mk3h+F1DsEP2A5q=zVM&ZF8p&6^lyf6uv#Xq3O2{&4d>vweK9eZlhZW-tuM>EG8 zm!=0A1IAPLkWh@W9?XN8hM|^Q+%Ae5Ks^b4W+d-N?GaPCr1k+eY`C~-K*o=1_PK+B zQ)w7ue&Exr-8{3}AqT9t9b`4+D^^?6z_ui{Nms^VdG`pk08x9r&IiOiNN-Y*4q+TZ z+(G&tky?WOUjp}By8V9x+~)$zj{~<>sy_hk&`^WW0e0LHV|>7d->|&Rg8oR{1_+!6 z3zI=^+uGUoQsOr7+IEsV`TkZI^M-yzNqDvx2>>L?=00EE5(==|M3TX!{bo7~?mVE#7szo@y!?c4?{PLPil00@$X8 zuRl&Xg+Hg~lU=^T)8RJZ(-W8pf=^FW!q#jNo?@c8Nqb$+C!$yaDoS;6(IJ||CH-?U z5xaMlfRgnm_Lge?N5cpB`@<%kG z*_*;lFU(3HZrs6actpoGsT;cxSm1~zhe!5apMenfEARb06HitxkyA7z?$ayV2M|^0 zm2L4jHyf#20;lQhE~buN0&>Dh&WV(1yJ}0dmhG`Fa4ZcW%6ZDoGn&TEEi-3{oGwX3 zPM4rqsk!o@oby~xVZt0lidK$b*c>z^6Lb87by=0oC|(Rq;9#D#_=wyRm?P$(XC!*BPy2XA{tCUG5?< z^tom%Qg+vf%jI-UXjOZ7^NHV!00e?TQbT)MaL>_g8dTtv0(cSUvb)p@5s*Ez5YozO@aGI-lLAc>|-ZGLgM zCl(LxG%JZVqq%#_#VSzH>>d)tp`#3usat?c_bqx|Bi5Qj;;fVl$h_mYMXA;(kWBRv zxXsW;l$n(b3?mW;I@t&}@1=h`$e=$mp)3Jvz;juC0NebV%y@^PKB3Y)k&Y((8JAkf zAzck(AJ1DRp0y{RVjKr(V(kDf*;Av9^2o6|oShX&5Xivmw>^BdE-);^q zjHJEIdAb0N4iWXo1;Fay8x6ko`qChV5+VPThcf4JrFlOohw68}Y4HrdS>bZqAFwA% zyR@z8qAt6fO@4uc8eAwFm(pSX%>4J-pOsSil!v1IXNWjgs$%}42{fmkbo)$0O8>eI z1XBp8t4m$XZBd@>e=TBR&-8H^vGLMsUCgr09Yd+fE17QUCmmX<+2trO$-N(|;Tro8 zETzC`;+i#tnm`ENPs>gyT&+BpO}RKq)~WW_bG(khCR1fx1lfRAJA?hIv5c&=Y>c&x zK~cMz*HE_4x}cWGJfMFn$@B+wIDiT!G#8}a9i<+zR}}`qKiRfd`)8didd(?%>wGhU z_<9jJ##{B0tVIW5$^@ilXA+D0k(CpdM#7+aDn#dlWRx%;hcioh$W&5y8eOrlsz&(K zjyak<6@+I^HELdKVc|q0AYc_xWFSqoj+N==u1nJ=^#7;4 z>XqK-U3-ev01j7BOslP%`$$Jxj-(Y*j_(cmywZ~nR*OXbmt~o*Ghp(G`qzt)as(KK z`0pfF-amg{&9c)~<~J;q@xf9h(mE3}wkr%ZkH`Q4#vxzC^a+xw@NB+0NH$tki#rUG zX)YLVXdHErs6>gxVF!r>bndg$Jn`B_cVIIWCg#Ki(m1xl#(68w7EZ-$42y%bE`?Xv zqE$v@{dOB2Vi}TD@6U8LMS+F#v$%_<=qe>8@1HHnE%$GyUTa2(8(=0Z}|KPoF^nEut{CWZgooV{sFe!^hbP-;)C;u6_+1=-tb(}q2~n` zkjBm%dcVyUZm3Rt62H^c{`OQ(H0M2DpSU@i*r;=ZXwJL!$;#aN#JJpOvJNY)r(^#8 z>^u&Lj*cGtb24amDEV8*;SuBt}d~$k^_Z0hM+Fz-G;GVWyjywgYC#rMu~D^eDO4nVVB5PWZs)>Qj1_{Nl~c)k#mv zzS|aGNJD-l#>VthODn^Bh<4I59d*?X4Ho^OfsY7zQ8og9&E#l&BHf8s=JHb)^u>q- z9h91744EMcSyfU*tv=;93w}*i;|sh}8{I2LEI3wvF1^?YT{+C)hMh+HEi>$+k5v{ zF01q@c_MxAzm<=4mTeX^ai7RgNy(#qpa7_P@&iCAox{!q8tMqcr6l z-2lePP=2g`nncxAftX`jB5vvfprsVfS_xMGoMFaWVBK z|1zC0#9=PPu~N_;d7mYP1b=beu2W>pwzdxw+)J?jt0Vksw@8%a#+=)hZoC8w(wn?? z8Nns#GgSEjUzHJDH{e1Yo)%p%q50C3v+ECw+)Xga8+X$Qn!-j`twl6zs{MUg0cs%^ z-F9R9T%j+!WW6rb1*si8TY4|V15nxxLg37i!f3P`6(hsS*7FHIsmN2^hh?OV62~afi&6E!d>rB&E zmtx?zIJwaP6;71ea7-FkaF#V*VWEENa`ju8pS~It)4U`aUAFgupjunl8rhBWE&hX> z9nvd%PKk77kMpIM^z#8f*cPEjEe@d4CyS|&7ZfesF}RpLa+@-wyFuDa;YueZv)D`3 zlE=5_(F`DELW>k%33uQhp;J!s0d{hv02U0x@q#Od5nz=R z*pQt0!{(x0TiIP%ps7zjc(alR@fVw4oX0MJX-A;1*w&M!8SDYs3=1SqG1b1p3yRdJ zNA)ArRSrO^(HM!7#oM55Al4q8nxqVe(1|2<5~CE_%(UxV3n#iqo7_1t zFQC5cUGoOgc62`K5;@ZMP;YW+^>DSCZ&C0aIS9p#It12Xk8CgN%84eAY46FYOB^kt zuUaaLL?T=%ZQrnvk@j0`x$3Y{K~DG;G9d}4P-;Eu&|2HRfuCAghmKHdn>EXhWG9&p z&~L1K!{I#F1b*Y1*$#;%>d;jyQ3k=mKq)z$A*&R`g{Mj*0`MCLH7DdM)C~jwe=+wi z@Ksh<-hUEKV!+^YqQORs8rx$V5NV>05<$%&=Oia`VpBmq(Qs))DHYTR2}JHTiRSU~ zARV>sy!JoiR6Eld?X>UcfUR~6w*;?6R79-`)XO&gj|xcN`atwYxL-jcc4X8aG;ZLQwK4 z&Vc#m7z3thd3|Ymv;ouIj{uB238Qd9dYLz(i?%6r6g4i>&;=2i;J2LeUnMN8FQXBr zDW&_7;He7HTx#CKO*89Aw_hn0qTSEn0%N~Ur>x*Hgn)VxN@n6pZAqJk$!~=Jxu_#3 zS0Um*qRvGzW3Gn>L>`qZLV1(Ym`#&4=qez1n3^tsc4?I|J_@pZMvNQnB2AC;B~+_> zKxNQfo=Y#_-{xX-#2*mX7$(n!{LpsuUR%umAp5A0x=(FM}|_?FeOMpLwTu*le$Pb7n zbnmdbMF~Z_UvkMHtLrto#6YWe-YT-;Wn(M~MS66;TC>!<1*~A2aCBr(X1f;)d=jHL zg21`PcV)oP187TN#*B ziY*%`GIUm7G?YtUMeOZ*{0=cX_eLb{++!|*^#q=dReA#NN5*|PbQi97=__K*U5|QN zmB&Hor0fxQJBg_nOkKI;^E!!MJ7Oorm`rm_ADOO<03ThZ$5$kuZb;}MU1r@_BLwl8 zZZq}*vO29zoo28x0&nlpY1`B4wEv)4Ih}j*Ms6G0ZzXQOsr%G#=~qCD^VWIuVaVjq zYVFnS|MRV_*RAwl*IKjl+53}4=g?d=_MFZ=fg?4P7HWbpPs-A1uF*5&YnJ}tBJh@b zR*RRn{m-{}n#{_7rp4yyX_f^eJ!EB+X-Lh=*b^`fAGv?zw#z8mh)$$AZP$9o&CUx0-nq2joJ&;>la5P*6Ns z7m}cT8BKRNK`u`Z9z;lkK)b`O-9p>`&}lf;XmHFMd47Lq&8}NcNZD>AVu9mi|^He z5<%HZXtf>Yu} zMt?MDtV@W5`TAHwBqZ`jtDLUX$Rz$`2oSyh)5KYmPe{KTuK@%CU{VOf8a|)sOAK$l zYTf9*JTmK#Yi?D`w7reK0PXzrG`_O%McoX{kP)Omf32*!u+L0uti|4>(ST{i3=H1t z4sY;>Cd|G`^MYf%I}?KLC)Up>j8HT0tma$I7+B3eG{M+IBlba6M-$BlBVeqE;r`GY z5tlJwR-aicI}jq{pIcW~E%unE8p!U4DQV3^a|D3ZeJps&UG2HC zelr~i_HNAjJ2jc~m;Mlhp-!RZUVdE|}gl`O;H;W?N|rJ4|&V|UT zHuVhYAaR5DK0ptN?oH7k3NOCX9d8b}R`K0tsj)Z}`4Iv4dTa204Rrc%>3#vI25BMP z*6TikBEB5qqt}fbk>mDv9!!VyZBPyC2p^6imoF49sbLHdwFQ}MB+X}V+5bGsp=MzW(F5@ z2qTI6BHg>7)8!Q>27|eH_mF4t{qC5#r3;CwbaO$rpiM>m!7t)AGl=AtwT5C0gqr~n zP!AcbD*O*-G-iO@p(8D*AcIxSozuO)^BS*m#rO!`X7DRH#kWD`kis2zMl`wTRtJ5z z^$+bbl^U%-@u`~be%6ITOaMWu5oUhD*AUBxb1)OY$GPsLD8AR7Mc$lMWoE^zNoJ}r zA2qkq^AI(3_gB4Voih3rNKXwaSlA!c+s~%1P3Vkb_6rCEkWQ!i6E7kyoh}+e*PHE_%d5Frk~`BExd=&EaQ zB@uJ-_k0ra?<33+4H5W^c-T6l&0lpcgkh~cr0Bcf zsdpk<3b~pmQRR;K3YtA%rCnXR?9}#Ctcf2lJ8|B+_TxD*Z(0^?$F{`8 z$LFnER?s$9{J5BNbs3FBf0hfTm~;A-F*_v_6FOfn+uOby_vK|T&Rf^^#=x^CJ&gSR z>N19xth9UXO1Iqun`7=ZMddpK4?%yq?;B+425Ja9S5;tm;!VUe= zU8~oTUm4PoM*{q^tokqV>))8~HNMA`dBnavDJx^KpE2cU{JNLX^yLn}IaMCuf4(m_ zb4v5OWCMQFB`5nOf3)m#hxg{JjH~>Nf8%F-*vn`@vV4&K$%J}+`GTKzoe5n)4}aO} z>hwdGna~zc*0ut~43Z zr|j%tRev?+v?^GgNKMQHOder%HF{vXiNB?5Y>vikK|J*;WK`x? zU*}bCM&(66w9P&!2Tr{M_w(Js3Yrn)enE`JiYDj1Q`G&lR7{ic;JemnmwJ&+a zx()dRZrERJh^+e!DRF5gKqWppq{Mr(OEeAnJF};;hpZz?4Kc&^0YhV&x6FikxMHOr zI@g4HxT4Mvz1W1d6vnDfZ#&K8oULcu&%nF5@!!yIP5dRxI|Mk<&IXMFeM6Qu1 z=6wRCz_LBWwJuH4FW0xI&*0ArZhNZu4*mpZKJv+buZnO{2+F|iU!^+PE z4`k9F{p53BE0iL;2#@%rzJ!}1?LEdKRj z{gFGY{Bwtu|D|E+PaFn+{jl=q4y*r!Vf}H>u=2k*th};e-=}-|GxXMUY0gBPdC;cP zAVEhWi0QIiYwZZZoChNS|qA2eS?ib{X&fLTP^alLqul`QYbQ-8&M7^LG%$P%KS-CMyRBhi+4Uo zakzES9TPW?&*G^Tor?5EKM^P{PTYgLiMXw}XxzTaZ`VuhBM=yfcEML^-p<9&uJ!=G zFGss};A~XnmS`6ov}Rqn?=_LHMZ0?W*sRDtVs=a7z!lxx#Ia}#|9s27ND2}egJTg; zcM-64^|l{P$U-lqt2e?{P-I0vvZ8-L9s?ET!blYiATBJ5tnSftUBv!K-Kc)MTA zP)}*B<#4QJU%k`(4h+Y$KhaWdaOQpj3TZ5iabeQ6*DUVpLdC@Tr5##11 z$VqM{ho%0hWo~dW2M0Z+9=2v1_CfJfb#0CA(`H7D{XA(H>D@1rLT3Z4coCpGJW?=5 zMyV-SQ|hK*Vq8%kx4%^(m3l=IFuklEMWnKrU6L~M$GMD|^LB21%a;1woti_a*lenI zj;Xhgj}aHMi#A2(Lze_{@T*E};!2Cw~R5WpXq#7}BbBbcwdS8~@~N7HS;k~9-c zUHkbDV)v#$_STmUs> z3C|)XQ{pPRAhD>>JFhy^%27UMw#ev@E*h+LoP!p(xdx~zhN z3xtnZ@qy5yN>$E9Hvlyct8m=*~s@CPqavkW$4A$0e; z5v6UXVo9yu-jde%c=OBtg1+E)z7MZeg1{adF1PfE425&WS?aa5;r3Y{_OX{GO)U$-F6TfDc z_$Rw#_A}zwq~bD;5wkzheYUJ)bi{P1=A+2!dJ2jbJnwv`JUKNNychHjIH$1$&DlJ8 zQ6374W!}kB=P@18lT$~K+C3RtUE3(7p3{1A5u4A8sq1MZ$P9kUDh}%}Vt_I=PeByZ z;9Omiye^l@{j+M3Ut&0q606Nw+v=+2pk_+EZiGtws#{`pR*5BEC8oq$!A@SoMmW>t zU0IGvOXVE^(Ets3SNhQGQV@*=L5C`mjk$C%ncb6JoVK_PZ_UdB^9~bC!y88kS9)O9 z0lWdT)iivKTUA*Wm{+?&6@y@s*MRwf>9h=(kxbqUn3W0wG#AW8>NPUEV7>#@=z=*_ z{pR=PIbNa3MW)~0Wk$Fokty_dZV)4(wwsP4vs>tH3av-~)bF}qX0j9SjpUCNHX~HT ze9_H#j&n5jIU2UvN5fF65F|0TdG|1ZI5C%J=8s#&lbLz7Xawz{+f8Tuzyxbv1t=rv zb#JL@jpkLpM)Fh_oM2Y>9^(elMa(PH81kADx0tqMy7zU+CvC75Rf&9S;K#;pP;;nJ+~I`y&2#ju;`})M&OP5*Rxzr zy!ZY0ZhkktmW+KCize+Jd~&>UHP+;n#Fo3i42A~@zd~iW^^8yv1{R^}v(mRPQ?&jv z@I5yS-WC_0O#Hj42FlMUT=OVrS zH_0%pjkhpJyj3)%gzvjVu29yFHgNaiV9YriTV`iMo5HKu1P9|#`|sgk1YQzJ5R7o|k^T9%09{9>_x&&0wOx_++5!m-~? zT`j+}yn?Q9>#i|%dz~~Xr~O=FOk?_L)G*iIU*k5c#x$(I#z4qGOXI`upW`TbVAHyo zb8X?k9fR}P=U*%`-CXS%?s_|z>cnaRkTiN#Cvw{7Ql0570oYfg-gCeEYuw(eaeL1l zP+&dXhwt-YH6$r8=A;(40N+#VQVZnXVfuiAPFk~kQcj!YGV2wc;28h_ew@GbW{ zfF)Y*=#~;9+zbt>NM(edpJY=(}1Rdjp{AsP9q@Qkqitgob$y5RRrPM(H4nqzs+ zifN2X`|*Z*jhtDZjv?v$_IrFUr;&rqj$Hm#Ox53zG ze|z9R&3VKbG4LOwNk*czz>fq9!#%ov zbA9LLz(sc3tI{QmFpTY;(VtheFsU0$tTNtiN@csNKzN<@y6e22zGv)v*NmS z?HANLB_T~(1d{FJbWCQxPA`-P=%+JZks-#z|BGgZ+`KP)zl1+!=E<-8c~bRQ+t0cC zAn-ujJ!YEhM(W#(3|7@Jj$AQ%%U1Ra2h6F7FaY%UR0JYD_nF2 z-pdf-x+J(rESt+X8(&hwIUg_l5k5+-PCby|mTz7MRwFG*EYQ0)d$6^GPl=0_5cU>%PqilgerX-akliX42;T(8-!F*~@}ZXy zS#xXRGfNc&lY>%HC6^vL{GdC*w`A)_kpcmqV#AIy0ajM&2@DV0Xb^EK<^w-qV#f^jg@5;BK z!m@2?#Djhm<=0c}wk5TMi1$&fA0ACmDifw&qLE*lk=;mxuaraGrysYJrN34fjVm^q zd8U*lCQQA4QR%>gL+qnw%?J3Z-h5a*#~n4;tyk@>x-&@Wi)2Bb@zIPP?0}qS7+do|1K|A7?vl(iH|W?U3q%YVAg#Rxqcq z$xaXowsvCMt@I7`l2<9)!SG7iXHBL5LbAA{odKBQ_NOjbt`x|!2IpEo zVxJ$u5xFhV0C!^EIxo)~ew2>tZRfzp50wub$NtJR0Lp!-wi*#DdW+e#`xUS0oy#k7 z+FvrK{ecI>g&4T4!C76AzE0bLPA=#z(@pZ&Po<}rP|*)gHKB%(=u004>#O^jT$d1P z@b=F1CKJkD<(B|je=6N=LPe>l0J#FkIXje=7>8xM4^kcv5?3B>lvcwO80l+& zPA^3(U#om6=3H9(D@-8>*gZJ2s3yZ@8+rZDc)HCk>NN zXy1owZoKMw#cU+T6v_c(@_FstmlWu5bdb5`M2k8%=hj0MSM9QHO_-heU2;(z#{6_BHQfRfH9E`lTWv*^YnSdgyTKL6W5lIjRm;S2l2~ zyWeEppCNB%9|S+gba}>j%?MSbPC{BA=_qq@NHe#cni4uH5-PXWPKBKlYdPev)j;Zo zb4^;7D;)Z^(e?I(P(7>LoD;%EUwoiuT|@UfZKE~XrS-A2QJ%477p~N*S zn0e5*j`C}b>F86frQh#eL6M}C8wPV$@#>0_egxPAnL3&urRQtNEn&WzATIN>1}Y*7 z<6rVFar+Ru0_HBmUdVX5cNwOBtLropL?(m(3>1RE>ds|M>5mCSK~Ns9Nd_*oB7BFd z`svXLR&qB}7}A(DxFr@GXku@*Xe za4vpyw&wq4N?LU;ornL$?5?YZivO$o?Rx5|w||$O#R^(Cc%DgpUv;QeTdl626UPb9 zJILr1b0;CfpV=#9wtQ`VG*U*!Wv=a?Xjuy5}i91;8YuR3(obj9)H+VlM%4mY*Uk&5P zjs{%bks(n!#X$1sYqA7no#6}Zja2Pk`Ad&4)FNUc*$7`K4PWRv;VI5*oDSg!wX@jI z=4e@IctIfYSk)gyOsrJ5!Vg*rKj;L|hXyXEFDib})$oJ9U6`KEc%*6}(SUy74vutQQq8`6F5yPNH%~{xRt$Y&R>*!ngWn*0GouYu9lJD24@wv z9u6bq@DX3aHz8~7d85T=zL*BkL!u%p_@6K0d=ALLv$VpkJOL854K_lk-ENElL6ImR z29mqoSOp}YG@Pu%!pPZM)l!A;!u_@S%3r^MVs3uXiQTNO!hMqCFQq_{&OC%$Ey0P| zy+oiPB5MW_ZdLjEoxUUpJbOD|sFVb&B@jGwmwXbrn2iX-K|~rPV7t{-0=f zP=Nm<^z*}^Uf>{o{-_u8a-ioDxe`K`!aPRWwh$*1WhMz!h!KhKfebs@lX-j=PNsAneLLyAKrUhpS(XC z^h#Mne}w+h^~o!>3;ofiGY)+kl6%^Ru6zD|xpYweyPjwCTb^gk>z?PN*F4W@uX>&{ zUc@7MG*C=glKKuZ857)ETM08QnI2Z6n&S&?9(}?tb$!#AV%Na4J7$xjKk@97Y>#GDF0y6XJZsOIbbvgEb5xF55!~Bf0$Rj;+Ob%d+;9~@2I=i~= zqM?}cr+%aA+72gL?M4VXiqXg-u(S5x`Ha|Fn4|l5 z=H-k-#A*CSuWs%tl7CD5Z=k3KS>H*WqYVH13>VR{Dq;!*(VlHiZ7|^7i75vB8uA)^ z4!)fRx+;PtC(Ak>|9!uEcx&_zZwUyZV?c9I9rJYu(HL)e$E^8?&Tvzm``*_4t=hV3 zAymF3``-(g#B-_r9RJMd*PhuQyu;(PiqEUR)vv#U`v0B_Z?hhCZfpgJ`Rq8fG5@1K zhH`kF4s$_UJ3q-;U0`*OASsb^S!xkA)C*n#P+_Mw;4fgEOpb)fk3?jyh#faRd2T33=7`lLJ>|Ildi{uN z=-Vh0Kq%QPtOPjOU0F@}+n+THY4kSZVrI68)gze@rZ<`RH8w^iI)uCkxnO!Ujs9P5 z>LOVmYr>|zO!!>>DC`x>ycglrgeKQO)Bghv6VRYPiRF(ByfV8KJ;NGlM>Z%6**dXVH9LYqGcoZRf_$D)Fd-l-2zhQXVMRi(D8a ziLvKpUQIlTrOE1m6x8agb?$llF4CDruItzIMf`Z{&(KG|Vw`fU=wnsebW*pHF{o1= z-VvCT-GfO$!6K?Oi|7y8OSn3-em`gZKwQ!TqjXDRbysUia5D2&5Z%K}olnTz^h<_X zW}zGro)N_A`d;v0lR@$}e+iz?!6)v09`KX`&s~(`!IOZ1V`P9wXU9nT2d0OBCzd?_ zR6PSb&mN6RPvDQHCM-LD$%S^9tx zzFh;XIgslxG3+nUbVK?Nj*fzc&dkaknK{|=D_W1YWhR{f)F_6xKyJLr3X2`^U^lY7BbwLH&OxLDZ;=x(peHFJ_84a*g?_ zukpzBt)-RgQjgcsISITjeHyVp+4#;Wk=#$7{v?w8He3WYI%tI>Y+9SXqGQ!o4Zpu> zeT^9(v$HlW+UwpI|CRgI+tef?T@2PnN}g|;Yc{Mbz_RwNpOArc+Oy6azGoT!v|s<{ zthZq(XNgz8x8l4#3zmYl_6KwkJI=r)pN@yWVF%!SZsMAqq28o>w!&%7jMv#>5MtSq z3->Bo^`_kru+}z_nZ2a}q3X`pnG3Jy$8ukG8Um9W3fup~T*bSF*P`32p60kxxbiNB z4Rq_CN4s~lw?ds%awi{iV7F#n%KP}loWG86AMc*Oj@9|g>K5JXpTVFT^;%z{&SFxD z6uZXWl&*lBa{CSbK;huZcrK*DCQC!W@G1xC0qr4i`#|dMr^PRG7uWSP*T1J;5M_SN z&&;pXmHIwy@Ov8HDpj|b=KQ}RR5n=eOzN$-``IAV|EfIe#J9+bKi`iJq)(J=$hy=Y zBb0wxMouI(pzrmA^}VF;6v)6GM-S(xe+E7<)w;sSuYZ~Ldc2DDY*v{Y*LTIMxW{Z? z(}U?7L3?nlD$+;eNv%=QSIV~ppId(V1wa{sWNxNtu`8m~m}*d#Q3e-vX&L9FCM%?a zkXUj#`{LHr6=D{^#<;||@1{m^$B?>X8oV4=E)>yCBeEH`KN9m`ml5L3lHZKQoO8_` ztdNne4Vm1f289GwAqWISW?Vxvu;N!O9&!wS;Y$Lzk7dTX{5>nJ!mPCSvo|(>9)A8h zH;C*gII(a7mg(Z$fFU7M_yBW5g@(fnXGPrD4ZoArJa^P$v!_OKMJ+mj2@3fJ0`^K_ z>%nlZu35OnoeL))A3Qpw1jYOE_%W%0smLEZmzl4rm-tSvV6xG-F}QqxoTTo3H+BCN z^eFe)dcWITpGsoK>$yJq=dbIz>xT5)Kb)$b6N>bDZldYAECl(N@nd$seJiWq;6i?; z-&Vh*W|>YadCKcF)8iPpR_C=B(=(p6{-l`DR*U zPX2qFL)q`a!6JiQY=nNwTzQsK%_kB*xG99}PnqOOOi+JKkzzclAj5REN9ZNh2=l&1 z_3}X8nD3Db)}Z0X+Q+57n5o(*WmD{Rf3E%u{mMu<$*K(zav_7yC_ za||Euy+J;l&mR*%uBe`ppmILLklPDEku_Fd_IpKxgsO091Rv%hkS$FleC7uj^Ot>;ZlneM1+k}SABzt6ym1J%}NFO7?#SvUEFG> zt6LW5p<$`GTr_u(HmTyyd=KIwcY{}&yFqu~H0{w6G;Phk9xQR?X59P18IYRp{h;6; zay|Gv_j>R@%=O^+MPCoS|C=e~MJOZe-U_N^=~KPXLO)c!l75|&iMIO8{U2fX5oRtO zC4b)FEU8FesZ<#pU=(xAV&lhfvYpii3%O!_XE1Bb&LOcr-``*3ZX&Lfn_-4~``H4B z?|~=$;-G)?Z}?5d-oj>6e(Hy$VT-#m{pl$_p7AqiBDoSR?wf-$yIfa_q>WQI)~+pa z>dNfeQl~Ct*N%1S3he?GABLNqx}aT4!V-)&qaSP6mN|73?Aj2Tt#&O7^lZC!f>Sre zuC1`v*HzoKXFGKZxu>h0)IK}bUt7&c^9-+H3iaC2DOUFs&7=OPp|qXOZA9DAg!@V` z*`m!>_wU>kjmk<_Vk$iUqEw!D*36R6)V+E5kha1aS>~WsBwAQXAG|ZFs4asn@^1!s@jH`2Wo!5|@QOy1IV=f)=UTnlPl^Y-T z+lbQ?thL7;g4&RoO{*RrUNvyvO55lI+(IkIaejr2bBlvJGWwL z`gLyf*f;8vMHK)S1b%?GHe6pY&t6u5TZmhTI|_G{wV`UBeI8$V)`t23A$jxcivrqW z;#K?FA5v@lX3T#hj|JK1wIqEE@Tq^j7VLJx%e0`;>QV~lUfEVL4UkYNnau!pzvF?g zY^z#q-z8ut_^=B#^1U3DzEB2-=3i$38b z2<(Wncww~a!xaVAtv}{OCgDY7hZnlSxN#?1ZLR&jfR@%_vLjge=(J>Du5Q8`lJOi? zMDO7K#ZboV$6_O@%I#fW0W- zv=-Wn3Z2#>dr=Y6ZHN{+t*nOW9d_HOkZb^S_EvbG_%~L^Il{Ayzdgm9%sQfLF`Fxs zN%BOi-d2OOak&k;Ta&)6g`F$5YNpx}a~{$>uY6Re$NG)0F~f6!AeJn#s3Hg?)`nK* z_af$ZEAx91^ShP#y@>f;G0#4eFXr_k<~Uj$TxrLv_V5{Ke+ammflG7Li6#KVHaJY+ z{AmyzMYpvBPUEU;4LHeIN!)RE6Ferh+9 zta)e+Fw>Sg0AYvj&{tpQ8h&BV)O4_xS_hW-@ZY_QaO>6@nhT0>!o zLu}|$_?tW)92xgkL(4l)x8nuSO}&WrZf}3h zyW3ww(Tqb)M;Pmhh@?Cv$~VU9jB}1_jKhscM8+MU%mViimyB2D$`rBTr(wi<5?BWo|5^Q z^hcPN%uqUTMgenS#!-m<%<#K%Tl>@ATuo6T15M`lmxP z=cn%XGYgHR15l%>R%LFM?+tht?tJ_6`;Bwi-1kxLEjz-#Gtat$y=P80x8lWhrAk$< zAbpM1SB3vorZ2d3Zd{130{^2>Q7C@9QAPR+`d>kPmHJ;L`l|N7%JmiVzb5Fb(f_K@ zSAxCF4>)`1el~yTex`e=!Tsz7`ilJw4Dwri-hNhQ_OpBZ{jBlx_cN*vT;SC^RSk$- z;J0q7S`fLwZ{Ae(SmXk~eN)wCU@+4WdHAa{`2zaNWK)k-XL7L5@xuR$eNpt<|J1(t zcOcQMeeD1DeX-@gbzjtT(d+)-+Yiqfz8`*kw7VaEbLf^9NbM#cPW@S05%}hk`kMarENcrO?&=bqf{PU)L(9 z@20!>rOcatq)-0(Z@R_x;1h|hzrLG#`Bkb1^~qnqF$(PZM0LBqZJw|1CPQwJezzCW zf0G)kzy6zcxgLD`J)eC!XGRW;oEFRM%R_qOshW3}!}e2|)2Cw!Kp@jLxsb0;Ic0|q zN4pLC}+v%ed=ns^iI@9wG=f)s&uS^_u0?=wzHIBs`LbjTJ(4OlZe6V>o!qw`=<(w*gw}^kE1zdb&U(K`*y#xYI!)hl4FNC zdZ8HD+0RAkn;hQOkP1FeNnw35P^5#fwc*Tp8~Zp{R#+Pr<+(fqKzl{4gTv>@n#H)#>YDTV$_511%=U^f9YT?++g7mn5aRno)MU#{CBr&B3t zf3idE&;M-uIaGa27xY(`kT9pey3}>X%JKWe_WHwab^F3@b^F0~`#|k>U~F6xwBc|x z2HWpKa2h$@L720={oVemHnPqA-2z&Fech%}Fhghqy^#M_t4k+maXsxft+nlCu7nHK>7+i45veCF8l}n0x8Z93Tds}Qow1ddwhy=$hI~Ertv#b~wEVC?# z3z}K>1zhmVvg2_Ky5ZG7>S*bMT3b70aD~4f;?w_(b zvKE;31)AlCo8S*%r51d@JAl61A9eScXsZUZuX~N0^eb$T-n<1_QypB6&#HwG4u2ym z06C>cVQ$oLP>)u44E8Kkge3OoeCZo*8J(az(@+4Wjjk^m5M*I7CJM-~9iG#pvjOA{OIp@XfDwK(7`}Ht* zmcidyp)>umQs)xdy`rGh{swKI4y!$nA-S}}HZGYpG&Azb?HNZgFukxAd)x0y&jSGX zUy^@pr1?ii74WGC@nqS54NnS5dMMIG71mSMV;;KryYv%=RIJWPIb5B(XfQpJu+(zC z(!4y#Ko72`@*? zvUoOvlfiH4$Cz;2jTmK$|2(+QaFn5(a!K@^GO{9tTYT+UJa6HtLn=`(N(4{(;HkVE ztDN_4XYDuU{$?RmU%a%OZyr%Ao?W5D6O4uNjC~N@_iopH?=GkkiB{}(-+5{|pnG2~ ze^+4KvV9e?ekLZY`KlkXM! zwz_1m)H~Ni?UYzwb6EJ{WVPY!MXe1pLV5gR5Dmtc-Ki~r&qxUF*AixNTWCIeUf9}z zm=NJI)4rsX&$iI0c~SeaJbo??@N+W%wFUFS_Nu}#PkrK9GAe9e988}Dhd}&X$1z*s zWXA>T9@99p2S)A3RZn$8%cIfc0>IjnPffD~)n(|sZKEqZs4gyu*{ues7$B@-#kC5S zC8J1s4woYd-IX-znj{AMyra;bZ`OLmhS3qRE7E^&*47%T&apQhd?9TAHVoyFZX;Ma ziwAc_>^?>{Eu}3Fuc3`Ll4m}{{tbO9T9vkvQ)!g=!0!M%@>X;)Z(hNa-c8A?V&UXs z#9E|Hmb^^&Sa46*#ht*paXU}}kMmskmyrr?yCUbp#Eet~<%5$MseqL#4*Smbr)7n5 z!cZpQRhm;-|O45XA@I67H{j@GaY1zNKzP4BxV3%|nJ> zXutBa;Cehu587*h$FIkeH?Wa=gBn8KwlEd@^dQV7GbMFABM7OubUl4PZyo7Onhz08 z@X~k*25ilLUw$F0JPiq=4=5m~_I;v~?=&-#Y+Mu(8~@{rI7n;p{R2 z-Zi_tngxKSF4tL4qtEjg8ZT&41oJQar@WkjxgggrhK-pZDx@w!3|KGND76sDp$A*R zqF7huXATjGS9E8^tRgh=T)avT%RYgi`Y!&r^S_Py&Epg@Z;<%d>iVhXMAweCyJGhK z*a&ls6o}V?JA>Cs4=MPa3DyQx`JEztflK+VqxkVJSsN00xX<7M&iKc1^~T{Wo+BCm z0UuE1)uR-k_b8-yGV579e2gE^$J=~7D-U)u_4v{F-TE*uq;A8P*qxqWP>I`q;-56# zsQSu zZvT*fl(Q0PtLrYWlRM$~W_9xFa#gw1^zyazvfJH$H(TSMwl>7n!7t#dgZJQ?4t}1G zNBPKf@NWg;PJZZne0tV${Cl*Wp664~A=0mCgng(8y`9RZmH3XD%y0S_`dOf;110`{ zhz#cKkXiEaf($=O(DbP_@slNExJ0og9=>v>bb@+wJ$W+|_=yS3?PXIQuh;2S==qo2 ztS~((ObIUZua5u@H){dXM zlbyZ*b(i$T!c!UgqOy139<`JA+LsftPBH{xrya91Z&D?6G1yH?`B>8u9vbKxW*;Pc zdA&{l)Z07V{(0ikxV_agkIN$?Io5_6PJq)#&8vzAoW(`F*)uO(H6z4XsMq?zCTsnU zQ@0acXae)HLh|NSU7Baz=BGH0Ps*BJVBNNnv?U=g>0{m7+op6MxITu^0LUMDXir>* zprMoZrGj8nr)F%db90#_+GXS5;I3H9uGq%kvwshy=MW%S8UNsjopahRYXtWDH|#xp z_>`QDpN>It2|2CoM2B~0>F=uj@54m8w84H7$xXNM&p?rt8v5ot9Skc53LXyaW~4RG zFuTI91d z7vv%px8^_c!+VpU5q-{lNeMpS$2^sq01dN(WW-uQgrOrTpWaDLd{@?)6W3`~oA-CW zfz9b&>*gT5Ei}+><&)pt6<4wu})Y z1B0@e93SFQv|cviNp|vXRC^n=Vx=*ORUrMOePbnkMO)kuYIa}oqGA*5ei3XQ zPBMimwfl?`!K%$Ih){hjEmE@rAw5g{gH6=kjH!bkZnSO^J+7z-#(F3AS#?iWGBYR6 zz%=kpn#yhzR(iHtH>sR1OoXfQh%J@P;Bk@%lV_TCs)tL|>by~+~k_aVBaM15y(I^9iXf(4@KQ3IRR^srIeX1h4JbfW5!LUGeAe&DvHClEOM zDQQSk?ZzdeOy7J$zpV>9*h&B~Tiu(eMcP*{;<^ZW3kdpC>z03ongmJz?HyT2`i3p) z)GWl~(@!kwO*)Rw>Ia&X8DkNx>|tmPtC{HvonkVLgTUP4Rdj|O* z#J>oAr}!6$M@R98o6|oTjIZ30J`Tz-L%*p77YHx5JZAQcJ?t4z7>0^_ey(>$smbMW z`}r`3qYzN_0u_M9L#_PIKwN^bHH1a%TZ~W*p^~qVUJ2g0A>pb6mMm_uRH=ym^m5jhnui~UrNWBoNbK-=pA&f;$09Ep<+R(4< zag$P;#5@2aNR<)C1A{q(tcj*hrs`m(>Y!V7dK|r^!HLl-4|r-uu*0;9>fL6#E#!Bw zWm0_KE&v9bc#8o(wR$2iM^df(DIak75W1OSK<`#3kOAD3t9E7DXzErsq~oZWd}e`0vd8a}tm5capPNDKmX>SnPbO6u$M2Hw~hRPL!z_wY_KEB;Ix2bchb#pzN z1JZA;fT&8x+@VU1fR+}xb#pq;#LxBOPii;u&k$;&5hGQ$(`FG&F&%C)=53qR{Wx(z z@R5#G9QDiJ#xw=B&lFfX5zI^r{NOa zw4`Q=u;$5fYv$ZgLiy>g#pP}?#iaGKo4^GVP*LwQby-a<6$H=zpmX=9^BC{Th=I{k zuC%lD2;j_*hyjS^_Y^&c=q*I=RrKpbH!Yr^L?Y3F!3B;7CWXSi62IlvO48-!)J=6z z0+?M$>>*-8f9JMb72K$gKJVia)q+1V`5uFnm0*UIJiy?XJ^ggXyT0XZG~3usKqM>T zxu1x&rQ>p9U|bfyM3=66HZvsFxfMG_TXG{+Zi&{~f1xnMSsMb7@QC=%i&Vv_V?zVd zjVmSbdTAa%GnFI?8QNR9V;%{<#V&d(7Axmftq9HW{SheKOCVlP-A*AOqH625K9WQ* zy>l69AV5xi-)S%E-p>1?REmzQJr|rSJ-=>w?ET?!A401B$TT5$YX-(!n~C-0{PV-N zYC|a()nD$t+dX7MSwqpRwinn=I9R=6P5dLf2veLcnQJ+E(1msQ9@aJXI~UvOGEm5hI!PrW$FSqGoq3|>3| zPcNRDBC}|i2fUdLIQs5enYzn7tw-8`2nXeV|h3N zgCT2_no2p*&SGzNqaIi7Ixdqy5Gnz6%;I%iI1J>~)*dv^5PI7J2~?2aQ*v2J>lu~A9%Z1X-sg>nZV7_6IqK@6pG?qIQUauB$M zUP1Q+v=REnBgm-c0g1akHuDZmQ-twXG4oY{)%*rQ!hEXpQWL})w`R(`Ks>a&ZsEeaga7A-m2-@=UpWzoL4nHbKF%xo_7NFPP_`rF$Z1w%&E8PI8cWU z%#WSAT^K_amIaMmA&dh)!T?-Bb*l_Uu7mJA!O0>#hjItz5g+A64RId}GXrCkhu}RD zme#u!^Rny}d)6cC?N6i^^90 zJ-l&ue*K8<-F#Ua8bJjy^_Exyw{4nNg|_ng9o7#vTI(M@^)c~|2%@7h-|DA$2+n{X zBGy4sNGvB|SyJbCso(2~W(pYV2EFxmv@G^}Rm+3DG=5fXqmXF|0F zPfDzlO_9Vi+SYjvNP8;{5IUH!NeNl)iOt?d%wnCe(ep#TP3ZOfCC*LT=*-STxouNA z59PIe9mW&Sdwm@*GRsPW<_e^fR`v^e_CugjThQgp7uJeDQpj>J_wk4N`1Z4vksc9eCscBp3-=8 z!78BZ?cL;+b(RwTOZgvb2SPXj{tNjpN}YV12mE0Du+Vqwz7AH@+|Yhq(&>Iq7&c3& zn0=tK*G#MK5lpL?Q^NVu2_ zC98f7MJ@~~Ipr=4lJXh~k07^h*G>|Iaod!Qwty?<-fW6g*0{1oB<3!C0PS)aMT&Ot zf3r4$g`rkyoN`%sUuX@z0mY(DL8n4rbipIqD>J6cK>cRt?SD(G`5bYv6%)0Op ztE9T?aN9qiUspfkc9)QVG+M}p2$yCdr%t}+h9*Fco~V$ySOOxXnFBSB_EQL(mx#S0 zPrhg56J8kqxP0CP2%prs;R-nPmmKK|g!m)hfr#37??4{Im)M&=0n};kckTVZzUQbO42~Vgz-H15Nj~?Pfiv64dat0gDIJqT@#DCu4cdleNQafd(ow zdLVeEJ4?Rw>868o;(~c_IH%yEOyz# zmq~j^kN(w`;+EmkF;mNN%W*+CLV!~Zied^yTm&M_F=B%#IWhZUBYtQw3yQCHrtr*s z^X=*C)dE8c$`&UYx>FdJvG(?H``OW~u8RX$2>8c6>=^c|paOd@w+r9ncEMV|yjlZ@ zbSSe5U%=`XKRecf7u{8WMxKW7pb$#TE<*Ws8m)-u(Y$FiGoDBLFj|49G+gzzwe~tV z4Dpt>P#|KzF>W6dJ2?7RJ$X5u`%tUdk7!4M2vQgMwQP+g+bUpA!;{)*`VdyO`ZT?s zru%qR_lPw@Pt4w7x3Iz3SXF?HNAG#e#v&>qc?SW!0Jm!iF~!PPEiQHMk^(I>le`)x zasQHhqRqRS)kQqoZay3FwFZs16{GO;ON@6uM$PAx8t)tmj*T_m7*{i!xCP#b;oJAE zt|j0HtL{> z5npM7?gq!3Xvp(7p>SqF^yq=jX8vJYkz`jUNkO>t_evs?2TZIR7;p_qwq=r-+stt1 z9wi%E84JOrO_{Xe&L?v}Q<`lKCb5cjQ=-a00%%Y}g5aUfX%$o_IGsBr{ z#zS1^UbtPL$qBkYhjtc+&T0nLk;TL{GP@=)ZhGGoDw)V$QPc>$&bOkYAjGe zt`{&TY`=QAL23D(5(Jw?_1?XP)qKfUCFp?V*f>PU*J_o`I;UR63!xXwFLW3m@s0Jyp> zG$}G}PeaRVmA##51bSXWQ+Q)82EkoLS@auM&JWH*LK^mM`<2wyti1~_iAIXx>o+(>0jR4c`a18zM>l3d`#XI` zRDY+qKKfHJ$F5mEhcceiXMasX!F@Gz$m#m~YvKy(cONifG-K|Z-;8C>ZrLVrjC>il zD_!Oo?A*JXDukh#d{sPtCJe794zqier70pZ*=oUF$71{SODxtmMn> zw^R+^@NLp3yL84QWfX422UATiaE~fyl>RGn|k%Sw!%y#GED%lHwYX}!Cs=+sQ*Q^-`qrjp#lPdLZ%9$$E8q0HN;m!gV`?^kopQ})V{gac zs0{I>*E@PGq1*y_o{P2+@-0} zFC8?Sg4K1LR;!Dmyk*==B9`EJl$wQiurGy`0xXcan(|cSA|OZOZ#zOmR`)*z$OBDQ zYW60~p1UHE5$EnKG?8-4ze;Hb=bBOA z`{!qs?9Vgs)^rGZw=-y`t8EX!3p(tYg?0_P4Y$*w@C(=8f{XOFENF9>WQIaPHf!aG zKm{MMr5mC0E)~cS)FMs3-CCbO4IzdKLI=2LeJi+V{rp^h&@GyO6mFuRCm#Aj55jco zW2iYLFbuN3F`u89ga@n9X=ojdr(;B39ll8pBVxl%M(&__+={ zCF{Ri%+EK`g81$idYVvjX!;`G-$3i(dNdZU8_UP_$3=RsD~|Mh_t>5$v>lpGjP!gH z&57@pM0&0dMtUf@=No`le_~G)N)Sz_M0&zs>}f*pp$WZ*>rd`!Lha$YQ}jR?n;N5O z;{&!47k4;eDLRDVQJ7Cdb4^A}fR|wuUe0_3hZ)0hdPm%wmjy9|vsw&Vim*EBrjVAO z^>s)0L_(-k)s4bMr>brwE=pB(g}7){)mgZxRn;AXi(XaTXj~Ml>WXmB#XSyp67I3M zRk+2t=ivr%C*ytrSM?l^dp_BI=4@wkF$9IhZL#}!0h!xcmmaRt#CxPoW`t{^%KR}h_vD~Kv_1yKdAAUYRU z5S@c7i2epw5S@*ife8HVLR8^0Lm5EB6m^U;p}vG9((k#(Al>zqdi;I%;akvLaQ9(0 z>a}`l)_#gt@b*C$y03>2>8(c(p9DXHPYgCONM#U{fLz+2OzWjtKY!{<)%WnAJ<4h3 zn-rBiC|jMAw((}kw;7oMy-wle|Ee`(Hw$jvZXpMkzVZ-fSQvW{aeBzx-^T|d`il`oUB00x-n`R3Xaj|kencA26iOEE?>CyU%HQ89M6W-uq`Ty|x?fhvAay6~`Pb8Y zgN96QG{v|$)}~QF5BvTcsi?O*GW_S%L;D$@ z{}`mp?&W)6LuUL_cPhRWBF&@Q9DR%X=6x^M_ankD$%lR>Xu#=(sn_3zcfst$F4#jo znb6-3hAyA)CcFg#$xFDLtw(vU&ji{1siH#6sr`Q7DSti<{M%6exuKtq`p|Gnu1xQH z_n@)L=UY?zZ?NZfCq-u2b2IbvzhWP5+R*Zt=ij&{GtWKyaOXbmwdWNmm?N}z!xQSX z{QcMZ8L=wq-8Y*4_@NuWeMr39C!8nqcVYI|Pj7D35OSB8F~-!U$L-BrA82yNoCa(s za)3D1P)19@$d_AT#Y{vhqF6Z#d^xyw>`1~=qL|mkb2HWl38*yb6w>Q>fPglk(?VWl(Ps(3gQy2fq zOtk)mGHe=z8N5IzsUVMZ#q1GnUv>#2m^obd%suk^%<58<{dj`PnCPTU68YdjCz}9Uj3qrXR~ZAj7XjPn2F=GneHHYrgQLs7OuaFd1WtUxm?cF zGY3K)7Tx`v^?yA4#o)yOB*EO9-e47h*TGOiNZV>MSID*Eb$wSqqm=kUF`7ucOCRFp z^IQtPYmLwY3X1q=lQ>~+cb6^7LuRS`8LNCZ33n6O{49C*D%F@5Iu$wb*~LrYS?X>W zl|&@9B!JfZdy+qmr%7Tbza=>mczkVGc!KM2bHQy?Pd33Idz=4_ zh!c_@P?{tmSF9`V;@m<0yBJm63-yE4^a^(P@&>zK^7LWJ)BA4;n-{VYdO4|U0n5Mh za2}TZ@g%3|!2|R3N$24a*4j;ksa>_O$c@z8G0DY$;-!nq9Z&D0&ALk8lWaRDj~jIa zn}iqW($=ERO?kK|VDtQ?RgT&UjnuoTG*tIJ5-@DuL=3lfY8%b9no>rs2c;DhbHort zz{uz~@yHBM8fl!BookW=>Q<%zG9B_V@5gaUi@i#fK zai6;Lj8Z4TA;OvPOCWg8)C$OC=2k2?M}se!K~vKkR9lDwkiZp)UTp#yWv9dwtN%C4 zM|~g$YOt-FSJ=Nuo6Xn4?mv+a9Rdxm;f)7RTit2|1GZZ;_F5B9i}GdNm=D{JG-G~v zyW)bUebJe2b!-N+{9>BbPAA)-ytbV%tCG$|B_4NAb1QKvFY_lWx~V5SsTQQ)O8@0dIAL*)4UDjGnV%j-=OMP-F zKnG7NzSi{4N$2AtkEw?N)msa@g5d|t7hH2O3vIu_XWRp@>a@fXPg)a4KX*-Dj&5C= zpXh!mVo&6bbk&RqdvL&jFG)P^`mjj>6S(LGdlMR?YYJV6OU`p_9s+1$AGt475un#8{ZxLMXA3(v ze-*Hd4oV$R2EW4p5;n^RLX(sfG>j0$eW5w-$2BPNmU9lHD9SnMPYdZKmavw_ zfJ%CpH+W4+_yY1>E*M_KvYtj|eWZ<5$1%LB?w;`wFfbBk4#`HyPlmRyqR$N;8oRP-ut@G1W`Lk5GibeJ4yupEur~d z`45K{x`pxdn`wveP>>Ebp-qyOMlWTHA0<%fCm^5e)|E!ySx5luq!`h-8Azk6);D+RQ zPEEMaG=`ow)61<<RQ7_b%XZ7uVgtgry*;;rDZ5Cu#zT5|+0jF^=3isTEABwIzE6 zD-htzDhQ**j&Z;V3dq>O#t0;1FRQhk#x4B+b&A`%g|==Xt>54T2jmNupg_#s1QNt8 z>|z5ZAz-flf4*ntx4RN1m$vWI{GaF5^Jsr_pEEOO&YU@O=1j2aACOVw+7i>?1gjp! z>#}Leo5nRzCR|2VLz<*{A8v6Z!MekDU{s&c3aiiX*qYL-0<6I)=VHaDJ2uCB1g$M5 zi3-^4Cb|`{u26u%Vx4NkZ>9KHN-3s`D)LkKebW`o^P>zCWmQTFJsf5?*&X0MmMV+s zibdI+_d`Gu-y(Xl2vvjzI3nMHsj?|>Qa2CJ@y>fzdEIC9yin8L~I0;5$fNa&;C zyNz^En(Iux)Xm!ngKVq-s}zG;9Yjp1KDnq=vxQEwNy`xDEDV%Z`)rC7P=ZvQKD(bN zWY?W_B7B>fcGf?|h+3Be%0=5=qD6kB6&|dT{cOTEyH*}gD=Cgn*2HK@b8%$C>$kDm zmNal7F;N3O^1M$2SF7e?1Lw>8J2Y^U&;FhU8aj<=AYNU(d2a)6qm)7egH>b29s|S% zqi5ERXt4>}dL7B4tY_4z8=_^N)Ym)UQ$wsgy>1kg{w9JMs{MYbQhP1h#zN5^{Rjpx z{mKoH`!ou{s+v;JF8err-;%XkM!x^){8w+|W>%r|9m2WJKk+YDIId(%VQt`coP!c{ zNXSJ)v|W@{1c27;(mE;~7$#ISI`+J4A!~7dwc7@5gKsPO3$60CFukk{>rJcA%C(-N z(zods(9KXdwU?#1UzKZ?_+FYKc+^Y26oP%L*>H@z)K&h`0i6@{;J}TI!AmbL^I%TbvyXs1h2`n;pL>RC6k5I6UW6OGxh&~+4punrfaqR#Jif%LmmkpwAQeb9!8K^ocP>c98)vyDTs zS5^2Fl_bKfIW@eqpE^&SeF0RHmb3LHb*-;gHZ39|XKO%_$gM+c%TOKvcgj7yPhY+2 zJ$>qiQH>RGQ;%?o*(1I0(%X)vo8Qx?8VpCdj9^Bz>f{8~+7vLH7a1$|sixLp`qXG) zX`gzEHL_1v3(EK4uJ!3K+%0seUppP?G5lTAt}Y$R6*%DksZMs5TEB{{B+^@A-NGo= zSfW^P<&mJKBRGj;B59{jw$1+mMHC0X21TN~2HUQ0blL2N`k3Nv_ug2)BIvCo*LnG@ zw=*QU{1tLsTVf%QC~TV%AzA#g--z(R5Q*BI95TY6YE++i8ot z0KdT*<&f?>KrvA_k{*YK9*nf2^vbn!{k#F14x@t3>(;E5$0N;(#!UU{48c z77{v~J{lqw=WRp{8-OZUwVU@V!KNpQ*d$U{icLiQ_Shs;1dslYVAIE5G;CVk_WO%X ztyjDcHfflP*rd&pxULABM*l9@v?+BsYyuH<0bFFZ!N!1##D+qij9|*gxbId)7VyXx zO4095!S^2OWJp)U92H(5PoB(`kf)dD2%#3gY69h6V_!X1rFaya3JO?dWT^zL+=Mq0 zWyI<|7^HguWBz++(!(zp7EJ|M@c#FMCSA6iA#wER*kvOzs6*?$-ONAvA2DkbvGE$^ z+m12BDa9pElxz{xCPGV_u8Z1&W(8?gTSO>5y1|w=#vMzvhB`?L*Bx|-k6+Vuhy?Ey zAm&-z3bP8Xn|lh4*5iW{rbn8;mU^v<8O~D|M^v` z07}XFF{{6vB-Ou1Onaj=-#{Jtl!h^{?&};a$d>9@KV{k?ikCAvFGU3Nr z_lIygwjlR7_mJU664Z29PK1iZEtT>kZYW)e!VjX$Nf|2Y~6EAi)LsC|^o62^XqJ(r}{W=c!c^j5*JOIpb=Z&H0ed#2M}= zb#)=cl{#jYPN^1fxYIVhhPYj%-V~)?z=@1P#x(Kt{GqOoL56u~*x4H-fY%_4QT}M)l!H$DidZ@+b#mpZEv+fLL zlcueAiaV_fN3X*-NY1{o0s;7)gQI5dySzDi@#8!%pf~dPKQwyr%1k*mocd6!196Zq zV3i@4%ET*hRhX-4;$66<{)Bzb!vK32Ksi?4F<6cz4PXvt4i*6&?T+J00abMds2rt$ zZufw`F?w-2JME3{jY?)W#cBjbwl6lM#Hetondu$d-~7buZzSdoW=5~UOjbx-Hc^32 z0%y(h?s9=+3CvVnlgPqitBmwhG)gL7vQn9;=*FkAvr{V)*L#1={HQKsTu%utJekEF z8otKhq|LEgm=R>G#h*KEGd6UCS{G<5RG%fJ$9gMNB}2ntrFtv;&^U)1jDw>Wqy7=P zcGdMmjlv4h$7fLObWv}GfnlRZ2Bu!vQq_zh4IHy7P`{f(I{o24kKS=$gRb|Y|5hW+ zR_p6Xg!`wMrcgBwokeygxmq|Mc8-X=+C4?vypdG!H?mOwIrho*y`w>)BS~ZY;@F2O91)@OikFhFxZQGD-Oi2( zx41^TJ|%TzIob~@gl(KrX1V=}t@8J{0dU*DXqoq$!@^!MBHj7DFG#rnC6?Y7@;pJX zQZmf&G!2yDxds)>X-dYL*`ri3pUOONCZ^)FKGtZdq=bjT zTa_*4AjxzebV1rlB`nSM;F>=~>fVGl+5}7hUx#71er$Qh(MPj@zvSL`e|gJ1%+auu zB8$u`l}+VfxL2S^M{e}h$+SBVIwM=r9bEHS%F{aGJE5XpbZP8XfHSSYic@S6u^!@n zJIqtXDUK6?3mIt4PJ0`TN_saQoH@AiE|%~qBn^81j@r1b8?4`sov-iTg`zI1ifUV* zftAcw+)jsVh|MG&yy$iodqk>ZqYP2V68^4=K%;tt{CoZ$mMP z(0eS@az3rl)*6NGbWylWq%!v3j7bO5`?dJ5Qxox+4$peGO~xkf*gtPcn?jB|1B$Zj zA!&Qz1glM^n14=9sbBJgny&Hs*Siwg1gLCM=&XZ0ics?mCn>X=gJ1NMri>WcvPO8gsVK z+Kt8h&x8q0!KbC95gvDhe%Dv1Bm&!>;#edazwX{IWnzQt@QJtrN)F=PKwzf;N=&lXs^qR{hlIX2bS zeiQ}amijlXj-dB(ng@==d$!ZAH%4`Rls=+!@;^f>@(1)~nW>uQ+tHQu9Boyw@@68F z_3uI#G$hH49|-K_Y9NAMb>y_{*w_yma9}(gYUd11o2Wzs7m^N(Ekq!9$JPk?(mEtC zvS>#Gznk>7z_jPa|NZM&y>S&78&Y81)qAjZ`ur!jI_LtB^6MI6k7EbD#}2uJrNlfZ zlcX{!n)2?1CT2@^>@}jmQgd(Dsa`nl)M@Z~jGAaS8g=~qL_f0M-G;jUoO_83V*}H& zlP+UipJ4llf960%+6iNJp+q?L+XeFMaU-0v zj)=Cm67$}G>MHfv4@G-3`LueCS-^}v)-~AaKUcV)lfNBS8lOS);HuJb$OmHS^AyG_weF`c2 z{vOznd$1Hmo6Q9KJ;4*K{aZ?zmK}ZN#0RpI#zc!9ZP#GCc0+V4zQYiWsaQ{Eaf$NH zQHy2LL%TGS5ZEql5#{KQ2<_6g#5xFYyR_46m&U!DXoJR5Td}nnt!Vx)%Q0A-v^Dp?^y#v|FXZSyg$!gN`kK|;CuR_CI9Po^+EEFMEVV&eTOGo_`E1q zNh}iX=fp1cCOl~(m6CbesDgI-F35Y<( zuzh7PIk(e?_Vfoc_B8eOr|)0P^n}io#DYOEa0+m$=?AP-`Iq0ES#Kz!ZT}wXYfQhM z#HyB;M97+dBnQYf?PU3w-#~i%}UwW*0y~5%|&q44-8+x!C z6ciLT7qop3)_wzc2x^g$+CF;G(Dh4+5p)qk!?e+c0%$5ovxFVK$7)acvsRWlIm{gNTr{g)8j2g^4SE`?{^ ziVDKTHnrCgMu2!h)&-b#Ixg6O?V0& zL_m0f; z1}M!s+MJnQLBRaX^hN^KTR;^73p3L-bh;dkWf1~8Gt*lM*k}Q=TG^GEK9hh=79bOr zOEWwck67LUYH)R%s{@yWXqoA<=-+Fu`N_-$AwHSP!$1iZ?C?lIATxa-uC2KAT8uic z(aiKV#*)r6o{n(_yosqZ&&)%u9ZF3p=1-0Ax5L#Dgj|kN5}9-1);8ID2Z_umE?g4c zPrlyR5VbO@DqTt23lYyo5i>0!Rfx#Bh-tM}Z<5T@BKU9?p^GX4asgN3Z7%`_^?94} z64{o{MD~h0lYrtERnj==I%ues>YycBZ$c=nw8c8qoF|kry-4;HxC5hP{e)m#u$B+k z)R7;_!MBFPx!cuQ^sT-8$rl{;z?5Q-5nywXGc#kU z=AK4z>%g?e$d{yW((TrB3^3Rno3_~n z5^XHTfN6xi$`qF<2-$#u( z2Yyob@7<&zlkDSx%`**(Mk48D23;wx7lyfkA;^s?#-40?@g5f`-1K1R0M*6^=Oj`H z8k=rz-4LZFhF|rVoFy%%CDsN)tvL;eQx-upR^BC5O{JX)zar;^_s*$MKw|Iusf^3qExc}my3rm95A^Aj>7$KaI%&M zcQNGfSaMWLO>>4j;;a{F-Yt)Xr)82g4b8H?fbp^#Ouve#kz5wmWV)dROU_zS;b<_U zp9F<516{#WsO9^v_HdnYe)Wn=VUKm4bSPN)&uU2jiqAuKc_$4C-JRBo{sKJyzI+Q4 zVl;-Kj)pFqFd|WZVDU2mS|jTwAMC!O7UL>ctC0guHGIl;H`P+&;+ph%)%%WwZYMKK zYMSRg6o37pcy{!0iEPEgN|ngYJes?IJ9XPU<5Cu$c(TyEt*yYT!XLQ3s<8*BB>IV?;x z`_E|h#K)7_n6*0i1as8}EHec=4~M!wA{!4N@D;L+CQ44oZtCisxbHmwqf;=$I-65C)OtCdoWg0rt z(;9Q#H>+gX_R1_OHDQs=bYaFk0|nPCLawY9-pvJ_rO)1At9HwTRmXO=W#pM?H|jA)+K)qk@?^Q)ojL%B7( zK&$i%w1`Imb3^|s_&%4X-H8JMFVH!<&j=lwl%Pv!b#7#VgJeJr}GArcuFK%g-?68LMi{++58bh?=^#sbspP z)PBq2Z~N*>?6UmTP2l_50zD$@3Ld1KJ+`Fv@$3wqzZ@v9-?8F+bznYV(yNX~^`w_N zM6ZMiBwjxbR^Nv*ck{e^H*jtjrU5*dDF5(QQgh2`D}g_Q|)5(2|H??Cp3@vO!6FOp0Um&wkhn0>Gy0)b(#)F zB+Lx$t&7XWmR=%e;cT&5j1gt?hdwHGF)UzW?XwOrci&_qqP9v zUjV{@SCLVp)p@QU-x>{Ely6rdp8;Q*PlHv=M;(KOv<91{6@O_xM%t%wBg?SuCe=Tu zD9l8vn4IA80am^5frko3RwtubN zW9+qE)*sIO&c)=x+_<11t7>o40RjG>K;al1S#IGOE=5QoQ8rOzXM|K8N+kjOpu)v= z`nI$o32Vd5JwULB;|FrDICvdQ70Y!u1wTT9E}KS<96?bI2aKB=o*;_wS74+ljHyn1<{IFaP_Tfjmdzp_YRD~)qk%LJw>sQ zB<+|hx%xYWG#G+MvK3r?l|l^d=5w0Hw7cXIR|w|e8)J(uncoa`t>bL!OxQxGWpzEw zt)5k_)hM+Fy*E}uOEC)u1;>y1sK!&4$EsVfd&SEo^J8Jq`w>z!&l^Z&8}E!#ve8MT z?Mc^0w>(iOHdIy|-3WJ4l|PzwB*8kuivDu$kN@U%o(P&g_O~bSvaWh&MNy`a%uX>z zbKiwUe#}NJ#VF7yq(wKtGlv-m)n=>nD_v{+Sj(!?;)S?F} zYUx3isyqE2DnK!W`G^S;0s_c}c?qhDfE{F73wG1#he~F({HY2l2q8RpmoLT`2<$=%q zhAGwC;NZbyIi3|u=a0kObMsG6N(nZil(FohrIcmRCjebyad z`B@1q60A=OBEJs3SrSkqnBP(p3@k*$wi;<79H%zvsv|pinQw{8s8tp_6OnC7BXi58G)8)bh~#o4>+KGeY5qpZwt zE4W{I3*bre0HrkWe3n`TIihON4MvruFv>y~sQWg=Z22*n4=rV@jwpiit+^08zu=&& z;A%44IS|t-%8nKq^@qx1OeDpklR^d)iHX7`C7~8uWt2lJ2O;hmSY}1Z@<6bou8w$1 zUR*+A;kv|nW&7ME6PA)h<`V1=a^l8()MT@#=tk+uc6SkF$r!-uwP;OOUKZ;oU>a{< zI8A3%c7kg@?ap4N@oZ#a8n3E%fxWSreyUdlt4<`Ww?F7To^R>AU71io38Q&z#AqVR zfchcD(4M74dhkAp|AEAZqgE3ippV2B>o5NbS8b+cEB*{s>-aXxu^@EFxAS?w0R&NAN6e}=l5~J9AunVis-^D#hg?A>? zKTl+r$2yUDf#vU>D~E1p><3S zPT+(CqVG_3Lmu5i2qr+~S7`(+O@-13F@jZM1%wmgbp+PZM0#_qny4h^KSw#ORUI;z z{)J3evKKTr8_61ysdM04)|(y(UFIl%v9dbC7<$;{}O_H-L9f1lsl-lrnF3DPsm%EJzGvYRwY>?)h7jjU?C zgc`p|jd!plCDIFd;b=Eowp~b72dWxRQ78BQi=r}SN;J+^!Re%&mRVHO;5s7H3JNu7 zDdr<;J#5iRmJbnR>(k*DE++?%)+}4BAdR1bnrQKY^n`Ayl2q2#Fjgwat6#bNnnm1U z)+?<~tXH;3K^|YH%wbCtv8dgbtWVL>1a-1?iSIAZkU)d6MxLs3mrLkSp|6Q&AM^-Dnu{nH2D&Z)GFJEp|E39L-IdIbsVSv4T z$C4$9RJ2;Tg-T1$C{`;`AgGO7vfOIrSE>oDT3W5Or9%C{?06anP zQ~+u6=ve+&BxCx9`6(<>62rCT^DH0AwOXVg4OQTP9A`uw3S`6zNTk(r$Xfm)O3FR? z7ucpg8Dg7z7?;Uk^QYq-W=!>kE{XG4g7R03R_ktw%1`gi?dev`leyLZ!nY)Rs}Ju~ zxJ=>h?Aj|1zLQG!-Itj6rtNr4ew_7%*W|BL;pv_G9vOZhDygA=GEfHtRhcn5qj+;$Q((@K2pwy!eF>Rb96CIfcTTmg*FU)Yu|&_VDz{*dIB-RB`pFL$eI6oo0_u~2s6J~LM=sD*O6Fe zKC=~K_l<1ojG+eC`_s;;VGoG>Ko~VA~}9v2JawBdZ*ot>N#Ft zB-1nekWJ6!J7QT%Kp}?_?W}^d4&&{in%%U;sNiU&bF|awqhs*-6@zcY(MTtp#dxx~ zJk^edLQDysQV2c{?)qm1TKa_G^gO=FVM?jySeJ|j*e(QWtX>pZr>&mB*IkgPfP#z( z`NC-O9)`hhkD+bF(J_;BOy=fegNsT>^n2-e=9@~l0b22^!Ls61b9P2}+SjOmiW1<%5Z^M{3(4=@_>!3Bx{ z;^I|1LXmaQ`$^aPu=)%ns-&&_^4vNx?JmaH|5ph`Y;I)m91h0%j3tZcpjOe1q%I+b z-FO`zF5Yd4(7`b>B8oN-jD>fHm=!oFd4N1~;~*FZw<9H9PT>9wrxZu^hjVMuxy?IuY)DLhF=m%JyZ=nPpibs%W|htd zqU)!m9W183r|6Xar~XLrkato*HBLhIT8M%3L^0h^(fMrAnJYT?d#4WSYKpqanZoCz7Q2-At9A+F z?36y5FDxJ{RrS8rFnd&8@qShJ2$OxSx!1mHwY?7FD(pSAeg6{T;Y8p4TYY!#+pQno zL}_4T-g}nB?^T{%GKlx;?T5~B07rsa3T(wKZVNxIdG?9KjH`pua$Nk_aK|d+RnyO=Hxb^3C zZoFDqGM82*vQt3=^eVJFVL?jZ07p2)z(EY_G!C#sYn9Yma4f`8D@SK$S}UK)kad;^ z?fBWPGgjRcE;Ub`V{5sUXhI9A5V>35%;_jsQab1UD9zcDwUCvrg_Z6!f9Kt2HsDhKq7%Dfb{7pdUAY>a}+#FD|I>&cN?k1S<{AI|1q<_e{xd2z~EOibLWKt3q<}Wc?s%ScQVYu(R!Z8Nm zRs>K&k0&>>q70{>5Kbvfih9{QBVIL<88UAvKj$tFYIh+NmumE~$^2Y81qI~+n67pS z6~3do%${^8#jSQ7UiFJ5y^9oKj|4~Z^%HCcuyxO!|L~Z_q3lWUgl_=0sB-SpoeRd; z8O(}0a*vVtl|q(D2#-hS$l)@bK;aSB7cTS3rkH26i)k>A*iw=;nn&ViJPGr_j)v2H zkx2`&gMsNaOw2}jKT8Vp7fyG@3I-x#7OmRD%c}JI4ai{O#uNbe@i$+&J?mdk*^e`Q}$D3S4NOMb4v7xGdp3 zDj-~@!b#R;9wo-JG+6cLV37L$q<}j_q+1?~L8)~`Uw=5Iu%W+T4r4^4my?>^C0>s9 z2bIP3P}@P=m>_`bKgbS7HZ$?D;n3L#by*j<;p6yoIe{q`s5mmbsSJ7snR~31A#4H| zYBStOsEqE<7sL${J3L#B`*au1v3v)^B!u( zJjl$S1hWX5JrK;+?JEu@B>$!U^-fs4YEz}=BzHqA|LOZD5W#V-+5(nnbD=*9d$`gK zU8{iQc_>G3wJlNyP>D!ltDLjU#6&mQRG~^+7}aM2X&o)?c&O6B6(vzl1IeWgzcbbX zxC*BO7#B-P4ssvrJcLT-4MlQkorh32FdR&&1m_{tkCF>@9ztEMKCK6#-L4d{&7_z8 zo_wYnZ&!4EfGIyqG`hjoHd@>6w2n)2B}V4b*}my1V+GcFmt0b*9#)qrGndw7J^!ZF zrRB})(xnG3@{WMe^p&*>#*baMMl#)Z@ZTS z&lVDRinmnJ_b_W6%~~k$y=v$p-6)|FTR&9Xd{+=r+*~MRSmg2(I^U_5h~T)gtmeBx zE<3k$8cZHADlvPI=VfmoWN5Mi(01ZKdg2A z28_UlQ*{AGVGoe@(7JAyqt8PTT1$cn+m|#!YrptCw*D~qN)(aP++*iq`GR#jek7`S z!?-2*Yhc}Cge-psN0$rM;m@dVDD0J6iiHtux+ac7=dN)@5|m%gmCIt4J9EokmK^%Y z+`s>&c*S*z%$x?^ol7M$NAUcgPQDHemFhFw#@p!|fA0|W*~an6+^?<_%fF1Qmy#9c zv<3+@Y&JT-M^iTraqU&PciNQ>m(+(Fs8Z$S=6uDHoST2QW2Am?NqztLR-wK`_R8wq zCzUIzsxd9`qHl>dWYApyzgDAOkdi7BqPBPS#!BN znn;gYd=z@ViS*rx^mf{tNFyCgpI*h2h-CX_s9i#OT1x%;_zDN*xkVl7gXa;&W^~(dSv7jkA=h+pi)V^? zs+?!6c~l)SR_j775%$JXh@B0bXVvJpxkA5jiD19QYz_4$QFs;rht0K#?CHux3CAhX zLM6px`4*}MJX&S+9FTde3eyiF#`s;{G_sgF7~K6zT8FJKKH_{?LuIJB?JaOVDdK03 zwupnY)wLK9vsA922IUqEq!Bk5Wir<9&5{6<=}XTCP#Rq(6Tp{d@&^aSQVghrE>i-K zr2`6(5JS86Qvi?v*`$stHvoOMR#%q+Xey*Wllo>@CIirCn&~nbfTfw#@5M~C1hR2? z75ycWN;izhsjW`i3pkc1vgcGY%|NyaK?HwoiG(>$o7D$sOic9>seOmiblEUEomjP& z00Y-0_L@K9Fv zpz=JyLM4>~*s(naTT4*;ztk-Kp3JPOo)^aTyjiv6XiO_q^<0hsYrKdY=)zpmGo+kl zaHmd($CGu3qk$zOQGEXri8&POWnH*Hmbk3?(AgbGg*uHqx1^!BPhpQFA!0kbigWMW z6D##@EZTA=Gt%kjG*o#I60NS1FfqL@)F*p7D^XIg1CSPF;cmi7Xi!2tOK&1{ zeU`A{_Z~jD6apOG(;1jntMw=UNt5`%2e{-V_ZFT(XteLg>#(L&oxgyr{)B;*;ajg3 z*3F&kemSE5|Eqq+lrbMOgAgwIOa6tt>6AU*sXM@z4 zAch^-a{t}bVS;whS2{B7EELjL1}m$AIWqc!5--28STF&MB^cgr%$c>9RqUQIzT6(i zO+PKOPZ8r$y>ndwzcQ8ezbt7#{c+MTe~G-*-j5wR%>5(Y^+VnZaI=^5Gkqx_&Yr@L ziG9{|Gcb70Xdv#dO$4Ux82YWG3ol>J^a`(aX|UUZ&d_8!p&!R36yXGCQ^|^%Cb(uy zZUon?ra~X>hwP9AE27Zr^2@cwuu74yrL>8|BI-t;z_;9raE*@X$+i*WhJe zBnWm@LS3Cs=vl%&d?nP~Yv0W=9X3d)tK$U;bxqvNyEJ$uvVP?i69`m(?`prdNT9RgTS5pgL&dI#>IYdf}JjykUyJ@)#<3=daK~XZsL?%Lj5F{ zwGg`Csv0C1XN;3Us?&1Z;iC5nGRyilD^eJucI*$%@ zV7dUjo~I}FvSVF$6J>$;R*F5BQh8~l1x88FtDH>*t~9!?Uh~y=kCO@e^N)_1>e^$T zBEE1)Vcp}~X)Jakdlsyy>$lvRFDb`gXkaoKjZ!pdI`XZi#bNH;FDuEZT?bB(nmbch z%sB*3PkJAASeAskBSv5I(SQ~~Wt5{Xm!RK3Lwx<)jbJorxlcpLY#c_8P;p!yoo@#` ze?|vJBN5szNC*$XDfE5T^}P%9ea`)2RyPeLeSL2UDh})GSI@S-UJR``d|zkdbhAUc z+#j_euwQRlw5KjpiHPB|kilpWH9quI?glG#T+RCzsv{9!=mRMrfD!+wZd|5!9v+HJ z<%6ovAK$5`bN{c;_q1J0)CA5kfeWzsqy|p_Jp2BE!t)DsGH&NbnaZPHib^~(|Mhdk z{gXv4i@d_{xP29ifDB2~dK>xLaeRM4d>TGW0F8Z3<>RO+%!AK0lP}3&EG3I|$T}S8t#9B%#}w=hA^Il7oeAnTP(xYQw=_1ny%!XR zr2AVnBw0|+xUyIckpZ=tYQ1jXz(wu`?$cMdr1LFlR%=F7Lc}C}(J!R4S8~7K3#A!B6NVGb}ZYzv?6z9Wi64+f34y9ecJS=3k|K9i`NqWY$tIn&i!Y z&Z|QX8YZ{Z#6aFJj!1eAy9{`wnm1dQIlOfPuN~uFEdCZ*Xo$~DUF*4pS&j1CTdc`kU z*hwzqP1{U*$t*npTW4>#>2jVt{YnBR@LV>?IzgSY&Cbj(|DXz4NFl*V?y$XUs?zhX z+f3wdCvjLg-BLJ;K^$!0TvtFa#{~ux2A0Uw3NhzlGv2IIk+c0>+^+<4oJ5$js^FTp zMuU8e0!G_vcSPB>SJV?#{Y&(GyV`tSKRvxm3Eu?(H(c`33Wf0AozRec?FUF`iH*2?B=GIGpo2zHF9tEbWJsD4u8Mb5m- zxl$ae6a5M$JrR`@q?Vb;K%1gVh0&Z0(BFEAnZ60o=BEVi9Tm!wg;G$2RR9Og`^jY= zm$5jFj5ub6YW}No?1>?ZZN{WTwEGNt|A?te`Vl+Opf}I$aKeZ0Li<>LOby%XWyyj< z=A6m(>!dyuWN$~Unr`j0y#$W+F)1;z7jqq|69vTk1ktdYXL5?2B?P*s;b3UbQepN2{dID!iZir?M+vm~ z5_*y~W?8jcI%^PQ3a-6eh@_-CU%+wVuU-}?a|Qnvt0_3ijdC#O)j-!$v7gC%3%+h< zYmI}(8$cIWx^Prjj~IdqZ+lE@d=2I5l1pXwxf9qMV2F7$WS(&jtD*~3c;@O*g<&2| zNenJK!LV}khmR;LT+iY*aj?V1bCi02Fl#WF&COq*1=|ZB5eVGSWdO87)Cn{28#{o1 zviG<8_y+GcZh-iN_jmaCR_|Zv{VDJ7^!^U-7k8lg7UIuLo1}ZGe}TF?@VnbXIQp!A z+=xg?8_aQCsA1CKONvXWm1nhBD)U!>Tk-eh*SU-)OH2WeTsC$TJ#bDTRg6!U0_$ic~8nAo=*OFls7aObVK{B1A4Xl+9eKQ zD;EJp3Dnp?ECHC||WcoQE_4--kVRKw# z=-*%V?X}W5j1Eb!(xFGM>c@!vCd2rk_e9tbXs{^YUj8413L;lv^5Ef8?VJtfq1rY~ zPuB9{^c=^t(r~?-YXVe=97eSv+K-aN?ybrYn9hiiiTYqv95{}a$7w=HWy6$EwB(u+ zN>L?6OGmpn4AV`q14&zMWYLW0)7{m3M4vnj#qwfDq>9qfDOwe(5-Bj1%N(O!0B+Z! zLsvPXkV3@tFuBoNZ+{AiHHiGTKcjyoDdHjJ z+e2dFO!s~d6{haC7^{ed)hbu0tN@VwfM9|)8A;SygC$9#AA+!wPm<%*BkEw1%G17w zP%H)4zCcr7Q0NXEBE>t5qL9d($lz!=PDXv)XZG7PP*!H5Nv8={Qm$T5gzN|~3tYdn z4dH9c5ofn9ltF6#kb8ctVL?huo2-f=uR^fL;${P^+itoI-TtQ92CT0Tkf@@Dl#CWj zrD9ujX4`%rz%W(9rQqe5_3qr33JxisaLoF$A7AQOQek&aYo<7fy!$z5xdzP7UNPWj=UOlgwO=Xk8WU}H)88nS2;K;DF93NtTSlCCQ01Xmpzu3WdiySyf4}!{ z^!`EbzsdXec>gWlzt{V>n!nF!eN*p{4>yJbf6n`j;lO{u`;Fnif6)7l;lN*}^5{on zIPh0_zcC#6L+>|+1An#mi{VhaYw!o(Cm-dm?v2&r&0Qi5?M&ro9xrZo>xhOw$z%5m zUE6M-aV}bOJdV%^ZR(#sc=6>Ga6_)Vo2zdj3w=|qugAox&t;r4eY3a zt=$TE<#;+{lIPzNH5HOxi+@w(XK6|3-o;H(fGC&e%Nxc*6nIX{N@W#rtUpcnYCKya zHJ)t|`66}5C>!~6JBBb(4G`jPIw}NB6+cULk{l)`;cS>}RaCo7>ph!F6*Vqoi)Z3k znuJ{%1IK||6(VA}o4z1vpTicASS{0yRkau+fRlT$eMqplr9?JSj#Y#0PgNAptHvJL zoE}StnMY!jab_9T54oFxeSzof#wQ$|`VsleES}*5Ue`C7^;Ql3sCOWw+JQio`}|FP zSLN*lO4?$U+sxWuJIck`ED1IvJ#y~;j^kXc`S)Q)=cc!6ZAbnNIU32L zA@jD;HhP;m%?$1wfPmz_e36~*ZWt-M+UaChFyc&`Ay@~Rs14IDvE4x%|0cWo{!b-j zI*yk=B`@zf#e{5Yt0{TqU0o+1PQbQ|5qpn-?K86lx?3I0VCL%Fp+f~K-+MW}+#k(i zZSKS+{mf=-K_~URUrTSH7jiups$BFxNl0;axIv3Jhatf5M#)6=hg1|PSL=&E$2aJG z{dstWId?^;8o`9SgKM54jP2AO3HPN0(}2QZLkr}TBMum!WSU+2j$AW(nfa~C&V4lY zBl|g&f-gc&P?QloNWgtM6>6Y=3-SVvjjABFBV-0jmLQo9mFWMX{6G<{E<#(n5wZlu zrd(_d*_>QKfgLVTWZgs$Zzyn~3#=pMoAP&>A7(&_kUgklmJ()*hZOhOEa@`L|CK|q zxkjQwH~sg^A^z_1-)lJpn96i03M2j-_|(TmdcSWVmF)1R2*`9DAuv=8*0g2}cSf2!&U; zi6r?)P?~r9BnY1LeHX5cK zXZ{Cn+#9o#KHpgXT97@8`y0*k-i=HORph=fp7VUiDQgfNo8xzz53Kk?_7X1hyI^*j zdPZ&g&nt@hGML$Czd4%mNov2DjP{!c-m~9)Sp(!tiuR9s0O}@nD;3|uH-FKu4jpRv zet1U>iE|r2^Xnk1J1k_s0iL5H&S>%JBVoB6EEQG>9yueJv|{I9MDXHRuM&~RElI|? zoBqu0KD_|xz8iB}@#X&pQ3!aR`{!a*{vB@ALV){0104+=<{-v&u5}zktS+}1{ptrA zxt#SFxi-bReb{EZrmnCpv5h`#d8{M%tW*y{AKXw1oeMxme1fo$DJ&EOo{67RI(J14 zgtXgrb|55;dTo5{w8)?BxN{z)LO+#II|Nf~B!_3*_^1yOAlXd|DCkp-48 zf7!FcyUd+h4eKDM_M$E*v<6bV&UZ$k)%0ga?%uDKcFW*z?iOG8@Xm0DTQt2JQP$y_ zewbk_LMb?!ig3vGHobn>id?U|>I(h6`AIOYf&$b(yJVN_b@UnK`PNh1#ftU<=n#6N z?_0rW8GWy5mR#w{Too#thlAQicR2D5hk7mb2v%AU)aKq7>ce8mA9K=b_rogxaqxt) z-7~7n24>U%7oV8m)ZsNIxQ_aqdoGtApEL zE$Mr5ug%eBrSeY)q?t7j0slp{h#Ps|foBq==C4Af%TLTGDgMdC+tVc|bFLdd1;xU;%fnt|T;;9nLP#&E780 zBJA>{U(Wzk03&9+TENZmP6vybq8E=xWik!L^rwuQ#a=nP>8mE09HNL&~`(yA83;{o#D;a55(PU`PokFrOs6wRR}|7 zfj+Ip%vh?HOOCV3nv7?!tBooJvKn`$5OA$)xyh8*cDwS{_S@HmIW%co8+9G%tP;W- z45VV0SeWa&wy5z^d2yv!lc>!~@da#jwMBhu2n4&R48poGi(=sb7L7@zx%C15&)_J- zR0~i&UangrB*Hz((xx8y%R+ z-5yONu#mvf#Ls|5NiA1AT^XL=%Fmnz%F=d_4MBKu5=UO69?^v}6NUp%c))HPl0z5W z$lgKXy^6jvS(yHAiW7F-JwA)aW0z$LS)Snkg2@!Zy}a<^c6>ShXQT*`F1aab#$@@}Go;oYa6mE?;l&LKW&UW}7+$O+G`9y_ zLVffs17(*iuQa<4Hq|faD9m&E1N4fX#XN8 zwYe`~rRizTq0yvzCP2>^8)x>aM~(mM+18b&EbFXyNWuk$nKW}ER;CDozu zf(F5)KD;rS;x0U)aGT%fyH-bY`(kUg2E6S|Yqi~Cl=hC@UUZ5lW@JOEKXw6%u~Jt@ zvs;+&ktk}31tbKen{mQlH~QdPfs7djY48hOvxj7sS1|g#MMR6Hs?=yi_7Mu8E7Xq0 zIv%hDG-#X6+-L{=aWeC~{tZb+D^BTD{D<+VD)61jTRP2^-J&R%D5iL*To%O2qN$#b zquN=rIO7!mvRC{IOpNg_+--sxTefcJoGc5xk&2M*Y#b163@u7)q?X)@PU5zDR9ZKHHf98QhcHf~e;0%|(T3jz$y9#+M-l5biu?4LasNyH^Z-`if#5^A zmywf?uy;i-RUW*vye#5J?S9BA$4H->UsE&ke#mciAJsTmuHYlVzL!fRxj+4wv9AYy z2xB}g6bq{>_)yO1-7$F7hV--;ADy7fb^ychBK#C@sC3zVRqk9t)zx9xKewB!+(awB zIR;ba=r6}NB%OuQ$zn&J>#%fp`+GuRucvWhAC~X?Te|5GJzUaFgWMyF%8O&vchEfn zoJ`+qw{x!AU&{{8ZsqV2VKQjU>)9JjLGZfCSHU>6&zR1sP``FrK181tcSDRgcNxF4 zP650H#lb0P8}jxOr>V?Kq#BML2pc#-XsRY8$xZD5Jw|3*xYXFQ#8~BCs^Ulx+KuEy z4T-wApRIj$7xCm1ABb|A%c&>t5*r$AEP+8aZi%TcRYzZ}TQ0&U z1#>=EW{KUaRp{^$zs*txb54A2C*?q=jqCt*R))a#|UMy0%KpY%hC^D93ey)*E-j-3r3?mxI)Cina;>l`hkxp0S*dm{AC^ zfwc%)^K+cV6kW*n_Bk%x6#adnsVJAJwGe1_k)Z1hRu?(Cj>(iEXeVH(+7(btJP_e8`EP8}* zump4v2y2i;K~Wq%(q*{qdrT!5&_sAd@O`I*^eH2xeswd-5F}inLvP>4jl~KJ4Rm4D zSctSbOv%qRZ_}_`u5B)iT!l!jjdTe?H<8|*n7S^Mza)aT`^Julc-pnifDJ#7kju6@ zuq%|g*~)xMDO{lnD2cJWeni3*ETH7MrI^P7t$;!d9kqbh*|(Sm3zcbBG7p$%uW*Vd zhxZXDlxO}c4p(^0aocV3&(&)|cEv-%P?0TEK#=XNwwaH`Q+Z8sOx7aW?nz|2y9Eas zyrp~Dj3dVE(&*D^l?&k8oE0d_!)To)e?=Ygu4*ui?5BX-z$_tlz>YNap}(MOiY++NlDc zP}rs@3}$>7fCmI1TMZgz0OGTO-c2}Dzma2v&z=1vMi{8}(vKc`vp_|K_W0ZjjMxE- zbNGbO5hkqUzNTwd7aV$%Wiw@d34TKFl5bR`TWruea8*VApnPJ{7f?j4=0CBkz zJxLLsZ2?Ti0pzlNA+eqWV28n27(trpK-XevRq_L9!1=26W7tUj>K|dG^_Iokk}oiY zZL2M%EW{|Q7F;l(gI@*~KbVyI8AUo>?L&JO1dqVp%NT&zH@7Ad#d8A^o$G%v==IeMt5g*S$K*FW6Z}f<&HRbshqLY{!$h{Rm+ri6?xka9NP-U%h!QM`S;}F{;Wx#}GUAC^{dOALymYLZM;xoQ6b){R-D~EBzD5w(ZI8ib<1ImgvF1K@%6~gd^OMNK}C}oBGqM^gDy%7PA zB%Yk?Muu>SnUjB=^%WJY$B}y*0XSumpKECtw-NkS486s0&{1^>F2r+TjXeU5zTZyO zxOM2XY?qRxsZOv<}w>jzGu`Vvgd&ZbdzHl!s)g*Tp_Fu&(IX`?17Tp z1FXsfQkzX>;zT7FUdc6`rA;Hr?HoI z7*QYRe+6g~euHpI+~|r22g3!iB92O(gN{~gX)?RDy~{#GZwwS_W_cj7qd=7Dqg3WZ z0Vc#~*1UJTn?%1pH3a_0tbDrZ6y*=&HA>kp;%{I#*RiA?Gyi|vl1j3hsF+nqSBRkY zhJYf71lhG|^#a8!XjtSfm8ym6aFN2lcU7QLQHSWK6{rQ7U^Nic3^*lPirfB+B>I3e3$m>bSx-|W^ac^`HnF{(b5O86OYs{#AIK79z?%G6TQ{H|^e{t#Qc*gK`qpIFmoiFCWJDFB zILc6#L?+#>oDwJ(Gx}5@fjx-1#bGZ{JO(JKC+R=Q)z`b1BN@$KMVy(=U|Gh5+3KmB zyy7yvI*KwAl==lFKcu)#g_1>yY`b5mj0KzY4;%YL9fL~XtHfnuVJ(^m`FGQY2Iz>R zr2(W0{+(`Ac2&m=qlfw(P^qU$C+@KcUX$D0b1I+tHo(^homRIi$)i3~2&6LU5>4M|>1n!PbZrANcR_$fP!|;r-5)VLUB>WGs&tB1 zlQZIa#QLD}a=;3M>9DE{NRs4y;xtsmkc%6lD_jfx_JzJMkacB} z3N|VkDD`8Nm%}3xON@0xxVTX*j?+Otx$i{ri%ciWEdJ6q07@AnrA{!u-hksNtHJtJ zHMl(HW%#za9#$qOs_spap1zagAu@h-irYi$2!W-M=}sAR&V;JHK$vk zCyu>@zkxSm8@kTJL4m=lQ!06|d1)19Z5CFji)K~DDYmx$+GLKG zJZ_ck3?@|mZ@j^(8(rkA20N??Tf}cM21a}7{Ij;p^u@J%q=y)U$G`Hg?9P~m8&!QU zcW*Ff+_6@wF8;QiHw86qTeIDiQ&${1y9W7uev{dMD>RIa_!ph@O?UMpbu;Z!9 zpcW?h8_kEIG%o}av+I+3F5^qOIf%LZ}Z zlTkiec|gTmv#^)G5* z)TmG2i5UahW8C`OpHK?Zrmb=jiE`(ZMVKb_y{&@9TBYt#iMqQ;h?%HZ1~lQNRcPV! z#jYPouwaMV?Ui8GaJzP(D2cm3xz>9UhCG7#dq6)2DYb1Bq7EoIx{4>i0H@FL!u9Pr z$NUU8-*J!d1ybA7-mgrwyq!Lz66-ZW=m#INQLt-47!knmtGA-P8+o*!av>rYj-mjJ zCxbzINow2Drle02?djORi*sxD%FXUtow0A%4eiab$wCe5Y_NC=p4>IZ=q-8X zNPR9?TmKF!dELunVOiH%dQP%BW5!%~T6t=zp_r~ocCa_hOli>jS!RK4`FeQuIKzW9 zJ-e%N7o4C2rEbPd7NfLtD6tsj^oi`C8Lk6ph2uc2<-t=ZyHbvz^~`?~TFo5{<{aN; zPCNQ>AsJH!N%6*KIZBg?V~aOV}k;X+%q}{F)3Kj19jM;$aT8eL+Jp zMB>nlUkkt6wDn=((GEf`#G*b8nu4av2UO zK;DZ@d)f;<%soRet%Z8q`r^qqG5H56lPZmqGzKzvt4lkpp`_-c-;?UwF4cLBC8@3f zieU%lzh2)@yJ6G!WA6N~%o!D@oKe+vSbaavUw_Z_{T}@I`|JBX|ITavJ-+wq`(-N2 z|0X(wM}N}J)8}xEZuTBmQ0Q=bi|`Mh{Oc1?60JHx)L~#oC@L{9qgtPWu4r)x;&bA> zIE#9MS!Uz`TngyFp->^ZNhzttekk63MF*Fl$ANLp15GKFhCagh`0l2T@|Nu4+Ctz! zQ_>;_np*Yc0``0^VB1^jiyB5Hwm(;~4`b9o#=$**%{{y7c2BD=FZk>C4@|32%)qoN zeY#Ferk`mZHJ8)(WuZX1w|iN2S=Sx8tB-K%$>rZB`m>dDx0HA$j1*XX=0xDY# zpbh0wKzyKSydwD4>1&F=w6LaZ@eI;fUy-3k8JuUJX|&H^P@`GlpZkr^#Yms@)_-{% zlk6!J)*U>#XYdog?`H3R(E0NhpwQWz-mT7S$zD-Q|IDO+Ccc==&Tkmiy#3jVM0#KI zsPhZW{g5@cGWQ+wN1ep0!^1i)S^wPdPFws#+HCzXmS#0bnfV;@7usLi8Oii7NA`z0 zOnsuvXxdihKI}5Tw`0IUG7syU++%+t?A*EU2fB~w?1N77_!KOm=4Ua!P`BfLs?TApMe=k_i5D!9h7yAnKQ@p z_<@#<^Ox#sDvmh|oNYd z2p(4B_kvVfRdEzX2VY3!FRt+ARcdS*j)-um$rQ+j*33mpo{+LPhL&3i9 z^Xn4XiZQ6uunTe`+Qi5L5Mvh$Xix!5E=tt@V)5>HPk(uw2h4(%GeN1Xlv%cO!8$_9 zyUynKh^__vjtY9$3HY9a6+!Pt=c=@r4+OpcBEM@EOIf=NEvZ@U&*Wp2=E@+f=jFpgjI{$Pr#+Pk*D0{FNLuVFhCC|SWW5`qJX7a2j21ts)Dl!6g z36TZ+HY{OXDQ z&AjB@y!{!BLckTRf(rKW=&DK=z!)6OxPb1A}h^lCD(Am%Hi zw}W|kJ{e4S=Cb2iwf`_a5Vx7an2i~uAD-agH;&=S3DuWVdZ~Jb0*GBrK6fNr}1g#|AWoxsa5C7=6ge# zTR-A6BQdsElFXd(Ovr^`ml?j`!vu8_Cxzh@&!j(`Vtw?t@&PV6?Zshf_gI)E*j026 zdM7ClMkx;zqn|B0bH$Wm4y{a$x&EkBawzYVBualk+^KJ{=EHOteNj2_2KJ65UaesM z=oWVrK-hX0#M08JM=>$bO+Y4DRk89etb8vG*6frt;nww*Fp=FH+em!V#6t@ZwEZ0}G1b&e#SgfXGVg)R*l#bW-w{tgvZ6BmV4S5R zxZ~Z%;EtVKQ%E1&J`^^V_k-ZeGffE=k`r*9(o}KjDNttpIqa26IQ5szGWjCHR& z-jvzkr0yxMl(k6ETZ+e;W{5*N_?@Y!laMj2k@KLKU(`!u>h;-{I% ze9VfxEBMk~fOO2msK5o+Tu>q2Y&&LW-UwEHn)w*7$Cyvhdk5hvDWx;rZmM)2CkP$*Tl?HZ7?^qlYfbuSRx=u@DV%AVe@fHB zp!aesL=S9ZMI@2Fza)Frg7ilhG^Q^(f?S#N67?VpnKi4g_;6!paYbYOFN3uglfN;0 z(IIOe(1b1XUQEmbqY7g+H8c7qBI?qk*8v|uHic8uqi+hp zH>HEVBT)Utrt_Kyj|CIvJU;PI(?mAe;fbI4D-#?Za{(e73^gXw2b)JhBZRidE)!v6 zW@$xo-bqc_8Sgg33^$km3N|BH^A%u^-_CfK{RmgtzQ8cZ=Sofv5nP=%@3@KS7t%TC z1M@9hToz}?#<_1xMS`^p!N+3>32x1PZ`dU3!;*LmK|%QJNzAMGHeV^!w4b9Ha*?FE z?VmABD%ZhQ`&_Rp1FjdCyQXXf zr9fYw{dx|(M;>t2JHdoQ!L^^Ysh^rg^&!;C+ zo$Ey!9|*qm0CZ?v3kic&OU*EFs$I12_)9Fo(+@$f9EnkjTZ?pVy3x5~^AFH1xjT=QfDnS5KVS5?E7tM< zvGz9bRaIBserXY(I(AzUD>&tuaW@BJSx$iD8_FgOeES8h;!fzeE)66uP>vM2AcSYcL`552a3|+`K`j2P|pt8$?&w{R0c4OIu4f)EBqOxyR6nID3g1n6a19we& z!`#hW&dv24-MTZP{rG-@Y!W1^vI$QtdLfayDn{J3_$DUo@mBnhYI--W5LfK!At!;)3_li^q3dx42}{k|8~4%q=}AE;dQWh{shA4q#0|?I_&_C()Yk zu`{7V#q)BjAx~~Dv5!QyseAIsHZP|&X4V^l49m^4xrOq0=S1_+tesnfXfLu6ARKK? z1{)jZVobU0yG8vJXChNa#V0(uDBHaQnDvqP`hQ?82F!b^eyk}Fr1JaASig}Yag!4U z7VRYz{&kS=M)}rvAG|(J!fw))B!|sd;N5kCch`l-ZFt%*y(iO{?97#Z@*ZU-616ZX@&V92m+L~T)0BFrL#&S>6Jmz^wbor>8jNH44 zLz{0k_cGH%Z#TsmHChR1z@J({xRPy!T{cS_+T@rmz1>TsB|BRiOqcX=X8}`<^e!*C9~NLc|Het6 zc!6utPx*cj_F%wq6KUR0kxsisCL1u7((Qaa;Embn-Q3Ha8#K{fyDR{SnCeG?Xn3u} zCEr`k4`1T0bLx$_Ryi$xT;cvAE~k6wb)Bmv)|f5c(!Z0VX2b8meb!hn{x<*vj1t56 zr_cW_p!|IaSY;}O=nA$Hw2PpyBi!VoQl$@Quf@#e^TLiA1TFr+d9--Pt95hR&g$bveOBosS2wXXVX^lqT2~nQN)}_MgbY^ zxyp{hkwG=tAPM1lN-X;t`$t4R1ug?QKb`=iI`<`PcHk^O^%td3YwEoLBzOpwA|OX^ z=f*jHiIJ^>-DGH0aBxe+7R#1`Q6OfW4`De()Co%YG*1QX=MAwmnx)zFJr?9)CWlBx zCY7RWWFpcUOC{z7#sxS1zDQd2t ziHBtfMIT5*D~2P^ELQI`A#nEP|fjasq8n9{b#RJna|QO5kHo_Qa+5vuTli$(ET_B!nn0q?cdah! ze{>f9@B9CI>WIIn|7F9*`hQXS|Gw`>&|KLBIe zjbL@!<-D^C4l|!bU6C6!)ja#mL3Rc1&NPqwQ zjMd0QRYT?)-@q~6>{5YI22t#oaBx&4k9$_dzSWVdrK*MswDF+}#t5A_j;74#+oc<= z1mi6t@T6~4Yax92jf$JFZc9la-mfR3-{|sjU7X7PW-q9c8Ky03 zRYrF^H$`=(ren8;L@T=a%3w~1vqNtfM!p$ zHg_m>2D>h_Un~r4BDpyp2R9kInOi~FfykDLFQxxiT=9i z-uJb!CX1tca*2nI0x=wTt1TNQKT^^eVGKHe7<35TrHK)xFpEJiTa2#orh0-2@K+dO zAi}%i28r;_vD$IGgD_6LkO5lo)pnbzRN1xZkDi58v|7*-D}MyU)wH_o6)MRh-dmQ# z5x=V%$apnR>}iPTIr$99lgy$Fx%Em+mlV{xl;N_UMY$nfARk?o;f;CR>!gYZ5|6j& zl~r7f^O`l&KkQpW{Rq$aD*rq=8NR8ic+3@g&MJ%;5P8u!jTRhN0W^ta{A+=usV@8V za+yxk1_{KB2i{Ixv_S2Q0>SC$l(t>HhIS-QcmKH9WK=IY0D;RD?Tjw>f%FFkQfNt8 zm#advRq{?8*Qvbi{2#K6U5*qc-45fclu`(1nfKzzZm)Vx7GJ}GOh^0VQx$9f60g-^ zw{oe~UjeiTK?!mFk0@jj0OH$WT8N875twj?fC>;MU;Vf7&X-EP?$Ho9mNMVzBa>pS z9gNi3{6WH#vr8!eu>3>}2OjOQ*w|igCc8n9WZ@SFinOjsbHstbYQ7HW%Nz61!k??g z8cJkPdE>2Q5D$K+-3om#H3;JPj}`bd1WRuT1O8Y$<}_c!jLU43yyC%96%_$39^9b<PStG&y3&y&Y_Ej@LcU4SFdpBy z9u1HlcMJ8@T3mK+rkM_D(Uz@Q<*`j({|d=!Wh98_q$+~0kIDJBdd!hBwtrDIt7uLa z(Y4gXZ>IOdURFJDQU~>|oa##*tHH@Q_nT<|&O>s7IXK^<3v|Gh<1aiMj@coNx9QPT z)T27&;4g{2CGflv~DHgCy8n+qUhA#SD$CdaJ7Qq$|PNXM-d3$XbzB#d%?4 z!y~p~1Z!fLLJeu#6z=aQdzOuYP@_a6O)=EOl0CoFG+`ta4jjfO87#X6A7YNzEBNJY zy!w}|=UGOT30~uZ)8@}!iv9YRZ3$h(xK%MS$3xh|+w9Rqn*^Po?DK}poIHwmHScQP zaF^U1oS6h?Ik}cMT;=5Pyz6+^@lNti@^0eY#5>I!Zg^5F?^fPzyy1l>E#SR?_hQ~~ z!b>|`ZS9q@*|LAx8vOL@UshnUm#J%#nd7Lpn>l6S&i|g=yl>Vdi1B*ZJwe7iP2}Y4 zshKK?7(!$yqiD6W2?gOq&i+m{2!DCPm^$lPM#77>>-UYd zHaT7CWTvyj;?K$UcXlZ$KW7Z*CV}MEQnGrIf9d$5*HZbT4kGD#I+ersO-tN6v)KII zty#LPPT}o;g*DobB2zEb{K>MU6cMEHpSA_~G#^(&`1@gsg)KU2-ejrTN2q`>OW zg;bmVfqhi-v5WsHzCm@oMNU7f%%HSpQeYO;*K}|3mFlfPYtfK3*5Vj+G&?$*WJk5n zme5`7R>bG&yUx<0C@+TslFnmAEFq5whW^~vW0v!0weht*`he<5O{jTV9X@jx^8oz*m1(@P{7+2c1Fe!T6v|7_YUeR+K|7;M zkUkDbBNt>G?Ti0+hgF67q#AWigMxgH)p$BV`quhUB8k-W>afK%QHx{Fu{PFW@i<~E zCYJIXugO=JT^9vZgp+))woI5)>Ae+f6@78)UV#}^6fT!}C5ABnBj z#RW2-lnidN(HV4V3@RtlB^9mFpzk%|w-Fz{m5ah}3B!fG`c|$~ty9@0GQSo9`7}pv7QM{lmG0~Bw*~8H`4~L%tZTU{Q z%($_^_Pn-*e`GB;+qW+cag@%ROZfm z)iSEPE7-`^M}Oi6)nrl8tX!r^`$7(+tYZMdGfu^vT>8P3Ek&`H+qtXFImSV1GfHKI_fK1|U2Sp(- zcys|vw8?G_!=O5=EU@)*<>XO@c=VsTfhRW8&;}vKGve@nvHJ z3p{R!+gLsbl%RiRv5}R_nEl?e8`wB?rs-Y$+hZa_mZhUSvf*PscKdAakvSxf$YE`i zgQyT$t+nd|NvZOWlEd*wz9Qw*FG^AUOoDrK#=KIiu#Z-pZY&0z1 zxf`?3bzJf?vo{eut&K&_&{l=iu*!idB5`xzRxXLo-oUnKQgDm5Gp}4GNeN(=AC9{L zX0O-z1**~cI;zRvGY6W<2kGt3*N;POLWySre1^&>xyL;0-PDWXWLK}(RZes^Q6a%+ zyb_>FHsWp(FHy+k8CygVjjO4vm2bb%YUdJ}b}ms-=UN@Qf}2FlGc#)0knd8&v0LrN zw&1mgo=-^4V+Vej#aLBL+)oqyt`$CYMf2nkp7G!iYJabu%R0ZKI#>)Ry2K(~0DAc| zVMm&`@IS!+WMG>P=ZAC%|Fl(+(G~hvhW<=ul!*pM=>)cBw9g*zJnVU08}OCBUi-q# zO$)5R`N4`!!sNgLa*HTl`=6Ok6~Ua#69B+>xp~S#pU!a5PXTlR8`9cX7p5R}St~QP4 z1wd6N$WZ1P?lGH%xCV%rHr>650pS8`0Bw{!zF@@no!9s&77 zgup^fTN~+n@zHA6t$Xi{CM1*Ej#=Rj3V!!j6`(OoVOdUtCJGangR0cn64($zw#Dz# zmz-O9q#xDe9xk8Uq9oys**Ep(&XhL6ClYG+im?6HG4IX57-hXKW4uog;)nB(p);Am z0*B{+O}KSoRkG(?f#YJySo}$&sJ%>PNo0ifodZ@WeJ{dCGn^xhJ}kj7yX!b+B?pB`pvED&@F$yiit9Q|vYUk6 zVmDUdF1A^dLH0TjCPChXB^q+UMt z^pqXWWMP1)_+jVOY;6%*Dmh|bd6V1YDOkFS(0g5Mx4enK!G2sob}uje$Q2{aB+#PX zOqWd(kgqndLETzx*NFBIuT3{!Nh$=30BC0lY%NXHumu@_f4#6%;)oWmE+j*luX>74 zgeRbuR@z1pbl_B?E|+CiWY*FVY$pd~E2a5*buEVjcvzFSf<+s=&L6RgbK{*M=!SZ* zB^-sBo7U5$Xe?$H)CP~C3x>)x9n{%IkEHH)f}|v=ad}8THZ5=4U_z zA&aq&($F*sSxf#7DKoD|+c1V3j0lU&>f)G-deTSRW&MEEwEauiPk(N z$XAO>3;0%u8cOPy6yMI7ce#oJ?Oyz){v5RyS6CMpI8)8;^_HE65@TH#s+nrPMyxeW z-C!&tL_Li@1kEWQe-(Ri(>3ArdP|$oq97`*YH=;FnZWI)Bl`gH1ZoM0L(+D3#XQH?;!u z7naeR{w$75Y^K>JkbP1%ba`K0RWK+s&XZPzmR|n>Voag4Ul-qZtu4(xF+5dR;s!S7SVew)zBERrd5}uXMt$ zv(`BWRAn5^W$Zm5ouo6?n!qSm^vS7*wZ zgVx>{w~F?@`_CUXyxwJe1MS-wH|9yzF?+0T|Aef4m%@gMvL&vKVnN;&Bb zNFLEd`HkvJa&JqlzR<&B?31q%Ol<%Wlt!3p$0_g?4UDD?`bO(->O4m*gY8JMC(HC? z(1LDgbE`$f+{lh?fjpxwHRJj=>`c_|NVWO%Fe?>(w8(ZvEY^!kw4Ii~!}2gcBUZql zGY~MB&r%5^T;Ih7j970SX@ z67WgYSCGMyijv(POSt@vQx)d9oM{aTp&C(ihEkef5aeY1xpBs<6Arl0aDzIR$l@hJ z9t0n4FgeaW9JgMJ8|o@YVL}d)kgd(v_=qt$WVqR^iPh#r8|A%@nGn`!{(vuA`YIp; z4#p9nT@h7|PD6}B-ZVSU8rXa*d<gg6swa!6_DB=<} zc*}muz-BllX@q`p(}KlAN%g}yui$JAoyz{q=~rlZ9<|pBG+3y*6slDYpfwuDr>qv2GyU)1~~#W=CP4pXi1cd>^aj|Lha@oW}%q}X$Wk^nar;M*_J6GE*Ms* zW%$2B0nqF^zHospDd&H{`Pa%{ZIQPD+#)r(=zvn$5H)I57%-?+Q53pwP@^nMYZQ;- zMn#!~jUsetqy85%oBFODUiUxIO=9MZ@{4?5^AT!8z2qJ%-u}5GTJDXjvDrebMkG)_7{;3Q-?0j2MfQ zn2@(>Ydr(b;0@WXXTj(1wt+}chIjedUq$!r6Cv?>>oYWZ)79KX;qRTJ$Y3l6se@LA- zHU-qe3bR0B+}K?_A&uknP0daQETdHhAHfE1%|DJI>CM9>q)@vE)`S2IESXx2m+=yg zg&D-F6t{m($N@S0bO2EI7@(~&@6mqM&VcT#A6#Twf0;1L*)tOKkZdHpsk@2ji~}+8 zHg5zuh1-@M13-@VPjjC5t5syhWM*@^R_5@mj6_7flIOIb1Gkap(bqP$x5)HV^G-q2 z;)+W!Q`2_X-gsK1OW>ZyrS#>9C?;19F+d@!RTM?DyjzH{Ld66ZWg-e7E(uHqB#nZ! zgiKR+cw=^WH~h>uENYXqdJYR!S(1W3;-NJ$i(}}lma81}))@>jA|{zwYcnDrPGUqA zRy%%!7D)I5E%RE$E+Wiupv6MGs{{0yI%v_3W*imi*Fd@9cvw%>fdarZV+swO)%5sX z9B(p;WlaqkiB0qZv0Jh*d-y|V=($|$3%11Z%ZD+&3|XS;T&xzU@!t}&ctmuoN}#$% zNWE9DxD+vL_u+(B{|<_##da@dyoQhlh7qykP1 zg|Na_y&3`5x*{Zi#(y!Fhol=MBK7U27wO`Kb1*c?0_Ix}a;1O@)Q2!%bErsN+Hq8E z@{W9f%*)==eGn6gQW!lf9H~*Y#fkFJaMfsYzQw^|UT)o^U~guZ(=Py*H+y5c94bdy zdf&Yl&cfAPO#)8ycF-81ywS&%Xxf$Xu4S(_7bXb!shn@g>DL$;Z@;yoix$v;dTnEi! z@dybzS`S$!blkDJ$Z{k6{r6EjQJ?M z>jVR#a4zZ%1Fo1U3sKjqf6Q0>R_@ajN>M;Ol1&)yFiG55#LJE*DlrZKZjDv=Tw$sW z4XY>Usmg}33B`^ElVlS)Z|Q$)XF}sIO2^VAgn)V1McEx=Ooa&TCiZ-s;(>MdQ3lpY zbQ<;BThwW^K)sglC2B6sG6=nOi{Xr6r+{cpB1I_2Py=bs{RTlBHsMftnH<$<{csAq zgdlXLa3$X-d8m^w_^*EL-a#bAm)8m#XI{dMqi{Io-f*W~rf#>%`A4D^c|dBo8t9Bh zxtrz)T@`YsQghNaC>}K`1NzfT$3VGlr#%Zozog|Os4K~13xa6YlsKN(L#pp)DN~pK z*^0|;g%QaXmTq+#a~Z=0kW0h@XqirDhlM%;#OhG4YFV}zhhv(syEWRyjbKU$2tPro zQ#mof{Qo%yIMRbntnnQOu7-p|TZ?>23Dk22KWCX`Z3uC2OW-9he_{m@wZ8Q~gX1M? z&kTle+jWiFOcs`_gGxk;q%y;r)|T@oRswW(vH^fj9q`6%^KLk3SUpEFpRhce)PzYP zMuSQc~C)(%G`2#w|MUozxUd^RFwYCH9Ympo%M`HF#JTPSR1mYE{4m1 zRl2l@BXAukaKmCp;&z9$I#~V2%>mX`RxQIP%f-5ueqpRe6CF9((phNKt3DIECc!H0 zQNB#~y^dRm|5lDL0MpsLUv8mj#J`89Xwogm> z+m^x1jA6CVXu@UnvU_3rbAwBqF{nfb5i3zJGZG_!gs>R`jPWk5tzLvp1~^)6$qZbE zP*x{_OY}gX4N0D>7IiBuu`H$4*OplQP-69-6W_9Jk{?0D*=_J9G^A5h&atNP^^_w# zPfIYjGv5)G+Gv!|9CGAErPUMulTYz&Y>)?*%CuA!EWY8;IV$>$5U2{l19vS9cFQF_*Kjv?`J zKDjf+U=^yIj;h?|s+_M%KI;Os^Hrv|wp%;rtCmGE>GGpj+#L!MozXdes&;^6P$e4* zCQ+iYc)ya{PiGa?Pw=y%j9@^(BS~e^mRYzBNb~m<0lgTm?cQLM%NMQbl}1O|V}9vLH~P+cYAUj#tze$;V~^;4oVS1ZvDIA8`?#4su_nn1JT1Ns$ZBxBA1*2w*8-+Zc=)+}8cXLEGQjIfjY2xBT^xUT&)Kd5c=oof;` zceRSzq_(WH9*A0(J&~5E7NK`oee5|D*E`I`D(`eSt@4H%R(Y$lRW)~|Mk_pfp^8?y zsGbh|`6?Rf<*OINqt5``vYn|2jfU5yyr2T=uekj z2UJXG(F9k1U_`^`B8raCk43~zRl^OX{Fuq7aaSFMCjdD|M$|Cp2qJl0!vP$4MwOGg zE}w;A_iIFXN2MXzO-}(0gTbH#yY5Hoe?>t*VSUr*Wrr3M&u%|IJ_Cy^?$kc_9XABo z@Zi2~+er1Sup<)vWidcil3lPF#7B|4j;SNrgW4@eZ5}yx#glfuuw!uWLj$z+|PZAwTvey&{E$GH;6-& zuO&9!o=x^ld0i<|b2_3vcvcnr5}k<~}o7O9!n7Fr02)Kq&?unJSba1sfFggt#LQw`*v zqO(bdB7gUX%T$$B1`2^D>8i5AX}sG>p0%dzPJVC+s7wewoo2nZNHuuqwzo*8A2Du^ zO}9KWEQJ>P`HFY;A*4;C&2ZOx@jwdS0ZY zE$T$V)LPf`cJ0&cvE`O)^MS;K)>>+ba39*X%6Yn__FDVknt$6Ig)=u;OwCrh z00AE2;G(;XZgC-Ebx=TeApk`B)79#>51dqX7yCDyjf?1 z>5$5)T3QQ)H6`1@Ra2!*pOAXGD$S_sudh~>`knQ8)sjp?XxU|!Emo<@`cn{(SfNxH z7$DiD(y9?$X=S4z3L{=wKN?4`tAb82haC9-rU-9L`ExUE$eWdsk+Ub2mRwD%=Mc@W zw{uWHhE*xKkey$z%=v0=B+p8HRW^>sT7k%Qc$J~EXV-bC)cZlNcSmn0c3bOp4T++R z?JY!d^gkj61=0|n@XI}g)+zQPbv8rh)6hoCJtD1Wn7)~hA3U6k+kUd_OE&}u?cnLO z6sCo^De)ZIbw^jMgLeu8IIWsT2AFol2ebxdvFzXV8Y*H11^X#G&$iJy#crckG@AKg z*-|N)U;*SWy;2pW1nd6A@>jHDv}P)a)W%dYP@-Io_qknGKz0 z8Kwho@w-lWB6`W#;^&{@~FwZ?B3-ft0*r1~qWp$_=mt%7> z+0#|F9Wh<9zb>g{$spO(&S{Z&5__keZya7EDs!Uds{Q09=45UeSs&t~gXr>@#TPND)M!qfxim4!o049@HDKRsmK!e#q zuWOkq1&glY69lMarYFH`PsJ50X-|>{Wty5~@R6D<;Oy`>lJ@RCh(~ZylR`1xq1GPJ z$~gE>%0>SfHBq$%4*`XP@`V=e- zWv-1SgAXTzg%!a>Tm!+iOlhwqgU#yJ4%!>a!;aRu_x?hx@03x4qb4&80UKG~o&C2c zf*={@N3iemYzX?Y%L_5EY~xA<-cf|RvtJ?tJ3GPw%>YNDQFo(I8mu%l%1mn_7JUYW zOs3gbY7r5kS0KAO+98Ii4Fg+klENmv$xomsyyyhOUGs)WwQ*^Za*+#k>7_Aj;EHE! zg#Z{<;BIqncZATnIaaYMw%ECWB4$LLyGHKi&J7R2*;VHrFZV6ZT_^V%=LW60xy!km z}JmV`o?CnvY8bZR3kjKh*nRWQyE$ z9{QrUY;vW@p?_ikj=7uPB5{-U8c^*s+wV`8GxSnDYpX=DG}?Npq<&(O!vVM@^wQi& zjDhg8p=W-qEU|n^>}!eT*Ulo4E(|BlJunNDI&$0>v4TXUIw0BMbUBN{pC|TLYEsM!n$8}<=OtbdeMlc)bC&su0H{K{pSh#T_oT+hyPBcOEIPBB3Jtkqh}v{6niN~xN*V#Egtu|Y zge5S14i5R2(qA2$XZiYhAJmU6sQGEp&{59qj={SRDmGpDf@X`USuX0ABr7k$A3u)P zTa4)v^rWAmE~{g0E@-=s(1%`4&PxhCt73Kbk!Bs?98Veu(k@DtD2VG^2vjglsGXKw z9cy=bdyns!l8$?KBx1AT6Z*ZbA1FKa^~x|5c=E?T=WObwbSGT1a&K-#`}&R? z_f-5F`EF25?rW7lPN@Go{L!6F=txAi1~!L_au<3uyJtHn!V zRmmVUO~$8*S6bdk2J6C0!|lKm+`ERyB2DJv;eGXsQ?qFVkf?m&zZF5xBgmmr0Y`~l z38wL@(|EAtJhZ24)Ii4Xou(HPwWfD*|9RDXt%r9)(E3ac{|(?}Exgt8^sg0faHUFp zgMZT~LGw7_vbt|i=`rRwS2*b{74!pBHmZh&gRiDocv0SQe505*4?#=hpO+mggEiOisDePcShVUklIHZ~>6|BF zU^-tEE#r+HIN>qG09S^F>ge3vgxrU(ehLXK*AZfeRApE}CJDm1Dh01AyKzzjuQuU= zUw+C2M)VmGk`E)lB8FZ_j3`X_toG^9ss_YzTwz-~5B-(b^&4qoGZqvb4zHdIPimg# z9Imr)(BXL9PM8YYqjdF zI@j1V0ikqp5dGoNGZ9jcu!ZZKCb%IBu7q^9)+I1niXkuwMPlYmqE0 z6|YP}hb!B}+=h3%yCVo{1Y`Pq4IeuvV=C1x(*I>#n0mFHGhu+B$x4xvs(IQaS894# z_oKI@Sr<;JIXtEJ>Yp!iXNOvvFQPiApIC@fLD5ZDe9lqb(^Y63m%nnBF-XZ#{dLu9 zNWVMCueP1SW$_Owm?2RYLs+?)52TrQxg?9JP~`#%EZWA|MtkmlR4%RK`fWKrwm0`X zQ^NE|wveQFkU2@ns?by*i=Y=YELXtFS(vl9|32JG1S5 z`2`I6ugM^nSdK_6yYD9~Zn}G!X!-KG#&LE(u{@ccxH&O8&9uYGXhsiQbnTQNvA33m zg4eaZ98=ZjHp6b8Ydm%`XsY8fngJrhnmewS$$Pve@8+V(d%HGn=|P*k=ZyIaChzZ~ zKtm4s$@`Pcw@lvK&iLSy_j9yc791v0smV>o}1%=66s+4W)UlZo8` zYiUb!?jK9USj3#0bPle5K+Mq8lsbE@tU;qHt34j+D0q|y>=8OP%>Y0B50GnnF0^m~N;=AL=1FHw&2X;!|6F+_d z;eRjuV67{BInG3U`4K1nC|*}j z=L#Q=kb0B1cWuqDs_}$7W>sCMENoTXyJ#aOljGkxd|3U>&=Au{85MGijl=EBEjAH1 ztCFs8Wi6w~%*oEbM(*X#T`TuW=VoP%Whm#alY5PG(>~@?=Z2+c=Et3xn8vjpm)9-T z_1rXeb&(q|fWH5?AAA7)+(cep*Ky?X-UH~GF!sZ2ZGM0OB%{GYJMC>l6XSLXiF z3|iE^2Y&DS$3gf#P6|lxLI0kmGl$~0fGkQG(ZSp~(BSt5OY1*5D)irIWxQ{&w737I zAh|+U0BI~yTgj1ff1sB7(BR9Zi$6Z2s8NUxQi;YD5`OClpBdmTZ3Lt2!>m-Cq_{t+I)KrMqc%2Y!+Pxn|!PTSFk#ks7#uIHlPXI;9gBI?pLM zwF?^hYIjs$Bx@=7))nHaxDX~?1?TdDbA>sn;HF==?e>Rk$qz9mKU7mQO~N5AsWeD; zk(qri(EV$8FScj9J?DE}Q^{@Yi?Tly?2%Z>TFD~g5Sf8_iCe0ZnQ_}~fSM0Ev=uKp zjwOE4;$kIb3#zw7Z_3j5t$H)9slpb|{8z=+@TN?r1B+0$ol17aR#*%0U1h=eEO$Ol zu)Ka+95{7kl5{nuxF}u+@w}NQzxip~Kc9K(D>#r1?$N8e+n~0}8mfjbj*_pzLGRp2 zF8Yx@*Wp+o3bVG#h2sx5hxZ^z6mHyRMIzDD-nDV@O6B%?!zD@49MtW*5u1+A=6767O~%F7b+3 zI3ywmpc)`TgpdGXb?jl6VwI_9OlV_3NjPiv*qllTu?)_%O5=>Dx9oS!H`eU=Ftr3% zyGsBp9>8dKzA^GKFO4LNzSsrSgaNGC5cXT9Eb3}y~G_)@OI1YQep&{3oF&~f2mc7l#!*r4pHthNQb%V#IJD0&_! zF0E7xDK3P_f+3Z2K*5)i6qe7;0Yyp4v=(qwm+%YYspZsz*eb5Fo}zK9C1@XH=lq5_ zws_iIlAVGVaauH9kW5oj%j#H%Wr)^-x@lglT_&3joANl(M0cD{je%-7)s^8I0|AW9f2+Q^b4+jV|<=V`jOC6e|*Z0`i& z2srtl2tZ>IrlCj@{IGDCAHLh2tK{7N#OXL?PMPbYj8F5gD>H*j{h41&t_JEnAn~Ti zW^;e=ptCL4pIBb4EV%gd)mw-aSlmE-URrYb-c&Gp3s@$}dy%C5tdCgrR#-hj)Dg-< zJFP4{KyEG?q!2q>zZ1txhNhsW&bL=y&L*mk$yZ**Q10v?p*Qn|yiwsJjR2!v2qE@d9Y9W@$$}?Zgzq1l?al_6Bx}J zPdwBiB#`%K;bY@#qEEt5Eg0&fv;RIiWR!CsF|?C`8ifVe$VI|`z)GaUR8Gh-A$pmv ztu+72R?G?;pM;kzj>9ZTtW40{c|2A}Un@*ImLm3u36h2^ZpZ@@j(w;a(~V(Laa0HU zOa{5U33AK{EB9WjPI|9OXd{oED0kLaaw&)aN|aVfJ%+(Ql0Yr=hsfuo~D`f0ROJJh?jDjG6WLARt) zZ!m!!1iq?Cr#-oaKHbS0+>*F)r1^+}MAg}q^wJy~!=Lf8--eZDQ5>$6K}bNhM;j|z z2NM*ImGH}%bESM6D_Rue1~I_^_u(%r3>9Gafk(=qF{07oX;^q^c4~*%;btRBzVA6C z{u2C`*1NEIl!F0k7S3^O{8!9D_^&L${rANGg?aqvHE6XHngGV)A zrTT`TOOqiM_ZS0HXE$t6k7;e$2?Z=q6 zbW+oHiS7J0vxHgU3K^(yBmRJpNa%?Mh8+mp%ZG8R>>c?d|Ni6J(!yw#>CUxm#3&?6 z7mxfkeAdmn1FUEs&+{vpB<(_N&CTRUOw=e#W0x}c-&8}st{Q*KnxraYg4JvJ3a)V4 zf6uv|i-Ysiz0n?jwm_-nk?o)FUdyxm{~5l)uE0WBLRt!r0-`%$mMW$30BW$ciRvVkwVnM) zZldag5!wXBDO(*OG^M$+l=Z;j%+2d^5orU9QiE&-~g+FjQ4r4Wuf*p5KVf}>S69F>(_X3j?;UCd$K(48l zTo;ZfGf`so!oq4k_VXWdItCI(z{^&SaXQQm&DUyf#8{JsxD)KR$8LAvV}}ICVDe2R zC$=8R>uA2D&}--M;0TrbTH!1_Q}@kAt;|=`90YueKGfm@1t;FSGCLfvW#;v-ZKK+U z3fzuJZWII*bVfy-1+Im4I0YJlCmOpW>qSG^otM>iDy69_eQi6Bg$umy5wdzCW-?L~ zYjx0%fGt)OcY*mC1g0Zc9kHmeI%{aPKyhmXptT_wj3+bG)Z{ye*HP3WT94#dNuXZ6 z3=W;gY2=u~DTXA*>41!W_9s_q#bf+n*EaQh36QY4$$>^t@wzXTJb&iXd3NWC=$4Wf zz;feuq@yEJaW7*i8FD*}KGdcLGdtmE%xk<@}LBvsdlqr-8Clz=EG=>^PQ2Lqt;0Jbxp? zIL)VU*h-5W@i$J2aV5k|XI11YLRp$hiRuW5a#;R~CkbDO0}NGC(~3EDel;7Ue7r25C@E15y8?D~BBF+nS=l*bi#( z5qJ)c33~@H#gCz%u{zc^-|c$k0muZ%r;5V|9bH)Z`wyFp<M#h8lz!GxMoz0rA#B<_Jy8#}QgO_agW?_+&a}B$Is^eGg2Ua4TTzqZQkCkdL#2*wEqR%92-hkk6ihXMe82cLrmuae{kuVq@Nw4^YLXOi_E zxg-buXZYCzSA>$*q40L_ErP6rAr@MZ@-j%+O|+qobHL48xOT$p+QcQQZtQN+GMz~+ zb>zflTyTEk(taJ?Ir7O54Ia;A7fxCxxkj?3($ucmWvYx^Gosl`ReF~peB|_H1K3Hq zm}WEz8Ne$5p?(x?<5!FUUj&|eym@%D{>mjO6fK76s zQJ2e}4Qm{Oa0jr=J<1SWX$hjqE&N&$Uc2Nbw_7ZV=pVz=KERO=!1#IT!PA?Kydun? z@)p4+y!=p$rahYHqsU^;YD;?ahb(9zHS^W1Pqi9i*B$w6k(>_LnEp>yQW z#eOb_Qk3aKxoZe>&r54W`cXO`7vBGtI|EMAoi|-i9ZPa0sI=HJNpnfKP$}Y-vw!nb zHXlF&BZ@{gt)9lP=58!b9HP1tFlMEnc+7M^HIol8c0>Co`%5J=A!vjhA;ESKvMvZo zJzbl7Q}?WBkvB9Wd@RM#88Ul51?02VED(YH=mp%Pb+r|c$03(>w%pZpNV41bekl&)Kw3neDdnawl%(4aOH=)Jnb@joxq%z5-#_p}{6{$>9vN4#Nw6~5| zHU{T4DKr&)PbpHF@3r#k{N-YvrP1L^lBVnwX@gFYE^D)}V3}fWuA2qwE`WE&vOlVc z)i^NyuN#nfd>M_tWDSl>@iOD?I`wG6APE;*m|V5=HxZJAGP-2SYk8Ubk1)>IUl%f2 zCdWAh8Dq6;8qtV|B8<4W4JKCBOmrOtwt^W{p*sAHc~Fa?q8i^BW8}D^$I*TVVniHzeWO ztyuiamYB@wk|EWQ=o>HD_QyV>OpIOf3jKqjSWF=Po_f%EcH&kjr0x`SJ^%F24rkv? z$Belq!JT`h{#vzG60uSdE9)v2ouv3WN;UWI>EiGHhWyy@Yh#xil9*9Hog*@1kd&qTC@YNC{JaIZp66CYU;`~p^OOw+fNAHD1{|F6 zYXTy4N`wKQa9qxy6t;zD7-PA#kiycXxf@HEFvZv|Xb{yc!h{0;;BN*9Lu{}vrf6mK zm};wz1}W6@q4zf01V*U;anRXTdxzwl+4^LlGpi5N6-4} zlEM#E{H4Ths?}s*bhLAskwbQR9U^roB81{C{_odqYhclmSPNe|qTOP5+3}%Xgmk%9nvgM%c}w4* z5r9Be$&D14jY3Fj9`IydgbND=s65>$L=NeO#dH|(F&C5mI;gBQqL0@5>S-z~8|;Oy zHfkjdFjAoP&k?u~(gUrMLwo>fGz!gdA5?)0d0yoKRiL|#EM#)b)M~2^A2F#cF}^Gn zt4=Iu4>r60hnkh|zzG`Rn`E0Gku_0sw`q#kc`w6^;ATx)xl$Qsi|7G0v}%gj$xNSH zs{KJ_vpLY~Wv(KN+)7iYCLdx!`~Zm~Z!}f3EUf0a#!zg|&5&k=(@PNqNMIuYr_zbG z13McE`4$dWDIY7O>mSZIEXjQ)Dz|?))SNpSqxO)Gr07W1Bw5#>Q$6M|JykC7bN8A4 zvcYP)^J3eTGRJ4B~u{@nl2I<;!Hzz)oE;%nqJX70{`G_6q84qZOs}w$8w)L=j31k9&l1r=2&VH%K^f2f#vX*4J^P`Vf1tjbtI6A#wxt7kAQvxlMXy_ z1ZqUOgkw+l<-znT=F($49zvYF=v{CUV4q_UI9gkEt4P$=RBYT)TD$AD_tV;EkKS6tDA&ec zed!>VNo-@8VW!QpwJHb}LVGt&7a6*{9?Pzy1!4Du2)`5k z2$4V14CS263GV_0fib&)G=pKc)=rd$ z!|~l<(0=8Rq1aG3*m&&r|I)@nB9_O9`{W^v{S~M}dHH~!L=b7WB>8|n%Zr&G$ybW> zS2rC?fAu?iZxyQbAofb}XiN5_Voi;~{VCpvN&cJ+9!&;MB!jY8D#LLQ;-)xLvYvN# zZ#xqQY3dZ01GyY_S8C2yJb~(RGI&X;vYUxz7}Ykmmp8ii7#+A~3QiL=Y4wD#;F`~~ z%HG2N6W*A|uen?dozHy0_A8^u*gL^Oj=F|mxZbGUPOdP~o^)szqe~I%u-dJ)V>E1% z*{*|XeT(_K15T*UsKGEmj4!v7RM{96QWF(Y8x}G?U&x++Tq%2U@fm3Q#;4Cn25*Pf zNVkw%B6Ceyocnyd8>N;LXQwWine3x<(=hi@IB36-JJp{qldHZgS*kmwa{O;;=-gZi zZ|$Gfu;IBfIWCqKce50M*g#|MzfQ6m|H2AqwqFFA++k_R0bmBC+9v&NvcA!lwAO9GErxU1WZL`S|_35Au3xdf`usB^!bew z4tQPKEYTg#)Re`Y?HlseVxPvihPVo*N_WzgEMbVs4u_5{u{>g*!*8unHMdI8EVOZY zIn8fjCtO}u1y+dkxz^jL%`7`dOA1}@bF~~bZ_^CQ+?3!LE{O3u?t3WN?cdy&n1B>+ z4w^W2ZH?WLEe#wKQr%B9w))8Z4Y}^~x&nj56u;;C(&XID*q;LuTM`pwx~#Gy65rvj zlW1mfMQ|;;(@zQnbNdAnGa98d8+4dPRR>7KtmMBL0LBHtOD$RVW`?JeJA-OMj!6AK ze#s{1UuYV=bY#muK(qeK;5wv(kJYAyWw}#Tx4eDbo~qAvbAe*wu?dfQJrBd@jqSy1 zK=-r2s{3FvbFF`UZKCJ=!(+ELbZ#hZ;BMd$&r+E(FBOy_qD^=esUT5Nk?h>yrzUJ& z^lY;GaQjIe*N);C+Ghpw{)uSxF(XbKg~5S|elV>f_caP~a2QnnS@gLp|B?SU<$qY+ zca-u6^8GWhr>dmByH^lMOxWn%=n>+o@S>`4`1&&vJr^7vdoXG~?H)_J(a%qeRl93x z_h#DtfZDw^YWIJM^&e8MEFaQzSs{n+3~Kikg8Np%{h6Wd?u`mAz66hDp~J<5LvK1jPaB7nj4SPe)kGAsVBm8Y32Zku0EYTLQ4A&+eyJ?D}VWLtX17UK{S7s)m6y>K3D1R+a zE1PM-&z%qaKVbE;>scnM63X7HU_}%afApf}0`-;2xo`Yl=qXSnH$1PQ|6bt8E>0e; zJc>VhIky9GkiCmi0Llk1?_I#ZZ}PFhPkr7$*jEZGK6ur#SE&Nma*ARKD3tHruoI3B zj$8k-qTU4x*+~Wk2G~*Y@B;zj+crG@@Ig`VEEYDv!C>$KP;fikn_(Vz3b>*2p4j&; zaJUVfg~DKz(NfDZKOn=3y??CuE!D#~d$E0XTKEzEuTWFZ(?gq4rq|oY#~h|I|0@W5 z;9tDv%fJcE?f$tjzF-I32XSQoxtXmGnFRH}0u4e7+H1bJn#NsF);~GiNi+R6sncSE zuyQiVDnGg@J_Ekg*@I68_Z#~aJfH(uWTd?m)v1{&xmj|$G~#9dJQ6lHR3w8pl08dw z@}^P;AQhx-)a);&ih(sfNI2Ym*&p%kuEF&=kVX2k7~50N;?V9o{8%cs`05k+JoP&- zvaFwJIui3@iX<5_G+@cqBNTiY!6@DC5Kcl|2sh5jsj0XqUvyC{3mvW0-HMbj+ZAwT zwH2U^yCt!4-k9eVwrGhJerB14Ax5Q^<5fSxe%=9rxq74uJZtw}N!w>Whd+9SNOEO8 z$xayA<;jvNNp(=CBGVH3o2rH4T(ZKQK*#mt<>W^==9Q6tqh%v?ByaZP-k9y)54F3H z3=fg5EbtTYnH+<2Eb^c878vg3uv(g_xU+o3hd)(PN~I^arI>@n5~{Xeo6nXX%<%oX z=;4qR>I)hC%Y-=eK8ln?`_cluzEZ=EmfEe&SN~gJU;06kn%OD4MEV4x->>KwirGfu zj1$#wo);S@{Y~qAoiGI;$ZfSxo4#Y}g#!O$TLR+M7aKQB3Erf8E z@+Z5HkHQM9jY+<(fHk~xZ}SNG6(YU7lXN|+%%+4ig{mo7mNvA!NcD8t?Fz}@aSldy z$|Mz1WA1H82IG)p?8}~mhJh?U?S>}M-&oZk6^<3gfg|Uj=D0=YV>M%Q~=m)q1um3wKYju8#Iwl~=Q_Q96ZE_0#v;B)9!$JLGI5 zRu|mci3l6ELPpy=(cOP2hFibe2tlh(?R4l|dAmESLzX&x!l&Q^dTN^j9ViutOkU9Y zEF|iz|ICV#opqbNPW}IR6{m`FlQ}_yB`{q>7M=Aar5)puY>pDoMh6Sybc9)jadg?b zOa0Io97+a%N(IknKQvtu6|eg_Sg%3d(fxJuh-d0Y3nMRt2?irUxd)y?(1XZUD4D_v zw$LsG3aO;V;CW$VL$EicO&iB+f^H{}CXb2#N`i1dt^CV>a(Gy+Y9haInHBJ`R{p}n zeZs>$VoIKdK~8Pl{gO+Cgp4!o;=^Miqh)jqWE^jWoD0`}cWv_Qbv8qLT{Fx#+c2zt zJW!ih%>%VNj-)}}{8oLYMG5=(hiLmvH8}QwJdqU^K4+DM{cAT4h*qn!#g<76z4=o{ z6I41OD4P3HAh+!}Z62Vf25Qey7E(gj*;q~UrVO7y?e;KPtaTTJYD!iDO|9EW0EtEq zOnBvudE)9?%#h4`PAD~Uw!O+P;#HIyGBnO=!ay~Egcud?K;Gopu?C+Sbg;F0E5*7os`xp2$25(7JrEKDv3sT)%y&L@sxo4z)&tlV*w#v6W zTT=3h=YL_js2@?B%6+!R=@D^0AFsgA;43yMK z9g!eKQP5X?BcQ`3rDdu9Ul$?*vS;~Te;&}TxFNK^W%M8obCuadn+)Dzu;F#EMV8b36e zEO?Tdr=^6*w&Hf`VwMt~hm3YO=+9DB?n+>Sb3bTa@ zk@USpu-5ugA75ey%TEjK?pNd!bUc91_NT=t#-D~2%o_B}Oqxls6h1$|FHf}ZQaoe~>M%0S?m?Qqw zl&CWqec%z_eIYf}_$my66>qaR&-0az;6|eT%=v1Kkz%a+>0OE%{)8>wii_DgAxNVU zqSwpowSf)UPathuUJj$7`TT7GOf#4pd-UXXqJb^ZK$R6G^FgGd(M@E|aG8U9xQ%A$ zLer3pklsc-c;4lRhj1p$dtEs8{gIVVDI*=-CczfVjB@V70agiDH7o4P#|W#$QN#4k zLK1MSH}B)>h@KWZ0v1J?fl3x7D=jXEku6(5D8~nSH~fUg+i_L@b#&F=wrPlFBdp86ld!Z?hhVMzN}|1;Kj$N$CF#{}(|oCB|SFL-J`V zLsap!lEQaa-a|uHBX%6Y<-OTT}0HZ7+cR)e8FEN56owXZU4cI!e$q;nC>aPp?n!XS_Nzk2< zITKK!nU#n-2bRGIw5|9HDDgJUi882+GSGGunS?zHu7w`1XJ0399a@U-o9^ zyqV;m&vIyXX8TBJ1nOe!4VRX|uI}m8Mo<_fkr52aT4nSD6iH@aR4`X)NmdzWCX`>{ zTw0LDtiAM34UWT2)w!`Ot*paOc-`j82Z8u@JT?xL)5RN^BA=PM46vmUdk%zei7F=xp^vHEIJ1#P7_nY@tEF?soFhB`(J6VIj! zZBQeGwJ+?8;Kw42r%dnol8g9SY58aULbMWnlAfxue14^x$7L~7uw|X3!-)RHw#MgT zG74;-2fqxB1KHB|=n`n$QenmY2%%gjBcDh0AZhwBujWm>t(F)A!B;4#1hN+47630O zIsf;wT}qWl#4=T!X}P)Io4lp2>u@}{XA!_)_Xclf!k{X~MpbQM0?k8C?{!ZECUGv< z!ah_PGyL3bQ+h^UnB4GeS*rB@Onq5*FC9|l-I##DHwFi|gfrFCZd^Mp*|R9WpV0t! znwT&@hG83krtTsC!UA?y4WH^21F7`@ZnX*r{uSqJyH~jG~HfqhJKxJ~S@vseL$+=}WGXx|p zd?ncH01`Hz${Pe^2B z|Bu=hC&cHPXCIYGMqW}{Znxd^*`v;I-!b=!(6Btnen``a1 zm9&Uin6+xjo;hR+`wv8Ykc?kIWqegemsX83WAXMmcAG{+g+lf$cXSXa&907Tgj+s_25IK2xYYkRbsGK|KCK%> ztbGBH025xTn{YF6`wm{aBs>5UM4i$*1X8=cHD0}gseSr0a`r0W}{ibFC6;(yYRu{-vhqc5fseZj!opHJ001qH|P4bEHNylb_&QsNjlAAaP1nr;Zy=za>i+eUxpB z#YMbTWB2ZM1c=XP7fxXxXmD8e68v%>WiCt3ecN`4wL_f!=BL?aOU1@gdCpZFi-pvEgw?&hJo^Aa9OTU2aoNG5`SmgFx1f&{-fy{{ezBfww~Muyrce#U@(TZrjT zE^Ew89^cS^_kgC9-}8|2vO7hhHFUEV&wLwvf+g3wtXr%DT>Dy=5zNdQT;7eJVL(y4 zVPmNp)fzRnH_QvPr^a}JO1{*9a8|3}YwfvEqshOrM$fr6VRI}Qw=P!o&s@1z({!EY zX;Olz@`cIZd091&i(|CBkAKNkFRbxuURB-g7z_h6L|7u4s?`Q3_JBego#i16X5^+H zU`~;zoosmp56Gg--MFYg)Nq|O6D&N{9{~oB&}DxKZ}NUF`>PLLwwnp&yAaLSL;#;^ zCmf<)czfNS2d<5Cw_eaQx}kw-y0P@`%}zcFuY^%)V5lE5bls2H<-R1sTpl{bE7dZi zB3XwG2PSCwIkY3iC<3)HK9MYay`i(OEOj=g z3i{)=u5ryHz5tbqCGy`I{EQU7;pu33smmT;wmb8&T&nT;ZsBteu zpag#+51drRpU49z<@jc~$Qt0A@gw+C`H~|MXa;PeT!1aY+&Vcc%r_w?Z6`ufPLkrJ znf^qQ;=}-s)@?myCv|W8Eo~_A>bC>~6CPyrPWNtXA!zK2$g#T_k|o{SuK#q;H&9rD zw}bRNSGE$fXu}!t3KAgvZhm*M0zQ- z$?aq68*B12G#d}MV~{iNZ)nVkE2fzo=Xi`?CvalId9mOGx25b4uoe^(DRb`f%82*~~$9(#Tq zMNT>j>P3Y^L<1s-h<<%GJN-2q?2J)1cByL1B%eDGxl=)jc3SXi&&0#YTarCXhF2Uu z`KlLA(||$a`K09B9n3qUh9_U!k^Cg81Lv~IH85+_5Pb=?{KLu2w+|tFt0wW`ogqIE z>H+4i90w^c?4Rd$FuN3eCwt1jNvp^v=_L;Fg;{*Q4km*y{3?eW-%IRI24~%Y6K&Q6 zknSnhYNrtYM@NhQ!$SN_`NuX#(!opcrh>)#9;*Mxsr$OVDAIWrDT4p21=F+!G-lul zGs{eBvSheAxuku>tD6e#%Y0put4(x!0FxVyzwjqNSq3&+AwbQj`|VDtC{wBbPbjTOlW`xiYU{Y5q4L()cE zG%nJ}O9gZN;K~XqBnk!HIjFhsM0htWd-G`rQM>Nj^W7^}W@k+Vo$k)t19tkq@#*p4 z04v$fy_{2nErD9YpFlq9StOOBid>Vx(r+f|<5!a?-5G5BKfJvSd|Xwv|DB-$QYf4O z3r49Lz45t;y=b2BNbIyKQd+)W^UVH7e z*Iv8#m5;^x*YARmkTtW|o%*=QEk}ld_m0Ul->2Y){H$1c)(bRW`HB43_9Zqs3s=xy zu2kc%+q}xAx-eE=Y=1IwbS6J>&-^KECnN^uo|jDg%~|*yTw?;;)y~47DO=}#<4ZCpUwdsEWQ#S_(hm5>yP)px`)t|KfOHVpI4D!*X?>X z)jC)lU0?3icssm~@|4$9k@6ZxIg4);xnT(kKMKb4o=PP5%y}Ibrg~Rdsl@bhCtp{R z>?pkpdHK1RH8vWY#R?(H;59XaXzNe;6~0S7S}NS;)kfybw;hDQh4u9zsr*;=C8hEG ztwEWwi)~(MQFh5eLK)*DnK(R?pJecrN<25WG4YDC_;l8|sl=rqZ1L$5_J$(N=1V8e zHuy>>t}LIodXS#+4H7Z!VxAFI!w(KV{|+% zFD+U+L7am)kyzy{TFf+&A3Z{IK~*YWAM@7t1|Q4%Ux>%Z6ef;0I!A1L>pEYfqzchdQpRPbSEal0vc4u6qHG=(!j4v+eALOU{D1C=<; zqw$mU|ONdAm~H#TCxtKN(uH9eNq>sR`5e%x9>4jd#fY_zBa>okd?N zNmS2!Ix%(6{0}=_aq5)<-;CXMlEq9lp>IQvuf>DEkv8imQvO#e2;ywQo|OOf@?@ev z>&=H6uZJ4vQ=u=7N_+REym2Wn!`D}-RgWpKFP=mQ4OEp>;-WosUURxS^sW+9iR(bj zSNR;+Xc78);YC!m!Chbzd+IYy_Ydj%`_=U~gk67p%G+J+@3fyTOJZP-9lo=8y&1Th z`Rg`svlRJ~C~{m0znd^2lfP!qoQv8%lek~VojWa=c+6RNFPV~wN1R2ophZ(FO7R{B zNJYV=awM$?8i|YepZfdg_P>~(PE0DF_g|I{qVarl(r+kF`!h6>lZlN8U*&{U@Eqg% zM`pYRdiWd`b`9k$1?l0BhCMvF+&gDf%6l{AeF0?3TPYeckO?~!pG!}m`#|Ox-ofSZ zN%dY{!+Bs+SnHQmXUd5emarNGx)@?b@G;UXxt#Mn@3@%L^ah`EcXFSZ>!f!f4LIGm zs{Nek>U|vsvnzvnMDH8y&98Nx6@3lPihiDZJ(yvkD&=j=^uAK%#n?tDTg zlb51C$yOJfKWxw$ll`-ZKHrSFJD(2DQ)|q)^0v|*NRN|`FByoWQr zK^4cDsWO3U-Pl$)wmajk%*J2|TdLHQY>e{Ox}6)!R)L>ORNGn9*4wUyweimH`d_E7 zUd{Br`nh!Og|_ou|8vO9J0C|laF+7&j2m0+c0JXRWSbLA{k^dIWW>SPlO%5cj2eQv z!Th-df0>-5Mi6Gn&P3rNJS;GH=z0pE*Wa7$e2WG?HSmWpeB3&OMRzB->7~P5DlKRO zcMRfhu)Z8g59{lHG44-}XS}x(tJ*$NyUN?F<4yaQ3_dxl@KoEg2$&VFe_G*4s?BL% z`FSs|R>u)Kmp($tqOZ!rYvX9w1l}Yh?wkD~v%t9SXhhlxq%ncc%`2Tr_j{Y26}_A$ zlN5%SQ?+1zby?dd+~$j_jPwSQKIkU4%^&IfxX1ZJ58@ffsQNtk@7!B9Z=!#06VZtJa0FOhRTalNHmpFwIQ8nSL}0TMAW0 zh??s%-s+6EshGO82(hEE^CT4wCkbP%QB9bDindKsRDho-I+~DDD(=vmhrFN6wA|+0>PnpougJt61O;leGjSu$Z;0&`W68uYGT#6eURBH2 zAPVfI@wua(YfLmD~%l1 zM5F2C9#WV3@Bo+($89s=l_OGEYXLQ=xmHMJ6jG%Zsjh4E;^bcDuj^O1-r0@5znl+U zff{%Fcq5{(-hjgU0%wcx&48A(x)KLka$YU4RbeXg^gD%hWQqx$ck<$y&v}P<=8H|9 z1KoilK|JEGS^w*90~bl>enajIhY}n7%OIL5E()&-skStSiVfvYtrs|SA({NBQ_7K^r&4BAhVm%WUv1lA`5x^Jiu_ zXd*>0MU8h8Z$|KYfzR}n0lwQ;J{~Y-!M$WM%gTF&V^L#8;f&D`o^F#}t*I16)z1~x zJgLbf%=FpYrYNUA>7~KFn7Gu=2PvO&K-U>BO~*{C=NZp>SJnq_AE2Q19~e?l+vN9A z$d8rB7NQc)ri2Dtg4&<;s|LF9nm_R3e(PZt!~R703)4S>k=f3L!FIH`iR)XO++}g&bRT(6`{r4{ zESuTkcVGXnX=c4oq-x)FRt$8$%K%c>&OM4)_S{#zo=gll3%^T{FuWX|eH-FO zPV1M>In@sy!<*!b4R$|k>XpMQzY1x zPIR<5i#{s={=`bLz&n(opxl6v^yW>jG~C4X5)Ix^l|X%2TDKeZro2rcD#THjT|?AY z1RLr5qCOy55o{a$#^XTk?xeSgHvS{oxv#A4qfWk$=(MxqQU32uCw4oFb!ZPt%x68A@eH<>`FaBa{EB+Ca> z7BtC``#Tl3B}SH*_U8s}D#CLXUPbFH%-~#JBY7sw>n#2`K=bx?W3>Vvm!%9~@*Ok!+tU7*fN~yCT7j~K($e1Ql%Hhq_5);0>qN{JywcDaX+CJpu?%5PLh!!9Sb z`t_~;^{xKwS^oJg$=aUUK0i6j&$Og!-%izT!1q?Fc5AA3y$H+0l6S@9{C|rcP`{_W zHGDmQl?nmsme-sWyVJD+`(dftKDSwfu$6V=BilOE|hq(WhQUX&ik`8C{sX-l=iyKk!X@*tBX z*G_SxBvmneJ2_nxUhn+jZLHx(X?Gm@Y4EQq%Or?j43WF|Y4 zQug`NTK#io`Pa6LJ$u&JYg)!$&`STFO1%J7CyCH|B*VJ+LOh!_Z=mMo)hvDIF!MVr zPUAmzDKUn8Kd;l`L`x=%y~)~=U{^zM(f27<(_LI*7-PT8th9`4Fc&60?@Qtom0cU! zN2>j~Db%S!FY}a-WzPaV^X!HcZu#8X`#N`(&H0LxGyD=y5>XSoK0-FFfwSJO5(Ts6 zqfXaK!JvF2U5+zLHt^$g{Ttz`77r62*UPwd_`{L5MEsX^1b&_gZP1Ps7H|Mzf2D$F zm4}c)9fGBd1tZt_7&aN#Bi`#e4)W@;s_#LNGRsngZZ=L`1D1MwZv-<;HtON-d{UJl zYM)t=8f^VppTU!)p%FPMpmfjBH&q_%b}$yKBW_9Q{z&p7H$S;0+JNVrV>jq-@ar^U znX*SJ+f0qoI<1MuYuw??X`P~*+88RyN+i=37XhHL%x4s}8kH@E5M)7B!)Y@&&s1}S zSW9D++^E1IlzA=82H9p7cJgY|2+SI{`J7p9^R=zYTAlJ|w*seL7;H*1&In8qXh-0~ zwYybrQ<;KY*GaJqg=Vs8Z%2v@StB~>Q~nLgS-Uk^`$(-A{wrdlDMn@= zA9DcBC`{L`7Dc)Z&95bE8FBz*FlN2&P%BeLUqds~+ODkkF5mYt4xfa8Uvz6%xtQjp z2z#9W`}n`ZWpFwx3T|vKUwBe%Lk_NeJX3q0QdTn9A0qrdwo-(ED!w1c;F`lU$jKc{ zFNj4q32#X0XH`16H`Sd8sT@b+?pk9%A}-Z@R*Ty_8>F4zN_l$$#PW|6Z}7ESBWeO8 z&siu>fD)@_3f1tmo0k(1`1~>Bp1M59rXqQED4!XRk7N?>IQc8EPt15I$0;kpkoM1N zp`$AOvu5##`)6tFS2?+{B%@B$?wtndCa`W9Ry%68hW{){dmFq0Zz~&UJT#7?@wJ0h z$UCV-V~x|*3Kgr}IH~xMES@;PwuMu4RIx{&HDq0#jhXj)-dAN}Jq=w?IXQgGQ-y`* znw(7H?8*l3Nvs2DA)bd=1aJlVKM?+1zZIlS18J7hXzn{ec`_4YJu0N_&BmT_6GGbJ zyUA>kMkAr0pDZUJxS2oE_@YveS-d@@tWuE0Hf0li^X9Aj7)A_#Ar8xZYG-j*ZE;s) zaaZr;zQyu_WZ-T$UahkJL78E7q<-u8zo8*^zwT6p62<)!toNP8XOUU@L=T?6E0t&h zfnNcE(gw6P)Z(9KSDD6dg|p~0rWnSxX3Y+X-Dol}T-Km&b^RDQs?j=+rFX}|do?&{ zQ?@!ATTff+39B*#hBmS+XIq5PR%0=2ulr22LZ+`6oWbP`tz8lK?-kOLiMch-B3Wo? zBJroSm8(wA>r-Q4nkkj*?Hr53q@lULq4^1#`8b2?Z;VRnz+a8Z*rVCzO=hqX z{b(9eianW>MaOPzK-aam;5_^KD>eLS$v)auRr`p@l$z4%`;xT)?x9id0{A|L36-p` z-AN2#|IlE89GmPS4IDwjbHJ99DrCKrvR)x#t(pfGehQLBo`A{VvGEWvV&_cpes#5* zXapJB5zwdzu~Acs4DE@sLa!8vR^M%5RfdQGMud)PmL#=wA|2(ep~+)0GpEkm8k#rr z_(!%G3fQTfjeNd|mZzcX?e@!~t^+_7({Z+W8(7+*v7L>*nQfMcu^m+qY3H3`5J~`M zWq|mbvjX1A=i^D32h1oL+X||{cSG!f4C~SMPd3oRZmkG0f6y#ZI%gK;%el{qh1D>J zF9kmu12x$2Y$X>t%8VLFo|Co+3<)bpcvHC&Ld#r)XB3zsS!dA%@@KtVbx$#0-kw=; z^LLxT%+9BX?k76y-C_=)6n=a9+xw(Ux!7{RS3jRPC}L$E}C2_HI5Jwkux-onrLh_lvk5N(68O4p#mZy z+Sp1$>(wXvOvU;e@Or#Vi^Mo?6-6r{&14eiLo-Jak}=8#GlE)%jG(t@E>=O6tT+7g z5I5!Si)g!7V_oB<`EBYgz96#N53B@yjOxvMuIVvfd=`VtpDMl63IW}r-o}PaD)OEEv6Zgfs^MjapU}l7@)|Wo2FF+vpWzsD zy5xXJyg&qy<%|~sI~enKn%jRgsOm*{?1Xuvb@sQBFZr`@c^0N(o#-3Uo(_A!-b z3euFPWlU@Ez&kVv#<94X@g0nzfe}4AT{oyA)V2U9{el^4f7l=U!dj|7bRdR*gG{bU zkzsT0H3>r|S7Rdff)06caA~3aW+PZ~L zlQ?*aULip7N?Q>oP)7ut)ng$56Dt1FBGiBS1v0m3{~96cd;Juv?$eKKdkwtRd?=!RFrv%!P;VH~ z5=I0U5!^nBq^)6yvdxULtqVR%yeb`$TS==`s%^DLp(62!N7zIR>yS+dT=1BPINX?w z2r!s$QKQC`qDIXPvVv-RNbRsi{S_#HRc%!wJ!Fbedjg+0=_873OLOPDqTJ3KnD=w% zY2NRgr`O|-K!?0yITed#^A?+Kexbo+DMs}kVY;w#jCGta#)uC~O@u!i{&Q9<^0j1B z7EenJjQr%799Gxy|9H64sfw&;F^E>jrcWWM=ea^q{XtxnhEzSa?PD=Dep^a_@x;)F zsp^?}LB&$k4Ctj%fqH3)UR=FseV+nSU8;7i^kS#hzLR3(mWv39WYDWPu%{_KU5kkc zwPOPy>20N%oX#>d&1(;@`lFpntg`iuV=FAYp8va2Y$t# z5nEkCvCMf}vw7_Av$bopbe6(2ewXPnrC&)D zALTdj?aYQ6I6r}xeFwXE>^E&yxG5Czs9BT-~@y^y>| z;M)Gh?RqVFkA^~9rOTXWiiXFkmWAt1;1G_tno|m6A;#;C;A+d2GD#zg>JvirGjO=<8O^q1E4v?4(Q7;la&8pQ-f}Oi!8ElBzQ8Buqt5_31gilqHMSUX1Qy;Qw z!>_M^EOTa;HZ9Eh41d0~|2Y&$$eL^wjGf&w7H-e#gXJzda{i+dV1?D= zbaexQ)!x{NQjCFATK#s^cGS&lZS$o!t}qo0n;oYuw%K~qk1EM0Mfh47wv|wMBQeeX zbj+x2qjovD-x(%yx0Ry(vlx(9u~|#=Cz$4kTm`FmGf#;EovxoKPp9n-6wONv2!j?8 z==m-FJZ7wOP(w{_A=jzurzS?hss8!1_&(l#Pi)P*F->+1lH-F@5R*c@Ej7Jd97awq z5iuE;7p;58H+W8i8BQl=z4i)CXyeu9h%d1xhd=1Ijgaq}bu@)*V%4NthiVemV>y`F z1JlLlLP!-zlFe4Vle-YsVf#(0*m{~`CtyvrWkLTg_MGVQ?u%d-DHM5I!ooN6WNX^- zB%4Z3&;6R0;36YL4rSC59}G1^zl{`}#(<5fB(xtX+~deTz@j4XOnzJAtoJMf(8-;x z?t#g>@aK=I;vm>{{b_7QKIY_butdd-?MHAMm6AQnJQ(X)u%K~SKLcaEnywy)C57Eb zBn;lmh6hiR>;R%La2k7@5y4NZXY!uq%RpV-(;9688Y8w zm5G<1d+#V2zO*&Sb0o}_4OLf!$h6Qk*%0B?m2Q#wnksiS5FX7dOe7KiRd8e{NVf>D zDbHXbnh(EA$3|%TvEHFgS2Wd_@s7%}IjDC4rmU>g;Ek$o@V-QaLh>NOG{6dQXz5!S z5+Q9NK)L>Tm4<}GL$x3@GzI0kPS@=cOtJoJa=QLQuVLrahD41K%y|{c+v4P&ret$@w(qOkK6*-C<1dK^OgN8$ zj~Kc_-mon+adzO*Vj9Xmyoed|@2e|}cq!WxiI)tYnNE(&L-$z$Q<-K4zcF<3KgyTC zBgy}3`4VsI|Ci*;XLhKc*1li)a)@wwp&2dErf>$=9Ebc2Va<*k>$*Y8qT_?Bn4tzq zl36)80}X)iJU*28vq;v#b*fItD1)ETfrIuJSb`TVASJb3I%oiihK?Js_TXK_d&tRk z(ly!$&Pfx~)zkjjf5!S*VAja;0RbNaPFX(GYjZn1r-$vlzjz6tbdYQ1`rWZ@`HA}y zk0vo=UFQ1by)yNX<%QqaI`0G7=9Om=HUX2YoNU=7kF)KBjb}r!W1q+Q6ZWcKc3}+R zyeh^XPDm&xD1{j+WL;zn&CC0a$ug_pD(RnbOO)yj&r@w z17QY`X6R|M1UmR?`D0?I-MII^yOruBE@%xaPsQ8*r1LjX_bL-XwAzC+TNA$j7sM z$kW{noPn9^K=53%-UfYztc=@vXq|XuMc( zSFBFj_j>u;=`X$Fri63ToaK%m{OnC?8XoF6Y&{)#@_{mav-8a>DG(=TeOtnSm^P|tN-I#c|O((jKSZV;{l*+g~;BdZk z5uTMUQqiU`V#@W2YXc%ps9bv}Ltok)lE*C_@+D5CS z-Hd0h|3Di^u>Kk-qm(^LvMEZUf-FGJC*cY+OmOfYYyyK6p=KN=v3pe3j5vQT8{L;4 zBRsHds1a7LGLmJLf?zwN!>17_orS`fllyo6W}5dH8)ajTe9g-{bU10W4p{r_Ib->H zitM9dlscb;|DAlB6JLT_rVXtML;NuAHsyhxTW3$4Bf3b^Tids=YHm9m#SwcOT`#hD zPUbJHh6TLQW9lYeUxkkmofOo4gs7e_{6O6B6D-IRPw?9+3;CC~otAt4W~xDv%MsY_z$OXhx-_2k0sOL6C3>Nkm-n zb1CH#xpj!kNrs{0RWy>_V^s?3qK7#t#0wq4=|1WMN~eSLWa2(>iwMDA&hGOUA$$8o z94zDrI({vMXYb}Me&L;s-eH8S^W?q$`1`?;v-lc#Je|gMLibUVWIk2R<#n$i{FJZX z#e7+APZGN^%zw*_Jy3_y-(;G1$oAchJ?+mc$NXgR0J1OAlO$k!7?z8gMwFhX8=1)` zIYy}!h?BdDzsbbo^H0qB>_&Z5d@RM{jb-yF4#H*86QL)Qt|;YInsdL6yt$*uGOr7p z>BYJRFoip)@_9#@O3H?e*{-m9r8fQkJ4aK{K%lSu%>uplrR#XG7`kkHI>8y9bd9rc zF9FV?T?(G?vu=GXzR0ZPe+*HR^i6gNaodwGf1J;aJU1fH?uy}sFG2wz z_Jl*|^N<(r`!%oPg*(IxUxY>BRPP^4a6=d8zgqz_Q zJ^-bHMW&6ZbrPMb`szC%7F6nj0#fa{jG`9OA9Zn2OpG*?p4&p!iy4oNt*-w)VHVBu zhjHzLq3(9*MFD=gj#W+j(yV_~jX8U967^)WQWI7UPn2ry7256oI;HErD;+R==}PL*VlEYeSy-R>+4$12k^N7$eh|ryOZ+ems-{Ylc*xL$T4F*k;o?5&9u`?H|c%6 zlIf*BdU5qqs7LHJyi=P+pc)~iOEOuJA^wNNsm}XaO0=X}*9R>x6P=5niRR&EJT`>9%y2Q?S#MaMoYk3GMcmFZzmTs*JWl)$9@l1goFs}l z@HnQhRLJBW5tB>8{tTD94BQ6CXz_~(AaS6D6%o<+FJ)q9N2UfRMNKdNnNBNnZtjtA zFz#(h0QfM|+^bsPVMx66h!;H#`so3}0*_}UMDToqLtG@$ER6sVGw)26xt@I6X)&`4 zX9Wo-Egvi2yHy2sy~K(ze|^k~2D^5?B2i!y=ZWu8bg-7#!Xz}7!SA7sLV~wpy=3cq zQP05bX2LY5e+tPhW^+Xn>?F5&?sz+wh9iFuJ3Dt;va>~jF$SEJU&Q`^^RR&qQ=35aJPE8>g zCBlBnaGR~|?dY;kkRHu@l7me~%EeS#-ZkVz$Mp~7UE`i56r{m5dci%*RDbIs#VE_ynw_)bN1gc&*qzvR8#bU5Tq!>}C(s=Mz`CVdt!7OT5`1`&c`v!h(2MK}( zMadUdO&M-nRuUz(#;;Io4Dt)N`CFRqw>zIY1TxnqgD{cGv19iw;faXJOtN8!x>F$% zwMYX3Q`KAeo2~vEq@xKRNsZv?k^-iGP^qf7@;6)kDt|cvu-%!5$v=Nn)dh2I71?}; zo4}W75|&S&v`hq>bXHsKbife;ec~!Cz$*Kk>=TD@xpgLWbTZ-M2_X@1%m08 zx`A)YJxxh}7qtOH&qIFW)y)9+C%3uHD?|_|h`Pn&OUM8$9F@8qGwKx)8O(wf&QVoU zIn^b5dmS{CB^Sf-_UayPlwgTz&cnz?b|&HJv@0 zKNm2JZZTRz6`@|C(JB7Y`vxJ4-N8uuPW$;Cqnbq&2KG_m;*T3S9T&d>C;oiESl4vUrQC_n11rijpBey6) zKM6Jj#})JY(`wj~p=IoMdz*|~0lXKib-K5x4-A3eVGlGOi@@u2zZCW&L)+ZGb<6|* zrncQ5Jj&FC9I4Yvuh>T5r9irB&=gzgbZ-p7tz=tA;QG+@Lu(;8c?Oj)wPWTOa4XHN zl2)#rHvYi%TQ{tJ*BXFF53k?Yuzt7xlln=ys^&)Z`&R?*?_nXu`u*)2YVOKlv;kL- z6~Pucl3HKrd@kmW>>tGN8%AbC3O-Q({FKOI{~S1frLFIQ^FK;{Y+g{d?c7lBEM@O_ zx6}Qf5r)IjdD$<8;qM3`gESpK=EGqNPJ;x}nvyXi;RT&_A z!cb9{DEgSk7ua5xu4})Fe0Nwy{stX8-Lf&s5}Q1LRl3 zE0PT>@*#kraqfIpr0$MfJJ=CF1(B!_I$yRiyA&hVwk~+W#2hHkkp|j<@*J!@j24X$ zbLEqufkSY0#9O~mJ3B%Ol-GRbxA-x?oKG+=Nf{(M7D$(w0kJS_3f|u|AddNi$^B{= zs+rLYh%1#Fg3G8%VZl+>sNfq-)(66@#e(Yw3vM*IZNWbdF&h>98I$`L!wcTV;Vl(B z-Qc2M^exO961Vt!16;f({U7_D*^l^SW%`9u-xyZvM@`ndhnM>3 zT#KHWCaWzKS=m%AD)srFslwj~@m(x+S!vc`G|Pafn!|B|{$W{Mv zI=3;`7-&O#(8gRLlwn%dn9m;=7>wb<8n>3# zxTEmy)3(N+F0Jv0$@88ymg3#rIlRVL`iC2)5}kh$LVf1O;T7EtYKNWQ!}T!UMM5jf z!7IHB<)W8kZZRN`(CP}wL*;b0D8>&L$hq~Z$84>`Pb44Ih_5*DTdS+>%PnEZ^yeUO z{6#J`R>?{!gBZftmA5GyP>3^Pxr|`63Bb*NrG3F-#=el57w6mGBdgP87#r@Rr2=-o zZLHqAnhnr+Lxlsao#vSrORd8ufUf zsKSEsS-1J@%4F^1Zu13WbWSkVLz?v|Rw|dq9_IL0^BU+84-q*-f7xc8lWx&xHyr+ zS&ce(hGECztH^=)tZ#+9_u);8AX#B)ofzx4 zXA!QZ6R@Gu<~jci%~kOt1F#weD2(^ID4zH6VK^>dQwlaa`5N!aD8sp$!UHVLyATRz zA>?A!+TgvY&FmU&(`%>QI=&*d)#;A24$u*vrmXjn%Ml_i_ZxI{`Qd?C(f%2QwyGpm zh8{7S^@KGkKw-SkjN*Bh?V)~DuuZ{k{?4#&I}7JMu|szI-A@pYIT#j2Z#cR8%*PB) z5na$GuN~cTBMn_~JaN)2gD@8it`^doFKFfUu?T<0IUD!JF$Tg)s^B5!b0rluq5yQ@ zbbSZfAfi63sWJ$AQRWEs!2-HB;}sgbSGB9$ibb9FlwBvYRo07kAyzx0@4HgBo0!Zq&<#e^ab+LHi zHl<}exn!tOY?()(^w!p+QczNQA3H6-@ z=LlPe!2q3eU-(z< z>~PTLbX^A4!=|e_?>Wl$M09DGWN@SY9p^6n%bx^UQ$_78Ti|1&3y#ETYlWYfX z@Y&+}Tm4y|${R$Mn_G>JFZTHy<)-Yu ze5-v$rn;02-t9(CfZjWF9wAOa^5X?65gfpy-0!eU-{9eqaeITeX5ed*BLLG+O4Uk) zbO$d2ZP;m8OivU~_*y082mT&Ya1npXSh)9XJE44w6b*j6@%)m-iCOLo@MRqERqBSF zHjKl%+mD1c@%4e&nyS`}V6T_uMVlHDUoWJ;hsdvs)M{buJ)VLrutY3rt~@zCfKg0JCkB&MeEdCGy9X}#&Ujwi=1L1UGOy~TC?j4SKF=9@oXuFe?Kh6`>jk!j5-ycWC9W8qjIuT5 z1*hM4ni`_T)?!@k3Z;eRycT}>xWukIO+ktm{@C;$GMzGZG~6_<^laq2aCMlk$wc;{ zV$RmS!OjonClHb(lxT&qwAxjgof}JG)Dx7AVLf?wb)8~G_ik*X91ZWn=_;?l5~YnN z*2!IinVW1_RMRDD0VCPu^U`%V;Ut9kzH~+SjEB$4@L8p2vM=4n*xSd`THpv@1#dO& zZ@#gN9+p~HT56^8-a}pu8e%x2H`qTF%7J{O0`zqCq-M&L zt?jcag|J;2d_j`L)(x6aQo2@M*Wf+cQ2T%mqv2XS2H~;HHPI-X70uLRA_hBo+qk#0 ziA}m%so0@0!Wt4!nlPN6kGQ2;_^)@qvqpYTZllHW;U@49$66tPigxoX+`GzP=FIo% z$*8?d-J&?!zl*0`A2;7eJzMyy7R=2zavtqHdvY*)f0%u<3O=bM zXO9{(jPeGv^@Q2hhNadOwy!^MPu`^zbdL(qQ!P}@l=D4$($)#asig1SlcvSmTp8Yz zeaOlM7SLMfJ3U#f0V)RRmHJHJb_L z;YbxS8oYG9f;Gy_hE1`ri9sk1CzVn*UDEH8Vn~N}R)L&BYqEoQqdNlDXzB(-;EAQw zOu9eg;Ur5-*EQzEl@fH}I=sCOi>fB4d*%_SwAue#WB30KehYU!PWO{xsM#TB`^o8E zhNPx+Y%QY_pMLOzCf)2Xoi^mz8p3P>=~K;>n*7bA*WTiE|CXG%Qd4G&3T4lm>=!6I z+h7>WH)+4g>3;U`p~YNg(*5N?#fU3K#msWLr;t;n3#+E47L6*b$^e-h0$#mU{$PtLPDhtBNtu=L8XdtV=($co5i_~(x zWV{(w5%4Ol@>tB>ZnDV*V@JkGp+|45k}5{YgR*TUdKaVjnClikbq|b5TCEIfuxK0) z&bnO|5D$7+^GD)l9kjYrx7hM1iDbjY`&%1_W7s$2hWN{HaEA(z;6tv=$53US+|2 z&=cx|IB;AzO4YZBnS+0W1GKizR2-JUv+&$sl>AP!$mSLziB$XJrz*@*qa1fA2bHJ@ zD^saR@S(_JX1)bp-*FRe>2>Fz&08>Tlr^NYc#C~RIQbn zMuH5Uh40(6@18f#yLc9^P}&kK78D8A6j_Qz0oL~x6OV|+a}a4@Q8gG0Fjzct z~97X0!xa9H%uXZ369mk5vQ6aAuo z3YNWYke)N4A$t+8^4^eJ%EAwyVnlMOq2WJH*H=+V1&#a(_1uwyw%Apr3R?Bkpn}%u zM>S-EwMG4?227-%wWDjOes(L#2lcZWR>AG1`dLlMo2hw2q6K}~8Pp42U7nn9ZUsjf zi%ea|FAVE$P14hVSXmS-l^1L+_1UefsW&&t>4rPUn+$4g&j+5W@8 zV^ZvC8+s_QvSD~|pEOOeP&-nA>$TDpoNG_O#Xmel#?zbalNrU?5;8e_RP%V8W-=M76Rj*`VV_43c;Y(c`@#n{eB z##WK#M`nJB7>Zz+3%^P%X?qA8WGI@2g1O|5@GpCT4txbA#6VtRAlm_7WFQ=VGPQhdVDAyP>pp|&?#=gVp-VU}U-1dc*kjE~d zV%;l3kypn^be;Tz7Xj{roG%aevoMB?1nJ^x1fk$IO2uNy*lO;48b`NI_hW*O0N=x! zLX!3$WUbeITnL|&E=`yW9x+Ss7r#{kA4l!BzI`%*;&^WeuYVZ4%MH92nU2&7&dQql zjuE^a+usMg-eK^LHSpw2s}$aY(}4HcL3nC(KaCxS?}(?=+$@43HI!W*jsDFrpuIA{ z>)xhNDj7BUIsvT#=;ce$+UXXzu6@$jWjLqDy(>GPMm6emABB`J1onmqY&WoahQS&u zSnWu5(R_$Tug_ioy6izm?v0wVA-LAa#z^%~Cp(|V)baJ~$fu(^tqX28u_=-3USmo6 zdYD;NUKboy0)MEzujph$ux&6tB!;YSRYeq}@`e<4izzJRH#)z4p!%L*5=qpk(dsX^ zRckmrQDps3={TJ~+nl7kV!)iF!&kCS(q-}&ewy8k{G&6)7##mVwL5LW(~QCp|0VK-Knx%LONI=82~fdG zGBbA=xrjsjTH7`6GKZaH;Z?^mrxAru|9XcJEVNZv$I;OhF=HWF7@$kQ? z$1e^vkEA{7(F<;hT~ZIW4EHYWk}3j+bxDn|y5m`GT}~?scgj4xGwKK%xF138VPD$MV5zcq>+y9Y^Bb#rd9YzEzuj!SNx})W^yH!1Wr}lD z8?NH47|5G(g13s?2Uram>DEk6r)e$P%nh0^jmV6+F3z!B<89^;12mkTkV1OF;PuGP#-dUVDCBZNK0NMZl1_03c+p7&ED26CDa*Vkvfe73Ds#~^cVJDapoh9I zXYO;G*XuBLmJ`_FiEPgPj~MJ<&O>BITqJCU4xf-+*?eq&8STuhWS@L8hR#sM3R?Om z$%F7d@9awAFHL!q#&~B}1y^ij)I=ApM_#oyDsO{z{%mXy>qau2G%byjE?>j5s&mhO3lX{KFZ{8hND$ ztB9_3#^t8drQHrLAsH-G<`8v-nohfl(inq&RDV<0BJy%C11ye-lKB#+0_(A752s1& z*~}@0bFR~ryC$3_byz@hM)|o6?uQV_%}I<6h(h*ANT1XFAj4cUA%c)mUmjrq{3HZm zw0sCctIh$y0PIMPmsA6tDZ%w0=Oj)EYhW~-x2c1WcaB(dt?Kc?5R6snhLyQau=X7g z*0rh(lfGmipd7QnK>2}6po#<;Dd#i+kQc4}EA!#7G7*5!82}T80oc(1fR7vyfG*Zh z4c1CAOFQuZC|Ajgi85UGUC( z#*94xG@A!4{d<&ih=DfLklvmEJCi&qrZ6*Y{Sh+N3J5lNFEkMRh(FOf-9t$`LX4-m zxT-D+*;bhve1sK$rg^nJfSf;bwYs?Q)Bm)?BDft%1z!;+)(o~N#ey(}8C^#s?q!uwk0(zt&9-`t*zC+fTf5Utvf9gn_{N=yRt5IJ>_GKEdDz)$&n{OJ5gX1Mo z#S~vy6UNzb^d}W)!hbs?e4NsUb5}H_WfMuX5uag&g3DQr)y_4Qh0|9`6=;>NgA-%S zYA*gCqoaJ%u7$C)alHoyP8gKON|{5}`*>#$>zFC!u0J9(VKODXXr{EGx{Fsp_dl6A zbcfoondAR|-Nh7i7gNw(RKk(-r*ecA-Ng=+FXmEo!{^jbXU!AssmXi=uQFX|2DUl| zIW-#6^J4_+OqS4Q8gkN)NEPxUXh5ovws8k!@|KB?_zz1ChKUxLJnQWfjOPi~+oN~D zo8%(dF13xyWL(yB=;Cmxy>U=vJj19=+Qts@YE2Nfs1|k%hZbY#ELxEprHZsG(yXZE z!IOrZ9(D6~R&QqH2{qX5=vBYM=6iSS3+`uRo52!Z1u9E{la@nwvhc>a7~gn3WdgyZ zHgXLx(O{AFgfY$0yn%}VW0X;N>n9>v1u3U7uQe1VY&reABTb)%shO{cc$KL)HA$>3ClNPL3v>%)fnnW09*2<4$tY9#*ftTF>E zC*B#v@W~d#|1yYSTf|{K(H>=SWJj1S(OG>R%wAU>oG#YEX&)`{rEU-BHFLu7)2(9U zQXeZcTHp^%fsv1)L!u>YbfA(6MC&91=X@2Ic&7NzT~nTazCS2mxKx(SkEDhni*}prK{F)|U6I?EPnwtmt;Mry<}gL)cK|<>Xd*3Q-xM){ zvfxst%l(&~f4#+$w^?=uM@I9BS(g^BW@AmXZzAo?a{AB|=kA{(&)k#sYk~z#smA(e zENL_(gGaV9k)J|k7iya>ilnomdHoPrfHHnYI#6_zbpZ$ z-F-_#kzPxbG}3@ghxAYs-g+U5Kc|3wB@hl=+1?V^dqdb!Wq&_Qm3<(D8VPe>6+p?h z2L`xO!bjM8IpZ;v4P~=08-V6aI5?4PrW#fX;9|15-hm{e5sKNl$>^(|2mzv`lel^C zQ3l{I!x~1iZ{H*U_KUR~5S?E0q2*M|Y{=wF3Ah zQ^Wn#KbF2v(Yz>iShOC|-IF314vFE`LRM?H!QW)Gv|LY2k@PJ5?PunIq>`8^;-Z5O zqpXre#M1`R2O3f{A;1jwHGph2ASt>b)^Aorrf6d=qmmRYU2BI*yn+&qEl5=04<-&N z@CY-fTNUa5Fx3Cu(9HoFtOD;a^|`zHEOswoYWnAU;SDpN4E4yFR^Jvh(i z|EZiMVL8jfa`avBhL>|!QVmo&iw!d0qYFRsUL_57VRu;00-iZ354LJd|qPf2Ie zx{0RLsJXWMzZw!c5EqDLnfDJA!deB;$7*pBOe>n^BUr;Iy*Zk=QBvatFV1#8LiTZ*vv9~yy%ozk^L;ep#4 z*77d1<;ag#Hh;S@0VPO)^~0%`ck^;yyvB}u#jg=US_>b)8P0j9$%hx9D4Qfa1f=|A zHlxq{r*4UMwLdSK>;b04z#|t}8)5dw9CU+j^O|C1G5s^C@}pOUHKXxl+R%of3T|s$ z{~Hz$h*cL>cSwnaSX)IJT|J`4>AO+idZ~+En#_y;ZzeMlHBrRO=w*EL(xMj%U#cg+ z;vIH`EwMqy7=1zbPM>GNlz2#rrpPZ7#^pF#EMLv^yDvD1blyfeWZN!c@W;g5&O!xS zV_CmBj)JZ2Ikw$ZbM(SS??XFVC%7GLr+RKj(oZAqrz@PCwY#_q3m?es!p99xQ25FJ zxOW)q8yJOvU}@2soY1Bl48KXqB4Ci#(rPXp=t5>e9OXZ_!?GL;8`cE4TQg1J8P^LM zHk5a*=p2oCdSeU9J+^75vdxQII;2>8QSR8r*0K1@=epe1mcI0xhPbZrW*(rs<=rq+86XL{}9`_d^T1y+^OxIe2}dR(Yz-M=Ij8pNYOtm3SI;+iem zCC4mK?egVVim@l{dNrLk3J-`|#;udlPB#gH%ORO)-6|Kk7ij!Qxi4S2TxrdH$Fuya zaSY6T;A1bTcDY-JE3en+rp9b)EcXR^@9;|S6|G5cTWahqu23CoZeV?8#5FA=Zk&ZB z{N53>TSnY4i@t9g!F{YFuyjd{nAA$lo2e1p$*P+faB}o^Y6Mh)5&T1#xf98??C+%f z8(VmNG&Ockb=Ih0d(yS9b7q^`a3satnR9llYLnttR$OCpzcR;Qxclxk49$0N^9>I! zNq#dEyPxoFTvyJuA8zkEpL3~7i`#i2uI=0y4$Fz%?RxLXHn7FU>p(v7HD!Rnm{TW+ z;V3h?s9Nz^D%+&^y0VPG5nq=bfj=vSRbj@hJ8dBKMlBhdP;-me)Khe3rPqp8B^qCd zCzH6(>G}p!YZm`Z>XHVZ+fFAm$2r#vufsoKd9VSV%F+B1UKY1ZjdR{&ctg*5qxsfw z6r1}vk>O{oXMzoP7HtGBBS49Q!$=YKe}1&q$3_px=EAm=mdSslqULj{xl z@yau2HxjQ2 z8YqqZe6OW4_%L-0>xIA07A}2pa<8HW<0Pn=Tst!Ui44jXPJLF;(naT!Rj%Liqk3F+ zp7IwyWOki!v?`~RuHA3COa2>E4^b3_RSBu`vlOx~5MjoT&|+0Wk<#ewn`G{?21JUb zF`Pcl@Y1XJ^a7q)Z`-(@L467g7|r`AtjQ0PD^=kmv1WcjyR=GOrmK+cYoX`Am{V!K z!p#vuxvQ@#3z^)U!`i1Rps}pIp|t-G1nF8JmCPGXZW9i%70t($5 ze%HM0HVSvT{~hcqyrqn3_lO^T$%==@HQ02vKDSE;iM)8BT(32)RLU9)L1cN$R$#cz z%WgNI_8e?M%``cfK#*ervA76gW(1-R5U|%05I?-tfcSCdV zUSY63fW!w*r=98bHWdO9PIYjKHlE};BWmCg()s44b_`n5adM|qm5`EDjeq^TppvU< z+-uNpHeYQ71nYiWnrZfwByPbn-wJ6Pht!$d`1JWf$_n0uC1FIO(Kf-a+6 zovW}is-f=+o`sP=915m$bwvaP5ZT0w$`L1}X^LKywbBMGG&kYkXU}x(B}ViQ%M8l{ zDb@~=mxboKAh2$cYhjQHED@*L*ti*>z#;vCl>&3$Y2qc z$&ap+w(YCyj=20om~b4H_2b{@{o?kootaJS&3Z>?y^8jS**1i)B>k((VPyq?8o_Z3 zFZ#hx9xEiI7O^O=dmbcKHb)%0`lGr|hT@?rPUjVC-h<={!Dme3;3_KKt! zd>(ahrg_cKX{6j2%2rEC4StWbTUdn!0SLU4It2v+papfae!+);FsN%Sto=55yRb`H z1t19qU(Z#?t^T=D6Y!?%rg^yxF6Nuhi+3l6--&_|Dl2Vava79Uq-}ia`T8b!nnDPT zO3*kYK@V)NC-_>Jph^j<4v^q9lb|Lz6B-oF?Yz+76LuK93Z@J5e_32{23yP~5?49C zQ78~B&$5l$2hcqos|t@Rs3?LwSrkD&L-@c0q!@UWKhXQY6YsIUHlC%v@oEc5W#5io zWj$p2c8s&=9Ick}h{rPCfRGo6{`l!#QmuY^7cM3y>SEA&1j*B?<~vq#3a2I_a8nb}zkXDz zdhk``s$ZIwD&7Y;l>R9SdH?y;r)p!QH&DZw8otOB`u@={@GlXc^tot+!QLZ?{)EEl zUs#$Nr6)|*gm*pFzDXa;l?cW_{EEk35_U{afJL74B95_^jP)adw{cB+yfT^ZkP`aRH6@vv$dt92 z8Wp@I-J}fWJtUF7w5ymvs#Z7LFbL}?k2q1CsQ&w_<5-*Ne^ovUK)Px~`U2h`#fTCU}OX&_H^ji0Ph;yFGB>jG;*9%4ZVdqSh7UNvie3avIvI#(aP&zG}!jmfXtljaT(@63Zx3LJ#Q z(u3Xp+Vg(rP*5z}??@AJ$)ghc(2|{?4#;vaKjepZnl+-4! zgS0lztmdC^^QVTZc^R9dJ>(#{>9ZjQ@VJ+2f2J50>L$g~AnZ#h1Z`W9S0S_+2>H>E z!sEo)lun}H;aTq!Vgrh1b==hhi&1TyMUz+>x%q{r2~tSbkVEWujGj^#*E!ZNG8#KG z#@_TpL;2!0tU<$k=0%5`^@EakB>q8JGTvO6O7i4Z|q;SMC zTd6eg3XLQ*xMDn|{JGVBx+avfe-)COd*MI0bSnSmd$P4mb03+MjBF|I#u}5Fey>XAr^K@UjVO%K7#fAO zEj;aChuRtar0dJ;dRz5))NtO!n!aQ?WtR0#E*Je-r`eK>N!NzUlMAcIq`2J1Ypj6I zf*-*ZQu*VL?%HsdGNqhUA(eQ=$sb0z?oHqv%uzI57f;WP&#TMN#a3eLA)kaO)cX9K`VmyB_vM2kxrAQ97WULbxDYkzw;fW! z)r~M`t}R+Q3P&03&*+Bekh#8V=i6`sq!5YOhRfn3!<))+*)_pu4129Fo0K2@xpbGc zE_KrPClimra;lvC3&J4?u435_eHgD$*O*#nnbSD9b2VIGTh?RQb?UVo!@OgZ9Y|jdDk`j`TT)5&q3Xx&yLIdhcw2*6V(b);Z_?KC)P&ZGw0B)c+et=$ z4E@xLZtz*U)shbT+8cBP?F?9J$XEmIuX5?jY0yt}>?fJn2x+;_LOFjH1So&2y;&7# z1HUgZiz_djJx3#G73|ZvTrV8{W7Zse$cr`=<1+5)vZU6+KfGK{JQme!PF;%HqWqMs z-@^9IYi&*NOT+&{nQ}|fP%fV!N9M>1^Yi}600lOvyJ3PwI`w;v>Q{%z@sW%%9H;lNqJkdX&OWUndk@fltR{~Mrx6$wN!}QQn_3NZWNg>~p3Lm^~<-5%;>8zs%s->(?R*vHJEa2N z-SIERWX1IlhsFTc7r`(B&EYKqdx(Ey9muWFpNI!Kz{lMmMxKU`?rB_PHx3^b!0-g#$s%Q;C@9R za*S`_-u-a{ci=xG{^)Hr=D!7Z~|Re&QOTX6&Zk6 zh5&yx+*rjx8u*q0(`Ugv0v15j5myS#c>+`PIbI!txsyA~_OH;uP3G*|sYu;yx}l-q zGMU1Ebz0p|P-UCcGrR^yYclZT!Or82`)c03z;@!jOCV`cV`X@okJI&6h3tQ$&tOQO zxvPg%T%6Ud2fu;iG~SK8!byGvjml7ni0kRkm z^t8!L`l|iYS1J8nVfs64dL<)0l)~LIg&z?Zj5jRMl-%}JBNE^+gsd7R6@`v4f2++; z1fc@*_y9h9W|(5fhPhOr%{4L1b%xDFM3f7I&BEvv#k#lsCCpo2%zH?fcQ0B%)52oj zfki{QXNkE-C|t}Qx!^{)#0k+Qs%s``p*<-socB$#64oRmVSQeg*4p`_@FR*Cc(4dm zH!5zC3&z6G`*J#8t?{RnWA4lSMQvwf{VS2_nO4H>e|F>=kR!GGFK>n%5W2Lw(wl^t z=q$u8j$Odl?$gbpR!&LE`#$ng`ngnM%iP~_Zy~aJ`z%=H39!m+=?19g1-xur1CQK) z|I_tvH0;qfd`#3>H9YHGiG>))p%j^}@qclbOgbAI-|F4y6UCYbmTqpL_z({yH3)}nKKF93M z{ZR1={x@o43x+VA+tQlgH1S44bsdsEnq2NpyJW3%;se*N;^s+kwm=;t%jwS zupUK!2mZ9MJ{z1xKc${7e#!x_rhc*9+?@Fp6(#g!)NB~obh)?@FU+Xf6oV1pi3fL{ zQC4zKWTzesxe-Wq1n69zZSX9Qi!5oPx4C@ruwn&q*M!FPyqPdXf8lwlM>L%TeC&!Xa z+5DyPEyzgHpLD(g-4dphN_FX2Qfg4RV#$qM3q-_B_5)_3e)%e}muLyv$eo&P*g{}L zfx$znS^@%DGAtVgDkFS!uIA9&lz29=!^wS+oNi24;>E{Q>o50z{zWy_J6uPP%go=a zz}qET^xa;@+bf{b1#_2h!`CHi`KVVseG~`LmpsZ%VNT7{VERq|Z{|POgP9A#pw;*% zul}&K<2OLKxYdl?@NzNd+t<@R#SMH&L`QG2#k@s} zQp(^4CjPM4=Pwt;nwrFI>01agZ+xo`d~;zTbs&^)6qy}`j(I!w<$3@vFyIm}T#AMj zko+9;o~mvQ3o<~sh_GB(pZNPWiHcek-BF81MV9hpQNR>ZNEK?N z6|178G$|>THueFEGKo^P2x#1xtB$!$tG~`MmpP`@InA_Ub*Py?rkz8L*lC!E(NQRm z=l{OW$-_zM$=v*tCXrPn$UDp)*tl^afYi%QWZ-Fg`k^WD#$~U$1*HhF8 zd@DFEHQ3)MRF6gKt}TTeoYoYY)?Ayj^L*T@?i3G@?mSg&RUT01tn?1?Ja9ICORv)C zs5)_EuLsxOz&)k(d4d$>poZD)!|U45cP{85wj21-UB(E;34Yx3RRr-<+5Cj3*y8AL z*M*eh-hB)!NZUon62H*~iL+zpChK*Je5zh{cG=Cw4LuxUIY^&J%T>OXOf{2=bcB|2C5%Iqv{u8C< z87T8NB49}T$GBO(gPU_M*f?->|5=T}=UGC=dfykQ}{@)c}#3bP( z;aO3Wsz=KITa>Yv|CqSgMwY)O{u5J}Peu5U_>W_X7-CJsHcw^r<7ZYGqy)6zHFWV- zu7i(=F|g@$k$27%9j2Wp(dCl)7vr0}wm$oc`kclq#QPA$d*x`$x#>fpH9iz_T-Am` znW50W_FB`<*Km%Qcc#CWML)jD|9{6fSsmZ5)sJtoetatyV+eU>Cd~MDh1g1sZ{lZN zv!g{zw9!Z`G3GG%?5q@_7`;r42|3Zd;#LC@gOG)%#4z{e15B#Rb(iMEyj9HKV`Bc^ zubs3lG;;zc&WlXqjOmDiL zX3EDNM2?pP6RKR zAM)-v$MY<2y4=RzVI;IHe{6IgALh!>ymB8D$V zYx%K~W{AsWQ!Gv2iZ&;H2=;r@D^^kwhs&JkUFsu_d=qy>@lKUBuSa*U61km;&u-;Y zB&v@F7{ydvvA}UlML(mx{}@}^uvIEuJDU&(SI^EFvfd%CmtCLRc)afX*uH++{>kS_ z(cTThaOP3rqv zdMC{s!3C=gp_?e3O%yHt=?>=N<)JUTb^UD?CA-Yd%R(@)(v`$}DA<+U<`jJ`z7sqA z+%K?tRgOgTe2>oqjupe5X3==Q@c2nzj@Gq5e14pGVwO1YJF$pbINr`1sp3ZI=TD+@ zuARXW2v?kSfl~dGw;Sp6S888-w&&RMDCZHe+A-y_#^a+55%`u0q^BOLpr`8kg9u+B z!n2O!rSe)rjl+3(nmA<<{*Ue`D8bX~=78`w;a%kszyg*6SclJ878g2C+CA=oo&s(NXHztFBEzIIx5{O$~*F&S>p6gJS?%g zS(Zk&+@YQMSViMeFAxm7kR0FhciURa$Oq;kvc^tfwDIwkarBqM)m=lP^Qw7#amx0l zuT(#%p`y1`CC0^6xQmnFNRmUhNMik@yh)PuideM~KLo#4o0&%6U98S{MTj+DGhJz5 zL?|5jlh=###X7%@8~SsjSKOl&;saqT*8O;eYRgwbGZA^b5Tn#|a%t72I)XTeCwgWhZVFMHQa=cH}K@MSJm-sFOqLIPi7U)uI-w zWh}>OE%PJCkOL*gA1udU%0HSuq>-9+69#_9JK^3NhVAA~L$2(upY}_>L~SmXMa82u z?2yEc31Y`irk2q+={Z`{+vyWi&9wGhsvdmB@iqFX=z?n}{d0)uVf60TqMuZX{CvW% z)c=E~O=dW#eR9*z9-`)pwru)mvB3-{N34?WCJOy(oVp(U53wFiwGESk=h7$omBusd z>(BnzZ_ZWQ*Xl2G6o#CkLTLI%^h!p5=0&0dzx$Y)YR+raQT(sEwozKtSXN(MQMSq7A303mahKppPjOS-e!x$Hvs>zsfl=3 z)HGZqE%#J3Uf3Wnudl0JEL~SyQCV5nRNLrwT}~!M%4#a<(a_MFmU`z^FRpgYsB^8j zT&{La8`CsauBoe>Hl}&3?5%5r!|9Vs}GvLrpDdvt3zN+epZH?gp>6 zJ*%c-v1;#fv%d_FO&e1cchkW1Dl1)O^$i{Z5K*P8bh+D2EMkLLsR@!~qpH5TvQho! zscxKAPps-jy}O~YTKh_KaM#zCtq{g)QUl6WSyxk2-B4XuJFB{ekhAOSnh07>X(}3S z<;%c)squLo1Kg?YomV%&qhn=Fm^0s9lkzq0*LD}C@76pqAb&OKVW`nrl(McqExL+< zfhvv)BsbLH!7>l7(VSXgt5}+J%F*>r>z-9tU+GRuhn;10^|v+Y_ZrmS;`)kZX|^-3 znLE&H>^jI@8!NTK*Hh~v;zf1MrJf3}o2IXg7ur^X*W<2tYu_s?ybVn?@r^{Vxp*-y*DdwZ zJ6+mVQ|+y_b<1l-hDANjOf)W4yVKeE<6f`e1gSeaEmd!fEBNZD_2o zptWBv*DYF-uMS0g8LxhE*H$d5af`7+_-opC{}aKbX)~`WDJ`2Kvg3soLN>pzi44u;cT5MVlFP7 zQ&?hKSURVu$WdI9RE2bXA*EYrD^hI>%Zjfl(QJigD=saZF{fw{Rm*TfFD;&X-5i~5 zBD;0V-1RjTUN0@jQBhqV&$Ie|LS_ky>SX@oEAJK6|M^~#B;S>PANi*B?<0#te5`tv z@4f-sR<=d>D~Eq@KC4C&^Plb+Z*QG5t?p!Tkx2Z-uGGl0M-xk{m(HzgWJp#IIEnoU z=3mCqoqpt^Ys4E@LQ*;2vZ&GKuBvFNX&f{b)m}F{U@DMipFd&I;D+%~Qx-MaD;hkQ z70168*EZ%)OrLTTrJ@w^srl8~jYMY{Fd4}_Kbcdvn6Y88>~c3&RMTB#uV+O=b!CHk z6ygVWBCLhES*Gt z266&J;mn%41}dVYu5qrYFe-!4p@AW18Cg+-1wF8+6?; zHQY$!F(vtdA*4qid1Sgc2KN5>G?8}lPZZy_Xj$Wo`nn32*F)1uO6nI8UrOWHfQJrH@eb>3#lX?e?f6v9pJ$HDXG}!Rjd#lDlLNXmXuytv1rl20OLtt z93b7UqmCMkiIODr(z<$1XASi6gB)*EORb1v{Ek}=+MF)Fu_SXA@~2eNBWpQ_Y+f;| zzHX^H`6+UUcvB@)RYyK~p|5!>IB#&*7v<9qh2`J}%6JX@+w><~R_|U~x6D1D_+qNh z5ne1NsEL2K92Lw{sH`IF{|br!LhT%A@gye}m_5Qk}YL zaBUN3YXjPt<7#n=sLfE+b)tcdZqmPPbmIq~;8Yb&7@ywov{Ve+o+#A+WBE^OoB!A4 zKYwC+!y$u=6XHzC;0U6fGl+7CF}bRyZaHhka$(_&8LZiB3s2hYL7ec{EtMORCuPD$ z{1sQpE9#oKlu*lwh_}AZ)l})08$H!5$a}Rj5%*FS5@b$$8mtWIjn%bHbxo{zs;dg) zD(jXGSL1PLfvamPYnohcxndDh7V;wUuAZKa70J}g4o(ThzOgd-73=77U6p)IDTj{u z-_e6vLK&QcjLw6NsY&A!F-gd{V@{7m%s;gF)f3osksN68i=&5&vo!U5 zQ7c`%NJ7`_DU~>_91uhPWwyjAZe`+l!ubrQASqW>FK*I&nI8P8tr8JIyaHH8(9Tgr!zrv;%vGsI&r+&TJ?Wp-R9iXV z}vQg7pm|0LHbC#YvfiTT?gXhD@YQ-v(*8N4q!WJMm4dFCU%bR2XqESJzYHb9IrPHtnzU zaBioUR3nkz(H&dV0iwXeELcZ0aps;TUEDe&?kN#}iSOJ=C}qb# z!{9M|2L9>8Cc-De9!p^Tcd^a5{ECXS|1#}MjOW(Ex3_McHecQr@c`Rdv9gwlx%i^k{AU6ColM8@J|{%TZ&{LA9$Ypp{}gTGT2$i;Wh2Pn5n-!9p5OI;$LnQJwX>Bt)k=p5|^&@VFtKUUH{eVsD!>B~W|@Zg0@-*N5r7`=BzS<)Cudr+wD(>w4mo*lu5^eV=+) zYM-!4jCEq16yL?)fRkPJsMnJjcyVMs%m$Q ztIS<5Zh(kaTp|J~a;2oKnyscs|GUP^?PFXWb20EHgBW}f=jQ`VCM{~BhZH%~Q-MZS znwV#Zaa(Ob;^M%fqsG)J*EUsf>PM1dXibboi6Ph^X?6Gip7bq)CR=y%&?`hC9CbA- zxPVY!!HT7NX-~aJN6VF%e+<-*?je%&*0;sC@%d)?%d4&|b=ZsM#iy~N{l%x>YOEY1 zrPk**<6}nps3{Iv14CehuZwB6&GB)n)WbY2u@Coh>aAUa zrgM8L>eZm>yW_))t*(iiV&bugN_13klaqD_W9eXZo1Q!Ed~wi#@k$lPN8y6O;u=4J zQ$+1*uW;#%`ld$rEO8fD(LCKTIiF+lg!qZ9cJZ^WHq~+lJEZH|lQ{iLjBI!yewQYm zOGTj%E{W5%v~cse>&x9-NVnoH2l^{HOXx>UR?x@imo|C5)P`nfkV+~^ar_=M&iw!N zgLnR9?e0R(suHK*$ppu%>-&ji7_Gf0kD8)DPh4lgLPn^EZt**Vb zZh6D4)!!|NgsDpW`yHalA74pJBzkparf8m+QO&R89)h}Ru3gicnzhxMqZUt@s0~~{ zy=I%T1HWv@87FrseKsVi?~VpdmKB+l{FHoBC%BDnn^zTlE*W@+US=UWLO zKCexyWN|Svp=-69zWgeVR|!3Flwe(^Gm(fWd1=!k7Wzb~}<&d&$>m}nAWz{MXM!g@3>%n5cE#kg0al1)fy*lyHUF}Lg28pooF(-MP z;LxPo%@&zzMO9j56PLEWAdXsz zT1^k}9hN_c#rQAYe-ZVBN1zZ+C}ALv9u+M(tOcna8s&1 zh)Q*cUFj>KCc^ z{D~#bv<1)su8JSu28}X*a{T-&>4Bn5*YmjC_gx($W)KIl{L0bT#q?*sd`1gDGfkmFIj{*nV-GS1Z8JGJg2ME!pKx(w%n&y&W&@v(Ei z?4SL1LHr(6>EAx|5r2Tg@t-~Qk-YBlpFZ`GFwFGu$DogX443BB)rrHw?KW{=?U1vE zUeS(M|Ha}_?1DZe#CMs8N1HcGk_DEB8U0|}%|oP`nm#4slB8#04!7A4=jql~cslHW z@4_B9w6;&_hgZPd#gg<8w8E{>2~E7a!3Up$0r&+B!85$X4`)G%Gn{ ziWmMJ`r+~QeM%6{f?>E6#$aPZpJJ+(q@OgAF8mTY;hD=w7oNc5P(e5YhT+L8NNF=5TZ2lh6!p;u$vhOXz{!uodot9q=?>mDCL_Fbc1N zIs9Ox3!34b&<>x49=Hv*!ria~ns}vDH=GEg@D`ZEZPPwzhEGB}ds-TjxCRSzf`{3b(=z_zmoaV|d&+3g^QdZi0Od zn&D}@V$lxYgdTVnkA=0urLY731a`wez$pAH%;B!fp*%EfhF3y6Tm?Pwm#`JS4LjgI z*bUF+eW+1b1as(e3!xddKs)?B^uVz^son~I0XyL5up3$)#~v<+IZcujf@XLeuOzm^ zdC&uY3R~g(umj%Ijy(*+D4fkN_T?;-qz9oHzV{UNu$Xs^d*JX6+AUlKgK!TF!|Gqs zpI`)MSq0vKtC+nggumgjXlhVF?a}?n(0^1U=JUM4*31wU=Q1& zAD$7!9{OPz9{XGDVfM4wbM|%zw7}<}1AYs=@Y3I558Gi7p0OEwcpZ$vhoI?p>IYij zX}`xFmO(FE1O2cY2H_4EhKFDbp7tE}cTgYD0F9gRl*HU+7ah;RP>Z4|Xqp;+!*cakg zXol}YJKXX<_HY|)g`dL?*blp*=>zQHIWT7ieuHK>1KObjdf+Xv6+Q(!;DR3Pp#r1u z@xNg|lXmqX_V5#EhrYjK4$C-q?u zx51pN7+?2NPWS+{!_CkGx4>5T57+^veUulDhEZsNIahQ1?Z+ODhjv&3J#YzZg?Gaa z_!#VlFTyB%ALh)#P0$Rp_G1rEgB~~@w!#wF0q=+1@F^IDufm+U97mxU9)Nau;sNZT z3|rwuM&k9!JO+D51<*&hjv&6J@5eZ!x>q7l_2!MFl>e~_)X4UC3imK-En)B0(dbj zhsCfNx?mf;8+O7?um`>i`{8bwd%Yy(496bk!EzXc&2a4TdzAq6!VtV0M&Jf0mD7%) z3`5Wgd!Z9%jo7RBpbP`B1cqP@jKD{rbOYlNl;JMufXAG$SMkELPNdv$4h%vk48xT$ z2HT+NM*2Clz%X>cUg(AMM^bKB4?E$#um|pj{V>Z!xo@JM!UA|PEQj-9Gi-rva2M=^ zkDi1*w4F@87Z49L!|kU~U$A@>^#zx~R@e$V;6~UDgD?uW!*!P0$WMh90=* zH0)vL>Da?}U^ncAQE1A={ubH;G{gDO4wpd>d>ppIS78U-4!hx~Gq8u3!<>c8+n^aP zfOfbHdY~V+!pC6;dQyhdEA;v(OBOpNTy@1A1TqY=!e+2dsnL@BtWw9WbYY z_@Eg|XJHS$&;ui|74Cr@@Z{0hLo1BJWiV$E<2p3M;Mv&2oO7^;<**fY!47Eo9`?^7NbFqgWXoq9Zqus!#p&we#r{3W+um_%*N4tURV6KaK!x-8PjKXr*egW+U zPQH+K1D%)9-o<_>xjD{_rJcj~p&cHA;@Of5E+xNk0qlUgzfXRlWFf!sWN5Bp9tG`i z4)nk($Y3KiLmB=MTHz+>gj=8w_P_u<07Gy@KK&1lgVHMe3T3zmT44=z!e!70TVVjc z2t#l?jKJMc^3fj0V-F`oD;zz6{K2e=_z{|65H5gW_&AKg_o3-7!cU_ALI-rfhoKjS zpdSvOj6Hk+hT&!ygYQGr-Skgrfu_r_hZjRHoCE#vb{K>&!Z6G$z#dM9rqvwxpanh) z9k2&_;Q{D}rYYFNi(weffiZYHG_?>fw7}_?V-H)Q7rqDmaP$?}!zvhtEieW>)3CpX zc%TKo10C?p>Da?O=!YdR2$#Sxyle*T5EjGSd+{qQfIFZQ?twmd%uMPHu7lmM2S(uz zm~$WPz(%`*W@v|dXOk}cu$Xk=E*ON?t4J5#0%LF`G__J6&;nnC4mjs(?BRCkha=`- z4=;dWm@^l9cqTNhVg3g#upByIK?(f_-tHjZa2*W6%`gJDKb0Iq}~_$Z9PE-0;K+=4PZc^>vqhE8}f^g%lezUP!rrC`mU$3v7c9_&D^!P0$a+FbGd{Vh?2)gN@MiBgPYGfg>ughcfiSiO>(5 zVGssjc^k($Xn%zIS;T%gwGw|q$wPS_C12H)2Y$PhaB!KIaU9NS!2fV>Bjtz3ET^CT z6#v0;=!I>t2X;bRGx5R`SK#N3oR`5c`4|sl&<0H#IL<>0tbq=AH}t}Xp&z~sgYbPA zh9};RJ)8(lKPF$$0^QI7eb5WHK|lN)2H`PxU=PQ@7_>su!<-+&0w}Mf9Iyp8!#3Ck zpNF0BJ=g=kfc@~8A5i|EUp>eg$VdK)ZZ`^q>Xa4ju3r=!HGd56^p$ zb`6)oF!aF~d<&Y|DIc`Jr~KH%AoRi)p&xd^AbcN&VHCz-?L*}IN&F72aM=%OSMUJz z!x2Bi4xR(U&;ny{1~ffIzk?Qd7&_p^8%P&ApdZ%5AY2E-@G%&JZ$Z<4aXtVo@WdZu z4|l_6IQn7y4Q;R!E`mMK2m9f3Ft>yAS6BeEe}cc^$*>v9unk@XJE05qz^7n848h!A z(%;&!hofORycssbI@kv9hMn;8N9ZTe4yC8*_fUpjXoWw7PPh^J;8QRFgD?cQ!3Z4w zDE7aieM1>Kp%waIGj#kE|A_q?8J{A%W21ii0e52ZJ- zgEH)ZVc0G7cL@I*(tVHP2@HQoI?(bl;RJi}KXm?s_=1%CbLt(Mb`vkBvQNjhF^jp&ZhWdk!e%h>s*M>4EaFeM;`L*g=b+X`kYQ(n^Uur4>410ES=)hHZr3O!yo3DNY!JUh*m3M0imy z7=RYoDR?vK5zY!@&~Xdt{2sqm>{A@jw`iZ@fsqEnLrc>>B@DyM_bE}aA4<>RhubM1 z3_=TxKs$^8_TncPgE7H>5Z@mt&*y}L@)!6^FiN`60{t)qJE3FeJ|zO3|D;^lOJ7p&FaTTs z$o4Mk1ZW+H98E# zZs?2=Z;1WhQV!^ab{KnSIk|MZzMYO<@PI`(0@k15`h8O51nW6PL$X2 z>qNpq$E1EG0R5Bul^FCD^egff@&~(N_zL#J7&N^>JXiKBAsFO6DmgEaUns*cEPxT{ zfYMCjhbHKQGHinu7=%{X4IMB7ovA4;TPzD4j6`B7`z@k=)Hyfz)%(Oze)PA96A>h z4u)YXlxoNy^ulf!SxUYI>nN|#8!6{oly5otfX)@z!_Xb110ySG4=@J9&~hjB_h)n{ z!+?+cLCan2CqGu`XPXNPO3qf|gEEZ30_eRTe?s}s_~&iHLo*CRD-3NVeHeMWU+I7` z7=qF}*g^lN`1c*+`3yVg`<(Qlli#6lhSr_57Z^0}SE4Xv*{^usB_8O5;r#tdhv3Zp zO1Ib#BTz2cujGV@@4Ed;Gx_(!4pBZBf?j@8Jtp?UR`PGXh4}tLy09O5q3J#Bp&9xY z?pLfZ0K?GfBpj40_A3SdjXf-frbVO&L;Rq6H}p5|SLAKv|Bn5N7dl!=ADZr`JTSHa z`@fRjFUSWBzz!IM=J(ltalhh+5$L5nG1v;FKkQcm&;&c748za@qtFUj%$FQ6SCk7{ zpdUJ55PDz;w!sJt!Wis^rkC&|lwmpLv_h{aH*AGI7=QuT2}3YMzAfFP(}NBj&<{N@ z1br|9+h7a^q5LN4K|jp-8}@JQSM1OaJum=$FbvyZ3g*|NNbJp%t3m*{?XE^e*YZ5bTDI_XxKgZXr@Ue4g)tZ<|GuwCm;8lc^kdT9jol}t1MScU zoiGHOq4R6XA@qOIe_(hI^&BCeedy2&{V)JKpk*)lf({rH`ab;iDfxrtq!)l*7=*1b z1OqS(J7ENdVGQPyp45*$l%Y&~R#*U?u$g$h&<{-qu@mXQ7z{$w4&pt8e_;$-p>&vh zKnt`J&I+B-0ezpLA0Z#m1jEn?`=J+_dhri5LrEb%=!NBCKlH*dY=aS@|ATb+O~@YT zfHCNWIiHhH7=*rK4k+>$_yrcg5Olx@^g!v@14;)B!Z3`%7&PS^P)t$chZg974(NqJ zv3~^NVGKrL@Pq?O^G?#^{V~>m5vLi z{2qfcl&VMvnxF&9&;uS5Jq4K_Cu2goqBOpA5gsb+X-7?2uk?fx|H}~2wKJVZPX8x8u2f5 zu0Y4nF(~2J!0q@$`1ua}haV#_6eC}Ek{)!x=5L8-73G0a3-Le`l>S9HSb*QH&;cFL z1D(((>I1ex9}Gf2?1ljtfkD_0L(ud!eu8EgfmRrU-EwC9npdWf+2lT_-ZwPlE`G7v?fidWZfmYHL`Wnh1 zbeMx*V$cGe_mgiJgm(NCf=(EQAsBWiv7^E zAAf8m9vFL@azXz)M0Xz{lhpIzOd;#5U}JrZ1=$!LP^Q(5l9|rzKI!8!n5Ai`K zbU-ikKp*r8_EDeEzn6HRw2%CX{ZJxbewYgb&$Vp zh76H>&<^Dx2NfT*z&0oyb5IFG6O6(jG-VBu9LFA13ZNG{pdWf*5Vnc^ydNM01F#25 z!w)Lb&>@lxWhfnw9SlJqjKP4=c`raGbilCCVL!B=gMEI`odlFJc>7atO6%R3vO=~BuM{o}|NbXth#c*4PQ7@LL;!_yBcG3dJzeFX8t0vNQ4cSYb2 z7=dBf4zi7=T{V3to-C zp=mDpfiet33yi`rluYa|!9UOfEzk<>&;gw=d=2ry;I+gfwqY1brRXOS|8rgm}a@G>yVPw~-GRf(~eDzz+IXk)KmZ-$%Ts;lI0x2YT-& z9%x++PiH^Rz(*iA`YEPd;=PZ2L1_*Cho<{U4_aXE8RQFEh*w@qde8wq&<|T-00v+X zcES)0!!R_HZVXyscs=`J@B!k7rUz+%<$lIJ=!MpENe`C85cG=e{rC+^2kB%wxKlikP?MX*p2Rm z5g0gu=ScI=PdTLcpb54?3+#jr*aNMn^4zJ|f7&6%gPj%npaZr+Ck#R_l*iyNSOERd z0fW#B!!YN9A(DJL;h+~5Kp%9#AoRd6^g&1NA*BO)VK;Q1$uqFTHu@DY?)K3t$X3L+M=7gQoNGBeXznLY0EB zpL~U&L&TGZKVT4+6D|y6gpHNU@?jVL9|dFZ97y7=Qs7f}Kz* zJEVl63_~J5*dyYB=1WNLI`YGI1e(~E<`WMLz)rD!J@z7;hkT4B94u!$2EEW!O}W`G zLkF}#4|GBw^uliFhY_*u#SfPf?+++9+a?%<7U*EV?@sJt5Vk_o1L)BDAokD!`=RV7 zKjX05KzY9pA3?XkjkM2v(t&p9``IDINjN`jhC%3uA=m-s$H*VFzzB4}e&~cI;`Kr^ z^g%21!*UpeUKob0Fb2cW^mFPDTA+#iIG{x^Kz^X~3-SZ~|3$uGu!DMm;a}np@+&`2 zdx2KygihEj$^oVE*mu(2pdUJ540@pV1^f*|uno#D;y0ngZfN=gDF*@34}41w8+-ViCOLu;PU=*b1!{(uLj$hm|Pw zPduy?OofvUD{aui4{}GLbte0#kuMu|&|7p^>4x%b@(Z0XcRGH87AO}VR?1;$&S9kk zI_4f$LNIpiVa0kS+t(dde9#HoU;uVP|9tWdy$cR2PAmIwAw3v^GBhp39y(zM^uiGI z!w3vQsSrOv8Af0MbW~7o7=&#?hY{#sM7m;sCGpN+KP-n47vZ6)n)t>3NAUMd;@Jq< zc0x1s!A|yDe{q=Sd+^s2*h4?eDPp@Fe?SLxK>10^4V^Erja>+~!Y~ZLnApZX{4#!k z(ku8MI$)2mgE8m};qO`a2Nnpvc35eKq1W*XjPT3L5h#VJALxMcZ2SeSFa$j?0$ZW; zFSIi#y@wriyifk^#QOp9!yt6P5cI(?Y=aRPgfZ9+r5@~|3HHMvG!z#bTc^3~|jLpouhV;2+q(M>r=c>afQBabNk z&|x~F6c9cL%Y_~E!U*hy;ggQ=91r~75uV>+|F|QHpKZxsA;yrP6) zm|xO%lo8*_3eUq}4}D_$6ouzuupdQwFao9P2!A^9L+6>~3re!01fb=xFl;5?Vtb~-b1lSQLcXpiKi8nch=cq<`6l8mhYyoJ^gT&<=-jOE+z$JnQj(iTOrLJM?4A8Z!;-yomR3VUD>_QMb~Eg)WKh7o9mF<1_* z-Q)v$VJi&44j6*n(DWwdhBB0HCOs%a$5!m1_#37E&wC4QpC=7zHVrvz#IZSkq&)VI z=41Y1k7BX$u2D!U*}eAMuQz*im?*>E5iFCmhp2 zL~IJ(#phh~vtUx6pVC{{JsQ1KuV2g-^>11 z^yO)KeNxY+yb<)_dc7zWe;)c<=ytuHH8W{1hW2mKYtr<^N!^7$eS>lSTF@KO^Y!*M zsr1{???vYlK+1nv|4hc;g+BkseaeY?y*Opxi*7?dS+CDc>DgJ_^O-@g`KY z_BM1mL;5cC6Eno$f-Ysy+tI(J{6^*LLXTw7d(q!PH>$tvp-l16pVOBw>$ge&=Ao}6 ze@~?8k0o^*`pAckbr<>%Gw3bor~af*c{DBlA1C8)M}H9g7is#&q~3*YYBTmvFZvPe z4eLLfYZ4jsJoFvtM*g>^fUGGU#CW|j$e7`pQBIH>&+?MhMtZ8H|zDR-z4+rLT^Ji>fbHsPooc3KY7I2 zj=mASP#^!i)!FNYF3~cCc>%XKjB^^Tw1zW+5n-B|LEVM8~L{deOCs(9sP6kdVN0PSrzej zp%*;LGwEU+NgRKM-kK%yDD+>w z$HjVkx0Z&mUx$7%x>c{=k#2N9BwQ8mDlr-l%h1cv2kXzGoQ>$SGUyx73(&9E=Ob&LngLZ zhwIe-aG$Nv+28&(2d5YJah}X$ZN8nT%WSHp^rsZ=hBJ(eoabuq08u>>g}_(s{z#V zqwhdB%3ph2H%h+?{o@Sz>qY+%{d9f$T60qSb@m9B3NqN|p}&(sx1qn4L3g2VK|fWW zz9Z$I7W9`g=Gz^Po!Je9vZ^cOSO+t8oOpu5mT z{*CId1^t-}dOP~l=!WG-7x_1A|LA`7i}dAlrOKDhK=vrQQT^nh3;VP6_T?#i8~Oto z(s!ZzGNj*ven0vp`uM9-@wcNtoI&qG7xio8pWe8=k)AzLOW&w|^3d-kek0w6es_lS zUFgfujmDQ2bZ>_E+tF(>=w0ZZ405Ps|BZcD+}hnXVCM|CF%z^rrPhERQs}_3;!AQZx{M5 zbh44M*R8*_pnsgfz8$>>-KMu+l}f)0U6jwLfA^wik$V8eDDp7}T^#3E9HY~-9_7UM z!(mz|Z9TY=aDRE$xIJw^52G9Tdo%i58SJ;AznQ^)4|*5+Ir?(kkm^sPm?*!Bez9KH zou^Jj-->>|Ue~Qhm!ZFlZq#2I(ceKgD&Ge5Zgivh#%6Sp|F!z`v+h+3AnIWoy5)C$ z${l*WV)f9h_?nj3E#f{zxE8`0jVq&bd8YxoQM;Uq{wTW9xVQj)T?Tz6`km-!=<`{Y zs)vo}&FDscehGagx=}rDN54ITekdOQIDPunsq{yav3s#MIxbE{7ydIkZZAN82z{{r zGL|$~;#eQL@PGE3*{ObO7w6Fx`qOB&zBUox2ErS)o2}>%pr1N~2ovX_Lrux`mtE+q zHyf`*jv(R<=nR)Bd);~LSoBtOqjot5y(NQQgYL_quR~v%LEnVlj6PWYM7!ULUW0y{ zKL1%WR}YQXsn{*@zK3wnWk_cf7pk5$NJrRDM1Kn1BO*-rIjd4_I6^N&-<`p}5q(Dn zeFOUY8T8HQZ=oBVFKvt48@1~_=)Kq*<$n}~82kG^<=1KD>qw3-6VYEpe_F4XGrp|X z`i|Hw>SF=nraqTBobXo*|GiAOuY_UJpV6d0+tJrO->0lh)3pJoF>jGkr+ak8b_OhQ0^gsC+I_F~mP!Zy&$XApF~c zelog||J%`zL6`ORH)(B6*muQsF{UQlk9PT0?eD$u_+`DWv(M&0Ez)OLNZISJ|DcaR zFVO3{^+_9g9=g%I$%TF~I)~d-{JQnG7WDJbS*A?sMXB<&$J1x{PU*ViWEZ;dkCEPs zF8puU{$B``O#;f8_jcU=pz2f`uyFNYQHY@Ds+cl&(cm{ z)c%kDF#66ky*F9Dc68?-jIS?tp|_zM#ovqGjb4)$f9n2>Y$lkaUNYA6(4FX0^!AOZ z^4ZXDN1rf+0Ey$*&~eFmmka%YKlUk=diyNxgh4Go`g`c^G+n!(BaWl(=(#Ts7{Ar) zzgfT5a-q#@wi0eL;eL=7k9MJ2#Ip)Oy*+&`bO-3lcqnd>LMR2IWCQTL%S}P{kQ&9UT#a(iAblNcf(eb4V zeI2^d`hG9^!{|o+GnMLErJF z@%Y`2{wccA_}zuRJ%iqhemm)(psxq*_7O?U8M0;GeUIKLzTdnr<%0(Gdgc=SiJ02{ zFXT5_2tQFDUtOwQl%WqjcJTRvsP{(nv(V@3?bZGqU({p2NM|GAiV1gxKHRcYIxnHS z&~18Mw=TFHy%qgoy`J?@vV9&xKZ0JU*W=g2Mf#)7lJvbC<9XXu^nCQejtj!C3pnmf zM;GPHK7DV>uj+N;D!p6P@~$I37vYWSc@z3A=tK46Y}S!vdA6b#9@nQZ+^5pIIpwci z=rhqRdi~avK7tNZif-iZvFNqvxGfd`qLlp{^d|IU_4yl`r5*=_KWfO>g5j)Z(9g0@ z?@PsTlW1o{e>Fts5w-q_@0t;PN|`=A*7U?J5kh|neKq>`_4*PmKO(*Dr1wMgfAKy0 z>piLT>eP1qOI>oR|3|Rkb=?Vl$|QY!@jHD)d}BF&EI|)bzU=38@p;w!*A2}70^%D! za`5^T@vS7jZ1f?*9}nu{%eqyK@D5#sBK#)8|JBr|d@Ry$)Q5Me;TH}Fzn$=_Pv$rw z!r!0|uf;z}7hd>t1QWCqNA)S6@I5&W#&3dA%TMQh8=aOcWuK>uZy3kLQjn`9K&~woT^SiKbNBznNeZgjePO4nV#??SIdKTogg#=Ty2FZu+%K5z9`hjTZZ_vIUr8YV4sIB%4g(18@h;pgYi+rl!iLyPvHc z{W^3b|97EZgKm_+Ui4CQqx@y(^RC+r_IcLMNG2{pp@xaG}pack1;lZ2?a7-xlr5@^|BXIXuj}qVYe)YY z-Ky8cB#>=&{6il();RyY=x3lCJv)Pa9{PnDbQ^kphWK6RlhBR)(}Mnebffmy zjy@6HsC{*z7oi&+pL)?ZqBrUN7r%vF_%E9Y?>Fd0X}UGpe)7;yyR=WaDoxiGXobBE z-HL8F|3P1jUYurcOUB=V?$4mNqrZ?r??T^^LGMLBew^`nP4;B&zeT?%Eq}gb{_@b* zqBo`K+KGW$e)I^sk^f!jmwn&(zJnI@h3Gsoo9Z7!rzgj+cJ#X~gU2u0bQk*H(Ep^* zpSa%rQ>~AP-6Eg62v?tPT#gZ!(a$sJW6?*CH@2UHejB=xA8OFM(T&>KI`pqH*l$9& zO)y^f+KT=O`f|M=vQqQ3UFef18tWrCfUQS2T2~v3Zk}Y^59gpyLH~1F`dgCis0O_^ zgZ(=6K6ImYwh8^J$$iTDwD?<-@ozy8s!(QnUSzYG1x=tk*}xSaf<8~JZ6 zdg0~9>CZvGIfGt&w4F>*Jz-Z$;mZK1r{~*DuumkNyq% zm3mz}&C%9BSokqrVSJn#i#|MqJ_kKJgIhjCOpREfQ+pC%ISBFcHQK3tY|!A$tM4802djx=3cxDdd4HArRX5%e`CHWF(%9^Del0+ZHgk%iw|2tTES z>#O?pm2&O5qoD`X!=M^&6XDE`KIJ}alJUmFW$FC0jd1r7?iXpt(~W9GBE3E6IrCUo z)Tig*`p1>(l8%U7t>@8nw25VX%FAL$q8wQ-B>glM{XKM}{Hx>#jt1pd0mv zjp$cp&|gBgWze^yPtTD4A#@A6(RuS|3N}82{Z#b44E77qFUVlO5``*rBO8SFQq_h+!*ihj;!<8{Ja=w@`I z^OzAcc#i`5>a_A{7d(Z3#-fY+=8XI|2mK}VwD!WdBF@BxeGU4{=%?!Accj|eI`qxx zEZe92uU#hp|2TUexV*~x|Nq?Q55vJ2Q>Lh>q-aw~sYv%JDz@QRf*LtTbOinf%J3~d_vp+a58$Ix*6o#*#_U*|gaeeU}{H}?IV z#{=$jzuxcbeO=f4dSCDBef>G-R`%WreFyYZ{-O`MoZCA*m_D!$I-=#X92%1!SZB># z#<^e8mj>y9d3GUmIk$ItkZyVlu~NSZ=yGmu-yq#vhEV0Ng?=dXROwrwubU-(C-n26 zr_z5P^cv`K^$+NO1o|52sq~*&#yT|gRQfH1enz7FfPO2WS3ysu-&*LBe`!!Z0sXc> zzYh9_Al;1FUnlgppr^9mKIqw;BTPjff&ST9=$UlvwX@I*p>KwMXs~>NbK@1zTcH0V z0)szZT5m+>v9-`EIj5J(K3bqJg??sGe&9VQozTAlJ#L?Z{XjX2Cid3{{T}G4#)}c? zEzpk+$`9-#WG-hP1-i(Jmj4{De-;20LcbOIAFKfVEaHY=#-E$0g6~Am!=$QbJ@lhf z&?TQ%#-%*y&D`53yc#QuoH0Gk+clFib|Xj5-K5HA5PEG2y5u9{--UiYZ|q8$PXP-% z-SDN-dl~fI&{OGsE%cY5r_y^9^g-yU^u87PF6bYn_dfW(!?~JN_BR53>C>t8m03=_ z2R)Vj6+&MJJ*E9a|I#eziH=(DhUkmiC z6zRoYJE0rUhl2T6(ABS9&BKxQLSH0; zeL3DScQu}sK<}F+eKqu_W=Y=w{kd7_?a==SJykr`4gK%XQ;k=H&06*bHcR?W=ugc;?}Ppv^i=v9f&LQoRQ@sZRK|zrQ~Sq4=x0Dr>HnbTypUQywb0X` z$Hk|C_^}0gI`pH1?WN-r<^Q1X3w=|NPJC;6M_dI}{dxet^|RzN2K`#-YzM^rTHw5L z&S~t&KtD1_59~)5L%$7rnB7V_s~BfCLf^r?eMf&R4`MZQbu4~qKu&I7>V3g>=tn_M zWl!DEkAt2SEN8&K4MNX@p0fW#KL~m%|B+Wo`Jtz3uM+5Kv*ce5eGEOM%D(~n`_NP6 z-wu5cdaC@pp}zq=RXYqazV$;_?Qr6YDciwjp|FN}gxQ_=@dD^qKtC?1=fM7L8T9qg zQ?=7t=#9|B$|>@jpnny5SUts_wnDFm{!w<{2j6Qcw~^+7WxSEcIain^nvrjnH0PS`cXmp#j$v%5PIpGsmJpQ=%0n2NR1jUC>L3V_Dvb)z4fKO+NsA2KlMlZw&gL z6m+rE9L9-J=zJLVs^7)(AbvaF3*Wr?@43WJlrtc`mL#`WT*CH^^jsXeOV%!go`EPo5FG z*Q>bLOfh`b=)c#7uRg$MHtS8x|FJ!<;l<-?&qJS#D<{OQi+(b?F4_b=?M2R=ATMgK z)?-SB*y~p4_x$+-SG_0LUx%>1s}?ha-V5EPeqr&Mly{i&zV$NCEtv4l50qEdL^hkc zMPcL;{u~@=^Dds-qP+I_v#~O%ccfaYg9qe=zYPAg*LXjR$d?}k_se*RI)>jJARpmL3-SIEWPPDAfXRHuOxk{xO)tGKj|-v zOTQ-Ce{!nnzk}h=_laE>LthIW4<5*WIY#2G)e9`;sD>}?_0;iN1N7(cGYcevud~2= zmD-{2fF2eXi~MfrPs~Cegx)=i{2A!KfPPdk|3JKxcLBPFeo&AeIImFxUDCfCqzB%I zS`B?I?U1T|4babqerzzk_ZX$pUpsWMgRuOi9l9CEs-fe~47=l*m<}0FFAw;sVdS*T zBFAPtX!hl-O)aPJLe?i{kyC-3?Y^8vspZroXDEdnY1dZhugya5f<7<{eE|9&XQ7Wl z-#H6C=OXq2p?@scE`j&S6+`cxC4Ck2r)HtoL*FqAy%qW+&{Nrc7xXUZCj`qESicy6 z{yg+lR;-ipE}EU z*9yHV#ds$9cj@#eaUYW(+lL>3UQhZ|^TaXe7eX%%roY-7u|$5(#mvW{r;=X`y$yP* zeq9CqCg`0(`R4tx`a|D;ck1}FRnt@HzYBUc=~K}MpwFF!J_g-}etBH^yoEMZ|24D^ z^nHW$z&y7Ydg(0ktDt{&7J5DO;#uge(2s*2wyq_9uM2t}^x4)!gl`bO>)?ARSPxl) zyWMMRfu+9oCFtv);rnkwFMyr~J#2kQ@+pI!4gI6mk89yO=3lAD^%m%hp{KIjPUwe2 zPi41#&`*FKR!*tM2=r3uE4h#L8*jry=$UI-=YmeS6rjg`hocbs-Oy8&uLAnUS>)G3 ze*}7}^0z>L4*IsZ{C^tlH=WQ=9Z8*kAN0ku&_|#jJ_|kbQgi@4mE9LY|B&*9(F-VZ z1>?#nbn$z3Rd-B>fqiS?tA|hOu|fDs0(>$L{<3GA!q*PpgFat=YQA3h(*94&v%~rF zkT*j4*T5H6exYZ63BNlFy%75HS?Cqe7tcbkg?w+*RFEEs=SHCKfPQ$89@u}#Bp`kQ`hh`uaQ_#27xYy6tAKtV^i<`m zg)ZewCBFrFC-kuTi#>Ege+>FiuzU&oS<;RJ@O}B+)P80RdIR)S>(x2ySd)f+XfU6^ zIhSJS*Udt&g5C)IGr{zAo?T1%>Y?8bJ(VA5h5jJ)RO4G0^sUgt#s^h@=(o;7AA>IC zJ0@7Zz`kwH<&596Fc3)%#ywp`qQ(d?}FYvOZoxmuR~8| zr(@7xOhFer%VC_5{C99~Kl6C3uO;kXm0ZDo;J;J1LpAhL=&9_e0s0r9&kgD^u>al; zeG&9j{k0qVF|(u}gq|}CeFpl6)N^i%{PV6Pj)g8diTazsbHgRjN1&&Q!>gg2v*h2P z(^mxLn=7LJupN3X>2rc~y`C*tH}q{w_qb_7*O%Y};0EcQ@j*TX9|7M8|NHmgi)zJeB63=Vs+DSLHb=gQH+sxfGYet;jH! z@@1L&vNVI_QqDms&-)*^uW;{Qf{%gc|A+T@SU&3UXI{nlwTIthiNQ)v0eBDi_X3I* zn6p4d~Qc3yeACI8Gl?*0n#{)yZH@KW%ASg-vxe{KT5{bi4T zUILy6F7ktTAw0$4Mc@}m2FhMm`u6fg({CRwOZ@R#_-nHExcyN*S@)u(^p#Yl7vY|uOJBIhy;=06^uHpj#`+-QDQc-Q5V4MO@)5m^ zz`rhckGF2mce$i|_SLM9f_Dm_^lkpsH~12u0>%sDz&-BwX@C2#k8nsLD|?f9QdVw@ zRhE_CY?oy%+Tg6nDzYw2o13+0Nml-ntXx=@X7Q^)l721eYYyAvo?w&y7s=^Q^V3gQ zN$Ex3TPa`75qsPNq!V72)e*VH+-z;KTb$;!4Rfp$O;o9D9;(vI0Q{B5?r|>^y{rm7OC52>!hswP4-Dyi&~trtfJ<$vaH1$ z=B&)>k614uU@_Q|tVK(+@|XIRT`nS}yj936D%R~;-r}6HVa^#+;O4ZGvubWJ&EJs! zGM&HlqbA}14DBNAf1Y2lQ?u%%p5`NPFVB#6>V$96347e;IeaOjsgIr$t%Twzys zRR(|M7x%a|3i1Al{A%zvaF*wzm*~45dudBoX*Y~C+HNbPDWn}T zze;&e!%s=QS2a5u($38)+H7vJT5Rjv5wF5x&&BZNpT5VC?g zE5It3=%t?Y#+mVcOZ3tLo(?`K19D6+*w`j}X`&rcnR=Q(L@(0aRX&5r+i}4jmk1_$ zN&aKtH5bPFM^*o?FduQn5%s^qV!v< z>4Y7IQQmByvB_+)Hqg6D$;dM&<&Rq7t3%Frgzr>5jJd(O0!x>QiG6lK?}u*Z^F{gJ zW#WHVW(}FvcxKc~p6u&k82;^zd%Sp%ByvfAngQPd&hl_{{3- zKUAJ_UD6KS$Sc2Zk2lZYyIg_~fOkALmek)zg#Q!cNx1!W#y{}H@iGs5aR^=vUbzju zs2sh2(k>N@FXiCb^dI}xPQGlIbEbIdvprX~$u|E;GpfKq%GrRN-G$?E{zvdu@azZn zxcLe3LMM1`C*!g7Pko7Adxih!`1=KXN!f2yJK?`gt7o5Ny`GenUgq0N&Nr~{r}lWy zndUu0w1TWQodb9YUO=3?iHa@P|!9F*nncKWUHR|t{WSEWd9uQfQPv$k`|Lh*` zcWU`Am-LeY@J4W^O}d|$m-_ux)gO94^cNE9Sq;8%C-xxe^d)tx7kS_dvG z))0PP;+4yEKW~R`_aFAS=ZM@@EzX8H7c!1Fr+LG_xg$FGL6&m#!Jpf|$Nh7lA;d0+ z!G~Vn<6ajo=Xc0aV>hhc__v<^u#0%Z22k(>N%8IP*rqvieo~m)M3K2Ps52JhcxYyA5_R$X{`My|8 zqE(QBI|&Wu8B+vtFjUA;a5}4C~qO3P>Z0 zJ_acN(Bb3m!QzK*+?M1MRQY4RyNot5M?#CgM8#bN*D_u%8jrr;WP|y2EI^`nFK#Gf z9NBWjxceFG#r`Du=~z79T1RZ^wV3pyTI6i|_;_?(VgqB19`=k9=q=F8$%mgPS7i>y z710>`lf)I}fe;&3xujq9QI6fmkGtRJ-rjwGtQ_X~UNI^%6yF$pHAUm<_dxAG1^H^= zE6YlUPx@2dw`i}U$G!7Ze3wh`V(=R9?F#Y!N&PD7885-7xVLXYu8iz!JXNXslWx~B z%*pfY4hczhlSUKYH{^vyQYXn(^w_34JH@aiJ5MR6}MO+`va!233?E zB;^}`uY++#HIVRfiGD`F+rXOyVCKS^D@j?wfB)x86<dlp z?pNhIsQDA|G4Mv@1cq0|pZRV4e+XUxUKfIwfUg5jlwSp26N1-*uMWYRz$-)WcJOlW zz_NoXXBT*B2!9{=V(>)04TEPNH}3uZQb2Dr;H$wUZ168>uN(r;8gLb-YJ%W};5)!G zeP-e1uMB*92wn}oEd;Lz?+C$Lz&Bo>T>h=#jUjk9_&VhHK17No9IEHREZd-!g`vH^ZT`uiYq+erTj@u#br?G4VUSw%AE zFi(zlQK_fhNPFNn`S9bLGhk3-S20jQBmeN18~Bj%J-GIv%TQ$2#!vTT9ItLf-=zCL zFMsBfXZ!O>^93?kn(xl2qc17XTJV14-yxVP4~1y9mZ|cvte5MFR{9qHR`^Rl{onKV!oU5$hX3BL8i{Rs48?S>9zgUzz$vcaO)S)V0{ z5ET*mRb*7b-vxiq;&J!m#8LKI_*KlQV!n#_m{Z4RTP&+1d~O;Y_oQ7jG4R#2-|x8h zuVQWrz_aP+-BKUbe$2PEJ*~*9w60}6OxFAY&8XtNYSOjQuh&RC9xJ1o@5W+C9T#^* ztV2_Ub!DN!nd&&Azh3egDjj#%i^J3U-l9Tv3EQpDv*tsKLgNy@BI93C`MCQu_x9I* ztm~xKxV%1cNz^8nXIvY-kNSgR#*H4*B98F!zQNp zyP_F;uN!y&F7nV>v#IuNR?>&1i|9V=6qvUVf({Hx@+s{wr5&ExKu;PEfvZv{76;^SUv?@sUu`0Ir^Fm9cX z$%y^+L0?U}U9^*De`;Mt7IB|86ZSDhUo-Hh-!ks@r13@h=dkt7*uKZ@sr)m^MP9{? z%pYzWcUPs)CQpq?E3;VFU&eOPV)_`q2z}D`JTDMkhieykcj@sLk#dQCy1*O3l^zu8 z;eFt{!Pja`KE!^8!AtKRcaOCBqI{Wj$zN;RRm;RmZstu4^Y@H5|zyATo6YPw6Eh|Jh zuzB&Plz%JqqMwhugOU#cStZ1>4C`Jh5S_TH_J?oxFUGxn$xD&ryG*rD#?KS@nIcBY zKLda6!{cslp!|a8+>E_G67ScG!3)82!9Oqjs_&{X6A!+DeU>8gvf!BKg|#Z5wIc7A zc;LArHUuzsS4PWa0o9rw`jg11 zfPekX6G`))wcw-VTLX`O34a6l;>X6l_YG=71)r_p9pGCeo>BcWY+Q=p8pF}yB^vKY{`O}2moed;r{cR@g6DxR0vC7cUt)*F;Q8P; z$OM-Po0fs^XARjpT0%`_`NCHX-^TqW+?T|D7;&yrMDyL4wR--k3BJ;W6K=Znf9;^X8YBxEuIJnd*NOW5n7yhvU+w3v^w)JC2sf`48EZqc zS(;(JV}|8V&R#q9l7HpJ6W)8%6zb`95PTi@>w;-t;q4=uH=z-=<}doPx6qzzCfpfW z2wK4ok$DbeZ+%znpa8m2KM}WoDD6=Ko(_KeT)yabV_16#BZ#(}=zA@E+25IP&y4ox zuyI!PX9Dzyb#AzVqWhU$$m_pzEN)*#%Gn3L?wxo)CipOT4S3Lw1)l+59fIe4AAN%F z1CM_Re<64|xVRDj61)t&Gz6~(UkpCqXXaD*>%oh_gXNKSXaQdYe!TFjb0}BD&9^(X zyahtnm&oe{m;4j+83fJYpMyb^rA^lN-^jrg%LG-UZ(C&*X8Y4}50`J`CO;g3o~O3c+)Jfd5Fq z#oi0ScT&#Bq>O?1^Q-h0PsiE9G+}r77f{zLAWklD^IKUP+oux;L9kfdR zq~Di&uV2OXNrc{|=`Td-vhvQh<`b-tfDJ(3vU$RNAd@f3zg5Q11A_i-i)pO+yr{*rA`+b8k)$4Fx6wZyop1-l55{z(@=ZFo(i1UmD0cnSD!aJohG z5;;}iLm_xA_^uGV3A{f9ZwKEAZbzki{<{mj2VBA>|B`(Bz;}em83x}Tg3o|&3&C^R zh>t?>Lhv^5#PXDZZwcYA2HzNh*Mm1E;L<)V;1mCz@b;N?ys}`yvJm@zB zuL3Ux-%rY`FTrayet2y@ zj#>SP{cq%*o@8h46hbV8kL#@Zux02uc6KX%p zzJ^5z?<~MdiWNPFBjsu*-)-=P#Q{>TZcUf@q31VaNVdgK-DnQ+zlTJL;Oi?hi-)!QU8 z>=dyt80kW?ht%Glc@TvJy>>N!oPz&SJ zx*6sj5^r3&QTvM1Wo>~IFYH}D9`zOec8;>AUecBBop3)R>6VgC$(D6&CcZKg!}cWq z5%ORCVYod>{xbdvU4F;VUKo=9zoYs4$G44I(v^{}&Yf^i$|BwW-4L|J@K}NP@X2|h z=C~vSt%XMlWW*(Q+Qk+}(Sgb1bRYO4@Wk#t^`*Miu@(hL@@$b?&AE8#D*1Ajxhmn5*D zpX)s=Jm+v>}ZoqzwbNqAsr)Tx3g;;Ao{YXM)b%`Dt zI_TC1B>VAJa05LA#|i0Yo#5+<8^kAwjq7@$akJFlT@twi9bWu$3itjc_(+Ere|^FS z`4qV}jV9VkwO&2Xe|Aw@F(<-g_EKFSoBvR;}7&hr2k|fN9hpX(jsRM zV$X@llPqy6#Fa?-T9ChZ|H-8F!L8s!2TvxgJ9LBZ3c&}2A34E!yp(T5_`&beelIvD zjh?S-FhkGRsruhT`LO@5Aj_W%$+-bJ8V#NyIzBcZA@*;M)_*Q;eKJkxzU4T;yYm zdQaGkJHHq8~$rHkn84psgt_-f!w z)MqXD>JYpMyb@g56(cTZiPA+6?ch7WzbyF)ez}KtfoEg)iRJ49PY3^~@{Pe)1YctL zGVjH|d@mU<0Iv(dOTgEK;8ox?A$TqLYVgGM!zS=b@O`A7`Vt@44&Fxnm)m?%ahHly z62?@uKUv1XaO;`yH5V0mi9Sb=H_;gHR|U84;~)74{jK16;OQZFF?i*n$@~@It3&X$ z;58w51NhF6^0b2Yhv1#yyF&0@@SzZV5PWwCJ_bITfXn!mc|YTyY{rF3(r=ghuY89=e1mhIcT%v~ zHksGLto%QGyWl%f_^yCY`GAX~^oniR7xaASiRZ;6eeFlkTRwu`ISXC%*#}+hBTe$x zm(*{Va*I8k&At8Hw`1*bWvo4|mI<);(L%8pV%~^SFEX|r1 zzC!1_b!D%G4`P2eOse0HCmVH1er1d^**8tP=Q!l|_-y&b_G~W*&(A;hqV_Y}$#3zA zlkT%J5XR!Y6+8?r&w+!efya7{&1mn7cOGhh^7Q|Yj_1m~^2D8oVk1)PEV>>o^~l`H z{Nb~cZi&oej`Zshn^VWm?CHI#?enZ>!q?9IX|>YZ+Ml7H@=5PKZ|Gg36|u_(@Wq=a z-Obz^t9Vx+&qL%lTkEibsNTyUZH3PueV(?1;QUvuKdJfe3bBZYm2?J2gyWO=8=-!? zR!+Lp3#i|n-%7HJSpD>w#GWkct?)I~xcZfKvc6S4>HY2x^^+;D)UO(R_ohjg?ia0J zQ8TZm3#@ZUxn%sSBmKH;%5`~MxngT9tm{ReLEe&Poyc>Ji>Y_QMu5K!qvFv)^50lH z={BnTy>qTLxIe-OWnVK=KIktAUG*<@E?1qITY;xEpA7Ua;o&Obub6^ocO(r|t0Vgzrlp zU*P$TmAbch>leN7W#9hMd?WC!hL37VzQ|i82hAjsx!D&e`Q|)Ae}eCdD4+k_$f-V? z^6w?^ExKdUdyj0~^ChRm@vVig4!)0)*8<;;kB}$&?Sju}oAlmKt@lH|u5*-rIRL$% zcKfH4Utd*xjxdgHYngN(wrS5dzOLGHvz$@hB+shqXNJ|g60AQGsKu=&^Zt>C5}@e3 zs_d8O|NE11&!I>;s=?F25B3Yer{MMA{nT@Q0^S0?6I{X_{}TSK;58w5H~4DseSBs< zg?|8iONjgt@QvX6CGgu_9)A!QJ?DX^!>`se)EMFInMiWUrv&Uu1h@VEj3Yyhl^hOGr|p>7SGG zhs6Q18+2*%7%ka}ej6nHk0ztPcg^#l(f2?|ecKtQwn4Au-oEf_(XrB$ogzI?sDRds zoKg51q#~3f{QWIDX6>-8sqnRT<-*Dkk@Fbq<-eG8uhR7j#+$@j&GJ4Nd6t4DhchB6 z;>{f7R3oSS@nk!%2QLK=+MDpVfag9mne;w~t-=q!03QF6dUuO_@NdoGi>h~QeIypk z>Ny9e6h9Y!PE=`9^3Qyn_IOOMzw3;o9SUST0k_eI{nl3kcDLTMyVJb&;R@2XQLiw2 z5;?V+{wtA9ztGP(nU5&r70|PbR``l`c=oIJ2BU^4X6{ylSA(%Czh|Nm;zJ5P=t!bBOUNxX_I!eE~tAIuk#L= z7J2uAem98hp>4vShJ@>_QPM6dh+faOI~nPp<=GnD4(vW)HCPT_?uVb$8GWVh2Z7jf9F2n?^(HNw$+?W zw03`Le_u=b3DSqn`$R7-U5tmXO{(WaZF%{cuNR)dli^J!QNq`SoDTS;Ov0o0!H8kL ztU4>Ks-F(RxA?Ddof-A4j}l;9)a zJBKIT&kHYYC1;B&xV4{T`~<&TCYDN1vGWbFaYR1{#3D-@_8j8Olm$uutU_M)JCp8v zT3*nfsu!p&VbLhoA6H~pEs?-?BzXR&9XaLyiMK4}8}MpS}by0be~f>2C2sKBbMS!27}fD7d!a zO0!qlu+ZzFH-0dwo@>X?sppR?S(mwk_7J(P(6jf%msjvk@bnP87u-m|rQZ*NPms?v z_tLJq9n^EzyspB0E1-0dpZOc?13Bt_7LtZb%3A>5Gp^?^XSSG9Vln^Ib$QF6XHV#L zT$RdeziROH;4-ZFm*i6qUI!j*j}q_}@Wt;=y2X0@4n8v)-Jd-m62Io71&iE1(l0`8 zu>VLq4}%wh|5q&=E0Hh%yV0k8B%fmV@+T*~-|rD#F40p( z5A!$heC`w1|3!Xn5AhN88xXoG2jjdv%Tj4R?UzH^t(Ebu^52v0B=`1_m&cd6$ozS9 z?H7kA<>~EVzB+FzPM?Agg6|5!$H4o+)wqHmSf$%B^S2&<;=HT?T=)~)u>^c)g8X9g ztrC9pc$Z$Ujkmjwh_xned{#3eDQ^qu7SF`{QIWS5ya@dNRo)=!+T3J$W8hoB`)q_K z^@}>|vbf@TOLtPf!l$t>dn#_;D(zYZo)7*5?s-p@sop2hY?*5rR+nd-fp)!ds}{bt zkKmJhTH(ufrsC{a@J{gD5WH9N55Wh)7iY%Hk@Ajd`8y(fiHo!DrNpuEF7FxQy|gLs zcX)_mW!+fP7kA?iz@?wqZC_IMsooWsFu$xO{RDhr@r&4b19F5uC~|6$6PyE=s#k3> zd-V37guheDGiS;rnQk}wPqVzIm$PBpR1eapLcRVt2>;^rDet);<%cg&Z6V1;pEJ9y_f_^u)-zsTNsbh_nA`f9kMUERP+&jH-$vNa)eUkcOkzHz7YAm%Sb!4<#N7h zMO41jYlL)*_nk^w$F-lOe}S9u_*Wh`dEkq{!^W`^=q1p1LBCV%h<>E~H80bMp7p7* z)~EK@4WwV3lk8Vor99xr`i0?B%HIiI9>U)XUK)ZAYWcx&rUE%*!jJyGC>2)mPHf(+ z&W)&z<;;JmzW)?XQDsF z{(){m)e*%mw!+_moR1p6`ruoQ9?mCC+&GsnFGTfTV=d(xgKrCb!EsXBJChBOHt>Az z6UQ$}SE%WU>B_)6Qlt~PYd?bC1idnA%DqJLRsB?+CO$VBFKw0dv(S5?kEWnYxrd?m z9~keq1)l-m37#hT>PzsPo%mnsbFg3pI&uzP+My6U7ks_oaeh-jL;)=It%9!(KGi=1 zeOS(kiTrx#HRPM9#}@D%q*L*S%%zso>Gcd;`9J6r(3eYp3;GqNyq{pq(smPF&l!Y2 zcmMc)Epo=dv%$BC{m0hdD_GFlY+COlDf&2i7!r^N{Y8jz;}Ts>aPmCKLoD@ z-wB>hw*DphXaes^;Fof?gRjn=3dFC$d48$+uR#1N{-_WBMd-Cx_v?`Ok>KMry|j%i z`aT1O8sMdUGoMHQ2T!>laPQgSsjMcL!%-&+T)|&4d|UFS+)GpW586)e)s`WERo}(s zNjtUrJiN$jLf-a6r`%J-A0+sr*!qv2f3e5-HZ8OmAC<88tLhm7q8K1?=(gDfg>UKaM|)KeLI2ogeDRCBHJ#cO1buA?eozUpl~RaU)Fb zFeopIV$6W09{$oJr=sg^!FHlf-s%f$ym5QGdS_eo)kXS7(wp=6qV%QCC?w45{rRe8 z{cvumzEnSvcDMT|&!?u`|K;BA*LAWp#FJM36A99<3*lSznW>cP7Zr>vyO8ss$Q-*M z>dW#?jx@+X&k~l%sYg!Dr^DkS(T|LOLeE5>_EVl5y;drl)SRBxJ$*&SWzl=>C!{|O zAiwT&r03qh1Rnuk2OjLN#o+cI$PfHH-Tp1IC#0X}KUrGv^GVZl23n2N|YJSmye+k|Mz6JgRe2`DU+ritw6a8ct_$d1Msql-Rlm}3?fl0an=#qb8 zx)E?GZ@#2c&z!`+&nuHaN9c*^3c#g&Vd?tSFnep+CKWTL_f%BL4V9>fh=H&oSc5*kgpgm@lgdmyHeY|@@e0V(na6( z&`Y6zUG$}WUY)gy_7N}TZIFwccKF)P2p=cKPP?J+f6_3``6OWyzjY)hzq+U;)7E~!`8zgJ%vU3LqlL*&hic3;*}@_IGr#%5oYVP zISHhUT+%)*FEd~HdiZ)n4)jjwJE0#d3G^lDdclXlPZUhsQ~p(+50rGn(2Z{-k0UeS z6QuKPSCR{V&MVk=2wn)j8$3Afl)zsG-f{WV|L=9{CP|On{iFc;62H(6z71U7k0tfe z`&?=qPW0QNhd%gMUoqwWR%FQYBJ7*_FRB;%2=w$T>Hj`mUO%g!WE6VlUzq=-po{$# zLZ3j7bfaK-^%P#0bEk=VdUhamlFj@=pRD2U&Y@*Ulyc))9XK? zmjcF(qB{I6<*@HNJ-+RW%&uteoKq5cRmjW!if&hx--S{CFZB9Z=+eHe&^tE7_se4N zPVn8>-!9Py-YU4Ss9u}*boe}Fm~>m#PbHmCn*rYl9<(FLKj$@%-{IcB1TO?n*Z(O{yA?h%se0hJx zUwnJYW&138Rd81fz8(Bjn=iD3J`=6ZzQoo~^|>R0iOa*!M5{COl1~%zM%&{3s^IP5 zyTKFva~JrQ?ec&5I@L}*q@L)SjyUl3+uyzxA-k>K>?mho>TAUr1%t9AERcrc} zLe_N>^dx75t_nXRc?MqVfKwlz(;Z)tfgvaB0@4>PCHCUFY+_$>MyBe_~(lClqz zu4dy@=sCtJ=r-em(CZo4YcM}-@%vIU77)-wLo+%=`%A7c-n5*vd8=Xyl1E#$lCPs#msEBF@Dr|PG@(6dRG zkBr1PLfJp`I?{hk=xRK=D6SvdL-+^iOQQ7n`APxw?a)7JzES~SdPjIUMX$BcH}+4t zpOE-p^@oIY%b5MDz&>M6Y6F&fbt7-xU&7ZTg+2(qEd{*_x{QD8e>~-WwupXTy)sy) zFkjAMZklBtN55aLf_VB}bk?9}`Ck91`Wxf-Yw`U<+P43*H321w4a${}Q|% zd=cdj`fb6xz>C0-@tOG)JL>~42bXcvAJ;0??>#&i*WP3Bjlx$ed>rkUH({B2Ygpvx z{2hCuJi&Ym!3)6`?V1YwF00ztRq^;)v3N}BLiAq^|L#}A?Nah-fWBiWSx>Ft+rbm{ z)G7SPJA$Qe^~z$y_Z4H zro3ly@A*-s7uKp{=VpYj7QQy*)JVpvAEG+bdX(@$CjM##QuN#kU;i6ZF55Zr@`}vu zQOB$;PSsz^_kR5PnBarpJHSnmqc2r|@a-XZ<}l+cc%t45z_C% zeE9@#1usp&r7WG`i@{TsyKfe{$Q^;cb1c~&?6PN}+}jDh2>ht16t6$`f{VTm3*ZIZ4>InFe!t1R{o9jt zpOY;lHkPHw@iH3GtNk|q8on^SO1l;edGvoo;Jpz!>bLm#O%wm8_^gZZeqR5TdQ~BB z`%HZKOTcTv+x|16P#q+f?zU8Jw1{Q2A`#yiqp1EjAbeHwbUCzt7V zSI0|+X((y==y)ydV*e9)6Zp?)yRa_YBIl~~xo%c?tiOeB|0?~Lkv@NF%FUJX=u70v z__qlBTJG)Zy>bNJ#k4f)56b1Y)pWoe@ayf!O+RKj$$xi&8zFcf_{7oEN$ocbJ_;Ue zKWU#C&7X+pyyMCLG#~yYdM^ZDM85d~hOAdrK;K1uKQ45ANj_`AN5PNxK|aObH-M*4 z6MyZ)mxS>n>D=`e$GRwd&ZQR2MP48BCah`qb?N*ud20MflGou_3&Nj+QX`0zJMUkt zCno4q^iT|537*RCtDyIzr^J3#3%(OPsBf{?Ch&aZeGC8Mt#$anx2ay7W$woG^{}Sw ztqcCf&nL_8178oGD1UgE{y@HWBi^33M2|~;jAF718nZpAcg_gw$?%`cy?=>*3&9s1 zJMH!_;LAtpx5u`Q3qN`Z5b_Gy1 z^mWUo-CHvG64RH8kCM){Y&pVO6aKrX$|I=yBX8Gf({8!giN2&9z2MoW>-wK0?-N)P zjrXN13`5U{eugNbEUVmll|YPzZ>xf>3vZc3#V?ufQvaIizE{4=-;+u%iP*RbR4&F z==B82znk>AS5GI!s{`QK;D^HFU&22U!Y}%>|LyVD2y;d3%&ET*UjV%ldD4vjrRon} z4t{_S@+o+g<`=W@FTraye})h8DR>ijDRR;i@OJRU;E8g&z>C0x_9$}tG=CyKtmOys zLilIEH?Ey__lo}g`AEd-)ANz?3|^_}PfSElg`=Ln^SMv-|3a_$2zu=-bSZy}roS)p z^(FXLaHDS8-RgsUiv4thw}GqYn_}x%E9J<}D%R4pS6h+6<8Lt!=LwPW&X9ihH>TYM z(w~@H$cwrC$Ux|M??JzY_Vwub=0uDx{kw$mrhMJB`<}!Z&wNhVaB$C*oyF*0Bfkpr zEW=k(!fvBJ)#cei3;9i4G41VBAYU$3fAIV(r`@@MelK`8_^#{Y?Lf*s06qks&wXM$ zNx8?M7pr}6Dlya2OU`6D2F!%l?cs2NX@bCB_ zpT+#ugG>2t5nQ!fbSyfBmRhciZe_+=ztMzEPA9#eumpS&cw)b;()>G|SOy}e7JTO> zZEu<+{jdqVe>3ea{IO>MPUk$T9453rC+=EBIp`XeF8GIjFzvoJhcBw%%F|5z2$0uV zFY#{pg``Xp3WlqfSK-R7ANVT!N6z{mO}iH(hJ2%E?N>5-DEl9yywJbk(Y^Pj^KL%* zD)lLWz8m`f0_dxN&nm_nJ{l+gZ);6e~T334>!YX_X@U4bV#reOA^2wnSZ_ytf z(a%=$=^!7qFNwVdpKG=jQZadsfPqQsCiXo5e}DV5TN@Hr#`YcbJB})?^zc_4c?uVK z1s@Q<-aGAf>-oVf>%p>*@eQ;d(p@~wOZ(L$uV&k{dz!_USbaE0q<%-rdJF;i(QOP4 z4U`7Ids_^mzi#BL`x*UM>_DAkK0CVSWzE3>a(GkthT+@t2;;x_kGTD=^P;L2zRW!| z)vjqb&*O{xz1AggO3tE>V)#mFx1GYL{0Hlxo8_G-o9qPrias8gZ68AHs0n$Mzl@JJ zrQO@X+ray{_xuD(@tz~$#Gdx(+Jj2@)%e#nt)8E@zkWirZ{(ZuAU4KN1%z)5xkZmo ztM?!Ic3;HvhhL+P`WT?HyS#DyD|}Z;{;HkuQ#u}6;}rm_^WJD%3`+(4xsOe|-_v^0 z`xV49(ypb}*_djuT}7=^Ka2+ zRP+JpqdTU(=j?=jJ9ORiB>fol?Z28<&qGVxYSu#6dK7xj1nv98wEI8YqaUx|U*`4u zDxhMJ ztnBY<-})3^8GLo{so#-{>tDQ=BygUq7QS77nGQWaEqZNXTq=Kh+Rd0x{qy4LpU}6I zUU_eUX&s*)s#krg#j~$rd0APdfx-bG23_Zw-1SAv9N!R$Q>|4>xMOsGUOJ)Sv1_FKLG+@O|9z2&{j=9U;E3@bC>rfoV(N`NEzveNniTfw0ngF($r-$=f*hqhgs-%{$M5>(oU7I zu^HDZCPSZ%?(HatD{=~_@wY?7Vd8IRmvbEE9x5k?r1i)tdVAV?u7mG#Nj+P@b9Ya> zQ&IWqEN4PF)o&=q6;NhGBDat9yZ$}xJ%=emxx~K=gV&7G{x)B{_+qow!Ve8fe6h(k zJ7|A@eL?thW{9W8rrko(cPy^vXUIG^x+-IZcSC2YfTc|M$8}tz`mEa5i`i^&-M-Rn z3$<8nDb>hpMPB8^wD%m!N69OdH!g&DfTbDdhQU(aG31XT|NGh=^!sv@k4c)B_nTI} z9h!r3{Hp$Yu`ic-ux>XUAH?b(^jSj@>o4KHPyzt&wW0>-zj^S z@-`9`gRurh%p46 z<$>rWdM^auvHy(wvdmM$^r7rr>w~db4(5jFUG;P+M+5TO4xI@d4~5GEMQXVs2W&JIMFyXdD@P&Re}d??L}wJn^pWr$qA}!W=ZEV<C253u@lCTz+LZ#ko9XpCT{MiWucb&A1O2@kQA?@qf~pFh3Scw~E8pyH#jaf{0q= z?KpeJ{feGP>is{}pH)n?QX;x4Grm8QkW1{Mll1A|m~qb#fbsG=kTJlp4Bt%Z&K+oIG*u5=ACwGKPK|lBCqIz8FyIQ^DU-Y zZ;JU*B~P`BJdJf}3U`SlZ#?QkUjKzLJ?QlSHGh`S4wuGsNwKT-l41C3zCPprN!Ld| zpOrBFaU?BbEoG=rjN4QsDf%jOBF4lwXX5s^q@S08XI~rc$D}{4WxQ&nyfVMDUtbjK zmnO?y;-+}+N944KeE7orR3Y?El$ys2LOtg9DDRlzd|f7?Zj z!xY}$1i!N3SZr1)r+cG|Ucg8(rF82}m)tJbBu_cp8dEkn*w4>OZ zky|~16niL{Lwjw+Pjc^HqK7Kv88^z#c&mokAFV5T%arj5zT1TFf8a~9 zuX9nGX9`ljlJtm?d((`&)aHxQnL35O*!HH-fL?p7g|Bq;jC-1A7o6o*`cma5R z2wno78-iDXXM^7%nc|hqTfN^2s0D8WPb_~E_?84*+C#>_jo=x?TlTMy)a`L$R%4p~ zjJY}HH;B}$4>{{v<^_|xv7G6*l<-pY=m|zlGGR z3i|fm8TFo8=&Yma_dB!TVqWEqOd`JlzKzI{aN55_ekls#zDhjAz$IlH;HpFTp{oj#M`y_blV_8OoB zo-!WPAA)~;9$!>kqR!6*;~Hksf0>sMn!xO>CpVG4O)wQu=-f0en+LAd^+AtU5-{wzaUx)&mKF$ca!dI@uT{Zdi8?$yglPyDY)v3 z*5wf$0964EQ~vCK&bVh%N&Cp;^2g?~TE|1C^{?#E3dF?$C0XnkcRsoz%QjhcJieC`wXGo{^np>KhHu+a4-_#pT$!2=yk+H(wi zXwF`@pqMYp-YP=k`f~mI%8qqNxV@=$L6KL+L}X~~UUz4%Coi~Gs^W4YE1Od`3Db1z zw`@GcVMH;~Pg{{!^XnVRW0)Ou3_Qstjkn-Ev*a!F*^m;v6|_>C^$;6Maiv|6 zaW=>@6@{TiLTrz)PVOt7sfoO;j8h$}_qr=2 zK6~geB{R6suAb>dz=kwpwsh;;EQu$^@X>vC(eD`L>sYhby@7i##)*qZ)KZq{H;;n> zi#P2}j9dJDS@S&Q9zt`5IEknqYe!!C9edqIWc!!+ z+b-}raP?dy`2^cb&m-%suSeorOAC;4j*-5@KPx8DOXReG?+C%Sg7+=nj#A&kY?K=eFvlpT-_)mLcftQIaRX~(&KaJAKAqD>uJOVM}_+cwH_n# zx{C1F zj2}ZId)=d$f7@5F`kSDegtf*p*@M{4SRd-wtRIE<4(;*8zPD1Yj`6+T`-S)}m)KV~ zc>2U%ca5|k_Sh`zY8x!-8c{E+kpAq=?!Epn0)P4BUiZ_Cqn>@8E^8uevY1c$eNE)% zFh0~=_@R3%a_t8QYLsksMvK-p2cl;$D5Jz@Wo&%+U-V(fEbsP>96bYI4f?Y9YXQp(kR1KYbbe5{X-Ytqgw2U36ZDCXy1s{O%- zz`x^zd9`LRJF8Un-Uw83`?xi+gVm2E#W~vw09T2VyRc4V_!U2Je zmwxD0N9CpLfAW5LYndI^1-wFvowOjY?eY)3-xJcm>*M{1dhBuc&)vPt@O=sTbvA5E_p5BRRyANo${ zON6ek5^@{U`^y*2=0c=y zeT;{@zU<{^|CVUcw@Han^m?)IjgfE1yfOD8?uAE>8?sW#L;!n$S4gfK$@o*m`5QFaflox7zgfnIa@%4$;}+|p+&*MF zn{4A9vkE_N@%?@Ix6$U`-SQ8)`+b_va_9Akab4t8!+2L0?#Qcvua7ueE#s#G{W9Wk zknNdBE1l+15%PlkBmII#^KP(TSkAvJ_R2Ik8QBbYhvn?Fj8`?daBqYV1SQ>T8GkUB z7{+6okh6?b8zat8#Q0f+R(?;HVZT-2wGILAEduvyc>g!de+xeYiT<_5Tb~#?Q z``^T`s2Ijew$mmQ4g@@)DGTqD>JHdWhhy9zgoiaDGmrI|sM;%VYTL+liZL1-w8yyM zDCaT^=sUC&YSpPT7xSguIn7w-F=hP^pQkwg%YKXISaFXSL6_pK1 zx&6>|{*!KOvraUOH!bJJeT;Ewj%~K{<9&>m=X6oKJNE(DF8^rfoB}>i>a>697+Xbm zFK7iG`MKv{y}@)gU@0aI{Cm^+p=FGjv{V>qBCq68zL`|43zl(U4->mp}1n#Rl09yg2DDNJ4wpEGlQe9+sAjeA5XyNm9a z!~OfxoT6!I;~OJuZ#IoFNq4(W_qhq%xjxO<=r|*Dj5f!4caE{maYpADI~?czImS-M z8J{Cv;reuAx8vNFZcI4Nz3Il=b3C#0*78~BTq90HCd?*C+2A7mRdw)6M`^Yt|2er*A>Zp(N@ zS9V?w(3$wH@9EZ>FTl=-GY~P}^dV`$|3sX<5o5Ei@cb`24@8Ww&fgF*eyzEVeIPP| zJNbLsrbt_c@%Qvik>6z)KbUJhnPF_3Tl}*OV{~pl_xH&bASx>={yA$gQ|Wg_Hf0&# z&$unJd!F%PrZqj!7|yhA%`%$j<#XRX?{Mz-=>EI#IH%3RJ?%D)2hD}N8+^O2Mfz&z zBD#$doN?Bc2-^xxx}*nC7utVU#Cg~>c1N6FnntH4WnLfI61l_loGwLLaG&*B?jw1| z<~$_z$Une&7xKBzx!P#b^_=^q;%5owd>Mx`1{@E|$sYS5hx7S~yxSwj#rxeCG3p)e zzAq_%qLXJ!{SUQ1ZV01zMDoZy+$kY!kYGZ6|NP+-40yW^v9^EQ7(c|h>*I!d$m2GF z!4YXUecWg*aK?`^+6#7~?d!!gwaLGq$-k%M9|8|~#k>Q4oZKJg8l&mX6LXD!?qhMk zbFRm*Ky3V2=bIFeMJrvj(~soKpB<+?&$xb{G>UNFK5{=GgUg@hI=3Bcyg%3Z^TEa+ zGvt2bJd69MvxQ}Bfpb%y(YmkPPw&?>=O=l_A7!h8qFi#_+xI;SXZ}Oa;BaDBD-uE0L9DDOg*>w1)|8a!zl4xtM{JZT4 z{{341y&?bh$Um|6y0RHRig4i2 zcv^qWqgy|yx-}z&DQ4DTI(J&e4=hi@N;$Fps$=zM8GlH3ev@tdMFx;J)1Br8M(11y z_(vJeLs`aq8LcK?UJ(7>BHg<++qpm6=*V`S%r<_oz`1LIlqV1O@q{TE8IsR7%h+x@ z4>C6E+%i7#Piwnv{8l={S>B>hMG7@c~QPwMEI`B|ScPJp-4W2qCF0y4F*+j7b*8abS6jK175CVGO*bA9r}SrM#^nAjJvttIC}Zfa7d{*L$AQK_ z4uJmS1DA69u7tUiE3?olp*u$HcK#>0=d|Rei18zxK@!VnU||A%mxPg?lzHhyM>3q= zs)6|ubFXfRycO}rR>|pzjJO)kFNWpL$kD%#7=Q7_h{0Xye3b%lBTD{=CjF>J$T}?R zHdbjFd(oWN4$nsxz7vr+N`1}RkI$73(e~q-Ayf30?;LBCdK~Ke5zHQzdEe*N@+lJU z(Fx{X#_&#oZ-^KV`j8mz*X}VfzDC{todaEeLvmUB;(Lb+F`)&&2`?n!1#H_7q7p- zaOXL%>~Fl2<@`FwxIahOAI@>wFEXB7==^P=@#6mZKe@>G)j`f9HO5PM&hE3B;yPpJ z7*8GIY+lXu&Y3yKxcj)S2vAp%vum~Sqfa@1JIDCPr<^~YV~l_Lhvwa@jXft^H|K$K zjDIh2TF)^aI@x*dRO5|PoJYj8)lTCDMt`+KHUE5pL%oMC zaBjHJc=JMGoW5`&$fFl6eDNaV-Wm~x0<(V@v0jZBe~@;1TQ^qbX?&4UOB}E$`R2$? z(&TSw50JUcy4W}e+Io+k{kCboXAueU^?TYZ)ZFxw$6w~pN9V5IccYF0k$BV*u>LLL zj5x+`2=E-^eoO8LM8b!*1@N{GLxQ7cdJVCF&NC<7c~LrmZ=uiYvhRQ4znm>|Xlf{T z&*9%s=Pcwqd4BTHPa4KMmh<==W3yxZc#iReWbumQaC=Xhz)z%|$o)-{>Jj-zqTGRf z?qBfEAx7K5oO|v+_%@UK?;YyV_Fr>-1V@RFWY|zXbEobA`&Tqdghn4%aUHj}Y0BZF zFw%LXqFXGd)iydThlB3~3vIS>i?6(J-}V2o_a@*`6>GQfu1>n`gdt6u*$^W`Lm~nq zG+_>djWQ^rMpR@HTINBa5kv)q#tB7*77>-nh>D;dh^VND5D_Pwq9Q6z5oh#hob|4E z*Q(u}&8MF8J?Gx<-v3XYXYaLFy{q0DcUA4`-JQnkmGuzIS*N~tzOv4Q8>y7JK;$;- z1fah0Onvklgbj+-p1ah(mR3djA#A0;ROhhoP)lpx(O0SaTUih0q|Iw(?Z|x}TM;EK zy-+>X(ux8;6Baxc*gJDaGF@U_Wx3wkN z=%u+ol69V0P1P3Nx!wh`$Dys=_eni}l;$nTuvVpe-_5Y@^UC!*UW^Ji9_76<)7o;B z_eH;Ti(jsH$&k24X0Eq5eYvNE+?l&u;7PO9Lp9e7vbJ=TkItUy^Hn;?(=wtV!~Rxj zU9Exo+8+5gt46OV>qF)!=Mm+7Bi%yJ_?}DhLmmmh7K0rDnPlIo(%YGF2&{RvJgNK0=H&NT9IkpDC@6B zxd>~x!n>&UqWWkY1nvz!;=%Qr`dWYV1+@-%teaJ>)gElkLHjm-W1>bFJ^{-MF#BHO(Zyx#BqC171uqY19});OTnHNnEI1=d=!o+*=JKUYU|^BUHJ zX>TLBez|d(2V`rLdLYurxMa6zl(p6@mDi`k%>?KckwNy(;wVfr=Q38JO0J=^BDgD#4krFx{H2V) zgYg55wcz%-8zE#K3}oE&jCDI=*$C)(4ho98CUq>F;Z!-f|9>3BN^YMd9*xRkh>=#Fo7((&gp z{%Xd5fchQ8eSa4J2#3`H|F_lv_TZd954J7;(|`ZF{r{))TkWs92C8eIx(2Fipt=UC zYoNLYs%xOS2C8eIx(2Fi;Qv20uw#IHIrq>1iU$6*{ovo&M-KYy_qwWYcS{^x6; z9rw43X6k+I2Vxpc&JNG1%1yYz!HhqW@%OpnKXB<^$DhXd?YKYRj{Eb*e_-uj$2Yn^ z!w2Yp9`kqDmA@jU`)Bd@G5%`C56r5XpB=9F2T%L!@nGKIzqaR{{@3=^e`7DQ|H;yy zl?LHw{I&lbe`Eg(&()^t8uKdr7f$AFgf2sx! zj;S6W|DS5G>daQHfoOIAty&?~>_1rpBQLD(U;oMatoBu11JyN9T?5rM@PDQTR!^v& zzy6aoy<_5E*XPJde{KIy=B3)#f4&CHZ`N!}({J1x{)~&i?Bef{%fAYhKb5ZIoBt`d zV!8gEHvKD1`0q|#bw9xm_S=8sK5u8E`JdqUmkjpb_rL!!RW1%QBlv-3`_F%-4#2-x z(SP{AV)AExC2R=O*S|Vt$$yiy|L_kk?7u@j_3u2H?-jI*>Tvo0aPo(LscQepzr>cm zacy<}P58(u+LQU&ApcWZXTI%Z();}no&N_WYdyXeVV6gHL%GP$9jfg=kzb+RRiCSC zpt=VBq6Pw^^?m#ol4?_R4gAMyU{B$H-QUVMzm*d!h?PVi{x^sG)hC9CVPb?>OpFp^ z#5gfQEFqQ>%ZTN~3SuSEC;uu-(kF(9VPb?>OpFp^#5gfQEFqQ>%ZTN~3SuSEhyO}q zr%wzK!^8-&m>4C-h;d?qSVAl%mJ!Q|6~s!S?^dQy3=zY`2(g$LCB}$xVuDygEG3o^ z%ZU}lN}_Ki(OpFp^#5gfQEFqQ>%ZTN~3SuSEcN^0uhKONegjh_B5@W`xAONnK~a$*IslIXjG=@Uc5Ffl?bCPs-dVw{*DmJmycWyEq~1+kLo zyOZe?L&PvKLM$dmi7{fFm>`xAONnK~a$*IslIUB_^ojVFo%VPTCPs+G#3(UFj1v>Y z5@IQ_j95;rAXXB6YnVPUL<|!n#A0HU7$e4s31SJclvqYACsq(EiN3W=pBN&Bi4kHk zF-nXP=TlzVkOac7t<$(h+$%cSWJu(W5hTyK`bGb63d9? z#0p|1(O1Isi6LT`7$FuDqr@07PD~I>h^53bVmYybSV{EV&Gd;OVwe~q789ey7%@&v z5KD-q#4=(zv4U7h^lf1J#1Jt|j1Y^7QDTf3Cnks`#8P4zv7A^ztR(vGVfw@nF-(jQ zi-}QUj2I^-h$X~QVi~cVSV62L`tD`=#1Jt|j1Y^7QDTf3Cnks`#8P4zv7A^ztR(vG zWBSApF-(jQi-}QUj2I^-h$X~QVi~cVSV62L`Zh9sVu%a#BgA52lo%t% zi3wr}v6NUwEGJeFD~Z0%OrIDchKUhkF)>Pv5#z)Jv4mJkEF+c^D~OduAO6#;z5XYL zh+$%cSWJu(W5hTyK`bGb63d9?#0p|1(f1(JCx(b&VuV;sj1ptSI59yiA(j%$h~>lz zVkOb{5Ys1yh+$%cSWJu(W5hTyK`bGb63d9?#0p|1(f1FgPYe;m#0asN7$wGtabkj4 zLM$bg5zC1c#7d%X3)3fth+$%cSWJu(W5hTyK`bGb63d9?#0p|1(YKZ96GOx>F+waR zMu{7 zVq%mSBgTmdVhOR7SVk--RuC(RzQ>t9F+>a#BgA52lo%t%i3wr}v6NUwEGJeFD~Y}* zm_9K?3=<>7Vq%mSBgTmdVhOR7SVk--RuC(Rz9*SJF+>a#BgA52lo%t%i3wr}v6NUw zEGJeFD~Y}xOrIDchKUhkF)>Pv5#z)Jv4mJkEF+c^D~Odu-&0JV7$Sy=5n?ehN{kWX z#00T~SV}A-mJ=(8l|4C-h;d?qSVAl%mJ!Q|6~s!S?`ft_3=zY` z2(g$LCB}$xVuDygEG3o^%ZU}lN}_KU(OpFp^#5gfQEFqQ>%ZTN~3SuSE zx0~q`L&PvKLM$dmi7{fFm>`xAONnK~a$*IslISaA`os`1OpFkViBV#V7$+u(CB#x< z8L^yLL98VDo?-gL5HU=Q5Q~XXVvHCkCWs}(QeqjgoLE7uB>MI+ePW0hCPs+G#3(UF zj1v>Y5@IQ_j95;rAXXB6&oX^th!`eDh{ePxF-D9N6T}i?DY1-LPOKnS5`BA_J~2cL z6C=c8Vw4yo#)%1H39*z|Ml2^*5G#qk=a@b*L<|!n#A0HU7$e4s31SJclvqYACsq(E ziN5EVJ~2cL6C=c8Vw4yo#)%1H39*z|Ml2^*5G#qk7nnXVL<|!n#A0HU7$e4s31SJc zlvqYACsq(EiM|(^J~2cL6C=c8Vw4yo#)%1H39*z|Ml2^*5G#qkmzX{=L<|!n#A0HU z7$e4s31SJclvqYACsq(EiN1YIpBN&Bi4kHkF-nXPr9^*B8G_(VlgpFj1l9+1hIrzN-QIm6Dx?7L|-}6Cx(b&VuV;s zj1ptSI59yiA(j%$h~>lzVkOb{2Gb{oh+$%cSWJu(W5hTyK`bGb63d9?#0p|1(f20P zCx(b&VuV;sj1ptSI59yiA(j%$h~>lzVkOb{7Skt&h+$%cSWJu(W5hTyK`bGb63d9? zMDt!!tX;cy?d_dUeM;d)@&=qN#Zu+JxJjc>D=7?ZA%tnp>-y;8&IHX!@PT)^FBlD`x&&4Aa6##fV`OeP4ZdfgZt?C<_*qs$xo(zE%_w!+I_X&_!~oR z-p@&pe@%V-B&|2~x{N%V_7WH0MsD8Z+~=Rom)w*uN?ywRl&JTgefUqSvZ`L*N|PStj! z-$`!rcfiFf$uDC3ai{6{)A)+i?eod&kJY@8 z{8aJ~`3!QC-#Ga(wBJQ;`o|9P9NG_%n>Wl4lfO^Ke@?o)WsLL_#H0(D7i`hMRHUB z2g&o9Ugmh6z9~;0Ii@xHuLrq_KbYLapF@5e^(8L;3c1Nog^T}8ZpvGKLe=(aPj2Ez z$W4D4>C(@2@f9wQlmD7jfbd8SvbpH}4h zdq$R3NIu)A9XvRzYI*mOoAQ3XATN#thzdjq+t-%aGk-yU)^ zetbl3)+5tq>+~;WdS8&6{?TrZwwwOco80ujGhIANZoYvvkKE*UJ-I30P8UB&-iG<9 zeW_00+<&df&Ha21xoMAaaUxN4|VYw zF20o9_*+jto#m^4xlYgcZ%=OY5%O`=Z*tjpx_G&Ze@1TRpZZtm^i2KsB{%*zlHbqt z&Yh?A_mZd2ugW)(e@XkQ1=>EByy2CaoAwTqoBnh%xhd~37oSFM^1sT(_mHn=dXpCF z^h|r+L2lZ6%OY*xMg1jl&CPg!y^F6WH|g&qZ_oIi#X7#pe|_>i+Qa0n$w#~F3&>6X zTt#lyi?5NJ@%d+Rvp&ndN~dq0e{#sp{TFue!Q`g?N0XcM=aL)$%Ut>r7vDy1#)G}& z=6-yO+>B2@lAH9huh#iD_jg-zqd%40=*N+p_E_fPJIJT9zS~`+{TsfT+_cvga+Cfm z*8;aEZ2?{f31uewe&7{S{oV^(S(?8h(T3 z7tp?wd@OmZrP^-#_ZQ@s(LUiuZC^xwnB3T>+@$RjY2QzN5&6KIwfzzihX|J4BI{uA(Ufy(v z=BEGeaPe2jP5=9b-1NVick1|thsaI;FLc?5xcDR&kGtZpAaBa@KI*bR@3Md8vRkWl z{!IL)G&=%)n{I4K4`G1t$T1U-Az*9=6)3?WVk4$jyH7 z_2dItfBVVJ{qPaF=?}H<*Z$0UtbqK5H0|Jr2dbu*@nBV+Lmp>(YhCs&E?(x+4}3`b zGx=RXZt}a9+~oIpa+BXf*C$WO?{tAZq_$* z$Zul#Yd)&|-9WyIye;|jT}K_J-sK8UIJ}ULGCL<;kl0 zf#j{IpW(8{UG_~bUQTYtqs$%Jzqx;!lbij?_T;8LyOEpvK9{_J`B_MA{BI*S{$C+C z{tuEH|DTZ?|Nf_R{*3?j`YCipUSLJb6!Ry=jlp zyEQlZ8RVutR=Mn(T=sGo|DD|Ar=U#xH~sHXa?}4lBRBo+`Dd!;=Us9$URry!-Q0f# zSq`Y9$i?LUUxwD$sX(;u!Q zH~HJ-ioe|zf4?jKN3Qt3=XCx|{u`2;{O=<-_4PBkDNn2Cb$nBv!Q{r@XmXR^h2*Bb zvtQ8hjlBc8sqYEoEm)sR$<DSJa3?XZ#5U&05# zzx(|3-~Ig4{rRN(^F{aPYwpj#+@E*3KVNcxp5y-f#{GGV`|}F-=L7Ejb@%@Fo1f_V zHRI#AwCO7R{Om6Ov%gN32d4k;R7raPr+WYVJzrUm2vqc^-RU8M*QIF}d+)eWue}O#M~lXOsWmzMp%L z`5nXj_WfL!$F%QIa#Q|UVV@9r1<-Tsh!zsJ3QbGIvhWv=|W_e)jYwh3Ur-a=2-$6cu`VNP+-prSyU3@9IneR7|o9Fo*S zz{S(Q(f*CTKDo(XH*%A|V)ECSzt-PYjo*XZ?9ctbwjVNq`8VZVNN)D?4!G=F-#!=NOm&%Uyhhi@Wy= z9-`g!x7WzcdMxvMT^^HOYw{wdKZ)GbU!2_d+dv+tzD=d}XZq`zHVwvKkEFN^8elbQ9GCZ@Ai}WyYyqo$Fn|O zBsb&dL6`n#7q9zM)%?2mbKK8c?){oJjBlQQ+|Og(XgALb?&lHrev12fdN1Q|X8Gp) ztn+K;p9HyizS%);o^L(BX}uZ0+mW08*M;2lzbWL#-wN{nO#cINvtJYbUHdowipY)r z8gk?R3Gxl}_n+RMi~dnHKmYE2*)&)De|P_Ejw}8`a?>9ZF1~@>8BZ*qT{C9?@*x)w ztEzVQ{*`-w%)Q^_e*SdtZ#_!?Ccn?S_`5EC*u~xZH6D-7?@es)W#p!RJx*@cPoI&8 zs1Ky+_-6cVPi~%f29lfn4ktJMu5sztlbiHkBtOXXHl^$I%>8nJ+&urJd$rxHcbd9* z5qU@Y`@8+j|LOg^e|Ntw#`2l_`Cf7}-tQte11VdXA)fT~!!Ji=Th?_>cwi{3$&=MU4QPza z-uWzEmbgG7-UaD{N%?q$L3HP_5It}SYQq-og`oTh(R1}7+OY)RfU!kiL-0#dBniXQ zo|X{3652~obQc_5$I$ZsV8oMs+P*UhpI9t zUO7VbGbUe8mO2Lak6rjLp!lb#bZazH=Y9e~t{RC=4_iPBY0ps1gEH*f3d8y z(P2~@7(0r!ov`ps?J6avIVEXIMNZ=*$qfdKzjG{kPcC!7BJ6qAd6R(LUnjN zN_MWg4!zEHxEhMP9Tf!OH{fQ1x~d5U@(T#^E!fm{XryYN0yj6RhBq;>PoVg*s>;;m zw@o44tv+s}^!=QTg=-@mP8oZ3fZ%zxssRNj!q_EMaPuMvURKM7aYQ&1#`97Isswp1 zSKZNJ?IB|(jB}HM#_FWm@NhsKgKnyBf?tlq{T=V|4+CME+b43~>hm(T7UjnzR>6nGxmiVQ4+ zb@dU7nfOh9PixP#)$maY>&_z-<>I4_XEUDh)SIw=~mlmnKU<23*yLK zSI>a?%DO_Tc@B*8MPTm6Gm24*-8=)ADr=DlZi8`cs)wVB;h~3T-gISMD}wDX?r{XB zKS#fZoBo~&2}`R!fZ{8cs9!^z4DWCa=cJP(Qup4`u&I2P99MWMUvV_LE2b|iAIC-X*Ru@9`L9pNK* zDij+%i$+5+7S`!U_-KgFqCJ~Dug`&EF|0QyeU#}`j_v}*1D>|0A|Lm_x;5$JQ&BWh z{#>L|>Up$=vLXmjFG2Bf($9BL1;h~eS?eEe2mN+W?st~f{{d}1nAj99eI2z-LI0#@ zI{K7793Pj|+GCP)vMm1`#Uesrz!ty);uT+v&V^FVwx@;zr zuSG37uV1o~BH92P zSt3?gPso6oHg43j916z3HZj#M<7L`}FHr^dNU{*NYm@d|d$>%Slyw2Ttw#7pu^lVE z^&F6EkCtguejS9K^AwCP93hawGHqJc^@#HUj9(ogkg+oDqQO|+sx%B)S#qQ#(GWvr z+Kj8pn8Ogv$BRUlupvguv{+Bnke&a&unb7G&au)inR=LUN5e8c)jG>coAVo{Ogrv8 zSQaO(4eVhu?TT-{vGgdp8n(N|Zf6d4E2CuEyq55850X1zdnPr$43cRJzImQ^|3TQk zaO{DWs6{xDF*5D?RjW9VdTU`}k3$zvi*l6=Z)qz=U|pa>Fm@Axt|G~K%IHSv{kzeT z)aj5-`ZK9sOV(G?xze_(%b;86Xt6xD!=F^k5q6&wo=mAq^u203ByaqgOlx!Pfj;e( z)(4QaFQEM~skiIm7<-&g`yhr#J(YplVG(U3?vNY=`Q*Ov`sJMCKi&jn%Q`xcUT`}e z>GQ;fyGzwq5}JOz8VcD6aVKV3`Px8?CX3A%42dh=k-JjI1gQqHrq3Q`( zUrQ>EXqVq`qorR^xgA;f6tbU_(xkIo_4;5u3{G8*E~&DzEUN_$oo!e4tX!4Y1BX|x zxfTw)KsNYKrTQ5reR;PHmUWL*!FWh#CgqzEhK?xDFzF>PV5YN0*F&)K2$3w~(jP9w zlGYae1A-@$A}KUH*`nvN8dCHo1Ro_uc5+AC&oJq^YUWFP{P-P;%m9k}sAMr5h{6lOTR>QDQ9A@Lh+uc?8J;O zd6Y@NLirBU*H2JbbxhGwD0x0fU!<?9>!8e!|((h1*Ca~xWV7xk2Fi|{gRPT?XU>%H`9f8TnOi?|i zF2@qVuA66}c>TXtJ*#HosnS+`4MnA+LUt#$L~dSJH{tfT1p#z~92`}9#1A8&I;gTA zWMW|`dLNRZHCb-eI-c+G5M@sc z%bkca_DJ4x?BzlZueZYPlVGoZhq+8&g=w!{t9{`9gE+}y&*xakKYxR=8lGUa2x24V zr!~qt!HS~&FlGhoR9X&84~||Yww<=kA6%Wn0#^Du_-{XWH{50~=wn&!yvLo^2JcU4SEN1T4yGro%faH4}mJ9YbI&%oriE%WU_h#4n9menJ6hVP%%6?cxQf&?XH;Q=vN5*AUb~mik4&Z%sam`8p!Uy$3k$t zh~`QZy$RMp?L&w1UVSafEd!~FKrrM8(MQrcH+C7Uti=*{A_TKUWLJmrWQ%T{i>cW5 zv=o9>M|hIK&Aaw)Z06Y+-wMG~Nl(nUY#Mp*Ui}A4w;zIvBSbRbdN+Qzke>d4phi6> zPqwFA^~%-A_yaxKBhz^>woVFU&4Fn^mImIZZoe6VUNFu~3jVF;%2hH!d7p1J6I0JM zaFR$mvO7g%<&_Q025Q&EP;7*CXHro$DLl5w9b%Rl~gQ2EGRl*c<_FruEchfng#2Uq(Yuf>_-&+oYGh|z=oV;*er~L-cvl=S7HD_w^nZ=!bizS(zl@6j>k4{vFEs@9KC;s!rQGS7vgchdTl#JB8cS1GkU{dh1*NmJ(7Q&oNURs`4Fh)lNgHup-#YS}YQ$ona-^~3CTi7C1q|1)y=JWe&+BTpl}1-48_Y3=<9 z28rUA=VT$wnf=6^(b(bH1!FC%$k()8E+)2N*oOACkUYx7)+BlyXiLeVr&&A9b0YP% zR(%nB0FEq)BlDac-cG6W5je#$*z;V#?o5<)R%#y1Hzp-vc+e7h@2S?px+$sX1_h@w z-$@UDiY_RLJ_Et4E>W&3yd3#Ey&1+5bqL0vstN*hl~Ws~8m?aCgqMxwOD>MALE>0v zrh&a+^^G~d14W%6=<{ETCd|a0X|JV*K`<^UvPbj=YCCQ*-?R(yIl@p$U_Jy_iAYx- z?H5(_vn;6$wFb5gjuVvpm~3QsX2aX?+>BOKPr?Xc#pVgu#C)D?0J0y0yIEXI; zwQtU$W0^^ngFb#iLnrZrAaTgC|7+t0-`%FyBx{f1>=KB zFH$dLb zC2C=>hkeg=TZe51Y4lusl=HoO#d_p@9n_nXF^22X%OK}_^}Y)s*ahRhBLp(W`CcE5 z8BTo+<2NGE?RdTRAOo21jqSff;6q3@4hn7+!7)n4K;K(;qS{omq|uIzF-wY^V~<=p z{@yVAbby?_{xgyRdYl`BfTjzPnIhkB;vr}cEq}V6-1%b|6SL06B@K}i0#ktncLuyYEkwxBlFRO+}v7&z5& zSK--F734fB=P-r~Rq)(AoLhIDjdQI$tdkY)opvp^Do@@lsE{pHYx7IU!NY3MHl59L zv5;!HP0iaP)L-LRJZ-idu0D_gl{dllBPxcRc$&4UtsZ|E{4u50A>dvdS!s_U9gBt? zN^M8re#a2VfH{zbQ=9$hY%Nby_dSdaEUT@m1Me-LQERbRoTk1(gdd$qR=d4v%96~T zaMK*U8-^+s#e%k2SE_t8 z4J@fu!5GXOs`bnqoLge3NvWCBU-|FW%u-Zwm6~}R0lRQyy#t@AHB*kj?;L}!nGc~c zHPd2Wm6|zwu+&TqSrrHYfMweAwqj6lI}T@ zxhg&9fDFe4i7ry=oipToXeiDFpIjj4y>-OeVXcJU+*LyMw~>%H?~wEId*po86LQ{w z8$;Dq>#)V$`ncBfEbI4D1V18K7;)w_>mOf8Uq}DOTM+}Y@rZWZV`G$c3GOxZj?sLO zjvf4~5o8q%SPpO4vbqz4aI>!=$ewngW#zSKI~;R$lLGYQ7ALGZ+pg!dCKKC(p4b!d zJk8S6nyj6wtQH+K^`|x2btP!W&xeXNkk;hqNuZtNgCtH;8>G#N^It+tCb23AYBjhT*8*&wW?PUGF zhesU^S<9+YIP-{V@=(7x>keyQM}ggk6P6>T%hg#3821es zR}nR9=3qbV8`1m|_CG|U+r+Nz21@oJT5Ry1MMn)=SXOf!DHV>)*rLtPET*UK5S${S z6i>NoAR52LwqJT6so^k=bp%+mbn6A%QvvCYa}Yj1)pjyIOlh0rUXg+khTC*zLfTTs17+wc?QOv*dkq>H<ve$F}8R@-TNH-z!u1Mh*aMUc8-ysl}PSo zHRvAZXFn7bE)_NwK8NakHCzVjUt#rQ0H|8>K^SOSe5pF#21PEc9g+$ZDCL0^&!V3! zgtk(7E`_!~bj3-n-F@4iX}u?{()#q>DB{J(W4&=MX5sXV*lH;AmtnG2`Q@3oYx75T z!#X7YMRa6;{^BJVx$@sa56a7L`vVG#c#Df*&zS$R#Je>r@e&(x59V*dc$A)hDIN;^ z`DbC*AfQN`B<;DXm&Cv0V>~6Qp$H!@HYvY;iqg&5Kouf5 zWBuYRe)zTk^m z1RFIOTfWCcZI|T`Y+t9^TXuwf+iHCBV%z|F8=?I*)_TB^Mtmi-wo|MaY7y)PrdIM}8hVJ~ldo3biU26Yu|H;COXB=Ub{8sdL( zVSo1K4X|xa#?MtAJm6&NF81jnoU_Q3cR3_m-@z!pTnh?s|vj1$!yud;6J4OLw{;2w>` zaq%Rkj*RZ=u&i57fT6o%3`hjHsDW`k<7Bmbnx%7bHWb4h6-J7ae}-U?`g#of&wyc` zW7N55teRsvkTFD^whoCTU|pM3*iXcbRmVC|oUQtl!N)dOcexaeRGTmq!_>zptHe?7 zLh-Svbgyotw%q~2C^e@B1%JTkYn>u^0qcW|IjT06Zg!jI!Pqh>Xsm8W>KRw4&uSu@ z-C;OIj8(eD*%;w67O5YOVv}6}#e`HB@8O-8jBC`M3CQ6*7_LjYuqWe2>et;!WU2ZD z#j$fy0>%BQE*d-pK|*c!!Nt=syp(hy5zr!|F==GnrrJJZ`acwhlP(&m!PpkcSgn?s z8zd8>a~&Mc4KTes1RK;3V^PwUFq|mHDkZ(+G$=MHA66*3=c{fy#J4$;~E_t#TrSn(P9Xx?FJBmD6eE(-r^tN7SHK`a$^=$B~9WULEm)#b# zEe@S2yNlOR7Y8AWbA9nZdTJFC^tBbCvMy4tDu>?oH&ezz-% z9q&(1(gG-{?JIiBF?RAt*}itc&qsgli;?s2#ME)}TZMLHza3e%!(KlQ7B`u^M6qXM zQ}D$Z%IY}Pceh=N3_EfUMC_l84DXV~&RIxh`uQccFw+)Z2+<`;p`8lV*(bp5#kDuv z>Ke9sIh1RXYI{)VqVBi}Zf9;?!x_;NsA-FLLintRUv7Y6A^AO*!{MxV;1&&3%hpuD z{%g`MHkp!1Gd-O;j#SR@@o6HUE6u>s_J2Z(lJN9@Sg3q zj_vk4xXf(t6s>AzEyg)c%|d=b{K*)$2p-h(SBzC`6i{ zjF_wdX;pjf)BUTfdLK)Xj!_l6!)~~`cI-P5^T~fH_KjHFb)2mhUTep$XUBdAF@O6P zVs}%CQ;_yesvj0zC~|!}b^{Dbsdt5)^<;6e%PF#^Iqj5{7j7y;Vv{l~#>10WohPFs zJ}>EY7U+~H3W~kHv?hD6#ppOy)0$~b&cM1UJZ-Hl#!f<$i(s9uN8N__a7FxvLuw6j zalhn55>Wc%&id-IsSvkRPr&e;W8?sut0v*r3g>$lA;Ljezi<>fdak`A5N>K@ha&q%~q-4P@yw5-H3Pnq|Q4Xuliz{HULMKRK9HJ*x_B( zFoex=!tL8Uk0>>fWJ4Uf9C}>tq0Ym$ zOsAXUgSd`7UIaRG=!QFxFR#BB!hCXx4|pY`lO|v@H?1)ILs!en`wH2XrB9RlYAdU- zi-g&uLHnygyUW5nt=Uz+v?dMeVKvx8^QGYbL}x54VpD*>h$o0bdmV|i0#*;1XeO?FrLAy~XB1O=!NlcP+6o6fEK87& zOf;mXV_bhfW29pcv-4+CldrTD4tfMz6Dm(^l1Xi=ucT26&r~NMyby=3D0Fr^yjY!r zu<=fKK-y8Cq~?+<0QC6FUWSL^eec3o7NxEiAkx(mF;^Juaj}nh2@{!ZUklqkNqeq( z65~?gsLumXKY{R<#HL%#NfaY&O>CePUbt}tit-T@hm)!ZS`Eq6#|A>-6io;2Ri!a|s%#&NsnB;>pKZ8TE0KHpQVUL*ESzR6}&9!W9b( zDC!EqKoKQxnShMfNbh?zUg63=Mj*XWP)ts$?7GWU9q_y#9e`u^fAF^ZJ`humm(c`y&i$o$E~Lj)}J9RxG$1 z%cV@TPhqC%e6(zLVSo#Mj=JxhBfjOy^tBDJHTlA}H7v5f``S4eovm;CG<7v(dZg%O zfBCg@a5HAZG_^*;?V+N#l7u_gPgDOu*poQ2zJWIt_yK1ORq}3Q=LYL={tW?X>MbZf zcB$%XAIGRl80sL`bRh)@NWS$QYgbtVB|A%B+y;_%o@Sv7k^UuAo*f@Yn> zvUd<+zwl>#2;L`FgIjjnVS75&z83pFHBWv4drWqJIRM*-srF~jhkf8sY-rf_Utvo_ z!jAvit6(4eLx0+HU~86YzZN$@%`?BkgNhx$8*H+};lv++t%928jJkp84}!UUP$ zVFtdTm47_W_46B`FE+?;eKAJd{4b7IR-^o_Scf*w?}6d<==`HF*5~AxVZGBNfBo&s z%FXYIwb3#8&tuh=mmjzX&-wX3mEsQ0?~P5IX8BtiD66^EbQ30$qRg}6y^-ciL1dRp zP%HQ|MwZNRm_F_M`Qi6q8?RYraKT)#336x3-Mx4v*hJI;Si@j{+`5^Q^)fmq*zFD2 zrfAk$FA*|_evbVMiL4eBnHyiv^_fFotcm;KRtXjXmk60dy?%%wJ0}p>)iR{<3`L&{w`e-uswn zI<*FB&Y4JUTK8kve}}<-0gf!GTUi%NRcFT341`@O;r4E`37?~`L)e2(c*;^)${moJ z*C*DCj24;k=KXoMJ&%}r;;5@+AjrIS^itlapQM;%49Hx1bb=-ivSwn*?Vq`Pkk;y6vx!p9?CNB*^isV9!hi;a8q6f zjZbbnuV2nhSG2}#llf@#zWBDiKeJ*d%#kglkz&P8)JNpoe56nz9nT83l(zmr>QpA9 z6NG)JnLil7VkYzB;V0SMwck2h)3Cl0@0r_`7Yl=$II_k-piGzBeQSMoo0hPpu46NI z55gma>LJ0B4JXF4t=Vmcn;2C(>F#frp|{O3(M(*s%k3`T#JI~%T+>N+e=r=WZ8Xui zj?LWNdNK3&yoq5_lXYz7?x(Qvst%cG+Qu?JqkclT7qzO(9GHNTTODz(Y1mT>bm=6GAywIF0=U`PZBomJuf=!sV4%Y6?>SkCSgDcFP7-etK?SBaR`OK` zv32RAE`wpAV>IC>spSY;RgdQiy|@m%aaheM-hXMP2$D z;tpE$wjD3sj(2)8&drhlIKB}jf+_2tVh?G`YzNXY8$u;7l@y$FOb%2xBKY>IDhQ(Mko95L zG=tzF7@u$n@Hx8_{e&iXB#FXf0CimsjZZ>z>`Sj-U(4C+za81e2qO}GDTU4PXCgbk zCvlm5;5UprE!ti_z{tW0NnM%ugGN5XId>lfZ-~gQ2=jhWy=KaiuB*O==@-YW zXC3_x(V8(YSeD!aDtHPWm~f<)%e)_SbrU)&grKj8k`<23==Xz$kEN&cAsFxSWZnQ&ig^uRme?WSO>cl&ig?p7qMj~ zKrvlZx@DaAgEHTRi^VY9EJl4F*gf2NKS-)k-2>~RRTaA2&ig@K<}jt#AUh~h-8Oc) zo%e&LqMM6*^)nPc^r2Lh^L|jHT~Oq}+Da5UQ?{SRith)#{}2>CU_CRbkhOrm?N|W5 zA2j@EG|2?$Vo9yteK~Gn9x-}{-sd)bbwsu_}7?#^xLoz*7fKI!L#2uV2@CF zgPjpdF8}2bN|ri*F+#l?!W#8-6!F-BcsmtG)_h@s#W*`7)WU1b2-OdYGmcv!Cx#Z9&!QRu3Yj5s6I4=qHy9J*DGH)n)8P)m#t!SJ+WOsQ`32IF{a2uVwL z)H{%UT2<3<7BTTnDX5Ga(LiPF(znCPNt*}2O8r>##ZJQD5%UN`^ zAA$;(BQrv6D^l9i9}v{QR&c5(GeW(3B6@8ej4d63GeSLkCv4pi-Y3=BhTHDxsxN* z>FfhB$QFoH-wbxSoe^r$8s=ve6dPPBXM`Gs)v$U3*1e+8nX>&jBh>x)fI%IEwKA#r zvk~eIEWlJvj2{hg(3{MEs>%{n*7aV$49i~sSm=HFQc9KMk4Zpp`%=bpuV2nN{v{Hu1LQKte}@Uk{%kmk zP|&@6h|>fcQNVQF1P3HkKLyBm;55Peh<*r1)*%RzP4Lkxm`)L_6oPBv$ofj`fe&zY zn&6v>%GxZV5JKB0MUn%EbQ64wZ718)0E7+`k)4umf}ccbnqXrYTun#Ff}~2a9r#15 zbQ27j3DqqKSyxpBH~J~y3G7~}Z7}X~3D5*m^pqyZv41Jj>zCjh`|S0vLxH^h?-19g zFQtSze(xCw*p18VIm^-fE!xgL+nHEJ_b*SZQlh_@SbwggEOD*oAi+3}tSf{C7UAqn ztWRTWS@P^rtD)GKR7oJFF#XklQ{EHBPFUX*#ZudkD0JORMx2TDn}#yoeFfe3jyGpw zO<)!0Q8ms)J>X!597oR5{|QX@dSVSj*1M|InON_>T$~Msb%dixPOQ@qHY+up6YEt7 zTkeFrC)N^J9&)UKgw&OpSX-aS;qo~MUJ;R95oTij6`7X)sy>6M(lP6inG>rQk7LsD zRqeCzMRgo0Re*HtRsDtw_Tpt65uFG@PZ1?6+=w>IOMbSep%9F5c`_60=@a2)HjMKe zfitn5i)~%C9O0`{ZF*wO#KyaN5aEwIHeC!ev9@jr$FIQnVO2qZH>{pm&;Nya{1vLS zVpH1W#9DkW1x;YgcLdstGqH9Yfy8>kI>4oHCRVS9Ei)DhdDD(9<4ml--2fL0V7NZ% zLb@H^m*rOjT4Q`y>tWqmRiVr6OsvnY;Kce8WN(X9w~bwHXJS2Y6II_sq0om?RnEkE zLJb%jz}id{`sTF#I1_6P?CGe^u%4Dw$bF%2I~IUT{|?{7+gRwPC$)C>=+S@U6-s+L1%h)$ zWT&L7!ha6jnbH5*xo|ZVig`(uWIIq>tMuqU{Y|KrBX~_!l{5O!%tPgu!no5VK!r-t zQ$~NUe?J0z5{h4z!@ZGX2YCGwl4GB}e)-y$*Pn(w`1GX|ImcgD0-m-n<@;h@znpXY z$4Rgbkjor@Hxtl0jDbeg#70*GH5*TlH7;H72EKA0LvhAHGZ9DDJ8}cV{yjeTtTFFK zY*vlHvx-^>+qJ3op7+2W4`TmEwo}!5*zQZ(8>t&FgZ~fIc5D_b>H`P6VSGMSu=Xwp zeo<{d=B9iFj9-f2QIT8C)w-*Y!XN797I6QE6H|YDZTaLwTi+FEJFoqteyyTA@EwzG zjRv7``L*9fc>esEh?t*tD~9^~HmBf|+WgkYQ+odJ{fLBUXFw{?Rk$23mr-2ervPzj z&%(2D!QUUq?uyDtuXpO{=V7|N7W*{y2Fo2J(`|hvwt7RW!R#CO?Cyfp`sYXa|AOxI|m^ zxdWoHuVPr1GN^V4?c|88{;CVIs8k;bvUA6&3k8=#dj03a;*-l9|2T8mbS|nt5I#DA zfZ(3#conXRT%ycDx%I-i`VB%qqEAM+*RN|*UvCmG@)BHj@l^bzQTGl$>=p%U7U8YA zPOQ1$?T>;v?~iAplXdSbBb0nDfBziVx@ct}*b}=&-R09u*y>u@0~er-1>HNJ?+h|h zn_OZ_`8dc(ft*36FETIyN7hM*mKdh9>)i^Cr ziX;aR=|LutPfwd5cv3`mN_vnf7Nr?vx?cxZuR-x~QYG0A4AUw-$oz68+U#d2dpvZ_eEL$#mg65S0j+SEy%MQlaalgf zSzL+_gkc%O3R`6dA)EmGlB1I^picW!eaoPYzvI|CG8ii_2n6 z^^#513WByGvMa(YE^A_?Bt2F2gXs*%Y!{E3HNRxSg=i+iK1(z@ot|)uboAo#9?TWC zqook65>c|kjc9Wg_Cak=TOoK#L@A!k;_|uq=-cHmzT*hct-JM-edQqvwr>&sQ>slb zE>~d|P_;*5?S-SNWBt9;J-rdREsRA~1p(fwdU3gAH}iN7R3jZ_a&b8uIk5{d2gbM~ z&|aLy<*wGq%_>+oxD?LfG6VB*PYbG@P&_Lt-7?PNvh}UV?|U$OF2Iqvc#LhL^&SeN=?HJu9US&kp;WOXYxag`d2po^SfHhlX5 zV`tlwX}h16V+DwUTiN@NB9%e2U1A(7HG%vb%s;e#~8|w5Q`C=piCI zC4EO81b3DngBKzHXCP!uQYG0ARA`l6er)Im)og?;s;Y99ANW!&KL3NU#3jIeEk#dR zet7*)K;x6p9Q!iIFV|kb+(=&k+hWw0Qp_Cx7ZPwcF0+qnW64TnB)Tep0Yh}S;r_Kx zxTRQsu@c!b0Y5<|cflwun~B zqL^j-5ru95$q3d53o$~qIIEvB+OzO(4L^j^WLFOR{ z9ubjU5oRTFbW>$Xr&TY*^p0cJLkzdMMs84+^nUd{>_ho)8Rhc`_@J;L{L{gz-X0;H*Rz%X95qgkPCz(<_lpOmB^lx zkXQ)T_AZ695;^oXTV@~>XNXF-jI$ESxfcZ*55vr)3%kypmB=-IrI76uscsuP$IeRR;+r{MAAsVJOXaLYcK(7Se}^>_y{u}<`3d)B7bDwwu!fV0 zoz88?0&tsa5W1fl2;I=6*6zL>u`u$;gzdG@IsS{F^63D%%<*5D447vRU&|ywE}PzS z0iKoXpYtvP^rGZENgCsnUX%>G!e(5QoUa)dCBrqVX*E5#%Cb(bKWg(tIGKR{RsRCL zO>YGc=7EjT%pc6cVxs<7kzs5Lwr>DiRNEQ`7p(>xr(Na+zh4ODc+Hvz@4f}L37WME z7GmX6f1+lsgF}7=o1|I0VChn@DLw5>cL*L+4{WMtg~5v-2Aif?w_psps6Sn^qF|3f zNa3PgcD%l*$Xih#Ucb~z(>2(f7}_vb-h>X$M&TMZl^{0sIleAx&v>|g}z)SWs=t@`vZJ*+-f$U4Y z26{n4^{0G~N%t`C`aJ_bFN&|XAV{u(Zrq@()d*If;Pg+izbE#$9SmZ~GC2ZU)JSvl0q)6zzM^RXE<9mC&VUit$$%YQZHl zA20Lj7thOYQ;n2kbTQ_?A)y zW|6ZYdIlXehoGH^k`-=5o7>|~w>_N#fqd6A)stBX_0K?36JVU~2%MEr8ty(7NBELd zn_da|Wd>f0@J)_Q7sITCiX`&WFuqn*5a7M5_hcR%#5{fp)pw3Exf1I39R;=VXx$hG z3t@Y4RzkZAkXSodySWt3N@#0mwoEY;=Zi|WjI$E*7N9^E!*E5?h26uQl~5ZG5?Kyw zNmYd|x3dy@FP$mvfb4mZ>b9|S?5u>mXku}%Dxmn*rE*q6z0QWhj~-SRN7a&ZCA1Gy zr7D26D5;R?LEm;P09Qhl^6XX&-RPv&?!FwiF!KC@YQzh`d+`~4148+oZ2d;9g32)i^@Rcr_a5f>T$c6kdOAh?)-ZT2@|<1@~bF8#sBq z)#Ki?m852+4V-+5!vgs2!-c0~?pt`*Tl|gW^ALG7jx32ObJ9&KVPEtNzKJXz)TOX3 zNVTsx1@?F;Rx`H!HrUpt+KaFe(PMFAjMnm#73wkAcBb0%=fZwf>;FaBdk02UMD71O zyGd9|*p;Ov*%VqrCm<#CgaktGO7FdQK|w^CfK(O1hKLA=0xI?{_Flk_1w=qV5yjqq zpEEP}-c8_rfA9B?yE`+_bI$Z~&&<8IK0}A#pMxFs@bc=fmf$P@d4@Jlu=2Bq zq9Tz)P;FLyu;1cUUHm9@4L)Hg`1R8kTfCi%OLXAJCxNfNWVOXd3O>7(Q_L1$a}Qc{ z{EG#Dl(KR9^qsP#So>HtihdK=-CUukrR;Pn88L1V!n(9A5FQ77sThG($2>5WW+Vu7U6YbWsh#G)NnAoWANOv@(|^NnXt3%DP=wQb}`&^oC$P3KMbF5Nf+( zbnd7{aa*aM?UT42x-JRkAXp=Xsq+9{Q|jlQnq)%b^T8H-cx#n841Cwlj@+NCn*=b) z)+uto5FkzTLBIqlL!P6geB*=Sjs{f+PfT0}>qvMH7vpJ_ za+?`@nkrGK#sJK8K|9yAQ0K3Mk`rvl%Rjl~i51Ph5#|Ax?X^%d+8m&$W1a=`lSi|- zZLWG{F(@|wt5>mNk+Gi0@G{qGqqlAuNALEr2}<;8Ln zD!e=+T;V_BYddkP7A~QMA3^ZViwXZDRnlDb$U~&vUki2Cbp5K6(9e4!Ixj8M^kWbU zR2$AJrD<|Wt-k^-Aj)ORf#-uXul-t#h0_hMl;*XDQy@H@ZzBFOg1%1AkYdWTwC0Qe zpXqXn6ie#>#nQE-48FX~NVC_$yiM4qiRol^QeCcx*!@nD4>3^_A9hJBV5{aUUv6?< z<^mS5+Zr;w40w#HVu<#qK2ev^XrOduc`7S)@ZER^U8B8a{Hb+6#yc3jpkaS%-`kKK zV#t;KsY8c=4il~ZY8n32-`H+W9&Wrf{i)RtgN`uXY=7!>W~=0p(mMUsa{LvQq$#;T z4Zn(24_BxzYE)R#6&4v5h*gBqUM&V)=Q3>PsHAoz7r#qNbZ91u*=eV7*XzG z#7^!sm3q;nw;>#IN#Gfh#?D8v-)j7Ou=BC_VCP zR}xT*@a$OZ3+AEZ?!GEu?FsK1i`7^I)?@EZ+SCZb$9q^MRf}07x#ylfc8tCjY(*@- zMJllOJGbz#3&o`F0^1dfH)Q@y?$drNEluzjz+Q{RufQ;o+;>kM7FmKH0XrFsM;n1( z_UF6C$f*>i8{`T#l49mf0qqWfUtX87L?ubMsW_=v87yURbbfPy6C|MAuQIMAkL|mV z2H2eOA$f^N=?1vF49Q(;yg@!Tyrw_!#7ATfTL5Q?L?Lo=Vk3Gp*rYY2TWu!%P7kZ3 z(uSdDa*+0`r?$tzo{PoTTn#>D$_87kpMZVk;c4oewBBiJ9zpkc!hKge@jA2bHEkhG zUvm&b1;D6FAYuKbC(P)z1gs(9IUdFvpF_yamJjCY`sxMNKNj!Dn2<1k69e%1|fpCkTJIBs$4gjLXRjmU54x6IhPQNaC`!!nC~?{OT61Z2}vCHTUrD zN-973I=?D(1H)3?(oS0QU+!LpAeFr4cHkQ7Rp~XiWYIHpWHr>`TamtfD)p*cK^OIA zA^~^3g;EukAfK=5^qHW!)!wCmA`K~y+^nMn)4U>+*)7ejX?$^!okv)r*D}7Kex+h= zZR0Bw*>VlcI>r}{q?dqMSCYW7m&nHDVD$`EIr94{u=>UqjeN(fm)pSjG9s-P!?gRL z)g$d$>*qE!Sk1`Gt6(-VI_pNB9tn1-!LlRY4Z+vg_!>vL-vP6U@#RG7vqZ>kYJ9CC z+vvWz_UKM-WJw`%&5h22$c8t;?9rW$k*lu)YiZ=VM)J6|%57zQJ$+Tbpt<+W&HIBQ z%aD?%uv8Nzp}8H@IYL7MF6Yr^xQ-1>2aBx+^uQe-X+AFN1XbJSl#YoR1D>S=ynce(De>et($v|Bdb zHZf*Q%{~Rwcde`WC_b~I5*Ks#7AA(gg3L!z><=eskyPl_T@g6@wvy@&CoX63@`uZ6 zP9At~mlM8XIcjBug53poUYDEmwZ@QUPlGwXC>vskX(+GT-#=+$SQ9rx+U^ne&`Tix zNaN4zQJEo>_%G4K7a+ZT0rAhiMBOL&uO^n$#8Z%d^@y_KVr7%hsF&AwRC{~R<_||S zxzb_`dR(FBE0I@X?(sVcFJE?-&UtywX$js=IJ&Cf{Id&P{pXk0kyg;0Vc?ToPPpk! zIvbiea9mBTtfD5afV8D3(Oc!B`~E!QAN*2^)?G=9JO%yLq9PEF-Ue~#SrSbVRo28~ zkbd-tEiX}$^Glec^M)@?=7Bl_ASY?^B@FVFxooalsKk*d94SYx+md*A$(q+3POk7w z3AIo+u7)@I(8oOGN4>*K(Yz6GrnvgdWMj!=KWnOdAq?-3qnf-H;;pVyhkPY#g}m`~ zxsj7T2RT)fpMrS6C6o0=4M@Snm7Mg4lcqUefgcx+siQP?IYU<7l#CPT`HS#NmO5Bi z`l_BXoR=8ABVFyv=5bInp*8ZT2Pg<8j$?x%EX6{x&g;+qG-GuJ;& z_vk^ex|yGCf-e+2Jd!yo zD~0Kp>yL0yMkSEAN?evD$quhGEMu+@a8s`8!pJGgLe1E_<Fc0;bI%lNoi}O_tJi#HP=*%75X!jb6**!Yvs3ne>Io!d%nt%yazmHM&v$9HoDM6UNbW97JN&Lmh4`m*!OXKIgy%| zfGsyzZe;YOp08u%+9UW@n{CFPdTA0}YjpP43!LZ%lj_0F%LId}*(i$4u}`GNVWNo^ z7?Co8-m57Wy&-WW9W>h22v-iIw&6Y}+D#@Wf3;{JwN!n)-HkUjklKMh8tq|}WbmC6 z+C_Aryz7a5Er048;vMv}_Hwr;@1u;`cVp)GQ+qOkMu(V)TKQ8y8;W=6@0y&;t3afF zm727I{SU5?9v{R10<+T~@9m2Ae&JKH!$1*G8(`ewu_O@I4fSA+xU!8gLiyEWFh2HJ z60K|z<)mZ!Ue=rG2L5t(|lLgyAj;{NTMPc=ju9Kt(`Z3ARXZr@V$& zK>o#L&w*_uT)r`GQ(z;=mG1l6i=*rv?voH+h*j{^3?g{@qa7&ti14GH0=pi4iq(Jg z&|gsqtZ;Q+|ASP4g^P{pvim4P{bS>-n~TnmN6=MA0IB*=n+V+`x{_)k_~*ZL_8Gi8 z*k!S}mjC)Ri!9x0rh?58Tn_;hik3h2ZfA?H1=|>l2bmqC-_^U+uI2ZFJtDYMXoEAs ze|RLBw7o(2N3N_{JEf@(%+k@H$1$<0(}2GfBUDnYScOJ^U-hAF#$g7wN?dLX*EB=H zKQ)e{pf2G#f|&vA0M*DITGi1g;OWVaY!B`YV}Q%z9O*4TprM31#F($90nB&7undu? zxV0TB%Bb>_e7-8QHnkDP?ZPtIw1i94NN!F^5(HCC}x)Hww;WL+H1_RM&+CU%meiAbIs`YT2aDP}YJJjFEB(kh9 z8Sn-XUmsQV7$R4zq4XGCp8jx29aRJ9OobPvDEhSADnN#Sr1z&wxq)Kp?p zy+OwdBSY&EhACP}2wZbeGw)_Oi@6ZqGFKa*EGBCVsoq1t+W_u&!I)nK~XBoWa(OC%J$cVaT4^b%kYjT_%`qoEH0C4!tL>d%7oQ$!`qb|*ylHkTy+)Dau+sj)gDi{jg~5FezgUBw{T3I=+br$ zY7S;4A**HeB7}E~DYB$}C-1eIPC__eOp|jw;qwrEzT^$m6PGOr=aG@}1;kK;@Vc>> zIiAqCC31O$cXKh54d-|Q%Tk{j2{@}LA#Cqe%<+WUH`+9=hIOOMWK^>UH9NEV(#5d{ z@Clb-w7AC;0^Ap=cR@cd#&C}(+()O@z4;dye+$dhjC(v`Iz}*6?nb72uGlhnk0(qW zM2;GRwlB&s`F4*d+%nn5Gz{7#p_}RsUt0*_<+a8mpj4sk?Y9=@l{%Ggd`9r72&^RVj?y za*Nd+vs23alFZu-O_BE}z`WWVQ|uY}^a*?m`_Xp%)%r&YxS3D6#%LKIS;`H5$|B>N ztnIxiON?)N#U24Q|qxn6ww{rMAS;aw-QT%a27 z&wn`%?|Oss{`}u6p>~7u^8WnMbMf9_yu3d@?LWLX8t+Z2iIM_H*{J$Z0HG=}NtxRc z$#+;XXtwfM_jhFSNqO^?@jTjl8P&H6f$)R47)Qh=m-2ZIv!od5)ZIY4Mc+3<1pj;i z_|b=I+3D;>us34yt?R%~%-Ch;&~Ly_#p1)_!OslMvhsnOIRwn*>L1^cq@4?Fvv@VI z+8&;ymefF=fgbCkPGA9G7mtvvYGSELNl^W$NHqdrih$By>`8_s)mMtCvDzB&V4}|%BYzQm~Yb%+y%JLBP6SS(q_u5LMltW4Dh~yMdFwgf{~=gH?_$;4dW+a znQ}~086zO1seata>3o#gM62a;33omZp_=;WDyyL$U}KMvtp40iHfpL-)k$GzfXfAp zNkp>Rt66ms8fxg9foqUC=EqD+oLF7ZJq+-U(iyUi>LX?73k=w(wR6_257^g z3@0ivH>UJeAAJw45K4EK#?XDBKHy-r?mk<#;{m4$!72O~Zy=Hp>al(7>o!KiO2GB8 zga^2ZP8qE>M{MEm27EAaY}Pz~7NZrsv3eJQYkk`|&k>u_0!_cFE!%a2xj=&)|1#VwY)yMZ2`qBtvdJ z{VGS*p;NT0ri8D4=O-SakW5?Nr^oKw0wt^DXu_~bXl7Mdm%7Zbyu-ot+D>Xq66{*R z=@ci{3C-^6G3BFXvNkH#1hpi zzNPaU&_sC)v`vR}Oqt{*JU-arCMJ0QLgo7;fAZF?43+Xu|NLoY66f9FcjKFGrtRFw zZsw}|8OGN$@)Vek=vo%s*sEY|jyKQ(Y0Wf6Y| z!3QL#j>MlQtwarhXdp#wfB93xtXNf^Bj(78B`<&K(l4#-U`N*4{_>}8k=cBfBW7)X z`BOU{wh}iw5=NtW*LeQa-I!k0K1a-8X}ad}=RZ9Ql`nz4#}$%VQRaJ+=JN&li;mHG z^!WN6gdc^pLr563YK^C`mc29zUp%e8BA3DRpk|J4r70O?^VjT`p|1{%W*$opc%eon zi~LO;`;f-2fFp%q(jmix(WQruH1%T>bZs3*1*^Hx*8GpuN@~#`Q13g~!45Jzpzaa6 zNqi;M`5t0@;LzO`e+BIASp0P?qxp}#b=u;`!M=~hKOBPoC-;oCc*31n0=QiLrKE6P z{BoW>%9sgOPjH0l=hH2| z9Bhq;r>S1jl0UxW9*TV%;d=%1N|gkx>j>fS!B1=gUWM?EO9H>P7ZDuk*URE3z<%)X zH1!WtUjFg3Vx|euAj)%Hr1tkpF`Yh=NR8Ek(Zplf+TXkqH9u{k1*^`0!-e3bvqw|z@8GBUib`J{MF_~WSgd-Ra@fK z_b!*@<85uc+`A;RMkr`wyxhCg7H?bQU2O-%f{Z;2?11y%U3Pe5h>~56f{eBesey{y zoB_`ahy@ul|FjZK1u8xu7G%63%gx@7SnPmUkTIOe^Z?0KQyf`4AQogiCaa;Pj+h+~ z3o_EWSc&b9gwfbVKh{-{F?2TCbdU-6#eMc2Mb+sw=;g9YE3uY|0n%E_p2PWnww49% z6*8aW`*SkJqh@AztTKn&WuK}>%kKj$hoPt(hMoehP&4s`Tl4E$%dWr9+}HcnP#6@Wse^b?)~ugyV?Mawd_Z3_x$R0fX`eo z=GNb_mhHXLd6?%sG~aeN?KV}$S~h{!?pGB-Q(cB${Z@)(c4&gkvo$#~#r?yC~sZKo7gHF}GN2SrrzXC8hM<0{=uf zrcQLe9BbK=FYwtXQFIQ%KgAR|*0TFrvw##$73q3axnear*0K-ShEdG`+qeX#!B%6E4AMajj)%c9WWaKuhj$v#H~8t!1Awg-Q{sYA|XG%hZf(E&F3X zU@kycPlYaX*IM?^P#7aYXBB0be7n}NmFH|5SOe`Ap_9pC~^BJt7R#5VRiGTIRc!oc{)z$hcq`2gqkkmvOCSbu%UZ@EUkr-F&f@J-8L2 zn)4aL;-V>6f!8WERL+Im!2MZVt?eH$Th%(oy=g+N2P(*Cf%>sn2-a$G8AV>J3p*vH zYE{nV;WJ-VUt_itqd786MZUWpBU=kI{FwXYWEn*KSUXaL?|SUo+hSGnDjmu$4(lMN(HMWcm=`3 z(yAO%p9)WK246_+AawUgy0D!$XMD_rt~HH=Fi%K2CR5ZIqRu&na_PgUS_5N?$C6}+ zGY!ieLm9-fN$rR6Tu~NkWGt*bSaI8-4gr2$j9@FQ$T5`P;Uq|bM1$hwxf1P`-}s9F0*+{>OgHgC`HcqiCD;UrGaBsc1eE)oosOr|me#+I>XlOod#QdloH}Q+xiqp+8X0)tWBF~YmF}_Qie8`w$8}4itL|) zZ@uw#jbt(zrfo33!IA3pv$Pu}A^vKUBXdT9-DI%ok!8PwZ4{qgR{ZrB-kXh=yRg3- z;9yo3Dgn>eSfbW1x7SnE3U3W7JaE00s1y8G+@V#m@Vbk64Z~-XIXl^TX zzOjlPCX=jM31Op0vV-@hYtj79kHoA=dm%h|0VxF=LE1stE7RlEK?ui+lFSWz8?`wd z=0}%aW37&Vcq}PRv)&YIfmyhEF41ekv^CBbl+;Kr?Mn=~Mb@?6nV9Sx=O6y*^Oz6FpV z&Z_x!dC_P3mONG!k>#B!_^slknN?H*rEgPz!wnD?>ctQJ%tWwjYCgWo1XXvju-M?K zn>Hf2w=K6*+1LeCbCCRHJd+%EAx>Z^X!)91@hf9!pL$Y5-7=}${AsfdiNgYOxU z@>i=~Q3)~qIkg_*CQ&OAQV%-(MYRj>!)~~-akNn@W+L?3b#qzqBtw7QCCJF!4`0>q zo?|yU{k>!Rn5%DQGc+#!gAClYvPY7kTKS`qs#TMz!(Z#aAu@X>)nQ7kbv0vZe64do zQI@sVvQJXN*Q-;3Fa4`Q2ua%a=aTlXzaavDwYbO+OgiaDOiqH459g7lqf!O(Xu+0_ z_`b2Zj68G%-!bFMj{HYWr+;f&Vyj3OVopD9e7TWJ-^O?1kdCioWdBrrCylRXq(e=7 z-x+5A$oG%pJ7s)>BjsD6^R)2|k5uXocEK{dMy00z*z5snYJ_CyC!3*OBgOZ# z@x?`!(8SWuI~lr{i7EXT<0~K8L`z8j)u_zym3bd~VEOdYY6dzl7bS_x>P&1@7P+#@ zP~#G(&cPc}R;#bf>ntBL(j)3gN3udu$%;iKD>;&hvK~#ZY`x`uWtKAZ7NkejNETQ+ z32Ck(T{G#H8keZ6CPSIJ2`B2hsbbNL#8cdmrB}7yx`}N|;H_r8Ic1eZlU_rqMnsd( z6_WT=SaNHcV|CMi>Z;@_0GD}`@i?VHN=~D}srVAaS>{3Jf(O#`RF#KWj1FU2nx1d- z>`OfQI|gAH?O}=FSOop;-0R^cCy~`iAUKeOz&*H zl@m`j2JK?K(ZuTALAzRSM&k2}LAzOR^~A3upRd>tC%B8%nyTSpRyJxTG8SRO`P< zC6*Y3f134gR*9Kw;ZL{z+g0MhE#Nb(f2&G7%o;X*ruA=Ei8n0)pJn~KRARdH^EuXk zKf7NunkZlU1;c2o{p-~}3fjM3o$vXp)2SNGz0T4f<+tTkO#XFBlo$7gYT`C;fZz$^ z8LagBWtURE4mnq%WI%`JpCj$_$Hhme`+=9FGaO_M%*W&wIm2|7HSBj_2HUtQamtr9 zSOe>-;~ah~;&O;!4I^#V2;;+$$IWckNaL#WDymH))Kz@}aLNU(S;pMu)$8&2`#cT>r~)J;Bv)Ng z9S(^KOX@AJ{9Y}jnh+X$qzZ;44;$3$x2U2rnz}(4DkPoAFxBG=f6fm}3%P%*H{!L(%XRjMGI~zDC3PPWSCU!xJrzgG#GJ^W!D_WGg|OQ60d$`3Z;*O69SZ7f_t> z!A6dAP%30qXYd~cWC%us<%a0%Yv~u0)DS{PbA<$!O4H#})EvCmy5ZsfZ~`9Z)I^IQswx}dGJs#o19ooW2@0CA(oL!3~Jn6rI_?1PqJHC|Dzpaa&Kp+19goXdqw<~j*nI!wadIclfwd${HD`4rAbalR95N$y*;hM`0rX&5z5g$eZ(swh;^dvE z$SB2+lu9KPWd^8ux+4RZUjEMqSj`m@nhKAisp%h+N{LmcQXHi69!Lq2ra`%;|Fn7X zV*N*ln*LJ&!RQ#obeSQU{^Q@JjHWdZwg^cl@*@4G_eZGO591||B{?qI zf4*g^c~m0(0@g8M>Xfkkx8x@~ ztE*~Cg%9aYIP z2Dk^Qu8>M6v&zpJtfcTumlyXCC9Ssf&h@y5E9s7<|C)fifj=<=_p|(DW&0!IPMV9m zkv~b?5piGYPsg344l(#-jZ(`d@i-olsBg&0DXvg|@i~NXY7h(X5aBBBX;g59hFZck z>``S+QnxNrzBNLS$FS;pgrVwYOzv6J)!7#~&JTfSzd^eT!^F`*RpK(-Uc zfXr~wuw>UaRQ>iVlq*%qrphW=4P~=OlM?bZP&ZQ@Su4~Hha{eTz)yJ;tLY%OXj%8F z4)vYnd<5mFN0Txo!al6XvJR<7zu`a%x_SRSl(=WyR9nU;st&VqfzDStXr?es(F|3+ zNJiFSwZEdHBM-D=tPaiiTHP{^yArKq6zIfQ9TkW?>zKM?rn2c+2D&;{hi05qyRUI{ z>;&B#tK<1FI?kwF49lhlUI%?IR)=Q%sP5j(T%*%*8uX`F9fOyn<2UujKBoc_pJn00 zWovP$(u}{I>^P?9&LsdSf2(vy5+|b1l_!9DYPe78Z(;T(}i?QNl{Tz6l^DHKY(DR&9;<7PV zT1i=22jj|OXORLAsHRW~J(^Uv>D3L?Q%R(uZroj~g*Oz=M2}~?Ylw~Xtk!W)-^p%| zR<{hwZAEEXommbHRa&51+)W*n?;b7iDCD<9KsQ6(+{}+u96fyug`G7d?m^byCWaG` z{}BN_J{jeb8Yc!VFeUB-Zo*6ql^NRVb6q@!vZ_uVMKa#6a^VyT&kTGPnCMpn2%P8w z;gX~~JWblKrA+m!1;8sj%2fuformUyeswFzP8YTFSdz9eWbF(*w@3MwA)sD>^0rG0 zUoT2vwWR=-`!`_0k~Nb$0pkZ@IYa!5GJdS`@BYEmfeIb~l*^eUG+~4PmrbTbR4u@4 zAs7uQYRuHpzO2puam}rU&Vao<4VG}b|JqhQU8ZUh;7m_Ll4>sf_-=p4PdV60@u<~+ zH+mW@VWM{PKL7M=tKlr*udy0l$C8q@ z-`|P}S}#h&3|W=9+=7yK{AWGpzp+2}B!v*X8HVtR=x^AfxMTsCnYwSg)@L&|zH{@?c4 zNL6DvxkY)*)0*;W{OUQ<@%sUfFG>lEKF%LMD+5G{K##R#bRm>g9!=Ib4x@D7(H=0i zg5K{jw2maB<9PfyYEoCqD=EDfDRl8Fj+)L*lziNo55d?hb7Tl+iAYik9y#Wc?H0d$%p|g@CJE zf*Fh~t5m`-H`|W09mWH~GNYZ&U6T4T6-wKrvkt7hlNz1$CiTz_`iNW%H<6TjGAMt9%WGwHL;do-WJUo`S9#3H^`SK70tq z=Pt{a{diw{6FYzwB{%-rKX2rV4vFkyl$>n_$n1|s7*cz zLnyvzun<3cF^m_yn~;$B;AmlpGa8gtKr}c<0%Ua^4KDI9!w_;bxJiP0!5Gwxyk}?j zU(X%F@b`I;F!LJW1ycK7#_DwOE_mFF1mfh5BXiJLnqgcG8e`^Qu~6%M|I8tB>k;?R zyMzvv2_a7IFfxZpj_W+eFreb(HY4+TnJwdt#qDp{DSH-^|Ub<7?ambA=?4$~V%4-=)+D0%y8_nFnu%v z^XgXRyI(Z!g79!LQj(GzmCQQI&j@ywQc&-}_)u66=~N^snZ+`jsQK}T5*6-n#rdA~~e)e@Qm=Ef3^ zu{6$nMy1dQpOMlZ2sl;sTLfQ`D z0U_yHHJbQ34TFDXykAal*T{hN28@q9Ri8?Hmet&UYfW2yKf+LNx~bChfTo)1B6FTU zzNz04P`QQWv=j_4cRhi4WpCC(pj{6cKi2n7F7)co$fJWrycpiY37su9mk1o zIg}ebnzVR3m1Mr;FHfziU7-7125FHMUgq0=AB(4B()3>kd`}2Y)32Nc;X{87dg-4+ zI0bkvmLQW+=C}SCU)iE5{T5B1E4ISSWR!W{-+c!kjFg7a5JqcZ6{!rFj52+JC+@K& z(+|d|3s^GEWQGDa25gL1!&oV-m?n~>G%GDIri<-Rcf;6sfi9V5GHV9j=x24k4&%cM zbZJ(jz@W=)>d(UX>jGUe&1AL@G-a@;lR+LUQ2tf8il$4m`UiG0;_Jys9=9nJR!m8_ z(}%V*$@u%fOfmlphZ*B`Dvj^I5k{yyb{-O^3H?f( zpAtH#14(D+VII@Kg*y*A)L2dzLU1joawe=6S7;-lF_zO7gmrMk!?%HYmeYO!qg}9= z<@7^tzyBgp>S`D(g|$OehgXUU$8y?&#+Cr4w(+yqBds$eV>#_A)hU`@h46`xbRsWe zIUV>ltnXp`8^c0XQOjxDl{_RN`YHjXaha64meYsw>C=}IULcr_3ujoT%CVe&+6fH< z2p&_EWelcA+LroB8R0l+LKz#5RiHQd95>T9+e|MaN@*!h6o%Np2 zmmydY%jw6^zT^rC9Ah~>OW0p-c=$?C&vIG@UlNxQvXxe~LmqjqGrk3Y-FfIl%zAra zGWR@)mo87gnW6f^7|!KFMo)O+VOYAY7ti{Gq$C==2AKqL4(e*!XXOtr);@KpX`g8j z-1d0@@z=RRO$d!?pPvzS+zk)61ohhIZvb&@fEl4;?ep(d%)by+DvVmf>L9AawM2!} zK2sRpcL=E+gzg@xfgzdpsVXR=X&i)kLeh!6Nc(J@hN?9%wsmU`qU`2zU@S7mc_~0;|^6w2quvyM$a zgf_>fF9qt@^rgKzHhpR6j!i$S3hrl7fK9)ixUEh9QgO>78=HP}+^$VOy&Zh1?~qGyZTbmkS<`^|RSIZT zVVF2voBqn_V$*L9(%wbGy8XB|{l1u#jgsL|CVMm~Aktq zWpi#BU#ps>939O-+X%zaVQu3oJh_EKwY`eSSJX(|oM zyV9N1TATjB4vu7}7)fi>FMXFIIo6eQZTh$LQobpu4XA4YH*uM^7Gu-bOA6Pf-=hRi z5Nd&kAiw4bcs6}2U~T%#MmPfBKtAgUSemuzx1VeZJfKQ_!u=VSO^8&t>D8`Hzs*QV za3eTvJf7{Y)}~*vk`wCyDAS74v^vM)Zf*MVnU^bdzE(lrDgwGo>E>pBw3WxT>7N_v zl-yI0-~V4?ur~d#sX-IN8OVO_mo6TIXVWhaCq;N>;PY(y^$2X^0>+lnNJcczrr#5I zut#ZaP{*b}6=c4P+8NBX>AznAdl~|2Bb2*bTDZF?ac%l-|Fbszr(hfqmNUd#n|{(# zQwQoW;5V)sG+3Mdjwel-tA7CFK65p=HvP)?n=)2ufHj0*O2W12KYY6>Q`Hu*gQvl@ z={Myx*)pnC4F??OX>e`&&F<%wH$u1;a7C;Jv1MS>zp9kgunq9uSPh!6&p#^8YIqUw zjaUuVrr)`$HFg{WJRM80HvPj5c;qaDG{k?-ArLONB&|)q4fp$+kO^4NBe*vGGS?!V z570wET}WZ6LCV_N^s6WHR031DngC;t$I`vfwdt2`WD9&9jN2|?S(|?7Mq9Cuz<9-D z$*e zR)>XUZzw}Onyhg=oBnfyD2myji#&$b;o9^stzj$WRv0@xmL3IMoBqNv#Pl@i+a5z= z3dcs55h%yA1nL_o=RKM(t=M$`6u-DWv{GNt>$z+RT*Rh7|2&Cr2qnj*QPI|>KdON( z@!o(#T|zONewm539Q~mSg%=B_!scrhF%NDok z%W~T_%4Ew1!2b`~m(Y-5iIabnVl*f>3-Q4pX#YHbPDp|{qd{3NM1wgJAd6|9|MD=y z5OOp)P=af~7}SfbV#4q9t!u&;o@2tF1n=S|{IB{mM9cA^%pt8w%Y`O<$zTx^zN`|g z316l?Yr>ad%$o3JT(%~B8G&6Be(A4ye3~mHiHtSjS0}KE3z%td031j3e$@fAx5pSQ zpku<1gq3faXq*ILZZVQ;!r%D2&-W0epfYd*WO|kB14Hb@1d0cK9WTzSveou}E91{&q z0b2{f6qRejKS)KL6+%D2p|KjYg?^Iia-Y>O5Ad2;4Vo}pb$r=sxCL-)tOjesf1<$l zh$jJGh$UDP{!LH#e4k1hJ_kG+ORy&VWJW4Y_!}^AG$xzYgnv(0f8$(KX@kibqdX z&`Ujrj!u4<)T{}A{$gmIpj_tBq{VwC{F|DQyGfukT?T2fCj6Bc9d}BFtp>bN2u{oG6=lyFRWIsjJoQL5%=EUQ$tONtO>s| zMme4OhhRK=fi9U*HXTWmKlo#3rAWqFJ`o%X7N>y zlzb9qTjQ%4msA>GJK0x=w5WqK{|_SL8(wj5XW%Q8)JBpi-HeXqh}2(geB`n#(bnUA zVv=vUq^X71;~%=LA-$jnl)+q~k3r4nzD8l4+)EW_jBUk^j+z0wxF{q11!P#|Hlb(c zRt8zM3C1puCEo$k4~_E_WVgDowpL?zOFiK-*lnnME8(ij4^lKzCe6wb;Jj!nbpz96 zm7nBGGCVmFNKH(@`*RXglYZGpyCl5lX<$_}Ldw;c2zLFJ`Wfz(TwE2{h}TR(wnpQyl)@+@JhC}jv=6L4!50e%~B zjDQ+Ec~~W&x)EQX+DQT`bE8@%UXA}xbo{6S9hGEGsXZr{`nW=pKNaqS0E_f9vk*^E zRre^RU$6BR~QZ+zY zdMJaceO6jrzA@_N9i+FcQd0D)H^gBs+1}&wGQK8oBC5l^Q04${bSYtJv$}S}QUt~& z<;VEhaWIK2uWr1X?B9pPL#`C#XLcrFMRj0}eNn|*fM;BSd74{_-M9|-#w9;U=1w9p zmDO!X9-mBt628OFWwWn^G+(by{Z)ab8!DD%7@jh1FW`c1NTe1=T@Rh(zr~4Kp34tS?8*km(r2Z zsB!??#uDldhtN(PO|{FD0f5t7f_Y4mn+*G~bFz993jtpM97HQr%iyhcxwOr7djUJB zmhaQ$)ZHMvJ#?)4wmoQ}s>@o+ub%M`##3p5@xfU%p7>y2Dj_~7{WL!KbvYhvNzC9e z<*eH`oRL*AtHrDx@;q0hWLIumzB-E@mf&$8G{ASKJOrhm$jaKPpU8TnGNJc;11C)7mB2(T(Ic^of2PjeHXAg(0MTJaP$w4(d(2V<_? zM`0`FTMDQWe&E)RE7U+#hs%iyXQT5f(z;Gabs#kJNR6gdA&d}`PUJ;4 zIzRgnRad~c&SOcAi*9rdWs<*ABHapWr!aNO+>OpV`hY!6_}j&_=u|lyox`tVa5)O& zhoUUAzj=sE>V_u{TAKXD2NOw4f;gi(AgTl6gHuRMG+0|eaq_^E;~dma)|+((e?&lr zU^GDQ5y0Vuj^hdm9JA3m5ARYpJbV}@m1Z9S+=y?R3))JnT7Ln#sWbjX0J{-CgqZbi z`?fO7*KS^12gz&!I~qL7Z-O`nj*`UIoK>4z&`|8EMimHd z&v+Thx41$%gvRuYF9`e24G*^g^?Jsi042^jLdAN1IQ5~);Dx98? z+)?@N6;gW$y*yGQLoz+%40Em4G!eplA?ZY3q-X5@8dd9I+~u(($3=U_r`$^3D3Lx1 z>jh!zl({`)4}+rmi0~7|wCGehJ>$LMw57jc1c|_=Na8ZpBh5)SBHgaygVU&S>|fvs z;*9D59*89%K6o98i3SS<6ekA;9OocupY)7(3CIwvNYA*6&}+Fu0>|`>8}M#%!^0oq z^m@iVd{4WeH~dcb6;E?tSkd6;{3eJqK6s5zxwN!s@FxjQsLH*{975$FK;%E~Ab>DQ z>i^;4KItOP!+qLqAMUG+Hs>IK6svO(Kw7PH5J0-4a}c1Aq?CR(gLyLB-%Z^1AV42+ z+k*fDaJvTqmU1H_ubx-W|I9-GT%qdXa|q+qsjjSriA@~=JSl|QmS7J8ykCc<3E|3r zo_DrzS%P~I;0H`3y&?Ejbixy7Y*xH`|;Hdl2B)UXG^yP@eN>Ql`!}{~`6p6l|5~_N&jJ9C2w5 z;}f<0ewMmANq>U|Se&>yw-5KFzUk;l1FazplXLeVz-22O9l4-|u{!KQfE(|2bc_U@ z5Uax;1gKuu(XkZt`dA%$oBxaoeduI)2k0JQIO))gAJz2}$-2(VYoPB6!&I|ja6R=Rqq|>qivcff zOTCux|543}eWHLx4+1>#p_BOQ1T1B|3G@R`*lJ+3L36@MI+b_gO+JgX#Ze~kT zr}oPj&>jRhexH-tzhXdp5a64u*#py(mANx>Qfm(aG#KGjR}%qkYVARQ0hc+Fy<;Tp zL4YR@I+D{|N%tT?``dYZgE#|f6`;JT+SGB(K>)p^aSs9%VAwGNPeFd)6YvfKSOI$w zV9I+=3}+z!?g?0$JqU2gU8cYTD)KvT3F5K|k?Jw>ru^1ULUo3d_h=Eo-3KHN8cm6NZRAb1OzI^VZwkv9;_X3zt9zId zQr`lean+!~9t4m_JfuWa!k<20BA31ufv#=9O%mJX&{xd#CfA z@?*Dic(`xKk?TLwE}?7x6z4+6~QQ3xI5+b}*AmT7=POartB0WPa-WBeJ$f1WPOvIhZr)U>Hj z`j@2-S5aN|Ai#VqP&)N(VRR9eNxju2+bkReSkaFmkh)M~V9fAz**t32mbmRp_(Ybl zu7|P7(`8xC!+n_Q^^N6&FdlbVW^exxm819ewL>26`vQe}+eY8$%ENuK+}2w=|5q|M z%nVD>pxhZmgL1PFAN-AO5FgAYBte|fpez?S|11Hrn2rX!dYEAdIT{=#!S!JbnjtAG z9MB&7qkfjJaE9>AL4d-Uv*B^;VV>nH94l$nyZ?pbv{N47D;zI*ij$}I3MXji&hA(xv5+4nEZQP;IrzQdxSK46nrf=oe$d8+VppCR-BygZg5 zQ&8b#^&kdq-F&A5&W$C=6jV4v9ZOZd6B5M+z|FA)nSu(hP^

!b5;hcmy*A6)scH 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 jwt*O1VA4X31q8_q9lZpjYsHZKP-4 Date: Mon, 28 Jan 2013 09:02:01 -0800 Subject: [PATCH 448/851] BulletSim: fix the trimming of colliders so only the top 25 are returned. --- OpenSim/Region/Physics/BulletSPlugin/BSScene.cs | 4 ++-- OpenSim/Region/Physics/OdePlugin/OdeScene.cs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs index 86eb773440..b23be91e31 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs @@ -708,8 +708,8 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters } List orderedPrims = new List(PhysObjects.Values); - orderedPrims.OrderByDescending(p => p.CollisionScore).Take(25); - topColliders = orderedPrims.ToDictionary(p => p.LocalID, p => p.CollisionScore); + orderedPrims.OrderByDescending(p => p.CollisionScore); + topColliders = orderedPrims.Take(25).ToDictionary(p => p.LocalID, p => p.CollisionScore); } return topColliders; diff --git a/OpenSim/Region/Physics/OdePlugin/OdeScene.cs b/OpenSim/Region/Physics/OdePlugin/OdeScene.cs index 02a0b156c7..6d7f079e88 100644 --- a/OpenSim/Region/Physics/OdePlugin/OdeScene.cs +++ b/OpenSim/Region/Physics/OdePlugin/OdeScene.cs @@ -4096,8 +4096,8 @@ namespace OpenSim.Region.Physics.OdePlugin lock (_prims) { List orderedPrims = new List(_prims); - orderedPrims.OrderByDescending(p => p.CollisionScore).Take(25); - topColliders = orderedPrims.ToDictionary(p => p.LocalID, p => p.CollisionScore); + orderedPrims.OrderByDescending(p => p.CollisionScore); + topColliders = orderedPrims.Take(25).ToDictionary(p => p.LocalID, p => p.CollisionScore); foreach (OdePrim p in _prims) p.CollisionScore = 0; From e4c6a19940fe0bb4dfce7fa53de282bdd6fbfb08 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Mon, 28 Jan 2013 15:11:20 -0800 Subject: [PATCH 449/851] BulletSim: rename 'uint' to 'UInt32' to make clear the type that is passed to unmanaged code. --- .../Physics/BulletSPlugin/BSApiTemplate.cs | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSApiTemplate.cs b/OpenSim/Region/Physics/BulletSPlugin/BSApiTemplate.cs index f25b447a2b..abbd22c550 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSApiTemplate.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSApiTemplate.cs @@ -87,7 +87,7 @@ public enum FixedShapeKey : ulong [StructLayout(LayoutKind.Sequential)] public struct ShapeData { - public uint ID; + public UInt32 ID; public BSPhysicsShapeType Type; public Vector3 Position; public Quaternion Rotation; @@ -111,7 +111,7 @@ public struct ShapeData [StructLayout(LayoutKind.Sequential)] public struct SweepHit { - public uint ID; + public UInt32 ID; public float Fraction; public Vector3 Normal; public Vector3 Point; @@ -119,15 +119,15 @@ public struct SweepHit [StructLayout(LayoutKind.Sequential)] public struct RaycastHit { - public uint ID; + public UInt32 ID; public float Fraction; public Vector3 Normal; } [StructLayout(LayoutKind.Sequential)] public struct CollisionDesc { - public uint aID; - public uint bID; + public UInt32 aID; + public UInt32 bID; public Vector3 point; public Vector3 normal; public float penetration; @@ -135,7 +135,7 @@ public struct CollisionDesc [StructLayout(LayoutKind.Sequential)] public struct EntityProperties { - public uint ID; + public UInt32 ID; public Vector3 Position; public Quaternion Rotation; public Vector3 Velocity; @@ -325,7 +325,7 @@ public abstract BulletWorld Initialize(Vector3 maxPosition, ConfigurationParamet public abstract int PhysicsStep(BulletWorld world, float timeStep, int maxSubSteps, float fixedTimeStep, out int updatedEntityCount, out int collidersCount); -public abstract bool UpdateParameter(BulletWorld world, uint localID, String parm, float value); +public abstract bool UpdateParameter(BulletWorld world, UInt32 localID, String parm, float value); public abstract void Shutdown(BulletWorld sim); @@ -366,24 +366,24 @@ public abstract void UpdateChildTransform(BulletShape pShape, int childIndex, Ve public abstract void RecalculateCompoundShapeLocalAabb(BulletShape cShape); -public abstract BulletShape DuplicateCollisionShape(BulletWorld sim, BulletShape srcShape, uint id); +public abstract BulletShape DuplicateCollisionShape(BulletWorld sim, BulletShape srcShape, UInt32 id); public abstract bool DeleteCollisionShape(BulletWorld world, BulletShape shape); public abstract CollisionObjectTypes GetBodyType(BulletBody obj); -public abstract BulletBody CreateBodyFromShape(BulletWorld sim, BulletShape shape, uint id, Vector3 pos, Quaternion rot); +public abstract BulletBody CreateBodyFromShape(BulletWorld sim, BulletShape shape, UInt32 id, Vector3 pos, Quaternion rot); -public abstract BulletBody CreateBodyWithDefaultMotionState(BulletShape shape, uint id, Vector3 pos, Quaternion rot); +public abstract BulletBody CreateBodyWithDefaultMotionState(BulletShape shape, UInt32 id, Vector3 pos, Quaternion rot); -public abstract BulletBody CreateGhostFromShape(BulletWorld sim, BulletShape shape, uint id, Vector3 pos, Quaternion rot); +public abstract BulletBody CreateGhostFromShape(BulletWorld sim, BulletShape shape, UInt32 id, Vector3 pos, Quaternion rot); public abstract void DestroyObject(BulletWorld sim, BulletBody obj); // ===================================================================================== -public abstract BulletShape CreateGroundPlaneShape(uint id, float height, float collisionMargin); +public abstract BulletShape CreateGroundPlaneShape(UInt32 id, float height, float collisionMargin); -public abstract BulletShape CreateTerrainShape(uint id, Vector3 size, float minHeight, float maxHeight, float[] heightMap, +public abstract BulletShape CreateTerrainShape(UInt32 id, Vector3 size, float minHeight, float maxHeight, float[] heightMap, float scaleFactor, float collisionMargin); // ===================================================================================== @@ -629,7 +629,7 @@ public abstract BulletConstraint GetConstraintRef(BulletBody obj, int index); public abstract int GetNumConstraintRefs(BulletBody obj); -public abstract bool SetCollisionGroupMask(BulletBody body, uint filter, uint mask); +public abstract bool SetCollisionGroupMask(BulletBody body, UInt32 filter, UInt32 mask); // ===================================================================================== // btCollisionShape entries From e9aff0a91d6a4d02498ce45759389bb09b34fcbc Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Mon, 28 Jan 2013 15:11:50 -0800 Subject: [PATCH 450/851] BulletSim: do not zero an avatar's standing velocity if it is standing on a moving object. Rearrange pre/post action subscription code to put more in locks. Add meshmerizer params to BulletSimTestUtil scene creation (and fix line endings). Rebuilt version of DLLs and SOs with cleaned up code and no profiling for sure. --- .../Physics/BulletSPlugin/BSCharacter.cs | 13 +- .../Physics/BulletSPlugin/BSPhysObject.cs | 33 +++- .../BulletSPlugin/Tests/BulletSimTestsUtil.cs | 168 +++++++++--------- bin/lib32/BulletSim.dll | Bin 545792 -> 545280 bytes bin/lib32/libBulletSim.so | Bin 1689992 -> 1690012 bytes bin/lib64/BulletSim.dll | Bin 693248 -> 693248 bytes bin/lib64/libBulletSim.so | Bin 1834903 -> 1834927 bytes 7 files changed, 118 insertions(+), 96 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs index 76032541ef..3884a5dd0d 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs @@ -56,7 +56,6 @@ public sealed class BSCharacter : BSPhysObject private int _physicsActorType; private bool _isPhysical; private bool _flying; - private bool _wasWalking; // 'true' if the avatar was walking/moving last frame private bool _setAlwaysRun; private bool _throttleUpdates; private bool _floatOnWater; @@ -84,7 +83,6 @@ public sealed class BSCharacter : BSPhysObject _position = pos; _flying = isFlying; - _wasWalking = true; // causes first step to initialize standing _orientation = OMV.Quaternion.Identity; _velocity = OMV.Vector3.Zero; _buoyancy = ComputeBuoyancyFromFlying(isFlying); @@ -220,7 +218,13 @@ public sealed class BSCharacter : BSPhysObject { // The avatar shouldn't be moving _velocityMotor.Zero(); - ZeroMotion(true /* inTaintTime */); + + // If we are colliding with a stationary object, presume we're standing and don't move around + if (!ColliderIsMoving) + { + DetailLog("{0},BSCharacter.MoveMotor,collidingWithStationary,zeroingMotion", LocalID); + ZeroMotion(true /* inTaintTime */); + } // Standing has more friction on the ground if (_currentFriction != BSParam.AvatarStandingFriction) @@ -229,8 +233,6 @@ public sealed class BSCharacter : BSPhysObject PhysicsScene.PE.SetFriction(PhysBody, _currentFriction); } DetailLog("{0},BSCharacter.MoveMotor,taint,stopping,target={1}", LocalID, _velocityMotor.TargetValue); - - _wasWalking = false; } else { @@ -260,7 +262,6 @@ public sealed class BSCharacter : BSPhysObject DetailLog("{0},BSCharacter.MoveMotor,move,stepVel={1},vel={2},mass={3},moveForce={4}", LocalID, stepVelocity, _velocity, Mass, moveForce); PhysicsScene.PE.ApplyCentralImpulse(PhysBody, moveForce); - _wasWalking = true; } }); } diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs index 5e8143ca00..a113530567 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs @@ -96,6 +96,7 @@ public abstract class BSPhysObject : PhysicsActor CollidingStep = 0; CollidingGroundStep = 0; CollisionAccumulation = 0; + ColliderIsMoving = false; CollisionScore = 0; } @@ -177,13 +178,14 @@ public abstract class BSPhysObject : PhysicsActor public abstract OMV.Vector3 RawPosition { get; set; } public abstract OMV.Vector3 ForcePosition { get; set; } - // Position is what the simulator thinks the positions of the prim is. + // 'Position' and 'Orientation' is what the simulator thinks the positions of the prim is. // Because Bullet needs the zero coordinate to be the center of mass of the linkset, // sometimes it is necessary to displace the position the physics engine thinks // the position is. PositionDisplacement must be added and removed from the // position as the simulator position is stored and fetched from the physics - // engine. + // engine. Similar to OrientationDisplacement. public virtual OMV.Vector3 PositionDisplacement { get; set; } + public virtual OMV.Quaternion OrientationDisplacement { get; set; } public abstract OMV.Quaternion RawOrientation { get; set; } public abstract OMV.Quaternion ForceOrientation { get; set; } @@ -240,6 +242,9 @@ public abstract class BSPhysObject : PhysicsActor protected long CollidingObjectStep { get; set; } // The collision flags we think are set in Bullet protected CollisionFlags CurrentCollisionFlags { get; set; } + // On a collision, check the collider and remember if the last collider was moving + // Used to modify the standing of avatars (avatars on stationary things stand still) + protected bool ColliderIsMoving; // Count of collisions for this object protected long CollisionAccumulation { get; set; } @@ -307,7 +312,10 @@ public abstract class BSPhysObject : PhysicsActor CollisionAccumulation++; - // if someone has subscribed for collision events.... + // For movement tests, remember if we are colliding with an object that is moving. + ColliderIsMoving = collidee != null ? collidee.RawVelocity != OMV.Vector3.Zero : false; + + // If someone has subscribed for collision events log the collision so it will be reported up if (SubscribedEvents()) { CollisionCollection.AddCollider(collidingWith, new ContactPoint(contactPoint, contactNormal, pentrationDepth)); DetailLog("{0},{1}.Collison.AddCollider,call,with={2},point={3},normal={4},depth={5}", @@ -393,12 +401,13 @@ public abstract class BSPhysObject : PhysicsActor public override bool SubscribedEvents() { return (SubscribedEventsMs > 0); } - // Because 'CollisionScore' is calls many times while sorting it should not be recomputed + // Because 'CollisionScore' is called many times while sorting, it should not be recomputed // each time called. So this is built to be light weight for each collision and to do // all the processing when the user asks for the info. public void ComputeCollisionScore() { - // Scale the collision count by the time since the last collision + // Scale the collision count by the time since the last collision. + // The "+1" prevents dividing by zero. long timeAgo = PhysicsScene.SimulationStep - CollidingStep + 1; CollisionScore = CollisionAccumulation / timeAgo; } @@ -423,13 +432,15 @@ public abstract class BSPhysObject : PhysicsActor UnRegisterPreStepAction(op, id); RegisteredPrestepActions[identifier] = actn; + + PhysicsScene.BeforeStep += actn; } - PhysicsScene.BeforeStep += actn; DetailLog("{0},BSPhysObject.RegisterPreStepAction,id={1}", LocalID, identifier); } // Unregister a pre step action. Safe to call if the action has not been registered. - protected void UnRegisterPreStepAction(string op, uint id) + // Returns 'true' if an action was actually removed + protected bool UnRegisterPreStepAction(string op, uint id) { string identifier = op + "-" + id.ToString(); bool removed = false; @@ -443,6 +454,7 @@ public abstract class BSPhysObject : PhysicsActor } } DetailLog("{0},BSPhysObject.UnRegisterPreStepAction,id={1},removed={2}", LocalID, identifier, removed); + return removed; } protected void UnRegisterAllPreStepActions() @@ -468,13 +480,15 @@ public abstract class BSPhysObject : PhysicsActor UnRegisterPostStepAction(op, id); RegisteredPoststepActions[identifier] = actn; + + PhysicsScene.AfterStep += actn; } - PhysicsScene.AfterStep += actn; DetailLog("{0},BSPhysObject.RegisterPostStepAction,id={1}", LocalID, identifier); } // Unregister a pre step action. Safe to call if the action has not been registered. - protected void UnRegisterPostStepAction(string op, uint id) + // Returns 'true' if an action was actually removed. + protected bool UnRegisterPostStepAction(string op, uint id) { string identifier = op + "-" + id.ToString(); bool removed = false; @@ -488,6 +502,7 @@ public abstract class BSPhysObject : PhysicsActor } } DetailLog("{0},BSPhysObject.UnRegisterPostStepAction,id={1},removed={2}", LocalID, identifier, removed); + return removed; } protected void UnRegisterAllPostStepActions() diff --git a/OpenSim/Region/Physics/BulletSPlugin/Tests/BulletSimTestsUtil.cs b/OpenSim/Region/Physics/BulletSPlugin/Tests/BulletSimTestsUtil.cs index 6c2247a45e..e7657f9059 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/Tests/BulletSimTestsUtil.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/Tests/BulletSimTestsUtil.cs @@ -1,81 +1,87 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSimulator Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -using Nini.Config; - -using OpenSim.Framework; -using OpenSim.Region.Physics.BulletSPlugin; -using OpenSim.Region.Physics.Meshing; - -namespace OpenSim.Region.Physics.BulletSPlugin.Tests -{ -// Utility functions for building up and tearing down the sample physics environments -public static class BulletSimTestsUtil -{ - // 'engineName' is the Bullet engine to use. Either null (for unmanaged), "BulletUnmanaged" or "BulletXNA" - // 'params' is a set of keyValue pairs to set in the engine's configuration file (override defaults) - // May be 'null' if there are no overrides. - public static BSScene CreateBasicPhysicsEngine(string engineName, Dictionary paramOverrides) - { - if (engineName == null) - engineName = "BulletUnmanaged"; - - IConfigSource openSimINI = new IniConfigSource(); - IConfig startupConfig = openSimINI.AddConfig("StartUp"); - startupConfig.Set("meshing", "Meshmerizer"); - startupConfig.Set("physics", "BulletSim"); - - IConfig bulletSimConfig = openSimINI.AddConfig("BulletSim"); - bulletSimConfig.Set("BulletEngine", engineName); - if (paramOverrides != null) - { - foreach (KeyValuePair kvp in paramOverrides) - { - bulletSimConfig.Set(kvp.Key, kvp.Value); - } - } - // bulletSimConfig.Set("PhysicsLoggingEnabled","True"); - // bulletSimConfig.Set("PhysicsLoggingDoFlush","True"); - // bulletSimConfig.Set("VehicleLoggingEnabled","True"); - - BSPlugin bsPlugin = new BSPlugin(); - - BSScene bsScene = (BSScene)bsPlugin.GetScene("BSTestRegion"); - - Meshing.Meshmerizer mesher = new Meshmerizer(openSimINI); - bsScene.Initialise(mesher, openSimINI); - - return bsScene; - } - -} -} +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +using Nini.Config; + +using OpenSim.Framework; +using OpenSim.Region.Physics.BulletSPlugin; +using OpenSim.Region.Physics.Meshing; + +namespace OpenSim.Region.Physics.BulletSPlugin.Tests +{ +// Utility functions for building up and tearing down the sample physics environments +public static class BulletSimTestsUtil +{ + // 'engineName' is the Bullet engine to use. Either null (for unmanaged), "BulletUnmanaged" or "BulletXNA" + // 'params' is a set of keyValue pairs to set in the engine's configuration file (override defaults) + // May be 'null' if there are no overrides. + public static BSScene CreateBasicPhysicsEngine(Dictionary paramOverrides) + { + IConfigSource openSimINI = new IniConfigSource(); + IConfig startupConfig = openSimINI.AddConfig("StartUp"); + startupConfig.Set("physics", "BulletSim"); + startupConfig.Set("meshing", "Meshmerizer"); + startupConfig.Set("cacheSculptMaps", "false"); // meshmerizer shouldn't save maps + + IConfig bulletSimConfig = openSimINI.AddConfig("BulletSim"); + // If the caller cares, specify the bullet engine otherwise it will default to "BulletUnmanaged". + // bulletSimConfig.Set("BulletEngine", "BulletUnmanaged"); + // bulletSimConfig.Set("BulletEngine", "BulletXNA"); + bulletSimConfig.Set("MeshSculptedPrim", "false"); + bulletSimConfig.Set("ForceSimplePrimMeshing", "true"); + if (paramOverrides != null) + { + foreach (KeyValuePair kvp in paramOverrides) + { + bulletSimConfig.Set(kvp.Key, kvp.Value); + } + } + // bulletSimConfig.Set("PhysicsLoggingEnabled","True"); + // bulletSimConfig.Set("PhysicsLoggingDoFlush","True"); + // bulletSimConfig.Set("VehicleLoggingEnabled","True"); + + BSPlugin bsPlugin = new BSPlugin(); + + BSScene bsScene = (BSScene)bsPlugin.GetScene("BSTestRegion"); + + // Since the asset requestor is not initialized, any mesh or sculptie will be a cube. + // In the future, add a fake asset fetcher to get meshes and sculpts. + // bsScene.RequestAssetMethod = ???; + + Meshing.Meshmerizer mesher = new Meshmerizer(openSimINI); + bsScene.Initialise(mesher, openSimINI); + + return bsScene; + } + +} +} diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index d8be6c710ba7a1ce7c792dd7cdd892c67132dc33..24dffacfed45b99afdbbfaf47d592a3fbb00251c 100755 GIT binary patch delta 32658 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 Sw9ZM;I@ei$uU*(_Kpg61w~Y{qUcq}7z;_% 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 diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so index e188cbfb4f27177f867cfa5f4ffe9398bed615aa..7e3ed20b9a294c84406941fbf215a3ad5b7cf2b4 100755 GIT binary patch delta 134377 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 K&hr0z-v0qb!%a>A delta 134147 zcmY(McR^vyIY=D22bSdu{k@<2yf56}KfFHAbI#}N^PKs)%(r??vU;Tixt04lxUgHv(?z~0 z`B857&mLdjWNUTpvvJ>ynelLA9k*7k!c$Irm?p-UGRDXJ?@wcLj(V8ll>gmk%!9Yw zjXUL66OGwnrMHd=Puf=${`IYrFO2CL=V`_lGNuHyZEbEQwxy@32X~Qs)ps*FRzw?H z@cLU`#?wu;8#}t0tTWzb41Ha02iZz&V+;884R`Yn!`@la%`~*q+C;j=TKC)73gu3> zinT3WC^yfl+P1VkqmQqt%=dd-b~FC9e9Z{T_i~NNJynpmrALfOSmACgx{tqQOwcF~ z(~I&ofpy}PZ-OYsE^)+Q*SNSs!w?byUmDv`F8f-m4YO=Qa zm>u-pr#w>A-P3qLmXiH*mN6dw?xrf`2dj)J_pZAMr@ZWxo5}sn#}wxK{=XQLTEpEG zg+j{k_DnaEl;dT3)BpQF7*jF89WEMvhevMJOwJF!=4U29@xC!xDITUN1I+l%%_JZK zc|iiaascjDdOMq2ik00iG$8CBPh&$~#VsV)&7@j^?PJ3IZ+qr9hB}*#X%bw}7*eL7 z!q#}1*BE2js>rgnpuNqlh?S0ar<8IxqnW(omCyu^dgdp$=RCYL+c!ToF9MJ{E24wV zo{B=-!ZcQxYRtYO?v5&!LVRO`F^_Epg|_E)H?uy>(^RMb>>Ojl(0tJj9fjU@7n(p> zck?6Nt4=qjgP*%8OLxyY#-u#R$#|aw=gRjf0L}ljyAW3)`E_<5~;^L%u_~uU@B^Rt@Ufi z(oq@5JdHQiQRou>US4JfT8%`v5ncdB_7f#5)s9BvbnXh zk~@V4C;0iAeaz9*hv+^i=Qfo4jCV7r?@qP=|1&-&hT3Uk(P1sWI9qV4hqu|n`fS+C z&1BT^GUykY`7&;%s}&t*3&`o@X*{8oI{6*Gx>|{Gk>S6&7u3w$VF+=6m&xS2|65{A z4K#me$#-33%?#Sy}u$!tI^bvMk&TDZ^`t6&bID3qrLKbpMGkJ(&Q-FGf9W|wb4mL8r#V|!+m?o!&Vs}<2j`c)kM z##)K^+tpgo#TJzm>t#+C(buE@L~#9lO%dc(%JJzOW8U|6H}5g8>vCY8kV&TjIrNV) zNmgDLTlgPE3nKjnMl&hbGvDk?vD{41A6}*gLz$RjOff6EYh<_eH9XCFX06v+W3H8U z&#%Lc{~?r)#SFTeBkS#!8guqdchiiaWN$(%TI`))du zmLVjwo6Rl3y5B7_Ahwp5K_VTgot!4UAfo$#;I(LB?=#J}(~PNwJUUxk$U14`ncZ#S z88Exm=&No7ivL!DT`E=u<#*iEv|+9MdK-q02yA8G~2G zE)Vkq-@W@BrP97wep!}5<|kPpJ!}CfeZ2E~_ZMjBsa9N%P_(z?9yT|BE3HS2TL~+# zhpj~{O5WLFTBI8jTgly^g*)=|U>mIOQt$lI9zP566|elV8}&Y9*ePdiEZ!+49{)vT za8htV+4a1N-a1%gadf+ESYs>m3tK?gAD#xIsiU1=ibq?r@}N!W>uvfn1>?74IJ81~ zMh2(CwqO`?_`NXGm>*#8N>ZM9Mp{gA&(NqGA78VR?^eT5Yg~rfIGFp>B?^rAx;to{ z^$NzCGV@W#R$k8-w=65Vmo3-~@o>Z_Y3}eQOhskL zjmApvB_*5}+TIP^GOYU$9u%>P^=W`QjP4T|Zq{PT#JA?%!dos=p2azctG2Isr?A%J=-QIA z^gfPs;qN^wua7M_XP|HXETF|?q@%FA8H*6b>RexmUSdV`wYddZaeYJGhFQsdZQcCe z^EG*l^X4BYy%1m1kjC@`DzYJ_Mb2r|G}y}tPl}ir47yTcJz*;{78SIm5r3htc>0+j ze~obl-Vd|<`q|uatdM?@$Yp%LP}s@^{cOR7P;1Wqy6Ihn)49>5GltUb}2E9XCy`-$Xqc0~zJIYPXx@hZ8GNy->{-xAJ z_LrgIIWXxmT1x4xk3r}z)*%G*iHtJtCX{tO!AGppL?6meE&fTioBM~q-b0M zBD8xMv?WIX&o*KW5M(tNP&zoN29^kXZw<^^>?|+S-b=kzY%YUr;(#u}IhVamDtt)^ zE}Mgz$o6trWhw1rFQnb)4Ulm$FhSaB1pZ>AOt3}$ihBKs?**VA8uY`ikmbD%V^GpA zgLjwzkgE>G44SjUy%NTN6e~SJO7wn$Ej$dp)mdUk)8Th>L5UVmHKxdG1ubpv0I8pd zfihi-ABdR|-hB(I^o-5(fia_+lRP;o2Oh;bE@0XPN4GFbpp-nqW z=k4#Xq;r{3ygM8H8S@Zl>My~1#zy((&lO)h!!*aOsCk{CCOp9?hLNiVDojdjR&n(A z*n;_CbZ0n}^fKEyE0{Y83HrrKA0h>Ie+UZmu#fqh+4~b!m1G4DwFRX1DpuH^BCUvFw&0#F-G4d;*)mxDMl!3mBpLP+hjnR@3$x;E0P`_Ot;HZ!m%f_yM=`hY zGEh4zcKR_l(=fuvF?35)o^b*O@T|MJz-dG8RAa_kA;U3@jPNt}kr46K4nuBND{iRI0{&98<^yOd*{U&r|y(*O?=1!Tv|w4f=y4eRiz+f~pp* z@z0Nzj_o%xv_&c=@J>TK0+A#fE*K2%qpP_Zultyhj>3Y@Y4o=QqyF1_nok)^i_$Pw zR`N(&K#>ej}(KN6G9MxN$JmS)5g#5l~)ARtFNhdsl?RzGu-CH1s1 zO2&#FW$R|J9&>hrBadL%fAKI`^mU{T+K-D-y)glGxVWHB-@u~BAMI@#(^(S!vt0ad zfH?}XGDpeq<~KSL#v^((me?&k9j!*XiDy5g%Ss*{g9&Z+XsOw}(O6go6_|~kn80RP zA!B6NNE{=EWx*I*KtkJMrX60DF#4dCr&^g~A~A39OAHN2E$nSxG2dNKYlt<`7SM2! zm-(0J^lgBASc!>|0bxM}UHl8!pl_|rM41o;jX+mIeH?Yh)@nqA_^wuc5}q4o8o+anC(6|KM|nZ`sU#YA=8 z>xDP;y-Juv2VM0t^;j~mqkpEh_A-0vzOEwD<5G7|(9097OoU(onfu@d8L>ST9Q zouLejMz6W)X@VKb-Ap(v^~o>kS(jwF7B|k(f5*kR#ah|pYyn;G7Z~0-1Eu!-#>WKw z0(0x^0lTq1hAGkb(BKtV%sAJcEBuiMw4TCn zuR*hMxYsFx{^`<+Q{ICA+Mebv-J{XpyQ0542alRj@PFCU1hHRDEag_sWMC@kG!U61 z(2)jtnITN|opVlpcEZGBYwL-g070VyakDP7TKp=qEs ze=Vh(_BC4JKo8TJ3F-|?u-?l4+7_PkzEA#M;kwF5Q161NX16TZ_#5s9b6-b@%hBeH z6*5squ=t4x5j8ILBXxQ8IQoaRV4~ROOvm56iMA*c?QIJ4?XG)Ks@Dsqi2oakH{!kW zmwnZc*Q}E|!bpglJs?|g-`L#NTZ!Mq1Z1=-W>%pF#O)@+O0lxPu?6J9p2-*{+5n6J zIhNlfX{`~HA~D(|P6`bO8c|@myFNwxx6&tJnR>v>EJDMSlB##3pm8!;7qzLmFG$TXA=lK0}FZP?MvoMoKDQzecCQ)LuLpBmaCcYsH}^&F0oJM4^~ zN$#R0UNQLpm)(W2NdE{g)0#2#K7<%vc$v}DpXD;TKfi*h;~TqjJq;4?2>;{V(8Ai(Vtn^trjlH1X{z*Nzwbf|Tsh>y9)W__dq_D7z3m^+MU4c1IKSV6$q5pm%hWW;4BYsL+%s;&FqMFyC2 z-ewq$-M}Trl(HhGNkfRAhD1EHewRP~ z*aN1Ql47EZ_~uVlUi^d|J(r#Js&L2ZImPCdVWs0QR znXB(=$waL}S47uz?ypT;izUbvG{kV`weuG2)Vbt! z-aS-nY^H}nnK%lg<^lM$?thOt+Y+z*R#~`+*!~a;W0Dnbg@$*X?3I7!RRmEQL|K7R zwr-CehNA^((NcWdHll4>nO119!AV(pXr<84*G6%;%sry2No5AkfL(Dpi5h}MUm+`c zMkuN{5pMOp-18TxzSxpTwbEut^=IO5m~|h2Ygv9XWt|i~6DuiqZ-csbq~h#iNk!sJ zu}}+UMh4`%7aX2^2V0$L-G`gMd%WfJrjMCC=#*5LDaSbcI%m(;eD|)_wRjSPUUR zhxUMDk0@}iE!?=QzyFTW23E1v3|W z*4tpo?TB+KhLtQU8SkP>@fQu|hsfY4?AKLh96yaiuf@QPj^fDM=B>tTvO?y`2}3mg zhFS6W3yU@ni;3U@ga7=jG~M)hw(x|$1-7Jq4uWwxFIygm+A85?{)Ac@?dMk=lc@Q! zpByniGT=InzCsxDKN)zilIMp;1!1yXoZ17h%}Fkcm}pFHa)%U5P5PlWgJRuHGKyVd z7?LAP`@H$KV1uc#l#^(yVu1H>8Q@=Fc@btsEU>w?vf>tm2B%^&`k(v=f$~;$4QILjTIZ8UJHUa95Yb za0rIm)G-Ceu+_)Qz?A)CsM~tWZ=o%!4bB#vyVW1PhqCC3(>=DRHRy%0iSDKy$A@JY zdxFAz@(-*Zt(9p^{6bry+^N=g3mXKi-{D~}vN(z)8QDy*vKNL1WWew_i+fQmY4Cxm zwr=Zj(9)KE=fPZdz3Xnuu#ndzq0zX^5sqQvk?ZDREVLrY`mO3Hkng;VJ6ChF{y`;m zFPNl1#?mRnT9At4!F~k;NRM~Xq+I3{Z?~07%1(_8NWch(fz1*2dDz^wR>&e-a6@$J zHca9AZ;W~B=58V&OUHfhs*Kd}i)>{Qwij$&uHS~LTwE}#K81e?lJulJ6tMnjw9vMYEF_7s!zrJ(__ z7)B&EslZyWd$31KZBg5BTJB6kGgy=L*#C3NzfUs823z8^9oIw9+s}ELFjzIoNhb2= zZv`$x`#WVdSXLV5CvF)=qT24}bvD`1Y-xqb%OV3ZynM|b)^S9D8(LxZvdHkRFfPvM ze360F`Mw782uC7+{RpzJZ~ofg)k!Im=;bnHiC-QW9E7#LbN=^sGWLZ$+#P#plCj z28nU;TZ!%DOizQz9Jwx(E`v|p%20dIdS8S2mP0%E2}*akpMm9cly(l9^!hy>W)f|{ zTNut7Vy}KE{g-b;NclZ$6FCz)TcYDjF|as3$sq7Pi$VGT!^IWFICCZ)IV2 z){NR{EJcG*!$FjnVHTB9&fPqt9EzD^rI4rp2+kzb4@5F19@v~0srqV6;{0oR!Ewx`{U9uy+LjEr?IL8 zqmpDLr-g>Q-Z1dkik8Hn$Wje!VTq^-|JT z7y>8ZD6KYA(rqc~p<6Lr0@9R3r=XQ%9EoOa|A8E1uWtQ-aMwfpGnk&`V2$t3lzQhO zrJafyOj;fJIfz*9S@A#Hf{Vb$e8RYfpjW53Sb>#TG)%G5e#YbhyKCj?tKUp1w`{z7 z7VX$M)VKT{&h@ZrFRd}GMw#bWfg3Q}UxwW^)@pK1jB+lAVZY6Dl+^~u6mvtUTL&wB zgDu?kn7{sC*zIC29{47ar`;h+n|d&v`;RGm5$ihB_J1* zJEujgh+KED(l*8f)OWesVSgaC=(h>ubGVPe?8Xs7Nz7Rq<`gxJd{qv6%P|^E@vP# z=aO**_QS*e^fqS@n)Kq&)*0h^^{6vO9Df{xEus61ixT33Ex3l_a+Fv1x%8!M#E@m> zZNW7Zmn%*SdppW#tDI{kZnXuw-W?i?K`;Z0=^@O^@CM>H9lnCF1b61*MIv&H$z>|j zko!JbyOoC!{jHE~p~0@#gBn(Z8^$E3eQy7qwCTic5_{SH(hlCsf<9@qjto zcBzkK{6(E_kAyY3zugw@dhI899P&E8V6t`e271A85A!>Mmo`y!o2+glc3|2u+UmTc zbZ|qg(gtC?lxkW&1?wB!sdaM^#@_BRR~^E|0o$>P`(QjzJqY}GQ>dYVn>4Wj)D+q4-6 z^ctkhT+-E_V!*(?i2u5C30lhln0vRA&Ly z!jdCssJjV6N+gO4NJyA+-_TVY7d?2Nr?SMAo<&T^0zIE?nEG4 z3Z{a^zmb((+HPAwlFO}tS1>)dtZZmwu}gN3H8sOW>e?>@se$d=TtU+~f0m>%A_KRR zs{7^Noai|Kb)V>!e}`%DYH14#GB5$e-XP{(jusq_{AS?Z#6eEPK6>oPFJh?jUlD`( zkE2vJ!B>jqw=f)qy#!g=d!%3F?SW}^xkYdg>xG8cP_M#VFS~=4sTHvoU9gkYd2fS4xnb6id#j>> zW$uj$PPyl4qL_l-nBb(`!}N;j{&AXI2#?qYL-x13IZy4zKhX?vXCQw;3d@saCGHCi z4m#^$>cf}hX4YYpSD}IIxVN82SBTywdk$ zn$oA>c3$sMVk_?NN6s+(zt0ekVvNmlnFdd-CuJXUz!vV0!$ORfj(8qpA0_EEFEfhq zG={m4b=md&TkMjRcmNmTo9lE=Qu`N7xa;+U6>A(;s#U`EPK_c>M#P? zo{oFIlCzo9ML70O=zNQ@8kF2$Fr??wC>*c{lv@)y+orA_xw66>+{h%!>H?827 zS>hzzx=H}P-@)?7Seb`H-FjPjhiu^~-X7)&^RRpS|Gy%Tvj?rj zWwP4(LrjsZ=)<;P=9IC9u7>FAusuGXbIPwLHA%vb2nSR9xff8 ziVef&Ui$LlpZ@;^A)gH>Y+TX8BEeArqXNXB1RjxjTf~vb7XCO9g>`edm8cBU?{Zag z^KCQ`+%#}zeK%%wt~U+pVT_M;@jtqg%*Qg1#Dr&+_cB)ytW@voXfXab73zanq`+>^ zM$^EFnR6w40edl6OCRkbqyNz^Q90O5Ll1HIy@ICUdiP}-w&+~%88lvvX%@Dv{Fs9V zQPQNNkA(&|#O$#twUsQS6LZ(ul>b1-|IAu&EHvPEoKweATOH|4va*lCkmOh|kIC_D z#BrGj#vhkSS@LmA4P5RLjemrsVR~DGE$bx=ND6LtHbZcd%@47-!(rudOiqXRnF_31 zPx#8fp`+6(c5WmK;=s%<0SQUoCMa0nU5K*Dv63?}eaD^KU3_=n1@W7n346H6&kTND z{hmM(j6e}MD{;?WDbBo1Ta@diqK#NTxL!Ki6OX|Z7aN?`Wn>w&Oe}f-$JC$4_z-Kw z{TkUK<2G(9!$wJ-GD4-#c{(l?iQEyRe#3oORxyQhj-t=5bTgNQ*)nak<)X2U8a;rGJyw zp81$2Ck_#{k;6?e+9 z(QqmfHJyGcw1w-nrK*)sBrbJY`D?t9>SYj|qsB_0(+1(V9y=%w`7bOQT(2oDy(-&k z5vOg9%-MqFf!|t$>T;Q3!BiLw+(O0##u3V{WvET;r?;cr;}lx#9qY%_RbhQHPh*$( zFVFmo>x-(QBJO*en%?^I_FrTw;CDub+>kT2;8@J`A0QwphF9y1`NURmOg9Tn6oZGu zZ}OR#*Ie&DtwFUve^tbKcqRl5IPfec;LE)72lg>5kp&DmQsvTg5A7F25_k6h--fz5 z9K~ZLpLMJ#&)V$%$Rrj)jyIYefra(*F}@sdkD@swA;ijbU$PgLu8)U7%{u(w!g6Lk zj1qdSBQF(Uq_S{qdyC!H2SaZdb{CxEz#2>ggDU%((MY1CFsrGX)%09IK$gpjy$bUG zr4@fp2G-Mc`Ji~!E?ZlbZc-kDgq31%a>U=TmQ2y4^1oS1Eyz-)${&T^2xve2`a{n-c?HVf4YSDXt+n-Wt~*&DrHfmu~_L0~$mbhFbCl z9;^kwWB;xiCbK9ZsomijVtViY9wXC)^XRTFIUVCEohSZ0ZZhF8Ny<>lWKA+s2kVgp zSwblPjqI1CpNH|rc7G6k1uVuy9;@9OjOWIW(rxn2+e&P38P)pCL5sL#RlQKUL<&{` z&SHCb32k?P)%gNGDLiY9y&&iC3ohW+y~`!1&)1>qT)wgx_68z=yL0?`)kf^R-$l%P z@RfmcOZV_x#|-siB<_1B!Yu)fBa#{U?;v`Vl?H7?G};Bs$N`wN^;Y&p+h=B&M}8mP zR38b)$%6DgDTHF^eXds}Cd+to$Bcu0E+pDd%o?7yNmbxSj{grkILBWZlW34 zno`Jw%Uz1of4Z55Um}Sx;1bREV-T#%h3gTqQbXC7q_5;%>Vl;~TsBStPT>9$%3W%! zPlyamY1y`F4Ig=$DU4_C48(&2G?)QLxC{Tn!`rwp0NW_>>_zj)4YFQlS1t5cX{+iV zr32~*xtk5l%&enQP;r0Q+)i7G_=}4Ue_*HdA1}ujcoOTJAMjzBl?iPIOjaSjXC+B$ z^Zvj*B-Sc@xisb;5tk#8=)}vix=6c>uYk_$w^b6zF|0gX?>a2N&||P+(wv#-Fj1y8 zd6(s6H84l+iAU#PeFAgfwD5IM3tb0#>Z?9(N}G5Q>^%_ zIMv#ZT^KYzaT|zt{axO@_O;9i(yz+t=Y719YWZD5MYxP537G$5l6(!{bv`JVn>@qv zv7yUaymmi?i;Xbn2z`6CF|M7r+Ee5m7meDoK0GDOxa3=va-Ta`1AK)M9`!HjJe!5G zxm7S3X|ez=DDY7({}`*(p={5^^mOGRaWWiRRen99IX{guvT%&W!!b- z%;kWjMGw4eB|{sAcHpd~Lokh9t@P_s7TMP^`B{v^P1e4L8-kxz)Ku};RHmomz}X7< zQ*Qml{b~Duw;~2(cw6-fU)3;&O-7>}N9q_Xtz%jV8PL-3E;=RN&A}>98o%Uz<9A4d z7j6|W-t2UgMyR{_k~RDl76h%VkQ@L1CRB@K(q-aqNE=GLF(4}UAwKA4i0Mm_^2Wu? zAv7w9!FLK`-%>EYDTfJs(l4F{_SxZ{fc{(F3b|>kmWx@B(@uUaLnMYoXITxyc6jR2 z0{eFj+myNgSYvON4$r{HsXsHYmnG4aLJMxvbb!Uk!bHv4^~S81iEQRg=>qp};$E!f`Lo)tm*ia~hfx#u?`z&^R3lvl4G%0_}1^Wal#^XS<)lTGNrKhnTq} z)OXMS#$fdU$C>1<$ncD6$Px>?;xJ6R`{OfDrapNywpLua^~rtGZ6j_wE`{C35jD2A zF4J$=5J^Y+ZMiyrdF(+ybB=W#gNc1Z zEAXxyQ$^!1Z0Oy{Zb9e0Ob+AeTnz>BcM)@%R^mIf)%9qr5~8%#jmyz?k(HA4-*g%_ ze6i6SOZPA4qkrA-%Kx74#&g+?3cM$W0ulI&&CYwa@FdH_e8#?eR3I5l2q@ zAIBS`-OXcGLP=Cjs+D%n7M$TSPQSncA_1!$XM6O;lpx2tkFdL9SGFU=DzgXq$BvJ) zd3}RQN!{#YDkD2ms%fx!DOSXNjNL958a~2=Gs}v^_)qM*$+d5UGFyB#aI{QvYnj!14_&a$;H_5v6uOQb+&pC$`!eE z_Wmlx9Gxx~dzpy$9mdlQ!}%R6EjJRiem~dd*4OfTB<&yse~~-TOI5VJjUW;{(`f`*> z)d46RYr$W*u8pH%XX(HCO46MPZ7SN9FVgK8t-qBOT;5+|Jp=#7oeg}UCwUUL8Xi(# z(SKu!;&KV+gWpiASTL7k&fmp64dcn*wx}F@U52e;M;dxxL|M9Ans@@^XJAvEeP`S% zyybGixX&LlR^9*GRwfKb=gvMo9R|!rf)&&uB*JxbelIEzTPOdF1sQCC5;h ztsIywr~96<=+HQvaGHn0Wu*}&K9x#Y@HF%@SMxa#C6m&+;1XY%P*l(2f}NM+H(}s$ zd*V%&%vS7&=HTia`l_QO_s((L%PRe>bhoZUeauvj18*Ee#$chG_O?3~d9GJ8I$+(D zgiEE)aUln-!1Yqbx7Eb2c%Cu4exETf`h2y>Qpo*+mSuVQL}FsD{QlGpg1i;!>RP4vJJVT zr^+wMDflQ$MufEkl;0;PQ^_py;ULv}4_3}0GsrSS9D2LihOQMnXZWv$8` z$!=sXa=|)vUqY@VkCA_qZ8pFk;y2^v0h~mBPp&8TlVKax--qN?@)r4+w6La^@Pf80 zw~|YDs=Q^tGUX7CfyCq9W2)$JT6yEVvd9Hx39<~?g8b;Bx_2NeW~*H0iZbb%at2xQ zsmkSW0aN1r<1G)nQX{IinM`x9l$rb=Jf zaEWkcU*$sba$mbDZc|aOpUNMTt;kN~2(sjt>d!{jA{&y;$w6cmd6RrZzOwV75q=az zQh1oWMm{26kri`!sN6*!B`=VL$Ey4HxPU&ZMtK(f^N9;p3?uejwM9KHjSTi!9`$avic6nO$7uMRC!_9 zqT2sQg{fjK=^w6g+q%lg2r^3fMXYjg3*|_1KDm$dYpL$9ksp$G$d@hc>Y+?4Wg5AY z%pq&GRrh*iOL7b8*-qV8wO1Y{-8!f|h}=(>?Wp?y**oh)bMm_`DlaCBbXWN;vfbw@ ze@O=8^k3RU1u}$O-Ana9lUvDKE;azePIiJiWi+rvAJSQsqk`pJX z{G6;aS>?SBqW``Bohqi!QJT5RjAhE_WSQkE|NWD4!V2Xr(ieBXr79|tA*)sXjjXpu z$PYHCz6CjeyiLBjN!`1VbI6zYxiU#;l`ZW5 z)$kyS2INm<@vW*)B4?0ho9auF8^~?sezN#>^*5YszfUb`x0?Nu%&V-KiY^s2IYRow?!LbeQ3 zc^`Sci^_9*E4#!i$C8W4{p7`=>OR%}wLWZ^q+C5kxofJjdW!PI_sWN)7p@CPmAy_@ zB1*hQH{ru0*J z=a-tE3%y& zhrLCS_mC$^H*7wLzQI^!$s{iw|9|{i6`xO3rjXv>s62j>at3*HmdY3ADQnGFHYfX% zL&!2;e4n^HYQ`p_T=YeJUN^kM@}VYk_*X|Zum?6T_Z>Qt8%?3$~sS#^`9#%zfv|P z6N~Egn`lqvBTsMb|8;RRDG69YeuQhAA`c=@k@I|2zn+XPrgF{V%F*OBawfTuTuE*u z(~H~n#Y0q_BrlSGk`KveWMO}O&yReQ3??g+HOWZwQ?ex)XXisNav(XH{Qg~y$OJ0i zAeWR@`Bt#fx4iOw{3MQ)Tx;_3Co2DnuQo&<6|I~^+5>P>Ee>HZ%0c98@+4WfrMfS~ z$%6QI!#z0RXfmRU%4NDK?~=>At32d$<#Mt=ZtLTHyP2gAW`~o#)MG5pY$bw}c;&DG z${h*HXJq?ZT%ELk0fkcr=^Je`c0rt;@x+36~e z{a!hrTt#|Ysy|NVkSk`YzUUm~HKFwXzH?PEf&8BQi~QjSbuTebxq-|e3(Z%(KiQ7_ zk~~aaA{+mt{=Zn^t>gdb)v74JM)_WvvMxE19J^Nav&bduRj#-}X*MeNlSlByg;e1Q z@(g*Ayt2i+fy2X1D*ht#NYAYrKne0KGLS4gdvf{073>Wten5UoHYZz=?a3}=A9666 zNPa_3Cuft3$ra>AWht|riv8pX^8D-;?-hPC-~q+I$)~dizK3L&+@`sEo3xST$@j@H zvL;!N{D_PtJCHrd{^SU9Jo&A%k(ouseDWtUjoe87LLMPclNV-pt5EpOQV%KqLp~?X z_SsV^6fPZ5YP;ssMwXwwy+YyI_85xo$trd?MwTZllVM~n2hsEEQ}Geml#C@?lO4%!WIu8! zX(zuXr;^jj`Q%UJ&%$@nF}G5&i`+vVoISY`&W0{h%pq@(_sB=&6Ecr1v{MVrlPpHQ zM!rp!B}2&CWR%iwno`l4>_YY-2a}`7BytKljl4rXAzzW{yELK4$l!F98#{;^YWa&Q zE|4GYR(W8C@+rA{kIGlcWBXLTNM0dtlK08t`_ygdLe~zjC zR+e(?DdnBh%8h4~MK3A?$e?VxUsl%5QMS0Q47sWN-z|;}m2az}#2w{(_msJ0wMQ!V zB9s47x%?C5q{8@NOJtylyYh8!rAIksXjkQ$Zpu%(E1P%s(YaweD!P+jlEcU(atb+v zJo|+P6x~bNudmWheoamz=aNgvw7zzIVJj7T$YbOg@-lgw{F@9Irtd!^Zw^=a0PdGa ziJT%6#;g1*`IHQ@f29tee4`vfE+zZTQ~gJ&^tVVkl+43-<`Ple<;rg4WYTw)>g$s| z$iw(Q3G$x3%o=_8l70}`0L8*H!!MoC$~F@{`VUdjc=)kO!5|K zyRG^ zS+vSulapdp?%GC~-AOsPtFqPS${jtFbH4D^{vSF*72U}1$t-fmNOk{}Y@DQWDWX2NJpCRimReAMNyFRpBrR+ftCTp)&eKT@98MsFE<;mc+Do2v9HmW># zv$8|F^6qZsunc9SeXl-j&Qgv!r#$?JGX0M77+Lghm0Odyo~nHPnX>2$zl6ek4v>|G*EGrJE|JHCJwKt;{9M5e-rZLUdYn_Z^#3fOPYNu z|3}_EpmN9|WeRzV3_Yy+3FNQjog=C*bX2*3ta(i3E1;wQPd~1T9pnY_4(Xk#?nB9c z$>G1M-keZ|k&Vb!WKVJ<8Jwm5r)BwR|Iec$?4&w0B3qF?$&F<2Zw!FUBWs^h{ikF{ zvL{*pw7Rz@_nfw?;y4wDixzWKh0RmBjCAu-`5W>Yx#~^TC*q&MNEJ4CTUn-*@;Q0< z9hE!0s~kj5nH^lS@SFAv6u&E@&eh5)?~vb>qrSZICK>pi%AsTw*^>N%98Ny2r2Z$o zuY9YrgLbo3AI!&9)Zq+SDn#WfWCJpm>`o3LXOl0;>Q(jqX5@PEmQx=p?&t&)91q4! zBmXAnhiL$z;mY3RN%GTbsy{&PtFCgr8p@Fklz)&PM5;W8JRp=#c#Mil4b{U_G6LT} zNX^EO-N?b@fB2DQai7v!xtA={M&%CVOmaV&N0!A8yGKg^J@6p>2v?DXSK^d)IxG8- zf0B#3tA6t5%6Vkbt&?jPe&uWb50{q<;SOe9+=>)-C%-5Ag{%GwS)_)_jmWOJdM@v^ z#H9e?bsXvodtu@xEGyyQ%fOlPJ~&j~!}a9}O1rVB7}}2x_Ej>hBWS z=DNz$$aUlmp&bFvs*4{|16Pt~NzebO{yp+z@=J0$xr*FJ-XUj>)Ax6g+2l*7e8t1q zCE_CZ+)h}DY)+oRH73z};2M*#0@;ZSd7%3GWK*&onTp?%m-lKuS9<-YtU?ZO$DzM? zIPZZ*1KuNN;uev}yU1+vB^gpe-8++ZauZqq6LlX+9whxfRecSza zPmzC-MRB7=GSGrdAgAL7i|FlHd~nBA7EyeHD=fk;k`Kt&@o&Dwy&4%)T;;Lk zh;WrJ$0$q2g3|xn$^&=~hyKE+WaZW>cf{Gc=*!xb-IA1%LkMmTKm!DPkJg0o`ccu4v zp65xvK$`j-R^0hxz-u?gv&l+9s&7_Zxrtm_SLF)zl{LsY4OE^GsqEBH`6W4qycDJS zKKQ`XE)kE#gK+6*%3oV5Q(7r+wN-BFpse3fS*DY6bXTSSK;<79$_59NP07yWtb?jw zdkA|R67khTst7);eDjF10vS#=AbXQJxQHw7-?^wjG*{Y6m0J$0C zv;(GMl3kni+YeHd>3ihCq3@CRbL2Pg;-KA;vOx7v!=`)?q%0k*41HgDtBSI5h;j<~ zk}OqK^%cn3xt%;h`c+f+Dr66GJ^6^NR9*em zB|jyvk-63F>Y=N}IqK34f7SwJGZIP$}$D$gJX zG*>ys-bx=<_fTHyt8CU!*^1osrOKJ)!UUCV_z`i5=mx%A7j}J3`H(DIQsuhjaB?+i z-@}JLJewd*CTanEMLKXwrNggC(vIc&oQRI??l{JPcGsY<|k@v{|$Pv@k zeK~oKTsl|vzmY|MPjtD7%9qIh1*trvywc!` z2Ew(Q_Hn8xEW0I$s65$_?A=H8o?j{t&r-gFpFGPv{thZd*O?F)n@KEv`Ss_jJ|06#myO3+h^6S)JO)`>fCX}``o{HD; z|4k&KG30)7{rlMbfWA|hayj{Sb(MRO13y)H0$Hkw%C$aI{!YfVQn^3q7;MK;(O!02 z5YeP|%3e5D7kLOddcVqPWfbA>+s|$S0qwzbZ|Yb;(c3D$&%FpORmaL&(|DcJ;WBiZf(3>DgS}2Y#k}yQQ)$ zIg?yTcE%Z}Gc zJSI1FP`RdTpdtKrJ(c!G1F(DYV&K9GJnk?~OrHDBs{=u)sA9$O5CHnG(O{XKu#_~RX-*>9K4}OIoDiA&?f{eV4 z!;jhS@_-}2qRPGg%2IMp1pP2M1_BqXR)()pHo-TaqJM}_EroOOX@zjt6y>iHF@8Yt zf@$qQdgC~>ZUBzUD=oHb_d~1_A-Y$K@S!e|KJny@4w+b)59z* z1^X`#ErZ|zoK;pC_nxwPW#v`bLWBEnvej1A!z`AqHgJV(wSg^Us}1ZR{=o_1%AaJb z4e|r>{TeE-mMu5v@6?9KNBSt>U@sjT;#GVi6b&I!~p-p?YR{ibrL zY)wHQD_c|GduNm*eplM(@L>yimi*$pdN_7Lc|!K45WqaydIGnS=g5D^ckihCellLR zq~Je|TybCJ9{)OMH@;6)v4?bfs`7V*(XH@eog&KHWUy>SLBG865OA*5u*N2$yO2+ZDcD6e3786CR;*~f0dmea27tbc2IV9Ap6S( z4d{MNS%+*-eoOvLo+V$9LD%t~9RW0!2e21^f8)qCWF}eThPo$^^U1?x zhHT^@o;PJ92D}H_~U;@=#f9Lw}vD zBa3UuE67f=sD@la7SrGuGDp_NkcYm9*)v#DR&-!XSO*B&YQaM) zd6|4lzK|6b+^fin3XCCB$e+p6#$_d`bq7QvIt<$|{?cvE)ed60rw2@2U&1H9$68y zS8x?stES4g>np!%q)e0r2mEazZ<51hodEs*7Bc_GgSX7z!N%k;@*|nILqA8R(cmeW zMuVAMm4PyihP>}NCM3HHnPV@(OZcx<4KXZ(C;h;eMa*C1u_%=%eW+Y$=R;YUD#2r2 zvTzrb-zFEzjHrE4Q??P9f`FTXDrH_991-$>b#=eiC*vPGN=p zdt7xM5xZUL`-1LpjKgWWoZLlru1} z!~hu=z;_iSW+vOW1vhPq$a1KQ!SgB&r*3vz@61{_zO&s6>_M@Z1mzoM*;e|8{p ze>sQ&OUr=^Sc^PJ4wHiy=)WUN|3iNP7+s-%CsZy!;bAZygkjZ`cWWv?sHMy$=gC0} z{GD#AY$69KkQb8;Wj+A;?F3~xIUj*sP38gME;4Mh$|bkT_z#Eqa=rmxy`(%U<3HqU zWGg=ms}cZdN~&B^_PC)RLoVs9^1rfW4SjzZj=?$12L5WStO|Gf3ZBDo-HG)mAyLp|U*wxs-%AkF@{I zhlD=rup9pcPdro@q;#9AoGjaD&{vn;F>tcj1u#VH0r*U=0)h2p(+RYR-u;AN+?tRGyGS9LVqVanNom>w`HV zr!{bh8KJzmNZAEHYb^SyN9zR1$z!BE*42A4<+2WLvl2JhBaz94-fRK6$;81AF{D&Lld z3whdB2ZX`#Z{70Ez}*zu5594Q2|@R_sl@-ND~3}wmv%7&6dxF_^Qg2C$&(8pM0 zJXSW8k?ox#rkOAR?t2gcI6)RI;EbKh|KxqhpTnQsEz#3_I}|M(>@6?iN30Wt<(HS85!Yzmi$!42k}on&y~9kP?V4X0-Qna zAREg-0exTc9>!`n+`97qUU^(@PC-6B1PNJL)Z7$K#I4*(%5~F}{bnee4+F;(GGCC- zhhe&1=vrY@OtwS7suPrJhJ$f#=K5F4R@0Tm@GlKS{~_6fy!|~A3VqV+C~~m+8_H56 z;Xe_3d}P)jDQOIB6P5dBPalr+Gxt&O_H9u!SO_z6N;YBAJ4<41HVxCh= zlA{4%lcNBq?6-X7Q_Jm^dgnk?`(Uj~+!Bd=BVFnO|2F+TY3Hlv68~QL5oby}cl>IV|0%TM(QjHl zxm67EubPUigy0U#e-~T2UdLSiP3RkzAMC^gyOu0xarC@T+~(9)e27Ul?NL$V*0gxa zsg=p=C_G5qHZe*o+HJYK6!}t6^k*0(uv`N85E*tZ$l4MYA5gZHm!wXo*09I2m&Bv_ zx#^EBhe-T<{$-r9lcW<*QI3-*V&Y#Yr%Sm`F3m@NPy#C?VIyBy}SAAz0+Kb%S zf9lid!J3U;{w9kM@8!j|cwG6uR7Cs|8Y0%o+YL^KcDw%5{rnV8*`GxFX`1bb<@6KC z_rLCKvOF&8cI{KHVC)%fw15l%`sL0uzN{Q9>3q{>hjR89u5_xRw3~R7QT$Nef}^fQ zPg!pIw`oud^A4i@ai=yxKB4=$O?z7z_q!E;>$v6frz~^wIA|#6U2j=MdD|l#sbR}H z*?vfrmM$+U@C$jD0_&9fd7vmctt?f2d@`?lx_++!n!quVp*j^@Qa$7jktBKRzMpQXC`P<5-h(+w0yLuWu4MXf7nnD_4n4XlcBo|ssc)@aTXeByyNj@pV_5k)pUsx|r4oP6p-oagXUV6$ zRKio2TLrGouzXYL;0~H>xK|pA+ohpcD$iKBQySFOsZEv!U24+~OFrHt9}4f{)IPn! zGN1bG{HLRrsaI^4^z5Kbdx?rA;R9*Fh*&O(EX$?fOI*?{<)Fg86N$fI*KWC<{Mcyi zq|d zF&>n_Hw460yy_O8QtstNu$iy?O%Tlx^l)@nOpMAG*{^SijbCE?29v!DR)Oy?$auqyp|ch_5T>Q=xrml>X6!QC))D ztcdorvIDh~sa>fY9kk-{4_Lb81snN8lx1?wOuT?bh>K{1IEqGyeK%RwzG->tGfSu3 z!5tbE)QUd05FCobW$CUxOUr2nF%m?qrKBatJ`MolQ9!vf)dMvJ% zX~0!9RQz5UV1#YKa~)cb`w84?*ZL~^Fys;+sQe?xil0!P%(dbgQzGTQXGp~=C=Whk z#ZM_~Ua;bc8!i9)hGlf2<+-w0f77&Ul%pTwtVsN>2W4m$@t@{oN7$WTzZVBTYZ<+o zq5LLFt5)_{XT{%@Lyh!&ekEVr`<&&iGWW!zv#7syLptWdtr>nn->tZXAMd8IrJv)}E~PRU`1m&ofgTp{V_xwL*XP@F62 z=z5EuXfb|~&vJ|R6I{)_S!c?C-R1x7^t zRyj;wffAoDH#hMCWnc{r*yiFNoLhE#U1a`$F#|4b%~}$E40PE=mI z--y>;D&ZC7D%mid zf3GTWoV|&mmAG;?H@?ldvRPioq2Hwq5Z61j>&5QT+ETH9 zl=if8w;0g0-^F7tKG!O|te#5_^H{-mAAm-6P`ax4(%T0M=Ioc}OWNxUoh zwl#d?d$1Yc@<};cxkQ=Qo>wtzT-p*U5LYP+d3R3YJCttT?2vd* zmE(_FaogWwFh-kr!b-@O0^d5cN-2O9l8*g|+egJ}53qsQ>7->v6wi|UM#eE0azkiv zEV9nty~y(IE9oimcScwq=K@sX3o|WC?-5CeUu7jMUvK$JTPnCr)3V!fVHxGprppCp zZ$3xd!Ez6A`(onqMj86WX*O-+qpT&om~!?Zb}dgF>d=1dXjv=j4sCD(@)5%)d8;63 zFX0R)?-}5cBm1qu-jNf39B3Iu++OL_Jj$`k+mxyDCOY~5 zx!CeYWe<5rkMtpf{=u@s%7Ad_$f>wbQ@?=86N0nbFe^(w)qs5;_X<77Kyj6OF80mfy;bd&X*y%1B|I># zIgb~ewjTU=!qvq0@hRPFE!$1BoIRQRow3>y6MHctSb!y7|3$PiTI)97@&hSP{Fhah7i_b9PBtU`Qhn?Cs0)I7 zZ=rV#WvAOLpPFmAmp8p7{Tt8q4Sv#IX&SS^mvr`XPm)@CSQU0}u6-eGy6 ze12sbuPv4LS#nQEB@CsY6llNDQlkQUn`o`}PRr8GEHL7iNP3w|`&;?FY)5>ol*5}P zeH`!GNjlo3K3pRCxIyy!JGFr1_veQ>MoWP=?AoYBIDltBF~g-jCr;C}Ch6`vK&G6swdmFIsW0vL83`Bwtq+DQE8{JxIpjGOIwe&H^Rg zN%_G>(l^9tQ>7xjPBz4gh}(HKOd&3Qro51MHf?{zYP*#)d52TtF7X|1Pm284f46*}eEV`un@GNR{v>vYS1Q-a3tHlj%L`g; zyTtMu>ajn`yIDahlE5O_03YYFT6|RsylvC&k$hbKCtk`IWR#B`A-+UD@^86csfDe$ zS2U8xB#va*Q5k$7(y3KcBSXZxFX{b!oemA=2%)GljLd-Km9~ zbO7hn5&tAs8(PNm30|+fa<3KN+C+YLZJ3rJANT6cFHAmW+5Q>JweMSAD;4sa98uAh z%f;PM+B5oNPxCp0cDx~J`&83zSAM1Ze6W??e~6`{J)13aYTG)X#-lTjpPkxR@oL^2 zkXHowuXC|`l-4~BFLP=?%XiOtN$MD6d0gW6a9))1_ppACrxUoqp)DP0*@v05@wKC2 z%6pVgO(wlpto91`Jj4>YgNwD?`>-wMB?uoH5~Ia|Twp7o<8yYl-|SjDK4&KuD!0h? zzXf@5B_G7giqZa5UM?TVBR*4kQa+eRd=+ca_PtGen6)TAv)J+^H(6{0cn6OAW?~^cxlt-^lj~J1kV_OC%+FMdW8Sr_f1Mo?e{mfR>gUkL>Xu#EkHq(o9<)z&YIDgD zm&ohc@tld3m%L2+^_rF}?;&Hc{DcW+>|)#@}i6%C_MMymKCq!-}LYe%FS?S zGiohAl=x*1?H7sTp*Q4*3@&$QIg)^f3z6sHpO0I9{w5Wzi`9PO+Qfc-ls0@1?s95= z<*Uk_O1r%2O@5-%ko3NG?OwU!$08YFJh-2FUyITXeiO6;KUG-X`6+I8XvN>K;rmfq zK+#~5v;@;&7-<(K?(20Mr1!D!2`Vw5h+MQtoM zx5Zk%Kp1B^z8#+6AN<7QNNzt|&8s*G?B+c+TXmH7gEE;qgjh6dbm&R%zT}FC!w03a@@)qxC(Z=hv+GpUMSW_=tsUu!Mj(rO0xI@`X(_By87q@336_F22gE zK#AiVF_j-96JO@5jl~$@RiiThL*m={9^OZo&&y5m>sYOz40)S;&mR6`i2Wtr(*Bf$ zRJ%6%Ao_Vtpj;qc>C|$SC1NVqF>kZj@O8Q6FpV>%a?T<0`R%sH#f%tj&KAmH4_=hn zN?qClrJ;Q0+aMXgMQh*wj}6|kX(bVK^I<%V!_gC^J;`ey`vN|7$M;}tMci!RRh{@i zJIg1D+yCUBw-Fcn%j;VlB=JGK0QXp?plwl<);5{=qkQ^8nI4okNoGfBrD%(CY76Cr zf!`{p@`706K3+zO2PC~bMjJ2b_?@IogpG{licUFag|Mm_@(kfUT8~v40mzG*~;b08IpguLwifvgV(nb zuUER|Ny}r?PE918A4j`v2Jwrz*Lo}7$Pc@IJ(rBnVzfu(c99mP9aAoU*oqI5tNCW$ zyAX%+nX_jsw-#7liS}#SXtmE-KK2IA<-60$KE;%~-Jv~Oj&C@%%Kun)K1#WVf;KIW zf1Y4}$i`hA%en0>ukUF2Orqrjoh|P>#)jKn+RMsMm47QIowD*TZL~~jwtP65?b+_B zUY1q8F-SuBIaWgbxt8htHwas=DD5*U5|1@lUQ7iNznluh&Qu`YuUt$$5}z;Izs5(x zWP3cP$x@T;h+iS)@!J%>TP1sF--xe&UmOmtVQ_KUO^XkmZ|7@7GrR6Mo8H%3sV+ z_=~S8`(I?m&l_aSO6R z&oWEC;75A>6{z$6wsgQ5t?g2-m+$8hKQanu#%fQG#&7wWn_tpb$7=Q0?db4o)QW3u zop(I-cU0ZScH_+*j}|*d54XLbSNzYh^CDiJX=_Ki){P&rZe-z_Nhyvsj+E-ej)t)! z?2wcZDNrDZ8@n0Ck!y(PAD?gx`_}}O{BO#(RIsI`f}BKE!4|86BB|hfDp)tN=!`1g zGn$Q+rJe`xGN{^?Pc9k!mZ_ zKRfA24xZD+FxHH$SaDy4=2=;27Ca=Su8ouQ(Atq^?DifKtNescS(TZoJ80LMkyUF) zR>>AmM@g)j*t+o<(nmEWxd~>MRH>^v7{+(g!)r%|=}y8rJEM|a>qxdu)YsKIM#hGc z%)&<&==rsd1pTjCN4pLWc9gppIXxxTSQbldf9VVB92dpd&ohkNvVZBX*Ev!W7czY3YW%G4 zgQa(OTRSpd%4O=m)H%-ctZ!wIo5W6Cq>#7Kc%gv z)=f7Wuy&+dij?Y}21gfLAH8pbwocbSqyt#kjjp3~sCvwx_b zDl~I?LsHJo6fwPPN1CzAV%4;ou`Io3qa)e#LMKTy=Zy^}=wlllod=w9OCr+}HmCgb zDxTm`o!qi!xW3EvaD?CMT>p zU@Ns9U}dizS)mGisJ}=7+ogJG#BqJwXW8?by=w-gRKKYAXmWVlojBQSeBwyqZAGnm zvwn3Gi;^mv9D{@LEXpV}49eO{BJkA9iqNVI*XPcj_ClizM=X=tJxu4dyKr9EbcY~A#? z4M(S#N=7=j>{7klV2XaxBZea><}owv*puCym)i$L>&b^539%{F7n!N~PcCx~vEBdV zR%cR7h(XCMyX46O&PzM>l9jyTmmciXT!!XB64uYLIWuU`ESvMKm?zkIZdr}q#qLZ= zYhTxFtk{!q)AX`@#*k@FsGe-*Z@aFooU>$Ty1QgB%;3-Z?RKYkiq|Z%j3P3o@eHxb zPe0L8T}y4p>2z+{*w)%&S>6BGV@mbsW|@Bak9Oy1dyGr(8|A!k<`^^aRsa9l$GrcY zy^o$|(EvqNGltOO)_ut8jjwL#Dh-+1TIg^6gD7XW;1bSBZ1zb;8r_fzR+J8sUN?6( z)75#shS-Wd@z!yo_EJJatmEWy4$hVi-)HXU`)kd{tQ(&orwRsXO+rfb51cT~9hm2r zb!@b5e0)oaI$Njew>g|kF5O3~a?8%8ma|5<`uN$sf6gr0Fy?gc-_^T1oyl4A&Gdbw zpH;=$|5HVVS@gNqDyDJ%wFa=ITiwkf%Ug?ltUu#)ro~kLMniWE)ekzI-8#I-ftp*^ zskP7qy_u%;e#lI(y2fnc+9&pK%&nW~S`)7ZGPkx_Ke)k>aCO7qXLs&$bISs2OPQA6 zIZoAPB#eWdlZ^9?tL1Ua$$(Z<=M=w3c~No^eheM%IE`Z5I0VYO^A>jP5(CR)A01 zbh)14a(22ZRn8FR`F1Q%&MgCeiMjbx*5*=r5hu*E_mN;0T6DF3#ZgDcbEH&rTXTGz zc`Rm$5BO8rM|dlv1HuBv%v{zs>q_bc;wR`d4rjG7xP>(jC~^XxU21!L~bJpMAy zT0RNYPs&DRe~(l%W^U8Pk^D5?B zE#d0gvlsm5X6b&dr7z}kqjlOjm8Dd_W|oO=Epw3Pd-IvzZ1OKo!x%pDglB!}%F@Ms z`>0*LC1uR#1hdc!T%w&3&C$oTbtZFdy|AtG&R`i6kz1C`Jvp`UwOkUkHo}_E=gmTm z+`vW>t{)-I+I1D9(6Z|(B8J}M2W4t+wcXYcxTvs6s$uI>Nq z_5ZB(BJ(_yBkJs3r;ujtdfpkko@`dSjeD!+o`WgXZ~o(iVm>bqGz&e_QYfW*S@^7# zkx<>vEHkgQ%!6FDw06O)=MRpS+_F)vWq#sX=pSW*3DqB)g?dY&$!=+sdV1=^q;mO8 z%G&9X{kt97>C1*E%q?oT(JYxTVh4`DVF&Ryi4_C#1^L6D&=-2WX9IeX`pPWPI7p*_{ zhojpCFPo{_S#2Hs`#;;7Qhl#kj%N#xGpX~}zmhGlEl-@W(&C+ZmdBaUWuRH|5pL7} zvoUw->paf>F-K^AZrNyk7Zr8-T9%bmBrn0t`WS^A{V$KRTa=@zS-;ui?0D;g<`zF+ zetHC^J5C=?_R~jW%b-p*OBc14?s@i{CRAT!mdS4|^I04H(Or(j&I!j(pO0dHIURgN z-x}|{qT@R(Q(peGZuLW~wbcoE4P#vup5mEF1@G4fws&^#FxA|uh_^jd`U`qiduLD2 zIF>`}iE4uW2!-3d!~1ad=IPaUdYN8fmU+IlOkXZ2{!tGXyk?o@lsS^2Ug@RXA}?23PoJ~QCvx*S>^;_n z*(dWlPql83{#gg-1;ICXHqI?`weBtIua-4-xkBi|Bs+jGpu$qxvOt6JwaUiR`$688&aHm|bu; za$HtAIw$T{9gDY)-M^*i{rZGNXF|$%EQHk~>vHa^(-yZ|JF;4`PSX4%ZB=Bc(X2Oq z@8}*ix~f_4_JgBKQb4Zhq{|_zx(eB5$WP6>{|ARJYAMC;rP$TsADfLoUSlfOjWkQ- znG>j*a6-0um~)qmx0yY?QpQ^be{ss`Gj|1*{Xnff|KJ!m_j!_iy4G>?sC8LS|FK!G z`N`q6U8W!GaH9;ciE2)aIkj`m?(oU1Flle>0F>8?@7$j%0thKX_#J=YC ztJq$8GxEfd8`h3Iv8&P@mZqEA6&=+}yEun;)mb=aY`B!YS^Mo_ZkV8%8%}TCaH-wU zcXe?N>v|Jw=Zq~2xn8lhd`WND&3RR)$sFdnW!naE@*At}ygke7vy5*YiRYKG4p-FJ zIPN-0)<|C5nxpwch)PDrABj`(n@%l9<)}}t-e49wd7-S&cF$J^&CFjtl$5$BPqDd%=>1bxlASJG0s5$I3Bn+W0u+0TITluTV|kH<`Jt5$4bkq zf2ne8MN5?}R}N8T>8ycmyUNiaWxBB@&sgS#^rhEfM`DN1SlbM!S+BVk&(Xs@oXI1e zHq&d<%s$D{%`fA~RZz=ewe7!W@AEcui#^sBvdh2p@jaa*I<_~{7qq7Duh%E^bY9i* z{bt#9QftOle@MnKeMqu1dB|8Z_l*lqubWpm!&!H$)m7-NJX@Z9v~SfPNp>a$M|04t z^>vhcVLZ*8eN2Bt@|v0>?bqzB9?mUF>tH!3HPZ6A);4F1*YCV+t-g>2)AGdJGSW}- zqJ&qM15P)y|5we1Zu{Ml*m1s@wa?5l=OC&=zpj__oU!uaFSqP*Ynzrcr%b4fvFv~P ze_96j^tFP`+-8QV%sNZT8MnHZ{$Vd?zcC;143=BgwY44c%76Gsx94$rz38m&!%0u3 z&%A-Vt1?P<^SAj@Ms5?*o8s4Bf4vPC9QhBW^>*@z<`Kig#UqwS8y;X{#GxK z({e~pCM^qF{??P8md3XrNY6Q={6^9@lCDYmj%CZ^9&!ZlxQ&kz@n|=XbRH7FhevUM zkEh)E|9<3aWFRVhHTO+NzWiX3v+nL-%`?ZNZY8&YqPBMm89pB zc0i?XRO$Jom)^>LNzcHn9V2t%%Hk9AGh?+aJPz=v;jxg%XubPmapxrNoek|@H`z57(^1PBymFJM&@^|2gI4%A*sv`XW`7M7T((~u?DNWLockFs1 zE-E&7U@zfMVzvADkgz;965g`EHD0RnD$gjhk8;z>tw-r+)W_rOcoz9B>1USNOu9TC zwjMz z$1dbkqFeZcX#S4&uf^SCZ=bWBFpqd1$vo0_JpG2GYi-(U)7)*f8a|+xM%cBZ*IRL) zM8$68gFx|oV>)BU@vU)FZ39cw-C7NgNM+Q)_rP@@tYf2a7Nd+l;9- zw%|8dfg!Bc`O+4;Hn2UWqU+jPV>EWcIhca0H}KOv7ZTV^!YJH_ldu{eNB7g3R*Gr( z8IH$VT#Q})wZ;a#7fWy@hVVIz;66-#M$^JL0_R=Fc36rVFkx)1QT$AhpDHC#LBbe} z-~vp3mLKB8415)5;itG7?c-{VLX5|99DrfW!uSGB+l+(o8=QvO<79?V%*3xS2j@*>N4NoNa0|vWRXwg}DwvXqSdXi41VdjaaV*B97d5RM zhhim8!!Rzzu9Iqw0=x`^r34(4X%WVw<0a+>Q*bnn#^-SAUz~7>ZV#F8)sl1K7d>B z6+DEWVm+p1GW4&~b4mv_(4YWq3>pn0=y6x;{CWDKg41jF_WVJ$6y4O= z4@aXP$6_|-U_NfbBK!sqVFT8`#qsZ(%iO%pP+>aeVkYKc05@O(j+w_I#EBTjB^bYj z)r@Jl5hvj*xEKp@J#NDy{0%EGWj<4b{m>iS%1Z59WHi)aWvkKk%_ze@uozMaJ)@f~bfOof<<<+xDdA2P&P zxQ96v_tL}nD8HYzgFei|$X7G~(+{!8chbQ_9REoK%D-mrF@lq@@Hjn^bj-)>zd5|n z{XeD#{TM;7!PLD^KF$(5)ET81!4f*;?pS9WKrdFI59`ImI%8-F>A_BQMiv1duEv6- zI%5-tx=;{Hy4D%-A24J+>x}W3J)q85FYycNjLqUec7z3Z081{aGs0Mo+J`g*6VNxP z&PYW+reg_C!(ezwosmr-f;kvSrw5pM85N=bsyf5>5fzMN1N2{8XRO5V^>xM`aY~($ zR7&}kbw(zJU#c@UV(1MzfaQgC#?oCha0?y75{xiHv08WymFCHx=(=ZqbMCGNuT9n1cZ<#4sl9r`#T<27Mpb85^)1 zD6boevsJy>T1vj`M^M-R%W;Cotx0W8E&h#|%7Uunqa zH0(E~2(xiDx*he#K8)ZA^hVbkgT7#nW9p5?=ylZ_sbA92Huc6NbhjlP3*zdHqysdt zLw(TL#GDj#s5gqS5X-RyD=~}_j9~m8D(F~mq@Wjvq7VI;j#=o(#h8h!F&hgofLkyR z_h125V7Ozj-f+ttli*{H+zItY26}N1`mh4iF^qoHWQwqoDaghXSdM;%HiD&MV!g3h zMz&MEQG(tiI)eW0^~QQerT~jE93&7Tklure8Ja*(T8bsf>{#qwZ)7u6-gD>)`fv*t z;vp>P!*&NLcYeJw0z(&44!sw#V=TY}7{MwmA5w25d__G&nHmfhTvBhO6Nn6}H>P3w zEjqeNf=*mqlbJ*GWimvV`2<6Ud6@hSKFMOj0-d46^bHI( zW?~6u;{o))LW93$M80Khp!-MG7G`1?{grg2g5y6>!<<(z0>|kI`c5#!SbmZr!$57l z;rb38rwl)qyH6P|8XUr*7)C#q#GNvhVmU7Uo*jBl8I|b86X-+N57ZNX%J5+xZVD3c zwLfJX!V*jhQ85n1k`AYgOpJI>85=Rs`;<|Q1$|E$X@}YI#q0?0_ z2#YX``_Q+PA;$tt{)rtgV@fa&H(&u4VhHzOWLc1&5^yi4r|3t=&$JMeFdKaszzod8 zNmzjS7{U_t-pkZrX5f^O{tFGnS?Ig(l#z$-`xyaA$D}IKb59uy(HmUB&=V+lkj3#U z39E^tdku3X@rO?t-rwj6repTnQ$`NDpJ6I~Bp*}Jhv}G(Y^=fn79XL0NyiAD2ofkMo<`q*813PI5`rcB(_oCo0M5bmwhcx; zMmjVYVTpHaFb>I7U^NCXf_WG(Q_(TlV5ATzBw;9qa1w@b4n{D5?gT1EFK$8~PGYFj zaSr-1fSH(&*|-Sd3XRLID)AOhLanNECSv>4Mv*G4OTMr zdFM448)c|diOUpV>M1tt*I>*-@A>qsfgSl8j2bLRW5I(hylu#f~luEb2-fZ14x0W8HlJcI>UjfEJ&5{$2B1Th6eI26O^#|UPj`$Ezk#t_TG&K)e9+u@K9#1S_!|PhbdBDW5)s5yS}Y zL;oez(?mX|VZksOfWF}kMh-@Bv!q|zU<9>hT0|fP^Dbk^uy8y(#_Wj=Mm@T3XfV!nK3KFO%5JoozBbd$G#pN&1W6a)2JeG=HBSr! z7SjbjGHmDgw;$>vatvQxKDbB)mVZNEXQ~{62dJs zD2xZ*r*)v-&*>Fi#d(_#;z+?my^(_$PCn$Oz&z@d(>vdYBPp$9{CNqfGQ- zHl|?!M_^u<OqIqxS?ONc}z>gnk??`wJ4tB#?&-u>gy(5cgpSt1*lb^q!h3w>^O{@FoGe<1++%PL4E`a&}VBjwqUuv(WsI1s752(%Z^=*Mj;kpxtHTVLZF5O zf7?bQsXG#KJC&iM0qK1kjSz-VqXGVY z^jsQ*e$2xxEWpKBj_WakCDPFI*&YM9l7^M|NXHN!zz9~MyMLomk6sMAQ>c)DAImWt z0~au~=uKlpFoYp=U)X54&L#b#Mk5u=hcp@sWe2#Pco;Wh1WV98lpSL_)?hZq_hEmS zhLPcoL1Q5S-{tHG{dh>cy3z2SM*%-Q7RNGVSU!%a!4PIsVHk5Tg0570Jb{jg6G_L+ zNsUISIE4}JOF9P7JGIf+g#M|)Mq>|w0urh*d;=})M}ZreYcYo@AU%MSFobEOXRo5? zn7N*YVx1ar=3yC)eD%*4$Y!2=S1iiY^uUT2LE4+IHJBanyLSb#NHi0Kpz;YxIG zXf!sU4-3(crI?9_Fz_5lPk-vcX;^|wG4uIGBa{4WTqxzxM|v3RF&H7>9zcbgS*FdOr*>H?1c zFoAj!{O{0^G&aCwEW~sS<1|SxVrVghn=yMkaj6j3ONF=@3$O$W@c@>fHjwmUrVtBp z4whs7z#tV8*hE4Yi!t;bYXRLmSyUI&BTU5*1~9LLauWZ5hGXEPMq~6vR9xCP7~Ub2ZyzxhV+n2~y&Q`$gzHK7c8nOC(cdu=H1-kj^^6$xScs`Z z$w-bElQ0wKV5m10Ttda?QSopZ)-Pgg!E!8@xQ_}c7r+uM!~C~GMF;-$ENZkR{iC-NtLYR&5ECn$lVbm?Mg;+NyNy)!lmpO1Iw5yj9}7L zY`;8WOuLHX-y4V+IV5=Rix`_QgryR{KVnp3IF}(C!3L`sG7RHp^sQmXnEe_J9LWxg zSzK8D9zDmL#OT=NvavkEA`TLW zG|^(QnK>E5hPEan8^gE>^XyH=A&EPhjHGMHcQqLcF@!5IJ+8^9!EpN~Bh61eI0Ahg znv7{;N9sdwmnP!`y1O+Q$=8vN!9o%O1P)+1W{?rWNf^dC==C-ktI>~}F%wHLyGN6u zjipC83B5g=i~xo(6~oCi9NoQ|jB3g6O#{cVzjK?6#TdG_DQFZEaF1;=3Z(#+q7NsH zCw_gCu^z*ds0h<1(~t@D5X-TAN|O=6f~hooBJsIRM!nQGugUPq_LzY_bWtvQL6hOf zLY#$>1;Hj`BOAK!Xfld08$;qkHn^UOF%<)MG2~csH|5d0q{-MP`B;O#dzhL@Y)5^W z7{+|e%b`P9h!t4Af(E1eLF%2%c0mFe1k!O1`Z0i+n2*`G2?JP+d039#RqPmj=$OLx zn1p`xVJ2o^HqODqhntKI7{P?868oYY%=1f(UA9>jG>s0OEC{OivMXcsxbQyJHCPa{Kym#&#a{08#w;63CtlQ zfB`JPe2m~GEdQAXVR{w$HG@4;cZ!A(_cb&bS;PypW@8VQpdZU|6GpH? z;*Ms+oyioWH5*yeIsUx_7Eh<8gPM(UEV-uHNS{GP6Zkq6rcZ1(a@ZhqCKaH6ZnH6n za_M(A8-?VT-$gol7dIOxFo3RqvBLljz|8yD5r*$?Ha4JpU9(Yx1y7J4%%b4)RD|g- z&;ZQDO3cO+7(my}ObvQ5glQPY5$N97Y)nHx1~Bu*W@9r(uo}ZJlRpz*Z8i$9d@J>$ ze@C+s4BSEm@38>}-fuRvS&T#pJHUbuXgQXD*lgrU{G(>0SmGGMNNKYXe=7~!MMJQl zj0Rxd{$`^D!&oJL-fX1Krr~_iY$ay$1&d1bM;SrGeH%UJdzjf+fcaR+S4a0@9zX0+ zG>4(R-!S6mvcaQoKK4=~3nj8-oBqWFBKZ=TwN3vs!P6t!aU&n! z+os1QdU`lh39r@CG-S zO}a^vDBMjyaJ|Rj3|%krOj{ZoR^l+lbWgkm~?ndvSbox8` zhjFy8itsS~Y0BD0>mLZ&`cJ|V-FZD!>wSee`l3u)5`Qb>H|Kg!s;!^?n53JS{csWf z?t0G!wlR{^EjCr-W2aO35T4$DlIMK;_9AoK^re$LDYlLJbCYQ52K|Fco_G2lilXQh zajpmLSGIGGUg2036}302?25ftxE+p<$@1~2`WH97^`|E@Mh)-ipH60ss`aBpZSi{d zDV~e?uHFQ&dtcKBwDWY*(`p&AjZ+x1iDvPxdg&C8%l5Ore~RZk+c5q36dM1Vo;Vef z^-F|_`t+%u^X#>+>Guz1#5PW4<3hE9N+q&koBm%}Ta^;Yvm#GTBb>uxk!6%Dk?d{y z{cV`#^)vavq0DkmXR#T)eHuGSk{Ru3bLd-z`qovT*T}~8+w|ILo&mNV`a$xYgP5Ei z`ZYJu%@J10YEnk%&q>NWnc<$!^jUlqR6l+Lm8+DMW{R1)*$hs-%b3(bkONy21KM}Lri>&T0 zp3S=sGV?v18_eL=OoAl@hsx6FNtYfIQgt%Uu}>Ccb$^oUJieN|IBU4L!{3*hH>^%Bi9ODVB0*>RGSv14+8*cWT&s0Ase6Md6`ss&nX3w4UCc&OJZkzd;+J9{9EY1PpavrZ@Go;40}(1YZT)z1K?XAP5enVt(J=k05-4UC3E@7UA#B zrpG3;x79?e^-FK1h1L4ax6<2&_w@U1o*w!}Il*P!$`eGXgrrjEpoOxu|BzzccUq&n zm?YOub9AEz%{BKkX0~U5eTlj6PI~@q#%G3}%QjBeB0i zQuU*3oVYTomVbI{{l!BzS(@H!j;CW{Hd$>|Rw}M1YmR=+9MAcQK4-1rQCUOr5LrX@ zHFG?}nXixMc&(|U@Cq?@0^I5iT{mJ=sFkU}6 z-*Y)MO3RUT!XL}xUmLEN7)aVCu8UMR( z_w;fGYEBv*^!6R%yXi%@^XxWF|L%5{RF(7#*YxgasgIBATdr2J*@n6r%UXz1PV@LWX? zZU$#z+gjs<-s@Q!S9S-D%WlUPEv&{yE%fy2lIN*CJ+{-RVdZkhmbBgagwNP!>O#+@ z-Q8Vkjf-q#@}#`N9@XC#=O~l*MJSu5Z(Zo=DC=UO=bSF9yVY9j;;OjhTjCs=oJ#%o z%H@o0k>|X`)FHJ-SCZsUvR0EdNWYXUTcLjIB1Se{US4T-o}nIB(Q=dz(1N$hPB&7Eq*yaUW(4-yL^(F76WIYaw5eN7*F%7jcesg0A~z z@qcg^D`Jq|bQkSDpkJ}r)3I-8QLXW}j2nNl&ms!$yQ`M}m}C7V!9LRV==Ux5bnCnC z?$#_RUN2ds$w$|3hlZTvBWFma8cKWUE3`98-Nni7y}LQ{B(2mJ-0kVDNABiiQ?5IguzE}N zflJsTSzolobA5FAQ;b}H{r*j?l&U436nlM{-sT?9l^n*`-Q$_+4E%jkkj@4uYu z(PUDWk~&GE=h!Os3Cm^5#`1}4a^z1&ZVx3YNNcG}2D*Z@L;5-@>03?Knd{E=AeW|R zrFluK)DKeorBb_^7PIydWJ&F3rcER5&{I;KBscpR1lazRNCzDpmQ`6`7@+`IaWUVpTItF3_o?eOj zYHN)FGC=&v$$vFPtMp3)o@@Ii)wK@03|}=_31_86NQ>9E2I!3YtgMuW=*)Gkqb*eo zC2h}HX@1fwb=!TOj?+Ulre$)Z_+qjuNb5jY{v>TRX;o*W$pR`Mt%fwe6yj_(dPUUe zRraNEj=g2(HYMbb*B7yiOa1Kq%u`1dS)Xf+BDMc(+}!w ze~RrBHxTbkp8TcqSW1~qdjB8?^FFd}J6*LmaWUWeXz4^UMZ*+bsJ|HWoZ~E~=;Qih zI!|&xN!-_XI^HXXcwTG#X5yStAI$Mw5EY2j>OZda^wht}@$`;bI;Kt!hCGRSd@h&C z^;(^AuC-)_n;d z&DU@KijJ;%fPqT#*BR&NKh5Pl^T`9AOL!8st)OLv?f$uvGgf$#ocl<;UeBFNTkc%p z>Cv{vQ)fKFG3~heCH?J1o-TUP3Qvl2C|}e0-5Q^o6`r*JkF76(v$6XBf1bOHBg4Hs zGuI3=X2w32kgtmQk`4l^P8iMOj8!Lnv#h>`Tau zrTM?#=R9}jnfd+i>viV+`Ml5ioaa1eKWFg$Cr$8K5r;v~jF7e=e> z(PQ6%Gf@6y>?E}RqaG{%$`j#a8LTp8-$_W-ZaIDuVw@#cPC}hKLSCNad%|ofADHY* zNKPMcy>O%*B0rG4ckzvZ>uPiCL>&g_mop|~knn}vIGGL3pzDR0bW%Un;LJpcl&2@7 zW}hd$Q{ZrgY&Hc^50*Wt<;f{i@aWU!swqAzwn66gqJ~eE=UMCkUN5Ywi^=sV=$wck zjwVU-Dqef5H<3^2vge!V4W5*5zlkP17bhMf>=ZKosM*YiZEyOjM$dy)xEA1t&=FR1 zWx<>1%(lU?h;YH@b4`F%jBNE5axZ<<^}=WE026_Eu*#NW-@+rL%0+MC4Rw=8-a;qp zQs{c&dYLpFg`(Y5UoCXy22Dk#rpx71;dY?hF%_w7EX}u3HVoPRZ8RiPH(oDM2W3m7 z2wb?eXw3M)&5~o^hG#T-Z=;KoDa*g(8;aL7`W-y}VENuVc!lU&y@PzjL=H6XgrI(~uUt?r8|%xSTN!Uql8@quh{5Cy>&;w5=-(ruka8?L56WfB3>@y^pK|7fubi zW#BrN;&Q>I$`_`i7Hk8naPHIjNm#Wk#pQ!b0T+H1bQk#nJBb?+1RiAnbYDWlK5$VB zHmr6Bpp!^f>2Q_l@X7a^0j`Tont}J*4Oa2=f*+mFgH?aobq3PK(41DAU^Ung5}h9e zS2Lw#x_IC_Q7%Fd9A?b$)kscjRx(3c&O@bvkiw;hA$104Nb_Apd}~@st4vtsm*OUa zyXxRr0Ox^2Z{uBjAzkG7cYPh)^P1(Wo{&8JE_zz?n`n~CYI zZt~%ozE0*;Ih!z09+{~=>!evIA^YURv!JEQ8H6~we-^5ZHZK%EP8-DAZ6QZ-WoP@^ zx$;NI2WR_wVBT%fY+pjxOY2HzO=1?>hf-V$xKrRzk*XgvBP|QXpcK~!+;LfP4l?L4 ztRj_T{n94D>R>77bHVKc=j;Kk0JmEXU=Z6&Io}7Xyi(jLaGOeTx4>Kk}z%cED$;$8D2WJW2jCAgGQ zTxW2o@7_a2H*ZbJATnV!*TJzmo(#?-+rEdQ8bhcdr@n_?LIZ@FqO1R}-a{`TMxK5T z6PfZMqWZ!xCUi@;=JYOAm{zvv# zczhlvqw+tJXXarfb5b^(@9Q1P|F$@9nTMyA;==~#{2Xq9y9CbJ_4F@8euFEK$>12C z(=V?SaE4bGadZavMRq=0Wm#r{uU7O)D0jhvKPF--9mw_zP_|YeJZGKCBC`h8C*|`C ze3db|F>wJ}s+My30<;yIqhN$wwGhEimHQXs{hgGz32kJpEMJG@{BQCLtI{!kOmrUldJ{I5Y)cM<8z*OE z@j-HnGnyX=Z!%a0?lt``4`lh0+{iq+YpX9lb}%fveOEI1W58jKWf4ku=MDKqa~q6$ zF|5+TIbX&a1_6#8cK+yYJGlOGJcG!nTTo~z3vG23R-?d`b8un>+OAR@FHjgE_aF#2 zf{@c*_CL`o5u1zWR_z{I(VnPH5)mA( zV=yq8@FCs>I;8SI_UG8f!p2gguXfXk8t zK0>H*av~slF5aIrRNmfz8IX_Ar`iWAXMnuOVYf6F zN+~V_Tw|H^F-FW2KKA(=&VpXIR9MTv)hxy3g2Pk^{I!iMWpxr(F{QYCa8cmyz?1QZ zD$3ZSaLf8OYo^MAi$?((lS)=*O#KNnj+(u zsXonsWxlEj*$oN`hcYhw`oK(YjM^0e?)Rfo7!k6Ea?5;eFg&>o4;WRJUyhzpr0foG zUHwBYSnjJAJ@+phJXe9}RM*XBrFdjH8kh`No!8Y$jZe@-cx2yCFz{}9I=`?TeW00s z1s_&Nh*_w1`^!b2AbgB?KJmR3d(Kr**ju|wbv;qR!yGxdT1^an>Z=nG>BfmapRB++ z)P0{~5_qyK0Png~NmgIstA{%B;T5QY7t6O-;IkShSFP}Ma79MRN4~}~QRGT=10!Yh zN@VR~*>)uc2135K5(Bq`txA4EF>4SbIKh{C}njOR?A9pVlAqTQd}IkEV+k4 z%qwNp5ms}-`P8H8hfN1Js}z?34kPT(`L%w|uNC^_Qf`)kn^20&1&29E_-i|+l+{UC zjVi_EgUc+%MXuxLw-G^LEWH17j3B4WieF$T=a)^sK<}rc>`QHe981_F=YN4R(fMxq z$G^Y|&s43DV z15D3FeJ{&@iFr!Vx@5WGMI|0^CE6Bn(`DB$@%U5kE-29>-vq0J;G7lvL2&!PIp4-P zaJ%Iq1c4N;{t^>6E8wCJJ8d!Y@|VbfO)~x~^v)U}?hd-=H}flB68Z|Ozfy($2%(Mi zW-F~Bz}xwrg2MOdHcke!@wAxH$i_FbLGGcWma-rll}40oyV}<-I=ffNL>~T*1#-q} z%z9=#j?=;%!&jA?R{Lru=k+YmJ!9k)Kby1-=z)QYhRh$iJ{#~yR{UCxU2A=fcXhQF zKhbK$VPE_1#wz;quhAf8_r^h9xaF@4OoNS#_r%w}$B_}ua(qp_bNdt&uI1!<6*(yf zz1h0M3JOoit}o%Kw&ftB4)!l7^y-0onKh`4#>w_;5bYS*eGQ%xjrtno9%7@0l?`f( z7h0N3&h;h4)_tp>a0uL?4o-0ms^Ce7xB`C0 z$pN{j4L8a4xxOdb@`SsyYnizfF@bZ|hLgeVE5*$Nw_A3_1h|($;Py?N{GmTug7 z%!Q|YP*C_dW5!64=bXr_JS3nLw+!4q2iF(@ z=7QTTUqBGiV{mx>0wcmN5yrC(AFf>cEeh4*1qFqR$m7St)dp6n^76On2enyP9C1rn z4TRO?IR#v`@JMIieaIDT<3 z9buK8RbWr!Zr~tjj;yl5cUN@wmnAcG1zdh12W&vN*b!507YgH~}f$d9+tr8JL&FyIQmdgJ&`l^(ro(3HYbsO;>vt-iuY-yI2EV8rUVs0sJ8MvCO zirv*kNV(w9VtkKmj*|1g$3P3!-uL*%GUXA%3hDg;H5QgQ35R9y2VW!a7+ex?xoBqI zBRBkjN&hr?=m(Vh!MGscJ_O9ZhpWBrG4+ zIXJ{vb`#zTw!$1;kGHaW6NcH7;VxE=-;9D$unC=r!C#krBcpbq0D-H{i1A}sQ^BDM z+KlgcOeyEtuo~sySZm~gi;`nEqt?il>o+53{qh7nW6JN^W<2^n*>DTUF0$(u3?XO1 zw~sO5$AWiwH(Q<=ThO9q$yHn6Z5}l&b?;#3a|`}#+Tx3wvlT5L>WQszhglMU>((lH z|5jhMD$j3JFfai$U-PEVIp_`m8 zr))#2Q9Ex#OWNnV0zEd4kx4&tNn|4~)1d1ZIe>bDO>9>-=Auu&VSM_1=g%!qX}3EVfM4 zL6n)WpW{2w1+Obl??6t^lI3>-(1im;Pd!jj_$2)D$B47x?Vud86FU*bA-UjZ-#z77 zBR4pN=Q~tT_`I%>&0VOGYs&atn3(N|J2ISEF%M2tW!GJN_lFBG=cN`vChkJ7AqEMy z^xHbH%a>FS=_^r`(tpK6I5>_%GQeFrBCGHA)lN=FE;R+mA9Hva>?VM7D@Jp<;82O} zMzb=;Va3n-B&chwJesmA5`yR|M#mFgp zP)INE`IKJAcL=^us_`jq=n5vR!Y`_KcMh09J_ z*e)=<#1468jk({KKa5?Aj^%krQx#|}TUxh6A1>eYAnS20HSM~(B z)5Q(hXbWaV^H1;-UwHt}h8KDeRWLptkzBWIad>=?^xskMIXFH@2Dn7};by<~gyV9+ zLA=&+auFd>o*@-`s0TU2poq#%|t zCsDY|+$e0#y-?Be!Cz7N=i_NB!Hz$sE)Q-zNL?Zc{Ky>!htrx>~APe*w{emF9-aF`Y^woeDgP7J=d*B`Sow;O`R)`Gt_$S>EGXc z)sqL~ZWZUd8}%2OR&W)V4*Zyuso+v&`@?8j+f*uEM{JdEipy*u%&ZjPnTH z@fDR+g6J-1md|o5ufFmGB$ni&foxF8%C(MU()g*i(e;+}cfhz1M++q#sD25~$ zq8-I&d#=un!ml}9Q&sLeiY4*E$v5!7TvT7!f6Nz$(%tYFJk65NA43FP!%nor3? zghXi`2eg#Qgb}jqaYT+<~=y`nRNnr9wV2ZK;cM~mrvkBh|9pqc;*^@%(#K)FmM1D{)EYm0+%@i*SgRV zeky~(q3`lL9&rV%-j|EM@I}ezfA{%Ns>c3~8hG*0;(TYR;$2L5zTbTFOHT$wYh}+ zk(Uuv+elbBV;Kl5QHmP{?&KRKA9O0XZo;2I0AkXFw_<6@!8Zi~*M-cl?E>eXu-Dm@2)0<9k4Nm(W0V{~IrL z&9vfT#0n=L-m>M&ztOg2!YbDek+F3ChjoK_3eV7HQpwVk39EcKcV^9Ga4B%-^jC}nxn%l$j<+?e0AIQ$tn3dW?e;DEX6GY z*9}~_!10lD!C|A-8Pv?3VHJK9=I=>ZrOEfs_^P_5Vh24wOEyPH_8FfidFtCYiguwf zoRn+mOgOl1;L^ZtlDE(Jo`{H>jSn$NR(J^+k$D#LKL>Hkj58hiaJvs&H~|bZ@?VyR zjc1Xzd25QT_+_TRYMDHJ77J*+JjEGOCaeyE3y0Jg&f8>ioww~dG;mq+g>$HyZXv)Y zWE0C@MSgV7*A@#lCqO61!K3r@?RFjI%)v2V27`-|@#itImsTon-n$j`TgmkB4lchO za2`*=(8I}MQRH=8=&haiweud_flG7biJ5FN&SL_~kVzL%X``jOfYfFnOzcZXA5~^t zKmi#egBQ?$Xdpi(jFI~Otm@TpqZ64tF)d9R{~s&bY`?7;aJt=ePO{Z*Ua0<07)7C9EPC41NqL4OS`ODk(;D zeZZy4ikJ9}m2y4-RtzGXMGS%$eKCkImj-SHxI{VN685y8L^{J(aj=TK$y#XRCG3ma zaLE_v<&A2FG%q77F^Ig3Vfz{c_8v(7SV(zsSV#H%W$u?Pz@0IUse$8{(F|wG+n3Q! z;(h#s`Q&Wb_aA%@`4{BN|6sp7s?&ck*16@msi$qW|APU425y3B#;qe&;`3V0|ir$A9HBmf5>QX;i_>QxKrTJUAgLeojty5=ugg)4_`w!0-dmHXyUPd z{Tc$sG|V-$#{;Y4o&)&ek11&Us%ljKMG7X%o`gg>{$F1UZ(iI@Y+Xgm6eIWli_z^t z+~{(Kle(7lU-zYZ({Vw{UOiTxbRC10{5$0**RjzBb!tA+P*XO{$Bgp1mv0t+%xbNw z%*^*CMxSePQ;+-^HO#VcCulIQGP%g@ z=fwC9w;xAsc9zWl&J|4b>P(NHbKB7#e}ati_+w;ek6*;jgWK>BJQdMr!|hyf5qctK zq6hggP_6{HSM0%;y$0E3yv?uD^uh{*H?O}@ayl;U2-kyrDQkSD(G6Vqjg#9B&M(J% z{gyZG=bMFP^|0wPum4U?WqbV{Sg%9?;^d$Re>?B?*jt!tRbznM2!CAiLFmpnT2?fT zec-}z@Wpoqhb8_pcxC8z6A)t=e^YOq3QP^u_m=V3ij9fKog46geqrJWd&@$fN-UBU z1@aTSM+H(+SB@5V-+6L5wQlmf@b`=E7FQf6Yl!|cSVIgbi`AclU|EWmkb^ z{Q^5Q_m}l|!Ur3F2f~Vy58nZoon?@)Sk5Oz%FTBm0wK$m^EX92ZOg&sCi#3he`O3x zCYD2rkcM*p`V9}`P7vo-3ubJ~07^S}XXbPUhgTHo$I2_LoXvP9tnx~6lfi8&#mxhU zy$%Q>I@e*9h!{7)YK8}x86PJ@XBfbTzM7fF)$H6N6a+uDVl}#h26xR}5R4J}A zxDnDU@5hu~BN-@<0um|jE026a#RYKB>x=wlLEJD~wQ#h;S~#HGrKYzESJy!wd3+7I z>pVWplnVYfXmwtwfWn_4Cssg`m-WUS97qp;e1W-h*fm>U!C$BHxuU~#kP?G0-iGFx zbgQUe&nj^qIE-QZ{wKV7lX0zwp6S}^_hZA^!dr!(=;^z%75xdQkCH1Q`V{#*VY*yZ z(cdY0@W;jRrXsxbIJ{I@z7kv{%C42*4GTS$`1!%%MmgX)%vvm{iVri1xgp zg}BFfZx{Z~$}vVRveXxJ!t&RTUi|Z|qW+Akz^j?)kS0a>pMd|-QU2jr54~OsHC|Q-_?vq>C*W!dX=b8*dph86g%UA8;O~vul7fK0AE0MtKUNj)xm|P|i3RUq zl4)du^D-Uykvj)&gj`e^?<)gVeA)cbDyq6^OfJRM1-BSn1?5V+YXc64;}HZ`S7Ovh znjGV=?_JUEcK8&-3!uG`skr7sk6q9;C?mg$@ptu3ZI267@Sh(s8(ursUmawRSRDj+lE$|@kS6P%EO|0fE&ma-M$upCqsDL5skR7DkXQm!ZT zmzS&hTXR$htot3Fyh@-$Pv9k0S) z8;`8bld;thJ|-fop&`WjQ8m~hvDHwy-fHz<;SpUruT}FWxaZydU(wM60iUfB5F6$L z6A-FLu1`QAIVZh|s7uG({a;btl!&a|R1b~09G!@mPRjWNd|CkS_SSHyXOY}V{#xF- zss9!Jpx3ZFCE=0k<_t;lzZh?x$~kh6zg%Q_{!hf?Fb4kpp+D!^gZ{M@%wzKNp8lDk zai-UZLR_jxmcTmaHbB`=;uKKdBWeZJeNr(rARqB%AgWr!U&d>E1k48VV_FAfbVqG;39s67@EDN%NZ?#xg|a%F zHb7*_Ge$QE!(j0}ke~R!HrBhtYt)9`1<2>>1GIo6Y@A^8(}7Ibw?IbpJ8&~_Svl=5 z8)(T!-Tb|~=0T*BbHEDfy~P6%^rpCLuV=a4A=^I3P^u`pVwgh*b7MaQ-O4s1$+h=;nz=^ z0_0<)1H0h=#2L#V@Ev>xyWsB4A2mJ%dlc}HaS#@- z!=f7qV#ib3!IQf+Ry^uaU&2Ay?}Yu5D6hem^lKmkJO%vAG>n}AuTd5H86flE5|DXN zrLxyZ0=5Bm22KWc0`3N?g7k}RQ9Z_Mw1dS{@`HZ~jrDAdJmxV_Eg8+BzX{v` z|I+3+*!n-fU+~}YjJ$ZAHz$ECpp~lWm(<+G zUb5T(|M1XcsH_4u*z_MjhL3+atg`eUAmgc-puML7Sw3I3^#!)R+t#nzdaXqL{EcmF z1N;*H4*#WJ?MWcYu^gT5Z}R*FSTfRofh^orl62&WKglgK>C315IbS|i@#;o%Mb6Tim8Q>h#m zrT+}bLV4erN{!6=GI*xavu0a)gxVuH<Ui1yERwBITQM zb8V|n9kxo%(4aJa*D$8JFouK4=z~A58Tenck3e91HBhG2u||5?L=Bfe)Unok*($v+ zC)TwRylj`&%jI>gr@U;M5~M%biuba0sw3}8w(j$?fodt&xA<37QSo53+0{Yg`1|tP37Ft&vsD%XX`x z{IZc%-^->eG3WP27M_mH)?WtQw7PiN27aG&6rzchvqpDY&&H0u?lE3|dM$d!EBS4@ zXXJ)P|8@nO{QPdKX8kMEzajZW=#@EFJ;r0#U@+PmGbGbU{NbCAXf-Qjyz(LV&*gu2 zTTeXq_Z=8Yxn}fvIeR_AJarfo2Cf_8~VJm;Y8WIw{SAN&psvZ(%4p`R= z&&XC^z;{>`BZsbnTGrGFh#Wbaj~G_{BUJ**n%7laQKLUVfIk&@jPa&QXgO1-bXn*% zbI8Eh~JB3R~;xspHMZ7*Vpx*2+C&P3V>Ae2>u=<}@;5yjkNCp0uj% zypJ*Z8f<=4F&$h1e~o2U8>>kjc1qYG8MO%i2r|Yr(qJ+I_`^?W*hxI{KKN-M^V{H& zTbnvlJmbt!$hPt3(610uTeI1-I(NsLpD^$5F|(2Bt{EN2o3p-#-p=F;cFjl|9e=}P zVA9mU!x)M8Dw-)DXHHka&D@M6rMML66(s zQEYw&{}cG}=4X77-OcaSo9Q;*T*n0Vu;Wi3Z>I27rQ2_=&v;Y4x}LV)f3$@_7|?6x z2qUqd?Jae50;sQVdYX_&`5Rz zXY$2+kb^-xOwY(1ytc%kIW>*XCPwmdWvDu%B1gW80VmX3s+9Q0nafoEe8tp{GVghW z*}Wn(-kij;HQEjY8TS4+&|k4b=`!9-V)l=*gF$vQp0NhRWOF6%ba2f;e)M1tzh%CI z(KtRG!|-}4mo<%H74afIyX`@h-Laijz1O=%ss1Yk?%%Zo6ywYdDqY8z>$A=0t1=Ws zyO5N$tv_1pUC7?t2$b#&Z$;&FN<s6>L2-Zb*eHy6}2h*=Ursm_J|1oG{<;C_G@n? zRVyqC={vr`Leq>_A&tl!4oxm-Z^d}i(Lk@1-@tiPeV6`Tg)ywr7Gx@HUY3{ITh;rv zwQW2jhy8_s+PW62k3@_ZIUs|ouA?GHZ-kc@(cq0YYcuKXT)ULJjPd4%)zDL2y2e-& z!uQ$_QM?SdAvyeBG@l$<^p%7a$QOQ}^y%S>Lz~o-Ju#@$Gmt&Jb@;q4%PjY38G_V|@9Fr5%z;ck% zT<%K4Yvnklr@Z3UNNq?h(=b&vw*<~Ow&A#jr^-6Q$zx$>H;SCyyA#F81Vo4^&4eWKU^0o+9D%jHatZv!JlDy zf9Mg|-|(Ie@Atz=FzlTIynBMEaqfUmF?s`>9hUVvTh&@}yvDKGboiPHhl|3#!jT%o zE*#avIS%FW;A|b79FXHWTQP$VKtzB>#3#p*3ilB`-g^rUQT&Z-uyx}a8TAkpm zw3~J1%7?9(5UuI_37F&X5{1e;9wvj1REdhkfQzG74qW*!lAFV}BaC`#6|o9A*bN~+ z2EH$hN)!d8=UseKL+OD5tc2-;Kwg190Vb3|FDjm;U684;=74xIoXm&Cr!Xp>t$aY` ztm$KV%*^rf1~}UUCqMsRXH`&F(MeMn9*R2)Ck0_=pJ5VHhZfx$?l|N=4a0xnj8THo zNgjN}O7!*v^@qIuh!sRu%7T5Fg3jkD`{!h4`a< z4PwL}5HHu0pFCC!8Os1=Iga!>9vSjbSqAS7q4s5Agml zL$DrZE?hhS+i}v@)q2SL9>k@xUstPguhkHLgi&vfLW!u}L&+Gr6fCD49)J;FVN?(O zGE4^js;EwZXx7iKqsHlR>{Ks+4{B$Y8q{hSB~+3pwL4E3xrwpuUHB&Ft52v{AjO=c!$6a5LcH zgFSjSd@_{EVyARDS7> zb2FTO$%EfL(0_%=SSjZ{ZpAdY0@-Y2e;E{1S&pcHp~SES^D+H`=^9Siw8T780<0U# zKOaZcd_Tl)VQ=aQSzW!9RUPw-i0N^dW$-Z`PEz`H8)2+_*I_`U!182lIC3t_vmRKReSa!Ah@9YDY_UmFp|7P#3br*^~FaUSB$Ml!n_zK$pq z>FV-V(0v|-sN!CQTHlVFoQk^#TD@Ui5h$mbIK`CzwP8FD+r==dmQeYJheEwN)TsWS zmlmuy&%(p|GQGQ%7|H>)14g|o3T9|kXTzvo@H1p1g8!{Dq8I)QT@Ia*tcGcvgSjfY zZGxA;5RjgXjSA7W-GliX&UA5>YcO0^fvdVODoGUZdeAJ~jb6~OXl^{GLr#Td!SVgD zUnwJdSTW^SLS$-h!uosJq=(fdv;ou!7?oNI=JWmf4KQjy`xj)0PeD8j(TEVI@TUU* zMB&fSFF`Vj(=Z1SP1(DU$1oWTk*WVtp(kU%LSYPfxiyMoV>oFIqvC6QS9?TgM9jwu z?NEB=wB1D*{~E*S3H>RU40_?~8TK|N*Eylb$-FeUcm)HGY<5Jpntzh z4tc_A&>#_9E0{4ujHG@oP^-CSWFn;N2#HgHoCf3>(VOs6R&GQ{RY>iExdgg8E);wU zMmG@hg(s|8cj2EfdPyVG#vm7k|uH7h;^iqn?6 zL07{FBtxD|$IM42sNZGHo@fgug54}1>WQ}CD8zFq^5dTPO1#ZX<39NlXz!B{Gi1$P zR`m)KAufVZDOe=C^|F$BWJBKuqn?t2^C=_BvDH`tmZ>-ollYBc{0;pQOa}e(QD5ry zzF}*jj92BD-d2q3SaUh2x5Y)Ob-fXIdG(p(v5`&I-Qos#PUfvZw|d3Oa>h@Aw$L_ zqJ%#TEgeRAZK)dzI^%rw6qvYg4dVsqFT-TevGTe$30@~dn+fw=h>gW=?U(M}gg-AP zqPxNG3h1k0GU!_QZN3$Le}HxfMny}3H3@p#D=pX>5wGMSE9vc#gQ(YGrXr~8&_yc* zMb8K-V~0YI5g7L2d)UGAi^sSKvk6X<;H;7SyD!Rb8pIy5!jlk(LmVrcK@81-xEMwi zRJ-v(9v|C-$dU4jFpIx4jP-ExQ`nhZox_<0XPlXjhv9+TlW_9S|8=$tZ;TW7$uLnH zaBuJ3rV$G>{D}PJNvmRrlljeHI>YWR@TtlUd07uQfaYOe{ks&_#?bF*hwxv5*@rl8 zK`-A1SxS%0(gO;Sr8Up#MHMcnM1GG&Fu3Xfqw&$bzhS`}ny#+7hyXKMkR_uxHs?~WV<)80HP7`J9D4^>{#~(27zQ0f56oI0c)qw_rqi` zM5c7CLQlqIg_z)xc;{S+s)*&JKJak?7SG(mAC=82L*UOC)&PA2u2eOHnFV*z_n1Z# z80CyT2~{>mWd6^n(Q_bs80ZNNtJ57{1w8bG*$z(+!oxFRPkm+V(^l0gy+sR#p|9-92Dc4HC4oYTB&cbhC15Wg zdamH6V8-ol=$BwJ=$Fql%EI@F$1%_sjD}HRQ84A+K~}{obX*0V6JRnBKvP(?fyprB ze}nK0-66jKqn_afS@Rh@!!+nCWcO#RS}pjBzk`WFE3_H(-muf6e)EuFs2yD=!2b)Q zqW`zOT=k3<6{2IVgK`bDGXjXZ7p*c(23<4pFGbccl8D^lUbF1B8U;}2o~ogDludI&op z9)wW|Rzr7Ga?t6t6HEgXpUcp1z+})dlQ8U^1nh%`?P!>RaA9>YjU*TqyXt4q*^s8_ zRk<30zZ*uyphoP*P`c$x@B9${%tHW=gXja3LDwpZ&54G=Mc`d9``{u7i`QXP6skX> zq8N?7m1_q0c`zypHBvW*(k&N{ufRm2sIP|pEldU-s~B9>x!oPsTvP4{CkJ5jCya_h zbzA7}r9G&Q>4ZzpW8mx#xnVH+WmH?kWP@tdF_84L)Il(A2tXAru2ctBSo95sVc!SX|P zet$z5gg}txVX_eHBha6K$)Gotk&n#As0Fr7U=G5?2w3pHo2kdzCfhw{H43eS{!N&( zD*+sd_iO|gQ4Qr}NSPH#$`PpNVN{yChaXkd34ZcM1Opkm1%K{FY<*$U@ZCk-ZyL2= zio9hoAU^8f3O((NA=W1dzbPE0!Kg>&_g>;r8N`za@@bfH2zCHn!elg+4ThqUcpdUm z81-N?-2?k~6m_Zwh`1$k|6*9?5fec&PnqNEO4$x7l9RHKuf+VN-Y_sMF* z^piIt7|75=_`{H6lQ7OhFQ*QyS~|UDAfS+X${TRXN_EIulrz`;aMT+{J*27&oWn;3 z!Hp0JF#Qp1CiJl|8T6*!=UY1rgIgpzz|4h4O_A9)Q`6P|iWW29rU@jAzKJE09=s8v2hg%Bvce8AIuedomt{5lBoO z*f)mBpkw8A69RPI1MLAAJ*#WLtp+L?MtN0*)EG)<+<`24OxXU+19HVMtG&PegQhVNtq``1nntUH1bKUyRn<(8vBRwn)&f|T zeG;u17UNdHRn_M2n_?qPAiW}0mW z7jxXq;+|xh_dKh)GH}OTEm-w1+qlZnD=F@7aUU%~ahHqxTnUQ1UEDVev)!MGIy3>V z-1p+%X_)uS&|Fz?*a!2)4lCAdE`Qu%wZ@T!h@IBmA?|K*S2IPTE0*y_!XbCLC`yni z4~Cmv+_mZGfoN9**$QB}@5NmeDaMSwX1M*u-Pmj|+UaQNiu+)glyD5>xFJS!cc?hX zO_$qtV%noZ&V`-U1+y!6#JH2pj;=?ebXZYv!@V)g%y7mtdFqGd(R%rG9QwE?y+XZa+{3%5d2mb5B2P+pR5WTFOf5Twyb3CmvL7%e{uQw zfV5ECW(wgU3IAI|WdvD|-0`y&7tP%>?$=FI)NsXxJ-jUc``N079pCYLtwb|B=bpV* zeRE)gXjdcap=E;%m&feMKdyQe2|@lDbf)^RZ(P|XzR7jfv<@sf;4b@%=y^Z{54!G* zaz8IJtI|=#gAwjnac4~tY%FF9>%d_5OCnKOh;(uVgOf&U>j+Y!4tV?rTxu$2QUoK(0Z}XL|T&Z6v zeSa&n4p>o5xsvUki4;^nAUeB}1Fpv^|5@yadudAtmo5K3U|o#j>a{!D9nR$H2=bgf za}cG3E7+xMo{5xa4_Z~DxQt!O>bQLHkQMhZm$KawIhIuP&bXxQpyCk&m$uzgO1R<@ zw|fcFQS5Px{OXX^So(iEitYPH3Y&51{?hV{6t;?BpbaYcqRlIth#5AbSh zh=&}nMjk$Db*#&U4EJ9K+{e&8bBIe3rE=&}02gdn(PkC-feUb z&F-IyUJo;Zv(N5#JkIRm{IdIv5)@{WrGG7!zv$)NSXp=iW0nf?zY}Nx-&7!*{BHHT zn=_*Be@kROXFuJ)m7qA&>E2s{swaQ^-KvGg^wRHEQi#)uZprV(l^D)w&K<@+^ugIEcOE|$kz*Lqo zFb?D0XG(lN9Jk}YOq%yBTqq0vv?8N85HICsfxP&q73j+Gb155+mu=tQ*c~-KHOI&9 zIVB1a$H(sfO1$N=4_0QW_eT}jM)dVN#={Av?=O&b1AD$L?SF<%x%S z3H!y;OVp$;r!1JLoGz!LH$S4fvExmz;W9Ek#MiYfh%=QO6hwAy=>}b5^`k!9=7>1| zN_#*2L?2|kFQ9odF#6wyZ#M4R+ z3L?Ahu8<>3Nt{&dg1BDuMFoW8mhWs17&10$MG&iD5W;*Qawy}Bkb0uc z5vyxi5Nj(rD2R15Ulbt+K*=^otgmH3Om*8OD-{YyMa~GR-)nQkj#?JPp-K)4B1cY6 zf7GA1IpT0F3*tLU4hrHl%FdF-g9tN}gG>)`rj`ZqUnK_x@w(NsVu z5=5-1WkGye$tWy9j^&u>oVGtjcXWlQ4zelYvsxC!93=+@k)u85vr=DcbHs17EQsGL zIVgx65jy=*-(+*Zkg-K8f_PrZK|$oO(dm);MVljD*0Lb_F*amg5GyLVxFX~M4a??; z(OMS71TRJg^q2r8F=t7;fHVj26bJSlsK|*mv@D1ZDmf^KJmTR@Aob2RM|?!fg800W zgMv6LXF>Zw9aEiZ9IoAXh%aba5Em;sD2N|xzNlF949QZPBQDpnAbzFfpdfO<>`Wi^ z)iwtV897=J#63z53L?kVPLI_0+8lAemW4tLvzdV|4!4zDobx=(;*2LZREZ82RaSl%tu>AXL^Y3v@D2^D>*2LoDFeCL%qAr5uebqAZ}E0 zP!PYDXYLOi3%!nmKTI)^r;40GQJ-jY#7SBf#Gi2-hyI9rm0bLOI2-eWiYn7X+^l6m zyr$%!AYz6FQ}vF{3D5ZKw*w;{(6S&#;q(e4Bt|Pa(?jH`7V_aHgnC2Up4dpsf;jQE zc1wIi$)QXS1s*bS215OF#btVktF$bLBXJ0WZiz1`InzU2X!GHO@Knem+n)H5mIZOS zl7nJ-2m()tICFs$SJzcGWqODOS{B4)Odm0FA}6z){us`uc38xfS{B5Am5c@$h|?%V z{;-k4PyyAq10y!nvLHUHu$;ufvNt~%=L0qropdj)v zjx$TCe`j;VjanAO<4O(+;t9 zh+irh%^UD5%@;+;6F{qNj+momLEKVKDM7IXxHad;&ViR)Ax^YzQ+%d}_>-0e@r;s# zf_PT*MG^5#(RrIAUevN6*26q3KU-pbC1-kwoVs<^JJ3T$2ipPhJ}nF4KqUtSaggSV zBInViXKju+M9YG>Sjp&z0YBEfhseocXXMn^N2)GOre{5r@05c~K|HGDpdcR8d{N{) zA$7v$h<|8V5UXJ>n2`_@l$_}ya{k#FIrSFg*rlP+N;$|B#B?PG1+k~*iz4T&b#I#^ z_SLc=j!|+@5XWl1$RDS+LpDbouVoRUkfoHMATH7tMIJc;{*lcQKi0A!Zc=hk5I1YS z$R7`cZM8Y#HZ2R{RV4=n(1TNBUU{%e;6CYnEHFYgs~%_>;*5HMcJCqH)UqHZU=Ex) zN#rcM^DCvEWOKwCS{B56l^hgA9wl@7Yv*jag~+@@uZT2g2*#x zPJdi4IBj#lka1Qkg6PBaKQofZMFgiu>J@E{XlYpxpHOm85V_Fc^hdq7%@O-*Sr8}t z?BT;?C_I*xtd<3_sgi?&$OC822&p%-IbsVf3t|r?2L+Lb)SUjffP&j0G)e5OWkFo3XFQX=`S4#1>i>#8XNR3L?+FIsNgZ z+gY0EenNMEaQ82anVf4#XS=) zqursSX?;xL$;n;f_=nOFXFR~DHb;uBgH#9x#g6vPAauRejC5RYaZQgo(=_?wmm z@guD9@%f2d0(3qG^`$mPT&`t7%vN$x5P2HQ>5uD%IW`9j8Eds7h<_?MD2P0B<@8AX zw9OIEYFQ9}!r~$mO61z3(;xL+Hb>l}WkEa@uq)$JP5(gzXKjvnUdw`bLCHZu z^r$6eUDK<%bOUr_|Q^`R=6yOq-8<; zTghdEf&z|K<&204)H3Vykkx5rmFXd#)v_R-Q*uxcaS%(URSj%x%yUu~l|`n9cv;JW z_>Yos1fjnU4^vLs66>W}aX;~0oR&r1fU(vjW$U{|3NO)3&`b^uN zI6GF4H^gixkvIxP$3&jQaz@T0Rz8~}R@AZ}PF8YI5P1yC>5s>&-m*F3+gcVx57yJM zA|4bJa0W}}C!p6oWKiI^x>BqRt?`}v#&gi(*Z`m9%TFZhMr{tg@ z@-URsANKKbvy*)cV!V2L>_H&dgOMIKW&cqx0VIbj}0A+kjMj0PJcYi zgp17-M~v38Af_l89c~Id@#OT#15GV#j@U}ef|#yk%sl{k=*j7i2c3G`9I>yK1#yy+ z(cA)gQbzfcBdY~o%K5l@V1p^=*9x8mRs`{kk}CamIZO1l7oUcU-L!tIy{iG(B_DXv@D1_m5iov4?$xp&{-b1c7l1si85u0jR5bstpdZR#|{Bing1HG-y5!-255LYNU3PW`WE477( zcp))o>xjTkQ|*YlXj>33YgrJlDH*FsKyH(A#!CIV%@GThG3yjBFUnvyY%2~5y@Q2|JVo@8^x8d?^_dzFkyHXx6VI3w%`{XUx`cG9vSrX_`R zO4Fb`pe>3bd=UCWHb;C|%Yyibl7oWCqaw}-x#O#=%@H5hvLJR-GTKxikBPYCb1w$! z+&9^#iBptZJnnrH`dc-0eal4X(g1AHT zMNhjE`YxLz?$NR!;+(pApG2O;a6T>dXqy98F)C|C5aX2`6vS#dbAo{<{GrcqiKF}% zi-9no!-Rj^AXmYX=TMjonDFlmRwXN7Rk1P*R~^H@WLyJy7B}+YKdh)*2E%+R^jEQf zI2ncujN#vA$Qgy6CymiqH{&W|_*eHooL++db}2pue7FA(|0qiM5}40ncmyl_<4S!< z{`f{fU&PH_bu`>H$DMMY!mNNm%8T<$TdfX$hi2WuDp|HrUZKT;8GTssnm6MSd8Iv6IYJZMR!1T%Nb zsd&z+({PrYhLhmoi`T+8s)g@F3tx1`d1FigH!ix8EPU@6r)fFmO2Zk|@XcWM{a>=? z_&|Gg9XGGr3SX+l>$tbUa88qVV})N^$FkJ!gbjZlp0?A%=uZ%o1 zHBhyTed&vw`dT2iS@@C`&N*=YfQHip;VV|ccc+9eLQ$8R$X;*bdkfzX!jUmYz2Q4P z!uNTEFXQ0Il%q@ex2)@Y(F} z8SC&tYWBR?iK1aAi5(+W(7d3Vr<3gy%5wXJK$D`wv+T#PkHUTlyBzFhunWO%!viqv z1+aw=AMES_c?t}hWwy29LzUqZlH}O7vOQ(nNW-&>^Uyk|yh=9xMD zW&}Pq%{1wq8A$M+dZvPLDkphn;8Pd=ea`;bff{BHSui_L$2)brg&Qtv%>jddrZERw z0;kItG`vSxBR3MFetKBObvtD$`P*#Ol*;oc}IwR-23^a1#-#f*>A4tIec4_;5 zpk4dMIIXxCXMSC{1%4awxVMb)sIAv^;lFg1DPtT#J4yT3p!*}s80#anehB*Rob~Sq zLT1wL?HKe!r#n>d#<<<6=g}%se+YVi*>_&x(I(ShjxcbigQE8!n8vRZ>y^tOIEUT~ zdSiJ6-f#r3;ru{C#r}5+^>54>=!~+6MD_)3HkM;)JFaoDZNo?d|GZ=+=&nW+p>Ely zr|-+-2^@Nh3OH))(7%J;*rBKR3?mhKTRX|yppTRB3lOPawk0451SElwCFd_d|EvGg z!l-0>sZ$wVp!c-(1JI8{FK6pd$KXCNhkgpWF;Ez|SW4wmPAs0pp---YBn>JK|BU&|>>)aM;+PuY;cWg2479?f?Od0hmJ1dIs^PyV zuZL=G$ho~J;4{q;viwJZM?>TKmo?hCbxLa7jYIZNmo3WLccJfw9<~qQ>K6aA#rE$& zPlP_gPNEOjz)T-fY(D||hUdx_70&|byB+!qZIOY;Ewx&C8C9szVcexYnp-e0;ODY{s!Kh_B^A9`Q=iH<_g`lqasWa|UckS*|! za<1PU^y%{9C4tWoBH|Z z{<6br-v$4|U_`O+&!CTxN0tUcUHxCe3I zGBR=)-`m?O@Q}yrmN%x@IdSiB(Dlk258APhhQ2}WSP^K1EV&KW_`u>P+C9EVlkXE!rk+gGrS})Rq)v5iF#Nf@mOBaX|{Lf_ou&{a@Eg6c=17 z(d%~6dZSmJ7ro`i^>r&o1@~g$iUJah`&tMhh)OYTh)ebTo+tA(&;9fH@R|P3Y-i4# zIdf*oGmV`{A_+NU$X`Rwfh$beM_f$Ash+;6V<9*J-e%(80LM@Fs2>fBM_dA)%b)*Rcs3U%REG>tCv*GMeo~}RE_ban7{cN zC+V07`TSx)r-dBcivMHC=Uyf@#q$&`PU#RqZS{iH_Mt}h#`CCBdF)tp<-T<((V8^T~Ve`TPxc#a5Pqi>ynSJ zxe{Jl-0FT4e+>9U-IzrFfv8)32U&`F6>>tiC9#gO>|^LyrCoWoG{4(Qy`xk;UY1YY zc#ZJpd0Hl0egh|ZB`oJ4uhyZbY4~xnDDwmQ^rAvhTB4n@b5pwE@yaAKkw{nekA6@+n>U4w-5u7N_n=PeNVueSQ zB=zm!@E7^qQs~p*+@#iR!g3ts2vid^10(OO+YOktHs!_vTqT`({de z-mQik+yNHvd$cL`GjKq6FU4#{blox{q+G!RZ{ve! z4xK*@oZ(m0wvOKf&YoM)`Paaa32wz$weo*)8-v@cTb@IPvS{1a)O%+;>^b!HDe!vT z@f=DoTM_jp+2gm1BK8V7`c66g-F~V$R91}w)%a9S=1`a>$ zRviZ41rF%0=b4a`*z{^cR(Iq-%)1^eqMQKsKI2wL{{d9u~f1CZaU}jQgx?cyyhOhkBl^j znA}sr3i;S#ybPRhDE5>8U;O)ECL3Wwy;)*SNy6K8T3Ql%N!q(z&w8ni2?DzMWt7`{lFNGTNfP~jFP3wy3+d;3;Dr0o4ln|? zdgN+wZf;4R^2foebsNR_k~|UltZDC%f1!-J6LL{lr(dp`?aMr0u3j>ntV9j6I`j&e zWaq~gO6OvfMz_9VvEM-~jp>pgqq`v%=g!sryJ%vQuIs`T#b^-JI<@hQ2e9ko%GC9Y z8IjMB2c^VxmuM$qvn#p>a^Q=?P!y$`j)3jO=%cKQ1QE1U_qoLD*4O9;dYZr|KdzdN=1XOBUJwa%y@sRC zcYRh-1wFS4)d}eKRhYN{ie;Ddg^Xs0E$Rg~rAyQWsI$~G_GN^AquZL_r0k2p;rrcc zr)kK|;Na9!xGm~D!I?GO;4&7P%#K<65!i^YyiBt7@2g%lP&}zVLV6K=~d1oOiVt z;;ywg9o}gLd!2-w($#NLSW<`HL{(z*3p%lUjbv&gwm7#|FMg95BdWV3Rr14f71H?G`X|aJp(zWwfNsdW}`O-}e^k(5f#= zBc0?p4iAg-$vdED*yQ`G$^IuesXNoy(y&8lFJ@5Zh)b23mc9p;gA`j|2E2{M(!JD* znG3B)h)ueMz?WT9Vi{oRuXXQ8qIQY(>P`uQIxRs;_pHag=BLAb?sMCF$PDM@1S6~` z!HI@~LZ-o4?5r*0pTKe5@)o7hPj8{+v;x!+50$HW)7aBKz)+pyR&=!`tNGyU18(Iq zmD~?b-p<$GcFV_a12<_;2Hw196};jrK17yGx#3%T9j1Dds(J=KV6oBF&1g z{0I%yZ5bvSWwuR39D9B&Ekm~ef{t2G?HerI~@K=9GJ?QH~fgzg|W_BZ`D{T0)mcaT#mkl&RM&c=45 zLn~Zj>Z}I*1DtTIeVzt4wH3_vS}>aX4%VUR*AmWD^VvchXrRM^odHhiE@~4+CN;X^ zd6!IbbYOSn&W&i=#btceBwxt5EW*_-?~*C2+X(8HD9+RkXIE{a)t6MLUH*LPUEq|b z3@ehy13xF!X{kicJ#2No19G^;rG6TiPxcl#uB+b@(>tkLg#&r=xtpbj8sB3?1|M|y ztzmEZf~TyC^zH9e)%bGRf?L!B-K)DOr9Q%pVRzsGTVMunY6^i!_atzf**$Gq_#=3! z_Po!)j-6GazBH`6V+$dWpx zJs;5i@Vs*MFjWc*pL~UoF@B>=T?4=758XmCENS}(%*t_AZ`BYb_3y;WQMNry27Ci2 z@8y@i5!8!cD#Rks<$ME;dO?mf$Bii#JUAj=$eMqGl-2$qOeNe7; zGb|q5gR!{WqiT(m&I5;ahh)m?E(wylTY_!6_d`aOb5mmEw=yv_eq<$T{fG*hbO&fo z?4dGiuTCWNYYrv;q(p5g&T~EDJGg$)qnLWFRx}Hq?NXPTR>Z;4*=~iQv80j#+wWJ4 z6o!A#AkozyqeF2F>cJ*k7v#8Z{Fsr(z7|1){qnA4+V}$_ZFQMC)TAE#Bdv6dvTzT!&Dr{krFBvkugQN#S;6;R z>H@>%ieJ%_n5WOFDF4kGUZ0Wr2Ho}<8f`tZZBn=WPSg8WsKJ%_{@4Xh=x!-AiM!5I zLspgh{=xPXXTr56+iBn?UEK|XK^-DkU_VMO3?BX`3@$HG8Pn-!g83P^!Zui){uDU3 zrcAL+u<*Cw;FQw74acA=;*LUz`q|`v0h|rH6i@D0>G}SsN*wIz+o&2?R8*-FW_w?> zuD*y2x~H2qV{kU$DCOv0@u!46cRxNW?bx|H035^dw@t}$;HI}-Y5^G}{k4)Fg|*}F zm-M=Q1KpB4#N8+8Dh3rxR%#oZW6fo!z7BHY-BNYAY5beu+-BW>V^s|rQMb`jlST<* zx^*KQpRYSW^-f3N@{%IH%i>ls(}Fv|-ZT5Fe}SdFtH5F1L$-$ahscSlgz+;=;por` z>oIppwjLafyHt;nYq^VT4xfA|7#}Z7!-9^L$7hg_*6mrwoY&zKU5Y~%(Op88D>tJI zZ`F7&0o?-`d*IoG(MT@fnAmW-u$+&!>y}Nl6C1e6O4KPqN~a~bNcRvl$R!|@!)nEd z{`oH+(suEG^#?7>Ywee;ON!{dDcNoDw zxF?$Ws@r<1Tk2j3PUtR@`Q(yMlc{UuUVMF6_dv!~^L!!0e5+f%Y--*-K=i5c3oEu& z0=Cr&e6c3%<8Jv@P4-)zK;Bv}lV^!3IRiNmELZbQS>J&(+Oq}Sl*>M=OtKr;o{Qt_ z+u2rvbF=icEmafios8Z*5ZTS*UK9zXJ*E2~Bu0dtZ@6IHwZ)P~&lc(P&G``^sk`@+ zhJ?0aP9smS0m%#} z6w<|Nm__H8Bw{Z5k_A_|nJ>PW_EpysOMC6L=u~jitisrgfGL~Y4T(+psaOgvA56_8 zOPFE~1FI<JDsbFJH?dmZz0aDQZ~ zJ0&)%(*zB%Gy1DrjW9ZgqIQnG%{Rbu2gELWpJB9Qu3NEev4nXxnAOi$^gyL<`3ikZ zV49|zSpNtbfUjXI-tpi&bqC2X-(6(#IUP-TEYYibiS-4}%Wp`CRF;htqgwa1XyBzR zg^V!{^3q^Lw|q_iu=tkPoMT<}7gn1|orX;R^hm7Sdb0=HC9;F2tG|Jqs&^^gyRsT{ zA=3`M3Ar+Y9x*jpVMv6m( zrI=)CNIN)sM8PI)14oW_tAI&Al1I^kXA}n06mabNg4Uc}Uv!pIs96OW#Lm7<0@dPD zLk<32GB~!~_C1IK7a~Ekl$ixq13l_<#*gH`1DtROZ8ew)W;;UrLU&5w)#>ewst6}z zub4_okrqqP9wxW=`DN;S!@Rs7CRfaCVXOd$A7PDcWcxih=J0(6apIf7nqFjv_BG&$ zZtvj)C7`=|WVt^`_uo-9x-zn=v~N=T+c>)7Gd*ob)vV&&IeN*CD*2vtdWY!UqowLV zGcY1N(v)l}_@q~ZW7_jA$udLTiXmsU|JVsd)&)UZEp7#4!N1KL*Keia7rWJD)52eP z3rOiSg`jXfR#}J1r~2}p+sorRa-(f`Bc^d75mQ}`Ds%YaVi`mSRzsHCo_3XAgQL2Y zWMX9{wHNQi9zRK*mWdwgR_B@A--6LQs~W$D?5LZ8nSye-%fIEV?8UJ|2NjjpUL)q7sozoNUbzKd=s$ z8C7z(+!Tx~Xm)`OkvwsQpQHj1fF;9K-F#XQdA1JRS+>TZ*5 zBRGQ7Ww)#3IO%}yAK;BM4ssV^&VGc&h`V5Gx{jB|w?J-|3#ccXvagwfz1Uc=*H3}N z-ok)g15Tahwsvo1ylnx?HvnuM@t+`aN&kp%9QitbK}V9EJQZ!_#Ki9P%fK-86HLV& zJ+u=tO#OrbOz93{(V#AZ;@qWr!%y^aM)wL8Pjn}iHZr5kdcsvio}0#7BD!TKu^dGa z%b4o~)utT#axI-M5jb|EWl_tB806E>Y8^#VL2^@FaCCGq-b8+)cgM71!tUKqnx?cwN>W<$~AU0AY=&!qf!^%3BppzrkZ2vnZ zCC1!}$+B2{9dhQ(f`|1xm|eHuE#>bbwd}F~&Z%MCF`rHTi&WUsOHFaz)@zOJP6^mM zfmr_4=sZjqhxgQ6ko@A?4>@J*TBst_<)N@Q>3D*dIMOXhxqca?C%b1dWnQ$H&Eh8S}OAO;8y-~B>FOVvG{=_AXUs6!!p%xqj-6$@uC3tY z-7Wq>4bCH$(_7J5$Bx_8;PA9k^-ohu2RO$Sgaf^Kj@L-~ySx0%PY%V{<09JeahbZu z__2-P?A^WoN$5eS$j_S7vC6%4F8pIex0@<7*z4GiOoEkemu%{(!ik+XN*x!J^_@B# z4wei0Qz%A8OGM&zw`2=k#(ievcDxN)ej8A4k`1_+20GTDqrghn75ni?KPXX5@>XdN zK)y=16#JzM+KI&=bQ08OMi;!_N%Lrl<8bLTuw3=Gz2V!yG2JVtzxI5%0Z@8_>6x=Z); z^G~YHjwxKZX}tn%IJzw&9;T;%0XOMZNuAa05;W<~QrL{>ZV8n3xGZ9w3&b9#iw14i9S{eHxetAl(a-7| zP-Yz8A*S5Rz`3B_;DS5#aJiacG%a)^nx#E%|MdD8FA(f+y7jr6$nKbRzXm&xoPP)3 zqTAi@z+iX7!!5ek4P%J0%nCvT4f5Nc;|vEUEkyOlyZiP+&jrh`IK&5)q3{4$ehn2e zcojIRJEXLr?ka=9;Hhr)q=_AO8#=JHOnt-PmE328<(D%fO#Gu@4iC#we&w)L!FFtw zV{h$ZaP*wQanZftgl;dl1l~pN1rg3G-!oSD-?!6ir}tMIOeNodo#&r{e^B}b6@B~3 zH-Q7}%i4P}o50~^Zh6?!vZVdv#6MV=n~w(PZgum)?0o!!c#%G%!rzRVcUCagQ(u*+ z%c)zG^MCFTtJ@8kLEc;8pN{AoJ!n@JLujuN7ypy@bsb~-V=&G0&^$a}58Za0?v+dd zL~DBp&)!X|R=D^+ZN8=-!9gABPfZvX0$-f#1p631e!Ryj67qr+Goh`=|Iq01m~!>H zNwyT6V!z3be+w)>m|*kR>c9T~gJ`b8U>NuNY_Rt+ephGmF9AE73$C)mV8dMPUMP{ATj=&HYw4-e?!o9abJ#AEA5jd%P zNmegEoU1Y7X!$pq!DT~RTsMN%hh^$=qZzBg3Ek-P4{DAe^?gn0$pli06|SGW0gmIm zxlOTug0qfuzJu;Z%FHW!oA|kcb(asLADLOW`?1FZ)Yh*|{b`s!1I+$eB^EHod9STF zUqQ~DrzckWN7o0(6>h`bjIoP4T*%kJLB}F)Bbc=U#fer{BFHd;w3kLNJtTtcl~~pc zdlI~)Lj=C~<@xJdG8!U}NTODWWftBO#b!ZDaFFv5?6Lo4CU7hcR)d{er{99VuhA3t zqNBsQWiS7j2Kn99)kZjj9z#VP7eo&QJ1-!%g0rlIW|;I3gEKn47n7WP5X`p3Up>w{ zeT+$a7cTGwkFx5z0SurRGPiqt+>;2?v8^)=9KDU7?Nhq6_;PS+qDy^l@V~(Fsp5-F z?Mo!yaq94vVD>C*&#I^s)!-fhr;%29qdJT9n*;m}wA@oAD*knTMJRRcTq2WF2r{lw z3&C0PGd{aPtDi!w8(k`3bn`o~{K`~RUQF|VBua(r6fiY4f}`gbro6de`SIK&lm20F z?rOcE%3o8TeT}Qs{qh_ZGiFi_KYA=U$wg73t$NM|$8??FKWI)ElWs5b-+&xA-K8d& z>eVy6c!;3JnruFBkX5KOM;coPRv)<4s|L>pdmZ~*hBJHf#>O4U6k+b3YB9{XRQbnYldh?n$7f#bS&AS@?z^*;VFbAtHKG80Mc zq8E`OH)NVkX>WqFzp;`s_y=%P8^0qpN;K*vatM|iZhuIyo zhobLQQac>LgTMjZvLCZ(T(^@NMd$?8%1=D)W#ug?IA{ChG+3}k!3wFOSIU;(g4?Ut zt&qcJ)Gep%T&|cg|A5= zo*Fny>be^EOzD;y|8!rFYqYZT5be3^b(wj(BoS*tNrZ1Xh*o5<5>t)XpI%*L{qWdc zi0lO85)VS`@_S3$cbl>n3F*#3mKV}XAw?y+F5sUuC%|N5PY?I6ql+EB*t_5WoBFnx zd%)2hC4DD|{nIj?RP>!|t`=Ndm=m{x@!3t8`J2t{b zgL47BVX%L6t(sb9{iaU@T=_nI#?Fdu8tTE^Js3h|N;eYJ=I$=|ipPJDe~#4FpT%Gn zaYN{kCK^4|R6g}X+T&>7LU2HLOQC3&1S53y{#JWJ5}>C9wV4I-`}lmLJ3lT`5e(ub zMiJJ5SrU<~m}kS5@9)31GKNoKv%ULgG>-?rhx%(!qt>Bx?xDJ4C{{M+*z|v(8*N%q zqHe(&OXCM_fPKgH(eYp}*mjRj1xHTIFa1QQ3&GBV#}_4DR}Z5${Munm=!{QLy>kgM zE{i4O=lC*sq>z7rQ)6*D4HHj+WVG@ zJuTOOqj-kl9+)(Q5Y-~B5Y^u1C^ z=1qP)Z&;f6HOX|{NaPdIjReKHuk}SE{WbOSD{os)e`kL&0mqnotInn1BqoeIRhHC$ z2gh~SNcvyt9w{uQJ)@|~TU@FRHrDBp9!8iBjbh9@4xl!|p1Bh#qzX5rE(hZtji!N3tdm3mg^5of zWBVZ2%NHa@nB22}rqI^HdMyS{a_ltI&Iaa(5u@p!sO~0rZI(-pvJR1fxW_Muhana) zsV9SR-p3#wwy4LDDXUw@&_4;?B|%bqf)pX2Qjj@JirD%)74Z7uPE$m%SCq1mWEg~2 z0$*%Tx4O#2R{tUFbV%%-x+_QpjC(2azb@4NNnbLdj53+_NBbVtb@gOout-431kC~V z%We1YjG|(d+rzDxh%I?N3Qpjs+XH+fIF8tDMRxOio_u4%9^l7;*}I|G!Qm+$H5;oV zVjteGScTF5ai-XF!MW3Q%|ZUr%}zIB@NQJM#NBtbs~PM?IW9H%+Q9Oi8QY(D5S;7f zSz{Cb5g6ls5TXe1V}`RJi*#r1UaXopqZJz{>_oxzBguTu9ET5&YE$sDR%=f{TpgSc<>NG)ZaC^Z)dYTLL&Kv%3fD_s? z7M22^m8<4qc}}k@ld?jPn{%vOH<~J^mcyyz!sFk;5yvUx6JUiLg=J~*JK&_l=JiUv z?i|Zlj61IQuCIUz_BHL^+yTyV_%fCuD01A>gWO)s-wcytPX=R;4}odznBw;-Vs<6-x=Imh7i4CWZb=l;o^d3S50cof$CY~( zs|$5#9I+YQDzU+5-3mpriWpK=jK|SI?3~0E9`%?h`6tNEi}F=|6qVcj_Bc8ooGq{D zyU#Nh9KDFI{o@`AXGw6Fz2Jl??+0)~*Nvz4CJu#US5T7OvA2+0AS1Fig5q4aUOb*D zJ-LnEH50?ufg+={q)O_Z@%~BmUJf1XF?0LA^gZ`{nD?!2SPc%M3$}0a2l!syav0`1 z!=k~~@?qSDW+)xTe3H`L66^e>*nTxK&Z{T*$1HFj#%_k}{Lupp|JPlpL&1S2zV&71 zgsTJ(E;zZ1z!6uOb;VlR|0y`bs_Z6P?BLXAE_EMR6!JiMV*Es%oToz7xC+ftZs)~D{mXwPRAh7a35J7HJ*u!9BsMz{goIO>ki6W!W(XuIX zP@$WKP7;IAezYaJP6;A9eYAgebDSZ$#WdxeFzWekp{XSeD9p%mYyU(M|xG zlgT&vzr{WooZG#i<9`J!PDt!6#uzwunoAvT+OiVt)xF2CZ5P!o$I{@0ZX>9bkA~Sg ze(|wna%_iaFq}$irk7(8bv#gTE9V~vOE2^L9wsRf$9~6K{dHWvLC29Pt~-ung}c+O z*B|Gf=!%*er;9xgO~IXy>Gmmbgi=Zn)@g!PjgFFB4jse|CLx|>4j(_YEcr0W{#v#@S$1Vwa5BXM|r1U~s@o^2^UKTRxP zkHq4DPa`;8*Ae(qALn<}LMqgc-SB{rkm2x@~b@_TI4Po-zlj~E|eMp9o1-ln^z ziCcrRPBY|_xCxZey;63Td*e$Dd9PVAXzQj^c1$-C_)=^`iN=dz`kYv$+a&g0-9d1q z^9Kiyz=D_G0-s~bs*EsxR=E2XUMGWNOf>-$|4)fOU;i=PKbkX6ZkwAM8RyTD{tY!D zsnxo*i80LLx`}4yxcnhDQJUpNPlIFlz$F9A5(@Y#UDpgx&fn0!06DkTt!_5m{;OcF zz3y)&iP8TLwQvl_2sn3#zP;IBQ#3<&Qk+jYevfzVUxl^qW(Gl++3#?}%*u0Q5Qk0_ zx2s6cI+4uS8=!RciL^uMG{KxWp0KQRh2hHc8BdOyj|Ary@-1V->D6HQ5T3mU`wQ5) zuekRG^c2#R(Jtj34xXZ0PGTGcaImKvvW6V~x}pL!VIg4Ei*6zaostCvKajked;H^oo%}H^SP4N zGgE|go*q5ZKas?(KpDjZ^%*u6ZAb8tOGv!jrEWIO_*JlDA7{usVY}PPeRJ diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index 5403913e16d3e6701b9595335ffe456825ffb2df..808f43379c8fcc78a4c383451e562e46b81c0da4 100755 GIT binary patch delta 109116 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 delta 109284 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%0An|#;OH9QI1b+{E>HhFz>Dw%?wx`o$Z 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 delta 42966 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

NCJnwtq_wn3K2wuaR zZ-z-4An5maKl#o!xty=wj7p2+iCfSLh2frCd^;o9xNy}S!p79Ff0u8Qn|&BA_{ql^ z8^|;FLahPM-ixNY6<)vBH_XLO@jCnA-N1Y9N3qxN_4`r6Hk=&*^x_>3pkT?o>Oo}r zaQO5=U#y#52;civSkxc*=KyOG3E;2JnK8fn8^>EN1hgOb^#f7asLG* zUlcC5AOhpV>o1AoMe@~GU?V=9c-5ES#)pbBuR&`lZ*(2C+>Tehf!yrnyKf-5u{`l6 z5m&WM z{B&Qz*Y2#pD)^qG=on@=?IAz9)05%MD1X@XKOHz8-(VGb4R~T{e=NFL&(i+(>?mJQ z+8;#6@jv1(L0Q6n!@tw&$7iDbkrDVd*JUrVl+QcF_-CPY3S#_6@cpONvHnfCKr?-S z&%=%Uh{L9Y?^W=l;M>C;DhaI1=T%1bZ}Z)i{b<;5W}MJ!!kfn<-JI}*c>hDpPfs%o zWoi5q>|D;~3#uYkP2QmzvKPmWHdc9!{(0M~xp2@2>AhI~RrTB?x~GPiuq(F7SdzNZ@N8 z^*E}Srjzu8(L)#6nL5c=KaTXL^WD&5!^1rri*n)`Z-Th1ctH~stOc+71Tt5SM?Z<0 zO8&o^t|p|dAPBQ6q9BFsLD*Pm&plO;VoEJUY-6x(cv4hst5hnORAY!%h!iC)68mf3 zK|Z|cMTn>7(xKi8MaZe-U_lV^Bz+=idi3NsN*+9hncbQBW_ETTdzmM}U7hn6;Z6=_ zkn5!8d)P3^j%Z+r^FkAiIb$!9w)Nz zl8tKtY)iJ^oz`>l5(CuvB#}YY*_KyBisB5xFhL!l_?!-2!+Sxuw-I?sA^#{jLQDII zjgUJ;^C-zTDUYgRhj?S|Pn~wX8fOYuB|NUnFeZr!U4~6m5)|JcO7NCNX_}-u=Xm7(Kxv++W~Dr@ssAnJo$jzBu?t$t*JW=} z<@;iD+;RK}ls~9^0sa!z8l<>HpRRTpsa2Edzd~3*B+q5PfsH(&v?9n8XscwGwP1Fo w{84F0+-LQ%4DSnbaU%As*7_ZID^xm{wG|!Bpi*EQJNcsT_=cqDw>73N000XG2mk;8 From 531d0429d1cc49a1959f6f7a0028ed3111dd6bd4 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Mon, 28 Jan 2013 17:08:34 -0800 Subject: [PATCH 451/851] BulletSim: first unit test: vehicle angular attraction --- .../Physics/BulletSPlugin/BSDynamics.cs | 12 +- .../Region/Physics/BulletSPlugin/BSPrim.cs | 32 ++-- .../Region/Physics/BulletSPlugin/BSScene.cs | 2 +- .../BulletSPlugin/Tests/BasicVehicles.cs | 181 ++++++++++++------ .../BulletSPlugin/Tests/BulletSimTestsUtil.cs | 2 +- prebuild.xml | 2 + 6 files changed, 152 insertions(+), 79 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs index 94194b0678..05a0dcce4e 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs @@ -125,9 +125,9 @@ namespace OpenSim.Region.Physics.BulletSPlugin static readonly float PIOverTwo = ((float)Math.PI) / 2f; // For debugging, flags to turn on and off individual corrections. - private bool enableAngularVerticalAttraction; - private bool enableAngularDeflection; - private bool enableAngularBanking; + public bool enableAngularVerticalAttraction; + public bool enableAngularDeflection; + public bool enableAngularBanking; public BSDynamics(BSScene myScene, BSPrim myPrim) { @@ -165,7 +165,7 @@ namespace OpenSim.Region.Physics.BulletSPlugin } #region Vehicle parameter setting - internal void ProcessFloatVehicleParam(Vehicle pParam, float pValue) + public void ProcessFloatVehicleParam(Vehicle pParam, float pValue) { VDetailLog("{0},ProcessFloatVehicleParam,param={1},val={2}", Prim.LocalID, pParam, pValue); switch (pParam) @@ -677,13 +677,13 @@ namespace OpenSim.Region.Physics.BulletSPlugin private const int m_knownChangedWaterLevel = 1 << 9; private const int m_knownChangedForwardVelocity = 1 <<10; - private void ForgetKnownVehicleProperties() + public void ForgetKnownVehicleProperties() { m_knownHas = 0; m_knownChanged = 0; } // Push all the changed values back into the physics engine - private void PushKnownChanged() + public void PushKnownChanged() { if (m_knownChanged != 0) { diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs index 998836c646..2b0a539232 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs @@ -73,7 +73,7 @@ public sealed class BSPrim : BSPhysObject private bool _kinematic; private float _buoyancy; - private BSDynamics _vehicle; + public BSDynamics VehicleController { get; private set; } private BSVMotor _targetMotor; private OMV.Vector3 _PIDTarget; @@ -107,7 +107,7 @@ public sealed class BSPrim : BSPhysObject _friction = PhysicsScene.Params.defaultFriction; _restitution = PhysicsScene.Params.defaultRestitution; - _vehicle = new BSDynamics(PhysicsScene, this); // add vehicleness + VehicleController = new BSDynamics(PhysicsScene, this); // add vehicleness _mass = CalculateMass(); @@ -512,7 +512,7 @@ public sealed class BSPrim : BSPhysObject public override int VehicleType { get { - return (int)_vehicle.Type; // if we are a vehicle, return that type + return (int)VehicleController.Type; // if we are a vehicle, return that type } set { Vehicle type = (Vehicle)value; @@ -521,19 +521,19 @@ public sealed class BSPrim : BSPhysObject { // Done at taint time so we're sure the physics engine is not using the variables // Vehicle code changes the parameters for this vehicle type. - _vehicle.ProcessTypeChange(type); + VehicleController.ProcessTypeChange(type); ActivateIfPhysical(false); // If an active vehicle, register the vehicle code to be called before each step - if (_vehicle.Type == Vehicle.TYPE_NONE) + if (VehicleController.Type == Vehicle.TYPE_NONE) { UnRegisterPreStepAction("BSPrim.Vehicle", LocalID); - PhysicsScene.AfterStep -= _vehicle.PostStep; + PhysicsScene.AfterStep -= VehicleController.PostStep; } else { - RegisterPreStepAction("BSPrim.Vehicle", LocalID, _vehicle.Step); - PhysicsScene.AfterStep += _vehicle.PostStep; + RegisterPreStepAction("BSPrim.Vehicle", LocalID, VehicleController.Step); + PhysicsScene.AfterStep += VehicleController.PostStep; } }); } @@ -542,7 +542,7 @@ public sealed class BSPrim : BSPhysObject { PhysicsScene.TaintedObject("BSPrim.VehicleFloatParam", delegate() { - _vehicle.ProcessFloatVehicleParam((Vehicle)param, value); + VehicleController.ProcessFloatVehicleParam((Vehicle)param, value); ActivateIfPhysical(false); }); } @@ -550,7 +550,7 @@ public sealed class BSPrim : BSPhysObject { PhysicsScene.TaintedObject("BSPrim.VehicleVectorParam", delegate() { - _vehicle.ProcessVectorVehicleParam((Vehicle)param, value); + VehicleController.ProcessVectorVehicleParam((Vehicle)param, value); ActivateIfPhysical(false); }); } @@ -558,7 +558,7 @@ public sealed class BSPrim : BSPhysObject { PhysicsScene.TaintedObject("BSPrim.VehicleRotationParam", delegate() { - _vehicle.ProcessRotationVehicleParam((Vehicle)param, rotation); + VehicleController.ProcessRotationVehicleParam((Vehicle)param, rotation); ActivateIfPhysical(false); }); } @@ -566,7 +566,7 @@ public sealed class BSPrim : BSPhysObject { PhysicsScene.TaintedObject("BSPrim.VehicleFlags", delegate() { - _vehicle.ProcessVehicleFlags(param, remove); + VehicleController.ProcessVehicleFlags(param, remove); }); } @@ -747,7 +747,7 @@ public sealed class BSPrim : BSPhysObject // isSolid: other objects bounce off of this object // isVolumeDetect: other objects pass through but can generate collisions // collisionEvents: whether this object returns collision events - private void UpdatePhysicalParameters() + public void UpdatePhysicalParameters() { // DetailLog("{0},BSPrim.UpdatePhysicalParameters,entry,body={1},shape={2}", LocalID, BSBody, BSShape); @@ -759,7 +759,7 @@ public sealed class BSPrim : BSPhysObject MakeDynamic(IsStatic); // Update vehicle specific parameters (after MakeDynamic() so can change physical parameters) - _vehicle.Refresh(); + VehicleController.Refresh(); // Arrange for collision events if the simulator wants them EnableCollisions(SubscribedEvents()); @@ -1601,7 +1601,7 @@ public sealed class BSPrim : BSPhysObject // Remove all the physical dependencies on the old body. // (Maybe someday make the changing of BSShape an event to be subscribed to by BSLinkset, ...) Linkset.RemoveBodyDependencies(this); - _vehicle.RemoveBodyDependencies(this); + VehicleController.RemoveBodyDependencies(this); }); // Make sure the properties are set on the new object @@ -1618,7 +1618,7 @@ public sealed class BSPrim : BSPhysObject { // A temporary kludge to suppress the rotational effects introduced on vehicles by Bullet // TODO: handle physics introduced by Bullet with computed vehicle physics. - if (_vehicle.IsActive) + if (VehicleController.IsActive) { entprop.RotationalVelocity = OMV.Vector3.Zero; } diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs index b23be91e31..a4690ba6a0 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs @@ -855,7 +855,7 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters { DetailLog("{0},BSScene.AssertInTaintTime,NOT IN TAINT TIME,Region={1},Where={2}", DetailLogZero, RegionName, whereFrom); m_log.ErrorFormat("{0} NOT IN TAINT TIME!! Region={1}, Where={2}", LogHeader, RegionName, whereFrom); - Util.PrintCallStack(DetailLog); + // Util.PrintCallStack(DetailLog); } return InTaintTime; } diff --git a/OpenSim/Region/Physics/BulletSPlugin/Tests/BasicVehicles.cs b/OpenSim/Region/Physics/BulletSPlugin/Tests/BasicVehicles.cs index 41ef67bd03..59001030d4 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/Tests/BasicVehicles.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/Tests/BasicVehicles.cs @@ -1,56 +1,127 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSimulator Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -using NUnit.Framework; -using log4net; - -using OpenSim.Tests.Common; - -namespace OpenSim.Region.Physics.BulletSPlugin.Tests -{ -[TestFixture] -public class BasicVehicles : OpenSimTestCase -{ - // Documentation on attributes: http://www.nunit.org/index.php?p=attributes&r=2.6.1 - // Documentation on assertions: http://www.nunit.org/index.php?p=assertions&r=2.6.1 - - [TestFixtureSetUp] - public void Init() - { - } - - [TestFixtureTearDown] - public void TearDown() - { - } -} +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +using NUnit.Framework; +using log4net; + +using OpenSim.Framework; +using OpenSim.Region.Physics.BulletSPlugin; +using OpenSim.Region.Physics.Manager; +using OpenSim.Tests.Common; + +using OpenMetaverse; + +namespace OpenSim.Region.Physics.BulletSPlugin.Tests +{ +[TestFixture] +public class BasicVehicles : OpenSimTestCase +{ + // Documentation on attributes: http://www.nunit.org/index.php?p=attributes&r=2.6.1 + // Documentation on assertions: http://www.nunit.org/index.php?p=assertions&r=2.6.1 + + BSScene PhysicsScene { get; set; } + BSPrim TestVehicle { get; set; } + Vector3 TestVehicleInitPosition { get; set; } + float timeStep = 0.089f; + + [TestFixtureSetUp] + public void Init() + { + Dictionary engineParams = new Dictionary(); + PhysicsScene = BulletSimTestsUtil.CreateBasicPhysicsEngine(engineParams); + + PrimitiveBaseShape pbs = PrimitiveBaseShape.CreateSphere(); + Vector3 pos = new Vector3(100.0f, 100.0f, 0f); + pos.Z = PhysicsScene.TerrainManager.GetTerrainHeightAtXYZ(pos) + 2f; + TestVehicleInitPosition = pos; + Vector3 size = new Vector3(1f, 1f, 1f); + pbs.Scale = size; + Quaternion rot = Quaternion.Identity; + bool isPhys = false; + uint localID = 123; + + PhysicsScene.AddPrimShape("testPrim", pbs, pos, size, rot, isPhys, localID); + TestVehicle = (BSPrim)PhysicsScene.PhysObjects[localID]; + // The actual prim shape creation happens at taint time + PhysicsScene.ProcessTaints(); + + } + + [TestFixtureTearDown] + public void TearDown() + { + if (PhysicsScene != null) + { + // The Dispose() will also free any physical objects in the scene + PhysicsScene.Dispose(); + PhysicsScene = null; + } + } + + [TestCase(25, 0.25f, 0.25f, 0.25f)] + [TestCase(25, -0.25f, 0.25f, 0.25f)] + [TestCase(25, 0.25f, -0.25f, 0.25f)] + [TestCase(25, -0.25f, -0.25f, 0.25f)] + public void VerticalAttraction(int simSteps, float initRoll, float initPitch, float initYaw) + { + Quaternion initOrientation = Quaternion.CreateFromEulers(initRoll, initPitch, initYaw); + TestVehicle.Orientation = initOrientation; + + TestVehicle.Position = TestVehicleInitPosition; + + // The vehicle controller is not enabled directly (set a vehicle type). + // Instead the appropriate values are set and calls are made just the parts of the + // controller we want to exercise. Stepping the physics engine then applies + // the actions of that one feature. + TestVehicle.VehicleController.ProcessFloatVehicleParam(Vehicle.VERTICAL_ATTRACTION_EFFICIENCY, 0.2f); + TestVehicle.VehicleController.ProcessFloatVehicleParam(Vehicle.VERTICAL_ATTRACTION_TIMESCALE, 2f); + TestVehicle.VehicleController.enableAngularVerticalAttraction = true; + + TestVehicle.IsPhysical = true; + PhysicsScene.ProcessTaints(); + + // Step the simulator a bunch of times and and vertical attraction should orient the vehicle up + for (int ii = 0; ii < simSteps; ii++) + { + TestVehicle.VehicleController.ForgetKnownVehicleProperties(); + TestVehicle.VehicleController.ComputeAngularVerticalAttraction(); + TestVehicle.VehicleController.PushKnownChanged(); + + PhysicsScene.Simulate(timeStep); + } + + // After these steps, the vehicle should be upright + Vector3 upPointer = Vector3.UnitZ * TestVehicle.Orientation; + Assert.That(upPointer.Z, Is.GreaterThan(0.99f)); + } +} } \ No newline at end of file diff --git a/OpenSim/Region/Physics/BulletSPlugin/Tests/BulletSimTestsUtil.cs b/OpenSim/Region/Physics/BulletSPlugin/Tests/BulletSimTestsUtil.cs index e7657f9059..215e92f15f 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/Tests/BulletSimTestsUtil.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/Tests/BulletSimTestsUtil.cs @@ -47,7 +47,7 @@ public static class BulletSimTestsUtil public static BSScene CreateBasicPhysicsEngine(Dictionary paramOverrides) { IConfigSource openSimINI = new IniConfigSource(); - IConfig startupConfig = openSimINI.AddConfig("StartUp"); + IConfig startupConfig = openSimINI.AddConfig("Startup"); startupConfig.Set("physics", "BulletSim"); startupConfig.Set("meshing", "Meshmerizer"); startupConfig.Set("cacheSculptMaps", "false"); // meshmerizer shouldn't save maps diff --git a/prebuild.xml b/prebuild.xml index 24299ffcbc..329ff73550 100644 --- a/prebuild.xml +++ b/prebuild.xml @@ -3378,6 +3378,8 @@ + + From 47f09ed4c1d6a5d9763b6d1f5f86169e452281c8 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Mon, 28 Jan 2013 17:21:13 -0800 Subject: [PATCH 452/851] BulletSim: enable angular vertical attraction. Increase terrain collision margin to help vehicles from tunneling into same. --- OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs | 4 ++-- OpenSim/Region/Physics/BulletSPlugin/BSParam.cs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs index 05a0dcce4e..05ab180050 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs @@ -141,12 +141,12 @@ namespace OpenSim.Region.Physics.BulletSPlugin // in changes by making enablement of debugging flags from INI file. public void SetupVehicleDebugging() { - enableAngularVerticalAttraction = false; + enableAngularVerticalAttraction = true; enableAngularDeflection = false; enableAngularBanking = false; if (BSParam.VehicleDebuggingEnabled != ConfigurationParameters.numericFalse) { - enableAngularVerticalAttraction = false; + enableAngularVerticalAttraction = true; enableAngularDeflection = false; enableAngularBanking = false; } diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs index 4ece944b76..8c098b234c 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs @@ -383,7 +383,7 @@ public static class BSParam (s) => { return TerrainRestitution; }, (s,p,l,v) => { TerrainRestitution = v; /* TODO: set on real terrain */ } ), new ParameterDefn("TerrainCollisionMargin", "Margin where collision checking starts" , - 0.04f, + 0.08f, (s,cf,p,v) => { TerrainCollisionMargin = cf.GetFloat(p, v); }, (s) => { return TerrainCollisionMargin; }, (s,p,l,v) => { TerrainCollisionMargin = v; /* TODO: set on real terrain */ } ), From ca26ff9436ab60a73ec1fbd6ab23b86f83a64e78 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Tue, 29 Jan 2013 03:58:11 +0000 Subject: [PATCH 453/851] minor: remove some mono compile warnings in XEngine.cs --- OpenSim/Region/ScriptEngine/XEngine/XEngine.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs index d4832195e1..8931be444c 100644 --- a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs +++ b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs @@ -48,7 +48,6 @@ using OpenSim.Region.Framework.Scenes; using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.ScriptEngine.Interfaces; using OpenSim.Region.ScriptEngine.Shared; -using OpenSim.Region.ScriptEngine.Shared.ScriptBase; using OpenSim.Region.ScriptEngine.Shared.CodeTools; using OpenSim.Region.ScriptEngine.Shared.Instance; using OpenSim.Region.ScriptEngine.Shared.Api; @@ -630,7 +629,6 @@ namespace OpenSim.Region.ScriptEngine.XEngine } StringBuilder sb = new StringBuilder(); - Queue eq = instance.EventQueue; sb.AppendFormat("Script name : {0}\n", instance.ScriptName); sb.AppendFormat("Status : {0}\n", status); From fd34a75cdec2ad31595722bc726baecc6d071356 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Tue, 29 Jan 2013 04:03:33 +0000 Subject: [PATCH 454/851] minor: Tidy up disabled logging on AssetTransactionModule for future use. Make it clear that transaction parameter to HandleUDPUploadRequest is an ID. --- .../AssetTransaction/AssetTransactionModule.cs | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetTransactionModule.cs b/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetTransactionModule.cs index e97365204e..d1ad74fae6 100644 --- a/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetTransactionModule.cs +++ b/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetTransactionModule.cs @@ -214,9 +214,9 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction public void HandleTaskItemUpdateFromTransaction( IClientAPI remoteClient, SceneObjectPart part, UUID transactionID, TaskInventoryItem item) { - m_log.DebugFormat( - "[ASSET TRANSACTION MODULE] Called HandleTaskItemUpdateFromTransaction with item {0} in {1} for {2} in {3}", - item.Name, part.Name, remoteClient.Name, m_Scene.RegionInfo.RegionName); +// m_log.DebugFormat( +// "[ASSET TRANSACTION MODULE]: Called HandleTaskItemUpdateFromTransaction with item {0} in {1} for {2} in {3}", +// item.Name, part.Name, remoteClient.Name, m_Scene.RegionInfo.RegionName); AgentAssetTransactions transactions = GetUserTransactions(remoteClient.AgentId); @@ -230,15 +230,17 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction ///

/// /// - /// + /// /// /// /// public void HandleUDPUploadRequest(IClientAPI remoteClient, - UUID assetID, UUID transaction, sbyte type, byte[] data, + UUID assetID, UUID transactionID, sbyte type, byte[] data, bool storeLocal, bool tempFile) { -// m_log.Debug("HandleUDPUploadRequest - assetID: " + assetID.ToString() + " transaction: " + transaction.ToString() + " type: " + type.ToString() + " storelocal: " + storeLocal + " tempFile: " + tempFile); +// m_log.DebugFormat( +// "[ASSET TRANSACTION MODULE]: HandleUDPUploadRequest - assetID: {0}, transaction {1}, type {2}, storeLocal {3}, tempFile {4}, data.Length {5}", +// assetID, transactionID, type, storeLocal, tempFile, data.Length); if (((AssetType)type == AssetType.Texture || (AssetType)type == AssetType.Sound || @@ -274,8 +276,8 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction } AgentAssetTransactions transactions = GetUserTransactions(remoteClient.AgentId); - AssetXferUploader uploader = transactions.RequestXferUploader(transaction); - uploader.StartUpload(remoteClient, assetID, transaction, type, data, storeLocal, tempFile); + AssetXferUploader uploader = transactions.RequestXferUploader(transactionID); + uploader.StartUpload(remoteClient, assetID, transactionID, type, data, storeLocal, tempFile); } /// From e0f4e91d224c7a3f478a1bdea3d563ce97bb07c0 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Tue, 29 Jan 2013 04:26:26 +0000 Subject: [PATCH 455/851] Try ignoring json tests if they can't be run due to being on <=.net 3.5 --- .../Tests/JsonStoreScriptModuleTests.cs | 23 ++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index 397dd939f3..5b2931eed0 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -59,8 +59,6 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests { base.SetUp(); - TestHelpers.EnableLogging(); - IConfigSource configSource = new IniConfigSource(); IConfig jsonStoreConfig = configSource.AddConfig("JsonStore"); jsonStoreConfig.Set("Enabled", "true"); @@ -72,9 +70,20 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests m_scene = new SceneHelpers().SetupScene(); SceneHelpers.SetupSceneModules(m_scene, configSource, m_engine, m_smcm, jsm, jssm); + + try + { + m_smcm.RegisterScriptInvocation(this, "DummyTestMethod"); + } + catch (ArgumentException) + { + Assert.Ignore("Ignoring test since running on .NET 3.5 or earlier."); + } + + // XXX: Unfortunately, ICommsModule currently has no way of deregistering methods. } -// [Test] + [Test] public void TestJsonCreateStore() { TestHelpers.InMethod(); @@ -85,7 +94,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests Assert.That(storeId, Is.Not.EqualTo(UUID.Zero)); } -// [Test] + [Test] public void TestJsonGetValue() { TestHelpers.InMethod(); @@ -102,7 +111,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests Assert.That(value, Is.EqualTo("World")); } -// [Test] + [Test] public void TestJsonTestPath() { TestHelpers.InMethod(); @@ -119,7 +128,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests Assert.That(result, Is.EqualTo(1)); } -// [Test] + [Test] public void TestJsonSetValue() { TestHelpers.InMethod(); @@ -141,5 +150,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests Assert.That(value, Is.EqualTo("World")); } + + public object DummyTestMethod(object o1, object o2, object o3, object o4, object o5) { return null; } } } \ No newline at end of file From ccdf86c73719fa17557ac9a6bd1db657796b12ba Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Tue, 29 Jan 2013 04:35:05 +0000 Subject: [PATCH 456/851] minor: remove EnableLogging() left over in CoopTerminationTests --- .../ScriptEngine/Shared/Instance/Tests/CoopTerminationTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Instance/Tests/CoopTerminationTests.cs b/OpenSim/Region/ScriptEngine/Shared/Instance/Tests/CoopTerminationTests.cs index 3b13386e3e..2c8082680c 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Instance/Tests/CoopTerminationTests.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Instance/Tests/CoopTerminationTests.cs @@ -245,7 +245,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance.Tests public void TestStopOnInfiniteJumpLoop() { TestHelpers.InMethod(); - TestHelpers.EnableLogging(); +// TestHelpers.EnableLogging(); string script = @"default From 39700445f257108305f576c7af67623cc145906c Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Tue, 29 Jan 2013 04:36:41 +0000 Subject: [PATCH 457/851] minor: change name of json script tests to JsonStoreScriptModuleTests instead of copy/pasted LSL_ApiInventoryTests --- .../Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index 5b2931eed0..9f9172891c 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -48,7 +48,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests /// Tests for inventory functions in LSL /// [TestFixture] - public class LSL_ApiInventoryTests : OpenSimTestCase + public class JsonStoreScriptModuleTests : OpenSimTestCase { private Scene m_scene; private MockScriptEngine m_engine; From a61ecee227450ea81c9afe85a62b207fefa888a9 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Tue, 29 Jan 2013 17:01:27 -0800 Subject: [PATCH 458/851] BulletSim: fix physics repositioning when under ground to only happen for physical objects. Non-physical objects can go anywhere they want. --- .../Region/Physics/BulletSPlugin/BSPrim.cs | 6 ++- .../BulletSPlugin/Tests/BasicVehicles.cs | 45 ++++++++++++++----- .../BulletSPlugin/Tests/BulletSimTestsUtil.cs | 14 ++++-- 3 files changed, 50 insertions(+), 15 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs index 2b0a539232..b5dd131abe 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs @@ -344,6 +344,10 @@ public sealed class BSPrim : BSPhysObject { bool ret = false; + // We don't care where non-physical items are placed + if (!IsPhysicallyActive) + return ret; + if (!PhysicsScene.TerrainManager.IsWithinKnownTerrain(RawPosition)) { // The physical object is out of the known/simulated area. @@ -1643,7 +1647,7 @@ public sealed class BSPrim : BSPhysObject // DetailLog("{0},BSPrim.UpdateProperties,afterAssign,entprop={1}", LocalID, entprop); // DEBUG DEBUG // The sanity check can change the velocity and/or position. - if (IsPhysical && PositionSanityCheck(true /* inTaintTime */ )) + if (PositionSanityCheck(true /* inTaintTime */ )) { entprop.Position = _position; entprop.Velocity = _velocity; diff --git a/OpenSim/Region/Physics/BulletSPlugin/Tests/BasicVehicles.cs b/OpenSim/Region/Physics/BulletSPlugin/Tests/BasicVehicles.cs index 59001030d4..33232bdb7a 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/Tests/BasicVehicles.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/Tests/BasicVehicles.cs @@ -51,7 +51,7 @@ public class BasicVehicles : OpenSimTestCase BSScene PhysicsScene { get; set; } BSPrim TestVehicle { get; set; } Vector3 TestVehicleInitPosition { get; set; } - float timeStep = 0.089f; + float simulationTimeStep = 0.089f; [TestFixtureSetUp] public void Init() @@ -87,39 +87,62 @@ public class BasicVehicles : OpenSimTestCase } } - [TestCase(25, 0.25f, 0.25f, 0.25f)] - [TestCase(25, -0.25f, 0.25f, 0.25f)] - [TestCase(25, 0.25f, -0.25f, 0.25f)] - [TestCase(25, -0.25f, -0.25f, 0.25f)] - public void VerticalAttraction(int simSteps, float initRoll, float initPitch, float initYaw) + [TestCase(2f, 0.2f, 0.25f, 0.25f, 0.25f)] + [TestCase(2f, 0.2f, -0.25f, 0.25f, 0.25f)] + [TestCase(2f, 0.2f, 0.25f, -0.25f, 0.25f)] + [TestCase(2f, 0.2f, -0.25f, -0.25f, 0.25f)] + // [TestCase(2f, 0.2f, 0.785f, 0.0f, 0.25f) /*, "Leaning 45 degrees to the side" */] + // [TestCase(2f, 0.2f, 1.650f, 0.0f, 0.25f) /*, "Leaning more than 90 degrees to the side" */] + // [TestCase(2f, 0.2f, 2.750f, 0.0f, 0.25f) /*, "Almost upside down, tipped right" */] + // [TestCase(2f, 0.2f,-2.750f, 0.0f, 0.25f) /*, "Almost upside down, tipped left" */] + // [TestCase(2f, 0.2f, 0.0f, 0.785f, 0.25f) /*, "Tipped back 45 degrees" */] + // [TestCase(2f, 0.2f, 0.0f, 1.650f, 0.25f) /*, "Tipped back more than 90 degrees" */] + // [TestCase(2f, 0.2f, 0.0f, 2.750f, 0.25f) /*, "Almost upside down, tipped back" */] + // [TestCase(2f, 0.2f, 0.0f,-2.750f, 0.25f) /*, "Almost upside down, tipped forward" */] + public void AngularVerticalAttraction(float timeScale, float efficiency, float initRoll, float initPitch, float initYaw) { + // Enough simulation steps to cover the timescale the operation should take + int simSteps = (int)(timeScale / simulationTimeStep) + 1; + + // Tip the vehicle Quaternion initOrientation = Quaternion.CreateFromEulers(initRoll, initPitch, initYaw); TestVehicle.Orientation = initOrientation; TestVehicle.Position = TestVehicleInitPosition; - // The vehicle controller is not enabled directly (set a vehicle type). + // The vehicle controller is not enabled directly (by setting a vehicle type). // Instead the appropriate values are set and calls are made just the parts of the // controller we want to exercise. Stepping the physics engine then applies // the actions of that one feature. - TestVehicle.VehicleController.ProcessFloatVehicleParam(Vehicle.VERTICAL_ATTRACTION_EFFICIENCY, 0.2f); - TestVehicle.VehicleController.ProcessFloatVehicleParam(Vehicle.VERTICAL_ATTRACTION_TIMESCALE, 2f); + TestVehicle.VehicleController.ProcessFloatVehicleParam(Vehicle.VERTICAL_ATTRACTION_EFFICIENCY, efficiency); + TestVehicle.VehicleController.ProcessFloatVehicleParam(Vehicle.VERTICAL_ATTRACTION_TIMESCALE, timeScale); TestVehicle.VehicleController.enableAngularVerticalAttraction = true; TestVehicle.IsPhysical = true; PhysicsScene.ProcessTaints(); - // Step the simulator a bunch of times and and vertical attraction should orient the vehicle up + // Step the simulator a bunch of times and vertical attraction should orient the vehicle up for (int ii = 0; ii < simSteps; ii++) { TestVehicle.VehicleController.ForgetKnownVehicleProperties(); TestVehicle.VehicleController.ComputeAngularVerticalAttraction(); TestVehicle.VehicleController.PushKnownChanged(); - PhysicsScene.Simulate(timeStep); + PhysicsScene.Simulate(simulationTimeStep); } + TestVehicle.IsPhysical = false; + PhysicsScene.ProcessTaints(); + // After these steps, the vehicle should be upright + /* + float finalRoll, finalPitch, finalYaw; + TestVehicle.Orientation.GetEulerAngles(out finalRoll, out finalPitch, out finalYaw); + Assert.That(finalRoll, Is.InRange(-0.01f, 0.01f)); + Assert.That(finalPitch, Is.InRange(-0.01f, 0.01f)); + Assert.That(finalYaw, Is.InRange(initYaw - 0.1f, initYaw + 0.1f)); + */ + Vector3 upPointer = Vector3.UnitZ * TestVehicle.Orientation; Assert.That(upPointer.Z, Is.GreaterThan(0.99f)); } diff --git a/OpenSim/Region/Physics/BulletSPlugin/Tests/BulletSimTestsUtil.cs b/OpenSim/Region/Physics/BulletSPlugin/Tests/BulletSimTestsUtil.cs index 215e92f15f..28207a43ab 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/Tests/BulletSimTestsUtil.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/Tests/BulletSimTestsUtil.cs @@ -26,6 +26,7 @@ */ using System; +using System.IO; using System.Collections.Generic; using System.Linq; using System.Text; @@ -65,9 +66,16 @@ public static class BulletSimTestsUtil bulletSimConfig.Set(kvp.Key, kvp.Value); } } - // bulletSimConfig.Set("PhysicsLoggingEnabled","True"); - // bulletSimConfig.Set("PhysicsLoggingDoFlush","True"); - // bulletSimConfig.Set("VehicleLoggingEnabled","True"); + + // If a special directory exists, put detailed logging therein. + // This allows local testing/debugging without having to worry that the build engine will output logs. + if (Directory.Exists("physlogs")) + { + bulletSimConfig.Set("PhysicsLoggingDir","./physlogs"); + bulletSimConfig.Set("PhysicsLoggingEnabled","True"); + bulletSimConfig.Set("PhysicsLoggingDoFlush","True"); + bulletSimConfig.Set("VehicleLoggingEnabled","True"); + } BSPlugin bsPlugin = new BSPlugin(); From 5ac84a37935d8e1c62484032259d09f5ac95c0e7 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 30 Jan 2013 03:44:56 +0000 Subject: [PATCH 459/851] Fix issue where lsl -> c# generation in co-operative termination mode did not correctly handle single statement versions of for, while and do-while loops. Add regression tests to validate the fix. This problem will not affect the default abort termination mode. --- .../Shared/CodeTools/CSCodeGenerator.cs | 30 +++- .../Instance/Tests/CoopTerminationTests.cs | 163 ++++++++++++++++-- 2 files changed, 171 insertions(+), 22 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/CodeTools/CSCodeGenerator.cs b/OpenSim/Region/ScriptEngine/Shared/CodeTools/CSCodeGenerator.cs index 985e598184..9e32f4031a 100644 --- a/OpenSim/Region/ScriptEngine/Shared/CodeTools/CSCodeGenerator.cs +++ b/OpenSim/Region/ScriptEngine/Shared/CodeTools/CSCodeGenerator.cs @@ -31,7 +31,6 @@ using System.Collections.Generic; using System.Reflection; using log4net; using Tools; - using OpenSim.Region.Framework.Interfaces; namespace OpenSim.Region.ScriptEngine.Shared.CodeTools @@ -479,20 +478,27 @@ namespace OpenSim.Region.ScriptEngine.Shared.CodeTools { string retstr = String.Empty; bool printSemicolon = true; - - retstr += Indent(); + bool transformToBlock = false; if (m_insertCoopTerminationChecks) { - // We have to check in event functions as well because the user can manually call these. - if (previousSymbol is GlobalFunctionDefinition - || previousSymbol is WhileStatement + // A non-braced single line do while structure cannot contain multiple statements. + // So to insert the termination check we change this to a braced control structure instead. + if (previousSymbol is WhileStatement || previousSymbol is DoWhileStatement - || previousSymbol is ForLoop - || previousSymbol is StateEvent) - retstr += Generate(m_coopTerminationCheck); + || previousSymbol is ForLoop) + { + transformToBlock = true; + + // FIXME: This will be wrongly indented because the previous for/while/dowhile will have already indented. + retstr += GenerateIndentedLine("{"); + + retstr += GenerateIndentedLine(m_coopTerminationCheck); + } } + retstr += Indent(); + if (0 < s.kids.Count) { // Jump label prints its own colon, we don't need a semicolon. @@ -508,6 +514,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.CodeTools if (printSemicolon) retstr += GenerateLine(";"); + if (transformToBlock) + { + // FIXME: This will be wrongly indented because the for/while/dowhile is currently handling the unindent + retstr += GenerateIndentedLine("}"); + } + return retstr; } diff --git a/OpenSim/Region/ScriptEngine/Shared/Instance/Tests/CoopTerminationTests.cs b/OpenSim/Region/ScriptEngine/Shared/Instance/Tests/CoopTerminationTests.cs index 2c8082680c..7ea30bf114 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Instance/Tests/CoopTerminationTests.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Instance/Tests/CoopTerminationTests.cs @@ -55,10 +55,22 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance.Tests private OSChatMessage m_osChatMessageReceived; + /// + /// Number of chat messages received so far. Reset before each test. + /// + private int m_chatMessagesReceived; + + /// + /// Number of chat messages expected. m_chatEvent is not fired until this number is reached or exceeded. + /// + private int m_chatMessagesThreshold; + [SetUp] public void Init() { m_osChatMessageReceived = null; + m_chatMessagesReceived = 0; + m_chatMessagesThreshold = 0; m_chatEvent = new AutoResetEvent(false); m_stoppedEvent = new AutoResetEvent(false); @@ -125,6 +137,25 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance.Tests TestStop(script); } + [Test] + public void TestNoStopOnSingleStatementForLoop() + { + TestHelpers.InMethod(); +// TestHelpers.EnableLogging(); + + string script = +@"default +{ + state_entry() + { + integer i = 0; + for (i = 0; i <= 1; i++) llSay(0, ""Iter "" + (string)i); + } +}"; + + TestSingleStatementNoStop(script); + } + [Test] public void TestStopOnLongSingleStatementForLoop() { @@ -139,8 +170,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance.Tests integer i = 0; llSay(0, ""Thin Lizzy""); - for (i = 0; i < 2147483647; i++) - llSay(0, ""Iter "" + (string)i); + for (i = 0; i < 2147483647; i++) llSay(0, ""Iter "" + (string)i); } }"; @@ -171,6 +201,25 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance.Tests TestStop(script); } + [Test] + public void TestNoStopOnSingleStatementWhileLoop() + { + TestHelpers.InMethod(); +// TestHelpers.EnableLogging(); + + string script = +@"default +{ + state_entry() + { + integer i = 0; + while (i < 2) llSay(0, ""Iter "" + (string)i++); + } +}"; + + TestSingleStatementNoStop(script); + } + [Test] public void TestStopOnLongSingleStatementWhileLoop() { @@ -218,7 +267,50 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance.Tests } [Test] - public void TestStopOnLongDoWhileLoop() + public void TestNoStopOnSingleStatementDoWhileLoop() + { + TestHelpers.InMethod(); +// TestHelpers.EnableLogging(); + + string script = +@"default +{ + state_entry() + { + integer i = 0; + + do llSay(0, ""Iter "" + (string)i++); + while (i < 2); + } +}"; + + TestSingleStatementNoStop(script); + } + + [Test] + public void TestStopOnLongSingleStatementDoWhileLoop() + { + TestHelpers.InMethod(); +// TestHelpers.EnableLogging(); + + string script = +@"default +{ + state_entry() + { + integer i = 0; + llSay(0, ""Thin Lizzy""); + + do llSay(0, ""Iter "" + (string)i++); + while (1 == 1); + } +}"; + + TestStop(script); + } + + [Test] + public void TestStopOnLongCompoundStatementDoWhileLoop() { TestHelpers.InMethod(); // TestHelpers.EnableLogging(); @@ -234,7 +326,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance.Tests do { llSay(0, ""Iter "" + (string)i++); -} while (1 == 1); + } while (1 == 1); } }"; @@ -320,14 +412,13 @@ default TestStop(script); } - private void TestStop(string script) + private SceneObjectPart CreateScript(string script, string itemName, UUID userId) { - UUID userId = TestHelpers.ParseTail(0x1); // UUID objectId = TestHelpers.ParseTail(0x100); // UUID itemId = TestHelpers.ParseTail(0x3); - string itemName = "TestStop() Item"; - SceneObjectGroup so = SceneHelpers.CreateSceneObject(1, userId, "TestStop", 0x100); + SceneObjectGroup so + = SceneHelpers.CreateSceneObject(1, userId, string.Format("Object for {0}", itemName), 0x100); m_scene.AddNewSceneObject(so, true); InventoryItemBase itemTemplate = new InventoryItemBase(); @@ -338,14 +429,57 @@ default m_scene.EventManager.OnChatFromWorld += OnChatFromWorld; - SceneObjectPart partWhereRezzed = m_scene.RezNewScript(userId, itemTemplate, script); + return m_scene.RezNewScript(userId, itemTemplate, script); + } + private void TestSingleStatementNoStop(string script) + { + // In these tests we expect to see at least 2 chat messages to confirm that the loop is working properly. + m_chatMessagesThreshold = 2; + + UUID userId = TestHelpers.ParseTail(0x1); +// UUID objectId = TestHelpers.ParseTail(0x100); +// UUID itemId = TestHelpers.ParseTail(0x3); + string itemName = "TestNoStop"; + + SceneObjectPart partWhereRezzed = CreateScript(script, itemName, userId); TaskInventoryItem rezzedItem = partWhereRezzed.Inventory.GetInventoryItem(itemName); // Wait for the script to start the event before we try stopping it. m_chatEvent.WaitOne(60000); - Console.WriteLine("Script started with message [{0}]", m_osChatMessageReceived.Message); + if (m_osChatMessageReceived == null) + Assert.Fail("Script did not start"); + else + Assert.That(m_chatMessagesReceived, Is.EqualTo(2)); + + bool running; + TaskInventoryItem scriptItem = partWhereRezzed.Inventory.GetInventoryItem(itemName); + Assert.That( + SceneObjectPartInventory.TryGetScriptInstanceRunning(m_scene, scriptItem, out running), Is.True); + Assert.That(running, Is.True); + } + + private void TestStop(string script) + { + // In these tests we're only interested in the first message to confirm that the script has started. + m_chatMessagesThreshold = 1; + + UUID userId = TestHelpers.ParseTail(0x1); +// UUID objectId = TestHelpers.ParseTail(0x100); +// UUID itemId = TestHelpers.ParseTail(0x3); + string itemName = "TestStop"; + + SceneObjectPart partWhereRezzed = CreateScript(script, itemName, userId); + TaskInventoryItem rezzedItem = partWhereRezzed.Inventory.GetInventoryItem(itemName); + + // Wait for the script to start the event before we try stopping it. + m_chatEvent.WaitOne(60000); + + if (m_osChatMessageReceived != null) + Console.WriteLine("Script started with message [{0}]", m_osChatMessageReceived.Message); + else + Assert.Fail("Script did not start"); // FIXME: This is a very poor way of trying to avoid a low-probability race condition where the script // executes llSay() but has not started the next statement before we try to stop it. @@ -367,11 +501,14 @@ default private void OnChatFromWorld(object sender, OSChatMessage oscm) { - m_scene.EventManager.OnChatFromWorld -= OnChatFromWorld; Console.WriteLine("Got chat [{0}]", oscm.Message); - m_osChatMessageReceived = oscm; - m_chatEvent.Set(); + + if (++m_chatMessagesReceived >= m_chatMessagesThreshold) + { + m_scene.EventManager.OnChatFromWorld -= OnChatFromWorld; + m_chatEvent.Set(); + } } } } \ No newline at end of file From addf9ada49f35a40f8739d0614c1d48fbbb82ec1 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 30 Jan 2013 05:39:34 +0000 Subject: [PATCH 460/851] Add regression test for script func JsonRemoveValue() --- .../Tests/JsonStoreScriptModuleTests.cs | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index 9f9172891c..d209551874 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -111,6 +111,58 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests Assert.That(value, Is.EqualTo("World")); } +// [Test] +// public void TestJsonTakeValue() +// { +// TestHelpers.InMethod(); +//// TestHelpers.EnableLogging(); +// +// UUID storeId +// = (UUID)m_smcm.InvokeOperation( +// UUID.Zero, UUID.Zero, "JsonCreateStore", new object[] { "{ 'Hello' : 'World' }" }); +// +// string value +// = (string)m_smcm.InvokeOperation( +// UUID.Zero, UUID.Zero, "JsonTakeValue", new object[] { storeId, "Hello" }); +// +// Assert.That(value, Is.EqualTo("World")); +// +// string value2 +// = (string)m_smcm.InvokeOperation( +// UUID.Zero, UUID.Zero, "JsonGetValue", new object[] { storeId, "Hello" }); +// +// Assert.That(value, Is.Null); +// } + + [Test] + public void TestJsonRemoveValue() + { + TestHelpers.InMethod(); +// TestHelpers.EnableLogging(); + + UUID storeId + = (UUID)m_smcm.InvokeOperation( + UUID.Zero, UUID.Zero, "JsonCreateStore", new object[] { "{ 'Hello' : 'World' }" }); + + int returnValue + = (int)m_smcm.InvokeOperation( + UUID.Zero, UUID.Zero, "JsonRemoveValue", new object[] { storeId, "Hello" }); + + Assert.That(returnValue, Is.EqualTo(1)); + + int result + = (int)m_smcm.InvokeOperation( + UUID.Zero, UUID.Zero, "JsonTestPath", new object[] { storeId, "Hello" }); + + Assert.That(result, Is.EqualTo(0)); + + string returnValue2 + = (string)m_smcm.InvokeOperation( + UUID.Zero, UUID.Zero, "JsonGetValue", new object[] { storeId, "Hello" }); + + Assert.That(returnValue2, Is.EqualTo("")); + } + [Test] public void TestJsonTestPath() { From 5a22efe69cb75972d2fa9446d8b98734af7c653a Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 30 Jan 2013 05:49:28 +0000 Subject: [PATCH 461/851] refactor: Make invocations of json store functions from the regression test simpler --- .../Tests/JsonStoreScriptModuleTests.cs | 59 ++++++------------- 1 file changed, 17 insertions(+), 42 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index d209551874..297d7c139b 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -83,14 +83,18 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests // XXX: Unfortunately, ICommsModule currently has no way of deregistering methods. } + private object InvokeOp(string name, params object[] args) + { + return m_smcm.InvokeOperation(UUID.Zero, UUID.Zero, name, args); + } + [Test] public void TestJsonCreateStore() { TestHelpers.InMethod(); // TestHelpers.EnableLogging(); - UUID storeId = (UUID)m_smcm.InvokeOperation(UUID.Zero, UUID.Zero, "JsonCreateStore", new object[] { "{}" }); - + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{}"); Assert.That(storeId, Is.Not.EqualTo(UUID.Zero)); } @@ -100,14 +104,9 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests TestHelpers.InMethod(); // TestHelpers.EnableLogging(); - UUID storeId - = (UUID)m_smcm.InvokeOperation( - UUID.Zero, UUID.Zero, "JsonCreateStore", new object[] { "{ 'Hello' : 'World' }" }); - - string value - = (string)m_smcm.InvokeOperation( - UUID.Zero, UUID.Zero, "JsonGetValue", new object[] { storeId, "Hello" }); + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ 'Hello' : 'World' }"); + string value = (string)InvokeOp("JsonGetValue", storeId, "Hello"); Assert.That(value, Is.EqualTo("World")); } @@ -140,26 +139,15 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests TestHelpers.InMethod(); // TestHelpers.EnableLogging(); - UUID storeId - = (UUID)m_smcm.InvokeOperation( - UUID.Zero, UUID.Zero, "JsonCreateStore", new object[] { "{ 'Hello' : 'World' }" }); - - int returnValue - = (int)m_smcm.InvokeOperation( - UUID.Zero, UUID.Zero, "JsonRemoveValue", new object[] { storeId, "Hello" }); + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ 'Hello' : 'World' }"); + int returnValue = (int)InvokeOp( "JsonRemoveValue", storeId, "Hello"); Assert.That(returnValue, Is.EqualTo(1)); - int result - = (int)m_smcm.InvokeOperation( - UUID.Zero, UUID.Zero, "JsonTestPath", new object[] { storeId, "Hello" }); - + int result = (int)InvokeOp("JsonTestPath", storeId, "Hello"); Assert.That(result, Is.EqualTo(0)); - string returnValue2 - = (string)m_smcm.InvokeOperation( - UUID.Zero, UUID.Zero, "JsonGetValue", new object[] { storeId, "Hello" }); - + string returnValue2 = (string)InvokeOp("JsonGetValue", storeId, "Hello"); Assert.That(returnValue2, Is.EqualTo("")); } @@ -169,14 +157,9 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests TestHelpers.InMethod(); // TestHelpers.EnableLogging(); - UUID storeId - = (UUID)m_smcm.InvokeOperation( - UUID.Zero, UUID.Zero, "JsonCreateStore", new object[] { "{ 'Hello' : 'World' }" }); - - int result - = (int)m_smcm.InvokeOperation( - UUID.Zero, UUID.Zero, "JsonTestPath", new object[] { storeId, "Hello" }); + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ 'Hello' : 'World' }"); + int result = (int)InvokeOp("JsonTestPath", storeId, "Hello"); Assert.That(result, Is.EqualTo(1)); } @@ -186,20 +169,12 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests TestHelpers.InMethod(); // TestHelpers.EnableLogging(); - UUID storeId - = (UUID)m_smcm.InvokeOperation( - UUID.Zero, UUID.Zero, "JsonCreateStore", new object[] { "{ }" }); - - int result - = (int)m_smcm.InvokeOperation( - UUID.Zero, UUID.Zero, "JsonSetValue", new object[] { storeId, "Hello", "World" }); + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{}"); + int result = (int)InvokeOp("JsonSetValue", storeId, "Hello", "World"); Assert.That(result, Is.EqualTo(1)); - string value - = (string)m_smcm.InvokeOperation( - UUID.Zero, UUID.Zero, "JsonGetValue", new object[] { storeId, "Hello" }); - + string value = (string)InvokeOp("JsonGetValue", storeId, "Hello"); Assert.That(value, Is.EqualTo("World")); } From d42c7afe3fc5d226dffea3bb50e4e2963eb96f3b Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 30 Jan 2013 05:56:30 +0000 Subject: [PATCH 462/851] Add JsonDestroyStore() basic regression test --- .../JsonStore/Tests/JsonStoreScriptModuleTests.cs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index 297d7c139b..8042a93730 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -98,6 +98,21 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests Assert.That(storeId, Is.Not.EqualTo(UUID.Zero)); } + [Test] + public void TestJsonDestroyStore() + { + TestHelpers.InMethod(); +// TestHelpers.EnableLogging(); + + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ 'Hello' : 'World' }"); + int dsrv = (int)InvokeOp("JsonDestroyStore", storeId); + + Assert.That(dsrv, Is.EqualTo(1)); + + int tprv = (int)InvokeOp("JsonTestPath", storeId, "Hello"); + Assert.That(tprv, Is.EqualTo(0)); + } + [Test] public void TestJsonGetValue() { From 7c4e0ff03c5ba9331feb777247594e94fc0f7ac1 Mon Sep 17 00:00:00 2001 From: teravus Date: Wed, 30 Jan 2013 06:22:05 -0500 Subject: [PATCH 463/851] * Adds a satisfying angular roll when an avatar is flying and turning. (General, not physics). Makes flying not feel as stiff. --- .../ClientStack/Linden/UDP/LLClientView.cs | 2 +- .../Region/Framework/Scenes/ScenePresence.cs | 81 +++++++++++++++++++ 2 files changed, 82 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 0ccd69a70b..88b64f5f66 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs @@ -4893,7 +4893,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP // may improve movement smoothness. // acceleration = new Vector3(1, 0, 0); - angularVelocity = Vector3.Zero; + angularVelocity = presence.AngularVelocity; rotation = presence.Rotation; if (sendTexture) diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index a90872e541..1d22560f3d 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -200,6 +200,11 @@ namespace OpenSim.Region.Framework.Scenes private const int LAND_VELOCITYMAG_MAX = 12; + private const float FLY_ROLL_MAX_RADIANS = 1.1f; + + private const float FLY_ROLL_RADIANS_PER_SECOND = 0.06f; + private const float FLY_ROLL_RESET_RADIANS_PER_SECOND = 0.02f; + private float m_health = 100f; protected ulong crossingFromRegion; @@ -568,6 +573,14 @@ namespace OpenSim.Region.Framework.Scenes } } + // Used for limited viewer 'fake' user rotations. + private Vector3 m_AngularVelocity = Vector3.Zero; + + public Vector3 AngularVelocity + { + get { return m_AngularVelocity; } + } + public bool IsChildAgent { get; set; } /// @@ -690,6 +703,8 @@ namespace OpenSim.Region.Framework.Scenes #endregion + + #region Constructor(s) public ScenePresence( @@ -1033,6 +1048,49 @@ namespace OpenSim.Region.Framework.Scenes ControllingClient.StopFlying(this); } + /// + /// Applies a roll accumulator to the avatar's angular velocity for the avatar fly roll effect. + /// + /// Postive or negative roll amount in radians + private void ApplyFlyingRoll(float amount) + { + float noise = ((float)(Util.RandomClass.NextDouble()*0.2f)-0.1f); + float rollAmount = Util.Clamp(m_AngularVelocity.Z + amount, -FLY_ROLL_MAX_RADIANS, FLY_ROLL_MAX_RADIANS) + noise; + m_AngularVelocity.Z = rollAmount; + } + + /// + /// incrementally sets roll amount to zero + /// + /// Positive roll amount in radians + /// + private float CalculateFlyingRollResetToZero(float amount) + { + const float rollMinRadians = 0f; + + if (m_AngularVelocity.Z > 0) + { + + float leftOverToMin = m_AngularVelocity.Z - rollMinRadians; + if (amount > leftOverToMin) + return -leftOverToMin; + else + return -amount; + + } + else + { + + float leftOverToMin = -m_AngularVelocity.Z - rollMinRadians; + if (amount > leftOverToMin) + return leftOverToMin; + else + return amount; + } + } + + + // neighbouring regions we have enabled a child agent in // holds the seed cap for the child agent in that region private Dictionary m_knownChildRegions = new Dictionary(); @@ -1513,6 +1571,29 @@ namespace OpenSim.Region.Framework.Scenes bool controlland = (((flags & AgentManager.ControlFlags.AGENT_CONTROL_UP_NEG) != 0) || ((flags & AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_UP_NEG) != 0)); + + + // Applies a satisfying roll effect to the avatar when flying. + if (((flags & AgentManager.ControlFlags.AGENT_CONTROL_TURN_LEFT) != 0) && ((flags & AgentManager.ControlFlags.AGENT_CONTROL_YAW_POS) != 0)) + { + ApplyFlyingRoll(FLY_ROLL_RADIANS_PER_SECOND); + + } + else if (((flags & AgentManager.ControlFlags.AGENT_CONTROL_TURN_RIGHT) != 0) && + ((flags & AgentManager.ControlFlags.AGENT_CONTROL_YAW_NEG) != 0)) + { + ApplyFlyingRoll(-FLY_ROLL_RADIANS_PER_SECOND); + + } + else + { + if (m_AngularVelocity.Z != 0) + m_AngularVelocity.Z += CalculateFlyingRollResetToZero(FLY_ROLL_RESET_RADIANS_PER_SECOND); + + } + + + if (Flying && IsColliding && controlland) { // nesting this check because LengthSquared() is expensive and we don't From 52ea6eadaed5e5d2d43807999e6bb805c60056fd Mon Sep 17 00:00:00 2001 From: teravus Date: Wed, 30 Jan 2013 07:34:48 -0500 Subject: [PATCH 464/851] * This adds a bit more to the previous flying roll effect by adding additional roll when pressing page down, and reducing your roll when pressing page up to make it feel more responsive and give the user more visual feedback. --- .../Region/Framework/Scenes/ScenePresence.cs | 60 +++++++++++++++---- 1 file changed, 50 insertions(+), 10 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 1d22560f3d..e0dfb349f7 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -202,8 +202,8 @@ namespace OpenSim.Region.Framework.Scenes private const float FLY_ROLL_MAX_RADIANS = 1.1f; - private const float FLY_ROLL_RADIANS_PER_SECOND = 0.06f; - private const float FLY_ROLL_RESET_RADIANS_PER_SECOND = 0.02f; + private const float FLY_ROLL_RADIANS_PER_UPDATE = 0.06f; + private const float FLY_ROLL_RESET_RADIANS_PER_UPDATE = 0.02f; private float m_health = 100f; @@ -1052,11 +1052,47 @@ namespace OpenSim.Region.Framework.Scenes /// Applies a roll accumulator to the avatar's angular velocity for the avatar fly roll effect. /// /// Postive or negative roll amount in radians - private void ApplyFlyingRoll(float amount) + private void ApplyFlyingRoll(float amount, bool PressingUp, bool PressingDown) { - float noise = ((float)(Util.RandomClass.NextDouble()*0.2f)-0.1f); - float rollAmount = Util.Clamp(m_AngularVelocity.Z + amount, -FLY_ROLL_MAX_RADIANS, FLY_ROLL_MAX_RADIANS) + noise; + + float rollAmount = Util.Clamp(m_AngularVelocity.Z + amount, -FLY_ROLL_MAX_RADIANS, FLY_ROLL_MAX_RADIANS); m_AngularVelocity.Z = rollAmount; + + // APPLY EXTRA consideration for flying up and flying down during this time. + // if we're turning left + if (amount > 0) + { + + // If we're at the max roll and pressing up, we want to swing BACK a bit + // Automatically adds noise + if (PressingUp) + { + if (m_AngularVelocity.Z >= FLY_ROLL_MAX_RADIANS - 0.04f) + m_AngularVelocity.Z -= 0.9f; + } + // If we're at the max roll and pressing down, we want to swing MORE a bit + if (PressingDown) + { + if (m_AngularVelocity.Z >= FLY_ROLL_MAX_RADIANS && m_AngularVelocity.Z < FLY_ROLL_MAX_RADIANS + 0.6f) + m_AngularVelocity.Z += 0.6f; + } + } + else // we're turning right. + { + // If we're at the max roll and pressing up, we want to swing BACK a bit + // Automatically adds noise + if (PressingUp) + { + if (m_AngularVelocity.Z <= (-FLY_ROLL_MAX_RADIANS)) + m_AngularVelocity.Z += 0.6f; + } + // If we're at the max roll and pressing down, we want to swing MORE a bit + if (PressingDown) + { + if (m_AngularVelocity.Z >= -FLY_ROLL_MAX_RADIANS - 0.6f) + m_AngularVelocity.Z -= 0.6f; + } + } } /// @@ -1572,26 +1608,30 @@ namespace OpenSim.Region.Framework.Scenes ((flags & AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_UP_NEG) != 0)); - + //m_log.Debug("[CONTROL]: " +flags); // Applies a satisfying roll effect to the avatar when flying. if (((flags & AgentManager.ControlFlags.AGENT_CONTROL_TURN_LEFT) != 0) && ((flags & AgentManager.ControlFlags.AGENT_CONTROL_YAW_POS) != 0)) { - ApplyFlyingRoll(FLY_ROLL_RADIANS_PER_SECOND); + + ApplyFlyingRoll(FLY_ROLL_RADIANS_PER_UPDATE, ((flags & AgentManager.ControlFlags.AGENT_CONTROL_UP_POS) != 0), ((flags & AgentManager.ControlFlags.AGENT_CONTROL_UP_NEG) != 0)); + } else if (((flags & AgentManager.ControlFlags.AGENT_CONTROL_TURN_RIGHT) != 0) && ((flags & AgentManager.ControlFlags.AGENT_CONTROL_YAW_NEG) != 0)) { - ApplyFlyingRoll(-FLY_ROLL_RADIANS_PER_SECOND); + ApplyFlyingRoll(-FLY_ROLL_RADIANS_PER_UPDATE, ((flags & AgentManager.ControlFlags.AGENT_CONTROL_UP_POS) != 0), ((flags & AgentManager.ControlFlags.AGENT_CONTROL_UP_NEG) != 0)); + } else { if (m_AngularVelocity.Z != 0) - m_AngularVelocity.Z += CalculateFlyingRollResetToZero(FLY_ROLL_RESET_RADIANS_PER_SECOND); + m_AngularVelocity.Z += CalculateFlyingRollResetToZero(FLY_ROLL_RESET_RADIANS_PER_UPDATE); } - + + if (Flying && IsColliding && controlland) From a0ef3df1941147cfc894493950e4d204f6b34216 Mon Sep 17 00:00:00 2001 From: Mic Bowman Date: Wed, 30 Jan 2013 14:45:03 -0800 Subject: [PATCH 465/851] Add JsonTestStore to determine if a JsonStore is associated with a particular UUID. --- .../Region/Framework/Interfaces/IJsonStoreModule.cs | 1 + .../Scripting/JsonStore/JsonStoreModule.cs | 13 +++++++++++++ .../Scripting/JsonStore/JsonStoreScriptModule.cs | 11 +++++++++++ 3 files changed, 25 insertions(+) diff --git a/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs b/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs index da39e95638..0bb45673cc 100644 --- a/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs @@ -37,6 +37,7 @@ namespace OpenSim.Region.Framework.Interfaces { bool CreateStore(string value, ref UUID result); bool DestroyStore(UUID storeID); + bool TestStore(UUID storeID); bool TestPath(UUID storeID, string path, bool useJson); bool SetValue(UUID storeID, string path, string value, bool useJson); bool RemoveValue(UUID storeID, string path); diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs index e68764ab63..b9b3ebca21 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs @@ -216,6 +216,19 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore return true; } + // ----------------------------------------------------------------- + /// + /// + /// + // ----------------------------------------------------------------- + public bool TestStore(UUID storeID) + { + if (! m_enabled) return false; + + lock (m_JsonValueStore) + return m_JsonValueStore.ContainsKey(storeID); + } + // ----------------------------------------------------------------- /// /// diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs index b9dcfead8d..29955afd5a 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs @@ -167,6 +167,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore { m_comms.RegisterScriptInvocation(this, "JsonCreateStore"); m_comms.RegisterScriptInvocation(this, "JsonDestroyStore"); + m_comms.RegisterScriptInvocation(this, "JsonTestStore"); m_comms.RegisterScriptInvocation(this, "JsonReadNotecard"); m_comms.RegisterScriptInvocation(this, "JsonWriteNotecard"); @@ -243,6 +244,16 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore return m_store.DestroyStore(storeID) ? 1 : 0; } + // ----------------------------------------------------------------- + /// + /// + /// + // ----------------------------------------------------------------- + protected int JsonTestStore(UUID hostID, UUID scriptID, UUID storeID) + { + return m_store.TestStore(storeID) ? 1 : 0; + } + // ----------------------------------------------------------------- /// /// From fac72d540b029ba72195dca69c56034167835d60 Mon Sep 17 00:00:00 2001 From: Jak Daniels Date: Wed, 30 Jan 2013 21:43:35 +0000 Subject: [PATCH 466/851] Allow use of MaptileStaticUUID in Regions.ini to override the global setting in OpenSim.ini for each region. Signed-off-by: BlueWall --- OpenSim/Framework/RegionInfo.cs | 27 +++++- .../World/LegacyMap/MapImageModule.cs | 83 ++++++++++++++----- OpenSim/Region/Framework/Scenes/Scene.cs | 7 +- 3 files changed, 96 insertions(+), 21 deletions(-) diff --git a/OpenSim/Framework/RegionInfo.cs b/OpenSim/Framework/RegionInfo.cs index 016f2a6d18..24b9c89344 100644 --- a/OpenSim/Framework/RegionInfo.cs +++ b/OpenSim/Framework/RegionInfo.cs @@ -143,6 +143,7 @@ namespace OpenSim.Framework public UUID RegionID = UUID.Zero; public string RemotingAddress; public UUID ScopeID = UUID.Zero; + private UUID m_maptileStaticUUID = UUID.Zero; private Dictionary m_otherSettings = new Dictionary(); @@ -338,6 +339,11 @@ namespace OpenSim.Framework get { return m_regionType; } } + public UUID MaptileStaticUUID + { + get { return m_maptileStaticUUID; } + } + /// /// The port by which http communication occurs with the region (most noticeably, CAPS communication) /// @@ -641,7 +647,7 @@ namespace OpenSim.Framework m_regionType = config.GetString("RegionType", String.Empty); allKeys.Remove("RegionType"); - #region Prim stuff + #region Prim and map stuff m_nonphysPrimMin = config.GetFloat("NonPhysicalPrimMin", 0); allKeys.Remove("NonPhysicalPrimMin"); @@ -663,6 +669,13 @@ namespace OpenSim.Framework m_linksetCapacity = config.GetInt("LinksetPrims", 0); allKeys.Remove("LinksetPrims"); + + allKeys.Remove("MaptileStaticUUID"); + string mapTileStaticUUID = config.GetString("MaptileStaticUUID", UUID.Zero.ToString()); + if (UUID.TryParse(mapTileStaticUUID.Trim(), out m_maptileStaticUUID)) + { + config.Set("MaptileStaticUUID", m_maptileStaticUUID.ToString()); + } #endregion @@ -729,6 +742,9 @@ namespace OpenSim.Framework if (RegionType != String.Empty) config.Set("RegionType", RegionType); + + if (m_maptileStaticUUID != UUID.Zero) + config.Set("MaptileStaticUUID", m_maptileStaticUUID.ToString()); } public bool ignoreIncomingConfiguration(string configuration_key, object configuration_result) @@ -827,6 +843,9 @@ namespace OpenSim.Framework configMember.addConfigurationOption("region_type", ConfigurationOption.ConfigurationTypes.TYPE_STRING, "Free form string describing the type of region", String.Empty, true); + + configMember.addConfigurationOption("region_static_maptile", ConfigurationOption.ConfigurationTypes.TYPE_UUID, + "UUID of a texture to use as the map for this region", m_maptileStaticUUID.ToString(), true); } public void loadConfigurationOptions() @@ -880,6 +899,9 @@ namespace OpenSim.Framework configMember.addConfigurationOption("region_type", ConfigurationOption.ConfigurationTypes.TYPE_STRING, "Region Type", String.Empty, true); + + configMember.addConfigurationOption("region_static_maptile", ConfigurationOption.ConfigurationTypes.TYPE_UUID, + "UUID of a texture to use as the map for this region", String.Empty, true); } public bool handleIncomingConfiguration(string configuration_key, object configuration_result) @@ -949,6 +971,9 @@ namespace OpenSim.Framework case "region_type": m_regionType = (string)configuration_result; break; + case "region_static_maptile": + m_maptileStaticUUID = (UUID)configuration_result; + break; } return true; diff --git a/OpenSim/Region/CoreModules/World/LegacyMap/MapImageModule.cs b/OpenSim/Region/CoreModules/World/LegacyMap/MapImageModule.cs index 8a422b0303..d412efcfce 100644 --- a/OpenSim/Region/CoreModules/World/LegacyMap/MapImageModule.cs +++ b/OpenSim/Region/CoreModules/World/LegacyMap/MapImageModule.cs @@ -77,42 +77,52 @@ namespace OpenSim.Region.CoreModules.World.LegacyMap { bool drawPrimVolume = true; bool textureTerrain = false; + bool generateMaptiles = true; + Bitmap mapbmp; try { IConfig startupConfig = m_config.Configs["Startup"]; drawPrimVolume = startupConfig.GetBoolean("DrawPrimOnMapTile", drawPrimVolume); textureTerrain = startupConfig.GetBoolean("TextureOnMapTile", textureTerrain); + generateMaptiles = startupConfig.GetBoolean("GenerateMaptiles", generateMaptiles); } catch { m_log.Warn("[MAPTILE]: Failed to load StartupConfig"); } - if (textureTerrain) + if (generateMaptiles) { - terrainRenderer = new TexturedMapTileRenderer(); + if (textureTerrain) + { + terrainRenderer = new TexturedMapTileRenderer(); + } + else + { + terrainRenderer = new ShadedMapTileRenderer(); + } + + terrainRenderer.Initialise(m_scene, m_config); + + mapbmp = new Bitmap((int)Constants.RegionSize, (int)Constants.RegionSize, System.Drawing.Imaging.PixelFormat.Format24bppRgb); + //long t = System.Environment.TickCount; + //for (int i = 0; i < 10; ++i) { + terrainRenderer.TerrainToBitmap(mapbmp); + //} + //t = System.Environment.TickCount - t; + //m_log.InfoFormat("[MAPTILE] generation of 10 maptiles needed {0} ms", t); + + + if (drawPrimVolume) + { + DrawObjectVolume(m_scene, mapbmp); + } } else { - terrainRenderer = new ShadedMapTileRenderer(); + mapbmp = fetchTexture(m_scene.RegionInfo.RegionSettings.TerrainImageID); } - terrainRenderer.Initialise(m_scene, m_config); - - Bitmap mapbmp = new Bitmap((int)Constants.RegionSize, (int)Constants.RegionSize, System.Drawing.Imaging.PixelFormat.Format24bppRgb); - //long t = System.Environment.TickCount; - //for (int i = 0; i < 10; ++i) { - terrainRenderer.TerrainToBitmap(mapbmp); - //} - //t = System.Environment.TickCount - t; - //m_log.InfoFormat("[MAPTILE] generation of 10 maptiles needed {0} ms", t); - - - if (drawPrimVolume) - { - DrawObjectVolume(m_scene, mapbmp); - } - return mapbmp; } @@ -222,6 +232,41 @@ namespace OpenSim.Region.CoreModules.World.LegacyMap // } // } + private Bitmap fetchTexture(UUID id) + { + AssetBase asset = m_scene.AssetService.Get(id.ToString()); + m_log.DebugFormat("[MAPTILE]: Fetched static texture {0}, found: {1}", id, asset != null); + if (asset == null) return null; + + ManagedImage managedImage; + Image image; + + try + { + if (OpenJPEG.DecodeToImage(asset.Data, out managedImage, out image)) + return new Bitmap(image); + else + return null; + } + catch (DllNotFoundException) + { + m_log.ErrorFormat("[MAPTILE]: OpenJpeg is not installed correctly on this system. Asset Data is empty for {0}", id); + + } + catch (IndexOutOfRangeException) + { + m_log.ErrorFormat("[MAPTILE]: OpenJpeg was unable to decode this. Asset Data is empty for {0}", id); + + } + catch (Exception) + { + m_log.ErrorFormat("[MAPTILE]: OpenJpeg was unable to decode this. Asset Data is empty for {0}", id); + + } + return null; + + } + private Bitmap DrawObjectVolume(Scene whichScene, Bitmap mapbmp) { int tc = 0; diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index f2cb117683..9e3d60f083 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -917,10 +917,15 @@ namespace OpenSim.Region.Framework.Scenes string tile = startupConfig.GetString("MaptileStaticUUID", UUID.Zero.ToString()); UUID tileID; - if (UUID.TryParse(tile, out tileID)) + if ((tile!=UUID.Zero.ToString()) && UUID.TryParse(tile, out tileID)) { RegionInfo.RegionSettings.TerrainImageID = tileID; } + else + { + RegionInfo.RegionSettings.TerrainImageID = RegionInfo.MaptileStaticUUID; + m_log.InfoFormat("[SCENE]: Region {0}, maptile set to {1}", RegionInfo.RegionName, RegionInfo.MaptileStaticUUID.ToString()); + } } string grant = startupConfig.GetString("AllowedClients", String.Empty); From ce4faf497f0f3a24548ad517b10e79241dfc5b7d Mon Sep 17 00:00:00 2001 From: BlueWall Date: Wed, 30 Jan 2013 23:41:32 -0500 Subject: [PATCH 467/851] Add config option to Regions.ini for new maptile feature --- bin/Regions/Regions.ini.example | 1 + 1 file changed, 1 insertion(+) diff --git a/bin/Regions/Regions.ini.example b/bin/Regions/Regions.ini.example index 54a841d5f2..f5282a7f80 100644 --- a/bin/Regions/Regions.ini.example +++ b/bin/Regions/Regions.ini.example @@ -45,3 +45,4 @@ ExternalHostName = "SYSTEMIP" ; * ; RegionType = "Mainland" +; MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" From 17440d8a2960005d0d88cfe5248930986331d520 Mon Sep 17 00:00:00 2001 From: Dan Lake Date: Thu, 31 Jan 2013 11:14:43 -0800 Subject: [PATCH 468/851] Added option for UUID as command parameters. This lets the command handle the UUID parsing and type checking before the command is executed. --- .../CoreModules/Framework/InterfaceCommander/Command.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/OpenSim/Region/CoreModules/Framework/InterfaceCommander/Command.cs b/OpenSim/Region/CoreModules/Framework/InterfaceCommander/Command.cs index 4004135dbe..b9786aead1 100644 --- a/OpenSim/Region/CoreModules/Framework/InterfaceCommander/Command.cs +++ b/OpenSim/Region/CoreModules/Framework/InterfaceCommander/Command.cs @@ -28,6 +28,7 @@ using System; using System.Collections.Generic; using OpenSim.Region.Framework.Interfaces; +using OpenMetaverse; namespace OpenSim.Region.CoreModules.Framework.InterfaceCommander { @@ -152,6 +153,9 @@ namespace OpenSim.Region.CoreModules.Framework.InterfaceCommander case "Boolean": m_args[i].ArgumentValue = Boolean.Parse(arg.ToString()); break; + case "UUID": + m_args[i].ArgumentValue = UUID.Parse(arg.ToString()); + break; default: Console.WriteLine("ERROR: Unknown desired type for argument " + m_args[i].Name + " on command " + m_name); break; From 6a4c8824ea6568290fe7a2ff1b6a9b4d96896d5f Mon Sep 17 00:00:00 2001 From: Melanie Date: Thu, 31 Jan 2013 20:46:41 +0000 Subject: [PATCH 469/851] Whitespace fix and removing unneccessary parentheses --- OpenSim/Region/Framework/Scenes/Scene.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 9e3d60f083..f8d84e359e 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -917,7 +917,7 @@ namespace OpenSim.Region.Framework.Scenes string tile = startupConfig.GetString("MaptileStaticUUID", UUID.Zero.ToString()); UUID tileID; - if ((tile!=UUID.Zero.ToString()) && UUID.TryParse(tile, out tileID)) + if (tile != UUID.Zero.ToString() && UUID.TryParse(tile, out tileID)) { RegionInfo.RegionSettings.TerrainImageID = tileID; } From 1e0420431f754ff71a97d01fae5617c1ea26cae0 Mon Sep 17 00:00:00 2001 From: Mic Bowman Date: Thu, 31 Jan 2013 14:53:16 -0800 Subject: [PATCH 470/851] Move the JsonStore regular expressions to static variables to avoid recompiling on every operation. Added JsonList2Path script function to simplify array iteration. --- .../Scripting/JsonStore/JsonStore.cs | 73 ++++-- .../JsonStore/JsonStoreScriptModule.cs | 210 ++++++++++++------ 2 files changed, 193 insertions(+), 90 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs index 34894badf7..0b7b31bd32 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs @@ -68,7 +68,41 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore protected List m_TakeStore; protected List m_ReadStore; + // add separators for quoted paths + protected static Regex m_ParsePassOne = new Regex("{[^}]+}"); + // add separators for array references + protected static Regex m_ParsePassTwo = new Regex("(\\[[0-9]+\\]|\\[\\+\\])"); + + // add quotes to bare identifiers which are limited to alphabetic characters + protected static Regex m_ParsePassThree = new Regex("\\.([a-zA-Z]+)"); + + // remove extra separator characters + protected static Regex m_ParsePassFour = new Regex("\\.+"); + + // expression used to validate the full path, this is canonical representation + protected static Regex m_ValidatePath = new Regex("^\\.(({[^}]+}|\\[[0-9]+\\]|\\[\\+\\])\\.)+$"); + + // expression used to match path components + protected static Regex m_PathComponent = new Regex("\\.({[^}]+}|\\[[0-9]+\\]|\\[\\+\\]+)"); + + // extract the internals of an array reference + protected static Regex m_SimpleArrayPattern = new Regex("\\[([0-9]+)\\]"); + protected static Regex m_ArrayPattern = new Regex("\\[([0-9]+|\\+)\\]"); + + // extract the internals of a has reference + protected static Regex m_HashPattern = new Regex("{([^}]+)}"); + + // ----------------------------------------------------------------- + /// + /// + /// + // ----------------------------------------------------------------- + public static string CanonicalPathExpression(string path) + { + return PathExpressionToKey(ParsePathExpression(path)); + } + // ----------------------------------------------------------------- /// /// @@ -224,9 +258,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore if (result == null) return false; - Regex aPattern = new Regex("\\[([0-9]+|\\+)\\]"); - MatchCollection amatches = aPattern.Matches(pkey,0); - + // Check for and extract array references + MatchCollection amatches = m_ArrayPattern.Matches(pkey,0); if (amatches.Count > 0) { if (result.Type != OSDType.Array) @@ -263,9 +296,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore return false; } - Regex hPattern = new Regex("{([^}]+)}"); - MatchCollection hmatches = hPattern.Matches(pkey,0); - + // Check for and extract hash references + MatchCollection hmatches = m_HashPattern.Matches(pkey,0); if (hmatches.Count > 0) { Match match = hmatches[0]; @@ -340,26 +372,21 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore path = "." + path + "."; // add separators for quoted paths - Regex pass1 = new Regex("{[^}]+}"); - path = pass1.Replace(path,".$0.",-1,0); + path = m_ParsePassOne.Replace(path,".$0.",-1,0); // add separators for array references - Regex pass2 = new Regex("(\\[[0-9]+\\]|\\[\\+\\])"); - path = pass2.Replace(path,".$0.",-1,0); + path = m_ParsePassTwo.Replace(path,".$0.",-1,0); // add quotes to bare identifier - Regex pass3 = new Regex("\\.([a-zA-Z]+)"); - path = pass3.Replace(path,".{$1}",-1,0); + path = m_ParsePassThree.Replace(path,".{$1}",-1,0); // remove extra separators - Regex pass4 = new Regex("\\.+"); - path = pass4.Replace(path,".",-1,0); + path = m_ParsePassFour.Replace(path,".",-1,0); - Regex validate = new Regex("^\\.(({[^}]+}|\\[[0-9]+\\]|\\[\\+\\])\\.)+$"); - if (validate.IsMatch(path)) + // validate the results (catches extra quote characters for example) + if (m_ValidatePath.IsMatch(path)) { - Regex parser = new Regex("\\.({[^}]+}|\\[[0-9]+\\]|\\[\\+\\]+)"); - MatchCollection matches = parser.Matches(path,0); + MatchCollection matches = m_PathComponent.Matches(path,0); foreach (Match match in matches) m_path.Push(match.Groups[1].Value); } @@ -385,9 +412,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore return null; // ---------- Check for an array index ---------- - Regex aPattern = new Regex("\\[([0-9]+)\\]"); - MatchCollection amatches = aPattern.Matches(pkey,0); - + MatchCollection amatches = m_SimpleArrayPattern.Matches(pkey,0); + if (amatches.Count > 0) { if (rmap.Type != OSDType.Array) @@ -410,9 +436,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore } // ---------- Check for a hash index ---------- - Regex hPattern = new Regex("{([^}]+)}"); - MatchCollection hmatches = hPattern.Matches(pkey,0); - + MatchCollection hmatches = m_HashPattern.Matches(pkey,0); + if (hmatches.Count > 0) { if (rmap.Type != OSDType.Map) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs index 29955afd5a..5b7a79d013 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs @@ -165,29 +165,32 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore try { - m_comms.RegisterScriptInvocation(this, "JsonCreateStore"); - m_comms.RegisterScriptInvocation(this, "JsonDestroyStore"); - m_comms.RegisterScriptInvocation(this, "JsonTestStore"); + m_comms.RegisterScriptInvocations(this); - m_comms.RegisterScriptInvocation(this, "JsonReadNotecard"); - m_comms.RegisterScriptInvocation(this, "JsonWriteNotecard"); + // m_comms.RegisterScriptInvocation(this, "JsonCreateStore"); + // m_comms.RegisterScriptInvocation(this, "JsonDestroyStore"); + // m_comms.RegisterScriptInvocation(this, "JsonTestStore"); - m_comms.RegisterScriptInvocation(this, "JsonTestPath"); - m_comms.RegisterScriptInvocation(this, "JsonTestPathJson"); + // m_comms.RegisterScriptInvocation(this, "JsonReadNotecard"); + // m_comms.RegisterScriptInvocation(this, "JsonWriteNotecard"); - m_comms.RegisterScriptInvocation(this, "JsonGetValue"); - m_comms.RegisterScriptInvocation(this, "JsonGetValueJson"); + // m_comms.RegisterScriptInvocation(this, "JsonTestPathList"); + // m_comms.RegisterScriptInvocation(this, "JsonTestPath"); + // m_comms.RegisterScriptInvocation(this, "JsonTestPathJson"); - m_comms.RegisterScriptInvocation(this, "JsonTakeValue"); - m_comms.RegisterScriptInvocation(this, "JsonTakeValueJson"); + // m_comms.RegisterScriptInvocation(this, "JsonGetValue"); + // m_comms.RegisterScriptInvocation(this, "JsonGetValueJson"); - m_comms.RegisterScriptInvocation(this, "JsonReadValue"); - m_comms.RegisterScriptInvocation(this, "JsonReadValueJson"); + // m_comms.RegisterScriptInvocation(this, "JsonTakeValue"); + // m_comms.RegisterScriptInvocation(this, "JsonTakeValueJson"); - m_comms.RegisterScriptInvocation(this, "JsonSetValue"); - m_comms.RegisterScriptInvocation(this, "JsonSetValueJson"); + // m_comms.RegisterScriptInvocation(this, "JsonReadValue"); + // m_comms.RegisterScriptInvocation(this, "JsonReadValueJson"); - m_comms.RegisterScriptInvocation(this, "JsonRemoveValue"); + // m_comms.RegisterScriptInvocation(this, "JsonSetValue"); + // m_comms.RegisterScriptInvocation(this, "JsonSetValueJson"); + + // m_comms.RegisterScriptInvocation(this, "JsonRemoveValue"); } catch (Exception e) { @@ -215,17 +218,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore /// /// // ----------------------------------------------------------------- - protected void GenerateRuntimeError(string msg) - { - throw new Exception("JsonStore Runtime Error: " + msg); - } - - // ----------------------------------------------------------------- - /// - /// - /// - // ----------------------------------------------------------------- - protected UUID JsonCreateStore(UUID hostID, UUID scriptID, string value) + [ScriptInvocation] + public UUID JsonCreateStore(UUID hostID, UUID scriptID, string value) { UUID uuid = UUID.Zero; if (! m_store.CreateStore(value, ref uuid)) @@ -239,7 +233,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore /// /// // ----------------------------------------------------------------- - protected int JsonDestroyStore(UUID hostID, UUID scriptID, UUID storeID) + [ScriptInvocation] + public int JsonDestroyStore(UUID hostID, UUID scriptID, UUID storeID) { return m_store.DestroyStore(storeID) ? 1 : 0; } @@ -249,7 +244,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore /// /// // ----------------------------------------------------------------- - protected int JsonTestStore(UUID hostID, UUID scriptID, UUID storeID) + [ScriptInvocation] + public int JsonTestStore(UUID hostID, UUID scriptID, UUID storeID) { return m_store.TestStore(storeID) ? 1 : 0; } @@ -259,7 +255,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore /// /// // ----------------------------------------------------------------- - protected UUID JsonReadNotecard(UUID hostID, UUID scriptID, UUID storeID, string path, UUID assetID) + [ScriptInvocation] + public UUID JsonReadNotecard(UUID hostID, UUID scriptID, UUID storeID, string path, UUID assetID) { UUID reqID = UUID.Random(); Util.FireAndForget(delegate(object o) { DoJsonReadNotecard(reqID,hostID,scriptID,storeID,path,assetID); }); @@ -271,7 +268,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore /// ///
// ----------------------------------------------------------------- - protected UUID JsonWriteNotecard(UUID hostID, UUID scriptID, UUID storeID, string path, string name) + [ScriptInvocation] + public UUID JsonWriteNotecard(UUID hostID, UUID scriptID, UUID storeID, string path, string name) { UUID reqID = UUID.Random(); Util.FireAndForget(delegate(object o) { DoJsonWriteNotecard(reqID,hostID,scriptID,storeID,path,name); }); @@ -283,12 +281,25 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore /// ///
// ----------------------------------------------------------------- - protected int JsonTestPath(UUID hostID, UUID scriptID, UUID storeID, string path) + [ScriptInvocation] + public string JsonList2Path(UUID hostID, UUID scriptID, object[] pathlist) + { + return JsonStore.CanonicalPathExpression(ConvertList2Path(pathlist)); + } + + // ----------------------------------------------------------------- + /// + /// + /// + // ----------------------------------------------------------------- + [ScriptInvocation] + public int JsonTestPath(UUID hostID, UUID scriptID, UUID storeID, string path) { return m_store.TestPath(storeID,path,false) ? 1 : 0; } - protected int JsonTestPathJson(UUID hostID, UUID scriptID, UUID storeID, string path) + [ScriptInvocation] + public int JsonTestPathJson(UUID hostID, UUID scriptID, UUID storeID, string path) { return m_store.TestPath(storeID,path,true) ? 1 : 0; } @@ -298,12 +309,14 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore /// ///
// ----------------------------------------------------------------- - protected int JsonSetValue(UUID hostID, UUID scriptID, UUID storeID, string path, string value) + [ScriptInvocation] + public int JsonSetValue(UUID hostID, UUID scriptID, UUID storeID, string path, string value) { return m_store.SetValue(storeID,path,value,false) ? 1 : 0; } - protected int JsonSetValueJson(UUID hostID, UUID scriptID, UUID storeID, string path, string value) + [ScriptInvocation] + public int JsonSetValueJson(UUID hostID, UUID scriptID, UUID storeID, string path, string value) { return m_store.SetValue(storeID,path,value,true) ? 1 : 0; } @@ -313,7 +326,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore /// ///
// ----------------------------------------------------------------- - protected int JsonRemoveValue(UUID hostID, UUID scriptID, UUID storeID, string path) + [ScriptInvocation] + public int JsonRemoveValue(UUID hostID, UUID scriptID, UUID storeID, string path) { return m_store.RemoveValue(storeID,path) ? 1 : 0; } @@ -323,14 +337,16 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore /// ///
// ----------------------------------------------------------------- - protected string JsonGetValue(UUID hostID, UUID scriptID, UUID storeID, string path) + [ScriptInvocation] + public string JsonGetValue(UUID hostID, UUID scriptID, UUID storeID, string path) { string value = String.Empty; m_store.GetValue(storeID,path,false,out value); return value; } - protected string JsonGetValueJson(UUID hostID, UUID scriptID, UUID storeID, string path) + [ScriptInvocation] + public string JsonGetValueJson(UUID hostID, UUID scriptID, UUID storeID, string path) { string value = String.Empty; m_store.GetValue(storeID,path,true, out value); @@ -342,20 +358,70 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore /// ///
// ----------------------------------------------------------------- - protected UUID JsonTakeValue(UUID hostID, UUID scriptID, UUID storeID, string path) + [ScriptInvocation] + public UUID JsonTakeValue(UUID hostID, UUID scriptID, UUID storeID, string path) { UUID reqID = UUID.Random(); Util.FireAndForget(delegate(object o) { DoJsonTakeValue(scriptID,reqID,storeID,path,false); }); return reqID; } - protected UUID JsonTakeValueJson(UUID hostID, UUID scriptID, UUID storeID, string path) + [ScriptInvocation] + public UUID JsonTakeValueJson(UUID hostID, UUID scriptID, UUID storeID, string path) { UUID reqID = UUID.Random(); Util.FireAndForget(delegate(object o) { DoJsonTakeValue(scriptID,reqID,storeID,path,true); }); return reqID; } + // ----------------------------------------------------------------- + /// + /// + /// + // ----------------------------------------------------------------- + [ScriptInvocation] + public UUID JsonReadValue(UUID hostID, UUID scriptID, UUID storeID, string path) + { + UUID reqID = UUID.Random(); + Util.FireAndForget(delegate(object o) { DoJsonReadValue(scriptID,reqID,storeID,path,false); }); + return reqID; + } + + [ScriptInvocation] + public UUID JsonReadValueJson(UUID hostID, UUID scriptID, UUID storeID, string path) + { + UUID reqID = UUID.Random(); + Util.FireAndForget(delegate(object o) { DoJsonReadValue(scriptID,reqID,storeID,path,true); }); + return reqID; + } + +#endregion + + // ----------------------------------------------------------------- + /// + /// + /// + // ----------------------------------------------------------------- + protected void GenerateRuntimeError(string msg) + { + throw new Exception("JsonStore Runtime Error: " + msg); + } + + // ----------------------------------------------------------------- + /// + /// + /// + // ----------------------------------------------------------------- + protected void DispatchValue(UUID scriptID, UUID reqID, string value) + { + m_comms.DispatchReply(scriptID,1,value,reqID.ToString()); + } + + // ----------------------------------------------------------------- + /// + /// + /// + // ----------------------------------------------------------------- private void DoJsonTakeValue(UUID scriptID, UUID reqID, UUID storeID, string path, bool useJson) { try @@ -377,20 +443,6 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore /// ///
// ----------------------------------------------------------------- - protected UUID JsonReadValue(UUID hostID, UUID scriptID, UUID storeID, string path) - { - UUID reqID = UUID.Random(); - Util.FireAndForget(delegate(object o) { DoJsonReadValue(scriptID,reqID,storeID,path,false); }); - return reqID; - } - - protected UUID JsonReadValueJson(UUID hostID, UUID scriptID, UUID storeID, string path) - { - UUID reqID = UUID.Random(); - Util.FireAndForget(delegate(object o) { DoJsonReadValue(scriptID,reqID,storeID,path,true); }); - return reqID; - } - private void DoJsonReadValue(UUID scriptID, UUID reqID, UUID storeID, string path, bool useJson) { try @@ -406,18 +458,6 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore DispatchValue(scriptID,reqID,String.Empty); } -#endregion - - // ----------------------------------------------------------------- - /// - /// - /// - // ----------------------------------------------------------------- - protected void DispatchValue(UUID scriptID, UUID reqID, string value) - { - m_comms.DispatchReply(scriptID,1,value,reqID.ToString()); - } - // ----------------------------------------------------------------- /// /// @@ -505,5 +545,43 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore m_comms.DispatchReply(scriptID,1,assetID.ToString(),reqID.ToString()); } + + // ----------------------------------------------------------------- + /// + /// Convert a list of values that are path components to a single string path + /// + // ----------------------------------------------------------------- + protected static Regex m_ArrayPattern = new Regex("^([0-9]+|\\+)$"); + private string ConvertList2Path(object[] pathlist) + { + string path = ""; + for (int i = 0; i < pathlist.Length; i++) + { + string token = ""; + + if (pathlist[i] is string) + { + token = pathlist[i].ToString(); + + // Check to see if this is a bare number which would not be a valid + // identifier otherwise + if (m_ArrayPattern.IsMatch(token)) + token = '[' + token + ']'; + } + else if (pathlist[i] is int) + { + token = "[" + pathlist[i].ToString() + "]"; + } + else + { + token = "." + pathlist[i].ToString() + "."; + } + + path += token + "."; + } + + return path; + } + } } \ No newline at end of file From 371449db2ff27ffcd6d8317ffec1c0176937f38f Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Wed, 30 Jan 2013 14:38:19 -0800 Subject: [PATCH 471/851] BulletSim: clean up TargetVelocity implementation by using the default defn in the PhysicsActor base class. --- OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs | 4 ++-- OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs | 12 ------------ 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs index 3884a5dd0d..73354bbce9 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs @@ -557,11 +557,12 @@ public sealed class BSCharacter : BSPhysObject { get { - return _velocityMotor.TargetValue; + return m_targetVelocity; } set { DetailLog("{0},BSCharacter.setTargetVelocity,call,vel={1}", LocalID, value); + m_targetVelocity = value; OMV.Vector3 targetVel = value; if (_setAlwaysRun) targetVel *= BSParam.AvatarAlwaysRunFactor; @@ -591,7 +592,6 @@ public sealed class BSCharacter : BSPhysObject _velocityMotor.Reset(); _velocityMotor.SetCurrent(_velocity); _velocityMotor.SetTarget(_velocity); - // Even though the motor is initialized, it's not used and the velocity goes straight into the avatar. _velocityMotor.Enabled = false; DetailLog("{0},BSCharacter.setVelocity,taint,vel={1}", LocalID, _velocity); diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs index a113530567..823402ba03 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs @@ -190,18 +190,6 @@ public abstract class BSPhysObject : PhysicsActor public abstract OMV.Quaternion RawOrientation { get; set; } public abstract OMV.Quaternion ForceOrientation { get; set; } - // The system is telling us the velocity it wants to move at. - // Velocity in world coordinates. - // protected OMV.Vector3 m_targetVelocity; // use the definition in PhysicsActor - public override OMV.Vector3 TargetVelocity - { - get { return m_targetVelocity; } - set - { - m_targetVelocity = value; - Velocity = value; - } - } public virtual float TargetSpeed { get From ed71c939fc22059b03572fe6380fcc754c89a284 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Thu, 31 Jan 2013 10:26:53 -0800 Subject: [PATCH 472/851] BulletSim: make sure vehicle physical properties are set when going physical by delaying setting until pre-step time. Change vehicle.Refresh() to schedule the pre-step setting. Comments and updating of TODO list. --- .../Physics/BulletSPlugin/BSDynamics.cs | 30 +++++++++---------- .../BulletSPlugin/BSLinksetCompound.cs | 6 ++-- .../Region/Physics/BulletSPlugin/BSPrim.cs | 4 +-- .../BulletSPlugin/BSShapeCollection.cs | 11 ++++--- .../Physics/BulletSPlugin/BulletSimTODO.txt | 30 +++++++------------ 5 files changed, 35 insertions(+), 46 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs index 05ab180050..8ecf2ff521 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs @@ -581,9 +581,18 @@ namespace OpenSim.Region.Physics.BulletSPlugin } #endregion // Vehicle parameter setting + public void Refresh() + { + // If asking for a refresh, reset the physical parameters before the next simulation step. + PhysicsScene.PostTaintObject("BSDynamics.Refresh", Prim.LocalID, delegate() + { + SetPhysicalParameters(); + }); + } + // Some of the properties of this prim may have changed. // Do any updating needed for a vehicle - public void Refresh() + private void SetPhysicalParameters() { if (IsActive) { @@ -614,7 +623,7 @@ namespace OpenSim.Region.Physics.BulletSPlugin // The actual vehicle gravity is set to zero in Bullet so we can do all the application of same. PhysicsScene.PE.SetGravity(Prim.PhysBody, Vector3.Zero); - VDetailLog("{0},BSDynamics.Refresh,mass={1},inert={2},grav={3},aDamp={4},frict={5},rest={6},lFact={7},aFact={8}", + VDetailLog("{0},BSDynamics.SetPhysicalParameters,mass={1},inert={2},vehGrav={3},aDamp={4},frict={5},rest={6},lFact={7},aFact={8}", Prim.LocalID, m_vehicleMass, Prim.Inertia, m_VehicleGravity, BSParam.VehicleAngularDamping, BSParam.VehicleFriction, BSParam.VehicleRestitution, BSParam.VehicleLinearFactor, BSParam.VehicleAngularFactor @@ -622,26 +631,15 @@ namespace OpenSim.Region.Physics.BulletSPlugin } else { - PhysicsScene.PE.RemoveFromCollisionFlags(Prim.PhysBody, CollisionFlags.BS_VEHICLE_COLLISIONS); + if (Prim.PhysBody.HasPhysicalBody) + PhysicsScene.PE.RemoveFromCollisionFlags(Prim.PhysBody, CollisionFlags.BS_VEHICLE_COLLISIONS); } } public bool RemoveBodyDependencies(BSPhysObject prim) { - // If active, we need to add our properties back when the body is rebuilt. - return IsActive; - } - - public void RestoreBodyDependencies(BSPhysObject prim) - { - if (Prim.LocalID != prim.LocalID) - { - // The call should be on us by our prim. Error if not. - PhysicsScene.Logger.ErrorFormat("{0} RestoreBodyDependencies: called by not my prim. passedLocalID={1}, vehiclePrimLocalID={2}", - LogHeader, prim.LocalID, Prim.LocalID); - return; - } Refresh(); + return IsActive; } #region Known vehicle value functions diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs b/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs index 54dc458e09..92f6ee298c 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs @@ -274,7 +274,7 @@ public sealed class BSLinksetCompound : BSLinkset bool ret = false; DetailLog("{0},BSLinksetCompound.RemoveBodyDependencies,refreshIfChild,rID={1},rBody={2},isRoot={3}", - child.LocalID, LinksetRoot.LocalID, LinksetRoot.PhysBody.AddrString, IsRoot(child)); + child.LocalID, LinksetRoot.LocalID, LinksetRoot.PhysBody, IsRoot(child)); if (!IsRoot(child)) { @@ -382,11 +382,11 @@ public sealed class BSLinksetCompound : BSLinkset { try { - // Suppress rebuilding while rebuilding + // Suppress rebuilding while rebuilding. (We know rebuilding is on only one thread.) Rebuilding = true; // Cause the root shape to be rebuilt as a compound object with just the root in it - LinksetRoot.ForceBodyShapeRebuild(true); + LinksetRoot.ForceBodyShapeRebuild(true /* inTaintTime */); // The center of mass for the linkset is the geometric center of the group. // Compute a displacement for each component so it is relative to the center-of-mass. diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs index b5dd131abe..0b81122da4 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs @@ -1597,9 +1597,9 @@ public sealed class BSPrim : BSPhysObject public void CreateGeomAndObject(bool forceRebuild) { // Create the correct physical representation for this type of object. - // Updates PhysBody and PhysShape with the new information. + // Updates base.PhysBody and base.PhysShape with the new information. // Ignore 'forceRebuild'. This routine makes the right choices and changes of necessary. - PhysicsScene.Shapes.GetBodyAndShape(false, PhysicsScene.World, this, null, delegate(BulletBody dBody) + PhysicsScene.Shapes.GetBodyAndShape(false /*forceRebuild */, PhysicsScene.World, this, null, delegate(BulletBody dBody) { // Called if the current prim body is about to be destroyed. // Remove all the physical dependencies on the old body. diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs b/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs index 9fbfcdcabc..e2daa72318 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs @@ -116,8 +116,7 @@ public sealed class BSShapeCollection : IDisposable // rebuild the body around it. // Updates prim.BSBody with information/pointers to requested body // Returns 'true' if BSBody was changed. - bool newBody = CreateBody((newGeom || forceRebuild), prim, PhysicsScene.World, - prim.PhysShape, bodyCallback); + bool newBody = CreateBody((newGeom || forceRebuild), prim, PhysicsScene.World, bodyCallback); ret = newGeom || newBody; } DetailLog("{0},BSShapeCollection.GetBodyAndShape,taintExit,force={1},ret={2},body={3},shape={4}", @@ -933,8 +932,7 @@ public sealed class BSShapeCollection : IDisposable // Updates prim.BSBody with the information about the new body if one is created. // Returns 'true' if an object was actually created. // Called at taint-time. - private bool CreateBody(bool forceRebuild, BSPhysObject prim, BulletWorld sim, BulletShape shape, - BodyDestructionCallback bodyCallback) + private bool CreateBody(bool forceRebuild, BSPhysObject prim, BulletWorld sim, BodyDestructionCallback bodyCallback) { bool ret = false; @@ -951,6 +949,7 @@ public sealed class BSShapeCollection : IDisposable { // If the collisionObject is not the correct type for solidness, rebuild what's there mustRebuild = true; + if (DDetail) DetailLog("{0},BSShapeCollection.CreateBody,forceRebuildBecauseChangingBodyType,bodyType={1}", prim.LocalID, bodyType); } } @@ -962,12 +961,12 @@ public sealed class BSShapeCollection : IDisposable BulletBody aBody; if (prim.IsSolid) { - aBody = PhysicsScene.PE.CreateBodyFromShape(sim, shape, prim.LocalID, prim.RawPosition, prim.RawOrientation); + aBody = PhysicsScene.PE.CreateBodyFromShape(sim, prim.PhysShape, prim.LocalID, prim.RawPosition, prim.RawOrientation); if (DDetail) DetailLog("{0},BSShapeCollection.CreateBody,mesh,body={1}", prim.LocalID, aBody); } else { - aBody = PhysicsScene.PE.CreateGhostFromShape(sim, shape, prim.LocalID, prim.RawPosition, prim.RawOrientation); + aBody = PhysicsScene.PE.CreateGhostFromShape(sim, prim.PhysShape, prim.LocalID, prim.RawPosition, prim.RawOrientation); if (DDetail) DetailLog("{0},BSShapeCollection.CreateBody,ghost,body={1}", prim.LocalID, aBody); } diff --git a/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt index a95e169742..d574a492cb 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt +++ b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt @@ -6,6 +6,7 @@ One sided meshes? Should terrain be built into a closed shape? Ref: http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?t=4869 Deleting a linkset while standing on the root will leave the physical shape of the root behind. Not sure if it is because standing on it. Done with large prim linksets. +Terrain detail: double terrain mesh detail Vehicle angular vertical attraction vehicle angular banking Center-of-gravity @@ -34,34 +35,20 @@ Vehicle script tuning/debugging Weapon shooter script Add material densities to the material types -CRASHES -================================================= -Crazyness during 20130115 office hours was PositionAdjustUnderground for both char and prim - m1:logs/20130115.0934/physics-BulletSim-20130115083613.log - Creation of Neb's terrain made the terrain "disappear". Everything started to fall - and then get restored to be above terrain. -20121129.1411: editting/moving phys object across region boundries causes crash - getPos-> btRigidBody::upcast -> getBodyType -> BOOM -20121128.1600: mesh object not rezzing (no physics mesh). - Causes many errors. Doesn't stop after first error with box shape. - Eventually crashes when deleting the object. -20121206.1434: rez Sam-pan into OSGrid BulletSim11 region - Immediate simulator crash. Mono does not output any stacktrace and - log just stops after reporting taint-time linking of the linkset. - VEHICLES TODO LIST: ================================================= Border crossing with linked vehicle causes crash + 20121129.1411: editting/moving phys object across region boundries causes crash + getPos-> btRigidBody::upcast -> getBodyType -> BOOM Vehicles (Move smoothly) Some vehicles should not be able to turn if no speed or off ground. +What to do if vehicle and prim buoyancy differ? Cannot edit/move a vehicle being ridden: it jumps back to the origional position. Neb car jiggling left and right Happens on terrain and any other mesh object. Flat cubes are much smoother. This has been reduced but not eliminated. Implement referenceFrame for all the motion routines. For limitMotorUp, use raycast down to find if vehicle is in the air. -Angular motion around Z moves the vehicle in world Z and not vehicle Z in ODE. - Verify that angular motion specified around Z moves in the vehicle coordinates. Verify llGetVel() is returning a smooth and good value for vehicle movement. llGetVel() should return the root's velocity if requested in a child prim. Implement function efficiency for lineaar and angular motion. @@ -73,10 +60,11 @@ Remove vehicle angular velocity zeroing in BSPrim.UpdateProperties(). Incorporate inter-relationship of angular corrections. For instance, angularDeflection and angularMotorUp will compute same X or Y correction. When added together creates over-correction and over-shoot and wabbling. +Vehicle attributes are not restored when a vehicle is rezzed on region creation + Create vehicle, setup vehicle properties, restart region, vehicle is not reinitialized. GENERAL TODO LIST: ================================================= -Avatar standing on a moving object should start to move with the object. llMoveToTarget objects are not effected by gravity until target is removed. Compute CCD parameters based on body size Can solver iterations be changed per body/shape? Can be for constraints but what @@ -330,4 +318,8 @@ Boats float low in the water (DONE) Boats floating at proper level (DONE) When is force introduced by SetForce removed? The prestep action could go forever. (DONE) (Resolution: setForce registers a prestep action which keeps applying the force) -Child movement in linkset (don't rebuild linkset) (DONE 20130122)) \ No newline at end of file +Child movement in linkset (don't rebuild linkset) (DONE 20130122)) +Avatar standing on a moving object should start to move with the object. (DONE 20130125) +Angular motion around Z moves the vehicle in world Z and not vehicle Z in ODE. + Verify that angular motion specified around Z moves in the vehicle coordinates. + DONE 20130120: BulletSim properly applies force in vehicle relative coordinates. \ No newline at end of file From 75a05c16c5c0ec0712f7f564b60530e0a3fd1c82 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Thu, 31 Jan 2013 15:52:50 -0800 Subject: [PATCH 473/851] BulletSim: fix crash caused when linksets were rebuilt. A problem added when individual child pos/rot changes were implementated a week or so ago. Remove some passing of inTaintTime flag when it was never false. --- .../Physics/BulletSPlugin/BSCharacter.cs | 4 +- .../BulletSPlugin/BSLinksetCompound.cs | 48 +++++--- .../Region/Physics/BulletSPlugin/BSPrim.cs | 16 ++- .../BulletSPlugin/BSShapeCollection.cs | 114 +++++++++--------- .../Physics/BulletSPlugin/BulletSimTODO.txt | 4 + 5 files changed, 106 insertions(+), 80 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs index 73354bbce9..192bcb5f3a 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs @@ -126,9 +126,9 @@ public sealed class BSCharacter : BSPhysObject DetailLog("{0},BSCharacter.Destroy", LocalID); PhysicsScene.TaintedObject("BSCharacter.destroy", delegate() { - PhysicsScene.Shapes.DereferenceBody(PhysBody, true /* inTaintTime */, null /* bodyCallback */); + PhysicsScene.Shapes.DereferenceBody(PhysBody, null /* bodyCallback */); PhysBody.Clear(); - PhysicsScene.Shapes.DereferenceShape(PhysShape, true /* inTaintTime */, null /* bodyCallback */); + PhysicsScene.Shapes.DereferenceShape(PhysShape, null /* bodyCallback */); PhysShape.Clear(); }); } diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs b/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs index 92f6ee298c..6c6ca09d3f 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs @@ -219,28 +219,45 @@ public sealed class BSLinksetCompound : BSLinkset { // Gather the child info. It might not be there if the linkset is in transition. BSLinksetCompoundInfo lsi = updated.LinksetInfo as BSLinksetCompoundInfo; + + // The linksetInfo will need to be rebuilt either here or when the linkset is rebuilt if (LinksetRoot.PhysShape.HasPhysicalShape && lsi != null) { if (PhysicsScene.PE.IsCompound(LinksetRoot.PhysShape)) { - BulletShape linksetChildShape = PhysicsScene.PE.GetChildShapeFromCompoundShapeIndex(LinksetRoot.PhysShape, lsi.Index); - if (linksetChildShape.HasPhysicalShape) + int numLinksetChildren = PhysicsScene.PE.GetNumberOfCompoundChildren(LinksetRoot.PhysShape); + if (lsi.Index < numLinksetChildren) { - // Compute the offset from the center-of-gravity - BSLinksetCompoundInfo newLsi = new BSLinksetCompoundInfo(lsi.Index, LinksetRoot, updated, LinksetRoot.PositionDisplacement); - PhysicsScene.PE.UpdateChildTransform(LinksetRoot.PhysShape, lsi.Index, - newLsi.OffsetFromCenterOfMass, - newLsi.OffsetRot, - true /* shouldRecalculateLocalAabb */); - DetailLog("{0},BSLinksetCompound.UpdateProperties,changeChildPosRot,whichUpdated={1},newLsi={2}", - updated.LocalID, whichUpdated, newLsi); - updated.LinksetInfo = newLsi; - updatedChild = true; + // It is possible that the linkset is still under construction and the child is not yet + // inserted into the compound shape. A rebuild of the linkset in a pre-step action will + // build the whole thing with the new position or rotation. + // This must be checked for because Bullet references the child array but does no validity + // checking of the child index passed. + BulletShape linksetChildShape = PhysicsScene.PE.GetChildShapeFromCompoundShapeIndex(LinksetRoot.PhysShape, lsi.Index); + if (linksetChildShape.HasPhysicalShape) + { + // Compute the offset from the center-of-gravity + BSLinksetCompoundInfo newLsi = new BSLinksetCompoundInfo(lsi.Index, LinksetRoot, updated, LinksetRoot.PositionDisplacement); + PhysicsScene.PE.UpdateChildTransform(LinksetRoot.PhysShape, lsi.Index, + newLsi.OffsetFromCenterOfMass, + newLsi.OffsetRot, + true /* shouldRecalculateLocalAabb */); + updated.LinksetInfo = newLsi; + updatedChild = true; + DetailLog("{0},BSLinksetCompound.UpdateProperties,changeChildPosRot,whichUpdated={1},newLsi={2}", + updated.LocalID, whichUpdated, newLsi); + } + else // DEBUG DEBUG + { // DEBUG DEBUG + DetailLog("{0},BSLinksetCompound.UpdateProperties,couldNotUpdateChild,noChildShape,shape={1}", + updated.LocalID, linksetChildShape); + } // DEBUG DEBUG } else // DEBUG DEBUG { // DEBUG DEBUG - DetailLog("{0},BSLinksetCompound.UpdateProperties,couldNotUpdateChild,noChildShape,shape={1}", - updated.LocalID, linksetChildShape); + // the child is not yet in the compound shape. This is non-fatal. + DetailLog("{0},BSLinksetCompound.UpdateProperties,couldNotUpdateChild,childNotInCompoundShape,numChildren={1},index={2}", + updated.LocalID, numLinksetChildren, lsi.Index); } // DEBUG DEBUG } else // DEBUG DEBUG @@ -256,6 +273,9 @@ public sealed class BSLinksetCompound : BSLinkset if (!updatedChild) { // If couldn't do the individual child, the linkset needs a rebuild to incorporate the new child info. + // Note that there are several ways through this code that will not update the child that can + // occur if the linkset is being rebuilt. In this case, scheduling a rebuild is a NOOP since + // there will already be a rebuild scheduled. DetailLog("{0},BSLinksetCompound.UpdateProperties,couldNotUpdateChild.schedulingRebuild,whichUpdated={1}", updated.LocalID, whichUpdated); updated.LinksetInfo = null; // setting to 'null' causes relative position to be recomputed. diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs index 0b81122da4..54bf063add 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs @@ -146,9 +146,9 @@ public sealed class BSPrim : BSPhysObject { DetailLog("{0},BSPrim.Destroy,taint,", LocalID); // If there are physical body and shape, release my use of same. - PhysicsScene.Shapes.DereferenceBody(PhysBody, true, null); + PhysicsScene.Shapes.DereferenceBody(PhysBody, null); PhysBody.Clear(); - PhysicsScene.Shapes.DereferenceShape(PhysShape, true, null); + PhysicsScene.Shapes.DereferenceShape(PhysShape, null); PhysShape.Clear(); }); } @@ -181,11 +181,19 @@ public sealed class BSPrim : BSPhysObject public override bool ForceBodyShapeRebuild(bool inTaintTime) { - PhysicsScene.TaintedObject(inTaintTime, "BSPrim.ForceBodyShapeRebuild", delegate() + if (inTaintTime) { _mass = CalculateMass(); // changing the shape changes the mass CreateGeomAndObject(true); - }); + } + else + { + PhysicsScene.TaintedObject("BSPrim.ForceBodyShapeRebuild", delegate() + { + _mass = CalculateMass(); // changing the shape changes the mass + CreateGeomAndObject(true); + }); + } return true; } public override bool Grabbed { diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs b/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs index e2daa72318..9febd90d2b 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs @@ -133,48 +133,44 @@ public sealed class BSShapeCollection : IDisposable // Track another user of a body. // We presume the caller has allocated the body. // Bodies only have one user so the body is just put into the world if not already there. - public void ReferenceBody(BulletBody body, bool inTaintTime) + private void ReferenceBody(BulletBody body) { lock (m_collectionActivityLock) { if (DDetail) DetailLog("{0},BSShapeCollection.ReferenceBody,newBody,body={1}", body.ID, body); - PhysicsScene.TaintedObject(inTaintTime, "BSShapeCollection.ReferenceBody", delegate() + if (!PhysicsScene.PE.IsInWorld(PhysicsScene.World, body)) { - if (!PhysicsScene.PE.IsInWorld(PhysicsScene.World, body)) - { - PhysicsScene.PE.AddObjectToWorld(PhysicsScene.World, body); - if (DDetail) DetailLog("{0},BSShapeCollection.ReferenceBody,addedToWorld,ref={1}", body.ID, body); - } - }); + PhysicsScene.PE.AddObjectToWorld(PhysicsScene.World, body); + if (DDetail) DetailLog("{0},BSShapeCollection.ReferenceBody,addedToWorld,ref={1}", body.ID, body); + } } } // Release the usage of a body. // Called when releasing use of a BSBody. BSShape is handled separately. - public void DereferenceBody(BulletBody body, bool inTaintTime, BodyDestructionCallback bodyCallback ) + // Called in taint time. + public void DereferenceBody(BulletBody body, BodyDestructionCallback bodyCallback ) { if (!body.HasPhysicalBody) return; + PhysicsScene.AssertInTaintTime("BSShapeCollection.DereferenceBody"); + lock (m_collectionActivityLock) { - PhysicsScene.TaintedObject(inTaintTime, "BSShapeCollection.DereferenceBody", delegate() + if (DDetail) DetailLog("{0},BSShapeCollection.DereferenceBody,DestroyingBody,body={1}", body.ID, body); + // If the caller needs to know the old body is going away, pass the event up. + if (bodyCallback != null) bodyCallback(body); + + if (PhysicsScene.PE.IsInWorld(PhysicsScene.World, body)) { - if (DDetail) DetailLog("{0},BSShapeCollection.DereferenceBody,DestroyingBody,body={1},inTaintTime={2}", - body.ID, body, inTaintTime); - // If the caller needs to know the old body is going away, pass the event up. - if (bodyCallback != null) bodyCallback(body); + PhysicsScene.PE.RemoveObjectFromWorld(PhysicsScene.World, body); + if (DDetail) DetailLog("{0},BSShapeCollection.DereferenceBody,removingFromWorld. Body={1}", body.ID, body); + } - if (PhysicsScene.PE.IsInWorld(PhysicsScene.World, body)) - { - PhysicsScene.PE.RemoveObjectFromWorld(PhysicsScene.World, body); - if (DDetail) DetailLog("{0},BSShapeCollection.DereferenceBody,removingFromWorld. Body={1}", body.ID, body); - } - - // Zero any reference to the shape so it is not freed when the body is deleted. - PhysicsScene.PE.SetCollisionShape(PhysicsScene.World, body, null); - PhysicsScene.PE.DestroyObject(PhysicsScene.World, body); - }); + // Zero any reference to the shape so it is not freed when the body is deleted. + PhysicsScene.PE.SetCollisionShape(PhysicsScene.World, body, null); + PhysicsScene.PE.DestroyObject(PhysicsScene.World, body); } } @@ -245,44 +241,43 @@ public sealed class BSShapeCollection : IDisposable } // Release the usage of a shape. - public void DereferenceShape(BulletShape shape, bool inTaintTime, ShapeDestructionCallback shapeCallback) + public void DereferenceShape(BulletShape shape, ShapeDestructionCallback shapeCallback) { if (!shape.HasPhysicalShape) return; - PhysicsScene.TaintedObject(inTaintTime, "BSShapeCollection.DereferenceShape", delegate() + PhysicsScene.AssertInTaintTime("BSShapeCollection.DereferenceShape"); + + if (shape.HasPhysicalShape) { - if (shape.HasPhysicalShape) + if (shape.isNativeShape) { - if (shape.isNativeShape) + // Native shapes are not tracked and are released immediately + if (DDetail) DetailLog("{0},BSShapeCollection.DereferenceShape,deleteNativeShape,ptr={1}", + BSScene.DetailLogZero, shape.AddrString); + if (shapeCallback != null) shapeCallback(shape); + PhysicsScene.PE.DeleteCollisionShape(PhysicsScene.World, shape); + } + else + { + switch (shape.type) { - // Native shapes are not tracked and are released immediately - if (DDetail) DetailLog("{0},BSShapeCollection.DereferenceShape,deleteNativeShape,ptr={1},taintTime={2}", - BSScene.DetailLogZero, shape.AddrString, inTaintTime); - if (shapeCallback != null) shapeCallback(shape); - PhysicsScene.PE.DeleteCollisionShape(PhysicsScene.World, shape); - } - else - { - switch (shape.type) - { - case BSPhysicsShapeType.SHAPE_HULL: - DereferenceHull(shape, shapeCallback); - break; - case BSPhysicsShapeType.SHAPE_MESH: - DereferenceMesh(shape, shapeCallback); - break; - case BSPhysicsShapeType.SHAPE_COMPOUND: - DereferenceCompound(shape, shapeCallback); - break; - case BSPhysicsShapeType.SHAPE_UNKNOWN: - break; - default: - break; - } + case BSPhysicsShapeType.SHAPE_HULL: + DereferenceHull(shape, shapeCallback); + break; + case BSPhysicsShapeType.SHAPE_MESH: + DereferenceMesh(shape, shapeCallback); + break; + case BSPhysicsShapeType.SHAPE_COMPOUND: + DereferenceCompound(shape, shapeCallback); + break; + case BSPhysicsShapeType.SHAPE_UNKNOWN: + break; + default: + break; } } - }); + } } // Count down the reference count for a mesh shape @@ -393,7 +388,7 @@ public sealed class BSShapeCollection : IDisposable if (shapeInfo.type != BSPhysicsShapeType.SHAPE_UNKNOWN) { - DereferenceShape(shapeInfo, true, null); + DereferenceShape(shapeInfo, null); } else { @@ -543,7 +538,7 @@ public sealed class BSShapeCollection : IDisposable ShapeDestructionCallback shapeCallback) { // release any previous shape - DereferenceShape(prim.PhysShape, true, shapeCallback); + DereferenceShape(prim.PhysShape, shapeCallback); BulletShape newShape = BuildPhysicalNativeShape(prim, shapeType, shapeKey); @@ -611,7 +606,7 @@ public sealed class BSShapeCollection : IDisposable prim.LocalID, prim.PhysShape.shapeKey.ToString("X"), newMeshKey.ToString("X")); // Since we're recreating new, get rid of the reference to the previous shape - DereferenceShape(prim.PhysShape, true, shapeCallback); + DereferenceShape(prim.PhysShape, shapeCallback); newShape = CreatePhysicalMesh(prim.PhysObjectName, newMeshKey, prim.BaseShape, prim.Size, lod); // Take evasive action if the mesh was not constructed. @@ -682,7 +677,7 @@ public sealed class BSShapeCollection : IDisposable prim.LocalID, prim.PhysShape.shapeKey.ToString("X"), newHullKey.ToString("X")); // Remove usage of the previous shape. - DereferenceShape(prim.PhysShape, true, shapeCallback); + DereferenceShape(prim.PhysShape, shapeCallback); newShape = CreatePhysicalHull(prim.PhysObjectName, newHullKey, prim.BaseShape, prim.Size, lod); newShape = VerifyMeshCreated(newShape, prim); @@ -817,7 +812,6 @@ public sealed class BSShapeCollection : IDisposable // Don't need to do this as the shape is freed when the new root shape is created below. // DereferenceShape(prim.PhysShape, true, shapeCallback); - BulletShape cShape = PhysicsScene.PE.CreateCompoundShape(PhysicsScene.World, false); // Create the shape for the root prim and add it to the compound shape. Cannot be a native shape. @@ -956,7 +950,7 @@ public sealed class BSShapeCollection : IDisposable if (mustRebuild || forceRebuild) { // Free any old body - DereferenceBody(prim.PhysBody, true, bodyCallback); + DereferenceBody(prim.PhysBody, bodyCallback); BulletBody aBody; if (prim.IsSolid) @@ -970,7 +964,7 @@ public sealed class BSShapeCollection : IDisposable if (DDetail) DetailLog("{0},BSShapeCollection.CreateBody,ghost,body={1}", prim.LocalID, aBody); } - ReferenceBody(aBody, true); + ReferenceBody(aBody); prim.PhysBody = aBody; diff --git a/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt index d574a492cb..7dfdec1db9 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt +++ b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt @@ -65,6 +65,10 @@ Vehicle attributes are not restored when a vehicle is rezzed on region creation GENERAL TODO LIST: ================================================= +Collisions are inconsistant: arrows are supposed to hit and report collision. Often don't. + If arrow show at prim, collision reported about 1/3 of time. If collision reported, + both arrow and prim report it. The arrow bounces off the prim 9 out of 10 times. + Shooting 5m sphere "arrows" at 60m/s. llMoveToTarget objects are not effected by gravity until target is removed. Compute CCD parameters based on body size Can solver iterations be changed per body/shape? Can be for constraints but what From 5bb85a14d46ad280b045e945edcc9e9bc6045612 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Fri, 1 Feb 2013 11:52:27 -0800 Subject: [PATCH 474/851] BulletSim: fix problem where editting a physical linkset caused the child prim physical positions to get out of sync with the view. More reliably compute the offset of children in a physical linkset. --- .../BulletSPlugin/BSLinksetCompound.cs | 51 ++++++++++++------- .../Physics/BulletSPlugin/BulletSimTODO.txt | 1 + 2 files changed, 33 insertions(+), 19 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs b/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs index 6c6ca09d3f..0c4db4063c 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs @@ -219,30 +219,31 @@ public sealed class BSLinksetCompound : BSLinkset { // Gather the child info. It might not be there if the linkset is in transition. BSLinksetCompoundInfo lsi = updated.LinksetInfo as BSLinksetCompoundInfo; - - // The linksetInfo will need to be rebuilt either here or when the linkset is rebuilt - if (LinksetRoot.PhysShape.HasPhysicalShape && lsi != null) + if (lsi != null) { - if (PhysicsScene.PE.IsCompound(LinksetRoot.PhysShape)) + // Since the child moved or rotationed, it needs a new relative position within the linkset + BSLinksetCompoundInfo newLsi = new BSLinksetCompoundInfo(lsi.Index, LinksetRoot, updated, LinksetRoot.PositionDisplacement); + updated.LinksetInfo = newLsi; + + // Find the physical instance of the child + if (LinksetRoot.PhysShape.HasPhysicalShape && PhysicsScene.PE.IsCompound(LinksetRoot.PhysShape)) { + // It is possible that the linkset is still under construction and the child is not yet + // inserted into the compound shape. A rebuild of the linkset in a pre-step action will + // build the whole thing with the new position or rotation. + // The index must be checked because Bullet references the child array but does no validity + // checking of the child index passed. int numLinksetChildren = PhysicsScene.PE.GetNumberOfCompoundChildren(LinksetRoot.PhysShape); if (lsi.Index < numLinksetChildren) { - // It is possible that the linkset is still under construction and the child is not yet - // inserted into the compound shape. A rebuild of the linkset in a pre-step action will - // build the whole thing with the new position or rotation. - // This must be checked for because Bullet references the child array but does no validity - // checking of the child index passed. BulletShape linksetChildShape = PhysicsScene.PE.GetChildShapeFromCompoundShapeIndex(LinksetRoot.PhysShape, lsi.Index); if (linksetChildShape.HasPhysicalShape) { - // Compute the offset from the center-of-gravity - BSLinksetCompoundInfo newLsi = new BSLinksetCompoundInfo(lsi.Index, LinksetRoot, updated, LinksetRoot.PositionDisplacement); + // Found the child shape within the compound shape PhysicsScene.PE.UpdateChildTransform(LinksetRoot.PhysShape, lsi.Index, newLsi.OffsetFromCenterOfMass, newLsi.OffsetRot, true /* shouldRecalculateLocalAabb */); - updated.LinksetInfo = newLsi; updatedChild = true; DetailLog("{0},BSLinksetCompound.UpdateProperties,changeChildPosRot,whichUpdated={1},newLsi={2}", updated.LocalID, whichUpdated, newLsi); @@ -262,19 +263,20 @@ public sealed class BSLinksetCompound : BSLinkset } else // DEBUG DEBUG { // DEBUG DEBUG - DetailLog("{0},BSLinksetCompound.UpdateProperties,couldNotUpdateChild,notCompound", updated.LocalID); + DetailLog("{0},BSLinksetCompound.UpdateProperties,couldNotUpdateChild,noBodyOrNotCompound", updated.LocalID); } // DEBUG DEBUG } else // DEBUG DEBUG { // DEBUG DEBUG - DetailLog("{0},BSLinksetCompound.UpdateProperties,couldNotUpdateChild,rootPhysShape={1},lsi={2}", - updated.LocalID, LinksetRoot.PhysShape, lsi == null ? "NULL" : lsi.ToString()); + DetailLog("{0},BSLinksetCompound.UpdateProperties,couldNotUpdateChild,noLinkSetInfo,rootPhysShape={1}", + updated.LocalID, LinksetRoot.PhysShape); } // DEBUG DEBUG + if (!updatedChild) { // If couldn't do the individual child, the linkset needs a rebuild to incorporate the new child info. - // Note that there are several ways through this code that will not update the child that can - // occur if the linkset is being rebuilt. In this case, scheduling a rebuild is a NOOP since + // Note: there are several ways through this code that will not update the child if + // the linkset is being rebuilt. In this case, scheduling a rebuild is a NOOP since // there will already be a rebuild scheduled. DetailLog("{0},BSLinksetCompound.UpdateProperties,couldNotUpdateChild.schedulingRebuild,whichUpdated={1}", updated.LocalID, whichUpdated); @@ -300,7 +302,8 @@ public sealed class BSLinksetCompound : BSLinkset { // Because it is a convenient time, recompute child world position and rotation based on // its position in the linkset. - RecomputeChildWorldPosition(child, true); + RecomputeChildWorldPosition(child, true /* inTaintTime */); + child.LinksetInfo = null; } // Cannot schedule a refresh/rebuild here because this routine is called when @@ -315,6 +318,14 @@ public sealed class BSLinksetCompound : BSLinkset // prim. The child prim's location must be recomputed based on the location of the root shape. private void RecomputeChildWorldPosition(BSPhysObject child, bool inTaintTime) { + // For the moment (20130201), disable this computation (converting the child physical addr back to + // a region address) until we have a good handle on center-of-mass offsets and what the physics + // engine moving a child actually means. + // The simulator keeps track of where children should be as the linkset moves. Setting + // the pos/rot here does not effect that knowledge as there is no good way for the + // physics engine to send the simulator an update for a child. + + /* BSLinksetCompoundInfo lci = child.LinksetInfo as BSLinksetCompoundInfo; if (lci != null) { @@ -343,6 +354,7 @@ public sealed class BSLinksetCompound : BSLinkset // LogHeader, child.LocalID); DetailLog("{0},BSLinksetCompound.recomputeChildWorldPosition,noRelativePositonInfo", child.LocalID); } + */ } // ================================================================ @@ -376,6 +388,7 @@ public sealed class BSLinksetCompound : BSLinkset // Cause the child's body to be rebuilt and thus restored to normal operation RecomputeChildWorldPosition(child, false); + child.LinksetInfo = null; child.ForceBodyShapeRebuild(false); if (!HasAnyChildren) @@ -397,7 +410,7 @@ public sealed class BSLinksetCompound : BSLinkset // Constraint linksets are rebuilt every time. // Note that this works for rebuilding just the root after a linkset is taken apart. // Called at taint time!! - private bool disableCOM = true; // disable until we get this debugged + private bool disableCOM = true; // DEBUG DEBUG: disable until we get this debugged private void RecomputeLinksetCompound() { try diff --git a/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt index 7dfdec1db9..a3b355656d 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt +++ b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt @@ -127,6 +127,7 @@ Physical and phantom will drop through the terrain LINKSETS ====================================================== +Child prims do not report collisions Editing a child of a linkset causes the child to go phantom Move a child prim once when it is physical and can never move it again without it going phantom Offset the center of the linkset to be the geometric center of all the prims From d8d4e7f236346d8dd7d66dbc187bb5362c00f039 Mon Sep 17 00:00:00 2001 From: teravus Date: Fri, 1 Feb 2013 15:42:24 -0500 Subject: [PATCH 475/851] Sit and Spin reduction. If sitting, slam avatar angular velocity to zero. --- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index e0dfb349f7..6e41774bcf 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -2342,7 +2342,7 @@ namespace OpenSim.Region.Framework.Scenes ParentPart = m_scene.GetSceneObjectPart(m_requestedSitTargetID); ParentID = m_requestedSitTargetID; - + m_AngularVelocity = Vector3.Zero; Velocity = Vector3.Zero; RemoveFromPhysicalScene(); @@ -2358,7 +2358,8 @@ namespace OpenSim.Region.Framework.Scenes public void HandleAgentSitOnGround() { -// m_updateCount = 0; // Kill animation update burst so that the SIT_G.. will stick. +// m_updateCount = 0; // Kill animation update burst so that the SIT_G.. will stick.. + m_AngularVelocity = Vector3.Zero; Animator.TrySetMovementAnimation("SIT_GROUND_CONSTRAINED"); SitGround = true; RemoveFromPhysicalScene(); From 9588328242f4004446b5cc08251995b8d004b4f2 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Sat, 2 Feb 2013 00:59:26 +0000 Subject: [PATCH 476/851] Stop exceptions being thrown if GenerateMapTiles = false but no static map tile has been set. Do more informative warn instead. --- .../MapImage/MapImageServiceModule.cs | 8 ++++++-- .../World/LegacyMap/MapImageModule.cs | 17 ++++++++++++----- bin/OpenSim.ini.example | 7 ++++--- bin/OpenSimDefaults.ini | 14 ++++++++++++++ 4 files changed, 36 insertions(+), 10 deletions(-) diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/MapImage/MapImageServiceModule.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/MapImage/MapImageServiceModule.cs index a8390865f7..26d22b8a26 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/MapImage/MapImageServiceModule.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/MapImage/MapImageServiceModule.cs @@ -75,7 +75,6 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.MapImage public void Close() { } public void PostInitialise() { } - /// /// /// @@ -133,7 +132,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.MapImage /// public void AddRegion(Scene scene) { - if (! m_enabled) + if (!m_enabled) return; // Every shared region module has to maintain an indepedent list of @@ -206,6 +205,11 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.MapImage using (Image mapTile = tileGenerator.CreateMapTile()) { + // XXX: The MapImageModule will return a null if the user has chosen not to create map tiles and there + // is no static map tile. + if (mapTile == null) + return; + using (MemoryStream stream = new MemoryStream()) { mapTile.Save(stream, ImageFormat.Jpeg); diff --git a/OpenSim/Region/CoreModules/World/LegacyMap/MapImageModule.cs b/OpenSim/Region/CoreModules/World/LegacyMap/MapImageModule.cs index d412efcfce..e7065dcd27 100644 --- a/OpenSim/Region/CoreModules/World/LegacyMap/MapImageModule.cs +++ b/OpenSim/Region/CoreModules/World/LegacyMap/MapImageModule.cs @@ -113,7 +113,6 @@ namespace OpenSim.Region.CoreModules.World.LegacyMap //t = System.Environment.TickCount - t; //m_log.InfoFormat("[MAPTILE] generation of 10 maptiles needed {0} ms", t); - if (drawPrimVolume) { DrawObjectVolume(m_scene, mapbmp); @@ -121,7 +120,7 @@ namespace OpenSim.Region.CoreModules.World.LegacyMap } else { - mapbmp = fetchTexture(m_scene.RegionInfo.RegionSettings.TerrainImageID); + mapbmp = FetchTexture(m_scene.RegionInfo.RegionSettings.TerrainImageID); } return mapbmp; } @@ -232,11 +231,19 @@ namespace OpenSim.Region.CoreModules.World.LegacyMap // } // } - private Bitmap fetchTexture(UUID id) + private Bitmap FetchTexture(UUID id) { AssetBase asset = m_scene.AssetService.Get(id.ToString()); - m_log.DebugFormat("[MAPTILE]: Fetched static texture {0}, found: {1}", id, asset != null); - if (asset == null) return null; + + if (asset != null) + { + m_log.DebugFormat("[MAPTILE]: Static map image texture {0} found for {1}", id, m_scene.Name); + } + else + { + m_log.WarnFormat("[MAPTILE]: Static map image texture {0} not found for {1}", id, m_scene.Name); + return null; + } ManagedImage managedImage; Image image; diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 0fe44e954d..653de5cc4f 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -269,9 +269,10 @@ ; DefaultScriptEngine = "XEngine" ;# {GenerateMaptiles} {} {Generate map tiles?} {true false} true - ;; Map tile options. You can choose to generate no map tiles at all, - ;; generate normal maptiles, or nominate an uploaded texture to - ;; be the map tile + ;; Map tile options. You can choose to generate normal maptiles or nominate an uploaded texture to + ;; be the map tile using the MaptileStaticUUID parameter in this section or for individual regions in + ;; the regions config file(s). If you do not want to upload map tiles at all, then you will need + ;; to disable the MapImageServiceModule entirely. ; GenerateMaptiles = true ;# {MaptileRefresh} {GenerateMaptiles} {Maptile refresh period?} {} 0 diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index c60579b834..6ebdb96a4f 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1,6 +1,20 @@ ; This file contains defaults for various settings in OpenSimulator. These can be overriden ; by changing the same setting in OpenSim.ini (once OpenSim.ini.example has been copied to OpenSim.ini). +[XMLRPC] + ;# {XmlRpcRouterModule} {} {Module used to route incoming llRemoteData calls} {XmlRpcRouterModule XmlRpcGridRouterModule} XmlRpcRouterModule + ;; If enabled and set to XmlRpcRouterModule, this will post an event, + ;; "xmlrpc_uri(string)" to the script concurrently with the first + ;; remote_data event. This will contain the fully qualified URI an + ;; external site needs to use to send XMLRPC requests to that script + ;; + ;; If enabled and set to XmlRpcGridRouterModule, newly created channels + ;; will be registered with an external service via a configured uri + XmlRpcRouterModule = "XmlRpcRouterModule" + + ;# {XmlRpcPort} {} {Port for incoming llRemoteData xmlrpc calls} {} 20800 + XmlRpcPort = 20800 + [Startup] ; Console prompt From 2ff301ca113842c9a865a941833ca7231d3866b6 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Sat, 2 Feb 2013 01:34:49 +0000 Subject: [PATCH 477/851] Correct spelling mistake in new RayFilterFlags, LSLPhanton -> LSLPhantom --- OpenSim/Region/Physics/Manager/PhysicsScene.cs | 4 ++-- .../Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/OpenSim/Region/Physics/Manager/PhysicsScene.cs b/OpenSim/Region/Physics/Manager/PhysicsScene.cs index 96a9ff7ea0..c4d7ef3a15 100644 --- a/OpenSim/Region/Physics/Manager/PhysicsScene.cs +++ b/OpenSim/Region/Physics/Manager/PhysicsScene.cs @@ -43,7 +43,7 @@ namespace OpenSim.Region.Physics.Manager public delegate void JointDeactivated(PhysicsJoint joint); public delegate void JointErrorMessage(PhysicsJoint joint, string message); // this refers to an "error message due to a problem", not "amount of joint constraint violation" - public enum RayFilterFlags:ushort + public enum RayFilterFlags : ushort { // the flags water = 0x01, @@ -60,7 +60,7 @@ namespace OpenSim.Region.Physics.Manager ClosestHit = 0x8000, // some combinations - LSLPhanton = phantom | volumedtc, + LSLPhantom = phantom | volumedtc, PrimsNonPhantom = nonphysical | physical, PrimsNonPhantomAgents = nonphysical | physical | agent, diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 81de9abe6b..0db6fe317b 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -11381,7 +11381,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (checkNonPhysical) rayfilter |= RayFilterFlags.nonphysical; if (detectPhantom) - rayfilter |= RayFilterFlags.LSLPhanton; + rayfilter |= RayFilterFlags.LSLPhantom; Vector3 direction = dir * ( 1/dist); From 9822bb664b58693790201606126e3fd26f7a4d52 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Sat, 2 Feb 2013 02:57:38 +0000 Subject: [PATCH 478/851] Log missing assets on "fcache assets" found. This ignores references found by scanning LSL/notecard files since these are the source of false positives. This also changes UuidGatherer to reutn an AssetType.Unknown for embedded script/lsl references instead of Texture, since these are often not textures. This is added to help people in determining when they have missing assets such as textures, etc. In this case, one wants to run "fcache clear" first. --- .../CoreModules/Asset/FlotsamAssetCache.cs | 41 ++++++++++++------- .../Region/Framework/Scenes/UuidGatherer.cs | 7 +++- 2 files changed, 31 insertions(+), 17 deletions(-) diff --git a/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs b/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs index 8e800cbeb2..00af1750e2 100644 --- a/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs +++ b/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs @@ -707,32 +707,43 @@ namespace OpenSim.Region.CoreModules.Asset { UuidGatherer gatherer = new UuidGatherer(m_AssetService); + HashSet uniqueUuids = new HashSet(); Dictionary assets = new Dictionary(); + foreach (Scene s in m_Scenes) { StampRegionStatusFile(s.RegionInfo.RegionID); s.ForEachSOG(delegate(SceneObjectGroup e) - { + { gatherer.GatherAssetUuids(e, assets); + + foreach (UUID assetID in assets.Keys) + { + uniqueUuids.Add(assetID); + + string filename = GetFileName(assetID.ToString()); + + if (File.Exists(filename)) + { + File.SetLastAccessTime(filename, DateTime.Now); + } + else if (storeUncached) + { + AssetBase cachedAsset = m_AssetService.Get(assetID.ToString()); + if (cachedAsset == null && assets[assetID] != AssetType.Unknown) + m_log.DebugFormat( + "[FLOTSAM ASSET CACHE]: Could not find asset {0}, type {1} referenced by object {2} at {3} in scene {4} when pre-caching all scene assets", + assetID, assets[assetID], e.Name, e.AbsolutePosition, s.Name); + } + } + + assets.Clear(); }); } - foreach (UUID assetID in assets.Keys) - { - string filename = GetFileName(assetID.ToString()); - if (File.Exists(filename)) - { - File.SetLastAccessTime(filename, DateTime.Now); - } - else if (storeUncached) - { - m_AssetService.Get(assetID.ToString()); - } - } - - return assets.Keys.Count; + return uniqueUuids.Count; } /// diff --git a/OpenSim/Region/Framework/Scenes/UuidGatherer.cs b/OpenSim/Region/Framework/Scenes/UuidGatherer.cs index e238d01f29..c7cec41676 100644 --- a/OpenSim/Region/Framework/Scenes/UuidGatherer.cs +++ b/OpenSim/Region/Framework/Scenes/UuidGatherer.cs @@ -131,7 +131,10 @@ namespace OpenSim.Region.Framework.Scenes /// within this object). /// /// The scene object for which to gather assets - /// The assets gathered + /// + /// A dictionary which is populated with the asset UUIDs gathered and the type of that asset. + /// For assets where the type is not clear (e.g. UUIDs extracted from LSL and notecards), the type is Unknown. + /// public void GatherAssetUuids(SceneObjectGroup sceneObject, IDictionary assetUuids) { // m_log.DebugFormat( @@ -262,7 +265,7 @@ namespace OpenSim.Region.Framework.Scenes // m_log.DebugFormat("[ARCHIVER]: Recording {0} in text", uuid); // Assume AssetIDs embedded are textures. - assetUuids[uuid] = AssetType.Texture; + assetUuids[uuid] = AssetType.Unknown; } } } From 141ad829f448b9138b12be7cf99c834c1f3977ec Mon Sep 17 00:00:00 2001 From: BlueWall Date: Fri, 1 Feb 2013 21:57:49 -0500 Subject: [PATCH 479/851] Update assembly version numbers --- .../ApplicationPlugins/LoadRegions/Properties/AssemblyInfo.cs | 4 ++-- .../RegionModulesController/Properties/AssemblyInfo.cs | 2 +- .../RemoteController/Properties/AssemblyInfo.cs | 2 +- OpenSim/Capabilities/Handlers/Properties/AssemblyInfo.cs | 2 +- OpenSim/Capabilities/Properties/AssemblyInfo.cs | 2 +- OpenSim/ConsoleClient/Properties/AssemblyInfo.cs | 2 +- OpenSim/Data/MSSQL/Properties/AssemblyInfo.cs | 2 +- OpenSim/Data/MySQL/Properties/AssemblyInfo.cs | 2 +- OpenSim/Data/Null/Properties/AssemblyInfo.cs | 2 +- OpenSim/Data/Properties/AssemblyInfo.cs | 2 +- OpenSim/Data/SQLite/Properties/AssemblyInfo.cs | 2 +- OpenSim/Framework/AssemblyInfo.cs | 2 +- .../AssetLoader/Filesystem/Properties/AssemblyInfo.cs | 2 +- OpenSim/Framework/Communications/Properties/AssemblyInfo.cs | 2 +- .../Framework/Configuration/HTTP/Properties/AssemblyInfo.cs | 2 +- .../Framework/Configuration/XML/Properties/AssemblyInfo.cs | 2 +- OpenSim/Framework/Console/AssemblyInfo.cs | 2 +- OpenSim/Framework/Monitoring/Properties/AssemblyInfo.cs | 2 +- .../RegionLoader/Filesystem/Properties/AssemblyInfo.cs | 2 +- OpenSim/Framework/RegionLoader/Web/Properties/AssemblyInfo.cs | 2 +- OpenSim/Framework/Serialization/Properties/AssemblyInfo.cs | 2 +- .../Framework/Servers/HttpServer/Properties/AssemblyInfo.cs | 2 +- OpenSim/Framework/Servers/Properties/AssemblyInfo.cs | 2 +- .../Region/ClientStack/Linden/Caps/Properties/AssemblyInfo.cs | 2 +- .../Region/ClientStack/Linden/UDP/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/ClientStack/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/CoreModules/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/DataSnapshot/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/Framework/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/OptionalModules/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/Physics/BasicPhysicsPlugin/AssemblyInfo.cs | 2 +- .../Region/Physics/BulletSPlugin/Properties/AssemblyInfo.cs | 2 +- .../ConvexDecompositionDotNet/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/Physics/Manager/AssemblyInfo.cs | 2 +- OpenSim/Region/Physics/Meshing/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/Physics/OdePlugin/AssemblyInfo.cs | 2 +- OpenSim/Region/Physics/POSPlugin/AssemblyInfo.cs | 2 +- .../Region/RegionCombinerModule/Properties/AssemblyInfo.cs | 2 +- .../Shared/Api/Implementation/Properties/AssemblyInfo.cs | 2 +- .../Shared/Api/Runtime/Properties/AssemblyInfo.cs | 2 +- .../Shared/Api/Runtime/YieldProlog/Properties/AssemblyInfo.cs | 2 +- .../ScriptEngine/Shared/CodeTools/Properties/AssemblyInfo.cs | 2 +- .../ScriptEngine/Shared/Instance/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/ScriptEngine/Shared/Properties/AssemblyInfo.cs | 2 +- .../Region/ScriptEngine/XEngine/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/UserStatistics/Properties/AssemblyInfo.cs | 2 +- OpenSim/Server/Base/Properties/AssemblyInfo.cs | 2 +- OpenSim/Server/Handlers/Properties/AssemblyInfo.cs | 2 +- OpenSim/Server/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/AssetService/Properties/AssemblyInfo.cs | 2 +- .../Services/AuthenticationService/Properties/AssemblyInfo.cs | 2 +- .../Services/AuthorizationService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/AvatarService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/Base/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/Connectors/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/FreeswitchService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/Friends/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/GridService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/HypergridService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/Interfaces/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/InventoryService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/LLLoginService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/MapImageService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/PresenceService/Properties/AssemblyInfo.cs | 2 +- .../Services/UserAccountService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs | 2 +- OpenSim/Tools/Configger/Properties/AssemblyInfo.cs | 2 +- OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs | 2 +- 68 files changed, 69 insertions(+), 69 deletions(-) diff --git a/OpenSim/ApplicationPlugins/LoadRegions/Properties/AssemblyInfo.cs b/OpenSim/ApplicationPlugins/LoadRegions/Properties/AssemblyInfo.cs index 57615ea2d3..b81c1e5f28 100644 --- a/OpenSim/ApplicationPlugins/LoadRegions/Properties/AssemblyInfo.cs +++ b/OpenSim/ApplicationPlugins/LoadRegions/Properties/AssemblyInfo.cs @@ -60,7 +60,7 @@ using System.Runtime.InteropServices; // // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: -// [assembly: AssemblyVersion("0.7.5.*")] +// [assembly: AssemblyVersion("0.7.6.*")] -[assembly : AssemblyVersion("0.7.5.*")] +[assembly : AssemblyVersion("0.7.6.*")] [assembly : AssemblyFileVersion("0.6.5.0")] \ No newline at end of file diff --git a/OpenSim/ApplicationPlugins/RegionModulesController/Properties/AssemblyInfo.cs b/OpenSim/ApplicationPlugins/RegionModulesController/Properties/AssemblyInfo.cs index 14527d9ea9..be6054d150 100644 --- a/OpenSim/ApplicationPlugins/RegionModulesController/Properties/AssemblyInfo.cs +++ b/OpenSim/ApplicationPlugins/RegionModulesController/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/ApplicationPlugins/RemoteController/Properties/AssemblyInfo.cs b/OpenSim/ApplicationPlugins/RemoteController/Properties/AssemblyInfo.cs index 8ad948c9bd..3ec7a13883 100644 --- a/OpenSim/ApplicationPlugins/RemoteController/Properties/AssemblyInfo.cs +++ b/OpenSim/ApplicationPlugins/RemoteController/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Capabilities/Handlers/Properties/AssemblyInfo.cs b/OpenSim/Capabilities/Handlers/Properties/AssemblyInfo.cs index a681fb643f..4ff5fe1d9a 100644 --- a/OpenSim/Capabilities/Handlers/Properties/AssemblyInfo.cs +++ b/OpenSim/Capabilities/Handlers/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Capabilities/Properties/AssemblyInfo.cs b/OpenSim/Capabilities/Properties/AssemblyInfo.cs index 26254f2fcf..f8a9daeac0 100644 --- a/OpenSim/Capabilities/Properties/AssemblyInfo.cs +++ b/OpenSim/Capabilities/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/ConsoleClient/Properties/AssemblyInfo.cs b/OpenSim/ConsoleClient/Properties/AssemblyInfo.cs index c240f90ca3..9c0c784838 100644 --- a/OpenSim/ConsoleClient/Properties/AssemblyInfo.cs +++ b/OpenSim/ConsoleClient/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Data/MSSQL/Properties/AssemblyInfo.cs b/OpenSim/Data/MSSQL/Properties/AssemblyInfo.cs index 1a67e704e5..4e96be8da4 100644 --- a/OpenSim/Data/MSSQL/Properties/AssemblyInfo.cs +++ b/OpenSim/Data/MSSQL/Properties/AssemblyInfo.cs @@ -61,5 +61,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: -[assembly : AssemblyVersion("0.7.5.*")] +[assembly : AssemblyVersion("0.7.6.*")] [assembly : AssemblyFileVersion("0.6.5.0")] diff --git a/OpenSim/Data/MySQL/Properties/AssemblyInfo.cs b/OpenSim/Data/MySQL/Properties/AssemblyInfo.cs index ab3fe36e52..7bfa28dd39 100644 --- a/OpenSim/Data/MySQL/Properties/AssemblyInfo.cs +++ b/OpenSim/Data/MySQL/Properties/AssemblyInfo.cs @@ -61,5 +61,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: -[assembly : AssemblyVersion("0.7.5.*")] +[assembly : AssemblyVersion("0.7.6.*")] [assembly : AssemblyFileVersion("0.6.5.0")] diff --git a/OpenSim/Data/Null/Properties/AssemblyInfo.cs b/OpenSim/Data/Null/Properties/AssemblyInfo.cs index 43b0bb3214..3931b3dab8 100644 --- a/OpenSim/Data/Null/Properties/AssemblyInfo.cs +++ b/OpenSim/Data/Null/Properties/AssemblyInfo.cs @@ -61,5 +61,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: -[assembly : AssemblyVersion("0.7.5.*")] +[assembly : AssemblyVersion("0.7.6.*")] [assembly : AssemblyFileVersion("0.6.5.0")] diff --git a/OpenSim/Data/Properties/AssemblyInfo.cs b/OpenSim/Data/Properties/AssemblyInfo.cs index 0da1a6b799..9f342ad571 100644 --- a/OpenSim/Data/Properties/AssemblyInfo.cs +++ b/OpenSim/Data/Properties/AssemblyInfo.cs @@ -61,5 +61,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: -[assembly : AssemblyVersion("0.7.5.*")] +[assembly : AssemblyVersion("0.7.6.*")] [assembly : AssemblyFileVersion("0.6.5.0")] diff --git a/OpenSim/Data/SQLite/Properties/AssemblyInfo.cs b/OpenSim/Data/SQLite/Properties/AssemblyInfo.cs index c9a8553de6..ba52f8258b 100644 --- a/OpenSim/Data/SQLite/Properties/AssemblyInfo.cs +++ b/OpenSim/Data/SQLite/Properties/AssemblyInfo.cs @@ -61,5 +61,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: -[assembly : AssemblyVersion("0.7.5.*")] +[assembly : AssemblyVersion("0.7.6.*")] [assembly : AssemblyFileVersion("0.6.5.0")] diff --git a/OpenSim/Framework/AssemblyInfo.cs b/OpenSim/Framework/AssemblyInfo.cs index 02986d5d2a..b3db56c3ec 100644 --- a/OpenSim/Framework/AssemblyInfo.cs +++ b/OpenSim/Framework/AssemblyInfo.cs @@ -59,5 +59,5 @@ using System.Runtime.InteropServices; // Revision // -[assembly : AssemblyVersion("0.7.5.*")] +[assembly : AssemblyVersion("0.7.6.*")] [assembly : AssemblyFileVersion("0.6.5.0")] \ No newline at end of file diff --git a/OpenSim/Framework/AssetLoader/Filesystem/Properties/AssemblyInfo.cs b/OpenSim/Framework/AssetLoader/Filesystem/Properties/AssemblyInfo.cs index 0498ed4888..077244d4e6 100644 --- a/OpenSim/Framework/AssetLoader/Filesystem/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/AssetLoader/Filesystem/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Framework/Communications/Properties/AssemblyInfo.cs b/OpenSim/Framework/Communications/Properties/AssemblyInfo.cs index 6d1c03ad4b..cf575ac63b 100644 --- a/OpenSim/Framework/Communications/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/Communications/Properties/AssemblyInfo.cs @@ -61,5 +61,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: -[assembly : AssemblyVersion("0.7.5.*")] +[assembly : AssemblyVersion("0.7.6.*")] [assembly : AssemblyFileVersion("0.6.5.0")] diff --git a/OpenSim/Framework/Configuration/HTTP/Properties/AssemblyInfo.cs b/OpenSim/Framework/Configuration/HTTP/Properties/AssemblyInfo.cs index 0674656c75..c3b6227e9c 100644 --- a/OpenSim/Framework/Configuration/HTTP/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/Configuration/HTTP/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Framework/Configuration/XML/Properties/AssemblyInfo.cs b/OpenSim/Framework/Configuration/XML/Properties/AssemblyInfo.cs index 1095b232e2..b0d2d67424 100644 --- a/OpenSim/Framework/Configuration/XML/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/Configuration/XML/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Framework/Console/AssemblyInfo.cs b/OpenSim/Framework/Console/AssemblyInfo.cs index 37c7304424..c618454a7a 100644 --- a/OpenSim/Framework/Console/AssemblyInfo.cs +++ b/OpenSim/Framework/Console/AssemblyInfo.cs @@ -55,4 +55,4 @@ using System.Runtime.InteropServices; // You can specify all values by your own or you can build default build and revision // numbers with the '*' character (the default): -[assembly : AssemblyVersion("0.7.5.*")] +[assembly : AssemblyVersion("0.7.6.*")] diff --git a/OpenSim/Framework/Monitoring/Properties/AssemblyInfo.cs b/OpenSim/Framework/Monitoring/Properties/AssemblyInfo.cs index 1f2bb4087a..bb83db1d73 100644 --- a/OpenSim/Framework/Monitoring/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/Monitoring/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Framework/RegionLoader/Filesystem/Properties/AssemblyInfo.cs b/OpenSim/Framework/RegionLoader/Filesystem/Properties/AssemblyInfo.cs index d670f2f129..f836350fec 100644 --- a/OpenSim/Framework/RegionLoader/Filesystem/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/RegionLoader/Filesystem/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Framework/RegionLoader/Web/Properties/AssemblyInfo.cs b/OpenSim/Framework/RegionLoader/Web/Properties/AssemblyInfo.cs index 7309a12e88..72fa67981a 100644 --- a/OpenSim/Framework/RegionLoader/Web/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/RegionLoader/Web/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Framework/Serialization/Properties/AssemblyInfo.cs b/OpenSim/Framework/Serialization/Properties/AssemblyInfo.cs index 11efa4beb7..7a122dadbe 100644 --- a/OpenSim/Framework/Serialization/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/Serialization/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Framework/Servers/HttpServer/Properties/AssemblyInfo.cs b/OpenSim/Framework/Servers/HttpServer/Properties/AssemblyInfo.cs index 02ecc250a1..386be2de5c 100644 --- a/OpenSim/Framework/Servers/HttpServer/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/Servers/HttpServer/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Framework/Servers/Properties/AssemblyInfo.cs b/OpenSim/Framework/Servers/Properties/AssemblyInfo.cs index 021f63c632..792c62e2c7 100644 --- a/OpenSim/Framework/Servers/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/Servers/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/ClientStack/Linden/Caps/Properties/AssemblyInfo.cs b/OpenSim/Region/ClientStack/Linden/Caps/Properties/AssemblyInfo.cs index 060a61c472..d29a00174e 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/ClientStack/Linden/UDP/Properties/AssemblyInfo.cs b/OpenSim/Region/ClientStack/Linden/UDP/Properties/AssemblyInfo.cs index af2f6f8e84..8f9dad35ba 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/ClientStack/Properties/AssemblyInfo.cs b/OpenSim/Region/ClientStack/Properties/AssemblyInfo.cs index e72bd863a6..0b6ee2fcd0 100644 --- a/OpenSim/Region/ClientStack/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ClientStack/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/CoreModules/Properties/AssemblyInfo.cs b/OpenSim/Region/CoreModules/Properties/AssemblyInfo.cs index 5a8c4a2f34..f6353f913f 100644 --- a/OpenSim/Region/CoreModules/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/CoreModules/Properties/AssemblyInfo.cs @@ -30,7 +30,7 @@ using Mono.Addins; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: Addin("OpenSim.Region.CoreModules", "0.1")] diff --git a/OpenSim/Region/DataSnapshot/Properties/AssemblyInfo.cs b/OpenSim/Region/DataSnapshot/Properties/AssemblyInfo.cs index b92626461d..0f083c7b35 100644 --- a/OpenSim/Region/DataSnapshot/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/DataSnapshot/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/Framework/Properties/AssemblyInfo.cs b/OpenSim/Region/Framework/Properties/AssemblyInfo.cs index 9b504c0147..2a5828e072 100644 --- a/OpenSim/Region/Framework/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/Framework/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/OptionalModules/Properties/AssemblyInfo.cs b/OpenSim/Region/OptionalModules/Properties/AssemblyInfo.cs index 217b2d5556..00655312d1 100644 --- a/OpenSim/Region/OptionalModules/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/OptionalModules/Properties/AssemblyInfo.cs @@ -30,7 +30,7 @@ using Mono.Addins; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: Addin("OpenSim.Region.OptionalModules", "0.1")] diff --git a/OpenSim/Region/Physics/BasicPhysicsPlugin/AssemblyInfo.cs b/OpenSim/Region/Physics/BasicPhysicsPlugin/AssemblyInfo.cs index fb9cb66584..6fd6f7e1d5 100644 --- a/OpenSim/Region/Physics/BasicPhysicsPlugin/AssemblyInfo.cs +++ b/OpenSim/Region/Physics/BasicPhysicsPlugin/AssemblyInfo.cs @@ -55,4 +55,4 @@ using System.Runtime.InteropServices; // You can specify all values by your own or you can build default build and revision // numbers with the '*' character (the default): -[assembly : AssemblyVersion("0.7.5.*")] +[assembly : AssemblyVersion("0.7.6.*")] diff --git a/OpenSim/Region/Physics/BulletSPlugin/Properties/AssemblyInfo.cs b/OpenSim/Region/Physics/BulletSPlugin/Properties/AssemblyInfo.cs index 0d1db3bd7c..d240c71814 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/Physics/ConvexDecompositionDotNet/Properties/AssemblyInfo.cs b/OpenSim/Region/Physics/ConvexDecompositionDotNet/Properties/AssemblyInfo.cs index 5ff945d370..cafd7f41f5 100644 --- a/OpenSim/Region/Physics/ConvexDecompositionDotNet/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/Physics/ConvexDecompositionDotNet/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/Physics/Manager/AssemblyInfo.cs b/OpenSim/Region/Physics/Manager/AssemblyInfo.cs index 36b4235729..5da39564d9 100644 --- a/OpenSim/Region/Physics/Manager/AssemblyInfo.cs +++ b/OpenSim/Region/Physics/Manager/AssemblyInfo.cs @@ -55,4 +55,4 @@ using System.Runtime.InteropServices; // You can specify all values by your own or you can build default build and revision // numbers with the '*' character (the default): -[assembly : AssemblyVersion("0.7.5.*")] +[assembly : AssemblyVersion("0.7.6.*")] diff --git a/OpenSim/Region/Physics/Meshing/Properties/AssemblyInfo.cs b/OpenSim/Region/Physics/Meshing/Properties/AssemblyInfo.cs index 4cc17312e8..bd70296cb6 100644 --- a/OpenSim/Region/Physics/Meshing/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/Physics/Meshing/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/Physics/OdePlugin/AssemblyInfo.cs b/OpenSim/Region/Physics/OdePlugin/AssemblyInfo.cs index 3c4f06ad16..f477ed1119 100644 --- a/OpenSim/Region/Physics/OdePlugin/AssemblyInfo.cs +++ b/OpenSim/Region/Physics/OdePlugin/AssemblyInfo.cs @@ -55,4 +55,4 @@ using System.Runtime.InteropServices; // You can specify all values by your own or you can build default build and revision // numbers with the '*' character (the default): -[assembly : AssemblyVersion("0.7.5.*")] +[assembly : AssemblyVersion("0.7.6.*")] diff --git a/OpenSim/Region/Physics/POSPlugin/AssemblyInfo.cs b/OpenSim/Region/Physics/POSPlugin/AssemblyInfo.cs index d07df02e2b..4289863ffa 100644 --- a/OpenSim/Region/Physics/POSPlugin/AssemblyInfo.cs +++ b/OpenSim/Region/Physics/POSPlugin/AssemblyInfo.cs @@ -55,4 +55,4 @@ using System.Runtime.InteropServices; // You can specify all values by your own or you can build default build and revision // numbers with the '*' character (the default): -[assembly : AssemblyVersion("0.7.5.*")] +[assembly : AssemblyVersion("0.7.6.*")] diff --git a/OpenSim/Region/RegionCombinerModule/Properties/AssemblyInfo.cs b/OpenSim/Region/RegionCombinerModule/Properties/AssemblyInfo.cs index 085eb59e1b..ca945b579f 100644 --- a/OpenSim/Region/RegionCombinerModule/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/RegionCombinerModule/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Properties/AssemblyInfo.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Properties/AssemblyInfo.cs index d173db0ae9..3c01eecc89 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/Properties/AssemblyInfo.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/Properties/AssemblyInfo.cs index 573a80377f..b1825acb11 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/YieldProlog/Properties/AssemblyInfo.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/YieldProlog/Properties/AssemblyInfo.cs index f6d5d41040..342dbff3c8 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/YieldProlog/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/YieldProlog/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/ScriptEngine/Shared/CodeTools/Properties/AssemblyInfo.cs b/OpenSim/Region/ScriptEngine/Shared/CodeTools/Properties/AssemblyInfo.cs index c65caa872d..fd37753eb0 100644 --- a/OpenSim/Region/ScriptEngine/Shared/CodeTools/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ScriptEngine/Shared/CodeTools/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/ScriptEngine/Shared/Instance/Properties/AssemblyInfo.cs b/OpenSim/Region/ScriptEngine/Shared/Instance/Properties/AssemblyInfo.cs index 470e1a1842..74747a2435 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Instance/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Instance/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/ScriptEngine/Shared/Properties/AssemblyInfo.cs b/OpenSim/Region/ScriptEngine/Shared/Properties/AssemblyInfo.cs index e6e8777ed2..d08b0a6388 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/ScriptEngine/XEngine/Properties/AssemblyInfo.cs b/OpenSim/Region/ScriptEngine/XEngine/Properties/AssemblyInfo.cs index bd26a8b61b..a8871715a1 100644 --- a/OpenSim/Region/ScriptEngine/XEngine/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ScriptEngine/XEngine/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/UserStatistics/Properties/AssemblyInfo.cs b/OpenSim/Region/UserStatistics/Properties/AssemblyInfo.cs index 100cf99d9e..caa6d4e2a0 100644 --- a/OpenSim/Region/UserStatistics/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/UserStatistics/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Server/Base/Properties/AssemblyInfo.cs b/OpenSim/Server/Base/Properties/AssemblyInfo.cs index 4bbe358258..8b4556418e 100644 --- a/OpenSim/Server/Base/Properties/AssemblyInfo.cs +++ b/OpenSim/Server/Base/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Server/Handlers/Properties/AssemblyInfo.cs b/OpenSim/Server/Handlers/Properties/AssemblyInfo.cs index 53e9737def..d72d36a091 100644 --- a/OpenSim/Server/Handlers/Properties/AssemblyInfo.cs +++ b/OpenSim/Server/Handlers/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Server/Properties/AssemblyInfo.cs b/OpenSim/Server/Properties/AssemblyInfo.cs index ebc10fbcf5..ee45e10a49 100644 --- a/OpenSim/Server/Properties/AssemblyInfo.cs +++ b/OpenSim/Server/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/AssetService/Properties/AssemblyInfo.cs b/OpenSim/Services/AssetService/Properties/AssemblyInfo.cs index 15094001f2..b57052c4d7 100644 --- a/OpenSim/Services/AssetService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/AssetService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/AuthenticationService/Properties/AssemblyInfo.cs b/OpenSim/Services/AuthenticationService/Properties/AssemblyInfo.cs index 0eb2ba71eb..99c46ecb33 100644 --- a/OpenSim/Services/AuthenticationService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/AuthenticationService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/AuthorizationService/Properties/AssemblyInfo.cs b/OpenSim/Services/AuthorizationService/Properties/AssemblyInfo.cs index 6d6b11e42b..33e48d3c3c 100644 --- a/OpenSim/Services/AuthorizationService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/AuthorizationService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/AvatarService/Properties/AssemblyInfo.cs b/OpenSim/Services/AvatarService/Properties/AssemblyInfo.cs index 0944149c5f..8b0214a536 100644 --- a/OpenSim/Services/AvatarService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/AvatarService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/Base/Properties/AssemblyInfo.cs b/OpenSim/Services/Base/Properties/AssemblyInfo.cs index 306b699d4b..2825a8865e 100644 --- a/OpenSim/Services/Base/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/Base/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/Connectors/Properties/AssemblyInfo.cs b/OpenSim/Services/Connectors/Properties/AssemblyInfo.cs index bfb681b4cd..73fc72c5a6 100644 --- a/OpenSim/Services/Connectors/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/Connectors/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/FreeswitchService/Properties/AssemblyInfo.cs b/OpenSim/Services/FreeswitchService/Properties/AssemblyInfo.cs index 58c7283505..fdd4b694f5 100644 --- a/OpenSim/Services/FreeswitchService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/FreeswitchService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/Friends/Properties/AssemblyInfo.cs b/OpenSim/Services/Friends/Properties/AssemblyInfo.cs index dddb091248..cb624f03db 100644 --- a/OpenSim/Services/Friends/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/Friends/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/GridService/Properties/AssemblyInfo.cs b/OpenSim/Services/GridService/Properties/AssemblyInfo.cs index 5c0c8f4e85..09084d328d 100644 --- a/OpenSim/Services/GridService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/GridService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/HypergridService/Properties/AssemblyInfo.cs b/OpenSim/Services/HypergridService/Properties/AssemblyInfo.cs index 49f21769bd..fe1889d06f 100644 --- a/OpenSim/Services/HypergridService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/HypergridService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/Interfaces/Properties/AssemblyInfo.cs b/OpenSim/Services/Interfaces/Properties/AssemblyInfo.cs index 4723553dd1..669e0b889c 100644 --- a/OpenSim/Services/Interfaces/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/Interfaces/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/InventoryService/Properties/AssemblyInfo.cs b/OpenSim/Services/InventoryService/Properties/AssemblyInfo.cs index 41ad9f84c4..0870065ff3 100644 --- a/OpenSim/Services/InventoryService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/InventoryService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/LLLoginService/Properties/AssemblyInfo.cs b/OpenSim/Services/LLLoginService/Properties/AssemblyInfo.cs index 62c6e0ff81..3ac8af7a1f 100644 --- a/OpenSim/Services/LLLoginService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/LLLoginService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/MapImageService/Properties/AssemblyInfo.cs b/OpenSim/Services/MapImageService/Properties/AssemblyInfo.cs index 23eb6644de..69adf73a37 100644 --- a/OpenSim/Services/MapImageService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/MapImageService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/PresenceService/Properties/AssemblyInfo.cs b/OpenSim/Services/PresenceService/Properties/AssemblyInfo.cs index 8c03dd7892..040bbe0640 100644 --- a/OpenSim/Services/PresenceService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/PresenceService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/UserAccountService/Properties/AssemblyInfo.cs b/OpenSim/Services/UserAccountService/Properties/AssemblyInfo.cs index 24e1d16750..576ccce768 100644 --- a/OpenSim/Services/UserAccountService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/UserAccountService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs b/OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs index e1a1fda568..b98e2d2712 100644 --- a/OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs +++ b/OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Tools/Configger/Properties/AssemblyInfo.cs b/OpenSim/Tools/Configger/Properties/AssemblyInfo.cs index 62a2f2d8ec..89aafa3b57 100644 --- a/OpenSim/Tools/Configger/Properties/AssemblyInfo.cs +++ b/OpenSim/Tools/Configger/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs b/OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs index 20598f1b60..c4d278a2e7 100644 --- a/OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs +++ b/OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] From 0d0bfa4dcd2fe61a489abc39e53755762d759490 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Sat, 2 Feb 2013 03:02:04 +0000 Subject: [PATCH 480/851] minor: change comment about assuming script references are textures in UuidGatherer since this is no longer the behaviour. --- OpenSim/Region/Framework/Scenes/UuidGatherer.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/Framework/Scenes/UuidGatherer.cs b/OpenSim/Region/Framework/Scenes/UuidGatherer.cs index c7cec41676..ad33607139 100644 --- a/OpenSim/Region/Framework/Scenes/UuidGatherer.cs +++ b/OpenSim/Region/Framework/Scenes/UuidGatherer.cs @@ -264,7 +264,8 @@ namespace OpenSim.Region.Framework.Scenes UUID uuid = new UUID(uuidMatch.Value); // m_log.DebugFormat("[ARCHIVER]: Recording {0} in text", uuid); - // Assume AssetIDs embedded are textures. + // Embedded asset references (if not false positives) could be for many types of asset, so we will + // label these as unknown. assetUuids[uuid] = AssetType.Unknown; } } From 0ab68f6c31c5540789bbd8311b4a87678e0276d3 Mon Sep 17 00:00:00 2001 From: BlueWall Date: Fri, 1 Feb 2013 23:13:33 -0500 Subject: [PATCH 481/851] Revert "Update assembly version numbers" This reverts commit 141ad829f448b9138b12be7cf99c834c1f3977ec. --- .../ApplicationPlugins/LoadRegions/Properties/AssemblyInfo.cs | 4 ++-- .../RegionModulesController/Properties/AssemblyInfo.cs | 2 +- .../RemoteController/Properties/AssemblyInfo.cs | 2 +- OpenSim/Capabilities/Handlers/Properties/AssemblyInfo.cs | 2 +- OpenSim/Capabilities/Properties/AssemblyInfo.cs | 2 +- OpenSim/ConsoleClient/Properties/AssemblyInfo.cs | 2 +- OpenSim/Data/MSSQL/Properties/AssemblyInfo.cs | 2 +- OpenSim/Data/MySQL/Properties/AssemblyInfo.cs | 2 +- OpenSim/Data/Null/Properties/AssemblyInfo.cs | 2 +- OpenSim/Data/Properties/AssemblyInfo.cs | 2 +- OpenSim/Data/SQLite/Properties/AssemblyInfo.cs | 2 +- OpenSim/Framework/AssemblyInfo.cs | 2 +- .../AssetLoader/Filesystem/Properties/AssemblyInfo.cs | 2 +- OpenSim/Framework/Communications/Properties/AssemblyInfo.cs | 2 +- .../Framework/Configuration/HTTP/Properties/AssemblyInfo.cs | 2 +- .../Framework/Configuration/XML/Properties/AssemblyInfo.cs | 2 +- OpenSim/Framework/Console/AssemblyInfo.cs | 2 +- OpenSim/Framework/Monitoring/Properties/AssemblyInfo.cs | 2 +- .../RegionLoader/Filesystem/Properties/AssemblyInfo.cs | 2 +- OpenSim/Framework/RegionLoader/Web/Properties/AssemblyInfo.cs | 2 +- OpenSim/Framework/Serialization/Properties/AssemblyInfo.cs | 2 +- .../Framework/Servers/HttpServer/Properties/AssemblyInfo.cs | 2 +- OpenSim/Framework/Servers/Properties/AssemblyInfo.cs | 2 +- .../Region/ClientStack/Linden/Caps/Properties/AssemblyInfo.cs | 2 +- .../Region/ClientStack/Linden/UDP/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/ClientStack/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/CoreModules/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/DataSnapshot/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/Framework/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/OptionalModules/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/Physics/BasicPhysicsPlugin/AssemblyInfo.cs | 2 +- .../Region/Physics/BulletSPlugin/Properties/AssemblyInfo.cs | 2 +- .../ConvexDecompositionDotNet/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/Physics/Manager/AssemblyInfo.cs | 2 +- OpenSim/Region/Physics/Meshing/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/Physics/OdePlugin/AssemblyInfo.cs | 2 +- OpenSim/Region/Physics/POSPlugin/AssemblyInfo.cs | 2 +- .../Region/RegionCombinerModule/Properties/AssemblyInfo.cs | 2 +- .../Shared/Api/Implementation/Properties/AssemblyInfo.cs | 2 +- .../Shared/Api/Runtime/Properties/AssemblyInfo.cs | 2 +- .../Shared/Api/Runtime/YieldProlog/Properties/AssemblyInfo.cs | 2 +- .../ScriptEngine/Shared/CodeTools/Properties/AssemblyInfo.cs | 2 +- .../ScriptEngine/Shared/Instance/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/ScriptEngine/Shared/Properties/AssemblyInfo.cs | 2 +- .../Region/ScriptEngine/XEngine/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/UserStatistics/Properties/AssemblyInfo.cs | 2 +- OpenSim/Server/Base/Properties/AssemblyInfo.cs | 2 +- OpenSim/Server/Handlers/Properties/AssemblyInfo.cs | 2 +- OpenSim/Server/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/AssetService/Properties/AssemblyInfo.cs | 2 +- .../Services/AuthenticationService/Properties/AssemblyInfo.cs | 2 +- .../Services/AuthorizationService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/AvatarService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/Base/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/Connectors/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/FreeswitchService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/Friends/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/GridService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/HypergridService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/Interfaces/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/InventoryService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/LLLoginService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/MapImageService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/PresenceService/Properties/AssemblyInfo.cs | 2 +- .../Services/UserAccountService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs | 2 +- OpenSim/Tools/Configger/Properties/AssemblyInfo.cs | 2 +- OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs | 2 +- 68 files changed, 69 insertions(+), 69 deletions(-) diff --git a/OpenSim/ApplicationPlugins/LoadRegions/Properties/AssemblyInfo.cs b/OpenSim/ApplicationPlugins/LoadRegions/Properties/AssemblyInfo.cs index b81c1e5f28..57615ea2d3 100644 --- a/OpenSim/ApplicationPlugins/LoadRegions/Properties/AssemblyInfo.cs +++ b/OpenSim/ApplicationPlugins/LoadRegions/Properties/AssemblyInfo.cs @@ -60,7 +60,7 @@ using System.Runtime.InteropServices; // // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: -// [assembly: AssemblyVersion("0.7.6.*")] +// [assembly: AssemblyVersion("0.7.5.*")] -[assembly : AssemblyVersion("0.7.6.*")] +[assembly : AssemblyVersion("0.7.5.*")] [assembly : AssemblyFileVersion("0.6.5.0")] \ No newline at end of file diff --git a/OpenSim/ApplicationPlugins/RegionModulesController/Properties/AssemblyInfo.cs b/OpenSim/ApplicationPlugins/RegionModulesController/Properties/AssemblyInfo.cs index be6054d150..14527d9ea9 100644 --- a/OpenSim/ApplicationPlugins/RegionModulesController/Properties/AssemblyInfo.cs +++ b/OpenSim/ApplicationPlugins/RegionModulesController/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/ApplicationPlugins/RemoteController/Properties/AssemblyInfo.cs b/OpenSim/ApplicationPlugins/RemoteController/Properties/AssemblyInfo.cs index 3ec7a13883..8ad948c9bd 100644 --- a/OpenSim/ApplicationPlugins/RemoteController/Properties/AssemblyInfo.cs +++ b/OpenSim/ApplicationPlugins/RemoteController/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Capabilities/Handlers/Properties/AssemblyInfo.cs b/OpenSim/Capabilities/Handlers/Properties/AssemblyInfo.cs index 4ff5fe1d9a..a681fb643f 100644 --- a/OpenSim/Capabilities/Handlers/Properties/AssemblyInfo.cs +++ b/OpenSim/Capabilities/Handlers/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Capabilities/Properties/AssemblyInfo.cs b/OpenSim/Capabilities/Properties/AssemblyInfo.cs index f8a9daeac0..26254f2fcf 100644 --- a/OpenSim/Capabilities/Properties/AssemblyInfo.cs +++ b/OpenSim/Capabilities/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/ConsoleClient/Properties/AssemblyInfo.cs b/OpenSim/ConsoleClient/Properties/AssemblyInfo.cs index 9c0c784838..c240f90ca3 100644 --- a/OpenSim/ConsoleClient/Properties/AssemblyInfo.cs +++ b/OpenSim/ConsoleClient/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Data/MSSQL/Properties/AssemblyInfo.cs b/OpenSim/Data/MSSQL/Properties/AssemblyInfo.cs index 4e96be8da4..1a67e704e5 100644 --- a/OpenSim/Data/MSSQL/Properties/AssemblyInfo.cs +++ b/OpenSim/Data/MSSQL/Properties/AssemblyInfo.cs @@ -61,5 +61,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: -[assembly : AssemblyVersion("0.7.6.*")] +[assembly : AssemblyVersion("0.7.5.*")] [assembly : AssemblyFileVersion("0.6.5.0")] diff --git a/OpenSim/Data/MySQL/Properties/AssemblyInfo.cs b/OpenSim/Data/MySQL/Properties/AssemblyInfo.cs index 7bfa28dd39..ab3fe36e52 100644 --- a/OpenSim/Data/MySQL/Properties/AssemblyInfo.cs +++ b/OpenSim/Data/MySQL/Properties/AssemblyInfo.cs @@ -61,5 +61,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: -[assembly : AssemblyVersion("0.7.6.*")] +[assembly : AssemblyVersion("0.7.5.*")] [assembly : AssemblyFileVersion("0.6.5.0")] diff --git a/OpenSim/Data/Null/Properties/AssemblyInfo.cs b/OpenSim/Data/Null/Properties/AssemblyInfo.cs index 3931b3dab8..43b0bb3214 100644 --- a/OpenSim/Data/Null/Properties/AssemblyInfo.cs +++ b/OpenSim/Data/Null/Properties/AssemblyInfo.cs @@ -61,5 +61,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: -[assembly : AssemblyVersion("0.7.6.*")] +[assembly : AssemblyVersion("0.7.5.*")] [assembly : AssemblyFileVersion("0.6.5.0")] diff --git a/OpenSim/Data/Properties/AssemblyInfo.cs b/OpenSim/Data/Properties/AssemblyInfo.cs index 9f342ad571..0da1a6b799 100644 --- a/OpenSim/Data/Properties/AssemblyInfo.cs +++ b/OpenSim/Data/Properties/AssemblyInfo.cs @@ -61,5 +61,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: -[assembly : AssemblyVersion("0.7.6.*")] +[assembly : AssemblyVersion("0.7.5.*")] [assembly : AssemblyFileVersion("0.6.5.0")] diff --git a/OpenSim/Data/SQLite/Properties/AssemblyInfo.cs b/OpenSim/Data/SQLite/Properties/AssemblyInfo.cs index ba52f8258b..c9a8553de6 100644 --- a/OpenSim/Data/SQLite/Properties/AssemblyInfo.cs +++ b/OpenSim/Data/SQLite/Properties/AssemblyInfo.cs @@ -61,5 +61,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: -[assembly : AssemblyVersion("0.7.6.*")] +[assembly : AssemblyVersion("0.7.5.*")] [assembly : AssemblyFileVersion("0.6.5.0")] diff --git a/OpenSim/Framework/AssemblyInfo.cs b/OpenSim/Framework/AssemblyInfo.cs index b3db56c3ec..02986d5d2a 100644 --- a/OpenSim/Framework/AssemblyInfo.cs +++ b/OpenSim/Framework/AssemblyInfo.cs @@ -59,5 +59,5 @@ using System.Runtime.InteropServices; // Revision // -[assembly : AssemblyVersion("0.7.6.*")] +[assembly : AssemblyVersion("0.7.5.*")] [assembly : AssemblyFileVersion("0.6.5.0")] \ No newline at end of file diff --git a/OpenSim/Framework/AssetLoader/Filesystem/Properties/AssemblyInfo.cs b/OpenSim/Framework/AssetLoader/Filesystem/Properties/AssemblyInfo.cs index 077244d4e6..0498ed4888 100644 --- a/OpenSim/Framework/AssetLoader/Filesystem/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/AssetLoader/Filesystem/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Framework/Communications/Properties/AssemblyInfo.cs b/OpenSim/Framework/Communications/Properties/AssemblyInfo.cs index cf575ac63b..6d1c03ad4b 100644 --- a/OpenSim/Framework/Communications/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/Communications/Properties/AssemblyInfo.cs @@ -61,5 +61,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: -[assembly : AssemblyVersion("0.7.6.*")] +[assembly : AssemblyVersion("0.7.5.*")] [assembly : AssemblyFileVersion("0.6.5.0")] diff --git a/OpenSim/Framework/Configuration/HTTP/Properties/AssemblyInfo.cs b/OpenSim/Framework/Configuration/HTTP/Properties/AssemblyInfo.cs index c3b6227e9c..0674656c75 100644 --- a/OpenSim/Framework/Configuration/HTTP/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/Configuration/HTTP/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Framework/Configuration/XML/Properties/AssemblyInfo.cs b/OpenSim/Framework/Configuration/XML/Properties/AssemblyInfo.cs index b0d2d67424..1095b232e2 100644 --- a/OpenSim/Framework/Configuration/XML/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/Configuration/XML/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Framework/Console/AssemblyInfo.cs b/OpenSim/Framework/Console/AssemblyInfo.cs index c618454a7a..37c7304424 100644 --- a/OpenSim/Framework/Console/AssemblyInfo.cs +++ b/OpenSim/Framework/Console/AssemblyInfo.cs @@ -55,4 +55,4 @@ using System.Runtime.InteropServices; // You can specify all values by your own or you can build default build and revision // numbers with the '*' character (the default): -[assembly : AssemblyVersion("0.7.6.*")] +[assembly : AssemblyVersion("0.7.5.*")] diff --git a/OpenSim/Framework/Monitoring/Properties/AssemblyInfo.cs b/OpenSim/Framework/Monitoring/Properties/AssemblyInfo.cs index bb83db1d73..1f2bb4087a 100644 --- a/OpenSim/Framework/Monitoring/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/Monitoring/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Framework/RegionLoader/Filesystem/Properties/AssemblyInfo.cs b/OpenSim/Framework/RegionLoader/Filesystem/Properties/AssemblyInfo.cs index f836350fec..d670f2f129 100644 --- a/OpenSim/Framework/RegionLoader/Filesystem/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/RegionLoader/Filesystem/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Framework/RegionLoader/Web/Properties/AssemblyInfo.cs b/OpenSim/Framework/RegionLoader/Web/Properties/AssemblyInfo.cs index 72fa67981a..7309a12e88 100644 --- a/OpenSim/Framework/RegionLoader/Web/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/RegionLoader/Web/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Framework/Serialization/Properties/AssemblyInfo.cs b/OpenSim/Framework/Serialization/Properties/AssemblyInfo.cs index 7a122dadbe..11efa4beb7 100644 --- a/OpenSim/Framework/Serialization/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/Serialization/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Framework/Servers/HttpServer/Properties/AssemblyInfo.cs b/OpenSim/Framework/Servers/HttpServer/Properties/AssemblyInfo.cs index 386be2de5c..02ecc250a1 100644 --- a/OpenSim/Framework/Servers/HttpServer/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/Servers/HttpServer/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Framework/Servers/Properties/AssemblyInfo.cs b/OpenSim/Framework/Servers/Properties/AssemblyInfo.cs index 792c62e2c7..021f63c632 100644 --- a/OpenSim/Framework/Servers/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/Servers/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/ClientStack/Linden/Caps/Properties/AssemblyInfo.cs b/OpenSim/Region/ClientStack/Linden/Caps/Properties/AssemblyInfo.cs index d29a00174e..060a61c472 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/ClientStack/Linden/UDP/Properties/AssemblyInfo.cs b/OpenSim/Region/ClientStack/Linden/UDP/Properties/AssemblyInfo.cs index 8f9dad35ba..af2f6f8e84 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/ClientStack/Properties/AssemblyInfo.cs b/OpenSim/Region/ClientStack/Properties/AssemblyInfo.cs index 0b6ee2fcd0..e72bd863a6 100644 --- a/OpenSim/Region/ClientStack/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ClientStack/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/CoreModules/Properties/AssemblyInfo.cs b/OpenSim/Region/CoreModules/Properties/AssemblyInfo.cs index f6353f913f..5a8c4a2f34 100644 --- a/OpenSim/Region/CoreModules/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/CoreModules/Properties/AssemblyInfo.cs @@ -30,7 +30,7 @@ using Mono.Addins; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: Addin("OpenSim.Region.CoreModules", "0.1")] diff --git a/OpenSim/Region/DataSnapshot/Properties/AssemblyInfo.cs b/OpenSim/Region/DataSnapshot/Properties/AssemblyInfo.cs index 0f083c7b35..b92626461d 100644 --- a/OpenSim/Region/DataSnapshot/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/DataSnapshot/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/Framework/Properties/AssemblyInfo.cs b/OpenSim/Region/Framework/Properties/AssemblyInfo.cs index 2a5828e072..9b504c0147 100644 --- a/OpenSim/Region/Framework/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/Framework/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/OptionalModules/Properties/AssemblyInfo.cs b/OpenSim/Region/OptionalModules/Properties/AssemblyInfo.cs index 00655312d1..217b2d5556 100644 --- a/OpenSim/Region/OptionalModules/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/OptionalModules/Properties/AssemblyInfo.cs @@ -30,7 +30,7 @@ using Mono.Addins; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: Addin("OpenSim.Region.OptionalModules", "0.1")] diff --git a/OpenSim/Region/Physics/BasicPhysicsPlugin/AssemblyInfo.cs b/OpenSim/Region/Physics/BasicPhysicsPlugin/AssemblyInfo.cs index 6fd6f7e1d5..fb9cb66584 100644 --- a/OpenSim/Region/Physics/BasicPhysicsPlugin/AssemblyInfo.cs +++ b/OpenSim/Region/Physics/BasicPhysicsPlugin/AssemblyInfo.cs @@ -55,4 +55,4 @@ using System.Runtime.InteropServices; // You can specify all values by your own or you can build default build and revision // numbers with the '*' character (the default): -[assembly : AssemblyVersion("0.7.6.*")] +[assembly : AssemblyVersion("0.7.5.*")] diff --git a/OpenSim/Region/Physics/BulletSPlugin/Properties/AssemblyInfo.cs b/OpenSim/Region/Physics/BulletSPlugin/Properties/AssemblyInfo.cs index d240c71814..0d1db3bd7c 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/Physics/ConvexDecompositionDotNet/Properties/AssemblyInfo.cs b/OpenSim/Region/Physics/ConvexDecompositionDotNet/Properties/AssemblyInfo.cs index cafd7f41f5..5ff945d370 100644 --- a/OpenSim/Region/Physics/ConvexDecompositionDotNet/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/Physics/ConvexDecompositionDotNet/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/Physics/Manager/AssemblyInfo.cs b/OpenSim/Region/Physics/Manager/AssemblyInfo.cs index 5da39564d9..36b4235729 100644 --- a/OpenSim/Region/Physics/Manager/AssemblyInfo.cs +++ b/OpenSim/Region/Physics/Manager/AssemblyInfo.cs @@ -55,4 +55,4 @@ using System.Runtime.InteropServices; // You can specify all values by your own or you can build default build and revision // numbers with the '*' character (the default): -[assembly : AssemblyVersion("0.7.6.*")] +[assembly : AssemblyVersion("0.7.5.*")] diff --git a/OpenSim/Region/Physics/Meshing/Properties/AssemblyInfo.cs b/OpenSim/Region/Physics/Meshing/Properties/AssemblyInfo.cs index bd70296cb6..4cc17312e8 100644 --- a/OpenSim/Region/Physics/Meshing/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/Physics/Meshing/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/Physics/OdePlugin/AssemblyInfo.cs b/OpenSim/Region/Physics/OdePlugin/AssemblyInfo.cs index f477ed1119..3c4f06ad16 100644 --- a/OpenSim/Region/Physics/OdePlugin/AssemblyInfo.cs +++ b/OpenSim/Region/Physics/OdePlugin/AssemblyInfo.cs @@ -55,4 +55,4 @@ using System.Runtime.InteropServices; // You can specify all values by your own or you can build default build and revision // numbers with the '*' character (the default): -[assembly : AssemblyVersion("0.7.6.*")] +[assembly : AssemblyVersion("0.7.5.*")] diff --git a/OpenSim/Region/Physics/POSPlugin/AssemblyInfo.cs b/OpenSim/Region/Physics/POSPlugin/AssemblyInfo.cs index 4289863ffa..d07df02e2b 100644 --- a/OpenSim/Region/Physics/POSPlugin/AssemblyInfo.cs +++ b/OpenSim/Region/Physics/POSPlugin/AssemblyInfo.cs @@ -55,4 +55,4 @@ using System.Runtime.InteropServices; // You can specify all values by your own or you can build default build and revision // numbers with the '*' character (the default): -[assembly : AssemblyVersion("0.7.6.*")] +[assembly : AssemblyVersion("0.7.5.*")] diff --git a/OpenSim/Region/RegionCombinerModule/Properties/AssemblyInfo.cs b/OpenSim/Region/RegionCombinerModule/Properties/AssemblyInfo.cs index ca945b579f..085eb59e1b 100644 --- a/OpenSim/Region/RegionCombinerModule/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/RegionCombinerModule/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Properties/AssemblyInfo.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Properties/AssemblyInfo.cs index 3c01eecc89..d173db0ae9 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/Properties/AssemblyInfo.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/Properties/AssemblyInfo.cs index b1825acb11..573a80377f 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/YieldProlog/Properties/AssemblyInfo.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/YieldProlog/Properties/AssemblyInfo.cs index 342dbff3c8..f6d5d41040 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/YieldProlog/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/YieldProlog/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/ScriptEngine/Shared/CodeTools/Properties/AssemblyInfo.cs b/OpenSim/Region/ScriptEngine/Shared/CodeTools/Properties/AssemblyInfo.cs index fd37753eb0..c65caa872d 100644 --- a/OpenSim/Region/ScriptEngine/Shared/CodeTools/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ScriptEngine/Shared/CodeTools/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/ScriptEngine/Shared/Instance/Properties/AssemblyInfo.cs b/OpenSim/Region/ScriptEngine/Shared/Instance/Properties/AssemblyInfo.cs index 74747a2435..470e1a1842 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Instance/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Instance/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/ScriptEngine/Shared/Properties/AssemblyInfo.cs b/OpenSim/Region/ScriptEngine/Shared/Properties/AssemblyInfo.cs index d08b0a6388..e6e8777ed2 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/ScriptEngine/XEngine/Properties/AssemblyInfo.cs b/OpenSim/Region/ScriptEngine/XEngine/Properties/AssemblyInfo.cs index a8871715a1..bd26a8b61b 100644 --- a/OpenSim/Region/ScriptEngine/XEngine/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ScriptEngine/XEngine/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/UserStatistics/Properties/AssemblyInfo.cs b/OpenSim/Region/UserStatistics/Properties/AssemblyInfo.cs index caa6d4e2a0..100cf99d9e 100644 --- a/OpenSim/Region/UserStatistics/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/UserStatistics/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Server/Base/Properties/AssemblyInfo.cs b/OpenSim/Server/Base/Properties/AssemblyInfo.cs index 8b4556418e..4bbe358258 100644 --- a/OpenSim/Server/Base/Properties/AssemblyInfo.cs +++ b/OpenSim/Server/Base/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Server/Handlers/Properties/AssemblyInfo.cs b/OpenSim/Server/Handlers/Properties/AssemblyInfo.cs index d72d36a091..53e9737def 100644 --- a/OpenSim/Server/Handlers/Properties/AssemblyInfo.cs +++ b/OpenSim/Server/Handlers/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Server/Properties/AssemblyInfo.cs b/OpenSim/Server/Properties/AssemblyInfo.cs index ee45e10a49..ebc10fbcf5 100644 --- a/OpenSim/Server/Properties/AssemblyInfo.cs +++ b/OpenSim/Server/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/AssetService/Properties/AssemblyInfo.cs b/OpenSim/Services/AssetService/Properties/AssemblyInfo.cs index b57052c4d7..15094001f2 100644 --- a/OpenSim/Services/AssetService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/AssetService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/AuthenticationService/Properties/AssemblyInfo.cs b/OpenSim/Services/AuthenticationService/Properties/AssemblyInfo.cs index 99c46ecb33..0eb2ba71eb 100644 --- a/OpenSim/Services/AuthenticationService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/AuthenticationService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/AuthorizationService/Properties/AssemblyInfo.cs b/OpenSim/Services/AuthorizationService/Properties/AssemblyInfo.cs index 33e48d3c3c..6d6b11e42b 100644 --- a/OpenSim/Services/AuthorizationService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/AuthorizationService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/AvatarService/Properties/AssemblyInfo.cs b/OpenSim/Services/AvatarService/Properties/AssemblyInfo.cs index 8b0214a536..0944149c5f 100644 --- a/OpenSim/Services/AvatarService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/AvatarService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/Base/Properties/AssemblyInfo.cs b/OpenSim/Services/Base/Properties/AssemblyInfo.cs index 2825a8865e..306b699d4b 100644 --- a/OpenSim/Services/Base/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/Base/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/Connectors/Properties/AssemblyInfo.cs b/OpenSim/Services/Connectors/Properties/AssemblyInfo.cs index 73fc72c5a6..bfb681b4cd 100644 --- a/OpenSim/Services/Connectors/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/Connectors/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/FreeswitchService/Properties/AssemblyInfo.cs b/OpenSim/Services/FreeswitchService/Properties/AssemblyInfo.cs index fdd4b694f5..58c7283505 100644 --- a/OpenSim/Services/FreeswitchService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/FreeswitchService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/Friends/Properties/AssemblyInfo.cs b/OpenSim/Services/Friends/Properties/AssemblyInfo.cs index cb624f03db..dddb091248 100644 --- a/OpenSim/Services/Friends/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/Friends/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/GridService/Properties/AssemblyInfo.cs b/OpenSim/Services/GridService/Properties/AssemblyInfo.cs index 09084d328d..5c0c8f4e85 100644 --- a/OpenSim/Services/GridService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/GridService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/HypergridService/Properties/AssemblyInfo.cs b/OpenSim/Services/HypergridService/Properties/AssemblyInfo.cs index fe1889d06f..49f21769bd 100644 --- a/OpenSim/Services/HypergridService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/HypergridService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/Interfaces/Properties/AssemblyInfo.cs b/OpenSim/Services/Interfaces/Properties/AssemblyInfo.cs index 669e0b889c..4723553dd1 100644 --- a/OpenSim/Services/Interfaces/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/Interfaces/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/InventoryService/Properties/AssemblyInfo.cs b/OpenSim/Services/InventoryService/Properties/AssemblyInfo.cs index 0870065ff3..41ad9f84c4 100644 --- a/OpenSim/Services/InventoryService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/InventoryService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/LLLoginService/Properties/AssemblyInfo.cs b/OpenSim/Services/LLLoginService/Properties/AssemblyInfo.cs index 3ac8af7a1f..62c6e0ff81 100644 --- a/OpenSim/Services/LLLoginService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/LLLoginService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/MapImageService/Properties/AssemblyInfo.cs b/OpenSim/Services/MapImageService/Properties/AssemblyInfo.cs index 69adf73a37..23eb6644de 100644 --- a/OpenSim/Services/MapImageService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/MapImageService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/PresenceService/Properties/AssemblyInfo.cs b/OpenSim/Services/PresenceService/Properties/AssemblyInfo.cs index 040bbe0640..8c03dd7892 100644 --- a/OpenSim/Services/PresenceService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/PresenceService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/UserAccountService/Properties/AssemblyInfo.cs b/OpenSim/Services/UserAccountService/Properties/AssemblyInfo.cs index 576ccce768..24e1d16750 100644 --- a/OpenSim/Services/UserAccountService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/UserAccountService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs b/OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs index b98e2d2712..e1a1fda568 100644 --- a/OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs +++ b/OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Tools/Configger/Properties/AssemblyInfo.cs b/OpenSim/Tools/Configger/Properties/AssemblyInfo.cs index 89aafa3b57..62a2f2d8ec 100644 --- a/OpenSim/Tools/Configger/Properties/AssemblyInfo.cs +++ b/OpenSim/Tools/Configger/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs b/OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs index c4d278a2e7..20598f1b60 100644 --- a/OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs +++ b/OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.6.*")] +[assembly: AssemblyVersion("0.7.5.*")] [assembly: AssemblyFileVersion("1.0.0.0")] From 27a0b3ecbdcf248b331742c7b2771d2a87dc8c3a Mon Sep 17 00:00:00 2001 From: teravus Date: Sun, 3 Feb 2013 06:49:17 -0500 Subject: [PATCH 482/851] Commit 1 in of this branch feature. This is one of many... --- .../TCPJSONStream/ClientAcceptedEventArgs.cs | 50 ++++++ .../TCPJSONStream/ClientNetworkContext.cs | 143 +++++++++++++++ .../TCPJSONStream/DisconnectedEventArgs.cs | 17 ++ .../TCPJSONStream/OpenSimWebSocketBase.cs | 73 ++++++++ .../TCPJSONStream/TCPJsonWebSocketServer.cs | 163 ++++++++++++++++++ prebuild.xml | 45 +++++ 6 files changed, 491 insertions(+) create mode 100644 OpenSim/Region/ClientStack/TCPJSONStream/ClientAcceptedEventArgs.cs create mode 100644 OpenSim/Region/ClientStack/TCPJSONStream/ClientNetworkContext.cs create mode 100644 OpenSim/Region/ClientStack/TCPJSONStream/DisconnectedEventArgs.cs create mode 100644 OpenSim/Region/ClientStack/TCPJSONStream/OpenSimWebSocketBase.cs create mode 100644 OpenSim/Region/ClientStack/TCPJSONStream/TCPJsonWebSocketServer.cs diff --git a/OpenSim/Region/ClientStack/TCPJSONStream/ClientAcceptedEventArgs.cs b/OpenSim/Region/ClientStack/TCPJSONStream/ClientAcceptedEventArgs.cs new file mode 100644 index 0000000000..a58eab13cc --- /dev/null +++ b/OpenSim/Region/ClientStack/TCPJSONStream/ClientAcceptedEventArgs.cs @@ -0,0 +1,50 @@ +using System; +using System.Net.Sockets; + +namespace OpenSim.Region.ClientStack.TCPJSONStream +{ + /// + /// Invoked when a client have been accepted by the + /// + /// + /// Can be used to revoke incoming connections + /// + public class ClientAcceptedEventArgs : EventArgs + { + private readonly Socket _socket; + private bool _revoke; + + /// + /// Initializes a new instance of the class. + /// + /// The socket. + public ClientAcceptedEventArgs(Socket socket) + { + _socket = socket; + } + + /// + /// Accepted socket. + /// + public Socket Socket + { + get { return _socket; } + } + + /// + /// Client should be revoked. + /// + public bool Revoked + { + get { return _revoke; } + } + + /// + /// Client may not be handled. + /// + public void Revoke() + { + _revoke = true; + } + } +} \ No newline at end of file diff --git a/OpenSim/Region/ClientStack/TCPJSONStream/ClientNetworkContext.cs b/OpenSim/Region/ClientStack/TCPJSONStream/ClientNetworkContext.cs new file mode 100644 index 0000000000..591f817b8f --- /dev/null +++ b/OpenSim/Region/ClientStack/TCPJSONStream/ClientNetworkContext.cs @@ -0,0 +1,143 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Net; +using System.Net.Sockets; +using System.Text; + +namespace OpenSim.Region.ClientStack.TCPJSONStream +{ + public class ClientNetworkContext + { + private Socket _socket; + private string _remoteAddress; + private string _remotePort; + private WebSocketConnectionStage _wsConnectionStatus = WebSocketConnectionStage.Accept; + private int _bytesLeft; + private NetworkStream _stream; + private byte[] _buffer; + public event EventHandler Disconnected = delegate { }; + + public ClientNetworkContext(IPEndPoint endPoint, int port, Stream stream, int buffersize, Socket sock) + { + _socket = sock; + _remoteAddress = endPoint.Address.ToString(); + _remotePort = port.ToString(); + _stream = stream as NetworkStream; + _buffer = new byte[buffersize]; + + + } + + public void BeginRead() + { + _wsConnectionStatus = WebSocketConnectionStage.Http; + try + { + _stream.BeginRead(_buffer, 0, _buffer.Length, OnReceive, _wsConnectionStatus); + } + catch (IOException err) + { + //m_log.Debug(err.ToString()); + } + } + + private void OnReceive(IAsyncResult ar) + { + try + { + int bytesRead = _stream.EndRead(ar); + if (bytesRead == 0) + { + + Disconnected(this, new DisconnectedEventArgs(SocketError.ConnectionReset)); + return; + } + + } + } + /// + /// send a whole buffer + /// + /// buffer to send + /// + public void Send(byte[] buffer) + { + if (buffer == null) + throw new ArgumentNullException("buffer"); + Send(buffer, 0, buffer.Length); + } + + /// + /// Send data using the stream + /// + /// Contains data to send + /// Start position in buffer + /// number of bytes to send + /// + /// + public void Send(byte[] buffer, int offset, int size) + { + + if (offset + size > buffer.Length) + throw new ArgumentOutOfRangeException("offset", offset, "offset + size is beyond end of buffer."); + + if (_stream != null && _stream.CanWrite) + { + try + { + _stream.Write(buffer, offset, size); + } + catch (IOException) + { + + } + } + + } + private void Reset() + { + if (_stream == null) + return; + _stream.Dispose(); + _stream = null; + if (_socket == null) + return; + if (_socket.Connected) + _socket.Disconnect(true); + _socket = null; + } + } + + public enum WebSocketConnectionStage + { + Reuse, + Accept, + Http, + WebSocket, + Closed + } + + public enum FrameOpCodesRFC6455 + { + Continue = 0x0, + Text = 0x1, + Binary = 0x2, + Close = 0x8, + Ping = 0x9, + Pong = 0xA + } + + public enum DataState + { + Empty = 0, + Waiting = 1, + Receiving = 2, + Complete = 3, + Closed = 4, + Ping = 5, + Pong = 6 + } + + +} diff --git a/OpenSim/Region/ClientStack/TCPJSONStream/DisconnectedEventArgs.cs b/OpenSim/Region/ClientStack/TCPJSONStream/DisconnectedEventArgs.cs new file mode 100644 index 0000000000..32880cc399 --- /dev/null +++ b/OpenSim/Region/ClientStack/TCPJSONStream/DisconnectedEventArgs.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net.Sockets; +using System.Text; + +namespace OpenSim.Region.ClientStack.TCPJSONStream +{ + public class DisconnectedEventArgs:EventArgs + { + public SocketError Error { get; private set; } + public DisconnectedEventArgs(SocketError err) + { + Error = err; + } + } +} diff --git a/OpenSim/Region/ClientStack/TCPJSONStream/OpenSimWebSocketBase.cs b/OpenSim/Region/ClientStack/TCPJSONStream/OpenSimWebSocketBase.cs new file mode 100644 index 0000000000..379438d384 --- /dev/null +++ b/OpenSim/Region/ClientStack/TCPJSONStream/OpenSimWebSocketBase.cs @@ -0,0 +1,73 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Net; +using Nini.Config; +using OpenSim.Framework; + +namespace OpenSim.Region.ClientStack.TCPJSONStream +{ + public sealed class TCPJsonWebSocketBase : IClientNetworkServer + { + private TCPJsonWebSocketServer m_tcpServer; + + public TCPJsonWebSocketBase() + { + } + + public void Initialise(IPAddress _listenIP, ref uint port, int proxyPortOffsetParm, bool allow_alternate_port, IConfigSource configSource, AgentCircuitManager authenticateClass) + { + m_tcpServer = new TCPJsonWebSocketServer(_listenIP,ref port, proxyPortOffsetParm, allow_alternate_port,configSource,authenticateClass); + } + + public void NetworkStop() + { + m_tcpServer.Stop(); + } + + public bool HandlesRegion(Location x) + { + return m_tcpServer.HandlesRegion(x); + } + + public void AddScene(IScene x) + { + m_tcpServer.AddScene(x); + } + + public void Start() + { + m_tcpServer.Start(); + } + + public void Stop() + { + m_tcpServer.Stop(); + } + } +} \ No newline at end of file diff --git a/OpenSim/Region/ClientStack/TCPJSONStream/TCPJsonWebSocketServer.cs b/OpenSim/Region/ClientStack/TCPJSONStream/TCPJsonWebSocketServer.cs new file mode 100644 index 0000000000..0713bf4403 --- /dev/null +++ b/OpenSim/Region/ClientStack/TCPJSONStream/TCPJsonWebSocketServer.cs @@ -0,0 +1,163 @@ +using System; +using System.Collections.Generic; +using System.Net; +using System.Net.Sockets; +using System.Reflection; +using System.Text; +using System.Threading; +using Nini.Config; +using OpenSim.Framework; +using OpenSim.Region.Framework.Scenes; +using log4net; + +namespace OpenSim.Region.ClientStack.TCPJSONStream +{ + public delegate void ExceptionHandler(object source, Exception exception); + + public class TCPJsonWebSocketServer + { + private readonly IPAddress _address; + private readonly int _port; + private readonly ManualResetEvent _shutdownEvent = new ManualResetEvent(false); + private TcpListener _listener; + private int _pendingAccepts; + private bool _shutdown; + private int _backlogAcceptQueueLength = 5; + private Scene m_scene; + private Location m_location; + private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + + public event EventHandler Accepted = delegate { }; + + + public TCPJsonWebSocketServer(IPAddress _listenIP, ref uint port, int proxyPortOffsetParm, + bool allow_alternate_port, IConfigSource configSource, + AgentCircuitManager authenticateClass) + { + _address = _listenIP; + _port = (int)port; //Why is a uint passed in? + } + public void Stop() + { + _shutdown = true; + _listener.Stop(); + if (!_shutdownEvent.WaitOne()) + m_log.Error("[WEBSOCKETSERVER]: Failed to shutdown listener properly."); + _listener = null; + } + + public bool HandlesRegion(Location x) + { + return x == m_location; + } + + public void AddScene(IScene scene) + { + if (m_scene != null) + { + m_log.Debug("[WEBSOCKETSERVER]: AddScene() called but I already have a scene."); + return; + } + if (!(scene is Scene)) + { + m_log.Error("[WEBSOCKETSERVER]: AddScene() called with an unrecognized scene type " + scene.GetType()); + return; + } + + m_scene = (Scene)scene; + m_location = new Location(m_scene.RegionInfo.RegionHandle); + } + + public void Start() + { + _listener = new TcpListener(_address, _port); + _listener.Start(_backlogAcceptQueueLength); + Interlocked.Increment(ref _pendingAccepts); + _listener.BeginAcceptSocket(OnAccept, null); + } + + private void OnAccept(IAsyncResult ar) + { + bool beginAcceptCalled = false; + try + { + int count = Interlocked.Decrement(ref _pendingAccepts); + if (_shutdown) + { + if (count == 0) + _shutdownEvent.Set(); + return; + } + Interlocked.Increment(ref _pendingAccepts); + _listener.BeginAcceptSocket(OnAccept, null); + beginAcceptCalled = true; + Socket socket = _listener.EndAcceptSocket(ar); + if (!OnAcceptingSocket(socket)) + { + socket.Disconnect(true); + return; + } + ClientNetworkContext context = new ClientNetworkContext((IPEndPoint) socket.RemoteEndPoint, _port, + new NetworkStream(socket), 16384, socket); + HttpRequestParser parser; + context.BeginRead(); + + } + catch (Exception err) + { + if (ExceptionThrown == null) +#if DEBUG + throw; +#else + _logWriter.Write(this, LogPrio.Fatal, err.Message); + // we can't really do anything but close the connection +#endif + if (ExceptionThrown != null) + ExceptionThrown(this, err); + + if (!beginAcceptCalled) + RetryBeginAccept(); + + } + } + + private void RetryBeginAccept() + { + try + { + + _listener.BeginAcceptSocket(OnAccept, null); + } + catch (Exception err) + { + + if (ExceptionThrown == null) +#if DEBUG + throw; +#else + // we can't really do anything but close the connection +#endif + if (ExceptionThrown != null) + ExceptionThrown(this, err); + } + } + + private bool OnAcceptingSocket(Socket sock) + { + ClientAcceptedEventArgs args = new ClientAcceptedEventArgs(sock); + Accepted(this, args); + return !args.Revoked; + } + /// + /// Catch exceptions not handled by the listener. + /// + /// + /// Exceptions will be thrown during debug mode if this event is not used, + /// exceptions will be printed to console and suppressed during release mode. + /// + public event ExceptionHandler ExceptionThrown = delegate { }; + + + + } +} diff --git a/prebuild.xml b/prebuild.xml index 329ff73550..d8b4145698 100644 --- a/prebuild.xml +++ b/prebuild.xml @@ -1466,6 +1466,8 @@ + + @@ -1508,6 +1510,49 @@ + + + + ../../../../bin/ + + + + + ../../../../bin/ + + + + ../../../../bin/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From d18fbb98b7f51d46eb3e716c59a8e76bc772bad1 Mon Sep 17 00:00:00 2001 From: teravus Date: Sun, 3 Feb 2013 07:44:45 -0500 Subject: [PATCH 483/851] Adds the ability to load more then one IClientNetworkServer thereby allowing additional client stacks. Use comma separated values in clientstack_plugin in your config. --- OpenSim/Region/Application/OpenSimBase.cs | 37 +++++---- .../Region/ClientStack/ClientStackManager.cs | 83 ++++++++++++------- .../TCPJSONStream/ClientNetworkContext.cs | 3 + .../TCPJSONStream/TCPJsonWebSocketServer.cs | 2 +- bin/OpenSimDefaults.ini | 2 +- 5 files changed, 78 insertions(+), 49 deletions(-) diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs index c3c87e786c..f5c06df3fb 100644 --- a/OpenSim/Region/Application/OpenSimBase.cs +++ b/OpenSim/Region/Application/OpenSimBase.cs @@ -316,7 +316,7 @@ namespace OpenSim /// /// /// - public IClientNetworkServer CreateRegion(RegionInfo regionInfo, bool portadd_flag, out IScene scene) + public List CreateRegion(RegionInfo regionInfo, bool portadd_flag, out IScene scene) { return CreateRegion(regionInfo, portadd_flag, false, out scene); } @@ -326,7 +326,7 @@ namespace OpenSim /// /// /// - public IClientNetworkServer CreateRegion(RegionInfo regionInfo, out IScene scene) + public List CreateRegion(RegionInfo regionInfo, out IScene scene) { return CreateRegion(regionInfo, false, true, out scene); } @@ -338,7 +338,7 @@ namespace OpenSim /// /// /// - public IClientNetworkServer CreateRegion(RegionInfo regionInfo, bool portadd_flag, bool do_post_init, out IScene mscene) + public List CreateRegion(RegionInfo regionInfo, bool portadd_flag, bool do_post_init, out IScene mscene) { int port = regionInfo.InternalEndPoint.Port; @@ -363,8 +363,8 @@ namespace OpenSim Util.XmlRpcCommand(proxyUrl, "AddPort", port, port + proxyOffset, regionInfo.ExternalHostName); } - IClientNetworkServer clientServer; - Scene scene = SetupScene(regionInfo, proxyOffset, Config, out clientServer); + List clientServers; + Scene scene = SetupScene(regionInfo, proxyOffset, Config, out clientServers); m_log.Info("[MODULES]: Loading Region's modules (old style)"); @@ -414,8 +414,11 @@ namespace OpenSim if (m_autoCreateClientStack) { - m_clientServers.Add(clientServer); - clientServer.Start(); + foreach (IClientNetworkServer clientserver in clientServers) + { + m_clientServers.Add(clientserver); + clientserver.Start(); + } } scene.EventManager.OnShutdown += delegate() { ShutdownRegion(scene); }; @@ -425,7 +428,7 @@ namespace OpenSim scene.Start(); scene.StartScripts(); - return clientServer; + return clientServers; } /// @@ -641,7 +644,7 @@ namespace OpenSim /// /// /// - protected Scene SetupScene(RegionInfo regionInfo, out IClientNetworkServer clientServer) + protected Scene SetupScene(RegionInfo regionInfo, out List clientServer) { return SetupScene(regionInfo, 0, null, out clientServer); } @@ -655,19 +658,20 @@ namespace OpenSim /// /// protected Scene SetupScene( - RegionInfo regionInfo, int proxyOffset, IConfigSource configSource, out IClientNetworkServer clientServer) + RegionInfo regionInfo, int proxyOffset, IConfigSource configSource, out List clientServer) { + List clientNetworkServers = null; + AgentCircuitManager circuitManager = new AgentCircuitManager(); IPAddress listenIP = regionInfo.InternalEndPoint.Address; //if (!IPAddress.TryParse(regionInfo.InternalEndPoint, out listenIP)) // listenIP = IPAddress.Parse("0.0.0.0"); uint port = (uint) regionInfo.InternalEndPoint.Port; - + IClientNetworkServer clientNetworkServer; if (m_autoCreateClientStack) { - clientServer - = m_clientStackManager.CreateServer( + clientNetworkServers = m_clientStackManager.CreateServers( listenIP, ref port, proxyOffset, regionInfo.m_allow_alternate_ports, configSource, circuitManager); } @@ -682,9 +686,12 @@ namespace OpenSim if (m_autoCreateClientStack) { - clientServer.AddScene(scene); + foreach (IClientNetworkServer clientnetserver in clientNetworkServers) + { + clientnetserver.AddScene(scene); + } } - + clientServer = clientNetworkServers; scene.LoadWorldMap(); scene.PhysicsScene = GetPhysicsScene(scene.RegionInfo.RegionName); diff --git a/OpenSim/Region/ClientStack/ClientStackManager.cs b/OpenSim/Region/ClientStack/ClientStackManager.cs index 84ea0b34db..299aabd787 100644 --- a/OpenSim/Region/ClientStack/ClientStackManager.cs +++ b/OpenSim/Region/ClientStack/ClientStackManager.cs @@ -26,6 +26,7 @@ */ using System; +using System.Collections.Generic; using System.Net; using System.Reflection; using log4net; @@ -38,39 +39,53 @@ namespace OpenSim.Region.ClientStack { private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - private Type plugin; - private Assembly pluginAssembly; + private List plugin = new List(); + private List pluginAssembly = new List(); - public ClientStackManager(string dllName) + public ClientStackManager(string pDllName) { - m_log.Info("[CLIENTSTACK]: Attempting to load " + dllName); - - try + List clientstacks = new List(); + if (pDllName.Contains(",")) { - plugin = null; - pluginAssembly = Assembly.LoadFrom(dllName); + clientstacks = new List(pDllName.Split(',')); + } + else + { + clientstacks.Add(pDllName); + } + foreach (string dllName in clientstacks) + { + m_log.Info("[CLIENTSTACK]: Attempting to load " + dllName); - foreach (Type pluginType in pluginAssembly.GetTypes()) + try { - if (pluginType.IsPublic) - { - Type typeInterface = pluginType.GetInterface("IClientNetworkServer", true); + //plugin = null; + Assembly itemAssembly = Assembly.LoadFrom(dllName); + pluginAssembly.Add(itemAssembly); - if (typeInterface != null) + foreach (Type pluginType in itemAssembly.GetTypes()) + { + if (pluginType.IsPublic) { - m_log.Info("[CLIENTSTACK]: Added IClientNetworkServer Interface"); - plugin = pluginType; - return; + Type typeInterface = pluginType.GetInterface("IClientNetworkServer", true); + + if (typeInterface != null) + { + m_log.Info("[CLIENTSTACK]: Added IClientNetworkServer Interface"); + plugin.Add(pluginType); + break; + } } } } - } catch (ReflectionTypeLoadException e) - { - foreach (Exception e2 in e.LoaderExceptions) + catch (ReflectionTypeLoadException e) { - m_log.Error(e2.ToString()); + foreach (Exception e2 in e.LoaderExceptions) + { + m_log.Error(e2.ToString()); + } + throw e; } - throw e; } } @@ -84,11 +99,11 @@ namespace OpenSim.Region.ClientStack /// /// /// - public IClientNetworkServer CreateServer( + public List CreateServers( IPAddress _listenIP, ref uint port, int proxyPortOffset, bool allow_alternate_port, AgentCircuitManager authenticateClass) { - return CreateServer( + return CreateServers( _listenIP, ref port, proxyPortOffset, allow_alternate_port, null, authenticateClass); } @@ -105,20 +120,24 @@ namespace OpenSim.Region.ClientStack /// /// /// - public IClientNetworkServer CreateServer( + public List CreateServers( IPAddress _listenIP, ref uint port, int proxyPortOffset, bool allow_alternate_port, IConfigSource configSource, AgentCircuitManager authenticateClass) { + List servers = new List(); if (plugin != null) { - IClientNetworkServer server = - (IClientNetworkServer)Activator.CreateInstance(pluginAssembly.GetType(plugin.ToString())); - - server.Initialise( - _listenIP, ref port, proxyPortOffset, allow_alternate_port, - configSource, authenticateClass); - - return server; + for (int i = 0; i < plugin.Count; i++) + { + IClientNetworkServer server = + (IClientNetworkServer) Activator.CreateInstance(pluginAssembly[i].GetType(plugin[i].ToString())); + + server.Initialise( + _listenIP, ref port, proxyPortOffset, allow_alternate_port, + configSource, authenticateClass); + servers.Add(server); + } + return servers; } m_log.Error("[CLIENTSTACK]: Couldn't initialize a new server"); diff --git a/OpenSim/Region/ClientStack/TCPJSONStream/ClientNetworkContext.cs b/OpenSim/Region/ClientStack/TCPJSONStream/ClientNetworkContext.cs index 591f817b8f..b077b6aaea 100644 --- a/OpenSim/Region/ClientStack/TCPJSONStream/ClientNetworkContext.cs +++ b/OpenSim/Region/ClientStack/TCPJSONStream/ClientNetworkContext.cs @@ -55,6 +55,9 @@ namespace OpenSim.Region.ClientStack.TCPJSONStream } } + catch (Exception) + { + } } /// /// send a whole buffer diff --git a/OpenSim/Region/ClientStack/TCPJSONStream/TCPJsonWebSocketServer.cs b/OpenSim/Region/ClientStack/TCPJSONStream/TCPJsonWebSocketServer.cs index 0713bf4403..c0f679296a 100644 --- a/OpenSim/Region/ClientStack/TCPJSONStream/TCPJsonWebSocketServer.cs +++ b/OpenSim/Region/ClientStack/TCPJSONStream/TCPJsonWebSocketServer.cs @@ -99,7 +99,7 @@ namespace OpenSim.Region.ClientStack.TCPJSONStream } ClientNetworkContext context = new ClientNetworkContext((IPEndPoint) socket.RemoteEndPoint, _port, new NetworkStream(socket), 16384, socket); - HttpRequestParser parser; + //HttpRequestParser parser; context.BeginRead(); } diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index c60579b834..cc0809427e 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -58,7 +58,7 @@ ; ## ; Set this to the DLL containing the client stack to use. - clientstack_plugin="OpenSim.Region.ClientStack.LindenUDP.dll" + clientstack_plugin="OpenSim.Region.ClientStack.LindenUDP.dll,OpenSim.Region.ClientStack.TCPJSONStream.dll" ; ## ; ## REGIONS From 29d521e2733bf8dc11cfdbdad104f9f141f7c895 Mon Sep 17 00:00:00 2001 From: teravus Date: Sun, 3 Feb 2013 07:56:31 -0500 Subject: [PATCH 484/851] Changing OpenSimDefaults back to default --- bin/OpenSimDefaults.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index cc0809427e..c60579b834 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -58,7 +58,7 @@ ; ## ; Set this to the DLL containing the client stack to use. - clientstack_plugin="OpenSim.Region.ClientStack.LindenUDP.dll,OpenSim.Region.ClientStack.TCPJSONStream.dll" + clientstack_plugin="OpenSim.Region.ClientStack.LindenUDP.dll" ; ## ; ## REGIONS From 6b0310b82973031fdf35c570bc69450f2f700eb7 Mon Sep 17 00:00:00 2001 From: teravus Date: Sun, 3 Feb 2013 07:44:45 -0500 Subject: [PATCH 485/851] Adds the ability to load more then one IClientNetworkServer thereby allowing additional client network servers at the same time. Use comma separated values in clientstack_plugin in your config. Additional plugins lying around shouldn't be picked up because the loader only loads configured dll assemblies and breaks at the first IClientNetworkServer found in the assembly. (the only new functionality is the ability to specify more in config). Note: The existing functionality also passes in a nini config.. and has a boolean to determine if the client network server should be initialized for a specific scene. --- OpenSim/Region/Application/OpenSimBase.cs | 37 +++++---- .../Region/ClientStack/ClientStackManager.cs | 83 ++++++++++++------- 2 files changed, 73 insertions(+), 47 deletions(-) diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs index c3c87e786c..f5c06df3fb 100644 --- a/OpenSim/Region/Application/OpenSimBase.cs +++ b/OpenSim/Region/Application/OpenSimBase.cs @@ -316,7 +316,7 @@ namespace OpenSim /// /// /// - public IClientNetworkServer CreateRegion(RegionInfo regionInfo, bool portadd_flag, out IScene scene) + public List CreateRegion(RegionInfo regionInfo, bool portadd_flag, out IScene scene) { return CreateRegion(regionInfo, portadd_flag, false, out scene); } @@ -326,7 +326,7 @@ namespace OpenSim /// /// /// - public IClientNetworkServer CreateRegion(RegionInfo regionInfo, out IScene scene) + public List CreateRegion(RegionInfo regionInfo, out IScene scene) { return CreateRegion(regionInfo, false, true, out scene); } @@ -338,7 +338,7 @@ namespace OpenSim /// /// /// - public IClientNetworkServer CreateRegion(RegionInfo regionInfo, bool portadd_flag, bool do_post_init, out IScene mscene) + public List CreateRegion(RegionInfo regionInfo, bool portadd_flag, bool do_post_init, out IScene mscene) { int port = regionInfo.InternalEndPoint.Port; @@ -363,8 +363,8 @@ namespace OpenSim Util.XmlRpcCommand(proxyUrl, "AddPort", port, port + proxyOffset, regionInfo.ExternalHostName); } - IClientNetworkServer clientServer; - Scene scene = SetupScene(regionInfo, proxyOffset, Config, out clientServer); + List clientServers; + Scene scene = SetupScene(regionInfo, proxyOffset, Config, out clientServers); m_log.Info("[MODULES]: Loading Region's modules (old style)"); @@ -414,8 +414,11 @@ namespace OpenSim if (m_autoCreateClientStack) { - m_clientServers.Add(clientServer); - clientServer.Start(); + foreach (IClientNetworkServer clientserver in clientServers) + { + m_clientServers.Add(clientserver); + clientserver.Start(); + } } scene.EventManager.OnShutdown += delegate() { ShutdownRegion(scene); }; @@ -425,7 +428,7 @@ namespace OpenSim scene.Start(); scene.StartScripts(); - return clientServer; + return clientServers; } /// @@ -641,7 +644,7 @@ namespace OpenSim /// /// /// - protected Scene SetupScene(RegionInfo regionInfo, out IClientNetworkServer clientServer) + protected Scene SetupScene(RegionInfo regionInfo, out List clientServer) { return SetupScene(regionInfo, 0, null, out clientServer); } @@ -655,19 +658,20 @@ namespace OpenSim /// /// protected Scene SetupScene( - RegionInfo regionInfo, int proxyOffset, IConfigSource configSource, out IClientNetworkServer clientServer) + RegionInfo regionInfo, int proxyOffset, IConfigSource configSource, out List clientServer) { + List clientNetworkServers = null; + AgentCircuitManager circuitManager = new AgentCircuitManager(); IPAddress listenIP = regionInfo.InternalEndPoint.Address; //if (!IPAddress.TryParse(regionInfo.InternalEndPoint, out listenIP)) // listenIP = IPAddress.Parse("0.0.0.0"); uint port = (uint) regionInfo.InternalEndPoint.Port; - + IClientNetworkServer clientNetworkServer; if (m_autoCreateClientStack) { - clientServer - = m_clientStackManager.CreateServer( + clientNetworkServers = m_clientStackManager.CreateServers( listenIP, ref port, proxyOffset, regionInfo.m_allow_alternate_ports, configSource, circuitManager); } @@ -682,9 +686,12 @@ namespace OpenSim if (m_autoCreateClientStack) { - clientServer.AddScene(scene); + foreach (IClientNetworkServer clientnetserver in clientNetworkServers) + { + clientnetserver.AddScene(scene); + } } - + clientServer = clientNetworkServers; scene.LoadWorldMap(); scene.PhysicsScene = GetPhysicsScene(scene.RegionInfo.RegionName); diff --git a/OpenSim/Region/ClientStack/ClientStackManager.cs b/OpenSim/Region/ClientStack/ClientStackManager.cs index 84ea0b34db..299aabd787 100644 --- a/OpenSim/Region/ClientStack/ClientStackManager.cs +++ b/OpenSim/Region/ClientStack/ClientStackManager.cs @@ -26,6 +26,7 @@ */ using System; +using System.Collections.Generic; using System.Net; using System.Reflection; using log4net; @@ -38,39 +39,53 @@ namespace OpenSim.Region.ClientStack { private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - private Type plugin; - private Assembly pluginAssembly; + private List plugin = new List(); + private List pluginAssembly = new List(); - public ClientStackManager(string dllName) + public ClientStackManager(string pDllName) { - m_log.Info("[CLIENTSTACK]: Attempting to load " + dllName); - - try + List clientstacks = new List(); + if (pDllName.Contains(",")) { - plugin = null; - pluginAssembly = Assembly.LoadFrom(dllName); + clientstacks = new List(pDllName.Split(',')); + } + else + { + clientstacks.Add(pDllName); + } + foreach (string dllName in clientstacks) + { + m_log.Info("[CLIENTSTACK]: Attempting to load " + dllName); - foreach (Type pluginType in pluginAssembly.GetTypes()) + try { - if (pluginType.IsPublic) - { - Type typeInterface = pluginType.GetInterface("IClientNetworkServer", true); + //plugin = null; + Assembly itemAssembly = Assembly.LoadFrom(dllName); + pluginAssembly.Add(itemAssembly); - if (typeInterface != null) + foreach (Type pluginType in itemAssembly.GetTypes()) + { + if (pluginType.IsPublic) { - m_log.Info("[CLIENTSTACK]: Added IClientNetworkServer Interface"); - plugin = pluginType; - return; + Type typeInterface = pluginType.GetInterface("IClientNetworkServer", true); + + if (typeInterface != null) + { + m_log.Info("[CLIENTSTACK]: Added IClientNetworkServer Interface"); + plugin.Add(pluginType); + break; + } } } } - } catch (ReflectionTypeLoadException e) - { - foreach (Exception e2 in e.LoaderExceptions) + catch (ReflectionTypeLoadException e) { - m_log.Error(e2.ToString()); + foreach (Exception e2 in e.LoaderExceptions) + { + m_log.Error(e2.ToString()); + } + throw e; } - throw e; } } @@ -84,11 +99,11 @@ namespace OpenSim.Region.ClientStack /// /// /// - public IClientNetworkServer CreateServer( + public List CreateServers( IPAddress _listenIP, ref uint port, int proxyPortOffset, bool allow_alternate_port, AgentCircuitManager authenticateClass) { - return CreateServer( + return CreateServers( _listenIP, ref port, proxyPortOffset, allow_alternate_port, null, authenticateClass); } @@ -105,20 +120,24 @@ namespace OpenSim.Region.ClientStack /// /// /// - public IClientNetworkServer CreateServer( + public List CreateServers( IPAddress _listenIP, ref uint port, int proxyPortOffset, bool allow_alternate_port, IConfigSource configSource, AgentCircuitManager authenticateClass) { + List servers = new List(); if (plugin != null) { - IClientNetworkServer server = - (IClientNetworkServer)Activator.CreateInstance(pluginAssembly.GetType(plugin.ToString())); - - server.Initialise( - _listenIP, ref port, proxyPortOffset, allow_alternate_port, - configSource, authenticateClass); - - return server; + for (int i = 0; i < plugin.Count; i++) + { + IClientNetworkServer server = + (IClientNetworkServer) Activator.CreateInstance(pluginAssembly[i].GetType(plugin[i].ToString())); + + server.Initialise( + _listenIP, ref port, proxyPortOffset, allow_alternate_port, + configSource, authenticateClass); + servers.Add(server); + } + return servers; } m_log.Error("[CLIENTSTACK]: Couldn't initialize a new server"); From 80d9b336ff996741022ce9b1e7c95a650d15c465 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Mon, 4 Feb 2013 07:07:36 +0000 Subject: [PATCH 486/851] Remove [XMLRPC] section I added by accident to the top of OpenSimDefaults.ini in previous commit 95883282 --- bin/OpenSimDefaults.ini | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 6ebdb96a4f..911927388f 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1,21 +1,6 @@ ; This file contains defaults for various settings in OpenSimulator. These can be overriden ; by changing the same setting in OpenSim.ini (once OpenSim.ini.example has been copied to OpenSim.ini). -[XMLRPC] - ;# {XmlRpcRouterModule} {} {Module used to route incoming llRemoteData calls} {XmlRpcRouterModule XmlRpcGridRouterModule} XmlRpcRouterModule - ;; If enabled and set to XmlRpcRouterModule, this will post an event, - ;; "xmlrpc_uri(string)" to the script concurrently with the first - ;; remote_data event. This will contain the fully qualified URI an - ;; external site needs to use to send XMLRPC requests to that script - ;; - ;; If enabled and set to XmlRpcGridRouterModule, newly created channels - ;; will be registered with an external service via a configured uri - XmlRpcRouterModule = "XmlRpcRouterModule" - - ;# {XmlRpcPort} {} {Port for incoming llRemoteData xmlrpc calls} {} 20800 - XmlRpcPort = 20800 - - [Startup] ; Console prompt ; Certain special characters can be used to customize the prompt From 1f1da230976451d30d920c237d53c699ba96b9d9 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Tue, 5 Feb 2013 00:23:17 +0000 Subject: [PATCH 487/851] Bump version and assembly version numbers from 0.7.5 to 0.7.6 This is mostly Bluewall's work but I am also bumping the general version number OpenSimulator 0.7.5 remains in the release candidate stage. I'm doing this because master is significantly adding things that will not be in 0.7.5 This update should not cause issues with existing external binary DLLs because our DLLs do not have strong names and so the exact version match requirement is not in force. --- .../ApplicationPlugins/LoadRegions/Properties/AssemblyInfo.cs | 4 ++-- .../RegionModulesController/Properties/AssemblyInfo.cs | 2 +- .../RemoteController/Properties/AssemblyInfo.cs | 2 +- OpenSim/Capabilities/Handlers/Properties/AssemblyInfo.cs | 2 +- OpenSim/Capabilities/Properties/AssemblyInfo.cs | 2 +- OpenSim/ConsoleClient/Properties/AssemblyInfo.cs | 2 +- OpenSim/Data/MSSQL/Properties/AssemblyInfo.cs | 2 +- OpenSim/Data/MySQL/Properties/AssemblyInfo.cs | 2 +- OpenSim/Data/Null/Properties/AssemblyInfo.cs | 2 +- OpenSim/Data/Properties/AssemblyInfo.cs | 2 +- OpenSim/Data/SQLite/Properties/AssemblyInfo.cs | 2 +- OpenSim/Framework/AssemblyInfo.cs | 2 +- .../AssetLoader/Filesystem/Properties/AssemblyInfo.cs | 2 +- OpenSim/Framework/Communications/Properties/AssemblyInfo.cs | 2 +- .../Framework/Configuration/HTTP/Properties/AssemblyInfo.cs | 2 +- .../Framework/Configuration/XML/Properties/AssemblyInfo.cs | 2 +- OpenSim/Framework/Console/AssemblyInfo.cs | 2 +- OpenSim/Framework/Monitoring/Properties/AssemblyInfo.cs | 2 +- .../RegionLoader/Filesystem/Properties/AssemblyInfo.cs | 2 +- OpenSim/Framework/RegionLoader/Web/Properties/AssemblyInfo.cs | 2 +- OpenSim/Framework/Serialization/Properties/AssemblyInfo.cs | 2 +- .../Framework/Servers/HttpServer/Properties/AssemblyInfo.cs | 2 +- OpenSim/Framework/Servers/Properties/AssemblyInfo.cs | 2 +- OpenSim/Framework/Servers/VersionInfo.cs | 2 +- .../Region/ClientStack/Linden/Caps/Properties/AssemblyInfo.cs | 2 +- .../Region/ClientStack/Linden/UDP/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/ClientStack/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/CoreModules/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/DataSnapshot/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/Framework/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/OptionalModules/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/Physics/BasicPhysicsPlugin/AssemblyInfo.cs | 2 +- .../Region/Physics/BulletSPlugin/Properties/AssemblyInfo.cs | 2 +- .../ConvexDecompositionDotNet/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/Physics/Manager/AssemblyInfo.cs | 2 +- OpenSim/Region/Physics/Meshing/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/Physics/OdePlugin/AssemblyInfo.cs | 2 +- OpenSim/Region/Physics/POSPlugin/AssemblyInfo.cs | 2 +- .../Region/RegionCombinerModule/Properties/AssemblyInfo.cs | 2 +- .../Shared/Api/Implementation/Properties/AssemblyInfo.cs | 2 +- .../Shared/Api/Runtime/Properties/AssemblyInfo.cs | 2 +- .../Shared/Api/Runtime/YieldProlog/Properties/AssemblyInfo.cs | 2 +- .../ScriptEngine/Shared/CodeTools/Properties/AssemblyInfo.cs | 2 +- .../ScriptEngine/Shared/Instance/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/ScriptEngine/Shared/Properties/AssemblyInfo.cs | 2 +- .../Region/ScriptEngine/XEngine/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/UserStatistics/Properties/AssemblyInfo.cs | 2 +- OpenSim/Server/Base/Properties/AssemblyInfo.cs | 2 +- OpenSim/Server/Handlers/Properties/AssemblyInfo.cs | 2 +- OpenSim/Server/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/AssetService/Properties/AssemblyInfo.cs | 2 +- .../Services/AuthenticationService/Properties/AssemblyInfo.cs | 2 +- .../Services/AuthorizationService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/AvatarService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/Base/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/Connectors/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/FreeswitchService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/Friends/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/GridService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/HypergridService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/Interfaces/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/InventoryService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/LLLoginService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/MapImageService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/PresenceService/Properties/AssemblyInfo.cs | 2 +- .../Services/UserAccountService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs | 2 +- OpenSim/Tools/Configger/Properties/AssemblyInfo.cs | 2 +- OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs | 2 +- ThirdParty/SmartThreadPool/AssemblyInfo.cs | 2 +- 70 files changed, 71 insertions(+), 71 deletions(-) diff --git a/OpenSim/ApplicationPlugins/LoadRegions/Properties/AssemblyInfo.cs b/OpenSim/ApplicationPlugins/LoadRegions/Properties/AssemblyInfo.cs index 57615ea2d3..b81c1e5f28 100644 --- a/OpenSim/ApplicationPlugins/LoadRegions/Properties/AssemblyInfo.cs +++ b/OpenSim/ApplicationPlugins/LoadRegions/Properties/AssemblyInfo.cs @@ -60,7 +60,7 @@ using System.Runtime.InteropServices; // // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: -// [assembly: AssemblyVersion("0.7.5.*")] +// [assembly: AssemblyVersion("0.7.6.*")] -[assembly : AssemblyVersion("0.7.5.*")] +[assembly : AssemblyVersion("0.7.6.*")] [assembly : AssemblyFileVersion("0.6.5.0")] \ No newline at end of file diff --git a/OpenSim/ApplicationPlugins/RegionModulesController/Properties/AssemblyInfo.cs b/OpenSim/ApplicationPlugins/RegionModulesController/Properties/AssemblyInfo.cs index 14527d9ea9..be6054d150 100644 --- a/OpenSim/ApplicationPlugins/RegionModulesController/Properties/AssemblyInfo.cs +++ b/OpenSim/ApplicationPlugins/RegionModulesController/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/ApplicationPlugins/RemoteController/Properties/AssemblyInfo.cs b/OpenSim/ApplicationPlugins/RemoteController/Properties/AssemblyInfo.cs index 8ad948c9bd..3ec7a13883 100644 --- a/OpenSim/ApplicationPlugins/RemoteController/Properties/AssemblyInfo.cs +++ b/OpenSim/ApplicationPlugins/RemoteController/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Capabilities/Handlers/Properties/AssemblyInfo.cs b/OpenSim/Capabilities/Handlers/Properties/AssemblyInfo.cs index a681fb643f..4ff5fe1d9a 100644 --- a/OpenSim/Capabilities/Handlers/Properties/AssemblyInfo.cs +++ b/OpenSim/Capabilities/Handlers/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Capabilities/Properties/AssemblyInfo.cs b/OpenSim/Capabilities/Properties/AssemblyInfo.cs index 26254f2fcf..f8a9daeac0 100644 --- a/OpenSim/Capabilities/Properties/AssemblyInfo.cs +++ b/OpenSim/Capabilities/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/ConsoleClient/Properties/AssemblyInfo.cs b/OpenSim/ConsoleClient/Properties/AssemblyInfo.cs index c240f90ca3..9c0c784838 100644 --- a/OpenSim/ConsoleClient/Properties/AssemblyInfo.cs +++ b/OpenSim/ConsoleClient/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Data/MSSQL/Properties/AssemblyInfo.cs b/OpenSim/Data/MSSQL/Properties/AssemblyInfo.cs index 1a67e704e5..4e96be8da4 100644 --- a/OpenSim/Data/MSSQL/Properties/AssemblyInfo.cs +++ b/OpenSim/Data/MSSQL/Properties/AssemblyInfo.cs @@ -61,5 +61,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: -[assembly : AssemblyVersion("0.7.5.*")] +[assembly : AssemblyVersion("0.7.6.*")] [assembly : AssemblyFileVersion("0.6.5.0")] diff --git a/OpenSim/Data/MySQL/Properties/AssemblyInfo.cs b/OpenSim/Data/MySQL/Properties/AssemblyInfo.cs index ab3fe36e52..7bfa28dd39 100644 --- a/OpenSim/Data/MySQL/Properties/AssemblyInfo.cs +++ b/OpenSim/Data/MySQL/Properties/AssemblyInfo.cs @@ -61,5 +61,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: -[assembly : AssemblyVersion("0.7.5.*")] +[assembly : AssemblyVersion("0.7.6.*")] [assembly : AssemblyFileVersion("0.6.5.0")] diff --git a/OpenSim/Data/Null/Properties/AssemblyInfo.cs b/OpenSim/Data/Null/Properties/AssemblyInfo.cs index 43b0bb3214..3931b3dab8 100644 --- a/OpenSim/Data/Null/Properties/AssemblyInfo.cs +++ b/OpenSim/Data/Null/Properties/AssemblyInfo.cs @@ -61,5 +61,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: -[assembly : AssemblyVersion("0.7.5.*")] +[assembly : AssemblyVersion("0.7.6.*")] [assembly : AssemblyFileVersion("0.6.5.0")] diff --git a/OpenSim/Data/Properties/AssemblyInfo.cs b/OpenSim/Data/Properties/AssemblyInfo.cs index 0da1a6b799..9f342ad571 100644 --- a/OpenSim/Data/Properties/AssemblyInfo.cs +++ b/OpenSim/Data/Properties/AssemblyInfo.cs @@ -61,5 +61,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: -[assembly : AssemblyVersion("0.7.5.*")] +[assembly : AssemblyVersion("0.7.6.*")] [assembly : AssemblyFileVersion("0.6.5.0")] diff --git a/OpenSim/Data/SQLite/Properties/AssemblyInfo.cs b/OpenSim/Data/SQLite/Properties/AssemblyInfo.cs index c9a8553de6..ba52f8258b 100644 --- a/OpenSim/Data/SQLite/Properties/AssemblyInfo.cs +++ b/OpenSim/Data/SQLite/Properties/AssemblyInfo.cs @@ -61,5 +61,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: -[assembly : AssemblyVersion("0.7.5.*")] +[assembly : AssemblyVersion("0.7.6.*")] [assembly : AssemblyFileVersion("0.6.5.0")] diff --git a/OpenSim/Framework/AssemblyInfo.cs b/OpenSim/Framework/AssemblyInfo.cs index 02986d5d2a..b3db56c3ec 100644 --- a/OpenSim/Framework/AssemblyInfo.cs +++ b/OpenSim/Framework/AssemblyInfo.cs @@ -59,5 +59,5 @@ using System.Runtime.InteropServices; // Revision // -[assembly : AssemblyVersion("0.7.5.*")] +[assembly : AssemblyVersion("0.7.6.*")] [assembly : AssemblyFileVersion("0.6.5.0")] \ No newline at end of file diff --git a/OpenSim/Framework/AssetLoader/Filesystem/Properties/AssemblyInfo.cs b/OpenSim/Framework/AssetLoader/Filesystem/Properties/AssemblyInfo.cs index 0498ed4888..077244d4e6 100644 --- a/OpenSim/Framework/AssetLoader/Filesystem/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/AssetLoader/Filesystem/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Framework/Communications/Properties/AssemblyInfo.cs b/OpenSim/Framework/Communications/Properties/AssemblyInfo.cs index 6d1c03ad4b..cf575ac63b 100644 --- a/OpenSim/Framework/Communications/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/Communications/Properties/AssemblyInfo.cs @@ -61,5 +61,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: -[assembly : AssemblyVersion("0.7.5.*")] +[assembly : AssemblyVersion("0.7.6.*")] [assembly : AssemblyFileVersion("0.6.5.0")] diff --git a/OpenSim/Framework/Configuration/HTTP/Properties/AssemblyInfo.cs b/OpenSim/Framework/Configuration/HTTP/Properties/AssemblyInfo.cs index 0674656c75..c3b6227e9c 100644 --- a/OpenSim/Framework/Configuration/HTTP/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/Configuration/HTTP/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Framework/Configuration/XML/Properties/AssemblyInfo.cs b/OpenSim/Framework/Configuration/XML/Properties/AssemblyInfo.cs index 1095b232e2..b0d2d67424 100644 --- a/OpenSim/Framework/Configuration/XML/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/Configuration/XML/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Framework/Console/AssemblyInfo.cs b/OpenSim/Framework/Console/AssemblyInfo.cs index 37c7304424..c618454a7a 100644 --- a/OpenSim/Framework/Console/AssemblyInfo.cs +++ b/OpenSim/Framework/Console/AssemblyInfo.cs @@ -55,4 +55,4 @@ using System.Runtime.InteropServices; // You can specify all values by your own or you can build default build and revision // numbers with the '*' character (the default): -[assembly : AssemblyVersion("0.7.5.*")] +[assembly : AssemblyVersion("0.7.6.*")] diff --git a/OpenSim/Framework/Monitoring/Properties/AssemblyInfo.cs b/OpenSim/Framework/Monitoring/Properties/AssemblyInfo.cs index 1f2bb4087a..bb83db1d73 100644 --- a/OpenSim/Framework/Monitoring/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/Monitoring/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Framework/RegionLoader/Filesystem/Properties/AssemblyInfo.cs b/OpenSim/Framework/RegionLoader/Filesystem/Properties/AssemblyInfo.cs index d670f2f129..f836350fec 100644 --- a/OpenSim/Framework/RegionLoader/Filesystem/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/RegionLoader/Filesystem/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Framework/RegionLoader/Web/Properties/AssemblyInfo.cs b/OpenSim/Framework/RegionLoader/Web/Properties/AssemblyInfo.cs index 7309a12e88..72fa67981a 100644 --- a/OpenSim/Framework/RegionLoader/Web/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/RegionLoader/Web/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Framework/Serialization/Properties/AssemblyInfo.cs b/OpenSim/Framework/Serialization/Properties/AssemblyInfo.cs index 11efa4beb7..7a122dadbe 100644 --- a/OpenSim/Framework/Serialization/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/Serialization/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Framework/Servers/HttpServer/Properties/AssemblyInfo.cs b/OpenSim/Framework/Servers/HttpServer/Properties/AssemblyInfo.cs index 02ecc250a1..386be2de5c 100644 --- a/OpenSim/Framework/Servers/HttpServer/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/Servers/HttpServer/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Framework/Servers/Properties/AssemblyInfo.cs b/OpenSim/Framework/Servers/Properties/AssemblyInfo.cs index 021f63c632..792c62e2c7 100644 --- a/OpenSim/Framework/Servers/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/Servers/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Framework/Servers/VersionInfo.cs b/OpenSim/Framework/Servers/VersionInfo.cs index c9d977008c..80568e0951 100644 --- a/OpenSim/Framework/Servers/VersionInfo.cs +++ b/OpenSim/Framework/Servers/VersionInfo.cs @@ -29,7 +29,7 @@ namespace OpenSim { public class VersionInfo { - private const string VERSION_NUMBER = "0.7.5"; + private const string VERSION_NUMBER = "0.7.6"; private const Flavour VERSION_FLAVOUR = Flavour.Dev; public enum Flavour diff --git a/OpenSim/Region/ClientStack/Linden/Caps/Properties/AssemblyInfo.cs b/OpenSim/Region/ClientStack/Linden/Caps/Properties/AssemblyInfo.cs index 060a61c472..d29a00174e 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/ClientStack/Linden/UDP/Properties/AssemblyInfo.cs b/OpenSim/Region/ClientStack/Linden/UDP/Properties/AssemblyInfo.cs index af2f6f8e84..8f9dad35ba 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/ClientStack/Properties/AssemblyInfo.cs b/OpenSim/Region/ClientStack/Properties/AssemblyInfo.cs index e72bd863a6..0b6ee2fcd0 100644 --- a/OpenSim/Region/ClientStack/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ClientStack/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/CoreModules/Properties/AssemblyInfo.cs b/OpenSim/Region/CoreModules/Properties/AssemblyInfo.cs index 5a8c4a2f34..f6353f913f 100644 --- a/OpenSim/Region/CoreModules/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/CoreModules/Properties/AssemblyInfo.cs @@ -30,7 +30,7 @@ using Mono.Addins; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: Addin("OpenSim.Region.CoreModules", "0.1")] diff --git a/OpenSim/Region/DataSnapshot/Properties/AssemblyInfo.cs b/OpenSim/Region/DataSnapshot/Properties/AssemblyInfo.cs index b92626461d..0f083c7b35 100644 --- a/OpenSim/Region/DataSnapshot/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/DataSnapshot/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/Framework/Properties/AssemblyInfo.cs b/OpenSim/Region/Framework/Properties/AssemblyInfo.cs index 9b504c0147..2a5828e072 100644 --- a/OpenSim/Region/Framework/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/Framework/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/OptionalModules/Properties/AssemblyInfo.cs b/OpenSim/Region/OptionalModules/Properties/AssemblyInfo.cs index 217b2d5556..00655312d1 100644 --- a/OpenSim/Region/OptionalModules/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/OptionalModules/Properties/AssemblyInfo.cs @@ -30,7 +30,7 @@ using Mono.Addins; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: Addin("OpenSim.Region.OptionalModules", "0.1")] diff --git a/OpenSim/Region/Physics/BasicPhysicsPlugin/AssemblyInfo.cs b/OpenSim/Region/Physics/BasicPhysicsPlugin/AssemblyInfo.cs index fb9cb66584..6fd6f7e1d5 100644 --- a/OpenSim/Region/Physics/BasicPhysicsPlugin/AssemblyInfo.cs +++ b/OpenSim/Region/Physics/BasicPhysicsPlugin/AssemblyInfo.cs @@ -55,4 +55,4 @@ using System.Runtime.InteropServices; // You can specify all values by your own or you can build default build and revision // numbers with the '*' character (the default): -[assembly : AssemblyVersion("0.7.5.*")] +[assembly : AssemblyVersion("0.7.6.*")] diff --git a/OpenSim/Region/Physics/BulletSPlugin/Properties/AssemblyInfo.cs b/OpenSim/Region/Physics/BulletSPlugin/Properties/AssemblyInfo.cs index 0d1db3bd7c..d240c71814 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/Physics/ConvexDecompositionDotNet/Properties/AssemblyInfo.cs b/OpenSim/Region/Physics/ConvexDecompositionDotNet/Properties/AssemblyInfo.cs index 5ff945d370..cafd7f41f5 100644 --- a/OpenSim/Region/Physics/ConvexDecompositionDotNet/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/Physics/ConvexDecompositionDotNet/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/Physics/Manager/AssemblyInfo.cs b/OpenSim/Region/Physics/Manager/AssemblyInfo.cs index 36b4235729..5da39564d9 100644 --- a/OpenSim/Region/Physics/Manager/AssemblyInfo.cs +++ b/OpenSim/Region/Physics/Manager/AssemblyInfo.cs @@ -55,4 +55,4 @@ using System.Runtime.InteropServices; // You can specify all values by your own or you can build default build and revision // numbers with the '*' character (the default): -[assembly : AssemblyVersion("0.7.5.*")] +[assembly : AssemblyVersion("0.7.6.*")] diff --git a/OpenSim/Region/Physics/Meshing/Properties/AssemblyInfo.cs b/OpenSim/Region/Physics/Meshing/Properties/AssemblyInfo.cs index 4cc17312e8..bd70296cb6 100644 --- a/OpenSim/Region/Physics/Meshing/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/Physics/Meshing/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/Physics/OdePlugin/AssemblyInfo.cs b/OpenSim/Region/Physics/OdePlugin/AssemblyInfo.cs index 3c4f06ad16..f477ed1119 100644 --- a/OpenSim/Region/Physics/OdePlugin/AssemblyInfo.cs +++ b/OpenSim/Region/Physics/OdePlugin/AssemblyInfo.cs @@ -55,4 +55,4 @@ using System.Runtime.InteropServices; // You can specify all values by your own or you can build default build and revision // numbers with the '*' character (the default): -[assembly : AssemblyVersion("0.7.5.*")] +[assembly : AssemblyVersion("0.7.6.*")] diff --git a/OpenSim/Region/Physics/POSPlugin/AssemblyInfo.cs b/OpenSim/Region/Physics/POSPlugin/AssemblyInfo.cs index d07df02e2b..4289863ffa 100644 --- a/OpenSim/Region/Physics/POSPlugin/AssemblyInfo.cs +++ b/OpenSim/Region/Physics/POSPlugin/AssemblyInfo.cs @@ -55,4 +55,4 @@ using System.Runtime.InteropServices; // You can specify all values by your own or you can build default build and revision // numbers with the '*' character (the default): -[assembly : AssemblyVersion("0.7.5.*")] +[assembly : AssemblyVersion("0.7.6.*")] diff --git a/OpenSim/Region/RegionCombinerModule/Properties/AssemblyInfo.cs b/OpenSim/Region/RegionCombinerModule/Properties/AssemblyInfo.cs index 085eb59e1b..ca945b579f 100644 --- a/OpenSim/Region/RegionCombinerModule/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/RegionCombinerModule/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Properties/AssemblyInfo.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Properties/AssemblyInfo.cs index d173db0ae9..3c01eecc89 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/Properties/AssemblyInfo.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/Properties/AssemblyInfo.cs index 573a80377f..b1825acb11 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/YieldProlog/Properties/AssemblyInfo.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/YieldProlog/Properties/AssemblyInfo.cs index f6d5d41040..342dbff3c8 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/YieldProlog/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/YieldProlog/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/ScriptEngine/Shared/CodeTools/Properties/AssemblyInfo.cs b/OpenSim/Region/ScriptEngine/Shared/CodeTools/Properties/AssemblyInfo.cs index c65caa872d..fd37753eb0 100644 --- a/OpenSim/Region/ScriptEngine/Shared/CodeTools/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ScriptEngine/Shared/CodeTools/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/ScriptEngine/Shared/Instance/Properties/AssemblyInfo.cs b/OpenSim/Region/ScriptEngine/Shared/Instance/Properties/AssemblyInfo.cs index 470e1a1842..74747a2435 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Instance/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Instance/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/ScriptEngine/Shared/Properties/AssemblyInfo.cs b/OpenSim/Region/ScriptEngine/Shared/Properties/AssemblyInfo.cs index e6e8777ed2..d08b0a6388 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/ScriptEngine/XEngine/Properties/AssemblyInfo.cs b/OpenSim/Region/ScriptEngine/XEngine/Properties/AssemblyInfo.cs index bd26a8b61b..a8871715a1 100644 --- a/OpenSim/Region/ScriptEngine/XEngine/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ScriptEngine/XEngine/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Region/UserStatistics/Properties/AssemblyInfo.cs b/OpenSim/Region/UserStatistics/Properties/AssemblyInfo.cs index 100cf99d9e..caa6d4e2a0 100644 --- a/OpenSim/Region/UserStatistics/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/UserStatistics/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Server/Base/Properties/AssemblyInfo.cs b/OpenSim/Server/Base/Properties/AssemblyInfo.cs index 4bbe358258..8b4556418e 100644 --- a/OpenSim/Server/Base/Properties/AssemblyInfo.cs +++ b/OpenSim/Server/Base/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Server/Handlers/Properties/AssemblyInfo.cs b/OpenSim/Server/Handlers/Properties/AssemblyInfo.cs index 53e9737def..d72d36a091 100644 --- a/OpenSim/Server/Handlers/Properties/AssemblyInfo.cs +++ b/OpenSim/Server/Handlers/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Server/Properties/AssemblyInfo.cs b/OpenSim/Server/Properties/AssemblyInfo.cs index ebc10fbcf5..ee45e10a49 100644 --- a/OpenSim/Server/Properties/AssemblyInfo.cs +++ b/OpenSim/Server/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/AssetService/Properties/AssemblyInfo.cs b/OpenSim/Services/AssetService/Properties/AssemblyInfo.cs index 15094001f2..b57052c4d7 100644 --- a/OpenSim/Services/AssetService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/AssetService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/AuthenticationService/Properties/AssemblyInfo.cs b/OpenSim/Services/AuthenticationService/Properties/AssemblyInfo.cs index 0eb2ba71eb..99c46ecb33 100644 --- a/OpenSim/Services/AuthenticationService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/AuthenticationService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/AuthorizationService/Properties/AssemblyInfo.cs b/OpenSim/Services/AuthorizationService/Properties/AssemblyInfo.cs index 6d6b11e42b..33e48d3c3c 100644 --- a/OpenSim/Services/AuthorizationService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/AuthorizationService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/AvatarService/Properties/AssemblyInfo.cs b/OpenSim/Services/AvatarService/Properties/AssemblyInfo.cs index 0944149c5f..8b0214a536 100644 --- a/OpenSim/Services/AvatarService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/AvatarService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/Base/Properties/AssemblyInfo.cs b/OpenSim/Services/Base/Properties/AssemblyInfo.cs index 306b699d4b..2825a8865e 100644 --- a/OpenSim/Services/Base/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/Base/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/Connectors/Properties/AssemblyInfo.cs b/OpenSim/Services/Connectors/Properties/AssemblyInfo.cs index bfb681b4cd..73fc72c5a6 100644 --- a/OpenSim/Services/Connectors/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/Connectors/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/FreeswitchService/Properties/AssemblyInfo.cs b/OpenSim/Services/FreeswitchService/Properties/AssemblyInfo.cs index 58c7283505..fdd4b694f5 100644 --- a/OpenSim/Services/FreeswitchService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/FreeswitchService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/Friends/Properties/AssemblyInfo.cs b/OpenSim/Services/Friends/Properties/AssemblyInfo.cs index dddb091248..cb624f03db 100644 --- a/OpenSim/Services/Friends/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/Friends/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/GridService/Properties/AssemblyInfo.cs b/OpenSim/Services/GridService/Properties/AssemblyInfo.cs index 5c0c8f4e85..09084d328d 100644 --- a/OpenSim/Services/GridService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/GridService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/HypergridService/Properties/AssemblyInfo.cs b/OpenSim/Services/HypergridService/Properties/AssemblyInfo.cs index 49f21769bd..fe1889d06f 100644 --- a/OpenSim/Services/HypergridService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/HypergridService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/Interfaces/Properties/AssemblyInfo.cs b/OpenSim/Services/Interfaces/Properties/AssemblyInfo.cs index 4723553dd1..669e0b889c 100644 --- a/OpenSim/Services/Interfaces/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/Interfaces/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/InventoryService/Properties/AssemblyInfo.cs b/OpenSim/Services/InventoryService/Properties/AssemblyInfo.cs index 41ad9f84c4..0870065ff3 100644 --- a/OpenSim/Services/InventoryService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/InventoryService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/LLLoginService/Properties/AssemblyInfo.cs b/OpenSim/Services/LLLoginService/Properties/AssemblyInfo.cs index 62c6e0ff81..3ac8af7a1f 100644 --- a/OpenSim/Services/LLLoginService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/LLLoginService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/MapImageService/Properties/AssemblyInfo.cs b/OpenSim/Services/MapImageService/Properties/AssemblyInfo.cs index 23eb6644de..69adf73a37 100644 --- a/OpenSim/Services/MapImageService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/MapImageService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/PresenceService/Properties/AssemblyInfo.cs b/OpenSim/Services/PresenceService/Properties/AssemblyInfo.cs index 8c03dd7892..040bbe0640 100644 --- a/OpenSim/Services/PresenceService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/PresenceService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Services/UserAccountService/Properties/AssemblyInfo.cs b/OpenSim/Services/UserAccountService/Properties/AssemblyInfo.cs index 24e1d16750..576ccce768 100644 --- a/OpenSim/Services/UserAccountService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/UserAccountService/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs b/OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs index e1a1fda568..b98e2d2712 100644 --- a/OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs +++ b/OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Tools/Configger/Properties/AssemblyInfo.cs b/OpenSim/Tools/Configger/Properties/AssemblyInfo.cs index 62a2f2d8ec..89aafa3b57 100644 --- a/OpenSim/Tools/Configger/Properties/AssemblyInfo.cs +++ b/OpenSim/Tools/Configger/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs b/OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs index 20598f1b60..c4d278a2e7 100644 --- a/OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs +++ b/OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/ThirdParty/SmartThreadPool/AssemblyInfo.cs b/ThirdParty/SmartThreadPool/AssemblyInfo.cs index af9baff8af..e2465b032b 100644 --- a/ThirdParty/SmartThreadPool/AssemblyInfo.cs +++ b/ThirdParty/SmartThreadPool/AssemblyInfo.cs @@ -29,7 +29,7 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: -[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyVersion("0.7.6.*")] // // In order to sign your assembly you must specify a key to use. Refer to the From 562067eb16e2e6f4d097cae7795c5c86d4064db7 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Tue, 5 Feb 2013 02:09:21 +0000 Subject: [PATCH 488/851] Fix bug where viewers would not see the "Module command functions not enabled" error if these were disabled and a viewer attempted to call one. This was not working because the shouter was wrongly signalled as an agent rather than a prim --- .../Shared/Api/Implementation/MOD_Api.cs | 64 ++++++++++++++++++- 1 file changed, 62 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/MOD_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/MOD_Api.cs index 90456721c0..2fe6948d23 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/MOD_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/MOD_Api.cs @@ -29,8 +29,10 @@ using System; using System.Reflection; using System.Collections; using System.Collections.Generic; +using System.Reflection; using System.Runtime.Remoting.Lifetime; using System.Threading; +using log4net; using OpenMetaverse; using Nini.Config; using OpenSim; @@ -56,6 +58,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api [Serializable] public class MOD_Api : MarshalByRefObject, IMOD_Api, IScriptApi { +// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + internal IScriptEngine m_ScriptEngine; internal SceneObjectPart m_host; internal TaskInventoryItem m_item; @@ -109,8 +113,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (message.Length > 1023) message = message.Substring(0, 1023); - World.SimChat(Utils.StringToBytes(message), - ChatTypeEnum.Shout, ScriptBaseClass.DEBUG_CHANNEL, m_host.ParentGroup.RootPart.AbsolutePosition, m_host.Name, m_host.UUID, true); + World.SimChat( + Utils.StringToBytes(message), + ChatTypeEnum.Shout, ScriptBaseClass.DEBUG_CHANNEL, + m_host.ParentGroup.RootPart.AbsolutePosition, m_host.Name, m_host.UUID, false); IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface(); wComm.DeliverMessage(ChatTypeEnum.Shout, ScriptBaseClass.DEBUG_CHANNEL, m_host.Name, m_host.UUID, message); @@ -124,6 +130,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api /// string result of the invocation public void modInvokeN(string fname, params object[] parms) { +// m_log.DebugFormat( +// "[MOD API]: Invoking dynamic function {0}, args '{1}' with {2} return type", +// fname, +// string.Join(",", Array.ConvertAll(parms, o => o.ToString())), +// ((MethodInfo)MethodBase.GetCurrentMethod()).ReturnType); + Type returntype = m_comms.LookupReturnType(fname); if (returntype != typeof(string)) MODError(String.Format("return type mismatch for {0}",fname)); @@ -133,6 +145,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_String modInvokeS(string fname, params object[] parms) { +// m_log.DebugFormat( +// "[MOD API]: Invoking dynamic function {0}, args '{1}' with {2} return type", +// fname, +// string.Join(",", Array.ConvertAll(parms, o => o.ToString())), +// ((MethodInfo)MethodBase.GetCurrentMethod()).ReturnType); + Type returntype = m_comms.LookupReturnType(fname); if (returntype != typeof(string)) MODError(String.Format("return type mismatch for {0}",fname)); @@ -143,6 +161,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Integer modInvokeI(string fname, params object[] parms) { +// m_log.DebugFormat( +// "[MOD API]: Invoking dynamic function {0}, args '{1}' with {2} return type", +// fname, +// string.Join(",", Array.ConvertAll(parms, o => o.ToString())), +// ((MethodInfo)MethodBase.GetCurrentMethod()).ReturnType); + Type returntype = m_comms.LookupReturnType(fname); if (returntype != typeof(int)) MODError(String.Format("return type mismatch for {0}",fname)); @@ -153,6 +177,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Float modInvokeF(string fname, params object[] parms) { +// m_log.DebugFormat( +// "[MOD API]: Invoking dynamic function {0}, args '{1}' with {2} return type", +// fname, +// string.Join(",", Array.ConvertAll(parms, o => o.ToString())), +// ((MethodInfo)MethodBase.GetCurrentMethod()).ReturnType); + Type returntype = m_comms.LookupReturnType(fname); if (returntype != typeof(float)) MODError(String.Format("return type mismatch for {0}",fname)); @@ -163,6 +193,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Key modInvokeK(string fname, params object[] parms) { +// m_log.DebugFormat( +// "[MOD API]: Invoking dynamic function {0}, args '{1}' with {2} return type", +// fname, +// string.Join(",", Array.ConvertAll(parms, o => o.ToString())), +// ((MethodInfo)MethodBase.GetCurrentMethod()).ReturnType); + Type returntype = m_comms.LookupReturnType(fname); if (returntype != typeof(UUID)) MODError(String.Format("return type mismatch for {0}",fname)); @@ -173,6 +209,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Vector modInvokeV(string fname, params object[] parms) { +// m_log.DebugFormat( +// "[MOD API]: Invoking dynamic function {0}, args '{1}' with {2} return type", +// fname, +// string.Join(",", Array.ConvertAll(parms, o => o.ToString())), +// ((MethodInfo)MethodBase.GetCurrentMethod()).ReturnType); + Type returntype = m_comms.LookupReturnType(fname); if (returntype != typeof(OpenMetaverse.Vector3)) MODError(String.Format("return type mismatch for {0}",fname)); @@ -183,6 +225,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Rotation modInvokeR(string fname, params object[] parms) { +// m_log.DebugFormat( +// "[MOD API]: Invoking dynamic function {0}, args '{1}' with {2} return type", +// fname, +// string.Join(",", Array.ConvertAll(parms, o => o.ToString())), +// ((MethodInfo)MethodBase.GetCurrentMethod()).ReturnType); + Type returntype = m_comms.LookupReturnType(fname); if (returntype != typeof(OpenMetaverse.Quaternion)) MODError(String.Format("return type mismatch for {0}",fname)); @@ -193,6 +241,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_List modInvokeL(string fname, params object[] parms) { +// m_log.DebugFormat( +// "[MOD API]: Invoking dynamic function {0}, args '{1}' with {2} return type", +// fname, +// string.Join(",", Array.ConvertAll(parms, o => o.ToString())), +// ((MethodInfo)MethodBase.GetCurrentMethod()).ReturnType); + Type returntype = m_comms.LookupReturnType(fname); if (returntype != typeof(object[])) MODError(String.Format("return type mismatch for {0}",fname)); @@ -250,6 +304,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return ""; } +// m_log.DebugFormat( +// "[MOD API]: Invoking dynamic function {0}, args '{1}' with {2} return type", +// fname, +// string.Join(",", Array.ConvertAll(parms, o => o.ToString())), +// ((MethodInfo)MethodBase.GetCurrentMethod()).ReturnType); + Type[] signature = m_comms.LookupTypeSignature(fname); if (signature.Length != parms.Length) MODError(String.Format("wrong number of parameters to function {0}",fname)); From 2163bebeb40755b59b0b186f0d75aae5f16d8c84 Mon Sep 17 00:00:00 2001 From: Melanie Date: Tue, 5 Feb 2013 20:09:02 +0000 Subject: [PATCH 489/851] Try to fix uploaded mesh rotations - code from Avination code base. --- .../Linden/Caps/BunchOfCaps/BunchOfCaps.cs | 41 +++++++++++++------ 1 file changed, 28 insertions(+), 13 deletions(-) diff --git a/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs b/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs index a534522b6b..6ebe660a34 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs @@ -641,25 +641,40 @@ namespace OpenSim.Region.ClientStack.Linden grp.AddPart(prim); } - // Fix first link number + Vector3 rootPos = positions[0]; + if (grp.Parts.Length > 1) + { + // Fix first link number grp.RootPart.LinkNum++; - Vector3 rootPos = positions[0]; - grp.AbsolutePosition = rootPos; - for (int i = 0; i < positions.Count; i++) + Quaternion rootRotConj = Quaternion.Conjugate(rotations[0]); + Quaternion tmprot; + Vector3 offset; + + // fix children rotations and positions + for (int i = 1; i < rotations.Count; i++) + { + tmprot = rotations[i]; + tmprot = rootRotConj * tmprot; + + grp.Parts[i].RotationOffset = tmprot; + + offset = positions[i] - rootPos; + + offset *= rootRotConj; + grp.Parts[i].OffsetPosition = offset; + } + + grp.AbsolutePosition = rootPos; + grp.UpdateGroupRotationR(rotations[0]); + } + else { - Vector3 offset = positions[i] - rootPos; - grp.Parts[i].OffsetPosition = offset; + grp.AbsolutePosition = rootPos; + grp.UpdateGroupRotationR(rotations[0]); } - for (int i = 0; i < rotations.Count; i++) - { - if (i != 0) - grp.Parts[i].RotationOffset = rotations[i]; - } - - grp.UpdateGroupRotationR(rotations[0]); data = ASCIIEncoding.ASCII.GetBytes(SceneObjectSerializer.ToOriginalXmlFormat(grp)); } From 1dc09d8e8f4a6caa321d0227722af97ee4aeed6a Mon Sep 17 00:00:00 2001 From: teravus Date: Tue, 5 Feb 2013 18:02:25 -0500 Subject: [PATCH 490/851] We're not really done here.. but we're getting there. Socket Read is working.. Still have to do Header.ToBytes and compose a websocket frame with a payload. --- .../Servers/HttpServer/BaseHttpServer.cs | 38 +- .../Framework/Servers/Tests/OSHttpTests.cs | 5 + .../TCPJSONStream/OpenSimWebSocketBase.cs | 6 +- bin/HttpServer_OpenSim.dll | Bin 115712 -> 116224 bytes bin/HttpServer_OpenSim.pdb | Bin 413184 -> 302592 bytes bin/HttpServer_OpenSim.xml | 8996 ++++++++--------- 6 files changed, 4543 insertions(+), 4502 deletions(-) diff --git a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs index b24336deee..dcfe99a070 100644 --- a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs +++ b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs @@ -54,6 +54,8 @@ namespace OpenSim.Framework.Servers.HttpServer private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); private HttpServerLogWriter httpserverlog = new HttpServerLogWriter(); + public delegate void WebSocketRequestDelegate(string servicepath, WebSocketHTTPServerHandler handler); + /// /// Gets or sets the debug level. /// @@ -87,6 +89,9 @@ namespace OpenSim.Framework.Servers.HttpServer protected Dictionary m_pollHandlers = new Dictionary(); + protected Dictionary m_WebSocketHandlers = + new Dictionary(); + protected uint m_port; protected uint m_sslport; protected bool m_ssl; @@ -170,6 +175,22 @@ namespace OpenSim.Framework.Servers.HttpServer } } + public void AddWebSocketHandler(string servicepath, WebSocketRequestDelegate handler) + { + lock (m_WebSocketHandlers) + { + if (!m_WebSocketHandlers.ContainsKey(servicepath)) + m_WebSocketHandlers.Add(servicepath, handler); + } + } + + public void RemoveWebSocketHandler(string servicepath) + { + lock (m_WebSocketHandlers) + if (m_WebSocketHandlers.ContainsKey(servicepath)) + m_WebSocketHandlers.Remove(servicepath); + } + public List GetStreamHandlerKeys() { lock (m_streamHandlers) @@ -409,9 +430,24 @@ namespace OpenSim.Framework.Servers.HttpServer public void OnHandleRequestIOThread(IHttpClientContext context, IHttpRequest request) { + OSHttpRequest req = new OSHttpRequest(context, request); + WebSocketRequestDelegate dWebSocketRequestDelegate = null; + lock (m_WebSocketHandlers) + { + if (m_WebSocketHandlers.ContainsKey(req.RawUrl)) + dWebSocketRequestDelegate = m_WebSocketHandlers[req.RawUrl]; + } + if (dWebSocketRequestDelegate != null) + { + dWebSocketRequestDelegate(req.Url.AbsolutePath, new WebSocketHTTPServerHandler(req, context, 16384)); + return; + } + OSHttpResponse resp = new OSHttpResponse(new HttpResponse(context, request),context); + HandleRequest(req, resp); + // !!!HACK ALERT!!! // There seems to be a bug in the underlying http code that makes subsequent requests @@ -500,7 +536,7 @@ namespace OpenSim.Framework.Servers.HttpServer LogIncomingToStreamHandler(request, requestHandler); response.ContentType = requestHandler.ContentType; // Lets do this defaulting before in case handler has varying content type. - + if (requestHandler is IStreamedRequestHandler) { IStreamedRequestHandler streamedRequestHandler = requestHandler as IStreamedRequestHandler; diff --git a/OpenSim/Framework/Servers/Tests/OSHttpTests.cs b/OpenSim/Framework/Servers/Tests/OSHttpTests.cs index 3412e0f2f7..5b912b4ea2 100644 --- a/OpenSim/Framework/Servers/Tests/OSHttpTests.cs +++ b/OpenSim/Framework/Servers/Tests/OSHttpTests.cs @@ -70,6 +70,11 @@ namespace OpenSim.Framework.Servers.Tests public void Close() { } public bool EndWhenDone { get { return false;} set { return;}} + public HTTPNetworkContext GiveMeTheNetworkStreamIKnowWhatImDoing() + { + return new HTTPNetworkContext(); + } + public event EventHandler Disconnected = delegate { }; /// /// A request have been received in the context. diff --git a/OpenSim/Region/ClientStack/TCPJSONStream/OpenSimWebSocketBase.cs b/OpenSim/Region/ClientStack/TCPJSONStream/OpenSimWebSocketBase.cs index 379438d384..6d025434a7 100644 --- a/OpenSim/Region/ClientStack/TCPJSONStream/OpenSimWebSocketBase.cs +++ b/OpenSim/Region/ClientStack/TCPJSONStream/OpenSimWebSocketBase.cs @@ -47,7 +47,7 @@ namespace OpenSim.Region.ClientStack.TCPJSONStream public void NetworkStop() { - m_tcpServer.Stop(); + // m_tcpServer.Stop(); } public bool HandlesRegion(Location x) @@ -62,12 +62,12 @@ namespace OpenSim.Region.ClientStack.TCPJSONStream public void Start() { - m_tcpServer.Start(); + //m_tcpServer.Start(); } public void Stop() { - m_tcpServer.Stop(); + // m_tcpServer.Stop(); } } } \ No newline at end of file diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index d910bb9d27ff9026d5b061592f6c1b05f4cd0801..9cd1e0857b42badaad81e63a72ebb2c26effeb8a 100755 GIT binary patch literal 116224 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 z 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 diff --git a/bin/HttpServer_OpenSim.pdb b/bin/HttpServer_OpenSim.pdb index b9161e1802f78b40d40abb781c7a8650f0c0dc5d..d20a0c5074c5c0c5d35a409c4667a0e275481e51 100644 GIT binary patch literal 302592 zcmeF434B!5`Tl1h42wir6%a6iuqykms9`lIJE*9rgk&I*ki;Y?Skw`5Uy3bNRII4D zRjjxcEh;K1Dk^T3TD7XxGAHv2KDUSJF`)nky8SgI_7_10^ENu-3SE6@_Uc@W#quR zpZ1vAoCAZ?RgJgQ=3K0~Y2WMFK0#9lnoto0%w>U}e#(IBMs&5u{E~B^?k_oUd(!qF zb6{!DKEW^E*?UqD$!=GT{LP|z&y2b8hpFBFQgr`$&av!-J?58}1IhY-jb{G-U)M@` zBLDJoqxPj}$IMBGKUM#grc0&-)=jvn&JF8F9d-3bAHLjl$>H{Tuj|e~zUi!2nm*h; z5ZKXR%)>KoDb0PcaM9QYwhe#voQhko_Ed(z(=W}w;*T$1|LA9%zFU8P+i(9>`*N~o zrZ`>Y-+JAEADV1vv(FhAi~@UA4JczboI%pZdphYi4fLzF4QL{CoW+H2(6vj@$6=wr^KF zHR7cMYhO;*%oL}q{L9{|_fek%H(tkmT3;Xr`yXSNS)+_=9a_ zv-%B{O7;i?D-DeLN{l8bymki2R6;B^%+}3G9X>$ ze_qF-bDnGV*vnIod3?a;Hy-U#Ly}+XqnWPqKW6V$-(vku({4TX_R&wib-=;R8?S6tLy}+XqnWPqFFK*?-@9+@UD;{i*N^vU zHsbYKpRqM01JYIg8&{3H>#VP~v{-iT!HX|>cv0sXlKfg9&2*LjL+h{T-}$|7K0oc! zzuY~2{4IO7i`S5vm9FxCCuilV8v=JPerd=>7o2&;1y9$I+N~|S3_!6y2}5%jMb-=WzStTbMQ55=A5u;X$?t!t&e89%70|$%)h>R z)6lBxFZlg=T|2M-Q?1X~8j=C&D*wUd_g&uOq#usGwDp{NE1G>cvW6tT)<-j4<$v|J zw;pj#n}7WCfJ25ncYM#iudVeNTSGD+UFCoM2`5JmnUgs-FYxuTMdz$;S3{Ct>!X>j z@_(q&wI2^CxcpB~zd4{R(D6+3zHqJ2+!~Mp=_>ytdp-WY)6?I( zX|F%ljMVRmWxC4$uXXRQ|78E$*S$5We0%AFv#;Bevo#|J(pCPWXRLhvo+0z!fB3nZ zCtW>n+CDWS^?PEOuJRvp)TV>htoZi9e~q8s^tg++{$Wqf){GoTSNWek?78FXeO++m zsIK2WH~8M{J%B{~x~L)>ppVH*m?VugocWuHB#hR_imihGamx%KwWVmvvdY z@296f{rJ$O!#bT-zlJ2g)<-j4!X>j_W$C! ztpZIx`yp`B0}l+_`0#aWYJJAmkPJvy`FA^R@EeDIUG?Y@hu2#^srw5@*O27b`e>%B z{D*db`lV|=xp?0PAHQH-i_412YkkJnkPJvy`Cs^#w?hxD-F9NL^Clg(x_Hsn8j}24 zAI)@?f7PVc_xx>naijk4^&2$lrDm7b`i!k18IZ2>U$^|Xp9K1Z-#Gi|2ETr_)3p!Q zkmT3;Xr`AdJ|6ZFX&MrFfrR#6Me&24FtgIYR>oc~7WI(#g|IZJsTiZ5t(pUA@ zetT-h;ro72Ly}+XqnWPq|9bxozqw=KW0x&@@1g0BH0r%)|8EVcS?MbOD}v87YIS9| z*RFnJ^A%eTs;&`zQ5Vn^bOU^T zJfM$?9t5y3CW9$JFTLx*_c7pDFby0BbQtytU^+MvoCHn=GeAC= z2?{_V2!mN*HYftcK#OT}Kna)&NhkAo+`dhjH83Oo%qfM>w7;5o1nJP%#~FM>_r74Rx} z4g3YX4mN|of;Yh5z~8|Z@D6wvya(O~AAk?RKfqS-5%?H<0zL(wfq#O}!8Y&(_!4{t zwu7(1H{f4j2ly6z2mTGd2S0!x!A~F%VgbV4}`#8pfShd$e2p9?u1&4vdK`s~uhJz7cBp3~j0C`{xI1(HM#)5HRJeU9` zf=OU9m;$DPqroxYSTGG72aX3Pfa%~wa1xjS^1)0{0K#Avm<@_RF*pUx0VQBACK1ZICuiA2Ty{h zz|&v@cm_NRo&y`f^WX*WBG?380xyGCz^mXj@E7np*bM#(-T;3CZ-TeL+u-kD3wQ^- z3*H0ogAc%m;2&Ts_y~LqJ^`PC&%i&y=U^N75_|==gRj9i;9p<|_!fKz{tdndKY$;> zPe6lq5Yz#6K?bM?LZCiq02+cuU@wpf_6GZaCZH*32AYEwpe5KB><3zb)}Rg8AG8JS zKznci$O74*1Lz2HKqt@{bOBvKH_#m%2o3^0Ku^#M^ag!EU(gTq2Lr%Ba0nO*4h4sS z!$B?>28M$XU?dm?MuQ_j9vB0T1V@3fU>q0^CV)v`GMEaE2FHM7!8C9jI3An;rh^l~ zN#JBK1LT95pa2wtFqj2qgCbB2P62a33788?K^Z6qr-BMl397(6a2hxr%m)j=8Q@o7 zAvhD919xcoeJykAcU*6JR}f5fY-rh@K^8#_#1c&ybb;iwt#oQyWlt=Kf{(z*;1lpE z_ze6Ld=9pOFTj`JE3h4W4ZZ>Y0z1IB;5+bd@ICke{0M#mQpkg#4yX$<#t-O+Zu73^WHVKufSM*blS= zZz}!X_-@30%9~UoGp?*~UP-ue`s8qB*}RH^@aW=_u)QarQ;FYP&*uuy=UMn{@1+{& zF{S16s#1+!vGb(5xi@NlLAboCxU95t`slKXnZ<>L;nL{6RALv7c|6N`9KDxH-c1gl zIxk#VHKMF+PI0(0l_*wNp9*3=RW}#Ms6~t@DGrwsuhOdU{FDl|SPi4V_*M|}t-5hj z)F$Rvzmevchmh<@9NDOT6EyM2jjux6pYx ze{PBQJC#`Gg-gm6!3i@@2^Ul;&Z$JO$n&kt_@?Nl61TV<95=6|s+h`AmF|3;>pV_F zZbtjG%IU-N3%x!hdNY-rjdp64(`V)vdVNatW-7VNXjV?g98ODDXT3^8Ul$*%RC10n z)uhixDwUj4A2+tRvMO8}t{9$QnQ{+P;`uex^DC7e&&4a1oKpAe;*?50P4={;!r}`0 z6kVkfs|w>=McDeLt5o8~7=@x})J(5=+B>PlkX}iCD*L>KY44;GPuDMxnOlx3$cUeB z)u)LSWmRQW3(CV-q!MS>Qx_-rU+(zrWb!RmB{ADdtYe0kH48p?9~gonMmw+DiK!2bu*CI?^NTMhEgY9X)o>ga<&J?UaKWh4sIW~Ve8@%pNn_!pLc`JR8Nj6L3DWORN(RawP? zR5DYw&zp?QiuqRExY?=Fuma6J!-Z+dK09B^_q69rLfa zSo$u=-qVViI;K(&G+IWdi@pmoIO=zG+g5Z^Q#pMMOA!^N`6YH8FKUrW%%c;V%IU?P z?{;}FYLTwmd~A5;l;Wy1FXNpao>_^fsn_AWq+@+Fi__Aj`CDM@cQm8Z(#I(sW+ieA zxspo7Pz23tq_Q`qI^eBTFwZn=x#RLn^Jk~l+^njiZp?Z)H|Aw^TbVcddoz`>#iil2 z6uGAac$1Y9yiHpvs|!oDfYnu{RJK%-v@MgW#-(qS)T?zY2c|(i_B>-DFm)|i<>sxd zRhrpxbiFN=()0~Fm1ce%U2IFGd`A?83+AK}tpevkb=&2bv1PN5t)LG|X?!j&DVu$I z)R*eUMSZJVElVX+RMFj9St_Ly9i1wtk1u0Id0uH@^j0eIi;hT@(@V>$X35{^tyJQh zT>qZJR3@cmtK>>}rSrDBr5%l}c^KqfrIM}Dc$()y-c>63=?zws=7r~_l!4yp#A7(? zPjz$58$S1ZsRGw+1w6bZ|4NI%^Y{d9e-7=1!bJ?pjEN#Zmx$IRM);Ob`bLI4-OI2CQ zDvHlwvD58~Nu@qUJL$^l^L&0sZ>Lln(Kg+RV*2+{rD^|^*Bh}$l)fgz+EA>`Xus;+ z`|f-<;KYvXod$`fdqehqgJT-8M;hd{XRkGI=Iu`GmF;Y=4sOMsZXmO7JG-~}EcUaO zwr1Zm=#a&pa`0n)_8Q~Ix(xR9)?<(D0r=a1{ph%PWH0u|HfFy!*KdPc_F>;Kcol!M z@#9D0a1t^bTe9~WdA*3&l62|4h`sUmzL4F=|3~)EUfPts&R}^P_CSNLxVN+e`?us}y;XMG*mHXvjFm-7mC_?5@Pww~@?BNGHGr5HGTOhL)zYeCZB$^EB zSrL#qiF$UX{kiAw|40t(|8DPK2K~XjelHB2Ugw3N>g?{A!w^0RsQO;L<)@$OAO3yk zAAg!LRDP&m>k2E3vV&fFcN)Ld->GiPE(|-PHtuAfYLQh}vTFO1m7QN!{iu`ucR|-p zl2!jIS=sqz)h9aHw-=oLg=E#YN>+A$S@nZXw*5K(Y$jRtlaiI4Usi3{$(HwC(#yn` zwk=uN`DN7)JK0x0U)n;l>YpVmJHM>@c_-Vf=RIFZR{g(ZW#^YwpWZa4Br7|=taJ}2yROL>Yvr$W63NQWFRL-p$>uz9 zXB)|Ctdy+m{Ib%coa|E{Ub928(yt^dJHM>PVJACw^CRsft8rPfvh&Ms<(`v0Wa9D? z$zBd5D?7iebT}t_+mOpom8^6-$;!?zE8Wb=9`V`h4@y=#n`C9@mzAF4WUuP`)88a3 zJw~#!^UF%tbh176-}tm-rISilc79puFHW}d)n`{oR(g$OW#^aGyL?Xe*&exzBrE+_ zva<8bO7C#8ExPZ&pJb(vNLF@!S?PjK_SkP;&y%clM9Ip|FDsqN$#w{4d@5P#Qj(RO zUsighlYMvHH783}`le)M=a-c}>16A4*?)v&rDsZ3c79puk6NcztZO=D?7ie<{nP=+)pkWAX&{xBr7|=tmb1*w&&M3|68(}r%6_Jep$`CoNQ%} zr@oY|=3|nTonKb-HYdCFwr6`vR`WT@%FZvVd8d;d_U2+?=)r_&4!%0?lep%`EPIhto8E?p6>HLzFonKb-ODEgr*X6HB zR`X8D%FZvVxt^09^S6t~N>+0~$;!?zt9h=IJ^he=k4skbV9CnPFRQt@lO5CVuB#=h zIl5$J=a=PHtu<6R&eG{l3DVDdxj@lJ&B9#4go_|iJCKsbKNmsoM(rtPPT!Q z&i@cDeq{u0I7+wTI?xN}!X)9Gg-j!VIBd8pn-eZnM5+^(D+iqsA=AK;`Fl2DHFaUx zaH2kGz2+<>{YI^fpf2kCrU+_+&Txt}BquT%d>V2Rl>Ep6HjjhR zyjQf5HHPLGX&&ehm9_blT(*l(wl}VAI)l;ls}3kUnO?}MtdS#bZB2Z(bFIA6nubi4 z`D@RjI*8v?-@pv85G)0&z#e0BK<&)cJC`q~`Z9++3#~z~G*vR8{TCr8S!eHW|9kt| z|CkAC!|7@FF0M_yHp0*zHD?mnZj9glxb9XvOz2zYdtsQ)(F^4)WCpu1Mi;Z0l0|&% zQVC~^7mnJRGiMXd7#EKEu<`kGQw=9i4GH7#S0aRSj0>kSwQyWtsWU!g{OLJ|a87dJ zC_Q?VP+I*oxv;X-abf&vT0~fLTv$p|ieVk>jR8x%u>51qxr9~e!cw}9E-xv|FN}s* zoqFNI3#f4>q-`vA$<1}^Gxs$>Q>^*Bv3 zgA*s~agt;Pr%l%56v+&-IfGLyGYByQ-|F&L>5#5s$D5!z3zJKuuM(~?Jp(rW(pBnm zGNW@h644hJBwKIWgF|A^jY&a#YXoYS>boPpS91Xx7E$WO;EPIlY~ zM*ClN$1YCflgZm$xE?jH9w&D?cXk{|u6GSbUU3pPLd$E-iJs1#?bnlsH`WVpTr|9W zqwZ`Uojkk=UU=e0)PQ!By24XBY=4_vmps}2D1Yfrs8e;h2--H`VEu67sCqs5;%kUmO)v{kL}!3y7UY{rW~vX zo541a5v1*d{$MQ7IZ({Y%=v_?;0-{!)Ayi79sB`02dWBO3RVG~7p8N&bhehxx6)Zu zV?iNU2x_}g*1Nu6>qIh)2~oqEQD{{ zKP6mMRa`o|(zv5q#MxKQwBzw$?(594e(+UZ`r8l>RT;m3c2~G{(*pSj$VTRR&yC`) zJodXm$*|d2Vdq5}e}&yy7g0R4N|LxP;&h#jN*Lw{OXhE90(stxS72l~8Vy;hJarc4 zGTh0HlT-ZV)rmXFd)do<%%1+)mp=L101uXe?#ONR!dG4rT)exgig5niSf1>feqr?( z)l=o6`qOp5*2iG9E=!NN56IB}MOcP3`h_CjmTQ%n^a=HWS+M#*?nQ>c9pGFz2ObS~ zg2%(iMoxgGN6@G1oa#s!tiE*td?44E{LN%!&!jic?`f_2JZ6qZb_vAHucbF$x~abtbV?_$@er zucUX#$o~xmJPoU<=q|ez`fIzR9hrEccSBw&DzD=7v^L+0|AP*MFyR zOR~=1zy4Fb{w%oD{;YwCK>Ru{<5lP(7dOpKqkAcLZ(gc2y1s+9;-x3KPDA^Ms0}tV zZHi|#a6{UzTZ>fxLq8F)@k*|vqIaRkb&BdgdY&(%wzq@!)|f)c0l6xi|FTgKuKYEA z$&_0%e>smd)bhOK<-f_3b@u-9_mAl#%1TN&UPiCZ_dG&J@)Q@u=>S?E^y>sXFJN|o zPM{a2PzHF5y=Sy&8P^l-+?zIvaP{h4=x6oL<%wGZb48Zttm}q9G0nX$^NYy2wmw9i&qTo$$uk? zI53C$vFp!G62p`JEh9bOnIPd^=fX4VbE$`Sn72kZ*c-2I@WNG?oSz%I*@ZW(uyAB} zRz63G`Es;+dFu4$6<(N(!%@R|y`j+;dhKRJeraBQX<0Pp?{G)3}<(?bW$z3b!?Bg2ahbwEB4}Bp{HW6H1B%45AB>R-Tl4BRN}Q`yww@aA$>r@+~TdL0#5qSeU-~lNYLM-3A7qF?iaDTYo09y>D(}rDlgG~OI@}(H>^>|E zD1Vd&6`9}d%z3kBg)3rnzc{-ERpH9XywispSAJsouRQu5|Fzz5qUXQLo?CJL@BVse zeA&DHbhB6XTAy@=v$;bhUf2QJq#g#0O33%YxLXP2&dItu+BI4SD9bYY%)C17(v4xu z8rYaIKZqL6;|`tY;@GpmJlI$My-A!3k(aEqS3QzLo_!^)o35TEvsWG2_4XA%K7NT? z>7-V_2uAf1&3TppnP%uxx^4$6a+<@ng|px;a0j?2+!0nklLJe~>jbM`>e13_f1QTrh*V|uZy){tN1 z1%7Ltxt^J)%HEFg$@N6$o<>hpK1kM%(aB{;8rkmAbx1qDCSQjfg)GIa?;PR(fy_pG z74vi)JQSpS466+)?~ZG6Jf2pPl7ckoeUSlQ()?X=Bbh2!biim z!N3XHqala0i&UMs$w+Dezc$4xA5bef2b$rHF{WsX$*DSphS* zk7Tj}Zs+ov&#Qh2{@=X<8H{L|jHH>S-stxrAQlb-Bfv;-2$0)8Kz91=pnH;&|C(PM z4Ejdvoa(UEFM{SfS6s5D8e217KwO)1t@T}%*+LWdLutV6@#k1m-g(@&dO=WSYfJ`z z<+sct&yREA_FSI_=fdYl{W=`KrUWvGo9gIdV8`(wsj)`&e!lnn3f!sQXx8CqjAK@i%D4 zSuT}^D&5Dd#IL>Kn_+!)svt(6^`}+|zfcB9FqfgUH+PBk;#C_afWi$KZX4;}h`y@Ot<_Sb5O{ zewypS@CG;!ei9z%*`EME&-ID$i|{Eh?JSbX%9P5zDScK`>ReOuuqCaqDKn6ktm(_N zq)s%ZMTGeBS$)d1K6S4FrPz}C*oc-IqL0wCfDm%^={4))mrMif8&H4iYZVQndf$|m zpUKFkI?)^0@hxb^I?2$KqJ86=#7}kMEfY_ziyda%4dtF4e}ZN#;xev&Q@10kBh>AP z^ln?HP9T2MB^sSu>wOcM8DLrlaRH0LGO!wK1n+|e^%yh2NH85lz%sBJYyexp4$vgT zdLPII)4+VN1l$H{q9N&&nB7Y^jrt;Ui6!&*de%n1AM5F{_ShMtXUUz`3nc68Q_HlCo)l%&h>I{z?7t=Sn^tofqu!nUUT}ApzI@aP{zOME1 zRb!?zE6CRiy!Zr|lj{Di>3CL0Qn@IeZtj(%jKDOuWd7cO%-t>wts#uyD3+?~h2z#L zmU!W)A9vDH#fNQVGx1i&wqyn)$-Jnebk5;d%S*s*{K6dp82xHiOYNy$|=+0U3Jih@!x_ z$Ma}2K1QS~9KdxJoDFw{JE97Vg1d1&307Y_#k)p#GtW5+;DfM7M>2A!!;(7}?#2C! zV8#N*q7IA?-RbB1!4p01L%FFJ*SOxD`~B$GkHp^|=ANDxJ6(GQcWk=}B594fUX8^v zLkL4@IvCdY&T|kmA7DH&Cm@7iAy$N4J8ge;8t)>G@Kk{Y}*M&+mxDdD#OB{wLSX(XEiRdkZ9M>u+*d>B!Dsjh(jcCD-GRMOJM??APPv&eoxz=10c( z$6WHo%$e+%sgjJ1mwHD@W-wSs#%>1NKn4M|1zPJE3$#aHfol%C7Hk1KKx2R7F+T12 z^S_(}8ALAHA9)eI))(QGEM;x#;En&@IHh$0xmyAx>+JpGzkmO~Z~dQ^9DCO9yB~cn zu)AZg>b2T?;&X79Ch5vD>I0^~A{;`*_+!+7ZdkZoPTo~0HdlSRa zb95QaQ=GY#aL)6GqjNj4OeH<#UN|`}5coF2xzUBAaWI8&oGzhnwaGNKWd7bxI8V87 zSUVe4I&W^cBHz4sQk^updXQV!2I4QHKM>aIF02tH;rxo~<=Yva{=Cf#!=E1Jk)iio z81~(mo=NI`&oN#?XO@JA`W}0^;{xr;PlwS=;&P;V@pXAJRgDx=B;Csg`D* zZubaEzp?Ev7>yg#QBr8l2+xm^o*&Aawpfkkn&Q;{5zo)A#z9N+DU)7N@l#rDn+uXh z)~HK!y3PdLYVAp~inDDqv2^?MYZ|gD$!UNd1118kX)gpz!78vGya~30#toU%gIq8blz@%keXs-kl1&DQbNvBr z-xya1biubtLmw^n#>yn`|47!^`^W#p=lQ!kuB&}$rD$j4x_ke}Kd$o))zEhdaowFU zLupk!U4FQ=LbZQq*hd;_a9(_VR3{AAmTca|+JwI?(XXA;gn((kk%p{>yE%~BpiO7; zK8wEU9L1Tw6nD9C?rhwX?`!UdJB^RpU#>kZ3U52tG!b)_1!Ve!CXHxYU?`Xfioim! z$JD$WQ2TfK*sEUj)%QEok>`Yi5A^E$P}2b%HuL0@RRyE#fJ^u-H%`vq4?TimKiH)y*Gr5)O*y1#$j{TnkiC2Ql=4RLbz!Ya5*FV~4jugSu==JN zRx5QB7=OC>Hgo8ZpNB=Wu3oxaKe*5f>kWD2nNQIZhq|z;p(nb$bL*E`w!;sc;{t#` zBaD3y^3urMb84ABu4C(6ggAW)B=2P0bLy_XDaB0f6*yXNbM4M^XuH3~#nI)%VlR%J zd~y6IalFdKu^Mv-7lx}tZVut8F(#zX31h7bLvzXKnda3iR~OcFHGYhLyx&GxPq?r& z&r4HSB~n%~=lLq^7liey3u{8@=;DgXDt$RYa#~}ULHx9*NN${*+auA<7j5m4&>j+b z?Y}=a%psc;yzEqk{dQ#~g%fdR>{P6NJGXzv?Mw07>5DqrJ!AERUD+2GUzc2cf7Q#6 z$%O3;Izi|-rYI(hCY0K9u(8}7{le8Jw}w8FwL6(+mdxL;2}gZAWUu`7+gI{!ttwL+v|q&56~BGBv~a?#;budUk&=w+j9;e6?C&ca zuI>gaQ-Aer@O{!Zf%JXgrC;Hz+4v8b~L(%jC9Ves)j#Izgzj;D8arUzf?O0i%aK)jlY`5Z3bjX;4MZq z`Kx@{E5Y3Yq#_P zW5m)SL0tBdTKtkos{v+Qle#p(jVfYTAwhLxn zpfPl2x_mIF>3#L-fum}QXAG<5&0L$g|#j`49C8^?{(u%NUxq@k19!BHP5{M&v+WQmrtwU(1f!!RVMzxdldY zUqj3|vWU}ORX@NAf2JTeCk!&(EJ1)~a@ya!v(v`K>xSli$vL zU#|Ou9w1hBq$^-`grN4@8KZhI!~WEkrwHvWa51d>y#($IUk1}v>0H4Gb;j(mngsub z>r85xt(zkV|1j1akKwvkw7sZYtiF(ZJ?={UP~Eu7_%$HvZVeUIj_W})#v@|(f~`_T z#@vB?L-=l3?d?HW&z~u`$bRs{a2EUs+yPz(D=kmMw9UY?@PV-UL&b3;*R(aW2TFD5 zMXtxgl)Krp^)h@0*RR3n!mq=>gEzw~;5T5^oxj1W;Wy!R@Y^tM1Am9#g5QC^g5QIG zgx`m?7v=-F1N0b_+a=`cr^S^cq;rkJRSZ5E`Yy;=fQ*#`4zk! zJ_r69R-M}cUjkEqBfo+F4X=d1hwp)Zg71fe!9Zj^To=~6()H->K7i|U{cpG-EXBAH zyf3^Lta)W)xHFsy9|Z3W9}Fv>hr+DAMRH*jsmKWL{wTN^*LuH%yoj6%w}dZ%_k)+i zt>FjZHt>sZdw4UP1-}Jn!=Jz%;cYN`KqGbP(htL#a5v)L6+VdTo^TJiAKVKb2=|6Z z!hPT);J&cl^&SYH0P`#`G7BC8&xL8{k+b1L;orfB!B@k%@B{ELcq2RlejOeKZ-*(n zNTZBE;3(qL9UjkhPj~{XcN!+a$H0@}6X7ZF$uMOdDT0rNb=Jx;@I09QC2}QvJp2yK zKEB9TF#Gr-U&ANC-@_-v^=UgZ;AU_>+zOrvw}Zp5_OQ`UMRH)3S7*40>%-t;co@vS zz{m(#a$`Im5A!}kWHMX|7s6$5F|2l0=JDz9Y1~(zr2T~2Ly^f7n9M*f*V(8qyNFc5SD{kT684CD8Spn%`KaFYx7=6V)b!0$3}2sjWNYB(D=GVM)x zjNaz=80^jfr{Tv@@LW*L?=G<1AIk3oc(1lMIEuB>DWtOlXwP+bpm%(Gf_D5nn0QZu zdxKo!QDlB+Ga4xk?dW^68IiKt>E4cA$=SH=M30%xc#@6Z*`yw-A;(^3wfJsYsU{Amq>qd(L+OJDD4av2*#iPsIru-vro@6pP#=2 z%y>wPap5F?cG1Fnc7e`=PN6wK?AgUe6M6d_V;T`I@h1>}YqRl}e}R_Ei%hoI0^3zmLn&fLGn&UYaeoVgqcd~mwjKXJ@@6U|Gxdu zEg#qBejDuTB-pbSV=Uz-Do&hRzMpN}D9V06?Z;N_I@3x5?2p4wk?DAptuG1(bs^4; zS&!$Q>_Q241uXWkPKSnI*QesbvUX#`rL(Jwrc_nnlyS|jN9|M&8LdZ+B(c4T+aj(P z_~NFq%wm`bJNx5 zrtyDpv&nOFsLzeMF@O9M!^xn)6t~GfH+%mFH#&<+Zf5)3uwL_jhNE{X7+B%$l-_o@kjR8x5?Q4Rj-{F#8-oAIF-v`k5t4?K`F~Gk2$GBjgpKCsu!~G6$ zXSf^O1wI5uXEFPlxfhwnb$7U-Ijco$Gn%Jo!P--#wUplc)>$gqW{gq1@Hb%lhuHj> zsu5kU>xX}t=w*`CJj}M=V6^Sa{aQJ|9EPmQh&j5^sfNMC)2!zl2#?@;G&~9p!~8aD zOyqTBG1p_@OJIt^%x%ZPH*?KA*vxGw!py6+b`W_Qo&s-zkA~lYkA<0sns@Y=FPe3l z{_yeKFMu_tV4i`-$QqY-y#PL$YxKcDK72V`055@wW8@}yHheQ&46lLbzz@N5;pbtk z&%6kq3cm|i!tcZL;D5pBoaCW>kIAmLXicS@a>xhMfzH)Y*=SyJ9MJDVpf!!bK<_e* z1k=HMa2l!9`$NMFYYn6+xnkd65^Ie{+|^_G=eKVi)k}5Oy$rfXU@?ty8CVTAfGuDL z_+K>{M9k@buX>Se?ThSi^uJG=B_IFQ9wqDS{p0`t+Wy}xUz%t`p?Y*!RI8{?yK8-t zefLIrV*4?xH}|e%J*VzQ%}8WAC4`~=pEU<_UY%r}y&JD-_g+mh&%DfgOudnly@E)v zH)jL%;lBKp-m(Mq;QCN6T#d0@`rOg}?DpV*8^?An-S(M?OSjWubXJ&5eM{yq{Zi;k zmu@|)uEx2=iQxno`(zqeGJom!Lf5%)^qe|{a9sWW)C=b}UpVxup_^Se{{8RBt^tyD z_D&yTy!6V^>SHP&=|=Yf>P6rcU-_sG`sH;bvdUCtr|eC%>&v~}D?2-mCg!Qz`Q$S@`jXmCp;jC2$gXwC?{AG*^mAY_zXM*fnU5syot}f~wO_?E<%wJUL z(3LJ6^W51cNaeAPcrC?^1Is z{bfs4i1SN!=_=cGAw0*B{-`;Mym-;&#ndu1XpTU{R`K6R+%LtAcQuQacdYN)hWu3IM<9PqLYn;Yv&*W+l~ve%0Cs%bmHjdC{gdm9w|Qxj z-tG)KZ0PSUP1V?I<@%=6y!Ec-4Xw{!1veKH2;&yqM~w=Sz~22dvH*I}<>| z#88_=vp--jexqAPR5ts=(yiOV4Ou5|$P7-;r`_}Xso2#sV`|X!!CbP29D7#I7;5$( znkwd-fQLyYa*X+yvLbxBS&a*#kNtMcc_v;*8QI0iT3sU;)l<|3%?C2) zA*<{2jT^>KSb2C6+z!4N?gU=~E7r;z>X&(@ue@Bs{hy~yD zhM8*@K5_NN+@KkMW!VTQk7RDZAJwNDVclN|H-T@4+ro-Zd+%C#atrqrg6ye_#{Ovd zHm+@b=t$ZV<8`<%UelswWXHtV{tAB?J%oR{{t#Zrr^mfNiO@LPgZfT<3UWe4)^4T40BaeUMi=C zIxz~f9jJ~CR|GH-&;-F8FceG#MPMOV3RZ#j;7za{G}s3n8w>^$K@o_6WneYf0JeY~ zpb3@bATSb41La^7&^PNc$cVO}zsnFsrk0uv((T6mRbC$S^5w-n=opn0swuLB=YK`W zN!Ho>*MI!ae~t~$G;`M7d9OotNl1LJ!^M?7D8^`vb>?2;dSgOdcSlE2TCLt{*LAAA zFx2lkb00Em(-4N6w-zdqm^&?*zxNZyCKpD+oMk?7(t4BRos64{W%+b>|6FVpZnTf* zVBCD``RnE+em9ln`K5@^XWO+0zumm5f@-ZhxIA@w>?SY0Oevz~0n&RWow&(vtvigG zUtU~c_fc1;{9IT=)mdWDBctX|gtgd(rFEke!*b=g(hJLpoeN9p@(yRMPMTae zjWcXgGzL2JAmOZZ;V4Zhg!3hy&H%Pe$G#;ZU0^DZp?fvs4&&W9&AHCv8lWrMXB8dc zo?H_p`u?0iLnQ3ly!N>2+U~=ZhG5%kkP*)sB~Rm?41LQv8f*LFkGkr9u*$N(@mIQ? z_8Y~{eCv&!ZJV+0sHnP8<&9xHHt}UVCSHSx#a?F2UxKY|OTlP6^y?z%6J|_567Gg9 zdTL|{JPsZWkB1B3iEueQ3BCZH3@?SJz<0ptBaF4D66bd0LoU#B361wUGfn5v=oy2a zH(4D`@wV+Exn4gL|C)RHx$?}`>)4!1RZ@8(6Gm2ba~7U8d64SQ;{O^I=`kFkv zG83MiN2o5?Iv3Qu%$R!oRhi0EAgi&y5~jWwJ*WvReOUVAX>e0YR(rx^^sc+&v7O&? zr|(J2@qa${l6Cg}@&CVZ&PyG_+L=C(Wd;xX92zlWwiEZ`65_r)eXr8)*9R7R zVYF}oz+WR%l7=u`|K3%J#3*l_`Gzp`qJasXXAnA1Saw>=yO5it)5tp+tzpW3QdA!> zYqx#fS<<_{HfPt`T|T&Rb*mT0qZEi|ct#uA;o|7l^u35Gp3*<=19Ic!6i=mT@=oIE z)+A&0^edf0?wyOj%j5Ox7%^IBaE51Rp%K%(JZ3G;pT~O7bO~-G?_^xu>Dx_S zQ#0efN#xd%6YNbH^uZsOwwQf-(x&~uGW4%e!=9ngjV^7{LzFl=W|hkZ()B)_faINw zi#vV%PSd6=Ot6opP43mNB-oqhnSHshaKFccEeOrv`YtbSPLGYbW4y9aHEybqe-lVo zc+=-bbtusdx1##$uGbg)oYU18*DvbKPniNs=I?jpX{+PB`r@rcD_w2L|2KhToxQ6o zjQ{@pjJ8LY-wF0{=U9%#&&}Wf{2k+&n+j(Ki=afKqNG^d*GDlgqx^3XFqSO@-< zOLsNafnDByiGR{r?AVcfeWNkM_+H3J-`p1_^CETGc~Tdh!Re6l!}jq(vj>Sw>|=V5 z^J72UHsgNls2_chv)^%)AGQyV>5a+!KyN|cvgZ&f9t~Lobn#fiecS&AqkXquhwO^A z^cwU><41Q`X*v+jhFQ-uIx{-2S;sH z6FtSg+($lX?}zSn<5_@aRML~FAsDB#D}QZ26O8sx{`@_Qu+)qr{8#xdg4Ks8 zuBvys)|}>Ccz}0JoiO&yYs{K7&D~tjgqhbwGN@&$bHlX557UNsAX@S~;;=xjxo#TB zGVJQ0Qeyjzpl1``MrkKzt#ASC;#QY6!-n2l2itM4I(rX|ScbY6*wBoA7HkI%NLUu= z55|H*un;T*tHB1a1?&J#S}-33L%~!~+f4=;;Kn)CC7HIC%-@d~=MJDT26dIN{>Kn( zWSzZV|JT^FJL`SwZxzbU^m`kD_`OCS6SqSW;9C;UK(0t3syDv%E2FaOn^hYfumqw9yV=^T=kzs3;BI(vWlCp-72dUaywXMnXZ zk+S*ZqWlqobWe!y?$imTSMhXnoro8PD=UTbF#>&E7$bP$zbfp`X{0Uf%AN;1uSyK- zQdJ7fwU*3Z-iHhwPHvo>(+lZOJ$;it(VTByh#NcS z^4n=2liVnH|NXLg6%$W4;n;Tq{C4G7$c^fc|2}7Fn7AnqcP%gM9L?p0o1<;_@rA&_ea2;;gPU333Mp4hKYU>!OpB{PKC#DEj@~{KavkmfD7PBub9A}w+*5fh?Z6*QSFoOba5LBj^c}^vU?`Xh%E5(T1=wSf=YZO;8~;~%BGSQ} zq1;2=n5d{c6371{Zb{bJ`}=?Y^FMvhQT@U0>jOLQ``z=uEW&q&x*5t#i0iKPLAF0u zS`|-sc9QG+y`^Xq%oJpbTo~$u%zJ8ddh;qrlof_|vCoSSPi;VbgU!dF$x{X9?;D!Y z&ghSr@!4r>_rVU(gna4`_L%?O9PqdQu_|bcU;i6Lmz;HI^7h{VdC59^ zfBXMW>;D~gat{2I@^FFuIC>$qGImz{5hZ0a_33%{O?bciDPc~~Dy~}4b4100@~X1g z75U{w8l#fwp#Jw#rWT>Q7218!)$5`pE{;=RvGIgR)6)|&ErG#+E*_>Wv^uT z?aT8kD^D-0D3ra^W&QR}mzB<3FTrizus%kY*4W^8Gpw&&+gG{!@8@CB0e{q9{P&CU zD~rN~Ba3H;E32?FI=#+NSx02mr+(?>vEra|_PZqtW?WUB*tL3O_gcI1b@eDqiNi$9 zU;Br%O+t%V2r@-Js25&0dn=b3q$(&5_kRMC(>Ve;`peUaYrI*eQbHBQE z)#>tU)X`w>GY#1O=6s^iZ*sl5YCm9Q%61d!T8zA8oxRegK8)@sY1(A3Ad=bl;l4|I z%${}b{E~Tk?kGD&%Wqd%6)xwNu~VMLoewleUOmkEuQ;iy z`Teh~Dl_R+`TDVI{kMHS>FTqar>xVUiaEiO`8$!a9zEPE>m$NdBkUQd-biZWyq5T0 zid(sJvaU_j_3yOYRXz#!anF8LMhW(29AIdS){B^ZtW8w6&bxeQ+?W6`Q!SallgNh~ zeEBeLuRGt2)peV$Cl5CB&_wQ>tnxwii7vsP4+GsE3fa>oCfW~*eTO{D zxQn^xUH8HP(Yo)y&z=T8N3Sxm{fXbMa;8^*iJ#6d($k+uz4S<4dF_`+JX)`Itxm=3 z1g?*K)yvCC_~#7gnT5V~c{!%?81(T%SE1C#n&3ufD9MeJQ$ERkZhSt*eZx_GL4tj> zKJ9v)h;JLN9~_*C=NPgsYB)nKGIIvdW%3xCJ~09sujvAa%;D2~LK!CaAVC5msM8`I@sQBsZIDWFo~dGUjZ~qv2n3 zeGGgBJPp1MJ`TPKo(|s)p9tRz&w&37&xD_a3*c8^`TrU`i|frWU9I^>E@7FoJ5M2x z`jD2nTr(dr&u7tFbv_vB(t2YK&n1t@>rmEf@IeZXsvRh zxwg;O#{}wWr36!t)fZ+gKzkKW1|yNv9#p$ub1^bj9}Wg0a)42tm~VdB_j&f__eI2y zz$f&<;M!_?fR*{5q&riYcHuvO$|)nkRBL) zo@I5;pwT~Nul|a%HfA+`)#cYcgw+RDUiX9764r3|aqMmSRWn@L?RUb7pQi%`jXo&* zMnLJ8c?!4cJ~qHwvy$KFv*ubk`7HPQ!_ULi!N3c!;w5?NmXSXNeu-<9<1jDQ_Bpej zkLy`}TgI4Nq?E^YKe6hF)y-n(5I5o8MhRiw!at42e}|jFTi`bEJ8)%!FR$+-(B!0T&o^`20yL)u-<>N%_DH3vea2KTAPzxH&dpCb)0?{jOukNJ3arA`H65;ujqt&j=JzrI0I(f z)j6PMe?kaWX!YTvV5MUs+>q=Yaz5M~{vFJ7xX4wo&ilL; z-WR?eZUx@}w}Dr~ZQ=XjcJQCz_VAPN0Wf86&H+_fDIU~`KnLzqX68Il%FLVxN}ihY zK)-~$VgC)>6aE424U^VDKN!CQ1K^JEK)4e;7{-k`{}a2wAzTA<4(KrWFs|pohr_4B z+>2Zc4~Lh)BjDe{BjMk{$~VsJGJG36hU-k8oM>OS{l2^2CDj?gIxlE{`kO3bsj}5s zGY3$I^1sA~W;X*hYRv4YV z>x1Ah_Ye2(kMi!1gJ*GH>B(e-((|({o~_I5OW)!4Nwp)NRYs~$>c6bs5;QuDWc~ej zIsU0%tAN#?Rl&XC(_pnP&O?gi!e_uEVZ~GNIE(8Eu+GP{^- zpo7i=gTX{l1QvtkU@dqRd2EvRFXhgp(s=C5F_h(5v}NT*b-p>T zx}bQvbz^t_lh@stV2(wmHT{7JL(dX-b;yE{xN>^Gz12 z(qa7RIe{=vc46%P`6khC1(nSy4ySUyiHobt5ABo-i>VJWbSu?^WkoA zIgHy#6?_mp5AFd+;GXaz82!xX>wVx0x$XyF1rLC)h6lpe!GmGx?aUb>H^b;Ok=x-z z;YVTS4w1)TbS?8emR$H5u9c4GJ^m}qoFeieoCgPkc3r`q+tQP~>P3BQ1zVjs6J4yC z*+r^?)BB;)dvzXsN01Htda(3gomnpKm>*Ii40md>nm-zBH(KKzr8-HUJ)#*FBk zaXIm{ePV1s)n43N0%WF;1~t{G@ZK=>HbVZIwGHyi>{F-DGiw|(VcM`M1KL^KH;Spt z<{QN)!uC9hUH?Y0>Wb}CW8d5*TggRh3h~o@Ygn?jUyOZg*e_d#tj@$#y_T%)+k)hY zHGbLoCa$sX{@T7N76*+%@lf7BQ8=y1~u7a5P8=JukjL+`wg~pF7_RCY?*Bp(XQ|Ieh4!3Gv>w^>Ew&E8SKnvu8nQ{x8$alKIPe zKvajSND zu<@fP+CR&k&EweF%E}hk?-U{5gzIA1?l+CSJ8$zT_HLQ-O!1XroMir75Z%X?r_LRd z1(wmKSAq3lGuQ@N(BT{ermExl1sQ+)FZ9x7>X!GL@BV}yJH@MS$Fj>RynA(e5bmw+ zW!upP&tHud&hQPN(Bm$QYCMl|VYo5P#y9zQ>wag--JbiPx@E&nzQ%H?k#%b<<4knj z__3TiA)~riLY>fnv<$4SVf91h@8&<-lpu`L1@xQoG&G#HVd}&bzHwMK+th*z>@+`? z`&B@0oSd2C$G+dtGrpUW{u}>22mjcRXqWo89(W6_j_uRw%i`)HYnI0BW6AvOkIWR8 z-fGl$<(KOFXm1X-$qU2l%1s#P-JzK-49$^;m6Vj7&MwBX(!%_T1>Tn*?7qa^89!Xu zZanYr1=`G)K6L$1p$pqvurYHMmgw#;L?oxg9^IHC4|9DQ@_yKr)6^Ejw?dyVnC z8-hGhG-H9@e{gG}Ioz}P#yreAGxgH->BDi?h<9UM+-y3Nj~nEP(O2#I>A}V~*S1?_ zTFYOXn`Er1fjaPD*r;ccTo>)g*nt0}Cj6Y2; zkfu))(zH8$pz=iVbYT>EozXouDD#(ZS%mhR@bi2dN_^BWOV-(I?Mhx86&-rb+Ev{7 z|4L&rdvtHp4omQtGfa4j%=(NMu3Hn2xr^UNsrD;(S}Q&Pcjx%raoZQ3w|9?wO1Dk> zuDs`H*Ed~$xpiZA23%wObB1v;^o+}|YOWh6hBH{1hRL>M{=P&wuld8N#=3E0I4itx z{Qc(3g!7F*oNBzQm>5n2HCBxJFlSyNoF7~`)%*@ZVmSKFl#IWNWDPV_Z=zS9RX*(g z;hx?AAD}rCHUR?<5@*mZvxf%Zj)naQ}gz_NsOo5X@9nKfJ=PtRPFrk660Cjan8;C zHmaa8{_*Ec>f6&^90EQad5nIWF9-BgZ)8TL>eO}DKdezD!rW!a{C$hCx4N)>-?G_6 zJQpJ`S!b_j+;X%}w4PJ1yziZ`-Og-28Hs(nDY0@;9rMfU`FkJkss5=hCEE4n-tOrW zcCWGE?w)SV_X^6b)w^;aJ^2XyyT2n&%4d>jx$=J-xheXiE{oGS9h`9$f>T zo&_RDde<~>V}BCdpZlkH*CpO{70mimB;s9P1ZxfCYIqR$Z-%uNe>bdk7?)pl$@wAV zn~c_S>hTNchbW``)cIO%Jk2qK`x%;@@K@zX{s*j%AA5$VKEtiwoOs z-^Ax|6Cc$}tHZ{=3867656H|!R!d9;Fpm;V{%bio%yk!dmhr1A`v_Fp+E1Wo<$Fid zYW3Eb-~M=%8@CgpvR3a*p5F_QZO-VeJe&cn?if3p#NWmiBU=}l^WY5ld|1u?0$9(d zs7I!)T@34d5BrQi3qFy!XGQD2^3m##$>aZ92P2Om~nAsaGd!ADpfBpzR!1W{WgYa|S{pY>w*Wib^|Alug9Zuml zpn%tMzbm{BJ`jEk9s)lB^Uil*J*@R?$sglgpA0|A{W9-*zGts}drxs+dzUxBx5LlE z4|w)#yz9qc;uv9GVeH@W>_3M$a^Id?ttaprd$o61-(ML@eYO38_O&);|An}xdL2xA zRw%UZ_&^}j68X{6!Z2<4YDi1=CXCSOG?=EeLcPOb{pgtBN6$Dvw4XQLpTm6qw2QU} zt9vEyQ~pMpT%Yni;agoO7}cSgb5DJ@%vNMW@JGfCXF|a(xc&rg34aPJXFh{fzdnci zz_^bnCunnKFaB4sQo9{i{rVc71%Ct6K23R^0oM)My*nB3HQxPeVeR2py`qj#9@<-@ z@875#w8zG^KmT`d^u3W?{|=7Tp@O)vhN6%5*ZZ0aUYa!$okb#Z8`#*E_dUQ4(3pbB z0fWIrPy|$1%fM=|0c-&~K$G^&e?cyo2Fk&uU?o@wHiJ(=1`B9yL4Pn76oQ3dDOeBQ z1lvG^EW!g3upHb6HiGxT_u&7x$soX}9_Ix<#uo|tkkAiQP?b;O{*P(glB~1$um4J~ z-<`F7jV%ggXY05&0`@tB5#`Se;x>A8eB5?t&ZM*{o*Mt=1DlT6`%(?KR{~_3P-JTF z&0y6-`U10;k2Y`i97$(8nETQ}hr#GHkvzCH+>o9~&#~;gJbKSZ@0tnwN5@6gbDNf! z4&$%qR525NmhtZZ1yjL)GXC;kR!V7 ze-XDN>+JpI??3-3o!@_PbDI_>Lh*BJ`oYjp7uRaeZIoWs2^Ws`a?403bOv1@bfODK zv-N7M?Iwovev)uj6HcK&oNBC3CWbTC(}z^Iow=KE=D2XGx#sG^ac#-giJ++;3di4; z)K=7%)JFF9n08{?3f;3|>A^g5H98sh%$P}cOk2{ttvh4C&XLpi>Bhkt>)J=#5=jZz zdXRja?}|T}v~0yyvbHQ^?M_8O+>GguteZPX)|N+d*+Y$Nc68jbd76Blk&CSA)G)Yd zAdC3NzI`z>+XQX2{}O&jz%sBJYyexp4$!0nZ5`x->Y5B3y8hp_f0cwxldcXWU{_!9()I)ICx=0P$&ESbMN zOAS@J_<1`ZWwATut~4sHt{vRwg)_ky&Hw~fxNyc5m&!_c&=}b&AX#UxHGbI_Y6@da z{5woGtX+A2YWFR<_^Dn_1vamPCg0_KJ&>m#m}b-~^|jJZ8p6_#Tfpjb4}{g{X0Ug@ z9&esxu)C{Xpd21z>b(56c^Qo6vET2GxRstp8;GdvJHt{v=&K|AHt!>7y(i{(WgvsM z2VA^u{sc{4As!cR^a$g()}Z9~5LkYrQyD#KsJZX=dr?5~c5SCk8~JGa?bWoG4PXn{ z0h$o;9I(gyJO`B5uHNtPth0P#PopC@9iP1azYjUdI(vWH|4;Av`SnAM59T`dJcPA? z_&tKD?*pv&vwp>`$rpO<-LK5FsIn#^}IM$igS@==nh3lS0`rXVeE1akFDxY?}Z|vMstk$P z44N>pj_YI8C+@{PjlJrarB6!F)7*-wx%R-&XO3b_)^~FC?tZ*ZY3oCB-A{dCb9zR_ zgZ?pK%QL8c*BDhXg(X8jjP799iq(c}eg{q7%U*iJZTf*xzqmK7eo=aX`bGM9(=QTl zvp$sNU8C2UceeV$(nSY&_YZ@$K0*-$a=AYV9tLad9s%oo344x72jV8zsuNwfm&^E( zgC5%5+_Uf0=)I-Z(SG;%7RJit_fY!SiJ%B92Ft;HU?X@R>@oj)IpFXAo&N7BEhe(J z&}V!wE_wf7goI?By}$oY?BCU{cSjejYeL`oJ3md-pfFCy*6&-1>o*B;-JL#EX|?@N z{P$ng{+vNK4Au4eGPfR5oiNl-Xs%%MF8SIf;hv*5Pae}RT}{7a&$*F1o6h8O4A!8` z90QdIce!!yY}}L2X|i#r{G|WF-4Vu})31I{=P9E;?0edB6NI_~&9kS1BCyBQyd20N z%1-}NS<75w$^3nj1~G3@^7g;llXdp~Ha~_5k$(^H(yJ;OvYsx)g+MXHHSu2Y$A2NCj zdX%2Fo3UMb%uKGO$6N+$%)cD&!1dKI&6YXVk%5f=$KKh%X<3!||9S9X1Ox>E1w|cj zM3ff+QBhF`7~T}+RYk*`fq8(@VP+f#1+%(UGBPWCsi>%^sHoW1%F0?QDl02$*<#De z-M?Gby1TYZMP;qk|NFbnx$ftlhsPXd*xmm7_k8A>-*fKsa-G-fT<7IJHzx-Q_$n~6 z7Z|w<#9TlF4|aW9Y&`@i;mW!@FQ{@=&i@G}e~=9IZJR^hbnA;0c!bGCTas{Fq8a@kPn zZuYF7Wow(!z^hFT(Ed|-u&TA4o*3pVk|AxRp&dLPrCw?D`9(I2Zh0@_Npj~={7l88 z`p?)HMrYl6Vb6wXY+Y$_Ne{_BU%95Kxshk;+a90J&}-bhITN4CCmXKV-k!=Yg*|*3 zR(Qer>nOD-XmL8x}7`2}es#J#xt9J#?!SBCj!m3!a{2Dqs+M8CaPrq-Z`d8QvJR)Or zm%!Zls{XTKt=+`(SN)5+rZ1@{UShvB-&J{3Qy!tOp3zr^-S0 zbzlQ{Z?r!M%KgLON}hi@+CLNRUjvCF*%$3Ui0%hKWB}!(dr)d2-9M+Y7(p57eiWTG z3wKUV(dq!^Bs(v11zN+oW*@872TWKan3S#$`20k59ok{#vvMuQ|ISoT*i*3R)L(K> z68Iq0{|wp_R0}PGUNZkRC7`1B@&C!lLVeNAnFyUBjdA=h+yCE+C;4^v?EL@F=>jh{ z_G|7SS$8DHNSBun$39A5OU)RV+~9dzjFK?Fsilak_LU#yS9jL! zCQilYad>{~Um(BP=jHj$x+%YEBT91ixxd3Aw?diQIzFc11wn7@`Je>EZQaJVrLKi&D{Dr*$Z#$m9HWeI3{;M$DnU*duHp}wubiN zjEx=oY=)(;gS0&dDUAD5`RcvHgOK#D((}-dv+F56Z9D$0g$@cs=5H*a;r9g6KGxHI zCAal0ZM~|vp(AZUO6NrKTuWGmbHCmWR%FVzz1YEPT%|cd*3D(E!qH`Pp1xEs@%y8y zGxfu)+e++8Lo;cZMjB?4hPTJ`df&|YZ_&ij!h}AUbz4E&RR3LX1L0k0Z=+t0dVfyl zZvxo=bBOe3t798bA5Tj@fW}53K9??%ei$Jl-GkJxPg+hWF5`-m@m=n?<*#wuKEH*t;g-mrubn&79^ptx zXRfs`rn|mN-+kVR-=I6>O^?88_kC{D4@^DrsN5UCV?o+lqW)V1PX%e3Ni|3jBxis( zgVHT%dI@tRwe93$uob)%Yy(NVeQ#c8zjY6v<~*AJgtPeiR>0|y?w!}WPbczQ-!C}b z<~Lgi8+3ru{n!0?wh5ADR|SAo;OSA(@+!ryH0 zPB6?hhFjVOFrNtLW8JRv>nHOpeDn5c!i2FppXvc>;7>p@_Yj}vU9Sa|uFas*^*T`L zV$NjgdOfIg-3KaNZvbmS=FOHa@^9sLKZw4TdjO>DZJu=#_#k%5z@C#g!@I#Z^So>M zQ5!iocf4lC7~M;FF7wo}%&hb+2esL~P#7Oe_pTquvptXuZO6_HYVOw;`@66Y1m6js z0=^qO7u*gqueQ4ouK?eNU1P7psg1lJJMG)-%v0?>7}~YjH3$7L?$?1I0o8_NhT5L6 z+Ryp?)_i)YwJW)4J{eFYE_>;lqI0o_u{58K#RZQZ}2ftY5EE{7A1SpFsLW?#Ceg!M=6zA@FC|DgWF*gOs1W??O4*doHBW-ftmo_I}G#;J@SV zC*T3_x8N_p-+{jZ`QC))`U&5Y$l+%1G2xb+gI(#K1pX)X1>hgRMc^O7dhk!+N-&>i z4G8Q7ZUhV9Ye3?*Z!{bYz70ETR>?N7FQ_@6zG3lk@HkL&ov#w#XTZVO!x?SyzBk0-C*auEPcB&tg?DBUuq`PWQ2S*tW$4>}5muKT4-A^m`+US0s z;VF!6r@(JG82n!joRM}n7vqrj|;sKI^{&-HH4Ye0S1<4xe%;5$Ix zQ%l|pjsw-E#)BUP^}UXV!HJ;S7WJQK-6`~O?}sbN&q7G8SvpSxzn76Wed9*&GpXM6 zPKAG0T;JpgeO2--=n;8pF&Onp$sw8Z;dcypf$?R%5j+|DMWAHp#rAx1nx2rZ%hL6# zmf?89EQH#qs!h-~=n-fy^gJ{Kakvm#18st~L61WFpl6}NnXGR?wNO2@0onrncN@uJ zU;o(?nID@;#O>&0gFB*5R<{0g2ma*O-LvaI+3)i%Uf;KQK|7G|2wANQ?Jy2^3y+{Xrc2G#pp=%0L zaCjC{-~D7vqtAg#;n0WUJV*7Xxs$?GlXlh3-^Fm6FDj4OaM?Y(!*8dD?$`O;XP*^j z=Xw7-Dd(rWoV&Sqqq_1ox{bVqdMTZ^mdx7%$spgYZBll&cQXQ%?5CNT>^~J$lRFKp z0Z#|Vf&5M`0})|KEjR|e5=3efU*$cQLAKv=4dtzKhBG?#fsp5t9;c#FI%KFP;(UAB z2WmA)Vblluz_=Qk3N3_QGTkcy^?#S2>d!I}>~}Tycx*i@KAUC(z@;m0ywOCR`jWyw z6~nl{tQ^Spb)ECho(aM}VM*)Cn~NRm(3(o$g-O5XUUqTpJNw0cO`RrL*?(F_!zl47LN2HH|W7tZ}T#WW8~qCEh=NB)9c}2g?bo? zpRYQPQawyo8oI;F^W)!+JI6Bveuw;g&3PSx{5+;Y#bn#nDDv|g=TXX!M01bw!?!)n zxZWoVbEc}_I@-ePklaD7Mg>%2I@1O>zZKy2dZar+hrE5x#|0&TlOICcqDh z{HAu|7vxXZ_yze}XJ!m`ATchuZ{ggC2$+hn|L>hXx|M z$3S(^a;Od33~h%Vh4w+uKvF`7K~tfZOxH>P@tEoz)AAuq1hbsVIKAhLKd=8ihfjrZ ze}75(Usm5-x<)g>aIb!M^g{K|a=p-Xww)Eq?lj8oi-(roB%$BERgIxCed@IKLj`$@QK(2|A2qlAABWIJ(YlAv3=HmhE|CizQP3NV%JTkmAUz09cM>vIXe_Cr%;E|~gVQVevH#hx!M#SCALmq^-7c)d*u2M&y@##*Kk8`){Ssyzsmck&M?R*eQv%+-M=aF=Il;K`^Fii62OzClQd2xtirip zJ%5(xQ+Pg;=by`@UvaZnX6-}2dzyali~C~wmn+g}zE1j&VjQOI2Qko0!l>F8&Lh1!eJSqS09xR>5j4C6&K{a5B9^z6RiC4?IavL0z`m9?Pe6a(!2?NWRS7i4@smHmjp zbbfMqE_avKMz10~Wozd_!aYN!J6o0JAj2!K*I#d8&oKSC9=}1hmhN{|b6*O{+<@PK z;LAa+b>2vRw9BPAmD=M9o_`En2@YcQO8f6a<4t5kb4}zg+y&Y}M+x$e_p$gbqcvM! z$0yE2<=qad{V*v^Xe;*ZGi_nrik&u*yA7o7?L5c%;484REN|yI7J;wCPFn38$7=9S z>}pqcfy8Ndf^Gp{i+wA&8C3d}pHG0axnxhYe+j$~`un(Wxq5dlVISAx)nYwuH|b|<%5y0r?a|h-12_THxtD3sB{{vn)|=h@aOa`+ zVdb_KQkh-@7oBUEVi?{LsKaeM?PQMOP+CcE!W^gGgz>hmeiP(pK9#}Q_4N;sw&U^h zL6H7rY1W$IhpFdcY*j0uq<4^~{`ZJOY4|><@_7PeT_E=Za1!`Ka4PsC zQ1>qc8Vk>Q`>panh`ZALfc|0Xp@k&88QKJGhaQFYLQg{lDqsXO5t<7vhdQ7w&`#(v z=t<}x)PEdu52}NfL2b|`=zpt`Ty>rQKKhgl{V_G{=~um*?qN=IiY>)<*3}oVG}YRo zW@$Qw;+TsEg>%2zIbe1Umigv8wOd;A&pc1R1)tp$$ht3SE3UMSWHh=;dxxVHZ|N?X z33H3hZM^OsoGIT`(?x!7WPs^xhdc~ZamRLsBc5oY~2;V%96 zaOaap5e`-4kon|{c<#NUmwAY%AHwfbsf!8c#kvUJ!@j)X)`oQ}IVssuRwr9Xdo6La z64b-EoK_z*m8bz*mEewS0s+ zmngjow>F|0?BEI?N#CsK$cQcd1wKO!uM4O|obtQuqSKTIoJh?75E% z$n99(`Lyn&<@sW!G}PJn>T|RCzMCZJ@;1ZmxG*fvU`Hx z4r)x6zZDVJfbYUy$mt#KiMawP?2Xo;_r3d&8=2l{bs8tCkmF}E&JE6;fqQi-Q}0qD zFax1&BxE$th7(3CTa3Q;W^)BVccI< z_P>~n&+ZTFEJ)U_{o?F765B5>u3XPoXg3D_rSao0buU>eO8J_h&rc<5Wz?_T+>Cs@ z%FDYOYhJ1^$ycw_N8>p1q%#0p;IY+tguP08O>9F)sM9A%*CxU#jQi8rq2$g;#|~Q~ znp`sx!*jWdRhfJGZn)M^aL%|hztOvCFjaaFXAJQ?y58b@zM2cWX(f*xb7H#PGW4CQ*E_!+u8lfBuft{PWSC0>*#BGL_qGzh+3m$*nmLW* z+el*#;S|RGc^%GtfjV@3sN~L`>Dso#sGqRk?CHNW>M~ETwj{$mGd1m`|NEZ)P(OC; zqm+x#7MGKU9fVg{_pf{?%DT?^NZ&W}{oRr~ZNAuXTWkBxew7QOduY#DKkdb}tsTW# zEsYCXo3!xfZ93~`-MZ#94lCyZ^9~XtJ*5BK(B4#zY9iTizHa7Wwi9Lqe#U0P5LLx6 zUGE=ZtZ-^)S3w47pSgo@3giB~TxX@_{=(&&^;2H1UC&SF z_9UIL1`6ZMi?5?KEA1xd@~MnHnrHQp3>uN01KtKo*P=cWRDJ3_=#%8#=D*e8Jf4pP z`?5L{*1#Ik{iG*q4qQ6d`8@uD%*>no#H#hW^t%z0i9`Azd`x#`o}HYD{Q~eDkU6vI zvaE60xjOV(yAxp=xC(dagKI$KY(f*Yv!(Zdv^86Mk^6hFQ?=GvSvS9(UG!)k5h0%#m73)e!ILAnz`C89NwCD6qXoH70AK?S49;8bV`oy?HdzU^I4UtxM)QcplB_m+DhvN06J9*9g&Zt-NkDEUoEnAY71Z`BX0U;hE}O zW~K26?^LP0DZ4~#g_K<~3S>Tz>erM#Uxmsgmw;{H0B)uT?*!-_7oGPvb%)=lr0X1e z@f+k(K9y^lqwIlX68@B)JHa8~-5~AD*2qSKo3X28?**A=*_xR6zXAI~Q1!SNd=vJi z;Qioo@BxrCntMC=X6zl{TfhSKHGtbM2IQubR((5V0l#ZNy~8jUUpn(TvCKX^%@b`b z_Vs)!DA=4GUHHJNM~okJOIJG6`@$zRvzHKDDmtkpl9*Yg#4O~lVT59Kwv zr@Z_d=GlBrg4eqa<#ld%dHKAzj|LUY(-~%eLLYs%^NRCc$(ZI|^jk=N-Q8u(m?I=( zyxe_0se936)DBWZ#oYa}Snu{8QA^{sYlc* zSXIbUw!KJjTgMCQzgP!J@&Bcb6^-^EDRTo}1TVtjBJV){Mh0o7Q zd|KBPyT`-FfkLe4Z2Rg5k3TpMwXd*x(%9YnI4^xWTqetF0K5upq*%WZugsaU?(`ey zrEhu5Xg=oVSa==dyvok6b%&R?hq}IjLpEQ>!E3zpvN8-8{q}^)fDHW zJjE5Hp73ex7xI(slSAP%&G~TS7wfAn+_`M)^beD+iG-1V_oIIKG|$KJTyyhVVp#8& z>`R$0FHXLG1&c2Bm#`L9-Y@-I(SOaD?&bs{z0cDvxoihY!}{ME(zd2QcSPXd{V3hr zcs}NsTy8Cm(x1CtaBU{tD|B~~?$Cjm)}Ymfv+k{{R#79RwZ2Yn&5aA9v#o(T--qD4 zjClUU;)LS!^}cLam6!aF!|xVoIQ}NFh#~(*}tsIUAvK8-QVarLEgP`j@brn~LN$Jn|7M2z`l z0Q-L;kzQOM(Z>|Vh3jfREFD0<3PeHocr~?2Gv8A&3{ki-;lV*G%@8uzTorY zBgDtY_YINHNf|yT!{_)FF+WRm>tFZAcjxhBG0Vv)@=#bA>muB8X>GhGZL2NvIVV$Ar>oAp z%_p3FDVG&bL_V=d))8LZFK2$@JU^eV51c}}{7mZz)|@pioerK2jsdR(_i^r}4P;L}c@WfE z;M>3paNhw=1wR8`2tEdCe`OzdF(}zP4ODrtUz+qH4VQrf!0F&na0WOUoC#h8)`7FY zS>Q5oHprf{y|>3XBHMp?7dVgSp8_ujzX)CdJ`Tsz|x0 zFXwl{e$#r^?k|C^gLLnW?i0~>s&wA@JUX53R~VfuuzFNr#XdaO+01E>?pM?AOCjAg zrh9_4cct@{rxYSK2CQ$s4JiBMRdsQi6X=5$t1!ok$i7_RW^uUvMC#WyA` zgD_XGTz2xSHZGh*3%Z2zCou5!|I z+P9svroH7J;`t!8Kup*tq7`FwrrOJC8}=|~&g&jTGpLv8JtFTS4(WXF2K$2BEl%!V z0*}Z3K2ZI42dFZ7KPb8S0q}hAgP_K}o#0~dLtsBUx7MFDY5#2)={Xq^j)I0mXF;X= z<(3jI%(qMXjlFrMHY4*_#HloX6jU1j8axhs7(4;|80froCt~?`-@-h*a=ju`Xy2vp zzJ+;mWxroFzo%JUsy@OzxAJ?qU&rr2{Coo(34RmQ**%?SFYsUOLFF0dua)`zJz)k@ zX7W1`3UkoPZSH&cRhtv)-k}=yJr!;f6y}SiHm5S&0LlCu|3`uU0V=%*z-sVU;ABv3 z4q2T0HTLts--2p!dcFYs9ri)&Kn=D1<_oFs&;~<&Fd4ykThv*mFxSi5d{A!4^_=eJ zllc>I4bYE#NDFe@_SlaCt9jfToB;Apf%Su9!0WIh-;;Lm1n_q7MDW$%N#LEJ(t0;I z5LFz3x2Bg01{<9}Q-G4@T*u7`@Jm-zEp9)R{7lVp_ zDR?gSRp1m*^IARUoQ&O5whq)iWv>T$Pd9l_bblXsDfah+wczLD^F81U?B9%b#z&oJ zPQC-q1`mL9z(0bV-A-6LFn-Lba+hOAuQEIPZ@Kx{xmP@Q6*vc604|R1OTk6huK|~U zI=4(-l2=FfJHczP-wiTOChq~S1660r-$%ihVIPDP9+a!09b5wG9Sz+Tr2Fk&2G-Hy zhcO-w;P)6xQs)sCV;_$EJCPr{bt9jWuY7P-m;v_Y!ax zcvn8R={w+SvHv6ZI`F69y`b(q)w$^bteOn6^9d6`=_pH}%b=1hSKMK)n76xfu`+Kc z=?4!HpT?gzTfC+F6(s9_+z|4kIAjWt>j&?|zvR@rK+PZC4W0vTw|I2ltj6<~r?N)z zg*jfH)CH4`??W-Z56AdE0uIO9E{m_4_;lB6Nw?a7TbR$~r6Zcrn4~dX<}-wo{j=by z;BHW@YY#XbR9~41ehGVBw9f_~#~#|>I{4}PC8`y*=^8_Cd*T!3YWegIUCH};^Tm5O z#3TC;K$XuALDlz;8O4(K*jYG7<5S8C0wp!u1LqYFgGim?NJ?g{rr?T#Peqs z7k7;s>MqXG9m<<<5A&|lT_4##^KXPvoIeNEE`9+H1Ahsg4ju&00#$xv!QWz6-;!Np z0sD^RLw88(-Ldg#9yk(r*tV!Zgms5pxONCS4lwWs$v9tc!vmQOYi$h~V`56u0-$p+&BiZ5x zJ*4Ue&xiJUu58#4_hM(p*ZjM<#uCnIs9gACMjh_tcsTM@KX!8$9vYpe_I-{JPhS(S zRv}=r`9#mEYIdG6pNrNP*B6%@&N@=(JUYKEkzY2Co8Y(3`Ncf;l%Kx?=jTMS`Fjog zUg7+dzs~#IJ*rFRYXb`9n$71u@V(3VDxXJ?ua~cX>*hGC)$s4N@V(dh+8*Va*7ePe zR>bnrwROSH_33+}`qqieg#qmUX866$`ORwKQo8j;IcTp!-+tLn82NWUr?MBJX3-{< z!%XM*LQcY6k4x^Hz2$>AdNv9-b(^eP=QZPrIg-=GJcj)k@0XrOeal5Ac2E2LIwJj! z=W%I!)9TgQ`RHC*y6oH@`CMik!oPdr^IhlDjr%M-FV3SNb%-@oZ z!@keLdHA0E(~-y45WW4s4<4604{LcrddpGmq7Pvnh7`vAsa>edZ+U@sp>VZ?*#+H& zzXdUVZ!e{ArS?KH4x>GUHTUxTZH~g^G*Xsuc9oKYA);VlmhOTaF9LNlN zj{p@i8IM2aEXfpb1b7r{IY-gkj$-bm@Bbb}%z8)E?+K{EUl&WL;98)G^^UX9Y@G!eR(Vfl31QuDJ#hs&l-It78JaXJBEejX zU$wDipz_3;n5`qTmuGX(U|RBTkn{Nhwi&@J_qm<UhvrXg9PU zdJY;$=b8x3h1Nh?tltUkfu4a_X3JGWQ=x^>8c3D571{+o20Z~Cfcn#zYoIzc>X*!4 zR0$MFjq4ZvCCD%j2C)C!1yS`a79q{4Z2tFn^y}`~bN^kryW>c{8z9}_aPRq+Y$~5a zdRer^vOp%K<`S6HBM7o((Y0|t=-(CRb@6&_4|(}|LahW`S-uv+ zYmoC&zUYvr+e*4d;9q{--Pb8rXVT_peSM9llUwGzywcybIu7d?o^~(uM`PO0 zN>k1pl1M+b*4L{zJKKZt*ZEW*6BwMC;q!9%{GTJl$NS^90fE7{qy8e>jqs^rG`Dd= zby4;`=^E0uhHwhw{#5P~m21*EIrMzDx_%}1Njz70nrB7#$)=x~po+ z;=e%dQ=+?yw9NfHxid91{{0Vix4V8cHT3>a3Lo~K)kc>S@i@w(9)FsEs@&vXnDyUe z&w2k7Mq}`QIrc*Iul%bDvi`%jjIU}~iwxAigF zY%&r%O9{4j&oY9oZPtPp@q7k23!Diq1o>@uWy}WEj^=2VP5N4W@u)*qt;AU z^RzS<@^lTTJS_v2C#}g{3o`E5y?kjx2&^q z{8NnMCoztng5i9j&Wwk9yCo}vPMJ^j(X6caRgB{xI2gab0f&NGe^$Dl!#)}O9e4@& zd+=)TKf!uX{u?9G$Lw3mw}XG;xz^QtBk}sO{w&j*RkJFjOm7bUR3T+X)9Q!Na|@Yu z{XTiuC-bQuI)t##TMW#b^P$}EXZ6Hg-6psDfg|yA45&KgeF{4>cq~|l{WwrE?s#w^ zsBbcBy?qFH6R2~!uLPBE$?aj--vAB=w}U5uJHS)G&w!_bUjavg8e>L*1x|7GCa(ob zzc+7LXdfZmfqD+uAG`J#PKT-??Y^i?&N4spTgd6`DI+&)_Acv@(Yc_*=J6R!Z(wfx zJsG}gM>@}|Qa%qn2|OPh16}}zbV)`Jgu?o~`l#X#dTZYF3#{-j#XXC#id$!R757|F zanA!sgO`Jy<31@(_Xw1xpo8X3AH_Qop0$3S%Un%Z#eEH^xOHAvabFLP19eV!0k|A& z0B-=dfiDL?3hMmoV_-e_J+J}%H;{9z32ix71WC7@XC*GHSK`Pu@w^?>Io3Nt&ORp( zg4|PS-|oHzd=xu=?)*Kt9{cm4+QlEi+pza14;w(ui*Jb z@p)~0&N`OGJ3k_GQM*TYHK_1S(S94Kv#*>(G50q{_xFROJ^2`TH~1}Z6Bzp271Xix zg^|?dxuEojn?Y}9r(++BU2Sra{ie7;=^bjXXVW+9_&pL@kmAB3@6wGcx-$o`x!2+D?I^zTy&a$9ER-W= zcmVtVEAm{7c2m2~Aarfc7WQ{kR{SxNhBJX}$N-rM0qp-lJiIE)XI?lArFkXq zP1xP*^6!35WnQV|zM^y4rFWgmU2MwSZLY7fle_v}nY+#Pr9+7CW*AH*5{(~OzF0Hi zkmIH8AgdGQwQJ=Q=CocuzMk@AEFbAUZhlRqyS#kn6gy_MtY52d4(Qxz*LYQ~i|17c zn6m@e|KGstQRk&~>4qlzsDaAlDbn^hVdUTacwOA_B6U&ben?%Exp%6IA@F<*Qe9;E zD#4|2N3JfUbJRnj59h5vW2I(G=R;^GiR@Frz94Hr$!Va*#cELVazw1oeBgdIW6Wu2 zRWo^_f||^D6}|^lgFW=IlK!o>Jxm@kml1w2@3AUPR7-4&`LzFt_XbF2K7KXlR2noM z$*whot3btvo?>H*r%~=I)5YL8a0xguzRzf#c%%egdO=_^!=J zTy%ej-mwYq(n#NuF89poa$yY(dX#ZzFZ49@JT!zuJ>#G{s2iq`cJN~FgdA@DhwA8cNd0>o9upHkjr6#=m%AlT@;pQx z_Hc9wm4VXfJnoA;)F#}#9v;^?k0r&9d5wpsuaxsR5P4{PJoS*5*HccN6w^O|{b$}?^#kXne8o3kdQyJP zkx#b#9)QnJJMjsJ(3FUt@OmQh%9bB%K2^^;FO^?B@YY>k-e3J4kSs6WBd$8=ymS{N z3RZXW<2<%&kq)DEPB(9c$MZ*khqnX0XCV_sgZ+LBJjSu1WzV{K|B=fcjiEJAkmHrl zl}j%bWBFYQ1-Y6}-?PrHRSsZWm2Q3ys5$Kra0 zRop7aAWtjrKQR9=J-QmqhEw{3jI6vLfUIMV5%wSE;y1{;yy?eSb8418c92$E&psd2 zT7l*{(#2WxNW%9PPb2MGpBrT5fv%nlGA$ox7M_Gt^o0IiIXx?5dW6b@QsiwT^xewgZjRwJ zchdU4&p*{(Lx0St{WRNNJMe!zexwhoUTy!!+g z=!cd2&7C>5_0qR1pBYF1OdGVHhH(JuL&F#WO@Zb@_0R@r3$zp313dv9fcn?cSD{*H z8Po=ChIT-^p(mgNP=UrZ0-6ZTh3cWKDPVCKR+kShr)NCS=BsW!Hp-W>^*;$6`E~ch z(fhLVgBQCOesOVCGbbDD)a>Eh0Uy8n$c(u2_aK*`0QmPSyQhElc|rYiXDq{0Gi5lH zGJIQE86M79qdHJJUH2Fg^{MPQ&H78#r=5rNfh(KV7Ig@b$xe58`8i|W2Q|YxfT=Z*8wg#Qr4ePvWdRe#Zdad5IRk3E>xf9gN&_8G;KPrx_pS7)xO{<3%gsgDD$UB5?BBMqQW^R#Svs#@V zbKp$yJ7697&)_WZd2lwU&6qjhXppiFy}Gd7S=C{uGzu(Y=zL z*Y|^rE}iEgTj~0K6X`8b3aU%hdyuguT`cSO7W3O~e#hYuWMJOpAwe~F$W;D0K2li*cZQyg@+rU47+d-YL>1}$X_Wfr;dZ$); zrOp{LqEQ#&EP&4C=*&PJB-FdGSL0R#(b6$mnbKXMIvb_)Br0F>9%WKKm1`=a4Uo(S zbD_*=_X%>q?p-_u{4n-0;4YAPkKLVE2P#jrf4e*JTJU4I7pVIJcVJ1xzAS%-qfe@Q!dM;l{9XT_Z)pkt9>C8(9YG%bdxd!WWOyKxs>aiS zt)6BSS2wjBp1xY1kG+w{T^Sw^!Q;F#9@2w!erziwzwYjP<-=1w=+Ji@6m`j+^I|tO zY>2P69=87D=|4N3y?7)v2HiKC8sv4=r#<~kSC~G!k8~&al|Oe=+Ifsra~-a8+E0i& zUdg@me#7$wyo2}fSZwJLk0&D!bjQ>%mR7yidCYHEQDi{w zPCmRnJl#7)&Hj377>}#o?mT9O_V5&Gc^JR)=Wc2bYECD=Kzoq8A}zUdrg7cOHN}-T z+dhNWf7V^`tMBxO*DmNp?B9rKk$<(ntpA?27q8Dds)!gfF@XJlJLS;#wAfyj6t&i3 zX?uor&Bed`y1Tc1#F^z;5hyQRZ^vQ2Qr^z|ULM+3YTiM*F07EQgf!_s9{F{5@3VBd zm@ezH_Rf;h?{!$_o_?R)^Hp*$^=ZA=x)6Tzh^HZ@$Llofzjad2`n1>4v+$DXAHe=^ zqb&BNWwCz6+NO?f^#|v%Fb*EEIT(+3!sAKj!T09$useOu*H&t!aANB1fB5$LIT zFt5Hw?`7enzOa-u^(Tz{yC1JNx<)oM`p{%ejF?v5>e>sWCI z9i{So9*z4>RVTVwG7uaGB0GpF%;(RsxT}d<`v;o0mG0Z6ALfE?lGl9IOh5i_iocH| z>@oZ%-sA+3If0!|nhMrnzYrvT+Y^}#UX1+`5K8L6OTjC^%fP;b?rZZ!%_}{hr;sLn zn?U!zo{D?vtXR-zN^ATY&xS!VbBIs(&#LSh8lv98g~@Wns0-EW2WByTCBK(|r-Pcy zoB?WHE&cUcko?$u`X=yt>;vF5DA#~Z4eKn@ru4o6YB8RBcpmhHe5zv{%d8xXkalS0)&?%beha8nw1fD~$v@8wZv)q3A3*vB zVG|V98lluPiAj)2QN0XQ*o?`R&_gFquhe21!r#eKoobR;wZ%h4# zali8Uz5C4XJ5s-4{LX8=$xJq0WH;$vQb9t(=(Y@3o*jLk9$di^9#S_N5 z(z=9Xg~~~0H*q32?A@dRynQ!-`^nV?kBc zfy#^O|Lka=1b!EFnl@wZs&BcgoSwkH;`{*^?)Y9q8cw5@$MID1@O1LiL3&4H0#A%M13ZX*A^2->3HTfEI`BC#e8)uVQ+ii!J*fAnbYHXD`Wfl^!YT<{jMCD7 zW-eC^O@-z|jnD>Y3$z2;4ef)Tfu4tk)UoaW)k4dlHfR&H4SE=Q9C`|R4jMQMzfdi- z3~GipLEE7J7fpdgyG{@$44vRySZ!Ixwh~jX4MQgM&Qv%q3&c#>Vh0r!9^cB`JbQIn6740dsLGtf@lothD^#XYjzr)d~ zRQ@4MSYPO)OkgBi+)U z5v9MJ4}~>s*Avv=L)n+UzhdMKTg$8G9z@#NPi|2$l9pH9QW62%hB=FUs z^rWG*j-l`z%9uHnG!1109m;-)c_qhwwtyrvm&B?FG2h-LPpvn`=~k>z_xE>%TQl~ zE6D=hy|ZxcH!BOWd;QlIS6F{n8=C$CeZ+P8k~{iSOWS(t&h&kyCF{1Xqd{WH;#Jv~ zxwUt+wXWl_g;oF0y0_Sk5g{M7xOEV@+UwIX&yqbVqih(B%bKtB!LRzi#;Sjb{?-3` zm-%lg-ZrnLvABWlKbt43KZ_1mb}4T!B)jx}qYV8nHM~z$^$8jvNo4Z6Zq_a98=CdA zYqBAHOHTEll|OzS;OmMg8r~bN8bq6oe5UJ8jIQwra=4twvoSA&odI|aJbvgr*#DPP zPk1a;L%<9SVE@lTj{e+vbVH7MJ|q_&r!Yca$fy0OhUebLPDd^%2|P2M_6$&Sw$b27 za11E9icV;IQ{zEo5>kjgKM=WN??Rsoz6m>HP;x(b9{3=rdD>e*$(^mB=4l@UH9z|V zI1T(XsCk;karEY74=Dd%0&B5<2b=*u4br@AFRKpxId+OE`412gmHYw}zu!j8llRN9 zYf!%e90gtpjs+Kh6TpRF9VmXY!Nu6?!E3-UkEun*jz=LFlheLeKlJtjJ9&B+R{LbS z10swM)tR}@LS*yh&>7HZh*>t~1mx~eW_zXQr}29vWi=Ha(kG`A=M~^YPSxp5-?bL5 ziqT7Bfa+5nC-kL!+Q*LOSv@54GSXcDmxF3kH-N{3^v64wf(_W2SLRlL__6UXq+jpw zoC2Q(px&F(@4#~l{zAXX=e)mZEZGFfAcqq1ya^stLDFdRAC)QfWphNzTXV`yp97Jf z$(KR7e+9e^``5sYU`UJB2TtRO){|BC`ku_`W*=l@@$hua3w^OPx9f$k8uQ6}Tg0cl zhcR?{8Iq?PhYM2{smFC$2;sb_9@&j{L8PqXUF{PK3{hK z?}hY#wF6|=AY+>AtpEEOU?q3yYCb%k&C)dLh>g!mQKP?(-VYQ|9l%cEUNOn zJLB_FgtMEP%jOndwtK`76PvO9K8Lb>G^QyR*WC|iOjF%t$L0+xM2yA(Hxu#ml`V9scFl-F+U0EU#D(Ud|==(mbqd=?-iE<>{Un3eV<~p6*Gc`x*uD-o~BdFzx(liNAt+7G-P{|`j}nh&Tvv;OTqH=fB&%|7ea(bS>inrS}{eWWXUpkdF& z+ozXh63a3>=bl1YPC%KmdbX{;8Lb=O*|mNU^xkqlBdUl1^YH-o|2+6ySb>kqY7^k z4rMQI=jHdge%dnxPK8(1v{J`%Q_CPY4--!2E@C1-KPf`tz z2YF`mok<|NqwOp4+t!&TgNu01_-@DiNxlt|o#cn0<~y2S zgmt882(|`(Yuzc_TQI=%Z|(imL+a5Iek*X-np9~WJ&fCVo&_U0Ff9I_Z#=FyUHK87 zh4HoY-9?4j8U4N$zlh%4R`6KxZQvmA?cfOT9iTMwZ6IaE?oRl=%e%m-*tdhs-E!nP zX$Rj6qJP_Wm+u94V3%$m_Wkr-Rqb`ufcoyHqw>E1nh%xs3!Wx?7-RG4*sQcY0m;w@ zEbWhiO8aL(xqlW^+W!Vr+INFWJ9ChPdd+!~0ct7|R zkbLL93VsOu8u&@@aqz|SHlMs|4N-a2cTjasR%?l!^UB;Qj>&l&pRwlD{p$4t^F4T} zp1uz%uatr1^#`ExO53t^#vg&SVRn<0HZNaCr9pf{JCeQ~#@f7%y98rrgSoL96XwUn zA)Y@0#gqClo<9Y}^Jk#S_n$$PFJpHy0sL3+BJk(nbWnX^cC=p!{(|SrK>BCW2>uFO z4KmkCm@C>o%qzg(Vpkh_4txvvdyw{}d*71xgMR=&1}gqffDDESb)IAXZ}Up=|4wv& z2JFpq^`pvdP|s&kGAcdkOKP+FuD$N!(4LmQ=Q|R58NcH@Csq7D6FeRq1D*t)1&#*K z2G0UHubeQq$c+at0g;EvJP@7M+BZ6)eP0HB%+8}T#wQzbXFN?_1FAe<3+kS@*Mp2n z334KL5%_M9Gw1f*>1kkS*E+MUbpw&gQF~)rOBjj02GTmZ+_VQgnHV&`*PiiYo~b{` ztt8vRm|mKrXUl88@tkGlrLqmh3p{Z8NB{)g5pu z+ZIq|+X|{|Zvj=d?V!qb9jLNh4@!323f=(fPPis;BdD^y9n6-k?tt6E^E<$8;H$tL zpzd~i7)-!WwmO^8m9o{ovX`yeY~`{IV>g31JY=$E`#R$p_EZ_~a$yWEm2EGcsmx`N zvzdK`Mtes8wY8GZYe2=UfhNvjo(C<5I-vWY9nfxQKlChAn9I2oXbLnRYJ~299)fm3 zk3mmD&p`tz>~T;Xvk zu}TKed~zYK()khbp9aaimNu<^@j8(9okR8|lGFErIy)5JJ2}nP6TPix?`PRgJACA& zwn&L}-DK;Zy>2rN5oKY#shUw8>%XqJQePg@JV@aV(kSHD-Lva|_Rj5+jqA8QWWt>0 z))fuSO}971ci*!6fqM71(wd;psnBoK6wGKF&({L7&sXpP-^TWhwyvk7XWiEFVro-c zLwg6$6;}FG)_qlL`&vaVH{~ho#!1+<#g=dub_#BflHbM9@2f+3C`|9NFy-$pX5(Ac z)Liua#!-Ylx-4u{OGmN2g);^XE7ufpQ~Z6({P_ExTGLQHC|w6g(=70+QKfYCEeq%A z>i*j1q3>1r`pEX!UNmmI*-pE8UrbMqcW7Y72wI>e6R+* zisKCEO?I9FeZcr|w@{9>C4U1h1-}kn3w{S&2L2Gd9()FT8Q71qQu_3s$c@-f2J6AI z!3J;|xB^@RUJUXL3p=k^phfjY-!4#Ux+AuLmfV~34&mLjtC7Dto1wE;OTjv5DQ>5e zE1h*6M~hqoP6VegcUlLY1DzY`EOhi%XaUq>VTN4V>Tb1Q|_`)?P* zM>=lUe^Nb$wpIDeB4bW6fL-~6_*4Jsr9lNV5ZcT5@HC`*AckCSkN>~^S0ML3{!0&* zp^v2Itq6?#tx^7$z5hkqGr#VhmH(16hjYH+DC3wvGdJarT3lbeyLu6GU3JN6pLqMCtYXmsW@QNj&;{aEwl`3hPrE1|Gpk7`6e?U zfc^hD1@zmyWBpI(1ug$DGOmYTzdFAX&Xq83TG>1AXChC@Za4o9@4}`G@2lGyIqB0b z_rs}Y;|=9f+3!?~cTws$be zY%z$YFL~(o`b-`&azuG}9DkAt3giC%C-UI>wDfry@0+#6zn84Eh_lH+w%B%Zw(0O_J-FH-Aa#M!a0C=@J zuh~rcGG|%zuJba&$iMq}vHF+0qR+Nr%_U>Bw)fnfcI^7jftZKBnLHdz9)93?u-ZSo zaqy6GQs>9Gj-%hl!Q;oyW5)WX=ElHC{p28NT1FW8cRxN)zaZ`F-8;Wfp0+V42r`&Sx>mx<^^swveuako>!!Bb_#{oBLwgvU(B=3stZ8v~}YwkLTZc^w;75W=NC; z`psHb)z&f|s+TRK=LwWX`E_@-PgQS{)=Os@EO%w2%-zm*OyarRrH7We+u4rEJomCK zxrcgJdiD_UegfZ*zhA`k%D=Lb^{>4q`Co|Neb5H%e~kV$Mo462{b$d7sC#7HdV1!g zy!`#!t8a#no57U-t~bQ?H@``rhp_Yyq^=%^y4 z=l8D8`L%B!XwD;d)mfRlefvP|&C8?YUMi1?@Y)AmhQIYOJ>H(O{%fOzHbV3?q!?} z(}cUq*TbxdVP9AHtb0?+;!-`(phlPB$k~KbN5FT9y5o`WZ;rZIHscf0J`O+X}7e^gQShW72vn zl~>o>akv}A^WbC1l-Ph_nVR#-!v{PM-8kFhJTy0)1_hlzZ~DKOs2Ikst+NHELE-#>(h~Hqe5$);)AC;8Qd-^zDlI!erRDwLXz&Bz1Q7XPXIOTEGq8UM zybAm3o}=L;G9sI_z3^SG~%<3j8j33%DPACHVJX0)7wN41OP^ob7$?_kcgd{#W3WAnD8f zBe)yBN89rg>s--ETF@~irnUG@Jw zcs=+Ba0U2BkiKN@w}SG27f2b{oqfGP-BlRA=c6`!CN#>(zlnDOcAYT__auzrmr|s4 z&>HjiOMWYVLD$Kf-Xr&c5cO~7Sorke*Ky#nAj+D(>&_leQjL8uI0i&VPmpQ$ZARXphpz^gAl)rW02#~p_efu(;GgIH}oWGiQl8tdZ=1*sS zlnTC)NiMVbQ(p=CP35}*bk<30+A52OX;(q-K-TeFW)!p|{?@rBmBkcLeMskj0-?S6R#e-vG`8 zw}bMBd@=km$a`kV$3cbrbhLi~oXd0ivwcJJ2jJz{e+pg!J_E|X`j*Z<=^ZvbpA-?^ zxvQ{W2`c{UK>2S1Imee2XiL4>iz+Y*_GXu^z#DF*Z?F2jjTf*Vc`mn!kIfyY8__Uf zA8jglA+>rDd%=_WKi%APj_Vkn978Q0L!a(PNEyAiHlERUDDmj|1%#FHvvAw^9rTgB z=_YcMZooKThO{TW_@(q0K=vUMwTqX7s<#_K)l)q<8*Bg zD`OY_Opjv1d)CO&awn2|Td!eVH=b<52G6q0(&~m5)+6--n9)b2kPeac` zH3+C_P$P5)^bquyZdA{{{@X#Dm67~$^B79#Oa?A<;=S8>Exc{rva%?5>9h(z5l4k_ zf7yM&7yJHC_C2u|yARUmnCnwr+14~B*G$B~e-!fwKzHI8>bIS#SkXA0 z|F6L00WWjzoX|t1djkoq$G`l#yO#-LU(BF^j!MD8LtZRNNH2E$i~Z^ z_a39Qi5)cV9fbQU!kwQ9r|}{iuA#YkwvLhUn31)5P`@(wCSBmbGxbBgpEia#{|Wny zOq}Xx**H0N#_bYe!&>1c_GXMA+-LE(EQUK9Uh03@aG5-CY$}by>Vhab`Bh(3f8(*q zKXsRET%BduBuoDqBB>@F3~#xw#&oFcdDJN^>x-$(Q=jy_H{x*=ey5;xQLL6O&GE8) zvw6>k-A>rE@cTd}>@hDAR^dGkwSy64@_mFkBMJOfUjq(_qe&{FrFj=ThY?2l_Vr0A z&BtQ@b7^+IUE9YA>qsuYd@pLZDg>kSx%nCqKa+%XL~S0qZ}TJM`#rO;OYfG-ID+Q|G~NQ5yuR%&?t^^g|I3z*{^&NxW#9XZwh0)qmZ%X(yX0bBI(#EQ|4Xg@#6}KNB&AWMh zqUbr=Zfnqd_H3S0tC$gtGWx#3X*z+63E|JMuvOfYD|eaRyj9ej9w_YWcUHzvgZVuL z9|d|y0ckTlUGq_&8;6TVsS=-~$w!ID5c~{fYzcj{z)aiwXANPVNhC)quQ}3QlLEc% zm-tf~{&n>GUVh8;fv9gY_v2T6`2n^{CV^YAtM9%YRH?j!HRacX@5GK0BEf$oQ)r9HrKYIS46@qpJCbQ5?GvT8~3d zK?kA!blw_h8nhH@hSZ_ALc5@s%wJ9k6iABC|5@WR6IB-b{cgs^a}f~cw3_dVUESWa zFn)7Nx`e_%4JnNK%g+BtW$t^-+ygUVNn3Fx=PR3T=Z5sIybn_T4YyevRu=ts4O?TF z+tJasq}YCIv3-J$_k>qf!u*3QFb2KI{SP#J@{e9rFWWFBz;1mtErOfK?r z(zi>?%1P@Ddm)8!f6}=X9^KGTzx9rb%9XV2gwI6hqw=G!TjIwa zd%|mKZ_84rJbegW7dS8bzHrZYdArydd1dqUVR&8Uykfri3S7thV#{iMv9CLMbAH1l zoG`})u>T){-)!d>^VU;-UT>Qszij??!S8D4r~HL(hN{`Kyy<=wnJllrg4gm+ypZ+R z6x;PlJ^AfPSvE#S*|z^t_^ot)Doc$mJ>=(odT->H&EH?c?`G$xvb?g`v8J`LTlsQ6 zQ(}g)`Fa>W?aoK}>H!~bi#sBNY<@llpWB^}^3(as*dFDpf1JB#`7uYSx--jmvsupRDZq zJbYF;pC!77z4hiM&O>&GkB@81QKV(Ee7*pm7UvW8miY8*8@mcU)8(E#Ht@P#jUk#n z@VeD`u|DgXs_MC(wCyB}{JS4tqh%c@+c&K3Y98)uw3XZ^MR)bBO72>v5#NX4y92(H z;QRTQHnm~ZZz-JpHvj$c+YF7t{bMW;d7H=D$-e|L*-gW2C(JOO)xDw=Mn#k5QNI7s zwYsj{cI%?Dv=$z2SktOH5c%gQ|D~-#$?Y1S&TZG_-_FSACT9YE2|hQlNM?OxW^=It zdC?Odb2UlD3=Uxbxm&X8YtAE{>r{R2B0WR!FTd`tcA`L6y+AusJ@q7gyJGrm5Vq7I z--+~xrS!2i*u66NCGpijVXdL`4z0>o?MY@F%T0qh-z2{~p)lXhr}K4*mu-;DIr!Ch zLH|jHg7gzRmv$~V8T%A)CU_pW2t-yVnv-7uz7f>g*qcE1mXht@H1Ok~*1W@cvPpDS z-8X#$bRnzh7ej0KjkLy85u%FQuLrOSqV$rET$pc{zI&v8p*+jXAzr0-E|~p}lfs3$ zaNg#{@|z7e-_jHA;U18?1b&N+pW+Sk*F5Klg2|TUwS*f?Yf#$cH_SaNmwTi6txoe1 z=8u*0feK*x5Dw-X(5P5n;t}S9m3h#A@jp7{5$1E1d9*|x!ojRZk6}I3^AYA|m3goX zf&bu_`pkuSRq30?8lP3(GKfga2cj=I7CYjEde@!ax<@b6sqz%&N|pKDZTv!emESPe zsqB}wW_j_p66PtD^S=eZYAeFQmiusiPdvhWqcV?ong4K}SNRNchRQs&)+`=E^|>0> z(Y=hr9H26f51RioQ@=rfuk80>^Lv{4Reb~05PS9iXrqdGCb|w5=)z9%O-SywWkD#shlNZ_hfx5SEFsSFl%7ga~pU6lGJm+ni@*;Sp(9i6L@1jnFv5bk2A1_^{D z#+=HY&~Qm#%vf50&aui2K%#1oNo}tl3OZ?C_oA3lxi5{s$xEVXm(Jo20Z#yt-*)yE zxoT%`uLH?z63*6MPu$l)XOosQ)AN+-8$ll>pio^WrK_l=-qmcmhN>G(yN z5-!Nx5eV_1|K&{=#GCeXbNc44jLz2f0nZ0Vfx0vBY*1%xYr%^^m%s z%$^F)z^*;eI*{|Xxmh6RZmq5_19hf#X?(7|PPuE3lX_0HMtwQR9es8tb|c9CXrg|= zdD!Gma1po*euT#bD(cr*BNQ1=Pm47Pz&8O|137!m1;fbV!?n|p>M6IQzUmV@ecQ_N7#`3|@7 zep;yb?*-9+a<2!`V{&f*=YVel7l03d>~-fJ1aAi4 z4C)<_LDr8af_fiA-*r3*90^_p>g>6`qo_NCBo|J$zN$0^-MIALOn;tjgJj-C+{b|I zms^^*gQsAB4>$&VFQ~M>4^&!rfV05&gA2hAfRdpf1YZvB1f`dL2n_GBXq=Wjs)6)d zbuGKzYw>SUot&1n`h3u%D}Va}xo)yu?X<6U>M`o`o1mcomd;*F25o?3kVBTwpL*b@XM9M|IVr91-pL4XK6c8$@^vb>0(;=Mgmm5joeP}@O@Y)-E`pTu(*EtU1e7@d zJw~NI1w981q0q)bbD?@@GqfFg40;ke2=zx1u7RdO%b^bFA!rx07kU~hEN0IhnhGt1 z+MvzQPG}GGBy zt-lB@Cx;6$@<23KqHe*5fw?svYgE(M~QH*eB+)vo>BbM`*_oPGA$=g&R&T%C`P zU`i!v_%$o~J$GH8$o=nzpx>8C=Hp%cJreO{=DebpP)^}674Qp+-2Wa39`tf#9d`kz zArd3=@>=qB5)gV%q+#dzKp?M>>_9%1%%ee`|`0i5|%Gszxt~AJF3PY<&Upk5}nZN*IwMYPEP;q*Nb*R zFSI^h@+bPGPYd&xwU=I0kQ49nUrM;}OBQnCUHypurQT1Gz)py+=6;do%da_S_!y70 z@vNQ4TcVS5*Nd)wdE4~$Hb)vcm-L(d+CZW|@Aa~b>#OZUyBiQ%AMb6WGh6pgcO}rByAIS3cpZ2@Fo0u_>sm$be?N)-z0V)(f6Kf2 zH?SSW;Q{?{NPaZGY;O#f#tHhSJkU!bmF7%#8 z@+daSnnz+Dy^ZF?yXPz3hADb3f9yjFl__ZCS^$)cV~Ug;Ux*;8C7!=CKX7B^v0$0U zTm+Wk?09eySjNutz?XwZQ7fZZ1sKJgV>ljq1oJGvS5y3ojsr4lJ5rC5hFmhX7P^`0sKWgdyN|2uDL+&Nr9pJg(UjL}|nU@ku9D(b8PxSE-5Bh;DvifyUCOt!7xLZ0aSIk4pOx4~j# zl+)SR9&i=+l8;*OUhbt0KM!6C{$23BV2P*hqu=9R*BGQu{*bN*4jstS|^H;sZM*TRk)e@63_>1+h zk?ZDLUveJr#oWMiN$tP&ea=Icu=q=V@s7mE{;yHSOsQ0^P{u}N{QTD_W4p=l&&)&~ z>z^Zk_%+HnWiqap#O?YXGIn?w?4@B_!j~Gi`}*+XVt)pt_zHi09~m!s8I2w6eh?|= zCrA1n@!e`e$!+O%-eZuqbcnVzoZim&v%;r#kvRh=Y=iH@mk-Tx$9Gj0pVoCU->1fR z+VNeH#i#X`c@`SVD@a9~#ir!>!EiU8$a8%bs*1EuQmpvuCGE=l{wtxM!2M)!A(%6i z+&U}k?gR4v$p}U+d3Y~h?k&)${!@5ey+rOt`z_B0q}7L$f?PdL#OKTe8i5r+53mJz z8rTOM0*(QvfHCqAC0$zpgiI&^s7Due3#XU8KnUXN)oOPjd45W#&6lR>`OLSz4~ldtAeiBJE5r zTFK@y;LGqK@@*PFZj<(>dB~hE7ViFh5KHtvv%VdMA04SpER0E5F)_=iv z6xRO{C!KY6!-D$I$xkLG*Z+3n3jrS=)_-`eNATVcBgmq0%k8@`L3pt{POqcoOWTR) zb~upxu8y}8o`br}RO^2CQ>LH#GTD34U&c;ECt@eQ58Y`psN49uADYx8)7yEz_#($rw#8{C51DRVv_e?r{aOUgFkh$i~1(X1}A{eieCsJvsL6q9gSi43POP zmo$Chmy5CAfb4IPd{SW(EM_Y)mS8ftUNY4AM6rO^qNG}eKA8l%y+q#^Ruc2ej(jY-it|ox%se{<@>!O39^nM z>%CCcvTi5oe9GkC&uWy$z$No*f4z&G4?;QqecM)^614PvseU%MT)Y?PF8oY<{TJl@ zgO|6sx4VUBn-Y0G<&rip?Nx0q)8@sF#h=I}V{-A&_zZlk?9Wmka0OVu%~XhA$oN3% zGt`b!gz6Rc8O)4bdg|ZZyAIB$%pm+q$SE4>%K56Au6$eE&j-X0sr@9cIhMie_o@r6 z)_*eX&5ky+FIDR>nf5kEtNVS$SXKY*OXas*Vh_#ogNr3c=U-{h1BKk<*4+95?#!(p z$U1%#;jF*9ePDP|^eW$GmS+=lfU9{rBIi2Fy6YA3y1^fff{9Cf^hOeU6xap41RMrV z0(quGm=<~4yL^QmF}-y#3|bMpUX{En1g`Uu}gvRBew^8C(U zKZf9szXln;ZsZ%t^{HmCC_4?F3~mKi zfY*YTfZM?D|_kX%xZa$XD;||U>fHE%mw6G zSTT_8i(e@uA+ADTC;oLm@Fs8^I1P-shcPoS2l(0buSWyo|NZ!P3~gGjEsEU#>zL|3 zQ)&J`=lhR-9r!il@pNZf;~VOG&!vH1+OS&Ac+ovVS>b(r&-w0-zIIMoSx2K1e^noy z#b4nErL5xt!EzBaXx-5J;5>=snytwFzaCvoCBUgESkn_d$a?f)KUrHFVQW_GRY7Gkk7OgVV#8_1#jx!sBh=kd^yM$*x_~p}E_a zTWlcb`+2f1`8Xgvp3dhntKL?hdwrf;AFbdmq4zYtpDfR=yYt?w>htLJ?Dwilzu_;Q>y0en!5!7j0g~tc4bog$jb`wE%}SEz z9Q%=zV_E0_?L9Bc&o@_$kks9Kclv|>Gm&+TmnHTi3%Yl9E$v^uu0#4ase}3Cu?XH5 zx%af*hUhD;{b1+VkZ)IEcwc+lo&G#9S-%t$2;;-^d$%B~5Lv`Ww_3hL7G{vm!@abP zb8l0+|Iq8?AK^a;s9#LQepSW<`vJLRJS6o(`*!1#LNN1Gu|@Zc_!{tZ?ym*ohUF>k zKpprxa08gQfyLk(z-z!af*DW9GlGHj;9~GYV8%}ade-5!QC@T@a2aDj`7PfiCJMAT=rHYka!@r=!*H59OzPJ50GYDdgjU&yDZjK`UwO1&fY< z4?G3@0$BPgsb8tN-{+nt=HA1_7NS4k{x-1C-EMdZ_>Z_3o&R6pH24+pI`9GTCh)%p zi?06|EV@1jehU02;NJxQ2k`HLUju6$$UF7*QRe#-bEpmZHbylo^i_;zr{jsPct{O{mjfH}Z2pa<9n z><0cQ1L1RI?u(apx7^p(w}D#9&@F9i>F@36+f>}pyQ!zIdu?yJr+riLipr9j zhPK|mjx`-Ed`FKJN0*o20bX4{y#^->675bB`zmKl=JJY|Mcu9aod|Yi2;|=7LS=6y zWeCET`h^j6D1A=Z*~YXeTl6o!Zx|qB3GJ(NuU&-%axs65FY0Ne)Rn8x^VrWP_7KW= z(qy;=U6aE6du0FDDC2XJ@k?e5N*GB$DC|Aa>cEBu4arbv{zNpy$`N;LY z_k)D;UX0wIhH~|M+dKFo#8;BF%$&9KY5u~8j2uS2y84s%IKHAR{~gUkCM&GRamX6& zWl24nOOkaPyO=eimOOZLr%an31>|T2} z9hICH_f>3Vn-y%KuRJhgvyp{fmegM$OZw@(WNaCH!sF@uJPMsqC33m-iTJEN;X47} zV)$fCC+`u8{`~%s3?I+tU0?TQ=S%u6V&A8DU7oV?g}R(T`8s|1M3?pHmis89SCr-L@`%Zje%fD`BkTKKmXvEzdgEPs-e3dYqjBS`^C_Q~ zDQ7Ioh3||n#``0G=w(Xzz9yM|4d5k{8J2SrG9ULct(@#3>u+1i5#Z$Pe9GwMO{asC zD=gy`$lK}VSsA~oJpT;n(FA!{BJX)G?>zPt`ZnNYe4HR-GBWINAU%x$kT3kgx=Fg_;kX007>qBkNB4) zo^xM=(PvU#pT4XQnsLZn)L&Oo)_?Y8b>H+}oL-ADO8$>Iu zTU*~jNq9V+^lelv zJ({np?7mInNisJ+K1;#tGQ-bvIw!i-*~dX-wj)!^e94?$*FZCq z4%r1Q;G2kqOa8`CU-{4rt&bPoO8!XKQgXU?XY`g3?&~He-ks4~YVn|epMB_U>w5fm zC%m3B{OqB%Z=gw@=8&g6Bum}gO2;mF79RXcR+?)%I@<_}^>%J{o9$nGKfBLL8mLUx zY)AH){OHcEhRzOF8+f0pMUS1AqXy2at$3Lg4Ep5a+@|;{LT100Y5N4Sr%76G`z62d z3$Le_dXaGuW@e>v^_F%1g$!YG;^Q_W{L=O3#Jlli8Q~Hy-C9n(<1e>(=|ghj9l!V; zsoPWJ>~jXzoYxioz{)Al2#F5(c-Ed-+i`X5Z6=ep(kx4_b?NS9f^d*@50TElv2-QB zVl%lsnR9y8&ck^5euv1SEobpP(A_K5jV$#$ArC&n_}Fx@L4|S61Kh0r~5MN9a9` z=v5f0qBxJV={~kOIh{*7VO+1BAAY`h_qra>#6+%}6uJM`lXp3H+~wWcyA|MW)RfXslLfi{trMWXrz7)sl4UwOo=84VU#>i!PU;n%u!qL$Y;b=psb}Kl+;yvT!o|iH zlWq^`UQ1qn&*V#8NE;3LTI_6aiIaXPjPvK}NP4?TZzkzcp6HbzJt=C))604-L9V@d zzE1caB5W=WP3Xl3Nt+M(OqMP&7{AznFUu*?*hu(aSsLCqglXtFKz%?~IDC>$A8C9H zFu#h*ah{SF-|n;MdwazN$3ElSZ83R_aMj(93wzWYh*SZbU{a zV{@qs^w8Y{Iv*K+?m~sSi(z1V%|ym7FT*V=>0-!Nk<*?ahyG;b?|)5lydOJea%$t! zxIMxn|HR8lx3+SQOpAWti__t{ALtU&^C_E`xtIyMT($1M{wt+y!x)dddg^s&01Xm* zJ~IE2~q$lJ_5iCGYerXUV&KM^tP@@;(Qg$@@V`ZUi^Q6 zHXoYTz}J9Z2am(fCvaYKKD(_X4UwnM;gaS3g_AeM(Uw4~&(V_Kr~FH3ncGByC68A} zdUm|X&}U-FGJfLdb#IQykin+-Imx?Rm~h|IHbq0gg|W&Ew9*E7`d z6ZV`a<(?UF>tx~c-1T?R7Vzuu!IQzV--q>7cYhuDB;jRte~ZQ64*rPn5$tTZR(7g! zU4#ZklEXqq&~oLmLgRI=&wG;d`rk>%_n)ENAt%^B_h;I|dnoN3+kUlrnl5`rIQ~#w15SGnTQ_>Q(wJxx#wA!ej^@ zjXx_6@}|!olJhpr_}G^?Am>{9cPB(|`aB_-PtKE(GTj80eSm%}Ahx0F|0(w@fZHtF zxEXpGtKI^>5-hgCbA^a=<(-XiuKd6a+}DA{3L3yw;3lw~;Wfd|Ki6~J?#2(uIqWOr ze2We0ntaNw9dL_ZbYlkj87(HA3&Bgkmw@H$d66$?&d&hz?d}07`?tXO!{}~so{TQt zUOoB7`OSdrhrBc{v&htS_RN`tq0BUCh`(J87FjLe>EKpy1-Knt3;r&69$3zy*Y7jS zH=4c7YqDfYd)4*zl-sMyEiFDXhU_Da3)qDycJ>Mpy7rxl*Uqmce4j9IZH88K@i2Hi zcq>@y<_F;G!P~%+PpK=>iQF@ebZ5bT6Z{zW3&FnvUS{$4fQ4Shta2874_MBEe+bN; zuz_C&KLw_*aCE;9{tfQ`0Q@wVy?ieGRj{1z{)XNEIrulZ$LG0o-D$V(JokSF?xU;6DWC@m`PE^#}*IME<)I z7e|HIQxza%%$bq@#zY=|L(Y#J3H=2!+UAnk`~`L<;7IqBTzps!bSuDe-lTlz{2D;| z?iS;@p18}2n*h#yJ6!UoYv?Jro-V}VTUQY-7j^7x>;PD%oqr4#UwaT-3VsbNb@r#= z+rj@4{B7_d@O|Jnz~2YI1^!j=e*!-P{?Fk3VD|q#{A2Lj-2XNBufX{E=>GJh0g)MNBC{vzXo66#$}?f z1wb)vz7+frAXwhPl6RftJ0gq0jo^NCw-S)=%*!6zBCzbI9mDTRG%wby`-bIP@N!*A z{mJudI7kV@X_G4;0wY1;IZI`!J^wOcK;aoV#1{k zSp*w+7JLc#w=8}ySm^&0Jb~~(178mQ8}LN1_>HT;Qm2LBk(A{cu+*jSO|bi`z(s^l z2VV~^15XE6S$r*6=<&PJEW+`H(M{lfa0yu2o69%2ihF!cR1KDWw&NHF$TwBSF>95x zEGF=s`U%wc1V#vxn6Zv@?d>}7Bzo03R~{mcl$<_jTL6J;0=o(C=j z^PLgbpYi^t^PvmCdGuv@^pbhlaUQaK+ERzQo}7x;qDK)XeXCr2t7Kp#cqv%M0?WW6 zYdLr-_-?S2U_I* zdeE^mDC!_BvFY!EuLSem6epYSrXWMoo(9|)r-w~Py6&5b*Nvs$Jx#sK)dQc5TRDS# zK(sElak<^gJ|oWMcKtMGG`q5G1WRicdTBdCzX<%`u;}5<-~qz7fqxPFYv8S5>2n?d z?+5=f_$@H!(GR=>ehe&a;8(!X1|+>x;2p!F&7ti-LHtzm{Oe%emvMBnz)x{6{_Hov z(gt>d8M{Q!g2kWh0xt*uHh3ji(*HJi5BH1*BEAhhum;Ro2?O2W-vMs`?+0%K3;i#F z|B(Af!7qcKv+zA&zJ-b2=Td{$kZT!3PsG-51TF*Q6kMq#dDdA1Oa*2Uek)LfEvy1$ zK71oE-O*hTw;%DP)hufj5Ew z8~B&N{{YUs<9j83QTjXalM^l98z_f-M@QC?CX@HfdDh}Pblo{ctJfx}J88@P zX|S~C&%m-2`%|!3(ih-a;C}*3drJ-1?~x4ytM0Bqe{z1$)nKW686#)r1u~}AHR;T^ z@^A%Mon9A`j_7QROK(Q3bK%o9=48IhjPG*Cm+>>r@adXyro7@amjQBd)~WL=H-g2l z%mm*Eo&_!k7lUsF-vk~i=xMXQ$YT`^wB^Cun=elHUf_VyMUK~!@vpPbD*G^ zJ{njIv;*6L-M}H>I1r^70|0Y?Wxz&YJFpjc4LA;*2F9;OZ@_$@8Q20m4IBiH0;hq3 z7W#Q$KClYt1GWJ>fmeVdz)2vlmGLZ40W1VsfdSx2U@!0*@Btt%RuutrfM#GLupQV9 zya}8D^45?RPy);cRsns$Hee_45^xy!0FW26ihwylEAX=`qk%kr`e#`uEO>e*TE^%j z|8l9>WzP9eJE0R=AOBU}`w8FkxvOnWC+85kcXH%8<(EGtocQ=#=vTl`bP$hQXl-@-lH}R)7RfAm zx*YsN%lkF(NN^@i_nh7pMR)FNc_t3S4*@c7e8zZ19zj{WUGg#m*JZ?s+QM{ssf*r5 zpR0%Aey^9rjmY6yCwm_7A(GFLIdMtPm!;kW&aJ+6?BeU&Kc78j^?f7q{B?r*-nrcB zTizE*_qpwBqSral?*@e4(@0$k?;U5T>vPYeKBxA1^n0Y`ooBhOR^uO>&&BWxpQrV9b7!2_%>KJ`&!;}K_xbd?950o|^_n90|8L0W-v#-c z$G$z94K_1;+&1!d93v2VPb0b{n2{4*xw{6p8?l?D_)@}!U$T)CpS6!o+CU~g(*`78 z-p<2#*=y+Y{0f=dMFwU;JB-1gq~&!Q@_0KJol04S?-+d3pzjU%#Qe_0ckcC}`xf*pHTe;C!NJ zDVqVgeWCHZek{Y13!%9fd>ME=Sk~eA?bb>e>kSO&3qiwqYC7DFfv17>Ik}{*eM#ml zPqDT6fLyt0GiPvV)4tq1p)f0LnWx_rr!DI%+Bb0SkQfb@jNcpWcR9S*abE#023LY* z^`i>h0A^-4fSoXN(C>E=H^5L)R#n_ulgvA1_9plJVAc}dd+xV_w{cGz1HS=o1V0D9 z4g4~gvJD&t-wys5ybyd9d6M)B!T2<{4v1{`ZP_K@I>MKN+l-F&a3}YEFjYRFYbMj8 z5zO847>~;ugU&rTJw_yPjg1NklQRou0Jj3SyWb-@QE3D%Vx;VN;2O!ibp%`^;20r; zODn#el{sIN-Jeop2^`vJM`hez!10kEVY&*+=LKMy7^^39Whh)Ie+ zrC|u&l6=L}41Y3G?`P03B!2THiZ`Vde^jP;mgS?)=sv>%3;lBqhHDkyWBGgWTD|Y5 z;R#)hmG}8py?=kY;z!mf-oxBn=t^fPUOq-~&E<+m8LphK_dBjv{M=27@2OY(BO11( z^Qo0@rIl}*m4CvO8owOpEp!iEs`w2$DY;)_a^A+?<$n1D#cx@Cjxag*SiOE`{B@R} z&x}58^)ccWCd%te_?k2nc2rwvyZ24 z)^uL*_G7rx>}H4A{oGrWZnM?L5}dlo|6+mS8Y_3*G`(ML<(_7Go@##JS+kRStbIK8 zZKeOn+WCu?-g?u+CbO4!tUO~^D*XYo(@)#=e$jHpQ|c6dQmgoNv!`)pPfZ0H{wf`+ zkF`e_w2DwZ>01d*fNDqc5Fpd{!?1eq$=F;g6V}-)q$SMP^TRmY)S?CzZ@Z zME>SG6|c1P7MVSLYIHB)gN1JDSjBTquUpNYz9`i2_nH;gS$qA|>gRRCdn|q${hOrs z_HBw^FnfAuwcd}j^4-IrOz8GldgH7eEU@@RW+!_ry@w2caj)|I$nbN9HyK`Jc&gz~ ztvsKtQogqgKWq3ovyV-NAF}#iVtAV2XI3cxdc#eICmDX*>|>ANr@Y?3seH2xKWp~a zX7yHMc&y>)>Xd$y;Ze8h{hn_qe%b8%k!roa$MCvJy+2^>dV$&h0)|wg=P8C?zQOor zDE`9Q)iZ|oT(9Blt(|SQ_P^Zl48vbst8{Y>Z@otER~lY7RqyKzPcS@fiiUqSS@Bzj z*BO4@+W%9A-o*KPXYFK@;YEf! z%-_v5JkIb|YbPrWw^=*y7_Ir4Ygk@P6TQE0?f*lEt+>+C>odmdrTBpP&!?v9{fmW)+pbnzY4}Gb|2^v$UNHQ+$?GtAdraQcG0Ok)J>> z-R{3>=~{bOXLk1DDh=Osx8e@7n*-KfDlMOTzNPW+TDd1j^-u%pz<$Axv*H^3FPqTbAS$n@{jfTH`o#IbSPdtlrT74{^s(epbzTUI+KfFo9Q&!(^TYXP3zusi!+-!Eb!_xoI`s=YK_luv? zbVgYIMp=D+X!2#DPU?HC)f?ZEarb*>D}JL{@e;G^XUq;pSUDH0*7)~LKkrz2D;qUD zU8i`8)!(`s^#1wziXSq($nXxc-)F78EVufeWOne8)$=IR&*sUR&S%E|ndxzl<>MKv z*H2d{-2%(cSWEX^v%5AcH_seh`QJ7Fc);4lt2G+_Bh&Bu)^ANRy>DJ-d{(~;to^2} z-kvkR^xiC`d*AfXVdeQ~rG~Gxe5QCC-T`8JuI zjJR6wmt3s)GvnvEyGy^r>U*oz^Lnf2tyaHNy&ti9e&5>n3}4S?m#^Nc>Ajn;cy7Dm zx9b&;FncUDz3edh3ErNkC|%n0I@R*~yruV+*~fY-@AFn)?~hi#Mb=(Ev2^>b-On)p zxZM2WG_&_-EI*?Pm4Cg}?+CMtx2@dI8UD=l{g~O&>+_Xw+O>*zELZ%F`R(_N{zb#1 ztUQmIU42ob^dFgDTwvw?aGr+GwfdehRqw}|-TlbyCS~z&m|cBn@;@^D9I*aoij{NL z3Qecf?CW`KOYAFc>1?ugvvQh-?=d|-WAdIidzo6L@k^Q&zif8%UfRM0qjVG-B4qTw=956e5-s*3f)z4;&f5`ko+UhU8RQYC^-5jub++pDzcE4_{r9V$` zoz-Kh`HLM^f0L|TJZAmJ>!$BFu2jCyEPT0P_F}pE+p$vdb5`E8)$a%@SL*j6tLJyW zqxX+leb-riKXr+Q&#-!b$LjrsYc!laWiFi$XDi-e_5POmi4NmmZg#ia>~5>o>x9+H z_n6tmG_#9GEI&{A{=w|zJ@a2bvid4DJNd}$9e#Yu)$^^~l+?y1?dY9r)4KFvlX|wd-u>3w@<@u52^MyR)t5^KI+0AmR z$CW03tI2(KvC@4sQSlD5lUYVT$?9{gmE%>@+X1Wh9Tq>$?5fi09d)>RJ7D$woYl*E zYY&^NH2!VV=QykHO=iDOS$Pjwy_Mdm^l9@m?_aC;FIv7PSv&m9^z!yvjh|q4P-*Sx z5i9Qq(`)I?O1H<_!Q3%=|CW_!n)&S|qc!{yi+|7BLE6%LYKq3EOzxtq^?t6|gmd-Pl{~gBnyvbW{_VA(UZ@uYniRrD*^tH$IRcZG0k)^*pt@7Wqe7$aV@Q~Hd zI@8M|#Y)$2<*!_&_mhnO9@F~))B77!HU0%l_c`-Nk63=6Fgdc9pTB6U)$bSHe$38Z zAFlCBtR6nIbjO+BeZ<0NSUKw~e8IPsZ?D+jcy?@H=d5_7T zYkHnCPUCl&KN?|n^19XQ@=+RJWBF+_dzoVG@FSDA-sHP%52Q1yk4Bun;GiyI@7@lhF@e{L;kE~u_Ha$I2r0G6l`C4f>W&QE2 z)f)dt=83tsYZlO82bQ_t+(Rzs~xru|}7^SHqjEURGMWe8}p3?plpc zoBqd{9lvXOpKIy8-L7=cTRp#O`F+94zrgBahuP@}vx~Ys<$KQf`wdSp`gc9Om2;Ho z@db;2&g|_WyMMyk^UHOb?n*1y0^^@zxYX+DDbw2~YrjpVmm1$+UZCkru=2iTb~e}S z^NA9Tud#7k>Jq&lalPVa$0&Z+!slB3zisiA7QUxV={8$Bi%jmONgDo<^uFB^Wu@MC6|i_8umGy7X$_BYDxgqTYG%{7EP}vU-4MOpPF9ZH~J|?*Jk@|2Y$U19PJue5sTFu!|`+20=1_o&;Ie%!T+ zKQw)hGX1>e+l~2~C(N#wn||M$tbFgA9Zaj%`)92_7FjxNroZ>hKBt-fW;84P3#PYG zrl%iS`DR%8>gtv55i8FpW>?d!Jg*mN{M%Np3D@cUW2T3GmhPvP{~Bu_o37XR3Bwe>zfkdu zhSRI{{;5jEGpyd9vGBJoe2MYDXL@_x^fJ!$va(kBmzdmA^D7S--4wHrJ*KyHX76uU zJ=K{W+f0vX)8mhBvizAorx^cKtH%Q-x5Mi15xd_sPxHWwBQY(-zAFUqUUOBF=<52qFnqr8PXWpB<-_zR4m{cZS}{9y%AL2Z6i zxSdKUN%DjZf@u!G-1Svzd% zz_4L?sb_bL9yYNsB_DRoFD$GrKr~lRwIfIIZ#)OrH5)2syLv0Ia3)NU7&M%fi8{M4LikQa8h@D_T0G|*U3cunCo zBcqbqVJ;prE;8iyMPa7yeVmQpd^pDgg+L=9@A>ut1Ax5u^(3$h;Jsh>p6N+&9yt{~ zlX$ccSOM@JT(k|?2^<4H08RlDvAGgJ_8ZR!mI2Lxd>?Bgum#u-$X?|Az(L?m-~{k7 zkWYyVftf%xAp3yZfdSx2U>|S<$is#TfLdT7&4cp8_V*R!RUl zhkhfl1=tSk2Hpfd20jN?;UoHhM}b|yKHwGL2yh%Y4HQr#(}9J+3gAIt8}K-=7kCLc z2Al#oKp-jtN`QT|+gE@?z!Bg$a1zM7h%|u;U?K1zAm__I4isIC9)V>*GazTPZUJ@! zaz^V>-~{kFFdieO`9;;hVxS%910Dqq0mp%pfSgl09aspg0JZ@;fxW;>z+vDR@Btua zUrxl|7XfpC`9L$!32X$80w;ivf${jwLZBL01+)VLz@xw}K+c&w4isR<(}5L0E3g+h z3>*XG?88$4FGEFRfD&LnungD;Yyoxy`HUqCfofnC&<^wgPXhaZg3GZDU?H#qco5hI z>;(=3$AB?3kRm|NidzOW0~>)YfSet-8`uxL37i1(=}*Q3Gl526G0+YS0K0%!faAbv zAnyvw2rL9v0Ifg|@F1`gcnvrVd;pvR#xQoC2owQxfcd~OpcB{vJPqszjshP8;z5$6N|79U_Q_cbOIZJ-N1g}C~yM!9LS%BJYXi!2rLFx0qsB^ zFaSIW>;hf^4gp7ilfY>p?>g!Wm<&_^4+1-Zy}(PrYrtXP81Mlw=6do66agi`9AG}M z3}^;Afi1w(z<%H;@Hx;poqPf9Kp*f5a0oa8oCHn-c{9idPyy5eD}Wy0ao{lU0dNXn zD|9plmoo_ zuoKt|yapTwjsYJ46HCY=Fb9|qECV`$-N1g}An+#eF_2$M-he`2CQuDD0*irFKszu1 zJPJGs90yJU|6g2}MAOEJ+&rK#(ii+Li)I92C9_LPN=mC*WDHcu0m4Eb%FuA5U&EOfK^ZPgD8q%3 zqb-p#c-nm=m`kf+MoR{LK4gq`VKlF!E8XcnR^iL4;YJ_i`$0!9Wz{$0JiUe+J^A+O zpK$c@k&0}34OjYV?8@t3#(ft$UCNs``Uahsp>f88O?jS|9FNGz<|z=xp5gL)!_N@? zv*7?{u`{*W$x@V;yOnOTV-w@UxPB zeM0*6nts`u)=XX|lK)&<4byzD!3ca=#h2DQAGoMvU7Hw)d}mSnEsZlC{H(X<4`Lo( z$X(sRo6cPg?P>SvwwPCG9B+9EKG*ZgJi9(}{_~8yN@KkEUe9~T@$yli#{Vq!TOuJq+WzQoRou>F?qR&fb%I= zrWsfQuhJMV_3zt%pX1FQ_i32XqGL}hx-7`inT9#q5_u-!X^$q*YM9XmbvFn77C3!n z>sP~#9-H#@A!}kvzktueWa?VOjXtoYG3d6y=_i|B!;Kz4?R`t1qsL~Oy873(^`^xH zeVuEZ@!+d{d5=4uhR(KhhE~IjHZ5mdYyZ}W&I_WYn>LX9;)d={JM3aZ@ojBgxbBwX z1txfPXWN|M`>_5a82UkhZ$KXAFrx=e-{h{&)%V^@lZ@*@;~Ye9j zG|QMrH%BnyG^#>h`iI+x|4nXoJ3Uo1+zfmib7ew{MLz9{i;*uh_|D zt_=<5(KzK}a2^;YJ_$ z&7($d-#lsPUf0vv)|WkgQySx?qP*SCXFPUUw3rbIzb1k98XJq%1Y<*ac5qF?xIn{Q+NCw= zK(CH|aKGK-!i_#?r;?YvguHM*x2y-0R8R-LjMA=hX*JAf1D%Uc&!yEcqeUOy7Aj~1 zd9Gi`o)>Gl(Fgs=(~e%oXxa1{ZuCKW%)_Sha{DtEX0$;cBF{rKFWG&Fh8ul#Chsdy zAg7KD8dqt!(FgT;(9t_vbOOAsXt>b__4y`tpBF9b=B$>EuC*dp+lhu7J@x5z`5LyK zM6cmS-;!y&@|-0vV!+m$Zt1(zHQiW-#u-m*#t!7MB4y6%12xQOaR9y#l;<&d=g|jB zcetRdr@v3MG`I_l^Qh^Y+`y0Rq#fr;J5K1^HBNad@nc?hV@3K-QSRJ$-=_hk(HOy#(wzJXE4z>>sH~OGIYp3m8;@Vo% z#-0woyhOgdO=+C*(0;ssKjL_#y$$BkIO7T0Q7!FA<>=S^ybKLD`k)=jv&l6*Yd7opGGbT!Oq13$FQ(b9LzoCg`cj2dqA zfgWd~#~Wi`p-i4f8Lh9&-ggUyx>ZmQq$Ib*=4byzIk&m$5%}q#muBKbo zhCV#)e$vgQ)i9TCndHH*N68w*+^B(0zc2G4I{1AZX}s}~AKyNUC~HpQqtQpW|ydFMH7Vf^$z@KV8Y#%9mOEN-nL28Er7G62CIS<-<)t`qF*< z8ya%v)=Fc%LA#Rry)q$BS6cm6&{lk&79%H@R>NGnr4_Uj?}zt0S{b)y_wO2R^t2JL ze;Hd}871pqr#t7en4c}sU zv(<$8_MvgcgI#(XIO=!?`x*^*^yOtiI~QBLAi)+d@a-e8#lzSaXNSwNq;cLg%%xjW z8Q7wXK`(IaBYVw4!;L=h*D?lG`t0$eh8sQk_I4s;(+kcpPSH5y34CRbJ+6dl{fYF5sEoy6*e2)Qp}r+~{d9-aknFU6D|K zSC}s;ClycoN&>BhxpYg*v30*DE6*ISh#K14TJ8%Rgj<@7%b+yMTY-PO&em@pcf8qb zGXG@QB&HMdE1mHNV+ko!S>!(27t?B(qb)0^p1i%cJKDkauHlZpyqvtnb_4w|o*DFI zrs-KShMC<9kJsBN$CI5O4Rh(2l#}-xtn4c&`!Hwsb)B8v4=iQDwW~GVyUAvjS#uGk zwKRfucEqKT-Dhc-(FS89(MzrQJ~un+&FEL-98cMroHjo_!DgnL&9t;;%6^peb7?iq zrCZt(*q6*xb7?iqXt6I}Z=JOF=?VTp!8*8}HV-r3$IX zuuCUf2O4Iyw1@AQO!*G(^nby5xu$P&Xei&wO6SP|lKQQAbxmt6@eP^k*XTx`Z-b=lh#rPV%{+xP_?g14R>jmwFP5uNqbDf zJV?VGeMvRxdtdYl`5qH3>rLO^#-o8d+^pBj&^Y61&E#p{aN*%Oy*^He?MuUro^~3R zw>Y7^#a7<3Apgh7e=%d`bgMo@@p;j3Ew9XZe7~`u{1>}&2`4 z`^ZVA4Jf^(gB{&$eZiBANzRte-5q`H%$B=b-N-MKrt(^v*qYa^JS)<&)OYv0kzDP6I;7B!R|HOrC(ZuU|*M#{`euD>5f+!0aV8Ynm~qYuX2C(l5y;YLqi$aA92zjWYxcnODY$Al zP!E?<7JF8FS6fS4$Nfy%eOWZ#_yQU7%>B|F`_nL`Z3%4kL;|gb8Es&z^QpT_UHi;T z)_qPMyDEX^g*4={OD5po4(#n^=)fA2JvaU z@df>T5B~E~d|A4;FV?As87+N_ueT#c+uf7NkA@j-I%9)kOPAB1u{nkn_&YJfZrQ39 z%g}hoS6bSdS*O{KZCq|^P2Wu4pWe`dm+c$OuXM&A*rTL-)ets(mG@QT)t9RenOEi5 ziiTL8hp5+?zFq@ckp3p*34N2sIXUHJ=-lh>@f;qC8P}7> zDUbB;o`=P?EIBmem`CG`hYWa|lQkv2XPNa3NW&a$>6*X}#!#O#bxhFJdUtzUS7Ue9 zz8sBrd}Xr#)!Wa5j!*nfQzD$lIM47T{ zobd#0Z$4{YGu?XRU>=QAp3Iy7&NDSoa!dJb~|NXT3~p)T}esvxXZz z_3dqCCu>kjZ_iN@_Nyt4@doujf2{E8F3_-kG~DQ^e?Qinf6*D}UAWN)>jwMIK(FCO zPyKtpGx1_ce`#A6nepvQ!;F@`&eJ}aK&xR!+ahxneQtT&(cZ?`Y*E{?_O?6P`X1=+ zy-(|L!R=k$58U0J?pv^~u{&qZseGEAjPJc3b`?lI2fwGG;YN?&@$_THCDUuT(FfzJ zK1Vu<~6@2K&{hc3L&E}}1rWhU@xyz!xv_?epH6M5M_G`Fme zJ38a19eRH0w^Z)X{7Ps1!I*c8<9GhAy}Q4&)nz^Kff{doL7S8{iz@aD(3*KllBp97 zH~OGW9;KqISX=5?ySA-2px1Dt55~#0^et66{ey-XZO|Tf8ErVG)-a=`J$gSZ?;KS{ zu9VB#+1Wx9j@z)t84vB!*X;+6$DZ^h^p6^Ed?Xm!dwGJrm+LsItQ;Ahwg9`!rPVM^ zx14nSv&cS2>ue_To)~ZRbggY`t>2`(RlHwPT1$h9@@ahR(r|tES<_HjOM||~`wJOs zmAf&O+o~PwQNxwKf;R2x<(Xc&YnR#d8gBGKJD!7$Y5M5Cue+tY^II%TW(k9DYV#)GYUIqlfGmTNGN#u*Pb@9p=9;|c6#VO!VQzV=v_#w%aAzoikoS6OaG z($$y4r}4%|y?J^29bX_X=RHP^H@?947BLpfl9$7$@x~X7dmndvDzE##j;uYL8fQGz zm(OFw*h=g8uD1RSnTeXOGmSSs>df=Wx~1kZnNQ=5k9zaAFXOdx*<)iH{Jk6vH+t&K z`-3MLla=R;F*M9*@f|+xWsJp?HoIMExY6T3JiR=NOrqCtqsLcxn=9gZqtXvvht@db z34Fs&#%$$`*;?5gA|py)UJX}zc{b?tl+PF}iC)8v9vk!eq3Q7DyX?82hAHiuU|e(3 z(TaVzH!|Y9Xt>b_gV}^y&ZBq+4|HlmzUCNY}xC6Civl&gx`&v{+ku7~ePGL{GW1#RxM{f2lafzg)}E)jJ|(-ZG~DO|TYk;a zOMYZkkXN5wTKeok%+D44|p`rc(83>cgGx0_Fg#+Gg|E0)5>^jYR+D04Kv!n zo@Kl>HEFKl!i_%1o`)yc^Ki50@?d>+J~oj{t6?tPlJcM*mNoFd5HIvmBx6}nL2pX^ZM_zZphfU#u?A*jLn{QJcHkD)^MW_+C($9G(6$C zwuT!$cI^8o89NLYf8_IIO95UF8gG2G4PW1|MPn1{WUSSR*te%WkwB|qnr=Yq-$|w)~)@UzlFq))|*i!;BVN_W3yOXdANfpY_z8-0$QmL}{YEmb=$6W`&}&cmKcC2ig}mN)8s z+8XZCE))OZ>32K&!F#1N+|iepW3RrgQAK=3cCoxm$)vJ(6HP5^FQ~>lzS7EIjByY- zli35_w7x&x8R$sEjXtp7>BE%1Ze34Y1`RXXz<$N=OwQTQtzkwR*zd=Vc5rz$+|iep zVQ0Qxr96{z=H(iuX_rw?UYE_35!yjEso_Q+j2T}$1HFbTy*xAU=|4!`lhW64qsI?< z`U=|hq-gMSFby|)>ekaAJ_Egm8+}lxlWBvKbZ>Qi_eM!a?O4N&o;vmEZ#e_Kh8um* z#}?9NlhW64qo;2D_+Xo(zboC^(Ouu)*Vo+@*qO!|5ADVCoEm~hYz#9B~m zkiLc)ZQ!R)JKDkars0mhT=oEk_BJY^Pa0)?QdOXTvBQhbu!rL!--iYEHV6B;C}9tW zhP%9!q=P7JKwNpsEwSI)4evsqjAQAjy%r_+9W*kEXA|Lax_kP z!uQ`L&kaMAr$O~qUJ~d)<{HW~xI7x?rFyH*Cb-ZtZ6LDTz$J#Dw*@(@^adE~&+weBh>B5(~XDfHL z^>l7p)?HdsB0B5nk_RW={*})7X)AtiT0~pdvdP-s0^UW{2dANIr7_;1KYTokHzP~K zjXtQ)&mFz2CuFZ9YPiu;pMLDyigGn?lt&&M>(YE&CXF{f>ellec6@H#B9TwyjgNZv ze6kNAmM7=q<*Y|*yz$}lJ)i7B(7G1A59ZT&<6E7nZ`qHa@&>PaYMk-3WMs*>%6K@j zVes<`jW@p54Bu(TCpwXLT?X@MyzyZ--X_~=Qz~y!TVH!ODQ48&8n!KaWIg3fdjh?#p{kohHFS-iP0@E;~4eEKXqaED$X}F^=m-jDy+6xOL?dilx~G2` zr(cGA8gG0-UsHttsdW8(GM~m9AAOCtH?fzi6Kv>eox7A)Q5H|zoYS9yH8ogZw`3XtVdcX_(Q{A9|ZS?Pv$@3(|0-ryunB5M5lHpo@!b zPMr?yabE(hhPiZ0(t$lnx}y`)9c}4W1?^wj;jk$$o~U;YJ_W;uzZKXnFpX-4(_*tntQ2eR{ob^n5mW^zBu{jh;IFj^7Wa^k4eC z#Q1GlDb5gQMai?qSl8Hx?~`7`r;L_4L&7_$8fST3ohh4qA4TdicP^vhj=o&>sE0N+ zA))RkSlzbsjNBC&+tG%(JXpI6S?E z8$JEJACn)A>HWCgKjqHIQX1o>+};M}qw@&~&vG=}=<#f!o^DCd(=Do}vev*~yhd4b zX*JBHTNdhcI%UYE)i9$?XYwp-DYqo#S;LJUeR})JBOeooSpS)*c`q#s+F$`PCML95 z4R&-3)q7RZ-71IaId#rEOij0b&r z9_fGKNn9_|IO9QQeoQwXrD=J@Io#RhpR{;c8gG2qqL(GQPC0wG{ePjoyEw;FQi6Z< zHgyDDr*dpc!;CiQ+p5u7F0FlCb%syljgRrF=R4{6WUiOYr}4@sYk=Oz ztzaCc`CZB`2`2VBKXGEcO)8D?GKTfM@-3^B8*`nRS80rw@q@SLTE=-QckteNjWZs` z5uRtS8B=FvFgVLah^9%Wppa_ZA9_rVvm8;vs_+KuNq?RZ4aU>=P#9@>xBMJw}7 zm2>93$Vy|pv?tGd)bWbEGxI8q@zTD0y)R_m8q0OtU9?EV7pG)=#H;C@tOEM>py5g{@A3LF$amCIksf64w-0+B zjWeELEPH6A!YUu1>aVzs4N4U31X^fY)<9YWxUfbK8 z?b>3wN@KjVA$2~*I@}OZx zOIz`__OzpQXH+>S<;$w!Mo)Y3^zzNOl*!p>~!?$*4E6oE!Y>|{XqDv zSZS13p1=D(@wnsdb!VC-u*dpUI^z#)oGvw*kuwg_Fh^V37SMi>K&xR!8}uOy8Q;us zYa)IFROZ}IjWeF051GTbVMZi><9|Ni-(^_Qe2zx=(1 zZgbyGl;4fc|3p#ks(&NNx+^%{D)TdHEU&7rE-i0T8lPTr`l})ths$*Wka7&XFJH;j zE0buk{Ip?e@H?umt|+N4ucY0`HMFe$=rH3*xprc^B5T_<7oSa*H$1U&l^>PW%`2%W znRiYy?}~aDi^w&`jVICH=`)tk9gQ6|R5mr1G?sdk9=c4L_Rs$ROanjDz`sTf+#PKZ zN5=IUAU}^zP4sE;N53{W_ZiT^#KaVO;Y8k+*x+?2O5t+4rljuWjMC~6!Ha67N%wvFXE;2Sm zhmdNaYD&^Eby@uA)nn?Da%O&q0N%{p(KAmK1!D7^g;uY&U{TH;#=QUQ9 z(^=7}eCxrleIiFd16rqG*NH-GG(z$$Nh%sqPqG^>82%?=I@jfu{P#l9KY0dF1kJ zx@?XXn=WNOB<0%q>xuS}0WhE62_2(vIYqZbmWWUu(PqNRsOBS4q{i~I77vUP}$}8nvYq^Fl%bn47 zYp?R|rquoR8?9VBty}}ib}--kL*~dT4Ot*N z-sD)pwA)}-U0K;sT~gENih7o^{xDi){ohgR{|1tE>Sbrk+EDCX9`EBTn?yvV^;K2% zjZG%`Y=nA=>|2|lHB{7>HdI!qqZ-4=s0Nw2ZoxYn89ldDCZUX-!>8b;CLN-+Lo@PAr#eN~OTlPA~E zavqMF%|_ld8);6q5qYUS&F2^Ow8N|uXriW)hLX~nYAxE(@@|VhHXWWIZ}Rg{vR~FE zYdxT^tu>>@y2{zJ8=I=MsSPcw&#e!L4*I+flYO&2jM`AVh!soT)Y9i#QDaF}Wm9<_ z>w0nxEo(`%J5T9kEF$IFeug$pefc#PKIAUv>EcQ@Zn9=p%4oE)q0~Ckp=EYN@@!VF z3`l?3l{DzjbJoeSQ$eHMKAh~UrueNcFoQxN!u)40YwBCk- zL(5whZM3q@!4J6lD^8rlOPxuxh-Oz*HI_8Q)7!JyM|X6L=W%kq6M@e$u?Z-t-4XrC}tSGB#Y$!Q5dtVzJwJ}hu z*;~m^635Mf3(-}Uc-|H@&Te4F)@TJAx?Ek+ZY%#Buq)R&%zIq}^Yg@Fe};86Q&TMQ zoce{;(Owb8Rb=`+p6o~5hj*g-`i8QGd9sDnT|<}Yfk^ff$|XM1iAmNWmaw6_vn{g+ zqOzjCzNDtko5Wdc@7vLvDkka!i=3Uwx1S2t-fhnCqBJ!*699xG#WvP^TbZu3Y~Sy^3QU*SioXREsh zV}HI69ZC@klJ)54rX1kb)|+wVO(l&rrSW3o(B&D3_7xz2Yq8CPOG@@6t+S{tu9we$ zF<2}so7Y&c!M|Q1o~7OXAX;et zVHXM$os}f_w|?DVZ5szF>W)>ncu>Z~tG=}ETx_5%YBsx*Ig|cGq;rsRlU2D3d z#%ji8v;7mtv)RJ8qSIEc*G$&Fy)>M_1;tg#^cDC~M%Exux^?{Y|;F;{hy|gBWp>2qGX}YFiUi~@x zrF)|NDuQo}Xj!%=k0-Jgc>D~rvT|NSSw%&?C2B=bYcebH zJm;N#T>W#q>sQ}b_ujgxYpQOA+D%P#4%j)bKGHrveIW)r+H>W85}%a;yI}rOp~q9| z9GI>~cnRk35}3ZM<{nEvNdB$~*rjEf=7c;|Uwuo!Zf>c^>Pqeju)aQ)ta?1ak|my9 zqHZlrUovB}JT;aH)X$oK!`zGK%6Tn;1M~Pim}{;_nw?eMZ1a)2o1O=ACvqz7OUtC; z_ruPSf^|Zz?|4P&KAhMhm&J?BUfd&DB)3RRg#(u>*ul}-|_0|e+T=$dpti=$>TZcm%4Ux_g^OD zsd)K2u*GJBs)(D9!pf)+qs;~tce@2x&FwHArPLwq^I2W-U?_{%tO@w^pFiGn$sB#O zap{XWf3;&_`X?%7;je?tFJUGvQufAFK9|7gMw}pJ?=hvyVEHaHM9Mmyo((%lZ)&7U zeR(gfxej)K%Th^W$^Fa8M`5NfXcVZs>Ds4ZOLSryshTp+uBL1@!0OIA&X znZdo0^4FKzsh7d@?O^2d*b>iWK};D4C!OkZSmwSmS+mW5Zd385?UjmYM~zix zeUpq`UHo9!ESE94(jiaPCa#5R`)Y z-c!?HChss`-fI)51?>DjrzR=_cK*I66;Hv;`EF^oqq75c!E-x5a6Er|s7qWKu=AgX z+Qf1g-H#LGSzc41w6UVQVEtU?KkwYy0%Q1a0zZ5?kD>}c06n7=|Qyg7eCpXuU3 zu=%cCVvZm| z%=GhZRCnYt?n`G~{YY5X z23dLfRG8^s+6LxX@tU##^UtA`s(_ic(pLMHh&gRV3TFC=cFc_pmNDQq7~O#r+6CHX zdHPA1>3iDI#yz|8^sBIYTswc=jn~XO*vmukc-0jPV5W`1d_Lo2RtD_+^IfHGhtX9y z!JJ3=!f(9VXJ9h!O2`k)Cu&pA2ADtZ<%u=0H5oJP{NqDe{enZh`k5bSE6J*5Fq*s* zu&dJ_Nki?_Kfp|x~3T{4+mr{)*C#dvfoI>(f8)QR;NqFqfI5NjVm!SHMhpwpZN3p@VF@4pykYoBmL~ z3VR`7r+3n9EzHzG+iph|yYFEAwJY1MpqEmy5LN{18p4t=x+W*sJ{QBxxwYAyFf+F? z=UALb-k*k<`f0NbFmv8*wkZqyI1Aefo8;uct8XSPLm7xAO%hCc<+E%XmW2(^!bW6a zBVill00jGZ`}9%j!VKDlEr-zronYHN2{UD8v*%!@53t!Au!TDFHk;np`#ol}yI`g- zx7ky$vzj)X&cOru(HWA5n_*XK#?K))Nb>p)^5zUSTM1jB_cp%~<*V3rWl%BWip@?2 ztO&8&3hNre+79u?TifUUux254-Cz%gu(x5GG~;KD8zc{p4fW;|Hv2Q|D!sSOrqN+N z8N%`znFoZh39wH>Slb!ZyIn*k;>(0WmrUgREBmj2ZPeRrmOj#}pEg?zGruit zb{&lBl5+hRJFNZ92tQ!X*tsDrS-WbyeL%;Ya-jEKeV9aw9q{Q`?Fa)SWMd;tYeA9XMdQ< zpUsBC_R;&>YzpkO5Oz0gFU=0ou|#sb$6@ApHhUJ*3% z%(=DMo3O6>I5yh>YaYUO!pym~?V29v)lZvsg_%CYW|Ok8S+KA?%!8TpZTq}6i_e#` z_tUv>O)PFCTR*}I zwNINBFv&9a;oIz%lf3$Avvn{tw%P1c*z+OByLXyWV?x+g*r6fpz>~dt)>H2zk>qa# zthwH1v$3#_nwkDkzKY#+So;uG3F{ETE`ZGqVc)}!3Sr}Z#kHakb{lMV2B z>^u}^u^R{r%il;?SpJs4?rYR={zlC3u3gw^`3m+?NZ#Kn_WF6-ZZpjE1vbks@qSC% ztPkwSkmIFb=6Z;2*MtUU#&DbE!}^8z90O|`!j6ZXt63i%OC(L?Wtd5)%{r8MzYR^l zZR}2kaVnf(v&UiPcd^Y{CA_@b>_!+(sX?FL!8(PoHZ#3G+4k8R_Jr;WZ1&L^un?cO zmV4KzZM)ZDHQKJPjwO=Aj7chWnBHd2m0@yMgz;swTVThA*lmSft(mEd#^?Mqz5c~! zkHA`m*gXr=#o}IzH$K<+?D}ha!(N7&w3vJvHlso*irWb`djV$p7n{8dGkt;0-ppdR zF^k=nEOwt|vHLcQ-49vp8dZkpuLUeDf9b2!_En@`vmrK2z#W;yARj)`97>ih+VU4rC!lvfNl3itv4RoYzM4Mh|l)3ync6p z-bW&7BVA#8>TNdb3p4$v8Rv~%Jud!AyIw?b^f4_%}%VmdH5|KA$!#fSGNB zExS{Fb~Y=6nY7qU?ie)Z&t~%eurRxGve?bfVz&rp+O2)O>tMrlzHIh7%=G0pTMs)T z#4f+yyT{tLn+#hKVz(J)=EAmJ-fVB~Jj6N=ePE_MZ8pHihFW&RVGrtUHv0l*&V$Xi z!@7mob)4f}i?!{#!c01CRsah--l19ShGeljB8%Nbn5h$XT29Jh7tg{yYEkgoTw$brv=ocD5dm?BjjK zz{pVM1e=}8q@3wggKRCVeF)nCGySgZbKE>{9yv_gOC-gy3|6eS+3Z``cAW>CeSCp8 z{@H9h?6we}%P;h)u|#sb zHWzv6v{_eJ3%&nH9ZMv3yL6^7g?zm;otCjWmPiiMXfc0l*4u1W1T*K)X4A5;GFYn+pEa;EL)beo)86glZHAo~ zVmEk+QYVG5#W2%uZJ#S(9i$KlHoNJ5a^=%TYIet#s!uvqSiWSiqB< zy|`N2hgn2lu8tkb)r`ZqYiJ;~doWMf4Q19moHq!K8we3{OrR-P7Wbj0`?V!xt(qVjp-6BrR zSoAI1S7QGbpRd7pclPax{|oT<9=6ZWF&#w35J}jA|H;^IZOPb(zau%uH~8EFo5Q}t znSjh`!aZ1M7B#NXsgGzk;7G ze4oPpG5n7qt@2!@q<7Nrcuj4hI+d)dOqQg~=R)U8X8j0x^GrNlS6^Kb_iYGS#H(*< z>VNH0yvsA%Ir+#upC5PEuF1(63DOHdIa$wqcAr^ym!OF17~TWwxp?$1s}uKqF)K~v z;@d3GqL&}d#g$u(sd$4c0_5U5vr>q2&H{@Zf9ITskD)z;YtFc=uHuDFgRwE}v?Di<&QHt2oM#bdCdX1?h)R&sGGiF4QJ%f*pSUtl5AT>J$p zOfHVx){%<)PlwxM(@tnNqUcpSt^b*+OlJN7^pSN;p zj_ai6ANfF#3%Qvvkqi3fbB68y_kUCZ*Yxe5_w}Z|j+e6SxqSSx`AuJ%blc7od%acu z@WSc)aE~WzgjYDLmiDVIu43WMeyO_Be&tTTSW;P2T9Mf>lWUZze#tBsPRpq%Dd&~l z`ogJigZEL+xO0Tu9aiZvwN6j;#bah$ga=7h*Vd;a@|Q3Rf2QIy&DAt_TSUjGOE?{U zY35Z)5jjoD`73qip`|sf(K|Kbxl+G( zt3>}Gji^E!w-KeZPTr~&uhTOc`4*958Z!NVTuMUMhs>6U+?(c-47?>P6|XfD9YDl~ zl7^HyY($QWSp=H(&y%Ij8@}RY&KshF8zVZBoCPyLdY>b7{!5liutXvq({&{+;aye< zc{OJ-ujY)fRP^vTGxO@Ih#Y4|-r`bOHat-lb+S{L*F&Y^RnFU@^w)@z?o~bMa-7#g z(O&1C73nz*jCb{Q5f9S=@4heO!+8T#L?z{povC?AL8fnUzj<|E+hzg{%JW*N^k*{QB%^7p*sJu~CFF9LgiW^ZH-Nu`W zSJ$Lx$_s?tO%WZU;ZZ0h?+c3h2+ptBXoor7mig&jA60VAY}&aH^GkFPI?WN4u3H~6 zEzbQKk^55f>Y#{6UGrmz3$nk!FCtyUnV+u_m4x{jWX7hX{_}POKQ@EYZhqJEexcyD zi1Tn}D$;)6nS58L<)U{~bNb*|o%t5+T7Q9?Lzz_HxSDMAQ#}bJFx^g z_E>g0fcQ0z(~Gz>`^iHx?{GsfuGKb<$34T&4bT0EG3R!179U}wJdiS!o0_(Be{>0*wEUMdaHjelM{7C^$Cv%vn0{lpt_rh5Lv80ir zRO3nKK;o;|zYp=f9H$3yb6_Xp*NFEezMJxq2P~VD{uuEU9QQEd{-i@5e(A-*_alCf zgB(o!HRW+A@!t_9stNg$2d=JRzx|0%A>U+CokT*05Z^~SaixY+-XujWBF2T9fpJ&j z-QgE4fy?nOr+XFu3?*J)nK@jVw$Ows@hiUmf7C|ZT%33BQ4Zayrnk_Pj;8vbNYm&} zb(Z%H7SQazr;N(^E^TXzv@Q03l6^nMri^{${U_t8&I9QpPGtLN;-A=UDYhT*{YAd7 zCjOj#@R)Si|n%+e=|6Knzpu$cKHl`XW&=TaU6MB!RHRB7GK+F?|sPA zlHQrFqIFW<(L=Mwhcw#}Xe1hi4o63z(MX=D7>mZC@n`~);!(tnQ4`cuwxQ-op3`Z8 zTB25{HQE#Hh1#IDs2$2j?NJA`H`)hvM4eD)v@hBZ?T@;k1JHpehPt9|=pfV`9gGe^ zJx~GaiF%>ls1GVceNjJjDC&<6Lj%x2GzbkwL(ouk4B4B4jz!0zD&zsRGV$ zNi}kYF&Pr1yXDk7-LMQroe>F%W~mu^~yOc@rX>yM$Xs2e&6bw|?GAA)+I0@M@H zWjI4wAL2sP7xhCj9P~#rYz#mH(I7M!$q+CU4MQ@V$`Cjb$xtW5wG1(%(HJxqjYH$n z1T+yHiHgu9G#MR*jz&~b=efEH;!0G7s! z9y%XgfG$My(M4zhT8J)2m!M10WoQvvjFzCw(G}=Qv=m*1mZ7WBHRw0!TC^OkK-Zz` z(GBQEv=ZHfZbrADThVRkx9E1X3f+NzhgPFI(eKe+=x%fmx)~iM^B(9(NpMY^e6NTdKRrg&!OkhpV13wEqW2Xg#Loop}(S+(JSb0=vDL@ zdL6AtZ=g5PTj*`{ck~Y0fZjzL(Ld08=za77+JrWvf1)kuL-Y~)FZ40`1bvD=L!YBB z(3fZ{`U-uGzCqujZD>2%fxbiEqko|v(2wXRv=jY|{*6=~|D#5zF=~REqGqT$+5@#f zEm12Z@4A=g68A!FP+Qav$vYR?BYEa>Z?q5Uh&rLpXkWA++8=d62cQE{40T1_&_Sp> zIv5>-dY}T-6ZJy9Q6E%@`l5bF-kIDV9fk%V88ZfRE830COQL^qa>1NODj+%szTMM2Gycjs1Bu28r7rOXbzIKAJ0N( zqjS)?XdXHbosTX+7oz#-BD4T4L>Hq=(52`yvtr>(KS+26Q7@iEctSqg&9e=r;6QbURvw?m)jotI?h4_vkKkH@XMii|#{zK=-2u z(1Yk9^e}n^J&GPfe?*U?C(x7VDfBe@6M6(F1&U(w6x z74$dsDtZmQj@F|$(3|Kj^fvlCdIxPl@1l+9ALu>wKKcM{LYvV)(H8U}`Uw3O`WStJ zK1H9Q&(Rm?OSBbzg}z4Lpl{JOv>ok0-=Xi(zt9ipNAwfgiGD`^M*m4+Vk6otDngUc YWONkT9d?(%?h@Et0=rA#Kf46}8)UK$YXATM literal 413184 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

#d_AE` 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 - -

- A session store is used to store and load sessions on a media. - The default implementation () saves/retrieves sessions from memory. - - - - - Creates a new http session with a generated id. - - A object - - - - Creates a new http session with a specific id - - Id used to identify the new cookie.. - A object. - - Id should be generated by the store implementation if it's null or . - - - - - Load an existing session. - - Session id (usually retrieved from a client side cookie). - A session if found; otherwise null. - - - - Save an updated session to the store. - - Session id (usually retrieved from a client side cookie). - If Id property have not been specified. - - - - We use the flyweight pattern which reuses small objects - instead of creating new each time. - - Unused session that should be reused next time Create is called. - - - - Remove expired sessions - - - - - Remove a session - - id of the session. - - - - Load a session from the store - - - null if session is not found. - - - - Number of minutes before a session expires. - - Default time is 20 minutes. - - - - Contains server side HTTP request information. - - - - - Called during parsing of a . - - Name of the header, should not be URL encoded - Value of the header, should not be URL encoded - If a header is incorrect. - - - - Add bytes to the body - - buffer to read bytes from - where to start read - number of bytes to read - Number of bytes actually read (same as length unless we got all body bytes). - If body is not writable - bytes is null. - offset is out of range. - - - - Clear everything in the request - - - - - Decode body into a form. - - A list with form decoders. - If body contents is not valid for the chosen decoder. - If body is still being transferred. - - - - Sets the cookies. - - The cookies. - - - - Create a response object. - - Context for the connected client. - A new . - - - - Gets kind of types accepted by the client. - - - - - Gets or sets body stream. - - - - - Gets whether the body is complete. - - - - - Gets or sets kind of connection used for the session. - - - - - Gets or sets number of bytes in the body. - - - - - Gets cookies that was sent with the request. - - - - - Gets form parameters. - - - - - Gets headers sent by the client. - - - - - Gets or sets version of HTTP protocol that's used. - - - Probably or . - - - - - - Gets whether the request was made by Ajax (Asynchronous JavaScript) - - - - - Gets or sets requested method. - - - Will always be in upper case. - - - - - - Gets parameter from or . - - - - - Gets variables sent in the query string - - - - - Gets or sets requested URI. - - - - - Gets URI absolute path divided into parts. - - - // URI is: http://gauffin.com/code/tiny/ - Console.WriteLine(request.UriParts[0]); // result: code - Console.WriteLine(request.UriParts[1]); // result: tiny - - - If you're using controllers than the first part is controller name, - the second part is method name and the third part is Id property. - - - - - - Gets or sets path and query. - - - - Are only used during request parsing. Cannot be set after "Host" header have been - added. - - - - - Class that receives Requests from a . - - - - - Client have been disconnected. - - Client that was disconnected. - Reason - - - - - Invoked when a client context have received a new HTTP request - - Client that received the request. - Request that was received. - - - - - Delegate used by to populate select options. - - current object (for instance a User). - Text that should be displayed in the value part of a <optiongt;-tag. - Text shown in the select list. - - // Class that is going to be used in a SELECT-tag. - public class User - { - private readonly string _realName; - private readonly int _id; - public User(int id, string realName) - { - _id = id; - _realName = realName; - } - public string RealName - { - get { return _realName; } - } - - public int Id - { - get { return _id; } - } - } - - // Using an inline delegate to generate the select list - public void UserInlineDelegate() - { - List<User> items = new List<User>(); - items.Add(new User(1, "adam")); - items.Add(new User(2, "bertial")); - items.Add(new User(3, "david")); - string htmlSelect = Select("users", "users", items, delegate(object o, out object id, out object value) - { - User user = (User)o; - id = user.Id; - value = user.RealName; - }, 2, true); - } - - // Using an method as delegate to generate the select list. - public void UseExternalDelegate() - { - List<User> items = new List<User>(); - items.Add(new User(1, "adam")); - items.Add(new User(2, "bertial")); - items.Add(new User(3, "david")); - string htmlSelect = Select("users", "users", items, UserOptions, 1, true); - } - - // delegate returning id and title - public static void UserOptions(object o, out object id, out object title) - { - User user = (User)o; - id = user.Id; - value = user.RealName; - } /// - - - - The server understood the request, but is refusing to fulfill it. - Authorization will not help and the request SHOULD NOT be repeated. - If the request method was not HEAD and the server wishes to make public why the request has not been fulfilled, - it SHOULD describe the reason for the refusal in the entity. If the server does not wish to make this information - available to the client, the status code 404 (Not Found) can be used instead. - - Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php - - - - - All HTTP based exceptions will derive this class. - - - - - Create a new HttpException - - http status code (sent in the response) - error description - - - - Create a new HttpException - - http status code (sent in the response) - error description - inner exception - - - - status code to use in the response. - - - - - Initializes a new instance of the class. - - error message - - - - A session stored in memory. - - - - - Interface for sessions - - - - - Remove everything from the session - - - - - Remove everything from the session - - True if the session is cleared due to expiration - - - - Session id - - - - - Should - - Name of the session variable - null if it's not set - If the object cant be serialized. - - - - When the session was last accessed. - This property is touched by the http server each time the - session is requested. - - - - - Number of session variables. - - - - - Event triggered upon clearing the session - - - - - - - A unique id used by the sessions store to identify the session - - - - Id - - - - - - Remove everything from the session - - - - - Clears the specified expire. - - True if the session is cleared due to expiration - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - 2 - - - - Session id - - - - - Should - - Name of the session variable - null if it's not set - - - - when the session was last accessed. - - - Used to determine when the session should be removed. - - - - - Number of values in the session - - - - - Flag to indicate that the session have been changed - and should be saved into the session store. - - - - - Event triggered upon clearing the session - - - - - cookie being sent back to the browser. - - - - - - cookie sent by the client/browser - - - - - - Constructor. - - cookie identifier - cookie content - id or content is null - id is empty - - - - Gets the cookie HTML representation. - - cookie string - - - - Gets the cookie identifier. - - - - - Cookie value. Set to null to remove cookie. - - - - - Constructor. - - cookie identifier - cookie content - cookie expiration date. Use DateTime.MinValue for session cookie. - id or content is null - id is empty - - - - Create a new cookie - - name identifying the cookie - cookie value - when the cookie expires. Setting DateTime.MinValue will delete the cookie when the session is closed. - Path to where the cookie is valid - Domain that the cookie is valid for. - - - - Create a new cookie - - Name and value will be used - when the cookie expires. - - - - Gets the cookie HTML representation. - - cookie string - - - - When the cookie expires. - DateTime.MinValue means that the cookie expires when the session do so. - - - - - Cookie is only valid under this path. - - - - - Contains a connection to a browser/client. - - - - - Disconnect from client - - error to report in the event. - - - - Send a response. - - Either or - HTTP status code - reason for the status code. - HTML body contents, can be null or empty. - A content type to return the body as, i.e. 'text/html' or 'text/plain', defaults to 'text/html' if null or empty - If is invalid. - - - - Send a response. - - Either or - HTTP status code - reason for the status code. - - - - Send a response. - - - - - - send a whole buffer - - buffer to send - - - - - Send data using the stream - - Contains data to send - Start position in buffer - number of bytes to send - - - - - - Closes the streams and disposes of the unmanaged resources - - - - - Using SSL or other encryption method. - - - - - Using SSL or other encryption method. - - - - - The context have been disconnected. - - - Event can be used to clean up a context, or to reuse it. - - - - - A request have been received in the context. - - - - - A have been disconnected. - - - - - Initializes a new instance of the class. - - Reason to disconnection. - - - - Gets reason to why client disconnected. - - - - - - - - - - Initializes a new instance of the class. - - The request. - - - - Gets received request. - - - - - Contains a listener that doesn't do anything with the connections. - - - - - Listen for regular HTTP connections - - IP Address to accept connections on - TCP Port to listen on, default HTTP port is 80. - Factory used to create es. - address is null. - Port must be a positive number. - - - - Initializes a new instance of the class. - - IP Address to accept connections on - TCP Port to listen on, default HTTPS port is 443 - Factory used to create es. - Certificate to use - - - - Initializes a new instance of the class. - - IP Address to accept connections on - TCP Port to listen on, default HTTPS port is 443 - Factory used to create es. - Certificate to use - which HTTPS protocol to use, default is TLS. - - - Exception. - - - - Will try to accept connections one more time. - - If any exceptions is thrown. - - - - Can be used to create filtering of new connections. - - Accepted socket - true if connection can be accepted; otherwise false. - - - - Start listen for new connections - - Number of connections that can stand in a queue to be accepted. - Listener have already been started. - - - - Stop the listener - - - - - - Gives you a change to receive log entries for all internals of the HTTP library. - - - You may not switch log writer after starting the listener. - - - - - True if we should turn on trace logs. - - - - - Catch exceptions not handled by the listener. - - - Exceptions will be thrown during debug mode if this event is not used, - exceptions will be printed to console and suppressed during release mode. - - - - - A request have been received from a . - - - - - - - - http://www.faqs.org/rfcs/rfc1867.html - - - - - Interface for form content decoders. - - - - - - - Stream containing the content - Content type (with any additional info like boundry). Content type is always supplied in lower case - Stream enconding - A http form, or null if content could not be parsed. - If contents in the stream is not valid input data. - - - - Checks if the decoder can handle the mime type - - Content type (with any additional info like boundry). Content type is always supplied in lower case. - True if the decoder can parse the specified content type - - - - multipart/form-data - - - - - form-data - - - - - - - Stream containing the content - Content type (with any additional info like boundry). Content type is always supplied in lower case - Stream enconding - A http form, or null if content could not be parsed. - If contents in the stream is not valid input data. - If any parameter is null - - - - Checks if the decoder can handle the mime type - - Content type (with any additional info like boundry). Content type is always supplied in lower case. - True if the decoder can parse the specified content type - - - - The requested resource was not found in the web server. - - - - - Create a new exception - - message describing the error - inner exception - - - - Create a new exception - - message describing the error - - - - Delegate used to let authentication modules authenticate the user name and password. - - Realm that the user want to authenticate in - User name specified by client - Can either be user password or implementation specific token. - object that will be stored in a session variable called if authentication was successful. - throw forbidden exception if too many attempts have been made. - - - Use to specify that the token is a HA1 token. (MD5 generated - string from realm, user name and password); Md5String(userName + ":" + realm + ":" + password); - - - - - - Let's you decide on a system level if authentication is required. - - HTTP request from client - true if user should be authenticated. - throw if no more attempts are allowed. - If no more attempts are allowed - - - - Authentication modules are used to implement different - kind of HTTP authentication. - - - - - Tag used for authentication. - - - - - Initializes a new instance of the class. - - Delegate used to provide information used during authentication. - Delegate used to determine if authentication is required (may be null). - - - - Initializes a new instance of the class. - - Delegate used to provide information used during authentication. - - - - Create a response that can be sent in the WWW-Authenticate header. - - Realm that the user should authenticate in - Array with optional options. - A correct authentication request. - If realm is empty or null. - - - - An authentication response have been received from the web browser. - Check if it's correct - - Contents from the Authorization header - Realm that should be authenticated - GET/POST/PUT/DELETE etc. - options to specific implementations - Authentication object that is stored for the request. A user class or something like that. - if is invalid - If any of the parameters is empty or null. - - - - Used to invoke the authentication delegate that is used to lookup the user name/realm. - - Realm (domain) that user want to authenticate in - User name - Password used for validation. Some implementations got password in clear text, they are then sent to client. - object that will be stored in the request to help you identify the user if authentication was successful. - true if authentication was successful - - - - Determines if authentication is required. - - HTTP request from browser - true if user should be authenticated. - throw from your delegate if no more attempts are allowed. - If no more attempts are allowed - - - - name used in HTTP request. - - - - - Contains some kind of input from the browser/client. - can be QueryString, form data or any other request body content. - - - - - Base class for request data containers - - - - - Adds a parameter mapped to the presented name - - The name to map the parameter to - The parameter value - - - - Returns true if the container contains the requested parameter - - Parameter id - True if parameter exists - - - - Returns a request parameter - - The name associated with the parameter - - - - Representation of a non-initialized class instance - - - Variable telling the class that it is non-initialized - - - - Initializes a new instance of the class. - - form name. - - - - Initializes a new instance of the class. - - form name. - if set to true all changes will be ignored. - this constructor should only be used by Empty - - - Creates a deep copy of the HttpInput class - The object to copy - The function makes a deep copy of quite a lot which can be slow - - - - Add a new element. Form array elements are parsed - and added in a correct hierarchy. - - Name is converted to lower case. - - name is null. - Cannot add stuff to . - - - - Returns true if the class contains a with the corresponding name. - - The field/query string name - True if the value exists - - - - Parses an item and returns it. - This function is primarily used to parse array items as in user[name]. - - - - - - - Outputs the instance representing all its values joined together - - - - Returns all items as an unescaped query string. - - - - - Extracts one parameter from an array - - Containing the string array - All but the first value - - string test1 = ExtractOne("system[user][extension][id]"); - string test2 = ExtractOne(test1); - string test3 = ExtractOne(test2); - // test1 = user[extension][id] - // test2 = extension[id] - // test3 = id - - - - Resets all data contained by class - - - - Returns an enumerator that iterates through the collection. - - - - A that can be used to iterate through the collection. - - 1 - - - - Returns an enumerator that iterates through a collection. - - - - An object that can be used to iterate through the collection. - - 2 - - - - Form name as lower case - - - - - Get a form item. - - - Returns if item was not found. - - - - Small design by contract implementation. - - - - - Check whether a parameter is empty. - - Parameter value - Parameter name, or error description. - value is empty. - - - - Checks whether a parameter is null. - - Parameter value - Parameter name, or error description. - value is null. - - - - Checks whether a parameter is null. - - - Parameter value - Parameter name, or error description. - value is null. - - - - Contains all HTTP Methods (according to the HTTP 1.1 specification) - - See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html - - - - - - The DELETE method requests that the origin server delete the resource identified by the Request-URI. - - - - This method MAY be overridden by human intervention (or other means) on the origin server. - The client cannot be guaranteed that the operation has been carried out, even if the status code - returned from the origin server indicates that the action has been completed successfully. - - - However, the server SHOULD NOT indicate success unless, at the time the response is given, - it intends to delete the resource or move it to an inaccessible location. - - - A successful response SHOULD be 200 (OK) if the response includes an entity describing the status, - 202 (Accepted) if the action has not yet been enacted, - or 204 (No Content) if the action has been enacted but the response does not include an entity. - - - If the request passes through a cache and the Request-URI identifies one or more currently cached entities, - those entries SHOULD be treated as stale. Responses to this method are not cacheable. - - - - - - The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI. - - - - If the Request-URI refers to a data-producing process, it is the produced data which shall be returned as the - entity in the response and not the source text of the process, unless that text happens to be the output of the process. - - - The semantics of the GET method change to a "conditional GET" if the request message includes an - If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field. - A conditional GET method requests that the entity be transferred only under the circumstances described - by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network - usage by allowing cached entities to be refreshed without requiring multiple requests or transferring - data already held by the client. - - - - - - The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response. - - - The meta information contained in the HTTP headers in response to a HEAD request SHOULD be identical to the - information sent in response to a GET request. This method can be used for obtaining meta information about - the entity implied by the request without transferring the entity-body itself. - - This method is often used for testing hypertext links for validity, accessibility, and recent modification. - - - - - The OPTIONS method represents a request for information about the communication options available on the request/response chain identified by the Request-URI. - - - This method allows the client to determine the options and/or requirements associated with a resource, or the capabilities of a server, without implying a resource action or initiating a resource retrieval. - - - - - The POST method is used to request that the origin server accept the entity enclosed - in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line. - - - POST is designed to allow a uniform method to cover the following functions: - - - Annotation of existing resources; - - Posting a message to a bulletin board, newsgroup, mailing list, or similar group of articles; - - Providing a block of data, such as the result of submitting a form, to a data-handling process; - - Extending a database through an append operation. - - - - If a resource has been created on the origin server, the response SHOULD be 201 (Created) and - contain an entity which describes the status of the request and refers to the new resource, and a - Location header (see section 14.30). - - - The action performed by the POST method might not result in a resource that can be identified by a URI. - In this case, either 200 (OK) or 204 (No Content) is the appropriate response status, depending on - whether or not the response includes an entity that describes the result. - - Responses to this method are not cacheable, unless the response includes appropriate Cache-Control - or Expires header fields. However, the 303 (See Other) response can be used to direct the user agent - to retrieve a cacheable resource. - - - - - - The PUT method requests that the enclosed entity be stored under the supplied Request-URI. - - - - - If the Request-URI refers to an already existing resource, the enclosed entity SHOULD be considered as a - modified version of the one residing on the origin server. - - If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new - resource by the requesting user agent, the origin server can create the resource with that URI. - - If a new resource is created, the origin server MUST inform the user agent via the 201 (Created) response. - - If an existing resource is modified, either the 200 (OK) or 204 (No Content) response codes SHOULD be sent to - indicate successful completion of the request. - - If the resource could not be created or modified with the Request-URI, an appropriate error response SHOULD be - given that reflects the nature of the problem. - - - - The recipient of the entity MUST NOT ignore any Content-* (e.g. Content-Range) headers that it does not - understand or implement and MUST return a 501 (Not Implemented) response in such cases. - - - - - - The TRACE method is used to invoke a remote, application-layer loop- back of the request message. - - - - - Contains all HTTP Methods (according to the HTTP 1.1 specification) - - See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html - - - - - - The DELETE method requests that the origin server delete the resource identified by the Request-URI. - - - - This method MAY be overridden by human intervention (or other means) on the origin server. - The client cannot be guaranteed that the operation has been carried out, even if the status code - returned from the origin server indicates that the action has been completed successfully. - - - However, the server SHOULD NOT indicate success unless, at the time the response is given, - it intends to delete the resource or move it to an inaccessible location. - - - A successful response SHOULD be 200 (OK) if the response includes an entity describing the status, - 202 (Accepted) if the action has not yet been enacted, - or 204 (No Content) if the action has been enacted but the response does not include an entity. - - - If the request passes through a cache and the Request-URI identifies one or more currently cached entities, - those entries SHOULD be treated as stale. Responses to this method are not cacheable. - - - - - - The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI. - - - - If the Request-URI refers to a data-producing process, it is the produced data which shall be returned as the - entity in the response and not the source text of the process, unless that text happens to be the output of the process. - - - The semantics of the GET method change to a "conditional GET" if the request message includes an - If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field. - A conditional GET method requests that the entity be transferred only under the circumstances described - by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network - usage by allowing cached entities to be refreshed without requiring multiple requests or transferring - data already held by the client. - - - - - - The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response. - - - The meta information contained in the HTTP headers in response to a HEAD request SHOULD be identical to the - information sent in response to a GET request. This method can be used for obtaining meta information about - the entity implied by the request without transferring the entity-body itself. - - This method is often used for testing hypertext links for validity, accessibility, and recent modification. - - - - - The OPTIONS method represents a request for information about the communication options available on the request/response chain identified by the Request-URI. - - - This method allows the client to determine the options and/or requirements associated with a resource, or the capabilities of a server, without implying a resource action or initiating a resource retrieval. - - - - - The POST method is used to request that the origin server accept the entity enclosed - in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line. - - - POST is designed to allow a uniform method to cover the following functions: - - - Annotation of existing resources; - - Posting a message to a bulletin board, newsgroup, mailing list, or similar group of articles; - - Providing a block of data, such as the result of submitting a form, to a data-handling process; - - Extending a database through an append operation. - - - - If a resource has been created on the origin server, the response SHOULD be 201 (Created) and - contain an entity which describes the status of the request and refers to the new resource, and a - Location header (see section 14.30). - - - The action performed by the POST method might not result in a resource that can be identified by a URI. - In this case, either 200 (OK) or 204 (No Content) is the appropriate response status, depending on - whether or not the response includes an entity that describes the result. - - Responses to this method are not cacheable, unless the response includes appropriate Cache-Control - or Expires header fields. However, the 303 (See Other) response can be used to direct the user agent - to retrieve a cacheable resource. - - - - - - The PUT method requests that the enclosed entity be stored under the supplied Request-URI. - - - - - If the Request-URI refers to an already existing resource, the enclosed entity SHOULD be considered as a - modified version of the one residing on the origin server. - - If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new - resource by the requesting user agent, the origin server can create the resource with that URI. - - If a new resource is created, the origin server MUST inform the user agent via the 201 (Created) response. - - If an existing resource is modified, either the 200 (OK) or 204 (No Content) response codes SHOULD be sent to - indicate successful completion of the request. - - If the resource could not be created or modified with the Request-URI, an appropriate error response SHOULD be - given that reflects the nature of the problem. - - - - The recipient of the entity MUST NOT ignore any Content-* (e.g. Content-Range) headers that it does not - understand or implement and MUST return a 501 (Not Implemented) response in such cases. - - - - - - The TRACE method is used to invoke a remote, application-layer loop- back of the request message. - - - - - Priority for log entries - - - - - - Very detailed logs to be able to follow the flow of the program. - - - - - Logs to help debug errors in the application - - - - - Information to be able to keep track of state changes etc. - - - - - Something did not go as we expected, but it's no problem. - - - - - Something that should not fail failed, but we can still keep - on going. - - - - - Something failed, and we cannot handle it properly. - - - - - Interface used to write to log files. - - - - - Write an entry to the log file. - - object that is writing to the log - importance of the log message - the message - - - - This class writes to the console. It colors the output depending on the logprio and includes a 3-level stacktrace (in debug mode) - - - - - - The actual instance of this class. - - - - - Logwriters the specified source. - - object that wrote the logentry. - Importance of the log message - The message. - - - - Get color for the specified logprio - - prio for the log entry - A for the prio - - - - Default log writer, writes everything to null (nowhere). - - - - - - The logging instance. - - - - - Writes everything to null - - object that wrote the log entry. - Importance of the log message - The message. - - - - Inversion of control interface. - - - - - Add a component instance - - Interface type - Instance to add - - - - Get a component. - - Interface type - Component if registered, otherwise null. - - Component will get created if needed. - - - - - Checks if the specified component interface have been added. - - - true if found; otherwise false. - - - - Add a component. - - Type being requested. - Type being created. - - - - Returns item either from a form or a query string (checks them in that order) - - - - Representation of a non-initialized HttpParam - - - Initialises the class to hold a value either from a post request or a querystring request - - - - The add method is not availible for HttpParam - since HttpParam checks both Request.Form and Request.QueryString - - name identifying the value - value to add - - - - - Checks whether the form or querystring has the specified value - - Name, case sensitive - true if found; otherwise false. - - - - Returns an enumerator that iterates through the collection. - - - - A that can be used to iterate through the collection. - - 1 - - - - Returns an enumerator that iterates through a collection. - - - - An object that can be used to iterate through the collection. - - 2 - - - - Fetch an item from the form or querystring (in that order). - - - Item if found; otherwise HttpInputItem.EmptyLanguageNode - - - Container for posted form data - - - Instance to help mark a non-initialized form - - - Initializes a form container with the specified name - - - - Makes a deep copy of the input - - The input to copy - - - - Adds a file to the collection of posted files - - The file to add - If the file is already added - If file is null - If the instance is HttpForm.EmptyForm which cannot be modified - - - - Checks if the form contains a specified file - - Field name of the file parameter - True if the file exists - If the instance is HttpForm.EmptyForm which cannot be modified - - - - Retrieves a file held by by the form - - The identifier of the file - The requested file or null if the file was not found - If name is null or empty - If the instance is HttpForm.EmptyForm which cannot be modified - - - Disposes all held HttpFile's and resets values - - - - Retrieves the number of files added to the - - 0 if no files are added - - - - The object form class takes an object and creates form items for it. - - - - - Initializes a new instance of the class. - - - form name *and* id. - action to do when form is posted. - - - - - Initializes a new instance of the class. - - form name *and* id. - action to do when form is posted. - object to get values from - - - - Initializes a new instance of the class. - - form action. - object to get values from. - - - - write out the FORM-tag. - - generated html code - - - - Writeout the form tag - - form should be posted through ajax. - generated html code - - - - Generates a text box. - - - - generated html code - - - - password box - - - - generated html code - - - - Hiddens the specified property name. - - Name of the property. - The options. - generated html code - - - - Labels the specified property name. - - property in object. - caption - generated html code - - - - Generate a checkbox - - property in object - checkbox value - additional html attributes. - generated html code - - - - Write a html select tag - - object property. - id column - The title column. - The options. - - - - - Selects the specified property name. - - Name of the property. - The items. - The id column. - The title column. - The options. - - - - - Write a submit tag. - - button caption - html submit tag - - - - html end form tag - - html - - - - This provider is used to let us implement any type of form decoding we want without - having to rewrite anything else in the server. - - - - - - - Should contain boundary and type, as in: multipart/form-data; boundary=---------------------------230051238959 - Stream containing form data. - Encoding used when decoding the stream - if no parser was found. - If stream is null or not readable. - If stream contents cannot be decoded properly. - - - - Add a decoder. - - - - - - - Number of added decoders. - - - - - Use with care. - - - - - Decoder used for unknown content types. - - - - - We dont want to let the server to die due to exceptions thrown in worker threads. - therefore we use this delegate to give you a change to handle uncaught exceptions. - - Class that the exception was thrown in. - Exception - - Server will throw a InternalServerException in release version if you dont - handle this delegate. - - - - - Contains a connection to a browser/client. - - - Remember to after you have hooked the event. - - TODO: Maybe this class should be broken up into HttpClientChannel and HttpClientContext? - - - - Initializes a new instance of the class. - - true if the connection is secured (SSL/TLS) - client that connected. - Stream used for communication - Used to create a . - Size of buffer to use when reading data. Must be at least 4096 bytes. - If fails - Stream must be writable and readable. - - - - Process incoming body bytes. - - - Bytes - - - - - - - - - - - Start reading content. - - - Make sure to call base.Start() if you override this method. - - - - - Clean up context. - - - Make sure to call base.Cleanup() if you override the method. - - - - - Disconnect from client - - error to report in the event. - - - - Send a response. - - Either or - HTTP status code - reason for the status code. - HTML body contents, can be null or empty. - A content type to return the body as, i.e. 'text/html' or 'text/plain', defaults to 'text/html' if null or empty - If is invalid. - - - - Send a response. - - Either or - HTTP status code - reason for the status code. - - - - Send a response. - - - - - - send a whole buffer - - buffer to send - - - - - Send data using the stream - - Contains data to send - Start position in buffer - number of bytes to send - - - - - - This context have been cleaned, which means that it can be reused. - - - - - Context have been started (a new client have connected) - - - - - Overload to specify own type. - - - Must be specified before the context is being used. - - - - - Using SSL or other encryption method. - - - - - Using SSL or other encryption method. - - - - - Specify which logger to use. - - - - - Gets or sets the network stream. - - - - - Gets or sets IP address that the client connected from. - - - - - Gets or sets port that the client connected from. - - - - - The context have been disconnected. - - - Event can be used to clean up a context, or to reuse it. - - - - - A request have been received in the context. - - - - - Helpers to make XML handling easier - - - - - Serializes object to XML. - - object to serialize. - XML - - Removes name spaces and adds indentation - - - - - Create an object from a XML string - - Type of object - XML string - object - - - - Can handle application/x-www-form-urlencoded - - - - - - Stream containing the content - Content type (with any additional info like boundry). Content type is always supplied in lower case - Stream encoding - - A HTTP form, or null if content could not be parsed. - - If contents in the stream is not valid input data. - - - - Checks if the decoder can handle the mime type - - Content type (with any additional info like boundry). Content type is always supplied in lower case. - True if the decoder can parse the specified content type - - - - Invoked when a client have been accepted by the - - - Can be used to revoke incoming connections - - - - - Initializes a new instance of the class. - - The socket. - - - - Client may not be handled. - - - - - Accepted socket. - - - - - Client should be revoked. - - - - - Arguments sent when a is cleared - - - - - Instantiates the arguments for the event - - True if the session is cleared due to expiration - - - - Returns true if the session is cleared due to expiration - - - - - Delegate for when a IHttpSession is cleared - - this is being cleared. - Arguments for the clearing - - - - Event arguments used when a new header have been parsed. - - - - - Initializes a new instance of the class. - - Name of header. - Header value. - - - - Initializes a new instance of the class. - - - - - Gets or sets header name. - - - - - Gets or sets header value. - - - - Class to handle loading of resource files - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - logger. - - - - Loads resources from a namespace in the given assembly to an URI - - The URI to map the resources to - The assembly in which the resources reside - The namespace from which to load the resources - - - resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views"); - - Will make the resource MyLib.Models.User.Views.list.Haml accessible via /user/list.haml or /user/list/ - - The amount of loaded files, giving you the possibility of making sure the resources needed gets loaded - If a resource has already been mapped to an uri - - - - Retrieves a stream for the specified resource path if loaded otherwise null - - Path to the resource to retrieve a stream for - A stream or null if the resource couldn't be found - - - - Fetch all files from the resource that matches the specified arguments. - - The path to the resource to extract - - a list of files if found; or an empty array if no files are found. - - Search path must end with an asterisk for finding arbitrary files - - - - Fetch all files from the resource that matches the specified arguments. - - Where the file should reside. - Files to check - - a list of files if found; or an empty array if no files are found. - - - - - Returns whether or not the loader has an instance of the file requested - - The name of the template/file - True if the loader can provide the file - - - - redirects from one URL to another. - - - - - Rules are used to perform operations before a request is being handled. - Rules can be used to create routing etc. - - - - - Process the incoming request. - - incoming HTTP request - outgoing HTTP response - true if response should be sent to the browser directly (no other rules or modules will be processed). - - returning true means that no modules will get the request. Returning true is typically being done - for redirects. - - If request or response is null. - - - - Initializes a new instance of the class. - - Absolute path (no server name) - Absolute path (no server name) - - server.Add(new RedirectRule("/", "/user/index")); - - - - - Initializes a new instance of the class. - - Absolute path (no server name) - Absolute path (no server name) - true if request should be redirected, false if the request URI should be replaced. - - server.Add(new RedirectRule("/", "/user/index")); - - - - - Process the incoming request. - - incoming HTTP request - outgoing HTTP response - true if response should be sent to the browser directly (no other rules or modules will be processed). - - returning true means that no modules will get the request. Returning true is typically being done - for redirects. - - - - - Gets string to match request URI with. - - Is compared to request.Uri.AbsolutePath - - - - Gets where to redirect. - - - - - Gets whether server should redirect client. - - - false means that the rule will replace - the current request URI with the new one from this class. - true means that a redirect response is sent to the client. - - - - - Used to queue incoming requests. - - - - - Initializes a new instance of the class. - - Called when a request should be processed. - - - - Used to process queued requests. - - - - - Gets or sets maximum number of allowed simultaneous requests. - - - - - Gets or sets maximum number of requests queuing to be handled. - - - - - Specifies how many requests the HTTP server is currently processing. - - - - - Used two queue incoming requests to avoid - thread starvation. - - - - - Method used to process a queued request - - Context that the request was received from. - Request to process. - - - - Parses a HTTP request directly from a stream - - - - - Event driven parser used to parse incoming HTTP requests. - - - The parser supports partial messages and keeps the states between - each parsed buffer. It's therefore important that the parser gets - ed if a client disconnects. - - - - - Parse partial or complete message. - - buffer containing incoming bytes - where in buffer that parsing should start - number of bytes to parse - Unparsed bytes left in buffer. - BadRequestException. - - - - Clear parser state. - - - - - Current state in parser. - - - - - A request have been successfully parsed. - - - - - More body bytes have been received. - - - - - Request line have been received. - - - - - A header have been received. - - - - - Gets or sets the log writer. - - - - - Create a new request parser - - delegate receiving log entries. - - - - Add a number of bytes to the body - - buffer containing more body bytes. - starting offset in buffer - number of bytes, from offset, to read. - offset to continue from. - - - - Remove all state information for the request. - - - - - Parse request line - - - If line is incorrect - Expects the following format: "Method SP Request-URI SP HTTP-Version CRLF" - - - - We've parsed a new header. - - Name in lower case - Value, unmodified. - If content length cannot be parsed. - - - - Parse a message - - bytes to parse. - where in buffer that parsing should start - number of bytes to parse, starting on . - offset (where to start parsing next). - BadRequestException. - - - - Gets or sets the log writer. - - - - - Current state in parser. - - - - - A request have been successfully parsed. - - - - - More body bytes have been received. - - - - - Request line have been received. - - - - - A header have been received. - - - - - Response that is sent back to the web browser / client. - - A response can be sent if different ways. The easiest one is - to just fill the Body stream with content, everything else - will then be taken care of by the framework. The default content-type - is text/html, you should change it if you send anything else. - - The second and slighty more complex way is to send the response - as parts. Start with sending the header using the SendHeaders method and - then you can send the body using SendBody method, but do not forget - to set ContentType and ContentLength before doing so. - - - public void MyHandler(IHttpRequest request, IHttpResponse response) - { - - } - - - - - Add another header to the document. - - Name of the header, case sensitive, use lower cases. - Header values can span over multiple lines as long as each line starts with a white space. New line chars should be \r\n - If headers already been sent. - If value conditions have not been met. - Adding any header will override the default ones and those specified by properties. - - - - Send headers and body to the browser. - - If content have already been sent. - - - - Make sure that you have specified ContentLength and sent the headers first. - - - If headers have not been sent. - - offest of first byte to send - number of bytes to send. - - - This method can be used if you want to send body contents without caching them first. This - is recommended for larger files to keep the memory usage low. - - - - Make sure that you have specified ContentLength and sent the headers first. - - - If headers have not been sent. - - - - This method can be used if you want to send body contents without caching them first. This - is recommended for larger files to keep the memory usage low. - - - - Send headers to the client. - - If headers already been sent. - - - - - - - Redirect client to somewhere else using the 302 status code. - - Destination of the redirect - If headers already been sent. - You can not do anything more with the request when a redirect have been done. This should be your last - action. - - - - redirect to somewhere - - where the redirect should go - - No body are allowed when doing redirects. - - - - - The body stream is used to cache the body contents - before sending everything to the client. It's the simplest - way to serve documents. - - - - - Defines the version of the HTTP Response for applications where it's required - for this to be forced. - - - - - The chunked encoding modifies the body of a message in order to - transfer it as a series of chunks, each with its own size indicator, - followed by an OPTIONAL trailer containing entity-header fields. This - allows dynamically produced content to be transferred along with the - information necessary for the recipient to verify that it has - received the full message. - - - - - Kind of connection - - - - - Encoding to use when sending stuff to the client. - - Default is UTF8 - - - - Number of seconds to keep connection alive - - Only used if Connection property is set to ConnectionType.KeepAlive - - - - Status code that is sent to the client. - - Default is HttpStatusCode.Ok - - - - Information about why a specific status code was used. - - - - - Size of the body. MUST be specified before sending the header, - unless property Chunked is set to true. - - - - - Kind of content in the body - - Default is text/html - - - - Headers have been sent to the client- - - You can not send any additional headers if they have already been sent. - - - - The whole response have been sent. - - - - - Cookies that should be created/changed. - - - - - Type of HTTP connection - - - - - Connection is closed after each request-response - - - - - Connection is kept alive for X seconds (unless another request have been made) - - - - - Response that is sent back to the web browser / client. - - - - A response can be sent if different ways. The easiest one is - to just fill the Body stream with content, everything else - will then be taken care of by the framework. The default content-type - is text/html, you should change it if you send anything else. - - The second and slightly more complex way is to send the response - as parts. Start with sending the header using the SendHeaders method and - then you can send the body using SendBody method, but do not forget - to set and before doing so. - - - - - // Example using response body. - class MyModule : HttpModule - { - public override bool Process(IHttpRequest request, IHttpResponse response, IHttpSession session) - { - StreamWriter writer = new StreamWriter(response.Body); - writer.WriteLine("Hello dear World!"); - writer.Flush(); - - // return true to tell webserver that we've handled the url - return true; - } - } - - - todo: add two examples, using SendHeaders/SendBody and just the Body stream. - - - - Initializes a new instance of the class. - - Client that send the . - Contains information of what the client want to receive. - cannot be empty. - - - - Initializes a new instance of the class. - - Client that send the . - Version of HTTP protocol that the client uses. - Type of HTTP connection used. - - - - Add another header to the document. - - Name of the header, case sensitive, use lower cases. - Header values can span over multiple lines as long as each line starts with a white space. New line chars should be \r\n - If headers already been sent. - If value conditions have not been met. - Adding any header will override the default ones and those specified by properties. - - - - Send headers and body to the browser. - - If content have already been sent. - - - - Make sure that you have specified and sent the headers first. - - - If headers have not been sent. - - offset of first byte to send - number of bytes to send. - - - This method can be used if you want to send body contents without caching them first. This - is recommended for larger files to keep the memory usage low. - - - - Make sure that you have specified and sent the headers first. - - - If headers have not been sent. - - - - This method can be used if you want to send body contents without caching them first. This - is recommended for larger files to keep the memory usage low. - - - - Send headers to the client. - - If headers already been sent. - - - - - - - Redirect client to somewhere else using the 302 status code. - - Destination of the redirect - If headers already been sent. - You can not do anything more with the request when a redirect have been done. This should be your last - action. - - - - redirect to somewhere - - where the redirect should go - - No body are allowed when doing redirects. - - - - - The body stream is used to cache the body contents - before sending everything to the client. It's the simplest - way to serve documents. - - - - - The chunked encoding modifies the body of a message in order to - transfer it as a series of chunks, each with its own size indicator, - followed by an OPTIONAL trailer containing entity-header fields. This - allows dynamically produced content to be transferred along with the - information necessary for the recipient to verify that it has - received the full message. - - - - - Defines the version of the HTTP Response for applications where it's required - for this to be forced. - - - - - Kind of connection - - - - - Encoding to use when sending stuff to the client. - - Default is UTF8 - - - - Number of seconds to keep connection alive - - Only used if Connection property is set to . - - - - Status code that is sent to the client. - - Default is - - - - Information about why a specific status code was used. - - - - - Size of the body. MUST be specified before sending the header, - unless property Chunked is set to true. - - - - - Kind of content in the body - - Default type is "text/html" - - - - Headers have been sent to the client- - - You can not send any additional headers if they have already been sent. - - - - The whole response have been sent. - - - - - Cookies that should be created/changed. - - - - - represents a HTTP input item. Each item can have multiple sub items, a sub item - is made in a HTML form by using square brackets - - - // becomes: - Console.WriteLine("Value: {0}", form["user"]["FirstName"].Value); - - - All names in a form SHOULD be in lowercase. - - - - Representation of a non-initialized . - - - - Initializes an input item setting its name/identifier and value - - Parameter name/id - Parameter value - - - Creates a deep copy of the item specified - The item to copy - The function makes a deep copy of quite a lot which can be slow - - - - Add another value to this item - - Value to add. - Cannot add stuff to . - - - - checks if a sub-item exists (and has a value). - - name in lower case - true if the sub-item exists and has a value; otherwise false. - - - Returns a formatted representation of the instance with the values of all contained parameters - - - - Outputs the string in a formatted manner - - A prefix to append, used internally - produce a query string - - - - Add a sub item. - - Can contain array formatting, the item is then parsed and added in multiple levels - Value to add. - Argument is null. - Cannot add stuff to . - - - - Returns an enumerator that iterates through the collection. - - - - A that can be used to iterate through the collection. - - 1 - - - - Returns an enumerator that iterates through a collection. - - - - An object that can be used to iterate through the collection. - - 2 - - - - Outputs the string in a formatted manner - - A prefix to append, used internally - - - - - Number of values - - - - - Get a sub item - - name in lower case. - if no item was found. - - - - Name of item (in lower case). - - - - - Returns the first value, or null if no value exist. - - - - - Returns the last value, or null if no value exist. - - - - - Returns the list with values. - - - - - - - name in lower case - - - - - Helpers making it easier to work with forms. - - - - - - Used to let the website use different JavaScript libraries. - Default is - - - - - Create a <form> tag. - - name of form - action to invoke on submit - form should be posted as Ajax - HTML code - - - // without options - WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax); - - // with options - WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax, "style", "display:inline", "class", "greenForm"); - - - HTML attributes or JavaScript options. - Method will ALWAYS be POST. - options must consist of name, value, name, value - - - - Creates a select list with the values in a collection. - - Name of the SELECT-tag - collection used to generate options. - delegate used to return id and title from objects. - value that should be marked as selected. - First row should contain an empty value. - string containing a SELECT-tag. - - - - - Creates a select list with the values in a collection. - - Name of the SELECT-tag - Id of the SELECT-tag - collection used to generate options. - delegate used to return id and title from objects. - value that should be marked as selected. - First row should contain an empty value. - string containing a SELECT-tag. - - - - // Class that is going to be used in a SELECT-tag. - public class User - { - private readonly string _realName; - private readonly int _id; - public User(int id, string realName) - { - _id = id; - _realName = realName; - } - public string RealName - { - get { return _realName; } - } - - public int Id - { - get { return _id; } - } - } - - // Using an inline delegate to generate the select list - public void UserInlineDelegate() - { - List<User> items = new List<User>(); - items.Add(new User(1, "adam")); - items.Add(new User(2, "bertial")); - items.Add(new User(3, "david")); - string htmlSelect = Select("users", "users", items, delegate(object o, out object id, out object value) - { - User user = (User)o; - id = user.Id; - value = user.RealName; - }, 2, true); - } - - // Using an method as delegate to generate the select list. - public void UseExternalDelegate() - { - List<User> items = new List<User>(); - items.Add(new User(1, "adam")); - items.Add(new User(2, "bertial")); - items.Add(new User(3, "david")); - string htmlSelect = Select("users", "users", items, UserOptions, 1, true); - } - - // delegate returning id and title - public static void UserOptions(object o, out object id, out object title) - { - User user = (User)o; - id = user.Id; - value = user.RealName; - } - - - name, id, collection or getIdTitle is null. - - - - Creates a select list with the values in a collection. - - Name of the SELECT-tag - Id of the SELECT-tag - collection used to generate options. - delegate used to return id and title from objects. - value that should be marked as selected. - First row should contain an empty value. - name, value collection of extra HTML attributes. - string containing a SELECT-tag. - - name, id, collection or getIdTitle is null. - Invalid HTML attribute list. - - - - Generate a list of HTML options - - collection used to generate options. - delegate used to return id and title from objects. - value that should be marked as selected. - First row should contain an empty value. - - collection or getIdTitle is null. - - - sb is null. - - - - Creates a check box. - - element name - element value - determines if the check box is selected or not. This is done differently depending on the - type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if - the box is checked or not. - a list with additional attributes (name, value, name, value). - a generated radio button - - - - Creates a check box. - - element name - element id - element value - determines if the check box is selected or not. This is done differently depending on the - type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if - the box is checked or not. - a list with additional attributes (name, value, name, value). - a generated radio button - - value in your business object. (check box will be selected if it matches the element value) - - - - - Creates a check box. - - element name - element id - determines if the check box is selected or not. This is done differently depending on the - type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if - the box is checked or not. - a list with additional attributes (name, value, name, value). - a generated radio button - will set value to "1". - - - - Creates a RadioButton. - - element name - element value - determines if the radio button is selected or not. This is done differently depending on the - type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if - the box is checked or not. - a list with additional attributes (name, value, name, value). - a generated radio button - - - - Creates a RadioButton. - - element name - element id - element value - determines if the radio button is selected or not. This is done differently depending on the - type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if - the box is checked or not. - a list with additional attributes (name, value, name, value). - a generated radio button - - - - form close tag - - - - - - Add a component instance - - Interface type - Instance to add - - - - Get a component. - - Interface type - Component if registered, otherwise null. - - Component will get created if needed. - - - - If instance cannot be created. - - - - Checks if the specified component interface have been added. - - - true if found; otherwise false. - - - - Add a component. - - Type being requested. - Type being created. - Type have already been mapped. - - - - Arguments used when more body bytes have come. - - - - - Initializes a new instance of the class. - - buffer that contains the received bytes. - offset in buffer where to start processing. - number of bytes from that should be parsed. - - - - Initializes a new instance of the class. - - - - - Gets or sets buffer that contains the received bytes. - - - - - Gets or sets number of bytes from that should be parsed. - - - - - Gets or sets offset in buffer where to start processing. - - - - - Used to create and reuse contexts. - - - - - Used to create es. - - - - - Creates a that handles a connected client. - - Client socket (accepted by the ). - A creates . - - - - Create a secure . - - Client socket (accepted by the ). - HTTPS certificate to use. - Kind of HTTPS protocol. Usually TLS or SSL. - A created . - - - - A request have been received from one of the contexts. - - - - - Initializes a new instance of the class. - - The writer. - Amount of bytes to read from the incoming socket stream. - Used to create a request parser. - - - - Create a new context. - - true if socket is running HTTPS. - Client that connected - Network/SSL stream. - A context. - - - - Create a new context. - - true if HTTPS is used. - Remote client - Network stream, uses . - A new context (always). - - - - Create a secure . - - Client socket (accepted by the ). - HTTPS certificate to use. - Kind of HTTPS protocol. Usually TLS or SSL. - - A created . - - - - - Creates a that handles a connected client. - - Client socket (accepted by the ). - - A creates . - - - - - True if detailed trace logs should be written. - - - - - A request have been received from one of the contexts. - - - - - Custom network stream to mark sockets as reusable when disposing the stream. - - - - - Creates a new instance of the class for the specified . - - - The that the will use to send and receive data. - - - The parameter is null. - - - The parameter is not connected. - -or- - The property of the parameter is not . - -or- - The parameter is in a nonblocking state. - - - - - Initializes a new instance of the class for the specified with the specified ownership. - - - The that the will use to send and receive data. - - - Set to true to indicate that the will take ownership of the ; otherwise, false. - - - The parameter is null. - - - The parameter is not connected. - -or- - the value of the property of the parameter is not . - -or- - the parameter is in a nonblocking state. - - - - - Creates a new instance of the class for the specified with the specified access rights. - - - The that the will use to send and receive data. - - - A bitwise combination of the values that specify the type of access given to the over the provided . - - - The parameter is null. - - - The parameter is not connected. - -or- - the property of the parameter is not . - -or- - the parameter is in a nonblocking state. - - - - - Creates a new instance of the class for the specified with the specified access rights and the specified ownership. - - - The that the will use to send and receive data. - - - A bitwise combination of the values that specifies the type of access given to the over the provided . - - - Set to true to indicate that the will take ownership of the ; otherwise, false. - - - The parameter is null. - - - The parameter is not connected. - -or- - The property of the parameter is not . - -or- - The parameter is in a nonblocking state. - - - - - Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. - - - - - Releases the unmanaged resources used by the and optionally releases the managed resources. - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Serves files that are stored in embedded resources. - - - - - A HttpModule can be used to serve Uri's. The module itself - decides if it should serve a Uri or not. In this way, you can - get a very flexible http application since you can let multiple modules - serve almost similar urls. - - - Throw if you are using a and want to prompt for user name/password. - - - - - Method that process the url - - Information sent by the browser about the request - Information that is being sent back to the client. - Session used to - true if this module handled the request. - - - - Set the log writer to use. - - logwriter to use. - - - - Log something. - - importance of log message - message - - - - If true specifies that the module doesn't consume the processing of a request so that subsequent modules - can continue processing afterwards. Default is false. - - - - - Initializes a new instance of the class. - Runs to make sure the basic mime types are available, they can be cleared later - through the use of if desired. - - - - - Initializes a new instance of the class. - Runs to make sure the basic mime types are available, they can be cleared later - through the use of if desired. - - The log writer to use when logging events - - - - Mimtypes that this class can handle per default - - - - - Loads resources from a namespace in the given assembly to an uri - - The uri to map the resources to - The assembly in which the resources reside - The namespace from which to load the resources - - resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views"); - - will make ie the resource MyLib.Models.User.Views.stylesheet.css accessible via /user/stylesheet.css - - The amount of loaded files, giving you the possibility of making sure the resources needed gets loaded - - - - Returns true if the module can handle the request - - - - - Method that process the url - - Information sent by the browser about the request - Information that is being sent back to the client. - Session used to - true if this module handled the request. - - - - List with all mime-type that are allowed. - - All other mime types will result in a Forbidden http status code. - - - - The purpose of this module is to serve files. - - - - - Initializes a new instance of the class. - - Uri to serve, for instance "/files/" - Path on hard drive where we should start looking for files - If true a Last-Modifed header will be sent upon requests urging web browser to cache files - - - - Initializes a new instance of the class. - - Uri to serve, for instance "/files/" - Path on hard drive where we should start looking for files - - - - Mimtypes that this class can handle per default - - - - - Determines if the request should be handled by this module. - Invoked by the - - - true if this module should handle it. - - - Illegal path - - - - check if source contains any of the chars. - - - - - - - - Method that process the Uri. - - Information sent by the browser about the request - Information that is being sent back to the client. - Session used to - Failed to find file extension - File type is forbidden. - - - - return a file extension from an absolute Uri path (or plain filename) - - - - - - - List with all mime-type that are allowed. - - All other mime types will result in a Forbidden http status code. - - - - characters that may not exist in a path. - - - fileMod.ForbiddenChars = new string[]{ "\\", "..", ":" }; - - - - - The server encountered an unexpected condition which prevented it from fulfilling the request. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - error message. - - - - Initializes a new instance of the class. - - error message. - inner exception. - - - - Class to make dynamic binding of redirects. Instead of having to specify a number of similar redirect rules - a regular expression can be used to identify redirect URLs and their targets. - - - [a-z0-9]+)", "/users/${target}?find=true", RegexOptions.IgnoreCase) - ]]> - - - - - Initializes a new instance of the class. - - Expression to match URL - Expression to generate URL - - [a-zA-Z0-9]+)", "/user/${first}")); - Result of ie. /employee1 will then be /user/employee1 - ]]> - - - - - Initializes a new instance of the class. - - Expression to match URL - Expression to generate URL - Regular expression options to use, can be null - - [a-zA-Z0-9]+)", "/user/{first}", RegexOptions.IgnoreCase)); - Result of ie. /employee1 will then be /user/employee1 - ]]> - - - - - Initializes a new instance of the class. - - Expression to match URL - Expression to generate URL - Regular expression options to apply - true if request should be redirected, false if the request URI should be replaced. - - [a-zA-Z0-9]+)", "/user/${first}", RegexOptions.None)); - Result of ie. /employee1 will then be /user/employee1 - ]]> - - Argument is null. - - - - - Process the incoming request. - - incoming HTTP request - outgoing HTTP response - true if response should be sent to the browser directly (no other rules or modules will be processed). - - returning true means that no modules will get the request. Returning true is typically being done - for redirects. - - If request or response is null - - - - Used when the request line have been successfully parsed. - - - - - Initializes a new instance of the class. - - The HTTP method. - The URI path. - The HTTP version. - - - - Initializes a new instance of the class. - - - - - Gets or sets http method. - - - Should be one of the methods declared in . - - - - - Gets or sets the version of the HTTP protocol that the client want to use. - - - - - Gets or sets requested URI path. - - Delegate used to find a realm/domain. @@ -3982,360 +322,1511 @@ exceptions will be printed to console and suppressed during release mode. - + - The request requires user authentication. The response MUST include a - WWW-Authenticate header field (section 14.47) containing a challenge - applicable to the requested resource. - - The client MAY repeat the request with a suitable Authorization header - field (section 14.8). If the request already included Authorization - credentials, then the 401 response indicates that authorization has been - refused for those credentials. If the 401 response contains the same challenge - as the prior response, and the user agent has already attempted authentication - at least once, then the user SHOULD be presented the entity that was given in the response, - since that entity might include relevant diagnostic information. - - HTTP access authentication is explained in rfc2617: - http://www.ietf.org/rfc/rfc2617.txt - - (description is taken from - http://www.submissionchamber.com/help-guides/error-codes.php#sec10.4.2) + Serves files that are stored in embedded resources. - + - Create a new unauhtorized exception. - - - - - - Create a new unauhtorized exception. - - reason to why the request was unauthorized. - inner exception - - - - Create a new unauhtorized exception. - - reason to why the request was unauthorized. - - - - Lists content type mime types. - - - - - text/plain - - - - - text/haml - - - - - content type for javascript documents = application/javascript + A HttpModule can be used to serve Uri's. The module itself + decides if it should serve a Uri or not. In this way, you can + get a very flexible http application since you can let multiple modules + serve almost similar urls. - - RFC 4329 states that text/javascript have been superseeded by - application/javascript. You might still want to check browser versions - since older ones do not support application/javascript. - - Browser support: http://krijnhoetmer.nl/stuff/javascript/mime-types/ + Throw if you are using a and want to prompt for user name/password. - + - text/xml + Method that process the url + + Information sent by the browser about the request + Information that is being sent back to the client. + Session used to + true if this module handled the request. + + + + Set the log writer to use. + + logwriter to use. + + + + Log something. + + importance of log message + message + + + + If true specifies that the module doesn't consume the processing of a request so that subsequent modules + can continue processing afterwards. Default is false. - + - A list of content types + Initializes a new instance of the class. + Runs to make sure the basic mime types are available, they can be cleared later + through the use of if desired. - + + Initializes a new instance of the class. + Runs to make sure the basic mime types are available, they can be cleared later + through the use of if desired. + + The log writer to use when logging events + + + + Mimtypes that this class can handle per default + + + + + Loads resources from a namespace in the given assembly to an uri + + The uri to map the resources to + The assembly in which the resources reside + The namespace from which to load the resources + + resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views"); - - Semicolon separated content types. + will make ie the resource MyLib.Models.User.Views.stylesheet.css accessible via /user/stylesheet.css + + The amount of loaded files, giving you the possibility of making sure the resources needed gets loaded - + + + Returns true if the module can handle the request + + + + + Method that process the url + + Information sent by the browser about the request + Information that is being sent back to the client. + Session used to + true if this module handled the request. + + + + List with all mime-type that are allowed. + + All other mime types will result in a Forbidden http status code. + + + + Contains some kind of input from the browser/client. + can be QueryString, form data or any other request body content. + + + + + Base class for request data containers + + + + + Adds a parameter mapped to the presented name + + The name to map the parameter to + The parameter value + + + + Returns true if the container contains the requested parameter + + Parameter id + True if parameter exists + + + + Returns a request parameter + + The name associated with the parameter + + + + Representation of a non-initialized class instance + + + Variable telling the class that it is non-initialized + + + + Initializes a new instance of the class. + + form name. + + + + Initializes a new instance of the class. + + form name. + if set to true all changes will be ignored. + this constructor should only be used by Empty + + + Creates a deep copy of the HttpInput class + The object to copy + The function makes a deep copy of quite a lot which can be slow + + + + Add a new element. Form array elements are parsed + and added in a correct hierarchy. + + Name is converted to lower case. + + name is null. + Cannot add stuff to . + + + + Returns true if the class contains a with the corresponding name. + + The field/query string name + True if the value exists + + + + Parses an item and returns it. + This function is primarily used to parse array items as in user[name]. + + + + + + + Outputs the instance representing all its values joined together + + + + Returns all items as an unescaped query string. + + + + + Extracts one parameter from an array + + Containing the string array + All but the first value + + string test1 = ExtractOne("system[user][extension][id]"); + string test2 = ExtractOne(test1); + string test3 = ExtractOne(test2); + // test1 = user[extension][id] + // test2 = extension[id] + // test3 = id + + + + Resets all data contained by class + + + + Returns an enumerator that iterates through the collection. + + + + A that can be used to iterate through the collection. + + 1 + + Returns an enumerator that iterates through a collection. + - An object that can be used to iterate through the collection. + An object that can be used to iterate through the collection. + 2 - + - Searches for the specified type - - Can also be a part of a type (searching for "xml" would return true for "application/xml"). - true if type was found. - - - - Get this first content type. + Form name as lower case - + - Fetch a content type + Get a form item. - Part of type ("xml" would return "application/xml") - - All content types are in lower case. + + Returns if item was not found. - + - Session store using memory for each session. + The server understood the request, but is refusing to fulfill it. + Authorization will not help and the request SHOULD NOT be repeated. + If the request method was not HEAD and the server wishes to make public why the request has not been fulfilled, + it SHOULD describe the reason for the refusal in the entity. If the server does not wish to make this information + available to the client, the status code 404 (Not Found) can be used instead. + + Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php - + - Initializes the class setting the expirationtimer to clean the session every minute + All HTTP based exceptions will derive this class. - + - Delegate for the cleanup timer + Create a new HttpException + + http status code (sent in the response) + error description + + + + Create a new HttpException + + http status code (sent in the response) + error description + inner exception + + + + status code to use in the response. - + - Creates a new http session + Initializes a new instance of the class. - + error message - + - Creates a new http session with a specific id + This class is created as a wrapper, since there are two different cookie types in .Net (Cookie and HttpCookie). + The framework might switch class in the future and we dont want to have to replace all instances + + + + + Let's copy all the cookies. + + value from cookie header. + + + + Adds a cookie in the collection. + + cookie to add + cookie is null + + + + Gets a collection enumerator on the cookie list. + + collection enumerator + + + + Remove all cookies. + + + + + Returns an enumerator that iterates through the collection. + + + + A that can be used to iterate through the collection. + + 1 + + + + Remove a cookie from the collection. + + Name of cookie. + + + + Gets the count of cookies in the collection. + + + + + Gets the cookie of a given identifier (null if not existing). + + + + + Contains a connection to a browser/client. + + + + + Disconnect from client + + error to report in the event. + + + + Send a response. + + Either or + HTTP status code + reason for the status code. + HTML body contents, can be null or empty. + A content type to return the body as, i.e. 'text/html' or 'text/plain', defaults to 'text/html' if null or empty + If is invalid. + + + + Send a response. + + Either or + HTTP status code + reason for the status code. + + + + Send a response. + + + + + + send a whole buffer + + buffer to send + + + + + Send data using the stream + + Contains data to send + Start position in buffer + number of bytes to send + + + + + + Closes the streams and disposes of the unmanaged resources + + + + + Using SSL or other encryption method. + + + + + Using SSL or other encryption method. + + + + + The context have been disconnected. - Id used to identify the new cookie.. - A object. - Id should be generated by the store implementation if it's null or . + Event can be used to clean up a context, or to reuse it. - + - Load an existing session. - - - - - - - Save an updated session to the store. - - - - - - We use the flyweight pattern which reuses small objects - instead of creating new each time. - - EmptyLanguageNode (unused) session that should be reused next time Create is called. - - - - Remove expired sessions + A request have been received in the context. - + - Remove a session - - id of the session. - - - - Load a session from the store - - - null if session is not found. - - - - Number of minutes before a session expires. - Default is 20 minutes. + A have been disconnected. - + - Webhelper provides helpers for common tasks in HTML. + Initializes a new instance of the class. + + Reason to disconnection. + + + + Gets reason to why client disconnected. - + - Used to let the website use different javascript libraries. - Default is + - + - Creates a link that invokes through ajax. + Initializes a new instance of the class. + + The request. + + + + Gets received request. + + + + + Returns item either from a form or a query string (checks them in that order) + + + + Representation of a non-initialized HttpParam + + + Initialises the class to hold a value either from a post request or a querystring request + + + + The add method is not availible for HttpParam + since HttpParam checks both Request.Form and Request.QueryString + + name identifying the value + value to add + + + + + Checks whether the form or querystring has the specified value + + Name, case sensitive + true if found; otherwise false. + + + + Returns an enumerator that iterates through the collection. + + + + A that can be used to iterate through the collection. + + 1 + + + + Returns an enumerator that iterates through a collection. + + + + An object that can be used to iterate through the collection. + + 2 + + + + Fetch an item from the form or querystring (in that order). + + + Item if found; otherwise HttpInputItem.EmptyLanguageNode + + + + Container class for posted files + + + + + Creates a container for a posted file + + The identifier of the post field + The file path + The content type of the file + The name of the file uploaded + If any parameter is null or empty + + + + Creates a container for a posted file + + If any parameter is null or empty + + + Destructor disposing the file + + + + Deletes the temporary file + + True if manual dispose + + + + Disposing interface, cleans up managed resources (the temporary file) and suppresses finalization + + + + + The name/id of the file + + + + + The full file path + + + + + The name of the uploaded file + + + + + The type of file + + + + + This decoder converts XML documents to form items. + Each element becomes a subitem in the form, and each attribute becomes an item. - url to fetch - link title - - optional options in format "key, value, key, value". - Javascript options starts with ':'. - - a link tag - WebHelper.AjaxRequest("/users/add/", "Add user", "method:", "post", "onclick", "validate('this');"); + // xml: somethingdata + // result: + // form["hello"].Value = "something" + // form["hello"]["id"].Value = 1 + // form["hello"]["world]["id"].Value = 1 + // form["hello"]["world"].Value = "data" + + The original xml document is stored in form["__xml__"].Value. + - + - Builds a link that updates an element with the fetched ajax content. + Interface for form content decoders. - Url to fetch content from - link title - html element to update with the results of the ajax request. - optional options in format "key, value, key, value" - A link tag. - + - A link that pop ups a Dialog (overlay div) + - url to contents of dialog - link title - name/value of html attributes. - A "a"-tag that popups a dialog when clicked - - WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');"); - + Stream containing the content + Content type (with any additional info like boundry). Content type is always supplied in lower case + Stream enconding + A http form, or null if content could not be parsed. + If contents in the stream is not valid input data. - + - Create/Open a dialog box using ajax + Checks if the decoder can handle the mime type - - - - + Content type (with any additional info like boundry). Content type is always supplied in lower case. + True if the decoder can parse the specified content type - + - Close a javascript dialog window/div. + - javascript for closing a dialog. - + Stream containing the content + Content type (with any additional info like boundry). Content type is always supplied in lower case + Stream encoding + Note: contentType and encoding are not used? + A http form, or null if content could not be parsed. + - + - Create a <form> tag. + Recursive function that will go through an xml element and store it's content + to the form item. - name of form - action to invoke on submit - form should be posted as ajax - html code - - WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax); - + (parent) Item in form that content should be added to. + Node that should be parsed. - + - Create a link tag. + Checks if the decoder can handle the mime type - url to go to - link title (text that is displayed) - html attributes, name, value, name, value - html code - - WebHelper.Link("/user/show/1", "Show user", "id", "showUser", "onclick", "return confirm('Are you shure?');"); - + Content type (with any additional info like boundry). Content type is always supplied in lower case. + True if the decoder can parse the specified content type - + - Build a link + The object form class takes an object and creates form items for it. - url to go to. - title of link (displayed text) - extra html attributes. - a complete link - + - Build a link + Initializes a new instance of the class. - url to go to. - title of link (displayed text) - extra html attributes. - a complete link - more options + + form name *and* id. + action to do when form is posted. + - + - Obsolete + Initializes a new instance of the class. - Obsolete - Obsolete - Obsolete - Obsolete - Obsolete - Obsolete + form name *and* id. + action to do when form is posted. + object to get values from - + - Obsolete + Initializes a new instance of the class. - Obsolete - Obsolete - Obsolete - Obsolete - Obsolete - Obsolete - Obsolete + form action. + object to get values from. - + - Render errors into a UL with class "errors" + write out the FORM-tag. - class used by UL-tag. - items to list - an unordered html list. + generated html code - + - Render errors into a UL with class "errors" + Writeout the form tag - class used by UL-tag. - items to list - an unordered html list. + form should be posted through ajax. + generated html code - + - Render errors into a UL with class "errors" + Generates a text box. - - - - - - Generates a list with html attributes. - - StringBuilder that the options should be added to. - attributes set by user. - attributes set by any of the helper classes. - - - - Generates a list with html attributes. - - StringBuilder that the options should be added to. + + generated html code + + + + password box + + + + generated html code + + + + Hiddens the specified property name. + + Name of the property. + The options. + generated html code + + + + Labels the specified property name. + + property in object. + caption + generated html code + + + + Generate a checkbox + + property in object + checkbox value + additional html attributes. + generated html code + + + + Write a html select tag + + object property. + id column + The title column. + The options. + + + + + Selects the specified property name. + + Name of the property. + The items. + The id column. + The title column. + The options. + + + + + Write a submit tag. + + button caption + html submit tag + + + + html end form tag + + html + + + + + + + http://www.faqs.org/rfcs/rfc1867.html + + + + + multipart/form-data + + + + + form-data + + + + + + + Stream containing the content + Content type (with any additional info like boundry). Content type is always supplied in lower case + Stream enconding + A http form, or null if content could not be parsed. + If contents in the stream is not valid input data. + If any parameter is null + + + + Checks if the decoder can handle the mime type + + Content type (with any additional info like boundry). Content type is always supplied in lower case. + True if the decoder can parse the specified content type + + + + The request could not be understood by the server due to malformed syntax. + The client SHOULD NOT repeat the request without modifications. + + Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php + + + + + Create a new bad request exception. + + reason to why the request was bad. + + + + Create a new bad request exception. + + reason to why the request was bad. + inner exception + + + + Cookies that should be set. + + + + + Adds a cookie in the collection. + + cookie to add + cookie is null + + + + Copy a request cookie + + + When the cookie should expire + + + + Gets a collection enumerator on the cookie list. + + collection enumerator + + + + Remove all cookies + + + + + Returns an enumerator that iterates through the collection. + + + + A that can be used to iterate through the collection. + + 1 + + + + Gets the count of cookies in the collection. + + + + + Gets the cookie of a given identifier (null if not existing). + + + + + cookie being sent back to the browser. + + + + + + cookie sent by the client/browser + + + + + + Constructor. + + cookie identifier + cookie content + id or content is null + id is empty + + + + Gets the cookie HTML representation. + + cookie string + + + + Gets the cookie identifier. + + + + + Cookie value. Set to null to remove cookie. + + + + + Constructor. + + cookie identifier + cookie content + cookie expiration date. Use DateTime.MinValue for session cookie. + id or content is null + id is empty + + + + Create a new cookie + + name identifying the cookie + cookie value + when the cookie expires. Setting DateTime.MinValue will delete the cookie when the session is closed. + Path to where the cookie is valid + Domain that the cookie is valid for. + + + + Create a new cookie + + Name and value will be used + when the cookie expires. + + + + Gets the cookie HTML representation. + + cookie string + + + + When the cookie expires. + DateTime.MinValue means that the cookie expires when the session do so. + + + + + Cookie is only valid under this path. + + + + + Inversion of control interface. + + + + + Add a component instance + + Interface type + Instance to add + + + + Get a component. + + Interface type + Component if registered, otherwise null. + + Component will get created if needed. + + + + + Checks if the specified component interface have been added. + + + true if found; otherwise false. + + + + Add a component. + + Type being requested. + Type being created. + + + + Contains a listener that doesn't do anything with the connections. + + + + + Listen for regular HTTP connections + + IP Address to accept connections on + TCP Port to listen on, default HTTP port is 80. + Factory used to create es. + address is null. + Port must be a positive number. + + + + Initializes a new instance of the class. + + IP Address to accept connections on + TCP Port to listen on, default HTTPS port is 443 + Factory used to create es. + Certificate to use + + + + Initializes a new instance of the class. + + IP Address to accept connections on + TCP Port to listen on, default HTTPS port is 443 + Factory used to create es. + Certificate to use + which HTTPS protocol to use, default is TLS. + + + Exception. + + + + Will try to accept connections one more time. + + If any exceptions is thrown. + + + + Can be used to create filtering of new connections. + + Accepted socket + true if connection can be accepted; otherwise false. + + + + Start listen for new connections + + Number of connections that can stand in a queue to be accepted. + Listener have already been started. + + + + Stop the listener + + + + + + Gives you a change to receive log entries for all internals of the HTTP library. + + + You may not switch log writer after starting the listener. + + + + + True if we should turn on trace logs. + + + + + Catch exceptions not handled by the listener. + + + Exceptions will be thrown during debug mode if this event is not used, + exceptions will be printed to console and suppressed during release mode. + + + + + A request have been received from a . + + + + + New implementation of the HTTP listener. + + + Use the Create methods to create a default listener. + + + + + Initializes a new instance of the class. + + IP Address to accept connections on + TCP Port to listen on, default HTTP port is 80. + Factory used to create es. + address is null. + Port must be a positive number. + + + + Initializes a new instance of the class. + + The address. + The port. + The factory. + The certificate. + + + + Initializes a new instance of the class. + + The address. + The port. + The factory. + The certificate. + The protocol. + + + + Creates a new instance with default factories. + + Address that the listener should accept connections on. + Port that listener should accept connections on. + Created HTTP listener. + + + + Creates a new instance with default factories. + + Address that the listener should accept connections on. + Port that listener should accept connections on. + Certificate to use + Created HTTP listener. + + + + Creates a new instance with default factories. + + Address that the listener should accept connections on. + Port that listener should accept connections on. + Certificate to use + which HTTPS protocol to use, default is TLS. + Created HTTP listener. + + + + Can be used to create filtering of new connections. + + Accepted socket + + true if connection can be accepted; otherwise false. + + + + + A client have been accepted, but not handled, by the listener. + + + + + redirects from one URL to another. + + + + + Rules are used to perform operations before a request is being handled. + Rules can be used to create routing etc. + + + + + Process the incoming request. + + incoming HTTP request + outgoing HTTP response + true if response should be sent to the browser directly (no other rules or modules will be processed). + + returning true means that no modules will get the request. Returning true is typically being done + for redirects. + + If request or response is null. + + + + Initializes a new instance of the class. + + Absolute path (no server name) + Absolute path (no server name) + + server.Add(new RedirectRule("/", "/user/index")); + + + + + Initializes a new instance of the class. + + Absolute path (no server name) + Absolute path (no server name) + true if request should be redirected, false if the request URI should be replaced. + + server.Add(new RedirectRule("/", "/user/index")); + + + + + Process the incoming request. + + incoming HTTP request + outgoing HTTP response + true if response should be sent to the browser directly (no other rules or modules will be processed). + + returning true means that no modules will get the request. Returning true is typically being done + for redirects. + + + + + Gets string to match request URI with. + + Is compared to request.Uri.AbsolutePath + + + + Gets where to redirect. + + + + + Gets whether server should redirect client. + + + false means that the rule will replace + the current request URI with the new one from this class. + true means that a redirect response is sent to the client. + + + + + Parses a HTTP request directly from a stream + + + + + Event driven parser used to parse incoming HTTP requests. + + + The parser supports partial messages and keeps the states between + each parsed buffer. It's therefore important that the parser gets + ed if a client disconnects. + + + + + Parse partial or complete message. + + buffer containing incoming bytes + where in buffer that parsing should start + number of bytes to parse + Unparsed bytes left in buffer. + BadRequestException. + + + + Clear parser state. + + + + + Current state in parser. + + + + + A request have been successfully parsed. + + + + + More body bytes have been received. + + + + + Request line have been received. + + + + + A header have been received. + + + + + Gets or sets the log writer. + + + + + Create a new request parser + + delegate receiving log entries. + + + + Add a number of bytes to the body + + buffer containing more body bytes. + starting offset in buffer + number of bytes, from offset, to read. + offset to continue from. + + + + Remove all state information for the request. + + + + + Parse request line + + + If line is incorrect + Expects the following format: "Method SP Request-URI SP HTTP-Version CRLF" + + + + We've parsed a new header. + + Name in lower case + Value, unmodified. + If content length cannot be parsed. + + + + Parse a message + + bytes to parse. + where in buffer that parsing should start + number of bytes to parse, starting on . + offset (where to start parsing next). + BadRequestException. + + + + Gets or sets the log writer. + + + + + Current state in parser. + + + + + A request have been successfully parsed. + + + + + More body bytes have been received. + + + + + Request line have been received. + + + + + A header have been received. + + + + + Contains server side HTTP request information. + + + + + Called during parsing of a . + + Name of the header, should not be URL encoded + Value of the header, should not be URL encoded + If a header is incorrect. + + + + Add bytes to the body + + buffer to read bytes from + where to start read + number of bytes to read + Number of bytes actually read (same as length unless we got all body bytes). + If body is not writable + bytes is null. + offset is out of range. + + + + Clear everything in the request + + + + + Decode body into a form. + + A list with form decoders. + If body contents is not valid for the chosen decoder. + If body is still being transferred. + + + + Sets the cookies. + + The cookies. + + + + Create a response object. + + Context for the connected client. + A new . + + + + Gets kind of types accepted by the client. + + + + + Gets or sets body stream. + + + + + Gets whether the body is complete. + + + + + Gets or sets kind of connection used for the session. + + + + + Gets or sets number of bytes in the body. + + + + + Gets cookies that was sent with the request. + + + + + Gets form parameters. + + + + + Gets headers sent by the client. + + + + + Gets or sets version of HTTP protocol that's used. + + + Probably or . + + + + + + Gets whether the request was made by Ajax (Asynchronous JavaScript) + + + + + Gets or sets requested method. + + + Will always be in upper case. + + + + + + Gets parameter from or . + + + + + Gets variables sent in the query string + + + + + Gets or sets requested URI. + + + + + Gets URI absolute path divided into parts. + + + // URI is: http://gauffin.com/code/tiny/ + Console.WriteLine(request.UriParts[0]); // result: code + Console.WriteLine(request.UriParts[1]); // result: tiny + + + If you're using controllers than the first part is controller name, + the second part is method name and the third part is Id property. + + + + + + Gets or sets path and query. + + + + Are only used during request parsing. Cannot be set after "Host" header have been + added. + + + + + PrototypeJS implementation of the javascript functions. +
// ----------------------------------------------------------------- - private void DoJsonReadNotecard(UUID reqID, UUID hostID, UUID scriptID, UUID storeID, string path, UUID assetID) + private void DoJsonReadNotecard( + UUID reqID, UUID hostID, UUID scriptID, UUID storeID, string path, string notecardIdentifier) { + UUID assetID; + + if (!UUID.TryParse(notecardIdentifier, out assetID)) + { + SceneObjectPart part = m_scene.GetSceneObjectPart(hostID); + assetID = ScriptUtils.GetAssetIdFromItemName(part, notecardIdentifier, (int)AssetType.Notecard); + } + AssetBase a = m_scene.AssetService.Get(assetID.ToString()); if (a == null) - GenerateRuntimeError(String.Format("Unable to find notecard asset {0}",assetID)); + GenerateRuntimeError(String.Format("Unable to find notecard asset {0}", assetID)); if (a.Type != (sbyte)AssetType.Notecard) - GenerateRuntimeError(String.Format("Invalid notecard asset {0}",assetID)); + GenerateRuntimeError(String.Format("Invalid notecard asset {0}", assetID)); m_log.DebugFormat("[JsonStoreScripts]: read notecard in context {0}",storeID); @@ -483,11 +493,11 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore } catch (Exception e) { - m_log.WarnFormat("[JsonStoreScripts]: Json parsing failed; {0}",e.Message); + m_log.WarnFormat("[JsonStoreScripts]: Json parsing failed; {0}", e.Message); } - GenerateRuntimeError(String.Format("Json parsing failed for {0}",assetID.ToString())); - m_comms.DispatchReply(scriptID,0,"",reqID.ToString()); + GenerateRuntimeError(String.Format("Json parsing failed for {0}", assetID)); + m_comms.DispatchReply(scriptID, 0, "", reqID.ToString()); } // ----------------------------------------------------------------- From dfe5826f9fd8854ddb5f0cc465564d8f124d7786 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 6 Feb 2013 01:44:37 +0000 Subject: [PATCH 500/851] Remove wrong code in ScriptUtils.GetAssetIdFromKeyOrItemName which would return the item ID instead of the asset ID if the identifier was a uuid that matched an inventory item name. This would practically never happen. This makes this overloaded version of the function consistent with the other version. It looks like this accidentally came over in commit c5af16a from Tue Oct 16 12:40:21 2012 However, there's arguably a case for looking for an item name that matches a UUID before assuming that the identifier is already an asset ID. --- .../Framework/Scenes/Scripting/ScriptUtils.cs | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/Scripting/ScriptUtils.cs b/OpenSim/Region/Framework/Scenes/Scripting/ScriptUtils.cs index d8aa2584a6..f08ba59ea3 100644 --- a/OpenSim/Region/Framework/Scenes/Scripting/ScriptUtils.cs +++ b/OpenSim/Region/Framework/Scenes/Scripting/ScriptUtils.cs @@ -82,7 +82,6 @@ namespace OpenSim.Region.Framework.Scenes.Scripting return key; } - /// /// Return the UUID of the asset matching the specified key or name /// and asset type. @@ -101,20 +100,6 @@ namespace OpenSim.Region.Framework.Scenes.Scripting if (item != null && item.Type == (int)type) key = item.AssetID; } - else - { - lock (part.TaskInventory) - { - foreach (KeyValuePair item in part.TaskInventory) - { - if (item.Value.Type == (int)type && item.Value.Name == identifier) - { - key = item.Value.ItemID; - break; - } - } - } - } return key; } From 9ebad38c34315302d6ed26356fc4da5c0465e3cb Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 6 Feb 2013 02:08:44 +0000 Subject: [PATCH 501/851] Remove unused ScriptEngineLoader and ScriptEngineInterface in OpenSim.Region.Framework.dll I believe this predates the generic system of registering interfaces and is very long unused. --- OpenSim/Region/Framework/Scenes/Scene.cs | 11 -- .../Scenes/Scripting/ScriptEngineInterface.cs | 38 ------ .../Scenes/Scripting/ScriptEngineLoader.cs | 119 ------------------ 3 files changed, 168 deletions(-) delete mode 100644 OpenSim/Region/Framework/Scenes/Scripting/ScriptEngineInterface.cs delete mode 100644 OpenSim/Region/Framework/Scenes/Scripting/ScriptEngineLoader.cs diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index f8d84e359e..482235c327 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -4482,19 +4482,8 @@ namespace OpenSim.Region.Framework.Scenes #region Script Engine - private List ScriptEngines = new List(); public bool DumpAssetsToFile; - /// - /// - /// - /// - public void AddScriptEngine(ScriptEngineInterface scriptEngine) - { - ScriptEngines.Add(scriptEngine); - scriptEngine.InitializeEngine(this); - } - private bool ScriptDanger(SceneObjectPart part,Vector3 pos) { ILandObject parcel = LandChannel.GetLandObject(pos.X, pos.Y); diff --git a/OpenSim/Region/Framework/Scenes/Scripting/ScriptEngineInterface.cs b/OpenSim/Region/Framework/Scenes/Scripting/ScriptEngineInterface.cs deleted file mode 100644 index 812a21c97e..0000000000 --- a/OpenSim/Region/Framework/Scenes/Scripting/ScriptEngineInterface.cs +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSimulator Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -//TODO: WHERE TO PLACE THIS? - -namespace OpenSim.Region.Framework.Scenes.Scripting -{ - public interface ScriptEngineInterface - { - void InitializeEngine(Scene Sceneworld); - void Shutdown(); -// void StartScript(string ScriptID, IScriptHost ObjectID); - } -} diff --git a/OpenSim/Region/Framework/Scenes/Scripting/ScriptEngineLoader.cs b/OpenSim/Region/Framework/Scenes/Scripting/ScriptEngineLoader.cs deleted file mode 100644 index c58ccc5de8..0000000000 --- a/OpenSim/Region/Framework/Scenes/Scripting/ScriptEngineLoader.cs +++ /dev/null @@ -1,119 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSimulator Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/* Original code: Tedd Hansen */ -using System; -using System.IO; -using System.Reflection; -using log4net; - -namespace OpenSim.Region.Framework.Scenes.Scripting -{ - public class ScriptEngineLoader - { - private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - - public ScriptEngineInterface LoadScriptEngine(string EngineName) - { - ScriptEngineInterface ret = null; - try - { - ret = - LoadAndInitAssembly( - Path.Combine("ScriptEngines", "OpenSim.Region.ScriptEngine." + EngineName + ".dll"), - "OpenSim.Region.ScriptEngine." + EngineName + ".ScriptEngine"); - } - catch (Exception e) - { - m_log.Error("[ScriptEngine]: " + - "Error loading assembly \"" + EngineName + "\": " + e.Message + ", " + - e.StackTrace.ToString()); - } - return ret; - } - - /// - /// Does actual loading and initialization of script Assembly - /// - /// AppDomain to load script into - /// FileName of script assembly (.dll) - /// - private ScriptEngineInterface LoadAndInitAssembly(string FileName, string NameSpace) - { - //Common.SendToDebug("Loading ScriptEngine Assembly " + FileName); - // Load .Net Assembly (.dll) - // Initialize and return it - - // TODO: Add error handling - - Assembly a; - //try - //{ - - - // Load to default appdomain (temporary) - a = Assembly.LoadFrom(FileName); - // Load to specified appdomain - // TODO: Insert security - //a = FreeAppDomain.Load(FileName); - //} - //catch (Exception e) - //{ - // m_log.Error("[ScriptEngine]: Error loading assembly \String.Empty + FileName + "\": " + e.ToString()); - //} - - - //m_log.Debug("Loading: " + FileName); - //foreach (Type _t in a.GetTypes()) - //{ - // m_log.Debug("Type: " + _t.ToString()); - //} - - Type t; - //try - //{ - t = a.GetType(NameSpace, true); - //} - //catch (Exception e) - //{ - // m_log.Error("[ScriptEngine]: Error initializing type \String.Empty + NameSpace + "\" from \String.Empty + FileName + "\": " + e.ToString()); - //} - - ScriptEngineInterface ret; - //try - //{ - ret = (ScriptEngineInterface) Activator.CreateInstance(t); - //} - //catch (Exception e) - //{ - // m_log.Error("[ScriptEngine]: Error initializing type \String.Empty + NameSpace + "\" from \String.Empty + FileName + "\": " + e.ToString()); - //} - - return ret; - } - } -} From 2ce8a050e4181c2f2a9ee215a400c02678d88865 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 6 Feb 2013 02:15:54 +0000 Subject: [PATCH 502/851] Remove very long unused IScriptHost and NullScriptHost --- .../Framework/Scenes/SceneObjectPart.cs | 2 +- .../Framework/Scenes/Scripting/IScriptHost.cs | 46 ---------- .../Scenes/Scripting/NullScriptHost.cs | 91 ------------------- 3 files changed, 1 insertion(+), 138 deletions(-) delete mode 100644 OpenSim/Region/Framework/Scenes/Scripting/IScriptHost.cs delete mode 100644 OpenSim/Region/Framework/Scenes/Scripting/NullScriptHost.cs diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 189d2987eb..19e6d3759a 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -116,7 +116,7 @@ namespace OpenSim.Region.Framework.Scenes #endregion Enumerations - public class SceneObjectPart : IScriptHost, ISceneEntity + public class SceneObjectPart : ISceneEntity { /// /// Denote all sides of the prim diff --git a/OpenSim/Region/Framework/Scenes/Scripting/IScriptHost.cs b/OpenSim/Region/Framework/Scenes/Scripting/IScriptHost.cs deleted file mode 100644 index f3be02842a..0000000000 --- a/OpenSim/Region/Framework/Scenes/Scripting/IScriptHost.cs +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSimulator Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using OpenMetaverse; - -namespace OpenSim.Region.Framework.Scenes.Scripting -{ - public interface IScriptHost - { - string Name { get; set; } - string Description { get; set; } - - UUID UUID { get; } - UUID OwnerID { get; } - UUID CreatorID { get; } - Vector3 AbsolutePosition { get; } - - string SitName { get; set; } - string TouchName { get; set; } - void SetText(string text, Vector3 color, double alpha); - } -} diff --git a/OpenSim/Region/Framework/Scenes/Scripting/NullScriptHost.cs b/OpenSim/Region/Framework/Scenes/Scripting/NullScriptHost.cs deleted file mode 100644 index d7198f0305..0000000000 --- a/OpenSim/Region/Framework/Scenes/Scripting/NullScriptHost.cs +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSimulator Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System; -using OpenMetaverse; -using log4net; -using System.Reflection; -using OpenSim.Framework; - -namespace OpenSim.Region.Framework.Scenes.Scripting -{ - public class NullScriptHost : IScriptHost - { - private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - - private Vector3 m_pos = new Vector3(((int)Constants.RegionSize * 0.5f), ((int)Constants.RegionSize * 0.5f), 30); - - public string Name - { - get { return "Object"; } - set { } - } - - public string SitName - { - get { return String.Empty; } - set { } - } - - public string TouchName - { - get { return String.Empty; } - set { } - } - - public string Description - { - get { return String.Empty; } - set { } - } - - public UUID UUID - { - get { return UUID.Zero; } - } - - public UUID OwnerID - { - get { return UUID.Zero; } - } - - public UUID CreatorID - { - get { return UUID.Zero; } - } - - public Vector3 AbsolutePosition - { - get { return m_pos; } - } - - public void SetText(string text, Vector3 color, double alpha) - { - m_log.Warn("Tried to SetText "+text+" on NullScriptHost"); - } - } -} From 145e38e5e9bed04d5c41880a5d508cab4603cc1d Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 6 Feb 2013 02:21:17 +0000 Subject: [PATCH 503/851] Remove long unused Scene.DumpAssetsToFile boolean. --- OpenSim/Region/Application/OpenSimBase.cs | 2 +- OpenSim/Region/Framework/Scenes/Scene.cs | 5 ----- OpenSim/Tests/Common/Helpers/SceneHelpers.cs | 2 +- OpenSim/Tests/Common/Mock/TestScene.cs | 3 +-- 4 files changed, 3 insertions(+), 9 deletions(-) diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs index f5c06df3fb..3c8e199067 100644 --- a/OpenSim/Region/Application/OpenSimBase.cs +++ b/OpenSim/Region/Application/OpenSimBase.cs @@ -714,7 +714,7 @@ namespace OpenSim return new Scene( regionInfo, circuitManager, sceneGridService, - simDataService, estateDataService, false, + simDataService, estateDataService, Config, m_version); } diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 482235c327..de3978c4db 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -720,7 +720,6 @@ namespace OpenSim.Region.Framework.Scenes public Scene(RegionInfo regInfo, AgentCircuitManager authen, SceneCommunicationService sceneGridService, ISimulationDataService simDataService, IEstateDataService estateDataService, - bool dumpAssetsToFile, IConfigSource config, string simulatorVersion) : this(regInfo) { @@ -811,8 +810,6 @@ namespace OpenSim.Region.Framework.Scenes RegisterDefaultSceneEvents(); - DumpAssetsToFile = dumpAssetsToFile; - // XXX: Don't set the public property since we don't want to activate here. This needs to be handled // better in the future. m_scripts_enabled = !RegionInfo.RegionSettings.DisableScripts; @@ -4482,8 +4479,6 @@ namespace OpenSim.Region.Framework.Scenes #region Script Engine - public bool DumpAssetsToFile; - private bool ScriptDanger(SceneObjectPart part,Vector3 pos) { ILandObject parcel = LandChannel.GetLandObject(pos.X, pos.Y); diff --git a/OpenSim/Tests/Common/Helpers/SceneHelpers.cs b/OpenSim/Tests/Common/Helpers/SceneHelpers.cs index ea3e3487f0..dc20f13555 100644 --- a/OpenSim/Tests/Common/Helpers/SceneHelpers.cs +++ b/OpenSim/Tests/Common/Helpers/SceneHelpers.cs @@ -139,7 +139,7 @@ namespace OpenSim.Tests.Common SceneCommunicationService scs = new SceneCommunicationService(); TestScene testScene = new TestScene( - regInfo, m_acm, scs, m_simDataService, m_estateDataService, false, configSource, null); + regInfo, m_acm, scs, m_simDataService, m_estateDataService, configSource, null); INonSharedRegionModule godsModule = new GodsModule(); godsModule.Initialise(new IniConfigSource()); diff --git a/OpenSim/Tests/Common/Mock/TestScene.cs b/OpenSim/Tests/Common/Mock/TestScene.cs index d4b564869b..a7e0dfbb99 100644 --- a/OpenSim/Tests/Common/Mock/TestScene.cs +++ b/OpenSim/Tests/Common/Mock/TestScene.cs @@ -41,10 +41,9 @@ namespace OpenSim.Tests.Common.Mock public TestScene( RegionInfo regInfo, AgentCircuitManager authen, SceneCommunicationService sceneGridService, ISimulationDataService simDataService, IEstateDataService estateDataService, - bool dumpAssetsToFile, IConfigSource config, string simulatorVersion) : base(regInfo, authen, sceneGridService, simDataService, estateDataService, - dumpAssetsToFile, config, simulatorVersion) + config, simulatorVersion) { } From 07a7ec4d1b7af92bf385a04f20ed208cf339bcac Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 6 Feb 2013 02:40:32 +0000 Subject: [PATCH 504/851] minor: Add explanation of MaptileStaticUUID setting in Regions.ini.example --- bin/Regions/Regions.ini.example | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/bin/Regions/Regions.ini.example b/bin/Regions/Regions.ini.example index f5282a7f80..ab3a62aea9 100644 --- a/bin/Regions/Regions.ini.example +++ b/bin/Regions/Regions.ini.example @@ -45,4 +45,8 @@ ExternalHostName = "SYSTEMIP" ; * ; RegionType = "Mainland" + +; * +; * UUID of texture to use as a maptile for this region. +; * Only set if you have disabled dynamic generation of the map tile from the region contents. ; MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" From e5beb480eaf23fa7454728724de80b2a67ded1e8 Mon Sep 17 00:00:00 2001 From: Melanie Date: Wed, 6 Feb 2013 08:03:04 +0000 Subject: [PATCH 505/851] Partial port of Avination's support for the new physics parameters. Implements the parameters as properties, the serialization and database storage (MySQL only). Implements llSetPrimitiveParams for prim physics shape and the other 4 extra params. Only the prim shape type "None" is currently functional. No support for the Viewer UI (yet), that will be ported in due course. Lots more to port, this is a large-ish changeset. --- OpenSim/Data/MySQL/MySQLSimulationData.cs | 56 +++++++---- .../MySQL/Resources/RegionStore.migrations | 13 +++ OpenSim/Framework/ExtraPhysicsData.cs | 50 ++++++++++ .../Framework/Scenes/SceneObjectPart.cs | 96 ++++++++++++++++++- .../Serialization/SceneObjectSerializer.cs | 43 +++++++++ .../Shared/Api/Implementation/LSL_Api.cs | 16 ++++ .../Shared/Api/Runtime/LSL_Constants.cs | 11 +++ 7 files changed, 264 insertions(+), 21 deletions(-) create mode 100644 OpenSim/Framework/ExtraPhysicsData.cs diff --git a/OpenSim/Data/MySQL/MySQLSimulationData.cs b/OpenSim/Data/MySQL/MySQLSimulationData.cs index c95311e6c7..2f471a0c07 100644 --- a/OpenSim/Data/MySQL/MySQLSimulationData.cs +++ b/OpenSim/Data/MySQL/MySQLSimulationData.cs @@ -52,7 +52,7 @@ namespace OpenSim.Data.MySQL private string m_connectionString; private object m_dbLock = new object(); - protected virtual Assembly Assembly + protected Assembly Assembly { get { return GetType().Assembly; } } @@ -119,8 +119,10 @@ namespace OpenSim.Data.MySQL // Eligibility check // - if ((flags & (uint)PrimFlags.Temporary) != 0) - return; + // PrimFlags.Temporary is not used in OpenSim code and cannot + // be guaranteed to always be clear. Don't check it. +// if ((flags & (uint)PrimFlags.Temporary) != 0) +// return; if ((flags & (uint)PrimFlags.TemporaryOnRez) != 0) return; @@ -135,7 +137,7 @@ namespace OpenSim.Data.MySQL foreach (SceneObjectPart prim in obj.Parts) { cmd.Parameters.Clear(); - + cmd.CommandText = "replace into prims (" + "UUID, CreationDate, " + "Name, Text, Description, " + @@ -171,8 +173,10 @@ namespace OpenSim.Data.MySQL "ParticleSystem, ClickAction, Material, " + "CollisionSound, CollisionSoundVolume, " + "PassTouches, " + - "LinkNumber, MediaURL, DynAttrs) " + - "values (?UUID, " + + "LinkNumber, MediaURL, " + + "PhysicsShapeType, Density, GravityModifier, " + + "Friction, Restitution, DynAttrs " + + ") values (" + "?UUID, " + "?CreationDate, ?Name, ?Text, " + "?Description, ?SitName, ?TouchName, " + "?ObjectFlags, ?OwnerMask, ?NextOwnerMask, " + @@ -203,15 +207,17 @@ namespace OpenSim.Data.MySQL "?SaleType, ?ColorR, ?ColorG, " + "?ColorB, ?ColorA, ?ParticleSystem, " + "?ClickAction, ?Material, ?CollisionSound, " + - "?CollisionSoundVolume, ?PassTouches, ?LinkNumber, " + - "?MediaURL, ?DynAttrs)"; - + "?CollisionSoundVolume, ?PassTouches, " + + "?LinkNumber, ?MediaURL, " + + "?PhysicsShapeType, ?Density, ?GravityModifier, " + + "?Friction, ?Restitution, ?DynAttrs)"; + FillPrimCommand(cmd, prim, obj.UUID, regionUUID); - + ExecuteNonQuery(cmd); - + cmd.Parameters.Clear(); - + cmd.CommandText = "replace into primshapes (" + "UUID, Shape, ScaleX, ScaleY, " + "ScaleZ, PCode, PathBegin, PathEnd, " + @@ -234,9 +240,9 @@ namespace OpenSim.Data.MySQL "?ProfileEnd, ?ProfileCurve, " + "?ProfileHollow, ?Texture, ?ExtraParams, " + "?State, ?Media)"; - + FillShapeCommand(cmd, prim); - + ExecuteNonQuery(cmd); } } @@ -582,7 +588,7 @@ namespace OpenSim.Data.MySQL cmd.CommandText = "insert into terrain (RegionUUID, " + "Revision, Heightfield) values (?RegionUUID, " + "1, ?Heightfield)"; - + cmd.Parameters.AddWithValue("Heightfield", SerializeTerrain(ter)); ExecuteNonQuery(cmd); @@ -741,7 +747,7 @@ namespace OpenSim.Data.MySQL { //No result, so store our default windlight profile and return it nWP.regionID = regionUUID; - StoreRegionWindlightSettings(nWP); +// StoreRegionWindlightSettings(nWP); return nWP; } else @@ -1097,7 +1103,8 @@ namespace OpenSim.Data.MySQL "?SunPosition, ?Covenant, ?CovenantChangedDateTime, ?Sandbox, " + "?SunVectorX, ?SunVectorY, ?SunVectorZ, " + "?LoadedCreationDateTime, ?LoadedCreationID, " + - "?TerrainImageID, ?TelehubObject, ?ParcelImageID) "; + "?TerrainImageID, " + + "?TelehubObject, ?ParcelImageID)"; FillRegionSettingsCommand(cmd, rs); @@ -1300,6 +1307,12 @@ namespace OpenSim.Data.MySQL else prim.DynAttrs = new DAMap(); + prim.PhysicsShapeType = (byte)Convert.ToInt32(row["PhysicsShapeType"].ToString()); + prim.Density = (float)(double)row["Density"]; + prim.GravityModifier = (float)(double)row["GravityModifier"]; + prim.Friction = (float)(double)row["Friction"]; + prim.Bounciness = (float)(double)row["Restitution"]; + return prim; } @@ -1499,7 +1512,7 @@ namespace OpenSim.Data.MySQL for (int x = 0; x < (int)Constants.RegionSize; x++) for (int y = 0; y < (int)Constants.RegionSize; y++) { - double height = val[x, y]; + double height = 20.0; if (height == 0.0) height = double.Epsilon; @@ -1646,6 +1659,12 @@ namespace OpenSim.Data.MySQL cmd.Parameters.AddWithValue("LinkNumber", prim.LinkNum); cmd.Parameters.AddWithValue("MediaURL", prim.MediaUrl); + cmd.Parameters.AddWithValue("PhysicsShapeType", prim.PhysicsShapeType); + cmd.Parameters.AddWithValue("Density", (double)prim.Density); + cmd.Parameters.AddWithValue("GravityModifier", (double)prim.GravityModifier); + cmd.Parameters.AddWithValue("Friction", (double)prim.Friction); + cmd.Parameters.AddWithValue("Restitution", (double)prim.Bounciness); + if (prim.DynAttrs.Count > 0) cmd.Parameters.AddWithValue("DynAttrs", prim.DynAttrs.ToXml()); else @@ -1728,6 +1747,7 @@ namespace OpenSim.Data.MySQL cmd.Parameters.AddWithValue("LoadedCreationDateTime", settings.LoadedCreationDateTime); cmd.Parameters.AddWithValue("LoadedCreationID", settings.LoadedCreationID); cmd.Parameters.AddWithValue("TerrainImageID", settings.TerrainImageID); + cmd.Parameters.AddWithValue("ParcelImageID", settings.ParcelImageID); cmd.Parameters.AddWithValue("TelehubObject", settings.TelehubObject); } diff --git a/OpenSim/Data/MySQL/Resources/RegionStore.migrations b/OpenSim/Data/MySQL/Resources/RegionStore.migrations index c48aec2798..48cd60b6d0 100644 --- a/OpenSim/Data/MySQL/Resources/RegionStore.migrations +++ b/OpenSim/Data/MySQL/Resources/RegionStore.migrations @@ -910,3 +910,16 @@ BEGIN; ALTER TABLE prims ADD COLUMN DynAttrs TEXT; COMMIT; + +:VERSION 47 #---------------- Extra prim params + +BEGIN; + +ALTER TABLE prims ADD COLUMN `PhysicsShapeType` tinyint(4) NOT NULL default '0'; +ALTER TABLE prims ADD COLUMN `Density` double NOT NULL default '1000'; +ALTER TABLE prims ADD COLUMN `GravityModifier` double NOT NULL default '1'; +ALTER TABLE prims ADD COLUMN `Friction` double NOT NULL default '0.6'; +ALTER TABLE prims ADD COLUMN `Restitution` double NOT NULL default '0.5'; + +COMMIT; + diff --git a/OpenSim/Framework/ExtraPhysicsData.cs b/OpenSim/Framework/ExtraPhysicsData.cs new file mode 100644 index 0000000000..9e7334f0da --- /dev/null +++ b/OpenSim/Framework/ExtraPhysicsData.cs @@ -0,0 +1,50 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using OpenMetaverse; + +namespace OpenSim.Framework +{ + public enum PhysShapeType : byte + { + prim = 0, + none = 1, + convex = 2, + + invalid = 255 // use to mark invalid data in ExtraPhysicsData + } + + public struct ExtraPhysicsData + { + public float Density; + public float GravitationModifier; + public float Friction; + public float Bounce; + public PhysShapeType PhysShapeType; + + } +} diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 19e6d3759a..55b5462e4d 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -302,6 +302,13 @@ namespace OpenSim.Region.Framework.Scenes protected Vector3 m_lastAcceleration; protected Vector3 m_lastAngularVelocity; protected int m_lastTerseSent; + + protected byte m_physicsShapeType = (byte)PhysShapeType.prim; + // TODO: Implement these + //protected float m_density = 1000.0f; // in kg/m^3 + //protected float m_gravitymod = 1.0f; + //protected float m_friction = 0.6f; // wood + //protected float m_bounce = 0.5f; // wood /// /// Stores media texture data @@ -1322,6 +1329,69 @@ namespace OpenSim.Region.Framework.Scenes set { m_collisionSoundVolume = value; } } + public byte DefaultPhysicsShapeType() + { + byte type; + + if (Shape != null && (Shape.SculptType == (byte)SculptType.Mesh)) + type = (byte)PhysShapeType.convex; + else + type = (byte)PhysShapeType.prim; + + return type; + } + + public byte PhysicsShapeType + { + get { return m_physicsShapeType; } + set + { + byte oldv = m_physicsShapeType; + + if (value >= 0 && value <= (byte)PhysShapeType.convex) + { + if (value == (byte)PhysShapeType.none && ParentGroup != null && ParentGroup.RootPart == this) + m_physicsShapeType = DefaultPhysicsShapeType(); + else + m_physicsShapeType = value; + } + else + m_physicsShapeType = DefaultPhysicsShapeType(); + + if (m_physicsShapeType != oldv && ParentGroup != null) + { + if (m_physicsShapeType == (byte)PhysShapeType.none) + { + if (PhysActor != null) + { + Velocity = new Vector3(0, 0, 0); + Acceleration = new Vector3(0, 0, 0); + if (ParentGroup.RootPart == this) + AngularVelocity = new Vector3(0, 0, 0); + ParentGroup.Scene.RemovePhysicalPrim(1); + RemoveFromPhysics(); + } + } + else if (PhysActor == null) + { + ApplyPhysics((uint)Flags, VolumeDetectActive); + } + else + { + // TODO: Update physics actor + } + + if (ParentGroup != null) + ParentGroup.HasGroupChanged = true; + } + } + } + + public float Density { get; set; } + public float GravityModifier { get; set; } + public float Friction { get; set; } + public float Bounciness { get; set; } + #endregion Public Properties with only Get private uint ApplyMask(uint val, bool set, uint mask) @@ -1523,9 +1593,8 @@ namespace OpenSim.Region.Framework.Scenes if (!ParentGroup.Scene.CollidablePrims) return; -// m_log.DebugFormat( -// "[SCENE OBJECT PART]: Applying physics to {0} {1}, m_physicalPrim {2}", -// Name, LocalId, UUID, m_physicalPrim); + if (PhysicsShapeType == (byte)PhysShapeType.none) + return; bool isPhysical = (rootObjectFlags & (uint) PrimFlags.Physics) != 0; bool isPhantom = (rootObjectFlags & (uint) PrimFlags.Phantom) != 0; @@ -3878,6 +3947,26 @@ namespace OpenSim.Region.Framework.Scenes } } + public void UpdateExtraPhysics(ExtraPhysicsData physdata) + { + if (physdata.PhysShapeType == PhysShapeType.invalid || ParentGroup == null) + return; + + if (PhysicsShapeType != (byte)physdata.PhysShapeType) + { + PhysicsShapeType = (byte)physdata.PhysShapeType; + + } + + if(Density != physdata.Density) + Density = physdata.Density; + if(GravityModifier != physdata.GravitationModifier) + GravityModifier = physdata.GravitationModifier; + if(Friction != physdata.Friction) + Friction = physdata.Friction; + if(Bounciness != physdata.Bounce) + Bounciness = physdata.Bounce; + } /// /// Update the flags on this prim. This covers properties such as phantom, physics and temporary. /// @@ -3949,6 +4038,7 @@ namespace OpenSim.Region.Framework.Scenes if (SetPhantom || ParentGroup.IsAttachment + || PhysicsShapeType == (byte)PhysShapeType.none || (Shape.PathCurve == (byte)Extrusion.Flexible)) // note: this may have been changed above in the case of joints { AddFlag(PrimFlags.Phantom); diff --git a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs index 4a2a47e685..78229fee5c 100644 --- a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs +++ b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs @@ -367,6 +367,13 @@ namespace OpenSim.Region.Framework.Scenes.Serialization m_SOPXmlProcessors.Add("PayPrice2", ProcessPayPrice2); m_SOPXmlProcessors.Add("PayPrice3", ProcessPayPrice3); m_SOPXmlProcessors.Add("PayPrice4", ProcessPayPrice4); + + m_SOPXmlProcessors.Add("PhysicsShapeType", ProcessPhysicsShapeType); + m_SOPXmlProcessors.Add("Density", ProcessDensity); + m_SOPXmlProcessors.Add("Friction", ProcessFriction); + m_SOPXmlProcessors.Add("Bounce", ProcessBounce); + m_SOPXmlProcessors.Add("GravityModifier", ProcessGravityModifier); + #endregion #region TaskInventoryXmlProcessors initialization @@ -594,6 +601,31 @@ namespace OpenSim.Region.Framework.Scenes.Serialization obj.ClickAction = (byte)reader.ReadElementContentAsInt("ClickAction", String.Empty); } + private static void ProcessPhysicsShapeType(SceneObjectPart obj, XmlTextReader reader) + { + obj.PhysicsShapeType = (byte)reader.ReadElementContentAsInt("PhysicsShapeType", String.Empty); + } + + private static void ProcessDensity(SceneObjectPart obj, XmlTextReader reader) + { + obj.Density = reader.ReadElementContentAsFloat("Density", String.Empty); + } + + private static void ProcessFriction(SceneObjectPart obj, XmlTextReader reader) + { + obj.Friction = reader.ReadElementContentAsFloat("Friction", String.Empty); + } + + private static void ProcessBounce(SceneObjectPart obj, XmlTextReader reader) + { + obj.Bounciness = reader.ReadElementContentAsFloat("Bounce", String.Empty); + } + + private static void ProcessGravityModifier(SceneObjectPart obj, XmlTextReader reader) + { + obj.GravityModifier = reader.ReadElementContentAsFloat("GravityModifier", String.Empty); + } + private static void ProcessShape(SceneObjectPart obj, XmlTextReader reader) { List errorNodeNames; @@ -1257,6 +1289,17 @@ namespace OpenSim.Region.Framework.Scenes.Serialization writer.WriteElementString("PayPrice3", sop.PayPrice[3].ToString()); writer.WriteElementString("PayPrice4", sop.PayPrice[4].ToString()); + if(sop.PhysicsShapeType != sop.DefaultPhysicsShapeType()) + writer.WriteElementString("PhysicsShapeType", sop.PhysicsShapeType.ToString().ToLower()); + if (sop.Density != 1000.0f) + writer.WriteElementString("Density", sop.Density.ToString().ToLower()); + if (sop.Friction != 0.6f) + writer.WriteElementString("Friction", sop.Friction.ToString().ToLower()); + if (sop.Bounciness != 0.5f) + writer.WriteElementString("Bounce", sop.Bounciness.ToString().ToLower()); + if (sop.GravityModifier != 1.0f) + writer.WriteElementString("GravityModifier", sop.GravityModifier.ToString().ToLower()); + writer.WriteEndElement(); } diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 4fa3c6077f..64052ae94c 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -7594,6 +7594,22 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api part.ScriptSetPhysicsStatus(physics); break; + case (int)ScriptBaseClass.PRIM_PHYSICS_SHAPE_TYPE: + if (remain < 1) + return null; + + int shape_type = rules.GetLSLIntegerItem(idx++); + + ExtraPhysicsData physdata = new ExtraPhysicsData(); + physdata.Density = part.Density; + physdata.Bounce = part.Bounciness; + physdata.GravitationModifier = part.GravityModifier; + physdata.PhysShapeType = (PhysShapeType)shape_type; + + part.UpdateExtraPhysics(physdata); + + break; + case (int)ScriptBaseClass.PRIM_TEMP_ON_REZ: if (remain < 1) return null; diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs index 9bf1a64cf9..bd66ba3700 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs @@ -661,6 +661,17 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase public const int PRIM_MEDIA_PERM_GROUP = 2; public const int PRIM_MEDIA_PERM_ANYONE = 4; + public const int PRIM_PHYSICS_SHAPE_TYPE = 30; + public const int PRIM_PHYSICS_SHAPE_PRIM = 0; + public const int PRIM_PHYSICS_SHAPE_CONVEX = 2; + public const int PRIM_PHYSICS_SHAPE_NONE = 1; + + public const int PRIM_PHYSICS_MATERIAL = 31; + public const int DENSITY = 1; + public const int FRICTION = 2; + public const int RESTITUTION = 4; + public const int GRAVITY_MULTIPLIER = 8; + // extra constants for llSetPrimMediaParams public static readonly LSLInteger LSL_STATUS_OK = new LSLInteger(0); public static readonly LSLInteger LSL_STATUS_MALFORMED_PARAMS = new LSLInteger(1000); From 054a9928a0a393e6e880c0a716714b9f009f6ede Mon Sep 17 00:00:00 2001 From: Melanie Date: Wed, 6 Feb 2013 18:13:02 +0000 Subject: [PATCH 506/851] Fix a bug I brought in by manually editing a diff file. Terrain is if cource not always at 20m. --- OpenSim/Data/MySQL/MySQLSimulationData.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Data/MySQL/MySQLSimulationData.cs b/OpenSim/Data/MySQL/MySQLSimulationData.cs index 2f471a0c07..41174f4137 100644 --- a/OpenSim/Data/MySQL/MySQLSimulationData.cs +++ b/OpenSim/Data/MySQL/MySQLSimulationData.cs @@ -1512,7 +1512,7 @@ namespace OpenSim.Data.MySQL for (int x = 0; x < (int)Constants.RegionSize; x++) for (int y = 0; y < (int)Constants.RegionSize; y++) { - double height = 20.0; + double height = val[x, y]; if (height == 0.0) height = double.Epsilon; From 67d92e4e168bf0861024e3be5cd069c77c9144f6 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Wed, 6 Feb 2013 11:49:10 -0800 Subject: [PATCH 507/851] BulletSim: remove an exception which occurs if a physics mesh asset is not found. --- OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs b/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs index f59b9d973b..fe0f984144 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs @@ -895,9 +895,11 @@ public sealed class BSShapeCollection : IDisposable // If this mesh has an underlying asset and we have not failed getting it before, fetch the asset if (prim.BaseShape.SculptEntry && !prim.LastAssetBuildFailed && prim.BaseShape.SculptTexture != OMV.UUID.Zero) { - prim.LastAssetBuildFailed = true; - BSPhysObject xprim = prim; DetailLog("{0},BSShapeCollection.VerifyMeshCreated,fetchAsset,lastFailed={1}", prim.LocalID, prim.LastAssetBuildFailed); + // This will prevent looping through this code as we keep trying to get the failed shape + prim.LastAssetBuildFailed = true; + + BSPhysObject xprim = prim; Util.FireAndForget(delegate { RequestAssetDelegate assetProvider = PhysicsScene.RequestAssetMethod; @@ -908,7 +910,7 @@ public sealed class BSShapeCollection : IDisposable { bool assetFound = false; // DEBUG DEBUG string mismatchIDs = String.Empty; // DEBUG DEBUG - if (yprim.BaseShape.SculptEntry) + if (asset != null && yprim.BaseShape.SculptEntry) { if (yprim.BaseShape.SculptTexture.ToString() == asset.ID) { From 0baa2590bef8ad4e0a78a7c88d55acd0848e0068 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Wed, 6 Feb 2013 15:52:28 -0800 Subject: [PATCH 508/851] BulletSim: check for completely degenerate meshes (ones with all triangles having zero width) and output an error rather than throwing and exception. --- .../BulletSPlugin/BSShapeCollection.cs | 28 +++++++++++++------ 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs b/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs index fe0f984144..15747c9020 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs @@ -608,7 +608,7 @@ public sealed class BSShapeCollection : IDisposable // Since we're recreating new, get rid of the reference to the previous shape DereferenceShape(prim.PhysShape, shapeCallback); - newShape = CreatePhysicalMesh(prim.PhysObjectName, newMeshKey, prim.BaseShape, prim.Size, lod); + newShape = CreatePhysicalMesh(prim, newMeshKey, prim.BaseShape, prim.Size, lod); // Take evasive action if the mesh was not constructed. newShape = VerifyMeshCreated(newShape, prim); @@ -619,7 +619,7 @@ public sealed class BSShapeCollection : IDisposable return true; // 'true' means a new shape has been added to this prim } - private BulletShape CreatePhysicalMesh(string objName, System.UInt64 newMeshKey, PrimitiveBaseShape pbs, OMV.Vector3 size, float lod) + private BulletShape CreatePhysicalMesh(BSPhysObject prim, System.UInt64 newMeshKey, PrimitiveBaseShape pbs, OMV.Vector3 size, float lod) { BulletShape newShape = new BulletShape(); @@ -631,7 +631,7 @@ public sealed class BSShapeCollection : IDisposable } else { - IMesh meshData = PhysicsScene.mesher.CreateMesh(objName, pbs, size, lod, + IMesh meshData = PhysicsScene.mesher.CreateMesh(prim.PhysObjectName, pbs, size, lod, false, // say it is not physical so a bounding box is not built false // do not cache the mesh and do not use previously built versions ); @@ -651,18 +651,20 @@ public sealed class BSShapeCollection : IDisposable realIndicesIndex = 0; for (int tri = 0; tri < indices.Length; tri += 3) { + // Compute displacements into vertex array for each vertex of the triangle int v1 = indices[tri + 0] * 3; int v2 = indices[tri + 1] * 3; int v3 = indices[tri + 2] * 3; - if (!((verticesAsFloats[v1 + 0] == verticesAsFloats[v2 + 0] + // Check to see if any two of the vertices are the same + if (!( ( verticesAsFloats[v1 + 0] == verticesAsFloats[v2 + 0] && verticesAsFloats[v1 + 1] == verticesAsFloats[v2 + 1] && verticesAsFloats[v1 + 2] == verticesAsFloats[v2 + 2]) - || (verticesAsFloats[v2 + 0] == verticesAsFloats[v3 + 0] + || ( verticesAsFloats[v2 + 0] == verticesAsFloats[v3 + 0] && verticesAsFloats[v2 + 1] == verticesAsFloats[v3 + 1] && verticesAsFloats[v2 + 2] == verticesAsFloats[v3 + 2]) - || (verticesAsFloats[v1 + 0] == verticesAsFloats[v3 + 0] + || ( verticesAsFloats[v1 + 0] == verticesAsFloats[v3 + 0] && verticesAsFloats[v1 + 1] == verticesAsFloats[v3 + 1] - && verticesAsFloats[v1 + 2] == verticesAsFloats[v3 + 2])) + && verticesAsFloats[v1 + 2] == verticesAsFloats[v3 + 2]) ) ) { // None of the vertices of the triangles are the same. This is a good triangle; @@ -676,8 +678,16 @@ public sealed class BSShapeCollection : IDisposable DetailLog("{0},BSShapeCollection.CreatePhysicalMesh,origTri={1},realTri={2},numVerts={3}", BSScene.DetailLogZero, indices.Length / 3, realIndicesIndex / 3, verticesAsFloats.Length / 3); - newShape = PhysicsScene.PE.CreateMeshShape(PhysicsScene.World, - realIndicesIndex, indices, verticesAsFloats.Length/3, verticesAsFloats); + if (realIndicesIndex != 0) + { + newShape = PhysicsScene.PE.CreateMeshShape(PhysicsScene.World, + realIndicesIndex, indices, verticesAsFloats.Length / 3, verticesAsFloats); + } + else + { + PhysicsScene.Logger.ErrorFormat("{0} All mesh triangles degenerate. Prim {1} at {2} in {3}", + LogHeader, prim.PhysObjectName, prim.RawPosition, PhysicsScene.Name); + } } } newShape.shapeKey = newMeshKey; From d2ece00e68c070bf9ffbda3f76e4eccf3c33545f Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Wed, 6 Feb 2013 15:59:59 -0800 Subject: [PATCH 509/851] BulletSim: set removing zero width triangles in meshes to be enabled by default. This should fix the invisible barrier in sculptie doorways bug. --- OpenSim/Region/Physics/BulletSPlugin/BSParam.cs | 2 +- OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs index 306928ad33..965c3823b8 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs @@ -220,7 +220,7 @@ public static class BSParam (s) => { return BSParam.NumericBool(ShouldUseHullsForPhysicalObjects); }, (s,p,l,v) => { ShouldUseHullsForPhysicalObjects = BSParam.BoolNumeric(v); } ), new ParameterDefn("ShouldRemoveZeroWidthTriangles", "If true, remove degenerate triangles from meshes", - ConfigurationParameters.numericFalse, + ConfigurationParameters.numericTrue, (s,cf,p,v) => { ShouldRemoveZeroWidthTriangles = cf.GetBoolean(p, BSParam.BoolNumeric(v)); }, (s) => { return BSParam.NumericBool(ShouldRemoveZeroWidthTriangles); }, (s,p,l,v) => { ShouldRemoveZeroWidthTriangles = BSParam.BoolNumeric(v); } ), diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs index 823402ba03..ec25aa927e 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs @@ -75,6 +75,7 @@ public abstract class BSPhysObject : PhysicsActor PhysicsScene = parentScene; LocalID = localID; PhysObjectName = name; + Name = name; // PhysicsActor also has the name of the object. Someday consolidate. TypeName = typeName; // We don't have any physical representation yet. From e2c1e37b077bad2d1b6d0ac5277c3f9001d819dd Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 7 Feb 2013 00:15:50 +0000 Subject: [PATCH 510/851] Add key length validation to DAMap.Add(KeyValuePair kvp) to match Add(string key, OSDMap store) --- OpenSim/Framework/DAMap.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OpenSim/Framework/DAMap.cs b/OpenSim/Framework/DAMap.cs index 291c8b8385..dd9c61b0d5 100644 --- a/OpenSim/Framework/DAMap.cs +++ b/OpenSim/Framework/DAMap.cs @@ -188,7 +188,8 @@ namespace OpenSim.Framework } public void Add(KeyValuePair kvp) - { + { + ValidateKey(kvp.Key); lock (this) m_map.Add(kvp.Key, kvp.Value); } From c8c5d74c22056deb0b079d0651c005d610626f66 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 7 Feb 2013 00:22:39 +0000 Subject: [PATCH 511/851] minor: add method doc to DAMap.ValidateKey() --- OpenSim/Framework/DAMap.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/OpenSim/Framework/DAMap.cs b/OpenSim/Framework/DAMap.cs index dd9c61b0d5..24e0895620 100644 --- a/OpenSim/Framework/DAMap.cs +++ b/OpenSim/Framework/DAMap.cs @@ -168,6 +168,10 @@ namespace OpenSim.Framework } } + /// + /// Validate the key used for storing separate data stores. + /// + /// private static void ValidateKey(string key) { if (key.Length < MIN_STORE_NAME_LENGTH) From df37738ce7702774c4d3ff1f3835bfe87e0f1a5e Mon Sep 17 00:00:00 2001 From: Dan Lake Date: Wed, 6 Feb 2013 16:42:55 -0800 Subject: [PATCH 512/851] WebStats will now use actual logfile as specified in OpenSim.exe.config rather than hardcoded ./OpenSim.log. This allows for rotating logs and other file appender types --- OpenSim/Framework/Util.cs | 16 +++++++++++++++- OpenSim/Region/UserStatistics/WebStatsModule.cs | 2 +- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs index 9b1e97d237..d9148fb7c1 100644 --- a/OpenSim/Framework/Util.cs +++ b/OpenSim/Framework/Util.cs @@ -45,6 +45,7 @@ using System.Text.RegularExpressions; using System.Xml; using System.Threading; using log4net; +using log4net.Appender; using Nini.Config; using Nwc.XmlRpc; using OpenMetaverse; @@ -816,9 +817,22 @@ namespace OpenSim.Framework return "."; } + public static string logFile() + { + foreach (IAppender appender in LogManager.GetRepository().GetAppenders()) + { + if (appender is FileAppender) + { + return ((FileAppender)appender).File; + } + } + + return "./OpenSim.log"; + } + public static string logDir() { - return "."; + return Path.GetDirectoryName(logFile()); } // From: http://coercedcode.blogspot.com/2008/03/c-generate-unique-filenames-within.html diff --git a/OpenSim/Region/UserStatistics/WebStatsModule.cs b/OpenSim/Region/UserStatistics/WebStatsModule.cs index 438ef485ab..b98b762764 100644 --- a/OpenSim/Region/UserStatistics/WebStatsModule.cs +++ b/OpenSim/Region/UserStatistics/WebStatsModule.cs @@ -420,7 +420,7 @@ namespace OpenSim.Region.UserStatistics Encoding encoding = Encoding.ASCII; int sizeOfChar = encoding.GetByteCount("\n"); byte[] buffer = encoding.GetBytes("\n"); - string logfile = Util.logDir() + "/" + "OpenSim.log"; + string logfile = Util.logFile(); FileStream fs = new FileStream(logfile, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); Int64 tokenCount = 0; Int64 endPosition = fs.Length / sizeOfChar; From 4d1758985f64fbdbfd142684c1a4ac82c9a4b97a Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 7 Feb 2013 00:54:09 +0000 Subject: [PATCH 513/851] Make json store tests operate on a single thread to ensure we don't run into any race related test failures in the future. --- .../Tests/JsonStoreScriptModuleTests.cs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index 8042a93730..34422b4338 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -54,6 +54,22 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests private MockScriptEngine m_engine; private ScriptModuleCommsModule m_smcm; + [TestFixtureSetUp] + public void FixtureInit() + { + // Don't allow tests to be bamboozled by asynchronous events. Execute everything on the same thread. + Util.FireAndForgetMethod = FireAndForgetMethod.RegressionTest; + } + + [TestFixtureTearDown] + public void TearDown() + { + // We must set this back afterwards, otherwise later tests will fail since they're expecting multiple + // threads. Possibly, later tests should be rewritten so none of them require async stuff (which regression + // tests really shouldn't). + Util.FireAndForgetMethod = Util.DefaultFireAndForgetMethod; + } + [SetUp] public override void SetUp() { From e17392acbb46e1e48e169069a822f8b814762214 Mon Sep 17 00:00:00 2001 From: Mic Bowman Date: Wed, 6 Feb 2013 17:29:17 -0800 Subject: [PATCH 514/851] Enables script access to the per object dynamic attributes through the JsonStore script functions. Adds JsonAttachObjectStore to associate a store identifier with an object (scripts can only access the store in their host object, this could be extended but isn't necessary for now). Note this opens a method to the DAMap OSDMap. This will be removed later, but greatly simplifies the code for now. The JsonStore and these scripts are disabled by default. --- OpenSim/Framework/DAMap.cs | 8 +++ .../Framework/Interfaces/IJsonStoreModule.cs | 1 + .../Scripting/JsonStore/JsonStore.cs | 64 +++++++++++++++---- .../Scripting/JsonStore/JsonStoreModule.cs | 28 ++++++++ .../JsonStore/JsonStoreScriptModule.cs | 16 +++++ 5 files changed, 104 insertions(+), 13 deletions(-) diff --git a/OpenSim/Framework/DAMap.cs b/OpenSim/Framework/DAMap.cs index 291c8b8385..7d7738a2a0 100644 --- a/OpenSim/Framework/DAMap.cs +++ b/OpenSim/Framework/DAMap.cs @@ -73,6 +73,14 @@ namespace OpenSim.Framework m_map = (OSDMap)OSDParser.DeserializeLLSDXml(rawXml); } + // WARNING: this is temporary for experimentation only, it will be removed!!!! + public OSDMap TopLevelMap + { + get { return m_map; } + set { m_map = value; } + } + + public void ReadXml(XmlReader reader) { ReadXml(reader.ReadInnerXml()); diff --git a/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs b/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs index 0bb45673cc..cc7885a7a0 100644 --- a/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs @@ -35,6 +35,7 @@ namespace OpenSim.Region.Framework.Interfaces public interface IJsonStoreModule { + bool AttachObjectStore(UUID objectID); bool CreateStore(string value, ref UUID result); bool DestroyStore(UUID storeID); bool TestStore(UUID storeID); diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs index 0b7b31bd32..751e463a49 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs @@ -49,7 +49,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - private OSD m_ValueStore; + protected virtual OSD ValueStore { get; set; } protected class TakeValueCallbackClass { @@ -108,17 +108,18 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore /// /// // ----------------------------------------------------------------- - public JsonStore() : this("") {} - - public JsonStore(string value) + public JsonStore() { m_TakeStore = new List(); m_ReadStore = new List(); - + } + + public JsonStore(string value) + { if (String.IsNullOrEmpty(value)) - m_ValueStore = new OSDMap(); + ValueStore = new OSDMap(); else - m_ValueStore = OSDParser.DeserializeJson(value); + ValueStore = OSDParser.DeserializeJson(value); } // ----------------------------------------------------------------- @@ -129,7 +130,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore public bool TestPath(string expr, bool useJson) { Stack path = ParsePathExpression(expr); - OSD result = ProcessPathExpression(m_ValueStore,path); + OSD result = ProcessPathExpression(ValueStore,path); if (result == null) return false; @@ -148,7 +149,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore public bool GetValue(string expr, out string value, bool useJson) { Stack path = ParsePathExpression(expr); - OSD result = ProcessPathExpression(m_ValueStore,path); + OSD result = ProcessPathExpression(ValueStore,path); return ConvertOutputValue(result,out value,useJson); } @@ -184,7 +185,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore Stack path = ParsePathExpression(expr); string pexpr = PathExpressionToKey(path); - OSD result = ProcessPathExpression(m_ValueStore,path); + OSD result = ProcessPathExpression(ValueStore,path); if (result == null) { m_TakeStore.Add(new TakeValueCallbackClass(pexpr,useJson,cback)); @@ -215,7 +216,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore Stack path = ParsePathExpression(expr); string pexpr = PathExpressionToKey(path); - OSD result = ProcessPathExpression(m_ValueStore,path); + OSD result = ProcessPathExpression(ValueStore,path); if (result == null) { m_ReadStore.Add(new TakeValueCallbackClass(pexpr,useJson,cback)); @@ -245,7 +246,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore Stack path = ParsePathExpression(expr); if (path.Count == 0) { - m_ValueStore = ovalue; + ValueStore = ovalue; return true; } @@ -254,7 +255,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore if (pexpr != "") pexpr += "."; - OSD result = ProcessPathExpression(m_ValueStore,path); + OSD result = ProcessPathExpression(ValueStore,path); if (result == null) return false; @@ -522,4 +523,41 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore return pkey; } } + + public class JsonObjectStore : JsonStore + { + private static readonly ILog m_log = + LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + + private Scene m_scene; + private UUID m_objectID; + + protected override OSD ValueStore + { + get + { + SceneObjectPart sop = m_scene.GetSceneObjectPart(m_objectID); + if (sop == null) + { + // This is bad + return null; + } + + return sop.DynAttrs.TopLevelMap; + } + + // cannot set the top level + set + { + m_log.InfoFormat("[JsonStore] cannot set top level value in object store"); + } + } + + public JsonObjectStore(Scene scene, UUID oid) : base() + { + m_scene = scene; + m_objectID = oid; + } + } + } diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs index b9b3ebca21..a36ef4257d 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs @@ -170,6 +170,34 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore #region ScriptInvocationInteface + // ----------------------------------------------------------------- + /// + /// + /// + // ----------------------------------------------------------------- + public bool AttachObjectStore(UUID objectID) + { + if (! m_enabled) return false; + + SceneObjectPart sop = m_scene.GetSceneObjectPart(objectID); + if (sop == null) + { + m_log.InfoFormat("[JsonStore] unable to attach to unknown object; {0}",objectID); + return false; + } + + lock (m_JsonValueStore) + { + if (m_JsonValueStore.ContainsKey(objectID)) + return true; + + JsonStore map = new JsonObjectStore(m_scene,objectID); + m_JsonValueStore.Add(objectID,map); + } + + return true; + } + // ----------------------------------------------------------------- /// /// diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs index ec880a7220..48b4a9f302 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs @@ -169,6 +169,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore m_comms.RegisterScriptInvocations(this); // m_comms.RegisterScriptInvocation(this, "JsonCreateStore"); + // m_comms.RegisterScriptInvocation(this, "JsonAttachObjectStore"); // m_comms.RegisterScriptInvocation(this, "JsonDestroyStore"); // m_comms.RegisterScriptInvocation(this, "JsonTestStore"); @@ -214,6 +215,21 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore #endregion #region ScriptInvocationInteface + // ----------------------------------------------------------------- + /// + /// + /// + // ----------------------------------------------------------------- + [ScriptInvocation] + public UUID JsonAttachObjectStore(UUID hostID, UUID scriptID) + { + UUID uuid = UUID.Zero; + if (! m_store.AttachObjectStore(hostID)) + GenerateRuntimeError("Failed to create Json store"); + + return hostID; + } + // ----------------------------------------------------------------- /// /// From 3657a08844731e5a24eeda3195c23f417b4570a5 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 7 Feb 2013 02:19:26 +0000 Subject: [PATCH 515/851] Add TestJsonWriteReadNotecard() regression test --- .../Tests/JsonStoreScriptModuleTests.cs | 45 ++++++++++++++++++- OpenSim/Tests/Common/Mock/MockScriptEngine.cs | 2 +- 2 files changed, 45 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index 34422b4338..98b562400e 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -101,7 +101,12 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests private object InvokeOp(string name, params object[] args) { - return m_smcm.InvokeOperation(UUID.Zero, UUID.Zero, name, args); + return InvokeOpOnHost(name, UUID.Zero, args); + } + + private object InvokeOpOnHost(string name, UUID hostId, params object[] args) + { + return m_smcm.InvokeOperation(hostId, UUID.Zero, name, args); } [Test] @@ -209,6 +214,44 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests Assert.That(value, Is.EqualTo("World")); } + /// + /// Test for reading and writing json to a notecard + /// + /// + /// TODO: Really needs to test correct receipt of the link_message event. Could do this by directly fetching + /// it via the MockScriptEngine or perhaps by a dummy script instance. + /// + [Test] + public void TestJsonWriteReadNotecard() + { + TestHelpers.InMethod(); + TestHelpers.EnableLogging(); + + string notecardName = "nc1"; + + SceneObjectGroup so = SceneHelpers.CreateSceneObject(1, TestHelpers.ParseTail(0x1)); + m_scene.AddSceneObject(so); + + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ 'Hello':'World' }"); + + // Write notecard + UUID writeNotecardRequestId = (UUID)InvokeOpOnHost("JsonWriteNotecard", so.UUID, storeId, "/", notecardName); + Assert.That(writeNotecardRequestId, Is.Not.EqualTo(UUID.Zero)); + + TaskInventoryItem nc1Item = so.RootPart.Inventory.GetInventoryItem(notecardName); + Assert.That(nc1Item, Is.Not.Null); + + // TODO: Should probably independently check the contents. + + // Read notecard + UUID receivingStoreId = (UUID)InvokeOp("JsonCreateStore", "{ 'Hello':'World' }"); + UUID readNotecardRequestId = (UUID)InvokeOpOnHost("JsonReadNotecard", so.UUID, receivingStoreId, "/", notecardName); + Assert.That(readNotecardRequestId, Is.Not.EqualTo(UUID.Zero)); + + string value = (string)InvokeOp("JsonGetValue", storeId, "Hello"); + Assert.That(value, Is.EqualTo("World")); + } + public object DummyTestMethod(object o1, object o2, object o3, object o4, object o5) { return null; } } } \ No newline at end of file diff --git a/OpenSim/Tests/Common/Mock/MockScriptEngine.cs b/OpenSim/Tests/Common/Mock/MockScriptEngine.cs index 51f2712071..78bab5b8fe 100644 --- a/OpenSim/Tests/Common/Mock/MockScriptEngine.cs +++ b/OpenSim/Tests/Common/Mock/MockScriptEngine.cs @@ -85,7 +85,7 @@ namespace OpenSim.Tests.Common public bool PostScriptEvent(UUID itemID, string name, object[] args) { - throw new System.NotImplementedException (); + return false; } public bool PostObjectEvent(UUID itemID, string name, object[] args) From 6504e3d4cee1573115e8a83c06227a297a32f093 Mon Sep 17 00:00:00 2001 From: Melanie Date: Thu, 7 Feb 2013 03:30:02 +0000 Subject: [PATCH 516/851] Rename "Bounciness" to "Restitution" --- OpenSim/Data/MySQL/MySQLSimulationData.cs | 4 ++-- OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 6 +++--- .../Framework/Scenes/Serialization/SceneObjectSerializer.cs | 6 +++--- .../ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/OpenSim/Data/MySQL/MySQLSimulationData.cs b/OpenSim/Data/MySQL/MySQLSimulationData.cs index 41174f4137..1b02b4f780 100644 --- a/OpenSim/Data/MySQL/MySQLSimulationData.cs +++ b/OpenSim/Data/MySQL/MySQLSimulationData.cs @@ -1311,7 +1311,7 @@ namespace OpenSim.Data.MySQL prim.Density = (float)(double)row["Density"]; prim.GravityModifier = (float)(double)row["GravityModifier"]; prim.Friction = (float)(double)row["Friction"]; - prim.Bounciness = (float)(double)row["Restitution"]; + prim.Restitution = (float)(double)row["Restitution"]; return prim; } @@ -1663,7 +1663,7 @@ namespace OpenSim.Data.MySQL cmd.Parameters.AddWithValue("Density", (double)prim.Density); cmd.Parameters.AddWithValue("GravityModifier", (double)prim.GravityModifier); cmd.Parameters.AddWithValue("Friction", (double)prim.Friction); - cmd.Parameters.AddWithValue("Restitution", (double)prim.Bounciness); + cmd.Parameters.AddWithValue("Restitution", (double)prim.Restitution); if (prim.DynAttrs.Count > 0) cmd.Parameters.AddWithValue("DynAttrs", prim.DynAttrs.ToXml()); diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 55b5462e4d..b00f388520 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -1390,7 +1390,7 @@ namespace OpenSim.Region.Framework.Scenes public float Density { get; set; } public float GravityModifier { get; set; } public float Friction { get; set; } - public float Bounciness { get; set; } + public float Restitution { get; set; } #endregion Public Properties with only Get @@ -3964,8 +3964,8 @@ namespace OpenSim.Region.Framework.Scenes GravityModifier = physdata.GravitationModifier; if(Friction != physdata.Friction) Friction = physdata.Friction; - if(Bounciness != physdata.Bounce) - Bounciness = physdata.Bounce; + if(Restitution != physdata.Bounce) + Restitution = physdata.Bounce; } /// /// Update the flags on this prim. This covers properties such as phantom, physics and temporary. diff --git a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs index 78229fee5c..39420a6bf0 100644 --- a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs +++ b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs @@ -618,7 +618,7 @@ namespace OpenSim.Region.Framework.Scenes.Serialization private static void ProcessBounce(SceneObjectPart obj, XmlTextReader reader) { - obj.Bounciness = reader.ReadElementContentAsFloat("Bounce", String.Empty); + obj.Restitution = reader.ReadElementContentAsFloat("Bounce", String.Empty); } private static void ProcessGravityModifier(SceneObjectPart obj, XmlTextReader reader) @@ -1295,8 +1295,8 @@ namespace OpenSim.Region.Framework.Scenes.Serialization writer.WriteElementString("Density", sop.Density.ToString().ToLower()); if (sop.Friction != 0.6f) writer.WriteElementString("Friction", sop.Friction.ToString().ToLower()); - if (sop.Bounciness != 0.5f) - writer.WriteElementString("Bounce", sop.Bounciness.ToString().ToLower()); + if (sop.Restitution != 0.5f) + writer.WriteElementString("Bounce", sop.Restitution.ToString().ToLower()); if (sop.GravityModifier != 1.0f) writer.WriteElementString("GravityModifier", sop.GravityModifier.ToString().ToLower()); diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 64052ae94c..be6ac0a746 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -7602,7 +7602,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api ExtraPhysicsData physdata = new ExtraPhysicsData(); physdata.Density = part.Density; - physdata.Bounce = part.Bounciness; + physdata.Bounce = part.Restitution; physdata.GravitationModifier = part.GravityModifier; physdata.PhysShapeType = (PhysShapeType)shape_type; From 6aa876a83b08390ab057eb012fd2c730010f79d8 Mon Sep 17 00:00:00 2001 From: Melanie Date: Thu, 7 Feb 2013 03:40:48 +0000 Subject: [PATCH 517/851] Rename Bounciness to Restitution --- OpenSim/Data/MySQL/MySQLSimulationData.cs | 4 ++-- .../ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs | 2 +- OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 2 +- OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 6 +++--- .../Framework/Scenes/Serialization/SceneObjectSerializer.cs | 6 +++--- .../ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/OpenSim/Data/MySQL/MySQLSimulationData.cs b/OpenSim/Data/MySQL/MySQLSimulationData.cs index 3fab27afba..30ae7a9a9d 100644 --- a/OpenSim/Data/MySQL/MySQLSimulationData.cs +++ b/OpenSim/Data/MySQL/MySQLSimulationData.cs @@ -1345,7 +1345,7 @@ namespace OpenSim.Data.MySQL prim.Density = (float)(double)row["Density"]; prim.GravityModifier = (float)(double)row["GravityModifier"]; prim.Friction = (float)(double)row["Friction"]; - prim.Bounciness = (float)(double)row["Restitution"]; + prim.Restitution = (float)(double)row["Restitution"]; SOPVehicle vehicle = null; @@ -1731,7 +1731,7 @@ namespace OpenSim.Data.MySQL cmd.Parameters.AddWithValue("Density", (double)prim.Density); cmd.Parameters.AddWithValue("GravityModifier", (double)prim.GravityModifier); cmd.Parameters.AddWithValue("Friction", (double)prim.Friction); - cmd.Parameters.AddWithValue("Restitution", (double)prim.Bounciness); + cmd.Parameters.AddWithValue("Restitution", (double)prim.Restitution); if (prim.VehicleParams != null) cmd.Parameters.AddWithValue("Vehicle", prim.VehicleParams.ToXml2()); diff --git a/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs b/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs index 83347e2c28..d7d4708528 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs @@ -1316,7 +1316,7 @@ namespace OpenSim.Region.ClientStack.Linden object_data["PhysicsShapeType"] = obj.PhysicsShapeType; object_data["Density"] = obj.Density; object_data["Friction"] = obj.Friction; - object_data["Restitution"] = obj.Bounciness; + object_data["Restitution"] = obj.Restitution; object_data["GravityMultiplier"] = obj.GravityModifier; resp[uuid.ToString()] = object_data; diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 0a39ded106..f1fe6e1f5b 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs @@ -2654,7 +2654,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP byte physshapetype = part.PhysicsShapeType; float density = part.Density; float friction = part.Friction; - float bounce = part.Bounciness; + float bounce = part.Restitution; float gravmod = part.GravityModifier; eq.partPhysicsProperties(localid, physshapetype, density, friction, bounce, gravmod,AgentId); diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 05b69c1b41..415a82bb0d 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -1736,7 +1736,7 @@ namespace OpenSim.Region.Framework.Scenes } } - public float Bounciness + public float Restitution { get { return m_bounce; } set @@ -4494,8 +4494,8 @@ namespace OpenSim.Region.Framework.Scenes GravityModifier = physdata.GravitationModifier; if(Friction != physdata.Friction) Friction = physdata.Friction; - if(Bounciness != physdata.Bounce) - Bounciness = physdata.Bounce; + if(Restitution != physdata.Bounce) + Restitution = physdata.Bounce; } /// /// Update the flags on this prim. This covers properties such as phantom, physics and temporary. diff --git a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs index 5c37c078be..ce4fb4012e 100644 --- a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs +++ b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs @@ -634,7 +634,7 @@ namespace OpenSim.Region.Framework.Scenes.Serialization private static void ProcessBounce(SceneObjectPart obj, XmlTextReader reader) { - obj.Bounciness = reader.ReadElementContentAsFloat("Bounce", String.Empty); + obj.Restitution = reader.ReadElementContentAsFloat("Bounce", String.Empty); } private static void ProcessGravityModifier(SceneObjectPart obj, XmlTextReader reader) @@ -1377,8 +1377,8 @@ namespace OpenSim.Region.Framework.Scenes.Serialization writer.WriteElementString("Density", sop.Density.ToString().ToLower()); if (sop.Friction != 0.6f) writer.WriteElementString("Friction", sop.Friction.ToString().ToLower()); - if (sop.Bounciness != 0.5f) - writer.WriteElementString("Bounce", sop.Bounciness.ToString().ToLower()); + if (sop.Restitution != 0.5f) + writer.WriteElementString("Bounce", sop.Restitution.ToString().ToLower()); if (sop.GravityModifier != 1.0f) writer.WriteElementString("GravityModifier", sop.GravityModifier.ToString().ToLower()); WriteVector(writer, "CameraEyeOffset", sop.GetCameraEyeOffset()); diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 8be39a759c..19214eca39 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -7801,7 +7801,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api physdata.PhysShapeType = (PhysShapeType)part.PhysicsShapeType; physdata.Density = part.Density; physdata.Friction = part.Friction; - physdata.Bounce = part.Bounciness; + physdata.Bounce = part.Restitution; physdata.GravitationModifier = part.GravityModifier; if ((material_bits & (int)ScriptBaseClass.DENSITY) != 0) @@ -8194,7 +8194,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api ExtraPhysicsData physdata = new ExtraPhysicsData(); physdata.Density = part.Density; - physdata.Bounce = part.Bounciness; + physdata.Bounce = part.Restitution; physdata.GravitationModifier = part.GravityModifier; physdata.PhysShapeType = (PhysShapeType)shape_type; From 4867a7cbbf7302845fff031db5eae6fbf93bf26b Mon Sep 17 00:00:00 2001 From: teravus Date: Thu, 7 Feb 2013 10:26:48 -0500 Subject: [PATCH 518/851] This is the final commit that enables the Websocket handler --- .../Servers/HttpServer/BaseHttpServer.cs | 12 +- .../HttpServer/WebsocketServerHandler.cs | 1085 +++++++++++++++++ bin/HttpServer_OpenSim.dll | Bin 116224 -> 116224 bytes bin/HttpServer_OpenSim.pdb | Bin 302592 -> 343552 bytes 4 files changed, 1095 insertions(+), 2 deletions(-) create mode 100644 OpenSim/Framework/Servers/HttpServer/WebsocketServerHandler.cs diff --git a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs index dcfe99a070..70c531c105 100644 --- a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs +++ b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs @@ -54,7 +54,15 @@ namespace OpenSim.Framework.Servers.HttpServer private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); private HttpServerLogWriter httpserverlog = new HttpServerLogWriter(); - public delegate void WebSocketRequestDelegate(string servicepath, WebSocketHTTPServerHandler handler); + + /// + /// This is a pending websocket request before it got an sucessful upgrade response. + /// The consumer must call handler.HandshakeAndUpgrade() to signal to the handler to + /// start the connection and optionally provide an origin authentication method. + /// + /// + /// + public delegate void WebSocketRequestDelegate(string servicepath, WebSocketHttpServerHandler handler); /// /// Gets or sets the debug level. @@ -440,7 +448,7 @@ namespace OpenSim.Framework.Servers.HttpServer } if (dWebSocketRequestDelegate != null) { - dWebSocketRequestDelegate(req.Url.AbsolutePath, new WebSocketHTTPServerHandler(req, context, 16384)); + dWebSocketRequestDelegate(req.Url.AbsolutePath, new WebSocketHttpServerHandler(req, context, 8192)); return; } diff --git a/OpenSim/Framework/Servers/HttpServer/WebsocketServerHandler.cs b/OpenSim/Framework/Servers/HttpServer/WebsocketServerHandler.cs new file mode 100644 index 0000000000..cfb1605001 --- /dev/null +++ b/OpenSim/Framework/Servers/HttpServer/WebsocketServerHandler.cs @@ -0,0 +1,1085 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using System.IO; +using System.Security.Cryptography; +using System.Text; +using HttpServer; + +namespace OpenSim.Framework.Servers.HttpServer +{ + // Sealed class. If you're going to unseal it, implement IDisposable. + /// + /// This class implements websockets. It grabs the network context from C#Webserver and utilizes it directly as a tcp streaming service + /// + public sealed class WebSocketHttpServerHandler : BaseRequestHandler + { + + private class WebSocketState + { + public List ReceivedBytes; + public int ExpectedBytes; + public WebsocketFrameHeader Header; + public bool FrameComplete; + public WebSocketFrame ContinuationFrame; + } + + /// + /// Binary Data will trigger this event + /// + public event DataDelegate OnData; + + /// + /// Textual Data will trigger this event + /// + public event TextDelegate OnText; + + /// + /// A ping request form the other side will trigger this event. + /// This class responds to the ping automatically. You shouldn't send a pong. + /// it's informational. + /// + public event PingDelegate OnPing; + + /// + /// This is a response to a ping you sent. + /// + public event PongDelegate OnPong; + + /// + /// This is a regular HTTP Request... This may be removed in the future. + /// + public event RegularHttpRequestDelegate OnRegularHttpRequest; + + /// + /// When the upgrade from a HTTP request to a Websocket is completed, this will be fired + /// + public event UpgradeCompletedDelegate OnUpgradeCompleted; + + /// + /// If the upgrade failed, this will be fired + /// + public event UpgradeFailedDelegate OnUpgradeFailed; + + /// + /// When the websocket is closed, this will be fired. + /// + public event CloseDelegate OnClose; + + /// + /// Set this delegate to allow your module to validate the origin of the + /// Websocket request. Primary line of defense against cross site scripting + /// + public ValidateHandshake HandshakeValidateMethodOverride = null; + + private OSHttpRequest _request; + private HTTPNetworkContext _networkContext; + private IHttpClientContext _clientContext; + + private int _pingtime = 0; + private byte[] _buffer; + private int _bufferPosition; + private int _bufferLength; + private bool _closing; + private bool _upgraded; + + private const string HandshakeAcceptText = + "HTTP/1.1 101 Switching Protocols\r\n" + + "upgrade: websocket\r\n" + + "Connection: Upgrade\r\n" + + "sec-websocket-accept: {0}\r\n\r\n";// + + //"{1}"; + + private const string HandshakeDeclineText = + "HTTP/1.1 {0} {1}\r\n" + + "Connection: close\r\n\r\n"; + + /// + /// Mysterious constant defined in RFC6455 to append to the client provided security key + /// + private const string WebsocketHandshakeAcceptHashConstant = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"; + + public WebSocketHttpServerHandler(OSHttpRequest preq, IHttpClientContext pContext, int bufferlen) + : base(preq.HttpMethod, preq.Url.OriginalString) + { + _request = preq; + _networkContext = pContext.GiveMeTheNetworkStreamIKnowWhatImDoing(); + _clientContext = pContext; + _bufferLength = bufferlen; + _buffer = new byte[_bufferLength]; + } + + // Sealed class implments destructor and an internal dispose method. complies with C# unmanaged resource best practices. + ~WebSocketHttpServerHandler() + { + Dispose(); + + } + + /// + /// Sets the length of the stream buffer + /// + /// Byte length. + public void SetChunksize(int pChunk) + { + if (!_upgraded) + { + _buffer = new byte[pChunk]; + } + else + { + throw new InvalidOperationException("You must set the chunksize before the connection is upgraded"); + } + } + + /// + /// This is the famous nagle. + /// + public bool NoDelay_TCP_Nagle + { + get + { + if (_networkContext != null && _networkContext.Socket != null) + { + return _networkContext.Socket.NoDelay; + } + else + { + throw new InvalidOperationException("The socket has been shutdown"); + } + } + set + { + if (_networkContext != null && _networkContext.Socket != null) + _networkContext.Socket.NoDelay = value; + else + { + throw new InvalidOperationException("The socket has been shutdown"); + } + } + } + + /// + /// This triggers the websocket to start the upgrade process... + /// This is a Generalized Networking 'common sense' helper method. Some people expect to call Start() instead + /// of the more context appropriate HandshakeAndUpgrade() + /// + public void Start() + { + HandshakeAndUpgrade(); + } + + /// + /// This triggers the websocket start the upgrade process + /// + public void HandshakeAndUpgrade() + { + string webOrigin = string.Empty; + string websocketKey = string.Empty; + string acceptKey = string.Empty; + string accepthost = string.Empty; + if (!string.IsNullOrEmpty(_request.Headers["origin"])) + webOrigin = _request.Headers["origin"]; + + if (!string.IsNullOrEmpty(_request.Headers["sec-websocket-key"])) + websocketKey = _request.Headers["sec-websocket-key"]; + + if (!string.IsNullOrEmpty(_request.Headers["host"])) + accepthost = _request.Headers["host"]; + + if (string.IsNullOrEmpty(_request.Headers["upgrade"])) + { + FailUpgrade(OSHttpStatusCode.ClientErrorBadRequest, "no upgrade request submitted"); + } + + string connectionheader = _request.Headers["upgrade"]; + if (connectionheader.ToLower() != "websocket") + { + FailUpgrade(OSHttpStatusCode.ClientErrorBadRequest, "no connection upgrade request submitted"); + } + + // If the object consumer provided a method to validate the origin, we should call it and give the client a success or fail. + // If not.. we should accept any. The assumption here is that there would be no Websocket handlers registered in baseHTTPServer unless + // Something asked for it... + if (HandshakeValidateMethodOverride != null) + { + if (HandshakeValidateMethodOverride(webOrigin, websocketKey, accepthost)) + { + acceptKey = GenerateAcceptKey(websocketKey); + string rawaccept = string.Format(HandshakeAcceptText, acceptKey); + SendUpgradeSuccess(rawaccept); + + } + else + { + FailUpgrade(OSHttpStatusCode.ClientErrorForbidden, "Origin Validation Failed"); + } + } + else + { + acceptKey = GenerateAcceptKey(websocketKey); + string rawaccept = string.Format(HandshakeAcceptText, acceptKey); + SendUpgradeSuccess(rawaccept); + } + } + + /// + /// Generates a handshake response key string based on the client's + /// provided key to prove to the client that we're allowing the Websocket + /// upgrade of our own free will and we were not coerced into doing it. + /// + /// Client provided security key + /// + private static string GenerateAcceptKey(string key) + { + if (string.IsNullOrEmpty(key)) + return string.Empty; + + string acceptkey = key + WebsocketHandshakeAcceptHashConstant; + + SHA1 hashobj = SHA1.Create(); + string ret = Convert.ToBase64String(hashobj.ComputeHash(Encoding.UTF8.GetBytes(acceptkey))); + hashobj.Clear(); + + return ret; + } + + /// + /// Informs the otherside that we accepted their upgrade request + /// + /// The HTTP 1.1 101 response that says Yay \o/ + private void SendUpgradeSuccess(string pHandshakeResponse) + { + // Create a new websocket state so we can keep track of data in between network reads. + WebSocketState socketState = new WebSocketState() { ReceivedBytes = new List(), Header = WebsocketFrameHeader.HeaderDefault(), FrameComplete = true}; + + byte[] bhandshakeResponse = Encoding.UTF8.GetBytes(pHandshakeResponse); + try + { + + // Begin reading the TCP stream before writing the Upgrade success message to the other side of the stream. + _networkContext.Stream.BeginRead(_buffer, 0, _bufferLength, OnReceive, socketState); + + // Write the upgrade handshake success message + _networkContext.Stream.Write(bhandshakeResponse, 0, bhandshakeResponse.Length); + _networkContext.Stream.Flush(); + _upgraded = true; + UpgradeCompletedDelegate d = OnUpgradeCompleted; + if (d != null) + d(this, new UpgradeCompletedEventArgs()); + } + catch (IOException fail) + { + Close(string.Empty); + } + catch (ObjectDisposedException fail) + { + Close(string.Empty); + } + + } + + /// + /// The server has decided not to allow the upgrade to a websocket for some reason. The Http 1.1 response that says Nay >:( + /// + /// HTTP Status reflecting the reason why + /// Textual reason for the upgrade fail + private void FailUpgrade(OSHttpStatusCode pCode, string pMessage ) + { + string handshakeResponse = string.Format(HandshakeDeclineText, (int)pCode, pMessage.Replace("\n", string.Empty).Replace("\r", string.Empty)); + byte[] bhandshakeResponse = Encoding.UTF8.GetBytes(handshakeResponse); + _networkContext.Stream.Write(bhandshakeResponse, 0, bhandshakeResponse.Length); + _networkContext.Stream.Flush(); + _networkContext.Stream.Dispose(); + + UpgradeFailedDelegate d = OnUpgradeFailed; + if (d != null) + d(this,new UpgradeFailedEventArgs()); + } + + + /// + /// This is our ugly Async OnReceive event handler. + /// This chunks the input stream based on the length of the provided buffer and processes out + /// as many frames as it can. It then moves the unprocessed data to the beginning of the buffer. + /// + /// Our Async State from beginread + private void OnReceive(IAsyncResult ar) + { + WebSocketState _socketState = ar.AsyncState as WebSocketState; + try + { + int bytesRead = _networkContext.Stream.EndRead(ar); + if (bytesRead == 0) + { + // Do Disconnect + _networkContext.Stream.Dispose(); + _networkContext = null; + return; + } + _bufferPosition += bytesRead; + + if (_bufferPosition > _bufferLength) + { + // Message too big for chunksize.. not sure how this happened... + //Close(string.Empty); + } + + int offset = 0; + bool headerread = true; + int headerforwardposition = 0; + while (headerread && offset < bytesRead) + { + if (_socketState.FrameComplete) + { + WebsocketFrameHeader pheader = WebsocketFrameHeader.ZeroHeader; + + headerread = WebSocketReader.TryReadHeader(_buffer, offset, _bufferPosition - offset, out pheader, + out headerforwardposition); + offset += headerforwardposition; + + if (headerread) + { + _socketState.FrameComplete = false; + + if (pheader.PayloadLen > 0) + { + if ((int) pheader.PayloadLen > _bufferPosition - offset) + { + byte[] writebytes = new byte[_bufferPosition - offset]; + + Buffer.BlockCopy(_buffer, offset, writebytes, 0, (int) _bufferPosition - offset); + _socketState.ExpectedBytes = (int) pheader.PayloadLen; + _socketState.ReceivedBytes.AddRange(writebytes); + _socketState.Header = pheader; // We need to add the header so that we can unmask it + offset += (int) _bufferPosition - offset; + } + else + { + byte[] writebytes = new byte[pheader.PayloadLen]; + Buffer.BlockCopy(_buffer, offset, writebytes, 0, (int) pheader.PayloadLen); + WebSocketReader.Mask(pheader.Mask, writebytes); + pheader.IsMasked = false; + _socketState.FrameComplete = true; + _socketState.ReceivedBytes.AddRange(writebytes); + _socketState.Header = pheader; + offset += (int) pheader.PayloadLen; + } + } + else + { + pheader.Mask = 0; + _socketState.FrameComplete = true; + _socketState.Header = pheader; + } + + + + if (_socketState.FrameComplete) + { + ProcessFrame(_socketState); + _socketState.Header.SetDefault(); + _socketState.ReceivedBytes.Clear(); + _socketState.ExpectedBytes = 0; + + } + + } + } + else + { + WebsocketFrameHeader frameHeader = _socketState.Header; + int bytesleft = _socketState.ExpectedBytes - _socketState.ReceivedBytes.Count; + + if (bytesleft > _bufferPosition) + { + byte[] writebytes = new byte[_bufferPosition]; + + Buffer.BlockCopy(_buffer, offset, writebytes, 0, (int) _bufferPosition); + _socketState.ReceivedBytes.AddRange(writebytes); + _socketState.Header = frameHeader; // We need to add the header so that we can unmask it + offset += (int) _bufferPosition; + } + else + { + byte[] writebytes = new byte[_bufferPosition]; + Buffer.BlockCopy(_buffer, offset, writebytes, 0, (int) _bufferPosition); + _socketState.FrameComplete = true; + _socketState.ReceivedBytes.AddRange(writebytes); + _socketState.Header = frameHeader; + offset += (int) _bufferPosition; + } + if (_socketState.FrameComplete) + { + ProcessFrame(_socketState); + _socketState.Header.SetDefault(); + _socketState.ReceivedBytes.Clear(); + _socketState.ExpectedBytes = 0; + // do some processing + } + + } + } + if (offset > 0) + { + // If the buffer is maxed out.. we can just move the cursor. Nothing to move to the beginning. + if (offset <_buffer.Length) + Buffer.BlockCopy(_buffer, offset, _buffer, 0, _bufferPosition - offset); + _bufferPosition -= offset; + } + if (_networkContext.Stream != null && _networkContext.Stream.CanRead && !_closing) + { + _networkContext.Stream.BeginRead(_buffer, _bufferPosition, _bufferLength - _bufferPosition, OnReceive, + _socketState); + } + else + { + // We can't read the stream anymore... + } + + } + catch (IOException fail) + { + Close(string.Empty); + } + catch (ObjectDisposedException fail) + { + Close(string.Empty); + } + } + + /// + /// Sends a string to the other side + /// + /// the string message that is to be sent + public void SendMessage(string message) + { + byte[] messagedata = Encoding.UTF8.GetBytes(message); + WebSocketFrame textMessageFrame = new WebSocketFrame() { Header = WebsocketFrameHeader.HeaderDefault(), WebSocketPayload = messagedata }; + textMessageFrame.Header.Opcode = WebSocketReader.OpCode.Text; + textMessageFrame.Header.IsEnd = true; + SendSocket(textMessageFrame.ToBytes()); + + } + + public void SendData(byte[] data) + { + WebSocketFrame dataMessageFrame = new WebSocketFrame() { Header = WebsocketFrameHeader.HeaderDefault(), WebSocketPayload = data}; + dataMessageFrame.Header.IsEnd = true; + dataMessageFrame.Header.Opcode = WebSocketReader.OpCode.Binary; + SendSocket(dataMessageFrame.ToBytes()); + + } + + /// + /// Writes raw bytes to the websocket. Unframed data will cause disconnection + /// + /// + private void SendSocket(byte[] data) + { + if (!_closing) + { + try + { + + _networkContext.Stream.Write(data, 0, data.Length); + } + catch (IOException) + { + + } + } + } + + /// + /// Sends a Ping check to the other side. The other side SHOULD respond as soon as possible with a pong frame. This interleaves with incoming fragmented frames. + /// + public void SendPingCheck() + { + WebSocketFrame pingFrame = new WebSocketFrame() { Header = WebsocketFrameHeader.HeaderDefault(), WebSocketPayload = new byte[0] }; + pingFrame.Header.Opcode = WebSocketReader.OpCode.Ping; + pingFrame.Header.IsEnd = true; + _pingtime = Util.EnvironmentTickCount(); + SendSocket(pingFrame.ToBytes()); + } + + /// + /// Closes the websocket connection. Sends a close message to the other side if it hasn't already done so. + /// + /// + public void Close(string message) + { + if (_networkContext.Stream != null) + { + if (_networkContext.Stream.CanWrite) + { + byte[] messagedata = Encoding.UTF8.GetBytes(message); + WebSocketFrame closeResponseFrame = new WebSocketFrame() + { + Header = WebsocketFrameHeader.HeaderDefault(), + WebSocketPayload = messagedata + }; + closeResponseFrame.Header.Opcode = WebSocketReader.OpCode.Close; + closeResponseFrame.Header.PayloadLen = (ulong) messagedata.Length; + closeResponseFrame.Header.IsEnd = true; + SendSocket(closeResponseFrame.ToBytes()); + } + } + CloseDelegate closeD = OnClose; + if (closeD != null) + { + closeD(this, new CloseEventArgs()); + } + + _closing = true; + } + + /// + /// Processes a websocket frame and triggers consumer events + /// + /// We need to modify the websocket state here depending on the frame + private void ProcessFrame(WebSocketState psocketState) + { + if (psocketState.Header.IsMasked) + { + byte[] unmask = psocketState.ReceivedBytes.ToArray(); + WebSocketReader.Mask(psocketState.Header.Mask, unmask); + psocketState.ReceivedBytes = new List(unmask); + } + + switch (psocketState.Header.Opcode) + { + case WebSocketReader.OpCode.Ping: + PingDelegate pingD = OnPing; + if (pingD != null) + { + pingD(this, new PingEventArgs()); + } + + WebSocketFrame pongFrame = new WebSocketFrame(){Header = WebsocketFrameHeader.HeaderDefault(),WebSocketPayload = new byte[0]}; + pongFrame.Header.Opcode = WebSocketReader.OpCode.Pong; + pongFrame.Header.IsEnd = true; + SendSocket(pongFrame.ToBytes()); + break; + case WebSocketReader.OpCode.Pong: + + PongDelegate pongD = OnPong; + if (pongD != null) + { + pongD(this, new PongEventArgs(){PingResponseMS = Util.EnvironmentTickCountSubtract(Util.EnvironmentTickCount(),_pingtime)}); + } + break; + case WebSocketReader.OpCode.Binary: + if (!psocketState.Header.IsEnd) // Not done, so we need to store this and wait for the end frame. + { + psocketState.ContinuationFrame = new WebSocketFrame + { + Header = psocketState.Header, + WebSocketPayload = + psocketState.ReceivedBytes.ToArray() + }; + } + else + { + // Send Done Event! + DataDelegate dataD = OnData; + if (dataD != null) + { + dataD(this,new WebsocketDataEventArgs(){Data = psocketState.ReceivedBytes.ToArray()}); + } + } + break; + case WebSocketReader.OpCode.Text: + if (!psocketState.Header.IsEnd) // Not done, so we need to store this and wait for the end frame. + { + psocketState.ContinuationFrame = new WebSocketFrame + { + Header = psocketState.Header, + WebSocketPayload = + psocketState.ReceivedBytes.ToArray() + }; + } + else + { + TextDelegate textD = OnText; + if (textD != null) + { + textD(this, new WebsocketTextEventArgs() { Data = Encoding.UTF8.GetString(psocketState.ReceivedBytes.ToArray()) }); + } + + // Send Done Event! + } + break; + case WebSocketReader.OpCode.Continue: // Continuation. Multiple frames worth of data for one message. Only valid when not using Control Opcodes + //Console.WriteLine("currhead " + psocketState.Header.IsEnd); + //Console.WriteLine("Continuation! " + psocketState.ContinuationFrame.Header.IsEnd); + byte[] combineddata = new byte[psocketState.ReceivedBytes.Count+psocketState.ContinuationFrame.WebSocketPayload.Length]; + byte[] newdata = psocketState.ReceivedBytes.ToArray(); + Buffer.BlockCopy(psocketState.ContinuationFrame.WebSocketPayload, 0, combineddata, 0, psocketState.ContinuationFrame.WebSocketPayload.Length); + Buffer.BlockCopy(newdata, 0, combineddata, + psocketState.ContinuationFrame.WebSocketPayload.Length, newdata.Length); + psocketState.ContinuationFrame.WebSocketPayload = combineddata; + psocketState.Header.PayloadLen = (ulong)combineddata.Length; + if (psocketState.Header.IsEnd) + { + if (psocketState.ContinuationFrame.Header.Opcode == WebSocketReader.OpCode.Text) + { + // Send Done event + TextDelegate textD = OnText; + if (textD != null) + { + textD(this, new WebsocketTextEventArgs() { Data = Encoding.UTF8.GetString(combineddata) }); + } + } + else if (psocketState.ContinuationFrame.Header.Opcode == WebSocketReader.OpCode.Binary) + { + // Send Done event + DataDelegate dataD = OnData; + if (dataD != null) + { + dataD(this, new WebsocketDataEventArgs() { Data = combineddata }); + } + } + else + { + // protocol violation + } + psocketState.ContinuationFrame = null; + } + break; + case WebSocketReader.OpCode.Close: + Close(string.Empty); + + break; + + } + psocketState.Header.SetDefault(); + psocketState.ReceivedBytes.Clear(); + psocketState.ExpectedBytes = 0; + } + public void Dispose() + { + if (_networkContext != null && _networkContext.Stream != null) + { + if (_networkContext.Stream.CanWrite) + _networkContext.Stream.Flush(); + _networkContext.Stream.Close(); + _networkContext.Stream.Dispose(); + _networkContext.Stream = null; + } + + if (_request != null && _request.InputStream != null) + { + _request.InputStream.Close(); + _request.InputStream.Dispose(); + _request = null; + } + + if (_clientContext != null) + { + _clientContext.Close(); + _clientContext = null; + } + } + } + + /// + /// Reads a byte stream and returns Websocket frames. + /// + public class WebSocketReader + { + /// + /// Bit to determine if the frame read on the stream is the last frame in a sequence of fragmented frames + /// + private const byte EndBit = 0x80; + + /// + /// These are the Frame Opcodes + /// + public enum OpCode + { + // Data Opcodes + Continue = 0x0, + Text = 0x1, + Binary = 0x2, + + // Control flow Opcodes + Close = 0x8, + Ping = 0x9, + Pong = 0xA + } + + /// + /// Masks and Unmasks data using the frame mask. Mask is applied per octal + /// Note: Frames from clients MUST be masked + /// Note: Frames from servers MUST NOT be masked + /// + /// Int representing 32 bytes of mask data. Mask is applied per octal + /// + public static void Mask(int pMask, byte[] pBuffer) + { + byte[] maskKey = BitConverter.GetBytes(pMask); + int currentMaskIndex = 0; + for (int i = 0; i < pBuffer.Length; i++) + { + pBuffer[i] = (byte)(pBuffer[i] ^ maskKey[currentMaskIndex]); + if (currentMaskIndex == 3) + { + currentMaskIndex = 0; + } + else + { + currentMaskIndex++; + + } + + } + } + + /// + /// Attempts to read a header off the provided buffer. Returns true, exports a WebSocketFrameheader, + /// and an int to move the buffer forward when it reads a header. False when it can't read a header + /// + /// Bytes read from the stream + /// Starting place in the stream to begin trying to read from + /// Lenth in the stream to try and read from. Provided for cases where the + /// buffer's length is larger then the data in it + /// Outputs the read WebSocket frame header + /// Informs the calling stream to move the buffer forward + /// True if it got a header, False if it didn't get a header + public static bool TryReadHeader(byte[] pBuffer, int pOffset, int length, out WebsocketFrameHeader oHeader, + out int moveBuffer) + { + oHeader = WebsocketFrameHeader.ZeroHeader; + int minumheadersize = 2; + if (length > pBuffer.Length - pOffset) + throw new ArgumentOutOfRangeException("The Length specified was larger the byte array supplied"); + if (length < minumheadersize) + { + moveBuffer = 0; + return false; + } + + byte nibble1 = (byte)(pBuffer[pOffset] & 0xF0); //FIN/RSV1/RSV2/RSV3 + byte nibble2 = (byte)(pBuffer[pOffset] & 0x0F); // Opcode block + + oHeader = new WebsocketFrameHeader(); + oHeader.SetDefault(); + + if ((nibble1 & WebSocketReader.EndBit) == WebSocketReader.EndBit) + { + oHeader.IsEnd = true; + } + else + { + oHeader.IsEnd = false; + } + //Opcode + oHeader.Opcode = (WebSocketReader.OpCode)nibble2; + //Mask + oHeader.IsMasked = Convert.ToBoolean((pBuffer[pOffset + 1] & 0x80) >> 7); + + // Payload length + oHeader.PayloadLen = (byte)(pBuffer[pOffset + 1] & 0x7F); + + int index = 2; // LargerPayload length starts at byte 3 + + switch (oHeader.PayloadLen) + { + case 126: + minumheadersize += 2; + if (length < minumheadersize) + { + moveBuffer = 0; + return false; + } + Array.Reverse(pBuffer, pOffset + index, 2); // two bytes + oHeader.PayloadLen = BitConverter.ToUInt16(pBuffer, pOffset + index); + index += 2; + break; + case 127: // we got more this is a bigger frame + // 8 bytes - uint64 - most significant bit 0 network byte order + minumheadersize += 8; + if (length < minumheadersize) + { + moveBuffer = 0; + return false; + } + Array.Reverse(pBuffer, pOffset + index, 8); + oHeader.PayloadLen = BitConverter.ToUInt64(pBuffer, pOffset + index); + index += 8; + break; + + } + //oHeader.PayloadLeft = oHeader.PayloadLen; // Start the count in case it's chunked over the network. This is different then frame fragmentation + if (oHeader.IsMasked) + { + minumheadersize += 4; + if (length < minumheadersize) + { + moveBuffer = 0; + return false; + } + oHeader.Mask = BitConverter.ToInt32(pBuffer, pOffset + index); + index += 4; + } + moveBuffer = index; + return true; + + } + } + + /// + /// RFC6455 Websocket Frame + /// + public class WebSocketFrame + { + /* + * RFC6455 +nib 0 1 2 3 4 5 6 7 +byt 0 1 2 3 +dec 0 1 2 3 + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + +-+-+-+-+-------+-+-------------+-------------------------------+ + |F|R|R|R| opcode|M| Payload len | Extended payload length | + |I|S|S|S| (4) |A| (7) | (16/64) + + |N|V|V|V| |S| | (if payload len==126/127) | + | |1|2|3| |K| | + + +-+-+-+-+-------+-+-------------+ - - - - - - - - - - - - - - - + + | Extended payload length continued, if payload len == 127 | + + - - - - - - - - - - - - - - - +-------------------------------+ + | |Masking-key, if MASK set to 1 | + +-------------------------------+-------------------------------+ + | Masking-key (continued) | Payload Data | + +-------------------------------- - - - - - - - - - - - - - - - + + : Payload Data continued ... : + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + | Payload Data continued ... | + +---------------------------------------------------------------+ + + * When reading these, the frames are possibly fragmented and interleaved with control frames + * the fragmented frames are not interleaved with data frames. Just control frames + */ + public static readonly WebSocketFrame DefaultFrame = new WebSocketFrame(){Header = new WebsocketFrameHeader(),WebSocketPayload = new byte[0]}; + public WebsocketFrameHeader Header; + public byte[] WebSocketPayload; + + public byte[] ToBytes() + { + Header.PayloadLen = (ulong)WebSocketPayload.Length; + return Header.ToBytes(WebSocketPayload); + } + + } + + public struct WebsocketFrameHeader + { + //public byte CurrentMaskIndex; + /// + /// The last frame in a sequence of fragmented frames or the one and only frame for this message. + /// + public bool IsEnd; + + /// + /// Returns whether the payload data is masked or not. Data from Clients MUST be masked, Data from Servers MUST NOT be masked + /// + public bool IsMasked; + + /// + /// A set of cryptologically sound random bytes XoR-ed against the payload octally. Looped + /// + public int Mask; + /* +byt 0 1 2 3 + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + +---------------+---------------+---------------+---------------+ + | Octal 1 | Octal 2 | Octal 3 | Octal 4 | + +---------------+---------------+---------------+---------------+ +*/ + + + public WebSocketReader.OpCode Opcode; + + public UInt64 PayloadLen; + //public UInt64 PayloadLeft; + // Payload is X + Y + //public UInt64 ExtensionDataLength; + //public UInt64 ApplicationDataLength; + public static readonly WebsocketFrameHeader ZeroHeader = WebsocketFrameHeader.HeaderDefault(); + + public void SetDefault() + { + + //CurrentMaskIndex = 0; + IsEnd = true; + IsMasked = true; + Mask = 0; + Opcode = WebSocketReader.OpCode.Close; + // PayloadLeft = 0; + PayloadLen = 0; + // ExtensionDataLength = 0; + // ApplicationDataLength = 0; + + } + + /// + /// Returns a byte array representing the Frame header + /// + /// This is the frame data payload. The header describes the size of the payload. + /// If payload is null, a Zero sized payload is assumed + /// Returns a byte array representing the frame header + public byte[] ToBytes(byte[] payload) + { + List result = new List(); + + // Squeeze in our opcode and our ending bit. + result.Add((byte)((byte)Opcode | (IsEnd?0x80:0x00) )); + + // Again with the three different byte interpretations of size.. + + //bytesize + if (PayloadLen <= 125) + { + result.Add((byte) PayloadLen); + } //Uint16 + else if (PayloadLen <= ushort.MaxValue) + { + result.Add(126); + byte[] payloadLengthByte = BitConverter.GetBytes(Convert.ToUInt16(PayloadLen)); + Array.Reverse(payloadLengthByte); + result.AddRange(payloadLengthByte); + } //UInt64 + else + { + result.Add(127); + byte[] payloadLengthByte = BitConverter.GetBytes(PayloadLen); + Array.Reverse(payloadLengthByte); + result.AddRange(payloadLengthByte); + } + + // Only add a payload if it's not null + if (payload != null) + { + result.AddRange(payload); + } + return result.ToArray(); + } + + /// + /// A Helper method to define the defaults + /// + /// + + public static WebsocketFrameHeader HeaderDefault() + { + return new WebsocketFrameHeader + { + //CurrentMaskIndex = 0, + IsEnd = false, + IsMasked = true, + Mask = 0, + Opcode = WebSocketReader.OpCode.Close, + //PayloadLeft = 0, + PayloadLen = 0, + // ExtensionDataLength = 0, + // ApplicationDataLength = 0 + }; + } + } + + public delegate void DataDelegate(object sender, WebsocketDataEventArgs data); + + public delegate void TextDelegate(object sender, WebsocketTextEventArgs text); + + public delegate void PingDelegate(object sender, PingEventArgs pingdata); + + public delegate void PongDelegate(object sender, PongEventArgs pongdata); + + public delegate void RegularHttpRequestDelegate(object sender, RegularHttpRequestEvnetArgs request); + + public delegate void UpgradeCompletedDelegate(object sender, UpgradeCompletedEventArgs completeddata); + + public delegate void UpgradeFailedDelegate(object sender, UpgradeFailedEventArgs faileddata); + + public delegate void CloseDelegate(object sender, CloseEventArgs closedata); + + public delegate bool ValidateHandshake(string pWebOrigin, string pWebSocketKey, string pHost); + + + public class WebsocketDataEventArgs : EventArgs + { + public byte[] Data; + } + + public class WebsocketTextEventArgs : EventArgs + { + public string Data; + } + + public class PingEventArgs : EventArgs + { + /// + /// The ping event can arbitrarily contain data + /// + public byte[] Data; + } + + public class PongEventArgs : EventArgs + { + /// + /// The pong event can arbitrarily contain data + /// + public byte[] Data; + + public int PingResponseMS; + + } + + public class RegularHttpRequestEvnetArgs : EventArgs + { + + } + + public class UpgradeCompletedEventArgs : EventArgs + { + + } + + public class UpgradeFailedEventArgs : EventArgs + { + + } + + public class CloseEventArgs : EventArgs + { + + } + + +} diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index 9cd1e0857b42badaad81e63a72ebb2c26effeb8a..fd7ad742d03a28238308f402e729fdaa007443e2 100755 GIT binary patch delta 4156 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 diff --git a/bin/HttpServer_OpenSim.pdb b/bin/HttpServer_OpenSim.pdb index d20a0c5074c5c0c5d35a409c4667a0e275481e51..f56e891d4c4e1e674ee26e75c59ec4c5bc7ebbe7 100644 GIT binary patch delta 14884 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 x_JFnc+TK(Bl4>fH6vvHTYMP>+M Date: Thu, 7 Feb 2013 12:19:54 -0500 Subject: [PATCH 519/851] * missing example module.. Oops. --- .../WebSocketEchoTest/WebSocketEchoModule.cs | 174 ++++++++++++++++++ 1 file changed, 174 insertions(+) create mode 100644 OpenSim/Region/OptionalModules/Example/WebSocketEchoTest/WebSocketEchoModule.cs diff --git a/OpenSim/Region/OptionalModules/Example/WebSocketEchoTest/WebSocketEchoModule.cs b/OpenSim/Region/OptionalModules/Example/WebSocketEchoTest/WebSocketEchoModule.cs new file mode 100644 index 0000000000..34e20b724a --- /dev/null +++ b/OpenSim/Region/OptionalModules/Example/WebSocketEchoTest/WebSocketEchoModule.cs @@ -0,0 +1,174 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using System.Reflection; +using OpenSim.Framework.Servers; +using Mono.Addins; +using log4net; +using Nini.Config; +using OpenSim.Region.Framework.Interfaces; +using OpenSim.Region.Framework.Scenes; + +using OpenSim.Framework.Servers.HttpServer; + + +namespace OpenSim.Region.OptionalModules.WebSocketEchoModule +{ + + [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "WebSocketEchoModule")] + public class WebSocketEchoModule : ISharedRegionModule + { + private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + private bool enabled; + public string Name { get { return "WebSocketEchoModule"; } } + + public Type ReplaceableInterface { get { return null; } } + + + private HashSet _activeHandlers = new HashSet(); + + public void Initialise(IConfigSource pConfig) + { + enabled = true;// (pConfig.Configs["WebSocketEcho"] != null); + if (enabled) + m_log.DebugFormat("[WebSocketEchoModule]: INITIALIZED MODULE"); + } + + /// + /// This method sets up the callback to WebSocketHandlerCallback below when a HTTPRequest comes in for /echo + /// + public void PostInitialise() + { + if (enabled) + MainServer.Instance.AddWebSocketHandler("/echo", WebSocketHandlerCallback); + } + + // This gets called by BaseHttpServer and gives us an opportunity to set things on the WebSocket handler before we turn it on + public void WebSocketHandlerCallback(string path, WebSocketHttpServerHandler handler) + { + SubscribeToEvents(handler); + handler.SetChunksize(8192); + handler.NoDelay_TCP_Nagle = true; + handler.HandshakeAndUpgrade(); + } + + //These are our normal events + public void SubscribeToEvents(WebSocketHttpServerHandler handler) + { + handler.OnClose += HandlerOnOnClose; + handler.OnText += HandlerOnOnText; + handler.OnUpgradeCompleted += HandlerOnOnUpgradeCompleted; + handler.OnData += HandlerOnOnData; + handler.OnPong += HandlerOnOnPong; + } + + public void UnSubscribeToEvents(WebSocketHttpServerHandler handler) + { + handler.OnClose -= HandlerOnOnClose; + handler.OnText -= HandlerOnOnText; + handler.OnUpgradeCompleted -= HandlerOnOnUpgradeCompleted; + handler.OnData -= HandlerOnOnData; + handler.OnPong -= HandlerOnOnPong; + } + + private void HandlerOnOnPong(object sender, PongEventArgs pongdata) + { + m_log.Info("[WebSocketEchoModule]: Got a pong.. ping time: " + pongdata.PingResponseMS); + } + + private void HandlerOnOnData(object sender, WebsocketDataEventArgs data) + { + WebSocketHttpServerHandler obj = sender as WebSocketHttpServerHandler; + obj.SendData(data.Data); + m_log.Info("[WebSocketEchoModule]: We received a bunch of ugly non-printable bytes"); + obj.SendPingCheck(); + } + + + private void HandlerOnOnUpgradeCompleted(object sender, UpgradeCompletedEventArgs completeddata) + { + WebSocketHttpServerHandler obj = sender as WebSocketHttpServerHandler; + _activeHandlers.Add(obj); + } + + private void HandlerOnOnText(object sender, WebsocketTextEventArgs text) + { + WebSocketHttpServerHandler obj = sender as WebSocketHttpServerHandler; + obj.SendMessage(text.Data); + m_log.Info("[WebSocketEchoModule]: We received this: " + text.Data); + } + + // Remove the references to our handler + private void HandlerOnOnClose(object sender, CloseEventArgs closedata) + { + WebSocketHttpServerHandler obj = sender as WebSocketHttpServerHandler; + UnSubscribeToEvents(obj); + + lock (_activeHandlers) + _activeHandlers.Remove(obj); + obj.Dispose(); + } + + // Shutting down.. so shut down all sockets. + // Note.. this should be done outside of an ienumerable if you're also hook to the close event. + public void Close() + { + if (!enabled) + return; + + // We convert this to a for loop so we're not in in an IEnumerable when the close + //call triggers an event which then removes item from _activeHandlers that we're enumerating + WebSocketHttpServerHandler[] items = new WebSocketHttpServerHandler[_activeHandlers.Count]; + _activeHandlers.CopyTo(items); + + for (int i = 0; i < items.Length; i++) + { + items[i].Close(string.Empty); + items[i].Dispose(); + } + _activeHandlers.Clear(); + MainServer.Instance.RemoveWebSocketHandler("/echo"); + } + + public void AddRegion(Scene scene) + { + m_log.DebugFormat("[WebSocketEchoModule]: REGION {0} ADDED", scene.RegionInfo.RegionName); + } + + public void RemoveRegion(Scene scene) + { + m_log.DebugFormat("[WebSocketEchoModule]: REGION {0} REMOVED", scene.RegionInfo.RegionName); + } + + public void RegionLoaded(Scene scene) + { + m_log.DebugFormat("[WebSocketEchoModule]: REGION {0} LOADED", scene.RegionInfo.RegionName); + } + } +} \ No newline at end of file From a5c83f7505bf897c2d445391802f1ac7a2143d3d Mon Sep 17 00:00:00 2001 From: teravus Date: Thu, 7 Feb 2013 12:22:03 -0500 Subject: [PATCH 520/851] Websocket Echo module should not be on by default. --- .../Example/WebSocketEchoTest/WebSocketEchoModule.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/OptionalModules/Example/WebSocketEchoTest/WebSocketEchoModule.cs b/OpenSim/Region/OptionalModules/Example/WebSocketEchoTest/WebSocketEchoModule.cs index 34e20b724a..112ba4e62f 100644 --- a/OpenSim/Region/OptionalModules/Example/WebSocketEchoTest/WebSocketEchoModule.cs +++ b/OpenSim/Region/OptionalModules/Example/WebSocketEchoTest/WebSocketEchoModule.cs @@ -55,7 +55,7 @@ namespace OpenSim.Region.OptionalModules.WebSocketEchoModule public void Initialise(IConfigSource pConfig) { - enabled = true;// (pConfig.Configs["WebSocketEcho"] != null); + enabled =(pConfig.Configs["WebSocketEcho"] != null); if (enabled) m_log.DebugFormat("[WebSocketEchoModule]: INITIALIZED MODULE"); } From af73ea909cad78eee78bd4e9d9e3a42cf8856263 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Wed, 6 Feb 2013 22:34:03 -0800 Subject: [PATCH 521/851] Change passed PhysicsParameter value from float to the more general string value --- .../PhysicsParameters/PhysicsParameters.cs | 19 +++------ .../Region/Physics/BulletSPlugin/BSParam.cs | 34 ++++++++------- .../Region/Physics/BulletSPlugin/BSScene.cs | 41 +++++++++++++++---- .../Physics/Manager/IPhysicsParameters.cs | 6 +-- 4 files changed, 57 insertions(+), 43 deletions(-) diff --git a/OpenSim/Region/OptionalModules/PhysicsParameters/PhysicsParameters.cs b/OpenSim/Region/OptionalModules/PhysicsParameters/PhysicsParameters.cs index 40f7fbc59a..3083a337ff 100755 --- a/OpenSim/Region/OptionalModules/PhysicsParameters/PhysicsParameters.cs +++ b/OpenSim/Region/OptionalModules/PhysicsParameters/PhysicsParameters.cs @@ -146,7 +146,7 @@ namespace OpenSim.Region.OptionalModules.PhysicsParameters { foreach (PhysParameterEntry ppe in physScene.GetParameterList()) { - float val = 0.0f; + string val = string.Empty; if (physScene.GetPhysicsParameter(ppe.name, out val)) { WriteOut(" {0}/{1} = {2}", scene.RegionInfo.RegionName, ppe.name, val); @@ -159,7 +159,7 @@ namespace OpenSim.Region.OptionalModules.PhysicsParameters } else { - float val = 0.0f; + string val = string.Empty; if (physScene.GetPhysicsParameter(parm, out val)) { WriteOut(" {0}/{1} = {2}", scene.RegionInfo.RegionName, parm, val); @@ -185,21 +185,12 @@ namespace OpenSim.Region.OptionalModules.PhysicsParameters return; } string parm = "xxx"; - float val = 0f; + string valparm = String.Empty; uint localID = (uint)PhysParameterEntry.APPLY_TO_NONE; // set default value try { parm = cmdparms[2]; - string valparm = cmdparms[3].ToLower(); - if (valparm == "true") - val = PhysParameterEntry.NUMERIC_TRUE; - else - { - if (valparm == "false") - val = PhysParameterEntry.NUMERIC_FALSE; - else - val = float.Parse(valparm, Culture.NumberFormatInfo); - } + valparm = cmdparms[3].ToLower(); if (cmdparms.Length > 4) { if (cmdparms[4].ToLower() == "all") @@ -224,7 +215,7 @@ namespace OpenSim.Region.OptionalModules.PhysicsParameters IPhysicsParameters physScene = scene.PhysicsScene as IPhysicsParameters; if (physScene != null) { - if (!physScene.SetPhysicsParameter(parm, val, localID)) + if (!physScene.SetPhysicsParameter(parm, valparm, localID)) { WriteError("Failed set of parameter '{0}' for region '{1}'", parm, scene.RegionInfo.RegionName); } diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs index 965c3823b8..601c78c203 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs @@ -641,24 +641,6 @@ public static class BSParam return (b == ConfigurationParameters.numericTrue ? true : false); } - private static void ResetBroadphasePoolTainted(BSScene pPhysScene, float v) - { - BSScene physScene = pPhysScene; - physScene.TaintedObject("BSParam.ResetBroadphasePoolTainted", delegate() - { - physScene.PE.ResetBroadphasePool(physScene.World); - }); - } - - private static void ResetConstraintSolverTainted(BSScene pPhysScene, float v) - { - BSScene physScene = pPhysScene; - physScene.TaintedObject("BSParam.ResetConstraintSolver", delegate() - { - physScene.PE.ResetConstraintSolver(physScene.World); - }); - } - // Search through the parameter definitions and return the matching // ParameterDefn structure. // Case does not matter as names are compared after converting to lower case. @@ -722,6 +704,22 @@ public static class BSParam } } + private static void ResetBroadphasePoolTainted(BSScene pPhysScene, float v) + { + BSScene physScene = pPhysScene; + physScene.TaintedObject("BSParam.ResetBroadphasePoolTainted", delegate() + { + physScene.PE.ResetBroadphasePool(physScene.World); + }); + } + private static void ResetConstraintSolverTainted(BSScene pPhysScene, float v) + { + BSScene physScene = pPhysScene; + physScene.TaintedObject("BSParam.ResetConstraintSolver", delegate() + { + physScene.PE.ResetConstraintSolver(physScene.World); + }); + } } } diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs index 6cd72f221c..f8a0c1e6ba 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs @@ -876,14 +876,39 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters // will use the next time since it's pinned and shared memory. // Some of the values require calling into the physics engine to get the new // value activated ('terrainFriction' for instance). - public bool SetPhysicsParameter(string parm, float val, uint localID) + public bool SetPhysicsParameter(string parm, string val, uint localID) { bool ret = false; + + float valf = 0f; + if (val.ToLower() == "true") + { + valf = PhysParameterEntry.NUMERIC_TRUE; + } + else + { + if (val.ToLower() == "false") + { + valf = PhysParameterEntry.NUMERIC_FALSE; + } + else + { + try + { + valf = float.Parse(val); + } + catch + { + valf = 0f; + } + } + } + BSParam.ParameterDefn theParam; if (BSParam.TryGetParameter(parm, out theParam)) { // Set the value in the C# code - theParam.setter(this, parm, localID, val); + theParam.setter(this, parm, localID, valf); // Optionally set the parameter in the unmanaged code if (theParam.onObject != null) @@ -898,16 +923,16 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters case PhysParameterEntry.APPLY_TO_NONE: // This will cause a call into the physical world if some operation is specified (SetOnObject). objectIDs.Add(TERRAIN_ID); - TaintedUpdateParameter(parm, objectIDs, val); + TaintedUpdateParameter(parm, objectIDs, valf); break; case PhysParameterEntry.APPLY_TO_ALL: lock (PhysObjects) objectIDs = new List(PhysObjects.Keys); - TaintedUpdateParameter(parm, objectIDs, val); + TaintedUpdateParameter(parm, objectIDs, valf); break; default: // setting only one localID objectIDs.Add(localID); - TaintedUpdateParameter(parm, objectIDs, val); + TaintedUpdateParameter(parm, objectIDs, valf); break; } } @@ -942,14 +967,14 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters // Get parameter. // Return 'false' if not able to get the parameter. - public bool GetPhysicsParameter(string parm, out float value) + public bool GetPhysicsParameter(string parm, out string value) { - float val = 0f; + string val = String.Empty; bool ret = false; BSParam.ParameterDefn theParam; if (BSParam.TryGetParameter(parm, out theParam)) { - val = theParam.getter(this); + val = theParam.getter(this).ToString(); ret = true; } value = val; diff --git a/OpenSim/Region/Physics/Manager/IPhysicsParameters.cs b/OpenSim/Region/Physics/Manager/IPhysicsParameters.cs index b8676bac9b..31a397c7d4 100755 --- a/OpenSim/Region/Physics/Manager/IPhysicsParameters.cs +++ b/OpenSim/Region/Physics/Manager/IPhysicsParameters.cs @@ -60,14 +60,14 @@ namespace OpenSim.Region.Physics.Manager // Set parameter on a specific or all instances. // Return 'false' if not able to set the parameter. - bool SetPhysicsParameter(string parm, float value, uint localID); + bool SetPhysicsParameter(string parm, string value, uint localID); // Get parameter. // Return 'false' if not able to get the parameter. - bool GetPhysicsParameter(string parm, out float value); + bool GetPhysicsParameter(string parm, out string value); // Get parameter from a particular object // TODO: - // bool GetPhysicsParameter(string parm, out float value, uint localID); + // bool GetPhysicsParameter(string parm, out string value, uint localID); } } From c658fa1c0dd83f23c66ccfedb12e8ab02ff01d0a Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Thu, 7 Feb 2013 11:05:21 -0800 Subject: [PATCH 522/851] Add plumbing for physics properties to get to the physics engine. Addition of entries to PhysicsActor and setting code in SceneObjectPart. --- .../Framework/Scenes/SceneObjectPart.cs | 56 +++++++++++++++++-- .../Region/Physics/Manager/PhysicsActor.cs | 5 ++ 2 files changed, 55 insertions(+), 6 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index b00f388520..a3c7ed3ca2 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -1387,10 +1387,46 @@ namespace OpenSim.Region.Framework.Scenes } } - public float Density { get; set; } - public float GravityModifier { get; set; } - public float Friction { get; set; } - public float Restitution { get; set; } + private float m_density = 10f; + public float Density { + get { return m_density; } + set + { + m_density = value; + if (PhysActor != null) + PhysActor.Density = m_density; + } + } + private float m_gravityModifier = 1f; + public float GravityModifier { + get { return m_gravityModifier; } + set + { + m_gravityModifier = value; + if (PhysActor != null) + PhysActor.GravityModifier = m_gravityModifier; + } + } + private float m_friction = 0.5f; + public float Friction { + get { return m_friction; } + set + { + m_friction = value; + if (PhysActor != null) + PhysActor.Friction = m_friction; + } + } + private float m_restitution = 0f; + public float Restitution { + get { return m_restitution; } + set + { + m_restitution = value; + if (PhysActor != null) + PhysActor.Restitution = m_restitution; + } + } #endregion Public Properties with only Get @@ -1896,8 +1932,18 @@ namespace OpenSim.Region.Framework.Scenes { ParentGroup.Scene.AddPhysicalPrim(1); + // Update initial values for various physical properties + pa.SetMaterial(Material); + pa.Density = Density; + pa.Friction = Friction; + pa.Restitution = Restitution; + pa.GravityModifier = GravityModifier; + + // Link up callbacks for property updates from the physics engine pa.OnRequestTerseUpdate += PhysicsRequestingTerseUpdate; pa.OnOutOfBounds += PhysicsOutOfBounds; + + // If this is a child prim, tell the physics engine about the parent if (ParentID != 0 && ParentID != LocalId) { PhysicsActor parentPa = ParentGroup.RootPart.PhysActor; @@ -4062,7 +4108,6 @@ namespace OpenSim.Region.Framework.Scenes if (pa != null) { - pa.SetMaterial(Material); DoPhysicsPropertyUpdate(UsePhysics, true); if ( @@ -4175,7 +4220,6 @@ namespace OpenSim.Region.Framework.Scenes if (pa != null) { pa.SOPName = this.Name; // save object into the PhysActor so ODE internals know the joint/body info - pa.SetMaterial(Material); DoPhysicsPropertyUpdate(rigidBody, true); } diff --git a/OpenSim/Region/Physics/Manager/PhysicsActor.cs b/OpenSim/Region/Physics/Manager/PhysicsActor.cs index d119791cc6..4820ca471c 100644 --- a/OpenSim/Region/Physics/Manager/PhysicsActor.cs +++ b/OpenSim/Region/Physics/Manager/PhysicsActor.cs @@ -235,6 +235,11 @@ namespace OpenSim.Region.Physics.Manager public abstract float Mass { get; } public abstract Vector3 Force { get; set; } + public virtual float Density { get; set; } + public virtual float Friction { get; set; } + public virtual float Restitution { get; set; } + public virtual float GravityModifier { get; set; } + public abstract int VehicleType { get; set; } public abstract void VehicleFloatParam(int param, float value); public abstract void VehicleVectorParam(int param, Vector3 value); From 9089757ea2cabe49f40de64b7e6befa13a4553c1 Mon Sep 17 00:00:00 2001 From: Melanie Date: Thu, 7 Feb 2013 21:05:58 +0000 Subject: [PATCH 523/851] Revert "Add plumbing for physics properties to get to the physics engine." This reverts commit c658fa1c0dd83f23c66ccfedb12e8ab02ff01d0a. --- .../Framework/Scenes/SceneObjectPart.cs | 56 ++----------------- .../Region/Physics/Manager/PhysicsActor.cs | 5 -- 2 files changed, 6 insertions(+), 55 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index a3c7ed3ca2..b00f388520 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -1387,46 +1387,10 @@ namespace OpenSim.Region.Framework.Scenes } } - private float m_density = 10f; - public float Density { - get { return m_density; } - set - { - m_density = value; - if (PhysActor != null) - PhysActor.Density = m_density; - } - } - private float m_gravityModifier = 1f; - public float GravityModifier { - get { return m_gravityModifier; } - set - { - m_gravityModifier = value; - if (PhysActor != null) - PhysActor.GravityModifier = m_gravityModifier; - } - } - private float m_friction = 0.5f; - public float Friction { - get { return m_friction; } - set - { - m_friction = value; - if (PhysActor != null) - PhysActor.Friction = m_friction; - } - } - private float m_restitution = 0f; - public float Restitution { - get { return m_restitution; } - set - { - m_restitution = value; - if (PhysActor != null) - PhysActor.Restitution = m_restitution; - } - } + public float Density { get; set; } + public float GravityModifier { get; set; } + public float Friction { get; set; } + public float Restitution { get; set; } #endregion Public Properties with only Get @@ -1932,18 +1896,8 @@ namespace OpenSim.Region.Framework.Scenes { ParentGroup.Scene.AddPhysicalPrim(1); - // Update initial values for various physical properties - pa.SetMaterial(Material); - pa.Density = Density; - pa.Friction = Friction; - pa.Restitution = Restitution; - pa.GravityModifier = GravityModifier; - - // Link up callbacks for property updates from the physics engine pa.OnRequestTerseUpdate += PhysicsRequestingTerseUpdate; pa.OnOutOfBounds += PhysicsOutOfBounds; - - // If this is a child prim, tell the physics engine about the parent if (ParentID != 0 && ParentID != LocalId) { PhysicsActor parentPa = ParentGroup.RootPart.PhysActor; @@ -4108,6 +4062,7 @@ namespace OpenSim.Region.Framework.Scenes if (pa != null) { + pa.SetMaterial(Material); DoPhysicsPropertyUpdate(UsePhysics, true); if ( @@ -4220,6 +4175,7 @@ namespace OpenSim.Region.Framework.Scenes if (pa != null) { pa.SOPName = this.Name; // save object into the PhysActor so ODE internals know the joint/body info + pa.SetMaterial(Material); DoPhysicsPropertyUpdate(rigidBody, true); } diff --git a/OpenSim/Region/Physics/Manager/PhysicsActor.cs b/OpenSim/Region/Physics/Manager/PhysicsActor.cs index 4820ca471c..d119791cc6 100644 --- a/OpenSim/Region/Physics/Manager/PhysicsActor.cs +++ b/OpenSim/Region/Physics/Manager/PhysicsActor.cs @@ -235,11 +235,6 @@ namespace OpenSim.Region.Physics.Manager public abstract float Mass { get; } public abstract Vector3 Force { get; set; } - public virtual float Density { get; set; } - public virtual float Friction { get; set; } - public virtual float Restitution { get; set; } - public virtual float GravityModifier { get; set; } - public abstract int VehicleType { get; set; } public abstract void VehicleFloatParam(int param, float value); public abstract void VehicleVectorParam(int param, Vector3 value); From 338b02a8bc51d1dc5c1161a2a5a10b85521d1f8e Mon Sep 17 00:00:00 2001 From: Melanie Date: Thu, 7 Feb 2013 21:23:35 +0000 Subject: [PATCH 524/851] Send the new physics params to the viewer build dialog --- .../Linden/Caps/BunchOfCaps/BunchOfCaps.cs | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs b/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs index 568e2169db..1af61db48b 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs @@ -96,6 +96,8 @@ namespace OpenSim.Region.ClientStack.Linden // private static readonly string m_fetchInventoryPath = "0006/"; private static readonly string m_copyFromNotecardPath = "0007/"; // private static readonly string m_remoteParcelRequestPath = "0009/";// This is in the LandManagementModule. + private static readonly string m_getObjectPhysicsDataPath = "0101/"; + /* 0102 - 0103 RESERVED */ private static readonly string m_UpdateAgentInformationPath = "0500/"; // These are callbacks which will be setup by the scene so that we can update scene data when we @@ -204,6 +206,8 @@ namespace OpenSim.Region.ClientStack.Linden m_HostCapsObj.RegisterHandler("UpdateNotecardAgentInventory", req); m_HostCapsObj.RegisterHandler("UpdateScriptAgentInventory", req); m_HostCapsObj.RegisterHandler("UpdateScriptAgent", req); + IRequestHandler getObjectPhysicsDataHandler = new RestStreamHandler("POST", capsBase + m_getObjectPhysicsDataPath, GetObjectPhysicsData); + m_HostCapsObj.RegisterHandler("GetObjectPhysicsData", getObjectPhysicsDataHandler); IRequestHandler UpdateAgentInformationHandler = new RestStreamHandler("POST", capsBase + m_UpdateAgentInformationPath, UpdateAgentInformation); m_HostCapsObj.RegisterHandler("UpdateAgentInformation", UpdateAgentInformationHandler); @@ -873,6 +877,37 @@ namespace OpenSim.Region.ClientStack.Linden return LLSDHelpers.SerialiseLLSDReply(response); } + public string GetObjectPhysicsData(string request, string path, + string param, IOSHttpRequest httpRequest, + IOSHttpResponse httpResponse) + { + OSDMap req = (OSDMap)OSDParser.DeserializeLLSDXml(request); + OSDMap resp = new OSDMap(); + OSDArray object_ids = (OSDArray)req["object_ids"]; + + for (int i = 0 ; i < object_ids.Count ; i++) + { + UUID uuid = object_ids[i].AsUUID(); + + SceneObjectPart obj = m_Scene.GetSceneObjectPart(uuid); + if (obj != null) + { + OSDMap object_data = new OSDMap(); + + object_data["PhysicsShapeType"] = obj.PhysicsShapeType; + object_data["Density"] = obj.Density; + object_data["Friction"] = obj.Friction; + object_data["Restitution"] = obj.Restitution; + object_data["GravityMultiplier"] = obj.GravityModifier; + + resp[uuid.ToString()] = object_data; + } + } + + string response = OSDParser.SerializeLLSDXmlString(resp); + return response; + } + public string UpdateAgentInformation(string request, string path, string param, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse) From 7bf33d333af6e7393a05940d1ab436f5dce73814 Mon Sep 17 00:00:00 2001 From: Melanie Date: Thu, 7 Feb 2013 22:25:28 +0000 Subject: [PATCH 525/851] Plumb the path from the client to the extra physics params and back --- OpenSim/Framework/IClientAPI.cs | 4 +- .../Caps/EventQueue/EventQueueGetModule.cs | 8 +++ .../Caps/EventQueue/EventQueueHelper.cs | 20 +++++++ .../ClientStack/Linden/UDP/LLClientView.cs | 59 +++++++++++++++++-- .../Framework/Interfaces/IEventQueue.cs | 2 + OpenSim/Region/Framework/Scenes/SceneGraph.cs | 25 +++++++- .../Framework/Scenes/SceneObjectPart.cs | 1 + .../Server/IRCClientView.cs | 5 ++ .../OptionalModules/World/NPC/NPCAvatar.cs | 5 ++ OpenSim/Tests/Common/Mock/TestClient.cs | 5 ++ 10 files changed, 127 insertions(+), 7 deletions(-) diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs index 87433cc3cb..f6b7689379 100644 --- a/OpenSim/Framework/IClientAPI.cs +++ b/OpenSim/Framework/IClientAPI.cs @@ -124,7 +124,7 @@ namespace OpenSim.Framework public delegate void ObjectDrop(uint localID, IClientAPI remoteClient); public delegate void UpdatePrimFlags( - uint localID, bool UsePhysics, bool IsTemporary, bool IsPhantom, IClientAPI remoteClient); + uint localID, bool UsePhysics, bool IsTemporary, bool IsPhantom, ExtraPhysicsData PhysData, IClientAPI remoteClient); public delegate void UpdatePrimTexture(uint localID, byte[] texture, IClientAPI remoteClient); @@ -1356,6 +1356,8 @@ namespace OpenSim.Framework void SendObjectPropertiesReply(ISceneEntity Entity); + void SendPartPhysicsProprieties(ISceneEntity Entity); + void SendAgentOffline(UUID[] agentIDs); void SendAgentOnline(UUID[] agentIDs); diff --git a/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs index 4d2c0f25fc..3cc395016f 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs @@ -807,5 +807,13 @@ namespace OpenSim.Region.ClientStack.Linden { return EventQueueHelper.BuildEvent(eventName, eventBody); } + + public void partPhysicsProperties(uint localID, byte physhapetype, + float density, float friction, float bounce, float gravmod,UUID avatarID) + { + OSD item = EventQueueHelper.partPhysicsProperties(localID, physhapetype, + density, friction, bounce, gravmod); + Enqueue(item, avatarID); + } } } diff --git a/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueHelper.cs b/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueHelper.cs index 3f49abaf56..dab727f98e 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueHelper.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueHelper.cs @@ -395,5 +395,25 @@ namespace OpenSim.Region.ClientStack.Linden return message; } + public static OSD partPhysicsProperties(uint localID, byte physhapetype, + float density, float friction, float bounce, float gravmod) + { + + OSDMap physinfo = new OSDMap(6); + physinfo["LocalID"] = localID; + physinfo["Density"] = density; + physinfo["Friction"] = friction; + physinfo["GravityMultiplier"] = gravmod; + physinfo["Restitution"] = bounce; + physinfo["PhysicsShapeType"] = (int)physhapetype; + + OSDArray array = new OSDArray(1); + array.Add(physinfo); + + OSDMap llsdBody = new OSDMap(1); + llsdBody.Add("ObjectData", array); + + return BuildEvent("ObjectPhysicsProperties", llsdBody); + } } } diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 88b64f5f66..bd4a2d100d 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs @@ -2627,6 +2627,34 @@ namespace OpenSim.Region.ClientStack.LindenUDP } } + public void SendPartPhysicsProprieties(ISceneEntity entity) + { + SceneObjectPart part = (SceneObjectPart)entity; + if (part != null && AgentId != UUID.Zero) + { + try + { + IEventQueue eq = Scene.RequestModuleInterface(); + if (eq != null) + { + uint localid = part.LocalId; + byte physshapetype = part.PhysicsShapeType; + float density = part.Density; + float friction = part.Friction; + float bounce = part.Restitution; + float gravmod = part.GravityModifier; + eq.partPhysicsProperties(localid, physshapetype, density, friction, bounce, gravmod,AgentId); + } + } + catch (Exception ex) + { + m_log.Error("Unable to send part Physics Proprieties - exception: " + ex.ToString()); + } + part.UpdatePhysRequired = false; + } + } + + public void SendGroupNameReply(UUID groupLLUID, string GroupName) { @@ -7035,10 +7063,33 @@ namespace OpenSim.Region.ClientStack.LindenUDP // 46,47,48 are special positions within the packet // This may change so perhaps we need a better way // of storing this (OMV.FlagUpdatePacket.UsePhysics,etc?) - bool UsePhysics = (data[46] != 0) ? true : false; - bool IsTemporary = (data[47] != 0) ? true : false; - bool IsPhantom = (data[48] != 0) ? true : false; - handlerUpdatePrimFlags(flags.AgentData.ObjectLocalID, UsePhysics, IsTemporary, IsPhantom, this); + /* + bool UsePhysics = (data[46] != 0) ? true : false; + bool IsTemporary = (data[47] != 0) ? true : false; + bool IsPhantom = (data[48] != 0) ? true : false; + handlerUpdatePrimFlags(flags.AgentData.ObjectLocalID, UsePhysics, IsTemporary, IsPhantom, this); + */ + bool UsePhysics = flags.AgentData.UsePhysics; + bool IsPhantom = flags.AgentData.IsPhantom; + bool IsTemporary = flags.AgentData.IsTemporary; + ObjectFlagUpdatePacket.ExtraPhysicsBlock[] blocks = flags.ExtraPhysics; + ExtraPhysicsData physdata = new ExtraPhysicsData(); + + if (blocks == null || blocks.Length == 0) + { + physdata.PhysShapeType = PhysShapeType.invalid; + } + else + { + ObjectFlagUpdatePacket.ExtraPhysicsBlock phsblock = blocks[0]; + physdata.PhysShapeType = (PhysShapeType)phsblock.PhysicsShapeType; + physdata.Bounce = phsblock.Restitution; + physdata.Density = phsblock.Density; + physdata.Friction = phsblock.Friction; + physdata.GravitationModifier = phsblock.GravityMultiplier; + } + + handlerUpdatePrimFlags(flags.AgentData.ObjectLocalID, UsePhysics, IsTemporary, IsPhantom, physdata, this); } return true; } diff --git a/OpenSim/Region/Framework/Interfaces/IEventQueue.cs b/OpenSim/Region/Framework/Interfaces/IEventQueue.cs index bfa5d1717d..5512642017 100644 --- a/OpenSim/Region/Framework/Interfaces/IEventQueue.cs +++ b/OpenSim/Region/Framework/Interfaces/IEventQueue.cs @@ -59,5 +59,7 @@ namespace OpenSim.Region.Framework.Interfaces void GroupMembership(AgentGroupDataUpdatePacket groupUpdate, UUID avatarID); OSD ScriptRunningEvent(UUID objectID, UUID itemID, bool running, bool mono); OSD BuildEvent(string eventName, OSD eventBody); + void partPhysicsProperties(uint localID, byte physhapetype, float density, float friction, float bounce, float gravmod, UUID avatarID); + } } diff --git a/OpenSim/Region/Framework/Scenes/SceneGraph.cs b/OpenSim/Region/Framework/Scenes/SceneGraph.cs index a4383fd23b..a84f6d36b3 100644 --- a/OpenSim/Region/Framework/Scenes/SceneGraph.cs +++ b/OpenSim/Region/Framework/Scenes/SceneGraph.cs @@ -1408,7 +1408,7 @@ namespace OpenSim.Region.Framework.Scenes /// /// protected internal void UpdatePrimFlags( - uint localID, bool UsePhysics, bool SetTemporary, bool SetPhantom, IClientAPI remoteClient) + uint localID, bool UsePhysics, bool SetTemporary, bool SetPhantom, ExtraPhysicsData PhysData, IClientAPI remoteClient) { SceneObjectGroup group = GetGroupByPrim(localID); if (group != null) @@ -1416,7 +1416,28 @@ namespace OpenSim.Region.Framework.Scenes if (m_parentScene.Permissions.CanEditObject(group.UUID, remoteClient.AgentId)) { // VolumeDetect can't be set via UI and will always be off when a change is made there - group.UpdatePrimFlags(localID, UsePhysics, SetTemporary, SetPhantom, false); + // now only change volume dtc if phantom off + + if (PhysData.PhysShapeType == PhysShapeType.invalid) // check for extraPhysics data + { + bool vdtc; + if (SetPhantom) // if phantom keep volumedtc + vdtc = group.RootPart.VolumeDetectActive; + else // else turn it off + vdtc = false; + + group.UpdatePrimFlags(localID, UsePhysics, SetTemporary, SetPhantom, vdtc); + } + else + { + SceneObjectPart part = GetSceneObjectPart(localID); + if (part != null) + { + part.UpdateExtraPhysics(PhysData); + if (part.UpdatePhysRequired) + remoteClient.SendPartPhysicsProprieties(part); + } + } } } } diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index b00f388520..cd40b2952a 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -1042,6 +1042,7 @@ namespace OpenSim.Region.Framework.Scenes } public UpdateRequired UpdateFlag { get; set; } + public bool UpdatePhysRequired { get; set; } /// /// Used for media on a prim. diff --git a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs index 781539acc1..0ac56fada9 100644 --- a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs +++ b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs @@ -1678,5 +1678,10 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server public void SendPlacesReply(UUID queryID, UUID transactionID, PlacesReplyData[] data) { } + + public void SendPartPhysicsProprieties(ISceneEntity entity) + { + } + } } diff --git a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs index 5ea2bcd908..6bd27f0ce2 100644 --- a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs +++ b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs @@ -1234,5 +1234,10 @@ namespace OpenSim.Region.OptionalModules.World.NPC public void SendPlacesReply(UUID queryID, UUID transactionID, PlacesReplyData[] data) { } + + public void SendPartPhysicsProprieties(ISceneEntity entity) + { + } + } } diff --git a/OpenSim/Tests/Common/Mock/TestClient.cs b/OpenSim/Tests/Common/Mock/TestClient.cs index dde37ab7a3..182f4d9b81 100644 --- a/OpenSim/Tests/Common/Mock/TestClient.cs +++ b/OpenSim/Tests/Common/Mock/TestClient.cs @@ -1276,5 +1276,10 @@ namespace OpenSim.Tests.Common.Mock public void SendPlacesReply(UUID queryID, UUID transactionID, PlacesReplyData[] data) { } + + public void SendPartPhysicsProprieties(ISceneEntity entity) + { + } + } } From c135c3224fcdc88a610b0d66da0c0dd6cd1211f9 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 7 Feb 2013 23:08:19 +0000 Subject: [PATCH 526/851] Fix a recent regression in e17392a where JsonSetValue() stopped working (probably other functions as well). Fix is to call through to the no-arg constructor from the string constructor in JsonStore, which I suspect was just forgotten. This was actually picked up by the TestJsonSetValue() regression test failing But this isn't being run on jenkins due to the .net version issue. This commit also puts the full stack trace in logged messages and makes these error level messages instead of info --- .../Scripting/JsonStore/JsonStore.cs | 2 +- .../Scripting/JsonStore/JsonStoreModule.cs | 20 +++++++++---------- .../Tests/JsonStoreScriptModuleTests.cs | 8 ++++---- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs index 751e463a49..5808d46d51 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs @@ -114,7 +114,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore m_ReadStore = new List(); } - public JsonStore(string value) + public JsonStore(string value) : this() { if (String.IsNullOrEmpty(value)) ValueStore = new OSDMap(); diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs index a36ef4257d..3b52e445b3 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs @@ -93,12 +93,12 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore } catch (Exception e) { - m_log.ErrorFormat("[JsonStore] initialization error: {0}",e.Message); + m_log.Error("[JsonStore]: initialization error: {0}", e); return; } if (m_enabled) - m_log.DebugFormat("[JsonStore] module is enabled"); + m_log.DebugFormat("[JsonStore]: module is enabled"); } // ----------------------------------------------------------------- @@ -182,7 +182,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore SceneObjectPart sop = m_scene.GetSceneObjectPart(objectID); if (sop == null) { - m_log.InfoFormat("[JsonStore] unable to attach to unknown object; {0}",objectID); + m_log.ErrorFormat("[JsonStore] unable to attach to unknown object; {0}", objectID); return false; } @@ -219,7 +219,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore } catch (Exception e) { - m_log.InfoFormat("[JsonStore] Unable to initialize store from {0}; {1}",value,e.Message); + m_log.Error(string.Format("[JsonStore]: Unable to initialize store from {0}", value), e); return false; } @@ -283,7 +283,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore } catch (Exception e) { - m_log.InfoFormat("[JsonStore] Path test failed for {0} in {1}; {2}",path,storeID,e.Message); + m_log.Error(string.Format("[JsonStore]: Path test failed for {0} in {1}", path, storeID), e); } return false; @@ -316,7 +316,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore } catch (Exception e) { - m_log.InfoFormat("[JsonStore] Unable to assign {0} to {1} in {2}; {3}",value,path,storeID,e.Message); + m_log.Error(string.Format("[JsonStore]: Unable to assign {0} to {1} in {2}", value, path, storeID), e); } return false; @@ -349,7 +349,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore } catch (Exception e) { - m_log.InfoFormat("[JsonStore] Unable to remove {0} in {1}; {2}",path,storeID,e.Message); + m_log.Error(string.Format("[JsonStore]: Unable to remove {0} in {1}", path, storeID), e); } return false; @@ -382,7 +382,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore } catch (Exception e) { - m_log.InfoFormat("[JsonStore] unable to retrieve value; {0}",e.Message); + m_log.Error("[JsonStore]: unable to retrieve value", e); } return false; @@ -421,7 +421,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore } catch (Exception e) { - m_log.InfoFormat("[JsonStore] unable to retrieve value; {0}",e.ToString()); + m_log.Error("[JsonStore] unable to retrieve value", e); } cback(String.Empty); @@ -460,7 +460,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore } catch (Exception e) { - m_log.InfoFormat("[JsonStore] unable to retrieve value; {0}",e.ToString()); + m_log.Error("[JsonStore]: unable to retrieve value", e); } cback(String.Empty); diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index 8042a93730..eddae38506 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -184,13 +184,13 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests TestHelpers.InMethod(); // TestHelpers.EnableLogging(); - UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{}"); + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ }"); - int result = (int)InvokeOp("JsonSetValue", storeId, "Hello", "World"); + int result = (int)InvokeOp("JsonSetValue", storeId, "Fun", "Times"); Assert.That(result, Is.EqualTo(1)); - string value = (string)InvokeOp("JsonGetValue", storeId, "Hello"); - Assert.That(value, Is.EqualTo("World")); + string value = (string)InvokeOp("JsonGetValue", storeId, "Fun"); + Assert.That(value, Is.EqualTo("Times")); } public object DummyTestMethod(object o1, object o2, object o3, object o4, object o5) { return null; } From 22675e6b14ce1b180f517c1ab92627d283192032 Mon Sep 17 00:00:00 2001 From: Melanie Date: Thu, 7 Feb 2013 23:22:00 +0000 Subject: [PATCH 527/851] Add some more code from Avination. This changes physics actor stuff around to work with the new params. Not actually plumbed just yet. --- .../Framework/Scenes/SceneObjectPart.cs | 189 ++++++++++++++---- .../Region/Physics/Manager/PhysicsActor.cs | 10 +- .../Region/Physics/Manager/PhysicsScene.cs | 6 + 3 files changed, 165 insertions(+), 40 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index cd40b2952a..9f602f79fb 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -304,11 +304,10 @@ namespace OpenSim.Region.Framework.Scenes protected int m_lastTerseSent; protected byte m_physicsShapeType = (byte)PhysShapeType.prim; - // TODO: Implement these - //protected float m_density = 1000.0f; // in kg/m^3 - //protected float m_gravitymod = 1.0f; - //protected float m_friction = 0.6f; // wood - //protected float m_bounce = 0.5f; // wood + protected float m_density = 1000.0f; // in kg/m^3 + protected float m_gravitymod = 1.0f; + protected float m_friction = 0.6f; // wood + protected float m_bounce = 0.5f; // wood /// /// Stores media texture data @@ -1379,19 +1378,92 @@ namespace OpenSim.Region.Framework.Scenes } else { - // TODO: Update physics actor + PhysActor.PhysicsShapeType = m_physicsShapeType; } if (ParentGroup != null) ParentGroup.HasGroupChanged = true; } + + if (m_physicsShapeType != value) + { + UpdatePhysRequired = true; + } } } - public float Density { get; set; } - public float GravityModifier { get; set; } - public float Friction { get; set; } - public float Restitution { get; set; } + public float Density // in kg/m^3 + { + get { return m_density; } + set + { + if (value >=1 && value <= 22587.0) + { + m_density = value; + UpdatePhysRequired = true; + } + + ScheduleFullUpdateIfNone(); + + if (ParentGroup != null) + ParentGroup.HasGroupChanged = true; + } + } + + public float GravityModifier + { + get { return m_gravitymod; } + set + { + if( value >= -1 && value <=28.0f) + { + m_gravitymod = value; + UpdatePhysRequired = true; + } + + ScheduleFullUpdateIfNone(); + + if (ParentGroup != null) + ParentGroup.HasGroupChanged = true; + + } + } + + public float Friction + { + get { return m_friction; } + set + { + if (value >= 0 && value <= 255.0f) + { + m_friction = value; + UpdatePhysRequired = true; + } + + ScheduleFullUpdateIfNone(); + + if (ParentGroup != null) + ParentGroup.HasGroupChanged = true; + } + } + + public float Restitution + { + get { return m_bounce; } + set + { + if (value >= 0 && value <= 1.0f) + { + m_bounce = value; + UpdatePhysRequired = true; + } + + ScheduleFullUpdateIfNone(); + + if (ParentGroup != null) + ParentGroup.HasGroupChanged = true; + } + } #endregion Public Properties with only Get @@ -1589,8 +1661,10 @@ namespace OpenSim.Region.Framework.Scenes /// /// /// - public void ApplyPhysics(uint rootObjectFlags, bool VolumeDetectActive) + public void ApplyPhysics(uint rootObjectFlags, bool _VolumeDetectActive) { + VolumeDetectActive = _VolumeDetectActive; + if (!ParentGroup.Scene.CollidablePrims) return; @@ -1600,28 +1674,22 @@ namespace OpenSim.Region.Framework.Scenes bool isPhysical = (rootObjectFlags & (uint) PrimFlags.Physics) != 0; bool isPhantom = (rootObjectFlags & (uint) PrimFlags.Phantom) != 0; + if (_VolumeDetectActive) + isPhantom = true; + if (IsJoint()) { DoPhysicsPropertyUpdate(isPhysical, true); } else { - // Special case for VolumeDetection: If VolumeDetection is set, the phantom flag is locally ignored - if (VolumeDetectActive) - isPhantom = false; - - // The only time the physics scene shouldn't know about the prim is if it's phantom or an attachment, which is phantom by definition - // or flexible - if (!isPhantom && !ParentGroup.IsAttachment && !(Shape.PathCurve == (byte)Extrusion.Flexible)) + if ((!isPhantom || isPhysical || _VolumeDetectActive) && !ParentGroup.IsAttachment + && !(Shape.PathCurve == (byte)Extrusion.Flexible)) { - // Added clarification.. since A rigid body is an object that you can kick around, etc. - bool rigidBody = isPhysical && !isPhantom; - - PhysicsActor pa = AddToPhysics(rigidBody); - - if (pa != null) - pa.SetVolumeDetect(VolumeDetectActive ? 1 : 0); + AddToPhysics(isPhysical, isPhantom, isPhysical); } + else + PhysActor = null; // just to be sure } } @@ -2503,6 +2571,19 @@ namespace OpenSim.Region.Framework.Scenes APIDTarget = Quaternion.Identity; } + + + public void ScheduleFullUpdateIfNone() + { + if (ParentGroup == null) + return; + +// ??? ParentGroup.HasGroupChanged = true; + + if (UpdateFlag != UpdateRequired.FULL) + ScheduleFullUpdate(); + } + /// /// Schedules this prim for a full update /// @@ -4059,7 +4140,9 @@ namespace OpenSim.Region.Framework.Scenes if (ParentGroup.Scene.CollidablePrims && pa == null) { - pa = AddToPhysics(UsePhysics); + AddToPhysics(UsePhysics, SetPhantom, false); + pa = PhysActor; + if (pa != null) { @@ -4146,10 +4229,13 @@ namespace OpenSim.Region.Framework.Scenes /// /// The physics actor. null if there was a failure. /// - private PhysicsActor AddToPhysics(bool rigidBody) + private void AddToPhysics(bool isPhysical, bool isPhantom, bool applyDynamics) { PhysicsActor pa; + Vector3 velocity = Velocity; + Vector3 rotationalVelocity = AngularVelocity;; + try { pa = ParentGroup.Scene.PhysicsScene.AddPrimShape( @@ -4157,8 +4243,10 @@ namespace OpenSim.Region.Framework.Scenes Shape, AbsolutePosition, Scale, - RotationOffset, - rigidBody, + GetWorldRotation(), + isPhysical, + isPhantom, + PhysicsShapeType, m_localId); } catch (Exception e) @@ -4167,20 +4255,47 @@ namespace OpenSim.Region.Framework.Scenes pa = null; } - // FIXME: Ideally we wouldn't set the property here to reduce situations where threads changing physical - // properties can stop on each other. However, DoPhysicsPropertyUpdate() currently relies on PhysActor - // being set. - PhysActor = pa; - - // Basic Physics can also return null as well as an exception catch. if (pa != null) { pa.SOPName = this.Name; // save object into the PhysActor so ODE internals know the joint/body info pa.SetMaterial(Material); - DoPhysicsPropertyUpdate(rigidBody, true); + + if (VolumeDetectActive) // change if not the default only + pa.SetVolumeDetect(1); + // we are going to tell rest of code about physics so better have this here + PhysActor = pa; + + if (isPhysical) + { + ParentGroup.Scene.AddPhysicalPrim(1); + + pa.OnRequestTerseUpdate += PhysicsRequestingTerseUpdate; + pa.OnOutOfBounds += PhysicsOutOfBounds; + + if (ParentID != 0 && ParentID != LocalId) + { + PhysicsActor parentPa = ParentGroup.RootPart.PhysActor; + + if (parentPa != null) + { + pa.link(parentPa); + } + } + } + + if (applyDynamics) + // do independent of isphysical so parameters get setted (at least some) + { + Velocity = velocity; + AngularVelocity = rotationalVelocity; +// pa.Velocity = velocity; + pa.RotationalVelocity = rotationalVelocity; + } + + ParentGroup.Scene.PhysicsScene.AddPhysicsActorTaint(pa); } - return pa; + PhysActor = pa; } /// diff --git a/OpenSim/Region/Physics/Manager/PhysicsActor.cs b/OpenSim/Region/Physics/Manager/PhysicsActor.cs index d119791cc6..bd806ebbc3 100644 --- a/OpenSim/Region/Physics/Manager/PhysicsActor.cs +++ b/OpenSim/Region/Physics/Manager/PhysicsActor.cs @@ -147,6 +147,8 @@ namespace OpenSim.Region.Physics.Manager public abstract Vector3 Size { get; set; } + public virtual byte PhysicsShapeType { get; set; } + public abstract PrimitiveBaseShape Shape { set; } uint m_baseLocalID; @@ -218,9 +220,11 @@ namespace OpenSim.Region.Physics.Manager handler(e); } - public virtual void SetMaterial (int material) - { - } + public virtual void SetMaterial (int material) { } + public virtual float Density { get; set; } + public virtual float GravModifier { get; set; } + public virtual float Friction { get; set; } + public virtual float Restitution { get; set; } /// /// Position of this actor. diff --git a/OpenSim/Region/Physics/Manager/PhysicsScene.cs b/OpenSim/Region/Physics/Manager/PhysicsScene.cs index c4d7ef3a15..290b72eaa0 100644 --- a/OpenSim/Region/Physics/Manager/PhysicsScene.cs +++ b/OpenSim/Region/Physics/Manager/PhysicsScene.cs @@ -166,6 +166,12 @@ namespace OpenSim.Region.Physics.Manager public abstract PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, Vector3 position, Vector3 size, Quaternion rotation, bool isPhysical, uint localid); + public virtual PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, Vector3 position, + Vector3 size, Quaternion rotation, bool isPhysical, bool isPhantom, byte shapetype, uint localid) + { + return AddPrimShape(primName, pbs, position, size, rotation, isPhysical, localid); + } + public virtual float TimeDilation { get { return 1.0f; } From 2e86978b609e3e2013a8f4c53f9afc9ed239d20b Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 7 Feb 2013 23:30:03 +0000 Subject: [PATCH 528/851] Add TestJsonDestoreStoreNotExists() This still returns true even if we ask to destroy a store that does not exist. Need to check that this is more appropriate behaviour. --- .../JsonStore/Tests/JsonStoreScriptModuleTests.cs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index aea94eaf06..5484d8d546 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -134,6 +134,20 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests Assert.That(tprv, Is.EqualTo(0)); } + [Test] + public void TestJsonDestroyStoreNotExists() + { + TestHelpers.InMethod(); +// TestHelpers.EnableLogging(); + + UUID fakeStoreId = TestHelpers.ParseTail(0x500); + + int dsrv = (int)InvokeOp("JsonDestroyStore", fakeStoreId); + + // XXX: Current returns 'true' even though no such store existed. Need to ask if this is best behaviour. + Assert.That(dsrv, Is.EqualTo(1)); + } + [Test] public void TestJsonGetValue() { From a2dad09172ce462ea38ff77b684f07ae4b22fbd8 Mon Sep 17 00:00:00 2001 From: Melanie Date: Thu, 7 Feb 2013 23:34:47 +0000 Subject: [PATCH 529/851] Actually plumb the new values to physics. --- .../Framework/Scenes/SceneObjectPart.cs | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 9f602f79fb..9b2997326c 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -1407,6 +1407,10 @@ namespace OpenSim.Region.Framework.Scenes if (ParentGroup != null) ParentGroup.HasGroupChanged = true; + + PhysicsActor pa = PhysActor; + if (pa != null) + pa.Density = Density; } } @@ -1426,6 +1430,9 @@ namespace OpenSim.Region.Framework.Scenes if (ParentGroup != null) ParentGroup.HasGroupChanged = true; + PhysicsActor pa = PhysActor; + if (pa != null) + pa.GravModifier = GravityModifier; } } @@ -1444,6 +1451,10 @@ namespace OpenSim.Region.Framework.Scenes if (ParentGroup != null) ParentGroup.HasGroupChanged = true; + + PhysicsActor pa = PhysActor; + if (pa != null) + pa.Friction = Friction; } } @@ -1462,6 +1473,10 @@ namespace OpenSim.Region.Framework.Scenes if (ParentGroup != null) ParentGroup.HasGroupChanged = true; + + PhysicsActor pa = PhysActor; + if (pa != null) + pa.Restitution = Restitution; } } @@ -4260,6 +4275,11 @@ namespace OpenSim.Region.Framework.Scenes pa.SOPName = this.Name; // save object into the PhysActor so ODE internals know the joint/body info pa.SetMaterial(Material); + pa.Density = Density; + pa.GravModifier = GravityModifier; + pa.Friction = Friction; + pa.Restitution = Restitution; + if (VolumeDetectActive) // change if not the default only pa.SetVolumeDetect(1); // we are going to tell rest of code about physics so better have this here From 715d6f2da1fa9fb770899a399ccbece2d35a2323 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 7 Feb 2013 23:52:28 +0000 Subject: [PATCH 530/851] Add testing for getting non-existing values and values from a non-existing datastore to TestJsonGetValue() --- .../JsonStore/Tests/JsonStoreScriptModuleTests.cs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index 5484d8d546..d341901e68 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -158,6 +158,15 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests string value = (string)InvokeOp("JsonGetValue", storeId, "Hello"); Assert.That(value, Is.EqualTo("World")); + + // Test get of non-existing value + string fakeValueGet = (string)InvokeOp("JsonGetValue", storeId, "foo"); + Assert.That(fakeValueGet, Is.EqualTo("")); + + // Test get from non-existing store + UUID fakeStoreId = TestHelpers.ParseTail(0x500); + string fakeStoreValueGet = (string)InvokeOp("JsonGetValue", fakeStoreId, "Hello"); + Assert.That(fakeStoreValueGet, Is.EqualTo("")); } // [Test] @@ -239,7 +248,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests public void TestJsonWriteReadNotecard() { TestHelpers.InMethod(); - TestHelpers.EnableLogging(); +// TestHelpers.EnableLogging(); string notecardName = "nc1"; From 75f1e0431580975e5588b63025c7c94aedafb050 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 7 Feb 2013 23:58:19 +0000 Subject: [PATCH 531/851] Add tests for removing fake values/from fake store in TestJsonRemoveValue() Again, need to check if returning true for removing a value that doesn't exist is most appropriate. --- .../JsonStore/Tests/JsonStoreScriptModuleTests.cs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index d341901e68..297c33cc9d 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -208,6 +208,17 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests string returnValue2 = (string)InvokeOp("JsonGetValue", storeId, "Hello"); Assert.That(returnValue2, Is.EqualTo("")); + + // Test remove of non-existing value + int fakeValueRemove = (int)InvokeOp("JsonRemoveValue", storeId, "Hello"); + + // XXX: Is this the best response to removing a value that isn't there? + Assert.That(fakeValueRemove, Is.EqualTo(1)); + + // Test get from non-existing store + UUID fakeStoreId = TestHelpers.ParseTail(0x500); + int fakeStoreValueRemove = (int)InvokeOp("JsonRemoveValue", fakeStoreId, "Hello"); + Assert.That(fakeStoreValueRemove, Is.EqualTo(0)); } [Test] From be982666fb403aa5ee254903cdae0231131c6d70 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 8 Feb 2013 00:01:06 +0000 Subject: [PATCH 532/851] Extend TestJsonTestPath() regression test with checks against fake values and fake stores --- .../JsonStore/Tests/JsonStoreScriptModuleTests.cs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index 297c33cc9d..f2de0af71d 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -231,6 +231,14 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests int result = (int)InvokeOp("JsonTestPath", storeId, "Hello"); Assert.That(result, Is.EqualTo(1)); + + int result2 = (int)InvokeOp("JsonTestPath", storeId, "foo"); + Assert.That(result2, Is.EqualTo(0)); + + // Test with fake store + UUID fakeStoreId = TestHelpers.ParseTail(0x500); + int fakeStoreValueRemove = (int)InvokeOp("JsonTestPath", fakeStoreId, "Hello"); + Assert.That(fakeStoreValueRemove, Is.EqualTo(0)); } [Test] From bef8961578d060faea8900e3be4fb9a8a4fe783d Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 8 Feb 2013 00:04:05 +0000 Subject: [PATCH 533/851] Extend TestJsonSetValue() regressio ntes tto test against a fake store --- .../Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index f2de0af71d..73bc9554c4 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -254,6 +254,11 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests string value = (string)InvokeOp("JsonGetValue", storeId, "Fun"); Assert.That(value, Is.EqualTo("Times")); + + // Test with fake store + UUID fakeStoreId = TestHelpers.ParseTail(0x500); + int fakeStoreValueSet = (int)InvokeOp("JsonSetValue", fakeStoreId, "Hello", "World"); + Assert.That(fakeStoreValueSet, Is.EqualTo(0)); } /// From 24bfdbfb804293362bbdc86dd5bb46e6add26bcb Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 8 Feb 2013 00:36:20 +0000 Subject: [PATCH 534/851] Extend TestJsonWriteNotecard() regression test for cases with fake paths and fake stores. Also separates out TestJsonWriteReadNotecard() into separate write and read tests --- .../Tests/JsonStoreScriptModuleTests.cs | 69 ++++++++++++++++--- 1 file changed, 61 insertions(+), 8 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index 73bc9554c4..ce586bec0b 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -261,6 +261,65 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests Assert.That(fakeStoreValueSet, Is.EqualTo(0)); } + /// + /// Test for writing json to a notecard + /// + /// + /// TODO: Really needs to test correct receipt of the link_message event. Could do this by directly fetching + /// it via the MockScriptEngine or perhaps by a dummy script instance. + /// + [Test] + public void TestJsonWriteNotecard() + { + TestHelpers.InMethod(); +// TestHelpers.EnableLogging(); + + SceneObjectGroup so = SceneHelpers.CreateSceneObject(1, TestHelpers.ParseTail(0x1)); + m_scene.AddSceneObject(so); + + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ 'Hello':'World' }"); + + { + string notecardName = "nc1"; + + // Write notecard + UUID writeNotecardRequestId = (UUID)InvokeOpOnHost("JsonWriteNotecard", so.UUID, storeId, "/", notecardName); + Assert.That(writeNotecardRequestId, Is.Not.EqualTo(UUID.Zero)); + + TaskInventoryItem nc1Item = so.RootPart.Inventory.GetInventoryItem(notecardName); + Assert.That(nc1Item, Is.Not.Null); + + // TODO: Should independently check the contents. + } + + { + // Try to write notecard against bad path + // In this case we do get a request id but no notecard is written. + string badPathNotecardName = "badPathNotecardName"; + + UUID writeNotecardBadPathRequestId + = (UUID)InvokeOpOnHost("JsonWriteNotecard", so.UUID, storeId, "flibble", badPathNotecardName); + Assert.That(writeNotecardBadPathRequestId, Is.Not.EqualTo(UUID.Zero)); + + TaskInventoryItem badPathItem = so.RootPart.Inventory.GetInventoryItem(badPathNotecardName); + Assert.That(badPathItem, Is.Null); + } + + { + // Test with fake store + // In this case we do get a request id but no notecard is written. + string fakeStoreNotecardName = "fakeStoreNotecardName"; + + UUID fakeStoreId = TestHelpers.ParseTail(0x500); + UUID fakeStoreWriteNotecardValue + = (UUID)InvokeOpOnHost("JsonWriteNotecard", so.UUID, fakeStoreId, "/", fakeStoreNotecardName); + Assert.That(fakeStoreWriteNotecardValue, Is.Not.EqualTo(UUID.Zero)); + + TaskInventoryItem fakeStoreItem = so.RootPart.Inventory.GetInventoryItem(fakeStoreNotecardName); + Assert.That(fakeStoreItem, Is.Null); + } + } + /// /// Test for reading and writing json to a notecard /// @@ -269,7 +328,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests /// it via the MockScriptEngine or perhaps by a dummy script instance. /// [Test] - public void TestJsonWriteReadNotecard() + public void TestJsonReadNotecard() { TestHelpers.InMethod(); // TestHelpers.EnableLogging(); @@ -282,13 +341,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ 'Hello':'World' }"); // Write notecard - UUID writeNotecardRequestId = (UUID)InvokeOpOnHost("JsonWriteNotecard", so.UUID, storeId, "/", notecardName); - Assert.That(writeNotecardRequestId, Is.Not.EqualTo(UUID.Zero)); - - TaskInventoryItem nc1Item = so.RootPart.Inventory.GetInventoryItem(notecardName); - Assert.That(nc1Item, Is.Not.Null); - - // TODO: Should probably independently check the contents. + InvokeOpOnHost("JsonWriteNotecard", so.UUID, storeId, "/", notecardName); // Read notecard UUID receivingStoreId = (UUID)InvokeOp("JsonCreateStore", "{ 'Hello':'World' }"); From 9c9b48b29a97d97625330bbad7cddbe6d2dcd28d Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 8 Feb 2013 00:38:30 +0000 Subject: [PATCH 535/851] Stop wrongly create a receiving store already populated with "Hello":"World" in TestJsonReadNotecard() --- .../Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index ce586bec0b..6658e1e48e 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -344,12 +344,14 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests InvokeOpOnHost("JsonWriteNotecard", so.UUID, storeId, "/", notecardName); // Read notecard - UUID receivingStoreId = (UUID)InvokeOp("JsonCreateStore", "{ 'Hello':'World' }"); + UUID receivingStoreId = (UUID)InvokeOp("JsonCreateStore", "{ }"); UUID readNotecardRequestId = (UUID)InvokeOpOnHost("JsonReadNotecard", so.UUID, receivingStoreId, "/", notecardName); Assert.That(readNotecardRequestId, Is.Not.EqualTo(UUID.Zero)); string value = (string)InvokeOp("JsonGetValue", storeId, "Hello"); Assert.That(value, Is.EqualTo("World")); + + } public object DummyTestMethod(object o1, object o2, object o3, object o4, object o5) { return null; } From 528f23beab703e60ec522117a2a442e733565727 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 8 Feb 2013 01:02:25 +0000 Subject: [PATCH 536/851] Extend TestJsonReadNotecard() for reads to non-root locations and fake stores. Assertions for loading to non-root paths are currently commented out because this doesn't seem to be working. Will be raising mantis to resolve. --- .../Tests/JsonStoreScriptModuleTests.cs | 42 +++++++++++++++---- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index 6658e1e48e..7e0f03c2d2 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -321,7 +321,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests } /// - /// Test for reading and writing json to a notecard + /// Test for reading json from a notecard /// /// /// TODO: Really needs to test correct receipt of the link_message event. Could do this by directly fetching @@ -338,20 +338,44 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests SceneObjectGroup so = SceneHelpers.CreateSceneObject(1, TestHelpers.ParseTail(0x1)); m_scene.AddSceneObject(so); - UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ 'Hello':'World' }"); + UUID creatingStoreId = (UUID)InvokeOp("JsonCreateStore", "{ 'Hello':'World' }"); // Write notecard - InvokeOpOnHost("JsonWriteNotecard", so.UUID, storeId, "/", notecardName); + InvokeOpOnHost("JsonWriteNotecard", so.UUID, creatingStoreId, "/", notecardName); - // Read notecard - UUID receivingStoreId = (UUID)InvokeOp("JsonCreateStore", "{ }"); - UUID readNotecardRequestId = (UUID)InvokeOpOnHost("JsonReadNotecard", so.UUID, receivingStoreId, "/", notecardName); - Assert.That(readNotecardRequestId, Is.Not.EqualTo(UUID.Zero)); + { + // Read notecard + UUID receivingStoreId = (UUID)InvokeOp("JsonCreateStore", "{ }"); + UUID readNotecardRequestId = (UUID)InvokeOpOnHost("JsonReadNotecard", so.UUID, receivingStoreId, "/", notecardName); + Assert.That(readNotecardRequestId, Is.Not.EqualTo(UUID.Zero)); - string value = (string)InvokeOp("JsonGetValue", storeId, "Hello"); - Assert.That(value, Is.EqualTo("World")); + string value = (string)InvokeOp("JsonGetValue", receivingStoreId, "Hello"); + Assert.That(value, Is.EqualTo("World")); + } + { + // Read notecard to non-root path + UUID receivingStoreId = (UUID)InvokeOp("JsonCreateStore", "{ }"); + UUID readNotecardRequestId = (UUID)InvokeOpOnHost("JsonReadNotecard", so.UUID, receivingStoreId, "make/it/so", notecardName); + Assert.That(readNotecardRequestId, Is.Not.EqualTo(UUID.Zero)); + // These don't behave as I expect yet - reading to a path still seems to place the notecard contents at the root. +// string value = (string)InvokeOp("JsonGetValue", receivingStoreId, "Hello"); +// Assert.That(value, Is.EqualTo("")); +// +// value = (string)InvokeOp("JsonGetValue", receivingStoreId, "make/it/so/Hello"); +// Assert.That(value, Is.EqualTo("World")); + } + + { + // Try read notecard to fake store. + UUID fakeStoreId = TestHelpers.ParseTail(0x500); + UUID readNotecardRequestId = (UUID)InvokeOpOnHost("JsonReadNotecard", so.UUID, fakeStoreId, "/", notecardName); + Assert.That(fakeStoreId, Is.Not.EqualTo(UUID.Zero)); + + string value = (string)InvokeOp("JsonGetValue", fakeStoreId, "Hello"); + Assert.That(value, Is.EqualTo("")); + } } public object DummyTestMethod(object o1, object o2, object o3, object o4, object o5) { return null; } From ebb63b55aab98da6d44e82fc0ecfd5d22f245172 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Thu, 7 Feb 2013 11:53:49 -0800 Subject: [PATCH 537/851] BulletSim: add user setting of friction, density and restitution. --- .../Physics/BulletSPlugin/BSCharacter.cs | 5 +- .../Physics/BulletSPlugin/BSPhysObject.cs | 17 +++- .../Region/Physics/BulletSPlugin/BSPrim.cs | 99 +++++++++++++++---- 3 files changed, 94 insertions(+), 27 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs index 192bcb5f3a..d694a6a5e7 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs @@ -749,9 +749,10 @@ public sealed class BSCharacter : BSPhysObject _buoyancy = value; DetailLog("{0},BSCharacter.setForceBuoyancy,taint,buoy={1}", LocalID, _buoyancy); // Buoyancy is faked by changing the gravity applied to the object - float grav = PhysicsScene.Params.gravity * (1f - _buoyancy); + float grav = BSParam.Gravity * (1f - _buoyancy); + Gravity = new OMV.Vector3(0f, 0f, grav); if (PhysBody.HasPhysicalBody) - PhysicsScene.PE.SetGravity(PhysBody, new OMV.Vector3(0f, 0f, grav)); + PhysicsScene.PE.SetGravity(PhysBody, Gravity); } } diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs index ec25aa927e..0b35f3a31f 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs @@ -78,6 +78,10 @@ public abstract class BSPhysObject : PhysicsActor Name = name; // PhysicsActor also has the name of the object. Someday consolidate. TypeName = typeName; + // Initialize variables kept in base. + GravityModifier = 1.0f; + Gravity = new OMV.Vector3(0f, 0f, BSParam.Gravity); + // We don't have any physical representation yet. PhysBody = new BulletBody(localID); PhysShape = new BulletShape(); @@ -88,8 +92,8 @@ public abstract class BSPhysObject : PhysicsActor LastAssetBuildFailed = false; - // Default material type - Material = MaterialAttributes.Material.Wood; + // Default material type. Also sets Friction, Restitution and Density. + SetMaterial((int)MaterialAttributes.Material.Wood); CollisionCollection = new CollisionEventUpdate(); CollisionsLastTick = CollisionCollection; @@ -122,6 +126,8 @@ public abstract class BSPhysObject : PhysicsActor // 'inWorld' true if the object has already been added to the dynamic world. public abstract void UpdatePhysicalMassProperties(float mass, bool inWorld); + // The gravity being applied to the object. A function of default grav, GravityModifier and Buoyancy. + public virtual OMV.Vector3 Gravity { get; set; } // The last value calculated for the prim's inertia public OMV.Vector3 Inertia { get; set; } @@ -164,15 +170,16 @@ public abstract class BSPhysObject : PhysicsActor public override void SetMaterial(int material) { Material = (MaterialAttributes.Material)material; + MaterialAttributes matAttrib = BSMaterials.GetAttributes(Material, false); + Friction = matAttrib.friction; + Restitution = matAttrib.restitution; + Density = matAttrib.density; } // Stop all physical motion. public abstract void ZeroMotion(bool inTaintTime); public abstract void ZeroAngularMotion(bool inTaintTime); - // Step the vehicle simulation for this object. A NOOP if the vehicle was not configured. - public virtual void StepVehicle(float timeStep) { } - // Update the physical location and motion of the object. Called with data from Bullet. public abstract void UpdateProperties(EntityProperties entprop); diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs index 54bf063add..a86932a10b 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs @@ -55,7 +55,6 @@ public sealed class BSPrim : BSPhysObject private OMV.Vector3 _position; private float _mass; // the mass of this object - private float _density; private OMV.Vector3 _force; private OMV.Vector3 _velocity; private OMV.Vector3 _torque; @@ -64,8 +63,6 @@ public sealed class BSPrim : BSPhysObject private int _physicsActorType; private bool _isPhysical; private bool _flying; - private float _friction; - private float _restitution; private bool _setAlwaysRun; private bool _throttleUpdates; private bool _floatOnWater; @@ -101,12 +98,6 @@ public sealed class BSPrim : BSPhysObject _isPhysical = pisPhysical; _isVolumeDetect = false; - // Someday set default attributes based on the material but, for now, we don't know the prim material yet. - // MaterialAttributes primMat = BSMaterials.GetAttributes(Material, pisPhysical); - _density = PhysicsScene.Params.defaultDensity; - _friction = PhysicsScene.Params.defaultFriction; - _restitution = PhysicsScene.Params.defaultRestitution; - VehicleController = new BSDynamics(PhysicsScene, this); // add vehicleness _mass = CalculateMass(); @@ -457,11 +448,6 @@ public sealed class BSPrim : BSPhysObject { AddObjectToPhysicalWorld(); } - - // Must set gravity after it has been added to the world because, for unknown reasons, - // adding the object resets the object's gravity to world gravity - PhysicsScene.PE.SetGravity(PhysBody, grav); - } } } @@ -469,7 +455,7 @@ public sealed class BSPrim : BSPhysObject // Return what gravity should be set to this very moment public OMV.Vector3 ComputeGravity(float buoyancy) { - OMV.Vector3 ret = PhysicsScene.DefaultGravity; + OMV.Vector3 ret = PhysicsScene.DefaultGravity * GravityModifier; if (!IsStatic) ret *= (1f - buoyancy); @@ -596,6 +582,74 @@ public sealed class BSPrim : BSPhysObject } return; } + public override void SetMaterial(int material) + { + base.SetMaterial(material); + PhysicsScene.TaintedObject("BSPrim.SetMaterial", delegate() + { + UpdatePhysicalParameters(); + }); + } + public override float Friction + { + get { return base.Friction; } + set + { + if (base.Friction != value) + { + base.Friction = value; + PhysicsScene.TaintedObject("BSPrim.setFriction", delegate() + { + UpdatePhysicalParameters(); + }); + } + } + } + public override float Restitution + { + get { return base.Restitution; } + set + { + if (base.Restitution != value) + { + base.Restitution = value; + PhysicsScene.TaintedObject("BSPrim.setRestitution", delegate() + { + UpdatePhysicalParameters(); + }); + } + } + } + public override float Density + { + get { return base.Density; } + set + { + if (base.Density != value) + { + base.Density = value; + PhysicsScene.TaintedObject("BSPrim.setDensity", delegate() + { + UpdatePhysicalParameters(); + }); + } + } + } + public override float GravityModifier + { + get { return base.GravityModifier; } + set + { + if (base.GravityModifier != value) + { + base.GravityModifier = value; + PhysicsScene.TaintedObject("BSPrim.setGravityModifier", delegate() + { + UpdatePhysicalParameters(); + }); + } + } + } public override OMV.Vector3 RawVelocity { get { return _velocity; } @@ -810,8 +864,8 @@ public sealed class BSPrim : BSPhysObject // Set various physical properties so other object interact properly MaterialAttributes matAttrib = BSMaterials.GetAttributes(Material, false); - PhysicsScene.PE.SetFriction(PhysBody, matAttrib.friction); - PhysicsScene.PE.SetRestitution(PhysBody, matAttrib.restitution); + PhysicsScene.PE.SetFriction(PhysBody, Friction); + PhysicsScene.PE.SetRestitution(PhysBody, Restitution); // Mass is zero which disables a bunch of physics stuff in Bullet UpdatePhysicalMassProperties(0f, false); @@ -840,8 +894,8 @@ public sealed class BSPrim : BSPhysObject // Set various physical properties so other object interact properly MaterialAttributes matAttrib = BSMaterials.GetAttributes(Material, true); - PhysicsScene.PE.SetFriction(PhysBody, matAttrib.friction); - PhysicsScene.PE.SetRestitution(PhysBody, matAttrib.restitution); + PhysicsScene.PE.SetFriction(PhysBody, Friction); + PhysicsScene.PE.SetRestitution(PhysBody, Restitution); // per http://www.bulletphysics.org/Bullet/phpBB3/viewtopic.php?t=3382 // Since this can be called multiple times, only zero forces when becoming physical @@ -940,6 +994,11 @@ public sealed class BSPrim : BSPhysObject if (PhysBody.HasPhysicalBody) { PhysicsScene.PE.AddObjectToWorld(PhysicsScene.World, PhysBody); + + // Must set gravity after it has been added to the world because, for unknown reasons, + // adding the object resets the object's gravity to world gravity + OMV.Vector3 grav = ComputeGravity(Buoyancy); + PhysicsScene.PE.SetGravity(PhysBody, grav); } else { @@ -1581,7 +1640,7 @@ public sealed class BSPrim : BSPhysObject profileEnd = 1.0f - (float)BaseShape.ProfileEnd * 2.0e-5f; volume *= (profileEnd - profileBegin); - returnMass = _density * volume; + returnMass = Density * volume; /* Comment out code that computes the mass of the linkset. That is done in the Linkset class. if (IsRootOfLinkset) From b545e131846f38cc96757d5c4456c1ee8e7abe75 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Thu, 7 Feb 2013 14:44:12 -0800 Subject: [PATCH 538/851] BulletSim: fix exceptions caused by setting physical properties before the prim body is initialized. --- OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs index a86932a10b..38adb72d63 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs @@ -587,7 +587,8 @@ public sealed class BSPrim : BSPhysObject base.SetMaterial(material); PhysicsScene.TaintedObject("BSPrim.SetMaterial", delegate() { - UpdatePhysicalParameters(); + if (PhysBody.HasPhysicalBody) + UpdatePhysicalParameters(); }); } public override float Friction @@ -600,7 +601,8 @@ public sealed class BSPrim : BSPhysObject base.Friction = value; PhysicsScene.TaintedObject("BSPrim.setFriction", delegate() { - UpdatePhysicalParameters(); + if (PhysBody.HasPhysicalBody) + UpdatePhysicalParameters(); }); } } @@ -615,7 +617,8 @@ public sealed class BSPrim : BSPhysObject base.Restitution = value; PhysicsScene.TaintedObject("BSPrim.setRestitution", delegate() { - UpdatePhysicalParameters(); + if (PhysBody.HasPhysicalBody) + UpdatePhysicalParameters(); }); } } @@ -630,7 +633,8 @@ public sealed class BSPrim : BSPhysObject base.Density = value; PhysicsScene.TaintedObject("BSPrim.setDensity", delegate() { - UpdatePhysicalParameters(); + if (PhysBody.HasPhysicalBody) + UpdatePhysicalParameters(); }); } } @@ -645,7 +649,8 @@ public sealed class BSPrim : BSPhysObject base.GravityModifier = value; PhysicsScene.TaintedObject("BSPrim.setGravityModifier", delegate() { - UpdatePhysicalParameters(); + if (PhysBody.HasPhysicalBody) + UpdatePhysicalParameters(); }); } } From 913965256fecd4e25e06fe374fa5d8b8712a3b15 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Thu, 7 Feb 2013 17:05:40 -0800 Subject: [PATCH 539/851] BulletSim: Adapt BulletSim to the newer physical properties. Viewer dialog setting of friction, restitution, ... working. --- .../Physics/BulletSPlugin/BSPhysObject.cs | 4 +- .../Region/Physics/BulletSPlugin/BSPrim.cs | 54 +++++++++---------- 2 files changed, 28 insertions(+), 30 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs index 0b35f3a31f..0d8bb0304c 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs @@ -79,7 +79,7 @@ public abstract class BSPhysObject : PhysicsActor TypeName = typeName; // Initialize variables kept in base. - GravityModifier = 1.0f; + GravModifier = 1.0f; Gravity = new OMV.Vector3(0f, 0f, BSParam.Gravity); // We don't have any physical representation yet. @@ -170,6 +170,8 @@ public abstract class BSPhysObject : PhysicsActor public override void SetMaterial(int material) { Material = (MaterialAttributes.Material)material; + + // Setting the material sets the material attributes also. MaterialAttributes matAttrib = BSMaterials.GetAttributes(Material, false); Friction = matAttrib.friction; Restitution = matAttrib.restitution; diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs index 38adb72d63..85c2627f1c 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs @@ -423,8 +423,6 @@ public sealed class BSPrim : BSPhysObject } else { - OMV.Vector3 grav = ComputeGravity(Buoyancy); - if (inWorld) { // Changing interesting properties doesn't change proxy and collision cache @@ -434,15 +432,15 @@ public sealed class BSPrim : BSPhysObject } // The computation of mass props requires gravity to be set on the object. - PhysicsScene.PE.SetGravity(PhysBody, grav); + Gravity = ComputeGravity(Buoyancy); + PhysicsScene.PE.SetGravity(PhysBody, Gravity); Inertia = PhysicsScene.PE.CalculateLocalInertia(PhysShape, physMass); PhysicsScene.PE.SetMassProps(PhysBody, physMass, Inertia); PhysicsScene.PE.UpdateInertiaTensor(PhysBody); - // center of mass is at the zero of the object - // DEBUG DEBUG PhysicsScene.PE.SetCenterOfMassByPosRot(PhysBody, ForcePosition, ForceOrientation); - DetailLog("{0},BSPrim.UpdateMassProperties,mass={1},localInertia={2},grav={3},inWorld={4}", LocalID, physMass, Inertia, grav, inWorld); + DetailLog("{0},BSPrim.UpdateMassProperties,mass={1},localInertia={2},grav={3},inWorld={4}", + LocalID, physMass, Inertia, Gravity, inWorld); if (inWorld) { @@ -455,10 +453,13 @@ public sealed class BSPrim : BSPhysObject // Return what gravity should be set to this very moment public OMV.Vector3 ComputeGravity(float buoyancy) { - OMV.Vector3 ret = PhysicsScene.DefaultGravity * GravityModifier; + OMV.Vector3 ret = PhysicsScene.DefaultGravity; if (!IsStatic) + { ret *= (1f - buoyancy); + ret *= GravModifier; + } return ret; } @@ -587,8 +588,7 @@ public sealed class BSPrim : BSPhysObject base.SetMaterial(material); PhysicsScene.TaintedObject("BSPrim.SetMaterial", delegate() { - if (PhysBody.HasPhysicalBody) - UpdatePhysicalParameters(); + UpdatePhysicalParameters(); }); } public override float Friction @@ -601,8 +601,7 @@ public sealed class BSPrim : BSPhysObject base.Friction = value; PhysicsScene.TaintedObject("BSPrim.setFriction", delegate() { - if (PhysBody.HasPhysicalBody) - UpdatePhysicalParameters(); + UpdatePhysicalParameters(); }); } } @@ -617,8 +616,7 @@ public sealed class BSPrim : BSPhysObject base.Restitution = value; PhysicsScene.TaintedObject("BSPrim.setRestitution", delegate() { - if (PhysBody.HasPhysicalBody) - UpdatePhysicalParameters(); + UpdatePhysicalParameters(); }); } } @@ -633,24 +631,22 @@ public sealed class BSPrim : BSPhysObject base.Density = value; PhysicsScene.TaintedObject("BSPrim.setDensity", delegate() { - if (PhysBody.HasPhysicalBody) - UpdatePhysicalParameters(); + UpdatePhysicalParameters(); }); } } } - public override float GravityModifier + public override float GravModifier { - get { return base.GravityModifier; } + get { return base.GravModifier; } set { - if (base.GravityModifier != value) + if (base.GravModifier != value) { - base.GravityModifier = value; + base.GravModifier = value; PhysicsScene.TaintedObject("BSPrim.setGravityModifier", delegate() { - if (PhysBody.HasPhysicalBody) - UpdatePhysicalParameters(); + UpdatePhysicalParameters(); }); } } @@ -820,7 +816,12 @@ public sealed class BSPrim : BSPhysObject // collisionEvents: whether this object returns collision events public void UpdatePhysicalParameters() { - // DetailLog("{0},BSPrim.UpdatePhysicalParameters,entry,body={1},shape={2}", LocalID, BSBody, BSShape); + if (!PhysBody.HasPhysicalBody) + { + // This would only happen if updates are called for during initialization when the body is not set up yet. + DetailLog("{0},BSPrim.UpdatePhysicalParameters,taint,calledWithNoPhysBody", LocalID); + return; + } // Mangling all the physical properties requires the object not be in the physical world. // This is a NOOP if the object is not in the world (BulletSim and Bullet ignore objects not found). @@ -898,9 +899,9 @@ public sealed class BSPrim : BSPhysObject CurrentCollisionFlags = PhysicsScene.PE.RemoveFromCollisionFlags(PhysBody, CollisionFlags.CF_STATIC_OBJECT); // Set various physical properties so other object interact properly - MaterialAttributes matAttrib = BSMaterials.GetAttributes(Material, true); PhysicsScene.PE.SetFriction(PhysBody, Friction); PhysicsScene.PE.SetRestitution(PhysBody, Restitution); + // DetailLog("{0},BSPrim.MakeDynamic,frict={1},rest={2}", LocalID, Friction, Restitution); // per http://www.bulletphysics.org/Bullet/phpBB3/viewtopic.php?t=3382 // Since this can be called multiple times, only zero forces when becoming physical @@ -999,16 +1000,11 @@ public sealed class BSPrim : BSPhysObject if (PhysBody.HasPhysicalBody) { PhysicsScene.PE.AddObjectToWorld(PhysicsScene.World, PhysBody); - - // Must set gravity after it has been added to the world because, for unknown reasons, - // adding the object resets the object's gravity to world gravity - OMV.Vector3 grav = ComputeGravity(Buoyancy); - PhysicsScene.PE.SetGravity(PhysBody, grav); } else { m_log.ErrorFormat("{0} Attempt to add physical object without body. id={1}", LogHeader, LocalID); - DetailLog("{0},BSPrim.UpdatePhysicalParameters,addObjectWithoutBody,cType={1}", LocalID, PhysBody.collisionType); + DetailLog("{0},BSPrim.AddObjectToPhysicalWorld,addObjectWithoutBody,cType={1}", LocalID, PhysBody.collisionType); } } From 42f724f38011286733351a46dd8369951a581ce9 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 8 Feb 2013 01:59:27 +0000 Subject: [PATCH 540/851] Refine TestJsonReadNotecard() and use / instead of . to separate paths. An attack of the stupid meant that I was using / as a path separator. Fixing this makes the tests behave better, though still with some questions. Also, I imagine / shouldn't really put data in the root as that's not a valid identifier. This commit also fix the / mistake in other tests those this does not affect their outcomes. --- .../Tests/JsonStoreScriptModuleTests.cs | 61 ++++++++++++++----- 1 file changed, 46 insertions(+), 15 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index 7e0f03c2d2..ca88d1a146 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -283,7 +283,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests string notecardName = "nc1"; // Write notecard - UUID writeNotecardRequestId = (UUID)InvokeOpOnHost("JsonWriteNotecard", so.UUID, storeId, "/", notecardName); + UUID writeNotecardRequestId = (UUID)InvokeOpOnHost("JsonWriteNotecard", so.UUID, storeId, "", notecardName); Assert.That(writeNotecardRequestId, Is.Not.EqualTo(UUID.Zero)); TaskInventoryItem nc1Item = so.RootPart.Inventory.GetInventoryItem(notecardName); @@ -292,8 +292,10 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests // TODO: Should independently check the contents. } + // TODO: Write partial test + { - // Try to write notecard against bad path + // Try to write notecard for a bad path // In this case we do get a request id but no notecard is written. string badPathNotecardName = "badPathNotecardName"; @@ -312,7 +314,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests UUID fakeStoreId = TestHelpers.ParseTail(0x500); UUID fakeStoreWriteNotecardValue - = (UUID)InvokeOpOnHost("JsonWriteNotecard", so.UUID, fakeStoreId, "/", fakeStoreNotecardName); + = (UUID)InvokeOpOnHost("JsonWriteNotecard", so.UUID, fakeStoreId, "", fakeStoreNotecardName); Assert.That(fakeStoreWriteNotecardValue, Is.Not.EqualTo(UUID.Zero)); TaskInventoryItem fakeStoreItem = so.RootPart.Inventory.GetInventoryItem(fakeStoreNotecardName); @@ -341,12 +343,12 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests UUID creatingStoreId = (UUID)InvokeOp("JsonCreateStore", "{ 'Hello':'World' }"); // Write notecard - InvokeOpOnHost("JsonWriteNotecard", so.UUID, creatingStoreId, "/", notecardName); + InvokeOpOnHost("JsonWriteNotecard", so.UUID, creatingStoreId, "", notecardName); { // Read notecard - UUID receivingStoreId = (UUID)InvokeOp("JsonCreateStore", "{ }"); - UUID readNotecardRequestId = (UUID)InvokeOpOnHost("JsonReadNotecard", so.UUID, receivingStoreId, "/", notecardName); + UUID receivingStoreId = (UUID)InvokeOp("JsonCreateStore", "{}"); + UUID readNotecardRequestId = (UUID)InvokeOpOnHost("JsonReadNotecard", so.UUID, receivingStoreId, "", notecardName); Assert.That(readNotecardRequestId, Is.Not.EqualTo(UUID.Zero)); string value = (string)InvokeOp("JsonGetValue", receivingStoreId, "Hello"); @@ -354,23 +356,52 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests } { - // Read notecard to non-root path - UUID receivingStoreId = (UUID)InvokeOp("JsonCreateStore", "{ }"); - UUID readNotecardRequestId = (UUID)InvokeOpOnHost("JsonReadNotecard", so.UUID, receivingStoreId, "make/it/so", notecardName); + // Read notecard to new single component path + UUID receivingStoreId = (UUID)InvokeOp("JsonCreateStore", "{}"); + UUID readNotecardRequestId = (UUID)InvokeOpOnHost("JsonReadNotecard", so.UUID, receivingStoreId, "make", notecardName); Assert.That(readNotecardRequestId, Is.Not.EqualTo(UUID.Zero)); // These don't behave as I expect yet - reading to a path still seems to place the notecard contents at the root. -// string value = (string)InvokeOp("JsonGetValue", receivingStoreId, "Hello"); -// Assert.That(value, Is.EqualTo("")); -// -// value = (string)InvokeOp("JsonGetValue", receivingStoreId, "make/it/so/Hello"); -// Assert.That(value, Is.EqualTo("World")); + string value = (string)InvokeOp("JsonGetValue", receivingStoreId, "Hello"); + Assert.That(value, Is.EqualTo("")); + + value = (string)InvokeOp("JsonGetValue", receivingStoreId, "make.Hello"); + Assert.That(value, Is.EqualTo("World")); + } + + { + // Read notecard to new multi-component path + UUID receivingStoreId = (UUID)InvokeOp("JsonCreateStore", "{}"); + UUID readNotecardRequestId = (UUID)InvokeOpOnHost("JsonReadNotecard", so.UUID, receivingStoreId, "make.it", notecardName); + Assert.That(readNotecardRequestId, Is.Not.EqualTo(UUID.Zero)); + + // These don't behave as I expect yet - reading to a path still seems to place the notecard contents at the root. + string value = (string)InvokeOp("JsonGetValue", receivingStoreId, "Hello"); + Assert.That(value, Is.EqualTo("")); + + // TODO: Check that we are not expecting reading to a new path to work. + value = (string)InvokeOp("JsonGetValue", receivingStoreId, "make.it.Hello"); + Assert.That(value, Is.EqualTo("")); + } + + { + // Read notecard to existing multi-component path + UUID receivingStoreId = (UUID)InvokeOp("JsonCreateStore", "{ 'make' : { 'it' : 'so' } }"); + UUID readNotecardRequestId = (UUID)InvokeOpOnHost("JsonReadNotecard", so.UUID, receivingStoreId, "make.it", notecardName); + Assert.That(readNotecardRequestId, Is.Not.EqualTo(UUID.Zero)); + + // These don't behave as I expect yet - reading to a path still seems to place the notecard contents at the root. + string value = (string)InvokeOp("JsonGetValue", receivingStoreId, "Hello"); + Assert.That(value, Is.EqualTo("")); + + value = (string)InvokeOp("JsonGetValue", receivingStoreId, "make.it.Hello"); + Assert.That(value, Is.EqualTo("World")); } { // Try read notecard to fake store. UUID fakeStoreId = TestHelpers.ParseTail(0x500); - UUID readNotecardRequestId = (UUID)InvokeOpOnHost("JsonReadNotecard", so.UUID, fakeStoreId, "/", notecardName); + UUID readNotecardRequestId = (UUID)InvokeOpOnHost("JsonReadNotecard", so.UUID, fakeStoreId, "", notecardName); Assert.That(fakeStoreId, Is.Not.EqualTo(UUID.Zero)); string value = (string)InvokeOp("JsonGetValue", fakeStoreId, "Hello"); From 221a90e3a16a16708d183bab92bd4bff92c8139c Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 8 Feb 2013 02:34:13 +0000 Subject: [PATCH 541/851] On IAR loading, if loading of a coaleseced item entirely fails, then continue with the IAR load rather than failing completely. --- .../Archiver/InventoryArchiveReadRequest.cs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs index 50698031ad..ecbd07fab6 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs @@ -487,6 +487,14 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver { // m_log.DebugFormat( // "[INVENTORY ARCHIVER]: Loaded coalescence {0} has {1} objects", assetId, coa.Count); + + if (coa.Objects.Count == 0) + { + m_log.WarnFormat( + "[INVENTORY ARCHIVE READ REQUEST]: Aborting load of coalesced object from asset {0} as it has zero loaded components", + assetId); + return false; + } sceneObjects.AddRange(coa.Objects); } @@ -495,7 +503,17 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver SceneObjectGroup deserializedObject = SceneObjectSerializer.FromOriginalXmlFormat(xmlData); if (deserializedObject != null) + { sceneObjects.Add(deserializedObject); + } + else + { + m_log.WarnFormat( + "[INVENTORY ARCHIVE READ REQUEST]: Aborting load of object from asset {0} as deserialization failed", + assetId); + + return false; + } } foreach (SceneObjectGroup sog in sceneObjects) From c2bf91c5e3bda35034a49f4cfacc30f73c0ee688 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 8 Feb 2013 02:45:30 +0000 Subject: [PATCH 542/851] If a component of a coalesced object fails to deserialization, do not add a null where the object should be. This prevents a later load IAR failure. This code is currently only used by IAR loading. --- .../CoalescedSceneObjectsSerializer.cs | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/Serialization/CoalescedSceneObjectsSerializer.cs b/OpenSim/Region/Framework/Scenes/Serialization/CoalescedSceneObjectsSerializer.cs index a4f730d375..5cb271ddad 100644 --- a/OpenSim/Region/Framework/Scenes/Serialization/CoalescedSceneObjectsSerializer.cs +++ b/OpenSim/Region/Framework/Scenes/Serialization/CoalescedSceneObjectsSerializer.cs @@ -42,9 +42,6 @@ namespace OpenSim.Region.Framework.Scenes.Serialization /// /// Serialize and deserialize coalesced scene objects. /// - /// - /// Deserialization not yet here. - /// public class CoalescedSceneObjectsSerializer { private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); @@ -128,6 +125,7 @@ namespace OpenSim.Region.Framework.Scenes.Serialization // m_log.DebugFormat("[COALESCED SCENE OBJECTS SERIALIZER]: TryFromXml() deserializing {0}", xml); coa = null; + int i = 0; using (StringReader sr = new StringReader(xml)) { @@ -153,7 +151,23 @@ namespace OpenSim.Region.Framework.Scenes.Serialization if (reader.Name == "SceneObjectGroup") { string soXml = reader.ReadOuterXml(); - coa.Add(SceneObjectSerializer.FromOriginalXmlFormat(soXml)); + + SceneObjectGroup so = SceneObjectSerializer.FromOriginalXmlFormat(soXml); + + if (so != null) + { + coa.Add(so); + } + else + { + // XXX: Possibly we should fail outright here rather than continuing if a particular component of the + // coalesced object fails to load. + m_log.WarnFormat( + "[COALESCED SCENE OBJECTS SERIALIZER]: Deserialization of xml for component {0} failed. Continuing.", + i); + } + + i++; } } From 2b5eba9c7438ef0175c91c1910ce2d660d930fed Mon Sep 17 00:00:00 2001 From: Mic Bowman Date: Fri, 8 Feb 2013 12:00:16 -0800 Subject: [PATCH 543/851] Fix the return values for JsonDestroyStore, JsonRemoveValue, and JsonSetValue. Fix the link message status when reading a notecard. --- .../Scripting/JsonStore/JsonStore.cs | 17 +++++++++++++---- .../Scripting/JsonStore/JsonStoreModule.cs | 8 +++----- .../JsonStore/JsonStoreScriptModule.cs | 2 +- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs index 5808d46d51..c7f0001e06 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs @@ -250,6 +250,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore return true; } + // pkey will be the final element in the path, we pull it out here to make sure + // that the assignment works correctly string pkey = path.Pop(); string pexpr = PathExpressionToKey(path); if (pexpr != "") @@ -259,7 +261,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore if (result == null) return false; - // Check for and extract array references + // Check pkey, the last element in the path, for and extract array references MatchCollection amatches = m_ArrayPattern.Matches(pkey,0); if (amatches.Count > 0) { @@ -307,16 +309,23 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore if (result is OSDMap) { + // this is the assignment case OSDMap hmap = result as OSDMap; if (ovalue != null) { hmap[hkey] = ovalue; InvokeNextCallback(pexpr + pkey); + return true; } - else if (hmap.ContainsKey(hkey)) + + // this is the remove case + if (hmap.ContainsKey(hkey)) + { hmap.Remove(hkey); - - return true; + return true; + } + + return false; } return false; diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs index 3b52e445b3..3249aa3216 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs @@ -239,7 +239,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore if (! m_enabled) return false; lock (m_JsonValueStore) - m_JsonValueStore.Remove(storeID); + return m_JsonValueStore.Remove(storeID); return true; } @@ -311,8 +311,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore try { lock (map) - if (map.SetValue(path,value,useJson)) - return true; + return map.SetValue(path,value,useJson); } catch (Exception e) { @@ -344,8 +343,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore try { lock (map) - if (map.RemoveValue(path)) - return true; + return map.RemoveValue(path); } catch (Exception e) { diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs index 48b4a9f302..d75cd32e64 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs @@ -504,7 +504,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore { string jsondata = SLUtil.ParseNotecardToString(Encoding.UTF8.GetString(a.Data)); int result = m_store.SetValue(storeID, path, jsondata,true) ? 1 : 0; - m_comms.DispatchReply(scriptID,result, "", reqID.ToString()); + m_comms.DispatchReply(scriptID, result, "", reqID.ToString()); return; } catch (Exception e) From b08977ea7d9e35066e3cbf367fad58c2d8bc227e Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 8 Feb 2013 21:21:20 +0000 Subject: [PATCH 544/851] Don't allow exceptions to propogate from FlotsamAssetCache which may occur when deleting expired files or stamping the region status file. Changes various error level log lines to warn since these are not fatal to the operation of OpenSimulator --- .../CoreModules/Asset/FlotsamAssetCache.cs | 93 ++++++++++++------- 1 file changed, 59 insertions(+), 34 deletions(-) diff --git a/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs b/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs index 00af1750e2..3cba9b4afd 100644 --- a/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs +++ b/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs @@ -299,7 +299,7 @@ namespace OpenSim.Region.CoreModules.Asset } catch (Exception e) { - m_log.ErrorFormat( + m_log.WarnFormat( "[FLOTSAM ASSET CACHE]: Failed to update cache for asset {0}. Exception {1} {2}", asset.ID, e.Message, e.StackTrace); } @@ -339,12 +339,13 @@ namespace OpenSim.Region.CoreModules.Asset /// Try to get an asset from the file cache. /// /// - /// + /// An asset retrieved from the file cache. null if there was a problem retrieving an asset. private AssetBase GetFromFileCache(string id) { AssetBase asset = null; - + string filename = GetFileName(id); + if (File.Exists(filename)) { FileStream stream = null; @@ -359,7 +360,7 @@ namespace OpenSim.Region.CoreModules.Asset } catch (System.Runtime.Serialization.SerializationException e) { - m_log.ErrorFormat( + m_log.WarnFormat( "[FLOTSAM ASSET CACHE]: Failed to get file {0} for asset {1}. Exception {2} {3}", filename, id, e.Message, e.StackTrace); @@ -371,7 +372,7 @@ namespace OpenSim.Region.CoreModules.Asset } catch (Exception e) { - m_log.ErrorFormat( + m_log.WarnFormat( "[FLOTSAM ASSET CACHE]: Failed to get file {0} for asset {1}. Exception {2} {3}", filename, id, e.Message, e.StackTrace); } @@ -469,7 +470,7 @@ namespace OpenSim.Region.CoreModules.Asset } catch (Exception e) { - m_log.ErrorFormat( + m_log.WarnFormat( "[FLOTSAM ASSET CACHE]: Failed to expire cached file {0}. Exception {1} {2}", id, e.Message, e.StackTrace); } @@ -520,29 +521,39 @@ namespace OpenSim.Region.CoreModules.Asset /// private void CleanExpiredFiles(string dir, DateTime purgeLine) { - foreach (string file in Directory.GetFiles(dir)) + try { - if (File.GetLastAccessTime(file) < purgeLine) + foreach (string file in Directory.GetFiles(dir)) { - File.Delete(file); + if (File.GetLastAccessTime(file) < purgeLine) + { + File.Delete(file); + } + } + + // Recurse into lower tiers + foreach (string subdir in Directory.GetDirectories(dir)) + { + CleanExpiredFiles(subdir, purgeLine); + } + + // Check if a tier directory is empty, if so, delete it + int dirSize = Directory.GetFiles(dir).Length + Directory.GetDirectories(dir).Length; + if (dirSize == 0) + { + Directory.Delete(dir); + } + else if (dirSize >= m_CacheWarnAt) + { + m_log.WarnFormat( + "[FLOTSAM ASSET CACHE]: Cache folder exceeded CacheWarnAt limit {0} {1}. Suggest increasing tiers, tier length, or reducing cache expiration", + dir, dirSize); } } - - // Recurse into lower tiers - foreach (string subdir in Directory.GetDirectories(dir)) + catch (Exception e) { - CleanExpiredFiles(subdir, purgeLine); - } - - // Check if a tier directory is empty, if so, delete it - int dirSize = Directory.GetFiles(dir).Length + Directory.GetDirectories(dir).Length; - if (dirSize == 0) - { - Directory.Delete(dir); - } - else if (dirSize >= m_CacheWarnAt) - { - m_log.WarnFormat("[FLOTSAM ASSET CACHE]: Cache folder exceeded CacheWarnAt limit {0} {1}. Suggest increasing tiers, tier length, or reducing cache expiration", dir, dirSize); + m_log.Warn( + string.Format("[FLOTSAM ASSET CACHE]: Could not complete clean of expired files in {0}, exception ", dir), e); } } @@ -601,7 +612,7 @@ namespace OpenSim.Region.CoreModules.Asset } catch (IOException e) { - m_log.ErrorFormat( + m_log.WarnFormat( "[FLOTSAM ASSET CACHE]: Failed to write asset {0} to temporary location {1} (final {2}) on cache in {3}. Exception {4} {5}.", asset.ID, tempname, filename, directory, e.Message, e.StackTrace); @@ -680,17 +691,31 @@ namespace OpenSim.Region.CoreModules.Asset /// /// This notes the last time the Region had a deep asset scan performed on it. /// - /// - private void StampRegionStatusFile(UUID RegionID) + /// + private void StampRegionStatusFile(UUID regionID) { - string RegionCacheStatusFile = Path.Combine(m_CacheDirectory, "RegionStatus_" + RegionID.ToString() + ".fac"); - if (File.Exists(RegionCacheStatusFile)) + string RegionCacheStatusFile = Path.Combine(m_CacheDirectory, "RegionStatus_" + regionID.ToString() + ".fac"); + + try { - File.SetLastWriteTime(RegionCacheStatusFile, DateTime.Now); + if (File.Exists(RegionCacheStatusFile)) + { + File.SetLastWriteTime(RegionCacheStatusFile, DateTime.Now); + } + else + { + File.WriteAllText( + RegionCacheStatusFile, + "Please do not delete this file unless you are manually clearing your Flotsam Asset Cache."); + } } - else + catch (Exception e) { - File.WriteAllText(RegionCacheStatusFile, "Please do not delete this file unless you are manually clearing your Flotsam Asset Cache."); + m_log.Warn( + string.Format( + "[FLOTSAM ASSET CACHE]: Could not stamp region status file for region {0}. Exception ", + regionID), + e); } } @@ -759,7 +784,7 @@ namespace OpenSim.Region.CoreModules.Asset } catch (Exception e) { - m_log.ErrorFormat( + m_log.WarnFormat( "[FLOTSAM ASSET CACHE]: Couldn't clear asset cache directory {0} from {1}. Exception {2} {3}", dir, m_CacheDirectory, e.Message, e.StackTrace); } @@ -773,7 +798,7 @@ namespace OpenSim.Region.CoreModules.Asset } catch (Exception e) { - m_log.ErrorFormat( + m_log.WarnFormat( "[FLOTSAM ASSET CACHE]: Couldn't clear asset cache file {0} from {1}. Exception {1} {2}", file, m_CacheDirectory, e.Message, e.StackTrace); } From e93defd0ca326754d1bd5a1a503d6d47428272be Mon Sep 17 00:00:00 2001 From: Mic Bowman Date: Fri, 8 Feb 2013 15:07:43 -0800 Subject: [PATCH 545/851] Adds size limits to JsonStore. Adds a separate configuration variable to enable binding to dynamic attributes. --- .../Scripting/JsonStore/JsonStore.cs | 51 ++++++++++++++++++- .../Scripting/JsonStore/JsonStoreModule.cs | 17 +++++++ bin/OpenSimDefaults.ini | 4 ++ 3 files changed, 70 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs index c7f0001e06..088d0cdf88 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs @@ -93,6 +93,15 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore // extract the internals of a has reference protected static Regex m_HashPattern = new Regex("{([^}]+)}"); + // ----------------------------------------------------------------- + /// + /// This is a simple estimator for the size of the stored data, it + /// is not precise, but should be close enough to implement reasonable + /// limits on the storage space used + /// + // ----------------------------------------------------------------- + public int StringSpace { get; set; } + // ----------------------------------------------------------------- /// /// @@ -110,6 +119,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore // ----------------------------------------------------------------- public JsonStore() { + StringSpace = 0; m_TakeStore = new List(); m_ReadStore = new List(); } @@ -247,6 +257,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore if (path.Count == 0) { ValueStore = ovalue; + StringSpace = 0; return true; } @@ -278,8 +289,13 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore { string npkey = String.Format("[{0}]",amap.Count); - amap.Add(ovalue); - InvokeNextCallback(pexpr + npkey); + if (ovalue != null) + { + StringSpace += ComputeSizeOf(ovalue); + + amap.Add(ovalue); + InvokeNextCallback(pexpr + npkey); + } return true; } @@ -287,9 +303,14 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore if (0 <= aval && aval < amap.Count) { if (ovalue == null) + { + StringSpace -= ComputeSizeOf(amap[aval]); amap.RemoveAt(aval); + } else { + StringSpace -= ComputeSizeOf(amap[aval]); + StringSpace += ComputeSizeOf(ovalue); amap[aval] = ovalue; InvokeNextCallback(pexpr + pkey); } @@ -313,6 +334,9 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore OSDMap hmap = result as OSDMap; if (ovalue != null) { + StringSpace -= ComputeSizeOf(hmap[hkey]); + StringSpace += ComputeSizeOf(ovalue); + hmap[hkey] = ovalue; InvokeNextCallback(pexpr + pkey); return true; @@ -321,6 +345,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore // this is the remove case if (hmap.ContainsKey(hkey)) { + StringSpace -= ComputeSizeOf(hmap[hkey]); hmap.Remove(hkey); return true; } @@ -531,8 +556,27 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore return pkey; } + + // ----------------------------------------------------------------- + /// + /// + /// + // ----------------------------------------------------------------- + protected static int ComputeSizeOf(OSD value) + { + string sval; + + if (ConvertOutputValue(value,out sval,true)) + return sval.Length; + + return 0; + } } + // ----------------------------------------------------------------- + /// + /// + // ----------------------------------------------------------------- public class JsonObjectStore : JsonStore { private static readonly ILog m_log = @@ -566,6 +610,9 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore { m_scene = scene; m_objectID = oid; + + // the size limit is imposed on whatever is already in the store + StringSpace = ComputeSizeOf(ValueStore); } } diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs index 3249aa3216..f1ce856995 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs @@ -54,6 +54,9 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore private IConfig m_config = null; private bool m_enabled = false; + private bool m_enableObjectStore = false; + private int m_maxStringSpace = Int32.MaxValue; + private Scene m_scene = null; private Dictionary m_JsonValueStore; @@ -90,6 +93,10 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore } m_enabled = m_config.GetBoolean("Enabled", m_enabled); + m_enableObjectStore = m_config.GetBoolean("EnableObjectStore", m_enableObjectStore); + m_maxStringSpace = m_config.GetInt("MaxStringSpace", m_maxStringSpace); + if (m_maxStringSpace == 0) + m_maxStringSpace = Int32.MaxValue; } catch (Exception e) { @@ -178,6 +185,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore public bool AttachObjectStore(UUID objectID) { if (! m_enabled) return false; + if (! m_enableObjectStore) return false; SceneObjectPart sop = m_scene.GetSceneObjectPart(objectID); if (sop == null) @@ -311,7 +319,16 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore try { lock (map) + { + if (map.StringSpace > m_maxStringSpace) + { + m_log.WarnFormat("[JsonStore] {0} exceeded string size; {1} bytes used of {2} limit", + storeID,map.StringSpace,m_maxStringSpace); + return false; + } + return map.SetValue(path,value,useJson); + } } catch (Exception e) { diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 7bdfd1ce30..2512428757 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1652,6 +1652,10 @@ [JsonStore] Enabled = False +;; Enable direct access to the SOP dynamic attributes +EnableObjectStore = False +MaxStringSpace = 0 + ;; ;; These are defaults that are overwritten below in [Architecture]. ;; These defaults allow OpenSim to work out of the box with From 6d825d7ea22f5accd1324a4ef8800eddb8dc86da Mon Sep 17 00:00:00 2001 From: Mic Bowman Date: Fri, 8 Feb 2013 15:46:42 -0800 Subject: [PATCH 546/851] Broaden the internal OSD type checks to parse JSON that has non string values. --- .../Scripting/JsonStore/JsonStore.cs | 31 +++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs index 088d0cdf88..5c89717e49 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs @@ -145,7 +145,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore if (result == null) return false; - if (useJson || result.Type == OSDType.String) + if (useJson || OSDBaseType(result.Type)) return true; return false; @@ -531,7 +531,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore return true; } - if (result.Type == OSDType.String) + if (OSDBaseType(result.Type)) { value = result.AsString(); return true; @@ -557,6 +557,33 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore return pkey; } + // ----------------------------------------------------------------- + /// + /// + /// + // ----------------------------------------------------------------- + protected static bool OSDBaseType(OSDType type) + { + // Should be the list of base types for which AsString() returns + // something useful + if (type == OSDType.Boolean) + return true; + if (type == OSDType.Integer) + return true; + if (type == OSDType.Real) + return true; + if (type == OSDType.String) + return true; + if (type == OSDType.UUID) + return true; + if (type == OSDType.Date) + return true; + if (type == OSDType.URI) + return true; + + return false; + } + // ----------------------------------------------------------------- /// /// From 2fd184e350874d3751a30e368d5f7ee0f41d4b85 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Thu, 7 Feb 2013 21:54:48 -0800 Subject: [PATCH 547/851] BulletSim: reclass BSPrim into layers so linkset and physical world displacement is implemented as overlay classes rather than if statements scattered about. --- .../Physics/BulletSPlugin/BSPrimDisplaced.cs | 118 ++++++++++++ .../Physics/BulletSPlugin/BSPrimLinkable.cs | 179 ++++++++++++++++++ 2 files changed, 297 insertions(+) create mode 100755 OpenSim/Region/Physics/BulletSPlugin/BSPrimDisplaced.cs create mode 100755 OpenSim/Region/Physics/BulletSPlugin/BSPrimLinkable.cs diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrimDisplaced.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrimDisplaced.cs new file mode 100755 index 0000000000..64013086af --- /dev/null +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrimDisplaced.cs @@ -0,0 +1,118 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The quotations from http://wiki.secondlife.com/wiki/Linden_Vehicle_Tutorial + * are Copyright (c) 2009 Linden Research, Inc and are used under their license + * of Creative Commons Attribution-Share Alike 3.0 + * (http://creativecommons.org/licenses/by-sa/3.0/). + */ + +using System; +using System.Collections.Generic; +using System.Reflection; +using System.Runtime.InteropServices; +using OpenMetaverse; +using OpenSim.Framework; +using OpenSim.Region.Physics.Manager; + +using OMV = OpenMetaverse; + +namespace OpenSim.Region.Physics.BulletSPlugin +{ +public class BSPrimDisplaced : BSPrim +{ + // 'Position' and 'Orientation' is what the simulator thinks the positions of the prim is. + // Because Bullet needs the zero coordinate to be the center of mass of the linkset, + // sometimes it is necessary to displace the position the physics engine thinks + // the position is. PositionDisplacement must be added and removed from the + // position as the simulator position is stored and fetched from the physics + // engine. Similar to OrientationDisplacement. + public virtual OMV.Vector3 PositionDisplacement { get; set; } + public virtual OMV.Quaternion OrientationDisplacement { get; set; } + public virtual OMV.Vector3 CenterOfMassLocation { get; set; } + public virtual OMV.Vector3 GeometricCenterLocation { get; set; } + + public BSPrimDisplaced(uint localID, String primName, BSScene parent_scene, OMV.Vector3 pos, OMV.Vector3 size, + OMV.Quaternion rotation, PrimitiveBaseShape pbs, bool pisPhysical) + : base(localID, primName, parent_scene, pos, size, rotation, pbs, pisPhysical) + { + CenterOfMassLocation = RawPosition; + GeometricCenterLocation = RawPosition; + } + + public override Vector3 ForcePosition + { + get + { + return base.ForcePosition; + } + set + { + base.ForcePosition = value; + CenterOfMassLocation = RawPosition; + GeometricCenterLocation = RawPosition; + } + } + + public override Quaternion ForceOrientation + { + get + { + return base.ForceOrientation; + } + set + { + base.ForceOrientation = value; + } + } + + // Is this used? + public override OMV.Vector3 CenterOfMass + { + get { return CenterOfMassLocation; } + } + + // Is this used? + public override OMV.Vector3 GeometricCenter + { + get { return GeometricCenterLocation; } + } + + + public override void UpdateProperties(EntityProperties entprop) + { + // Undo any center-of-mass displacement that might have been done. + if (PositionDisplacement != OMV.Vector3.Zero) + { + // Correct for any rotation around the center-of-mass + // TODO!!! + entprop.Position -= PositionDisplacement; + } + + base.UpdateProperties(entprop); + } +} +} diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrimLinkable.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrimLinkable.cs new file mode 100755 index 0000000000..fd66d1cf24 --- /dev/null +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrimLinkable.cs @@ -0,0 +1,179 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyrightD + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +using OpenSim.Framework; + +using OMV = OpenMetaverse; + +namespace OpenSim.Region.Physics.BulletSPlugin +{ +public class BSPrimLinkable : BSPrimDisplaced +{ + public BSLinkset Linkset { get; set; } + public BSLinksetInfo LinksetInfo { get; set; } + + public BSPrimLinkable(uint localID, String primName, BSScene parent_scene, OMV.Vector3 pos, OMV.Vector3 size, + OMV.Quaternion rotation, PrimitiveBaseShape pbs, bool pisPhysical) + : base(localID, primName, parent_scene, pos, size, rotation, pbs, pisPhysical) + { + Linkset = BSLinkset.Factory(PhysicsScene, this); + + PhysicsScene.TaintedObject("BSPrimLinksetCompound.Refresh", delegate() + { + Linkset.Refresh(this); + }); + } + + public override void Destroy() + { + Linkset = Linkset.RemoveMeFromLinkset(this); + base.Destroy(); + } + + public override BSPhysicsShapeType PreferredPhysicalShape + { get { return Linkset.PreferredPhysicalShape(this); } } + + public override void link(Manager.PhysicsActor obj) + { + BSPrimLinkable parent = obj as BSPrimLinkable; + if (parent != null) + { + BSPhysObject parentBefore = Linkset.LinksetRoot; + int childrenBefore = Linkset.NumberOfChildren; + + Linkset = parent.Linkset.AddMeToLinkset(this); + + DetailLog("{0},BSPrimLinkset.link,call,parentBefore={1}, childrenBefore=={2}, parentAfter={3}, childrenAfter={4}", + LocalID, parentBefore.LocalID, childrenBefore, Linkset.LinksetRoot.LocalID, Linkset.NumberOfChildren); + } + return; + } + + public override void delink() + { + // TODO: decide if this parent checking needs to happen at taint time + // Race condition here: if link() and delink() in same simulation tick, the delink will not happen + + BSPhysObject parentBefore = Linkset.LinksetRoot; + int childrenBefore = Linkset.NumberOfChildren; + + Linkset = Linkset.RemoveMeFromLinkset(this); + + DetailLog("{0},BSPrimLinkset.delink,parentBefore={1},childrenBefore={2},parentAfter={3},childrenAfter={4}, ", + LocalID, parentBefore.LocalID, childrenBefore, Linkset.LinksetRoot.LocalID, Linkset.NumberOfChildren); + return; + base.delink(); + } + + // When simulator changes position, this might be moving a child of the linkset. + public override OMV.Vector3 Position + { + get { return base.Position; } + set + { + base.Position = value; + PhysicsScene.TaintedObject("BSPrimLinkset.setPosition", delegate() + { + Linkset.UpdateProperties(UpdatedProperties.Position, this); + }); + } + } + + // When simulator changes orientation, this might be moving a child of the linkset. + public override OMV.Quaternion Orientation + { + get { return base.Orientation; } + set + { + base.Orientation = value; + PhysicsScene.TaintedObject("BSPrimLinkset.setOrientation", delegate() + { + Linkset.UpdateProperties(UpdatedProperties.Orientation, this); + }); + } + } + + public override float TotalMass + { + get { return Linkset.LinksetMass; } + } + + public override void UpdatePhysicalParameters() + { + base.UpdatePhysicalParameters(); + // Recompute any linkset parameters. + // When going from non-physical to physical, this re-enables the constraints that + // had been automatically disabled when the mass was set to zero. + // For compound based linksets, this enables and disables interactions of the children. + Linkset.Refresh(this); + } + + protected override void MakeDynamic(bool makeStatic) + { + base.MakeDynamic(makeStatic); + if (makeStatic) + Linkset.MakeStatic(this); + else + Linkset.MakeDynamic(this); + } + + // Body is being taken apart. Remove physical dependencies and schedule a rebuild. + protected override void RemoveBodyDependencies() + { + Linkset.RemoveBodyDependencies(this); + base.RemoveBodyDependencies(); + } + + public override void UpdateProperties(EntityProperties entprop) + { + if (Linkset.IsRoot(this)) + { + // Properties are only updated for the roots of a linkset. + // TODO: this will have to change when linksets are articulated. + base.UpdateProperties(entprop); + } + Linkset.UpdateProperties(UpdatedProperties.EntPropUpdates, this); + + } + + public override bool Collide(uint collidingWith, BSPhysObject collidee, + OMV.Vector3 contactPoint, OMV.Vector3 contactNormal, float pentrationDepth) + { + // prims in the same linkset cannot collide with each other + BSPrimLinkable convCollidee = collidee as BSPrimLinkable; + if (convCollidee != null && (this.Linkset.LinksetID == convCollidee.Linkset.LinksetID)) + { + return false; + } + return base.Collide(collidingWith, collidee, contactPoint, contactNormal, pentrationDepth); + } +} +} From 1b203601f43662541526369f540dd04f5b485be6 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Thu, 7 Feb 2013 21:57:31 -0800 Subject: [PATCH 548/851] BulletSim: include the linkage to the layered prim implementation. Separate layers for physical (vs simulator) location displacement and linksets. --- .../Physics/BulletSPlugin/BSCharacter.cs | 2 +- .../Physics/BulletSPlugin/BSDynamics.cs | 2 +- .../Region/Physics/BulletSPlugin/BSLinkset.cs | 48 ++-- .../BulletSPlugin/BSLinksetCompound.cs | 32 +-- .../BulletSPlugin/BSLinksetConstraints.cs | 30 +-- .../Physics/BulletSPlugin/BSPhysObject.cs | 21 -- .../Region/Physics/BulletSPlugin/BSPrim.cs | 207 +++++------------- .../Region/Physics/BulletSPlugin/BSScene.cs | 4 +- 8 files changed, 115 insertions(+), 231 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs index d694a6a5e7..0afc4372d6 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs @@ -901,7 +901,7 @@ public sealed class BSCharacter : BSPhysObject CurrentEntityProperties = entprop; // Tell the linkset about value changes - Linkset.UpdateProperties(UpdatedProperties.EntPropUpdates, this); + // Linkset.UpdateProperties(UpdatedProperties.EntPropUpdates, this); // Avatars don't report their changes the usual way. Changes are checked for in the heartbeat loop. // base.RequestPhysicsterseUpdate(); diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs index b51e9fd17a..41d353a807 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs @@ -597,7 +597,7 @@ namespace OpenSim.Region.Physics.BulletSPlugin if (IsActive) { // Remember the mass so we don't have to fetch it every step - m_vehicleMass = Prim.Linkset.LinksetMass; + m_vehicleMass = Prim.TotalMass; // Friction affects are handled by this vehicle code PhysicsScene.PE.SetFriction(Prim.PhysBody, BSParam.VehicleFriction); diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs b/OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs index 1e3e5d8f9f..8e69db3288 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs @@ -52,7 +52,7 @@ public abstract class BSLinkset Manual = 2 // linkset tied together manually (code moves all the pieces) } // Create the correct type of linkset for this child - public static BSLinkset Factory(BSScene physScene, BSPhysObject parent) + public static BSLinkset Factory(BSScene physScene, BSPrimLinkable parent) { BSLinkset ret = null; @@ -74,7 +74,7 @@ public abstract class BSLinkset return ret; } - public BSPhysObject LinksetRoot { get; protected set; } + public BSPrimLinkable LinksetRoot { get; protected set; } public BSScene PhysicsScene { get; private set; } @@ -82,7 +82,7 @@ public abstract class BSLinkset public int LinksetID { get; private set; } // The children under the root in this linkset. - protected HashSet m_children; + protected HashSet m_children; // We lock the diddling of linkset classes to prevent any badness. // This locks the modification of the instances of this class. Changes @@ -91,7 +91,7 @@ public abstract class BSLinkset // Some linksets have a preferred physical shape. // Returns SHAPE_UNKNOWN if there is no preference. Causes the correct shape to be selected. - public virtual BSPhysicsShapeType PreferredPhysicalShape(BSPhysObject requestor) + public virtual BSPhysicsShapeType PreferredPhysicalShape(BSPrimLinkable requestor) { return BSPhysicsShapeType.SHAPE_UNKNOWN; } @@ -111,7 +111,7 @@ public abstract class BSLinkset get { return ComputeLinksetGeometricCenter(); } } - protected BSLinkset(BSScene scene, BSPhysObject parent) + protected BSLinkset(BSScene scene, BSPrimLinkable parent) { // A simple linkset of one (no children) LinksetID = m_nextLinksetID++; @@ -120,7 +120,7 @@ public abstract class BSLinkset m_nextLinksetID = 1; PhysicsScene = scene; LinksetRoot = parent; - m_children = new HashSet(); + m_children = new HashSet(); LinksetMass = parent.RawMass; Rebuilding = false; } @@ -129,7 +129,7 @@ public abstract class BSLinkset // Parent changing should not happen so do some sanity checking. // We return the parent's linkset so the child can track its membership. // Called at runtime. - public BSLinkset AddMeToLinkset(BSPhysObject child) + public BSLinkset AddMeToLinkset(BSPrimLinkable child) { lock (m_linksetActivityLock) { @@ -145,14 +145,13 @@ public abstract class BSLinkset // Returns a new linkset for the child which is a linkset of one (just the // orphened child). // Called at runtime. - public BSLinkset RemoveMeFromLinkset(BSPhysObject child) + public BSLinkset RemoveMeFromLinkset(BSPrimLinkable child) { lock (m_linksetActivityLock) { if (IsRoot(child)) { // Cannot remove the root from a linkset. - child.PositionDisplacement = OMV.Vector3.Zero; return this; } RemoveChildFromLinkset(child); @@ -160,12 +159,11 @@ public abstract class BSLinkset } // The child is down to a linkset of just itself - child.PositionDisplacement = OMV.Vector3.Zero; return BSLinkset.Factory(PhysicsScene, child); } // Return 'true' if the passed object is the root object of this linkset - public bool IsRoot(BSPhysObject requestor) + public bool IsRoot(BSPrimLinkable requestor) { return (requestor.LocalID == LinksetRoot.LocalID); } @@ -176,14 +174,14 @@ public abstract class BSLinkset public bool HasAnyChildren { get { return (m_children.Count > 0); } } // Return 'true' if this child is in this linkset - public bool HasChild(BSPhysObject child) + public bool HasChild(BSPrimLinkable child) { bool ret = false; lock (m_linksetActivityLock) { ret = m_children.Contains(child); /* Safer version but the above should work - foreach (BSPhysObject bp in m_children) + foreach (BSPrimLinkable bp in m_children) { if (child.LocalID == bp.LocalID) { @@ -198,14 +196,14 @@ public abstract class BSLinkset // Perform an action on each member of the linkset including root prim. // Depends on the action on whether this should be done at taint time. - public delegate bool ForEachMemberAction(BSPhysObject obj); + public delegate bool ForEachMemberAction(BSPrimLinkable obj); public virtual bool ForEachMember(ForEachMemberAction action) { bool ret = false; lock (m_linksetActivityLock) { action(LinksetRoot); - foreach (BSPhysObject po in m_children) + foreach (BSPrimLinkable po in m_children) { if (action(po)) break; @@ -216,16 +214,16 @@ public abstract class BSLinkset // I am the root of a linkset and a new child is being added // Called while LinkActivity is locked. - protected abstract void AddChildToLinkset(BSPhysObject child); + protected abstract void AddChildToLinkset(BSPrimLinkable child); // I am the root of a linkset and one of my children is being removed. // Safe to call even if the child is not really in my linkset. - protected abstract void RemoveChildFromLinkset(BSPhysObject child); + protected abstract void RemoveChildFromLinkset(BSPrimLinkable child); // When physical properties are changed the linkset needs to recalculate // its internal properties. // May be called at runtime or taint-time. - public virtual void Refresh(BSPhysObject requestor) + public virtual void Refresh(BSPrimLinkable requestor) { LinksetMass = ComputeLinksetMass(); } @@ -240,26 +238,26 @@ public abstract class BSLinkset // has not yet been fully constructed. // Return 'true' if any properties updated on the passed object. // Called at taint-time! - public abstract bool MakeDynamic(BSPhysObject child); + public abstract bool MakeDynamic(BSPrimLinkable child); // The object is going static (non-physical). Do any setup necessary // for a static linkset. // Return 'true' if any properties updated on the passed object. // Called at taint-time! - public abstract bool MakeStatic(BSPhysObject child); + public abstract bool MakeStatic(BSPrimLinkable child); // Called when a parameter update comes from the physics engine for any object // of the linkset is received. // Passed flag is update came from physics engine (true) or the user (false). // Called at taint-time!! - public abstract void UpdateProperties(UpdatedProperties whichUpdated, BSPhysObject physObject); + public abstract void UpdateProperties(UpdatedProperties whichUpdated, BSPrimLinkable physObject); // Routine used when rebuilding the body of the root of the linkset // Destroy all the constraints have have been made to root. // This is called when the root body is changing. // Returns 'true' of something was actually removed and would need restoring // Called at taint-time!! - public abstract bool RemoveBodyDependencies(BSPrim child); + public abstract bool RemoveBodyDependencies(BSPrimLinkable child); // ================================================================ protected virtual float ComputeLinksetMass() @@ -269,7 +267,7 @@ public abstract class BSLinkset { lock (m_linksetActivityLock) { - foreach (BSPhysObject bp in m_children) + foreach (BSPrimLinkable bp in m_children) { mass += bp.RawMass; } @@ -286,7 +284,7 @@ public abstract class BSLinkset com = LinksetRoot.Position * LinksetRoot.RawMass; float totalMass = LinksetRoot.RawMass; - foreach (BSPhysObject bp in m_children) + foreach (BSPrimLinkable bp in m_children) { com += bp.Position * bp.RawMass; totalMass += bp.RawMass; @@ -305,7 +303,7 @@ public abstract class BSLinkset { com = LinksetRoot.Position; - foreach (BSPhysObject bp in m_children) + foreach (BSPrimLinkable bp in m_children) { com += bp.Position; } diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs b/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs index 0c4db4063c..36bae9bba4 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs @@ -52,7 +52,7 @@ sealed class BSLinksetCompoundInfo : BSLinksetInfo OffsetRot = r; } // 'centerDisplacement' is the distance from the root the the center-of-mass (Bullet 'zero' of the shape) - public BSLinksetCompoundInfo(int indx, BSPhysObject root, BSPhysObject child, OMV.Vector3 centerDisplacement) + public BSLinksetCompoundInfo(int indx, BSPrimLinkable root, BSPrimLinkable child, OMV.Vector3 centerDisplacement) { // Each child position and rotation is given relative to the center-of-mass. OMV.Quaternion invRootOrientation = OMV.Quaternion.Inverse(root.RawOrientation); @@ -93,12 +93,12 @@ public sealed class BSLinksetCompound : BSLinkset { private static string LogHeader = "[BULLETSIM LINKSET COMPOUND]"; - public BSLinksetCompound(BSScene scene, BSPhysObject parent) : base(scene, parent) + public BSLinksetCompound(BSScene scene, BSPrimLinkable parent) : base(scene, parent) { } // For compound implimented linksets, if there are children, use compound shape for the root. - public override BSPhysicsShapeType PreferredPhysicalShape(BSPhysObject requestor) + public override BSPhysicsShapeType PreferredPhysicalShape(BSPrimLinkable requestor) { // Returning 'unknown' means we don't have a preference. BSPhysicsShapeType ret = BSPhysicsShapeType.SHAPE_UNKNOWN; @@ -112,7 +112,7 @@ public sealed class BSLinksetCompound : BSLinkset // When physical properties are changed the linkset needs to recalculate // its internal properties. - public override void Refresh(BSPhysObject requestor) + public override void Refresh(BSPrimLinkable requestor) { base.Refresh(requestor); @@ -121,7 +121,7 @@ public sealed class BSLinksetCompound : BSLinkset } // Schedule a refresh to happen after all the other taint processing. - private void ScheduleRebuild(BSPhysObject requestor) + private void ScheduleRebuild(BSPrimLinkable requestor) { DetailLog("{0},BSLinksetCompound.ScheduleRebuild,,rebuilding={1},hasChildren={2},actuallyScheduling={3}", requestor.LocalID, Rebuilding, HasAnyChildren, (!Rebuilding && HasAnyChildren)); @@ -143,7 +143,7 @@ public sealed class BSLinksetCompound : BSLinkset // has not yet been fully constructed. // Return 'true' if any properties updated on the passed object. // Called at taint-time! - public override bool MakeDynamic(BSPhysObject child) + public override bool MakeDynamic(BSPrimLinkable child) { bool ret = false; DetailLog("{0},BSLinksetCompound.MakeDynamic,call,IsRoot={1}", child.LocalID, IsRoot(child)); @@ -173,7 +173,7 @@ public sealed class BSLinksetCompound : BSLinkset // This doesn't normally happen -- OpenSim removes the objects from the physical // world if it is a static linkset. // Called at taint-time! - public override bool MakeStatic(BSPhysObject child) + public override bool MakeStatic(BSPrimLinkable child) { bool ret = false; DetailLog("{0},BSLinksetCompound.MakeStatic,call,IsRoot={1}", child.LocalID, IsRoot(child)); @@ -197,7 +197,7 @@ public sealed class BSLinksetCompound : BSLinkset // 'physicalUpdate' is true if these changes came directly from the physics engine. Don't need to rebuild then. // Called at taint-time. - public override void UpdateProperties(UpdatedProperties whichUpdated, BSPhysObject updated) + public override void UpdateProperties(UpdatedProperties whichUpdated, BSPrimLinkable updated) { // The user moving a child around requires the rebuilding of the linkset compound shape // One problem is this happens when a border is crossed -- the simulator implementation @@ -222,7 +222,7 @@ public sealed class BSLinksetCompound : BSLinkset if (lsi != null) { // Since the child moved or rotationed, it needs a new relative position within the linkset - BSLinksetCompoundInfo newLsi = new BSLinksetCompoundInfo(lsi.Index, LinksetRoot, updated, LinksetRoot.PositionDisplacement); + BSLinksetCompoundInfo newLsi = new BSLinksetCompoundInfo(lsi.Index, LinksetRoot, updated, OMV.Vector3.Zero); updated.LinksetInfo = newLsi; // Find the physical instance of the child @@ -291,7 +291,7 @@ public sealed class BSLinksetCompound : BSLinkset // Since we don't keep in world relationships, do nothing unless it's a child changing. // Returns 'true' of something was actually removed and would need restoring // Called at taint-time!! - public override bool RemoveBodyDependencies(BSPrim child) + public override bool RemoveBodyDependencies(BSPrimLinkable child) { bool ret = false; @@ -316,7 +316,7 @@ public sealed class BSLinksetCompound : BSLinkset // When the linkset is built, the child shape is added to the compound shape relative to the // root shape. The linkset then moves around but this does not move the actual child // prim. The child prim's location must be recomputed based on the location of the root shape. - private void RecomputeChildWorldPosition(BSPhysObject child, bool inTaintTime) + private void RecomputeChildWorldPosition(BSPrimLinkable child, bool inTaintTime) { // For the moment (20130201), disable this computation (converting the child physical addr back to // a region address) until we have a good handle on center-of-mass offsets and what the physics @@ -361,7 +361,7 @@ public sealed class BSLinksetCompound : BSLinkset // Add a new child to the linkset. // Called while LinkActivity is locked. - protected override void AddChildToLinkset(BSPhysObject child) + protected override void AddChildToLinkset(BSPrimLinkable child) { if (!HasChild(child)) { @@ -377,7 +377,7 @@ public sealed class BSLinksetCompound : BSLinkset // Remove the specified child from the linkset. // Safe to call even if the child is not really in the linkset. - protected override void RemoveChildFromLinkset(BSPhysObject child) + protected override void RemoveChildFromLinkset(BSPrimLinkable child) { if (m_children.Remove(child)) { @@ -429,7 +429,7 @@ public sealed class BSLinksetCompound : BSLinkset if (disableCOM) // DEBUG DEBUG { // DEBUG DEBUG centerOfMass = LinksetRoot.RawPosition; // DEBUG DEBUG - LinksetRoot.PositionDisplacement = OMV.Vector3.Zero; + // LinksetRoot.PositionDisplacement = OMV.Vector3.Zero; } // DEBUG DEBUG else { @@ -438,7 +438,7 @@ public sealed class BSLinksetCompound : BSLinkset centerDisplacement = LinksetRoot.RawPosition - centerOfMass; // Since we're displacing the center of the shape, we need to move the body in the world - LinksetRoot.PositionDisplacement = centerDisplacement; + // LinksetRoot.PositionDisplacement = centerDisplacement; // This causes the root prim position to be set properly based on the new PositionDisplacement LinksetRoot.ForcePosition = LinksetRoot.RawPosition; @@ -453,7 +453,7 @@ public sealed class BSLinksetCompound : BSLinkset // Add a shape for each of the other children in the linkset int memberIndex = 1; - ForEachMember(delegate(BSPhysObject cPrim) + ForEachMember(delegate(BSPrimLinkable cPrim) { if (!IsRoot(cPrim)) { diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSLinksetConstraints.cs b/OpenSim/Region/Physics/BulletSPlugin/BSLinksetConstraints.cs index 3011465dec..cc814d16d0 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSLinksetConstraints.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSLinksetConstraints.cs @@ -36,7 +36,7 @@ public sealed class BSLinksetConstraints : BSLinkset { // private static string LogHeader = "[BULLETSIM LINKSET CONSTRAINTS]"; - public BSLinksetConstraints(BSScene scene, BSPhysObject parent) : base(scene, parent) + public BSLinksetConstraints(BSScene scene, BSPrimLinkable parent) : base(scene, parent) { } @@ -44,7 +44,7 @@ public sealed class BSLinksetConstraints : BSLinkset // its internal properties. // This is queued in the 'post taint' queue so the // refresh will happen once after all the other taints are applied. - public override void Refresh(BSPhysObject requestor) + public override void Refresh(BSPrimLinkable requestor) { base.Refresh(requestor); @@ -65,7 +65,7 @@ public sealed class BSLinksetConstraints : BSLinkset // has not yet been fully constructed. // Return 'true' if any properties updated on the passed object. // Called at taint-time! - public override bool MakeDynamic(BSPhysObject child) + public override bool MakeDynamic(BSPrimLinkable child) { // What is done for each object in BSPrim is what we want. return false; @@ -76,14 +76,14 @@ public sealed class BSLinksetConstraints : BSLinkset // This doesn't normally happen -- OpenSim removes the objects from the physical // world if it is a static linkset. // Called at taint-time! - public override bool MakeStatic(BSPhysObject child) + public override bool MakeStatic(BSPrimLinkable child) { // What is done for each object in BSPrim is what we want. return false; } // Called at taint-time!! - public override void UpdateProperties(UpdatedProperties whichUpdated, BSPhysObject pObj) + public override void UpdateProperties(UpdatedProperties whichUpdated, BSPrimLinkable pObj) { // Nothing to do for constraints on property updates } @@ -93,7 +93,7 @@ public sealed class BSLinksetConstraints : BSLinkset // up to rebuild the constraints before the next simulation step. // Returns 'true' of something was actually removed and would need restoring // Called at taint-time!! - public override bool RemoveBodyDependencies(BSPrim child) + public override bool RemoveBodyDependencies(BSPrimLinkable child) { bool ret = false; @@ -114,7 +114,7 @@ public sealed class BSLinksetConstraints : BSLinkset // Add a new child to the linkset. // Called while LinkActivity is locked. - protected override void AddChildToLinkset(BSPhysObject child) + protected override void AddChildToLinkset(BSPrimLinkable child) { if (!HasChild(child)) { @@ -130,12 +130,12 @@ public sealed class BSLinksetConstraints : BSLinkset // Remove the specified child from the linkset. // Safe to call even if the child is not really in my linkset. - protected override void RemoveChildFromLinkset(BSPhysObject child) + protected override void RemoveChildFromLinkset(BSPrimLinkable child) { if (m_children.Remove(child)) { - BSPhysObject rootx = LinksetRoot; // capture the root and body as of now - BSPhysObject childx = child; + BSPrimLinkable rootx = LinksetRoot; // capture the root and body as of now + BSPrimLinkable childx = child; DetailLog("{0},BSLinksetConstraints.RemoveChildFromLinkset,call,rID={1},rBody={2},cID={3},cBody={4}", childx.LocalID, @@ -159,13 +159,13 @@ public sealed class BSLinksetConstraints : BSLinkset // Create a constraint between me (root of linkset) and the passed prim (the child). // Called at taint time! - private void PhysicallyLinkAChildToRoot(BSPhysObject rootPrim, BSPhysObject childPrim) + private void PhysicallyLinkAChildToRoot(BSPrimLinkable rootPrim, BSPrimLinkable childPrim) { // Don't build the constraint when asked. Put it off until just before the simulation step. Refresh(rootPrim); } - private BSConstraint BuildConstraint(BSPhysObject rootPrim, BSPhysObject childPrim) + private BSConstraint BuildConstraint(BSPrimLinkable rootPrim, BSPrimLinkable childPrim) { // Zero motion for children so they don't interpolate childPrim.ZeroMotion(true); @@ -239,7 +239,7 @@ public sealed class BSLinksetConstraints : BSLinkset // The root and child bodies are passed in because we need to remove the constraint between // the bodies that were present at unlink time. // Called at taint time! - private bool PhysicallyUnlinkAChildFromRoot(BSPhysObject rootPrim, BSPhysObject childPrim) + private bool PhysicallyUnlinkAChildFromRoot(BSPrimLinkable rootPrim, BSPrimLinkable childPrim) { bool ret = false; DetailLog("{0},BSLinksetConstraint.PhysicallyUnlinkAChildFromRoot,taint,root={1},rBody={2},child={3},cBody={4}", @@ -261,7 +261,7 @@ public sealed class BSLinksetConstraints : BSLinkset // Remove linkage between myself and any possible children I might have. // Returns 'true' of any constraints were destroyed. // Called at taint time! - private bool PhysicallyUnlinkAllChildrenFromRoot(BSPhysObject rootPrim) + private bool PhysicallyUnlinkAllChildrenFromRoot(BSPrimLinkable rootPrim) { DetailLog("{0},BSLinksetConstraint.PhysicallyUnlinkAllChildren,taint", rootPrim.LocalID); @@ -281,7 +281,7 @@ public sealed class BSLinksetConstraints : BSLinkset DetailLog("{0},BSLinksetConstraint.RecomputeLinksetConstraints,set,rBody={1},linksetMass={2}", LinksetRoot.LocalID, LinksetRoot.PhysBody.AddrString, linksetMass); - foreach (BSPhysObject child in m_children) + foreach (BSPrimLinkable child in m_children) { // A child in the linkset physically shows the mass of the whole linkset. // This allows Bullet to apply enough force on the child to move the whole linkset. diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs index 0d8bb0304c..e1d269ac96 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs @@ -86,10 +86,6 @@ public abstract class BSPhysObject : PhysicsActor PhysBody = new BulletBody(localID); PhysShape = new BulletShape(); - // A linkset of just me - Linkset = BSLinkset.Factory(PhysicsScene, this); - PositionDisplacement = OMV.Vector3.Zero; - LastAssetBuildFailed = false; // Default material type. Also sets Friction, Restitution and Density. @@ -117,8 +113,6 @@ public abstract class BSPhysObject : PhysicsActor public string PhysObjectName { get; protected set; } public string TypeName { get; protected set; } - public BSLinkset Linkset { get; set; } - public BSLinksetInfo LinksetInfo { get; set; } // Return the object mass without calculating it or having side effects public abstract float RawMass { get; } @@ -188,15 +182,6 @@ public abstract class BSPhysObject : PhysicsActor public abstract OMV.Vector3 RawPosition { get; set; } public abstract OMV.Vector3 ForcePosition { get; set; } - // 'Position' and 'Orientation' is what the simulator thinks the positions of the prim is. - // Because Bullet needs the zero coordinate to be the center of mass of the linkset, - // sometimes it is necessary to displace the position the physics engine thinks - // the position is. PositionDisplacement must be added and removed from the - // position as the simulator position is stored and fetched from the physics - // engine. Similar to OrientationDisplacement. - public virtual OMV.Vector3 PositionDisplacement { get; set; } - public virtual OMV.Quaternion OrientationDisplacement { get; set; } - public abstract OMV.Quaternion RawOrientation { get; set; } public abstract OMV.Quaternion ForceOrientation { get; set; } @@ -302,12 +287,6 @@ public abstract class BSPhysObject : PhysicsActor CollidingObjectStep = PhysicsScene.SimulationStep; } - // prims in the same linkset cannot collide with each other - if (collidee != null && (this.Linkset.LinksetID == collidee.Linkset.LinksetID)) - { - return ret; - } - CollisionAccumulation++; // For movement tests, remember if we are colliding with an object that is moving. diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs index 85c2627f1c..cf7aa0fea4 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs @@ -39,7 +39,7 @@ namespace OpenSim.Region.Physics.BulletSPlugin { [Serializable] -public sealed class BSPrim : BSPhysObject +public class BSPrim : BSPhysObject { private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); private static readonly string LogHeader = "[BULLETS PRIM]"; @@ -102,9 +102,6 @@ public sealed class BSPrim : BSPhysObject _mass = CalculateMass(); - // Cause linkset variables to be initialized (like mass) - Linkset.Refresh(this); - DetailLog("{0},BSPrim.constructor,call", LocalID); // do the actual object creation at taint time PhysicsScene.TaintedObject("BSPrim.create", delegate() @@ -121,15 +118,6 @@ public sealed class BSPrim : BSPhysObject // m_log.DebugFormat("{0}: Destroy, id={1}", LogHeader, LocalID); base.Destroy(); - // Undo any links between me and any other object - BSPhysObject parentBefore = Linkset.LinksetRoot; // DEBUG DEBUG - int childrenBefore = Linkset.NumberOfChildren; // DEBUG DEBUG - - Linkset = Linkset.RemoveMeFromLinkset(this); - - DetailLog("{0},BSPrim.Destroy,call,parentBefore={1},childrenBefore={2},parentAfter={3},childrenAfter={4}", - LocalID, parentBefore.LocalID, childrenBefore, Linkset.LinksetRoot.LocalID, Linkset.NumberOfChildren); - // Undo any vehicle properties this.VehicleType = (int)Vehicle.TYPE_NONE; @@ -166,9 +154,9 @@ public sealed class BSPrim : BSPhysObject ForceBodyShapeRebuild(false); } } - // Whatever the linkset wants is what I want. + // 'unknown' says to choose the best type public override BSPhysicsShapeType PreferredPhysicalShape - { get { return Linkset.PreferredPhysicalShape(this); } } + { get { return BSPhysicsShapeType.SHAPE_UNKNOWN; } } public override bool ForceBodyShapeRebuild(bool inTaintTime) { @@ -213,33 +201,10 @@ public sealed class BSPrim : BSPhysObject // link me to the specified parent public override void link(PhysicsActor obj) { - BSPrim parent = obj as BSPrim; - if (parent != null) - { - BSPhysObject parentBefore = Linkset.LinksetRoot; - int childrenBefore = Linkset.NumberOfChildren; - - Linkset = parent.Linkset.AddMeToLinkset(this); - - DetailLog("{0},BSPrim.link,call,parentBefore={1}, childrenBefore=={2}, parentAfter={3}, childrenAfter={4}", - LocalID, parentBefore.LocalID, childrenBefore, Linkset.LinksetRoot.LocalID, Linkset.NumberOfChildren); - } - return; } // delink me from my linkset public override void delink() { - // TODO: decide if this parent checking needs to happen at taint time - // Race condition here: if link() and delink() in same simulation tick, the delink will not happen - - BSPhysObject parentBefore = Linkset.LinksetRoot; - int childrenBefore = Linkset.NumberOfChildren; - - Linkset = Linkset.RemoveMeFromLinkset(this); - - DetailLog("{0},BSPrim.delink,parentBefore={1},childrenBefore={2},parentAfter={3},childrenAfter={4}, ", - LocalID, parentBefore.LocalID, childrenBefore, Linkset.LinksetRoot.LocalID, Linkset.NumberOfChildren); - return; } // Set motion values to zero. @@ -287,15 +252,8 @@ public sealed class BSPrim : BSPhysObject } public override OMV.Vector3 Position { get { - /* NOTE: this refetch is not necessary. The simulator knows about linkset children - * and does not fetch this position info for children. Thus this is commented out. - // child prims move around based on their parent. Need to get the latest location - if (!Linkset.IsRoot(this)) - _position = Linkset.PositionGet(this); - */ - // don't do the GetObjectPosition for root elements because this function is called a zillion times. - // _position = PhysicsScene.PE.GetObjectPosition2(PhysicsScene.World, BSBody) - PositionDisplacement; + // _position = ForcePosition; return _position; } set { @@ -313,24 +271,20 @@ public sealed class BSPrim : BSPhysObject { DetailLog("{0},BSPrim.SetPosition,taint,pos={1},orient={2}", LocalID, _position, _orientation); ForcePosition = _position; - - // A linkset might need to know if a component information changed. - Linkset.UpdateProperties(UpdatedProperties.Position, this); - }); } } public override OMV.Vector3 ForcePosition { get { - _position = PhysicsScene.PE.GetPosition(PhysBody) - PositionDisplacement; + _position = PhysicsScene.PE.GetPosition(PhysBody); return _position; } set { _position = value; if (PhysBody.HasPhysicalBody) { - PhysicsScene.PE.SetTranslation(PhysBody, _position + PositionDisplacement, _orientation); + PhysicsScene.PE.SetTranslation(PhysBody, _position, _orientation); ActivateIfPhysical(false); } } @@ -398,12 +352,13 @@ public sealed class BSPrim : BSPhysObject // If the simulator cares about the mass of the linkset, it will sum it itself. public override float Mass { - get - { - return _mass; - } + get { return _mass; } + } + // TotalMass returns the mass of the large object the prim may be in (overridden by linkset code) + public virtual float TotalMass + { + get { return _mass; } } - // used when we only want this prim's mass and not the linkset thing public override float RawMass { get { return _mass; } @@ -467,13 +422,13 @@ public sealed class BSPrim : BSPhysObject // Is this used? public override OMV.Vector3 CenterOfMass { - get { return Linkset.CenterOfMass; } + get { return RawPosition; } } // Is this used? public override OMV.Vector3 GeometricCenter { - get { return Linkset.GeometricCenter; } + get { return RawPosition; } } public override OMV.Vector3 Force { @@ -721,14 +676,6 @@ public sealed class BSPrim : BSPhysObject } public override OMV.Quaternion Orientation { get { - /* NOTE: this refetch is not necessary. The simulator knows about linkset children - * and does not fetch this position info for children. Thus this is commented out. - // Children move around because tied to parent. Get a fresh value. - if (!Linkset.IsRoot(this)) - { - _orientation = Linkset.OrientationGet(this); - } - */ return _orientation; } set { @@ -739,10 +686,6 @@ public sealed class BSPrim : BSPhysObject PhysicsScene.TaintedObject("BSPrim.setOrientation", delegate() { ForceOrientation = _orientation; - - // A linkset might need to know if a component information changed. - Linkset.UpdateProperties(UpdatedProperties.Orientation, this); - }); } } @@ -758,7 +701,7 @@ public sealed class BSPrim : BSPhysObject { _orientation = value; if (PhysBody.HasPhysicalBody) - PhysicsScene.PE.SetTranslation(PhysBody, _position + PositionDisplacement, _orientation); + PhysicsScene.PE.SetTranslation(PhysBody, _position, _orientation); } } public override int PhysicsActorType { @@ -814,7 +757,7 @@ public sealed class BSPrim : BSPhysObject // isSolid: other objects bounce off of this object // isVolumeDetect: other objects pass through but can generate collisions // collisionEvents: whether this object returns collision events - public void UpdatePhysicalParameters() + public virtual void UpdatePhysicalParameters() { if (!PhysBody.HasPhysicalBody) { @@ -844,12 +787,6 @@ public sealed class BSPrim : BSPhysObject // Rebuild its shape PhysicsScene.PE.UpdateSingleAabb(PhysicsScene.World, PhysBody); - // Recompute any linkset parameters. - // When going from non-physical to physical, this re-enables the constraints that - // had been automatically disabled when the mass was set to zero. - // For compound based linksets, this enables and disables interactions of the children. - Linkset.Refresh(this); - DetailLog("{0},BSPrim.UpdatePhysicalParameters,taintExit,static={1},solid={2},mass={3},collide={4},cf={5:X},cType={6},body={7},shape={8}", LocalID, IsStatic, IsSolid, Mass, SubscribedEvents(), CurrentCollisionFlags, PhysBody.collisionType, PhysBody, PhysShape); } @@ -859,7 +796,7 @@ public sealed class BSPrim : BSPhysObject // When dynamic, the object can fall and be pushed by others. // This is independent of its 'solidness' which controls what passes through // this object and what interacts with it. - private void MakeDynamic(bool makeStatic) + protected virtual void MakeDynamic(bool makeStatic) { if (makeStatic) { @@ -889,9 +826,6 @@ public sealed class BSPrim : BSPhysObject // This collides like a static object PhysBody.collisionType = CollisionType.Static; - - // There can be special things needed for implementing linksets - Linkset.MakeStatic(this); } else { @@ -908,10 +842,7 @@ public sealed class BSPrim : BSPhysObject // PhysicsScene.PE.ClearAllForces(BSBody); // For good measure, make sure the transform is set through to the motion state - PhysicsScene.PE.SetTranslation(PhysBody, _position + PositionDisplacement, _orientation); - - // Center of mass is at the center of the object - // DEBUG DEBUG PhysicsScene.PE.SetCenterOfMassByPosRot(Linkset.LinksetRoot.PhysBody, _position, _orientation); + ForcePosition = _position; // A dynamic object has mass UpdatePhysicalMassProperties(RawMass, false); @@ -935,9 +866,6 @@ public sealed class BSPrim : BSPhysObject // Force activation of the object so Bullet will act on it. // Must do the ForceActivationState2() to overcome the DISABLE_SIMULATION from static objects. PhysicsScene.PE.ForceActivationState(PhysBody, ActivationState.ACTIVE_TAG); - - // There might be special things needed for implementing linksets. - Linkset.MakeDynamic(this); } } @@ -1643,16 +1571,6 @@ public sealed class BSPrim : BSPhysObject returnMass = Density * volume; - /* Comment out code that computes the mass of the linkset. That is done in the Linkset class. - if (IsRootOfLinkset) - { - foreach (BSPrim prim in _childrenPrims) - { - returnMass += prim.CalculateMass(); - } - } - */ - returnMass = Util.Clamp(returnMass, BSParam.MinimumObjectMass, BSParam.MaximumObjectMass); return returnMass; @@ -1672,8 +1590,7 @@ public sealed class BSPrim : BSPhysObject // Called if the current prim body is about to be destroyed. // Remove all the physical dependencies on the old body. // (Maybe someday make the changing of BSShape an event to be subscribed to by BSLinkset, ...) - Linkset.RemoveBodyDependencies(this); - VehicleController.RemoveBodyDependencies(this); + RemoveBodyDependencies(); }); // Make sure the properties are set on the new object @@ -1681,57 +1598,50 @@ public sealed class BSPrim : BSPhysObject return; } + protected virtual void RemoveBodyDependencies() + { + VehicleController.RemoveBodyDependencies(this); + } + // The physics engine says that properties have updated. Update same and inform // the world that things have changed. public override void UpdateProperties(EntityProperties entprop) { - // Updates only for individual prims and for the root object of a linkset. - if (Linkset.IsRoot(this)) + // A temporary kludge to suppress the rotational effects introduced on vehicles by Bullet + // TODO: handle physics introduced by Bullet with computed vehicle physics. + if (VehicleController.IsActive) { - // A temporary kludge to suppress the rotational effects introduced on vehicles by Bullet - // TODO: handle physics introduced by Bullet with computed vehicle physics. - if (VehicleController.IsActive) - { - entprop.RotationalVelocity = OMV.Vector3.Zero; - } - - // DetailLog("{0},BSPrim.UpdateProperties,entry,entprop={1}", LocalID, entprop); // DEBUG DEBUG - - // Undo any center-of-mass displacement that might have been done. - if (PositionDisplacement != OMV.Vector3.Zero) - { - // Correct for any rotation around the center-of-mass - // TODO!!! - entprop.Position -= PositionDisplacement; - } - - // Assign directly to the local variables so the normal set actions do not happen - _position = entprop.Position; - _orientation = entprop.Rotation; - _velocity = entprop.Velocity; - _acceleration = entprop.Acceleration; - _rotationalVelocity = entprop.RotationalVelocity; - - // DetailLog("{0},BSPrim.UpdateProperties,afterAssign,entprop={1}", LocalID, entprop); // DEBUG DEBUG - - // The sanity check can change the velocity and/or position. - if (PositionSanityCheck(true /* inTaintTime */ )) - { - entprop.Position = _position; - entprop.Velocity = _velocity; - entprop.RotationalVelocity = _rotationalVelocity; - entprop.Acceleration = _acceleration; - } - - OMV.Vector3 direction = OMV.Vector3.UnitX * _orientation; // DEBUG DEBUG DEBUG - DetailLog("{0},BSPrim.UpdateProperties,call,entProp={1},dir={2}", LocalID, entprop, direction); - - // remember the current and last set values - LastEntityProperties = CurrentEntityProperties; - CurrentEntityProperties = entprop; - - base.RequestPhysicsterseUpdate(); + entprop.RotationalVelocity = OMV.Vector3.Zero; } + + // DetailLog("{0},BSPrim.UpdateProperties,entry,entprop={1}", LocalID, entprop); // DEBUG DEBUG + + // Assign directly to the local variables so the normal set actions do not happen + _position = entprop.Position; + _orientation = entprop.Rotation; + _velocity = entprop.Velocity; + _acceleration = entprop.Acceleration; + _rotationalVelocity = entprop.RotationalVelocity; + + // DetailLog("{0},BSPrim.UpdateProperties,afterAssign,entprop={1}", LocalID, entprop); // DEBUG DEBUG + + // The sanity check can change the velocity and/or position. + if (PositionSanityCheck(true /* inTaintTime */ )) + { + entprop.Position = _position; + entprop.Velocity = _velocity; + entprop.RotationalVelocity = _rotationalVelocity; + entprop.Acceleration = _acceleration; + } + + OMV.Vector3 direction = OMV.Vector3.UnitX * _orientation; // DEBUG DEBUG DEBUG + DetailLog("{0},BSPrim.UpdateProperties,call,entProp={1},dir={2}", LocalID, entprop, direction); + + // remember the current and last set values + LastEntityProperties = CurrentEntityProperties; + CurrentEntityProperties = entprop; + + base.RequestPhysicsterseUpdate(); /* else { @@ -1741,9 +1651,6 @@ public sealed class BSPrim : BSPhysObject entprop.Acceleration, entprop.RotationalVelocity); } */ - - // The linkset implimentation might want to know about this. - Linkset.UpdateProperties(UpdatedProperties.EntPropUpdates, this); } } } diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs index f8a0c1e6ba..e506d22438 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs @@ -434,7 +434,7 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters { if (!m_initialized) return; - BSPrim bsprim = prim as BSPrim; + BSPhysObject bsprim = prim as BSPhysObject; if (bsprim != null) { DetailLog("{0},RemovePrim,call", bsprim.LocalID); @@ -465,7 +465,7 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters DetailLog("{0},AddPrimShape,call", localID); - BSPrim prim = new BSPrim(localID, primName, this, position, size, rotation, pbs, isPhysical); + BSPhysObject prim = new BSPrimLinkable(localID, primName, this, position, size, rotation, pbs, isPhysical); lock (PhysObjects) PhysObjects.Add(localID, prim); return prim; } From d92eb803734956c1e0b260eb7740910e1fa3b891 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Thu, 7 Feb 2013 21:57:46 -0800 Subject: [PATCH 549/851] BulletSim: add initial instance of the ExtendedPhysics region module which adds new LSL commands for extended physics functions. Uses the modInvoke system. Disabled by default. --- .../ExtendedPhysics/ExtendedPhysics.cs | 163 ++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100755 OpenSim/Region/OptionalModules/Scripting/ExtendedPhysics/ExtendedPhysics.cs diff --git a/OpenSim/Region/OptionalModules/Scripting/ExtendedPhysics/ExtendedPhysics.cs b/OpenSim/Region/OptionalModules/Scripting/ExtendedPhysics/ExtendedPhysics.cs new file mode 100755 index 0000000000..aaa349f930 --- /dev/null +++ b/OpenSim/Region/OptionalModules/Scripting/ExtendedPhysics/ExtendedPhysics.cs @@ -0,0 +1,163 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyrightD + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Text; + +using OpenSim.Framework; +using OpenSim.Region.Framework; +using OpenSim.Region.Framework.Interfaces; +using OpenSim.Region.Framework.Scenes; +using OpenSim.Region.CoreModules; + +using Mono.Addins; +using Nini.Config; +using log4net; +using OpenMetaverse; + +namespace OpenSim.Region.OptionalModules.Scripting +{ +[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] +public class ExtendedPhysics : INonSharedRegionModule +{ + private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + private static string LogHeader = "[EXTENDED PHYSICS]"; + + private IConfig Configuration { get; set; } + private bool Enabled { get; set; } + private Scene BaseScene { get; set; } + private IScriptModuleComms Comms { get; set; } + + #region INonSharedRegionModule + + public string Name { get { return this.GetType().Name; } } + + public void Initialise(IConfigSource config) + { + BaseScene = null; + Enabled = false; + Configuration = null; + Comms = null; + + try + { + if ((Configuration = config.Configs["ExtendedPhysics"]) != null) + { + Enabled = Configuration.GetBoolean("Enabled", Enabled); + } + } + catch (Exception e) + { + m_log.ErrorFormat("{0} Initialization error: {0}", LogHeader, e); + } + + m_log.ErrorFormat("{0} module {1} enabled", LogHeader, (Enabled ? "is" : "is not")); + } + + public void Close() + { + if (BaseScene != null) + { + BaseScene.EventManager.OnSceneObjectPartUpdated -= EventManager_OnSceneObjectPartUpdated; + BaseScene = null; + } + } + + public void AddRegion(Scene scene) + { + } + + public void RemoveRegion(Scene scene) + { + if (BaseScene != null && BaseScene == scene) + { + Close(); + } + } + + public void RegionLoaded(Scene scene) + { + if (!Enabled) return; + + BaseScene = scene; + + Comms = BaseScene.RequestModuleInterface(); + if (Comms == null) + { + m_log.WarnFormat("{0} ScriptModuleComms interface not defined", LogHeader); + Enabled = false; + + return; + } + + // Register as LSL functions all the [ScriptInvocation] marked methods. + Comms.RegisterScriptInvocations(this); + + // When an object is modified, we might need to update its extended physics parameters + BaseScene.EventManager.OnSceneObjectPartUpdated += EventManager_OnSceneObjectPartUpdated; + } + + public Type ReplaceableInterface { get { return null; } } + + #endregion // INonSharedRegionModule + + // Event generated when some property of a prim changes. + private void EventManager_OnSceneObjectPartUpdated(SceneObjectPart sop, bool isFullUpdate) + { + } + + [ScriptConstant] + public static int PHYS_CENTER_OF_MASS = 1 << 0; + + [ScriptConstant] + public static int PHYS_LINKSET_TYPE_CONSTRAINT = 1; + [ScriptConstant] + public static int PHYS_LINKSET_TYPE_COMPOUND = 2; + [ScriptConstant] + public static int PHYS_LINKSET_TYPE_MANUAL = 3; + + [ScriptInvocation] + public string physGetEngineType(UUID hostID, UUID scriptID) + { + string ret = string.Empty; + + if (BaseScene.PhysicsScene != null) + { + ret = BaseScene.PhysicsScene.EngineType; + } + + return ret; + } + + [ScriptInvocation] + public void physSetLinksetType(UUID hostID, UUID scriptID, int linksetType) + { + } +} +} From 1b55a9d81e66972312fdc801d17da697466f9ed4 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Fri, 8 Feb 2013 15:25:57 -0800 Subject: [PATCH 550/851] BulletSim: fix avatar bobbing or jiggling while stationary flying. Various comments and debugging message mods. --- .../ExtendedPhysics/ExtendedPhysics.cs | 10 ++++++- .../Physics/BulletSPlugin/BSCharacter.cs | 29 ++++++++++--------- .../Region/Physics/BulletSPlugin/BSLinkset.cs | 4 +++ .../Physics/BulletSPlugin/BSPhysObject.cs | 6 ++-- .../Physics/BulletSPlugin/BSPrimLinkable.cs | 2 +- .../Region/Physics/BulletSPlugin/BSScene.cs | 2 +- 6 files changed, 34 insertions(+), 19 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/ExtendedPhysics/ExtendedPhysics.cs b/OpenSim/Region/OptionalModules/Scripting/ExtendedPhysics/ExtendedPhysics.cs index aaa349f930..6009dc57a8 100755 --- a/OpenSim/Region/OptionalModules/Scripting/ExtendedPhysics/ExtendedPhysics.cs +++ b/OpenSim/Region/OptionalModules/Scripting/ExtendedPhysics/ExtendedPhysics.cs @@ -77,13 +77,14 @@ public class ExtendedPhysics : INonSharedRegionModule m_log.ErrorFormat("{0} Initialization error: {0}", LogHeader, e); } - m_log.ErrorFormat("{0} module {1} enabled", LogHeader, (Enabled ? "is" : "is not")); + m_log.InfoFormat("{0} module {1} enabled", LogHeader, (Enabled ? "is" : "is not")); } public void Close() { if (BaseScene != null) { + BaseScene.EventManager.OnObjectAddedToScene -= EventManager_OnObjectAddedToScene; BaseScene.EventManager.OnSceneObjectPartUpdated -= EventManager_OnSceneObjectPartUpdated; BaseScene = null; } @@ -120,13 +121,20 @@ public class ExtendedPhysics : INonSharedRegionModule Comms.RegisterScriptInvocations(this); // When an object is modified, we might need to update its extended physics parameters + BaseScene.EventManager.OnObjectAddedToScene += EventManager_OnObjectAddedToScene; BaseScene.EventManager.OnSceneObjectPartUpdated += EventManager_OnSceneObjectPartUpdated; + } public Type ReplaceableInterface { get { return null; } } #endregion // INonSharedRegionModule + private void EventManager_OnObjectAddedToScene(SceneObjectGroup obj) + { + throw new NotImplementedException(); + } + // Event generated when some property of a prim changes. private void EventManager_OnSceneObjectPartUpdated(SceneObjectPart sop, bool isFullUpdate) { diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs index 0afc4372d6..6a995a2e1e 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs @@ -140,7 +140,7 @@ public sealed class BSCharacter : BSPhysObject ZeroMotion(true); ForcePosition = _position; - // Set the velocity and compute the proper friction + // Set the velocity _velocityMotor.Reset(); _velocityMotor.SetTarget(_velocity); _velocityMotor.SetCurrent(_velocity); @@ -214,25 +214,28 @@ public sealed class BSCharacter : BSPhysObject _velocityMotor.Step(timeStep); // If we're not supposed to be moving, make sure things are zero. - if (_velocityMotor.ErrorIsZero() && _velocityMotor.TargetValue == OMV.Vector3.Zero && IsColliding) + if (_velocityMotor.ErrorIsZero() && _velocityMotor.TargetValue == OMV.Vector3.Zero) { // The avatar shouldn't be moving _velocityMotor.Zero(); - // If we are colliding with a stationary object, presume we're standing and don't move around - if (!ColliderIsMoving) + if (IsColliding) { - DetailLog("{0},BSCharacter.MoveMotor,collidingWithStationary,zeroingMotion", LocalID); - ZeroMotion(true /* inTaintTime */); - } + // If we are colliding with a stationary object, presume we're standing and don't move around + if (!ColliderIsMoving) + { + DetailLog("{0},BSCharacter.MoveMotor,collidingWithStationary,zeroingMotion", LocalID); + ZeroMotion(true /* inTaintTime */); + } - // Standing has more friction on the ground - if (_currentFriction != BSParam.AvatarStandingFriction) - { - _currentFriction = BSParam.AvatarStandingFriction; - PhysicsScene.PE.SetFriction(PhysBody, _currentFriction); + // Standing has more friction on the ground + if (_currentFriction != BSParam.AvatarStandingFriction) + { + _currentFriction = BSParam.AvatarStandingFriction; + PhysicsScene.PE.SetFriction(PhysBody, _currentFriction); + } } - DetailLog("{0},BSCharacter.MoveMotor,taint,stopping,target={1}", LocalID, _velocityMotor.TargetValue); + DetailLog("{0},BSCharacter.MoveMotor,taint,stopping,target={1},colliding={2}", LocalID, _velocityMotor.TargetValue, IsColliding); } else { diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs b/OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs index 8e69db3288..e35311ff11 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs @@ -71,6 +71,10 @@ public abstract class BSLinkset ret = new BSLinksetCompound(physScene, parent); break; } + if (ret == null) + { + physScene.Logger.ErrorFormat("[BULLETSIM LINKSET] Factory could not create linkset. Parent name={1}, ID={2}", parent.Name, parent.LocalID); + } return ret; } diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs index e1d269ac96..de69fa0699 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs @@ -290,13 +290,13 @@ public abstract class BSPhysObject : PhysicsActor CollisionAccumulation++; // For movement tests, remember if we are colliding with an object that is moving. - ColliderIsMoving = collidee != null ? collidee.RawVelocity != OMV.Vector3.Zero : false; + ColliderIsMoving = collidee != null ? (collidee.RawVelocity != OMV.Vector3.Zero) : false; // If someone has subscribed for collision events log the collision so it will be reported up if (SubscribedEvents()) { CollisionCollection.AddCollider(collidingWith, new ContactPoint(contactPoint, contactNormal, pentrationDepth)); - DetailLog("{0},{1}.Collison.AddCollider,call,with={2},point={3},normal={4},depth={5}", - LocalID, TypeName, collidingWith, contactPoint, contactNormal, pentrationDepth); + DetailLog("{0},{1}.Collison.AddCollider,call,with={2},point={3},normal={4},depth={5},colliderMoving={6}", + LocalID, TypeName, collidingWith, contactPoint, contactNormal, pentrationDepth, ColliderIsMoving); ret = true; } diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrimLinkable.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrimLinkable.cs index fd66d1cf24..989856201e 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPrimLinkable.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrimLinkable.cs @@ -160,8 +160,8 @@ public class BSPrimLinkable : BSPrimDisplaced // TODO: this will have to change when linksets are articulated. base.UpdateProperties(entprop); } + // The linkset might like to know about changing locations Linkset.UpdateProperties(UpdatedProperties.EntPropUpdates, this); - } public override bool Collide(uint collidingWith, BSPhysObject collidee, diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs index e506d22438..05722b8c34 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs @@ -463,7 +463,7 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters if (!m_initialized) return null; - DetailLog("{0},AddPrimShape,call", localID); + DetailLog("{0},BSScene.AddPrimShape,call", localID); BSPhysObject prim = new BSPrimLinkable(localID, primName, this, position, size, rotation, pbs, isPhysical); lock (PhysObjects) PhysObjects.Add(localID, prim); From 222040f1ec0d85b06de8271fd7eabc7dd0a2f7d4 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Fri, 8 Feb 2013 15:36:10 -0800 Subject: [PATCH 551/851] BulletSim: Change BSCharacter to use new base Density and Friction variables rather than own local varaibles. --- .../Physics/BulletSPlugin/BSCharacter.cs | 26 ++++++++----------- .../Region/Physics/BulletSPlugin/BSParam.cs | 2 +- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs index 6a995a2e1e..f781aeaa06 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs @@ -45,7 +45,6 @@ public sealed class BSCharacter : BSPhysObject private bool _selected; private OMV.Vector3 _position; private float _mass; - private float _avatarDensity; private float _avatarVolume; private OMV.Vector3 _force; private OMV.Vector3 _velocity; @@ -63,9 +62,6 @@ public sealed class BSCharacter : BSPhysObject private bool _kinematic; private float _buoyancy; - // The friction and velocity of the avatar is modified depending on whether walking or not. - private float _currentFriction; // the friction currently being used (changed by setVelocity). - private BSVMotor _velocityMotor; private OMV.Vector3 _PIDTarget; @@ -86,8 +82,8 @@ public sealed class BSCharacter : BSPhysObject _orientation = OMV.Quaternion.Identity; _velocity = OMV.Vector3.Zero; _buoyancy = ComputeBuoyancyFromFlying(isFlying); - _currentFriction = BSParam.AvatarStandingFriction; - _avatarDensity = BSParam.AvatarDensity; + Friction = BSParam.AvatarStandingFriction; + Density = BSParam.AvatarDensity; // Old versions of ScenePresence passed only the height. If width and/or depth are zero, // replace with the default values. @@ -104,7 +100,7 @@ public sealed class BSCharacter : BSPhysObject SetupMovementMotor(); DetailLog("{0},BSCharacter.create,call,size={1},scale={2},density={3},volume={4},mass={5}", - LocalID, _size, Scale, _avatarDensity, _avatarVolume, RawMass); + LocalID, _size, Scale, Density, _avatarVolume, RawMass); // do actual creation in taint time PhysicsScene.TaintedObject("BSCharacter.create", delegate() @@ -229,10 +225,10 @@ public sealed class BSCharacter : BSPhysObject } // Standing has more friction on the ground - if (_currentFriction != BSParam.AvatarStandingFriction) + if (Friction != BSParam.AvatarStandingFriction) { - _currentFriction = BSParam.AvatarStandingFriction; - PhysicsScene.PE.SetFriction(PhysBody, _currentFriction); + Friction = BSParam.AvatarStandingFriction; + PhysicsScene.PE.SetFriction(PhysBody, Friction); } } DetailLog("{0},BSCharacter.MoveMotor,taint,stopping,target={1},colliding={2}", LocalID, _velocityMotor.TargetValue, IsColliding); @@ -241,11 +237,11 @@ public sealed class BSCharacter : BSPhysObject { OMV.Vector3 stepVelocity = _velocityMotor.CurrentValue; - if (_currentFriction != BSParam.AvatarFriction) + if (Friction != BSParam.AvatarFriction) { // Probably starting up walking. Set friction to moving friction. - _currentFriction = BSParam.AvatarFriction; - PhysicsScene.PE.SetFriction(PhysBody, _currentFriction); + Friction = BSParam.AvatarFriction; + PhysicsScene.PE.SetFriction(PhysBody, Friction); } // If falling, we keep the world's downward vector no matter what the other axis specify. @@ -345,7 +341,7 @@ public sealed class BSCharacter : BSPhysObject Scale = ComputeAvatarScale(_size); ComputeAvatarVolumeAndMass(); DetailLog("{0},BSCharacter.setSize,call,size={1},scale={2},density={3},volume={4},mass={5}", - LocalID, _size, Scale, _avatarDensity, _avatarVolume, RawMass); + LocalID, _size, Scale, Density, _avatarVolume, RawMass); PhysicsScene.TaintedObject("BSCharacter.setSize", delegate() { @@ -873,7 +869,7 @@ public sealed class BSCharacter : BSPhysObject * Math.Min(Size.X, Size.Y) / 2 * Size.Y / 2f // plus the volume of the capsule end caps ); - _mass = _avatarDensity * _avatarVolume; + _mass = Density * _avatarVolume; } // The physics engine says that properties have updated. Update same and inform diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs index 601c78c203..6cb74342ac 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs @@ -424,7 +424,7 @@ public static class BSParam (s) => { return AvatarFriction; }, (s,p,l,v) => { AvatarFriction = v; } ), new ParameterDefn("AvatarStandingFriction", "Avatar friction when standing. Changed on avatar recreation.", - 10.0f, + 0.95f, (s,cf,p,v) => { AvatarStandingFriction = cf.GetFloat(p, v); }, (s) => { return AvatarStandingFriction; }, (s,p,l,v) => { AvatarStandingFriction = v; } ), From 4808b8ee380d32c1b63654f9c0170a5f07b46bd0 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Fri, 8 Feb 2013 16:27:44 -0800 Subject: [PATCH 552/851] BulletSim: add parameter to set global contact breaking threshold. Update DLLs and SOs for setting same. --- .../Physics/BulletSPlugin/BSApiTemplate.cs | 1 + .../Region/Physics/BulletSPlugin/BSParam.cs | 6 ++++++ bin/lib32/BulletSim.dll | Bin 546304 -> 546816 bytes bin/lib32/libBulletSim.so | Bin 1695269 -> 1695699 bytes bin/lib64/BulletSim.dll | Bin 694272 -> 694272 bytes bin/lib64/libBulletSim.so | Bin 1841657 -> 1842163 bytes 6 files changed, 7 insertions(+) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSApiTemplate.cs b/OpenSim/Region/Physics/BulletSPlugin/BSApiTemplate.cs index 5e06c1e205..7ab86d245e 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSApiTemplate.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSApiTemplate.cs @@ -183,6 +183,7 @@ public struct ConfigurationParameters public float shouldEnableFrictionCaching; public float numberOfSolverIterations; public float useSingleSidedMeshes; + public float globalContactBreakingThreshold; public float physicsLoggingFrames; diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs index 6cb74342ac..3e0b4bca12 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs @@ -87,6 +87,7 @@ public static class BSParam public static float NumberOfSolverIterations; public static bool UseSingleSidedMeshes { get { return UseSingleSidedMeshesF != ConfigurationParameters.numericFalse; } } public static float UseSingleSidedMeshesF; + public static float GlobalContactBreakingThreshold; // Avatar parameters public static float AvatarFriction { get; private set; } @@ -570,6 +571,11 @@ public static class BSParam (s,cf,p,v) => { UseSingleSidedMeshesF = BSParam.NumericBool(cf.GetBoolean(p, BSParam.BoolNumeric(v))); }, (s) => { return UseSingleSidedMeshesF; }, (s,p,l,v) => { UseSingleSidedMeshesF = v; s.UnmanagedParams[0].useSingleSidedMeshes = v; } ), + new ParameterDefn("GlobalContactBreakingThreshold", "Amount of shape radius before breaking a collision contact (0 says Bullet default (0.2))", + 0f, + (s,cf,p,v) => { GlobalContactBreakingThreshold = cf.GetFloat(p, v); }, + (s) => { return GlobalContactBreakingThreshold; }, + (s,p,l,v) => { GlobalContactBreakingThreshold = v; s.UnmanagedParams[0].globalContactBreakingThreshold = v; } ), new ParameterDefn("LinksetImplementation", "Type of linkset implementation (0=Constraint, 1=Compound, 2=Manual)", (float)BSLinkset.LinksetImplementation.Compound, diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index de4f95ad08c7abbb05070781ff91ab75db689792..4dd2f3880dd9bdd61468141b9859c2a152c6cf29 100755 GIT binary patch delta 29509 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≤)ZCGYK(js#}4Pl=>gL>DTwxpj{!w3os! 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 UM|=n02jd+ie^Y+%dVgy0FYJ;w!vFvP delta 29489 zcmbrn2S8NG(kMLD=S)Be2L(k00l|c*L(VWLASx&zVphy?6?ZWQP)s=D;vThKS65th z&5Db9a80-d%!^r!mAVzjLj~&;4);3 zb%LVuU#Wt))Px!e#T~Umk!oUQi7wEJ`(dm`>zs~Zvsr>bjzgqe0!@iCoGVLbQ0r)Kt#D$hU$<=e>Gs`njL)>Sz$klC!TA{z+ z`!8N`iv8=Nf0B8xBJ+uPNwmdW)#+TTYM7xzl zH#NK}&c7yfQA3pIY1c|P+*>19&H5eNq2!sF@^Ei4)vj)OF*5b>e3tD6M#N~cEUw5L z^DNuzGDpa=D3v)jS+@6Nj$M|8LFPDQ**=ju&RG`aGRG~;_O;Aunq^TTb3F7><@&hS zS+<{8uuH{i1=dv`^(o7OMgNa4vm($^jH&;m zmYtN9Xvt&aX z(caY$Hj4?aNp04t{?UWY*}IH|<;FdAYPc|5XPEOZ@hn^!kMha-7Y3zha9wQqqw=f% z^GZ?g=FoZ&vSd+I6mOu)Z!==yuNlP~#{Ww^3yXn`VnokIHeTv~iDcogiBk*@`EQj! zNYr(}!57)KA1R(9 zu50U3FD+f6=#9OM+3Tas^>Lc6`l&*^;c13=yKNJj$UAcSS%qm9`Z)6h{V~JKrJ_U3 zR?DA$#yZ8iP3ham`;_5V@k&ez92NuH?XcQ5!xX{zQzog!UPJB0I_+J+Rt#wGUcbj0 zg+gCmhF^tuArikJfxVYvID1Q++P;D1!c{E(@hG`R*N7Y1yE_G*lUaVUwT!%_!g#dH zS#Q%C>dzQH<%=)dKZWna(hiQ$N&M2GzDbv^Jsi0t6AfX zM&si~a;Dd=SBYBd$7zSda7e}kN5r{tPUOruaYNikoAuYKL@cwD+)@)UK1wX;=m4w4 ziycLB@2WVwQtE8HDRw}T`vgUrmD)!OOce4Ym^C`o8@lhv77$s`rCt95> zsY+H8^~Q-g@#`Q=3`kf68RF>#&stl@;WQIv9&cESL_AhER1^|ByO&-5+6ZnKZwSEX ztVlQWYX}M1k#08nGbIjg@djOfcH$2Ju_7e7ShjD51uB0`yx*cC3sIZY2%PhilR}i_ z&th>=cUQ90Rova(omo@&-cVC)-D4ps>zseFM*!67R9~sc1FXbeRvD~CSJA0g3`FG* z?ez}G4ZHk)eJlVh^GEmHOvDlW?L_bX0jdNFXj$~dTd*}lyNWkNAVciiuU`K8{x(2% zr{wP+U=FZJJUQ??2o(bd`I0Y9^HT?{1Q;v|Ltev}eC1FFu4YYVrEH-%9>w|J2SR;u z@QC5yA)X!KMcy|Nl_Oh{<4r{0k$1=&d$Hbkt-(|5_1#g68qKl3v2MLsaodWmMqRdO z>@IUgGR}bf+M`D)v6?f|ic}t**t9QN^|Q?%ICcvGy;y642W-v{pAZFRcBqF9kW=D! z6YD~^{IwGU%wTE$%^4dAxf_|Eaq`ib9fxTl%oFRw3$#0DD!AVj1a|AL8Pk4=5m_59=r8t+Q#=3m}40ARityhR5c z@~3P`15J^R=dtAviJEOGPOm4)R&z+6Fy3LHa-x#M4=0Ipwxw9y|NHA~IZ=GQt)I2J zG8GETf@*Pa-XvUaZ|B8Bu;{gYt;O2WU(;lX_qGqTw3$#Xr@CVDA2>CQuf}>fK7Y<1 z-GN@oO%^iiR*W* zBE{wT9VBajaboX+dayzqUvLaWQMcO-M&%FMJ&KT5jl_$4y1~z4%e_lsn^?3r5qgOB z`zCwUt%>#?wYQ|LL&?FbWw%P-9*&$`LmzEZ*-ZM5K3BTiF}8A2&5{T^!^0Zl=6y|Y zVY{%eX@G@3*?|q?-upp;qoJ@U>J!cg#-WF?fwQ7*jF&SH^I1_(kWG+-Gha=48VM8Q z_j`DPKHklEPA}+>>01YMH5LySh8CifVfP5RSxo6TQ#v!uWRaV5+$hIz5XQ(+;@t(LN$^Vgifo zQmj{(bh%K{8n+RV*>S}sy{{zb|1Rl$-FPl@e+DX16h%8Tl;)~uDgq1#HP~Fy&R7-e z_@N4CjgWa%YgjJUD|8Zdg}*lnFxIl3BV zXe;^^dE<~7UKB_keiGLfg~2-UUeR!9Aa**Y zYvgD!8s*9MLO)XzMY;)DQ`~gHMQN5*GwyD2$FV4ACVn`k11~Z7czw7ec0EqX%`am4 z@y-|#dBTnCSS=1e;R`p!+!Mj@Xa4mQF~D`}qoSS?sVC}A`EZ)5K+dToZfS2*%ulCN zz+CKiIv!4nf1F-ZYkBReg&jx1aO2Q!%p`rq6=$+)ovQV1RMTgoVW$t8?stFxT|N_1cDtN{%@TNJG+@kzk~QEYcD!m2Hu=M@J|(a`zw3=B1h(ZzmX6{g^boYhwT@jOF?+xqEm{AmZG&Ioja_1l;%t6A)$~%tsIrRv@fH*oshq@E5{y1To-^yZHUPVki*X zR4lIFma(X^eVVIicxw3~-t03xI=D%b-si&|@-DYTJ-G%%hg_arIb92NuoDYdhNKfvN_ zfl6^j`5K2u@3JG3Mu1d+U38)~bTQxcHP6-bsx>r#UDA7Nc!Lu^eO?x$>9cSw2Rc%Zlc2mEO3@W+a=NWrh-DW<_iIn2P(Cx#H$Q z1LkQ9Mgj|{#tv=(l^)oE6A$Ahl_LyL)1TeIjb^)nIX&(Mb!na()PsEKgd5-naJb~r z7>WoCqpzESC)X8JwA&@pf_7;J#n4r1><%qC(9kX|AiD9IKoE>>vz8(%iEzHsPB>H& zp*^Ix*0=UBmS!V&Ho`*bU<-H-7BybZS1E2>>0S0{zLXP!^{M&0UZuERc<9Cz!*Y5f6fT1e-5Cby zut@R^hm}D22ymb&&4@Ymc%w9<$_VHLX;PO62q)kpEp7wZob~j|(}!tbmu;FZdA9{4 zxTb%@FM=IPjUXSRWWh2$#?$*caDpUhY&&?xnN7wW^O-(n-%X}t;-D@}rn}>y33cuV zY71YCt2$LFrNeQUuYLUzB|9+m{!1gzDLA9xF*M#_Q=+85yizu?yYe5SFI=G;6QB>5 zc11~pJ97DPbVfqQ~7%n6jHqpNlVKf9wUY(&X2eDH7WcUD( zAVqb9S_B5sZattE9Hu*az+C7?!+Js_)TWs|A%VOeDqZRchX}aRWqrT^wWZ9ym~oS# z-?UQM$06T@u~O{lcYg?N)(_lW8NCxFs+wZ)0JfI!`lEgRIjhrMIvke+>7ahFugTzV zl$CAzHe9KE@nAZ!KQ?q~f6$ntM3wR=IP6g#>Fk0CRrS{ZUWO#$IggmQ$-=^(Vt z0O3~zv`isR3Y`KtVf#pbO@*I0>$O=RJVK~D4}{JLi={!+Ase_!>y)(7a%D^EnhCAI zp1zs^t>_<_FpcJBLM<3hYtIBvXiB4ILJRuaOlUxJW+MNDw0b5)@pZ#NQFchFP~5nh zon4OmC{|p<%5Z9&i-sId>t^8?+%JV^L0hP|WCkAO&KNp{VH!u=&So!8#hND?`baD1 z!FYn!RW}>P0WrGM9~VFb9Ffj0fNcb9rRfX7nppUPqHiB;3GdT}3N2kJLOma!udH+0 zs-`(~;~M^Vg%u?`TZ@Gx3>iL;%aCKs)}=U092JfvI- z!2mAO^`&r(w`l$~?m=T|`wIAtgVs{gDo7=SccFfRz>8|ufCmIn-!(88YDml1fG@x= z^xRr_XTuHsV$7Zu|HWvG$5OE_cNt7?{0?4_O@(#P2qfya4g$cRj$Q{2@Pf|A5O-{b zQr_S!8K-t$vK~UA6AfDrewU6>yc_-Ha>FgsGJ|YPWzEXU=|GAc{PgLf3DBUfkR%RmGX1_U5K26?EJTbp)BL zq}%4G>dz<-<^b8#HeREQDa%dMBDH zN9XN?hu}lM-v#}lfL`1MZXnVR42_~r61Z{gevr#(Pg5jJaFMQ;pbMnaFA~H+G;Lb| z1K}*)TmVThUxM8r0UVZg{|Tpny!(#M*^4vaE_!({^ng9oYajN$FYUGun%C%}uA11y zxVd)H+I^Tm@in7n2VfnRdHVrKCWADRSt08G#^qL9nsgB6bFflUAAt}RES4fqqAlWf zVazEUioBF{3j6?`N`Z27ULS22 zd??L2ppQeES-inr8gK`2)4h#`-9!8Q5=AraVY5s0(me>l4yt`0T0ks~xDPfsj*{g4oG$vM##@2MtGw_D3((`A~Pzj4@t=F&> zPSJy}VJ+05L*76kEv6Ec*HjoP^U-p%G#U{47}z@*@E=x`HSE*u58df>R|5tBH?rzM-tM>TtS) z9#@m~ut)k{LsCiIjZUT<&lvKCe_g2-N$+crngAE5(wuBFewZv2s%t}%39cTa>X7E- zZf*KY9da1_Xi8nujP9;W?CI*dqz)XC{;W&pF{M%UNH@|qUs_p@bmd5$T~dVuaUo>& zPFmlIOd(&^NIyG~I{=<^iVJDUozo~O_^52uxP9tbR;Ld==0ZHkh2JP1OGdH1KtnPE z_x*;3BpkZXrmiHOyjIakt|Stg72-A8VXVcexWA_=BEwC-uplpQ*u}_(4bN)SLw2Myf}1 z6434H7oKhV(8L^y6m}|&@VJiQ=s!G7kwU16JalN_Y1=L<+Rd=xpGa$cvYWo6b0YKK z9x^Ag+XJOES$JiUNgp*QPBW?2U?+#C>#+ zkE}9$5#B7JzoIQ(7vTaN&3uHWh`t%q929AGIQ;c7xc_X9Tz#@#qM@N2t;v{XBgYDQ z9r~&*SZqfW<4v*pj!p4ALxwAi#YiR?o_?SUTM=8kOCOk=mc?P-rf6+~;Q-y=iqz@7 zUXBg;CN?0!uux`)e8Ub&Fieu!x^LLJ1j7KC9sdnGKEV)6J+-8coiE0+Nv&fn6EGDZ zHo?$<_QlvhwVbxwH)*>i7|P$Xx;rNt9x|e%n;!H6+5x6Mr;kP_Z}EG&RZAL?H==Y= zOIG3}AdU4VvjAq$k3OV69Hn)A$q~!)w+hA33~c7?jyl6#>5(s)2G}XX{D~WP>m@J7 zU$r9_UP>GNvFB?3@eVx`BPrxFSq1sJmsnFOx$N4lh%fk(?C8vqG{n|Ah+fb zZ`usJ2*<(Lg6ednBY9Rvb97`Vq|x^}GK4Mj5o9MM)4Hum2j1SmD=59KcBGlD$!Id^ zA>HoG)uW;Fh&y>`QYLk3L*@c3rdJ}#7`69(Y`v&*`eK&KmJW)-2AV-1M-fUM-K8_5 zNeIqh2ct;>^q{rdk^r1xV%wrApQ78_lBqcMTg9-EC=HJx4G6h+i_U9L;$SVk(jKRy zKj@wgM8vIer&tm~UfiJBu~>_R^m;7uC&T2RJ#7_7+;HwsiX+p3(o1n923K3Bj^q!v zLF`B-fS1&v6L|;_BzY&0F=m!g=Caq>bZGpAl3~OHrb(@akuSjgc$%j|KUFivQY!k6xDxW$ap}ouQUNvQuKQvviFPjO>p+e5!BcYjp1f3Xn-0i5VKwi7Y5YZ- zvys9#P%2c93*GB$2u&=TleS0Og&N9b` zeH~+D+D-m8W#1;Y9&$h{e*@%ii2T*b-$?lz+nH8y;7rOBX^%BzBKfO@ba4$iMeI-J zum<=y*UaG@p4LnRN3te|UR{U7baW1FH3IhqIg0OqyF= z)tmaKa@5n?*VPR{PcLjHEw~YSd1fH(^>m;ehZh~DkdF%0NmU z(Q&8d@Zx~e9f^L9^ePW4N_xzuHh+*5qM0p?`vdn>#Cj&}y#q(op-gGd4x$AzeFlBH zlXNG3Gbl0~>7ZRCom)Dcr=NB~L+%G8TqI~nI!6K(6bWG&}kX8 zMgb1jH|aF1fH;zd_H=y#Ng$c&^kV_}nHZ+gCA&!rvU?gmvYQ+r6;n;&<5TI*KXI6) zO{E|H#NDZCDxI(g_kQQ5(9L^DUovJ2wb)BK5n&4LvzN>!ODEF@dx;O}Kbbo0!&zg| zBzkoprfWQjcH2)p$*YM}zn}c>(qW?9OSpT_#bIFZz@YbWw(~of#;%FypQVWhu(&HG z(6a}yJ;NtR;e|vAW-(?;g*RT;Xz0R2qz)Z$kSr!?-SRe5#kGE$QY_F!s)x&7^zDU zdBl+x-_eMZXfAI@(zz#5a?VKl@FaOn7LK4dPLZ~x+X$)gX>tI_oMH6g8S+^@cPK8~ z*^$(Ekk~FMCNackC~aR%4w2DAB&)M{6d^SR(}Cy6Ph|EWT5*nelY~LE#d(ri>()Ti z_=viK7hiZ9`+FeWcAnUi{DJi3dGZTU4WvUakm*DmKp$TqEy;iZwEjgjHrxtNy-3_z zTi`KdpBa*;HuJ;IdK zb%$DAA^j{H zvAv+_aNSgKO4`~3j{}lhFWdrnSuVUF2&FRDNn+2_~1 zR5OKiRWiYWgK$g0QuY}_PFLb)G(9nt26JJUi*}D`X_JmHbM`b+u-T z(I{^}#7VXdq=4Hbg|paT{AXe+iK1)oksmDYer2t_#naj0yo=QKK3NDBcfQ8lzaia! zKz4vjsnM97orjiIG|S<$(O8Jial^{BtZC7)*T-<<8vWBi`k3GPnshC7E5mcs&(fkY z(m+G5UZgu-kVbU|oX1XBJQ6!0J6ng}1butn&_H_rg6$^0qouD%C`^zVye29<^-GQ3 zpw&Sl9r2D7!JpK-f<$mhr+6xb;l6Eg1@X4{`)iJGPST4NICVY0NW_n?hHBaL^svoLeN2DsKI3s`;QLH%>Hf3c4__3`2AokJ?QC+ipi{_=jq9rxJoRkO+0fk%TrhQW#O!g=vIPrM2FxSLeKP0i zfGy~2I!Yx+ZZZinH?3Av$MWt3<77wVj}5q}&mbfe}ubJ2Lpf9K2vQk@GI1!_9mg&T{9fKM*mTQrC)${-&|7<6M~@D1V2_-;we+RsK$pzfiWS_UYSDIG~t3+nkJ?+O>xW7igs+u#gMl^ zmp0|b;}{m2VXOMluFbHivFDm`lks@w?auiJ1uy$&&g*LMeTZg}Y%ZVbt8NJFzY6H1 z@mbp^y+Xc0A#{y9mr%Fs3uZ|^-q%dt#Q2IW*$dAa%>LCin@?Bwpd@0Iki}!uRpd4bMY89nBw&1vy5qG zT@4%Q-IiPryqXDX#ZAJh?QX?Iz)$pJE3PLrrd_pM1bO|QF4Lk_|3R;5x$n>m-p-SY zB*qH*qo-`^#h#oSETwNexegFQBfPNE=5)FjSApl_N!}dZ3l5}XeYqHv+3(BEMmvx4 z*zEo^T8HEIaT#5$fx}056*O-S z9{T&X=DNT!y0bMm0!C7oHry~ERNn?GgWi8cq~HM^8Ns>H4{f+Ncq>yLiPo1){iC>E zr0gDj5y{o2>!Ua=?2t;LxJv-1X&xD|vRE=EQM**nLMF7iqb6oIIu~FF(bFed|bFJ97BGVh&X$aLsF-#21dHJ86^e zV9$7|O#;@4cI(X5SIKw9KD2vhZYHdxH#>7q=*jzni0gZaV_qQanZP8hC7M_g*TP~@ z+Shf_m##_T+F06FW8EJuy-DK!R*~C7>Cv8?2e<4DM`vZCAAUG>?Zvf(=5$6c&Rxw9 zM@QYq(=-!#+{x1%^9R93>25F1h2!R)sO(=hag(Y*dUqu9s{{HrsWAbktrepe{hl%+&h~hAdsbA^d zIAn@>H<%lTi{7XqxD4VjAHtQgtBs*tXLNdMhH;OX4}TcPTW`_v1Bp@3PBu*I4c&2~MQ>Go?#Hv<1oZj$GTYr@8`S#JWbZ$1uj*-S>aCd7!0_~#bcH;{e ztNC2A(rgWmkg2LH+cnatg^f*87f#-#Q@W80i}uZn0dpaPDk6+`BVbtaT_Aw{TJHRysymZSi#3^r-tIac*ijFa3Fj+m46u9;UG} zqZn;4kKQQePOuBmvuL$A1D)fJ!G8MpIh;YVmz?L4uu5Idb1G8%h4G8=kY1D&`0KKH`x41`yjCmxjxWk>|?Cw7MB3m1?HSJBD ztW5_ifhHsp8@l)bu4BvT?FYDP8!R<>$l*IjT%!zJ!}Of4%o){EW%>aJ3zgXBp*6Cf zpX^|`(xp_u=o2Njdu860T1>7`rZ33!VVN$L>0^vOSz>!i=ADvx#WH=2(T*1weX7Lv zN@q>FP;$J)_PQK-SdJ`Z^yw1Ydor(3<{2t^PZ&N`;#e-n?Ufb3mgxdnuEG>=`-$O` zC601WR3>!*phcb-y8p*J7sa&j7nO-E*X)>K7(-Rnt9W*5=oe9sEm1oETb7gvF zrNG=uJYSBRDaYl=bcReXlIbZjy_C_m%h?xOCs&S{AjhmR@od*Kj78oo$EC5jbjLgv zz_RR+nW>CvTfk^Eki9Z*q^zWn(U|zK%o{56j#ctb$-IFwuUMv2WcmW5nW0tU>vEi_ zx}`Fm-b)s|#{yVt1H+if6FJhPuw16QF*)1Uj79^jVA%GP9Ajz~MHl2KlVmAgrcJG) zVKizqmwEAWZh}n5GCI=Hh6QZxXgiLmU+dDw!I*Kud^@O=@o{tK&1?0Vec`lbgRWilB2;CY5Rm>+fSyDV|gWh%`jS7 z1;a`QISWNH(wHsJu+mQEX&7y5E^}-c$5xQ(xpJ(HObasKj?vf}4#}DknA}`uIy0uD zmVI&habp-WXj&=i!LZUaFnua{0hKs}VXT`@mN5;D$Vy%e!;Z1|Ey$w_pK;Ae=~Zd} zGw!{a<$a&eMs&1h&wY+hzOK+C6|b`(T$QdP1Cb4K9v*{VnqKsRL$|_7HhqiM$=qrOzCE73 zo;mPm@eEn$$kzuKdfkzqhNst_4S11TP?Mtxv3TL!k9s)qojAbo%~-teEU7_TIPvx9 z87CfpazTkRBJ4G1eoB+8W^$47Ztq_&`Lrji+9}zfkV>5S#XxTUK~o#@VR#$6tsy@I z#?iX2d`l>jqFwo0D#)OX-T6ki507={hvKvIo$kDryep&+-T6MeRERgHW?FQc4r$JB zAR!xQEf4-I8HR^l4?eNpk^NtDTTH9%=-B?h9{u?NdcM#B*22^vE%-jTX-sa(kH)?8 z(UyFK#T)#IS=H6o5o*(l-`1er3heL2@yz)*3y&bi1pIMZBEF&wK-w@;y4{Me2Y4&? zQOmcsuv+tVO!T7dJ^8^bH%~r_EUBOsEqJy^P4?o`@!jtwFU;LSey=Su+}K@5uE zvx)sh>2(CZguo0*AIXovA9T=n(fmDhlw5DiH&WM^KH+#=M0>R3ThsP2e6rh){Gq=SSuPlPy*M`A<*`T@=k z<895WKeLz44dV+n+y{x!ote;*AZ~=d6mA|8WAOzxx<6fi;QMhJ49jy-p*C}nMlZ2t$mPSSFKzi5}1QMO&!l`;W}M49w)-z{~&Zj z9(3b^k>IyOYfwpZCh%Us9m*q13hX*s8;cM%jnY?}NhfT42qa93sTxaHDRnobcd~nF|-$}LOWHpBvBhfdK zF;$~Tvn-mPfp%Pqzg}T)9896|V99AFf59G)uCIUPOL@z68+qaCCSF*+g%=)emF}$O zzi1k%AWUOo;=rOaL3xP~`i3u0EK-)%u*$=ub=GVFe{fl%)~(KyyjCj10H#P|a+MDV z+^5}ED>DiDVsETgc0!j!i#5tP_=`?nqYNXibEQ3Nl$$+-S)m_{*>R-_*$eVek71lN z{;cwh9lkt{ex&q72gQU(%C*o+YVcSo5mL8^UVf@<1m)7_r^>q;oM>*pRqjTezr0gY z;{JvDR46aOW~t_TWlLh0|K+2xam-Y?1m5Uh;pg4yO9cie%DrtZmMzxbQ2D5raD~%#!3M`s^c7VkVt^4382Hr zJy6vbV1P6)NVP+S1rLu!?Q?+lcIs(M;JhhHg?XgQyel+U$dElBb9PoDx zXtnXU2dj}o??vJ-5ROr0l&U9uqWz*&c5qjk6s0;ZK!MaTS+$rTzSm9leGQ@#rEUXM ztt{aUojXR=4mPbjH%8ULETaeBfccv#Gw8Lws(K-X%+KQBW{7|I#W*zMg<3GIvH<)O z8t5C!jw>(eQl3!K<#kDy3PhiFR|)5z`C=?6>?&#ZskW(z;ct5TkgBV@__s=6@Mk4d z%>p?5*`Mxs7L!@Qjqi&;hfAaV53BlH*cPh<25lHfXAi5Q1)>a)>RnW=Qo{Gro~tUn zM1DfyhUywoq|lo;RK8Xv+V?n^S%>1!a1AGE!<(wVYkzF@9{2W7keNM;y&s4-lu5X= zim3z6QrsI=tvc|Trqomqulv)ZkN9N6CVN2&8f`-5Tl7#^ce|#VkPc?jT?@5?lC?sMqc2X#{xJs^WrN)V=~7emN{A`;RpTH1Fkc-R zuMuVyj;&FoWK=0~zdkCgYz%A*qjDy8L2qND7!)$K4L)oTjLNxmpSyalU9O)=TkJpD z7**~o^=_{IzAq{4BAuP5jtwFe*QnDG^`K@+>`#ou<7d{}u}bekU7tgljd4WcW8a~V zu3&%S(`iK!?^bYyZaJcMa>>EWr@0PXWrw56Xu(4IZhYpTPYS(nfI=f2h^0@Ds9WO0 zeuty#rVvA;j;fsy4Z={H7|g}{TKB--=3_OTyBckIOc3bU4Y_F!Lm4u}VYc0|Iu^#U zLb7qJ#%RmfMkULqtPHcHE=SdlPM_E%=qjczvx1~q40kddVF}CfSfPBAsCkjv4&rH} zB6YACtDo_b(KntBD^hz~u$r!BJnzEQF?2(bx-CBJdQqgd2FFO`D$-hDn`S=I;NOzD z;o$bt%7b@1eke0Ek~$q%zsG$>y%Xvd<|dt4QTLeIMC8` zENQWveQlSruj3;2_03`5(E0csJm0oJMi!f8`lQ;;)qsrQ zV9?=@y1L`LWZS0L2}6DGH{?cJ4E$M+v>QE@BpD(Fb;ct^xURJk&c9^yo ziLYFP9UO0nGKoDY3wg=J$}z`E%$FHg71S}EzSM|4_aH5g_+*6K=Mv*tl_H zC?Z|q|3yYQDDyvL^l$lOyk`|i|L--3N1^|%VnG9f4xxI>WEf2?lWT@Q!sIX>D_Zyk zTPFQqnx_0C3VxECMo@e<72gJ zM6M&Mzzdk_Dg+128lk*C2r2faI>j@LphZxiI;K+L0zxXC{#aeNyH*QAAwqRErHxG` zarQ!f6O6}ju^R%GE{}x~n3|kMsLBIti6wJJT-|0A^u=R!lk}ATL4A4C|E@lzxk-It zi*MDZv;v{c#F4{B4IK1+H*C+G|C~>2xkXt$3Y-1+j7lprD*u;y6w{I?>iX%y}iF1db?OmV^o~bXT7mq}lr$oq&M~sRYosxjPISMD1mqgHZ#*8cJVx)7BW`$Fr zer*AUCt!YK5fJAg#^Do|vkk)%7VbC>wGoI>cj*Dl6G1l@%Z0LqOr{Xp3%LuifGCiA z0u`P{!IMa%)mBZ7x>HzN1ZRYJjAPwbHCR$GoQlA#JcaIit{#zIUXJ-({Z>WFT`b#E zRB;2Ys&exrtr927U`hoPN^_DdZU*)Of1qOdMj5EZ2~M5WG1SL+L{J@T*+IT+`R zbU8vwJuEo#oa%=&Ld3<01y5YJ{IE?CYZ2!nPC;CbI5&jg79a?f zBIF>Hdm$6CF8tpMQN2LbX>Fx!YFkX-3)3Tx?~55npq@Th5QLP$SZE9vBRI#P9O8`D zSTF^>`bzDWo;wZGY{0bD3?&!SFheO^hq|VsE=D8BhJxXg(I!JFM!CXaCPOJ4fqJVM z3R|>=Q5c7yMJPuo9)e{-C`ZtaA#BT&K5ozig(7}>5D%L(1YhAr% zoUw*gEo0g}^s5>%smn|aQM%&a8{%KfT0N}T@b4W^y8dein6gR#f6eB^%XTlu?@td$ zJcf;^_zR|{u3o$9#bPw;_sYpS=$ow#i_EE1kXnvqz5lHNRW+0IV{BS#{Z3u?pYj)? zD4SSP9+;Xb_X#FPVD{pSaVZF?2wEoh2<;R>hib|ZCsj^)to*nv7nEbxY{g^6$-~u- zt$2(se~oG1FdNTUU#{R7ua2POIUyc6Aq627As55Nbl*F*Yq~aq6Uucs1GnacLZmYg z>k!J@$Z2JrOz-~|bdi`1>W%M)dXq7`wwOl;ggDe4i*X1k5nQ?;AfvcFC*&ccxE;z&z#0YFX%bAX{U#;UC<0#gn zuFCc7n?($JEpINSpM!w81>i(-;oLv|+p;gd-nuxelQ{%C|-6 zfO@*}enM#?k1GrcL?c9D0)%3OQVgdcPDRK-aE@bgxa~oRrz<|H>*EdM?vLu=bmuZu z^^O zLLmai6&5CA7$Fy-N=IHbI;ERZ$UCaSp|hlox3{-nI5sVV1K4>xgat}Ln{G<1ovsv0 z5m@5#VF<&Of-qkxI3sB3hEHn$=V@*JDf$i&VVj(H$kF#^jq3zO_s38iaL4UI6W zn>Ta5h@_cXwzd?47~QK1OSO=J-eyHH#+}C!Amq@+Mm24*4>Msc#N21huf}NRbY%V* z_9r9Jd#2Dn#JTq);w`87Z%6+zYE9jG zx^v$iL#oy^fv!?(>dQ_8-B~<=6ywPR*E0cW{JErBGa_Bs^Yw_z@><$RBNQXA7Pc+e+gO&UCw#ra8KkZ!nZW%>+$z zlJ|`I2^x2c(r0R+p;D~JY@-*A5Ky5&vr)oY_uQ0W9AdmwFm|EGk?o#Q$>k(IcUG_jUulad>}#ae1&r>R%Rl3hoz%LjImfY$~cTWahz zwMno;aHHU?;Ixq6!u|+b9=5_gX@VlVl!J~rHf-8bcLX=^tVOWV`g(3-2 zch3=??Yw(>$N7}_JofqM)5HIEpi5BWAkU!ape{kPgSH2~2zna?!F5n|a`3|7v%!~w zZwJ2(R)+Y6WQ2Hzj|m?aK0SO__-!^nmzs3CXd7!iwS%>*w70bnv@g=NKX^XyjPTC% zp6e}oAN1yYG(NR`Jbi!go#314%lYN_E%DnOP$SSKuyLSg;HzNEklG;)Lf(f2hDL<8 z4ONsY6fvkfNIO+KLz}IAq;>Fg@$~Tg%d?}GgNBUa(b@p53_tdYS|8)P~ z{WSq`0e=J>3$O_MK5%ZJ>%E}YL8t*Ihg|%ocxHK?^|bTSdii(-c!hZBydu2@(-#Sv zdYxZ*H}r|{8SAs&r@&{gPod9YpJP6!e1`k>2&fU{6!a;mR`B`|$1rW!-moKKC1Eea z?8Cjnb>Y$BvEhl~-NO5X4-6k3o{9}JC45Hs-0%hAi^7*t&rpqRdPTSb-TvqmRxHyV z)%Nh3?xpe3`Tyx38E`AGVNkyyo8Z9U5y2O+Wv7I$4}BSG9o9Zjt@K-crFkHwV==;3eXPKF4bPuF7sOB zwb|>c*Kg_G_k3#kdicKdt>srIU~=G$z@>r919JmEU{{|CwhwU$SrWEAY)rU92Z~fw zutvLHyIGs3-Jvbe?$s7*y*;BnvppAiD!h0vjaR7GP_NNmAH2Xj*|*gHp1;BWiGR8O zYixD%03jeMU~!;-(Dy;}gYE>q3^EV)3Z4<1zAiW+q<_ffkn16}LOnv0Li>j{3?IoX zCLRpmLay1os32l+n@hz#ivqR22c_aeV#e!l*}{)zxTz*Hxj z0J{K(fK`FRgMC5+LPJ7zp^?mGoMX~C!!yq77q3TNp56<*R|ee(atqxO>KryAEIsT} zm?9Sxc8YX`V!yYO&(@Hr(1T${9GW-66?q{4e?Y9zjt-~t-Ubxx#-OHlpY|aR3TMC4 zpoCz3@VQ_^@R#76kbuysp}&RR4pkJJU_CDi$P6j>;tPva>92B}P zG(YrMsAHI-)Ks`y-c!9dru*;mKM`mjY#Ztp+76Y}4C@d!l}!TWpm0F+MH}u}!~4C@ zX}=Z$?Lzj3eP9K`b(9(GIIW{sFR$@l^?ZKvog45rz%ei`@Kc~yP;Ai8K`y})gZBl$ z4CTY@!s3`dd~pzoXohyV_L$boJJ#FM#}-Ftdb;mmzvX`G{ZIKj1hfwr6L10hv^^SM zt>6y9xxssbEkc4rnuex@y+M!+>yIeB-( zsl?5vtItRu>a*GBsgHwiZ{N28iogkh5Iiv0DRf-u|JTx$hgVT#`z9+80+C%XA)sLm zP}N;~Rd-{U8Dt5YD8n{J*#;B|gyl)dcO%F!2)ra<28^=fWCjcZDvPpYL<~qG7*OE} z8hP?i*=1220&}|W`|Ex;eY@)PS$<0;-_1_98p3Ms8E=YrKH_cm-}8?IPlaNv;Ha-H zjL06;5I=!e;~%hXXW7H;=j@sG0(*tM(cWnrav2sKMCa4D=~>!@8TJAr{0Sc6EBP6I zmp?3|7$sg3uZz9noTwLFE;(cPm(oR4J&;wM)tei-Ul@340s2sItJy|x- z;di7^U+XbuLC{FKF;+`>c?h@1gYhWbMLpzNh0*l4#94SOzJ*sfo1F`^fK{{Re7V>n zc8fW(Kz<^tSyASOV7BVfS#>Ih2%>3*;A=s;&`g=<|FDFXN4sP*1Dn zY7b0i15@vI^L`6bzCOkZ&d!?P3_Kdo#D(}Tco|*+xmk-h<1KhQ-i7x8;vT`D;Zyj3 za2??JW&AV#72n5kc4IrmZVgbH&)?wZ_y{pk{6!?m9+E7%Wh4Y;&!SGf_e~`xn zpAlg4iI}kKyO1n0mMkD|l8;C&Nrvecyi)X%KgrgnBnYrB2FA#;YEd;nelxP2l$a{h z-LtMo?|&P0!SyzEmO6)>U!6SiSMnY?NnCnQJZJ8^BVqnQ5%z%v&ZB#%6SlF7Ya#lz zz#vELFYSAFCo+gEfkrB&SM<~FT$g$MykhSQZ-;-%zZcXLh(DN=Rp_6%z*+1}B?Y>% zTjuT!%9kD+);rak>!thO_!f%pm5uU%vlgNyC{lz<(Hp>r<){L^i}s>}=rDQ|(z*wd zdLCbeP}($(Rm2g0Q7EyWH+&GXwYT$_s%`17lgZvyhSF`3O+!* zrLL(*^g8{c?(9D4{=wfLtT8k;%vcAJAx1^SVsTKU$t~t*W97t#&Da$U2a>2q&*G{0 z0d8n#kRn#f;KtnO^@VgJt73KRs%)mlxYOO^-dEnWpcI9%VaaCV5~%(#;L4v!2RfTx zV+s74s8OBuDBaC`?_0&OVN>^`9aQ8+MP1h|2RMu_UIML^Wj`d_%J!<0`lq|XEB4v?O9?TFdPf8zcSVezFDbV(B3Da>5lOq@w0<_>Y{7Tz(3+xyEkNLi+#>c zRulZAer<65dThiB{u-ebN<+^%=OKMv2ql{ICH=_|0FiNIJefkK1MlaPh0p~>q?Eit zHj%Al2iZ*ylEdT}G}G7QJ8}^^O-PNdI+ zwt0z0=wez#OX(UK*+jR}cj;bwkRGPT=;!n+dX8S8SLki}Z`yz*vSikRJ9k!KO4fHVq@5|Y%-h1@>o85nJs2TY!zF>HnFX22iwgKvcv2cJIT(lZ`nlH$#S}!E%W6#t5_OEq zQ6(x_L!rU(1vA>st|Muz5odBKtmEphgRV`93;Dk(YKP{)OdbG9l?{(`1sd!_`J=oe zmm4cR&WZ#$oQ>zm6f?z~3lIy%g&M3Q%VP7{0myJ;P$V%B!b@tOO4Yk`jMvLs;#GS+ z{V_qe^@)DIl4B>vCC`$ua#HiJ(a2F>P&Z903Ji*LYl3&w>r0- z77;R(On{EN0XO%9PTEL!(Y`F3P2;Ir=+^H4dDx%mTRCyzaG#<}_8gC zT!=)?olNHdl*B5G3upC3K1ZIDPk^A9t#9i=rlY&UUF){@KK5Gs2mKnD)wmE7cG1W= zdWiY_Q$9(qkyll^e$>ngqFf(MZ3T`YRb-Qz;=cj{cbQ)t&TRDNHFi(u-%bni-=sS& z7Vko8>&^Bc^_9_kdmu~-AgKGMm$$~N@lFTVPQ-;EQKYI=4}HR`PTKgP&{@RTsws6*wdC<}S;9GGLv;jA;k&_8e(uob{ z&jZ&^P^Yy8|2QSM-ct;M33y)Kl6fHaI_tmdy}HU|dKQWgar-@*%U)t#c`rVeALeVt zW>G7+ysHY#Li4^!biZ+LxDCBjPkKYW(cVn2B^Za7!7Oa@cSS&h$A?h&J67#lL*uPK z!-g|~_B--S&iL>7M4k&OWHJ96e}^C8CxLM<^CqH==q!2(R}2>~Luh5A3Bxu@ z4pe&~$c`H6EImvw(yu|d@9S-5zo|1BE^$}*tD&FbLunn4BPqBY?uPs05qLZ}!+Cfm zeg}VmKgK8VO@RAkyA|-1w2z7}K=d?}Wx?3xMzd0ZlsyofWS&#x>~qT4XjSQ1L4Op+ zhh^>6MK9uw zpkkWY?SUk;oo_cKoyZE}v8C)oUd6wJGOw1A&2qaur}~>SCe61_L^qjAtMzGpRo~Sk zy=Ot#7kcZxE#5(>Tbl2H?VIgi^{u*Spa;NrwFPZH4~S$xNfOre_)vJnfk^6XWBUV` z5SwPvNwk12rLO@wY@@sBAzDqppcd;CVMjpVW%A$2R_aBSrGJA2CxkP677YL^H=BGw zES}6W#Wc}hZk2DT18SWAd61Emgedy)ZM>DM!8BVf6M<_ote2*FaQbdmqV|ECLfKapS!f|rNTEc9P!J}N{%;vYhT zJ)YL`b)e1ni#lM5dQlS+SX0$bZP6uWvuWx60Da%k%kci{r2&S*B6ZR7jzf1unH&`{ z+z39)RcK?#_MEi01P7e4K2g%Qcw8l*BNj$1wzuo*0%h#UAWDM{nWMkB!<1v z8trkO4tk?FxaOFRUR!SnH}colvV#PuoD+_6P-D5 zShe2S<0KJ53W3c(BY&c6>1MixZU<7{4~_O2{f^!N{nm!{2F*5$&107!E5ATiVtFH; z!rSmPo&m$`aK*Fu06v`miBIM)@R?AGMZB252}HF6toc6v5zySX{5Sr`2>8h(qDEW= z5!D>z@gBKf9tYNIpb`NOW~q6q5Y)~ZK)TOVd!4Si9<3+qJe{u>>LR^ISLzx#GB~Tx z!?D3teJj8ZlVF;d=B6#2sXb=88w3Y;#$=f%%wRLZj5axDl6fIO+B!JWwFbj+I{Fe- zyS46V;Hk!*@}>e?e+o9SyFcAO>BG^$^~4a*2cvoD9dIa(ac3}89)1D8j2GjjxD=Oz UUkRMeF}(ZF0~@YxQi7WN2bek9ga7~l diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so index 674a08a6e08be6a0e37b063b48754723bde87414..cb8742af34221367d0d3931fe67cb55dbedb608a 100755 GIT binary patch delta 463139 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

Y^61cB&> zfq}x?xz9R6Zj*=q-(x8(wpscvJcEc1p{g|%3Ce1q&7zPCreIlvZ}kA*%Iwie^m58o z78{qvdfnuWyqww*pCE*M}`{OGKUA0kA}+2!B#RRg5tl2Q6URQKhXfm zmq!pKpwCS{AGROQ0Eb)}BtzCs_-}(tz18pkQ-v385r}Hg9w91u;L1bz7G2O#=PyHD85u*fK~t)- zLK+i_a*XGffzmioinuTu{MS>6c3-IBnhAzhqup|2L76l(GadI?xrv!zyzf7qDGL{$ z)AF2AK;jsdZrh?jpN=E@TlyK>8b|~8j$%bM_nYeH#lAm-CnM@sP@Zd-L**u-ke<9W zpyDa4UgUyFQ@_r0;EZ}>r&3<>Wr+62=w}3=(V{>4(L$ErP_L1{PRJqBMl_elAr}a~ z`s)hkRAQ}3RWHp*fz#IQrfMTp{tHOVspizgTh3sN&0_;w&eiYvEg=T0!a0KRHw#;sd7O8UB(U^Qk2w z-Y9VUJ%{>zkHsaIThal(5RvC)hz8Q*D3w)lZCVQd zRbX8JTxGQIMJfaZ>NB~{uf>&$cpRjl9izoAjLcS>Em!L>qB@ZkRyfhd{T5igQJzqP zi==`6i0TL1ts%*A9E|)Pqz35nS9vb;0?uMlUBLX?PXXg{+DPfjxC zd}y9R%YkO36GvNYDv|!kPyTA0Zt&=<2%g))ss%lg@<#oQ=RE`c z)&-o+p`j{V=X*h8kxb z7b*`~aI_^O?#f?NAyx2+^qv2!V)V|K|-b2nIf4WJVD=#nLj~|1^$ef&?}Zga(E# zqkN)4xzK<-pEQxVQZVAdm^Ch3nM(nytdCcU{fT$W0_T0)mj0ByY zKi?k5B+)i)m9&!lN~~RdKMF_R&8KxH%C~NY?{ipY{mDe?kF?G1Mq*aSp}%uefQ)$@ zGxN{}XNVRxv#IcA(eylL{iSXa=vhP`s=FpL!FfGaFFj7%`z5ekwO)Ee#k1jkvoq z1iFC-(f9Goti`Uc5JXWWf_)2r>gI$0@={=^exZt+uo_e=6-a?UGzI0h26}dbA)?*r z5Ca3pwoxHApJ^faeZ&m6(a3mAt^|To__s!R`$F-y`RE9VZ(w+xd{h#}3`k*JVa^^* zS2OSB6`d*6q%YZ^1owKpu5jQSo=Lw^v3bzfm}8DxVgEd&02L~Om7CMp`c#w?^#O^_)sB-et!u=@Cz{{(^Fbg z2T!V_lT`@b=X0NgtzQMHGy3@q4VY2ENcD(`Bt7OU&Cfn=+1d^i|HZeTx`4Szn0VWg zgdejY$;Mmib>J!3>`{;}cAR@Y@3ZV5ZZpdNrvRuT%4QD1!x}W`5A?q%18KlH6o2Rm zYt7`vQUo6JdgJ%fT&%mt^?1uV`Eo2|9ja?4xzx*dx*^z(;B5>8K{ z?lH(x-sJDt!62u#Xg+E?&-+5J1Ug0kC)w2NoCMeeeGZWu1stlu9s$hbLEJ{Zd=474 z-fDpCIBB=*=a<1RD8v#*5Gf7Vf@>F_Cxv>391skRmLZA^@c9`-ufTs%ulT@7S5P23 zM8bSO&l@i^TFIE(W;(Atp#WBwjnU6XGX)cYY=?V|=hy6o?O29lj&b4(T4P# z4H$U}NgIiy+9T>K~oA0#DW3jkAWdi*E|lj9MLE}mKR*u&*m4;Qeno4 z4i!F!NT?P(^}s+Z7|5p!s3o}OOG{~>p!^%GW;dVXFVaKM5o(^g+3UJVd7`Am@rdAg z@*dSL9KHtSdAt|Y*>Vt}ZCPsZk`UF{AYX*!4r6tKz#;<7=y4JThWu2jb#LfXM`IzD~7PT1u|IAwO;f-MRJuetU<7T05Ju3=!lmaiXtke`F zO%F5Xgj!9%pzUNDMYBb>Z0Lq`>GQPT(^8HZPG3I=O#Q#^o7D=#$ z41u6%#b_iYkxr52k`J5)jj-gRsLub=m`Epb!;}MqFzU`=1HyI25MHIF&lX$u#QJk^ z)gXWM3-_e~o124S7O7w=dgK3NhC}tiL58a(55%u=D0k%`H6AjS2K<9b7QWnC!_hGj z4A`{WTuiQbbb(1jb)l7kLw##JRClOtrf54Vl=2E-7{r7apZ9wG|DL!)QJXDKsBjFD z%U0o69Z@b-U8B8DNsqaf;5q?u`Lk{)g>FDq(tH@T z)lL6@&tWQ{Wyf`ae~?c~Z_VFNS-~D6EI=?VAi~6|#4IPh@%HG+W;~-Dmgsd+(`p)! zUf+K@1ILD?&nFsoMAqbqC!Ij=<@n=P!hmW_(g?_kbA*}pV-pUt~{+Z~Ky zgqp6^m-XNho6$NuC9A`6G)#;X>g7;wT5S?-QWQgm^Xf5)<^$U5A!8_1E^?p_BCSCV zZx4hfZVqCF#2w29T>k(DKOCaMbqA`AbEqtY*;4EG`F>rE1w$Rl%b5QF>dtSnXrL9( z7hSw&|q7*jslFniD?KY|HY&1AzD>shXD`-I`>6Fi-I?84#irSgWj z;|V8NW2qas9deIC^qPX}Q4dzpB;x-E>lRL6%wv-gz0xn#n?|19Y5MB?!6gngbgk9H zmreP|VB*mn^Gn1N z5{M@tfsF>F#H#khvqcUI1&s@{@dYnMSu-3{nxGp9ESfzU{{p^8n?dYG1M2K!S1z0H z*C&XG$aM@Bp5DqLmo3&@v*#iD|0))ZNrb&XSp-C7ve_#{?;}KS zKV9L!z4=BA@7NSH8?cz%nC(&ees_r0{%L5geDv%qF9xJR?-|mWtUfS1^mr!xcMHeE ztgsu(B#9j@O`7QR2i`4a_afbc?)d+)`2QwK8)G4bV;rf1iPY!0OY!=N$tj!3tTaYfWeG#To_gde%WSuS>8d;vwxba9z>;qGG zd}K&!^9i`AeA<_XE0{4cd%U?DL`pEaidN^IR4jjSLZ#*d*%l!A*cQo@gbS*%LsES! z`rQ`SD*7LPbzK)w^gUk$*go3Wgy4yW=u8Y=!OV^hvZiX^HzdGe1*<*EA3+kqYHt&z zv-v%Ip#n1n)x;;4W~V@MW_q{n>P z`HRC#lxGPdZ-cd(8|C5uKbZ>AK*e4nOs7!Qss)m(pe`W)HVR|`J|kfiSOL`7ZMei5 z3{f+^o{t9QL~p;TW|>?$5k!fs4mUd(1ct&)6Hfg9d_N(JM_RGmuaQ*tna}-TB+iDB zR>vIbpSISQK`ta^!s|eThy^2qHuFKAO&R4a#C;|*%?6Cl2rBd>74(-vRay<35doQ? zdw8@9+c?_R?exL}nP{7YO8NmRw=GDhxCF-{%+h{`ksA?S|K7mZ>o%X8U{7w~j-#%@ zxW|xGbud5@hgz~aHFrW2EYV!QAA+fiwP(y|P`)YBB1-25Fv#?JePc{n1#=dgkSQ7A z0>Q}K0h~N>Dy(&*L4$WXlzXVGsDS_FfsSiIQKYv35w$n*Y{J@Go=r*2@R8cHg>?!(RDoinf3gBb& zf#>va2SnA3`_jPmNSGM>gu43qJkRMNJK!#W@#X$a?EYk!)kt2Wyu;toVO%fqhNb)g zNWw5AArjhn{?$+T4HMW-S^fn?3h)q{O)MSk+o-5aJieRlqs`N3uj~Y&Om*5|A}F8h zQit^W{UaS}mrYmP&FWB>u_sJ-{C_R62QFJf`dbnmIL3C$k8}@zUQ7>|lYxDW7Eh%s z`T72h4ysi+XiM5KL@dE5OkRjKDI0PDzrm#Hxn-ddo8OQLYxDMgr?FC6FwhgZ5zWV6 zt#o~fR}l5DJbuRCQ3wVmk3*E&0*_%=L3yCRu??i$e}Yhtp6^nAsAb9DcnejtC?%^d z@PYXAIJ44VsW2B3sM``t_P;%ZXdh^C$tE!5_ShnouGWZN_}CPk)AvyzcD+!s(PJ*jnSi% zQ)M$uKc6W5`aV4*QYqXcJzkHXiN_?9A(9H?Fw-NBTHnD;-%p;M6r=<4e8#2te#nJV zhR~Bsw>OCli9l%pd+AMq@HQ zyoE2NNA>Ys!iVs|f@Y(d6u5{2E9wGULe+6ZQs+^lJby0-jtJ^q8Xy?>@-{@sq?E}O z!Jb~A47=PM^G1JSP}uf>`&1LEXTwb-s8PV(kI(=%9^7bPSfS$5exx!)U8!$Rn zKi^^s9b!n$F~5`GP;RF0-MRywFUzx&ZgEheFFeLMRNsUe+D^te!(sRos=do)>A}hW zV4EKUd?@~3Lp-C?*5a}(z1TYNuC)%h6S^SI7UFre8luMNZS8F!UkdM_MeOfqHlRag zc2;y->hrGyyzo54_`eB3X`uj~w;34wvSY^+l!Ca81{TYNTyO^(|1KoY_x^(SZ7V9% z^W4Thf)5!Y;(w8_Q8-4YNi?z-cjQE;F_kJk4#V<@wtb>;x*kOJ${LahsfZEbxTK&! zc|NiQ6@tMWcFLYSKhr zjLv9`PBZ^vn#{mhUyEI#q{v%=DgyZ+4cKrDN%+L_6W&$8SuOAMeRQ%N8Z-BxGvfa{ zc;H4^uc#E1RUQV4Z84lGsLQ$tB9m&j9EB#T_^EVS_7A>I%h_AP>|rEEX*9l|NJ7ED zCZ3x-+*%3MhwJBYzp=2q@&A$6L0QTWMZ*oY8K0USAQ??j3fHK`OgNbNMnppA<2Pi| z6@0{`O3q?))79FGtPjVgG%@z*6)0aFqOiV=@{iOZpE`u8SomLheC=m?%yKxP0m*;O zU|z8K@5k5i=GqW-o3WPrPmo9zFw>{=yr6s=W9%mOn_D-idroL*gVPAz%Ke&@pJm$+OdUAl#VQjBVt>eRvNN)+UAh1 zGs9uuQ!Y(!!u$7}>Jj~r1`YoKxq}JkF{%FM98eY-WbE=FJ$y3@^@$@{(NazD;&1;RESw z*+GyKD+k3ElF^(%Bp_m$#c*rxU_04%kJ|#H#M-_hJ68m2@QSr~v(6DrlOld<1EVM9 z{}jU}QZIaKrafwF6DCd1A`^9mqhYAT-66h6K%@8IW(=IJyOQV4=j8ml4=wNHQbY9n zz0%TEzLmhrH7ZPXg~5dXa_Rh(3;5l95=DFHAWmALy7bT{bZax+)YE2QpIl1?E3D1l z&i)295!7v^3k=Cmg=WwdoSL6-yN>*HcS&DgknrdgXUnIUBWoaqAP5TP+wohX{?u# z0&~=5|K+cp3Uz9rJQ!Q*5<%F%kTi0CI}*sgdE8gnPHt>1x9Ow}T|$pp1ukPG6*jm4 zgRX;EG|@ETg(!@z$=sI$OE^F=|0+;WGiVSPsDN!{^2^fS=|GIN;yB+5Xli+g3fJ#H zJ&X)3KG&z+snyZHxvq-NF8OTPY?O{JMhkpxC#a9e9X(kFjT4Ei#Y%MB7d}`M+kHuLn%hnkWmn1Q+Zl zVxY(HYsmLD;V1L{;`L~DTTJxYQl4iqhl#O}KiNW2dkm|ao^d^j*)8Y$QmVhwFl}XAh9_dqRvqdyz5jhc#&5F}OHdBqq*6`BGXI#Ud_|c~U{q zxX-uGOFRzBSr409-|vK78cpQDWXr%fh%}D=kKh5Ra0`;_418=-c}-B7)H%?%CVKxX z@+VlDsGr}1!y7{!+*Hg<;MWHz_E246lP2uAf#Z%TVl=Qkrb`D*mo((1!vkYca~|90 zs3+PvKHJ`|J8owwA_K6i@j}yi-2d4MWz0mxC2MMhD)L_An<`=-A^Q1DDB>{NLchtg zkQ;omEDe?pKc&N-aAY;|#%ST6pyEH4sZG%N$m#^@8(A~|dEc?_&9>b`wi!5WEZ9LM z7zMT__;RTryVL3STh+oIX7NT9eZS&ZXl9hlx1C;!-SD4%Z`9J5Z+D;gq`I!-n((m{5!-E*>^y!jewCq?OYXR_ImEb?O z%_C@vXiX$|VhW=FmJnAz|UYC@&e)|K6ePh!j*NFAZFSGPCbE zTo|r7V=FJovme2OU;C40yJm>emUxY3k1})yWoR$SOMz#$<8%=_DXV)}5$iGLt55}< z8Ta$y=0@RnH`0=GA5b4Jp4xPEEt4l^h5H$-&NZFB@7UfJ<`X8q z5N0Hd9yXz()g!%P2)(10MVfjdTt*w^~F0 z#S^`uM+}uQ=64zpo?^Nxtcf#+Gt`1av&Z# zAaX_;Tx%gicFU!Xk~comj=4oV3)yX2_&-g7=un?#0~TMy!l}jrn{3`5Bq0Z)&jcF( zG9x|ui^2Y(n%7O0{CDLXsv&G^(oBVmU}Q7vRxtf!n*r>P zvT^gt(o|X~L{)?eBaZtU_JI^o_aV9fQ7a9U`)zkIv5yaBR+whh=Q|cpLG*f9x*$X? z@1Ok#Nyz7~^~oFhf83v#i`T8M#JikFnedNnetj4$32kWK;`pCj4i(PxGKA9L+=X!3SXqF;^g3x1i+#TR-5vC(eFx&AjLmXl zq9&2qsC!gXn*GL8voK z|5s;f);ZXzs_FYXZy}i2r_O^jXB5~YoN45>meF|~ zpC@5)sIi@`jM=sO35bhZ`?+)^A;$wxV zP%v`*7r4UaSlr>oSoD7??n{Sycc6j{nBBU8Sqktmh|NzJOTCdEdYnl=(Ch?6g1-J$ z7qAG)m^<8BH8yBAq8HB|9b{DS>rE<18=`V*Hl1CYznrmsNl*rIe@jqS8Y~T}5RR_U z(IUx@{Tu#Ey5sNr79u4E#2dbcF)fr?)iJU7JGU+xrI*HI;o$3eF_cc#EdX0GZw^x! z72Kz*cUM_sejVS@zDe|mUdVy^E)~x6f^p1Ak4jHSF-jM(Vj?Gltv$qwi~+^$tOKnW z6*NX$hR0iD>e+^;1Dl$<`W*`kPQ%sgP$i}sZJ<@<=fXXU=X zuHaV~IDrb|bUriMFT%DhW+Y=C3x-S^F)#-P$vSI=a4h=$(p~S8XQ?0&2PG6&tBx*j zYiE|L+_YjP1w2bBfZ$7B{lM1{Nd%z?h}`ILzd2|}bVEy>e}IUye~wze@aJ15Pd}vi zM*=@zhbCnqzDD>eJMRn8HrVocB*Ie)*&WT-A4hpWT6|&&729^wJ1`EEVzrvG`|%Ru zV^}aIjijT;yKMPPd%?hFYva(ZbIqOeyd5gK5e&0Jn0`xrJyaWfwS*yozU?UHU1dn_ z2CJr^L>klp+|6SH-$>oSyE1iQnJk|$P20bZZxA7OlbTkg0Cy;Xfk+0qe{cpf?hL-*TJn<- z*7hCmLh*gd!Qeb@+<*55%L0khg1n$^GHP=dYE$^t2zBg>V%aE>wG#S;xVM-xHm~qO z8Jswq$8qNZ0^nyq#Sj?<{+S=G1jCyZCg09rdcU?Z?t2gz({LEt=;!M#17q+b0?HeY z9$o@!voY{hTJk!XpTbNw3OINgl(GP>i7udeYlm{PBEP-PN1)jEqS#HL{>LPS$hPVt z4b(Q!wnN?uH^icyKEu=*g>a4d%g^{rX+e?u1q{t*B^ZrH19CHFV;Qqh@`Cadwdp}p zpwENY^b^#@LRym@dUiwW+_6Mn^WvD#Ih=+7k@CO5=o*W84KaI7o$EMdiD;RrR3Hqw zb_zY*rr~~|6 zjm~GBjG@4aKM}P?k21YL?d;~W4X99FI1_-3wf(Eh`vIVIq9sFTKW9i-3Jfh7&j(iK zPnO)4HJOY2WLth%Kf=k^t!bk{cOXjk0A@X=w*lWC1f@s_vqxbt_{H|t=AaQfSQ_=cf|CbCfwQT!-B z<4rKi6>+aM0u(bui)o+?(OqaLfsZ0gN%}in6hppz|KOn#AaW=d_;rT zI&617@BN{RK-Fz)lY|K+;JTKUMyspNwl7`j}f1Y8}_z=dn!0jn)6b~Djg6R55hw6i9&aPX$0%c{N zHtJW7plvayLPr@GESu!`Y{R@bVHZA%EUfQ8eTL+l;jcP)JLpk^oQ(Mxr$Pl7V{%V1 zBwYj4wBp_ZdtzHftqWB>bpx&qL3#Xct-RSnY-UCc?{_IOgo85hep#=vD0$h$vt?;a zB|T(oDKF7i990TpqgLdgC$zCvo26cxBY&VS71*ZFW>nZJoO;rmMjf5P|Av$^iT5S3e_xYjwPV&-Du=?W5XTf?f)GCe z(lHv)6~Pqi`H~q$-NN*@K_NtFDu>Ml=#kCs%?<@G zOm}D!TvZC25%FN$e~p(J22Ge9c$XdhAIFAuBDti8e_f$Kf;aveg^~Y#KEIZF6`>Gl zAeAmK%R)XyVu+B`Mvn?c5#)u<%nCPNMe?QcSMPLr&V!$Cpm*T7e2-2T+SF!WqOUK# zWj7X$k+Nuww>z97D2ximt)_utLF$9PpML=h=x9KGegFD&1WP+>LEML?YzJdoB-s<9 zv~QRt3bkQW_@OZi*eSs5(E$vMC@N^|@?z}qM&j@`$KxSpdN_L+ z9MbO}O^sZztzk$iO}Pb}YB%=<>#n^e99NAu`iw{1Q=V-=VKBR&P1m z^j2Mr#xVHUY~Wvmi5{Vj1w+D?*}3nu-Cxv+4i$14e|RnT+n$C?hWM*qUJQ8D4~s$R zW9$E_vS*_LRGNvAfnU);hzcLnpyC~%(7vOd8=5)a!U|s%?fdyYlr53z_6_##j)9B# zisNU4hOqw+P_TVts}33Hku89bsVQ>dM@y3R`ybz#?6zF7uE=ov_OL5(&*N~<_j-G% z-Xh5CyRlvgMKs&jqfg($o&$un#gr2iRjI}a5k^zrS6~dIa2&)a714XQy+b{pZ@FHL z@4+=#wGH(9$>)Q?`_@L7e zFAW;bn1!*YfF3hdB#du~P&OdSXwY8^;Tkr^Fo~=k0f=w{5c0k>_zgEc;_nyL<&~_> zUm3SGj8O0QXb%vbiLL# zYE?bPr3ZqFvrOD;jNJMW10vo}ok9``N{1bT2y6Q(ILFBUb{WZL+jsg1HexweAelzy z$KSCJo-jih;C=qzDmcHjtQb)_bk8LZ^Xev%-1r^sh98htqpTk-iDdC|7MAssC@+r@?qS!uN7N9^Da6sP(YUe}d2F62zk8#{Iwk z0;Abj(T}8)=l2gp|HrVk_eZE(E=-ExYw9DGs6Cj5r3p+)in5Ug<{5;fBb!$nM)BJqvqJx}YP4E+3j3wX{FNtjJQ!9-zQdKkk> z!bQ9wEsn#8v~T;I5Ju<~(QC@~VV%H;+vWS0*wNSzm2CDygF7fIBA7WuS6zQr4V;I4fJi|7L6f2}tTv9 z-E%^*dcQlb{?Ez_QMMO;zt51^dOYYSzQEsQQFZ(R1kVj?e(o_;t~a;wB4ZwL4Kq9~77!?q=cm*s zu5{Ac2Kp7+F6w=t@6Q+K7K3R23{s_oywCr46glGdQ%k^{yq}-<&z~TsB!WdM$gutM zU77s{f4&Rzf9K%a;keoQ`I_JJAx$33_4;l)<*>H0sJ`Eg`kOICCKqI*gR!=cr7DB5 zsmKLmKN=AflXFu6X11wp1~+F6*|eYp10s^Jyaghxf*k3< z^U}j*H=GCW{j~) zL~uw2s|ZX+62mdIXAZc?K4cp(vFy7v9~%zQjS5mY)yDh362SOa$>a6MrNEF+uvw60 zgywb;GMVW#3=kQjj1bi&;sLR`0eKmcsFb{?_4`@`k(&k<()XYIfYluBul#g{$FIQ! z*o5YgB)iU#c=%Ko)-+o5a3_3=^Jo&?WP;I&5h;wN$n}Z+Q1$H-g1BMU!m}a)K58LNij{&|L(jFltSUXjD(O0=;Xg?;<(S|KaSGhCnhf zu&px{l(M$^I$l$$PhVP7rToSx#%%F^8Tzb+A1aQqfN~QI6-x9E&BySp1UY|`!>y!XEOw-#~9t9xG74N zv8|h5N6&^MScDCw$F-1j_J40~2@Q;d28dZ3_Y+n^^(=`N8j=c&U8BHHrJAs4AYh;mAPOfn1_!@%JA((6!GwoR7@@O&2i zyhmPWg=C6AGF8+BXhhRa6#`}V6{i!zEw86`L4|4*PQbB8?X;fM(M^j@IPOx|~jA-ZHO;3@l@ z0&MaAdUzxkFhWflDv27*dBFMuow8|Y0DgoxE(Xye+Pxd>!T)lh+<8#U;?738N3Sw7 zX0{#mwh1{81Vi9dp6@e;2C`_yUl-W3DbL%&^I@adPKMbF5!LeiwQ^waxy!c^W=L_g z3m8gHOl+m`~*E-ID4rwynETAfKXK^?nM$2rK$kky)isJ4A!w6ZodG$+JZ zCMQEM7cFGpG=2f?{C=r#G}lW=S>MvV&_;Zxr($vm)hGJGE3=i3zN<_FeT z*;d8uYXe5!1^Q@Y5c)itrHn>y~(IZ@&W#oZ!_E5)y7q8%lv;{8Xzss z2lW-IZN>3w#A7yN;h4(g2OeC=0tAx_&LB4~`^E^c5I=?$N}m%?)M$%_-v!iqhR2$$F?*v3xXuZ7R#Lxjv!j+ zRNv?V9%2RCH@L$u{cMA~5ml55U?y}T&kIJkW+n&*k(ma^dnBQK|GHV_i2wJrExxQU znsswFM^Yy19o!*EvZ``i6GnFc{qCRaR3 zh5en(#+M<-3Bxt?Q_rAMDR2wqUT(eRT!tYjV~~^)^ia59)<2k7N&dbGjFYh02PUK6 zYYaqez+`J~%`fCfu7nSB8Oz|L{J?4+h{mQ~?;$9DvIQJcmPF8C!AOgx!VFpHVI4mG zWhA5kCn1@aVb)@_zZs%%V#B%h^9{jRO)w_fQrELiD{krUS5Y?fcb5K1FVvvNk>5*T|uU+ib?vb@^Pp6N^isYUzL{ z6dTXJsd2}`2#TFfV|ANQ@gvM~`+jqG+7g8N&6Q_Qfwpfa_PnR07z7KVSb8wL zrsK1HCUca>kFXJGy}g8Vz#zPTcsj1K=;?mLJc-wzw7Fohz6Z+_>-#<{Doo;MvC(j`Z?fbfo3WInk z&tM0!rO@GOtcMTa=!j5Lj;^58wjRAucN%0{ZGCYX4c=n?iAY~0MiLUkk{J9bp8G4|dSd#~}kpYz$lI$?6SLO%k1pz?ozxV3wIP#ezMIy{_lI> z4rNF8)iighYi{}9+m5v_xG5_?LHG`IMNIRI;?RaTWT8h-F3ZJ4bl=hXJ-(&X)#z(jtafTMV zU>iZ@E#;86Zxik&6-<2yBX%f$(%(^+N;yw1xPi?ZUwX$0-?79an_?9wruLyqhdE9A z60tg{D}|@2D~-d6-ryQZwi(&&a$v?wrFpi07V6s<({5uEaRp;d_W0jMHa{Hu@sZS~ zivoMFM0mmED9%s^oYwr(v^Jf_MpC9!`yWqk0?DAoX5I3=aOG)iFAc1NISEf)M>2v1}t}xBlOk z2WLNoy`&#*6tMg}9QzBdNPR=rJoM!?_ot`6r?rGXezP=Hn~d0jy>MH*G?qYCsSA!| z>u@BK{aUu-k=?P8T~FO>4&}u7zV82fj@5G*)*xP1T%T*eD-`zuo~AzKk;7N^zhN%s zFKi{U1dofN-5wS85=fRmSadm7ar4x7ejUMi^+lTV>ZlS}BGg7x&K((AVTQ2=v3EMg zFI^Ga$U=8hgFi|1L>yVMTNmXTsZt~m?>rdjY%pVv8MqsP>TH_sDQ&W$*?QiY$9b$; z|Kf;%4)5~o$*dN~TJ^u-X>eS1#D~^Gv`JLrpU#1KO8YjjiP)}vQIW-UuVdCcQ6UZA zg(q6Dy~?6?I*E+`y-opd3&Z9dgS#|51ZFoyKVy$iN^dUkh!AlWC)#-vk_%YPo2NE+ zo!)>&8=86r(HUjpoGXHHu8`%B<(!GLWfwfRBD=k;$1dThJmS_y zbLQ9i0~>jo%ihwcuiw1sYVKhIQvMN+oHxo5^b>aDwC@O; zV3oltjngmT$`W45fkSng#+&3I?4~#{r5t+iN8y)66R97U*p35)^U~Cp5ue8e#EUq0 zgKEBGhQ92>0;cKl)D?SGmz{Xu2G@u+1+~lO(q9%oz0AOB9I+lhPHjo(kF#OgcZd~S zjlBY`&IS1gw)MfLc`J35mPQ39?K{SH;wPx^!PQjZrrveC&G_S4Ygr(yG0UvN?p1EK zzR6x@;1w?Ny5Kh(&Oh(~$NCCsZg*Xg16d6`Fu?rr$1pH2^}VkJ&>|3w=jpp+8Rt)*FO%%w6ZK#UlZOD$eXnAb3IC7Vg@#P#E zgN-N{4|i1N2(_~yBh6K66CBuPtWCXP=#Q#fb+kUEY{daFSfz*XY_p60!J62M5(}rk z*d_xSkNnd#9+l{iHQGVnN#^K}lZ1715xa$~B3Yv4s7j5*LzF31u%|eN|A&6|-!uOS zt}Dz=4})ek#}ZA=k0nGGs+95n!r?3Jt9hqkBTV~Jvi(?N5m;l`*|ZLs36<0eX>Quy z!9hPWI_zN0JO04s)7VJ&r88A|T-e+IeXi29WW=>ZGkQ{Lm*{Oc^rv|VnYmIIRk}3i zrelk+7vPa7Ifps^z;|dl2#reZ{<5Sl-u%%x^~Ll9dt$f4S5a{~aFqWQ8)e#8^A1J@ zC+$ni#$n?*yg#)D^#|^Dz3ArdXvddrV)-J}+VS4`9C8kmRel10a1{O^&Owep5Rd&j z!?M(~Yr{II1*bWkzkY>Pp5~=yF*qjIi+BFt*OuL}d!+5-6*LtKfG$!!Fnu}uUhIk) zu7dtJS$QDHiE6w*s_{N7aQYeMI86iJ53})Ji&d#dzWg|DRKRf~Wh3;+g|{i;MgcYz z#{#*>qxUH;gRyrz;#I|QoJiA1Tot=vXdT>-YlH%_N`i{xH)20LiA&;~miAS>um8jh z;=0|H6U>D*l=cgnO{(HRlcqxRt|w|tH&fg1I(@>S7?+CWFutsTd^ivVuRwp?lqJYs z7F95G@WICGDB#@`+W_j2E%*o17e)i&^3-_b3ptdgR?FL>hO`mS6Jt+yEYPi3{DE%h zG{)W1Js4+8T-tTx^j2ac9+9>^?(lBZ5=y5Y$u5Oq0)KfJ%(!EM{cv3H!EqsFxAgMH zPk?g;_EyI#9*5I!+IIur>5rE%;8GB6zmELiL`)yw8kQN5HT)F2m-Q~d**s*z5*!#} zaQU8xBaCvx44{&lvWD8v!31!A$MFYiD4V&BvuD~jYEJzJ8Mw_|gwuPMY%^(J)8_mh z{dLpq=AK7!{*S@ek-qTcQ12>MspGwEI){F)IN9JjAm#ktVGSmTz88!62foMYIqkcG zw-3TC)cdLLPU({#s~qn@!Zz+$;{K?mr+roLCwU$x?W=h+{)(-1Vd|3wPqE76HL59% zxCzeK?=eFuYb5?LraZ~j@f9^$rN!4_dObYNeE#OAzoHQsJ)Gnxl8r7M+UIWG@iccZ zM^gTa75V?Y_pJt&I8D!lD_EC1);ODkn1CE7z8=DFp5`ueFZ@;~)3mwfb3s04P?lKA zC-(loU)uSr4)Sp%Oj!V{@=GKv_A+R>am-N{Y}KdnmL{H`O~cZNF+&o|1QT%VPx~s~ z#;6h9M2!dsM#mCH9l`)Et#LqfOs@zkICD2Uo9-OHR-7&EYuqfe7}f04vA9c&tx8tO zrAg@MpQgoQlt2Ce8nps20m=W2ZK5DH%6y#QEpMDX=ck?x`z2x(+wj&GmOq4oTbHCB zm?q#rt!YeAG|mIZAN0UR8k=ULyMWzrEuO)2deY3YNI9 zt9iijf5cBz9zT(km+9wthIaga(MepMhn0jTC9n;oc?j$$9GMoTsd6o;hO=22R6w{< zWvXvXo3?nVDgQv_>o`!QdG~KzA#Btg+)W$&RPqySD~acK@tf!237JNlr&i^up!8l!p;?SzQQ8qJZA7&`cH^L6$(kbnQMPqDa%~6L- z*)6kFz!IZcEi)w3%Zx@T|4>)QxkBPOTQI|TBlbe(yJ0|H-D}DDUe>^5oK=3t<@$Gw z`!2EJ?i9Wq%2oK{Fb>VAC8zws6}a)A_HA&D+F}jmNc|+|4jf0)zU^%+E=+=PE2Ir) zpeZipZnpBQ{lAUk7Ji&hIFiXmCNs3^IF?|eUh~Ql;89w0b!O_DZ+CV^yru4^;Hi<_ za@lict605v&yaw=Lxa19bnnx1NP_`gdk?K2*)@+nU*wGS*|KlDG10aqUE~peTjp)k zX4wYKjNFsYo;z~p(Od!Bg7eyYy~HmljUzTw@jo2nFaV`1E_F4|N()fm$d?(Na#(#Bj;D+0D!Ppxpx5a``i^?m(?64&mZHA29xV`{ z<+e9+h_*5vFpUOk#w?mUMC01{s)nq%!XwlQv1G-@R?|<6Q?EG0 z*7cqVmZcdLL)Bm!MQ_td5t{#j`YqA82OY6i1j)tt02M8A6+PMFY|CeU+q$POKGBn_kA;VzGi zzj3eHFhTX%uQoWY7Cfo8#M?Tg{F}?_@S84{BO&6ZCM>0!=`DKxmgYaE@pm-d{6Nk0 zSS>k*kyEZsm4)6?`iwc|TiQoaivK_}4J^ek{2h}}y)S$a+ z2%Shz&>{CUe=@yuU*r7`)U%@O|C#V`iY#FfTJed-^=XZ#8lQWnR)4PcLyrp?&+nDG zmEL}>@qe_}8;vK@uy-2o|KzIs|7i@!gvR2GEr#0E2pVYDxE;-yPUHQw7P{Wbcv;h{ zt7-WR8aJWs=^|PxqnqykwKHnLMVZuznbo;8kzS<(vupkYIuiG#WCn`lR9n(Rxiv12 zckxQTXEn7pjj4u4OUZapM?LjDZK%EtQk~kV9<&T?MgRCo^Ow6&*UjP%L=vta{x{gqWhSCTcHAC}1(d@G|{*5Nm zmf@PdBSI~-SPd6t|8Krl6Mmzc>7@0V?!7@BNuy~z-MvZkyKPpF)10`FlHa&D9T2B+ zC|&uto9_R+FdzkYZ&Q!Z6ZD^WO}|CI(NWtqeZ>y-B`vX2<5|1ZU35P^NvrMV{=ay) z7RPMPkzs4R1)Eu0dOS9;a96o@gEK z(PH)b67}U$b?{1c{~C4728Wgzy-^dsZc#7oP@ht>OXCH*)zx&v9*vvsQwPy#dX&D| zulYp|s4;ZPC5f^BZNeu+WDPu_8Lw-+`KB6&E;y2(NdL8I{DYJFGwtZCahR*>olXs; zNpyN1p}DI`v6rn&?=P*7Ub%jTbIa-_Z<9H7-ScXdvCZO!F_(yEJ#Krk~*_ z3y0yUKAE9()><9dLAT)pIg)XKKEkaeiCd!?QJg^EZPM6_FGe}CRpSS=X1vCy=?z+U zm!|)-TP-vxrhVy9 zI*v}EbLb+~GX3yiwamcyim=H^Hb^v`sK974bG?;&|W6vccTALmrI&{0N;R= z{Cv06qO`n2?5?$$@B{5b3*Ocd3f)yJ(z^5reL$Do*K+9}s-GXLrJtz#pQ>)p)JCEl zE>1AvBhCI?3;57_v@@;vM)MocAiA1frdi)=xytkmy+)Iv<8bkw32yIngsgPP2aT7} z>R&YeOh0_p_{%pn*;$_=ba7E@rB~BuP&d(!w0lO+29DpxHM16|MCZ{Cc(hc0yI`6g zk1I?3me$OsakI!4-(g$+i{S>kogSbk=mmOr6eAU#80pkIolS8AiSb%KPa>rTAgOI_1j?bS#1>C2dw>!)!L9i1ZHbS2Zt^b3@2xjA}O zNkY|O>geI>cA5+C`jY(2cpOt~@tfL{TGKTiGh3ZamxgQXHBa@SwIVcb0Ug_N#`&7? z9lf(a(!c@)O+;)W{p2?wsfGu7PWSq8brHq)%f8yH6dON+pbRA zrOu}F=_0y>uArOgZklLu;4HmJuhBd7A$>|;(+~7N>a<&D$b)8}-ZU32K&_G-s7!0o zhO`B3OS{oNbSND~!{}`KJ6%jy(e0B0WjZ(M$9Oy+#Z*MkDA#8Y{~FznTdf=-+e)O`wP9F?yO_ zrZ?z4`j|eaZ|Nuc4LbIJm%X}5GSXc1J6e`jqjhOx+J<(ZUFiTigpQ+==(N4u|7SB{ zK3znY(6w|M-A518T*ESvmR6zQs+Y&S3Io7Q|pMv zOC4hWn|@Ri7SSbi1zkr^(ap!S{N^O}-U;<7{Y*2Q)bzj4s4LH_wJ)iwFGJb?hhEWy zBRADE^yY1ihu%{^(#(%Feu|fpN`2tdQ#JXSdiJ?`|E0R|mHO(PTKv8G<7e*w_r7RC zpa-5p!~{L@M1=S+UML|RE~!56sSfC^y7y5t(44d|EkmnPf7*z)?t?DA@&^|5*9oN` zsFn^^>(KhN8U2ZNrvvE-I)P57^XX!`if##(SMFd2&Y&}cxP7d;Vx0Oby6j2%JX&F@ z#ubl2so`wF#+#ev;xG~pvHv{vIEXwn9aztAEZHJ-Xjy-htf zYg~>t->UH_x|Z%ihgn%L%kzK^450V%4NA$_bVEHvkJDKodmX^2Z zsM{L-OI5?d!Y}Ktl7(D)XLSM?Ek?v zHDMJ^-$>&+^d7DFqo)7VR2@y%(_GCpy)O)#Gy~fKjs_QeW z5joTaxzs&*)Ds2NwuRIYG)pm!trx|0AgH9ev!=StPhIo9`hh;HuW^P3st>(PCpFac zD0+eB_(9VvHd3!QcW9Yrtu2?2ac99dH@2STnP0vG%(JwUHWzC;J zXV9tXwa@Vl+B1X3`)I?A8ZXO;$3$fb`{h$>zqo6vqkea)&T8TEI?P)){ zkTxx$c=1@$5wQBh;JO6q)inOaXc z@E^@oSqm1XKC~^}NncYhA1xnDS5mJknjS!#(Ji!NRY$&Mp6h@qQB6mfLp`c%{41SQ zL*vi1Mu5hDQm6VFx1+z(>GTneZ=mJAHWIP_WyHhKvJDiXmFcebn%<~`I+5O{xjSll z8yZG;(>t`t&sxs4o4TaC`azWazhneP?=(*PPs z?{Z^*NS{E*{{MmrU#JPyKj2K=sW;6@^U{K}46Q(YXm#pOo6vTl8S*=pqz4lc!t@Ux zq=}KMe4PqpzR2(@y%~8F$(3F(d_zCbFVy_X#h~uLMn3j+DrYMgnYkvWT7k(vw0dMk zB-;WbTY$)sHJvh9!ORMwV`&(jN@vgrx|VLFaWtOpq6cXrO`_*i%Uor`O?sC;p>OC1 z`h}XwTy*M1bJ8NT0`;STw6#NQoQVr`LP_*AJx4FntJFmD4^wyQMKe)v8t}W852Q_K zb5Xj3cVt2r+Jp9?A#@}iOGD{Y8bM=zk33e(>7Dguss3SumpRDJ@n$JC+HdG>lHA zGiW%Cpi#639{86v*M|RTly|&}4>ayxG zF~OVWq(x{6T837jKD0XZr%mX?Ci<|*6MD71#_o8DoBUm`4q0^|6BE3}ZFBsc++60} z^l-Lj;7LO}p5{18U(v$o$S>)itEq#ls}a8HS^8qG#&^(|fNrBt z=x+3|mHZ@ng+8PezG?m;gKYxken*E|aTooT4jtkop)Y#SieqWfEE+eV1L-WfJE!J9 zqZxB)96*zrYV6TW4WfV0gEYArI>gBz&WR6kiQm&;`WgL6CB1$(bt8R6ZQV7!2HibJ z<5#rAT#bj&IdnUHW^urMo))Z3$I?~w08OTz=v^r@R-87V-RVRcNpDdzU&kx7PPMvl zU_QNwUYIiB=QIm?TS{D)uGy^d(k9gX!-ykzSzp>025#43E8HJePy2AMH&i(-jV}|6gaqXWHP3j#vqA0+k7s_rjY; zU`INWuBZRfS2SZbEnk~fucqjZCVwEFCeu9V1}5ou!qh^O)o)YO zv$1OWztlh)kKR@?UW3)@OFCzb#yQa0O7i`nWB(tzUK1v5Q@>A8tDrNH6dX&-q4SW$ zy{@XouBrFwF}%Y?@>kzbf4iwpx~DEdM-|Ec2^~JftJQH=PzJjBYC=oAr$^#3bXAJ2 zG`-kQYCF1tZbt_W8P7XbZAL@sdU}dJqF#UDuAq!q_b+u6T~2S&Ov^RD79BvB(eu=8 zg_bKt>(awJH2niDu~XwN76*pWsq`S84wo4la$gBmF7vB8X1gRX;R&OKioUty>1{XyX?9qHS9|j<#)a{U^2aXElk|`=W8BU%VXU zf@uUzpdY9&-kU4aYe5I7mI=n&B_v}eji={n+y>2mNc%k2cs5;6|Di6)n%|C2r}6X= zZH*80+VLV-a~CbOG6O&1`ygT;I)X;f8`MI>td#qg?$4)jGR=+G&r1FebTnN-LyBtt zY*F_A4`?`*5!#^PR18Ax43fnC=&#fXj~rQ&F%$#hbUd4A4|Ov0#M&NaWMg>D&D?FGTFuq*ZPXP(YK`{l z^M2~*!Rl!lzpT4Srmiv_#8aB8i<{zsI7!&Xgl{qd#2Ndm1?c=A5&w)2>qt2`f@W`q z*vG~ELJ!kTGNTbT(-n`4iAN=F=xLtF48xwo)Laws5TqnLlk+{if`Ybz*o{z79MA>% zP4IEvS?bj!HMtw~cQb!?SBLdbqk5@X`lvJdsy$>u@W!y0bj$#aJ*p38I`*@cYhuSLm+{?IQ(m3nqb65Z zzp0k_x0WV+p~dTHJe6*t*Qtxte(?u>3sT2+P|tT#pHX{fjqB3m^ag$H&~i221GHcf z>O%u)YubZ`&@dW7eFy4v9?=ka6B}mquIycK@CbD*eTOfN*ezs);vMBuU@T@vTsc7v zoTxseN%(%PV?s;S$%oX{wAvAk188g7gND#BS|d^RfBeCSOFCjKjiU!IYr6LpwFk|M zue!>3WvCx*OM6_?{16&O7pLfgZ4TpqJ}&it3=}-63ESwCOB&lQt669P+U1I-SGcNn zyrw2mzv~*WrK4_WJey{^t+Ce~ssCdJa@+v=$YX^Hw8dpA&@&@a@h zp{5TAR6ho(RtCKPLjJJNPim+3YC*g=L()ffQUkiGNpy2Jjnnm3V@9aI98pgmSFg}# zwAcwvuYJ;?Wrpa0*+f^I(gNG)K6;XVpfNYK-0E9uU#YHRh9BNleeS7!=wv#FE_aAs zZYL8?(|hz2&3IoYRD{-`O=)*JlFp=2bR9iQogV1)N{O=nS7AcrTg~u(r}m@=Y1j9f zK7jsBvwYC>y!6>ejb~&>wHwoqrrT(*{F*)#I`;p`r8FT^Y4u`tHL8~Cjkb}MW9;nS| z0X)SZ6Pk^O3dGiU7C`LySzT*T4M)6-W_8lIF>PmY;Er4xq2Tvf)lPJIc8%k6sXyda zv*uB2(h0O-UQHiIvli0WmqyZtg*DyU^_>p9DWa|~re3Gd%WJ%{lIl`fZAACb%k%+l z>!amH(>?Tk6-^JU>d-Qsbij@`sk=eLG^oTQ+GWi&Bdo zr;n&pK`obymZ$Y;)AE{MqJpIZw<@SlXmmx5*V0||87*5$^Z%eL=@;7FSMy)jQnS@o zH_$!wh2^gqMe3?av|c@puhRjYH6BZ6&}e#s7V4tqD$?WhWmiq_+(R8otw|h+q#NjQ zdWXKJap)N;KiNS#;}?xz2dn7@s{@9rljwIL8rP&>GUo!9h(qU`_Ym~fZAq0=sC!E>|-J}4kdnDd%i4POeD*axpl6qB;5 z@!8c1c~qBz>L5C;sK(LIvHyQ!LhI6+k$`@SGQnKk)dK_7d(=pq4)RM3QWFQOQ}Mz; zNxwoHEzvlMUZqcHo~7s&C?mKp(}JUE7>%H@^f>*zM#~qHHX)2(g+|f`n>GCt&4NyT zQmz0UK<~w&SD<9PjZ?o-ufH{}NB^aMTQxn52ID(}B`_P)lG#*H&($DqKc7$@BzE>yFFM%3c z9zWi3}3lqko_l^_@qp@@?O`_-MBkIvf z$IDD>(7JRG9YK3{*79+p?EfKMG~sP8HRk~JELy2-OYNpLUgaego2Yt+sV~Q%$t9zw zaYHQLX^D$VxPB<-fH8#wwWQtU4tQm*t3eNd7`MQxf@>3>1_CaGn%^1@InidjmHU zxJIqBLH$ZQZq#@*-n1pQ%o&ZN_|>JJy1~{BJFx8*G=00D&w12cEqr{yLzjf`dG>%-CNrI zV6_?!Ei+yR%no18s99SbO?OgLN7H|z1Et*$6DrnGZAC+AvCf*_flj6yY5%d3Z@HT8 z_+KV8Pnz9e<%#M)bc-~*A${aAbp>sHT;t^P>Xi%X@r&wAY30IriT|oy&a2a;aSQ2t zMGFHrFKfb9Y1KmPenTxm8_-_#E$whi%XOC4ER0wBzS@xXroYm)FEqdPOZ6+XWW-w1 zY6YvmQQv$~qra*xr1c8|Tfy=_qN$LcEFAD5h~9X{lePQ+I+MPk6`p8*M>^HwK&Z6+ zU`8%T+YMa%N!^_fM=-=)ORArxX$J95X_}FAX@Y^zrHKWu3{k^}sm>$SAZbxSe!Scx zh6yWFtIc*D$RkZ6$fzkT7%+#lV8CD-4oI-HU9BMv7KnFbSFcNh1Y(;sK){^&)$w$8 zQH`?|S4);vbCh$4rvjyc0VC$Es2-Ju2E?VMAps7jq0(@GxQbk!!&v%3F3%D7k;`(J zS1!Zhn`Ww?T!tf#k*jG~r3`A%@LV|&`+ior=0ie!74=`ac0=r6M@^PXGQ?fvQVcGp z@pNZrO@Bf&$|V=dHK&7V1l>j-i?aWxmuoXvfwrI_G?MP1*J!40I$mYknvS7M=~4QE z=IE~D)rOA!zbg~M=n8s_zNC5O8W1!3JrY zD%bxQxXc7kx%NZ6i@u>D!!$i?xcXYI^-!*mT(ZH|G?e}zmuyH6rE6)2SWUP7Qk$Q! zbRdshvtfjqa%lw%$fXthF1H#lS4fC67gN{B6%yi=KdYk#sNLlX3F*mlMFiK#l@NR& z7c4M-t=dj5R1lA|IIvePFp$u$8tU_^}E zYP?D=M3DZyTzJ4*a=lU6)iT3%z^tIvMe6aeDs`1=JK}ayjfV52 z77b@gEgD|yueP$`bbP>WI=H}F&L&GkwW~LDLj7-|W5C692$TdDle4i}o^I);@liTY zs#++wik2^nxRaaNBID!r=3QIDlJ4dfUVU!g=Y*TcI678xGCgo#P<%&=;r^h_Lc$uk zfw((6_DHNp3nJzE5w<%_qdM)70Jc6um`{ zNc9trQ{9u2(WqgJk>zK~92NMBP^b@Ed; z(hhQK2Kf;`tDaIHK-`TQsShB&MDNNS6~xvnsR&?TtlUb0FXR>pJSX)5*ir6?z@>QK zllYsQ|KT#~omJzpG$EJ9=j3#Za(>b}4!i%NZk0xE#O364TpUm3?3Pw-Bvc)t-WaL= zGe$kWTHPrBh+Z>EawcQ|9C;ob45h|pP`Nc zW6ECDj6i8lL&2h1)tmGmIR_y92|XaKWrz=#SMyX-$IuTnw6dlr;h|qCAK<6n6)hy} zZlDSGXorRxZ=n?iX>5&9AJBc_8vn3VeJ!nHnBEU^T!2rdF$->&j!N*eoI7Bh4r(|K z*^d2xgtYY_BSe~1U;=F|Ef$Ec$^m04z7#M#gR#NV(zC(Mm=0&u{&WnTP79pX{C0Aj zKzWZ-*#F`564=<`q7t(IV_*#vcGBZ11*&PmHFPIEPJQLBIL7ZQ#|_xHo!WsOkmCi? zkK=PVV zfdmCd$pHj*c&7HJW9W3ch_0bK>2Z36CezQfG(H|D)2~U>$#Dj;l`Dr1cxJJ9LD8ZV-2Xk)zWP|EL>JD~76oh>)D5MPn~9wyV-a`Ost#_O*<2%(3yVRN|RZH%EA%6p%Ej=C)KbHL+<{6_lmR57b9b`9$(><|Q!2PmY zqyLGSE_FI2JeN8h>@NE)Y$N+ETvJcoNsrS-vU?)GX0Uomc1y&~@I5ZkXE3&Uoc?1D zW6ePSY?wh9j@Oxpiw{Bz1G^7v!a2NlL^6ylA*>*`RA7iqs0nUVeo{|MjPEjB6*J>3 zcm#g{2FN8DY`st2CF3K0jdHe$?xqPo1|xou@$g-U^p5j?5zGdTS%;@)y z^FKc9>^KX$m{N4?NX!U&!YzzaNj56e!AF9h$O(fk?NnntLNw&I_h`KIm-Fx!77KZ>1vtI zI5c2}s^KHCsu91KuC|hNtnL|-4xdOmoNr0S95>@6jZY`gw{sHQ?`kH}cC!)V+h}cM z3E`l*a2?u==V8t4w3+xt>N<(TvF${wbt6#jyoZTIEN1)-GY;1-RNIcn0wA`waUh5E zgh0X*=}G~|N~dv{S2~TuTes91a-K)Li@KG=){gk{_v+8})$d(#l0kZN%!n<@-K>)t zgQYPe;!(^9v`leKKoaZ$YA_}s@lZ@a43*y==9D$C+SQEsQ|*V?w$;r<(S5WSDy@?K z8yz|ee+cnT)CI*ni`DL^6WX>~Ze}ZbJxa!T^hyyQ)9mP!B5^6&p1#|t>8|KpBKf&# z1KOVcMlT%Ha`&;DO8HN8E^1UZ3kkjOicHDaflemkefo}iKG1Yu`Y4O1qudwz1AYn_ zuLoU)s+YvOs0XTG5*MMa=zt(`ZfMCs2x>6mR$4=T0>r~mAraTnf9W8+qC(PFp<*E> z$xj3a$xk%g-NewNw47W=Ablq>d-$WG@)xVph@`vKJt}e@d--Mr}Z?AP)4RlWEWZ>>e2LFlt8P8r&5TSI8mx zg)s^8o5OWW@Y{wto9EtGGw_ncNAcM+`K{5|*kc*&Y&WCUz?Uv&7mX0n{$x(;fH@qF z$|1h8~4;2Qh(eBbJ)#IIhMo461%#X ztcPG8n<*f=pdnMl7g}1K#s&wwBDMuNnSi6v!hk0(uWfVP%mP{U(DSUCLoT~txtm2u z7qcMU5lgx!PQS<1O%kVbHBl17BNA6|G1usFNk<$W20fDi@AkUy#2Jz)R7hv_^0($ z2Wo#%%NhJZWcbg;?gX#?u7+R)8*aMM7Ut?e^F1f@nGQpvqCU7iPAuKD`Y?GW!b(-}wMy!wXI&NCo@FAq# zH<6D|m~NK^fj`ND!11ymaOeWe0Bj>O1l@4c3ZIZQGaos$%vL>KMb<}EMxf<#n8i)zn3%Hs9tRXwvhnmsDa>oPl$rWk?SwkJ2%ntcU zJEH!*^cxa-*-a4_B)|tUBY&WwLDq~YYX&x;!|7zYfG($pQ}X-ic=zQ9it&S`0s_-V zs0E|~Vj*Fl48U=?auFlwHTs1PFNV`G@+Z@UUYKEL7qgn0tcb&KN0eUn*7$yIwNqZT zfZU!#xhc?+fwfGCt*9B^K57lxHb~=SDTiIp32Vka$Hgp1zU>p%P!;uXRkbQE&n0~U zT~4>s!?ZzLod2a@P&*xAGOo`hK1}z@gz?|C>S}?S>h;>{Qu%|k?Z)P({(*)?+a??j z=+E^vJ|Xc^XLFa9_0_nEFRuS3qgVs=3a!;p0{{_wdmwK}NH#S{2QEbg3&vwl(iBh|;vvF#weV?VVK&W;jW z;j$zc2#=LL_d0 zmJabg#wGrRX_fzo?NQlx{o!2{Hkc_5c|>3 zn6TZ?$)v-C#5}Y#tw)E@rSvSl_^a&y7%^t5P9R#E%@H4=t)!lgxC~}Yv`IA`p2v)d z+gGcTXR|&G_O+YsbSqZ5#QW$dYl(O>aXNP%$L535q*5LybW zQeq!^6ce&9wV5dS3E@~-_0UgNIczM=aj*m3Om9=mwCM^bmJ8sQXMDF%dh>K>A>O1Z9r8PNt9euuK;&kiG6Q_WzNyWx&a-m-92M zkF8uR7^4Qs=^61``R(B~xe|gwXViD}+g)q}NRPay&XnC2@$IrW5W$?%zyZt2)isO~ zEe!O-wVWg@rN`()+5JYln`yG!!H?3^0<&Uv?`9lLd%}q>5%!UbxQ!yd&{TlTk_6CV> z(dp8pi#Urk<-*liBVr8Jh}a*0Pn`Hw_J0htk|lu4=y!6}i?}n^gcwOb(bCeyiu8Ka zOE#u$?q;LRAY8Li9lA-)H5cB+1&$oJ;9nAFvYXFyEgfjFOkGWT$`Y4#!3zb{ObcOo zH`93~eCBMfZBbie4cMef?vd&%+W_J&vSz;EzCU8|m6Usc8NeD6FVRvKn!zQZJ)JCP zLByU|b>dRlm|&D_Oz?MXeD>;|=KH_Z%Xd_7S>k;7G`8#&qdm<|@fcds+7+=4-7*spi)STn?Pm5LQO7~Mx4Y?- zs76bSZ=xs4)i4|(&-vji_J7dJClN1lH@E4PQ;yg&g-&b6ElJ3Rn?mw94lF8nv*A|c z+d|P0L3_#WhIlw#Ko8UN^gb-ED z{5A3uz~=Wb;tspn^ibV$A0|7Q*7$kE2^Q8_*!yiw>ug=>oc(Zl#Cmd3yhu)c^4Z7u3ap zN9IuKbg;>DteVqUA`yLf-Cn@&a5@#SW#@Pa{awrmdO>XFY^uFdEfKvb&xs+Pria`E zf)TWIIJPasmtSH3x8d3TcPMC^g(b)86N}NRv`G$JnjyU^CLlJT18~nr;t@27-k{s@ zha^7%-TQ24z#9Bc&GcT~XK^6QCrxNB1+F@q7)ggwk`5mu-QL*4)cc^GN4msO9@wAp z`j+(>;1M_TP7HH5!)mC50I@9I!*^pPgi{xs=YE}0=11PlNGgJ zcN~D^IsxXB`g?J-lH3wB3NiJP`-vU!QTX}T%HdmyYuZhdoUoR&S)5DVDn{e| z8}DQQ9ZuWig$Z^upRUP|xR~91C=SQFneTkmKcTIqvw21rSJU`_&o5SK{+8euz#J4(P!acFe$@v`mN>vOtub@6azRel0-RPm_?!{QT<9Op*Q0_0l zk&)Od;KfC1J1d$ADgMcf#Y|5zhVc^S2J>4nd{6D!beyjGlf*GI&4N@oL4@&w1x}0VorRfdmI(h1S zqlY;OZDm|dessAKdxxlvhpDfm+|MrNKUzz=W?4uGk^%SuBZy}(f|wxb8C}g*>B9{} zWzOM8Nk_G7vy_Jmr98|a> ziiTL<-TW-JGiJB=FO~?c8MY}d=A>A~*_6ZG6Pq7e&!)lwuBHJ!vRvb<^f8)VCBH2i zqs0(fED_KDOTxQE%{Uy5-3{@1I!-2lrt};#0hnG!gs+iq$2tG5wCTd>NEcsWBeOmC zFcWd}S}cs4*J7f?TWzL~#DCk&czFX_e`k}lUhe;4Anyh>VH>oe5nA>J*n6isShiNg zZrc%8_B7tmR>#c@#9kskr8hC2Z98hc62o0IANC%J1L$?!ACx%BI*18YbuwOuR9|Sz zXEzs)Ab#j#-W)^h?_o}#LEP8Ll=xSDK*P^#TrV z5H^-}1K3j94d8L<)(1T>zI`F~|BE_cD#{28T}(?{y@V0ezwi_G%xc;{l^Dw>oApyopB@=E%qmwNJeLLx4u_~@?=+Edx zYI|%qC+GllCY3ls#uufNX-_w^ntr2&rPC?W{~n??7$)ccYc|seTc_9_8=v?$TDNSK zUCa)&Sc><@sh{WtY02z`v*HG84leCd02<`zt6o`+c?-TKO-{r|J{dOPf5ypE~8 z>1et?9cBpm|I)pZUe<1E%9RZa*{04pg$b|2ozAQ3lIv=v)1tE(iFEs3H1$e)Ur&=! znrfC}|34tt_voz<^jJMc8%oC{q<2EiMr@C|o|u3dju;>{p*S~_Alm@kBCT8X(D)=Z zA(&O_`S9UpOP!mZW>70;Qu}0vAB<`1t!By! z-x)JIJ8XoL6fRc9iFlC7_Qc67qBrp}3WM4iv)p*E+7L?BD zh)ZBqi>_m^>d}EMJ3VcUM*`YwKI51#{(%RP#PEOB`!nDr5A%%HTcvR$x)fgtll;}R z+*XaN((F4l&QCk9#*DnMn~A$s%V#GB*5WEx5?~3jEbi}%D_!x;OlZTCPPF+!#5>Uq z?+~1i%W3fnZde|LtI-~C3@&#vUrxa?cH@2lHpc}AEhjc~F?ChTjFo{hsM*Nb3-*(y zm7j5_q$MsRAFoktDb{y0CAOj*ypGs*$la8~#izKJw!elr8L#vBi1M3oN5qcZ(94(? zE-v7d;+wN@Y;W}MxBUiCc@Yx}`Zii3l8%eK$1_p2S zF0>7EGRKP|j&Lz|>6cQ7`#G7=(#UsrF%@te5F=?0T<%N!1UI2<76!s4L}2B-n$T&CUAi28rX)@km<7VToN>Log5WZLX+x zBVC+LUr|rAo?DVp3G@NVrhIm%(fo=|6~I24&J3NCdhcuCgovdDb=Tp+P=@`x*Vni@1+ zE&Sop=+In8eNk7PS{r_KGvWRYEfX4`39}_5*k&Rn15S~2cpmBYBwYU^UA%;J(dkFn z936_~4JvS-Jk^o`53h-NjH!pOf!T6+n)YIx4OhuX?`b!C=q-nq-Q*sr8Kp+4r*Es@ zXt_HYKYXF)c&Rp^58pEV9n(BP>W%*ZKcXkozFLla^$GlPDn@hdQ* z@i6{d;0GsDJYEgo4Y2@8bnp?4uS&eb%{<=&o8!L1Gc_(7rjNMbDa7s2;{sYTF#3`v z+@u39YkZYXsfH0z?k(+GUE`b($@0uDdIIvU~doeQ&V`^W}eBztFt^z zygWg*!fx^o!=X5@F-f$KJVAvxRC-RrU~7~PgwZG(OLNLI8z>k{3re><#Bt-)1e!$q zNPi*ZM^L{|jRR?G+J#!N6SaVuq{dSB$r^jpg0u{+P6KFj+C*-@V+PvM9yFMarA6c} zSYGu1jSkllR?;|{K$GZ2dY8VSU+BSkIvqdh^NAVgLCt)PW2rm7UnKd>9pd?)64EA% zgy<+W>~}SsM$-ssvqd@QKh#VqN|Pp#vN%FxuQY&8MKcy)goR=i^z2Y;;_HfB9_t2e)Qu>qv0krWpY=j!uo& z^o`VSyT*ZZ?GBBdr7af|_NQLEA{VZ4%5N1MhV+s)Q$$>f8xnM_>`jORG(@{htNf%KbZZN|g1Ez}bGn*`;tRYvNxXpf6NxX~%m?wXF<-=f zIF-oXJBwPk7=ephFBw3uh)iO4{6RRGfi!M;al{L?3f; zjElKQqs3|1gv4z&6D$5`H!DT!tBYAH18qD_qBse4M==0Dg_s>(v}x!_jic#Gx|VLF zaWtOpq6zdMO@x;Gfg~ner8lYjDE)(eG+d6XC?7$iXf%zXv2-O}OE=Oux@)Z5+`IuLf*j5<18e254G+>_Ib0(S zp(E*78cM_HR62u((+CT^YG*lT$P6 zrW`slVY`++7>3i>aT>3s8z*WUE!#cH`Gu()rK=L+GEyahKGcr}&>2$0Kz;=Eig3g& zO_TYWF+(}VbT|93$UgCEyCX*P16)(0x^Sn45)pgOjU`#<7=!v`6 zVpW?dAr^EuWyH+rJ|kvCH(U`tF229rydh|Hs#v$3<_JH;#St29l`)YP=pmGDN4@)%1?ElbLa3XhVKguJrUBE=gMYfUUm zyz=1pdd+_JP`{7gKRkEN&z$dh&wJ+cAr^`SnIuGa@?DEaB9n#aORn%1W63woVghJ0 zO~+fU^eDucFq;TmPq!EDhLO#sI7Y5EiF|S@?s}4TC=BE^A?)NKC=BEpv>3TXiu>d$ zDVB1sfP(zgA|%-eEi#j<)@S$%4m~2#BxDG_5lQy<6)~jEB-R@oK)oOCSh{0OqA3}S zOKM~-lSnd{K(;Z7Ee1Q2W4uInvNu#LavJOqGr4N*wu%w-Sd2T{FHkCg2{uk| z{$M~I-0>#6;@%(m4?f39*22L96M!oiAIvv6fZ?a043g`7#0V1S!Wm>ov&bXyk+Oqi zORR2WkVPCL8^YRNz#n(FPZ?BN+y@j3ZgxNrrlo8j-P?IPjpT&E=)IjdT z=uD>KRSkm)r`+*-Qr(GTi_l5y5!i2!rdLWIBc;osBArl0y!0zOUcXF!H|=r=u5Wo74yg>DHf3m^PlX6 zD_P_g=<8(VG9q&}=YMZsv6~)GTSOiijYWlAgI6_aSQv{P3whE@tTi}_(-!X4bg#ii zfNbV1wvb`CS4`H$zg!?|;7e#EE;(eAFW|BZSsSxs4m0`*x7q12(;|+LQ@zD8ay+IP zxx^|8$g^f~mi!GTnq(O-QA92`3p+U*TO#H+1Y08VI9ibGjW4T`AzmVge2GW2;9McX zwc0!pf`J}YeMBVL8fJB}KL#cFh7hr21|%LCj5j37*L*}A*&drwvIRDmB#!DklX$;$ zEV%)*h+JwFS!4?-5@?bEZAr$DAqK}9+(P{Y5q2}d6)Cbw+-%99esdkK@sVSFMc*FS zY=W~4X3_to6q4!tU^OJ~n8YX!QZSNkI~F-I1y?d+_+vCK6p&M~%8^5TMN9G>9HEl0 znngU>6RR9K0N)EHTVs_YaX}@CJcmI@wlj$Vq=bwox8Wdz{0<*3ActAS1hOKIWUN%I zDoRnj-N8{bJiwjsm4itJCozE!L@{{-pVuHC;O!YQ8yXwA(IQrpRdB18{M<`qkO_Fp zmLj|_w&P?c2&@&L4L=U@2RMNNcX3mZoC_;BIS_9|GaM{1IG6r4@g^1BV4=YgoYxC+ z@6TWcRc^SC(OuV9*bU~;AMQX1KAWixzG6uU2(D!S*p%+?p^z+fFrMyQZ_(Xg7URL4 z#Z~Ydd<&lJXBCq1m*U8lEHnu}@`W-Yki<*NLF5T<5lZ$li>RfX|L3KMp~nUv5lf!M z3q_>BsHN@-`msyEc>3eb`2;f7B>IxLc;1)FGdRQG0Qyfii6P{WGGYQL%7_sR2PYVu zq_@4{&{`Scu2sw<3!q$*3(aCFIRgg>zhi%3@ z#}AP}HiTY6zG4@EDr>Shs0 zo;Qhbatekh`I%Kjl2viQLYDIuP05iyq9wTif}5OV74e|WbOzctJzn${N#u2l=u1vS zlau(0!zfak#aMC{W(^8GR*o%Az{)nukstS4Jq z#g=r6nZ}rv^r!$egTzg}V`Lp{1<58p!cO+JiV`vrAFX276hb?owZ8Nd$)&KDkmG$tI=K?3{|elQttr_GHgFo^z(`HJ`7`NDherYHGf;(f#a1H<27({+a1$@OsCkYN@LnPAfo9W43C;6?|h zer&i6W_{vtH)Rc2AcHGtDulc5W(TKId=PlwU^brzcR2GO1T*1W zX6TLgo0%avf*H~6Br~KxGbEW2D3}qLV=#gl!aa}qZNWD(-gU5uT?zLnb|F|~Fpn*0 zV*nq_0E46WV7i@T)6&g?Fg^->4a=@ z1Vpk1;6^q%xQI1*!AmS9|G}z89`qL1StD=~YeKh^tN{I4aQZvR3ee38Fq{fdC z^9M@~W*UrT$r+I)2LoAR@R-3^78LFkEYJ+>?8y6&4=flsg9W17NfwO$ED-&j)Td_j zV96MPB?DWsAmDC;Em$_y_N-Oja>ry7wjM81uW;xADqYZU?kIl z2{tCgj|@g^h21;(p+#hp*-~VYE3h1suR<`9S7D4Nlf7_Q01n5NlhYD!b8I9{*wwR3 z!92SE!awOC&p`1YdwPju5qTT)R}JZpur>bKMHM`>{(G3n|*5lb$yhBz$vgyc{t zBIK`9OdvnT`7T)xXJBNq6n^XqFw|fM{jcJPi988gHi?(CV%c?IrjzWt63qWt_6Y)V z7!lv8jAsNe$KXNwf9@kX(+wUpc!d5|7}@Ctj~F~g|GvH=pPYg(LeL+~cajCAn+32j z0tXGrf`BCkgE)QQwlkwBix|rcK)bNbIJ`6+%R8u;IsKDI)1H(MxnDH^6pHW@1~; z=>jgIyC0?>xfmZ%Cd(onyY4?oIx+)`3i$%Y6!|AkfXTxqk;8nxMOTtVkbq=9&ctk- zW}~IpLcWaAN(Q3I4Hg+ZLgIt_b}|DQkocVBb#l2BlPGAw>jni`U=ni;3Ql9Vt#k)s zIX7stG5{Wa^f)L*AbAS9p20wd!yQETO04S!gXj-;INd>z3kJjK4|fFJ!-QCGFoOPY zN74N?K56HmO++yO9x?O?z;aCff*lHZ7ALagIgEaC5{yse04&So7_-4FplodxamSS7*F>>kZv#mZky== zY&q0qUPl2q?Y@K!nyig3A(vv^CSSm`;$j6(rTa5n6QCPBNcVY2Kyn=P2C_cVG29A! zAlV0BjMC|0yeIp^c>fva|74iQ=r)kXwJJbC;UNIr_p?Z7!(ikcWgd6mcY3- zdert65%d6CGJ~5iyOWD>m`>KhVY+tXOpAQ0j95WF5F&@ng4#~5!=NJLAQ{Qp`2S~Q zD!%qlR>$2K@?*2Wr(!Vr@#P1}AJNd+$akP_lVu<}$u3yu$)@;^ZsaXUH1anr%VY~* zF@gLJN6BQKNo0_CLAU#M&>PnZ$eva)fP5MM9h4jbg@(L}FTZ5)$8Pi`?R;P+S3NK& z+rcb`XL^g>Z2c959f@FyoOYaLC3pvF(tU zWHk1Qq{N~_PJ(14S3|JT24ri5KIM;lWyE?CFIjIScfcx6HZ_ZEGRj*Nk+bp27@27n z*U1-rg_SM#72cgC4_QPEITi=DWQQ^$j_iR$Ix-xygluRL-9eiP-#kd7haVIWvVpf4 zK#uShL&&=pF@mfKBQyCkL@=3)79c;zC+5imH~}FaLgJC%;S4MbtO1)anTHl38(BpZ z>4#ImEYANs7)o_q%?82J!QPtG#gLEi=My3%tJ=wjQ|qgS2#=h z;$V!NhF22Edf12Zvd3!JAjm*$2gyEY3^ETEK5{zrRdN!PAo9ErP00he!AQOel>uyT z>W%FiJvv)N0-1>aJWiH_I45`Fgv64zdzvl^(-jjwXX4Q^{u_Q^~DRNyrdv z=E##KF^TLA4T3xjyBYZ&GzjuKj=RWI81~7&7O{vtf@5&zcw2}@Tf~sh;6#wzgC}+3UUujsAM}# zF7gYrSWo8Q?hEOS7qLhmOg8dg>@CTiSQ9{-w^fMU^mqvK7}*Xd8DuaHk;qBj;viWM zI~KAM_U+^~95|A{po7WjUg9hX;ZsO{hP8vNinW8hgXNbT<|VF^{;(bQ;-qMVV|IG9 z#Bmte5lzt>Oc6qoBQUK=Gc+3#-!u#)KlKqogMEWsB1O6m$8iLi53>Z>*+;A;7vLTjxdF4DJPN}K83BtD zX!EX!X-|(Aag;@W6_H$s;{>vU5cybZs(9&@SX;_!z%8RX;?`5f`K?BBbQ(UMJ_{+ zlc#XYncN6vhFpwUPkw~8oNNhWIyn^qL^<-0+FZyzpOB^rKBL-bgKE&xB8H>f7 z9E_`VR6b3#ldYvKYa8GwsZWO*Uxl54S;lXY=Fo5cTcSW0$<_dyG7h5U&ZSG9EmYNK84kv#2&+sd=WQ7$Z|OGC9_~yAxFUkO*V(VNB#k$ zJh>V>$>%u#@4~`EkG4?wbOd}(g}ewkKn8n@IC3cD0BMFLnEU`^fLssBPaehUPd3J_ zX0iib_$Ei<$ck)_Tg+rzT+kqI!J=g2kKZ8($Pm0LLmt6eK-RQ~8RSeT^`yVAm`l!s z!IXR#8X(yo#x=4glzK7-U$7?akOSm@kOO3Stp4O)m?6li7GcZaj~OtmlI<`C$Z`~@k%zGskQ*Tf`h$aU4T*dXa)6u&iw)TvV}LBe7$CpG zzK#sVaV0t1Dk8`*Xn^Dn%mV_9obxn1oAy> z?8p+V1!Nd3z2wJO{mJ>z0LdY+m66MY7(xDowSct!1f`!p;$Sx*e>96pBt9HCm3)XD zGr1iW9C8En0rG9^0!V!SaS^#zh^1sl=mTU7>1UW$F;4lxgc~=u6 zgC1Vk29U!s2FPzhn!WbaW!DvBxK@N~@ae7aV5?EhBZN|qmTn+Em(X8aQ=UZ%{@Kvef}6SR*G11EjE7Sb*u$s zW!&B)D`6Kv#$gPQ&0q>5=VJ_zqwu{)aue19vV}zqAa7%DPreF$fGon^-o_vIV8bF) zafVG!$BQInM{MrNNSK<*%h(B$zhW&Q*WiGaJO`bSYz(U&ITGJxAe+DlM;;JjH8~pZ ziI8KU50I~7{olwRUtkQ7m9f<)hvD`fISOk5nFKjN-oxoXISac0@-J_ZN8ZKtA@TvX z`s5lRj*+!72FMdI!jZ#p?~&{Sosg`7^}mQemcjZ?R`nIdXUUq;Lz_hBbUUciUrNGtRKvNq%Z`5mkQ z9mV zSqWo+{26k9Y>FG+qAjCNBw5 zOvXYEkk4Z)NRGlzkR0PJ?vs6R%O4h6@9(iMAPXP|NE?isq!;e8le3`{k~ugvAP2x2 zK-Lu^Vi4zlc^LV01e`mN**I1pPhl+}yI@~HMhVf9+<<)n`8~z}iSP3!kUOz2AYp~< zPPW9o333|q|4(E$Z?TsA693n8J%47}Km^K+(J>?Z8-?cMQCg1rTn!IV7f;M`q*-SCZl$NHZ z#3Dl4msb2vTQ1e5>avDODocc{Q*FG?BPeyb9|Gt9Jhf74$_hs&Wz&}XsV)(+M(r5H zNlmmeyW6KqOUZS=m6oR5@ts=P@Gm{D-inYfR^5Ov!loq`7-(0qN(E#k8W-#3E)?Q+2B$J6F3>0M9%0*!y2;DN-U`ko~iVO!r3v^?40h z&2&y3t06+O%dv~nzFULjDL5g?61rErfaIOrVI&O z2ao-Ux1HrLqr7X$x~7KesakTNEXUY?zbJ#dAl&oqVa8zxp zD03 ztuLFJs;c<DC9Aj? z`D(pCY8q)>{nzcdJFTn#o;#}MM9ZpW`u|>9igA4}MlLlqQ;QnNaZwvSfn-b_ZBwyELGWJvc_2aQ^7S)8~uEfM99ahCrLXHfRy#6@X|N7DMW zbOw!Z1|3cG?z~W&qqh--px$w7wSxxuHJ8s=4$HCHSs#z#`YcB zCb7`tG1pW?OBrN7n5S}D%23s#rL>|?`?r+QrX?z+C8p;KI)-VE+S?Kj+o@h_B^#=M zR&orbXe*fzR6eh?G+<}H+l!JW7>_B|u)8HNLf6Y%+gX zQQc}Ido}5a?*JQv?{!Y!etypS4MvVBc|n8qs-R_i;U&(_s_OMP*)Zs@3a*5ek&qR; zsIuc^sCi!nbs|o-^k1Z7=rMmIS5Srs*NgS)5@{cBktJ9eXb5LlS?_+U+xb93Bs5H{n~8Qud+P;o zf@;(ja=EAK+*a0)i9}+~MBN`c{NPuQRy5N7O(7riUx50ct!!ZaAwd1uR@N|Q1gPtv z-~0eq%_pg<@mPJHSIy#Ohi28>0f(|VgiBHrOH%S8J(_U$1?GISoGXWTwG}y-e=eu? z$IGaS89KzXbTP`*4v(0lD!0SZiAuDS^_tXnL|c?t60kF|#G@{ace5^@Puz8$Pb~3Q z8{5emEspy?Ui;c;YtL?uw2#v%HtCqUf!_H_UFa;sE4R@BGoHx8Pc>?fBKA;S+Cy4Z zM|fJ|ZjX_aqL#Fm(IFT8v`pqmS-Y1VtcONBb)-F3sA}r(_Ogn}tjczfu_1$X)D?^x z?2fue_3nVRdG(j2rB}m@fBV^rYn6!`|wrPBJQTy*onc6O9(Hqs~@g7^0ESJrP`1 z2X}Vo&_oSF%-X?E#QfnTpJ{c+ys=ZQ=`5>9{=D%+**}VNrRlbL;sHSw4A<_Qs@PaQ~v+ZS61#(G`%y4659#UCdWkbI# z>3Vo|^;cKf%I_7o&uP`9o9yHl?)F)z7QiRyke8p>O?7c`;&r3%W7NfNvPICGCqpi( znC=K^@?^*=^%_I$_@@11xph7x$mr7Lp@7f z%HMW1>{;13x{N#W@$IfQdC?=CvrVR`J#shcZ&UJc4v9&YDLyHmo}^Cd&q_nW!#Y`dqkdYNU*Icvxf|aCh%hqOuSaAq=$Uk zf3$EF>DcFvBJJ3wi)1QPFZYxoeihs?W~=m`*gN%8yL-w8jmCTo;W+xv;9<@s9oju~ z+T`5TrDdIs`@&XNyWGiC!AY`RbX#|*uRC;Irn`2|R$HUqOp*^lCB z1ijT6B=ApjC%CiSQKxfTbe$qsZ$bv1Qtcr$%jDcP?i8PFSATbv5o%E{8R~!Qf$PyD zjhs3WTd>(t zymp^HQoN@2P0)>#bBpe~iqX?Z(bSQ`T)I*H-CI`jf5#o=!B$<8;NL#`A0_!w#rKg_ zdjG?Q^lXPepu#8TM!Iu(3w`4pZe@+B9gS3;>OfO_rcQS4URj}*&4I4@eIGf1dVch$4jFg9zYGn06aF3skt-^4fNbm^?~c7W!x4Md089b1+yCVZN48ys^>u2*sqd1o4G2D zJ|}OwGHy?wFm-vL3=Mi0-Ukw|bCodq@&T$n2z!&~RrDZPwQi3mB7A|ybQY$ZG3=J9 zR|d&R=3OP~;vj5-Rw%E*vZmkU64x{1RHMNTJrn_^Xf*+-ZFPs&TF-IoxueOz9tZt? zLwz|I3jV$u>I74MpzaQab>q$k6+8r%h5jmjh>XBSZ{!e2iFt{|qkaix&1K!_ ztG*g4dqyq$=keJ8uKORc&#Bm9uswyVH-^c9rm^bRVX_vhGfY+q*o{H2v!6?K^lMdX zxU5ql#qgXzsT2(k|98}2_?x<^H;2m>xIX;#aBM<1so#gAUFIpD5x__lGeU-yTd)c# z_8T2qS@j(upX<}P>cdi}I=x`EYiPakd1>jn_a{Acd3^l=($3%Q_Be&*cwWxba%m~4 z%wm2Hg0A|drKDF?4@St!;~l=)E?>r>%Mb`HAm@+{$!>{D%?$9N1> zL!X!3LS;2~6D&d#8HIROtGvp3!$cgKj&v6w# zN=`OiP|HTig`ulG9$y6}WTU8ss=;X4s>Sc{VVY;KZZn%qWRsd$NUtA^ATNwT24%Q| zu<05t$G3<~cO+hmer1fg?ifBs(8v!QK{MPzf2p=F%JFE>%`eKgVKH*IWXapEhaY;+ zk##R<*33G|oqn5oWejBMaUL%Fp`J`^@>U87hvbSx}X zfok?xw0@-ebgb+UbR7@n6GHKXw8R|U5vyL3ldG0Za}=Qoh8-gm-gjkteW_aZlB^v5 z>rzLQb4K?Z(^2#Y`%LA&gfC!bd6et=GSy?8><$awnsG8L{57L*k7C3z{|tBjL)3A^ zfW5JJ97btigu98nRO|7wieI}T$|AioWvh|nWhGmDjfbVCg3`jYl+lcySa`KvTFOM@ zXY;g_S;o)kw3J20&xo{?mB!CXX(^kGpT21+I~+gLjVG*G^8d`cYFJw^@BFQ49urTQ zC&(DnGwP`cvYvkqb2Chu1#0vJn6uWaA1BDLdVwgjGo%ZeG9_=8HYmFfD7r#xPtL`z z{$&|7?te_|l?%}UiRfS56r0|M>wqDw!cyUw8X1_{j|Npg%ty?{9FHd+LImfLfy4CF z)P4jCdUCFhTK2LGHI-4DUX}@_i>ml#S-s*&v_jhQ>mC_YSJftBt*D^dOhjjStLG*n z+U>=R7GBd`vmI*DM44!+u6~**t5i(U;e9>A+o}5#WoX!&g|6jgt75IrrY4@{Xtb$@ zugDpuj%w2@IQ;0WzJEnV*=&n282i~#Gt?@@Be&+r-)MosI?gdioDCjvD(E;xDLFDV z)`m1bmQRyurs=B2bosIg zr)30;xI~N^|C$_PK6-N3q1P}T&6y{ZeFhYUrK;>qStsm`6jnYG+Xj{b&E3=m-7SYM~9-LvIkTC?ZK z%@Jdd;YlgbG-03@^Kt^_=TZ^Y9-PD%R1cf{#5-dKCR9qEx@UvRmZz%E#lAgBb()Lr zSg&T!g*|;Kd;QRTK>vqieBdV#5~9?q3(O>e3-$vB`$ zP^XgR&GL@asfqSeL*^f24!bVA39Z(oR?U;on)a$5^B~uDsxk9qv(OyYEF~S!yKp67 z%|30Bp<89mlTpDOaOba}#-~EBRv^TwlzFw(zw>0ID=f$n7G#9Q%!dUQ-8>(oWR&`9 zzN~Kk_K-R~UrxZ$WTyqPx?e2*)1onPHmfNMQ27+~-U3;_{D5h!qF$+W6L(g>E|4{z zT7OV?UrJ5{+b|T79Kt>&N1t1HYmY*sTkcL(wHM0wYn+~>C16V4kVnoHn%ZYz!A;KH zaX?*KD6`GC_p1$yWH)F7*A~gSICh=57$~RyUMy#uV%5t_Fu46x>Jr(=d^%5ky9DPx zICxH#olITTvxHf#OqI`?vvO5YDpHPBqnFBd=Ii@Z#!@+m8<#X}E5@k?X)>|$doMa? zg=12TvLA&?nw*OVq{)#O0@u=H)rh6|ugR$?2i;?6t{y}5VEw&R{bh1+lWfDe{Z)=7 zXJ9+@W@-w4?Z8cu&@C%b#b}hPPz(1}FAn+lN_=Si9oA;_~Z($`IwW~?G{L)l2^BdP_xHl3>?wF^B7^CB=c3ad3DWQ7OjvETLymZdRXeqj`r;Hg0q~i z3U9(955vw^uDHY1w<~3Y-)^^06ZI#2f|j~{yp8;Ns%oobXv-1qkTVk;PkLd|6HlU^ zkeu7p9e2B$xJpK}w7Pv#jMQgddLs2Yo%-x%p6JYeBb*O+cIFaPCOP-OE_GbV8ZjH6 zOyd1Sk~p1YrmD6Yd->;(!YIxL)qS;mHs}HV?YH`4Lj%7dPec!g8irF=nq>3>O=(+tA}z(M zs%o%ahQ##7zwCXi!*=w4ym9}uvBtO|vmT8rpG-04i4<#fic{Ov-u1FZz|L*Dtx|II zitv~E8&3{ScX*~H`FTwBMk;)R3=0|IO2D!~9tp}Rp`P7*Zw}#j^y0aThzB7!mJRk{`nBrtYymQBP^cHRMbZ@pPJT3a;N#yXKKerxq}+l z#|ZpIE%_L_*;w`Q$1<(WDEt>?%%ZgPaNKg>QMk56x=h<;d!uf}kd=s$fzxv1u$)43 zy?Xf*v}6UHf#)gK&K{+u%5M{lVw-xYUKtow$3MZbm0Gn))-^ZlrPghNFpfvK>2oz? z6AXJb)bvdFiYob$0N z_!Ro%4i);Dtk!$P$Ho}ax4Swct;dP=S1h--6uM^VHE0ycx%C~X*ss&NAPyELrvM$T z7JViQn>5_0^JR>gof$(0tf1!ZtF@>rcyR>_c@D;nRtBd9r=}cHYc|VTsDEN7W;&0`BL;!INS1Lph>Ro)g^$Gqi3RlEhQ^SY|K6)ID2mAF;b@@@E` zE<)<^LcM&ew5>QCyuLwYY?WJL+HZJbw13Q+JYp9;jm11UH$=_dCZ7&Ewf>0|aq9Rs z$lz`3)t}qs9Nf)&X*&uxOue;TwlyDIr;crhQgNrNO5ctZrEI3`$%D>J*~e`EKxJmi z`{qC2SKB_vMVU|D-}Ue3GSFmRu~rSqlr?wN`BHkDOt=A-C7&{vc2>i)plpSy*>DEM zqlHp+b0A7E31-hf{>FycrN40*JObY%)F&n?Mq)5lC)FaPZmDw$0qswprCR%wa z;c?%^dn_NHpwn5gDd#i&)X3ekO4aKL#uH-b`J2<#lCFI9?rz!K{GhWszFY1w`Kq+9 zWJh!EO7-hkxDc^I)%#jTVomAswG0bxxDuA-lyJk`X{^3`)ts+oXmf!u!{=&0NBNd# zI7J=;u>0rZwzoHm5=z(G>d4o!r}>{Ys_GsYQFq`9ok!{;3Dc4Wu(I)P+qW9E2Nw9- z&!~laWTTMt%UusX)lp~8oVTf?dmx@N9f2u1p^ha;4}|jS{vO#L$3|_lWmv$MtvyRr zTaC?zP5YT$Z)MAqCLFnp`BpX$x|{yQupXj5{}#jgr*w7rTPXDlRQbKwjNx_<;QtKb z8;#-9Rvld>!&T2fOC=SaBP*zJ{PoRVIiDB7axiV{sfjtVSEZ`0u!8PSOFW7DdyvDr z0}rYE967i8qL!F-Inuob&;k)}w?nZ=&aI8ZjvUC;CEsCqT~-C(VLw+>P1}bl^wUyx zc%N);nx#y+vK^n7D`%Qdr>bvr~6p*sB_qs{+CslQIj2d}f9+$aM%J#DiR^J_w!R0KCIU0=4jN{mq9-pla9EU{2`1u*jELO*#F>#=b{S5u@J(c^j zd;`tU_7^A=UTV-UFmsku>wb}y0`5ej9I?jZuSTlBe?$uv{Q}EOCl#EJiSngtoe$;l zH?=1p%E7DZ&wRPWgu9==VtC-5+pqFNKt)c2^rt%hpjQCgvpZ zykR$_GK*o1Y~97JmDd?rC;a89Y;!FT?=;hTGmi3ZbC|wcO9fm+#fG1eWhyp8w3OL_ zVp?aTC2v($GtNNAZ?D#zk?T!^Roq!zq71F9B7Vd9{KT^|$TUc$oRv3BFRIth$sGaX zChG^KY8^H=RK4;i##fah*zks(mt{U@`n_IZ9;|a*n!i z9&0N!O2n%()*Y`_1lx?qq%P&h8w(`Xp-JkmNJ}V9AQy1^tAabpR)VCL8tU2Qqb^QY7+PqhEdKFWMPVcCC6{4xPt7V0_sQ%GJb+Zub^B5I-5yRL| z^|~mtOmC|)zd>U@pr-$ZJE9ZS-rpdN9#&Ejmr%g~)#H*JZhA#+y9BY4q<*|4>y=wS z-lJ{qs)>JMc%W%2QZ5!D5iFZUGS<(>5sj@fO1)bICHBNPwXX;xpuM_RB*#QG9mnAZ z@#K>m7SmH#nb5>&n4A&?l`(qa#ZcUYhTh^blUM=}>O5KP9cG;j@m?PXVRB$Y2$F;(u7gZMM_w|dek+D+Q?PzsuHLl{fDSqMD&}^mvR#$U%)h;$ zc3y?BOjq8;vPsa87aa9Kui$1kUbz)CsTN~}tf1yI!ujW)h%k~7s;jHTko+*mU4!)* z+p=pi(eM69U0RL|Z}rJF*~9$dNENFvjQszSA+`Z!opZx!^Qa1$o}4?#oy_9nQdsJ{ zVyF5=^0f}E@Im&gjhG_Jo#Fmp=#_4i*g z&{vIcH0$zX%I9x+y49x@kcqxu{z{CaCz6Zt)eF3>ie^pDT`}Cz2zbl|#^lLZ5g%$& z;n#7GZnyTd8#3uL?J7>0T`U6TS)o&>V%Q_{zFmW_qvc^H*zynL{wwPIKeEW2KSbsI zi#rkbg)-lO`7>1c-#~-Cb3@i{7mR5`1!xOr4b}2#s1(Qjq(Jo6Qhe&beghI!kM`7f z$7>Ua^%jJ^j%8KtZph%odd9&@YP=qWBRE0!r5xrimR^Qt<%0%9u6%vPo~CnkZTFF9 zSyiz_HhVge0S6YxMcUg4{FrGc0p3kRri7lwB9X4`JNC+83+&C8+lp zwW|a#YhEzWjTxU}_~-@xxP-TBfF~ zg%YhTZ>jN!8>Nnx$V!zL?+-}$*XWhTRz#TU&=>2dAva}2t&LQ?mmmAEM5ok!_XP&d z{`d%!k?13}?j|;aAF5+F_4-?SQ@)4=?!{ZMCd4WKTj-O_TR0({8mWyq`u&uuW?Zxw z?RY1rmlqzY-;1hS8^82>I#0X&D!TmYx%^7mRyyANQsk-AUUm6>&e^T~PQowUd4{V7 z+?Ef$bJ4@exk3%SgA>d+b>fb!Q)5+iM}uRewV_N*JcthAqMDMEz~T3as(M$}s8xjC z*Ed-*9HMwN!)!=!b#Pjuc6^~m-i5$ersm&;#JgEWZNDpnqn^g7*6H+MOiRpUx;r6U z&oe!83Rc(d%FxO``mr#fsr?S>p0e`I}deo&(vFN zV!kR=l$I3Fiel8O!vCZUcm}dpD=K41?_|@*eEIpQ>^9WW5H%G3ry}r9*VH zT+dWx-j18VIK}Z)alTYJ_hjX#d{9E2t2HfY2wt^u&ay_qMl)tR8f`bTJ5ohi@8gQw zc_hJ?u zJ-CavN6#)z$q8a$Q&svvrnYzs%NRBRNnGXE(*HG-!4Q6NCP$Zsr&d5n>CcN3kEA9Z zVWbb$cMoNg$nzN2skjdUiDm>8Q>L)XA&vBbRH_Osl~WqDyop?KHQIS#UjX5!U#`-} z_kUvS=5qZEC+V+0vx@oQDscwnoZgUEy)?bF3FhXg#b=`o+&7_EwmK*Z}rm%Ve?A zBX8@L`L57R*O#kImTE9GRX15G!|c?GuF7hF$-H;qRjKi>DQ&&7Vq zDa*&|QvU<_;t-K1Svc)?4t~_FwMkH$j=A>_v}dCyl5_8NRimY)Vaz)8J!M~BAg(CD zDCE+{U)Iq+>#7w1hvKLLzl1&FjI@N9ubWljc^TvrX%Eoxx~uXQON$zn2nLM`4}S>t!tA zjbqTDDITvJMcOCp@NJ!S`Pk-_v0$7UiUC?eS6OwijHTM}COXz6cdUCD%=(pceRqo&=P5RJ*XjUA~|^=rDYBDjp)N6V{3Z_8>`B}e+HbKaH!YYm-XSSQuv zEm_M}9fR<(JN_ODat*=kPJ~J>2>5wM>8dIV`csxyuut=zv?rkGDy*jye`mkvB_TOO^OqB1YVW z52ksAb(*?8kcHXjW&nHtQ(%4z8zkP*clVVyzQ@!&AQdq=U-Dp;VPl zI@UaQti4=#*yUT)#j=)=nw4~f-i`?H_2>{5{jGlhL7l8mbp4O$f#h6Ych>zd zNsStxzV>LN;L89y_E}Zd-x3zk3A0dZ30mQAr9SYpyy)$tV{~-H_?+7nZUJ?Sk5p5C z%j+@2(Lu?%YumZ1+#idZd$8%=ZlmMOXs6_zTv4eH`fwH80g}bbSn~nT9pg zb2LFx(|bC+9RuntRvTx_AAly546~@K7#AKmYfJIzc;<(UWXrt}uVbYyKlWI|E_H}X zm&O-&*(gsaAN;|MhoxF@rxcoSuG7Y7*4M7$;&DSg-dzd3knpNm`_WpB#3PZ|QR>*b zD7H~AXX(r8(sy>0i_x3hcXb=~{{fczwmfJM$+;#+6ypH&uGU8=l$hqK)1{l~+24(_ z>zP>{qxou>Q6L@eU*as#tJEd*TI1TO_SX+v(N?#UHul>h?L#nrP-kOe_IPYG1=(xq zL?b*BMcShtNfY)&n!h1*l5=AoNmJrE^EfTy<|TY>Rc8{m;0%`g1B< zj#*vDCElG)J6OkF?T-BsJmGhB~!tXo=CjKuV8gEwyVabCSThHo6> zxL2wM&>lRT%T&GcP;j;ut8V2jlWo1AMkMDhd)igzuh7BnQaFZZjE?k@JJKkuJ|1~a zbFWL|wCJIJ;Fh${!OtJZ8tW|c7u+yM#m{|$Ek>i zc;*9b)&81}l;w`p6MCO#B*f{X5=E#+*sooc5 zxw3Xtb###ZF1iq_mizHF9$DdaJ$}`3D!AjEL)Sc3L`wAJ+`n2sUc@O^AF9RQ!%!CU zhxD_K*Re8MYl|FgAUQ#na9bnoIgv>*MV)0$_|4f2jd=$i5f-iDQ^ny0HEn5{5QVcvp?BWQl1uQ%Bh8h(IImqeowTIQaM| z!;q_W(sJrhB}*0C6vy~}?1>e1hDprOAqlR!SJSz!q3j%hm(jk-xi#If({4E%!_~vz z={OHtx^f%{wRfYMtaD3*H7FB47RkZ*iNUM<4*aKMfJ>;l|r9~AUBG) z5ZbcwGyAIY3$cV(xQxMzLb;PwRjorT)dRobK80IHE#WRm^%7$HwR0#UoYHu;IK&d{ zza8tA5h?$H$_lZxw}t2|`?he^VegYG{tc|8$+@xaIMI(wUECzpas1qIc4=kb+t3}SvT9h_Qe||W_BXlx&mw=1vTcQUF`oPdI@hHX zThJP=Q-IYNNspWY^v5W3MLm66ZL4glUOiqvYIZYLMOQY1J&3ac?dYb8D_d&D4Y=T( zO&(jK zUEfqcmG=Ud2{P-MJ4R!4f-5sCfKnRTVXN|$ZPt%s_{Z!)A?JZp^-8)s<$ z>XqXX{Pr;>UJGze=szG77A4-EJNveniivJ#L@&&Ut9ZRtJIbh$Rj~DbP9;~dR0;Lv zxM2m)vUq%Z74Z`>2K>(9m6HYPA|iGA@ASjcE1zQXVuYX8U1JnQi-HWuE*4KGAAjb5 zl)l#MQ z+uHA^Mvjhq>^$4zIM3dxHXwzygN{14kv`QnpDj`Mt6IYFbzx@OR8_5pD*LLZt63^r zcWJ+pST&5EGu51GmW4K}_Dqa5I!iAe4KTQ9`nm0KqBYPlAZTVb4k}w*hi$}hW|{pT zhpgU>86%fFIODQ{&WWwN3b7mu{#rZ$5)f)cC=3}3Ai0xsbDv@nv}D3Wn<}-WF&t zhK}OSZ5gIja_$ceU1cky-j1-ug&o33@W>_1Ri;?=M}(zA@FhG2iUrbL?P1tOD*yX% z)hSsi`Zxwv%60Arf*F#CeXMTvD<@Hs#K5a~gVo_Kd8pz~;n1}ezKdoFsupA)s54#F z!00Q_iRH~W!8PmZ7^8Fy-IS%66^;R}50`V!Dr-&4gc|Rn*2%di+?IvUQ7Dgijn&GU zmg?aHb+lDFnjfxHc+6xxu%;!XPaPfO1;lvdn0gV~qfKJa)Rw7f>6LCc#t(lXIs;>mG5O zRbEA+XNqK~&0B{h=rAotN+IVTQ(rEjo6$4wIA@-WvscHtUtc%$cZC+(2zfD`#UApD zGfU?h{X@r^zPfwf{_~;oy&$Vu>*|nE_4S!| z?PI4Nf5uJB9aym3DXX4U$+ayVDy-81XY08JXn!@gwk4rr7wx~m?f-cZ6Z{`(_XF2- zwK)EN8|*LJKqVtxii%0PjEsz1%TTenHI0m0q{~Z2g|&+EAL(k8sHm%`$T!t8OiQw5 zWaiM8qETwiE_S_M$mylB8`(56RFvWS`#KwH-g`ff$M5m@`FPCdd7pFM=l^-{y#d>G zQm@N+ITYdz>}Ni^3csbj1DVQI9 z?r;Cky&WC114dYCkinXUqLnyewx-Px1;(JgJ<2qWBB@t1X*V!yt22IRF0H zkZ8*b)6ezy`rT)whPL>=y-)E>!ToJCB|7=Nq|1h>)3l#O;}z2F!_@t*eE93LBYW<7 z`h{qEa9DJ*MH6_hHu{6%+nBbzaQu*o(OctNquDB=*`jlIAER;o1Y_b$;ukj6Z5w$1 zPCS7&DI1hc+gjs9zY3!-dwTwcyngN4wT62>^CzXNcf|E`%{D7qcJ2T9K+D`mTGZtn z{p;sBGn>_Av!&lgsBg$UpFU?~^UyMpyC8$ll2<4`dv3#Jpg12Ze%$+6<$>nt&wW2T zS6bg_X>+XVt*VOI(zREpZ%nQfhUU7 z>f8Qdy`waPSI-CC+y3(TlU-_ed*0y*I@4kp`nH4`@ zE#8QU4Mj`C!B|}Z zb_C~6{@+b$`SM?f540pM@}8kF(Yg8gMS_*j&ALp{tR5b1-Lx%g;X^|FT*1 z!oPZ~dcTrU^glCRU9Az*)c+Rs2vzlLf9@^n>4U}i`kd-_4zcfcZQk=hij`~uSDtV6dU8(vKm1T|;DOGz^sdJ>I zPpU5y<*t8HT`0;;o~N!-lHgxEU%fziuD}=07I?!`>VBfYyPr}oQbr4WT3sg!c-gJK zK@|9nJ60fHCz>k?%qdg9*++Ec$CuSJMZ}aU^*E!*xuPbT)Bi<{x>tfIqUAmHl|qA0 zeW!4`Pn{()dVR5sjXw2HaeYh0JT-_voJ?HW!Z+=R38F#U>ePIE;U5$ET8*=b#`WqX z6-D|7Y*4?U6#f77W6I>TA3s*#s}hyu)~kn$N@vxptrrxtj;_b*kT%wM#zf?CzoAvB& zbw<3(JKMiukGe)DGT-^Fx=gK7%$1t|rM9HT&t+Z@CobZfL0H4pj6n15md~5NKKOOZ z?q-v2u9V!WzJd~^@vZ9LFKA)<`4O^zrw%Gr#<~7}Kd3w7ME%J>u~{$3&X>lY9kWG0 ztDjC5P0^fDoBN4C-xN)KbX7JD(4;eF{?h|A>*B=VtsSh%AcqthtU0YpqR~S%Xv~h(Khb=4LT){t35h{Fkay z=K9Y(s<}y}3`r9n*K9S3-nZNle{fs$a?$Gv%|-oUTYT=Q|K6Wc_7j@H;xbh9gvN2z ze{J!3_y1vg-~K;N|LqCQSaEvhOilTpqNne=;0hsrOXhqLiHrHpmkTd43F3+%{WeoG zOcc{^mS*s%p4K}5yE-~HV3{K=dD*PAlm(5J&mO33j*Is4(ODX6zgYGAe@=XM8dsB_ zZxDu_=3RNdX>%|6U)709Dx)RXXKOP5f0f`5%+{<`iD@e?)eK7z zOZUYEn*QgOZX4UEXX$>`@>z56V6f$@=+X@?U~E{r-6ri|>Ed$D!xt>b%j3>1$m(*< zRIz@g?nFM;T$ClPUZg3%AiMb4Zfvvq$1K)Nw5T%X`kz~+c}k;f_b05?=(Xmyd1l2D z2R|pWrZtsL2wE*YrokOuyskwh^-MSa{Kl3Mz?ShjxobSV;pEL>a z7bM<%u4HM=FPdYjqWS*U!q8X!)YNm?~^x9EPMs!OBf7LW8RmJnA6~Adp(Vucm zGh8_!dXZefH{(!NDJ?=&7fcV))?JGi~NxR_ef;u-9e6`rQskpIc0X=uYSp8uZYRuYmYv;%RH4Ci5 zq0%M2w22p#@WtMAg-`KuBhT&V>>|FZu;2NGl(@8H#MwmJwM{B3(q8QU z;C}6d3!l_(xcqD`zoD2SE|}uC($6JMo1vW-FK!OLeMBqnx+LwR+P6ik);+3yBVJ6_ z#F?@AJvCGNo@n+vv$Wrc_<6JWrU)jnbGDYPNM~Q3t4$Xf1_ZSI{mpZ=Gorg?{5k)++DztwQ+gQ4HiT271GAHtZ>phv@S)!eML0a{> zCw$4gRD0p=$}i{ch@|J2{>OQ<&Zlu+iez4rYJqBGH&(&zb3CvG^y z&ueXBkcPjYt>Dt+?s*C;PO2 z6L&$HQFol^HYZGWop_xnH_C$^C^@I&n?QBdQD+6Tpj;)?a! zTSff5_1cM|z+LOLaTiW+k@4(M`M>{&uP3}l-9O-C7T(CS_s=W2wut*@woSv? zd(Gt70JSy$*5XK;)y#bee@vw<71i#q*IJ`9rQfX0Wiv{5Y}Q^QHs#XIe3^q-5AC0D zL7?HRhbKjYUkzv<5QC@uRQuQkO>&;UzAyUpKc-Lofm+YBYqszmX_Uv(xK!GWm~F}`TlWVX+IW~`cM6& z9d76EInpw9kE!@(=2tRx>y)aLGHGb0?om}nng8R_y5uWWhI0Q`_v^Oklnwr+kLo^; zzOuZ1rtVVlDzs##ZjkWhnEs73brv)vvJCu{%IfS_G>O!5HFnD&;HvsQ<$M>KCcCS zNnEs7Bi*Rf_w$#3qI=@PW&IJ~D$(;4Yy4Cf7ro;2+M;_Sx_#>!bOXgO?rG4C5T1$Y zAF)k$d2|imxm_n-GD?fK>*k56Q+=lU@gil|-`1?VJUStL4(R?Q&YW~0IwAhY59pZf z%Gqm@TXm@ywEdoQ`%BuY(l31F1N|a#!*Z=s{~s;B>|7^B#%^(wM}zzL_r&S@s6-?F zt=2yut$dC_KT5Q2twH~+NEn%*|5V-E`ifb>jq&2>-C}c#nkT;QB>kv!@dw1tiN%lY zr5_+x_r1OJBg8g%zL!2LIxxI;>F@uck3LRmjukhzckC2@N3y;kmBsF#bdCPtCE}!! zw~3R8DZX7_94BJF$=5#+z2~~_PQ5Xjlv|)59gQiwTmPg=l~*lwP1P?{Q)k==)IatNsIz>(isJC$%&6<#DRqSEc9X=qITPNtq+Euse^<)xV%BsP-=?)qlm` z$}-{;c*CU)_iPwAJ4QU2~J{WRg& zr=zY}`Lv#%ye_RO(~s$W&+BI1XFB(<{(;y1znAGpDpilY?jQ23{(7Y<_YHsH0{vcb zbLt3-e=)-ThSDi8Zdc=U6XefGS;-MKw2iQnRq^OE_a+WN!( zkDt?DV-{l^eqC=?t4dZ#ksAG!ezR7H_d57+qeXn*GIu2{U+zDA;M?fC9wjUF{ZeE1 z3C+7=*YUGg@mbMpX!8vew|1qzI66wntMr!{tGU>Re&cN@HH+`2Rr*X(qidD^V=+^s zYW1r`C;nNhuM+D~dgML*`(l7CK7E(C@w?=GRuw1w>3uzKG?3xe5A-v{0B`(2EVC8< zA3o5}RI1Wf`U^hPCr1O1uGeph`{TKP-l(6fROQ!5Z}{~u_ZnNnNbu9?=rGvo^K1NL z>-B|ks_Sa}t3J_JM#uD;Pxb4Se=I`3RliLqY6cV&MOWsP0zCfQl;y~!Yw=G{TOJ0~u zLQ76nHo^RNr1x6&m#T{1k-luzZ;bAR@AR^AaL(!rm(ryFI4)Q%t@=S<{>QHV`H;R| zshYmpANOzlL($QA>?eIVda=0YFsqP@s^=H|a*-m z{qT4(`_kB>`aV+0QN8Gr9h5UTI6{@l|lC493?O^f#>i(Zw z8uowFGA>@MWrBZi8K)CL;&^9PdZk0}&GFX8mi-(9F9W!*4>cbArDa?5cP;AwO4)w! z=a!r_OY@I^Nb4=m^3Oibsu0)ky(jfoie;hh)W003DqbVK)}`MjyeGoKE?eWD(#?(+ zfoZb-NW3^@V!RL%9#G8$Nj*i4}nf>*4!xLg%-8b1VLF8IH*|1oZx7L649R@yzjP6X% zH)IQ|@(n{oahviDS)zd7^9>o%iiQ>#UK4GQw%u(g{!#l#jn}#_(PLiIjG2|tQecv2? z=cYLrec$T)8bkJf$BtTQxaops_Tu$)&rSRDD-BaFNaHK5&ko6%m4*imVqzck83riX zXa2?S8@)C8NT8(~2d{>)T~nA^gJgy?3P zc+_ySwCaeVRb7x|!|Ha?&RDxG8n)A})1cw;F_QeV5 z!hRJAmx(zXhtb>Chdc?b8XFoAQ!#dqQD! zbhamy_Tyr9^MQmfl@_t(dp4f z)tYV+|U-&tpQOPT-{9h7=MlVjWpQ|P= zy4I{vgt}VPnH!}SexY03NdERq!t$Qph@ZVCE?y}vVdZI7I@P?hS=}kE3MY*2AM3Bk zG3SZUsg_+WRcXm0hl!%598E}*QjR1{6y-g5Bw>-*tG^yexP&I?k0y*3hhvW>T&#-a zZ4$@UUlT_6{zIV;P^f6utX~uUCekOgC%h=~ulPM7MQU$P*eoJ_za=~`B5lVKqVG8+ z{hr|I$@EW=KDXoCaf)>5@z_Z%$D=3tXPiiAh(7I&P#IrO=ZR#;aN|rRUT-xP7_e%z z(H75g-*cTYi$lZp#{0}F-6rX=KN~Yt>6@gLe>SdG<*fDJe2ejx=th0nZoDjd+xW>u z<3RDe7@BAtB^FWAB;yQa^7-B+F1oUdAB>8n@!W035hCm6+l)7eb$9AE;{(dQ{=z&X zH@}l}_cZnNWfBVzM*?jZIT>pa$jfb?Nw299dhigU5lU2r}NuszJZySek z33~Bu<5TRA#CME)RDH#>Max$Ub||lRr8%0%>zcD!zF|IV%6OkRW$L@e5-v)?ca3Y* zgIYgfuT0V{+?DwJCb5~+;+}|iRU4K~OX3I8>NctB1LJ4WA~z{`##rJ^b1d22($M^U zv#Cvbq|WH%rsLZ><9&uUF1lAWG+)6BfSW%wo>mUzlCRitQ=u%o-68JHTc&069{;o) zJ_&SMZi~9rU-*%6tD2`u|Da9AYNZH#ve~#b+E3SZ;|tH>0#Ash8=H zC}GWszOm<(&J@#S(UjEwCKJyG{*ePsd{G&7Y)Ul^5OuVqnqG|;fmuUMAyJus@-P$Y zgg|||>DE3x6~x<2eAO~N9&fUXTBeLQ@g@#szk-_Vmk>5usrh`R=ba-}FyZhav7x`a;&NIDxY3imfo zHI>~bx_Z-A(;(6H8Cy-OM>qmp;_YeHCAXIF)Sk|3Ws`^^oO&*lc5r+2I-S*EsuW}Q zWrL|-?1xF@;zfE+TAH|7oTr-ATZE$vM77Oi=lzSdQeLB}pSZ|48%+!2t`cP@O50h` z)cKzkwy2}6*+qO>%dUg`noBh|G&@bFRRsb6fL*2|V&?p&uT0szqz*{81x@z~*9T2^ z3JtqW6NI<#Hr*k7XSXRA{q4I={gnOksrl#KXMaWG;I^M%7vW|#8Pon|dR3gT^>3!- z!n>MGYlU%pOzVUn?J*4#hW3~S^p2L(dHUS1dJu2?hP8y&Z%i|U(l;izFy-$tU;Vpj zaiTacv}<9*znp0qi50g>+x}rno^Y^J=7XDm-odL$(Gptt8bM<2=Q*neNokG&?RaQr`Fe%Rx{eWt6jqNRTjEB)5HB(0|7TC>Jq~O(WnC35eMaoe-_Doyc`W9W^Yy)OuGnVNUeVZTEvAcw zb6ZRgnWDv<&Fw$hVmduaq#ZVz{~{b~GM5W?n9NgzL(H+`cg@jbzdF(Uxk)4hE#^JK zH!n4B6&4OKe=p1#Xx=BZq?&_0@%<(BAoJ|W(V7>Bd#07qohZUR1K#Hk@fROCAAjI% zd{4g1MOy4vgs3Dq$UKrt{E*)k1%IC zq7Bmg9-Zke$Is3E(*$YVJ)^|x~|=>&<{MscF4{#Qqs=f{bv z`d(>%Uii+H=9h#FRDbC&8RlojK}$v~amH0<&$-0jqs-~C#^s-k7CQfYEZl%sKI~{rK~#Xos?)XLwApn3vDT6vkq%=aLhhyH{>8FHRIy z511007T=Uuw+~G*PZRMuQ)9=jspdb4WB*k16~cc{jrDP$!<;6LCpgSEqJNRY+!`<5 zW+}ec{Hl0UM|Gb$`ny_F?lWIWytM2-2B9$E*A|&K^K%Yq`-A46k^{VIJ^Om$W^vk$j5nDE&uzW=!sAGKhpo#d42ys z<{f0|@b`J#%x}sye5_Gq^W&KG4>XFrT8$!OwMLP`Bd^xKc8>Wq-95H4v!W(br)aoV zr)c7F_FpdXN!ReDa%9)#q79C{H<=@yw4?V>@C$KvYd#!Mz&L0m&md|_!UK9%^ghjfZo z&Jq9Gm+M~Mqrb>)CBB6CCgR&?&``qSUl#F6l#$U>PGwJg4)LkP752nuJRHlPM|_@> zdMT%gxON^QrI2{>FPdxd`EX4vEJ+K^z4|p&oKGlQaz32B)W30|`H7^ydDHcZ5+0R2 z>Ud=E&`p=dEH@ACTXDZ$QOjc|k2W5~JaX^%&solM#XaS(((M^~MNNrbk^KPgmi7Fr zB)-W>fy7sme)gZ2_`JvTiZbF`Nf*s-AWr-f;q2GWha3FLSIs}@+?7G{^0?uv*rRYa zjs4sC<1&s#T1}54T)`vdo7kgl5B2f*&*N0m&&K~TPciZ0aZBvsjvo9WLQ&F__{TUA zZvH!s*sE8pBP<@R&9TSX@dv105eyeSml#O`jMPtvuR!h&*K{Oi-lsPEgeKN>H>D-svCvk@>T@i#GVpioy{_MU$2HQm-(ct=ezCRe6hT z6YFc7QBlXEW-Rh(;Bod}F6osbjYkvltvuR!i0TVT6aPe5vDv?_-rO(FoqHo6c*5_m zhORv>7ZG;ccU*RTs!+I4w_l+sC^{|&ixi4?(D;Bt@e@{IH*UZ;?msTK;Xly$phA)K zz;QVPi_n2@Vj2F3t8vbQ$K{>)35Fk3xE03;Bo!+ZgNu*Lndrh|d=ov`d&Y6O4sEy> z@4*g{jwv$~icOe>H#|gzc#D%KDSQL#aSJx%%tvV8LkdMTTCx9Q$K}F@+zQ1Q0_7s1 zgcET8C`mjRr%FN?(4n8;QxLk@eW*?V*czDinxfPF<9+#7y3dOj2$K_ni z;C9N1bFmUP;|9!e(GdI^BUtnl<+~qIDD>PB=3oI9V-0%ndp8x~HD$-;CVUV(a5<(t zs!(i08%D4Q=Rb2?uE4|S!>ga=JbV;8@K;QIjPe#x9~Pp!n7~p39^8a=7{a|MVN`*KN%dj3- zMZ( zW6_C>*onWPWxhi3#Oo|NY{Vi|d0FL{gFbu~n{Y37;1zGMJ6sCIV`#(ou@Ha3avZ&a zwS)68=wkoZ5C{{o8;wtKr-B*S=S}7kM`J18jb3zN1HOrea69Ur<_d>ayrPEl@L?>) z&(Vu**ns+#OeJ243O5aK6G+1on2Qg*#n9q+SdC*pV6|db9V3JDKO}z{?-qT;++)_q zRD{o94St3dH!2kBjf@Z`Vi1e59bdxaY#NO2ECSQ~Y!fU(7uKK`zsCS3*RvMz7F3K? zDE^IUcocK+G!~&|6GM#2xEd|ki0OC;GckS~y9v`UXA}EBhd>z-MQGkk%h82CJd90P z@CkE^A7jdRE=U397Kft)N23eJp%-t#0N#lqoQ@HE6fHR{a?Oj5omhie zpVD#+U>hDo;{+}&XvHyGxISPdmSexIEMi=bA?)2ig_w$#n-q$XXhR`juEQ|4VA8ETSz#vj-pekzmHnSeU=|T!tVY#8xBy`?Hlr0gaSW!|841k7 zhp+(4uoR!iYV=|~uEk~yU?=Xyl!*#O%04=b!_hI(&7vXTA|fBX=)?fd!w@dQ2yVdC zN$hvb#=TgGtyqTUf3oV)hK=|T9>P+Lzm0M*4Od_e)?tyGz!n1K*o3RG4IA+^9>U(u z6p+VAU>c6W9JFH*-h<^h16Sj0Y{YfghF_uXcAgV39e==F{1x5B1dJ`LMoht4%)*_R zgKe0Hy2;!dVmi*kT&zJS2C))5aRa7(%g|#UM$m<+cPJFKn1g$<7+b$(|5p$=N<=N5 z!kuW@&!WL1Ov>kqg_-y%7GNv7Fd@Vu#gW*Ei?I#Yqwz1?lwt-d4zSp82$td`^y1?O z*#8X#yhI$r2Gre2k1!qgVJ;RPJSy)#Z+JhmSH}=ho$&6da(l= zFzrX`!^v&}x&npbDYRk@=HV7B!7=~lX&KjI08d~m9{!0naW@6E(NG+Pxp)f}<8-XR zd02}t;ZCfYqJC?KL3OK~|?V;zT+@GL z7hu13dW`8kn1L>|qZeHmKre0`VgI)i7%tPp`+3s9Y}|`Qs8XDeE6|FyI7@Xx4q_RGaT!`4P$)KH9)63n z@EA6h@pO%caB$oSS@(=WaT8kcA1}i_qgHP(ffL)}lsB4>1G7ScXaE zGzc^BH0Gm4M^CXBt8pI&(5ycpw_-NNFXT#xX*eBounLQ@7Aw%boj@&tWCIoBJZ#5B zn6!vF#7ykOe9TBVA(!HG^kNAH@GWe`ji^}6NMR}tHc~NGVlg(O2h&W9)MEC(lfYgg z>ai0;XsKW|C!UbAu>uS6AeN&o>4faVn=pu_*p3yLw1m6hWQG_$=)h`pVZVzw4~Jq9 zGcdfw&65QI%Tng9FD=D>ScG=0KnK?1o&9Jip6E|QQDr$Hr!3>ji8gd$A=Y3yzK5&v zAnwHCOQ{gsG0DS)XaG~{CXhlP4~+wvQ@j|f@D{Ac$=HnPsSNFN%<*7WG4?|{-i#$U z87r|2H{g0~#={sv(-5ZQd4-}cW}^k&g#@w*l;aavi)%56yRjYjVbTjs4Q8MsjkSQI zuoTB&HSWX!?!yp%hY?I3O2w5_h}n1yi?Mmw3AbED;LtEyjJ?unF+vXt@B~J%-xc(+u~7;UQE= z?EiKGsRYJd#p=fjEXJ?VgU#r}?=gtON3kZb0F$fP9hkI&HG`>da=kzg9=V#efQ6$O zSzL#T8gA3C=X!!=HX2&P{x8ZtA(s)cVI12FjT5+Xtt8`3C*&+F%RM1GaVgf}w-~{! zKU3jbBBNpH{ zSc(t@s$) z@ii>LEm(!NNt}o;VH^G%bza^n!F06T#(9{HB{&Hy@k!i(UTns_7{Tw+ZFz&9z>Uy|@!QF@!1a zaH+kUk;O4sh!t3lo3R$Zb`#i1Aae>m#Oau{hU)-k;yx_E5SF55Dm}zIF@V!CgeeZT zS1nV4shE#BSc=8yMGva(p}}azCUlP?&_Uo%OnH~Zf;M~>9jKW`i*Yad@DK*E?_XI9 z7%Ak!wU!3l%Xv5e9hi$QdVzPZ1eZn|9J$`-{V@0cIRebySLVG-uM&;CD3pqPl%2N)up zjCEL!%~*|{_ztG5<4T5E*oqE3iY`ojko}D(a3}UIW}9L*8b6>y%)koF$BkI(CUBI1 z7kkZMh_D~FVk#=?Xb`619L&X9EXE*u@C^EJ@I#Cc-hu5n4U;}(3NQmL53>j{4a+bW z-Kz;qBG8CWU>laAZav!()3F?Lu^ydx0xL0sbvVw+>PI{3K4N=f30fYdVHm)65s&d3 z@G)+9Fj&I=FCyTYNkM3xMMKc>B#Y`}GCa*3Vdxo#3L^^`DfBL45n=#aF^C-^9d#SI zFfHbMv|t9>monrSe4eQi>6Kg`F!D0{zmtHqilOr3tF#R5ukn13p*OfLh~u|e-SsT8 zS_(kNI;IM}AFyrFSI64eM1wx2A&f*2E%Z2q85s1lR>Uzjkk4Mvh@jU^Abv9uTNz?> zea@T;chEx&?PBqKLQ63fgMX(1X#5AO94+WW?>^>Uq+=Vpj?tk2@tB6T-`QOl!VsQ z*PN7_(1T$NWSx{14dlaQwBJAn(0U`~pe5&|+<=h@GlXA*7&dWb37i@DAxa*|s zBf`4yq}(nNR-KeHx6=b3JwWgKCuQSjH1I=uh90b>$6j2GKCH(8>gZt*cXFO(Jr$7O z{?SRf4Sg8Fz=o4@QX_tRlKX!G){V4SL|`d;{U_x*^kE~~HqkI~jLDx<@aB_pwI~o9 z(DunmdBYc+k4-rXrX2n5xgas`Gpo$^lf=sIOx6UP|9KtiY7h9T7Lp&^N#vJV}7I^`^; z#EEuvVIg{O76z~qgSZ+)SdU>0V#H0Lm4Gq1Q|>?u>X<_-TF{0WXvZ9MU;#SOi24~$EMSTv=tSd1opKpkuu4oF&SJ#fHUbp{yx7W62Qi-^4fgGnZ49aF;!Zga z!zuIxEdx5`bVkC7b}=$og2sUqjP_I-%E)*IQL%7Hr>yvf^DzS>n1imgPPzCS@%n!l zClcYYcFN7@yPAxD=LF0{XJ)5dgh4DtZ&s&VixCWn^y@n1CXs%9ryNFOHY2x}^T&0{ z+33olf#|%cQ?5o!E>nkAY}m{GxBrZn5 zF^PtuF^>@x$G3ONjcB`*Df}l5bTC3_tzzWRfg6O&Sxe}wW+dIs6!0oTjaJM<8y2Bu z4J}4rGiw7w|6*~qkgt`wM9X*d1ns{u=NLRjN4}-v4u%-LCm1obpX`*qLiH)RRmAff zie5V8LwArsfIusH5>LrSdf-J}hzfBQhOq)8=tX<4Q*r}3FzW#ESd58mbv|ue-F@Uaz-BdupM??n(FpZvtFbl(IN2BwU zT!Wx6^k64OF!e_&c$yJF4Rd_RJ3CzIxrWV=s*{ipa;v* zi`D2u9|o`igSZz%82Q0X3kf8No?-_*@OY_6^Z?svsqGC~{4*6`J_gW<#ucaJN(^En zTHj(s4pZSOrUoNej`r0w1U(o)zgIJAW^kD=W(71*k zpas)K#b`qZW>BybbI^qzQ9jn7Wi8try%-;+K6IxL2)xJQ!VqR-81vEUJ0%x!f(=X2 zj`kx|AmTBI73g`NU4%YtN8>t1@F*2xCR#BUgXl!(2aFtgK4AZ^CJ-iKFGjHNS9-F6 zmZB3o(1p5oPQWJg;vw{5CkD{?8x^1(Bj`ly$BY0v(1#w>9piWt`Oy9etGSXu10Gtkd99D=}yaa zXw#pTo6%u7Ef=5UJa@ur*+;;RK{Ogq%N-c(b6U>p*aWL3{vnFo*>hLJ!)m zWdt#D?P<4cJwt(iq96=m6?(6u0chnRSEdPpFEog%~2%q1URYNuh9 z=)-z+l+kl^KEqsM1e4TM_$&<;E+8G9Sb+iTL|Zu(V$efJG{is0F2WE7&>ei9xg!v) zWN~RZ;lZ6({8^BvfVPV7Jz z>U2y6T69Xc!uA%cmIyBvp=A|o00UT$&eaS#x==wy9!y3rrlad^8idYwXb^_53O#G+ zDS9!0KFp$F0kor|miz`cEhpe5!uKwV2}4+sKttZA2WZ7sbk;G{Mk>TC46kR`U<51C z^ASUhmJMuMv|<=-s4y|5n2yGcT!7GlPB#G`fhv*Ur==Lg4iR5}TDF?0a1%WgZl)p( zU>zDiVO66OTQQ8rL<$bDm_>sz1zl)GAKEd1g&0KlECL|{$y6A|%p?-FF!$)%%9Rg8 z+h|xXda|9}f?kYZ1aqj+_!;{fE$GAmR${1;wSZwfB+@@;QKA)%lxzE({hvy}PDC|2 z@DN6j4^>k*zo0?r!d&!WF$U0uVf3P92My^>f#^UVmZNni4Mz_)V{jK!(T9d%G6ue4 zds#%nS6s0$gtZvP02wU1=_%U&c3RF(=D3MPih*xPNBciWM`JVFmQQK6gm{)i+X0>{ z(DyHx(1}&(!dmoT3Hd|Vb}{KkxB#Uv zV%Uh@qr{`_SBCf!jxiM@?d&qN9%H0MJnltzkU$y*g)j@lXh%y2Lx@(aMmze@i4Ew% zz39ahD)gZhLukh^7NX@i9YH%<`cd8qI)L_*EaHCbe+Pj^BAnQa5mfZ22c66j+A$p+ zXhSFFq46|}3~gPUC*m=To(S<48g_;TVn}8;(bF*MMERIayi3s~7hBl>5dw-!X_>N1 zPR5|BOU}ngT$kL04qca=G=Ksz10$G^_Jl6kg)a1x&x3Usz)IqSxEejiF1Z!G*dg+p zyX4G)9AmDVfIYcOo`s={H~}qvyX1QG4Cs+X{ImogFIHjXdI~`6jZ~CQk1CQzo9353OoP0jCp*uq0kT~%bh6EjGyn+^DCOVeW5Ohkc z5z<{4Ko2&d7xPK?VGV|`4UN@Zas;iIG?Ip68aglwU2m{^Mza4s1Oh|^FeEap=#m>a z(TRJ}g_XpI(QzdW!xFUDvYIjcK65YPQI|o*>$+qM+R%oPI;KFxucu?=vtTM(G4o0{ z842VPVaF;mI`p$BuXqC#|_{UaKJ4lG9>)`)Zri1-bREQZiHit;vcEXu=9 zQ63uIWbhJ5MIUBj0E;-mThAP#4}%!Q4h*60YAQkthBmPl(72gJg*Nnvcx**afP9%8 ze@esAwY5w3p|64cpGScK0;|!rjT6v=4V)N2&oxwpHE7w+kYjKcEgwz%;VwB$K@n6C zZ~TQTsK|%uXhj>^Fb}=x#Gp9l{LnA#{~}Qk5j7Y%(j}K-5IrITcA)bp1zyWB+R!F* zr9(RgNq1nY$cH}SUD$vg+>0S>$1qy6XfS3A7ox>w?@(q-W8R)c9-gTtA38WJ6 zVI~GJ7j0KW zWZ9BeNrN6%m0s5xEh4rBs|l zi=Sk!FoG`h&Wp$aw74SjA>mUISvP?KF%2zGN8}s~Kf{QjcM&5dj?s7%4O>FR=zNz3 zVxXS2k8GbXCG^0DheXQ*6hOo5TPT?PUaTX(4;wLn&1m0FgLA3i zD@Fo6e`lo7zMqQF^+SX|^&tIFM9#x7x{C-n_$P19j|vBM%XYL3?v|_2HMCo9#t@&oV!564Ni;;H zV;Wkqo_Nb0-Et>}^C@RCJ^c#}!3bvDL4)t?mJ88)7Y!H3?it;(LlpQ>w_GU-z}09) zCnq`|?Uw7%hdV_<7@tr6$GYVdbYix!g#74554vVDUQ`boF!y_@}SBM>6OgYi@F@7;1PI`>jB+W*BAknU)uU=fc& zbYUxcu>&Khn@R(|r$J~tL^?)(q#+LS{Y1~vb&7@%Z#~^DH@ZcF;*6Yr4?Vy-j)SP< zID$3|#-EW((3o+CKTKc*uo*p>XXK2(a^9cM$TjG_ov&j<+vGFyA@Vz>b3Xa(GtS7> zXnW#}oK#48Gl@sbtTVE^fPjmD6C*AffR3lA2*XdGkt1k)?u?v&FBQB@I!0Dd&~yrX zlLnvzbI^$e=t3v@una?3g<-5kW6c>kfcBa*Zn>3!W91pycpn9$9mA{0AY5}sRus|V z4=EV!{xfnb8aI*uek%Ip41XuUNCc<=y`R!>3~o6iw~OPgXJpF*9Ah>{8qVy%veUJ(KgF-9ptkllm!Re7yKo1)^q=K0taVLM0i}$_Q1ClRgL4=DE_- zxru$3cbj#px8_QdOcZQU@!PsRVH@FjbETun#5)KV$MQ>M;)J}OOkNUfJ>dZ1^qx$u zA`{MPO# z!9nR>+1y{99M9i7Nn=GYli+$09H?9&5(n~av(E^gkX8z&N!tXsNZ$#jyrN7TsLXz4 z5dY`BGB$CDDz8-f`T@q*rRH7fSC$YHEPZ8N;$W&8E1NGir89VkNc*yszj%=bDHHoh zI%Q(A>R_ofK$$pP9slHUd8vp`mhL4{J)Ps~*zt255Bi$pLdrNdDJn;FR>Y)i(D3`6 z(l(l;iaaTe(IxgZq!Qgh^x-EZm5Ns6NJCYL!&I&FrAey9D+Yef^|F6|3aDT{Gsv69 z<0jW}xi81@_erm*5{E0(rO#D~BUJTe(lHKI&Cf^!;wWmIG&U}Ah|(wMFO|h5>ePMt z+<+so#;%M@?4$bU0%@bj`nc2*mpDwBDJkO_ka3Hok>gp8Ha)+t9t*1r2``l%Az8Uj zdJ)w779E%0iIufGKCzE7Px>yNQO=T-YDkj?36i9-YEHRKx}PIe`r_z1S9=ZozPr?4q6VV%_13HFzFO8>N>SVK6+~nx5$t1X? zCpw>SoroUD$Ba_?K;?32rQlg0W5lunVWzmzS)1tRM}jU$oY zN3M{@q%aCD!X-UnFX5-7BhpV3Anc5V)gi)DVl9dgoZQnQOA>!!7VDjj;HaKx2jR3> zZWlpIPqde?IU21F5Y$M!5?BI?SgIyM)Um~44{-VE#dU3QbTBkF!h04=UmJ;c5dJh8 z?kklUnXq@IB}N8r%VKGrF>!$ElW5uiOx|Q zrAI_eaV(~WnEY64ry!>_1+hYaS=0JS|VbkSoTI@R*1wQ$~R&$ z#=iU+KrDL(!Bw%?e1dEFjt}y^8;kK0Qz!EEm)hA;>W1iXbU0fHdZi=15(g$MV&5(m z`!>F>baC&*p(^HaOmD6zIWUy%Tk+$YSZ8-dwK+NP9?A4*h?my$x8D zW%~a;GtM9=a^ET{ARuol85$ZDDJ3Qul^Ld%nYq}KQEP@qMTLTeWkrTYomSRTSy?|S zG%7VRDk^HNsHmk~EN!i|mRf32L9zLN&bjZAah_+7kb-_Ps1UoQD| zD50A}$z6(4qde(R4#&wBU2YQTT+HKS@lb}FwEKA-Rt8^7FWCf}dH?aUA#D)nSRw33 zJYPddcIL{kNNRJ2oEC}cDY-n7f%S*`<&H?w7a`BUy1rQ_A7ONLt4Q4*7aG z8B8Be1}CWHNYBiXbP!9_56chmi6NDU-RrFWS&JO524qs?liQK&Y&X5gPi(LTkk|w!Ez&fIvdkVytasQR7GhDj z!BT!ok>}d-Cgf~eZa_}Mvo_zoc;;~V*|D@yMd3CT<;56XmiY+Q0t zJb~xP^$PiNzrr|qF`gE6iF_GPH{0+KpP{g3^}(Z<)i0INqoB7xe9-%tMK4x5Rc=yx zqa5^JC;NVn7%@PTREKu*jmWN1bg)?2hYRLdPXdt)k-kKvsNxk$CTQn@~nKx$;Y znkr?h!Up+F;WGIZJJ+I3mNJkwmRBz}SUNIc1I!E&0i`lr!a8 zNV0jq+I@iCpHCxzmSh6>8_z@d#<3C7iQ54`U|yiH&JtG&v4+d|6#Nd9*??<-L)Oiv z7gV0a`*RLiHJZj)mqJM_cF3%w5%HcDEXrh03c0;ij^Sm%*N%hULFnY}(`DRf0^BC^ zMl)3HajEb4f#0|edSBJ}`t_6NMjIzN{~(`@HbxC7=y%Y2rxX4?If6IWD{fh5&|9;| zkjQQBgI*TW4tKR&G6p5M&2!K@T`n3!B|S367%||VAqTzx(Lm?QPVC9~_hZoN&JX3a zbESv6WawDqqydA%cmZCC!!l#6F>b)Cm{)7Kf0x_T>>9{N7c}jS@{*dr3g_DgYX7W! zhuQVpAc;t2q-conX{eHyO1u9yLM~PE_Xv3+mBvvuUZ>l~Qz^cW_#QG=&Mf&}jc=MV z;3QlgFl7QrSuy?K$=Quh_m7FvV z*Z&$Kv&Ip|>9QQ7^9p$g@T?e0hOFlC**FyJ4~EJQxN`kC)Tf+=B&5^xhpHBwW{A`o^dl9JTm7C%OJ^d6dp{qTOeQ7=AjBG1+oD z^5GG3_C(TnY=m}*cqyNV<6g^W$R-@PqU4FwD2+zsVe;`r;+-zP0{u#&4$1?`MqEhR z84kxIQND$JNFH*tPfl_jj#6zYUTP-M1X!+5B9jf+pKFPG5tmw`JJaEKPzIk$;4jK) zfa|+xS(QPwMc9mxCr`y|HR8D{COdDG_Z0r4rjcQ~YIL0Ga3sp0490@ukv^{>GohZh zq1T>Jz5$-kpp;9asJNQZSIEz%+`*@=@~1M1rbA z{OyFFFQ6X7p@jbjmUwwG;k?)f0)s_~FEvx9Q3Oi)+nZ_vT%p}j-eX=L~Y=`4@ zOH4<6%@XG#zN%s}%8~lsc6;AevDh?*E1PhKGU=em9)u*>G~ImnM@x_ zl*N9|mhDnrXCZooUP15;4M)oQ3tE`dKiwe+ctG- zv&**Gtv1^*pzukj+HAB9=Ghol*?!X1a2ajG*R!F8uD)LPweG0!)swVLBN5A#8x_)lpE`^8 zgrBF2HX>z}g;-}rJQs17FJj-Gh}%;PQLA>z&Yc?DNNGHW0AJE5N6KE6w`jbhLV9ue zRfW~p6LMK)$oT2_%8}U$OVz}DhDDV!%x8$(*T}Bv^j`4M8O&!n1jl9zOJGSrb|u^` z-^@^@BZm^ZM9$BlLe|Ri9CEut*5{DT^1Ef0x@b}7MJ$kK7)icGcGvlQX;hr&;xttf zfq{|t9rWIz%Eo2;<*jRsIG?kE3)s_=RcWS@ z*f?^YN6Gkr{h9MU zxfDesAzj3*nsyNd&Zw;jl)oSJMr$UQG*RtHLb#Ov#0E@FJT1b|pu8(&uP@JZl!=y|d9b zBuV)!dQG!>9U<9yY&O(D46NUH(7R1r`_RA3%d?EpD5j6+>7b;pC&`<6^v3YHs?9xl zG2x~mrpVhD(=qc@d_=2eq#Kd84(qA*iMXY-HrkbXF{Oe*EAe3>cC}d+p4fSO!|r&3 zLI=L%Pm6r5X^E4fJQ{7zBfg&F>xNbMxI`1E*(Pnttkw3ZiCx&)!0D1Wn?l&2rV)}q zo4xD19y#beQ=Vi;*i(L~j%AByk<87APsvvGvraynO+XE@@)B~TAAQ^Xh%95rB1Av@ z_QNAOjl{d)NPj%bBAijEmJ?~bgkoyffEeXeZr0Ekmn=cA{K^oFE$zHFv%rQcTWwEApQz?4I^3xB*rOVIiJWmGAC5)?NBH$|B zrYVh)qPet{hvinadO;qai^C^m;v(|ga=CV3pV*0bvphK;R=*TiV2S#zxJxWiKNpuR zSI)yXJD2La3MRoPy6P6lghdoe3sm>kzPk{en19%6ZL{n5;~e6=lmgB~9H2f&NKKaE z4w;Yn;8trjQ;OWX)#}GJwtOjFq6zs-*?K7v??+6M&s20Txx*yTx69-@-xneaP{(}Q+Oyd2B?9-$ zpY*wzai`}l_uc*aec^t0+WXT!m}YHE`C54gVO}C%UqOL}FV5!?SPV-~W1 zP>7r<^A=KQX*9dGC*?M!7a}|4`Gv+Qz6Lu>_NbV0m97H^UrBKKk-RFIcqRS{5kG%c zUW#Xgu0k%6l}gtme)X*E{5>K*tPR4Em7BeG$yj`I-Dk+c4QScG`G)#@{7Xs65SKTsJ>unR4AE$l-1QrW1hb<*+mkapNR zjt3K7t(~8_CZ>x(g#8%m-V&tE+=A26qGZ333QN_84+#+8>5c)0r zUtZH4vKT2}!g#d_V#w>(z|?@;?Q`eRZ{#P)$9VC$m#Sv)tNKnweByO$&6RfzvwVeZ zC{n|9mLX&V@&X6+k)WF+1dmJQ`&Ua?%c;itK4ZPLr*8@feEB3Lb#lEMG1&#zsdL(-_@{yoPO^38umo%di`aGdu-qEwgVhrp9bRY}$Fy zJJxoY3pT**-6=2JV9baPy@@+CZ!m8L*vG=mQ{FCOL#G$9Tz)KKMohn1=ZU!Gw63{`^JUs{PIidR=5KJTmswyxczV`{V+_A2<^AUH6X%$?!fB@ zM99CE8(|^gx3Izeg&bMVw48yQD~T&8IXwY^=PXtjQXYL%{Pun zI(#Hwb^gsQ@i%fO<%<SbH*VMe&iuVq>bO1d&bPV#b`!h+Aa6iYa@_?s9iqc7T9oN;fmn= zjYJD09d0R{zh$Ju>8S~YGVvyAqy#ZiuD;1QIc^K$T)v}wF)sAV=GOpM1^0~ndJ_r$ z;3oQy<95oyEx+7koE?^fd|&`ysFHoRVt?_?WW54zi!8s{m=fQF*c@@_c+Jiy$TqlE zxOc*2-EBs!{BW~zx+kO5SK_xABck&Vmqs5tUh@g~DS)H>-eQc3UyIljbLfOxNWn=B ze0z+nyTwR~ZbmLR{g5{XUN5z8hbxi~Z!wZ*xmS{CtgF?Iip;&UU+!J5#k7a_-_4=y zVxd!UQ*g#1?^)`G$JFk0;qbBzT|E$OgIOe=3OtiGDm(n0i8%X zis3Th{7pb3TML&1ht_1*sjGnM^d)#Rb{nxv((!>yBimliL{ZXLFbVHMi6Qk@>*=H99HNxntSX3X5>Dn*-U zLF~O(c9j~FJ?0%cN**hv777qUInUUbI$#T8#=D2Scf`vg9cErxX(WbqK$h>*Sl%wB z{~cb*(3^9oujW=6XM~g^_WmNvRvG889l3RtYA{e#@hYZT{R(u099v~fb(YFmWo)hO zKO{@a=s-2tEd2K&@8x7tFD;FFI8^vD9u?f&dB}SV$~~u6n^3;%N-8aPpd$h90M07p z%QD(X_!=GfdQ?nD%#yfrbxP+F%mGcollmUPD zSfNFv&3-L*`>~s6jq?xQVZ_BX!?_O~@=j3qT)F((;S%7M%j(0l(I4(G#+9Y6rPagv zYeQ=-3ob8+%Y&O4#1+8h25}{DZt@ctUL~9(h^v8%J#=W+2@dNaqk;l#hKqz7LKu2! z0^8v*OrzXTG*;;{W;J#O9z+WqvvNI8zWb_(iY@B{nyrjpT3<*Z7ssyeYZl%nw zU}9Rc#uyp19j+B_1onER^4kr!w?}raVX*2(b{{$9y~fu>9=^+nj840cf$oC7946o; z8?IKy-$jQmKxAOLi=^on$(fv0+>glqqlzh&Ix`Kvo2ArT#O*TeZewcyjfnNfnVebnBsh1W+=sN0z9Q;Y19Au7^$a{>~uw1yg7asN|TdL}u zdl)Zk;40<*dw49Z3GqPq@vgG_9wTxAa7TSif7ICFAddEk}%%>s4$- zER`4Uc3q3)%u2SLQ)MyWslj%)++WEC z&~ACL(wO3O$d8pYrj!jD!r=RfqX2Qc%tnmfjF@`cVec?4HLf&%+uAp+3SXIy#ANJ0+C|}yr;buzQ1IEc0RpYw0=qWc4@A~WJG*|cy;at%XQ|kPSaN3f@u5p= zybW%yytm#sIVMynty>OzuTigD3H)N=I&YBy8)%5x$fYuVgKis0zccD(Y9$tL3x@>0is0*$cZb$$Z`Un|<^G}HB*u}!NNLV#vWF8_qO|@}ZSS@0m_po=I zuDPP*)oSCy(NT}mRQNFGxf-Ia-KUpXtx=0B6Z_3F`XTyL0V1Q@L*%Uzu}E%(4cm^` z6xHoblYJj>o9O+AD4AY3`o%-K&V5V^E$(5u$XvuNGVNhXVIyLJta;c-E^9@$0#^bTs2^m)6+h5D`2DR3xCFSlaPv>?mgyUfxUv!q6@2Y8uox@hvI#tJ z3a^373gYVFGK08gxQrmK9WFh9(|)C&wvWx|mTxy2b4GyO`g zMReB6i;vPqJ7CPqyS*=1ehxp%h@4)d{UYu$T4OQdd|CXMF*3dyv81T4c(OD`xZ=ug z?}~x)%}S=4S8+Jt0AvOZ4@S!q)sP1tGfoZ3eiC)*9+|Moh$+iQPTP56?G(eM261cQ zQs6>~NiVI%O>hZ8Tpe6&5Z4431sCq~Y58q~i`?1Gw?6~O4oDM+fm*oZDQ2u7&yjGU zL6M}wxr4YYI7bkd2iLp9pOIWEH3g8}kbx;If$M?`3rJukTxWp0SnO&vz=ver<3>z$ zBXSzwcJ;UQNbFnTQswQ(jiKZ9{DM5J)tg>gh>oY}3PD~X;pU6;36}C{h~-!>(b;CG zq(5P#ge`@ugR8L=##^5-PAzMK>xR2PgFL=PaFrq8roj>hd0WKq#3gHIBCtK?Qq%h;h&irLZ8tDBPNICk)#Zag_2lf%;9yK zn`%(WD&_GSEZeYX<s% zoEFvq*ZEkt_g^wmwZ7&j(PVq!Y98}#`bSR zEO@nBZiq1BJPT8FnE3H2hKZRn{%Iq*znM*3#GG9Ma(eds`k{8eHHkT>zH}cS0@M;RX7w3<@umIBMWJUg?$xHXEa_)bk+{ z>bouV5lcyz`EV8n>OZh;Ccvk_=gQz`n5c6Ri{-Ru zj8nq&lnKYH-K=(3_tOpSXV}$j&=BPLXNXn_IQT|a2ar0#`erQfy{-h$Duz5 z8p%Sqx*)Cyt~P*E^`k-ql;vAcKWY#g0<1NddbsUyf#XRtoJJSOwZmz2fm|nCV07BJ z+%J)T$|w$58{OqJx&*}7mmGMNu;*!A*|=e`_q=g&Of}*bipAei(r~&3uKq2#;00sc zgf`^;*azmk18#2sr@=d3X5M{Eet90hNq}ua|l*f~yVUD&V#RaU0=^n@((odXPy`5Z4H|G>B`3D;&-D zg99Tz09g*z9gX94@VKbfNS?PA z`}%iJ%+w~hx*)C&t~Q9%Ls+&1a5^rv!KKK1wM=2|Z90t(ev#dRwK7p*qx@Qnf?t5e z7McB`F*3RWv5n;UD^pX~J%L6hYhKh9AJ%MGyr?U_S7~Ci1p1VpPHxX5qYj> zBi!0o^5JKGcp{$-Ujm;)B!85xFEZ`j`4XGk4RA%Nd{NrsK6nYGccJ|Jl5vG6zus3m zFB>BnG_QRbHJCy3Wz^vCSBXP6wNmcPO*Vag+~Fg=Ivpv8~uv2Iiy*VGD+ zYig-#pLt@}&Vnm~3!H-WWR|5toSxEB7{ryp74&gszV4~Vx8y?x4p}vD3*q`{0dkrA z>fz=Gxod`-8^pE4=gUb%$vf;9VxVdndL0lnR z23+89P#@u&0Q5_T9CudaH&DucDR%vPEY1Z2;%m_#RhR*a8Uu=xf*fk8?1f; zNabST%pfiuE!Z8 z$k*y3yusJeUZbgJARdq%%Fab(Bl2~cX`!rE*dmFq8zaZmtD7@>tj~T}&2-LPuB&{_ zlxEIx={l&$JFgq3yY`+UM_xBBEh~JJiSX1O?{Mt((y6@^t`ja%3E$4mACBL~*@)d{ z;s|UZwQx0Xfpd5xTv`y<3YQ8O&|0rTlceti1=tH$1Q*yE%w6=I04|oarNAAatdox? zlw4nFE$Vd~$-$m--@!Jr9%_`2_t&ij*dsfPQ$2dH5j*KSjH#}+$ueZ8F^2ag&fIB? z9oROd$9i*p?#*&T8Sj9W??h+kj=@d_wWha-HLJ(_sI^jP*=c0-k8Px_p4}s#{(u@= zlcnR&_&0dpvJk%Y>>lr^A=VAW8{c5et%a=PY>ZcRi;~^4H;hr^JK*vzKe1dLZ_^v$ z{Kb&%pb5f-inGC(I&D5;!TcUw%lR&CkxSvK;D!Zo<#3ze5^PS#=&rLg>#G}Bn>47G z%X{R3N+UX~-7ND=o~U<-Ry=PSqoT7A^A>RMf*n*Im8*;`KJzidl(i__Q@E#WRE<1Wld%XLsJE_ULSf9;@EB-@|*CUCKv05&= z(HJ00b{UhR>#&HusjszYvQx5Yp|W)s9ijv4eEE78uT_w^w_viHG$G^Pg2|T4f#^*z zjU|0S;M<``G&RWMZ?X8=F8lBo68j#_{dO79XpG}^tkW8~N853mENV0+aLe}oMk6_{ z85jFYdyXsP)UTsmeZd{IW|kitnOXGcpSqRIEUS#@0jdRLL$t4y32$@%N6-B!U)AHi z&&vEQZ?jcY2S;MwHqMyWq1GFN8o&p1#vm>dt_05CD6}e4;fe#e1h_1?Y&q#2YAqiz z{O-O6pw`83QL-58vo<2`$GXc2KRse*zfbk~fEfd?u-A3lv2WsBkZZBVKEri&gnK?> z3p_71yu}uzpTq@=!%-dz_d#GHU zh)Z$qZvY8cyZ@qP^Xq$LG!=3G<1+kxV@%9kftKfX~}{V%4<3&4dg0`L_J;hs%}E-Zw^0bMHpez0z@ zpLGJ(xo`z?c{3Y1dCffEuoQEPnn%sk)3CCh>nlD@^k%rsAZ|NcMi93fu93q|{6()d zvllK_K5jO~#_Jhobz6F@J0AMT1`jgns8w+R!{Qbh@*xw9DQAAjSXGSETv_~~afY)+ z9#JTf&pzaiSLCPKFP$G5r_9Sm+|QXVC=Y#m*4JCJTO?E=_HNE{Ialq`o;5n<%i;Cx zmw6VS?V26o)|769uaGq#p>H%Hw$;kEkBmv1*hBP8})XPh|jWN-Ba#%XC`h97S(R0vv2mWJYM4X8!0b^E>lMFZ> zsQnmSjAt4@MoBA%iIUaIa05V@dYFy!B;t%#6?gPCSq=68Ts54({In)};abSU2xMwF zVGbj*HmJxisJ?n}eZpcV3pqhf`b5Wh#598NCth{AVmR(6ePWF8R3UPw_!B0y?TAgU z_0?}SE_cH# z9l&X&7Q>;=e#$-bdc-Js@>AAx-H2T~<%dssr7-qOs{M@~?|NDPAU!&@#mERNhU|w;)AG-sp&g|nMt)^Y>5~4r^(esSs0eLe$W@;kXS0@n@^d43 zd^_%H{(fSWcEW9f^OsZxxplW`EBN(u&9oC_9R*jR)_jlTJI2vW z%+)?~SOUK1V`PEe%HCTkV!GVlYJb3{1|w@5Y@(YGQ@`r*F2aLenyfasVtKFCIJtl5 z-^j^dd&JmdoE4UdT^>ZGob@G(rAov`x%Eq9OdN^HFfIDsPdPH9&+$N{>DD%+2vPYZ?S^SMv3cgXM3S!~6 zoc4wfy))_{Ry56X`?N6eJiK8v4K&!$5&oZaoZ8Q{?TJS!i(Q5 ze!Jn!{XO1CtcP{l+Kkx#;omS0es4uQN|QVnqV4CtRul_Y2-o^^kNo)?mI!Mxr2Nq1 zz0}h69{k#f8{G_-^Hb1NwcMJj5(wY`_673g*EE#yZ?&8Ce9a>rdUjxQN00YpT50`ls$=4hcCTQ<`|@F1_7w zN6&<*3psLpcGHr|hubX|we$E|IbsLaf#Y8_+<_o&3*7!7t^sau0H>wU0=HD&Y&Xt` z4*!mfV(stgIanvaZIVHI*qbO8L~#jX2d3W6|sLeVi$S2Z#PXZ_8;W4 z{}Fk4w~;td^N^8(!Ej#O_lWvS%A@akwypQV^&t4w+ znE5>=E@$p#kXee@=sdy`Co8`+qM|T$4(Tgv9cgReD&_vY#;Nn#5UWY>5NN$L6CH3h za0yCqDd+fsMg->{36zV3+Y*pjZD^@*n`PKOV@m%*#Qj!b4I7Yv-CBsQ{&Mp^?ikb} zm&+sjP%>H&d&6YcKBnw$WF9}-NBc|pr%nfhzoV>j5ZNF8&X{_gp1|lnsV_U4j!ke5 zxClTm<@AKccJsu_X@YAD;@aR^130a)4!9OmR(-?EN#O@*Znm6;+-b@a@L@BN9fObX zG@$Pu-DUq^>a2uIh&VBDzzL zu%+u;=q>%;hzi>T*8(S2&|AJI=ytetPLb=8t;5-X`2Krc*PkpAKcIzI$Z0 zGH_K3j(C5ub~38|X{35u;Id>NUZf?=bbGom7phsm{Ng!aOush&XZpf*C)RZ_+;+Hd za;}%wwVv2m4>!=qSllK!vycOK0=PQ3ShzE6E(L6Y%ayGM$U_HWqkMgU2Uf#bxMmZg ze-zP9qvt<%6iUR8#-#r9k=@r><3L#nhU%gdlUWH@6~xtO0M{NlVN9=w3nik!?$-<# z3723eQ?u9(mjD-PbJ<`gTr7$B_DAEan2dj;^eyX4aVidS;r8Dkr~kxb?ZwE=viK*S z>#Rm>TPAn>#KX}|>g|prf%}e*Hn=W0mmQbJ-vQSd#5p?Q;X(r3MZ&G+=s15>WMh{K zR{=LG41;fJGVS=%j>bq z!?wa5Sm~>dVWXoUx*)o7^qS^DpSj%TVts%z&adctoehrt%Q&NK=C2GCtNT)`;pfBE z264r3Ti^`r^-_0h;Wh_xo8ZdVoLF*oaHT<96I{s}jtcWvrv}&tSsdiB1Fk5DbNoiX zA>vClC0yz^5^ik}mkQSk=kF<6E?ICba5?I6+9~>8k?S1Yz*fuoSh}fC_CM`KH8-8! zWq`rhx=eM)#XmD7uryR?maRVgmd;UhCb3iOyUd0jb7nZUy`WN1vSO{n0 zu0aFm(o`40wUax4V^OXGt_^O8I^t4pBV09p1B<^Ft_632TqE4>04@!`t#Hk2j>x;e z@Nr~!7sVvM{=zVpg2?RhZ{IC~iT^fE>0biVbidVzr1al>c%$nsx$ED&9oC8s+iU;k zMHQZ%?ldm+6dcsvG`rK7Qnnef`_&Wcd^=oM5Vsqy6D}~bd*M3Z0yEJCcOZb%nh8Bb zM~0h=Y~6KmU7}S(+YfQ1V9As2zZxSa>Zzfrl}C=h5}}1RA1)_=(=hY^*L=9=?e_qG z<=$fx9NTEW8dK+m9;PJ*B{deVC?HuHbUIwt>nCPO4=T-s^JhuNq4{t*a_(=&*a;Pg zCCw*#*$7t*=l7D1m+)ey-Ph#N-;4>-d$HGOu7THUK0iHCcBAb3jXRKfsO+W>jvRl| zSyNU3w;e8U2rGfB58$G3R|!`Kmy2u{>_kGum*Mi^$FYrM+;;vq(A-Y zc|V*cz|U#7=!Ro)@*iW$06j&uc(HCa#3=c!OE<-iXiIb+M9e|tmAQj#gcc!I{?M0BjlKeoZ$cg9Dd#4{ z`5cSq@3flYHn_QP=&Kc`jO0@omK z9x~30)&q0P3CC}(C7TY%)7po5$GY-2pW5dsg4!fk9;UFX5ZN0#Y@8a`j5zl{N4$^V zNiXe7?QnbH{$)Kva^NsEnQ=^4qlw*Yrs-+2rd-~QRzux(8)qc$hRNe_!`T{wuY_C| zYY}PT9>A_zzQlF3`8z4#z`nqQrob_1^^mF@#88>oV_X(pgV@0le+e2OmkxXNaD4it zhi0M2&2E&>dW_^4J#n_qbM*LrgGQME*XxmpBWT~b$eZP~Bl?^?Vq?fr@6*=Zu3L_9 z+hz+~M*pMUPaX2f_w0LYJ;Io?AF>%zW7SLRpc`&KoPX*mhYNQ&9ed$=t(#uMjv9aT zRKc;rIjT=1Af^vG%0kwsHGXgu-Pz&f918jQC<~xmM4pc8MeAIO$cA+`&>n7+$!sO(PdNQ)m{|4PMkH!o?heB0jVyhqhRDw?}cHqtcWa3JVss%A&WU; z@F#uC*!NVbN0uLBo1_hkE{^v5!g@yIAIFTi0a5*&j_UD8y$`!&SBM!c$-f(?g%m-y zpCXHXN7LGb+$i__PQ*=!y!ZG!i#a!+wPx!1oi7TuipQ%fHkf=l(`%d@R*Kj;i4(nS z_1|m6dK%!^bMsO*dOU8-(M~3M!xLtQpv3f(0 zG0klzdzQjc?{0Idrw(zZJdQZN3o-N2qh40izDwf_3KI;A0%I`HEbD~F&$xV~TvG#N##>yU#$xFxsoeZuML(HjRdVcQy=gFHa{yY2n z5Agx+Fg;7RZtGF+SY1ZN$X`RuxUleWs*UsXj>+5K;4Zp9Rgeo;AgA>w@U@6Mo!j3$ zHKY--{Z)CXzd6p+i9C~I63AP|AScR3VyHPMrV=sljicUY?R*r1HEIaeepRitf{a^;noWwttpE0q;KQd#`{)6ioN{g)j*p zpV%CV;9}wY%^{X(E8wDJ`2bqjX2eukj~Lg4n2F1NR{9*-U>jTpT!^(d{f`0WXeSRi z4y1MDm`>Jl69<|nyLvy7MFY(-JV(3+p*jQ*i6Lo&o~;=Uhs#TykG{$s2)zWwfbDX9Znrb4$&HP4l+*}pNm)=)q6sZ zSO`}H=Z{-Uz6frqTsa8eb%?R@xQd;KwX%nRI8#9rGC0DV8efQ5Ka#`s@TYe^idfks zAnM_|?IUGb1ShHH%K8X%I!}mw8DXB{ED(=jPIqlrm; zWS7Ax(v5wJd~Z;xDZ`wO?vcH|_a(!$KsMu!X~(4R*T}6Vf!E3Nra9JiAVEGiDfDdV z!RX|%o53Vtvs^vcJk`~Ck~})t92eKl=_~mh7#K%Lnson@s$K9b{RcB}MUBwD;u&I& z_2eLy$iyM$(6WVytTX{ ze)T-y`4f7F948ZqSWhXQD_;&VN0o&~G1lWJFbxTC4MAK6+;%vBooo7Y;p&69g>ZF2 zToGJ2`SknMiFSWAbNYl{xpAmDp0a*&C_SKE{mO?bx})hk9Ohu2%wrmHk!Etpe3-6< zG9!{Is+8*^%`2k!LUml;dwe@Wv!=%i^D&S}b5wK`-&4q0z&U-;dTA@Ee3*5EL=Q8Q zN6y81?c(0!-Bb1aLb&QRz4G^6+;8l{?R;5{TTcUgxja9N29YH{4>L~=Ngqkvw@UnQ zbMmD{$eY%jScVmF8{zzU*7Dj2N9f1Z9OY`^YTzzK)=OuXM!1eO^3rhgk^xb%)cxI@ z>uBFlNFKouJs-05@m^j`@;&%?^$6z1xw2*i$!n1h71Cr-lsP@FFwW_4Z|+M)Hldfo z<>Pso^+l4qqs+wqjc^T5`+7-q^j-{0pYBU$I-a`Vc%mlCJY_&?JdNkMUhi2a+X_gu zImfdJGEeSNQO{G3l6}!k(RrMb!vp#;=Gf>`#O%*{k88xfSrjfyR>qif!VVzL{jyhI zD^6x2`cI5Gng}7GsjWkC@n~5ZT=rQjlq*JeK zekpLFGC0MjB(y zOvZ+uSn~?k{)uvFoVlQ^If*$m>zH?<2ISLx83V432%V1ltF?Imd-qw#yfJFerCcwZ z3Fq-K7Ki@f2oK^?;6mZF9qOfiGvQMDxJf>8CS*2bgwL7fFdr@p&L43CcExbHvN)bG zNsplB#mRUIuF1!4jc0Urr#QLk|7*PYCr>dVyCb8_sROnn?w@|lyC+O_UiKY!vldh*%)=5=?GD_{22{CJ!ATcF&P*3Fal9*fHc-!V>8wGZ8y4mC1>y2&Kp^ za&01s*n-$9D1T!;t%xP^b|R_ND8O4b>vnJaf$J)K)P}wxyUc9z6h>d#EXRApa>OEoU4(TPBXC04oqP zW%+2*z6G&B9vV$5S`fLHGa9wBMxw_s(X5rlV;HaWu;-{Ve?M_3hKrOh#}Gt#n&!C& zF(e(a<4lPkYsP!#A{WZEv8Zqx5i_R#?tRxbm($^tc??GoC<1VTny@9Yj*W>3<9?- zjc`PR2WFa%kzgplgTH%k$RrTra^$l(*A;RNJ$C^3zWjW)IpTut!`KeQIGEoEe)GTS z=aV}l`Z;uwt&heG1vR+g{Pg%AcXdoSq5+zF29;gf;pw$~%G&87j-OUTj9{O;oS zFu!N{y~eLyzP`Xbc~JfpgB&&d8u_)z;0w*O${G^fjz7&NyDQv|a|rWVP?LEhcsaNm z)V+p7;2iM$8{Li)@EuUI*9=Yp-NkOlG;ju}14jvXI`|T}3B2GYw=XZ3fI1B?varl? z9fFo)iS3}=c2H^KMw_p(aSNys?g!U_D{gi>mVtY1oOO$3ZUC=@k1laLmV$SITA1rV zO~9i*EaUT^w#7@f#ZDXFxAAjOX9w4|JuH_*HDD%_5lm^ZDlN@Uz!7H+q3#@%iQ_e>n8u5~+hfxm)3;lBM|x1&t!D&ju3 z<2>+E8=nAkG5-Kw2u`Y`C4p_A7U5n{bJk&FH%OOrOuFCgNCM}A+GbXPIw7@#nvn(T z+>S562@kj(Mc@+;xXT=8sRM`!;D9PCf+66^n9l;Wi1R`11UG})Rw}^VVBUI*Ujk}J zDgm`KRoUjJZ2Rpteq!T(P)qu^^%SKFj1fMJ05zZlPy@;YRi7@k`E@q`tZm+In_EB) z=NnK<<|lAG81|iwsH>R^hE=h-;Nwl4xT zC#7HlxXCtev9TUh|Baw-IJSXWrS69af5z-))<>+2${8 zv*S_AeF~@vO9uyllR@p@P2h!~`IwcUvq81b1!pmIK3qdQ+W+51&>ZYn0yLhq%#*+| znCF8!;H(8TXRm?kZXc-r+)ue3@n8~I4n74g1tXre60iX5!aQrURmE#TZDS9EW!iXN zLQs6)#&2vq1gb;#Gj7KQ^#JFIXe#TJSV=2ePN^ z*!e$hM-#ZJ)@nPIHa=QQ|JMMTAxw)tUDi+m@j16Mbw{>Qvz z1)KrutT@@mY@442YHwHoYHwI!+n1CfXwE8Ztg>+vsEy@WQ0w|LP$TXFRm(75w)n}Q z@{2%CNTrQC!6ldz>MXnq)RLZJX-tD*;`~*~YlU{Y}jb}&FYiJ|j7Vt4J=XI-U+raDe75;O! zyB$|yu^Frd^LDr$_k-Vnnt-I8Oq1YFa6EVb)X8Yw8*cr?q+>vXmGewc?U#TjfmPsn zE(V@mRtfL7@!z19Xv|w$a`eBm5wuP&1+^-!@>!rT*!Y5tpV;<)164Eo#Wo+Y%@K{3 z{}@p1CxF@(GHje|+s^=X1(OdB)&5^>Ta+t-xf&b??gHJ+)9<`(;rs7ce5Z{u?^;!J z9jNZBZS#KH9MNRiF9H*>F9&CWyTN7Pf-MJmqJ&TUrWo}1L zKZoP{7RzI&jlJLONwx<$fZl?k9ulKHKICKz08xsBPsbkPMbN()L+7nhdJNxu7~M0X3jUgi_$a8|t{&8qd+rAfhyJ$>!PnYB_0SF836}oT z;;TT_j6MR#fnA^`)N#P=*amC^bx8dL)CBc{nsE1zR*9s7S`rg%^Ch6#FHp1g|5dhw z3fsYRphmC_)CdZGvWpJXh_-9Bg) ze6Z|Ph)M*V{XPOUr7bpo1*-jkpDp`bPy?6?YBzlroB?*&IO!LwH)Pp31I)#K9jKF2 z1Ly`{Pp}YC^UwYuj~uxiIgRWq`OJ+t?8lhwUz7$fHk(2`z9pBtzsI-83|@3jhS%x2 z1k{ZE_eE%#m81W*s0?0A`qy&4wHpBkFV*}@G+kP0BlNGN{41!}NRW<*{*}_Iviq$i zl7HpnUzzw96n=f*ufP9709x0sP>-)FB5aHSBj8hQJl)0|P~Fc5wdx9NEV8kz6hS@S z3u=)ygIZU?di^2WgI}NbtK&{KR8Gcy8mQw%9=I6X3Ti9g2}Xlofa>mdP~9aB@aUSb z%u$1IDa8LL^%;L}*I3;wSbIK1xO1_;V4#)rd7vhs9MlAC1|zin{WqO1SeNtbY<|^j zn;qaDJ3zlm<=2@0n%i{ui25na|<>ttz#E2sGkVpthY>+uUuN zXAQONSAc5YY@0i5G$SqhjL0%em=B>v?^g``nosZ?a4+ssaktG5;42%C*#7;RP1-Q4 z+hv0~1m6a#zo)O33NvHUtv`JJFv z$@}1|U}==cw?zBj>WF3kO-ZaKAWcB9j*uxXO8svRIgl6r}5iB)qL{f zJib}86x7M>4p2+57EILs{|SPs#WC?7pK^H>s16H3A6oV)Oq_DZOo!70!Rt zEz8wj`~QDaGVihjxDV8#eAvdPKvhCh5YP>qeTiI&-~Bl>kpzwYOs|NT1SM%uhYW(XW~{W4;&rOOmXjt+4SmP+Rc%m06s)IQ~u`ClXSYo{@zt+DwMQ2Coc z&B-cI+e8JZIeN{u{~M?!5I)9opAM?|D%*UQZGIip5`M?VPe4`eddvQAltnxQ>x$)L ztpu(GHNmx@CUl!^{>nDD+xVT02S8Qr%3@P36)9NvTL7;C<%6o@Jqr#1|6g=CSoD09 zH&)wR9M3t0{}nuha^HA5pndJNMVB*VRvUAQ%af77Qz0KE4@n$6K4THCT<-o?|B+Ba z`(Giw$wQLmr$2HVJYNPEm~oRXn!;_Fe$K!9+_`tqe8NLEpf5U$T$2fT&{7(p^JbSW zMO?{_2xrI!$uHmzWUuT<88TX)FEEpa=N3C1ui?O1jt~6?ItLnaMC`r-GuCBXFWv$( zD*58eNx>!hCZY2Sb*1ioe~w7!szqw|kxagt8)d6x$<^j<9In0ZYBPm{h(nf`DgAfz zD2S`^GMTu>EI5J!&%+W;i%zf6jHiQ z^GYq_Xy;Aqa5ab{|3a@ZuW=Si(KY6U&Lz@t4FP>Gf4|0@5xR34PS*46+)0II^7K>U zF}>%kXkN@$qf@UnFLK@`H(zT`PHv)PU8yc}8I`mogi)WLF~gT5&7~v8 z`JsGqt(h2lh#M8IG}l4tz1ECzz9l2Bql#~qv#&GH;_%_p>&(p1J67UkiYreVt}_#y zFUy|m%;?ZFXF;Cr8ZW;V=3;txrgbo~lZG zWG7BWoI?|IR?~+c<7Xv_(%2-ue5U9k(KmLOdNR>&ty%_*T@@}!3AHP>4*_3y=!zSe{i?%LOBnE zE94}(zQ~+I!Mt5$jsU(cqRHewyxg4GUn{=fcTdZl<>t}B>(6I6xS@vBIr|xOB10ON zbCAK!E6fS>(q~o>@PBCB?q`ok%L+4oy!KW1>qqHEj}IX+&*A44e#Uw=nVNr+>~r)N zGg3z0$O9)c--`?(VH zGM)kSmhd=Qy^Ot;2VK_4`L~)Eg>K2giQBbDp19Ra=fw9KN@0}^jk&wPmxp$E?ULZa+#E@GS4ili6Eq# z20Y?$q-*Z4L#0~I&k6; zQTimAtKuP2;deY)yQRC#95?d&F;2%eP4|~rwyOhwx;D#M<-R;$Rc@ZvUu!1hvwz7G zWwT5$9@VlV>D$wYkvnmA3aBLZq|@og{a!Hb=)j(96m{q@VLv z7TSY+Etehqtq%g!g>D7 znBQi&&@TiLKef-Yu-AxE(XIV%{vVnz=KtkvxgwP@M z-U%I~cPT0e3o5-xA9_cmh>Cy|MUbXa1VjZvDGG=n(gXyQ|9fU;?{1XO_xC*iJkQ+B z%z5X`%$YOo%-p*@5&5P?;O=czp$ky}m8|JUrcK#LA7GF)O0hrDh>1toU|im_v&BfU z%1ULF&cm2Nr7LqpM7+u4{B+Tk6{EX5tk|ctVk*|>1XXeVujKFki2TEcf||0(LouXJ}el5GH8GF|A!3xQV40_ltl==5HS$WbrnoQh2TfzGK&BqKn6E~3CN)M zmsw=s!3Po+fguwJ7!96<(@%;v6EWw+zk)!W`eO7%jN{Y9D*Owp z{s%V5t-lw?Cvq>#5Wh{ttan0Wp9BQn)Sko#vkhX^Bwo)J(_Y-f|AI%xGGh_4W7injBU(-7zNm=lsC#^ZVI;#T2&kLHG!WVMV)JC4!CH!YlQE#o6$Pg7 zm~2z2V))R->!RiqUa4qvJA#6(NCTfTiC9X)g=D4ji$;;xP63Zo;?xw3qm{*-DSTx5 z#(hZSh3!A72)etOZDjo-D9F5BC};BLVOU!x->ZaKKY7(ATpUZ@^%kxHCikym7{25u zV%1b$Am=tn)l7bd`64{|kT^b-7tKc-o@~RvC4mzK zK$Mfsf{tRuHQ1j?*gC`M!o*<3&}jyC7yrBpTrRd#Oq_vDNm)oFTRe-ws~A1XA=Rj4 z!x#_ennVqYHHf>m_<05v38O^znb>1=AxTt0Ia6lxberd~=sT19!jo?qMz$7gkC;7^ zcfuvdKV~Au9uf66_f@%)4efEQ81w~Bu~iH5XjT{vlx+gb6>g~QRE`wf=Yz9~JW>pQ zo4>?LigVz^E{iAl7ynlUq;%3ifxbW~WN`z0GewnIylQH8%x5WO3fzY-c&@z3 zj54Vt7)*GcNK~y%Mb(c?&+G9BrRiSfc_OyX!czKu;hfErDvri=8)I#8g>! z-Xf7>9)x>Cl$*y}vnFEdJpQ>YXG_s!KCc|U88?i}_F@TQ&V1|@$BL8ld4=%yH4!<7 z%@(;9@Uq?mnAh@@D?~MlI}A-PH?VdGDHMC$=VE2!+;O(Ja^m#`(9;8A@dDm0wPjP3 zWn)<^ci>!kYh!QNA@T=&31YiJt|Q&VxkGg*>Ts29&sbXVpyYJU?&4Pbha$p^lysEkWz9nyIU& zB87UW&`X}K*ff@ZNrn1&>Oh;z_f(+)o{eG}So?S5E`9m_irMR)Zzwc?LiYG^%<~kB z{PF`;@Ga)a(FDOkDma;W-oSdj{9qNF&OEayI79_!G0*F$aQT-hH+%d%=E29JjPk>& zdiMB*%#%RD5e=CryNEX`_z8yS@}nLV)P1yK1uXmFTtDMMVyiAzE`q$evEiGr zp2_y&S4nu8BHgeVFzpp8tiaepUx6X%vA8PPnNgt<#bGsNkK^OSsKq?L`_rpC!CP91VFD8lQ$j zvCN8k$g^xbV$Tv@x;2@4Dm1=aMH`GZ6KoO+reJwlRpQ>bQVy{AA}fnXMzyKXik(CJ zB{}HI46$Z`{&zEAeQe0G82K_27 zy3oHG;;m)8D@N9<%P?vEDq1hcaFH%XF6Rx{aj}0nAMNTi3pSgWNDTC(b@xTX6+E^~ zyXANoC(}U)EA!Yea?~0vwyxyWYW#u8o+fIx76sY_ z=OQd=z@0^aHJe;Z(+`4nG?f0zTF_f{7G+lPGUe4rY!s$v?& zo{C0m`9L)9?zJfHA#r{!k4eotLpR*U8pxh{8kkX=M$9*{6qId#D1=1K8L_yqNLh!( z9kF|oh^HZln^+4)tX&@M^8rLP09hs|uGz_4PboLn1L2UK=%ra}k;G`mm*XRs=W zt8c~gR$|S1ypES3zFChAd>8T0dY+DdmEJ{H?=QN%%V*ondE(x?FkOEpA~&FPCq(%T zm__D`E*s=XHemx^wx}YGZ{YRWhazetPs)7Z+IdPH+4cX|+WG5c*o;9zSdqF|x5K$o zD8$R)X_RB}a!tKaEZ)c)>cw<3acd(M)6+$^O;CyxB6$&BfC9VEW4t2j1f;HfKltgaD@U%EGmUx56;_ z(iRA$m)Np}mn-=~f#g7|y?8Sr-0#CWsH&VQD!-4BuezB0KCe~c1XZtB1uW*MciGs4 zMzEd0xssZbu%t?sXG#d!;_!=b<+h^HhnBS3i(wz~ghCTB%t*Eko8UwZPO&9vVZ&C~WQk(;hgdmJ z6;D5uLaVx!Cx&N4gSMA_CkAZAJXl$LxD_U>Y2t^iu%a&z&X4#UtkxENgf%I*D_MeGd+hB94BARW(1b$a++Qx_2a=awsw(~fhc#f#C z9r`<8^xQ5rcG`BHSZE6dK-RSdJ|zL?nuQ1BZ{cZ_Z6#O8WvYlK19HcSJKK4~7jFg$ z{o?kMo59gy$PQ~WSXa#7VJYq|aeW7`A`4fz*G^IFW6Wj8M8l8eCUDQk(AbCK(#I%q zrZ9K%J~r(22JM6qpA{9ecJe%7nWQ{;;8Kg(ETcZpk`xTa69Vg$ZU@#EG;SwN@ zf5LsOFH@vZm@R`bC;M~eNC1=d76VRWJjPGjB|6W;=P>D+6tM>@yh_o30+_t`JH#Y! zdl?CnV+7hX`L3w>DX$vW7ON98Z06}8OhjLu(=55dX5KK+1rTfdwIE>ucP4M zA zqAdrO`JSeTjx4Q0;htln<{>^0M=akT!t3%g#FInlM3rwqHHxx1qTpfl#|@(LVeTt3 z?mi;NvDsKQbnS@>M)ts}3(i%cA400A(QKS}^DqYYR^sc!I1_1A4EnPaE6rzzdH&iB zRw1;Wop}lCU(%m5NPQ{D;c`br#>ini?@o3X)(`d&)V~Q)it;e(<8Z3;5ned^{pom_ z7cw_;w-Pgs@F6%U`sau>w3Zd|UsywHGtu}9ULZ*gtplrrX+e~}IGpPhss=hX_~d8B zSD_Pi%w`w!0Y}f@{skZS;!%nq-y#>Uo1d4)nsm)3MeiL3X)aUq;5S5VZ@CGp-- zjFUq~Gh-;#WEv22ER-B4?;n-=m41vD@vd9}PVT9+hf%Qx3gIxRD2eqjVl~T`f93#WGYA6B zSBQ>7Xm$IC`0)f!Dt#Y=b-u)611Yjm9=Vmv=er1Hp`nVMMDeW44A?c~^DPmnU-MFh zY1fd?cZE8CJb3?S*O1TWDK4gc&7*Ta9Sh;N4q#}DAa;Dso0sknYe3~)<3<`rU9zWC z-c1?S-IReF`FluohUa2VM1M2_2rBQ}qT)&JjXix^ul2)FUTEw3J~&A@)q=v$=T zAqIYn!K=BL{B3Y`_E_xrR<6#Tev1|DL(%Lz-j%be*j^N;xtb*GeJ1vO2jkc|5&1oq zUya4k?@{bd_@pwAF4!7FSLI1DnBSzywg)U&{oq_JrSzj%XK|F!hr~_#_r1t|7XOBb zV)$pn*GC$i#Tdni$BfNl=vhp#OEJ$>o_Sl$KFec@E}+2M$FclmT}NOU2j_Z;ICIJk z?RBmm^kP;E@y%Hr+uO>Dzs|y#cS;mIhem8A8lJ-})@c}ctScpko`XR+K}w=Zy+<1%h$fEOI&;l@Hh+$3do5s+c!L|MR?X?p^@NI;e_N z!X{}kg0Up5WxBMFd zvGMFw4VDe{h=FsdVuY4pk{Epf^CGPL7kDw(_C?I7T0~8HhG&@g=>m`KL1x{m$tp63 zXA&lys>M`@dn$zCy`>a2dgbxV9|Kx(Ma$=j!w6WlgbH~*UM#b!mQ*31r{-%w>bbVC zCqs1nk;l4PW+Jkzf|T;y5fgvpsm%bd{iy=N>la zRV%AdGb8apZ+zsUYK{G)48unaN$pnw2G^WFp~>GDMSkK<3iu0RFerWm5L(azTdna<@yp75-jeBMC7Gv=$9-K>NuT~xDEN>&R?=sJ?B2lKEB~Ye*Q^oI>v43qNvR~oN6R!5x z!#Vv{SR|ZAN3kO?Y*u@-r<)mT#P};bmi;Z3UEvMGA5TL3%!t?UU3*?9F%i2>vs!^? zNSQq5B+8x~{RSNfE$oLg(d7A?=`u*}uSCb6u^jnX9RFD^VsHJ-lfu;=FLIcO`vsB5 zMCD(2VpZpA)XF^`(=nW@@>CK=DLiSnRtZsMs$hfB8DWlDtUMx|6zednr7h(G#$JgO?-ZhSBt!d#v*lQJAkm}W)XE=+o)oDjU5j8W_t@%!YQ+x zx?mXFD@_c!&WnYSjViX+Z({XzULMol+3Qg5a^mTA%%9~%+^-mneijXW<%L{Q1F=SI zHp-cj)w$=OyBdjmZ0iz+wpfv6ZE zdfng^vIUq<6YFkpU-W)ziZ3#;fRaYMu@enr0-Wo*_~{15u~j1MH(s&EDHk(*@1WlI zK>JJ5kw5K9k5z^I&;N!QLeg_j!UZijUG^xpm*|&Hh;hGRO6n?B{)XvnHpbG}8=1xR zdhcc6Ukj$888*@3IhYsg(Z8sK?I&Z~0H@2N0dCfP8{UQ@z$g&M6F@dMI6Q3x4pFS{VqLl=Ag&JO z@DXXNmlYYQ*Fv9wcpy&@5yNT>M*ZU1T2bs4kBQkk8Te$DzlT0Qc@C&^iWG5|TimA` zBnHO;JYGWLh0m&6CR<+|$BZMocgblX~qwHE{bz)m+^eDDVr3@YeL+W``sOP`A13Xl9(|) zW_YPtSRyZ54)jPh*5G(H2B!z3E-WCanVw(7oO?XURUgxGj9)=IdajGF5Sd0Ze#~SQ zIlxo=6@;d$&=Ak-Fy6*YQ=#FWNOb3zx7EP-s^=$>a-SD-Z-W6PW-dYO@slwFuM>Ul z^D_R;*oUx&C>P%fAFbLdBJp`Tq?3!rmq6+d=ej^Z&^bn`m@8unYjt}Iv}vLA-7vz$ zT%U$sPkFJmplu4Jcd>zfD+!A;qPJoPK|C4?=u`&9lidaMZwszgv@z^1`Z)Fl zD@4ynxTR<-B_=<@@}(BEKjt7i(h3%3ERosk^Kj=3&MN!zV<^jMc39ke1d-kmIUe)Y zmPmJDfQfm)-kPQ7g!uVbdce6Zh&LZg$$a>j=YfC@KjsD9fw{dk`=%J)7RbL^JbuiZ zdB`fMt~NAaZ$yKTbVYRdi|23gc@?Z@!lGi(QK++2`~=|ukNS+LjMW99C7g>8jCYHM z00Oigi0Wt2j5O9)9Q}(IDn^$=!hFrqw=mw>h&|hg#}0xH00YM9u87fqE{EiM!b>LI zgvy+$F`(NLbY(hItuZ*TJ5R^hUt)_#Ag2kS&4zPP1@L|WRW1tWy7!*)USZpyH8sR9qRTU$ zY>S*JragnPxuJOf87AQs;%od1`_cqt`(5$pGrkDhmAC)qSfMu%cmKv=3n`fyo+%>xbDV>Y z6}6t@+SCX!C9t^-JKCI zXgm?W+EK0{BA4lo3D`BxiBhIJ9h2e!(`_9$Wr)Qlbg{CyXu6Bq9IxWTzV1c|OCUir zHa2ZF#tU~F+MX=J2xKM~IE@`daz6}w&gAoAl*4^rpMn$=!<}wAPg>|izQ^!EXLlld zLtJ&beOMSf!`wr0qW)@_yNJKu7-qyxQR?OMME!>S%XCsaTYM=G?L6XUs8Bh%pN^ZU zLKQu$vB!#gTcxY)`JyL6vs9>&CpUH_akEvZqvzIb@SOYmI^sFNlLHIlxOs{;#M8|6 z5XAWul6c2aDB|U-g;}*IzDfR;v$$rNw2rmX?2anuvuD|hsaS(MF7VfSQmK_sn z+=)VBPq_PQ*fyqRbC-&Kz60%5k`2HtI}Fa%cfCsTT%5@USv(g{v$?%6Gv|wNC)Jyd zYUgh>4)X|=ggrq52E0xL+b^~<`J1QaN3+ung+dlBV925OFY>pWDyBrZ^J7c%ZiKru z&R2hka9575(H3b3vm;1zg3|flRRyUbN@jN#1FA!Iw>PXi_V@WG{U*j{cgGj3Oi5;K zg(*?qF3&`YZg4tj0hppc&+aa6a~8n|eBII2okaj&&GrEDIl=e_%0ZX<-K{kc`X2E= zTQq(#4lP`bF-o}QuxOCOohmPZ=l^6DKx8#b60>r+>%*eoa=KffTc+hg)9e;)a=DXW4I7usorZtA>7P$L$mLF9 z+eJZ_y9VUY!{sg$Q9XYRR_Z<6PkBkKaJl13Y>z@78S2Hi`0$*+) z>LAbgtN0CRa2+C?yVLy+bhP|UH8CaU{u&52)4@_XCtz=yzqt;U%b9i^!4^7LF{eF0 zf~|D0ve9-nc-4A+5DL~VC7G_Yw@WFu0RK|f6oTwhUO~5DDMMfw!ew#~`M=1I$%UnC zqe;kU>&3KNyW)5xZ(lp@Eu_QSevXG2c`|n+z!NhYZo%wuxgN~nT~;9mt!DOTP??UB zFuef0T~{MH33~Miz`ChWxMu=Jv&8Nyl*8;vi8?h0w>*B93sXa4&yH^~gUIY}JUIC< zYD?09yWxiMJ(2Pu0Vf|wuVF!&IP4VmZ!%R`BFR)4iZrUs0i8;vfZ2nt{5#CHKsw25 zp2Yg3fWLHaL^OSw($faZ=un@sN~u8CrOjD`@hS5(lB7BPW5_XG#!e(}wc*N2;A>-?^FA#Ueiswn7g7_6BYQ(OB;J;^4T@VD);#H61AU7?0$}pyY z$g;nW)c~BU9Pw6{wl%25*tYm`4}nSnP&o*Sql{pk$8CU=wwu9Ea%v4gF9OL@^3K5c z`4@Pi>(c2~O1Jol;58bM=|LFPSz^JkOgo@@=ID)=Tq)OeKy43wohqe&Ayk9y zNBrr3agoJR2W2TE|LFh@{_B9;&k76PP`9qCqv7_U6&z-66vjzjuZ-}@2!~1S=QT?b zk-QGGQo!5cFu*LiBm2-Wd_*H#XC$lV$B@#W_4ETb0M12pYB)(4$i^UUiWSepKm~D2 z9%dvDV~aspZxMC7B{~+M*2#Uo0KshE6~Mm7kag+m88}~YV33bwqi-YAq3j9}x8aD? zTGCYR{Ed$Rv+8VlP@QUkd(E6Eg_FFQr>Rm!hS6&yrMFx|-+-WKp=i1B&cF=-j- z&$Qt*GS5o*uj>K#<;H_#fY+5^I4yGX9QKgXUi2mi^Wa?T#hE zkLWcLRVIQdtspg$S|RnxVg7_>b(k$ccaqmDBfK)gVQxifyyjpclGkC53V1t^UZP7p zL4=QJS-QkJ#BPT3yNDjrB|b&)OE?wJ4~juAW_eBLHk6CJ z4)eAwI%%8NjHBog1@M~XFR6&mm)M9^-Den`zW*D;{Ygep6xLQ!PCG3m%~n!QCoNfR z0BzaViH%Y2{0XfP$R2^MabibC0?clbzY`-B&3j`fjI#+riKh7c-`Qf!fbHXy^97)EBdfgrtRk-2R8&g}CCD939o2`3qf%RE3<24PfL zyk)ik8>+;~tlBq}(Z?Vk2tqWcTF0l6^13c=3+KdpY?i%60#J+tA zmlGtD{vf|hkY30YhZk({Au#!c#p8rT6=Vje^FoZ}fE-C`?cXLhF}WVFv7`5afOkg1(*2k|JJY9c8R z^^oh3&Map+h{peeJszeQmEs!E&w?qcLWHu^T&H-D8(G}9Z-VVdC5YN(81ZmA3k^HF z8nAG447MgDb33aFNYfyUT3mJRQp~?RFG`VOemIqYy#RVS2-Mwnb~+$c%;C!dHJbs* znyfI%k5f}XpJjr^X18k0cuy8!FTiIgK`&GZZ_ZNz!>Vz09T*{|H*=K$i+5RgHZ7MQ1yUmN;owP_%)@Ujderp%N9kw zO8N@Q8%R9J#@+&XRuJ-rqHZA8V{L3TDDPWTJqtz4&2-{=d#yFhn1KZBOF+I2!2FEQ zB`(n{M;b&h(bo8mA>YSke*p53V7(|201ap$nQHssmXZ6&Q3Y};no7fB|p zG>8=mpg6>`o`YU85*ONXSJWI@?7=+WKFC5NmfAe&hGH=c#8E*O(X18q=QXw+-y6m* z%3~ggO9-IEsR8S4cQ9ZbBEWVKKMCb9q%5kj$#xF=HE{6b>;%*wLs>|~`?fVDHH$|e z{u9a~vla^Rk!^Jkj9*w`vV5NyMgcfWRCN0>@nhS;)`%|vKpKeELjkmtNZez~n+<(X zA~Hek7DT8ki;26<)#Z@<6%gJeqO2sJAx;!+JR~cG6F;0?t)g)u%wBIg>OT>XIYHPCiSR2( zcKgc{0eKhXZ9#}+60H!|9Ir!zrIb$q@k0d=ERuzz@L70&VcJ$EKG!u*1htvhECm;hX82TFB`%L`X z@!bk7^obzOu>f+M^9NuNPCD0+J#I4~I|(LxoEi?J*(MwsBt|;N!3ZR!a2kl8{)3uF zqinkU=^HxB$3U2$S&~=;86roCs%Ag>IlhQ2v&;`jGQm`q8Wu(4X)Svy&QNKlV6}m0 zMkuAhp{Tm{sW)`-`vEbMP@0$6U&tL9F$*zEDYmP)T*&S5FD}B29}0l!4n%%V1O=C^ z8O#!@EtFBZLUX-gT;2%hgjcb1{CzrpTg!>t=xv9pv9I(NShQ%T z`696Yf1>8Dud^pA?=_nu>@{g&?=TA?#$gU11bMwCP4ixJ3`Ni?+G|b@ z(iDQgUULOSx8H^@!*#d>PWckrEj)}X0UdCWBf(EVd)#SME#Zw10K_)IZsKbbh24pM z+Qgc)=uhZEbxJvh4$VwEtQZN?sBz4xK6s~7Yf6((!VJ<9v(a$GzD3 z@XIp9@&f=q`4=df(Uv2j7<&_g(IZroeFwykgxW2Oq2{23^6b)Uc)c9)?9qPY|BuB- zPh)s3)SC^v8A9ay9Nhv=vruzTLS0s7nP!m&Vs!$js%k(pMy4{!Arr)IK@MsTN@&jp zjKJF{ls_8{>Kj288quAV8izM?sSry+TocNI=AeZBZ0eiD0)S6JJQ&JB0*15SFJaF` zfS*9T8p?qtsf5++vj2eY2+u)vB4EjiW~qerEV>gcV8p@)Vv$e)%~A=Q*|qx`Py@tz zp@0RsP|8o)Kd_P>q6X*=;vfP@QSqbHvi?}sZMczeh54>wJ|)y7Am;uHr9d|sgQ|T; zpv?g6B#>-b#VVSeN24b=Y=xJ=xDO>|r-Aq>$m%j>s8MOQ97U-GN&b%k$#&2xmmJk4 zRt^3MuiEBU0;~Wa#j?V{jb@^R$+n^6VVfo~WdPAUh?14md^Xw|HpFn=8`M_=2&}L| zXAyc8Az`=8g@K371ZHsn$2jS|o){7i+RRHpd;sdl76OH#Ra(Mv+aRoeZb2686o_XD z5a<9`G1w=3YfHfT)kdYg=Lhw#Pz22_30H01e$@Ky!6vf+Txg@I87Sd_ZOu~LC?q~< zKx7aqOMB4Nl3>`^tl6?_{)d-Dm9bZOj9+Du<$nZ-9Rd!NUo=T_M^=nOOcKRrDadq; z9trL2Wb%>|O)VgrhNL}ghw#VNm;!CW^ znH2yjk)X0@mhJHhj^|lA;u{f7WhS}EVg+oEC+dPjHy{RPMJbCTeGA4f&3NQPyIsTJ z<1nWK>m;vNMtEg}!@Pykc+Cw&B(KBV7VvhsMT1sy$I)LJhL31jY>yWKy9VbXa){~i z5#sD$VjNQhJ|1K=lQzfaL8u^{A_mOyU*Oyi=J=W*Xmk8MWG&6{wP8m^a{7D{%<&z8 z=mTewbS6u70%cVh9{&(SSAG}D<25HCk(0a~Iw+m=9esgLrps8Rl8FFVD)|+XpMrB$ zL2QUhUP0V#E1uT^RjFhyIy8C?N{+86m1tHRI=Kd6mVk)T6xoDW@zRteppzdrV8#{# zH2|PZ5R|Gw${rqn46`qR1_LmTK(bIT(8+xHftnA*I}+uW8B!Iq>STH>ew&UMeg@cK zg36*nOlGkCj3V1t^Vn8R)Ai_tqEILUwoCxP4a)?d}1lJt(2MGKJgo8S{ z4Wa#TDpjaGoXRS-N*9_w(&aTT;prr=!wmOP#9fMb8{Urppmbyi&wVy%2q%m*gvb70 zmhiD9VF`~yvVbL=WEZf6lP(4<;k(5ClJ4sMI6&EFXqm%su6PPzx~Ysh!U}#g1$X|C zhFt>jIsuY2KwH5Z*1#{*A)c}0n3&)+z_Nnp_#Mjz0BkHC)MP@aJYWT%jop%eIP1}e ztl%|3YHX3YY;ns9{^MGvx%2^Kco0Sv4O+pUcBhP{fh>X$%}HCq=cfkBvlWoN$Ehu4 zfjG$~XayhF6)Q|Ix3P1;U9#8(5NFvRE1)^DW=}!2od~JBwt`>D5#SLAYGFdCx@#-= zB^DNe{1uaGAlC_HqOIUBT?;Vj1}c3O&SIji;NM&b@OTr{si8cy6+91&xvCM?fx0=A zhhJO4d#;9}$=VzN`9vraZ3SQQdq8qGK)n;nL|efZ&S#oO_OEg11*f&avVvd4Jdz=E zDG4fx9QC)X;Jp|2_b4L_?X>T&dHiaoeUON zTfvhOm~QoQexmB~YAg8S+JU6aLy~GM_#*5SmBI|NQd(B<@)-64xU+=GA1^@P$wt^o3`_;^nWc3%L?9Ot`aM&3q+G33uQil6}-(TnDo)KtPhBT382KO0qbq0 zHyXww0!#sMRwxH;1@DDR5|YElZ&3daLs@7m_%u_qI11wFP!`$>e!rl$FWdt0eked& z!CfT{Bh80G{sCufJ= z+%dyr@R5JYWGE10f+*P;EvtBqNZo1zh&5SJv`^J$@#3>J>{CEa1YzGH1Fku0vv|!Z zx)px~?5`I=Evxu0-2AjN{w>xwaJm-6Qdz}u5_!(C5dFu_%7R`yD~3y;WfsR*@bG0Y zKzapXCyA9tWVhdG2VuMp>f|6o^02Jp>k8|3Sq;RNZy|qOrmSZ1yq%EMK|sC@GNP<_ zXnsC>?IwWT1msx|Cgl}c@OzG=B*1cihu#mT^HWxFc@n3-UI4TBgr8CTG+?S*IJA#8 zi$^4Dp=W~F%K`-K-4YeyWZiZ583)94LaA|2+ljSRyl*{HK4j*92av7*foZdN6mGE4 z^uUe*ah6a@3p*+;44B26=uUqRh<}2-G)h~=k8IcKmG65jhTtSG*oi`6b?sZ8Yi3me zX+SVlevKj{MWWxFi)#_Lsr)YiF(kl@1!N&n%T32*W;`I&R3H`vd1+aY&0O59(L0npc%)I8?D2~H?h_$A}q?Z<* z}OLC63i2F&5}@bbwk#Bvw_{(pfib9mQ>_?aD4lPv;bC85U1Vp!(z@0&B@ zC;@h#LpR@V@zK*2%;B>cGrl9lc@VDzSy<-q8QXB1fB?@xwEtjL)iQ_YdrNbO1FXPg*JzOy^>e}Fb>2?p&Yb1 zywd^AVHJq)hH}v6@U#A!db;`?)GtF3+8jRbW4u61dHf9GZ=nEf4&RRN?oglYgpn}4AK=J32Q_bwvPU;suFND5W4 zvdrPhi#2<`Qd}!{3{LVfqRnx3j{)O`F4? zF40m5$EGU}TxcaNbNIV9@JR+WJ%GS47dm@rbNIN|fNKs+rvQ#|()*w}d_fKrd>E*s zECdRp&Ect&aPxuMY#xY92oTUcZ4RG-+o^{Lu-y;pC!q*!4zG`^TvETk1Mvz0LK;oY zJTQk3cpt|T#OE0h;Xej43bcndho5VzWm5=<5?N6p=J3x}>n!U5(u!bNvXn;i{Pwv? zI?F*ojLOOk642)Gv`xBu&I4lQe|Twg_~A(~hs*Ns2IO!EGvTh`j;wGAF}MDcSewIl zx7Txs6AhCaE})B|Qw?`)cFP#P>kHAPhC4cF4X0rigM4qu&1?2XLMIJYUh`%0>R3cL z%r}D(izH$mMa-1m735X18_ByCv5B*=LF`(f-0F+i5fAG-&?r!04b}}9?LGCXdU2{z zaf1w+p23B2&mx_^n1D}rd(7-2wWizWU%LY& zl2F?-cL+E%eP8nHn4i7+27;Z7q(E)k0MP@^wH-tz@6q>wrLXlgAbN#iiOyaHbxKwQ zKarb$hN%F<2S|(pgYQHGw%CH;Me(m^;hksSZK@j8sp6LiUlw7t+;LUzhQmxmUm&NS zd+L z8j*IEfHd?DuD#P*ELwaHR{b#s`S|I~UY}7x7@KwpD+D+f6^8L*NPuPQqW(zkWG$P~ z%61FLCnQ8XujTetcvKd|aMq~^EorZUa5tE~0;SI-dHZrOX1|Pa3J%;w@oTxGJ-%Fw zQPo)~#8#0MF}}7tx_e9bhbbhLgW6YpH-M_3d<8cfG;TC)h3xaN=NKE=6r`ACr9!Xq z6$CMoJ;0nr0%99M{7M1DscX4C!j<9nc#eZi-#lW!fb?9FMfnVOu@2E!V8Mga(jXRm zZ+kqW*^!SRz!;V@w@z9cux3Fhu>&gqpFnw;YYwD{p3C|HF+rll9%K-)0{-nPd?y2U zeSWBc^5$pFpml>Hfd3k_^O7!`qa~Pv>kM=UpN}2DQe5idpFljbPyjrHT^dz?J|3GT z^aU1))NydC9snF`3qU+O9H%GAR1h2gOnXz+?v#<#aE^I_q~VZM(} zpGgO)X5!MmSMg7pe&3>e^xyqu`c$L|55IF-hP52UPeW zrT6av@rVVGdX6>Xa?0h)eoHYg5SL2;T(>|0`bms$ii-hI4mg!dfC>F>RpQx|`*n*a z08pAhvMPKWyhfCt(F=Ep7dGMUi@fpH0MTv!g_34{x=>?z(0U|rhdBbVPV#z9s*l&4 zND<`Cq_7%*x^O%DnQ_)xCrEhLqd^R-(A{Y9RVjX?$8bDgX7e5*P#~wdEH6I zs-vrm09Z#?ZzB0r;`b1-R1p2T(-Oq3x8nITP(jr1cI*VaO*XIYzO;LwCXMG;GH%&Ag_o@E8z?Z6v- z25SOHmmrMlob@cLASS5h#PC&+{DhRbT4!0Y%|M%n_;o~+BH@yYELPwwtLs?gwHt`T z*NtozOt>4m3;3@h+SwBo^_uEQ5e_p0nR-ndacHK@#|LAa=hFHq)c*x8H(l|9D8L}spn#G9MMBcRMv z(96dYC=P(6ASgnClrnc-r#aOGpe2E1DPN?_i!nd2K7hOygi)QdD)ZV3xSv9~&H-r= zA!X4lWuA=*hHXLoXGBw(NiMQj0c9S7dr|BR5SMy;5+8R0Oypfq07i&{I$>oAK1yd6l@pylfk;UiiWEpLI?_Hcd|(L>a{AA%#{R6KtV zUa96%%O@c;&mx8%%>KL3^pine^CLW+=~Z+->p1?$Fq|# zRoPe!NQoAiQ>k$js$Wv7w+9PD$)yG$je{_%Xz+NpL{D1tyaY1+l835HfRjF+9S&2X z;xr8q@jER+WTiRDCUE$AhE?s4`vIt{jco;Pm&GoCILnrAgk>7Cv9U9to+pG7j`fm~ z`>OzthoJr)%0nLDUSg9cAb-Uq-)(GL;4CKkcy`dL0Fz3f)*ysxB>fuGugs4&P&_(< z+9Q;QKA!#Ln?R+^kF5r&q4h%l!-o`9fUi0 zipMXY-VE}vj%WL0vy@-v68;Cq5QrT0w~lACHNmkjhF}{@&{QJomz4U)2ePk8#H#zy zTGsJwFPsploVyUQwj%1|+2(};DPIps891JG4G0u^QAkpKJiBEcF5t=X?g$}v+z(Za zwO!f}DDF2QM14HlaWuC4QakR1WU7y6=XVaYSWf?)V0rcN?Dx$BNt21FYpRcDQ||?m z*0oYv$Fnaj#(@@!YiHd-d=*aXHVH%>&&t(}NW~T%b1uQ&6tzcvh#-$FpC2 z9mwJ!z$b$VG)y1Qu3fHVZf7?Ec@~6GFH>DIcsx53hX8iwxr+_}m$lpK0mp}66c?=Z~9?zBrxk?a{Ur__cvrR$i zXi@)tJX>%E76VAYMgsDN1>+?jqyJ$v*Dom*c^jP%GZ9+~$QptLhI@TH`*|ZJBlanX z2Q5C}ppR$Q?NTyfKY@5P$iX_E{T(GC6=lysbl#_VUJYl~@$5!iETooWKJ1N(z*&XR zFDZ?F04p{DYJgae0D)Oc0@m9K6~P-{1n3T8-%t+vcy^+bDGqPmNByUUve3t~n;J63 zVl9Z9LRskJ*2{ zMXlr6HtARo6$YUc5!Eb3tq5`Jw~a|sD}(k(=^BZfSrC3)H1 z69=bjDzl{r%pqhP$6HG;ILk(LhZ4 z6Y|&jNtx-ay!PiM0a*sfmLMa_iihUsvyW+s5*-BO+aT;e1;6K5F%H~r0`e>fqrES` zNIO4NkUrLgtd+=-;UqwYoV6~v6=-4G>txEqe>Ia(#w0r4TBlopm(TBwg_o95G59tGn2ATN#5$Fuv< zE2Vnf1>)}juO!ApVRh|wTWV%eSlY$I>GGEsgEC>UtAd#N6sroNYo(84BgW&*gt|iy zAO;81YLtG3=^PIKWY?Vn#4HP?4qfGDl3rnw9(sj|ez{Vf(9+20m-om%BXp#)S%v>7iq0uK8Hys;F8TV}neu;yz$a7Nf$db?sO&*($7GU?r= zjK0!KZ!~4}qZ-P0nKH(bGMQ7+uQL3Zw~)U)vdtJr1FW>|WV}J$sT&*CbGVT)m7PbX zSKwS!C_1v0@pBn_fJnz*0fPD+(|BM4N%yiyPzwbSC5Wg_Y%{LTZUD2(-h*LrVw4=$0WBF_0EgAx> z0dZp}fTlQqMk0&&%rKS{;vlF;g9tT)Wt3#@qZ)7(#9KjtI*`q%$l_A*HWqPkKEdK1 z&MGBMKN&UH_H%gck^n_OED-|mGn#)g1~BuAHeu8QwP^@~(fpG!lzoW$enu?%f;c1; zK=V(=NS14j222HUb`YSZpNt7C?KD!a2jL?k%I4&Lv;oaO=l7wUf(@MyTQhaIaZXpbYP|dH>0wREE{YJAhRqOvZ6sUqk-*cb{H&3gd0KJL4az0 zWWu=2N*!KibhN!ZNH_OMKrUE(vY@)!TC~FYnwUKVf;XVr`xmp|kV$WZ(r9B1kpBk>gCrfBdCerq z-tVNo={3v2?^MzBgjF*b(Tuz=OIQc;_J+6kd&eMpx=5qG6W6k#8@la~dk6KBuAUuhu!uQN*979Ef%3In6JKykim6y;^_ZoCcqeHfDmz zvOR~a;9PMsdElI8`)J&$9;hV=++o7>Y&gk_x7Osd97T{flU{B&6Mrs_3mvLS z|DbQt<&;NnrC0`VR-0aj?jLKpgsnpQ~kwGgYZ+3SQcp^fOpUn68}!igWGxrOa|-`5dRRWs^lH5 zPVQ{%^t-UiAfDx8IDdz;0P^V0$@XID(T@OWAXX0rNS(;eT43c-pO|KX*o^?H_|fX{ zE;k!WOXhLJVl=3eEQD&%XmxrQ!&a`)d{zPRu7$$rF4d+WYlBHxviTgu6BZ!AM(RZp zqjO%lSo{@;2ZXBXr_%AJB$#NW8O7NL5gL{Y(fDSyuD3#22X~eSIzdh4HPZlfj)2!; z)+VotrDA!_))YbB%dtd=LR~N}U zs3f@hI*tHoAXX0rXeHTNkQvhmkO^Y9Pyi{3KQTM&kj9LD#C0^NZxBM2-_jC#!D;Yno6mvx(n1B57WM{7y-Ox^t1P^P?a zs>*x_yg?;79IrPXB@vzeFO)TESRUvEHI>)Q1k_0qb(lTj^*dEGmCI|6BqDh;&tNFQ zJY>T$i9YhBkpYUKk9<|g)Cash*fylx1LvX?A@k8O#QkW+^Kek*g9f(J#-5)s{=ioT zKIx&TkQfwlG!o;x3|BF{(HG?MCB8v#rTOT~4JZu^eY2sF6X;0W7SBst--`%%j7)mZ z4yowukkU4Z+R+|zsPO&Q?j98 zUxE5v5GFrtQ+iWTU5ZGz}o=}Q49wmLDV$t}Bud`Z;MPFL41m_y> z$1_Bj4H4`p2^6n1YZANx&C;gffP={WR_6^m3OE~d{Q4m1?tZl zW%R13C0Y@8y?k@PD2qg|4#$l!P}qG?p2NASQb@gyt>u23Ev}E><)Zj#JQCnEO1{A$ z1uDxy0+si?QRFMM^fPM%>!iYF{)zz|UG*d)UZ|b_mgpM*PJwe#iV%S=MsSlAue38L z(7yi!x~e5nOFbzDMXHa)y;I?(FYNa~#C7~HWbXArRp4`&Rv2p`{<&{lx;lu)s5 zfIHqLBPSx_GZpzgBK><{tKk>QV0qcR93C5ofnO!I^9^t-_G&V+uyIo+ynsaaWJ1cA zXHAEX`kT<{Iwc-2mj!UhB-w#fN^i2eL zb?_DJseDt_j|$*-j5^az!fCHt_)J1j2%QFPQtk;U&fc= ziRqkZzDDda2#8${0AsNFNzgV$^$m?H(N`N%^@= zLQ?^&MbLNg&_9$=N&eV?uhZ7eQl@qZ>gL-5KmBk-#Y+eWG_XD+Dr4tCybkB8osSCH08eb8 z6zvh>|FLKgM48*LBE>Rd$nt<=K{%CA3nHD}y=aILgWawg5>yj_mKI3;vRqnCR4<)f z8qbWng%0-D8%i6u%M`MzKr~fWXyAd(1-LLW<*X1s3D9HW_kwsH$mqrW*{6C5K$RR1+f;K%fy56 z?O4r2K#JB9QJI>C4GttUyBF%#fDuPF1dlPAYF)BQXTM?kOK;SpAZ+{Xr4raAdO48m z2)z$EV5P$t*7WI3ibLJycmM%O++kpjhvMjVN_w;N^g8`J-6TUjg!zFMFK-(=K2CF*$oB(B>dLTjBBHE?k+o%QzNP%q(I z4>LZ&V2=vgBsw>kMZ>u^`3a7OD!UiJBIRLY&_KHcRsyJo1ZrIWQNShDcpKO4FdBiO zEGX*^Oy3}`4_kp9b-iL6u*R>2%z<-AeiJQ>T=VnP61uv}L2%M<|9MS;C$7>`#Qoy9 zWPUWCVSEuCMsva(!H2tJ@hg}q!`GQmU_EILjC?Go4<^kD>4 zvXT=_U-lKrQPSC4idYeB^hl1TA(Gcz4w93+4(UxTfJ3nG`Y{_2O-)`g8sW<#*GPAM z|5e1@B2H2lFd8oHiJy5c#0bl50K3RZqRyoc`@0_?h1=eQ$q|bts+vTnSV-O>8ZEJ@ zDkMP<(iuYFLw0~TkJTbo$|P?_d#FA(d+?{weN*N&D#A?lyyY~?A54j5SlM?JKv@N^dDEAAve9VA2T0&x(8pOorKU87!Fcqs4@r)lU5xtACWI^%e;-~F4yAUO8xeAn7k8igk^J^h z1dUL*BMonp_Ly|cw8}L1mX3nR$Yb+kp;n&}iLpO`dJ5+vGWPX&Vp3GJ>@bbzhEp^M zq#cr^Rbz*NXGK9MZxJnlbia#rR*hS*PvlTq;E?DxKz0hCVL?b|5?JeAcEfnuOsb1h z0>=V0fq*rsJivLeflSMIv>&4r#b82`xOaegFTjwN*u}BlNvk_5Lt?@u<}1+8TNqvf z1(Hi>k@OnIaS3?_vOUtut`bCz@;AKKLKZ1PVtk;NCX5mht$G40@xG0bY2(v#EcI$@=qKRR z^5Z4imSW?%WVYvlzG9_7j=!e^*ZSg5GDnxhJO@2H%A+e%mR5)j*i7`ww6>phl0dHV zFC0V#R%pb*YgPe4Hk3npy=D`PeE94SqEnlBG54htAgnvlTG?Z5VqOp_&a{UtVsSD7J&9pf3Q-vzd zLO7V~c7)OjFru<&cw_^_MWqYox^p1vU+AMTDpNlVToRsWL8azUHL3UDcOyV>Qo&S& z*K9@+MDv;*$V?4odEj1pGOHD-@q8(_rl)XNb zu}aZu;?Z?B_6fG1eFY=(&sh>1PwX4LDzZ%FDcOV?B_7V)`RSGbovT%^| z!ns^0I04g`>Y!01SAIsB)Nv$qPRWvI6- z7YKhgjJvF}?NJMbAnJZNRLyudh8Y7-V`~O_pp1iR*iiW$pzMbmd{yAKIy|U$od_Hw zQkc@4h8(l-je zB=`(xBd`xXh7i*)kcoY`X-ozkTQ#E(+)!eTjD{Kr*k+qUBjo?^p?T#09LBJ5D1eDn z8F2fsfi%X0vIK6pRT-qm@7CK^P%L;D&Q8dDSROkp1W5D>++$?93)F7{>Bz%$x@%_x z>H1KiW#Tj>eiaF~z?DJ?=#4Pbi{31A4Wu@PErD_nrojl)=mT6FFcslKVdel7t{AK z9<}tH!xPSWFo=3z4rQZ7%WRVJ;hYLkz6VR8 zeG26ti)N{fk?!ktNIX4ejCA2(D3B38W+468GUheAu`f4$;|7xBCOEaz$QCWd1qjGm zHMDdM&9ToR@ig_A32_qYsX}?jOsFZLzA6-Hb_3Pf)W6Ys>k&9za|CAdn1&3XlF(HU zPEUCYC#81HA%~J>QM=|?twMAv!%f$ff1}l{JI8O1>T%`|iHb(&6sOhHOxnW9tMmg}O+N^pGY!%nXUhZs13#TIpbh^bk3;g!GVFDwI7#N~cgr|M8}dXcYB3 zwXNt3S2~)bP>38M!`+Z9rSODIV4#-T5QpjDHcsn7lkq?Lgtl$}7MZx4r(939A!YEyW-;Cu$+;mw7&Jf~cLXosPE36h|F z1m)A5v>NPQdO>6znf_7+=d)HBtfNVG zTuSgLpe2c3KlI-Kvq&SA@EYJ1RVhS$_38AsRG;DAPU;@A^B#Q7f>xw+Mu%~|vL;0t9i zsF7RK%0j7;gO(`YGjKE^zCBRYAqP}vcu}fT9EKq9HW-1(aKcF*I-yrwRDI?xfIu3d z1t3#koL392CsA5heo?|psoY0tB}!Wf9{^r)l}ekXKAl=(B@z6BQ06&+YX)YwtAu|8-pw(?%}i}4BxAB~4w^!n0NO!)rW~6G zKy?Y#o|GX)rI0M~;-nJsox@YSrh#-kTVWkwc@8j^&2p70Cbk7&2lmO>mSoz$oW)l+ z#TNN8YY6P`VUxFdWlK3(n(lzqJ_#rLX@FoLJlRhh1Os`Kr3nw3w8&&>#bBUd@J#FF?u5=CruU~qnef|reynMP-E6B9-A}(*`$i&3KDO%_)T?}L+p}B1E z+|pO8V0c33e@Xq8zFq}cWc@-mGXMF~iZFs9UulL@>nJlDylX(UJLNQ|DOT2@FFGWi z6wLLHZw;Q}wF6AU^9j~s6*E1}8p3h7?dUs>kMP^fWQl`ME%=@PFQ3ttPe4o8?-k~< zFGPH5&2nn@@f(GY|0zFba7h-L?EEpsT+9glH&BK7ZX5J52^v;8q8L)9WT#ms7Bljj zxaOKJbiH%(NFK{&K>ckNz2d^FPHiX(e<_7H4Z9_gP%|?Wt|eaNba#YSVzUycAwdop zgTF;QN&GLOm5+BAE=R8#wtB!T9%=}_FaE6w4FRTqfFqqTIIM=mjeAiGi<2w|2V-&1 zkKFU%43g=DmjSPc$Z*$1eLB6p)hAgjQj8?l5jq4ivp8-Dcg3Vsl0pNOLXrse450ib z$jfYdiHJXeSNui&ef8<|?oywqHxPAaWjX@LR99nSSW}7A!fr}kh|F8a{s3Ab9gnF! z@QSlY=U1OB6MenV6k6OIr#2bt5G-jx^-xv6@YR?Y)>`6K50ylGZ{t}Luk&CVp3AXr zw>;&5bC_XF3mahff-0M#{!s`Z4ICnq{D}jHY^<9`ovLeHaYeX^%YPZQ4aL6|5Rhm%k?(3 za1lz5H zd}#Ne{Fjrq6x!QRc7UVMiqzoQBk)x1?0_beQ$Q6nvu9-eS+fOvNNUxMN@ z-e1UXcSzLlAc^QXM8BTXJE|g=yil|SToXe35Xu4L3ElyT$`7s*{T5($zT?|{%}U; zMT}=m7!8STFDBVc&Qv&!f&)qc&VTODIRMrFIzm|D^P{W7EUd&72ZBL7cHKxzU&Ewe^sw% zoiTOrs*Ohna2u}&c!bo+k@cR?Izs6WqFHE^fKuP0iMTO-DXl#Kb28`+p-oJ2))eV-?R{wi3>f7|~!MaK9)13Pnczh0$@M?lbO0!kE_RI{k z{+Pekgh`lYC1?Ts=T-BJlUSX5|fh2_PU_Ye7^{kQwCoD==}5S)knHNQo^HpxliW-lQB@B&t1%~62 zY`MvSnZzqi$W8~yPKedP4#*2JugbyojfPeON?&jf+Ab(ZbJAu*>jz~fh%L>W1LfC1 zPTnSXv*3IP2Ehxj&odlARf3&E-w9~jpj-h{I4A86w5w3^7z~ZjdO{hRNn=&7 z3hc{6f%C$t2g0NI4lbP8nLLYD8CpD)mY^B5HBdgtN$UWu6_n?IAKD2hw=9|*NTMmj z8JjA<$%70+>kqa<4Q)W1gY3nv+H^hZj2^_BPe$ddzK?#d*CxVzglUxC1V+9%U3~R6 z{EP6*k@W~sYDq$pMmo4nI$~7|+kDjn=CDHAPVr6@RmU9utpaMzE(h7x?Bbo2#y^oe z3Zly}tP_^sm-33QtaTMbtbc;uFs@-*Q{%6rdj2ba z*#d_trCCBP^*)}WRAwpTHEM04tMz;Svf?Buriz5vTY;l+MiW-W%wN_jW!06n5ItZV zAj!adJ4v%*BZ@a?lGE2ov^Z#Wb)iR;)VC28k-HJbNLkd8Rx&Y?&RC#v%HJfc@)J?q z&X4GeeF2bX_eDVEC!)B>2PD&>PRV7Wr0FP$y%tc_E(iJq8SNrUsx-sIJt=~JqIU-* zq1lb_5a1PO1icm1C)aP<0!sP@A@fV4k>#fT9DD+9CXrNiC-Pv{b!55f&7^Fq&|2yk z?4n?5qo7Fo_Nn`nr=KDY|!dn0i@; zm!)ZcMoMIcf+!Dnkf5vNT&wNmL_+K{L033Kja4KUc+*bK?b)+7SiD!BO3v+haY~lt z5;2R+2VfRb2MDX=+#WkQkr4Y?upiD%!m8!m9x0JDT-DR+hoVcdRy7M;plow4ZB&7u zAu?-$3zWT!$*$jDQ4?kDb*3=XTR>MiD3IBgMMCTzP$PzGG{Pze1v2|`!NAw3zJ{f# z{=da6#~P-x`LU3&KAnFN%jAf++3Q{S40Q@I)G0!~B>u&qTpf%+eFx#gKn*-{V9o?0 z;Op~(rqzJg0IY<2gUH`aZh(2*CO?5UL;v?h-m7`h5#E%`BA~jm9Aq0oYK&rh_zO?b zJOs|8+YnYO;1yq~;Y4|y&+#0g;Xo6Nr8=aimswt}K5-GFH+kftWX$9Km14JzHeC zDbgb-@}?=WCg2|g@pT{~YM&t_W4(y9dCRE{T;bGu8C}=7$~06t*<^|g3W{v*rLw&_ z;Qt@wVvt2-ii&iL zG|#LevDFR+&n$W8an>`dNbDvzTx;aohgsU>0C-HhxLX9ztRk`Yxh)c6zX58OXOM@Z z&a5J_!E-yHRV}v$)iYSk97MJ4dn1^GzC@ZiFei@z;vz)rWDZ`h56a z9(pCL&&IR>M3iWWDE8g|Vt?UTrk3s!vkBYBV(%j%9@M7ZIHT*X*0rdlXZNuMmx#(q zo5AeUjDX}nVwF=HLm3_tRwGDMTf3Z+QL)zqYv4%gs+>`6gXLs2C`)9R)PPS4Ak^Ng zoE@}_@S9=k4AcoA2j&SNGNH~gEUiMF%2A4jlQs(!tU!}PSY-JvGCp7HD$-a==94lC zX*=i$@dG0F+e8jj0;wJs(*~4lU>dX=MwxZ|=!iT*E>X_6xobgmc&lJ>isrY9GehrA zQ{*b*D2goxs4+wBIciD57vHkrKK_jfw*g)utKsGeDL8r%N(RbR4)h7TYV-VfAX2s? zCiLvYu{zYkFU<05IVXG_pw5D}7_@@=5BA(`f(4fYvxAC)Z#3K`@V0=-a4TT0 zlY{G<4eebhpMh=AIz#D~leTF-=^uu33EYL33}%f#h`vIHy&!21bKuC~DfKbXs)Ky@b=VN_OF=Dtxi+{9%IIEhy@ z9@Q)_yPAAmpuG#_6X0Yor!AD{bJCKa?S>M_x0ag>@Dkz7ws@JDm`NrIW@cgmZu#*j z4#wlP29FOcugpw*2(1K^ieNLe6Hva*NjsB4{a1oh58QzFI~=Xu(@pPtfLuJ3VW0$i zD@CEywPKYvhMT^ zLh2m$F6&qqz&Q@*&!?pl45_SmD+3AbCX*j4$N(`Dk*)|F29FVmXwNq(fI7kLQY_em zNE0PeOm<0q8*mesM(df^s`B0&T!t7Ko3rNc1RSyd2*$ukg|qJemTs3le^!wE{f@{_ z2&8RbVnJj-0;ir9(R>jLxjQA44cxxH2=5l02No~057dCS2Htx>HvRKI%cIyp6*rUC z4cb;Hdq78M@@tMQbJE5^+Y99cmqoHU=;sx8g;4PN3g3skADX}{u;w?p>wIL$_%5cHx_|HVr@_H4|< zw18VVT$&l)ciE@3w}eYCqHvIQZer+%(+AE3OWMxRjj3el&CK1%=6LPGBW*JSHeU1a zc=Ks5%{K&^Q09QVHCXLHIV7}zY!_!X#8h~~c^$NZcL~m&oN{ZR3FRo549(e*i*t~@ z7vG2`uQxL*?=W8C5w?W^8LtL-1bY47Za-xf@iuPaQUKh=EeVe_%PTYMx#c1WN+S>x z#|{jXcXHAyK@&FF53^P(i7C^Vk85LS57c~IXA0wamRqAq;^Ic)1^ZTyCo!WB9u#+lCy;JrbtIDzUB)S7mf@bnEW{}6LYH> ztSpi13`*4E#t=GFjQ8Jn#Wa?v7eEi9UnhD!P#KZ~b8f#S64Q|o-Z(G^?qST=4fhA! zvXrP4aER!Ch>l?um90$EbcrJ4)AWk!AbeV|7x7e1!L{@v`R6Oj2<=B_DtL@mTe#0Z zt)=-}G;XAqF| zz62LZvpq(2B~fBHg;U)uRT2^VeNeEDrip;+&?N%HtsWifl$`n`VWCC5$0!YT4&eT6-jR8m+Y^PX%)QaIt#%p<}6+94r1(bg=gi|;Yp*C!P#F40?= z&2XC!@sRCidHIjy^|j^YKZ!#z9C-4sP#a62cJ3Xj&EsL5omnba+XHctzQoK^jBF4>XXp5k{2lCcqqZLZx)3l)p(v@jR z>n2NLUn0Js zhQ8HKZds`(gT_)1zH6xbheGoYn26)KnGg5uQz|TJb+|2{Eck$L%JhTx3!L!h|BuwV zS-sX*79aT91F#5}GSD05a2czW>MgNSrZAPIw)p*tPp=P|wejnN)tBifJ5o}zAzG=y z5^XysZpYCvgQyIks#gwZ@xXej*3WToBo_i+o2I=-cn9!`2ZEZf2((35U*5(f4&zG< ze*;ycN=niVc(qb9CEBjinHMv~Y40pmJ`(?BJxq@XQogAttOf;4#eQ7&Zb`PL(gI)Wj>BNOK4A7lBH% znUU`kp8qxz6c178x|5YfLpGQR=kHB=;v(rCRG&`oDfP((gkv)&ChSXK3?3C=w*V?# z`Ee`hzGGg}N>$M%TD5Eie0AH(aCoobyHh zBRq=ZFkAfilNQX|A%XIeHpNKNAo~o85SzA2f|DqJ7iP<+k0eKbqsk^ks|@i zQlJ`14)k#&hw{3j?xZ`R%5#WyR9l1cn~~8S)vJoaj67@&isWrFGxrmwagx|h_#5CA zMQOtn_389ZQJ>-7Iecesa-SrO zXRyYD`!MQYZIYGYlNTt7^(9b+9o=3pQ2#zCs?Ov9e=odQ;RLxNr@vRe{8#GGLJX+HUd z!}Ium56+;GyDwYnKxJ7DB+G1=N-um2_XfOQLEa|R0OpoCxO4Q52G^z)x6`1{!_*aa@mPwQ`LK_ypvb#jlniJ z^1fZQTrN9Nl923$ItM}W$!mI>!0HL^!Yl`~IZ$Ph16BPK*RaLBP*p%6gQsjo?=@ZD z63#2;8~RX`{0;^&P5Hi@uD`-r?P)I+Adz}mE@CnKfmce5S4`@SUet3LPFGKR^>e5h zc~i>7@gkRJnbOH&WXfNwBqTqe$@g$lK48A~bf~8pdH1^tw%z(NwvOs&Pcx$B+FqL| zKeX!UDrq`0`l(#VuSR+XNUkLZ^}$MV(Y`-*p~wSP8^ibWlC%k$@Ghui^J?>WMHn>C zaB&z9&J*(5PQ%R<*u&8EAyk-WtZc&}J*4<_mFExBq0B z@;!5>XN#FYxIZo?z4JK#t%q6iCaiH<}f@5 z;hCby2TZc+hI%yKhlMi%6l}q^qRl%TeT-&@TqUE$asW)j z+R(OsZDnVj@$w;8u{dFblxO;YHOFS153-U+j?_Ho&CcTVe+~Cvr65Pja zo9%WbOPzfG3OTJoOP{C zRd7qg%^WW7SRJ6-akTF&ktJJ(bMheCh{iYe;aN_+^olGo@%#+W1l5!C=w`iZ{sY(_ zEjjEe;-y`R-v? z$uh!t4En*^WV7P*U~Us0786|Y*fH$^Q;?^--p5#R#8tTZr*vb_^SazJ zc4YMSAFRZ;%1D??YEQ3V0?qsl0(i5$w)z}F{ukJ8uNF&!V1kNTwne&uDhQ7cUaLiSyO72Lk%awpQ z*R0ONfe0Kzz-+wbSu(T@y@1Nl%Anrkw6sgbsoA&n<9Mi{ph`G7)I*&jk)i8n(n;W+ zF2a9?8$G`z-`6Ko*dZhPxxpy=GG2# z@XMR9)hK(?)y)+zeYlgu>=}#F(ry~lPP(dg{!O|>cZY05IWl^%i=^vIS-pFPtDHzK zde-42CMV-ZSveV=JtreFb7DL>=^B(qmbps0T$=HNrzjU^J^nM@C{=NjWJV zS*ZsCaNYtB$mygJ?t`J#SO0E(buofj} z8&%GXv@hu;`6VTHNN{LKcvh8pn1xCdew*k6I(c;scE zHd|(67LQJ6T_plS>E4v5(4ln~npzrtWasAx>}{~8J{%Zy8GcS4ih@h_HSE z@&hq{7}4ik<=VU_=k^J8c8R5AGae(yTE=G;^L ztu*sk8VMbZ_UGwALRkh@LaS@jA}yLU;E>}87IF&fQ*a*USeseMVkUe?$A%UhZN%~P zEMkf|#pynX>>}?6vvN{QIT|<4yUNrPYmpY5Ixx=JjMA30XpO#4CSshzY7Ww2Mi`C0 zb(M=s)=8zJQzi_tB!L}R8yge9b(PE~!Pmh(q9z!tzjf8fC&6PNmh)hZarIkQ;er|e zpdRm(*jz0cT(Dd+p83vI?3qgwWLo3K%ypyMcdjCp#5@};h0-L&Doo>GR-OK$*wR7T zL}ToCt}=Bh{Dg7`r<^|GHnaLy4EIXMZKN{68x{8+< z&Jb`LUhRoic3!h{-WXf2HpbYCu2T7gw-Q9Nk)2??e$iE~;DO3yVyRPNFN5A#)*4@5 zbXCbG!4hp5kchfsTzAN;of10*9K}+>Xno1mG@k@_0F4Wm=Z%a@j1Cg~6~q%Y z)!28*Rk+2swekN@^(3*BYDaIv`u-#<+aFrRlOA~>7WNLOu-bw3Fn=>KSaXIc9n7cZ zkHa?9SaID|uEs^K(mfTFmw0>xPUCgN_NrieO~&?~asN7lrqHxbj6m!amoVbKcNGXd zLewLp{r9eNaaHBguAb5qQU}lsqBq^jNj+QBjjeSjW5xHb%C&{}3h=`{Xmgud+yr@O z%hOcJ(s}*;p-wga`Njy(LGU}vsc$x?PO`T;FjO3-cHuGzo2d3g zsRWX(1k_^prPU~>s?IJ>8$djcbEtZ=6Q$bqH3ZvR#*QCckHOHjh|*EFx#dU#MZT&@zO2Mradg|JqtsHz6D&xZvNyEFFUbZ5zrH25K6o){H=WVjGRPw)_9BcmJEu)+kp zbvGvd$ha-0L!btC!Im3u|H#=fg5W;mJkI6B@(&n+^)e%g+1h)oO7fq>_P{9i6I7v{ z?7>J4wfanpddQ~c!*gep8>ao(&at$ny;3czA7(v$n@&?EeB)Ti;|BoY}33 z%p(_6*Aj((Ad*X!Beu$gpo-I92wOK`UN2w5XUQE`Og?dW0@~qL(uljmSd~cdzR~^; zolq>jdouQ8^|3-V%l*I>bz$q&(^z@ORim8n-UmD29<#as+T2mt)*27)xT@w8T1YR3 zeW;8Dcj>5~67?TYh0GOZ58ZTBc~ZcWCrlik2eAZ4zhdPjPnb1(AAY20!HX|{A*fw} z63mw=NUim+Lan*NgeijOKTjDW^J_PE=e8?h$zEtBMn+46qf)eY367)emOO>3lb?2=uuizQgw?}6LiQtXzgNIeuO zM~R+SR8f2#%ty7D5q*#TGnn8aqwPJ`4_kXf>>pN-HWt!la1`R$*Q}!Vx03g7#&+IV zevdV=(42jllm=_sn^4Uw=7g}|{V-Y9hA&2Voa#Knj05qozq8rnEOx?4nGQ{Aa8>)C zjIk-ILBz2KNWwXMu9=k4;WzF%OKb{QkEL$V!uFFTE18(dMvrHT(h=tC;418)HhW4| zcDHEQGZb5xdqC6>7PvNhMpky9?i}c|6&0Qli@&=HHxf&G@DS^>w)J&ei{3S>30f<{gp~nm zyvQYzVj3U)?uzaZR~7Rbb;^kO3&0+*_P#B)CMc$^Rz|ZF_iRvXVOH$VJOVq{e94#* z{fDdMi`R%RMSR-b;&3;GbdmZK8N!hGEM9w#{W8(QJ zOjrpZaws=U&4gC|;i}wF;ueB-#4ooMcG+boy<2~wuus*aFuw=sup^DI`>wby?-0BM z%o*o^qB%0grWKL%@nD!-Eb};o%J@uf19`57)!4)f3GjGf0Mm#hn?bqNcInly)y9nb zu9}6W%8Yk4IBLfDAHeQ9!1(;Wt4dMvIu7pPS#*Kr`75682dWu2xvcIn zhvr&sTz=pxT(lqNH!+(ft&qzsX^*s_M!r8?jYHpj3A54VPnXA0va>P%PgmDw^Q0oD zbBkTw7oU>LY(uAiC-h#>)4nyFf4O4Ii0c(_8uz@5tZc2Y z-G4JW{pE_PER>hVGN*8Lc-^M0vuOU`un)wZmhYi4|1Z9*ASCW9ru`&qzfHMhG^59* z{U@2;6AX?C6i?($S>Pz_N%9QB=AfyozXH)a!6dbp_iiq8${y+;8jP2lsys##ESTK? z@M~nC1(-By)JvLYZ%~RWXe~_M-a}h_RvVwgxuhh^y-a(Q<}{q`b@-V2%8$7ySP!K! z<_;D`4otbl)S0g|OQd4(s)DO&CSrSaN$^}v*Q{Oe*z^Y2ie5_hLj|Zwf7I>0YTKdqE>Jj z-=_dxaaQfnA&KiftgXQ;70;)dbz$|PBEDrl{uryDcw>0}+MtCm&e7_(pqW3_c9m*b@ zoBbcks<>iM#Z|uP?9hr|u}>L4aUFnljOD6^7}YQGvR^5bQD6tO=};Etq+RMC;8oRd z7J+;4HpAIv@zgk@A#Fe9Xx39B(409q4FE)j*Ovct4s4{{GURLC?2^F8?>K)c{s7dN|z>6qd()+#cv$& zlUf~!&jFQMu+Q^*G}7lILd2lH&Z4^e$DA(Ww)(RG^A)~HnA0p@IUuK;AiLz;XmNwP zN|4_Nx8W|wywT#yfhv61SY|=rsP}pE2)x4}I*}T{{JX`K1K}o1o+{k=i=ZRG>!}A0 zoJjDo1m#DK)}dh*Q_AWqeUQ$M++UzKlEt`L8w;`(Q}g8|`G-*Q9%jmc)*MQIi)Q6g zrCk2J#H;e9-=zB{p2O9VL|g_?!>JtT;|2~Kti=vr!ZC+KIDCUco)F(^<*&gH)Z7pv zCDHQWC<*T*{1xzuBBk|CQlC!mboI%XNiH+k2s;G?w6Sc1VJWiWsUjt8yTvo>^&RG* z!Y>I)L)Lc)Prk(vc1_x*%T88d$Xo*PDAmC_+EU8iK+szThgNPteJ?GFU5?sOGD7iRBfPMIee9sXUaH7A-ic z+TC6Zs#B@4Z_-6ZA>2L#U2z?}l5b>;wS48k?Dj9qAbamW`W?it!7RwHVSdBn%7NMK zOKN;yxV094N)WLugke{l^y1(hPP|iC3Mpn#Ok{ zL&=RJVim7d2daW)p(;2{ZkMT;JjZvR;(pAhcLZ1#s;PNVl?I7#q<+S>!IZ4@lRCub7u91qIb(U2ND)+%kl+Iu+ z`gTw$-fCFYzZn+ABAs+8>|cR3DsByxczaYVWef^+7bzy14UaKrquU72$(HT|HM)<= zKDvj&tOK%)?$YVo4#1h{Ss-#8Um!14>h{16m^}y)9aABO}aRA~0be zU--v<^#s!|oC(;!w>ZJ`UrvV6TKROR7&saH&*5+m2ddVumH%Jx^dDrNms5kmq5hwt zy$UUDCSA4soM8Njv~GErm&_pFr=kMQ(b`vfH$58u9T3ZUQD4Ist$`|*9GEA}FlI5| zcg&P`;WagX_)4Q;4o@S1R*&WtLAXvg+`sy?+9~ZhsRg|2D6EuQCWaN3Xb zs`4#@)S;Sx35G+cryZz_p|@?&!b)!CcJButb6*bgJ+PGwTtUM;RU;ftw^9FOS4;K7 z62?E^HZ12_iMbIogI9F+@Grr(SYCK*6 zL-87DOGh{g1k}_*20FqL#v-sB)-;=y%TXXm@{RwT;U7ZbulQCFq&Fe$vNDim98wtw z&RUx9gL7QF;o$>O6Ii<9aWCim-Uk=ZNpdGxW_LIbj3ISI}rvo{95O8_LfmbA?s|`}06mRtz_HAM9Jjdh&b0>!4>w|f<(zklr6ji6;0jsMC zQM%eMUpuvGXL+`Uu+`N}E?sRDhNY-mUClD^YdcI=zGuJTi95_MoM)0s;kRkgSo?Ga z%z93DihIw-k3Ha0Q%4 zqy_>VEs>7K^t|rqVpp++e9Qdg=Xwj<49h;l*q4`y;L&!@I_wdk9h^1TKd?B~fU2eT z{g|iBpfm^R(7u5}l`;*4I9{<%)Nw2-TR=Doc0jrZsq)6`C#t!^D&HhHD+FZFVO3{^ z^P26{)G2=I{WNMVe+Fey?fxAj3d-%VPW!)=2LzRa!d5USJkSVVDE5jg4kM`Yt#`2m6s3WFn>`jiVDJp^yqrqw)?4A3m+3rRLtjhzVs22%p3k zexaD1ptz%>)d{wS@$w7^+d(r(zd_2sIhZ3kkl9>$Rrp0O5FkP=R)57!%^behNkyFJ zTx9A(AP&kROCZbSOr0GHF_V?HX7IIw($-95heE_np5;4+Tsm@TO&hWjIHI1MVvM`4b`Lq`@|vnS-fJo|5{w%Z#ez-~(g|ZOLA#(vL~wzEcdcI9h?jFdWSB#<2m@t=MNQqbpf|FDz+d*$=uR&2YUA{oDeVBKB%@7mD_h3G(wXnA35c6GTWpV>bp(|XTLi-%b z1&byJ<`mR~X~kFIBc?idoq#r(2i7p>dN){M_M#~96?ylpqY#ElK%D_{kZu1_f1j=> zzMawXf_U`W5$*=O;;V|@j!ITjJU0jTuV1$)*n@K41u3DE#pkMKdlCxBPnM9ufrd+h08T@9|nxPd`?FIZSP zkPc23lC&xlUU^s6Fl>l;$bzruN0fgJZs$PM%e;UEc0nb89etb)}iLaxVukH$b#0c!+RGsO5oI z{8a6BM6DUt7eS3Q-nfgkFHi%T9Av58kR!p`eN&bJl~|<>#cK%|f#*cXODxaeIwTv~y5g?+5c`t#Zthtx0g_ z!k*g9v}9BYa6Oedw_cvHT8U)z_PZGnA{9S>kC;`S!fdw2go6zz3uP%-oon39bkZ zg_z0OW4Rf$$8vF#v3wzUc^18#W4Rj2gX=RYPUWB%i&IIx(G6zlbgixSDl$L+A30EC zxfottsexJ{O35nctnA}J?Hd-dt`_E4X!drGhh7xuazm{i)6?HMF2I(TR z>z}*WP{i#aIEw2)tO+2Xe61A`d%Ans$%d19i&=OogEE{&AS;b7bDx|{hB6<-L)!x7 zxJApJld8HHGIKH*S8+QAlBQDr+n9@P4<->@i0~4}dJJ509=#23FG%}7opHXPp3Ybn z{7puAQSNa}_rZE{Q4^IemXb9Unpcf^Ld^XMN_Lm37LO<3Y5=$KxR{-@NahlBBFho& zHVp!zrm+r!wC`zc(`%wG21+=Y@jRH%)Zo-B>%kuT+2?P-FzEOS-XB2qOF7U3^hVj} ze@GzMG5_UI3!4Jpyi%CSQPLqIB`cqUeq^Wk$J|{7UXhf3c~N~jy|>gS{qo2SZgRu^ z2Q0#)6YRb~wWM4r$qx#)s79?t(PUU1#TUZ8UpabbZEDaujSA&xZ! zw}H53t=U@Oq*G;5OR-3a*TO_3={5d|as}X=&J_;fyTEee7qUf3O7O1w`MY1YrglsI#IN%jG8Tx!{Kj3?cSi6DoFrF1Hpo%XCQvBqB0a;=V zKK8!!H9Fm1b-;a~7b&RkFeBA-_`d))qwyMUZ&(`kg?I_)D&oTWoSpBqV0p&$3vw*4_IWX%+Rn2NCkyOo6bwJfL zrl6_&8Q{hL126}P5Ad?iA$#iY#A-?iLw{nM57G%p|61vo>m6PSWt~J~k(20XmXj!R zCN6TG206}_mWV9@;WIf4cIjG0pfYYPptQtSSUfoD5#JlAT9N~64(QKu@KhVJi)&{s z?6fR4)EuDBHBpol-UrP{C7tjx;1x+}j^^sq>FuaKIoFb(P*B)cfFF+!Fzg2^Uurof z6`$&sSrN)lU@NqnySN2o7XOKEPm8}Y9Sh?>a2wWt2o?V%C>ES&gI*PNF;Hn*SQ68& z&vOnsZd2|s7tLZ93u{};HCR7XV&K#fZ~6emar{wi;d@#)~<#>3U)WZqKyru zQ=#TX{TS-3Hp%wJG8-hJmx0!br}Z@7=J&YlhjJXOhqeRCb&Hn$!fv!&*s*uwOqoV6 ztTI|?vKCPL2Z<|W5PU$CwkPW#s3qMZPSn2uS4p8L_Oie$Wa(y!MUUWGgQ$j8~nd?L-6EI8zS#Xk)43Sc#+IhaUePG)jgi{6TvR>@YAV1;L#j_Du8NmG;TyI+La-e4Bu<H2j2Xc1kjAHRZ7Xvhd(e%{;k zbv14+b}(bc5ToAexEGB@Jj$a#;(x=^9}ujr>kIV)BM3&DVhi{9EA4f$V!`E<6i!Q(Ee*EWuL+*QM0dJ#%^uD-@&kGs7-$Z!pfELpQtL-G)!Uyycp zI(IU-<_%lGdPYxjG~mR{H>MyNnBb7iIXqf^J#2w7XlSHIe{AfGahKQU8&_l8l?%5U z&t4f6eKtP!8@-J(<=iD45eY`qa_%Tkmp&x_oby{)mxU#K^^adEN*f@yjv=NX?!sH5>+d3UpFd3`W) z>%->j8gr1QuLxn64@CH+4kJhKUn{C7&xMswpKG+M;2y4zFt%23chH9!k1HT_(tV@82W?lR$jc7#~P@xW+Q$z4p}XY{H>^Gq<(D!Ci$JB{6y-0|W6 zdl^bYM_1!8*0yJ&d*&O|nGR5hAZc9(J#|HBwinKqbiyjs~^EIiLM7+-X( zG&WbJVx~Nx6HIiBGaf-HB0s{euLx(90cMt{jpat8Du~A!{pF*kkygbW+ot7@R9rND zvkD02ewVaIF+GLT#IezlFblC3SUU^DY%#-Rywe88W=Dw^jJrrWo*8H4uj+0Xezqvl z+a3FiZdKi};e9F-+U@wxm?EKnWWQ*iqrCBcRd>2R#Hd-#?bX{EYpS`+IHJ;xBh}o! z^+QH_z1S~Wlr~KW`!F8PDp23(SA(;t_#g1*b}(iV zaD-Jfw$yNUr(*OtcM(2{#?fWk8O`F{9dk*`SG~U4SQzL2$Cc5Zhi1pFBzt=P2(HN^ zmeh0?F}By_ckHVfH)|sN2c5gx+DArYEqAG^a;{eU_#aNA^=>lr0WNz%#BvEmO6`zk zMLH2#(CAys-I8;7MJ@M`@P>?%)dtaGxodMi_Az2>yUTI5cdqTOqW^8A)}~ASZ7e4; zQ1bQQY2MVuL$e@ar>N5dYl+4}{S?j8lW|5LgmHLQ!V64t)!x!C4dF6G+GYyISy>6K zMPaipFSb>Lw=uqJ6C&RwA)a2=yBMwNxXXoi5%w{Cqv5SX_VyVI>bMUVF4>83KlTfl zWu4EwpljSL(ws3yVqN!MeloObJ$HLYsL$}%b63>=G~TYqI9J&?QqNsVjdLMyA2jYt zpju&8lI!Xku6P1c#UY#T8+GH|b3Iqb&=yS!(ZxVSfud5eMfuMe^@wtX6w$rLt$24Y z#{Q=D-4*z8f#LPtWjL*0sqgL-zP=R{r{j`wxxTxG?lU49xJ!kP=1dIf>6mNOY2c17 zUOJN78d9TQ7v|Y;5K%)Cq1ZQ#qy{LyVJvOnZlI4dzHUI{lwH!0ma1TsmyZ;qqkQ~q zjFXSH#?prFKAxI?GP8fpytG{YAZp6?dr+vsJ$JfTd zMx3=Jo-_W}$URWsY+P^TuBo>&3N?1Oi!8uc?<^M^A z8oNDZwoz7nc`^2HK*WubQd9T%ul~^w?;9jzfmM=AN4 zWlYvm_~hc;wE?CIzRI5RNxZJTEmgG`+j6n%rKGBg=+pn9)hA_?;Vyx6w2!du&a{`( z8&N0DsfYVv`;vHhfnP9(au#bwQd4(DN2xcBH=4SO<|@*G%)C*>_@pVP#w*5mP2Fva zOkPFd-YCJAJFv5L(ui;7u2lSHd3NX}-&Zl-5`vYlHO9-$RGHsy=B|@VTE_Y19piE{ zcd=YD9y`BoVLWN(ZmthEnm1=MdB^D2+}$ri)%KH4C{o+`DjG+cyUUfF_n3=EXNW$H zBIi?#P(9tIGvUebWLnE!RArA>N^1o-09Tp7~=54$zlKlB<~pVs`44N{gvre!V?6NMb(G z^^^tY

OdOOn5_1#1rv!jE*SX{H9&bLZXsddDwYp)vlr$!bHv|~)vE1#|;|M$q6 zs`7|aQU{A~%khxEuS6tygUk#s5O|pK6(vbaM0mk4g%tS{fYvR4vUV zVljy5y@f=x)Y3X4KeG+g5|uOnj#Wu3H)gA(0!$Dg`b8YRx1H=t`h%zv8ig=Z$yrOr zTdmwBOP?qybyIAH{NFiG>fmgw)Jk!-;`AyfjX~2QO9t9A8|%-}d#YUuXHr$Y#?AE= zJ<{$qw~woEzW?uD^A?%P)@x1>@s;HCEi|*%#|>eY)rtizk!!F=Zsea;A#IHLt+{V) z`dQth1{rM(Ou4KDmpq!?Lr!!}t6cXpDe<7%6tBu88QiNB>n1gk)>r=bVD`}~?^r7F z{p(0fzG@N^v0jc_&yoMzmUF4CSAJt1hJyO~_jRp8<-_bd56K|n5V@!=_kBkYiuCc1 zRrgs`D^z~2AD5#W;M}%21HXskq=n(g&kk0oJn3bg2^O8ao}f+#F2ExbOr2uy3gqNdRMR4lZPZoUoT6V5g*s&h|Q2Z3|ducme$Mh9jxnIN!6^!cq4tN zKw<1P_b62dNS{hr+ftAHCwvH~6HOuRNOENDJ zNiubR=t^E|m5^k9s>si&UL_p;o3W{#J5CQ6m)f~U>35BG?U~Oi8>#KxX@nlNcQ?{k z8}*)b*JWN#eAeBQsr$2M-PJ0#r18}Sh$AwuDC!d{F!F*3&)z$3yJGc)z@^v>dI=UN$Z!Qbv|55fHU{Vy_`}Wjq z&yt;C2A17rHoz`vCFdL@BS|t#20`%%TUiHKj{-4rv@fF^o>?Nd)7Cg9cIj?E~HI9D8g6B5x$D(GGG3euHCfDw3aw{ zl8L_2>^2W{L~!087vQoNN)GubJ)y$q($5 znqaQZkB#MCqtyB4YI3Yw1+FHVt7);V$(K=`*j*LjRHN+b*gJAHO|H@k=Be24tPM*| zH}^j`jE@Fplt7oTRopCO_#P%_}u#FtqD$O{Sd} zEmqGYN1sQ39G6^rUbJ$>cI6mmt+z00n0C{0BJ+~F&Wq+&e7XtZjwTadhthKXlRS1_ zv|W`4X^heXjCfvpM|J#M#&GwSlC1}@3dDX7h<0JkylFtRd5-u3O80r24yeXAz(&Xr z)hF=9HYz19fzo{rCmRlo=Bd`n{sW_xv&ONsEj>sbCd!u_;b--D&LF#U2QpHg zP3|8U?NF-I#jq~uovb>D_00V&&Pq>Tl59JO#cI9e<%3xF)Jv|Gf1Q&121UoJeaY&B zqcf|2c^$+%Cyt_SDxx-r!|3NHjrq%Eh4{$eXfO48@~^?sIU`3gKbOhQZE8B!k2GnS zs{Qqq6Z_~8TljG?Ho=0@v0-b#az<#Zd?zJ84pt^M4s$4lPE)O#Q1k_o#5wx6!OFz) zlKY258ET z#6Z!oFDOCL_@N|TGz+_$R@C(pv8e6l;wvh89b1}SboXqUyyye^N9m%sIhQHAu_n&W zqT>waaz$l!1_I@ac6McTRdoGoX2GHwpHdk`%e6HQ%nJl67G<_kfoReD!!V#lJNGbA z6kU*9cTc2B=Vi6IM=09Q(8?|vcqy*yqO*qbOm5LxGpW;}fy)`SMcwFec}4Q`?D<6* zTLOVw%SgNH|3s8^GVhDWOh(<>);43EZ2NylkE?8W4( z!=nwgN2&R+bu0wbbNXro3|xr6-O(p z-;*~MN2lYm_^CLWpYy^3mTs6awVdWRU7(U`FaoQ-r1GLV`si$8>*- zJu`~%k@irVT24#@#JU9#$CJ_*1Nn8-zwq0-zD3PiB?G*hkjDD{0>du;k^zzz@b||i&&LGT$v-R7-uT- zKZ0a&zK{m)S;h~g3#mTR);{UDA<5iVW6;w_d6Z5_1CgFDB%PAZZ=`$ztyrQvE{8ho z;818+LRsk3z9Sfk8rEx~aCllA)>_2dO0rN>Z#~%>d6ZS3+6(yF8HA>T0%BjAv}=Ix zoOJo=>w(TuNa-Su>tM(+VL6AKZDgDu#ugJ}f>PYLlPQAN2}XDPj-@DQaBC-Q!6GW9 zpwYHA$$eMzmgr3vF!Y;Bt6(zIa-L_cQP50E6D(j=5ynOpv~X7yRg{>US-f*ti5r(n{eC(XJv zsCq&hJhUViZPI!L)9W$Q2Gvy1i#-OTt;sTynyaoywlG!RSmf8MyO7ws(B+f?bS#3gL4h>9XUm9LF!Z+&LhZpH`*t>QA6D9bDLqAH!My z(rf&}mvE|q*AtFu2VLMQYDEIyN5Q>AxKY=dy1^K5h9+1-+W!1_t7MmP~hJbB5CR~P5ldZ0~ z3N@8fllkZv0A;kN!!WYcLKzOV)Q42M)S|iqMnYJoakAB^y{M?GT6_$62f%s(Q>r~% zoyVM0kW>S@^9rom1^jYJiYa-P>Pov5Jfo&xZj(9!?OUOmF`!GHr8cZ2y|DT5y-s48@(+Bi)4e4A4PnfxSYL z#w8N#0?7qUp%-!kdhMt35UX1`trUE^&ZRVuOByJ@vf5fmJ2*YLwCc&JkWDSCM6$ zy$P=SI(LG55XNqwC7JgoxVEi6k$Fje@#C0K)@Vh#QuRr4;!SW*RFYZe4|r+4B+=wW z)0srF2p8$=l5xq2v|YiZ$C+xmaU*IMX#Go4y(umKYGF(Qo$fLGDQzyY`KfX{rLE{y zhL?T}VCJ+(x!CJ5BO9eo+&OI+w?I-XbpXO4A?fnEbK1{jRC=8{1?1ovOQ{aaSzmlN zZ$1kr4qjV0rtWpEGFv6r%!rmrXf2&U`<$W0ozGU)lVyA3 zPvS6T_2;vZ_gcc)fGs>iM3jf%Z?T=vK7o5&w3$9{Gh`RhZ`^EIY4o44 z94Rbs5gjQcO+eP%ZmC06j;8BL6=ez`S-tixZdkMmXA6Iu)YhSP* znT)iMKF6I^u+oh{f^lc7D@YgDOvq_bAkytRERuT1Ww!0#S9*UDo0jG0?Z8Q}?@v-a zJ^}nBNBH}nxPe%xUE*n^GdMiwt%Breat>g3j^ zB-frX8i{{G_LTetO34`AcH0;qxG~(+B-)HfJg|*;Ke_P?n4zR@BaKvuDlE?tZp4Wf z?o~E&r7}H{-4CUI)kT)h+Ku39YAo8DtTLr-9^_4Fn+N^NlqL!M%ar!TK77?f$io(R zk4W;Fauvzt>`iGksBztP>U9_ge3l5kDJ{{QE)-PX0f){*Q5~&FC}zzjIq{~nFCP$Y zRe05fs}lv3g;>F;T&g^%S_1U+K%+w^=+19hrw5^eKAZ}k}d z1a~*Gjj3`w!R%*z5nQ7sRIHk_?UOkcFhxjp8}llz>;&^cA8e528;|WQHqFUoGLSO+^Y-^ zoyj_|8hT8Bj+@E=(}Z4tLk7w{o2e14#+&0_*h*^Cpj_eUFbR2c+{*2?ac+mPN?4|G zygBYqF$~)Qp7d4dYWL>2h4=HIym|}xNJ+{WbKE}cw8T_@Kr77%wGFMa>^X`KM-h`!Sd#~Q(_UifXa{2gfk2DXtHIub6h{E=}Ev>YswIBj+=ZR!0iav7(hm}?y$^p zVnhPb3#b%sHxAGw_P$OB&FzMaRC~K2Y;HGR(svt2(e{;SJSiQOrZo3_-#p5V1Y+eN zjwCpRe-=VSn$KkoJR8=-!m5L`nNQM1a&I@}eQT|%FN85d(n*=YuVl!%cNiggbkvX|1&uou$VvLkI@m(2q9fJ6!>!u$h)tqR4;$xh-ty?`tHf87e(B*72 zwQixW%E#`x39OB|iUgvM(ujTA8NwNUR+>FnxZB(gw5S9u_CuK%QZDG2j zqt8NAZHBSSV)f=!om4 zj60@TKR`>!DIl?Q6FgcSN!)2FlHUkM?;#o1G53!0)-fL>_g>9D;y-S8Nv{578S~^E zc6HFC?nD1hj_`wW6?v4iw~TrB7IU)`RByoe$Y-^H!%;pV_A6s}IxTgDtkMNqW{IM)M>4xOO8j5$8cUB*m=cG0ksTyGiE^n_?z z0D7Cp@Ru=bk!?^-Y#Jd7DhW$555<0yGNk&np^cJ{vsdGBY)M$yk*Sm^j>uc;A;;w1#w-^z1oW5;to2>ky46? z9g=1lbI)@&lV`(f>@odi%&88R&>L{rNLj|18qsRJWz3tI*Z%Eo1K7D9f04fRC1>n38+0=keVCN=)?^ zw6gRNI|y`^y=6?FTDG?o!f1E~%Ui|_z5qSlKnDop!2-_8l+3$TKRJ+$PX?H)DWkk) z%q{FxspSaQ89<`y4r{Fs_M{bkEu_zJXE&^LBamR+dDR!pAIgpGaoQphE$q!y6-%C` zW$Q~RWm;+Y9ajzC&{s~ZAL4S+M&`0~?6u^z*G4NR&L&!8jY4=OVquwVTb68WSG-MqKi{%$g|X6S+5R@@Y;4Ny3H9-XHpz#fJR`KR zejQ{fO){%>lBjYLLJRqnEPCyWMo)N*71f#9% z>4imO`i6awX6V>|agazk{$*uxACFavD%E5>AClq-x73}kJ!fxaQ6A4Gwx(D3nXugB?yP6jvrg;9sq7E|o#Uf8`7Z#n6^)+&{ zuo%O|RF4?xC-vhlEN)w6&B+ZAZV{3$yt}X%mZJjFHPr^7?H+7qCA+6xb`9U&5Y9{B z?+C}VgDx>khD=OJ!M%5t;hha(eGTK3)|4E#fM=+5)QacRB{))}x(kWg`-s&Tu$4#f z781KJ0_%%>a4Kee{u{>9r>7vl%)?B+-F3uTY39T&psPzVj8S&|A+zS#^6iB6l*jZJ z5;yN>+Lxle2YAFIxTf8@{J-c7;}obf(JLnvk`SA0ADkKTp>2#@C^dv;8pB&itXoTw z+5mL-b?9pL781o3NM#i0jFJpfa&H|m>~WjYO$m6*g=;#!wnN@RV$wouiywrs`wW)1 zkVyVYn)16v9}B}YzSiTdBZ{Vy?;k+rXNxT3F*Cf9Tc3}dCEovqbTyR=UgUFhSG6Vx zOY$6*9Mb2w(*;(#5lArZ4E6;B7_T8`k_aSNv*QR{yV2qD3p{3ZF+wWMTV0I&XvM;4 z<-xCUKOG(Ykw(e~YM#E6-|mc#yOvc_Yz$o~I>GEga^KqoTXw#=a$@V-a5YhAa`W0G z26K|#t&EjTCZ{ZnX6KB)4e1o4Iy3fIKVnQZSMgY_l?yTL=LXPMUIcqrAd}+O*{_u1e^N>HUf2mGER{4ggK`TQ>)W@GVSK*d_7G=~8LEmg-AJTui?iAI$RaJC29 zl|^e+Yd(~g3p(;s=`CReBSFpX4RelWC->bNEtszBSo%G$y~L~Y^@LWRpVIU+OR7E5T?6*6SKLfr3> z1D4ly9gC~C|I`^Nt9d^sApI#sU2<|eEr!CL0}ZL1CS}u2&gQVSlUgwg=xS|x_mJVh z`%9WFzpFDy*rsB1K6|OI*Fo(2=%t!iK@+D7DWO?B555(jvD3Ela|nx$il4qH>lu~` zMeRjibm9FNsG?H4=&D7#kn9Z<$=8+VsiG?xQ1gOCYo6qvQ*_6J{3{)(xq;h~L2V0u zp2l$8xr%R!)Ov$@6@zvOcWiBIn=2=lj34At&N}9@w0>!C~?)=y}SHiTnVui7;$v24}9$1X9iJ>%%olO3=INBo7 zqa#B523nU`yfjzVq1Pk!@I_p;F%f#lekkOst-0zSsQDaz!9i_1d-|@gH)e@Xq!!Dv*)W2pKM1&V9RcigeUxQHr<^lIG)Q@c3Cq?HBuSw@aDw zB_O(UzUK}uqi#(&!GdAIoJ2MB)vK92xdeCDY!-7F4JDmm!TG#NAWD>a816G1VM#Q8nl|#sjSxeI7qa9)ppHCcY2pGoLtqjwX)06Jo!9gEg_DCd%*Dl;^OuV~JO= z@s=_0lixKlD#V1U1FM_dCdM9jYDE9 zbvY|(&Q;*odJ5rO%fd8cSeZ&%Pi4(n1HM%_3DbH*OhGiWxUo1jf{_f(dsmWw*MYUj=dW5V5?$NTwzh%wpNsz-P|?0mZEq zpCSrmjJ+U(Z~P*Fou%3RArAG(@GcpH#_`V#V0I%Oyll<80!~7BrjA;x4GZC&KlVL# zp=elmRW)xNoclG=)PX2Lt7cF7ts&1R{ZF&wn*BQL1D;m1LTIfj_a>{8$Dme*6RLAG z`8SA)CArs36YGz={vrDmRu$|bLr(JHHJX4f-FfjTu?Gh<}rT@Fxm&6`k*vY32= zMJuPslOuQBk5vq$OM{1;>o_-WN^3UEJV(O)>BRk<%dYZ{x`i8!08pvms zM(n5-^-0WKZRI>Q4Siiql+tPE-A)el?fll^sFI)N;4+eyv*#>meavezmC|x{uw#|k z*IZUktCiE86?JAmqa`yf=U04fnZ*@ICs+^<=A4$x5z+r8*C(SH6W*%8m3)N(5O>{S zY)IzlDwXR^;lZN%BVSY@GS{cnw#4fd{`xuJ64VXD;?rb_l1Hq)H z8q9oBDsxgRd|zBlFp$X0o==BYQxS)8A|$3=7s7lkRu)%i7z0}?QbUMmN7;B2wLVcH@?S6 zSY8eF4&6I*)@RKB5>ZuA8+s#H{wzwQc~ui4w-yE305RGJrIWk6{_H|U^+P_wS1x=8 z>nPSPnd{3|Br`FM|IrthiF5PEqeoHhrxpx~KK_h1}C zFp{oIdmPefpV)@-c*s1};$7R9e}kZ|loS#)z3l2Q zZjOdO7aip)1E9KqreYtXmT&?+L7QX-)#IoTiE0a@v&UkOVC~mvD8>5{fWrasXS*uI z#-SqK78T`HoE2wlNj3o^aih>oK`o=A8viIRKw+!{+~Vm$#qZ4QnN`$p1zXyFL#xfPu+*I)H64sqe$gWurK-7 zfKgXiZZ_|tD`YlQpUlIvgQZd30Q>laY*lY48k(t^Kjcg%-2AVGO!)1xC4AP^biPwuyEE`0ZF1Y?-ot7}1`bc| zsiBSdxJyAoNd)x(r`;T3S<@(M@>{7btKrm|Fiz(xsG09W_|juWzW>QqRiKx;j#_G0 z=LjXH3~8FJ$cfPzkxz)=K>CW=?%np&7R=+0l}`&~2inh+k37jOYa6;+`&qKw4;FNc zeVp93Hrld&soN0pO$esx0zM$|^!K<{E;E%VrlsWeYY_{Vy^{66KnNTrqO|S{==Us*k6@hva!uvv6BqS`)#EI0# z{9I|yuaW<$vE;b*(fHZXxlBtOhHLymx$04DX8YvPbIDB;z@9=_ki3@&i459BjYcqA z3w1Vp_l_QVRn)n^kl?mhS3dA11z!YpxzJ69s;IShq5q-n>n;8O*rTcVE38V|@BIF_ z#a{<|*WfalQsOovNMLvDd`tKS@TXJ--K50N$$~_@IjREDDsh-rvlx)Mx<`L_MFFzz!Bf#!LSdiSjAzH0?B;g7AniF5xQl(dr+p_8q z7wS?EFs4v9DTYUkOUPLUnl8bbPj=_?gB^13xenb-5BkvE=@kqRnv{og9Wo=vbgWiRxD+(;ELEXrmqg|%+=Mg1I@W= zFIQ>u{h8y*2AkOHzw&ZBW{zHKhp2u0yhHxsv&sMOB9=jA2X%*h`Gq|_%Bqsrzde24 zA^&GAqG}utKo1(Sz zT7Ai4rso6jqRmR{2gGGYv-_VL7yQfq=a)B0wfvtS5~%F3_`aFE=Uk72ks}#EaLea!fX0wz zr^@XH=-J3x8oAj3?a9Spj~Hnp736M!&ZaX@it9+LwBN!}jP3*$epEd@)$2Mzk95$*NiF$j%Wc-+DSsLf(ex0VV?7 zIHhkyha9GHybaO!caY&40F4ApsdjHebiznhpsG9Yu#yy0a&Jep>vy&vTnuflP|YCF zS@t$W3vw)LC5(+{u)Gb?1%t`eZqOHn5iiiA$(G$dARfZEtUd<*K~rwlPgeC}8+1(# z;>s^5RN}BD(jAs<(3SIOg*ta(cbv?sW5A0lVrA2cRt=I(guJ)0&_z>b@CCV|kCIn~ zDi)+=w%nNfXlt}f;(glBKH;K+<_Q-W*7gY(QSCk9as<`KCHbGEztZmWU&m)RKt2)u zBw`grd=^LeH^C#))GldY(-Y`Z9ODAP4MM%b{ z`-Dryhhbd|<9eSZ`Hqw`Ec1X%Rq41Z5pOKXLQOrE8HpMruVZ&tJpuZ{84O#mC7y8k z1WvkCN!*cO$T49#hn$V%JH#)~LNP%pZrrITf){mAj6Dy+aE?2*Mcl?nB+P?xA~B$> z=Hqs1efVMt4-rtrHBUdr`(xR4RwduRpHH*NRdxfl8h8Uoc-2A*Op9rGbM+{)|9JAq zM^vDHa%t_bn~lC%Qtm3-Vgdz|xx z&Csn21GQ6gBb7UXQpBB2@Y5w&vlI7dk?hIalQkcVHY<{=?3wBp;J-xs_FGJCY5CTU!bLu5CqZ4+6t1l#yX4`x{Q&bq zprsy@k2>kvxuZfF%J1>yB$F$Z8*;Xi)wuH{NV)`T);Yq%%h@MuCfjb0)(lHAnh|+Bj(xIPK6UJ#t3OiYUWGAZI>$(+&l;XO; zUbZ|-NjljzlsHv8d}asVTy6CQ+yPeFvO*f2AbXI# zY#SK5lt>+~exBS7t5YQ33?5eJ?DhPsyP-M-tb6&la-M}Rm5=epB>b`ry1I|bZDL?( zoLj<9E#D{h@J_83OaBTwp`SDOS)&)Yh!hsDPb}t6{BRF?*qHkf(PGY2jB??~^#a_Q zM{w*Z;>%MV_t18QOqZbZW;=d~ zr_s|~_kCHS({u3`ua#WXX)d3Db>!>Iby`V9>X$|83~Qss^3Ak5ZRKOL8S2%UguANr zCG-f6@Rdl##%g(Ym5Z#%lSlY{B#HDNiPT%Q0qCK@bPYFrqDKeU*BQHxCd0U8;a-DGn zEF;ugFpg-JWKKn-gqn+OYCH_u#PSz#D=i9thZY1jS+lckovGC+u&RQ*wqPbPtwm?c zOr~`%`)dRm+QH~ql4ZWtd+tk2xcaNT5~7)2rPA?M!A+MSPk-yP2ttlDSKOH|paglk z)D4b!3!17qawsD;UohFQ&rtHSmo=xVC!syd5f)flNz13JcaR-iDoaicL`DIFK3IvL zsJld+1pU*CWgT8MLn|nC&B?h?o#A64UidyqHKIdB!y-2l$(S^f4*{jbA*uvjIYH?=*kC%@mx=Nr2wzuw6nQCG&R_Kg;QrtvTT zBtrgVPEu$-_s)%e(N_m}Modqe2LMiRgoUOeU5C)lax!@sof@D<)0UCAeA#=%CNm&b zvw$x#AV$h4XrskuK->ev8xY-y--jdo1k#iNF&fzvPafF=>JNxH05@qcdH68~L>^(a zp3?&&{EujgJRmXL0ns!>5ry<3r?-95BZegF#yUf99K**Eh4dAtKZK<7^bZ5#_9?I` z61O@>_=yB(6_FB_91uS}fCUnTZGg@Zs?M4>AU?$npoSu!ESO15Yth+q2gImOu&#k| zb4iwI59vc@K5PI-RUcCU>kgwdwosn?UB^Yvk z)mfL$6?ZNX@w_}fxBVT`%);Jk`Fa-i@BfKqe^bFcUosnPpr@Dt8VokjQ^!DcC(K~E zO-#FmL)2(8S5CgCQ#e$KnJ9O}Lbw_g8 z6VbMbW4u235OmdP1vZ%@{Fq#Ed)gMWP3w^?9bv3v8g|n2imnWSe1l1@1mb@3d~8y>9tUtqL) z_9yajrK;0VSuH1^{Or@DuzbpY#beNJQXSrrgeoN2;NdU{xti8gC$am~mG#{GG)+>* zjy_N7hZH|=gQ|Dc=EJ;Ai}Iiv0cE^La~U6~JDDc$(IvYE^af#=${DTxdK(=ds|PY% z9cw{1r|Qs*#38l+eEgzX$v)thQkC5~fm@5wN>fg%-PGwpospiv{Zo}}yB;OKsDYc@Hkb-} zv8zOMXvXhq8S#ydMWD-l9b?ob^s2(ss?IQKM5nR?G!fBtK1Pk)M+#}dYo_tttszq9 z{{?ly7uo@q3Re8xEyGs=%Ag61Q5q~4yt==ea_LooGEM-`Wz(!M9Q=a|(*|UJ$>Xlty@TCg)vUN#Ur6j7s zg5XV!bk|8x(#KMw>eXGX;6!{+Ch9vWQ8jpWu-iRuuRH0*9IZ~Wnl9X%mT{WhHWE!! z6UiOSuAKU}2v~vx<6{+(ywH(SOpC&DChGavPSW}r?)OB`nr<10hg7mUa6w^i5 zTG|FmJ7@OYZpl7_@@q+&nXIHK+z5S~aUF2?(5KT>rMp;+a+pD(dzCqLO_&&!sPDp2 zPMZO45?x`BkQmxh8SQ!|vq|U()13+DxJg_F`PP3-LQ*(OZS6p%Ob)6wa5j000||>v z394O4U-l65a~!WrFSe8!LG>ZNNBa2XFEG(>07}6Uz<8olK`i?dSt@T zgr&jzZ!>kG769JnYpALw&Nx3%xH1@RX*Jxt8gJuvUxj6?4#wKhYP6hs1@KK@1uw_R zc-|0v?0qsOgcE?@`x-1^OYkHHtEv#n(QBd{UNL4hp%~kO2lDt`-WB5QtP9#i7-mw+ zQkt@cF@XyF4CEuf}C{5(Z7Bc6+gl_?X&b? zF?8yl7O)SS?Xn}z}cZ=JUu3c zMoob>=bxwz)pOrLeKquIdwPVr9nPAPygET$;F~)nA}x*Lua&IE)*t4}dlu%3PnO>nk#!ai*6!)zWvOjh=*mc+ zcOSKo$b(iJO4Gm5mW$bKllJ>{Hp#v)iiKr*;diDNYF3A|SD&>>&W171*JW8%#J+Y; zYk{{;_nA9kY!+6cgfdO*p0@C~Rkjz(YkyOA>y=bg!s*Hl=O2>&V=#UYmeFNPsab2B zJ8QAB%!gH;{AO~Ltc%1=RZ&(Wy~iOtmK#H9<|~9o$RiF3;icugP04Z-*QGOC zbGMP^$UQ~w2q~*GWGK)`@fzw4kK9pmbK#7A1LhPu6qD;pq#V|5Zoed z>ntR_+*_sp>AU9KMPlHb-m{S|7MtyKli(7u&f`>K`nXwv+?8rGxp;shEZOAujFgtI zS85N!H$A}2iWT7yS5xj+he5yb8F2y4=i_t#9Gv7=i$r7k2BrZHqd%faS*qsQ*x%f< z)%Do2KB!Q2p)?U%J)I3Rr{y+Nhv;&nh0q6Zkf+B^db#aYybL!-LYM(~sjtCIX}R51 zV=S}Quo!TKry&urjQ*v6=EHj6?4a{hV$@v z2;m37UsE;6l$JYHExg`ph>5eBBb+exZ6>|k+3K4^i~~{86ts;n+?tR{FZUjG_&GaJ z1_O>vCCH?gyG3P<;^_|2a2en=sRWtya_?8iezb%nU}8-wL*Ap$eOmp6>$Rmcz~g|= z3qj{H(q5Xjs(iFQ_lU~pj$4yHfpGjENna^NSL-R7f}5~}9Hux%Q* zgESS?q%%m;5tQ7t3YM>JTdpsRF+NLA1)6GRjNB`NceEy{OQBp_l7=#wzH)C0UUV(L zc`UVa7mO{IB^!RaY*x|M;JN2A2|Nw_-;#>lsYgEip1V63{v1t5p`7$-(%tQBlKXtn zIRqnpGd@}lJGjhRFZcD}3|3L+keP(41zKMiZfk$e9Fe;}SmOy?>5|noKph z;j|~yY?2?r_(E7ElGLo+H2HR}PEu{5@Ej#uUS^uy+G%RA=o&)-Ye8uuv=YiRt#Mkr zQ&w3Y7{mXjOs1OLu4zw)?Sym*j6{mA0jkgu(#5L9o$3-aQaOj5CcdDqW^@rjH683nFp+M=#UgHj zc*Hg=KDz_*BXT92p}WKvs-?yk`YQy_7kW3*H*$m{TZ!$;yQ`hZ_IdJ12B_}~eH$Qg z&_nHgjCFkWi@(Av>VWDLCx^ts)kL@XDLdCY`tXYkK_TTpsN<8$N~{&?;f-ta;wiBW-Ew2a)d)%p|6@ z=xn*((f@WwL*iX1hf30ne{sxb*3l>dTJo%XIiH4_E#F2Rsf z%MFgG1P$-#w+QkDE8!g-kU%_~BP@7|dvpqymwEEYPXvAM=mM^md!TK%nlHDe)HNsX z1hCr$*(9y^1k%3H(dEZ5*)Dhk#z!0iB?5w()FU6VH~P`w~cKIj_^ZBZ6{3x>U39w5sveK$Ya2MFTEHb;els#(ycea1XL?I zZ4}l%(H+?+D%?)GtCtE?6VlV1Uhzp=A<1h1#)n_c>BL6av$>Rk3rI;}bz$-I&* z(@xTO+C=FV4mtVx()rdxO_yL?3*uTp-_?!ylz_tNnYTTPFj}B3=SiY^dabX(pp?K^+4NhUS8b*YnYHDKf)S!20~7kV905x^M1Yv zb`cy|laqMw=QB&X-h1JY%YSv=C)3}G=GI(DEZ0dd?c_S?rE|JY`np?_z21s;NGyS? z8b3&jafDaM6>AFXp?|e5lNgy&0|ASLu-X!=hyL77d~HGqvjOM$1kXcX{u|a=5Q1t2 z=-t9FY2cw>%AH$cwwf?mJoJwO?e*Y@WE+2*_0WH^QCTe?LHWX`NlASVy?nqWsQv;j zyWLI5)nq;NceHTxQv*t)?Fo-3l|zcwLqBgUizt)_Rd09$J#{YQ1NGfnzPYALHUsoh zVVKJCJoHD(yE>MDCR2525B(uksx0XnB@Y8Xk*dUc=+8gqDtQ<5qf{l0Fg!Rx*WF~%7m!>svC!x5du^#%nyp|jZIw4hw_0X@p zLs=bjLFfBAJP-ZBKY9IIr*aQyges@}o`?SE7}w>!$D#sS5B+-`-G=*EK=B~EV7cJe zC*9otD&U<4v>tlZ*e!j=4nL*_W5L8(*Sk@h2x_BR5B;y*l+ADd6wrF;&mG}zC`?ZQ zt%v@a-8{UhOS&*6QR|_vQ$yKS-;zj)YCZIKc5$OVpAyx2=vQ&uX*$edFQ(_AZ-(9f zl0?(gAAr$^-F7z4c_~^%F9@uM{=>9MrKo=sqaN(eehlA3Z(~>w{a4(@n+T&JPw^vI zn)T2ZpKt0sP0fe0!l%h7GefeW5(j+(5Be6r0k9tWNEJ8PccGjpNz?j_ zqsqGU`#1+?@+yL^iqIq6*>RZuEPYOQJiAe!7_F>_{-$EL@|wf$EitsEGTQZYr~N-R z!gOZ?t!R?C0P;2eXA;)Qj)#6RoE4s8?R}^I3-Qq3i}VQ(F}{cg#J2e!`d5M9_bHDX z)b-FG2l?4U?d0Qm=*Lv%#|MbO=RTQuIBd~gd4lvY_trzd{}1b-Zw{rM&|GtGJ@kod zO*5#WfTKM8tgi_xcRa zLqB^i;4=XK5zur-X+^5rdgx2zRIf)))KM5GeU=`Ko`=3uhHbU7kFi|gu)2hmK$-Q> z*IR074WV@MX;n$U*bUD^f6mRe6-Pju_D@vLL;nPiNv5gm;Vdr6W7@`v&o1eK(8{;O z0Bi=|Rgx2tw0#dfzmUzA1(X9mt#S&ZT-wQDRK|CpzxxcW!}HK@Dzxn)4@g(rMg7~_ z(1Y9a&{rNsQZ1nL;IIryDw3LBep(l9Ak=6mGkuz_uhfkH5UNuL+I%Q0e46;?Bdzr= zq35BW{~6i8AI>8lkM^-1`m#l~(q9KW;1SO7(5vxw`1}atw6OFTc3IX#e_;>ld?c30 zV#L|NkHd((k8MdE8FyZ`|2M zON5*Y5rv$4NIzYIaYxnKtS(ke#ShPx+8ME}$JaG85w7*HPsU+xm z=3iN2o3K8#4jh)HrvOd$Jo69C$F>iKGOi>IW!5wQ`(3sc=D=9sv!sj(JG

4c;3> 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 z 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%0D# zcEZW815o@MD|_PgD3EGKyuOjEOIVE9Ai%^MS=kdGY~+L|exk+G2`W4!z{F3QLi^KJ z9)k0=iAZ?jdL1mY4Hf=2z{J0|vM0XV$O%te?~G;IDZD4Z#DB4}C;pd_lL=44-!>wh zQ@v^SZ-9xr3FFuk_l(R@0pH)^X*<1+RwKZ~545r;UeCzXD7?PKssG?`(o1U%0#Lk> zl|AvMMoxI*dXp`)gbFtgF!2^v_QVe|a>5fo*y8Do>h-q{P*Tn$9AXtb@oq*=c;ekH zo;K7wa)$?)_z_n2#QPdK;fd?Txy+0z+&{p?kFs*olQ75x5}vqjPGlM?d~AS;A8%z( ze2$S5p7>mgr!%Ve@h%N8@yo32iPz?ahB|lcsT}`xO@KxY{uGV|n0S$uJ@Jc;obbeF zTRd&2@Ff8zKG({g__sz*c;Y`;+}f%A1^gI*;=8TviI3p6igGHhTP&G1qwuHz6F=L^ zp7^6iPI%&a$1u}Q;dKF)l<<@dc;clMHbL=LMy{?Iy_47`z{J~G*%R+zr89CvJ-)-@9g7*-Mov~63V6+szw)2!@?Hx4G7;!Sb}o+e3vrU5A4+{&JKbhb@UywJ!~BH~>GJay($_^=>e zyt|b>@gL?|AL2h6xjNIk2=7h?;BNRHD|_NcTxt!)dl|XfP~qMICf?V|p7={f=0+M^ zuSRD!i^8u2nD}du>4_3fpKlWs*UQtHh6;}eF!3|2?1_J6vL1ig-(nV`b&2AKF}D|_PCTy8TeUS;I!no;<=025ziWly}~N^2)xX=K?2 zGeJG=aB%>NC#~#>uQGDN6JKrdbP4rV`27JU{(zM|@t=*H@Wg+yc-l_yjsGT0S0WOA zw+fzkFP^B-_$=Pr$kip(GZ=jXOuWC9J@HG8obbf;?s;a7DtuXhiC&RIJn86-_e?{DF9|U5 zxmNbXuQYPP6Tiyh>5S?%`2_(ceyx=~@f(bs@Wg$K2X?go5`Y^6P<)w{J@Ge;obbf; zwtZ$s6@Dkc#NV^BC%(tX2~S)vmbuk;ZK9yMLs34)hc-6{~9^ri8~9k4Hb3+Oq>loY9bPzcnc#}4>~Ogw+b-vHdgk;e>8H!6W7KJnF%VqJHW*ESlJWLtCDUa z=}FM$4Vi`t?-yX=`&-!)uV-W~=;8G(o^E?>_|PE0#2Z=J6Ypr`geQK8#jy*91Aeu2blO` zD|_P0jhyhrS6Dn9croi#QhZK&}50Ve){l|AuijGXYqpS5_} zZav}W0!)0Pl|AvzMoxI*?^`^uqy4qh#s>i?{*jeE@kZCFHWHq=HsQ#u8HF1Mn0Qkw zd*bblobbduSUjE4j)V^hutSmvhuVNAKETLaU&D{Kc-m0AdkhLN@nfy*iJxZVgeQKw z#nX1$0c1pgiJxI*Pdr&}0trt%W+T#udeAZ+VB(Xl?1^7&WY%Qh+Bzh&W)xPzgo$5b zWl#KaBPTrZE3V_!oJ>RQH*%Fxm=Y0RU}bNCzxS1*Ba;6!!GtHSokucF6@DSW#9y+q zC%)OpG(Y@(i>J$|-AXi3XT>k(E91zD8y#58lt>>5TTfo@ms>n-sBkR6 z#N$@>#Ag_p6DhpX;%Pf=u5xjJi6^xK3svrkUv6ZY5q^cm(}voC<*EP^UtncVe1(w{ zp7^a6Putx_`1Sx3zthT|_=6DVs)Q%uAsdl4)Wg4z1eo|^R`$f7GjhTc-(c~yox&Rf zO#FXV_Qc;da>5gT$Kup~@TWat-m_pt{Cz8X;yaC;@Wj8hc-l_e#(W=O;y+s16aUM| zER4hdws_i3Tg&{b_E(Spmw>y-HidYhkrSSHk;T)7^$6DwF!2Uf_QX3HnG+)X5R0en zv_;LK0Vdu>GUqB!LO&D12@&4k$WzjWdgl75024pj%AWWTBPTp@ZFG})_$qu-fQg@C zWlwyxk-1!upxtmX4HZ5&z{JN`*%L1_a>5hWjyaij3YQ0%_#`WP;uS_tc;eG7t^(S* zf`AzTC_dB5p7;YsW||0p(BkQuQTU+%6Mw|Yp7`rVPI%&PSUhc~@S6r>t}5YetKf-$ zXyk+^uFZWiOQ`V20Ve*bl|Aw8MoxI*Ut2t#pu#%>Onj%6y`4#fpG+X(iSMxyX+wp7 z4lwawt?Y@{UaZWq_7B&tLYWy=xK4nHN3HCMH#Bm>6F;YsjYub0Lb!2&iT^+By$84y zRrc;(=s_1Ch$6=|Xh9l%hrVQQ?+TaVW^^6l=j6An{N&e-O z!B;~Y{QeSu7t)W%GC#zG-0(;F*(rlRhc>wErSSxSU0pZjc8to@EoE?p&<3}4T{5^G zx_;m7_6m0J8#Fb*okANt$#uzKIr7{gBRvgG89XJl!JAx{4Bi}hZpTei%J@VX+F{R#18T{bV*a|U;Vx~{fK3MS!*R@58 zpOrHBRcM1hy4EL+$Y50UuSNV%DT77DryK0xTKjGhj9FFR5Z@_fuybgG2e>X7WPGdo zcKCrQgM&gFyu`H*Fc298%iE=IY#vln2rmz9aGdLsL59kz?-2i3%HTgk8=UUCWRL;1 z>f7PpQ}Ks8*+No%PE7ehBi3Sb;;nHk>_^!NhyPqLmOP~3LaF+V7DvM zR%kbweba>MW-)$0&zc(G0ig}v>bhibOys$9PS(0DW$=#B1}D2N8RP`6Io|&XruYq- z8sN0h20w7EBU{7|BhMY;KS~+=B(%Yv!{X6GP6(@Co%nLE6vDMa8{E@%$snhV)i=cN zoiey@XoIJ?*3UK~CzsW?!=IKic*d~w{x4D7>Jzj`Mb1F0Z-^h8GI)DvgD<--8GI%3 zykzjNrVPFw+Tb^?_5P1wG`so^@!zEk{t((=SB*-?69_WiU41)zx0JyZLL1z{b;%$D z;(5F3`#-@>DTMt)8yw=gWRPL=>N~`roHBT7XoJIDmkf@GJTDpiNR_|;BW{Qr7<|;V zzGaGx!B^iQ{_&K-Cqf(SqrvuAGH?UewU2Q8hAD#^hb|jpv>W||CNhv;eTVolDTB9# zHu$aUlELpH&ySFi|9(groE_TWzlX<+{(HDy|BM4z-y#0aI%$dqy5Jx}x4~7+kPd3gKFz4Q}DOWN^#MEpNA9p}cR3;C`-a^T7Cn z2c!%R3~lfP*Cm4|MxGZILll-%28V_=c(Ln}!AnLoRF<03zFYaa6vE-IYcs((h9gr3 zZwPI$=g3%qa1GbBcKBW?gKLF0xP@yi2XV`h4ZF{=#4y< z^P^_K#NAQ`_Xur!R4$&{{>bvvZc7HAiAlLBVUzC2j!q#wHnhRdT$c=f9(iuasE#vJ24{sfxZe%&2qD8f*1zoV2c!%REQhgy z;w0B4gKtHiJH$^;8JrT@;NNbH4&j-uYfrbcsA z40Z}_a6{K6gN#O5-wwZV%HXD<4Q}PSWN_=qwfxf`Ls<5UumNrt+TgCPO9pp~Jhx+* z%RN#C_X=(BAlD^>gCfuE7z%UnsI+M`Smw~Ufx*jNmkcsGX8j|?Uzsv^b!dZ6xh@%e zI`Z5h{+X1)XVGo-10ABvO>|PSE|sU>ZQrB3YqD@R*R@r;yZjz0gL{QGxbw|%H?Y6! zTDx832c!({7TVyFw?sRru{-B{RVpYt_zjvGV5iUqS8!c2$N-=93kttd%3zPs2G??3 zGPri+c|omxi`L3IDTM2VHh6$*eK8dej665Q4@?;x6x!fO*Cm4tELuOK_#09NN0r0a zDDigJ`W0KeBl6tgo$`034Bivk;3U_2HH!>TTHhgla?0S8&<0zNPOnM?W0=-A#Lu5H zxIk!wJzbX!GRi=GJAAK{!L>pg+}X7b*A)9lUVByUqF_LT4RE*61}}B3Lo~!nuhUWnr-wH9Z`UP*jQUzXqxjEL24{vg z_?>J0Y>xOoCgeHA|Bx~`JG8+CZl#lwK}Le8?-1WEWw3o{gN?4WXI@-5a{7x6cE+4t zG=*^S&<2-wtxsdIbL4qO8JD(8%3#;f2D`h~9t^QZ(?Q{P!$__=Ex0wm6eJhziC7c)}`XN5L+)ormz;nl8diAutECL~3~lgY*ZM*yUJ`lk z@KX6o%HZXp4StO->q&$7CMM*D-^zcNGWbJigR9;VGYVI8U7OL><$IKUZb}BHyRJ2S zSN^?}!4E460O}QD6TAGgAm>g*JG?ebFI2(RHmu#$PI@3=R!#aGY!H zWf32ZJU_t4b5HG z3+@rx_UNeB|0p*)?o+%eCgg^H(;c0e?hKwC+TcnL#Eio3u4_vM-y>ykmCy!nbX_ty zsvHw?hYWRobIRc8&<4l5);T@mgvfI{{KS;ONudokJQyjVl)=?P8$9aa=nx+5y4E3MvLBl=Q9G=|7(CgvP979bi9C16$nB@4 z44x6%;NM-B3^JU1{d0y@dUIN>aCB&cAG7}X-2PbRlbDb@6u*IXScua?8~n<(&UO+RcD}wtX8hAM^YF9K z28&Md0AVxNwN-&H&y_;h5Zd55u1f~bjl2O~oAT=C2L8G<9gYZXaDr=n8xki*o|i8E z%}(k4U!r&`ZeXz8(lOU?A=kCJ#?KaAEyj{8rtBoo#O!>Tb4M^O|3)x@hO8RhBo-H zYaQe&J`#EE5I-(u@UhSazjCeTkN9=u-p=3u3BE}o{4TV?F3ZH6!ew38W)$BwWw2Xl zgM(aa+yL?5$Q$4g*Ck8OpRxx-(+%J$p$%T=TB}7I9(jJW_z@|C*M~OPzDvwBY;;|l zY5c+|Teyo}|BHq(xV~#0V=4BIJa>rilQOtrXoGvY*6uxVugG&d{N5>p`-V1nUD=Hu zp*TDyyp8%BF~-UuTB}fCbYq? zmygcjH?DOym)K#2x+TWzkD#N6O$~7A&<6Xs);>USgUEB|_zhDAHx6y^j1{93_&3*0 z4e+XzSC@L3;OcY(cui=7|5_>T1U~D!sR2$&dG${4Q`2<#PH2M|0oF-K7F~SI23J`l?gOr>^4C9NlQf}vC-_Z0YifXfLmOPJSKJ9) z-E~ubQsR524E73b@Hp2xpjw4b=5YgqFT2)J5aKJ5=MM3&rVPFw+Ta0eMThV}*R>Au15*YE zq51t6G2hzJ5Vm$*Ylv@?GT1h>!2zyI26v4-&nSMkl)*hh8yxOhzyBge#Dv@sKQd+T zhR_DzTPJ1|zVEs=qxcU}20sdIaLsk29bC(`w~OB&2-Z#^TsO4AgIw#!2XRp3c}DRE zrwkqv+Ti7`wPQ`ZBJ$i0f2C*o{TFd{+`!;JU6%|#5qWNie==q8>Cgs$cCEAW#9}=j zZEeZmo23lS9optDOPu6J2cwGk`iA%+DT616Hu!JX`t4u*Eb=^~_|H=YXNESo#$RGp zz;Z7)wK>JFnKHO`XoH8lE*U%`^4uZ*$dtiSXoE9cmkiE|yxOkp!Ivq7Uxzlh=KASL zBd+DTHlz5pQwG-!ZEzpgC4>7$UhUBRekt2;{jy%OVGN$@x@7S0k>`f^^HK&c2yO5| z*V-HtABsG;!#|udI4-ooDP=b$n<7q)3ArJDTFT(`(B|wNOJ*){Zr8OXgKtO~oF}xw zF0S=MwYaQmj_p5!u6~222G}jM!OdKk4EBvY&nW({DT7;tHaO6A$>2ee=XUbtVo(a< z;LrvybX_udQRKNH{^FFuOG6vH%e4+-74MEbx5M9)GI(F_vcKHyKA9;#L90TX>bkZ_ z@zYWUr-wG!qED;}*wS^a9llk{VC&EZ*F^LCFJi5jkmnS?cFN$op$+csx@2&l$a6dV zzA1zIhcRP|5iqj&` z?eOpPN#Fk^ig)7%2It=(7Ab7&y0%F13#1IT3vF;M*V@-Ft{r*q5Wh~!;Cin0{U33l zo07qSu4^6Q4@wz4IJCj*U2AwA@rKBAhxi*)25$;&aJdcR0WMdTSiw!LL;Q*`f^=TZh=2yO6Z*ZTN{o6Nan@N=gO zHVyp6-t2e5? z3?EeZkl&!G0X`DiV8=~kRlrWJYpVjkbjsi|p$+cfT1U!?J4c>pv`o-Hg>XP`f^^HT;d3~lfs*V8Tp8Eg~U;QE{S`@hz`Oz)VGJH+=%8Qd_m!Ln;@K8r&l&+YI-QwC27 zZSZl|C4>J&*Z=-Y@Pyx>sR2F}+Ta(ib!weBEAreS{>zlXuR|MLqHio2xTNdalEIgk zN+IkR+TiA{O9r=yJa>rSGG%b<&<2llt?zi^@sa0t_!CkFPwE@*|0Yq4@ChY@BVE_# z6n}ln;EkaTKIK{m!ii5uo;$=plQQ^hXoE9d>wtB{7cn6>#Lr3@{3^7;<^CFr6n1l6 zn^FAoDT6D9Hh7$CEgA9n$hG{_3!mVG6vC528+_TdzKn{mMV@CA|9Z;c_|OIy**swj2G$PMw=rVI`b zZSZ5)+FvAo5_xWi|1@Rrv(N^Y+cG_8#BQ$B17!UZET2NSVrYXyU6%}=9C_{#e@e>W zX`u~HaIIZ0;-tuPJN#QIDou4}6T-#uk;<#2=M1cuZ)6pS#wcaB;@gvHhPL z&QLhhZ_v~LXN5Mn$u=>gu&?XdjN<>AGPp%(gV(s$lTExX^4#BbWd*}i2uFrC_^oT5 zjv@XKd2WdRF=gq{C}r@H&<3Zw z)|rvwyOHO1`1eukNEy6d#rwY@zVits zgFm`%$_??eQwDzyZSblcVn*RLuA6c@{IHb4>p~m+%C&}gLVOz&azp%gDT6Ty4E3n+mylWLmRx#wU&%HJaYAyK7R>Dq!3;o+TfS2HB_JYRpfa_@n5G5ejD20 zkvqkV!lPW*W)y!k8QXt|W8($}pK`4&8u97KbBFk6QU;$5ZLs;y(IK42b*)4EyeWe% zLR%TJsT+;;EN&JPa)QC#Rpecp$sL%$-x-J>KE%H30 z_}fzk?+k75GuJw!NBlhU+zvk@Wi!eWUxYEZ)-Le~;o7cij}X63%HVpT4W8&)Uq;1~ zBF`P-%PE6HLmMm)ccZsbaYRhW4e=vW25$&$@FmwewoiOH^4t#pO3L7Cp$*P*t-%k) zFL#OU|J+bP@s;18sR4cy+F;{=STb;7*R>^sUnFI4vCszBa;@Kl#I+;O{jEJfpa1Km z5Uv;6;I6K9Dv-Ea4d4IZ$2Jis#IAUCxR z@q$=tszh27V`k`(8vc#!wN(N7h33*QOr>6}5EwsTWUF%gLJ{5Ux$1#H6s8}-ayU+%U zM`A`{xtW{VoccvBQ#QBQJhZ`OT$c=Xi9C16buhc840a1`a5LB1cO>?WyxOi@{8ho` zDTG^wHh8dWy74lc63|<}D;4Ni08b4Yb9TRfHTjj^34Bi&n z;JvO(2JeeJx4U2dft10ALK}R}b;;oKs>+}x8<*?(N=o6Yu4_*St||I@%Ha6WHokKH zl8x(>-*v02*@*AOq&y?<%YTqE_)%zsKfBh?^HWF)p5 z_lq;v7gE^XZ_v~L7Y=Q3Dc2=~9U{*&+EKn!%3$Zv8lPzDQhJQLxh)yoJtpO*_&rhv z_X=%ruSesB2KRPdTdeqfQU>=6ZE(NGq8;4-v0rQ>DJTx`8#Fb*fuRka=elI@{K)f+ z;x9-UyePE6`&{dAW>MGdoa1}={g0LPbV?z7D73*AkH?(Cmac1$5Z@|guytsItGO;2 z)I~w(=n&sCWw2K{jP(*vajo%C#8V^Bj}U)a%HSEH4UTrLAu&W$g|&;K;T7(;va$ z2piy`p$$%St&{V_HzUvO@RL#oCx4R{N*WwSB5rtvuj;H2XRYG$PMwMQwGO`wlS3tJL@fDp(kUh!i8Pe z=5-PIMN=oMJ-mZ1jgScPhxx@YC4@emtSPo+Y#Uotn%fEPJgHzyX)m|NEsXz+TeYvKD?q3_s4|X5dT2R;6tGezUo>hor|wk_FT4ch4Ru*$HIbL zT-O%XvhrP12D^nec#&)E?iVkPJkJ9Dl9a(pXoGLM){vp%q^E!JG~%kdll=xw4RA_m zgI%AA8HLNauFWXETgu=Hp$#75S|d!0hen=f^ss02G&($m@W{{xA8@U`=;DKs=Z5%) zQU)IhZSZZ^Iz3dJ5_xVnReoB^;Pi4Bn=YRCY&=59#hv{-M|xkz4^0_7CA7h_Tx&2s z@$ATRhv&$jn=*J_XoFK#{>g)w787#AcjTw1489lI;JVMnjKcL@*H%Su`93Lw8-_Nx zscZcTDE>9_+9wae<`Fi)EkheT)^*9?36bX+#h;imSPpIQEZ15x;@OescIU{S`&|0u zIalVqxPifwUy4TvPjg*+g!t1_2LBe?;CZgKc_f}6dF~K@LCWAoXg+xmSNH_|j4xj4 zy4K-U@>iz}UK85jJTJ$L!g*b5v>|b+lvh93@g351*eSG?5zD#J2zz3;n2_fhzkJHz zilGgz=33iW;_8v-cKDttgS|o<{D*6u>HV@^|JTHX26%UxP@QZ1J!v|;FSNn7uf!vV z?OfNE*h2E{QwA3fZE$hd8dG0f>Xo$qs~s+-u!G+~!^4Q3LL1!DwXPv2ZWDQawD^80 zgWH8RxV!6;!960+?e;7y*eiu_pU?((d?Owq?C-kv2zQYmkTSSiXoKI3k9P2T*R^)| zA5sR(v%?r{m=FzNbJw+o^T^MeGT0)t!ChQy$S!d}-NqOjPnTtMY}=Mane1dVhpF7CQEr%T8$nKIZRw81u$qC+^p z>smXm+rB``V7t%;7jvz>bBM)bLVkq!B~k{L3TkRRr4aTHZLr&0@d)9Hu4|7Fzf#IzkI)9^e>>X21zp$L;oFh1cMj1$ zZeVZ;*Cm5XMxGzxQt};A20Mi|_*d5@gPTX5+u^rJ8Qdzgl@U9*(V`J|j0w3Rey5bd z{-F(?>{>r5i>E}M+np+ZTFT%Vp$*>dTEkGi-7r^iS7qf@v>p0!%HY3U*Ou02@}H*+ z&J1m^?UY!`kW0tcKjHBUrVK6=+TbFtO9mI6@{8@z#S|{?H)v{rONKVMlxuzM7CS_q zA9P3gPAP+(LmS+{b;;m{k>_?BO)2Z!YzpC~p$(Q?>oRBJQIY3{_@h$>j}2|`Cf6EC zTpS&FZg;Evn3TcW%3*V@g}|;d2Wb*C1von&;}>C))7JC#K?2IH{~a#3{DPh z@NJcEha#rLgxqkd{Irz8>7mUzHP-!H;@qxl&zT1K<|%{ohBnyKwMG{c*ND8FJ0$28 zVFO$%w87r4^@D`iC-U5G1NjY81~(3E@EO;-ETZ^a>7AaiVb#0L@BEM+L;NqbT zc5tn+*~N~L=MM3mQU*JRHaN?*c4Z>IjtRLT{+pD+??M}#I6Y<*zU8_$qxi`wgHu8q zeBZS$Jt2M&IsL`wz=sMxN+J9tw84emjSgXZ*R>AujVXhRgf`g0wU&(7G4lKX@tr)= zb_k+#+`!-#uJu7DZW(!QxRw0YDTDn&8$7|ae&7+yk>_^!At{3=hqjZMFxHI@MG$X` z3Ay3z@^_>R-WA&58t=uDfor+0Et$3D*GU;%FSNn!T$c=%w~q7n;twa1~DT99vZLptf9SkOJ8+o#@=K-+b_i{-hwGBTl_Sp`;#Wx- zTrIT0{mX7jw!b(qCgg?($qz~y930x#vgH8qTsxgl;~@JZL& z0V_Tgd2aZ${4*(o&xW>VE6c2{--l_^! zA5sQqhc>vxN3mkyk{|tIgK8;-9sCCRUM+SCZE$JV8h%mi9C_|=8Tl?LgIz-#+{AUs z;HHu1cAI|GRc`|+gntcfu%Bza4T#%Twpd47pO2*oKJL1y0XBRb532gC!Z-J2XC&mH2gNg2F0w84&_#8QNvT-RRf zOUrjIr?9iwCA7hwuC<{it`T|e5Z^0haIMe=4|c5=xOiyfx!qy%ho=l4sq$~Zh|7I~ zPU#k}a9x{I{FNz#SBEw@!nIB<5l2RzJG@^0hLpikp$&fRTHk^Z-^7I6@LT!sQU-qr zZE*QdW0ArYT-RoFMfsId2781yIMB6DmK6_*T>YhQ!32X+2nUBYc!+ELj4mD;d7jb3 zT zUgC$5=XUsyQU*T>ZDqt4Zgc{aI4dUPhF{8ml`{BEXoDO5J5~kU*mZ4HY$CsD%3$Bn z2G4d~GO=8o6BBZW_;XVR&kJqvW!E}eM|>sn+z$V0%HZpv4Nh{cQJlrMB2VqK{s|_h z5Kakg@IBYM$h!D`rw`-L`G-rtQjf5Zb~LhkTD`GF~egF+j; z&b5As6o*Hi+bus&^I`=R9m17D8$8gp&IT3-&eMF(G0G28ILL3%)Bp#EHh7I|o$4VD zi#&JuzGmQqG!yWn&;}c|AlPFF7j|7+GK(~6>u1pv!o@=y+|spv^%l2^Ja@fLT-qkl`{BMXoEkx)|kWM?8tMwpX7f|8EjVaC!Rrb zT{74r^4iwtW(xX7*Z?;VZSZ8*`ngR!CGy`e=$$y?QI5V`t{zpfLa97v04)MFC4DNyE*9XMiK0(6( zi1)d!HJs}>{m7$YMq%^N2K%_y7*^s2k>?p*>UeE>s%Qs0g*JGXYyJ9wxH~4~hRd9w zjS&?MVb{CWKm zp$*P*t;7ArFC)+GmO5AKUghgv>=fGI@vch-%O}Ky-0-IJw1J_bAsijr;BBsTl~wWf z$aA|>FVK=x(GFIxbN(BbIWHH7U8qec6%FB$p?~vQ*MIcd!y8so{Gh<{hj@#_P@d47YY26#begIBuNNPXf}k>?r3 zU!5{|O=yFoTx$ei@utXgJNa^Pa|+?;&;}oJt$_~2ha=Ao@sFeoJ{sEK)2?+XB=MQZ zbGv`ZKbtc6{Jdq~O0nlXEz?iG)EC?? zw833mYbUrkAo4svdtRcw{3;&X@45EwFRt5K{;x0G$_(t9W&-XW+Tdxf_0BGy9(kTo z{23{OXNER-qxsWB-^gS}#f04OCi$CF21kcB*s?{ux?wBVwKa^NFJ-VzXoCy7)`8e! zJ2YPtt7~c@1?~L?IuKi2IJChPU6%~56nSok@18Qaa%h7)xh@&pIr7{NU+$kmI3Tpa z<6LXt1@ZXEbHfwlPfQssht_$K&5L(j>r@wUdgKl8`;=E7EdGZU>1%>SG23s@WN_=2 zv3TJ&u4_x_&%GX}hBEqJFUT3s>TXx)v}G0V;?=qS)33)_RtJ+)Cy?uJ*1uigr=$!{ z3;m~EkF)%17v$_UEM@|(75abbdYt9rRCU0GIC<3YjMO2#)%BlyJx-oa{nB%)UrW9I zw+mx%xNH5YEslshKkM-$QwDDcZSYptno)5~{ z|C_5&mH*IXsQ$dGNyYb$-@KaCg172BrHV%g|BH(>`CG=k)l75Ft%2GMoz5_y6C#eufs+fV8;aZlMjH@4960 zg2?ldxlsP1l)+0v8@$G~e)B3z42uc5A^zHw!Qr6|KIB>(&*H<8=XUrf|)6VvqBr}HD7!b!!;`%chsJx{Za(?cU^lr;15U{92nZ*_pWvJ zgZM+_dES4NpPe%Jb7+JAXdSZvuW9{@UlxZcyw-1^9joH-&<01i)-DWjWaPQSJ@p&x zUMilqaG%fyN4wT}PvWhS=XTe()CWJ&&<3A&t*;D(_Mj&`l*fp}}=YM0(JXJ`gyrkQ}V zLK}SJbDmhb`mQ+MbyEYJneyst!GDpa!!JV{+~srUW zh_^+aAMNe(cccv7724pA-$aLSC)c&rva@{ul$8+!!Wi7_+h_>;x~?_+tNi9EgIk6+ zxZ;n|4zA?7)~>sJkCeexLYr7FPWUMr!V_KB8nT|oq;&;v3vFw84%Ix)1+lL822z?_RL4>)Q8}zshf(ro$~m8{E#dj!_b~k3260mdfaG+|dr{&frd=4GwdyQBB3+k>?J%pM}$X!9_zGT*r0E;JT61E?$2l zbVno8oxvMI8~n+&#(Nc;HIJoKUA%M2&z&;ZJhZ{>U29}Kai_@hjP5Mo-!mOqfEW-r zFxc65_LK}R6FYu#LwuK%!LFeVF6UZjsfgVo&+T}`>!n8x*AK1H4xgmj zj>vPnxgODuAr&ug$T$)#8MsV!^n+z&y2OOsa9R03FrdWm8c$-5uZ(}rfD(Eej|cMK zj3-h4^9Pjh&i~u-B-W30ahn?5n;OFZdO(TF&Kd&ZkB=VFp?s&FEqA4747?|_!8crM z%R?L=d46(Cke`?`I4QKj#s%Z)4;Oab)BwAuy!!SjUoLv28^BdU8{EdVPEr^9MV>p~ zR(`vb!5u;yJm0mxMTr+g-T-e*d9`!=s0GvK?L zgHv7WY_WD)|I=eaZum#fSN&t-59ss%f8=;!KO*k$?=!|q{@XXK#FL$j&55+4Y&mH2gOc}g7w858L>ueqI z)yQ+Z*A~+2|Me8Y@u3a=;JRe+$H;R-{Opv$pFp(g2oXB%K{JANE=Y=--xk{hE8i-foiu%qkRBgA(~8SEU|;0CUBikG-y*_ht{uavnuZeZ|n*BT{W{Ac93A^wS!!KXqSY`1VM z8Mu(^+LFPyPZ?Yo&5=EbrF??UniD&?t~Kl^-zjCVb7+IFxz_Gz@%6~_jJ_d1K4oxX zXoH`+){#Akf5(K}@Q)8v^t;C?itk^4+CW8*$L7?3KTeUpfBl&Q74d5NUE>s$|Ec4Z zR5XPDhXWPmRrr}!>E~&+!kM8Bwp}Eiq_Dhzo7$7@|H9BX{!Jup36+ZlH3RL^Ou+V` z4X*CGWUy!C`4Rp(L+a@L=f53OXAR9juQU^ItqKk_`IyT}hn8Qd+j!H3Ik zG+@8@NKD8L$H_mMGWd9Cga2}^4OH>j$aA~ru|YwceWdqtjSRD-sZ|Inx{oMZM!&MEur zbNT^M#aCgtWg6e)HwRH+&eu$H57!QD@Gq`Q2G@@~Kf*arV*8bI*!cbJ*G^*Vtvl+I z?hI}i+TdfZO9mg0Ja_nePr!-yU%eRr=*S*_^n~YsYQ~>fH0^(pD4vQ(V(`4h;>iXt zbX|M0;V()Vyd<>2VXpP#pm=TMdC6QSKRjh{q-*W6L%i%prwoX%xvq7He?4Vzd}xFB zEDg%6i-W0+Xp$#tUx@53x0N#=Y|i;Ka?`~NN9uOT$c)X~C~T8~o9= zj;0f5N1m7HPx3#f3^prwV!bt4Gtpe@#3!*u`Bo`|twS4J$aTqJ`^a;u_YmF2o?ihJ)huus@pLe-L~71dXjK?&G>Pr~At9moj)jXoG`X zYp`PR;K*}__`xZIhlVzIwQK$UgZM{G$PMw=qzqmg+TcyDHENQ0bL6?*E%KvN2FHXp zILWnEq4;*>w2SwDf+;D4(?T1(t#hnHc&F>ylEL4VGI&pDgD8<6#zycT8D7jkKmLUA#qtxECvqu0nc>l)4c_QlC)kKLM_%{&pc|w)~Wo z!D*ol&fg{8>|k5hwKqHb0x5&-(0qO%R`m(G?2WjZ>srIr<$I%I6u7fm_T{adeT)=g0$>0}E8C)o|!NpzcJbQ78$n%Wim-I}ZABYZd z1B1)D)-NVv*T{3j<>b4i46YE`;AO70vr4=?@&@>3%B$ZW<`_t+tdWI&-$+WaN%yA= zq@=zpUDs}0^Z(mpDZRO@-UKG46$U4VHaN|-juI8$i9A0U@Y7QU-wSQ9p=&&AVRP5D zXYD-l^QH{8D2K5YVoTR0gRLUZ9nL4;I%RPF&<4A^)&T@!kH~YomE~7S8C)&2!PQm% zA%N%^6LP~f{`o91Gl$ZH=08z|T?!Uni; zXoF3zwR>GGMV>o6O8)4S!DB-kyu)?L;GL1@b}=H5`e%>ApilqjhXi5q3QYWbVWJEXjIT~7A0imd+j z{pE+OsG-4BSE;HWLd6|2kFTUhrJACu{(UWdcXwTUTlI>n`Zv0VhJ#pHM~bU1P*wj% zO7~ku4?;CqRsFkE`ju5RHj(NxRrPP-@@l$n#OfN=RQ0v0`nQ$x@xPKU+EW8$t)bPT z+C)|TyF*7UwbYw>I~C&tR{!?fAOG1LsjP%;c3!_Y7-RSTE2{uhzx zm}&)aMO81=nyTKZ7&?YxXc&frVQ3eMky|K6Y@rx|g<^mes>?CD?6sTuN&s_RnSAl|5&km?8VN7XvV>XH$vajCu*sb#MFXj;);%riUm~^h z=~3^C)T?JiUGO(OQB}vErBPH>4487Os{EDy`&zZ$*$oAwrZ6B1^|Fe=P#EZh8j|X4 z@f=k}b(!jwRE$qTF)j(kup`v>sd&G5LG_pOqK+3&I8W=J@kl7f8=)qrD$dulRn?fP zv$%|EMyh!(&?O>N3#%4U^-!&>>Z95~wR5UNM2hiCs0&jK6Ng=(MS80Q^@wVmYP@QK zYKaS@Rua3bHdbw-+DWyu>QEJ9o1B#DOz|w$J*sQmKh)laJS7i(#$dZ<=b^-(bx$~LL? z5~;zdjup%NcYCTAMQT#24@7EKs)o^iy z>P6K{svlH8s=8jP^}pPuYN*;?RaOmA-K@GrHD1L)5z|%gs=i1yTckQxq7D?POH(~6 zQtzgk|1u2~rCK%B*&=oKWm^AtOH54FaJk+lRb5kUD^jIY!$j(F)jw4)su+mi%~XsF zK#ft2RdL!r^GYD?8ts`7sNZ-3Q^s*_Zgs4i6vSB+4uF*0gPaVymT)vl`1 zs#{eLs2)^3qxzR>ylR4Kp6jDJi_54=s-sk&t7fS7zrm|qyd^=Md83~7s-;FnZ6s1# ztF}??rrKRKNOiF4id0XF)N(gP?I!N7>VLD|(p5{{61Ad8t)1#X@xWWO{;!vy?oi#S zdMj0%(YgeLinHOV{wmIJuc$6lJ(-G=(5Z>4H&s(qQ&pd(`d*|scbr;SwTP;-YMHYB z>!Dg%wT_At#WzWHxJX@`YK%y|nQFH9lWN5=QM-uLxKzuI)u*3oHPz~>tyP@fJtWmN zVtJVUo0013+cfy8YMP4kxmUeC>Jsr%)i!i5AB*kHu6xVyCxO^kUA2f5%N7Zco8#j*Gl*ZSl7eq5@LdNLK)uCK>6^>n?wg5&wP{2iCP z<8pRCs#bq0imT0Wg*h%B$HC=X42}!HaVH;iVK__ zrsDc!6xSc)nqxW=&5O%}aY-<)_Qe&xxOx{??Bc*NijxzlvsLG)IJn@nm&$Q5D=uKg zwW+us75m{ScB@ld?up`xO;o#AwC+?Kc13Z4B#H|l?Wy8=MqI<_`|(lDC+Nwk;_^ZK zw$IP@LsY|6BQRW@hvMoxTycl1=TKZ6hYRAcFPGxlHA|?t77f>*Sv(b&isAAwTwj=d!2WYk2}n<_4J!No1+o~ln%71y1hxUK}(l3)iVrOQ5)3$FFRbsH!y%fO`= zxU2%jRT3z!dO&ei11@C1MF}V_GC*++0j?XsQ2!J|{4=aSL-sRFKO^o_jG#|3LO!)W zgVS?FA_x0X3`oyOB@8G}FWcwS=gzgUInV^-%j6a{rCPs6I45^s((jF zKdxHnN3Ca7_3z@Jv}s-FATbr^SXcjERep*5EvnIV`Nz`B&845%Rh&;<{X0~;u|fOw z8ua@g=S)}sUeSbh^1W2``P<5Wn)`pv*U|5N7pksQ@ndiGk4MXiywz{lzx>wB0J<6+ zw>XI5VHs=omtUXB7+aR{WS5w?`EP!m{!ibIfBCJr`lYn`CA9p@FP+sdo7FFg)$fGW z?}E(C_A0*jRlo1?J+Jx|uKE?L`pu~N#ija1gtiQrNNGGo{r)9URxzj{;}cR>rD8lm z>fuxj_s0-_udCiry_<@`^%zi(LF|6{#e|G8+Bub-v(z~=owLq4)10%&DNYK1p{>?GXL)mGHz#d#qPCxe{mB2!wjihM zayl-j;BrcB_p<)u6j@G-<+N6cvsO7%l`~B#P9){zQBDlyWKhoYqICq2dGB_85^DH>Eg3~5ARf3ZV*x+Piv%1|- z-MC~LClOS)BRCI$WBjWhXs6R(O+2Bk?0&2&mr#|=FSo86i1*_9AM5tsOo$8d8zHpSuA9AeGk(;PC*(a#h|H*-WYhv5F&R(1K;HmkWY$KtYy%$D&l zw~jf&m7`bx(^fLagmQc*#qpXHhhuUGCWlZ`93iQrB6Si)$L0lxIdTMJbt{*n5ZNNG zZoO8wV5(ca9K*-)c^s3+;dUHi$Ki7vGRM(yY2&ish&B#Rqd3@%;@~l=k7@%BBIDpL zietApUW;R|C=R8fI8=(mqd3xu;>ab6Ba=89i35!|xQGLXI9Q0|fH?Mt!y$gTz5l;# zWpi=5-?N$hpEj@QjN>Y9QE^xV#bFN|>cCM99J#=gUVDRzmo8=NhjKeV;0joa$RF886msAb=^+Ptft)hhOSvZs^1nC!Xi zsbWVYI~m!r$WBA{6P8r$_hXmZFE?Jv*n`GiGxmT{?BM$KjnI3Vk7#_gS+jjB6Gt|7 zXmQoHML~_NG`n7Qi|>nqy13E}JN4VS3hL`hKiPREw4S?|(7JNe^^HrnxUtRL1+{18 zT5f4?&s|VsE6;GtduPpE+&ioC8MmAvO&wNQ^akB>&kou&R^3?XgSCU(6x3ps+eS9F ztDJB{<9y9~%lEFFdqZRA7XN&pO+jr`xzBI?gKn*Qtujq^p0~QTE#B%{ndipFrRQnb zvTf0@UZuNqi}|GITd!?lai<60*f`%j3n^P@y~;^UUqX5bO>cAwwO>EOtMhrlE6bk^S^A~RzJdiG^(-lJiG7Hwz#ETWx<;omu}Xw z((@)wJ@CwS#Zr~MZqn4#zi3y?ezbCyrZzw2&h}bRw<&Hu{fx%q-pWMDxvspf^3zR? z%QpXZRAaGCrQ6Moo#)+b;KIe^rnxHXU*BfY%8cG~&sRC-=Eja?))0Sl>mPrtBL3zs z;+q2ND12;?v!cS!<77pJpV!Hn3LoRUvbw^zaI(6>w*+NhVG*>T6akT8z^AU6Nu^YuvhAtZtf}n5jkds_0#AqbCn*qjhnX{5G1tM4G;;UL}Xs-Tr?0 zo$GGDzV4{w8nyeoQ~t2J>C5UxbeN`B@9%~A^pZQjuECCaRsF55!6f+^n$C-frM3^R zu3j}iLB4IB-%~g2Sm$4tUs-;=)czp7xDKoHKeyGPYFDX4Ufn$6!+BZOJ;L|pZ>*a> zNH5d+B`{0=&bsOQ=~Y|51m2V%S2ukRE!z4A{6S9zQ+0zw(+u=)Ule-|X;Yk>{M+)y z(AxBE8jE7c(8}6(H2$T$%|O%pKrET37uJl)_fP(qMfAFquddpLMb%H8KU02&{1xf; zJL~P_{DW$~+u~YsgKGExx%@Wr)%(AH39Y)Z3aTCKzN8-cVYO8=*HXHJI{$b1-gUlR z2i;+vA1%LUo$uRG52()nEI*{q-_uE}?tBHE(<2zXv=()p@1hAa>ii?}9S^VFe!wz% z?i_8!O{smWE^1%rAClkZOe?zRNzQX`{blvmb84GH3)Y`16Uqw4)&+-l)gqSH{rU}N z$`857is#a6cc|W>>mT8g-R4{Z_sH96wGMhOuj!Xs!3P2}FhTxHz2)egR<&qR?zlox ztXbFKb@^@T{81|wMaMedZKXLE;WYXBMO^7#6bI_|)fYqe9!1eq=bw@vQuF1a@5*yN zsa}vjr*?y4r&Z>B5>A)DtZw?Hs}{wGI=}g9TB3FSQ+(ZX?EKZWiZuOVUjjR~F1qSN zZqL)(6qlw&K8_E)Gurq8sJxsvSVMCxe|nn!tbE76wJF9Xe^M_!0QuXKUu{i&W}aF3 z*WHc(nCtw_DhJ)uxYUBZD{TrrE-mub#WHK_{wkF#l$VF?*P>WoA3v;`e=47PV2k`> zSZy6W_vEY7?~z~m;M(*a>*~cIe^`2IjFlgINNsu-yH#)-Q^C>-=l-@5)zKb?@GDK7cXuGwP-hRM==Ys)5b;7FkIWd z>1Hd+|9D;H{`<5dZX8*g-yN0TIkNKceU07A!)Dc%!))c_uCFbJ{Wj5T)lGj&enQ>! zWj9qvU$)3^A{WT7T<2%W?#s%eZJobVzT*vTiv7|9{z-n=4V91YZ#-nLu>)J?XTW`1=mxjc9@yer^3rOVXMBi! zaZt6Y9hWz|#`m#G|H9Syh`A}o`Rfmmj;~NybK0n#HC?1rrc0WoV zSM~RE&@OtKkF6Z^ke2Sa##Y6vdN1W+y)i(yTclO7d5iFK?W(7Lr&h(s^MqeUe(G|% zeOkJE$d6m0RdH$ZXUOl_y;adO-QRfml`CsKtS$GID`!63xW``OmY*-r{V{v!Vcb(& z$cyc%Tdz1@UYC!^?aDK*GJ9)Xs(tlQJ}KX^()ST7zWRWx z^H0imtn-KIIk$41Uvz)1lsf;I{5JCErG?&ffEI#$b)^&sY9ZD6ix1>YX@lD1Tuv|k zwsrna`91Hgt*!MA(z|J$e?k5#`Re1^Y0#V%d@-Q4ek=oeo zeRS($u5^bDO?rM*j(x1LgMLi7TkO8_m9bs9TYDD z{6zVkD&OgDwjHbAbb6?h1r>KL=~2F7#g6hz%kM6Kd@t>=*4;3Di2NBxw(*UmPFm#` z%XiebqAybW7DwroePiXI$N9v*KzrNOj{7-W`P3y_6wO=5{Y;gA`s8?Saz6_lUHG9t ztTJxDuKb=S&!c^mar=|xXFT4jxIX#2OWA)-Z|Fo7m!8mU4h;A@!?-s?i=>{LjvzMlNhw~n%>0@;O zM4G;|eD6|=Vx~Mxeoy&vZCVxc%^UtI`G1ayS1&X8sQjV3>VS!K`w3+Q9Cg9_2a9OS zZ4r;SuB?BuUt}aSl8M*x9{_^6U^> zCHZ+z(zn%{V`GI!+(mxeEGsrl&%HzB&)+4s>NG>;;_uwx`Br|1Jfg?thaAz;KZfvg zYZY;f`Yd&TUsRq^%XijG5WkCj@q`r}QU`a*b12}KX@(ky=t(^`wq{rYE6VfZYdpYm zt701k%iLOfgvZFUuVITK7WsYh93)*`0x!sOLQM5J@vS_2;M%3z_ZX^I#YfR0Gq|mM z+v8gK8z?hSmVasU=EWy->j9J%j8-sp@7gMOL7wBq^aP z+~E%L<35Y;x!nFk`IYq~WXpr;3!JKT`prB=PrZ}jca)!ccD#-895_sV$QgN^7iY=0 z-AcdE7DeUfry5(7xA}0MV$t-Hc}o*HIA+x}_x(;QiodU~gWXbRhsp0YK*y3Kf4uxL z$JJh9=gPO*Oox7^>BHpN!BSm)|4&zE9w=k=KJas|yUg6Jn=EP3*g}%AWRJ0CcS%Cj zSn`$7m3^t1NDJa7T#6dmRk|fa$|Q+4mm(oelq7K#EmHkH&pYSLd-}~E+|PO6_w4I) zp7Wf);oxr`HB&z?^EjPQG$TWOq8<7$Qr?e;(kn{rhr^NLw1fu>VgJu=aeV>@e)6j4 z_4mKS7nq4i6O-@DQVybhC!Lh!ULG9T7Z(Z$kA8w0oA;(i-K{-HeUj|n=2g`-w}54b z#gyN}aPFiuHCjJ^2Nn%0$r17JZ+O(C990pP2;A@#OV|Z&4t0QE%0qKYe;*9t5PmQ| zi4hN`!J^zkAL4lU4IFzdRqY}VrF^d@?__g}dgMIMhwVONJ}fsNoG2B4e+wMx?dI4Q zu;@2S4oi5Uzi|)+r83%~-7Iz?X1krpXjnGGOc@@4^FQ|}s*K~oMYv=@j`~`2%h~Yr z>FQ@#BK)-QXPHVQgTh;3*=p7~)=*u-A$p@nrD+eUKg}Q1aKrb(;g(*-@b7pq1NIkg z`H0!2Y+GKdKdV27gj$_x9xNL(?e+6#U^y9N>h5}2w2!m(^Uq<~$~O6M?Odf!-R{1B z3v73`o#)a?xIOjzU&8rY-4Xt8xZul7 zC!-~!sud{JyKu|Lq;ozCC6D&zS)7Ao;!Q$c+W;3?qf*6Zc)rf7mg-<`g#&%v4xKg-HZj!M<(T>WAd` z^T*-5pvPHR%k!0RJ0#Xy_4ixg*r0UvRNeUd-e>6wZ$m9iN5BV*>V7R9f!5E`Mnx&X zw6W>DAPVND108{xu;`hX zUTGUFN=rHV`AK*ib2Zb8g;EwO(O^mBKsz}6f;;o*BaGBS0+cL&5RMk5t9d%hx5J`> zV{-6k*hif)@0TkifmS!$6}Fz2SL1OgNoH=P16U3hZ7Ll88MD|DKD?7{PR0B7I`Y*KjL z5^`)@TB1L%3(J=Owfg-*uqZip&>V&%sp)EiF4~Y=K7>UPMLICyq!(E=qjO{;*bOe45nl(&_Z#6AO$!efQ@3KHvYeb1 z_uC`NIr1ZQMf{lv`wnHQG@Y>Xa0v^#B%L#<%U~uOJ9uBduMQ7nN9!6`64DNit#unw zUpUul6yugrw?w--k`xc{C@ql`0?Yq9LJWf=%`?$Em`U#;dr%&Tfsvc0+1M&Udw1p z*KeLThee&Vf)3ygI5?)T=@+yn-!nN*vz3VM!9CpAt6EUD;!me_O#3FI>8-z;1dASg zJR+IuYdH3B26u4B-*5UdMKuL=5#AU7dcbP2R}I(xJqqu()*&yxEIsuXRJPQ3PM|@p zeErJ+OMz9o7GV1E(?){?&Sw)+A>V zvvdGGUnM7rKsRqZMcZLHA$|wXB}YDk#hBg{{eH{!v@YJ49FgZiSat9y#$kuoz@msx z`kbQv5tb8Rw`i_V?KM)oGE;r3v#1R$3iqa~e;N)BExdFl9UVNtW6jZw2ZpUXXKeCM8?p>;asi(GmCn&MQG)Oiw5gtoa5Hh;S+WyoWH|#+{lU zfG4sjx(=2I&WA-0m%-nO;Ho#M&0(eymGlR{@Is`cSDn^eaf4Df7B=~^+zoYuJG}{k z%t)LcUFP-{v*7^UNe%tkHaM^FDLxDRLnmUA)9+2?sP#&6B!5Q11=K84(2v3S6Wt~B za#-{X<+;3n0T%VYnVNghokb7=-IW{9j$?3mj@MB=k?gs06RoxAe;(CX$E(36>4)7( zM}IgLDC~5oT*WKHpT;910lkd-{K83xh`&8WxM4H?(2e)i;g5tPNL{4<$Y;}GKgF>` z7w5;YoWnBnXYX62rx#NW{k#n&QY2a^knYg z|JKVvjkt&7g{@iJ2Ka&It{fu@+jAuE+q5tOG!g6qr}g0kk@oLyI6x}n zgTm){uhJiPx?+%9qSOfHh>|{u=Oox)_|*|=dhx&u5yNpTO$exRHq>ZUVn1B)qx zEA{vH!$lN9DgFI2SPpY^(9hq6MStFe7rKmt97{J1sx0ZNhF35y=9{7N(C z-3=H0lcpZk5t=T%-m7lb?{9%4Nbn?wBnK|R0jB*@B*NuBgkMGR6{e0gQjKsZ80}_h zAGp{OG>wOMGs`xWaxomeT)6I-%(xcisQz(}R0;06k7TN{dcIL+H`C45@ujB(Tpcbz zuJWvo_!u~B75(dQ2#E-+#6*Hp_h%gjjTTG zzr&q@^?-|5+nUNb0xo#Yo!vhPN62|ox0b_l#?lmZ^^aKC(arlwu#`;ukEpznhuv}i zUS23h`9aE7Qak~^9=S;!&2!)wYhx3@Yw)?gap{4){~lbx_h~wSpWxZn?7!~EG!7=; zX5#a|5DvvhGnH3o>2q*kN`|Vbc^CZTLid9&;e14qnL2=Tuz#?dBUL|PB&0Hz*U!7b zQ6xnTG>?Xh%4Vo)utfOI&GJGMkNQSCRQQzUNEWr!A2fx<(g?3PSvCPKrp!$dY=q?? zfDCMsrB{B&8o02+x9n}k2cXjq1g2gt@C>^^qaO5`5MG8N|?Uhp@|a>flwdG;5~h~8uhr33WCc~qP$G|0bkKm-uXb=EI*g`@4= zZhI7Lk1Gq|@KtH*{@U>z`Uj3Na!QU!gs!6o7MEpUh9yCF!6%!!i>2Wq9J(UiHf8%L z9C$N5@9$M~Vom@RzT}TJ-h|YsHC+5G`{OC` z=TE`;DEgGv?}t9b!OKvcfrDhpe)tzUmqz-97_5f5+YDD9qB8&GRlldlJscoRQ>&}L z9|xBl&QMeJ_Z#56k?vO1URX{m>mm=STfSmi%__;%f&Q@AM=?dP81`wMA&KCdaJU}J zJ6%Z+!eXB%TSp-GFacVPp&eXg$y!Ilu_wLidM5|jOnp@x_IVX63nvSIf$jeI$|H(O z>XvCuxa3u@8mUtlhVxE%)IT}`YhgLcd|pTJQ&Lxe4R>I5Lxx%Zh za6qN2(>i;O9itPlrSKPdp~&*EJfnb^gfh`@1IMgM{p+yUzqm#x?;ChJ%j^j{0VQyd zb*ah!va$aTCJkdD3J?v6!~o0-a+u20$U-E2HJM&$#cqvhbN9hwSmV!9@f7|F=g|vw;(bYR&F@)>GQBqIqAsux z8S-O1CjlHW#39$(JDLOg5v52+FIlt-{)+i`GtEVCn1z)Y2tI;+i1$o@7vLhw{8O@A zzF%;XB4oN;QAg-4IERH=4TtFjj^mI&EKU8O16a!+zSC}{*#Speb2?8yzYN!>lI3Z> z>J%CsER{_JYrzF2uKvMRSPb{HaRNkB5w65GX(RbwG%9|>Va9Y<0-Ez9MPRjpI>Nou zRk9ASH(YcRr!+OsfW>%LUmd^_*k|omd;!Ns##J|^NJ^hZtQU#TY8{P=`Z$cxvqGs< z9pT_a_91nxodQRg_SVt?ZiRh4GgK*^#TVfi(hDEY<@+)}p#{i-zzl`Az|p2&XDpW@ z=?Cjy;lHQRs0gz-xE>dY-BKRPDSwaVO|TeRXrZ|n_U-bhJ+OFo8jjWEG^pk>XDCi9 z_nO0Dc5`3U&xgRaQdH=SD#aPs!kIrYB@*jAQmzt_Yknr%t(oN=u*cebcmR$Z$y6yi zm%e}trev#1I#)8zl8b24Wa@x@u$-U1N&DXxE)IIsWc_^bSp=ymmJsMsd10kjJ*{7O z4i>vbsoH~AgpsNlR_Bys&!mceJ_ueiyKwRu5@xFaeT;iC`Urz{lg%hmj%6A1T?4q7 z;x-e7(Qqy+W+@RV-Y4Nh2qVjA-T=!1P!o^SaDxw167z!k=jrAnYcm`*R4KCO&od6h z($x3VXyH9@?)Gf;T}GULfn)c1)K~(L=XHM}=Z1I{Q#hw&M#EyZV7cbqaP&5>)5PWd zuVH&%>-;Ybr~^!^>uV41`4#>!EwO_ig2hOWsdHQ5e@7I4^fNhE^aQ%%x=1rGP`9k< ze`Q#V{YmdDRpw6k2$%gv*`>@{{V2{H=q`2ku^Ewx0fVB3P zMqVUkEL%)bEP(?|It_1xbCHT&tt0dc>@UbttYn;=eC#)J(poVW!*ZtA6n)v>mD+W; zD~+l2doLywEY(d@Zp{mRt93mH53`;>4zux|*b;af7L#eUbc7DV#nlU&oHt+@0v?wxYz`h5|jX2Tw;N2NsIcyvA#KK9aUGJKLHoj;zYI% zU?VJ6nM_+a0)J=i1^)_*6$X>xH~mF~8Nbc&+v+c7Bx1&;v5vqXUdUsw_bwg4D{%N; zuX;&8KL{^uiy0vO{3I-9U2^pEt1eSz(f2bc>IRDbpX}z?U8s;sdFqH;`2Yv?BAoH5_@n@boWqZ;v1|zY%{W;s6m>|3<(|3MXBpZx@TFCLITHj?9Qp%q7@b z9D|4*@v80mvvKfs)D|=JJOxMSN-ObPf>{qoseQwAw7!AGe4DAAHM5B(A}G@l_01-u z#S)ebmQr#9c_CJaDuYhP3$WOMyhcC&0v5Y7_i3)0L%JAz%mgk1ivcSWz#iDn`0KAA z0voduN^otj2;sous~H|jiZ}B@-gyj@&`yQRsjxzv{J8#p z7hJ%~-(%Rc(E z6*!CK5>q~<%TPXS2|lA+N?X{+=5-_e{$M!DY{|U85?(ih8D z>GAB&FH40GVL3AU=l3$zi-#i*T9iGnF#BV z$a;j-+etp(kXYae*`X~5}HmR0*hgK)BC;&htc{mMe?z5 z5vxLKZE1!0p1&%+Vani|M+kwJcrL%^Ctm+~d4nq%ETwhCM@CcgTT2;KwR zI&)!I%xy}5(z^G+%1iI2>%gs*lGL0f?x^1xR*&R3Cssld!%;Yl=0VLM7?W2{fIhUErdYtkiW!G!+(;X=Wf;4~ykO6X64JF>+PI7vU0108_6j-6{ef zv7MnL2l8;p&+@8`x?@-YFX07Au{_@fe;08p(FwT7nir*3BZo>{k<;_=ik@yy_!=C1 zfQxCg|Np{b4;=AZJPT{xNTmqos9CU-@iaJS3FVf+VrVG@}_u^omgNnko$mk4Qa-%2FmshMw$6~3P&4I<% zv+-{m>^q7zELH`Qpn5m){x0|VGw|8luyEQ@r+76Ewro2J`#JgAK-Yo#wa6jP9+-CA z0nU9eu0kXM%!Jj1%*1SD4J;=1Yv}~;mG399p{R=>^=7*6y`eN}a6AX@!XbuQw9H+l z%%6sHF)LC=^GbP6yOzOTo^OHegFfHGVy@o==&8;39D_2G^Tu$bk0)^mVKLl1G{fBj zd>4n}0#|kQTUf5y@aqVsvw{=jkY;qd9WH6?ae7M0fswFSJvNi?Z{eaw9@RjnxK$ng zIOS1y=^UL4hwQcTMjXO)t)&T2Jp2>3Pnuohr-;};GF@wb*w*aGhjZyUr|IvXfNf>4 zH(>wdG^gVc|1bF&|BE=v^d@;E4uk4a>zPk6HaPqa97c)Gr}6%Rz zH-SqyIV5#NI;H~QLD(PByieW_yWf}83*q5h6u9+_q<(#BZN+SLoZ(G87z#%%5#&-h z@|{QdbTiup2i|Zs(T~Dn^{%!K@G>mdGMH9Tjk56Pc-4G8nhprzAV%Sl*f{|{2+O4c zA}^5$%!TC+7}NE>1c#?)sBQZBQ8>3f_d4k^t;F&9v20J6j;kSD^k9Y>&ij(X{a`WS zXd)C^h(qvY6drUX`4G;x7W)_A66VmObc}m6Bm&1h>U|x7neg(;?&_-$mfLJh0I$Mg z%h}YKbMTUynAeVn7gC-^WMNXKBTJMRwt)-oG3r0ps61Hg^PACa8k}2=)4(KAa_A$t z3DSS5_455uSd5FC2sCL-5u<}*>PR2h)mNhbdl(1op(_4$^og%R zeY(0?SF&4S`#fA8oWD3t%^?RQ#ZSQ>w{y3R*TN+?dDXW%hpubJ_-`FX3c_Yv*x7!V zii4Ow4iEv!(q~|gwSVy$?4v7|ER+EMg5{bFQ%Nf|XZU5#XKH;PSS~23rTu#t4kKk~ zr@#LU_BC;A2E@nzO1CAcFECAV9WO`@w1OkiG{@S|<^Ba!#jEbuyb~_oh)gb|D@myU^YSsSlHB!h zU}0KfBlUl9m|b$yGcJJbqw5=CF;HxlTE*~VY-O0y@;CY3YS!gjQAwG=B*y>7IE;AN zReKhRsjrbw9&Cb_FE|CB?V2W(I_4OX`GhXE=&rc&X+= zFxR$(5|tz@FQ7j{kvWy{H8{wekbcMEQ}A%Mp&Dww3>Tn6{Db#p)h zZ3>H#deiZ|4#%3sSJ%?2zJ`krW+wJLF2aG3bqFx49hHogkm!X7cD{>J~)u-uR!UA2TaxC7&V z6y4rZ+F^AEvixo@*6QOaI0}a?rKM6GdCu0dWU-{M0=%2)jFEfPhJEZNm^#!Kjoa0U!x5CjL8IFRaMBo?L)_?GI zW+`SV$4-LP_wK^x6*!1Cr5TKNg>Z=7;~vmD4vSG})036yLQfS=O9&)xhojbNc|0t) zA(=Vi68L7T>wXUopNm^)lN8_4l~%#oJ<}0|9>O7rQd1|Lr3+xWTJ3!zE+6a^wwmRy zu-%R`y3utr12WCd2Tx=_%FLP@!KdiDO-D2sF51sZC>~x&&Bq~P>5;9611K<>GTsB{ zvwAfid;{C|5wf}`smq1#^O|sprH9rAmdmEhaD9)k))1^L{ohO+=ChkxL06L1a2{(v zkwQwP`2e=}uYZQcqOln(8syQ{CeA-$&H%Pgz81n07v|to+`l!j+^FS@jxzr5z#)Lb zg^w4cQXPiH8hr*VMNqm2F}7qvJz*d3n;aSrhsPqU*Uj`vIB4bQGB}Ei$q3Mk;Q$LA z$&rwxFu5lk4}G=iyK~@tMn4HaB2XI+KIC@IL*VG|7&_Dez6FPw@t9iu1^gUSGD)E% z=!|?%gnMiD+`-t8k}5Kx`1pSd4h1c<6r-&3!Fo9Fus3lI@-%E85Krnw3artrB7Ded z6+L0GYHd22r(m(|Zi?(vSndZYBjdlMupHCh=&~&JypBLUxR^?0a-a(=rj$*yd>Wp` zS}>OsNe(W9^Co5}Iyff*hv4Pa;*xC1fxlq6A57|igjch7lFI19?yIc-<%Q-r1WshA z6MDw-Fs!C?HcdY-g8hfn5=u75;FzUZmvdK=lB=0a3LC?6hok9wyTWp1lX?CyEZ1o!Oo&{aPezyPgdq`Dj`}Krk2-&=a8kQ zj@%225qTpkE`THS{loBEa%hKq|4W9tm3A!=y0JeI4()e$f@k0`{GPbzR9;vL`&hfR z#RK7Euzv+&Gisgi0|WkBDPMtO^Wv5kr3hoN+zn?^oPG}}Mw(s~|Kxd9IMgvOE>0H@ z8{i<<-kEv*-LP#0;2~Hp7BO{ZIV_h;+^AEy87{JH=X?tL#<9~zxZ;1#z2pc24AY7p zx|i|aZ*?rIc;WdwxGqVjcoXd3;AMw6?!igeK3Sd;WUXfjp~k^-!;xwCr{OM0!OXNh zX&@0o3MQ3Yisa^jAp)?}6Y7$h}=AMo+>WDI+61UJb{-Ku1moupJIB zax3K#STVR%CoxNLqmPDjAtd^&#XRnW^@F{o&>Wq>D^8Fe(%vkavuStYr@Egc==?o=DLaNSv z|81Ak;NVpms;kbjciMF|gyp6~Q>$}^l0%KrO(sCe;ui3)9bBE)yW}}jVzYzt zI^2ASkuQXAR9}@~o%+>>rwDYKJT_h9Ww)7Jwf^*=@ zuefFW8Z5WonOgrLT*ChLV)p_)#%^R;Tzmd0`1MAl=vRf{QGhNGIWCmE!GMitu+h-|Bj^9wY+CG89r6 zrw(+2ZQ1W4_$?NML&6*r~6=v@_l-N4`42S)Vxk^)ia72m#38xHuw1(%3m2(F z17O=S-6Yujq^n*C=T70~3@ym~41VLPklQhoeu!pg9cZlqmoV*?k0pzH!)KW?NjsMS zC&Rf%(^PZaN?wHJz7R9T`Wmi5zhHz~7vLcbZjH2mNn?m`$U5s?69>7M?+G2itFWzG z_Z=*^S?1~IrN-p4xv%e|gAX%9RT2(WXG`j8okyk8%-%@aHf%T;P7 zg6m+pdY7@vDZ&F282=lyS~X?#8!yNm?MBFS#Y7@-t840RI2^s-J$X3`&gW>Usf0UV zxvsN^4&cT~NosQ|x0N)6_gO2gwjmrmWU*8#$>M=3O+7r=5^RlLrz{{H}n?N!`% zc@Pd*lhUgmX0Tbu-K{zWP2pU6MpI;cgqfsD01|;|a8VS!f>Lqb2$yKP+fu{_V7c|0 zWq_(I6Q4f=@R6Lvo`wyh5rn(64p;F5w zQ)a@k0FH7RpqGCCHCS%XlN@&B{|9g=C`of{`$`0UgWEUcwo@IUq%dX5=w^Dpd*I+) zcWhV)7yRf=9MU-o$2d}N`ug8sTR*+_qpTfgJ4F&7|2yHJIOX%44)6u|6Shol&@p}w z&gUp#cm4c0ESE%^I+8Ih$+?!(2&+fId0%tJ9dD(pJ_ZMohBM(%l4B{;5lUfl%US=6 zLuDL%3@#7p0NTSH5|hMhRBt$7ElwB0jje6Db+EmIvK@|INK-O9mmEC<%gtye!W|x? zBjfwT{{H|R5PW&2yOKEv2kT`eWV_eQAjhmT=nuiMhH;x+ z5`nF71o3`bodbtp-#W|{_0q#()5q};LF70cU;!-m_&T)|56;7FtsKdC0uNain6A4z ze2GIj`Ft+{`sI0gma3}9f(>x7CB*sx#(+vFu@dGN+U5hP+@YPnO{1m?MoZC!~!-`g;J05ir9$S_1U&dp};>I(n^*_gVGKCky zf#a@WgSX*mB*#gy)S2V3J)yW}R+75dJ4HRJbD%zKn+eE+{Tz~*tDoNoHww`cnV#uI z9PE=?JK%zCahv86p(AjZS+9)e5`pt@o;B^hadwh(-LB~=2gCIcbr*~TocFTlh6tb}U&bU2rDE6w;oYV|QVxYes} z)9pI*8S03o&({jhea5S{=~_P(E=LiVW?cyT*y=T7$Lk>+8e8)Elkg$rcBWZfhUHc} z)0bD7N0BhRZr2eS0RP6)YLw;&;G%PB&hd1K@B%pRFv=|V#uM-(9A;r+A`nV`mK42_ zuGVM|y22$}+!@gb*xs0Y9PVcwP_JZWwcU$Xpf9PE>Q zS1e`2fc^el0+32p1-4DfOod|;)0|o@->-phw%YakurJFUelNr3CpG_y7pMbkSve8D zQzngY$U`~IRHFOgL)NVLCAefdazgx(GW-b6rQ?xy>@+)h-klV|5~2DpGV7h}3NE|D zvAS8#SRl_Q!zzOQHzz}0V|8A!9FA+<8{yX z0USk=x<^N--ZJ_TIyxg|>jCEtLjErf5`kB7D45}zjN1u^=?Ad_#|z7Qxf>F5;1X*k^cuW~GBkt9M{vzfZi)`d`vtD;FwYu_h>lGbrxIXu zSgv$8b)e^(5Y4QQ8{iOLXv{)ER=<*^Q(^mT`zqMp8T|mZPnev6Yr;B`E0(>4m$|h15?ZIAH?*E;l`MPy@@TV(~s1MsF z#fQTR4GCH6Nd#VkODv7Y9dLM=I|~l|C@(P0Hq+{kFO#BA+Ak z_CDWQc>gUa>O=kfE%|^mgQH=oL?>atwH&_y`xx)5=>V?ZLu#ug;P2Vl7k+f>qva2Vb0ktV>+1Ze4s-45F) zsm8-=9?l6R=IM)Zh&1&$_Xr zZpK2s9}C;3IOoDXwBgMD!k6&b@~r<&3d(FD#?9k~RwRG`Tx9iJqu>-KnWj#hf(w`* zn4a^7trQ^w1~VKtg7*?ZVezj&oX5#2sSm;nVSnhPdn>_i98?kk^Ma(H1P)A3OVO0|{#^zuy4Jp$SHgXmB^!l>Pv9W? z{iX;`z!PewIJI8B{}Wc$6s-1k#{UR=wPuEM$94i>pVl^$5)Y1RjheHYWZ_IFc7G6lJ80fr!@&6B!)NE!%#=z1XILf)9 zF51Jl;n>g|^}e1pm*4f@6Ayji;xb-me&Iv_4zM3EjPEPS`M<3=EA+2PA%YNAWq&vS49=gJ96${`zE|ie9r9|KZID#&@B-mO1U&Ns& zQ=&3BNS0;qW;}nGgX-}zQf=XXP*5<vUQ>Vabk2FhhFUE*3~am|A-V?2jU-sj~{Z)c3y;surP_&nQV3K$4s-S z)shcaQV0C-;Tv7a>J-?A8jdOAC2;D4Z22VX@xKU%T)IjV<1gVi=DMTbFYt3LrOeu` z$|tvFY$GIwmO&$K@&6VXpXG(JpEA#9(rJXz zQ{gZg5mk9Ebz%jaOFK7fzx{B&C0b4Sj7r6ML6gFYaF7j%yZBzpyd|8=obVpaf5I^; zeaL)JelH$Q^r!=LcJjd}_zacI3>J%FAGQ8r?ZH8Lj=0@CzX*pd1;v`h)Cp!hW@oh< zY<|*n4u@lt(q#S{4{#|C1s77)Xx)r%-It`Yo5t-=N`!jCHE8D&ptSSH;VeWhCIU<0 zsWelQpugb#vs1|3cn(+DPrtzV0IB4XqfOw-vj1U@h1}M`#x8V>`aK_Fyl( z8^dX)(w%^#bR?!#l>VGL!0vb*{e3O?s8uIA!uiiLcp=e{1TBFBp<`YZ(;xhS!-)7j zXT-3qO8qZ?aPE(A3;RJeohbledq%mj&gKL1c#CX|H8KYr7B1NJK<;wSN+jV!BY5L^aEz< z2(E{-$GE3v_Q12*HH*(LxQhoK#}-Ykcz7X|^fhH>?e{l?V`w@_7D|N1z<)mE=Ey90 z-iQpH?@PNbfdiOe7^XSx810;Ogvs)Dus_j{p#L`&hkR?p;d3~GZL%jz z#k0KAH$3MMiYdeUVLvSWfJE>q*cRQs4X;Bh)&zJOc4WQ!{n9aOi%0su8aU)psm%D_ z5)ORn?)OiCJF;4>ga=XwX2Q3eb){fy;9|y#M4f@{8)CkJ*Uxknldt#|D<$jWQ#NP) ze+Lfs&g3xI-h7V2F%*Y(=^Tl{_PLt!ba6U60BU(KO+j>C1!IAM?L8IRA1SVd6+R3Em+Cnweq~swe7PT zj)wN7I_hu|fhT?<%TckE;Z}GP-0$TSwNra=2+p(i2P&MwLk=p*%0_aqD;z@*DLtQj z{}>!u=pIgA0Nb{6_rswAYkdD(K46X~GaB)r-OscND}^E07OSm?qn57t$FT4AEVU6? zu6*C>ETf$zR~!i2CKw9OGX7T#u@<9@C5txmg7T!R`nt@|!Nsjz%dc0TqggUbHm#%$ zoM(;i55czGkRo~h7zT^9f2ZIGqTX6M$I6$4m_%-Lb+sFppcurypPA!zgFBXiW)rId{z?wEhRZV=nx3;C9Nmg-FDjMzw*iiEF!^=uU#P*a zjL%GyO$vL$K8$)rctJdT47Tqdc@d7VkXWmq*StUuGOcE{?o`6oaK1I684lM#d+t{K z{yf++RufW3aInqo{0+}z7HfL8<`;>Ob(-xC_{BTjj%p}e(9fgpq}@si*TF^aWG2kL zW&Or_|4moORR_M@D@EHIp#68mp@0d9OtB=z)8Oy~E=kp8wgK*ylA2IHI|2I`|4lnj z`JF7@j{QVE+I1Gj8ryuGBLiXEgwuGq#7ygD{9lQKZBTbR9I3-SYIqhFxi6s$YkZET8j-cJ&AKl}x&YZ=^x*T4nnkjnSY_`e5-V$SEw z`rPsGPdr2{XF8&J@QoAQ9g%ggJ&XMq4yI#vP=B9%DM`IYPiLBGd05di%2uyLpbuQa zaPBkm|2a6=Rw~|rhcKft&2S$aL||a{@vi!d#pfHYl*ARSPZHDx ze#DZ9JPiAg6W%QHap^jj;7}R~$1OUBF}Ro+O@`(_;V65(o3w}hFSBJszhIVDufqS3 z<)#(A4|izn&WaDfJ~|$GU&71ynOfJUw9dg zVKPDX`z6Mo!nVDi+o&BeHZBADd0%)dIv;uZ`$ym+TFHK$V~61UrEZa)g}G=Yl&Ey+ zNqA`8ojDS=PeQ*4zeEv9>Ldlb;UI_2ztI7tCMT=$t5Tfn9^`pFI8X;crSAD2gojw- z`Dya}1YKtX?coX>a@j_co=md%JRC*-ze974Qpt!~-PLeU*zTyFk>^OyO~1dLU{4F01h--B#*qolMmT^4J zD2W_|+rE{OP)Ph2?(=(!I;$d1vBe4# z-i!qY;qTd?FkNkpD@c(g`D_i__5xpm6_Qga7^$>h!$GESeH>=|e<(Lu4L#|KR6c`q z3)2$DV^Xe6R;8^u;QwHI59dj^!=@DVybfRud^e|FOjr9poVPb!HP$(JWoZ&TMw|1K z@xKcWEoQk3gCX$NcirLhN!V{KEQ;V5!>x2wlA^Qlv&aWzxRoMG#t57(ifsr#($0O} z8E(`fZfnMo{}08%KJ6ZcbCLa;_4;bqzV)MQ8Oqes?V1KprE4}5ly~Gg3lUk`NrXz^ zy!md|eGRuQ4Xf-#ATIy+;}Eu_*`wet9o_MK7Hpqr*a7!J1Hw!&et^wSnqAd$$!ZC@ z;?wwBa%dS`vYI2;daO7PFQUk&%lI!ZbS+N|-*PVp903Oyy>8YXY=v#hXP4o3Z+Fl2 zWL-^)r)E2|Vo7le*uH@6Uf9n$Av4y@gPn86gzse0TR7NTt$)e~96XBX=glkNAsx{s z&5yw5CnLjsqe|L5aliSck8wlUtDX7)Ioi_T_c zo=Xnxg3V6?JOda1OjoP3w9d6e(7F|*EBsfUtD1EmT-+gB&D9;(wbv!9o6lhXN5t(C zzz7_svUzMGFjM$xS9^UG?B__P8O^?gBUnEDHr|n_E4ft2N5>`Ki+{Jnk2C8nqj@HL zfrZXZnzz8WpJefAI+8jS$udju_#m8b2_&9?hcSgRbHr8fb(SgBop4~BJ4-$c$C~7* zn#@=vhyQ_pq}D$}1cWngNLDpMma*7MIN0~3-v{Rn^d#ndFTl;&9_gq(co`0`4QD18 zpToBCnVWsd|G5}32;1g+LvYC6#d;ryTx)CfI2_K-aBf$U7+0-C4p|0;TEMYyJ&B%g z9NdCSaZR&a0Pm=g;@p)j->-o?v67NmweX2bjQ_tiVA7~7(IsB6?=vq~Ia$?e6IZ2{ z530b{;GsIeH|}ru;>g@m5#-U)cH=+476b`c!Dp@L(W(6GNUK{Cn zgujCKGhbMxBYX+AkK0eLMIEtD)f|ECW4M>$-Hfi%6FTF6*3ERa>{>Z7Vid0oFS7Ij zhQJ=WW{HqYGRMI7g{lkS+1P>^sw1=wF2{H;l2yskUt#N?U2whtorhl5;#lBA!{fukHykadCN;CpcVUUbG^ zaX5~{g|FO$Mz!lCt3hL2t(KN>?<4M+jwl@D8aGo!Kf|w7cIEpw`bjaz@61x{S=c^X zz82ohUUIIC|B?gm;1EWIVvvsEWjG&eHv2W-T$dD3t4-J19X3D7p^iXfp8jAE4)#{+W>}$wVq`-5;0*c&BVsuTC#R++p6Ar3 zh?+BlBFm-BLvZ-sG|CbN8;t)ovHLFzogP-7FIqnK1 zg5p8Wt;uSlwHU1l+ZU}hgo|#&8iroV^?|48S}xx|2x7H3e;{Qj5%>g$ zv-KFiNw|FQBOGKFE5obsu!a;tcUSbf1opGKjjw#N)kfGBtu}1LB-T>V>;T(W-SvSB zLUS>(sB7tL99DA{TzW1kvlrpBl{oLegMuxYsS=( zneah2pN)dTd-DEg8HqC@|G**p^!lw$h!Gt}C!Hhr!_iS*^{CE)b#O&i$0o;oO=*Tn znF;N;JK(EHfK0h00r_yTwLD)9?`IM!?d* zhp%QlH(9tG4h-}r42ygY$LhO>P`kIF(s3Zch;HwO%T!KDsP{bxD?~i}>m=yW5Dqih zHlr(avgB=e82bTcRveQLo_F>2FT#0fI7o^lg*93xtJgToT}yLEIEvlS&N_ezu)VgN z3zvzyMHu=J2R|Lh?Svy9{tE{ix$SsVfHGX+RhP7f%it&3nl=0R#c<3zU{C_v8k4`n z_9WKdDp~!&*r4YR$p3H%qIxABN(5%WgVBaFtzZ$H!eZ3SXtu*Yb#Zk~i+rGe(zjpLmadtu(=@x$ z@Yg7hnFu@$+XjYK!mfn_>Dly>2~0==Y=A=p+VwOXqzK-Cb8EOa z`o-WLY;W}BxirIH;mAJs9*~Od=?73!Q91|v!FE3~2aa*yf*B28llOO7_W$?bkbkcy zv9igeHu@1X;-wRzws2D0l!RT-UhrsyP$mcRrS_78W-oaTeAs$k1edGkPHGRp@eK<- z{%3U{h8U5Q8H?mdO}L420*P6Cxdtd@vOrfw*1DO!!$i%;HpPihTbb9F21I zFSS&P=)O+m;K_8=TJt7&2`U$+5`P4r!U#pE8-1&I@DC0}SUNL(_w}7gF#-oO{C0yE z(skaU1MCOeDw-?d`&+xs@-4W=9#`q)9Bd!)P+gMMAN`pBP-l?oS5Q~uV9R=2!DUz- zn-uqf3ox~2=JnIz;QG{r#iT#sipUFOp&<#X(DlEqs4hGU`M>E`+QN@TSpS=@a{vy0 zPP;GG9;}9gU%TpgrMeLT`T>(ejp2r`x|OgOJRcPf(@dX$^O||o5aJ<4@`HTOHXVbg z!_~V}*za4J=q9#pD@ZjLm8%}+X_&T#(tG-snxvN#A= zT5k^gJ9utw$G3+|N?dXKxA1k0Ej}VI5l-(#r9~XyO7qNKA=<5Fzi$mMRAm#XhkoI6 zcoB0vX*SDfc9ri$1jE|Tl<@%A{3`RuB-mENeHQ-b{kZCuMBr_>pi`>4RVN@b)SF6% z9IiJXOBq#%1CORA4ieo5+sku#e+Wx8(~cLwxeuqQL)yc=u(D1-Cf`K@kuS*m5`mhq zZ67eyRvZp{6zVz73-`m7Q4lnP#T)Qj)_8vemV?8u>i~a;OW2}$S_e?34~t7nL$VQU zUy|M%u8eeCOVL7V5)Sr-j74w?9+)}XCvcJ1y^`qyT-UMP60fvbed*gtF{^7Q0WDzr zGMb+7A*OI`_49FX44sjBa3#et_?L0$^SFCHuNV%pb$U>L@CR(K1vC25_qUI4)k=|7 zh3$R6+hAJ}`FYs353m=`WohO#Thagj8Hdu=dB0kBvsAKpI^2{=s{o+;lJsq%=lk{kc<0rkBEMMfUsphU@06$Q>v== ze{tswPOUZ( z`T+i#-ELNDP7Zzv+c#96gZ=9=)c<7smlWPTkV=96o_HwyA{;?t;nRFnp66p&L`R_P zAOw@v35W)8m?Eph`%+|m;n-O&n$tzL0XFx}i~q&2)G72|<0-suFagl4OtWhM+X{&* z;GRFaw&Jc}SnF@8UbTTgVt6%!(cSPO4j7sl(*!t55u4}p;Xqf${{~Ks%c@s!_?FSF zj!yA5IKsxEPqXJfm;g-*Ys0x$#jhQg6!nFDx27sgfjK!i8y?CX#S8deif|unU&VF; z&iln$|0fN_!(y*`LT7OsIM$l=zn%k5fbAm}YvujIOjS(}->2a<*8HH-|41R`eWvRO z^n*WtB1OHcc`{rQ;v9~d<-U$X1PchqbOh3d(Vp~AhTn4V_Rf0YK#FR>GuY)agV9p> z@jmV}y$JRrglfjOl0%vIlOW3mL_;|A2YR`tjC#up>DY4BDLM-`2&bsG$pOj2>xYwK zoeQZ+qc>k;$|%$iLE2aX8g zKr@p`p`_?BUa*f|uYjwLack{1ICre83l@X@C27ulLB3ZbNkDdX!jj5R*dESTzy+2N zYg-71Xk8`-Is$v)7~^{fSlaPP*tT}}4{V=~uR4lKgdMPeF0y5?eJuAq*jBs!20n~p z(@gxAA`N9f$m-T=_pRWPDQSs2&u75z5Fs-SUjl!@@O*=g;C493_hv$J1WvK|57@pd zu6jPrlwC4i1R>QFhu|cZM7qod!A)AmyH?54$#AP18Q=BbG8-zSLs5yI}ho)MaoKwcU7tnd+RpztiKG`7GU-0NRX|GIDi1N5J{_xwlw` v;a{z0wh|6Jv1NGq&0B_FeS7u78AmGISa|)XNj;ueJMZevYv)zCsq6m%0h5lO diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index 1c55b193e3df6b954cf13f2ead5f773b82a69bef..c9f5814f9d26cdc47b457b969824f1f6bd4d58a8 100755 GIT binary patch delta 83308 zcmb5W2UwKH^EiI9Z=-nJop1soig+l92o~%pDCnV}7z?1-V($%&#)4f5Vmoz=F~$-< zcB7)cmKa5hioF|4j9n1B#;*Kl-#dur^ZEXs=g;#TyF1%wXJ=<-XWt2%D^J*5c^Q=N zHrL!*=lFZ7^Y?RQE;`*iC!KCFXwX1gc?e}I8`-{s9q=N{nRzjYwfT#2k?e|-?)Vpf z`T3W>0OjBPGHspwFz|)JsNYc2S(lfawMpFV%-924Ker1IY>PBxLkk--Hin9}7-LPZ z*C(8GRJdiJA@C`MO)W1BrV+ZlD_L`mdlmSU)ynId zGdhOh^*yYbZC!&|6A{>-CUZ|a^CVPe+t zhJOQOWF3h77MO9NtzqL7*qZf2<1k6t@_<+0V>{by2rRZWv4%scZM1bcD>>6vCUzWi zpK1Fcb{I6Wxi$9;sWi(;XPta-RL=3^gt|J`jA%<&YkIWBFK@3+$8+jXj{PrxjP0xD zVWr;PS9I2?`%{gE9p|hWN2rKj$NW{cMa_?yl5c^|nlaNdfmX>{<9Oa>TWX8mFxPgi z#Yxkx-@nY8XWJ9k(cJ4UHJ0%QwP%>}nAgfUk~hp29ABH2zH93dU(z2{ClylK%A=B>0{iLVAjZ6#Ws@LqY_KE?rtz>9{!Q+$}|DVDBzV{Fe` z<{4Mqvghh+oaOzsu{~(j0Y=$k63TgdIkHMwGZG`CwgBbF7SN}gFZ=?{A$-xr1|r+EK< zy$plSPz^)Jvw3^68h2O(u)=n=V?c?SwJ?cgFMwBSs%ZdC_~k(wDI2q)XegpaEd`{R{o?Ipk6|! zl!KO8t)?_`hHJLjnKisOC1~7kb`q_IA@B_`yyPq- z9h?R&GNPP{_Yg-@dh0LK#37T1(k@H~dohiP`4O}Uhh|)+j8_LBRW3Bwvjrat3o;GR zSOx$8&tJalmuadFwkd}OxLxyS|FGLM+owY9(4UU^TQjmb1Id(PvpkNP zA-KkXe~r9yJr2mxn8iQHpbE~mw#O{>9mmb)BeWX3Ma=vcx2XKTjELUScs!{f0{+MOsYbTo9f zj#jcuBxeMXaT!gV;xmrKXXyAAvRY}6}N+>W^x!GO_(*aMPyzz zAKpi1i>`UE?XlT6Xi9lUZ8c6Va-CSZD6^UE;>j==pQW7I0nR^G(g;|8-*)J9EbT_) znR;-`*5XV8EVnH=bJ;fMtU2v$b>7(&%Ms39iESJBj1xGEsj~re1%fr>kTt!D-!5H{ zPFHCD`Cp|?){HiOys)b~)5Q@V7UD9l$E9~PS~Hr|p$!vR#!&Upw=C5)iZD9)h!~aL z#A%lwZK6VRveuMMK4-Et-t$jSPP<6Xq3o(WJL3%>QVF7iR<`=*LP|jw;%=V})`fSS zVjF+X6VBTfo(rPmZ2!49V;y^^P9&X37g{;%Y)0`|} zQD`m|p!Jx<9AyLO+!pEj?*f(ZAG|5^--Y=8b0 z0h4S#H=eNPe`l4rDFRf8M2Fn`$3wBUE-Z-~Lo+?S3F*{=_AC)(GoD-ccU-g3gJ4?({25zX1A$(XT%Jn$WK$ z{gUa|4cD3=1e)R{6AS>r=#o&$dFahgg&8v^>B?bhNf=P~hq9nsOTRtzJ3+s{==X?z zMJI8-Yu-Nzz9}a^w9l)_CuP#Suuxjt|~fI;|EIY@Ms z?FN=hZaHS*s#UAR5!aa`kVS8xq?+AO_L$vsVDXohG z*wGOtI>I*pN7%{%Z{Y}={VQzZNH=nX^*;-(84#BlbDx;#8Bv=;yZiY11)GQW{9yyT zrNj9Zpe{7QlNDebyLnrUw?GUt-TFw|if_+oOA_J1cMz_uNMz!x8Y@8r0|i^s@dVLo zeh`ckU?KJnfuB4Ey>e8Fd0n)pCu8ZVkPYGLwW@Fepf|1ygJf6l%lzbn{AbP#-Ks%2 zbi?Rs@X&bz$@?!1$@)=Pw>mU(uH#6C;l%1t+vUwAE!X_?5|WBL(JPm@({TL@LyD9` zF;Wrs=Mck?cBma|fCRz-nPK;u5Cn5DvnC8Nmb;+nGOk!N-g4RNxx`Q(4o!ry6loI< z!Olz1+xxDH)5GB>@0O2?5fDiT2zYgdXB+ir)kd{oK7$B6UkAQ12Ne`e`BIc2X!sf` z5+0#;txI$WbJU6TV1NLp@Non*axxs{{N(0wHM}7l1i}5Sg3HT6JJTO};UiBd2S(MmHMp?y<#*8f z&?zC^ASIi~;0Ucmv?Y*Y7m1<*9`8bH8ydiDT+xQGe^%|?7M1|iMX^1EdO52a{_L|W z)<|CLz!vS{2&_eqM6yu5-LA$YLTi9&Dki}OV1I8_V>*Be&Nq-V{rMBDD5XG!@H%}! z$A1kSzkjDgK7$vR!A>dA)3o()G1Y0?t|6XFfdTB%IyI^jBr#Zti@QLwOTO(>VRXjK ziQ+K)*aiGp;U8+buJ9*-AAalxv2YQaeGN}))?2Tk;!3n3@B;n*>}5!cS#1dQElcp> zCQho+v?mOKA1U+q0>YJ1UqkKJ9Xv>ZRMUDuPYACy0CXAjyE@eVQz^7L;v5#>$oqcK zKV`b0cQ5GdI`t>&r4%*lTMj4nf?Dj(8Qk5A_kSp1*i1TW=1**Zw|YYspt`UR zJQHD+I%6Qrhwvq-psO&F8vWM(+f5<=6{TG$pT|Fr`UkcITMq_zw+2L*hS2O`#2SqH zU>r6W{J{wq42G|rR?!9`ayXBsau2k*wOxk5ppQnpSD;WC?BhCake;9E^+B1t4)oyBP zD*QqQ4YZ7e7#O4W8wtGysDWok!#>OU{a+m7`B%S8(}14Y)a~Cw6@dD9YYe2-z53f1 zHK;`Fyw8S{|NhJT;^9@m#bY6;{F%9*6{gDB_H^-Zx8R+z#22cd^Eg;%%AWIO>A84t z9NdOXTr(c}!$kB*gQo1=Y)namli-5E6QEDZnORz$;ugP1JBCBHhRNAZc_(*sQ{6F* zz2$GA#Ai~Zc3k8wAz-l$cXA>Y{y+q^TP-;e+DcFhdrzaa+M(W`2L2-SS6wnV!>+D2 znF*Z)IFHL`LpNBg3UlBjgJ3*659-m0q_+_p9E3G&&=PDo$wsRZjz?^8%=6i|pAEej zbHTW7J|wf7qfuG_KSOPG-2ylSMAkzQJQCW^BsDX2xOH;cC|&9RYeuV4blk5SrRWYx z^?4S_0EG#W4tR5de*wt<=3jvQcmW{^nqk#N@EZ;G(IT2*AP)Q9Sg@A)$Q zj|A?(9cBN6yN38=0+eS1mSf4qPzm~Dy~VH$&f?X@M4k08;|HkKaL-R)cCh}-^uIfp zN!i663~!)yP%q_kV3P)XdWX5CBg}Dl63u;|`oGXzA3H38s=gkyX$^^Yh<}9irE**a ziZld`<;Dxis;*i>CkQQNzoifXC)71dVXjC!quxr|tOQ*NA+F;F+FQ?*x~nTz!d3>S z)pq{@1t3!Gw3FzVA8mtYP`Ydf&ZCSG-z6%#$@>eenZ6c+#ASx-@y!lc z<@#hYb(a|*nRjtAu2EsFYyBdC|71+r2|axG>?A#57w9_E?|U*~Jf~mSucT|xZyWx( z6WT#PwZ<;^kVv%@eM;HY}+2*|+J4^_|QLJq)h zh{s?X1gUYy!CQdZ*y|JttUYnrDI%HxOgIh6PB{@;pEYsIX&4B-u-q9ycCQ!iJOjg- zsV|0{g;a1=SDb}K0u00Y7oiio(*qY@Bsr}z?zsqyMbFxb4ws$*FBaU5*Q<`JEG1z5(+~^`K>;AqIp@$F z_|fovAgOqo;XN~cSzdj0*j-38z;HbJl2Gy+ru_}Kz+L_N70i-g13r6CijJx_{Qy~V z$#btzm7w}IcvNIPOphtk0p{Dsw=*`9*dW6b*Ux0{#^Ly@ z#DDJYbJ$R3Hm{CAO+*`7AE5qwQ@xR2Q_85{hWRp!tn{LqmYe)1$t>rh z4T-+D9DoZ2-FUgy(R?)Vn4qvox0#N-Q&do&rY==jgrG0~Ue?)77JEVz?7~R>NK?zY zvNRx@!qO59zv>;#k&)zN2pW<{t%cuzC+ngOL6Jvz2U2#3!c*3r^e3DzOhDbi%MI>^6xb z9w96UT4BQw77N>PMhJ_BHR_2F7A$}T--fX_P!6A0W6L33onM_avco9LLsWrCq))BwP{lB0ybMmysbU5<4|uui;m07r}l5Z}e!$M#E3)tcL6ifF8R> zvQF>|{uaq9I$O`mx*CPtXfQ{wlv0H#whxGVPh-;CX5 zFOK3KE34z>e2lKG{_Apra$RFtFZcn6#S*&H(bAl8Wnz4DLexg}NOP9K%C9~2Syg_- z*we*ANGzttvl{%wh^OM7xjCN|FFxqAuz3QlL9&{f!1ht0{r^XyHtaqeR;#yVM}gh= zP5so4)dKhf!xLE?WT=x8nF&a%o}Wak-2`_hu@GAOyd?IOvEDJq;zV19&>$yc^JF%g zmi0<9E#0Ht*dm#g!@v$ShCS+69e6XzYLAXAluM8EQ`k2Yl<352l{$GYc9a6Bw&rEbf&C|6waW|C&Xa`ew;r zsJ14I?#`-~T6&?laFHsTDFxt+?ySD)`+rrLi08Yrmhcr;=)n#`jGEVjjR5xgBzEb= z>ID6{w-{;0xbCeJcD8TVuALz;pHE^t%`hgjIip<}BH{jCES}6GZoLVqDlYBK8gYYV zZ}vCQ_4z(5uxaWhj+^A~L_(P%^vEzH-{2hyNQrN_zVRaGIDyhXXbjdUMLWv#baDA$ zY}}VsqYazdmlpUcF7C^km9yBzM~&|BlsR{snf+~ z#PeRw1J=rP%@Jj!v=^UA5}F6Gy`CMu=Yx^@uatEodlS6p&%7}4-$AUl*N0qf_&t}= zt{*7ULQHCbYAiAG>#a_ z+GG8ZtPXAX)RDBH&M1CE0iB>ca7N20)`ji*2^WlJiFj=kt3<3^98FodIDa%tW7+dD z{987_JyWXt<7We>i3F+hzh&)!Yjb0Wan~osh=sBji}Bc4Ruyva9VJOIs638>?%06` zHSjwg2)LUERFMZOvGjPN*ID@2c=oktlR3N>rvmRhQx;tm+i#onQ!y!xNV_SXN@Je* zTN*P$RUWTIB8LWYo4}0h6QbV)R*~I9Je@|?r_Ka~lQ?(+3lMgqjC&@q(zs;;s}Dms z(9^hx2r{#|Q(nRr>MGNBm+CQ*c{6CFR-MeQkld#_Pi6I(K6&nEGq)L!dDBGtO=oXO zukA5|O@#{hUIx5;5ZhD1lMRH%A=ZooMZ?s_n%}<;QSd*1 zhCoKvm?*#e7mai}99Ryj31vshnn6&%qj8adk}yKX&XEuo3{crEW{Odrcd}i;I`mZ!?xJO8PTkat zd)RRhj<%5TlaE*m<9tPDw2l=@h?&x)7V7!EY_FuO?<~=6NRDmieSg+j!fR86n$Q`a z<*??A!ia;+Dje=4*&sg<{qmq38`lZX9Ay0%$r2I2Gb=lsf(am$!Ii(W|F9Pw?KO6F zlx%bFRKQ(_Saa8)V4beUD>^hLG)A|>tOGmW0s9?ho!Hb4YVKk70=!QLYQ{&BQp2LU zM0M)Yne30WceX_0gsa2b_PGBT^HcqfGYg0_E)^D{^#mJ0M7jM03k_`W8O;_S&F46@ z*h4|eoBmG15+~V=D)!P2PEvdYWmka9l>W>k;oMs~AWpI#;+hMEg=*j_)&NZPKI@7m zms}4=oMtCj^BEX@hRtDX67b>~)`SgDK%cX01>4sO_nl=CY=1OExhg}DYCcJckxM4UNFET%};#RxJ9vN$D9oC@hXrN*Asf1N8u~N+10-Ii9 zex-Vun1k*k+qCCba|wk~<47EPiB&44DduFE@Uv#jI&DAh^sxbn9==V2XC;if!&Xsn{|==r*zGQB4;69eU6Shq(0Gqkrd0iVtTA)H zrKa6u%Yg3t{PJk`TCiarwO>m8I*(1GTjC??gM4DOQ7imDacg}>d72uDD})cCw*Ruc z=l8G87rgkdm^#~($NB}#*SjX=(>j_ZodCy8?Aiuse#pwxBGi7!`jfuD@*%qe>_SaUf6P)@tIJsUnAN0t)_g(| zv|iovgq${+tr{MC#%8e>7qH`VR?g_}{i!gf##M5lAo*T;SsK54&Qj9K7YQkJ|5h)6 z+gY^xw}}&IzF%CyZ4B2Ku6`|r+7(<0D$TFpezw@d&5rO_d#Eo8k2uoj?V)*;BTVIC zn!#iq;s6ZzSJ=mq?%@c#{vTnA1D@mv+x{y|aHQiLq4l${#6S0O*DK)D7c7sZo>Q;9 zWQnX%i{LMo)|zoN-})Jdr|W#4?tWDB2efA2l=2P1jw8V-Se^Eo{lTClc6rCj`MU*b z^zfu|5k2G`kNZ@pc@Jr{|F{w^d&jDiLUryP@xl;%^NtNLhG@8t|AmC_WNG+&2~*#b zv=NFwzh^yI^l^0gz{1!H12*`;{OO+G-cv<;Pl5mR)clK{0&v*}7R$0)VZjIXPC<+P zi23!tuQ1sn;qiSC!rEBy>KsD(6gs4S!W0aNJ=s({&_SVNXs0ilq!WFZx> zbs=jj-1oP$uG59Yy1M&Ic=8^^2*Ct(urB8XnZh@0RC)X9)UZ51ozmD|KYMfI{LsXN z0j#hbrZJ(tpq8^ARPUKE)cd8x#o_0lB;CkHFQUi|NYvDsx&b&<5JE~3?Vgi+t>Wc0OudMX&;U?~Rk4gs+(D zjRdHG@0^4SY_AudaVFX0doKysy&=Qt2rqsDm%}c9gI=xeF1jwgD5}g*4FNC3m5fe=j#lr%~*#{j}Nhno%;Q#vLxEYOYU} z{sy#q2m{$+J*pl;Je#3M*(@ApvsdFOvoMxbD}nK)gd}#~6<3!MdNRND=;lc)06!4n zWyGK6jNf&_xIc8n_#<4gwWnZVp04V znxb~{5!^&(5=e{_YSVtk|CAHz!DGBxPVi%67z%#E0j2^T_7fVgbWo-8LT~b7*5M$3 zp^LDuP*hL*3mG7k|0H5(ix4in{V1vnEkY*{(m#m!DnOVZl%mM!ib8ea=6ex0RTM^5 z?DbyM#ZP^e>J*!CGB24D){HnySB`=b6UJKla2zzDvT>D!Q$n|QB9;vlW(fD*inumV zs44tHksE=+5TOA@+5`y}!Ay~FgNQhLUqB3^oT+a_bg4|_*Oelnl?6|sDMex{3n4-& zij3x2&t8kTw6YM8mit=NZ6>uVQ%7no_f8%4Bdy8AgUiTJ*y#&Nm^L(>2I=IlTjT8E zC@1oMbSP}r^w!4o)?QRNe+;!&e8Oqv>z<|N{>v;=fkU}O=At=`(u`?5alwLDCGHOV zU&SYDPQpblrc$2rBW45(-llV(6{fM>JcrwZg*uRjkAsC}Yhn6^Qby2-R7m zAJ7mYl$U6q2h2b-DISLUdkYH>H+6CtLE_bA5kibihS+;egeJgVyujcXp%>Yo=fwyU z0nVUDGoe1T#)M{MnHrO&+L{UE{bIz-SfMi1Rd>eH)*;E_RSRLaC53$6itjgmxyzUN z-&Yys@q8Rn)_})YGF}KEJ5QZ>;RqZ12w6)ZvSoF$m}thhsacT39W>Dtyyc2%)>EitU6Butc5MPH-0JY|BUzxU)u#g5HZoN)}=SHJ_*tvtyhK!+GI|xIWr+3b0>s%~130SX_5M;W1 z;Im93g3FlNNf>OJyZKA-Xnfg8xKE?H)>$a;^4C>+PsBu&E`mSV?kjf@mP0l5co%^I zY0sy+3XNbX8oCMn*!vAQrkfB*wt=6!(Q>6+##`Nl#*lykUkmG@ihAa2K?1m_Ug}P) z4Th)@y#z84e5cxa3s(h@)xrIRj?7qnB_Tb1n}u&Iy51R%R|X0bDlSDrz_hcPNhxB) zah_O2362GQ#iRB?nkAetNEk#{q)!G3*${_Y1`93W&mBVqa@;JTN<)QH;Iwli)ots$ z1+NVg*0V>O)%4*)yg~-LOWzVRBr|KDu|i+6I-DIVMAF#Y#|b0cVTPJMM;O7}MsihO zv-=t|q$n(56UwIzUPTQC9w$rGK@#GKrULHH=dy(<;3kCxK2N`E^t+QTy|Cv*?6HS> zm4{>qly=*Tk{Lhn2?vU#bd>O2}BVtZ;MD)!a5h;R4Xj25(Lw)&$^97`vokjD7$F#W97YIYk2hNjqv6J_cOX^W7 zYIdeoGE6O3SXh`5!`~L^$s=wdRU$+D78HiL(Y=x7KSDV$^&S2teYM86tA$3M-k*a% zBh_`Qh0bN-CU61kpWDnLPDxZd7cFaqR-Sc-eb#Dm^$Pgi8X<_8Mq#_vLPO78L;qKy zm8#2HAr`#SM{2qDU0U44?U~qrokqj+*U_Q+VleJmCscvGn72*{g&6c&FI<7I)fejp zGT1N2&6|Xu*@sbT`(K3ZjIv8?CB8Qhty`&ZJdWBb%!YR8ltqHsqk-zgEFlHRrha{! zP#qemrtNgPQnIrud<&`SWmTBw?DVXctSgjW^upfRLJQc9S=lt0p?ED@h#>{n|9~(K zi2EK80vViFa}Nq$^k@ig{VufjtDByJ>|91?aj;y!M< zLbzMEWL~dZH!l$$!TH85-G`=q1oWGL`T@FdO11L4zne6sYNRUnXgLW)s9HNXi zMH%;b##3&iHl*Ka^`lYmx8M?B7TJ+uGQ(K={CXT4DExB#9QZBsG*cmebWZ?Q}VhZyyOg z41;S*|G4$di^Bnrh18PsNoRDpFAm`tm+0E+vCxCKYvL1O2qP=wk!Qjp2q@uOSg z3FPBEfoCU({C^U^Nu_J~9)AnZU^TXXMN!>{Gw-eN zOn@Bq%12=@z@NCNP}m5G+nb6F7?j4zOk4>gv63JL6YaDS#A=fJwQ_du&?l*k}icVqz(1l)}vsi&WlU2QoSXv-kSD;?>XQh0wrCF?lQ}p6bbQ@-I6Kl}@N0OU( zQ}(FjPB#RZODsc(a_eUs;jH_4g>e)rhoS{TRmG!6h$UG<3}ISTYXkqbOFd! zKlq5`F+N)6P)}}cEJ?PxF23S&5_zDk*aVW)n6lysk$h_Q_*2s`SgmRiZ;0&PJ2VD~ zC%{v^9wgp1(7AfBt~lG<^UP@ygZ@jp+k^euh&|~_;dC2u3LH_}wG~G)_bq+Ms*(|D zv`#)?BnEBFTh<4!w->vDjExe-@h}~KOBBnSVvdX4$yl?MA-e7G=hMY=KdI#pmvCe-yc<>9R)DjjYYd zHaroV_7m%a4^HYQ)+=k-W#7ijc8Ro|J3lpqKI0y0&orJ=8?W>e$G~6MzCW#FCG}N* zaTUM_TryBR%1X6X`wXInxbQJp?BY3e>HorDM=U)=tnRP-Rnl=^=zVqzk*{t$@6Kp` zxlId0^0wiiAz~@-BYU*rNC)k3{Z4xru>pS^B9?Z}v?s$S;{G9`ciQ2@RGa3c-_0X* zsBcv@w%9Z?u*s;=sB3UsgaMFU3PW%jhbt-YK+#omB^iXAQua5OlCr@1V$X9taxA`v?r zk&rEphtQN~n9{}B|i4|-BHKeQFeqq9iHuI!=%AYQjjCR zwWEAp2RzCF59e@>xS95fzBBA$xE5*{wF5%Zv@p#SphbAjw~nIYdB_2y?Ev$*BEYDk zh`ll`PZ7XT$7tTNnIpmEJ5;M{^!?GE4)1GEho{@qW=A^BJi-nL>1Hnw(#@U@NVcZ~ z;(3}z6EZ~unDiD$Sj7?6bcA*Of2PBDd9u6ewFre;gS5ul_4&D9w0TH{q{H#vWLED6YLT540{+b(;iA|w9qJ7 z?c>nTcfgl8!k-=a7RNa4bG=4LE=ghWtk~uMks+>L?h#qo~Gqicq(y79*di@1`R7 z#OQN0RkS{!-zb4=zE8U)UI^j0eE2#Ltfj% zfcN$=+>!QmImKKp;-&5WwV3e&{uB&*b# zCOQE-IUFOWi<9Xc$HD1hH2kbO&k)l^_Mke>pD8wSS-VJ+C%CROv9nwT-_8^hS(Q!r zRi>EW^MD2&m)?n5ceNgl8AAP#^cLTTT$DHC-b`_L$rLJ}X<9ge=VeOd-ZD$9#N0Px z|5-HnYdCk77|3!q;GS6|#Ei$+v&5lL6Z_5<`@v=P{A{s>O!v-y3&o4>(|-O`Xb3!1 zpwAmiF*+rr`ABXXqXJ*dBz1!uC#Ig}wl4dVLwPyhti~;;dB5B=CN;pdD1OIo{)pj= zL_eQzzUIwob}_P&aidF-DQp}LStOd-{Si2Qk+{_4xq>@t#^1=h-c7s4D~Gkd7rS`8 z&JeYmNm3&hIwp4z*M3iv+pt_c`@Q&@!Fu)R67g@5#Pj{j#Zug}ceyyt8Ct2G*NYVd z@+h9Pi58Sx^?niS05ciXfty9TF?iiWRkw&86xf3$cZt>5&3+iOODtEaPMTQk3stPQ zug7n9i7DjoacLJlc-f~`-7Wfp^Ty`d?4?+2yGQ)MstEYiuVVGGUSt1h;U8z538RgC zXuD>frrW`p0vZZH^^{wCHcdt~(gqoxl&|4sawo~X3jC#LuX|IJSOQ)nNz4V?dH}!$aaG?m>M>+yUf8@beKd zl;yX?3r9$5CtF6Y7{dxvuuCox{2BZ?S8PNsM0awK1S?jU{G!_ZcWsLNL@`4njh&DHlOX?EN@=rrk9$8g?hu^o5vJ1u5YYTX&qq>|A0 ztk@qcYWi7mz5uh;vKPgh0*qLAh4v4)HdJ00wtMal^miNn(Npaa@m zu?C+QY49|udD!Nvc){S&MWgTS)hQ=aDvPzR5t|r;{jQ0DFbQqf#1CE@JMq0BwXDXA z&=QjZyo}PD)YX5Az4#+Qx4*=TCEt+qXMFdT3Gv-iED5yc;j7hGf044q9we$YZ;Iq9 zKCc2t!V(P$XE_eqO1}hXD$;(OdW$CA75Cl}t$v>EIaW;ZPYb9W@*Cz(v!-^}G!-c^ z{B1i7xGi31Z>ykmM@$yRpZz|4%8JtvGy%0x|s#yv* zJQd5Uc`rq>k}LT9wOCVVfA}K?y%E1F>+Js-nbKs)9Bb6~Fo?S6wA3EznK$Ap2LDmN zc`x2|cRBq=;AfrDOb+)3sSVkZb{nJ&0gkCn-KD-gqGPyD3b z^_IwqtgKq-BlQNSS{!#p@3quPz7p-*R@kzfRE}JI2bGgPkR_qNpERCaULW{L1Hp5Z zDC!Q=Yhzk1qT-+?n)j$wgRa`7PxO*yUH9xK?9@}cl{-h zdur%@!!&+TqRpYSQPjnzcf1jsKKzf^^f9O7)B7JGLLRIx4U~u{Md9%vX&AXfHL5KA zhkVrTRhIk(^MF@`Wz7oC_tAddP{;(;x2iPe?*QupggPu*fZ3dLJ7WT$$!zVrigS@O=YF7E1g4W%wJOvVS%QYEr; zmW+{BLU(mX4D|$MabHs!V-@vLQ)w}0Jt*Xf0VG zQ7!eA^pKI0w9rm!Ba*XVVzM*Z0FLn8oeV4J$Uhtv?r%iu;&TK{nL>m`{j z_s`Pw>98(KNOdPvaBeY#^P3@g51+o*PVZg`x#AGv z!H_~WN>ij)K7AmGZ%^|~)ig{pF!Hr2pDG2x0c?>fb%M6)+Ekhbk)8iY>7x_-xC_gt zNr}W5N2f{61>ey>Qs0`Xm-sm~Lky4p$64yoxH{pDNm5_-VhOgGELA509zR*S4+iWt zMLJIpE$dH}ejvVgX{uBnM0`6{iYQrjIUkv^H#hV(qM!bPYMmx!GxFzjNtd$8#o~Cn zbl$XKiJ%*<9B$H8qOp^wbey{7J1G+AamVuvDS#drd(D(`$@Ft;rWD2Pa+&nFlSHf@6Ti`e1=slNJPj^qkJjCZc| zqrmd#;(`T|1tzPz7f5CK^MuO_rTgs0GW7sTKLRn#uHQ@au_t`?y>tMw)oqKVz5**; ztd?6UMT^{_bA{wzVj+!&7Uncf=_<}!AuWRDYVbMGL%frqG3OI75Zn$K%w7&AA zIRtD<3$`tipaB;t*(=I0=y!VA%6Fd>#4B@FRz@AVMj{8#o1@hQ>m*O0y}xn2Br-a` zwr-RLlcCXnlXRKUrNoEL(njJm>$XUh+*(ZMj3Mw6ZzAG1{A-I8&L)gNQULw2Y?h?Q zn61)wwm21UW=XZMdKT5(jyJNT>qH*=wn;bH%b`5W11oQp-0cvn7LZ#WC8OrKGdYpEABf_5qILd|u2kD98m@I^=A19|(X zFv$e-@F$Q<6E=2(96$tk1LRV!wTkP9(PJLDbZHY+Cx*!@(_KPJc3x$B?T@uE-c9y~ z>uM_|Uk10-npAG`?;2yFDc2I^vbB#8EQ$`KyhoR5cm|U|=xF9gUDu$D;Vv9GK@=-6 z5vUABMrvD(ZrVk;1^-NlC=aS~zXr#+DK>1RJ8g0O4NB6pK~6UWqdO%1QG)PqG9>8_ z;!sI0UuE%^HEg^F9k2h?7*|~58~ja@zk(8IlI2A%tqPfLxF@|$9f}C%MZ0B=W9ul{W)o`x0_(y3U(bLOu>xu%lis z?Wz)S*_UGrP9T8Kym#6{rTnuR>qt4I#>WNYG9Y|*##4GZAURU2c!;C?0LOh^YbvI3 zl(NN5dQoh+LPe6^6u6Qc@ouEV%fB(Sjd=T(8vT6LO4@t5TiL#9hp@Mse3$PggG`cD zFI6?lTWITJUk`Z;$#_0yc^kcq$J5^OFxux$O3PbC&a}(Q3xMSdYNnt34A?7BC-}?# z!PNQ=Utgo%SJbwLc{zTlAlE07uVaz@OYiW|mN0&HTtW^w1ul;6aDCXqA;Bt@^~2X(4cM&lzsVA{nJ(C%Mxdk)#W7q#<_+ZB6~y^ zIO@lcP;B()Rg%@{y0QY$O^vH3Tj_LG7c`Is0j8+mH?Jr_bguV)zBjzrSwb zOu7Gk-Sgr$9%~|xATvNzv|NLpsf~!1Crj`%zKta$)KPmjmv;br_C)oKlN)k=n$l7x z_xCq>I4D8B0h`oTt>w22;?&r-GQG^6ie8EGPBLtqNt919_w%{MNZ^(vqrTuzHLHXC zR)+n!v777(Yw-7O@+lalF8ErWD!@GS=_NNNRCMkorxLxL>m|al_HZTjvX{*o$tmb#e3X^TF5lAKHGQIbs~-@bS)RSx7I7#bmmvHLk# zdxY%kYo(&JGwJd+S=#nHkGI}WXXz21UWP+Q&_?+M8;+D`(=<+wluNM>TkzgU>hp+d z{)U>P-PCZDe7}tP3w1JiqPB^Rx9ob^i&G+bkMSHI;{iTK zQh`2Bq{XL4`zNNzok(~Lo+{_SR(vv*I5P=v)8wWkfwi6{_XF3vo0-logwRXf>2f4J z=2vFOUB&GL$45)S%Ro&UBRnX{BjG=&^Jd5cfV~^D@H=@tS$WdFlUFkES1V-7$DLrR z`gDO@Rs=WIuvnfhn|cj=ODgni;u9nkx5K>lxO$n~id@QHFOx5l=6G_s+|ldUMB2(x zhUBx1`YQeYc#$UJk_X_Q<&qgl&J7*OK+;)30(n&$GK{V-eZ zB$0^H{II+gXkULkB5wlMi4ioqz-J`OHo+Z7<(i~C796Dk8FrHxW|+FePGV9Ob?*te z1iAV(!eb}p4zz(Po{}q6m%hc0cd50W>Y}^yUqBpg)P0$MvFy}+`Iw}i)PgU23g^+% zA$9d5`4)KJuEaQz93VqxLR@D29Qtt7X3iZ#)fG=@Anai?to}^y>pZs^uWQt2sy{!I zn~P+Tee$>bXX(W^W!=xGocfHC;wM20R&!BW zkdNCq7llk%fY)4=HPA<$T0-ebA5m2c^vd_n>}d&{=BXTZIpt@kqySP%y_DzV8QI)h zsRdrFIlK2YMtICG4e;QVpB2HjwxuefOCLfXvLAlodP z9gy(kA2i6XmSqk|#QRxl;YcN+6t_cWDmUomN3~hX5JK9DSxRm0e=o^a4HHJL7&3VzG5Al!IkguyYtjts}zI6za+Im@g*(l{syHT zH$rSw>eKU?(HoV7hRrf~Wm9W%w@*65X|V$Vh;;K(!?ZE-d@j@`Nl_HjgxWBQaG^Fu zs*1`crDcNp9j}tDc@Rf=%!n#8ER}LKtJp!x%DWlL^Yh3+vxSmcYa#0?##;+nOcAZM zkVO>ZBN&CNHYvSp1Zv5YC^0XR*AJE4382ZulAdC8=mm0btGDSzqj{Z7*x*h0-m8Wr17ZOgH4*@n=&!xj2^ zqE7YAQv3umd^g;o_|WV24iq>~ZpBL_ONirlD63rFP6S;#&|#;;5LKDQZcf0xs!|qy z$7>XnDotNMp}7T9DIy|edU|m;XitPa^G~`;<`r(V+drE$K^Y`<4B$6GO6L}cln938ov)57i6E%!jw?MC_)#^USEeyb zui9_8jc|Z=eGqMFOYu1EbA=IOt7&60N{w*$MP(WtI8m3BhGeRoaEXXuB>r?siE=Ab z>kY|RZRvi39)udy$Cnfd49?*WU~I;Tybm>zT~=OlvFoz(C?qhJQ~L!ja(&=)p`&uY zcG7xM28ZVGf2TF(Oyd1jDh#)j7{U1ue_qb0 zUxJ*0`M7G!+s9?4&@QL%dm0ZQ96l2df=9)N=3Re z`{SvSN7uF4&y?EUcWP0iljqvWh6~^oN@-)MiKgeuY>!l{)_m);oNVm!cPDk*b7eBX zMy&HvnObA8yS==Lf@vG69hzp$U?QCxWB^E%BBS{s7J6eicQU=f=`Nr=K7FYyB++jA z-%91GV@hiEBaOU19|x7b&Z~yEZlYDau2sFxtNK<~|N2|$!^k*meWQFwCd+egl$8qm zRAKulr>9_;BhUtKN9#fMW@A7_{DwIt&}G{Z=2X$Cp``WG3STj&2-E*Z-21>;HSPcZ z>ztW0v-i~0>CaTt-;@3mos>UOOe#WUP=s(|q6iZcAmIoYRyPK1+#_gZ>hPUubjNo()=(1S}( zYvb)NC#}=kdW}O|G0th{6%n`N(RSWlx#5}?OOD!4>`yEi(aHNTC;ZPQx>Gmr?NF~J z-*xjQ=Z|Re6SI)L;xCcsSLKKBkvzLPZFxE82b-_i@QYlF$k~J0T{cg^KsTIk-h(^8 zA#!Br{%nM`D4vgdwwHHln6uK@!CvR1)@`S5-r43+_@Rx5yhhCG_psO-(Yqr@{Z8)g zF0W(aUNvtAcQ-FE?T+*yV|USC^$iDmeYtVDg7nn|&OYextAH z3^`XBgpvg-tOHVBBaL&b3ES8&{cE1cxbg=GsioWOB?SF z@5+J@u@e_~J7WAqUh%Sb5}RSg%ig?@UvjlH?To_Jdfcnt5#iqxOBTNBy`ICJi*c`e z(|wL-->mlj%zds~-t~Gm*#8oH_EyC2`pe(-4lFq6Vrw|$;UzoY^^TJ(>5})o%W`-s zw)z8aONfXN_pJ3Md+qwjuL+T(bjy!Ci5E8HBk%Qa{=}YyA@6dIZoJOxJbWPY&*UaU zmoJZA@XPYuyC;W#e0}KhRnaZm^LRFXcb9_?6yMI~e+%>9Gyi`xb!;{NH}K#5^gUds z)-eP}=-unQ_H8cXoqnR2^9_sLMSVoiiYypIpU;ZirVszryKqF|X(2Tu-S|(P7)-lY z4xat}tjKSi2aFp!JGV=mU3BQ|(cZVwp+~-6(fWnWIrtPc+n+E2>Dr-(JSS51EYTb+^yFb^{XBGqm3j zRq-XS3gSN#f78z6BxBYPwVMxo6rN{_Of-3g!$}yIF?!l(UhAG)Fz+tPG5(RZk~u5V z4w^M!_n9FzWX86}Gro`|-#p-#Gxb}ad3}>xh+yCv|2!@N-g^#T1=JUv&k)Avqhs&&ktj*>jnBR(=jF;R|ow02)uTj1= z^ybKkScdi+Fy_qeAyv_l>Q2S5nfJhCiA{#jUh$&%bAa1j)Q_Cqkp}vKzj-G&n9r0v zk z^xr@CCMDN)m5evd|E1>tC zfakZ@o6z~23%Ki8iFa4y9pB?UyRf0Lw0D*gQ?jy)((iBZ+O;k>=E$cEH+e6zB)g!< zt2*!RUcCEF)OZc+?D71QoZrw@g(pj^-s((Zc4X(t`kcRe$8xgu@ZY@ylGDi> zdfW8Q##LVSnH6awrrD8;gl0wl#!2YV+0#4AohOp(OG9j*zhLxpRr;;SlPKAq6gY!} zm#p@9^eCsxi3QJcXGPjljwpO=;fd@5eOB!*`k@o0;)I01v47Ux4>!&t)o%FnoUZL06 znmjReVcUPW(bN3?a`8XBen-@Hl>Yj`{NG{z|7`y6H2>e;&&&o)-#7jin#{BI19qQ4 z^C$BakHhqae=xoB?8`sA_Q#YByGd9x7|hQfLxLuQdP1oBwB;|HI7xqs;%f`M+OGb*ET!lgKmwcd`@j?(&WKzux?R z&-_m>IdGGAYc7xcytvsrHT=uqC5^Xu0~;3(E)@S`&HthL?490wJigZRSMO_%GtGbV zdKENjz;^$j&#KM2y4`PH*YL&yJ^43I6sGG{zj=egwQF>ve|iTsS8F&j&%UKZ(M!{o z*FfCVEB&X}z2n;0FXjP1a%EcGvZ+V?^kO~#pI)cICAI=H^WM0;WJ}zpQxqXMYJ5u~ zV-`@FO_v7JZhf|I8CFNwbox-s zRgPngo!$9y7HRyWj$?OS?RV=@+0R;Q3oTbRv|N6^n3r(K2x>n?kj;>3DZ%ch#gEr+ej?4P4d6m3N$O>-_h#TA}23UKxi%VU)#Btnl%nko+-DvvqNw1{689cOzHBMRMi*%ziEJNXi}+ci?d@c zoBktixn#}Z7dJTPb9H_FhVSj4+ABYkwEi*2#-HW$of(@^9n8R7>g?HyOK-4#3CHD* zQ;tg?aSOP~a@=wCOlNl-cU<~RD8>0U$JSZaA?>*Oahp!zAo=PR%eA*!&Ne7^Tm5vp z%BC~izViL=lC=-pbox{~RcCIr>6mNi9{Y4_SBor{oN4`QvMaKeJ#n-3D|hy6ds435 z(VZqgsn|?sOZyXx-2$pzL6?rYG}Hf4;#cy$%}@Q}xMA3IK*>Wkop38q9<*p|!gef1{(cC1m_ zIbm@6c1E@x4}UaZFSPmDGlXhaF6Hc%<86NB1(vgC2x)6SSY@&f z*;5vGI#oTv7Rb)liHSDtPN!-b`|)J;71s8jHnQ|GTmIiP@{iisTK$_wrlWo|S^Hl$ zvgZHiMy8tht&-J~ZBOidgs5@$s-(@&?goFvM5;BzCF)qswCQq}u6F6t>2?&?*mP3G zZg2%>S*~{J5|=Ky(N*Nq8JDhd>BMxKpKvxJzeTx@3;n<>-97b%;8S zIaW8jf-ar9)29EZ2mT|wEWdoOie)d9zw&$S0!tQKu5#&`=WV+DE@ywva?05guh?|- zZp+GX$pV{>xpXzG=Qi{E532gw=2W-(-_LEC_pINZeZGbDC%C45sh8ibU+gREQ2UAH z>>O6(3YM?2_Uyi0^Px@KeLI=G;;a7Hn$wOmjw@ZY(TvTHIgV%3pIQ5$%Pzfg+!Up1 zx7c)c(^P#^Kb^HZPVPBV+$-b1w(~(wvv;H&+YQWV%TLyx_*Pg>Cw{bs+V32@7S|dF zPUIX%Yi)kb50+K7oJ(gMryW;sbN-Ict2njd@(E=VF1>L0xGTmVe`&?I%P$zKe=qW< zjt<*xTIo33)Ka&ttKF5}A07W{y4e${ovBl_Qs z?6~vWtJPuk|EAejy^=io?H`VxleTGA6cKe=O%!Ph-g2>)WNxS;8!y$E|bMJ0PRf)UMD0Q5jF`}+q ziQ`hov21-O*?LMHr)@LBDy2iM{g%nt88$zA!IE9?sJl?fUa(~CRb#Aw#xa+8i)3S! zPO$c@UnQ~Nw6ULj2e|J++<+zsbbwyI|@`DvA-)$F={+H#9 zODmPDpJ?Y_l8l{VEBZg}qSU$8|Bps@X_?Khywo+&rK_*8>Ay8zW$psRrc`vrUnQ&VvG&Xy%Zd4xQx96Mdf0Ncwyf^89DBs2U$Pu`oPNsLms+lT!*aRf zl;cv%+%sEg9a3*vu5#(c_pa=ByWxH{wP>n*1~v0UZS(QhR! zyTMmBBl?YF=NS9grsIxFvh4CRAKCmG$F+{rpIiIh*BQ0W&e3i=OI5dRd#>siUD(lY zz`fw&j{b4U#O)C?DiaGVA2_J(xBob__0caMcGDqJLfvQWe>5mE3vGVt5zE~#zH|fw zA$`FGHytg-Yt~wO^drmFpIEN3oK&?9^GpNMjx&z;USQ21*sB`3@-O9^dRXRSrS2Xi z3zxr|lWczF(U!CImk*RQ50Au;u^HI~L_6Dbw2S5H;g-{m6MD{m{?WrvJ4&`6@7-BJC=<#oD8DEoa*mU+BuOu$*mHb<(C)%5Z^-&a{S@KBE(N zR1zQBWcDtodeiyK!uX4>vgvMX_F% zYqCSsRLqca3rabz>0|xUj?IRNGIldT!<>%I239Yv?^%7UO=le|kF)96g_aY~SdQOr zxm0iL>i0Ui{B4^|HMBoLX7|CW9G4zoxumJ(=$qER+;M89O;qCgjt=wf)YZfOMt`Lq+sp6PyZ%}KAD{GRtNDYAscd%k zq(7TB*MPlxSGRQg^&i}c-1`!vQcsHehwb^9Hr2uwFL9h*N~uf7HNTbpIT`!Fu3C2C zdvj)l?Sfk8SL-g__xAfgO{ZNw8OwuJjWfhPv<<2H-L1Bn9J#b`4Tyha^Ro@8z0UfT zULV#+9_)7+8*>hoE~CnE+VS2CSU23RSPlbqYi#*k0W{xVDl1rJ0 z&C>&q@=pw{UUJ(}{?Q?x<9zpM|0-xmiGOiNE)vx{VBIPE7B+c$O^M$N@6bU1u*m8y zo*J#29PjtRGHIay7S!(;|Mm%zQ9@fxyLe7Y+I7WoA=Q_M?RJf%YA>w3O~v(X`0!i0 zx)O{Wg^vm=HKkxLTdqlX746jt zCQrXH$iJ+ZpT<@1Q&`?z{_1t$4_A|Hvk?@HCam!b{gPxb?K*ey@&3 zZeZh{>#O1eJ=J!6scIg2P({jf6FKp4DGzkx#^wu+F#AzQs5t#YNPPqn36^R)Fi#nq zK4XO6sa@5NA@v+s5XjzR(`S$H+vw``eiQxsxqgGB`YEJ}KyAP|XbTm{#>iI%2j`Vb z+pF+>4#dXREjwu2+rQ-JkQxO_1O5ScIjV3YH`+SWS%lM{nSbR0msCC z3#p?(+w)i^Z4iAb@FeZle;->#zN#yyFMZbUrnjB$Hy)7wXGm=Tb6sVke*~#OW&7Bu z%#_o&m2%UpYF9|T45H`T_K1EB>~d9#UIjKwTKaEo0~J|OV0`x2rQH?2sb^1Fvo4+r z)*s>_TL0ik4IjKQ6Oh^+I#RXY9a3d(;iCJ1Qc1hc*vCfuDM&ee&dGj@HZ|xXX7ah& zGW55z>Dy2CyCf?^Vf6q|?3&W!qKRRkwn~AK45Ult|i4V69slhkC|}Vp~uTKgDlpcI9g7vZF1}jZWITqfkX@ z!$)APsh=qto2qEYx-{4;k4rD{)z4C8#L9P1@!Jfj%@3>Qv}EQuS$k?-8&madO!({Q z(v@Dl1Avt2qr05y9}ux})Tw^AJX=!VaH{_R`*D|%J}(Xyht(N++DMKRRz5e zA*|j44KHM|xnY%CR-lYcM@GrHfj)VZ-^NTNDOO#&vZPB`y{oSq<#&o$`S2*ePZybL zq9NfeVxMCB1EEp|m8O0+Tt4QBQ_3dVR zaUl>WYYvxx37gr1ha*(Wcv!7)b&5U?JSpiWx!qKgz75$88X2cO8M3e)c^nrCm90R( za+-fA9nkSAzgatJTdHqZ%?CXvP!HQMQkG|Jy36T)xAr`Pp_(1a!+(<9C|5ONd`HUi zm9^`OPWQVGs3CtFSSvnMDZ15RVU^BSNtu0Y>_?`Ye)n|0*HP(yVb$UYM(#zn3eo=r zJtb{=rj^OxW0Q^Ax1+M<^bw=|{mn5fp+jRhhFv$>Keb)#n6UZ^>@aoYDzBmy1EGU5 zcD-%1-_nc#8T``f@J7 z*LC~YSWi<p>)DvwOgRF!`A@Lzww&p=fg)%5 zrytKF9O^_c^%7S>Uk>B}o7t_|edP>5*0P$scfgYYe`C`RQysPbewP1gga;m=hUzAWsaH=S7#+mssJP59*o$a64h2Q*D-z&pvLAhN&(I-2HMO~J-jTgAI=t;WAIUJ>pBso&D

9Gv8i>u9(#`8vR}Q0G|yGdcO1#t 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̒E zPFhp5aqQQ4!b^SZi`k{W?N8A-@>l*L$)4OKTl6IN7k;1Rg4}orkprbvJS7PkBt7K6 zHX--H(raA2ISrB8avPLRL!>kw#;k9KNl{^!=Gy9gbmnfRAG39owheF1i?^IBqjVZB z;h|bt`ZQAd3ImUiqog~c-+pc21Ip0d(U2XRQkyYS2-iTFJO?|#b>Kb&Mz2Z8KDUL*L9xxf7CDmkG z>THlf=AJEWV=tuUNZa^5k@RA=lt`QAO6}a6ywCpbKWGi@&I6Y7Db@Cln(t*D8mkZO*%Ep301w6o94nUvxU?>vjX=00D zJ>ka7OXuYWzEU(v1?7xyr~uo#&KIPPB>C`L2Gbal4%966_WPRMFUsa~uU1x`r{{EB zUHAoLDTYO?qVUh4Y55%0E2U_}e5o@3WhL#Lk2#4qUke~xtfL+aq;QYb&smwc0E4q2 zoEJ4mW_VAtK$(YjOD@^a2-KoSt$x{GBi6;!UHMNYN0K4=sUg=0wkyNaY;Q zOmd=iP33CTaVa{y935CHCGa_clQe!AcBIZVSbA6F+7nLhEZS8HF z&6Yl|v;U=5O|y${_?oshlM5sPWzSWEkxZMe{`z<}u}k9oA6Z8Jklymjn*N?XeC|KQ zpURC-M|_=>7#g@js?S|k4z7@z8@Ov!U@dxl3q`L*j}IM{*W(2!W37aj{v+w&QmGJ? zUI%G;Gqqob-Y$)AaY!ZjkJ+?qo%9QCwo3j1fpP^o8&RT_{`2Q%XFH4oXKo1u{QCK;?IF4?X=HUr+ z=`GSN&a8-Ar9_UOG=K`OMRPh*+BS??-~jtE^W2Uxo7P_+vr*eIW*wAG+a;NUVrB0R zDa#-RUeLy8cQe|wSE?um-qV6Tn$q*VQaqnFoT}}UTJUX#ubI71;*u(Z6RYM+**O!_ zT_@n{IpDX|1AxmgRK;Hhhp{y?4COTl7ygED8x(AVO4uOA)%6sfHk`W+l5LQ|2IVAy z;p<7VHHa1RM#mk>Fg&y2{;@&#ZO}~{bX9}KBEE<4k0CU?rY-nlKz+C1uURwjXHy&^bOL!Cl;ZP+ zCxI0erJ}2(5Sn#R8ZWgxV?!46LdN9W^CuuX$Tu=&Pk~{RLFlKJ^%D86+b1_;f_%EQ&J^-t7F+I zsg}!)K{_*zLdgb>UY?RlfS!Dj1FWilDGmNp+UZp0kTn^F z?vWyC{AKBgljlL;O7E2#5nX|v>hm+&eg#4lUi4pq5Y=9}a24JP_`kB~+BIo2w?>(C zUFya`bMWjhsT%*L0fl5jd^!G%;xeTHc%QpJQ>uZcf6kPA`L|E0@C_)H(rDTZsRrM) zK79c(^Ve`gs>Q#GQ$lZIy!gvcsOl{#flE`S-IAO+rWm{pZFHpa^fn6?pig(C8(mj* zz*z*6hh~7^3WIq+1qUIfCy#*m7|OL~qm4_8a^pYp0N}3&G|u_zV&<4JwhfUy`3STc zY3R;6(;|SX$8zjkkRjU6K_+e0YJco3y7#9TwlY!-QNi^5zT_ze>cL?lipvAYWDR?^vD^5u4|M(^ z+|EAyUuUUOd5d^7ZTVaJmERSmGu@fg=^>bI%P4!Mt8J9~Yuas;(9u1TmOA>c$R^hW zsjp+v1KG3%N3d$GzB_@93;donRNly13f>ZNTx(z_#9Q_G7GGTAL1Jlbhx)qV2M&Zj zDfUB_nV`|Kym(B@lKUZkPj38{V>IR;2^PiGC|reF;-Jz@g-GS%ZO*I1f!!4S1S0l_ zt=3G>A67a(!6t)er?avk|C#qpvO<8 zlKjhko&|MKPCIecL%A41;|0$m|!p82f1jJT^2HtB?>Iu zP}wfNVQzdKN_;2zL&P5O4m@)h&3z|*3oDPhx`utg6{lqg{#Du>vh)zT3mysm zlb0|z+RVbrUtKpXJEuaSRV?^kZH^kU4pQq}_Kkw9nW`TGn#(=4ARyNL7Un)$t+0i)X_PsES;H=PgPDtV{;9uyR2x!)EYIOTj-to1?8jA73?}(4oIubgXZe6< zVj)d9sH5$vCUbH-P4mBo&b!Fx_`x0&x&^!24rRETT#Cy-w>X;{xY=g5=9n9XO0?5m zF3p7~58P!(p84=8AlKp_Zlh8K9GI7F%GMv5d(J`vwhH=EHl;ll3yKvdX}QnLraJ}YK#|h4V8{35 z;vvWLuZmJz54i=uujrcX9x|7-zz;I8)6nl^;EBLx7#88LE}qWSASRy9utCW-XuJ&? ztwBs`9%{q&w?VyZP*)q&AxQ&Sl0+M_nT~@*+t7xKu|d%`sHzPruR%-(4!7ZgZBPjt z#O zB13&QRjKSHkKwo$%5HDD28Vk+ExFo=ath0R`9m}5mm;zkf3+Va7m;Vf1k=|?uIqGq z2BfEPesU?A=_4=YzfGqIU%3o_dOCISm8-BX^7zV?*_#1h*^>jqf8{4bC9Je9D(~mz zf>W`iiohKNHkJ~_<&ym0$<&~@+!>!X-dtQx^LaW2$FcjUprsak>f1f4bW%BLTSE2% zZyQ`f9_1hC>*O#oeN6ATl$OxDk95Oh&)8JcL|DbM+3f2??q<0mcaS=mD4FA^%`d_3xiyNd^B4vEH1z$xd zBmd05Yo+uoD=*~WSH`KlJe><)I2hgZyUh$B1wl)7oV;T@PcSpPOzpZMHnmz5zM9~q zE~dj3WN*1CqZ-5*Sgi7>f^24Trc_D31`FK#mE?;2+f=1+WqFb#zrQh|xC-=FHTeUa z16-^w59J^Ap|~1yIsR@#N~$3j;g2+=#Wm!$K5B1tBE*OUy(ckpxt)2wH+8Hj7v{J1 zrcpKJ>X32w)|87f_Xr3%c_1Cdhe~Fu86_8G?_WDc$s6G=!6jNA$O-FvqJhhC!JS-7 z9_7_CjunDFW76=jl<3lyF3e0F6SB7K!@uc4Rcp&7`13ueV{OdWhp{xGwjAORC??)a(w(Ds_T25^h!XZ<1)mY$UfBxn9tu zj>se)ImUJVqR%5XhhElU-GqJA$x`YH`hH6n8WST2x$goV_iQP(oh$`!06&D37&!nF z_jZh2xm7(q)^hF^>ICi3?;rGAdF?`=@=@#}y0xZdW7B`j%-)E%KcOdsM%ysbJ1c!- z<#+k`J=LgdV|i4*25m7MXX!&#V}1T}8>MUl)-bn~rZtg=aL>uHDQ46NeA`S8Xa2gH z$}1g@49q6C-y~1BD(LQ9Z2`oTjWnp49A4${-n^QPj{0}amLuN2W{IHDY6c^MW^y-| z{=4(iZ){{0&dXV84z{Fz&E=XnIBsbUMp>JlG?#tw(%aZVj**sL06SqIFArLW0q9 zxF|Z1^_IG(xwQ*wME{4}o82@|?oCA+twSd$-o50{9Iqx&p+52qsRYe!A< z)ulbPY&CS*2~cusmL(q?A*0yuajnAFWF!MpY{i3W48f^|a6wpe|PNUVMKpRv(BM zSfYm2)O)IY-gVmoZH4L|sqU^WKbj6eQ%VTv2~LFnGoCaRn! zm!!QZav{8GyOe_6UQiyTU`BHBXvhnpA8WVL42j)`yZ?{ECOY#9d*tk2r`lTKJERwfC zL%4Xp+>HO4La*k_t%|On=BWG1@?8!HWoP0;z^qtS^#J6%K#t(A;HBdN$VQ9t4pQEZ zL(I;FD8_rs6i0`+lmlC^Yk?ZZx{M1h0+OZ|b;c9x#d0G)CYhd+Jb*%%$PpO7_Disx z!{_4?8Be+C)e`WDE$tk}!RhBQ7$cg2?p`*_S5&CI_MR zTi6dw#eb8@Z^Fdf%8vkKUwMpmFPgp#+s9@)xJ>R2!La0Vc?LXj?piJn#St%T1w`F5 zRBwfR13rF>t;DJyMdMbYXK|`p3Cguf-Bof+j(NmgjXIZQKR)z+wd}@Rs{M{dbH$&k z{0?Demp`@o9hI6!<9?UhI7RqFkm$5VE=vX0;5eofrIu?jY2hYwjU4Gz7HpED|B(IY z^BTDT|ILrw)-nOekDjf=Ep45(au3``Y+Ng!9IynY@m#6(9 zhfs${#pN!8&}V4Z(DsDgN^HK3tPTE_-NZi z^+k)-m`9J7a%0!a&8nUH>H7sb9Lcl=y5(;GaIcY<xz z&=7x{Q_5kb}1ozl@4U9hx zp+F05PN%lYFZq>sY2P-vE{p)V?ea7p9}u0s6D#@;TC-EGmA`-k<3l6;*|$XQ!PFXd z@t=3fHS&8-X9o)S5B>xT16JrRYOqUA=MUc`XGN|G`@T2@BGs?-i-J?yX4<64p?r2T zx~<3$ArBncjm_pwUnOU^?9Fpm6z_dN!xZ4#ey9kThiz=hW!LOI0LzJ{wC@lmr60XG zBv;;53?U0%rMl|=-|~N!%!38-d|IJtPH65u|yD-wGoDDgp4i_P~q$@h%Kh$ zP;e1INm_;;Hab^8dVV4xF3-r;Tp2jV@`OPKbh6+6b4}2nmp0 za2g=JB`G$#i8i_){x^#Ho`-IDuqU%GJ60m(ps_|ke=a28{HZ}dW)9>LW@zsMS%34nQNn) z0Z7j;84&UV-FQHHext2)NlDB#1*wIw!94r2NaMrybv-B26#XllM=RQUmN6UgWNTUt#a9hGuWV< z{>X56A;e|_((`)*NFT6gHs~KfXb9-;_fOJVf*Rh`qcMtCZG;zWgr@-MEk0_aJ7A+z z0OY;-$qbgeeq2-oR^$aaJvsho`ldgl72lYS1I1HttLx!#7m9|W`At?aMKuBaB{|Uj?n^5IG6Ig{7hlqyOLDNg*o>9YD&Fh^Jid$E zRq^^$#zo|1s(%^BhN(3BvK(5fZ4)Mo*Tuc|1am7lw!0hFJuxF8JT8xAVc^}|QG5Y< za#^3`5-?k!^xsIZ?DI>4T+c-Fy56gsvw_6#U zDSt4){du3eauIHVl6+V8cZC1sKOV@npx$`)K)%k&J)$rU&CkNkat*rhP=1_$Xic;S zCz0mn`8vKHWjvDi7Lm7o#0OQ6#m;BSfmA2xS?}e8V@yW@YU;(00ftdH6TA)Jotu+G9KrXd3k?FeD&tv}U&BFB5Z-}f=cH4L$?<3B@d ziw9RIOnrG(+4Mw?aP)Z1h7%t_XCGgIODSYw_*_AG^GwEvm>-b*Qf|Y($M90_&))I9 zlpBb{c7B8d(t!JgDfE@R%6om`+)kZfzQ@M;=gVwJLuGpMO8y`JWj57%EmwjHedKG| zr?9~%k9rHE-m!>L8(MhL*4NM_d(ySnQ1WI{!8cI4;Y)FEWOLzXc13837UM&BNL1aE zB`OrI_CBrkhuY-=`#qXV@IyrO2yL!IzQwBt9qA~%>U-{f+1 z_8at8FfREfH{`EnP^BFC68HC9$<&nJa$;_K(;4n4mEufgaYSv;nL;qzr*ft^-ZD|S z%9&>2W82ij(G&)EL*!_}OEYDsqiLxl4BMI;O|_UElhIV4y)HGH0{G)oNfb;23NH82 zn8*a}ngKo?z>KET48de(PP_#ZIl|yD-el^7v(H|WDF~KHf16C%{L5{0$JtaA*l*6J z?zpk+=3**|vuUb}sd-Y!ZcKC-+%DA>6PO@Pa?D@?jd5Z4!|O?QyhMB?i?^zdt0()q$p7xbt@p zGJU{25`#@M;25QJDN|wE9&GaSZ1XEvM)F7@zG_+533u?Zb(~)XwJxc_CVZ-d5mpL4 zInIt|eJ;&54LcAiLtH0#+1O!)RxDU+X1CL&`9A1s4>S3mypzRlq2A&Bsh5D2m&6tIDLtYzouj)FX zICz;x4o~OdrZ)TmyvqwWB_#D4^&{m1Fg=Yj0a3OJzkz~5!&cF-)_xkDi#2OlYd^*0 zVqG+BXCbz7$e;i%^_P)s;q<~){xL81s8xxIFiq$2ZLtewP$|5h3n_1E#%)rP%43o9 z51T0?Dw$3jMYY#Q+zRzJ3$(Q)o)CABG94^b5nne=X~5oqW{uCazJ2pERgE_7cCP%h zwHT)So>$A1$Y1VBZEArx4Wy~HOuv}R_WYQWb$+HA!hYwXY7y24&y{Qsp4n|65^xk> z+vMeVvd8~1b|>IX6c51vle7g|b~hYFu7Dij5W-y$B%Brm4a!kD19DVBiKti=H5!g` zHUeT{6a#{m(;y(#pho2=mqrAwh!VLhl1dQ80tHg?|4vd6egD7rd3m1lnLTE9c6Rp2 z?(A%-xO08Q=3>#k%2vI}*DGB)Azwjk*jL%7=ZsiJc6i*M}IQb5rz*TB%A5D^ZJ`q~+Txm2k zjn@~Idw4VE&jB1~d-+TcD(~=(PT_w@`IaN1dm#J$M_t8+fy({0yNr^B6D;Pdy3xh) z7sEQU4e7I78Kku1&Q140EQQD2gOoc{wvLQ1<-jvy_8?`kVP8*CbFk8vF7L+-R`%Dd zFoHtulX&iz+aA`@slDhnM6nu{{N{Uk2nQP306&8@NEGVBoD2?$UJonZ_p4PTueho- zNsZgBij+&8Bx89%O(_r5;LZBjqAEE`j=L=UA8+1KBNmdsz>T*;$+toYw?bvXn=!7$LNdl* zw?gM`h0fdxov0oQ%KH#Mm5&V760=7u%?+Ddi_N1I`NZJeF-m9sOy99FN?0$u6dJ2^ z>Cuu}UOb7rWbt!ZsIDAt^3QN(xfcvbjDH}GCb@L?-{9s`)`UdIJWlaX zM8B;?MMCKQ7IHBK#eCm58d7DH6nWpT{K-w|dVj`DV+^n0G?1?=F6bGri!)-~Q0vOkcAY_=NJ{B4Gdo$@)DeCBgD z)Ut<6^+Je#xh8Ndc|_cppuE>H=RU^HDrhbbI=x2k4!z9qIZ+-(>mH9XXUxr0Ki32e zH=4y`O_G}?gw~tIq9(~LED17>>_Pm)_40CJ-_7<&m2XA6dAEA?2J!HtN;AWx_2Sh> zmFDKlcik+t(93;Eh_pjYyoS@DK#vK~Cyg;GCHDE=sOjQDn{Qm6j2 zH)oVB-ij01D517;M!O6R^;LXU@l>#WQZ2q1zHk2T#jIk&Ka1hBe$mkA_Qd9st>ug1 z_1qVgI+h7HXZ&X|4djfm#q?!?@xr4-y1edd@{+={*w32!?tNKVS+U&%Y>J#&^2uW{ zeTqgyT^TM;WeM>(p_X!Z4_PZ8<_)k}3jI#_7S2-kCeWhp;kim7(a9 z{=Ey8DGi1#Gthf*AI|4=n{vsxpe~_a@t%X_W3JBP@Is{~KPihBDyt2K?_TDqoKn@m z5qsqu%AYiuUzDq4bxv9=6X`(Ibedoq7Zh{8- zL0{LU$|{3l#&f=3gmT5e4z+Z&_W(=04BQ;quL$z%Z{i#J-%2UpAopV#iY+T%~)JH~0wKQLkb$O*(NUnzK#r z53#96a=wC}l1Y(V+z#+?@Bi_K<}9O%3b=ZK3l%>sD8xDmzn(0Klz)?@HrouEkF8=lGA0^Nagu| zKn~abXSk~z{*w6pUW@n6CmT|R_FTLoUcaYe^^Th_QmnBHMZVP$-<88R{u$LTKI*4i zqiE(AQN-YnmBuOJYHW+}hKz81tPHL&>JmANH=1c%ITnr`4a+@}#gjgzR;7vYp-SR4AEnn%tnn#-o6O{-KP|WDel*@zisr1b{$qX% z^%wcu6)QhJ{@SiIukrWaPWE2U+p_;TZGwoVSjFO>I%eop4d@$U~o z+;_G-lYCL`6Qu_qXrT`0BpJn#Pn73s>^v-|UI<;Sbo0Ey+KMeLQhwL}Dc*lXt$XJo zYDw%GHTELgtpXt+57z_5?9Y@}>i<5;Am0uC-q`#kmpmuAXtEdbod2}Eda6;|*TApT zGc>vIn7phRe#n?{+St0uM+_O~B*pgP5jB3CC#O|uk|V}{!7emN1is*su7#-nrIMLE z%te~lB}b}I|2 z9C(q%%$>;3Et!{YpZb2>txTw(-z&O)r5vL{LCvp~zfwzw%e)+{&P;r%@*EjSsx3?b zcDgrxvjd7jFTeKrjWRB^<}f+q3VB4jIb&y0_KlLM|4fWOsGQ{9(7oR(LsKU{Ea#h5 zJ|FE2swB-5o4!>B%BPUua{0}J_Crdy)an`k$9!o*f0$opy!Ph*p2P9|PZ|4QmRSPcA8$)R&i#i&0nhJDWutnuQr@0F#zA33N{*^*qDoq`!lAG&SE z#bV75%$O>Yk0@_)QSt5(Wlg0$7h*GhC?5Jz5%nK@ih||_T7m4-*~4$3=f^TQ=9nzH zR<%XqQRO?f$&W`BPvy7H$0E*oz@QUfey6k)8-7wA;g@^z&s^7+-Y=T|tZe63--(}< z@s+lTt&BJEnA{o0ApClsfuHecO*IgY?P2-WS`*txkw)zbMO-)5`~G z4DpN7jSF_)-^UetIN%F>CzVZi9KV->%ihgFhYVKX8_P0>2Smmx&Q|Kjr`g>Mmwpxc z(~4WH`Blj^e1BRF)E8S$D${(2ik6xzc2o-a{GRFHi(USoOO0=TBkQnwm!MdYr)wChT@&chb7 z`sJO{P2R#z{m=W(Rwmurd7s+Hz-uqZnj2LL?JVF;0;N_;vmNF8FHig<%Du^TzLZgt zc57l(L>ZK*`{+tkb~KVIo*JKGtR0WPCvpl(GwiO^C)vGZv00}S4FA(jx@__E9p zNATjAOp?byc_G7{&d{Mb@hngK5N{j5y?p#wIX?dJv7>U8+Om*y2mkr1S>o9QUI(aB zRh?CTP^9tAn_;mB>%IONEOkAZe<*R37(l9oo3}{?hdp692wI`&!cDYa7S!waNEYo{g>5sA9S-ucg*CJbh8j zsij^_&ZXHAo3ZRqF{8HHKDpSShdy{#Y^kHxN;XfACARc$ak!3Jla9EHiQOjce?{vc^CZ*b;2XN*y;$64 z@wh2RrZLEG_&?T(v31qlO6wQM$u+9_B6Zc~`f8y+WWk*6_gZhNDNi}Jzal!-Q+uTR zxGEm)+cm;fPo1YfgAsF5)~@B0E5i*maj`(YN+pxJx~iD8G!`T7BH` z-7CV{Mr~z!?-eTbxAerbuU2u*SFhY`jzsD|{VZm;QEyax>!(|59otLh|0I^SRgZJ7 z%W9`SlsxEYV|hwWYA6Ej)F#PwAD3CHk$qHLYp2#RoIEP-XsouPFS*%V|YbIA2B~wtV9uqs$)LP=n4r*1y2V=$b4r;^X z$rI(YZiPq0#tu}UjiN&uo4%qLnx^*WTR5wTkeoLn7Jto8GQPRpeUEUs$(28>a=L9J zud;3UYxh-=6?+vGTRt(9h8~JVt1&PZt+r^>QLXH{IEJLCEi)BA#3uhQn_=}FF}kzb$*^ILSlU_b zVc7npIMP||L(@1@7qtPc__}pryYD$9Ms!iTq&_j1qu-FU+20vw^9mg|R+B=9#o8`v zSN;3G(_K{V)}3G0RZZ6)6@9v@4fP-UCU)h>RB!4zJ)beAYt5N%p4`gnUn;z_UNhh&@U0Lo@yiQ>-%KoY;kWI3GrF&%{|rGtWL*XYDc}n zH@TO3zrpapY0)D?UE#|}S06DL=I`}=)K~pMpFC9_4e60}r|*q^>K%Ih1mDK~>iv2i z3|+ckeI|*|dQKdurqOWSGf?f$(6NDPU&FakqVXWLk>Tt}ao-@dJQa+#>u=)29bh(Wi62 zFEnQmg`R7s-KOr`y3jO+idX*`f6-yG*fmmp-cUGM+%rne;cMP|N3rNsadnhBl&?sO zL3VYHzN0v5S9=;u*p>M#ZE=CTdvNw~(QLHZr1HrJW3?kx`sfw0+OF0RV|%H|;%>(77x--nSG{~0bm-&SlLqn0MjvRx6j zX1wMq#NJ29m)Upq5%p98AA~wKL9Lod|AXfzs+}s;em8#N6i+oyY1lX?Y2kY}lctMd zjwG+j;eYO0ofs*enxxh+P4eq`$Ql3n7(2pWiLVRYoHrG#CaHarD>jN{dEjdC$0Su$ z9maBQOK1BCvFvfRm7wN62kn7dqvj2kTtfbM+ck*TR0!MAsYp!qes*JyFlr9Q~x?>5ub z7QEgxa=QAFzF1V5p_(fM-_z48iMVHmIpQB#brs`hJ|DZr1Z$X6`I? z3^nw(S?Ybtmwf0)rp|NDB43wm^_ad{X;W(A_ww!muRVo+?@28sAgkCn@(MlP&CvHf zMb|mxVV!tv4!ijbpL-7Fl<(0Y#Kt#rlURiv zRovaoq3++;U>s<(MbbQuVt>vSednopdU{-*r!H)`jfzlw>Ytkt?=j3xl5?BOZ$7*s zmd|Hr_g5yvG~M%Dyh;Sy{-O|3_A4 z%xWygY)h`|JG?-BDN(=LXIrH1(mzz6&V`MsJB%ZDJjUT{J)dEH;rUn#Q@i{eRz}i| zH*TLkPfi~i>zbMAPc!}azot(TqhD9kjXANA2aF>Rkf>V2x8-&9us(Uw>#+)@uJbK; zL;XfiPaMOSa)|CBo?oiA)6W*`m#U9(&NVJm>$FW+Bp3UgapZTTP~)|HhUW71L$=~@ zyIgL)(+lMc$BZM7F#}(*9I;Hb8`fPCzGc*N(h_PX{j0tcLUkCLRK0kaq9VWYLn;~a z7V5WE*~-~wo)qhfpOquNs4AXbt_Jm0#DKRsL(CJ8zRhvDj(GcRwNb+%^WzzRXd|Z$ z>XgExkA;tOlIAHjwY$|e-|@FOoY3QF)fMXFG_rVk1*fWp!m~mh&eij!6>8f%&o+-; zn(!M@Hd>Kyebcpd@kG9XDEE&6zVwwusl8ue6V51TPQKzd*kj+i3T;)yEAMb6LO;Ck zsP{Bqk}5a!h0ubSCqm;JUx|jg5w-XXb?VkFt(L;DO6AMBmBq8G)brf}DY5DiDx!9T zzGR?yqFnQj2*rLSo%8g2%^TaVW1oikrCNL;KOk@UtXQqqsk-L(%iLJrBcGFeFV6&z ziv6qAyXmCrU6%8CvUuiQ^-lQ$+`H;TV?oj7*stO~Z8>#)`?#q1p1Q;E(M56KJ&s?4 z#rt{cK6dG6*Kp$MBi64`2O3IV71!3N{ip)>u2oMNj@A}U*QwojfRnjS9jhPi+p|v9 z^dk>v%A@B0Zi28?PA_kQF#62pn^&Ci9ht1W&UCrE+`NkK!aT9dnx}oOHmLT*DnrJ_ zj$?Lnq@OW8>7&uUw>GK03@N>zqZ07@zDcsLXtVlR0zWENZBsK6^y$7!AFFTbx#C#3 zUA0xz-{Cvs=lzc{l~rK64U@%SB0zQeoJQAu>l*lNFeKyT>YOOzf^ zU(vtpd;Tl6Vj@pgUp=T!;EO@04^jnx^40oQov#`n>ZjKgAKqt*K4!1XcUU%NO+< z(IBL*k>~f2>Zt#FSH0}XdvO=e3H&3NTOQ;v{*4$|teW&&d`}juFX$`mUwt{6y+gD+ z&tW0@J4c|#*SE3(avq4?iJVUKUfZetT*^ILsb5ZY`FQK+t)eK*+HKz|Dx9Z+318Fm zT-fkFTmK8{z|>hCV;LJ=$vCXZ3xqi%Jnh?bL7gG{_-%7hZDDx8Bt~6SJ8=Je(M9zR z!-bk+-9@#%VYk=qfSsX$99VZLKJew&mZY%T<&|Hiy`dtPQQKudCNh zZ7)asDpFFkcKTDonxggL=KahRtqV6I{V7`0Ml%!Gcgq)d^A>|#bf_HS~=640%tAlsmPh@+rxk+Ghq<&)!ITSFed^ zBkgX(k@uE0*6NBOjoBJ}w5+iCwW|E^Co(Y7Hy zcWbTn@A+P8rv09vU+;UgrIr@!p2(t2H!L_MOs$ywop_*?){-6ig;tu=usSF%wbI(t zO3Bzp>nbL+)>`mZ%EHz}SayQ9;kDj|-p52n8*PvwdR(k)qYX6dnIaao)@lf?tv1_G zH8#>LK545pGMswS_e)#0ui^EhBB{M*;oEENCEdj%?X}G`Z!&h!vJLtl#kw@DrP$Fy zt6~UD7T2<_c-8A`W&9>cH?D_%X8zyV7)7&=pWaE#}`@=*+FRi)ZuU|#0UhEWb}}Y-ZX!tuhxcS7WLIS)E&8pWXdn1 zi`S7(>;%mIxU<0bOJ8lW-dGrviKySiNa8BKpElBPY?#>APwSQ3nXwmnjIdvn_0xVc ze6rJbroUD{feY%y0h*_(^GEsca#)S5xT-^J9iW+&Z@*}yi+@SG+ZW>00BwrCn{VKQ ztTFGHIUdqpr;pAX4{4o^$GH{CQ&z-bE?@xLrT_-tR&t$>Yshv2K+1lCUQFOT@xWO2o^M-< zMPs!_{a${6s+wz-4-$)8%S);!7;$ce>=|G&ec zDj|L)kL95D+P9+NIIU~bp5Hdo#kxFCXI0A|^%lQ;&tye(e*4>3ZGv{GqTx(ukvv)Zh>HB>WUT=Ws!mSUrW(F7`!XC_1wHpTMm?!D*FP?@ zB|XI^32l#`)aI~bjh@2MX`FCN+KbO5^z|`?I=9;Ad`kO`FGV%to~l);WbmhpYAYp;3H}Hay{j=p~_db4U=PlbeH0RiE9hndOh_8H=>b9Py_u zrjF}Z_!=zHxUzd)1ea=F`ZJ!tOgm!G*Arvk(%Kt;zi^3-#&hvlH{~YZ>bJ-s&yRjs zuANr~uVF(^pu?^z^&Suh-`3va?f$7AZ2*V<9Ug5sO}uKa&>okKhF5UJxlgQJK_NC3 z`&MYPQc0*tt=`5D z-O$wvqT?D4%QQ+`qnQoC-^9!{T6Y?@>|CR*X|Xqn`Kp%w=h?@}Gjct4=gf{(Scj~z zw7FcX)k&Vo{IXgu7u(iqs|`mlh@tDWw1jsrT#|jqn#6{6+FZR~v|F!@poDYQvnE`v zez1Yxz1qfFYj~1soVP^A?Qd*Rcr#_* ziP)sI;`Z0hP1+s&Mmf4kv(z%h=KW5lbo;z|VfsL8RqIEOOo?BKvE_Vqa}E4r+y`1t zt+d$GY2|t3^?>0!<@#}k*sL|Jb@^=>H(VZ;60gX( zuf(RV`)^#XXE$rF*DBeH&e^x+6@zXw`xOE29^(& zP8Cf*)cPlv6~!m75z{`@1|+X5AEe>uhgxq%nac9y%lU0X<9w!V@(Qc2Fnp}N#qQ+! zSUb#su2~FU9ra~w*M{k<^$K31dE%?%GA^trZ2PmebTztDQ<`IMEmgP9Gd zuKBv{)G8zx4jdDG3balfC7cD?KEqF6i#~g_jvN7B-ovgpM0~o3s}h zno4`vFZPjI^`kPiJ4Ds}+D=ZU-|r_E2_ofy*1b}}kyy&j|B1G?VT1%G|{%fx6I*32M)_%}$5CsA4xcbs= z(x){0^?&V^&Z6CREma#Uf8~(qNb8*=E&5 z8RGR=10^+2mjJ3BsmfTlm*0`=bp|z+vAU5%x@`;Dav(`cUeu7Ko3Zm{w ztxkorobrpK;=&0o#Rs0$s_=5uxRY9qifiR~?TYyGgqGT>j%-ZA{(OkfvB?I$t|#PD zyUMZTl~J+MdQ?WK7mw1cC5`xHl>Gx{^KqmRYWG-_wDN@b+*&N7+!a5m>GfRYTtB5X zte`XD>k0d9@dXu z_M0}|@YNoX`I~m%gU@BkH49NiPX7n8s?SJJ^e|_mc2XG4HvMiA9v1sF| z{W6;TttYDwhm7B}1{oD&6YnZdQ%>B;xrxp6dpDB(^tNQD$^>Mg#gkRPnILo1`?h4u zV{Q>op5>(ehFEx3tHoojbqv)U5u3ZkZF9>^^jLTNEJggPI1$oJ`gS4`qM(hUezDfL z^0{4?S2 z-EzXA>+vilo@0VeG(5+I-?-INJT4;iAr4u?&uN{j2j7n!+im>rk}Jacz9il|r#({b z2`1Qb>@+$nAD=8z!`j4Ze{GZp7unX427nEipPyo3ZD_su{~h0)_W1ECx2P<>z`EzP zZq-wnFP1JR9F|G~ABxH6wNcgAZuoCb(#22b`7wHGh3}O=w8A8QsSGaR=h<|zsYL5f zZ;w|>IIUF^buaN_`IzW?Njs_SZ5?0eG`Y+47ipKZ7x}{92bVd(@qw$$T3>y#&wNE* zZB7v*?zi#D%hbEA+AMnr-2I6=3iyz^Vi<~BH6Hi>zT30K0owc98 zr&ms&#NusStc7^@@fwTgi}Bakmw5Z&x@J#K^u$k?Uh&Lz?ZMSX%x}!XtjQ`T$K_Ym%6N<~hFpZ?BaBd2anWGBi_@?v z!FVL$tKG4S&YC_Y(bz=a==xe_UBv@{@+Tzc1L_Pxr-c9G_I%sW`iezT7~_v5+Q^2Zu?49139t&Ats@$*Y` zXy>a}!I+j%t@126a(B+d-2av<@b$Z5Lb7qYo{x5<80To8&bTChH|6w6Kes$YUxg_w za+%ndVr*uf5}UL)XMnkQGBItm|7^LM9i8FzvEeHr8c0_*zFu$sDn@6U<)=E&eIs8( zh=1~!4g(XoPTx`4*f_2KKeH6mEQxi9-Q(CD+QNk5M7fol5-P85E9IT~J48*z*im07 z1}MhPsc&=aoc7$!b6V^wG+Vr-7}Hbll~X3lDe~$yHpL?TQjFbFFLGdDya%-?^t|A-JH$7`HDjaX&gJva0i$MYb*G_x@EUtZEDGnNN;2LLJXoc# zto}x0y_CIjB6Z>mk9gW>949|NZZw{)@GSdG&b{KHW+`{*=lYIRG4d(2-C|@l;{!CR zTU*WesGggYN~&>a+aq`C_zKdjb9!TT&G^3CU$gT9qcF z#FA9wV8gs@@lXw8O;MI=>{jEnv3xId%00iRBfHgwxjv?M(Hjb%6ASJz_R#Y+mphDu z41aC*)vIY7sn_om(`p$rc>(elFkGo4?yYS!SK7l@RAn;-@lfKs^}4Uc#r=*|Nlrwy|sW^M1EtOKGiq2m2qC>8oCl4j;3CZt`}vUjg4zmsl_Dzdh$1%ztWo5qbGeGyBNPsbOmQ$k2>aDkB-WY z|5@i=j|S)eGwfhkPRlJ%pZ=WY`;q_=>(e>!(?$}?`sBIaM z`70k0&3rQ+j>Kn(jnDIK=x&@?vFe1MBGG}tNOa4wNOTq9KY5MM*euEQCP$I)xU6*E zb19ln*z3F$E&NcY^P~HqPWR?3m!c7_VUDAjE2K`ZUW(@7y;y+Pu>{+=E=5zhQk#fr z_&M6K6rE_Dektm~@6eCcIm!kzbuL{W0ue?`Mbo1?-F~#;X>{P3nPdbjazOXu-59{B z7{<3yc}%BUm3=8{!QFFMFxH&Qg0U}pu**E+;S>yG_XR9(qD!Y6PQW@*ryJpBfq3^q zBH+bEM8Ly~iGce!`I{!`bc>geL40y43&6T>k}*8I{8F?C6FAT%KCaW39k=G37lHKnv#KBUpgPu?Qc| zBR;=f-b6DV#&mpo4e{{@%*GOQxD23M!qc$~vv9+qMO*4spU9E6Ea>2x#EjHfXjdw)QDyoA|!-)3rO9)Y*Go+`lI zScGRW@oAk-zl8*_4W{E{%*6LG8-Kt&yov?bm`leZ9Ds?>=ycDZ8FMflw_qlo!fYJw z`j7+&e1ip8Z5s)o9TWLU`yQGxjOo}hp9Jt#%*K6~hlY=ck8`mIBbdmq=Vw1AK7NMj zc*940d~Q4O(bee_YA=EJF@Oy|rMBZzRQOe|e8z5tgV2Wi(Sfu4?3Q>9z4*-M#7D~) z#K+O7Jg3t&|C0DP0&RE@9XM(S@t0R0%o4!cO;d7ZB9ZW6$CXv5R! z!1@IwfFsb0hcJMB_~jbL8K}I#fe0;l6>ZpiFY$3Yx?f=b|A>H>5hWNvZ666>b5y1g z0WD}p8$OQ?T#Rnqh+Ztf0CwEZ5fPVQ>Wey^dVnJ$Hp2`YidmS0xh?`h0{Q6qibF3B z{+a|(36Q``Y>FV;4!y@&Fm^aWL@Yc>JZ%0ehf@3vBiN*fVGiY^F(NM#(bPky`x>qI z2ih_H4Ew*6fS-T|_o5%Q-$(#o!U!HhQ%@?{SrWjDXh&U$BOq2o51P@BRt)0(7(qLl zdU5DQD>~7R3qtJwP6FRC!h`dQNdQ~^P6BukBlyfY66medRSuH?deM%bq7wt?!Q<%1 zFb44kMzG3x;@_*&H9{*sjdpzLyo&?~>}P}rPop0j{6PX(h!L!CfdtYyQlb?{VkUlw zZoL0bHU%ERAh!OCc-Rk3eRR6uB(1wk8(BQy+=*DH}#cmZy0Cij?MsOyY`m;&UiYL*I7tx7Txia;j z1^w6$gZ=$=dh_v>_H(26gi9hadKKR^$Dg?{`EgJ?)0KGs6h0~9@4u{YXr z3_9^8^x((n$L}!sfQ#LMK!gz~l}W&+(=|ma-h+0up%b4+54zEh8!?D}jNor*8o=J5 z5Ffjv9S5TmA43n$L_e;?po_qV1R@wf(}V0)XvIX81h4@*u`haXJo<4O25~7ya1ELs z;(&%$JdJit(1?%K(SwcAj~&nzB#=QMf{&qTAe9WQxEAfW9i4a(Js3tmYDO}EZ83s_ z(KLuF9<<^zwBvSk;?L;82>Ma0a@iFP5@=q91n?d-4JJcq#W&H8U!W6zK@VO*Ki*N5 z3}9P~U=EswuxZeW1!%`#(TQc~K~pv2W2b5^5+Lv}BO>@Tnlji%XvHOH$EMZUeQ*lq zVJ;S69u{G}I_y0UbL2w{4n-S2hYnnfZu|hfcoYM8-9;cwpiW&97^>5yp#=w`4TI>w z;ik*cT=ZZ*ZmoAYT8O8y1TSOiFe+dD%h5D!jTv}9X5nL)i!Wh5hB1h)N_Vp61Wafe z&c!HN@lCX&7oE5RJs3tm)@eWjI1?k-wjuFHu#GVtvm23doZ6T*$3M`EikUUX`WPO; z{@lrN3s7;C7{quVIx}b5ZW+=4!nqNRPG`HY>ENwjA0y%%4nVL3ACUSZMYB}xC-64 z8NGNA0~o@vi$GEf5*Wkj6D`;sZTJK_a2dL>LQ4|B=P`f_FpTR_d4!V>T2QeNAMNPC zzO9IlE76O8U;sz9X8#Wp*h@ee%dxx-31C`V62Ldnfj7{NyV_BCuxEQJAMV8nrgvc5 zkK^hVt=K4yx`QR?#8*2~ckrH0)Ex|95HEIO|2K`->E6AYh-mK2*$VH+Y|O$u+=vBe z?aJafa>18sARy>JzyoOFpwUQxhYITt#0{s{f#E}?5Cz_mW zL$u-+wBx7f!~*o-5%goFZp6nH7(pwVUg6|}R?J2_KGB^F;=mqk3Vhy0AV6RvhVf5S zUZo^@vMKNhwBbs0U=g}e>qP=M90M4{FdBLj-$i`1;5}%=G3dZ)=*H#fMb~};0Rolo zm9>$*0hQ_G7%lh*+EABH0@xJY*blup1_L+^!?+xk8C+4J1uOL-KDyC?N6?K8`VxNz z`~MRJ0*uJVFn)*1OwQB&NC5Yv4Nd(?04Jdvr=k}<7{Kiq#@Pcn63)`;1g7Ce%)qt} zvgxoldN2e1vsmMw2^2A+=|fbiY-U8+LTDtW=){ZY!73A3bF70wv|LKOaX0HpGAcM3VF2e&p+s@@GnD9?lpLmEtrwUN zADqS!5S3Rrw7<#zznD!>#E7voiSQOhoJ|Q}gE=e!(=ZO1NbI}@enF+a7l(1tdv81Y=#c(jc#0qUKfG&1Om7p!*~{zT=oh#3E%?Ez|)w8 zeP5$C<4DZM7qJj?u>?0@>Qd6fG(3$NSZyKku{q{qI=b=+JWZew^RWbf##FZL^hG3q zmc=B1-7y!3V?IvBLM*@t9!C?~e&*|JLR^p8xC`^J(-LYwn>rJ7*_2C`u>Thl*un@W z+i(|pun7HF;SF{(tc4Nmj;6QC09vtiF54b^q7xnH!8z#1<5+~HnCRiOyOa{eC(wqw zmQwk$2m~3Civw;tnjq5=?!Elg?WtfHus)Qq00y%ZZQeF<(x{LVOHM z@DQf1qAp+>Mlb_icf3sk1lnRQcE@}SU=W=iif%Qv8_l>2(=qWKYBRP+H(Jq)Ph$X= zV;GB2d6%o@RTMq;MjN`(@hI28lv#4yf5LL0eM+r+UR1L(vE=Avga>7#QC8AR_k_J8GlYHL1~ z3xl7sAoTAb0dy3Q0Ls^7a?$=38AT@+q8r2L#Y8Xh(1Za@L(4a$gOTqz5Xs>};-mjZ z;$iSd7ZEp+&`~mgmJ>uk$FCf*#4v_2 zku?nJu0+!?g6W%C0sWPz9sQVviYxg_v_J-Ubx+yCgz7}VU=3!#2)d;Wu0(@!I&TD) zU;ve^4D&u=8V1pZ5pPIgI zSR+3c$u+|WhB1|lhM#1C+gRWf)&#@oMrG=iXdasAD#VY@Y%-Wne0tt6qhsEcs1==< zfz}+Bo6r7lBakg8paX=Z>^|5r}4CO#58M*?UHvxeJQ;Gc{~Cx$5*Hzu-X z9yFmBvoL_E%xC)RO4KRmzevKLP(o-%_uphdT0(jlMko3&vBEAHpue&L3}6uLS6I-e z%!n3@l#*i-_FQF?p!M37XyIoJV;KFI=%)m(lQFbn8rsl?cFaTvdeMmm=tftNfQLW{ zdQthD5{Xb$=)nREl(8VR-C+6`tQn?bfR5v`FpO?=&{J3*I?<0o45QsZuex8dBIra< zLTS{C*2Gfo|H%o7rBUk+5~@%db)b`8$vkMMk2~*95~7dAAUf-mMpJh&jCOR;37-c8 zO;`~6o0djRyBWqbbTlV}XzfMDq`ga{h3KSp#`53?e2C)dk7{LgpvZ<7TrBMr-FdZ!}0(Jsc%t9Nw z(T;iOKtDRsDYqHs%1wqAHi;k8F^G1IU>2I_Qq&}i7}L;+iIk`Z%^0A0MhUt+LrS9x zMQeYUgfKv7x#<*T5VI%|3+*{_(TVx8q_7ZewDoXOG66aQ&66cHmJ-@a2GD`ZI7$fJ zn1_x`;-O_S8Q4d9&yxN=_J0onHzQ10%!qFEqkkGjh?W;ALiD^u5$;DiShk>lI%|y9 zY%+qTImAcjJQjqW`P2#YV&VZd#RBRWI&;V<+Fv7s2V6`bU?pb}EMS6vA;Vvh;38&3 z4?55yD5NR05RPA8ZP={7F2t{!Ip41WcEx zOn8&qr3anXiz%vYBVCpW9mV>-(Srf>Vi5*0g0>@UvLA`> zA|PJ^wEaj#v|~QHF@RnyLO(_@jHyS-AX?CLlud_Lw4)uf(20KZV-O=4LCepS&`+d` zS?CH7$R*%E#)8lpWJXj@Fyqg7iVULrS2Be5-&o^g6zN$qjNTBN3(d{is}J6QBvhXu(8^(uyWoq?m?w zw4npttg##O(2FKAXuZaQ(T%2G*#83r(tcq<=tS#vN(7zgMN@<|k<+8>M#qV$zZT8L zAbQbaxE3uyI|ea~i6_W#!nLRwEwu8?L>sy(89V055<jUjs@I~*uVf7K(NmQbD z*Idy|0zpPNF@okZM66DRP)TJC(SikN!yr1)^c!o2R`jAB1L(vs2Icr#*P;=0)V>x? zJxe-u$S_7|bZ84Pe_IzL2w2;ZGj!50P$?!N+Az?YjG!ljO(TcV@;fy!i=BF3Q_bHEI_M^K#+h9OVEyrEOIoX8?ETU4D_M{ z{g{mb^k5Lp6m1x-7{Lrwo@IVCVK!ROgH}wW#9ej*CIU`OLl5SnAH5jF0*qh~O<80V zt*Edm?3f`p2|Ca(r(@(f7DUl2&r`B;6QG5n55GvsqT?0PJInrWnN9>oxM#Bl6tQUz zIipAeSSX8nE=5NXD)T7HKUm-b=0_)H{YgSO)Mm6Srm~?GBWTAoirj%VbYdpD(TN_+ zl}|jp1iXy!V*v&*h(RpDFe>L+BQ&G(Iz@~o%s>k|(2Ch;Ll4?9ADtLL4;G;xBN)U~ z7i$tBU_sLob}zJ|9qpKfPIRLO^U#l}7ntu2GJ;;rL{l#FVF2^x^rftboQ{c*sBB>k(7BZil(5E_jzP4e{S!7BIx!;SVJgF3EI|LK z?5-F@7u8y{A~fRdR}E^qgiv z7{mg!|4IfiTug~wV@-Z1A+(-jjWBYaN+^f_pvcktHzgsxN`{E%#}W*n!gyDhfSG`D z4a>;!buw^+HHuL5(lT;>o$+WxJ7%H-o#@0|IsOLQ7K2zQr$<>ZT6Nc>N`wrf1tXY_ zivD`k9%27C5y)bM$#6ZIhn9rvQ9pVxD90yWkCw>ssE|P`W}+RPayW^2=)nNmDqN2i zp##ILfRb`OYL1c)TG6kvJPe>a%Kq=Ec0F3a2rmZFR{eT3QK#o5M2=CRHF!E&(2h2A z%kg*6oExneKo6FnA5--V(^Nbi?KB(DLO153AH5jH0+*bjHaW#0nhkoLgAZ2NFpPHA zAc9$PP3p2>xk)e&t>{M^7NQ-q$bb{w2`s1{D}>JalpOtMnHpV>nv%!}S}}qyI{`=I z>rr|H(K*qBZp=r!nS?RYgf$`|r70zXR!m15+R=_#=)e+mqm>0Znz5-cfNl(99xBaQ zbF?(S&hc47<_aW$>1b`q0?~$UjI^RI$oX4S#ArfA&WC9g zu?-nPr9Bytc3_jCv!jb5sYDJt)07{*T_^#xbfxGpVkMzuX6(i$LHGSkN5=zHGBnwk zp27mqg0=x{5*BR7LUdplotVf1-DpA&77#z|B4De`hzBVFj9{w5wtI*oL}eg3M?1RF zG?)^?$PhA!&I}S%Nf;euz=PT7MGq=N$q1S-j8;r!Id(Lm%Sj+jW&j=N$7~E@9!AiQ zreQ1)t(eIIZNn*Y^o}4y=*I#KU=ST6sS9#EDjMU_j6t+w7&A1zOXskY5F>13NC+KR zfSyN~fqs3w<5&|6jwhoe7)BdLFi}pQK+&T;lX&RCAo?F;4XZFbi4{V}Q*3keVi+T+ zRCQ5=Q%RU!hCFCvf*&(6h#8CzqXUD_k`P8PPYyp%LUI@rt5HI)k`c6HItHj)4z%z# zMzA^=c#U*ZDZz!LgUTY(aS;g0Kn*6m&bC6&5)!1?WH%%XOnGjeui06VUcH3qUWXl92$WVHjHmo}p~3DMB>8%bH*q z-RQ{UfP|JcY(sQzU_Rox(N>!h!c6p{69brwVa!KmBPEL#EJ4pEGFpfDTiHfV0^Y5x z0a~^*14ce)2KvDYen~>;-NAyXLoNY1y5VcxS<3fSgo*~=Qs;REc}=tOHh z7K}~|pa)H^uh_P7LV$$OkGb{9K!j~8XDFj2(29wScO*ul8R*9>RFWdmv^!ZK+R%=f za=1by>P8P1ptVvY8fJbQCd&EHgf0gGF9A1}pcm5{utsRdFlJ!{-KZo-qIqaRKiV*{ zA@Q_G)Phc9B$~>2H(JnxL5!fE=}MJIv=FUzB2jZA_J7ZvET9nypc@0|#V`gi*f0_; zlH(hZAtDAb3&ZHf2!uMxxmypfqDVnlK+N7(go)p$!w8u%Nq04+EHmLCnK2`cY{?Nw^4D2$aYP z$QK=TN=tHvZgilh6$?af8;TMGSc0~;Y*R93$8?!aJ4ys?Xk)qqi<%K1BN)Kc=A_@1 z62b5z5%zy3LE zUk+n|obNd@(t`P(i@2gTMz|S~iC(lY!H?+}Ks!b-3zg?7I<#P+9Daq8K+k;E9KD!_ z0ZebnisTR{<*G59?zhJM~R%tZ_D9_FJ13(<|%_U!-R zU&v8=7Ic<`(eyhR>cEVAX)6Q$C6ox7E|YK?3&J$CU7^I#QA!5UdX)vB7mMWZb>{C# zM$m>z8Oy;iy3uokO4*V9KS&@TM;OYY=1wG7p)8t36dxHOrz-bk-`1 zdeKw6EE;BwOm)hlsjPqp^JK>BmPG^Tu2&XKWWJ!ZGZ{b=D)q~vRu=(BLlVSbv$AM` zoS}7DROy0kSfKRovS=o{J2M{!tt=Roo@5Lyy~?7Nd$4y|)Qy3DjK|pLX#YdN#)uMhU}_JF7A+Wlk~K%$6c&gM zEJVvwELe_znuL2Y9&PA+hWXL^91D=+*HYxYNQW2q6B&-62~8V_&-mabx-^Io2y7;S z-Xy$*VGN-8ULs;T`nR&?7~v~v>CA86%Nn8sbI~n_iRbv5l0XjzF^mBj4~x+B4VyNd z5<-jAb*L=rAYlKFqCsbnHAD}FF^s8wD6(HzQ?#QUo#?~}=Aq{}@i2Uv6+mkd3+PJ; zVLI9|3mxc2C+4BcO~6mUgN6SeZSMnCRh9LR-*dSaLD74zl7IN4plFC>pk!)fkYxTr z10z!-1ET^X1BXnF1d1^=DllsKhYXBL9mb#-Q)3!%$kdpEhDwd`1&0jHDR58$$@}}P zbM{6!_I>AhpWpl5=YjQEYp=cb+Iz3P&p!LyyANmy=mpToAJAm?A|t35XfkLBX!?0H zF=zp3I%oxGK4=4I4QS|3=t|I7(Ae3~8+^@C4q5|R0~$Hxn!|k#(m`Wq@%kU292s&r z0SYDV*Bqg&=ylC;0rUcBATmUHUvorqM$iP%bkGvejV zz2-;;Ujmv9S_4`P+6`I(8hh6@hugdiWB>@9hZ=xJfYyY=GtkhP*YLw37{(7^dgZB2c*S(=|sk)AnnQko%C~5?TP%?FtNldbv6r4WQ{NPN|53;hP+e zVoWhyiuOkqOD5k)YY27eLEFlSeun z5es2(lmkDG4P!vlABIDq6*valZxQG&H~{MPA@o7J zD;@aV5afp)_<0TNRHNpgC7|7$?=$3k5DtKbf<_*JUC@RjLr`OYg3nO^s9TN0QBU7& zvW>A;UTt^a=n6obbK<+%HcDAS;Y?yEp2IU=7fzIahZv9-aNd-|gOuR}(tes9(Ojc48 zlQQ%fQxRvJLRC!ssfmdPDX)UKkS~b2YYzqN zvw1jYTd)PF zyU-WeP&mWB4WryIZ5HQZ@b!D?h1YE3%s=m?y`ach_nPfy95>wwV!rqXS^;mZ3C{TH zCxzo3EI79=p2Ge$-QM`(7s z^H79|g7aYe({fsxXB!D8*XFU4`)NC~33QOzj*sb7o^7J}^8?g>3&iO(ehbQ5Ommnl zrz9pX&?Y9kXb*_F@)J4^Rr8ro==>Ixvy<$vBQ=MDnXIR1CMlH4WH;q8*+*qe%Bc<{ z;0%7c{eGW5*roLWS0n`8n}nZq{}tG>lsxin<9xfpXZ6uf@9DGb{`mSJ#plENYRY1Q z1N@k*q$(y)Q4^CyQr-YbAYUenDV&K1#p@)C$xtd{GMK8E^rt2!&ZN8vVkTcE*GSpU zk?Mx;#po6PeEXA_{pfkcM;I~{OFDuZ|PwDs{d9)A0j~{do`~Z)VFZ&e%c!YI5of7~L=*stG z10Tk(;wSWO!pF51)W&@=(!cy~(yNhvO82IjRdr~w!74Sew?Loj^#VG?$(n2*g>OTn z?dB?t!b$8|ObWS$_yqt}Om?w>QHUV4>nOav9@Q9yLleW9WKlemRLWwqo{E@cP!*G> zsfo!Wr0f8>k9?U#Q8<&kDPHHYbgqa=2vso&pe82%q!ehJFOxtDXEKrEnFLW5lSx#> z1o@aup(Z9%NqGwdGbR1n|pYMhbOJG9IjwAkV)sUCR~sjLXoP{n6-st9g0enwqP zzd6E_9M_@AXq9&bFa7q*U*q6zA3TNU*@x|Kw3^K}< zFOT&e_oy*hH%9!k< zIuLW^ac&zlIm+8l_VAQZA^BNeJ{wH6wD-_qM7WXRFLokHJ2Pwy*)I~>*>CFAN(v0>G(oGuSHUGPkKAj zKcqUgcAoO~V%81u#m}RM-v&Q#mpi&R8bf!+`@ILYq+s(d*>n=H-?~`{;Pu}d&CX)}vmq0t2 zvOs)4{rZyQ>pt3l>(Oq8b_!Lo+Nr-^a(vQ9ZGVrN-x&NLk(588<6G+K{M(39yd=ex zPvH;{Uhe53o!BNH+)SSX+HW5 zoo9Ob8|uH$HWDEp{0*8n88+_LVGiJjl(Y{ObEi#AhR_}+gXkEO&2$c=|Fa&K90yRa z(ie}UH} z$0D|OAFU|G%#%iWoVt?Am_$<@ll!TS$)jX116fbOOn#5Uj$t5qz*fO7QKmB}<06y+q9 zqfY*`3B>$k2<>I*dvuJYK6H+y2c}T}KOs-^6bb-ENYD8bQiCapNg{1x@(k@^vYw7H z$)s~kUMJW6FmQ1y-|URUA-Z$GBD#~9{GK*3vCtkSbLbe8*>sLcB)NVJvWUhriK017 z=28-q2-?JC2JK<8kd85lp>s?Ykm~`EC>qZshUPF?MoCQKXcLpiXb+P|=ophn=^T@% z$n_vdDvf9I9L-_!IwgUaf1OU755jwe_Aq-il#VkyiO#VSUPychB$&oCxrgR3Swu-p z-lR<+=5J@v-b2WdM8{aVgU+$^Z+B7uPtdC0-9-URzrTy-GX3T*TEX<6ck%Lbq}g#7 z?FGeqosWHj+~esSlUvBO0_1iY&m^4YFu8}4nA}C1m_*PXCJ)dtCM9%^i9)V_1{p`= znV?~rJWEMT3TYFF`B*sZ{WA)_7*5AQaXj}qPMt!opMvb5@gU~byJ_yHNW7PlSo$<= zVzPzyaN@ZLI{qnw_yuZX>32*#tueRZo`-_}0!bD{gP2duqW*uzj8u-4Us>d7tp|*u zGFJM9@>t?N1;1dVHkQ0a_DT>OQq5!zMKft<&eK{BH7n(@WGR&~`J6fAza6*9)W(uj zvR8o|W#VZ~L&7MEW=S^%v!oo7`zenlm?fBOraC6?QX7c5dp@17fWI+QalRD=A4bYk z6wPE4r80S!@<2v^x!{sx21aSm6=JP6t7=z}cI3UVfDTo|j{7v67)EWJ(}(PT1@WL@ zChio?WDun?aiKgWW-0?QcQ4Sc+0O3Macx~dr<(X$4&1tc23Moer_r=(Xs;%`WP6lS z$96rPE1>YjeYCwAU3QA<4nx!p(J%MWDHi!qCzQ>VQRML%*hMt$GqA1EwDdFEL^SlK z&oJ{&r7|W&Cy|JqgHGlm$oGhCl<%3uOOCsG*LdCa8fS;%m)#T(H3UQ!6Wr=CSxr?; zQmBc^a#B7A!L1&XMHJ3tF~u{POIb`JsfY>o519B+6O+ND90l`uX7z$+{unM6@4lkJqp zB!|kFY@s?P`P9Z_GudlEvMHF!28w2qPpM4GDUZo;Dr0gt)iFt?HYRV9{cjvI`mM*< zw3%2E;FjW_xQO+{z0>KQl~X>_U!YWE;R`X7-BiW~>W|ReueeeXFmOb>Pj(IgK6->U zvpfd4`Uvg)$~M}X4xGfRb5Cml;6v2(rOne;aVLIsiL=l)pk&L+Z)w0+wh`85q?b_D zmndi_tBo3vD^-SSD&FRwk5j-`2zL*f^A*%Al*D8ZZDP`&_I!nyDWy8*(x{Ee<7BS| z*-pVswo){cHz}3LM#^K7Pi0J;sgB8NYGbm2>~$cS6wKsqie?f*sZ7EskI5t|tHbTq z`LF3z9Y(Q*l&{e^m+NWnNi;&jY@Di6FSf>jTZOzBxI@R*YG4x;Asgn8Dkg)diH&qa zfm6FDJkcya0r79-4v9Cw1&tUEN4VHY} z-|1CMn+K1+)2p5jd|AlLfm?*U9=KKDcHoZh=oAK()jbkXKyBZ^dK%fk1wm*tnMKh| zrcx@C>6FJLg37){H}7Skr`2md2Tdmu%!f~s$9D*h&pFpHiu%sxGT_iju|oaoZ}ig% z1X(fkF*kh&LyM`13Er^4WC30|01`>c2@u?(GMP%@OvX_>6Fq(>*a2Z%r-^afMM>(F>9Ka7b&oIh7X>-9gjW6Ru#_!Rdlc*E!_c-q$ zYGdL@_ER9Zsb%6t(M&KsFo~f&Cab87Ni5Yd!8Mo3T(W-;l1RZ!mQpm6S1FarAts*A z_0fo{?|D1G!?_*!l)&x_5eMJ%_5r3T;EUhuHy|;k*&HbHY%+Rz$vtiHM#+Jk?$FVT45eeN&VjT48@hM~(|_y|9N9)A{>k0~{+^}*_U8lM_G4s@v(mDE+J+C=VbRwf z`qL3UJFJ8@aUL8WhECqY&}}JxpHIga1_G|2a||O9T*c(tY@1+B2aKR;3`+p3DT!eN zbc<B&*Ea0m&;s?NVz;9_9!vet3wB!f0Pc>jQ zWwEpw5Hlk~ODs-Zp{5@Y#XeNUk_bpf>xl_~?s|V^1A6EIQmjeixfiPekF&0q1*n3G zSZH~e_nNC1`XMH;{d*S0M?!j0lREQ>aThu$;72raKEz&nukpcgLn-w~C^tYlOYiX7 zA2G+^MWUkfT`-kuSZ#qkM8`plC+axr90Ft+juD_~E%2ZK5IeD)JD0VvaARD`c%+VN zn`~Aq)P{G`DV~-eK}|cU3(x`>q}g$f1)S8WFMQI0vD?aaQW}vLY-FdlRK*)D4U+Z&3%UHBL+7yAkJ5;8UIYB{LSdx|1)Bo~&}BQ@detE&#sPsm(3U z6~L{Xv<~x(a|3XCmp*{I8Pm!0=*QL631Uv^A`i5HC7uIr#82=j9k9HMmSPpd()VcX zPf#zUZ6N0DU33UzjT7?eAk?j1%XtlT@+b611Yip(7cfGS0aLE(!#oE#ndV%8?GnJ% zS9vut+FB2sOL-7m+W~h{8AJC+c}}Qf7y^j(FvA$Y_sIS)z%;;Gyw4RdAJ9V449fw3 z))ndjhf^L)+W`Zqj3FQET~2NPLRIjL>1Pm3^PG@|gjE#$GhjYo0!1?{M`$gg)SpF^ zmD4tc95J{kG7JPvrgIEq9^*(3{slG%7SNBK7hQKiWpi}@PvmKOJJG-%q68AJ+qE{nIz~s*+^JG;qA~V23$z-466YX zS;5Pq35!^0c@igsQ58c!Ko@Fiw+*>16fjP?tUYKniH|#I4CE~_c;})Nf(GI*8S+LN zf5|q%y8y6o(PhVwUMifm9P$H{ddW7#y9Th-eA%(rpu(q|df9Qa)AgKeI}P%!6wE3)fIhC59a+xTRr~;pHI?|wwlTNW07l(}qeKi= znjvo)e%Z0e+&61C0S*?CgaY0R7P$*#G$jgpi$|kLeG!^?5s3Z%Of!FP6D%qM! zI8>|!fVs5f3NCv!fR(iA3VPxKU<&QIVw-IBTgjc)#0oKh*j4F3wq(Fs8s7ok9K>=Q z&FQe+VdZo2VS%CB(+rPwAX_M4DRnYT21GY?+U8j+0CQ<=C!`lNxTh2Kb5GGGt4`Pr z0X#u%ov247U~NU;UgxSNK#r%YU2rI!RcKn5ZNhCOfThuw9dU+Q^GWO-kYjz&^N9p% zfIN)0b-}5?REFoeY%`tH06XGo(p5~X1;ClKU`T`f00np3#&{P1X0E#IxT%*xFW_>>H&SXhTB2TqdC<0Y z1J=?(mU{h;qvB*YLOv2u#o$0(maNKX*iAx@3iJ{ z0<6XB$!)!CXyF9;MzUYya01M{^U4homks$E3Wtid0I-ynT!X9Cnly_uHUI`8;}C=G zcE}e~8LPNGgLeJ&vSXlfU5DG%5Awy-bPdj?0pbS50qq>X!n(_jH+luXJG6@-_osMP zsQ~oB!9IUBsMJG#l=4`G&y%nG7DxPCFH##Gmem}2RZy{d0oLLzNVa+2$$*tOA;`0r zHg{AukxV4ROcqS7<_jift7zTdBxNy~FB{ zSUJo}$<+dwwodB{3+kE!SUT;Bqf|N%%I#7N?b#G>LBmu-#h_!E8xKCG)R1M)WF&o^Wj?Z5wk874i#$wph<&|l>>G_+pR|zHy^-!{%q@S$eUUJ^&8u^ zoArM~?!KODRL7150O%3RdR*1!zzhjT87pcudtWOs$-G{C78>gwNha9t)E4+5gLg8XdZ4!6L((UA3_S7GFsjfGQ;erqK8Ss;74j zLlkwZ0z2ZvCW|4*GH(D()&s7gJcc|ZG4l;j@Ar;<0WE}#pUYgJ+=ywAV=i*zHUd;B z$qn-hAFaEa>fBJ#2*8d9$vjYOhvJ=fVninuFkX;1LFHtb_56?tQ)lbiUW5Q zJsE7Iz)ad>M|IP*L*REa-~lQc!Y#6yL+}_Byh8yC|8m7Kyq66wCI<4|WOqm1 zlUaqvyQ5W$HEBFcD-aq!wALMkTmY=4J?^mV{xUaN9TdFzP~V{HD~^wQ+}EeB2*?vj zxd}F60pn=IP4FWJ(6qgy&$PgP6hn?nDzv>T04re-i@BapBoLnp>`!?&p%?sexcDZ9 zX@J8ic&Iwry96-Tt)tH>j%`;%zLm0u!V``>m9`B>!jR7kK1x{(FK|ZM!_fUzu6f-sbVdlEKeY{mquGG7 zDSWv4oYnH0Ho}LiL!7+;Tc4&=!x8Kez?gwYAYTIDM)Dm2m(u}rY1#-FE(Y96@grcZ z9nhc3Sivn9CaB5-ms~%X_JTQX}*w4KYOS{t(H8_!%ld60fz19aEwC1^21JqK)##W*gzy;sctsm zx-`8KQM}oZwH@-=R0b8R+ZLXcH0TG2 z>j$Lf&@Hsj6IF?UD3R=5P)ybo$9t(`obwTVEjwtTmpa{AuW96Yp`+S0SjN!(b&kY3 zFZ50VB5n=&daL(4^O4l8`)HlFI@ii42jhOs8yXyEDvcP4Ud@JdH-(Rcl#dFYN_hv+Z;;QTK`z?$E&=ir*)DABS_D`qqo16b(5 z!FIZhpg7pzPz-_m0JTBI9J!4?9gWCI&_uptkSiUq7P*X3$Y(1brD&*FOISsR)qp27 zh^ON7$Ed@s?V6;FO}TAH%=>iqnKF49(mBJr01Ibvum0NLn!tm-8CLX={JlJPu0{3t|Yf1XTJ3 zzJ*%3b<#W)w>liPjpTZ>I@y*D*fFrvanB&^f;7AfQ5_XR)`?HSLPnnE6Eb&z@o0>)vW-GW5<;VTy(*pAsF z0NTlg+|1(x(DylzHqx8`^$zbENGtt1Z@6qWLyqAPfD*d_@%3wl?nNxEV;Be+N9SO} znhaP;<0r6XKp&a|=v~6lA9YboJs+-1HRQMzodB;J0E5PN_PHD3;BMDc%GjX$F0Djp zTLS^(sE%O-;9^n&0b>E9beIM>TZ7&?fMI!^H{50x_o!GaScUS~Mm->AUWRh_@GD6zanM%MUki2;}&Fa3GpD7O;{=+=9N%2gI~^3(S=O22s*2P^i~*^H|Eq zU`LS#Eye6}6{Ox?fTd`Sm0Uu^pg42VAQvt$1acQ@gNkz`ARg+hxCIM_G+=)Uo(Ow6 zoRi`i76W3%%di5lP>1z^SUW)K%_nH*zSik*=2FCmOR>DmAy&m1y#RCRK2JM{ z!f%B%8xT*{85RJB>98DdHl?z(1`rRr88!nh)?qgw?sHk{{vKCEgMomm4kG}E>o6A3 zM~7*Es9g}U#AZn_ZcAoUmQKQh5rNHGLJ>pDZnjs&IlT~~QFM}XMnLL9 z$|NWx0PZH=NoePEz^F-`j!O11Vo;R%lR^6Tk|0NLuy#4%R!W_OkhuVJg|ugqdcQSd z4|jwzncdTZal~Xu%OTxOsgqe3FpTz0#$3#CnMo&EA#E?$DmVn$asaU(90K3U0nrg5 zxEJcyLh)b-bYuR&#_YF2HyKc+@wY*j5Axnh(YK-7n*pa%(QRDk5|&oorcQPa1#I0x zUAJKslnz`-)22X!qXAo3Q!o=WK$=P0SjzpLNe8FEu%FhKO;b>E`X4z`r`^uk0DY+L zb~sTEIGj=$)&QzHYzD+~fTi7l_&Ehb_kHMU3Z9B44g_p{r}Kv0p$N!ZG!<(sV51Jx z08i*J2N2KOV8dDrcvOcKfR#F|2Rxv|3xK6Mw0ywLre*U2ETlHJ5TZ#n7zv1_3QH3J zu|NRCxA6Wo6&LkD#1g<-9r79D*kfmD17M>L+W}iN=*@?Zb0v*iDSn88+0-;m zo!l=LDsekH>5g3NCjz5irsFzX4A}7wZJv%nQ3H(c2SIG*Q_43|8AGo!ZtRl`BLFd@ z-T}zRlo#q!KB>HgrK2e24%K3<03Sqa@4)ol0BG9Yss9jwV;r9t{PFqmC#dWWY+yuw zh(h1)?6W7sQ%wToQ^_|J8+_@2ruRDgY&Nk$tGIontMqPDzV7%zj-A#}L}vuxZc^^Vq|2wNx4ugrccLA$ffrNw zo$3TzIbyxz{Z2<7GFnns(oarU%kTieS2ylNGg`{oLe-rx#^rY43F8dPRruw-j6 zdKn-z_ zt*i7Bl;?Af#@VFYjVMlrN@f#npQ3tLbAU}W2V!eEASSlE)tSzGY<}w*I&`-h;2n4n z+Rc3p2C_lOu@0IEr_vAyQz>{RY!^V9a#pup0gSB;ojBILLI3^;N^6BH4o*420lJ{%2v z4*gNeW0eblDgW+t+{wuigM!vz!OGEKsnBNjd(b5@fCtDvOP%>x0bnam(Dh_(@nM7I zkas|Cl|oRK*9d)QgS;8?7U=hubJuo5-be>$p;i3;%nmfof{&qqCY;Ng+sld502|~>E#F4l26kgPQg&I@`3t|G-oz1o&jr}yZX${T*qd}Pf*cp z)Y0uPyp}q~kdJ%E1%Pevq5E;iccFl4C8*!R&@5z!?iXq2@ z#3~JdVS{c|X@`6&m9a`-7208NUlnZ_Lynl9hsq}dqM8iz0nvN&P_+_3Ja%DNt?4rK zZUAibxUpH=wTxx3;q7%86UR+mj*0M<*UDHbYZFHZVm*=CxEOv9K_QKZL>s3=ii=_- zMt=!sq$Gw7fEbie@a_g|9ol0qh|O`gyZ@D!Aa#-OFAxyF(}{%T7(nb1&BtVygJ>?L zIrAYchZKt#NWCurHu`kkurRSybE{U(hdD36S~@u&-h~2YQs;aGR61be=o`b25Bfhr z(F@ce3rhf7e?z4j@|NF_HwcrxgMdeWJL?bYa@=L6YlBoT`g#GPj$f^Cf|UDsBmkzs z-VknK@!^>?4e~?^z7Gw^uNT0Q`94&>2GB&C81icw5ErmvbvweHu0*NB-u#_vwP>7{ z5CJ%we516*Hqt%E@+%2C5UY=JQFzqwqWRuIL1sK?2-la*{HlW46b@BuH6V6$88!pr zo;wQub_1sP_YHQf3qR**tAmO)5U`TYMR6Ab4kvpwY~W=F=;PpMDDdkJaFJqZ31A^5 zMPmkO0Ic-u>a!N%mS~3@3ks-M{f_czZDJdtfSF`p2p9v1$qUds88BtmjUAf}Ikp~H zy8zHcOBTXh4PY&8T8Kr0+c9?O*h2Um0yvf07Gl262E;Pte!zMS=G~8Mmg8KLs{4^G z0uUF_7ApvkJ`96qj>4=<0n)VwpcA z2hrLQfWt{y%quxSbjM=Up#ZS(fg7t?4mmt#l^Vd>Ieo84fv9FPzZemO(Sd|LX5I?h!aUA3%L$6EZtib6WK1dj%j5tFU=Q@~QJnDc?xQ1nu? zV+CLstzC-sEWf=1p$e%tzrZ3lrpqy4m{1CS<;8qHM2(4ZYh(*;yD6j@F ziZ(rjZn*%c(w>K4Ipk~BZDT3F@&c=xSUh4(18iAFlVTC&1;AnPT{LfkI>NgGOlExF zOBYwH9`ZGm7mIQ(07lUsn6bM3o#C-qb>_$zz?OtA$H-o8`vLQNH1Jq7;9+&NcRuSp z+2y#ypi=@l9@{>QHmL_(OnDEhA6awid3u_&jQ7p}Q?k4C-+PP9JSzAd99R`V#met+ z*iA*t;2^)op-_kXCWoyW^yZg26Gb z!*T*mjg#tUa&5)+!)L8_`Opu5L4=&3CN>ZQRfNTIl*Vu5!19`5J|J$Nmcz3Wz+6gN zj_Z3fAT~lE_2##91mVp4AzXs^aFyIovPvDR1OggWxZ5H$73EPBlb}K0N1>e#m?_dx$$()v6u$Q`wV1VB9Y^ zc78tOiz)g^lwQIrEnWJLBTf2;ORt6;n+2@W0GI+5RU|WEm3GJzsf<PGwJVQ#LcKW5}=D7*1_Z z$w<6L{a301Q}{(FtvEfuw-Igyek(_dLC(hcEgg*xI+UP#^sCWu7yaQ4gbZ*BRjq`# zmLIrv7I4>OAF-AbT}0o+7ZCG zS6zkL@%X8w5vwrI6hK-^sVwE!(CpTrcMV|S)Em8Rh8$O4*6wB%9lD?6jCGLq3k0m4 zdR4zh@_TGDU9UQBhTrnTEtdc}mZrahm2^OCm;VmYTmy*9CEzHp^UyLB&y^2>yyNz( zS_@fYz^oyA8X7klFa-zb_a2+P;LL{nD21n?Z_5F3L%`ZKfIc`j->BWJjg=zS=GVS# zq&jF@0|7DZq+yVy14iNeeJf1Mk2XFa#|VE0+9iM~I;;jvq%26i8vrwr(b)Ozkh@SB ztGHc&#Yg%&#kTz*M|iUBP{1hadbzn8L zn*p(kSdGbuUngUtW2>?A$8VCs&wXy#n&dajbUaOipT$g^4vc+;XE6*a04txracZiE z`~c-Wi#lBR4Hb69@-wScJ*#?V_yKmniW|i8!_^FhycP0cQV7cO7@_ZMkS7cM0S0+C z6Op6hn@^&9x}80uc8LYcUSH0dwi#T6C9JE5nn3&Y>6+ zt*fbPtvc76Uo}*?_NwD{qdmxvQv5n}Km}lCe%~PC4ycD5PuJJMcst+;DqDvE$1mW) zUdVIE$nW6sLB{pHY=;2zyLUEH@N>AmEdgwV%FVM3dmb(5*Ul4J6T>t>>>#X1c@=>8D(HG-YX-#X8qk^F2Gn|%j;~io_vbeP zwfu-yP-wwZ>M$CZq2B794Pi&s)jq!+;Yt-i9!5(tP_!PQn=)Xz9a8ioL$Ax|bvnrk zk$?!wOspld0f$p~CbtD3+9DGTP!EU|Cc}2X#Z(43*8K|nIeOJGjoV`W2J?$f*tdTI zTZH(;;4cJ0<3eqjSom=irqG-$^+{_ta^Z&}S=_E2(4v!B@FoHfy9O^{d6^8DdG;#p zNK!{Q^Xr>hYiaHa>OyNX@NO!40lvATbB^qnO+db1(NEdCD!*6f_2)MYbvSoBE}7``PIU~e{XN>a9YS2+Ii24u z)H1N!;o48{Qtu7wt=4=9cT@BR#78qAuACb%)cIvcn9?_(fEd7|WPb_qmVZw?hX!%x{a_A2pC7_Hu7&b0K;zS=C%Kbeg$Asz-Ui?D$t#!w009b zX@>j&6>WkQeqj-oZ<}!O_X3Q9_9qEgg@iIgovgy|E{dWNn^DVjU8T=OCj@TgLynu% z&1lpbbZjPV+KgiOrA7y+3>mHbUL)KOv6SCFl}nwQv2&RWX=7sd4HwpI$WP$hTg(*& zfGXZoV7#)FLq42Rp<=CJ725PNHVeJXim5e(PQ8p9vt-~n8lQtMD*?m}T@Ku920Veo zZeh9`ur|B9&q5*+mEkuQB~o1u`Y8eM1WvgHEC*aesjr~hn*kARuc$M<195I|;l}Ph zYb5Tc2*`0S@hYm$@0{|-p|%)N{4S%yr@F~A5-nT;Id*Vgg~0|u+@!sV0UBcEdbPcZ zdPM@NTn%vt#5<;7z;ldr5besvI>JqhfMdBRD72q~!Pp6P zXMQnKO973}!~RD;Fucmc*L+I=O*?Pw)N05(YHpM_K;B4Y$ZBl|#H`5B&4pdmpdTQv zKP(Letkhu)Aa+T%@bv^R>^Dlxh8(xBP_c3t1<{f%2)Y_b)pz=KJGWIcT`RBAbc>ZZb3`LLM7}Snx3nAS^!gM+Uw}FV!%X-e_i#oRYSL9 zSGVI%tfeg%N7AjGHXK*`x;ptzul}h0v2MqB*;Sw%Kp~KKK)#CQ^EWuXXo(!;lVdh7 z7V}CB(s8qsk6ndyz@X#Zeb%*XA|GLTfTHtN&r#)U4KG%3WozQYDm9R|{$20!e*BuJ z*0yeXZYFNA+!3mn*z?il5d#!VG|C%@xNJZ?<#+?*p&rnm^4>smT>$jCD4NU7O=BEm zWjUZcs{9bbxCiE}X;7I>!EbUjYcTpv^di5VDi`l;__5cjfPJin91C&QZiWraTW{iO z6N=}hjrLz}7`!o%BgzTI6a!+1n2?cQFg2C32*vO_rZSPyv)63^`^WE`+DK)bF=CKb z;jMuAfQaj@=*|j2toF7dgf0M9&iS>^YLsp8Yo#!)b4Gpx75v!7eju8#_+Z!$>1-<7 z26J92hyBTIXy8ad6S;23?LYxw>ASx=GGR@ALIKJl$8@(Heb5fLhRUFAjX;l0#TmM| znsX2125AST5Vye`>&JFrz77P8`s`PShqMLCu^s{WVjQB2krB%(I!psZzd)+w&@Bac zj!_H=o;N_^T>+R0Q=<*0>LJIHgiT!ltfV~!sFD}HRf(%w0lxp84T#D7EktSwpij-O zjxP*0_~lY3aQ-fAGyvi^5YV<-+}Uy!!$3eR4Bmp}SU`Nqd?#QIU>ME8_1szxxSLXU z@_G@_L#1^AUc2$R2ILzleit`6U@KHM7@Dgd@t z_2_X!UQbbmc=!mFLZK2SReXC?!h}lH7(KU-P^s*(G9pf>lnND-P{}3V3iamEwcqG| z)IO+NsC-zbDT2>@P!u*`bkMiLaW!@C{Cv-3;Vww zuZ;C96zP>qbh#?heHLlyBPvCD;W9nF^%0%clJBSLtwVAziENj38gyAVTidP|TPV_7 z1ug8<&9-)m^e6TEOFH>PXy{?HQ|3Lo%-N}Ow(aBaN_D>C z)Hp}am^oKZ(|am|J+1i_69qo{f0OBZ1OJ18|F_@=X}L_Mo5arr-2@-EL7!#xkitUM z%ciA_5a|a#(PP;Y6Zgxm_OS|izAb>_KC6EB!>S77FffzcqO3 za{V^S;cz_7DY_EwX9YiFzMkGG`1KrTHm8pZ2ioJzA5T^7wLW)D5!2u-K^F=7xS*>A z-5}_jg1&duLIZ;B_e^Sxmvz^j^I6`P4>Ryl%jtz+dss%nG2Pu)9@q1Y55nw>&s3c? z#S0!SqkYl^f4|_r68sp!UljZz!OsrX?L8~_O2O+>lqth>TnJ_hg~5~b49S9DFL-IN zUhw*?fg@)o>-yLs(>|94FRO0}(bETu^r3xtM4P`53>OMvf|mvs^vQrbVFSO)pr2{r zUlqKp;J1R`&*gEn=iH`y_>OSk)+v4YuMPY&x9jQKg}!a7&KC*3RPeF_p9)^KKy5Ex z8*OI{8CrWOuubzcy#Q&z-N26%{Cwd+n&3qro7NlBYXpyFqgKA@tPtEO4ERmg3oIA> z3Bk)g?|(;Mhr9$IF7%fPezD;93x2EM7li8hUl!$?P6>g`FzHTRK`v|~4gBMR*KVI+ z^n~D3%z6p4!}R>yM1f6$=l8Ghrz2cXKbs*Yi_^1o!A_x&K3nHy3k1#S%QqYNt#kEs zhi>0Q^K||j!6!%R{8eE;ae>Zf1PFyKLJ%hSuMPa*`}7R5i=qTCn|zDl|0(jXj?(pI z5M~Qr#?YHOpJ9@M-9q6(VZaov8yGA2aRxq8@C!uxcEP_d`0#~#{=W*|a=*@J34Vjd zBmSle!KXrDoZy=UFCDxr_)#MLrWoCzjFBM0^GzjxA_dPkMEr>pe3Qzf|o6{!NBh_=*S>V>b3Z}gVzC!S_hF=R_*05FZvcSO)=?+Uiqz{kyThvE@r#A+EyMeDT@TUzt z-gT_Cm0h&hV8P2i4-~xC0v!J{3<`?{A0Z4B2wwL2VZo0Q=}m_GR}JYN59Ni2KN~<95tl>Xh>I<=>^FAK7yA8PB)}4xt^|-Z%PvaInFl-UIy8lg3lK< z4tPW_P%f!f30}6)R>A9wd@T0`zt&kd;QP3ASTElcCIr&sr9BFIhP8(De8GIP(t6bhcVp7`^pBt2cO zn9d4bPGntz&yWQUU7=@?{3HXvz`(B%yfnC8@Tq$FrdET#+mpI|sqdrn8Ky*$VWUBz zz`&Op_-et+sk>G16NSBz$$Ej({szJSQKW}F#p!7Oy+UwW6I|yvuG9_uOQf%UTIbUR ze^Kx<2GkTiT?X-J!OI#?G4OMl=l+*9SS=JJzf17NqQF_HdI7Re*9czr`Kzn+^lG8M z@OL^dXUaqazaG36f3m>6LSd3H&>(nOgI2-&h;%hgFCb9xp@Ns`v4WSQYPI0yifdn* zxcm($p;8tc0s7%r2~ruFYT{r8Q`2?+QBh!l;2#sb`FTBEM)?uJKQGcF*6ZoN7yNO-%kiSvC z^Z4`U7lPs=Gb|9iT;;A2yzHWVg3l8-n_(~M`DG9ZvZ`2)<`2z$mpY23mPuI#fEi))&URPj$Oj``;<${;fVa#-sgZhMhv8$78|wc$}vfD4Q@>@Un?d8F;@fy1qm!o2};AKn{3SKVpD!^;;_ctfq z!lrF~3*2Gg_X&Q3C@^GuU;SAIezD-C{%OHWhXZzq>%a6kWQT50db~{V(&Kf4mk!T< zTi2H@7Fg8Rp&5dgEw)AQvc*e_#N00hUm6TF3O-QO*lm|yfSl`h3jQ^bKJgtr{Z_#* z6TDoYtP%Vfk-jvexUa{_f|mtuHKgwqe4{Y1`CUDKxLFs}yx-T}X~FvoedpbM(=&z( zfm8@H@QH$#6HkHQsO$G%POyiez~7U%IdQ3zy#VZ9ZQo@n561uq?{5WEb+$Pe@aWDuqcUIyK=((4Xs z<3B|RumO!?|U;0jZxXc)38?CHS#I|8v313Z4@D0kQrtZTV0)DDT}W z1uuiLMes5PE(>1vx%)?Yei;)Z1uq>86THm7K=32w^*`BQV70-(R>8{}>=is}pnaB? z>kh~k%MrY+&>_Lg3Y`)BV6FXOqFo52$3y?58+YS6R!OQ%kKh_JB`QrpH9atrJ>A(@4Uuc>q3LJbu zHz4_Cf_E3`s|@@G!AFSn^w~EwR;yI@AF{k0Ncg$8jcmb@c~fp z=QY}}GCuDxK3y__Kn?ic=rf-PZ-0&x60!Yal~%b>km@Ulx{4gBf`aa*%c7&vNBI3xIX zMEZt*=mkiJN(3(pI3oBop+Eh!t}j;?i3a}7(}vrca-kq6jw6DXtBDo^-~Ye#0;Il| z;H86i3tl=HEBJ4OgOf5E`x=N4`~;!!f4HNhm5}kjy`z*ODj;jTS@4TRh0gR%&oFfx z6k?k67Lf*43SJsGVn}Z^@LdMp{Y+nb6Z`Opf8*W0al__6E#hYjgTA7MEBX|GQDWeC z_U75Q<+YEg>K;pjlLQ|o3Roq0*+MyjmqEHu@Ee4FNV9HF2IW%0%lv6N zpJBR3WH=-g3JT&gHO)+HnPkU}r2K^O+m-g!gFK5cL;JJL0^vLvMUk^PDym8CRcqeMy z(h3pz<&B;3PWA2|#Z)Zsql`Cd#vLc)ZbPjo-~-WunJsz+=B3x2mS_`kA^ z30v}BJo#UJ9m@Eh?kcV}82F#=GG_M8pJCc81TrcM4E#R9_e?B5>ot%Yy$1|@=r4WK zjhlRZHxUv4#!Wfn&H2(|-Jo=^QWPNhuMK>&fxm3v`|N1(_;YF13)mw1e7oRfko{Hg za!09E@N#M$+NS51Q}I;6%R8fmf|m{_2%ha}<3HDsVXxq&1NDM$6b_bO)C-iO=8WLw zol^gQ>*+G+{0;mp!QUot#ctgB?Q7uwZkto9Ki+REwjJd#G;VYLPq#JGMGd9BQo+la z_PF2&iSkV+q(C(BS-}SgUTxP~L>dSXe7HzYHl%Mbq#re;pAme9G%)6pUVsde+YJ0{ z!5{x5C%Wtil};rgzhUc!Ic^fO)79hUhA30?+Wpy1_HK1J|ylq}YGw7*nXZpe^q z;8zP??x}4Tyj(&3r#-n^gS}JCyQ8v^qDjYH(QD++dt^hO$L^R}OL0-oPRH*S?#53c z^J#ZHe*bWo!a|4mdEFB7I26p5eh)vYm@MDpDtgP*H7s%Ix0o_Rhm67DVfLw0?nkQC zr3nfB2h5(Xm=q_4!_Ms=dB~-tm}e;_)4=ucL|JXVi?fe04O0F=_B)68DYw&g#X*3iApHj5mvQFGI2`h2AF23KZh}3)>^+Jq671f}X*!i) z51aVp@1WwUJd~^8rMf7k5KqNQ@MlXy|0!w`_u>d;#jDU7sI=1T$LvoiyQuUr`#j}e z)cqLj{)0Rpx6g8&77mp>rQar6@wk2T%#B`PKU4ht6%*H88H_#{fj`|YOg?)H6l#

+nF0$9%0(Lfg#AAA06Qf;VUJX@Y5x=U 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⁡YG(V)N+qC*T3D3HihtUW;6; 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 IvGk$PzpQN=P5=M^ delta 553048 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 z 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

iOmW~1ji4vZC1_ONm?^{$tOTM< zGKU1W`V+I^ki``D7x|yu1%9pfmDiF#g?g*}gy7pnxv?+rG4PvD{u=^NS)KU1#LvHDaWP7pw5ij3mN=w;6X^M;FUsj0`x)Y) zo~XDk9e+Z6B0r(gitiEJIx18h{F=}EHwC_rgZI6(YdG+z`Psb<;oo!OC$d1+hhSxY zGSdXNA)D?GLv>tOM?C)?;Ekx@N5S1x@dF&CfpDJuA$NPdI0XGx4)$`!Ju41rdmRi; za?i{_${Q=V)$d)_oJ#y1_w!S^q>=oe5U>9@?3&4n{6Rci3y#uUds{PCuO##5LHLe> zUKE0@NRS_HpgP8E6xPbSMfvAD5 zIzBA89a&58*IhT$l*9&e9 z@@^vNMm*TgO1@KGs4*EGAtAW~z2PTX+Mp#Ar+z6In%xDr3JTM6UCDn3`GaS`UxF2z z;9&g38M2To+r3fu+YQbL2w%xqj<%nHo+*t-Q_XwmYoC@1Y1CXPSDm+ zQ1(&`K(BK?RIx2X@&ZB(|1Y=b32qJYuKn~P9@|&4wOdzB0ux+8rH!8#k?A-zmj(Qu zH-&4Raxcm&?j0;<_`!N*IxtH-?D^*6l6J5w^I1vL@e zMq_}Bb2W*#5!@YscvOf+(J=Cxg9x{qXy{?$siU?6l6M|r!Wz&O3V!ETC>mXN32q%8 z=O$M5#G`^+&$Z-kcg=?jh^P4}g;roS@$q9(F?SWh=DnYU;P$g67>g&cW_jJ9zZ}hA{k+5&xKyUg~iI=z+#+y=yOFo;%TnMLzyw7hg33Be z=Sd4)b0h2;?m5fvPU7A>Io1>Z(tRTS_dw^eePOTn+LeId*5N0n!-0*degyESd4Q6(EpMOyjQrD>WAzd;l8^{R9r)F>)6-;>knz6PJD#zAp~n_ zgae|V1xB+#t_cZUIbMiF_nE^s}?P`rqmt?X3ve-Z#<~o4*%fvIDPwBs=oIrP|e~k60b2HT6 z#N?p%b`;$0)YUix!oxSX$Y z1{06nV&#jh4`}K0PPsS4A7?tZ=YK#xMW3V!5gy8V-uOYUzRqPRBa3AzlW&!fJVG7xJ{|qeMqS~Y2W4I zGV7s}HA7~JhxtsT{Fe=Z5!bybM%2N7m{a|R8Td}zNkS)FWHipJ&5=MD3vLz1cF)#8*%CDCmE>I(v|~f*_7B!3c7M91;Yds0RsF z7Q$5#^bB4^i$E?Rg@vH;BYvIO2x;W5k&8%FP>|RtX%r%Ih;T?q3QZ;9Vz3acL_y0t zu~4vacK`nkVXpk`?!29SJM-rD?VH^o*BR!Igu7?G`ZImQ`o#je9)ppXx%W``;|p%R zE93i*ez0Buo-R z=eKlCvi{aJI_k~oj$9{w3Hl+YK{?1K;nv5bbVlGVDX^Y#TxHFeprCnf`179m3;Amv zSJy|)cF4ma`1}lc?EpH&uzSq-xVuXVoZ0;Us!JM8utAo~qQ5EV6YHN|!g0-$uL!rA z>9Z4aR*rjpxlf5Y?{v}gYDCP{@bxD70TOk()z9SmGxl%f72Jce$etYw7Y!xE<#}^q z7Cai{&30MgjY*RygxhNtv!@J81 z2gA7k-TUagH>rBz&Jt8+unXZOc z@+k^x+{OjGAKzpB>^f$4l+)yn_45qo+@gUf_i_{+I^~z}(^g^YcNV0;_NbUeG?lgm z^1CG0A0LO45R^{fiV;^^KCU3oDeu@J+{srdVNGw(XePc{nTu}*ZzD_ZW`nv+As^%l I`Kppv_fJvQHUIzs From 85b81ff7f20334ebe50a5a33e41060fdcbd69d65 Mon Sep 17 00:00:00 2001 From: Oren Hurvitz Date: Thu, 7 Feb 2013 08:23:57 +0200 Subject: [PATCH 553/851] Added physics parameters support to MSSQL and SQLite (not tested) --- OpenSim/Data/MSSQL/MSSQLSimulationData.cs | 21 ++++++++++++++++--- .../MSSQL/Resources/RegionStore.migrations | 12 +++++++++++ OpenSim/Data/MySQL/MySQLSimulationData.cs | 19 +++++++++-------- .../MySQL/Resources/RegionStore.migrations | 2 +- .../SQLite/Resources/RegionStore.migrations | 12 +++++++++++ OpenSim/Data/SQLite/SQLiteSimulationData.cs | 18 ++++++++++++++++ 6 files changed, 71 insertions(+), 13 deletions(-) diff --git a/OpenSim/Data/MSSQL/MSSQLSimulationData.cs b/OpenSim/Data/MSSQL/MSSQLSimulationData.cs index 276a19002f..476f57aa73 100644 --- a/OpenSim/Data/MSSQL/MSSQLSimulationData.cs +++ b/OpenSim/Data/MSSQL/MSSQLSimulationData.cs @@ -351,7 +351,8 @@ IF EXISTS (SELECT UUID FROM prims WHERE UUID = @UUID) ScriptAccessPin = @ScriptAccessPin, AllowedDrop = @AllowedDrop, DieAtEdge = @DieAtEdge, SalePrice = @SalePrice, SaleType = @SaleType, ColorR = @ColorR, ColorG = @ColorG, ColorB = @ColorB, ColorA = @ColorA, ParticleSystem = @ParticleSystem, ClickAction = @ClickAction, Material = @Material, CollisionSound = @CollisionSound, CollisionSoundVolume = @CollisionSoundVolume, PassTouches = @PassTouches, - LinkNumber = @LinkNumber, MediaURL = @MediaURL, DynAttrs = @DynAttrs + LinkNumber = @LinkNumber, MediaURL = @MediaURL, DynAttrs = @DynAttrs, + PhysicsShapeType = @PhysicsShapeType, Density = @Density, GravityModifier = @GravityModifier, Friction = @Friction, Restitution = @Restitution WHERE UUID = @UUID END ELSE @@ -366,7 +367,8 @@ ELSE PayPrice, PayButton1, PayButton2, PayButton3, PayButton4, LoopedSound, LoopedSoundGain, TextureAnimation, OmegaX, OmegaY, OmegaZ, CameraEyeOffsetX, CameraEyeOffsetY, CameraEyeOffsetZ, CameraAtOffsetX, CameraAtOffsetY, CameraAtOffsetZ, ForceMouselook, ScriptAccessPin, AllowedDrop, DieAtEdge, SalePrice, SaleType, ColorR, ColorG, ColorB, ColorA, - ParticleSystem, ClickAction, Material, CollisionSound, CollisionSoundVolume, PassTouches, LinkNumber, MediaURL, DynAttrs + ParticleSystem, ClickAction, Material, CollisionSound, CollisionSoundVolume, PassTouches, LinkNumber, MediaURL, DynAttrs, + PhysicsShapeType, Density, GravityModifier, Friction, Restitution ) VALUES ( @UUID, @CreationDate, @Name, @Text, @Description, @SitName, @TouchName, @ObjectFlags, @OwnerMask, @NextOwnerMask, @GroupMask, @EveryoneMask, @BaseMask, @PositionX, @PositionY, @PositionZ, @GroupPositionX, @GroupPositionY, @GroupPositionZ, @VelocityX, @@ -376,7 +378,8 @@ ELSE @PayPrice, @PayButton1, @PayButton2, @PayButton3, @PayButton4, @LoopedSound, @LoopedSoundGain, @TextureAnimation, @OmegaX, @OmegaY, @OmegaZ, @CameraEyeOffsetX, @CameraEyeOffsetY, @CameraEyeOffsetZ, @CameraAtOffsetX, @CameraAtOffsetY, @CameraAtOffsetZ, @ForceMouselook, @ScriptAccessPin, @AllowedDrop, @DieAtEdge, @SalePrice, @SaleType, @ColorR, @ColorG, @ColorB, @ColorA, - @ParticleSystem, @ClickAction, @Material, @CollisionSound, @CollisionSoundVolume, @PassTouches, @LinkNumber, @MediaURL, @DynAttrs + @ParticleSystem, @ClickAction, @Material, @CollisionSound, @CollisionSoundVolume, @PassTouches, @LinkNumber, @MediaURL, @DynAttrs, + @PhysicsShapeType, @Density, @GravityModifier, @Friction, @Restitution ) END"; @@ -1697,6 +1700,12 @@ VALUES else prim.DynAttrs = new DAMap(); + prim.PhysicsShapeType = Convert.ToByte(primRow["PhysicsShapeType"]); + prim.Density = Convert.ToSingle(primRow["Density"]); + prim.GravityModifier = Convert.ToSingle(primRow["GravityModifier"]); + prim.Friction = Convert.ToSingle(primRow["Friction"]); + prim.Restitution = Convert.ToSingle(primRow["Restitution"]); + return prim; } @@ -2095,6 +2104,12 @@ VALUES parameters.Add(_Database.CreateParameter("DynAttrs", prim.DynAttrs.ToXml())); else parameters.Add(_Database.CreateParameter("DynAttrs", null)); + + parameters.Add(_Database.CreateParameter("PhysicsShapeType", prim.PhysicsShapeType)); + parameters.Add(_Database.CreateParameter("Density", (double)prim.Density)); + parameters.Add(_Database.CreateParameter("GravityModifier", (double)prim.GravityModifier)); + parameters.Add(_Database.CreateParameter("Friction", (double)prim.Friction)); + parameters.Add(_Database.CreateParameter("Restitution", (double)prim.Restitution)); return parameters.ToArray(); } diff --git a/OpenSim/Data/MSSQL/Resources/RegionStore.migrations b/OpenSim/Data/MSSQL/Resources/RegionStore.migrations index 92cc38ab2e..b84c2a4dd6 100644 --- a/OpenSim/Data/MSSQL/Resources/RegionStore.migrations +++ b/OpenSim/Data/MSSQL/Resources/RegionStore.migrations @@ -1156,3 +1156,15 @@ BEGIN TRANSACTION ALTER TABLE prims ADD COLUMN DynAttrs TEXT; COMMIT + +:VERSION 39 #---------------- Extra physics params + +BEGIN TRANSACTION + +ALTER TABLE prims ADD COLUMN `PhysicsShapeType` tinyint(4) NOT NULL default '0'; +ALTER TABLE prims ADD COLUMN `Density` double NOT NULL default '1000'; +ALTER TABLE prims ADD COLUMN `GravityModifier` double NOT NULL default '1'; +ALTER TABLE prims ADD COLUMN `Friction` double NOT NULL default '0.6'; +ALTER TABLE prims ADD COLUMN `Restitution` double NOT NULL default '0.5'; + +COMMIT diff --git a/OpenSim/Data/MySQL/MySQLSimulationData.cs b/OpenSim/Data/MySQL/MySQLSimulationData.cs index 1b02b4f780..9cc6f400e1 100644 --- a/OpenSim/Data/MySQL/MySQLSimulationData.cs +++ b/OpenSim/Data/MySQL/MySQLSimulationData.cs @@ -173,9 +173,9 @@ namespace OpenSim.Data.MySQL "ParticleSystem, ClickAction, Material, " + "CollisionSound, CollisionSoundVolume, " + "PassTouches, " + - "LinkNumber, MediaURL, " + + "LinkNumber, MediaURL, DynAttrs, " + "PhysicsShapeType, Density, GravityModifier, " + - "Friction, Restitution, DynAttrs " + + "Friction, Restitution " + ") values (" + "?UUID, " + "?CreationDate, ?Name, ?Text, " + "?Description, ?SitName, ?TouchName, " + @@ -208,9 +208,9 @@ namespace OpenSim.Data.MySQL "?ColorB, ?ColorA, ?ParticleSystem, " + "?ClickAction, ?Material, ?CollisionSound, " + "?CollisionSoundVolume, ?PassTouches, " + - "?LinkNumber, ?MediaURL, " + + "?LinkNumber, ?MediaURL, ?DynAttrs, " + "?PhysicsShapeType, ?Density, ?GravityModifier, " + - "?Friction, ?Restitution, ?DynAttrs)"; + "?Friction, ?Restitution)"; FillPrimCommand(cmd, prim, obj.UUID, regionUUID); @@ -1659,16 +1659,17 @@ namespace OpenSim.Data.MySQL cmd.Parameters.AddWithValue("LinkNumber", prim.LinkNum); cmd.Parameters.AddWithValue("MediaURL", prim.MediaUrl); - cmd.Parameters.AddWithValue("PhysicsShapeType", prim.PhysicsShapeType); - cmd.Parameters.AddWithValue("Density", (double)prim.Density); - cmd.Parameters.AddWithValue("GravityModifier", (double)prim.GravityModifier); - cmd.Parameters.AddWithValue("Friction", (double)prim.Friction); - cmd.Parameters.AddWithValue("Restitution", (double)prim.Restitution); if (prim.DynAttrs.Count > 0) cmd.Parameters.AddWithValue("DynAttrs", prim.DynAttrs.ToXml()); else cmd.Parameters.AddWithValue("DynAttrs", null); + + cmd.Parameters.AddWithValue("PhysicsShapeType", prim.PhysicsShapeType); + cmd.Parameters.AddWithValue("Density", (double)prim.Density); + cmd.Parameters.AddWithValue("GravityModifier", (double)prim.GravityModifier); + cmd.Parameters.AddWithValue("Friction", (double)prim.Friction); + cmd.Parameters.AddWithValue("Restitution", (double)prim.Restitution); } ///

diff --git a/OpenSim/Data/MySQL/Resources/RegionStore.migrations b/OpenSim/Data/MySQL/Resources/RegionStore.migrations index 48cd60b6d0..513c784dc6 100644 --- a/OpenSim/Data/MySQL/Resources/RegionStore.migrations +++ b/OpenSim/Data/MySQL/Resources/RegionStore.migrations @@ -911,7 +911,7 @@ ALTER TABLE prims ADD COLUMN DynAttrs TEXT; COMMIT; -:VERSION 47 #---------------- Extra prim params +:VERSION 47 #---------------- Extra physics params BEGIN; diff --git a/OpenSim/Data/SQLite/Resources/RegionStore.migrations b/OpenSim/Data/SQLite/Resources/RegionStore.migrations index e583dc2bc1..c6f4b48e18 100644 --- a/OpenSim/Data/SQLite/Resources/RegionStore.migrations +++ b/OpenSim/Data/SQLite/Resources/RegionStore.migrations @@ -580,3 +580,15 @@ COMMIT; BEGIN; ALTER TABLE prims ADD COLUMN DynAttrs TEXT; COMMIT; + +:VERSION 28 + +BEGIN; + +ALTER TABLE prims ADD COLUMN `PhysicsShapeType` tinyint(4) NOT NULL default '0'; +ALTER TABLE prims ADD COLUMN `Density` double NOT NULL default '1000'; +ALTER TABLE prims ADD COLUMN `GravityModifier` double NOT NULL default '1'; +ALTER TABLE prims ADD COLUMN `Friction` double NOT NULL default '0.6'; +ALTER TABLE prims ADD COLUMN `Restitution` double NOT NULL default '0.5'; + +COMMIT; diff --git a/OpenSim/Data/SQLite/SQLiteSimulationData.cs b/OpenSim/Data/SQLite/SQLiteSimulationData.cs index 91fc704e61..d4734a66e5 100644 --- a/OpenSim/Data/SQLite/SQLiteSimulationData.cs +++ b/OpenSim/Data/SQLite/SQLiteSimulationData.cs @@ -1235,6 +1235,12 @@ namespace OpenSim.Data.SQLite createCol(prims, "DynAttrs", typeof(String)); + createCol(prims, "PhysicsShapeType", typeof(Byte)); + createCol(prims, "Density", typeof(Double)); + createCol(prims, "GravityModifier", typeof(Double)); + createCol(prims, "Friction", typeof(Double)); + createCol(prims, "Restitution", typeof(Double)); + // Add in contraints prims.PrimaryKey = new DataColumn[] { prims.Columns["UUID"] }; @@ -1724,6 +1730,12 @@ namespace OpenSim.Data.SQLite prim.DynAttrs = new DAMap(); } + prim.PhysicsShapeType = Convert.ToByte(row["PhysicsShapeType"]); + prim.Density = Convert.ToSingle(row["Density"]); + prim.GravityModifier = Convert.ToSingle(row["GravityModifier"]); + prim.Friction = Convert.ToSingle(row["Friction"]); + prim.Restitution = Convert.ToSingle(row["Restitution"]); + return prim; } @@ -2150,6 +2162,12 @@ namespace OpenSim.Data.SQLite row["DynAttrs"] = prim.DynAttrs.ToXml(); else row["DynAttrs"] = null; + + row["PhysicsShapeType"] = prim.PhysicsShapeType; + row["Density"] = (double)prim.Density; + row["GravityModifier"] = (double)prim.GravityModifier; + row["Friction"] = (double)prim.Friction; + row["Restitution"] = (double)prim.Restitution; } /// From a8bc08ebe6523a2e66bb2e1d1d226d3159eba30c Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Sat, 9 Feb 2013 01:10:53 +0000 Subject: [PATCH 554/851] Change TestDestroyStore() and TestJsonRemoveValue() to reflect the fact that the return values have changed. --- .../JsonStore/Tests/JsonStoreScriptModuleTests.cs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index ca88d1a146..af97ac7c0b 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -144,8 +144,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests int dsrv = (int)InvokeOp("JsonDestroyStore", fakeStoreId); - // XXX: Current returns 'true' even though no such store existed. Need to ask if this is best behaviour. - Assert.That(dsrv, Is.EqualTo(1)); + Assert.That(dsrv, Is.EqualTo(0)); } [Test] @@ -211,9 +210,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests // Test remove of non-existing value int fakeValueRemove = (int)InvokeOp("JsonRemoveValue", storeId, "Hello"); - - // XXX: Is this the best response to removing a value that isn't there? - Assert.That(fakeValueRemove, Is.EqualTo(1)); + Assert.That(fakeValueRemove, Is.EqualTo(0)); // Test get from non-existing store UUID fakeStoreId = TestHelpers.ParseTail(0x500); From ae701eccd29847d086f07727a8378e13fcec9733 Mon Sep 17 00:00:00 2001 From: Oren Hurvitz Date: Mon, 21 Jan 2013 14:21:52 +0200 Subject: [PATCH 555/851] Fixed check for 0 results in GetUserAccounts() --- .../Connectors/UserAccounts/UserAccountServicesConnector.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Services/Connectors/UserAccounts/UserAccountServicesConnector.cs b/OpenSim/Services/Connectors/UserAccounts/UserAccountServicesConnector.cs index 6d5ce28425..97d94585d9 100644 --- a/OpenSim/Services/Connectors/UserAccounts/UserAccountServicesConnector.cs +++ b/OpenSim/Services/Connectors/UserAccounts/UserAccountServicesConnector.cs @@ -162,7 +162,7 @@ namespace OpenSim.Services.Connectors if (replyData != null) { - if (replyData.ContainsKey("result") && replyData.ContainsKey("result").ToString() == "null") + if (replyData.ContainsKey("result") && replyData["result"].ToString() == "null") { return accounts; } From 745ef4015369f61b5d4bfc97d08fe1b16b3bb7e6 Mon Sep 17 00:00:00 2001 From: Oren Hurvitz Date: Sun, 3 Feb 2013 09:43:17 +0200 Subject: [PATCH 556/851] Fixed ReadSculptData(): the check whether there are enough bytes to read was incorrect --- OpenSim/Framework/PrimitiveBaseShape.cs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/OpenSim/Framework/PrimitiveBaseShape.cs b/OpenSim/Framework/PrimitiveBaseShape.cs index 4c36819bb2..c1e1a4f363 100644 --- a/OpenSim/Framework/PrimitiveBaseShape.cs +++ b/OpenSim/Framework/PrimitiveBaseShape.cs @@ -622,6 +622,8 @@ namespace OpenSim.Framework } } + // This is only used at runtime. For sculpties this holds the texture data, and for meshes + // the mesh data. public byte[] SculptData { get @@ -1147,14 +1149,13 @@ namespace OpenSim.Framework public void ReadSculptData(byte[] data, int pos) { - byte[] SculptTextureUUID = new byte[16]; - UUID SculptUUID = UUID.Zero; - byte SculptTypel = data[16+pos]; + UUID SculptUUID; + byte SculptTypel; - if (data.Length+pos >= 17) + if (data.Length-pos >= 17) { _sculptEntry = true; - SculptTextureUUID = new byte[16]; + byte[] SculptTextureUUID = new byte[16]; SculptTypel = data[16 + pos]; Array.Copy(data, pos, SculptTextureUUID,0, 16); SculptUUID = new UUID(SculptTextureUUID, 0); From 7bb82c8f2ed987410342c1367dde24b695593eec Mon Sep 17 00:00:00 2001 From: Mic Bowman Date: Fri, 8 Feb 2013 22:43:15 -0800 Subject: [PATCH 557/851] Make JsonStore path parsing more robust. Should fix the invalid path problem. --- .../Scripting/JsonStore/JsonStore.cs | 68 +++++++++++++------ .../JsonStore/JsonStoreScriptModule.cs | 12 +++- 2 files changed, 59 insertions(+), 21 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs index 5c89717e49..3d715cc90d 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs @@ -81,7 +81,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore protected static Regex m_ParsePassFour = new Regex("\\.+"); // expression used to validate the full path, this is canonical representation - protected static Regex m_ValidatePath = new Regex("^\\.(({[^}]+}|\\[[0-9]+\\]|\\[\\+\\])\\.)+$"); + protected static Regex m_ValidatePath = new Regex("^\\.(({[^}]+}|\\[[0-9]+\\]|\\[\\+\\])\\.)*$"); // expression used to match path components protected static Regex m_PathComponent = new Regex("\\.({[^}]+}|\\[[0-9]+\\]|\\[\\+\\]+)"); @@ -107,9 +107,17 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore /// /// // ----------------------------------------------------------------- - public static string CanonicalPathExpression(string path) + public static bool CanonicalPathExpression(string ipath, out string opath) { - return PathExpressionToKey(ParsePathExpression(path)); + Stack path; + if (! ParsePathExpression(ipath,out path)) + { + opath = ""; + return false; + } + + opath = PathExpressionToKey(path); + return true; } // ----------------------------------------------------------------- @@ -139,7 +147,10 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore // ----------------------------------------------------------------- public bool TestPath(string expr, bool useJson) { - Stack path = ParsePathExpression(expr); + Stack path; + if (! ParsePathExpression(expr,out path)) + return false; + OSD result = ProcessPathExpression(ValueStore,path); if (result == null) @@ -158,7 +169,13 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore // ----------------------------------------------------------------- public bool GetValue(string expr, out string value, bool useJson) { - Stack path = ParsePathExpression(expr); + Stack path; + if (! ParsePathExpression(expr,out path)) + { + value = ""; + return false; + } + OSD result = ProcessPathExpression(ValueStore,path); return ConvertOutputValue(result,out value,useJson); } @@ -192,7 +209,10 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore // ----------------------------------------------------------------- public bool TakeValue(string expr, bool useJson, TakeValueCallback cback) { - Stack path = ParsePathExpression(expr); + Stack path; + if (! ParsePathExpression(expr,out path)) + return false; + string pexpr = PathExpressionToKey(path); OSD result = ProcessPathExpression(ValueStore,path); @@ -223,7 +243,10 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore // ----------------------------------------------------------------- public bool ReadValue(string expr, bool useJson, TakeValueCallback cback) { - Stack path = ParsePathExpression(expr); + Stack path; + if (! ParsePathExpression(expr,out path)) + return false; + string pexpr = PathExpressionToKey(path); OSD result = ProcessPathExpression(ValueStore,path); @@ -253,7 +276,10 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore // ----------------------------------------------------------------- protected bool SetValueFromExpression(string expr, OSD ovalue) { - Stack path = ParsePathExpression(expr); + Stack path; + if (! ParsePathExpression(expr,out path)) + return false; + if (path.Count == 0) { ValueStore = ovalue; @@ -399,34 +425,36 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore /// use a stack because we process the path in inverse order later /// // ----------------------------------------------------------------- - protected static Stack ParsePathExpression(string path) + protected static bool ParsePathExpression(string expr, out Stack path) { - Stack m_path = new Stack(); + path = new Stack(); // add front and rear separators - path = "." + path + "."; + expr = "." + expr + "."; - // add separators for quoted paths - path = m_ParsePassOne.Replace(path,".$0.",-1,0); + // add separators for quoted exprs + expr = m_ParsePassOne.Replace(expr,".$0.",-1,0); // add separators for array references - path = m_ParsePassTwo.Replace(path,".$0.",-1,0); + expr = m_ParsePassTwo.Replace(expr,".$0.",-1,0); // add quotes to bare identifier - path = m_ParsePassThree.Replace(path,".{$1}",-1,0); + expr = m_ParsePassThree.Replace(expr,".{$1}",-1,0); // remove extra separators - path = m_ParsePassFour.Replace(path,".",-1,0); + expr = m_ParsePassFour.Replace(expr,".",-1,0); // validate the results (catches extra quote characters for example) - if (m_ValidatePath.IsMatch(path)) + if (m_ValidatePath.IsMatch(expr)) { - MatchCollection matches = m_PathComponent.Matches(path,0); + MatchCollection matches = m_PathComponent.Matches(expr,0); foreach (Match match in matches) - m_path.Push(match.Groups[1].Value); + path.Push(match.Groups[1].Value); + + return true; } - return m_path; + return false; } // ----------------------------------------------------------------- diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs index d75cd32e64..e4363046e0 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs @@ -301,7 +301,16 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore [ScriptInvocation] public string JsonList2Path(UUID hostID, UUID scriptID, object[] pathlist) { - return JsonStore.CanonicalPathExpression(ConvertList2Path(pathlist)); + string ipath = ConvertList2Path(pathlist); + string opath; + + if (JsonStore.CanonicalPathExpression(ipath,out opath)) + return opath; + + // This won't parse if passed to the other routines as opposed to + // returning an empty string which is a valid path and would overwrite + // the entire store + return "**INVALID**"; } // ----------------------------------------------------------------- @@ -421,6 +430,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore // ----------------------------------------------------------------- protected void GenerateRuntimeError(string msg) { + m_log.InfoFormat("[JsonStore] runtime error: {0}",msg); throw new Exception("JsonStore Runtime Error: " + msg); } From adedd70c352581bc447452f5835c10853c77bea8 Mon Sep 17 00:00:00 2001 From: BlueWall Date: Sun, 10 Feb 2013 13:01:33 -0500 Subject: [PATCH 558/851] Fix teleport/telehub issue: Fix bug that allowed only login access to regions with mis-configured telehubs. Administrators now have teleport access when there exists a mis-configured telehub in the region. Estate owners are now placed at region center in the absence of spawnpoints instead of being denied access. Grid Gods are unrestricted. All others are denied access to the region until spawnpoints are assigned to the telehub object. --- OpenSim/Region/Framework/Scenes/Scene.cs | 9 +++++++-- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 11 ++++++++++- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index de3978c4db..9b17b7f650 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -5506,8 +5506,13 @@ namespace OpenSim.Region.Framework.Scenes if (banned) { - reason = "No suitable landing point found"; - return false; + if(Permissions.IsAdministrator(agentID) == false || Permissions.IsGridGod(agentID) == false) + { + reason = "No suitable landing point found"; + return false; + } + reason = "Administrative access only"; + return true; } } } diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 6e41774bcf..30bd715f2b 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -4021,6 +4021,7 @@ namespace OpenSim.Region.Framework.Scenes (m_teleportFlags & TeleportFlags.ViaLocation) != 0 || (m_teleportFlags & Constants.TeleportFlags.ViaHGLogin) != 0) { + if (GodLevel < 200 && ((!m_scene.Permissions.IsGod(m_uuid) && !m_scene.RegionInfo.EstateSettings.IsEstateManagerOrOwner(m_uuid)) || @@ -4029,7 +4030,14 @@ namespace OpenSim.Region.Framework.Scenes { SpawnPoint[] spawnPoints = m_scene.RegionInfo.RegionSettings.SpawnPoints().ToArray(); if (spawnPoints.Length == 0) + { + if(m_scene.RegionInfo.EstateSettings.IsEstateManagerOrOwner(m_uuid)) + { + pos.X = 128.0f; + pos.Y = 128.0f; + } return; + } int index; bool selected = false; @@ -4049,7 +4057,8 @@ namespace OpenSim.Region.Framework.Scenes // SpawnPoint sp = spawnPoints[index]; ILandObject land = m_scene.LandChannel.GetLandObject(spawnPosition.X, spawnPosition.Y); - if (land == null || land.IsEitherBannedOrRestricted(UUID)) + if (spawnPoints.Length == 0) + return; if (land == null || land.IsEitherBannedOrRestricted(UUID)) selected = false; else selected = true; From 7524bd5a7ce332a9c63587423c79d6988e4c2896 Mon Sep 17 00:00:00 2001 From: Allen Kerensky Date: Sat, 9 Feb 2013 15:06:42 -0600 Subject: [PATCH 559/851] Additional ThreadPool worker and IOCP thread startup logic Signed-off-by: BlueWall --- OpenSim/Region/Application/Application.cs | 45 ++++++++++++++++++++--- 1 file changed, 39 insertions(+), 6 deletions(-) diff --git a/OpenSim/Region/Application/Application.cs b/OpenSim/Region/Application/Application.cs index 0f90d37107..c3e7ec2e67 100644 --- a/OpenSim/Region/Application/Application.cs +++ b/OpenSim/Region/Application/Application.cs @@ -102,17 +102,50 @@ namespace OpenSim m_log.InfoFormat( "[OPENSIM MAIN]: Environment variable MONO_THREADS_PER_CPU is {0}", monoThreadsPerCpu ?? "unset"); - // Increase the number of IOCP threads available. Mono defaults to a tragically low number + // Verify the Threadpool allocates or uses enough worker and IO completion threads + // .NET 2.0 workerthreads default to 50 * numcores + // .NET 3.0 workerthreads defaults to 250 * numcores + // .NET 4.0 workerthreads are dynamic based on bitness and OS resources + // Max IO Completion threads are 1000 on all 3 CLRs. + int workerThreadsMin = 500; + int workerThreadsMax = 1000; // may need further adjustment to match other CLR + int iocpThreadsMin = 1000; + int iocpThreadsMax = 2000; // may need further adjustment to match other CLR int workerThreads, iocpThreads; System.Threading.ThreadPool.GetMaxThreads(out workerThreads, out iocpThreads); m_log.InfoFormat("[OPENSIM MAIN]: Runtime gave us {0} worker threads and {1} IOCP threads", workerThreads, iocpThreads); - if (workerThreads < 500 || iocpThreads < 1000) + if (workerThreads < workerThreadsMin) { - workerThreads = 500; - iocpThreads = 1000; - m_log.Info("[OPENSIM MAIN]: Bumping up to 500 worker threads and 1000 IOCP threads"); - System.Threading.ThreadPool.SetMaxThreads(workerThreads, iocpThreads); + workerThreads = workerThreadsMin; + m_log.InfoFormat("[OPENSIM MAIN]: Bumping up to worker threads to {0}",workerThreads); } + if (workerThreads > workerThreadsMax) + { + workerThreads = workerThreadsMax; + m_log.InfoFormat("[OPENSIM MAIN]: Limiting worker threads to {0}",workerThreads); + } + // Increase the number of IOCP threads available. + // Mono defaults to a tragically low number (24 on 6-core / 8GB Fedora 17) + if (iocpThreads < iocpThreadsMin) + { + iocpThreads = iocpThreadsMin; + m_log.InfoFormat("[OPENSIM MAIN]: Bumping up IO completion threads to {0}",iocpThreads); + } + // Make sure we don't overallocate IOCP threads and thrash system resources + if ( iocpThreads > iocpThreadsMax ) + { + iocpThreads = iocpThreadsMax; + m_log.InfoFormat("[OPENSIM MAIN]: Limiting IO completion threads to {0}",iocpThreads); + } + // set the resulting worker and IO completion thread counts back to ThreadPool + if ( System.Threading.ThreadPool.SetMaxThreads(workerThreads, iocpThreads) ) + { + m_log.InfoFormat("[OPENSIM MAIN]: Threadpool set to {0} worker threads and {1} IO completion threads", workerThreads, iocpThreads); + } + else + { + m_log.Info("[OPENSIM MAIN]: Threadpool reconfiguration failed, runtime defaults still in effect."); + } // Check if the system is compatible with OpenSimulator. // Ensures that the minimum system requirements are met From 38b476d9d638af1c6fd55ec78a051d6130ae9398 Mon Sep 17 00:00:00 2001 From: BlueWall Date: Sun, 10 Feb 2013 14:17:02 -0500 Subject: [PATCH 560/851] Adding contributor to credits: Welcome Allen Kerensky! --- CONTRIBUTORS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.txt b/CONTRIBUTORS.txt index 43dea0bd3b..5e50903d7f 100644 --- a/CONTRIBUTORS.txt +++ b/CONTRIBUTORS.txt @@ -65,6 +65,7 @@ what it is today. * A_Biondi * alex_carnell * Alan Webb (IBM) +* Allen Kerensky * BigFootAg * BlueWall Slade * brianw/Sir_Ahzz From 6f3dcf58b8f47922b68993cfdd9cdbd5b4ae36d8 Mon Sep 17 00:00:00 2001 From: Melanie Date: Sun, 10 Feb 2013 20:00:39 +0000 Subject: [PATCH 561/851] Fix code to check for no spawn points. Possibly a merge artefact? --- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 30bd715f2b..70e3952405 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -4046,6 +4046,8 @@ namespace OpenSim.Region.Framework.Scenes { case "random": + if (spawnPoints.Length == 0) + return; do { index = Util.RandomClass.Next(spawnPoints.Length - 1); @@ -4057,8 +4059,8 @@ namespace OpenSim.Region.Framework.Scenes // SpawnPoint sp = spawnPoints[index]; ILandObject land = m_scene.LandChannel.GetLandObject(spawnPosition.X, spawnPosition.Y); - if (spawnPoints.Length == 0) - return; if (land == null || land.IsEitherBannedOrRestricted(UUID)) + + if (land == null || land.IsEitherBannedOrRestricted(UUID)) selected = false; else selected = true; From c72c1898644319b3b0ddedc0b0a65f6b8c678db9 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Mon, 11 Feb 2013 22:16:07 +0000 Subject: [PATCH 562/851] Add test to try reading notecard into an invalid path in TestJsonReadNotecard() regression test --- .../Tests/JsonStoreScriptModuleTests.cs | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index af97ac7c0b..e91c02daff 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -357,8 +357,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests UUID receivingStoreId = (UUID)InvokeOp("JsonCreateStore", "{}"); UUID readNotecardRequestId = (UUID)InvokeOpOnHost("JsonReadNotecard", so.UUID, receivingStoreId, "make", notecardName); Assert.That(readNotecardRequestId, Is.Not.EqualTo(UUID.Zero)); - - // These don't behave as I expect yet - reading to a path still seems to place the notecard contents at the root. + string value = (string)InvokeOp("JsonGetValue", receivingStoreId, "Hello"); Assert.That(value, Is.EqualTo("")); @@ -367,27 +366,24 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests } { - // Read notecard to new multi-component path + // Read notecard to new multi-component path. This should not work. UUID receivingStoreId = (UUID)InvokeOp("JsonCreateStore", "{}"); UUID readNotecardRequestId = (UUID)InvokeOpOnHost("JsonReadNotecard", so.UUID, receivingStoreId, "make.it", notecardName); Assert.That(readNotecardRequestId, Is.Not.EqualTo(UUID.Zero)); - // These don't behave as I expect yet - reading to a path still seems to place the notecard contents at the root. string value = (string)InvokeOp("JsonGetValue", receivingStoreId, "Hello"); Assert.That(value, Is.EqualTo("")); - // TODO: Check that we are not expecting reading to a new path to work. value = (string)InvokeOp("JsonGetValue", receivingStoreId, "make.it.Hello"); Assert.That(value, Is.EqualTo("")); } { - // Read notecard to existing multi-component path + // Read notecard to existing multi-component path. This should work UUID receivingStoreId = (UUID)InvokeOp("JsonCreateStore", "{ 'make' : { 'it' : 'so' } }"); UUID readNotecardRequestId = (UUID)InvokeOpOnHost("JsonReadNotecard", so.UUID, receivingStoreId, "make.it", notecardName); Assert.That(readNotecardRequestId, Is.Not.EqualTo(UUID.Zero)); - // These don't behave as I expect yet - reading to a path still seems to place the notecard contents at the root. string value = (string)InvokeOp("JsonGetValue", receivingStoreId, "Hello"); Assert.That(value, Is.EqualTo("")); @@ -395,6 +391,16 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests Assert.That(value, Is.EqualTo("World")); } + { + // Read notecard to invalid path. This should not work. + UUID receivingStoreId = (UUID)InvokeOp("JsonCreateStore", "{ 'make' : { 'it' : 'so' } }"); + UUID readNotecardRequestId = (UUID)InvokeOpOnHost("JsonReadNotecard", so.UUID, receivingStoreId, "/", notecardName); + Assert.That(readNotecardRequestId, Is.Not.EqualTo(UUID.Zero)); + + string value = (string)InvokeOp("JsonGetValue", receivingStoreId, "Hello"); + Assert.That(value, Is.EqualTo("")); + } + { // Try read notecard to fake store. UUID fakeStoreId = TestHelpers.ParseTail(0x500); From cbb8d82c7d37019f32c6d8166de53c75c29e27a5 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Mon, 11 Feb 2013 22:28:50 +0000 Subject: [PATCH 563/851] Add section to TestJsonSetValue() to test attempted set of value where the penultimate section of path does not exist --- .../Tests/JsonStoreScriptModuleTests.cs | 31 ++++++++++++++----- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index e91c02daff..2af3afcef3 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -244,18 +244,33 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests TestHelpers.InMethod(); // TestHelpers.EnableLogging(); - UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ }"); + { + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ }"); - int result = (int)InvokeOp("JsonSetValue", storeId, "Fun", "Times"); - Assert.That(result, Is.EqualTo(1)); + int result = (int)InvokeOp("JsonSetValue", storeId, "Fun", "Times"); + Assert.That(result, Is.EqualTo(1)); - string value = (string)InvokeOp("JsonGetValue", storeId, "Fun"); - Assert.That(value, Is.EqualTo("Times")); + string value = (string)InvokeOp("JsonGetValue", storeId, "Fun"); + Assert.That(value, Is.EqualTo("Times")); + } + + // Test setting to location that does not exist. This should fail. + { + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ }"); + + int result = (int)InvokeOp("JsonSetValue", storeId, "Fun.Circus", "Times"); + Assert.That(result, Is.EqualTo(0)); + + string value = (string)InvokeOp("JsonGetValue", storeId, "Fun.Circus"); + Assert.That(value, Is.EqualTo("")); + } // Test with fake store - UUID fakeStoreId = TestHelpers.ParseTail(0x500); - int fakeStoreValueSet = (int)InvokeOp("JsonSetValue", fakeStoreId, "Hello", "World"); - Assert.That(fakeStoreValueSet, Is.EqualTo(0)); + { + UUID fakeStoreId = TestHelpers.ParseTail(0x500); + int fakeStoreValueSet = (int)InvokeOp("JsonSetValue", fakeStoreId, "Hello", "World"); + Assert.That(fakeStoreValueSet, Is.EqualTo(0)); + } } /// From 8fcfd8224165908284b729935a5bf61d07545958 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Mon, 11 Feb 2013 22:44:25 +0000 Subject: [PATCH 564/851] Extend TestJsonTestPath() for non-terminating section of path (i.e. one that does not point to a value/leaf) --- .../Tests/JsonStoreScriptModuleTests.cs | 28 +++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index 2af3afcef3..98d8ff6082 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -224,18 +224,30 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests TestHelpers.InMethod(); // TestHelpers.EnableLogging(); - UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ 'Hello' : 'World' }"); + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ 'Hello' : { 'World' : 'One' } }"); - int result = (int)InvokeOp("JsonTestPath", storeId, "Hello"); - Assert.That(result, Is.EqualTo(1)); + { + int result = (int)InvokeOp("JsonTestPath", storeId, "Hello.World"); + Assert.That(result, Is.EqualTo(1)); + } - int result2 = (int)InvokeOp("JsonTestPath", storeId, "foo"); - Assert.That(result2, Is.EqualTo(0)); + // Test for path which does not resolve to a value. + { + int result = (int)InvokeOp("JsonTestPath", storeId, "Hello"); + Assert.That(result, Is.EqualTo(0)); + } + + { + int result2 = (int)InvokeOp("JsonTestPath", storeId, "foo"); + Assert.That(result2, Is.EqualTo(0)); + } // Test with fake store - UUID fakeStoreId = TestHelpers.ParseTail(0x500); - int fakeStoreValueRemove = (int)InvokeOp("JsonTestPath", fakeStoreId, "Hello"); - Assert.That(fakeStoreValueRemove, Is.EqualTo(0)); + { + UUID fakeStoreId = TestHelpers.ParseTail(0x500); + int fakeStoreValueRemove = (int)InvokeOp("JsonTestPath", fakeStoreId, "Hello"); + Assert.That(fakeStoreValueRemove, Is.EqualTo(0)); + } } [Test] From 9d001e40e79b17a8b5eb4316f1f3525afd1b6b96 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Mon, 11 Feb 2013 22:56:43 +0000 Subject: [PATCH 565/851] Add section to TestJsonGetValue() to test call on a sub-tree --- .../Tests/JsonStoreScriptModuleTests.cs | 30 +++++++++++++------ 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index 98d8ff6082..a2d065cb9c 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -153,19 +153,31 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests TestHelpers.InMethod(); // TestHelpers.EnableLogging(); - UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ 'Hello' : 'World' }"); + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ 'Hello' : { 'World' : 'Two' } }"); - string value = (string)InvokeOp("JsonGetValue", storeId, "Hello"); - Assert.That(value, Is.EqualTo("World")); + { + string value = (string)InvokeOp("JsonGetValue", storeId, "Hello.World"); + Assert.That(value, Is.EqualTo("Two")); + } + + // Test get of path section instead of leaf + { + string value = (string)InvokeOp("JsonGetValue", storeId, "Hello"); + Assert.That(value, Is.EqualTo("")); + } // Test get of non-existing value - string fakeValueGet = (string)InvokeOp("JsonGetValue", storeId, "foo"); - Assert.That(fakeValueGet, Is.EqualTo("")); + { + string fakeValueGet = (string)InvokeOp("JsonGetValue", storeId, "foo"); + Assert.That(fakeValueGet, Is.EqualTo("")); + } // Test get from non-existing store - UUID fakeStoreId = TestHelpers.ParseTail(0x500); - string fakeStoreValueGet = (string)InvokeOp("JsonGetValue", fakeStoreId, "Hello"); - Assert.That(fakeStoreValueGet, Is.EqualTo("")); + { + UUID fakeStoreId = TestHelpers.ParseTail(0x500); + string fakeStoreValueGet = (string)InvokeOp("JsonGetValue", fakeStoreId, "Hello"); + Assert.That(fakeStoreValueGet, Is.EqualTo("")); + } } // [Test] @@ -432,7 +444,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests // Try read notecard to fake store. UUID fakeStoreId = TestHelpers.ParseTail(0x500); UUID readNotecardRequestId = (UUID)InvokeOpOnHost("JsonReadNotecard", so.UUID, fakeStoreId, "", notecardName); - Assert.That(fakeStoreId, Is.Not.EqualTo(UUID.Zero)); + Assert.That(readNotecardRequestId, Is.Not.EqualTo(UUID.Zero)); string value = (string)InvokeOp("JsonGetValue", fakeStoreId, "Hello"); Assert.That(value, Is.EqualTo("")); From 6924bd21f48a4c2540ebd8316e966367157e97c7 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Mon, 11 Feb 2013 23:10:07 +0000 Subject: [PATCH 566/851] Add regression TestJsonTestPathJson() --- .../Tests/JsonStoreScriptModuleTests.cs | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index a2d065cb9c..de42e74811 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -262,6 +262,38 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests } } + [Test] + public void TestJsonTestPathJson() + { + TestHelpers.InMethod(); +// TestHelpers.EnableLogging(); + + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ 'Hello' : { 'World' : 'One' } }"); + + { + int result = (int)InvokeOp("JsonTestPathJson", storeId, "Hello.World"); + Assert.That(result, Is.EqualTo(1)); + } + + // Test for path which does not resolve to a value. + { + int result = (int)InvokeOp("JsonTestPathJson", storeId, "Hello"); + Assert.That(result, Is.EqualTo(1)); + } + + { + int result2 = (int)InvokeOp("JsonTestPathJson", storeId, "foo"); + Assert.That(result2, Is.EqualTo(0)); + } + + // Test with fake store + { + UUID fakeStoreId = TestHelpers.ParseTail(0x500); + int fakeStoreValueRemove = (int)InvokeOp("JsonTestPathJson", fakeStoreId, "Hello"); + Assert.That(fakeStoreValueRemove, Is.EqualTo(0)); + } + } + [Test] public void TestJsonSetValue() { From d55974bcb7e0dc2931c9ca18e4bbe85fb0ef5440 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Mon, 11 Feb 2013 23:47:49 +0000 Subject: [PATCH 567/851] Add regression TestJsonGetValueJson() --- .../Tests/JsonStoreScriptModuleTests.cs | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index de42e74811..ddbfa459e9 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -180,6 +180,39 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests } } + [Test] + public void TestJsonGetValueJson() + { + TestHelpers.InMethod(); +// TestHelpers.EnableLogging(); + + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ 'Hello' : { 'World' : 'Two' } }"); + + { + string value = (string)InvokeOp("JsonGetValueJson", storeId, "Hello.World"); + Assert.That(value, Is.EqualTo("'Two'")); + } + + // Test get of path section instead of leaf + { + string value = (string)InvokeOp("JsonGetValueJson", storeId, "Hello"); + Assert.That(value, Is.EqualTo("{\"World\":\"Two\"}")); + } + + // Test get of non-existing value + { + string fakeValueGet = (string)InvokeOp("JsonGetValueJson", storeId, "foo"); + Assert.That(fakeValueGet, Is.EqualTo("")); + } + + // Test get from non-existing store + { + UUID fakeStoreId = TestHelpers.ParseTail(0x500); + string fakeStoreValueGet = (string)InvokeOp("JsonGetValueJson", fakeStoreId, "Hello"); + Assert.That(fakeStoreValueGet, Is.EqualTo("")); + } + } + // [Test] // public void TestJsonTakeValue() // { From 586def0bcc3bad5ff1e92ff24bbd41a0d2ab4c52 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Tue, 12 Feb 2013 01:27:38 +0000 Subject: [PATCH 568/851] Add regression TestJsonSetValueJson() The part to test setting of single leaf-node string tokens is currently commented out. See http://opensimulator.org/mantis/view.php?id=6540 --- .../Tests/JsonStoreScriptModuleTests.cs | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index ddbfa459e9..717484c906 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -362,6 +362,64 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests } } + [Test] + public void TestJsonSetValueJson() + { + TestHelpers.InMethod(); +// TestHelpers.EnableLogging(); + + // Single quoted token case +// { +// UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ }"); +// +// int result = (int)InvokeOp("JsonSetValueJson", storeId, "Fun", "'Times'"); +// Assert.That(result, Is.EqualTo(1)); +// +// string value = (string)InvokeOp("JsonGetValue", storeId, "Fun"); +// Assert.That(value, Is.EqualTo("Times")); +// } + + // Sub-tree case + { + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ }"); + + int result = (int)InvokeOp("JsonSetValueJson", storeId, "Fun", "{ 'Filled' : 'Times' }"); + Assert.That(result, Is.EqualTo(1)); + + string value = (string)InvokeOp("JsonGetValue", storeId, "Fun.Filled"); + Assert.That(value, Is.EqualTo("Times")); + } + + // If setting single strings in JsonSetValueJson, these must be single quoted tokens, not bare strings. + { + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ }"); + + int result = (int)InvokeOp("JsonSetValueJson", storeId, "Fun", "Times"); + Assert.That(result, Is.EqualTo(0)); + + string value = (string)InvokeOp("JsonGetValue", storeId, "Fun"); + Assert.That(value, Is.EqualTo("")); + } + + // Test setting to location that does not exist. This should fail. + { + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ }"); + + int result = (int)InvokeOp("JsonSetValueJson", storeId, "Fun.Circus", "'Times'"); + Assert.That(result, Is.EqualTo(0)); + + string value = (string)InvokeOp("JsonGetValue", storeId, "Fun.Circus"); + Assert.That(value, Is.EqualTo("")); + } + + // Test with fake store + { + UUID fakeStoreId = TestHelpers.ParseTail(0x500); + int fakeStoreValueSet = (int)InvokeOp("JsonSetValueJson", fakeStoreId, "Hello", "'World'"); + Assert.That(fakeStoreValueSet, Is.EqualTo(0)); + } + } + /// /// Test for writing json to a notecard /// From d3b2cdc2b41833a338101a7f05eaa6f8d4dd5ef1 Mon Sep 17 00:00:00 2001 From: Mic Bowman Date: Mon, 11 Feb 2013 19:55:10 -0800 Subject: [PATCH 569/851] Fix handling of string values in JsonSetValueJson(). There are some oddities with empty strings: the Json serializer treats them as default values and does not return them in serialized hashes. --- .../Scripting/JsonStore/JsonStore.cs | 32 ++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs index 3d715cc90d..82a4da7857 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs @@ -198,7 +198,37 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore // ----------------------------------------------------------------- public bool SetValue(string expr, string value, bool useJson) { - OSD ovalue = useJson ? OSDParser.DeserializeJson(value) : new OSDString(value); + OSD ovalue; + + // One note of caution... if you use an empty string in the + // structure it will be assumed to be a default value and will + // not be seialized in the json + + if (useJson) + { + // There doesn't appear to be a good way to determine if the + // value is valid Json other than to let the parser crash + try + { + ovalue = OSDParser.DeserializeJson(value); + } + catch (Exception e) + { + if (value.StartsWith("'") && value.EndsWith("'")) + { + ovalue = new OSDString(value.Substring(1,value.Length - 2)); + } + else + { + return false; + } + } + } + else + { + ovalue = new OSDString(value); + } + return SetValueFromExpression(expr,ovalue); } From 4b8c22ecfaf573b26e1b8f65cb8c95c39c3f519b Mon Sep 17 00:00:00 2001 From: Mic Bowman Date: Tue, 12 Feb 2013 11:10:17 -0800 Subject: [PATCH 570/851] Adds the parameter for OSD serialization to encode default values. This makes the JsonStore get/set operations symmetric. --- .../OptionalModules/Scripting/JsonStore/JsonStore.cs | 11 +++++++---- .../Scripting/JsonStore/JsonStoreModule.cs | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs index 82a4da7857..3bad06cf39 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs @@ -131,15 +131,18 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore m_TakeStore = new List(); m_ReadStore = new List(); } - + public JsonStore(string value) : this() { + // This is going to throw an exception if the value is not + // a valid JSON chunk. Calling routines should catch the + // exception and handle it appropriately if (String.IsNullOrEmpty(value)) ValueStore = new OSDMap(); else ValueStore = OSDParser.DeserializeJson(value); } - + // ----------------------------------------------------------------- /// /// @@ -574,14 +577,14 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore // The path pointed to an intermediate hash structure if (result.Type == OSDType.Map) { - value = OSDParser.SerializeJsonString(result as OSDMap); + value = OSDParser.SerializeJsonString(result as OSDMap,true); return true; } // The path pointed to an intermediate hash structure if (result.Type == OSDType.Array) { - value = OSDParser.SerializeJsonString(result as OSDArray); + value = OSDParser.SerializeJsonString(result as OSDArray,true); return true; } diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs index f1ce856995..cc136615a4 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs @@ -227,7 +227,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore } catch (Exception e) { - m_log.Error(string.Format("[JsonStore]: Unable to initialize store from {0}", value), e); + m_log.ErrorFormat("[JsonStore]: Unable to initialize store from {0}", value); return false; } From 058d477ce7cfb9ddc4f5508368141b5d74ba91e3 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Tue, 12 Feb 2013 20:51:36 +0000 Subject: [PATCH 571/851] Re-enable subtest for single quoted token in TestJsonSetValueJson() This is in response to the resolution of http://opensimulator.org/mantis/view.php?id=6540 --- .../Tests/JsonStoreScriptModuleTests.cs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index 717484c906..012a52831b 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -369,15 +369,15 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests // TestHelpers.EnableLogging(); // Single quoted token case -// { -// UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ }"); -// -// int result = (int)InvokeOp("JsonSetValueJson", storeId, "Fun", "'Times'"); -// Assert.That(result, Is.EqualTo(1)); -// -// string value = (string)InvokeOp("JsonGetValue", storeId, "Fun"); -// Assert.That(value, Is.EqualTo("Times")); -// } + { + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ }"); + + int result = (int)InvokeOp("JsonSetValueJson", storeId, "Fun", "'Times'"); + Assert.That(result, Is.EqualTo(1)); + + string value = (string)InvokeOp("JsonGetValue", storeId, "Fun"); + Assert.That(value, Is.EqualTo("Times")); + } // Sub-tree case { From a82bd5678ec14ea45f7ddcf54e4dd0af43b64c8c Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Tue, 12 Feb 2013 21:34:12 +0000 Subject: [PATCH 572/851] Use an integer when specifying the XWorkItem wait rather than a TimeSpan to avoid a Windows casting issue in SmartThreadPool for large TimeSpans. TimeSpan.Milliseconds is an int64. However, STP casts this to an int (32-bit). If TimeSpan.MaxValue is given then the casting results in an invalid value for the SDK WaitHandle.WaitAll() call. This was causing the co-op script termination regression tests to fail on Windows but not Mono 2.10.8 (which is perhaps not strict in the negative values that it accepts). Solution here is to use the int millisecondsTimeout STP call rather than the TimeSpan one. This also allows us to more clearly specify Timeout.Infinite rather than TimeSpan.MaxValue Thanks to Teravus for this spot. --- OpenSim/Region/ScriptEngine/Interfaces/IScriptInstance.cs | 7 ++++++- .../Region/ScriptEngine/Shared/Instance/ScriptInstance.cs | 4 ++-- OpenSim/Region/ScriptEngine/XEngine/XWorkItem.cs | 6 +++++- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Interfaces/IScriptInstance.cs b/OpenSim/Region/ScriptEngine/Interfaces/IScriptInstance.cs index f68612c15e..35ae44c315 100644 --- a/OpenSim/Region/ScriptEngine/Interfaces/IScriptInstance.cs +++ b/OpenSim/Region/ScriptEngine/Interfaces/IScriptInstance.cs @@ -52,7 +52,12 @@ namespace OpenSim.Region.ScriptEngine.Interfaces { bool Cancel(); void Abort(); - bool Wait(TimeSpan t); + + /// + /// Wait for the work item to complete. + /// + /// The number of milliseconds to wait. Must be >= -1 (Timeout.Infinite). + bool Wait(int t); } /// diff --git a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs index 669cc3761c..bf19a42868 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs @@ -595,7 +595,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance if (!m_coopTermination) { // If we're not co-operative terminating then try and wait for the event to complete before stopping - if (workItem.Wait(new TimeSpan((long)timeout * 100000))) + if (workItem.Wait(timeout)) return true; } else @@ -610,7 +610,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance // For now, we will wait forever since the event should always cleanly terminate once LSL loop // checking is implemented. May want to allow a shorter timeout option later. - if (workItem.Wait(TimeSpan.MaxValue)) + if (workItem.Wait(Timeout.Infinite)) { if (DebugLevel >= 1) m_log.DebugFormat( diff --git a/OpenSim/Region/ScriptEngine/XEngine/XWorkItem.cs b/OpenSim/Region/ScriptEngine/XEngine/XWorkItem.cs index 2ac5c315af..8dd7677d7f 100644 --- a/OpenSim/Region/ScriptEngine/XEngine/XWorkItem.cs +++ b/OpenSim/Region/ScriptEngine/XEngine/XWorkItem.cs @@ -57,8 +57,12 @@ namespace OpenSim.Region.ScriptEngine.XEngine wr.Abort(); } - public bool Wait(TimeSpan t) + public bool Wait(int t) { + // We use the integer version of WaitAll because the current version of SmartThreadPool has a bug with the + // TimeSpan version. The number of milliseconds in TimeSpan is an int64 so when STP casts it down to an + // int (32-bit) we can end up with bad values. This occurs on Windows though curious not on Mono 2.10.8 + // (or very likely other versions of Mono at least up until 3.0.3). return SmartThreadPool.WaitAll(new IWorkItemResult[] {wr}, t, false); } } From aaa80d11a8ad82c5b237381a934c2a1d6f2089bd Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Tue, 12 Feb 2013 14:47:26 -0800 Subject: [PATCH 573/851] Replaced Ionic.Zip.dll with a new one that fixes a bug in it. DotNetZip (from which Ionic.Zip.dll is derived) is now a fork in opensim-libs, forked from 1.9.1.8 and added that simple bug fix. --- bin/Ionic.Zip.dll | Bin 462336 -> 491520 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/bin/Ionic.Zip.dll b/bin/Ionic.Zip.dll index 95fa92885578745360df875d90d9231a7e618e78..e37f1bdea5106b14e62d7676cee10e9a78a1048a 100755 GIT binary patch delta 208804 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 delta 179667 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 O%DaV+a-VPJFZ>H53dK7B From 992ef9e971112af34590e971b0ccf5d48db513b2 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Tue, 12 Feb 2013 23:00:24 +0000 Subject: [PATCH 574/851] Extend TestJsonCreateStore() with a one key input and an input with raw number values --- .../Tests/JsonStoreScriptModuleTests.cs | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index 012a52831b..eb4bc2284b 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -115,8 +115,26 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests TestHelpers.InMethod(); // TestHelpers.EnableLogging(); - UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{}"); - Assert.That(storeId, Is.Not.EqualTo(UUID.Zero)); + // Test blank store + { + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{}"); + Assert.That(storeId, Is.Not.EqualTo(UUID.Zero)); + } + + // Test single element store + { + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ 'Hello' : 'World' }"); + Assert.That(storeId, Is.Not.EqualTo(UUID.Zero)); + } + + // Test with an integer value + { + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ 'Hello' : 42.15 }"); + Assert.That(storeId, Is.Not.EqualTo(UUID.Zero)); + + string value = (string)InvokeOp("JsonGetValue", storeId, "Hello"); + Assert.That(value, Is.EqualTo("42.15")); + } } [Test] From fb903ff49089d5fd7a56aa2401528c3e7cf1800c Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sun, 10 Feb 2013 09:51:34 -0800 Subject: [PATCH 575/851] BulletSim: More work on center-of-mass. Remove linksetinfo and rely on simulator to update info. --- .../Physics/BulletSPlugin/BSApiTemplate.cs | 7 +- .../Physics/BulletSPlugin/BSCharacter.cs | 2 +- .../Region/Physics/BulletSPlugin/BSLinkset.cs | 3 + .../BulletSPlugin/BSLinksetCompound.cs | 150 ++++++++---------- .../Physics/BulletSPlugin/BSPhysObject.cs | 31 ++-- .../Region/Physics/BulletSPlugin/BSPrim.cs | 4 +- .../Physics/BulletSPlugin/BSPrimDisplaced.cs | 87 +++++++--- .../Physics/BulletSPlugin/BSPrimLinkable.cs | 4 +- 8 files changed, 163 insertions(+), 125 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSApiTemplate.cs b/OpenSim/Region/Physics/BulletSPlugin/BSApiTemplate.cs index 7ab86d245e..3f83ef0ed2 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSApiTemplate.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSApiTemplate.cs @@ -225,9 +225,10 @@ public enum CollisionFlags : uint CF_DISABLE_VISUALIZE_OBJECT = 1 << 5, CF_DISABLE_SPU_COLLISION_PROCESS = 1 << 6, // Following used by BulletSim to control collisions and updates - BS_SUBSCRIBE_COLLISION_EVENTS = 1 << 10, - BS_FLOATS_ON_WATER = 1 << 11, - BS_VEHICLE_COLLISIONS = 1 << 12, + BS_SUBSCRIBE_COLLISION_EVENTS = 1 << 10, // return collision events from unmanaged to managed + BS_FLOATS_ON_WATER = 1 << 11, // the object should float at water level + BS_VEHICLE_COLLISIONS = 1 << 12, // return collisions for vehicle ground checking + BS_RETURN_ROOT_COMPOUND_SHAPE = 1 << 13, // return the pos/rot of the root shape in a compound shape BS_NONE = 0, BS_ALL = 0xFFFFFFFF }; diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs index f781aeaa06..04fb05bad8 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs @@ -274,7 +274,7 @@ public sealed class BSCharacter : BSPhysObject // This test is done if moving forward, not flying and is colliding with something. // DetailLog("{0},BSCharacter.WalkUpStairs,IsColliding={1},flying={2},targSpeed={3},collisions={4}", // LocalID, IsColliding, Flying, TargetSpeed, CollisionsLastTick.Count); - if (IsColliding && !Flying && TargetSpeed > 0.1f /* && ForwardSpeed < 0.1f */) + if (IsColliding && !Flying && TargetVelocitySpeed > 0.1f /* && ForwardSpeed < 0.1f */) { // The range near the character's feet where we will consider stairs float nearFeetHeightMin = RawPosition.Z - (Size.Z / 2f) + 0.05f; diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs b/OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs index e35311ff11..4ece1eb496 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs @@ -127,6 +127,8 @@ public abstract class BSLinkset m_children = new HashSet(); LinksetMass = parent.RawMass; Rebuilding = false; + + parent.ClearDisplacement(); } // Link to a linkset where the child knows the parent. @@ -280,6 +282,7 @@ public abstract class BSLinkset return mass; } + // Computes linkset's center of mass in world coordinates. protected virtual OMV.Vector3 ComputeLinksetCenterOfMass() { OMV.Vector3 com; diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs b/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs index 36bae9bba4..1f66b56a3d 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs @@ -93,7 +93,8 @@ public sealed class BSLinksetCompound : BSLinkset { private static string LogHeader = "[BULLETSIM LINKSET COMPOUND]"; - public BSLinksetCompound(BSScene scene, BSPrimLinkable parent) : base(scene, parent) + public BSLinksetCompound(BSScene scene, BSPrimLinkable parent) + : base(scene, parent) { } @@ -217,59 +218,45 @@ public sealed class BSLinksetCompound : BSLinkset // and that is caused by us updating the object. if ((whichUpdated & ~(UpdatedProperties.Position | UpdatedProperties.Orientation)) == 0) { - // Gather the child info. It might not be there if the linkset is in transition. - BSLinksetCompoundInfo lsi = updated.LinksetInfo as BSLinksetCompoundInfo; - if (lsi != null) - { - // Since the child moved or rotationed, it needs a new relative position within the linkset - BSLinksetCompoundInfo newLsi = new BSLinksetCompoundInfo(lsi.Index, LinksetRoot, updated, OMV.Vector3.Zero); - updated.LinksetInfo = newLsi; - // Find the physical instance of the child - if (LinksetRoot.PhysShape.HasPhysicalShape && PhysicsScene.PE.IsCompound(LinksetRoot.PhysShape)) + if (LinksetRoot.PhysShape.HasPhysicalShape && PhysicsScene.PE.IsCompound(LinksetRoot.PhysShape)) + { + // It is possible that the linkset is still under construction and the child is not yet + // inserted into the compound shape. A rebuild of the linkset in a pre-step action will + // build the whole thing with the new position or rotation. + // The index must be checked because Bullet references the child array but does no validity + // checking of the child index passed. + int numLinksetChildren = PhysicsScene.PE.GetNumberOfCompoundChildren(LinksetRoot.PhysShape); + if (updated.LinksetChildIndex < numLinksetChildren) { - // It is possible that the linkset is still under construction and the child is not yet - // inserted into the compound shape. A rebuild of the linkset in a pre-step action will - // build the whole thing with the new position or rotation. - // The index must be checked because Bullet references the child array but does no validity - // checking of the child index passed. - int numLinksetChildren = PhysicsScene.PE.GetNumberOfCompoundChildren(LinksetRoot.PhysShape); - if (lsi.Index < numLinksetChildren) + BulletShape linksetChildShape = PhysicsScene.PE.GetChildShapeFromCompoundShapeIndex(LinksetRoot.PhysShape, updated.LinksetChildIndex); + if (linksetChildShape.HasPhysicalShape) { - BulletShape linksetChildShape = PhysicsScene.PE.GetChildShapeFromCompoundShapeIndex(LinksetRoot.PhysShape, lsi.Index); - if (linksetChildShape.HasPhysicalShape) - { - // Found the child shape within the compound shape - PhysicsScene.PE.UpdateChildTransform(LinksetRoot.PhysShape, lsi.Index, - newLsi.OffsetFromCenterOfMass, - newLsi.OffsetRot, - true /* shouldRecalculateLocalAabb */); - updatedChild = true; - DetailLog("{0},BSLinksetCompound.UpdateProperties,changeChildPosRot,whichUpdated={1},newLsi={2}", - updated.LocalID, whichUpdated, newLsi); - } - else // DEBUG DEBUG - { // DEBUG DEBUG - DetailLog("{0},BSLinksetCompound.UpdateProperties,couldNotUpdateChild,noChildShape,shape={1}", - updated.LocalID, linksetChildShape); - } // DEBUG DEBUG + // Found the child shape within the compound shape + PhysicsScene.PE.UpdateChildTransform(LinksetRoot.PhysShape, updated.LinksetChildIndex, + updated.RawPosition - LinksetRoot.RawPosition, + updated.RawOrientation * OMV.Quaternion.Inverse(LinksetRoot.RawOrientation), + true /* shouldRecalculateLocalAabb */); + updatedChild = true; + DetailLog("{0},BSLinksetCompound.UpdateProperties,changeChildPosRot,whichUpdated={1},pos={2},rot={3}", + updated.LocalID, whichUpdated, updated.RawPosition, updated.RawOrientation); } else // DEBUG DEBUG { // DEBUG DEBUG - // the child is not yet in the compound shape. This is non-fatal. - DetailLog("{0},BSLinksetCompound.UpdateProperties,couldNotUpdateChild,childNotInCompoundShape,numChildren={1},index={2}", - updated.LocalID, numLinksetChildren, lsi.Index); + DetailLog("{0},BSLinksetCompound.UpdateProperties,couldNotUpdateChild,noChildShape,shape={1}", + updated.LocalID, linksetChildShape); } // DEBUG DEBUG } else // DEBUG DEBUG { // DEBUG DEBUG - DetailLog("{0},BSLinksetCompound.UpdateProperties,couldNotUpdateChild,noBodyOrNotCompound", updated.LocalID); + // the child is not yet in the compound shape. This is non-fatal. + DetailLog("{0},BSLinksetCompound.UpdateProperties,couldNotUpdateChild,childNotInCompoundShape,numChildren={1},index={2}", + updated.LocalID, numLinksetChildren, updated.LinksetChildIndex); } // DEBUG DEBUG } else // DEBUG DEBUG { // DEBUG DEBUG - DetailLog("{0},BSLinksetCompound.UpdateProperties,couldNotUpdateChild,noLinkSetInfo,rootPhysShape={1}", - updated.LocalID, LinksetRoot.PhysShape); + DetailLog("{0},BSLinksetCompound.UpdateProperties,couldNotUpdateChild,noBodyOrNotCompound", updated.LocalID); } // DEBUG DEBUG if (!updatedChild) @@ -379,6 +366,8 @@ public sealed class BSLinksetCompound : BSLinkset // Safe to call even if the child is not really in the linkset. protected override void RemoveChildFromLinkset(BSPrimLinkable child) { + child.ClearDisplacement(); + if (m_children.Remove(child)) { DetailLog("{0},BSLinksetCompound.RemoveChildFromLinkset,call,rID={1},rBody={2},cID={3},cBody={4}", @@ -410,7 +399,7 @@ public sealed class BSLinksetCompound : BSLinkset // Constraint linksets are rebuilt every time. // Note that this works for rebuilding just the root after a linkset is taken apart. // Called at taint time!! - private bool disableCOM = true; // DEBUG DEBUG: disable until we get this debugged + private bool disableCOM = false; // DEBUG DEBUG: disable until we get this debugged private void RecomputeLinksetCompound() { try @@ -424,30 +413,31 @@ public sealed class BSLinksetCompound : BSLinkset // The center of mass for the linkset is the geometric center of the group. // Compute a displacement for each component so it is relative to the center-of-mass. // Bullet presumes an object's origin (relative <0,0,0>) is its center-of-mass - OMV.Vector3 centerOfMass; - OMV.Vector3 centerDisplacement = OMV.Vector3.Zero; - if (disableCOM) // DEBUG DEBUG - { // DEBUG DEBUG - centerOfMass = LinksetRoot.RawPosition; // DEBUG DEBUG - // LinksetRoot.PositionDisplacement = OMV.Vector3.Zero; - } // DEBUG DEBUG - else + OMV.Vector3 centerOfMassW = LinksetRoot.RawPosition; + if (!disableCOM) // DEBUG DEBUG { - centerOfMass = ComputeLinksetCenterOfMass(); - // 'centerDisplacement' is the value to *add* to all the shape offsets - centerDisplacement = LinksetRoot.RawPosition - centerOfMass; - - // Since we're displacing the center of the shape, we need to move the body in the world - // LinksetRoot.PositionDisplacement = centerDisplacement; - - // This causes the root prim position to be set properly based on the new PositionDisplacement - LinksetRoot.ForcePosition = LinksetRoot.RawPosition; - // Update the local transform for the root child shape so it is offset from the <0,0,0> which is COM - PhysicsScene.PE.UpdateChildTransform(LinksetRoot.PhysShape, 0, -centerDisplacement, OMV.Quaternion.Identity, false); - DetailLog("{0},BSLinksetCompound.RecomputeLinksetCompound,COM,com={1},rootPos={2},centerDisp={3}", - LinksetRoot.LocalID, centerOfMass, LinksetRoot.RawPosition, centerDisplacement); + // Compute a center-of-mass in world coordinates. + centerOfMassW = ComputeLinksetCenterOfMass(); } + OMV.Quaternion invRootOrientation = OMV.Quaternion.Inverse(LinksetRoot.RawOrientation); + + // 'centerDisplacement' is the value to subtract from children to give physical offset position + OMV.Vector3 centerDisplacement = (centerOfMassW - LinksetRoot.RawPosition) * invRootOrientation; + LinksetRoot.SetEffectiveCenterOfMassW(centerDisplacement); + + // This causes the physical position of the root prim to be offset to accomodate for the displacements + LinksetRoot.ForcePosition = LinksetRoot.RawPosition; + + // Update the local transform for the root child shape so it is offset from the <0,0,0> which is COM + PhysicsScene.PE.UpdateChildTransform(LinksetRoot.PhysShape, 0, + -centerDisplacement, + LinksetRoot.RawOrientation, + false /* shouldRecalculateLocalAabb */); + + DetailLog("{0},BSLinksetCompound.RecomputeLinksetCompound,COM,com={1},rootPos={2},centerDisp={3}", + LinksetRoot.LocalID, centerOfMassW, LinksetRoot.RawPosition, centerDisplacement); + DetailLog("{0},BSLinksetCompound.RecomputeLinksetCompound,start,rBody={1},rShape={2},numChildren={3}", LinksetRoot.LocalID, LinksetRoot.PhysBody, LinksetRoot.PhysShape, NumberOfChildren); @@ -455,29 +445,20 @@ public sealed class BSLinksetCompound : BSLinkset int memberIndex = 1; ForEachMember(delegate(BSPrimLinkable cPrim) { - if (!IsRoot(cPrim)) + if (IsRoot(cPrim)) { - // Compute the displacement of the child from the root of the linkset. - // This info is saved in the child prim so the relationship does not - // change over time and the new child position can be computed - // when the linkset is being disassembled (the linkset may have moved). - BSLinksetCompoundInfo lci = cPrim.LinksetInfo as BSLinksetCompoundInfo; - if (lci == null) - { - lci = new BSLinksetCompoundInfo(memberIndex, LinksetRoot, cPrim, centerDisplacement); - cPrim.LinksetInfo = lci; - DetailLog("{0},BSLinksetCompound.RecomputeLinksetCompound,creatingRelPos,lci={1}", cPrim.LocalID, lci); - } - - DetailLog("{0},BSLinksetCompound.RecomputeLinksetCompound,addMemberToShape,mID={1},mShape={2},lci={3}", - LinksetRoot.LocalID, cPrim.LocalID, cPrim.PhysShape, lci); + cPrim.LinksetChildIndex = 0; + } + else + { + cPrim.LinksetChildIndex = memberIndex; if (cPrim.PhysShape.isNativeShape) { // A native shape is turned into a hull collision shape because native // shapes are not shared so we have to hullify it so it will be tracked // and freed at the correct time. This also solves the scaling problem - // (native shapes scaled but hull/meshes are assumed to not be). + // (native shapes scale but hull/meshes are assumed to not be). // TODO: decide of the native shape can just be used in the compound shape. // Use call to CreateGeomNonSpecial(). BulletShape saveShape = cPrim.PhysShape; @@ -486,7 +467,10 @@ public sealed class BSLinksetCompound : BSLinkset PhysicsScene.Shapes.CreateGeomMeshOrHull(cPrim, null); BulletShape newShape = cPrim.PhysShape; cPrim.PhysShape = saveShape; - PhysicsScene.PE.AddChildShapeToCompoundShape(LinksetRoot.PhysShape, newShape, lci.OffsetFromCenterOfMass, lci.OffsetRot); + + OMV.Vector3 offsetPos = (cPrim.RawPosition - LinksetRoot.RawPosition) * invRootOrientation - centerDisplacement; + OMV.Quaternion offsetRot = cPrim.RawOrientation * invRootOrientation; + PhysicsScene.PE.AddChildShapeToCompoundShape(LinksetRoot.PhysShape, newShape, offsetPos, offsetRot); } else { @@ -498,9 +482,10 @@ public sealed class BSLinksetCompound : BSLinkset PhysicsScene.Logger.ErrorFormat("{0} Rebuilt sharable shape when building linkset! Region={1}, primID={2}, shape={3}", LogHeader, PhysicsScene.RegionName, cPrim.LocalID, cPrim.PhysShape); } - PhysicsScene.PE.AddChildShapeToCompoundShape(LinksetRoot.PhysShape, cPrim.PhysShape, lci.OffsetFromCenterOfMass, lci.OffsetRot); + OMV.Vector3 offsetPos = (cPrim.RawPosition - LinksetRoot.RawPosition) * invRootOrientation - centerDisplacement; + OMV.Quaternion offsetRot = cPrim.RawOrientation * invRootOrientation; + PhysicsScene.PE.AddChildShapeToCompoundShape(LinksetRoot.PhysShape, cPrim.PhysShape, offsetPos, offsetRot); } - lci.Index = memberIndex; memberIndex++; } return false; // 'false' says to move onto the next child in the list @@ -509,6 +494,9 @@ public sealed class BSLinksetCompound : BSLinkset // With all of the linkset packed into the root prim, it has the mass of everyone. LinksetMass = ComputeLinksetMass(); LinksetRoot.UpdatePhysicalMassProperties(LinksetMass, true); + + // Enable the physical position updator to return the position and rotation of the root shape + PhysicsScene.PE.AddToCollisionFlags(LinksetRoot.PhysBody, CollisionFlags.BS_RETURN_ROOT_COMPOUND_SHAPE); } finally { diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs index de69fa0699..8ebb532183 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs @@ -136,6 +136,7 @@ public abstract class BSPhysObject : PhysicsActor // The objects base shape information. Null if not a prim type shape. public PrimitiveBaseShape BaseShape { get; protected set; } + // Some types of objects have preferred physical representations. // Returns SHAPE_UNKNOWN if there is no preference. public virtual BSPhysicsShapeType PreferredPhysicalShape @@ -150,15 +151,17 @@ public abstract class BSPhysObject : PhysicsActor public EntityProperties LastEntityProperties { get; set; } public virtual OMV.Vector3 Scale { get; set; } - public abstract bool IsSolid { get; } - public abstract bool IsStatic { get; } - public abstract bool IsSelected { get; } // It can be confusing for an actor to know if it should move or update an object // depeneding on the setting of 'selected', 'physical, ... // This flag is the true test -- if true, the object is being acted on in the physical world public abstract bool IsPhysicallyActive { get; } + // Detailed state of the object. + public abstract bool IsSolid { get; } + public abstract bool IsStatic { get; } + public abstract bool IsSelected { get; } + // Materialness public MaterialAttributes.Material Material { get; private set; } public override void SetMaterial(int material) @@ -185,14 +188,6 @@ public abstract class BSPhysObject : PhysicsActor public abstract OMV.Quaternion RawOrientation { get; set; } public abstract OMV.Quaternion ForceOrientation { get; set; } - public virtual float TargetSpeed - { - get - { - OMV.Vector3 characterOrientedVelocity = TargetVelocity * OMV.Quaternion.Inverse(OMV.Quaternion.Normalize(RawOrientation)); - return characterOrientedVelocity.X; - } - } public abstract OMV.Vector3 RawVelocity { get; set; } public abstract OMV.Vector3 ForceVelocity { get; set; } @@ -202,6 +197,7 @@ public abstract class BSPhysObject : PhysicsActor public virtual bool ForceBodyShapeRebuild(bool inTaintTime) { return false; } + // The current velocity forward public virtual float ForwardSpeed { get @@ -210,6 +206,19 @@ public abstract class BSPhysObject : PhysicsActor return characterOrientedVelocity.X; } } + // The forward speed we are trying to achieve (TargetVelocity) + public virtual float TargetVelocitySpeed + { + get + { + OMV.Vector3 characterOrientedVelocity = TargetVelocity * OMV.Quaternion.Inverse(OMV.Quaternion.Normalize(RawOrientation)); + return characterOrientedVelocity.X; + } + } + + // The user can optionally set the center of mass. The user's setting will override any + // computed center-of-mass (like in linksets). + public OMV.Vector3? UserSetCenterOfMass { get; set; } #region Collisions diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs index cf7aa0fea4..a76f8b9844 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs @@ -442,7 +442,7 @@ public class BSPrim : BSPhysObject RegisterPreStepAction("BSPrim.setForce", LocalID, delegate(float timeStep) { - if (!IsPhysicallyActive) + if (!IsPhysicallyActive || _force == OMV.Vector3.Zero) { UnRegisterPreStepAction("BSPrim.setForce", LocalID); return; @@ -647,7 +647,7 @@ public class BSPrim : BSPhysObject RegisterPreStepAction("BSPrim.setTorque", LocalID, delegate(float timeStep) { - if (!IsPhysicallyActive) + if (!IsPhysicallyActive || _torque == OMV.Vector3.Zero) { UnRegisterPreStepAction("BSPrim.setTorque", LocalID); return; diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrimDisplaced.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrimDisplaced.cs index 64013086af..b9f2cca22e 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPrimDisplaced.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrimDisplaced.cs @@ -44,72 +44,107 @@ namespace OpenSim.Region.Physics.BulletSPlugin { public class BSPrimDisplaced : BSPrim { - // 'Position' and 'Orientation' is what the simulator thinks the positions of the prim is. - // Because Bullet needs the zero coordinate to be the center of mass of the linkset, - // sometimes it is necessary to displace the position the physics engine thinks - // the position is. PositionDisplacement must be added and removed from the - // position as the simulator position is stored and fetched from the physics - // engine. Similar to OrientationDisplacement. + // The purpose of this module is to do any mapping between what the simulator thinks + // the prim position and orientation is and what the physical position/orientation. + // This difference happens because Bullet assumes the center-of-mass is the <0,0,0> + // of the prim/linkset. The simulator tracks the location of the prim/linkset by + // the location of the root prim. So, if center-of-mass is anywhere but the origin + // of the root prim, the physical origin is displaced from the simulator origin. + // + // This routine works by capturing the Force* setting of position/orientation/... and + // adjusting the simulator values (being set) into the physical values. + // The conversion is also done in the opposite direction (physical origin -> simulator origin). + // + // The updateParameter call is also captured and the values from the physics engine + // are converted into simulator origin values before being passed to the base + // class. + public virtual OMV.Vector3 PositionDisplacement { get; set; } public virtual OMV.Quaternion OrientationDisplacement { get; set; } - public virtual OMV.Vector3 CenterOfMassLocation { get; set; } - public virtual OMV.Vector3 GeometricCenterLocation { get; set; } public BSPrimDisplaced(uint localID, String primName, BSScene parent_scene, OMV.Vector3 pos, OMV.Vector3 size, OMV.Quaternion rotation, PrimitiveBaseShape pbs, bool pisPhysical) : base(localID, primName, parent_scene, pos, size, rotation, pbs, pisPhysical) { - CenterOfMassLocation = RawPosition; - GeometricCenterLocation = RawPosition; + ClearDisplacement(); + } + + public void ClearDisplacement() + { + PositionDisplacement = OMV.Vector3.Zero; + OrientationDisplacement = OMV.Quaternion.Identity; + } + + // Set this sets and computes the displacement from the passed prim to the center-of-mass. + // A user set value for center-of-mass overrides whatever might be passed in here. + // The displacement is in local coordinates (relative to root prim in linkset oriented coordinates). + public virtual void SetEffectiveCenterOfMassW(Vector3 centerOfMassDisplacement) + { + Vector3 comDisp; + if (UserSetCenterOfMass.HasValue) + comDisp = (OMV.Vector3)UserSetCenterOfMass; + else + comDisp = centerOfMassDisplacement; + + if (comDisp == Vector3.Zero) + { + // If there is no diplacement. Things get reset. + PositionDisplacement = OMV.Vector3.Zero; + OrientationDisplacement = OMV.Quaternion.Identity; + } + else + { + // Remember the displacement from root as well as the origional rotation of the + // new center-of-mass. + PositionDisplacement = comDisp; + OrientationDisplacement = OMV.Quaternion.Identity; + } } public override Vector3 ForcePosition { - get - { - return base.ForcePosition; - } + get { return base.ForcePosition; } set { - base.ForcePosition = value; - CenterOfMassLocation = RawPosition; - GeometricCenterLocation = RawPosition; + if (PositionDisplacement != OMV.Vector3.Zero) + base.ForcePosition = value - (PositionDisplacement * RawOrientation); + else + base.ForcePosition = value; } } public override Quaternion ForceOrientation { - get - { - return base.ForceOrientation; - } + get { return base.ForceOrientation; } set { base.ForceOrientation = value; } } + // TODO: decide if this is the right place for these variables. + // Somehow incorporate the optional settability by the user. // Is this used? public override OMV.Vector3 CenterOfMass { - get { return CenterOfMassLocation; } + get { return RawPosition; } } // Is this used? public override OMV.Vector3 GeometricCenter { - get { return GeometricCenterLocation; } + get { return RawPosition; } } - public override void UpdateProperties(EntityProperties entprop) { // Undo any center-of-mass displacement that might have been done. - if (PositionDisplacement != OMV.Vector3.Zero) + if (PositionDisplacement != OMV.Vector3.Zero || OrientationDisplacement != OMV.Quaternion.Identity) { // Correct for any rotation around the center-of-mass // TODO!!! - entprop.Position -= PositionDisplacement; + entprop.Position = entprop.Position + (PositionDisplacement * entprop.Rotation); + entprop.Rotation = something; } base.UpdateProperties(entprop); diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrimLinkable.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrimLinkable.cs index 989856201e..96f976204a 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPrimLinkable.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrimLinkable.cs @@ -38,6 +38,9 @@ namespace OpenSim.Region.Physics.BulletSPlugin public class BSPrimLinkable : BSPrimDisplaced { public BSLinkset Linkset { get; set; } + // The index of this child prim. + public int LinksetChildIndex { get; set; } + public BSLinksetInfo LinksetInfo { get; set; } public BSPrimLinkable(uint localID, String primName, BSScene parent_scene, OMV.Vector3 pos, OMV.Vector3 size, @@ -90,7 +93,6 @@ public class BSPrimLinkable : BSPrimDisplaced DetailLog("{0},BSPrimLinkset.delink,parentBefore={1},childrenBefore={2},parentAfter={3},childrenAfter={4}, ", LocalID, parentBefore.LocalID, childrenBefore, Linkset.LinksetRoot.LocalID, Linkset.NumberOfChildren); return; - base.delink(); } // When simulator changes position, this might be moving a child of the linkset. From 0194a3d890b95c8a29fcdf130c378e3a8a629c77 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Tue, 12 Feb 2013 15:45:44 -0800 Subject: [PATCH 576/851] BulletSim: fix density since the simulator/viewer track density in a funny unit that is 100 times real density (default 1000). Fix avatar drifting slowly when stationary flying. Fix for physical prims getting corrected for being under terrain when it was just its geometric center that was below terrain. Add PreUpdatePropertyAction allowing plugable modifiction of phys parameters returned from Bullet. Fix an exception setting GravityMultiplier on initialization. Update DLLs and SOs for good measure (no functional change). --- .../Physics/BulletSPlugin/BSCharacter.cs | 13 +++- .../BulletSPlugin/BSLinksetCompound.cs | 19 +++-- .../Region/Physics/BulletSPlugin/BSParam.cs | 17 +++-- .../Physics/BulletSPlugin/BSPhysObject.cs | 66 ++++++++++++++++-- .../Region/Physics/BulletSPlugin/BSPrim.cs | 55 ++++++++++++++- .../Physics/BulletSPlugin/BSPrimDisplaced.cs | 2 +- .../Physics/BulletSPlugin/BSPrimLinkable.cs | 3 +- bin/lib32/BulletSim.dll | Bin 546816 -> 546816 bytes bin/lib32/libBulletSim.so | Bin 1695699 -> 1700826 bytes bin/lib64/BulletSim.dll | Bin 694272 -> 694784 bytes bin/lib64/libBulletSim.so | Bin 1842163 -> 1843498 bytes 11 files changed, 150 insertions(+), 25 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs index 04fb05bad8..8dca7c65d5 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs @@ -83,7 +83,7 @@ public sealed class BSCharacter : BSPhysObject _velocity = OMV.Vector3.Zero; _buoyancy = ComputeBuoyancyFromFlying(isFlying); Friction = BSParam.AvatarStandingFriction; - Density = BSParam.AvatarDensity; + Density = BSParam.AvatarDensity / BSParam.DensityScaleFactor; // Old versions of ScenePresence passed only the height. If width and/or depth are zero, // replace with the default values. @@ -231,6 +231,15 @@ public sealed class BSCharacter : BSPhysObject PhysicsScene.PE.SetFriction(PhysBody, Friction); } } + else + { + if (Flying) + { + // Flying and not collising and velocity nearly zero. + ZeroMotion(true /* inTaintTime */); + } + } + DetailLog("{0},BSCharacter.MoveMotor,taint,stopping,target={1},colliding={2}", LocalID, _velocityMotor.TargetValue, IsColliding); } else @@ -869,7 +878,7 @@ public sealed class BSCharacter : BSPhysObject * Math.Min(Size.X, Size.Y) / 2 * Size.Y / 2f // plus the volume of the capsule end caps ); - _mass = Density * _avatarVolume; + _mass = Density * BSParam.DensityScaleFactor * _avatarVolume; } // The physics engine says that properties have updated. Update same and inform diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs b/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs index 1f66b56a3d..4ce58c7d75 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs @@ -399,7 +399,7 @@ public sealed class BSLinksetCompound : BSLinkset // Constraint linksets are rebuilt every time. // Note that this works for rebuilding just the root after a linkset is taken apart. // Called at taint time!! - private bool disableCOM = false; // DEBUG DEBUG: disable until we get this debugged + private bool disableCOM = true; // DEBUG DEBUG: disable until we get this debugged private void RecomputeLinksetCompound() { try @@ -430,10 +430,10 @@ public sealed class BSLinksetCompound : BSLinkset LinksetRoot.ForcePosition = LinksetRoot.RawPosition; // Update the local transform for the root child shape so it is offset from the <0,0,0> which is COM - PhysicsScene.PE.UpdateChildTransform(LinksetRoot.PhysShape, 0, - -centerDisplacement, - LinksetRoot.RawOrientation, - false /* shouldRecalculateLocalAabb */); + PhysicsScene.PE.UpdateChildTransform(LinksetRoot.PhysShape, 0 /* childIndex */, + -centerDisplacement, + OMV.Quaternion.Identity, // LinksetRoot.RawOrientation, + false /* shouldRecalculateLocalAabb (is done later after linkset built) */); DetailLog("{0},BSLinksetCompound.RecomputeLinksetCompound,COM,com={1},rootPos={2},centerDisp={3}", LinksetRoot.LocalID, centerOfMassW, LinksetRoot.RawPosition, centerDisplacement); @@ -463,7 +463,6 @@ public sealed class BSLinksetCompound : BSLinkset // Use call to CreateGeomNonSpecial(). BulletShape saveShape = cPrim.PhysShape; cPrim.PhysShape.Clear(); // Don't let the create free the child's shape - // PhysicsScene.Shapes.CreateGeomNonSpecial(true, cPrim, null); PhysicsScene.Shapes.CreateGeomMeshOrHull(cPrim, null); BulletShape newShape = cPrim.PhysShape; cPrim.PhysShape = saveShape; @@ -471,6 +470,8 @@ public sealed class BSLinksetCompound : BSLinkset OMV.Vector3 offsetPos = (cPrim.RawPosition - LinksetRoot.RawPosition) * invRootOrientation - centerDisplacement; OMV.Quaternion offsetRot = cPrim.RawOrientation * invRootOrientation; PhysicsScene.PE.AddChildShapeToCompoundShape(LinksetRoot.PhysShape, newShape, offsetPos, offsetRot); + DetailLog("{0},BSLinksetCompound.RecomputeLinksetCompound,addNative,indx={1},rShape={2},cShape={3},offPos={4},offRot={5}", + LinksetRoot.LocalID, memberIndex, LinksetRoot.PhysShape, newShape, offsetPos, offsetRot); } else { @@ -484,7 +485,10 @@ public sealed class BSLinksetCompound : BSLinkset } OMV.Vector3 offsetPos = (cPrim.RawPosition - LinksetRoot.RawPosition) * invRootOrientation - centerDisplacement; OMV.Quaternion offsetRot = cPrim.RawOrientation * invRootOrientation; - PhysicsScene.PE.AddChildShapeToCompoundShape(LinksetRoot.PhysShape, cPrim.PhysShape, offsetPos, offsetRot); + PhysicsScene.PE.AddChildShapeToCompoundShape(LinksetRoot.PhysShape, cPrim.PhysShape, offsetPos, offsetRot); + DetailLog("{0},BSLinksetCompound.RecomputeLinksetCompound,addNonNative,indx={1},rShape={2},cShape={3},offPos={4},offRot={5}", + LinksetRoot.LocalID, memberIndex, LinksetRoot.PhysShape, cPrim.PhysShape, offsetPos, offsetRot); + } memberIndex++; } @@ -503,6 +507,7 @@ public sealed class BSLinksetCompound : BSLinkset Rebuilding = false; } + // See that the Aabb surrounds the new shape PhysicsScene.PE.RecalculateCompoundShapeLocalAabb(LinksetRoot.PhysShape); } } diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs index 3e0b4bca12..329169f79e 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs @@ -49,6 +49,7 @@ public static class BSParam public static float MaxLinearVelocity { get; private set; } public static float MaxAngularVelocity { get; private set; } public static float MaxAddForceMagnitude { get; private set; } + public static float DensityScaleFactor { get; private set; } public static float LinearDamping { get; private set; } public static float AngularDamping { get; private set; } @@ -281,29 +282,35 @@ public static class BSParam new ParameterDefn("MinObjectMass", "Minimum object mass (0.0001)", 0.0001f, (s,cf,p,v) => { MinimumObjectMass = cf.GetFloat(p, v); }, - (s) => { return (float)MinimumObjectMass; }, + (s) => { return MinimumObjectMass; }, (s,p,l,v) => { MinimumObjectMass = v; } ), new ParameterDefn("MaxObjectMass", "Maximum object mass (10000.01)", 10000.01f, (s,cf,p,v) => { MaximumObjectMass = cf.GetFloat(p, v); }, - (s) => { return (float)MaximumObjectMass; }, + (s) => { return MaximumObjectMass; }, (s,p,l,v) => { MaximumObjectMass = v; } ), new ParameterDefn("MaxLinearVelocity", "Maximum velocity magnitude that can be assigned to an object", 1000.0f, (s,cf,p,v) => { MaxLinearVelocity = cf.GetFloat(p, v); }, - (s) => { return (float)MaxLinearVelocity; }, + (s) => { return MaxLinearVelocity; }, (s,p,l,v) => { MaxLinearVelocity = v; } ), new ParameterDefn("MaxAngularVelocity", "Maximum rotational velocity magnitude that can be assigned to an object", 1000.0f, (s,cf,p,v) => { MaxAngularVelocity = cf.GetFloat(p, v); }, - (s) => { return (float)MaxAngularVelocity; }, + (s) => { return MaxAngularVelocity; }, (s,p,l,v) => { MaxAngularVelocity = v; } ), // LL documentation says thie number should be 20f for llApplyImpulse and 200f for llRezObject new ParameterDefn("MaxAddForceMagnitude", "Maximum force that can be applied by llApplyImpulse (SL says 20f)", 20000.0f, (s,cf,p,v) => { MaxAddForceMagnitude = cf.GetFloat(p, v); }, - (s) => { return (float)MaxAddForceMagnitude; }, + (s) => { return MaxAddForceMagnitude; }, (s,p,l,v) => { MaxAddForceMagnitude = v; } ), + // Density is passed around as 100kg/m3. This scales that to 1kg/m3. + new ParameterDefn("DensityScaleFactor", "Conversion for simulator/viewer density (100kg/m3) to physical density (1kg/m3)", + 0.01f, + (s,cf,p,v) => { DensityScaleFactor = cf.GetFloat(p, v); }, + (s) => { return DensityScaleFactor; }, + (s,p,l,v) => { DensityScaleFactor = v; } ), new ParameterDefn("PID_D", "Derivitive factor for motion smoothing", 2200f, diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs index 8ebb532183..f953c1e085 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs @@ -99,6 +99,9 @@ public abstract class BSPhysObject : PhysicsActor CollisionAccumulation = 0; ColliderIsMoving = false; CollisionScore = 0; + + // All axis free. + LockedAxis = LockedAxisFree; } // Tell the object to clean up. @@ -172,7 +175,8 @@ public abstract class BSPhysObject : PhysicsActor MaterialAttributes matAttrib = BSMaterials.GetAttributes(Material, false); Friction = matAttrib.friction; Restitution = matAttrib.restitution; - Density = matAttrib.density; + Density = matAttrib.density / BSParam.DensityScaleFactor; + DetailLog("{0},{1}.SetMaterial,Mat={2},frict={3},rest={4},den={5}", LocalID, TypeName, Material, Friction, Restitution, Density); } // Stop all physical motion. @@ -220,6 +224,9 @@ public abstract class BSPhysObject : PhysicsActor // computed center-of-mass (like in linksets). public OMV.Vector3? UserSetCenterOfMass { get; set; } + public OMV.Vector3 LockedAxis { get; set; } // zero means locked. one means free. + public readonly OMV.Vector3 LockedAxisFree = new OMV.Vector3(1f, 1f, 1f); // All axis are free + #region Collisions // Requested number of milliseconds between collision events. Zero means disabled. @@ -416,9 +423,7 @@ public abstract class BSPhysObject : PhysicsActor { // Clean out any existing action UnRegisterPreStepAction(op, id); - RegisteredPrestepActions[identifier] = actn; - PhysicsScene.BeforeStep += actn; } DetailLog("{0},BSPhysObject.RegisterPreStepAction,id={1}", LocalID, identifier); @@ -464,9 +469,7 @@ public abstract class BSPhysObject : PhysicsActor { // Clean out any existing action UnRegisterPostStepAction(op, id); - RegisteredPoststepActions[identifier] = actn; - PhysicsScene.AfterStep += actn; } DetailLog("{0},BSPhysObject.RegisterPostStepAction,id={1}", LocalID, identifier); @@ -503,7 +506,58 @@ public abstract class BSPhysObject : PhysicsActor } DetailLog("{0},BSPhysObject.UnRegisterAllPostStepActions,", LocalID); } - + + // When an update to the physical properties happens, this event is fired to let + // different actors to modify the update before it is passed around + public delegate void PreUpdatePropertyAction(ref EntityProperties entprop); + public event PreUpdatePropertyAction OnPreUpdateProperty; + protected void TriggerPreUpdatePropertyAction(ref EntityProperties entprop) + { + PreUpdatePropertyAction actions = OnPreUpdateProperty; + if (actions != null) + actions(ref entprop); + } + + private Dictionary RegisteredPreUpdatePropertyActions = new Dictionary(); + public void RegisterPreUpdatePropertyAction(string identifier, PreUpdatePropertyAction actn) + { + lock (RegisteredPreUpdatePropertyActions) + { + // Clean out any existing action + UnRegisterPreUpdatePropertyAction(identifier); + RegisteredPreUpdatePropertyActions[identifier] = actn; + OnPreUpdateProperty += actn; + } + DetailLog("{0},BSPhysObject.RegisterPreUpdatePropertyAction,id={1}", LocalID, identifier); + } + public bool UnRegisterPreUpdatePropertyAction(string identifier) + { + bool removed = false; + lock (RegisteredPreUpdatePropertyActions) + { + if (RegisteredPreUpdatePropertyActions.ContainsKey(identifier)) + { + OnPreUpdateProperty -= RegisteredPreUpdatePropertyActions[identifier]; + RegisteredPreUpdatePropertyActions.Remove(identifier); + removed = true; + } + } + DetailLog("{0},BSPhysObject.UnRegisterPreUpdatePropertyAction,id={1},removed={2}", LocalID, identifier, removed); + return removed; + } + public void UnRegisterAllPreUpdatePropertyActions() + { + lock (RegisteredPreUpdatePropertyActions) + { + foreach (KeyValuePair kvp in RegisteredPreUpdatePropertyActions) + { + OnPreUpdateProperty -= kvp.Value; + } + RegisteredPreUpdatePropertyActions.Clear(); + } + DetailLog("{0},BSPhysObject.UnRegisterAllPreUpdatePropertyAction,", LocalID); + } + #endregion // Per Simulation Step actions // High performance detailed logging routine used by the physical objects. diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs index a76f8b9844..0323b0d39f 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs @@ -242,6 +242,45 @@ public class BSPrim : BSPhysObject public override void LockAngularMotion(OMV.Vector3 axis) { DetailLog("{0},BSPrim.LockAngularMotion,call,axis={1}", LocalID, axis); + + OMV.Vector3 locking = new OMV.Vector3(1f, 1f, 1f); + if (axis.X != 1) locking.X = 0f; + if (axis.Y != 1) locking.Y = 0f; + if (axis.Z != 1) locking.Z = 0f; + LockedAxis = locking; + + /* Not implemented yet + if (LockedAxis != LockedAxisFree) + { + // Something is locked so start the thingy that keeps that axis from changing + RegisterPreUpdatePropertyAction("BSPrim.LockAngularMotion", delegate(ref EntityProperties entprop) + { + if (LockedAxis != LockedAxisFree) + { + if (IsPhysicallyActive) + { + // Bullet can lock axis but it only works for global axis. + // Check if this prim is aligned on global axis and use Bullet's + // system if so. + + ForceOrientation = entprop.Rotation; + ForceRotationalVelocity = entprop.RotationalVelocity; + } + } + else + { + UnRegisterPreUpdatePropertyAction("BSPrim.LockAngularMotion"); + } + + }); + } + else + { + // Everything seems unlocked + UnRegisterPreUpdatePropertyAction("BSPrim.LockAngularMotion"); + } + */ + return; } @@ -311,7 +350,8 @@ public class BSPrim : BSPhysObject float terrainHeight = PhysicsScene.TerrainManager.GetTerrainHeightAtXYZ(RawPosition); OMV.Vector3 upForce = OMV.Vector3.Zero; - if (RawPosition.Z < terrainHeight) + float approxSize = Math.Max(Size.X, Math.Max(Size.Y, Size.Z)); + if ((RawPosition.Z + approxSize / 2f) < terrainHeight) { DetailLog("{0},BSPrim.PositionAdjustUnderGround,call,pos={1},terrain={2}", LocalID, RawPosition, terrainHeight); float targetHeight = terrainHeight + (Size.Z / 2f); @@ -576,6 +616,8 @@ public class BSPrim : BSPhysObject } } } + // The simulator/viewer keep density as 100kg/m3. + // Remember to use BSParam.DensityScaleFactor to create the physical density. public override float Density { get { return base.Density; } @@ -1569,7 +1611,8 @@ public class BSPrim : BSPhysObject profileEnd = 1.0f - (float)BaseShape.ProfileEnd * 2.0e-5f; volume *= (profileEnd - profileBegin); - returnMass = Density * volume; + returnMass = Density * BSParam.DensityScaleFactor * volume; + DetailLog("{0},BSPrim.CalculateMass,den={1},vol={2},mass={3}", LocalID, Density, volume, returnMass); returnMass = Util.Clamp(returnMass, BSParam.MinimumObjectMass, BSParam.MaximumObjectMass); @@ -1607,6 +1650,8 @@ public class BSPrim : BSPhysObject // the world that things have changed. public override void UpdateProperties(EntityProperties entprop) { + TriggerPreUpdatePropertyAction(ref entprop); + // A temporary kludge to suppress the rotational effects introduced on vehicles by Bullet // TODO: handle physics introduced by Bullet with computed vehicle physics. if (VehicleController.IsActive) @@ -1619,7 +1664,11 @@ public class BSPrim : BSPhysObject // Assign directly to the local variables so the normal set actions do not happen _position = entprop.Position; _orientation = entprop.Rotation; - _velocity = entprop.Velocity; + // _velocity = entprop.Velocity; + // DEBUG DEBUG DEBUG -- smooth velocity changes a bit. The simulator seems to be + // very sensitive to velocity changes. + if (!entprop.Velocity.ApproxEquals(_velocity, 0.1f)) + _velocity = entprop.Velocity; _acceleration = entprop.Acceleration; _rotationalVelocity = entprop.RotationalVelocity; diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrimDisplaced.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrimDisplaced.cs index b9f2cca22e..f1c3b5c1bb 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPrimDisplaced.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrimDisplaced.cs @@ -144,7 +144,7 @@ public class BSPrimDisplaced : BSPrim // Correct for any rotation around the center-of-mass // TODO!!! entprop.Position = entprop.Position + (PositionDisplacement * entprop.Rotation); - entprop.Rotation = something; + // entprop.Rotation = something; } base.UpdateProperties(entprop); diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrimLinkable.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrimLinkable.cs index 96f976204a..d65d40798e 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPrimLinkable.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrimLinkable.cs @@ -135,7 +135,8 @@ public class BSPrimLinkable : BSPrimDisplaced // When going from non-physical to physical, this re-enables the constraints that // had been automatically disabled when the mass was set to zero. // For compound based linksets, this enables and disables interactions of the children. - Linkset.Refresh(this); + if (Linkset != null) // null can happen during initialization + Linkset.Refresh(this); } protected override void MakeDynamic(bool makeStatic) diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index 4dd2f3880dd9bdd61468141b9859c2a152c6cf29..e7a8a41ec0474c5dc98bff3cc2b99a5a41b72de4 100755 GIT binary patch delta 30521 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 E7t5m3K>z>% diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so index cb8742af34221367d0d3931fe67cb55dbedb608a..4bf23a64961454b64109b15510694e47c62302ef 100755 GIT binary patch delta 461720 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%0AM7l*VgTM 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®pyvnB-YjS{7y`Bc zBf&OcBG?7Y0Q-P>U>;Zj21minzs6NE7zTEm2y6M;40C|69u7mm955Wb07ik8;62c5 zFV={Y&_duyFcM4xlfjK(Cb$zk1MUUOz!K1~5AneO(Dy@_H&_M6gY~0fre+8s5RQOR zUk@ zMg9xXMPTtFwA2A)xCAW)rZ0mMf=9qKumIda{$MU>SdRFh&vKgoAq-i8CKnNKHTnuP zq+x&nYu2G}!GQHpCgLU(EEnN7W4;HAKf|~{=U+m*!Qf29KZpYEMOT68`(U}_h13I5lnc13W4Ty2p1p(KZJRK#h~v|M65&~g5?(U z9T+ToY{?`xcx+J~Lqebo1u6#J!E(?atO0|G9*->v2v_d;*s=qx0SmyGMvpCJV3s$+ z9f$p=HhydweH=~Z``EG`4DR&UQb^~4k1gfIF32bk5kYq_wcBG$Aeat@f(2kWSOdm@ zKHVQ%62Vk39Xt~B*pdwvfG5Ery-|S^=*qrG=Y$y%LLXaV;ZQRG5kQ|Ik1c1wBcmT% zG~a`7Kej}G0ZSiSGU$B!V@oNRm4zDQqaa^Dwj2Rt_M>KCDj0$qrh}uYreHL91k42s zz<7l7`3C8mPohNMKDKNGv%oCyNX}zR9`U=!mJ%@F07`rc=b%5BE~f37<>=~ z`#-+k2QI2A;r|Dm89^s5Dk|cLqoR^dMn%TjWN1{>PDMpUHnr5UEwz)8kx@-TNkr~s zXyl=qb*ZS>b~049s3yZ=TdK*WmRhzZV~Z{7nOy2Y9dO|O-e>M024DdU zK|3_=qk_-`Jpbhpw2ONN2So}WmZ_|~M9kdMe!Vt9Wr^!FSf0ulr{oSKgYB|D> z(F#Mb6WThDs)NuA?H`ixuXGIzK|gfAcT_d`@c(vHwLz87*Z)=&}UWI_NorbT9zpdWg>n zs;STiv!FXSs20NzbjbKsLA6@OpB+@)(3nTd!NA&}Iw-$pbLLaSPf2(|P%VI_0{RYG zU^%p1LW9^O=;k+&Hul5=ozM&Gp-UN7 zz0eKY{S*i@zhsYLE(}2%v`rgU%b^_(NFSyhWc%sEsvUZuQ-)^@SE)@1-@IY9AKDfT ztCp|W^JT+o1@x|@AZW`a9){Kqt66>QS>dqifOhDD4%jDoD;4=S1wbD=;)Q+C2Zx{^ zCQ|VLG{MlVRl{mF!uY#kH6NN_F|HpUMLRRhfbz?NaPWPm;SJsCr* zYgp}s{-@{)`Z53=Fa)ci@#$f;0h(Y7v_LPk!ft4T{m>4B&;gCKpc9&9%fcM!h6P_& zv4;q|Y+_greXs`lp@$X-zz!IK&D7lGrXaZoufOgnN1sre)I$@QSj9rLAXnKix4&AU#76`kb_sJ4(T7Ff-o1lUS<|S4{U}9k3ZXVLNoe>YvyF*Z@7S1$vr z5Zd0PBLB+JKoH(MEKx@*7S_kb@M%1(*8%`Zj?a&6D&}bY{o1t&Uh#EIcIF)p=E1(71 zU>>x?BH0zN3_76`dSD~;LJzF+AvzF#*aHJ_0ES>AO>Ue?LTG{=&;om)6%Iff3_&|A zl3fDJWS2mv>=NjMZrBGsa0q%~;!n(fAHqbR_+d5-zx48cxlKVwAghhC_oMI1Q{F6e_cXgPC4bwC$%!2t9?>&g+eotCme zAGAZ$80la=VK;1s9@q!HD@Ur-A%qVjk%WF|h1RoZLKuR6X!`{jsl>y4=w3wypoPE5 zXn-N;mHs*GSzLTv0Oms1YFZ3>3Mm*mt{72`@$qrSYe&>VXuGy*L@h-)Fe;%7_LI;J zgK|UY!gsG@@IWu@fzIpbs)YDBKg@vvSRli8x&qp-XV5~^O%yaKKF)GG>7l7|L~W5_ z=!MQIL<$eV_rqKmx|a$;_kC1^1Rf`QNZ1QoWc()j656PEo}PGE2JO}CIdnWgSHckN zfTjnju;gaq4aCD-=!Gq?%34E#2%n2RnM}l^Oe5%r4(QuT-$~XpxS)00h}tFNpJb5o z`XBF3Dk`^!LFk7@;sekOL$G=Z@qc8Gp`(fLRPuR->6{o}6=z4(laT{9Lnmy9F6e{S zXBo9gvKL4XCLP+Mwr83?}G@xkf7TGJ60mupT;EX=><%12C|MS#uIC0P~=0FD(sC zZA@Eef$l1V710W9uooI%W!fcE0ce6Am=BGwQBmlF&C+jYc0lLr?4bhRpdjdlCD8aL zgBm(uJq$oEw0jxM?1%$abs?MxzuZF@f?k-y9{6A;^utan7J&UJ`1|muvEAFOe9*t2 zicM!n-eI;tH}t>|9Fi4zm+8%RCTN0QmQacpp#K96a1A?2`$hIt*{%~U;zc$ zVFL`ocIbGI3PC3fLJv%%U@x@50JK5V->3+*LgNh5!5nDmV){4`t}gln`rfB2pdWTZ z?}rRRHuS+h=!eDl0qEd?2BweLQ)vDBh&m|4-3(IRCgS~scxd~Scxdcp+Cr0`gWN3A zf61`|daAynFA&D>*#pTR=8#F;X%!Uq_51p_Wx}cf#e%P2s z{EsX^b7(PG0o{l2q4mGCFsyPTx@Cevrdc{o@-s~h-LMAwV2{iY4!{5mLDLXTNC6gD z0Bz7N3xws+1#6%ic0mvHLq80`08E*~{5KtDPpE(m`eX%;um^JqA7vCnJFI{XSO-I} z6^Ta)dz!t;g67I-nc6LiqEj*ccU@$NcxJOeYEsz;+mdgCumu z9aGat7=o?P5`RqXguaAhsxAY6(lNCf+7pkd9ncN?qz`rTso2zGss%cs4c`Szpcm%h z`(RNO!eu}L=!g9<1cT6c$}yFvYQ&kK8MhQA^FCy@8rT4-CK% zY>*p1L5n~;^uiGAm*E{$WChy`#t302bU+uZhHj`M-UADvA2vc`<1y8L#BMY=y@EVFiUI*b6QH!~72*tQc`@;D#odfefET zg2m1;=p<~1^)el_<2zwFbg5MgB7`5K z2?n4ahTx#2E~IAvf(@pH)H>*eZTLRe1^uuE-!vnndZ7*ap=EwZHLjusp%vQ9A+-$J zp%eNSvi;fQTeXyo&!J|^LTV@U!9E$bkRb`3up4?{KlH*Nw4M@D&17JMIWi+y2wkug zdSE5=LKpPGCg_K4FaT4n%>NLACz-`rR)o|7XoqFc1?!;W)R5W%joBf!2ZnM&szp}x zObUYTmF(eaGR_OBjW7fgp>a(}H9;%%Kp*r=KR=}E&Lv-%b}sYZdVWaF!*IeK`_nsOd{vVlE^{yRhbkq8A;;O7&6S4ho=-i;x(0(vSb7&`Bvt7JU1oX__6 zhExYMIYVlL1PLs!D6Iv~Tk(JIw)2?-KM)f(uBjnJArs_HH!!L(5|ABJEtv`imW z9g;K15Sr$Us)?7;_j52 zsfFwjEQ6-`qiQ|$Ln{oJsW~(*7*#_uejydSoB|h*@|P2&0U> zR4suXSSj;?ZER<}eN^p&4mc=TPWr3J7h0k7PFfsRdGBHaglXfb>X!+i?rI9SdsMYR z2Q5?%1F#vos@WsxfdS~-OogwZz=y~fT3`{hLMODrdT58u&;i?_6Z)=U{<{!;7^YeZ zE+zw*2CdKnZ7>hoVG(pdC-iI?RXs2Sv#urn_p|^s?HyHnp$!J02d1o}OJN!1_$1lR z4||H4|E@Or62twMQMHf_{BMk^nQUNrb5ylKD|A5@Y?J)QD1Z4tMS3XsItu!VE+B00 zBV)o2=!8yK58bdChG0ANeNBbzY69KgvFF#b;V=~;Y#A9WLP(*ns1;Bvd7elU(o`v4!Uy2)IR9FXiP0EA)m{~)JAB%VoYryz5S*! zwJLzH-7>~sG7zz0Ozj|n?@ls?riw8&@kS~HO)%u70?>Xx1;N0kG1UW&kB+Ijn<(IM z;$dhf`9SL*sQ|RYA?SdKza~Fuf}TH)Rq+P}G&x2-48US&Y#LJ?&<5+F{h2Y<3qvpj z1J4m(3SS&kTcK|^8UKd#JU_o48eb<5d1woeE4+Rr4+E zd9unMr?Wk5h8{&#{m_-6s$I9zvYS*j^LL~#eN0sy2-8kgEuqG~CRI%&f#q3MwL;@_ zs_KMx*aWT3s_K&)!anGSItNYryviS=ll}!&wL#OLc@h!~yrS~+-ItFgFVgoN8B&|X zr^k}#Csf@flFv~x45e}W>hvzLVumtHWQURy6CS>cR}&;JOz_?%Zh-oC?mDbqDYo69 z%ogS|6rE@aCF>G?x=Xwu6J4-TY+9|P>vQ6{6DxL)CC}b5nw%J4Ad*HYtWqmKRmbo4cv~-(*5{zd#O~4Lx%wjH4|130>MM|+ zXl?^?pC;RoFNLL{2f5?!C$=aV2`}6oZa_n-o_pkXKk)&U`)-jujh-pSk~&^ln9zQ= zI9-zG0nv!*qC8$nlr=gqg(j*epr2LAAJmBj3Cax78n2}4ml3`~hEv6t@yZN+A>l1r zIEh3FyDCLSg0d_=U0jr)%uiT%kJvhe*6lIyo4nr{BCPvgv38QOETO_F*28$6cyf}mJR$P| zk*rhFMc*W_jOvaMEZgj13qKCJ$O>~+tI zXASJ{u7|||89(x{_#vIqlQNk)rPhh$xw1}E`Q2-sIB*+N=;F7E-BZzdQdf&@QkO{0D}1G{miksL zeUsEBn(mPLYEAb^Z4)1pen%2=RagqM)LEL&lX{kxWr@^@vZ&d@nWQAf$BBoMsH-^~ ztxrv6E`%$h&p}QJyM`iU=wY#G7GtOaJtTG;mAQrnZ)FJnm2bbWoTT^u|HQkA z|KQ=MHN~qHFtNz^FRFMSwCdTB<&nfrbeU$mk?S;ju@`*> zHJTG$?fX{U}yCq6L2AgH!4G~Tx&U1r)(aErG*9Fyp)=1fda!WZW85ANVg}@eVCW>qsxQi($m%`>$)^;M~?CwI7|E3i3d^S>n4w?8* zk;FMOnevee6r*1W`wJ6x)ye}~hA5my;%_1eI!W+DWWxdU_qAf@G;$u)Jkci;|2LAj zXcj+gjwG%`(=98elQ=|mCNty9r<0gKxQ**&V1N|z$m*G{Bu@E+N0w}1Fz6b@zUeGx zmWSmUm0>8F&5!XP*4Bwi^bHTojWRfjUNVC<>sFW63j;*m;SxJ%P-3~}iM|;Wa<@xs zrJ^)`0PYe~Qb|zh5-TKYNO%!tbP%`IC0i}S(2s76WSYq6{G&_kTd2&}BX=TGnV&Ya z+a(UBlDr%pbcuwS%0hi3+A2<-smwQck)@A{OJ_2L`_MV!4r%Ms`LnpKQS&SlBX?_f zH8A9(vm?3`ofXkFXmdn2qtmnulH_5fldwTtHA`7!2q4QN$&7QEbm3&_1`GP?tzzFS zYFmh|i7vk!V?(r2k5Lk3=vy%^6>DZIbC+}@?OPA4^P=bMwc4CD;|&tOE?iRj6d6us z>8aZ)UYJeEx#)vi#Rs!#rxLV9{4|?N*CFqHOr)pLP9C&QoRda7bt5b4WoM;NLB(M92WiZjV@%RAJA760uH&04<^W8PFL1d*fNn;kL&1DJ8M<$2ml2T-dE&s2j z+RRop#825S4&*ZDv(q`fYr)9eF84QG--Vtoo=Ims29UEv{6)&#B)M72d{TvD3^~ZG z?cq_cFP2(-FE?-^*NT(oBAbvlt!5p_RpN44$v&i6lW}Be(CTYO4pCntg&g10f{BGX zkNCcA;dL?GRV9Rbw`nK7)o31Gc_GKgKF${PO@v>H3U?6RF%dTO5q@yn@zZUcA#MRb zuGkh?XVG_(F>8sT0KH+G_}s*7EJNQGN#jCSXlbfi!}|YjXxTm8#6S4|(-DKj*Ass; zX^-!??BeUSE~c(=sS7!o{lC+QH|HryhFlV)hC5F?S=Se1B#7_laS*RWj&0*aH(lR| zOcp0+;I>Q27J1AFKYEq8P1+%3*LJZrgS|H|;!nu5Bsb@yQy)L9{yMsr3BL;WkKD^r z;^iZYZag9W`s496#6Ly++0pTLYu#(cYbO5H$Hk`kO8PRHUl-vcr03^y6Rnc)pYR59 zK^h>wqd{ccpe!_`U<@?KZ8P*a=q&Nfd}XPj1Q~cj9FTSm`cmka zkjDCCc;%n$L;FUDMAbTFo_>%3r@{-A`6+G8uI48XtM`$Q?#apVBIOn(Exf4ZEnz-9 zsU0gy(PK}BPt+FIp%b4vtezZQ@^Ai1!!WDxT8N)6W^yPo_>e2z+G-X+FVys8<5I5j zLPO%Q>y(+Iej#(;g7f3k+W0R-4?V4o{|ZgZlaVuIuQU*TJT#=wLSiVSEoHW2jhcR=-k9uZk`65L(*~le9676yBa%G+&n}B&#>|CTQnQTWF zXc2S5?NE*Jt5I=ik&>~z8U4WMkh+cRPnaro6RqAwnnPsp_UX#J$pHe&7<;;sVp3?b zg=1nx=P2{4(w6a}5Ax*rI8nQ+CweBA`2ED!M90f9bB|2(Zn*dCq*l6H;@P~_)Qw+Uqu|8gmEoQRBE$2yC@nV-n znKeZw>>%M&@#2Cd$_hgfadQ*Iy-Qf`Qkf6t1o4#gTkvn6Bn~X0VI27DCyAe>--K?^ zi6u+XawLk78_;(oiu5dW7kXckxK!#8 zdizxIpw#uJ@K=0B@oED7fs8^s0QN~)5J^5l!ePYXxp^I zYE^7aHcr%}n=~&@6GxVj*%12YX(D|&I*p#2JzcCuCt1-ert{=r?SlQD<%(h`!`nPv zY?WzU=;x2jryjq2G?AA4KodiZZ00&KYE+*j)4nTCsNIr;#Mp=r5+r`wCoWpa&w^ zbfLeCY#KoSsBM~Z23;DlbI@a&U5wJzcs{eEJa4w7bPs+e^uwN1@ou+P*QFBg5|OmXNGWqu;^w=)l` zXNgPZaPX)mc<;<`%?!=xhKTM$?+WYrS;#K7_)ToV*H09jawa<{9ypZ)Ru0k>mWE>F zsk5{(=R~hU)5V4+bRN&kl~-?_=yPXjXP5)%Lj2R15XP09`pn`%G%=;#r?paeRmvuf zE0TW^T14`%ME@b;yU{HX-GSa4Nz;#hJyM6nv$&n0`Faa_pRE22(X>)A8VU)2JWGt7 zNnI<@>MU_E2i=IynJxC6&QSNFubO?r+)L`it2xm#=yEB4wsu{Yh5kIEZRq$k%`Zo1 zMRWuDvNU-v%$Yd)mNaotUK9G!JJGTpalha}pJ`hCGSTsKG+lr`b&gms(>Tztg#C1d z>ET8& zIM5k$!-Xf+qiu5!tLw$b1_oIh!5vzZp%>j5Nftu?Jdw=INto3nwyvbg`RL0`;#R54 z(4mO$LM!vMTDGF|=ZVi`njZAK5kH6yMzqPwtjW-tBoBREM3-hn#EHx_S`3)+}n1s6*;%W-I>L+z%-H1>5Ifl$pi4U$B-Hq3<$l^Q979 zVHPV^QQ12+Pn56XLVrUfK|cxZi0H&~xh9Ti3;OnmE<~?4%SAI?)U&an0^>Hbc#2&0 zZuFzFwlk*R88z8DuwOKbZ&y*; zhVyB;V)Q<4UY^fPsX_mKi#7`7Q#&_q5i2euO(`SqrY+)!^O=Q1_-&CislVjTVI)lt zX|`+;>n_lyRe#GSbk3OlZ)?k56jx zlgwujnKF@2Y9RwOl20yrk(N&}(x~NAiTwF-c_5mv*W|<=cVNUt_NEUVcw884G^Flw zzV&E`n$npVd0Ik!K6<&>|4Z^KL#`5!+GNd<3&qPeZkDzpyJ-vAUVikJ9a?*Z&>MGX z?Pb1#zgdg;dFWergl}{tm7*(l99B;gH=aTx)De7un=M>r=#lk1w2tmZ5ABF79Oy$k z#6AXqKJ`j2L`3{0+KoKDo?wfZScsB}Fx=w!_|0VRE3sY@V&|oFbQ9Xp7?r*QV}$g- z5ZhK#n|^{RjUr<)MI{!=`Xzx*d*tie4uG{qqe*9p{857 z_anbK^rAPAM&2Oo)AX*3@#C)I7Ffj3)O0v~J~}VrmuWhjz7D-a^YtF|Vy!j~#$1Z{ zsZd#-6vExkU8bmo!+bT%3>(P`=AqqM1@)!q=Vb=7MfL@XUQe(-(h?n)a};XEs1bj- zlu_BV>HSJHx&=qch4SJ1U?WV+ao zG;|Q_7a*5C86IBxGW0C*=#}K>Lh^F~DO-^@ zOF35zUP%pl2-iKS-MdXG!WhEX5Ha}egwBw9EvpN8%I~Ri(bZ3i8;X>SRd)0i?zQQt zi2RuNS1#jsA67ZfnmA#)PrIRI#;Pa2X}A2kpF0rfJ-fqSD;s*zzTMg>YzY1BZh2hQ zZe5z!G3dxMH9F5ic><=DnMeGg-P#&og8n?BtI_Z6)_wudgl>!I4)n7T-G{E0U@hPgG7CZRCgD>A;2_$7O^3YVj&?a|6@K&OcX z*HUh`i80?E4u4t9%x*=j)Is$yDgQiHaEWBi4KJ;qHh|PkrpduOo#S}AJ!?$^h3m%#53zSd}p!q?L?WxIoEL~JHLdf zuvhEEGV~|g#n$Vnc^!HK1xhWSL4508ao{?6>_fL~7bDkkf}p#R`(TfYWp*l&vL8zCyG6OHIeXRcqGfJxQVZLTD)Udmgu|C7V)E)p)FpPVS z9~^23E{tT>f?gs%Vl%xDY148TM6QdH+Z=IW~s~mbc0CYkt~yGnd<`zoV9I#}DdRY?6z$zD+yfDn)0#Di83pL=))^ zH5i!~@_^cmo`TLJvQI{KVx+zrzVy@gqi2abe#(9$z?hdQvC)jqw6!hYK0N>UvEi|BgaZ%GvdH?bIwAy`f$E z)khK9*{)q2RcbnXGOtPbW00f{bZz_bi;I4OPmz;6!%Vz`?`zt%18x@j!FKIPQh+Wa z4YS(dK+BS4`g%=||Kw9=XvL_DMD}QUB60|0yri@ZVNGPZJ{SFGaoR1M9Ty{aNXeJ$ z=QHHe7-m#r=WTMyB2Fhhx{V`j7cvkoX1-pN;gekBoh)LJ(z7F4j^sjgJHFKA=$(<> zsz=w5`xWd;8@i!A>L&`l7`tc-dD5=MW!z3WQw3{7d-w=)K?*%@C7hCQL^Yu0M|y>L zE?RhJ*wMUFykPthb!xKa!<*xlx`O zuM#gu{9yy@j~kgM_HW>j-HB}cr}$w54Hj3)Nkgw#a;LH?BM)ukEf3)aJ1^P%>tr3z zHe^l4FZGK}q|rB`GsRnXlA{-C7XQ9eIeSV7Sb!RwgIl-$CMd6?ozT0iTBbELt@2UtUWpC;9;>&>Jqg7h^W0wIsN=b zbSIB{jUGPojY%DN<3mNZK?j}}Z+v)U@pVFt(H!8CXiTANbqhiHIW!b!3 zbTbdvzl^l(I44gBUL`v%UA%j*a@suk*t;^G4Ezc4q)$sYkgT&J z1Nhlu+I@_6OEnG1vwJ^J7Gs7Klh|;dl2KKTY3JFj>G34yBkNOBO& z5misT{Kz_bs;N8PjPW`KZ${bNxrDP@aelPB=;x{DK#5jLsN;NApPm(*+gkd~%gvC4D>)%u< z3le;Xg`t|?@#lzBs+C16vLB*`B;m>{{E_XFj~B$#$7`MmWTA)tD>hX#XDW&B85BFK zIj47{&0>Ew)2ajM`bm6St(-n5h|Xbrj*oqLbTihij`7gC64kMT}j+VPt4#ydea zs(dd;Q;gS#=Z^7)@ET*h#78KXNAE`GXTmFt@v`w8hk0;xbi#bhvX~5u@k;TgQ!)9G z6?EXq9U1rJ_^!rt;@M;(mi>awlL~4RDwB2Zy&K*}zC6VL%cI8^T$xYXBXn4AjM+uP zo*2)M*B#~Mvhg6EodR!@Q`;oYd`OvXkS`#qKP;|zh_7*q&}B!CsE>*@?-BpxL!47I z;I-pDsC9DBL;RIb7hbCP@gZetx_mE5S1@vvqzKukiNEKZBPdqXDy!xcpfiV$sI&3q zCyRe}ylnA6Et9eiSu`wm)ha8}z38}$CwA9Nup2LQkvLMz*})LHn5?#oZO?Hn zazVb%q&>!~z)KrBp6)NCGqmAVj)>16<{Z8sohXv(lymi2kIK{eOX`%llM9eF>Jf2! zopOo6O`xMdyi>3s>Sym}t*=(`p_mtI)?#dA#{GJ1Ye5Z+v=TOhl zR^b^g4h$*V*nZ_v^(oD}5^rfCp6{%q>Q%Dx$A@4-o*aW_ta9S5mmC#UQ&Q$lZXm#d z6b=~L2{c?H4!V?uQ#)7$S*{7AsocS zo5Wp@DrYAYUMluH%CKuALD^+T)lsctM<1oKLwJej@E~q++AFfNw<`0~a~`J??>VZ@ zl$GUU;a>q>PoY@9RarKt60N&@V%;(m@4|}{yV=~(inL!YKHJLGxgTv7@sBCzPBAwy z#ENOE$zs>XjQX1&Q%*NjVs`#Y?0if~U(tx}|J6~ItBdd_h5zL%RSHXvs+UJRS(Oev zcZvA+F=g2b`HB^5=~4BXNW9!e_XMX4c>FzT_#+PvmMn2?y|P>{ zU&N9t9;v6+@?9)Lw~1Z#++S!%7u_xn)+-BF^r206@M!c%ZnA_Sy!H)8kDtwiC*uwl zjSXVOHbzJRy5UZ-ew(s7q5n>?YnyUut)y^nT(B&I%r1^kwaWcs+NCjP1&- zIjMr$5kECtcWole_qb$=OSZEP6d}8K@bUP`p=^-wTV42j$nEq^Bk}zkkE*|oY;J}g zygc#ocJ@-f=*3qlj%-&}PBu1jaK7iLm|CaI7gs#aY$?QXZaS*IrCk@)|IBqk!{dtC z&_G16M!fMj=QZ-xD*bPYF}XnqJ;+1Hf7Y%_Ry8QIlCq!VSj}_AleF`qI~$aFYs&Fl zJTqJl68VvhSc8|wbHm41YUwrNW#Ww=Vzco)cxLf&gL3NBKBVuXqv|84#fkrJ;W(A~ zgp#YbK1C{V;}gnn4e~84oqBQL3C?8Xn^=bQ;?NVE%MGF14I+I9SGA_68A7wf+8qqf z0(7dlZ3jz~3&{Z9p`2>yKsx4%Z+EbV{pjG_AlF^f-sUWAsZbUevfOm_$>LI>EUYR- zJ8Dn7I4H&I-8#{Qa?dL9dho{gOnNT7?ijBL&lj_88(tS)^m#%TUgy@}*(aEO%#N6i z2l2d7g_tN<_XnC|t60{kq*rC42Z&#cFIT1;xm=c&v*O1+Hn9_F1Pk%}rw7$@(Ap{3 zeaBD19K`jJ&pa8&N9IwD7l^4(1D-4|lJ3HA!WPV-n1o)uRtg)R2r|QNJWrHo#_Pvx zIbBS7lFOIGowPEK4UcYR6J9-ekIxvHPd1(_#>>a6i}8x_YGOPGUUifwXJ9p+P9`i za`ofl_HHh_-+PKb222y*Kc$?PWNc!FT^v-`il2rUf0sS2EKUerEjB*Q!N*BlNpVnp zN!<7pKdF1?X~t^@p6{lhnl8ud3=w)-$x6~aLkry=RL>CcAL8Y?6S)`dbc>U`5`O_fr&eu=uDc!S-`4}$^uL3Vo z=EFz!gaxlW#>>NVOnBOvdl6qW zc(Ijh!gu3GSFR1OC1(3Byk@-U%E=v(?{4zpC&&nRabT9BRm4&)i-f}|mI)|0#{Ks$n-^{jHH-u9wA zhTrk5a(0pnIp_|m_iE99Cpt;KDJt!cL3NYnEq#t#xz-lOO`EvsISznj=(aYo^*PQW z2b+TG*VI-)bNmsq`x$YBSVNGMHP6abDfKaujSiEfwO6OFdV07xt-x}bfQ+KYV+~#|-eQ?9a+s5o$Q{`}dYqc^+wdFr ziqD_tE=Di9bFUbCURjYO-)vRb7F4g&&X+HFfyG?D+^YOFvEc<}$%;yJh4;iAbIJH9 zPwqq$p1WPV$2RFcbVqwoy%b-5%>3)a3$+Wwi{V4T$uBBP6Utu~SG>sR>3Ut<`=YY? zszwj(^+r&gE4Sez+uDPd(sAOcf_z7oF~;k`%YAdAiRAJ>fR`gqYGE{Hy)3&zT-w4h z)rRhi>8cVuKi-shS+G`g1zzvI;PHFHvO0Bm{dm#c?3VfA<%YM^wr#}=EE!g3M0uTf z!6iIDKHBWX)GZx8-nFuj0A5^-7q^S%Bg3hY4CUENDjpgBpEr=Qi8IFJk&l`niYYlh>?D;%dDaPQnEVyQ*2fq;ihKOIVS$E093AK|F z&QI3;ErpvDg+z3d$VH-8wR;9LUs6t;llcmJgf~93ETqfD(~0X}QkJhML*~3a(aEy0 zoOsz$o*Azm&+@kT{3X_c?w9x`t_`ClY-G&oMQ1X4qRR-#OvJQ5E6b})tsHKN9&cz_ zMmC;(@kHZGFCVWs#w*4vit!wHg)v?=o(*p@`N&TS{~GWL77x!jUT_{}3ugb@;=rGk z)l~s>92+S>e&j}RyXln76TMWtV2qcA*ZJ;=!&bg$ts}-O#Ph~@rFiX`4BO~}D>2(* z3UT4J#&}J5o*1tUuO-Io!fTH4{CG`xQ{;}u8R<39aSF>!rkM4zvheD(J&cT)+FJ19 zV!S-O&^ssYy?jYrFv^olSQ%bLrr7#2_Z}M1UGD_N-+Q==-A15yJkUd6U_3BHfNX?% zP?<9)buWjxsBV?@4X%(!#7lN5i;@b7_EF?tUVODJ1;qJ(!b-GuZ(2=`LkKkExZvzPuXWyiLdr>P%LUyG84Lb#l5ZE zP;&o;-u+s<)5`kZg)aIJukK+>`H?&7$Lr1(3A?#3qkENxApS?~;CLyc)c+7_SkpG{*Db zmEbLju5|~dJt|=?Ez^7!O?ZkJd6nB!DPH#ARBfDv&#tpELMz49uW{qXj^@_(Yy4ir zi7b~=`{9h6VCz}po!8_oWpu81hNvCwTz~fytegny-eN#a1TzT+CxZC|bHy#~lu(K+ z5RbGgXK_1vf4g$coFGol8N=G2t5feZ{u%elGxXD5S7ujbA%}8L9D-K7LA>abghD)L zj8}?Ri5ERmEAcvG@^j&J;6*oS6P`DBc=~bEM7`QDbH%@2=R1ZTWFy%*Ig zmLKV*yu>}vOAxgGslV7En>z1o-f90 z#_Pfx9~ZLy+wnT1JTsmTul}Lo@b#{C$5Q?n;>9V+iJV)%TR2s2H%Jix zdGT7e@sc(1@tbz;Jo(5vS@Akzyh1!Lo*|ry^$(Ut z^7F`V4QGmHJC#}U8u4%to^R93D4uQSH8<8?%NGQV;>FWzTbe!IwTPBUH^?^!z} z%j09_UprpD`0}sH{Iz~$J+EDRM#k}x#mV=CTK;fi6?7kR$`s|vxtfMo(I8g8r>xW$ zp%cYD?t_&;bEdy> zkEEa6|E8>1A>T;a)Ouo%mEgJYIPngDh#*1!T zFP_YM+{+_fH=g?s;?gcWlkBra4YiJ6`&vT&bdGXwMIWoQ)&xKbmPcY|+ z_qvpf^iI6?=O@ycN!N?l_PiJ)ULQj9$cy)t`B$3{u=xuUEhwv=gI5>h72wsxcy_!L zUg|d9`dMsSj^}tm?0BC8xf>lP_P?*pj^`ltK8KW&7Lo7)Ynkrv>}ZQv_JOi8-YjnX zKshU+>rdjT5BL+|W}?b?b=^;LV9gf&AMjmyFJ6uq{Xm(!GKehV4R+^~HIpLX2v{ZeEaJ~{l8 zFKkT{b3Rhem~8oknY=eLHwp<@#a$mUkDSPAN*>=#4)A(BXWMZ2dM;hQ<5j+&FFHXd zUR|3w(8CvU{piMs*8PKBdqpfefS-wOiRgUvz$@Zb{8LJ$Zl4&TvhJ05{dnWeB)ipx z#}g|L@EFu)WR`gU0EcoPvYe`2)}qW?IY_|CX5&?p=W9A9c{|m;79GBJx`J6QKAd;Z$6x z9wdk1Zsp1(-DfP>Zw>RylJLR)!jI+Fc#UuKibEdn$#4H2`IxiA8oac3hE=_Gy!zY6 zeAU^7*Z)^>=wrSTO8h6w{(EA@C-TA>J=jI#iEVdtYbMJ2Nif-Uqt3X1A*R{1TA-12T9={94-D#nXNZ{A;<8V&y=~RS&`ZQIk8;}@hnkZ zA=#JWRnk9Si95D&UGS&RlvDNXcslXrXUf?tg2;Y$Jo-e&=-0Yz+>@uWW<38F;(~v2 zQ>p-+PZyklFF&&T?0DsPlfsVXmE$?^5~92syt1ftR^l4*_?7p*e==Zu(Vbt4v41LS z=b69cB#3u(%JSt$?oJL~7hak+t?uqs&g7i;zy$srXG1|*jis@jut^TDf zomYU&|7Q63@9|}!@|DLWcu$J`kI*j9{EI(ZaN~9KhYO!0-+Y|)i6<#KoU z$d>EHtH2vS_~+sU@XGPR7kD#7))$I-UREDt18;l`%bl>|4dQ*J-CMi=3w{aY#H&9v ztUctGH1cR!kLNxlUj2fjr5DYQ=f6;v&kG={4-ac!5|gZre{uh&(eZvO&x%dre82Lz zp&hSAFAn;Zj5&UEoMGhnfzU*75YHqY?Nes2lY5l%H8mqi^b(ngmmA~d;^oA6HoWX8 zPqs!0o;M^<5>KBm^LG;-)Q=o*iF~|Pynud0y#1+i&J;PVf*3;~k#SJ|?a?>Xe^gwG z))%8w#r+5QB~cxcrT3sRf3gSJVHgp2f5b(O+@)R&uB8qtb59M*EhbMCC#zuWXE&of zxrrIiIC(_7pPEO&L}32s%ABMU0=`k+^Q&EvKKB)?c@v&v>_o3m=Aa(;7WMInIrD$$ z4|P~v*r%+~ml5F0$3AXw)FG*SAE&rQapFLqvO@32iWBkwCN_lR*LcWzrf)e@nLg1Q za)Hjq^V5Q7Yrg?n|8FJz>N323T7Ek5@*{WCi8qL6mIfc`)#HWm##aaFHRA>GqQ_=C z-jG2Y{I{}dauA(EYy6j6&HA+OWX;d{TA6>c71^CQqCPD%=RPpsqFi1(>7s`d67CA0 z`($F5kj5q+`kF&j9kM@3?E0D;tZnFlDdO|5`NPm2bnjGN7$=W{^F;bLO2#c|1DwQV zP3*R;rUkDMFIg7HM|yd9mXwLAORoqoE5<9s%Z&15k2~?q;+bz~a5pkrlU`(=_&08n zA6dvo*K6NA&gWziD(UTXXD$RZH_T{q{gcI~KVru1^+9m~az@AxLR0o}M^E{W&oHF&!oH;Xh?%t{N_8m)E(>N$dT6YJ7aV3KD`jzxH9*o<; zOUx-OcHzNTksjW$_`2Q(uR}k2c?lcv=HJol@u^x@P9J|l~;H%;3XpMNL5SI zO9w9#ywZa@6TEEjLQ3fk1TPOfv(8HaP6TgYzd}QCF#T~I4&xVhEtUO_fY~g!qyp8T zcn&-)qR!84TN z@fWI7Ug7bF#S_6R-3aT!JBPA3ZdwY`*bCm-T)Old9Nr>?uZ%1#Uaa+|X7}PQ1eF0N(L@e5TcLyEwrdFps>V z$e-pu^a_tZ(>)s*cjA)ZkK?Wf@7ycAz2JqTa*kob&iV=PLcrrurleBgeM>pl+u(J; zZ*@Je_!~w|BHIHTcQ`bO+5?3zjecNB4qEyrvY1nH^LVIl1#j(?!s0WUfx7>|QptV~ zye#PL=j8FnMN=NbK2QB;dwPRc4ZQL!#~+^6Mr&8hXu%G59Y@MSYVwXLgT0gYZbY%xzkbvkL>(s(YAtj2)xooI|SZrd@s3l z70!ZJ0G>mS4asfr7VV^Re_A40SL-c4Knv~)_nf-rx4*rZCeZu1yCGmJ;J{9 z)f4>k##v_Hpu#7Xh#>y%{KXq3rRLJ`H|WoSH$vN^=={_Yl-2>fO@EY(U(P-Uy!GJO z5avJTjRWscDLtMY=YhBX58C|{+cJ9*_Qt1*9sPhC_5^tNg`=lEpaEMFW_#*H^ zz$-n}Wf5xrie5N))n4HxfXC@M8k>vQ3Or8F!D|Ly7I>bw3TgUZmc{{FL7YMz914L@ zI0W8_KXj9D1;j-Mp}fFN0>SfL*;uHCfKi0#KWHyyz5WdQ=b7NGN1n?d=RY1=1Hp@- z`OmP|a|FTT_po%1=;m`v>N&WYZ1PO&mott!A|gQ8=h%^tcq_rf zv)tzvyK9KR*SpG4lOjF{f$&7n=U6MNKI7X(*aDjeUXd5=F2bpfa|j>7Z?zV22@u8x z`3t-b9cU0rh9ACUij?_}%dJd6{i)*%_`SnM(}WjzNIDT}o=`i(&KZ92=Y=KEbuV~3 z@#Cy7u=an3@R2YIerf4%%5f1`*vxs!M?(?39!1~2w6r%VMuA6aRf;WDO;HF+YFCV- zG93^+H|jZF^u~1IPgHCP@>|5bn$Mjtf5xClqb8zkbg~#vAumF_z1Cubw3$5dE@;Z) zTC#y_D})}_Sv*umxQ;?_QS9Q?vWfc<1dqq!L$BJ3(@n@AlhIYc6RR#{SmP)JC&uG* zu53FTez@UFecvj*3=hl<=yb1(FCrt%_Qx<#+iT?kF%U9^<_lR#U>8@&riM)os8GmG zt}$+C`DE&3ka&>`;c6+*@$+x$Yxv6yGQhNmdGv`vHgG$Opn2r;62JZU6gGrGF0v_> z8*jSEZetD$?ldFZVLaW@IlyytdLCmT;6;Hq zOIvC6Hp;rLqrl4^O{Oz7h@+t{o@>$f|tGgdGTnSmk8Vn-YM_~)1bh@|_+|!p3VFH8wyr5<@b$ZO z)W=oUcb|yxz;~YGt-4zLD)AStvX=W<@OU=veeKGh3t+X-i3CP z4cu2E`0%6Wcr8qgec4U=xt;@WCw~3PP1bkyEi07uJ1NO5Ynw6_K~HOuxvf#rm<79Swqpw}q}7z1A7r(CF14{Qhxcb82~E5XB1 zbe9d%E^?GFp8vzCe+b@6@M`GEaB~?g$Ob&PcYL~4Ii}j2>OC;>PW-bgC=x9To}(*phxG<8=LFR+ zBk@Hsgh!pAt_b^gK)3+9jwMM7baTMVKS6WL$TUO7w{*IU40SsT-qP=oF`nL2h^OQ) zc2)6|RSo&yQX5ZcYnak~gbJJOw9R)(0e!8Oy2vgj4-5!_p`s5qHz zwGaJTR#vEW4!k4aIp$oo)xbLho}*xVFBB`jN%1Km@=8>kc&ALf0B z0Lo|HMDU74QE@A6wmMW!db{rg&#dOFJ~jWVoUB~w8FMn-8Tl8!`i^P|7BThe4F)C2L?yV~CfmiszKe0ET%X^tqReFgy#PyI#1x zkE`KxQL;8N>s?+(1`n(V16#f5KMwomgTJ>rZ7DBGpvM@G;UZ)r4~s6{tf=QafC zRJH={-NjlIUqN>D&+~^p>Qdy~=HNQ!gO}Nbwp5V8{+ke91i8a?;E8?q5;!GUbghEK z%bbv(%PMjXd0u!t1Mhl1=WjD?%AyuNGSs700B$1mo>k;umcdVU`^a#^>`}BEO74ds zOvERqf7ZMwmx?l|s}hLeng7qm^#<=Yc%>V%8hF>iqfuWV!(H`D{$vy?idj_L3tt`UN#OptVW2Ov08RC`!zUR9|+Bx4m5c}ULDPs&G=7Wa=M}D%V z>s|!cZ=g$lGS?%j5+;B@p(^Rp4zyFAzl?Ry2Q$azMe#LlCOhOWQ(UirSL9Bv0Wu=k zGXxg?RFTuwSEp<6W`oz?NOQ|#=FJX}v96=QTz{5U2gqDQ_8lr0DAQbHDkGtX)G1Jg zx@ICg3}4#_lo9pv5k7~HQMcem#KXTl^`}g<23`x9r}af~dzRrZ1=mjSGQk_G&Gdf- z%F02{z*~e5Qukyf{IU7+3>C^1@Mf@m_Mw(R($AC*9*!CY@mH4VaFFaKVksyX1}ig+ z=j-voGQd6x!48QpoWFs>H+nXBS>TmkgRTXy`zySi;AMixy_5eq?s4#jy~4W)-aPQi zsal%eL-1xNzOXto4uQ}Zju|YGY?WZcsv*2Hk=j&}5$+wB-|&Uwmjf18l9k*Sf%go& z+uByfsYsAD_I?`#Vm@XomLLyW~nmnrtxMQ_KWmQuG zg5lHyLDy^qk7v@%P*kA+;j@{vEmYQU-H-68E_4lH_lF3#>iPobvemh?Mws+BRl|>^ z7^!s_yyYAOclM^aVKUTx9>Vu}J8SfP7!1)_@HV|kg<-OjdrWnVzsWCf)@@w?y5n2n zvYzW~@Un<@giD(Ur(eQlH&^Z&kH>lS~ z$iy-a%fBqH?uGl>#!B`_ILdCU3j1^}jBHh5B(tM1{t{j~XBO@Oqrl5fpw(4naP^f4 zpMrcA`1)FsN6QyY%e4Q3cNkdz5OfmhMpbl(>j>_xhvaxCIEZZ3xD!RgO-jOddSHoi z5cb|Pr<&~Mz2{+y%R^(y|0@PpS=p$>RHg@s@^d=WP@b?Kd?^&ze&t&o&*^v*$Q{{S zjKKn@c5mg9QzvUqR;65)Y#1bZ61X|NNc+XFZV@p+2lLBpQi z<6ctXY4Uglc!KbB6ttUC5!b-WE^62)DL7dMmyfl$;G5CKgV6%YLtyPfYLhHCdi3O! z)W1C~Q{;S)PRA-4l^=24#Pt-HYlu|?s_5O6Jg|wAZdX`mEaAo1j>q$N>Wt2T1&7w{8Tr@UGMx`ohTW6S2Ndr9` z$ThbEy8zDtd1uBj+^D<;>2zQiFb9|n+yu-A zMvc>I{yLEJ$pxkWw*lKDe?=K@RAvHZ0+#|qCm5A1;A9|o+Ic#z24WvU3A7uPFVI1+ zOf)K6K+l|nE&_V(WTWyadS&-%Mx_<#P1Cg&i7(Lbh>q=N7!^FdQj%vH75f1MULbH6 z5pK`c?v?)>qtX=o*LB=qJs{WYnU2P{jr^GzB?%Y`%mQ+s znF-|S?>3Mt(r2F0uAD)j{(Pg72iyW|$O^z3K%WI#2Eo8c(9MC|!~=moz{x=FEAxOS zfZZ2r{GmV|iTOYtjVpC}n=U`11n@7~Iq^b@W`M(f&YAC<@34r32G}1v-DZ z&flTaM|Aokkkh*h)-H0@*U2*YO6h9_U~)D!dA50AzVn z9beP2mo6U%kT-#@19407I{#Ab-X`jpqvIkS59xSMN8e?d zemYQXIUv`hr%v|+avzxueRYfhvR)E!0qg7h+dBU#upRi#HfegDbj;RqD3A-h zb`!=wcdi3qa0I#8sEh{A1daeITQnR2`~YP5`$lCEa4(Qs;u4UX`Ywd3XMt*``Ov5&L7oES4B7yz0Y?C912^gP zDInjn$3Qkti(_#1IpYwF25&H-{0?gfScF9P}2Jl5sP z=Ndm;$7VVX1oAB#1+)TZ>-18c-m24kb@~L*#N+=o2Y}~vh3i0n&@X|UQ28&kgoA-h z*9O{v-GN3-+gV36%s#5|=jyl@$hXLROyk!EGCf(Rw*u|VC_+*=P%LeEkG{#5g-p|pRbJkEA`4aAh%3`PCwA;!mlv?IfL3? zYZ+t%IfJ1(y&lLJ?FDker-7Vs_%~Vs7XaB&xd7yXN1V{;Tp-i?fP4!t0oS6XCVZH$AyWs1MXS9fObzBad40+&LjbByA+Cb*- z1ai9Nf6&qm1ai7_4#)*K2ZX*|xugpWziJU; zfn3uRAlL9~Aoq!LI{#N7C+u@w_YHwulgB`=$c39){F^|oi1n662LqXI1>}m12i9i) ze>(!)gbBB`CTtJnrfYmhitOo7?X8fjE z)`37Sz;YnBz&pS&9{;HEpl4B$gu;h9bc-qYlvK$bTKat0Yd&cJYAZ#f{F@C+bl zG#L{R

duSQWrwlb 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

Xj6K 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≶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πH(Fvlf>l^}J;5Jj#+M20DJ} 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 Yj+cnHou2xEQMz4zuEcivxstoX0Mj^kjQ{`u diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index c9f5814f9d26cdc47b457b969824f1f6bd4d58a8..63ac1a91aa6755d65d6b4a3ab36538c643ac8328 100755 GIT binary patch delta 95923 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 RCAQ|Y9+xb_%av|2Tm3uF_ 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 delta 95483 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 M9@AOa>?VzU_Zr=xbFb< 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⪼lQu> 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 Jz1G!3{~zX$m;C?$ delta 537652 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%0A|KkpN8SBjz9o$ck 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

>N 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

oPo654*-)Q9EnFzr8>PcPU<$9YFc7 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

+ /// + /// + // ----------------------------------------------------------------- + public JsonStoreNodeType PathType(string expr) + { + Stack path; + if (! ParsePathExpression(expr,out path)) + return JsonStoreNodeType.Undefined; + + OSD result = ProcessPathExpression(ValueStore,path); + + if (result == null) + return JsonStoreNodeType.Undefined; + + if (result is OSDMap) + return JsonStoreNodeType.Object; + + if (result is OSDArray) + return JsonStoreNodeType.Array; + + if (OSDBaseType(result.Type)) + return JsonStoreNodeType.Value; + + return JsonStoreNodeType.Undefined; + } + // ----------------------------------------------------------------- /// /// @@ -162,6 +190,27 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore return false; } + // ----------------------------------------------------------------- + /// + /// + /// + // ----------------------------------------------------------------- + public int ArrayLength(string expr) + { + Stack path; + if (! ParsePathExpression(expr,out path)) + return -1; + + OSD result = ProcessPathExpression(ValueStore,path); + if (result != null && result.Type == OSDType.Array) + { + OSDArray arr = result as OSDArray; + return arr.Count; + } + + return -1; + } + // ----------------------------------------------------------------- /// /// diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs index cc136615a4..eec86eff04 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs @@ -265,6 +265,38 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore return m_JsonValueStore.ContainsKey(storeID); } + // ----------------------------------------------------------------- + /// + /// + /// + // ----------------------------------------------------------------- + public JsonStoreNodeType PathType(UUID storeID, string path) + { + if (! m_enabled) return JsonStoreNodeType.Undefined; + + JsonStore map = null; + lock (m_JsonValueStore) + { + if (! m_JsonValueStore.TryGetValue(storeID,out map)) + { + m_log.InfoFormat("[JsonStore] Missing store {0}",storeID); + return JsonStoreNodeType.Undefined; + } + } + + try + { + lock (map) + return map.PathType(path); + } + catch (Exception e) + { + m_log.Error(string.Format("[JsonStore]: Path test failed for {0} in {1}", path, storeID), e); + } + + return JsonStoreNodeType.Undefined; + } + // ----------------------------------------------------------------- /// /// @@ -370,6 +402,37 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore return false; } + // ----------------------------------------------------------------- + /// + /// + /// + // ----------------------------------------------------------------- + public int ArrayLength(UUID storeID, string path) + { + if (! m_enabled) return -1; + + JsonStore map = null; + lock (m_JsonValueStore) + { + if (! m_JsonValueStore.TryGetValue(storeID,out map)) + return -1; + } + + try + { + lock (map) + { + return map.ArrayLength(path); + } + } + catch (Exception e) + { + m_log.Error("[JsonStore]: unable to retrieve value", e); + } + + return -1; + } + // ----------------------------------------------------------------- /// /// diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs index e4363046e0..3955bff7ed 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs @@ -167,7 +167,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore try { m_comms.RegisterScriptInvocations(this); - + m_comms.RegisterConstants(this); + // m_comms.RegisterScriptInvocation(this, "JsonCreateStore"); // m_comms.RegisterScriptInvocation(this, "JsonAttachObjectStore"); // m_comms.RegisterScriptInvocation(this, "JsonDestroyStore"); @@ -214,6 +215,22 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore #endregion +#region ScriptConstantInteface + + [ScriptConstant] + public static readonly int JSONTYPEUNDEF = (int)JsonStoreNodeType.Undefined; + + [ScriptConstant] + public static readonly int JSONTYPEOBJECT = (int)JsonStoreNodeType.Object; + + [ScriptConstant] + public static readonly int JSONTYPEARRAY = (int)JsonStoreNodeType.Array; + + [ScriptConstant] + public static readonly int JSONTYPEVALUE = (int)JsonStoreNodeType.Value; + +#endregion + #region ScriptInvocationInteface // ----------------------------------------------------------------- /// @@ -318,6 +335,12 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore /// /// // ----------------------------------------------------------------- + [ScriptInvocation] + public int JsonPathType(UUID hostID, UUID scriptID, UUID storeID, string path) + { + return (int)m_store.PathType(storeID,path); + } + [ScriptInvocation] public int JsonTestPath(UUID hostID, UUID scriptID, UUID storeID, string path) { @@ -358,6 +381,17 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore return m_store.RemoveValue(storeID,path) ? 1 : 0; } + // ----------------------------------------------------------------- + /// + /// + /// + // ----------------------------------------------------------------- + [ScriptInvocation] + public int JsonArrayLength(UUID hostID, UUID scriptID, UUID storeID, string path) + { + return m_store.ArrayLength(storeID,path); + } + // ----------------------------------------------------------------- /// /// From 69d0e168fb2b945ffcd1fb005abd0192d1eb8876 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Feb 2013 00:19:28 +0000 Subject: [PATCH 584/851] Fix a very unlikely-to-occur NullReferenceException race condition in llPushObject() where the code assumed that the physics actor it null-checked would still be null when it invoked a method on it --- .../ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index be6ac0a746..96f650e8a4 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -4479,6 +4479,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } } + if (pushAllowed) { float distance = (PusheePos - m_host.AbsolutePosition).Length(); @@ -4507,17 +4508,21 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api applied_linear_impulse *= scaling_factor; } + if (pusheeIsAvatar) { if (pusheeav != null) { - if (pusheeav.PhysicsActor != null) + PhysicsActor pa = pusheeav.PhysicsActor; + + if (pa != null) { if (local != 0) { applied_linear_impulse *= m_host.GetWorldRotation(); } - pusheeav.PhysicsActor.AddForce(applied_linear_impulse, true); + + pa.AddForce(applied_linear_impulse, true); } } } From ef662fc959c7943e55c548c50c6b160d12e5c095 Mon Sep 17 00:00:00 2001 From: Melanie Date: Thu, 14 Feb 2013 08:40:15 +0100 Subject: [PATCH 585/851] Add an event and some logic to allow customizing Simulator Features by avatar --- .../Linden/Caps/SimulatorFeaturesModule.cs | 25 ++++++++++++++++--- .../Interfaces/ISimulatorFeaturesModule.cs | 6 ++++- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/OpenSim/Region/ClientStack/Linden/Caps/SimulatorFeaturesModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/SimulatorFeaturesModule.cs index 8f38737005..6ef8815026 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/SimulatorFeaturesModule.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/SimulatorFeaturesModule.cs @@ -59,6 +59,8 @@ namespace OpenSim.Region.ClientStack.Linden // private static readonly ILog m_log = // LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + public event SimulatorFeaturesRequestDelegate OnSimulatorFeaturesRequest; + private Scene m_scene; /// @@ -158,7 +160,7 @@ namespace OpenSim.Region.ClientStack.Linden IRequestHandler reqHandler = new RestHTTPHandler( "GET", "/CAPS/" + UUID.Random(), - HandleSimulatorFeaturesRequest, "SimulatorFeatures", agentID.ToString()); + x => { return HandleSimulatorFeaturesRequest(x, agentID); }, "SimulatorFeatures", agentID.ToString()); caps.RegisterHandler("SimulatorFeatures", reqHandler); } @@ -187,18 +189,33 @@ namespace OpenSim.Region.ClientStack.Linden return new OSDMap(m_features); } - private Hashtable HandleSimulatorFeaturesRequest(Hashtable mDhttpMethod) + private OSDMap DeepCopy() + { + // This isn't the cheapest way of doing this but the rate + // of occurrence is low (on sim entry only) and it's a sure + // way to get a true deep copy. + OSD copy = OSDParser.DeserializeLLSDXml(OSDParser.SerializeLLSDXmlString(m_features)); + + return (OSDMap)copy; + } + + private Hashtable HandleSimulatorFeaturesRequest(Hashtable mDhttpMethod, UUID agentID) { // m_log.DebugFormat("[SIMULATOR FEATURES MODULE]: SimulatorFeatures request"); + OSDMap copy = DeepCopy(); + + SimulatorFeaturesRequestDelegate handlerOnSimulatorFeaturesRequest = OnSimulatorFeaturesRequest; + if (handlerOnSimulatorFeaturesRequest != null) + handlerOnSimulatorFeaturesRequest(agentID, ref copy); + //Send back data Hashtable responsedata = new Hashtable(); responsedata["int_response_code"] = 200; responsedata["content_type"] = "text/plain"; responsedata["keepalive"] = false; - lock (m_features) - responsedata["str_response_string"] = OSDParser.SerializeLLSDXmlString(m_features); + responsedata["str_response_string"] = OSDParser.SerializeLLSDXmlString(copy); return responsedata; } diff --git a/OpenSim/Region/Framework/Interfaces/ISimulatorFeaturesModule.cs b/OpenSim/Region/Framework/Interfaces/ISimulatorFeaturesModule.cs index 8cef14e932..6effcc1d5c 100644 --- a/OpenSim/Region/Framework/Interfaces/ISimulatorFeaturesModule.cs +++ b/OpenSim/Region/Framework/Interfaces/ISimulatorFeaturesModule.cs @@ -26,18 +26,22 @@ */ using System; +using OpenMetaverse; using OpenMetaverse.StructuredData; namespace OpenSim.Region.Framework.Interfaces { + public delegate void SimulatorFeaturesRequestDelegate(UUID agentID, ref OSDMap features); + /// /// Add remove or retrieve Simulator Features that will be given to a viewer via the SimulatorFeatures capability. /// public interface ISimulatorFeaturesModule { + event SimulatorFeaturesRequestDelegate OnSimulatorFeaturesRequest; void AddFeature(string name, OSD value); bool RemoveFeature(string name); bool TryGetFeature(string name, out OSD value); OSDMap GetFeatures(); } -} \ No newline at end of file +} From 5920abbf8d1b1770c03bc6232f1afe0551b4a331 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Thu, 14 Feb 2013 09:48:11 -0800 Subject: [PATCH 586/851] Add EventManager events triggered when a SOP is added or removed from the physical scene. Invocations added in SceneObjectPart. --- .../Region/Framework/Scenes/EventManager.cs | 55 +++++++++++++++++++ .../Framework/Scenes/SceneObjectPart.cs | 2 + 2 files changed, 57 insertions(+) diff --git a/OpenSim/Region/Framework/Scenes/EventManager.cs b/OpenSim/Region/Framework/Scenes/EventManager.cs index 9ee15204ef..59d01489d0 100644 --- a/OpenSim/Region/Framework/Scenes/EventManager.cs +++ b/OpenSim/Region/Framework/Scenes/EventManager.cs @@ -790,6 +790,19 @@ namespace OpenSim.Region.Framework.Scenes /// The object being removed from the scene public delegate void ObjectBeingRemovedFromScene(SceneObjectGroup obj); + /// + /// Triggered when an object is placed into the physical scene (PhysicsActor created). + /// + public event Action OnObjectAddedToPhysicalScene; + /// + /// Triggered when an object is removed from the physical scene (PhysicsActor destroyed). + /// + /// + /// Note: this is triggered just before the PhysicsActor is removed from the + /// physics engine so the receiver can do any necessary cleanup before its destruction. + /// + public event Action OnObjectRemovedFromPhysicalScene; + /// /// Triggered when an object is removed from the scene. /// @@ -1516,6 +1529,48 @@ namespace OpenSim.Region.Framework.Scenes } } + public void TriggerObjectAddedToPhysicalScene(SceneObjectPart obj) + { + Action handler = OnObjectAddedToPhysicalScene; + if (handler != null) + { + foreach (Action d in handler.GetInvocationList()) + { + try + { + d(obj); + } + catch (Exception e) + { + m_log.ErrorFormat( + "[EVENT MANAGER]: Delegate for TriggerObjectAddedToPhysicalScene failed - continuing. {0} {1}", + e.Message, e.StackTrace); + } + } + } + } + + public void TriggerObjectRemovedFromPhysicalScene(SceneObjectPart obj) + { + Action handler = OnObjectRemovedFromPhysicalScene; + if (handler != null) + { + foreach (Action d in handler.GetInvocationList()) + { + try + { + d(obj); + } + catch (Exception e) + { + m_log.ErrorFormat( + "[EVENT MANAGER]: Delegate for TriggerObjectRemovedFromPhysicalScene failed - continuing. {0} {1}", + e.Message, e.StackTrace); + } + } + } + } + public void TriggerShutdown() { Action handlerShutdown = OnShutdown; diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 9b2997326c..cce8b21b6e 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -4316,6 +4316,7 @@ namespace OpenSim.Region.Framework.Scenes } PhysActor = pa; + ParentGroup.Scene.EventManager.TriggerObjectAddedToPhysicalScene(this); } /// @@ -4328,6 +4329,7 @@ namespace OpenSim.Region.Framework.Scenes /// public void RemoveFromPhysics() { + ParentGroup.Scene.EventManager.TriggerObjectRemovedFromPhysicalScene(this); ParentGroup.Scene.PhysicsScene.RemovePrim(PhysActor); PhysActor = null; } From a52dfd43b6c7f5b1893bf027d949c7cc15c233b3 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Feb 2013 21:03:07 +0000 Subject: [PATCH 587/851] Make new JsonStore script constants separated with underscores, to be consistent with existing LSL/OSSL, etc script constants. Agreed with cmickeyb --- .../Scripting/JsonStore/JsonStoreScriptModule.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs index 3955bff7ed..669d7523b9 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs @@ -215,19 +215,19 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore #endregion -#region ScriptConstantInteface +#region ScriptConstantsInterface [ScriptConstant] - public static readonly int JSONTYPEUNDEF = (int)JsonStoreNodeType.Undefined; + public static readonly int JSON_TYPE_UNDEF = (int)JsonStoreNodeType.Undefined; [ScriptConstant] - public static readonly int JSONTYPEOBJECT = (int)JsonStoreNodeType.Object; + public static readonly int JSON_TYPE_OBJECT = (int)JsonStoreNodeType.Object; [ScriptConstant] - public static readonly int JSONTYPEARRAY = (int)JsonStoreNodeType.Array; + public static readonly int JSON_TYPE_ARRAY = (int)JsonStoreNodeType.Array; [ScriptConstant] - public static readonly int JSONTYPEVALUE = (int)JsonStoreNodeType.Value; + public static readonly int JSON_TYPE_VALUE = (int)JsonStoreNodeType.Value; #endregion From edb99dcc19d20980ab8fc1a0a272017855e1f266 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Feb 2013 21:11:58 +0000 Subject: [PATCH 588/851] Rename new JsonScript functions JsonPathType() -> JsonGetPathType() and JsonArrayLength() -> JsonGetArrayLength() This is for consistentency with the verb:noun naming approach existing json script functions and other script functions. Corresponding c# methods also changed since verb:noun is also the .net c# method naming guideline (as used by OpenSimulator) and for consistency with script functions. As agreed with cmickeyb --- OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs | 4 ++-- .../Scripting/JsonStore/JsonStoreModule.cs | 4 ++-- .../Scripting/JsonStore/JsonStoreScriptModule.cs | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs b/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs index d7907e3082..b40d24fa72 100644 --- a/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs @@ -49,7 +49,7 @@ namespace OpenSim.Region.Framework.Interfaces bool CreateStore(string value, ref UUID result); bool DestroyStore(UUID storeID); - JsonStoreNodeType PathType(UUID storeID, string path); + JsonStoreNodeType GetPathType(UUID storeID, string path); bool TestStore(UUID storeID); bool TestPath(UUID storeID, string path, bool useJson); @@ -60,6 +60,6 @@ namespace OpenSim.Region.Framework.Interfaces void TakeValue(UUID storeID, string path, bool useJson, TakeValueCallback cback); void ReadValue(UUID storeID, string path, bool useJson, TakeValueCallback cback); - int ArrayLength(UUID storeID, string path); + int GetArrayLength(UUID storeID, string path); } } diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs index eec86eff04..fb350683a6 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs @@ -270,7 +270,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore /// /// // ----------------------------------------------------------------- - public JsonStoreNodeType PathType(UUID storeID, string path) + public JsonStoreNodeType GetPathType(UUID storeID, string path) { if (! m_enabled) return JsonStoreNodeType.Undefined; @@ -407,7 +407,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore /// /// // ----------------------------------------------------------------- - public int ArrayLength(UUID storeID, string path) + public int GetArrayLength(UUID storeID, string path) { if (! m_enabled) return -1; diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs index 669d7523b9..1ed7df7aaf 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs @@ -336,9 +336,9 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore /// // ----------------------------------------------------------------- [ScriptInvocation] - public int JsonPathType(UUID hostID, UUID scriptID, UUID storeID, string path) + public int JsonGetPathType(UUID hostID, UUID scriptID, UUID storeID, string path) { - return (int)m_store.PathType(storeID,path); + return (int)m_store.GetPathType(storeID,path); } [ScriptInvocation] @@ -387,9 +387,9 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore /// // ----------------------------------------------------------------- [ScriptInvocation] - public int JsonArrayLength(UUID hostID, UUID scriptID, UUID storeID, string path) + public int JsonGetArrayLength(UUID hostID, UUID scriptID, UUID storeID, string path) { - return m_store.ArrayLength(storeID,path); + return m_store.GetArrayLength(storeID,path); } // ----------------------------------------------------------------- From 0ad07eb44d38fd1b57ef40c5aaf073663bc0694c Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Feb 2013 21:29:35 +0000 Subject: [PATCH 589/851] minor: remove some mono compiler warnings --- .../Agent/AssetTransaction/AssetTransactionModule.cs | 2 +- .../CoreModules/Framework/DynamicAttributes/DAExampleModule.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetTransactionModule.cs b/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetTransactionModule.cs index d1ad74fae6..b67c0dfff1 100644 --- a/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetTransactionModule.cs +++ b/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetTransactionModule.cs @@ -42,7 +42,7 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction public class AssetTransactionModule : INonSharedRegionModule, IAgentAssetTransactions { - private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); +// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); protected Scene m_Scene; private bool m_dumpAssetsToFile = false; diff --git a/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DAExampleModule.cs b/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DAExampleModule.cs index d36f65acf3..37131b9a53 100644 --- a/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DAExampleModule.cs +++ b/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DAExampleModule.cs @@ -44,7 +44,7 @@ namespace OpenSim.Region.Framework.DynamicAttributes.DAExampleModule [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "DAExampleModule")] public class DAExampleModule : INonSharedRegionModule { - private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); +// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); private static readonly bool ENABLED = false; // enable for testing From 6fe771f27e08f516a93ba7c04010a3157841b061 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Feb 2013 21:31:34 +0000 Subject: [PATCH 590/851] Add regression TestJsonGetPathType() --- .../Tests/JsonStoreScriptModuleTests.cs | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index f25f290cf8..e5555d6549 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -398,6 +398,53 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests } } + [Test] + public void TestJsonGetPathType() + { + TestHelpers.InMethod(); +// TestHelpers.EnableLogging(); + + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ 'Hello' : { 'World' : [ 'one', 2 ] } }"); + + { + int result = (int)InvokeOp("JsonGetPathType", storeId, "."); + Assert.That(result, Is.EqualTo(JsonStoreScriptModule.JSON_TYPE_OBJECT)); + } + + { + int result = (int)InvokeOp("JsonGetPathType", storeId, "Hello"); + Assert.That(result, Is.EqualTo(JsonStoreScriptModule.JSON_TYPE_OBJECT)); + } + + { + int result = (int)InvokeOp("JsonGetPathType", storeId, "Hello.World"); + Assert.That(result, Is.EqualTo(JsonStoreScriptModule.JSON_TYPE_ARRAY)); + } + + { + int result = (int)InvokeOp("JsonGetPathType", storeId, "Hello.World[0]"); + Assert.That(result, Is.EqualTo(JsonStoreScriptModule.JSON_TYPE_VALUE)); + } + + { + int result = (int)InvokeOp("JsonGetPathType", storeId, "Hello.World[1]"); + Assert.That(result, Is.EqualTo(JsonStoreScriptModule.JSON_TYPE_VALUE)); + } + + // Test for non-existant path + { + int result = (int)InvokeOp("JsonGetPathType", storeId, "foo"); + Assert.That(result, Is.EqualTo(JsonStoreScriptModule.JSON_TYPE_UNDEF)); + } + + // Test for non-existant store + { + UUID fakeStoreId = TestHelpers.ParseTail(0x500); + int result = (int)InvokeOp("JsonGetPathType", fakeStoreId, "."); + Assert.That(result, Is.EqualTo(JsonStoreScriptModule.JSON_TYPE_UNDEF)); + } + } + [Test] public void TestJsonSetValue() { From 13d4f6f747d3432f7b7d2f3e1d383dcdce91c01b Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Feb 2013 21:34:57 +0000 Subject: [PATCH 591/851] Add regression TestGetArrayLength() --- .../Tests/JsonStoreScriptModuleTests.cs | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index e5555d6549..a457c7ba70 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -398,6 +398,39 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests } } + [Test] + public void TestGetArrayLength() + { + TestHelpers.InMethod(); +// TestHelpers.EnableLogging(); + + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ 'Hello' : { 'World' : [ 'one', 2 ] } }"); + + { + int result = (int)InvokeOp("JsonGetArrayLength", storeId, "Hello.World"); + Assert.That(result, Is.EqualTo(2)); + } + + // Test path which is not an array + { + int result = (int)InvokeOp("JsonGetArrayLength", storeId, "Hello"); + Assert.That(result, Is.EqualTo(-1)); + } + + // Test fake path + { + int result = (int)InvokeOp("JsonGetArrayLength", storeId, "foo"); + Assert.That(result, Is.EqualTo(-1)); + } + + // Test fake store + { + UUID fakeStoreId = TestHelpers.ParseTail(0x500); + int result = (int)InvokeOp("JsonGetArrayLength", fakeStoreId, "Hello.World"); + Assert.That(result, Is.EqualTo(-1)); + } + } + [Test] public void TestJsonGetPathType() { From c22276a169125e97b39d72c2e9ca55f5e1807320 Mon Sep 17 00:00:00 2001 From: teravus Date: Thu, 14 Feb 2013 18:43:53 -0500 Subject: [PATCH 592/851] * gracefully handle a Situation where a double close is called on the WebSocket handler --- OpenSim/Framework/Servers/HttpServer/WebsocketServerHandler.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/OpenSim/Framework/Servers/HttpServer/WebsocketServerHandler.cs b/OpenSim/Framework/Servers/HttpServer/WebsocketServerHandler.cs index cfb1605001..bb8825b118 100644 --- a/OpenSim/Framework/Servers/HttpServer/WebsocketServerHandler.cs +++ b/OpenSim/Framework/Servers/HttpServer/WebsocketServerHandler.cs @@ -535,6 +535,8 @@ namespace OpenSim.Framework.Servers.HttpServer /// public void Close(string message) { + if (_networkContext == null) + return; if (_networkContext.Stream != null) { if (_networkContext.Stream.CanWrite) From 71862f34b6e97e19fceefd9ccb813ce09ef0a0c3 Mon Sep 17 00:00:00 2001 From: teravus Date: Thu, 14 Feb 2013 18:52:11 -0500 Subject: [PATCH 593/851] * Handle null check on configs in module startup so that the the code can be run on 'stop on handled and unhandled null reference exceptions' mode without pausing during startup a bunch of times. I don't think exceptions were really meant for replacing a single if statement... --- .../Statistics/Logging/BinaryLoggingModule.cs | 2 +- .../CoreModules/Scripting/XMLRPC/XMLRPCModule.cs | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/OpenSim/Region/CoreModules/Framework/Statistics/Logging/BinaryLoggingModule.cs b/OpenSim/Region/CoreModules/Framework/Statistics/Logging/BinaryLoggingModule.cs index fb74cc6d72..f3436d1c3c 100644 --- a/OpenSim/Region/CoreModules/Framework/Statistics/Logging/BinaryLoggingModule.cs +++ b/OpenSim/Region/CoreModules/Framework/Statistics/Logging/BinaryLoggingModule.cs @@ -57,7 +57,7 @@ namespace OpenSim.Region.CoreModules.Framework.Statistics.Logging try { IConfig statConfig = source.Configs["Statistics.Binary"]; - if (statConfig.Contains("enabled") && statConfig.GetBoolean("enabled")) + if (statConfig != null && statConfig.Contains("enabled") && statConfig.GetBoolean("enabled")) { if (statConfig.Contains("collect_region_stats")) { diff --git a/OpenSim/Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs b/OpenSim/Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs index 385f5ad7f1..cbffca7016 100644 --- a/OpenSim/Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs +++ b/OpenSim/Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs @@ -111,13 +111,15 @@ namespace OpenSim.Region.CoreModules.Scripting.XMLRPC m_rpcPending = new Dictionary(); m_rpcPendingResponses = new Dictionary(); m_pendingSRDResponses = new Dictionary(); - - try - { - m_remoteDataPort = config.Configs["XMLRPC"].GetInt("XmlRpcPort", m_remoteDataPort); - } - catch (Exception) + if (config.Configs["XMLRPC"] != null) { + try + { + m_remoteDataPort = config.Configs["XMLRPC"].GetInt("XmlRpcPort", m_remoteDataPort); + } + catch (Exception) + { + } } } From cc40517863a9a32d3c5af1293623c4466c736c13 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 15 Feb 2013 00:27:30 +0000 Subject: [PATCH 594/851] Add regression TestJsonList2Path() --- .../Tests/JsonStoreScriptModuleTests.cs | 29 +++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index a457c7ba70..68eed1d3bf 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -53,6 +53,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests private Scene m_scene; private MockScriptEngine m_engine; private ScriptModuleCommsModule m_smcm; + private JsonStoreScriptModule m_jssm; [TestFixtureSetUp] public void FixtureInit() @@ -82,10 +83,10 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests m_engine = new MockScriptEngine(); m_smcm = new ScriptModuleCommsModule(); JsonStoreModule jsm = new JsonStoreModule(); - JsonStoreScriptModule jssm = new JsonStoreScriptModule(); + m_jssm = new JsonStoreScriptModule(); m_scene = new SceneHelpers().SetupScene(); - SceneHelpers.SetupSceneModules(m_scene, configSource, m_engine, m_smcm, jsm, jssm); + SceneHelpers.SetupSceneModules(m_scene, configSource, m_engine, m_smcm, jsm, m_jssm); try { @@ -478,6 +479,30 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests } } + [Test] + public void TestJsonList2Path() + { + TestHelpers.InMethod(); +// TestHelpers.EnableLogging(); + + // Invoking these methods directly since I just couldn't get comms module invocation to work for some reason + // - some confusion with the methods that take a params object[] invocation. + { + string result = m_jssm.JsonList2Path(UUID.Zero, UUID.Zero, new object[] { "foo" }); + Assert.That(result, Is.EqualTo("{foo}")); + } + + { + string result = m_jssm.JsonList2Path(UUID.Zero, UUID.Zero, new object[] { "foo", "bar" }); + Assert.That(result, Is.EqualTo("{foo}.{bar}")); + } + + { + string result = m_jssm.JsonList2Path(UUID.Zero, UUID.Zero, new object[] { "foo", 1, "bar" }); + Assert.That(result, Is.EqualTo("{foo}.[1].{bar}")); + } + } + [Test] public void TestJsonSetValue() { From 0b2608d8f4c715acf693565d57d2919dda4d7f18 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 15 Feb 2013 00:32:20 +0000 Subject: [PATCH 595/851] Comment out regression TestJsonTestPath and TestJsonTestPathJson as these will go away soon --- .../Tests/JsonStoreScriptModuleTests.cs | 124 +++++++++--------- 1 file changed, 62 insertions(+), 62 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index 68eed1d3bf..1c4737be86 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -335,69 +335,69 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests } } - [Test] - public void TestJsonTestPath() - { - TestHelpers.InMethod(); -// TestHelpers.EnableLogging(); +// [Test] +// public void TestJsonTestPath() +// { +// TestHelpers.InMethod(); +//// TestHelpers.EnableLogging(); +// +// UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ 'Hello' : { 'World' : 'One' } }"); +// +// { +// int result = (int)InvokeOp("JsonTestPath", storeId, "Hello.World"); +// Assert.That(result, Is.EqualTo(1)); +// } +// +// // Test for path which does not resolve to a value. +// { +// int result = (int)InvokeOp("JsonTestPath", storeId, "Hello"); +// Assert.That(result, Is.EqualTo(0)); +// } +// +// { +// int result2 = (int)InvokeOp("JsonTestPath", storeId, "foo"); +// Assert.That(result2, Is.EqualTo(0)); +// } +// +// // Test with fake store +// { +// UUID fakeStoreId = TestHelpers.ParseTail(0x500); +// int fakeStoreValueRemove = (int)InvokeOp("JsonTestPath", fakeStoreId, "Hello"); +// Assert.That(fakeStoreValueRemove, Is.EqualTo(0)); +// } +// } - UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ 'Hello' : { 'World' : 'One' } }"); - - { - int result = (int)InvokeOp("JsonTestPath", storeId, "Hello.World"); - Assert.That(result, Is.EqualTo(1)); - } - - // Test for path which does not resolve to a value. - { - int result = (int)InvokeOp("JsonTestPath", storeId, "Hello"); - Assert.That(result, Is.EqualTo(0)); - } - - { - int result2 = (int)InvokeOp("JsonTestPath", storeId, "foo"); - Assert.That(result2, Is.EqualTo(0)); - } - - // Test with fake store - { - UUID fakeStoreId = TestHelpers.ParseTail(0x500); - int fakeStoreValueRemove = (int)InvokeOp("JsonTestPath", fakeStoreId, "Hello"); - Assert.That(fakeStoreValueRemove, Is.EqualTo(0)); - } - } - - [Test] - public void TestJsonTestPathJson() - { - TestHelpers.InMethod(); -// TestHelpers.EnableLogging(); - - UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ 'Hello' : { 'World' : 'One' } }"); - - { - int result = (int)InvokeOp("JsonTestPathJson", storeId, "Hello.World"); - Assert.That(result, Is.EqualTo(1)); - } - - // Test for path which does not resolve to a value. - { - int result = (int)InvokeOp("JsonTestPathJson", storeId, "Hello"); - Assert.That(result, Is.EqualTo(1)); - } - - { - int result2 = (int)InvokeOp("JsonTestPathJson", storeId, "foo"); - Assert.That(result2, Is.EqualTo(0)); - } - - // Test with fake store - { - UUID fakeStoreId = TestHelpers.ParseTail(0x500); - int fakeStoreValueRemove = (int)InvokeOp("JsonTestPathJson", fakeStoreId, "Hello"); - Assert.That(fakeStoreValueRemove, Is.EqualTo(0)); - } - } +// [Test] +// public void TestJsonTestPathJson() +// { +// TestHelpers.InMethod(); +//// TestHelpers.EnableLogging(); +// +// UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ 'Hello' : { 'World' : 'One' } }"); +// +// { +// int result = (int)InvokeOp("JsonTestPathJson", storeId, "Hello.World"); +// Assert.That(result, Is.EqualTo(1)); +// } +// +// // Test for path which does not resolve to a value. +// { +// int result = (int)InvokeOp("JsonTestPathJson", storeId, "Hello"); +// Assert.That(result, Is.EqualTo(1)); +// } +// +// { +// int result2 = (int)InvokeOp("JsonTestPathJson", storeId, "foo"); +// Assert.That(result2, Is.EqualTo(0)); +// } +// +// // Test with fake store +// { +// UUID fakeStoreId = TestHelpers.ParseTail(0x500); +// int fakeStoreValueRemove = (int)InvokeOp("JsonTestPathJson", fakeStoreId, "Hello"); +// Assert.That(fakeStoreValueRemove, Is.EqualTo(0)); +// } +// } [Test] public void TestGetArrayLength() From 61f18d15e1115275588e9e5a27f5d148ed762b4e Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 15 Feb 2013 00:38:07 +0000 Subject: [PATCH 596/851] Rename JsonSetValueJson() -> JsonSetJson() and JsonGetValueJson() -> JsonGetJson() This is because JsonGetJson() is getting json from anywhere in the structure, not just values. Equally, JsonSetJson() is setting any type of json, not just json which represents a value. Agreed with cmickeyb --- .../JsonStore/JsonStoreScriptModule.cs | 4 +-- .../Tests/JsonStoreScriptModuleTests.cs | 26 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs index 1ed7df7aaf..ef08c05b9c 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs @@ -365,7 +365,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore } [ScriptInvocation] - public int JsonSetValueJson(UUID hostID, UUID scriptID, UUID storeID, string path, string value) + public int JsonSetJson(UUID hostID, UUID scriptID, UUID storeID, string path, string value) { return m_store.SetValue(storeID,path,value,true) ? 1 : 0; } @@ -406,7 +406,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore } [ScriptInvocation] - public string JsonGetValueJson(UUID hostID, UUID scriptID, UUID storeID, string path) + public string JsonGetJson(UUID hostID, UUID scriptID, UUID storeID, string path) { string value = String.Empty; m_store.GetValue(storeID,path,true, out value); diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index 1c4737be86..ffa825050b 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -209,7 +209,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests } [Test] - public void TestJsonGetValueJson() + public void TestJsonGetJson() { TestHelpers.InMethod(); // TestHelpers.EnableLogging(); @@ -217,26 +217,26 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ 'Hello' : { 'World' : 'Two' } }"); { - string value = (string)InvokeOp("JsonGetValueJson", storeId, "Hello.World"); + string value = (string)InvokeOp("JsonGetJson", storeId, "Hello.World"); Assert.That(value, Is.EqualTo("'Two'")); } // Test get of path section instead of leaf { - string value = (string)InvokeOp("JsonGetValueJson", storeId, "Hello"); + string value = (string)InvokeOp("JsonGetJson", storeId, "Hello"); Assert.That(value, Is.EqualTo("{\"World\":\"Two\"}")); } // Test get of non-existing value { - string fakeValueGet = (string)InvokeOp("JsonGetValueJson", storeId, "foo"); + string fakeValueGet = (string)InvokeOp("JsonGetJson", storeId, "foo"); Assert.That(fakeValueGet, Is.EqualTo("")); } // Test get from non-existing store { UUID fakeStoreId = TestHelpers.ParseTail(0x500); - string fakeStoreValueGet = (string)InvokeOp("JsonGetValueJson", fakeStoreId, "Hello"); + string fakeStoreValueGet = (string)InvokeOp("JsonGetJson", fakeStoreId, "Hello"); Assert.That(fakeStoreValueGet, Is.EqualTo("")); } } @@ -294,7 +294,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests int result = (int)InvokeOp("JsonTestPath", storeId, "Hello"); Assert.That(result, Is.EqualTo(0)); - string returnValue2 = (string)InvokeOp("JsonGetValueJson", storeId, "Hello"); + string returnValue2 = (string)InvokeOp("JsonGetJson", storeId, "Hello"); Assert.That(returnValue2, Is.EqualTo("")); } @@ -315,7 +315,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests string stringReturnValue = (string)InvokeOp("JsonGetValue", storeId, "Hello[0]"); Assert.That(stringReturnValue, Is.EqualTo("value2")); - stringReturnValue = (string)InvokeOp("JsonGetValueJson", storeId, "Hello[1]"); + stringReturnValue = (string)InvokeOp("JsonGetJson", storeId, "Hello[1]"); Assert.That(stringReturnValue, Is.EqualTo("")); } @@ -689,7 +689,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests } [Test] - public void TestJsonSetValueJson() + public void TestJsonSetJson() { TestHelpers.InMethod(); // TestHelpers.EnableLogging(); @@ -698,7 +698,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests { UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ }"); - int result = (int)InvokeOp("JsonSetValueJson", storeId, "Fun", "'Times'"); + int result = (int)InvokeOp("JsonSetJson", storeId, "Fun", "'Times'"); Assert.That(result, Is.EqualTo(1)); string value = (string)InvokeOp("JsonGetValue", storeId, "Fun"); @@ -709,7 +709,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests { UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ }"); - int result = (int)InvokeOp("JsonSetValueJson", storeId, "Fun", "{ 'Filled' : 'Times' }"); + int result = (int)InvokeOp("JsonSetJson", storeId, "Fun", "{ 'Filled' : 'Times' }"); Assert.That(result, Is.EqualTo(1)); string value = (string)InvokeOp("JsonGetValue", storeId, "Fun.Filled"); @@ -720,7 +720,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests { UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ }"); - int result = (int)InvokeOp("JsonSetValueJson", storeId, "Fun", "Times"); + int result = (int)InvokeOp("JsonSetJson", storeId, "Fun", "Times"); Assert.That(result, Is.EqualTo(0)); string value = (string)InvokeOp("JsonGetValue", storeId, "Fun"); @@ -731,7 +731,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests { UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ }"); - int result = (int)InvokeOp("JsonSetValueJson", storeId, "Fun.Circus", "'Times'"); + int result = (int)InvokeOp("JsonSetJson", storeId, "Fun.Circus", "'Times'"); Assert.That(result, Is.EqualTo(0)); string value = (string)InvokeOp("JsonGetValue", storeId, "Fun.Circus"); @@ -741,7 +741,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests // Test with fake store { UUID fakeStoreId = TestHelpers.ParseTail(0x500); - int fakeStoreValueSet = (int)InvokeOp("JsonSetValueJson", fakeStoreId, "Hello", "'World'"); + int fakeStoreValueSet = (int)InvokeOp("JsonSetJson", fakeStoreId, "Hello", "'World'"); Assert.That(fakeStoreValueSet, Is.EqualTo(0)); } } From 8d5fe5c22232e23b414531b07c5a8b343bb4b886 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 15 Feb 2013 01:00:49 +0000 Subject: [PATCH 597/851] Enable one sub-test in TestJsonSetValue() which now works (using identifier with embedded .). Need to look further at other still commented tests. Still need to check coverage against some of Mic's scripts. --- .../Tests/JsonStoreScriptModuleTests.cs | 30 ++++++++----------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index ffa825050b..3d9ad163a2 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -519,17 +519,16 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests Assert.That(value, Is.EqualTo("Times")); } - // Commented out as this currently unexpectedly fails. // Test setting a key containing periods with delineation -// { -// UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{}"); -// -// int result = (int)InvokeOp("JsonSetValue", storeId, "{Fun.Circus}", "Times"); -// Assert.That(result, Is.EqualTo(1)); -// -// string value = (string)InvokeOp("JsonGetValue", storeId, "{Fun.Circus}"); -// Assert.That(value, Is.EqualTo("Times")); -// } + { + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{}"); + + int result = (int)InvokeOp("JsonSetValue", storeId, "{Fun.Circus}", "Times"); + Assert.That(result, Is.EqualTo(1)); + + string value = (string)InvokeOp("JsonGetValue", storeId, "{Fun.Circus}"); + Assert.That(value, Is.EqualTo("Times")); + } // *** Test [] *** @@ -599,7 +598,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests Assert.That(value, Is.EqualTo("Times")); } - // Commented out as this currently unexpectedly fails. +// // Commented out as this currently unexpectedly fails. // // Test setting a key containing brackets around an integer with delineation // { // UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{}"); @@ -607,7 +606,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests // int result = (int)InvokeOp("JsonSetValue", storeId, "{Fun[0]Circus}", "Times"); // Assert.That(result, Is.EqualTo(1)); // -// string value = (string)InvokeOp("JsonGetValue", storeId, "{Fun[]Circus}"); +// string value = (string)InvokeOp("JsonGetValue", storeId, "{Fun[0]Circus}"); // Assert.That(value, Is.EqualTo("Times")); // } @@ -635,16 +634,13 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests Assert.That(value, Is.EqualTo("")); } - // Commented out as this currently unexpectedly fails. +// // Commented out as this currently unexpectedly fails. // // Test setting a key containing unbalanced } // { // UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{}"); // // int result = (int)InvokeOp("JsonSetValue", storeId, "{Fun}Circus}", "Times"); -// Assert.That(result, Is.EqualTo(1)); -// -// string value = (string)InvokeOp("JsonGetValue", storeId, "{Fun}Circus}"); -// Assert.That(value, Is.EqualTo("Times")); +// Assert.That(result, Is.EqualTo(0)); // } // Test setting a key containing unbalanced { with delineation From afeb5d4917506ced2a1e4098aeb4bc94ae64fc06 Mon Sep 17 00:00:00 2001 From: Dan Lake Date: Thu, 14 Feb 2013 20:05:42 -0800 Subject: [PATCH 598/851] Use SortedDictionary in StatsManager instead of regular Dictionary so stats will interate and print in a defined order --- .../Monitoring/SimExtraStatsCollector.cs | 4 +- OpenSim/Framework/Monitoring/StatsManager.cs | 40 +++++++++---------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/OpenSim/Framework/Monitoring/SimExtraStatsCollector.cs b/OpenSim/Framework/Monitoring/SimExtraStatsCollector.cs index aa862027b8..3765efb361 100644 --- a/OpenSim/Framework/Monitoring/SimExtraStatsCollector.cs +++ b/OpenSim/Framework/Monitoring/SimExtraStatsCollector.cs @@ -359,11 +359,11 @@ Asset service request failures: {3}" + Environment.NewLine, inPacketsPerSecond, outPacketsPerSecond, pendingDownloads, pendingUploads, unackedBytes, totalFrameTime, netFrameTime, physicsFrameTime, otherFrameTime, agentFrameTime, imageFrameTime)); - Dictionary> sceneStats; + SortedDictionary> sceneStats; if (StatsManager.TryGetStats("scene", out sceneStats)) { - foreach (KeyValuePair> kvp in sceneStats) + foreach (KeyValuePair> kvp in sceneStats) { foreach (Stat stat in kvp.Value.Values) { diff --git a/OpenSim/Framework/Monitoring/StatsManager.cs b/OpenSim/Framework/Monitoring/StatsManager.cs index 0762b01c7d..910907eb31 100644 --- a/OpenSim/Framework/Monitoring/StatsManager.cs +++ b/OpenSim/Framework/Monitoring/StatsManager.cs @@ -51,8 +51,8 @@ namespace OpenSim.Framework.Monitoring /// /// Do not add or remove directly from this dictionary. /// - public static Dictionary>> RegisteredStats - = new Dictionary>>(); + public static SortedDictionary>> RegisteredStats + = new SortedDictionary>>(); private static AssetStatsCollector assetStats; private static UserStatsCollector userStats; @@ -101,7 +101,7 @@ namespace OpenSim.Framework.Monitoring } else { - Dictionary> category; + SortedDictionary> category; if (!RegisteredStats.TryGetValue(categoryName, out category)) { con.OutputFormat("No such category as {0}", categoryName); @@ -120,7 +120,7 @@ namespace OpenSim.Framework.Monitoring } private static void OutputCategoryStatsToConsole( - ICommandConsole con, Dictionary> category) + ICommandConsole con, SortedDictionary> category) { foreach (var container in category.Values) { @@ -160,8 +160,8 @@ namespace OpenSim.Framework.Monitoring /// public static bool RegisterStat(Stat stat) { - Dictionary> category = null, newCategory; - Dictionary container = null, newContainer; + SortedDictionary> category = null, newCategory; + SortedDictionary container = null, newContainer; lock (RegisteredStats) { @@ -175,14 +175,14 @@ namespace OpenSim.Framework.Monitoring // This means that we don't need to lock or copy them on iteration, which will be a much more // common operation after startup. if (container != null) - newContainer = new Dictionary(container); + newContainer = new SortedDictionary(container); else - newContainer = new Dictionary(); + newContainer = new SortedDictionary(); if (category != null) - newCategory = new Dictionary>(category); + newCategory = new SortedDictionary>(category); else - newCategory = new Dictionary>(); + newCategory = new SortedDictionary>(); newContainer[stat.ShortName] = stat; newCategory[stat.Container] = newContainer; @@ -196,21 +196,21 @@ namespace OpenSim.Framework.Monitoring /// Deregister a statistic /// > /// - /// public static bool DeregisterStat(Stat stat) { - Dictionary> category = null, newCategory; - Dictionary container = null, newContainer; + SortedDictionary> category = null, newCategory; + SortedDictionary container = null, newContainer; lock (RegisteredStats) { if (!TryGetStat(stat, out category, out container)) return false; - newContainer = new Dictionary(container); + newContainer = new SortedDictionary(container); newContainer.Remove(stat.ShortName); - newCategory = new Dictionary>(category); + newCategory = new SortedDictionary>(category); newCategory.Remove(stat.Container); newCategory[stat.Container] = newContainer; @@ -220,15 +220,15 @@ namespace OpenSim.Framework.Monitoring } } - public static bool TryGetStats(string category, out Dictionary> stats) + public static bool TryGetStats(string category, out SortedDictionary> stats) { return RegisteredStats.TryGetValue(category, out stats); } public static bool TryGetStat( Stat stat, - out Dictionary> category, - out Dictionary container) + out SortedDictionary> category, + out SortedDictionary container) { category = null; container = null; @@ -252,9 +252,9 @@ namespace OpenSim.Framework.Monitoring { lock (RegisteredStats) { - foreach (Dictionary> category in RegisteredStats.Values) + foreach (SortedDictionary> category in RegisteredStats.Values) { - foreach (Dictionary container in category.Values) + foreach (SortedDictionary container in category.Values) { foreach (Stat stat in container.Values) { From e9cc22fea48a6d80fccbd624fd9710dfa3830980 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Sat, 16 Feb 2013 00:26:21 +0000 Subject: [PATCH 599/851] Add regression test TestSaveNonRootFolderToIar --- .../Archiver/InventoryArchiveReadRequest.cs | 4 +- .../Archiver/InventoryArchiveUtils.cs | 88 ++++++++++++-- .../Archiver/InventoryArchiveWriteRequest.cs | 2 +- .../Archiver/Tests/InventoryArchiverTests.cs | 84 +++++++++++++- .../Inventory/Archiver/Tests/PathTests.cs | 30 ++--- .../Tests/InventoryAccessModuleTests.cs | 4 +- .../World/Archiver/AssetsRequest.cs | 2 + .../Scenes/Tests/SceneObjectDeRezTests.cs | 2 +- .../Scenes/Tests/TaskInventoryTests.cs | 2 +- .../Scenes/Tests/UserInventoryTests.cs | 6 +- .../Common/Helpers/UserInventoryHelpers.cs | 109 ++++++++++++++---- 11 files changed, 278 insertions(+), 55 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs index ecbd07fab6..98285e9ab6 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveReadRequest.cs @@ -161,7 +161,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver string filePath = "ERROR"; List folderCandidates - = InventoryArchiveUtils.FindFolderByPath( + = InventoryArchiveUtils.FindFoldersByPath( m_scene.InventoryService, m_userInfo.PrincipalID, m_invPath); if (folderCandidates.Count == 0) @@ -296,7 +296,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver // iar name and try to find that instead. string plainPath = ArchiveConstants.ExtractPlainPathFromIarPath(archivePath); List folderCandidates - = InventoryArchiveUtils.FindFolderByPath( + = InventoryArchiveUtils.FindFoldersByPath( m_scene.InventoryService, m_userInfo.PrincipalID, plainPath); if (folderCandidates.Count != 0) diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveUtils.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveUtils.cs index 0d90a158c3..dbaf2aa935 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveUtils.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveUtils.cs @@ -52,13 +52,82 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver /// /// Find a folder given a PATH_DELIMITER delimited path starting from a user's root folder /// - /// + /// /// This method does not handle paths that contain multiple delimitors /// /// FIXME: We have no way of distinguishing folders with the same path /// /// FIXME: Delimitors which occur in names themselves are not currently escapable. + /// + /// + /// Inventory service to query + /// + /// + /// User id to search + /// + /// + /// The path to the required folder. + /// It this is empty or consists only of the PATH_DELIMTER then this folder itself is returned. + /// + /// The folder found. Please note that if there are multiple folders with the same name then an + /// unspecified one will be returned. If no such folder eixsts then null is returned + public static InventoryFolderBase FindFolderByPath( + IInventoryService inventoryService, UUID userId, string path) + { + List folders = FindFoldersByPath(inventoryService, userId, path); + + if (folders.Count == 0) + return null; + else + return folders[0]; + } + + /// + /// Find a folder given a PATH_DELIMITER delimited path starting from a given folder + /// + /// + /// This method does not handle paths that contain multiple delimitors /// + /// FIXME: We have no way of distinguishing folders with the same path + /// + /// FIXME: Delimitors which occur in names themselves are not currently escapable. + /// + /// + /// Inventory service to query + /// + /// + /// The folder from which the path starts + /// + /// + /// The path to the required folder. + /// It this is empty or consists only of the PATH_DELIMTER then this folder itself is returned. + /// + /// The folder found. Please note that if there are multiple folders with the same name then an + /// unspecified one will be returned. If no such folder eixsts then null is returned + public static InventoryFolderBase FindFolderByPath( + IInventoryService inventoryService, InventoryFolderBase startFolder, string path) + { + if (null == startFolder) + return null; + + List folders = FindFoldersByPath(inventoryService, startFolder, path); + + if (folders.Count == 0) + return null; + else + return folders[0]; + } + + /// + /// Find a set of folders given a PATH_DELIMITER delimited path starting from a user's root folder + /// + /// + /// This method does not handle paths that contain multiple delimitors + /// + /// FIXME: We have no way of distinguishing folders with the same path + /// + /// FIXME: Delimitors which occur in names themselves are not currently escapable. + /// /// /// Inventory service to query /// @@ -70,7 +139,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver /// It this is empty or consists only of the PATH_DELIMTER then this folder itself is returned. /// /// An empty list if the folder is not found, otherwise a list of all folders that match the name - public static List FindFolderByPath( + public static List FindFoldersByPath( IInventoryService inventoryService, UUID userId, string path) { InventoryFolderBase rootFolder = inventoryService.GetRootFolder(userId); @@ -78,19 +147,19 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver if (null == rootFolder) return new List(); - return FindFolderByPath(inventoryService, rootFolder, path); + return FindFoldersByPath(inventoryService, rootFolder, path); } /// - /// Find a folder given a PATH_DELIMITER delimited path starting from this folder + /// Find a set of folders given a PATH_DELIMITER delimited path starting from this folder /// - /// + /// /// This method does not handle paths that contain multiple delimitors /// /// FIXME: We have no way of distinguishing folders with the same path. /// /// FIXME: Delimitors which occur in names themselves are not currently escapable. - /// + /// /// /// Inventory service to query /// @@ -102,7 +171,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver /// It this is empty or consists only of the PATH_DELIMTER then this folder itself is returned. /// /// An empty list if the folder is not found, otherwise a list of all folders that match the name - public static List FindFolderByPath( + public static List FindFoldersByPath( IInventoryService inventoryService, InventoryFolderBase startFolder, string path) { List foundFolders = new List(); @@ -133,12 +202,15 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver InventoryCollection contents = inventoryService.GetFolderContent(startFolder.Owner, startFolder.ID); +// m_log.DebugFormat( +// "Found {0} folders in {1} for {2}", contents.Folders.Count, startFolder.Name, startFolder.Owner); + foreach (InventoryFolderBase folder in contents.Folders) { if (folder.Name == components[0]) { if (components.Length > 1) - foundFolders.AddRange(FindFolderByPath(inventoryService, folder, components[1])); + foundFolders.AddRange(FindFoldersByPath(inventoryService, folder, components[1])); else foundFolders.Add(folder); } diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs index 4c85637068..d70349879a 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs @@ -289,7 +289,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver { m_invPath = m_invPath.Remove(m_invPath.LastIndexOf(InventoryFolderImpl.PATH_DELIMITER)); List candidateFolders - = InventoryArchiveUtils.FindFolderByPath(m_scene.InventoryService, rootFolder, m_invPath); + = InventoryArchiveUtils.FindFoldersByPath(m_scene.InventoryService, rootFolder, m_invPath); if (candidateFolders.Count > 0) inventoryFolder = candidateFolders[0]; } diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs index 06f6e49ab6..38254e5d7f 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs @@ -121,6 +121,86 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests Assert.That(iarr.ControlFileLoaded, Is.True); } + + [Test] + public void TestSaveNonRootFolderToIar() + { + TestHelpers.InMethod(); + TestHelpers.EnableLogging(); + + string userFirstName = "Jock"; + string userLastName = "Stirrup"; + string userPassword = "troll"; + UUID userId = TestHelpers.ParseTail(0x20); + + UserAccountHelpers.CreateUserWithInventory(m_scene, userFirstName, userLastName, userId, userPassword); + + // Create base folder + InventoryFolderBase f1 + = UserInventoryHelpers.CreateInventoryFolder(m_scene.InventoryService, userId, "f1", true); + + // Create item1 + SceneObjectGroup so1 = SceneHelpers.CreateSceneObject(1, userId, "My Little Dog Object", 0x5); + InventoryItemBase i1 = UserInventoryHelpers.AddInventoryItem(m_scene, so1, 0x50, 0x60, "f1"); + + // Create embedded folder + InventoryFolderBase f1_1 + = UserInventoryHelpers.CreateInventoryFolder(m_scene.InventoryService, userId, "f1/f1.1", true); + + // Create embedded item + SceneObjectGroup so1_1 = SceneHelpers.CreateSceneObject(1, userId, "My Little Cat Object", 0x6); + InventoryItemBase i2 = UserInventoryHelpers.AddInventoryItem(m_scene, so1_1, 0x500, 0x600, "f1/f1.1"); + + MemoryStream archiveWriteStream = new MemoryStream(); + m_archiverModule.OnInventoryArchiveSaved += SaveCompleted; + + mre.Reset(); + m_archiverModule.ArchiveInventory( + Guid.NewGuid(), userFirstName, userLastName, "f1", userPassword, archiveWriteStream); + mre.WaitOne(60000, false); + + // Test created iar + byte[] archive = archiveWriteStream.ToArray(); + MemoryStream archiveReadStream = new MemoryStream(archive); + TarArchiveReader tar = new TarArchiveReader(archiveReadStream); + +// InventoryArchiveUtils. + bool gotf1 = false, gotf1_1 = false, gotso1 = false, gotso2 = false; + + string f1FileName + = string.Format("{0}{1}", ArchiveConstants.INVENTORY_PATH, InventoryArchiveWriteRequest.CreateArchiveFolderName(f1)); + string f1_1FileName + = string.Format("{0}{1}", f1FileName, InventoryArchiveWriteRequest.CreateArchiveFolderName(f1_1)); + string so1FileName + = string.Format("{0}{1}", f1FileName, InventoryArchiveWriteRequest.CreateArchiveItemName(i1)); + string so2FileName + = string.Format("{0}{1}", f1_1FileName, InventoryArchiveWriteRequest.CreateArchiveItemName(i2)); + + string filePath; + TarArchiveReader.TarEntryType tarEntryType; + + while (tar.ReadEntry(out filePath, out tarEntryType) != null) + { +// Console.WriteLine("Got {0}", filePath); + + if (filePath == f1FileName) + gotf1 = true; + else if (filePath == f1_1FileName) + gotf1_1 = true; + else if (filePath == so1FileName) + gotso1 = true; + else if (filePath == so2FileName) + gotso2 = true; + } + +// Assert.That(gotControlFile, Is.True, "No control file in archive"); + Assert.That(gotf1, Is.True); + Assert.That(gotf1_1, Is.True); + Assert.That(gotso1, Is.True); + Assert.That(gotso2, Is.True); + + // TODO: Test presence of more files and contents of files. + } /// /// Test saving a single inventory item to an IAR @@ -155,7 +235,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests item1.AssetID = asset1.FullID; item1.ID = item1Id; InventoryFolderBase objsFolder - = InventoryArchiveUtils.FindFolderByPath(m_scene.InventoryService, userId, "Objects")[0]; + = InventoryArchiveUtils.FindFoldersByPath(m_scene.InventoryService, userId, "Objects")[0]; item1.Folder = objsFolder.ID; m_scene.AddInventoryItem(item1); @@ -250,7 +330,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests item1.AssetID = asset1.FullID; item1.ID = item1Id; InventoryFolderBase objsFolder - = InventoryArchiveUtils.FindFolderByPath(m_scene.InventoryService, userId, "Objects")[0]; + = InventoryArchiveUtils.FindFoldersByPath(m_scene.InventoryService, userId, "Objects")[0]; item1.Folder = objsFolder.ID; m_scene.AddInventoryItem(item1); diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/PathTests.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/PathTests.cs index 6eb3605235..1871576448 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/PathTests.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/PathTests.cs @@ -101,7 +101,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests item1.AssetID = asset1.FullID; item1.ID = item1Id; InventoryFolderBase objsFolder - = InventoryArchiveUtils.FindFolderByPath(scene.InventoryService, userId, "Objects")[0]; + = InventoryArchiveUtils.FindFoldersByPath(scene.InventoryService, userId, "Objects")[0]; item1.Folder = objsFolder.ID; scene.AddInventoryItem(item1); @@ -193,7 +193,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests Assert.That(foundItem1, Is.Not.Null, "Didn't find loaded item 1"); // Now try loading to a root child folder - UserInventoryHelpers.CreateInventoryFolder(scene.InventoryService, m_uaMT.PrincipalID, "xA"); + UserInventoryHelpers.CreateInventoryFolder(scene.InventoryService, m_uaMT.PrincipalID, "xA", false); MemoryStream archiveReadStream = new MemoryStream(m_iarStream.ToArray()); archiverModule.DearchiveInventory(m_uaMT.FirstName, m_uaMT.LastName, "xA", "meowfood", archiveReadStream); @@ -202,7 +202,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests Assert.That(foundItem2, Is.Not.Null, "Didn't find loaded item 2"); // Now try loading to a more deeply nested folder - UserInventoryHelpers.CreateInventoryFolder(scene.InventoryService, m_uaMT.PrincipalID, "xB/xC"); + UserInventoryHelpers.CreateInventoryFolder(scene.InventoryService, m_uaMT.PrincipalID, "xB/xC", false); archiveReadStream = new MemoryStream(archiveReadStream.ToArray()); archiverModule.DearchiveInventory(m_uaMT.FirstName, m_uaMT.LastName, "xB/xC", "meowfood", archiveReadStream); @@ -287,7 +287,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests item1.AssetID = asset1.FullID; item1.ID = item1Id; InventoryFolderBase objsFolder - = InventoryArchiveUtils.FindFolderByPath(scene.InventoryService, userId, "Objects")[0]; + = InventoryArchiveUtils.FindFoldersByPath(scene.InventoryService, userId, "Objects")[0]; item1.Folder = objsFolder.ID; scene.AddInventoryItem(item1); @@ -351,12 +351,12 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests foldersCreated, nodesLoaded); List folder1Candidates - = InventoryArchiveUtils.FindFolderByPath(scene.InventoryService, ua1.PrincipalID, folder1Name); + = InventoryArchiveUtils.FindFoldersByPath(scene.InventoryService, ua1.PrincipalID, folder1Name); Assert.That(folder1Candidates.Count, Is.EqualTo(1)); InventoryFolderBase folder1 = folder1Candidates[0]; List folder2aCandidates - = InventoryArchiveUtils.FindFolderByPath(scene.InventoryService, folder1, folder2aName); + = InventoryArchiveUtils.FindFoldersByPath(scene.InventoryService, folder1, folder2aName); Assert.That(folder2aCandidates.Count, Is.EqualTo(1)); } @@ -368,17 +368,17 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests foldersCreated, nodesLoaded); List folder1Candidates - = InventoryArchiveUtils.FindFolderByPath(scene.InventoryService, ua1.PrincipalID, folder1Name); + = InventoryArchiveUtils.FindFoldersByPath(scene.InventoryService, ua1.PrincipalID, folder1Name); Assert.That(folder1Candidates.Count, Is.EqualTo(1)); InventoryFolderBase folder1 = folder1Candidates[0]; List folder2aCandidates - = InventoryArchiveUtils.FindFolderByPath(scene.InventoryService, folder1, folder2aName); + = InventoryArchiveUtils.FindFoldersByPath(scene.InventoryService, folder1, folder2aName); Assert.That(folder2aCandidates.Count, Is.EqualTo(1)); List folder2bCandidates - = InventoryArchiveUtils.FindFolderByPath(scene.InventoryService, folder1, folder2bName); + = InventoryArchiveUtils.FindFoldersByPath(scene.InventoryService, folder1, folder2bName); Assert.That(folder2bCandidates.Count, Is.EqualTo(1)); } } @@ -401,7 +401,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests InventoryFolderBase folder1 = UserInventoryHelpers.CreateInventoryFolder( - scene.InventoryService, ua1.PrincipalID, folder1ExistingName); + scene.InventoryService, ua1.PrincipalID, folder1ExistingName, false); string folder1ArchiveName = InventoryArchiveWriteRequest.CreateArchiveFolderName(folder1ExistingName, UUID.Random()); string folder2ArchiveName = InventoryArchiveWriteRequest.CreateArchiveFolderName(folder2Name, UUID.Random()); @@ -414,7 +414,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests new Dictionary(), new HashSet()); List folder1PostCandidates - = InventoryArchiveUtils.FindFolderByPath(scene.InventoryService, ua1.PrincipalID, folder1ExistingName); + = InventoryArchiveUtils.FindFoldersByPath(scene.InventoryService, ua1.PrincipalID, folder1ExistingName); Assert.That(folder1PostCandidates.Count, Is.EqualTo(2)); // FIXME: Temporarily, we're going to do something messy to make sure we pick up the created folder. @@ -430,7 +430,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests // Assert.That(folder1Post.ID, Is.EqualTo(folder1.ID)); List folder2PostCandidates - = InventoryArchiveUtils.FindFolderByPath(scene.InventoryService, folder1Post, "b"); + = InventoryArchiveUtils.FindFoldersByPath(scene.InventoryService, folder1Post, "b"); Assert.That(folder2PostCandidates.Count, Is.EqualTo(1)); } @@ -452,7 +452,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests InventoryFolderBase folder1 = UserInventoryHelpers.CreateInventoryFolder( - scene.InventoryService, ua1.PrincipalID, folder1ExistingName); + scene.InventoryService, ua1.PrincipalID, folder1ExistingName, false); string folder1ArchiveName = InventoryArchiveWriteRequest.CreateArchiveFolderName(folder1ExistingName, UUID.Random()); string folder2ArchiveName = InventoryArchiveWriteRequest.CreateArchiveFolderName(folder2Name, UUID.Random()); @@ -465,12 +465,12 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests new Dictionary(), new HashSet()); List folder1PostCandidates - = InventoryArchiveUtils.FindFolderByPath(scene.InventoryService, ua1.PrincipalID, folder1ExistingName); + = InventoryArchiveUtils.FindFoldersByPath(scene.InventoryService, ua1.PrincipalID, folder1ExistingName); Assert.That(folder1PostCandidates.Count, Is.EqualTo(1)); Assert.That(folder1PostCandidates[0].ID, Is.EqualTo(folder1.ID)); List folder2PostCandidates - = InventoryArchiveUtils.FindFolderByPath(scene.InventoryService, folder1PostCandidates[0], "b"); + = InventoryArchiveUtils.FindFoldersByPath(scene.InventoryService, folder1PostCandidates[0], "b"); Assert.That(folder2PostCandidates.Count, Is.EqualTo(1)); } } diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/Tests/InventoryAccessModuleTests.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/Tests/InventoryAccessModuleTests.cs index ac25a9346b..ad1a0e1a96 100644 --- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/Tests/InventoryAccessModuleTests.cs +++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/Tests/InventoryAccessModuleTests.cs @@ -109,7 +109,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess.Tests item1.AssetID = asset1.FullID; item1.ID = item1Id; InventoryFolderBase objsFolder - = InventoryArchiveUtils.FindFolderByPath(m_scene.InventoryService, m_userId, "Objects")[0]; + = InventoryArchiveUtils.FindFoldersByPath(m_scene.InventoryService, m_userId, "Objects")[0]; item1.Folder = objsFolder.ID; m_scene.AddInventoryItem(item1); @@ -159,7 +159,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess.Tests item1.AssetID = asset1.FullID; item1.ID = item1Id; InventoryFolderBase objsFolder - = InventoryArchiveUtils.FindFolderByPath(m_scene.InventoryService, m_userId, "Objects")[0]; + = InventoryArchiveUtils.FindFoldersByPath(m_scene.InventoryService, m_userId, "Objects")[0]; item1.Folder = objsFolder.ID; m_scene.AddInventoryItem(item1); diff --git a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs index b22bcf971d..96000234ff 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs @@ -156,6 +156,8 @@ namespace OpenSim.Region.CoreModules.World.Archiver foreach (KeyValuePair kvp in m_uuids) { +// m_log.DebugFormat("[ARCHIVER]: Requesting asset {0}", kvp.Key); + // m_assetService.Get(kvp.Key.ToString(), kvp.Value, PreAssetRequestCallback); AssetBase asset = m_assetService.Get(kvp.Key.ToString()); PreAssetRequestCallback(kvp.Key.ToString(), kvp.Value, asset); diff --git a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectDeRezTests.cs b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectDeRezTests.cs index c1522e7b61..52ad5380e3 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectDeRezTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectDeRezTests.cs @@ -164,7 +164,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests UserAccount ua = UserAccountHelpers.CreateUserWithInventory(scene, agentId); InventoryFolderBase folder1 - = UserInventoryHelpers.CreateInventoryFolder(scene.InventoryService, ua.PrincipalID, "folder1"); + = UserInventoryHelpers.CreateInventoryFolder(scene.InventoryService, ua.PrincipalID, "folder1", false); IClientAPI client = SceneHelpers.AddScenePresence(scene, agentId).ControllingClient; scene.DeRezObjects(client, new List() { so.LocalId }, UUID.Zero, DeRezAction.Take, folder1.ID); diff --git a/OpenSim/Region/Framework/Scenes/Tests/TaskInventoryTests.cs b/OpenSim/Region/Framework/Scenes/Tests/TaskInventoryTests.cs index 0b461f5f91..df819ec7bc 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/TaskInventoryTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/TaskInventoryTests.cs @@ -133,7 +133,7 @@ namespace OpenSim.Region.Framework.Tests scene, sop1, "ncItem", TestHelpers.ParseTail(0x800), TestHelpers.ParseTail(0x900)); InventoryFolderBase folder - = InventoryArchiveUtils.FindFolderByPath(scene.InventoryService, user1.PrincipalID, "Objects")[0]; + = InventoryArchiveUtils.FindFoldersByPath(scene.InventoryService, user1.PrincipalID, "Objects")[0]; // Perform test scene.MoveTaskInventoryItem(user1.PrincipalID, folder.ID, sop1, sopItem1.ItemID); diff --git a/OpenSim/Region/Framework/Scenes/Tests/UserInventoryTests.cs b/OpenSim/Region/Framework/Scenes/Tests/UserInventoryTests.cs index 9457ebb374..e50b4da6a9 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/UserInventoryTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/UserInventoryTests.cs @@ -64,7 +64,7 @@ namespace OpenSim.Region.Framework.Tests Scene scene = new SceneHelpers().SetupScene(); UserAccount user1 = UserAccountHelpers.CreateUserWithInventory(scene, TestHelpers.ParseTail(1001)); - UserInventoryHelpers.CreateInventoryFolder(scene.InventoryService, user1.PrincipalID, foldersName); + UserInventoryHelpers.CreateInventoryFolder(scene.InventoryService, user1.PrincipalID, foldersName, false); List oneFolder = UserInventoryHelpers.GetInventoryFolders(scene.InventoryService, user1.PrincipalID, foldersName); @@ -73,7 +73,7 @@ namespace OpenSim.Region.Framework.Tests InventoryFolderBase firstRetrievedFolder = oneFolder[0]; Assert.That(firstRetrievedFolder.Name, Is.EqualTo(foldersName)); - UserInventoryHelpers.CreateInventoryFolder(scene.InventoryService, user1.PrincipalID, foldersName); + UserInventoryHelpers.CreateInventoryFolder(scene.InventoryService, user1.PrincipalID, foldersName, false); List twoFolders = UserInventoryHelpers.GetInventoryFolders(scene.InventoryService, user1.PrincipalID, foldersName); @@ -121,7 +121,7 @@ namespace OpenSim.Region.Framework.Tests UserAccount user1 = UserAccountHelpers.CreateUserWithInventory(scene, TestHelpers.ParseTail(1001)); UserAccount user2 = UserAccountHelpers.CreateUserWithInventory(scene, TestHelpers.ParseTail(1002)); InventoryFolderBase folder1 - = UserInventoryHelpers.CreateInventoryFolder(scene.InventoryService, user1.PrincipalID, "folder1"); + = UserInventoryHelpers.CreateInventoryFolder(scene.InventoryService, user1.PrincipalID, "folder1", false); scene.GiveInventoryFolder(user2.PrincipalID, user1.PrincipalID, folder1.ID, UUID.Zero); diff --git a/OpenSim/Tests/Common/Helpers/UserInventoryHelpers.cs b/OpenSim/Tests/Common/Helpers/UserInventoryHelpers.cs index 87d9410f22..a1794c972a 100644 --- a/OpenSim/Tests/Common/Helpers/UserInventoryHelpers.cs +++ b/OpenSim/Tests/Common/Helpers/UserInventoryHelpers.cs @@ -45,6 +45,9 @@ namespace OpenSim.Tests.Common /// /// Add an existing scene object as an item in the user's inventory. /// + /// + /// Will be added to the system Objects folder. + /// /// /// /// @@ -63,7 +66,29 @@ namespace OpenSim.Tests.Common } /// - /// Creates a notecard in the objects folder and specify an item id. + /// Add an existing scene object as an item in the user's inventory at the given path. + /// + /// + /// + /// + /// + /// The inventory item created. + public static InventoryItemBase AddInventoryItem( + Scene scene, SceneObjectGroup so, int inventoryIdTail, int assetIdTail, string path) + { + return AddInventoryItem( + scene, + so.Name, + TestHelpers.ParseTail(inventoryIdTail), + InventoryType.Object, + AssetHelpers.CreateAsset(TestHelpers.ParseTail(assetIdTail), so), + so.OwnerID, + path); + } + + /// + /// Adds the given item to the existing system folder for its type (e.g. an object will go in the "Objects" + /// folder). /// /// /// @@ -74,6 +99,25 @@ namespace OpenSim.Tests.Common /// private static InventoryItemBase AddInventoryItem( Scene scene, string itemName, UUID itemId, InventoryType itemType, AssetBase asset, UUID userId) + { + return AddInventoryItem( + scene, itemName, itemId, itemType, asset, userId, + scene.InventoryService.GetFolderForType(userId, (AssetType)asset.Type).Name); + } + + /// + /// Adds the given item to an inventory folder + /// + /// + /// + /// + /// + /// The serialized asset for this item + /// + /// Existing inventory path at which to add. + /// + private static InventoryItemBase AddInventoryItem( + Scene scene, string itemName, UUID itemId, InventoryType itemType, AssetBase asset, UUID userId, string path) { scene.AssetService.Store(asset); @@ -85,7 +129,7 @@ namespace OpenSim.Tests.Common item.AssetType = asset.Type; item.InvType = (int)itemType; - InventoryFolderBase folder = scene.InventoryService.GetFolderForType(userId, (AssetType)asset.Type); + InventoryFolderBase folder = InventoryArchiveUtils.FindFoldersByPath(scene.InventoryService, userId, path)[0]; item.Folder = folder.ID; scene.AddInventoryItem(item); @@ -156,58 +200,83 @@ namespace OpenSim.Tests.Common /// /// Create inventory folders starting from the user's root folder. /// - /// - /// Ignores any existing folders with the same name - /// /// /// /// /// The folders to create. Multiple folders can be specified on a path delimited by the PATH_DELIMITER /// + /// + /// If true, then folders in the path which already the same name are + /// used. This applies to the terminal folder as well. + /// If false, then all folders in the path are created, even if there is already a folder at a particular + /// level with the same name. + /// /// /// The folder created. If the path contains multiple folders then the last one created is returned. /// Will return null if the root folder could not be found. /// public static InventoryFolderBase CreateInventoryFolder( - IInventoryService inventoryService, UUID userId, string path) + IInventoryService inventoryService, UUID userId, string path, bool useExistingFolders) { InventoryFolderBase rootFolder = inventoryService.GetRootFolder(userId); if (null == rootFolder) return null; - return CreateInventoryFolder(inventoryService, rootFolder, path); + return CreateInventoryFolder(inventoryService, rootFolder, path, useExistingFolders); } /// /// Create inventory folders starting from a given parent folder /// - /// - /// Ignores any existing folders with the same name - /// + /// + /// If any stem of the path names folders that already exist then these are not recreated. This includes the + /// final folder. + /// TODO: May need to make it an option to create duplicate folders. + /// /// /// /// - /// The folders to create. Multiple folders can be specified on a path delimited by the PATH_DELIMITER + /// The folder to create. + /// + /// + /// If true, then folders in the path which already the same name are + /// used. This applies to the terminal folder as well. + /// If false, then all folders in the path are created, even if there is already a folder at a particular + /// level with the same name. /// /// /// The folder created. If the path contains multiple folders then the last one created is returned. /// public static InventoryFolderBase CreateInventoryFolder( - IInventoryService inventoryService, InventoryFolderBase parentFolder, string path) + IInventoryService inventoryService, InventoryFolderBase parentFolder, string path, bool useExistingFolders) { string[] components = path.Split(new string[] { PATH_DELIMITER }, 2, StringSplitOptions.None); - InventoryFolderBase newFolder - = new InventoryFolderBase( - UUID.Random(), components[0], parentFolder.Owner, (short)AssetType.Unknown, parentFolder.ID, 0); - - inventoryService.AddFolder(newFolder); + InventoryFolderBase folder = null; + + if (useExistingFolders) + folder = InventoryArchiveUtils.FindFolderByPath(inventoryService, parentFolder, components[0]); + + if (folder == null) + { +// Console.WriteLine("Creating folder {0} at {1}", components[0], parentFolder.Name); + + folder + = new InventoryFolderBase( + UUID.Random(), components[0], parentFolder.Owner, (short)AssetType.Unknown, parentFolder.ID, 0); + + inventoryService.AddFolder(folder); + } +// else +// { +// Console.WriteLine("Found existing folder {0}", folder.Name); +// } if (components.Length > 1) - return CreateInventoryFolder(inventoryService, newFolder, components[1]); + return CreateInventoryFolder(inventoryService, folder, components[1], useExistingFolders); else - return newFolder; + return folder; } /// @@ -237,7 +306,7 @@ namespace OpenSim.Tests.Common /// An empty list if no matching folders were found public static List GetInventoryFolders(IInventoryService inventoryService, UUID userId, string path) { - return InventoryArchiveUtils.FindFolderByPath(inventoryService, userId, path); + return InventoryArchiveUtils.FindFoldersByPath(inventoryService, userId, path); } /// From d54d31807af8b5e2b85897d0bb744d9d34055dff Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Sat, 16 Feb 2013 00:49:06 +0000 Subject: [PATCH 600/851] Make it so that "load iar / ..." does not save the 'root' "My Inventory" folder. Really "My Inventory" is just the name of the root, it isn't a folder in its own right. This also makes it more intuitive for users to save whole inventory iars for backup/later restoration, as they don't need to remember to use /* /* will still work and this is a special case just for the root If you want to save only the contents of other folders (rather than the folder itself), you still need to specify something like a/b/* Added a regression test for this case. --- .../Archiver/InventoryArchiveWriteRequest.cs | 6 ++ .../Archiver/Tests/InventoryArchiverTests.cs | 55 ++++++++++++++++++- 2 files changed, 60 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs index d70349879a..4ec8ae7aa7 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs @@ -272,6 +272,12 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver saveFolderContentsOnly = true; maxComponentIndex--; } + else if (maxComponentIndex == -1) + { + // If the user has just specified "/", then don't save the root "My Inventory" folder. This is + // more intuitive then requiring the user to specify "/*" for this. + saveFolderContentsOnly = true; + } m_invPath = String.Empty; for (int i = 0; i <= maxComponentIndex; i++) diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs index 38254e5d7f..7ff29e5ef0 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs @@ -122,11 +122,64 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests Assert.That(iarr.ControlFileLoaded, Is.True); } + [Test] + public void TestSaveRootFolderToIar() + { + TestHelpers.InMethod(); +// TestHelpers.EnableLogging(); + + string userFirstName = "Jock"; + string userLastName = "Stirrup"; + string userPassword = "troll"; + UUID userId = TestHelpers.ParseTail(0x20); + + UserAccountHelpers.CreateUserWithInventory(m_scene, userFirstName, userLastName, userId, userPassword); + + MemoryStream archiveWriteStream = new MemoryStream(); + m_archiverModule.OnInventoryArchiveSaved += SaveCompleted; + + mre.Reset(); + m_archiverModule.ArchiveInventory( + Guid.NewGuid(), userFirstName, userLastName, "/", userPassword, archiveWriteStream); + mre.WaitOne(60000, false); + + // Test created iar + byte[] archive = archiveWriteStream.ToArray(); + MemoryStream archiveReadStream = new MemoryStream(archive); + TarArchiveReader tar = new TarArchiveReader(archiveReadStream); + +// InventoryArchiveUtils. + bool gotObjectsFolder = false; + + string objectsFolderName + = string.Format( + "{0}{1}", + ArchiveConstants.INVENTORY_PATH, + InventoryArchiveWriteRequest.CreateArchiveFolderName( + UserInventoryHelpers.GetInventoryFolder(m_scene.InventoryService, userId, "Objects"))); + + string filePath; + TarArchiveReader.TarEntryType tarEntryType; + + while (tar.ReadEntry(out filePath, out tarEntryType) != null) + { +// Console.WriteLine("Got {0}", filePath); + + // Lazily, we only bother to look for the system objects folder created when we call CreateUserWithInventory() + // XXX: But really we need to stop all that stuff being created in tests or check for such folders + // more thoroughly + if (filePath == objectsFolderName) + gotObjectsFolder = true; + } + + Assert.That(gotObjectsFolder, Is.True); + } + [Test] public void TestSaveNonRootFolderToIar() { TestHelpers.InMethod(); - TestHelpers.EnableLogging(); +// TestHelpers.EnableLogging(); string userFirstName = "Jock"; string userLastName = "Stirrup"; From 7d7736dc738c92261bbdcbe2873fd669f51219ce Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Sat, 16 Feb 2013 01:57:42 +0000 Subject: [PATCH 601/851] Separate IAR tests into separate files for load/save/loadpath tests --- ...ts.cs => InventoryArchiveLoadPathTests.cs} | 121 +---------- .../Tests/InventoryArchiveLoadTests.cs | 194 ++++++++++++++++++ ...rTests.cs => InventoryArchiveSaveTests.cs} | 128 +----------- 3 files changed, 198 insertions(+), 245 deletions(-) rename OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/{PathTests.cs => InventoryArchiveLoadPathTests.cs} (77%) create mode 100644 OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiveLoadTests.cs rename OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/{InventoryArchiverTests.cs => InventoryArchiveSaveTests.cs} (73%) diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/PathTests.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiveLoadPathTests.cs similarity index 77% rename from OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/PathTests.cs rename to OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiveLoadPathTests.cs index 1871576448..95f562eefe 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/PathTests.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiveLoadPathTests.cs @@ -48,124 +48,8 @@ using OpenSim.Tests.Common.Mock; namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests { [TestFixture] - public class PathTests : InventoryArchiveTestCase + public class InventoryArchiveLoadPathTests : InventoryArchiveTestCase { - /// - /// Test saving an inventory path to a V0.1 OpenSim Inventory Archive - /// (subject to change since there is no fixed format yet). - /// - [Test] - public void TestSavePathToIarV0_1() - { - TestHelpers.InMethod(); -// log4net.Config.XmlConfigurator.Configure(); - - InventoryArchiverModule archiverModule = new InventoryArchiverModule(); - - Scene scene = new SceneHelpers().SetupScene(); - SceneHelpers.SetupSceneModules(scene, archiverModule); - - // Create user - string userFirstName = "Jock"; - string userLastName = "Stirrup"; - string userPassword = "troll"; - UUID userId = UUID.Parse("00000000-0000-0000-0000-000000000020"); - UserAccountHelpers.CreateUserWithInventory(scene, userFirstName, userLastName, userId, userPassword); - - // Create asset - SceneObjectGroup object1; - SceneObjectPart part1; - { - string partName = "My Little Dog Object"; - UUID ownerId = UUID.Parse("00000000-0000-0000-0000-000000000040"); - PrimitiveBaseShape shape = PrimitiveBaseShape.CreateSphere(); - Vector3 groupPosition = new Vector3(10, 20, 30); - Quaternion rotationOffset = new Quaternion(20, 30, 40, 50); - Vector3 offsetPosition = new Vector3(5, 10, 15); - - part1 = new SceneObjectPart(ownerId, shape, groupPosition, rotationOffset, offsetPosition); - part1.Name = partName; - - object1 = new SceneObjectGroup(part1); - scene.AddNewSceneObject(object1, false); - } - - UUID asset1Id = UUID.Parse("00000000-0000-0000-0000-000000000060"); - AssetBase asset1 = AssetHelpers.CreateAsset(asset1Id, object1); - scene.AssetService.Store(asset1); - - // Create item - UUID item1Id = UUID.Parse("00000000-0000-0000-0000-000000000080"); - InventoryItemBase item1 = new InventoryItemBase(); - item1.Name = "My Little Dog"; - item1.AssetID = asset1.FullID; - item1.ID = item1Id; - InventoryFolderBase objsFolder - = InventoryArchiveUtils.FindFoldersByPath(scene.InventoryService, userId, "Objects")[0]; - item1.Folder = objsFolder.ID; - scene.AddInventoryItem(item1); - - MemoryStream archiveWriteStream = new MemoryStream(); - archiverModule.OnInventoryArchiveSaved += SaveCompleted; - - // Test saving a particular path - mre.Reset(); - archiverModule.ArchiveInventory( - Guid.NewGuid(), userFirstName, userLastName, "Objects", userPassword, archiveWriteStream); - mre.WaitOne(60000, false); - - byte[] archive = archiveWriteStream.ToArray(); - MemoryStream archiveReadStream = new MemoryStream(archive); - TarArchiveReader tar = new TarArchiveReader(archiveReadStream); - - //bool gotControlFile = false; - bool gotObject1File = false; - //bool gotObject2File = false; - string expectedObject1FileName = InventoryArchiveWriteRequest.CreateArchiveItemName(item1); - string expectedObject1FilePath = string.Format( - "{0}{1}{2}", - ArchiveConstants.INVENTORY_PATH, - InventoryArchiveWriteRequest.CreateArchiveFolderName(objsFolder), - expectedObject1FileName); - - string filePath; - TarArchiveReader.TarEntryType tarEntryType; - -// Console.WriteLine("Reading archive"); - - while (tar.ReadEntry(out filePath, out tarEntryType) != null) - { -// Console.WriteLine("Got {0}", filePath); - -// if (ArchiveConstants.CONTROL_FILE_PATH == filePath) -// { -// gotControlFile = true; -// } - - if (filePath.StartsWith(ArchiveConstants.INVENTORY_PATH) && filePath.EndsWith(".xml")) - { -// string fileName = filePath.Remove(0, "Objects/".Length); -// -// if (fileName.StartsWith(part1.Name)) -// { - Assert.That(expectedObject1FilePath, Is.EqualTo(filePath)); - gotObject1File = true; -// } -// else if (fileName.StartsWith(part2.Name)) -// { -// Assert.That(fileName, Is.EqualTo(expectedObject2FileName)); -// gotObject2File = true; -// } - } - } - -// Assert.That(gotControlFile, Is.True, "No control file in archive"); - Assert.That(gotObject1File, Is.True, "No item1 file in archive"); -// Assert.That(gotObject2File, Is.True, "No object2 file in archive"); - - // TODO: Test presence of more files and contents of files. - } - /// /// Test loading an IAR to various different inventory paths. /// @@ -474,4 +358,5 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests Assert.That(folder2PostCandidates.Count, Is.EqualTo(1)); } } -} \ No newline at end of file +} + diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiveLoadTests.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiveLoadTests.cs new file mode 100644 index 0000000000..1b521fcb50 --- /dev/null +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiveLoadTests.cs @@ -0,0 +1,194 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using System.IO; +using System.Reflection; +using System.Threading; +using NUnit.Framework; +using OpenMetaverse; +using OpenSim.Data; +using OpenSim.Framework; +using OpenSim.Framework.Serialization; +using OpenSim.Framework.Serialization.External; +using OpenSim.Framework.Communications; +using OpenSim.Region.CoreModules.Avatar.Inventory.Archiver; +using OpenSim.Region.CoreModules.World.Serialiser; +using OpenSim.Region.Framework.Scenes; +using OpenSim.Region.Framework.Scenes.Serialization; +using OpenSim.Services.Interfaces; +using OpenSim.Tests.Common; +using OpenSim.Tests.Common.Mock; + +namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests +{ + [TestFixture] + public class InventoryArchiveLoadTests : InventoryArchiveTestCase + { + protected TestScene m_scene; + protected InventoryArchiverModule m_archiverModule; + + [SetUp] + public override void SetUp() + { + base.SetUp(); + + SerialiserModule serialiserModule = new SerialiserModule(); + m_archiverModule = new InventoryArchiverModule(); + + m_scene = new SceneHelpers().SetupScene(); + SceneHelpers.SetupSceneModules(m_scene, serialiserModule, m_archiverModule); + } + + [Test] + public void TestLoadCoalesecedItem() + { + TestHelpers.InMethod(); +// TestHelpers.EnableLogging(); + + UserAccountHelpers.CreateUserWithInventory(m_scene, m_uaLL1, "password"); + m_archiverModule.DearchiveInventory(m_uaLL1.FirstName, m_uaLL1.LastName, "/", "password", m_iarStream); + + InventoryItemBase coaItem + = InventoryArchiveUtils.FindItemByPath(m_scene.InventoryService, m_uaLL1.PrincipalID, m_coaItemName); + + Assert.That(coaItem, Is.Not.Null, "Didn't find loaded item 1"); + + string assetXml = AssetHelpers.ReadAssetAsString(m_scene.AssetService, coaItem.AssetID); + + CoalescedSceneObjects coa; + bool readResult = CoalescedSceneObjectsSerializer.TryFromXml(assetXml, out coa); + + Assert.That(readResult, Is.True); + Assert.That(coa.Count, Is.EqualTo(2)); + + List coaObjects = coa.Objects; + Assert.That(coaObjects[0].UUID, Is.EqualTo(UUID.Parse("00000000-0000-0000-0000-000000000120"))); + Assert.That(coaObjects[0].AbsolutePosition, Is.EqualTo(new Vector3(15, 30, 45))); + + Assert.That(coaObjects[1].UUID, Is.EqualTo(UUID.Parse("00000000-0000-0000-0000-000000000140"))); + Assert.That(coaObjects[1].AbsolutePosition, Is.EqualTo(new Vector3(25, 50, 75))); + } + + /// + /// Test case where a creator account exists for the creator UUID embedded in item metadata and serialized + /// objects. + /// + [Test] + public void TestLoadIarCreatorAccountPresent() + { + TestHelpers.InMethod(); +// log4net.Config.XmlConfigurator.Configure(); + + UserAccountHelpers.CreateUserWithInventory(m_scene, m_uaLL1, "meowfood"); + + m_archiverModule.DearchiveInventory(m_uaLL1.FirstName, m_uaLL1.LastName, "/", "meowfood", m_iarStream); + InventoryItemBase foundItem1 + = InventoryArchiveUtils.FindItemByPath(m_scene.InventoryService, m_uaLL1.PrincipalID, m_item1Name); + + Assert.That( + foundItem1.CreatorId, Is.EqualTo(m_uaLL1.PrincipalID.ToString()), + "Loaded item non-uuid creator doesn't match original"); + Assert.That( + foundItem1.CreatorIdAsUuid, Is.EqualTo(m_uaLL1.PrincipalID), + "Loaded item uuid creator doesn't match original"); + Assert.That(foundItem1.Owner, Is.EqualTo(m_uaLL1.PrincipalID), + "Loaded item owner doesn't match inventory reciever"); + + AssetBase asset1 = m_scene.AssetService.Get(foundItem1.AssetID.ToString()); + string xmlData = Utils.BytesToString(asset1.Data); + SceneObjectGroup sog1 = SceneObjectSerializer.FromOriginalXmlFormat(xmlData); + + Assert.That(sog1.RootPart.CreatorID, Is.EqualTo(m_uaLL1.PrincipalID)); + } + +// /// +// /// Test loading a V0.1 OpenSim Inventory Archive (subject to change since there is no fixed format yet) where +// /// an account exists with the same name as the creator, though not the same id. +// /// +// [Test] +// public void TestLoadIarV0_1SameNameCreator() +// { +// TestHelpers.InMethod(); +// TestHelpers.EnableLogging(); +// +// UserAccountHelpers.CreateUserWithInventory(m_scene, m_uaMT, "meowfood"); +// UserAccountHelpers.CreateUserWithInventory(m_scene, m_uaLL2, "hampshire"); +// +// m_archiverModule.DearchiveInventory(m_uaMT.FirstName, m_uaMT.LastName, "/", "meowfood", m_iarStream); +// InventoryItemBase foundItem1 +// = InventoryArchiveUtils.FindItemByPath(m_scene.InventoryService, m_uaMT.PrincipalID, m_item1Name); +// +// Assert.That( +// foundItem1.CreatorId, Is.EqualTo(m_uaLL2.PrincipalID.ToString()), +// "Loaded item non-uuid creator doesn't match original"); +// Assert.That( +// foundItem1.CreatorIdAsUuid, Is.EqualTo(m_uaLL2.PrincipalID), +// "Loaded item uuid creator doesn't match original"); +// Assert.That(foundItem1.Owner, Is.EqualTo(m_uaMT.PrincipalID), +// "Loaded item owner doesn't match inventory reciever"); +// +// AssetBase asset1 = m_scene.AssetService.Get(foundItem1.AssetID.ToString()); +// string xmlData = Utils.BytesToString(asset1.Data); +// SceneObjectGroup sog1 = SceneObjectSerializer.FromOriginalXmlFormat(xmlData); +// +// Assert.That(sog1.RootPart.CreatorID, Is.EqualTo(m_uaLL2.PrincipalID)); +// } + + /// + /// Test loading a V0.1 OpenSim Inventory Archive (subject to change since there is no fixed format yet) where + /// the creator or an account with the creator's name does not exist within the system. + /// + [Test] + public void TestLoadIarV0_1AbsentCreator() + { + TestHelpers.InMethod(); +// log4net.Config.XmlConfigurator.Configure(); + + UserAccountHelpers.CreateUserWithInventory(m_scene, m_uaMT, "password"); + m_archiverModule.DearchiveInventory(m_uaMT.FirstName, m_uaMT.LastName, "/", "password", m_iarStream); + + InventoryItemBase foundItem1 + = InventoryArchiveUtils.FindItemByPath(m_scene.InventoryService, m_uaMT.PrincipalID, m_item1Name); + + Assert.That(foundItem1, Is.Not.Null, "Didn't find loaded item 1"); + Assert.That( + foundItem1.CreatorId, Is.EqualTo(m_uaMT.PrincipalID.ToString()), + "Loaded item non-uuid creator doesn't match that of the loading user"); + Assert.That( + foundItem1.CreatorIdAsUuid, Is.EqualTo(m_uaMT.PrincipalID), + "Loaded item uuid creator doesn't match that of the loading user"); + + AssetBase asset1 = m_scene.AssetService.Get(foundItem1.AssetID.ToString()); + string xmlData = Utils.BytesToString(asset1.Data); + SceneObjectGroup sog1 = SceneObjectSerializer.FromOriginalXmlFormat(xmlData); + + Assert.That(sog1.RootPart.CreatorID, Is.EqualTo(m_uaMT.PrincipalID)); + } + } +} \ No newline at end of file diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiveSaveTests.cs similarity index 73% rename from OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs rename to OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiveSaveTests.cs index 7ff29e5ef0..5e7e24c148 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiveSaveTests.cs @@ -48,7 +48,7 @@ using OpenSim.Tests.Common.Mock; namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests { [TestFixture] - public class InventoryArchiverTests : InventoryArchiveTestCase + public class InventoryArchiveSaveTests : InventoryArchiveTestCase { protected TestScene m_scene; protected InventoryArchiverModule m_archiverModule; @@ -64,36 +64,6 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests m_scene = new SceneHelpers().SetupScene(); SceneHelpers.SetupSceneModules(m_scene, serialiserModule, m_archiverModule); } - - [Test] - public void TestLoadCoalesecedItem() - { - TestHelpers.InMethod(); -// TestHelpers.EnableLogging(); - - UserAccountHelpers.CreateUserWithInventory(m_scene, m_uaLL1, "password"); - m_archiverModule.DearchiveInventory(m_uaLL1.FirstName, m_uaLL1.LastName, "/", "password", m_iarStream); - - InventoryItemBase coaItem - = InventoryArchiveUtils.FindItemByPath(m_scene.InventoryService, m_uaLL1.PrincipalID, m_coaItemName); - - Assert.That(coaItem, Is.Not.Null, "Didn't find loaded item 1"); - - string assetXml = AssetHelpers.ReadAssetAsString(m_scene.AssetService, coaItem.AssetID); - - CoalescedSceneObjects coa; - bool readResult = CoalescedSceneObjectsSerializer.TryFromXml(assetXml, out coa); - - Assert.That(readResult, Is.True); - Assert.That(coa.Count, Is.EqualTo(2)); - - List coaObjects = coa.Objects; - Assert.That(coaObjects[0].UUID, Is.EqualTo(UUID.Parse("00000000-0000-0000-0000-000000000120"))); - Assert.That(coaObjects[0].AbsolutePosition, Is.EqualTo(new Vector3(15, 30, 45))); - - Assert.That(coaObjects[1].UUID, Is.EqualTo(UUID.Parse("00000000-0000-0000-0000-000000000140"))); - Assert.That(coaObjects[1].AbsolutePosition, Is.EqualTo(new Vector3(25, 50, 75))); - } /// /// Test that the IAR has the required files in the right order. @@ -450,101 +420,5 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests // TODO: Test presence of more files and contents of files. } - - /// - /// Test case where a creator account exists for the creator UUID embedded in item metadata and serialized - /// objects. - /// - [Test] - public void TestLoadIarCreatorAccountPresent() - { - TestHelpers.InMethod(); -// log4net.Config.XmlConfigurator.Configure(); - - UserAccountHelpers.CreateUserWithInventory(m_scene, m_uaLL1, "meowfood"); - - m_archiverModule.DearchiveInventory(m_uaLL1.FirstName, m_uaLL1.LastName, "/", "meowfood", m_iarStream); - InventoryItemBase foundItem1 - = InventoryArchiveUtils.FindItemByPath(m_scene.InventoryService, m_uaLL1.PrincipalID, m_item1Name); - - Assert.That( - foundItem1.CreatorId, Is.EqualTo(m_uaLL1.PrincipalID.ToString()), - "Loaded item non-uuid creator doesn't match original"); - Assert.That( - foundItem1.CreatorIdAsUuid, Is.EqualTo(m_uaLL1.PrincipalID), - "Loaded item uuid creator doesn't match original"); - Assert.That(foundItem1.Owner, Is.EqualTo(m_uaLL1.PrincipalID), - "Loaded item owner doesn't match inventory reciever"); - - AssetBase asset1 = m_scene.AssetService.Get(foundItem1.AssetID.ToString()); - string xmlData = Utils.BytesToString(asset1.Data); - SceneObjectGroup sog1 = SceneObjectSerializer.FromOriginalXmlFormat(xmlData); - - Assert.That(sog1.RootPart.CreatorID, Is.EqualTo(m_uaLL1.PrincipalID)); - } - -// /// -// /// Test loading a V0.1 OpenSim Inventory Archive (subject to change since there is no fixed format yet) where -// /// an account exists with the same name as the creator, though not the same id. -// /// -// [Test] -// public void TestLoadIarV0_1SameNameCreator() -// { -// TestHelpers.InMethod(); -// TestHelpers.EnableLogging(); -// -// UserAccountHelpers.CreateUserWithInventory(m_scene, m_uaMT, "meowfood"); -// UserAccountHelpers.CreateUserWithInventory(m_scene, m_uaLL2, "hampshire"); -// -// m_archiverModule.DearchiveInventory(m_uaMT.FirstName, m_uaMT.LastName, "/", "meowfood", m_iarStream); -// InventoryItemBase foundItem1 -// = InventoryArchiveUtils.FindItemByPath(m_scene.InventoryService, m_uaMT.PrincipalID, m_item1Name); -// -// Assert.That( -// foundItem1.CreatorId, Is.EqualTo(m_uaLL2.PrincipalID.ToString()), -// "Loaded item non-uuid creator doesn't match original"); -// Assert.That( -// foundItem1.CreatorIdAsUuid, Is.EqualTo(m_uaLL2.PrincipalID), -// "Loaded item uuid creator doesn't match original"); -// Assert.That(foundItem1.Owner, Is.EqualTo(m_uaMT.PrincipalID), -// "Loaded item owner doesn't match inventory reciever"); -// -// AssetBase asset1 = m_scene.AssetService.Get(foundItem1.AssetID.ToString()); -// string xmlData = Utils.BytesToString(asset1.Data); -// SceneObjectGroup sog1 = SceneObjectSerializer.FromOriginalXmlFormat(xmlData); -// -// Assert.That(sog1.RootPart.CreatorID, Is.EqualTo(m_uaLL2.PrincipalID)); -// } - - /// - /// Test loading a V0.1 OpenSim Inventory Archive (subject to change since there is no fixed format yet) where - /// the creator or an account with the creator's name does not exist within the system. - /// - [Test] - public void TestLoadIarV0_1AbsentCreator() - { - TestHelpers.InMethod(); -// log4net.Config.XmlConfigurator.Configure(); - - UserAccountHelpers.CreateUserWithInventory(m_scene, m_uaMT, "password"); - m_archiverModule.DearchiveInventory(m_uaMT.FirstName, m_uaMT.LastName, "/", "password", m_iarStream); - - InventoryItemBase foundItem1 - = InventoryArchiveUtils.FindItemByPath(m_scene.InventoryService, m_uaMT.PrincipalID, m_item1Name); - - Assert.That(foundItem1, Is.Not.Null, "Didn't find loaded item 1"); - Assert.That( - foundItem1.CreatorId, Is.EqualTo(m_uaMT.PrincipalID.ToString()), - "Loaded item non-uuid creator doesn't match that of the loading user"); - Assert.That( - foundItem1.CreatorIdAsUuid, Is.EqualTo(m_uaMT.PrincipalID), - "Loaded item uuid creator doesn't match that of the loading user"); - - AssetBase asset1 = m_scene.AssetService.Get(foundItem1.AssetID.ToString()); - string xmlData = Utils.BytesToString(asset1.Data); - SceneObjectGroup sog1 = SceneObjectSerializer.FromOriginalXmlFormat(xmlData); - - Assert.That(sog1.RootPart.CreatorID, Is.EqualTo(m_uaMT.PrincipalID)); - } } } \ No newline at end of file From 3108d18ffb2fc4d2b10eac696842335b25aaf088 Mon Sep 17 00:00:00 2001 From: Melanie Date: Sat, 16 Feb 2013 05:09:27 +0100 Subject: [PATCH 602/851] Fix shape parameters sent for meshes tosupport the full number of faces --- OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index bd4a2d100d..a18719094d 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs @@ -3802,6 +3802,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP part.Shape.LightEntry = false; } } + + if (part.Shape != null && (part.Shape.SculptType == (byte)SculptType.Mesh)) + { + // Ensure that mesh has at least 8 valid faces + part.Shape.ProfileBegin = 12500; + part.Shape.ProfileEnd = 0; + part.Shape.ProfileHollow = 27500; + } } #region UpdateFlags to packet type conversion From e549c2922ab2af6c4fbe08c3492918a5d5f4ba61 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sat, 16 Feb 2013 19:28:38 -0800 Subject: [PATCH 603/851] BulletSim: fix physical object appearing to slowly float off when they stop moving. --- OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs index 0323b0d39f..4bb2a9ebb9 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs @@ -1667,7 +1667,7 @@ public class BSPrim : BSPhysObject // _velocity = entprop.Velocity; // DEBUG DEBUG DEBUG -- smooth velocity changes a bit. The simulator seems to be // very sensitive to velocity changes. - if (!entprop.Velocity.ApproxEquals(_velocity, 0.1f)) + if (entprop.Velocity == OMV.Vector3.Zero || !entprop.Velocity.ApproxEquals(_velocity, 0.1f)) _velocity = entprop.Velocity; _acceleration = entprop.Acceleration; _rotationalVelocity = entprop.RotationalVelocity; From 6560d80fa856fb73c51a7ccd37f720c25b12d42d Mon Sep 17 00:00:00 2001 From: teravus Date: Sat, 16 Feb 2013 22:54:37 -0500 Subject: [PATCH 604/851] * Fix walking to via autopilot. --- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 70e3952405..9c1d2b645f 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -1847,7 +1847,11 @@ namespace OpenSim.Region.Framework.Scenes // Get terrain height for sub-region in a megaregion if necessary int X = (int)((m_scene.RegionInfo.RegionLocX * Constants.RegionSize) + pos.X); int Y = (int)((m_scene.RegionInfo.RegionLocY * Constants.RegionSize) + pos.Y); - UUID target_regionID = m_scene.GridService.GetRegionByPosition(m_scene.RegionInfo.ScopeID, X, Y).RegionID; + GridRegion target_region = m_scene.GridService.GetRegionByPosition(m_scene.RegionInfo.ScopeID, X, Y); + // If X and Y is NaN, target_region will be null + if (target_region == null) + return; + UUID target_regionID = target_region.RegionID; Scene targetScene = m_scene; if (!SceneManager.Instance.TryGetScene(target_regionID, out targetScene)) From 885b45b112607e3edf12838cf01cfefa6da884ae Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sat, 16 Feb 2013 22:14:38 -0800 Subject: [PATCH 605/851] BulletSim: rework parameter setting for different types of values (like vectors or quaternions). --- .../Region/Physics/BulletSPlugin/BSAPIXNA.cs | 4 +- .../Physics/BulletSPlugin/BSDynamics.cs | 6 +- .../BulletSPlugin/BSLinksetConstraints.cs | 4 +- .../Region/Physics/BulletSPlugin/BSParam.cs | 670 +++++++++--------- .../Region/Physics/BulletSPlugin/BSScene.cs | 54 +- 5 files changed, 346 insertions(+), 392 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSAPIXNA.cs b/OpenSim/Region/Physics/BulletSPlugin/BSAPIXNA.cs index 39e62dd1f3..15fa52b59a 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSAPIXNA.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSAPIXNA.cs @@ -1133,8 +1133,8 @@ private sealed class BulletConstraintXNA : BulletConstraint p.numberOfSolverIterations = o[0].numberOfSolverIterations; p.linksetImplementation = BSParam.LinksetImplementation; - p.linkConstraintUseFrameOffset = BSParam.LinkConstraintUseFrameOffset; - p.linkConstraintEnableTransMotor = BSParam.LinkConstraintEnableTransMotor; + p.linkConstraintUseFrameOffset = BSParam.NumericBool(BSParam.LinkConstraintUseFrameOffset); + p.linkConstraintEnableTransMotor = BSParam.NumericBool(BSParam.LinkConstraintEnableTransMotor); p.linkConstraintTransMotorMaxVel = BSParam.LinkConstraintTransMotorMaxVel; p.linkConstraintTransMotorMaxForce = BSParam.LinkConstraintTransMotorMaxForce; p.linkConstraintERP = BSParam.LinkConstraintERP; diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs index 41d353a807..e6933f90bf 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs @@ -144,7 +144,7 @@ namespace OpenSim.Region.Physics.BulletSPlugin enableAngularVerticalAttraction = true; enableAngularDeflection = false; enableAngularBanking = false; - if (BSParam.VehicleDebuggingEnabled != ConfigurationParameters.numericFalse) + if (BSParam.VehicleDebuggingEnabled) { enableAngularVerticalAttraction = true; enableAngularDeflection = false; @@ -607,8 +607,8 @@ namespace OpenSim.Region.Physics.BulletSPlugin // TODO: possibly set AngularFactor and LinearFactor for the type of vehicle. // Maybe compute linear and angular factor and damping from params. PhysicsScene.PE.SetAngularDamping(Prim.PhysBody, BSParam.VehicleAngularDamping); - PhysicsScene.PE.SetLinearFactor(Prim.PhysBody, BSParam.VehicleLinearFactorV); - PhysicsScene.PE.SetAngularFactorV(Prim.PhysBody, BSParam.VehicleAngularFactorV); + PhysicsScene.PE.SetLinearFactor(Prim.PhysBody, BSParam.VehicleLinearFactor); + PhysicsScene.PE.SetAngularFactorV(Prim.PhysBody, BSParam.VehicleAngularFactor); // Vehicles report collision events so we know when it's on the ground PhysicsScene.PE.AddToCollisionFlags(Prim.PhysBody, CollisionFlags.BS_VEHICLE_COLLISIONS); diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSLinksetConstraints.cs b/OpenSim/Region/Physics/BulletSPlugin/BSLinksetConstraints.cs index cc814d16d0..6d252caab2 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSLinksetConstraints.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSLinksetConstraints.cs @@ -223,8 +223,8 @@ public sealed class BSLinksetConstraints : BSLinkset constrain.SetAngularLimits(OMV.Vector3.Zero, OMV.Vector3.Zero); // tweek the constraint to increase stability - constrain.UseFrameOffset(BSParam.BoolNumeric(BSParam.LinkConstraintUseFrameOffset)); - constrain.TranslationalLimitMotor(BSParam.BoolNumeric(BSParam.LinkConstraintEnableTransMotor), + constrain.UseFrameOffset(BSParam.LinkConstraintUseFrameOffset); + constrain.TranslationalLimitMotor(BSParam.LinkConstraintEnableTransMotor, BSParam.LinkConstraintTransMotorMaxVel, BSParam.LinkConstraintTransMotorMaxForce); constrain.SetCFMAndERP(BSParam.LinkConstraintCFM, BSParam.LinkConstraintERP); diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs index 329169f79e..c2a967131a 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs @@ -37,6 +37,8 @@ namespace OpenSim.Region.Physics.BulletSPlugin { public static class BSParam { + private static string LogHeader = "[BULLETSIM PARAMETERS]"; + // Level of Detail values kept as float because that's what the Meshmerizer wants public static float MeshLOD { get; private set; } public static float MeshCircularLOD { get; private set; } @@ -80,14 +82,13 @@ public static class BSParam // Physics Engine operation public static float MaxPersistantManifoldPoolSize; public static float MaxCollisionAlgorithmPoolSize; - public static float ShouldDisableContactPoolDynamicAllocation; - public static float ShouldForceUpdateAllAabbs; - public static float ShouldRandomizeSolverOrder; - public static float ShouldSplitSimulationIslands; - public static float ShouldEnableFrictionCaching; + public static bool ShouldDisableContactPoolDynamicAllocation; + public static bool ShouldForceUpdateAllAabbs; + public static bool ShouldRandomizeSolverOrder; + public static bool ShouldSplitSimulationIslands; + public static bool ShouldEnableFrictionCaching; public static float NumberOfSolverIterations; - public static bool UseSingleSidedMeshes { get { return UseSingleSidedMeshesF != ConfigurationParameters.numericFalse; } } - public static float UseSingleSidedMeshesF; + public static bool UseSingleSidedMeshes; public static float GlobalContactBreakingThreshold; // Avatar parameters @@ -112,16 +113,14 @@ public static class BSParam public static float VehicleAngularDamping { get; private set; } public static float VehicleFriction { get; private set; } public static float VehicleRestitution { get; private set; } - public static float VehicleLinearFactor { get; private set; } - public static Vector3 VehicleLinearFactorV { get; private set; } - public static float VehicleAngularFactor { get; private set; } - public static Vector3 VehicleAngularFactorV { get; private set; } + public static Vector3 VehicleLinearFactor { get; private set; } + public static Vector3 VehicleAngularFactor { get; private set; } public static float VehicleGroundGravityFudge { get; private set; } - public static float VehicleDebuggingEnabled { get; private set; } + public static bool VehicleDebuggingEnabled { get; private set; } public static float LinksetImplementation { get; private set; } - public static float LinkConstraintUseFrameOffset { get; private set; } - public static float LinkConstraintEnableTransMotor { get; private set; } + public static bool LinkConstraintUseFrameOffset { get; private set; } + public static bool LinkConstraintEnableTransMotor { get; private set; } public static float LinkConstraintTransMotorMaxVel { get; private set; } public static float LinkConstraintTransMotorMaxForce { get; private set; } public static float LinkConstraintERP { get; private set; } @@ -141,40 +140,106 @@ public static class BSParam public const float MinRestitution = 0f; public const float MaxRestitution = 1f; - // =========================================================================== - public delegate void ParamUser(BSScene scene, IConfig conf, string paramName, float val); - public delegate float ParamGet(BSScene scene); - public delegate void ParamSet(BSScene scene, string paramName, uint localID, float val); - public delegate void SetOnObject(BSScene scene, BSPhysObject obj, float val); + // ===================================================================================== + // ===================================================================================== - public struct ParameterDefn + // Base parameter definition that gets and sets parameter values via a string + public abstract class ParameterDefnBase { public string name; // string name of the parameter public string desc; // a short description of what the parameter means - public float defaultValue; // default value if not specified anywhere else - public ParamUser userParam; // get the value from the configuration file - public ParamGet getter; // return the current value stored for this parameter - public ParamSet setter; // set the current value for this parameter - public SetOnObject onObject; // set the value on an object in the physical domain - public ParameterDefn(string n, string d, float v, ParamUser u, ParamGet g, ParamSet s) + public ParameterDefnBase(string pName, string pDesc) { - name = n; - desc = d; - defaultValue = v; - userParam = u; - getter = g; - setter = s; - onObject = null; + name = pName; + desc = pDesc; } - public ParameterDefn(string n, string d, float v, ParamUser u, ParamGet g, ParamSet s, SetOnObject o) + // Set the parameter value to the default + public abstract void AssignDefault(BSScene s); + // Get the value as a string + public abstract string GetValue(BSScene s); + // Set the value to this string value + public abstract void SetValue(BSScene s, string valAsString); + // set the value on a particular object (usually sets in physics engine) + public abstract void SetOnObject(BSScene s, BSPhysObject obj); + public abstract bool HasSetOnObject { get; } + } + + // Specific parameter definition for a parameter of a specific type. + public delegate T PGetValue(BSScene s); + public delegate void PSetValue(BSScene s, T val); + public delegate void PSetOnObject(BSScene scene, BSPhysObject obj); + public sealed class ParameterDefn : ParameterDefnBase + { + T defaultValue; + PSetValue setter; + PGetValue getter; + PSetOnObject objectSet; + public ParameterDefn(string pName, string pDesc, T pDefault, PGetValue pGetter, PSetValue pSetter) + : base(pName, pDesc) { - name = n; - desc = d; - defaultValue = v; - userParam = u; - getter = g; - setter = s; - onObject = o; + defaultValue = pDefault; + setter = pSetter; + getter = pGetter; + objectSet = null; + } + public ParameterDefn(string pName, string pDesc, T pDefault, PGetValue pGetter, PSetValue pSetter, PSetOnObject pObjSetter) + : base(pName, pDesc) + { + defaultValue = pDefault; + setter = pSetter; + getter = pGetter; + objectSet = pObjSetter; + } + public override void AssignDefault(BSScene s) + { + setter(s, defaultValue); + } + public override string GetValue(BSScene s) + { + return String.Format("{0}", getter(s)); + } + public override void SetValue(BSScene s, string valAsString) + { + // Get the generic type of the setter + Type genericType = setter.GetType().GetGenericArguments()[0]; + // Find the 'Parse' method on that type + System.Reflection.MethodInfo parser = null; + try + { + parser = genericType.GetMethod("Parse", new Type[] { typeof(String) } ); + } + catch (Exception e) + { + s.Logger.ErrorFormat("{0} Exception getting parser for type '{1}': {2}", LogHeader, genericType, e); + parser = null; + } + if (parser != null) + { + // Parse the input string + try + { + T setValue = (T)parser.Invoke(genericType, new Object[] { valAsString }); + setter(s, setValue); + // s.Logger.DebugFormat("{0} Parameter {1} = {2}", LogHeader, name, setValue); + } + catch + { + s.Logger.ErrorFormat("{0} Failed parsing parameter value '{1}' as type '{2}'", LogHeader, valAsString, genericType); + } + } + else + { + s.Logger.ErrorFormat("{0} Could not find parameter parser for type '{1}'", LogHeader, genericType); + } + } + public override bool HasSetOnObject + { + get { return objectSet != null; } + } + public override void SetOnObject(BSScene s, BSPhysObject obj) + { + if (objectSet != null) + objectSet(s, obj); } } @@ -184,462 +249,375 @@ public static class BSParam // location somewhere in the program and make an entry in this table with the // getters and setters. // It is easiest to find an existing definition and copy it. - // Parameter values are floats. Booleans are converted to a floating value. // - // A ParameterDefn() takes the following parameters: + // A ParameterDefn() takes the following parameters: // -- the text name of the parameter. This is used for console input and ini file. // -- a short text description of the parameter. This shows up in the console listing. - // -- a default value (float) - // -- a delegate for fetching the parameter from the ini file. - // Should handle fetching the right type from the ini file and converting it. - // -- a delegate for getting the value as a float - // -- a delegate for setting the value from a float + // -- a default value + // -- a delegate for getting the value + // -- a delegate for setting the value // -- an optional delegate to update the value in the world. Most often used to // push the new value to an in-world object. // // The single letter parameters for the delegates are: // s = BSScene // o = BSPhysObject - // p = string parameter name - // l = localID of referenced object // v = value (float) - // cf = parameter configuration class (for fetching values from ini file) - private static ParameterDefn[] ParameterDefinitions = + private static ParameterDefnBase[] ParameterDefinitions = { - new ParameterDefn("MeshSculptedPrim", "Whether to create meshes for sculpties", - ConfigurationParameters.numericTrue, - (s,cf,p,v) => { ShouldMeshSculptedPrim = cf.GetBoolean(p, BSParam.BoolNumeric(v)); }, - (s) => { return BSParam.NumericBool(ShouldMeshSculptedPrim); }, - (s,p,l,v) => { ShouldMeshSculptedPrim = BSParam.BoolNumeric(v); } ), - new ParameterDefn("ForceSimplePrimMeshing", "If true, only use primitive meshes for objects", - ConfigurationParameters.numericFalse, - (s,cf,p,v) => { ShouldForceSimplePrimMeshing = cf.GetBoolean(p, BSParam.BoolNumeric(v)); }, - (s) => { return BSParam.NumericBool(ShouldForceSimplePrimMeshing); }, - (s,p,l,v) => { ShouldForceSimplePrimMeshing = BSParam.BoolNumeric(v); } ), - new ParameterDefn("UseHullsForPhysicalObjects", "If true, create hulls for physical objects", - ConfigurationParameters.numericTrue, - (s,cf,p,v) => { ShouldUseHullsForPhysicalObjects = cf.GetBoolean(p, BSParam.BoolNumeric(v)); }, - (s) => { return BSParam.NumericBool(ShouldUseHullsForPhysicalObjects); }, - (s,p,l,v) => { ShouldUseHullsForPhysicalObjects = BSParam.BoolNumeric(v); } ), - new ParameterDefn("ShouldRemoveZeroWidthTriangles", "If true, remove degenerate triangles from meshes", - ConfigurationParameters.numericTrue, - (s,cf,p,v) => { ShouldRemoveZeroWidthTriangles = cf.GetBoolean(p, BSParam.BoolNumeric(v)); }, - (s) => { return BSParam.NumericBool(ShouldRemoveZeroWidthTriangles); }, - (s,p,l,v) => { ShouldRemoveZeroWidthTriangles = BSParam.BoolNumeric(v); } ), + new ParameterDefn("MeshSculptedPrim", "Whether to create meshes for sculpties", + true, + (s) => { return ShouldMeshSculptedPrim; }, + (s,v) => { ShouldMeshSculptedPrim = v; } ), + new ParameterDefn("ForceSimplePrimMeshing", "If true, only use primitive meshes for objects", + false, + (s) => { return ShouldForceSimplePrimMeshing; }, + (s,v) => { ShouldForceSimplePrimMeshing = v; } ), + new ParameterDefn("UseHullsForPhysicalObjects", "If true, create hulls for physical objects", + true, + (s) => { return ShouldUseHullsForPhysicalObjects; }, + (s,v) => { ShouldUseHullsForPhysicalObjects = v; } ), + new ParameterDefn("ShouldRemoveZeroWidthTriangles", "If true, remove degenerate triangles from meshes", + true, + (s) => { return ShouldRemoveZeroWidthTriangles; }, + (s,v) => { ShouldRemoveZeroWidthTriangles = v; } ), - new ParameterDefn("MeshLevelOfDetail", "Level of detail to render meshes (32, 16, 8 or 4. 32=most detailed)", + new ParameterDefn("MeshLevelOfDetail", "Level of detail to render meshes (32, 16, 8 or 4. 32=most detailed)", 32f, - (s,cf,p,v) => { MeshLOD = (float)cf.GetInt(p, (int)v); }, (s) => { return MeshLOD; }, - (s,p,l,v) => { MeshLOD = v; } ), - new ParameterDefn("MeshLevelOfDetailCircular", "Level of detail for prims with circular cuts or shapes", + (s,v) => { MeshLOD = v; } ), + new ParameterDefn("MeshLevelOfDetailCircular", "Level of detail for prims with circular cuts or shapes", 32f, - (s,cf,p,v) => { MeshCircularLOD = (float)cf.GetInt(p, (int)v); }, (s) => { return MeshCircularLOD; }, - (s,p,l,v) => { MeshCircularLOD = v; } ), - new ParameterDefn("MeshLevelOfDetailMegaPrimThreshold", "Size (in meters) of a mesh before using MeshMegaPrimLOD", + (s,v) => { MeshCircularLOD = v; } ), + new ParameterDefn("MeshLevelOfDetailMegaPrimThreshold", "Size (in meters) of a mesh before using MeshMegaPrimLOD", 10f, - (s,cf,p,v) => { MeshMegaPrimThreshold = (float)cf.GetInt(p, (int)v); }, (s) => { return MeshMegaPrimThreshold; }, - (s,p,l,v) => { MeshMegaPrimThreshold = v; } ), - new ParameterDefn("MeshLevelOfDetailMegaPrim", "Level of detail to render meshes larger than threshold meters", + (s,v) => { MeshMegaPrimThreshold = v; } ), + new ParameterDefn("MeshLevelOfDetailMegaPrim", "Level of detail to render meshes larger than threshold meters", 32f, - (s,cf,p,v) => { MeshMegaPrimLOD = (float)cf.GetInt(p, (int)v); }, (s) => { return MeshMegaPrimLOD; }, - (s,p,l,v) => { MeshMegaPrimLOD = v; } ), - new ParameterDefn("SculptLevelOfDetail", "Level of detail to render sculpties (32, 16, 8 or 4. 32=most detailed)", + (s,v) => { MeshMegaPrimLOD = v; } ), + new ParameterDefn("SculptLevelOfDetail", "Level of detail to render sculpties (32, 16, 8 or 4. 32=most detailed)", 32f, - (s,cf,p,v) => { SculptLOD = (float)cf.GetInt(p, (int)v); }, (s) => { return SculptLOD; }, - (s,p,l,v) => { SculptLOD = v; } ), + (s,v) => { SculptLOD = v; } ), - new ParameterDefn("MaxSubStep", "In simulation step, maximum number of substeps", - 10f, - (s,cf,p,v) => { s.m_maxSubSteps = cf.GetInt(p, (int)v); }, - (s) => { return (float)s.m_maxSubSteps; }, - (s,p,l,v) => { s.m_maxSubSteps = (int)v; } ), - new ParameterDefn("FixedTimeStep", "In simulation step, seconds of one substep (1/60)", + new ParameterDefn("MaxSubStep", "In simulation step, maximum number of substeps", + 10, + (s) => { return s.m_maxSubSteps; }, + (s,v) => { s.m_maxSubSteps = (int)v; } ), + new ParameterDefn("FixedTimeStep", "In simulation step, seconds of one substep (1/60)", 1f / 60f, - (s,cf,p,v) => { s.m_fixedTimeStep = cf.GetFloat(p, v); }, - (s) => { return (float)s.m_fixedTimeStep; }, - (s,p,l,v) => { s.m_fixedTimeStep = v; } ), - new ParameterDefn("NominalFrameRate", "The base frame rate we claim", + (s) => { return s.m_fixedTimeStep; }, + (s,v) => { s.m_fixedTimeStep = v; } ), + new ParameterDefn("NominalFrameRate", "The base frame rate we claim", 55f, - (s,cf,p,v) => { s.NominalFrameRate = cf.GetInt(p, (int)v); }, - (s) => { return (float)s.NominalFrameRate; }, - (s,p,l,v) => { s.NominalFrameRate = (int)v; } ), - new ParameterDefn("MaxCollisionsPerFrame", "Max collisions returned at end of each frame", - 2048f, - (s,cf,p,v) => { s.m_maxCollisionsPerFrame = cf.GetInt(p, (int)v); }, - (s) => { return (float)s.m_maxCollisionsPerFrame; }, - (s,p,l,v) => { s.m_maxCollisionsPerFrame = (int)v; } ), - new ParameterDefn("MaxUpdatesPerFrame", "Max updates returned at end of each frame", - 8000f, - (s,cf,p,v) => { s.m_maxUpdatesPerFrame = cf.GetInt(p, (int)v); }, - (s) => { return (float)s.m_maxUpdatesPerFrame; }, - (s,p,l,v) => { s.m_maxUpdatesPerFrame = (int)v; } ), + (s) => { return s.NominalFrameRate; }, + (s,v) => { s.NominalFrameRate = (int)v; } ), + new ParameterDefn("MaxCollisionsPerFrame", "Max collisions returned at end of each frame", + 2048, + (s) => { return s.m_maxCollisionsPerFrame; }, + (s,v) => { s.m_maxCollisionsPerFrame = (int)v; } ), + new ParameterDefn("MaxUpdatesPerFrame", "Max updates returned at end of each frame", + 8000, + (s) => { return s.m_maxUpdatesPerFrame; }, + (s,v) => { s.m_maxUpdatesPerFrame = (int)v; } ), - new ParameterDefn("MinObjectMass", "Minimum object mass (0.0001)", + new ParameterDefn("MinObjectMass", "Minimum object mass (0.0001)", 0.0001f, - (s,cf,p,v) => { MinimumObjectMass = cf.GetFloat(p, v); }, (s) => { return MinimumObjectMass; }, - (s,p,l,v) => { MinimumObjectMass = v; } ), - new ParameterDefn("MaxObjectMass", "Maximum object mass (10000.01)", + (s,v) => { MinimumObjectMass = v; } ), + new ParameterDefn("MaxObjectMass", "Maximum object mass (10000.01)", 10000.01f, - (s,cf,p,v) => { MaximumObjectMass = cf.GetFloat(p, v); }, (s) => { return MaximumObjectMass; }, - (s,p,l,v) => { MaximumObjectMass = v; } ), - new ParameterDefn("MaxLinearVelocity", "Maximum velocity magnitude that can be assigned to an object", + (s,v) => { MaximumObjectMass = v; } ), + new ParameterDefn("MaxLinearVelocity", "Maximum velocity magnitude that can be assigned to an object", 1000.0f, - (s,cf,p,v) => { MaxLinearVelocity = cf.GetFloat(p, v); }, (s) => { return MaxLinearVelocity; }, - (s,p,l,v) => { MaxLinearVelocity = v; } ), - new ParameterDefn("MaxAngularVelocity", "Maximum rotational velocity magnitude that can be assigned to an object", + (s,v) => { MaxLinearVelocity = v; } ), + new ParameterDefn("MaxAngularVelocity", "Maximum rotational velocity magnitude that can be assigned to an object", 1000.0f, - (s,cf,p,v) => { MaxAngularVelocity = cf.GetFloat(p, v); }, (s) => { return MaxAngularVelocity; }, - (s,p,l,v) => { MaxAngularVelocity = v; } ), + (s,v) => { MaxAngularVelocity = v; } ), // LL documentation says thie number should be 20f for llApplyImpulse and 200f for llRezObject - new ParameterDefn("MaxAddForceMagnitude", "Maximum force that can be applied by llApplyImpulse (SL says 20f)", + new ParameterDefn("MaxAddForceMagnitude", "Maximum force that can be applied by llApplyImpulse (SL says 20f)", 20000.0f, - (s,cf,p,v) => { MaxAddForceMagnitude = cf.GetFloat(p, v); }, (s) => { return MaxAddForceMagnitude; }, - (s,p,l,v) => { MaxAddForceMagnitude = v; } ), + (s,v) => { MaxAddForceMagnitude = v; } ), // Density is passed around as 100kg/m3. This scales that to 1kg/m3. - new ParameterDefn("DensityScaleFactor", "Conversion for simulator/viewer density (100kg/m3) to physical density (1kg/m3)", + new ParameterDefn("DensityScaleFactor", "Conversion for simulator/viewer density (100kg/m3) to physical density (1kg/m3)", 0.01f, - (s,cf,p,v) => { DensityScaleFactor = cf.GetFloat(p, v); }, (s) => { return DensityScaleFactor; }, - (s,p,l,v) => { DensityScaleFactor = v; } ), + (s,v) => { DensityScaleFactor = v; } ), - new ParameterDefn("PID_D", "Derivitive factor for motion smoothing", + new ParameterDefn("PID_D", "Derivitive factor for motion smoothing", 2200f, - (s,cf,p,v) => { PID_D = cf.GetFloat(p, v); }, (s) => { return (float)PID_D; }, - (s,p,l,v) => { PID_D = v; } ), - new ParameterDefn("PID_P", "Parameteric factor for motion smoothing", + (s,v) => { PID_D = v; } ), + new ParameterDefn("PID_P", "Parameteric factor for motion smoothing", 900f, - (s,cf,p,v) => { PID_P = cf.GetFloat(p, v); }, (s) => { return (float)PID_P; }, - (s,p,l,v) => { PID_P = v; } ), + (s,v) => { PID_P = v; } ), - new ParameterDefn("DefaultFriction", "Friction factor used on new objects", + new ParameterDefn("DefaultFriction", "Friction factor used on new objects", 0.2f, - (s,cf,p,v) => { DefaultFriction = cf.GetFloat(p, v); }, (s) => { return DefaultFriction; }, - (s,p,l,v) => { DefaultFriction = v; s.UnmanagedParams[0].defaultFriction = v; } ), - new ParameterDefn("DefaultDensity", "Density for new objects" , + (s,v) => { DefaultFriction = v; s.UnmanagedParams[0].defaultFriction = v; } ), + new ParameterDefn("DefaultDensity", "Density for new objects" , 10.000006836f, // Aluminum g/cm3 - (s,cf,p,v) => { DefaultDensity = cf.GetFloat(p, v); }, (s) => { return DefaultDensity; }, - (s,p,l,v) => { DefaultDensity = v; s.UnmanagedParams[0].defaultDensity = v; } ), - new ParameterDefn("DefaultRestitution", "Bouncyness of an object" , + (s,v) => { DefaultDensity = v; s.UnmanagedParams[0].defaultDensity = v; } ), + new ParameterDefn("DefaultRestitution", "Bouncyness of an object" , 0f, - (s,cf,p,v) => { DefaultRestitution = cf.GetFloat(p, v); }, (s) => { return DefaultRestitution; }, - (s,p,l,v) => { DefaultRestitution = v; s.UnmanagedParams[0].defaultRestitution = v; } ), - new ParameterDefn("CollisionMargin", "Margin around objects before collisions are calculated (must be zero!)", + (s,v) => { DefaultRestitution = v; s.UnmanagedParams[0].defaultRestitution = v; } ), + new ParameterDefn("CollisionMargin", "Margin around objects before collisions are calculated (must be zero!)", 0.04f, - (s,cf,p,v) => { CollisionMargin = cf.GetFloat(p, v); }, (s) => { return CollisionMargin; }, - (s,p,l,v) => { CollisionMargin = v; s.UnmanagedParams[0].collisionMargin = v; } ), - new ParameterDefn("Gravity", "Vertical force of gravity (negative means down)", + (s,v) => { CollisionMargin = v; s.UnmanagedParams[0].collisionMargin = v; } ), + new ParameterDefn("Gravity", "Vertical force of gravity (negative means down)", -9.80665f, - (s,cf,p,v) => { Gravity = cf.GetFloat(p, v); }, (s) => { return Gravity; }, - (s,p,l,v) => { Gravity = v; s.UnmanagedParams[0].gravity = v; }, - (s,o,v) => { s.PE.SetGravity(o.PhysBody, new Vector3(0f,0f,v)); } ), + (s,v) => { Gravity = v; s.UnmanagedParams[0].gravity = v; }, + (s,o) => { s.PE.SetGravity(o.PhysBody, new Vector3(0f,0f,Gravity)); } ), - new ParameterDefn("LinearDamping", "Factor to damp linear movement per second (0.0 - 1.0)", + new ParameterDefn("LinearDamping", "Factor to damp linear movement per second (0.0 - 1.0)", 0f, - (s,cf,p,v) => { LinearDamping = cf.GetFloat(p, v); }, (s) => { return LinearDamping; }, - (s,p,l,v) => { LinearDamping = v; }, - (s,o,v) => { s.PE.SetDamping(o.PhysBody, v, AngularDamping); } ), - new ParameterDefn("AngularDamping", "Factor to damp angular movement per second (0.0 - 1.0)", + (s,v) => { LinearDamping = v; }, + (s,o) => { s.PE.SetDamping(o.PhysBody, LinearDamping, AngularDamping); } ), + new ParameterDefn("AngularDamping", "Factor to damp angular movement per second (0.0 - 1.0)", 0f, - (s,cf,p,v) => { AngularDamping = cf.GetFloat(p, v); }, (s) => { return AngularDamping; }, - (s,p,l,v) => { AngularDamping = v; }, - (s,o,v) => { s.PE.SetDamping(o.PhysBody, LinearDamping, v); } ), - new ParameterDefn("DeactivationTime", "Seconds before considering an object potentially static", + (s,v) => { AngularDamping = v; }, + (s,o) => { s.PE.SetDamping(o.PhysBody, LinearDamping, AngularDamping); } ), + new ParameterDefn("DeactivationTime", "Seconds before considering an object potentially static", 0.2f, - (s,cf,p,v) => { DeactivationTime = cf.GetFloat(p, v); }, (s) => { return DeactivationTime; }, - (s,p,l,v) => { DeactivationTime = v; }, - (s,o,v) => { s.PE.SetDeactivationTime(o.PhysBody, v); } ), - new ParameterDefn("LinearSleepingThreshold", "Seconds to measure linear movement before considering static", + (s,v) => { DeactivationTime = v; }, + (s,o) => { s.PE.SetDeactivationTime(o.PhysBody, DeactivationTime); } ), + new ParameterDefn("LinearSleepingThreshold", "Seconds to measure linear movement before considering static", 0.8f, - (s,cf,p,v) => { LinearSleepingThreshold = cf.GetFloat(p, v); }, (s) => { return LinearSleepingThreshold; }, - (s,p,l,v) => { LinearSleepingThreshold = v;}, - (s,o,v) => { s.PE.SetSleepingThresholds(o.PhysBody, v, v); } ), - new ParameterDefn("AngularSleepingThreshold", "Seconds to measure angular movement before considering static", + (s,v) => { LinearSleepingThreshold = v;}, + (s,o) => { s.PE.SetSleepingThresholds(o.PhysBody, LinearSleepingThreshold, AngularSleepingThreshold); } ), + new ParameterDefn("AngularSleepingThreshold", "Seconds to measure angular movement before considering static", 1.0f, - (s,cf,p,v) => { AngularSleepingThreshold = cf.GetFloat(p, v); }, (s) => { return AngularSleepingThreshold; }, - (s,p,l,v) => { AngularSleepingThreshold = v;}, - (s,o,v) => { s.PE.SetSleepingThresholds(o.PhysBody, v, v); } ), - new ParameterDefn("CcdMotionThreshold", "Continuious collision detection threshold (0 means no CCD)" , + (s,v) => { AngularSleepingThreshold = v;}, + (s,o) => { s.PE.SetSleepingThresholds(o.PhysBody, LinearSleepingThreshold, AngularSleepingThreshold); } ), + new ParameterDefn("CcdMotionThreshold", "Continuious collision detection threshold (0 means no CCD)" , 0.0f, // set to zero to disable - (s,cf,p,v) => { CcdMotionThreshold = cf.GetFloat(p, v); }, (s) => { return CcdMotionThreshold; }, - (s,p,l,v) => { CcdMotionThreshold = v;}, - (s,o,v) => { s.PE.SetCcdMotionThreshold(o.PhysBody, v); } ), - new ParameterDefn("CcdSweptSphereRadius", "Continuious collision detection test radius" , + (s,v) => { CcdMotionThreshold = v;}, + (s,o) => { s.PE.SetCcdMotionThreshold(o.PhysBody, CcdMotionThreshold); } ), + new ParameterDefn("CcdSweptSphereRadius", "Continuious collision detection test radius" , 0.2f, - (s,cf,p,v) => { CcdSweptSphereRadius = cf.GetFloat(p, v); }, (s) => { return CcdSweptSphereRadius; }, - (s,p,l,v) => { CcdSweptSphereRadius = v;}, - (s,o,v) => { s.PE.SetCcdSweptSphereRadius(o.PhysBody, v); } ), - new ParameterDefn("ContactProcessingThreshold", "Distance above which contacts can be discarded (0 means no discard)" , + (s,v) => { CcdSweptSphereRadius = v;}, + (s,o) => { s.PE.SetCcdSweptSphereRadius(o.PhysBody, CcdSweptSphereRadius); } ), + new ParameterDefn("ContactProcessingThreshold", "Distance above which contacts can be discarded (0 means no discard)" , 0.0f, - (s,cf,p,v) => { ContactProcessingThreshold = cf.GetFloat(p, v); }, (s) => { return ContactProcessingThreshold; }, - (s,p,l,v) => { ContactProcessingThreshold = v;}, - (s,o,v) => { s.PE.SetContactProcessingThreshold(o.PhysBody, v); } ), + (s,v) => { ContactProcessingThreshold = v;}, + (s,o) => { s.PE.SetContactProcessingThreshold(o.PhysBody, ContactProcessingThreshold); } ), - new ParameterDefn("TerrainImplementation", "Type of shape to use for terrain (0=heightmap, 1=mesh)", + new ParameterDefn("TerrainImplementation", "Type of shape to use for terrain (0=heightmap, 1=mesh)", (float)BSTerrainPhys.TerrainImplementation.Mesh, - (s,cf,p,v) => { TerrainImplementation = cf.GetFloat(p,v); }, (s) => { return TerrainImplementation; }, - (s,p,l,v) => { TerrainImplementation = v; } ), - new ParameterDefn("TerrainFriction", "Factor to reduce movement against terrain surface" , + (s,v) => { TerrainImplementation = v; } ), + new ParameterDefn("TerrainFriction", "Factor to reduce movement against terrain surface" , 0.3f, - (s,cf,p,v) => { TerrainFriction = cf.GetFloat(p, v); }, (s) => { return TerrainFriction; }, - (s,p,l,v) => { TerrainFriction = v; /* TODO: set on real terrain */} ), - new ParameterDefn("TerrainHitFraction", "Distance to measure hit collisions" , + (s,v) => { TerrainFriction = v; /* TODO: set on real terrain */} ), + new ParameterDefn("TerrainHitFraction", "Distance to measure hit collisions" , 0.8f, - (s,cf,p,v) => { TerrainHitFraction = cf.GetFloat(p, v); }, (s) => { return TerrainHitFraction; }, - (s,p,l,v) => { TerrainHitFraction = v; /* TODO: set on real terrain */ } ), - new ParameterDefn("TerrainRestitution", "Bouncyness" , + (s,v) => { TerrainHitFraction = v; /* TODO: set on real terrain */ } ), + new ParameterDefn("TerrainRestitution", "Bouncyness" , 0f, - (s,cf,p,v) => { TerrainRestitution = cf.GetFloat(p, v); }, (s) => { return TerrainRestitution; }, - (s,p,l,v) => { TerrainRestitution = v; /* TODO: set on real terrain */ } ), - new ParameterDefn("TerrainCollisionMargin", "Margin where collision checking starts" , + (s,v) => { TerrainRestitution = v; /* TODO: set on real terrain */ } ), + new ParameterDefn("TerrainCollisionMargin", "Margin where collision checking starts" , 0.08f, - (s,cf,p,v) => { TerrainCollisionMargin = cf.GetFloat(p, v); }, (s) => { return TerrainCollisionMargin; }, - (s,p,l,v) => { TerrainCollisionMargin = v; /* TODO: set on real terrain */ } ), + (s,v) => { TerrainCollisionMargin = v; /* TODO: set on real terrain */ } ), - new ParameterDefn("AvatarFriction", "Factor to reduce movement against an avatar. Changed on avatar recreation.", + new ParameterDefn("AvatarFriction", "Factor to reduce movement against an avatar. Changed on avatar recreation.", 0.2f, - (s,cf,p,v) => { AvatarFriction = cf.GetFloat(p, v); }, (s) => { return AvatarFriction; }, - (s,p,l,v) => { AvatarFriction = v; } ), - new ParameterDefn("AvatarStandingFriction", "Avatar friction when standing. Changed on avatar recreation.", + (s,v) => { AvatarFriction = v; } ), + new ParameterDefn("AvatarStandingFriction", "Avatar friction when standing. Changed on avatar recreation.", 0.95f, - (s,cf,p,v) => { AvatarStandingFriction = cf.GetFloat(p, v); }, (s) => { return AvatarStandingFriction; }, - (s,p,l,v) => { AvatarStandingFriction = v; } ), - new ParameterDefn("AvatarAlwaysRunFactor", "Speed multiplier if avatar is set to always run", + (s,v) => { AvatarStandingFriction = v; } ), + new ParameterDefn("AvatarAlwaysRunFactor", "Speed multiplier if avatar is set to always run", 1.3f, - (s,cf,p,v) => { AvatarAlwaysRunFactor = cf.GetFloat(p, v); }, (s) => { return AvatarAlwaysRunFactor; }, - (s,p,l,v) => { AvatarAlwaysRunFactor = v; } ), - new ParameterDefn("AvatarDensity", "Density of an avatar. Changed on avatar recreation.", + (s,v) => { AvatarAlwaysRunFactor = v; } ), + new ParameterDefn("AvatarDensity", "Density of an avatar. Changed on avatar recreation.", 3.5f, - (s,cf,p,v) => { AvatarDensity = cf.GetFloat(p, v); }, (s) => { return AvatarDensity; }, - (s,p,l,v) => { AvatarDensity = v; } ), - new ParameterDefn("AvatarRestitution", "Bouncyness. Changed on avatar recreation.", + (s,v) => { AvatarDensity = v; } ), + new ParameterDefn("AvatarRestitution", "Bouncyness. Changed on avatar recreation.", 0f, - (s,cf,p,v) => { AvatarRestitution = cf.GetFloat(p, v); }, (s) => { return AvatarRestitution; }, - (s,p,l,v) => { AvatarRestitution = v; } ), - new ParameterDefn("AvatarCapsuleWidth", "The distance between the sides of the avatar capsule", + (s,v) => { AvatarRestitution = v; } ), + new ParameterDefn("AvatarCapsuleWidth", "The distance between the sides of the avatar capsule", 0.6f, - (s,cf,p,v) => { AvatarCapsuleWidth = cf.GetFloat(p, v); }, (s) => { return AvatarCapsuleWidth; }, - (s,p,l,v) => { AvatarCapsuleWidth = v; } ), - new ParameterDefn("AvatarCapsuleDepth", "The distance between the front and back of the avatar capsule", + (s,v) => { AvatarCapsuleWidth = v; } ), + new ParameterDefn("AvatarCapsuleDepth", "The distance between the front and back of the avatar capsule", 0.45f, - (s,cf,p,v) => { AvatarCapsuleDepth = cf.GetFloat(p, v); }, (s) => { return AvatarCapsuleDepth; }, - (s,p,l,v) => { AvatarCapsuleDepth = v; } ), - new ParameterDefn("AvatarCapsuleHeight", "Default height of space around avatar", + (s,v) => { AvatarCapsuleDepth = v; } ), + new ParameterDefn("AvatarCapsuleHeight", "Default height of space around avatar", 1.5f, - (s,cf,p,v) => { AvatarCapsuleHeight = cf.GetFloat(p, v); }, (s) => { return AvatarCapsuleHeight; }, - (s,p,l,v) => { AvatarCapsuleHeight = v; } ), - new ParameterDefn("AvatarContactProcessingThreshold", "Distance from capsule to check for collisions", + (s,v) => { AvatarCapsuleHeight = v; } ), + new ParameterDefn("AvatarContactProcessingThreshold", "Distance from capsule to check for collisions", 0.1f, - (s,cf,p,v) => { AvatarContactProcessingThreshold = cf.GetFloat(p, v); }, (s) => { return AvatarContactProcessingThreshold; }, - (s,p,l,v) => { AvatarContactProcessingThreshold = v; } ), - new ParameterDefn("AvatarStepHeight", "Height of a step obstacle to consider step correction", + (s,v) => { AvatarContactProcessingThreshold = v; } ), + new ParameterDefn("AvatarStepHeight", "Height of a step obstacle to consider step correction", 0.3f, - (s,cf,p,v) => { AvatarStepHeight = cf.GetFloat(p, v); }, (s) => { return AvatarStepHeight; }, - (s,p,l,v) => { AvatarStepHeight = v; } ), - new ParameterDefn("AvatarStepApproachFactor", "Factor to control angle of approach to step (0=straight on)", + (s,v) => { AvatarStepHeight = v; } ), + new ParameterDefn("AvatarStepApproachFactor", "Factor to control angle of approach to step (0=straight on)", 0.6f, - (s,cf,p,v) => { AvatarStepApproachFactor = cf.GetFloat(p, v); }, (s) => { return AvatarStepApproachFactor; }, - (s,p,l,v) => { AvatarStepApproachFactor = v; } ), - new ParameterDefn("AvatarStepForceFactor", "Controls the amount of force up applied to step up onto a step", + (s,v) => { AvatarStepApproachFactor = v; } ), + new ParameterDefn("AvatarStepForceFactor", "Controls the amount of force up applied to step up onto a step", 2.0f, - (s,cf,p,v) => { AvatarStepForceFactor = cf.GetFloat(p, v); }, (s) => { return AvatarStepForceFactor; }, - (s,p,l,v) => { AvatarStepForceFactor = v; } ), + (s,v) => { AvatarStepForceFactor = v; } ), - new ParameterDefn("VehicleMaxLinearVelocity", "Maximum velocity magnitude that can be assigned to a vehicle", + new ParameterDefn("VehicleMaxLinearVelocity", "Maximum velocity magnitude that can be assigned to a vehicle", 1000.0f, - (s,cf,p,v) => { VehicleMaxLinearVelocity = cf.GetFloat(p, v); }, (s) => { return (float)VehicleMaxLinearVelocity; }, - (s,p,l,v) => { VehicleMaxLinearVelocity = v; VehicleMaxLinearVelocitySq = v * v; } ), - new ParameterDefn("VehicleMaxAngularVelocity", "Maximum rotational velocity magnitude that can be assigned to a vehicle", + (s,v) => { VehicleMaxLinearVelocity = v; VehicleMaxLinearVelocitySq = v * v; } ), + new ParameterDefn("VehicleMaxAngularVelocity", "Maximum rotational velocity magnitude that can be assigned to a vehicle", 12.0f, - (s,cf,p,v) => { VehicleMaxAngularVelocity = cf.GetFloat(p, v); }, (s) => { return (float)VehicleMaxAngularVelocity; }, - (s,p,l,v) => { VehicleMaxAngularVelocity = v; VehicleMaxAngularVelocitySq = v * v; } ), - new ParameterDefn("VehicleAngularDamping", "Factor to damp vehicle angular movement per second (0.0 - 1.0)", + (s,v) => { VehicleMaxAngularVelocity = v; VehicleMaxAngularVelocitySq = v * v; } ), + new ParameterDefn("VehicleAngularDamping", "Factor to damp vehicle angular movement per second (0.0 - 1.0)", 0.0f, - (s,cf,p,v) => { VehicleAngularDamping = cf.GetFloat(p, v); }, (s) => { return VehicleAngularDamping; }, - (s,p,l,v) => { VehicleAngularDamping = v; } ), - new ParameterDefn("VehicleLinearFactor", "Fraction of physical linear changes applied to vehicle (0.0 - 1.0)", - 1.0f, - (s,cf,p,v) => { VehicleLinearFactor = cf.GetFloat(p, v); }, + (s,v) => { VehicleAngularDamping = v; } ), + new ParameterDefn("VehicleLinearFactor", "Fraction of physical linear changes applied to vehicle (<0,0,0> to <1,1,1>)", + new Vector3(1f, 1f, 1f), (s) => { return VehicleLinearFactor; }, - (s,p,l,v) => { VehicleLinearFactor = v; VehicleLinearFactorV = new Vector3(v, v, v); } ), - new ParameterDefn("VehicleAngularFactor", "Fraction of physical angular changes applied to vehicle (0.0 - 1.0)", - 1.0f, - (s,cf,p,v) => { VehicleAngularFactor = cf.GetFloat(p, v); }, + (s,v) => { VehicleLinearFactor = v; } ), + new ParameterDefn("VehicleAngularFactor", "Fraction of physical angular changes applied to vehicle (<0,0,0> to <1,1,1>)", + new Vector3(1f, 1f, 1f), (s) => { return VehicleAngularFactor; }, - (s,p,l,v) => { VehicleAngularFactor = v; VehicleAngularFactorV = new Vector3(v, v, v); } ), - new ParameterDefn("VehicleFriction", "Friction of vehicle on the ground (0.0 - 1.0)", + (s,v) => { VehicleAngularFactor = v; } ), + new ParameterDefn("VehicleFriction", "Friction of vehicle on the ground (0.0 - 1.0)", 0.0f, - (s,cf,p,v) => { VehicleFriction = cf.GetFloat(p, v); }, (s) => { return VehicleFriction; }, - (s,p,l,v) => { VehicleFriction = v; } ), - new ParameterDefn("VehicleRestitution", "Bouncyness factor for vehicles (0.0 - 1.0)", + (s,v) => { VehicleFriction = v; } ), + new ParameterDefn("VehicleRestitution", "Bouncyness factor for vehicles (0.0 - 1.0)", 0.0f, - (s,cf,p,v) => { VehicleRestitution = cf.GetFloat(p, v); }, (s) => { return VehicleRestitution; }, - (s,p,l,v) => { VehicleRestitution = v; } ), - new ParameterDefn("VehicleGroundGravityFudge", "Factor to multiple gravity if a ground vehicle is probably on the ground (0.0 - 1.0)", + (s,v) => { VehicleRestitution = v; } ), + new ParameterDefn("VehicleGroundGravityFudge", "Factor to multiple gravity if a ground vehicle is probably on the ground (0.0 - 1.0)", 0.2f, - (s,cf,p,v) => { VehicleGroundGravityFudge = cf.GetFloat(p, v); }, (s) => { return VehicleGroundGravityFudge; }, - (s,p,l,v) => { VehicleGroundGravityFudge = v; } ), - new ParameterDefn("VehicleDebuggingEnable", "Turn on/off vehicle debugging", - ConfigurationParameters.numericFalse, - (s,cf,p,v) => { VehicleDebuggingEnabled = BSParam.NumericBool(cf.GetBoolean(p, BSParam.BoolNumeric(v))); }, + (s,v) => { VehicleGroundGravityFudge = v; } ), + new ParameterDefn("VehicleDebuggingEnable", "Turn on/off vehicle debugging", + false, (s) => { return VehicleDebuggingEnabled; }, - (s,p,l,v) => { VehicleDebuggingEnabled = v; } ), + (s,v) => { VehicleDebuggingEnabled = v; } ), - new ParameterDefn("MaxPersistantManifoldPoolSize", "Number of manifolds pooled (0 means default of 4096)", + new ParameterDefn("MaxPersistantManifoldPoolSize", "Number of manifolds pooled (0 means default of 4096)", 0f, - (s,cf,p,v) => { MaxPersistantManifoldPoolSize = cf.GetFloat(p, v); }, (s) => { return MaxPersistantManifoldPoolSize; }, - (s,p,l,v) => { MaxPersistantManifoldPoolSize = v; s.UnmanagedParams[0].maxPersistantManifoldPoolSize = v; } ), - new ParameterDefn("MaxCollisionAlgorithmPoolSize", "Number of collisions pooled (0 means default of 4096)", + (s,v) => { MaxPersistantManifoldPoolSize = v; s.UnmanagedParams[0].maxPersistantManifoldPoolSize = v; } ), + new ParameterDefn("MaxCollisionAlgorithmPoolSize", "Number of collisions pooled (0 means default of 4096)", 0f, - (s,cf,p,v) => { MaxCollisionAlgorithmPoolSize = cf.GetFloat(p, v); }, (s) => { return MaxCollisionAlgorithmPoolSize; }, - (s,p,l,v) => { MaxCollisionAlgorithmPoolSize = v; s.UnmanagedParams[0].maxCollisionAlgorithmPoolSize = v; } ), - new ParameterDefn("ShouldDisableContactPoolDynamicAllocation", "Enable to allow large changes in object count", - ConfigurationParameters.numericFalse, - (s,cf,p,v) => { ShouldDisableContactPoolDynamicAllocation = BSParam.NumericBool(cf.GetBoolean(p, BSParam.BoolNumeric(v))); }, + (s,v) => { MaxCollisionAlgorithmPoolSize = v; s.UnmanagedParams[0].maxCollisionAlgorithmPoolSize = v; } ), + new ParameterDefn("ShouldDisableContactPoolDynamicAllocation", "Enable to allow large changes in object count", + false, (s) => { return ShouldDisableContactPoolDynamicAllocation; }, - (s,p,l,v) => { ShouldDisableContactPoolDynamicAllocation = v; s.UnmanagedParams[0].shouldDisableContactPoolDynamicAllocation = v; } ), - new ParameterDefn("ShouldForceUpdateAllAabbs", "Enable to recomputer AABBs every simulator step", - ConfigurationParameters.numericFalse, - (s,cf,p,v) => { ShouldForceUpdateAllAabbs = BSParam.NumericBool(cf.GetBoolean(p, BSParam.BoolNumeric(v))); }, + (s,v) => { ShouldDisableContactPoolDynamicAllocation = v; + s.UnmanagedParams[0].shouldDisableContactPoolDynamicAllocation = NumericBool(v); } ), + new ParameterDefn("ShouldForceUpdateAllAabbs", "Enable to recomputer AABBs every simulator step", + false, (s) => { return ShouldForceUpdateAllAabbs; }, - (s,p,l,v) => { ShouldForceUpdateAllAabbs = v; s.UnmanagedParams[0].shouldForceUpdateAllAabbs = v; } ), - new ParameterDefn("ShouldRandomizeSolverOrder", "Enable for slightly better stacking interaction", - ConfigurationParameters.numericTrue, - (s,cf,p,v) => { ShouldRandomizeSolverOrder = BSParam.NumericBool(cf.GetBoolean(p, BSParam.BoolNumeric(v))); }, + (s,v) => { ShouldForceUpdateAllAabbs = v; s.UnmanagedParams[0].shouldForceUpdateAllAabbs = NumericBool(v); } ), + new ParameterDefn("ShouldRandomizeSolverOrder", "Enable for slightly better stacking interaction", + true, (s) => { return ShouldRandomizeSolverOrder; }, - (s,p,l,v) => { ShouldRandomizeSolverOrder = v; s.UnmanagedParams[0].shouldRandomizeSolverOrder = v; } ), - new ParameterDefn("ShouldSplitSimulationIslands", "Enable splitting active object scanning islands", - ConfigurationParameters.numericTrue, - (s,cf,p,v) => { ShouldSplitSimulationIslands = BSParam.NumericBool(cf.GetBoolean(p, BSParam.BoolNumeric(v))); }, + (s,v) => { ShouldRandomizeSolverOrder = v; s.UnmanagedParams[0].shouldRandomizeSolverOrder = NumericBool(v); } ), + new ParameterDefn("ShouldSplitSimulationIslands", "Enable splitting active object scanning islands", + true, (s) => { return ShouldSplitSimulationIslands; }, - (s,p,l,v) => { ShouldSplitSimulationIslands = v; s.UnmanagedParams[0].shouldSplitSimulationIslands = v; } ), - new ParameterDefn("ShouldEnableFrictionCaching", "Enable friction computation caching", - ConfigurationParameters.numericTrue, - (s,cf,p,v) => { ShouldEnableFrictionCaching = BSParam.NumericBool(cf.GetBoolean(p, BSParam.BoolNumeric(v))); }, + (s,v) => { ShouldSplitSimulationIslands = v; s.UnmanagedParams[0].shouldSplitSimulationIslands = NumericBool(v); } ), + new ParameterDefn("ShouldEnableFrictionCaching", "Enable friction computation caching", + true, (s) => { return ShouldEnableFrictionCaching; }, - (s,p,l,v) => { ShouldEnableFrictionCaching = v; s.UnmanagedParams[0].shouldEnableFrictionCaching = v; } ), - new ParameterDefn("NumberOfSolverIterations", "Number of internal iterations (0 means default)", + (s,v) => { ShouldEnableFrictionCaching = v; s.UnmanagedParams[0].shouldEnableFrictionCaching = NumericBool(v); } ), + new ParameterDefn("NumberOfSolverIterations", "Number of internal iterations (0 means default)", 0f, // zero says use Bullet default - (s,cf,p,v) => { NumberOfSolverIterations = cf.GetFloat(p, v); }, (s) => { return NumberOfSolverIterations; }, - (s,p,l,v) => { NumberOfSolverIterations = v; s.UnmanagedParams[0].numberOfSolverIterations = v; } ), - new ParameterDefn("UseSingleSidedMeshes", "Whether to compute collisions based on single sided meshes.", - ConfigurationParameters.numericTrue, - (s,cf,p,v) => { UseSingleSidedMeshesF = BSParam.NumericBool(cf.GetBoolean(p, BSParam.BoolNumeric(v))); }, - (s) => { return UseSingleSidedMeshesF; }, - (s,p,l,v) => { UseSingleSidedMeshesF = v; s.UnmanagedParams[0].useSingleSidedMeshes = v; } ), - new ParameterDefn("GlobalContactBreakingThreshold", "Amount of shape radius before breaking a collision contact (0 says Bullet default (0.2))", + (s,v) => { NumberOfSolverIterations = v; s.UnmanagedParams[0].numberOfSolverIterations = v; } ), + new ParameterDefn("UseSingleSidedMeshes", "Whether to compute collisions based on single sided meshes.", + true, + (s) => { return UseSingleSidedMeshes; }, + (s,v) => { UseSingleSidedMeshes = v; s.UnmanagedParams[0].useSingleSidedMeshes = NumericBool(v); } ), + new ParameterDefn("GlobalContactBreakingThreshold", "Amount of shape radius before breaking a collision contact (0 says Bullet default (0.2))", 0f, - (s,cf,p,v) => { GlobalContactBreakingThreshold = cf.GetFloat(p, v); }, (s) => { return GlobalContactBreakingThreshold; }, - (s,p,l,v) => { GlobalContactBreakingThreshold = v; s.UnmanagedParams[0].globalContactBreakingThreshold = v; } ), + (s,v) => { GlobalContactBreakingThreshold = v; s.UnmanagedParams[0].globalContactBreakingThreshold = v; } ), - new ParameterDefn("LinksetImplementation", "Type of linkset implementation (0=Constraint, 1=Compound, 2=Manual)", + new ParameterDefn("LinksetImplementation", "Type of linkset implementation (0=Constraint, 1=Compound, 2=Manual)", (float)BSLinkset.LinksetImplementation.Compound, - (s,cf,p,v) => { LinksetImplementation = cf.GetFloat(p,v); }, (s) => { return LinksetImplementation; }, - (s,p,l,v) => { LinksetImplementation = v; } ), - new ParameterDefn("LinkConstraintUseFrameOffset", "For linksets built with constraints, enable frame offsetFor linksets built with constraints, enable frame offset.", - ConfigurationParameters.numericFalse, - (s,cf,p,v) => { LinkConstraintUseFrameOffset = BSParam.NumericBool(cf.GetBoolean(p, BSParam.BoolNumeric(v))); }, + (s,v) => { LinksetImplementation = v; } ), + new ParameterDefn("LinkConstraintUseFrameOffset", "For linksets built with constraints, enable frame offsetFor linksets built with constraints, enable frame offset.", + false, (s) => { return LinkConstraintUseFrameOffset; }, - (s,p,l,v) => { LinkConstraintUseFrameOffset = v; } ), - new ParameterDefn("LinkConstraintEnableTransMotor", "Whether to enable translational motor on linkset constraints", - ConfigurationParameters.numericTrue, - (s,cf,p,v) => { LinkConstraintEnableTransMotor = BSParam.NumericBool(cf.GetBoolean(p, BSParam.BoolNumeric(v))); }, + (s,v) => { LinkConstraintUseFrameOffset = v; } ), + new ParameterDefn("LinkConstraintEnableTransMotor", "Whether to enable translational motor on linkset constraints", + true, (s) => { return LinkConstraintEnableTransMotor; }, - (s,p,l,v) => { LinkConstraintEnableTransMotor = v; } ), - new ParameterDefn("LinkConstraintTransMotorMaxVel", "Maximum velocity to be applied by translational motor in linkset constraints", + (s,v) => { LinkConstraintEnableTransMotor = v; } ), + new ParameterDefn("LinkConstraintTransMotorMaxVel", "Maximum velocity to be applied by translational motor in linkset constraints", 5.0f, - (s,cf,p,v) => { LinkConstraintTransMotorMaxVel = cf.GetFloat(p, v); }, (s) => { return LinkConstraintTransMotorMaxVel; }, - (s,p,l,v) => { LinkConstraintTransMotorMaxVel = v; } ), - new ParameterDefn("LinkConstraintTransMotorMaxForce", "Maximum force to be applied by translational motor in linkset constraints", + (s,v) => { LinkConstraintTransMotorMaxVel = v; } ), + new ParameterDefn("LinkConstraintTransMotorMaxForce", "Maximum force to be applied by translational motor in linkset constraints", 0.1f, - (s,cf,p,v) => { LinkConstraintTransMotorMaxForce = cf.GetFloat(p, v); }, (s) => { return LinkConstraintTransMotorMaxForce; }, - (s,p,l,v) => { LinkConstraintTransMotorMaxForce = v; } ), - new ParameterDefn("LinkConstraintCFM", "Amount constraint can be violated. 0=no violation, 1=infinite. Default=0.1", + (s,v) => { LinkConstraintTransMotorMaxForce = v; } ), + new ParameterDefn("LinkConstraintCFM", "Amount constraint can be violated. 0=no violation, 1=infinite. Default=0.1", 0.1f, - (s,cf,p,v) => { LinkConstraintCFM = cf.GetFloat(p, v); }, (s) => { return LinkConstraintCFM; }, - (s,p,l,v) => { LinkConstraintCFM = v; } ), - new ParameterDefn("LinkConstraintERP", "Amount constraint is corrected each tick. 0=none, 1=all. Default = 0.2", + (s,v) => { LinkConstraintCFM = v; } ), + new ParameterDefn("LinkConstraintERP", "Amount constraint is corrected each tick. 0=none, 1=all. Default = 0.2", 0.1f, - (s,cf,p,v) => { LinkConstraintERP = cf.GetFloat(p, v); }, (s) => { return LinkConstraintERP; }, - (s,p,l,v) => { LinkConstraintERP = v; } ), - new ParameterDefn("LinkConstraintSolverIterations", "Number of solver iterations when computing constraint. (0 = Bullet default)", + (s,v) => { LinkConstraintERP = v; } ), + new ParameterDefn("LinkConstraintSolverIterations", "Number of solver iterations when computing constraint. (0 = Bullet default)", 40, - (s,cf,p,v) => { LinkConstraintSolverIterations = cf.GetFloat(p, v); }, (s) => { return LinkConstraintSolverIterations; }, - (s,p,l,v) => { LinkConstraintSolverIterations = v; } ), + (s,v) => { LinkConstraintSolverIterations = v; } ), - new ParameterDefn("PhysicsMetricFrames", "Frames between outputting detailed phys metrics. (0 is off)", + new ParameterDefn("PhysicsMetricFrames", "Frames between outputting detailed phys metrics. (0 is off)", + 0, + (s) => { return s.PhysicsMetricDumpFrames; }, + (s,v) => { s.PhysicsMetricDumpFrames = v; } ), + new ParameterDefn("ResetBroadphasePool", "Setting this is any value resets the broadphase collision pool", 0f, - (s,cf,p,v) => { s.PhysicsMetricDumpFrames = cf.GetFloat(p, (int)v); }, - (s) => { return (float)s.PhysicsMetricDumpFrames; }, - (s,p,l,v) => { s.PhysicsMetricDumpFrames = (int)v; } ), - new ParameterDefn("ResetBroadphasePool", "Setting this is any value resets the broadphase collision pool", - 0f, - (s,cf,p,v) => { ; }, (s) => { return 0f; }, - (s,p,l,v) => { BSParam.ResetBroadphasePoolTainted(s, v); } ), - new ParameterDefn("ResetConstraintSolver", "Setting this is any value resets the constraint solver", + (s,v) => { BSParam.ResetBroadphasePoolTainted(s, v); } ), + new ParameterDefn("ResetConstraintSolver", "Setting this is any value resets the constraint solver", 0f, - (s,cf,p,v) => { ; }, (s) => { return 0f; }, - (s,p,l,v) => { BSParam.ResetConstraintSolverTainted(s, v); } ), + (s,v) => { BSParam.ResetConstraintSolverTainted(s, v); } ), }; // Convert a boolean to our numeric true and false values @@ -658,13 +636,13 @@ public static class BSParam // ParameterDefn structure. // Case does not matter as names are compared after converting to lower case. // Returns 'false' if the parameter is not found. - internal static bool TryGetParameter(string paramName, out ParameterDefn defn) + internal static bool TryGetParameter(string paramName, out ParameterDefnBase defn) { bool ret = false; - ParameterDefn foundDefn = new ParameterDefn(); + ParameterDefnBase foundDefn = null; string pName = paramName.ToLower(); - foreach (ParameterDefn parm in ParameterDefinitions) + foreach (ParameterDefnBase parm in ParameterDefinitions) { if (pName == parm.name.ToLower()) { @@ -680,18 +658,18 @@ public static class BSParam // Pass through the settable parameters and set the default values internal static void SetParameterDefaultValues(BSScene physicsScene) { - foreach (ParameterDefn parm in ParameterDefinitions) + foreach (ParameterDefnBase parm in ParameterDefinitions) { - parm.setter(physicsScene, parm.name, PhysParameterEntry.APPLY_TO_NONE, parm.defaultValue); + parm.AssignDefault(physicsScene); } } // Get user set values out of the ini file. internal static void SetParameterConfigurationValues(BSScene physicsScene, IConfig cfg) { - foreach (ParameterDefn parm in ParameterDefinitions) + foreach (ParameterDefnBase parm in ParameterDefinitions) { - parm.userParam(physicsScene, cfg, parm.name, parm.defaultValue); + parm.SetValue(physicsScene, cfg.GetString(parm.name, parm.GetValue(physicsScene))); } } @@ -706,11 +684,11 @@ public static class BSParam List entries = new List(); for (int ii = 0; ii < ParameterDefinitions.Length; ii++) { - ParameterDefn pd = ParameterDefinitions[ii]; + ParameterDefnBase pd = ParameterDefinitions[ii]; entries.Add(new PhysParameterEntry(pd.name, pd.desc)); } - // make the list alphabetical for estetic reasons + // make the list alphabetical for ease of finding anything entries.Sort((ppe1, ppe2) => { return ppe1.name.CompareTo(ppe2.name); }); SettableParameters = entries.ToArray(); diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs index 05722b8c34..e6aefd52ec 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs @@ -161,7 +161,7 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters private int m_physicsLoggingFileMinutes; private bool m_physicsLoggingDoFlush; private bool m_physicsPhysicalDumpEnabled; - public float PhysicsMetricDumpFrames { get; set; } + public int PhysicsMetricDumpFrames { get; set; } // 'true' of the vehicle code is to log lots of details public bool VehicleLoggingEnabled { get; private set; } public bool VehiclePhysicalLoggingEnabled { get; private set; } @@ -542,7 +542,7 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters collidersCount = 0; } - if ((m_simulationStep % PhysicsMetricDumpFrames) == 0) + if (PhysicsMetricDumpFrames != 0 && ((m_simulationStep % PhysicsMetricDumpFrames) == 0)) PE.DumpPhysicsStatistics(World); // Get a value for 'now' so all the collision and update routines don't have to get their own. @@ -880,38 +880,14 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters { bool ret = false; - float valf = 0f; - if (val.ToLower() == "true") - { - valf = PhysParameterEntry.NUMERIC_TRUE; - } - else - { - if (val.ToLower() == "false") - { - valf = PhysParameterEntry.NUMERIC_FALSE; - } - else - { - try - { - valf = float.Parse(val); - } - catch - { - valf = 0f; - } - } - } - - BSParam.ParameterDefn theParam; + BSParam.ParameterDefnBase theParam; if (BSParam.TryGetParameter(parm, out theParam)) { // Set the value in the C# code - theParam.setter(this, parm, localID, valf); + theParam.SetValue(this, val); // Optionally set the parameter in the unmanaged code - if (theParam.onObject != null) + if (theParam.HasSetOnObject) { // update all the localIDs specified // If the local ID is APPLY_TO_NONE, just change the default value @@ -923,16 +899,16 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters case PhysParameterEntry.APPLY_TO_NONE: // This will cause a call into the physical world if some operation is specified (SetOnObject). objectIDs.Add(TERRAIN_ID); - TaintedUpdateParameter(parm, objectIDs, valf); + TaintedUpdateParameter(parm, objectIDs, val); break; case PhysParameterEntry.APPLY_TO_ALL: lock (PhysObjects) objectIDs = new List(PhysObjects.Keys); - TaintedUpdateParameter(parm, objectIDs, valf); + TaintedUpdateParameter(parm, objectIDs, val); break; default: // setting only one localID objectIDs.Add(localID); - TaintedUpdateParameter(parm, objectIDs, valf); + TaintedUpdateParameter(parm, objectIDs, val); break; } } @@ -943,22 +919,22 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters } // schedule the actual updating of the paramter to when the phys engine is not busy - private void TaintedUpdateParameter(string parm, List lIDs, float val) + private void TaintedUpdateParameter(string parm, List lIDs, string val) { - float xval = val; + string xval = val; List xlIDs = lIDs; string xparm = parm; TaintedObject("BSScene.UpdateParameterSet", delegate() { - BSParam.ParameterDefn thisParam; + BSParam.ParameterDefnBase thisParam; if (BSParam.TryGetParameter(xparm, out thisParam)) { - if (thisParam.onObject != null) + if (thisParam.HasSetOnObject) { foreach (uint lID in xlIDs) { BSPhysObject theObject = null; if (PhysObjects.TryGetValue(lID, out theObject)) - thisParam.onObject(this, theObject, xval); + thisParam.SetOnObject(this, theObject); } } } @@ -971,10 +947,10 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters { string val = String.Empty; bool ret = false; - BSParam.ParameterDefn theParam; + BSParam.ParameterDefnBase theParam; if (BSParam.TryGetParameter(parm, out theParam)) { - val = theParam.getter(this).ToString(); + val = theParam.GetValue(this); ret = true; } value = val; From 1d7276235ace0ed6b7701efa36a7fd7f1b552bab Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sun, 17 Feb 2013 20:07:04 -0800 Subject: [PATCH 606/851] BulletSim: add calls for creating all the different Bullet constraint types. Updated the DLLs and SOs and code for BulletXNA to create the types. All the detailed control calls are not all in place yet. --- .../Physics/BulletSPlugin/BSAPIUnman.cs | 102 ++++++++ .../Region/Physics/BulletSPlugin/BSAPIXNA.cs | 227 ++++++++++++++---- .../Physics/BulletSPlugin/BSApiTemplate.cs | 27 +++ .../Physics/BulletSPlugin/BSConstraint6Dof.cs | 16 ++ .../BulletSPlugin/BSConstraintCollection.cs | 13 +- bin/lib32/BulletSim.dll | Bin 546816 -> 570368 bytes bin/lib32/libBulletSim.so | Bin 1700826 -> 1751260 bytes bin/lib64/BulletSim.dll | Bin 694784 -> 720896 bytes bin/lib64/libBulletSim.so | Bin 1843498 -> 1908442 bytes 9 files changed, 338 insertions(+), 47 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSAPIUnman.cs b/OpenSim/Region/Physics/BulletSPlugin/BSAPIUnman.cs index ae54499716..3a27d2c605 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSAPIUnman.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSAPIUnman.cs @@ -438,6 +438,28 @@ public override BulletConstraint Create6DofConstraintToPoint(BulletWorld world, joinPoint, useLinearReferenceFrameA, disableCollisionsBetweenLinkedBodies)); } +public override BulletConstraint Create6DofConstraintFixed(BulletWorld world, BulletBody obj1, + Vector3 frameInBloc, Quaternion frameInBrot, + bool useLinearReferenceFrameB, bool disableCollisionsBetweenLinkedBodies) +{ + BulletWorldUnman worldu = world as BulletWorldUnman; + BulletBodyUnman bodyu1 = obj1 as BulletBodyUnman; + return new BulletConstraintUnman(BSAPICPP.Create6DofConstraintFixed2(worldu.ptr, bodyu1.ptr, + frameInBloc, frameInBrot, useLinearReferenceFrameB, disableCollisionsBetweenLinkedBodies)); +} + +public override BulletConstraint Create6DofSpringConstraint(BulletWorld world, BulletBody obj1, BulletBody obj2, + Vector3 frame1loc, Quaternion frame1rot, + Vector3 frame2loc, Quaternion frame2rot, + bool useLinearReferenceFrameA, bool disableCollisionsBetweenLinkedBodies) +{ + BulletWorldUnman worldu = world as BulletWorldUnman; + BulletBodyUnman bodyu1 = obj1 as BulletBodyUnman; + BulletBodyUnman bodyu2 = obj2 as BulletBodyUnman; + return new BulletConstraintUnman(BSAPICPP.Create6DofSpringConstraint2(worldu.ptr, bodyu1.ptr, bodyu2.ptr, frame1loc, frame1rot, + frame2loc, frame2rot, useLinearReferenceFrameA, disableCollisionsBetweenLinkedBodies)); +} + public override BulletConstraint CreateHingeConstraint(BulletWorld world, BulletBody obj1, BulletBody obj2, Vector3 pivotinA, Vector3 pivotinB, Vector3 axisInA, Vector3 axisInB, @@ -450,6 +472,52 @@ public override BulletConstraint CreateHingeConstraint(BulletWorld world, Bullet pivotinA, pivotinB, axisInA, axisInB, useLinearReferenceFrameA, disableCollisionsBetweenLinkedBodies)); } +public override BulletConstraint CreateSliderConstraint(BulletWorld world, BulletBody obj1, BulletBody obj2, + Vector3 frame1loc, Quaternion frame1rot, + Vector3 frame2loc, Quaternion frame2rot, + bool useLinearReferenceFrameA, bool disableCollisionsBetweenLinkedBodies) +{ + BulletWorldUnman worldu = world as BulletWorldUnman; + BulletBodyUnman bodyu1 = obj1 as BulletBodyUnman; + BulletBodyUnman bodyu2 = obj2 as BulletBodyUnman; + return new BulletConstraintUnman(BSAPICPP.CreateSliderConstraint2(worldu.ptr, bodyu1.ptr, bodyu2.ptr, frame1loc, frame1rot, + frame2loc, frame2rot, useLinearReferenceFrameA, disableCollisionsBetweenLinkedBodies)); +} + +public override BulletConstraint CreateConeTwistConstraint(BulletWorld world, BulletBody obj1, BulletBody obj2, + Vector3 frame1loc, Quaternion frame1rot, + Vector3 frame2loc, Quaternion frame2rot, + bool disableCollisionsBetweenLinkedBodies) +{ + BulletWorldUnman worldu = world as BulletWorldUnman; + BulletBodyUnman bodyu1 = obj1 as BulletBodyUnman; + BulletBodyUnman bodyu2 = obj2 as BulletBodyUnman; + return new BulletConstraintUnman(BSAPICPP.CreateConeTwistConstraint2(worldu.ptr, bodyu1.ptr, bodyu2.ptr, frame1loc, frame1rot, + frame2loc, frame2rot, disableCollisionsBetweenLinkedBodies)); +} + +public override BulletConstraint CreateGearConstraint(BulletWorld world, BulletBody obj1, BulletBody obj2, + Vector3 axisInA, Vector3 axisInB, + float ratio, bool disableCollisionsBetweenLinkedBodies) +{ + BulletWorldUnman worldu = world as BulletWorldUnman; + BulletBodyUnman bodyu1 = obj1 as BulletBodyUnman; + BulletBodyUnman bodyu2 = obj2 as BulletBodyUnman; + return new BulletConstraintUnman(BSAPICPP.CreateGearConstraint2(worldu.ptr, bodyu1.ptr, bodyu2.ptr, axisInA, axisInB, + ratio, disableCollisionsBetweenLinkedBodies)); +} + +public override BulletConstraint CreatePoint2PointConstraint(BulletWorld world, BulletBody obj1, BulletBody obj2, + Vector3 pivotInA, Vector3 pivotInB, + bool disableCollisionsBetweenLinkedBodies) +{ + BulletWorldUnman worldu = world as BulletWorldUnman; + BulletBodyUnman bodyu1 = obj1 as BulletBodyUnman; + BulletBodyUnman bodyu2 = obj2 as BulletBodyUnman; + return new BulletConstraintUnman(BSAPICPP.CreatePoint2PointConstraint2(worldu.ptr, bodyu1.ptr, bodyu2.ptr, pivotInA, pivotInB, + disableCollisionsBetweenLinkedBodies)); +} + public override void SetConstraintEnable(BulletConstraint constrain, float numericTrueFalse) { BulletConstraintUnman constrainu = constrain as BulletConstraintUnman; @@ -1425,12 +1493,46 @@ public static extern IntPtr Create6DofConstraintToPoint2(IntPtr world, IntPtr ob Vector3 joinPoint, bool useLinearReferenceFrameA, bool disableCollisionsBetweenLinkedBodies); +[DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] +public static extern IntPtr Create6DofConstraintFixed2(IntPtr world, IntPtr obj1, + Vector3 frameInBloc, Quaternion frameInBrot, + bool useLinearReferenceFrameB, bool disableCollisionsBetweenLinkedBodies); + +[DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] +public static extern IntPtr Create6DofSpringConstraint2(IntPtr world, IntPtr obj1, IntPtr obj2, + Vector3 frame1loc, Quaternion frame1rot, + Vector3 frame2loc, Quaternion frame2rot, + bool useLinearReferenceFrameA, bool disableCollisionsBetweenLinkedBodies); + [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] public static extern IntPtr CreateHingeConstraint2(IntPtr world, IntPtr obj1, IntPtr obj2, Vector3 pivotinA, Vector3 pivotinB, Vector3 axisInA, Vector3 axisInB, bool useLinearReferenceFrameA, bool disableCollisionsBetweenLinkedBodies); +[DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] +public static extern IntPtr CreateSliderConstraint2(IntPtr world, IntPtr obj1, IntPtr obj2, + Vector3 frameInAloc, Quaternion frameInArot, + Vector3 frameInBloc, Quaternion frameInBrot, + bool useLinearReferenceFrameA, bool disableCollisionsBetweenLinkedBodies); + +[DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] +public static extern IntPtr CreateConeTwistConstraint2(IntPtr world, IntPtr obj1, IntPtr obj2, + Vector3 frameInAloc, Quaternion frameInArot, + Vector3 frameInBloc, Quaternion frameInBrot, + bool disableCollisionsBetweenLinkedBodies); + +[DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] +public static extern IntPtr CreateGearConstraint2(IntPtr world, IntPtr obj1, IntPtr obj2, + Vector3 axisInA, Vector3 axisInB, + float ratio, bool disableCollisionsBetweenLinkedBodies); + +[DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] +public static extern IntPtr CreatePoint2PointConstraint2(IntPtr world, IntPtr obj1, IntPtr obj2, + Vector3 pivotInA, Vector3 pivotInB, + bool disableCollisionsBetweenLinkedBodies); + + [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] public static extern void SetConstraintEnable2(IntPtr constrain, float numericTrueFalse); diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSAPIXNA.cs b/OpenSim/Region/Physics/BulletSPlugin/BSAPIXNA.cs index 15fa52b59a..6fc10e95ce 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSAPIXNA.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSAPIXNA.cs @@ -559,8 +559,9 @@ private sealed class BulletConstraintXNA : BulletConstraint } - //BulletSimAPI.Create6DofConstraint(m_world.ptr, m_body1.ptr, m_body2.ptr,frame1, frame1rot,frame2, frame2rot,useLinearReferenceFrameA, disableCollisionsBetweenLinkedBodies)); - public override BulletConstraint Create6DofConstraint(BulletWorld pWorld, BulletBody pBody1, BulletBody pBody2, Vector3 pframe1, Quaternion pframe1rot, Vector3 pframe2, Quaternion pframe2rot, bool puseLinearReferenceFrameA, bool pdisableCollisionsBetweenLinkedBodies) + public override BulletConstraint Create6DofConstraint(BulletWorld pWorld, BulletBody pBody1, BulletBody pBody2, + Vector3 pframe1, Quaternion pframe1rot, Vector3 pframe2, Quaternion pframe2rot, + bool puseLinearReferenceFrameA, bool pdisableCollisionsBetweenLinkedBodies) { DiscreteDynamicsWorld world = (pWorld as BulletWorldXNA).world; @@ -584,7 +585,24 @@ private sealed class BulletConstraintXNA : BulletConstraint return new BulletConstraintXNA(consttr); } - + public override BulletConstraint Create6DofConstraintFixed(BulletWorld pWorld, BulletBody pBody1, + Vector3 pframe1, Quaternion pframe1rot, + bool pUseLinearReferenceFrameB, bool pdisableCollisionsBetweenLinkedBodies) + { + DiscreteDynamicsWorld world = (pWorld as BulletWorldXNA).world; + RigidBody body1 = (pBody1 as BulletBodyXNA).rigidBody; + IndexedVector3 frame1v = new IndexedVector3(pframe1.X, pframe1.Y, pframe1.Z); + IndexedQuaternion frame1rot = new IndexedQuaternion(pframe1rot.X, pframe1rot.Y, pframe1rot.Z, pframe1rot.W); + IndexedMatrix frame1 = IndexedMatrix.CreateFromQuaternion(frame1rot); + frame1._origin = frame1v; + + Generic6DofConstraint consttr = new Generic6DofConstraint(body1, ref frame1, pUseLinearReferenceFrameB); + consttr.CalculateTransforms(); + world.AddConstraint(consttr,pdisableCollisionsBetweenLinkedBodies); + + return new BulletConstraintXNA(consttr); + } + /// /// /// @@ -1443,129 +1461,130 @@ private sealed class BulletConstraintXNA : BulletConstraint public BSPhysicsShapeType BSShapeTypeFromBroadPhaseNativeType(BroadphaseNativeTypes pin) { + BSPhysicsShapeType ret = BSPhysicsShapeType.SHAPE_UNKNOWN; switch (pin) { case BroadphaseNativeTypes.BOX_SHAPE_PROXYTYPE: - return BSPhysicsShapeType.SHAPE_BOX; + ret = BSPhysicsShapeType.SHAPE_BOX; break; case BroadphaseNativeTypes.TRIANGLE_SHAPE_PROXYTYPE: - return BSPhysicsShapeType.SHAPE_UNKNOWN; + ret = BSPhysicsShapeType.SHAPE_UNKNOWN; break; case BroadphaseNativeTypes.TETRAHEDRAL_SHAPE_PROXYTYPE: - return BSPhysicsShapeType.SHAPE_UNKNOWN; + ret = BSPhysicsShapeType.SHAPE_UNKNOWN; break; case BroadphaseNativeTypes.CONVEX_TRIANGLEMESH_SHAPE_PROXYTYPE: - return BSPhysicsShapeType.SHAPE_MESH; + ret = BSPhysicsShapeType.SHAPE_MESH; break; case BroadphaseNativeTypes.CONVEX_HULL_SHAPE_PROXYTYPE: - return BSPhysicsShapeType.SHAPE_HULL; + ret = BSPhysicsShapeType.SHAPE_HULL; break; case BroadphaseNativeTypes.CONVEX_POINT_CLOUD_SHAPE_PROXYTYPE: - return BSPhysicsShapeType.SHAPE_UNKNOWN; + ret = BSPhysicsShapeType.SHAPE_UNKNOWN; break; case BroadphaseNativeTypes.CUSTOM_POLYHEDRAL_SHAPE_TYPE: - return BSPhysicsShapeType.SHAPE_UNKNOWN; + ret = BSPhysicsShapeType.SHAPE_UNKNOWN; break; //implicit convex shapes case BroadphaseNativeTypes.IMPLICIT_CONVEX_SHAPES_START_HERE: - return BSPhysicsShapeType.SHAPE_UNKNOWN; + ret = BSPhysicsShapeType.SHAPE_UNKNOWN; break; case BroadphaseNativeTypes.SPHERE_SHAPE_PROXYTYPE: - return BSPhysicsShapeType.SHAPE_SPHERE; + ret = BSPhysicsShapeType.SHAPE_SPHERE; break; case BroadphaseNativeTypes.MULTI_SPHERE_SHAPE_PROXYTYPE: - return BSPhysicsShapeType.SHAPE_UNKNOWN; + ret = BSPhysicsShapeType.SHAPE_UNKNOWN; break; case BroadphaseNativeTypes.CAPSULE_SHAPE_PROXYTYPE: - return BSPhysicsShapeType.SHAPE_CAPSULE; + ret = BSPhysicsShapeType.SHAPE_CAPSULE; break; case BroadphaseNativeTypes.CONE_SHAPE_PROXYTYPE: - return BSPhysicsShapeType.SHAPE_CONE; + ret = BSPhysicsShapeType.SHAPE_CONE; break; case BroadphaseNativeTypes.CONVEX_SHAPE_PROXYTYPE: - return BSPhysicsShapeType.SHAPE_UNKNOWN; + ret = BSPhysicsShapeType.SHAPE_UNKNOWN; break; case BroadphaseNativeTypes.CYLINDER_SHAPE_PROXYTYPE: - return BSPhysicsShapeType.SHAPE_CYLINDER; + ret = BSPhysicsShapeType.SHAPE_CYLINDER; break; case BroadphaseNativeTypes.UNIFORM_SCALING_SHAPE_PROXYTYPE: - return BSPhysicsShapeType.SHAPE_UNKNOWN; + ret = BSPhysicsShapeType.SHAPE_UNKNOWN; break; case BroadphaseNativeTypes.MINKOWSKI_SUM_SHAPE_PROXYTYPE: - return BSPhysicsShapeType.SHAPE_UNKNOWN; + ret = BSPhysicsShapeType.SHAPE_UNKNOWN; break; case BroadphaseNativeTypes.MINKOWSKI_DIFFERENCE_SHAPE_PROXYTYPE: - return BSPhysicsShapeType.SHAPE_UNKNOWN; + ret = BSPhysicsShapeType.SHAPE_UNKNOWN; break; case BroadphaseNativeTypes.BOX_2D_SHAPE_PROXYTYPE: - return BSPhysicsShapeType.SHAPE_UNKNOWN; + ret = BSPhysicsShapeType.SHAPE_UNKNOWN; break; case BroadphaseNativeTypes.CONVEX_2D_SHAPE_PROXYTYPE: - return BSPhysicsShapeType.SHAPE_UNKNOWN; + ret = BSPhysicsShapeType.SHAPE_UNKNOWN; break; case BroadphaseNativeTypes.CUSTOM_CONVEX_SHAPE_TYPE: - return BSPhysicsShapeType.SHAPE_UNKNOWN; + ret = BSPhysicsShapeType.SHAPE_UNKNOWN; break; //concave shape case BroadphaseNativeTypes.CONCAVE_SHAPES_START_HERE: - return BSPhysicsShapeType.SHAPE_UNKNOWN; + ret = BSPhysicsShapeType.SHAPE_UNKNOWN; break; //keep all the convex shapetype below here, for the check IsConvexShape in broadphase proxy! case BroadphaseNativeTypes.TRIANGLE_MESH_SHAPE_PROXYTYPE: - return BSPhysicsShapeType.SHAPE_MESH; + ret = BSPhysicsShapeType.SHAPE_MESH; break; case BroadphaseNativeTypes.SCALED_TRIANGLE_MESH_SHAPE_PROXYTYPE: - return BSPhysicsShapeType.SHAPE_MESH; + ret = BSPhysicsShapeType.SHAPE_MESH; break; ///used for demo integration FAST/Swift collision library and Bullet case BroadphaseNativeTypes.FAST_CONCAVE_MESH_PROXYTYPE: - return BSPhysicsShapeType.SHAPE_MESH; + ret = BSPhysicsShapeType.SHAPE_MESH; break; //terrain case BroadphaseNativeTypes.TERRAIN_SHAPE_PROXYTYPE: - return BSPhysicsShapeType.SHAPE_HEIGHTMAP; + ret = BSPhysicsShapeType.SHAPE_HEIGHTMAP; break; ///Used for GIMPACT Trimesh integration case BroadphaseNativeTypes.GIMPACT_SHAPE_PROXYTYPE: - return BSPhysicsShapeType.SHAPE_MESH; + ret = BSPhysicsShapeType.SHAPE_MESH; break; ///Multimaterial mesh case BroadphaseNativeTypes.MULTIMATERIAL_TRIANGLE_MESH_PROXYTYPE: - return BSPhysicsShapeType.SHAPE_MESH; + ret = BSPhysicsShapeType.SHAPE_MESH; break; case BroadphaseNativeTypes.EMPTY_SHAPE_PROXYTYPE: - return BSPhysicsShapeType.SHAPE_UNKNOWN; + ret = BSPhysicsShapeType.SHAPE_UNKNOWN; break; case BroadphaseNativeTypes.STATIC_PLANE_PROXYTYPE: - return BSPhysicsShapeType.SHAPE_GROUNDPLANE; + ret = BSPhysicsShapeType.SHAPE_GROUNDPLANE; break; case BroadphaseNativeTypes.CUSTOM_CONCAVE_SHAPE_TYPE: - return BSPhysicsShapeType.SHAPE_UNKNOWN; + ret = BSPhysicsShapeType.SHAPE_UNKNOWN; break; case BroadphaseNativeTypes.CONCAVE_SHAPES_END_HERE: - return BSPhysicsShapeType.SHAPE_UNKNOWN; + ret = BSPhysicsShapeType.SHAPE_UNKNOWN; break; case BroadphaseNativeTypes.COMPOUND_SHAPE_PROXYTYPE: - return BSPhysicsShapeType.SHAPE_COMPOUND; + ret = BSPhysicsShapeType.SHAPE_COMPOUND; break; case BroadphaseNativeTypes.SOFTBODY_SHAPE_PROXYTYPE: - return BSPhysicsShapeType.SHAPE_MESH; + ret = BSPhysicsShapeType.SHAPE_MESH; break; case BroadphaseNativeTypes.HFFLUID_SHAPE_PROXYTYPE: - return BSPhysicsShapeType.SHAPE_UNKNOWN; + ret = BSPhysicsShapeType.SHAPE_UNKNOWN; break; case BroadphaseNativeTypes.HFFLUID_BUOYANT_CONVEX_SHAPE_PROXYTYPE: - return BSPhysicsShapeType.SHAPE_UNKNOWN; + ret = BSPhysicsShapeType.SHAPE_UNKNOWN; break; case BroadphaseNativeTypes.INVALID_SHAPE_PROXYTYPE: - return BSPhysicsShapeType.SHAPE_UNKNOWN; + ret = BSPhysicsShapeType.SHAPE_UNKNOWN; break; } - return BSPhysicsShapeType.SHAPE_UNKNOWN; + return ret; } public override void RemoveChildShapeFromCompoundShape(BulletShape cShape, BulletShape removeShape) { /* TODO */ } @@ -1579,7 +1598,39 @@ private sealed class BulletConstraintXNA : BulletConstraint return new BulletShapeXNA(m_planeshape, BSPhysicsShapeType.SHAPE_GROUNDPLANE); } - public override BulletConstraint CreateHingeConstraint(BulletWorld pWorld, BulletBody pBody1, BulletBody pBody2, Vector3 ppivotInA, Vector3 ppivotInB, Vector3 paxisInA, Vector3 paxisInB, bool puseLinearReferenceFrameA, bool pdisableCollisionsBetweenLinkedBodies) + public override BulletConstraint Create6DofSpringConstraint(BulletWorld pWorld, BulletBody pBody1, BulletBody pBody2, + Vector3 pframe1, Quaternion pframe1rot, Vector3 pframe2, Quaternion pframe2rot, + bool puseLinearReferenceFrameA, bool pdisableCollisionsBetweenLinkedBodies) + + { + Generic6DofSpringConstraint constrain = null; + DiscreteDynamicsWorld world = (pWorld as BulletWorldXNA).world; + RigidBody body1 = (pBody1 as BulletBodyXNA).rigidBody; + RigidBody body2 = (pBody2 as BulletBodyXNA).rigidBody; + if (body1 != null && body2 != null) + { + IndexedVector3 frame1v = new IndexedVector3(pframe1.X, pframe1.Y, pframe1.Z); + IndexedQuaternion frame1rot = new IndexedQuaternion(pframe1rot.X, pframe1rot.Y, pframe1rot.Z, pframe1rot.W); + IndexedMatrix frame1 = IndexedMatrix.CreateFromQuaternion(frame1rot); + frame1._origin = frame1v; + + IndexedVector3 frame2v = new IndexedVector3(pframe2.X, pframe2.Y, pframe2.Z); + IndexedQuaternion frame2rot = new IndexedQuaternion(pframe2rot.X, pframe2rot.Y, pframe2rot.Z, pframe2rot.W); + IndexedMatrix frame2 = IndexedMatrix.CreateFromQuaternion(frame2rot); + frame2._origin = frame1v; + + constrain = new Generic6DofSpringConstraint(body1, body2, ref frame1, ref frame2, puseLinearReferenceFrameA); + world.AddConstraint(constrain, pdisableCollisionsBetweenLinkedBodies); + + constrain.CalculateTransforms(); + } + + return new BulletConstraintXNA(constrain); + } + + public override BulletConstraint CreateHingeConstraint(BulletWorld pWorld, BulletBody pBody1, BulletBody pBody2, + Vector3 ppivotInA, Vector3 ppivotInB, Vector3 paxisInA, Vector3 paxisInB, + bool puseLinearReferenceFrameA, bool pdisableCollisionsBetweenLinkedBodies) { HingeConstraint constrain = null; DiscreteDynamicsWorld world = (pWorld as BulletWorldXNA).world; @@ -1591,6 +1642,100 @@ private sealed class BulletConstraintXNA : BulletConstraint IndexedVector3 pivotInB = new IndexedVector3(ppivotInB.X, ppivotInB.Y, ppivotInB.Z); IndexedVector3 axisInA = new IndexedVector3(paxisInA.X, paxisInA.Y, paxisInA.Z); IndexedVector3 axisInB = new IndexedVector3(paxisInB.X, paxisInB.Y, paxisInB.Z); + constrain = new HingeConstraint(rb1, rb2, ref pivotInA, ref pivotInB, ref axisInA, ref axisInB, puseLinearReferenceFrameA); + world.AddConstraint(constrain, pdisableCollisionsBetweenLinkedBodies); + } + return new BulletConstraintXNA(constrain); + } + + public override BulletConstraint CreateSliderConstraint(BulletWorld pWorld, BulletBody pBody1, BulletBody pBody2, + Vector3 pframe1, Quaternion pframe1rot, + Vector3 pframe2, Quaternion pframe2rot, + bool puseLinearReferenceFrameA, bool pdisableCollisionsBetweenLinkedBodies) + { + SliderConstraint constrain = null; + DiscreteDynamicsWorld world = (pWorld as BulletWorldXNA).world; + RigidBody rb1 = (pBody1 as BulletBodyXNA).rigidBody; + RigidBody rb2 = (pBody2 as BulletBodyXNA).rigidBody; + if (rb1 != null && rb2 != null) + { + IndexedVector3 frame1v = new IndexedVector3(pframe1.X, pframe1.Y, pframe1.Z); + IndexedQuaternion frame1rot = new IndexedQuaternion(pframe1rot.X, pframe1rot.Y, pframe1rot.Z, pframe1rot.W); + IndexedMatrix frame1 = IndexedMatrix.CreateFromQuaternion(frame1rot); + frame1._origin = frame1v; + + IndexedVector3 frame2v = new IndexedVector3(pframe2.X, pframe2.Y, pframe2.Z); + IndexedQuaternion frame2rot = new IndexedQuaternion(pframe2rot.X, pframe2rot.Y, pframe2rot.Z, pframe2rot.W); + IndexedMatrix frame2 = IndexedMatrix.CreateFromQuaternion(frame2rot); + frame2._origin = frame1v; + + constrain = new SliderConstraint(rb1, rb2, ref frame1, ref frame2, puseLinearReferenceFrameA); + world.AddConstraint(constrain, pdisableCollisionsBetweenLinkedBodies); + } + return new BulletConstraintXNA(constrain); + } + + public override BulletConstraint CreateConeTwistConstraint(BulletWorld pWorld, BulletBody pBody1, BulletBody pBody2, + Vector3 pframe1, Quaternion pframe1rot, + Vector3 pframe2, Quaternion pframe2rot, + bool pdisableCollisionsBetweenLinkedBodies) + { + ConeTwistConstraint constrain = null; + DiscreteDynamicsWorld world = (pWorld as BulletWorldXNA).world; + RigidBody rb1 = (pBody1 as BulletBodyXNA).rigidBody; + RigidBody rb2 = (pBody2 as BulletBodyXNA).rigidBody; + if (rb1 != null && rb2 != null) + { + IndexedVector3 frame1v = new IndexedVector3(pframe1.X, pframe1.Y, pframe1.Z); + IndexedQuaternion frame1rot = new IndexedQuaternion(pframe1rot.X, pframe1rot.Y, pframe1rot.Z, pframe1rot.W); + IndexedMatrix frame1 = IndexedMatrix.CreateFromQuaternion(frame1rot); + frame1._origin = frame1v; + + IndexedVector3 frame2v = new IndexedVector3(pframe2.X, pframe2.Y, pframe2.Z); + IndexedQuaternion frame2rot = new IndexedQuaternion(pframe2rot.X, pframe2rot.Y, pframe2rot.Z, pframe2rot.W); + IndexedMatrix frame2 = IndexedMatrix.CreateFromQuaternion(frame2rot); + frame2._origin = frame1v; + + constrain = new ConeTwistConstraint(rb1, rb2, ref frame1, ref frame2); + world.AddConstraint(constrain, pdisableCollisionsBetweenLinkedBodies); + } + return new BulletConstraintXNA(constrain); + } + + public override BulletConstraint CreateGearConstraint(BulletWorld pWorld, BulletBody pBody1, BulletBody pBody2, + Vector3 paxisInA, Vector3 paxisInB, + float pratio, bool pdisableCollisionsBetweenLinkedBodies) + { + Generic6DofConstraint constrain = null; + /* BulletXNA does not have a gear constraint + GearConstraint constrain = null; + DiscreteDynamicsWorld world = (pWorld as BulletWorldXNA).world; + RigidBody rb1 = (pBody1 as BulletBodyXNA).rigidBody; + RigidBody rb2 = (pBody2 as BulletBodyXNA).rigidBody; + if (rb1 != null && rb2 != null) + { + IndexedVector3 axis1 = new IndexedVector3(paxisInA.X, paxisInA.Y, paxisInA.Z); + IndexedVector3 axis2 = new IndexedVector3(paxisInB.X, paxisInB.Y, paxisInB.Z); + constrain = new GearConstraint(rb1, rb2, ref axis1, ref axis2, pratio); + world.AddConstraint(constrain, pdisableCollisionsBetweenLinkedBodies); + } + */ + return new BulletConstraintXNA(constrain); + } + + public override BulletConstraint CreatePoint2PointConstraint(BulletWorld pWorld, BulletBody pBody1, BulletBody pBody2, + Vector3 ppivotInA, Vector3 ppivotInB, + bool pdisableCollisionsBetweenLinkedBodies) + { + Point2PointConstraint constrain = null; + DiscreteDynamicsWorld world = (pWorld as BulletWorldXNA).world; + RigidBody rb1 = (pBody1 as BulletBodyXNA).rigidBody; + RigidBody rb2 = (pBody2 as BulletBodyXNA).rigidBody; + if (rb1 != null && rb2 != null) + { + IndexedVector3 pivotInA = new IndexedVector3(ppivotInA.X, ppivotInA.Y, ppivotInA.Z); + IndexedVector3 pivotInB = new IndexedVector3(ppivotInB.X, ppivotInB.Y, ppivotInB.Z); + constrain = new Point2PointConstraint(rb1, rb2, ref pivotInA, ref pivotInB); world.AddConstraint(constrain, pdisableCollisionsBetweenLinkedBodies); } return new BulletConstraintXNA(constrain); diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSApiTemplate.cs b/OpenSim/Region/Physics/BulletSPlugin/BSApiTemplate.cs index 3f83ef0ed2..5765b0dc86 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSApiTemplate.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSApiTemplate.cs @@ -365,11 +365,38 @@ public abstract BulletConstraint Create6DofConstraintToPoint(BulletWorld world, Vector3 joinPoint, bool useLinearReferenceFrameA, bool disableCollisionsBetweenLinkedBodies); +public abstract BulletConstraint Create6DofConstraintFixed(BulletWorld world, BulletBody obj1, + Vector3 frameInBloc, Quaternion frameInBrot, + bool useLinearReferenceFrameB, bool disableCollisionsBetweenLinkedBodies); + +public abstract BulletConstraint Create6DofSpringConstraint(BulletWorld world, BulletBody obj1, BulletBody obj2, + Vector3 frame1loc, Quaternion frame1rot, + Vector3 frame2loc, Quaternion frame2rot, + bool useLinearReferenceFrameA, bool disableCollisionsBetweenLinkedBodies); + public abstract BulletConstraint CreateHingeConstraint(BulletWorld world, BulletBody obj1, BulletBody obj2, Vector3 pivotinA, Vector3 pivotinB, Vector3 axisInA, Vector3 axisInB, bool useLinearReferenceFrameA, bool disableCollisionsBetweenLinkedBodies); +public abstract BulletConstraint CreateSliderConstraint(BulletWorld world, BulletBody obj1, BulletBody obj2, + Vector3 frameInAloc, Quaternion frameInArot, + Vector3 frameInBloc, Quaternion frameInBrot, + bool useLinearReferenceFrameA, bool disableCollisionsBetweenLinkedBodies); + +public abstract BulletConstraint CreateConeTwistConstraint(BulletWorld world, BulletBody obj1, BulletBody obj2, + Vector3 frameInAloc, Quaternion frameInArot, + Vector3 frameInBloc, Quaternion frameInBrot, + bool disableCollisionsBetweenLinkedBodies); + +public abstract BulletConstraint CreateGearConstraint(BulletWorld world, BulletBody obj1, BulletBody obj2, + Vector3 axisInA, Vector3 axisInB, + float ratio, bool disableCollisionsBetweenLinkedBodies); + +public abstract BulletConstraint CreatePoint2PointConstraint(BulletWorld world, BulletBody obj1, BulletBody obj2, + Vector3 pivotInA, Vector3 pivotInB, + bool disableCollisionsBetweenLinkedBodies); + public abstract void SetConstraintEnable(BulletConstraint constrain, float numericTrueFalse); public abstract void SetConstraintNumSolverIterations(BulletConstraint constrain, float iterations); diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSConstraint6Dof.cs b/OpenSim/Region/Physics/BulletSPlugin/BSConstraint6Dof.cs index ecb1b32884..476a0e5570 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSConstraint6Dof.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSConstraint6Dof.cs @@ -57,6 +57,7 @@ public sealed class BSConstraint6Dof : BSConstraint obj1.ID, obj1.AddrString, obj2.ID, obj2.AddrString); } + // 6 Dof constraint based on a midpoint between the two constrained bodies public BSConstraint6Dof(BulletWorld world, BulletBody obj1, BulletBody obj2, Vector3 joinPoint, bool useLinearReferenceFrameA, bool disableCollisionsBetweenLinkedBodies) @@ -94,6 +95,21 @@ public sealed class BSConstraint6Dof : BSConstraint } } + // A 6 Dof constraint that is fixed in the world and constrained to a on-the-fly created static object + public BSConstraint6Dof(BulletWorld world, BulletBody obj1, Vector3 frameInBloc, Quaternion frameInBrot, + bool useLinearReferenceFrameA, bool disableCollisionsBetweenLinkedBodies) + : base(world) + { + m_body1 = obj1; + m_body2 = obj1; // Look out for confusion down the road + m_constraint = PhysicsScene.PE.Create6DofConstraintFixed(m_world, m_body1, + frameInBloc, frameInBrot, + useLinearReferenceFrameA, disableCollisionsBetweenLinkedBodies); + m_enabled = true; + world.physicsScene.DetailLog("{0},BS6DofConstraint,createFixed,wID={1},rID={2},rBody={3}", + BSScene.DetailLogZero, world.worldID, obj1.ID, obj1.AddrString); + } + public bool SetFrames(Vector3 frameA, Quaternion frameArot, Vector3 frameB, Quaternion frameBrot) { bool ret = false; diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSConstraintCollection.cs b/OpenSim/Region/Physics/BulletSPlugin/BSConstraintCollection.cs index 2aeff25035..5c8d94e07e 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSConstraintCollection.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSConstraintCollection.cs @@ -117,8 +117,7 @@ public sealed class BSConstraintCollection : IDisposable if (this.TryGetConstraint(body1, body2, out constrain)) { // remove the constraint from our collection - RemoveAndDestroyConstraint(constrain); - ret = true; + ret = RemoveAndDestroyConstraint(constrain); } } @@ -126,17 +125,19 @@ public sealed class BSConstraintCollection : IDisposable } // The constraint MUST exist in the collection + // Could be called if the constraint was previously removed. + // Return 'true' if the constraint was actually removed and disposed. public bool RemoveAndDestroyConstraint(BSConstraint constrain) { + bool removed = false; lock (m_constraints) { // remove the constraint from our collection - m_constraints.Remove(constrain); + removed = m_constraints.Remove(constrain); } - // tell the engine that all its structures need to be freed + // Dispose() is safe to call multiple times constrain.Dispose(); - // we destroyed something - return true; + return removed; } // Remove all constraints that reference the passed body. diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index e7a8a41ec0474c5dc98bff3cc2b99a5a41b72de4..689b34f99d1625e9513bb38037d31094e8180572 100755 GIT binary patch delta 80625 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 z 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

GpfSRkQ%1mb$qku9FTGPDA;P10puWlOxtRkEbX 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 s#!u02wk* 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�zolcNL+>c=zqZ-o;&g9T#N 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 z⋙R!$k)?vD*%-@{RIz(gS9 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 z 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�ULf8f;}(_BhYltu*%az;w;b#eXs}yVFh&a#E=FV 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 D>t)|w diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index 63ac1a91aa6755d65d6b4a3ab36538c643ac8328..33c4d08bf4db94989579276aab0471943adb39f2 100755 GIT binary patch delta 138384 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 =uz|#0dDIO+%eWjq#LOS20AMoH@nZtt%WhQU9 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 delta 115662 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

dx;MfL6F4NX(Hhl7Vedw1yu}1e-=vYSL6hI( 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

!CO=Q;HWT9MYidP-91W~vrG04cIq5tx;QHsk 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

T3`4C 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�mD>=T)J}==YhdTk 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 From 26421294f644b224234e874210bbfd2a1aabf451 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sun, 17 Feb 2013 20:11:40 -0800 Subject: [PATCH 607/851] BulletSim: experimental lock axis code using constraints. Not enabled by default. Like more debugging is needed. --- .../BulletSPlugin/BSLinksetCompound.cs | 4 +- .../Region/Physics/BulletSPlugin/BSPrim.cs | 98 ++++++++++++++----- 2 files changed, 77 insertions(+), 25 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs b/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs index 4ce58c7d75..e05562a2c9 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs @@ -485,8 +485,8 @@ public sealed class BSLinksetCompound : BSLinkset } OMV.Vector3 offsetPos = (cPrim.RawPosition - LinksetRoot.RawPosition) * invRootOrientation - centerDisplacement; OMV.Quaternion offsetRot = cPrim.RawOrientation * invRootOrientation; - PhysicsScene.PE.AddChildShapeToCompoundShape(LinksetRoot.PhysShape, cPrim.PhysShape, offsetPos, offsetRot); - DetailLog("{0},BSLinksetCompound.RecomputeLinksetCompound,addNonNative,indx={1},rShape={2},cShape={3},offPos={4},offRot={5}", + PhysicsScene.PE.AddChildShapeToCompoundShape(LinksetRoot.PhysShape, cPrim.PhysShape, offsetPos, offsetRot); + DetailLog("{0},BSLinksetCompound.RecomputeLinksetCompound,addNonNative,indx={1},rShape={2},cShape={3},offPos={4},offRot={5}", LinksetRoot.LocalID, memberIndex, LinksetRoot.PhysShape, cPrim.PhysShape, offsetPos, offsetRot); } diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs index 4bb2a9ebb9..4d61ad20f0 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs @@ -239,50 +239,98 @@ public class BSPrim : BSPhysObject }); } + bool TryExperimentalLockAxisCode = false; + BSConstraint LockAxisConstraint = null; public override void LockAngularMotion(OMV.Vector3 axis) { DetailLog("{0},BSPrim.LockAngularMotion,call,axis={1}", LocalID, axis); + // "1" means free, "0" means locked OMV.Vector3 locking = new OMV.Vector3(1f, 1f, 1f); if (axis.X != 1) locking.X = 0f; if (axis.Y != 1) locking.Y = 0f; if (axis.Z != 1) locking.Z = 0f; LockedAxis = locking; - /* Not implemented yet - if (LockedAxis != LockedAxisFree) + if (TryExperimentalLockAxisCode && LockedAxis != LockedAxisFree) { - // Something is locked so start the thingy that keeps that axis from changing - RegisterPreUpdatePropertyAction("BSPrim.LockAngularMotion", delegate(ref EntityProperties entprop) + // Lock that axis by creating a 6DOF constraint that has one end in the world and + // the other in the object. + // http://www.bulletphysics.org/Bullet/phpBB3/viewtopic.php?p=20817 + // http://www.bulletphysics.org/Bullet/phpBB3/viewtopic.php?p=26380 + + PhysicsScene.TaintedObject("BSPrim.LockAngularMotion", delegate() { - if (LockedAxis != LockedAxisFree) - { - if (IsPhysicallyActive) - { - // Bullet can lock axis but it only works for global axis. - // Check if this prim is aligned on global axis and use Bullet's - // system if so. + CleanUpLockAxisPhysicals(true /* inTaintTime */); - ForceOrientation = entprop.Rotation; - ForceRotationalVelocity = entprop.RotationalVelocity; - } - } - else - { - UnRegisterPreUpdatePropertyAction("BSPrim.LockAngularMotion"); - } + BSConstraint6Dof axisConstrainer = new BSConstraint6Dof(PhysicsScene.World, PhysBody, + OMV.Vector3.Zero, OMV.Quaternion.Inverse(RawOrientation), + true /* useLinearReferenceFrameB */, true /* disableCollisionsBetweenLinkedBodies */); + LockAxisConstraint = axisConstrainer; + PhysicsScene.Constraints.AddConstraint(LockAxisConstraint); + // The constraint is tied to the world and oriented to the prim. + + // Free to move linearly + OMV.Vector3 linearLow = OMV.Vector3.Zero; + OMV.Vector3 linearHigh = PhysicsScene.TerrainManager.DefaultRegionSize; + axisConstrainer.SetLinearLimits(linearLow, linearHigh); + + // Angular with some axis locked + float f2PI = (float)Math.PI * 2f; + OMV.Vector3 angularLow = new OMV.Vector3(-f2PI, -f2PI, -f2PI); + OMV.Vector3 angularHigh = new OMV.Vector3(f2PI, f2PI, f2PI); + if (LockedAxis.X != 1f) + { + angularLow.X = 0f; + angularHigh.X = 0f; + } + if (LockedAxis.Y != 1f) + { + angularLow.Y = 0f; + angularHigh.Y = 0f; + } + if (LockedAxis.Z != 1f) + { + angularLow.Z = 0f; + angularHigh.Z = 0f; + } + axisConstrainer.SetAngularLimits(angularLow, angularHigh); + + DetailLog("{0},BSPrim.LockAngularMotion,create,linLow={1},linHi={2},angLow={3},angHi={4}", + LocalID, linearLow, linearHigh, angularLow, angularHigh); + + // Constants from one of the posts mentioned above and used in Bullet's ConstraintDemo. + axisConstrainer.TranslationalLimitMotor(true /* enable */, 5.0f, 0.1f); + + axisConstrainer.RecomputeConstraintVariables(RawMass); }); } else { // Everything seems unlocked - UnRegisterPreUpdatePropertyAction("BSPrim.LockAngularMotion"); + CleanUpLockAxisPhysicals(false /* inTaintTime */); } - */ return; } + // Get rid of any constraint built for LockAxis + // Most often the constraint is removed when the constraint collection is cleaned for this prim. + private void CleanUpLockAxisPhysicals(bool inTaintTime) + { + if (LockAxisConstraint != null) + { + PhysicsScene.TaintedObject(inTaintTime, "BSPrim.CleanUpLockAxisPhysicals", delegate() + { + if (LockAxisConstraint != null) + { + PhysicsScene.Constraints.RemoveAndDestroyConstraint(LockAxisConstraint); + LockAxisConstraint = null; + DetailLog("{0},BSPrim.CleanUpLockAxisPhysicals,destroyingConstraint", LocalID); + } + }); + } + } public override OMV.Vector3 RawPosition { @@ -762,6 +810,7 @@ public class BSPrim : BSPhysObject SetObjectDynamic(true); // whether phys-to-static or static-to-phys, the object is not moving. ZeroMotion(true); + }); } } @@ -885,6 +934,8 @@ public class BSPrim : BSPhysObject // For good measure, make sure the transform is set through to the motion state ForcePosition = _position; + ForceVelocity = _velocity; + ForceRotationalVelocity = _rotationalVelocity; // A dynamic object has mass UpdatePhysicalMassProperties(RawMass, false); @@ -1064,8 +1115,8 @@ public class BSPrim : BSPhysObject _buoyancy = value; // DetailLog("{0},BSPrim.setForceBuoyancy,taint,buoy={1}", LocalID, _buoyancy); // Force the recalculation of the various inertia,etc variables in the object - DetailLog("{0},BSPrim.ForceBuoyancy,buoy={1},mass={2}", LocalID, _buoyancy, _mass); - UpdatePhysicalMassProperties(_mass, true); + UpdatePhysicalMassProperties(RawMass, true); + DetailLog("{0},BSPrim.ForceBuoyancy,buoy={1},mass={2},grav={3}", LocalID, _buoyancy, RawMass, Gravity); ActivateIfPhysical(false); } } @@ -1303,6 +1354,7 @@ public class BSPrim : BSPhysObject { if (PhysBody.HasPhysicalBody) { + DetailLog("{0},BSPrim.AddAngularForce,taint,angForce={1}", LocalID, angForce); PhysicsScene.PE.ApplyTorque(PhysBody, angForce); ActivateIfPhysical(false); } From 8b1b8a3921595088e85f4e11bc2b1d335aed83aa Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Mon, 18 Feb 2013 12:08:05 -0800 Subject: [PATCH 608/851] I need these for OfflineIM and Groups. --- .../Data/MySQL/MySQLGenericTableHandler.cs | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/OpenSim/Data/MySQL/MySQLGenericTableHandler.cs b/OpenSim/Data/MySQL/MySQLGenericTableHandler.cs index 995c6a5317..35fa89f416 100644 --- a/OpenSim/Data/MySQL/MySQLGenericTableHandler.cs +++ b/OpenSim/Data/MySQL/MySQLGenericTableHandler.cs @@ -301,5 +301,65 @@ namespace OpenSim.Data.MySQL return ExecuteNonQuery(cmd) > 0; } } + + public long GetCount(string field, string key) + { + return GetCount(new string[] { field }, new string[] { key }); + } + + public long GetCount(string[] fields, string[] keys) + { + if (fields.Length != keys.Length) + return 0; + + List terms = new List(); + + using (MySqlCommand cmd = new MySqlCommand()) + { + for (int i = 0; i < fields.Length; i++) + { + cmd.Parameters.AddWithValue(fields[i], keys[i]); + terms.Add("`" + fields[i] + "` = ?" + fields[i]); + } + + string where = String.Join(" and ", terms.ToArray()); + + string query = String.Format("select count(*) from {0} where {1}", + m_Realm, where); + + cmd.CommandText = query; + + Object result = DoQueryScalar(cmd); + + return Convert.ToInt64(result); + } + } + + public long GetCount(string where) + { + using (MySqlCommand cmd = new MySqlCommand()) + { + string query = String.Format("select count(*) from {0} where {1}", + m_Realm, where); + + cmd.CommandText = query; + + object result = DoQueryScalar(cmd); + + return Convert.ToInt64(result); + } + } + + public object DoQueryScalar(MySqlCommand cmd) + { + using (MySqlConnection dbcon = new MySqlConnection(m_connectionString)) + { + dbcon.Open(); + cmd.Connection = dbcon; + + return cmd.ExecuteScalar(); + } + } + } } \ No newline at end of file From 050ef1dc4e9c6e2a8afe353343e19d8ae0ff72ee Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Mon, 18 Feb 2013 22:59:29 +0000 Subject: [PATCH 609/851] minor: Rename regression test method TestGetArrayLength() -> JsonTestGetArrayLength() to match others --- .../Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index 3d9ad163a2..db82d4bcdd 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -400,7 +400,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests // } [Test] - public void TestGetArrayLength() + public void TestJsonGetArrayLength() { TestHelpers.InMethod(); // TestHelpers.EnableLogging(); From 5e709b087ccf380749c6a6da8a8293c23f211efd Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Mon, 18 Feb 2013 15:44:00 -0800 Subject: [PATCH 610/851] Donating Diva OfflineIM as an addon in a single dll, OpenSim.Addons.OpenSim.dll --- .../Addons/OfflineIM/Data/IOfflineIMData.cs | 49 ++++ .../OfflineIM/Data/MySQLOfflineIMData.cs | 68 +++++ .../Addons/OfflineIM/OfflineIMRegionModule.cs | 267 ++++++++++++++++++ .../OfflineIM/Properties/AssemblyInfo.cs | 37 +++ .../Remote/OfflineIMServiceRemoteConnector.cs | 143 ++++++++++ .../Remote/OfflineIMServiceRobustConnector.cs | 215 ++++++++++++++ .../OfflineIM/Resources/IM_Store.migrations | 23 ++ .../OfflineIM/Service/OfflineIMService.cs | 131 +++++++++ .../OfflineIM/Service/OfflineIMServiceBase.cs | 83 ++++++ bin/OpenSim.ini.example | 14 +- bin/Robust.HG.ini.example | 16 +- bin/Robust.ini.example | 7 + prebuild.xml | 50 ++++ 13 files changed, 1088 insertions(+), 15 deletions(-) create mode 100644 OpenSim/Addons/OfflineIM/Data/IOfflineIMData.cs create mode 100644 OpenSim/Addons/OfflineIM/Data/MySQLOfflineIMData.cs create mode 100644 OpenSim/Addons/OfflineIM/OfflineIMRegionModule.cs create mode 100644 OpenSim/Addons/OfflineIM/Properties/AssemblyInfo.cs create mode 100644 OpenSim/Addons/OfflineIM/Remote/OfflineIMServiceRemoteConnector.cs create mode 100644 OpenSim/Addons/OfflineIM/Remote/OfflineIMServiceRobustConnector.cs create mode 100644 OpenSim/Addons/OfflineIM/Resources/IM_Store.migrations create mode 100644 OpenSim/Addons/OfflineIM/Service/OfflineIMService.cs create mode 100644 OpenSim/Addons/OfflineIM/Service/OfflineIMServiceBase.cs diff --git a/OpenSim/Addons/OfflineIM/Data/IOfflineIMData.cs b/OpenSim/Addons/OfflineIM/Data/IOfflineIMData.cs new file mode 100644 index 0000000000..a507f7d240 --- /dev/null +++ b/OpenSim/Addons/OfflineIM/Data/IOfflineIMData.cs @@ -0,0 +1,49 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System.Collections.Generic; +using OpenSim.Data; +using OpenMetaverse; + +namespace OpenSim.OfflineIM +{ + public class OfflineIMData + { + public UUID PrincipalID; + public Dictionary Data; + } + + + public interface IOfflineIMData + { + OfflineIMData[] Get(string field, string val); + long GetCount(string field, string key); + bool Store(OfflineIMData data); + bool Delete(string field, string val); + void DeleteOld(); + } +} diff --git a/OpenSim/Addons/OfflineIM/Data/MySQLOfflineIMData.cs b/OpenSim/Addons/OfflineIM/Data/MySQLOfflineIMData.cs new file mode 100644 index 0000000000..0a61cd291b --- /dev/null +++ b/OpenSim/Addons/OfflineIM/Data/MySQLOfflineIMData.cs @@ -0,0 +1,68 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Reflection; + +using OpenSim.Framework; +using OpenSim.Data.MySQL; + +using OpenMetaverse; +using MySql.Data.MySqlClient; + +namespace OpenSim.OfflineIM +{ + public class MySQLOfflineIMData : MySQLGenericTableHandler, IOfflineIMData + { + protected override Assembly Assembly + { + // WARNING! Moving migrations to this assembly!!! + get { return GetType().Assembly; } + } + + public MySQLOfflineIMData(string connectionString, string realm) + : base(connectionString, realm, "IM_Store") + { + } + + public void DeleteOld() + { + uint now = (uint)Util.UnixTimeSinceEpoch(); + + using (MySqlCommand cmd = new MySqlCommand()) + { + cmd.CommandText = String.Format("delete from {0} where TMStamp < ?tstamp", m_Realm); + cmd.Parameters.AddWithValue("?tstamp", now - 14 * 24 * 60 * 60); // > 2 weeks old + + ExecuteNonQuery(cmd); + } + + } + } +} diff --git a/OpenSim/Addons/OfflineIM/OfflineIMRegionModule.cs b/OpenSim/Addons/OfflineIM/OfflineIMRegionModule.cs new file mode 100644 index 0000000000..050ebd20f0 --- /dev/null +++ b/OpenSim/Addons/OfflineIM/OfflineIMRegionModule.cs @@ -0,0 +1,267 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +using System; +using System.Collections.Generic; +using System.Reflection; +using log4net; +using Mono.Addins; +using Nini.Config; +using OpenMetaverse; +using OpenSim.Framework; +using OpenSim.Framework.Servers; +using OpenSim.Framework.Client; +using OpenSim.Region.Framework.Interfaces; +using OpenSim.Region.Framework.Scenes; +using OpenSim.Services.Interfaces; + +namespace OpenSim.OfflineIM +{ + [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "OfflineIMConnectorModule")] + public class OfflineIMRegionModule : ISharedRegionModule, IOfflineIMService + { + private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + + private bool m_Enabled = false; + private List m_SceneList = new List(); + IMessageTransferModule m_TransferModule = null; + private bool m_ForwardOfflineGroupMessages = true; + + private IOfflineIMService m_OfflineIMService; + + public void Initialise(IConfigSource config) + { + IConfig cnf = config.Configs["Messaging"]; + if (cnf == null) + return; + if (cnf != null && cnf.GetString("OfflineMessageModule", string.Empty) != Name) + return; + + m_Enabled = true; + + string serviceLocation = cnf.GetString("OfflineMessageURL", string.Empty); + if (serviceLocation == string.Empty) + m_OfflineIMService = new OfflineIMService(config); + else + m_OfflineIMService = new OfflineIMServiceRemoteConnector(serviceLocation); + + m_ForwardOfflineGroupMessages = cnf.GetBoolean("ForwardOfflineGroupMessages", m_ForwardOfflineGroupMessages); + m_log.DebugFormat("[OfflineIM.V2]: Offline messages enabled by {0}", Name); + } + + public void AddRegion(Scene scene) + { + if (!m_Enabled) + return; + + scene.RegisterModuleInterface(this); + m_SceneList.Add(scene); + scene.EventManager.OnNewClient += OnNewClient; + } + + public void RegionLoaded(Scene scene) + { + if (!m_Enabled) + return; + + if (m_TransferModule == null) + { + m_TransferModule = scene.RequestModuleInterface(); + if (m_TransferModule == null) + { + scene.EventManager.OnNewClient -= OnNewClient; + + m_SceneList.Clear(); + + m_log.Error("[OfflineIM.V2]: No message transfer module is enabled. Disabling offline messages"); + } + m_TransferModule.OnUndeliveredMessage += UndeliveredMessage; + } + } + + public void RemoveRegion(Scene scene) + { + if (!m_Enabled) + return; + + m_SceneList.Remove(scene); + scene.EventManager.OnNewClient -= OnNewClient; + m_TransferModule.OnUndeliveredMessage -= UndeliveredMessage; + + scene.ForEachClient(delegate(IClientAPI client) + { + client.OnRetrieveInstantMessages -= RetrieveInstantMessages; + client.OnMuteListRequest -= OnMuteListRequest; + }); + } + + public void PostInitialise() + { + } + + public string Name + { + get { return "Offline Message Module V2"; } + } + + public Type ReplaceableInterface + { + get { return null; } + } + + public void Close() + { + m_SceneList.Clear(); + } + + private Scene FindScene(UUID agentID) + { + foreach (Scene s in m_SceneList) + { + ScenePresence presence = s.GetScenePresence(agentID); + if (presence != null && !presence.IsChildAgent) + return s; + } + return null; + } + + private IClientAPI FindClient(UUID agentID) + { + foreach (Scene s in m_SceneList) + { + ScenePresence presence = s.GetScenePresence(agentID); + if (presence != null && !presence.IsChildAgent) + return presence.ControllingClient; + } + return null; + } + + private void OnNewClient(IClientAPI client) + { + client.OnRetrieveInstantMessages += RetrieveInstantMessages; + client.OnMuteListRequest += OnMuteListRequest; + } + + private void RetrieveInstantMessages(IClientAPI client) + { + m_log.DebugFormat("[OfflineIM.V2]: Retrieving stored messages for {0}", client.AgentId); + + List msglist = m_OfflineIMService.GetMessages(client.AgentId); + + if (msglist == null) + m_log.DebugFormat("[OfflineIM.V2]: WARNING null message list."); + + foreach (GridInstantMessage im in msglist) + { + if (im.dialog == (byte)InstantMessageDialog.InventoryOffered) + // send it directly or else the item will be given twice + client.SendInstantMessage(im); + else + { + // Send through scene event manager so all modules get a chance + // to look at this message before it gets delivered. + // + // Needed for proper state management for stored group + // invitations + // + Scene s = FindScene(client.AgentId); + if (s != null) + s.EventManager.TriggerIncomingInstantMessage(im); + } + } + } + + // Apparently this is needed in order for the viewer to request the IMs. + private void OnMuteListRequest(IClientAPI client, uint crc) + { + m_log.DebugFormat("[OfflineIM.V2] Got mute list request for crc {0}", crc); + string filename = "mutes" + client.AgentId.ToString(); + + IXfer xfer = client.Scene.RequestModuleInterface(); + if (xfer != null) + { + xfer.AddNewFile(filename, new Byte[0]); + client.SendMuteListUpdate(filename); + } + } + + private void UndeliveredMessage(GridInstantMessage im) + { + if (im.dialog != (byte)InstantMessageDialog.MessageFromObject && + im.dialog != (byte)InstantMessageDialog.MessageFromAgent && + im.dialog != (byte)InstantMessageDialog.GroupNotice && + im.dialog != (byte)InstantMessageDialog.GroupInvitation && + im.dialog != (byte)InstantMessageDialog.InventoryOffered) + { + return; + } + + if (!m_ForwardOfflineGroupMessages) + { + if (im.dialog == (byte)InstantMessageDialog.GroupNotice || + im.dialog == (byte)InstantMessageDialog.GroupInvitation) + return; + } + + Scene scene = FindScene(new UUID(im.fromAgentID)); + if (scene == null) + scene = m_SceneList[0]; + + string reason = string.Empty; + bool success = m_OfflineIMService.StoreMessage(im, out reason); + + if (im.dialog == (byte)InstantMessageDialog.MessageFromAgent) + { + IClientAPI client = FindClient(new UUID(im.fromAgentID)); + if (client == null) + return; + + client.SendInstantMessage(new GridInstantMessage( + null, new UUID(im.toAgentID), + "System", new UUID(im.fromAgentID), + (byte)InstantMessageDialog.MessageFromAgent, + "User is not logged in. " + + (success ? "Message saved." : "Message not saved: " + reason), + false, new Vector3())); + } + } + + #region IOfflineIM + + public List GetMessages(UUID principalID) + { + return m_OfflineIMService.GetMessages(principalID); + } + + public bool StoreMessage(GridInstantMessage im, out string reason) + { + return m_OfflineIMService.StoreMessage(im, out reason); + } + + #endregion + } +} + diff --git a/OpenSim/Addons/OfflineIM/Properties/AssemblyInfo.cs b/OpenSim/Addons/OfflineIM/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..31667eb745 --- /dev/null +++ b/OpenSim/Addons/OfflineIM/Properties/AssemblyInfo.cs @@ -0,0 +1,37 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using Mono.Addins; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("OpenSim.Addons.OfflineIM")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("http://opensimulator.org")] +[assembly: AssemblyProduct("OpenSim.Addons.OfflineIM")] +[assembly: AssemblyCopyright("Copyright (c) OpenSimulator.org Developers")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("a16a9905-4393-4872-9fca-4c81bedbd9f2")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyFileVersion("1.0.0.0")] + +[assembly: Addin("OpenSim.OfflineIM", "0.1")] +[assembly: AddinDependency("OpenSim", "0.5")] diff --git a/OpenSim/Addons/OfflineIM/Remote/OfflineIMServiceRemoteConnector.cs b/OpenSim/Addons/OfflineIM/Remote/OfflineIMServiceRemoteConnector.cs new file mode 100644 index 0000000000..69feb762f9 --- /dev/null +++ b/OpenSim/Addons/OfflineIM/Remote/OfflineIMServiceRemoteConnector.cs @@ -0,0 +1,143 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Text; + +using OpenSim.Framework; +using OpenSim.Server.Base; +using OpenSim.Services.Interfaces; + +using OpenMetaverse; +using log4net; +using Nini.Config; + +namespace OpenSim.OfflineIM +{ + public class OfflineIMServiceRemoteConnector : IOfflineIMService + { + private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + + private string m_ServerURI = string.Empty; + private object m_Lock = new object(); + + public OfflineIMServiceRemoteConnector(string url) + { + m_ServerURI = url; + m_log.DebugFormat("[OfflineIM.V2.RemoteConnector]: Offline IM server at {0}", m_ServerURI); + } + + public OfflineIMServiceRemoteConnector(IConfigSource config) + { + IConfig cnf = config.Configs["Messaging"]; + if (cnf == null) + { + m_log.WarnFormat("[OfflineIM.V2.RemoteConnector]: Missing Messaging configuration"); + return; + } + + m_ServerURI = cnf.GetString("OfflineMessageURL", string.Empty); + + } + + #region IOfflineIMService + public List GetMessages(UUID principalID) + { + List ims = new List(); + + Dictionary sendData = new Dictionary(); + sendData["PrincipalID"] = principalID; + Dictionary ret = MakeRequest("GET", sendData); + + if (ret == null) + return ims; + + if (!ret.ContainsKey("RESULT")) + return ims; + + if (ret["RESULT"].ToString() == "NULL") + return ims; + + foreach (object v in ((Dictionary)ret["RESULT"]).Values) + { + GridInstantMessage m = OfflineIMDataUtils.GridInstantMessage((Dictionary)v); + ims.Add(m); + } + + return ims; + } + + public bool StoreMessage(GridInstantMessage im, out string reason) + { + reason = string.Empty; + Dictionary sendData = OfflineIMDataUtils.GridInstantMessage(im); + + Dictionary ret = MakeRequest("STORE", sendData); + + if (ret == null) + { + reason = "Bad response from server"; + return false; + } + + string result = ret["RESULT"].ToString(); + if (result == "NULL" || result.ToLower() == "false") + { + reason = ret["REASON"].ToString(); + return false; + } + + return true; + } + + #endregion + + + #region Make Request + + private Dictionary MakeRequest(string method, Dictionary sendData) + { + sendData["METHOD"] = method; + + string reply = string.Empty; + lock (m_Lock) + reply = SynchronousRestFormsRequester.MakeRequest("POST", + m_ServerURI + "/offlineim", + ServerUtils.BuildQueryString(sendData)); + + Dictionary replyData = ServerUtils.ParseXmlResponse( + reply); + + return replyData; + } + #endregion + + } +} diff --git a/OpenSim/Addons/OfflineIM/Remote/OfflineIMServiceRobustConnector.cs b/OpenSim/Addons/OfflineIM/Remote/OfflineIMServiceRobustConnector.cs new file mode 100644 index 0000000000..2b3a01d32d --- /dev/null +++ b/OpenSim/Addons/OfflineIM/Remote/OfflineIMServiceRobustConnector.cs @@ -0,0 +1,215 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Reflection; +using System.Text; +using System.Xml; +using System.Collections.Generic; +using System.IO; +using Nini.Config; +using OpenSim.Framework; +using OpenSim.Server.Base; +using OpenSim.Services.Interfaces; +using OpenSim.Framework.Servers.HttpServer; +using OpenSim.Server.Handlers.Base; +using log4net; +using OpenMetaverse; + +namespace OpenSim.OfflineIM +{ + public class OfflineIMServiceRobustConnector : ServiceConnector + { + private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + + private IOfflineIMService m_OfflineIMService; + private string m_ConfigName = "Messaging"; + + public OfflineIMServiceRobustConnector(IConfigSource config, IHttpServer server, string configName) : + base(config, server, configName) + { + if (configName != String.Empty) + m_ConfigName = configName; + + m_log.DebugFormat("[OfflineIM.V2.RobustConnector]: Starting with config name {0}", m_ConfigName); + + m_OfflineIMService = new OfflineIMService(config); + + server.AddStreamHandler(new OfflineIMServicePostHandler(m_OfflineIMService)); + } + } + + public class OfflineIMServicePostHandler : BaseStreamHandler + { + private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + + private IOfflineIMService m_OfflineIMService; + + public OfflineIMServicePostHandler(IOfflineIMService service) : + base("POST", "/offlineim") + { + m_OfflineIMService = service; + } + + public override byte[] Handle(string path, Stream requestData, + IOSHttpRequest httpRequest, IOSHttpResponse httpResponse) + { + StreamReader sr = new StreamReader(requestData); + string body = sr.ReadToEnd(); + sr.Close(); + body = body.Trim(); + + //m_log.DebugFormat("[XXX]: query String: {0}", body); + + try + { + Dictionary request = + ServerUtils.ParseQueryString(body); + + if (!request.ContainsKey("METHOD")) + return FailureResult(); + + string method = request["METHOD"].ToString(); + request.Remove("METHOD"); + + m_log.DebugFormat("[OfflineIM.V2.Handler]: {0}", method); + switch (method) + { + case "GET": + return HandleGet(request); + case "STORE": + return HandleStore(request); + } + m_log.DebugFormat("[OFFLINE IM HANDLER]: unknown method request: {0}", method); + } + catch (Exception e) + { + m_log.DebugFormat("[OFFLINE IM HANDLER]: Exception {0}", e.StackTrace); + } + + return FailureResult(); + } + + byte[] HandleStore(Dictionary request) + { + Dictionary result = new Dictionary(); + + GridInstantMessage im = OfflineIMDataUtils.GridInstantMessage(request); + + string reason = string.Empty; + + bool success = m_OfflineIMService.StoreMessage(im, out reason); + + result["RESULT"] = success.ToString(); + if (!success) + result["REASON"] = reason; + + string xmlString = ServerUtils.BuildXmlResponse(result); + + //m_log.DebugFormat("[XXX]: resp string: {0}", xmlString); + return Util.UTF8NoBomEncoding.GetBytes(xmlString); + } + + byte[] HandleGet(Dictionary request) + { + Dictionary result = new Dictionary(); + + if (!request.ContainsKey("PrincipalID")) + NullResult(result, "Bad network data"); + else + { + UUID principalID = new UUID(request["PrincipalID"].ToString()); + List ims = m_OfflineIMService.GetMessages(principalID); + + Dictionary dict = new Dictionary(); + int i = 0; + foreach (GridInstantMessage m in ims) + dict["im-" + i++] = OfflineIMDataUtils.GridInstantMessage(m); + + result["RESULT"] = dict; + } + + string xmlString = ServerUtils.BuildXmlResponse(result); + + //m_log.DebugFormat("[XXX]: resp string: {0}", xmlString); + return Util.UTF8NoBomEncoding.GetBytes(xmlString); + } + + #region Helpers + + private void NullResult(Dictionary result, string reason) + { + result["RESULT"] = "NULL"; + result["REASON"] = reason; + } + + private byte[] FailureResult() + { + return BoolResult(false); + } + + private byte[] SuccessResult() + { + return BoolResult(true); + } + + private byte[] BoolResult(bool value) + { + XmlDocument doc = new XmlDocument(); + + XmlNode xmlnode = doc.CreateNode(XmlNodeType.XmlDeclaration, + "", ""); + + doc.AppendChild(xmlnode); + + XmlElement rootElement = doc.CreateElement("", "ServerResponse", + ""); + + doc.AppendChild(rootElement); + + XmlElement result = doc.CreateElement("", "RESULT", ""); + result.AppendChild(doc.CreateTextNode(value.ToString())); + + rootElement.AppendChild(result); + + return DocToBytes(doc); + } + + private byte[] DocToBytes(XmlDocument doc) + { + MemoryStream ms = new MemoryStream(); + XmlTextWriter xw = new XmlTextWriter(ms, null); + xw.Formatting = Formatting.Indented; + doc.WriteTo(xw); + xw.Flush(); + + return ms.ToArray(); + } + + #endregion + } +} diff --git a/OpenSim/Addons/OfflineIM/Resources/IM_Store.migrations b/OpenSim/Addons/OfflineIM/Resources/IM_Store.migrations new file mode 100644 index 0000000000..d1cff8e70c --- /dev/null +++ b/OpenSim/Addons/OfflineIM/Resources/IM_Store.migrations @@ -0,0 +1,23 @@ +:VERSION 1 # -------------------------- + +BEGIN; + +CREATE TABLE `im_offline` ( + `ID` MEDIUMINT NOT NULL AUTO_INCREMENT, + `PrincipalID` char(36) NOT NULL default '', + `Message` text NOT NULL, + `TMStamp` timestamp NOT NULL, + PRIMARY KEY (`ID`), + KEY `PrincipalID` (`PrincipalID`) +) ENGINE=MyISAM; + +COMMIT; + +:VERSION 2 # -------------------------- + +BEGIN; + +INSERT INTO `im_offline` SELECT * from `diva_im_offline`; +DROP TABLE `diva_im_offline`; + +COMMIT; \ No newline at end of file diff --git a/OpenSim/Addons/OfflineIM/Service/OfflineIMService.cs b/OpenSim/Addons/OfflineIM/Service/OfflineIMService.cs new file mode 100644 index 0000000000..6ba022cd93 --- /dev/null +++ b/OpenSim/Addons/OfflineIM/Service/OfflineIMService.cs @@ -0,0 +1,131 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using System.IO; +using System.Reflection; +using System.Runtime.Serialization; +using System.Text; +using System.Timers; +using System.Xml; +using System.Xml.Serialization; +using log4net; +using Nini.Config; + +using OpenMetaverse; +using OpenSim.Data; +using OpenSim.Framework; +using OpenSim.Services.Interfaces; + +namespace OpenSim.OfflineIM +{ + public class OfflineIMService : OfflineIMServiceBase, IOfflineIMService + { + private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + private const int MAX_IM = 25; + + private XmlSerializer m_serializer; + private static bool m_Initialized = false; + + public OfflineIMService(IConfigSource config) + : base(config) + { + m_serializer = new XmlSerializer(typeof(GridInstantMessage)); + if (!m_Initialized) + { + m_Database.DeleteOld(); + m_Initialized = true; + } + } + + public List GetMessages(UUID principalID) + { + List ims = new List(); + + OfflineIMData[] messages = m_Database.Get("PrincipalID", principalID.ToString()); + + if (messages == null || (messages != null && messages.Length == 0)) + return ims; + + foreach (OfflineIMData m in messages) + { + using (MemoryStream mstream = new MemoryStream(Encoding.UTF8.GetBytes(m.Data["Message"]))) + { + GridInstantMessage im = (GridInstantMessage)m_serializer.Deserialize(mstream); + ims.Add(im); + } + } + + // Then, delete them + m_Database.Delete("PrincipalID", principalID.ToString()); + + return ims; + } + + public bool StoreMessage(GridInstantMessage im, out string reason) + { + reason = string.Empty; + + // TODO Check limits + UUID principalID = new UUID(im.toAgentID); + long count = m_Database.GetCount("PrincipalID", principalID.ToString()); + if (count >= MAX_IM) + { + reason = "Number of offline IMs has maxed out"; + return false; + } + + string imXml = string.Empty; + using (MemoryStream mstream = new MemoryStream()) + { + XmlWriterSettings settings = new XmlWriterSettings(); + settings.Encoding = Encoding.UTF8; + + using (XmlWriter writer = XmlWriter.Create(mstream, settings)) + { + m_serializer.Serialize(writer, im); + writer.Flush(); + + mstream.Position = 0; + using (StreamReader sreader = new StreamReader(mstream)) + { + imXml = sreader.ReadToEnd(); + } + } + } + + OfflineIMData data = new OfflineIMData(); + data.PrincipalID = principalID; + data.Data = new Dictionary(); + data.Data["Message"] = imXml; + + return m_Database.Store(data); + + } + } +} diff --git a/OpenSim/Addons/OfflineIM/Service/OfflineIMServiceBase.cs b/OpenSim/Addons/OfflineIM/Service/OfflineIMServiceBase.cs new file mode 100644 index 0000000000..3376be4737 --- /dev/null +++ b/OpenSim/Addons/OfflineIM/Service/OfflineIMServiceBase.cs @@ -0,0 +1,83 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +using System; +using System.Collections.Generic; +using System.Reflection; +using Nini.Config; +using OpenSim.Framework; +using OpenSim.Data; +using OpenSim.Services.Interfaces; +using OpenSim.Services.Base; + +namespace OpenSim.OfflineIM +{ + public class OfflineIMServiceBase : ServiceBase + { + protected IOfflineIMData m_Database = null; + + public OfflineIMServiceBase(IConfigSource config) + : base(config) + { + string dllName = String.Empty; + string connString = String.Empty; + string realm = "im_offline"; + + // + // Try reading the [DatabaseService] section, if it exists + // + IConfig dbConfig = config.Configs["DatabaseService"]; + if (dbConfig != null) + { + if (dllName == String.Empty) + dllName = dbConfig.GetString("StorageProvider", String.Empty); + if (connString == String.Empty) + connString = dbConfig.GetString("ConnectionString", String.Empty); + } + + // + // [Messaging] section overrides [DatabaseService], if it exists + // + IConfig imConfig = config.Configs["Messaging"]; + if (imConfig != null) + { + dllName = imConfig.GetString("StorageProvider", dllName); + connString = imConfig.GetString("ConnectionString", connString); + realm = imConfig.GetString("Realm", realm); + } + + // + // We tried, but this doesn't exist. We can't proceed. + // + if (dllName.Equals(String.Empty)) + throw new Exception("No StorageProvider configured"); + + m_Database = LoadPlugin(dllName, new Object[] { connString, realm }); + if (m_Database == null) + throw new Exception("Could not find a storage interface in the given module " + dllName); + } + } +} diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 653de5cc4f..07e7357c03 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -531,14 +531,20 @@ [Messaging] - ;# {OfflineMessageModule} {} {Module to use for offline message storage} {OfflineMessageModule *} + ;# {OfflineMessageModule} {} {Module to use for offline message storage} {OfflineMessageModule "Offline Message Module V2" *} ;; Module to handle offline messaging. The core module requires an external ;; web service to do this. See OpenSim wiki. ; OfflineMessageModule = OfflineMessageModule + ;; Or, alternatively, use this one, which works for both standalones and grids + ; OfflineMessageModule = "Offline Message Module V2" - ;# {OfflineMessageURL} {OfflineMessageModule:OfflineMessageModule} {URL of offline messaging service} {} - ;; URL of web service for offline message storage - ; OfflineMessageURL = http://yourserver/Offline.php + ;# {OfflineMessageURL} {OfflineMessageModule:OfflineMessageModule Offline Message Module V2:Offline Message Module V2} {URL of offline messaging service} {} + ;; URL of web service for offline message storage. Leave it commented if your service is local to the sim. + ; OfflineMessageURL = http://yourserver/Offline.php or http://yourrobustserver:8003 + + ;# {StorageProvider} {Offline Message Module V2:Offline Message Module V2} {DLL that provides the storage interface} {OpenSim.Addons.OfflineIM} + ;; For standalones, use the service directly. This is the storage dll. + ; StorageProvider = OpenSim.Addons.OfflineIM.dll ;# {MuteListModule} {OfflineMessageModule:OfflineMessageModule} {} {} MuteListModule ;; Mute list handler (not yet implemented). MUST BE SET to allow offline diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index c7d4b7f0f5..fd86bca7a8 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -51,6 +51,8 @@ GridUserServiceConnector = "8003/OpenSim.Server.Handlers.dll:GridUserServiceConn FriendsServiceConnector = "8003/OpenSim.Server.Handlers.dll:FriendsServiceConnector" MapAddServiceConnector = "8003/OpenSim.Server.Handlers.dll:MapAddServiceConnector" MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnector" +;; Uncomment this if you want offline IM to work +;OfflineIMServiceConnector = "8003/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector" ;; Additions for Hypergrid @@ -545,15 +547,7 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset InGatekeeper = True [Messaging] - ; If you have an Offline IM server, set the vars in this section, so that - ; incomming IMs to local users from foreign grids can be saved - ; - ;# {OfflineMessageURL} {OfflineMessageModule:OfflineMessageModule} {URL of offline messaging service} {} - ;; URL of web service for offline message storage - ; OfflineMessageURL = http://yourserver/Offline.php - - ;; Control whether group messages are forwarded to offline users. - ;; Default is true. - ;; This applies to the core groups module (Flotsam) only. - ; ForwardOfflineGroupMessages = true + ; OfflineIM + StorageProvider = "OpenSim.Addons.OfflineIM.dll" + OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService" diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index bc5cbccb9d..9dd0d71ef6 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -43,6 +43,9 @@ GridUserServiceConnector = "8003/OpenSim.Server.Handlers.dll:GridUserServiceConn FriendsServiceConnector = "8003/OpenSim.Server.Handlers.dll:FriendsServiceConnector" MapAddServiceConnector = "8003/OpenSim.Server.Handlers.dll:MapAddServiceConnector" MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnector" +;; Uncomment this if you want offline IM to work +;OfflineIMServiceConnector = "8003/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector" + ; * This is common for all services, it's the network setup for the entire ; * server instance, if none is specified above @@ -329,6 +332,10 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ; HasProxy = false +[Messaging] + ; OfflineIM + StorageProvider = "OpenSim.Addons.OfflineIM.dll" + OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService" [GridInfoService] ; These settings are used to return information on a get_grid_info call. diff --git a/prebuild.xml b/prebuild.xml index 68a9539a74..1caa54bbc0 100644 --- a/prebuild.xml +++ b/prebuild.xml @@ -2521,6 +2521,56 @@ + + + + + + + ../../../bin/ + + + + + ../../../bin/ + + + + ../../../bin/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 9e460f2af8cb012a9cd333ed6683f409ce1bede8 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Mon, 18 Feb 2013 19:54:18 -0800 Subject: [PATCH 611/851] One more sql statement on migration #2 for offline im, to really clean up things. --- OpenSim/Addons/OfflineIM/Resources/IM_Store.migrations | 1 + 1 file changed, 1 insertion(+) diff --git a/OpenSim/Addons/OfflineIM/Resources/IM_Store.migrations b/OpenSim/Addons/OfflineIM/Resources/IM_Store.migrations index d1cff8e70c..7cfcd43888 100644 --- a/OpenSim/Addons/OfflineIM/Resources/IM_Store.migrations +++ b/OpenSim/Addons/OfflineIM/Resources/IM_Store.migrations @@ -19,5 +19,6 @@ BEGIN; INSERT INTO `im_offline` SELECT * from `diva_im_offline`; DROP TABLE `diva_im_offline`; +DELETE FROM `migrations` WHERE name='diva_im_Store'; COMMIT; \ No newline at end of file From 46e182dbf546dcb58d088c043a0baa2dcfed9125 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Tue, 19 Feb 2013 06:37:20 -0800 Subject: [PATCH 612/851] Offline IM: moved the Data and MySQL bits to the corresponding places in core, so that it will be easier to plugin a SQLite backend, if anyone is interested in doing that. --- OpenSim/{Addons/OfflineIM => }/Data/IOfflineIMData.cs | 2 +- .../OfflineIM/Data => Data/MySQL}/MySQLOfflineIMData.cs | 8 +------- .../MySQL}/Resources/IM_Store.migrations | 0 bin/OpenSim.ini.example | 6 +++--- bin/Robust.HG.ini.example | 1 - bin/Robust.ini.example | 1 - 6 files changed, 5 insertions(+), 13 deletions(-) rename OpenSim/{Addons/OfflineIM => }/Data/IOfflineIMData.cs (98%) rename OpenSim/{Addons/OfflineIM/Data => Data/MySQL}/MySQLOfflineIMData.cs (92%) rename OpenSim/{Addons/OfflineIM => Data/MySQL}/Resources/IM_Store.migrations (100%) diff --git a/OpenSim/Addons/OfflineIM/Data/IOfflineIMData.cs b/OpenSim/Data/IOfflineIMData.cs similarity index 98% rename from OpenSim/Addons/OfflineIM/Data/IOfflineIMData.cs rename to OpenSim/Data/IOfflineIMData.cs index a507f7d240..e780304ec8 100644 --- a/OpenSim/Addons/OfflineIM/Data/IOfflineIMData.cs +++ b/OpenSim/Data/IOfflineIMData.cs @@ -29,7 +29,7 @@ using System.Collections.Generic; using OpenSim.Data; using OpenMetaverse; -namespace OpenSim.OfflineIM +namespace OpenSim.Data { public class OfflineIMData { diff --git a/OpenSim/Addons/OfflineIM/Data/MySQLOfflineIMData.cs b/OpenSim/Data/MySQL/MySQLOfflineIMData.cs similarity index 92% rename from OpenSim/Addons/OfflineIM/Data/MySQLOfflineIMData.cs rename to OpenSim/Data/MySQL/MySQLOfflineIMData.cs index 0a61cd291b..252f358b7c 100644 --- a/OpenSim/Addons/OfflineIM/Data/MySQLOfflineIMData.cs +++ b/OpenSim/Data/MySQL/MySQLOfflineIMData.cs @@ -36,16 +36,10 @@ using OpenSim.Data.MySQL; using OpenMetaverse; using MySql.Data.MySqlClient; -namespace OpenSim.OfflineIM +namespace OpenSim.Data.MySQL { public class MySQLOfflineIMData : MySQLGenericTableHandler, IOfflineIMData { - protected override Assembly Assembly - { - // WARNING! Moving migrations to this assembly!!! - get { return GetType().Assembly; } - } - public MySQLOfflineIMData(string connectionString, string realm) : base(connectionString, realm, "IM_Store") { diff --git a/OpenSim/Addons/OfflineIM/Resources/IM_Store.migrations b/OpenSim/Data/MySQL/Resources/IM_Store.migrations similarity index 100% rename from OpenSim/Addons/OfflineIM/Resources/IM_Store.migrations rename to OpenSim/Data/MySQL/Resources/IM_Store.migrations diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 07e7357c03..674a66c147 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -542,9 +542,9 @@ ;; URL of web service for offline message storage. Leave it commented if your service is local to the sim. ; OfflineMessageURL = http://yourserver/Offline.php or http://yourrobustserver:8003 - ;# {StorageProvider} {Offline Message Module V2:Offline Message Module V2} {DLL that provides the storage interface} {OpenSim.Addons.OfflineIM} - ;; For standalones, use the service directly. This is the storage dll. - ; StorageProvider = OpenSim.Addons.OfflineIM.dll + ;# {StorageProvider} {Offline Message Module V2:Offline Message Module V2} {DLL that provides the storage interface} {OpenSim.Data.MySQL.dll} + ;; For standalones, this is the storage dll. + ; StorageProvider = OpenSim.Data.MySQL.dll ;# {MuteListModule} {OfflineMessageModule:OfflineMessageModule} {} {} MuteListModule ;; Mute list handler (not yet implemented). MUST BE SET to allow offline diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index fd86bca7a8..020815e1eb 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -548,6 +548,5 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset [Messaging] ; OfflineIM - StorageProvider = "OpenSim.Addons.OfflineIM.dll" OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService" diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 9dd0d71ef6..63a569937f 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -334,7 +334,6 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto [Messaging] ; OfflineIM - StorageProvider = "OpenSim.Addons.OfflineIM.dll" OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService" [GridInfoService] From 9380d01976726885bd993573aa649f2cb0992909 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Tue, 19 Feb 2013 07:26:40 -0800 Subject: [PATCH 613/851] First commit of Diva Groups. The Data bits went to OpenSim.Data core, the rest to Addons.Groups.dll. --- OpenSim/Addons/Groups/ForeignImporter.cs | 77 + OpenSim/Addons/Groups/GroupsExtendedData.cs | 509 ++++++ .../Addons/Groups/GroupsMessagingModule.cs | 594 +++++++ OpenSim/Addons/Groups/GroupsModule.cs | 1467 +++++++++++++++++ .../Hypergrid/GroupsServiceHGConnector.cs | 289 ++++ .../GroupsServiceHGConnectorModule.cs | 717 ++++++++ .../HGGroupsServiceRobustConnector.cs | 443 +++++ .../Addons/Groups/IGroupsServicesConnector.cs | 118 ++ .../GroupsServiceLocalConnectorModule.cs | 347 ++++ .../Addons/Groups/Properties/AssemblyInfo.cs | 37 + .../Remote/GroupsServiceRemoteConnector.cs | 642 ++++++++ .../GroupsServiceRemoteConnectorModule.cs | 437 +++++ .../Remote/GroupsServiceRobustConnector.cs | 760 +++++++++ .../Groups/RemoteConnectorCacheWrapper.cs | 824 +++++++++ .../Addons/Groups/Service/GroupsService.cs | 1014 ++++++++++++ .../Groups/Service/GroupsServiceBase.cs | 84 + .../Addons/Groups/Service/HGGroupsService.cs | 353 ++++ OpenSim/Data/IGroupsData.cs | 144 ++ OpenSim/Data/MySQL/MySQLGroupsData.cs | 484 ++++++ .../Resources/os_groups_Store.migrations | 115 ++ bin/OpenSim.ini.example | 44 +- bin/Robust.HG.ini.example | 10 + bin/Robust.ini.example | 2 + prebuild.xml | 48 + 24 files changed, 9544 insertions(+), 15 deletions(-) create mode 100644 OpenSim/Addons/Groups/ForeignImporter.cs create mode 100644 OpenSim/Addons/Groups/GroupsExtendedData.cs create mode 100644 OpenSim/Addons/Groups/GroupsMessagingModule.cs create mode 100644 OpenSim/Addons/Groups/GroupsModule.cs create mode 100644 OpenSim/Addons/Groups/Hypergrid/GroupsServiceHGConnector.cs create mode 100644 OpenSim/Addons/Groups/Hypergrid/GroupsServiceHGConnectorModule.cs create mode 100644 OpenSim/Addons/Groups/Hypergrid/HGGroupsServiceRobustConnector.cs create mode 100644 OpenSim/Addons/Groups/IGroupsServicesConnector.cs create mode 100644 OpenSim/Addons/Groups/Local/GroupsServiceLocalConnectorModule.cs create mode 100644 OpenSim/Addons/Groups/Properties/AssemblyInfo.cs create mode 100644 OpenSim/Addons/Groups/Remote/GroupsServiceRemoteConnector.cs create mode 100644 OpenSim/Addons/Groups/Remote/GroupsServiceRemoteConnectorModule.cs create mode 100644 OpenSim/Addons/Groups/Remote/GroupsServiceRobustConnector.cs create mode 100644 OpenSim/Addons/Groups/RemoteConnectorCacheWrapper.cs create mode 100644 OpenSim/Addons/Groups/Service/GroupsService.cs create mode 100644 OpenSim/Addons/Groups/Service/GroupsServiceBase.cs create mode 100644 OpenSim/Addons/Groups/Service/HGGroupsService.cs create mode 100644 OpenSim/Data/IGroupsData.cs create mode 100644 OpenSim/Data/MySQL/MySQLGroupsData.cs create mode 100644 OpenSim/Data/MySQL/Resources/os_groups_Store.migrations diff --git a/OpenSim/Addons/Groups/ForeignImporter.cs b/OpenSim/Addons/Groups/ForeignImporter.cs new file mode 100644 index 0000000000..788d21dfc5 --- /dev/null +++ b/OpenSim/Addons/Groups/ForeignImporter.cs @@ -0,0 +1,77 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; + +using OpenSim.Framework; +using OpenSim.Region.Framework.Interfaces; + +namespace OpenSim.Groups +{ + public class ForeignImporter + { + IUserManagement m_UserManagement; + public ForeignImporter(IUserManagement uman) + { + m_UserManagement = uman; + } + + public GroupMembersData ConvertGroupMembersData(ExtendedGroupMembersData _m) + { + GroupMembersData m = new GroupMembersData(); + m.AcceptNotices = _m.AcceptNotices; + m.AgentPowers = _m.AgentPowers; + m.Contribution = _m.Contribution; + m.IsOwner = _m.IsOwner; + m.ListInProfile = _m.ListInProfile; + m.OnlineStatus = _m.OnlineStatus; + m.Title = _m.Title; + + string url = string.Empty, first = string.Empty, last = string.Empty, tmp = string.Empty; + Util.ParseUniversalUserIdentifier(_m.AgentID, out m.AgentID, out url, out first, out last, out tmp); + if (url != string.Empty) + m_UserManagement.AddUser(m.AgentID, first, last, url); + + return m; + } + + public GroupRoleMembersData ConvertGroupRoleMembersData(ExtendedGroupRoleMembersData _rm) + { + GroupRoleMembersData rm = new GroupRoleMembersData(); + rm.RoleID = _rm.RoleID; + + string url = string.Empty, first = string.Empty, last = string.Empty, tmp = string.Empty; + Util.ParseUniversalUserIdentifier(_rm.MemberID, out rm.MemberID, out url, out first, out last, out tmp); + if (url != string.Empty) + m_UserManagement.AddUser(rm.MemberID, first, last, url); + + return rm; + } + + } +} diff --git a/OpenSim/Addons/Groups/GroupsExtendedData.cs b/OpenSim/Addons/Groups/GroupsExtendedData.cs new file mode 100644 index 0000000000..6f4db286f4 --- /dev/null +++ b/OpenSim/Addons/Groups/GroupsExtendedData.cs @@ -0,0 +1,509 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; + +using OpenSim.Framework; +using OpenMetaverse; + +namespace OpenSim.Groups +{ + public class ExtendedGroupRecord : GroupRecord + { + public int MemberCount; + public int RoleCount; + public string ServiceLocation; + public string FounderUUI; + } + + public class ExtendedGroupMembershipData : GroupMembershipData + { + public string AccessToken; + } + + public class ExtendedGroupMembersData + { + // This is the only difference: this is a string + public string AgentID; + public int Contribution; + public string OnlineStatus; + public ulong AgentPowers; + public string Title; + public bool IsOwner; + public bool ListInProfile; + public bool AcceptNotices; + public string AccessToken; + } + + public class ExtendedGroupRoleMembersData + { + public UUID RoleID; + // This is the only difference: this is a string + public string MemberID; + + } + + public struct ExtendedGroupNoticeData + { + public UUID NoticeID; + public uint Timestamp; + public string FromName; + public string Subject; + public bool HasAttachment; + public byte AttachmentType; + public string AttachmentName; + public UUID AttachmentItemID; + public string AttachmentOwnerID; + + public GroupNoticeData ToGroupNoticeData() + { + GroupNoticeData n = new GroupNoticeData(); + n.FromName = this.FromName; + n.AssetType = this.AttachmentType; + n.HasAttachment = this.HasAttachment; + n.NoticeID = this.NoticeID; + n.Subject = this.Subject; + n.Timestamp = this.Timestamp; + + return n; + } + } + + public class GroupsDataUtils + { + public static string Sanitize(string s) + { + return s == null ? string.Empty : s; + } + + public static Dictionary GroupRecord(ExtendedGroupRecord grec) + { + Dictionary dict = new Dictionary(); + if (grec == null) + return dict; + + dict["AllowPublish"] = grec.AllowPublish.ToString(); + dict["Charter"] = Sanitize(grec.Charter); + dict["FounderID"] = grec.FounderID.ToString(); + dict["FounderUUI"] = Sanitize(grec.FounderUUI); + dict["GroupID"] = grec.GroupID.ToString(); + dict["GroupName"] = Sanitize(grec.GroupName); + dict["InsigniaID"] = grec.GroupPicture.ToString(); + dict["MaturePublish"] = grec.MaturePublish.ToString(); + dict["MembershipFee"] = grec.MembershipFee.ToString(); + dict["OpenEnrollment"] = grec.OpenEnrollment.ToString(); + dict["OwnerRoleID"] = grec.OwnerRoleID.ToString(); + dict["ServiceLocation"] = Sanitize(grec.ServiceLocation); + dict["ShownInList"] = grec.ShowInList.ToString(); + dict["MemberCount"] = grec.MemberCount.ToString(); + dict["RoleCount"] = grec.RoleCount.ToString(); + + return dict; + } + + public static ExtendedGroupRecord GroupRecord(Dictionary dict) + { + if (dict == null) + return null; + + ExtendedGroupRecord grec = new ExtendedGroupRecord(); + if (dict.ContainsKey("AllowPublish") && dict["AllowPublish"] != null) + grec.AllowPublish = bool.Parse(dict["AllowPublish"].ToString()); + + if (dict.ContainsKey("Charter") && dict["Charter"] != null) + grec.Charter = dict["Charter"].ToString(); + else + grec.Charter = string.Empty; + + if (dict.ContainsKey("FounderID") && dict["FounderID"] != null) + grec.FounderID = UUID.Parse(dict["FounderID"].ToString()); + + if (dict.ContainsKey("FounderUUI") && dict["FounderUUI"] != null) + grec.FounderUUI = dict["FounderUUI"].ToString(); + else + grec.FounderUUI = string.Empty; + + if (dict.ContainsKey("GroupID") && dict["GroupID"] != null) + grec.GroupID = UUID.Parse(dict["GroupID"].ToString()); + + if (dict.ContainsKey("GroupName") && dict["GroupName"] != null) + grec.GroupName = dict["GroupName"].ToString(); + else + grec.GroupName = string.Empty; + + if (dict.ContainsKey("InsigniaID") && dict["InsigniaID"] != null) + grec.GroupPicture = UUID.Parse(dict["InsigniaID"].ToString()); + + if (dict.ContainsKey("MaturePublish") && dict["MaturePublish"] != null) + grec.MaturePublish = bool.Parse(dict["MaturePublish"].ToString()); + + if (dict.ContainsKey("MembershipFee") && dict["MembershipFee"] != null) + grec.MembershipFee = Int32.Parse(dict["MembershipFee"].ToString()); + + if (dict.ContainsKey("OpenEnrollment") && dict["OpenEnrollment"] != null) + grec.OpenEnrollment = bool.Parse(dict["OpenEnrollment"].ToString()); + + if (dict.ContainsKey("OwnerRoleID") && dict["OwnerRoleID"] != null) + grec.OwnerRoleID = UUID.Parse(dict["OwnerRoleID"].ToString()); + + if (dict.ContainsKey("ServiceLocation") && dict["ServiceLocation"] != null) + grec.ServiceLocation = dict["ServiceLocation"].ToString(); + else + grec.GroupName = string.Empty; + + if (dict.ContainsKey("ShownInList") && dict["ShownInList"] != null) + grec.ShowInList = bool.Parse(dict["ShownInList"].ToString()); + + if (dict.ContainsKey("MemberCount") && dict["MemberCount"] != null) + grec.MemberCount = Int32.Parse(dict["MemberCount"].ToString()); + + if (dict.ContainsKey("RoleCount") && dict["RoleCount"] != null) + grec.RoleCount = Int32.Parse(dict["RoleCount"].ToString()); + + return grec; + } + + public static Dictionary GroupMembershipData(ExtendedGroupMembershipData membership) + { + Dictionary dict = new Dictionary(); + if (membership == null) + return dict; + + dict["AcceptNotices"] = membership.AcceptNotices.ToString(); + dict["AccessToken"] = Sanitize(membership.AccessToken); + dict["Active"] = membership.Active.ToString(); + dict["ActiveRole"] = membership.ActiveRole.ToString(); + dict["AllowPublish"] = membership.AllowPublish.ToString(); + dict["Charter"] = Sanitize(membership.Charter); + dict["Contribution"] = membership.Contribution.ToString(); + dict["FounderID"] = membership.FounderID.ToString(); + dict["GroupID"] = membership.GroupID.ToString(); + dict["GroupName"] = Sanitize(membership.GroupName); + dict["GroupPicture"] = membership.GroupPicture.ToString(); + dict["GroupPowers"] = membership.GroupPowers.ToString(); + dict["GroupTitle"] = Sanitize(membership.GroupTitle); + dict["ListInProfile"] = membership.ListInProfile.ToString(); + dict["MaturePublish"] = membership.MaturePublish.ToString(); + dict["MembershipFee"] = membership.MembershipFee.ToString(); + dict["OpenEnrollment"] = membership.OpenEnrollment.ToString(); + dict["ShowInList"] = membership.ShowInList.ToString(); + + return dict; + } + + public static ExtendedGroupMembershipData GroupMembershipData(Dictionary dict) + { + if (dict == null) + return null; + + ExtendedGroupMembershipData membership = new ExtendedGroupMembershipData(); + + if (dict.ContainsKey("AcceptNotices") && dict["AcceptNotices"] != null) + membership.AcceptNotices = bool.Parse(dict["AcceptNotices"].ToString()); + + if (dict.ContainsKey("AccessToken") && dict["AccessToken"] != null) + membership.AccessToken = dict["AccessToken"].ToString(); + else + membership.AccessToken = string.Empty; + + if (dict.ContainsKey("Active") && dict["Active"] != null) + membership.Active = bool.Parse(dict["Active"].ToString()); + + if (dict.ContainsKey("ActiveRole") && dict["ActiveRole"] != null) + membership.ActiveRole = UUID.Parse(dict["ActiveRole"].ToString()); + + if (dict.ContainsKey("AllowPublish") && dict["AllowPublish"] != null) + membership.AllowPublish = bool.Parse(dict["AllowPublish"].ToString()); + + if (dict.ContainsKey("Charter") && dict["Charter"] != null) + membership.Charter = dict["Charter"].ToString(); + else + membership.Charter = string.Empty; + + if (dict.ContainsKey("Contribution") && dict["Contribution"] != null) + membership.Contribution = Int32.Parse(dict["Contribution"].ToString()); + + if (dict.ContainsKey("FounderID") && dict["FounderID"] != null) + membership.FounderID = UUID.Parse(dict["FounderID"].ToString()); + + if (dict.ContainsKey("GroupID") && dict["GroupID"] != null) + membership.GroupID = UUID.Parse(dict["GroupID"].ToString()); + + if (dict.ContainsKey("GroupName") && dict["GroupName"] != null) + membership.GroupName = dict["GroupName"].ToString(); + else + membership.GroupName = string.Empty; + + if (dict.ContainsKey("GroupPicture") && dict["GroupPicture"] != null) + membership.GroupPicture = UUID.Parse(dict["GroupPicture"].ToString()); + + if (dict.ContainsKey("GroupPowers") && dict["GroupPowers"] != null) + membership.GroupPowers = UInt64.Parse(dict["GroupPowers"].ToString()); + + if (dict.ContainsKey("GroupTitle") && dict["GroupTitle"] != null) + membership.GroupTitle = dict["GroupTitle"].ToString(); + else + membership.GroupTitle = string.Empty; + + if (dict.ContainsKey("ListInProfile") && dict["ListInProfile"] != null) + membership.ListInProfile = bool.Parse(dict["ListInProfile"].ToString()); + + if (dict.ContainsKey("MaturePublish") && dict["MaturePublish"] != null) + membership.MaturePublish = bool.Parse(dict["MaturePublish"].ToString()); + + if (dict.ContainsKey("MembershipFee") && dict["MembershipFee"] != null) + membership.MembershipFee = Int32.Parse(dict["MembershipFee"].ToString()); + + if (dict.ContainsKey("OpenEnrollment") && dict["OpenEnrollment"] != null) + membership.OpenEnrollment = bool.Parse(dict["OpenEnrollment"].ToString()); + + if (dict.ContainsKey("ShowInList") && dict["ShowInList"] != null) + membership.ShowInList = bool.Parse(dict["ShowInList"].ToString()); + + return membership; + } + + public static Dictionary GroupMembersData(ExtendedGroupMembersData member) + { + Dictionary dict = new Dictionary(); + + dict["AcceptNotices"] = member.AcceptNotices.ToString(); + dict["AccessToken"] = Sanitize(member.AccessToken); + dict["AgentID"] = Sanitize(member.AgentID); + dict["AgentPowers"] = member.AgentPowers.ToString(); + dict["Contribution"] = member.Contribution.ToString(); + dict["IsOwner"] = member.IsOwner.ToString(); + dict["ListInProfile"] = member.ListInProfile.ToString(); + dict["OnlineStatus"] = Sanitize(member.OnlineStatus); + dict["Title"] = Sanitize(member.Title); + + return dict; + } + + public static ExtendedGroupMembersData GroupMembersData(Dictionary dict) + { + ExtendedGroupMembersData member = new ExtendedGroupMembersData(); + + if (dict == null) + return member; + + if (dict.ContainsKey("AcceptNotices") && dict["AcceptNotices"] != null) + member.AcceptNotices = bool.Parse(dict["AcceptNotices"].ToString()); + + if (dict.ContainsKey("AccessToken") && dict["AccessToken"] != null) + member.AccessToken = Sanitize(dict["AccessToken"].ToString()); + else + member.AccessToken = string.Empty; + + if (dict.ContainsKey("AgentID") && dict["AgentID"] != null) + member.AgentID = Sanitize(dict["AgentID"].ToString()); + else + member.AgentID = UUID.Zero.ToString(); + + if (dict.ContainsKey("AgentPowers") && dict["AgentPowers"] != null) + member.AgentPowers = UInt64.Parse(dict["AgentPowers"].ToString()); + + if (dict.ContainsKey("Contribution") && dict["Contribution"] != null) + member.Contribution = Int32.Parse(dict["Contribution"].ToString()); + + if (dict.ContainsKey("IsOwner") && dict["IsOwner"] != null) + member.IsOwner = bool.Parse(dict["IsOwner"].ToString()); + + if (dict.ContainsKey("ListInProfile") && dict["ListInProfile"] != null) + member.ListInProfile = bool.Parse(dict["ListInProfile"].ToString()); + + if (dict.ContainsKey("OnlineStatus") && dict["OnlineStatus"] != null) + member.OnlineStatus = Sanitize(dict["OnlineStatus"].ToString()); + else + member.OnlineStatus = string.Empty; + + if (dict.ContainsKey("Title") && dict["Title"] != null) + member.Title = Sanitize(dict["Title"].ToString()); + else + member.Title = string.Empty; + + return member; + } + + public static Dictionary GroupRolesData(GroupRolesData role) + { + Dictionary dict = new Dictionary(); + + dict["Description"] = Sanitize(role.Description); + dict["Members"] = role.Members.ToString(); + dict["Name"] = Sanitize(role.Name); + dict["Powers"] = role.Powers.ToString(); + dict["RoleID"] = role.RoleID.ToString(); + dict["Title"] = Sanitize(role.Title); + + return dict; + } + + public static GroupRolesData GroupRolesData(Dictionary dict) + { + GroupRolesData role = new GroupRolesData(); + + if (dict == null) + return role; + + if (dict.ContainsKey("Description") && dict["Description"] != null) + role.Description = Sanitize(dict["Description"].ToString()); + else + role.Description = string.Empty; + + if (dict.ContainsKey("Members") && dict["Members"] != null) + role.Members = Int32.Parse(dict["Members"].ToString()); + + if (dict.ContainsKey("Name") && dict["Name"] != null) + role.Name = Sanitize(dict["Name"].ToString()); + else + role.Name = string.Empty; + + if (dict.ContainsKey("Powers") && dict["Powers"] != null) + role.Powers = UInt64.Parse(dict["Powers"].ToString()); + + if (dict.ContainsKey("Title") && dict["Title"] != null) + role.Title = Sanitize(dict["Title"].ToString()); + else + role.Title = string.Empty; + + if (dict.ContainsKey("RoleID") && dict["RoleID"] != null) + role.RoleID = UUID.Parse(dict["RoleID"].ToString()); + + return role; + } + + public static Dictionary GroupRoleMembersData(ExtendedGroupRoleMembersData rmember) + { + Dictionary dict = new Dictionary(); + + dict["RoleID"] = rmember.RoleID.ToString(); + dict["MemberID"] = rmember.MemberID; + return dict; + } + + public static ExtendedGroupRoleMembersData GroupRoleMembersData(Dictionary dict) + { + ExtendedGroupRoleMembersData rmember = new ExtendedGroupRoleMembersData(); + + if (dict.ContainsKey("RoleID") && dict["RoleID"] != null) + rmember.RoleID = new UUID(dict["RoleID"].ToString()); + + if (dict.ContainsKey("MemberID") && dict["MemberID"] != null) + rmember.MemberID = dict["MemberID"].ToString(); + + return rmember; + } + + public static Dictionary GroupInviteInfo(GroupInviteInfo invite) + { + Dictionary dict = new Dictionary(); + + dict["InviteID"] = invite.InviteID.ToString(); + dict["GroupID"] = invite.GroupID.ToString(); + dict["RoleID"] = invite.RoleID.ToString(); + dict["AgentID"] = invite.AgentID; + + return dict; + } + + public static GroupInviteInfo GroupInviteInfo(Dictionary dict) + { + if (dict == null) + return null; + + GroupInviteInfo invite = new GroupInviteInfo(); + + invite.InviteID = new UUID(dict["InviteID"].ToString()); + invite.GroupID = new UUID(dict["GroupID"].ToString()); + invite.RoleID = new UUID(dict["RoleID"].ToString()); + invite.AgentID = Sanitize(dict["AgentID"].ToString()); + + return invite; + } + + public static Dictionary GroupNoticeData(ExtendedGroupNoticeData notice) + { + Dictionary dict = new Dictionary(); + + dict["NoticeID"] = notice.NoticeID.ToString(); + dict["Timestamp"] = notice.Timestamp.ToString(); + dict["FromName"] = Sanitize(notice.FromName); + dict["Subject"] = Sanitize(notice.Subject); + dict["HasAttachment"] = notice.HasAttachment.ToString(); + dict["AttachmentItemID"] = notice.AttachmentItemID.ToString(); + dict["AttachmentName"] = Sanitize(notice.AttachmentName); + dict["AttachmentType"] = notice.AttachmentType.ToString(); + dict["AttachmentOwnerID"] = Sanitize(notice.AttachmentOwnerID); + + return dict; + } + + public static ExtendedGroupNoticeData GroupNoticeData(Dictionary dict) + { + ExtendedGroupNoticeData notice = new ExtendedGroupNoticeData(); + + if (dict == null) + return notice; + + notice.NoticeID = new UUID(dict["NoticeID"].ToString()); + notice.Timestamp = UInt32.Parse(dict["Timestamp"].ToString()); + notice.FromName = Sanitize(dict["FromName"].ToString()); + notice.Subject = Sanitize(dict["Subject"].ToString()); + notice.HasAttachment = bool.Parse(dict["HasAttachment"].ToString()); + notice.AttachmentItemID = new UUID(dict["AttachmentItemID"].ToString()); + notice.AttachmentName = dict["AttachmentName"].ToString(); + notice.AttachmentType = byte.Parse(dict["AttachmentType"].ToString()); + notice.AttachmentOwnerID = dict["AttachmentOwnerID"].ToString(); + + return notice; + } + + public static Dictionary GroupNoticeInfo(GroupNoticeInfo notice) + { + Dictionary dict = GroupNoticeData(notice.noticeData); + + dict["GroupID"] = notice.GroupID.ToString(); + dict["Message"] = Sanitize(notice.Message); + + return dict; + } + + public static GroupNoticeInfo GroupNoticeInfo(Dictionary dict) + { + GroupNoticeInfo notice = new GroupNoticeInfo(); + + notice.noticeData = GroupNoticeData(dict); + notice.GroupID = new UUID(dict["GroupID"].ToString()); + notice.Message = Sanitize(dict["Message"].ToString()); + + return notice; + } + } + +} diff --git a/OpenSim/Addons/Groups/GroupsMessagingModule.cs b/OpenSim/Addons/Groups/GroupsMessagingModule.cs new file mode 100644 index 0000000000..d172d48c6c --- /dev/null +++ b/OpenSim/Addons/Groups/GroupsMessagingModule.cs @@ -0,0 +1,594 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using log4net; +using Mono.Addins; +using Nini.Config; +using OpenMetaverse; +using OpenMetaverse.StructuredData; +using OpenSim.Framework; +using OpenSim.Region.Framework.Interfaces; +using OpenSim.Region.Framework.Scenes; +using OpenSim.Services.Interfaces; +using PresenceInfo = OpenSim.Services.Interfaces.PresenceInfo; + +namespace OpenSim.Groups +{ + [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "GroupsMessagingModule")] + public class GroupsMessagingModule : ISharedRegionModule, IGroupsMessagingModule + { + private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + + private List m_sceneList = new List(); + private IPresenceService m_presenceService; + + private IMessageTransferModule m_msgTransferModule = null; + + private IGroupsServicesConnector m_groupData = null; + + // Config Options + private bool m_groupMessagingEnabled = false; + private bool m_debugEnabled = true; + + ///

+ /// If enabled, module only tries to send group IMs to online users by querying cached presence information. + /// + private bool m_messageOnlineAgentsOnly; + + /// + /// Cache for online users. + /// + /// + /// Group ID is key, presence information for online members is value. + /// Will only be non-null if m_messageOnlineAgentsOnly = true + /// We cache here so that group messages don't constantly have to re-request the online user list to avoid + /// attempted expensive sending of messages to offline users. + /// The tradeoff is that a user that comes online will not receive messages consistently from all other users + /// until caches have updated. + /// Therefore, we set the cache expiry to just 20 seconds. + /// + private ExpiringCache m_usersOnlineCache; + + private int m_usersOnlineCacheExpirySeconds = 20; + + #region Region Module interfaceBase Members + + public void Initialise(IConfigSource config) + { + IConfig groupsConfig = config.Configs["Groups"]; + + if (groupsConfig == null) + // Do not run this module by default. + return; + + // if groups aren't enabled, we're not needed. + // if we're not specified as the connector to use, then we're not wanted + if ((groupsConfig.GetBoolean("Enabled", false) == false) + || (groupsConfig.GetString("MessagingModule", "") != Name)) + { + m_groupMessagingEnabled = false; + return; + } + + m_groupMessagingEnabled = groupsConfig.GetBoolean("MessagingEnabled", true); + + if (!m_groupMessagingEnabled) + return; + + m_messageOnlineAgentsOnly = groupsConfig.GetBoolean("MessageOnlineUsersOnly", false); + + if (m_messageOnlineAgentsOnly) + m_usersOnlineCache = new ExpiringCache(); + + m_debugEnabled = groupsConfig.GetBoolean("DebugEnabled", true); + + m_log.InfoFormat( + "[Groups.Messaging]: GroupsMessagingModule enabled with MessageOnlineOnly = {0}, DebugEnabled = {1}", + m_messageOnlineAgentsOnly, m_debugEnabled); + } + + public void AddRegion(Scene scene) + { + if (!m_groupMessagingEnabled) + return; + + scene.RegisterModuleInterface(this); + m_sceneList.Add(scene); + + scene.EventManager.OnNewClient += OnNewClient; + scene.EventManager.OnIncomingInstantMessage += OnGridInstantMessage; + scene.EventManager.OnClientLogin += OnClientLogin; + } + + public void RegionLoaded(Scene scene) + { + if (!m_groupMessagingEnabled) + return; + + if (m_debugEnabled) m_log.DebugFormat("[Groups.Messaging]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + m_groupData = scene.RequestModuleInterface(); + + // No groups module, no groups messaging + if (m_groupData == null) + { + m_log.Error("[Groups.Messaging]: Could not get IGroupsServicesConnector, GroupsMessagingModule is now disabled."); + RemoveRegion(scene); + return; + } + + m_msgTransferModule = scene.RequestModuleInterface(); + + // No message transfer module, no groups messaging + if (m_msgTransferModule == null) + { + m_log.Error("[Groups.Messaging]: Could not get MessageTransferModule"); + RemoveRegion(scene); + return; + } + + if (m_presenceService == null) + m_presenceService = scene.PresenceService; + + } + + public void RemoveRegion(Scene scene) + { + if (!m_groupMessagingEnabled) + return; + + if (m_debugEnabled) m_log.DebugFormat("[Groups.Messaging]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + m_sceneList.Remove(scene); + scene.EventManager.OnNewClient -= OnNewClient; + scene.EventManager.OnIncomingInstantMessage -= OnGridInstantMessage; + scene.EventManager.OnClientLogin -= OnClientLogin; + scene.UnregisterModuleInterface(this); + } + + public void Close() + { + if (!m_groupMessagingEnabled) + return; + + if (m_debugEnabled) m_log.Debug("[Groups.Messaging]: Shutting down GroupsMessagingModule module."); + + m_sceneList.Clear(); + + m_groupData = null; + m_msgTransferModule = null; + } + + public Type ReplaceableInterface + { + get { return null; } + } + + public string Name + { + get { return "Groups Messaging Module V2"; } + } + + public void PostInitialise() + { + // NoOp + } + + #endregion + + + /// + /// Not really needed, but does confirm that the group exists. + /// + public bool StartGroupChatSession(UUID agentID, UUID groupID) + { + if (m_debugEnabled) + m_log.DebugFormat("[Groups.Messaging]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + GroupRecord groupInfo = m_groupData.GetGroupRecord(agentID.ToString(), groupID, null); + + if (groupInfo != null) + { + return true; + } + else + { + return false; + } + } + + public void SendMessageToGroup(GridInstantMessage im, UUID groupID) + { + List groupMembers = m_groupData.GetGroupMembers(new UUID(im.fromAgentID).ToString(), groupID); + int groupMembersCount = groupMembers.Count; + + if (m_messageOnlineAgentsOnly) + { + string[] t1 = groupMembers.ConvertAll(gmd => gmd.AgentID.ToString()).ToArray(); + + // We cache in order not to overwhlem the presence service on large grids with many groups. This does + // mean that members coming online will not see all group members until after m_usersOnlineCacheExpirySeconds has elapsed. + // (assuming this is the same across all grid simulators). + PresenceInfo[] onlineAgents; + if (!m_usersOnlineCache.TryGetValue(groupID, out onlineAgents)) + { + onlineAgents = m_presenceService.GetAgents(t1); + m_usersOnlineCache.Add(groupID, onlineAgents, m_usersOnlineCacheExpirySeconds); + } + + HashSet onlineAgentsUuidSet = new HashSet(); + Array.ForEach(onlineAgents, pi => onlineAgentsUuidSet.Add(pi.UserID)); + + groupMembers = groupMembers.Where(gmd => onlineAgentsUuidSet.Contains(gmd.AgentID.ToString())).ToList(); + + // if (m_debugEnabled) +// m_log.DebugFormat( +// "[Groups.Messaging]: SendMessageToGroup called for group {0} with {1} visible members, {2} online", +// groupID, groupMembersCount, groupMembers.Count()); + } + else + { + if (m_debugEnabled) + m_log.DebugFormat( + "[Groups.Messaging]: SendMessageToGroup called for group {0} with {1} visible members", + groupID, groupMembers.Count); + } + + int requestStartTick = Environment.TickCount; + + foreach (GroupMembersData member in groupMembers) + { + if (m_groupData.hasAgentDroppedGroupChatSession(member.AgentID.ToString(), groupID)) + { + // Don't deliver messages to people who have dropped this session + if (m_debugEnabled) m_log.DebugFormat("[Groups.Messaging]: {0} has dropped session, not delivering to them", member.AgentID); + continue; + } + + // Copy Message + GridInstantMessage msg = new GridInstantMessage(); + msg.imSessionID = groupID.Guid; + msg.fromAgentName = im.fromAgentName; + msg.message = im.message; + msg.dialog = im.dialog; + msg.offline = im.offline; + msg.ParentEstateID = im.ParentEstateID; + msg.Position = im.Position; + msg.RegionID = im.RegionID; + msg.binaryBucket = im.binaryBucket; + msg.timestamp = (uint)Util.UnixTimeSinceEpoch(); + + msg.fromAgentID = im.fromAgentID; + msg.fromGroup = true; + + msg.toAgentID = member.AgentID.Guid; + + IClientAPI client = GetActiveClient(member.AgentID); + if (client == null) + { + // If they're not local, forward across the grid + if (m_debugEnabled) m_log.DebugFormat("[Groups.Messaging]: Delivering to {0} via Grid", member.AgentID); + m_msgTransferModule.SendInstantMessage(msg, delegate(bool success) { }); + } + else + { + // Deliver locally, directly + if (m_debugEnabled) m_log.DebugFormat("[Groups.Messaging]: Passing to ProcessMessageFromGroupSession to deliver to {0} locally", client.Name); + ProcessMessageFromGroupSession(msg); + } + } + + // Temporary for assessing how long it still takes to send messages to large online groups. + if (m_messageOnlineAgentsOnly) + m_log.DebugFormat( + "[Groups.Messaging]: SendMessageToGroup for group {0} with {1} visible members, {2} online took {3}ms", + groupID, groupMembersCount, groupMembers.Count(), Environment.TickCount - requestStartTick); + } + + #region SimGridEventHandlers + + void OnClientLogin(IClientAPI client) + { + if (m_debugEnabled) m_log.DebugFormat("[Groups.Messaging]: OnInstantMessage registered for {0}", client.Name); + } + + private void OnNewClient(IClientAPI client) + { + if (m_debugEnabled) m_log.DebugFormat("[Groups.Messaging]: OnInstantMessage registered for {0}", client.Name); + + client.OnInstantMessage += OnInstantMessage; + } + + private void OnGridInstantMessage(GridInstantMessage msg) + { + // The instant message module will only deliver messages of dialog types: + // MessageFromAgent, StartTyping, StopTyping, MessageFromObject + // + // Any other message type will not be delivered to a client by the + // Instant Message Module + + + if (m_debugEnabled) + { + m_log.DebugFormat("[Groups.Messaging]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + DebugGridInstantMessage(msg); + } + + // Incoming message from a group + if ((msg.fromGroup == true) && + ((msg.dialog == (byte)InstantMessageDialog.SessionSend) + || (msg.dialog == (byte)InstantMessageDialog.SessionAdd) + || (msg.dialog == (byte)InstantMessageDialog.SessionDrop))) + { + ProcessMessageFromGroupSession(msg); + } + } + + private void ProcessMessageFromGroupSession(GridInstantMessage msg) + { + if (m_debugEnabled) m_log.DebugFormat("[Groups.Messaging]: Session message from {0} going to agent {1}", msg.fromAgentName, msg.toAgentID); + + UUID AgentID = new UUID(msg.fromAgentID); + UUID GroupID = new UUID(msg.imSessionID); + + switch (msg.dialog) + { + case (byte)InstantMessageDialog.SessionAdd: + m_groupData.AgentInvitedToGroupChatSession(AgentID.ToString(), GroupID); + break; + + case (byte)InstantMessageDialog.SessionDrop: + m_groupData.AgentDroppedFromGroupChatSession(AgentID.ToString(), GroupID); + break; + + case (byte)InstantMessageDialog.SessionSend: + if (!m_groupData.hasAgentDroppedGroupChatSession(AgentID.ToString(), GroupID) + && !m_groupData.hasAgentBeenInvitedToGroupChatSession(AgentID.ToString(), GroupID) + ) + { + // Agent not in session and hasn't dropped from session + // Add them to the session for now, and Invite them + m_groupData.AgentInvitedToGroupChatSession(AgentID.ToString(), GroupID); + + UUID toAgentID = new UUID(msg.toAgentID); + IClientAPI activeClient = GetActiveClient(toAgentID); + if (activeClient != null) + { + GroupRecord groupInfo = m_groupData.GetGroupRecord(UUID.Zero.ToString(), GroupID, null); + if (groupInfo != null) + { + if (m_debugEnabled) m_log.DebugFormat("[Groups.Messaging]: Sending chatterbox invite instant message"); + + // Force? open the group session dialog??? + // and simultanously deliver the message, so we don't need to do a seperate client.SendInstantMessage(msg); + IEventQueue eq = activeClient.Scene.RequestModuleInterface(); + eq.ChatterboxInvitation( + GroupID + , groupInfo.GroupName + , new UUID(msg.fromAgentID) + , msg.message + , new UUID(msg.toAgentID) + , msg.fromAgentName + , msg.dialog + , msg.timestamp + , msg.offline == 1 + , (int)msg.ParentEstateID + , msg.Position + , 1 + , new UUID(msg.imSessionID) + , msg.fromGroup + , OpenMetaverse.Utils.StringToBytes(groupInfo.GroupName) + ); + + eq.ChatterBoxSessionAgentListUpdates( + new UUID(GroupID) + , new UUID(msg.fromAgentID) + , new UUID(msg.toAgentID) + , false //canVoiceChat + , false //isModerator + , false //text mute + ); + } + } + } + else if (!m_groupData.hasAgentDroppedGroupChatSession(AgentID.ToString(), GroupID)) + { + // User hasn't dropped, so they're in the session, + // maybe we should deliver it. + IClientAPI client = GetActiveClient(new UUID(msg.toAgentID)); + if (client != null) + { + // Deliver locally, directly + if (m_debugEnabled) m_log.DebugFormat("[Groups.Messaging]: Delivering to {0} locally", client.Name); + client.SendInstantMessage(msg); + } + else + { + m_log.WarnFormat("[Groups.Messaging]: Received a message over the grid for a client that isn't here: {0}", msg.toAgentID); + } + } + break; + + default: + m_log.WarnFormat("[Groups.Messaging]: I don't know how to proccess a {0} message.", ((InstantMessageDialog)msg.dialog).ToString()); + break; + } + } + + #endregion + + + #region ClientEvents + private void OnInstantMessage(IClientAPI remoteClient, GridInstantMessage im) + { + if (m_debugEnabled) + { + m_log.DebugFormat("[Groups.Messaging]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + DebugGridInstantMessage(im); + } + + // Start group IM session + if ((im.dialog == (byte)InstantMessageDialog.SessionGroupStart)) + { + if (m_debugEnabled) m_log.InfoFormat("[Groups.Messaging]: imSessionID({0}) toAgentID({1})", im.imSessionID, im.toAgentID); + + UUID GroupID = new UUID(im.imSessionID); + UUID AgentID = new UUID(im.fromAgentID); + + GroupRecord groupInfo = m_groupData.GetGroupRecord(UUID.Zero.ToString(), GroupID, null); + + if (groupInfo != null) + { + m_groupData.AgentInvitedToGroupChatSession(AgentID.ToString(), GroupID); + + ChatterBoxSessionStartReplyViaCaps(remoteClient, groupInfo.GroupName, GroupID); + + IEventQueue queue = remoteClient.Scene.RequestModuleInterface(); + queue.ChatterBoxSessionAgentListUpdates( + GroupID + , AgentID + , new UUID(im.toAgentID) + , false //canVoiceChat + , false //isModerator + , false //text mute + ); + } + } + + // Send a message from locally connected client to a group + if ((im.dialog == (byte)InstantMessageDialog.SessionSend)) + { + UUID GroupID = new UUID(im.imSessionID); + UUID AgentID = new UUID(im.fromAgentID); + + if (m_debugEnabled) + m_log.DebugFormat("[Groups.Messaging]: Send message to session for group {0} with session ID {1}", GroupID, im.imSessionID.ToString()); + + //If this agent is sending a message, then they want to be in the session + m_groupData.AgentInvitedToGroupChatSession(AgentID.ToString(), GroupID); + + SendMessageToGroup(im, GroupID); + } + } + + #endregion + + void ChatterBoxSessionStartReplyViaCaps(IClientAPI remoteClient, string groupName, UUID groupID) + { + if (m_debugEnabled) m_log.DebugFormat("[Groups.Messaging]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + OSDMap moderatedMap = new OSDMap(4); + moderatedMap.Add("voice", OSD.FromBoolean(false)); + + OSDMap sessionMap = new OSDMap(4); + sessionMap.Add("moderated_mode", moderatedMap); + sessionMap.Add("session_name", OSD.FromString(groupName)); + sessionMap.Add("type", OSD.FromInteger(0)); + sessionMap.Add("voice_enabled", OSD.FromBoolean(false)); + + OSDMap bodyMap = new OSDMap(4); + bodyMap.Add("session_id", OSD.FromUUID(groupID)); + bodyMap.Add("temp_session_id", OSD.FromUUID(groupID)); + bodyMap.Add("success", OSD.FromBoolean(true)); + bodyMap.Add("session_info", sessionMap); + + IEventQueue queue = remoteClient.Scene.RequestModuleInterface(); + + if (queue != null) + { + queue.Enqueue(queue.BuildEvent("ChatterBoxSessionStartReply", bodyMap), remoteClient.AgentId); + } + } + + private void DebugGridInstantMessage(GridInstantMessage im) + { + // Don't log any normal IMs (privacy!) + if (m_debugEnabled && im.dialog != (byte)InstantMessageDialog.MessageFromAgent) + { + m_log.WarnFormat("[Groups.Messaging]: IM: fromGroup({0})", im.fromGroup ? "True" : "False"); + m_log.WarnFormat("[Groups.Messaging]: IM: Dialog({0})", ((InstantMessageDialog)im.dialog).ToString()); + m_log.WarnFormat("[Groups.Messaging]: IM: fromAgentID({0})", im.fromAgentID.ToString()); + m_log.WarnFormat("[Groups.Messaging]: IM: fromAgentName({0})", im.fromAgentName.ToString()); + m_log.WarnFormat("[Groups.Messaging]: IM: imSessionID({0})", im.imSessionID.ToString()); + m_log.WarnFormat("[Groups.Messaging]: IM: message({0})", im.message.ToString()); + m_log.WarnFormat("[Groups.Messaging]: IM: offline({0})", im.offline.ToString()); + m_log.WarnFormat("[Groups.Messaging]: IM: toAgentID({0})", im.toAgentID.ToString()); + m_log.WarnFormat("[Groups.Messaging]: IM: binaryBucket({0})", OpenMetaverse.Utils.BytesToHexString(im.binaryBucket, "BinaryBucket")); + } + } + + #region Client Tools + + /// + /// Try to find an active IClientAPI reference for agentID giving preference to root connections + /// + private IClientAPI GetActiveClient(UUID agentID) + { + if (m_debugEnabled) m_log.WarnFormat("[Groups.Messaging]: Looking for local client {0}", agentID); + + IClientAPI child = null; + + // Try root avatar first + foreach (Scene scene in m_sceneList) + { + ScenePresence sp = scene.GetScenePresence(agentID); + if (sp != null) + { + if (!sp.IsChildAgent) + { + if (m_debugEnabled) m_log.WarnFormat("[Groups.Messaging]: Found root agent for client : {0}", sp.ControllingClient.Name); + return sp.ControllingClient; + } + else + { + if (m_debugEnabled) m_log.WarnFormat("[Groups.Messaging]: Found child agent for client : {0}", sp.ControllingClient.Name); + child = sp.ControllingClient; + } + } + } + + // If we didn't find a root, then just return whichever child we found, or null if none + if (child == null) + { + if (m_debugEnabled) m_log.WarnFormat("[Groups.Messaging]: Could not find local client for agent : {0}", agentID); + } + else + { + if (m_debugEnabled) m_log.WarnFormat("[Groups.Messaging]: Returning child agent for client : {0}", child.Name); + } + return child; + } + + #endregion + } +} diff --git a/OpenSim/Addons/Groups/GroupsModule.cs b/OpenSim/Addons/Groups/GroupsModule.cs new file mode 100644 index 0000000000..10bfa8f852 --- /dev/null +++ b/OpenSim/Addons/Groups/GroupsModule.cs @@ -0,0 +1,1467 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using System.Reflection; +using System.Timers; +using log4net; +using Mono.Addins; +using Nini.Config; +using OpenMetaverse; +using OpenMetaverse.StructuredData; +using OpenSim.Framework; +using OpenSim.Region.Framework.Interfaces; +using OpenSim.Region.Framework.Scenes; +using OpenSim.Services.Interfaces; +using DirFindFlags = OpenMetaverse.DirectoryManager.DirFindFlags; + +namespace OpenSim.Groups +{ + [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "GroupsModule")] + public class GroupsModule : ISharedRegionModule, IGroupsModule + { + /// + /// + + private static readonly ILog m_log = + LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + + private List m_sceneList = new List(); + + private IMessageTransferModule m_msgTransferModule = null; + + private IGroupsServicesConnector m_groupData = null; + private IUserManagement m_UserManagement; + + // Configuration settings + private bool m_groupsEnabled = false; + private bool m_groupNoticesEnabled = true; + private bool m_debugEnabled = false; + private int m_levelGroupCreate = 0; + + #region Region Module interfaceBase Members + + public void Initialise(IConfigSource config) + { + IConfig groupsConfig = config.Configs["Groups"]; + + if (groupsConfig == null) + { + // Do not run this module by default. + return; + } + else + { + m_groupsEnabled = groupsConfig.GetBoolean("Enabled", false); + if (!m_groupsEnabled) + { + return; + } + + if (groupsConfig.GetString("Module", "Default") != Name) + { + m_groupsEnabled = false; + + return; + } + + m_log.InfoFormat("[Groups]: Initializing {0}", this.Name); + + m_groupNoticesEnabled = groupsConfig.GetBoolean("NoticesEnabled", true); + m_debugEnabled = groupsConfig.GetBoolean("DebugEnabled", false); + m_levelGroupCreate = groupsConfig.GetInt("LevelGroupCreate", 0); + } + } + + public void AddRegion(Scene scene) + { + if (m_groupsEnabled) + { + scene.RegisterModuleInterface(this); + scene.AddCommand( + "debug", + this, + "debug groups verbose", + "debug groups verbose ", + "This setting turns on very verbose groups debugging", + HandleDebugGroupsVerbose); + } + } + + private void HandleDebugGroupsVerbose(object modules, string[] args) + { + if (args.Length < 4) + { + MainConsole.Instance.Output("Usage: debug groups verbose "); + return; + } + + bool verbose = false; + if (!bool.TryParse(args[3], out verbose)) + { + MainConsole.Instance.Output("Usage: debug groups verbose "); + return; + } + + m_debugEnabled = verbose; + + MainConsole.Instance.OutputFormat("{0} verbose logging set to {1}", Name, m_debugEnabled); + } + + public void RegionLoaded(Scene scene) + { + if (!m_groupsEnabled) + return; + + if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + scene.EventManager.OnNewClient += OnNewClient; + scene.EventManager.OnIncomingInstantMessage += OnGridInstantMessage; + // The InstantMessageModule itself doesn't do this, + // so lets see if things explode if we don't do it + // scene.EventManager.OnClientClosed += OnClientClosed; + + if (m_groupData == null) + { + m_groupData = scene.RequestModuleInterface(); + + // No Groups Service Connector, then nothing works... + if (m_groupData == null) + { + m_groupsEnabled = false; + m_log.Error("[Groups]: Could not get IGroupsServicesConnector"); + RemoveRegion(scene); + return; + } + } + + if (m_msgTransferModule == null) + { + m_msgTransferModule = scene.RequestModuleInterface(); + + // No message transfer module, no notices, group invites, rejects, ejects, etc + if (m_msgTransferModule == null) + { + m_log.Warn("[Groups]: Could not get MessageTransferModule"); + } + } + + if (m_UserManagement == null) + { + m_UserManagement = scene.RequestModuleInterface(); + if (m_UserManagement == null) + m_log.Warn("[Groups]: Could not get UserManagementModule"); + } + + lock (m_sceneList) + { + m_sceneList.Add(scene); + } + + + } + + public void RemoveRegion(Scene scene) + { + if (!m_groupsEnabled) + return; + + if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + scene.EventManager.OnNewClient -= OnNewClient; + scene.EventManager.OnIncomingInstantMessage -= OnGridInstantMessage; + + lock (m_sceneList) + { + m_sceneList.Remove(scene); + } + } + + public void Close() + { + if (!m_groupsEnabled) + return; + + if (m_debugEnabled) m_log.Debug("[Groups]: Shutting down Groups module."); + } + + public Type ReplaceableInterface + { + get { return null; } + } + + public string Name + { + get { return "Groups Module V2"; } + } + + public void PostInitialise() + { + // NoOp + } + + #endregion + + #region EventHandlers + private void OnNewClient(IClientAPI client) + { + if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + client.OnUUIDGroupNameRequest += HandleUUIDGroupNameRequest; + client.OnAgentDataUpdateRequest += OnAgentDataUpdateRequest; + client.OnDirFindQuery += OnDirFindQuery; + client.OnRequestAvatarProperties += OnRequestAvatarProperties; + + // Used for Notices and Group Invites/Accept/Reject + client.OnInstantMessage += OnInstantMessage; + + // Send client their groups information. + SendAgentGroupDataUpdate(client, client.AgentId); + } + + private void OnRequestAvatarProperties(IClientAPI remoteClient, UUID avatarID) + { + if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + //GroupMembershipData[] avatarGroups = m_groupData.GetAgentGroupMemberships(GetRequestingAgentID(remoteClient), avatarID).ToArray(); + GroupMembershipData[] avatarGroups = GetProfileListedGroupMemberships(remoteClient, avatarID); + remoteClient.SendAvatarGroupsReply(avatarID, avatarGroups); + } + + /* + * This becomes very problematic in a shared module. In a shared module you may have more then one + * reference to IClientAPI's, one for 0 or 1 root connections, and 0 or more child connections. + * The OnClientClosed event does not provide anything to indicate which one of those should be closed + * nor does it provide what scene it was from so that the specific reference can be looked up. + * The InstantMessageModule.cs does not currently worry about unregistering the handles, + * and it should be an issue, since it's the client that references us not the other way around + * , so as long as we don't keep a reference to the client laying around, the client can still be GC'ed + private void OnClientClosed(UUID AgentId) + { + if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + lock (m_ActiveClients) + { + if (m_ActiveClients.ContainsKey(AgentId)) + { + IClientAPI client = m_ActiveClients[AgentId]; + client.OnUUIDGroupNameRequest -= HandleUUIDGroupNameRequest; + client.OnAgentDataUpdateRequest -= OnAgentDataUpdateRequest; + client.OnDirFindQuery -= OnDirFindQuery; + client.OnInstantMessage -= OnInstantMessage; + + m_ActiveClients.Remove(AgentId); + } + else + { + if (m_debugEnabled) m_log.WarnFormat("[Groups]: Client closed that wasn't registered here."); + } + + + } + } + */ + + void OnDirFindQuery(IClientAPI remoteClient, UUID queryID, string queryText, uint queryFlags, int queryStart) + { + if (((DirFindFlags)queryFlags & DirFindFlags.Groups) == DirFindFlags.Groups) + { + if (m_debugEnabled) + m_log.DebugFormat( + "[Groups]: {0} called with queryText({1}) queryFlags({2}) queryStart({3})", + System.Reflection.MethodBase.GetCurrentMethod().Name, queryText, (DirFindFlags)queryFlags, queryStart); + + // TODO: This currently ignores pretty much all the query flags including Mature and sort order + remoteClient.SendDirGroupsReply(queryID, m_groupData.FindGroups(GetRequestingAgentIDStr(remoteClient), queryText).ToArray()); + } + + } + + private void OnAgentDataUpdateRequest(IClientAPI remoteClient, UUID dataForAgentID, UUID sessionID) + { + if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + UUID activeGroupID = UUID.Zero; + string activeGroupTitle = string.Empty; + string activeGroupName = string.Empty; + ulong activeGroupPowers = (ulong)GroupPowers.None; + + GroupMembershipData membership = m_groupData.GetAgentActiveMembership(GetRequestingAgentIDStr(remoteClient), dataForAgentID.ToString()); + if (membership != null) + { + activeGroupID = membership.GroupID; + activeGroupTitle = membership.GroupTitle; + activeGroupPowers = membership.GroupPowers; + } + + SendAgentDataUpdate(remoteClient, dataForAgentID, activeGroupID, activeGroupName, activeGroupPowers, activeGroupTitle); + + SendScenePresenceUpdate(dataForAgentID, activeGroupTitle); + } + + private void HandleUUIDGroupNameRequest(UUID GroupID, IClientAPI remoteClient) + { + if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + string GroupName; + + GroupRecord group = m_groupData.GetGroupRecord(GetRequestingAgentIDStr(remoteClient), GroupID, null); + if (group != null) + { + GroupName = group.GroupName; + } + else + { + GroupName = "Unknown"; + } + + remoteClient.SendGroupNameReply(GroupID, GroupName); + } + + private void OnInstantMessage(IClientAPI remoteClient, GridInstantMessage im) + { + if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + m_log.DebugFormat("[Groups]: IM From {0} to {1} msg {2} type {3}", im.fromAgentID, im.toAgentID, im.message, (InstantMessageDialog)im.dialog); + // Group invitations + if ((im.dialog == (byte)InstantMessageDialog.GroupInvitationAccept) || (im.dialog == (byte)InstantMessageDialog.GroupInvitationDecline)) + { + UUID inviteID = new UUID(im.imSessionID); + GroupInviteInfo inviteInfo = m_groupData.GetAgentToGroupInvite(GetRequestingAgentIDStr(remoteClient), inviteID); + + if (inviteInfo == null) + { + if (m_debugEnabled) m_log.WarnFormat("[Groups]: Received an Invite IM for an invite that does not exist {0}.", inviteID); + return; + } + + //m_log.DebugFormat("[XXX]: Invite is for Agent {0} to Group {1}.", inviteInfo.AgentID, inviteInfo.GroupID); + + UUID fromAgentID = new UUID(im.fromAgentID); + UUID invitee = UUID.Zero; + string tmp = string.Empty; + Util.ParseUniversalUserIdentifier(inviteInfo.AgentID, out invitee, out tmp, out tmp, out tmp, out tmp); + if ((inviteInfo != null) && (fromAgentID == invitee)) + { + // Accept + if (im.dialog == (byte)InstantMessageDialog.GroupInvitationAccept) + { + //m_log.DebugFormat("[XXX]: Received an accept invite notice."); + + // and the sessionid is the role + string reason = string.Empty; + if (!m_groupData.AddAgentToGroup(GetRequestingAgentIDStr(remoteClient), invitee.ToString(), inviteInfo.GroupID, inviteInfo.RoleID, string.Empty, out reason)) + remoteClient.SendAgentAlertMessage("Unable to add you to the group: " + reason, false); + else + { + GridInstantMessage msg = new GridInstantMessage(); + msg.imSessionID = UUID.Zero.Guid; + msg.fromAgentID = UUID.Zero.Guid; + msg.toAgentID = invitee.Guid; + msg.timestamp = (uint)Util.UnixTimeSinceEpoch(); + msg.fromAgentName = "Groups"; + msg.message = string.Format("You have been added to the group."); + msg.dialog = (byte)OpenMetaverse.InstantMessageDialog.MessageBox; + msg.fromGroup = false; + msg.offline = (byte)0; + msg.ParentEstateID = 0; + msg.Position = Vector3.Zero; + msg.RegionID = UUID.Zero.Guid; + msg.binaryBucket = new byte[0]; + + OutgoingInstantMessage(msg, invitee); + + UpdateAllClientsWithGroupInfo(invitee); + } + + m_groupData.RemoveAgentToGroupInvite(GetRequestingAgentIDStr(remoteClient), inviteID); + + } + + // Reject + if (im.dialog == (byte)InstantMessageDialog.GroupInvitationDecline) + { + if (m_debugEnabled) m_log.DebugFormat("[Groups]: Received a reject invite notice."); + m_groupData.RemoveAgentToGroupInvite(GetRequestingAgentIDStr(remoteClient), inviteID); + + m_groupData.RemoveAgentFromGroup(GetRequestingAgentIDStr(remoteClient), inviteInfo.AgentID, inviteInfo.GroupID); + } + } + } + + // Group notices + if ((im.dialog == (byte)InstantMessageDialog.GroupNotice)) + { + if (!m_groupNoticesEnabled) + { + return; + } + + UUID GroupID = new UUID(im.toAgentID); + if (m_groupData.GetGroupRecord(GetRequestingAgentIDStr(remoteClient), GroupID, null) != null) + { + UUID NoticeID = UUID.Random(); + string Subject = im.message.Substring(0, im.message.IndexOf('|')); + string Message = im.message.Substring(Subject.Length + 1); + + InventoryItemBase item = null; + bool hasAttachment = false; + + if (im.binaryBucket.Length >= 1 && im.binaryBucket[0] > 0) + { + hasAttachment = true; + string binBucket = OpenMetaverse.Utils.BytesToString(im.binaryBucket); + binBucket = binBucket.Remove(0, 14).Trim(); + + OSD binBucketOSD = OSDParser.DeserializeLLSDXml(binBucket); + if (binBucketOSD is OSDMap) + { + OSDMap binBucketMap = (OSDMap)binBucketOSD; + + UUID itemID = binBucketMap["item_id"].AsUUID(); + UUID ownerID = binBucketMap["owner_id"].AsUUID(); + item = new InventoryItemBase(itemID, ownerID); + item = m_sceneList[0].InventoryService.GetItem(item); + } + else + m_log.DebugFormat("[Groups]: Received OSD with unexpected type: {0}", binBucketOSD.GetType()); + } + + if (m_groupData.AddGroupNotice(GetRequestingAgentIDStr(remoteClient), GroupID, NoticeID, im.fromAgentName, Subject, Message, + hasAttachment, + (byte)(item == null ? 0 : item.AssetType), + item == null ? null : item.Name, + item == null ? UUID.Zero : item.ID, + item == null ? UUID.Zero.ToString() : item.Owner.ToString())) + { + if (OnNewGroupNotice != null) + { + OnNewGroupNotice(GroupID, NoticeID); + } + + // Send notice out to everyone that wants notices + // Build notice IIM + GridInstantMessage msg = CreateGroupNoticeIM(UUID.Zero, NoticeID, (byte)OpenMetaverse.InstantMessageDialog.GroupNotice); + foreach (GroupMembersData member in m_groupData.GetGroupMembers(GetRequestingAgentIDStr(remoteClient), GroupID)) + { + if (member.AcceptNotices) + { + msg.toAgentID = member.AgentID.Guid; + OutgoingInstantMessage(msg, member.AgentID); + } + } + } + } + } + + if (im.dialog == (byte)InstantMessageDialog.GroupNoticeInventoryAccepted) + { + if (im.binaryBucket.Length < 16) // Invalid + return; + + //// 16 bytes are the UUID. Maybe. + UUID folderID = new UUID(im.binaryBucket, 0); + UUID noticeID = new UUID(im.imSessionID); + + GroupNoticeInfo notice = m_groupData.GetGroupNotice(remoteClient.AgentId.ToString(), noticeID); + if (notice != null) + { + UUID giver = new UUID(im.toAgentID); + string tmp = string.Empty; + Util.ParseUniversalUserIdentifier(notice.noticeData.AttachmentOwnerID, out giver, out tmp, out tmp, out tmp, out tmp); + + m_log.DebugFormat("[Groups]: Giving inventory from {0} to {1}", giver, remoteClient.AgentId); + InventoryItemBase itemCopy = ((Scene)(remoteClient.Scene)).GiveInventoryItem(remoteClient.AgentId, + giver, notice.noticeData.AttachmentItemID); + + if (itemCopy == null) + { + remoteClient.SendAgentAlertMessage("Can't find item to give. Nothing given.", false); + return; + } + + remoteClient.SendInventoryItemCreateUpdate(itemCopy, 0); + } + + } + + // Interop, received special 210 code for ejecting a group member + // this only works within the comms servers domain, and won't work hypergrid + // TODO:FIXME: Use a presense server of some kind to find out where the + // client actually is, and try contacting that region directly to notify them, + // or provide the notification via xmlrpc update queue + if ((im.dialog == 210)) + { + // This is sent from the region that the ejectee was ejected from + // if it's being delivered here, then the ejectee is here + // so we need to send local updates to the agent. + + UUID ejecteeID = new UUID(im.toAgentID); + + im.dialog = (byte)InstantMessageDialog.MessageFromAgent; + OutgoingInstantMessage(im, ejecteeID); + + IClientAPI ejectee = GetActiveClient(ejecteeID); + if (ejectee != null) + { + UUID groupID = new UUID(im.imSessionID); + ejectee.SendAgentDropGroup(groupID); + } + } + } + + private void OnGridInstantMessage(GridInstantMessage msg) + { + if (m_debugEnabled) m_log.InfoFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + // Trigger the above event handler + OnInstantMessage(null, msg); + + // If a message from a group arrives here, it may need to be forwarded to a local client + if (msg.fromGroup == true) + { + switch (msg.dialog) + { + case (byte)InstantMessageDialog.GroupInvitation: + case (byte)InstantMessageDialog.GroupNotice: + UUID toAgentID = new UUID(msg.toAgentID); + IClientAPI localClient = GetActiveClient(toAgentID); + if (localClient != null) + { + localClient.SendInstantMessage(msg); + } + break; + } + } + } + + #endregion + + #region IGroupsModule Members + + public event NewGroupNotice OnNewGroupNotice; + + public GroupRecord GetGroupRecord(UUID GroupID) + { + return m_groupData.GetGroupRecord(UUID.Zero.ToString(), GroupID, null); + } + + public GroupRecord GetGroupRecord(string name) + { + return m_groupData.GetGroupRecord(UUID.Zero.ToString(), UUID.Zero, name); + } + + public void ActivateGroup(IClientAPI remoteClient, UUID groupID) + { + if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + m_groupData.SetAgentActiveGroup(GetRequestingAgentIDStr(remoteClient), GetRequestingAgentIDStr(remoteClient), groupID); + + // Changing active group changes title, active powers, all kinds of things + // anyone who is in any region that can see this client, should probably be + // updated with new group info. At a minimum, they should get ScenePresence + // updated with new title. + UpdateAllClientsWithGroupInfo(remoteClient.AgentId); + } + + /// + /// Get the Role Titles for an Agent, for a specific group + /// + public List GroupTitlesRequest(IClientAPI remoteClient, UUID groupID) + { + if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + List agentRoles = m_groupData.GetAgentGroupRoles(GetRequestingAgentIDStr(remoteClient), GetRequestingAgentIDStr(remoteClient), groupID); + GroupMembershipData agentMembership = m_groupData.GetAgentGroupMembership(GetRequestingAgentIDStr(remoteClient), GetRequestingAgentIDStr(remoteClient), groupID); + + List titles = new List(); + foreach (GroupRolesData role in agentRoles) + { + GroupTitlesData title = new GroupTitlesData(); + title.Name = role.Name; + if (agentMembership != null) + { + title.Selected = agentMembership.ActiveRole == role.RoleID; + } + title.UUID = role.RoleID; + + titles.Add(title); + } + + return titles; + } + + public List GroupMembersRequest(IClientAPI remoteClient, UUID groupID) + { + if (m_debugEnabled) + m_log.DebugFormat( + "[Groups]: GroupMembersRequest called for {0} from client {1}", groupID, remoteClient.Name); + + List data = m_groupData.GetGroupMembers(GetRequestingAgentIDStr(remoteClient), groupID); + + if (m_debugEnabled) + { + foreach (GroupMembersData member in data) + { + m_log.DebugFormat("[Groups]: Member({0}) - IsOwner({1})", member.AgentID, member.IsOwner); + } + } + + return data; + + } + + public List GroupRoleDataRequest(IClientAPI remoteClient, UUID groupID) + { + if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + List data = m_groupData.GetGroupRoles(GetRequestingAgentIDStr(remoteClient), groupID); + + return data; + } + + public List GroupRoleMembersRequest(IClientAPI remoteClient, UUID groupID) + { + if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + List data = m_groupData.GetGroupRoleMembers(GetRequestingAgentIDStr(remoteClient), groupID); + + if (m_debugEnabled) + { + foreach (GroupRoleMembersData member in data) + { + m_log.DebugFormat("[Groups]: Member({0}) - Role({1})", member.MemberID, member.RoleID); + } + } + return data; + } + + public GroupProfileData GroupProfileRequest(IClientAPI remoteClient, UUID groupID) + { + if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + GroupProfileData profile = new GroupProfileData(); + + // just to get the OwnerRole... + ExtendedGroupRecord groupInfo = m_groupData.GetGroupRecord(GetRequestingAgentIDStr(remoteClient), groupID, string.Empty); + GroupMembershipData memberInfo = m_groupData.GetAgentGroupMembership(GetRequestingAgentIDStr(remoteClient), GetRequestingAgentIDStr(remoteClient), groupID); + if (groupInfo != null) + { + profile.AllowPublish = groupInfo.AllowPublish; + profile.Charter = groupInfo.Charter; + profile.FounderID = groupInfo.FounderID; + profile.GroupID = groupID; + profile.GroupMembershipCount = groupInfo.MemberCount; + profile.GroupRolesCount = groupInfo.RoleCount; + profile.InsigniaID = groupInfo.GroupPicture; + profile.MaturePublish = groupInfo.MaturePublish; + profile.MembershipFee = groupInfo.MembershipFee; + profile.Money = 0; + profile.Name = groupInfo.GroupName; + profile.OpenEnrollment = groupInfo.OpenEnrollment; + profile.OwnerRole = groupInfo.OwnerRoleID; + profile.ShowInList = groupInfo.ShowInList; + } + if (memberInfo != null) + { + profile.MemberTitle = memberInfo.GroupTitle; + profile.PowersMask = memberInfo.GroupPowers; + } + + return profile; + } + + public GroupMembershipData[] GetMembershipData(UUID agentID) + { + if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + return m_groupData.GetAgentGroupMemberships(UUID.Zero.ToString(), agentID.ToString()).ToArray(); + } + + public GroupMembershipData GetMembershipData(UUID groupID, UUID agentID) + { + if (m_debugEnabled) + m_log.DebugFormat( + "[Groups]: {0} called with groupID={1}, agentID={2}", + System.Reflection.MethodBase.GetCurrentMethod().Name, groupID, agentID); + + return m_groupData.GetAgentGroupMembership(UUID.Zero.ToString(), agentID.ToString(), groupID); + } + + public void UpdateGroupInfo(IClientAPI remoteClient, UUID groupID, string charter, bool showInList, UUID insigniaID, int membershipFee, bool openEnrollment, bool allowPublish, bool maturePublish) + { + if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + // Note: Permissions checking for modification rights is handled by the Groups Server/Service + string reason = string.Empty; + if (!m_groupData.UpdateGroup(GetRequestingAgentIDStr(remoteClient), groupID, charter, showInList, insigniaID, membershipFee, + openEnrollment, allowPublish, maturePublish, out reason)) + remoteClient.SendAgentAlertMessage(reason, false); + } + + public void SetGroupAcceptNotices(IClientAPI remoteClient, UUID groupID, bool acceptNotices, bool listInProfile) + { + // Note: Permissions checking for modification rights is handled by the Groups Server/Service + if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + m_groupData.UpdateMembership(GetRequestingAgentIDStr(remoteClient), GetRequestingAgentIDStr(remoteClient), groupID, acceptNotices, listInProfile); + } + + public UUID CreateGroup(IClientAPI remoteClient, string name, string charter, bool showInList, UUID insigniaID, int membershipFee, bool openEnrollment, bool allowPublish, bool maturePublish) + { + if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called in {1}", System.Reflection.MethodBase.GetCurrentMethod().Name, remoteClient.Scene.RegionInfo.RegionName); + + if (m_groupData.GetGroupRecord(GetRequestingAgentIDStr(remoteClient), UUID.Zero, name) != null) + { + remoteClient.SendCreateGroupReply(UUID.Zero, false, "A group with the same name already exists."); + return UUID.Zero; + } + + // check user level + ScenePresence avatar = null; + Scene scene = (Scene)remoteClient.Scene; + scene.TryGetScenePresence(remoteClient.AgentId, out avatar); + + if (avatar != null) + { + if (avatar.UserLevel < m_levelGroupCreate) + { + remoteClient.SendCreateGroupReply(UUID.Zero, false, String.Format("Insufficient permissions to create a group. Requires level {0}", m_levelGroupCreate)); + return UUID.Zero; + } + } + + // check funds + // is there is a money module present ? + IMoneyModule money = scene.RequestModuleInterface(); + if (money != null) + { + // do the transaction, that is if the agent has got sufficient funds + if (!money.AmountCovered(remoteClient.AgentId, money.GroupCreationCharge)) { + remoteClient.SendCreateGroupReply(UUID.Zero, false, "Insufficient funds to create a group."); + return UUID.Zero; + } + money.ApplyCharge(remoteClient.AgentId, money.GroupCreationCharge, "Group Creation"); + } + string reason = string.Empty; + UUID groupID = m_groupData.CreateGroup(remoteClient.AgentId, name, charter, showInList, insigniaID, membershipFee, openEnrollment, + allowPublish, maturePublish, remoteClient.AgentId, out reason); + + if (groupID != UUID.Zero) + { + remoteClient.SendCreateGroupReply(groupID, true, "Group created successfullly"); + + // Update the founder with new group information. + SendAgentGroupDataUpdate(remoteClient, GetRequestingAgentID(remoteClient)); + } + else + remoteClient.SendCreateGroupReply(groupID, false, reason); + + return groupID; + } + + public GroupNoticeData[] GroupNoticesListRequest(IClientAPI remoteClient, UUID groupID) + { + if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + // ToDo: check if agent is a member of group and is allowed to see notices? + + List notices = m_groupData.GetGroupNotices(GetRequestingAgentIDStr(remoteClient), groupID); + List os_notices = new List(); + foreach (ExtendedGroupNoticeData n in notices) + { + GroupNoticeData osn = n.ToGroupNoticeData(); + os_notices.Add(osn); + } + + return os_notices.ToArray(); + } + + /// + /// Get the title of the agent's current role. + /// + public string GetGroupTitle(UUID avatarID) + { + if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + GroupMembershipData membership = m_groupData.GetAgentActiveMembership(UUID.Zero.ToString(), avatarID.ToString()); + if (membership != null) + { + return membership.GroupTitle; + } + return string.Empty; + } + + /// + /// Change the current Active Group Role for Agent + /// + public void GroupTitleUpdate(IClientAPI remoteClient, UUID groupID, UUID titleRoleID) + { + if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + m_groupData.SetAgentActiveGroupRole(GetRequestingAgentIDStr(remoteClient), GetRequestingAgentIDStr(remoteClient), groupID, titleRoleID); + + // TODO: Not sure what all is needed here, but if the active group role change is for the group + // the client currently has set active, then we need to do a scene presence update too + // if (m_groupData.GetAgentActiveMembership(GetRequestingAgentID(remoteClient)).GroupID == GroupID) + + UpdateAllClientsWithGroupInfo(GetRequestingAgentID(remoteClient)); + } + + + public void GroupRoleUpdate(IClientAPI remoteClient, UUID groupID, UUID roleID, string name, string description, string title, ulong powers, byte updateType) + { + if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + // Security Checks are handled in the Groups Service. + + switch ((OpenMetaverse.GroupRoleUpdate)updateType) + { + case OpenMetaverse.GroupRoleUpdate.Create: + string reason = string.Empty; + if (!m_groupData.AddGroupRole(GetRequestingAgentIDStr(remoteClient), groupID, UUID.Random(), name, description, title, powers, out reason)) + remoteClient.SendAgentAlertMessage("Unable to create role: " + reason, false); + break; + + case OpenMetaverse.GroupRoleUpdate.Delete: + m_groupData.RemoveGroupRole(GetRequestingAgentIDStr(remoteClient), groupID, roleID); + break; + + case OpenMetaverse.GroupRoleUpdate.UpdateAll: + case OpenMetaverse.GroupRoleUpdate.UpdateData: + case OpenMetaverse.GroupRoleUpdate.UpdatePowers: + if (m_debugEnabled) + { + GroupPowers gp = (GroupPowers)powers; + m_log.DebugFormat("[Groups]: Role ({0}) updated with Powers ({1}) ({2})", name, powers.ToString(), gp.ToString()); + } + m_groupData.UpdateGroupRole(GetRequestingAgentIDStr(remoteClient), groupID, roleID, name, description, title, powers); + break; + + case OpenMetaverse.GroupRoleUpdate.NoUpdate: + default: + // No Op + break; + + } + + // TODO: This update really should send out updates for everyone in the role that just got changed. + SendAgentGroupDataUpdate(remoteClient, GetRequestingAgentID(remoteClient)); + } + + public void GroupRoleChanges(IClientAPI remoteClient, UUID groupID, UUID roleID, UUID memberID, uint changes) + { + if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + // Todo: Security check + + switch (changes) + { + case 0: + // Add + m_groupData.AddAgentToGroupRole(GetRequestingAgentIDStr(remoteClient), memberID.ToString(), groupID, roleID); + + break; + case 1: + // Remove + m_groupData.RemoveAgentFromGroupRole(GetRequestingAgentIDStr(remoteClient), memberID.ToString(), groupID, roleID); + + break; + default: + m_log.ErrorFormat("[Groups]: {0} does not understand changes == {1}", System.Reflection.MethodBase.GetCurrentMethod().Name, changes); + break; + } + + // TODO: This update really should send out updates for everyone in the role that just got changed. + SendAgentGroupDataUpdate(remoteClient, GetRequestingAgentID(remoteClient)); + } + + public void GroupNoticeRequest(IClientAPI remoteClient, UUID groupNoticeID) + { + if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called for notice {1}", System.Reflection.MethodBase.GetCurrentMethod().Name, groupNoticeID); + + //GroupRecord groupInfo = m_groupData.GetGroupRecord(GetRequestingAgentID(remoteClient), data.GroupID, null); + + GridInstantMessage msg = CreateGroupNoticeIM(remoteClient.AgentId, groupNoticeID, (byte)InstantMessageDialog.GroupNoticeRequested); + //GridInstantMessage msg = new GridInstantMessage(); + //msg.imSessionID = UUID.Zero.Guid; + //msg.fromAgentID = data.GroupID.Guid; + //msg.toAgentID = GetRequestingAgentID(remoteClient).Guid; + //msg.timestamp = (uint)Util.UnixTimeSinceEpoch(); + //msg.fromAgentName = "Group Notice : " + groupInfo == null ? "Unknown" : groupInfo.GroupName; + //msg.message = data.noticeData.Subject + "|" + data.Message; + //msg.dialog = (byte)OpenMetaverse.InstantMessageDialog.GroupNoticeRequested; + //msg.fromGroup = true; + //msg.offline = (byte)0; + //msg.ParentEstateID = 0; + //msg.Position = Vector3.Zero; + //msg.RegionID = UUID.Zero.Guid; + //msg.binaryBucket = data.BinaryBucket; + + OutgoingInstantMessage(msg, GetRequestingAgentID(remoteClient)); + } + + public GridInstantMessage CreateGroupNoticeIM(UUID agentID, UUID groupNoticeID, byte dialog) + { + if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + GridInstantMessage msg = new GridInstantMessage(); + byte[] bucket; + + msg.imSessionID = groupNoticeID.Guid; + msg.toAgentID = agentID.Guid; + msg.dialog = dialog; + // msg.dialog = (byte)OpenMetaverse.InstantMessageDialog.GroupNotice; + msg.fromGroup = true; + msg.offline = (byte)0; + msg.ParentEstateID = 0; + msg.Position = Vector3.Zero; + msg.RegionID = UUID.Zero.Guid; + + GroupNoticeInfo info = m_groupData.GetGroupNotice(agentID.ToString(), groupNoticeID); + if (info != null) + { + msg.fromAgentID = info.GroupID.Guid; + msg.timestamp = info.noticeData.Timestamp; + msg.fromAgentName = info.noticeData.FromName; + msg.message = info.noticeData.Subject + "|" + info.Message; + if (info.noticeData.HasAttachment) + { + byte[] name = System.Text.Encoding.UTF8.GetBytes(info.noticeData.AttachmentName); + bucket = new byte[19 + name.Length]; + bucket[0] = 1; // has attachment? + bucket[1] = info.noticeData.AttachmentType; // attachment type + name.CopyTo(bucket, 18); + } + else + { + bucket = new byte[19]; + bucket[0] = 0; // Has att? + bucket[1] = 0; // type + bucket[18] = 0; // null terminated + } + + info.GroupID.ToBytes(bucket, 2); + msg.binaryBucket = bucket; + } + else + { + m_log.DebugFormat("[Groups]: Group Notice {0} not found, composing empty message.", groupNoticeID); + msg.fromAgentID = UUID.Zero.Guid; + msg.timestamp = (uint)Util.UnixTimeSinceEpoch(); ; + msg.fromAgentName = string.Empty; + msg.message = string.Empty; + msg.binaryBucket = new byte[0]; + } + + return msg; + } + + public void SendAgentGroupDataUpdate(IClientAPI remoteClient) + { + if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + // Send agent information about his groups + SendAgentGroupDataUpdate(remoteClient, GetRequestingAgentID(remoteClient)); + } + + public void JoinGroupRequest(IClientAPI remoteClient, UUID groupID) + { + if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + string reason = string.Empty; + // Should check to see if OpenEnrollment, or if there's an outstanding invitation + if (m_groupData.AddAgentToGroup(GetRequestingAgentIDStr(remoteClient), GetRequestingAgentIDStr(remoteClient), groupID, UUID.Zero, string.Empty, out reason)) + { + + remoteClient.SendJoinGroupReply(groupID, true); + + // Should this send updates to everyone in the group? + SendAgentGroupDataUpdate(remoteClient, GetRequestingAgentID(remoteClient)); + } + else + remoteClient.SendJoinGroupReply(groupID, false); + } + + public void LeaveGroupRequest(IClientAPI remoteClient, UUID groupID) + { + if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + m_groupData.RemoveAgentFromGroup(GetRequestingAgentIDStr(remoteClient), GetRequestingAgentIDStr(remoteClient), groupID); + + remoteClient.SendLeaveGroupReply(groupID, true); + + remoteClient.SendAgentDropGroup(groupID); + + // SL sends out notifcations to the group messaging session that the person has left + // Should this also update everyone who is in the group? + SendAgentGroupDataUpdate(remoteClient, GetRequestingAgentID(remoteClient)); + } + + public void EjectGroupMemberRequest(IClientAPI remoteClient, UUID groupID, UUID ejecteeID) + { + EjectGroupMember(remoteClient, GetRequestingAgentID(remoteClient), groupID, ejecteeID); + } + + public void EjectGroupMember(IClientAPI remoteClient, UUID agentID, UUID groupID, UUID ejecteeID) + { + if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + // Todo: Security check? + m_groupData.RemoveAgentFromGroup(agentID.ToString(), ejecteeID.ToString(), groupID); + + string agentName; + RegionInfo regionInfo; + + // remoteClient provided or just agentID? + if (remoteClient != null) + { + agentName = remoteClient.Name; + regionInfo = remoteClient.Scene.RegionInfo; + remoteClient.SendEjectGroupMemberReply(agentID, groupID, true); + } + else + { + IClientAPI client = GetActiveClient(agentID); + + if (client != null) + { + agentName = client.Name; + regionInfo = client.Scene.RegionInfo; + client.SendEjectGroupMemberReply(agentID, groupID, true); + } + else + { + regionInfo = m_sceneList[0].RegionInfo; + UserAccount acc = m_sceneList[0].UserAccountService.GetUserAccount(regionInfo.ScopeID, agentID); + + if (acc != null) + { + agentName = acc.FirstName + " " + acc.LastName; + } + else + { + agentName = "Unknown member"; + } + } + } + + GroupRecord groupInfo = m_groupData.GetGroupRecord(agentID.ToString(), groupID, null); + + UserAccount account = m_sceneList[0].UserAccountService.GetUserAccount(regionInfo.ScopeID, ejecteeID); + if ((groupInfo == null) || (account == null)) + { + return; + } + + // Send Message to Ejectee + GridInstantMessage msg = new GridInstantMessage(); + + msg.imSessionID = UUID.Zero.Guid; + msg.fromAgentID = agentID.Guid; + // msg.fromAgentID = info.GroupID; + msg.toAgentID = ejecteeID.Guid; + //msg.timestamp = (uint)Util.UnixTimeSinceEpoch(); + msg.timestamp = 0; + msg.fromAgentName = agentName; + msg.message = string.Format("You have been ejected from '{1}' by {0}.", agentName, groupInfo.GroupName); + msg.dialog = (byte)OpenMetaverse.InstantMessageDialog.MessageFromAgent; + msg.fromGroup = false; + msg.offline = (byte)0; + msg.ParentEstateID = 0; + msg.Position = Vector3.Zero; + msg.RegionID = regionInfo.RegionID.Guid; + msg.binaryBucket = new byte[0]; + OutgoingInstantMessage(msg, ejecteeID); + + // Message to ejector + // Interop, received special 210 code for ejecting a group member + // this only works within the comms servers domain, and won't work hypergrid + // TODO:FIXME: Use a presense server of some kind to find out where the + // client actually is, and try contacting that region directly to notify them, + // or provide the notification via xmlrpc update queue + + msg = new GridInstantMessage(); + msg.imSessionID = UUID.Zero.Guid; + msg.fromAgentID = agentID.Guid; + msg.toAgentID = agentID.Guid; + msg.timestamp = 0; + msg.fromAgentName = agentName; + if (account != null) + { + msg.message = string.Format("{2} has been ejected from '{1}' by {0}.", agentName, groupInfo.GroupName, account.FirstName + " " + account.LastName); + } + else + { + msg.message = string.Format("{2} has been ejected from '{1}' by {0}.", agentName, groupInfo.GroupName, "Unknown member"); + } + msg.dialog = (byte)210; //interop + msg.fromGroup = false; + msg.offline = (byte)0; + msg.ParentEstateID = 0; + msg.Position = Vector3.Zero; + msg.RegionID = regionInfo.RegionID.Guid; + msg.binaryBucket = new byte[0]; + OutgoingInstantMessage(msg, agentID); + + + // SL sends out messages to everyone in the group + // Who all should receive updates and what should they be updated with? + UpdateAllClientsWithGroupInfo(ejecteeID); + } + + public void InviteGroupRequest(IClientAPI remoteClient, UUID groupID, UUID invitedAgentID, UUID roleID) + { + InviteGroup(remoteClient, GetRequestingAgentID(remoteClient), groupID, invitedAgentID, roleID); + } + + public void InviteGroup(IClientAPI remoteClient, UUID agentID, UUID groupID, UUID invitedAgentID, UUID roleID) + { + if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + string agentName = m_UserManagement.GetUserName(agentID); + RegionInfo regionInfo = m_sceneList[0].RegionInfo; + + GroupRecord group = m_groupData.GetGroupRecord(agentID.ToString(), groupID, null); + if (group == null) + { + m_log.DebugFormat("[Groups]: No such group {0}", groupID); + return; + } + + // Todo: Security check, probably also want to send some kind of notification + UUID InviteID = UUID.Random(); + + if (m_groupData.AddAgentToGroupInvite(agentID.ToString(), InviteID, groupID, roleID, invitedAgentID.ToString())) + { + if (m_msgTransferModule != null) + { + Guid inviteUUID = InviteID.Guid; + + GridInstantMessage msg = new GridInstantMessage(); + + msg.imSessionID = inviteUUID; + + // msg.fromAgentID = agentID.Guid; + msg.fromAgentID = groupID.Guid; + msg.toAgentID = invitedAgentID.Guid; + //msg.timestamp = (uint)Util.UnixTimeSinceEpoch(); + msg.timestamp = 0; + msg.fromAgentName = agentName; + msg.message = string.Format("{0} has invited you to join a group called {1}. There is no cost to join this group.", agentName, group.GroupName); + msg.dialog = (byte)OpenMetaverse.InstantMessageDialog.GroupInvitation; + msg.fromGroup = true; + msg.offline = (byte)0; + msg.ParentEstateID = 0; + msg.Position = Vector3.Zero; + msg.RegionID = regionInfo.RegionID.Guid; + msg.binaryBucket = new byte[20]; + + OutgoingInstantMessage(msg, invitedAgentID); + } + } + } + + #endregion + + #region Client/Update Tools + + /// + /// Try to find an active IClientAPI reference for agentID giving preference to root connections + /// + private IClientAPI GetActiveClient(UUID agentID) + { + IClientAPI child = null; + + // Try root avatar first + foreach (Scene scene in m_sceneList) + { + ScenePresence sp = scene.GetScenePresence(agentID); + if (sp != null) + { + if (!sp.IsChildAgent) + { + return sp.ControllingClient; + } + else + { + child = sp.ControllingClient; + } + } + } + + // If we didn't find a root, then just return whichever child we found, or null if none + return child; + } + + /// + /// Send 'remoteClient' the group membership 'data' for agent 'dataForAgentID'. + /// + private void SendGroupMembershipInfoViaCaps(IClientAPI remoteClient, UUID dataForAgentID, GroupMembershipData[] data) + { + if (m_debugEnabled) m_log.InfoFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + OSDArray AgentData = new OSDArray(1); + OSDMap AgentDataMap = new OSDMap(1); + AgentDataMap.Add("AgentID", OSD.FromUUID(dataForAgentID)); + AgentData.Add(AgentDataMap); + + + OSDArray GroupData = new OSDArray(data.Length); + OSDArray NewGroupData = new OSDArray(data.Length); + + foreach (GroupMembershipData membership in data) + { + if (GetRequestingAgentID(remoteClient) != dataForAgentID) + { + if (!membership.ListInProfile) + { + // If we're sending group info to remoteclient about another agent, + // filter out groups the other agent doesn't want to share. + continue; + } + } + + OSDMap GroupDataMap = new OSDMap(6); + OSDMap NewGroupDataMap = new OSDMap(1); + + GroupDataMap.Add("GroupID", OSD.FromUUID(membership.GroupID)); + GroupDataMap.Add("GroupPowers", OSD.FromULong(membership.GroupPowers)); + GroupDataMap.Add("AcceptNotices", OSD.FromBoolean(membership.AcceptNotices)); + GroupDataMap.Add("GroupInsigniaID", OSD.FromUUID(membership.GroupPicture)); + GroupDataMap.Add("Contribution", OSD.FromInteger(membership.Contribution)); + GroupDataMap.Add("GroupName", OSD.FromString(membership.GroupName)); + NewGroupDataMap.Add("ListInProfile", OSD.FromBoolean(membership.ListInProfile)); + + GroupData.Add(GroupDataMap); + NewGroupData.Add(NewGroupDataMap); + } + + OSDMap llDataStruct = new OSDMap(3); + llDataStruct.Add("AgentData", AgentData); + llDataStruct.Add("GroupData", GroupData); + llDataStruct.Add("NewGroupData", NewGroupData); + + if (m_debugEnabled) + { + m_log.InfoFormat("[Groups]: {0}", OSDParser.SerializeJsonString(llDataStruct)); + } + + IEventQueue queue = remoteClient.Scene.RequestModuleInterface(); + + if (queue != null) + { + queue.Enqueue(queue.BuildEvent("AgentGroupDataUpdate", llDataStruct), GetRequestingAgentID(remoteClient)); + } + + } + + private void SendScenePresenceUpdate(UUID AgentID, string Title) + { + if (m_debugEnabled) m_log.DebugFormat("[Groups]: Updating scene title for {0} with title: {1}", AgentID, Title); + + ScenePresence presence = null; + + foreach (Scene scene in m_sceneList) + { + presence = scene.GetScenePresence(AgentID); + if (presence != null) + { + if (presence.Grouptitle != Title) + { + presence.Grouptitle = Title; + + if (! presence.IsChildAgent) + presence.SendAvatarDataToAllAgents(); + } + } + } + } + + /// + /// Send updates to all clients who might be interested in groups data for dataForClientID + /// + private void UpdateAllClientsWithGroupInfo(UUID dataForClientID) + { + if (m_debugEnabled) m_log.InfoFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + // TODO: Probably isn't nessesary to update every client in every scene. + // Need to examine client updates and do only what's nessesary. + lock (m_sceneList) + { + foreach (Scene scene in m_sceneList) + { + scene.ForEachClient(delegate(IClientAPI client) { SendAgentGroupDataUpdate(client, dataForClientID); }); + } + } + } + + /// + /// Update remoteClient with group information about dataForAgentID + /// + private void SendAgentGroupDataUpdate(IClientAPI remoteClient, UUID dataForAgentID) + { + if (m_debugEnabled) m_log.InfoFormat("[Groups]: {0} called for {1}", System.Reflection.MethodBase.GetCurrentMethod().Name, remoteClient.Name); + + // TODO: All the client update functions need to be reexamined because most do too much and send too much stuff + + OnAgentDataUpdateRequest(remoteClient, dataForAgentID, UUID.Zero); + + // Need to send a group membership update to the client + // UDP version doesn't seem to behave nicely. But we're going to send it out here + // with an empty group membership to hopefully remove groups being displayed due + // to the core Groups Stub + //remoteClient.SendGroupMembership(new GroupMembershipData[0]); + + GroupMembershipData[] membershipArray = GetProfileListedGroupMemberships(remoteClient, dataForAgentID); + SendGroupMembershipInfoViaCaps(remoteClient, dataForAgentID, membershipArray); + //remoteClient.SendAvatarGroupsReply(dataForAgentID, membershipArray); + if (remoteClient.AgentId == dataForAgentID) + remoteClient.RefreshGroupMembership(); + } + + /// + /// Get a list of groups memberships for the agent that are marked "ListInProfile" + /// (unless that agent has a godLike aspect, in which case get all groups) + /// + /// + /// + private GroupMembershipData[] GetProfileListedGroupMemberships(IClientAPI requestingClient, UUID dataForAgentID) + { + List membershipData = m_groupData.GetAgentGroupMemberships(requestingClient.AgentId.ToString(), dataForAgentID.ToString()); + GroupMembershipData[] membershipArray; + + // cScene and property accessor 'isGod' are in support of the opertions to bypass 'hidden' group attributes for + // those with a GodLike aspect. + Scene cScene = (Scene)requestingClient.Scene; + bool isGod = cScene.Permissions.IsGod(requestingClient.AgentId); + + if (isGod) + { + membershipArray = membershipData.ToArray(); + } + else + { + if (requestingClient.AgentId != dataForAgentID) + { + Predicate showInProfile = delegate(GroupMembershipData membership) + { + return membership.ListInProfile; + }; + + membershipArray = membershipData.FindAll(showInProfile).ToArray(); + } + else + { + membershipArray = membershipData.ToArray(); + } + } + + if (m_debugEnabled) + { + m_log.InfoFormat("[Groups]: Get group membership information for {0} requested by {1}", dataForAgentID, requestingClient.AgentId); + foreach (GroupMembershipData membership in membershipArray) + { + m_log.InfoFormat("[Groups]: {0} :: {1} - {2} - {3}", dataForAgentID, membership.GroupName, membership.GroupTitle, membership.GroupPowers); + } + } + + return membershipArray; + } + + + private void SendAgentDataUpdate(IClientAPI remoteClient, UUID dataForAgentID, UUID activeGroupID, string activeGroupName, ulong activeGroupPowers, string activeGroupTitle) + { + if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + // TODO: All the client update functions need to be reexamined because most do too much and send too much stuff + UserAccount account = m_sceneList[0].UserAccountService.GetUserAccount(remoteClient.Scene.RegionInfo.ScopeID, dataForAgentID); + string firstname, lastname; + if (account != null) + { + firstname = account.FirstName; + lastname = account.LastName; + } + else + { + firstname = "Unknown"; + lastname = "Unknown"; + } + + remoteClient.SendAgentDataUpdate(dataForAgentID, activeGroupID, firstname, + lastname, activeGroupPowers, activeGroupName, + activeGroupTitle); + } + + #endregion + + #region IM Backed Processes + + private void OutgoingInstantMessage(GridInstantMessage msg, UUID msgTo) + { + if (m_debugEnabled) m_log.InfoFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + IClientAPI localClient = GetActiveClient(msgTo); + if (localClient != null) + { + if (m_debugEnabled) m_log.InfoFormat("[Groups]: MsgTo ({0}) is local, delivering directly", localClient.Name); + localClient.SendInstantMessage(msg); + } + else if (m_msgTransferModule != null) + { + if (m_debugEnabled) m_log.InfoFormat("[Groups]: MsgTo ({0}) is not local, delivering via TransferModule", msgTo); + m_msgTransferModule.SendInstantMessage(msg, delegate(bool success) { if (m_debugEnabled) m_log.DebugFormat("[Groups]: Message Sent: {0}", success?"Succeeded":"Failed"); }); + } + } + + public void NotifyChange(UUID groupID) + { + // Notify all group members of a chnge in group roles and/or + // permissions + // + } + + #endregion + + private string GetRequestingAgentIDStr(IClientAPI client) + { + return GetRequestingAgentID(client).ToString(); + } + + private UUID GetRequestingAgentID(IClientAPI client) + { + UUID requestingAgentID = UUID.Zero; + if (client != null) + { + requestingAgentID = client.AgentId; + } + return requestingAgentID; + } + + } + +} diff --git a/OpenSim/Addons/Groups/Hypergrid/GroupsServiceHGConnector.cs b/OpenSim/Addons/Groups/Hypergrid/GroupsServiceHGConnector.cs new file mode 100644 index 0000000000..59fec6fa38 --- /dev/null +++ b/OpenSim/Addons/Groups/Hypergrid/GroupsServiceHGConnector.cs @@ -0,0 +1,289 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Text; + +using OpenSim.Framework; +using OpenSim.Server.Base; + +using OpenMetaverse; +using log4net; + +namespace OpenSim.Groups +{ + public class GroupsServiceHGConnector + { + private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + + private string m_ServerURI; + private object m_Lock = new object(); + + public GroupsServiceHGConnector(string url) + { + m_ServerURI = url; + if (!m_ServerURI.EndsWith("/")) + m_ServerURI += "/"; + + m_log.DebugFormat("[Groups.HGConnector]: Groups server at {0}", m_ServerURI); + } + + public bool CreateProxy(string RequestingAgentID, string AgentID, string accessToken, UUID groupID, string url, string name, out string reason) + { + reason = string.Empty; + + Dictionary sendData = new Dictionary(); + sendData["RequestingAgentID"] = RequestingAgentID; + sendData["AgentID"] = AgentID.ToString(); + sendData["AccessToken"] = accessToken; + sendData["GroupID"] = groupID.ToString(); + sendData["Location"] = url; + sendData["Name"] = name; + Dictionary ret = MakeRequest("POSTGROUP", sendData); + + if (ret == null) + return false; + + if (!ret.ContainsKey("RESULT")) + return false; + + if (ret["RESULT"].ToString().ToLower() != "true") + { + reason = ret["REASON"].ToString(); + return false; + } + + return true; + + } + + public void RemoveAgentFromGroup(string AgentID, UUID GroupID, string token) + { + Dictionary sendData = new Dictionary(); + sendData["AgentID"] = AgentID; + sendData["GroupID"] = GroupID.ToString(); + sendData["AccessToken"] = GroupsDataUtils.Sanitize(token); + MakeRequest("REMOVEAGENTFROMGROUP", sendData); + } + + public ExtendedGroupRecord GetGroupRecord(string RequestingAgentID, UUID GroupID, string GroupName, string token) + { + if (GroupID == UUID.Zero && (GroupName == null || (GroupName != null && GroupName == string.Empty))) + return null; + + Dictionary sendData = new Dictionary(); + if (GroupID != UUID.Zero) + sendData["GroupID"] = GroupID.ToString(); + if (GroupName != null && GroupName != string.Empty) + sendData["Name"] = GroupsDataUtils.Sanitize(GroupName); + + sendData["RequestingAgentID"] = RequestingAgentID; + sendData["AccessToken"] = GroupsDataUtils.Sanitize(token); + + Dictionary ret = MakeRequest("GETGROUP", sendData); + + if (ret == null) + return null; + + if (!ret.ContainsKey("RESULT")) + return null; + + if (ret["RESULT"].ToString() == "NULL") + return null; + + return GroupsDataUtils.GroupRecord((Dictionary)ret["RESULT"]); + } + + public List GetGroupMembers(string RequestingAgentID, UUID GroupID, string token) + { + List members = new List(); + + Dictionary sendData = new Dictionary(); + sendData["GroupID"] = GroupID.ToString(); + sendData["RequestingAgentID"] = RequestingAgentID; + sendData["AccessToken"] = GroupsDataUtils.Sanitize(token); + Dictionary ret = MakeRequest("GETGROUPMEMBERS", sendData); + + if (ret == null) + return members; + + if (!ret.ContainsKey("RESULT")) + return members; + + if (ret["RESULT"].ToString() == "NULL") + return members; + foreach (object v in ((Dictionary)ret["RESULT"]).Values) + { + ExtendedGroupMembersData m = GroupsDataUtils.GroupMembersData((Dictionary)v); + members.Add(m); + } + + return members; + } + + public List GetGroupRoles(string RequestingAgentID, UUID GroupID, string token) + { + List roles = new List(); + + Dictionary sendData = new Dictionary(); + sendData["GroupID"] = GroupID.ToString(); + sendData["RequestingAgentID"] = RequestingAgentID; + sendData["AccessToken"] = GroupsDataUtils.Sanitize(token); + Dictionary ret = MakeRequest("GETGROUPROLES", sendData); + + if (ret == null) + return roles; + + if (!ret.ContainsKey("RESULT")) + return roles; + + if (ret["RESULT"].ToString() == "NULL") + return roles; + foreach (object v in ((Dictionary)ret["RESULT"]).Values) + { + GroupRolesData m = GroupsDataUtils.GroupRolesData((Dictionary)v); + roles.Add(m); + } + + return roles; + } + + public List GetGroupRoleMembers(string RequestingAgentID, UUID GroupID, string token) + { + List rmembers = new List(); + + Dictionary sendData = new Dictionary(); + sendData["GroupID"] = GroupID.ToString(); + sendData["RequestingAgentID"] = RequestingAgentID; + sendData["AccessToken"] = GroupsDataUtils.Sanitize(token); + Dictionary ret = MakeRequest("GETROLEMEMBERS", sendData); + + if (ret == null) + return rmembers; + + if (!ret.ContainsKey("RESULT")) + return rmembers; + + if (ret["RESULT"].ToString() == "NULL") + return rmembers; + + foreach (object v in ((Dictionary)ret["RESULT"]).Values) + { + ExtendedGroupRoleMembersData m = GroupsDataUtils.GroupRoleMembersData((Dictionary)v); + rmembers.Add(m); + } + + return rmembers; + } + + public bool AddNotice(string RequestingAgentID, UUID groupID, UUID noticeID, string fromName, string subject, string message, + bool hasAttachment, byte attType, string attName, UUID attItemID, string attOwnerID) + { + Dictionary sendData = new Dictionary(); + sendData["GroupID"] = groupID.ToString(); + sendData["NoticeID"] = noticeID.ToString(); + sendData["FromName"] = GroupsDataUtils.Sanitize(fromName); + sendData["Subject"] = GroupsDataUtils.Sanitize(subject); + sendData["Message"] = GroupsDataUtils.Sanitize(message); + sendData["HasAttachment"] = hasAttachment.ToString(); + if (hasAttachment) + { + sendData["AttachmentType"] = attType.ToString(); + sendData["AttachmentName"] = attName.ToString(); + sendData["AttachmentItemID"] = attItemID.ToString(); + sendData["AttachmentOwnerID"] = attOwnerID; + } + sendData["RequestingAgentID"] = RequestingAgentID; + + Dictionary ret = MakeRequest("ADDNOTICE", sendData); + + if (ret == null) + return false; + + if (!ret.ContainsKey("RESULT")) + return false; + + if (ret["RESULT"].ToString().ToLower() != "true") + return false; + + return true; + } + + public bool VerifyNotice(UUID noticeID, UUID groupID) + { + Dictionary sendData = new Dictionary(); + sendData["NoticeID"] = noticeID.ToString(); + sendData["GroupID"] = groupID.ToString(); + Dictionary ret = MakeRequest("VERIFYNOTICE", sendData); + + if (ret == null) + return false; + + if (!ret.ContainsKey("RESULT")) + return false; + + if (ret["RESULT"].ToString().ToLower() != "true") + return false; + + return true; + } + + // + // + // + // + // + + #region Make Request + + private Dictionary MakeRequest(string method, Dictionary sendData) + { + sendData["METHOD"] = method; + + string reply = string.Empty; + lock (m_Lock) + reply = SynchronousRestFormsRequester.MakeRequest("POST", + m_ServerURI + "hg-groups", + ServerUtils.BuildQueryString(sendData)); + + //m_log.DebugFormat("[XXX]: reply was {0}", reply); + + if (reply == string.Empty || reply == null) + return null; + + Dictionary replyData = ServerUtils.ParseXmlResponse( + reply); + + return replyData; + } + #endregion + + } +} diff --git a/OpenSim/Addons/Groups/Hypergrid/GroupsServiceHGConnectorModule.cs b/OpenSim/Addons/Groups/Hypergrid/GroupsServiceHGConnectorModule.cs new file mode 100644 index 0000000000..f670272662 --- /dev/null +++ b/OpenSim/Addons/Groups/Hypergrid/GroupsServiceHGConnectorModule.cs @@ -0,0 +1,717 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Text; + +using OpenSim.Framework; +using OpenSim.Framework.Servers; +using OpenSim.Region.Framework.Scenes; +using OpenSim.Region.Framework.Interfaces; +using OpenSim.Services.Interfaces; + +using OpenMetaverse; +using Mono.Addins; +using log4net; +using Nini.Config; + +namespace OpenSim.Groups +{ + [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "GroupsServiceHGConnectorModule")] + public class GroupsServiceHGConnectorModule : ISharedRegionModule, IGroupsServicesConnector + { + private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + + private bool m_Enabled = false; + private IGroupsServicesConnector m_LocalGroupsConnector; + private string m_LocalGroupsServiceLocation; + private IUserManagement m_UserManagement; + private IOfflineIMService m_OfflineIM; + private IMessageTransferModule m_Messaging; + private List m_Scenes; + private ForeignImporter m_ForeignImporter; + private string m_ServiceLocation; + private IConfigSource m_Config; + + private Dictionary m_NetworkConnectors = new Dictionary(); + private RemoteConnectorCacheWrapper m_CacheWrapper; // for caching info of external group services + + #region ISharedRegionModule + + public void Initialise(IConfigSource config) + { + IConfig groupsConfig = config.Configs["Groups"]; + if (groupsConfig == null) + return; + + if ((groupsConfig.GetBoolean("Enabled", false) == false) + || (groupsConfig.GetString("ServicesConnectorModule", string.Empty) != Name)) + { + return; + } + + m_Config = config; + m_ServiceLocation = groupsConfig.GetString("LocalService", "local"); // local or remote + m_LocalGroupsServiceLocation = groupsConfig.GetString("GroupsExternalURI", "http://127.0.0.1"); + m_Scenes = new List(); + + m_Enabled = true; + + m_log.DebugFormat("[Groups]: Initializing {0} with LocalService {1}", this.Name, m_ServiceLocation); + } + + public string Name + { + get { return "Groups HG Service Connector"; } + } + + public Type ReplaceableInterface + { + get { return null; } + } + + public void AddRegion(Scene scene) + { + if (!m_Enabled) + return; + + m_log.DebugFormat("[Groups]: Registering {0} with {1}", this.Name, scene.RegionInfo.RegionName); + scene.RegisterModuleInterface(this); + m_Scenes.Add(scene); + + scene.EventManager.OnNewClient += OnNewClient; + } + + public void RemoveRegion(Scene scene) + { + if (!m_Enabled) + return; + + scene.UnregisterModuleInterface(this); + m_Scenes.Remove(scene); + } + + public void RegionLoaded(Scene scene) + { + if (!m_Enabled) + return; + + if (m_UserManagement == null) + { + m_UserManagement = scene.RequestModuleInterface(); + m_OfflineIM = scene.RequestModuleInterface(); + m_Messaging = scene.RequestModuleInterface(); + m_ForeignImporter = new ForeignImporter(m_UserManagement); + + if (m_ServiceLocation.Equals("local")) + { + m_LocalGroupsConnector = new GroupsServiceLocalConnectorModule(m_Config, m_UserManagement); + // Also, if local, create the endpoint for the HGGroupsService + new HGGroupsServiceRobustConnector(m_Config, MainServer.Instance, string.Empty, + scene.RequestModuleInterface(), scene.RequestModuleInterface()); + + } + else + m_LocalGroupsConnector = new GroupsServiceRemoteConnectorModule(m_Config, m_UserManagement); + + m_CacheWrapper = new RemoteConnectorCacheWrapper(m_UserManagement); + } + + } + + public void PostInitialise() + { + } + + public void Close() + { + } + + #endregion + + private void OnNewClient(IClientAPI client) + { + client.OnCompleteMovementToRegion += OnCompleteMovementToRegion; + } + + void OnCompleteMovementToRegion(IClientAPI client, bool arg2) + { + object sp = null; + if (client.Scene.TryGetScenePresence(client.AgentId, out sp)) + { + if (sp is ScenePresence && ((ScenePresence)sp).PresenceType != PresenceType.Npc) + { + AgentCircuitData aCircuit = ((ScenePresence)sp).Scene.AuthenticateHandler.GetAgentCircuitData(client.AgentId); + if (aCircuit != null && (aCircuit.teleportFlags & (uint)Constants.TeleportFlags.ViaHGLogin) != 0 && + m_OfflineIM != null && m_Messaging != null) + { + List ims = m_OfflineIM.GetMessages(aCircuit.AgentID); + if (ims != null && ims.Count > 0) + foreach (GridInstantMessage im in ims) + m_Messaging.SendInstantMessage(im, delegate(bool success) { }); + } + } + } + } + + #region IGroupsServicesConnector + + public UUID CreateGroup(UUID RequestingAgentID, string name, string charter, bool showInList, UUID insigniaID, int membershipFee, bool openEnrollment, + bool allowPublish, bool maturePublish, UUID founderID, out string reason) + { + m_log.DebugFormat("[Groups]: Creating group {0}", name); + reason = string.Empty; + if (m_UserManagement.IsLocalGridUser(RequestingAgentID)) + return m_LocalGroupsConnector.CreateGroup(RequestingAgentID, name, charter, showInList, insigniaID, + membershipFee, openEnrollment, allowPublish, maturePublish, founderID, out reason); + else + { + reason = "Only local grid users are allowed to create a new group"; + return UUID.Zero; + } + } + + public bool UpdateGroup(string RequestingAgentID, UUID groupID, string charter, bool showInList, UUID insigniaID, int membershipFee, + bool openEnrollment, bool allowPublish, bool maturePublish, out string reason) + { + reason = string.Empty; + string url = string.Empty; + string name = string.Empty; + if (IsLocal(groupID, out url, out name)) + return m_LocalGroupsConnector.UpdateGroup(AgentUUI(RequestingAgentID), groupID, charter, showInList, insigniaID, membershipFee, + openEnrollment, allowPublish, maturePublish, out reason); + else + { + reason = "Changes to remote group not allowed. Please go to the group's original world."; + return false; + } + } + + public ExtendedGroupRecord GetGroupRecord(string RequestingAgentID, UUID GroupID, string GroupName) + { + string url = string.Empty; + string name = string.Empty; + if (IsLocal(GroupID, out url, out name)) + return m_LocalGroupsConnector.GetGroupRecord(AgentUUI(RequestingAgentID), GroupID, GroupName); + else if (url != string.Empty) + { + ExtendedGroupMembershipData membership = m_LocalGroupsConnector.GetAgentGroupMembership(RequestingAgentID, RequestingAgentID, GroupID); + string accessToken = string.Empty; + if (membership != null) + accessToken = membership.AccessToken; + else + return null; + + GroupsServiceHGConnector c = GetConnector(url); + if (c != null) + { + ExtendedGroupRecord grec = m_CacheWrapper.GetGroupRecord(RequestingAgentID, GroupID, GroupName, delegate + { + return c.GetGroupRecord(AgentUUIForOutside(RequestingAgentID), GroupID, GroupName, accessToken); + }); + + if (grec != null) + ImportForeigner(grec.FounderUUI); + return grec; + } + } + + return null; + } + + public List FindGroups(string RequestingAgentID, string search) + { + return m_LocalGroupsConnector.FindGroups(AgentUUI(RequestingAgentID), search); + } + + public List GetGroupMembers(string RequestingAgentID, UUID GroupID) + { + string url = string.Empty, gname = string.Empty; + if (IsLocal(GroupID, out url, out gname)) + return m_LocalGroupsConnector.GetGroupMembers(AgentUUI(RequestingAgentID), GroupID); + else if (!string.IsNullOrEmpty(url)) + { + ExtendedGroupMembershipData membership = m_LocalGroupsConnector.GetAgentGroupMembership(RequestingAgentID, RequestingAgentID, GroupID); + string accessToken = string.Empty; + if (membership != null) + accessToken = membership.AccessToken; + else + return null; + + GroupsServiceHGConnector c = GetConnector(url); + if (c != null) + { + return m_CacheWrapper.GetGroupMembers(RequestingAgentID, GroupID, delegate + { + return c.GetGroupMembers(AgentUUIForOutside(RequestingAgentID), GroupID, accessToken); + }); + + } + } + return new List(); + } + + public bool AddGroupRole(string RequestingAgentID, UUID groupID, UUID roleID, string name, string description, string title, ulong powers, out string reason) + { + reason = string.Empty; + string url = string.Empty, gname = string.Empty; + + if (IsLocal(groupID, out url, out gname)) + return m_LocalGroupsConnector.AddGroupRole(AgentUUI(RequestingAgentID), groupID, roleID, name, description, title, powers, out reason); + else + { + reason = "Operation not allowed outside this group's origin world."; + return false; + } + } + + public bool UpdateGroupRole(string RequestingAgentID, UUID groupID, UUID roleID, string name, string description, string title, ulong powers) + { + string url = string.Empty, gname = string.Empty; + + if (IsLocal(groupID, out url, out gname)) + return m_LocalGroupsConnector.UpdateGroupRole(AgentUUI(RequestingAgentID), groupID, roleID, name, description, title, powers); + else + { + return false; + } + + } + + public void RemoveGroupRole(string RequestingAgentID, UUID groupID, UUID roleID) + { + string url = string.Empty, gname = string.Empty; + + if (IsLocal(groupID, out url, out gname)) + m_LocalGroupsConnector.RemoveGroupRole(AgentUUI(RequestingAgentID), groupID, roleID); + else + { + return; + } + } + + public List GetGroupRoles(string RequestingAgentID, UUID groupID) + { + string url = string.Empty, gname = string.Empty; + + if (IsLocal(groupID, out url, out gname)) + return m_LocalGroupsConnector.GetGroupRoles(AgentUUI(RequestingAgentID), groupID); + else if (!string.IsNullOrEmpty(url)) + { + ExtendedGroupMembershipData membership = m_LocalGroupsConnector.GetAgentGroupMembership(RequestingAgentID, RequestingAgentID, groupID); + string accessToken = string.Empty; + if (membership != null) + accessToken = membership.AccessToken; + else + return null; + + GroupsServiceHGConnector c = GetConnector(url); + if (c != null) + { + return m_CacheWrapper.GetGroupRoles(RequestingAgentID, groupID, delegate + { + return c.GetGroupRoles(AgentUUIForOutside(RequestingAgentID), groupID, accessToken); + }); + + } + } + + return new List(); + } + + public List GetGroupRoleMembers(string RequestingAgentID, UUID groupID) + { + string url = string.Empty, gname = string.Empty; + + if (IsLocal(groupID, out url, out gname)) + return m_LocalGroupsConnector.GetGroupRoleMembers(AgentUUI(RequestingAgentID), groupID); + else if (!string.IsNullOrEmpty(url)) + { + ExtendedGroupMembershipData membership = m_LocalGroupsConnector.GetAgentGroupMembership(RequestingAgentID, RequestingAgentID, groupID); + string accessToken = string.Empty; + if (membership != null) + accessToken = membership.AccessToken; + else + return null; + + GroupsServiceHGConnector c = GetConnector(url); + if (c != null) + { + return m_CacheWrapper.GetGroupRoleMembers(RequestingAgentID, groupID, delegate + { + return c.GetGroupRoleMembers(AgentUUIForOutside(RequestingAgentID), groupID, accessToken); + }); + + } + } + + return new List(); + } + + public bool AddAgentToGroup(string RequestingAgentID, string AgentID, UUID GroupID, UUID RoleID, string token, out string reason) + { + string url = string.Empty; + string name = string.Empty; + reason = string.Empty; + + UUID uid = new UUID(AgentID); + if (IsLocal(GroupID, out url, out name)) + { + if (m_UserManagement.IsLocalGridUser(uid)) // local user + { + // normal case: local group, local user + return m_LocalGroupsConnector.AddAgentToGroup(AgentUUI(RequestingAgentID), AgentUUI(AgentID), GroupID, RoleID, token, out reason); + } + else // local group, foreign user + { + // the user is accepting the invitation, or joining, where the group resides + token = UUID.Random().ToString(); + bool success = m_LocalGroupsConnector.AddAgentToGroup(AgentUUI(RequestingAgentID), AgentUUI(AgentID), GroupID, RoleID, token, out reason); + + if (success) + { + url = m_UserManagement.GetUserServerURL(uid, "GroupsServerURI"); + if (url == string.Empty) + { + reason = "User doesn't have a groups server"; + return false; + } + + GroupsServiceHGConnector c = GetConnector(url); + if (c != null) + return c.CreateProxy(AgentUUI(RequestingAgentID), AgentID, token, GroupID, m_LocalGroupsServiceLocation, name, out reason); + } + } + } + else if (m_UserManagement.IsLocalGridUser(uid)) // local user + { + // foreign group, local user. She's been added already by the HG service. + // Let's just check + if (m_LocalGroupsConnector.GetAgentGroupMembership(AgentUUI(RequestingAgentID), AgentUUI(AgentID), GroupID) != null) + return true; + } + + reason = "Operation not allowed outside this group's origin world"; + return false; + } + + + public void RemoveAgentFromGroup(string RequestingAgentID, string AgentID, UUID GroupID) + { + string url = string.Empty, name = string.Empty; + if (!IsLocal(GroupID, out url, out name) && url != string.Empty) + { + ExtendedGroupMembershipData membership = m_LocalGroupsConnector.GetAgentGroupMembership(AgentUUI(RequestingAgentID), AgentUUI(AgentID), GroupID); + if (membership != null) + { + GroupsServiceHGConnector c = GetConnector(url); + if (c != null) + c.RemoveAgentFromGroup(AgentUUIForOutside(AgentID), GroupID, membership.AccessToken); + } + } + + // remove from local service + m_LocalGroupsConnector.RemoveAgentFromGroup(AgentUUI(RequestingAgentID), AgentUUI(AgentID), GroupID); + } + + public bool AddAgentToGroupInvite(string RequestingAgentID, UUID inviteID, UUID groupID, UUID roleID, string agentID) + { + string url = string.Empty, gname = string.Empty; + + if (IsLocal(groupID, out url, out gname)) + return m_LocalGroupsConnector.AddAgentToGroupInvite(AgentUUI(RequestingAgentID), inviteID, groupID, roleID, AgentUUI(agentID)); + else + return false; + } + + public GroupInviteInfo GetAgentToGroupInvite(string RequestingAgentID, UUID inviteID) + { + return m_LocalGroupsConnector.GetAgentToGroupInvite(AgentUUI(RequestingAgentID), inviteID); ; + } + + public void RemoveAgentToGroupInvite(string RequestingAgentID, UUID inviteID) + { + m_LocalGroupsConnector.RemoveAgentToGroupInvite(AgentUUI(RequestingAgentID), inviteID); + } + + public void AddAgentToGroupRole(string RequestingAgentID, string AgentID, UUID GroupID, UUID RoleID) + { + string url = string.Empty, gname = string.Empty; + + if (IsLocal(GroupID, out url, out gname)) + m_LocalGroupsConnector.AddAgentToGroupRole(AgentUUI(RequestingAgentID), AgentUUI(AgentID), GroupID, RoleID); + + } + + public void RemoveAgentFromGroupRole(string RequestingAgentID, string AgentID, UUID GroupID, UUID RoleID) + { + string url = string.Empty, gname = string.Empty; + + if (IsLocal(GroupID, out url, out gname)) + m_LocalGroupsConnector.RemoveAgentFromGroupRole(AgentUUI(RequestingAgentID), AgentUUI(AgentID), GroupID, RoleID); + } + + public List GetAgentGroupRoles(string RequestingAgentID, string AgentID, UUID GroupID) + { + string url = string.Empty, gname = string.Empty; + + if (IsLocal(GroupID, out url, out gname)) + return m_LocalGroupsConnector.GetAgentGroupRoles(AgentUUI(RequestingAgentID), AgentUUI(AgentID), GroupID); + else + return new List(); + } + + public void SetAgentActiveGroup(string RequestingAgentID, string AgentID, UUID GroupID) + { + string url = string.Empty, gname = string.Empty; + + if (IsLocal(GroupID, out url, out gname)) + m_LocalGroupsConnector.SetAgentActiveGroup(AgentUUI(RequestingAgentID), AgentUUI(AgentID), GroupID); + } + + public ExtendedGroupMembershipData GetAgentActiveMembership(string RequestingAgentID, string AgentID) + { + return m_LocalGroupsConnector.GetAgentActiveMembership(AgentUUI(RequestingAgentID), AgentUUI(AgentID)); + } + + public void SetAgentActiveGroupRole(string RequestingAgentID, string AgentID, UUID GroupID, UUID RoleID) + { + string url = string.Empty, gname = string.Empty; + + if (IsLocal(GroupID, out url, out gname)) + m_LocalGroupsConnector.SetAgentActiveGroupRole(AgentUUI(RequestingAgentID), AgentUUI(AgentID), GroupID, RoleID); + } + + public void UpdateMembership(string RequestingAgentID, string AgentID, UUID GroupID, bool AcceptNotices, bool ListInProfile) + { + m_LocalGroupsConnector.UpdateMembership(AgentUUI(RequestingAgentID), AgentUUI(AgentID), GroupID, AcceptNotices, ListInProfile); + } + + public ExtendedGroupMembershipData GetAgentGroupMembership(string RequestingAgentID, string AgentID, UUID GroupID) + { + string url = string.Empty, gname = string.Empty; + + if (IsLocal(GroupID, out url, out gname)) + return m_LocalGroupsConnector.GetAgentGroupMembership(AgentUUI(RequestingAgentID), AgentUUI(AgentID), GroupID); + else + return null; + } + + public List GetAgentGroupMemberships(string RequestingAgentID, string AgentID) + { + return m_LocalGroupsConnector.GetAgentGroupMemberships(AgentUUI(RequestingAgentID), AgentUUI(AgentID)); + } + + public bool AddGroupNotice(string RequestingAgentID, UUID groupID, UUID noticeID, string fromName, string subject, string message, + bool hasAttachment, byte attType, string attName, UUID attItemID, string attOwnerID) + { + string url = string.Empty, gname = string.Empty; + + if (IsLocal(groupID, out url, out gname)) + { + if (m_LocalGroupsConnector.AddGroupNotice(AgentUUI(RequestingAgentID), groupID, noticeID, fromName, subject, message, + hasAttachment, attType, attName, attItemID, AgentUUI(attOwnerID))) + { + // then send the notice to every grid for which there are members in this group + List members = m_LocalGroupsConnector.GetGroupMembers(AgentUUI(RequestingAgentID), groupID); + List urls = new List(); + foreach (GroupMembersData m in members) + { + UUID userID = UUID.Zero; + if (!m_UserManagement.IsLocalGridUser(m.AgentID)) + { + string gURL = m_UserManagement.GetUserServerURL(m.AgentID, "GroupsServerURI"); + if (!urls.Contains(gURL)) + urls.Add(gURL); + } + } + + // so we have the list of urls to send the notice to + // this may take a long time... + Util.FireAndForget(delegate + { + foreach (string u in urls) + { + GroupsServiceHGConnector c = GetConnector(u); + if (c != null) + { + c.AddNotice(AgentUUIForOutside(RequestingAgentID), groupID, noticeID, fromName, subject, message, + hasAttachment, attType, attName, attItemID, AgentUUIForOutside(attOwnerID)); + } + } + }); + + return true; + } + + return false; + } + else + return false; + } + + public GroupNoticeInfo GetGroupNotice(string RequestingAgentID, UUID noticeID) + { + GroupNoticeInfo notice = m_LocalGroupsConnector.GetGroupNotice(AgentUUI(RequestingAgentID), noticeID); + + if (notice != null && notice.noticeData.HasAttachment && notice.noticeData.AttachmentOwnerID != null) + ImportForeigner(notice.noticeData.AttachmentOwnerID); + + return notice; + } + + public List GetGroupNotices(string RequestingAgentID, UUID GroupID) + { + return m_LocalGroupsConnector.GetGroupNotices(AgentUUI(RequestingAgentID), GroupID); + } + + public void ResetAgentGroupChatSessions(string agentID) + { + } + + public bool hasAgentBeenInvitedToGroupChatSession(string agentID, UUID groupID) + { + return false; + } + + public bool hasAgentDroppedGroupChatSession(string agentID, UUID groupID) + { + return false; + } + + public void AgentDroppedFromGroupChatSession(string agentID, UUID groupID) + { + } + + public void AgentInvitedToGroupChatSession(string agentID, UUID groupID) + { + } + + #endregion + + #region hypergrid groups + + private string AgentUUI(string AgentIDStr) + { + UUID AgentID = UUID.Zero; + try + { + AgentID = new UUID(AgentIDStr); + } + catch (FormatException) + { + return AgentID.ToString(); + } + + if (m_UserManagement.IsLocalGridUser(AgentID)) + return AgentID.ToString(); + + AgentCircuitData agent = null; + foreach (Scene scene in m_Scenes) + { + agent = scene.AuthenticateHandler.GetAgentCircuitData(AgentID); + if (agent != null) + break; + } + if (agent == null) // oops + return AgentID.ToString(); + + return Util.ProduceUserUniversalIdentifier(agent); + } + + private string AgentUUIForOutside(string AgentIDStr) + { + UUID AgentID = UUID.Zero; + try + { + AgentID = new UUID(AgentIDStr); + } + catch (FormatException) + { + return AgentID.ToString(); + } + + AgentCircuitData agent = null; + foreach (Scene scene in m_Scenes) + { + agent = scene.AuthenticateHandler.GetAgentCircuitData(AgentID); + if (agent != null) + break; + } + if (agent == null) // oops + return AgentID.ToString(); + + return Util.ProduceUserUniversalIdentifier(agent); + } + + private UUID ImportForeigner(string uID) + { + UUID userID = UUID.Zero; + string url = string.Empty, first = string.Empty, last = string.Empty, tmp = string.Empty; + if (Util.ParseUniversalUserIdentifier(uID, out userID, out url, out first, out last, out tmp)) + m_UserManagement.AddUser(userID, first, last, url); + + return userID; + } + + private bool IsLocal(UUID groupID, out string serviceLocation, out string name) + { + serviceLocation = string.Empty; + name = string.Empty; + ExtendedGroupRecord group = m_LocalGroupsConnector.GetGroupRecord(UUID.Zero.ToString(), groupID, string.Empty); + if (group == null) + { + //m_log.DebugFormat("[XXX]: IsLocal? group {0} not found -- no.", groupID); + return false; + } + + serviceLocation = group.ServiceLocation; + name = group.GroupName; + bool isLocal = (group.ServiceLocation == string.Empty); + //m_log.DebugFormat("[XXX]: IsLocal? {0}", isLocal); + return isLocal; + } + + private GroupsServiceHGConnector GetConnector(string url) + { + lock (m_NetworkConnectors) + { + if (m_NetworkConnectors.ContainsKey(url)) + return m_NetworkConnectors[url]; + + GroupsServiceHGConnector c = new GroupsServiceHGConnector(url); + m_NetworkConnectors[url] = c; + } + + return m_NetworkConnectors[url]; + } + #endregion + } +} diff --git a/OpenSim/Addons/Groups/Hypergrid/HGGroupsServiceRobustConnector.cs b/OpenSim/Addons/Groups/Hypergrid/HGGroupsServiceRobustConnector.cs new file mode 100644 index 0000000000..92dd85cd1d --- /dev/null +++ b/OpenSim/Addons/Groups/Hypergrid/HGGroupsServiceRobustConnector.cs @@ -0,0 +1,443 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Reflection; +using System.Text; +using System.Xml; +using System.Collections.Generic; +using System.IO; +using Nini.Config; +using OpenSim.Framework; +using OpenSim.Server.Base; +using OpenSim.Services.Interfaces; +using OpenSim.Framework.Servers.HttpServer; +using OpenSim.Server.Handlers.Base; +using log4net; +using OpenMetaverse; + +namespace OpenSim.Groups +{ + public class HGGroupsServiceRobustConnector : ServiceConnector + { + private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + + private HGGroupsService m_GroupsService; + private string m_HomeURI = string.Empty; + private string m_ConfigName = "Groups"; + + // Called by Robust shell + public HGGroupsServiceRobustConnector(IConfigSource config, IHttpServer server, string configName) : + this(config, server, configName, null, null) + { + } + + // Called by the sim-bound module + public HGGroupsServiceRobustConnector(IConfigSource config, IHttpServer server, string configName, IOfflineIMService im, IUserAccountService users) : + base(config, server, configName) + { + if (configName != String.Empty) + m_ConfigName = configName; + + m_log.DebugFormat("[Groups.RobustHGConnector]: Starting with config name {0}", m_ConfigName); + + IConfig cnf = config.Configs[m_ConfigName]; + if (cnf == null) + throw new Exception(String.Format("[Groups.RobustHGConnector]: {0} section does not exist", m_ConfigName)); + + string homeURI = cnf.GetString("HomeURI", string.Empty); + if (homeURI == string.Empty) + throw new Exception(String.Format("[Groups.RobustHGConnector]: please provide the HomeURI in section {0}", m_ConfigName)); + + if (im == null) + { + string imDll = cnf.GetString("OfflineIMService", string.Empty); + if (imDll == string.Empty) + throw new Exception(String.Format("[Groups.RobustHGConnector]: please provide OfflineIMService in section {0}", m_ConfigName)); + + Object[] args = new Object[] { config }; + im = ServerUtils.LoadPlugin(imDll, args); + } + + if (users == null) + { + string usersDll = cnf.GetString("UserAccountService", string.Empty); + if (usersDll == string.Empty) + throw new Exception(String.Format("[Groups.RobustHGConnector]: please provide UserAccountService in section {0}", m_ConfigName)); + + Object[] args = new Object[] { config }; + users = ServerUtils.LoadPlugin(usersDll, args); + } + + m_GroupsService = new HGGroupsService(config, im, users, homeURI); + + server.AddStreamHandler(new HGGroupsServicePostHandler(m_GroupsService)); + } + + } + + public class HGGroupsServicePostHandler : BaseStreamHandler + { + private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + + private HGGroupsService m_GroupsService; + + public HGGroupsServicePostHandler(HGGroupsService service) : + base("POST", "/hg-groups") + { + m_GroupsService = service; + } + + public override byte[] Handle(string path, Stream requestData, + IOSHttpRequest httpRequest, IOSHttpResponse httpResponse) + { + StreamReader sr = new StreamReader(requestData); + string body = sr.ReadToEnd(); + sr.Close(); + body = body.Trim(); + + //m_log.DebugFormat("[XXX]: query String: {0}", body); + + try + { + Dictionary request = + ServerUtils.ParseQueryString(body); + + if (!request.ContainsKey("METHOD")) + return FailureResult(); + + string method = request["METHOD"].ToString(); + request.Remove("METHOD"); + + m_log.DebugFormat("[Groups.RobustHGConnector]: {0}", method); + switch (method) + { + case "POSTGROUP": + return HandleAddGroupProxy(request); + case "REMOVEAGENTFROMGROUP": + return HandleRemoveAgentFromGroup(request); + case "GETGROUP": + return HandleGetGroup(request); + case "ADDNOTICE": + return HandleAddNotice(request); + case "VERIFYNOTICE": + return HandleVerifyNotice(request); + case "GETGROUPMEMBERS": + return HandleGetGroupMembers(request); + case "GETGROUPROLES": + return HandleGetGroupRoles(request); + case "GETROLEMEMBERS": + return HandleGetRoleMembers(request); + + } + m_log.DebugFormat("[Groups.RobustHGConnector]: unknown method request: {0}", method); + } + catch (Exception e) + { + m_log.DebugFormat("[Groups.RobustHGConnector]: Exception {0}", e.StackTrace); + } + + return FailureResult(); + } + + byte[] HandleAddGroupProxy(Dictionary request) + { + Dictionary result = new Dictionary(); + + if (!request.ContainsKey("RequestingAgentID") || !request.ContainsKey("GroupID") + || !request.ContainsKey("AgentID") + || !request.ContainsKey("AccessToken") || !request.ContainsKey("Location")) + NullResult(result, "Bad network data"); + + else + { + string RequestingAgentID = request["RequestingAgentID"].ToString(); + string agentID = request["AgentID"].ToString(); + UUID groupID = new UUID(request["GroupID"].ToString()); + string accessToken = request["AccessToken"].ToString(); + string location = request["Location"].ToString(); + string name = string.Empty; + if (request.ContainsKey("Name")) + name = request["Name"].ToString(); + + string reason = string.Empty; + bool success = m_GroupsService.CreateGroupProxy(RequestingAgentID, agentID, accessToken, groupID, location, name, out reason); + result["REASON"] = reason; + result["RESULT"] = success.ToString(); + } + + string xmlString = ServerUtils.BuildXmlResponse(result); + + //m_log.DebugFormat("[XXX]: resp string: {0}", xmlString); + return Util.UTF8NoBomEncoding.GetBytes(xmlString); + } + + byte[] HandleRemoveAgentFromGroup(Dictionary request) + { + Dictionary result = new Dictionary(); + + if (!request.ContainsKey("AccessToken") || !request.ContainsKey("AgentID") || + !request.ContainsKey("GroupID")) + NullResult(result, "Bad network data"); + else + { + UUID groupID = new UUID(request["GroupID"].ToString()); + string agentID = request["AgentID"].ToString(); + string token = request["AccessToken"].ToString(); + string reason = string.Empty; + + m_GroupsService.RemoveAgentFromGroup(agentID, agentID, groupID, token); + } + + //m_log.DebugFormat("[XXX]: resp string: {0}", xmlString); + result["RESULT"] = "true"; + return Util.UTF8NoBomEncoding.GetBytes(ServerUtils.BuildXmlResponse(result)); + } + + byte[] HandleGetGroup(Dictionary request) + { + Dictionary result = new Dictionary(); + + if (!request.ContainsKey("RequestingAgentID") || !request.ContainsKey("AccessToken")) + NullResult(result, "Bad network data"); + else + { + string RequestingAgentID = request["RequestingAgentID"].ToString(); + string token = request["AccessToken"].ToString(); + + UUID groupID = UUID.Zero; + string groupName = string.Empty; + + if (request.ContainsKey("GroupID")) + groupID = new UUID(request["GroupID"].ToString()); + if (request.ContainsKey("Name")) + groupName = request["Name"].ToString(); + + ExtendedGroupRecord grec = m_GroupsService.GetGroupRecord(RequestingAgentID, groupID, groupName, token); + if (grec == null) + NullResult(result, "Group not found"); + else + result["RESULT"] = GroupsDataUtils.GroupRecord(grec); + } + + string xmlString = ServerUtils.BuildXmlResponse(result); + + //m_log.DebugFormat("[XXX]: resp string: {0}", xmlString); + return Util.UTF8NoBomEncoding.GetBytes(xmlString); + } + + byte[] HandleGetGroupMembers(Dictionary request) + { + Dictionary result = new Dictionary(); + + if (!request.ContainsKey("RequestingAgentID") || !request.ContainsKey("GroupID") || !request.ContainsKey("AccessToken")) + NullResult(result, "Bad network data"); + else + { + UUID groupID = new UUID(request["GroupID"].ToString()); + string requestingAgentID = request["RequestingAgentID"].ToString(); + string token = request["AccessToken"].ToString(); + + List members = m_GroupsService.GetGroupMembers(requestingAgentID, groupID, token); + if (members == null || (members != null && members.Count == 0)) + { + NullResult(result, "No members"); + } + else + { + Dictionary dict = new Dictionary(); + int i = 0; + foreach (ExtendedGroupMembersData m in members) + { + dict["m-" + i++] = GroupsDataUtils.GroupMembersData(m); + } + + result["RESULT"] = dict; + } + } + + string xmlString = ServerUtils.BuildXmlResponse(result); + + //m_log.DebugFormat("[XXX]: resp string: {0}", xmlString); + return Util.UTF8NoBomEncoding.GetBytes(xmlString); + } + + byte[] HandleGetGroupRoles(Dictionary request) + { + Dictionary result = new Dictionary(); + + if (!request.ContainsKey("RequestingAgentID") || !request.ContainsKey("GroupID") || !request.ContainsKey("AccessToken")) + NullResult(result, "Bad network data"); + else + { + UUID groupID = new UUID(request["GroupID"].ToString()); + string requestingAgentID = request["RequestingAgentID"].ToString(); + string token = request["AccessToken"].ToString(); + + List roles = m_GroupsService.GetGroupRoles(requestingAgentID, groupID, token); + if (roles == null || (roles != null && roles.Count == 0)) + { + NullResult(result, "No members"); + } + else + { + Dictionary dict = new Dictionary(); + int i = 0; + foreach (GroupRolesData r in roles) + dict["r-" + i++] = GroupsDataUtils.GroupRolesData(r); + + result["RESULT"] = dict; + } + } + + string xmlString = ServerUtils.BuildXmlResponse(result); + + //m_log.DebugFormat("[XXX]: resp string: {0}", xmlString); + return Util.UTF8NoBomEncoding.GetBytes(xmlString); + } + + byte[] HandleGetRoleMembers(Dictionary request) + { + Dictionary result = new Dictionary(); + + if (!request.ContainsKey("RequestingAgentID") || !request.ContainsKey("GroupID") || !request.ContainsKey("AccessToken")) + NullResult(result, "Bad network data"); + else + { + UUID groupID = new UUID(request["GroupID"].ToString()); + string requestingAgentID = request["RequestingAgentID"].ToString(); + string token = request["AccessToken"].ToString(); + + List rmembers = m_GroupsService.GetGroupRoleMembers(requestingAgentID, groupID, token); + if (rmembers == null || (rmembers != null && rmembers.Count == 0)) + { + NullResult(result, "No members"); + } + else + { + Dictionary dict = new Dictionary(); + int i = 0; + foreach (ExtendedGroupRoleMembersData rm in rmembers) + dict["rm-" + i++] = GroupsDataUtils.GroupRoleMembersData(rm); + + result["RESULT"] = dict; + } + } + + string xmlString = ServerUtils.BuildXmlResponse(result); + + //m_log.DebugFormat("[XXX]: resp string: {0}", xmlString); + return Util.UTF8NoBomEncoding.GetBytes(xmlString); + } + + byte[] HandleAddNotice(Dictionary request) + { + Dictionary result = new Dictionary(); + + if (!request.ContainsKey("RequestingAgentID") || !request.ContainsKey("GroupID") || !request.ContainsKey("NoticeID") || + !request.ContainsKey("FromName") || !request.ContainsKey("Subject") || !request.ContainsKey("Message") || + !request.ContainsKey("HasAttachment")) + NullResult(result, "Bad network data"); + + else + { + + bool hasAtt = bool.Parse(request["HasAttachment"].ToString()); + byte attType = 0; + string attName = string.Empty; + string attOwner = string.Empty; + UUID attItem = UUID.Zero; + if (request.ContainsKey("AttachmentType")) + attType = byte.Parse(request["AttachmentType"].ToString()); + if (request.ContainsKey("AttachmentName")) + attName = request["AttachmentType"].ToString(); + if (request.ContainsKey("AttachmentItemID")) + attItem = new UUID(request["AttachmentItemID"].ToString()); + if (request.ContainsKey("AttachmentOwnerID")) + attOwner = request["AttachmentOwnerID"].ToString(); + + bool success = m_GroupsService.AddNotice(request["RequestingAgentID"].ToString(), new UUID(request["GroupID"].ToString()), + new UUID(request["NoticeID"].ToString()), request["FromName"].ToString(), request["Subject"].ToString(), + request["Message"].ToString(), hasAtt, attType, attName, attItem, attOwner); + + result["RESULT"] = success.ToString(); + } + + string xmlString = ServerUtils.BuildXmlResponse(result); + + //m_log.DebugFormat("[XXX]: resp string: {0}", xmlString); + return Util.UTF8NoBomEncoding.GetBytes(xmlString); + } + + byte[] HandleVerifyNotice(Dictionary request) + { + Dictionary result = new Dictionary(); + + if (!request.ContainsKey("NoticeID") || !request.ContainsKey("GroupID")) + NullResult(result, "Bad network data"); + + else + { + UUID noticeID = new UUID(request["NoticeID"].ToString()); + UUID groupID = new UUID(request["GroupID"].ToString()); + + bool success = m_GroupsService.VerifyNotice(noticeID, groupID); + //m_log.DebugFormat("[XXX]: VerifyNotice returned {0}", success); + result["RESULT"] = success.ToString(); + } + + string xmlString = ServerUtils.BuildXmlResponse(result); + + //m_log.DebugFormat("[XXX]: resp string: {0}", xmlString); + return Util.UTF8NoBomEncoding.GetBytes(xmlString); + } + + // + // + // + // + // + + #region Helpers + + private void NullResult(Dictionary result, string reason) + { + result["RESULT"] = "NULL"; + result["REASON"] = reason; + } + + private byte[] FailureResult() + { + Dictionary result = new Dictionary(); + NullResult(result, "Unknown method"); + string xmlString = ServerUtils.BuildXmlResponse(result); + return Util.UTF8NoBomEncoding.GetBytes(xmlString); + } + + #endregion + } +} diff --git a/OpenSim/Addons/Groups/IGroupsServicesConnector.cs b/OpenSim/Addons/Groups/IGroupsServicesConnector.cs new file mode 100644 index 0000000000..73deb7a7b4 --- /dev/null +++ b/OpenSim/Addons/Groups/IGroupsServicesConnector.cs @@ -0,0 +1,118 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using OpenMetaverse; +using OpenSim.Framework; + +namespace OpenSim.Groups +{ + public interface IGroupsServicesConnector + { + UUID CreateGroup(UUID RequestingAgentID, string name, string charter, bool showInList, UUID insigniaID, int membershipFee, + bool openEnrollment, bool allowPublish, bool maturePublish, UUID founderID, out string reason); + bool UpdateGroup(string RequestingAgentID, UUID groupID, string charter, bool showInList, UUID insigniaID, int membershipFee, + bool openEnrollment, bool allowPublish, bool maturePublish, out string reason); + ExtendedGroupRecord GetGroupRecord(string RequestingAgentID, UUID GroupID, string GroupName); + List FindGroups(string RequestingAgentID, string search); + List GetGroupMembers(string RequestingAgentID, UUID GroupID); + + bool AddGroupRole(string RequestingAgentID, UUID groupID, UUID roleID, string name, string description, string title, ulong powers, out string reason); + bool UpdateGroupRole(string RequestingAgentID, UUID groupID, UUID roleID, string name, string description, string title, ulong powers); + void RemoveGroupRole(string RequestingAgentID, UUID groupID, UUID roleID); + List GetGroupRoles(string RequestingAgentID, UUID GroupID); + List GetGroupRoleMembers(string RequestingAgentID, UUID GroupID); + + bool AddAgentToGroup(string RequestingAgentID, string AgentID, UUID GroupID, UUID RoleID, string token, out string reason); + void RemoveAgentFromGroup(string RequestingAgentID, string AgentID, UUID GroupID); + + bool AddAgentToGroupInvite(string RequestingAgentID, UUID inviteID, UUID groupID, UUID roleID, string agentID); + GroupInviteInfo GetAgentToGroupInvite(string RequestingAgentID, UUID inviteID); + void RemoveAgentToGroupInvite(string RequestingAgentID, UUID inviteID); + + void AddAgentToGroupRole(string RequestingAgentID, string AgentID, UUID GroupID, UUID RoleID); + void RemoveAgentFromGroupRole(string RequestingAgentID, string AgentID, UUID GroupID, UUID RoleID); + List GetAgentGroupRoles(string RequestingAgentID, string AgentID, UUID GroupID); + + void SetAgentActiveGroup(string RequestingAgentID, string AgentID, UUID GroupID); + ExtendedGroupMembershipData GetAgentActiveMembership(string RequestingAgentID, string AgentID); + + void SetAgentActiveGroupRole(string RequestingAgentID, string AgentID, UUID GroupID, UUID RoleID); + void UpdateMembership(string RequestingAgentID, string AgentID, UUID GroupID, bool AcceptNotices, bool ListInProfile); + + /// + /// Get information about a specific group to which the user belongs. + /// + /// The agent requesting the information. + /// The agent requested. + /// The group requested. + /// + /// If the user is a member of the group then the data structure is returned. If not, then null is returned. + /// + ExtendedGroupMembershipData GetAgentGroupMembership(string RequestingAgentID, string AgentID, UUID GroupID); + + /// + /// Get information about the groups to which a user belongs. + /// + /// The agent requesting the information. + /// The agent requested. + /// + /// Information about the groups to which the user belongs. If the user belongs to no groups then an empty + /// list is returned. + /// + List GetAgentGroupMemberships(string RequestingAgentID, string AgentID); + + bool AddGroupNotice(string RequestingAgentID, UUID groupID, UUID noticeID, string fromName, string subject, string message, + bool hasAttachment, byte attType, string attName, UUID attItemID, string attOwnerID); + GroupNoticeInfo GetGroupNotice(string RequestingAgentID, UUID noticeID); + List GetGroupNotices(string RequestingAgentID, UUID GroupID); + + void ResetAgentGroupChatSessions(string agentID); + bool hasAgentBeenInvitedToGroupChatSession(string agentID, UUID groupID); + bool hasAgentDroppedGroupChatSession(string agentID, UUID groupID); + void AgentDroppedFromGroupChatSession(string agentID, UUID groupID); + void AgentInvitedToGroupChatSession(string agentID, UUID groupID); + + } + + public class GroupInviteInfo + { + public UUID GroupID = UUID.Zero; + public UUID RoleID = UUID.Zero; + public string AgentID = string.Empty; + public UUID InviteID = UUID.Zero; + } + + public class GroupNoticeInfo + { + public ExtendedGroupNoticeData noticeData = new ExtendedGroupNoticeData(); + public UUID GroupID = UUID.Zero; + public string Message = string.Empty; + } + +} diff --git a/OpenSim/Addons/Groups/Local/GroupsServiceLocalConnectorModule.cs b/OpenSim/Addons/Groups/Local/GroupsServiceLocalConnectorModule.cs new file mode 100644 index 0000000000..905bc913ff --- /dev/null +++ b/OpenSim/Addons/Groups/Local/GroupsServiceLocalConnectorModule.cs @@ -0,0 +1,347 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Text; + +using OpenSim.Framework; +using OpenSim.Region.Framework.Scenes; +using OpenSim.Region.Framework.Interfaces; + +using OpenMetaverse; +using Mono.Addins; +using log4net; +using Nini.Config; + +namespace OpenSim.Groups +{ + [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "GroupsServiceLocalConnectorModule")] + public class GroupsServiceLocalConnectorModule : ISharedRegionModule, IGroupsServicesConnector + { + private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + + private bool m_Enabled = false; + private GroupsService m_GroupsService; + private IUserManagement m_UserManagement; + private List m_Scenes; + private ForeignImporter m_ForeignImporter; + + #region constructors + public GroupsServiceLocalConnectorModule() + { + } + + public GroupsServiceLocalConnectorModule(IConfigSource config, IUserManagement uman) + { + Init(config); + m_UserManagement = uman; + m_ForeignImporter = new ForeignImporter(uman); + } + #endregion + + private void Init(IConfigSource config) + { + m_GroupsService = new GroupsService(config); + m_Scenes = new List(); + } + + #region ISharedRegionModule + + public void Initialise(IConfigSource config) + { + IConfig groupsConfig = config.Configs["Groups"]; + if (groupsConfig == null) + return; + + if ((groupsConfig.GetBoolean("Enabled", false) == false) + || (groupsConfig.GetString("ServicesConnectorModule", string.Empty) != Name)) + { + return; + } + + Init(config); + m_Enabled = true; + + m_log.DebugFormat("[Groups]: Initializing {0}", this.Name); + } + + public string Name + { + get { return "Groups Local Service Connector"; } + } + + public Type ReplaceableInterface + { + get { return null; } + } + + public void AddRegion(Scene scene) + { + if (!m_Enabled) + return; + + m_log.DebugFormat("[Groups]: Registering {0} with {1}", this.Name, scene.RegionInfo.RegionName); + scene.RegisterModuleInterface(this); + m_Scenes.Add(scene); + } + + public void RemoveRegion(Scene scene) + { + if (!m_Enabled) + return; + + scene.UnregisterModuleInterface(this); + m_Scenes.Remove(scene); + } + + public void RegionLoaded(Scene scene) + { + if (!m_Enabled) + return; + + if (m_UserManagement == null) + { + m_UserManagement = scene.RequestModuleInterface(); + m_ForeignImporter = new ForeignImporter(m_UserManagement); + } + } + + public void PostInitialise() + { + } + + public void Close() + { + } + + #endregion + + #region IGroupsServicesConnector + + public UUID CreateGroup(UUID RequestingAgentID, string name, string charter, bool showInList, UUID insigniaID, int membershipFee, bool openEnrollment, + bool allowPublish, bool maturePublish, UUID founderID, out string reason) + { + m_log.DebugFormat("[Groups]: Creating group {0}", name); + reason = string.Empty; + return m_GroupsService.CreateGroup(RequestingAgentID.ToString(), name, charter, showInList, insigniaID, + membershipFee, openEnrollment, allowPublish, maturePublish, founderID, out reason); + } + + public bool UpdateGroup(string RequestingAgentID, UUID groupID, string charter, bool showInList, UUID insigniaID, int membershipFee, + bool openEnrollment, bool allowPublish, bool maturePublish, out string reason) + { + reason = string.Empty; + m_GroupsService.UpdateGroup(RequestingAgentID, groupID, charter, showInList, insigniaID, membershipFee, openEnrollment, allowPublish, maturePublish); + return true; + } + + public ExtendedGroupRecord GetGroupRecord(string RequestingAgentID, UUID GroupID, string GroupName) + { + if (GroupID != UUID.Zero) + return m_GroupsService.GetGroupRecord(RequestingAgentID, GroupID); + else if (GroupName != null) + return m_GroupsService.GetGroupRecord(RequestingAgentID, GroupName); + + return null; + } + + public List FindGroups(string RequestingAgentID, string search) + { + return m_GroupsService.FindGroups(RequestingAgentID, search); + } + + public List GetGroupMembers(string RequestingAgentID, UUID GroupID) + { + List _members = m_GroupsService.GetGroupMembers(RequestingAgentID, GroupID); + if (_members != null && _members.Count > 0) + { + List members = _members.ConvertAll(new Converter(m_ForeignImporter.ConvertGroupMembersData)); + return members; + } + + return new List(); + } + + public bool AddGroupRole(string RequestingAgentID, UUID groupID, UUID roleID, string name, string description, string title, ulong powers, out string reason) + { + return m_GroupsService.AddGroupRole(RequestingAgentID, groupID, roleID, name, description, title, powers, out reason); + } + + public bool UpdateGroupRole(string RequestingAgentID, UUID groupID, UUID roleID, string name, string description, string title, ulong powers) + { + return m_GroupsService.UpdateGroupRole(RequestingAgentID, groupID, roleID, name, description, title, powers); + } + + public void RemoveGroupRole(string RequestingAgentID, UUID groupID, UUID roleID) + { + m_GroupsService.RemoveGroupRole(RequestingAgentID, groupID, roleID); + } + + public List GetGroupRoles(string RequestingAgentID, UUID GroupID) + { + return m_GroupsService.GetGroupRoles(RequestingAgentID, GroupID); + } + + public List GetGroupRoleMembers(string RequestingAgentID, UUID GroupID) + { + List _rm = m_GroupsService.GetGroupRoleMembers(RequestingAgentID, GroupID); + if (_rm != null && _rm.Count > 0) + { + List rm = _rm.ConvertAll(new Converter(m_ForeignImporter.ConvertGroupRoleMembersData)); + return rm; + } + + return new List(); + + } + + public bool AddAgentToGroup(string RequestingAgentID, string AgentID, UUID GroupID, UUID RoleID, string token, out string reason) + { + return m_GroupsService.AddAgentToGroup(RequestingAgentID, AgentID, GroupID, RoleID, token, out reason); + } + + public void RemoveAgentFromGroup(string RequestingAgentID, string AgentID, UUID GroupID) + { + m_GroupsService.RemoveAgentFromGroup(RequestingAgentID, AgentID, GroupID); + } + + public bool AddAgentToGroupInvite(string RequestingAgentID, UUID inviteID, UUID groupID, UUID roleID, string agentID) + { + return m_GroupsService.AddAgentToGroupInvite(RequestingAgentID, inviteID, groupID, roleID, agentID); + } + + public GroupInviteInfo GetAgentToGroupInvite(string RequestingAgentID, UUID inviteID) + { + return m_GroupsService.GetAgentToGroupInvite(RequestingAgentID, inviteID); ; + } + + public void RemoveAgentToGroupInvite(string RequestingAgentID, UUID inviteID) + { + m_GroupsService.RemoveAgentToGroupInvite(RequestingAgentID, inviteID); + } + + public void AddAgentToGroupRole(string RequestingAgentID, string AgentID, UUID GroupID, UUID RoleID) + { + m_GroupsService.AddAgentToGroupRole(RequestingAgentID, AgentID, GroupID, RoleID); + } + + public void RemoveAgentFromGroupRole(string RequestingAgentID, string AgentID, UUID GroupID, UUID RoleID) + { + m_GroupsService.RemoveAgentFromGroupRole(RequestingAgentID, AgentID, GroupID, RoleID); + } + + public List GetAgentGroupRoles(string RequestingAgentID, string AgentID, UUID GroupID) + { + return m_GroupsService.GetAgentGroupRoles(RequestingAgentID, AgentID, GroupID); + } + + public void SetAgentActiveGroup(string RequestingAgentID, string AgentID, UUID GroupID) + { + m_GroupsService.SetAgentActiveGroup(RequestingAgentID, AgentID, GroupID); + } + + public ExtendedGroupMembershipData GetAgentActiveMembership(string RequestingAgentID, string AgentID) + { + return m_GroupsService.GetAgentActiveMembership(RequestingAgentID, AgentID); + } + + public void SetAgentActiveGroupRole(string RequestingAgentID, string AgentID, UUID GroupID, UUID RoleID) + { + m_GroupsService.SetAgentActiveGroupRole(RequestingAgentID, AgentID, GroupID, RoleID); + } + + public void UpdateMembership(string RequestingAgentID, string AgentID, UUID GroupID, bool AcceptNotices, bool ListInProfile) + { + m_GroupsService.UpdateMembership(RequestingAgentID, AgentID, GroupID, AcceptNotices, ListInProfile); + } + + public ExtendedGroupMembershipData GetAgentGroupMembership(string RequestingAgentID, string AgentID, UUID GroupID) + { + return m_GroupsService.GetAgentGroupMembership(RequestingAgentID, AgentID, GroupID); ; + } + + public List GetAgentGroupMemberships(string RequestingAgentID, string AgentID) + { + return m_GroupsService.GetAgentGroupMemberships(RequestingAgentID, AgentID); + } + + public bool AddGroupNotice(string RequestingAgentID, UUID groupID, UUID noticeID, string fromName, string subject, string message, + bool hasAttachment, byte attType, string attName, UUID attItemID, string attOwnerID) + { + return m_GroupsService.AddGroupNotice(RequestingAgentID, groupID, noticeID, fromName, subject, message, + hasAttachment, attType, attName, attItemID, attOwnerID); + } + + public GroupNoticeInfo GetGroupNotice(string RequestingAgentID, UUID noticeID) + { + GroupNoticeInfo notice = m_GroupsService.GetGroupNotice(RequestingAgentID, noticeID); + + //if (notice != null && notice.noticeData.HasAttachment && notice.noticeData.AttachmentOwnerID != null) + //{ + // UUID userID = UUID.Zero; + // string url = string.Empty, first = string.Empty, last = string.Empty, tmp = string.Empty; + // Util.ParseUniversalUserIdentifier(notice.noticeData.AttachmentOwnerID, out userID, out url, out first, out last, out tmp); + // if (url != string.Empty) + // m_UserManagement.AddUser(userID, first, last, url); + //} + + return notice; + } + + public List GetGroupNotices(string RequestingAgentID, UUID GroupID) + { + return m_GroupsService.GetGroupNotices(RequestingAgentID, GroupID); + } + + public void ResetAgentGroupChatSessions(string agentID) + { + } + + public bool hasAgentBeenInvitedToGroupChatSession(string agentID, UUID groupID) + { + return false; + } + + public bool hasAgentDroppedGroupChatSession(string agentID, UUID groupID) + { + return false; + } + + public void AgentDroppedFromGroupChatSession(string agentID, UUID groupID) + { + } + + public void AgentInvitedToGroupChatSession(string agentID, UUID groupID) + { + } + + #endregion + } +} diff --git a/OpenSim/Addons/Groups/Properties/AssemblyInfo.cs b/OpenSim/Addons/Groups/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..166803f7f5 --- /dev/null +++ b/OpenSim/Addons/Groups/Properties/AssemblyInfo.cs @@ -0,0 +1,37 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using Mono.Addins; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("OpenSim.Addons.Groups")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("http://opensimulator.org")] +[assembly: AssemblyProduct("OpenSim.Addons.Groups")] +[assembly: AssemblyCopyright("Copyright (c) OpenSimulator.org Developers")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("313d4865-d179-4735-9b5a-fe74885878b2")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +[assembly: AssemblyVersion("0.7.5.*")] +[assembly: AssemblyFileVersion("1.0.0.0")] + +[assembly: Addin("OpenSim.Groups", "0.1")] +[assembly: AddinDependency("OpenSim", "0.5")] diff --git a/OpenSim/Addons/Groups/Remote/GroupsServiceRemoteConnector.cs b/OpenSim/Addons/Groups/Remote/GroupsServiceRemoteConnector.cs new file mode 100644 index 0000000000..04328c9c3a --- /dev/null +++ b/OpenSim/Addons/Groups/Remote/GroupsServiceRemoteConnector.cs @@ -0,0 +1,642 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Text; + +using OpenSim.Framework; +using OpenSim.Server.Base; + +using OpenMetaverse; +using log4net; + +namespace OpenSim.Groups +{ + public class GroupsServiceRemoteConnector + { + private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + + private string m_ServerURI; + private object m_Lock = new object(); + + public GroupsServiceRemoteConnector(string url) + { + m_ServerURI = url; + if (!m_ServerURI.EndsWith("/")) + m_ServerURI += "/"; + + m_log.DebugFormat("[Groups.RemoteConnector]: Groups server at {0}", m_ServerURI); + } + + public ExtendedGroupRecord CreateGroup(string RequestingAgentID, string name, string charter, bool showInList, UUID insigniaID, int membershipFee, bool openEnrollment, + bool allowPublish, bool maturePublish, UUID founderID, out string reason) + { + reason = string.Empty; + + ExtendedGroupRecord rec = new ExtendedGroupRecord(); + rec.AllowPublish = allowPublish; + rec.Charter = charter; + rec.FounderID = founderID; + rec.GroupName = name; + rec.GroupPicture = insigniaID; + rec.MaturePublish = maturePublish; + rec.MembershipFee = membershipFee; + rec.OpenEnrollment = openEnrollment; + rec.ShowInList = showInList; + + Dictionary sendData = GroupsDataUtils.GroupRecord(rec); + sendData["RequestingAgentID"] = RequestingAgentID; + sendData["OP"] = "ADD"; + Dictionary ret = MakeRequest("PUTGROUP", sendData); + + if (ret == null) + return null; + + if (ret["RESULT"].ToString() == "NULL") + { + reason = ret["REASON"].ToString(); + return null; + } + + return GroupsDataUtils.GroupRecord((Dictionary)ret["RESULT"]); + + } + + public ExtendedGroupRecord UpdateGroup(string RequestingAgentID, UUID groupID, string charter, bool showInList, UUID insigniaID, int membershipFee, bool openEnrollment, bool allowPublish, bool maturePublish) + { + ExtendedGroupRecord rec = new ExtendedGroupRecord(); + rec.AllowPublish = allowPublish; + rec.Charter = charter; + rec.GroupPicture = insigniaID; + rec.MaturePublish = maturePublish; + rec.GroupID = groupID; + rec.MembershipFee = membershipFee; + rec.OpenEnrollment = openEnrollment; + rec.ShowInList = showInList; + + Dictionary sendData = GroupsDataUtils.GroupRecord(rec); + sendData["RequestingAgentID"] = RequestingAgentID; + sendData["OP"] = "UPDATE"; + Dictionary ret = MakeRequest("PUTGROUP", sendData); + + if (ret == null || (ret != null && ret["RESULT"].ToString() == "NULL")) + return null; + + return GroupsDataUtils.GroupRecord((Dictionary)ret["RESULT"]); + } + + public ExtendedGroupRecord GetGroupRecord(string RequestingAgentID, UUID GroupID, string GroupName) + { + if (GroupID == UUID.Zero && (GroupName == null || (GroupName != null && GroupName == string.Empty))) + return null; + + Dictionary sendData = new Dictionary(); + if (GroupID != UUID.Zero) + sendData["GroupID"] = GroupID.ToString(); + if (GroupName != null && GroupName != string.Empty) + sendData["Name"] = GroupsDataUtils.Sanitize(GroupName); + + sendData["RequestingAgentID"] = RequestingAgentID; + + Dictionary ret = MakeRequest("GETGROUP", sendData); + + if (ret == null || (ret != null && ret["RESULT"].ToString() == "NULL")) + return null; + + return GroupsDataUtils.GroupRecord((Dictionary)ret["RESULT"]); + } + + public GroupMembershipData AddAgentToGroup(string RequestingAgentID, string AgentID, UUID GroupID, UUID RoleID, string token, out string reason) + { + reason = string.Empty; + + Dictionary sendData = new Dictionary(); + sendData["AgentID"] = AgentID; + sendData["GroupID"] = GroupID.ToString(); + sendData["RoleID"] = RoleID.ToString(); + sendData["RequestingAgentID"] = RequestingAgentID; + sendData["AccessToken"] = token; + Dictionary ret = MakeRequest("ADDAGENTTOGROUP", sendData); + + if (ret == null) + return null; + + if (!ret.ContainsKey("RESULT")) + return null; + + if (ret["RESULT"].ToString() == "NULL") + { + reason = ret["REASON"].ToString(); + return null; + } + + return GroupsDataUtils.GroupMembershipData((Dictionary)ret["RESULT"]); + + } + + public void RemoveAgentFromGroup(string RequestingAgentID, string AgentID, UUID GroupID) + { + Dictionary sendData = new Dictionary(); + sendData["AgentID"] = AgentID; + sendData["GroupID"] = GroupID.ToString(); + sendData["RequestingAgentID"] = RequestingAgentID; + MakeRequest("REMOVEAGENTFROMGROUP", sendData); + } + + public ExtendedGroupMembershipData GetMembership(string RequestingAgentID, string AgentID, UUID GroupID) + { + Dictionary sendData = new Dictionary(); + sendData["AgentID"] = AgentID; + if (GroupID != UUID.Zero) + sendData["GroupID"] = GroupID.ToString(); + sendData["RequestingAgentID"] = RequestingAgentID; + Dictionary ret = MakeRequest("GETMEMBERSHIP", sendData); + + if (ret == null) + return null; + + if (!ret.ContainsKey("RESULT")) + return null; + + if (ret["RESULT"].ToString() == "NULL") + return null; + + return GroupsDataUtils.GroupMembershipData((Dictionary)ret["RESULT"]); + } + + public List GetMemberships(string RequestingAgentID, string AgentID) + { + List memberships = new List(); + + Dictionary sendData = new Dictionary(); + sendData["AgentID"] = AgentID; + sendData["ALL"] = "true"; + sendData["RequestingAgentID"] = RequestingAgentID; + Dictionary ret = MakeRequest("GETMEMBERSHIP", sendData); + + if (ret == null) + return memberships; + + if (!ret.ContainsKey("RESULT")) + return memberships; + + if (ret["RESULT"].ToString() == "NULL") + return memberships; + + foreach (object v in ((Dictionary)ret["RESULT"]).Values) + { + GroupMembershipData m = GroupsDataUtils.GroupMembershipData((Dictionary)v); + memberships.Add(m); + } + + return memberships; + } + + public List GetGroupMembers(string RequestingAgentID, UUID GroupID) + { + List members = new List(); + + Dictionary sendData = new Dictionary(); + sendData["GroupID"] = GroupID.ToString(); + sendData["RequestingAgentID"] = RequestingAgentID; + Dictionary ret = MakeRequest("GETGROUPMEMBERS", sendData); + + if (ret == null) + return members; + + if (!ret.ContainsKey("RESULT")) + return members; + + if (ret["RESULT"].ToString() == "NULL") + return members; + foreach (object v in ((Dictionary)ret["RESULT"]).Values) + { + ExtendedGroupMembersData m = GroupsDataUtils.GroupMembersData((Dictionary)v); + members.Add(m); + } + + return members; + } + + public bool AddGroupRole(string RequestingAgentID, UUID groupID, UUID roleID, string name, string description, string title, ulong powers, out string reason) + { + reason = string.Empty; + + Dictionary sendData = new Dictionary(); + sendData["GroupID"] = groupID.ToString(); + sendData["RoleID"] = roleID.ToString(); + sendData["Name"] = GroupsDataUtils.Sanitize(name); + sendData["Description"] = GroupsDataUtils.Sanitize(description); + sendData["Title"] = GroupsDataUtils.Sanitize(title); + sendData["Powers"] = powers.ToString(); + sendData["RequestingAgentID"] = RequestingAgentID; + sendData["OP"] = "ADD"; + Dictionary ret = MakeRequest("PUTROLE", sendData); + + if (ret == null) + return false; + + if (!ret.ContainsKey("RESULT")) + return false; + + if (ret["RESULT"].ToString().ToLower() != "true") + { + reason = ret["REASON"].ToString(); + return false; + } + + return true; + } + + public bool UpdateGroupRole(string RequestingAgentID, UUID groupID, UUID roleID, string name, string description, string title, ulong powers) + { + Dictionary sendData = new Dictionary(); + sendData["GroupID"] = groupID.ToString(); + sendData["RoleID"] = roleID.ToString(); + sendData["Name"] = GroupsDataUtils.Sanitize(name); + sendData["Description"] = GroupsDataUtils.Sanitize(description); + sendData["Title"] = GroupsDataUtils.Sanitize(title); + sendData["Powers"] = powers.ToString(); + sendData["RequestingAgentID"] = RequestingAgentID; + sendData["OP"] = "UPDATE"; + Dictionary ret = MakeRequest("PUTROLE", sendData); + + if (ret == null) + return false; + + if (!ret.ContainsKey("RESULT")) + return false; + + if (ret["RESULT"].ToString().ToLower() != "true") + return false; + + return true; + } + + public void RemoveGroupRole(string RequestingAgentID, UUID groupID, UUID roleID) + { + Dictionary sendData = new Dictionary(); + sendData["GroupID"] = groupID.ToString(); + sendData["RoleID"] = roleID.ToString(); + sendData["RequestingAgentID"] = RequestingAgentID; + MakeRequest("REMOVEROLE", sendData); + } + + public List GetGroupRoles(string RequestingAgentID, UUID GroupID) + { + List roles = new List(); + + Dictionary sendData = new Dictionary(); + sendData["GroupID"] = GroupID.ToString(); + sendData["RequestingAgentID"] = RequestingAgentID; + Dictionary ret = MakeRequest("GETGROUPROLES", sendData); + + if (ret == null) + return roles; + + if (!ret.ContainsKey("RESULT")) + return roles; + + if (ret["RESULT"].ToString() == "NULL") + return roles; + foreach (object v in ((Dictionary)ret["RESULT"]).Values) + { + GroupRolesData m = GroupsDataUtils.GroupRolesData((Dictionary)v); + roles.Add(m); + } + + return roles; + } + + public List GetGroupRoleMembers(string RequestingAgentID, UUID GroupID) + { + List rmembers = new List(); + + Dictionary sendData = new Dictionary(); + sendData["GroupID"] = GroupID.ToString(); + sendData["RequestingAgentID"] = RequestingAgentID; + Dictionary ret = MakeRequest("GETROLEMEMBERS", sendData); + + if (ret == null) + return rmembers; + + if (!ret.ContainsKey("RESULT")) + return rmembers; + + if (ret["RESULT"].ToString() == "NULL") + return rmembers; + + foreach (object v in ((Dictionary)ret["RESULT"]).Values) + { + ExtendedGroupRoleMembersData m = GroupsDataUtils.GroupRoleMembersData((Dictionary)v); + rmembers.Add(m); + } + + return rmembers; + } + + public bool AddAgentToGroupRole(string RequestingAgentID, string AgentID, UUID GroupID, UUID RoleID) + { + Dictionary sendData = new Dictionary(); + sendData["AgentID"] = AgentID.ToString(); + sendData["GroupID"] = GroupID.ToString(); + sendData["RoleID"] = RoleID.ToString(); + sendData["RequestingAgentID"] = RequestingAgentID; + sendData["OP"] = "ADD"; + + Dictionary ret = MakeRequest("AGENTROLE", sendData); + + if (ret == null) + return false; + + if (!ret.ContainsKey("RESULT")) + return false; + + if (ret["RESULT"].ToString().ToLower() != "true") + return false; + + return true; + } + + public bool RemoveAgentFromGroupRole(string RequestingAgentID, string AgentID, UUID GroupID, UUID RoleID) + { + Dictionary sendData = new Dictionary(); + sendData["AgentID"] = AgentID.ToString(); + sendData["GroupID"] = GroupID.ToString(); + sendData["RoleID"] = RoleID.ToString(); + sendData["RequestingAgentID"] = RequestingAgentID; + sendData["OP"] = "DELETE"; + + Dictionary ret = MakeRequest("AGENTROLE", sendData); + + if (ret == null) + return false; + + if (!ret.ContainsKey("RESULT")) + return false; + + if (ret["RESULT"].ToString().ToLower() != "true") + return false; + + return true; + } + + public List GetAgentGroupRoles(string RequestingAgentID, string AgentID, UUID GroupID) + { + List roles = new List(); + + Dictionary sendData = new Dictionary(); + sendData["AgentID"] = AgentID.ToString(); + sendData["GroupID"] = GroupID.ToString(); + sendData["RequestingAgentID"] = RequestingAgentID; + Dictionary ret = MakeRequest("GETAGENTROLES", sendData); + + if (ret == null) + return roles; + + if (!ret.ContainsKey("RESULT")) + return roles; + + if (ret["RESULT"].ToString() == "NULL") + return roles; + + foreach (object v in ((Dictionary)ret["RESULT"]).Values) + { + GroupRolesData m = GroupsDataUtils.GroupRolesData((Dictionary)v); + roles.Add(m); + } + + return roles; + } + + public GroupMembershipData SetAgentActiveGroup(string RequestingAgentID, string AgentID, UUID GroupID) + { + Dictionary sendData = new Dictionary(); + sendData["AgentID"] = AgentID.ToString(); + sendData["GroupID"] = GroupID.ToString(); + sendData["RequestingAgentID"] = RequestingAgentID; + sendData["OP"] = "GROUP"; + + Dictionary ret = MakeRequest("SETACTIVE", sendData); + + if (ret == null) + return null; + + if (!ret.ContainsKey("RESULT")) + return null; + + if (ret["RESULT"].ToString() == "NULL") + return null; + + return GroupsDataUtils.GroupMembershipData((Dictionary)ret["RESULT"]); + } + + public void SetAgentActiveGroupRole(string RequestingAgentID, string AgentID, UUID GroupID, UUID RoleID) + { + Dictionary sendData = new Dictionary(); + sendData["AgentID"] = AgentID.ToString(); + sendData["GroupID"] = GroupID.ToString(); + sendData["RoleID"] = RoleID.ToString(); + sendData["RequestingAgentID"] = RequestingAgentID; + sendData["OP"] = "ROLE"; + + MakeRequest("SETACTIVE", sendData); + } + + public void UpdateMembership(string RequestingAgentID, string AgentID, UUID GroupID, bool AcceptNotices, bool ListInProfile) + { + Dictionary sendData = new Dictionary(); + sendData["AgentID"] = AgentID.ToString(); + sendData["GroupID"] = GroupID.ToString(); + sendData["AcceptNotices"] = AcceptNotices.ToString(); + sendData["ListInProfile"] = ListInProfile.ToString(); + sendData["RequestingAgentID"] = RequestingAgentID; + MakeRequest("UPDATEMEMBERSHIP", sendData); + } + + public bool AddAgentToGroupInvite(string RequestingAgentID, UUID inviteID, UUID groupID, UUID roleID, string agentID) + { + Dictionary sendData = new Dictionary(); + sendData["InviteID"] = inviteID.ToString(); + sendData["GroupID"] = groupID.ToString(); + sendData["RoleID"] = roleID.ToString(); + sendData["AgentID"] = agentID.ToString(); + sendData["RequestingAgentID"] = RequestingAgentID; + sendData["OP"] = "ADD"; + + Dictionary ret = MakeRequest("INVITE", sendData); + + if (ret == null) + return false; + + if (!ret.ContainsKey("RESULT")) + return false; + + if (ret["RESULT"].ToString().ToLower() != "true") // it may return "NULL" + return false; + + return true; + } + + public GroupInviteInfo GetAgentToGroupInvite(string RequestingAgentID, UUID inviteID) + { + Dictionary sendData = new Dictionary(); + sendData["InviteID"] = inviteID.ToString(); + sendData["RequestingAgentID"] = RequestingAgentID; + sendData["OP"] = "GET"; + + Dictionary ret = MakeRequest("INVITE", sendData); + + if (ret == null) + return null; + + if (!ret.ContainsKey("RESULT")) + return null; + + if (ret["RESULT"].ToString() == "NULL") + return null; + + return GroupsDataUtils.GroupInviteInfo((Dictionary)ret["RESULT"]); + } + + public void RemoveAgentToGroupInvite(string RequestingAgentID, UUID inviteID) + { + Dictionary sendData = new Dictionary(); + sendData["InviteID"] = inviteID.ToString(); + sendData["RequestingAgentID"] = RequestingAgentID; + sendData["OP"] = "DELETE"; + + MakeRequest("INVITE", sendData); + } + + public bool AddGroupNotice(string RequestingAgentID, UUID groupID, UUID noticeID, string fromName, string subject, string message, + bool hasAttachment, byte attType, string attName, UUID attItemID, string attOwnerID) + { + Dictionary sendData = new Dictionary(); + sendData["GroupID"] = groupID.ToString(); + sendData["NoticeID"] = noticeID.ToString(); + sendData["FromName"] = GroupsDataUtils.Sanitize(fromName); + sendData["Subject"] = GroupsDataUtils.Sanitize(subject); + sendData["Message"] = GroupsDataUtils.Sanitize(message); + sendData["HasAttachment"] = hasAttachment.ToString(); + if (hasAttachment) + { + sendData["AttachmentType"] = attType.ToString(); + sendData["AttachmentName"] = attName.ToString(); + sendData["AttachmentItemID"] = attItemID.ToString(); + sendData["AttachmentOwnerID"] = attOwnerID; + } + sendData["RequestingAgentID"] = RequestingAgentID; + + Dictionary ret = MakeRequest("ADDNOTICE", sendData); + + if (ret == null) + return false; + + if (!ret.ContainsKey("RESULT")) + return false; + + if (ret["RESULT"].ToString().ToLower() != "true") + return false; + + return true; + } + + public GroupNoticeInfo GetGroupNotice(string RequestingAgentID, UUID noticeID) + { + Dictionary sendData = new Dictionary(); + sendData["NoticeID"] = noticeID.ToString(); + sendData["RequestingAgentID"] = RequestingAgentID; + + Dictionary ret = MakeRequest("GETNOTICES", sendData); + + if (ret == null) + return null; + + if (!ret.ContainsKey("RESULT")) + return null; + + if (ret["RESULT"].ToString() == "NULL") + return null; + + return GroupsDataUtils.GroupNoticeInfo((Dictionary)ret["RESULT"]); + } + + public List GetGroupNotices(string RequestingAgentID, UUID GroupID) + { + List notices = new List(); + + Dictionary sendData = new Dictionary(); + sendData["GroupID"] = GroupID.ToString(); + sendData["RequestingAgentID"] = RequestingAgentID; + Dictionary ret = MakeRequest("GETNOTICES", sendData); + + if (ret == null) + return notices; + + if (!ret.ContainsKey("RESULT")) + return notices; + + if (ret["RESULT"].ToString() == "NULL") + return notices; + + foreach (object v in ((Dictionary)ret["RESULT"]).Values) + { + ExtendedGroupNoticeData m = GroupsDataUtils.GroupNoticeData((Dictionary)v); + notices.Add(m); + } + + return notices; + } + + #region Make Request + + private Dictionary MakeRequest(string method, Dictionary sendData) + { + sendData["METHOD"] = method; + + string reply = string.Empty; + lock (m_Lock) + reply = SynchronousRestFormsRequester.MakeRequest("POST", + m_ServerURI + "groups", + ServerUtils.BuildQueryString(sendData)); + + if (reply == string.Empty) + return null; + + Dictionary replyData = ServerUtils.ParseXmlResponse( + reply); + + return replyData; + } + #endregion + + } +} diff --git a/OpenSim/Addons/Groups/Remote/GroupsServiceRemoteConnectorModule.cs b/OpenSim/Addons/Groups/Remote/GroupsServiceRemoteConnectorModule.cs new file mode 100644 index 0000000000..d1c02db721 --- /dev/null +++ b/OpenSim/Addons/Groups/Remote/GroupsServiceRemoteConnectorModule.cs @@ -0,0 +1,437 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Threading; +using System.Text; + +using OpenSim.Framework; +using OpenSim.Region.Framework.Scenes; +using OpenSim.Region.Framework.Interfaces; +using OpenSim.Server.Base; + +using OpenMetaverse; +using Mono.Addins; +using log4net; +using Nini.Config; + +namespace OpenSim.Groups +{ + [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "GroupsServiceRemoteConnectorModule")] + public class GroupsServiceRemoteConnectorModule : ISharedRegionModule, IGroupsServicesConnector + { + private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + + private bool m_Enabled = false; + private GroupsServiceRemoteConnector m_GroupsService; + private IUserManagement m_UserManagement; + private List m_Scenes; + + private RemoteConnectorCacheWrapper m_CacheWrapper; + + #region constructors + public GroupsServiceRemoteConnectorModule() + { + } + + public GroupsServiceRemoteConnectorModule(IConfigSource config, IUserManagement uman) + { + Init(config); + m_UserManagement = uman; + m_CacheWrapper = new RemoteConnectorCacheWrapper(m_UserManagement); + + } + #endregion + + private void Init(IConfigSource config) + { + IConfig groupsConfig = config.Configs["Groups"]; + string url = groupsConfig.GetString("GroupsServerURI", string.Empty); + if (url == string.Empty) + { + m_log.WarnFormat("[Groups.RemoteConnector]: Groups server URL not provided. Groups will not work."); + return; + } + + m_GroupsService = new GroupsServiceRemoteConnector(url); + m_Scenes = new List(); + + } + + #region ISharedRegionModule + + public void Initialise(IConfigSource config) + { + IConfig groupsConfig = config.Configs["Groups"]; + if (groupsConfig == null) + return; + + if ((groupsConfig.GetBoolean("Enabled", false) == false) + || (groupsConfig.GetString("ServicesConnectorModule", string.Empty) != Name)) + { + return; + } + + Init(config); + + m_Enabled = true; + m_log.DebugFormat("[Groups.RemoteConnector]: Initializing {0}", this.Name); + } + + public string Name + { + get { return "Groups Remote Service Connector"; } + } + + public Type ReplaceableInterface + { + get { return null; } + } + + public void AddRegion(Scene scene) + { + if (!m_Enabled) + return; + + m_log.DebugFormat("[Groups.RemoteConnector]: Registering {0} with {1}", this.Name, scene.RegionInfo.RegionName); + scene.RegisterModuleInterface(this); + m_Scenes.Add(scene); + } + + public void RemoveRegion(Scene scene) + { + if (!m_Enabled) + return; + + scene.UnregisterModuleInterface(this); + m_Scenes.Remove(scene); + } + + public void RegionLoaded(Scene scene) + { + if (!m_Enabled) + return; + + if (m_UserManagement == null) + { + m_UserManagement = scene.RequestModuleInterface(); + m_CacheWrapper = new RemoteConnectorCacheWrapper(m_UserManagement); + } + } + + public void PostInitialise() + { + } + + public void Close() + { + } + + #endregion + + #region IGroupsServicesConnector + + public UUID CreateGroup(UUID RequestingAgentID, string name, string charter, bool showInList, UUID insigniaID, int membershipFee, bool openEnrollment, + bool allowPublish, bool maturePublish, UUID founderID, out string reason) + { + m_log.DebugFormat("[Groups.RemoteConnector]: Creating group {0}", name); + string r = string.Empty; + + UUID groupID = m_CacheWrapper.CreateGroup(RequestingAgentID, delegate + { + return m_GroupsService.CreateGroup(RequestingAgentID.ToString(), name, charter, showInList, insigniaID, + membershipFee, openEnrollment, allowPublish, maturePublish, founderID, out r); + }); + + reason = r; + return groupID; + } + + public bool UpdateGroup(string RequestingAgentID, UUID groupID, string charter, bool showInList, UUID insigniaID, int membershipFee, + bool openEnrollment, bool allowPublish, bool maturePublish, out string reason) + { + string r = string.Empty; + + bool success = m_CacheWrapper.UpdateGroup(groupID, delegate + { + return m_GroupsService.UpdateGroup(RequestingAgentID, groupID, charter, showInList, insigniaID, membershipFee, openEnrollment, allowPublish, maturePublish); + }); + + reason = r; + return success; + } + + public ExtendedGroupRecord GetGroupRecord(string RequestingAgentID, UUID GroupID, string GroupName) + { + if (GroupID == UUID.Zero && (GroupName == null || GroupName != null && GroupName == string.Empty)) + return null; + + return m_CacheWrapper.GetGroupRecord(RequestingAgentID,GroupID,GroupName, delegate + { + return m_GroupsService.GetGroupRecord(RequestingAgentID, GroupID, GroupName); + }); + } + + public List FindGroups(string RequestingAgentID, string search) + { + // TODO! + return new List(); + } + + public bool AddAgentToGroup(string RequestingAgentID, string AgentID, UUID GroupID, UUID RoleID, string token, out string reason) + { + string agentFullID = AgentID; + m_log.DebugFormat("[Groups.RemoteConnector]: Add agent {0} to group {1}", agentFullID, GroupID); + string r = string.Empty; + + bool success = m_CacheWrapper.AddAgentToGroup(RequestingAgentID, AgentID, GroupID, delegate + { + return m_GroupsService.AddAgentToGroup(RequestingAgentID, agentFullID, GroupID, RoleID, token, out r); + }); + + reason = r; + return success; + } + + public void RemoveAgentFromGroup(string RequestingAgentID, string AgentID, UUID GroupID) + { + m_CacheWrapper.RemoveAgentFromGroup(RequestingAgentID, AgentID, GroupID, delegate + { + m_GroupsService.RemoveAgentFromGroup(RequestingAgentID, AgentID, GroupID); + }); + + } + + public void SetAgentActiveGroup(string RequestingAgentID, string AgentID, UUID GroupID) + { + m_CacheWrapper.SetAgentActiveGroup(AgentID, delegate + { + return m_GroupsService.SetAgentActiveGroup(RequestingAgentID, AgentID, GroupID); + }); + } + + public ExtendedGroupMembershipData GetAgentActiveMembership(string RequestingAgentID, string AgentID) + { + return m_CacheWrapper.GetAgentActiveMembership(AgentID, delegate + { + return m_GroupsService.GetMembership(RequestingAgentID, AgentID, UUID.Zero); + }); + } + + public ExtendedGroupMembershipData GetAgentGroupMembership(string RequestingAgentID, string AgentID, UUID GroupID) + { + return m_CacheWrapper.GetAgentGroupMembership(AgentID, GroupID, delegate + { + return m_GroupsService.GetMembership(RequestingAgentID, AgentID, GroupID); + }); + } + + public List GetAgentGroupMemberships(string RequestingAgentID, string AgentID) + { + return m_CacheWrapper.GetAgentGroupMemberships(AgentID, delegate + { + return m_GroupsService.GetMemberships(RequestingAgentID, AgentID); + }); + } + + + public List GetGroupMembers(string RequestingAgentID, UUID GroupID) + { + return m_CacheWrapper.GetGroupMembers(RequestingAgentID, GroupID, delegate + { + return m_GroupsService.GetGroupMembers(RequestingAgentID, GroupID); + }); + } + + public bool AddGroupRole(string RequestingAgentID, UUID groupID, UUID roleID, string name, string description, string title, ulong powers, out string reason) + { + string r = string.Empty; + bool success = m_CacheWrapper.AddGroupRole(roleID, description, name, powers, title, delegate + { + return m_GroupsService.AddGroupRole(RequestingAgentID, groupID, roleID, name, description, title, powers, out r); + }); + + reason = r; + return success; + } + + public bool UpdateGroupRole(string RequestingAgentID, UUID groupID, UUID roleID, string name, string description, string title, ulong powers) + { + return m_CacheWrapper.UpdateGroupRole(groupID, roleID, name, description, title, powers, delegate + { + return m_GroupsService.UpdateGroupRole(RequestingAgentID, groupID, roleID, name, description, title, powers); + }); + } + + public void RemoveGroupRole(string RequestingAgentID, UUID groupID, UUID roleID) + { + m_CacheWrapper.RemoveGroupRole(RequestingAgentID, groupID, roleID, delegate + { + m_GroupsService.RemoveGroupRole(RequestingAgentID, groupID, roleID); + }); + } + + public List GetGroupRoles(string RequestingAgentID, UUID GroupID) + { + return m_CacheWrapper.GetGroupRoles(RequestingAgentID, GroupID, delegate + { + return m_GroupsService.GetGroupRoles(RequestingAgentID, GroupID); + }); + } + + public List GetGroupRoleMembers(string RequestingAgentID, UUID GroupID) + { + return m_CacheWrapper.GetGroupRoleMembers(RequestingAgentID, GroupID, delegate + { + return m_GroupsService.GetGroupRoleMembers(RequestingAgentID, GroupID); + }); + } + + public void AddAgentToGroupRole(string RequestingAgentID, string AgentID, UUID GroupID, UUID RoleID) + { + m_CacheWrapper.AddAgentToGroupRole(RequestingAgentID, AgentID, GroupID, RoleID, delegate + { + return m_GroupsService.AddAgentToGroupRole(RequestingAgentID, AgentID, GroupID, RoleID); + }); + } + + public void RemoveAgentFromGroupRole(string RequestingAgentID, string AgentID, UUID GroupID, UUID RoleID) + { + m_CacheWrapper.RemoveAgentFromGroupRole(RequestingAgentID, AgentID, GroupID, RoleID, delegate + { + return m_GroupsService.RemoveAgentFromGroupRole(RequestingAgentID, AgentID, GroupID, RoleID); + }); + } + + public List GetAgentGroupRoles(string RequestingAgentID, string AgentID, UUID GroupID) + { + return m_CacheWrapper.GetAgentGroupRoles(RequestingAgentID, AgentID, GroupID, delegate + { + return m_GroupsService.GetAgentGroupRoles(RequestingAgentID, AgentID, GroupID); ; + }); + } + + public void SetAgentActiveGroupRole(string RequestingAgentID, string AgentID, UUID GroupID, UUID RoleID) + { + m_CacheWrapper.SetAgentActiveGroupRole(AgentID, GroupID, delegate + { + m_GroupsService.SetAgentActiveGroupRole(RequestingAgentID, AgentID, GroupID, RoleID); + }); + } + + public void UpdateMembership(string RequestingAgentID, string AgentID, UUID GroupID, bool AcceptNotices, bool ListInProfile) + { + m_CacheWrapper.UpdateMembership(AgentID, GroupID, AcceptNotices, ListInProfile, delegate + { + m_GroupsService.UpdateMembership(RequestingAgentID, AgentID, GroupID, AcceptNotices, ListInProfile); + }); + } + + public bool AddAgentToGroupInvite(string RequestingAgentID, UUID inviteID, UUID groupID, UUID roleID, string agentID) + { + return m_GroupsService.AddAgentToGroupInvite(RequestingAgentID, inviteID, groupID, roleID, agentID); + } + + public GroupInviteInfo GetAgentToGroupInvite(string RequestingAgentID, UUID inviteID) + { + return m_GroupsService.GetAgentToGroupInvite(RequestingAgentID, inviteID); + } + + public void RemoveAgentToGroupInvite(string RequestingAgentID, UUID inviteID) + { + m_GroupsService.RemoveAgentToGroupInvite(RequestingAgentID, inviteID); + } + + public bool AddGroupNotice(string RequestingAgentID, UUID groupID, UUID noticeID, string fromName, string subject, string message, + bool hasAttachment, byte attType, string attName, UUID attItemID, string attOwnerID) + { + GroupNoticeInfo notice = new GroupNoticeInfo(); + notice.GroupID = groupID; + notice.Message = message; + notice.noticeData = new ExtendedGroupNoticeData(); + notice.noticeData.AttachmentItemID = attItemID; + notice.noticeData.AttachmentName = attName; + notice.noticeData.AttachmentOwnerID = attOwnerID.ToString(); + notice.noticeData.AttachmentType = attType; + notice.noticeData.FromName = fromName; + notice.noticeData.HasAttachment = hasAttachment; + notice.noticeData.NoticeID = noticeID; + notice.noticeData.Subject = subject; + notice.noticeData.Timestamp = (uint)Util.UnixTimeSinceEpoch(); + + return m_CacheWrapper.AddGroupNotice(groupID, noticeID, notice, delegate + { + return m_GroupsService.AddGroupNotice(RequestingAgentID, groupID, noticeID, fromName, subject, message, + hasAttachment, attType, attName, attItemID, attOwnerID); + }); + } + + public GroupNoticeInfo GetGroupNotice(string RequestingAgentID, UUID noticeID) + { + return m_CacheWrapper.GetGroupNotice(noticeID, delegate + { + return m_GroupsService.GetGroupNotice(RequestingAgentID, noticeID); + }); + } + + public List GetGroupNotices(string RequestingAgentID, UUID GroupID) + { + return m_CacheWrapper.GetGroupNotices(GroupID, delegate + { + return m_GroupsService.GetGroupNotices(RequestingAgentID, GroupID); + }); + } + + public void ResetAgentGroupChatSessions(string agentID) + { + } + + public bool hasAgentBeenInvitedToGroupChatSession(string agentID, UUID groupID) + { + return false; + } + + public bool hasAgentDroppedGroupChatSession(string agentID, UUID groupID) + { + return false; + } + + public void AgentDroppedFromGroupChatSession(string agentID, UUID groupID) + { + } + + public void AgentInvitedToGroupChatSession(string agentID, UUID groupID) + { + } + + #endregion + } + +} diff --git a/OpenSim/Addons/Groups/Remote/GroupsServiceRobustConnector.cs b/OpenSim/Addons/Groups/Remote/GroupsServiceRobustConnector.cs new file mode 100644 index 0000000000..8c257edcc0 --- /dev/null +++ b/OpenSim/Addons/Groups/Remote/GroupsServiceRobustConnector.cs @@ -0,0 +1,760 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Reflection; +using System.Text; +using System.Xml; +using System.Collections.Generic; +using System.IO; +using Nini.Config; +using OpenSim.Framework; +using OpenSim.Server.Base; +using OpenSim.Services.Interfaces; +using OpenSim.Framework.Servers.HttpServer; +using OpenSim.Server.Handlers.Base; +using log4net; +using OpenMetaverse; + +namespace OpenSim.Groups +{ + public class GroupsServiceRobustConnector : ServiceConnector + { + private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + + private GroupsService m_GroupsService; + private string m_ConfigName = "Groups"; + + public GroupsServiceRobustConnector(IConfigSource config, IHttpServer server, string configName) : + base(config, server, configName) + { + if (configName != String.Empty) + m_ConfigName = configName; + + m_log.DebugFormat("[Groups.RobustConnector]: Starting with config name {0}", m_ConfigName); + + m_GroupsService = new GroupsService(config); + + server.AddStreamHandler(new GroupsServicePostHandler(m_GroupsService)); + } + } + + public class GroupsServicePostHandler : BaseStreamHandler + { + private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + + private GroupsService m_GroupsService; + + public GroupsServicePostHandler(GroupsService service) : + base("POST", "/groups") + { + m_GroupsService = service; + } + + public override byte[] Handle(string path, Stream requestData, + IOSHttpRequest httpRequest, IOSHttpResponse httpResponse) + { + StreamReader sr = new StreamReader(requestData); + string body = sr.ReadToEnd(); + sr.Close(); + body = body.Trim(); + + //m_log.DebugFormat("[XXX]: query String: {0}", body); + + try + { + Dictionary request = + ServerUtils.ParseQueryString(body); + + if (!request.ContainsKey("METHOD")) + return FailureResult(); + + string method = request["METHOD"].ToString(); + request.Remove("METHOD"); + + m_log.DebugFormat("[Groups.Handler]: {0}", method); + switch (method) + { + case "PUTGROUP": + return HandleAddOrUpdateGroup(request); + case "GETGROUP": + return HandleGetGroup(request); + case "ADDAGENTTOGROUP": + return HandleAddAgentToGroup(request); + case "REMOVEAGENTFROMGROUP": + return HandleRemoveAgentFromGroup(request); + case "GETMEMBERSHIP": + return HandleGetMembership(request); + case "GETGROUPMEMBERS": + return HandleGetGroupMembers(request); + case "PUTROLE": + return HandlePutRole(request); + case "REMOVEROLE": + return HandleRemoveRole(request); + case "GETGROUPROLES": + return HandleGetGroupRoles(request); + case "GETROLEMEMBERS": + return HandleGetRoleMembers(request); + case "AGENTROLE": + return HandleAgentRole(request); + case "GETAGENTROLES": + return HandleGetAgentRoles(request); + case "SETACTIVE": + return HandleSetActive(request); + case "UPDATEMEMBERSHIP": + return HandleUpdateMembership(request); + case "INVITE": + return HandleInvite(request); + case "ADDNOTICE": + return HandleAddNotice(request); + case "GETNOTICES": + return HandleGetNotices(request); + } + m_log.DebugFormat("[GROUPS HANDLER]: unknown method request: {0}", method); + } + catch (Exception e) + { + m_log.DebugFormat("[GROUPS HANDLER]: Exception {0}", e.StackTrace); + } + + return FailureResult(); + } + + byte[] HandleAddOrUpdateGroup(Dictionary request) + { + Dictionary result = new Dictionary(); + + ExtendedGroupRecord grec = GroupsDataUtils.GroupRecord(request); + if (!request.ContainsKey("RequestingAgentID") || !request.ContainsKey("OP")) + NullResult(result, "Bad network data"); + + else + { + string RequestingAgentID = request["RequestingAgentID"].ToString(); + string reason = string.Empty; + string op = request["OP"].ToString(); + if (op == "ADD") + { + grec.GroupID = m_GroupsService.CreateGroup(RequestingAgentID, grec.GroupName, grec.Charter, grec.ShowInList, grec.GroupPicture, grec.MembershipFee, + grec.OpenEnrollment, grec.AllowPublish, grec.MaturePublish, grec.FounderID, out reason); + + } + else if (op == "UPDATE") + { + m_GroupsService.UpdateGroup(RequestingAgentID, grec.GroupID, grec.Charter, grec.ShowInList, grec.GroupPicture, grec.MembershipFee, + grec.OpenEnrollment, grec.AllowPublish, grec.MaturePublish); + + } + + grec = m_GroupsService.GetGroupRecord(RequestingAgentID, grec.GroupID); + if (grec == null) + NullResult(result, "Internal Error"); + else + result["RESULT"] = GroupsDataUtils.GroupRecord(grec); + } + + string xmlString = ServerUtils.BuildXmlResponse(result); + + //m_log.DebugFormat("[XXX]: resp string: {0}", xmlString); + return Util.UTF8NoBomEncoding.GetBytes(xmlString); + } + + byte[] HandleGetGroup(Dictionary request) + { + Dictionary result = new Dictionary(); + + if (!request.ContainsKey("RequestingAgentID")) + NullResult(result, "Bad network data"); + else + { + string RequestingAgentID = request["RequestingAgentID"].ToString(); + ExtendedGroupRecord grec = null; + if (request.ContainsKey("GroupID")) + { + UUID groupID = new UUID(request["GroupID"].ToString()); + grec = m_GroupsService.GetGroupRecord(RequestingAgentID, groupID); + } + else if (request.ContainsKey("Name")) + { + string name = request["Name"].ToString(); + grec = m_GroupsService.GetGroupRecord(RequestingAgentID, name); + } + + if (grec == null) + NullResult(result, "Group not found"); + else + result["RESULT"] = GroupsDataUtils.GroupRecord(grec); + } + + string xmlString = ServerUtils.BuildXmlResponse(result); + + //m_log.DebugFormat("[XXX]: resp string: {0}", xmlString); + return Util.UTF8NoBomEncoding.GetBytes(xmlString); + } + + byte[] HandleAddAgentToGroup(Dictionary request) + { + Dictionary result = new Dictionary(); + + if (!request.ContainsKey("RequestingAgentID") || !request.ContainsKey("AgentID") || + !request.ContainsKey("GroupID") || !request.ContainsKey("RoleID")) + NullResult(result, "Bad network data"); + else + { + UUID groupID = new UUID(request["GroupID"].ToString()); + UUID roleID = new UUID(request["RoleID"].ToString()); + string agentID = request["AgentID"].ToString(); + string requestingAgentID = request["RequestingAgentID"].ToString(); + string token = string.Empty; + string reason = string.Empty; + + if (request.ContainsKey("AccessToken")) + token = request["AccessToken"].ToString(); + + if (!m_GroupsService.AddAgentToGroup(requestingAgentID, agentID, groupID, roleID, token, out reason)) + NullResult(result, reason); + else + { + GroupMembershipData membership = m_GroupsService.GetAgentGroupMembership(requestingAgentID, agentID, groupID); + if (membership == null) + NullResult(result, "Internal error"); + else + result["RESULT"] = GroupsDataUtils.GroupMembershipData((ExtendedGroupMembershipData)membership); + } + } + + string xmlString = ServerUtils.BuildXmlResponse(result); + + //m_log.DebugFormat("[XXX]: resp string: {0}", xmlString); + return Util.UTF8NoBomEncoding.GetBytes(xmlString); + } + + byte[] HandleRemoveAgentFromGroup(Dictionary request) + { + Dictionary result = new Dictionary(); + + if (!request.ContainsKey("RequestingAgentID") || !request.ContainsKey("AgentID") || !request.ContainsKey("GroupID")) + NullResult(result, "Bad network data"); + else + { + UUID groupID = new UUID(request["GroupID"].ToString()); + string agentID = request["AgentID"].ToString(); + string requestingAgentID = request["RequestingAgentID"].ToString(); + string reason = string.Empty; + + m_GroupsService.RemoveAgentFromGroup(requestingAgentID, agentID, groupID); + } + + //m_log.DebugFormat("[XXX]: resp string: {0}", xmlString); + result["RESULT"] = "true"; + return Util.UTF8NoBomEncoding.GetBytes(ServerUtils.BuildXmlResponse(result)); + } + + byte[] HandleGetMembership(Dictionary request) + { + Dictionary result = new Dictionary(); + + if (!request.ContainsKey("RequestingAgentID") || !request.ContainsKey("AgentID")) + NullResult(result, "Bad network data"); + else + { + string agentID = request["AgentID"].ToString(); + UUID groupID = UUID.Zero; + if (request.ContainsKey("GroupID")) + groupID = new UUID(request["GroupID"].ToString()); + string requestingAgentID = request["RequestingAgentID"].ToString(); + bool all = request.ContainsKey("ALL"); + + if (!all) + { + ExtendedGroupMembershipData membership = null; + if (groupID == UUID.Zero) + { + membership = m_GroupsService.GetAgentActiveMembership(requestingAgentID, agentID); + } + else + { + membership = m_GroupsService.GetAgentGroupMembership(requestingAgentID, agentID, groupID); + } + + if (membership == null) + NullResult(result, "No such membership"); + else + result["RESULT"] = GroupsDataUtils.GroupMembershipData(membership); + } + else + { + List memberships = m_GroupsService.GetAgentGroupMemberships(requestingAgentID, agentID); + if (memberships == null || (memberships != null && memberships.Count == 0)) + { + NullResult(result, "No memberships"); + } + else + { + Dictionary dict = new Dictionary(); + int i = 0; + foreach (GroupMembershipData m in memberships) + dict["m-" + i++] = GroupsDataUtils.GroupMembershipData((ExtendedGroupMembershipData)m); + + result["RESULT"] = dict; + } + } + } + + string xmlString = ServerUtils.BuildXmlResponse(result); + + //m_log.DebugFormat("[XXX]: resp string: {0}", xmlString); + return Util.UTF8NoBomEncoding.GetBytes(xmlString); + } + + byte[] HandleGetGroupMembers(Dictionary request) + { + Dictionary result = new Dictionary(); + + if (!request.ContainsKey("RequestingAgentID") || !request.ContainsKey("GroupID")) + NullResult(result, "Bad network data"); + else + { + UUID groupID = new UUID(request["GroupID"].ToString()); + string requestingAgentID = request["RequestingAgentID"].ToString(); + + List members = m_GroupsService.GetGroupMembers(requestingAgentID, groupID); + if (members == null || (members != null && members.Count == 0)) + { + NullResult(result, "No members"); + } + else + { + Dictionary dict = new Dictionary(); + int i = 0; + foreach (ExtendedGroupMembersData m in members) + { + dict["m-" + i++] = GroupsDataUtils.GroupMembersData(m); + } + + result["RESULT"] = dict; + } + } + + string xmlString = ServerUtils.BuildXmlResponse(result); + + //m_log.DebugFormat("[XXX]: resp string: {0}", xmlString); + return Util.UTF8NoBomEncoding.GetBytes(xmlString); + } + + byte[] HandlePutRole(Dictionary request) + { + Dictionary result = new Dictionary(); + + if (!request.ContainsKey("RequestingAgentID") || !request.ContainsKey("GroupID") || !request.ContainsKey("RoleID") || + !request.ContainsKey("Name") || !request.ContainsKey("Descrption") || !request.ContainsKey("Title") || + !request.ContainsKey("Powers") || !request.ContainsKey("OP")) + NullResult(result, "Bad network data"); + + else + { + string op = request["OP"].ToString(); + string reason = string.Empty; + + bool success = false; + if (op == "ADD") + success = m_GroupsService.AddGroupRole(request["RequestingAgentID"].ToString(), new UUID(request["GroupID"].ToString()), + new UUID(request["RoleID"].ToString()), request["Name"].ToString(), request["Description"].ToString(), + request["Title"].ToString(), UInt64.Parse(request["Powers"].ToString()), out reason); + + else if (op == "UPDATE") + success = m_GroupsService.UpdateGroupRole(request["RequestingAgentID"].ToString(), new UUID(request["GroupID"].ToString()), + new UUID(request["RoleID"].ToString()), request["Name"].ToString(), request["Description"].ToString(), + request["Title"].ToString(), UInt64.Parse(request["Powers"].ToString())); + + result["RESULT"] = success.ToString(); + } + + string xmlString = ServerUtils.BuildXmlResponse(result); + + //m_log.DebugFormat("[XXX]: resp string: {0}", xmlString); + return Util.UTF8NoBomEncoding.GetBytes(xmlString); + } + + byte[] HandleRemoveRole(Dictionary request) + { + Dictionary result = new Dictionary(); + + if (!request.ContainsKey("RequestingAgentID") || !request.ContainsKey("GroupID") || !request.ContainsKey("RoleID")) + NullResult(result, "Bad network data"); + + else + { + m_GroupsService.RemoveGroupRole(request["RequestingAgentID"].ToString(), new UUID(request["GroupID"].ToString()), + new UUID(request["RoleID"].ToString())); + result["RESULT"] = "true"; + } + + //m_log.DebugFormat("[XXX]: resp string: {0}", xmlString); + return Util.UTF8NoBomEncoding.GetBytes(ServerUtils.BuildXmlResponse(result)); + } + + byte[] HandleGetGroupRoles(Dictionary request) + { + Dictionary result = new Dictionary(); + + if (!request.ContainsKey("RequestingAgentID") || !request.ContainsKey("GroupID")) + NullResult(result, "Bad network data"); + else + { + UUID groupID = new UUID(request["GroupID"].ToString()); + string requestingAgentID = request["RequestingAgentID"].ToString(); + + List roles = m_GroupsService.GetGroupRoles(requestingAgentID, groupID); + if (roles == null || (roles != null && roles.Count == 0)) + { + NullResult(result, "No members"); + } + else + { + Dictionary dict = new Dictionary(); + int i = 0; + foreach (GroupRolesData r in roles) + dict["r-" + i++] = GroupsDataUtils.GroupRolesData(r); + + result["RESULT"] = dict; + } + } + + string xmlString = ServerUtils.BuildXmlResponse(result); + + //m_log.DebugFormat("[XXX]: resp string: {0}", xmlString); + return Util.UTF8NoBomEncoding.GetBytes(xmlString); + } + + byte[] HandleGetRoleMembers(Dictionary request) + { + Dictionary result = new Dictionary(); + + if (!request.ContainsKey("RequestingAgentID") || !request.ContainsKey("GroupID")) + NullResult(result, "Bad network data"); + else + { + UUID groupID = new UUID(request["GroupID"].ToString()); + string requestingAgentID = request["RequestingAgentID"].ToString(); + + List rmembers = m_GroupsService.GetGroupRoleMembers(requestingAgentID, groupID); + if (rmembers == null || (rmembers != null && rmembers.Count == 0)) + { + NullResult(result, "No members"); + } + else + { + Dictionary dict = new Dictionary(); + int i = 0; + foreach (ExtendedGroupRoleMembersData rm in rmembers) + dict["rm-" + i++] = GroupsDataUtils.GroupRoleMembersData(rm); + + result["RESULT"] = dict; + } + } + + string xmlString = ServerUtils.BuildXmlResponse(result); + + //m_log.DebugFormat("[XXX]: resp string: {0}", xmlString); + return Util.UTF8NoBomEncoding.GetBytes(xmlString); + } + + byte[] HandleAgentRole(Dictionary request) + { + Dictionary result = new Dictionary(); + + if (!request.ContainsKey("RequestingAgentID") || !request.ContainsKey("GroupID") || !request.ContainsKey("RoleID") || + !request.ContainsKey("AgentID") || !request.ContainsKey("OP")) + NullResult(result, "Bad network data"); + + else + { + string op = request["OP"].ToString(); + string reason = string.Empty; + + bool success = false; + if (op == "ADD") + success = m_GroupsService.AddAgentToGroupRole(request["RequestingAgentID"].ToString(), request["AgentID"].ToString(), + new UUID(request["GroupID"].ToString()), new UUID(request["RoleID"].ToString())); + + else if (op == "DELETE") + success = m_GroupsService.RemoveAgentFromGroupRole(request["RequestingAgentID"].ToString(), request["AgentID"].ToString(), + new UUID(request["GroupID"].ToString()), new UUID(request["RoleID"].ToString())); + + result["RESULT"] = success.ToString(); + } + + string xmlString = ServerUtils.BuildXmlResponse(result); + + //m_log.DebugFormat("[XXX]: resp string: {0}", xmlString); + return Util.UTF8NoBomEncoding.GetBytes(xmlString); + } + + byte[] HandleGetAgentRoles(Dictionary request) + { + Dictionary result = new Dictionary(); + + if (!request.ContainsKey("RequestingAgentID") || !request.ContainsKey("GroupID") || !request.ContainsKey("AgentID")) + NullResult(result, "Bad network data"); + else + { + UUID groupID = new UUID(request["GroupID"].ToString()); + string agentID = request["AgentID"].ToString(); + string requestingAgentID = request["RequestingAgentID"].ToString(); + + List roles = m_GroupsService.GetAgentGroupRoles(requestingAgentID, agentID, groupID); + if (roles == null || (roles != null && roles.Count == 0)) + { + NullResult(result, "No members"); + } + else + { + Dictionary dict = new Dictionary(); + int i = 0; + foreach (GroupRolesData r in roles) + dict["r-" + i++] = GroupsDataUtils.GroupRolesData(r); + + result["RESULT"] = dict; + } + } + + string xmlString = ServerUtils.BuildXmlResponse(result); + + //m_log.DebugFormat("[XXX]: resp string: {0}", xmlString); + return Util.UTF8NoBomEncoding.GetBytes(xmlString); + } + + byte[] HandleSetActive(Dictionary request) + { + Dictionary result = new Dictionary(); + + if (!request.ContainsKey("RequestingAgentID") || !request.ContainsKey("GroupID") || + !request.ContainsKey("AgentID") || !request.ContainsKey("OP")) + { + NullResult(result, "Bad network data"); + string xmlString = ServerUtils.BuildXmlResponse(result); + return Util.UTF8NoBomEncoding.GetBytes(xmlString); + } + else + { + string op = request["OP"].ToString(); + string reason = string.Empty; + + if (op == "GROUP") + { + ExtendedGroupMembershipData group = m_GroupsService.SetAgentActiveGroup(request["RequestingAgentID"].ToString(), + request["AgentID"].ToString(), new UUID(request["GroupID"].ToString())); + + if (group == null) + NullResult(result, "Internal error"); + else + result["RESULT"] = GroupsDataUtils.GroupMembershipData(group); + + string xmlString = ServerUtils.BuildXmlResponse(result); + + //m_log.DebugFormat("[XXX]: resp string: {0}", xmlString); + return Util.UTF8NoBomEncoding.GetBytes(xmlString); + + } + else if (op == "ROLE" && request.ContainsKey("RoleID")) + { + m_GroupsService.SetAgentActiveGroupRole(request["RequestingAgentID"].ToString(), request["AgentID"].ToString(), + new UUID(request["GroupID"].ToString()), new UUID(request["RoleID"].ToString())); + result["RESULT"] = "true"; + } + + return Util.UTF8NoBomEncoding.GetBytes(ServerUtils.BuildXmlResponse(result)); + } + + } + + byte[] HandleUpdateMembership(Dictionary request) + { + Dictionary result = new Dictionary(); + + if (!request.ContainsKey("RequestingAgentID") || !request.ContainsKey("AgentID") || !request.ContainsKey("GroupID") || + !request.ContainsKey("AcceptNotices") || !request.ContainsKey("ListInProfile")) + NullResult(result, "Bad network data"); + + else + { + m_GroupsService.UpdateMembership(request["RequestingAgentID"].ToString(), request["AgentID"].ToString(), new UUID(request["GroupID"].ToString()), + bool.Parse(request["AcceptNotices"].ToString()), bool.Parse(request["ListInProfile"].ToString())); + + result["RESULT"] = "true"; + } + + //m_log.DebugFormat("[XXX]: resp string: {0}", xmlString); + return Util.UTF8NoBomEncoding.GetBytes(ServerUtils.BuildXmlResponse(result)); + } + + byte[] HandleInvite(Dictionary request) + { + Dictionary result = new Dictionary(); + + if (!request.ContainsKey("RequestingAgentID") || !request.ContainsKey("InviteID")) + { + NullResult(result, "Bad network data"); + string xmlString = ServerUtils.BuildXmlResponse(result); + return Util.UTF8NoBomEncoding.GetBytes(xmlString); + } + else + { + string op = request["OP"].ToString(); + string reason = string.Empty; + + if (op == "ADD" && request.ContainsKey("GroupID") && request.ContainsKey("RoleID") && request.ContainsKey("AgentID")) + { + bool success = m_GroupsService.AddAgentToGroupInvite(request["RequestingAgentID"].ToString(), + new UUID(request["InviteID"].ToString()), new UUID(request["GroupID"].ToString()), + new UUID(request["RoleID"].ToString()), request["AgentID"].ToString()); + + result["RESULT"] = success.ToString(); + return Util.UTF8NoBomEncoding.GetBytes(ServerUtils.BuildXmlResponse(result)); + + } + else if (op == "DELETE") + { + m_GroupsService.RemoveAgentToGroupInvite(request["RequestingAgentID"].ToString(), new UUID(request["InviteID"].ToString())); + result["RESULT"] = "true"; + return Util.UTF8NoBomEncoding.GetBytes(ServerUtils.BuildXmlResponse(result)); + } + else if (op == "GET") + { + GroupInviteInfo invite = m_GroupsService.GetAgentToGroupInvite(request["RequestingAgentID"].ToString(), + new UUID(request["InviteID"].ToString())); + + result["RESULT"] = GroupsDataUtils.GroupInviteInfo(invite); + return Util.UTF8NoBomEncoding.GetBytes(ServerUtils.BuildXmlResponse(result)); + } + + NullResult(result, "Bad OP in request"); + return Util.UTF8NoBomEncoding.GetBytes(ServerUtils.BuildXmlResponse(result)); + } + + } + + byte[] HandleAddNotice(Dictionary request) + { + Dictionary result = new Dictionary(); + + if (!request.ContainsKey("RequestingAgentID") || !request.ContainsKey("GroupID") || !request.ContainsKey("NoticeID") || + !request.ContainsKey("FromName") || !request.ContainsKey("Subject") || !request.ContainsKey("Message") || + !request.ContainsKey("HasAttachment")) + NullResult(result, "Bad network data"); + + else + { + + bool hasAtt = bool.Parse(request["HasAttachment"].ToString()); + byte attType = 0; + string attName = string.Empty; + string attOwner = string.Empty; + UUID attItem = UUID.Zero; + if (request.ContainsKey("AttachmentType")) + attType = byte.Parse(request["AttachmentType"].ToString()); + if (request.ContainsKey("AttachmentName")) + attName = request["AttachmentName"].ToString(); + if (request.ContainsKey("AttachmentItemID")) + attItem = new UUID(request["AttachmentItemID"].ToString()); + if (request.ContainsKey("AttachmentOwnerID")) + attOwner = request["AttachmentOwnerID"].ToString(); + + bool success = m_GroupsService.AddGroupNotice(request["RequestingAgentID"].ToString(), new UUID(request["GroupID"].ToString()), + new UUID(request["NoticeID"].ToString()), request["FromName"].ToString(), request["Subject"].ToString(), + request["Message"].ToString(), hasAtt, attType, attName, attItem, attOwner); + + result["RESULT"] = success.ToString(); + } + + string xmlString = ServerUtils.BuildXmlResponse(result); + + //m_log.DebugFormat("[XXX]: resp string: {0}", xmlString); + return Util.UTF8NoBomEncoding.GetBytes(xmlString); + } + + byte[] HandleGetNotices(Dictionary request) + { + Dictionary result = new Dictionary(); + + if (!request.ContainsKey("RequestingAgentID")) + NullResult(result, "Bad network data"); + + else if (request.ContainsKey("NoticeID")) // just one + { + GroupNoticeInfo notice = m_GroupsService.GetGroupNotice(request["RequestingAgentID"].ToString(), new UUID(request["NoticeID"].ToString())); + + if (notice == null) + NullResult(result, "NO such notice"); + else + result["RESULT"] = GroupsDataUtils.GroupNoticeInfo(notice); + + } + else if (request.ContainsKey("GroupID")) // all notices for group + { + List notices = m_GroupsService.GetGroupNotices(request["RequestingAgentID"].ToString(), new UUID(request["GroupID"].ToString())); + + if (notices == null || (notices != null && notices.Count == 0)) + NullResult(result, "No notices"); + else + { + Dictionary dict = new Dictionary(); + int i = 0; + foreach (ExtendedGroupNoticeData n in notices) + dict["n-" + i++] = GroupsDataUtils.GroupNoticeData(n); + + result["RESULT"] = dict; + } + + } + else + NullResult(result, "Bad OP in request"); + + string xmlString = ServerUtils.BuildXmlResponse(result); + return Util.UTF8NoBomEncoding.GetBytes(xmlString); + } + + + #region Helpers + + private void NullResult(Dictionary result, string reason) + { + result["RESULT"] = "NULL"; + result["REASON"] = reason; + } + + private byte[] FailureResult() + { + Dictionary result = new Dictionary(); + NullResult(result, "Unknown method"); + string xmlString = ServerUtils.BuildXmlResponse(result); + return Util.UTF8NoBomEncoding.GetBytes(xmlString); + } + #endregion + } +} diff --git a/OpenSim/Addons/Groups/RemoteConnectorCacheWrapper.cs b/OpenSim/Addons/Groups/RemoteConnectorCacheWrapper.cs new file mode 100644 index 0000000000..f789626d07 --- /dev/null +++ b/OpenSim/Addons/Groups/RemoteConnectorCacheWrapper.cs @@ -0,0 +1,824 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using System.Reflection; +using System.Threading; + +using OpenSim.Framework; +using OpenSim.Region.Framework.Interfaces; + +using OpenMetaverse; + +namespace OpenSim.Groups +{ + public delegate ExtendedGroupRecord GroupRecordDelegate(); + public delegate GroupMembershipData GroupMembershipDelegate(); + public delegate List GroupMembershipListDelegate(); + public delegate List GroupMembersListDelegate(); + public delegate List GroupRolesListDelegate(); + public delegate List RoleMembersListDelegate(); + public delegate GroupNoticeInfo NoticeDelegate(); + public delegate List NoticeListDelegate(); + public delegate void VoidDelegate(); + public delegate bool BooleanDelegate(); + + public class RemoteConnectorCacheWrapper + { + private ForeignImporter m_ForeignImporter; + + private Dictionary m_ActiveRequests = new Dictionary(); + private const int GROUPS_CACHE_TIMEOUT = 5 * 60; // 5 minutes + + // This all important cache cahces objects of different types: + // group- or group- => ExtendedGroupRecord + // active- => GroupMembershipData + // membership-- => GroupMembershipData + // memberships- => List + // members-- => List + // role- => GroupRolesData + // roles- => List ; all roles in the group + // roles-- => List ; roles that the agent has + // rolemembers-- => List + // notice- => GroupNoticeInfo + // notices- => List + private ExpiringCache m_Cache = new ExpiringCache(); + + public RemoteConnectorCacheWrapper(IUserManagement uman) + { + m_ForeignImporter = new ForeignImporter(uman); + } + + public UUID CreateGroup(UUID RequestingAgentID, GroupRecordDelegate d) + { + //m_log.DebugFormat("[Groups.RemoteConnector]: Creating group {0}", name); + //reason = string.Empty; + + //ExtendedGroupRecord group = m_GroupsService.CreateGroup(RequestingAgentID.ToString(), name, charter, showInList, insigniaID, + // membershipFee, openEnrollment, allowPublish, maturePublish, founderID, out reason); + ExtendedGroupRecord group = d(); + + if (group == null) + return UUID.Zero; + + if (group.GroupID != UUID.Zero) + lock (m_Cache) + { + m_Cache.Add("group-" + group.GroupID.ToString(), group, GROUPS_CACHE_TIMEOUT); + if (m_Cache.Contains("memberships-" + RequestingAgentID.ToString())) + m_Cache.Remove("memberships-" + RequestingAgentID.ToString()); + } + + return group.GroupID; + } + + public bool UpdateGroup(UUID groupID, GroupRecordDelegate d) + { + //reason = string.Empty; + //ExtendedGroupRecord group = m_GroupsService.UpdateGroup(RequestingAgentID, groupID, charter, showInList, insigniaID, membershipFee, openEnrollment, allowPublish, maturePublish); + ExtendedGroupRecord group = d(); + + if (group != null && group.GroupID != UUID.Zero) + lock (m_Cache) + m_Cache.AddOrUpdate("group-" + group.GroupID.ToString(), group, GROUPS_CACHE_TIMEOUT); + return true; + } + + public ExtendedGroupRecord GetGroupRecord(string RequestingAgentID, UUID GroupID, string GroupName, GroupRecordDelegate d) + { + //if (GroupID == UUID.Zero && (GroupName == null || GroupName != null && GroupName == string.Empty)) + // return null; + + object group = null; + bool firstCall = false; + string cacheKey = "group-"; + if (GroupID != UUID.Zero) + cacheKey += GroupID.ToString(); + else + cacheKey += GroupName; + + //m_log.DebugFormat("[XXX]: GetGroupRecord {0}", cacheKey); + + while (true) + { + lock (m_Cache) + { + if (m_Cache.TryGetValue(cacheKey, out group)) + { + //m_log.DebugFormat("[XXX]: GetGroupRecord {0} cached!", cacheKey); + return (ExtendedGroupRecord)group; + } + + // not cached + if (!m_ActiveRequests.ContainsKey(cacheKey)) + { + m_ActiveRequests.Add(cacheKey, true); + firstCall = true; + } + } + + if (firstCall) + { + //group = m_GroupsService.GetGroupRecord(RequestingAgentID, GroupID, GroupName); + group = d(); + + lock (m_Cache) + { + m_Cache.AddOrUpdate(cacheKey, group, GROUPS_CACHE_TIMEOUT); + m_ActiveRequests.Remove(cacheKey); + return (ExtendedGroupRecord)group; + } + } + else + Thread.Sleep(50); + } + } + + public bool AddAgentToGroup(string RequestingAgentID, string AgentID, UUID GroupID, GroupMembershipDelegate d) + { + GroupMembershipData membership = d(); + if (membership == null) + return false; + + lock (m_Cache) + { + // first, remove everything! add a user is a heavy-duty op + m_Cache.Clear(); + + m_Cache.AddOrUpdate("active-" + AgentID.ToString(), membership, GROUPS_CACHE_TIMEOUT); + m_Cache.AddOrUpdate("membership-" + AgentID.ToString() + "-" + GroupID.ToString(), membership, GROUPS_CACHE_TIMEOUT); + } + + + return true; + } + + public void RemoveAgentFromGroup(string RequestingAgentID, string AgentID, UUID GroupID, VoidDelegate d) + { + d(); + + lock (m_Cache) + { + string cacheKey = "active-" + AgentID.ToString(); + if (m_Cache.Contains(cacheKey)) + m_Cache.Remove(cacheKey); + + cacheKey = "memberships-" + AgentID.ToString(); + if (m_Cache.Contains(cacheKey)) + m_Cache.Remove(cacheKey); + + cacheKey = "membership-" + AgentID.ToString() + "-" + GroupID.ToString(); + if (m_Cache.Contains(cacheKey)) + m_Cache.Remove(cacheKey); + + cacheKey = "members-" + RequestingAgentID.ToString() + "-" + GroupID.ToString(); + if (m_Cache.Contains(cacheKey)) + m_Cache.Remove(cacheKey); + + cacheKey = "roles-" + "-" + GroupID.ToString() + "-" + AgentID.ToString(); + if (m_Cache.Contains(cacheKey)) + m_Cache.Remove(cacheKey); + } + } + + public void SetAgentActiveGroup(string AgentID, GroupMembershipDelegate d) + { + GroupMembershipData activeGroup = d(); + if (activeGroup != null) + { + string cacheKey = "active-" + AgentID.ToString(); + lock (m_Cache) + if (m_Cache.Contains(cacheKey)) + m_Cache.AddOrUpdate(cacheKey, activeGroup, GROUPS_CACHE_TIMEOUT); + } + } + + public ExtendedGroupMembershipData GetAgentActiveMembership(string AgentID, GroupMembershipDelegate d) + { + object membership = null; + bool firstCall = false; + string cacheKey = "active-" + AgentID.ToString(); + + //m_log.DebugFormat("[XXX]: GetAgentActiveMembership {0}", cacheKey); + + while (true) + { + lock (m_Cache) + { + if (m_Cache.TryGetValue(cacheKey, out membership)) + { + //m_log.DebugFormat("[XXX]: GetAgentActiveMembership {0} cached!", cacheKey); + return (ExtendedGroupMembershipData)membership; + } + + // not cached + if (!m_ActiveRequests.ContainsKey(cacheKey)) + { + m_ActiveRequests.Add(cacheKey, true); + firstCall = true; + } + } + + if (firstCall) + { + membership = d(); + + lock (m_Cache) + { + m_Cache.AddOrUpdate(cacheKey, membership, GROUPS_CACHE_TIMEOUT); + m_ActiveRequests.Remove(cacheKey); + return (ExtendedGroupMembershipData)membership; + } + } + else + Thread.Sleep(50); + } + + } + + public ExtendedGroupMembershipData GetAgentGroupMembership(string AgentID, UUID GroupID, GroupMembershipDelegate d) + { + object membership = null; + bool firstCall = false; + string cacheKey = "membership-" + AgentID.ToString() + "-" + GroupID.ToString(); + + //m_log.DebugFormat("[XXX]: GetAgentGroupMembership {0}", cacheKey); + + while (true) + { + lock (m_Cache) + { + if (m_Cache.TryGetValue(cacheKey, out membership)) + { + //m_log.DebugFormat("[XXX]: GetAgentGroupMembership {0}", cacheKey); + return (ExtendedGroupMembershipData)membership; + } + + // not cached + if (!m_ActiveRequests.ContainsKey(cacheKey)) + { + m_ActiveRequests.Add(cacheKey, true); + firstCall = true; + } + } + + if (firstCall) + { + membership = d(); + lock (m_Cache) + { + m_Cache.AddOrUpdate(cacheKey, membership, GROUPS_CACHE_TIMEOUT); + m_ActiveRequests.Remove(cacheKey); + return (ExtendedGroupMembershipData)membership; + } + } + else + Thread.Sleep(50); + } + } + + public List GetAgentGroupMemberships(string AgentID, GroupMembershipListDelegate d) + { + object memberships = null; + bool firstCall = false; + string cacheKey = "memberships-" + AgentID.ToString(); + + //m_log.DebugFormat("[XXX]: GetAgentGroupMemberships {0}", cacheKey); + + while (true) + { + lock (m_Cache) + { + if (m_Cache.TryGetValue(cacheKey, out memberships)) + { + //m_log.DebugFormat("[XXX]: GetAgentGroupMemberships {0} cached!", cacheKey); + return (List)memberships; + } + + // not cached + if (!m_ActiveRequests.ContainsKey(cacheKey)) + { + m_ActiveRequests.Add(cacheKey, true); + firstCall = true; + } + } + + if (firstCall) + { + memberships = d(); + lock (m_Cache) + { + m_Cache.AddOrUpdate(cacheKey, memberships, GROUPS_CACHE_TIMEOUT); + m_ActiveRequests.Remove(cacheKey); + return (List)memberships; + } + } + else + Thread.Sleep(50); + } + } + + public List GetGroupMembers(string RequestingAgentID, UUID GroupID, GroupMembersListDelegate d) + { + object members = null; + bool firstCall = false; + // we need to key in also on the requester, because different ppl have different view privileges + string cacheKey = "members-" + RequestingAgentID.ToString() + "-" + GroupID.ToString(); + + //m_log.DebugFormat("[XXX]: GetGroupMembers {0}", cacheKey); + + while (true) + { + lock (m_Cache) + { + if (m_Cache.TryGetValue(cacheKey, out members)) + { + List xx = (List)members; + return xx.ConvertAll(new Converter(m_ForeignImporter.ConvertGroupMembersData)); + } + + // not cached + if (!m_ActiveRequests.ContainsKey(cacheKey)) + { + m_ActiveRequests.Add(cacheKey, true); + firstCall = true; + } + } + + if (firstCall) + { + List _members = d(); + + if (_members != null && _members.Count > 0) + members = _members.ConvertAll(new Converter(m_ForeignImporter.ConvertGroupMembersData)); + else + members = new List(); + + lock (m_Cache) + { + //m_Cache.AddOrUpdate(cacheKey, members, GROUPS_CACHE_TIMEOUT); + m_Cache.AddOrUpdate(cacheKey, _members, GROUPS_CACHE_TIMEOUT); + m_ActiveRequests.Remove(cacheKey); + + return (List)members; + } + } + else + Thread.Sleep(50); + } + } + + public bool AddGroupRole(UUID roleID, string description, string name, ulong powers, string title, BooleanDelegate d) + { + if (d()) + { + GroupRolesData role = new GroupRolesData(); + role.Description = description; + role.Members = 0; + role.Name = name; + role.Powers = powers; + role.RoleID = roleID; + role.Title = title; + + lock (m_Cache) + m_Cache.AddOrUpdate("role-" + roleID.ToString(), role, GROUPS_CACHE_TIMEOUT); + + return true; + } + + return false; + } + + public bool UpdateGroupRole(UUID groupID, UUID roleID, string name, string description, string title, ulong powers, BooleanDelegate d) + { + if (d()) + { + object role; + lock (m_Cache) + if (m_Cache.TryGetValue("role-" + roleID.ToString(), out role)) + { + GroupRolesData r = (GroupRolesData)role; + r.Description = description; + r.Name = name; + r.Powers = powers; + r.Title = title; + + m_Cache.Update("role-" + roleID.ToString(), r, GROUPS_CACHE_TIMEOUT); + } + return true; + } + else + { + lock (m_Cache) + { + if (m_Cache.Contains("role-" + roleID.ToString())) + m_Cache.Remove("role-" + roleID.ToString()); + + // also remove these lists, because they will have an outdated role + if (m_Cache.Contains("roles-" + groupID.ToString())) + m_Cache.Remove("roles-" + groupID.ToString()); + + } + + return false; + } + } + + public void RemoveGroupRole(string RequestingAgentID, UUID groupID, UUID roleID, VoidDelegate d) + { + d(); + + lock (m_Cache) + { + if (m_Cache.Contains("role-" + roleID.ToString())) + m_Cache.Remove("role-" + roleID.ToString()); + + // also remove the list, because it will have an removed role + if (m_Cache.Contains("roles-" + groupID.ToString())) + m_Cache.Remove("roles-" + groupID.ToString()); + + if (m_Cache.Contains("roles-" + groupID.ToString() + "-" + RequestingAgentID.ToString())) + m_Cache.Remove("roles-" + groupID.ToString() + "-" + RequestingAgentID.ToString()); + + if (m_Cache.Contains("rolemembers-" + RequestingAgentID.ToString() + "-" + groupID.ToString())) + m_Cache.Remove("rolemembers-" + RequestingAgentID.ToString() + "-" + groupID.ToString()); + } + } + + public List GetGroupRoles(string RequestingAgentID, UUID GroupID, GroupRolesListDelegate d) + { + object roles = null; + bool firstCall = false; + string cacheKey = "roles-" + GroupID.ToString(); + + while (true) + { + lock (m_Cache) + { + if (m_Cache.TryGetValue(cacheKey, out roles)) + return (List)roles; + + // not cached + if (!m_ActiveRequests.ContainsKey(cacheKey)) + { + m_ActiveRequests.Add(cacheKey, true); + firstCall = true; + } + } + + if (firstCall) + { + roles = d(); + if (roles != null) + { + lock (m_Cache) + { + m_Cache.AddOrUpdate(cacheKey, roles, GROUPS_CACHE_TIMEOUT); + m_ActiveRequests.Remove(cacheKey); + return (List)roles; + } + } + } + else + Thread.Sleep(50); + } + } + + public List GetGroupRoleMembers(string RequestingAgentID, UUID GroupID, RoleMembersListDelegate d) + { + object rmembers = null; + bool firstCall = false; + // we need to key in also on the requester, because different ppl have different view privileges + string cacheKey = "rolemembers-" + RequestingAgentID.ToString() + "-" + GroupID.ToString(); + + //m_log.DebugFormat("[XXX]: GetGroupRoleMembers {0}", cacheKey); + while (true) + { + lock (m_Cache) + { + if (m_Cache.TryGetValue(cacheKey, out rmembers)) + { + List xx = (List)rmembers; + return xx.ConvertAll(m_ForeignImporter.ConvertGroupRoleMembersData); + } + + // not cached + if (!m_ActiveRequests.ContainsKey(cacheKey)) + { + m_ActiveRequests.Add(cacheKey, true); + firstCall = true; + } + } + + if (firstCall) + { + List _rmembers = d(); + + if (_rmembers != null && _rmembers.Count > 0) + rmembers = _rmembers.ConvertAll(new Converter(m_ForeignImporter.ConvertGroupRoleMembersData)); + else + rmembers = new List(); + + lock (m_Cache) + { + // For some strange reason, when I cache the list of GroupRoleMembersData, + // it gets emptied out. The TryGet gets an empty list... + //m_Cache.AddOrUpdate(cacheKey, rmembers, GROUPS_CACHE_TIMEOUT); + // Caching the list of ExtendedGroupRoleMembersData doesn't show that issue + // I don't get it. + m_Cache.AddOrUpdate(cacheKey, _rmembers, GROUPS_CACHE_TIMEOUT); + m_ActiveRequests.Remove(cacheKey); + return (List)rmembers; + } + } + else + Thread.Sleep(50); + } + } + + public void AddAgentToGroupRole(string RequestingAgentID, string AgentID, UUID GroupID, UUID RoleID, BooleanDelegate d) + { + if (d()) + { + lock (m_Cache) + { + // update the cached role + string cacheKey = "role-" + RoleID.ToString(); + object obj; + if (m_Cache.TryGetValue(cacheKey, out obj)) + { + GroupRolesData r = (GroupRolesData)obj; + r.Members++; + } + + // add this agent to the list of role members + cacheKey = "rolemembers-" + RequestingAgentID.ToString() + "-" + GroupID.ToString(); + if (m_Cache.TryGetValue(cacheKey, out obj)) + { + try + { + // This may throw an exception, in which case the agentID is not a UUID but a full ID + // In that case, let's just remove the whoe things from the cache + UUID id = new UUID(AgentID); + List xx = (List)obj; + List rmlist = xx.ConvertAll(m_ForeignImporter.ConvertGroupRoleMembersData); + GroupRoleMembersData rm = new GroupRoleMembersData(); + rm.MemberID = id; + rm.RoleID = RoleID; + rmlist.Add(rm); + } + catch + { + m_Cache.Remove(cacheKey); + } + } + + // Remove the cached info about this agent's roles + // because we don't have enough local info about the new role + cacheKey = "roles-" + GroupID.ToString() + "-" + AgentID.ToString(); + if (m_Cache.Contains(cacheKey)) + m_Cache.Remove(cacheKey); + + } + } + } + + public void RemoveAgentFromGroupRole(string RequestingAgentID, string AgentID, UUID GroupID, UUID RoleID, BooleanDelegate d) + { + if (d()) + { + lock (m_Cache) + { + // update the cached role + string cacheKey = "role-" + RoleID.ToString(); + object obj; + if (m_Cache.TryGetValue(cacheKey, out obj)) + { + GroupRolesData r = (GroupRolesData)obj; + r.Members--; + } + + cacheKey = "roles-" + GroupID.ToString() + "-" + AgentID.ToString(); + if (m_Cache.Contains(cacheKey)) + m_Cache.Remove(cacheKey); + + cacheKey = "rolemembers-" + RequestingAgentID.ToString() + "-" + GroupID.ToString(); + if (m_Cache.Contains(cacheKey)) + m_Cache.Remove(cacheKey); + } + } + } + + public List GetAgentGroupRoles(string RequestingAgentID, string AgentID, UUID GroupID, GroupRolesListDelegate d) + { + object roles = null; + bool firstCall = false; + string cacheKey = "roles-" + GroupID.ToString() + "-" + AgentID.ToString(); + + //m_log.DebugFormat("[XXX]: GetAgentGroupRoles {0}", cacheKey); + + while (true) + { + lock (m_Cache) + { + if (m_Cache.TryGetValue(cacheKey, out roles)) + { + //m_log.DebugFormat("[XXX]: GetAgentGroupRoles {0} cached!", cacheKey); + return (List)roles; + } + + // not cached + if (!m_ActiveRequests.ContainsKey(cacheKey)) + { + m_ActiveRequests.Add(cacheKey, true); + firstCall = true; + } + } + + if (firstCall) + { + roles = d(); + lock (m_Cache) + { + m_Cache.AddOrUpdate(cacheKey, roles, GROUPS_CACHE_TIMEOUT); + m_ActiveRequests.Remove(cacheKey); + return (List)roles; + } + } + else + Thread.Sleep(50); + } + } + + public void SetAgentActiveGroupRole(string AgentID, UUID GroupID, VoidDelegate d) + { + d(); + + lock (m_Cache) + { + // Invalidate cached info, because it has ActiveRoleID and Powers + string cacheKey = "membership-" + AgentID.ToString() + "-" + GroupID.ToString(); + if (m_Cache.Contains(cacheKey)) + m_Cache.Remove(cacheKey); + + cacheKey = "memberships-" + AgentID.ToString(); + if (m_Cache.Contains(cacheKey)) + m_Cache.Remove(cacheKey); + } + } + + public void UpdateMembership(string AgentID, UUID GroupID, bool AcceptNotices, bool ListInProfile, VoidDelegate d) + { + d(); + + lock (m_Cache) + { + string cacheKey = "membership-" + AgentID.ToString() + "-" + GroupID.ToString(); + if (m_Cache.Contains(cacheKey)) + m_Cache.Remove(cacheKey); + + cacheKey = "memberships-" + AgentID.ToString(); + if (m_Cache.Contains(cacheKey)) + m_Cache.Remove(cacheKey); + + cacheKey = "active-" + AgentID.ToString(); + object m = null; + if (m_Cache.TryGetValue(cacheKey, out m)) + { + GroupMembershipData membership = (GroupMembershipData)m; + membership.ListInProfile = ListInProfile; + membership.AcceptNotices = AcceptNotices; + } + } + } + + public bool AddGroupNotice(UUID groupID, UUID noticeID, GroupNoticeInfo notice, BooleanDelegate d) + { + if (d()) + { + lock (m_Cache) + { + m_Cache.AddOrUpdate("notice-" + noticeID.ToString(), notice, GROUPS_CACHE_TIMEOUT); + string cacheKey = "notices-" + groupID.ToString(); + if (m_Cache.Contains(cacheKey)) + m_Cache.Remove(cacheKey); + + } + + return true; + } + + return false; + } + + public GroupNoticeInfo GetGroupNotice(UUID noticeID, NoticeDelegate d) + { + object notice = null; + bool firstCall = false; + string cacheKey = "notice-" + noticeID.ToString(); + + //m_log.DebugFormat("[XXX]: GetAgentGroupRoles {0}", cacheKey); + + while (true) + { + lock (m_Cache) + { + if (m_Cache.TryGetValue(cacheKey, out notice)) + { + return (GroupNoticeInfo)notice; + } + + // not cached + if (!m_ActiveRequests.ContainsKey(cacheKey)) + { + m_ActiveRequests.Add(cacheKey, true); + firstCall = true; + } + } + + if (firstCall) + { + GroupNoticeInfo _notice = d(); + + lock (m_Cache) + { + m_Cache.AddOrUpdate(cacheKey, _notice, GROUPS_CACHE_TIMEOUT); + m_ActiveRequests.Remove(cacheKey); + return _notice; + } + } + else + Thread.Sleep(50); + } + } + + public List GetGroupNotices(UUID GroupID, NoticeListDelegate d) + { + object notices = null; + bool firstCall = false; + string cacheKey = "notices-" + GroupID.ToString(); + + //m_log.DebugFormat("[XXX]: GetGroupNotices {0}", cacheKey); + + while (true) + { + lock (m_Cache) + { + if (m_Cache.TryGetValue(cacheKey, out notices)) + { + //m_log.DebugFormat("[XXX]: GetGroupNotices {0} cached!", cacheKey); + return (List)notices; + } + + // not cached + if (!m_ActiveRequests.ContainsKey(cacheKey)) + { + m_ActiveRequests.Add(cacheKey, true); + firstCall = true; + } + } + + if (firstCall) + { + notices = d(); + + lock (m_Cache) + { + m_Cache.AddOrUpdate(cacheKey, notices, GROUPS_CACHE_TIMEOUT); + m_ActiveRequests.Remove(cacheKey); + return (List)notices; + } + } + else + Thread.Sleep(50); + } + } + + + } +} diff --git a/OpenSim/Addons/Groups/Service/GroupsService.cs b/OpenSim/Addons/Groups/Service/GroupsService.cs new file mode 100644 index 0000000000..fc567dd6c3 --- /dev/null +++ b/OpenSim/Addons/Groups/Service/GroupsService.cs @@ -0,0 +1,1014 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using System.Reflection; +using System.Timers; +using log4net; +using Nini.Config; + +using OpenMetaverse; +using OpenSim.Data; +using OpenSim.Framework; +using OpenSim.Services.Interfaces; + +namespace OpenSim.Groups +{ + public class GroupsService : GroupsServiceBase + { + private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + + public const GroupPowers DefaultEveryonePowers = GroupPowers.AllowSetHome | + GroupPowers.Accountable | + GroupPowers.JoinChat | + GroupPowers.AllowVoiceChat | + GroupPowers.ReceiveNotices | + GroupPowers.StartProposal | + GroupPowers.VoteOnProposal; + + public const GroupPowers OwnerPowers = GroupPowers.Accountable | + GroupPowers.AllowEditLand | + GroupPowers.AllowFly | + GroupPowers.AllowLandmark | + GroupPowers.AllowRez | + GroupPowers.AllowSetHome | + GroupPowers.AllowVoiceChat | + GroupPowers.AssignMember | + GroupPowers.AssignMemberLimited | + GroupPowers.ChangeActions | + GroupPowers.ChangeIdentity | + GroupPowers.ChangeMedia | + GroupPowers.ChangeOptions | + GroupPowers.CreateRole | + GroupPowers.DeedObject | + GroupPowers.DeleteRole | + GroupPowers.Eject | + GroupPowers.FindPlaces | + GroupPowers.Invite | + GroupPowers.JoinChat | + GroupPowers.LandChangeIdentity | + GroupPowers.LandDeed | + GroupPowers.LandDivideJoin | + GroupPowers.LandEdit | + GroupPowers.LandEjectAndFreeze | + GroupPowers.LandGardening | + GroupPowers.LandManageAllowed | + GroupPowers.LandManageBanned | + GroupPowers.LandManagePasses | + GroupPowers.LandOptions | + GroupPowers.LandRelease | + GroupPowers.LandSetSale | + GroupPowers.ModerateChat | + GroupPowers.ObjectManipulate | + GroupPowers.ObjectSetForSale | + GroupPowers.ReceiveNotices | + GroupPowers.RemoveMember | + GroupPowers.ReturnGroupOwned | + GroupPowers.ReturnGroupSet | + GroupPowers.ReturnNonGroup | + GroupPowers.RoleProperties | + GroupPowers.SendNotices | + GroupPowers.SetLandingPoint | + GroupPowers.StartProposal | + GroupPowers.VoteOnProposal; + + #region Daily Cleanup + + private Timer m_CleanupTimer; + + public GroupsService(IConfigSource config, string configName) + : base(config, configName) + { + } + + public GroupsService(IConfigSource config) + : this(config, string.Empty) + { + // Once a day + m_CleanupTimer = new Timer(24 * 60 * 60 * 1000); + m_CleanupTimer.AutoReset = true; + m_CleanupTimer.Elapsed += new ElapsedEventHandler(m_CleanupTimer_Elapsed); + m_CleanupTimer.Enabled = true; + m_CleanupTimer.Start(); + } + + private void m_CleanupTimer_Elapsed(object sender, ElapsedEventArgs e) + { + m_Database.DeleteOldNotices(); + m_Database.DeleteOldInvites(); + } + + #endregion + + public UUID CreateGroup(string RequestingAgentID, string name, string charter, bool showInList, UUID insigniaID, int membershipFee, bool openEnrollment, + bool allowPublish, bool maturePublish, UUID founderID, out string reason) + { + reason = string.Empty; + + // Create the group + GroupData data = new GroupData(); + data.GroupID = UUID.Random(); + data.Data = new Dictionary(); + data.Data["Name"] = name; + data.Data["Charter"] = charter; + data.Data["InsigniaID"] = insigniaID.ToString(); + data.Data["FounderID"] = founderID.ToString(); + data.Data["MembershipFee"] = membershipFee.ToString(); + data.Data["OpenEnrollment"] = openEnrollment ? "1" : "0"; + data.Data["ShowInList"] = showInList ? "1" : "0"; + data.Data["AllowPublish"] = allowPublish ? "1" : "0"; + data.Data["MaturePublish"] = maturePublish ? "1" : "0"; + data.Data["OwnerRoleID"] = UUID.Random().ToString(); + + if (!m_Database.StoreGroup(data)) + return UUID.Zero; + + // Create Everyone role + _AddOrUpdateGroupRole(RequestingAgentID, data.GroupID, UUID.Zero, "Everyone", "Everyone in the group", "Member of " + name, (ulong)DefaultEveryonePowers, true); + + // Create Owner role + UUID roleID = UUID.Random(); + _AddOrUpdateGroupRole(RequestingAgentID, data.GroupID, roleID, "Owners", "Owners of the group", "Owner of " + name, (ulong)OwnerPowers, true); + + // Add founder to group + _AddAgentToGroup(RequestingAgentID, founderID.ToString(), data.GroupID, roleID); + + return data.GroupID; + } + + public void UpdateGroup(string RequestingAgentID, UUID groupID, string charter, bool showInList, UUID insigniaID, int membershipFee, bool openEnrollment, bool allowPublish, bool maturePublish) + { + GroupData data = m_Database.RetrieveGroup(groupID); + if (data == null) + return; + + // Check perms + if (!HasPower(RequestingAgentID, groupID, GroupPowers.ChangeActions)) + { + m_log.DebugFormat("[Groups]: ({0}) Attempt at updating group {1} denied because of lack of permission", RequestingAgentID, groupID); + return; + } + + data.GroupID = groupID; + data.Data["Charter"] = charter; + data.Data["ShowInList"] = showInList ? "1" : "0"; + data.Data["InsigniaID"] = insigniaID.ToString(); + data.Data["MembershipFee"] = membershipFee.ToString(); + data.Data["OpenEnrollment"] = openEnrollment ? "1" : "0"; + data.Data["AllowPublish"] = allowPublish ? "1" : "0"; + data.Data["MaturePublish"] = maturePublish ? "1" : "0"; + + m_Database.StoreGroup(data); + + } + + public ExtendedGroupRecord GetGroupRecord(string RequestingAgentID, UUID GroupID) + { + GroupData data = m_Database.RetrieveGroup(GroupID); + + return _GroupDataToRecord(data); + } + + public ExtendedGroupRecord GetGroupRecord(string RequestingAgentID, string GroupName) + { + GroupData data = m_Database.RetrieveGroup(GroupName); + + return _GroupDataToRecord(data); + } + + public List FindGroups(string RequestingAgentID, string search) + { + List groups = new List(); + + GroupData[] data = m_Database.RetrieveGroups(search); + + if (data != null && data.Length > 0) + { + foreach (GroupData d in data) + { + // Don't list group proxies + if (d.Data.ContainsKey("Location") && d.Data["Location"] != string.Empty) + continue; + + DirGroupsReplyData g = new DirGroupsReplyData(); + g.groupID = d.GroupID; + + if (d.Data.ContainsKey("Name")) + g.groupName = d.Data["Name"]; + else + m_log.DebugFormat("[Groups]: Key Name not found"); + + g.members = m_Database.MemberCount(d.GroupID); + + groups.Add(g); + } + } + + return groups; + } + + public List GetGroupMembers(string RequestingAgentID, UUID GroupID) + { + List members = new List(); + + GroupData group = m_Database.RetrieveGroup(GroupID); + if (group == null) + return members; + + UUID ownerRoleID = new UUID(group.Data["OwnerRoleID"]); + + RoleData[] roles = m_Database.RetrieveRoles(GroupID); + if (roles == null) + // something wrong with this group + return members; + List rolesList = new List(roles); + + // Is the requester a member of the group? + bool isInGroup = false; + if (m_Database.RetrieveMember(GroupID, RequestingAgentID) != null) + isInGroup = true; + + if (!isInGroup) // reduce the roles to the visible ones + rolesList = rolesList.FindAll(r => (UInt64.Parse(r.Data["Powers"]) & (ulong)GroupPowers.MemberVisible) != 0); + + MembershipData[] datas = m_Database.RetrieveMembers(GroupID); + if (datas == null || (datas != null && datas.Length == 0)) + return members; + + // OK, we have everything we need + + foreach (MembershipData d in datas) + { + RoleMembershipData[] rolememberships = m_Database.RetrieveMemberRoles(GroupID, d.PrincipalID); + List rolemembershipsList = new List(rolememberships); + + ExtendedGroupMembersData m = new ExtendedGroupMembersData(); + + // What's this person's current role in the group? + UUID selectedRole = new UUID(d.Data["SelectedRoleID"]); + RoleData selected = rolesList.Find(r => r.RoleID == selectedRole); + + if (selected != null) + { + m.Title = selected.Data["Title"]; + m.AgentPowers = UInt64.Parse(selected.Data["Powers"]); + + m.AgentID = d.PrincipalID; + m.AcceptNotices = d.Data["AcceptNotices"] == "1" ? true : false; + m.Contribution = Int32.Parse(d.Data["Contribution"]); + m.ListInProfile = d.Data["ListInProfile"] == "1" ? true : false; + + // Is this person an owner of the group? + m.IsOwner = (rolemembershipsList.Find(r => r.RoleID == ownerRoleID) != null) ? true : false; + + members.Add(m); + } + } + + return members; + } + + public bool AddGroupRole(string RequestingAgentID, UUID groupID, UUID roleID, string name, string description, string title, ulong powers, out string reason) + { + reason = string.Empty; + // check that the requesting agent has permissions to add role + if (!HasPower(RequestingAgentID, groupID, GroupPowers.CreateRole)) + { + m_log.DebugFormat("[Groups]: ({0}) Attempt at creating role in group {1} denied because of lack of permission", RequestingAgentID, groupID); + reason = "Insufficient permission to create role"; + return false; + } + + return _AddOrUpdateGroupRole(RequestingAgentID, groupID, roleID, name, description, title, powers, true); + + } + + public bool UpdateGroupRole(string RequestingAgentID, UUID groupID, UUID roleID, string name, string description, string title, ulong powers) + { + // check perms + if (!HasPower(RequestingAgentID, groupID, GroupPowers.ChangeActions)) + { + m_log.DebugFormat("[Groups]: ({0}) Attempt at changing role in group {1} denied because of lack of permission", RequestingAgentID, groupID); + return false; + } + + return _AddOrUpdateGroupRole(RequestingAgentID, groupID, roleID, name, description, title, powers, false); + } + + public void RemoveGroupRole(string RequestingAgentID, UUID groupID, UUID roleID) + { + // check perms + if (!HasPower(RequestingAgentID, groupID, GroupPowers.DeleteRole)) + { + m_log.DebugFormat("[Groups]: ({0}) Attempt at deleting role from group {1} denied because of lack of permission", RequestingAgentID, groupID); + return; + } + + // Can't delete Everyone and Owners roles + if (roleID == UUID.Zero) + { + m_log.DebugFormat("[Groups]: Attempt at deleting Everyone role from group {0} denied", groupID); + return; + } + + GroupData group = m_Database.RetrieveGroup(groupID); + if (group == null) + { + m_log.DebugFormat("[Groups]: Attempt at deleting role from non-existing group {0}", groupID); + return; + } + + if (roleID == new UUID(group.Data["OwnerRoleID"])) + { + m_log.DebugFormat("[Groups]: Attempt at deleting Owners role from group {0} denied", groupID); + return; + } + + _RemoveGroupRole(groupID, roleID); + } + + public List GetGroupRoles(string RequestingAgentID, UUID GroupID) + { + // TODO: check perms + return _GetGroupRoles(GroupID); + } + + public List GetGroupRoleMembers(string RequestingAgentID, UUID GroupID) + { + // TODO: check perms + + // Is the requester a member of the group? + bool isInGroup = false; + if (m_Database.RetrieveMember(GroupID, RequestingAgentID) != null) + isInGroup = true; + + return _GetGroupRoleMembers(GroupID, isInGroup); + } + + public bool AddAgentToGroup(string RequestingAgentID, string AgentID, UUID GroupID, UUID RoleID, string token, out string reason) + { + reason = string.Empty; + + _AddAgentToGroup(RequestingAgentID, AgentID, GroupID, RoleID, token); + + return true; + } + + public void RemoveAgentFromGroup(string RequestingAgentID, string AgentID, UUID GroupID) + { + // check perms + if (RequestingAgentID != AgentID && !HasPower(RequestingAgentID, GroupID, GroupPowers.Eject)) + return; + + _RemoveAgentFromGroup(RequestingAgentID, AgentID, GroupID); + } + + public bool AddAgentToGroupInvite(string RequestingAgentID, UUID inviteID, UUID groupID, UUID roleID, string agentID) + { + // Check whether the invitee is already a member of the group + MembershipData m = m_Database.RetrieveMember(groupID, agentID); + if (m != null) + return false; + + // Check permission to invite + if (!HasPower(RequestingAgentID, groupID, GroupPowers.Invite)) + { + m_log.DebugFormat("[Groups]: ({0}) Attempt at inviting to group {1} denied because of lack of permission", RequestingAgentID, groupID); + return false; + } + + // Check whether there are pending invitations and delete them + InvitationData invite = m_Database.RetrieveInvitation(groupID, agentID); + if (invite != null) + m_Database.DeleteInvite(invite.InviteID); + + invite = new InvitationData(); + invite.InviteID = inviteID; + invite.PrincipalID = agentID; + invite.GroupID = groupID; + invite.RoleID = roleID; + invite.Data = new Dictionary(); + + return m_Database.StoreInvitation(invite); + } + + public GroupInviteInfo GetAgentToGroupInvite(string RequestingAgentID, UUID inviteID) + { + InvitationData data = m_Database.RetrieveInvitation(inviteID); + + if (data == null) + return null; + + GroupInviteInfo inviteInfo = new GroupInviteInfo(); + inviteInfo.AgentID = data.PrincipalID; + inviteInfo.GroupID = data.GroupID; + inviteInfo.InviteID = data.InviteID; + inviteInfo.RoleID = data.RoleID; + + return inviteInfo; + } + + public void RemoveAgentToGroupInvite(string RequestingAgentID, UUID inviteID) + { + m_Database.DeleteInvite(inviteID); + } + + public bool AddAgentToGroupRole(string RequestingAgentID, string AgentID, UUID GroupID, UUID RoleID) + { + //if (!m_Database.CheckOwnerRole(RequestingAgentID, GroupID, RoleID)) + // return; + + // check permissions + bool limited = HasPower(RequestingAgentID, GroupID, GroupPowers.AssignMemberLimited); + bool unlimited = HasPower(RequestingAgentID, GroupID, GroupPowers.AssignMember) | IsOwner(RequestingAgentID, GroupID); + if (!limited || !unlimited) + { + m_log.DebugFormat("[Groups]: ({0}) Attempt at assigning {1} to role {2} denied because of lack of permission", RequestingAgentID, AgentID, RoleID); + return false; + } + + // AssignMemberLimited means that the person can assign another person to the same roles that she has in the group + if (!unlimited && limited) + { + // check whether person's has this role + RoleMembershipData rolemembership = m_Database.RetrieveRoleMember(GroupID, RoleID, AgentID); + if (rolemembership == null) + { + m_log.DebugFormat("[Groups]: ({0}) Attempt at assigning {1} to role {2} denied because of limited permission", RequestingAgentID, AgentID, RoleID); + return false; + } + } + + _AddAgentToGroupRole(RequestingAgentID, AgentID, GroupID, RoleID); + + return true; + } + + public bool RemoveAgentFromGroupRole(string RequestingAgentID, string AgentID, UUID GroupID, UUID RoleID) + { + // Don't remove from Everyone role! + if (RoleID == UUID.Zero) + return false; + + // check permissions + bool unlimited = HasPower(RequestingAgentID, GroupID, GroupPowers.AssignMember) || IsOwner(RequestingAgentID, GroupID); + if (!unlimited) + { + m_log.DebugFormat("[Groups]: ({0}) Attempt at removing {1} from role {2} denied because of lack of permission", RequestingAgentID, AgentID, RoleID); + return false; + } + + RoleMembershipData rolemember = m_Database.RetrieveRoleMember(GroupID, RoleID, AgentID); + + if (rolemember == null) + return false; + + m_Database.DeleteRoleMember(rolemember); + + // Find another role for this person + UUID newRoleID = UUID.Zero; // Everyone + RoleMembershipData[] rdata = m_Database.RetrieveMemberRoles(GroupID, AgentID); + if (rdata != null) + foreach (RoleMembershipData r in rdata) + { + if (r.RoleID != UUID.Zero) + { + newRoleID = r.RoleID; + break; + } + } + + MembershipData member = m_Database.RetrieveMember(GroupID, AgentID); + if (member != null) + { + member.Data["SelectedRoleID"] = newRoleID.ToString(); + m_Database.StoreMember(member); + } + + return true; + } + + public List GetAgentGroupRoles(string RequestingAgentID, string AgentID, UUID GroupID) + { + List roles = new List(); + // TODO: check permissions + + RoleMembershipData[] data = m_Database.RetrieveMemberRoles(GroupID, AgentID); + if (data == null || (data != null && data.Length ==0)) + return roles; + + foreach (RoleMembershipData d in data) + { + RoleData rdata = m_Database.RetrieveRole(GroupID, d.RoleID); + if (rdata == null) // hippos + continue; + + GroupRolesData r = new GroupRolesData(); + r.Name = rdata.Data["Name"]; + r.Powers = UInt64.Parse(rdata.Data["Powers"]); + r.RoleID = rdata.RoleID; + r.Title = rdata.Data["Title"]; + + roles.Add(r); + } + + return roles; + } + + public ExtendedGroupMembershipData SetAgentActiveGroup(string RequestingAgentID, string AgentID, UUID GroupID) + { + // TODO: check perms + PrincipalData principal = new PrincipalData(); + principal.PrincipalID = AgentID; + principal.ActiveGroupID = GroupID; + m_Database.StorePrincipal(principal); + + return GetAgentGroupMembership(RequestingAgentID, AgentID, GroupID); + } + + public ExtendedGroupMembershipData GetAgentActiveMembership(string RequestingAgentID, string AgentID) + { + // 1. get the principal data for the active group + PrincipalData principal = m_Database.RetrievePrincipal(AgentID); + if (principal == null) + return null; + + return GetAgentGroupMembership(RequestingAgentID, AgentID, principal.ActiveGroupID); + } + + public ExtendedGroupMembershipData GetAgentGroupMembership(string RequestingAgentID, string AgentID, UUID GroupID) + { + return GetAgentGroupMembership(RequestingAgentID, AgentID, GroupID, null); + } + + private ExtendedGroupMembershipData GetAgentGroupMembership(string RequestingAgentID, string AgentID, UUID GroupID, MembershipData membership) + { + // 2. get the active group + GroupData group = m_Database.RetrieveGroup(GroupID); + if (group == null) + return null; + + // 3. get the membership info if we don't have it already + if (membership == null) + { + membership = m_Database.RetrieveMember(group.GroupID, AgentID); + if (membership == null) + return null; + } + + // 4. get the active role + UUID activeRoleID = new UUID(membership.Data["SelectedRoleID"]); + RoleData role = m_Database.RetrieveRole(group.GroupID, activeRoleID); + + ExtendedGroupMembershipData data = new ExtendedGroupMembershipData(); + data.AcceptNotices = membership.Data["AcceptNotices"] == "1" ? true : false; + data.AccessToken = membership.Data["AccessToken"]; + data.Active = true; + data.ActiveRole = activeRoleID; + data.AllowPublish = group.Data["AllowPublish"] == "1" ? true : false; + data.Charter = group.Data["Charter"]; + data.Contribution = Int32.Parse(membership.Data["Contribution"]); + data.FounderID = new UUID(group.Data["FounderID"]); + data.GroupID = new UUID(group.GroupID); + data.GroupName = group.Data["Name"]; + data.GroupPicture = new UUID(group.Data["InsigniaID"]); + if (role != null) + { + data.GroupPowers = UInt64.Parse(role.Data["Powers"]); + data.GroupTitle = role.Data["Title"]; + } + data.ListInProfile = membership.Data["ListInProfile"] == "1" ? true : false; + data.MaturePublish = group.Data["MaturePublish"] == "1" ? true : false; + data.MembershipFee = Int32.Parse(group.Data["MembershipFee"]); + data.OpenEnrollment = group.Data["OpenEnrollment"] == "1" ? true : false; + data.ShowInList = group.Data["ShowInList"] == "1" ? true : false; + + return data; + } + + public List GetAgentGroupMemberships(string RequestingAgentID, string AgentID) + { + List memberships = new List(); + + // 1. Get all the groups that this person is a member of + MembershipData[] mdata = m_Database.RetrieveMemberships(AgentID); + + if (mdata == null || (mdata != null && mdata.Length == 0)) + return memberships; + + foreach (MembershipData d in mdata) + { + GroupMembershipData gmember = GetAgentGroupMembership(RequestingAgentID, AgentID, d.GroupID, d); + if (gmember != null) + { + memberships.Add(gmember); + //m_log.DebugFormat("[XXX]: Member of {0} as {1}", gmember.GroupName, gmember.GroupTitle); + //Util.PrintCallStack(); + } + } + + return memberships; + } + + public void SetAgentActiveGroupRole(string RequestingAgentID, string AgentID, UUID GroupID, UUID RoleID) + { + MembershipData data = m_Database.RetrieveMember(GroupID, AgentID); + if (data == null) + return; + + data.Data["SelectedRoleID"] = RoleID.ToString(); + m_Database.StoreMember(data); + } + + public void UpdateMembership(string RequestingAgentID, string AgentID, UUID GroupID, bool AcceptNotices, bool ListInProfile) + { + // TODO: check perms + + MembershipData membership = m_Database.RetrieveMember(GroupID, AgentID); + if (membership == null) + return; + + membership.Data["AcceptNotices"] = AcceptNotices ? "1" : "0"; + membership.Data["ListInProfile"] = ListInProfile ? "1" : "0"; + + m_Database.StoreMember(membership); + } + + public bool AddGroupNotice(string RequestingAgentID, UUID groupID, UUID noticeID, string fromName, string subject, string message, + bool hasAttachment, byte attType, string attName, UUID attItemID, string attOwnerID) + { + // Check perms + if (!HasPower(RequestingAgentID, groupID, GroupPowers.SendNotices)) + { + m_log.DebugFormat("[Groups]: ({0}) Attempt at sending notice to group {1} denied because of lack of permission", RequestingAgentID, groupID); + return false; + } + + return _AddNotice(groupID, noticeID, fromName, subject, message, hasAttachment, attType, attName, attItemID, attOwnerID); + } + + public GroupNoticeInfo GetGroupNotice(string RequestingAgentID, UUID noticeID) + { + NoticeData data = m_Database.RetrieveNotice(noticeID); + + if (data == null) + return null; + + return _NoticeDataToInfo(data); + } + + public List GetGroupNotices(string RequestingAgentID, UUID groupID) + { + NoticeData[] data = m_Database.RetrieveNotices(groupID); + List infos = new List(); + + if (data == null || (data != null && data.Length == 0)) + return infos; + + foreach (NoticeData d in data) + { + ExtendedGroupNoticeData info = _NoticeDataToData(d); + infos.Add(info); + } + + return infos; + } + + public void ResetAgentGroupChatSessions(string agentID) + { + } + + public bool hasAgentBeenInvitedToGroupChatSession(string agentID, UUID groupID) + { + return false; + } + + public bool hasAgentDroppedGroupChatSession(string agentID, UUID groupID) + { + return false; + } + + public void AgentDroppedFromGroupChatSession(string agentID, UUID groupID) + { + } + + public void AgentInvitedToGroupChatSession(string agentID, UUID groupID) + { + } + + #region Actions without permission checks + + private void _AddAgentToGroup(string RequestingAgentID, string AgentID, UUID GroupID, UUID RoleID) + { + _AddAgentToGroup(RequestingAgentID, AgentID, GroupID, RoleID, string.Empty); + } + + public void _RemoveAgentFromGroup(string RequestingAgentID, string AgentID, UUID GroupID) + { + // 1. Delete membership + m_Database.DeleteMember(GroupID, AgentID); + + // 2. Remove from rolememberships + m_Database.DeleteMemberAllRoles(GroupID, AgentID); + + // 3. if it was active group, inactivate it + PrincipalData principal = m_Database.RetrievePrincipal(AgentID); + if (principal != null && principal.ActiveGroupID == GroupID) + { + principal.ActiveGroupID = UUID.Zero; + m_Database.StorePrincipal(principal); + } + } + + protected void _AddAgentToGroup(string RequestingAgentID, string AgentID, UUID GroupID, UUID RoleID, string accessToken) + { + // Check if it's already there + MembershipData data = m_Database.RetrieveMember(GroupID, AgentID); + if (data != null) + return; + + // Add the membership + data = new MembershipData(); + data.PrincipalID = AgentID; + data.GroupID = GroupID; + data.Data = new Dictionary(); + data.Data["SelectedRoleID"] = RoleID.ToString(); + data.Data["Contribution"] = "0"; + data.Data["ListInProfile"] = "1"; + data.Data["AcceptNotices"] = "1"; + data.Data["AccessToken"] = accessToken; + + m_Database.StoreMember(data); + + // Add principal to everyone role + _AddAgentToGroupRole(RequestingAgentID, AgentID, GroupID, UUID.Zero); + + // Add principal to role, if different from everyone role + if (RoleID != UUID.Zero) + _AddAgentToGroupRole(RequestingAgentID, AgentID, GroupID, RoleID); + + // Make thit this active group + PrincipalData pdata = new PrincipalData(); + pdata.PrincipalID = AgentID; + pdata.ActiveGroupID = GroupID; + m_Database.StorePrincipal(pdata); + + } + + private bool _AddOrUpdateGroupRole(string RequestingAgentID, UUID groupID, UUID roleID, string name, string description, string title, ulong powers, bool add) + { + RoleData data = m_Database.RetrieveRole(groupID, roleID); + + if (add && data != null) // it already exists, can't create + return false; + + if (!add && data == null) // it deosn't exist, can't update + return false; + + if (add) + data = new RoleData(); + + data.GroupID = groupID; + data.RoleID = roleID; + data.Data = new Dictionary(); + data.Data["Name"] = name; + data.Data["Description"] = description; + data.Data["Title"] = title; + data.Data["Powers"] = powers.ToString(); + + return m_Database.StoreRole(data); + } + + private void _RemoveGroupRole(UUID groupID, UUID roleID) + { + m_Database.DeleteRole(groupID, roleID); + } + + private void _AddAgentToGroupRole(string RequestingAgentID, string AgentID, UUID GroupID, UUID RoleID) + { + RoleMembershipData data = m_Database.RetrieveRoleMember(GroupID, RoleID, AgentID); + if (data != null) + return; + + data = new RoleMembershipData(); + data.GroupID = GroupID; + data.PrincipalID = AgentID; + data.RoleID = RoleID; + m_Database.StoreRoleMember(data); + + // Make it the SelectedRoleID + MembershipData membership = m_Database.RetrieveMember(GroupID, AgentID); + if (membership == null) + { + m_log.DebugFormat("[Groups]: ({0}) No such member {0} in group {1}", AgentID, GroupID); + return; + } + + membership.Data["SelectedRoleID"] = RoleID.ToString(); + m_Database.StoreMember(membership); + + } + + private List _GetGroupRoles(UUID groupID) + { + List roles = new List(); + + RoleData[] data = m_Database.RetrieveRoles(groupID); + + if (data == null || (data != null && data.Length == 0)) + return roles; + + foreach (RoleData d in data) + { + GroupRolesData r = new GroupRolesData(); + r.Description = d.Data["Description"]; + r.Members = m_Database.RoleMemberCount(groupID, d.RoleID); + r.Name = d.Data["Name"]; + r.Powers = UInt64.Parse(d.Data["Powers"]); + r.RoleID = d.RoleID; + r.Title = d.Data["Title"]; + + roles.Add(r); + } + + return roles; + } + + private List _GetGroupRoleMembers(UUID GroupID, bool isInGroup) + { + List rmembers = new List(); + + RoleData[] rdata = new RoleData[0]; + if (!isInGroup) + { + rdata = m_Database.RetrieveRoles(GroupID); + if (rdata == null || (rdata != null && rdata.Length == 0)) + return rmembers; + } + List rlist = new List(rdata); + if (!isInGroup) + rlist = rlist.FindAll(r => (UInt64.Parse(r.Data["Powers"]) & (ulong)GroupPowers.MemberVisible) != 0); + + RoleMembershipData[] data = m_Database.RetrieveRolesMembers(GroupID); + + if (data == null || (data != null && data.Length == 0)) + return rmembers; + + foreach (RoleMembershipData d in data) + { + if (!isInGroup) + { + RoleData rd = rlist.Find(_r => _r.RoleID == d.RoleID); // visible role + if (rd == null) + continue; + } + + ExtendedGroupRoleMembersData r = new ExtendedGroupRoleMembersData(); + r.MemberID = d.PrincipalID; + r.RoleID = d.RoleID; + + rmembers.Add(r); + } + + return rmembers; + } + + protected bool _AddNotice(UUID groupID, UUID noticeID, string fromName, string subject, string message, + bool hasAttachment, byte attType, string attName, UUID attItemID, string attOwnerID) + { + NoticeData data = new NoticeData(); + data.GroupID = groupID; + data.NoticeID = noticeID; + data.Data = new Dictionary(); + data.Data["FromName"] = fromName; + data.Data["Subject"] = subject; + data.Data["Message"] = message; + data.Data["HasAttachment"] = hasAttachment ? "1" : "0"; + if (hasAttachment) + { + data.Data["AttachmentType"] = attType.ToString(); + data.Data["AttachmentName"] = attName; + data.Data["AttachmentItemID"] = attItemID.ToString(); + data.Data["AttachmentOwnerID"] = attOwnerID; + } + data.Data["TMStamp"] = ((uint)Util.UnixTimeSinceEpoch()).ToString(); + + return m_Database.StoreNotice(data); + } + + #endregion + + #region structure translations + ExtendedGroupRecord _GroupDataToRecord(GroupData data) + { + if (data == null) + return null; + + ExtendedGroupRecord rec = new ExtendedGroupRecord(); + rec.AllowPublish = data.Data["AllowPublish"] == "1" ? true : false; + rec.Charter = data.Data["Charter"]; + rec.FounderID = new UUID(data.Data["FounderID"]); + rec.GroupID = data.GroupID; + rec.GroupName = data.Data["Name"]; + rec.GroupPicture = new UUID(data.Data["InsigniaID"]); + rec.MaturePublish = data.Data["MaturePublish"] == "1" ? true : false; + rec.MembershipFee = Int32.Parse(data.Data["MembershipFee"]); + rec.OpenEnrollment = data.Data["OpenEnrollment"] == "1" ? true : false; + rec.OwnerRoleID = new UUID(data.Data["OwnerRoleID"]); + rec.ShowInList = data.Data["ShowInList"] == "1" ? true : false; + rec.ServiceLocation = data.Data["Location"]; + rec.MemberCount = m_Database.MemberCount(data.GroupID); + rec.RoleCount = m_Database.RoleCount(data.GroupID); + + return rec; + } + + GroupNoticeInfo _NoticeDataToInfo(NoticeData data) + { + GroupNoticeInfo notice = new GroupNoticeInfo(); + notice.GroupID = data.GroupID; + notice.Message = data.Data["Message"]; + notice.noticeData = _NoticeDataToData(data); + + return notice; + } + + ExtendedGroupNoticeData _NoticeDataToData(NoticeData data) + { + ExtendedGroupNoticeData notice = new ExtendedGroupNoticeData(); + notice.FromName = data.Data["FromName"]; + notice.NoticeID = data.NoticeID; + notice.Subject = data.Data["Subject"]; + notice.Timestamp = uint.Parse((string)data.Data["TMStamp"]); + notice.HasAttachment = data.Data["HasAttachment"] == "1" ? true : false; + if (notice.HasAttachment) + { + notice.AttachmentName = data.Data["AttachmentName"]; + notice.AttachmentItemID = new UUID(data.Data["AttachmentItemID"].ToString()); + notice.AttachmentType = byte.Parse(data.Data["AttachmentType"].ToString()); + notice.AttachmentOwnerID = data.Data["AttachmentOwnerID"].ToString(); + } + + + return notice; + } + + #endregion + + #region permissions + private bool HasPower(string agentID, UUID groupID, GroupPowers power) + { + RoleMembershipData[] rmembership = m_Database.RetrieveMemberRoles(groupID, agentID); + if (rmembership == null || (rmembership != null && rmembership.Length == 0)) + return false; + + foreach (RoleMembershipData rdata in rmembership) + { + RoleData role = m_Database.RetrieveRole(groupID, rdata.RoleID); + if ( (UInt64.Parse(role.Data["Powers"]) & (ulong)power) != 0 ) + return true; + } + return false; + } + + private bool IsOwner(string agentID, UUID groupID) + { + GroupData group = m_Database.RetrieveGroup(groupID); + if (group == null) + return false; + + RoleMembershipData rmembership = m_Database.RetrieveRoleMember(groupID, new UUID(group.Data["OwnerRoleID"]), agentID); + if (rmembership == null) + return false; + + return true; + } + #endregion + + } +} diff --git a/OpenSim/Addons/Groups/Service/GroupsServiceBase.cs b/OpenSim/Addons/Groups/Service/GroupsServiceBase.cs new file mode 100644 index 0000000000..2611a3d922 --- /dev/null +++ b/OpenSim/Addons/Groups/Service/GroupsServiceBase.cs @@ -0,0 +1,84 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Reflection; +using Nini.Config; +using OpenSim.Framework; +using OpenSim.Data; +using OpenSim.Services.Interfaces; +using OpenSim.Services.Base; + +namespace OpenSim.Groups +{ + public class GroupsServiceBase : ServiceBase + { + protected IGroupsData m_Database = null; + + public GroupsServiceBase(IConfigSource config, string cName) + : base(config) + { + string dllName = String.Empty; + string connString = String.Empty; + string realm = "os_groups"; + string configName = (cName == string.Empty) ? "Groups" : cName; + + // + // Try reading the [DatabaseService] section, if it exists + // + IConfig dbConfig = config.Configs["DatabaseService"]; + if (dbConfig != null) + { + if (dllName == String.Empty) + dllName = dbConfig.GetString("StorageProvider", String.Empty); + if (connString == String.Empty) + connString = dbConfig.GetString("ConnectionString", String.Empty); + } + + // + // [Groups] section overrides [DatabaseService], if it exists + // + IConfig groupsConfig = config.Configs[configName]; + if (groupsConfig != null) + { + dllName = groupsConfig.GetString("StorageProvider", dllName); + connString = groupsConfig.GetString("ConnectionString", connString); + realm = groupsConfig.GetString("Realm", realm); + } + + // + // We tried, but this doesn't exist. We can't proceed. + // + if (dllName.Equals(String.Empty)) + throw new Exception("No StorageProvider configured"); + + m_Database = LoadPlugin(dllName, new Object[] { connString, realm }); + if (m_Database == null) + throw new Exception("Could not find a storage interface in the given module " + dllName); + } + } +} \ No newline at end of file diff --git a/OpenSim/Addons/Groups/Service/HGGroupsService.cs b/OpenSim/Addons/Groups/Service/HGGroupsService.cs new file mode 100644 index 0000000000..9d7961cd20 --- /dev/null +++ b/OpenSim/Addons/Groups/Service/HGGroupsService.cs @@ -0,0 +1,353 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using System.Reflection; +using System.Timers; +using log4net; +using Nini.Config; + +using OpenMetaverse; +using OpenSim.Data; +using OpenSim.Framework; +using OpenSim.Services.Interfaces; + +namespace OpenSim.Groups +{ + public class HGGroupsService : GroupsService + { + private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + + private IOfflineIMService m_OfflineIM; + private IUserAccountService m_UserAccounts; + private string m_HomeURI; + + public HGGroupsService(IConfigSource config, IOfflineIMService im, IUserAccountService users, string homeURI) + : base(config, string.Empty) + { + m_OfflineIM = im; + m_UserAccounts = users; + m_HomeURI = homeURI; + if (!m_HomeURI.EndsWith("/")) + m_HomeURI += "/"; + } + + + #region HG specific operations + + public bool CreateGroupProxy(string RequestingAgentID, string agentID, string accessToken, UUID groupID, string serviceLocation, string name, out string reason) + { + reason = string.Empty; + Uri uri = null; + try + { + uri = new Uri(serviceLocation); + } + catch (UriFormatException) + { + reason = "Bad location for group proxy"; + return false; + } + + // Check if it already exists + GroupData grec = m_Database.RetrieveGroup(groupID); + if (grec == null || + (grec != null && grec.Data["Location"] != string.Empty && grec.Data["Location"].ToLower() != serviceLocation.ToLower())) + { + // Create the group + grec = new GroupData(); + grec.GroupID = groupID; + grec.Data = new Dictionary(); + grec.Data["Name"] = name + " @ " + uri.Authority; + grec.Data["Location"] = serviceLocation; + grec.Data["Charter"] = string.Empty; + grec.Data["InsigniaID"] = UUID.Zero.ToString(); + grec.Data["FounderID"] = UUID.Zero.ToString(); + grec.Data["MembershipFee"] = "0"; + grec.Data["OpenEnrollment"] = "0"; + grec.Data["ShowInList"] = "0"; + grec.Data["AllowPublish"] = "0"; + grec.Data["MaturePublish"] = "0"; + grec.Data["OwnerRoleID"] = UUID.Zero.ToString(); + + + if (!m_Database.StoreGroup(grec)) + return false; + } + + if (grec.Data["Location"] == string.Empty) + { + reason = "Cannot add proxy membership to non-proxy group"; + return false; + } + + UUID uid = UUID.Zero; + string url = string.Empty, first = string.Empty, last = string.Empty, tmp = string.Empty; + Util.ParseUniversalUserIdentifier(RequestingAgentID, out uid, out url, out first, out last, out tmp); + string fromName = first + "." + last + "@" + url; + + // Invite to group again + InviteToGroup(fromName, groupID, new UUID(agentID), grec.Data["Name"]); + + // Stick the proxy membership in the DB already + // we'll delete it if the agent declines the invitation + MembershipData membership = new MembershipData(); + membership.PrincipalID = agentID; + membership.GroupID = groupID; + membership.Data = new Dictionary(); + membership.Data["SelectedRoleID"] = UUID.Zero.ToString(); + membership.Data["Contribution"] = "0"; + membership.Data["ListInProfile"] = "1"; + membership.Data["AcceptNotices"] = "1"; + membership.Data["AccessToken"] = accessToken; + + m_Database.StoreMember(membership); + + return true; + } + + public void RemoveAgentFromGroup(string RequestingAgentID, string AgentID, UUID GroupID, string token) + { + // check the token + MembershipData membership = m_Database.RetrieveMember(GroupID, AgentID); + if (membership != null) + { + if (token != string.Empty && token.Equals(membership.Data["AccessToken"])) + RemoveAgentFromGroup(RequestingAgentID, AgentID, GroupID); + else + m_log.DebugFormat("[Groups.HGGroupsService]: access token {0} did not match stored one {1}", token, membership.Data["AccessToken"]); + } + else + m_log.DebugFormat("[Groups.HGGroupsService]: membership not found for {0}", AgentID); + } + + public ExtendedGroupRecord GetGroupRecord(string RequestingAgentID, UUID GroupID, string groupName, string token) + { + // check the token + if (!VerifyToken(GroupID, RequestingAgentID, token)) + return null; + + ExtendedGroupRecord grec; + if (GroupID == UUID.Zero) + grec = GetGroupRecord(RequestingAgentID, groupName); + else + grec = GetGroupRecord(RequestingAgentID, GroupID); + + if (grec != null) + FillFounderUUI(grec); + + return grec; + } + + public List GetGroupMembers(string RequestingAgentID, UUID GroupID, string token) + { + if (!VerifyToken(GroupID, RequestingAgentID, token)) + return new List(); + + List members = GetGroupMembers(RequestingAgentID, GroupID); + + // convert UUIDs to UUIs + members.ForEach(delegate (ExtendedGroupMembersData m) + { + if (m.AgentID.ToString().Length == 36) // UUID + { + UserAccount account = m_UserAccounts.GetUserAccount(UUID.Zero, new UUID(m.AgentID)); + if (account != null) + m.AgentID = Util.UniversalIdentifier(account.PrincipalID, account.FirstName, account.LastName, m_HomeURI); + } + }); + + return members; + } + + public List GetGroupRoles(string RequestingAgentID, UUID GroupID, string token) + { + if (!VerifyToken(GroupID, RequestingAgentID, token)) + return new List(); + + return GetGroupRoles(RequestingAgentID, GroupID); + } + + public List GetGroupRoleMembers(string RequestingAgentID, UUID GroupID, string token) + { + if (!VerifyToken(GroupID, RequestingAgentID, token)) + return new List(); + + List rolemembers = GetGroupRoleMembers(RequestingAgentID, GroupID); + + // convert UUIDs to UUIs + rolemembers.ForEach(delegate(ExtendedGroupRoleMembersData m) + { + if (m.MemberID.ToString().Length == 36) // UUID + { + UserAccount account = m_UserAccounts.GetUserAccount(UUID.Zero, new UUID(m.MemberID)); + if (account != null) + m.MemberID = Util.UniversalIdentifier(account.PrincipalID, account.FirstName, account.LastName, m_HomeURI); + } + }); + + return rolemembers; + } + + public bool AddNotice(string RequestingAgentID, UUID groupID, UUID noticeID, string fromName, string subject, string message, + bool hasAttachment, byte attType, string attName, UUID attItemID, string attOwnerID) + { + // check that the group proxy exists + ExtendedGroupRecord grec = GetGroupRecord(RequestingAgentID, groupID); + if (grec == null) + { + m_log.DebugFormat("[Groups.HGGroupsService]: attempt at adding notice to non-existent group proxy"); + return false; + } + + // check that the group is remote + if (grec.ServiceLocation == string.Empty) + { + m_log.DebugFormat("[Groups.HGGroupsService]: attempt at adding notice to local (non-proxy) group"); + return false; + } + + // check that there isn't already a notice with the same ID + if (GetGroupNotice(RequestingAgentID, noticeID) != null) + { + m_log.DebugFormat("[Groups.HGGroupsService]: a notice with the same ID already exists", grec.ServiceLocation); + return false; + } + + // This has good intentions (security) but it will potentially DDS the origin... + // We'll need to send a proof along with the message. Maybe encrypt the message + // using key pairs + // + //// check that the notice actually exists in the origin + //GroupsServiceHGConnector c = new GroupsServiceHGConnector(grec.ServiceLocation); + //if (!c.VerifyNotice(noticeID, groupID)) + //{ + // m_log.DebugFormat("[Groups.HGGroupsService]: notice does not exist at origin {0}", grec.ServiceLocation); + // return false; + //} + + // ok, we're good! + return _AddNotice(groupID, noticeID, fromName, subject, message, hasAttachment, attType, attName, attItemID, attOwnerID); + } + + public bool VerifyNotice(UUID noticeID, UUID groupID) + { + GroupNoticeInfo notice = GetGroupNotice(string.Empty, noticeID); + + if (notice == null) + return false; + + if (notice.GroupID != groupID) + return false; + + return true; + } + + #endregion + + private void InviteToGroup(string fromName, UUID groupID, UUID invitedAgentID, string groupName) + { + // Todo: Security check, probably also want to send some kind of notification + UUID InviteID = UUID.Random(); + + if (AddAgentToGroupInvite(InviteID, groupID, invitedAgentID.ToString())) + { + Guid inviteUUID = InviteID.Guid; + + GridInstantMessage msg = new GridInstantMessage(); + + msg.imSessionID = inviteUUID; + + // msg.fromAgentID = agentID.Guid; + msg.fromAgentID = groupID.Guid; + msg.toAgentID = invitedAgentID.Guid; + //msg.timestamp = (uint)Util.UnixTimeSinceEpoch(); + msg.timestamp = 0; + msg.fromAgentName = fromName; + msg.message = string.Format("Please confirm your acceptance to join group {0}.", groupName); + msg.dialog = (byte)OpenMetaverse.InstantMessageDialog.GroupInvitation; + msg.fromGroup = true; + msg.offline = (byte)0; + msg.ParentEstateID = 0; + msg.Position = Vector3.Zero; + msg.RegionID = UUID.Zero.Guid; + msg.binaryBucket = new byte[20]; + + string reason = string.Empty; + m_OfflineIM.StoreMessage(msg, out reason); + + } + } + + private bool AddAgentToGroupInvite(UUID inviteID, UUID groupID, string agentID) + { + // Check whether the invitee is already a member of the group + MembershipData m = m_Database.RetrieveMember(groupID, agentID); + if (m != null) + return false; + + // Check whether there are pending invitations and delete them + InvitationData invite = m_Database.RetrieveInvitation(groupID, agentID); + if (invite != null) + m_Database.DeleteInvite(invite.InviteID); + + invite = new InvitationData(); + invite.InviteID = inviteID; + invite.PrincipalID = agentID; + invite.GroupID = groupID; + invite.RoleID = UUID.Zero; + invite.Data = new Dictionary(); + + return m_Database.StoreInvitation(invite); + } + + private void FillFounderUUI(ExtendedGroupRecord grec) + { + UserAccount account = m_UserAccounts.GetUserAccount(UUID.Zero, grec.FounderID); + if (account != null) + grec.FounderUUI = Util.UniversalIdentifier(account.PrincipalID, account.FirstName, account.LastName, m_HomeURI); + } + + private bool VerifyToken(UUID groupID, string agentID, string token) + { + // check the token + MembershipData membership = m_Database.RetrieveMember(groupID, agentID); + if (membership != null) + { + if (token != string.Empty && token.Equals(membership.Data["AccessToken"])) + return true; + else + m_log.DebugFormat("[Groups.HGGroupsService]: access token {0} did not match stored one {1}", token, membership.Data["AccessToken"]); + } + else + m_log.DebugFormat("[Groups.HGGroupsService]: membership not found for {0}", agentID); + + return false; + } + } +} diff --git a/OpenSim/Data/IGroupsData.cs b/OpenSim/Data/IGroupsData.cs new file mode 100644 index 0000000000..c11e6499a5 --- /dev/null +++ b/OpenSim/Data/IGroupsData.cs @@ -0,0 +1,144 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System.Collections.Generic; +using OpenSim.Data; +using OpenMetaverse; + +namespace OpenSim.Data +{ + public class GroupData + { + public UUID GroupID; + public Dictionary Data; + } + + public class MembershipData + { + public UUID GroupID; + public string PrincipalID; + public Dictionary Data; + } + + public class RoleData + { + public UUID GroupID; + public UUID RoleID; + public Dictionary Data; + } + + public class RoleMembershipData + { + public UUID GroupID; + public UUID RoleID; + public string PrincipalID; + } + + public class PrincipalData + { + public string PrincipalID; + public UUID ActiveGroupID; + } + + public class InvitationData + { + public UUID InviteID; + public UUID GroupID; + public UUID RoleID; + public string PrincipalID; + public Dictionary Data; + } + + public class NoticeData + { + public UUID GroupID; + public UUID NoticeID; + public Dictionary Data; + } + + + public interface IGroupsData + { + // groups table + bool StoreGroup(GroupData data); + GroupData RetrieveGroup(UUID groupID); + GroupData RetrieveGroup(string name); + GroupData[] RetrieveGroups(string pattern); + bool DeleteGroup(UUID groupID); + int GroupsCount(); + + // membership table + MembershipData RetrieveMember(UUID groupID, string pricipalID); + MembershipData[] RetrieveMembers(UUID groupID); + MembershipData[] RetrieveMemberships(string pricipalID); + bool StoreMember(MembershipData data); + bool DeleteMember(UUID groupID, string pricipalID); + int MemberCount(UUID groupID); + + // roles table + bool StoreRole(RoleData data); + RoleData RetrieveRole(UUID groupID, UUID roleID); + RoleData[] RetrieveRoles(UUID groupID); + bool DeleteRole(UUID groupID, UUID roleID); + int RoleCount(UUID groupID); + + // rolememberhip table + RoleMembershipData[] RetrieveRolesMembers(UUID groupID); + RoleMembershipData[] RetrieveRoleMembers(UUID groupID, UUID roleID); + RoleMembershipData[] RetrieveMemberRoles(UUID groupID, string principalID); + RoleMembershipData RetrieveRoleMember(UUID groupID, UUID roleID, string principalID); + int RoleMemberCount(UUID groupID, UUID roleID); + bool StoreRoleMember(RoleMembershipData data); + bool DeleteRoleMember(RoleMembershipData data); + bool DeleteMemberAllRoles(UUID groupID, string principalID); + + // principals table + bool StorePrincipal(PrincipalData data); + PrincipalData RetrievePrincipal(string principalID); + bool DeletePrincipal(string principalID); + + // invites table + bool StoreInvitation(InvitationData data); + InvitationData RetrieveInvitation(UUID inviteID); + InvitationData RetrieveInvitation(UUID groupID, string principalID); + bool DeleteInvite(UUID inviteID); + void DeleteOldInvites(); + + // notices table + bool StoreNotice(NoticeData data); + NoticeData RetrieveNotice(UUID noticeID); + NoticeData[] RetrieveNotices(UUID groupID); + bool DeleteNotice(UUID noticeID); + void DeleteOldNotices(); + + // combinations + MembershipData RetrievePrincipalGroupMembership(string principalID, UUID groupID); + MembershipData[] RetrievePrincipalGroupMemberships(string principalID); + + // Misc + } +} diff --git a/OpenSim/Data/MySQL/MySQLGroupsData.cs b/OpenSim/Data/MySQL/MySQLGroupsData.cs new file mode 100644 index 0000000000..2a1bd6c48e --- /dev/null +++ b/OpenSim/Data/MySQL/MySQLGroupsData.cs @@ -0,0 +1,484 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Reflection; + +using OpenSim.Framework; +using OpenSim.Data.MySQL; + +using OpenMetaverse; +using MySql.Data.MySqlClient; + +namespace OpenSim.Data.MySQL +{ + public class MySQLGroupsData : IGroupsData + { + private MySqlGroupsGroupsHandler m_Groups; + private MySqlGroupsMembershipHandler m_Membership; + private MySqlGroupsRolesHandler m_Roles; + private MySqlGroupsRoleMembershipHandler m_RoleMembership; + private MySqlGroupsInvitesHandler m_Invites; + private MySqlGroupsNoticesHandler m_Notices; + private MySqlGroupsPrincipalsHandler m_Principals; + + public MySQLGroupsData(string connectionString, string realm) + { + m_Groups = new MySqlGroupsGroupsHandler(connectionString, realm + "_groups", realm + "_Store"); + m_Membership = new MySqlGroupsMembershipHandler(connectionString, realm + "_membership"); + m_Roles = new MySqlGroupsRolesHandler(connectionString, realm + "_roles"); + m_RoleMembership = new MySqlGroupsRoleMembershipHandler(connectionString, realm + "_rolemembership"); + m_Invites = new MySqlGroupsInvitesHandler(connectionString, realm + "_invites"); + m_Notices = new MySqlGroupsNoticesHandler(connectionString, realm + "_notices"); + m_Principals = new MySqlGroupsPrincipalsHandler(connectionString, realm + "_principals"); + } + + #region groups table + public bool StoreGroup(GroupData data) + { + return m_Groups.Store(data); + } + + public GroupData RetrieveGroup(UUID groupID) + { + GroupData[] groups = m_Groups.Get("GroupID", groupID.ToString()); + if (groups.Length > 0) + return groups[0]; + + return null; + } + + public GroupData RetrieveGroup(string name) + { + GroupData[] groups = m_Groups.Get("Name", name); + if (groups.Length > 0) + return groups[0]; + + return null; + } + + public GroupData[] RetrieveGroups(string pattern) + { + if (string.IsNullOrEmpty(pattern)) + pattern = "1 ORDER BY Name LIMIT 100"; + else + pattern = string.Format("Name LIKE %{0}% ORDER BY Name LIMIT 100", pattern); + + return m_Groups.Get(pattern); + } + + public bool DeleteGroup(UUID groupID) + { + return m_Groups.Delete("GroupID", groupID.ToString()); + } + + public int GroupsCount() + { + return (int)m_Groups.GetCount("Location=\"\""); + } + + #endregion + + #region membership table + public MembershipData[] RetrieveMembers(UUID groupID) + { + return m_Membership.Get("GroupID", groupID.ToString()); + } + + public MembershipData RetrieveMember(UUID groupID, string pricipalID) + { + MembershipData[] m = m_Membership.Get(new string[] { "GroupID", "PrincipalID" }, + new string[] { groupID.ToString(), pricipalID }); + if (m != null && m.Length > 0) + return m[0]; + + return null; + } + + public MembershipData[] RetrieveMemberships(string pricipalID) + { + return m_Membership.Get("PrincipalID", pricipalID.ToString()); + } + + public bool StoreMember(MembershipData data) + { + return m_Membership.Store(data); + } + + public bool DeleteMember(UUID groupID, string pricipalID) + { + return m_Membership.Delete(new string[] { "GroupID", "PrincipalID" }, + new string[] { groupID.ToString(), pricipalID }); + } + + public int MemberCount(UUID groupID) + { + return (int)m_Membership.GetCount("GroupID", groupID.ToString()); + } + #endregion + + #region roles table + public bool StoreRole(RoleData data) + { + return m_Roles.Store(data); + } + + public RoleData RetrieveRole(UUID groupID, UUID roleID) + { + RoleData[] data = m_Roles.Get(new string[] { "GroupID", "RoleID" }, + new string[] { groupID.ToString(), roleID.ToString() }); + + if (data != null && data.Length > 0) + return data[0]; + + return null; + } + + public RoleData[] RetrieveRoles(UUID groupID) + { + //return m_Roles.RetrieveRoles(groupID); + return m_Roles.Get("GroupID", groupID.ToString()); + } + + public bool DeleteRole(UUID groupID, UUID roleID) + { + return m_Roles.Delete(new string[] { "GroupID", "RoleID" }, + new string[] { groupID.ToString(), roleID.ToString() }); + } + + public int RoleCount(UUID groupID) + { + return (int)m_Roles.GetCount("GroupID", groupID.ToString()); + } + + + #endregion + + #region rolememberhip table + public RoleMembershipData[] RetrieveRolesMembers(UUID groupID) + { + RoleMembershipData[] data = m_RoleMembership.Get("GroupID", groupID.ToString()); + + return data; + } + + public RoleMembershipData[] RetrieveRoleMembers(UUID groupID, UUID roleID) + { + RoleMembershipData[] data = m_RoleMembership.Get(new string[] { "GroupID", "RoleID" }, + new string[] { groupID.ToString(), roleID.ToString() }); + + return data; + } + + public RoleMembershipData[] RetrieveMemberRoles(UUID groupID, string principalID) + { + RoleMembershipData[] data = m_RoleMembership.Get(new string[] { "GroupID", "PrincipalID" }, + new string[] { groupID.ToString(), principalID.ToString() }); + + return data; + } + + public RoleMembershipData RetrieveRoleMember(UUID groupID, UUID roleID, string principalID) + { + RoleMembershipData[] data = m_RoleMembership.Get(new string[] { "GroupID", "RoleID", "PrincipalID" }, + new string[] { groupID.ToString(), roleID.ToString(), principalID.ToString() }); + + if (data != null && data.Length > 0) + return data[0]; + + return null; + } + + public int RoleMemberCount(UUID groupID, UUID roleID) + { + return (int)m_RoleMembership.GetCount(new string[] { "GroupID", "RoleID" }, + new string[] { groupID.ToString(), roleID.ToString() }); + } + + public bool StoreRoleMember(RoleMembershipData data) + { + return m_RoleMembership.Store(data); + } + + public bool DeleteRoleMember(RoleMembershipData data) + { + return m_RoleMembership.Delete(new string[] { "GroupID", "RoleID", "PrincipalID"}, + new string[] { data.GroupID.ToString(), data.RoleID.ToString(), data.PrincipalID }); + } + + public bool DeleteMemberAllRoles(UUID groupID, string principalID) + { + return m_RoleMembership.Delete(new string[] { "GroupID", "PrincipalID" }, + new string[] { groupID.ToString(), principalID }); + } + + #endregion + + #region principals table + public bool StorePrincipal(PrincipalData data) + { + return m_Principals.Store(data); + } + + public PrincipalData RetrievePrincipal(string principalID) + { + PrincipalData[] p = m_Principals.Get("PrincipalID", principalID); + if (p != null && p.Length > 0) + return p[0]; + + return null; + } + + public bool DeletePrincipal(string principalID) + { + return m_Principals.Delete("PrincipalID", principalID); + } + #endregion + + #region invites table + + public bool StoreInvitation(InvitationData data) + { + return m_Invites.Store(data); + } + + public InvitationData RetrieveInvitation(UUID inviteID) + { + InvitationData[] invites = m_Invites.Get("InviteID", inviteID.ToString()); + + if (invites != null && invites.Length > 0) + return invites[0]; + + return null; + } + + public InvitationData RetrieveInvitation(UUID groupID, string principalID) + { + InvitationData[] invites = m_Invites.Get(new string[] { "GroupID", "PrincipalID" }, + new string[] { groupID.ToString(), principalID }); + + if (invites != null && invites.Length > 0) + return invites[0]; + + return null; + } + + public bool DeleteInvite(UUID inviteID) + { + return m_Invites.Delete("InviteID", inviteID.ToString()); + } + + public void DeleteOldInvites() + { + m_Invites.DeleteOld(); + } + + #endregion + + #region notices table + + public bool StoreNotice(NoticeData data) + { + return m_Notices.Store(data); + } + + public NoticeData RetrieveNotice(UUID noticeID) + { + NoticeData[] notices = m_Notices.Get("NoticeID", noticeID.ToString()); + + if (notices != null && notices.Length > 0) + return notices[0]; + + return null; + } + + public NoticeData[] RetrieveNotices(UUID groupID) + { + NoticeData[] notices = m_Notices.Get("GroupID", groupID.ToString()); + + return notices; + } + + public bool DeleteNotice(UUID noticeID) + { + return m_Notices.Delete("NoticeID", noticeID.ToString()); + } + + public void DeleteOldNotices() + { + m_Notices.DeleteOld(); + } + + #endregion + + #region combinations + public MembershipData RetrievePrincipalGroupMembership(string principalID, UUID groupID) + { + // TODO + return null; + } + public MembershipData[] RetrievePrincipalGroupMemberships(string principalID) + { + // TODO + return null; + } + + #endregion + } + + public class MySqlGroupsGroupsHandler : MySQLGenericTableHandler + { + protected override Assembly Assembly + { + // WARNING! Moving migrations to this assembly!!! + get { return GetType().Assembly; } + } + + public MySqlGroupsGroupsHandler(string connectionString, string realm, string store) + : base(connectionString, realm, store) + { + } + + } + + public class MySqlGroupsMembershipHandler : MySQLGenericTableHandler + { + protected override Assembly Assembly + { + // WARNING! Moving migrations to this assembly!!! + get { return GetType().Assembly; } + } + + public MySqlGroupsMembershipHandler(string connectionString, string realm) + : base(connectionString, realm, string.Empty) + { + } + + } + + public class MySqlGroupsRolesHandler : MySQLGenericTableHandler + { + protected override Assembly Assembly + { + // WARNING! Moving migrations to this assembly!!! + get { return GetType().Assembly; } + } + + public MySqlGroupsRolesHandler(string connectionString, string realm) + : base(connectionString, realm, string.Empty) + { + } + + } + + public class MySqlGroupsRoleMembershipHandler : MySQLGenericTableHandler + { + protected override Assembly Assembly + { + // WARNING! Moving migrations to this assembly!!! + get { return GetType().Assembly; } + } + + public MySqlGroupsRoleMembershipHandler(string connectionString, string realm) + : base(connectionString, realm, string.Empty) + { + } + + } + + public class MySqlGroupsInvitesHandler : MySQLGenericTableHandler + { + protected override Assembly Assembly + { + // WARNING! Moving migrations to this assembly!!! + get { return GetType().Assembly; } + } + + public MySqlGroupsInvitesHandler(string connectionString, string realm) + : base(connectionString, realm, string.Empty) + { + } + + public void DeleteOld() + { + uint now = (uint)Util.UnixTimeSinceEpoch(); + + using (MySqlCommand cmd = new MySqlCommand()) + { + cmd.CommandText = String.Format("delete from {0} where TMStamp < ?tstamp", m_Realm); + cmd.Parameters.AddWithValue("?tstamp", now - 14 * 24 * 60 * 60); // > 2 weeks old + + ExecuteNonQuery(cmd); + } + + } + } + + public class MySqlGroupsNoticesHandler : MySQLGenericTableHandler + { + protected override Assembly Assembly + { + // WARNING! Moving migrations to this assembly!!! + get { return GetType().Assembly; } + } + + public MySqlGroupsNoticesHandler(string connectionString, string realm) + : base(connectionString, realm, string.Empty) + { + } + + public void DeleteOld() + { + uint now = (uint)Util.UnixTimeSinceEpoch(); + + using (MySqlCommand cmd = new MySqlCommand()) + { + cmd.CommandText = String.Format("delete from {0} where TMStamp < ?tstamp", m_Realm); + cmd.Parameters.AddWithValue("?tstamp", now - 14 * 24 * 60 * 60); // > 2 weeks old + + ExecuteNonQuery(cmd); + } + + } + } + + public class MySqlGroupsPrincipalsHandler : MySQLGenericTableHandler + { + protected override Assembly Assembly + { + // WARNING! Moving migrations to this assembly!!! + get { return GetType().Assembly; } + } + + public MySqlGroupsPrincipalsHandler(string connectionString, string realm) + : base(connectionString, realm, string.Empty) + { + } + } +} diff --git a/OpenSim/Data/MySQL/Resources/os_groups_Store.migrations b/OpenSim/Data/MySQL/Resources/os_groups_Store.migrations new file mode 100644 index 0000000000..9e6f1c112c --- /dev/null +++ b/OpenSim/Data/MySQL/Resources/os_groups_Store.migrations @@ -0,0 +1,115 @@ +:VERSION 1 # -------------------------- + +BEGIN; + +CREATE TABLE `os_groups_groups` ( + `GroupID` char(36) NOT NULL default '', + `Location` varchar(255) NOT NULL default '', + `Name` varchar(255) NOT NULL default '', + `Charter` text NOT NULL, + `InsigniaID` char(36) NOT NULL default '', + `FounderID` char(36) NOT NULL default '', + `MembershipFee` int(11) NOT NULL default '0', + `OpenEnrollment` varchar(255) NOT NULL default '', + `ShowInList` int(4) NOT NULL default '0', + `AllowPublish` int(4) NOT NULL default '0', + `MaturePublish` int(4) NOT NULL default '0', + `OwnerRoleID` char(36) NOT NULL default '', + PRIMARY KEY (`GroupID`), + UNIQUE KEY `Name` (`Name`), + FULLTEXT KEY `Name_2` (`Name`) +) ENGINE=MyISAM; + + +CREATE TABLE `os_groups_membership` ( + `GroupID`char(36) NOT NULL default '', + `PrincipalID` VARCHAR(255) NOT NULL default '', + `SelectedRoleID` char(36) NOT NULL default '', + `Contribution` int(11) NOT NULL default '0', + `ListInProfile` int(4) NOT NULL default '1', + `AcceptNotices` int(4) NOT NULL default '1', + `AccessToken` char(36) NOT NULL default '', + PRIMARY KEY (`GroupID`,`PrincipalID`), + KEY `PrincipalID` (`PrincipalID`) +) ENGINE=MyISAM; + + +CREATE TABLE `os_groups_roles` ( + `GroupID` char(36) NOT NULL default '', + `RoleID` char(36) NOT NULL default '', + `Name` varchar(255) NOT NULL default '', + `Description` varchar(255) NOT NULL default '', + `Title` varchar(255) NOT NULL default '', + `Powers` bigint(20) unsigned NOT NULL default '0', + PRIMARY KEY (`GroupID`,`RoleID`), + KEY `GroupID` (`GroupID`) +) ENGINE=MyISAM; + + +CREATE TABLE `os_groups_rolemembership` ( + `GroupID` char(36) NOT NULL default '', + `RoleID` char(36) NOT NULL default '', + `PrincipalID` VARCHAR(255) NOT NULL default '', + PRIMARY KEY (`GroupID`,`RoleID`,`PrincipalID`), + KEY `PrincipalID` (`PrincipalID`) +) ENGINE=MyISAM; + + +CREATE TABLE `os_groups_invites` ( + `InviteID` char(36) NOT NULL default '', + `GroupID` char(36) NOT NULL default '', + `RoleID` char(36) NOT NULL default '', + `PrincipalID` VARCHAR(255) NOT NULL default '', + `TMStamp` timestamp NOT NULL, + PRIMARY KEY (`InviteID`), + UNIQUE KEY `PrincipalGroup` (`GroupID`,`PrincipalID`) +) ENGINE=MyISAM; + + +CREATE TABLE `os_groups_notices` ( + `GroupID` char(36) NOT NULL default '', + `NoticeID` char(36) NOT NULL default '', + `TMStamp` int(10) unsigned NOT NULL default '0', + `FromName` varchar(255) NOT NULL default '', + `Subject` varchar(255) NOT NULL default '', + `Message` text NOT NULL, + `HasAttachment` int(4) NOT NULL default '0', + `AttachmentType` int(4) NOT NULL default '0', + `AttachmentName` varchar(128) NOT NULL default '', + `AttachmentItemID` char(36) NOT NULL default '', + `AttachmentOwnerID` varchar(255) NOT NULL default '', + PRIMARY KEY (`NoticeID`), + KEY `GroupID` (`GroupID`), + KEY `TMStamp` (`TMStamp`) +) ENGINE=MyISAM; + +CREATE TABLE `os_groups_principals` ( + `PrincipalID` VARCHAR(255) NOT NULL default '', + `ActiveGroupID` char(36) NOT NULL default '', + PRIMARY KEY (`PrincipalID`) +) ENGINE=MyISAM; + +COMMIT; + +:VERSION 2 # -------------------------- + +BEGIN; + +INSERT INTO `os_groups_groups` SELECT * from `diva_groups_groups`; +DROP TABLE `diva_groups_groups`; +INSERT INTO `os_groups_membership` SELECT * from `diva_groups_membership`; +DROP TABLE `diva_groups_membership`; +INSERT INTO `os_groups_roles` SELECT * from `diva_groups_roles`; +DROP TABLE `diva_groups_roles`; +INSERT INTO `os_groups_rolemembership` SELECT * from `diva_groups_rolemembership`; +DROP TABLE `diva_groups_rolemembership`; +INSERT INTO `os_groups_invites` SELECT * from `diva_groups_invites`; +DROP TABLE `diva_groups_invites`; +INSERT INTO `os_groups_notices` SELECT * from `diva_groups_notices`; +DROP TABLE `diva_groups_notices`; +INSERT INTO `os_groups_principals` SELECT * from `diva_groups_principals`; +DROP TABLE `diva_groups_principals`; + +DELETE FROM `migrations` WHERE name='diva_im_Store'; + +COMMIT; \ No newline at end of file diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 674a66c147..cb978f1285 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -931,33 +931,47 @@ ;; Enables the groups module ; Enabled = false - ;# {Module} {Enabled:true} {Groups module to use? (Use GroupsModule to use Flotsam/Simian)} {} Default - ;; This is the current groups stub in Region.CoreModules.Avatar.Groups. - ;; All the other settings below only really apply to the Flotsam/SimianGrid - ;; GroupsModule. - ;; This module can use a PHP XmlRpc server from the Flotsam project at + ;# {Module} {Enabled:true} {Groups module to use? (Use GroupsModule to use Flotsam/Simian)} {Default "Groups Module V2"} Default + ;; The default module can use a PHP XmlRpc server from the Flotsam project at ;; http://code.google.com/p/flotsam/ ;; or from the SimianGrid project at http://code.google.com/p/openmetaverse ; Module = Default + ;; or... use Groups Module V2, which works for standalones and robust grids + ; Module = "Groups Module V2" - ;# {MessagingEnabled} {Module:GroupsModule} {Is groups messaging enabled?} {true false} true - ; MessagingEnabled = true + ;# {StorageProvider} {Module:Groups Module V2} {The DLL that provides the storage for V2} {OpenSim.Data.MySQL.dll} + ; StorageProvider = OpenSim.Data.MySQL.dll - ;# {MessagingModule} {MessagingEnabled:true} {Module to use for groups messaging} {GroupsMessagingModule} GroupsMessagingModule - ; MessagingModule = GroupsMessagingModule - - ;# {ServicesConnectorModule} {Module:GroupsModule} {Service connector to use for groups} {XmlRpcGroupsServicesConnector SimianGroupsServicesConnector} XmlRpcGroupsServicesConnector + ;# {ServicesConnectorModule} {Module:GroupsModule Module:Groups Module V2} {Service connector to use for groups} {XmlRpcGroupsServicesConnector SimianGroupsServicesConnector "Groups Local Service Connector" "Groups Remote Service Connector" "Groups HG Service Connector"} XmlRpcGroupsServicesConnector ;; Service connectors to the Groups Service as used in the GroupsModule. Select one depending on - ;; whether you're using a Flotsam XmlRpc backend or a SimianGrid backend + ;; whether you're using a Flotsam XmlRpc backend or a SimianGrid backend or several flavours of V2, Hypergrided or not, standalone or grided. ; ServicesConnectorModule = XmlRpcGroupsServicesConnector - ;# {GroupsServerURI} {Module:GroupsModule} {Groups Server URI} {} - ;; URI for the groups services + ;# {LocalService} {ServicesConnectorModule:Groups HG Service Connector} {Is the group service in this process or elsewhere?} {local remote} local + ;; Used for V2 in HG only. If standalone, set this to local; if grided sim, set this to remote + ; LocalService = local + + ;# {GroupsServerURI} {Module:GroupsModule (ServicesConnectorModule:Groups Remote Service Connector or (ServicesConnectorModule:Groups HG Service Connector and LocalService:remote))} {Groups Server URI} {} + ;; URI for the groups services of this grid ;; e.g. http://yourxmlrpcserver.com/xmlrpc.php for Flotsam XmlRpc ;; or http://mygridserver.com:82/Grid/ for SimianGrid + ;; or http:://mygridserver.com:8003 for robust, V2 ; GroupsServerURI = "" - ;# {NoticesEnabled} {Module:GroupsModule} {Enable group notices?} {true false} true + ;# {HomeURI} {ServicesConnectorModule:Groups HG Service Connector} {What's the home address of this world?} {} + ;; Used for V2 in HG only. For example + ;; http://mygridserver.com:9000 or http://mygridserver.com:8002 + ; HomeURI = "" + + ;# {MessagingEnabled} {Module:GroupsModule Module:Groups Module V2} {Is groups messaging enabled?} {true false} true + ; MessagingEnabled = true + + ;# {MessagingModule} {MessagingEnabled:true} {Module to use for groups messaging} {GroupsMessagingModule "Groups Messaging Module V2"} GroupsMessagingModule + ; MessagingModule = GroupsMessagingModule + ;; or use V2 for Groups V2 + ; MessagingModule = "Groups Messaging Module V2" + + ;# {NoticesEnabled} {Module:GroupsModule Module:Groups Module V2} {Enable group notices?} {true false} true ;; Enable Group Notices ; NoticesEnabled = true diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 020815e1eb..f249dd235d 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -53,6 +53,8 @@ MapAddServiceConnector = "8003/OpenSim.Server.Handlers.dll:MapAddServiceConnecto MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnector" ;; Uncomment this if you want offline IM to work ;OfflineIMServiceConnector = "8003/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector" +;; Uncomment this if you want Groups V2 to work +;GroupsServiceConnector = "8003/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector" ;; Additions for Hypergrid @@ -63,6 +65,8 @@ HGFriendsServerConnector = "8002/OpenSim.Server.Handlers.dll:HGFriendsServerConn InstantMessageServerConnector = "8002/OpenSim.Server.Handlers.dll:InstantMessageServerConnector" HGInventoryServiceConnector = "HGInventoryService@8002/OpenSim.Server.Handlers.dll:XInventoryInConnector" HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:AssetServiceConnector" +;; Uncomment this if you want Groups V2, HG to work +;HGGroupsServiceConnector = "8002/Diva.Groups.dll:HGGroupsServiceRobustConnector" ;; Additions for other add-on modules. For example: ;; WifiServerConnector = "8002/Diva.Wifi.dll:WifiServerConnector" @@ -550,3 +554,9 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ; OfflineIM OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService" +[Groups] + ;; for the HG Groups service + OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService" + ; What is the HomeURI of users associated with this grid? + HomeURI = "http://127.0.0.1:8002" + UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 63a569937f..eee313aba5 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -45,6 +45,8 @@ MapAddServiceConnector = "8003/OpenSim.Server.Handlers.dll:MapAddServiceConnecto MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnector" ;; Uncomment this if you want offline IM to work ;OfflineIMServiceConnector = "8003/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector" +;; Uncomment this if you want Groups V2 to work +;GroupsServiceConnector = "8003/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector" ; * This is common for all services, it's the network setup for the entire diff --git a/prebuild.xml b/prebuild.xml index 1caa54bbc0..fa193d9f28 100644 --- a/prebuild.xml +++ b/prebuild.xml @@ -2571,6 +2571,54 @@ + + + + ../../../bin/ + + + + + ../../../bin/ + + + + ../../bin/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From fc89987656ec8247b1ae703628f4b83e3b0eeb60 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Tue, 19 Feb 2013 07:30:55 -0800 Subject: [PATCH 614/851] Previous build failed. Checking in a dummy change to see if the fail persists. --- bin/Robust.HG.ini.example | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index f249dd235d..3858a3c0f9 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -52,9 +52,9 @@ FriendsServiceConnector = "8003/OpenSim.Server.Handlers.dll:FriendsServiceConnec MapAddServiceConnector = "8003/OpenSim.Server.Handlers.dll:MapAddServiceConnector" MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnector" ;; Uncomment this if you want offline IM to work -;OfflineIMServiceConnector = "8003/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector" +; OfflineIMServiceConnector = "8003/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector" ;; Uncomment this if you want Groups V2 to work -;GroupsServiceConnector = "8003/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector" +; GroupsServiceConnector = "8003/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector" ;; Additions for Hypergrid @@ -66,7 +66,7 @@ InstantMessageServerConnector = "8002/OpenSim.Server.Handlers.dll:InstantMessage HGInventoryServiceConnector = "HGInventoryService@8002/OpenSim.Server.Handlers.dll:XInventoryInConnector" HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:AssetServiceConnector" ;; Uncomment this if you want Groups V2, HG to work -;HGGroupsServiceConnector = "8002/Diva.Groups.dll:HGGroupsServiceRobustConnector" +; HGGroupsServiceConnector = "8002/Diva.Groups.dll:HGGroupsServiceRobustConnector" ;; Additions for other add-on modules. For example: ;; WifiServerConnector = "8002/Diva.Wifi.dll:WifiServerConnector" From 036d73c52aaab019c868081630e6c839ff84fe4d Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Tue, 19 Feb 2013 07:55:20 -0800 Subject: [PATCH 615/851] This should fix the build fail. Fingers crossed. --- prebuild.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prebuild.xml b/prebuild.xml index fa193d9f28..7b28085839 100644 --- a/prebuild.xml +++ b/prebuild.xml @@ -2583,7 +2583,7 @@ - ../../bin/ + ../../../bin/ From 26dca1adc32e834e9debf47e66625fa36e7f3ace Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Tue, 19 Feb 2013 23:53:30 +0000 Subject: [PATCH 616/851] Convert JsonTestPath() use in json regression tests to JsonGetPathType() instead --- .../Tests/JsonStoreScriptModuleTests.cs | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index db82d4bcdd..b64dbd40e9 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -158,8 +158,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests Assert.That(dsrv, Is.EqualTo(1)); - int tprv = (int)InvokeOp("JsonTestPath", storeId, "Hello"); - Assert.That(tprv, Is.EqualTo(0)); + int tprv = (int)InvokeOp("JsonGetPathType", storeId, "Hello"); + Assert.That(tprv, Is.EqualTo(JsonStoreScriptModule.JSON_TYPE_UNDEF)); } [Test] @@ -277,8 +277,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests int returnValue = (int)InvokeOp( "JsonRemoveValue", storeId, "Hello"); Assert.That(returnValue, Is.EqualTo(1)); - int result = (int)InvokeOp("JsonTestPath", storeId, "Hello"); - Assert.That(result, Is.EqualTo(0)); + int result = (int)InvokeOp("JsonGetPathType", storeId, "Hello"); + Assert.That(result, Is.EqualTo(JsonStoreScriptModule.JSON_TYPE_UNDEF)); string returnValue2 = (string)InvokeOp("JsonGetValue", storeId, "Hello"); Assert.That(returnValue2, Is.EqualTo("")); @@ -291,8 +291,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests int returnValue = (int)InvokeOp( "JsonRemoveValue", storeId, "Hello"); Assert.That(returnValue, Is.EqualTo(1)); - int result = (int)InvokeOp("JsonTestPath", storeId, "Hello"); - Assert.That(result, Is.EqualTo(0)); + int result = (int)InvokeOp("JsonGetPathType", storeId, "Hello"); + Assert.That(result, Is.EqualTo(JsonStoreScriptModule.JSON_TYPE_UNDEF)); string returnValue2 = (string)InvokeOp("JsonGetJson", storeId, "Hello"); Assert.That(returnValue2, Is.EqualTo("")); @@ -306,11 +306,11 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests int returnValue = (int)InvokeOp( "JsonRemoveValue", storeId, "Hello[0]"); Assert.That(returnValue, Is.EqualTo(1)); - int result = (int)InvokeOp("JsonTestPath", storeId, "Hello[0]"); - Assert.That(result, Is.EqualTo(1)); + int result = (int)InvokeOp("JsonGetPathType", storeId, "Hello[0]"); + Assert.That(result, Is.EqualTo(JsonStoreScriptModule.JSON_TYPE_VALUE)); - result = (int)InvokeOp("JsonTestPath", storeId, "Hello[1]"); - Assert.That(result, Is.EqualTo(0)); + result = (int)InvokeOp("JsonGetPathType", storeId, "Hello[1]"); + Assert.That(result, Is.EqualTo(JsonStoreScriptModule.JSON_TYPE_UNDEF)); string stringReturnValue = (string)InvokeOp("JsonGetValue", storeId, "Hello[0]"); Assert.That(stringReturnValue, Is.EqualTo("value2")); From 8a6f2432fc0c57645cb395578f373474548975e9 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 20 Feb 2013 00:01:20 +0000 Subject: [PATCH 617/851] minor: remove some mono compiler warnings in OpenSim.Region.ClientStack.Linden.Caps.dll --- .../ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs | 2 +- .../Region/ClientStack/Linden/Caps/RegionConsoleModule.cs | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs b/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs index 1af61db48b..20df8a6a2e 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs @@ -912,7 +912,7 @@ namespace OpenSim.Region.ClientStack.Linden string param, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse) { - OSDMap req = (OSDMap)OSDParser.DeserializeLLSDXml(request); +// OSDMap req = (OSDMap)OSDParser.DeserializeLLSDXml(request); OSDMap resp = new OSDMap(); OSDMap accessPrefs = new OSDMap(); diff --git a/OpenSim/Region/ClientStack/Linden/Caps/RegionConsoleModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/RegionConsoleModule.cs index 17c7270479..69dd76fe45 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/RegionConsoleModule.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/RegionConsoleModule.cs @@ -56,8 +56,8 @@ namespace OpenSim.Region.ClientStack.Linden [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "RegionConsoleModule")] public class RegionConsoleModule : INonSharedRegionModule, IRegionConsole { - private static readonly ILog m_log = - LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); +// private static readonly ILog m_log = +// LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); private Scene m_scene; private IEventQueue m_eventQueue; @@ -157,8 +157,8 @@ namespace OpenSim.Region.ClientStack.Linden public class ConsoleHandler : BaseStreamHandler { - private static readonly ILog m_log = - LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); +// private static readonly ILog m_log = +// LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); private RegionConsoleModule m_consoleModule; private UUID m_agentID; From db2b3627f2e22f6e677dc77cd0225c3937fff1b8 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 20 Feb 2013 00:48:02 +0000 Subject: [PATCH 618/851] Add information about MinLoginLevel to example ini files --- bin/Robust.ini.example | 7 ++++++- bin/config-include/StandaloneCommon.ini.example | 5 +++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index eee313aba5..05ea67024f 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -261,7 +261,12 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto LibraryService = "OpenSim.Services.InventoryService.dll:LibraryService" FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" - ;; Ask co-operative viewers to use a different currency name + ; The minimum user level required for a user to be able to login. 0 by default + ; If you disable a particular user's account then you can set their login level below this number. + ; You can also change this level from the console though these changes will not be persisted. + ; MinLoginLevel = 0 + + ; Ask co-operative viewers to use a different currency name ;Currency = "" WelcomeMessage = "Welcome, Avatar!" diff --git a/bin/config-include/StandaloneCommon.ini.example b/bin/config-include/StandaloneCommon.ini.example index f28de437cd..ffa2d4999a 100644 --- a/bin/config-include/StandaloneCommon.ini.example +++ b/bin/config-include/StandaloneCommon.ini.example @@ -85,6 +85,11 @@ ;; For Viewer 2 MapTileURL = "http://127.0.0.1:9000/" + ; The minimum user level required for a user to be able to login. 0 by default + ; If you disable a particular user's account then you can set their login level below this number. + ; You can also change this level from the console though these changes will not be persisted. + ; MinLoginLevel = 0 + ;; Ask co-operative viewers to use a different currency name ;Currency = "" From 05a0998f57437c8fc38e9876dfda5ad037ddeb5f Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 20 Feb 2013 00:51:55 +0000 Subject: [PATCH 619/851] Give the user some feedback about the success or failure of console login property commands --- OpenSim/Services/LLLoginService/LLLoginService.cs | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/OpenSim/Services/LLLoginService/LLLoginService.cs b/OpenSim/Services/LLLoginService/LLLoginService.cs index 59fb55981b..5f30f84f74 100644 --- a/OpenSim/Services/LLLoginService/LLLoginService.cs +++ b/OpenSim/Services/LLLoginService/LLLoginService.cs @@ -961,14 +961,25 @@ namespace OpenSim.Services.LLLoginService // or fixing critical issues // if (cmd.Length > 2) - Int32.TryParse(cmd[2], out m_MinLoginLevel); + { + if (Int32.TryParse(cmd[2], out m_MinLoginLevel)) + MainConsole.Instance.OutputFormat("Set minimum login level to {0}", m_MinLoginLevel); + else + MainConsole.Instance.OutputFormat("ERROR: {0} is not a valid login level", cmd[2]); + } break; - case "reset": + + case "reset": m_MinLoginLevel = 0; + MainConsole.Instance.OutputFormat("Reset min login level to {0}", m_MinLoginLevel); break; + case "text": if (cmd.Length > 2) + { m_WelcomeMessage = cmd[2]; + MainConsole.Instance.OutputFormat("Login welcome message set to '{0}'", m_WelcomeMessage); + } break; } } From 66bc526e4c52be5985eef648d27cc2c9edca8d34 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Tue, 19 Feb 2013 17:04:21 -0800 Subject: [PATCH 620/851] Updated AssemblyInfo.cs for Groups and OfflineIM to 0.7.6.*. Removed AssemblyFileVersionNumber too. --- OpenSim/Addons/Groups/Properties/AssemblyInfo.cs | 3 +-- OpenSim/Addons/OfflineIM/Properties/AssemblyInfo.cs | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/OpenSim/Addons/Groups/Properties/AssemblyInfo.cs b/OpenSim/Addons/Groups/Properties/AssemblyInfo.cs index 166803f7f5..5ccd7fea1b 100644 --- a/OpenSim/Addons/Groups/Properties/AssemblyInfo.cs +++ b/OpenSim/Addons/Groups/Properties/AssemblyInfo.cs @@ -30,8 +30,7 @@ using Mono.Addins; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: Addin("OpenSim.Groups", "0.1")] [assembly: AddinDependency("OpenSim", "0.5")] diff --git a/OpenSim/Addons/OfflineIM/Properties/AssemblyInfo.cs b/OpenSim/Addons/OfflineIM/Properties/AssemblyInfo.cs index 31667eb745..ffe8a3ec21 100644 --- a/OpenSim/Addons/OfflineIM/Properties/AssemblyInfo.cs +++ b/OpenSim/Addons/OfflineIM/Properties/AssemblyInfo.cs @@ -30,8 +30,7 @@ using Mono.Addins; // Build Number // Revision // -[assembly: AssemblyVersion("0.7.5.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: AssemblyVersion("0.7.6.*")] [assembly: Addin("OpenSim.OfflineIM", "0.1")] [assembly: AddinDependency("OpenSim", "0.5")] From 4779f7d7d5ce0e284d9ed15104389f8479b11545 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Tue, 19 Feb 2013 17:14:55 -0800 Subject: [PATCH 621/851] Deleted all AssemblyFileVersion directives --- .../ApplicationPlugins/LoadRegions/Properties/AssemblyInfo.cs | 1 - .../RegionModulesController/Properties/AssemblyInfo.cs | 2 +- .../RemoteController/Properties/AssemblyInfo.cs | 2 +- OpenSim/Capabilities/Handlers/Properties/AssemblyInfo.cs | 2 +- OpenSim/Data/MSSQL/Properties/AssemblyInfo.cs | 2 +- OpenSim/Data/MySQL/Properties/AssemblyInfo.cs | 2 +- OpenSim/Data/Null/Properties/AssemblyInfo.cs | 2 +- OpenSim/Data/Properties/AssemblyInfo.cs | 2 +- OpenSim/Data/SQLite/Properties/AssemblyInfo.cs | 2 +- OpenSim/Framework/AssemblyInfo.cs | 1 - .../Framework/AssetLoader/Filesystem/Properties/AssemblyInfo.cs | 2 +- OpenSim/Framework/Communications/Properties/AssemblyInfo.cs | 2 +- OpenSim/Framework/Configuration/HTTP/Properties/AssemblyInfo.cs | 2 +- OpenSim/Framework/Configuration/XML/Properties/AssemblyInfo.cs | 2 +- OpenSim/Framework/Monitoring/Properties/AssemblyInfo.cs | 2 +- .../RegionLoader/Filesystem/Properties/AssemblyInfo.cs | 2 +- OpenSim/Framework/RegionLoader/Web/Properties/AssemblyInfo.cs | 2 +- OpenSim/Framework/Serialization/Properties/AssemblyInfo.cs | 2 +- OpenSim/Framework/Servers/HttpServer/Properties/AssemblyInfo.cs | 2 +- .../Region/ClientStack/Linden/Caps/Properties/AssemblyInfo.cs | 2 +- .../Region/ClientStack/Linden/UDP/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/CoreModules/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/DataSnapshot/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/Framework/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/OptionalModules/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/Physics/BulletSPlugin/Properties/AssemblyInfo.cs | 2 +- .../ConvexDecompositionDotNet/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/Physics/Meshing/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/RegionCombinerModule/Properties/AssemblyInfo.cs | 2 +- .../Shared/Api/Implementation/Properties/AssemblyInfo.cs | 2 +- .../ScriptEngine/Shared/CodeTools/Properties/AssemblyInfo.cs | 2 +- .../ScriptEngine/Shared/Instance/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/ScriptEngine/XEngine/Properties/AssemblyInfo.cs | 2 +- OpenSim/Region/UserStatistics/Properties/AssemblyInfo.cs | 2 +- OpenSim/Server/Base/Properties/AssemblyInfo.cs | 2 +- OpenSim/Server/Handlers/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/AssetService/Properties/AssemblyInfo.cs | 2 +- .../Services/AuthenticationService/Properties/AssemblyInfo.cs | 2 +- .../Services/AuthorizationService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/AvatarService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/Base/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/Connectors/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/FreeswitchService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/Friends/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/GridService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/HypergridService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/Interfaces/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/InventoryService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/LLLoginService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/MapImageService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/PresenceService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Services/UserAccountService/Properties/AssemblyInfo.cs | 2 +- OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs | 2 +- OpenSim/Tools/Configger/Properties/AssemblyInfo.cs | 2 +- OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs | 2 +- 55 files changed, 53 insertions(+), 55 deletions(-) diff --git a/OpenSim/ApplicationPlugins/LoadRegions/Properties/AssemblyInfo.cs b/OpenSim/ApplicationPlugins/LoadRegions/Properties/AssemblyInfo.cs index b81c1e5f28..1b6a3e1a8e 100644 --- a/OpenSim/ApplicationPlugins/LoadRegions/Properties/AssemblyInfo.cs +++ b/OpenSim/ApplicationPlugins/LoadRegions/Properties/AssemblyInfo.cs @@ -63,4 +63,3 @@ using System.Runtime.InteropServices; // [assembly: AssemblyVersion("0.7.6.*")] [assembly : AssemblyVersion("0.7.6.*")] -[assembly : AssemblyFileVersion("0.6.5.0")] \ No newline at end of file diff --git a/OpenSim/ApplicationPlugins/RegionModulesController/Properties/AssemblyInfo.cs b/OpenSim/ApplicationPlugins/RegionModulesController/Properties/AssemblyInfo.cs index be6054d150..5683a72313 100644 --- a/OpenSim/ApplicationPlugins/RegionModulesController/Properties/AssemblyInfo.cs +++ b/OpenSim/ApplicationPlugins/RegionModulesController/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/ApplicationPlugins/RemoteController/Properties/AssemblyInfo.cs b/OpenSim/ApplicationPlugins/RemoteController/Properties/AssemblyInfo.cs index 3ec7a13883..a9d3f74ecd 100644 --- a/OpenSim/ApplicationPlugins/RemoteController/Properties/AssemblyInfo.cs +++ b/OpenSim/ApplicationPlugins/RemoteController/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Capabilities/Handlers/Properties/AssemblyInfo.cs b/OpenSim/Capabilities/Handlers/Properties/AssemblyInfo.cs index 4ff5fe1d9a..f8f63f437b 100644 --- a/OpenSim/Capabilities/Handlers/Properties/AssemblyInfo.cs +++ b/OpenSim/Capabilities/Handlers/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Data/MSSQL/Properties/AssemblyInfo.cs b/OpenSim/Data/MSSQL/Properties/AssemblyInfo.cs index 4e96be8da4..9bc580e76a 100644 --- a/OpenSim/Data/MSSQL/Properties/AssemblyInfo.cs +++ b/OpenSim/Data/MSSQL/Properties/AssemblyInfo.cs @@ -62,4 +62,4 @@ using System.Runtime.InteropServices; // by using the '*' as shown below: [assembly : AssemblyVersion("0.7.6.*")] -[assembly : AssemblyFileVersion("0.6.5.0")] + diff --git a/OpenSim/Data/MySQL/Properties/AssemblyInfo.cs b/OpenSim/Data/MySQL/Properties/AssemblyInfo.cs index 7bfa28dd39..1146d92e9d 100644 --- a/OpenSim/Data/MySQL/Properties/AssemblyInfo.cs +++ b/OpenSim/Data/MySQL/Properties/AssemblyInfo.cs @@ -62,4 +62,4 @@ using System.Runtime.InteropServices; // by using the '*' as shown below: [assembly : AssemblyVersion("0.7.6.*")] -[assembly : AssemblyFileVersion("0.6.5.0")] + diff --git a/OpenSim/Data/Null/Properties/AssemblyInfo.cs b/OpenSim/Data/Null/Properties/AssemblyInfo.cs index 3931b3dab8..1e02c31bda 100644 --- a/OpenSim/Data/Null/Properties/AssemblyInfo.cs +++ b/OpenSim/Data/Null/Properties/AssemblyInfo.cs @@ -62,4 +62,4 @@ using System.Runtime.InteropServices; // by using the '*' as shown below: [assembly : AssemblyVersion("0.7.6.*")] -[assembly : AssemblyFileVersion("0.6.5.0")] + diff --git a/OpenSim/Data/Properties/AssemblyInfo.cs b/OpenSim/Data/Properties/AssemblyInfo.cs index 9f342ad571..a85f47306c 100644 --- a/OpenSim/Data/Properties/AssemblyInfo.cs +++ b/OpenSim/Data/Properties/AssemblyInfo.cs @@ -62,4 +62,4 @@ using System.Runtime.InteropServices; // by using the '*' as shown below: [assembly : AssemblyVersion("0.7.6.*")] -[assembly : AssemblyFileVersion("0.6.5.0")] + diff --git a/OpenSim/Data/SQLite/Properties/AssemblyInfo.cs b/OpenSim/Data/SQLite/Properties/AssemblyInfo.cs index ba52f8258b..992982ce76 100644 --- a/OpenSim/Data/SQLite/Properties/AssemblyInfo.cs +++ b/OpenSim/Data/SQLite/Properties/AssemblyInfo.cs @@ -62,4 +62,4 @@ using System.Runtime.InteropServices; // by using the '*' as shown below: [assembly : AssemblyVersion("0.7.6.*")] -[assembly : AssemblyFileVersion("0.6.5.0")] + diff --git a/OpenSim/Framework/AssemblyInfo.cs b/OpenSim/Framework/AssemblyInfo.cs index b3db56c3ec..d6b4e6adbf 100644 --- a/OpenSim/Framework/AssemblyInfo.cs +++ b/OpenSim/Framework/AssemblyInfo.cs @@ -60,4 +60,3 @@ using System.Runtime.InteropServices; // [assembly : AssemblyVersion("0.7.6.*")] -[assembly : AssemblyFileVersion("0.6.5.0")] \ No newline at end of file diff --git a/OpenSim/Framework/AssetLoader/Filesystem/Properties/AssemblyInfo.cs b/OpenSim/Framework/AssetLoader/Filesystem/Properties/AssemblyInfo.cs index 077244d4e6..feffa26dbc 100644 --- a/OpenSim/Framework/AssetLoader/Filesystem/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/AssetLoader/Filesystem/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Framework/Communications/Properties/AssemblyInfo.cs b/OpenSim/Framework/Communications/Properties/AssemblyInfo.cs index cf575ac63b..df8eb520e1 100644 --- a/OpenSim/Framework/Communications/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/Communications/Properties/AssemblyInfo.cs @@ -62,4 +62,4 @@ using System.Runtime.InteropServices; // by using the '*' as shown below: [assembly : AssemblyVersion("0.7.6.*")] -[assembly : AssemblyFileVersion("0.6.5.0")] + diff --git a/OpenSim/Framework/Configuration/HTTP/Properties/AssemblyInfo.cs b/OpenSim/Framework/Configuration/HTTP/Properties/AssemblyInfo.cs index c3b6227e9c..3ef9682a95 100644 --- a/OpenSim/Framework/Configuration/HTTP/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/Configuration/HTTP/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Framework/Configuration/XML/Properties/AssemblyInfo.cs b/OpenSim/Framework/Configuration/XML/Properties/AssemblyInfo.cs index b0d2d67424..cbdffeb78c 100644 --- a/OpenSim/Framework/Configuration/XML/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/Configuration/XML/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Framework/Monitoring/Properties/AssemblyInfo.cs b/OpenSim/Framework/Monitoring/Properties/AssemblyInfo.cs index bb83db1d73..36678bbe3e 100644 --- a/OpenSim/Framework/Monitoring/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/Monitoring/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Framework/RegionLoader/Filesystem/Properties/AssemblyInfo.cs b/OpenSim/Framework/RegionLoader/Filesystem/Properties/AssemblyInfo.cs index f836350fec..d4806f17f6 100644 --- a/OpenSim/Framework/RegionLoader/Filesystem/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/RegionLoader/Filesystem/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Framework/RegionLoader/Web/Properties/AssemblyInfo.cs b/OpenSim/Framework/RegionLoader/Web/Properties/AssemblyInfo.cs index 72fa67981a..1541a5bced 100644 --- a/OpenSim/Framework/RegionLoader/Web/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/RegionLoader/Web/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Framework/Serialization/Properties/AssemblyInfo.cs b/OpenSim/Framework/Serialization/Properties/AssemblyInfo.cs index 7a122dadbe..a8dff93458 100644 --- a/OpenSim/Framework/Serialization/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/Serialization/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Framework/Servers/HttpServer/Properties/AssemblyInfo.cs b/OpenSim/Framework/Servers/HttpServer/Properties/AssemblyInfo.cs index 386be2de5c..8e592c1e07 100644 --- a/OpenSim/Framework/Servers/HttpServer/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/Servers/HttpServer/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Region/ClientStack/Linden/Caps/Properties/AssemblyInfo.cs b/OpenSim/Region/ClientStack/Linden/Caps/Properties/AssemblyInfo.cs index d29a00174e..595d01a365 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Region/ClientStack/Linden/UDP/Properties/AssemblyInfo.cs b/OpenSim/Region/ClientStack/Linden/UDP/Properties/AssemblyInfo.cs index 8f9dad35ba..98ef72f6b1 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Region/CoreModules/Properties/AssemblyInfo.cs b/OpenSim/Region/CoreModules/Properties/AssemblyInfo.cs index f6353f913f..bfe0383c26 100644 --- a/OpenSim/Region/CoreModules/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/CoreModules/Properties/AssemblyInfo.cs @@ -31,7 +31,7 @@ using Mono.Addins; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + [assembly: Addin("OpenSim.Region.CoreModules", "0.1")] [assembly: AddinDependency("OpenSim", "0.5")] diff --git a/OpenSim/Region/DataSnapshot/Properties/AssemblyInfo.cs b/OpenSim/Region/DataSnapshot/Properties/AssemblyInfo.cs index 0f083c7b35..0e7df07adb 100644 --- a/OpenSim/Region/DataSnapshot/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/DataSnapshot/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Region/Framework/Properties/AssemblyInfo.cs b/OpenSim/Region/Framework/Properties/AssemblyInfo.cs index 2a5828e072..167c248390 100644 --- a/OpenSim/Region/Framework/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/Framework/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Region/OptionalModules/Properties/AssemblyInfo.cs b/OpenSim/Region/OptionalModules/Properties/AssemblyInfo.cs index 00655312d1..70bda72c07 100644 --- a/OpenSim/Region/OptionalModules/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/OptionalModules/Properties/AssemblyInfo.cs @@ -31,7 +31,7 @@ using Mono.Addins; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + [assembly: Addin("OpenSim.Region.OptionalModules", "0.1")] [assembly: AddinDependency("OpenSim", "0.5")] diff --git a/OpenSim/Region/Physics/BulletSPlugin/Properties/AssemblyInfo.cs b/OpenSim/Region/Physics/BulletSPlugin/Properties/AssemblyInfo.cs index d240c71814..02b03a8cfe 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Region/Physics/ConvexDecompositionDotNet/Properties/AssemblyInfo.cs b/OpenSim/Region/Physics/ConvexDecompositionDotNet/Properties/AssemblyInfo.cs index cafd7f41f5..f611b9ac26 100644 --- a/OpenSim/Region/Physics/ConvexDecompositionDotNet/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/Physics/ConvexDecompositionDotNet/Properties/AssemblyInfo.cs @@ -33,4 +33,4 @@ using System.Runtime.InteropServices; // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Region/Physics/Meshing/Properties/AssemblyInfo.cs b/OpenSim/Region/Physics/Meshing/Properties/AssemblyInfo.cs index bd70296cb6..3de061a83c 100644 --- a/OpenSim/Region/Physics/Meshing/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/Physics/Meshing/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Region/RegionCombinerModule/Properties/AssemblyInfo.cs b/OpenSim/Region/RegionCombinerModule/Properties/AssemblyInfo.cs index ca945b579f..86a3101061 100644 --- a/OpenSim/Region/RegionCombinerModule/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/RegionCombinerModule/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Properties/AssemblyInfo.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Properties/AssemblyInfo.cs index 3c01eecc89..6d218a6778 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Region/ScriptEngine/Shared/CodeTools/Properties/AssemblyInfo.cs b/OpenSim/Region/ScriptEngine/Shared/CodeTools/Properties/AssemblyInfo.cs index fd37753eb0..5b5c4fd954 100644 --- a/OpenSim/Region/ScriptEngine/Shared/CodeTools/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ScriptEngine/Shared/CodeTools/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Region/ScriptEngine/Shared/Instance/Properties/AssemblyInfo.cs b/OpenSim/Region/ScriptEngine/Shared/Instance/Properties/AssemblyInfo.cs index 74747a2435..48964b6028 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Instance/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Instance/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Region/ScriptEngine/XEngine/Properties/AssemblyInfo.cs b/OpenSim/Region/ScriptEngine/XEngine/Properties/AssemblyInfo.cs index a8871715a1..f0640da83e 100644 --- a/OpenSim/Region/ScriptEngine/XEngine/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/ScriptEngine/XEngine/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Region/UserStatistics/Properties/AssemblyInfo.cs b/OpenSim/Region/UserStatistics/Properties/AssemblyInfo.cs index caa6d4e2a0..1fff12a60c 100644 --- a/OpenSim/Region/UserStatistics/Properties/AssemblyInfo.cs +++ b/OpenSim/Region/UserStatistics/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Server/Base/Properties/AssemblyInfo.cs b/OpenSim/Server/Base/Properties/AssemblyInfo.cs index 8b4556418e..b4732b883a 100644 --- a/OpenSim/Server/Base/Properties/AssemblyInfo.cs +++ b/OpenSim/Server/Base/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Server/Handlers/Properties/AssemblyInfo.cs b/OpenSim/Server/Handlers/Properties/AssemblyInfo.cs index d72d36a091..3295ffd7b8 100644 --- a/OpenSim/Server/Handlers/Properties/AssemblyInfo.cs +++ b/OpenSim/Server/Handlers/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Services/AssetService/Properties/AssemblyInfo.cs b/OpenSim/Services/AssetService/Properties/AssemblyInfo.cs index b57052c4d7..50ee0335a3 100644 --- a/OpenSim/Services/AssetService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/AssetService/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Services/AuthenticationService/Properties/AssemblyInfo.cs b/OpenSim/Services/AuthenticationService/Properties/AssemblyInfo.cs index 99c46ecb33..435852da35 100644 --- a/OpenSim/Services/AuthenticationService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/AuthenticationService/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Services/AuthorizationService/Properties/AssemblyInfo.cs b/OpenSim/Services/AuthorizationService/Properties/AssemblyInfo.cs index 33e48d3c3c..8db16710ba 100644 --- a/OpenSim/Services/AuthorizationService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/AuthorizationService/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Services/AvatarService/Properties/AssemblyInfo.cs b/OpenSim/Services/AvatarService/Properties/AssemblyInfo.cs index 8b0214a536..138d4cd4c1 100644 --- a/OpenSim/Services/AvatarService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/AvatarService/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Services/Base/Properties/AssemblyInfo.cs b/OpenSim/Services/Base/Properties/AssemblyInfo.cs index 2825a8865e..84a40f0f7e 100644 --- a/OpenSim/Services/Base/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/Base/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Services/Connectors/Properties/AssemblyInfo.cs b/OpenSim/Services/Connectors/Properties/AssemblyInfo.cs index 73fc72c5a6..8b18afb515 100644 --- a/OpenSim/Services/Connectors/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/Connectors/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Services/FreeswitchService/Properties/AssemblyInfo.cs b/OpenSim/Services/FreeswitchService/Properties/AssemblyInfo.cs index fdd4b694f5..b488b361e3 100644 --- a/OpenSim/Services/FreeswitchService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/FreeswitchService/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Services/Friends/Properties/AssemblyInfo.cs b/OpenSim/Services/Friends/Properties/AssemblyInfo.cs index cb624f03db..b11d07d926 100644 --- a/OpenSim/Services/Friends/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/Friends/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Services/GridService/Properties/AssemblyInfo.cs b/OpenSim/Services/GridService/Properties/AssemblyInfo.cs index 09084d328d..b1e5e12cf7 100644 --- a/OpenSim/Services/GridService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/GridService/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Services/HypergridService/Properties/AssemblyInfo.cs b/OpenSim/Services/HypergridService/Properties/AssemblyInfo.cs index fe1889d06f..8d66f1b778 100644 --- a/OpenSim/Services/HypergridService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/HypergridService/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Services/Interfaces/Properties/AssemblyInfo.cs b/OpenSim/Services/Interfaces/Properties/AssemblyInfo.cs index 669e0b889c..47ece7513c 100644 --- a/OpenSim/Services/Interfaces/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/Interfaces/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Services/InventoryService/Properties/AssemblyInfo.cs b/OpenSim/Services/InventoryService/Properties/AssemblyInfo.cs index 0870065ff3..bfae81f33c 100644 --- a/OpenSim/Services/InventoryService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/InventoryService/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Services/LLLoginService/Properties/AssemblyInfo.cs b/OpenSim/Services/LLLoginService/Properties/AssemblyInfo.cs index 3ac8af7a1f..0a6daee62d 100644 --- a/OpenSim/Services/LLLoginService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/LLLoginService/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Services/MapImageService/Properties/AssemblyInfo.cs b/OpenSim/Services/MapImageService/Properties/AssemblyInfo.cs index 69adf73a37..19936e5628 100644 --- a/OpenSim/Services/MapImageService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/MapImageService/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Services/PresenceService/Properties/AssemblyInfo.cs b/OpenSim/Services/PresenceService/Properties/AssemblyInfo.cs index 040bbe0640..5d433df753 100644 --- a/OpenSim/Services/PresenceService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/PresenceService/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Services/UserAccountService/Properties/AssemblyInfo.cs b/OpenSim/Services/UserAccountService/Properties/AssemblyInfo.cs index 576ccce768..e7d2d6fe97 100644 --- a/OpenSim/Services/UserAccountService/Properties/AssemblyInfo.cs +++ b/OpenSim/Services/UserAccountService/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs b/OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs index b98e2d2712..088be45ac9 100644 --- a/OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs +++ b/OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Tools/Configger/Properties/AssemblyInfo.cs b/OpenSim/Tools/Configger/Properties/AssemblyInfo.cs index 89aafa3b57..0348628ecb 100644 --- a/OpenSim/Tools/Configger/Properties/AssemblyInfo.cs +++ b/OpenSim/Tools/Configger/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + diff --git a/OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs b/OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs index c4d278a2e7..78f3603b2e 100644 --- a/OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs +++ b/OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs @@ -30,4 +30,4 @@ using System.Runtime.InteropServices; // Revision // [assembly: AssemblyVersion("0.7.6.*")] -[assembly: AssemblyFileVersion("1.0.0.0")] + From 903b40b47e53cc131b57919e8a8a83db3cb36f96 Mon Sep 17 00:00:00 2001 From: Mic Bowman Date: Tue, 19 Feb 2013 22:53:46 -0800 Subject: [PATCH 622/851] Fix the JsonStore path set problem justincc found earlier today and remove the deprecated TestPath functions. --- .../Framework/Interfaces/IJsonStoreModule.cs | 1 - .../Scripting/JsonStore/JsonStore.cs | 28 ++------------ .../Scripting/JsonStore/JsonStoreModule.cs | 32 ---------------- .../JsonStore/JsonStoreScriptModule.cs | 38 ------------------- 4 files changed, 3 insertions(+), 96 deletions(-) diff --git a/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs b/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs index b40d24fa72..345f01bce2 100644 --- a/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs @@ -51,7 +51,6 @@ namespace OpenSim.Region.Framework.Interfaces JsonStoreNodeType GetPathType(UUID storeID, string path); bool TestStore(UUID storeID); - bool TestPath(UUID storeID, string path, bool useJson); bool SetValue(UUID storeID, string path, string value, bool useJson); bool RemoveValue(UUID storeID, string path); diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs index ca3989a668..40adba1939 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs @@ -84,11 +84,11 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore protected static Regex m_PathComponent = new Regex("\\.({[^}]+}|\\[[0-9]+\\]|\\[\\+\\])"); // extract the internals of an array reference - protected static Regex m_SimpleArrayPattern = new Regex("\\[([0-9]+)\\]"); - protected static Regex m_ArrayPattern = new Regex("\\[([0-9]+|\\+)\\]"); + protected static Regex m_SimpleArrayPattern = new Regex("^\\[([0-9]+)\\]$"); + protected static Regex m_ArrayPattern = new Regex("^\\[([0-9]+|\\+)\\]$"); // extract the internals of a has reference - protected static Regex m_HashPattern = new Regex("{([^}]+)}"); + protected static Regex m_HashPattern = new Regex("^{([^}]+)}$"); // ----------------------------------------------------------------- ///
@@ -168,28 +168,6 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore return JsonStoreNodeType.Undefined; } - // ----------------------------------------------------------------- - /// - /// - /// - // ----------------------------------------------------------------- - public bool TestPath(string expr, bool useJson) - { - Stack path; - if (! ParsePathExpression(expr,out path)) - return false; - - OSD result = ProcessPathExpression(ValueStore,path); - - if (result == null) - return false; - - if (useJson || OSDBaseType(result.Type)) - return true; - - return false; - } - // ----------------------------------------------------------------- /// /// diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs index fb350683a6..e78a2f4fa3 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs @@ -297,38 +297,6 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore return JsonStoreNodeType.Undefined; } - // ----------------------------------------------------------------- - /// - /// - /// - // ----------------------------------------------------------------- - public bool TestPath(UUID storeID, string path, bool useJson) - { - if (! m_enabled) return false; - - JsonStore map = null; - lock (m_JsonValueStore) - { - if (! m_JsonValueStore.TryGetValue(storeID,out map)) - { - m_log.InfoFormat("[JsonStore] Missing store {0}",storeID); - return false; - } - } - - try - { - lock (map) - return map.TestPath(path,useJson); - } - catch (Exception e) - { - m_log.Error(string.Format("[JsonStore]: Path test failed for {0} in {1}", path, storeID), e); - } - - return false; - } - // ----------------------------------------------------------------- /// /// diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs index ef08c05b9c..e13eb56439 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs @@ -168,32 +168,6 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore { m_comms.RegisterScriptInvocations(this); m_comms.RegisterConstants(this); - - // m_comms.RegisterScriptInvocation(this, "JsonCreateStore"); - // m_comms.RegisterScriptInvocation(this, "JsonAttachObjectStore"); - // m_comms.RegisterScriptInvocation(this, "JsonDestroyStore"); - // m_comms.RegisterScriptInvocation(this, "JsonTestStore"); - - // m_comms.RegisterScriptInvocation(this, "JsonReadNotecard"); - // m_comms.RegisterScriptInvocation(this, "JsonWriteNotecard"); - - // m_comms.RegisterScriptInvocation(this, "JsonTestPathList"); - // m_comms.RegisterScriptInvocation(this, "JsonTestPath"); - // m_comms.RegisterScriptInvocation(this, "JsonTestPathJson"); - - // m_comms.RegisterScriptInvocation(this, "JsonGetValue"); - // m_comms.RegisterScriptInvocation(this, "JsonGetValueJson"); - - // m_comms.RegisterScriptInvocation(this, "JsonTakeValue"); - // m_comms.RegisterScriptInvocation(this, "JsonTakeValueJson"); - - // m_comms.RegisterScriptInvocation(this, "JsonReadValue"); - // m_comms.RegisterScriptInvocation(this, "JsonReadValueJson"); - - // m_comms.RegisterScriptInvocation(this, "JsonSetValue"); - // m_comms.RegisterScriptInvocation(this, "JsonSetValueJson"); - - // m_comms.RegisterScriptInvocation(this, "JsonRemoveValue"); } catch (Exception e) { @@ -341,18 +315,6 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore return (int)m_store.GetPathType(storeID,path); } - [ScriptInvocation] - public int JsonTestPath(UUID hostID, UUID scriptID, UUID storeID, string path) - { - return m_store.TestPath(storeID,path,false) ? 1 : 0; - } - - [ScriptInvocation] - public int JsonTestPathJson(UUID hostID, UUID scriptID, UUID storeID, string path) - { - return m_store.TestPath(storeID,path,true) ? 1 : 0; - } - // ----------------------------------------------------------------- /// /// From a671c06ee59e17a6ae7be9740e8e045ae9ac224c Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 20 Feb 2013 22:09:33 +0000 Subject: [PATCH 623/851] Correct mistake in parsing 'show object pos' and similar pos commands where the 'to' text would be treat as the end vector rather than discarded. Before this, the commands still work but the help text is wrong - one has to leave out the 'to' in stating the vectors --- OpenSim/Framework/Console/ConsoleUtil.cs | 8 ++++---- .../World/Objects/Commands/ObjectCommandsModule.cs | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/OpenSim/Framework/Console/ConsoleUtil.cs b/OpenSim/Framework/Console/ConsoleUtil.cs index dff956adb3..97a86a8099 100644 --- a/OpenSim/Framework/Console/ConsoleUtil.cs +++ b/OpenSim/Framework/Console/ConsoleUtil.cs @@ -49,14 +49,14 @@ namespace OpenSim.Framework.Console = @"Each component of the coord is comma separated. There must be no spaces between the commas. If you don't care about the z component you can simply omit it. If you don't care about the x or y components then you can leave them blank (though a comma is still required) - If you want to specify the maxmimum value of a component then you can use ~ instead of a number + If you want to specify the maximum value of a component then you can use ~ instead of a number If you want to specify the minimum value of a component then you can use -~ instead of a number e.g. - delete object pos 20,20,20 to 40,40,40 + show object pos 20,20,20 to 40,40,40 delete object pos 20,20 to 40,40 - delete object pos ,20,20 to ,40,40 + show object pos ,20,20 to ,40,40 delete object pos ,,30 to ,,~ - delete object pos ,,-~ to ,,30"; + show object pos ,,-~ to ,,30"; public const string MinRawConsoleVectorValue = "-~"; public const string MaxRawConsoleVectorValue = "~"; diff --git a/OpenSim/Region/CoreModules/World/Objects/Commands/ObjectCommandsModule.cs b/OpenSim/Region/CoreModules/World/Objects/Commands/ObjectCommandsModule.cs index 9fc2dafafc..28db407a47 100644 --- a/OpenSim/Region/CoreModules/World/Objects/Commands/ObjectCommandsModule.cs +++ b/OpenSim/Region/CoreModules/World/Objects/Commands/ObjectCommandsModule.cs @@ -416,7 +416,7 @@ namespace OpenSim.Region.CoreModules.World.Objects.Commands if (!ConsoleUtil.TryParseConsoleMinVector(rawConsoleStartVector, out startVector)) { - m_console.OutputFormat("Error: Start vector {0} does not have a valid format", rawConsoleStartVector); + m_console.OutputFormat("Error: Start vector '{0}' does not have a valid format", rawConsoleStartVector); return; } @@ -425,7 +425,7 @@ namespace OpenSim.Region.CoreModules.World.Objects.Commands if (!ConsoleUtil.TryParseConsoleMaxVector(rawConsoleEndVector, out endVector)) { - m_console.OutputFormat("Error: End vector {0} does not have a valid format", rawConsoleEndVector); + m_console.OutputFormat("Error: End vector '{0}' does not have a valid format", rawConsoleEndVector); return; } @@ -896,17 +896,17 @@ namespace OpenSim.Region.CoreModules.World.Objects.Commands if (!ConsoleUtil.TryParseConsoleMinVector(rawConsoleStartVector, out startVector)) { - m_console.OutputFormat("Error: Start vector {0} does not have a valid format", rawConsoleStartVector); + m_console.OutputFormat("Error: Start vector '{0}' does not have a valid format", rawConsoleStartVector); endVector = Vector3.Zero; return false; } - string rawConsoleEndVector = rawComponents.Skip(1).Take(1).Single(); + string rawConsoleEndVector = rawComponents.Skip(2).Take(1).Single(); if (!ConsoleUtil.TryParseConsoleMaxVector(rawConsoleEndVector, out endVector)) { - m_console.OutputFormat("Error: End vector {0} does not have a valid format", rawConsoleEndVector); + m_console.OutputFormat("Error: End vector '{0}' does not have a valid format", rawConsoleEndVector); return false; } From 16bb40229b84cff5f2543591464256907855cb2a Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Wed, 20 Feb 2013 14:10:32 -0800 Subject: [PATCH 624/851] Add flush after write feature to LogWriter --- .../Framework/Statistics/Logging/LogWriter.cs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/CoreModules/Framework/Statistics/Logging/LogWriter.cs b/OpenSim/Region/CoreModules/Framework/Statistics/Logging/LogWriter.cs index fd8d5e32bd..3c8e0efa05 100755 --- a/OpenSim/Region/CoreModules/Framework/Statistics/Logging/LogWriter.cs +++ b/OpenSim/Region/CoreModules/Framework/Statistics/Logging/LogWriter.cs @@ -52,6 +52,7 @@ namespace OpenSim.Region.CoreModules.Framework.Statistics.Logging private TimeSpan m_logFileLife; private DateTime m_logFileEndTime; private Object m_logFileWriteLock = new Object(); + private bool m_flushWrite; // set externally when debugging. If let 'null', this does not write any error messages. public ILog ErrorLogger = null; @@ -73,7 +74,9 @@ namespace OpenSim.Region.CoreModules.Framework.Statistics.Logging /// The directory to create the log file in. May be 'null' for default. /// The characters that begin the log file name. May be 'null' for default. /// Maximum age of a log file in minutes. If zero, will set default. - public LogWriter(string dir, string headr, int maxFileTime) + /// Whether to do a flush after every log write. Best left off but + /// if one is looking for a crash, this is a good thing to turn on. + public LogWriter(string dir, string headr, int maxFileTime, bool flushWrite) { m_logDirectory = dir == null ? "." : dir; @@ -86,8 +89,14 @@ namespace OpenSim.Region.CoreModules.Framework.Statistics.Logging m_logFileLife = new TimeSpan(0, m_logMaxFileTimeMin, 0); m_logFileEndTime = DateTime.Now + m_logFileLife; + m_flushWrite = flushWrite; + Enabled = true; } + // Constructor that assumes flushWrite is off. + public LogWriter(string dir, string headr, int maxFileTime) : this(dir, headr, maxFileTime, false) + { + } public void Dispose() { @@ -153,6 +162,8 @@ namespace OpenSim.Region.CoreModules.Framework.Statistics.Logging buff.Append(line); buff.Append("\r\n"); m_logFile.Write(buff.ToString()); + if (m_flushWrite) + m_logFile.Flush(); } } } From 681653ca130eaf15c62aae6fd1a7c5276036a0e9 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Wed, 20 Feb 2013 14:11:02 -0800 Subject: [PATCH 625/851] Add a method to IStatsCollector for returning stats as an OSDMap. Extend implementors of IStatsCollector to return an OSDMap of stats. Update UserStatsCollector and AssetStatsCollector to return both string and OSDMap data (as well as console format). --- .../Monitoring/AssetStatsCollector.cs | 26 +++++++++++++++++++ .../Monitoring/BaseStatsCollector.cs | 7 +++++ .../Monitoring/Interfaces/IStatsCollector.cs | 9 +++++++ .../Monitoring/SimExtraStatsCollector.cs | 21 ++++++++++++--- .../Monitoring/UserStatsCollector.cs | 18 +++++++++++++ .../ClientStack/Linden/UDP/LLClientView.cs | 5 ++++ 6 files changed, 82 insertions(+), 4 deletions(-) diff --git a/OpenSim/Framework/Monitoring/AssetStatsCollector.cs b/OpenSim/Framework/Monitoring/AssetStatsCollector.cs index 2a4d45bf0c..6a0f676b42 100644 --- a/OpenSim/Framework/Monitoring/AssetStatsCollector.cs +++ b/OpenSim/Framework/Monitoring/AssetStatsCollector.cs @@ -28,6 +28,8 @@ using System; using System.Timers; +using OpenMetaverse.StructuredData; + namespace OpenSim.Framework.Monitoring { /// @@ -100,5 +102,29 @@ Asset requests yesterday : {3} ({4} per hour) of which {5} were not found", AssetRequestsToday, assetRequestsTodayPerHour, AssetRequestsNotFoundToday, AssetRequestsYesterday, assetRequestsYesterdayPerHour, AssetRequestsNotFoundYesterday); } + + public override string XReport(string uptime, string version) + { + return OSDParser.SerializeJsonString(OReport(uptime, version)); + } + + public override OSDMap OReport(string uptime, string version) + { + double elapsedHours = (DateTime.Now - startTime).TotalHours; + if (elapsedHours <= 0) { elapsedHours = 1; } // prevent divide by zero + + long assetRequestsTodayPerHour = (long)Math.Round(AssetRequestsToday / elapsedHours); + long assetRequestsYesterdayPerHour = (long)Math.Round(AssetRequestsYesterday / 24.0); + + OSDMap ret = new OSDMap(); + ret.Add("AssetRequestsToday", OSD.FromLong(AssetRequestsToday)); + ret.Add("AssetRequestsTodayPerHour", OSD.FromLong(assetRequestsTodayPerHour)); + ret.Add("AssetRequestsNotFoundToday", OSD.FromLong(AssetRequestsNotFoundToday)); + ret.Add("AssetRequestsYesterday", OSD.FromLong(AssetRequestsYesterday)); + ret.Add("AssetRequestsYesterdayPerHour", OSD.FromLong(assetRequestsYesterdayPerHour)); + ret.Add("AssetRequestsNotFoundYesterday", OSD.FromLong(assetRequestsNotFoundYesterday)); + + return ret; + } } } diff --git a/OpenSim/Framework/Monitoring/BaseStatsCollector.cs b/OpenSim/Framework/Monitoring/BaseStatsCollector.cs index 2903b6e7fe..be1d02bd10 100644 --- a/OpenSim/Framework/Monitoring/BaseStatsCollector.cs +++ b/OpenSim/Framework/Monitoring/BaseStatsCollector.cs @@ -67,5 +67,12 @@ namespace OpenSim.Framework.Monitoring { return (string) Math.Round(GC.GetTotalMemory(false) / 1024.0 / 1024.0).ToString() ; } + + public virtual OSDMap OReport(string uptime, string version) + { + OSDMap ret = new OSDMap(); + ret.Add("TotalMemory", new OSDReal(Math.Round(GC.GetTotalMemory(false) / 1024.0 / 1024.0))); + return ret; + } } } diff --git a/OpenSim/Framework/Monitoring/Interfaces/IStatsCollector.cs b/OpenSim/Framework/Monitoring/Interfaces/IStatsCollector.cs index 99f75e34b1..40df562a95 100644 --- a/OpenSim/Framework/Monitoring/Interfaces/IStatsCollector.cs +++ b/OpenSim/Framework/Monitoring/Interfaces/IStatsCollector.cs @@ -25,6 +25,8 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +using OpenMetaverse.StructuredData; + namespace OpenSim.Framework.Monitoring { /// @@ -45,5 +47,12 @@ namespace OpenSim.Framework.Monitoring /// A /// string XReport(string uptime, string version); + + /// + /// Report back collected statistical information as an OSDMap of key/values + /// + /// + /// + OSDMap OReport(string uptime, string version); } } diff --git a/OpenSim/Framework/Monitoring/SimExtraStatsCollector.cs b/OpenSim/Framework/Monitoring/SimExtraStatsCollector.cs index 3765efb361..109a58f741 100644 --- a/OpenSim/Framework/Monitoring/SimExtraStatsCollector.cs +++ b/OpenSim/Framework/Monitoring/SimExtraStatsCollector.cs @@ -404,6 +404,15 @@ Asset service request failures: {3}" + Environment.NewLine, /// /// public override string XReport(string uptime, string version) + { + return OSDParser.SerializeJsonString(OReport(uptime, version)); + } + + /// + /// Report back collected statistical information as an OSDMap + /// + /// + public override OSDMap OReport(string uptime, string version) { OSDMap args = new OSDMap(30); // args["AssetsInCache"] = OSD.FromString (String.Format ("{0:0.##}", AssetsInCache)); @@ -442,13 +451,11 @@ Asset service request failures: {3}" + Environment.NewLine, args["Uptime"] = OSD.FromString (uptime); args["Version"] = OSD.FromString (version); - string strBuffer = ""; - strBuffer = OSDParser.SerializeJsonString(args); - - return strBuffer; + return args; } } + /// /// Pull packet queue stats from packet queues and report /// @@ -474,5 +481,11 @@ Asset service request failures: {3}" + Environment.NewLine, { return ""; } + + public OSDMap OReport(string uptime, string version) + { + OSDMap ret = new OSDMap(); + return ret; + } } } diff --git a/OpenSim/Framework/Monitoring/UserStatsCollector.cs b/OpenSim/Framework/Monitoring/UserStatsCollector.cs index e89c8e6344..81e0fa4e21 100644 --- a/OpenSim/Framework/Monitoring/UserStatsCollector.cs +++ b/OpenSim/Framework/Monitoring/UserStatsCollector.cs @@ -27,6 +27,8 @@ using System.Timers; +using OpenMetaverse.StructuredData; + namespace OpenSim.Framework.Monitoring { /// @@ -88,5 +90,21 @@ namespace OpenSim.Framework.Monitoring Logouts total : {3}", SuccessfulLogins, SuccessfulLoginsToday, SuccessfulLoginsYesterday, Logouts); } + + public override string XReport(string uptime, string version) + { + return OSDParser.SerializeJsonString(OReport(uptime, version)); + } + + public override OSDMap OReport(string uptime, string version) + { + OSDMap ret = new OSDMap(); + ret.Add("SuccessfulLogins", OSD.FromInteger(SuccessfulLogins)); + ret.Add("SuccessfulLoginsToday", OSD.FromInteger(SuccessfulLoginsToday)); + ret.Add("SuccessfulLoginsYesterday", OSD.FromInteger(SuccessfulLoginsYesterday)); + ret.Add("Logouts", OSD.FromInteger(Logouts)); + + return ret; + } } } diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index a18719094d..5675870f83 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs @@ -12138,6 +12138,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP return String.Empty; } + public OSDMap OReport(string uptime, string version) + { + return new OSDMap(); + } + /// /// Make an asset request to the asset service in response to a client request. /// From efb5da0aa672551a8a68e16066f3dd3991f75da4 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Thu, 21 Feb 2013 08:52:11 -0800 Subject: [PATCH 626/851] BulletSim: add OutOfBounds logic and some position sanity checking to eliminate some of the "cannot find terrain height" warning messages. --- .../Physics/BulletSPlugin/BSCharacter.cs | 7 ++- .../Region/Physics/BulletSPlugin/BSParam.cs | 43 ++++++++++++------- .../Region/Physics/BulletSPlugin/BSPrim.cs | 27 ++++++++++-- .../BulletSPlugin/BSShapeCollection.cs | 2 +- .../Physics/BulletSPlugin/BulletSimTODO.txt | 22 +++++----- 5 files changed, 68 insertions(+), 33 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs index 8dca7c65d5..1f186c371c 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs @@ -443,6 +443,7 @@ public sealed class BSCharacter : BSPhysObject PhysicsScene.TaintedObject("BSCharacter.setPosition", delegate() { DetailLog("{0},BSCharacter.SetPosition,taint,pos={1},orient={2}", LocalID, _position, _orientation); + PositionSanityCheck(); ForcePosition = _position; }); } @@ -456,7 +457,6 @@ public sealed class BSCharacter : BSPhysObject _position = value; if (PhysBody.HasPhysicalBody) { - PositionSanityCheck(); PhysicsScene.PE.SetTranslation(PhysBody, _position, _orientation); } } @@ -512,9 +512,8 @@ public sealed class BSCharacter : BSPhysObject // just assign to "Position" because of potential call loops. PhysicsScene.TaintedObject(inTaintTime, "BSCharacter.PositionSanityCheck", delegate() { - DetailLog("{0},BSCharacter.PositionSanityCheck,taint,pos={1},orient={2}", LocalID, _position, _orientation); - if (PhysBody.HasPhysicalBody) - PhysicsScene.PE.SetTranslation(PhysBody, _position, _orientation); + DetailLog("{0},BSCharacter.PositionSanityCheck,taint,pos={1},orient={2}", LocalID, _position, _orientation); + ForcePosition = _position; }); ret = true; } diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs index c2a967131a..dc57b676e5 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs @@ -46,6 +46,8 @@ public static class BSParam public static float MeshMegaPrimThreshold { get; private set; } public static float SculptLOD { get; private set; } + public static int CrossingFailuresBeforeOutOfBounds { get; private set; } + public static float MinimumObjectMass { get; private set; } public static float MaximumObjectMass { get; private set; } public static float MaxLinearVelocity { get; private set; } @@ -73,23 +75,23 @@ public static class BSParam public static float TerrainRestitution { get; private set; } public static float TerrainCollisionMargin { get; private set; } - public static float DefaultFriction; - public static float DefaultDensity; - public static float DefaultRestitution; - public static float CollisionMargin; - public static float Gravity; + public static float DefaultFriction { get; private set; } + public static float DefaultDensity { get; private set; } + public static float DefaultRestitution { get; private set; } + public static float CollisionMargin { get; private set; } + public static float Gravity { get; private set; } // Physics Engine operation - public static float MaxPersistantManifoldPoolSize; - public static float MaxCollisionAlgorithmPoolSize; - public static bool ShouldDisableContactPoolDynamicAllocation; - public static bool ShouldForceUpdateAllAabbs; - public static bool ShouldRandomizeSolverOrder; - public static bool ShouldSplitSimulationIslands; - public static bool ShouldEnableFrictionCaching; - public static float NumberOfSolverIterations; - public static bool UseSingleSidedMeshes; - public static float GlobalContactBreakingThreshold; + public static float MaxPersistantManifoldPoolSize { get; private set; } + public static float MaxCollisionAlgorithmPoolSize { get; private set; } + public static bool ShouldDisableContactPoolDynamicAllocation { get; private set; } + public static bool ShouldForceUpdateAllAabbs { get; private set; } + public static bool ShouldRandomizeSolverOrder { get; private set; } + public static bool ShouldSplitSimulationIslands { get; private set; } + public static bool ShouldEnableFrictionCaching { get; private set; } + public static float NumberOfSolverIterations { get; private set; } + public static bool UseSingleSidedMeshes { get; private set; } + public static float GlobalContactBreakingThreshold { get; private set; } // Avatar parameters public static float AvatarFriction { get; private set; } @@ -118,6 +120,7 @@ public static class BSParam public static float VehicleGroundGravityFudge { get; private set; } public static bool VehicleDebuggingEnabled { get; private set; } + // Linkset implementation parameters public static float LinksetImplementation { get; private set; } public static bool LinkConstraintUseFrameOffset { get; private set; } public static bool LinkConstraintEnableTransMotor { get; private set; } @@ -282,6 +285,11 @@ public static class BSParam (s) => { return ShouldRemoveZeroWidthTriangles; }, (s,v) => { ShouldRemoveZeroWidthTriangles = v; } ), + new ParameterDefn("CrossingFailuresBeforeOutOfBounds", "How forgiving we are about getting into adjactent regions", + 5, + (s) => { return CrossingFailuresBeforeOutOfBounds; }, + (s,v) => { CrossingFailuresBeforeOutOfBounds = v; } ), + new ParameterDefn("MeshLevelOfDetail", "Level of detail to render meshes (32, 16, 8 or 4. 32=most detailed)", 32f, (s) => { return MeshLOD; }, @@ -695,6 +703,10 @@ public static class BSParam } } + // ===================================================================== + // ===================================================================== + // There are parameters that, when set, cause things to happen in the physics engine. + // This causes the broadphase collision cache to be cleared. private static void ResetBroadphasePoolTainted(BSScene pPhysScene, float v) { BSScene physScene = pPhysScene; @@ -704,6 +716,7 @@ public static class BSParam }); } + // This causes the constraint solver cache to be cleared and reset. private static void ResetConstraintSolverTainted(BSScene pPhysScene, float v) { BSScene physScene = pPhysScene; diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs index 4d61ad20f0..4dff9278f1 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs @@ -70,6 +70,8 @@ public class BSPrim : BSPhysObject private bool _kinematic; private float _buoyancy; + private int CrossingFailures { get; set; } + public BSDynamics VehicleController { get; private set; } private BSVMotor _targetMotor; @@ -197,7 +199,20 @@ public class BSPrim : BSPhysObject { get { return _isSelected; } } - public override void CrossingFailure() { return; } + + public override void CrossingFailure() + { + CrossingFailures++; + if (CrossingFailures > BSParam.CrossingFailuresBeforeOutOfBounds) + { + base.RaiseOutOfBounds(RawPosition); + } + else if (CrossingFailures == BSParam.CrossingFailuresBeforeOutOfBounds) + { + m_log.WarnFormat("{0} Too many crossing failures for {1}", LogHeader, Name); + } + return; + } // link me to the specified parent public override void link(PhysicsActor obj) { @@ -1123,7 +1138,11 @@ public class BSPrim : BSPhysObject // Used for MoveTo public override OMV.Vector3 PIDTarget { - set { _PIDTarget = value; } + set + { + // TODO: add a sanity check -- don't move more than a region or something like that. + _PIDTarget = value; + } } public override float PIDTau { set { _PIDTau = value; } @@ -1177,7 +1196,9 @@ public class BSPrim : BSPhysObject } else { - ForcePosition = movePosition; + _position = movePosition; + PositionSanityCheck(true /* intaintTime */); + ForcePosition = _position; } DetailLog("{0},BSPrim.PIDTarget,move,fromPos={1},movePos={2}", LocalID, origPosition, movePosition); }); diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs b/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs index 15747c9020..219372be65 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs @@ -568,7 +568,7 @@ public sealed class BSShapeCollection : IDisposable { newShape = PhysicsScene.PE.BuildCapsuleShape(PhysicsScene.World, 1f, 1f, prim.Scale); - if (DDetail) DetailLog("{0},BSShapeCollection.BuiletPhysicalNativeShape,capsule,scale={1}", prim.LocalID, prim.Scale); + if (DDetail) DetailLog("{0},BSShapeCollection.BuildPhysicalNativeShape,capsule,scale={1}", prim.LocalID, prim.Scale); } else { diff --git a/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt index bda7c471b1..49718c4e0f 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt +++ b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt @@ -1,17 +1,16 @@ CURRENT PRIORITIES ================================================= -One sided meshes? Should terrain be built into a closed shape? - When meshes get partially wedged into the terrain, they cannot push themselves out. - It is possible that Bullet processes collisions whether entering or leaving a mesh. - Ref: http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?t=4869 Deleting a linkset while standing on the root will leave the physical shape of the root behind. Not sure if it is because standing on it. Done with large prim linksets. -Terrain detail: double terrain mesh detail Vehicle angular vertical attraction vehicle angular banking Center-of-gravity Vehicle angular deflection Preferred orientation angular correction fix +Enable vehicle border crossings (at least as poorly as ODE) + Terrain skirts + Avatar created in previous region and not new region when crossing border + Vehicle recreated in new sim at small Z value (offset from root value?) (DONE) when should angular and linear motor targets be zeroed? when selected? Need a vehicle.clear()? Or an 'else' in prestep if not physical. Teravus llMoveToTarget script debug @@ -26,14 +25,16 @@ Avatar movement flying into a wall doesn't stop avatar who keeps appearing to move through the obstacle (DONE) walking up stairs is not calibrated correctly (stairs out of Kepler cabin) avatar capsule rotation completed (NOT DONE - Bullet's capsule shape is not the solution) -Enable vehicle border crossings (at least as poorly as ODE) - Terrain skirts - Avatar created in previous region and not new region when crossing border - Vehicle recreated in new sim at small Z value (offset from root value?) (DONE) Vehicle script tuning/debugging Avanti speed script Weapon shooter script -Add material densities to the material types +Move material definitions (friction, ...) into simulator. +Add material densities to the material types. +Terrain detail: double terrain mesh detail +One sided meshes? Should terrain be built into a closed shape? + When meshes get partially wedged into the terrain, they cannot push themselves out. + It is possible that Bullet processes collisions whether entering or leaving a mesh. + Ref: http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?t=4869 VEHICLES TODO LIST: ================================================= @@ -65,6 +66,7 @@ Vehicle attributes are not restored when a vehicle is rezzed on region creation GENERAL TODO LIST: ================================================= +Add a sanity check for PIDTarget location. Level-of-detail for mesh creation. Prims with circular interiors require lod of 32. Is much saved with lower LODs? At the moment, all set to 32. Collisions are inconsistant: arrows are supposed to hit and report collision. Often don't. From 9de670c550fd6847c2c14413d2c956f446b958f0 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 21 Feb 2013 23:08:50 +0000 Subject: [PATCH 627/851] minor: Change summary in "show appearance" console command to "incomplete" rather than "corrupt" Corrupt is misleading - it implies textures were uploaded but are not j2k valid. The actual situation is that at least one required baked texture is not present. --- .../CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs | 2 +- .../OptionalModules/Avatar/Appearance/AppearanceInfoModule.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs index ce79f07172..00d1fd887c 100644 --- a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs @@ -693,7 +693,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory } bool bakedTextureValid = m_scene.AvatarFactory.ValidateBakedTextureCache(sp); - outputAction("{0} baked appearance texture is {1}", sp.Name, bakedTextureValid ? "OK" : "corrupt"); + outputAction("{0} baked appearance texture is {1}", sp.Name, bakedTextureValid ? "OK" : "incomplete"); } } } diff --git a/OpenSim/Region/OptionalModules/Avatar/Appearance/AppearanceInfoModule.cs b/OpenSim/Region/OptionalModules/Avatar/Appearance/AppearanceInfoModule.cs index d718a2f052..fa35f0ffad 100644 --- a/OpenSim/Region/OptionalModules/Avatar/Appearance/AppearanceInfoModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/Appearance/AppearanceInfoModule.cs @@ -222,7 +222,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Appearance { bool bakedTextureValid = scene.AvatarFactory.ValidateBakedTextureCache(sp); MainConsole.Instance.OutputFormat( - "{0} baked appearance texture is {1}", sp.Name, bakedTextureValid ? "OK" : "corrupt"); + "{0} baked appearance texture is {1}", sp.Name, bakedTextureValid ? "OK" : "incomplete"); } ); } From 303e21babe48e9daf39dad6b3d721fd5b9bbfb8f Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Thu, 21 Feb 2013 13:36:31 -0800 Subject: [PATCH 628/851] Add CounterStat which is a wrapper for a counter stat but, because the 'count' event is internal, historical data can be built it. Also includes EventHistogram class for building time based, bucketed history of event occurances. Make Stat implement IDisposable for subclasses that might need it. --- .../Framework/Monitoring/Stats/CounterStat.cs | 211 ++++++++++++++++++ OpenSim/Framework/Monitoring/Stats/Stat.cs | 8 +- 2 files changed, 218 insertions(+), 1 deletion(-) create mode 100755 OpenSim/Framework/Monitoring/Stats/CounterStat.cs diff --git a/OpenSim/Framework/Monitoring/Stats/CounterStat.cs b/OpenSim/Framework/Monitoring/Stats/CounterStat.cs new file mode 100755 index 0000000000..d81f1828e6 --- /dev/null +++ b/OpenSim/Framework/Monitoring/Stats/CounterStat.cs @@ -0,0 +1,211 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +using OpenMetaverse.StructuredData; + +namespace OpenSim.Framework.Monitoring +{ +// Create a time histogram of events. The histogram is built in a wrap-around +// array of equally distributed buckets. +// For instance, a minute long histogram of second sized buckets would be: +// new EventHistogram(60, 1000) +public class EventHistogram +{ + private int m_timeBase; + private int m_numBuckets; + private int m_bucketMilliseconds; + private int m_lastBucket; + private int m_totalHistogramMilliseconds; + private long[] m_histogram; + private object histoLock = new object(); + + public EventHistogram(int numberOfBuckets, int millisecondsPerBucket) + { + m_numBuckets = numberOfBuckets; + m_bucketMilliseconds = millisecondsPerBucket; + m_totalHistogramMilliseconds = m_numBuckets * m_bucketMilliseconds; + + m_histogram = new long[m_numBuckets]; + Zero(); + m_lastBucket = 0; + m_timeBase = Util.EnvironmentTickCount(); + } + + public void Event() + { + this.Event(1); + } + + // Record an event at time 'now' in the histogram. + public void Event(int cnt) + { + lock (histoLock) + { + // The time as displaced from the base of the histogram + int bucketTime = Util.EnvironmentTickCountSubtract(m_timeBase); + + // If more than the total time of the histogram, we just start over + if (bucketTime > m_totalHistogramMilliseconds) + { + Zero(); + m_lastBucket = 0; + m_timeBase = Util.EnvironmentTickCount(); + } + else + { + // To which bucket should we add this event? + int bucket = bucketTime / m_bucketMilliseconds; + + // Advance m_lastBucket to the new bucket. Zero any buckets skipped over. + while (bucket != m_lastBucket) + { + // Zero from just after the last bucket to the new bucket or the end + for (int jj = m_lastBucket + 1; jj <= Math.Min(bucket, m_numBuckets - 1); jj++) + { + m_histogram[jj] = 0; + } + m_lastBucket = bucket; + // If the new bucket is off the end, wrap around to the beginning + if (bucket > m_numBuckets) + { + bucket -= m_numBuckets; + m_lastBucket = 0; + m_histogram[m_lastBucket] = 0; + m_timeBase += m_totalHistogramMilliseconds; + } + } + } + m_histogram[m_lastBucket] += cnt; + } + } + + // Get a copy of the current histogram + public long[] GetHistogram() + { + long[] ret = new long[m_numBuckets]; + lock (histoLock) + { + int indx = m_lastBucket + 1; + for (int ii = 0; ii < m_numBuckets; ii++, indx++) + { + if (indx >= m_numBuckets) + indx = 0; + ret[ii] = m_histogram[indx]; + } + } + return ret; + } + + // Get a copy of the current histogram + public OSDArray GetHistogramAsOSDArray() + { + OSDArray ret = new OSDArray(m_numBuckets); + lock (histoLock) + { + int indx = m_lastBucket + 1; + for (int ii = 0; ii < m_numBuckets; ii++, indx++) + { + if (indx >= m_numBuckets) + indx = 0; + ret[ii] = OSD.FromLong(m_histogram[indx]); + } + } + return ret; + } + + // Zero out the histogram + public void Zero() + { + lock (histoLock) + { + for (int ii = 0; ii < m_numBuckets; ii++) + m_histogram[ii] = 0; + } + } +} + +// A statistic that wraps a counter. +// Built this way mostly so histograms and history can be created. +public class CounterStat : Stat +{ + private SortedDictionary m_histograms; + private object counterLock = new object(); + + public CounterStat( + string shortName, + string name, + string description, + string unitName, + string category, + string container, + StatVerbosity verbosity) + : base(shortName, name, description, unitName, category, container, StatType.Push, null, verbosity) + { + m_histograms = new SortedDictionary(); + } + + // Histograms are presumably added at intialization time and the list does not change thereafter. + // Thus no locking of the histogram list. + public void AddHistogram(string histoName, EventHistogram histo) + { + m_histograms.Add(histoName, histo); + } + + public delegate void ProcessHistogram(string name, EventHistogram histo); + public void ForEachHistogram(ProcessHistogram process) + { + foreach (KeyValuePair kvp in m_histograms) + { + process(kvp.Key, kvp.Value); + } + } + + public void Event() + { + this.Event(1); + } + + // Count the underlying counter. + public void Event(int cnt) + { + lock (counterLock) + { + base.Value += cnt; + + foreach (EventHistogram histo in m_histograms.Values) + { + histo.Event(cnt); + } + } + } +} +} diff --git a/OpenSim/Framework/Monitoring/Stats/Stat.cs b/OpenSim/Framework/Monitoring/Stats/Stat.cs index f91251b6ea..fccc4601ca 100644 --- a/OpenSim/Framework/Monitoring/Stats/Stat.cs +++ b/OpenSim/Framework/Monitoring/Stats/Stat.cs @@ -34,7 +34,7 @@ namespace OpenSim.Framework.Monitoring /// /// Holds individual statistic details /// - public class Stat + public class Stat : IDisposable { /// /// Category of this stat (e.g. cache, scene, etc). @@ -181,6 +181,12 @@ namespace OpenSim.Framework.Monitoring Verbosity = verbosity; } + // IDisposable.Dispose() + public virtual void Dispose() + { + return; + } + /// /// Record a value in the sample set. /// From 76ee47c7972969d7dbadff2c66d050ad84b10078 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Thu, 21 Feb 2013 15:48:19 -0800 Subject: [PATCH 629/851] Add a virtual ToOSDMap() function to Monitoring.Stat for future overloading by aggregation statistics and browser based stat viewers. --- OpenSim/Framework/Monitoring/Stats/Stat.cs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/OpenSim/Framework/Monitoring/Stats/Stat.cs b/OpenSim/Framework/Monitoring/Stats/Stat.cs index fccc4601ca..c8d91744c1 100644 --- a/OpenSim/Framework/Monitoring/Stats/Stat.cs +++ b/OpenSim/Framework/Monitoring/Stats/Stat.cs @@ -29,6 +29,8 @@ using System; using System.Collections.Generic; using System.Text; +using OpenMetaverse.StructuredData; + namespace OpenSim.Framework.Monitoring { /// @@ -216,6 +218,20 @@ namespace OpenSim.Framework.Monitoring return sb.ToString(); } + public virtual OSDMap ToOSDMap() + { + OSDMap ret = new OSDMap(); + ret.Add("Category", OSD.FromString(Category)); + ret.Add("Container", OSD.FromString(Container)); + ret.Add("ShortName", OSD.FromString(ShortName)); + ret.Add("Name", OSD.FromString(Name)); + ret.Add("Description", OSD.FromString(Description)); + ret.Add("UnitName", OSD.FromString(UnitName)); + ret.Add("Value", OSD.FromReal(Value)); + + return ret; + } + protected void AppendMeasuresOfInterest(StringBuilder sb) { if ((MeasuresOfInterest & MeasuresOfInterest.AverageChangeOverTime) From e515cdddec435e97e9ed4722de08ee410e94a7e6 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Thu, 21 Feb 2013 17:26:19 -0800 Subject: [PATCH 630/851] Simplification of HG configs: HomeURI and GatekeeperURI now are defined as default under [Startup]. They can then be overwritten in the other sections (but probably shouldn't). I kept the existing code for backwards compatibility, so this should not cause any breaks from people's current configurations. But people should move to have these 2 vars under [Startup] -- see OpenSim.ini.example and Robust.HG.ini.example. And yes, both names now end with "URI" for consistency. --- .../HGGroupsServiceRobustConnector.cs | 8 +-- OpenSim/Framework/Util.cs | 22 ++++++- .../CoreModules/Avatar/Lure/HGLureModule.cs | 4 +- .../HGInventoryAccessModule.cs | 9 ++- .../DataSnapshot/DataSnapshotManager.cs | 13 +++- .../Shared/Api/Implementation/OSSL_Api.cs | 12 +++- .../Server/Handlers/Grid/GridInfoHandlers.cs | 20 +++--- .../Services/GridService/HypergridLinker.cs | 4 +- .../HypergridService/GatekeeperService.cs | 3 +- .../HypergridService/HGInventoryService.cs | 5 +- .../HGSuitcaseInventoryService.cs | 3 +- .../HypergridService/UserAgentService.cs | 11 +++- .../Services/LLLoginService/LLLoginService.cs | 2 +- bin/OpenSim.ini.example | 16 +++++ bin/Robust.HG.ini.example | 61 +++++++++++++------ .../StandaloneCommon.ini.example | 25 +++++--- 16 files changed, 152 insertions(+), 66 deletions(-) diff --git a/OpenSim/Addons/Groups/Hypergrid/HGGroupsServiceRobustConnector.cs b/OpenSim/Addons/Groups/Hypergrid/HGGroupsServiceRobustConnector.cs index 92dd85cd1d..0e71c72ad6 100644 --- a/OpenSim/Addons/Groups/Hypergrid/HGGroupsServiceRobustConnector.cs +++ b/OpenSim/Addons/Groups/Hypergrid/HGGroupsServiceRobustConnector.cs @@ -65,14 +65,14 @@ namespace OpenSim.Groups m_log.DebugFormat("[Groups.RobustHGConnector]: Starting with config name {0}", m_ConfigName); + string homeURI = Util.GetConfigVarWithDefaultSection(config, "HomeURI", m_ConfigName); //cnf.GetString("HomeURI", string.Empty); + if (homeURI == string.Empty) + throw new Exception(String.Format("[Groups.RobustHGConnector]: please provide the HomeURI [Startup] or in section {0}", m_ConfigName)); + IConfig cnf = config.Configs[m_ConfigName]; if (cnf == null) throw new Exception(String.Format("[Groups.RobustHGConnector]: {0} section does not exist", m_ConfigName)); - string homeURI = cnf.GetString("HomeURI", string.Empty); - if (homeURI == string.Empty) - throw new Exception(String.Format("[Groups.RobustHGConnector]: please provide the HomeURI in section {0}", m_ConfigName)); - if (im == null) { string imDll = cnf.GetString("OfflineIMService", string.Empty); diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs index d9148fb7c1..1700d3eb97 100644 --- a/OpenSim/Framework/Util.cs +++ b/OpenSim/Framework/Util.cs @@ -863,7 +863,7 @@ namespace OpenSim.Framework return FileName; } - // Nini (config) related Methods + #region Nini (config) related Methods public static IConfigSource ConvertDataRowToXMLConfig(DataRow row, string fileName) { if (!File.Exists(fileName)) @@ -886,6 +886,26 @@ namespace OpenSim.Framework } } + public static string GetConfigVarWithDefaultSection(IConfigSource config, string varname, string section) + { + // First, check the Startup section, the default section + IConfig cnf = config.Configs["Startup"]; + if (cnf == null) + return string.Empty; + string val = cnf.GetString(varname, string.Empty); + + // Then check for an overwrite of the default in the given section + if (!string.IsNullOrEmpty(section)) + { + cnf = config.Configs[section]; + if (cnf != null) + val = cnf.GetString(varname, val); + } + + return val; + } + #endregion + public static float Clip(float x, float min, float max) { return Math.Min(Math.Max(x, min), max); diff --git a/OpenSim/Region/CoreModules/Avatar/Lure/HGLureModule.cs b/OpenSim/Region/CoreModules/Avatar/Lure/HGLureModule.cs index 232a4fe5ae..784a78862f 100644 --- a/OpenSim/Region/CoreModules/Avatar/Lure/HGLureModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Lure/HGLureModule.cs @@ -65,7 +65,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Lure { m_Enabled = true; - m_ThisGridURL = config.Configs["Messaging"].GetString("Gatekeeper", string.Empty); + m_ThisGridURL = Util.GetConfigVarWithDefaultSection(config, "GatekeeperURI", "Messaging"); + // Legacy. Remove soon! + m_ThisGridURL = config.Configs["Messaging"].GetString("Gatekeeper", m_ThisGridURL); m_log.DebugFormat("[LURE MODULE]: {0} enabled", Name); } } diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs index 964efdaa46..c439ea811f 100644 --- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs +++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs @@ -88,12 +88,11 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess IConfig thisModuleConfig = source.Configs["HGInventoryAccessModule"]; if (thisModuleConfig != null) { - // legacy configuration [obsolete] - m_HomeURI = thisModuleConfig.GetString("ProfileServerURI", string.Empty); - // preferred - m_HomeURI = thisModuleConfig.GetString("HomeURI", m_HomeURI); + m_HomeURI = Util.GetConfigVarWithDefaultSection(source, "HomeURI", "HGInventoryAccessModule"); m_OutboundPermission = thisModuleConfig.GetBoolean("OutboundPermission", true); - m_ThisGatekeeper = thisModuleConfig.GetString("Gatekeeper", string.Empty); + m_ThisGatekeeper = Util.GetConfigVarWithDefaultSection(source, "GatekeeperURI", "HGInventoryAccessModule"); + // Legacy. Renove soon! + m_ThisGatekeeper = thisModuleConfig.GetString("Gatekeeper", m_ThisGatekeeper); m_RestrictInventoryAccessAbroad = thisModuleConfig.GetBoolean("RestrictInventoryAccessAbroad", true); } else diff --git a/OpenSim/Region/DataSnapshot/DataSnapshotManager.cs b/OpenSim/Region/DataSnapshot/DataSnapshotManager.cs index 5e62f23b0c..13d9d31b35 100644 --- a/OpenSim/Region/DataSnapshot/DataSnapshotManager.cs +++ b/OpenSim/Region/DataSnapshot/DataSnapshotManager.cs @@ -113,9 +113,16 @@ namespace OpenSim.Region.DataSnapshot try { m_enabled = config.Configs["DataSnapshot"].GetBoolean("index_sims", m_enabled); - IConfig conf = config.Configs["GridService"]; - if (conf != null) - m_gridinfo.Add("gatekeeperURL", conf.GetString("Gatekeeper", String.Empty)); + string gatekeeper = Util.GetConfigVarWithDefaultSection(config, "GatekeeperURI", "GridService"); + // Legacy. Remove soon! + if (string.IsNullOrEmpty(gatekeeper)) + { + IConfig conf = config.Configs["GridService"]; + if (conf != null) + gatekeeper = conf.GetString("Gatekeeper", gatekeeper); + } + if (!string.IsNullOrEmpty(gatekeeper)) + m_gridinfo.Add("gatekeeperURL", gatekeeper); m_gridinfo.Add( "name", config.Configs["DataSnapshot"].GetString("gridname", "the lost continent of hippo")); diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 14260705f1..0334169ab1 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -2137,9 +2137,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api CheckThreatLevel(ThreatLevel.Moderate, "osGetGridHomeURI"); m_host.AddScriptLPS(1); - string HomeURI = String.Empty; IConfigSource config = m_ScriptEngine.ConfigSource; + string HomeURI = Util.GetConfigVarWithDefaultSection(config, "HomeURI", string.Empty); + if (!string.IsNullOrEmpty(HomeURI)) + return HomeURI; + + // Legacy. Remove soon! if (config.Configs["LoginService"] != null) HomeURI = config.Configs["LoginService"].GetString("SRV_HomeURI", HomeURI); @@ -2154,9 +2158,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api CheckThreatLevel(ThreatLevel.Moderate, "osGetGridGatekeeperURI"); m_host.AddScriptLPS(1); - string gatekeeperURI = String.Empty; IConfigSource config = m_ScriptEngine.ConfigSource; + string gatekeeperURI = Util.GetConfigVarWithDefaultSection(config, "GatekeeperURI", string.Empty); + if (!string.IsNullOrEmpty(gatekeeperURI)) + return gatekeeperURI; + + // Legacy. Remove soon! if (config.Configs["GridService"] != null) gatekeeperURI = config.Configs["GridService"].GetString("Gatekeeper", gatekeeperURI); diff --git a/OpenSim/Server/Handlers/Grid/GridInfoHandlers.cs b/OpenSim/Server/Handlers/Grid/GridInfoHandlers.cs index 965a54e48e..35f86c5acf 100644 --- a/OpenSim/Server/Handlers/Grid/GridInfoHandlers.cs +++ b/OpenSim/Server/Handlers/Grid/GridInfoHandlers.cs @@ -170,14 +170,6 @@ namespace OpenSim.Server.Handlers.Grid public string JsonGetGridInfoMethod(string request, string path, string param, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse) { - string HomeURI = String.Empty; - IConfig cfg = m_Config.Configs["LoginService"]; - - if (null != cfg) - { - HomeURI = cfg.GetString("SRV_HomeURI", HomeURI); - } - OSDMap map = new OSDMap(); foreach (string k in _info.Keys) @@ -185,9 +177,19 @@ namespace OpenSim.Server.Handlers.Grid map[k] = OSD.FromString(_info[k].ToString()); } + string HomeURI = Util.GetConfigVarWithDefaultSection(m_Config, "HomeURI", string.Empty); + if (!String.IsNullOrEmpty(HomeURI)) + map["home"] = OSD.FromString(HomeURI); + else // Legacy. Remove soon! { - map["home"] = OSD.FromString(HomeURI); + IConfig cfg = m_Config.Configs["LoginService"]; + + if (null != cfg) + HomeURI = cfg.GetString("SRV_HomeURI", HomeURI); + + if (!String.IsNullOrEmpty(HomeURI)) + map["home"] = OSD.FromString(HomeURI); } return OSDParser.SerializeJsonString(map).ToString(); diff --git a/OpenSim/Services/GridService/HypergridLinker.cs b/OpenSim/Services/GridService/HypergridLinker.cs index 073197f8db..3e7c556f46 100644 --- a/OpenSim/Services/GridService/HypergridLinker.cs +++ b/OpenSim/Services/GridService/HypergridLinker.cs @@ -128,7 +128,9 @@ namespace OpenSim.Services.GridService m_MapTileDirectory = gridConfig.GetString("MapTileDirectory", "maptiles"); - m_ThisGatekeeper = gridConfig.GetString("Gatekeeper", string.Empty); + m_ThisGatekeeper = Util.GetConfigVarWithDefaultSection(config, "GatekeeperURI", "GridService"); + // Legacy. Remove soon! + m_ThisGatekeeper = gridConfig.GetString("Gatekeeper", m_ThisGatekeeper); try { m_ThisGatekeeperURI = new Uri(m_ThisGatekeeper); diff --git a/OpenSim/Services/HypergridService/GatekeeperService.cs b/OpenSim/Services/HypergridService/GatekeeperService.cs index 7b84d55ded..21f363c3a8 100644 --- a/OpenSim/Services/HypergridService/GatekeeperService.cs +++ b/OpenSim/Services/HypergridService/GatekeeperService.cs @@ -96,7 +96,8 @@ namespace OpenSim.Services.HypergridService UUID.TryParse(scope, out m_ScopeID); //m_WelcomeMessage = serverConfig.GetString("WelcomeMessage", "Welcome to OpenSim!"); m_AllowTeleportsToAnyRegion = serverConfig.GetBoolean("AllowTeleportsToAnyRegion", true); - m_ExternalName = serverConfig.GetString("ExternalName", string.Empty); + m_ExternalName = Util.GetConfigVarWithDefaultSection(config, "GatekeeperURI", "GatekeeperService"); + m_ExternalName = serverConfig.GetString("ExternalName", m_ExternalName); if (m_ExternalName != string.Empty && !m_ExternalName.EndsWith("/")) m_ExternalName = m_ExternalName + "/"; diff --git a/OpenSim/Services/HypergridService/HGInventoryService.cs b/OpenSim/Services/HypergridService/HGInventoryService.cs index 2e9bd40cd2..a9661f41a8 100644 --- a/OpenSim/Services/HypergridService/HGInventoryService.cs +++ b/OpenSim/Services/HypergridService/HGInventoryService.cs @@ -81,10 +81,7 @@ namespace OpenSim.Services.HypergridService if (m_UserAccountService == null) throw new Exception(String.Format("Unable to create UserAccountService from {0}", userAccountsDll)); - // legacy configuration [obsolete] - m_HomeURL = invConfig.GetString("ProfileServerURI", string.Empty); - // Preferred - m_HomeURL = invConfig.GetString("HomeURI", m_HomeURL); + m_HomeURL = Util.GetConfigVarWithDefaultSection(config, "HomeURI", m_ConfigName); m_Cache = UserAccountCache.CreateUserAccountCache(m_UserAccountService); } diff --git a/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs b/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs index 784f136bb0..dd546b8e06 100644 --- a/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs +++ b/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs @@ -96,8 +96,7 @@ namespace OpenSim.Services.HypergridService if (m_AvatarService == null) throw new Exception(String.Format("Unable to create m_AvatarService from {0}", avatarDll)); - // Preferred - m_HomeURL = invConfig.GetString("HomeURI", m_HomeURL); + m_HomeURL = Util.GetConfigVarWithDefaultSection(config, "HomeURI", m_ConfigName); // m_Cache = UserAccountCache.CreateUserAccountCache(m_UserAccountService); } diff --git a/OpenSim/Services/HypergridService/UserAgentService.cs b/OpenSim/Services/HypergridService/UserAgentService.cs index a26a9222bd..8757a4ca59 100644 --- a/OpenSim/Services/HypergridService/UserAgentService.cs +++ b/OpenSim/Services/HypergridService/UserAgentService.cs @@ -131,12 +131,17 @@ namespace OpenSim.Services.HypergridService LoadDomainExceptionsFromConfig(serverConfig, "AllowExcept", m_TripsAllowedExceptions); LoadDomainExceptionsFromConfig(serverConfig, "DisallowExcept", m_TripsDisallowedExceptions); - m_GridName = serverConfig.GetString("ExternalName", string.Empty); - if (m_GridName == string.Empty) + m_GridName = Util.GetConfigVarWithDefaultSection(config, "GatekeeperURI", "UserAgentService"); + if (string.IsNullOrEmpty(m_GridName)) // Legacy. Remove soon. { - serverConfig = config.Configs["GatekeeperService"]; m_GridName = serverConfig.GetString("ExternalName", string.Empty); + if (m_GridName == string.Empty) + { + serverConfig = config.Configs["GatekeeperService"]; + m_GridName = serverConfig.GetString("ExternalName", string.Empty); + } } + if (!m_GridName.EndsWith("/")) m_GridName = m_GridName + "/"; diff --git a/OpenSim/Services/LLLoginService/LLLoginService.cs b/OpenSim/Services/LLLoginService/LLLoginService.cs index 5f30f84f74..7f32d3058d 100644 --- a/OpenSim/Services/LLLoginService/LLLoginService.cs +++ b/OpenSim/Services/LLLoginService/LLLoginService.cs @@ -110,7 +110,7 @@ namespace OpenSim.Services.LLLoginService m_RequireInventory = m_LoginServerConfig.GetBoolean("RequireInventory", true); m_AllowRemoteSetLoginLevel = m_LoginServerConfig.GetBoolean("AllowRemoteSetLoginLevel", false); m_MinLoginLevel = m_LoginServerConfig.GetInt("MinLoginLevel", 0); - m_GatekeeperURL = m_LoginServerConfig.GetString("GatekeeperURI", string.Empty); + m_GatekeeperURL = Util.GetConfigVarWithDefaultSection(config, "GatekeeperURI", "LoginService"); m_MapTileURL = m_LoginServerConfig.GetString("MapTileURL", string.Empty); m_ProfileURL = m_LoginServerConfig.GetString("ProfileServerURL", string.Empty); m_OpenIDURL = m_LoginServerConfig.GetString("OpenIDServerURL", String.Empty); diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index cb978f1285..4199441a53 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -346,6 +346,21 @@ ;; - "Imprudence 1.3.1" has access ; BannedViewerList = + ;# {HomeURI} {Hypergrid} {The Home URL of this world} {} + ;; If this is a standalone world, this is the address of this instance. + ;; If this is a grided simulator, this is the address of the external robust server that + ;; runs the UserAgentsService. + ;; For example http://myworld.com:9000 or http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + ; HomeURI = "http://127.0.0.1:9000" + + ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} + ;; If this is a standalone world, this is the address of this instance. + ;; If this is a grided simulator, this is the address of the external robust server + ;; that runs the Gatekeeper service. + ;; For example http://myworld.com:9000 or http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + ; GatekeeperURI = "http://127.0.0.1:9000" [Estates] ; If these values are commented out then the user will be asked for estate details when required (this is the normal case). @@ -961,6 +976,7 @@ ;# {HomeURI} {ServicesConnectorModule:Groups HG Service Connector} {What's the home address of this world?} {} ;; Used for V2 in HG only. For example ;; http://mygridserver.com:9000 or http://mygridserver.com:8002 + ;; If you have this set under [Startup], no need to set it here, leave it commented ; HomeURI = "" ;# {MessagingEnabled} {Module:GroupsModule Module:Groups Module V2} {Is groups messaging enabled?} {true false} true diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 3858a3c0f9..274132e4ff 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -22,17 +22,31 @@ ; * [Startup] -; Plugin Registry Location -; Set path to directory for plugin registry. Information -; about the registered repositories and installed plugins -; will be stored here -; The Robust.exe process must hvae R/W access to the location -RegistryLocation = "." + ; Plugin Registry Location + ; Set path to directory for plugin registry. Information + ; about the registered repositories and installed plugins + ; will be stored here + ; The Robust.exe process must hvae R/W access to the location + RegistryLocation = "." -; Modular configurations -; Set path to directory for modular ini files... -; The Robust.exe process must hvae R/W access to the location -ConfigDirectory = "/home/opensim/etc/Configs" + ; Modular configurations + ; Set path to directory for modular ini files... + ; The Robust.exe process must hvae R/W access to the location + ConfigDirectory = "/home/opensim/etc/Configs" + + ;# {HomeURI} {Hypergrid} {The Home URL of this world} {} + ;; This is the address of the external robust server that + ;; runs the UserAgentsService, possibly this server. + ;; For example http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + ; HomeURI = "http://127.0.0.1:8002" + + ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} + ;; This is the address of the external robust server + ;; that runs the Gatekeeper service, possibly this server. + ;; For example http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + ; GatekeeperURI = "http://127.0.0.1:8002" [ServiceList] @@ -155,7 +169,8 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ;; Allow Hyperlinks to be created at the console HypergridLinker = true - Gatekeeper = "http://127.0.0.1:8002" + ;; If you have this set under [Startup], no need to set it here, leave it commented + ; GatekeeperURI = "http://127.0.0.1:8002" ; * This is the configuration for the freeswitch server in grid mode @@ -309,8 +324,8 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ; HasProxy = false ; Defaults for the users, if none is specified in the useraccounts table entry (ServiceURLs) - ; CHANGE THIS - GatekeeperURI = "http://127.0.0.1:8002" + ;; If you have Gatekeeper set under [Startup], no need to set it here, leave it commented + ; GatekeeperURI = "http://127.0.0.1:8002" SRV_HomeURI = "http://127.0.0.1:8002" SRV_InventoryServerURI = "http://127.0.0.1:8002" @@ -417,8 +432,8 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset AuthenticationService = "OpenSim.Services.Connectors.dll:AuthenticationServicesConnector" SimulationService ="OpenSim.Services.Connectors.dll:SimulationServiceConnector" ; how does the outside world reach me? This acts as public key too. - ; CHANGE THIS - ExternalName = "http://127.0.0.1:8002" + ;; If you have GatekeeperURI set under [Startup], no need to set it here, leave it commented + ; ExternalName = "http://127.0.0.1:8002" ; Does this grid allow incoming links to any region in it? ; If false, HG TPs happen only to the Default regions specified in [GridService] section @@ -511,7 +526,9 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService" AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" - HomeURI = "http://127.0.0.1:8002" + + ;; Can overwrite the default in [Startup], but probably shouldn't + ; HomeURI = "http://127.0.0.1:8002" ; * The interface that local users get when they are in other grids. ; * This restricts the access that the rest of the world has to @@ -520,7 +537,9 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset [HGAssetService] LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGAssetService" UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService" - HomeURI = "http://127.0.0.1:8002" + + ;; Can overwrite the default in [Startup], but probably shouldn't + ; HomeURI = "http://127.0.0.1:8002" ;; The asset types that this grid can export to / import from other grids. ;; Comma separated. @@ -557,6 +576,10 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset [Groups] ;; for the HG Groups service OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService" - ; What is the HomeURI of users associated with this grid? - HomeURI = "http://127.0.0.1:8002" UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" + + ;; What is the HomeURI of users associated with this grid? + ;; Can overwrite the default in [Startup], but probably shouldn't + ; HomeURI = "http://127.0.0.1:8002" + + diff --git a/bin/config-include/StandaloneCommon.ini.example b/bin/config-include/StandaloneCommon.ini.example index ffa2d4999a..3129078861 100644 --- a/bin/config-include/StandaloneCommon.ini.example +++ b/bin/config-include/StandaloneCommon.ini.example @@ -64,8 +64,8 @@ Region_Welcome_Area = "DefaultRegion, FallbackRegion" ; === HG ONLY === - ;; change this to the address of your simulator - Gatekeeper="http://127.0.0.1:9000" + ;; If you have this set under [Startup], no need to set it here, leave it commented + ; GatekeeperURI="http://127.0.0.1:9000" [LibraryModule] ; Set this if you want to change the name of the OpenSim Library @@ -73,7 +73,8 @@ [LoginService] WelcomeMessage = "Welcome, Avatar!" - GatekeeperURI = "http://127.0.0.1:9000" + ;; If you have Gatekeeper set under [Startup], no need to set it here, leave it commented + ; GatekeeperURI = "http://127.0.0.1:9000" SRV_HomeURI = "http://127.0.0.1:9000" SRV_InventoryServerURI = "http://127.0.0.1:9000" @@ -218,7 +219,8 @@ ;; HG configurations ;; [GatekeeperService] - ExternalName = "http://127.0.0.1:9000" + ;; If you have GatekeeperURI set under [Startup], no need to set it here, leave it commented + ; ExternalName = "http://127.0.0.1:9000" ; Does this grid allow incoming links to any region in it? ; If false, HG TPs happen only to the Default regions specified in [GridService] section @@ -274,10 +276,12 @@ ; AllowExcept_Level_200 = "http://griefer.com:8002, http://enemy.com:8002" [HGInventoryService] - HomeURI = "http://127.0.0.1:9000" + ;; If you have this set under [Startup], no need to set it here, leave it commented + ; HomeURI = "http://127.0.0.1:9000" [HGAssetService] - HomeURI = "http://127.0.0.1:9000" + ;; If you have this set under [Startup], no need to set it here, leave it commented + ; HomeURI = "http://127.0.0.1:9000" ;; The asset types that this grid can export to / import from other grids. ;; Comma separated. @@ -293,8 +297,9 @@ [HGInventoryAccessModule] - HomeURI = "http://127.0.0.1:9000" - Gatekeeper = "http://127.0.0.1:9000" + ;; If you have these set under [Startup], no need to set it here, leave it commented + ; HomeURI = "http://127.0.0.1:9000" + ; GatekeeperURI = "http://127.0.0.1:9000" ;; If you want to protect your assets from being copied by foreign visitors ;; uncomment the next line. You may want to do this on sims that have licensed content. @@ -311,8 +316,8 @@ [Messaging] ; === HG ONLY === - ;; change this to the address of your simulator - Gatekeeper = "http://127.0.0.1:9000" + ;; If you have this set under [Startup], no need to set it here, leave it commented + ; GatekeeperURI = "http://127.0.0.1:9000" [EntityTransfer] From 0e5859d2b47fcc9bff1d9501b868d4984f4802c1 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Thu, 21 Feb 2013 17:26:37 -0800 Subject: [PATCH 631/851] Minor formatting cleanup. No changes. --- bin/Robust.ini.example | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 05ea67024f..ecbed1fcba 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -14,18 +14,18 @@ ; * [Startup] -; Plugin Registry Location -; Set path to directory for plugin registry. Information -; about the registered repositories and installed plugins -; will be stored here -; The Robust.exe process must hvae R/W access to the location -RegistryLocation = "." + ; Plugin Registry Location + ; Set path to directory for plugin registry. Information + ; about the registered repositories and installed plugins + ; will be stored here + ; The Robust.exe process must hvae R/W access to the location + RegistryLocation = "." -; Modular configurations -; Set path to directory for modular ini files... -; The Robust.exe process must hvae R/W access to the location -ConfigDirectory = "/home/opensim/etc/Configs" + ; Modular configurations + ; Set path to directory for modular ini files... + ; The Robust.exe process must hvae R/W access to the location + ConfigDirectory = "/home/opensim/etc/Configs" [ServiceList] AssetServiceConnector = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector" From 0d08f81421abda3a1de0e2ade6633e86a2735da5 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Thu, 21 Feb 2013 19:07:39 -0800 Subject: [PATCH 632/851] Err.. wrong dll name for groups in Robust.HG.ini.example --- bin/Robust.HG.ini.example | 2 +- bin/Robust.ini.example | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 274132e4ff..445020faf4 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -80,7 +80,7 @@ InstantMessageServerConnector = "8002/OpenSim.Server.Handlers.dll:InstantMessage HGInventoryServiceConnector = "HGInventoryService@8002/OpenSim.Server.Handlers.dll:XInventoryInConnector" HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:AssetServiceConnector" ;; Uncomment this if you want Groups V2, HG to work -; HGGroupsServiceConnector = "8002/Diva.Groups.dll:HGGroupsServiceRobustConnector" +; HGGroupsServiceConnector = "8002/OpenSim.Addons.Groups.dll:HGGroupsServiceRobustConnector" ;; Additions for other add-on modules. For example: ;; WifiServerConnector = "8002/Diva.Wifi.dll:WifiServerConnector" diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index ecbed1fcba..bb98bbf4c3 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -381,3 +381,5 @@ MapGetServiceConnector = "8002/OpenSim.Server.Handlers.dll:MapGetServiceConnecto ; password help: optional: page providing password assistance for users of your grid ;password = http://127.0.0.1/password + + From ccb7cce8190f50024ebf25369d95e7267376f28b Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 22 Feb 2013 21:59:00 +0000 Subject: [PATCH 633/851] Make reset of EntityTransferStateMachine for an avatar transfer always happen despite unexpected exceptions. This means that if such an exception does occur, the region does not need to be reset before that user can teleport from it again. This is all Oren's code from his patch in http://opensimulator.org/mantis/view.php?id=6374 but I've chosen to split it in two. --- .../EntityTransfer/EntityTransferModule.cs | 123 ++++++++++++------ 1 file changed, 81 insertions(+), 42 deletions(-) diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 3cb1901494..07c36660e8 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs @@ -179,13 +179,24 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer if (!sp.Scene.Permissions.CanTeleport(sp.UUID)) return; - // Reset animations; the viewer does that in teleports. - sp.Animator.ResetAnimations(); - string destinationRegionName = "(not found)"; + // Record that this agent is in transit so that we can prevent simultaneous requests and do later detection + // of whether the destination region completes the teleport. + if (!m_entityTransferStateMachine.SetInTransit(sp.UUID)) + { + m_log.DebugFormat( + "[ENTITY TRANSFER MODULE]: Ignoring teleport request of {0} {1} to {2}@{3} - agent is already in transit.", + sp.Name, sp.UUID, position, regionHandle); + + return; + } + try { + // Reset animations; the viewer does that in teleports. + sp.Animator.ResetAnimations(); + if (regionHandle == sp.Scene.RegionInfo.RegionHandle) { destinationRegionName = sp.Scene.RegionInfo.RegionName; @@ -194,12 +205,17 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer } else // Another region possibly in another simulator { - GridRegion finalDestination; - TeleportAgentToDifferentRegion( - sp, regionHandle, position, lookAt, teleportFlags, out finalDestination); - - if (finalDestination != null) - destinationRegionName = finalDestination.RegionName; + GridRegion finalDestination = null; + try + { + TeleportAgentToDifferentRegion( + sp, regionHandle, position, lookAt, teleportFlags, out finalDestination); + } + finally + { + if (finalDestination != null) + destinationRegionName = finalDestination.RegionName; + } } } catch (Exception e) @@ -209,11 +225,12 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer sp.Name, sp.AbsolutePosition, sp.Scene.RegionInfo.RegionName, position, destinationRegionName, e.Message, e.StackTrace); - // Make sure that we clear the in-transit flag so that future teleport attempts don't always fail. - m_entityTransferStateMachine.ResetFromTransit(sp.UUID); - sp.ControllingClient.SendTeleportFailed("Internal error"); } + finally + { + m_entityTransferStateMachine.ResetFromTransit(sp.UUID); + } } /// @@ -229,15 +246,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer "[ENTITY TRANSFER MODULE]: Teleport for {0} to {1} within {2}", sp.Name, position, sp.Scene.RegionInfo.RegionName); - if (!m_entityTransferStateMachine.SetInTransit(sp.UUID)) - { - m_log.DebugFormat( - "[ENTITY TRANSFER MODULE]: Ignoring within region teleport request of {0} {1} to {2} - agent is already in transit.", - sp.Name, sp.UUID, position); - - return; - } - // Teleport within the same region if (IsOutsideRegion(sp.Scene, position) || position.Z < 0) { @@ -282,7 +290,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer } m_entityTransferStateMachine.UpdateInTransit(sp.UUID, AgentTransferState.CleaningUp); - m_entityTransferStateMachine.ResetFromTransit(sp.UUID); } /// @@ -336,7 +343,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer // // This is it // - DoTeleport(sp, reg, finalDestination, position, lookAt, teleportFlags); + DoTeleportInternal(sp, reg, finalDestination, position, lookAt, teleportFlags); // // // @@ -391,6 +398,9 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer && Math.Abs(sourceRegion.RegionLocY - destRegion.RegionCoordY) <= MaxTransferDistance; } + /// + /// Wraps DoTeleportInternal() and manages the transfer state. + /// public void DoTeleport( ScenePresence sp, GridRegion reg, GridRegion finalDestination, Vector3 position, Vector3 lookAt, uint teleportFlags) @@ -405,12 +415,37 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer return; } + + try + { + DoTeleportInternal(sp, reg, finalDestination, position, lookAt, teleportFlags); + } + catch (Exception e) + { + m_log.ErrorFormat( + "[ENTITY TRANSFER MODULE]: Exception on teleport of {0} from {1}@{2} to {3}@{4}: {5}{6}", + sp.Name, sp.AbsolutePosition, sp.Scene.RegionInfo.RegionName, position, finalDestination.RegionName, + e.Message, e.StackTrace); + sp.ControllingClient.SendTeleportFailed("Internal error"); + } + finally + { + m_entityTransferStateMachine.ResetFromTransit(sp.UUID); + } + } + + /// + /// Teleports the agent to another region. + /// This method doesn't manage the transfer state; the caller must do that. + /// + private void DoTeleportInternal( + ScenePresence sp, GridRegion reg, GridRegion finalDestination, + Vector3 position, Vector3 lookAt, uint teleportFlags) + { if (reg == null || finalDestination == null) { sp.ControllingClient.SendTeleportFailed("Unable to locate destination"); - m_entityTransferStateMachine.ResetFromTransit(sp.UUID); - return; } @@ -430,8 +465,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer sourceRegion.RegionName, sourceRegion.RegionLocX, sourceRegion.RegionLocY, MaxTransferDistance)); - m_entityTransferStateMachine.ResetFromTransit(sp.UUID); - return; } @@ -450,7 +483,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer if (endPoint.Address == null) { sp.ControllingClient.SendTeleportFailed("Remote Region appears to be down"); - m_entityTransferStateMachine.ResetFromTransit(sp.UUID); return; } @@ -472,7 +504,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer finalDestination, sp.ControllingClient.AgentId, Vector3.Zero, out version, out reason)) { sp.ControllingClient.SendTeleportFailed(reason); - m_entityTransferStateMachine.ResetFromTransit(sp.UUID); m_log.DebugFormat( "[ENTITY TRANSFER MODULE]: {0} was stopped from teleporting from {1} to {2} because {3}", @@ -528,7 +559,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer if (!CreateAgent(sp, reg, finalDestination, agentCircuit, teleportFlags, out reason, out logout)) { sp.ControllingClient.SendTeleportFailed(String.Format("Teleport refused: {0}", reason)); - m_entityTransferStateMachine.ResetFromTransit(sp.UUID); m_log.DebugFormat( "[ENTITY TRANSFER MODULE]: Teleport of {0} from {1} to {2} was refused because {3}", @@ -629,7 +659,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer "[ENTITY TRANSFER MODULE]: Teleport of {0} to {1} from {2} failed due to no callback from destination region. Returning avatar to source region.", sp.Name, finalDestination.RegionName, sp.Scene.RegionInfo.RegionName); - Fail(sp, finalDestination, logout); + Fail(sp, finalDestination, logout); return; } @@ -682,8 +712,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer // "[ENTITY TRANSFER MODULE]: User {0} is going to another region, profile cache removed", // sp.UUID); // } - - m_entityTransferStateMachine.ResetFromTransit(sp.UUID); } protected virtual void Fail(ScenePresence sp, GridRegion finalDestination, bool logout) @@ -703,8 +731,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer Scene.SimulationService.CloseAgent(finalDestination, sp.UUID); sp.Scene.EventManager.TriggerTeleportFail(sp.ControllingClient, logout); - - m_entityTransferStateMachine.ResetFromTransit(sp.UUID); } protected virtual bool CreateAgent(ScenePresence sp, GridRegion reg, GridRegion finalDestination, AgentCircuitData agentCircuit, uint teleportFlags, out string reason, out bool logout) @@ -1133,16 +1159,24 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer if (neighbourRegion == null) return agent; + if (!m_entityTransferStateMachine.SetInTransit(agent.UUID)) + { + m_log.ErrorFormat( + "[ENTITY TRANSFER MODULE]: Problem crossing user {0} to new region {1} from {2} - agent is already in transit", + agent.Name, neighbourRegion.RegionName, agent.Scene.RegionInfo.RegionName); + return agent; + } + + bool transitWasReset = false; + try { - m_entityTransferStateMachine.SetInTransit(agent.UUID); - ulong neighbourHandle = Utils.UIntsToLong((uint)(neighbourx * Constants.RegionSize), (uint)(neighboury * Constants.RegionSize)); - + m_log.DebugFormat( "[ENTITY TRANSFER MODULE]: Crossing agent {0} {1} to {2}-{3} running version {4}", agent.Firstname, agent.Lastname, neighbourx, neighboury, version); - + Scene m_scene = agent.Scene; if (!agent.ValidateAttachments()) @@ -1155,7 +1189,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer agent.RemoveFromPhysicalScene(); - AgentData cAgent = new AgentData(); + AgentData cAgent = new AgentData(); agent.CopyTo(cAgent); cAgent.Position = pos; if (isFlying) @@ -1174,7 +1208,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer ReInstantiateScripts(agent); agent.AddToPhysicalScene(isFlying); - m_entityTransferStateMachine.ResetFromTransit(agent.UUID); return agent; } @@ -1222,6 +1255,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer // FIXME: Possibly this should occur lower down after other commands to close other agents, // but not sure yet what the side effects would be. m_entityTransferStateMachine.ResetFromTransit(agent.UUID); + transitWasReset = true; // now we have a child agent in this region. Request all interesting data about other (root) agents agent.SendOtherAgentsAvatarDataToMe(); @@ -1261,6 +1295,11 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer // TODO: Might be worth attempting other restoration here such as reinstantiation of scripts, etc. } + finally + { + if (!transitWasReset) + m_entityTransferStateMachine.ResetFromTransit(agent.UUID); + } return agent; } @@ -2083,4 +2122,4 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer #endregion } -} \ No newline at end of file +} From a93f06eb88489f822d903249377ce8cbdd991fb0 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 22 Feb 2013 23:08:14 +0000 Subject: [PATCH 634/851] minor: Add doc to ScenePresence.IsInTransit to make it clear that this is set only for region crossing and not teleport, etc. --- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 9c1d2b645f..39a885cfe1 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -657,6 +657,12 @@ namespace OpenSim.Region.Framework.Scenes private bool m_inTransit; + /// + /// This signals whether the presence is in transit between neighbouring regions. + /// + /// + /// It is not set when the presence is teleporting or logging in/out directly to a region. + /// public bool IsInTransit { get { return m_inTransit; } From 0e8289cd002b1947e172d1bfc77fdd0b16d92ffb Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Fri, 22 Feb 2013 15:57:33 -0800 Subject: [PATCH 635/851] Added new Util function for reading config vars that's more generic than the one I added yesterday -- this is for helping move config vars out of [Startup] --- .../HGGroupsServiceRobustConnector.cs | 2 +- OpenSim/Framework/Util.cs | 38 +++++++++++++++++++ .../CoreModules/Avatar/Lure/HGLureModule.cs | 2 +- .../HGInventoryAccessModule.cs | 7 ++-- .../DataSnapshot/DataSnapshotManager.cs | 2 +- .../Shared/Api/Implementation/OSSL_Api.cs | 4 +- .../Server/Handlers/Grid/GridInfoHandlers.cs | 2 +- .../Services/GridService/HypergridLinker.cs | 2 +- .../HypergridService/GatekeeperService.cs | 2 +- .../HypergridService/HGInventoryService.cs | 2 +- .../HGSuitcaseInventoryService.cs | 2 +- .../HypergridService/UserAgentService.cs | 2 +- .../Services/LLLoginService/LLLoginService.cs | 2 +- 13 files changed, 54 insertions(+), 15 deletions(-) diff --git a/OpenSim/Addons/Groups/Hypergrid/HGGroupsServiceRobustConnector.cs b/OpenSim/Addons/Groups/Hypergrid/HGGroupsServiceRobustConnector.cs index 0e71c72ad6..7cc9ff4044 100644 --- a/OpenSim/Addons/Groups/Hypergrid/HGGroupsServiceRobustConnector.cs +++ b/OpenSim/Addons/Groups/Hypergrid/HGGroupsServiceRobustConnector.cs @@ -65,7 +65,7 @@ namespace OpenSim.Groups m_log.DebugFormat("[Groups.RobustHGConnector]: Starting with config name {0}", m_ConfigName); - string homeURI = Util.GetConfigVarWithDefaultSection(config, "HomeURI", m_ConfigName); //cnf.GetString("HomeURI", string.Empty); + string homeURI = Util.GetConfigVarFromSections(config, "HomeURI", new string[] { "Startup", m_ConfigName} ); //cnf.GetString("HomeURI", string.Empty); if (homeURI == string.Empty) throw new Exception(String.Format("[Groups.RobustHGConnector]: please provide the HomeURI [Startup] or in section {0}", m_ConfigName)); diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs index 1700d3eb97..8b8e50756d 100644 --- a/OpenSim/Framework/Util.cs +++ b/OpenSim/Framework/Util.cs @@ -904,6 +904,44 @@ namespace OpenSim.Framework return val; } + + /// + /// Gets the value of a configuration variable by looking into + /// multiple sections in order. The latter sections overwrite + /// any values previously found. + /// + /// Type of the variable + /// The configuration object + /// The configuration variable + /// Ordered sequence of sections to look at + /// + public static T GetConfigVarFromSections(IConfigSource config, string varname, string[] sections) + { + object val = default(T); + foreach (string section in sections) + { + IConfig cnf = config.Configs[section]; + if (cnf == null) + continue; + + if (typeof(T) == typeof(String)) + { + if (val == null) // no null strings, please + val = string.Empty; + val = cnf.GetString(varname, (string)val); + } + else if (typeof(T) == typeof(Boolean)) + val = cnf.GetBoolean(varname, (bool)val); + else if (typeof(T) == typeof(Int32)) + val = cnf.GetInt(varname, (int)val); + else if (typeof(T) == typeof(float)) + val = cnf.GetFloat(varname, (int)val); + else + m_log.WarnFormat("[UTIL]: Unhandled type {0}", typeof(T)); + } + return (T)val; + } + #endregion public static float Clip(float x, float min, float max) diff --git a/OpenSim/Region/CoreModules/Avatar/Lure/HGLureModule.cs b/OpenSim/Region/CoreModules/Avatar/Lure/HGLureModule.cs index 784a78862f..22cdc8086f 100644 --- a/OpenSim/Region/CoreModules/Avatar/Lure/HGLureModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Lure/HGLureModule.cs @@ -65,7 +65,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Lure { m_Enabled = true; - m_ThisGridURL = Util.GetConfigVarWithDefaultSection(config, "GatekeeperURI", "Messaging"); + m_ThisGridURL = Util.GetConfigVarFromSections(config, "GatekeeperURI", new string[] {"Startup", "Messaging"}); // Legacy. Remove soon! m_ThisGridURL = config.Configs["Messaging"].GetString("Gatekeeper", m_ThisGridURL); m_log.DebugFormat("[LURE MODULE]: {0} enabled", Name); diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs index c439ea811f..4f6b92e288 100644 --- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs +++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs @@ -88,11 +88,12 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess IConfig thisModuleConfig = source.Configs["HGInventoryAccessModule"]; if (thisModuleConfig != null) { - m_HomeURI = Util.GetConfigVarWithDefaultSection(source, "HomeURI", "HGInventoryAccessModule"); - m_OutboundPermission = thisModuleConfig.GetBoolean("OutboundPermission", true); - m_ThisGatekeeper = Util.GetConfigVarWithDefaultSection(source, "GatekeeperURI", "HGInventoryAccessModule"); + m_HomeURI = Util.GetConfigVarFromSections(source, "HomeURI", new string[] {"Startup", "HGInventoryAccessModule"}); + m_ThisGatekeeper = Util.GetConfigVarFromSections(source, "GatekeeperURI", new string[] {"Startup", "HGInventoryAccessModule"}); // Legacy. Renove soon! m_ThisGatekeeper = thisModuleConfig.GetString("Gatekeeper", m_ThisGatekeeper); + + m_OutboundPermission = thisModuleConfig.GetBoolean("OutboundPermission", true); m_RestrictInventoryAccessAbroad = thisModuleConfig.GetBoolean("RestrictInventoryAccessAbroad", true); } else diff --git a/OpenSim/Region/DataSnapshot/DataSnapshotManager.cs b/OpenSim/Region/DataSnapshot/DataSnapshotManager.cs index 13d9d31b35..e8bf1943ed 100644 --- a/OpenSim/Region/DataSnapshot/DataSnapshotManager.cs +++ b/OpenSim/Region/DataSnapshot/DataSnapshotManager.cs @@ -113,7 +113,7 @@ namespace OpenSim.Region.DataSnapshot try { m_enabled = config.Configs["DataSnapshot"].GetBoolean("index_sims", m_enabled); - string gatekeeper = Util.GetConfigVarWithDefaultSection(config, "GatekeeperURI", "GridService"); + string gatekeeper = Util.GetConfigVarFromSections(config, "GatekeeperURI", new string[] {"Startup", "GridService"}); // Legacy. Remove soon! if (string.IsNullOrEmpty(gatekeeper)) { diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 0334169ab1..d356f8c2c9 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -2138,7 +2138,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_host.AddScriptLPS(1); IConfigSource config = m_ScriptEngine.ConfigSource; - string HomeURI = Util.GetConfigVarWithDefaultSection(config, "HomeURI", string.Empty); + string HomeURI = Util.GetConfigVarFromSections(config, "HomeURI", new string[]{"Startup"}); if (!string.IsNullOrEmpty(HomeURI)) return HomeURI; @@ -2159,7 +2159,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_host.AddScriptLPS(1); IConfigSource config = m_ScriptEngine.ConfigSource; - string gatekeeperURI = Util.GetConfigVarWithDefaultSection(config, "GatekeeperURI", string.Empty); + string gatekeeperURI = Util.GetConfigVarFromSections(config, "GatekeeperURI", new string[] {"Startup"}); if (!string.IsNullOrEmpty(gatekeeperURI)) return gatekeeperURI; diff --git a/OpenSim/Server/Handlers/Grid/GridInfoHandlers.cs b/OpenSim/Server/Handlers/Grid/GridInfoHandlers.cs index 35f86c5acf..d85aab07fe 100644 --- a/OpenSim/Server/Handlers/Grid/GridInfoHandlers.cs +++ b/OpenSim/Server/Handlers/Grid/GridInfoHandlers.cs @@ -177,7 +177,7 @@ namespace OpenSim.Server.Handlers.Grid map[k] = OSD.FromString(_info[k].ToString()); } - string HomeURI = Util.GetConfigVarWithDefaultSection(m_Config, "HomeURI", string.Empty); + string HomeURI = Util.GetConfigVarFromSections(m_Config, "HomeURI", new string[] {"Startup"}); if (!String.IsNullOrEmpty(HomeURI)) map["home"] = OSD.FromString(HomeURI); diff --git a/OpenSim/Services/GridService/HypergridLinker.cs b/OpenSim/Services/GridService/HypergridLinker.cs index 3e7c556f46..80575ee4b4 100644 --- a/OpenSim/Services/GridService/HypergridLinker.cs +++ b/OpenSim/Services/GridService/HypergridLinker.cs @@ -128,7 +128,7 @@ namespace OpenSim.Services.GridService m_MapTileDirectory = gridConfig.GetString("MapTileDirectory", "maptiles"); - m_ThisGatekeeper = Util.GetConfigVarWithDefaultSection(config, "GatekeeperURI", "GridService"); + m_ThisGatekeeper = Util.GetConfigVarFromSections(config, "GatekeeperURI", new string[] {"Startup", "GridService"}); // Legacy. Remove soon! m_ThisGatekeeper = gridConfig.GetString("Gatekeeper", m_ThisGatekeeper); try diff --git a/OpenSim/Services/HypergridService/GatekeeperService.cs b/OpenSim/Services/HypergridService/GatekeeperService.cs index 21f363c3a8..c41d95284c 100644 --- a/OpenSim/Services/HypergridService/GatekeeperService.cs +++ b/OpenSim/Services/HypergridService/GatekeeperService.cs @@ -96,7 +96,7 @@ namespace OpenSim.Services.HypergridService UUID.TryParse(scope, out m_ScopeID); //m_WelcomeMessage = serverConfig.GetString("WelcomeMessage", "Welcome to OpenSim!"); m_AllowTeleportsToAnyRegion = serverConfig.GetBoolean("AllowTeleportsToAnyRegion", true); - m_ExternalName = Util.GetConfigVarWithDefaultSection(config, "GatekeeperURI", "GatekeeperService"); + m_ExternalName = Util.GetConfigVarFromSections(config, "GatekeeperURI", new string[] {"Startup", "GatekeeperService"}); m_ExternalName = serverConfig.GetString("ExternalName", m_ExternalName); if (m_ExternalName != string.Empty && !m_ExternalName.EndsWith("/")) m_ExternalName = m_ExternalName + "/"; diff --git a/OpenSim/Services/HypergridService/HGInventoryService.cs b/OpenSim/Services/HypergridService/HGInventoryService.cs index a9661f41a8..17e83ccd3b 100644 --- a/OpenSim/Services/HypergridService/HGInventoryService.cs +++ b/OpenSim/Services/HypergridService/HGInventoryService.cs @@ -81,7 +81,7 @@ namespace OpenSim.Services.HypergridService if (m_UserAccountService == null) throw new Exception(String.Format("Unable to create UserAccountService from {0}", userAccountsDll)); - m_HomeURL = Util.GetConfigVarWithDefaultSection(config, "HomeURI", m_ConfigName); + m_HomeURL = Util.GetConfigVarFromSections(config, "HomeURI", new string[] {"Startup", m_ConfigName}); m_Cache = UserAccountCache.CreateUserAccountCache(m_UserAccountService); } diff --git a/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs b/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs index dd546b8e06..776bf0c086 100644 --- a/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs +++ b/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs @@ -96,7 +96,7 @@ namespace OpenSim.Services.HypergridService if (m_AvatarService == null) throw new Exception(String.Format("Unable to create m_AvatarService from {0}", avatarDll)); - m_HomeURL = Util.GetConfigVarWithDefaultSection(config, "HomeURI", m_ConfigName); + m_HomeURL = Util.GetConfigVarFromSections(config, "HomeURI", new string[] {"Startup", m_ConfigName}); // m_Cache = UserAccountCache.CreateUserAccountCache(m_UserAccountService); } diff --git a/OpenSim/Services/HypergridService/UserAgentService.cs b/OpenSim/Services/HypergridService/UserAgentService.cs index 8757a4ca59..2ab0b87b2f 100644 --- a/OpenSim/Services/HypergridService/UserAgentService.cs +++ b/OpenSim/Services/HypergridService/UserAgentService.cs @@ -131,7 +131,7 @@ namespace OpenSim.Services.HypergridService LoadDomainExceptionsFromConfig(serverConfig, "AllowExcept", m_TripsAllowedExceptions); LoadDomainExceptionsFromConfig(serverConfig, "DisallowExcept", m_TripsDisallowedExceptions); - m_GridName = Util.GetConfigVarWithDefaultSection(config, "GatekeeperURI", "UserAgentService"); + m_GridName = Util.GetConfigVarFromSections(config, "GatekeeperURI", new string[] {"Startup", "UserAgentService"}); if (string.IsNullOrEmpty(m_GridName)) // Legacy. Remove soon. { m_GridName = serverConfig.GetString("ExternalName", string.Empty); diff --git a/OpenSim/Services/LLLoginService/LLLoginService.cs b/OpenSim/Services/LLLoginService/LLLoginService.cs index 7f32d3058d..0fbd090f49 100644 --- a/OpenSim/Services/LLLoginService/LLLoginService.cs +++ b/OpenSim/Services/LLLoginService/LLLoginService.cs @@ -110,7 +110,7 @@ namespace OpenSim.Services.LLLoginService m_RequireInventory = m_LoginServerConfig.GetBoolean("RequireInventory", true); m_AllowRemoteSetLoginLevel = m_LoginServerConfig.GetBoolean("AllowRemoteSetLoginLevel", false); m_MinLoginLevel = m_LoginServerConfig.GetInt("MinLoginLevel", 0); - m_GatekeeperURL = Util.GetConfigVarWithDefaultSection(config, "GatekeeperURI", "LoginService"); + m_GatekeeperURL = Util.GetConfigVarFromSections(config, "GatekeeperURI", new string[] {"Startup", "LoginService"}); m_MapTileURL = m_LoginServerConfig.GetString("MapTileURL", string.Empty); m_ProfileURL = m_LoginServerConfig.GetString("ProfileServerURL", string.Empty); m_OpenIDURL = m_LoginServerConfig.GetString("OpenIDServerURL", String.Empty); From c72c238f5df4279cfbe9d1fa42a6dc3f29f774d5 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sat, 23 Feb 2013 11:16:50 -0800 Subject: [PATCH 636/851] Improved documentation of Groups section. --- bin/OpenSim.ini.example | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 4199441a53..22678ee8a8 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -958,8 +958,12 @@ ; StorageProvider = OpenSim.Data.MySQL.dll ;# {ServicesConnectorModule} {Module:GroupsModule Module:Groups Module V2} {Service connector to use for groups} {XmlRpcGroupsServicesConnector SimianGroupsServicesConnector "Groups Local Service Connector" "Groups Remote Service Connector" "Groups HG Service Connector"} XmlRpcGroupsServicesConnector - ;; Service connectors to the Groups Service as used in the GroupsModule. Select one depending on - ;; whether you're using a Flotsam XmlRpc backend or a SimianGrid backend or several flavours of V2, Hypergrided or not, standalone or grided. + ;; Service connectors to the Groups Service as used in the GroupsModule. Select one as follows: + ;; -- for Flotsam Groups use XmlRpcGroupsServicesConnector + ;; -- for Simian Groups use SimianGroupsServicesConnector + ;; -- for V2 Groups, standalone, non-HG use "Groups Local Service Connector" + ;; -- for V2 Groups, grided sim, non-HG use "Groups Remote Service Connector" + ;; -- for V2 Groups, HG, both standalone and grided sim, use "Groups HG Service Connector" ; ServicesConnectorModule = XmlRpcGroupsServicesConnector ;# {LocalService} {ServicesConnectorModule:Groups HG Service Connector} {Is the group service in this process or elsewhere?} {local remote} local From a0161e7161d3c22a35fa804ab10b2c02923d1d9b Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sat, 23 Feb 2013 11:21:14 -0800 Subject: [PATCH 637/851] Further clarification on the same spot. --- bin/OpenSim.ini.example | 1 + 1 file changed, 1 insertion(+) diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 22678ee8a8..667511dfe1 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -964,6 +964,7 @@ ;; -- for V2 Groups, standalone, non-HG use "Groups Local Service Connector" ;; -- for V2 Groups, grided sim, non-HG use "Groups Remote Service Connector" ;; -- for V2 Groups, HG, both standalone and grided sim, use "Groups HG Service Connector" + ;; Note that the quotes "" around the words are important! ; ServicesConnectorModule = XmlRpcGroupsServicesConnector ;# {LocalService} {ServicesConnectorModule:Groups HG Service Connector} {Is the group service in this process or elsewhere?} {local remote} local From 6a01683aeb3c343c780aa5ffb2020a1c006dc4bb Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sat, 23 Feb 2013 11:24:11 -0800 Subject: [PATCH 638/851] More clarification on the [Groups] section --- bin/OpenSim.ini.example | 1 + 1 file changed, 1 insertion(+) diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 667511dfe1..5aeae8a1f0 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -976,6 +976,7 @@ ;; e.g. http://yourxmlrpcserver.com/xmlrpc.php for Flotsam XmlRpc ;; or http://mygridserver.com:82/Grid/ for SimianGrid ;; or http:://mygridserver.com:8003 for robust, V2 + ;; Leave it commented for standalones, V2 ; GroupsServerURI = "" ;# {HomeURI} {ServicesConnectorModule:Groups HG Service Connector} {What's the home address of this world?} {} From ee18db027c67d3ea9b905f4d07bd5a2ec8fdf65f Mon Sep 17 00:00:00 2001 From: Melanie Date: Sat, 23 Feb 2013 21:00:05 +0000 Subject: [PATCH 639/851] Make sure state machine is reset if crossing is aborted --- .../Framework/EntityTransfer/EntityTransferModule.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 6f18e1c971..6cfd3324b9 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs @@ -1132,10 +1132,16 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer bool isFlying, string version) { if (!CrossAgentToNewRegionPrep(agent, neighbourRegion)) + { + m_entityTransferStateMachine.ResetFromTransit(agent.UUID); return agent; + } if (!CrossAgentIntoNewRegionMain(agent, pos, neighbourRegion, isFlying)) + { + m_entityTransferStateMachine.ResetFromTransit(agent.UUID); return agent; + } CrossAgentToNewRegionPost(agent, pos, neighbourRegion, isFlying, version); return agent; From 8e67ad25b07c6e934e7df86b3baffa2ab85145c1 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sat, 23 Feb 2013 16:49:02 -0800 Subject: [PATCH 640/851] Addition of ServerStats shared region module which collects and registers server wide statistics (CPU%, network bytes sent, ...) with StatsManager. --- .../Framework/Monitoring/ServerStats.cs | 438 ++++++++++++++++++ 1 file changed, 438 insertions(+) create mode 100644 OpenSim/Region/OptionalModules/Framework/Monitoring/ServerStats.cs diff --git a/OpenSim/Region/OptionalModules/Framework/Monitoring/ServerStats.cs b/OpenSim/Region/OptionalModules/Framework/Monitoring/ServerStats.cs new file mode 100644 index 0000000000..8f60c8d7d6 --- /dev/null +++ b/OpenSim/Region/OptionalModules/Framework/Monitoring/ServerStats.cs @@ -0,0 +1,438 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Net.NetworkInformation; +using System.Text; +using System.Threading; + +using log4net; +using Mono.Addins; +using Nini.Config; + +using OpenSim.Framework; +using OpenSim.Framework.Console; +using OpenSim.Framework.Monitoring; +using OpenSim.Region.Framework.Interfaces; +using OpenSim.Region.Framework.Scenes; + +using OpenMetaverse.StructuredData; + +namespace OpenSim.Region.OptionalModules.Framework.Monitoring +{ +[Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "ServerStatistics")] +public class ServerStats : ISharedRegionModule +{ + private readonly ILog m_log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); + private readonly string LogHeader = "[SERVER STATS]"; + + public bool Enabled = false; + private static Dictionary RegisteredStats = new Dictionary(); + + public readonly string CategoryServer = "server"; + + public readonly string ContainerProcessor = "processor"; + public readonly string ContainerMemory = "memory"; + public readonly string ContainerNetwork = "network"; + public readonly string ContainerProcess = "process"; + + + readonly int performanceCounterSampleInterval = 500; + int lastperformanceCounterSampleTime = 0; + + private class PerfCounterControl + { + public PerformanceCounter perfCounter; + public int lastFetch; + public string name; + public PerfCounterControl(PerformanceCounter pPc) + : this(pPc, String.Empty) + { + } + public PerfCounterControl(PerformanceCounter pPc, string pName) + { + perfCounter = pPc; + lastFetch = 0; + name = pName; + } + } + + PerfCounterControl processorPercentPerfCounter = null; + + PerfCounterControl processThreadCountPerfCounter = null; + PerfCounterControl processVirtualBytesPerfCounter = null; + PerfCounterControl processWorkingSetPerfCounter = null; + + PerfCounterControl dotNETCLRMemoryAllocatedBytesPerSecPerfCounter = null; + PerfCounterControl dotNETCLRMemoryGen0HeapSizePerfCounter = null; + PerfCounterControl dotNETCLRMemoryGen1HeapSizePerfCounter = null; + PerfCounterControl dotNETCLRMemoryGen2HeapSizePerfCounter = null; + + PerfCounterControl dotNETCLRLaTTotalContentionsPerfCounter = null; + PerfCounterControl dotNETCLRLaTContentionsPerSecPerfCounter = null; + PerfCounterControl dotNETCLRLaTLogicalThreadsPerfCounter = null; + PerfCounterControl dotNETCLRLaTPhysicalThreadsPerfCounter = null; + + #region ISharedRegionModule + // IRegionModuleBase.Name + public string Name { get { return "Server Stats"; } } + // IRegionModuleBase.ReplaceableInterface + public Type ReplaceableInterface { get { return null; } } + // IRegionModuleBase.Initialize + public void Initialise(IConfigSource source) + { + IConfig cnfg = source.Configs["Statistics"]; + + if (cnfg != null) + Enabled = cnfg.GetBoolean("Enabled", true); + } + // IRegionModuleBase.Close + public void Close() + { + if (RegisteredStats.Count > 0) + { + foreach (Stat stat in RegisteredStats.Values) + { + StatsManager.DeregisterStat(stat); + stat.Dispose(); + } + RegisteredStats.Clear(); + } + } + // IRegionModuleBase.AddRegion + public void AddRegion(Scene scene) + { + } + // IRegionModuleBase.RemoveRegion + public void RemoveRegion(Scene scene) + { + } + // IRegionModuleBase.RegionLoaded + public void RegionLoaded(Scene scene) + { + } + // ISharedRegionModule.PostInitialize + public void PostInitialise() + { + if (RegisteredStats.Count == 0) + { + RegisterServerStats(); + } + } + #endregion ISharedRegionModule + + public void RegisterServerStats() + { + lastperformanceCounterSampleTime = Util.EnvironmentTickCount(); + PerformanceCounter tempPC; + Stat tempStat; + string tempName; + + try + { + tempName = "CPU_Percent"; + tempPC = new PerformanceCounter("Processor", "% Processor Time", "_Total"); + processorPercentPerfCounter = new PerfCounterControl(tempPC); + // A long time bug in mono is that CPU percent is reported as CPU percent idle. Windows reports CPU percent busy. + tempStat = new Stat(tempName, tempName, "", "percent", CategoryServer, ContainerProcessor, + StatType.Pull, (s) => { GetNextValue(s, processorPercentPerfCounter, Util.IsWindows() ? 1 : -1); }, + StatVerbosity.Info); + StatsManager.RegisterStat(tempStat); + RegisteredStats.Add(tempName, tempStat); + + /* Performance counters are not the way to go. Ick. Find another way. + tempName = "Thread_Count"; + tempPC = new PerformanceCounter("Process", "Thread Count", AppDomain.CurrentDomain.FriendlyName); + processThreadCountPerfCounter = new PerfCounterControl(tempPC); + tempStat = new Stat("Thread_Count", "Thread_Count", "", "threads", CategoryServer, ContainerProcess, + StatType.Pull, (s) => { GetNextValue(s, processThreadCountPerfCounter); }, StatVerbosity.Info); + StatsManager.RegisterStat(tempStat); + RegisteredStats.Add(tempName, tempStat); + + tempName = "Virtual_Bytes"; + tempPC = new PerformanceCounter("Process", "Virtual Bytes", AppDomain.CurrentDomain.FriendlyName); + processVirtualBytesPerfCounter = new PerfCounterControl(tempPC); + tempStat = new Stat("Virtual_Bytes", "Virtual_Bytes", "", "MB", CategoryServer, ContainerProcess, + StatType.Pull, (s) => { GetNextValue(s, processVirtualBytesPerfCounter, 1024.0*1024.0); }, StatVerbosity.Info); + StatsManager.RegisterStat(tempStat); + RegisteredStats.Add(tempName, tempStat); + + tempName = "Working_Set"; + tempPC = new PerformanceCounter("Process", "Working Set", AppDomain.CurrentDomain.FriendlyName); + processWorkingSetPerfCounter = new PerfCounterControl(tempPC); + tempStat = new Stat("Working_Set", "Working_Set", "", "MB", CategoryServer, ContainerProcess, + StatType.Pull, (s) => { GetNextValue(s, processWorkingSetPerfCounter, 1024.0*1024.0); }, StatVerbosity.Info); + StatsManager.RegisterStat(tempStat); + RegisteredStats.Add(tempName, tempStat); + */ + } + catch (Exception e) + { + m_log.ErrorFormat("{0} Exception creating 'Process': {1}", LogHeader, e); + } + + try + { + /* The ".NET CLR *" categories aren't working for me. + tempName = ""Bytes_Allocated_Per_Sec"; + tempPC = new PerformanceCounter(".NET CLR Memory", "Allocated Bytes/sec", AppDomain.CurrentDomain.FriendlyName); + dotNETCLRMemoryAllocatedBytesPerSecPerfCounter = new PerfCounterControl(tempPC, tempStat); + tempStat = new Stat(tempName, tempName, "", "bytes/sec", ServerCategory, MemoryContainer, + StatType.Pull, (s) => { GetNextValue(s, dotNETCLRMemoryAllocatedBytesPerSecPerfCounter); }, StatVerbosity.Info); + StatsManager.RegisterStat(tempStat); + RegisteredStats.Add(tempName, tempStat); + + tempName = "Gen_0_Heap_Size"; + tempPC = new PerformanceCounter(".NET CLR Memory", "Gen 0 heap size", AppDomain.CurrentDomain.FriendlyName); + dotNETCLRMemoryGen0HeapSizePerfCounter = new PerfCounterControl(tempPC, tempStat); + tempStat = new Stat("Gen_0_Heap_Size", "Gen_0_Heap_Size", "", "bytes", ServerCategory, MemoryContainer, + StatType.Pull, (s) => { GetNextValue(s, dotNETCLRMemoryGen0HeapSizePerfCounter); }, StatVerbosity.Info); + StatsManager.RegisterStat(tempStat); + RegisteredStats.Add(tempName, tempStat); + + tempName = "Gen_1_Heap_Size"; + tempPC = new PerformanceCounter(".NET CLR Memory", "Gen 1 heap size", AppDomain.CurrentDomain.FriendlyName); + dotNETCLRMemoryGen1HeapSizePerfCounter = new PerfCounterControl(tempPC, tempStat); + tempStat = new Stat("Gen_1_Heap_Size", "Gen_1_Heap_Size", "", "bytes", ServerCategory, MemoryContainer, + StatType.Pull, (s) => { GetNextValue(s, dotNETCLRMemoryGen1HeapSizePerfCounter); }, StatVerbosity.Info); + StatsManager.RegisterStat(tempStat); + RegisteredStats.Add(tempName, tempStat); + + tempName = "Gen_2_Heap_Size"; + tempPC = new PerformanceCounter(".NET CLR Memory", "Gen 2 heap size", AppDomain.CurrentDomain.FriendlyName); + dotNETCLRMemoryGen2HeapSizePerfCounter = new PerfCounterControl(tempPC, tempStat); + tempStat = new Stat("Gen_2_Heap_Size", "Gen_2_Heap_Size", "", "bytes", ServerCategory, MemoryContainer, + StatType.Pull, (s) => { GetNextValue(s, dotNETCLRMemoryGen2HeapSizePerfCounter); }, StatVerbosity.Info); + StatsManager.RegisterStat(tempStat); + RegisteredStats.Add(tempName, tempStat); + + tempName = "Total_Lock_Contentions"; + tempPC = new PerformanceCounter(".NET CLR LocksAndThreads", "Total # of Contentions"); + dotNETCLRLaTTotalContentionsPerfCounter = new PerfCounterControl(tempPC, tempStat); + tempStat = new Stat("Total_Lock_Contentions", "Total_Lock_Contentions", "", "contentions", ServerCategory, ProcessContainer, + StatType.Pull, (s) => { GetNextValue(s, dotNETCLRLaTTotalContentionsPerfCounter); }, StatVerbosity.Info); + StatsManager.RegisterStat(tempStat); + RegisteredStats.Add(tempName, tempStat); + + tempName = "Lock_Contentions"; + tempPC = new PerformanceCounter(".NET CLR LocksAndThreads", "Contention Rate / sec"); + dotNETCLRLaTContentionsPerSecPerfCounter = new PerfCounterControl(tempPC, tempStat); + tempStat = new Stat("Lock_Contentions", "Lock_Contentions", "", "contentions/sec", ServerCategory, ProcessContainer, + StatType.Pull, (s) => { GetNextValue(s, dotNETCLRLaTContentionsPerSecPerfCounter); }, StatVerbosity.Info); + StatsManager.RegisterStat(tempStat); + RegisteredStats.Add(tempName, tempStat); + + tempName = "Logical_Threads"; + tempPC = new PerformanceCounter(".NET CLR LocksAndThreads", "# of current logical Threads"); + dotNETCLRLaTLogicalThreadsPerfCounter = new PerfCounterControl(tempPC, tempStat); + tempStat = new Stat("Logicial_Threads", "Logicial_Threads", "", "threads", ServerCategory, ProcessContainer, + StatType.Pull, (s) => { GetNextValue(s, dotNETCLRLaTLogicalThreadsPerfCounter); }, StatVerbosity.Info); + StatsManager.RegisterStat(tempStat); + RegisteredStats.Add(tempName, tempStat); + + tempName = "Physical_Threads"; + tempPC = new PerformanceCounter(".NET CLR LocksAndThreads", "# of current physical Threads"); + dotNETCLRLaTPhysicalThreadsPerfCounter = new PerfCounterControl(tempPC, tempStat); + tempStat = new Stat("Physical_Threads", "Physical_Threads", "", "threads", ServerCategory, ProcessContainer, + StatType.Pull, (s) => { GetNextValue(s, dotNETCLRLaTPhysicalThreadsPerfCounter); }, StatVerbosity.Info); + StatsManager.RegisterStat(tempStat); + RegisteredStats.Add(tempName, tempStat); + */ + } + catch (Exception e) + { + m_log.ErrorFormat("{0} Exception creating '.NET CLR Memory': {1}", LogHeader, e); + } + + try + { + IEnumerable nics = NetworkInterface.GetAllNetworkInterfaces(); + // IEnumerable nics = NetworkInterface.GetAllNetworkInterfaces().Where( + // (network) => network.NetworkInterfaceType == NetworkInterfaceType.Ethernet); + // IEnumerable nics = NetworkInterface.GetAllNetworkInterfaces().Where( + // (network) => network.OperationalStatus == OperationalStatus.Up); + + foreach (NetworkInterface nic in nics) + { + if (nic.OperationalStatus != OperationalStatus.Up || nic.NetworkInterfaceType != NetworkInterfaceType.Ethernet) + continue; + + if (nic.Supports(NetworkInterfaceComponent.IPv4)) + { + IPv4InterfaceStatistics nicStats = nic.GetIPv4Statistics(); + if (nicStats != null) + { + tempName = "Bytes_Rcvd/" + nic.Name; + tempStat = new Stat(tempName, tempName, nic.Name, "KB", CategoryServer, ContainerNetwork, + StatType.Pull, (s) => { LookupNic(s, (ns) => { return ns.BytesReceived; }, 1024.0); }, StatVerbosity.Info); + StatsManager.RegisterStat(tempStat); + RegisteredStats.Add(tempName, tempStat); + + tempName = "Bytes_Sent/" + nic.Name; + tempStat = new Stat(tempName, tempName, nic.Name, "KB", CategoryServer, ContainerNetwork, + StatType.Pull, (s) => { LookupNic(s, (ns) => { return ns.BytesSent; }, 1024.0); }, StatVerbosity.Info); + StatsManager.RegisterStat(tempStat); + RegisteredStats.Add(tempName, tempStat); + + tempName = "Total_Bytes/" + nic.Name; + tempStat = new Stat(tempName, tempName, nic.Name, "KB", CategoryServer, ContainerNetwork, + StatType.Pull, (s) => { LookupNic(s, (ns) => { return ns.BytesSent + ns.BytesReceived; }, 1024.0); }, StatVerbosity.Info); + StatsManager.RegisterStat(tempStat); + RegisteredStats.Add(tempName, tempStat); + } + } + } + } + catch (Exception e) + { + m_log.ErrorFormat("{0} Exception creating 'Network Interface': {1}", LogHeader, e); + } + + tempName = "Process_Memory"; + tempStat = new Stat(tempName, tempName, "", "MB", CategoryServer, ContainerMemory, + StatType.Pull, (s) => { s.Value = Process.GetCurrentProcess().WorkingSet64 / 1024d / 1024d; }, StatVerbosity.Info); + StatsManager.RegisterStat(tempStat); + RegisteredStats.Add(tempName, tempStat); + + tempName = "Object_Memory"; + tempStat = new Stat(tempName, tempName, "", "MB", CategoryServer, ContainerMemory, + StatType.Pull, (s) => { s.Value = GC.GetTotalMemory(false) / 1024d / 1024d; }, StatVerbosity.Info); + StatsManager.RegisterStat(tempStat); + RegisteredStats.Add(tempName, tempStat); + + tempName = "Last_Memory_Churn"; + tempStat = new Stat(tempName, tempName, "", "MB/sec", CategoryServer, ContainerMemory, + StatType.Pull, (s) => { s.Value = Math.Round(MemoryWatchdog.LastMemoryChurn * 1000d / 1024d / 1024d, 3); }, StatVerbosity.Info); + StatsManager.RegisterStat(tempStat); + RegisteredStats.Add(tempName, tempStat); + + tempName = "Average_Memory_Churn"; + tempStat = new Stat(tempName, tempName, "", "MB/sec", CategoryServer, ContainerMemory, + StatType.Pull, (s) => { s.Value = Math.Round(MemoryWatchdog.AverageMemoryChurn * 1000d / 1024d / 1024d, 3); }, StatVerbosity.Info); + StatsManager.RegisterStat(tempStat); + RegisteredStats.Add(tempName, tempStat); + + } + + // Notes on performance counters: + // "How To Read Performance Counters": http://blogs.msdn.com/b/bclteam/archive/2006/06/02/618156.aspx + // "How to get the CPU Usage in C#": http://stackoverflow.com/questions/278071/how-to-get-the-cpu-usage-in-c + // "Mono Performance Counters": http://www.mono-project.com/Mono_Performance_Counters + private delegate double PerfCounterNextValue(); + private void GetNextValue(Stat stat, PerfCounterControl perfControl) + { + GetNextValue(stat, perfControl, 1.0); + } + private void GetNextValue(Stat stat, PerfCounterControl perfControl, double factor) + { + if (Util.EnvironmentTickCountSubtract(perfControl.lastFetch) > performanceCounterSampleInterval) + { + if (perfControl != null && perfControl.perfCounter != null) + { + try + { + // Kludge for factor to run double duty. If -1, subtract the value from one + if (factor == -1) + stat.Value = 1 - perfControl.perfCounter.NextValue(); + else + stat.Value = perfControl.perfCounter.NextValue() / factor; + } + catch (Exception e) + { + m_log.ErrorFormat("{0} Exception on NextValue fetching {1}: {2}", LogHeader, stat.Name, e); + } + perfControl.lastFetch = Util.EnvironmentTickCount(); + } + } + } + + private delegate double GetIPv4StatValue(IPv4InterfaceStatistics interfaceStat); + private void LookupNic(Stat stat, GetIPv4StatValue getter, double factor) + { + // Get the one nic that has the name of this stat + IEnumerable nics = NetworkInterface.GetAllNetworkInterfaces().Where( + (network) => network.Name == stat.Description); + try + { + foreach (NetworkInterface nic in nics) + { + IPv4InterfaceStatistics intrStats = nic.GetIPv4Statistics(); + if (intrStats != null) + stat.Value = Math.Round(getter(intrStats) / factor, 3); + break; + } + } + catch + { + // There are times interfaces go away so we just won't update the stat for this + m_log.ErrorFormat("{0} Exception fetching stat on interface '{1}'", LogHeader, stat.Description); + } + } +} + +public class ServerStatsAggregator : Stat +{ + public ServerStatsAggregator( + string shortName, + string name, + string description, + string unitName, + string category, + string container + ) + : base( + shortName, + name, + description, + unitName, + category, + container, + StatType.Push, + MeasuresOfInterest.None, + null, + StatVerbosity.Info) + { + } + public override string ToConsoleString() + { + StringBuilder sb = new StringBuilder(); + + return sb.ToString(); + } + + public override OSDMap ToOSDMap() + { + OSDMap ret = new OSDMap(); + + return ret; + } +} + +} From ee8d726ec5cbcbaca8aebbcbfd25cfba963c43f8 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sat, 23 Feb 2013 17:04:19 -0800 Subject: [PATCH 641/851] Modify StatsManager so console command "show stats category container" only outputs the statistics in the specified container in the category. --- OpenSim/Framework/Monitoring/StatsManager.cs | 29 ++++++++++++++++---- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/OpenSim/Framework/Monitoring/StatsManager.cs b/OpenSim/Framework/Monitoring/StatsManager.cs index 910907eb31..24db6d44c0 100644 --- a/OpenSim/Framework/Monitoring/StatsManager.cs +++ b/OpenSim/Framework/Monitoring/StatsManager.cs @@ -85,6 +85,7 @@ namespace OpenSim.Framework.Monitoring if (cmd.Length > 2) { var categoryName = cmd[2]; + var containerName = cmd.Length > 3 ? cmd[3] : String.Empty; if (categoryName == AllSubCommand) { @@ -108,7 +109,20 @@ namespace OpenSim.Framework.Monitoring } else { - OutputCategoryStatsToConsole(con, category); + if (String.IsNullOrEmpty(containerName)) + OutputCategoryStatsToConsole(con, category); + else + { + SortedDictionary container; + if (category.TryGetValue(containerName, out container)) + { + OutputContainerStatsToConsole(con, container); + } + else + { + con.OutputFormat("No such container {0} in category {1}", containerName, categoryName); + } + } } } } @@ -124,10 +138,15 @@ namespace OpenSim.Framework.Monitoring { foreach (var container in category.Values) { - foreach (Stat stat in container.Values) - { - con.Output(stat.ToConsoleString()); - } + OutputContainerStatsToConsole(con, container); + } + } + + private static void OutputContainerStatsToConsole( ICommandConsole con, SortedDictionary container) + { + foreach (Stat stat in container.Values) + { + con.Output(stat.ToConsoleString()); } } From 9f213892ea0441e0e4fb9a967850a3f0a07912b3 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sat, 23 Feb 2013 17:50:24 -0800 Subject: [PATCH 642/851] Add EventHistogram.GetHistogramAsOSDMap that returns that parameters about the histogram as well as the values. --- .../Framework/Monitoring/Stats/CounterStat.cs | 439 +++++++++--------- 1 file changed, 228 insertions(+), 211 deletions(-) diff --git a/OpenSim/Framework/Monitoring/Stats/CounterStat.cs b/OpenSim/Framework/Monitoring/Stats/CounterStat.cs index d81f1828e6..caea30dd5d 100755 --- a/OpenSim/Framework/Monitoring/Stats/CounterStat.cs +++ b/OpenSim/Framework/Monitoring/Stats/CounterStat.cs @@ -1,211 +1,228 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSimulator Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -using OpenMetaverse.StructuredData; - -namespace OpenSim.Framework.Monitoring -{ -// Create a time histogram of events. The histogram is built in a wrap-around -// array of equally distributed buckets. -// For instance, a minute long histogram of second sized buckets would be: -// new EventHistogram(60, 1000) -public class EventHistogram -{ - private int m_timeBase; - private int m_numBuckets; - private int m_bucketMilliseconds; - private int m_lastBucket; - private int m_totalHistogramMilliseconds; - private long[] m_histogram; - private object histoLock = new object(); - - public EventHistogram(int numberOfBuckets, int millisecondsPerBucket) - { - m_numBuckets = numberOfBuckets; - m_bucketMilliseconds = millisecondsPerBucket; - m_totalHistogramMilliseconds = m_numBuckets * m_bucketMilliseconds; - - m_histogram = new long[m_numBuckets]; - Zero(); - m_lastBucket = 0; - m_timeBase = Util.EnvironmentTickCount(); - } - - public void Event() - { - this.Event(1); - } - - // Record an event at time 'now' in the histogram. - public void Event(int cnt) - { - lock (histoLock) - { - // The time as displaced from the base of the histogram - int bucketTime = Util.EnvironmentTickCountSubtract(m_timeBase); - - // If more than the total time of the histogram, we just start over - if (bucketTime > m_totalHistogramMilliseconds) - { - Zero(); - m_lastBucket = 0; - m_timeBase = Util.EnvironmentTickCount(); - } - else - { - // To which bucket should we add this event? - int bucket = bucketTime / m_bucketMilliseconds; - - // Advance m_lastBucket to the new bucket. Zero any buckets skipped over. - while (bucket != m_lastBucket) - { - // Zero from just after the last bucket to the new bucket or the end - for (int jj = m_lastBucket + 1; jj <= Math.Min(bucket, m_numBuckets - 1); jj++) - { - m_histogram[jj] = 0; - } - m_lastBucket = bucket; - // If the new bucket is off the end, wrap around to the beginning - if (bucket > m_numBuckets) - { - bucket -= m_numBuckets; - m_lastBucket = 0; - m_histogram[m_lastBucket] = 0; - m_timeBase += m_totalHistogramMilliseconds; - } - } - } - m_histogram[m_lastBucket] += cnt; - } - } - - // Get a copy of the current histogram - public long[] GetHistogram() - { - long[] ret = new long[m_numBuckets]; - lock (histoLock) - { - int indx = m_lastBucket + 1; - for (int ii = 0; ii < m_numBuckets; ii++, indx++) - { - if (indx >= m_numBuckets) - indx = 0; - ret[ii] = m_histogram[indx]; - } - } - return ret; - } - - // Get a copy of the current histogram - public OSDArray GetHistogramAsOSDArray() - { - OSDArray ret = new OSDArray(m_numBuckets); - lock (histoLock) - { - int indx = m_lastBucket + 1; - for (int ii = 0; ii < m_numBuckets; ii++, indx++) - { - if (indx >= m_numBuckets) - indx = 0; - ret[ii] = OSD.FromLong(m_histogram[indx]); - } - } - return ret; - } - - // Zero out the histogram - public void Zero() - { - lock (histoLock) - { - for (int ii = 0; ii < m_numBuckets; ii++) - m_histogram[ii] = 0; - } - } -} - -// A statistic that wraps a counter. -// Built this way mostly so histograms and history can be created. -public class CounterStat : Stat -{ - private SortedDictionary m_histograms; - private object counterLock = new object(); - - public CounterStat( - string shortName, - string name, - string description, - string unitName, - string category, - string container, - StatVerbosity verbosity) - : base(shortName, name, description, unitName, category, container, StatType.Push, null, verbosity) - { - m_histograms = new SortedDictionary(); - } - - // Histograms are presumably added at intialization time and the list does not change thereafter. - // Thus no locking of the histogram list. - public void AddHistogram(string histoName, EventHistogram histo) - { - m_histograms.Add(histoName, histo); - } - - public delegate void ProcessHistogram(string name, EventHistogram histo); - public void ForEachHistogram(ProcessHistogram process) - { - foreach (KeyValuePair kvp in m_histograms) - { - process(kvp.Key, kvp.Value); - } - } - - public void Event() - { - this.Event(1); - } - - // Count the underlying counter. - public void Event(int cnt) - { - lock (counterLock) - { - base.Value += cnt; - - foreach (EventHistogram histo in m_histograms.Values) - { - histo.Event(cnt); - } - } - } -} -} +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +using OpenMetaverse.StructuredData; + +namespace OpenSim.Framework.Monitoring +{ +// Create a time histogram of events. The histogram is built in a wrap-around +// array of equally distributed buckets. +// For instance, a minute long histogram of second sized buckets would be: +// new EventHistogram(60, 1000) +public class EventHistogram +{ + private int m_timeBase; + private int m_numBuckets; + private int m_bucketMilliseconds; + private int m_lastBucket; + private int m_totalHistogramMilliseconds; + private long[] m_histogram; + private object histoLock = new object(); + + public EventHistogram(int numberOfBuckets, int millisecondsPerBucket) + { + m_numBuckets = numberOfBuckets; + m_bucketMilliseconds = millisecondsPerBucket; + m_totalHistogramMilliseconds = m_numBuckets * m_bucketMilliseconds; + + m_histogram = new long[m_numBuckets]; + Zero(); + m_lastBucket = 0; + m_timeBase = Util.EnvironmentTickCount(); + } + + public void Event() + { + this.Event(1); + } + + // Record an event at time 'now' in the histogram. + public void Event(int cnt) + { + lock (histoLock) + { + // The time as displaced from the base of the histogram + int bucketTime = Util.EnvironmentTickCountSubtract(m_timeBase); + + // If more than the total time of the histogram, we just start over + if (bucketTime > m_totalHistogramMilliseconds) + { + Zero(); + m_lastBucket = 0; + m_timeBase = Util.EnvironmentTickCount(); + } + else + { + // To which bucket should we add this event? + int bucket = bucketTime / m_bucketMilliseconds; + + // Advance m_lastBucket to the new bucket. Zero any buckets skipped over. + while (bucket != m_lastBucket) + { + // Zero from just after the last bucket to the new bucket or the end + for (int jj = m_lastBucket + 1; jj <= Math.Min(bucket, m_numBuckets - 1); jj++) + { + m_histogram[jj] = 0; + } + m_lastBucket = bucket; + // If the new bucket is off the end, wrap around to the beginning + if (bucket > m_numBuckets) + { + bucket -= m_numBuckets; + m_lastBucket = 0; + m_histogram[m_lastBucket] = 0; + m_timeBase += m_totalHistogramMilliseconds; + } + } + } + m_histogram[m_lastBucket] += cnt; + } + } + + // Get a copy of the current histogram + public long[] GetHistogram() + { + long[] ret = new long[m_numBuckets]; + lock (histoLock) + { + int indx = m_lastBucket + 1; + for (int ii = 0; ii < m_numBuckets; ii++, indx++) + { + if (indx >= m_numBuckets) + indx = 0; + ret[ii] = m_histogram[indx]; + } + } + return ret; + } + + public OSDMap GetHistogramAsOSDMap() + { + OSDMap ret = new OSDMap(); + + ret.Add("Buckets", OSD.FromInteger(m_numBuckets)); + ret.Add("BucketMilliseconds", OSD.FromInteger(m_bucketMilliseconds)); + ret.Add("TotalMilliseconds", OSD.FromInteger(m_totalHistogramMilliseconds)); + + // Compute a number for the first bucket in the histogram. + // This will allow readers to know how this histogram relates to any previously read histogram. + int baseBucketNum = (m_timeBase / m_bucketMilliseconds) + m_lastBucket + 1; + ret.Add("BaseNumber", OSD.FromInteger(baseBucketNum)); + + ret.Add("Values", GetHistogramAsOSDArray()); + + return ret; + } + // Get a copy of the current histogram + public OSDArray GetHistogramAsOSDArray() + { + OSDArray ret = new OSDArray(m_numBuckets); + lock (histoLock) + { + int indx = m_lastBucket + 1; + for (int ii = 0; ii < m_numBuckets; ii++, indx++) + { + if (indx >= m_numBuckets) + indx = 0; + ret[ii] = OSD.FromLong(m_histogram[indx]); + } + } + return ret; + } + + // Zero out the histogram + public void Zero() + { + lock (histoLock) + { + for (int ii = 0; ii < m_numBuckets; ii++) + m_histogram[ii] = 0; + } + } +} + +// A statistic that wraps a counter. +// Built this way mostly so histograms and history can be created. +public class CounterStat : Stat +{ + private SortedDictionary m_histograms; + private object counterLock = new object(); + + public CounterStat( + string shortName, + string name, + string description, + string unitName, + string category, + string container, + StatVerbosity verbosity) + : base(shortName, name, description, unitName, category, container, StatType.Push, null, verbosity) + { + m_histograms = new SortedDictionary(); + } + + // Histograms are presumably added at intialization time and the list does not change thereafter. + // Thus no locking of the histogram list. + public void AddHistogram(string histoName, EventHistogram histo) + { + m_histograms.Add(histoName, histo); + } + + public delegate void ProcessHistogram(string name, EventHistogram histo); + public void ForEachHistogram(ProcessHistogram process) + { + foreach (KeyValuePair kvp in m_histograms) + { + process(kvp.Key, kvp.Value); + } + } + + public void Event() + { + this.Event(1); + } + + // Count the underlying counter. + public void Event(int cnt) + { + lock (counterLock) + { + base.Value += cnt; + + foreach (EventHistogram histo in m_histograms.Values) + { + histo.Event(cnt); + } + } + } +} +} From 2aae046b95cc028f0eb495857d5659971e06f604 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sun, 24 Feb 2013 07:38:24 -0800 Subject: [PATCH 643/851] Make StatsManager default output a little more readable --- OpenSim/Framework/Monitoring/Stats/Stat.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Framework/Monitoring/Stats/Stat.cs b/OpenSim/Framework/Monitoring/Stats/Stat.cs index c8d91744c1..2e7665f5a1 100644 --- a/OpenSim/Framework/Monitoring/Stats/Stat.cs +++ b/OpenSim/Framework/Monitoring/Stats/Stat.cs @@ -211,7 +211,7 @@ namespace OpenSim.Framework.Monitoring public virtual string ToConsoleString() { StringBuilder sb = new StringBuilder(); - sb.AppendFormat("{0}.{1}.{2} : {3}{4}", Category, Container, ShortName, Value, UnitName); + sb.AppendFormat("{0}.{1}.{2} : {3} {4}", Category, Container, ShortName, Value, UnitName); AppendMeasuresOfInterest(sb); From b2495c9a1e79fe8d3ec23f87d6c8177302e77b01 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sun, 24 Feb 2013 07:43:01 -0800 Subject: [PATCH 644/851] Streamline stat registration code in ServerStats. Remove most of the usage of ProcessCounters which tend to fail oddly and are not supported everywhere. --- .../Framework/Monitoring/ServerStats.cs | 210 +++++------------- 1 file changed, 50 insertions(+), 160 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Framework/Monitoring/ServerStats.cs b/OpenSim/Region/OptionalModules/Framework/Monitoring/ServerStats.cs index 8f60c8d7d6..a3d24363b1 100644 --- a/OpenSim/Region/OptionalModules/Framework/Monitoring/ServerStats.cs +++ b/OpenSim/Region/OptionalModules/Framework/Monitoring/ServerStats.cs @@ -63,6 +63,7 @@ public class ServerStats : ISharedRegionModule public readonly string ContainerNetwork = "network"; public readonly string ContainerProcess = "process"; + public string NetworkInterfaceTypes = "Ethernet"; readonly int performanceCounterSampleInterval = 500; int lastperformanceCounterSampleTime = 0; @@ -86,20 +87,6 @@ public class ServerStats : ISharedRegionModule PerfCounterControl processorPercentPerfCounter = null; - PerfCounterControl processThreadCountPerfCounter = null; - PerfCounterControl processVirtualBytesPerfCounter = null; - PerfCounterControl processWorkingSetPerfCounter = null; - - PerfCounterControl dotNETCLRMemoryAllocatedBytesPerSecPerfCounter = null; - PerfCounterControl dotNETCLRMemoryGen0HeapSizePerfCounter = null; - PerfCounterControl dotNETCLRMemoryGen1HeapSizePerfCounter = null; - PerfCounterControl dotNETCLRMemoryGen2HeapSizePerfCounter = null; - - PerfCounterControl dotNETCLRLaTTotalContentionsPerfCounter = null; - PerfCounterControl dotNETCLRLaTContentionsPerSecPerfCounter = null; - PerfCounterControl dotNETCLRLaTLogicalThreadsPerfCounter = null; - PerfCounterControl dotNETCLRLaTPhysicalThreadsPerfCounter = null; - #region ISharedRegionModule // IRegionModuleBase.Name public string Name { get { return "Server Stats"; } } @@ -108,10 +95,15 @@ public class ServerStats : ISharedRegionModule // IRegionModuleBase.Initialize public void Initialise(IConfigSource source) { - IConfig cnfg = source.Configs["Statistics"]; + IConfig cfg = source.Configs["Monitoring"]; - if (cnfg != null) - Enabled = cnfg.GetBoolean("Enabled", true); + if (cfg != null) + Enabled = cfg.GetBoolean("ServerStatsEnabled", true); + + if (Enabled) + { + NetworkInterfaceTypes = cfg.GetString("NetworkInterfaceTypes", "Ethernet"); + } } // IRegionModuleBase.Close public void Close() @@ -148,6 +140,13 @@ public class ServerStats : ISharedRegionModule } #endregion ISharedRegionModule + private void MakeStat(string pName, string pUnit, string pContainer, Action act) + { + Stat stat = new Stat(pName, pName, "", pUnit, CategoryServer, pContainer, StatType.Pull, act, StatVerbosity.Info); + StatsManager.RegisterStat(stat); + RegisteredStats.Add(pName, stat); + } + public void RegisterServerStats() { lastperformanceCounterSampleTime = Util.EnvironmentTickCount(); @@ -157,7 +156,7 @@ public class ServerStats : ISharedRegionModule try { - tempName = "CPU_Percent"; + tempName = "CPUPercent"; tempPC = new PerformanceCounter("Processor", "% Processor Time", "_Total"); processorPercentPerfCounter = new PerfCounterControl(tempPC); // A long time bug in mono is that CPU percent is reported as CPU percent idle. Windows reports CPU percent busy. @@ -167,31 +166,17 @@ public class ServerStats : ISharedRegionModule StatsManager.RegisterStat(tempStat); RegisteredStats.Add(tempName, tempStat); - /* Performance counters are not the way to go. Ick. Find another way. - tempName = "Thread_Count"; - tempPC = new PerformanceCounter("Process", "Thread Count", AppDomain.CurrentDomain.FriendlyName); - processThreadCountPerfCounter = new PerfCounterControl(tempPC); - tempStat = new Stat("Thread_Count", "Thread_Count", "", "threads", CategoryServer, ContainerProcess, - StatType.Pull, (s) => { GetNextValue(s, processThreadCountPerfCounter); }, StatVerbosity.Info); - StatsManager.RegisterStat(tempStat); - RegisteredStats.Add(tempName, tempStat); + MakeStat("TotalProcessorTime", "sec", ContainerProcessor, + (s) => { s.Value = Process.GetCurrentProcess().TotalProcessorTime.TotalSeconds; }); - tempName = "Virtual_Bytes"; - tempPC = new PerformanceCounter("Process", "Virtual Bytes", AppDomain.CurrentDomain.FriendlyName); - processVirtualBytesPerfCounter = new PerfCounterControl(tempPC); - tempStat = new Stat("Virtual_Bytes", "Virtual_Bytes", "", "MB", CategoryServer, ContainerProcess, - StatType.Pull, (s) => { GetNextValue(s, processVirtualBytesPerfCounter, 1024.0*1024.0); }, StatVerbosity.Info); - StatsManager.RegisterStat(tempStat); - RegisteredStats.Add(tempName, tempStat); + MakeStat("UserProcessorTime", "sec", ContainerProcessor, + (s) => { s.Value = Process.GetCurrentProcess().UserProcessorTime.TotalSeconds; }); - tempName = "Working_Set"; - tempPC = new PerformanceCounter("Process", "Working Set", AppDomain.CurrentDomain.FriendlyName); - processWorkingSetPerfCounter = new PerfCounterControl(tempPC); - tempStat = new Stat("Working_Set", "Working_Set", "", "MB", CategoryServer, ContainerProcess, - StatType.Pull, (s) => { GetNextValue(s, processWorkingSetPerfCounter, 1024.0*1024.0); }, StatVerbosity.Info); - StatsManager.RegisterStat(tempStat); - RegisteredStats.Add(tempName, tempStat); - */ + MakeStat("PrivilegedProcessorTime", "sec", ContainerProcessor, + (s) => { s.Value = Process.GetCurrentProcess().PrivilegedProcessorTime.TotalSeconds; }); + + MakeStat("Threads", "threads", ContainerProcessor, + (s) => { s.Value = Process.GetCurrentProcess().Threads.Count; }); } catch (Exception e) { @@ -200,112 +185,33 @@ public class ServerStats : ISharedRegionModule try { - /* The ".NET CLR *" categories aren't working for me. - tempName = ""Bytes_Allocated_Per_Sec"; - tempPC = new PerformanceCounter(".NET CLR Memory", "Allocated Bytes/sec", AppDomain.CurrentDomain.FriendlyName); - dotNETCLRMemoryAllocatedBytesPerSecPerfCounter = new PerfCounterControl(tempPC, tempStat); - tempStat = new Stat(tempName, tempName, "", "bytes/sec", ServerCategory, MemoryContainer, - StatType.Pull, (s) => { GetNextValue(s, dotNETCLRMemoryAllocatedBytesPerSecPerfCounter); }, StatVerbosity.Info); - StatsManager.RegisterStat(tempStat); - RegisteredStats.Add(tempName, tempStat); + List okInterfaceTypes = new List(NetworkInterfaceTypes.Split(',')); - tempName = "Gen_0_Heap_Size"; - tempPC = new PerformanceCounter(".NET CLR Memory", "Gen 0 heap size", AppDomain.CurrentDomain.FriendlyName); - dotNETCLRMemoryGen0HeapSizePerfCounter = new PerfCounterControl(tempPC, tempStat); - tempStat = new Stat("Gen_0_Heap_Size", "Gen_0_Heap_Size", "", "bytes", ServerCategory, MemoryContainer, - StatType.Pull, (s) => { GetNextValue(s, dotNETCLRMemoryGen0HeapSizePerfCounter); }, StatVerbosity.Info); - StatsManager.RegisterStat(tempStat); - RegisteredStats.Add(tempName, tempStat); - - tempName = "Gen_1_Heap_Size"; - tempPC = new PerformanceCounter(".NET CLR Memory", "Gen 1 heap size", AppDomain.CurrentDomain.FriendlyName); - dotNETCLRMemoryGen1HeapSizePerfCounter = new PerfCounterControl(tempPC, tempStat); - tempStat = new Stat("Gen_1_Heap_Size", "Gen_1_Heap_Size", "", "bytes", ServerCategory, MemoryContainer, - StatType.Pull, (s) => { GetNextValue(s, dotNETCLRMemoryGen1HeapSizePerfCounter); }, StatVerbosity.Info); - StatsManager.RegisterStat(tempStat); - RegisteredStats.Add(tempName, tempStat); - - tempName = "Gen_2_Heap_Size"; - tempPC = new PerformanceCounter(".NET CLR Memory", "Gen 2 heap size", AppDomain.CurrentDomain.FriendlyName); - dotNETCLRMemoryGen2HeapSizePerfCounter = new PerfCounterControl(tempPC, tempStat); - tempStat = new Stat("Gen_2_Heap_Size", "Gen_2_Heap_Size", "", "bytes", ServerCategory, MemoryContainer, - StatType.Pull, (s) => { GetNextValue(s, dotNETCLRMemoryGen2HeapSizePerfCounter); }, StatVerbosity.Info); - StatsManager.RegisterStat(tempStat); - RegisteredStats.Add(tempName, tempStat); - - tempName = "Total_Lock_Contentions"; - tempPC = new PerformanceCounter(".NET CLR LocksAndThreads", "Total # of Contentions"); - dotNETCLRLaTTotalContentionsPerfCounter = new PerfCounterControl(tempPC, tempStat); - tempStat = new Stat("Total_Lock_Contentions", "Total_Lock_Contentions", "", "contentions", ServerCategory, ProcessContainer, - StatType.Pull, (s) => { GetNextValue(s, dotNETCLRLaTTotalContentionsPerfCounter); }, StatVerbosity.Info); - StatsManager.RegisterStat(tempStat); - RegisteredStats.Add(tempName, tempStat); - - tempName = "Lock_Contentions"; - tempPC = new PerformanceCounter(".NET CLR LocksAndThreads", "Contention Rate / sec"); - dotNETCLRLaTContentionsPerSecPerfCounter = new PerfCounterControl(tempPC, tempStat); - tempStat = new Stat("Lock_Contentions", "Lock_Contentions", "", "contentions/sec", ServerCategory, ProcessContainer, - StatType.Pull, (s) => { GetNextValue(s, dotNETCLRLaTContentionsPerSecPerfCounter); }, StatVerbosity.Info); - StatsManager.RegisterStat(tempStat); - RegisteredStats.Add(tempName, tempStat); - - tempName = "Logical_Threads"; - tempPC = new PerformanceCounter(".NET CLR LocksAndThreads", "# of current logical Threads"); - dotNETCLRLaTLogicalThreadsPerfCounter = new PerfCounterControl(tempPC, tempStat); - tempStat = new Stat("Logicial_Threads", "Logicial_Threads", "", "threads", ServerCategory, ProcessContainer, - StatType.Pull, (s) => { GetNextValue(s, dotNETCLRLaTLogicalThreadsPerfCounter); }, StatVerbosity.Info); - StatsManager.RegisterStat(tempStat); - RegisteredStats.Add(tempName, tempStat); - - tempName = "Physical_Threads"; - tempPC = new PerformanceCounter(".NET CLR LocksAndThreads", "# of current physical Threads"); - dotNETCLRLaTPhysicalThreadsPerfCounter = new PerfCounterControl(tempPC, tempStat); - tempStat = new Stat("Physical_Threads", "Physical_Threads", "", "threads", ServerCategory, ProcessContainer, - StatType.Pull, (s) => { GetNextValue(s, dotNETCLRLaTPhysicalThreadsPerfCounter); }, StatVerbosity.Info); - StatsManager.RegisterStat(tempStat); - RegisteredStats.Add(tempName, tempStat); - */ - } - catch (Exception e) - { - m_log.ErrorFormat("{0} Exception creating '.NET CLR Memory': {1}", LogHeader, e); - } - - try - { IEnumerable nics = NetworkInterface.GetAllNetworkInterfaces(); - // IEnumerable nics = NetworkInterface.GetAllNetworkInterfaces().Where( - // (network) => network.NetworkInterfaceType == NetworkInterfaceType.Ethernet); - // IEnumerable nics = NetworkInterface.GetAllNetworkInterfaces().Where( - // (network) => network.OperationalStatus == OperationalStatus.Up); - foreach (NetworkInterface nic in nics) { - if (nic.OperationalStatus != OperationalStatus.Up || nic.NetworkInterfaceType != NetworkInterfaceType.Ethernet) + if (nic.OperationalStatus != OperationalStatus.Up) continue; + string nicInterfaceType = nic.NetworkInterfaceType.ToString(); + if (!okInterfaceTypes.Contains(nicInterfaceType)) + { + m_log.DebugFormat("{0} Not including stats for network interface '{1}' of type '{2}'. To include, add to [Monitoring]NetworkInterfaceTypes='Ethernet,Loopback'", + LogHeader, nic.Name, nicInterfaceType); + continue; + } + if (nic.Supports(NetworkInterfaceComponent.IPv4)) { IPv4InterfaceStatistics nicStats = nic.GetIPv4Statistics(); if (nicStats != null) { - tempName = "Bytes_Rcvd/" + nic.Name; - tempStat = new Stat(tempName, tempName, nic.Name, "KB", CategoryServer, ContainerNetwork, - StatType.Pull, (s) => { LookupNic(s, (ns) => { return ns.BytesReceived; }, 1024.0); }, StatVerbosity.Info); - StatsManager.RegisterStat(tempStat); - RegisteredStats.Add(tempName, tempStat); - - tempName = "Bytes_Sent/" + nic.Name; - tempStat = new Stat(tempName, tempName, nic.Name, "KB", CategoryServer, ContainerNetwork, - StatType.Pull, (s) => { LookupNic(s, (ns) => { return ns.BytesSent; }, 1024.0); }, StatVerbosity.Info); - StatsManager.RegisterStat(tempStat); - RegisteredStats.Add(tempName, tempStat); - - tempName = "Total_Bytes/" + nic.Name; - tempStat = new Stat(tempName, tempName, nic.Name, "KB", CategoryServer, ContainerNetwork, - StatType.Pull, (s) => { LookupNic(s, (ns) => { return ns.BytesSent + ns.BytesReceived; }, 1024.0); }, StatVerbosity.Info); - StatsManager.RegisterStat(tempStat); - RegisteredStats.Add(tempName, tempStat); + MakeStat("BytesRcvd/" + nic.Name, "KB", ContainerNetwork, + (s) => { LookupNic(s, (ns) => { return ns.BytesReceived; }, 1024.0); }); + MakeStat("BytesSent/" + nic.Name, "KB", ContainerNetwork, + (s) => { LookupNic(s, (ns) => { return ns.BytesSent; }, 1024.0); }); + MakeStat("TotalBytes/" + nic.Name, "KB", ContainerNetwork, + (s) => { LookupNic(s, (ns) => { return ns.BytesSent + ns.BytesReceived; }, 1024.0); }); } } } @@ -315,30 +221,14 @@ public class ServerStats : ISharedRegionModule m_log.ErrorFormat("{0} Exception creating 'Network Interface': {1}", LogHeader, e); } - tempName = "Process_Memory"; - tempStat = new Stat(tempName, tempName, "", "MB", CategoryServer, ContainerMemory, - StatType.Pull, (s) => { s.Value = Process.GetCurrentProcess().WorkingSet64 / 1024d / 1024d; }, StatVerbosity.Info); - StatsManager.RegisterStat(tempStat); - RegisteredStats.Add(tempName, tempStat); - - tempName = "Object_Memory"; - tempStat = new Stat(tempName, tempName, "", "MB", CategoryServer, ContainerMemory, - StatType.Pull, (s) => { s.Value = GC.GetTotalMemory(false) / 1024d / 1024d; }, StatVerbosity.Info); - StatsManager.RegisterStat(tempStat); - RegisteredStats.Add(tempName, tempStat); - - tempName = "Last_Memory_Churn"; - tempStat = new Stat(tempName, tempName, "", "MB/sec", CategoryServer, ContainerMemory, - StatType.Pull, (s) => { s.Value = Math.Round(MemoryWatchdog.LastMemoryChurn * 1000d / 1024d / 1024d, 3); }, StatVerbosity.Info); - StatsManager.RegisterStat(tempStat); - RegisteredStats.Add(tempName, tempStat); - - tempName = "Average_Memory_Churn"; - tempStat = new Stat(tempName, tempName, "", "MB/sec", CategoryServer, ContainerMemory, - StatType.Pull, (s) => { s.Value = Math.Round(MemoryWatchdog.AverageMemoryChurn * 1000d / 1024d / 1024d, 3); }, StatVerbosity.Info); - StatsManager.RegisterStat(tempStat); - RegisteredStats.Add(tempName, tempStat); - + MakeStat("ProcessMemory", "MB", ContainerMemory, + (s) => { s.Value = Process.GetCurrentProcess().WorkingSet64 / 1024d / 1024d; }); + MakeStat("ObjectMemory", "MB", ContainerMemory, + (s) => { s.Value = GC.GetTotalMemory(false) / 1024d / 1024d; }); + MakeStat("LastMemoryChurn", "MB/sec", ContainerMemory, + (s) => { s.Value = Math.Round(MemoryWatchdog.LastMemoryChurn * 1000d / 1024d / 1024d, 3); }); + MakeStat("AverageMemoryChurn", "MB/sec", ContainerMemory, + (s) => { s.Value = Math.Round(MemoryWatchdog.AverageMemoryChurn * 1000d / 1024d / 1024d, 3); }); } // Notes on performance counters: From aa538fe36f92a7c047c9db8c98514de83cb5c3e7 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sun, 24 Feb 2013 07:45:37 -0800 Subject: [PATCH 645/851] Add StatsManager registration for region specific stats as collected by MonitorModule. Left existing functionality (command line and HTTP fetch) and just added StatsManager registration. --- .../Framework/Monitoring/MonitorModule.cs | 48 ++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/CoreModules/Framework/Monitoring/MonitorModule.cs b/OpenSim/Region/CoreModules/Framework/Monitoring/MonitorModule.cs index d84460a7a8..4c9ee067e2 100644 --- a/OpenSim/Region/CoreModules/Framework/Monitoring/MonitorModule.cs +++ b/OpenSim/Region/CoreModules/Framework/Monitoring/MonitorModule.cs @@ -33,6 +33,7 @@ using log4net; using Nini.Config; using OpenMetaverse; using OpenSim.Framework; +using OpenSim.Framework.Monitoring; using OpenSim.Framework.Servers; using OpenSim.Region.CoreModules.Framework.Monitoring.Alerts; using OpenSim.Region.CoreModules.Framework.Monitoring.Monitors; @@ -100,6 +101,7 @@ namespace OpenSim.Region.CoreModules.Framework.Monitoring "/monitorstats/" + Uri.EscapeDataString(m_scene.RegionInfo.RegionName), StatsPage); AddMonitors(); + RegisterStatsManagerRegionStatistics(); } public void RemoveRegion(Scene scene) @@ -109,6 +111,9 @@ namespace OpenSim.Region.CoreModules.Framework.Monitoring MainServer.Instance.RemoveHTTPHandler("GET", "/monitorstats/" + m_scene.RegionInfo.RegionID); MainServer.Instance.RemoveHTTPHandler("GET", "/monitorstats/" + Uri.EscapeDataString(m_scene.RegionInfo.RegionName)); + + UnRegisterStatsManagerRegionStatistics(); + m_scene = null; } @@ -399,6 +404,47 @@ namespace OpenSim.Region.CoreModules.Framework.Monitoring { m_log.Error("[Monitor] " + reporter.Name + " for " + m_scene.RegionInfo.RegionName + " reports " + reason + " (Fatal: " + fatal + ")"); } + + private List registeredStats = new List(); + private void MakeStat(string pName, string pUnitName, Action act) + { + Stat tempStat = new Stat(pName, pName, pName, pUnitName, "scene", m_scene.RegionInfo.RegionName, StatType.Pull, act, StatVerbosity.Info); + StatsManager.RegisterStat(tempStat); + registeredStats.Add(tempStat); + } + private void RegisterStatsManagerRegionStatistics() + { + string regionName = m_scene.RegionInfo.RegionName; + + MakeStat("RootAgents", "avatars", (s) => { s.Value = m_scene.SceneGraph.GetRootAgentCount(); }); + MakeStat("ChildAgents", "avatars", (s) => { s.Value = m_scene.SceneGraph.GetChildAgentCount(); }); + MakeStat("TotalPrims", "objects", (s) => { s.Value = m_scene.SceneGraph.GetTotalObjectsCount(); }); + MakeStat("ActivePrims", "objects", (s) => { s.Value = m_scene.SceneGraph.GetActiveObjectsCount(); }); + MakeStat("ActiveScripts", "scripts", (s) => { s.Value = m_scene.SceneGraph.GetActiveScriptsCount(); }); + + MakeStat("TimeDilation", "sec/sec", (s) => { s.Value = m_scene.StatsReporter.LastReportedSimStats[0]; }); + MakeStat("SimFPS", "fps", (s) => { s.Value = m_scene.StatsReporter.LastReportedSimStats[1]; }); + MakeStat("PhysicsFPS", "fps", (s) => { s.Value = m_scene.StatsReporter.LastReportedSimStats[2]; }); + MakeStat("AgentUpdates", "updates/sec", (s) => { s.Value = m_scene.StatsReporter.LastReportedSimStats[3]; }); + MakeStat("FrameTime", "ms/sec", (s) => { s.Value = m_scene.StatsReporter.LastReportedSimStats[8]; }); + MakeStat("NetTime", "ms/sec", (s) => { s.Value = m_scene.StatsReporter.LastReportedSimStats[9]; }); + MakeStat("OtherTime", "ms/sec", (s) => { s.Value = m_scene.StatsReporter.LastReportedSimStats[12]; }); + MakeStat("PhysicsTime", "ms/sec", (s) => { s.Value = m_scene.StatsReporter.LastReportedSimStats[10]; }); + MakeStat("AgentTime", "ms/sec", (s) => { s.Value = m_scene.StatsReporter.LastReportedSimStats[16]; }); + MakeStat("ImageTime", "ms/sec", (s) => { s.Value = m_scene.StatsReporter.LastReportedSimStats[11]; }); + MakeStat("ScriptLines", "lines/sec", (s) => { s.Value = m_scene.StatsReporter.LastReportedSimStats[20]; }); + MakeStat("SimSpareMS", "ms/sec", (s) => { s.Value = m_scene.StatsReporter.LastReportedSimStats[21]; }); + } + + private void UnRegisterStatsManagerRegionStatistics() + { + foreach (Stat stat in registeredStats) + { + StatsManager.DeregisterStat(stat); + stat.Dispose(); + } + registeredStats.Clear(); + } } -} +} \ No newline at end of file From f7aa018a783d2e04cdba6d23b9012695f1554061 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Mon, 25 Feb 2013 10:24:28 -0800 Subject: [PATCH 646/851] Fixes mantis #6551 -- misspelled key name. Also fixed an issue with the roles cache. --- .../Groups/Remote/GroupsServiceRemoteConnectorModule.cs | 2 +- .../Addons/Groups/Remote/GroupsServiceRobustConnector.cs | 2 +- OpenSim/Addons/Groups/RemoteConnectorCacheWrapper.cs | 9 ++++++++- OpenSim/Addons/Groups/Service/GroupsService.cs | 6 ++++++ 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/OpenSim/Addons/Groups/Remote/GroupsServiceRemoteConnectorModule.cs b/OpenSim/Addons/Groups/Remote/GroupsServiceRemoteConnectorModule.cs index d1c02db721..628ce4dd80 100644 --- a/OpenSim/Addons/Groups/Remote/GroupsServiceRemoteConnectorModule.cs +++ b/OpenSim/Addons/Groups/Remote/GroupsServiceRemoteConnectorModule.cs @@ -273,7 +273,7 @@ namespace OpenSim.Groups public bool AddGroupRole(string RequestingAgentID, UUID groupID, UUID roleID, string name, string description, string title, ulong powers, out string reason) { string r = string.Empty; - bool success = m_CacheWrapper.AddGroupRole(roleID, description, name, powers, title, delegate + bool success = m_CacheWrapper.AddGroupRole(groupID, roleID, description, name, powers, title, delegate { return m_GroupsService.AddGroupRole(RequestingAgentID, groupID, roleID, name, description, title, powers, out r); }); diff --git a/OpenSim/Addons/Groups/Remote/GroupsServiceRobustConnector.cs b/OpenSim/Addons/Groups/Remote/GroupsServiceRobustConnector.cs index 8c257edcc0..f991d016f0 100644 --- a/OpenSim/Addons/Groups/Remote/GroupsServiceRobustConnector.cs +++ b/OpenSim/Addons/Groups/Remote/GroupsServiceRobustConnector.cs @@ -371,7 +371,7 @@ namespace OpenSim.Groups Dictionary result = new Dictionary(); if (!request.ContainsKey("RequestingAgentID") || !request.ContainsKey("GroupID") || !request.ContainsKey("RoleID") || - !request.ContainsKey("Name") || !request.ContainsKey("Descrption") || !request.ContainsKey("Title") || + !request.ContainsKey("Name") || !request.ContainsKey("Description") || !request.ContainsKey("Title") || !request.ContainsKey("Powers") || !request.ContainsKey("OP")) NullResult(result, "Bad network data"); diff --git a/OpenSim/Addons/Groups/RemoteConnectorCacheWrapper.cs b/OpenSim/Addons/Groups/RemoteConnectorCacheWrapper.cs index f789626d07..e7d38c2020 100644 --- a/OpenSim/Addons/Groups/RemoteConnectorCacheWrapper.cs +++ b/OpenSim/Addons/Groups/RemoteConnectorCacheWrapper.cs @@ -393,7 +393,7 @@ namespace OpenSim.Groups } } - public bool AddGroupRole(UUID roleID, string description, string name, ulong powers, string title, BooleanDelegate d) + public bool AddGroupRole(UUID groupID, UUID roleID, string description, string name, ulong powers, string title, BooleanDelegate d) { if (d()) { @@ -406,8 +406,15 @@ namespace OpenSim.Groups role.Title = title; lock (m_Cache) + { m_Cache.AddOrUpdate("role-" + roleID.ToString(), role, GROUPS_CACHE_TIMEOUT); + // also remove this list + if (m_Cache.Contains("roles-" + groupID.ToString())) + m_Cache.Remove("roles-" + groupID.ToString()); + + } + return true; } diff --git a/OpenSim/Addons/Groups/Service/GroupsService.cs b/OpenSim/Addons/Groups/Service/GroupsService.cs index fc567dd6c3..0668870ef1 100644 --- a/OpenSim/Addons/Groups/Service/GroupsService.cs +++ b/OpenSim/Addons/Groups/Service/GroupsService.cs @@ -785,10 +785,16 @@ namespace OpenSim.Groups RoleData data = m_Database.RetrieveRole(groupID, roleID); if (add && data != null) // it already exists, can't create + { + m_log.DebugFormat("[Groups]: Group {0} already exists. Can't create it again", groupID); return false; + } if (!add && data == null) // it deosn't exist, can't update + { + m_log.DebugFormat("[Groups]: Group {0} doesn't exist. Can't update it", groupID); return false; + } if (add) data = new RoleData(); From 53470d5057d7b325abe781ef2377ac1e9b273cac Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Mon, 25 Feb 2013 10:25:36 -0800 Subject: [PATCH 647/851] Missing var in [LoginService] for HG Robust. --- bin/Robust.HG.ini.example | 1 + 1 file changed, 1 insertion(+) diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 445020faf4..53676a32c4 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -333,6 +333,7 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset SRV_ProfileServerURI = "http://127.0.0.1:8002" SRV_FriendsServerURI = "http://127.0.0.1:8002" SRV_IMServerURI = "http://127.0.0.1:8002" + SRV_GroupsServerURI = "http://127.0.0.1:8002" ;; Regular expressions for controlling which client versions are accepted/denied. ;; An empty string means nothing is checked. From d0cb4fc3262df2afe2ef34396c7960f7afee6b89 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Mon, 25 Feb 2013 23:04:38 +0000 Subject: [PATCH 648/851] Move map related settings from [Startup] to a new [Map] section in OpenSim.ini Existing map settings in [Startup] will continue to work, and if present will override anything in [Map] However, the proper place for such settings would now be [Map] This is to reduce the use of [Startup] as a bag for non-generic settings which should really go in sections, in common with other settings. This commit also extends Diva's previous work to allow a default setting to be given when looking at multiple sections for settings. --- OpenSim/Framework/Util.cs | 27 +++++++-- .../CoreModules/Hypergrid/HGWorldMapModule.cs | 4 +- .../World/LegacyMap/MapImageModule.cs | 24 ++++---- .../World/Warp3DMap/Warp3DImageModule.cs | 20 +++---- .../World/WorldMap/WorldMapModule.cs | 9 ++- OpenSim/Region/Framework/Scenes/Scene.cs | 11 +++- bin/OpenSim.ini.example | 55 ++++++++++--------- bin/OpenSimDefaults.ini | 50 ++++++++--------- 8 files changed, 109 insertions(+), 91 deletions(-) diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs index 8b8e50756d..0fa54b246d 100644 --- a/OpenSim/Framework/Util.cs +++ b/OpenSim/Framework/Util.cs @@ -917,7 +917,25 @@ namespace OpenSim.Framework /// public static T GetConfigVarFromSections(IConfigSource config, string varname, string[] sections) { - object val = default(T); + return GetConfigVarFromSections(config, varname, sections, default(T)); + } + + /// + /// Gets the value of a configuration variable by looking into + /// multiple sections in order. The latter sections overwrite + /// any values previously found. + /// + /// + /// If no value is found then the given default value is returned + /// + /// Type of the variable + /// The configuration object + /// The configuration variable + /// Ordered sequence of sections to look at + /// Default value + /// + public static T GetConfigVarFromSections(IConfigSource config, string varname, string[] sections, object val) + { foreach (string section in sections) { IConfig cnf = config.Configs[section]; @@ -925,11 +943,7 @@ namespace OpenSim.Framework continue; if (typeof(T) == typeof(String)) - { - if (val == null) // no null strings, please - val = string.Empty; val = cnf.GetString(varname, (string)val); - } else if (typeof(T) == typeof(Boolean)) val = cnf.GetBoolean(varname, (bool)val); else if (typeof(T) == typeof(Int32)) @@ -937,8 +951,9 @@ namespace OpenSim.Framework else if (typeof(T) == typeof(float)) val = cnf.GetFloat(varname, (int)val); else - m_log.WarnFormat("[UTIL]: Unhandled type {0}", typeof(T)); + m_log.ErrorFormat("[UTIL]: Unhandled type {0}", typeof(T)); } + return (T)val; } diff --git a/OpenSim/Region/CoreModules/Hypergrid/HGWorldMapModule.cs b/OpenSim/Region/CoreModules/Hypergrid/HGWorldMapModule.cs index e0921adf51..c4255b951d 100644 --- a/OpenSim/Region/CoreModules/Hypergrid/HGWorldMapModule.cs +++ b/OpenSim/Region/CoreModules/Hypergrid/HGWorldMapModule.cs @@ -52,8 +52,8 @@ namespace OpenSim.Region.CoreModules.Hypergrid public override void Initialise(IConfigSource config) { - IConfig startupConfig = config.Configs["Startup"]; - if (startupConfig.GetString("WorldMapModule", "WorldMap") == "HGWorldMap") + if (Util.GetConfigVarFromSections( + config, "WorldMapModule", new string[] { "Map", "Startup" }, "WorldMap") == "HGWorldMap") m_Enabled = true; } diff --git a/OpenSim/Region/CoreModules/World/LegacyMap/MapImageModule.cs b/OpenSim/Region/CoreModules/World/LegacyMap/MapImageModule.cs index e7065dcd27..40638f8dea 100644 --- a/OpenSim/Region/CoreModules/World/LegacyMap/MapImageModule.cs +++ b/OpenSim/Region/CoreModules/World/LegacyMap/MapImageModule.cs @@ -80,17 +80,14 @@ namespace OpenSim.Region.CoreModules.World.LegacyMap bool generateMaptiles = true; Bitmap mapbmp; - try - { - IConfig startupConfig = m_config.Configs["Startup"]; - drawPrimVolume = startupConfig.GetBoolean("DrawPrimOnMapTile", drawPrimVolume); - textureTerrain = startupConfig.GetBoolean("TextureOnMapTile", textureTerrain); - generateMaptiles = startupConfig.GetBoolean("GenerateMaptiles", generateMaptiles); - } - catch - { - m_log.Warn("[MAPTILE]: Failed to load StartupConfig"); - } + string[] configSections = new string[] { "Map", "Startup" }; + + drawPrimVolume + = Util.GetConfigVarFromSections(m_config, "DrawPrimOnMapTile", configSections, drawPrimVolume); + textureTerrain + = Util.GetConfigVarFromSections(m_config, "TextureOnMapTile", configSections, textureTerrain); + generateMaptiles + = Util.GetConfigVarFromSections(m_config, "GenerateMaptiles", configSections, generateMaptiles); if (generateMaptiles) { @@ -148,9 +145,8 @@ namespace OpenSim.Region.CoreModules.World.LegacyMap { m_config = source; - IConfig startupConfig = m_config.Configs["Startup"]; - if (startupConfig.GetString("MapImageModule", "MapImageModule") != - "MapImageModule") + if (Util.GetConfigVarFromSections( + m_config, "MapImageModule", new string[] { "Startup", "Map" }, "MapImageModule") != "MapImageModule") return; m_Enabled = true; diff --git a/OpenSim/Region/CoreModules/World/Warp3DMap/Warp3DImageModule.cs b/OpenSim/Region/CoreModules/World/Warp3DMap/Warp3DImageModule.cs index 5e0dfa76a5..ed2b06aac2 100644 --- a/OpenSim/Region/CoreModules/World/Warp3DMap/Warp3DImageModule.cs +++ b/OpenSim/Region/CoreModules/World/Warp3DMap/Warp3DImageModule.cs @@ -71,8 +71,8 @@ namespace OpenSim.Region.CoreModules.World.Warp3DMap { m_config = source; - IConfig startupConfig = m_config.Configs["Startup"]; - if (startupConfig.GetString("MapImageModule", "MapImageModule") != "Warp3DImageModule") + if (Util.GetConfigVarFromSections( + m_config, "MapImageModule", new string[] { "Startup", "Map" }, "MapImageModule") != "Warp3DImageModule") return; m_Enabled = true; @@ -143,16 +143,12 @@ namespace OpenSim.Region.CoreModules.World.Warp3DMap bool drawPrimVolume = true; bool textureTerrain = true; - try - { - IConfig startupConfig = m_config.Configs["Startup"]; - drawPrimVolume = startupConfig.GetBoolean("DrawPrimOnMapTile", drawPrimVolume); - textureTerrain = startupConfig.GetBoolean("TextureOnMapTile", textureTerrain); - } - catch - { - m_log.Warn("[WARP 3D IMAGE MODULE]: Failed to load StartupConfig"); - } + string[] configSections = new string[] { "Map", "Startup" }; + + drawPrimVolume + = Util.GetConfigVarFromSections(m_config, "DrawPrimOnMapTile", configSections, drawPrimVolume); + textureTerrain + = Util.GetConfigVarFromSections(m_config, "TextureOnMapTile", configSections, textureTerrain); m_colors.Clear(); diff --git a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs index e2f525cf47..912d50ae08 100644 --- a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs +++ b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs @@ -86,11 +86,14 @@ namespace OpenSim.Region.CoreModules.World.WorldMap #region INonSharedRegionModule Members public virtual void Initialise (IConfigSource config) { - IConfig startupConfig = config.Configs["Startup"]; - if (startupConfig.GetString("WorldMapModule", "WorldMap") == "WorldMap") + string[] configSections = new string[] { "Map", "Startup" }; + + if (Util.GetConfigVarFromSections( + config, "WorldMapModule", configSections, "WorldMap") == "WorldMap") m_Enabled = true; - blacklistTimeout = startupConfig.GetInt("BlacklistTimeout", 10*60) * 1000; + blacklistTimeout + = Util.GetConfigVarFromSections(config, "BlacklistTimeout", configSections, 10 * 60) * 1000; } public virtual void AddRegion (Scene scene) diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 9b17b7f650..5b615388d6 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -897,7 +897,11 @@ namespace OpenSim.Region.Framework.Scenes m_strictAccessControl = startupConfig.GetBoolean("StrictAccessControl", m_strictAccessControl); - m_generateMaptiles = startupConfig.GetBoolean("GenerateMaptiles", true); + string[] possibleMapConfigSections = new string[] { "Map", "Startup" }; + + m_generateMaptiles + = Util.GetConfigVarFromSections(config, "GenerateMaptiles", possibleMapConfigSections, true); + if (m_generateMaptiles) { int maptileRefresh = startupConfig.GetInt("MaptileRefresh", 0); @@ -911,7 +915,10 @@ namespace OpenSim.Region.Framework.Scenes } else { - string tile = startupConfig.GetString("MaptileStaticUUID", UUID.Zero.ToString()); + string tile + = Util.GetConfigVarFromSections( + config, "MaptileStaticUUID", possibleMapConfigSections, UUID.Zero.ToString()); + UUID tileID; if (tile != UUID.Zero.ToString() && UUID.TryParse(tile, out tileID)) diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 5aeae8a1f0..2756b32c75 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -268,32 +268,6 @@ ;; Default script engine to use. Currently, we only have XEngine ; DefaultScriptEngine = "XEngine" - ;# {GenerateMaptiles} {} {Generate map tiles?} {true false} true - ;; Map tile options. You can choose to generate normal maptiles or nominate an uploaded texture to - ;; be the map tile using the MaptileStaticUUID parameter in this section or for individual regions in - ;; the regions config file(s). If you do not want to upload map tiles at all, then you will need - ;; to disable the MapImageServiceModule entirely. - ; GenerateMaptiles = true - - ;# {MaptileRefresh} {GenerateMaptiles} {Maptile refresh period?} {} 0 - ;; If desired, a running region can update the map tiles periodically - ;; to reflect building activity. This names no sense of you don't have - ;; prims on maptiles. Value is in seconds. - ; MaptileRefresh = 0 - - ;# {MaptileStaticUUID} {} {Asset ID for static map texture} {} 00000000-0000-0000-0000-000000000000 - ;; If not generating maptiles, use this static texture asset ID - ; MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" - - ;# {TextureOnMapTile} {} {Use terrain textures for map tiles?} {true false} true - ;; Use terrain texture for maptiles if true, use shaded green if false - ; TextureOnMapTile = true - - ;# {DrawPrimOnMapTile} {} {Draw prim shapes on map tiles?} {true false} false - ;; Draw objects on maptile. This step might take a long time if you've - ;; got a large number of objects, so you can turn it off here if you'd like. - ; DrawPrimOnMapTile = true - ;# {HttpProxy} {} {Proxy URL for llHTTPRequest and dynamic texture loading} {} http://proxy.com:8080 ;; Http proxy setting for llHTTPRequest and dynamic texture loading, if ;; required @@ -362,6 +336,35 @@ ;; This is a default that can be overwritten in some sections. ; GatekeeperURI = "http://127.0.0.1:9000" + +[Map] + ;# {GenerateMaptiles} {} {Generate map tiles?} {true false} true + ;; Map tile options. You can choose to generate normal maptiles or nominate an uploaded texture to + ;; be the map tile using the MaptileStaticUUID parameter in this section or for individual regions in + ;; the regions config file(s). If you do not want to upload map tiles at all, then you will need + ;; to disable the MapImageServiceModule entirely. + ; GenerateMaptiles = true + + ;# {MaptileRefresh} {GenerateMaptiles} {Maptile refresh period?} {} 0 + ;; If desired, a running region can update the map tiles periodically + ;; to reflect building activity. This names no sense of you don't have + ;; prims on maptiles. Value is in seconds. + ; MaptileRefresh = 0 + + ;# {MaptileStaticUUID} {} {Asset ID for static map texture} {} 00000000-0000-0000-0000-000000000000 + ;; If not generating maptiles, use this static texture asset ID + ; MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" + + ;# {TextureOnMapTile} {} {Use terrain textures for map tiles?} {true false} true + ;; Use terrain texture for maptiles if true, use shaded green if false + ; TextureOnMapTile = true + + ;# {DrawPrimOnMapTile} {} {Draw prim shapes on map tiles?} {true false} false + ;; Draw objects on maptile. This step might take a long time if you've + ;; got a large number of objects, so you can turn it off here if you'd like. + ; DrawPrimOnMapTile = true + + [Estates] ; If these values are commented out then the user will be asked for estate details when required (this is the normal case). ; If these values are uncommented then they will be used to create a default estate as necessary. diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 2512428757..6ecb5dfc87 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -284,32 +284,6 @@ DefaultScriptEngine = "XEngine" - ; ## - ; ## WORLD MAP - ; ## - - ;WorldMapModule = "WorldMap" - ;MapImageModule = "MapImageModule" - - ; World map blacklist timeout in seconds - ;BlacklistTimeout = 600 - - ; Set to false to not generate any maptiles - ;GenerateMaptiles = true - - ; Refresh (in seconds) the map tile periodically - ;MaptileRefresh = 0 - - ; If not generating maptiles, use this static texture asset ID - ;MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" - - ; Draw objects on maptile. This step might take a long time if you've got a large number of - ; objects, so you can turn it off here if you'd like. - DrawPrimOnMapTile = true - - ; Use terrain texture for maptiles if true, use shaded green if false - TextureOnMapTile = true - ; ## ; ## EMAIL MODULE ; ## @@ -347,6 +321,30 @@ UseTrashOnDelete = True +[Map] + ;WorldMapModule = "WorldMap" + ;MapImageModule = "MapImageModule" + + ; World map blacklist timeout in seconds + ;BlacklistTimeout = 600 + + ; Set to false to not generate any maptiles + ;GenerateMaptiles = true + + ; Refresh (in seconds) the map tile periodically + ;MaptileRefresh = 0 + + ; If not generating maptiles, use this static texture asset ID + ;MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" + + ; Draw objects on maptile. This step might take a long time if you've got a large number of + ; objects, so you can turn it off here if you'd like. + DrawPrimOnMapTile = true + + ; Use terrain texture for maptiles if true, use shaded green if false + TextureOnMapTile = true + + [RegionReady] ; Enable this module to get notified once all items and scripts in the region have been completely loaded and compiled enabled = true From 00da59ae52e2a7f205376e7cc2e450e94e13754b Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Mon, 25 Feb 2013 16:27:41 -0800 Subject: [PATCH 649/851] Mantis #6552 -- stricter error (crash) if server URL is malformed. --- .../Groups/Remote/GroupsServiceRemoteConnectorModule.cs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/OpenSim/Addons/Groups/Remote/GroupsServiceRemoteConnectorModule.cs b/OpenSim/Addons/Groups/Remote/GroupsServiceRemoteConnectorModule.cs index 628ce4dd80..f1cf66c5ba 100644 --- a/OpenSim/Addons/Groups/Remote/GroupsServiceRemoteConnectorModule.cs +++ b/OpenSim/Addons/Groups/Remote/GroupsServiceRemoteConnectorModule.cs @@ -74,11 +74,8 @@ namespace OpenSim.Groups { IConfig groupsConfig = config.Configs["Groups"]; string url = groupsConfig.GetString("GroupsServerURI", string.Empty); - if (url == string.Empty) - { - m_log.WarnFormat("[Groups.RemoteConnector]: Groups server URL not provided. Groups will not work."); - return; - } + if (!Uri.IsWellFormedUriString(url, UriKind.Absolute)) + throw new Exception(string.Format("[Groups.RemoteConnector]: Malformed groups server URL {0}. Fix it or disable the Groups feature.", url)); m_GroupsService = new GroupsServiceRemoteConnector(url); m_Scenes = new List(); From 2b53f08386baddeda7e0fa19a3072477c2829080 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Mon, 25 Feb 2013 21:58:00 -0800 Subject: [PATCH 650/851] BulletSim: tweeks to make avatar jump work better. --- OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs index 1f186c371c..f442ca22df 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs @@ -204,7 +204,7 @@ public sealed class BSCharacter : BSPhysObject // move. Thus, the velocity cannot be forced to zero. The problem is that small velocity // errors can creap in and the avatar will slowly float off in some direction. // So, the problem is that, when an avatar is standing, we cannot tell creaping error - // from real pushing.OMV.Vector3.Zero; + // from real pushing. // The code below keeps setting the velocity to zero hoping the world will keep pushing. _velocityMotor.Step(timeStep); @@ -254,9 +254,11 @@ public sealed class BSCharacter : BSPhysObject } // If falling, we keep the world's downward vector no matter what the other axis specify. + // The check for _velocity.Z < 0 makes jumping work (temporary upward force). if (!Flying && !IsColliding) { - stepVelocity.Z = _velocity.Z; + if (_velocity.Z < 0) + stepVelocity.Z = _velocity.Z; // DetailLog("{0},BSCharacter.MoveMotor,taint,overrideStepZWithWorldZ,stepVel={1}", LocalID, stepVelocity); } @@ -512,7 +514,7 @@ public sealed class BSCharacter : BSPhysObject // just assign to "Position" because of potential call loops. PhysicsScene.TaintedObject(inTaintTime, "BSCharacter.PositionSanityCheck", delegate() { - DetailLog("{0},BSCharacter.PositionSanityCheck,taint,pos={1},orient={2}", LocalID, _position, _orientation); + DetailLog("{0},BSCharacter.PositionSanityCheck,taint,pos={1},orient={2}", LocalID, _position, _orientation); ForcePosition = _position; }); ret = true; @@ -572,7 +574,7 @@ public sealed class BSCharacter : BSPhysObject m_targetVelocity = value; OMV.Vector3 targetVel = value; if (_setAlwaysRun) - targetVel *= BSParam.AvatarAlwaysRunFactor; + targetVel *= new OMV.Vector3(BSParam.AvatarAlwaysRunFactor, BSParam.AvatarAlwaysRunFactor, 0f); PhysicsScene.TaintedObject("BSCharacter.setTargetVelocity", delegate() { From bf9132e1c7a1ddaf291101f60f43c0cbd0f53662 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Tue, 26 Feb 2013 11:32:01 -0800 Subject: [PATCH 651/851] BulletSim: fix crash around race condition when a mesh asset cannot be fetched. Update TODO list. --- OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs | 2 +- .../Physics/BulletSPlugin/BulletSimTODO.txt | 18 +++++++++++------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs index 4dff9278f1..8f660c4be5 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs @@ -470,7 +470,7 @@ public class BSPrim : BSPhysObject // Note that this does not change _mass! public override void UpdatePhysicalMassProperties(float physMass, bool inWorld) { - if (PhysBody.HasPhysicalBody) + if (PhysBody.HasPhysicalBody && PhysShape.HasPhysicalShape) { if (IsStatic) { diff --git a/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt index 49718c4e0f..4dc16f4fce 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt +++ b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt @@ -1,5 +1,12 @@ CURRENT PRIORITIES ================================================= +Use the HACD convex hull routine in Bullet rather than the C# version. + Speed up hullifying large meshes. +Enable vehicle border crossings (at least as poorly as ODE) + Terrain skirts + Avatar created in previous region and not new region when crossing border + Vehicle recreated in new sim at small Z value (offset from root value?) (DONE) +Lock axis Deleting a linkset while standing on the root will leave the physical shape of the root behind. Not sure if it is because standing on it. Done with large prim linksets. Vehicle angular vertical attraction @@ -7,16 +14,11 @@ vehicle angular banking Center-of-gravity Vehicle angular deflection Preferred orientation angular correction fix -Enable vehicle border crossings (at least as poorly as ODE) - Terrain skirts - Avatar created in previous region and not new region when crossing border - Vehicle recreated in new sim at small Z value (offset from root value?) (DONE) when should angular and linear motor targets be zeroed? when selected? Need a vehicle.clear()? Or an 'else' in prestep if not physical. Teravus llMoveToTarget script debug Mixing of hover, buoyancy/gravity, moveToTarget, into one force Setting hover height to zero disables hover even if hover flags are on (from SL wiki) -Nebadon vehicles turning funny in arena limitMotorUp calibration (more down?) llRotLookAt llLookAt @@ -66,6 +68,8 @@ Vehicle attributes are not restored when a vehicle is rezzed on region creation GENERAL TODO LIST: ================================================= +Resitution of a prim works on another prim but not on terrain. + The dropped prim doesn't bounce properly on the terrain. Add a sanity check for PIDTarget location. Level-of-detail for mesh creation. Prims with circular interiors require lod of 32. Is much saved with lower LODs? At the moment, all set to 32. @@ -163,7 +167,6 @@ Create tests for different interface components Have test objects/scripts measure themselves and turn color if correct/bad Test functions in SL and calibrate correctness there Create auto rezzer and tracker to run through the tests -Use the HACD convex hull routine in Bullet rather than the C# version. Do we need to do convex hulls all the time? Can complex meshes be left meshes? There is some problem with meshes and collisions Hulls are not as detailed as meshes. Hulled vehicles insides are different shape. @@ -334,4 +337,5 @@ Child movement in linkset (don't rebuild linkset) (DONE 20130122)) Avatar standing on a moving object should start to move with the object. (DONE 20130125) Angular motion around Z moves the vehicle in world Z and not vehicle Z in ODE. Verify that angular motion specified around Z moves in the vehicle coordinates. - DONE 20130120: BulletSim properly applies force in vehicle relative coordinates. \ No newline at end of file + DONE 20130120: BulletSim properly applies force in vehicle relative coordinates. +Nebadon vehicles turning funny in arena (DONE) \ No newline at end of file From b8a7c8b26f3005eed5b161c37509b06b1d604967 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Tue, 26 Feb 2013 23:36:36 +0000 Subject: [PATCH 652/851] Add regression test for llRequestUrl() --- .../Scripting/LSLHttp/UrlModule.cs | 37 ++++++------ .../Framework/Interfaces/IScriptModule.cs | 11 ++++ .../Shared/Api/Implementation/LSL_Api.cs | 1 + OpenSim/Tests/Common/Mock/MockScriptEngine.cs | 57 +++++++++++++++++-- prebuild.xml | 2 + 5 files changed, 86 insertions(+), 22 deletions(-) diff --git a/OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs b/OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs index be617a5c6d..79e633f2f0 100644 --- a/OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs +++ b/OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs @@ -122,15 +122,11 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp /// private int m_TotalUrls = 100; - private uint https_port = 0; + private uint m_HttpsPort = 0; private IHttpServer m_HttpServer = null; private IHttpServer m_HttpsServer = null; - private string m_ExternalHostNameForLSL = ""; - public string ExternalHostNameForLSL - { - get { return m_ExternalHostNameForLSL; } - } + public string ExternalHostNameForLSL { get; private set; } public Type ReplaceableInterface { @@ -144,11 +140,20 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp public void Initialise(IConfigSource config) { - m_ExternalHostNameForLSL = config.Configs["Network"].GetString("ExternalHostNameForLSL", System.Environment.MachineName); - bool ssl_enabled = config.Configs["Network"].GetBoolean("https_listener",false); + IConfig networkConfig = config.Configs["Network"]; - if (ssl_enabled) - https_port = (uint) config.Configs["Network"].GetInt("https_port",0); + if (networkConfig != null) + { + ExternalHostNameForLSL = config.Configs["Network"].GetString("ExternalHostNameForLSL", null); + + bool ssl_enabled = config.Configs["Network"].GetBoolean("https_listener", false); + + if (ssl_enabled) + m_HttpsPort = (uint)config.Configs["Network"].GetInt("https_port", (int)m_HttpsPort); + } + + if (ExternalHostNameForLSL == null) + ExternalHostNameForLSL = System.Environment.MachineName; IConfig llFunctionsConfig = config.Configs["LL-Functions"]; @@ -169,9 +174,9 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp m_HttpServer = MainServer.Instance; // // We can use the https if it is enabled - if (https_port > 0) + if (m_HttpsPort > 0) { - m_HttpsServer = MainServer.GetHttpServer(https_port); + m_HttpsServer = MainServer.GetHttpServer(m_HttpsPort); } } @@ -209,7 +214,7 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp engine.PostScriptEvent(itemID, "http_request", new Object[] { urlcode.ToString(), "URL_REQUEST_DENIED", "" }); return urlcode; } - string url = "http://" + m_ExternalHostNameForLSL + ":" + m_HttpServer.Port.ToString() + "/lslhttp/" + urlcode.ToString() + "/"; + string url = "http://" + ExternalHostNameForLSL + ":" + m_HttpServer.Port.ToString() + "/lslhttp/" + urlcode.ToString() + "/"; UrlData urlData = new UrlData(); urlData.hostID = host.UUID; @@ -254,7 +259,7 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp engine.PostScriptEvent(itemID, "http_request", new Object[] { urlcode.ToString(), "URL_REQUEST_DENIED", "" }); return urlcode; } - string url = "https://" + m_ExternalHostNameForLSL + ":" + m_HttpsServer.Port.ToString() + "/lslhttps/" + urlcode.ToString() + "/"; + string url = "https://" + ExternalHostNameForLSL + ":" + m_HttpsServer.Port.ToString() + "/lslhttps/" + urlcode.ToString() + "/"; UrlData urlData = new UrlData(); urlData.hostID = host.UUID; @@ -579,9 +584,9 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp string url; if (is_ssl) - url = "https://" + m_ExternalHostNameForLSL + ":" + m_HttpsServer.Port.ToString() + uri_tmp; + url = "https://" + ExternalHostNameForLSL + ":" + m_HttpsServer.Port.ToString() + uri_tmp; else - url = "http://" + m_ExternalHostNameForLSL + ":" + m_HttpServer.Port.ToString() + uri_tmp; + url = "http://" + ExternalHostNameForLSL + ":" + m_HttpServer.Port.ToString() + uri_tmp; // Avoid a race - the request URL may have been released via llRequestUrl() whilst this // request was being processed. diff --git a/OpenSim/Region/Framework/Interfaces/IScriptModule.cs b/OpenSim/Region/Framework/Interfaces/IScriptModule.cs index 143af48d99..ced4e91e6d 100644 --- a/OpenSim/Region/Framework/Interfaces/IScriptModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IScriptModule.cs @@ -52,7 +52,18 @@ namespace OpenSim.Region.Framework.Interfaces string GetXMLState(UUID itemID); bool SetXMLState(UUID itemID, string xml); + /// + /// Post a script event to a single script. + /// + /// true if the post suceeded, false if it did not + /// The item ID of the script. + /// The name of the event. + /// + /// The arguments of the event. These are in the order in which they appear. + /// e.g. for http_request this will be an object array of key request_id, string method, string body + /// bool PostScriptEvent(UUID itemID, string name, Object[] args); + bool PostObjectEvent(UUID itemID, string name, Object[] args); /// diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 96f650e8a4..6a315681d6 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -9423,6 +9423,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return UUID.Zero.ToString(); } } + public LSL_String llRequestURL() { m_host.AddScriptLPS(1); diff --git a/OpenSim/Tests/Common/Mock/MockScriptEngine.cs b/OpenSim/Tests/Common/Mock/MockScriptEngine.cs index 78bab5b8fe..6a53fe7810 100644 --- a/OpenSim/Tests/Common/Mock/MockScriptEngine.cs +++ b/OpenSim/Tests/Common/Mock/MockScriptEngine.cs @@ -40,10 +40,33 @@ namespace OpenSim.Tests.Common { public class MockScriptEngine : INonSharedRegionModule, IScriptModule, IScriptEngine { + public IConfigSource ConfigSource { get; private set; } + + public IConfig Config { get; private set; } + private Scene m_scene; + /// + /// Expose posted events to tests. + /// + public Dictionary> PostedEvents { get; private set; } + + /// + /// A very primitive way of hooking text cose to a posed event. + /// + /// + /// May be replaced with something that uses more original code in the future. + /// + public event Action PostEventHook; + public void Initialise(IConfigSource source) { + ConfigSource = source; + + // Can set later on if required + Config = new IniConfig("MockScriptEngine", ConfigSource); + + PostedEvents = new Dictionary>(); } public void Close() @@ -85,7 +108,28 @@ namespace OpenSim.Tests.Common public bool PostScriptEvent(UUID itemID, string name, object[] args) { - return false; +// Console.WriteLine("Posting event {0} for {1}", name, itemID); + + EventParams evParams = new EventParams(name, args, null); + + List eventsForItem; + + if (!PostedEvents.ContainsKey(itemID)) + { + eventsForItem = new List(); + PostedEvents.Add(itemID, eventsForItem); + } + else + { + eventsForItem = PostedEvents[itemID]; + } + + eventsForItem.Add(evParams); + + if (PostEventHook != null) + PostEventHook(itemID, evParams); + + return true; } public bool PostObjectEvent(UUID itemID, string name, object[] args) @@ -195,11 +239,7 @@ namespace OpenSim.Tests.Common public Scene World { get { return m_scene; } } - public IScriptModule ScriptModule { get { throw new System.NotImplementedException(); } } - - public IConfig Config { get { throw new System.NotImplementedException (); } } - - public IConfigSource ConfigSource { get { throw new System.NotImplementedException (); } } + public IScriptModule ScriptModule { get { return this; } } public string ScriptEnginePath { get { throw new System.NotImplementedException (); }} @@ -210,5 +250,10 @@ namespace OpenSim.Tests.Common public string[] ScriptReferencedAssemblies { get { throw new System.NotImplementedException (); } } public ParameterInfo[] ScriptBaseClassParameters { get { throw new System.NotImplementedException (); } } + + public void ClearPostedEvents() + { + PostedEvents.Clear(); + } } } \ No newline at end of file diff --git a/prebuild.xml b/prebuild.xml index 7b28085839..1e68f67f73 100644 --- a/prebuild.xml +++ b/prebuild.xml @@ -3391,6 +3391,8 @@ + + From ea4be309e83440fa3b4533b21ce33e5af07e796d Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Tue, 26 Feb 2013 23:40:55 +0000 Subject: [PATCH 653/851] minor: remove warning in ConfigurationLoaderTest --- OpenSim/Tests/ConfigurationLoaderTest.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/OpenSim/Tests/ConfigurationLoaderTest.cs b/OpenSim/Tests/ConfigurationLoaderTest.cs index e5186ae517..9d63324ff9 100644 --- a/OpenSim/Tests/ConfigurationLoaderTest.cs +++ b/OpenSim/Tests/ConfigurationLoaderTest.cs @@ -47,6 +47,8 @@ namespace OpenSim.Tests [SetUp] public void SetUp() { + base.SetUp(); + m_basePath = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); string path = Path.Combine(m_basePath, m_testSubdirectory); Directory.CreateDirectory(path); From 2bfbfc57250d4a5a60fb253d0a73ea5e40e9c1a7 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Tue, 26 Feb 2013 23:43:06 +0000 Subject: [PATCH 654/851] minor: Remove unnecessary very old System.Net reference in OpenSim.Region.ScriptEngine.Shared --- prebuild.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/prebuild.xml b/prebuild.xml index 1e68f67f73..0e5879272e 100644 --- a/prebuild.xml +++ b/prebuild.xml @@ -2196,7 +2196,6 @@ ../../../../bin/ - From 80c19b7cac52a57fd04966169c657400aeee3de8 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 27 Feb 2013 00:21:02 +0000 Subject: [PATCH 655/851] Make sure we dispose of WebResponse, StreamReader and Stream in various places where we were not already. --- OpenSim/ConsoleClient/Requester.cs | 19 +++--- .../Configuration/HTTP/HTTPConfiguration.cs | 32 +++++---- .../RegionLoader/Web/RegionLoaderWebServer.cs | 41 ++++++++---- .../Servers/HttpServer/RestSessionService.cs | 15 +---- OpenSim/Framework/WebUtil.cs | 61 ++++++++--------- .../VectorRender/VectorRenderModule.cs | 16 +++-- .../World/WorldMap/WorldMapModule.cs | 30 ++++----- .../FreeSwitchVoice/FreeSwitchVoiceModule.cs | 21 ++++-- .../Voice/VivoxVoice/VivoxVoiceModule.cs | 12 ++-- .../XmlRpcGroupsServicesConnectorModule.cs | 46 ++++++++----- .../Hypergrid/HeloServicesConnector.cs | 14 ++-- .../Hypergrid/UserAgentServiceConnector.cs | 65 +++++++++---------- .../Neighbour/NeighbourServicesConnector.cs | 34 +++++----- .../SimianGrid/SimianAssetServiceConnector.cs | 47 +++++++------- 14 files changed, 243 insertions(+), 210 deletions(-) diff --git a/OpenSim/ConsoleClient/Requester.cs b/OpenSim/ConsoleClient/Requester.cs index aabb02cbb3..0a213288da 100644 --- a/OpenSim/ConsoleClient/Requester.cs +++ b/OpenSim/ConsoleClient/Requester.cs @@ -44,7 +44,6 @@ namespace OpenSim.ConsoleClient ReplyDelegate action) { WebRequest request = WebRequest.Create(requestUrl); - WebResponse response = null; request.Method = "POST"; @@ -64,16 +63,18 @@ namespace OpenSim.ConsoleClient { string reply = String.Empty; - response = request.EndGetResponse(ar); - - try + using (WebResponse response = request.EndGetResponse(ar)) { - StreamReader r = new StreamReader(response.GetResponseStream()); - reply = r.ReadToEnd(); + try + { + using (Stream s = response.GetResponseStream()) + using (StreamReader r = new StreamReader(s)) + reply = r.ReadToEnd(); - } - catch (System.InvalidOperationException) - { + } + catch (System.InvalidOperationException) + { + } } action(requestUrl, data, reply); diff --git a/OpenSim/Framework/Configuration/HTTP/HTTPConfiguration.cs b/OpenSim/Framework/Configuration/HTTP/HTTPConfiguration.cs index 3dce578193..6681c37bc5 100644 --- a/OpenSim/Framework/Configuration/HTTP/HTTPConfiguration.cs +++ b/OpenSim/Framework/Configuration/HTTP/HTTPConfiguration.cs @@ -65,23 +65,27 @@ namespace OpenSim.Framework.Configuration.HTTP byte[] buf = new byte[8192]; HttpWebRequest request = (HttpWebRequest) WebRequest.Create(remoteConfigSettings.baseConfigURL + configFileName); - HttpWebResponse response = (HttpWebResponse) request.GetResponse(); - - Stream resStream = response.GetResponseStream(); - - string tempString = null; - int count = 0; - - do + using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) { - count = resStream.Read(buf, 0, buf.Length); - if (count != 0) + using (Stream resStream = response.GetResponseStream()) { - tempString = Util.UTF8.GetString(buf, 0, count); - sb.Append(tempString); + string tempString = null; + int count = 0; + + do + { + count = resStream.Read(buf, 0, buf.Length); + if (count != 0) + { + tempString = Util.UTF8.GetString(buf, 0, count); + sb.Append(tempString); + } + } + while (count > 0); + + LoadDataFromString(sb.ToString()); } - } while (count > 0); - LoadDataFromString(sb.ToString()); + } } catch (WebException) { diff --git a/OpenSim/Framework/RegionLoader/Web/RegionLoaderWebServer.cs b/OpenSim/Framework/RegionLoader/Web/RegionLoaderWebServer.cs index a2f5d9c5ba..05c64fa858 100644 --- a/OpenSim/Framework/RegionLoader/Web/RegionLoaderWebServer.cs +++ b/OpenSim/Framework/RegionLoader/Web/RegionLoaderWebServer.cs @@ -74,16 +74,26 @@ namespace OpenSim.Framework.RegionLoader.Web try { - HttpWebResponse webResponse = (HttpWebResponse) webRequest.GetResponse(); - m_log.Debug("[WEBLOADER]: Downloading region information..."); - StreamReader reader = new StreamReader(webResponse.GetResponseStream()); string xmlSource = String.Empty; - string tempStr = reader.ReadLine(); - while (tempStr != null) + + using (HttpWebResponse webResponse = (HttpWebResponse) webRequest.GetResponse()) { - xmlSource = xmlSource + tempStr; - tempStr = reader.ReadLine(); + m_log.Debug("[WEBLOADER]: Downloading region information..."); + + using (Stream s = webResponse.GetResponseStream()) + { + using (StreamReader reader = new StreamReader(s)) + { + string tempStr = reader.ReadLine(); + while (tempStr != null) + { + xmlSource = xmlSource + tempStr; + tempStr = reader.ReadLine(); + } + } + } } + m_log.Debug("[WEBLOADER]: Done downloading region information from server. Total Bytes: " + xmlSource.Length); XmlDocument xmlDoc = new XmlDocument(); @@ -107,17 +117,24 @@ namespace OpenSim.Framework.RegionLoader.Web } catch (WebException ex) { - if (((HttpWebResponse)ex.Response).StatusCode == HttpStatusCode.NotFound) + using (HttpWebResponse response = (HttpWebResponse)ex.Response) { - if (!allowRegionless) + if (response.StatusCode == HttpStatusCode.NotFound) + { + if (!allowRegionless) + throw ex; + } + else + { throw ex; + } } - else - throw ex; } if (regionCount > 0 | allowRegionless) + { return regionInfos; + } else { m_log.Error("[WEBLOADER]: No region configs were available."); @@ -127,4 +144,4 @@ namespace OpenSim.Framework.RegionLoader.Web } } } -} +} \ No newline at end of file diff --git a/OpenSim/Framework/Servers/HttpServer/RestSessionService.cs b/OpenSim/Framework/Servers/HttpServer/RestSessionService.cs index 19c03a8e1a..edcd134cae 100644 --- a/OpenSim/Framework/Servers/HttpServer/RestSessionService.cs +++ b/OpenSim/Framework/Servers/HttpServer/RestSessionService.cs @@ -101,20 +101,11 @@ namespace OpenSim.Framework.Servers.HttpServer using (WebResponse resp = request.GetResponse()) { XmlSerializer deserializer = new XmlSerializer(typeof(TResponse)); - Stream respStream = null; - try - { - respStream = resp.GetResponseStream(); + + using (Stream respStream = resp.GetResponseStream()) deserial = (TResponse)deserializer.Deserialize(respStream); - } - catch { } - finally - { - if (respStream != null) - respStream.Close(); - resp.Close(); - } } + return deserial; } } diff --git a/OpenSim/Framework/WebUtil.cs b/OpenSim/Framework/WebUtil.cs index 5c34cf4181..701fbb0280 100644 --- a/OpenSim/Framework/WebUtil.cs +++ b/OpenSim/Framework/WebUtil.cs @@ -228,8 +228,8 @@ namespace OpenSim.Framework errorMessage = we.Message; if (we.Status == WebExceptionStatus.ProtocolError) { - HttpWebResponse webResponse = (HttpWebResponse)we.Response; - errorMessage = String.Format("[{0}] {1}",webResponse.StatusCode,webResponse.StatusDescription); + using (HttpWebResponse webResponse = (HttpWebResponse)we.Response) + errorMessage = String.Format("[{0}] {1}", webResponse.StatusCode, webResponse.StatusDescription); } } catch (Exception ex) @@ -387,8 +387,8 @@ namespace OpenSim.Framework errorMessage = we.Message; if (we.Status == WebExceptionStatus.ProtocolError) { - HttpWebResponse webResponse = (HttpWebResponse)we.Response; - errorMessage = String.Format("[{0}] {1}",webResponse.StatusCode,webResponse.StatusDescription); + using (HttpWebResponse webResponse = (HttpWebResponse)we.Response) + errorMessage = String.Format("[{0}] {1}",webResponse.StatusCode,webResponse.StatusDescription); } } catch (Exception ex) @@ -834,15 +834,16 @@ namespace OpenSim.Framework { if (e.Response is HttpWebResponse) { - HttpWebResponse httpResponse = (HttpWebResponse)e.Response; - - if (httpResponse.StatusCode != HttpStatusCode.NotFound) - { - // We don't appear to be handling any other status codes, so log these feailures to that - // people don't spend unnecessary hours hunting phantom bugs. - m_log.DebugFormat( - "[ASYNC REQUEST]: Request {0} {1} failed with unexpected status code {2}", - verb, requestUrl, httpResponse.StatusCode); + using (HttpWebResponse httpResponse = (HttpWebResponse)e.Response) + { + if (httpResponse.StatusCode != HttpStatusCode.NotFound) + { + // We don't appear to be handling any other status codes, so log these feailures to that + // people don't spend unnecessary hours hunting phantom bugs. + m_log.DebugFormat( + "[ASYNC REQUEST]: Request {0} {1} failed with unexpected status code {2}", + verb, requestUrl, httpResponse.StatusCode); + } } } } @@ -983,11 +984,9 @@ namespace OpenSim.Framework Stream respStream = null; try { - respStream = resp.GetResponseStream(); - using (StreamReader reader = new StreamReader(respStream)) - { - respstring = reader.ReadToEnd(); - } + using (respStream = resp.GetResponseStream()) + using (StreamReader reader = new StreamReader(respStream)) + respstring = reader.ReadToEnd(); } catch (Exception e) { @@ -1127,10 +1126,11 @@ namespace OpenSim.Framework { if (resp.ContentLength != 0) { - Stream respStream = resp.GetResponseStream(); - XmlSerializer deserializer = new XmlSerializer(typeof(TResponse)); - deserial = (TResponse)deserializer.Deserialize(respStream); - respStream.Close(); + using (Stream respStream = resp.GetResponseStream()) + { + XmlSerializer deserializer = new XmlSerializer(typeof(TResponse)); + deserial = (TResponse)deserializer.Deserialize(respStream); + } } else { @@ -1142,14 +1142,15 @@ namespace OpenSim.Framework } catch (WebException e) { - HttpWebResponse hwr = (HttpWebResponse)e.Response; - - if (hwr != null && hwr.StatusCode == HttpStatusCode.NotFound) - return deserial; - else - m_log.ErrorFormat( - "[SynchronousRestObjectRequester]: WebException for {0} {1} {2}: {3} {4}", - verb, requestUrl, typeof(TResponse).ToString(), e.Message, e.StackTrace); + using (HttpWebResponse hwr = (HttpWebResponse)e.Response) + { + if (hwr != null && hwr.StatusCode == HttpStatusCode.NotFound) + return deserial; + else + m_log.ErrorFormat( + "[SynchronousRestObjectRequester]: WebException for {0} {1} {2}: {3} {4}", + verb, requestUrl, typeof(TResponse).ToString(), e.Message, e.StackTrace); + } } catch (System.InvalidOperationException) { diff --git a/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs b/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs index 689e8a7970..f04fabe897 100644 --- a/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs +++ b/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs @@ -838,13 +838,17 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender try { WebRequest request = HttpWebRequest.Create(url); -//Ckrinke: Comment out for now as 'str' is unused. Bring it back into play later when it is used. -//Ckrinke Stream str = null; - HttpWebResponse response = (HttpWebResponse)(request).GetResponse(); - if (response.StatusCode == HttpStatusCode.OK) + + using (HttpWebResponse response = (HttpWebResponse)(request).GetResponse()) { - Bitmap image = new Bitmap(response.GetResponseStream()); - return image; + if (response.StatusCode == HttpStatusCode.OK) + { + using (Stream s = response.GetResponseStream()) + { + Bitmap image = new Bitmap(s); + return image; + } + } } } catch { } diff --git a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs index 912d50ae08..c50ab64ad6 100644 --- a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs +++ b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs @@ -868,20 +868,22 @@ namespace OpenSim.Region.CoreModules.World.WorldMap } string response_mapItems_reply = null; - { // get the response - StreamReader sr = null; + { try { - WebResponse webResponse = mapitemsrequest.GetResponse(); - if (webResponse != null) + using (WebResponse webResponse = mapitemsrequest.GetResponse()) { - sr = new StreamReader(webResponse.GetResponseStream()); - response_mapItems_reply = sr.ReadToEnd().Trim(); - } - else - { - return new OSDMap(); - } + if (webResponse != null) + { + using (Stream s = webResponse.GetResponseStream()) + using (StreamReader sr = new StreamReader(s)) + response_mapItems_reply = sr.ReadToEnd().Trim(); + } + else + { + return new OSDMap(); + } + } } catch (WebException) { @@ -908,11 +910,6 @@ namespace OpenSim.Region.CoreModules.World.WorldMap return responseMap; } - finally - { - if (sr != null) - sr.Close(); - } OSD rezResponse = null; try @@ -926,6 +923,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap { m_log.InfoFormat("[WORLD MAP]: exception on parse of RequestMapItems reply from {0}: {1}", httpserver, ex.Message); responseMap["connect"] = OSD.FromBoolean(false); + lock (m_blacklistedregions) { if (!m_blacklistedregions.ContainsKey(regionhandle)) diff --git a/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchVoiceModule.cs b/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchVoiceModule.cs index 37ab35a146..ef1b92e5f7 100644 --- a/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchVoiceModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchVoiceModule.cs @@ -551,13 +551,20 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice reqStream.Close(); } - HttpWebResponse fwdrsp = (HttpWebResponse)forwardreq.GetResponse(); - Encoding encoding = Util.UTF8; - StreamReader fwdresponsestream = new StreamReader(fwdrsp.GetResponseStream(), encoding); - fwdresponsestr = fwdresponsestream.ReadToEnd(); - fwdresponsecontenttype = fwdrsp.ContentType; - fwdresponsecode = (int)fwdrsp.StatusCode; - fwdresponsestream.Close(); + using (HttpWebResponse fwdrsp = (HttpWebResponse)forwardreq.GetResponse()) + { + Encoding encoding = Util.UTF8; + + using (Stream s = fwdrsp.GetResponseStream()) + { + using (StreamReader fwdresponsestream = new StreamReader(s)) + { + fwdresponsestr = fwdresponsestream.ReadToEnd(); + fwdresponsecontenttype = fwdrsp.ContentType; + fwdresponsecode = (int)fwdrsp.StatusCode; + } + } + } response["content_type"] = fwdresponsecontenttype; response["str_response_string"] = fwdresponsestr; diff --git a/OpenSim/Region/OptionalModules/Avatar/Voice/VivoxVoice/VivoxVoiceModule.cs b/OpenSim/Region/OptionalModules/Avatar/Voice/VivoxVoice/VivoxVoiceModule.cs index 881807abd7..cb69411d14 100644 --- a/OpenSim/Region/OptionalModules/Avatar/Voice/VivoxVoice/VivoxVoiceModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/Voice/VivoxVoice/VivoxVoiceModule.cs @@ -1116,18 +1116,16 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice // Otherwise prepare the request m_log.DebugFormat("[VivoxVoice] Sending request <{0}>", requrl); - HttpWebRequest req = (HttpWebRequest)WebRequest.Create(requrl); - HttpWebResponse rsp = null; + HttpWebRequest req = (HttpWebRequest)WebRequest.Create(requrl); // We are sending just parameters, no content req.ContentLength = 0; // Send request and retrieve the response - rsp = (HttpWebResponse)req.GetResponse(); - - XmlTextReader rdr = new XmlTextReader(rsp.GetResponseStream()); - doc.Load(rdr); - rdr.Close(); + using (HttpWebResponse rsp = (HttpWebResponse)req.GetResponse()) + using (Stream s = rsp.GetResponseStream()) + using (XmlTextReader rdr = new XmlTextReader(s)) + doc.Load(rdr); } catch (Exception e) { diff --git a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsServicesConnectorModule.cs b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsServicesConnectorModule.cs index 1101851900..71b24aca8c 100644 --- a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsServicesConnectorModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsServicesConnectorModule.cs @@ -1146,28 +1146,38 @@ namespace Nwc.XmlRpc request.AllowWriteStreamBuffering = true; request.KeepAlive = !_disableKeepAlive; - Stream stream = request.GetRequestStream(); - XmlTextWriter xml = new XmlTextWriter(stream, Encoding.ASCII); - _serializer.Serialize(xml, this); - xml.Flush(); - xml.Close(); + using (Stream stream = request.GetRequestStream()) + { + using (XmlTextWriter xml = new XmlTextWriter(stream, Encoding.ASCII)) + { + _serializer.Serialize(xml, this); + xml.Flush(); + } + } - HttpWebResponse response = (HttpWebResponse)request.GetResponse(); - StreamReader input = new StreamReader(response.GetResponseStream()); - - string inputXml = input.ReadToEnd(); XmlRpcResponse resp; - try + + using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) { - resp = (XmlRpcResponse)_deserializer.Deserialize(inputXml); + using (Stream s = response.GetResponseStream()) + { + using (StreamReader input = new StreamReader(s)) + { + string inputXml = input.ReadToEnd(); + + try + { + resp = (XmlRpcResponse)_deserializer.Deserialize(inputXml); + } + catch (Exception e) + { + RequestResponse = inputXml; + throw e; + } + } + } } - catch (Exception e) - { - RequestResponse = inputXml; - throw e; - } - input.Close(); - response.Close(); + return resp; } } diff --git a/OpenSim/Services/Connectors/Hypergrid/HeloServicesConnector.cs b/OpenSim/Services/Connectors/Hypergrid/HeloServicesConnector.cs index 5c509360d8..5004d99431 100644 --- a/OpenSim/Services/Connectors/Hypergrid/HeloServicesConnector.cs +++ b/OpenSim/Services/Connectors/Hypergrid/HeloServicesConnector.cs @@ -73,7 +73,6 @@ namespace OpenSim.Services.Connectors } } - public virtual string Helo() { HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(m_ServerURI); @@ -82,10 +81,12 @@ namespace OpenSim.Services.Connectors try { - WebResponse response = req.GetResponse(); - if (response.Headers.Get("X-Handlers-Provided") == null) // just in case this ever returns a null - return string.Empty; - return response.Headers.Get("X-Handlers-Provided"); + using (WebResponse response = req.GetResponse()) + { + if (response.Headers.Get("X-Handlers-Provided") == null) // just in case this ever returns a null + return string.Empty; + return response.Headers.Get("X-Handlers-Provided"); + } } catch (Exception e) { @@ -95,6 +96,5 @@ namespace OpenSim.Services.Connectors // fail return string.Empty; } - } -} +} \ No newline at end of file diff --git a/OpenSim/Services/Connectors/Hypergrid/UserAgentServiceConnector.cs b/OpenSim/Services/Connectors/Hypergrid/UserAgentServiceConnector.cs index 2f263ae127..47d0cce7fd 100644 --- a/OpenSim/Services/Connectors/Hypergrid/UserAgentServiceConnector.cs +++ b/OpenSim/Services/Connectors/Hypergrid/UserAgentServiceConnector.cs @@ -171,41 +171,45 @@ namespace OpenSim.Services.Connectors.Hypergrid // Let's wait for the response //m_log.Info("[USER AGENT CONNECTOR]: Waiting for a reply after DoCreateChildAgentCall"); - WebResponse webResponse = null; - StreamReader sr = null; try { - webResponse = AgentCreateRequest.GetResponse(); - if (webResponse == null) + using (WebResponse webResponse = AgentCreateRequest.GetResponse()) { - m_log.Info("[USER AGENT CONNECTOR]: Null reply on DoCreateChildAgentCall post"); - } - else - { - - sr = new StreamReader(webResponse.GetResponseStream()); - string response = sr.ReadToEnd().Trim(); - m_log.InfoFormat("[USER AGENT CONNECTOR]: DoCreateChildAgentCall reply was {0} ", response); - - if (!String.IsNullOrEmpty(response)) + if (webResponse == null) { - try + m_log.Info("[USER AGENT CONNECTOR]: Null reply on DoCreateChildAgentCall post"); + } + else + { + using (Stream s = webResponse.GetResponseStream()) { - // we assume we got an OSDMap back - OSDMap r = Util.GetOSDMap(response); - bool success = r["success"].AsBoolean(); - reason = r["reason"].AsString(); - return success; - } - catch (NullReferenceException e) - { - m_log.InfoFormat("[USER AGENT CONNECTOR]: exception on reply of DoCreateChildAgentCall {0}", e.Message); + using (StreamReader sr = new StreamReader(s)) + { + string response = sr.ReadToEnd().Trim(); + m_log.InfoFormat("[USER AGENT CONNECTOR]: DoCreateChildAgentCall reply was {0} ", response); - // check for old style response - if (response.ToLower().StartsWith("true")) - return true; + if (!String.IsNullOrEmpty(response)) + { + try + { + // we assume we got an OSDMap back + OSDMap r = Util.GetOSDMap(response); + bool success = r["success"].AsBoolean(); + reason = r["reason"].AsString(); + return success; + } + catch (NullReferenceException e) + { + m_log.InfoFormat("[USER AGENT CONNECTOR]: exception on reply of DoCreateChildAgentCall {0}", e.Message); - return false; + // check for old style response + if (response.ToLower().StartsWith("true")) + return true; + + return false; + } + } + } } } } @@ -216,11 +220,6 @@ namespace OpenSim.Services.Connectors.Hypergrid reason = "Destination did not reply"; return false; } - finally - { - if (sr != null) - sr.Close(); - } return true; diff --git a/OpenSim/Services/Connectors/Neighbour/NeighbourServicesConnector.cs b/OpenSim/Services/Connectors/Neighbour/NeighbourServicesConnector.cs index 7429293c3c..5948380816 100644 --- a/OpenSim/Services/Connectors/Neighbour/NeighbourServicesConnector.cs +++ b/OpenSim/Services/Connectors/Neighbour/NeighbourServicesConnector.cs @@ -168,22 +168,27 @@ namespace OpenSim.Services.Connectors // Let's wait for the response //m_log.Info("[REST COMMS]: Waiting for a reply after DoHelloNeighbourCall"); - StreamReader sr = null; try { - WebResponse webResponse = helloNeighbourRequest.GetResponse(); - if (webResponse == null) + using (WebResponse webResponse = helloNeighbourRequest.GetResponse()) { - m_log.DebugFormat( - "[REST COMMS]: Null reply on DoHelloNeighbourCall post from {0} to {1}", - thisRegion.RegionName, region.RegionName); + if (webResponse == null) + { + m_log.DebugFormat( + "[REST COMMS]: Null reply on DoHelloNeighbourCall post from {0} to {1}", + thisRegion.RegionName, region.RegionName); + } + + using (Stream s = webResponse.GetResponseStream()) + { + using (StreamReader sr = new StreamReader(s)) + { + //reply = sr.ReadToEnd().Trim(); + sr.ReadToEnd().Trim(); + //m_log.InfoFormat("[REST COMMS]: DoHelloNeighbourCall reply was {0} ", reply); + } + } } - - sr = new StreamReader(webResponse.GetResponseStream()); - //reply = sr.ReadToEnd().Trim(); - sr.ReadToEnd().Trim(); - //m_log.InfoFormat("[REST COMMS]: DoHelloNeighbourCall reply was {0} ", reply); - } catch (Exception e) { @@ -193,11 +198,6 @@ namespace OpenSim.Services.Connectors return false; } - finally - { - if (sr != null) - sr.Close(); - } return true; } diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianAssetServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianAssetServiceConnector.cs index 63a32e749a..74b980c17e 100644 --- a/OpenSim/Services/Connectors/SimianGrid/SimianAssetServiceConnector.cs +++ b/OpenSim/Services/Connectors/SimianGrid/SimianAssetServiceConnector.cs @@ -339,36 +339,38 @@ namespace OpenSim.Services.Connectors.SimianGrid // Simian does not require the asset ID to be in the URL because it's in the post data. // By appending it to the URL also, we allow caching proxies (squid) to invalidate asset URLs HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(m_serverUrl + asset.FullID.ToString()); - - HttpWebResponse response = MultipartForm.Post(request, postParameters); - using (Stream responseStream = response.GetResponseStream()) - { - string responseStr = null; - try + using (HttpWebResponse response = MultipartForm.Post(request, postParameters)) + { + using (Stream responseStream = response.GetResponseStream()) { - responseStr = responseStream.GetStreamString(); - OSD responseOSD = OSDParser.Deserialize(responseStr); - if (responseOSD.Type == OSDType.Map) + string responseStr = null; + + try { - OSDMap responseMap = (OSDMap)responseOSD; - if (responseMap["Success"].AsBoolean()) - return asset.ID; + responseStr = responseStream.GetStreamString(); + OSD responseOSD = OSDParser.Deserialize(responseStr); + if (responseOSD.Type == OSDType.Map) + { + OSDMap responseMap = (OSDMap)responseOSD; + if (responseMap["Success"].AsBoolean()) + return asset.ID; + else + errorMessage = "Upload failed: " + responseMap["Message"].AsString(); + } else - errorMessage = "Upload failed: " + responseMap["Message"].AsString(); + { + errorMessage = "Response format was invalid:\n" + responseStr; + } } - else + catch (Exception ex) { - errorMessage = "Response format was invalid:\n" + responseStr; + if (!String.IsNullOrEmpty(responseStr)) + errorMessage = "Failed to parse the response:\n" + responseStr; + else + errorMessage = "Failed to retrieve the response: " + ex.Message; } } - catch (Exception ex) - { - if (!String.IsNullOrEmpty(responseStr)) - errorMessage = "Failed to parse the response:\n" + responseStr; - else - errorMessage = "Failed to retrieve the response: " + ex.Message; - } } } catch (WebException ex) @@ -378,6 +380,7 @@ namespace OpenSim.Services.Connectors.SimianGrid m_log.WarnFormat("[SIMIAN ASSET CONNECTOR]: Failed to store asset \"{0}\" ({1}, {2}): {3}", asset.Name, asset.ID, asset.Metadata.ContentType, errorMessage); + return null; } From 917c1695a15c3b8a53c14ede95694ee63e8fac6e Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 27 Feb 2013 00:26:34 +0000 Subject: [PATCH 656/851] Add documentation on default or Warp3D image module choice to OpenSim.ini.example. As before, default is MapImageModule. Thanks to Ai Austin for pointing out this omission. --- bin/OpenSim.ini.example | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 2756b32c75..b465a255d0 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -338,6 +338,12 @@ [Map] + ;# {MapImageModule} [] {The map image module to use} {MapImageModule Warp3DImageModule} MapImageModule + ;; The module to use in order to generate map images. + ;; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can + ;; generate better images. + ;MapImageModule = "MapImageModule" + ;# {GenerateMaptiles} {} {Generate map tiles?} {true false} true ;; Map tile options. You can choose to generate normal maptiles or nominate an uploaded texture to ;; be the map tile using the MaptileStaticUUID parameter in this section or for individual regions in From 20760fde257f893f68e75cb721225ccea0c8936d Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 27 Feb 2013 00:31:54 +0000 Subject: [PATCH 657/851] Improve description of GenerateMapTiles config option --- bin/OpenSim.ini.example | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index b465a255d0..89bc81b527 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -338,18 +338,19 @@ [Map] + ;# {GenerateMaptiles} {} {Generate map tiles?} {true false} true + ;; Map tile options. + ;; If true, then maptiles are generated using the MapImageModule below. + ;; If false then the texture referenced by MaptileStaticUUID is used instead, which can also be overriden + ;; in individual region config file(s). If you do not want to upload map tiles at all, then you will need + ;; both to set this to false and comment out the [Modules] MapImageServiceModule setting in config-include/ + ; GenerateMaptiles = true + ;# {MapImageModule} [] {The map image module to use} {MapImageModule Warp3DImageModule} MapImageModule ;; The module to use in order to generate map images. ;; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can ;; generate better images. ;MapImageModule = "MapImageModule" - - ;# {GenerateMaptiles} {} {Generate map tiles?} {true false} true - ;; Map tile options. You can choose to generate normal maptiles or nominate an uploaded texture to - ;; be the map tile using the MaptileStaticUUID parameter in this section or for individual regions in - ;; the regions config file(s). If you do not want to upload map tiles at all, then you will need - ;; to disable the MapImageServiceModule entirely. - ; GenerateMaptiles = true ;# {MaptileRefresh} {GenerateMaptiles} {Maptile refresh period?} {} 0 ;; If desired, a running region can update the map tiles periodically From 59bd099b0385cc79bba751e168ef26c923c9f003 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 27 Feb 2013 20:12:58 +0000 Subject: [PATCH 658/851] Add regression test for llReleaseUrl() (and for llRequestUrl) Forgot to add file for llRequestUrl() test in commit b8a7c8b --- .../Scripting/LSLHttp/UrlModule.cs | 25 +- .../Shared/Tests/LSL_ApiHttpTests.cs | 250 ++++++++++++++++++ 2 files changed, 266 insertions(+), 9 deletions(-) create mode 100644 OpenSim/Region/ScriptEngine/Shared/Tests/LSL_ApiHttpTests.cs diff --git a/OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs b/OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs index 79e633f2f0..c9cd412be3 100644 --- a/OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs +++ b/OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs @@ -117,17 +117,22 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp /// private Dictionary m_UrlMap = new Dictionary(); - /// - /// Maximum number of external urls that can be set up by this module. - /// - private int m_TotalUrls = 100; - private uint m_HttpsPort = 0; private IHttpServer m_HttpServer = null; private IHttpServer m_HttpsServer = null; public string ExternalHostNameForLSL { get; private set; } + /// + /// The default maximum number of urls + /// + public const int DefaultTotalUrls = 100; + + /// + /// Maximum number of external urls that can be set up by this module. + /// + public int TotalUrls { get; set; } + public Type ReplaceableInterface { get { return null; } @@ -158,7 +163,9 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp IConfig llFunctionsConfig = config.Configs["LL-Functions"]; if (llFunctionsConfig != null) - m_TotalUrls = llFunctionsConfig.GetInt("max_external_urls_per_simulator", m_TotalUrls); + TotalUrls = llFunctionsConfig.GetInt("max_external_urls_per_simulator", DefaultTotalUrls); + else + TotalUrls = DefaultTotalUrls; } public void PostInitialise() @@ -209,7 +216,7 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp lock (m_UrlMap) { - if (m_UrlMap.Count >= m_TotalUrls) + if (m_UrlMap.Count >= TotalUrls) { engine.PostScriptEvent(itemID, "http_request", new Object[] { urlcode.ToString(), "URL_REQUEST_DENIED", "" }); return urlcode; @@ -254,7 +261,7 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp lock (m_UrlMap) { - if (m_UrlMap.Count >= m_TotalUrls) + if (m_UrlMap.Count >= TotalUrls) { engine.PostScriptEvent(itemID, "http_request", new Object[] { urlcode.ToString(), "URL_REQUEST_DENIED", "" }); return urlcode; @@ -382,7 +389,7 @@ namespace OpenSim.Region.CoreModules.Scripting.LSLHttp public int GetFreeUrls() { lock (m_UrlMap) - return m_TotalUrls - m_UrlMap.Count; + return TotalUrls - m_UrlMap.Count; } public void ScriptRemoved(UUID itemID) diff --git a/OpenSim/Region/ScriptEngine/Shared/Tests/LSL_ApiHttpTests.cs b/OpenSim/Region/ScriptEngine/Shared/Tests/LSL_ApiHttpTests.cs new file mode 100644 index 0000000000..b0baa1ce84 --- /dev/null +++ b/OpenSim/Region/ScriptEngine/Shared/Tests/LSL_ApiHttpTests.cs @@ -0,0 +1,250 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using System.IO; +using System.Net; +using System.Reflection; +using System.Text; +using log4net; +using Nini.Config; +using NUnit.Framework; +using OpenMetaverse; +using OpenSim.Framework; +using OpenSim.Framework.Servers; +using OpenSim.Framework.Servers.HttpServer; +using OpenSim.Region.CoreModules.Scripting.LSLHttp; +using OpenSim.Region.Framework.Scenes; +using OpenSim.Region.ScriptEngine.Shared; +using OpenSim.Region.ScriptEngine.Shared.Api; +using OpenSim.Region.ScriptEngine.Shared.ScriptBase; +using OpenSim.Services.Interfaces; +using OpenSim.Tests.Common; +using OpenSim.Tests.Common.Mock; + +namespace OpenSim.Region.ScriptEngine.Shared.Tests +{ + /// + /// Tests for HTTP related functions in LSL + /// + [TestFixture] + public class LSL_ApiHttpTests : OpenSimTestCase + { + private Scene m_scene; + private MockScriptEngine m_engine; + private UrlModule m_urlModule; + + private TaskInventoryItem m_scriptItem; + private LSL_Api m_lslApi; + + [TestFixtureSetUp] + public void TestFixtureSetUp() + { + // Don't allow tests to be bamboozled by asynchronous events. Execute everything on the same thread. + Util.FireAndForgetMethod = FireAndForgetMethod.RegressionTest; + } + + [TestFixtureTearDown] + public void TestFixureTearDown() + { + // We must set this back afterwards, otherwise later tests will fail since they're expecting multiple + // threads. Possibly, later tests should be rewritten so none of them require async stuff (which regression + // tests really shouldn't). + Util.FireAndForgetMethod = Util.DefaultFireAndForgetMethod; + } + + [SetUp] + public override void SetUp() + { + base.SetUp(); + + // This is an unfortunate bit of clean up we have to do because MainServer manages things through static + // variables and the VM is not restarted between tests. + uint port = 9999; + MainServer.RemoveHttpServer(port); + + BaseHttpServer server = new BaseHttpServer(port, false, 0, ""); + MainServer.AddHttpServer(server); + MainServer.Instance = server; + + server.Start(); + + m_engine = new MockScriptEngine(); + m_urlModule = new UrlModule(); + + m_scene = new SceneHelpers().SetupScene(); + SceneHelpers.SetupSceneModules(m_scene, new IniConfigSource(), m_engine, m_urlModule); + + SceneObjectGroup so = SceneHelpers.AddSceneObject(m_scene); + m_scriptItem = TaskInventoryHelpers.AddScript(m_scene, so.RootPart); + + // This is disconnected from the actual script - the mock engine does not set up any LSL_Api atm. + // Possibly this could be done and we could obtain it directly from the MockScriptEngine. + m_lslApi = new LSL_Api(); + m_lslApi.Initialize(m_engine, so.RootPart, m_scriptItem, null); + } + + [TearDown] + public void TearDown() + { + MainServer.Instance.Stop(); + } + + [Test] + public void TestLlReleaseUrl() + { + TestHelpers.InMethod(); + + m_lslApi.llRequestURL(); + string returnedUri = m_engine.PostedEvents[m_scriptItem.ItemID][0].Params[2].ToString(); + + { + // Check that the initial number of URLs is correct + Assert.That(m_lslApi.llGetFreeURLs().value, Is.EqualTo(m_urlModule.TotalUrls - 1)); + } + + { + // Check releasing a non-url + m_lslApi.llReleaseURL("GARBAGE"); + Assert.That(m_lslApi.llGetFreeURLs().value, Is.EqualTo(m_urlModule.TotalUrls - 1)); + } + + { + // Check releasing a non-existing url + m_lslApi.llReleaseURL("http://example.com"); + Assert.That(m_lslApi.llGetFreeURLs().value, Is.EqualTo(m_urlModule.TotalUrls - 1)); + } + + { + // Check URL release + m_lslApi.llReleaseURL(returnedUri); + Assert.That(m_lslApi.llGetFreeURLs().value, Is.EqualTo(m_urlModule.TotalUrls)); + + HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(returnedUri); + + bool gotExpectedException = false; + + try + { + using (HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse()) + {} + } + catch (WebException e) + { + using (HttpWebResponse response = (HttpWebResponse)e.Response) + gotExpectedException = response.StatusCode == HttpStatusCode.NotFound; + } + + Assert.That(gotExpectedException, Is.True); + } + + { + // Check releasing the same URL again + m_lslApi.llReleaseURL(returnedUri); + Assert.That(m_lslApi.llGetFreeURLs().value, Is.EqualTo(m_urlModule.TotalUrls)); + } + } + + [Test] + public void TestLlRequestUrl() + { + TestHelpers.InMethod(); + + string requestId = m_lslApi.llRequestURL(); + Assert.That(requestId, Is.Not.EqualTo(UUID.Zero.ToString())); + string returnedUri; + + { + // Check that URL is correctly set up + Assert.That(m_lslApi.llGetFreeURLs().value, Is.EqualTo(m_urlModule.TotalUrls - 1)); + + Assert.That(m_engine.PostedEvents.ContainsKey(m_scriptItem.ItemID)); + + List events = m_engine.PostedEvents[m_scriptItem.ItemID]; + Assert.That(events.Count, Is.EqualTo(1)); + EventParams eventParams = events[0]; + Assert.That(eventParams.EventName, Is.EqualTo("http_request")); + + UUID returnKey; + string rawReturnKey = eventParams.Params[0].ToString(); + string method = eventParams.Params[1].ToString(); + returnedUri = eventParams.Params[2].ToString(); + + Assert.That(UUID.TryParse(rawReturnKey, out returnKey), Is.True); + Assert.That(method, Is.EqualTo(ScriptBaseClass.URL_REQUEST_GRANTED)); + Assert.That(Uri.IsWellFormedUriString(returnedUri, UriKind.Absolute), Is.True); + } + + { + // Check that request to URL works. + string testResponse = "Hello World"; + + m_engine.ClearPostedEvents(); + m_engine.PostEventHook + += (itemId, evp) => m_lslApi.llHTTPResponse(evp.Params[0].ToString(), 200, testResponse); + +// Console.WriteLine("Trying {0}", returnedUri); + HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(returnedUri); + + AssertHttpResponse(returnedUri, testResponse); + + Assert.That(m_engine.PostedEvents.ContainsKey(m_scriptItem.ItemID)); + + List events = m_engine.PostedEvents[m_scriptItem.ItemID]; + Assert.That(events.Count, Is.EqualTo(1)); + EventParams eventParams = events[0]; + Assert.That(eventParams.EventName, Is.EqualTo("http_request")); + + UUID returnKey; + string rawReturnKey = eventParams.Params[0].ToString(); + string method = eventParams.Params[1].ToString(); + string body = eventParams.Params[2].ToString(); + + Assert.That(UUID.TryParse(rawReturnKey, out returnKey), Is.True); + Assert.That(method, Is.EqualTo("GET")); + Assert.That(body, Is.EqualTo("")); + } + } + + private void AssertHttpResponse(string uri, string expectedResponse) + { + HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(uri); + + using (HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse()) + { + using (Stream stream = webResponse.GetResponseStream()) + { + using (StreamReader reader = new StreamReader(stream)) + { + Assert.That(reader.ReadToEnd(), Is.EqualTo(expectedResponse)); + } + } + } + } + } +} \ No newline at end of file From 056f11c297f601dcb3e0dccfc3f59c1c7281e461 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 27 Feb 2013 20:33:11 +0000 Subject: [PATCH 659/851] Show http poll handlers in separate http (poll) section of "show http-handlers" console command instead of never showing them (due to a previous bug). The code was assuming that poll handlers were also included in general http handlers but this was not the case. --- OpenSim/Framework/Servers/MainServer.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/OpenSim/Framework/Servers/MainServer.cs b/OpenSim/Framework/Servers/MainServer.cs index 293887ff9b..cfd34bb5b4 100644 --- a/OpenSim/Framework/Servers/MainServer.cs +++ b/OpenSim/Framework/Servers/MainServer.cs @@ -227,9 +227,12 @@ namespace OpenSim.Framework.Servers handlers.AppendFormat("\t{0}\n", s); handlers.AppendFormat("* HTTP:\n"); - List poll = httpServer.GetPollServiceHandlerKeys(); foreach (String s in httpServer.GetHTTPHandlerKeys()) - handlers.AppendFormat("\t{0} {1}\n", s, (poll.Contains(s) ? "(poll service)" : string.Empty)); + handlers.AppendFormat("\t{0}\n", s); + + handlers.AppendFormat("* HTTP (poll):\n"); + foreach (String s in httpServer.GetPollServiceHandlerKeys()) + handlers.AppendFormat("\t{0}\n", s); handlers.AppendFormat("* JSONRPC:\n"); foreach (String s in httpServer.GetJsonRpcHandlerKeys()) From 61ba02e95fbce86b64fca39451b8b4f395bec0c9 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 27 Feb 2013 20:38:10 +0000 Subject: [PATCH 660/851] minor: remove some mono compiler warnings in script regression tests --- .../ScriptEngine/Shared/Instance/Tests/CoopTerminationTests.cs | 1 - OpenSim/Region/ScriptEngine/Shared/Tests/OSSL_ApiNpcTests.cs | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Instance/Tests/CoopTerminationTests.cs b/OpenSim/Region/ScriptEngine/Shared/Instance/Tests/CoopTerminationTests.cs index 7ea30bf114..ac822c6812 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Instance/Tests/CoopTerminationTests.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Instance/Tests/CoopTerminationTests.cs @@ -443,7 +443,6 @@ default string itemName = "TestNoStop"; SceneObjectPart partWhereRezzed = CreateScript(script, itemName, userId); - TaskInventoryItem rezzedItem = partWhereRezzed.Inventory.GetInventoryItem(itemName); // Wait for the script to start the event before we try stopping it. m_chatEvent.WaitOne(60000); diff --git a/OpenSim/Region/ScriptEngine/Shared/Tests/OSSL_ApiNpcTests.cs b/OpenSim/Region/ScriptEngine/Shared/Tests/OSSL_ApiNpcTests.cs index 1f8a6e5b14..74f010ec16 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Tests/OSSL_ApiNpcTests.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Tests/OSSL_ApiNpcTests.cs @@ -222,7 +222,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests // Store an avatar with a different height from default in a notecard. UUID userId = TestHelpers.ParseTail(0x1); float firstHeight = 1.9f; - float secondHeight = 2.1f; +// float secondHeight = 2.1f; string firstAppearanceNcName = "appearanceNc1"; string secondAppearanceNcName = "appearanceNc2"; From 74916ed777d811088344077b08a190ff17129c70 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 27 Feb 2013 21:35:54 +0000 Subject: [PATCH 661/851] Add more information to warnings logged when asset names and descriptions have to be truncated for database storage On balance, I still think this is useful because asset names and descriptions can sometimes be helpful in determining what things are. Even though they are never subsequently (inventory names/descriptions are always used instead). --- OpenSim/Data/MSSQL/MSSQLAssetData.cs | 8 ++++++-- OpenSim/Data/MySQL/MySQLAssetData.cs | 8 ++++++-- OpenSim/Data/MySQL/MySQLXAssetData.cs | 8 ++++++-- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/OpenSim/Data/MSSQL/MSSQLAssetData.cs b/OpenSim/Data/MSSQL/MSSQLAssetData.cs index c7488d853c..f3e008dc4b 100644 --- a/OpenSim/Data/MSSQL/MSSQLAssetData.cs +++ b/OpenSim/Data/MSSQL/MSSQLAssetData.cs @@ -163,14 +163,18 @@ namespace OpenSim.Data.MSSQL if (asset.Name.Length > 64) { assetName = asset.Name.Substring(0, 64); - m_log.Warn("[ASSET DB]: Name field truncated from " + asset.Name.Length + " to " + assetName.Length + " characters on add"); + m_log.WarnFormat( + "[ASSET DB]: Name '{0}' for asset {1} truncated from {2} to {3} characters on add", + asset.Name, asset.ID, asset.Name.Length, assetName.Length); } string assetDescription = asset.Description; if (asset.Description.Length > 64) { assetDescription = asset.Description.Substring(0, 64); - m_log.Warn("[ASSET DB]: Description field truncated from " + asset.Description.Length + " to " + assetDescription.Length + " characters on add"); + m_log.WarnFormat( + "[ASSET DB]: Description '{0}' for asset {1} truncated from {2} to {3} characters on add", + asset.Description, asset.ID, asset.Description.Length, assetDescription.Length); } using (SqlConnection conn = new SqlConnection(m_connectionString)) diff --git a/OpenSim/Data/MySQL/MySQLAssetData.cs b/OpenSim/Data/MySQL/MySQLAssetData.cs index 73de64b404..cf80b3d378 100644 --- a/OpenSim/Data/MySQL/MySQLAssetData.cs +++ b/OpenSim/Data/MySQL/MySQLAssetData.cs @@ -173,14 +173,18 @@ namespace OpenSim.Data.MySQL if (asset.Name.Length > 64) { assetName = asset.Name.Substring(0, 64); - m_log.Warn("[ASSET DB]: Name field truncated from " + asset.Name.Length + " to " + assetName.Length + " characters on add"); + m_log.WarnFormat( + "[ASSET DB]: Name '{0}' for asset {1} truncated from {2} to {3} characters on add", + asset.Name, asset.ID, asset.Name.Length, assetName.Length); } string assetDescription = asset.Description; if (asset.Description.Length > 64) { assetDescription = asset.Description.Substring(0, 64); - m_log.Warn("[ASSET DB]: Description field truncated from " + asset.Description.Length + " to " + assetDescription.Length + " characters on add"); + m_log.WarnFormat( + "[ASSET DB]: Description '{0}' for asset {1} truncated from {2} to {3} characters on add", + asset.Description, asset.ID, asset.Description.Length, assetDescription.Length); } try diff --git a/OpenSim/Data/MySQL/MySQLXAssetData.cs b/OpenSim/Data/MySQL/MySQLXAssetData.cs index e6ac22e09c..c2282c8678 100644 --- a/OpenSim/Data/MySQL/MySQLXAssetData.cs +++ b/OpenSim/Data/MySQL/MySQLXAssetData.cs @@ -204,14 +204,18 @@ namespace OpenSim.Data.MySQL if (asset.Name.Length > 64) { assetName = asset.Name.Substring(0, 64); - m_log.Warn("[XASSET DB]: Name field truncated from " + asset.Name.Length + " to " + assetName.Length + " characters on add"); + m_log.WarnFormat( + "[XASSET DB]: Name '{0}' for asset {1} truncated from {2} to {3} characters on add", + asset.Name, asset.ID, asset.Name.Length, assetName.Length); } string assetDescription = asset.Description; if (asset.Description.Length > 64) { assetDescription = asset.Description.Substring(0, 64); - m_log.Warn("[XASSET DB]: Description field truncated from " + asset.Description.Length + " to " + assetDescription.Length + " characters on add"); + m_log.WarnFormat( + "[XASSET DB]: Description '{0}' for asset {1} truncated from {2} to {3} characters on add", + asset.Description, asset.ID, asset.Description.Length, assetDescription.Length); } if (m_enableCompression) From 9b045e72b6ea82fe201b45fd870b6b50c9b9e4d0 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 27 Feb 2013 21:41:21 +0000 Subject: [PATCH 662/851] Add asset name and description truncation warnings to SQLite database plugin for consistency. --- OpenSim/Data/SQLite/SQLiteAssetData.cs | 28 +++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/OpenSim/Data/SQLite/SQLiteAssetData.cs b/OpenSim/Data/SQLite/SQLiteAssetData.cs index 61e7aaf3c7..c32982e1e3 100644 --- a/OpenSim/Data/SQLite/SQLiteAssetData.cs +++ b/OpenSim/Data/SQLite/SQLiteAssetData.cs @@ -46,7 +46,7 @@ namespace OpenSim.Data.SQLite /// public class SQLiteAssetData : AssetDataBase { -// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); private const string SelectAssetSQL = "select * from assets where UUID=:UUID"; private const string SelectAssetMetadataSQL = "select Name, Description, Type, Temporary, asset_flags, UUID, CreatorID from assets limit :start, :count"; @@ -133,6 +133,24 @@ namespace OpenSim.Data.SQLite /// Asset Base override public void StoreAsset(AssetBase asset) { + string assetName = asset.Name; + if (asset.Name.Length > 64) + { + assetName = asset.Name.Substring(0, 64); + m_log.WarnFormat( + "[ASSET DB]: Name '{0}' for asset {1} truncated from {2} to {3} characters on add", + asset.Name, asset.ID, asset.Name.Length, assetName.Length); + } + + string assetDescription = asset.Description; + if (asset.Description.Length > 64) + { + assetDescription = asset.Description.Substring(0, 64); + m_log.WarnFormat( + "[ASSET DB]: Description '{0}' for asset {1} truncated from {2} to {3} characters on add", + asset.Description, asset.ID, asset.Description.Length, assetDescription.Length); + } + //m_log.Info("[ASSET DB]: Creating Asset " + asset.FullID.ToString()); if (ExistsAsset(asset.FullID)) { @@ -143,8 +161,8 @@ namespace OpenSim.Data.SQLite using (SqliteCommand cmd = new SqliteCommand(UpdateAssetSQL, m_conn)) { cmd.Parameters.Add(new SqliteParameter(":UUID", asset.FullID.ToString())); - cmd.Parameters.Add(new SqliteParameter(":Name", asset.Name)); - cmd.Parameters.Add(new SqliteParameter(":Description", asset.Description)); + cmd.Parameters.Add(new SqliteParameter(":Name", assetName)); + cmd.Parameters.Add(new SqliteParameter(":Description", assetDescription)); cmd.Parameters.Add(new SqliteParameter(":Type", asset.Type)); cmd.Parameters.Add(new SqliteParameter(":Local", asset.Local)); cmd.Parameters.Add(new SqliteParameter(":Temporary", asset.Temporary)); @@ -163,8 +181,8 @@ namespace OpenSim.Data.SQLite using (SqliteCommand cmd = new SqliteCommand(InsertAssetSQL, m_conn)) { cmd.Parameters.Add(new SqliteParameter(":UUID", asset.FullID.ToString())); - cmd.Parameters.Add(new SqliteParameter(":Name", asset.Name)); - cmd.Parameters.Add(new SqliteParameter(":Description", asset.Description)); + cmd.Parameters.Add(new SqliteParameter(":Name", assetName)); + cmd.Parameters.Add(new SqliteParameter(":Description", assetDescription)); cmd.Parameters.Add(new SqliteParameter(":Type", asset.Type)); cmd.Parameters.Add(new SqliteParameter(":Local", asset.Local)); cmd.Parameters.Add(new SqliteParameter(":Temporary", asset.Temporary)); From 1bef19b91435ffd7907cac8119014c0b5a6382f9 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 27 Feb 2013 21:45:31 +0000 Subject: [PATCH 663/851] Do not have the Freeswitch connector on by default in Robust ini example files. This is not widely used (may even be currently broken), only allows very poor quality voice (not the fault of FreeSwitch) and requires a complicated Freeswitch setup. Having it on but not configured results in spurious warnings in the logs --- bin/Robust.HG.ini.example | 3 ++- bin/Robust.ini.example | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 53676a32c4..aae76d5c09 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -52,7 +52,8 @@ AssetServiceConnector = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector" InventoryInConnector = "8003/OpenSim.Server.Handlers.dll:XInventoryInConnector" -VoiceConnector = "8004/OpenSim.Server.Handlers.dll:FreeswitchServerConnector" +;; Uncomment if you have set up Freeswitch (see [FreeswitchService] below) +;VoiceConnector = "8004/OpenSim.Server.Handlers.dll:FreeswitchServerConnector" GridServiceConnector = "8003/OpenSim.Server.Handlers.dll:GridServiceConnector" GridInfoServerInConnector = "8002/OpenSim.Server.Handlers.dll:GridInfoServerInConnector" AuthenticationServiceConnector = "8003/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector" diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index bb98bbf4c3..d932ce7303 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -30,7 +30,8 @@ [ServiceList] AssetServiceConnector = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector" InventoryInConnector = "8003/OpenSim.Server.Handlers.dll:XInventoryInConnector" -VoiceConnector = "8004/OpenSim.Server.Handlers.dll:FreeswitchServerConnector" +;; Uncomment if you have set up Freeswitch (see [FreeswitchService] below) +;VoiceConnector = "8004/OpenSim.Server.Handlers.dll:FreeswitchServerConnector" GridServiceConnector = "8003/OpenSim.Server.Handlers.dll:GridServiceConnector" GridInfoServerInConnector = "8002/OpenSim.Server.Handlers.dll:GridInfoServerInConnector" AuthenticationServiceConnector = "8003/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector" From 647cb278c714f86c945a449bfecc901982d96687 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 27 Feb 2013 22:25:03 +0000 Subject: [PATCH 664/851] Get "show modules" console command to show modules in alphabetical order, and group shared and non-shared modules together This is to make it easier to tell if a region has a certain module active or not --- OpenSim/Region/Application/OpenSim.cs | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/OpenSim/Region/Application/OpenSim.cs b/OpenSim/Region/Application/OpenSim.cs index c4731a3bf0..20e00e3723 100644 --- a/OpenSim/Region/Application/OpenSim.cs +++ b/OpenSim/Region/Application/OpenSim.cs @@ -30,6 +30,7 @@ using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.IO; +using System.Linq; using System.Reflection; using System.Text; using System.Text.RegularExpressions; @@ -809,15 +810,27 @@ namespace OpenSim case "modules": SceneManager.ForEachScene( - delegate(Scene scene) { - MainConsole.Instance.Output("Loaded region modules in" + scene.RegionInfo.RegionName + " are:"); - foreach (IRegionModuleBase module in scene.RegionModules.Values) + scene => { - Type type = module.GetType().GetInterface("ISharedRegionModule"); - string module_type = type != null ? "Shared" : "Non-Shared"; - MainConsole.Instance.OutputFormat("New Region Module ({0}): {1}", module_type, module.Name); + MainConsole.Instance.OutputFormat("Loaded region modules in {0} are:", scene.Name); + + List sharedModules = new List(); + List nonSharedModules = new List(); + + foreach (IRegionModuleBase module in scene.RegionModules.Values) + { + if (module.GetType().GetInterface("ISharedRegionModule") != null) + nonSharedModules.Add(module); + else + sharedModules.Add(module); + } + + foreach (IRegionModuleBase module in sharedModules.OrderBy(m => m.Name)) + MainConsole.Instance.OutputFormat("New Region Module (Shared): {0}", module.Name); + + foreach (IRegionModuleBase module in sharedModules.OrderBy(m => m.Name)) + MainConsole.Instance.OutputFormat("New Region Module (Non-Shared): {0}", module.Name); } - } ); MainConsole.Instance.Output(""); From 0e8ec5649ec5929927760368226ac5c584dc4a4e Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 27 Feb 2013 22:31:47 +0000 Subject: [PATCH 665/851] Get "show modules" console command to obey selected command line region/s --- OpenSim/Region/Application/OpenSim.cs | 2 +- OpenSim/Region/Application/OpenSimBase.cs | 2 +- .../Region/Framework/Scenes/SceneManager.cs | 27 ++++++++----------- 3 files changed, 13 insertions(+), 18 deletions(-) diff --git a/OpenSim/Region/Application/OpenSim.cs b/OpenSim/Region/Application/OpenSim.cs index 20e00e3723..4075edb392 100644 --- a/OpenSim/Region/Application/OpenSim.cs +++ b/OpenSim/Region/Application/OpenSim.cs @@ -809,7 +809,7 @@ namespace OpenSim break; case "modules": - SceneManager.ForEachScene( + SceneManager.ForEachSelectedScene( scene => { MainConsole.Instance.OutputFormat("Loaded region modules in {0} are:", scene.Name); diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs index 3c8e199067..c555915eac 100644 --- a/OpenSim/Region/Application/OpenSimBase.cs +++ b/OpenSim/Region/Application/OpenSimBase.cs @@ -668,7 +668,7 @@ namespace OpenSim // listenIP = IPAddress.Parse("0.0.0.0"); uint port = (uint) regionInfo.InternalEndPoint.Port; - IClientNetworkServer clientNetworkServer; + if (m_autoCreateClientStack) { clientNetworkServers = m_clientStackManager.CreateServers( diff --git a/OpenSim/Region/Framework/Scenes/SceneManager.cs b/OpenSim/Region/Framework/Scenes/SceneManager.cs index 1e2e973662..780bd01756 100644 --- a/OpenSim/Region/Framework/Scenes/SceneManager.cs +++ b/OpenSim/Region/Framework/Scenes/SceneManager.cs @@ -331,35 +331,30 @@ namespace OpenSim.Region.Framework.Scenes public void SendCommandToPluginModules(string[] cmdparams) { - ForEachCurrentScene(delegate(Scene scene) { scene.SendCommandToPlugins(cmdparams); }); + ForEachSelectedScene(delegate(Scene scene) { scene.SendCommandToPlugins(cmdparams); }); } public void SetBypassPermissionsOnCurrentScene(bool bypassPermissions) { - ForEachCurrentScene(delegate(Scene scene) { scene.Permissions.SetBypassPermissions(bypassPermissions); }); + ForEachSelectedScene(delegate(Scene scene) { scene.Permissions.SetBypassPermissions(bypassPermissions); }); } - private void ForEachCurrentScene(Action func) + public void ForEachSelectedScene(Action func) { if (CurrentScene == null) - { - lock (m_localScenes) - m_localScenes.ForEach(func); - } + ForEachScene(func); else - { func(CurrentScene); - } } public void RestartCurrentScene() { - ForEachCurrentScene(delegate(Scene scene) { scene.RestartNow(); }); + ForEachSelectedScene(delegate(Scene scene) { scene.RestartNow(); }); } public void BackupCurrentScene() { - ForEachCurrentScene(delegate(Scene scene) { scene.Backup(true); }); + ForEachSelectedScene(delegate(Scene scene) { scene.Backup(true); }); } public bool TrySetCurrentScene(string regionName) @@ -490,7 +485,7 @@ namespace OpenSim.Region.Framework.Scenes /// Name of avatar to debug public void SetDebugPacketLevelOnCurrentScene(int newDebug, string name) { - ForEachCurrentScene(scene => + ForEachSelectedScene(scene => scene.ForEachScenePresence(sp => { if (name == null || sp.Name == name) @@ -509,7 +504,7 @@ namespace OpenSim.Region.Framework.Scenes { List avatars = new List(); - ForEachCurrentScene( + ForEachSelectedScene( delegate(Scene scene) { scene.ForEachRootScenePresence(delegate(ScenePresence scenePresence) @@ -526,7 +521,7 @@ namespace OpenSim.Region.Framework.Scenes { List presences = new List(); - ForEachCurrentScene(delegate(Scene scene) + ForEachSelectedScene(delegate(Scene scene) { scene.ForEachScenePresence(delegate(ScenePresence sp) { @@ -555,12 +550,12 @@ namespace OpenSim.Region.Framework.Scenes public void ForceCurrentSceneClientUpdate() { - ForEachCurrentScene(delegate(Scene scene) { scene.ForceClientUpdate(); }); + ForEachSelectedScene(delegate(Scene scene) { scene.ForceClientUpdate(); }); } public void HandleEditCommandOnCurrentScene(string[] cmdparams) { - ForEachCurrentScene(delegate(Scene scene) { scene.HandleEditCommand(cmdparams); }); + ForEachSelectedScene(delegate(Scene scene) { scene.HandleEditCommand(cmdparams); }); } public bool TryGetScenePresence(UUID avatarId, out ScenePresence avatar) From b892411575f2a42bf1ca3c326815942f905e79ff Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 27 Feb 2013 22:54:51 +0000 Subject: [PATCH 666/851] Add comment to example region modules about need to add Assembly annotation if adding modules to a DLL which does not already have this --- .../Example/BareBonesNonShared/BareBonesNonSharedModule.cs | 5 +++++ .../Example/BareBonesShared/BareBonesSharedModule.cs | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/OpenSim/Region/OptionalModules/Example/BareBonesNonShared/BareBonesNonSharedModule.cs b/OpenSim/Region/OptionalModules/Example/BareBonesNonShared/BareBonesNonSharedModule.cs index 7d37135fd6..ad2fc7a9b3 100644 --- a/OpenSim/Region/OptionalModules/Example/BareBonesNonShared/BareBonesNonSharedModule.cs +++ b/OpenSim/Region/OptionalModules/Example/BareBonesNonShared/BareBonesNonSharedModule.cs @@ -33,6 +33,11 @@ using Nini.Config; using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes; +// You will need to uncomment this line if you are adding a region module to some other assembly which does not already +// specify its assembly. Otherwise, the region modules in the assembly will not be picked up when OpenSimulator scans +// the available DLLs +//[assembly: Addin("MyModule", "1.0")] + namespace OpenSim.Region.OptionalModules.Example.BareBonesNonShared { /// diff --git a/OpenSim/Region/OptionalModules/Example/BareBonesShared/BareBonesSharedModule.cs b/OpenSim/Region/OptionalModules/Example/BareBonesShared/BareBonesSharedModule.cs index 781fe952d2..bb9cbb7325 100644 --- a/OpenSim/Region/OptionalModules/Example/BareBonesShared/BareBonesSharedModule.cs +++ b/OpenSim/Region/OptionalModules/Example/BareBonesShared/BareBonesSharedModule.cs @@ -33,6 +33,11 @@ using Nini.Config; using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes; +// You will need to uncomment this line if you are adding a region module to some other assembly which does not already +// specify its assembly. Otherwise, the region modules in the assembly will not be picked up when OpenSimulator scans +// the available DLLs +//[assembly: Addin("MyModule", "1.0")] + namespace OpenSim.Region.OptionalModules.Example.BareBonesShared { /// From f1010d7b152b68e2961b40482006221e28e976af Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Wed, 27 Feb 2013 20:49:41 -0800 Subject: [PATCH 667/851] Moved the HG default variables out of [Startup] and into their own section [Hypergrid] in *Common.ini.example. Backwards compatible for now. --- .../HGGroupsServiceRobustConnector.cs | 2 +- .../CoreModules/Avatar/Lure/HGLureModule.cs | 2 +- .../HGInventoryAccessModule.cs | 4 ++-- .../DataSnapshot/DataSnapshotManager.cs | 2 +- .../Shared/Api/Implementation/OSSL_Api.cs | 4 ++-- .../Server/Handlers/Grid/GridInfoHandlers.cs | 2 +- .../Services/GridService/HypergridLinker.cs | 2 +- .../HypergridService/GatekeeperService.cs | 2 +- .../HypergridService/HGInventoryService.cs | 2 +- .../HGSuitcaseInventoryService.cs | 2 +- .../HypergridService/UserAgentService.cs | 2 +- .../Services/LLLoginService/LLLoginService.cs | 2 +- bin/OpenSim.ini.example | 17 --------------- bin/config-include/GridCommon.ini.example | 20 ++++++++++++++++++ .../StandaloneCommon.ini.example | 21 +++++++++++++++++++ 15 files changed, 55 insertions(+), 31 deletions(-) diff --git a/OpenSim/Addons/Groups/Hypergrid/HGGroupsServiceRobustConnector.cs b/OpenSim/Addons/Groups/Hypergrid/HGGroupsServiceRobustConnector.cs index 7cc9ff4044..9dc03e2587 100644 --- a/OpenSim/Addons/Groups/Hypergrid/HGGroupsServiceRobustConnector.cs +++ b/OpenSim/Addons/Groups/Hypergrid/HGGroupsServiceRobustConnector.cs @@ -65,7 +65,7 @@ namespace OpenSim.Groups m_log.DebugFormat("[Groups.RobustHGConnector]: Starting with config name {0}", m_ConfigName); - string homeURI = Util.GetConfigVarFromSections(config, "HomeURI", new string[] { "Startup", m_ConfigName} ); //cnf.GetString("HomeURI", string.Empty); + string homeURI = Util.GetConfigVarFromSections(config, "HomeURI", new string[] { "Startup", "Hypergrid", m_ConfigName} ); //cnf.GetString("HomeURI", string.Empty); if (homeURI == string.Empty) throw new Exception(String.Format("[Groups.RobustHGConnector]: please provide the HomeURI [Startup] or in section {0}", m_ConfigName)); diff --git a/OpenSim/Region/CoreModules/Avatar/Lure/HGLureModule.cs b/OpenSim/Region/CoreModules/Avatar/Lure/HGLureModule.cs index 22cdc8086f..c646d94a2f 100644 --- a/OpenSim/Region/CoreModules/Avatar/Lure/HGLureModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Lure/HGLureModule.cs @@ -65,7 +65,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Lure { m_Enabled = true; - m_ThisGridURL = Util.GetConfigVarFromSections(config, "GatekeeperURI", new string[] {"Startup", "Messaging"}); + m_ThisGridURL = Util.GetConfigVarFromSections(config, "GatekeeperURI", new string[] { "Startup", "Hypergrid", "Messaging" }); // Legacy. Remove soon! m_ThisGridURL = config.Configs["Messaging"].GetString("Gatekeeper", m_ThisGridURL); m_log.DebugFormat("[LURE MODULE]: {0} enabled", Name); diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs index 4f6b92e288..31fcceaa62 100644 --- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs +++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs @@ -88,8 +88,8 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess IConfig thisModuleConfig = source.Configs["HGInventoryAccessModule"]; if (thisModuleConfig != null) { - m_HomeURI = Util.GetConfigVarFromSections(source, "HomeURI", new string[] {"Startup", "HGInventoryAccessModule"}); - m_ThisGatekeeper = Util.GetConfigVarFromSections(source, "GatekeeperURI", new string[] {"Startup", "HGInventoryAccessModule"}); + m_HomeURI = Util.GetConfigVarFromSections(source, "HomeURI", new string[] { "Startup", "Hypergrid", "HGInventoryAccessModule" }); + m_ThisGatekeeper = Util.GetConfigVarFromSections(source, "GatekeeperURI", new string[] { "Startup", "Hypergrid", "HGInventoryAccessModule" }); // Legacy. Renove soon! m_ThisGatekeeper = thisModuleConfig.GetString("Gatekeeper", m_ThisGatekeeper); diff --git a/OpenSim/Region/DataSnapshot/DataSnapshotManager.cs b/OpenSim/Region/DataSnapshot/DataSnapshotManager.cs index e8bf1943ed..61dbfa5391 100644 --- a/OpenSim/Region/DataSnapshot/DataSnapshotManager.cs +++ b/OpenSim/Region/DataSnapshot/DataSnapshotManager.cs @@ -113,7 +113,7 @@ namespace OpenSim.Region.DataSnapshot try { m_enabled = config.Configs["DataSnapshot"].GetBoolean("index_sims", m_enabled); - string gatekeeper = Util.GetConfigVarFromSections(config, "GatekeeperURI", new string[] {"Startup", "GridService"}); + string gatekeeper = Util.GetConfigVarFromSections(config, "GatekeeperURI", new string[] { "Startup", "Hypergrid", "GridService" }); // Legacy. Remove soon! if (string.IsNullOrEmpty(gatekeeper)) { diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index d356f8c2c9..e81b4ae32a 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -2138,7 +2138,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_host.AddScriptLPS(1); IConfigSource config = m_ScriptEngine.ConfigSource; - string HomeURI = Util.GetConfigVarFromSections(config, "HomeURI", new string[]{"Startup"}); + string HomeURI = Util.GetConfigVarFromSections(config, "HomeURI", new string[] { "Startup", "Hypergrid" }); if (!string.IsNullOrEmpty(HomeURI)) return HomeURI; @@ -2159,7 +2159,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_host.AddScriptLPS(1); IConfigSource config = m_ScriptEngine.ConfigSource; - string gatekeeperURI = Util.GetConfigVarFromSections(config, "GatekeeperURI", new string[] {"Startup"}); + string gatekeeperURI = Util.GetConfigVarFromSections(config, "GatekeeperURI", new string[] { "Startup", "Hypergrid" }); if (!string.IsNullOrEmpty(gatekeeperURI)) return gatekeeperURI; diff --git a/OpenSim/Server/Handlers/Grid/GridInfoHandlers.cs b/OpenSim/Server/Handlers/Grid/GridInfoHandlers.cs index d85aab07fe..bfcdc4b527 100644 --- a/OpenSim/Server/Handlers/Grid/GridInfoHandlers.cs +++ b/OpenSim/Server/Handlers/Grid/GridInfoHandlers.cs @@ -177,7 +177,7 @@ namespace OpenSim.Server.Handlers.Grid map[k] = OSD.FromString(_info[k].ToString()); } - string HomeURI = Util.GetConfigVarFromSections(m_Config, "HomeURI", new string[] {"Startup"}); + string HomeURI = Util.GetConfigVarFromSections(m_Config, "HomeURI", new string[] { "Startup", "Hypergrid" }); if (!String.IsNullOrEmpty(HomeURI)) map["home"] = OSD.FromString(HomeURI); diff --git a/OpenSim/Services/GridService/HypergridLinker.cs b/OpenSim/Services/GridService/HypergridLinker.cs index 80575ee4b4..885c2aa092 100644 --- a/OpenSim/Services/GridService/HypergridLinker.cs +++ b/OpenSim/Services/GridService/HypergridLinker.cs @@ -128,7 +128,7 @@ namespace OpenSim.Services.GridService m_MapTileDirectory = gridConfig.GetString("MapTileDirectory", "maptiles"); - m_ThisGatekeeper = Util.GetConfigVarFromSections(config, "GatekeeperURI", new string[] {"Startup", "GridService"}); + m_ThisGatekeeper = Util.GetConfigVarFromSections(config, "GatekeeperURI", new string[] { "Startup", "Hypergrid", "GridService" }); // Legacy. Remove soon! m_ThisGatekeeper = gridConfig.GetString("Gatekeeper", m_ThisGatekeeper); try diff --git a/OpenSim/Services/HypergridService/GatekeeperService.cs b/OpenSim/Services/HypergridService/GatekeeperService.cs index c41d95284c..4653da917e 100644 --- a/OpenSim/Services/HypergridService/GatekeeperService.cs +++ b/OpenSim/Services/HypergridService/GatekeeperService.cs @@ -96,7 +96,7 @@ namespace OpenSim.Services.HypergridService UUID.TryParse(scope, out m_ScopeID); //m_WelcomeMessage = serverConfig.GetString("WelcomeMessage", "Welcome to OpenSim!"); m_AllowTeleportsToAnyRegion = serverConfig.GetBoolean("AllowTeleportsToAnyRegion", true); - m_ExternalName = Util.GetConfigVarFromSections(config, "GatekeeperURI", new string[] {"Startup", "GatekeeperService"}); + m_ExternalName = Util.GetConfigVarFromSections(config, "GatekeeperURI", new string[] { "Startup", "Hypergrid", "GatekeeperService" }); m_ExternalName = serverConfig.GetString("ExternalName", m_ExternalName); if (m_ExternalName != string.Empty && !m_ExternalName.EndsWith("/")) m_ExternalName = m_ExternalName + "/"; diff --git a/OpenSim/Services/HypergridService/HGInventoryService.cs b/OpenSim/Services/HypergridService/HGInventoryService.cs index 17e83ccd3b..637ac8ca65 100644 --- a/OpenSim/Services/HypergridService/HGInventoryService.cs +++ b/OpenSim/Services/HypergridService/HGInventoryService.cs @@ -81,7 +81,7 @@ namespace OpenSim.Services.HypergridService if (m_UserAccountService == null) throw new Exception(String.Format("Unable to create UserAccountService from {0}", userAccountsDll)); - m_HomeURL = Util.GetConfigVarFromSections(config, "HomeURI", new string[] {"Startup", m_ConfigName}); + m_HomeURL = Util.GetConfigVarFromSections(config, "HomeURI", new string[] { "Startup", "Hypergrid", m_ConfigName }); m_Cache = UserAccountCache.CreateUserAccountCache(m_UserAccountService); } diff --git a/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs b/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs index 776bf0c086..444759f933 100644 --- a/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs +++ b/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs @@ -96,7 +96,7 @@ namespace OpenSim.Services.HypergridService if (m_AvatarService == null) throw new Exception(String.Format("Unable to create m_AvatarService from {0}", avatarDll)); - m_HomeURL = Util.GetConfigVarFromSections(config, "HomeURI", new string[] {"Startup", m_ConfigName}); + m_HomeURL = Util.GetConfigVarFromSections(config, "HomeURI", new string[] { "Startup", "Hypergrid", m_ConfigName }); // m_Cache = UserAccountCache.CreateUserAccountCache(m_UserAccountService); } diff --git a/OpenSim/Services/HypergridService/UserAgentService.cs b/OpenSim/Services/HypergridService/UserAgentService.cs index 2ab0b87b2f..64367c0fd4 100644 --- a/OpenSim/Services/HypergridService/UserAgentService.cs +++ b/OpenSim/Services/HypergridService/UserAgentService.cs @@ -131,7 +131,7 @@ namespace OpenSim.Services.HypergridService LoadDomainExceptionsFromConfig(serverConfig, "AllowExcept", m_TripsAllowedExceptions); LoadDomainExceptionsFromConfig(serverConfig, "DisallowExcept", m_TripsDisallowedExceptions); - m_GridName = Util.GetConfigVarFromSections(config, "GatekeeperURI", new string[] {"Startup", "UserAgentService"}); + m_GridName = Util.GetConfigVarFromSections(config, "GatekeeperURI", new string[] { "Startup", "Hypergrid", "UserAgentService" }); if (string.IsNullOrEmpty(m_GridName)) // Legacy. Remove soon. { m_GridName = serverConfig.GetString("ExternalName", string.Empty); diff --git a/OpenSim/Services/LLLoginService/LLLoginService.cs b/OpenSim/Services/LLLoginService/LLLoginService.cs index 0fbd090f49..e678ccfae0 100644 --- a/OpenSim/Services/LLLoginService/LLLoginService.cs +++ b/OpenSim/Services/LLLoginService/LLLoginService.cs @@ -110,7 +110,7 @@ namespace OpenSim.Services.LLLoginService m_RequireInventory = m_LoginServerConfig.GetBoolean("RequireInventory", true); m_AllowRemoteSetLoginLevel = m_LoginServerConfig.GetBoolean("AllowRemoteSetLoginLevel", false); m_MinLoginLevel = m_LoginServerConfig.GetInt("MinLoginLevel", 0); - m_GatekeeperURL = Util.GetConfigVarFromSections(config, "GatekeeperURI", new string[] {"Startup", "LoginService"}); + m_GatekeeperURL = Util.GetConfigVarFromSections(config, "GatekeeperURI", new string[] { "Startup", "Hypergrid", "LoginService" }); m_MapTileURL = m_LoginServerConfig.GetString("MapTileURL", string.Empty); m_ProfileURL = m_LoginServerConfig.GetString("ProfileServerURL", string.Empty); m_OpenIDURL = m_LoginServerConfig.GetString("OpenIDServerURL", String.Empty); diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 2756b32c75..9761052232 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -320,23 +320,6 @@ ;; - "Imprudence 1.3.1" has access ; BannedViewerList = - ;# {HomeURI} {Hypergrid} {The Home URL of this world} {} - ;; If this is a standalone world, this is the address of this instance. - ;; If this is a grided simulator, this is the address of the external robust server that - ;; runs the UserAgentsService. - ;; For example http://myworld.com:9000 or http://myworld.com:8002 - ;; This is a default that can be overwritten in some sections. - ; HomeURI = "http://127.0.0.1:9000" - - ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} - ;; If this is a standalone world, this is the address of this instance. - ;; If this is a grided simulator, this is the address of the external robust server - ;; that runs the Gatekeeper service. - ;; For example http://myworld.com:9000 or http://myworld.com:8002 - ;; This is a default that can be overwritten in some sections. - ; GatekeeperURI = "http://127.0.0.1:9000" - - [Map] ;# {GenerateMaptiles} {} {Generate map tiles?} {true false} true ;; Map tile options. You can choose to generate normal maptiles or nominate an uploaded texture to diff --git a/bin/config-include/GridCommon.ini.example b/bin/config-include/GridCommon.ini.example index e53fccabbe..d12ea5ba2a 100644 --- a/bin/config-include/GridCommon.ini.example +++ b/bin/config-include/GridCommon.ini.example @@ -26,6 +26,26 @@ ;StorageProvider = "OpenSim.Data.MSSQL.dll" ;ConnectionString = "Server=localhost\SQLEXPRESS;Database=opensim;User Id=opensim; password=***;" +[Hypergrid] + ; Uncomment the variables in this section only if you are in + ; Hypergrid configuration. Otherwise, ignore. + + ;# {HomeURI} {Hypergrid} {The Home URL of this world} {} + ;; If this is a standalone world, this is the address of this instance. + ;; If this is a grided simulator, this is the address of the external robust server that + ;; runs the UserAgentsService. + ;; For example http://myworld.com:9000 or http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + ; HomeURI = "http://127.0.0.1:9000" + + ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} + ;; If this is a standalone world, this is the address of this instance. + ;; If this is a grided simulator, this is the address of the external robust server + ;; that runs the Gatekeeper service. + ;; For example http://myworld.com:9000 or http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + ; GatekeeperURI = "http://127.0.0.1:9000" + [Modules] ;; Choose one cache module and the corresponding config file, if it exists. ;; Copy the config .example file into your own .ini file and adapt that. diff --git a/bin/config-include/StandaloneCommon.ini.example b/bin/config-include/StandaloneCommon.ini.example index 3129078861..f80044eed6 100644 --- a/bin/config-include/StandaloneCommon.ini.example +++ b/bin/config-include/StandaloneCommon.ini.example @@ -27,6 +27,27 @@ ;StorageProvider = "OpenSim.Data.MSSQL.dll" ;ConnectionString = "Server=localhost\SQLEXPRESS;Database=opensim;User Id=opensim; password=***;" +[Hypergrid] + ; Uncomment the variables in this section only if you are in + ; Hypergrid configuration. Otherwise, ignore. + + ;# {HomeURI} {Hypergrid} {The Home URL of this world} {} + ;; If this is a standalone world, this is the address of this instance. + ;; If this is a grided simulator, this is the address of the external robust server that + ;; runs the UserAgentsService. + ;; For example http://myworld.com:9000 or http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + ; HomeURI = "http://127.0.0.1:9000" + + ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} + ;; If this is a standalone world, this is the address of this instance. + ;; If this is a grided simulator, this is the address of the external robust server + ;; that runs the Gatekeeper service. + ;; For example http://myworld.com:9000 or http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + ; GatekeeperURI = "http://127.0.0.1:9000" + + [Modules] ;; Choose one cache module and the corresponding config file, if it exists. ;; Copy the config .example file into your own .ini file and alter that From bb447581795cb622e88a071d3050370c64ace946 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Wed, 27 Feb 2013 20:59:16 -0800 Subject: [PATCH 668/851] Switched to using the other Util function with a default value. --- .../Groups/Hypergrid/HGGroupsServiceRobustConnector.cs | 3 ++- OpenSim/Region/CoreModules/Avatar/Lure/HGLureModule.cs | 3 ++- .../Framework/InventoryAccess/HGInventoryAccessModule.cs | 6 ++++-- OpenSim/Region/DataSnapshot/DataSnapshotManager.cs | 3 ++- .../ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | 6 ++++-- OpenSim/Server/Handlers/Grid/GridInfoHandlers.cs | 3 ++- OpenSim/Services/GridService/HypergridLinker.cs | 3 ++- OpenSim/Services/HypergridService/GatekeeperService.cs | 3 ++- OpenSim/Services/HypergridService/HGInventoryService.cs | 3 ++- .../Services/HypergridService/HGSuitcaseInventoryService.cs | 3 ++- OpenSim/Services/HypergridService/UserAgentService.cs | 3 ++- OpenSim/Services/LLLoginService/LLLoginService.cs | 3 ++- 12 files changed, 28 insertions(+), 14 deletions(-) diff --git a/OpenSim/Addons/Groups/Hypergrid/HGGroupsServiceRobustConnector.cs b/OpenSim/Addons/Groups/Hypergrid/HGGroupsServiceRobustConnector.cs index 9dc03e2587..3584f78c52 100644 --- a/OpenSim/Addons/Groups/Hypergrid/HGGroupsServiceRobustConnector.cs +++ b/OpenSim/Addons/Groups/Hypergrid/HGGroupsServiceRobustConnector.cs @@ -65,7 +65,8 @@ namespace OpenSim.Groups m_log.DebugFormat("[Groups.RobustHGConnector]: Starting with config name {0}", m_ConfigName); - string homeURI = Util.GetConfigVarFromSections(config, "HomeURI", new string[] { "Startup", "Hypergrid", m_ConfigName} ); //cnf.GetString("HomeURI", string.Empty); + string homeURI = Util.GetConfigVarFromSections(config, "HomeURI", + new string[] { "Startup", "Hypergrid", m_ConfigName}, string.Empty); if (homeURI == string.Empty) throw new Exception(String.Format("[Groups.RobustHGConnector]: please provide the HomeURI [Startup] or in section {0}", m_ConfigName)); diff --git a/OpenSim/Region/CoreModules/Avatar/Lure/HGLureModule.cs b/OpenSim/Region/CoreModules/Avatar/Lure/HGLureModule.cs index c646d94a2f..6c9fd86689 100644 --- a/OpenSim/Region/CoreModules/Avatar/Lure/HGLureModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Lure/HGLureModule.cs @@ -65,7 +65,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Lure { m_Enabled = true; - m_ThisGridURL = Util.GetConfigVarFromSections(config, "GatekeeperURI", new string[] { "Startup", "Hypergrid", "Messaging" }); + m_ThisGridURL = Util.GetConfigVarFromSections(config, "GatekeeperURI", + new string[] { "Startup", "Hypergrid", "Messaging" }, String.Empty); // Legacy. Remove soon! m_ThisGridURL = config.Configs["Messaging"].GetString("Gatekeeper", m_ThisGridURL); m_log.DebugFormat("[LURE MODULE]: {0} enabled", Name); diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs index 31fcceaa62..b2b628d548 100644 --- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs +++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs @@ -88,8 +88,10 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess IConfig thisModuleConfig = source.Configs["HGInventoryAccessModule"]; if (thisModuleConfig != null) { - m_HomeURI = Util.GetConfigVarFromSections(source, "HomeURI", new string[] { "Startup", "Hypergrid", "HGInventoryAccessModule" }); - m_ThisGatekeeper = Util.GetConfigVarFromSections(source, "GatekeeperURI", new string[] { "Startup", "Hypergrid", "HGInventoryAccessModule" }); + m_HomeURI = Util.GetConfigVarFromSections(source, "HomeURI", + new string[] { "Startup", "Hypergrid", "HGInventoryAccessModule" }, String.Empty); + m_ThisGatekeeper = Util.GetConfigVarFromSections(source, "GatekeeperURI", + new string[] { "Startup", "Hypergrid", "HGInventoryAccessModule" }, String.Empty); // Legacy. Renove soon! m_ThisGatekeeper = thisModuleConfig.GetString("Gatekeeper", m_ThisGatekeeper); diff --git a/OpenSim/Region/DataSnapshot/DataSnapshotManager.cs b/OpenSim/Region/DataSnapshot/DataSnapshotManager.cs index 61dbfa5391..32017a8537 100644 --- a/OpenSim/Region/DataSnapshot/DataSnapshotManager.cs +++ b/OpenSim/Region/DataSnapshot/DataSnapshotManager.cs @@ -113,7 +113,8 @@ namespace OpenSim.Region.DataSnapshot try { m_enabled = config.Configs["DataSnapshot"].GetBoolean("index_sims", m_enabled); - string gatekeeper = Util.GetConfigVarFromSections(config, "GatekeeperURI", new string[] { "Startup", "Hypergrid", "GridService" }); + string gatekeeper = Util.GetConfigVarFromSections(config, "GatekeeperURI", + new string[] { "Startup", "Hypergrid", "GridService" }, String.Empty); // Legacy. Remove soon! if (string.IsNullOrEmpty(gatekeeper)) { diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index e81b4ae32a..48c6b5068c 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -2138,7 +2138,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_host.AddScriptLPS(1); IConfigSource config = m_ScriptEngine.ConfigSource; - string HomeURI = Util.GetConfigVarFromSections(config, "HomeURI", new string[] { "Startup", "Hypergrid" }); + string HomeURI = Util.GetConfigVarFromSections(config, "HomeURI", + new string[] { "Startup", "Hypergrid" }, String.Empty); if (!string.IsNullOrEmpty(HomeURI)) return HomeURI; @@ -2159,7 +2160,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_host.AddScriptLPS(1); IConfigSource config = m_ScriptEngine.ConfigSource; - string gatekeeperURI = Util.GetConfigVarFromSections(config, "GatekeeperURI", new string[] { "Startup", "Hypergrid" }); + string gatekeeperURI = Util.GetConfigVarFromSections(config, "GatekeeperURI", + new string[] { "Startup", "Hypergrid" }, String.Empty); if (!string.IsNullOrEmpty(gatekeeperURI)) return gatekeeperURI; diff --git a/OpenSim/Server/Handlers/Grid/GridInfoHandlers.cs b/OpenSim/Server/Handlers/Grid/GridInfoHandlers.cs index bfcdc4b527..346af32aa3 100644 --- a/OpenSim/Server/Handlers/Grid/GridInfoHandlers.cs +++ b/OpenSim/Server/Handlers/Grid/GridInfoHandlers.cs @@ -177,7 +177,8 @@ namespace OpenSim.Server.Handlers.Grid map[k] = OSD.FromString(_info[k].ToString()); } - string HomeURI = Util.GetConfigVarFromSections(m_Config, "HomeURI", new string[] { "Startup", "Hypergrid" }); + string HomeURI = Util.GetConfigVarFromSections(m_Config, "HomeURI", + new string[] { "Startup", "Hypergrid" }, String.Empty); if (!String.IsNullOrEmpty(HomeURI)) map["home"] = OSD.FromString(HomeURI); diff --git a/OpenSim/Services/GridService/HypergridLinker.cs b/OpenSim/Services/GridService/HypergridLinker.cs index 885c2aa092..833572416e 100644 --- a/OpenSim/Services/GridService/HypergridLinker.cs +++ b/OpenSim/Services/GridService/HypergridLinker.cs @@ -128,7 +128,8 @@ namespace OpenSim.Services.GridService m_MapTileDirectory = gridConfig.GetString("MapTileDirectory", "maptiles"); - m_ThisGatekeeper = Util.GetConfigVarFromSections(config, "GatekeeperURI", new string[] { "Startup", "Hypergrid", "GridService" }); + m_ThisGatekeeper = Util.GetConfigVarFromSections(config, "GatekeeperURI", + new string[] { "Startup", "Hypergrid", "GridService" }, String.Empty); // Legacy. Remove soon! m_ThisGatekeeper = gridConfig.GetString("Gatekeeper", m_ThisGatekeeper); try diff --git a/OpenSim/Services/HypergridService/GatekeeperService.cs b/OpenSim/Services/HypergridService/GatekeeperService.cs index 4653da917e..97a0afcb4b 100644 --- a/OpenSim/Services/HypergridService/GatekeeperService.cs +++ b/OpenSim/Services/HypergridService/GatekeeperService.cs @@ -96,7 +96,8 @@ namespace OpenSim.Services.HypergridService UUID.TryParse(scope, out m_ScopeID); //m_WelcomeMessage = serverConfig.GetString("WelcomeMessage", "Welcome to OpenSim!"); m_AllowTeleportsToAnyRegion = serverConfig.GetBoolean("AllowTeleportsToAnyRegion", true); - m_ExternalName = Util.GetConfigVarFromSections(config, "GatekeeperURI", new string[] { "Startup", "Hypergrid", "GatekeeperService" }); + m_ExternalName = Util.GetConfigVarFromSections(config, "GatekeeperURI", + new string[] { "Startup", "Hypergrid", "GatekeeperService" }, String.Empty); m_ExternalName = serverConfig.GetString("ExternalName", m_ExternalName); if (m_ExternalName != string.Empty && !m_ExternalName.EndsWith("/")) m_ExternalName = m_ExternalName + "/"; diff --git a/OpenSim/Services/HypergridService/HGInventoryService.cs b/OpenSim/Services/HypergridService/HGInventoryService.cs index 637ac8ca65..326e68d65d 100644 --- a/OpenSim/Services/HypergridService/HGInventoryService.cs +++ b/OpenSim/Services/HypergridService/HGInventoryService.cs @@ -81,7 +81,8 @@ namespace OpenSim.Services.HypergridService if (m_UserAccountService == null) throw new Exception(String.Format("Unable to create UserAccountService from {0}", userAccountsDll)); - m_HomeURL = Util.GetConfigVarFromSections(config, "HomeURI", new string[] { "Startup", "Hypergrid", m_ConfigName }); + m_HomeURL = Util.GetConfigVarFromSections(config, "HomeURI", + new string[] { "Startup", "Hypergrid", m_ConfigName }, String.Empty); m_Cache = UserAccountCache.CreateUserAccountCache(m_UserAccountService); } diff --git a/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs b/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs index 444759f933..eecf7579e5 100644 --- a/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs +++ b/OpenSim/Services/HypergridService/HGSuitcaseInventoryService.cs @@ -96,7 +96,8 @@ namespace OpenSim.Services.HypergridService if (m_AvatarService == null) throw new Exception(String.Format("Unable to create m_AvatarService from {0}", avatarDll)); - m_HomeURL = Util.GetConfigVarFromSections(config, "HomeURI", new string[] { "Startup", "Hypergrid", m_ConfigName }); + m_HomeURL = Util.GetConfigVarFromSections(config, "HomeURI", + new string[] { "Startup", "Hypergrid", m_ConfigName }, String.Empty); // m_Cache = UserAccountCache.CreateUserAccountCache(m_UserAccountService); } diff --git a/OpenSim/Services/HypergridService/UserAgentService.cs b/OpenSim/Services/HypergridService/UserAgentService.cs index 64367c0fd4..737e9c91af 100644 --- a/OpenSim/Services/HypergridService/UserAgentService.cs +++ b/OpenSim/Services/HypergridService/UserAgentService.cs @@ -131,7 +131,8 @@ namespace OpenSim.Services.HypergridService LoadDomainExceptionsFromConfig(serverConfig, "AllowExcept", m_TripsAllowedExceptions); LoadDomainExceptionsFromConfig(serverConfig, "DisallowExcept", m_TripsDisallowedExceptions); - m_GridName = Util.GetConfigVarFromSections(config, "GatekeeperURI", new string[] { "Startup", "Hypergrid", "UserAgentService" }); + m_GridName = Util.GetConfigVarFromSections(config, "GatekeeperURI", + new string[] { "Startup", "Hypergrid", "UserAgentService" }, String.Empty); if (string.IsNullOrEmpty(m_GridName)) // Legacy. Remove soon. { m_GridName = serverConfig.GetString("ExternalName", string.Empty); diff --git a/OpenSim/Services/LLLoginService/LLLoginService.cs b/OpenSim/Services/LLLoginService/LLLoginService.cs index e678ccfae0..53a22d4eed 100644 --- a/OpenSim/Services/LLLoginService/LLLoginService.cs +++ b/OpenSim/Services/LLLoginService/LLLoginService.cs @@ -110,7 +110,8 @@ namespace OpenSim.Services.LLLoginService m_RequireInventory = m_LoginServerConfig.GetBoolean("RequireInventory", true); m_AllowRemoteSetLoginLevel = m_LoginServerConfig.GetBoolean("AllowRemoteSetLoginLevel", false); m_MinLoginLevel = m_LoginServerConfig.GetInt("MinLoginLevel", 0); - m_GatekeeperURL = Util.GetConfigVarFromSections(config, "GatekeeperURI", new string[] { "Startup", "Hypergrid", "LoginService" }); + m_GatekeeperURL = Util.GetConfigVarFromSections(config, "GatekeeperURI", + new string[] { "Startup", "Hypergrid", "LoginService" }, String.Empty); m_MapTileURL = m_LoginServerConfig.GetString("MapTileURL", string.Empty); m_ProfileURL = m_LoginServerConfig.GetString("ProfileServerURL", string.Empty); m_OpenIDURL = m_LoginServerConfig.GetString("OpenIDServerURL", String.Empty); From 3cc3a8e5bf4653157adb51ac2839448189428a14 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Wed, 27 Feb 2013 21:12:27 -0800 Subject: [PATCH 669/851] Removed duplicate 'using' statement. --- OpenSim/Region/ScriptEngine/Shared/Api/Implementation/MOD_Api.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/MOD_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/MOD_Api.cs index 2fe6948d23..d0922aad53 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/MOD_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/MOD_Api.cs @@ -29,7 +29,6 @@ using System; using System.Reflection; using System.Collections; using System.Collections.Generic; -using System.Reflection; using System.Runtime.Remoting.Lifetime; using System.Threading; using log4net; From 9e0c678c1ea78f59387219e6b0f22db415c04caa Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Thu, 28 Feb 2013 06:24:09 -0800 Subject: [PATCH 670/851] Robust.HG.ini.example updated to get an [Hypergrid] section too. --- bin/Robust.HG.ini.example | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index aae76d5c09..91dea8cae2 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -34,20 +34,6 @@ ; The Robust.exe process must hvae R/W access to the location ConfigDirectory = "/home/opensim/etc/Configs" - ;# {HomeURI} {Hypergrid} {The Home URL of this world} {} - ;; This is the address of the external robust server that - ;; runs the UserAgentsService, possibly this server. - ;; For example http://myworld.com:8002 - ;; This is a default that can be overwritten in some sections. - ; HomeURI = "http://127.0.0.1:8002" - - ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} - ;; This is the address of the external robust server - ;; that runs the Gatekeeper service, possibly this server. - ;; For example http://myworld.com:8002 - ;; This is a default that can be overwritten in some sections. - ; GatekeeperURI = "http://127.0.0.1:8002" - [ServiceList] AssetServiceConnector = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector" @@ -119,6 +105,21 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ;ConsolePass = secret ;ConsolePort = 0 +[Hypergrid] + ;# {HomeURI} {Hypergrid} {The Home URL of this world} {} + ;; This is the address of the external robust server that + ;; runs the UserAgentsService, possibly this server. + ;; For example http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + ; HomeURI = "http://127.0.0.1:8002" + + ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {} + ;; This is the address of the external robust server + ;; that runs the Gatekeeper service, possibly this server. + ;; For example http://myworld.com:8002 + ;; This is a default that can be overwritten in some sections. + ; GatekeeperURI = "http://127.0.0.1:8002" + [DatabaseService] StorageProvider = "OpenSim.Data.MySQL.dll" ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;Old Guids=true;" From 14684116f8ef23892b71ef16759224a536ac27bf Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 28 Feb 2013 20:57:03 +0000 Subject: [PATCH 671/851] Add regression tests for llGetNotecardLine() --- .../Scenes/Tests/TaskInventoryTests.cs | 4 +- .../Shared/Tests/LSL_ApiLinkingTests.cs | 4 +- .../Shared/Tests/LSL_ApiNotecardTests.cs | 270 ++++++++++++++++++ .../Shared/Tests/OSSL_ApiAttachmentTests.cs | 2 +- .../Common/Helpers/TaskInventoryHelpers.cs | 32 ++- OpenSim/Tests/Common/Mock/MockScriptEngine.cs | 31 +- OpenSim/Tests/Common/TestHelpers.cs | 21 ++ OpenSim/Tests/ConfigurationLoaderTest.cs | 2 +- 8 files changed, 342 insertions(+), 24 deletions(-) create mode 100644 OpenSim/Region/ScriptEngine/Shared/Tests/LSL_ApiNotecardTests.cs diff --git a/OpenSim/Region/Framework/Scenes/Tests/TaskInventoryTests.cs b/OpenSim/Region/Framework/Scenes/Tests/TaskInventoryTests.cs index df819ec7bc..6e0ea7d869 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/TaskInventoryTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/TaskInventoryTests.cs @@ -130,7 +130,7 @@ namespace OpenSim.Region.Framework.Tests SceneObjectPart sop1 = sog1.RootPart; TaskInventoryItem sopItem1 = TaskInventoryHelpers.AddNotecard( - scene, sop1, "ncItem", TestHelpers.ParseTail(0x800), TestHelpers.ParseTail(0x900)); + scene, sop1, "ncItem", TestHelpers.ParseTail(0x800), TestHelpers.ParseTail(0x900), "Hello World!"); InventoryFolderBase folder = InventoryArchiveUtils.FindFoldersByPath(scene.InventoryService, user1.PrincipalID, "Objects")[0]; @@ -162,7 +162,7 @@ namespace OpenSim.Region.Framework.Tests SceneObjectPart sop1 = sog1.RootPart; TaskInventoryItem sopItem1 = TaskInventoryHelpers.AddNotecard( - scene, sop1, "ncItem", TestHelpers.ParseTail(0x800), TestHelpers.ParseTail(0x900)); + scene, sop1, "ncItem", TestHelpers.ParseTail(0x800), TestHelpers.ParseTail(0x900), "Hello World!"); // Perform test scene.MoveTaskInventoryItem(user1.PrincipalID, UUID.Zero, sop1, sopItem1.ItemID); diff --git a/OpenSim/Region/ScriptEngine/Shared/Tests/LSL_ApiLinkingTests.cs b/OpenSim/Region/ScriptEngine/Shared/Tests/LSL_ApiLinkingTests.cs index 5b57bbe497..ac9f93b0a7 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Tests/LSL_ApiLinkingTests.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Tests/LSL_ApiLinkingTests.cs @@ -93,7 +93,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests // FIXME: This should really be a script item (with accompanying script) TaskInventoryItem grp1Item = TaskInventoryHelpers.AddNotecard( - m_scene, grp1.RootPart, "ncItem", TestHelpers.ParseTail(0x800), TestHelpers.ParseTail(0x900)); + m_scene, grp1.RootPart, "ncItem", TestHelpers.ParseTail(0x800), TestHelpers.ParseTail(0x900), "Hello World!"); grp1Item.PermsMask |= ScriptBaseClass.PERMISSION_CHANGE_LINKS; SceneObjectGroup grp2 = SceneHelpers.CreateSceneObject(2, ownerId, "grp2-", 0x20); @@ -127,7 +127,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests // FIXME: This should really be a script item (with accompanying script) TaskInventoryItem grp1Item = TaskInventoryHelpers.AddNotecard( - m_scene, grp1.RootPart, "ncItem", TestHelpers.ParseTail(0x800), TestHelpers.ParseTail(0x900)); + m_scene, grp1.RootPart, "ncItem", TestHelpers.ParseTail(0x800), TestHelpers.ParseTail(0x900), "Hello World!"); grp1Item.PermsMask |= ScriptBaseClass.PERMISSION_CHANGE_LINKS; diff --git a/OpenSim/Region/ScriptEngine/Shared/Tests/LSL_ApiNotecardTests.cs b/OpenSim/Region/ScriptEngine/Shared/Tests/LSL_ApiNotecardTests.cs new file mode 100644 index 0000000000..c92bcdbc5b --- /dev/null +++ b/OpenSim/Region/ScriptEngine/Shared/Tests/LSL_ApiNotecardTests.cs @@ -0,0 +1,270 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Net; +using System.Reflection; +using System.Text; +using log4net; +using Nini.Config; +using NUnit.Framework; +using OpenMetaverse; +using OpenSim.Framework; +using OpenSim.Framework.Servers; +using OpenSim.Framework.Servers.HttpServer; +using OpenSim.Region.CoreModules.Scripting.LSLHttp; +using OpenSim.Region.Framework.Scenes; +using OpenSim.Region.ScriptEngine.Shared; +using OpenSim.Region.ScriptEngine.Shared.Api; +using OpenSim.Region.ScriptEngine.Shared.ScriptBase; +using OpenSim.Services.Interfaces; +using OpenSim.Tests.Common; +using OpenSim.Tests.Common.Mock; + +namespace OpenSim.Region.ScriptEngine.Shared.Tests +{ + /// + /// Tests for notecard related functions in LSL + /// + [TestFixture] + public class LSL_ApiNotecardTests : OpenSimTestCase + { + private Scene m_scene; + private MockScriptEngine m_engine; + + private SceneObjectGroup m_so; + private TaskInventoryItem m_scriptItem; + private LSL_Api m_lslApi; + + [TestFixtureSetUp] + public void TestFixtureSetUp() + { + // Don't allow tests to be bamboozled by asynchronous events. Execute everything on the same thread. + Util.FireAndForgetMethod = FireAndForgetMethod.RegressionTest; + } + + [TestFixtureTearDown] + public void TestFixureTearDown() + { + // We must set this back afterwards, otherwise later tests will fail since they're expecting multiple + // threads. Possibly, later tests should be rewritten so none of them require async stuff (which regression + // tests really shouldn't). + Util.FireAndForgetMethod = Util.DefaultFireAndForgetMethod; + } + + [SetUp] + public override void SetUp() + { + base.SetUp(); + + m_engine = new MockScriptEngine(); + + m_scene = new SceneHelpers().SetupScene(); + SceneHelpers.SetupSceneModules(m_scene, new IniConfigSource(), m_engine); + + m_so = SceneHelpers.AddSceneObject(m_scene); + m_scriptItem = TaskInventoryHelpers.AddScript(m_scene, m_so.RootPart); + + // This is disconnected from the actual script - the mock engine does not set up any LSL_Api atm. + // Possibly this could be done and we could obtain it directly from the MockScriptEngine. + m_lslApi = new LSL_Api(); + m_lslApi.Initialize(m_engine, m_so.RootPart, m_scriptItem, null); + } + + [Test] + public void TestLlGetNotecardLine() + { + TestHelpers.InMethod(); + + string[] ncLines = { "One", "Two", "Three" }; + + TaskInventoryItem ncItem + = TaskInventoryHelpers.AddNotecard(m_scene, m_so.RootPart, "nc", "1", "10", string.Join("\n", ncLines)); + + AssertValidNotecardLine(ncItem.Name, 0, ncLines[0]); + AssertValidNotecardLine(ncItem.Name, 2, ncLines[2]); + AssertValidNotecardLine(ncItem.Name, 3, ScriptBaseClass.EOF); + AssertValidNotecardLine(ncItem.Name, 4, ScriptBaseClass.EOF); + + // XXX: Is this correct or do we really expect no dataserver event to fire at all? + AssertValidNotecardLine(ncItem.Name, -1, ""); + AssertValidNotecardLine(ncItem.Name, -2, ""); + } + + [Test] + public void TestLlGetNotecardLine_NoNotecard() + { + TestHelpers.InMethod(); + + AssertInValidNotecardLine("nc", 0); + } + + [Test] + public void TestLlGetNotecardLine_NotANotecard() + { + TestHelpers.InMethod(); + + TaskInventoryItem ncItem = TaskInventoryHelpers.AddScript(m_scene, m_so.RootPart, "nc1", "Not important"); + + AssertInValidNotecardLine(ncItem.Name, 0); + } + + private void AssertValidNotecardLine(string ncName, int lineNumber, string assertLine) + { + string key = m_lslApi.llGetNotecardLine(ncName, lineNumber); + Assert.That(key, Is.Not.EqualTo(UUID.Zero.ToString())); + + Assert.That(m_engine.PostedEvents.Count, Is.EqualTo(1)); + Assert.That(m_engine.PostedEvents.ContainsKey(m_scriptItem.ItemID)); + + List events = m_engine.PostedEvents[m_scriptItem.ItemID]; + Assert.That(events.Count, Is.EqualTo(1)); + EventParams eventParams = events[0]; + + Assert.That(eventParams.EventName, Is.EqualTo("dataserver")); + Assert.That(eventParams.Params[0].ToString(), Is.EqualTo(key)); + Assert.That(eventParams.Params[1].ToString(), Is.EqualTo(assertLine)); + + m_engine.ClearPostedEvents(); + } + + private void AssertInValidNotecardLine(string ncName, int lineNumber) + { + string key = m_lslApi.llGetNotecardLine(ncName, lineNumber); + Assert.That(key, Is.EqualTo(UUID.Zero.ToString())); + + Assert.That(m_engine.PostedEvents.Count, Is.EqualTo(0)); + } + +// [Test] +// public void TestLlReleaseUrl() +// { +// TestHelpers.InMethod(); +// +// m_lslApi.llRequestURL(); +// string returnedUri = m_engine.PostedEvents[m_scriptItem.ItemID][0].Params[2].ToString(); +// +// { +// // Check that the initial number of URLs is correct +// Assert.That(m_lslApi.llGetFreeURLs().value, Is.EqualTo(m_urlModule.TotalUrls - 1)); +// } +// +// { +// // Check releasing a non-url +// m_lslApi.llReleaseURL("GARBAGE"); +// Assert.That(m_lslApi.llGetFreeURLs().value, Is.EqualTo(m_urlModule.TotalUrls - 1)); +// } +// +// { +// // Check releasing a non-existing url +// m_lslApi.llReleaseURL("http://example.com"); +// Assert.That(m_lslApi.llGetFreeURLs().value, Is.EqualTo(m_urlModule.TotalUrls - 1)); +// } +// +// { +// // Check URL release +// m_lslApi.llReleaseURL(returnedUri); +// Assert.That(m_lslApi.llGetFreeURLs().value, Is.EqualTo(m_urlModule.TotalUrls)); +// +// HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(returnedUri); +// +// bool gotExpectedException = false; +// +// try +// { +// using (HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse()) +// {} +// } +// catch (WebException e) +// { +// using (HttpWebResponse response = (HttpWebResponse)e.Response) +// gotExpectedException = response.StatusCode == HttpStatusCode.NotFound; +// } +// +// Assert.That(gotExpectedException, Is.True); +// } +// +// { +// // Check releasing the same URL again +// m_lslApi.llReleaseURL(returnedUri); +// Assert.That(m_lslApi.llGetFreeURLs().value, Is.EqualTo(m_urlModule.TotalUrls)); +// } +// } +// +// [Test] +// public void TestLlRequestUrl() +// { +// TestHelpers.InMethod(); +// +// string requestId = m_lslApi.llRequestURL(); +// Assert.That(requestId, Is.Not.EqualTo(UUID.Zero.ToString())); +// string returnedUri; +// +// { +// // Check that URL is correctly set up +// Assert.That(m_lslApi.llGetFreeURLs().value, Is.EqualTo(m_urlModule.TotalUrls - 1)); +// +// Assert.That(m_engine.PostedEvents.ContainsKey(m_scriptItem.ItemID)); +// +// List events = m_engine.PostedEvents[m_scriptItem.ItemID]; +// Assert.That(events.Count, Is.EqualTo(1)); +// EventParams eventParams = events[0]; +// Assert.That(eventParams.EventName, Is.EqualTo("http_request")); +// +// UUID returnKey; +// string rawReturnKey = eventParams.Params[0].ToString(); +// string method = eventParams.Params[1].ToString(); +// returnedUri = eventParams.Params[2].ToString(); +// +// Assert.That(UUID.TryParse(rawReturnKey, out returnKey), Is.True); +// Assert.That(method, Is.EqualTo(ScriptBaseClass.URL_REQUEST_GRANTED)); +// Assert.That(Uri.IsWellFormedUriString(returnedUri, UriKind.Absolute), Is.True); +// } +// +// { +// // Check that request to URL works. +// string testResponse = "Hello World"; +// +// m_engine.ClearPostedEvents(); +// m_engine.PostEventHook +// += (itemId, evp) => m_lslApi.llHTTPResponse(evp.Params[0].ToString(), 200, testResponse); +// +//// Console.WriteLine("Trying {0}", returnedUri); +// HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(returnedUri); +// +// AssertHttpResponse(returnedUri, testResponse); +// +// Assert.That(m_engine.PostedEvents.ContainsKey(m_scriptItem.ItemID)); +// +// List events = m_engine.PostedEvents[m_scriptItem.ItemID]; +// Assert.That(events.Count, Is.EqualTo(1)); +// EventParams eventParams = events[0]; +// Assert.That(eventParams.EventName, Is.EqualTo("http_request")); +// +// UUID returnKey; +// string rawReturnKey = eventParams.Params[0].ToString(); +// string method = eventParams.Params[1].ToString(); +// string body = eventParams.Params[2].ToString(); +// +// Assert.That(UUID.TryParse(rawReturnKey, out returnKey), Is.True); +// Assert.That(method, Is.EqualTo("GET")); +// Assert.That(body, Is.EqualTo("")); +// } +// } +// +// private void AssertHttpResponse(string uri, string expectedResponse) +// { +// HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(uri); +// +// using (HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse()) +// { +// using (Stream stream = webResponse.GetResponseStream()) +// { +// using (StreamReader reader = new StreamReader(stream)) +// { +// Assert.That(reader.ReadToEnd(), Is.EqualTo(expectedResponse)); +// } +// } +// } +// } + } +} \ No newline at end of file diff --git a/OpenSim/Region/ScriptEngine/Shared/Tests/OSSL_ApiAttachmentTests.cs b/OpenSim/Region/ScriptEngine/Shared/Tests/OSSL_ApiAttachmentTests.cs index b2803a12c0..e422f5be58 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Tests/OSSL_ApiAttachmentTests.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Tests/OSSL_ApiAttachmentTests.cs @@ -151,7 +151,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests // Create an object embedded inside the first TaskInventoryHelpers.AddNotecard( - m_scene, inWorldObj.RootPart, taskInvObjItemName, taskInvObjItemId, TestHelpers.ParseTail(0x900)); + m_scene, inWorldObj.RootPart, taskInvObjItemName, taskInvObjItemId, TestHelpers.ParseTail(0x900), "Hello World!"); bool exceptionCaught = false; diff --git a/OpenSim/Tests/Common/Helpers/TaskInventoryHelpers.cs b/OpenSim/Tests/Common/Helpers/TaskInventoryHelpers.cs index 0a2b30a279..bb4b55f091 100644 --- a/OpenSim/Tests/Common/Helpers/TaskInventoryHelpers.cs +++ b/OpenSim/Tests/Common/Helpers/TaskInventoryHelpers.cs @@ -40,6 +40,23 @@ namespace OpenSim.Tests.Common /// public static class TaskInventoryHelpers { + /// + /// Add a notecard item to the given part. + /// + /// + /// + /// + /// UUID or UUID stem + /// UUID or UUID stem + /// The tex to put in the notecard. + /// The item that was added + public static TaskInventoryItem AddNotecard( + Scene scene, SceneObjectPart part, string itemName, string itemIDStem, string assetIDStem, string text) + { + return AddNotecard( + scene, part, itemName, TestHelpers.ParseStem(itemIDStem), TestHelpers.ParseStem(assetIDStem), text); + } + /// /// Add a notecard item to the given part. /// @@ -48,11 +65,13 @@ namespace OpenSim.Tests.Common /// /// /// + /// The tex to put in the notecard. /// The item that was added - public static TaskInventoryItem AddNotecard(Scene scene, SceneObjectPart part, string itemName, UUID itemID, UUID assetID) + public static TaskInventoryItem AddNotecard( + Scene scene, SceneObjectPart part, string itemName, UUID itemID, UUID assetID, string text) { AssetNotecard nc = new AssetNotecard(); - nc.BodyText = "Hello World!"; + nc.BodyText = text; nc.Encode(); AssetBase ncAsset @@ -87,8 +106,8 @@ namespace OpenSim.Tests.Common /// Add a simple script to the given part. /// /// - /// TODO: Accept input for item and asset IDs to avoid mysterious script failures that try to use any of these - /// functions more than once in a test. + /// TODO: Accept input for item and asset IDs so that we have completely replicatable regression tests rather + /// than a random component. /// /// /// @@ -102,8 +121,9 @@ namespace OpenSim.Tests.Common ast.Source = scriptSource; ast.Encode(); - UUID assetUuid = new UUID("00000000-0000-0000-1000-000000000000"); - UUID itemUuid = new UUID("00000000-0000-0000-1100-000000000000"); + UUID assetUuid = UUID.Random(); + UUID itemUuid = UUID.Random(); + AssetBase asset = AssetHelpers.CreateAsset(assetUuid, AssetType.LSLText, ast.AssetData, UUID.Zero); scene.AssetService.Store(asset); diff --git a/OpenSim/Tests/Common/Mock/MockScriptEngine.cs b/OpenSim/Tests/Common/Mock/MockScriptEngine.cs index 6a53fe7810..b4442418d7 100644 --- a/OpenSim/Tests/Common/Mock/MockScriptEngine.cs +++ b/OpenSim/Tests/Common/Mock/MockScriptEngine.cs @@ -31,6 +31,7 @@ using System.Collections.Generic; using System.Reflection; using Nini.Config; using OpenMetaverse; +using OpenSim.Framework; using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes; using OpenSim.Region.ScriptEngine.Interfaces; @@ -110,8 +111,11 @@ namespace OpenSim.Tests.Common { // Console.WriteLine("Posting event {0} for {1}", name, itemID); - EventParams evParams = new EventParams(name, args, null); + return PostScriptEvent(itemID, new EventParams(name, args, null)); + } + public bool PostScriptEvent(UUID itemID, EventParams evParams) + { List eventsForItem; if (!PostedEvents.ContainsKey(itemID)) @@ -132,9 +136,22 @@ namespace OpenSim.Tests.Common return true; } + public bool PostObjectEvent(uint localID, EventParams evParams) + { + return PostObjectEvent(m_scene.GetSceneObjectPart(localID), evParams); + } + public bool PostObjectEvent(UUID itemID, string name, object[] args) { - throw new System.NotImplementedException (); + return PostObjectEvent(m_scene.GetSceneObjectPart(itemID), new EventParams(name, args, null)); + } + + private bool PostObjectEvent(SceneObjectPart part, EventParams evParams) + { + foreach (TaskInventoryItem item in part.Inventory.GetInventoryItems(InventoryType.LSL)) + PostScriptEvent(item.ItemID, evParams); + + return true; } public void SuspendScript(UUID itemID) @@ -187,16 +204,6 @@ namespace OpenSim.Tests.Common throw new System.NotImplementedException (); } - public bool PostScriptEvent(UUID itemID,EventParams parms) - { - throw new System.NotImplementedException (); - } - - public bool PostObjectEvent (uint localID, EventParams parms) - { - throw new System.NotImplementedException (); - } - public DetectParams GetDetectParams(UUID item, int number) { throw new System.NotImplementedException (); diff --git a/OpenSim/Tests/Common/TestHelpers.cs b/OpenSim/Tests/Common/TestHelpers.cs index 57da802e6b..a684d72e7f 100644 --- a/OpenSim/Tests/Common/TestHelpers.cs +++ b/OpenSim/Tests/Common/TestHelpers.cs @@ -113,6 +113,27 @@ namespace OpenSim.Tests.Common DisableLoggingConfigStream.Position = 0; } + /// + /// Parse a UUID stem into a full UUID. + /// + /// + /// Yes, this is completely inconsistent with ParseTail but this is probably a better way to do it, + /// UUIDs are conceptually not hexadecmial numbers. + /// The fragment will come at the start of the UUID. The rest will be 0s + /// + /// + /// + /// A UUID fragment that will be parsed into a full UUID. Therefore, it can only contain + /// cahracters which are valid in a UUID, except for "-" which is currently only allowed if a full UUID is + /// given as the 'fragment'. + /// + public static UUID ParseStem(string stem) + { + string rawUuid = stem.PadRight(32, '0'); + + return UUID.Parse(rawUuid); + } + /// /// Parse tail section into full UUID. /// diff --git a/OpenSim/Tests/ConfigurationLoaderTest.cs b/OpenSim/Tests/ConfigurationLoaderTest.cs index 9d63324ff9..a409a1349b 100644 --- a/OpenSim/Tests/ConfigurationLoaderTest.cs +++ b/OpenSim/Tests/ConfigurationLoaderTest.cs @@ -45,7 +45,7 @@ namespace OpenSim.Tests /// Set up a test directory. /// [SetUp] - public void SetUp() + public override void SetUp() { base.SetUp(); From a523ed1e4d4c8e9c4366fddaaf6a67fe35a9859f Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 28 Feb 2013 21:15:14 +0000 Subject: [PATCH 672/851] Fix bug where simultaneous calls by different scripts to llGetNotecardLine() or llGetNumberOfNotecardLines() would sometimes not trigger a dataserver event. This was because the notecard asset ID was being used as the request identifier. Now using a random ID, in common with other code using the DataServer --- .../Shared/Api/Implementation/LSL_Api.cs | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 6a315681d6..ec24dc28b8 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -10806,14 +10806,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return UUID.Zero.ToString(); } + string reqIdentifier = UUID.Random().ToString(); + // was: UUID tid = tid = AsyncCommands. - UUID tid = AsyncCommands.DataserverPlugin.RegisterRequest(m_host.LocalId, m_item.ItemID, assetID.ToString()); + UUID tid = AsyncCommands.DataserverPlugin.RegisterRequest(m_host.LocalId, m_item.ItemID, reqIdentifier); if (NotecardCache.IsCached(assetID)) { - AsyncCommands. - DataserverPlugin.DataserverReply(assetID.ToString(), - NotecardCache.GetLines(assetID).ToString()); + AsyncCommands.DataserverPlugin.DataserverReply(reqIdentifier, NotecardCache.GetLines(assetID).ToString()); + ScriptSleep(100); return tid.ToString(); } @@ -10829,9 +10830,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api string data = Encoding.UTF8.GetString(a.Data); //m_log.Debug(data); NotecardCache.Cache(id, data); - AsyncCommands. - DataserverPlugin.DataserverReply(id.ToString(), - NotecardCache.GetLines(id).ToString()); + AsyncCommands.DataserverPlugin.DataserverReply(reqIdentifier, NotecardCache.GetLines(id).ToString()); }); ScriptSleep(100); @@ -10860,13 +10859,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return UUID.Zero.ToString(); } + string reqIdentifier = UUID.Random().ToString(); + // was: UUID tid = tid = AsyncCommands. - UUID tid = AsyncCommands.DataserverPlugin.RegisterRequest(m_host.LocalId, m_item.ItemID, assetID.ToString()); + UUID tid = AsyncCommands.DataserverPlugin.RegisterRequest(m_host.LocalId, m_item.ItemID, reqIdentifier); if (NotecardCache.IsCached(assetID)) { - AsyncCommands.DataserverPlugin.DataserverReply(assetID.ToString(), - NotecardCache.GetLine(assetID, line, m_notecardLineReadCharsMax)); + AsyncCommands.DataserverPlugin.DataserverReply( + reqIdentifier, NotecardCache.GetLine(assetID, line, m_notecardLineReadCharsMax)); + ScriptSleep(100); return tid.ToString(); } @@ -10882,8 +10884,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api string data = Encoding.UTF8.GetString(a.Data); //m_log.Debug(data); NotecardCache.Cache(id, data); - AsyncCommands.DataserverPlugin.DataserverReply(id.ToString(), - NotecardCache.GetLine(id, line, m_notecardLineReadCharsMax)); + AsyncCommands.DataserverPlugin.DataserverReply( + reqIdentifier, NotecardCache.GetLine(assetID, line, m_notecardLineReadCharsMax)); }); ScriptSleep(100); From 239a8da74e87bb22bb9107a0341829ff99bbd3fe Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 28 Feb 2013 21:19:23 +0000 Subject: [PATCH 673/851] Fix potential concurrency issue since the LSL notecard cache was not being checked for expiry under lock --- .../Shared/Api/Implementation/LSL_Api.cs | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index ec24dc28b8..ab087af569 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -11689,7 +11689,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public static void Cache(UUID assetID, string text) { - CacheCheck(); + CheckCache(); lock (m_Notecards) { @@ -11774,14 +11774,17 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return line; } - public static void CacheCheck() + public static void CheckCache() { - foreach (UUID key in new List(m_Notecards.Keys)) + lock (m_Notecards) { - Notecard nc = m_Notecards[key]; - if (nc.lastRef.AddSeconds(30) < DateTime.Now) - m_Notecards.Remove(key); + foreach (UUID key in new List(m_Notecards.Keys)) + { + Notecard nc = m_Notecards[key]; + if (nc.lastRef.AddSeconds(30) < DateTime.Now) + m_Notecards.Remove(key); + } } } } -} +} \ No newline at end of file From ea3e0ef8a362a103fd70f17cfc3ea76a20fac5ab Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Thu, 28 Feb 2013 14:20:07 -0800 Subject: [PATCH 674/851] Bug fix in DataSnapshot, where a var was being used before being initialized. --- .../DataSnapshot/DataSnapshotManager.cs | 34 ++++++++----------- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/OpenSim/Region/DataSnapshot/DataSnapshotManager.cs b/OpenSim/Region/DataSnapshot/DataSnapshotManager.cs index 32017a8537..dd48dd5c2b 100644 --- a/OpenSim/Region/DataSnapshot/DataSnapshotManager.cs +++ b/OpenSim/Region/DataSnapshot/DataSnapshotManager.cs @@ -148,8 +148,6 @@ namespace OpenSim.Region.DataSnapshot return; } - if (m_enabled) - m_snapStore = new SnapshotStore(m_snapsDir, m_gridinfo, m_listener_port, m_hostname); } } @@ -163,8 +161,22 @@ namespace OpenSim.Region.DataSnapshot m_log.DebugFormat("[DATASNAPSHOT]: Module added to Scene {0}.", scene.RegionInfo.RegionName); - m_snapStore.AddScene(scene); + if (!m_servicesNotified) + { + m_hostname = scene.RegionInfo.ExternalHostName; + m_snapStore = new SnapshotStore(m_snapsDir, m_gridinfo, m_listener_port, m_hostname); + + //Hand it the first scene, assuming that all scenes have the same BaseHTTPServer + new DataRequestHandler(scene, this); + + if (m_dataServices != "" && m_dataServices != "noservices") + NotifyDataServices(m_dataServices, "online"); + + m_servicesNotified = true; + } + m_scenes.Add(scene); + m_snapStore.AddScene(scene); Assembly currentasm = Assembly.GetExecutingAssembly(); @@ -189,22 +201,6 @@ namespace OpenSim.Region.DataSnapshot } } - // Must be done here because on shared modules, PostInitialise() will run - // BEFORE any scenes are registered. There is no "all scenes have been loaded" - // kind of callback because scenes may be created dynamically, so we cannot - // have that info, ever. - if (!m_servicesNotified) - { - //Hand it the first scene, assuming that all scenes have the same BaseHTTPServer - new DataRequestHandler(m_scenes[0], this); - - m_hostname = m_scenes[0].RegionInfo.ExternalHostName; - - if (m_dataServices != "" && m_dataServices != "noservices") - NotifyDataServices(m_dataServices, "online"); - - m_servicesNotified = true; - } } public void RemoveRegion(Scene scene) From b2087add9633a0b3b1ddeaee1a40c1e16bd95314 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Thu, 28 Feb 2013 15:17:07 -0800 Subject: [PATCH 675/851] Add missing prebuild.xml dependency for System.Action2 in recent additions to ScriptEngine tests. Compiles some places but not others. --- prebuild.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/prebuild.xml b/prebuild.xml index 0e5879272e..2b8e9634e0 100644 --- a/prebuild.xml +++ b/prebuild.xml @@ -3387,6 +3387,7 @@ ../../../bin/ + From faf96f5c854a9f928797f170b07c32236a7559e3 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 28 Feb 2013 23:59:26 +0000 Subject: [PATCH 676/851] minor: Log location in which simulator/robust was started. Useful information for system debugging, especially if logging and ini files locations have been changed from defaults. --- OpenSim/Region/Application/OpenSimBase.cs | 4 ++++ OpenSim/Server/Base/ServicesServerBase.cs | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs index c555915eac..137bd8199c 100644 --- a/OpenSim/Region/Application/OpenSimBase.cs +++ b/OpenSim/Region/Application/OpenSimBase.cs @@ -134,6 +134,10 @@ namespace OpenSim /// public OpenSimBase(IConfigSource configSource) : base() { + // FIXME: This should be done down in ServerBase but we need to sort out and refactor the log4net + // XmlConfigurator calls first accross servers. + m_log.InfoFormat("[SERVER BASE]: Starting in {0}", m_startupDirectory); + LoadConfigSettings(configSource); } diff --git a/OpenSim/Server/Base/ServicesServerBase.cs b/OpenSim/Server/Base/ServicesServerBase.cs index ecd69b0572..5aff72ac48 100644 --- a/OpenSim/Server/Base/ServicesServerBase.cs +++ b/OpenSim/Server/Base/ServicesServerBase.cs @@ -186,6 +186,10 @@ namespace OpenSim.Server.Base XmlConfigurator.Configure(); } + // FIXME: This should be done down in ServerBase but we need to sort out and refactor the log4net + // XmlConfigurator calls first accross servers. + m_log.InfoFormat("[SERVER BASE]: Starting in {0}", m_startupDirectory); + RegisterCommonAppenders(startupConfig); if (startupConfig.GetString("PIDFile", String.Empty) != String.Empty) From 1c740798b45dddb3e056b2e281fe98de6bf35143 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Fri, 1 Mar 2013 08:52:06 -0800 Subject: [PATCH 677/851] BulletSim: add parameters, code cleanup around checking and enforcing maximum velocity and angular velocity values for prims. --- .../Physics/BulletSPlugin/BSDynamics.cs | 4 +- .../Region/Physics/BulletSPlugin/BSParam.cs | 20 +++++--- .../Region/Physics/BulletSPlugin/BSPrim.cs | 47 ++++++++++++++++--- 3 files changed, 57 insertions(+), 14 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs index e6933f90bf..235cefc81b 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs @@ -961,13 +961,13 @@ namespace OpenSim.Region.Physics.BulletSPlugin // ================================================================== // Clamp high or low velocities float newVelocityLengthSq = VehicleVelocity.LengthSquared(); - if (newVelocityLengthSq > BSParam.VehicleMaxLinearVelocitySq) + if (newVelocityLengthSq > BSParam.VehicleMaxLinearVelocitySquared) { Vector3 origVelW = VehicleVelocity; // DEBUG DEBUG VehicleVelocity /= VehicleVelocity.Length(); VehicleVelocity *= BSParam.VehicleMaxLinearVelocity; VDetailLog("{0}, MoveLinear,clampMax,origVelW={1},lenSq={2},maxVelSq={3},,newVelW={4}", - Prim.LocalID, origVelW, newVelocityLengthSq, BSParam.VehicleMaxLinearVelocitySq, VehicleVelocity); + Prim.LocalID, origVelW, newVelocityLengthSq, BSParam.VehicleMaxLinearVelocitySquared, VehicleVelocity); } else if (newVelocityLengthSq < 0.001f) VehicleVelocity = Vector3.Zero; diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs index dc57b676e5..fa581090c6 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs @@ -47,12 +47,16 @@ public static class BSParam public static float SculptLOD { get; private set; } public static int CrossingFailuresBeforeOutOfBounds { get; private set; } + public static float UpdateVelocityChangeThreshold { get; private set; } public static float MinimumObjectMass { get; private set; } public static float MaximumObjectMass { get; private set; } public static float MaxLinearVelocity { get; private set; } + public static float MaxLinearVelocitySquared { get; private set; } public static float MaxAngularVelocity { get; private set; } + public static float MaxAngularVelocitySquared { get; private set; } public static float MaxAddForceMagnitude { get; private set; } + public static float MaxAddForceMagnitudeSquared { get; private set; } public static float DensityScaleFactor { get; private set; } public static float LinearDamping { get; private set; } @@ -109,7 +113,7 @@ public static class BSParam // Vehicle parameters public static float VehicleMaxLinearVelocity { get; private set; } - public static float VehicleMaxLinearVelocitySq { get; private set; } + public static float VehicleMaxLinearVelocitySquared { get; private set; } public static float VehicleMaxAngularVelocity { get; private set; } public static float VehicleMaxAngularVelocitySq { get; private set; } public static float VehicleAngularDamping { get; private set; } @@ -265,7 +269,7 @@ public static class BSParam // The single letter parameters for the delegates are: // s = BSScene // o = BSPhysObject - // v = value (float) + // v = value (appropriate type) private static ParameterDefnBase[] ParameterDefinitions = { new ParameterDefn("MeshSculptedPrim", "Whether to create meshes for sculpties", @@ -289,6 +293,10 @@ public static class BSParam 5, (s) => { return CrossingFailuresBeforeOutOfBounds; }, (s,v) => { CrossingFailuresBeforeOutOfBounds = v; } ), + new ParameterDefn("UpdateVelocityChangeThreshold", "Change in updated velocity required before reporting change to simulator", + 0.1f, + (s) => { return UpdateVelocityChangeThreshold; }, + (s,v) => { UpdateVelocityChangeThreshold = v; } ), new ParameterDefn("MeshLevelOfDetail", "Level of detail to render meshes (32, 16, 8 or 4. 32=most detailed)", 32f, @@ -343,16 +351,16 @@ public static class BSParam new ParameterDefn("MaxLinearVelocity", "Maximum velocity magnitude that can be assigned to an object", 1000.0f, (s) => { return MaxLinearVelocity; }, - (s,v) => { MaxLinearVelocity = v; } ), + (s,v) => { MaxLinearVelocity = v; MaxLinearVelocitySquared = v * v; } ), new ParameterDefn("MaxAngularVelocity", "Maximum rotational velocity magnitude that can be assigned to an object", 1000.0f, (s) => { return MaxAngularVelocity; }, - (s,v) => { MaxAngularVelocity = v; } ), + (s,v) => { MaxAngularVelocity = v; MaxAngularVelocitySquared = v * v; } ), // LL documentation says thie number should be 20f for llApplyImpulse and 200f for llRezObject new ParameterDefn("MaxAddForceMagnitude", "Maximum force that can be applied by llApplyImpulse (SL says 20f)", 20000.0f, (s) => { return MaxAddForceMagnitude; }, - (s,v) => { MaxAddForceMagnitude = v; } ), + (s,v) => { MaxAddForceMagnitude = v; MaxAddForceMagnitudeSquared = v * v; } ), // Density is passed around as 100kg/m3. This scales that to 1kg/m3. new ParameterDefn("DensityScaleFactor", "Conversion for simulator/viewer density (100kg/m3) to physical density (1kg/m3)", 0.01f, @@ -505,7 +513,7 @@ public static class BSParam new ParameterDefn("VehicleMaxLinearVelocity", "Maximum velocity magnitude that can be assigned to a vehicle", 1000.0f, (s) => { return (float)VehicleMaxLinearVelocity; }, - (s,v) => { VehicleMaxLinearVelocity = v; VehicleMaxLinearVelocitySq = v * v; } ), + (s,v) => { VehicleMaxLinearVelocity = v; VehicleMaxLinearVelocitySquared = v * v; } ), new ParameterDefn("VehicleMaxAngularVelocity", "Maximum rotational velocity magnitude that can be assigned to a vehicle", 12.0f, (s) => { return (float)VehicleMaxAngularVelocity; }, diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs index 8f660c4be5..a465613b8a 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs @@ -108,6 +108,9 @@ public class BSPrim : BSPhysObject // do the actual object creation at taint time PhysicsScene.TaintedObject("BSPrim.create", delegate() { + // Make sure the object is being created with some sanity. + ExtremeSanityCheck(true /* inTaintTime */); + CreateGeomAndObject(true); CurrentCollisionFlags = PhysicsScene.PE.GetCollisionFlags(PhysBody); @@ -450,6 +453,38 @@ public class BSPrim : BSPhysObject return ret; } + // Occasionally things will fly off and really get lost. + // Find the wanderers and bring them back. + // Return 'true' if some parameter need some sanity. + private bool ExtremeSanityCheck(bool inTaintTime) + { + bool ret = false; + + uint wayOutThere = Constants.RegionSize * Constants.RegionSize; + // There have been instances of objects getting thrown way out of bounds and crashing + // the border crossing code. + if ( _position.X < -Constants.RegionSize || _position.X > wayOutThere + || _position.Y < -Constants.RegionSize || _position.Y > wayOutThere + || _position.Z < -Constants.RegionSize || _position.Z > wayOutThere) + { + _position = new OMV.Vector3(10, 10, 50); + ZeroMotion(inTaintTime); + ret = true; + } + if (_velocity.LengthSquared() > BSParam.MaxLinearVelocity) + { + _velocity = Util.ClampV(_velocity, BSParam.MaxLinearVelocity); + ret = true; + } + if (_rotationalVelocity.LengthSquared() > BSParam.MaxAngularVelocitySquared) + { + _rotationalVelocity = Util.ClampV(_rotationalVelocity, BSParam.MaxAngularVelocity); + ret = true; + } + + return ret; + } + // Return the effective mass of the object. // The definition of this call is to return the mass of the prim. // If the simulator cares about the mass of the linkset, it will sum it itself. @@ -585,12 +620,12 @@ public class BSPrim : BSPhysObject if (VehicleController.Type == Vehicle.TYPE_NONE) { UnRegisterPreStepAction("BSPrim.Vehicle", LocalID); - PhysicsScene.AfterStep -= VehicleController.PostStep; + UnRegisterPostStepAction("BSPrim.Vehicle", LocalID); } else { RegisterPreStepAction("BSPrim.Vehicle", LocalID, VehicleController.Step); - PhysicsScene.AfterStep += VehicleController.PostStep; + RegisterPostStepAction("BSPrim.Vehicle", LocalID, VehicleController.PostStep); } }); } @@ -732,7 +767,7 @@ public class BSPrim : BSPhysObject set { PhysicsScene.AssertInTaintTime("BSPrim.ForceVelocity"); - _velocity = value; + _velocity = Util.ClampV(value, BSParam.MaxLinearVelocity); if (PhysBody.HasPhysicalBody) { DetailLog("{0},BSPrim.ForceVelocity,taint,vel={1}", LocalID, _velocity); @@ -1098,7 +1133,7 @@ public class BSPrim : BSPhysObject return _rotationalVelocity; } set { - _rotationalVelocity = value; + _rotationalVelocity = Util.ClampV(value, BSParam.MaxAngularVelocity); if (PhysBody.HasPhysicalBody) { DetailLog("{0},BSPrim.ForceRotationalVel,taint,rotvel={1}", LocalID, _rotationalVelocity); @@ -1230,6 +1265,7 @@ public class BSPrim : BSPhysObject RegisterPreStepAction("BSPrim.Hover", LocalID, delegate(float timeStep) { + // Don't do hovering while the object is selected. if (!IsPhysicallyActive) return; @@ -1737,10 +1773,9 @@ public class BSPrim : BSPhysObject // Assign directly to the local variables so the normal set actions do not happen _position = entprop.Position; _orientation = entprop.Rotation; - // _velocity = entprop.Velocity; // DEBUG DEBUG DEBUG -- smooth velocity changes a bit. The simulator seems to be // very sensitive to velocity changes. - if (entprop.Velocity == OMV.Vector3.Zero || !entprop.Velocity.ApproxEquals(_velocity, 0.1f)) + if (entprop.Velocity == OMV.Vector3.Zero || !entprop.Velocity.ApproxEquals(_velocity, BSParam.UpdateVelocityChangeThreshold)) _velocity = entprop.Velocity; _acceleration = entprop.Acceleration; _rotationalVelocity = entprop.RotationalVelocity; From 326634a0b38fc21fd52a7bfb0c89a0d4c13f0dae Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Fri, 1 Mar 2013 09:43:40 -0800 Subject: [PATCH 678/851] BulletSim: more things into the TODO list. --- OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt index 4dc16f4fce..8a15abe39f 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt +++ b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt @@ -9,6 +9,9 @@ Enable vehicle border crossings (at least as poorly as ODE) Lock axis Deleting a linkset while standing on the root will leave the physical shape of the root behind. Not sure if it is because standing on it. Done with large prim linksets. +Linkset child rotations. + Nebadon spiral tube has middle sections which are rotated wrong. + Select linked spiral tube. Delink and note where the middle section ends up. Vehicle angular vertical attraction vehicle angular banking Center-of-gravity @@ -68,6 +71,8 @@ Vehicle attributes are not restored when a vehicle is rezzed on region creation GENERAL TODO LIST: ================================================= +Explore btGImpactMeshShape as alternative to convex hulls for simplified physical objects. + Regular triangle meshes don't do physical collisions. Resitution of a prim works on another prim but not on terrain. The dropped prim doesn't bounce properly on the terrain. Add a sanity check for PIDTarget location. @@ -338,4 +343,4 @@ Avatar standing on a moving object should start to move with the object. (DONE 2 Angular motion around Z moves the vehicle in world Z and not vehicle Z in ODE. Verify that angular motion specified around Z moves in the vehicle coordinates. DONE 20130120: BulletSim properly applies force in vehicle relative coordinates. -Nebadon vehicles turning funny in arena (DONE) \ No newline at end of file +Nebadon vehicles turning funny in arena (DONE) From c851ebcd8c65d1cf371379bf75d98f544b54ac7a Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 1 Mar 2013 21:47:17 +0000 Subject: [PATCH 679/851] Add the Mono AddinDependency attribute to the example region modules. It turns out this is required to get Mono.Addins to pick up plugin DLLs --- .../Example/BareBonesNonShared/BareBonesNonSharedModule.cs | 3 ++- .../Example/BareBonesShared/BareBonesSharedModule.cs | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Example/BareBonesNonShared/BareBonesNonSharedModule.cs b/OpenSim/Region/OptionalModules/Example/BareBonesNonShared/BareBonesNonSharedModule.cs index ad2fc7a9b3..0615036841 100644 --- a/OpenSim/Region/OptionalModules/Example/BareBonesNonShared/BareBonesNonSharedModule.cs +++ b/OpenSim/Region/OptionalModules/Example/BareBonesNonShared/BareBonesNonSharedModule.cs @@ -33,10 +33,11 @@ using Nini.Config; using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes; -// You will need to uncomment this line if you are adding a region module to some other assembly which does not already +// You will need to uncomment these lines if you are adding a region module to some other assembly which does not already // specify its assembly. Otherwise, the region modules in the assembly will not be picked up when OpenSimulator scans // the available DLLs //[assembly: Addin("MyModule", "1.0")] +//[assembly: AddinDependency("OpenSim", "0.5")] namespace OpenSim.Region.OptionalModules.Example.BareBonesNonShared { diff --git a/OpenSim/Region/OptionalModules/Example/BareBonesShared/BareBonesSharedModule.cs b/OpenSim/Region/OptionalModules/Example/BareBonesShared/BareBonesSharedModule.cs index bb9cbb7325..811a2636c0 100644 --- a/OpenSim/Region/OptionalModules/Example/BareBonesShared/BareBonesSharedModule.cs +++ b/OpenSim/Region/OptionalModules/Example/BareBonesShared/BareBonesSharedModule.cs @@ -33,10 +33,11 @@ using Nini.Config; using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes; -// You will need to uncomment this line if you are adding a region module to some other assembly which does not already +// You will need to uncomment these lines if you are adding a region module to some other assembly which does not already // specify its assembly. Otherwise, the region modules in the assembly will not be picked up when OpenSimulator scans // the available DLLs //[assembly: Addin("MyModule", "1.0")] +//[assembly: AddinDependency("OpenSim", "0.5")] namespace OpenSim.Region.OptionalModules.Example.BareBonesShared { From efa722786509bd8e02e23f11da974b4282dbd185 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Fri, 1 Mar 2013 14:18:01 -0800 Subject: [PATCH 680/851] Removed more vars from [Startup]. I think these were already moved elsewhere, because I can't find any reference to them in the code. --- bin/OpenSim.ini.example | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index f89606f1c6..ef35b170fb 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -300,26 +300,6 @@ ;; default is false ; TelehubAllowLandmark = false - ;# {AllowedClients} {} {Bar (|) separated list of allowed clients} {} - ;; Bar (|) separated list of viewers which may gain access to the regions. - ;; One can use a substring of the viewer name to enable only certain - ;; versions - ;; Example: Agent uses the viewer "Imprudence 1.3.2.0" - ;; - "Imprudence" has access - ;; - "Imprudence 1.3" has access - ;; - "Imprudence 1.3.1" has no access - ; AllowedViewerList = - - ;# {BannedClients} {} {Bar (|) separated list of banned clients} {} - ;# Bar (|) separated list of viewers which may not gain access to the regions. - ;; One can use a Substring of the viewer name to disable only certain - ;; versions - ;; Example: Agent uses the viewer "Imprudence 1.3.2.0" - ;; - "Imprudence" has no access - ;; - "Imprudence 1.3" has no access - ;; - "Imprudence 1.3.1" has access - ; BannedViewerList = - [Map] ;# {GenerateMaptiles} {} {Generate map tiles?} {true false} true ;; Map tile options. From 20530ee66723faa78ab8cf93c096fa4626c3c701 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Fri, 1 Mar 2013 15:24:22 -0800 Subject: [PATCH 681/851] Moved permissions config vars out of [Startup] into [Permissions]. Backwards compatible ([Startup] still being looked up), but please update your configs sometime soon. --- .../World/Permissions/PermissionsModule.cs | 52 ++++++---- .../PrimLimitsModule/PrimLimitsModule.cs | 5 +- bin/OpenSim.ini.example | 88 ++++++++--------- bin/OpenSimDefaults.ini | 97 ++++++++++--------- 4 files changed, 128 insertions(+), 114 deletions(-) diff --git a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs index ddaa227c79..121fb2aaae 100644 --- a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs +++ b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs @@ -156,9 +156,8 @@ namespace OpenSim.Region.CoreModules.World.Permissions public void Initialise(IConfigSource config) { - IConfig myConfig = config.Configs["Startup"]; - - string permissionModules = myConfig.GetString("permissionmodules", "DefaultPermissionsModule"); + string permissionModules = Util.GetConfigVarFromSections(config, "permissionmodules", + new string[] { "Startup", "Permissions" }, "DefaultPermissionsModule"); List modules = new List(permissionModules.Split(',')); @@ -167,26 +166,34 @@ namespace OpenSim.Region.CoreModules.World.Permissions m_Enabled = true; - m_allowGridGods = myConfig.GetBoolean("allow_grid_gods", false); - m_bypassPermissions = !myConfig.GetBoolean("serverside_object_permissions", true); - m_propagatePermissions = myConfig.GetBoolean("propagate_permissions", true); - m_RegionOwnerIsGod = myConfig.GetBoolean("region_owner_is_god", true); - m_RegionManagerIsGod = myConfig.GetBoolean("region_manager_is_god", false); - m_ParcelOwnerIsGod = myConfig.GetBoolean("parcel_owner_is_god", true); + m_allowGridGods = Util.GetConfigVarFromSections(config, "allow_grid_gods", + new string[] { "Startup", "Permissions" }, false); + m_bypassPermissions = !Util.GetConfigVarFromSections(config, "serverside_object_permissions", + new string[] { "Startup", "Permissions" }, true); + m_propagatePermissions = Util.GetConfigVarFromSections(config, "propagate_permissions", + new string[] { "Startup", "Permissions" }, true); + m_RegionOwnerIsGod = Util.GetConfigVarFromSections(config, "region_owner_is_god", + new string[] { "Startup", "Permissions" }, true); + m_RegionManagerIsGod = Util.GetConfigVarFromSections(config, "region_manager_is_god", + new string[] { "Startup", "Permissions" }, false); + m_ParcelOwnerIsGod = Util.GetConfigVarFromSections(config, "parcel_owner_is_god", + new string[] { "Startup", "Permissions" }, true); - m_SimpleBuildPermissions = myConfig.GetBoolean("simple_build_permissions", false); + m_SimpleBuildPermissions = Util.GetConfigVarFromSections(config, "simple_build_permissions", + new string[] { "Startup", "Permissions" }, false); m_allowedScriptCreators - = ParseUserSetConfigSetting(myConfig, "allowed_script_creators", m_allowedScriptCreators); + = ParseUserSetConfigSetting(config, "allowed_script_creators", m_allowedScriptCreators); m_allowedScriptEditors - = ParseUserSetConfigSetting(myConfig, "allowed_script_editors", m_allowedScriptEditors); + = ParseUserSetConfigSetting(config, "allowed_script_editors", m_allowedScriptEditors); if (m_bypassPermissions) m_log.Info("[PERMISSIONS]: serverside_object_permissions = false in ini file so disabling all region service permission checks"); else m_log.Debug("[PERMISSIONS]: Enabling all region service permission checks"); - string grant = myConfig.GetString("GrantLSL", ""); + string grant = Util.GetConfigVarFromSections(config, "GrantLSL", + new string[] { "Startup", "Permissions" }, string.Empty); if (grant.Length > 0) { foreach (string uuidl in grant.Split(',')) @@ -196,7 +203,8 @@ namespace OpenSim.Region.CoreModules.World.Permissions } } - grant = myConfig.GetString("GrantCS", ""); + grant = Util.GetConfigVarFromSections(config, "GrantCS", + new string[] { "Startup", "Permissions" }, string.Empty); if (grant.Length > 0) { foreach (string uuidl in grant.Split(',')) @@ -206,7 +214,8 @@ namespace OpenSim.Region.CoreModules.World.Permissions } } - grant = myConfig.GetString("GrantVB", ""); + grant = Util.GetConfigVarFromSections(config, "GrantVB", + new string[] { "Startup", "Permissions" }, string.Empty); if (grant.Length > 0) { foreach (string uuidl in grant.Split(',')) @@ -216,7 +225,8 @@ namespace OpenSim.Region.CoreModules.World.Permissions } } - grant = myConfig.GetString("GrantJS", ""); + grant = Util.GetConfigVarFromSections(config, "GrantJS", + new string[] { "Startup", "Permissions" }, string.Empty); if (grant.Length > 0) { foreach (string uuidl in grant.Split(',')) @@ -226,7 +236,8 @@ namespace OpenSim.Region.CoreModules.World.Permissions } } - grant = myConfig.GetString("GrantYP", ""); + grant = Util.GetConfigVarFromSections(config, "GrantYP", + new string[] { "Startup", "Permissions" }, string.Empty); if (grant.Length > 0) { foreach (string uuidl in grant.Split(',')) @@ -464,11 +475,12 @@ namespace OpenSim.Region.CoreModules.World.Permissions /// /// The default value for this attribute /// The parsed value - private static UserSet ParseUserSetConfigSetting(IConfig config, string settingName, UserSet defaultValue) + private static UserSet ParseUserSetConfigSetting(IConfigSource config, string settingName, UserSet defaultValue) { UserSet userSet = defaultValue; - - string rawSetting = config.GetString(settingName, defaultValue.ToString()); + + string rawSetting = Util.GetConfigVarFromSections(config, settingName, + new string[] {"Startup", "Permissions"}, defaultValue.ToString()); // Temporary measure to allow 'gods' to be specified in config for consistency's sake. In the long term // this should disappear. diff --git a/OpenSim/Region/OptionalModules/PrimLimitsModule/PrimLimitsModule.cs b/OpenSim/Region/OptionalModules/PrimLimitsModule/PrimLimitsModule.cs index c1957e2cb8..a6d43f1cff 100644 --- a/OpenSim/Region/OptionalModules/PrimLimitsModule/PrimLimitsModule.cs +++ b/OpenSim/Region/OptionalModules/PrimLimitsModule/PrimLimitsModule.cs @@ -57,9 +57,10 @@ namespace OpenSim.Region.OptionalModules public void Initialise(IConfigSource config) { - IConfig myConfig = config.Configs["Startup"]; + //IConfig myConfig = config.Configs["Startup"]; - string permissionModules = myConfig.GetString("permissionmodules", "DefaultPermissionsModule"); + string permissionModules = Util.GetConfigVarFromSections(config, "permissionmodules", + new string[] { "Startup", "Permissions" }, "DefaultPermissionsModule"); List modules=new List(permissionModules.Split(',')); diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index ef35b170fb..0eb43a2ca3 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -220,50 +220,6 @@ ; physics = basicphysics ; physics = POS - ;# {permissionmodules} {} {Permission modules to use (may specify multiple modules, separated by comma} {} DefaultPermissionsModule - ;; Permission modules to use, separated by comma. - ;; Possible modules are DefaultPermissionsModule, PrimLimitsModule - ; permissionmodules = DefaultPermissionsModule - - ;# {serverside_object_permissions} {permissionmodules:DefaultPermissionsModule} {Activate permission handling by the sim?} {true false} true - ;; These are the parameters for the default permissions module - ;; - ;; If set to false, then, in theory, the server never carries out - ;; permission checks (allowing anybody to copy - ;; any item, etc. This may not yet be implemented uniformally. - ;; If set to true, then all permissions checks are carried out - ; serverside_object_permissions = true - - ;# {allow_grid_gods} {} {Allow grid gods?} {true false} false - ;; This allows users with a UserLevel of 200 or more to assume god - ;; powers in the regions in this simulator. - ; allow_grid_gods = false - - ;; This allows some control over permissions - ;; please note that this still doesn't duplicate SL, and is not intended to - ;# {region_owner_is_god} {} {Allow region owner gods} {true false} true - ;; Allow region owners to assume god powers in their regions - ; region_owner_is_god = true - - ;# {region_manager_is_god} {} {Allow region manager gods} {true false} false - ;; Allow region managers to assume god powers in regions they manage - ; region_manager_is_god = false - - ;# {parcel_owner_is_god} {} {Allow parcel owner gods} {true false} true - ;; Allow parcel owners to assume god powers in their parcels - ; parcel_owner_is_god = true - - ;# {simple_build_permissions} {} {Allow building in parcel by access list (no groups)} {true false} false - ;; More control over permissions - ;; This is definitely not SL! - ;; Provides a simple control for land owners to give build rights to - ;; specific avatars in publicly accessible parcels that disallow object - ;; creation in general. - ;; Owners specific avatars by adding them to the Access List of the parcel - ;; without having to use the Groups feature - ; simple_build_permissions = false - - ;# {DefaultScriptEngine} {} {Default script engine} {XEngine} XEngine ;; Default script engine to use. Currently, we only have XEngine ; DefaultScriptEngine = "XEngine" @@ -334,6 +290,50 @@ ;; got a large number of objects, so you can turn it off here if you'd like. ; DrawPrimOnMapTile = true +[Permissions] + ;# {permissionmodules} {} {Permission modules to use (may specify multiple modules, separated by comma} {} DefaultPermissionsModule + ;; Permission modules to use, separated by comma. + ;; Possible modules are DefaultPermissionsModule, PrimLimitsModule + ; permissionmodules = DefaultPermissionsModule + + ;# {serverside_object_permissions} {permissionmodules:DefaultPermissionsModule} {Activate permission handling by the sim?} {true false} true + ;; These are the parameters for the default permissions module + ;; + ;; If set to false, then, in theory, the server never carries out + ;; permission checks (allowing anybody to copy + ;; any item, etc. This may not yet be implemented uniformally. + ;; If set to true, then all permissions checks are carried out + ; serverside_object_permissions = true + + ;# {allow_grid_gods} {} {Allow grid gods?} {true false} false + ;; This allows users with a UserLevel of 200 or more to assume god + ;; powers in the regions in this simulator. + ; allow_grid_gods = false + + ;; This allows some control over permissions + ;; please note that this still doesn't duplicate SL, and is not intended to + ;# {region_owner_is_god} {} {Allow region owner gods} {true false} true + ;; Allow region owners to assume god powers in their regions + ; region_owner_is_god = true + + ;# {region_manager_is_god} {} {Allow region manager gods} {true false} false + ;; Allow region managers to assume god powers in regions they manage + ; region_manager_is_god = false + + ;# {parcel_owner_is_god} {} {Allow parcel owner gods} {true false} true + ;; Allow parcel owners to assume god powers in their parcels + ; parcel_owner_is_god = true + + ;# {simple_build_permissions} {} {Allow building in parcel by access list (no groups)} {true false} false + ;; More control over permissions + ;; This is definitely not SL! + ;; Provides a simple control for land owners to give build rights to + ;; specific avatars in publicly accessible parcels that disallow object + ;; creation in general. + ;; Owners specific avatars by adding them to the Access List of the parcel + ;; without having to use the Groups feature + ; simple_build_permissions = false + [Estates] ; If these values are commented out then the user will be asked for estate details when required (this is the normal case). diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 6ecb5dfc87..091107f975 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -230,54 +230,6 @@ ;physics = modified_BulletX ;physics = BulletSim - ; ## - ; ## PERMISSIONS - ; ## - - ;permissionmodules = "DefaultPermissionsModule" - - ; If set to false, then, in theory, the server never carries out permission checks (allowing anybody to copy - ; any item, etc. This may not yet be implemented uniformally. - ; If set to true, then all permissions checks are carried out - ; Default is true - serverside_object_permissions = true - - allow_grid_gods = false - - ; This allows somne control over permissions - ; please note that this still doesn't duplicate SL, and is not intended to - ;region_owner_is_god = true - ;region_manager_is_god = false - ;parcel_owner_is_god = true - - ; Control user types that are allowed to create new scripts - ; Only enforced if serviceside_object_permissions is true - ; - ; Current possible values are - ; all - anyone can create scripts (subject to normal permissions) - ; gods - only administrators can create scripts (as long as allow_grid_gods is true) - ; Default value is all - ; allowed_script_creators = all - - ; Control user types that are allowed to edit (save) scripts - ; Only enforced if serviceside_object_permissions is true - ; - ; Current possible values are - ; all - anyone can edit scripts (subject to normal permissions) - ; gods - only administrators can edit scripts (as long as allow_grid_gods is true) - ; Default value is all - ; allowed_script_editors = all - - ; Provides a simple control for land owners to give build rights to specific avatars - ; in publicly accessible parcels that disallow object creation in general. - ; Owners specific avatars by adding them to the Access List of the parcel - ; without having to use the Groups feature - ; Disabled by default - ; simple_build_permissions = False - - ; Minimum user level required to upload assets - ;LevelUpload = 0 - ; ## ; ## SCRIPT ENGINE ; ## @@ -344,6 +296,55 @@ ; Use terrain texture for maptiles if true, use shaded green if false TextureOnMapTile = true +[Permissions] + ; ## + ; ## PERMISSIONS + ; ## + + ;permissionmodules = "DefaultPermissionsModule" + + ; If set to false, then, in theory, the server never carries out permission checks (allowing anybody to copy + ; any item, etc. This may not yet be implemented uniformally. + ; If set to true, then all permissions checks are carried out + ; Default is true + serverside_object_permissions = true + + allow_grid_gods = false + + ; This allows somne control over permissions + ; please note that this still doesn't duplicate SL, and is not intended to + ;region_owner_is_god = true + ;region_manager_is_god = false + ;parcel_owner_is_god = true + + ; Control user types that are allowed to create new scripts + ; Only enforced if serviceside_object_permissions is true + ; + ; Current possible values are + ; all - anyone can create scripts (subject to normal permissions) + ; gods - only administrators can create scripts (as long as allow_grid_gods is true) + ; Default value is all + ; allowed_script_creators = all + + ; Control user types that are allowed to edit (save) scripts + ; Only enforced if serviceside_object_permissions is true + ; + ; Current possible values are + ; all - anyone can edit scripts (subject to normal permissions) + ; gods - only administrators can edit scripts (as long as allow_grid_gods is true) + ; Default value is all + ; allowed_script_editors = all + + ; Provides a simple control for land owners to give build rights to specific avatars + ; in publicly accessible parcels that disallow object creation in general. + ; Owners specific avatars by adding them to the Access List of the parcel + ; without having to use the Groups feature + ; Disabled by default + ; simple_build_permissions = False + + ; Minimum user level required to upload assets + ;LevelUpload = 0 + [RegionReady] ; Enable this module to get notified once all items and scripts in the region have been completely loaded and compiled From c91753c065ec67491b94386b06d742a328ccffd4 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Sat, 2 Mar 2013 00:56:53 +0000 Subject: [PATCH 682/851] minor: Log number of region modules loaded from each plugin --- .../RegionModulesControllerPlugin.cs | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/OpenSim/ApplicationPlugins/RegionModulesController/RegionModulesControllerPlugin.cs b/OpenSim/ApplicationPlugins/RegionModulesController/RegionModulesControllerPlugin.cs index 633d0055fd..510be371d9 100644 --- a/OpenSim/ApplicationPlugins/RegionModulesController/RegionModulesControllerPlugin.cs +++ b/OpenSim/ApplicationPlugins/RegionModulesController/RegionModulesControllerPlugin.cs @@ -85,16 +85,26 @@ namespace OpenSim.ApplicationPlugins.RegionModulesController if (modulesConfig == null) modulesConfig = m_openSim.ConfigSource.Source.AddConfig("Modules"); + Dictionary> loadedModules = new Dictionary>(); + // Scan modules and load all that aren't disabled foreach (TypeExtensionNode node in AddinManager.GetExtensionNodes("/OpenSim/RegionModules")) { + IList loadedModuleData; + + if (!loadedModules.ContainsKey(node.Addin)) + loadedModules.Add(node.Addin, new List { 0, 0, 0 }); + + loadedModuleData = loadedModules[node.Addin]; + if (node.Type.GetInterface(typeof(ISharedRegionModule).ToString()) != null) { if (CheckModuleEnabled(node, modulesConfig)) { m_log.DebugFormat("[REGIONMODULES]: Found shared region module {0}, class {1}", node.Id, node.Type); m_sharedModules.Add(node); + loadedModuleData[0]++; } } else if (node.Type.GetInterface(typeof(INonSharedRegionModule).ToString()) != null) @@ -103,14 +113,26 @@ namespace OpenSim.ApplicationPlugins.RegionModulesController { m_log.DebugFormat("[REGIONMODULES]: Found non-shared region module {0}, class {1}", node.Id, node.Type); m_nonSharedModules.Add(node); + loadedModuleData[1]++; } } else { - m_log.DebugFormat("[REGIONMODULES]: Found unknown type of module {0}, class {1}", node.Id, node.Type); + m_log.WarnFormat("[REGIONMODULES]: Found unknown type of module {0}, class {1}", node.Id, node.Type); + loadedModuleData[2]++; } } + foreach (KeyValuePair> loadedModuleData in loadedModules) + { + m_log.InfoFormat( + "[REGIONMODULES]: From plugin {0}, (version {1}), loaded {2} modules, {3} shared, {4} non-shared {5} unknown", + loadedModuleData.Key.Id, + loadedModuleData.Key.Version, + loadedModuleData.Value[0] + loadedModuleData.Value[1] + loadedModuleData.Value[2], + loadedModuleData.Value[0], loadedModuleData.Value[1], loadedModuleData.Value[2]); + } + // Load and init the module. We try a constructor with a port // if a port was given, fall back to one without if there is // no port or the more specific constructor fails. From 1a98ce5f6480c65ae30db933941f1a0184b5bc84 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Sat, 2 Mar 2013 01:06:08 +0000 Subject: [PATCH 683/851] minor: Quieten down the parts of the WebSocketEcho module logging for now where it tells us it is added/loaded/removed from regions --- .../WebSocketEchoTest/WebSocketEchoModule.cs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Example/WebSocketEchoTest/WebSocketEchoModule.cs b/OpenSim/Region/OptionalModules/Example/WebSocketEchoTest/WebSocketEchoModule.cs index 112ba4e62f..5bf0ed4a92 100644 --- a/OpenSim/Region/OptionalModules/Example/WebSocketEchoTest/WebSocketEchoModule.cs +++ b/OpenSim/Region/OptionalModules/Example/WebSocketEchoTest/WebSocketEchoModule.cs @@ -45,6 +45,7 @@ namespace OpenSim.Region.OptionalModules.WebSocketEchoModule public class WebSocketEchoModule : ISharedRegionModule { private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + private bool enabled; public string Name { get { return "WebSocketEchoModule"; } } @@ -55,9 +56,9 @@ namespace OpenSim.Region.OptionalModules.WebSocketEchoModule public void Initialise(IConfigSource pConfig) { - enabled =(pConfig.Configs["WebSocketEcho"] != null); - if (enabled) - m_log.DebugFormat("[WebSocketEchoModule]: INITIALIZED MODULE"); + enabled = (pConfig.Configs["WebSocketEcho"] != null); +// if (enabled) +// m_log.DebugFormat("[WebSocketEchoModule]: INITIALIZED MODULE"); } /// @@ -158,17 +159,17 @@ namespace OpenSim.Region.OptionalModules.WebSocketEchoModule public void AddRegion(Scene scene) { - m_log.DebugFormat("[WebSocketEchoModule]: REGION {0} ADDED", scene.RegionInfo.RegionName); +// m_log.DebugFormat("[WebSocketEchoModule]: REGION {0} ADDED", scene.RegionInfo.RegionName); } public void RemoveRegion(Scene scene) { - m_log.DebugFormat("[WebSocketEchoModule]: REGION {0} REMOVED", scene.RegionInfo.RegionName); +// m_log.DebugFormat("[WebSocketEchoModule]: REGION {0} REMOVED", scene.RegionInfo.RegionName); } public void RegionLoaded(Scene scene) { - m_log.DebugFormat("[WebSocketEchoModule]: REGION {0} LOADED", scene.RegionInfo.RegionName); +// m_log.DebugFormat("[WebSocketEchoModule]: REGION {0} LOADED", scene.RegionInfo.RegionName); } } } \ No newline at end of file From 4999d7920a63af99c6bba53134d4c0e891b99573 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Sat, 2 Mar 2013 01:23:01 +0000 Subject: [PATCH 684/851] Revert "Removed more vars from [Startup]. I think these were already moved elsewhere, because I can't find any reference to them in the code." This reverts commit efa722786509bd8e02e23f11da974b4282dbd185. --- bin/OpenSim.ini.example | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 0eb43a2ca3..16e314b1db 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -256,6 +256,26 @@ ;; default is false ; TelehubAllowLandmark = false + ;# {AllowedClients} {} {Bar (|) separated list of allowed clients} {} + ;; Bar (|) separated list of viewers which may gain access to the regions. + ;; One can use a substring of the viewer name to enable only certain + ;; versions + ;; Example: Agent uses the viewer "Imprudence 1.3.2.0" + ;; - "Imprudence" has access + ;; - "Imprudence 1.3" has access + ;; - "Imprudence 1.3.1" has no access + ; AllowedViewerList = + + ;# {BannedClients} {} {Bar (|) separated list of banned clients} {} + ;# Bar (|) separated list of viewers which may not gain access to the regions. + ;; One can use a Substring of the viewer name to disable only certain + ;; versions + ;; Example: Agent uses the viewer "Imprudence 1.3.2.0" + ;; - "Imprudence" has no access + ;; - "Imprudence 1.3" has no access + ;; - "Imprudence 1.3.1" has access + ; BannedViewerList = + [Map] ;# {GenerateMaptiles} {} {Generate map tiles?} {true false} true ;; Map tile options. From 1bc8692a999f4e80b90b9a1eb7c7428b2e74214e Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Sat, 2 Mar 2013 01:43:54 +0000 Subject: [PATCH 685/851] Move AllowedClients and BannedClients section to new [AccessControl] section in OpenSim.ini from [Startup] This change also corrects the setting names - they were actually wrong (though the text in {} was correct). If there are settings in [Startup] they will continue to be used and anything there will override settings in [AccessControl] --- OpenSim/Region/Framework/Scenes/Scene.cs | 12 ++++++++++-- bin/OpenSim.ini.example | 8 ++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 5b615388d6..14dac7a61d 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -932,7 +932,12 @@ namespace OpenSim.Region.Framework.Scenes } } - string grant = startupConfig.GetString("AllowedClients", String.Empty); + string[] possibleAccessControlConfigSections = new string[] { "AccessControl", "Startup" }; + + string grant + = Util.GetConfigVarFromSections( + config, "AllowedClients", possibleAccessControlConfigSections, ""); + if (grant.Length > 0) { foreach (string viewer in grant.Split('|')) @@ -941,7 +946,10 @@ namespace OpenSim.Region.Framework.Scenes } } - grant = startupConfig.GetString("BannedClients", String.Empty); + grant + = Util.GetConfigVarFromSections( + config, "BannedClients", possibleAccessControlConfigSections, ""); + if (grant.Length > 0) { foreach (string viewer in grant.Split('|')) diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 16e314b1db..eab1fce06a 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -256,6 +256,8 @@ ;; default is false ; TelehubAllowLandmark = false + +[AccessControl] ;# {AllowedClients} {} {Bar (|) separated list of allowed clients} {} ;; Bar (|) separated list of viewers which may gain access to the regions. ;; One can use a substring of the viewer name to enable only certain @@ -264,7 +266,7 @@ ;; - "Imprudence" has access ;; - "Imprudence 1.3" has access ;; - "Imprudence 1.3.1" has no access - ; AllowedViewerList = + ; AllowedClients = ;# {BannedClients} {} {Bar (|) separated list of banned clients} {} ;# Bar (|) separated list of viewers which may not gain access to the regions. @@ -274,7 +276,8 @@ ;; - "Imprudence" has no access ;; - "Imprudence 1.3" has no access ;; - "Imprudence 1.3.1" has access - ; BannedViewerList = + ; BannedClients = + [Map] ;# {GenerateMaptiles} {} {Generate map tiles?} {true false} true @@ -310,6 +313,7 @@ ;; got a large number of objects, so you can turn it off here if you'd like. ; DrawPrimOnMapTile = true + [Permissions] ;# {permissionmodules} {} {Permission modules to use (may specify multiple modules, separated by comma} {} DefaultPermissionsModule ;; Permission modules to use, separated by comma. From b47ffb5dc40418705bb16669e47130aeddeaec6c Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sat, 2 Mar 2013 13:02:02 -0800 Subject: [PATCH 686/851] Added existance and default value for [XEngine]MinTimerInterval to OpenSimDefaults.ini --- bin/OpenSimDefaults.ini | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 091107f975..417150af69 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1400,6 +1400,10 @@ ; up the system to malicious scripters ; NotecardLineReadCharsMax = 255 + ; Minimum settable timer interval. Any timer setting less than this is + ; rounded up to this minimum interval. + ; MinTimerInterval = 0.5 + ; Sensor settings SensorMaxRange = 96.0 SensorMaxResults = 16 From b0985f7019d7fc9ea6bb32c4f1d174e6f635c9e3 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sat, 2 Mar 2013 17:53:57 -0800 Subject: [PATCH 687/851] Fixed typos in TempAttachmentsModule. No changes. --- .../OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs b/OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs index d7fb272d2c..1e7bc02c6d 100644 --- a/OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs @@ -76,7 +76,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments if (m_console != null) { - m_console.AddCommand("TempATtachModule", false, "set auto_grant_attach_perms", "set auto_grant_attach_perms true|false", "Allow objects owned by the region owner os estate managers to obtain attach permissions without asking the user", SetAutoGrantAttachPerms); + m_console.AddCommand("TempAttachModule", false, "set auto_grant_attach_perms", "set auto_grant_attach_perms true|false", "Allow objects owned by the region owner or estate managers to obtain attach permissions without asking the user", SetAutoGrantAttachPerms); } } else From 66d74e76b19a6586991fdada2661514143d9585b Mon Sep 17 00:00:00 2001 From: BlueWall Date: Sun, 3 Mar 2013 09:40:44 -0500 Subject: [PATCH 688/851] Add method to remove JsonRpc Handlers from the server --- OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs | 6 ++++++ .../Framework/Servers/HttpServer/Interfaces/IHttpServer.cs | 2 ++ 2 files changed, 8 insertions(+) diff --git a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs index 70c531c105..58312abf01 100644 --- a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs +++ b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs @@ -1912,6 +1912,12 @@ namespace OpenSim.Framework.Servers.HttpServer m_rpcHandlers.Remove(method); } + public void RemoveJsonRPCHandler(string method) + { + lock(jsonRpcHandlers) + jsonRpcHandlers.Remove(method); + } + public bool RemoveLLSDHandler(string path, LLSDMethod handler) { lock (m_llsdHandlers) diff --git a/OpenSim/Framework/Servers/HttpServer/Interfaces/IHttpServer.cs b/OpenSim/Framework/Servers/HttpServer/Interfaces/IHttpServer.cs index 71ca3ff8e5..d162bc12fb 100644 --- a/OpenSim/Framework/Servers/HttpServer/Interfaces/IHttpServer.cs +++ b/OpenSim/Framework/Servers/HttpServer/Interfaces/IHttpServer.cs @@ -140,6 +140,8 @@ namespace OpenSim.Framework.Servers.HttpServer void RemoveStreamHandler(string httpMethod, string path); void RemoveXmlRPCHandler(string method); + + void RemoveJsonRPCHandler(string method); string GetHTTP404(string host); From aadf7d32d1b86e56e26243b8e32889369c2eafb2 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Mon, 4 Mar 2013 12:52:28 -0800 Subject: [PATCH 689/851] GridUserService was missing from [Gatekeeper] --- bin/Robust.HG.ini.example | 1 + 1 file changed, 1 insertion(+) diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 91dea8cae2..7746ebcab5 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -431,6 +431,7 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService" PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService" + GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService" GridService = "OpenSim.Services.GridService.dll:GridService" AuthenticationService = "OpenSim.Services.Connectors.dll:AuthenticationServicesConnector" SimulationService ="OpenSim.Services.Connectors.dll:SimulationServiceConnector" From fa9f4ef1baca14ed4ee20712219932f1e6e09990 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Mon, 4 Mar 2013 23:20:00 +0000 Subject: [PATCH 690/851] Fix issue in the mesh upload flag module where the ID of the last agent to request the capability was always used instead of the original requesting agent for each cap. Should address http://opensimulator.org/mantis/view.php?id=6556 --- .../ClientStack/Linden/Caps/MeshUploadFlagModule.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/OpenSim/Region/ClientStack/Linden/Caps/MeshUploadFlagModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/MeshUploadFlagModule.cs index 33b1f77bab..45d33cd4c7 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/MeshUploadFlagModule.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/MeshUploadFlagModule.cs @@ -57,7 +57,6 @@ namespace OpenSim.Region.ClientStack.Linden public bool Enabled { get; private set; } private Scene m_scene; - private UUID m_agentID; #region ISharedRegionModule Members @@ -118,25 +117,26 @@ namespace OpenSim.Region.ClientStack.Linden public void RegisterCaps(UUID agentID, Caps caps) { IRequestHandler reqHandler - = new RestHTTPHandler("GET", "/CAPS/" + UUID.Random(), MeshUploadFlag, "MeshUploadFlag", agentID.ToString()); + = new RestHTTPHandler( + "GET", "/CAPS/" + UUID.Random(), ht => MeshUploadFlag(ht, agentID), "MeshUploadFlag", agentID.ToString()); caps.RegisterHandler("MeshUploadFlag", reqHandler); - m_agentID = agentID; + } - private Hashtable MeshUploadFlag(Hashtable mDhttpMethod) + private Hashtable MeshUploadFlag(Hashtable mDhttpMethod, UUID agentID) { // m_log.DebugFormat("[MESH UPLOAD FLAG MODULE]: MeshUploadFlag request"); OSDMap data = new OSDMap(); - ScenePresence sp = m_scene.GetScenePresence(m_agentID); + ScenePresence sp = m_scene.GetScenePresence(agentID); data["username"] = sp.Firstname + "." + sp.Lastname; data["display_name_next_update"] = new OSDDate(DateTime.Now); data["legacy_first_name"] = sp.Firstname; data["mesh_upload_status"] = "valid"; data["display_name"] = sp.Firstname + " " + sp.Lastname; data["legacy_last_name"] = sp.Lastname; - data["id"] = m_agentID; + data["id"] = agentID; data["is_display_name_default"] = true; //Send back data From 7556b42d7a208e3e7dfc23550293bad243533328 Mon Sep 17 00:00:00 2001 From: teravus Date: Mon, 4 Mar 2013 21:26:26 -0500 Subject: [PATCH 691/851] * Update LibOMV to f8f8e616b37a7ea22b7922b2331999bc06725bf9 * Add zero length blocks to the new packet blocks to remain compatible with older viewers and avoid a NullRef when _packets_.cs calls the Length parameter.. which adds up the Length property all of the blocks. --- .../ClientStack/Linden/UDP/LLClientView.cs | 6 ++++-- bin/OpenMetaverse.StructuredData.dll | Bin 102400 -> 114688 bytes bin/OpenMetaverse.dll | Bin 1765376 -> 1925120 bytes bin/OpenMetaverseTypes.dll | Bin 114688 -> 122880 bytes 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 5675870f83..6742d99a8f 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs @@ -790,7 +790,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP handshake.RegionInfo3.ColoName = Utils.EmptyBytes; handshake.RegionInfo3.ProductName = Util.StringToBytes256(regionInfo.RegionType); handshake.RegionInfo3.ProductSKU = Utils.EmptyBytes; - + handshake.RegionInfo4 = new RegionHandshakePacket.RegionInfo4Block[0]; + OutPacket(handshake, ThrottleOutPacketType.Task); } @@ -3571,6 +3572,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP avp.Sender.IsTrial = false; avp.Sender.ID = agentID; + avp.AppearanceData = new AvatarAppearancePacket.AppearanceDataBlock[0]; //m_log.DebugFormat("[CLIENT]: Sending appearance for {0} to {1}", agentID.ToString(), AgentId.ToString()); OutPacket(avp, ThrottleOutPacketType.Task); } @@ -4192,7 +4194,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP pack.Stat = stats.StatsBlock; pack.Header.Reliable = false; - + pack.RegionInfo = new SimStatsPacket.RegionInfoBlock[0]; OutPacket(pack, ThrottleOutPacketType.Task); } diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index 5c0b3c65e7a05ddf2e92bd5718abbda6f853e1a4..c7216ce176642ceb82ac8b1ae46a520f071119ce 100755 GIT binary patch literal 114688 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 Ag#Z8m literal 102400 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%0DUe|(c)O)xc%S;rAJW|<-sc&?v`&ailO0%|! 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 z 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

Ed+$-Xw*;qZmms0>jeIaRzM*6G-TaPT^AYs)n1r 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

}lvUqqYA(XWVN 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

HxJO=A4U_7)C3mK#Qgx zgG!imzP2736%QB{^Nou4Br5zyWCK-Nc7T zfKgTk<3`vhgO!y7>shN5-8IzQUe+|brL{-vJy~Hz+ECodmHn@c1Mooi|5L1HOZm=O z?Z&OT;Rlp3%Xgq3>Vkf>oo2%=t?gz@V=1h!Peb3j8r_oxrNuKFLxS7BuSdms?K`^@ zCtuCDHq997MasjSf=iGiP{5T92T&&8Xy?O|mPvaEw{PhMmzKqb?nd{+*ll=W)G=nx zXy*g%-E8s`ywK8Z%1g1ya1+2X_W*lMHQMz~qoUY7Nz?IM)+38Aa0RkSI0t7y}^A-TA%}Ga9nyAYLz;XNJeii28x?~FcRTTxcu&g)&OVUx*nrV;%1wl81$<2j z_;U7xbHteg?#uoRG!8{1ajPXcWf{C%Ep<~)muu~m#d58gvIy5?qWXR8CmOL- zSG9=bJBzl&Y=;Yg>GW~>C7gMaR%f;Wa`HkJn-4JbwhRI7HW6yLxxAUJx zUR!G1?feT6o40X&D`aoq`fSE1u>V1d>vVm9uJ5hS^?tfOvOd=b>3TI?X|4{j&1?=!`|E~4*Io#C8cM}s z0mU#XdP~hJxwZ`d#o<(Msp=fd0UM6t_VFcu#U?6R*O@a~*Nz+g>NUN(Dq1#w>V*G( z|NWZn5>-0QB~o@Onfo*9ca@z=nQ0s2mdw{$+Hl^ z(-%v!X1Bmbkv;}7cwRU$d-5fNyt5sw*ZW6h!?CJ;T3sl80wmeKEd=~?o#oaRHgo&nlAewZHn;*20Y=Gq$GzCu4XsUHU)tHt zbp$OML5mg#QYf_noxGeA;g|@w?}!IU~`0_z*1d(`Y|d zX0(YV9GZ!h+0RU^O%&UZHGh$haU`5MVXz+4O4v*m#hL3qEDsFa5ZLD0M1c`x4_y53 zdUz?&NB%UJ6*n6jTkQPlv~UB4E|9lY8pfq5x!taa)H`Rub@ZC5(Ya|T?DW3!#6~?@ z&Y5sClfHp?@`1ZJeU6hchHhh2ZHp`~_6+E#FBvT(55oD(+{ zc7DPz-jTUE*z`UYnFO^87uvY1Yvsx|Y4u$UV6L^YFd%<6BDI`zX!iTant|PGOgQn@ zZ8kKFu6*tuWJAkf=?YkvJ{NBKBnrDm6aG(PPgSn5Mz0BtUNb71eI_@vdT_iceZmDV z2Fhh)7-Jk|jJw7Nv0OyH&InyAa>5wDwQ-8-AwQ#fo`KjJp>W6K*JH|hB4F_vAJgh zVlD1afsrOd1(vsSK2jO&M=fm|8e?SEiyQJ-jhoL}eu;Q7tJ!8KJr?H2&9Gdtp_3j5 zTp7)p(Tvp*t0@boe};%Mmh&QNzbYb^M7R#y>FEpL;QDl)hHIicqF3zF+g2bVyF5F^ zE-zHpVbN;IrJti{vQ7PcI2Zb{`$p)V1j?WL61ay#BMOJ=4Cf+v&6*Y-U2@MN1$U5b z)~7FqL%hxisg%A1khkt>gp*r$5un(JicXEtxs<-vnEA_aEiwr+KaCfohzYR6S2});rd=ipPMxqqc-EVjA1PHOcC$S)$o*YvvCdO0q&~;?r7@q%>TW8 z*CCqq+s8H4Bsc%-%CmzRBtE)-o}HglH!#jBW7Ig!vtPtFFbBgW@aW9XObn$<9wnQa zz7a091~hBG-)1(1!_zlGb13&XO|I_@%)@N^H$%H1Zi&CWGjEuOW8608{&z%EclsA_ z^3mRu@b_W&Y)_inU7OG3?nPYSLdeO28;tozS zx)ftn*(%&ahGfQu)EM!kCd+eeHZkPh3p3$9#14a}?*r1QJs2mRnEG)>{5T_ioDo0H zNFdG#;&kqp=pzzw{sDj!>~a|&Ir=-N8@FLmhjT0Ca$XDTH=9LRDnM&!50*>ITWaTY zghMEy5c+WM^5)sSsoqMfs(p7ehJtNFds|%*>FD+g*A;ZnU0mBoMY8n+-6JcL6<*mQ zBHim>7(J}>#z=O9!JbPMQSvMmfo37&#nHH8ZxDH~YQpIUky~uS*Tj7(=1Wmuiuh8w zCso%VSalUy1z9y&C0H0#4l=2*z(TDTkBdZRL&Ch6yA`c~yS?&Ufa_T_L8F!JG`k@E z5Uhz?9knl4Vy%*X7|8h*Rk>FYs=~@PTh1fE**d+Z9|Z`d9|OmOI=NOxn^LL#7NqWJ)X0D?a3q09>c79DAwjHxrbs%`lnjr}*HwW&v zr7^G@mX0^s5tga0y|y)~W*W_GCx)@m*zh7_h_;!qyihp;`7@oT5LyqxV658EGO@&g zrf&&m=kzm>T!nKCN=FXA=mSUz*ZDFFjC0@_NE0Kmf5vD`MeYWesC~QtaieDuse9ZA z_eWi5>9}EV4?y7_X+r?sYg$z?AS@E%>ED1AX;38QJO>#;kZio;*J~Q=u%3rv`QSOH zcOJ?;2Q|*KbX+mJ+4<)Y7)Om>zy<4d?1W*J$LHSV?c3vlbNPxY%iWXV zh!AsLf(MQW?kgG#IP6h01@TpQ$QmhePgG`E%McO=T<`t>Ts{ zhv|PSmG@>^SP^1Tc>ujkhsc#D&2^4};hBTY{Av_Haa(%wjzVoiZzu<@*ABsT1Gc3C zy|h)hYe)hvhF?YCY`fJ~*ba(t`Zd6#G3gH}5?fYbdt5p~ zB?`-V9YNMaBJPsYZ7WsA?sIhgMH}Y*4>nBkZFr-<4Psfg#*(Y^CLFOEz=~IrcisZV z>d#N!Pk*P`Ui#(62I#Tq7H%0Ny=)gW&TL+@nVncyrkdgmWVNm=T-;HvEtR>?&}E~g^EORpf%TG}?cRs?tAV0x z$}z4f6Y4@iQ$nsOp~0ra0;XivWyuK4%NyAk;KJ*(B@@aoezQA(bgnHSYYW+L+v*4M0(oJURw(rXd^$8 z<~TP#Ni92aT^2|e@GS@?>9_Chol0q5hBVX2XA-?qOsy+(e#h)}M6#JkC|vFoFxaq7 zE=N`LZ<8!QzfJZFJT{We1_D<};8?$U3G;>q2fMAvY5AEQtg?s}xBr5Xq0_i|q_O0J}u&6HJ_aLJTzuVy97%6bwE$ z54$x{k^AGIPT?09x19VwF)E{Fgnfs-5neVTM1Z1~3S4Kq*O~4WZ7`fU-RmRi1JO5% z)S=|)1qIhbAF@`=!}fOek@O+(hDtQCCndK^ElpjsynD0bx^}c$+`G5UySlBGM!l2U zylZ2trK6=?o_$tCTIRHjb;XoCc~Acy&9G9=GE~)tqRI3}z_E-d^!^$phP_n7misQ# z`55kTEByytxTnhC>Tf*!W#KP3tPU%oPsE$){1I2II{t)9wm#zg8Q02a%J~#m=QA*D z@*tLdkuw%tdOr#%FboVFBY39dWW?LS{D+Fv>T<@)O+_kZfyLy^!z7$ugc)5|Bvx*3 zabrpLQy(vCM$!?H$HVRAxl^DEcyeRhA2H_6fRip{oMRCAXxcRkfyJ(naeT=xYX2|n zdY*RmF_QFOP$cUy=k0;!%tnc@VWG7!PdHO8&5dQY6!YmAlv)0-h%avCMkH8R2Qh`e zvE)AovvOOB_TT~9S)xT->*sfYXb&BrJxR3l2WT%6?E-4QD5Z9TXpf+FLP`6mXb&3@ z!=FXFa6k;@^~}ZL17b*t_Q(N#yF`0bKW+Z+NEatW(WAoI@p@f0KRJFh_6SlqWJrB< zg^JQfpR@Vv<|hU{A0f)Z1Am|v8)#uh83E; zCxJ~`sUPQ`jQ1!;**b&)j%H7h8nW>rO`gjG8N zMzqAcb`9u`egdOzWz_i>oRZ@wSSrcOGDTJrwoMu>sl^y>H~$S^@=6H~LE%`udhYxH zNwd~85h-m}AGEBsl0ijQABQ4Y$Dqq&EHaJJsK0R>iwft#IXh9W&U>iMEH-MXEMQa% z%kY{01{P!!0Y5{!LM^e(@Qm4a1%18%)>1pBJ^)*nAf>fsSk2?~ka&6po^aQ_vBLDT zNUAbA-GVm^%6!pT3Z9ES=-Tor3+9a9s-p5R_FNu+Cz=Pq&bHr$W3 z4zUae)wKxDM)6FF zx-`_|Sr?1jfpohRqKvJ084-EIzwI8)T6YAY!eWFdl9{2xiImA8FQH5Z`6S9@kWZ#e z2Kf}qWROp#OcpAf2A&-U9ff7{@R5cG6hie!+_ zpiBmtnb#5s70#ke2L0KT$snIYnGEt$%4CqwrA!8S8D%oaY;r|1$mdfggS?zF8RVZ) zCWCwdWirSYQYM3Z5oI#StdpWtOsH@PWiselK~hVQFQZHbc?D%M$d^+l3l&y^XSXx; zTBp}#^HslW{+I-O(+djuXe{N6lvSf%J=gTNDB5G; zkzA<)WEd+|KqPmHA8-0OG=ZQ~pl;qB5aGFgsKR^woEpWN%4qI#_^_n@qq*xLM?`L^ z7kAu?vN>ia#d7yBCP9Vo8Pf!>*~D^>mYlFz8E|UPXt>;)@G&rijF>^?A0!$MVy&DB z=IGh2(o!Ur`^xu`T8C>SNeekrrPr2>YZ5I7t2FG^mLAKsip?7Ey!9Yj7!8!Ah%6ARV$$SFibOaj4KJW6uPaLypGO*XWzif< zzO<5AU1af7&&mqwS!2|*u!DM*cwHH`<=OAlA%rqrP~_+*4(xTo5FGo&fgLLtf+L?e zaL5ZfaNH9I4tPNaj(Xz2;V$UFF;5&g*aaOp;)w%?x}XEcJ8|GZ7j)ogCk`Cuf({(( z#DRlc(19bJIBLz_4ZEJO}b;=r*f7!?O7 zaTrh^e1w2kiIE1!Kn?LVdgkghnuujZWcG~aIDDw%S8&7woiiZ2xUATqWtUZLIkoJ&(6Y-0wCuaka-#P;#lWV-V5Rxa)%lS6)5g{ubhY5J4 zudyc%P(e^`HTU4DR7-7FjTy4?=$Kku?PH*9RV9WBEt~cxD94Slz~^>V(f{x0B*kIl z86_TL4ejZv(0jDb^CEH{;+!(W*ci5XFMy`xc@ z@e*mH+yLN;w*p~By2{lzyZUD8>5-0Dh{i>NGJ9Mngx91`?u)W)JFj zf0<~RJ0Q|_8=qBKm$}I5I@5_V9Xe_{kdRI+vtQ_#M%e{Ei_T3Q;dfSL`;RZH7))m-l^-LMp^W|oul((xs&++}$QT*E}qt}Q8KmtpC+QUdBtZb<^(`Zys6!}Vcw>#yJh+|P&HY6Rop zgxk*tC)$3B-wssBEkrPm*9ZEL+l8PHPN2a^3tY!YdvS|Rb0~KTfpBtvuoR<;wid6v zWc?rT)+eieS8*+3UYi_+#^yzRiD)_kv7qt8&(M+|SyQ_8&+*+0dJ$yLZq7pe+Fajq z(O~B7ZywiTXkJ>r|0osEYu1?&}s zTbCeH{6awi({dOE^edJ%daso^4BPBfnr$VYbBhe*2j+nj3H)FnFe+37Q|Se!PdD%) zO&Q-@K&p3^0;*#tK(JN`c5fh<$P7lo3)VUyShobbFAz**2BY8w>vn^A zwa3ju33-1Yq{ys23U0_&`g8+d+^^~@%rvXJrDe`)ullcH4ZdNvi9_p$Y$2=DST|L3@G?iY8hYj>-AfA7V9J!AjGGaf^v zXM6}xv^7gDt?SRg&)r0{Y1f!(HfL`S!As)?rty2kM#t8*n#Ru{hq5DFZ3;K%zn-YwzJ*T!KF->{%$; zXu*J5jW38|en*A{gKjabm>=wKs_NDr&#; z_K!@S*tQlwilWu$D2-O`4)I5QY3HZCLG}8?#orLZO%CsI_zk;>T#xD($wK*C5f~>q zrRbd`tm_ChwAZ@$pG^E~u$d8um4NriSR-=(r1zb8Z8XkfC>O#tV&zyfdUqxJBhJOD zX4M4Mm#Ug|6I8EIH7h5mUa4x784s)pG!-c)lZmXJqUbS#13C>f8<=M>nHe zwU^aPHSon6&T!JVAaml9&IOqrOC}}AoMmLHfqXAzGRT|{WKw|45nhIQ$egQX!iLPL zw@3z=-BJ1^WcGd;0;HXo#=Ee2GHvEdFc!{-tWEk$JnecFc#%#Qg?#PAs>ESU7qYYA z=!6H^%kV;tx6(_qfALK>&z;RYVbxh4W=~r>f@hg@MW1FTTRJkJVE;-)>LO{pXN+Zj znmsEKt&4h?-D&BlKmhiTM650ryi?HrfJMHsDe{?n9M#uSB?rOdR#LOQlv!S7;cZ-w zHTv3t)o4n7U4+y3%&v=?%`|iCq9LZ_)kQ4sx9{YyOu=_z4X!fJTG; zppdZ(?3jXfo5y!Vah6%?vjcC4xw&fK>o1lw1dce>jRSj(BC;Y|4|f$KB_DF28*iw* zEqy;E--F$Zecu^@F%m}(jy7em$04hKL6IDPAkJ9*8Vm$7RzMjHK z>MopC7f(FJP1l4KO?IZDc32F+`y|+b5)t33;P*VSr-H2@Nul#eJFEw;@)!eQm7d@J zYsfG*hh60@wPT}r`uQ00lraO%nlC_v@iiklgrfPO$h}moyoS;~r7jeTrl}O1R6AR- z-NtXT;dMU@qgG4;;KL%^JS$JlgHd5?;=5+3&a5k|GkCV&>bTcSB9$M;G&uQ1oADaT zW_4C5no3hioJ>SgiD>(Xh#j4itugJ0B!Of53}BHN_~6cbaRCQ(C}Ow^_lHdC-Ag<4Ia zM*Q2gNTJrYk%Dd4{#XheP5P%$rzs>-iF&3`FDWE6g*q91>;zIs*!4)E-cI~L3e%Ve zjx~M?)Fc`-g=8v`VhUJcqo$LZLWB6XlSmyp9h zm{}KFhdOT7#n+*(FzYHrolI0t`Uh^V;T)E$t%HrJQ_~uZZs6fWbk$k zEy1G?#zFq$k#G^x<5=#1K(wV_w((J@xxbfv_Qx*>s(m@j)UUslJE z&?5s9k~J_6RU#WTd^gUnLHunIEKeW}PM~H5zYSnH3}M$GT6{1~-aC70K)kY))_7|X zZ@FFT#!G2%ytOMFKZH94*V^T65qSniQyLt(y~61q4AXlL zrgwaq3@JP|z;eHDxhd2kg@|3}ra)^c>?XC63nhc3iukEjfaGTQt-Q*n?eF9 zMD2u|0;RzzBvv^6gSpFygw5tNFc0j8(w>r7hIF9=*1M%oX>jEAD`cZxLSSLigM~@G z&DJuo^w~4rcpDIJ+-`8=r8GF+h82z-SSP@+3;6!cMv+LTPa1 z$rVojVD7RfX;-jBEC*i~iziZR>LXbz;(n?gz!dK=)!m&wC;6PfjhZ4fLtxV;mj0fxsIeyr;l^j~k#`3~DOs?t;E>?+q=T zZ}Mh?`(&ph&ThmhC(Q6>z&5zYbBCPGVO4q~#GKB!(eL5KnVoJ`>dWMKKpw?0>)e3| zw<_kn?j38=cSvK+UI=+NX;o~9M7Sy@uaOS0X_eX(k{4N#b-Xjx9t-ViHC!oQDh=(5 z;{5_uJhW>$xjGs837BMixSC_H0%yu5seVe_n(6X(o@bK4HXdS-^(W~6#% zTKc%BwpFzM8g^sVRjtc#356?+w^lSAzATc2t z3k|bkc*}e?Ru%^$snsiER;qVwQ#5uSj_zXNK`!adU40T|Iq6{GYXO-pb4Q}Q~SCyNqmvMA9dixSUBTBEV3C^4ugq2bInv=~<`gYA}DIWvKV=zX!4hL=9h z%OpyODU}cts{YF`$ur1u@#zUz05XeGsf_D`Z^9)dA^En4O!s0}x>Pf5;7F-ZRl84tnU ztzj=V9vg;T{kARvPqM8{A#=?aKa|C8KRsXJ+%*n1h!>`jn+h0h2A9}i!;YdDN7M30>jpt<~ zD0o7mPQDe`Z5F8OEshiSSJvT9U2kzb+|j5Q|F$sr$Kv0(stz|RjCx?q>cU99IQgsz z$EoDc>|>e8bAEI1fsGgG=AKA+DIotgATv$R4^#2v)dBg{fc#oOemx++5s=>u$ZrMY zw*&G!0r}m4{9Z{eybn2e#HCLfihHQx13Gr1wd)L3dgF#;A!5<;kyl1AA`Y3l3<`{b z%UhQ~m^1W%5H_z|FzkT2#SamkKS*LY=4X0Zr|n(*cs=^x2lcLJz4R7;w+^@BN2<(s zvU&djfTO3Rij*)=NRR;|yYS)ie?vvpdJ>&O3UIqmjzW*<#Y zcd>Wq2+eO=hYZYb{l?u|8S`j&@OfWGv`ne=ywA#QDq30>)Xo$w(++AEiI!OoYEKuf zShm(5xy3HdsoQWqK$pQeYu)LMbzcZ|=_NcGtK-_&2rYGr*TQIQaI~Y@P}AC=ns!4? zbAxIc4mIr!s%bgYG+5MuQ>`?g)0jMq-WgZ^nSCEZo!*$ERi6}`I~+)Hxv~_JD@)P1 zGGh#$H7a#6S#Mk~DIg86kA-`&?!bwQa8mYri=QAokhg&NlR|F+@n?lCmF|M#Q)07^ zfeM?jkNlAe!Dv@YrWUEpn2YgA-MB^#HTsQ2tD;1yqQs^m<6*h5ogIKH#$$i2VHTJk zp3#{FdXqHpz-}Vaz~;TKAeexz7MfiR(^1WESHt8~(^4rackEw;^n&Y&m8dvPGx(tX zM$yuMV5@vsw32#h-p@TJTCpIY#m_tHEi@Eu1%5G+@Fx-5dSfy)UyAWQmWd0E{KmAFme~+OCF5gMY#K50xpsd zOl5F_Om7YSE7 z`jF!n!!=;(y%`;!w?X*r*@iys*M>GOwIRl+bu35q88vF2F{+kB<7&x=g%72Q$$`hr zW*=+uI8)?_u-X&x+K%*Zwx`ozC;#wr-d_=}NCx?H%4Cqg zpiBn&AC$=;e@U4P@;@n)LH>#|8RTy$lR?Hz5iXKJrj2r{9x{!T^YUntsIRaw6W6U! zcKAIDIPpOxulUrByF1UyQjPmNI=B-@)1xYaU-&f2P@R$4X?zmSyW>^go$qShT#NW; zux?Q1=-+Y&FqxgcR5^>h%1Ps!X&-_&pD37o;~U zsc9X4$YY?I*5MaC2C8YDS)fh*BB6EoMGvUcoBL4*rZ?CbH$Fip+W~fB^_bk^<1$RF z;rweuSj1LKtFs1DF^(8Y2#azc=Oen{;5_8y@Zk>9vWivxAvRp-+B8I6aSS^MF`xy* zV!a!LIF}oQIAs=uIQ|8wHsBCd*h&o_CW&A}!j&q0smhE*V|mPp@gj~i{m*_eKQN6? zm@ynJ@nt;LhwPONp11?~C4gt_VYLhIgou53!9lOs-C~*HC$g}8i!a97k^B~@l_H)& zdtSZkj|CZ~iFyT#C&0A9gLn)UgsuG{p59mZHdYvE6uKKOH>tEn|4)OqPoaxwyWC`HAU9HU8AicS!6w# z`dct#X*-)hF{BfGh-7i0jJI2|yNGz%$D;09nuh$QlSh7UOW|4N0|+?OA@# zhOJ)HQXNL)_(0vB{dKH>fnh~AAgt*6hb^!_IPYlAS!JHg3M-Wt>nvb78@ltZ24ekr zGAkxfIIOM!WIYBTE7*f_AHcEpP}FB|-nWKw;A2$=cbKY0%PI|OHxMnWHh2%Vv1nPx z!L{nvqGeSFwLPL`jR&RBa0Ju8QLR!UIM>Y<+164bMTsAt8fUYCZfBI;Q+s>dX+ z6BE^}n}C{?L^Uf%)w1klEm6(d38-03Rwkb06km^3l77s;ffDbR^(+^bCAgQRGZyxf z5d!-&SdZWoAc6e$8{WC7#-<{*O+5o0<@adSF*V3he%Nw-jySU7MeByl%rG_C^arCb z%hqCjiTkCH@e3M>KmApx$yfR!*C?{)^K51ivyYaie}^ctINARHeKz>hTJzLavu{(D zWgp8f{d-s>eFf_)1A7&Aek$rZ{&Jc%fITgI`3v76>xQlh=g-MeJ{L3AThM*5hu!aoh?(`wnec{}gl4Pfc{<^aKHP@zVjpfx_@NKC zBg~BO!fsD^v=3(xKH|e22%{rC&pQ(C?!%o3SNd>g!cTm-3*op?Uf5j;Pw?SxgunLT z?u6AFc%Jtl?D64D!c{)plkhJ-+>3BRn-_K#;SwMA5I*O_Uc&m(p6A(w`}uHh!W(_K z58*$2xG&*m8+u{)BRt)Qa{&GI{+;gqW~ew9YJ3%Ke_pD?#d&fqFCM^adGSD8@V;Cg z^^H$$QI|(u$BPG3Oix3zMU;iZ=!<&;B0#agQ;2Y}nMaF=7cnyY%a2`9l~6+|g3v z9dGKdaNmn3$NDr`BX-bkf}eTC2g})W(nbS*j{-9mehPHB(XoU6J~zLK*?X{lpOWi~ z0(|ZY8$)R{xA@Uh;2lqaUq(4QXmI%AW{fFEtgwRyhdW;u0Y3nZ_U0l7ZH?dkMH`DJ z9W*T*pH&&{%9T~)pk*Nti#3f_6?f2<@QlUVSn;lM4z3$^?IvaSGyM2hftBT;t;H+a z6WHEEGedFV#Bz1m$>XD~P@$>CJ3dAUm90(Q=a-QCI}5haI$rb7Gj=BK8xAr{ zd7yj6vorha(ADAvmPxe0-sXVCqXl-r$v8rdG?|VUfp}(}st*SpGd>9quZ;ZdFaST1 zj4xOr)tFgiS;g}I#hhMbsmDrXKPVl1az$MSM4WpItvQgPH0G?h{N|4OH`Og#;PBv> zsFx!9p&J>+Xn_MtY^`+%tjp(6yO8gsya;l7K3Ko}X;24tu<+dvAnWJE`AsWpEQW+q z1#W)$TKqs7e%IRjPV+R}z;XH;3#tZf4vK>KNBzMdbS2|KP*6|5uR-_wfS%*f<@7IY zNa|X@GaV|`u-kSlN9q-uq4Z`sQc0}QP^m^kQlr_S{rs@J)j=w9&3ON#&zjA)%0QzH zIfxR&RaA3px*b9LL6x!J0v(%7<3ywSTyLBzH>M!txKqP>I@3^l$@pT_OT6O%6Q7l6 zOk1e4Gzv6cTu96D!HR);C!lXu|Hx##cqH}srUm`0KBkL5Hi z`S9Ehlv)wPSQxvktx~R0lq&`@>LTaSIeHSgbhyJb*uu`&xp!GEXRgqc>~OjJ+t;D6 zl`NMpURdeFVLAq7?)e^$%GnG4lJW42itvoe@QkYVR4BGQeFXe)gtWTCv5NM%oay1& zqmRNfB3+ew%1Ac5Gm-F&UfG1fTOzhy9-a~H<=Lc_>IdFCKUEPuzlUoN{xINPcH4D<67s#Z)HL$HB!ckf$-^#V0=t-yta~EwFB^x1i7xB=7#YC^-6=1@i8T zM8VE&7Rb9#6$N{=cF?XxA?d){jrn;RD|vo11Ea&3=i_LwKl!i9(uC!Jfm=dK32$VK?n1klAqF+F}Oic4JQS|A*BozYf- zh09?Ce(ek27>{1W`_*8k_{vz6$Mio^f7k#VUoXbtWy6{H zNpc2WHXnK5x}^8c1Wz**SsysD z7{a0Gf#AT&a#o!0}Yi9dlyp}A*yPm$FDc__}>;VHR+mt;dThIwE{oslfELh!>1 zQpJsM9p1CNqgEnsiQ_Z`i@3c}FkFT+trq;WTF)!u5^9?PUo+b$)fp)_CQZO|9S+AK zbw*>!5vF*KIM`ih)E8M)NFbaZf{NhqgSHuw{g-{D9;C4y@U4XF;b>MwQoYk}M)eMZ)0Z**C39ZaMH{((*5&p?I^Ifd z0^)E=f75W?7PJ!x+Y6%O(HpwW!Sx`}0?<*QV?opxaXkfe7U(<>=XBm$UIV%TL_fFU zdY3Cdfa{~6r$Enxcz^#U=zY*fAo~9^uAhUx0{s_MhH{{ugxe(p>i{DGY67)@*bUl2 z<3STan}fCjZ4cT7v?pk9(EcFYAsSdV8W_Ti<3T5aP6M3-S`I>^Fs=Yy3%Ut(8|WU; zL!ie&&wyS8y$X68^a1D(pwB>m2mK559VmqRi5RE`)BqX+8Ufl6)B)-OO$JQ`O$Y4& z+6^=dv@hrY(0q^sItEk#odh}qbS~%u&}E>jK-YtQ0lEWpALv)0CqZ7BdDq`S_gm2G zpm#yP1N{;7SJ0QBZ$RIJ$}x&ofNW3-Gz>Hf#CSGxuVZoD1T@9P({SAuv=e9#P%mf> z=pfJn&{3dcK}FChptC^dfi41F4!Q<(1L#)JU7!a*kAj{8Jr8;X^d{(i&_|#@gFXj+ z1^O?j437^Ypej%T)C6h)wSn3}<3STan}fCjZ4cT7v?pk9(EcE=oYr+c1nx)tfS)|v zjt89xI?eTW4z9~x`4U{O09^~Z33MCi9?(Oe$3aZ<8C+iky$X68^a1D(pwB>m2mK55 z9VmqHA_l4fHGqbI@W~KkLr@2(3p5!t6*L{R186tUEYQB713>dZ4(J$=m)`>9lR#&H z&IMfnx(sv`=z7pEKzD%d19@S71^G!A{|49Jf?fx`3;G@CkD$MTJpW%p{s#2Dt1GwA z)<8BW1sVn#1=+shL-5k(Cpar0#K*xfLpi@9+ zfzAV61Y(?*<9ZF~2GFgbyFd?s9tAxGdLHx&=uOc3ppQU*1~KgCxPArtFQ^RbwFsyR zlmIn>T0m`}cF=gxM9}7-tw7s@b^+}P+8eY#=n&8mpgib!(21ad`92N0b3n^Mmw>JS zT?@JiM8CJW*L!e%2=qAU84zD5dlmFH=mXHecs=|FxP1otJLq4a??55!GsZwQpa_1C z482~av!L6gH;{O185U!i){yYH@J8WH!kdK;6+TS(aN#Y&M+hG!d;{Ta!bc0=Q20i| z@x$LprCoSdc!%&Y!p909C%jX5m+(!5PY^y)_$1+zg>Nc+itx>ZZy|iD@NVJLgl{Q) zy6|m;Z!3H|;oA$JA$$knI||=P_|C$25x%SN-GuKhd=KF>h3_eRFX6L<_XzJ5K3n+S z!uJurukihZ&k;UX`2ND@2|qyifx-_Gez5REgdZw=zVO3@FA#pX@FRpT6z&K=QutBA zbHek&j~0H6@I}Ip6@HxX-D-w6MY@Nb2GCw#5&?}c*_nrST)ZVC?x4+}3BZV8VFj|z_oj|;C5 zUMajvc(w2v;kCkT;dR0j!s~@M2u})632zkMBz&mwVZw(CZxIf2Ve<&#BZZF=zJc&I z;iH9bBs?QLE4)Ma7~x}uj}ty#c&G49gijDYQTSxxn+l&Id^6#j3*SQcRN>virwQLu z_*TNV7QU14orUiqe5UX{h3_SNmhc|oy~1Y;-&^=T!uJ(ENBCUf`wO2Z`~cwx3O`8r z!NLy_eyH&I!VeR^K=|Rp7YcWTA1VAO;W^=X;YSNUM))G(#|l4A`0>I|5MB`8C%h

fc}4fBk>2J-)6@V4;h-9^*Tb=^ICcg~FSERc8iOw2pzNh`sSxsYUz zJS=j#a7%bZcvN^ycwBge@JiuT!mEX29}n@=3b%#V2~P;G7v3N|DLf^-NqDpHA;O1| zQ%(70UfM} zSp+&x5wi+(wjyR32roS`b!Hvtmx@>fK#wV6Q2?!0#3BLuSP_c`=xaqRBA^h?@FGqY z6;Q1r78%e;MJzg?v5HuPKszX6Q3CC&h(!u?m?9P}P@f_eG0-iFSkyodC}NQVJ*|js z9;l|tEo(s|6tNG$txFO60?>3t>=Qt<6tQmr%~!-e0<=UC`wGw{ir8m>u2aOm19XQX z_93806tOP>;hl4q8T%B_`-<4NfId~kJ_htJMP)`AQ78855H6$$XR3(eigr`fs0e3C z=+>lYfud$bcuqpMp^DB{G)&P-MZ*={rKm;GbBabNdQZ_PMSoMYfugu6DYPlV&JNQX zt!Q&a8!DQqXd^`jE6ON3Sy8*93l(J*{ajIpqWcw%QS_Xmv5MYPG)~dq6m=>>tD$9G zim;nQw230@q7FsdDcV%g_KLPuG(*u$MLQ@u zSkaD(j#IRgqO%q4tO)x!v~w3l*D2an(H)9*Q}m>w-4(sAXb(kyR5Vl3H;VRDgdH8G zu$Ln2=@89Qw6UTdMbi}ZD%x4mY(;Yw?XBooMf)f^OVPfHE?2alqFWWsQS_*yxr$y< zw7;T{6wOogm7)U_MJ%!UKt)Z84pM~k49wBNindgAh@zQ_4pnrpqWOyQiVjnBwxR`! zRw_DN(JvJpq3AJ13l*(a6+NoxEJZIUI$P1(iq28=iK3;7 zzEpIsqIgVlv`kS-(Rqr-D7sKlx1x&_%~Eu+qWOw0QM5?WrHW2bbeW=a6s=HnsiMmj zU9V`RqB|8`q3BUXS1Niz(N&5*QgpSVuM}OQ$c#(=Rw=4cbgiNhimq4GrRWAl-HL8h zw7a646dkDO7mAKjbc>=>6y2)mB1OMcbc>?f6g{Hoc115MxWO|9gCTUXsCHbrfU9#%A3(W{EMMThi0SH!J4AgfO7jG{4$HdDl{Jh<(l zh+BF<2Pxv#9#EemZt(#vQ?!Yq>lIBX)cplEAFXDZ?rBjQ}4XlF(E z(R-F4w;bViw<2ym0zIv0PepGj+Dp-=ie@SLRuQ)*5w5yk;_Ow_s)$>aaGR)zTb4jO zE80iVTt(c%gj-G#w=#jwQZ!f5<%;%KgdhK89_A@}RM7#7UQu+QqK_0Er07424pvmz zAhB>O6zPpp#4S;vO%-u#6lga^+#&@!R1vpIflgJ#EmNS26)jYBqatph!tFst+)4#{ zMG?1Dfz~ME)+*2!inzrJgkJ(>Zn@P8gdhJTI!4hrMT-<|spwcmGZk?w7UA|+biAUx zB5uvXZHXdo(E|NUQJnIVMb{~E6kV_ABt<`0bb%snQ6tXl6>+N?=src?Hc*5+SoLx?HEhhqX7+yAB~IeAxq*oM8{1XXNJdR(OGVW9+m}dITpM;d~j+w(*4n_mtRhcnRa& zSlYc(9!NNeI7m0p&${qt2)7MrS2sKkF&YPg7J`m*btk*mrMO-Ux*Bvd=xz|>d<55L zL90RUfj$9!0s0Rpj6Hn%;i2h9SLR{;ENB9#8#Dtn6SN-)uk?t2oUJu*4%avxbUp|N z4n@znu7mtb(EXq%Kreva0DTDh6!cHfT2K_Ho$5eCL8C#~&o(v%Z4KHP)B~CaIvlhJ zv;=fE2s?Ggm7p6zcY+=UJq>yp^bY7_5cc7We}hb%PO1bYLD<*CkyKPAXbaGGAnddm z`+yDx9SJ%CbSh{W=u*%s&@G^QL63o+1HA@X1Nsx_AE0kR7ET7$f|@}afX09(fwlzg z2-*uY7jzitXwYKNnV^An{xj%Sf_@IV9rPgR*Pxd`Z-IUf`U~i55Fd=hLG_^Fpfrf_ zb-LHhaNP#9tBYsjdLU>a=s3{HprxRTL05xr2Hg#M1oSLuHRwIiC!jAt{{e+@s-_y$ z2pS2>f+m2vK{G(uLo)UQ9SX{U`aq|H&IhdkT?fJrk#Rrh3D66mH$WePJ_Y>~v=)T@ zAEOR56f_!yv!lkQpn>HT#9PCC=O6IX1Gjmg!$FH&e@k#Z+m$cG^-2&w0DULuVbIf{ zmqGjy2&VNhu73ml8)V|-O(iG^Y6WFL8-un0Z3o&Nv=8WD(2<}MK&OJ1fi4BD0^I_- z7xWnDInZmMHK0F%{sHsN`pEq7WBZXNzkhHfe7V$ju~n?ZMjuoGfD3tA0&5A+F$aejg8e<(pu<4}^Nl?RV+rVN(1oBYK{tZ#1kvxq?)7P0Uk1Gc`WW;# z(7!=u71|qUV7wkq!mSmQ0bx(U*aEa2Xm`*)AUhm5Cbkn4vq1ZUCVf(aoZ*%2{3d+N zBGR_LgrVQn;WbfLTIfp!U&0$UuIp94bgwVr*skmPfiL06uB)r!V-rbt17GU)B^=9j zU2!Pal}_`eOMK}jUwX)wUi768eChAL6yn1TNw?XTvc9yHFYW0|hxpR*zI3`TVajmh zyV;i>_NAA6=|f+_FH5;0{^LuPd?X=O;UKLm;UxxF!Xa8$n&C^cd}+Qf6@2MjUs~Zy zH~7-szVx&&VXAS{_|%ua^`%BWZV>x2zBJL7w)Q0)dv*Qc(5ow*;7gc#T-}wvbh|G- z;Y+Xi5+))y#J_zh&c_B~%TQnH@}=p%G|QLf`_dv`I@g!3@})a`=}BLD-IxC8OW*iX z1s?{8EyH|itS?RTr9FJ!moD|Cn|%pWksI?%zVx9led|j&5bFBFq~uCzU)sc% zw)Lf6U&8d{hFI!LSNhWJzVw7I{nnS>^QAxg($~IJ#VvO!m;Z;kFM+eGsM7D;bidc# z>4dy==netW32Pu>3yR<<5H|#I4;T=XO(C)bc(}lQjiL^?1T^j1ASY{Yg-y)0$u61!j=xQrQ>Yr zk+yV(EnRF&*VxjHw)7@j`hYEc%9g%tOW(1jU)j>o@`41IDN-; zwzR{R-eya8+S12u>GQVqEnE7TEsZdlEf%t+Ia}IjODEXU<80|%Te{YkUTI73v87Mg z(id#$Uu@}zw)B6tw2aAWr4?XLmmXqEr`pofZRv7bdZ{hF!Iti@rH|RtJ+^e8E&all znoJ-o4fe66Lu~0-TRPd69&bx$+tS6hbd4?DU`wyHrFYrVhivI@Z0R0b`o1mw!j_s$ z6N{#{gm(-z?RZ-{&6duwrM4}-!j|4)OMhldpS7j0+R~40X@p5$=|i@3kS!f&OOLgs zvu)`zTe{wsUTsUeZ0Wul**TRPd69&by}w56+T>3Umwr7gYHmfmMee{M^kv!#ExrT?;}`)#Sk zCLwE$F}rwTl$JEean`9W=oSyPAa+k+0wDL^k`dpnk`*qOV6{Vm)O$lZE2S+ zeZZFf%9j4YmcD6A|6@y|Oerd@TDG*tmNwYZ!)@s_TRO*<+P3r}Tf%p*HRpHQ(noCR z?``SdZ0UQp^c!1R!UUnxZ+}}l%9b|U(pFn~mMvXvOE0yhH`vl0w)8Pu`l2m;!k4gU^DMyrkgbNA{^ zy1oTRP5`9&1Zy+tOvW^b%XT)t264OCPqSPubF!ZRwk~^k260 zzbu&sH(JQK+U>k-Fb@E!(`diJY%I6uz6<|8fPWvwzt7;`m++4-vXbYw@c$p-A75Z) z9dAY<6^DW{%M>@4s?t8Tbcih-YfGou(mA%Y&6aXo!ndw9zqi}c2W{yyw)9W7^gUbp zjV(2}u~ca_ZA%B+(k5Gaf-RkAOPAZy3vKBGw)9uF^f{JRW0pR$2p|7#&Ro5GJw6bI zZvpFs_l~2HVnBV>)epf5^C;}2pWTkn;TF`@7sA>zn6zKFDdShe8tbtIT%S9zc;xS3 zXLMBkou^Els<5QF9gk*m8lUG|a{OCy0X`JBBO)*fm&*P^yww+H-^UKaJWTClXw$5*+{9m7IO+gjD#o{pZ`pRz*8A_jpWjfDCcX&b@V-CJ zzl65up#|Ccr{RwF4OHsI_|Ifx{Y&t_^+=h+zU`NyeBHj7uFt{J=i~bI=%Bdh>f>PU z?COi~-}QLs83*$rcaB3jkH}UYzH+L${wCC}c`zQql(yLtesT4Sv>CoodF#@}6LLH! z>_2$|`~HNo94#fbyV6|obI4O4G2s`ax4#V6!)~0@pzLO4viPb@hI3Q>dQeSu_bL1DR7cItX_=|Yv5>w|Fpyi8|Stb`tFT%M& z%Z`5%vh6K=`1#f)S<|z~u^=~IIZQ2cgQzJu4P`!=-4?>?;RrY3Kiz)cf7c%9sI;`rUW zFqoy^9pg*dz7DNleQfY7*8>11l?PMzn-9XamSR-C3tzWgy!{r6*$baWKmNUF2tMk% z{MPBotTpKkwpZW>OHm_>viPa@?XTk9Q>`UCUJe!4sQ+%q0^#Jw4J~{mLC^=ETb(K1 z&VjkB)!L3jASMslaHP8wA5IM}WnWbK?`o}(>+M%!_d**^SI(Q~v+xa`3()}i?qCs* zMrUvW+(v#H!GO`mRT>sFOsszmR8h!*NNp>JzWTWB7n@?A#tb0nA^fhwt-vmfq{*wV zrf0ttrH%VEgfx+@-2Pgy@p$2E5`wS#-0Y{^L90CX^(g3j67-z|SY-JDi*XpxesIBC z`4!QXpd1KF^Hxn$XPm6w^nIMH!uNnK!@c~=)*p>qa3iewkgKUpBfNUy!2I z#iQHz=N-xd8}YGqioa#s>LU;K^}#VzINpapHF)xMW0yL+YW1cc!Fa2eGwm= zg8x68eM%i5G>Oxh8aq`{9a+V*lJvo$aN+L zK|eid1S!3dMQ3I?ui)`e7!LZ(tHYPgO;spHz3zct7Z0M>!R%d1S$%AlG;3Op%d!od zmcz1K)27jNa8Q;s?hwaBPRr6va5CnW)`Vk1yR{}gCbV8_i7+{|XdxIy#c3lWpZlEH z=$BbeZHqR_ataS=DcH) zN6psLadhNoknix_>mLkUYV;9*a1I9blx;wLd;(vy#Sz2uJnp?sLqDqt=r`AG`ns=8 ziK}32p(6nLLCyuX!I!mPkI{q%&rMFPPzgo=_C3F(POeTcFQ(Qo5p5ZlQXR) za_04R1l^M}$4rqlIkR)_C-{s#(`I-sxO5y9XtcM{s5QA_iBeh(4W`1jZn{tX4@sZV znPZkufD1B6ql!7q+rT6Z)|=!}o1)Z7)0{JHe-ns|uZYVAqvj4n_s3~-`~-#+ZrO&I zvDB0ETMjP(4~h4W#Eo>Jo-0;^UxG9q_{aw~PyV<}_|G(yqCC5ijvJVwSiBj^(VI_^ zc#IHd*JIbIp*nYN;*=||6kpE1MxE3=rDJsRytUFv#gL|n{Omoonz3r#vdySvuJN@) zKyCD}+O5CM5i29dC1~Ru^y6RF*%UX}HO!r@O0pL>5I5K)W%kPuEdkm zCTPr;M)ML%95@7R|gpyMUEezAJiIz|$y>e$x7 zq9O%(!l%T!)s2HvaW8V0CN|J<@A>kW!soP4&F7Q|d{ql()giN48|QB}<|#F{F^_VH z@qgern8HfqV9Jc2tBZqqb5$Jd*>7l1JSWoyiGv?i>OEy{y9=4@=L|B3#Qyfd=a3I} zOaN*)ak-y4%%19WlhvdqF~NthKTCpadnNM5Cx?8C}Fj>&4) zS9?tMC1GD-@=#%NntZndC%BrAM2Niocj)Xa3{4l58T9Vgl zChJ&P=a?M8`T-u314%egm^|DuIf&$gG!q0LTUrM@CWo+oh{xnm5)Kt6c)5ZdP&e@; zzloZ5a)O3KY@I3eb&v3A2+60{Q_Om;)M2a~=9D^|^}{`-HjuDElzJps>CDPTk~eB5 zN3e2)V{#l3j8Wa&M_9!IAlT^M?gqphYo4%pCOIiEu^v2k@hxE7xtd;I(CMT#%CMS_=H1# ze8M4(PdKFU35PU3D$;yg(eg!_U{^M>4)%39B%Fb2u{6sckZ=5_9bjxO(1YUAOdFGX1NRgcluh8K%1n>)G!iy4=nYM;$1%FuF z^j(IH;WuxV7@mIO^*`Lz9Nj{W@-V;}2;jd^N=d>X|C;~uN#iFkV8d>RGnp|0#| zb5&G<`7~*{Vghwvht}^J)B{TRx5LiTy}2pGF)4V6qS3XVKX^8nW(P*H2nkePx)0WMxt$>&jV$6fA?|(du#u(>5 zf9c{0F){YH8#ju-eSg+5Ogvb~I);fyR9LY=`{ub70E;IT30cA@yk(l_{ha>S`7WS38qfd~LTK2HmK!!|CN& z!Ura4I)ON%@yHjUyNh{iKA%28 zB(V-lfi~t<9m3V9s;%vwco=WQawryk)tM>c(_*4GS`j4beFf=w*vRq5Yt}Jx3PdBv zBO>p`^X^+KwKO_9D1QBob^KfMUi?2IwHOI)H$?=VrjW6lOQoh#8BO)j2)x)Q}43|5-B z)x@sfupvqb779uvpYvUJIlqjZp9(L07c8ctD^-oM>KbT*Dj+Rb@YP+jJB!?Ut$Z zy|*cfGDVh))yZ9HYxVZI%Qc*N&<{KcI=XfIbHUNATl-@!fw(FHJ48_9t1SikO;EhtO~H_~kg)&shFXp}BIPn|6i zP-k5kEo=lR>MRqN-gMS%?ZidtJc@5y`g;LN`%Mez?pq&+#lNIvmD-GXE}0rWa3vowa zPX~w&vngI-9}5M{c3|nQre^AD77ABOlpxtBb*Bj|Y@lJ{3cI4FBMKF0JRAIUprNA* zVS>TKB}dCd?_71!irKo#y}US*#V{f4V*~5_B|_4xNZU};Yc4bmb~I1UKPN%E)Y3!? zh74G`mEVdo2+*t6} zpT3Viz<=m#YW;~=cqQtBrxoM>Mxkn&((|z z=eop&_c9oy7FqkNEK-FaSN(a=<9Lws_<`1_DAdM-6l{GTtlBq_4&}<1USp74QZZ7lAL4FC%pidIiGZ`SL@=F z*46Y$>$>=)Z_^P`i>&lVpHyn^;rS$r zuwE#qKDM@deA0DLfnBlSlk%A822a8#87AI<$vTFKM^rw^u4(KGpEM6i$|tcP!S#y_ ziG^x6rSflB)020)Ivv~)v?b-IC<>Q}@ZtHX>%q3@r!JmbMN2^sr&Pt5mw@`&j7Sdujqp}Fu(>hyaw2Ooy> zd+u3eISo@x{K?ZMcV!W48{ezSHRR4VlDp?YnG5WoEsUqG5@!EM zV^#+5tnfA7m!dju5;sf|AlE>ex@4)kO+I+?r>7KvbCPS0<<@~YsRYMW9NnlD6_i==+*98glBh=QfBu?|8_T`igq6z`3!7&1^tAY z`+0uC%iyXGYDPJ_Hs2B=O^tHC0@mGMC~n<-MxWuuG`pbO+ZtUlrZ=~+F|4YWj(CCs zwg%%etvVCIjSZ`$ijL{7)Fv_)Zu**cuZ%L@+vL5h;$Q`LFRa5;6U=Zd+$&>;_m1;k zH6X^ld(pRefQ=bso4)2-W6rDa{j$Bh=JHjwmR>XY6b@9`j_0}H@2a`3Ql52IPr$yb zwvU%)o|&GQQD-gT=pg;xn%B#wm*QZbt*xd0dutP@;>;h+Jf4JT&ZEbs#M_Z`Cbtwb*-Gtx5YZ)izj9Y?rOG{@Gkxjz1Q9~g}cyt+$F6K?iz1R@h<)k{Z_xhhnxL3 z_?Fu@_~h}NwD|Y;-|xo9Nk9J`sUwjqpAUV^Q#rn7y)8!?| zR)v!+BtmVK%G`Ox;+YMLX6IjlYb1)79EB#oQph?vy#qB#SSRd#(@id?@EYhUv9;0F zGlkMs=M<#rjDD4pR$V{(m1~OmU8*Z87NcqEYv@@{ec4f5diH@h!{cU1P1wgf!-H2) zFE>X}v1_=de+w>id5~ARnqJd?H7H?JPnwIzOV;!csu_%lShT zmNO4kT+?U!(sAq!X55-MmOASIEz7C1uBd3RL}!UOd(&C7H6g9&9Iok?_AxIaRJI8s zLekjJyg;RwS6LHl`qad%;)`8O&8+E*OuMGfYI03q>$WGa={vJ?p6!Nqd341)>>|G0 zVyk?_;hH{;U_zLF4hGOh9O9b3Xf)88z9>~((=Xpi7sd@cVG_FC+Hr%q!2_>e;)d7s zD$m^D%PX$cuYxyw9oVY4fd$DOzTS{n5YihAiG}LuLf-GiF@7Ugs&#K@5ifN1;5JmlY$ItBx~TUduY*kf1-Zn7YsM}IcZppN zW5B|eWbGqaWHS)EP*41ix~Q1U&nK?Kb?F!e$F+^%oT&cJ5~LC~hM^jM3}a4M!?>qv zjAF!;62+X)D24=yVpwXnkAsE7!Pe^6~~;KyG#n%T({}#?oKvB-cf7tPSw*I?oOM*lj~}|qh^j_ znvi)4KkbOQ(!%G_+@odOM?;AtEsy(nhYj@P7F!)(<;8uHWYg(2uX{`*c{aWk$sX@m zsBz|gketGknUDk)uJF@qx+|IV8ZB#r$tlHd%3hCCrgT!s%hm<#^pim_seX`r*iw}b zTgH6Y(wWw>ARh+OQj-tEvD)lJ%UTmQA0`cKEnTs!kPn-Xd>9VBYVa^_xr44?v%*VhJclOZr-8Ta%~AtWlO8!l4)#+639YApjnI(Ox0nf6{?qb z+#VgKzj(wc_vri)IO^b4?-La!Yy-A=S|)4=PN#89%<(j2@=h>u!K=Uj@?_YS|NOP@ zPXlM=EHq=+Qw}qqM@>uyFUx5cQ#1KIk!kaJtS0k$TDLtp zpXbcZxQ>nO7T56(8_3BmwwlW4(Fi64>nES5jX1=7o@g{sK2MbDH=p-jn1pV(cKl>+ z@W8H@`00JU$}>0k@>Kj}*8#ad`A@)B#ZN3$2TP2VcESHVSH((y9P8uo)`c!)3p0tJ zMCj6Itn{Z~i?Bs64Za_>Xlc-5<*m269Gcs2Z1nfcCNe)eDE{7&{#tT%3 z+PIx@Sx%)$^Va`T`;9+<%N#D>>DB0CiMu85Kpa{VcMt7?yXO#WsYTX4pGB$=>^I&5 zdW^RNzXL&`7H=t5SJ3d{`WEHKc_l$gK$f$0A&ttC=6s-FpF#k<}B0`|D!IEFMD>4|!Xd7J_RU3KrnjQR9(Ka$m>diKqF+*q`!6pLAY$F1CwT%|h zHIH99zP!1ZdeXsMjI^FE9$(rK+|^qiUo2zu_|mfe^7wxRs}gR#*v^Ftb`Iq2M>RKi zK|wF`(2w^j&)ne4E6zii$Ny`vRWTw9-DAWJhYuVKOr$7GdP>WG+A--rE&mxX@%n-vHy#N4@t+?z zz6EikUVfJDV4k349qjXyXRV&z-$1BmGcynJ^6k8$sH%={kJI*>Q{T4w zEH2aWt&V8_7L+ieB~6E`YOarc%jz%KcY=@c)%j-S+~IM&+I|HBrFm+Dh?L@jx&4dr zb3C_a9CbT1QMOc*)*jzeqd-3dwW(;T!1z#FF7Y9DU1Ul(2|)Q%v;8W@hg=_S+HYI& zhbRC|v?m=GM&Gugj(#XuqNBuVz3CVPg3vKMi`VNPUPPvv9z0%2aB)mLVlj`@LX7ZvNK!EZ3*BObv608ae+iy_ zE>Cw8(V*eNuJol;kayz@-l zb(*)lH~9tJ=JFYa?YVJ`SQ+I=}8&mgqH8ZBp z!`R|qa1PbRnqz8XJf_<3=is5_to>&!Qfx4e-n}s6h(hf+qS&%=MEOYwwBBP3N zRBGeljU$S%BPXXmwl>UhRR5iid!a&rmu|?U`m4Di>aR~m-y^=vT@4)k7qC@0$O3UN z%m3AoSP;_J4T%LI{f8m3Pz|7v$NAKIu{Raxs$(tT%eW>DIkrVj;QrY$(d#h6M6bSBCVE=!n3xq9 zYVuXpE^fu6zS#F>-z1^QRgAzwAx01}dRv@S^r3~2Y47LrQTMY@xIgRsoBUP?uY^(m z-+23X@XR`2i#ZEp{oOaK9{Y+?kA*Fb`9@Sk`dxYksN}WqGnZ6gL8@U2fGcTT)jw(pe~g zg%V-FUn=?)N*_?!Fm*o*h5NJ459PPQ^AJWl87~zbCs?@Ap@M@O6DtsIegvLb=RXsi zJO8DL9zbez)3L?;k9o5Q)q#andOGd+Ct%`wP!aET;ra2Ok9QA3UGli*nR>k_%jMCO zL6&qS`egNd?342M&C4}K$ddkMU`e%7^_DD`Uwp_?PtHC=pR-&`@Gy_EpgNxg?()SWaq(0j2%D4MGiau+pBfKjw5Sg$B_x_xR-!I$vCH&MT!lu zz}JnVUwXAJ%$CP$3#e zzmAEOI3^xZ#fIxl&PbiN_*;l_ zvni+2;`^=B7Io^(r$D8T_X5HYI9B|YkYyXx-st}C5A1}<lh{;5o7P5((l-D zF2nD9yg=nH?~hfGD7=piA|s3=4YIVO63 zQJ7g+P0X9RRul6r6>75BG3h_aI0`22nfm*TF2OV4KQkZUcfIY|DjoA&yr-JwG%!1n zzt5cZ3TbRUX)apNa<(R9+mLmk5RV@L3NdQZ z@VSW_d`OTDJ}focE1+et!G}M@8+=p_&p!)??Th_1_t@NkYi0k}{2T^-mQ!czvZ=GK zj26CON4ZXC+3?ew&YG>+`AtlvKE?NAOZ%9&14!8>*a1Wu`&pmRkvQ*;nwT9xSx&o{ znt4A~WZL~etS0vZY2EtR5A=Y2!_JwV`=!}f8R+G^gLsGC9VEBdDj#up-W`oF$YvpJ z#361L5{(AhEF?-5Hw)EY`y7W!=ytvNtb>TuywTj?fkEXoH8>}CqE~t5249|p z`K^p4V5@SfEL0~@8FP#Q>n>I?$7HOJ@{^K2wQFT$3p0tJV){~DE-6-h(%cj-mcT{4 zttKzEWb>gp2?TlyNtQV#{f8ubfrSOD18n5Pz5`ydvnLNJ$_1wD=d2Ht~3p*9Af*s{44<;NK9){@A`0y7!uN@@>Q zslEFI#Kayfim?wL!ifC_>C%sSIC(G9mmKF~1n2AE^w5#eZ8R?elkFJ0CU zR>msyJ(t=Wykh;gY!P4azN}+}d8%eP@1kYg1VQ>t@w}TET;;~-tgGpGeibNTJWpEJ zc>cjP$MA!@jNxNAaH(b1K8{7IhrCMJT8mIF25!|ZZ4%^F7ZaU>NyN5>i8mk|6OUNwbc*j698jf#9iQI&1?C1{ zoboyAFeW%|<(-`a!PkwWgS?sAVg<%UnH@0uH; zzI&qSyIX*l>%msxB@42r@GwJSK}eX1$W<&VaIQ&V@EJeplY)2TGKCD1JIaSiQo@Dmp1)dXRp^Jtcd zITy+<#F>qTWU|3A(c2B@HwsBd4M(6RQ3GUY+K~y`QI;lJ=(RzcapWUXW?-RchR!ka zo1e6G!ZumPy0QIlVLTSBG?NxzuxQCk`qL{|S>a9{o@Ra8J9SvUub|%aco3L)UA(aG z{}Je4{0ARAvJ7cRo+tNaKn{Y6doj3Q0xrMFYElYlvU2QP9FU6!+Vgf#Y!B26*V8zE)* zQd!kGaG{iZW#t;~$uzyivsjk1mlOqLIUhG^eyjNOiZo(jyx;P{xXxkcabC?}=Xtn~ ze?bg-d`;{;KE}@WWdun|&e~V8NU;H4UbHZHNud@mDYgtRDZdIY$;jd*8CBqAsf~w+ zmlR*t9{;_8u){G|AiPB^k}$^wQ(sWi%=C ztB`q-o~Q7`Elbq5)>R9GoF!?)%vqYer0}(QNmi42NiDyRyd?L5Z9^Lu_&de&T@mwb zXncxTeV!(jU1U=R$u4SB3^BVX8V!_P6s3yU#hJ=AB_!nadzgO!gM_}=#a`wsu@A#l z5;RKA%|$^rV3cKX7p41e7eCzIZr(xC%jYNJ2hVj{-+AMWCJ#3{ayE38JfP9l^X^X7 zET@ugjhQlwK383<^v`k%HrK-0#j(#xxWL6eCwsLnvCl(m`r(Jhez^TgIH-9_&f2eL zkz#|`=Ov&oK>m$FZR|s_Ww8(C$3E2M-^j?uK4er8`;^*vc(D&f*k~uGKDM@dVxP@W zAsla=N5n)oDiX1eVd4#h%rfzaJ>=gWS*3y}ECs0|i+DJ~dSuTPFE;`HtCKYhkGSx$j^C@J?N zUJ}6$RbWsdEtg>D?F@EEkYIhIkD2TLSMnNJwT&oo+HYQ><853!3`iO}hu(R0Q z&@10<$!jW?W7*C@0w!&zAqGsM(Le!{C{+xYs-~~OS!|DiO(GwDN=&Tu;f9IlKeLWu z;t}DevJv~P`D(b1(;!LZg;|g!@Z$`Lg)T{8&Uq&hm*ZUktZhCPH-v3*fs*6~Wh11? zrB(%crz&pVyXK0Od666(Y$}wxL$0)@kP4Ms^eY=uaoJpZKO3sd72oB~U?2YTbC^p|m$OTZ&Ag|S<K!yoOKF5%V{+eCCihLWPFy> zc(-v)HQb;11pHw9d6qxXt96N+A666FAC|!O4-nfaIcwvi35|J*4eZX9j#YF)gD%C8znWMsz?8C8s(76#07eP$=T4xjnk)lwJziIq?+UOq{KMI z;c1O|O3vCiv#c>svB5aS!KMp=cNA*JDaDqJQ_8Ozr(|TuDH&Ca(^4A`Z=6zu9ho`x zv9;YZPS1e~(KtOfCc3U~`n`7!tYK2m=nWoM%pGkgdNy#y-0|41@eEiY z>pWB2qTn0Oi;2!aXoIoQU3ZCZ_8x8#q8T)JKVhnF@=w}_n+aoG}FkSEm=YyT` z2ZyUOq0hkY{0r8|Pp&!sPfm<~97)!grzHBAV%`U5{*{dT%}NXUz@FFXvYf))P*2E= z$NHI>`A{xzw!<6uE*^Oubh*U(P|s$=8_{ICAY=IGQbd#eRbN2c)L7|Upo~_GS-k<| zji2K12}Y0FadRPfWu1#O$3mxnR)Sae2)vE-%D#`Nbbzs#$3i6tLVvwuG#?%(bE*{3Nv zYmbhiNU=dIi6fax`t}pdc0BqQ7Di8XgZM~5|~ zHXhyxpa?qx)MK=@VaAg6_a|SjY+D!)UN1Mk-CNr;H~8IEZ1zAIzHN7o$Bk4}u|76&mU#TYe#pVB$d zfnq}nb3-?X4Jk7oyDm25&33pZVnfen!yBPwx&UKR_L0~#EDpmUc^)LGLBc}yAmKdg zr;A2La`wf}Rk)r3kiSQ=|ABKgxas8&9R@01-olL3%|Tgqo4j6mQ6XsCF|o(?%58c{ zW$Qij*SKpqGi)u<)5K{G^48Q&J5e;J`@5;)v_34$n=IM<3unf9;89n{*2O!gI}8&c|Dfmb08st4LE?YG=mhx4A7ul8aS%gEeeR?i(CQ_~keCgF?M&=*s) ztbHJhR14crC^tN3U?%CCxnE+Sa|S5f##j`uEAClw=PecDMh`KFY(}{YnF6J$Y)0Wv z&Gvd|8Ei)35AkLc*s>VIv3)TPuzfe+TG@ZC&kdu_Hk_l*x-weWm0Q$VHmCHavu5jd zru?kM;g%G4dB^IhfC43)gOsyTMv#cC??VP_}X$!cQ zNrjyskSCfZQVQVi8UsIM+GFPX^kJug&i%(qjD}B&xy{KHwzq5}Vp5XeoV3H?oNm{a z%GG6gS7r_}`ImKGB#Qgb#M9X5>&@NF4Zf-2*Rqk~T;vAuHF#M$7dfRS{+*J*zXuca zC@G$c9FfF3o{_a#n%-ZYn!-xwB9s|pkeiF}=Bl}fXS3nWMaXmk<|51H9@HgIeIx8F z`&wVDj24Xhm!ya8W5j)})6#>68yCMYQ$6AxXOF+pLaV}dfP#sqJ!8WWz)hBqe2bV0^M z`6_4lj^a(qXu+6xSxj_2*!W@(3k?&$D|QSMkC<57csWGX>Win=?2D%+`r;GW7bz+3 zi>EA1U!<_ozDSu>eUUd;^+nHS!|RJ=x&VD~a&?7!R^NX-#rWrb9qcQhx$B8RP-X)@&(-{J83hc_!$O)u#qeGbpWY1)(>&VwnL!T8Md z=!RK&Jjr>mT(_x@dGG`F4u>;s`OKHsR8DohCow%S-fC`bO>AwAZe4rl=*Y;?hqs!j zPB&Y4z|-SM054Hj=%0^T(lq^h(-5b+qR~K8U3qx^R2O5MF`do7w=k)^MRos%6sjkc zoKw2**58a9gSoJq@416*$Y0GXS?E5mOncQ>mME_s-_2+NZN2S#grXlqDZlr z$Z8T3wKjV)COXrWVm(5jeS5)scx;^->g-zfJ z{aj<#d0mS5`k3guZ|lEJ9<{g!-^lUs&dDhdjU10ynLRC@DfxyO+G==f92EL!-0^g6d(}kE1QDD;dQw91}X}S3R zzoG9ZL3}?;%{H=eq3`Dp-F*KG>id4`nDqUW<8&0?-c)Zt%saxm0o8?5*HiD=+)_ntuK93BL{; zZ_HCtoR>w)F5%M$UN@t#(!4BX#xb{BH{;FPE2{Zt_p_stKNhP z*9hLGj26U8Z;y#?c$j|Ytq~X|UcbvahKWZ^tP$J}QMLNw6KeLwCnWkJRB6mpQrs8e zXcwX{QdntUq|B3v*Gn`GTqJn`(4UtLH~Ytg4l2Weh+wc>)%ER zzbki)5tj)8&R{h?4j2BhU~Kor-&C_f$#?%f|U(&IrG*})ON`%`M~;f)lE zup>o1Qd=A5yFc~!F}zP1Iv6*991~sFH-6oVQ4ABmi+2nYkEndO+0(Z_78>AOG26!S z3kzKq8usL-TGvR0VbRa>j<)2UtT<)|5IG1x9|7=$?*4sNo=3j zz0R#oya;-8FQRikrpblP@p_BB7{lKjPl{|Bl;7N@L8%vyd}5=pbV0S~W8Bg1%Kk+k z^8sAse9WC*t&5L&a!nuecr zF=SNXV@mBkJRd_5)~n>y$JU1FW9rAA@X@Lx7WNH)C_!|?qqo@e&%nzKK#VoxqrBMD zDB-!ItYeh$i8;9?u-W)6zT0>gE>V7qg&KZq2=6w2SZS4dw~;z1SI0uZ)g^6`ez#HB z`vJFm7}8$ZzN}8BJ4voKj>Qg0Vd3TocuA-({&U;C7U$VjA<$jXlSpPUKb7LJd z2V3hh)}LB)tUom|)_=kQPRUvO=PXieFxJ1fFk_uU?O3PSvawG2Rb!ou>{utGim_g5 z82C)ewhhK9B|>_ssuI z(Gtc#+;o$f(~R;PapIS93N1F&J%B8yxYR6%bT`LQcj(uKDZFrpercF=cZb9oi`BPT zIJcUcn#4r%v$#h49=#X&Z$Syy-bqty?^*tL-VIag6DxlY%D7pGRohy#oHV^y&%6uH zMpl2pH+Htv^j}+I|D{HhIY(&G7#tW|f^~bUnzfgZLRCSbF3Ruv-{1L7(zkKn)830l zMvw=_nE`#A>qRBBJ5x`{e4hg`FcsrUx!6)x^Z%8r`6S3{K1X|G427Udabcr&2=rDf-ybT8Z*~n54dWp`Q7o6{zyIz z@?o{raC~5u=|&5dlIv>iC8z59P+9pV@e1_2XTkonH}Art&SYaI+kPN^-POQqch%-C z#*R1QURnS792ASN^YaO!bKSkg$;jit^k38*y#wfcKs7j$euvNK=%Z-I=;#x33M(Rx z6YZT72Me`IgKO?vJ{tC6zCG)FsoE6t|A60JOH4b~uXlKOXvE7?*;zHq$x5G%ZgL9T zhy9NrtDFK0U2_U!BaeYRn^Tndz=0?~yJTN(CPP?DM3g27Oq)(T(X?qy%{{_B)uLVj zpLO0+esKt`1zOR5wm>&>%i)u=rB6uqmhWrq>TI}k{%$nMJr0}inVvSfkB)HM@Y%ZC zvYfZU^ocpkJ^01VS?={}#0X;kdH6s7g8al8H8KB;81viv6V)j>YahTO#RhYhy+Kc( z$u!XV3WaJo%yNp=l_;*D{1^}2`U)9o><~t}lKP%{sg3*e_K95|6k%s6s$sS^%sET_ z^_4Fx+Xi!%uf#;xnaw!#)>jM@&!J=;!^9&l{I@KTu1bwN@0~$jQFP6EycPFJ{WC5z znIK?O5zwUt{Wa&I<7XWQI2umPrOWFZYU*W#$(Ctlj6;G_~71f zpOj~_;f)wFU63(S|NOzPDx(#~h#L;pw|o1r%?*CnS3bSi$NmL;YxS|G)$C(WOZ2ga zv5!$w+{YfYFnx@|O8XdPR`oI7T-C=sn+>mzk?C&kWB;m*)cH5 z#6}D6^HYw~QF1}O>8RP7%oB7B-{<%GikJ0KO%Jj@q_MyBIm{F9^HX;C{)$Mk@2{|$ ze1Ao2vnRj5;!Ioq{tBp*?qY~*-uIO`ZW9?^-(atg4%x$@u_=JZZ6zRj`dEmL=2x;@?; zj#nh+aN(J%-^OJo_Q~?^xSB?g?}8E{2x)>K%&D}|7XAh6C}-EikF&er$0fuMYMHe! zXOSubN~lA4zUq0USTfN0suZrVL@bm97Ai!iEyfXG`4NGI1OXP7n(eD&VBrrju)wCp z`7Ya+#+Dm!t-?yPu0fqO2#C%}prKr+vj9zRI)^}`bPmr~E$w3-@+jK`$V1w2k%yWX zq`L9)|rSm#Q`QpTH*3ob0D5 z;(w=z|D%aMymWq+AbJxe{keDS5Y=1YWZ_(se__e8!%mZbX~~ib(&S%}-1#;B8#Y1- z)L%&#m@|8W%nm;DWfi-J&+NWayZEq~%L6<3P5=8J>tH|rL(Xwz8KB>xA)PU1-jneM|&E&v#YOOPQwJi zx$t=YzYyv|j})Hsia@Otp8pn?74iK4Knd}jv>JGRPE9;Nrwg9%B%V_<;5kJHc>eN* z!E*{s;yG0yR*Dq_&;OfvPJ-Y$OU?EhVm#*$-SC|4sfp**F^T7t<8%}}?@h<3p$@Bhn{wU{&9lzP zm^8|ZGGhJRJT&KBMJ#YUJOE9t!C~8XfDaicAwG~+10T+1@rYgV;ap&rtb5>f$b}6-{#n)FrtZDi*tx^P(q9#tp-Lsqb5c? zqYFmdMU0?kzzB*CFyc=a1|ujii4jzR{#UFZ81XA&1POu>EH&F7i!p*fbi)X?rzS>F z$0SBjj?+;vqBkA8V}#dNJd99H4={qX;bH`3hZrGJEJm=J#0ag;o{SOBwB;DVYbr5< z?HmLnw4H{C5u(vR7$Hg(F=BnUoZvsfPfAX30yc>-VlqMOH>$^*l;-VMed3SgoaU$8 z5BeL(`iG_N2Mi;=FROo8=6=v0M%F*=O6{@1bCdm#PL-YWcngzO)@Kg1P?IwU z9BoB{Hl3iYv^3A622(G*(Ao0>t%p-1%c%xVLZW;s@^BlpoS4zerQ>GlXk( zcuyw4yTqdmsE{InVJEYDLTOAzg`$zrobdFQw3t4SV3_4e~HT^ z2rjeKY=1GvW&Y3&m)V}0xJ(_BxJ)@tN5SRZbnK4HUSIKWSv5VtWzvR=%ak4BvPiMG z%xV&swKjV)E<4kf<1(+Q#AUW~5M0)F8X_)>Mg!rpC{@Je9&&rLunFB@VgKZ+nCP6e z@zLJg%`ovXtz(#Y#KR}|Esq$u$K-7I`VQ9+owM&Px3>>8mz&Kp-TZ2hoc3(rVzuc{Oq3ye>HLufz#z2ArVi z04MHQ7@VNMBu-ET`e3nw;Kc8U6C?;uu+(gSBgP5-&1|XqZs6RJ;9WU zo>clrIj|AxeijP%JA*=hW77|Q&|uft$a_HNc@bGI>Xl)an2z7RV@Xb(6`DJBR_euX z=81jR0+L3~)$>n1&y-*Mb0L)WwjKVt5OOWQsu%BvJOKI>vGYJsLhK~126mob6FblE zf}KAic2YB7Cq)O?dEdfdCj}<4lPVCG#0r9)XlbT&6YS(q&Gt`Y?BoyKu=Bq9*hw9e z*hx7~N5RhCbnK3uUSILBQ#C!nPSS>pos=D7r%18b$!ZciwKjV)b~@9RV<)ev#7?$z z5bV@;8X|UzMgw7|DAhN19t4|kPEnX+9UK##t2ch$n`0R!9!zE(!^9&l{2c2LXdcY5 z4h6|+?{F$T$07sTBR$6=uk;*iJ$@I6+zsoVcJSPF&ChCw@nqpk}}ciVkq% z7Yl$8n%rS`$1I@1A*_`e&};o{!e#&iP{;iPOE- zlAZIL9Ep>d*3{1VV;zZezt+;7^EhnB@LERFvYi*tKiJXsB5g0wj&ro-q%8;SA&%A} ztp(cgj<$ld6`-BqXw#%k@0@?ABdsK9B`*5|N86jUy>-)PSecQgKg?Y-OY*F~W)&-| z-opG+uUC@pW|uN|mg#tw^KlpM(Nl8yCA>>|R+h6zh-m#@MwYWjXp;1;EN73< zBHAzdu1HI@rQ2l8{1Peexr`b_>FR$juOB1repW` z&Fd>({HB^7#BZbxH-4k+Fn$v$HhyC@8NX?5_T>1@nYKKB<29A>8{0WZ{HE6|&tbE_;-_rns5v(e8(mpiY?SXwGHibu6bc@{a)% zxlD(1HX~0X;9-ba$};N4{y+Pf%cuXb@#{I8S02}}VFe&mCd_iu9SkbvbezK$oBdZ= zE~-aa5FPu-Gi0`&CCSzc&1LJQZgT36g5EsSd2R{MbAK%E(pZbysjdbLSqaK%poGXv znjmk*89o=)#NCU!;O;u&F15_shpjS?Zurqv|*?ESK z8`|Y)&O0oc%PqE=I>U!X7zEt45r+uwqR~L$E=tu0cb?(n-hq4^OcG)H=`pbq+YJ*B z#_-#2(1#v^fGz*pXJ5oDQvJao!BPlz?kI!}y=PF=gUoI0CSp_mer z-v0e=Sfg3(H`%79$rxd^yHr3C*!i>JoPD{glI`x zjd|*`YU1Uyy5QyU1W9TJkfi8fo{E631S4-ZcJ1ffa|%qtB2^&7h!q4Dml7695LjfX z*?xEoi~J#m#UduMJ!wq5#Izzxd-fg9%tHeWaBlJP{wu+0%h7xLxeKXXdoyPrHW8i zbsU{~pZ`>h8~$aTr@|%?mTgH9&xnbhhaIt)kv@;k$njtx>lir&qLJefD*=P^*Mafk zOf=4GjhPF2c)=@b;KkE$SrIR`f)e5dX*KZT*){Rv*o{SgHwB>lgYbx=A?HmLzw4H{C7oyQXcp*v^@#5t2 zH!(&OUOYqK0(fy2Y!czc*(u`FQ^a#(qUUxkhMak(joL2_(D>Vm_G^si5P384=+RUU%-R)F)$#c=>VD0-Ej#QE?l|-h_ zl3K3QIya&+XO&|S?9b1G4UFMl3KeUM%xM_%++IiFxP(}~DW zh2MTY50|-o;`v^U-!5Uk@G|qv_iDwsg!LxISXVfBVpU)yy2rz96 z=y9HKG1lq^`lcF%+B_k}>WZ?H|BX?~k1@!7Q;m!?LS#7^>5A-$z7zJtcQ^FBqSW4f zesUr4O*M+JUsh52*xK&-rrHI{w!uEh3uB@i0H*(Y`y>q$Z^UOE!^9)P4U~t>#q*ml zidD!u&q@)W9TT0hc)mv8bi8cjcv?C+1)`DT5!HH7@jF=;LmM+@7Y9GH|!pHQ67Kf82nZZ4J>2 z@-L#w_cr-mAcYH^OO(-yAOcB>9FR=h^N;h9m^~yGm|t_elz^$ z#B*?g>8n|OsjKPrs>?tLXH=xgjH+V2YFo{|y{${%&e^xAW!8QXi&PO)E9wxgSGALU zow=id)~hJo;t<8_in6oB9#{pYLY%~iab%*k4<}kA$V7{!X8RAJWw2hwAL5BtG?v-E zcwDi4(Rvkiwvb1ib!D{haU;rgI?KeXH=Q+GE@q53HvK^SPqLN1)4KIBFMGh&tDM=nUgd^%`7Dih*jbv~Vymh3DjH#s zNt-s}5GQS-(Lj?nQK~p;t9r4&xL$QROcKr6u84`w!yEtZ#Zrce=hU-~Vd4=hKlaS^ zs&xh@93~i;*$$nY61dLjvClpZXZF$eyW6vzH(E$pHaFRAPWK`3xO|W~-IWj+%;~Oj zB(tCSYDa=w;i*DOX>$&^nL658-SP{z$_08evzq3$!NfO;vB~@1=WN0?K<@X*aw=9n z&!djAhg5G+p@x|FQAY8u)VrD2;HqM7^SPjeNK9Id+~#v?V)1jjVDW1Rz|;%?OwqwS z@D-)_dpm5__nu7(OhPVIAbg1x1akKyLkzja*qQA~<88DSMjew7 zOF2$Qf!N-33?VjN3-kJlhp4LQ0iu#NTtubp5JN?Z#ZXq07^=1D14AFMwJ>Mea@6EC zl`zS64g!q!0Q9j^luX9A1S>AWMAC?boG+tdf}Lyo*C$UBDb4CJ`1h(8@rLi{1E z2L4=H6Mru4fKe2>!6tY`-_gAO6q{ zf7qUy_(L6&_(M5PN5P-obnK2lUSIL>M>RdbAJT@4Ka?Hfk4Ulj!)g+Lv^IM({y5W? z;}5T?#2>bE5d6`08Y2FPMg!rGDAhOq%)=%T{#+juo%2oLk743LP1Z3?Jfg}G&msn9 z9&leIi(Ujl>XiW&s$UsUd-Sfwz0b9CC|L|szFk(r%;ZKdgxRT$e}>KrRoiefcXWmh zb$}^EtFj&YZhm;xRc0PH; z4Y;p}M=u5?#3Ryb;L&9@@#wNHc=QqC5j6uIQFMSu?_U@^qQE2`Q3d*Xv4Y^y0mLH` z1dmv1w*NB5BmU40kJz4?ctjnOctkl)N5P}sbnK2tUSIL>NHsmcBhrS8N0c4nkw~$4 z#A*_cv^IM(9y!yN;}Nf^#3QzI5IoX$8X_KvMg!rIDAhL}y#zLi@aUy6u@a9A6AyZ_ zj$z^vBRskhf)pOH@W9~FAF8&c@Q6AnJYu0=JQDV0cqGjv9w`}CntyVdTvLWeH$k@| z9=!~d5RXW!fk&6u#G}i*;L+a`kEj{&h@t~L`sBjk5d|jkh$_(6ixmWq4kjLvAb7-5 zv;CzQkN873JYsul;t_RB;t}OI9R-hi)3G}qd40vhBh~Z(k4PIX9#M9PMYHAKnd}Lv>JGFMNK@pq6?n<8}Wpi0Z%A8z>|9y z22Ut3i6>NnzFMpxc(R^&LW1B4OU?Fw#CXCVy5R}iQxi|9V-im&$LT0|(wmOm@x<#Z z9-gSC2Y5o-aPfq)Lp%{F7Ef4B;)&K~PsS5x+HySMHI;b6b`F9k+D=2n6VYfOJQ1b( z#*c)m!f|Og!kwI);fyT=;jGc0zNfs$G}y-eKYuHT?c-a9PpszZR6x z?~_);?{BZ^_qTWP`~OM5PtD->DLU}`-(DEMPk~9lPZj7>#R}s0H_-2sAby{vX8XTm zzt11K`F*yhrr)QINxx4yPDkxPG6qL%%Oltlwuf>G!oZ zd$QkmrY-mTyr$Ccvz>$ZeQl>9`hC%8Aipn4_3igx2b)BG|MfA^In%^Ci(%rq_^e}? zc*KSG`)`2ePSup(=M^>l{u^;w(eJ+rl+f>!R>SXKS<~-d*~Rbwo_?R2!S7Ra;P-#I zFn*r`lYXBn(5H$O#P1(TzfXereU_T-#m#6-HGk;l_t~DBexEuf{XXS59mVhWrek-% z@AVbW@2jQ%pBj!zPj6zcoR0TaVUY|E z0kV#f;SrsPET@RuupexBX~K#5rh&g@eH+ANowrJRd-|3&?=0en<(TAMu?N1SQPafH`Y;t1P02##nw4G~8~qk(Wllq%v# z)$26DKH=M8lL$xN5fdG3B<2r>iH8YU$1w4T3qOC@1C#{CBzq+QczdGUT51_B7Ht_Wn7x?x_0%!x>nX?SD89Zo9lQH_uYY*HUNt@N^`s5g*Hd=r>qUz7^{gg+ zz1C(=_Vv!R<-VTRRQh_ha}Zyz?KDJRFB%Qx>qV))ef_&&lgQV~@n(+08iRad{ zj$z^v7v9&u2bw!oQ@);8)bRCp;Ig8xe=jJZuP3dBuW#4%_3ebOe-M2=wSljvxWLzM zTo_+Zfk|Ia73fE$<>KofLSIjU_Db-Z zd;P=n^{VNCuP1G|zMir}UoTRuuV*#s>$Ns}vaffhE%)`jrqb85orCy#ZKomndeLYg zUoT4a?d#tMn?%0;k7J^9pb1}Zn0RhI>lh{;ap8UapFne`YRcF1iW z(ASez!`EL^)7M{<@b!)Fmhe7&~Q5PiL9G?1?srTX^uAAn6FUw>yzbPhD(>kSjnt!Ev> z#3L@eum2!4cdDj*J+Dam`r@}@K7`A(ug8~R{>;_j&-ksF4}%hVe$vGASDd}|+?sy> zxv}3@hr!LxzhMy^e|sx2fLdnlb6KQ{fCK6fp1t)X{GQI~4|Mhxg=;(z3njsU3eoY3 zaReMrBsh>D;J{L|eF3x#&fek=F*slyqIebv+n2_N=aBjw?wAJ5>}H~qIK&7OCGSZx18B|_Ldvk z<;cQ2EV9TgwwgM7i$)j(XtWWB2sEP6KtLl()d!m5*;{wPBoWShBqloNoxmBx#DkQq zW0-ivu4~9#S5<47Zuwb`q^kSQ!k5XH?zls2!gH4pbxd14Q@FPH#GFdeknW%qr=owMRk1)cDtg4^`I~Z`x+LhB4PmQ5XJx(R_-Ia(PHS|#42Q+ z&uXHF?OEq<6U2Uj_3yyTwbbpWyZ(BIjaw`>8XdhBIvqVAb2|FOoWhEcM`e&vj4}Q` z(dy3U62yK@@ps<<@vURq;uCW!6~-7wMgKypVu5H> z^oYqA;~yZ!#TftSYC6Wa8nlZ-n;~1lTBZCQQmbG8WBGp1% zLAhaEaXo%tfVhIfZCpX|$+&_F5u?Q*5?4HiaRmtySFqG*oQx|d*Xb;AMQ=LSiYrR{l^0hi+XQh1X~T^xsELUrvYd7?H4|5eOdD6Qnv5&7 zZhLZE;mppsf{pDKSMUxSNXRX=nu;rEghAp8ZNwqQ6{68VafK+=Z(MN?OcKQv_r}B+ zBfPl6Few16Vd4=NK8O8fXzo-^<*<204`|N)|9;NkEBf|AX!B1AV!wF)&)}7HzMA0J z`Ii*&Ut^*(KsBD5ws<(3bxd1)Vos$(JU1%(7g`kyM5CfdRCpeK6YAd}#o_tCdo^5M z^-ZW3)Wqu-#CTm;7kDcHn_6V;T`W?CV14-YpvRa!@He3-)M7Tp>WZ?H|4k^$k1^GK z6N-#1kdl$E$XV>gZ$g#Ydw5@`p$PkRnwZVn0n8`j42AWV~S$S#uVjOjVUs+V~UI_##E`jhc~7u!j7Vx`qu>|j0J=l(^`(hQc&bNiw{oS=Aj*zkT z{;Xpdd1_cjg_qaj@%J5wbK~#3UaiacyRPQ=yROUl`xFNqwaD6k%OX_>#@|O5X8cj8 z9e)&CHvTBTYW$Ir9e-q0G5$*JJ-qQp5q8Ao)W_C#&-nWuREWmk_hVw^_%lojecUkd zh&^E152{p1VVb$Y7ne9Q`G?@E$CS?W{0NjV(?gnMdL(wlw=mUT@IGi>bDZT}#@UxS zxTqPDJro^`u`eXY*ud|GQlK7IYQkYZ+eQ_bDiJG4dgm!j?~owr9hREye}Q5_dWS#6 z>7C-f5w<5DvuscF4H@dFN9<_fGi{XPbd+>XZ#rtWoa?L4w8h_$@%oCFy-`gMvNxm+ zH+w_bVZKJB*nADE$$X90rjLBh1NIFWXWH_WA6`?Ll3_asNy%tC4KXDn8V!_^5v7VL znFC6L7I-D*7`R@czQ5J^PuL{#=l_);mgX2Png1~^kNy4Wr%O!3al*3zit;?Sn{|vl zkLbi@Ir*=J>l``v-onSgNMCcI`K1ypAip>V`bpeG*Mt;am>WDDWuD8tKK7}!=B6gG z-|(m4>te9~b~TM2{{u>h9;DG5%uJ~*i$6nk+&B#7ZnB&-4KUoZcpYT&FTj^hO?>He z!I$q4U)YkY{X-Vn3_uO_#Q&&Elq>i;u8VUOeD-_e!Cl4gE~tQI@#xt4Rf|R%Iz-|g z$&IU)jc!~yws`Ec*{#b)*Pk*n(wIGK%d*ksi^QBZuA>@00J*O)Lj*yp|Cysq@wEvyngZlOh=8Y200}coH{ertEKRh3P67BH-qMN2 zrXS5rk8YTeU*LJQ?k#*$Vj7;fvFSUE%Zpe?JEpPj2e?+*aq;{dzfP{YnhjNH8z1;e zZ6navn{5K(HGPS~9u zYmJ%fHhtaQDgBXmHh3qit%kc3&7E$vpoLtwsSd_db$r3LF(GS+kIF_y+OU87_1O6~ zIkRMLa%!b(XO2Yc=*G>Sy>8hybIdVPpPhdr_dvUu$}QVgpFO+vW*kMlXsNRkg<%!O zxlXRh&`{z?%MqVTjQuskGC*{rzhBX)D`;Yqr9&4kycZ&qh$@dDRuEwk=+#8;k@PP z$s{}dWDr$AlTk6w^wQSYE!(D-wZ>*zOJ`ck)E8bF+uin;S zaN2qd^~w2Pqc(c*X{)zx!9|+(8%vAz_Twe4 z($K_}?M34V_$VokO@5P%@wgtf z+33+vj7MQQG)l{iAgKerrirjx})*Ygto(J=8`p=06^kzWe?;$nz0 z^PI}Qczw;jczvQTE@NM$q_|%+@KZeB7`QJ|SZQCR%&NY~o2&YwXEU$24cHgSbT{|K zQDwBCFOJ2;%D!lrc-=1R7$zQ3^~H4szu15%(-*V6>DAb8IA1;w|L32cFB?Dk!kT^a zg^9koFZ(7XXYI8tQf!cioi6R8PY`uRq#N`&C#F!{N2Rr{!xra~lppt3w|-AXy1xn| z+j*yfXT|mVQX3DiCsTy&$?7rMn)A&Y*LVWyxtB>Dm#Rri6VG7r$O_mOu|aG0=3Pj5 zO*Uq-?FV9#v8z!Tfl7|(LH5~%v*bF!6}0Uz_h+&LZP52|?<6 zVk~t1p4iyP@z9$&HWf2UL^_!Xgw2x$0t{hV@;NYr4@Vzu@^)h*Cx9p84?hkSb@<&c zmgGB>LUZ4tl)CxuSBM=;aGx2kf*o6p&5Lo&i|UQfwJ*Z$i6MFf$0daYWXFvhCBL?rp=fxksG1&& zr2G6s+2<)dYoEj-C5L;#HN3`8izbV_UNJr+yvJ`S1!`upjR?`ocB>H zJBF#3txz#8PV)b^Y+H5Y!M?^blU$tSPmT5^&}8q2o7SM*EN;OQ9@Hw6CT#wG=vTmqPhVyc9Z)rO?=hu^*xh zzYlvq7jqJu0;FB6OQKzDWpKM_RzEJ zn#zl^QC5~RA;kWjTMVL^Rud#p((*uu|~RKl@`&w)skE2^;q<4uG(~;$gsc2`)+1c zbzCij(#U2R6lYgk@0mgG#+mPqi9Y23^`}%(SMk?iehC zf;458L9r;xWzeN9E@(m{ENF^Gt*I4Dy=73W#BxEC|HG=RUeLtN{(|O|ENH^AqLjb6 zO4emggbz~dGN&U^b2wVA5;ZI^QIq8x42cCHZ8Rhnx}#V^YQA{zH zAbP1ERh*jLx@CN)nGDN*&AH_lY!#2LC(d)LF4#K17TolF8k-Haw8rF^9ka>9u$V@d z*wSk5bWG3{wzS4~DkkfMiC*hG0JU%d@W2G^AfHB$3dGpbn%FsiaDm++{$;1F-^C@? zLxr|REwS=ePBdDRT6gBaT1#y6r)iDWl&3ol(poCIuNPrtvW(dQsV%rs@uGnc4aO@g*gwk0G2{^fan%7Ue>)CJA^(-W=U&-rNy6f4g)b%VB zu6KbZ`t0WY@E`rR8U2g@(2qx!VM7M-_f5bVIj_j{IWPPJ7>JbhJ~3z4VefQvt}JIy z2x;sO|DU_>0JE&9@^5N-x+gKxH1x~>GBXM~Fp7YARS*?X*RbNOj=GA9E{tIipZVTa zQB+VtF`xtmVHFdKIb#+P70fy3#k6Z?4gd42Q>W@wxcA+cXuf}c-$2#5bAw17H{OLO5nch0h9@&fxG@(hOSyHf72m z2u8(yDtcL9A-(AYeVcvH3K@$$zh^(0eUGI-yvOzJ{GJs@Q?WV#J^ShGdkhQjah=ks zYd5ZGT*OB#{zdwh$64QqByayA!tR^Wc#WJ_J18J=>VYS@6KttCU<_jOhX+QfxZca$_2hqA@EsYiai7vr?VfS@<##9)Hc=%0)ex)$5nZiId zhS8^6-zWq`6LN4q@p95A-|iMfc4RrYWk53gx4Tt9GW@r@bwJ__7*7Cay!-@kW-Ckp zXP4{*xJ^Lf%nu{k6Sip2U?LY#C%?=)8tVX9$0qW&ge1%&J%?a>@K4Vn@_+1~sqjJK zd0;AxZwkY3r7-k9g`qPk47|m#R)y>4+Jou;Bkh~|7a~h@&G|I9qZ%o1vR+}Be17JB z_ha4ndQ;)8m|0WdUBH3`EUr!5o|=W6%^g&&PyX}dj(L`oX-Ep|anD5N1jJ46WE4R; z&3`_H9^|=`kC)|M6jSmcK6F}ti3qa&5 z=tsI{-Z;)fhSi0gNFd=eo)!4N{!@@>KeHAj3P|F) zU!y629iaX4&Y!(w&Vs3rC;+Wa8^UwC6X6P-BD&JA9XnWN|6yujLUkc9p@9{!VHkto zYWD|hCcLB{-QKo4Q==fqcTqKw;}fVo{*rw!&+RD3&!ty$IgawBXF!m_i0Pe)BDhFp z`qatDG^l!+2Hhr^2K_df1|l!hK-41BjblDOnFa|j#TEGRwWX2iBZ-Afrtg{q!}OQA zuVh+~=xJUH5(TvL9KNHS=i4Zma&Mw!^D8KDGUeX{gaU)^D098R_=Ct#TtxN9(Dw;S+En;F(Y|T6`{!=gEmU9wpuu#jp^^a~(T%Fxol{`>P?bbO(yM;BV^9dp6$#4{Jz;!%ObfzjyAWG%gUSna6d(USKpM-@q z0Qe9iO0&H;5M#+9Mm)$4F(zwj=noBR;@hG>Pn7=1wtDdBtl)HXjvjOZk9^i|FdiLR zQV>n&=+zvt$Mtv}%XU3E)dv{n$&ki(&4N3HMknXpItgf}=jfS=KSz&h@f^M5rpp;S z5VXhMc+OpG=jg-G%2LsC9y^?yQ$rAr(a~q}$LQPvI`mVPdRDHOo88V!HgbS&ma4RF zL?3v51*r{M45Ai#smG1e7|+o&MbEDC*@0HJ$UIuDmAOsWlZzMuKGu5DJolG=p}@}50|bOZpRQWpiS(h} z7h-i9yH4Kv1FdBWg{ZH=B!|TeP_(U4h+1o3LB{5x4-Na35%2ju&~C+myM(c^#625& zY`BfHb#5Vm`;GT38=fKk9=8c&y4j5>pV!(>?1%X5fvP6)*|F3fe@T4y{El|*`SfbR zuDu&}4a80F11N%WYTGWR2NTG%fU1wlK({F-1AUrSi7g6w79jF584$I^WR2rIq**BB zSwO-^VHNoCwQ!y?uyb}(|K0( zA(wyj;W+67`=YV?3EY7%c0UK>D|J7Kuj#3;6U|2=Mxi?;STEKg!eM>#+}rwgtwo%k?6`OZloKEF}jh=(MWD2Go{_g zwHps;%~8LK=3WgQT0fKqB+==nKBfS)vN}YL`eB62t~A*T3LZ{1zd;8ZUtFST@e%YO z7!%ROFL{aR;%Uf=^&JDx%B%#QHLwD4^iD6=*+h$Z^>b4C3-^4Vih3hq*(FF`Zcm*M;vUiK~$y_=qcS7SCl zuLwvd;0LW**C;Ubq2PCjpUr*;OM>$|9!Wff$xH2J{%+V1=I;hKfAws`i{eYbKhMv+ zKZ;t!^A2)=zr=rkLC1Ob0(v!{ciR5^R?ESe$RY z-(Ze`STe_cHkmmFN{w?2G~4DFUT&LXYRtwr$AEMKbBw?FR{AK&!)!d10x{9T+A(K?<- z6>%X-yzarUuhyq#)E^CAV;ngU&&V&JBfLkcSaL~e&j7PdWY=R|^}Q7>RN>NV99!V5D8 zA_jgm;lp3DHuIv6ItfR?a~s(EKjskOjv)s*O4k{mXSC`galyo{jfq z-3B~6^*9}^+kkH1nFHs+cy?%I-G+G%s+jCo`n%a`ZqdmkJ#j*eZ3ileu>l)rjBP4# zlCJ776(4bpmRaArZ2^7* zsMEh;@1`91z#)+*1|&2KaO{JT479KNNdXBoBpt|LB#8t(Z|$;a$K& zsNHs<9qASDf0WlRM0S|-1WzNX>O%>yhab*%n(n?s3-G0Ox|Mw4r&F^|zVK-s?GBC- z7wpdNureT)_`<6QUS2Obf)L@4HNt><0YIry?}KKp_e0E&mxBV%V}3PeT3wBH_Z^T< zz!z@288p3@sj`C>t$mof&Vga#$-Gnh(FBR|;{p-|q7I?e4a)*f{mE7V9NCNLlGRA-T^3roy=caM^DOg8Ttx; zL(OGy;N~)qim!kRKg;8F0PvE}@k{;TZXk7YoRRtpkjm`G-2WW$9qxVX_>IOV7a-{6 z!cK}%1FOC^&h^6P+jLWzc^0t%H5=_iJShjZ%8VdU;$dn*qJUOr*3%dk_n|b1I!ne73}HNel}N)Dy-T#e?kNaAc}HcJETifmeSp#d$yWbjx!Ht@Dta z6U2T=*!#$J=lKK=$$38($;kl;l9Iz6MSX5S;+&wx=LL{ElC}7J2D!twr%=u3@*V8d z0_+6^*b57=7ik#Q28KU2bQ+;@13Ub&q0g>_p0PM|Y zk6s**>;v#VXSkg4OZb5sw=<}gd0DZKc@oV}{G<8p&(0o8`3A&dcAB`oCp_DcZ$OFj z4GatU2Cn0x_&zr3!{qj<3Wc3RQoHu)! zfKX^xIo8*`IekCc2g%4ZEZanYDZ;sUau=p-ToCub6p zU@D?>+!xU{+xKv4zC|*o%7;0kSPoqW{;LB zj6e!QhhiAHO*SXLS?rkg{a#7!g75b#RYQB^!y3-qytt#k_hLfR$KSgZJUcLAdbdLn zT%`NE4r=uAM!Mqr=8^c-E|n2*nU0}1b; zRp7_hmd0N@i&(&XjQq8;b6^m{LX0Cwlxt>cL85@Mzjl4nr{@qQt4~pASDx_Ken#?M zHRw)Ypq?pVs%E zayrwJa=sAHBJpTh770Mnih#u6~?nP6yA7C=xEl-sm@>V4p$Lvl?`RakPL>0>BR!cw z4gef@`v4w%1zdPz5!(vzlG}=q0{~KQD}dBjfK&`eo&)IkjmBq1K+xNb3Y>--SoO8> z*%bCs_IC2N=}Ib)`hEiuv+5g#cJ*z2-@_@E!MQqCsO@5LS zUtGXizqJH>TM2kc3HbIB@Es-KJ4?WKm4NRq0HKfe#eG-rp@(TF-&=sauK;_00rr6c z?1Kf^hYGL{dzdl|`aX|a)11OTZ5MWthmno!NoG_bBg_#rLOUxW_qOApHP6G2YNFg(xD17Cxv0=q%h2!6o#3T!Z34E7-mii!_0|ct+z47_t;+QURHjw znt$R0t8)+Xf*KCaANV``R+GZ~7@@Ta69vv6d|W^%Fz6EkLZOdZwR)ALR^7)nlwSP^ zk&5+dq*6sSx8Kb7Q9{D6xzvEy#ON=53?6|<6LWj#7W?)X4BH-sLVK4|@a-{Dwmk|_ zd-d6(`~lXw@lWfGFOpefy@BDtfQ|=N*EC z_W&#K<7?yd2M1Y4{WP%vSyH;x)R*PJAgQ8X)jFymQTjC?QNY&S24mT4@EPJfuL0`2sz3AxeE^-cZS>juq}lH-K288=gEF-2h6Bx&buXbOT;)(+z6O#-|&AbRxQ8Z6Dq6H~L^tzOLwo zFVZNCtQ)=*kT~72?;}`yxi!G;UtIh$wF$y2e!w68Ap7m7?OsQ$@tF!trSb|Iv21D| z9oWNe_Mm7@g(tEH9`d-$)N&es(i8TquK2_EvYNv0L6<#Nuj(j+ID(nUAaKWd%I6ei z?@L1%<1+4C#%|#DL2>(KQ%@zH+#aW~Nz(Xy&(glluh934^<~4ExwATctFubqiU&h} z!{uerogkd(&KDNH-^k}SL8(!9f@c0*gI|T0+jOTIzp;Js3P>lQJNf(jeP8=hUgeua z$>vp1XwR6y@A@-+T-q;5XQ97J?V&GpY!dVWZ&_gHOI)$Gk#r4x@636|T6f3E}mL5DWlyh=-&p5h8l^x4#v=x_s&_G$vNB`Y};a zm8sA*43tiYfYTHPegO+Uk7d;*N%-@KqP0(~r_1b~z9T4S*8$%Zoz`$4d7E8Nj{T-@ z5&2Gf;Ovfi;Ozc-;C$!-5Ki>Kt0todK&ep=fM%N>z{_oVK#kw{^Z<}fUJu-W^uP~@ zlGOt!^w$HAqgdcMRu6oe+GE;|M-P05u#Kz-z8jD<2t6wSmkRZ zzvOlcc#R}C@cXS?@&hD5@_jov*ks@?a%UWFvw+q<770)G>74%h>0;<75Ki>d>n5Y0K&eqbfo7Y2!pm*?NsZt5^b?RyKtHYBxJRED zkJcKd_#UMn*+DDlA5IF{Im$U95n1+1ywp3l1mgN*!j;ER>Nib=SR_<Ex8wXhxBvY80Ol_UC-e6mlbOGu)Hr`Zvu*z3<+k~&#&3M{7f2^Ce+z#0&xn$> zuPF4luXiTBj=j!o3tdjr&SjpxKEKJcH{>^Ezp~13`h2F(aQb|v&v5#Drq6J?OeSYI ze@aZV=}MO;(H*PGQHbo8Gvm(FUi>*dcOYkX-8PY5ga|3bPl|6;zu zEFZskHN6tVI9j{B9gQpgX`A^?5+wV3l@)hW=P|X3<1dGGL)%y1Yi+=|O}tKto=5xr z(PP=(UaCj7+lUxq-!X@qBgNU+D_wuzvQl* zS9jD$uclYC9F6H+1|0-qi4OY6WONWHHR>SHY|}w_xlISDF&m!_0@4ZSptfHk`sLIqv|EcnDEFxaaY z-^1}+Y9{hxs^5j0yOraA2$J5)0a&<;l5*1aFS&=~H67*aHS}^WUp6@?d9|-V*1)Lg zeG^4+N!N3L4cjNZ|NnDE`5XC84p4XU$D`ybLC@hLb#R2sE_i_Wf)4uW0ApF@3p(&< zw)Z{aGP$4w53&n7SjVOP%VoWICkJ?TV$VFg%5-!=N6a%{&@mX#4lT`ZzF3_;XnrS0 z<2)myE%#p9u}SXa0BpQ>a)1+mn}(h7Qjg*BZMmx4$=m z^&wOLFAYi2w_{`E{J`H+tDx1V{JxQc4w4+~^wdElOEJ#WZL%m$1!Ur5S)CZ)ulxsk zY~6Ge+TC>8Ke&AAu0$96-mH3KH{BL}=G&*2fzY~)C`68Osc(lJCVgA(*X=A~*9~Sb z^8PG!Q}L7F{V{}h)$y~itB&iGZfU*H5&e|?>ujR=^DO?6dZL&YdpkcbyiZTr29=ZHAj?1v|UduB4FdSh@hR?K&Ikt zAgVSTM=^75oW^M8n4^)*95WT0xwb38rs6&Ef1xo+ z>|8-_sy*@Yf-+)lH(7B!_h2ulwCp*|T~L1|Hc7#|_0wyp#_OjAUe#SzcndFu_{mgw z7qGCF>1=Jh=JX5EOLz-=WJvEXhIqv8cmG-fsX(jX4O=%=K*8 zZ-AGb7IZc;-p8rNY(HpkSMjc<+t=@QSe zf7n4AV2;TP$s9|6Gw+{-H}+d87!fPDeHA6wSI?RXunvCf1s&(%1vGUEx^5ljAs8aR z6%Cffw}MXKk^R=ec|I31(*N<7thrs-(FR;duNG{;0k8oeZh8ly2+FA)*h~+~ ze#uB@13}f<0q${dQsR6A=;wMn+&=_FPOCB^@37?e4>gYS_`Da8@ZO94l)g5;{n@Mb zX-S>hxlMOK@LKh-b9;vR;nvyQ$tO8V;I;|SQG!`&6GYX||6`90c|FJ&pCtf7h(b8B z7g#eDP=#D%P#F9~@|V0{#_vnUe#BMuqD{o2(4L4zev*C@oX;QED;z(1zd*e*2L@h} zy~;jg3(C|p=A|KHD|+ns<7I4?Pd!)0#`B_8n&(9U^@wqQWn==E%tpM?7i~GS%Ws9u zF4x2Pj=EgXL$`zS0kI?|x_P7S87U?LrJ!z-vmv0F>zfdF z<7Ka6?D}sUcdIcQpH>0V3Fwhz|Iw{To^~TjR-RDkCr>j|pP>(m-zYKl8fp*uj^t_A z5^!w+80K#xW%hyFdgr&!>g#H*XR%@HY{P*7FQ@2{l~WY@$mvHv8szk?UQVTtN+eA! zeT;z8M-8l))g~3l16~qneiGCpesFwVR2HyhgB}($~i4XAE)&!Mq*YME>{4fx%%Ao2c#}5F}b`YC)oabk9t4c!KjsAvW1F zXJP2rWPxzy{HxeRh$&W0g|}kQhy9pXHrG+BAe-w|t&eQJp`&cRp)8vZf<3?;T8V77`oVAPD2s0_ z%i?1pfFPFm!H;Z|zmfc4PzoZK_`#r=%Utk-@v;}Qf*-8LY)gIfY>tUukI zJ{bN?y{{d##LjIj0XOBqFhL2I*uNu=U|$n=W!w=&=r7RG)3p{l5m4wTAkClD_uEX| z$Q(A+4OC6+OT&HFZ|*p!-%M=hv0b$9^l6yiV8ryEfg-p_ZOw^|bA2Q~5LCUb0o^e1 zV?Pk|^LZcqKp^tA28g^6z+|DBJQQr({CspWgAnPqDEUJ+2fmjYTo-F8c!bfp-cpXeAK z5RT#bS%~4e9$!Yta~Fq->}T{JR39qhHts!lR){A!-m{<6e^~te`CuxR1H5TJ ztpCLNO>QG^^2{(5iwoYgpV)tF{U*1;1>yK;)I=qQ$spzS>mX_t?AOgyt&jbBOGo>K z>lymkuNT5-ff3Vt35wt%wO`MfjQs*tZ@)md$$o)8DXYf26oJUwFCc2MUyWlvKKlg{ z-eOhY$Jds|ejQ9KU^+&5%tLZu&@%=5B}kN-Fts32Kx@CE`)hAbl&t+ifz8k@1%v{F zZY3ZT+AS0B`5VLiwTBWZ*2$>_0IOEWQ7CD2X9D^wWSRKe?6!`J0^Z~vCc+Ym(cV558ZDjo?JPw;8TK>*zj`U`QX`U{^{uW8t4X|d5_azJUg^kMj{f`7-G3+YUx)`1`Ph!#E(ZqfSFmG( zM42p83lasicFg~d+g6(ThY=-f$53FSbw>fA(8p*Yo+A8H$6;;J3Keh4;d94Ja<{?l ziE9_3I1A;@o!x;Ru+2$r6#8z}E((#&G4g5-!CN%)>R{-Ns@ zr|?h5KbMhCz?n2tp=+2c;kdJ9#RWC!pB#k?pMpQ}={sOwZ1;RewS944pMJ_g`m1J* zMP|RHsd!ERneC?Uutvsh@VgMwZ-uP?*|g2nU+TY`PquUNyODRIE{1`lb|MQKHpn{g z^wb9Tz8)LAC}V>-B#&F}Of5p(au-$W6Suszqm9J!bRQe}E?7h`VtVgK5nQBk%UkHd z1onA>s*hVhHyE!t?*{t0?FxA}AaX{;R6yh{N}hLX9CNLVNBi|`knoX;<;T~SCT=;> zj%}jv@0tU{G?zK9@@|4e$(5-Ei2}xP%Z*6i-<>E~eUAd``+Eoo1qR(qKq&Mv0ruQ1 z$$;BmaumG*9Tml8cgul6LnS*&d?Wx4t$slvQmFP_@!n=mdlBh@MKEt$qY$-r#=vbx zamL_Zsg--+!X)?Lo)!=GsiX-pjD@9uLPR0|R)6`6=%eLR2hiAX{z}G1eIZlJ*eIaZ zT>PC%sVaV=Q&o1L{E%st%x&YigFiP^xg9b;c=|nV4NMPcmXCz5L7 zc?4Q^@cb}pTHHoroOE5}-h?~o=liHyAN~Bcj{5m+{q^&wp_IXh>0N;$xJdQ$rIXRm zpz8HA=r-wR&~MYvK;-o^5Vh#%#xWnCeg+Azkt^`yYfGb_|BYCn=^5*<`{ux0=9PXH zBub`DEl3nF*3bA|r27#itDjL|W&G~~LV-c|7Z3{l_4CZs81hO-6Dbz=G_M3!twf^` zDMqJZhtDf*^F&jh9fM(sq7V^fCR6tuBW2s85Va3qa*(_d4@Z^@a=ti!J?J|-CVq6Z zzT-B?D{(I~TrRJ~pB=btSAC~7E^ZU+cb*$~&vw~&Ucbj}nsn|1XsCkD-L7h)bB`sZ ziNEB$!zCSc?j`hU?i2UE0p$wfruSVGK{?g4S4~FGf~wcEpxdNpLBCDU0+H9VK-8jV z8^?KkdKM(SX05=FuZ>gBc0V8dKw^QWq}H=a5XI+J=Y!=1tv+oW=g%4JPWtn~gx2a$ z6xuZ-&Kcm0y^XEw2j%=&MZ)5H7PM?8h|4SdJA&{f^C#GE4G zZj{_Vexlt!%YBgRUgOAb@|+T7~1A@?`YF{?j8Lc<=nd)r!k&;XO2cX_s&ek=ib}QkiDH4ha&aoJ}oA6fm|!bL5jAN0h7`LZQDM!f$J_Z}^`%i^>l9 zL@Cf(RgXfG<)IwuZgx1Pjyy8tCb3u7uC>%cOZ7zC9%dcEq$T3XY0JWGY%rPona2}v z!Oz^GYJL37cXqTR@1(92V#&3nju%1P^yX0n<&jkHk_lGqV zAo6}D5ViQ3jpIB%KNBRpXIX(CUt1bK^U=gYCf|?Afvxf_NR$AWT97DU>xC6q4?l_~ zqTQns{Wh5cA}@15)FN|@<2*i@0|_r>75MSBamrlx{LKl( zLLzg8IjizF@`4s6J7=HbY|zGAldU|F&{|uG0&JzJo**C;7}OIG3JiLpfKXu2lLUkU zgPtxR6aZ>IDq!#D__>*yI@#|Vxl(CrY-F9DMh78(p-96otrcbNh4w z68*RBQ7E)`J2pLj432G&LZQ9e(aFTzUK!f%>EFjl+V@c?yq~7zG0e6-3Q>Ev4&ZX~ zOc2>L`c-7VzZ8+y+^%PYL3F>&Wlsz|nJ_ve?gzRUiTiObkHq~fS3u%^n#&@2NEsPCybSpZ;x&n`SQAXx|SI)`LED(eH14XAHWNcI9?FGlh-Lc$%` z8_>P!4t=+bjd^Lu5QTUQ>x!RkIgfvqdE(*$3OB9{aK6|s@r=cDxTKb1X)&G+LEOg?xLOBwnq#L$0xY%)-2pw z2a7n~vvb_O$FT4o*WI1CjSRfT+diXdLJ9`5YkOy^IR{_}Vyqj^% z|4d>5Q!v_F^sF2h6q>}mDxWM!lpkVhL85?@_w!F8&I79@KOZeR$lSB3S&+Hss9GPH zdrwE1drw*B?gBvranrjyilCgz-0deLbD-*F4s@Gj4)oh(4v4(W0a1(0HIDQ6WDX>} zlvUuz*Oo@+P9_#InR{*y3=_E^bAm*Pm#GDb0#07$o=2PqR!cI67Dbu6nZzlpR?+E) z=ToyFbEibLQ&o-cq1Z|9;xE}J@!pQ|_g;FnklVUHgbs|D-h)vD7pC_x6v2YE&w7pF z-t?rL=fXNT{&*q}cy~28@UjRVd<9&1!Hm~Cz)LQdml`?v0;FCpfz(%kRD=|Jia$qu zA5SqF-_hCeyNpj_LD0)+1x`Z^toqv0$nOh?g-m{5m;-}Q6y#TsC{Z=FAW^`{%kPVb z^T29Je$k>RzkY3a10@wsr&c!4fI@pB06D!c(;Ryo@&NT|4!!b0tgFqr0UyT!Epfqw z;yBJW=e;Dh$V-eqgq7TZzeUe&x3eMaiwW(>o9bRdND5g05GklsD6Q9rSZu8sZ8d^6C?aM12yTWmDLM z7xZW2IFC--gWol>aS*T^v%?-C;*if zb4MZ0q*kVWW!_e4Ft6~?N20^Mjuf6!a<(Wpndnp_hQq#%LiDz&&u(BK%co)hEfN$W zBuqEWr($$%dlU-o(|jt1-nK^}YH#Y-@Uud0t|80HEV&eF$XB`)sa5vp5l*M@-`HRT5M?JIFHYUf`qr475MSBaoW)Cxw#981x!t4Lrwi(IWXw0LYyH; zl-vd+3TWrHKga%XvbAp{O4in*z$Wue0z#qPWZJd9ZKNmJ$A2BYkoD#D1)!Ba_WYe{ zzKB|x`VDzo+myY2Z!^KGRRbtQ2F14KzYg;t_@`~uov2=08zp0}zP71l z>=n@R>TDDSUDRF}{Is#NQ9MDQhV7{P@z-jY+r&1CXHm&U@e^&M>=*IhMq}o-Q1J4J z6q}}&PZVi=j4>h0v_8)XQ(>s3`^DJlZPXy>{YzA>kKX@4N4@`nvfe)f${xf`?@Say zIo128PDby8s@MCV+obnFzfJE0k=Oe`)S~wr$9a5uA0)h{ufUJ5EsfrPJF$St8R`9Z zmy4a z>?lhgEX&e`5FijYy*Ho;%Bd`!GZ|R|RWD1R+ayb%-zG~ySrQ~_9-CT_C?LsFvv(J-yS^`H!PM{1fvtQA62(G5qJY-7 zi|_UR0Fe@zYrWU|Lmg%8LuDCzHv|jBhzFftySP!Vjvz$%<4HN-x(O%+QA%=ppqa~3 zxYrvmd-1V(y!iKR)R>J=Vt{l4GQxXTy+4n8NQb% z7c#l}P!6;{CA;(9M+bd+mpO{OY}-2V=)sz8jY8C#o#e7h&wjV$`F-NwIpWsO{s`d< z;^pm^&e`Jv3qCg>{Z&$BYU!^6Y9E@%8E!F3oVsCHNZoMVxy8<%=8u8*Y?poKwbRRO zumFH=;7jOaKXTAp9Pb-f%ZZ|oQp@z@8DM$vH|9d*Em z>D4^nzsDkoB=Y}(qWt4*)XNCTkoOVV!RPrv^Bq)ibc?&l$IJeV<7EKw@iLTVdmkrW zk}C-DAU|G~=o9oI*C*)1anc7~dYz7rlmU0(i;t8I#+Or4{zw_|H9hrpqDi@OyJj0s zk=Y(5r^o;s=P5EdH^zAVxiM6W=f)iUAXBXyI%+0LcdI-<0QI3YWp%~-QFkqZLd!(ab%#=PF*7mE5SQ~j7 z%{_Y`Q&4|$zud=&A6C?C1#Ame@sbWh~w)j-+#YIe-!1C#0oH&Bs0 zZmhbmf$9c;RX0kry|3h|8xJzo%>?{vmHh%Bfc~Dog9-c}2mr9K>sGoM5~Y>BZ-M}& z;dWg)bLiEiX|^u#6H;uB_c@xb^Q7oz4*h9j<1lVz`|ut5ICk7*YYxW3X?1HX8pndo z#b9HRmXdH~H2n#XP*k&+dnE?$ZKkRl9}7{%|v17?K*&HBrX z(&{(aPgS7)N#25SIDH3nKCSe!+V_?Nnjb2j<(XGn=}sdGjmQQP>;LVL@`q5}QGse=!kTR~Ma zu_Si$D={N%3-|bDYJR+DZq{01jH+1SHMa4Z7~LA6qs;dFsvZ{Np@P#&CIRbe&~i{^OtjoFhTvo*iCOb>@UuQ5(z|Gj(6mKiG@3@c>e` zpP|vSaUlvE7hWzP6d3eb0inR4D+Gi>pXibA;=eQL16~ihj9!7=RXNUJc*EHpuw>&O z6r$kIwoXDtaBEwmkhhk|z?}<1M{H{p^47AaBC<_-u?W4k@1qdC?^bV|ie&^e1-8x2 zh9g9>;^RY8x7K4r)6Wq`Q-7Wb=rK|rk6!<|9gQpg>GdCsHLw53ST}^J{Miw1+Clci zt;0=j6NjlhH}IYvZa?t)J#G`P`tSt8dv@UcC(!S48~2|5Zl>Z{7OfWf%?JEUuNT>m z;y;hZ&214nW0W2cu}wPSWLv=*61tGmx_=t_aM#6RJVbN^Q|mko1K_*1!m zc_ACe&5m#0TYMGal{}=WzNl)F`)~MdwvTl5gFiy#`uM>=BR_2sjF{flD1wW09pHQP zpuEp}r2UAX>ikIVeMnx$`BKoQnbx?M0*IUw#)w=6{YdvCHjcUSlm_vmRxhmKHz|+l z+$fOnSxx&{eJyxnH);4$0H8q}K1=@evZ>wa13rpu)wu#+Gd6=OHEi0ZWtq8e|zgs0vX0Btx`Uqb3YQ^f6czr~T+4wXGkS?+A_@*7S zM0b2E2e#@CL82#iEl3p5>WUh= z0;ChuA$~8;UZg{QNtCP(L4g&}sju zHgVdKhX?Ojc0J?zJ#GV5h5vI({3~EdE`LqkjO7w%5%HJYIq=Dja`{PmHTSclHQ7TT zqad8f=mC?FQBZ1>QP6CYQM}wHqiX!dC!;_*F&UK{?>;1=za>IeL{aD~k26!J(#PdB zU6Pai*?=o)6F1fQr9SPiH#_`>DA`wJ`IjppJL4@bc(OAeg-B$BAQC?!izl5FWD)sP z$fBv3TvG~#yB($5ZKrr-PT!%E?UoDAkCsHnB6cs1Ykx<)i+q{te^gE4+J@Zkr#i~p zr~1p=VURa4VtRK*5nQA(?yVYSZ=@I(RGsW`?}H%5F)rxmau{Md3S zk558D!b_m%2n?kLxv?l0H>24MyxruXkCf{RqH z?=~5^230TDpzA+>5=Vo6n_L5tmunzuk?Y1WAD>)#ln4hT3TX4Pe&57X$U*oAQL+vK3hcxGQ$Q#%XljLPg#v?i5fBP}JPY18 z@eA7H^IX_$E9pb|7S|9*PHPOm^z(lKiCg<&)dMXyw<>II0Ecs{)%~bQJJ8Lvc5}nu z0unewbU`g6ahKD2{pD_@4f@O7Oly(+osjTr?tWVD8sTeLR|JK~HRAT}`dZ%}pUSpJ zq0rvlYwO$NJKFXr6xzG1Z+&}wWZNEvsJ*ETKZ|BCbLlS3U0g;jOg-J$&fTNSFS*-u z{Rp}Xbi)YB4Z5%Z%Ym5~+d^C2RxQp@jr`WVC}v_@?rz=1SUd^dT+}QXzt^m-rKSp)vd2xVOpaT;q-&4FiQaonOjp~(xot-L;79I zlZ#JTsu5?}i9|1RNqe{4CXP>8^zojZQ1(5Bg;O6~ckkJhoT*qp;5|FB?0XCg?{PiO zKCu$Pdv=1^_ZSx5<2vGDnQ=<9@rPhn!c>@W=Y|=l+L;PdhVVy&jfn%;YdFBB3B>qV z$(RcBhw#Y+()j!YihweKRB&!;nLrB2WH>f573R;mq@$Nj;p_$SBD_C)SAqv$WNoOq z-P+e9NV;1aFtuBIH>#$)wE=UxwXs)wk!a#C*{gk7M}OurdbLkp;1O_Q&>7P^4n_2Y z_G^Px`XAVVZxzQ44=VaMI4iQ}E+g#Q1{dDH0UxfSzdI$DD)5Fq);yfN$9mq-9%}%2 z6E{k;y~h%t$@v>R=(~vsyx7#r`hVQgGw8Yh4xs?WxT_goJ)HV&~pJuq|VFPVVL6c7P)FN_Tn z7<6nL3B9S?j?MH`kLFL<*WD;%#E$IpwqH8g)zaqgVm;qxea z5R$yVDvtsxsn3L$01FOkpUt@OUfez1>*_lM7JSZE?ZuTB^zgRs{*CD^3`$R4(DdxO zXPp0CM|gv8wqDixAeC)^n`*fuuA^}J9*4?N>Nvg9CLvS zuPeYuL(B!<;P&%ya!9l{LLvY-=0a(lSvUNPpv*m(7av2m5@B<4c@!q{*~G}zcU#7!|5x);WV2@E zt5L>O%w@lH5_18T#9UyzN!Et63Z<9}97~jCDtsrYg_w)E^D!5y#hAAIV#T#auixKIY<{4Ht85rcup&mmB23+?J~~Elf8v({~{PQy|<$X zF3I5n8`j^{XO{kp8sxDV{Dg~%(2(~?@i2LR3-qdF87%}e$foJUpHSo+%%3wSvUJ&ya zch^VbJX8LO9h<~I0St3(NXKK%g1gIU#qP`8QB-h3HG2<(sW2{5lY6U}CcKVm+|hw* z@!l%OTbDaJK;B*@#kqtx(b!xI_f~1~hVOvR_VXPuJl~JwjaST+zVWIpE1I4yK9Ghav(Z~~ zU~aRNjTR(If16s6DB$F6^i7EKk!|!%2}#~xWurkQwb6KK1RH&jd%d%bmKXH!+B{`^ zKI3MDS8QhM8Lulk+Q2J{Hn8^z7&{P4_I`h`XycZVjXQ!6;g7ZDfM?to@) zcfuJjyzC5twaLq-;haeh$t?Ha}!uf=!5dXB-i+)>4_*W8PDrQ5+akfit(-sdAHbbGrSMD+_ zY=+`GHbV(>iU6;f+=_SzG1ILHm6JIaCEbP~X_N$*OHbST8;>Cz_)FrX&v%r|&(o^~ zx%@8V5)4s51d8ce)mMx1iFoLILO66h1d7EF2s|JJ;@)!zL^skI%N&P5cr@Gl5iyp8 zKzNXcK=B?X^e2~n^yi7vABlg!V=?53dE}61Fdoy82lRhW^h3O(=7@@LY}bzrNfq0 z>lzQA;LPY|nzL572AwJQ^xl>RNNMJ9c5K52(aqCS8{GThbyML*IZfU6W3{kNM|qjW z8Mz_OzWhtfrL5B)emL`Ze^a4F5<{>}mA>=6W4EJb;zyb4_NoS77Hqjk&U${K zqyGK^y;{)UzlHt=ant()ilCh8@SoFzJf{VJf292epz3ru_c%CQvCakkT<3=U20-LA zA|vw7SH9n%ah%8JiGhUo#O$Z^wWZl_a0ffkNsMq<4h-TZ^H{|Qf<*ZyrWPa$*d}uJ zyxGVycQ|n#SoJ=ek~y@1%!N((HYQBZh24>w1(`cS)%wWXl^td7%CgMuvMUK1h@0LF zilCgz++QanbD-*F4s@Gj4)oh(4v4(W0a1(0HIDQ6WDX>}lvUuz*Oo@+?nEr4u}*#G z92h2YLFNRB5-;PCDBuA17~Lgjfpcp^7{4P4SI)n>$4H1NR!xPsQsKlMB(XibE42!; zd6cU4klvjjcneHSjc4a?l~}@+sYma5fc~9CZEbEvauML!s|4`uD$~&~0fBDdnG+L(@$Asbjx^|M@Ds1aHqJAZsjy>{ zWGVm~Z>9pANT$M67#FF@S}fD_c?(pFc?-we5P6GhZ7ntoJJw>+Sr+!@EC$~2Sqy%~ zS4(TL7=%%h8g3BBnABj7MoMZhQ#z?J$Xe{ZX-G0#bDta-6nMc86eP;5m|Bo1Ao+p2 zx8_^!Me=Cx+Nu97XF>ac?n1u%QY!{?ir#^bCU9Vwa0<^y9vN~ocg<)iPIbZtL?mHj z;g*)EKt0VhOzEU{o)5uyI`ZYt6Cqw_)8sa@Rz77g*?&iVQfL%^o~Fg zlvBU>7W7~Oele(edkeZvelh6h_Aum$fXEv`AaWJ-BR!YWIL_nqi$TJB!WH=OwWaZk zA4n`<4yyeMrhZTk3=$#op!{M%qJ%vlQNUJ-#(A$?o*zuCr1Jb91=vFhu!nkB;6CWB zvOI%cER&`Jy%Yv|DGc;tSXrKrp>{!@AEs)3J<7{pEQekg)+D$jSF zj68#?muJvzl4sCwlV>3E@(e^R^4vJi*&eL!1XzeGH-2anJ%C z&em~mMnZsfV_rLbEHw)<_qeFGQ`LB{8TZ<&=1}_y^oi2@bqmf(Ks#7hXtnUUC_|)JP%;NWF{# zsjmR32rT?*Y~(wB&~G$8=>?-+UMp}KYGBpZmPVFOAQm!NetZrL0#cA=L88Rg)Ph6- z$u_s`!f@_XQ7Z6cmlO5jHtf@PVN`>7Y@7I|LiS#PxJ`n zwosRGcoIDbL*aGBdFO?E1Ks~)@7XfG4{8K-z5&cjUP0#@z`ejt1y*9+W81pR(ZG+i zZQTLS_a%;e$Lf=b9uIia&p=x4WYoe9d-BU!xMA-pgd_~2%qO)69#rB!n+h+*Fsr}P zyu?$fS8tzX1T1UP6HTt}L^zNz9uwcaWPDc@3q(0C|jkZF4K!MZ@muV(%h>Kf1lxtA=^Gz8FUQWI_@Kjrt{a{PN4$ z7y6T_z-_DwOa+@zyyTD4Z0{Y!ShD1g2l!WE5@MruOD9dUpbSAbDrUGxNEdi;x9a-h|Egt~m|5~C;c7o2< zz0kd`bDP7C|BDFM$m4$+A<;wU?d(}+@z`Axn2rVv)Z>9L6_CXP23xgkD!vQlbZQlR z^B0Gjv$`)KNNRNf>%0H%n;mWLH|cZqvAG|C%>|>T_em7NC7EBaVSNX^|L(oiAkS;U zUW{}X3aEP@9`uXG7#zXS@c^+gzBi090Bnp=n(bXqTqedC4{~EngA?0h^sj7>v;BAA z*@p|@xoDh0H}K5Hc`%++<7|0O_un)R2Ubj$^JX0>1{Wv zMceIo8^U&9Yy0oQuw(xnI?KY|Y{~J4x8(eaua@@TVGu?!>~0XpXxN#fkqkRC6&v_^&m%;l-_`LEuKQ`75aG&i>mb5?B_Ro) zV@m(_$_;7!@Q>F1rq)vEi~V;L$JswqVQ^wAYbx|LvBtjV>dTo5tS1dCa1z4?@@Zb> zUe|MPSfA!B!Zq@TKbw%Kkqx;6<!bswVly zW99p8IhcNv&MYi$!Y@~B`c_Au!;~-Rc0r=&yGNpcB>5fJ0)`dw^N4d(pWlW5uoh6^twc0E4$Xc+HeXAx2HCto z)%wWhw>!$_x688m3kW2Lo8GTc1m#pVe=r%@1XVAapxY#ypx-8&K;&f;h+1T`ah%5| zn;_w(u>wE7Hcr{xt&iWeQFM8IA+eCiW)MRkORL|6kQelvZA~D+pL#sevw7TMW$wR- zO;f)vXO?WOJ2CKjddRyJLkC2U9Dlsz0xDoig@4 z+5B-w*(9Y|vYXdHAVJ*p{)r+er?UCKlaWnO^|A@NO|l94ZL$eOUN(WKMK&A9d3>@7 z5?&fB@Z)Ral+EVIBfTH;jl@DCo2GtK4$SAfiire?p4%RY0#1G(;hTx`z^d0RY9Aq5 z#Ik99vD8<63pEQecd@GVk-49Al)0ajWp2${5;PDuy*U&?IhDC-dN2WB6;!>%z=cLvI_k8+S16}TZx5C=H8YA!$cMvqhwByDDg72AW^`{ z`>K}^=cayp7ygy6inn4p3^+9VHaEV7gvH%?=knk0px4v^OgoKIAfuKG2$&^Q-LdNKQvf$iN-=;w<%Gd^z3VmyqduPfuavklbGvey7p) zFv&v$HqJb>m7Q*p+)IdX}ATkf4SAc>w1D%txMDsGV%I_R%=g~8sw3YU@3nhLPK z`s-I6_1CW&^cRRE`s;?1*I%FtJ;7aM{q<1jF92A7p)}jun(Hq-=&QfbhavPAa0k9v ze+|ah0Q$@JFwtLtO+tS$Ua!AUE$S~v|NjU5g|3XEzuZuaQGYQ}Z?kdYvZ>q`eIJobeNn*r>hfQA)aAc! z(B&YK=<Z$+a4ym9I#2~a>na*IjTin?&$yjpv%#fQFOT*iZSYP=4d2c&P-`t-u9zgu`l|5 z8jwUU7j&ocMdbyhFp)

8}rj!S=o=V14!1Z#wF)-!$ki5J~jc9VV~8Koxp|yU6L}6ws&N%zwn^1{z4yy&|knE_+tGv7+(YEFWbXJe*rcL{l$2_{zA2=za0Jl zAM_WxGK&6kLor7E#T<>KznCelzu=4d-vgN=$MZvW4wEm6Lc8M$zcbuH_Cac&=(m#J z3AENpL!rr&40~C^9c0Vx{p9eOO)a#PYSg|Yvksro67l4;PsnYYPiUs*Nx@lvd=-Aj z@WaHLtR3(@1C-0Mf5|-qzw4+!e@8Fpxk#J5mb);ICY`eg!ihe;M^T@S{QFFx6qX0b zuIRnKpqcBx@cT@7*{Le$Q@@-#81}EI@f+VN0FW+m-v3fNXvrRxkL18$*b8}oL82zF zsRfAw(mY7#-#j`Q+=iu1B}4CW$;C3EoslbMU4)HoMGvu!To z<+iz~#%z3Z5lEMKE`H1oS~3?uo&#Iwq99Sz&eVcL0Sj~S6GW=hT>O2Z6I2&79q7e8qSEt!j-%7LwOQIM!L|MERShwgl5$!AVa-8rM9W~QlyjsgZU zrUC(f(G2-q>7JF((sP-|rn*Aa`s`WxW5;>@$MU>>9_BTOo8Aji1m$$k$}<}0_(*rH zfU2A0+~Y9eW1kfC^Z6e3R|Aoo?~KS#{`@}J#&I5>B!GmM1p6s{ZE5zbe9jJZA{U>} zfk6NYzN;Wn^V`&dL;-2fO0&eq^7@6G1yf&H00u!4dA*8S1$O($tI$zg2098D$e0QQ z+T`_%^gPJxmsG8fy#A@9y#A>yudjlTg1G6u8bwe}<@F_#kylXl@(Q|5@(TKG@(M&= zUV*4ZUK_`GeDVqsUP3GI<7-PJuU{q>l6;D(zmfxk02Jg^kf`|`kSHL@Yx9oN_zd1x za~4efwH(;WmmpCr1SASr@b$hws+zej!qGZ<#;@pfHzwt>AkWN5ea7J6@Cm%}r$?p;+`+LPG z^vh4qOudcvXg$&948K9`GkN-E3HYrN@Y@b})-F@4=m5dSHTa3&?=W!Pma_xY+K*(h z9lY8sBnnZ|lTQKiYP)@tHw^l-m8};nevhz)qYdAuT6zKV4>SzFu1tr*x6RF*vD4C; zclQbI^yJ)O(VgKer@PK*C+;%im)wO$J2!3;h`Z5f=f*7papy&MZai2Z?$GGYjklpg zp+98C!H_#Vy7(gk1(gw<6TOJOA^wqnZ_kOsFI+}--d7;sRcQ@V%Xf`{@?9gKeAjcr z7xdqC%eet)`)===;yHNw4&;~Z_w-*@=a=2|+-53#B}}|<@2#outpE$hMofiomBKJk zfW4L(*>`)i_W@&eF0Tp3cRc-=9ylFI%VB#^M*AlONq0B^#w&#Uo1}Dihy6?T+y14a z9{mfwoab*MJ^EhgQ7}iBOn`dov%IaSPqCl$d_q3tK3r3QqSL2J#z>if2Q1j}Nbo}9 zldzBo052q>G~4?SF_vt~#e;kyF^*Z#pIld?KctiNo?Pb9sqN`#gD&U<9(hr5FdiLR zzd;xD<2#4K`CH#ueTK@ut{{F=pvO`a@{>9I7eoX!I67Ux#;4d98@-P0o1iYGoeVq<;fCh-W zG(M-}*Mv4W9lxPkdY)3>@i0x}gMZp~f1kc3=jvq4)F%mJ76E0}WV>a|BA^?y zCWFr38U`ID-h9Zgu!)fCh;0n9vY&@m2x1%u9WD_&RrEwzecmxlGbzjm~_f2E3v>T#nEPOa z?g~K>T$tVuPy`Ehzk=TD@CABOK8rch?=^q}Clfppz5*`1w8Z`*c*$iY{9Xf)I$2?) zz5=8oMfvYFbo?&klP?hT@?|GNsDV{qTbkV3pNIuaX5~AW`p-Eqh>!Ra>ini4(PH9} zC?Mt5nzaJ%JuqY+kF!3+UmOdO6Y$ppQ0W8?M(Y!H79@x|$jd6zb@T+I)30rLM5k}%3aM_qFb>nPj_bw8^mkV}*CiEO)! zj|Ns?4qrF~&ZYvbM1@)ZZyn)>KeC?OzrRr%>;9q8?*7?x7k8z1aqhx)oj-yt@&_O# z?T=6ZAyH=%kvmrE|6zy8n&a{*=pp1f!bfK$r|;NAs&eWfUphBXmnZukE6*H3Pg*A_ zTqo&Z1ax`qtNfk#6zJ$FQ0|}XMsm2D$`Lu z3v>dHoX;AJM~Aj0pQYxD%4gZGC;2SE#+%Oq?KGdoRD3=Q)nY!&adTbHXN93{&S#-b zYd#D893`LS#%YZCEaqsWd=@hm=d+p@RY|$T>#Byv1l~#HlP=4FtvXhaD0OOTL85@< zlXg8rKi$TH-*chzZ1RF8XZ?%K)Mxlv{5yZk39tAUrkYVT**nqj8&m)2sK5WwUw^N; z9_eo|LU;9`2rg0`K1~nG@!?4Oow zQ_Twq1qSUQAQbw99rm{lzDSP$V@Z}c0OP=ecPcHeBowAzMgL9JiHb~=-yoSJ`7Ju1 zOPbd|=C|5nT~okX@9Ka$YPI-fwRv$ZUS^OBAs4S_@$FW?$L)p>Dd#LstS!4$Xdi;% z6WBNig(w7Lnr@AnD{f(0hj92__I(rz@4I`C`TgCn(!LvRN%r*daqaskMDK^mM{`H# z&o8I%jDMsz{o41NsZMLPQ9Ou`E<4r2$5%7cRQQ6J5g~(TYWbeJq5qyLptfDIv&>ZZ zm>hB1AlFp*l;@gSzNN-h@yF0aEh_7=vT*Q1y8R;l+vph8$qg@jyE)1-l*GSoy2>*h z0o(88znsSIM9^X9jEAXM3MGQ(@5vKao@wm%Yx?i1u`?bVGRx!ZJ!#a${a06UpDNb9a4D z?Xt_%;$~d?Z4LfE_B@oP5|)uw(S1?2|H7KV3*bR&GcI22E6pJx6 zctE_$z2}(v6vWg3a7>NTZ0}%VEQzV{pkGXl{^T-IjH$t+6OTBi2A#ko$JB%I=+L&r z)M}2XnA&!|VV(>rqH7j*7Urk7uH(;BjH$WZq1WY@It*=d zOpP|JF}3;<^D9@(&2FDtxqWVW`=(2#r=|`*aBh~W^RsjGf#+9{DO+t@xW_lc-DPf^ z#u!sGMk|^%kwIGp18iRp)65F52Oh|44X-y9 zUIqsj`u&Ec!pkwtuA!!9mo`!}@n=l6N!28tKUR2+e;Z<#j`o6@74osYJHTFmxar*q zMNm#{#x3c=1Y&ql^)Wo?2FEA%dq6+e@gar>BBz0Q=)4n@$MB8gJfyl^y|9MgBp=AB zTafS`k^Pjuwlp#PW;?ct9N!=ZhS@E1Tdmg$5-oDIAW=Y)xw*z&95}m#y|&0>aYV~n z!^Pe=B%VyYUmIsZM;vsJtnp1x9prEZMPw=<3o)G_)tvJF_|5KJ&a3TDZv{ELk*f8P zL(@?Xv0Pp7+wKG5198*ah9W4Za(L8a9D;tE90HM-Lm+CA!^UwQpB#dO zm%Ix6_}bFQ;f;xf%${z^fvs{VNYq3&wIETzzH)eQK@JxWAZ|>3U>BaYYzgvrtpnw)U*SGJ9V(e_F2= zz_Y7NM+=*v8+hg*Y%rc3S|5a2p3~oZY@BB*DzjsgL}h@Dccl}YNK|GjjEmId4sNFD zV>DEYF`DCTh#2i!`@P37?D)M$be4s^Iby>bK4Rlnd=;N~VSZ*|es*Dg#oWy5t%vYj zA7xS04dNIBIAEMTd!zu4nTi9rgB!goUK71L&3pWr`XFK;vo|*@0T0fB!3Ys9@duAM zf^|OjmE93U=r7PwD&EvWCjtr`1+;5E>j{rt+r%AehY&M%%?E|{)f|0?npJ_kl;f8S zfPqGUaYjo9rarV|pG$YBX+M*>#O`;Lc=tQQ!tQsj8 zE7262pbo;e!H&NEZP+WA}4kYslLHYMO~b6_w6 zr0>NJlF{OT?4YwvXGu&I?sN0=b>PJ@ICT0EPA;=xgVJ!ZL+IGzOu&@_qZ+d1eQFwa7eL z-B)hYWasZdOawcBSg1KWe>g!>I}cc2JHNc6onPMH&c7JO9gLdZ%TWZEWaq&~X6K(z z4JKgcLEYPV&@b9~a0Hvl1H^XzY}k1K*v_Lg+dGT6Ozb=!bg=X29}RvNI}e_{od?fF zI}f^nXSVZ$@!ZMIH_kI<=k3@eb{??t+Iesymfchs7paMzXPVy5qgu4{j<@Twoe#qf zJCDxxv-5bv8+LxhS4(ytgD{GncY`=aJI@@AWapWwVeR}KX-G&FYfEP8BTB$K<-lMB z`r3J+qik2869I*e0_Jx9&cuv0awxPLxqfyY7_2cuA+m9%z6(Foqf_j2KReG{!uDAr zo}9LQ+y-`DsOk~O?fj9%n;ila+J~U8od*ib6bjK8gzk2=^UMzVYLR)gy06?u?0mXz zeOF>4*!iPWt zp8@o9n;O=wfyf(DAaWJ-W7*UtB&Xp{_{MP_-+CEH_!Y7W{P^0^te4%5SfDAXCECqJWeCZRUFr=YdrpYpLI6MhkRU?ObF*ccdmjW1#7*zRD1ve-bC*m;=0MfU9OyR59O$>n91wY#1ELn0YaHkC$s9;{ zDXYMbuPu$t-HTYrWbWQMFid2zHA?0Li4reU3las4eT5B_`2IJdWDO+>?S>M2)xJz} z@i^=ysqd4sSXvMOT5IJ{h>Rz1N8y9#_Dwz(+UY^28UG!NfAP_gbD^UdHR2O}GGP(#`%Q6APGv(f-r>=fEH|1zjXal%SYekSJiR zi?9y4ohVsdghD@Eq<_ol0Xd5$T?DjNFj0tfQRooKyY#6Px0qUJsh(&(z^p?LSR$UB z)&tzeI{5HA<9#^~B;JC2KPc2(9`C^fN%MGs_08k0>?r>$i}D}s%lQrz02npBAEF2@ zDUSy>GN1e_MV&D6dL5{HodEi-V!wsIU;rE;C&mNBdAy5|#{+=#cqq;Genwm-c|1Jm zkjF#+a-CD$mjj-?`T@_bG9B&90o}ke=kW&P*`Y;}XT{8+zl2=?Ki8uVOTP=|&NDa8 zGnL1)W0U0Z02^-}51dHm&Qur|sYxD>Y5F`Ks>M8>2jJ^rISZzKcn)mkOOPlQ0uluzKOnt7 z=MhB8*+6IYjwMKH^#Eh5*LolHs*ZMVRe!tpdl)+~N5&4+Q~&qsMq772>ENO7g9gQ- zc>@nH6+9Ab-rfZB1^}BklxBN>$;}%c4m$9tR%yJ(q&wiu-j6j|6*3=T@tPmAe$gCaiV_Bn@|eFj9B1N8rR=?qQLf5RlA) z*c@NeJHIj`*J_vpXr%;5g*h1PqWaopk)1BSf;+nZod3b1_u+sCnXeN?U=Slbu%eHCjP z0ocf_JvkuR1n{Oa7M~J8n*rMF@ZJEG8w9*JME!;e?|uO6$9SJgNVpIC1G+yQ9+^4q zMI^(E5GLv^i&vDK;Py8{`x}M!kTlyKg{ZxoW;ezQH+D>JL1jx|@&MEiP)r^Oz=6zU zMHn5DtpIOzNN$44O#+geqJC3_>_pqtn>3eti4BxiIx}V>)Gm$tESa{Q!1$CzMs|CnI;ZWI%MIf@BDJ&g(eKAD&R6pJwdc!0mnBf&Aj#fS+2;FtiV z+1@H*JV|-sLBE&){h=W)>|4uX0`ORj2|y?C$T7iSJob+X)O=Aff$e${696{em;kiX zn1HGHm;lvcOyIb=F2@96Xq#gKv}uhA(9cm~0yj=$j0u>dkzxX7Dvk-7e^`|4ANF5` z-vWLnjR_Q?UVjM&L%gGBQ7coQl(!A$*2e_p-vSmosi|>x2?T;&5<;pmbe!>b07zW$ za(d0i1t@S_@CpH;Fj!phY2&NSbYrLezfbxZq5} zIC5O@N2mLG4T`^=EySM;TJ&p@7(GeG5t`>;6xB%0Z8u7%_{y0x7i3?bl z1D&0JgpW&lJ)7IO-+J`dTC&Q=n|3DJHyIY<0ShQu}0d|5%f^FG5VaotuTZYnX@1We4;XyxJhW>Q4W#F-B%Rnda z$hK@S9{bxeHD8o1vt3VY8DQhJWuTqfGN$5f8LCBF=D4{o+p;jU&9)3}T5TEnIf^ZF z<1|KF#vF}g%b2OymNjp9B7GX~dAfkcB-85`=D?t-Wqn)i#S$b+51U$$D4<=x_V(zO zWRKoJl&n2Mp`SgPnR*}bZ+|aYnHgK`o@M$kB4p~<r23ka-gLsi_d<=5IwL~ z4uu9QCu4WXCBeqgawFTg3asH<=tx-@RihXfjex?a0%~K(0}Nwm`SYCW$dTKSG0bh@ z8;Q5r7QTrfsVxLd+roxB-q&`tg=>qpuy;GyKQKi04-`}Tck{{EKTs^%KkxwC!o6qv z_a4|k0NDPaG~2slZvXJ0pZ!CBI@&+*ShRnj6L@6%HyDro?Vp+>%Kq7|C-x7p@!CJo zPVFC4@%9hZqWyE+T$k-%7}{q0hc>PD5B(g){<(1)qy1x!MzVj*)X?_t%`_&N{d-Fe zY_)%aM5$g=3lasSJ-=OlH|^p!7JRIvem6~C(Buj+&07g?tjFI*kW`NY)zaM%W0M_Fu&GwGY^*A2%)8pt* zM?DT6i+UV%0*|c62jj879#?Zj>2cfjM2`bDUOf)lsUBx4UXP<%)Z>nu>#`mXL))y! z(WX_8qo1SbaW_t5)Z@(2NP3)^8d{HELSvHY@wex|Ry{6AlnynuAW=Zl<9jsTLW^_R z^qbyp&EOq53%q7$7ngX6+%6sYeS93s_|2kreTet)y_0a|{BPUFvBaB9EyNV7rovls zQ~^Dk-edAEYUS(#-A4XyRqJz(dAE)>V7IajI0iNV#7*y!D1vfo2OdBV^0k?f?=b;Y zX9u{)u9BUZ1pQoZhkHzb$Z1tZZ<8e; z^0EX(Ewa=&&f}9Mknqw|fgfKRr!2K4?Baag2Z@Eu&V48cw$5!qqNcH_1&IR2`MMiW zzV4$$$>!@&=$EfsK7~D~WD9Bi=)*aSroOZQRGGcw7C&Me(2udQQS`YsP^VE~e){Cv z9{bpkYopwuTh9`HRBr=63aC?P;KuFkaJxNt6p&OyiC35y7FL+JF87C}XDdHO@5S-h z#|e_gV}Nyt$9C_iKXxzckLN&XfFX*L0hkMWQ z*vAo%0l@JXO0&IFh_PhvG#>Pe$Izc#7ok7d-f8gYG|_Z)Jpkwg9yuNxj7NvoUk{L< zr&M!9#bdVXNjwJFc;hk9PUA7A;^Q$?i}9G_=DHk@g`sVZ$IzxV9z#DziO1YHjWHf$ zjz)^dn5m)Tu}{#LWOnM4Ik44E2@<7`O)W?iFt<~mAxhRxp)iP@`c%%MsXtu+Mt15l z+aR}7plxr!Z zY`nGtv{PHbRJ^S~wP-6GH`irb5r($eR-jF*tw29Vu@!Ed#%L>;qmgU{GZov4wlrL# zSHDDKlG%zc=fGCIDoB(HHMJm7zybCRe5H*AZe;-v$Yv(Y77)wWY~#f8CC4v{q#5Z{)yMxe_F5P6s3k zNOE-7EJxE0x&pjgDviUn{c_)obIwDcJ~&)6CSv8&F;Z>=|LC< zFWcvwBl+&>Daa(B-w^&)?*soDSb-5}ws7<>bjeiUM*L6i{cl`@ zHL>r}^VkpkK0#7H5HQ&Hg*99EpqG9?)fM6b*aRuV#8sTa?_NJ4);sH*-dX6VcNY5V zohzVh&;jxr!6E$*oMp2AiK6a7J{OmGpJ>-XHj+|YHobhy`dy}GoEV?E3%OY9*G}JL zkLAmj-(%hOwbNUUnwpwf_rPsyr+3?hhfe#CVdrrLZs48qxUmQM1$dAEum_3KZ0{;! zEy5hC`!az7hDlMKt)g&^@kTTPr+Lh6i)=AC|)7)h|!p+ z@rY4kG)6Run#3b9YCQ7S#4BF-uWwgZS9MR%{N{H&cHif-&|SZos_L4qvwM2{Wy5u5 zOuw-kJx{)M*F9%9uE)&v`b@ox52W6%^Rx7tJY5s!AtL7$o7Qu8e#NzN-8|W^g%$HF zAjt5&UB zy|`-4UOKYsI%wgkMnYFzxbB!^xW9hs4fJdB+kR)S-|9~a+f5|{VswhIKEC#t8`o&e zy^r~v_qv5$*Db6HAN4lRd|~x2^Sf-FU%hpHcI!d!o1K~2e8l`N)TIxAliDrpiW%Xr z2tOZf=EtAU&-rhJL#h(UukjbJNzttVI@+1Eu&RiTAJVZD$P*{CJpP5<=2u*G;lkSa z73=1ATQ|SfFMO`Nn2g%0b;qm$Xt#A&FaG$^U%GyNxB0c0Cu`?-r4D_yd~coz^o{V{ z_FU^{lAqS|E9ZCJdhECT|LCE|yH?R%G!D9p$C2GNH@^yZ;eQKr^Rw%Y*<)9tJ->E- z*0V%&m~dT850Zo{Gw|e>-}?LC&yynY$WE@QyYk{|=o$(QPG}7c=$x39GoK^dMD=Z2 z+x~YFYa+h#f!`q{g&5*f zpW+w--#MpmF!?_nrwtcs8D|2Naav#nhSR{pRiK~3nrk`Vr)&IL4jQAZ<$O0FPu|o0 zUID0q3>{ebU;cvTS`MfatFA(0thF5B$4aFZehg4&gsZ?!x|YLIz*>%HB(h}Ja`+lq z%Q0sIT|tkM-1=__s~0I65UHzvDTO2Gdv z0smhCXdaVq_J8T?$Am5DN>C4vK%9Hj6|z5D=I4yA*fT?aqDaO+8|Z%&$@pgj{jVY! z|7@V2Dw1$EP{=EOh9Bym(|_}a%0df=ie9kv3&ju)7QJBUmkJAKi}Fq3%kMp+j1>syEkN4MvgrVVRptzw3df+t) zjYPTm`f#dfydFy8uSX-fK1{Q4>?q%T2&UB`afj~$c|jaDs)IiafWvr~@9zj>Kyo<1 zW1Sg#DX~vy?+W9*frrXW9k28EQk-)4b z@~*?{vG$Hfd?eVED27Izl7u%0M5SAnj3r%$+3@Z zksPntw7~Z?vhOS}#&}4?ea`R!k2WuE;gOTp(Rj?VV&XAB@88T9pNOvZ#T!5LEMH|w z9sBPll{)ee(?QNfg&!?FUUeZ7t*xv0ROU77LbgRKHX#oM?R@=)sl@dgbc^dZftxFvX0@oCTZWUyUfpRrTofdk#p3g zjEO>>gAUP$+M@7!d;)w4}tCtrfZu%Ji`uweUF5UJGm zuOvubrv&yrx<|4*>}0I=;x zYi{tXrtQZM!)!ms)6@2Y$D-{A9p#a2|7bi8xBVb4>w@dIQd!O0en0fg_5+4FW32mx zwjZ=}+s{;@?MJt0`vW&Svh7#Vw%dMO(`oxLΠ4kkb@xKXWvZ?PsP^+u!v%nqRxu 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

CD1LdO9bA=SeLlXzJ07> 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%0AdY?R{CSYdI zat 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

+@-Bz3)@C{?Iiv4n40Y_ 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Π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 |e+5y0Rmo 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 diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index 8bc88858b1524463d32296dc1e3d757958faab8c..6cc4c5acce082a620bccf0ae11ded922864d04a7 100755 GIT binary patch literal 122880 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 W6ahs*5l{pa0YyL&Pz3&U1bzYny=gZ9 literal 114688 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

sX)#WnQ=W)br&`bX8` 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 From 69fbcdf14c00fc882477b18af962a932db0d54ee Mon Sep 17 00:00:00 2001 From: teravus Date: Tue, 5 Mar 2013 00:04:09 -0500 Subject: [PATCH 692/851] * Add a Max Payload size property to the Websocket Server Handler. If you would like to restrict the maximum packet size, (and therefore protect against Memory DOSing) then you should set this. I defaulted it to 40MB. This means that in theory, a malicious user could connect and send a packet that claims that the payload is up to 40 mb (even if it doesn't actually turn out to be 40mb. More testing needs to be done on it where the packets are maliciously malformed. --- .../HttpServer/WebsocketServerHandler.cs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/OpenSim/Framework/Servers/HttpServer/WebsocketServerHandler.cs b/OpenSim/Framework/Servers/HttpServer/WebsocketServerHandler.cs index bb8825b118..ee96b47c69 100644 --- a/OpenSim/Framework/Servers/HttpServer/WebsocketServerHandler.cs +++ b/OpenSim/Framework/Servers/HttpServer/WebsocketServerHandler.cs @@ -108,6 +108,7 @@ namespace OpenSim.Framework.Servers.HttpServer private int _bufferLength; private bool _closing; private bool _upgraded; + private int _maxPayloadBytes = 41943040; private const string HandshakeAcceptText = "HTTP/1.1 101 Switching Protocols\r\n" + @@ -195,6 +196,15 @@ namespace OpenSim.Framework.Servers.HttpServer HandshakeAndUpgrade(); } + /// + /// Max Payload Size in bytes. Defaults to 40MB, but could be set upon connection before calling handshake and upgrade. + /// + public int MaxPayloadSize + { + get { return _maxPayloadBytes; } + set { _maxPayloadBytes = value; } + } + /// /// This triggers the websocket start the upgrade process /// @@ -367,7 +377,12 @@ namespace OpenSim.Framework.Servers.HttpServer if (headerread) { _socketState.FrameComplete = false; - + if (pheader.PayloadLen > (ulong) _maxPayloadBytes) + { + Close("Invalid Payload size"); + + return; + } if (pheader.PayloadLen > 0) { if ((int) pheader.PayloadLen > _bufferPosition - offset) From ccd6f443e1092cb410f565e921f7cf4dd8cd2dac Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Tue, 5 Mar 2013 23:47:36 +0000 Subject: [PATCH 693/851] Get attachment script state before taking sp.AttachmentsSyncLock() to avoid race conditions between closing agents and scripts that may be doing attachment manipulation. This is in an effort to resolve http://opensimulator.org/mantis/view.php?id=6557 --- .../Avatar/Attachments/AttachmentsModule.cs | 305 ++++++++++-------- 1 file changed, 163 insertions(+), 142 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs index 8a3eeaad97..3ccf9f4c41 100644 --- a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs @@ -241,12 +241,27 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments // m_log.DebugFormat("[ATTACHMENTS MODULE]: Saving changed attachments for {0}", sp.Name); + List attachments = sp.GetAttachments(); + + if (attachments.Count <= 0) + return; + + Dictionary scriptStates = new Dictionary(); + + foreach (SceneObjectGroup so in attachments) + { + // Scripts MUST be snapshotted before the object is + // removed from the scene because doing otherwise will + // clobber the run flag + // This must be done outside the sp.AttachmentSyncLock so that there is no risk of a deadlock from + // scripts performing attachment operations at the same time. Getting object states stops the scripts. + scriptStates[so] = PrepareScriptInstanceForSave(so, false); + } + lock (sp.AttachmentsSyncLock) { - foreach (SceneObjectGroup so in sp.GetAttachments()) - { - UpdateDetachedObject(sp, so); - } + foreach (SceneObjectGroup so in attachments) + UpdateDetachedObject(sp, so, scriptStates[so]); sp.ClearAttachments(); } @@ -285,32 +300,40 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments private bool AttachObjectInternal(IScenePresence sp, SceneObjectGroup group, uint attachmentPt, bool silent, bool temp) { - lock (sp.AttachmentsSyncLock) - { // m_log.DebugFormat( // "[ATTACHMENTS MODULE]: Attaching object {0} {1} to {2} point {3} from ground (silent = {4})", // group.Name, group.LocalId, sp.Name, attachmentPt, silent); - if (group.GetSittingAvatarsCount() != 0) - { + if (group.GetSittingAvatarsCount() != 0) + { // m_log.WarnFormat( // "[ATTACHMENTS MODULE]: Ignoring request to attach {0} {1} to {2} on {3} since {4} avatars are still sitting on it", // group.Name, group.LocalId, sp.Name, attachmentPt, group.GetSittingAvatarsCount()); - - return false; - } - - if (sp.GetAttachments(attachmentPt).Contains(group)) - { - // m_log.WarnFormat( - // "[ATTACHMENTS MODULE]: Ignoring request to attach {0} {1} to {2} on {3} since it's already attached", - // group.Name, group.LocalId, sp.Name, AttachmentPt); - - return false; - } - + + return false; + } + + if (sp.GetAttachments(attachmentPt).Contains(group)) + { +// m_log.WarnFormat( +// "[ATTACHMENTS MODULE]: Ignoring request to attach {0} {1} to {2} on {3} since it's already attached", +// group.Name, group.LocalId, sp.Name, AttachmentPt); + + return false; + } + + // Remove any previous attachments + List existingAttachments = sp.GetAttachments(attachmentPt); + string existingAttachmentScriptState = null; + + // At the moment we can only deal with a single attachment + if (existingAttachments.Count != 0 && existingAttachments[0].FromItemID != UUID.Zero) + DetachSingleAttachmentToInv(sp, group); + + lock (sp.AttachmentsSyncLock) + { Vector3 attachPos = group.AbsolutePosition; - + // TODO: this short circuits multiple attachments functionality in LL viewer 2.1+ and should // be removed when that functionality is implemented in opensim attachmentPt &= 0x7f; @@ -322,14 +345,14 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments { attachPos = Vector3.Zero; } - + // AttachmentPt 0 means the client chose to 'wear' the attachment. if (attachmentPt == 0) { // Check object for stored attachment point attachmentPt = group.AttachmentPoint; } - + // if we still didn't find a suitable attachment point....... if (attachmentPt == 0) { @@ -337,13 +360,13 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments attachmentPt = (uint)AttachmentPoint.LeftHand; attachPos = Vector3.Zero; } - + group.AttachmentPoint = attachmentPt; group.AbsolutePosition = attachPos; if (sp.PresenceType != PresenceType.Npc) UpdateUserInventoryWithAttachment(sp, group, attachmentPt, temp); - + AttachToAgent(sp, group, attachmentPt, attachPos, silent); } @@ -352,21 +375,6 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments private void UpdateUserInventoryWithAttachment(IScenePresence sp, SceneObjectGroup group, uint attachmentPt, bool temp) { - // Remove any previous attachments - List attachments = sp.GetAttachments(attachmentPt); - - // At the moment we can only deal with a single attachment - if (attachments.Count != 0) - { - if (attachments[0].FromItemID != UUID.Zero) - DetachSingleAttachmentToInvInternal(sp, attachments[0]); - // Error logging commented because UUID.Zero now means temp attachment -// else -// m_log.WarnFormat( -// "[ATTACHMENTS MODULE]: When detaching existing attachment {0} {1} at point {2} to make way for {3} {4} for {5}, couldn't find the associated item ID to adjust inventory attachment record!", -// attachments[0].Name, attachments[0].LocalId, attachmentPt, group.Name, group.LocalId, sp.Name); - } - // Add the new attachment to inventory if we don't already have it. if (!temp) { @@ -426,12 +434,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments return; // m_log.DebugFormat("[ATTACHMENTS MODULE]: Rezzing multiple attachments from inventory for {0}", sp.Name); - lock (sp.AttachmentsSyncLock) + + foreach (KeyValuePair rez in rezlist) { - foreach (KeyValuePair rez in rezlist) - { - RezSingleAttachmentFromInventory(sp, rez.Key, rez.Value); - } + RezSingleAttachmentFromInventory(sp, rez.Key, rez.Value); } } @@ -511,25 +517,33 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments public void DetachSingleAttachmentToInv(IScenePresence sp, SceneObjectGroup so) { + if (so.AttachedAvatar != sp.UUID) + { + m_log.WarnFormat( + "[ATTACHMENTS MODULE]: Tried to detach object {0} from {1} {2} but attached avatar id was {3} in {4}", + so.Name, sp.Name, sp.UUID, so.AttachedAvatar, m_scene.RegionInfo.RegionName); + + return; + } + + // Scripts MUST be snapshotted before the object is + // removed from the scene because doing otherwise will + // clobber the run flag + // This must be done outside the sp.AttachmentSyncLock so that there is no risk of a deadlock from + // scripts performing attachment operations at the same time. Getting object states stops the scripts. + string scriptedState = PrepareScriptInstanceForSave(so, true); + lock (sp.AttachmentsSyncLock) { // Save avatar attachment information // m_log.Debug("[ATTACHMENTS MODULE]: Detaching from UserID: " + sp.UUID + ", ItemID: " + itemID); - if (so.AttachedAvatar != sp.UUID) - { - m_log.WarnFormat( - "[ATTACHMENTS MODULE]: Tried to detach object {0} from {1} {2} but attached avatar id was {3} in {4}", - so.Name, sp.Name, sp.UUID, so.AttachedAvatar, m_scene.RegionInfo.RegionName); - - return; - } - bool changed = sp.Appearance.DetachAttachment(so.FromItemID); if (changed && m_scene.AvatarFactory != null) m_scene.AvatarFactory.QueueAppearanceSave(sp.UUID); - DetachSingleAttachmentToInvInternal(sp, so); + sp.RemoveAttachment(so); + UpdateDetachedObject(sp, so, scriptedState); } } @@ -739,8 +753,27 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments return newItem; } - private string GetObjectScriptStates(SceneObjectGroup grp) + /// + /// Prepares the script instance for save. + /// + /// + /// This involves triggering the detach event and getting the script state (which also stops the script) + /// This MUST be done outside sp.AttachmentsSyncLock, since otherwise there is a chance of deadlock if a + /// running script is performing attachment operations. + /// + /// + /// The script state ready for persistence. + /// + /// + /// + /// + /// If true, then fire the script event before we save its state. + /// + private string PrepareScriptInstanceForSave(SceneObjectGroup grp, bool fireDetachEvent) { + if (fireDetachEvent) + m_scene.EventManager.TriggerOnAttach(grp.LocalId, grp.FromItemID, UUID.Zero); + using (StringWriter sw = new StringWriter()) { using (XmlTextWriter writer = new XmlTextWriter(sw)) @@ -752,7 +785,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments } } - private void UpdateDetachedObject(IScenePresence sp, SceneObjectGroup so) + private void UpdateDetachedObject(IScenePresence sp, SceneObjectGroup so, string scriptedState) { // Don't save attachments for HG visitors, it // messes up their inventory. When a HG visitor logs @@ -765,11 +798,6 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments && (m_scene.UserManagementModule == null || m_scene.UserManagementModule.IsLocalGridUser(sp.UUID)); - // Scripts MUST be snapshotted before the object is - // removed from the scene because doing otherwise will - // clobber the run flag - string scriptedState = GetObjectScriptStates(so); - // Remove the object from the scene so no more updates // are sent. Doing this before the below changes will ensure // updates can't cause "HUD artefacts" @@ -793,91 +821,87 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments so.RemoveScriptInstances(true); } - private void DetachSingleAttachmentToInvInternal(IScenePresence sp, SceneObjectGroup so) - { - // m_log.DebugFormat("[ATTACHMENTS MODULE]: Detaching item {0} to inventory for {1}", itemID, sp.Name); - - m_scene.EventManager.TriggerOnAttach(so.LocalId, so.FromItemID, UUID.Zero); - sp.RemoveAttachment(so); - - UpdateDetachedObject(sp, so); - } - private SceneObjectGroup RezSingleAttachmentFromInventoryInternal( IScenePresence sp, UUID itemID, UUID assetID, uint attachmentPt) { if (m_invAccessModule == null) return null; + SceneObjectGroup objatt; + + if (itemID != UUID.Zero) + objatt = m_invAccessModule.RezObject(sp.ControllingClient, + itemID, Vector3.Zero, Vector3.Zero, UUID.Zero, (byte)1, true, + false, false, sp.UUID, true); + else + objatt = m_invAccessModule.RezObject(sp.ControllingClient, + null, assetID, Vector3.Zero, Vector3.Zero, UUID.Zero, (byte)1, true, + false, false, sp.UUID, true); + + if (objatt == null) + { + m_log.WarnFormat( + "[ATTACHMENTS MODULE]: Could not retrieve item {0} for attaching to avatar {1} at point {2}", + itemID, sp.Name, attachmentPt); + + return null; + } + + // Remove any previous attachments + List attachments = sp.GetAttachments(attachmentPt); + string previousAttachmentScriptedState = null; + + // At the moment we can only deal with a single attachment + if (attachments.Count != 0) + DetachSingleAttachmentToInv(sp, attachments[0]); + lock (sp.AttachmentsSyncLock) { - SceneObjectGroup objatt; - - if (itemID != UUID.Zero) - objatt = m_invAccessModule.RezObject(sp.ControllingClient, - itemID, Vector3.Zero, Vector3.Zero, UUID.Zero, (byte)1, true, - false, false, sp.UUID, true); - else - objatt = m_invAccessModule.RezObject(sp.ControllingClient, - null, assetID, Vector3.Zero, Vector3.Zero, UUID.Zero, (byte)1, true, - false, false, sp.UUID, true); - - if (objatt != null) - { // m_log.DebugFormat( // "[ATTACHMENTS MODULE]: Rezzed single object {0} for attachment to {1} on point {2} in {3}", // objatt.Name, sp.Name, attachmentPt, m_scene.Name); - // HasGroupChanged is being set from within RezObject. Ideally it would be set by the caller. - objatt.HasGroupChanged = false; - bool tainted = false; - if (attachmentPt != 0 && attachmentPt != objatt.AttachmentPoint) - tainted = true; + // HasGroupChanged is being set from within RezObject. Ideally it would be set by the caller. + objatt.HasGroupChanged = false; + bool tainted = false; + if (attachmentPt != 0 && attachmentPt != objatt.AttachmentPoint) + tainted = true; - // FIXME: Detect whether it's really likely for AttachObject to throw an exception in the normal - // course of events. If not, then it's probably not worth trying to recover the situation - // since this is more likely to trigger further exceptions and confuse later debugging. If - // exceptions can be thrown in expected error conditions (not NREs) then make this consistent - // since other normal error conditions will simply return false instead. - // This will throw if the attachment fails - try - { - AttachObjectInternal(sp, objatt, attachmentPt, false, false); - } - catch (Exception e) - { - m_log.ErrorFormat( - "[ATTACHMENTS MODULE]: Failed to attach {0} {1} for {2}, exception {3}{4}", - objatt.Name, objatt.UUID, sp.Name, e.Message, e.StackTrace); - - // Make sure the object doesn't stick around and bail - sp.RemoveAttachment(objatt); - m_scene.DeleteSceneObject(objatt, false); - return null; - } - - if (tainted) - objatt.HasGroupChanged = true; - - // Fire after attach, so we don't get messy perms dialogs - // 4 == AttachedRez - objatt.CreateScriptInstances(0, true, m_scene.DefaultScriptEngine, 4); - objatt.ResumeScripts(); - - // Do this last so that event listeners have access to all the effects of the attachment - m_scene.EventManager.TriggerOnAttach(objatt.LocalId, itemID, sp.UUID); - - return objatt; - } - else + // FIXME: Detect whether it's really likely for AttachObject to throw an exception in the normal + // course of events. If not, then it's probably not worth trying to recover the situation + // since this is more likely to trigger further exceptions and confuse later debugging. If + // exceptions can be thrown in expected error conditions (not NREs) then make this consistent + // since other normal error conditions will simply return false instead. + // This will throw if the attachment fails + try { - m_log.WarnFormat( - "[ATTACHMENTS MODULE]: Could not retrieve item {0} for attaching to avatar {1} at point {2}", - itemID, sp.Name, attachmentPt); + AttachObjectInternal(sp, objatt, attachmentPt, false, false); } - } + catch (Exception e) + { + m_log.ErrorFormat( + "[ATTACHMENTS MODULE]: Failed to attach {0} {1} for {2}, exception {3}{4}", + objatt.Name, objatt.UUID, sp.Name, e.Message, e.StackTrace); - return null; + // Make sure the object doesn't stick around and bail + sp.RemoveAttachment(objatt); + m_scene.DeleteSceneObject(objatt, false); + return null; + } + + if (tainted) + objatt.HasGroupChanged = true; + + // Fire after attach, so we don't get messy perms dialogs + // 4 == AttachedRez + objatt.CreateScriptInstances(0, true, m_scene.DefaultScriptEngine, 4); + objatt.ResumeScripts(); + + // Do this last so that event listeners have access to all the effects of the attachment + m_scene.EventManager.TriggerOnAttach(objatt.LocalId, itemID, sp.UUID); + + return objatt; + } } /// @@ -1027,17 +1051,14 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments ScenePresence sp = m_scene.GetScenePresence(remoteClient.AgentId); if (sp != null) { - lock (sp.AttachmentsSyncLock) + List attachments = sp.GetAttachments(); + + foreach (SceneObjectGroup group in attachments) { - List attachments = sp.GetAttachments(); - - foreach (SceneObjectGroup group in attachments) + if (group.FromItemID == itemID && group.FromItemID != UUID.Zero) { - if (group.FromItemID == itemID && group.FromItemID != UUID.Zero) - { - DetachSingleAttachmentToInv(sp, group); - return; - } + DetachSingleAttachmentToInv(sp, group); + return; } } } @@ -1055,4 +1076,4 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments #endregion } -} +} \ No newline at end of file From b272b91317b1fd6c01aee57a0086a26dc233b03e Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Tue, 5 Mar 2013 23:59:39 +0000 Subject: [PATCH 694/851] minor: Fix mono compiler warning in MonitorModule --- .../Region/CoreModules/Framework/Monitoring/MonitorModule.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/OpenSim/Region/CoreModules/Framework/Monitoring/MonitorModule.cs b/OpenSim/Region/CoreModules/Framework/Monitoring/MonitorModule.cs index 4c9ee067e2..64feec1947 100644 --- a/OpenSim/Region/CoreModules/Framework/Monitoring/MonitorModule.cs +++ b/OpenSim/Region/CoreModules/Framework/Monitoring/MonitorModule.cs @@ -414,8 +414,6 @@ namespace OpenSim.Region.CoreModules.Framework.Monitoring } private void RegisterStatsManagerRegionStatistics() { - string regionName = m_scene.RegionInfo.RegionName; - MakeStat("RootAgents", "avatars", (s) => { s.Value = m_scene.SceneGraph.GetRootAgentCount(); }); MakeStat("ChildAgents", "avatars", (s) => { s.Value = m_scene.SceneGraph.GetChildAgentCount(); }); MakeStat("TotalPrims", "objects", (s) => { s.Value = m_scene.SceneGraph.GetTotalObjectsCount(); }); From a9f380d1241b765d5bf278b5dcf6ab91f0015e85 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 6 Mar 2013 00:22:58 +0000 Subject: [PATCH 695/851] Fix bug in osGetPrimitiveParams() so that it works for prims with the same owner as the script and not ones with different owners. Addresses http://opensimulator.org/mantis/view.php?id=6560 --- .../Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index ab087af569..dd7ee24a63 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -10920,7 +10920,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api LSL_List result = new LSL_List(); - if (obj != null && obj.OwnerID != m_host.OwnerID) + if (obj != null && obj.OwnerID == m_host.OwnerID) { LSL_List remaining = GetPrimParams(obj, rules, ref result); From 30e06b0742512caf08d1ab67505f9ab381dae9f5 Mon Sep 17 00:00:00 2001 From: Mic Bowman Date: Tue, 5 Mar 2013 20:32:06 -0800 Subject: [PATCH 696/851] Convert doubles passed back through the MOD interface into LSL_Floats --- .../Region/ScriptEngine/Shared/Api/Implementation/MOD_Api.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/MOD_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/MOD_Api.cs index d0922aad53..21bae27282 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/MOD_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/MOD_Api.cs @@ -266,6 +266,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { llist[i] = new LSL_Float((float)result[i]); } + else if (result[i] is double) + { + llist[i] = new LSL_Float((double)result[i]); + } else if (result[i] is UUID) { llist[i] = new LSL_Key(result[i].ToString()); From 9875e840f7e71f0b253c0b2aa90d47edc9c77b64 Mon Sep 17 00:00:00 2001 From: Mic Bowman Date: Tue, 5 Mar 2013 20:33:17 -0800 Subject: [PATCH 697/851] Per discussions with justincc... split the JsonStore type functions into one for node type and one for value type. Define and export constants for both nodes and values. --- .../Framework/Interfaces/IJsonStoreModule.cs | 14 +++++- .../Scripting/JsonStore/JsonStore.cs | 39 ++++++++++++++- .../Scripting/JsonStore/JsonStoreModule.cs | 36 ++++++++++++- .../JsonStore/JsonStoreScriptModule.cs | 39 ++++++++++++--- .../Tests/JsonStoreScriptModuleTests.cs | 50 +++++++++---------- 5 files changed, 143 insertions(+), 35 deletions(-) diff --git a/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs b/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs index 345f01bce2..b67312e0b4 100644 --- a/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs @@ -41,6 +41,16 @@ namespace OpenSim.Region.Framework.Interfaces Value = 3 } + public enum JsonStoreValueType + { + Undefined = 0, + Boolean = 1, + Integer = 2, + Float = 3, + String = 4, + UUID = 5 + } + public delegate void TakeValueCallback(string s); public interface IJsonStoreModule @@ -49,7 +59,9 @@ namespace OpenSim.Region.Framework.Interfaces bool CreateStore(string value, ref UUID result); bool DestroyStore(UUID storeID); - JsonStoreNodeType GetPathType(UUID storeID, string path); + JsonStoreNodeType GetNodeType(UUID storeID, string path); + JsonStoreValueType GetValueType(UUID storeID, string path); + bool TestStore(UUID storeID); bool SetValue(UUID storeID, string path, string value, bool useJson); diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs index 40adba1939..e498c6a1ec 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs @@ -145,7 +145,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore /// /// // ----------------------------------------------------------------- - public JsonStoreNodeType PathType(string expr) + public JsonStoreNodeType GetNodeType(string expr) { Stack path; if (! ParsePathExpression(expr,out path)) @@ -168,6 +168,43 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore return JsonStoreNodeType.Undefined; } + // ----------------------------------------------------------------- + /// + /// + /// + // ----------------------------------------------------------------- + public JsonStoreValueType GetValueType(string expr) + { + Stack path; + if (! ParsePathExpression(expr,out path)) + return JsonStoreValueType.Undefined; + + OSD result = ProcessPathExpression(ValueStore,path); + + if (result == null) + return JsonStoreValueType.Undefined; + + if (result is OSDMap) + return JsonStoreValueType.Undefined; + + if (result is OSDArray) + return JsonStoreValueType.Undefined; + + if (result is OSDBoolean) + return JsonStoreValueType.Boolean; + + if (result is OSDInteger) + return JsonStoreValueType.Integer; + + if (result is OSDReal) + return JsonStoreValueType.Float; + + if (result is OSDString) + return JsonStoreValueType.String; + + return JsonStoreValueType.Undefined; + } + // ----------------------------------------------------------------- /// /// diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs index e78a2f4fa3..5fbfcc583a 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreModule.cs @@ -270,7 +270,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore /// /// // ----------------------------------------------------------------- - public JsonStoreNodeType GetPathType(UUID storeID, string path) + public JsonStoreNodeType GetNodeType(UUID storeID, string path) { if (! m_enabled) return JsonStoreNodeType.Undefined; @@ -287,7 +287,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore try { lock (map) - return map.PathType(path); + return map.GetNodeType(path); } catch (Exception e) { @@ -297,6 +297,38 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore return JsonStoreNodeType.Undefined; } + // ----------------------------------------------------------------- + /// + /// + /// + // ----------------------------------------------------------------- + public JsonStoreValueType GetValueType(UUID storeID, string path) + { + if (! m_enabled) return JsonStoreValueType.Undefined; + + JsonStore map = null; + lock (m_JsonValueStore) + { + if (! m_JsonValueStore.TryGetValue(storeID,out map)) + { + m_log.InfoFormat("[JsonStore] Missing store {0}",storeID); + return JsonStoreValueType.Undefined; + } + } + + try + { + lock (map) + return map.GetValueType(path); + } + catch (Exception e) + { + m_log.Error(string.Format("[JsonStore]: Path test failed for {0} in {1}", path, storeID), e); + } + + return JsonStoreValueType.Undefined; + } + // ----------------------------------------------------------------- /// /// diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs index e13eb56439..4a754a915b 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs @@ -192,16 +192,32 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore #region ScriptConstantsInterface [ScriptConstant] - public static readonly int JSON_TYPE_UNDEF = (int)JsonStoreNodeType.Undefined; + public static readonly int JSON_NODETYPE_UNDEF = (int)JsonStoreNodeType.Undefined; [ScriptConstant] - public static readonly int JSON_TYPE_OBJECT = (int)JsonStoreNodeType.Object; + public static readonly int JSON_NODETYPE_OBJECT = (int)JsonStoreNodeType.Object; [ScriptConstant] - public static readonly int JSON_TYPE_ARRAY = (int)JsonStoreNodeType.Array; + public static readonly int JSON_NODETYPE_ARRAY = (int)JsonStoreNodeType.Array; [ScriptConstant] - public static readonly int JSON_TYPE_VALUE = (int)JsonStoreNodeType.Value; + public static readonly int JSON_NODETYPE_VALUE = (int)JsonStoreNodeType.Value; + + [ScriptConstant] + public static readonly int JSON_VALUETYPE_UNDEF = (int)JsonStoreValueType.Undefined; + + [ScriptConstant] + public static readonly int JSON_VALUETYPE_BOOLEAN = (int)JsonStoreValueType.Boolean; + + [ScriptConstant] + public static readonly int JSON_VALUETYPE_INTEGER = (int)JsonStoreValueType.Integer; + + [ScriptConstant] + public static readonly int JSON_VALUETYPE_FLOAT = (int)JsonStoreValueType.Float; + + [ScriptConstant] + public static readonly int JSON_VALUETYPE_STRING = (int)JsonStoreValueType.String; + #endregion @@ -310,9 +326,20 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore /// // ----------------------------------------------------------------- [ScriptInvocation] - public int JsonGetPathType(UUID hostID, UUID scriptID, UUID storeID, string path) + public int JsonGetNodeType(UUID hostID, UUID scriptID, UUID storeID, string path) { - return (int)m_store.GetPathType(storeID,path); + return (int)m_store.GetNodeType(storeID,path); + } + + // ----------------------------------------------------------------- + /// + /// + /// + // ----------------------------------------------------------------- + [ScriptInvocation] + public int JsonGetValueType(UUID hostID, UUID scriptID, UUID storeID, string path) + { + return (int)m_store.GetValueType(storeID,path); } // ----------------------------------------------------------------- diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index b64dbd40e9..bfa9937873 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -158,8 +158,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests Assert.That(dsrv, Is.EqualTo(1)); - int tprv = (int)InvokeOp("JsonGetPathType", storeId, "Hello"); - Assert.That(tprv, Is.EqualTo(JsonStoreScriptModule.JSON_TYPE_UNDEF)); + int tprv = (int)InvokeOp("JsonGetNodeType", storeId, "Hello"); + Assert.That(tprv, Is.EqualTo(JsonStoreScriptModule.JSON_NODETYPE_UNDEF)); } [Test] @@ -277,8 +277,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests int returnValue = (int)InvokeOp( "JsonRemoveValue", storeId, "Hello"); Assert.That(returnValue, Is.EqualTo(1)); - int result = (int)InvokeOp("JsonGetPathType", storeId, "Hello"); - Assert.That(result, Is.EqualTo(JsonStoreScriptModule.JSON_TYPE_UNDEF)); + int result = (int)InvokeOp("JsonGetNodeType", storeId, "Hello"); + Assert.That(result, Is.EqualTo(JsonStoreScriptModule.JSON_NODETYPE_UNDEF)); string returnValue2 = (string)InvokeOp("JsonGetValue", storeId, "Hello"); Assert.That(returnValue2, Is.EqualTo("")); @@ -291,8 +291,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests int returnValue = (int)InvokeOp( "JsonRemoveValue", storeId, "Hello"); Assert.That(returnValue, Is.EqualTo(1)); - int result = (int)InvokeOp("JsonGetPathType", storeId, "Hello"); - Assert.That(result, Is.EqualTo(JsonStoreScriptModule.JSON_TYPE_UNDEF)); + int result = (int)InvokeOp("JsonGetNodeType", storeId, "Hello"); + Assert.That(result, Is.EqualTo(JsonStoreScriptModule.JSON_NODETYPE_UNDEF)); string returnValue2 = (string)InvokeOp("JsonGetJson", storeId, "Hello"); Assert.That(returnValue2, Is.EqualTo("")); @@ -306,11 +306,11 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests int returnValue = (int)InvokeOp( "JsonRemoveValue", storeId, "Hello[0]"); Assert.That(returnValue, Is.EqualTo(1)); - int result = (int)InvokeOp("JsonGetPathType", storeId, "Hello[0]"); - Assert.That(result, Is.EqualTo(JsonStoreScriptModule.JSON_TYPE_VALUE)); + int result = (int)InvokeOp("JsonGetNodeType", storeId, "Hello[0]"); + Assert.That(result, Is.EqualTo(JsonStoreScriptModule.JSON_NODETYPE_VALUE)); - result = (int)InvokeOp("JsonGetPathType", storeId, "Hello[1]"); - Assert.That(result, Is.EqualTo(JsonStoreScriptModule.JSON_TYPE_UNDEF)); + result = (int)InvokeOp("JsonGetNodeType", storeId, "Hello[1]"); + Assert.That(result, Is.EqualTo(JsonStoreScriptModule.JSON_NODETYPE_UNDEF)); string stringReturnValue = (string)InvokeOp("JsonGetValue", storeId, "Hello[0]"); Assert.That(stringReturnValue, Is.EqualTo("value2")); @@ -433,7 +433,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests } [Test] - public void TestJsonGetPathType() + public void TestJsonGetNodeType() { TestHelpers.InMethod(); // TestHelpers.EnableLogging(); @@ -441,41 +441,41 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ 'Hello' : { 'World' : [ 'one', 2 ] } }"); { - int result = (int)InvokeOp("JsonGetPathType", storeId, "."); - Assert.That(result, Is.EqualTo(JsonStoreScriptModule.JSON_TYPE_OBJECT)); + int result = (int)InvokeOp("JsonGetNodeType", storeId, "."); + Assert.That(result, Is.EqualTo(JsonStoreScriptModule.JSON_NODETYPE_OBJECT)); } { - int result = (int)InvokeOp("JsonGetPathType", storeId, "Hello"); - Assert.That(result, Is.EqualTo(JsonStoreScriptModule.JSON_TYPE_OBJECT)); + int result = (int)InvokeOp("JsonGetNodeType", storeId, "Hello"); + Assert.That(result, Is.EqualTo(JsonStoreScriptModule.JSON_NODETYPE_OBJECT)); } { - int result = (int)InvokeOp("JsonGetPathType", storeId, "Hello.World"); - Assert.That(result, Is.EqualTo(JsonStoreScriptModule.JSON_TYPE_ARRAY)); + int result = (int)InvokeOp("JsonGetNodeType", storeId, "Hello.World"); + Assert.That(result, Is.EqualTo(JsonStoreScriptModule.JSON_NODETYPE_ARRAY)); } { - int result = (int)InvokeOp("JsonGetPathType", storeId, "Hello.World[0]"); - Assert.That(result, Is.EqualTo(JsonStoreScriptModule.JSON_TYPE_VALUE)); + int result = (int)InvokeOp("JsonGetNodeType", storeId, "Hello.World[0]"); + Assert.That(result, Is.EqualTo(JsonStoreScriptModule.JSON_NODETYPE_VALUE)); } { - int result = (int)InvokeOp("JsonGetPathType", storeId, "Hello.World[1]"); - Assert.That(result, Is.EqualTo(JsonStoreScriptModule.JSON_TYPE_VALUE)); + int result = (int)InvokeOp("JsonGetNodeType", storeId, "Hello.World[1]"); + Assert.That(result, Is.EqualTo(JsonStoreScriptModule.JSON_NODETYPE_VALUE)); } // Test for non-existant path { - int result = (int)InvokeOp("JsonGetPathType", storeId, "foo"); - Assert.That(result, Is.EqualTo(JsonStoreScriptModule.JSON_TYPE_UNDEF)); + int result = (int)InvokeOp("JsonGetNodeType", storeId, "foo"); + Assert.That(result, Is.EqualTo(JsonStoreScriptModule.JSON_NODETYPE_UNDEF)); } // Test for non-existant store { UUID fakeStoreId = TestHelpers.ParseTail(0x500); - int result = (int)InvokeOp("JsonGetPathType", fakeStoreId, "."); - Assert.That(result, Is.EqualTo(JsonStoreScriptModule.JSON_TYPE_UNDEF)); + int result = (int)InvokeOp("JsonGetNodeType", fakeStoreId, "."); + Assert.That(result, Is.EqualTo(JsonStoreScriptModule.JSON_NODETYPE_UNDEF)); } } From 8960418e7d51a0f861e7b4cb800f007d76862c9c Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 6 Mar 2013 21:37:53 +0000 Subject: [PATCH 698/851] Add regression test for presence crossing between regions on the same simulator. Unlike a much earlier commented out version of this test, this is done in synchronous mode. --- .../Region/Framework/Scenes/ScenePresence.cs | 37 ++--- .../Scenes/Tests/ScenePresenceAgentTests.cs | 103 ------------- .../Tests/ScenePresenceCrossingTests.cs | 140 ++++++++++++++++++ .../BasicPhysicsPlugin/BasicPhysicsScene.cs | 9 +- OpenSim/Tests/Common/Mock/TestClient.cs | 4 + 5 files changed, 170 insertions(+), 123 deletions(-) create mode 100644 OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCrossingTests.cs diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 39a885cfe1..a7c7539fd8 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -1613,32 +1613,28 @@ namespace OpenSim.Region.Framework.Scenes bool controlland = (((flags & AgentManager.ControlFlags.AGENT_CONTROL_UP_NEG) != 0) || ((flags & AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_UP_NEG) != 0)); - //m_log.Debug("[CONTROL]: " +flags); // Applies a satisfying roll effect to the avatar when flying. - if (((flags & AgentManager.ControlFlags.AGENT_CONTROL_TURN_LEFT) != 0) && ((flags & AgentManager.ControlFlags.AGENT_CONTROL_YAW_POS) != 0)) + if ((flags & AgentManager.ControlFlags.AGENT_CONTROL_TURN_LEFT) != 0 && (flags & AgentManager.ControlFlags.AGENT_CONTROL_YAW_POS) != 0) { - - ApplyFlyingRoll(FLY_ROLL_RADIANS_PER_UPDATE, ((flags & AgentManager.ControlFlags.AGENT_CONTROL_UP_POS) != 0), ((flags & AgentManager.ControlFlags.AGENT_CONTROL_UP_NEG) != 0)); - - + ApplyFlyingRoll( + FLY_ROLL_RADIANS_PER_UPDATE, + (flags & AgentManager.ControlFlags.AGENT_CONTROL_UP_POS) != 0, + (flags & AgentManager.ControlFlags.AGENT_CONTROL_UP_NEG) != 0); } - else if (((flags & AgentManager.ControlFlags.AGENT_CONTROL_TURN_RIGHT) != 0) && - ((flags & AgentManager.ControlFlags.AGENT_CONTROL_YAW_NEG) != 0)) + else if ((flags & AgentManager.ControlFlags.AGENT_CONTROL_TURN_RIGHT) != 0 && + (flags & AgentManager.ControlFlags.AGENT_CONTROL_YAW_NEG) != 0) { - ApplyFlyingRoll(-FLY_ROLL_RADIANS_PER_UPDATE, ((flags & AgentManager.ControlFlags.AGENT_CONTROL_UP_POS) != 0), ((flags & AgentManager.ControlFlags.AGENT_CONTROL_UP_NEG) != 0)); - - + ApplyFlyingRoll( + -FLY_ROLL_RADIANS_PER_UPDATE, + (flags & AgentManager.ControlFlags.AGENT_CONTROL_UP_POS) != 0, + (flags & AgentManager.ControlFlags.AGENT_CONTROL_UP_NEG) != 0); } else { if (m_AngularVelocity.Z != 0) - m_AngularVelocity.Z += CalculateFlyingRollResetToZero(FLY_ROLL_RESET_RADIANS_PER_UPDATE); - - } - - - + m_AngularVelocity.Z += CalculateFlyingRollResetToZero(FLY_ROLL_RESET_RADIANS_PER_UPDATE); + } if (Flying && IsColliding && controlland) { @@ -2400,7 +2396,8 @@ namespace OpenSim.Region.Framework.Scenes /// The vector in which to move. This is relative to the rotation argument public void AddNewMovement(Vector3 vec) { -// m_log.DebugFormat("[SCENE PRESENCE]: Adding new movement {0} for {1}", vec, Name); +// m_log.DebugFormat( +// "[SCENE PRESENCE]: Adding new movement {0} with rotation {1} for {2}", vec, Rotation, Name); Vector3 direc = vec * Rotation; direc.Normalize(); @@ -2420,6 +2417,8 @@ namespace OpenSim.Region.Framework.Scenes direc *= 0.03f * 128f * SpeedModifier; +// m_log.DebugFormat("[SCENE PRESENCE]: Force to apply before modification was {0} for {1}", direc, Name); + if (PhysicsActor != null) { if (Flying) @@ -2453,6 +2452,8 @@ namespace OpenSim.Region.Framework.Scenes } } +// m_log.DebugFormat("[SCENE PRESENCE]: Setting force to apply to {0} for {1}", direc, Name); + // TODO: Add the force instead of only setting it to support multiple forces per frame? m_forceToApply = direc; } diff --git a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceAgentTests.cs b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceAgentTests.cs index 5faf131caf..bbfbbfc8b0 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceAgentTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceAgentTests.cs @@ -288,109 +288,6 @@ namespace OpenSim.Region.Framework.Scenes.Tests // ScenePresence presence = scene.GetScenePresence(agent1); // // Assert.That(presence, Is.Null, "presence is not null"); -// } - - // I'm commenting this test because it does not represent - // crossings. The Thread.Sleep's in here are not meaningful mocks, - // and they sometimes fail in panda. - // We need to talk in order to develop a test - // that really tests region crossings. There are 3 async components, - // but things are synchronous among them. So there should be - // 3 threads in here. - //[Test] -// public void T021_TestCrossToNewRegion() -// { -// TestHelpers.InMethod(); -// -// scene.RegisterRegionWithGrid(); -// scene2.RegisterRegionWithGrid(); -// -// // Adding child agent to region 1001 -// string reason; -// scene2.NewUserConnection(acd1,0, out reason); -// scene2.AddNewClient(testclient, PresenceType.User); -// -// ScenePresence presence = scene.GetScenePresence(agent1); -// presence.MakeRootAgent(new Vector3(0,unchecked(Constants.RegionSize-1),0), true); -// -// ScenePresence presence2 = scene2.GetScenePresence(agent1); -// -// // Adding neighbour region caps info to presence2 -// -// string cap = presence.ControllingClient.RequestClientInfo().CapsPath; -// presence2.AddNeighbourRegion(region1, cap); -// -// Assert.That(presence.IsChildAgent, Is.False, "Did not start root in origin region."); -// Assert.That(presence2.IsChildAgent, Is.True, "Is not a child on destination region."); -// -// // Cross to x+1 -// presence.AbsolutePosition = new Vector3(Constants.RegionSize+1,3,100); -// presence.Update(); -// -// EventWaitHandle wh = new EventWaitHandle (false, EventResetMode.AutoReset, "Crossing"); -// -// // Mimicking communication between client and server, by waiting OK from client -// // sent by TestClient.CrossRegion call. Originally, this is network comm. -// if (!wh.WaitOne(5000,false)) -// { -// presence.Update(); -// if (!wh.WaitOne(8000,false)) -// throw new ArgumentException("1 - Timeout waiting for signal/variable."); -// } -// -// // This is a TestClient specific method that fires OnCompleteMovementToRegion event, which -// // would normally be fired after receiving the reply packet from comm. done on the last line. -// testclient.CompleteMovement(); -// -// // Crossings are asynchronous -// int timer = 10; -// -// // Make sure cross hasn't already finished -// if (!presence.IsInTransit && !presence.IsChildAgent) -// { -// // If not and not in transit yet, give it some more time -// Thread.Sleep(5000); -// } -// -// // Enough time, should at least be in transit by now. -// while (presence.IsInTransit && timer > 0) -// { -// Thread.Sleep(1000); -// timer-=1; -// } -// -// Assert.That(timer,Is.GreaterThan(0),"Timed out waiting to cross 2->1."); -// Assert.That(presence.IsChildAgent, Is.True, "Did not complete region cross as expected."); -// Assert.That(presence2.IsChildAgent, Is.False, "Did not receive root status after receiving agent."); -// -// // Cross Back -// presence2.AbsolutePosition = new Vector3(-10, 3, 100); -// presence2.Update(); -// -// if (!wh.WaitOne(5000,false)) -// { -// presence2.Update(); -// if (!wh.WaitOne(8000,false)) -// throw new ArgumentException("2 - Timeout waiting for signal/variable."); -// } -// testclient.CompleteMovement(); -// -// if (!presence2.IsInTransit && !presence2.IsChildAgent) -// { -// // If not and not in transit yet, give it some more time -// Thread.Sleep(5000); -// } -// -// // Enough time, should at least be in transit by now. -// while (presence2.IsInTransit && timer > 0) -// { -// Thread.Sleep(1000); -// timer-=1; -// } -// -// Assert.That(timer,Is.GreaterThan(0),"Timed out waiting to cross 1->2."); -// Assert.That(presence2.IsChildAgent, Is.True, "Did not return from region as expected."); -// Assert.That(presence.IsChildAgent, Is.False, "Presence was not made root in old region again."); // } } } \ No newline at end of file diff --git a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCrossingTests.cs b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCrossingTests.cs new file mode 100644 index 0000000000..ef9fff56ef --- /dev/null +++ b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCrossingTests.cs @@ -0,0 +1,140 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Reflection; +using Nini.Config; +using NUnit.Framework; +using OpenMetaverse; +using OpenSim.Framework; +using OpenSim.Framework.Communications; +using OpenSim.Framework.Servers; +using OpenSim.Region.Framework.Interfaces; +using OpenSim.Region.CoreModules.Framework; +using OpenSim.Region.CoreModules.Framework.EntityTransfer; +using OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation; +using OpenSim.Tests.Common; +using OpenSim.Tests.Common.Mock; + +namespace OpenSim.Region.Framework.Scenes.Tests +{ + [TestFixture] + public class ScenePresenceCrossingTests : OpenSimTestCase + { + [TestFixtureSetUp] + public void FixtureInit() + { + // Don't allow tests to be bamboozled by asynchronous events. Execute everything on the same thread. + Util.FireAndForgetMethod = FireAndForgetMethod.RegressionTest; + } + + [TestFixtureTearDown] + public void TearDown() + { + // We must set this back afterwards, otherwise later tests will fail since they're expecting multiple + // threads. Possibly, later tests should be rewritten so none of them require async stuff (which regression + // tests really shouldn't). + Util.FireAndForgetMethod = Util.DefaultFireAndForgetMethod; + } + + [Test] + public void TestCrossOnSameSimulator() + { + TestHelpers.InMethod(); + TestHelpers.EnableLogging(); + + UUID userId = TestHelpers.ParseTail(0x1); + + EntityTransferModule etmA = new EntityTransferModule(); + EntityTransferModule etmB = new EntityTransferModule(); + LocalSimulationConnectorModule lscm = new LocalSimulationConnectorModule(); + + IConfigSource config = new IniConfigSource(); + IConfig modulesConfig = config.AddConfig("Modules"); + modulesConfig.Set("EntityTransferModule", etmA.Name); + modulesConfig.Set("SimulationServices", lscm.Name); + IConfig entityTransferConfig = config.AddConfig("EntityTransfer"); + + // In order to run a single threaded regression test we do not want the entity transfer module waiting + // for a callback from the destination scene before removing its avatar data. +// entityTransferConfig.Set("wait_for_callback", false); + + SceneHelpers sh = new SceneHelpers(); + TestScene sceneA = sh.SetupScene("sceneA", TestHelpers.ParseTail(0x100), 1000, 1000); + TestScene sceneB = sh.SetupScene("sceneB", TestHelpers.ParseTail(0x200), 1000, 999); + + SceneHelpers.SetupSceneModules(new Scene[] { sceneA, sceneB }, config, lscm); + SceneHelpers.SetupSceneModules(sceneA, config, new CapabilitiesModule(), etmA); + SceneHelpers.SetupSceneModules(sceneB, config, new CapabilitiesModule(), etmB); + + ScenePresence originalSp = SceneHelpers.AddScenePresence(sceneA, userId, sh.SceneManager); + originalSp.AbsolutePosition = new Vector3(128, 32, 10); + +// originalSp.Flying = true; + +// Console.WriteLine("First pos {0}", originalSp.AbsolutePosition); + + AgentUpdateArgs moveArgs = new AgentUpdateArgs(); + //moveArgs.BodyRotation = Quaternion.CreateFromEulers(Vector3.Zero); + moveArgs.BodyRotation = Quaternion.CreateFromEulers(new Vector3(0, 0, (float)-(Math.PI / 2))); + moveArgs.ControlFlags = (uint)AgentManager.ControlFlags.AGENT_CONTROL_AT_POS; + + originalSp.HandleAgentUpdate(originalSp.ControllingClient, moveArgs); + + sceneA.Update(1); + +// Console.WriteLine("Second pos {0}", originalSp.AbsolutePosition); + + // FIXME: This is a sufficient number of updates to for the presence to reach the northern border. + // But really we want to do this in a more robust way. + for (int i = 0; i < 100; i++) + { + sceneA.Update(1); +// Console.WriteLine("Pos {0}", originalSp.AbsolutePosition); + } + + // sceneA should now only have a child agent + ScenePresence spAfterCrossSceneA = sceneA.GetScenePresence(originalSp.UUID); + Assert.That(spAfterCrossSceneA.IsChildAgent, Is.True); + + ScenePresence spAfterCrossSceneB = sceneB.GetScenePresence(originalSp.UUID); + + // Agent remains a child until the client triggers complete movement + Assert.That(spAfterCrossSceneB.IsChildAgent, Is.True); + + TestClient sceneBTc = ((TestClient)spAfterCrossSceneB.ControllingClient); + + bool receivedCompleteMovement = false; + sceneBTc.OnReceivedMoveAgentIntoRegion += (ri, pos, look) => receivedCompleteMovement = true; + + sceneBTc.CompleteMovement(); + + Assert.That(receivedCompleteMovement, Is.True); + Assert.That(spAfterCrossSceneB.IsChildAgent, Is.False); + } + } +} \ No newline at end of file diff --git a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsScene.cs b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsScene.cs index c4b9117182..0816b7b799 100644 --- a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsScene.cs +++ b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsScene.cs @@ -102,6 +102,8 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin public override float Simulate(float timeStep) { +// Console.WriteLine("Simulating"); + float fps = 0; for (int i = 0; i < _actors.Count; ++i) { @@ -109,8 +111,11 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin Vector3 actorPosition = actor.Position; Vector3 actorVelocity = actor.Velocity; - actorPosition.X += actor.Velocity.X*timeStep; - actorPosition.Y += actor.Velocity.Y*timeStep; +// Console.WriteLine( +// "Processing actor {0}, starting pos {1}, starting vel {2}", i, actorPosition, actorVelocity); + + actorPosition.X += actor.Velocity.X * timeStep; + actorPosition.Y += actor.Velocity.Y * timeStep; if (actor.Position.Y < 0) { diff --git a/OpenSim/Tests/Common/Mock/TestClient.cs b/OpenSim/Tests/Common/Mock/TestClient.cs index 182f4d9b81..a448cc52b1 100644 --- a/OpenSim/Tests/Common/Mock/TestClient.cs +++ b/OpenSim/Tests/Common/Mock/TestClient.cs @@ -60,6 +60,8 @@ namespace OpenSim.Tests.Common.Mock public List SentImagePacketPackets { get; private set; } public List SentImageNotInDatabasePackets { get; private set; } + public event Action OnReceivedMoveAgentIntoRegion; + // disable warning: public events, part of the public API #pragma warning disable 67 @@ -566,6 +568,8 @@ namespace OpenSim.Tests.Common.Mock public virtual void MoveAgentIntoRegion(RegionInfo regInfo, Vector3 pos, Vector3 look) { + if (OnReceivedMoveAgentIntoRegion != null) + OnReceivedMoveAgentIntoRegion(regInfo, pos, look); } public virtual AgentCircuitData RequestClientInfo() From f954c53ddb009009e386a4046857cc20d0fd656c Mon Sep 17 00:00:00 2001 From: teravus Date: Wed, 6 Mar 2013 17:02:53 -0500 Subject: [PATCH 699/851] * Separate two if trees that got merged into one if tree with borked logic. --- .../Framework/Scenes/SceneObjectPart.cs | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 7cab841e73..e22cf47c20 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -4574,7 +4574,8 @@ namespace OpenSim.Region.Framework.Scenes if (ParentGroup.RootPart == this) AngularVelocity = new Vector3(0, 0, 0); } - else if (SetVD != wasVD) + + else { if (ParentGroup.Scene.CollidablePrims) { @@ -4620,9 +4621,31 @@ namespace OpenSim.Region.Framework.Scenes UpdatePhysicsSubscribedEvents(); } } - + if (SetVD) + { + // If the above logic worked (this is urgent candidate to unit tests!) + // we now have a physicsactor. + // Defensive programming calls for a check here. + // Better would be throwing an exception that could be catched by a unit test as the internal + // logic should make sure, this Physactor is always here. + if (pa != null) + { + pa.SetVolumeDetect(1); + AddFlag(PrimFlags.Phantom); // We set this flag also if VD is active + VolumeDetectActive = true; + } // m_log.Debug("Update: PHY:" + UsePhysics.ToString() + ", T:" + IsTemporary.ToString() + ", PHA:" + IsPhantom.ToString() + " S:" + CastsShadows.ToString()); + } + else if (SetVD != wasVD) + { + // Remove VolumeDetect in any case. Note, it's safe to call SetVolumeDetect as often as you like + // (mumbles, well, at least if you have infinte CPU powers :-)) + if (pa != null) + pa.SetVolumeDetect(0); + RemFlag(PrimFlags.Phantom); + VolumeDetectActive = false; + } // and last in case we have a new actor and not building if (ParentGroup != null) From 5751ecde5250484fe8e4b79ef38bfbf441e3dead Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 6 Mar 2013 23:06:00 +0000 Subject: [PATCH 700/851] Add code for testing event queue messages recevied on region cross. This is currently disabled pending an improvement in the test code to properly add avatars when an event queue module is present. --- .../EntityTransfer/EntityTransferModule.cs | 5 + .../Simulation/LocalSimulationConnector.cs | 9 +- .../Tests/ScenePresenceCrossingTests.cs | 27 ++- .../Common/Mock/TestEventQueueGetModule.cs | 178 ++++++++++++++++++ prebuild.xml | 1 + 5 files changed, 212 insertions(+), 8 deletions(-) create mode 100644 OpenSim/Tests/Common/Mock/TestEventQueueGetModule.cs diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 07c36660e8..01b1668c3b 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs @@ -1206,6 +1206,10 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer // region doesn't take it m_entityTransferStateMachine.UpdateInTransit(agent.UUID, AgentTransferState.CleaningUp); + m_log.WarnFormat( + "[ENTITY TRANSFER MODULE]: Region {0} would not accept update for agent {1} on cross attempt. Returning to original region.", + neighbourRegion.RegionName, agent.Name); + ReInstantiateScripts(agent); agent.AddToPhysicalScene(isFlying); @@ -1225,6 +1229,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer neighbourRegion.RegionHandle); return agent; } + // No turning back agent.IsChildAgent = true; diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs index 3c1807413b..a413546da8 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs @@ -219,12 +219,15 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation { // m_log.DebugFormat( // "[LOCAL SIMULATION CONNECTOR]: Found region {0} {1} to send AgentUpdate", -// s.RegionInfo.RegionName, destination.RegionHandle); +// destination.RegionName, destination.RegionID); return m_scenes[destination.RegionID].IncomingChildAgentDataUpdate(cAgentData); } -// m_log.DebugFormat("[LOCAL COMMS]: Did not find region {0} for ChildAgentUpdate", regionHandle); +// m_log.DebugFormat( +// "[LOCAL COMMS]: Did not find region {0} {1} for ChildAgentUpdate", +// destination.RegionName, destination.RegionID); + return false; } @@ -239,7 +242,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation // note that we really don't need the GridRegion for this call foreach (Scene s in m_scenes.Values) { - //m_log.Debug("[LOCAL COMMS]: Found region to send ChildAgentUpdate"); +// m_log.Debug("[LOCAL COMMS]: Found region to send ChildAgentUpdate"); s.IncomingChildAgentDataUpdate(cAgentData); } diff --git a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCrossingTests.cs b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCrossingTests.cs index ef9fff56ef..81a2fcc74d 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCrossingTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCrossingTests.cs @@ -26,6 +26,7 @@ */ using System; +using System.Collections.Generic; using System.Reflection; using Nini.Config; using NUnit.Framework; @@ -65,10 +66,11 @@ namespace OpenSim.Region.Framework.Scenes.Tests public void TestCrossOnSameSimulator() { TestHelpers.InMethod(); - TestHelpers.EnableLogging(); +// TestHelpers.EnableLogging(); UUID userId = TestHelpers.ParseTail(0x1); +// TestEventQueueGetModule eqmA = new TestEventQueueGetModule(); EntityTransferModule etmA = new EntityTransferModule(); EntityTransferModule etmB = new EntityTransferModule(); LocalSimulationConnectorModule lscm = new LocalSimulationConnectorModule(); @@ -77,7 +79,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests IConfig modulesConfig = config.AddConfig("Modules"); modulesConfig.Set("EntityTransferModule", etmA.Name); modulesConfig.Set("SimulationServices", lscm.Name); - IConfig entityTransferConfig = config.AddConfig("EntityTransfer"); +// IConfig entityTransferConfig = config.AddConfig("EntityTransfer"); // In order to run a single threaded regression test we do not want the entity transfer module waiting // for a callback from the destination scene before removing its avatar data. @@ -89,6 +91,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests SceneHelpers.SetupSceneModules(new Scene[] { sceneA, sceneB }, config, lscm); SceneHelpers.SetupSceneModules(sceneA, config, new CapabilitiesModule(), etmA); +// SceneHelpers.SetupSceneModules(sceneA, config, new CapabilitiesModule(), etmA, eqmA); SceneHelpers.SetupSceneModules(sceneB, config, new CapabilitiesModule(), etmB); ScenePresence originalSp = SceneHelpers.AddScenePresence(sceneA, userId, sh.SceneManager); @@ -98,6 +101,8 @@ namespace OpenSim.Region.Framework.Scenes.Tests // Console.WriteLine("First pos {0}", originalSp.AbsolutePosition); +// eqmA.ClearEvents(); + AgentUpdateArgs moveArgs = new AgentUpdateArgs(); //moveArgs.BodyRotation = Quaternion.CreateFromEulers(Vector3.Zero); moveArgs.BodyRotation = Quaternion.CreateFromEulers(new Vector3(0, 0, (float)-(Math.PI / 2))); @@ -117,6 +122,18 @@ namespace OpenSim.Region.Framework.Scenes.Tests // Console.WriteLine("Pos {0}", originalSp.AbsolutePosition); } + // Need to sort processing of EnableSimulator message on adding scene presences before we can test eqm + // messages +// Dictionary> eqmEvents = eqmA.Events; +// +// Assert.That(eqmEvents.Count, Is.EqualTo(1)); +// Assert.That(eqmEvents.ContainsKey(originalSp.UUID), Is.True); +// +// List spEqmEvents = eqmEvents[originalSp.UUID]; +// +// Assert.That(spEqmEvents.Count, Is.EqualTo(1)); +// Assert.That(spEqmEvents[0].Name, Is.EqualTo("CrossRegion")); + // sceneA should now only have a child agent ScenePresence spAfterCrossSceneA = sceneA.GetScenePresence(originalSp.UUID); Assert.That(spAfterCrossSceneA.IsChildAgent, Is.True); @@ -128,12 +145,12 @@ namespace OpenSim.Region.Framework.Scenes.Tests TestClient sceneBTc = ((TestClient)spAfterCrossSceneB.ControllingClient); - bool receivedCompleteMovement = false; - sceneBTc.OnReceivedMoveAgentIntoRegion += (ri, pos, look) => receivedCompleteMovement = true; + int agentMovementCompleteReceived = 0; + sceneBTc.OnReceivedMoveAgentIntoRegion += (ri, pos, look) => agentMovementCompleteReceived++; sceneBTc.CompleteMovement(); - Assert.That(receivedCompleteMovement, Is.True); + Assert.That(agentMovementCompleteReceived, Is.EqualTo(1)); Assert.That(spAfterCrossSceneB.IsChildAgent, Is.False); } } diff --git a/OpenSim/Tests/Common/Mock/TestEventQueueGetModule.cs b/OpenSim/Tests/Common/Mock/TestEventQueueGetModule.cs new file mode 100644 index 0000000000..67070196ae --- /dev/null +++ b/OpenSim/Tests/Common/Mock/TestEventQueueGetModule.cs @@ -0,0 +1,178 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Net; +using System.Reflection; +using System.Threading; +using log4net; +using Nini.Config; +using Mono.Addins; +using OpenMetaverse; +using OpenMetaverse.StructuredData; +using OpenSim.Framework; +using OpenSim.Framework.Servers; +using OpenSim.Region.Framework.Interfaces; +using OpenSim.Region.Framework.Scenes; + +namespace OpenSim.Tests.Common +{ + public class TestEventQueueGetModule : IEventQueue, INonSharedRegionModule + { + public class Event + { + public string Name { get; set; } + public object[] Args { get; set; } + + public Event(string name, object[] args) + { + name = Name; + args = Args; + } + } + + public Dictionary> Events { get; set; } + + public void Initialise(IConfigSource source) {} + + public void Close() {} + + public void AddRegion(Scene scene) + { + Events = new Dictionary>(); + scene.RegisterModuleInterface(this); + } + + public void RemoveRegion (Scene scene) {} + + public void RegionLoaded (Scene scene) {} + + public string Name { get { return "TestEventQueueGetModule"; } } + + public Type ReplaceableInterface { get { return null; } } + + private void AddEvent(UUID avatarID, string name, params object[] args) + { + Console.WriteLine("Adding event {0} for {1}", name, avatarID); + + List avEvents; + + if (!Events.ContainsKey(avatarID)) + { + avEvents = new List(); + Events[avatarID] = avEvents; + } + else + { + avEvents = Events[avatarID]; + } + + avEvents.Add(new Event(name, args)); + } + + public void ClearEvents() + { + if (Events != null) + Events.Clear(); + } + + public bool Enqueue(OSD o, UUID avatarID) + { + AddEvent(avatarID, "Enqueue", o); + return true; + } + + public void DisableSimulator(ulong handle, UUID avatarID) + { + AddEvent(avatarID, "DisableSimulator", handle); + } + + public void EnableSimulator (ulong handle, IPEndPoint endPoint, UUID avatarID) + { + AddEvent(avatarID, "EnableSimulator", handle); + } + + public void EstablishAgentCommunication (UUID avatarID, IPEndPoint endPoint, string capsPath) + { + AddEvent(avatarID, "EstablishAgentCommunication", endPoint, capsPath); + } + + public void TeleportFinishEvent (ulong regionHandle, byte simAccess, IPEndPoint regionExternalEndPoint, uint locationID, uint flags, string capsURL, UUID agentID) + { + AddEvent(agentID, "TeleportFinishEvent", regionHandle, simAccess, regionExternalEndPoint, locationID, flags, capsURL); + } + + public void CrossRegion (ulong handle, Vector3 pos, Vector3 lookAt, IPEndPoint newRegionExternalEndPoint, string capsURL, UUID avatarID, UUID sessionID) + { + AddEvent(avatarID, "CrossRegion", handle, pos, lookAt, newRegionExternalEndPoint, capsURL, sessionID); + } + + public void ChatterboxInvitation( + UUID sessionID, string sessionName, UUID fromAgent, string message, UUID toAgent, string fromName, + byte dialog, uint timeStamp, bool offline, int parentEstateID, Vector3 position, uint ttl, + UUID transactionID, bool fromGroup, byte[] binaryBucket) + { + AddEvent( + toAgent, "ChatterboxInvitation", sessionID, sessionName, fromAgent, message, toAgent, fromName, dialog, + timeStamp, offline, parentEstateID, position, ttl, transactionID, fromGroup, binaryBucket); + } + + public void ChatterBoxSessionAgentListUpdates (UUID sessionID, UUID fromAgent, UUID toAgent, bool canVoiceChat, bool isModerator, bool textMute) + { + AddEvent(toAgent, "ChatterBoxSessionAgentListUpdates", sessionID, fromAgent, canVoiceChat, isModerator, textMute); + } + + public void ParcelProperties (OpenMetaverse.Messages.Linden.ParcelPropertiesMessage parcelPropertiesMessage, UUID avatarID) + { + AddEvent(avatarID, "ParcelProperties", parcelPropertiesMessage); + } + + public void GroupMembership (OpenMetaverse.Packets.AgentGroupDataUpdatePacket groupUpdate, UUID avatarID) + { + AddEvent(avatarID, "GroupMembership", groupUpdate); + } + + public OSD ScriptRunningEvent (UUID objectID, UUID itemID, bool running, bool mono) + { + Console.WriteLine("ONE"); + throw new System.NotImplementedException (); + } + + public OSD BuildEvent (string eventName, OSD eventBody) + { + Console.WriteLine("TWO"); + throw new System.NotImplementedException (); + } + + public void partPhysicsProperties (uint localID, byte physhapetype, float density, float friction, float bounce, float gravmod, UUID avatarID) + { + AddEvent(avatarID, "partPhysicsProperties", localID, physhapetype, density, friction, bounce, gravmod); + } + } +} \ No newline at end of file diff --git a/prebuild.xml b/prebuild.xml index 2b8e9634e0..00451283a8 100644 --- a/prebuild.xml +++ b/prebuild.xml @@ -2833,6 +2833,7 @@ + From 6706e189d5b1c04e4931c96b1a9c233f3606b71a Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 6 Mar 2013 23:11:32 +0000 Subject: [PATCH 701/851] minor: remove some completely unused string local vars added recently in commit 984faf2 --- .../Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs index 3ccf9f4c41..b6a74819d7 100644 --- a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs @@ -324,7 +324,6 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments // Remove any previous attachments List existingAttachments = sp.GetAttachments(attachmentPt); - string existingAttachmentScriptState = null; // At the moment we can only deal with a single attachment if (existingAttachments.Count != 0 && existingAttachments[0].FromItemID != UUID.Zero) @@ -849,7 +848,6 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments // Remove any previous attachments List attachments = sp.GetAttachments(attachmentPt); - string previousAttachmentScriptedState = null; // At the moment we can only deal with a single attachment if (attachments.Count != 0) From 2b0056eaca5ef6fbb7402787367ecdcc783432a2 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Thu, 7 Mar 2013 06:40:39 -0800 Subject: [PATCH 702/851] Fixed inconsistency in comments. Thanks Ai Austin. --- bin/Robust.HG.ini.example | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 7746ebcab5..409ad61511 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -26,12 +26,12 @@ ; Set path to directory for plugin registry. Information ; about the registered repositories and installed plugins ; will be stored here - ; The Robust.exe process must hvae R/W access to the location + ; The Robust.exe process must have R/W access to the location RegistryLocation = "." ; Modular configurations ; Set path to directory for modular ini files... - ; The Robust.exe process must hvae R/W access to the location + ; The Robust.exe process must have R/W access to the location ConfigDirectory = "/home/opensim/etc/Configs" [ServiceList] @@ -171,7 +171,7 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ;; Allow Hyperlinks to be created at the console HypergridLinker = true - ;; If you have this set under [Startup], no need to set it here, leave it commented + ;; If you have this set under [Hypergrid], no need to set it here, leave it commented ; GatekeeperURI = "http://127.0.0.1:8002" @@ -326,7 +326,7 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ; HasProxy = false ; Defaults for the users, if none is specified in the useraccounts table entry (ServiceURLs) - ;; If you have Gatekeeper set under [Startup], no need to set it here, leave it commented + ;; If you have Gatekeeper set under [Hypergrid], no need to set it here, leave it commented ; GatekeeperURI = "http://127.0.0.1:8002" SRV_HomeURI = "http://127.0.0.1:8002" @@ -436,7 +436,7 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset AuthenticationService = "OpenSim.Services.Connectors.dll:AuthenticationServicesConnector" SimulationService ="OpenSim.Services.Connectors.dll:SimulationServiceConnector" ; how does the outside world reach me? This acts as public key too. - ;; If you have GatekeeperURI set under [Startup], no need to set it here, leave it commented + ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented ; ExternalName = "http://127.0.0.1:8002" ; Does this grid allow incoming links to any region in it? @@ -531,7 +531,7 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService" AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService" - ;; Can overwrite the default in [Startup], but probably shouldn't + ;; Can overwrite the default in [Hypergrid], but probably shouldn't ; HomeURI = "http://127.0.0.1:8002" ; * The interface that local users get when they are in other grids. @@ -542,7 +542,7 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGAssetService" UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService" - ;; Can overwrite the default in [Startup], but probably shouldn't + ;; Can overwrite the default in [Hypergrid], but probably shouldn't ; HomeURI = "http://127.0.0.1:8002" ;; The asset types that this grid can export to / import from other grids. @@ -583,7 +583,7 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService" ;; What is the HomeURI of users associated with this grid? - ;; Can overwrite the default in [Startup], but probably shouldn't + ;; Can overwrite the default in [Hypergrid], but probably shouldn't ; HomeURI = "http://127.0.0.1:8002" From 2f1aa87eb522859a81786a390d3189c965128c31 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Thu, 7 Mar 2013 08:02:48 -0800 Subject: [PATCH 703/851] One more comment inconsistency fixed. --- bin/Robust.HG.ini.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 409ad61511..581c31d450 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -326,7 +326,7 @@ HGAssetServiceConnector = "HGAssetService@8002/OpenSim.Server.Handlers.dll:Asset ; HasProxy = false ; Defaults for the users, if none is specified in the useraccounts table entry (ServiceURLs) - ;; If you have Gatekeeper set under [Hypergrid], no need to set it here, leave it commented + ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented ; GatekeeperURI = "http://127.0.0.1:8002" SRV_HomeURI = "http://127.0.0.1:8002" From 33dab49d22002b9d24b2c286d662dca1755ace30 Mon Sep 17 00:00:00 2001 From: teravus Date: Thu, 7 Mar 2013 19:19:36 -0500 Subject: [PATCH 704/851] * Just another one of those new packet blocks causing a null ref. Defaulting to zero length array..... --- OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 6742d99a8f..bae79523ab 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs @@ -4581,7 +4581,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP rinfopack.AgentData = new RegionInfoPacket.AgentDataBlock(); rinfopack.AgentData.AgentID = AgentId; rinfopack.AgentData.SessionID = SessionId; - + rinfopack.RegionInfo3 = new RegionInfoPacket.RegionInfo3Block[0]; OutPacket(rinfopack, ThrottleOutPacketType.Task); } From 5097437e1174d19d3dcb68e936581e60e4ef49cc Mon Sep 17 00:00:00 2001 From: teravus Date: Fri, 8 Mar 2013 19:32:47 -0500 Subject: [PATCH 705/851] * Apparently, sometimes texture entries come in from the wire with no default texture defined.. so apply better fallback protection against that. The net result is clients will have their selected textures set when they would have previously had an ignored exception. --- .../Region/Framework/Scenes/SceneObjectPart.cs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index cce8b21b6e..3e9a6fa217 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -4503,8 +4503,25 @@ namespace OpenSim.Region.Framework.Scenes Changed changeFlags = 0; + Primitive.TextureEntryFace fallbackNewFace = newTex.DefaultTexture; + Primitive.TextureEntryFace fallbackOldFace = oldTex.DefaultTexture; + + // On Incoming packets, sometimes newText.DefaultTexture is null. The assumption is that all + // other prim-sides are set, but apparently that's not always the case. Lets assume packet/data corruption at this point. + if (fallbackNewFace == null) + { + fallbackNewFace = new Primitive.TextureEntry(Util.BLANK_TEXTURE_UUID).CreateFace(0); + newTex.DefaultTexture = fallbackNewFace; + } + if (fallbackOldFace == null) + { + fallbackOldFace = new Primitive.TextureEntry(Util.BLANK_TEXTURE_UUID).CreateFace(0); + oldTex.DefaultTexture = fallbackOldFace; + } + for (int i = 0 ; i < GetNumberOfSides(); i++) { + Primitive.TextureEntryFace newFace = newTex.DefaultTexture; Primitive.TextureEntryFace oldFace = oldTex.DefaultTexture; From 1120bcf123b5aa159e966a80254794f6af66f2a3 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sat, 9 Mar 2013 14:15:14 -0800 Subject: [PATCH 706/851] BulletSim: remove the ability for avatars to fly off the edge of regions when there are no region neighbors. Add some terrain location processing routines to support above. --- .../Physics/BulletSPlugin/BSCharacter.cs | 29 +++-- .../Region/Physics/BulletSPlugin/BSParam.cs | 5 + .../Physics/BulletSPlugin/BSTerrainManager.cs | 100 +++++++++++++++++- .../Physics/BulletSPlugin/BSTerrainMesh.cs | 6 +- 4 files changed, 117 insertions(+), 23 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs index f442ca22df..e208d3a9e0 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs @@ -205,7 +205,7 @@ public sealed class BSCharacter : BSPhysObject // errors can creap in and the avatar will slowly float off in some direction. // So, the problem is that, when an avatar is standing, we cannot tell creaping error // from real pushing. - // The code below keeps setting the velocity to zero hoping the world will keep pushing. + // The code below uses whether the collider is static or moving to decide whether to zero motion. _velocityMotor.Step(timeStep); @@ -244,6 +244,7 @@ public sealed class BSCharacter : BSPhysObject } else { + // Supposed to be moving. OMV.Vector3 stepVelocity = _velocityMotor.CurrentValue; if (Friction != BSParam.AvatarFriction) @@ -276,8 +277,8 @@ public sealed class BSCharacter : BSPhysObject }); } - // Decide of the character is colliding with a low object and compute a force to pop the - // avatar up so it has a chance of walking up and over the low object. + // Decide if the character is colliding with a low object and compute a force to pop the + // avatar up so it can walk up and over the low objects. private OMV.Vector3 WalkUpStairs() { OMV.Vector3 ret = OMV.Vector3.Zero; @@ -476,17 +477,19 @@ public sealed class BSCharacter : BSPhysObject if (!PhysicsScene.TerrainManager.IsWithinKnownTerrain(RawPosition)) { // The character is out of the known/simulated area. - // Upper levels of code will handle the transition to other areas so, for - // the time, we just ignore the position. - return ret; + // Force the avatar position to be within known. ScenePresence will use the position + // plus the velocity to decide if the avatar is moving out of the region. + RawPosition = PhysicsScene.TerrainManager.ClampPositionIntoKnownTerrain(RawPosition); + DetailLog("{0},BSCharacter.PositionSanityCheck,notWithinKnownTerrain,clampedPos={1}", LocalID, RawPosition); + return true; } // If below the ground, move the avatar up float terrainHeight = PhysicsScene.TerrainManager.GetTerrainHeightAtXYZ(RawPosition); if (Position.Z < terrainHeight) { - DetailLog("{0},BSCharacter.PositionAdjustUnderGround,call,pos={1},terrain={2}", LocalID, _position, terrainHeight); - _position.Z = terrainHeight + 2.0f; + DetailLog("{0},BSCharacter.PositionSanityCheck,adjustForUnderGround,pos={1},terrain={2}", LocalID, _position, terrainHeight); + _position.Z = terrainHeight + BSParam.AvatarBelowGroundUpCorrectionMeters; ret = true; } if ((CurrentCollisionFlags & CollisionFlags.BS_FLOATS_ON_WATER) != 0) @@ -806,14 +809,7 @@ public sealed class BSCharacter : BSPhysObject private void AddForce(OMV.Vector3 force, bool pushforce, bool inTaintTime) { if (force.IsFinite()) { - float magnitude = force.Length(); - if (magnitude > BSParam.MaxAddForceMagnitude) - { - // Force has a limit - force = force / magnitude * BSParam.MaxAddForceMagnitude; - } - - OMV.Vector3 addForce = force; + OMV.Vector3 addForce = Util.ClampV(force, BSParam.MaxAddForceMagnitude); // DetailLog("{0},BSCharacter.addForce,call,force={1}", LocalID, addForce); PhysicsScene.TaintedObject(inTaintTime, "BSCharacter.AddForce", delegate() @@ -902,6 +898,7 @@ public sealed class BSCharacter : BSPhysObject // Do some sanity checking for the avatar. Make sure it's above ground and inbounds. if (PositionSanityCheck(true)) { + DetailLog("{0},BSCharacter.UpdateProperties,updatePosForSanity,pos={1}", LocalID, _position); entprop.Position = _position; } diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs index fa581090c6..2af84684fc 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs @@ -107,6 +107,7 @@ public static class BSParam public static float AvatarCapsuleDepth { get; private set; } public static float AvatarCapsuleHeight { get; private set; } public static float AvatarContactProcessingThreshold { get; private set; } + public static float AvatarBelowGroundUpCorrectionMeters { get; private set; } public static float AvatarStepHeight { get; private set; } public static float AvatarStepApproachFactor { get; private set; } public static float AvatarStepForceFactor { get; private set; } @@ -497,6 +498,10 @@ public static class BSParam 0.1f, (s) => { return AvatarContactProcessingThreshold; }, (s,v) => { AvatarContactProcessingThreshold = v; } ), + new ParameterDefn("AvatarBelowGroundUpCorrectionMeters", "Meters to move avatar up if it seems to be below ground", + 1.0f, + (s) => { return AvatarBelowGroundUpCorrectionMeters; }, + (s,v) => { AvatarBelowGroundUpCorrectionMeters = v; } ), new ParameterDefn("AvatarStepHeight", "Height of a step obstacle to consider step correction", 0.3f, (s) => { return AvatarStepHeight; }, diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSTerrainManager.cs b/OpenSim/Region/Physics/BulletSPlugin/BSTerrainManager.cs index 2e9db39f73..e8040d856b 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSTerrainManager.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSTerrainManager.cs @@ -337,6 +337,54 @@ public sealed class BSTerrainManager : IDisposable return GetTerrainPhysicalAtXYZ(pos, out physTerrain, out terrainBaseXYZ); } + // Return a new position that is over known terrain if the position is outside our terrain. + public Vector3 ClampPositionIntoKnownTerrain(Vector3 pPos) + { + Vector3 ret = pPos; + + // Can't do this function if we don't know about any terrain. + if (m_terrains.Count == 0) + return ret; + + int loopPrevention = 5; + Vector3 terrainBaseXYZ; + BSTerrainPhys physTerrain; + while (!GetTerrainPhysicalAtXYZ(ret, out physTerrain, out terrainBaseXYZ)) + { + // The passed position is not within a known terrain area. + + // First, base addresses are never negative so correct for that possible problem. + if (ret.X < 0f || ret.Y < 0f) + { + if (ret.X < 0f) + ret.X = 0f; + if (ret.Y < 0f) + ret.Y = 0f; + DetailLog("{0},BSTerrainManager.ClampPositionToKnownTerrain,zeroingNegXorY,oldPos={1},newPos={2}", + BSScene.DetailLogZero, pPos, ret); + } + else + { + // Must be off the top of a region. Find an adjacent region to move into. + Vector3 adjacentTerrainBase = FindAdjacentTerrainBase(terrainBaseXYZ); + + ret.X = Math.Min(ret.X, adjacentTerrainBase.X + DefaultRegionSize.X); + ret.Y = Math.Min(ret.Y, adjacentTerrainBase.Y + DefaultRegionSize.Y); + DetailLog("{0},BSTerrainManager.ClampPositionToKnownTerrain,findingAdjacentRegion,adjacentRegBase={1},oldPos={2},newPos={3}", + BSScene.DetailLogZero, adjacentTerrainBase, pPos, ret); + } + if (loopPrevention-- < 0f) + { + // The 'while' is a little dangerous so this prevents looping forever if the + // mapping of the terrains ever gets messed up (like nothing at <0,0>) or + // the list of terrains is in transition. + DetailLog("{0},BSTerrainManager.ClampPositionToKnownTerrain,suppressingFindAdjacentRegionLoop", BSScene.DetailLogZero); + break; + } + } + return ret; + } + // Given an X and Y, find the height of the terrain. // Since we could be handling multiple terrains for a mega-region, // the base of the region is calcuated assuming all regions are @@ -400,18 +448,60 @@ public sealed class BSTerrainManager : IDisposable // the descriptor class and the 'base' fo the addresses therein. private bool GetTerrainPhysicalAtXYZ(Vector3 pos, out BSTerrainPhys outPhysTerrain, out Vector3 outTerrainBase) { - int offsetX = ((int)(pos.X / (int)DefaultRegionSize.X)) * (int)DefaultRegionSize.X; - int offsetY = ((int)(pos.Y / (int)DefaultRegionSize.Y)) * (int)DefaultRegionSize.Y; - Vector3 terrainBaseXYZ = new Vector3(offsetX, offsetY, 0f); + bool ret = false; + + Vector3 terrainBaseXYZ = Vector3.Zero; + if (pos.X < 0f || pos.Y < 0f) + { + // We don't handle negative addresses so just make up a base that will not be found. + terrainBaseXYZ = new Vector3(-DefaultRegionSize.X, -DefaultRegionSize.Y, 0f); + } + else + { + int offsetX = ((int)(pos.X / (int)DefaultRegionSize.X)) * (int)DefaultRegionSize.X; + int offsetY = ((int)(pos.Y / (int)DefaultRegionSize.Y)) * (int)DefaultRegionSize.Y; + terrainBaseXYZ = new Vector3(offsetX, offsetY, 0f); + } BSTerrainPhys physTerrain = null; lock (m_terrains) { - m_terrains.TryGetValue(terrainBaseXYZ, out physTerrain); + ret = m_terrains.TryGetValue(terrainBaseXYZ, out physTerrain); } outTerrainBase = terrainBaseXYZ; outPhysTerrain = physTerrain; - return (physTerrain != null); + return ret; + } + + // Given a terrain base, return a terrain base for a terrain that is closer to <0,0> than + // this one. Usually used to return an out of bounds object to a known place. + private Vector3 FindAdjacentTerrainBase(Vector3 pTerrainBase) + { + Vector3 ret = pTerrainBase; + ret.Z = 0f; + lock (m_terrains) + { + // Once down to the <0,0> region, we have to be done. + while (ret.X > 0f && ret.Y > 0f) + { + if (ret.X > 0f) + { + ret.X = Math.Max(0f, ret.X - DefaultRegionSize.X); + DetailLog("{0},BSTerrainManager.FindAdjacentTerrainBase,reducingX,terrainBase={1}", BSScene.DetailLogZero, ret); + if (m_terrains.ContainsKey(ret)) + break; + } + if (ret.Y > 0f) + { + ret.Y = Math.Max(0f, ret.Y - DefaultRegionSize.Y); + DetailLog("{0},BSTerrainManager.FindAdjacentTerrainBase,reducingY,terrainBase={1}", BSScene.DetailLogZero, ret); + if (m_terrains.ContainsKey(ret)) + break; + } + } + } + + return ret; } // Although no one seems to check this, I do support combining. diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSTerrainMesh.cs b/OpenSim/Region/Physics/BulletSPlugin/BSTerrainMesh.cs index d7e800d933..57a5ff2a6f 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSTerrainMesh.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSTerrainMesh.cs @@ -215,7 +215,8 @@ public sealed class BSTerrainMesh : BSTerrainPhys float magX = (float)sizeX / extentX; float magY = (float)sizeY / extentY; - physicsScene.DetailLog("{0},BSTerrainMesh.ConvertHeightMapToMesh,totVert={1},totInd={2},extentBase={3},magX={4},magY={5}", + if (physicsScene != null) + physicsScene.DetailLog("{0},BSTerrainMesh.ConvertHeightMapToMesh,totVert={1},totInd={2},extentBase={3},magX={4},magY={5}", BSScene.DetailLogZero, totalVertices, totalIndices, extentBase, magX, magY); float minHeight = float.MaxValue; // Note that sizeX+1 vertices are created since there is land between this and the next region. @@ -257,7 +258,8 @@ public sealed class BSTerrainMesh : BSTerrainPhys } catch (Exception e) { - physicsScene.Logger.ErrorFormat("{0} Failed conversion of heightmap to mesh. For={1}/{2}, e={3}", + if (physicsScene != null) + physicsScene.Logger.ErrorFormat("{0} Failed conversion of heightmap to mesh. For={1}/{2}, e={3}", LogHeader, physicsScene.RegionName, extentBase, e); } From 13f3bcae9454041e056df5e37d621ffda2c7a002 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sun, 10 Mar 2013 22:24:34 -0700 Subject: [PATCH 707/851] Update comment about setting physics=BulletSimN as the C# Bullet version has been wrapped into one BulletSim and the physics engine selection is now done as specified in OpenSimDefaults.ini. --- bin/OpenSim.ini.example | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index eab1fce06a..e078e86807 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -210,13 +210,12 @@ ;; Choose one of the physics engines below ;# {physics} {} {Select physics engine} {OpenDynamicsEngine BulletSim basicphysics POS} OpenDynamicsEngine ;; OpenDynamicsEngine is by some distance the most developed physics engine - ;; BulletSim is incomplete and experimental but in active development. BulletSimN is a purely C# version of BulletSim. + ;; BulletSim is experimental and in active development. ;; basicphysics effectively does not model physics at all, making all ;; objects phantom. ;; Default is OpenDynamicsEngine ; physics = OpenDynamicsEngine ; physics = BulletSim - ; physics = BulletSimN ; physics = basicphysics ; physics = POS From e898a5fec5b78fe428ec10e1cd94cc717f5ac5a7 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Mon, 11 Mar 2013 22:42:27 +0000 Subject: [PATCH 708/851] minor: Remove mono compiler warnings in EventQueueTests --- .../Linden/Caps/EventQueue/Tests/EventQueueTests.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/Tests/EventQueueTests.cs b/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/Tests/EventQueueTests.cs index ed8ec16a38..141af8a937 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/Tests/EventQueueTests.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/Tests/EventQueueTests.cs @@ -49,8 +49,10 @@ namespace OpenSim.Region.ClientStack.Linden.Tests private TestScene m_scene; [SetUp] - public void SetUp() + public override void SetUp() { + base.SetUp(); + uint port = 9999; uint sslPort = 9998; From be686f80a354103cd6630cd8f4e5fb40a4093549 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Mon, 11 Mar 2013 23:01:07 +0000 Subject: [PATCH 709/851] minor: Remove mono compiler warnings from LSL_ApiHttpTests --- OpenSim/Region/ScriptEngine/Shared/Tests/LSL_ApiHttpTests.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Tests/LSL_ApiHttpTests.cs b/OpenSim/Region/ScriptEngine/Shared/Tests/LSL_ApiHttpTests.cs index b0baa1ce84..ab44e381a3 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Tests/LSL_ApiHttpTests.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Tests/LSL_ApiHttpTests.cs @@ -209,7 +209,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests += (itemId, evp) => m_lslApi.llHTTPResponse(evp.Params[0].ToString(), 200, testResponse); // Console.WriteLine("Trying {0}", returnedUri); - HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(returnedUri); AssertHttpResponse(returnedUri, testResponse); From 0c6268fe5606c197d99c81a5e84a84e667e28fe8 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Mon, 11 Mar 2013 23:15:13 +0000 Subject: [PATCH 710/851] minor: remove mono compiler warning in SceneObjectUndoRedoTests --- .../Region/Framework/Scenes/Tests/SceneObjectUndoRedoTests.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectUndoRedoTests.cs b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectUndoRedoTests.cs index 96973de181..4883ae7cf5 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectUndoRedoTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectUndoRedoTests.cs @@ -110,8 +110,8 @@ namespace OpenSim.Region.Framework.Scenes.Tests Vector3 firstSize = new Vector3(2, 3, 4); Vector3 secondSize = new Vector3(5, 6, 7); - Vector3 thirdSize = new Vector3(8, 9, 10); - Vector3 fourthSize = new Vector3(11, 12, 13); +// Vector3 thirdSize = new Vector3(8, 9, 10); +// Vector3 fourthSize = new Vector3(11, 12, 13); Scene scene = new SceneHelpers().SetupScene(); scene.MaxUndoCount = 20; From c43d4b557267547d07f6c90dc7e335ce4f7e07be Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Tue, 12 Mar 2013 22:16:09 +0000 Subject: [PATCH 711/851] Improve teleport cancellation in some circumstances, though cancelling teleports is still not recommended. Previously, hitting the cancel button on a teleport would cancel on the client side but the request was ignored on the server side. Cancel would still work if the teleport failed in the early stages (e.g. because the destination never replied to early CreateAgent and UpdateAgent messages). But if the teleport still completed after a delay here or later on, the viewer would become confused (usual symptom appears to be avatar being unable to move/reteleport). This commit makes OpenSimulator obey cancellations which are received before it sends the TeleportFinish event queue message and does proper cleanup. But cancellations received after this (which can happen even though the cancel button is removed as this messages comes on a different thread) can still result in a frozen avatar. This looks extremely difficult and impossible to fix. I can replicate the same problem on the Linden Lab grid by hitting cancel immediately after a teleport starts (a teleport which would otherwise quickly succeed). --- .../EntityTransfer/EntityTransferModule.cs | 59 ++++++++- .../EntityTransferStateMachine.cs | 124 ++++++++++++++---- 2 files changed, 149 insertions(+), 34 deletions(-) diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 01b1668c3b..34f09240a8 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs @@ -148,6 +148,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer protected virtual void OnNewClient(IClientAPI client) { + client.OnTeleportCancel += OnClientCancelTeleport; client.OnTeleportHomeRequest += TeleportHome; client.OnTeleportLandmarkRequest += RequestTeleportLandmark; } @@ -168,6 +169,14 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer #region Agent Teleports + private void OnClientCancelTeleport(IClientAPI client) + { + m_entityTransferStateMachine.UpdateInTransit(client.AgentId, AgentTransferState.Cancelling); + + m_log.DebugFormat( + "[ENTITY TRANSFER MODULE]: Received teleport cancel request from {0} in {1}", client.Name, Scene.Name); + } + public void Teleport(ScenePresence sp, ulong regionHandle, Vector3 position, Vector3 lookAt, uint teleportFlags) { if (sp.Scene.Permissions.IsGridGod(sp.UUID)) @@ -567,6 +576,15 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer return; } + if (m_entityTransferStateMachine.GetAgentTransferState(sp.UUID) == AgentTransferState.Cancelling) + { + m_log.DebugFormat( + "[ENTITY TRANSFER MODULE]: Cancelled teleport of {0} to {1} from {2} after CreateAgent on client request", + sp.Name, finalDestination.RegionName, sp.Scene.Name); + + return; + } + // Past this point we have to attempt clean up if the teleport fails, so update transfer state. m_entityTransferStateMachine.UpdateInTransit(sp.UUID, AgentTransferState.Transferring); @@ -631,7 +649,16 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer return; } - sp.ControllingClient.SendTeleportProgress(teleportFlags | (uint)TeleportFlags.DisableCancel, "sending_dest"); + if (m_entityTransferStateMachine.GetAgentTransferState(sp.UUID) == AgentTransferState.Cancelling) + { + m_log.DebugFormat( + "[ENTITY TRANSFER MODULE]: Cancelled teleport of {0} to {1} from {2} after UpdateAgent on client request", + sp.Name, finalDestination.RegionName, sp.Scene.Name); + + CleanupAbortedInterRegionTeleport(sp, finalDestination); + + return; + } m_log.DebugFormat( "[ENTITY TRANSFER MODULE]: Sending new CAPS seed url {0} from {1} to {2}", @@ -714,14 +741,19 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer // } } - protected virtual void Fail(ScenePresence sp, GridRegion finalDestination, bool logout) + /// + /// Clean up an inter-region teleport that did not complete, either because of simulator failure or cancellation. + /// + /// + /// All operations here must be idempotent so that we can call this method at any point in the teleport process + /// up until we send the TeleportFinish event quene event to the viewer. + /// + /// + /// + protected virtual void CleanupAbortedInterRegionTeleport(ScenePresence sp, GridRegion finalDestination) { m_entityTransferStateMachine.UpdateInTransit(sp.UUID, AgentTransferState.CleaningUp); - // Client never contacted destination. Let's restore everything back - sp.ControllingClient.SendTeleportFailed("Problems connecting to destination."); - - // Fail. Reset it back sp.IsChildAgent = false; ReInstantiateScripts(sp); @@ -729,7 +761,20 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer // Finally, kill the agent we just created at the destination. Scene.SimulationService.CloseAgent(finalDestination, sp.UUID); + } + /// + /// Signal that the inter-region teleport failed and perform cleanup. + /// + /// + /// + /// + protected virtual void Fail(ScenePresence sp, GridRegion finalDestination, bool logout) + { + CleanupAbortedInterRegionTeleport(sp, finalDestination); + + sp.ControllingClient.SendTeleportFailed( + string.Format("Problems connecting to destination {0}", finalDestination.RegionName)); sp.Scene.EventManager.TriggerTeleportFail(sp.ControllingClient, logout); } @@ -2097,7 +2142,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer public bool IsInTransit(UUID id) { - return m_entityTransferStateMachine.IsInTransit(id); + return m_entityTransferStateMachine.GetAgentTransferState(id) != null; } protected void ReInstantiateScripts(ScenePresence sp) diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferStateMachine.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferStateMachine.cs index d0cab49563..24d81d9480 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferStateMachine.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferStateMachine.cs @@ -51,8 +51,9 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer /// This is a state machine. /// /// [Entry] => Preparing - /// Preparing => { Transferring || CleaningUp || [Exit] } - /// Transferring => { ReceivedAtDestination || CleaningUp } + /// Preparing => { Transferring || Cancelling || CleaningUp || [Exit] } + /// Transferring => { ReceivedAtDestination || Cancelling || CleaningUp } + /// Cancelling => CleaningUp /// ReceivedAtDestination => CleaningUp /// CleaningUp => [Exit] /// @@ -64,7 +65,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer Preparing, // The agent is being prepared for transfer Transferring, // The agent is in the process of being transferred to a destination ReceivedAtDestination, // The destination has notified us that the agent has been successfully received - CleaningUp // The agent is being changed to child/removed after a transfer + CleaningUp, // The agent is being changed to child/removed after a transfer + Cancelling // The user has cancelled the teleport but we have yet to act upon this. } /// @@ -115,42 +117,110 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer /// /// /// Illegal transitions will throw an Exception - internal void UpdateInTransit(UUID id, AgentTransferState newState) + internal bool UpdateInTransit(UUID id, AgentTransferState newState) { + bool transitionOkay = false; + + // We don't want to throw an exception on cancel since this can come it at any time. + bool failIfNotOkay = true; + + // Should be a failure message if failure is not okay. + string failureMessage = null; + + AgentTransferState? oldState = null; + lock (m_agentsInTransit) { // Illegal to try and update an agent that's not actually in transit. if (!m_agentsInTransit.ContainsKey(id)) - throw new Exception( - string.Format( - "Agent with ID {0} is not registered as in transit in {1}", - id, m_mod.Scene.RegionInfo.RegionName)); + { + if (newState != AgentTransferState.Cancelling) + failureMessage = string.Format( + "Agent with ID {0} is not registered as in transit in {1}", + id, m_mod.Scene.RegionInfo.RegionName); + else + failIfNotOkay = false; + } + else + { + oldState = m_agentsInTransit[id]; - AgentTransferState oldState = m_agentsInTransit[id]; + if (newState == AgentTransferState.CleaningUp && oldState != AgentTransferState.CleaningUp) + { + transitionOkay = true; + } + else if (newState == AgentTransferState.Transferring && oldState == AgentTransferState.Preparing) + { + transitionOkay = true; + } + else if (newState == AgentTransferState.ReceivedAtDestination && oldState == AgentTransferState.Transferring) + { + transitionOkay = true; + } + else + { + if (newState == AgentTransferState.Cancelling + && (oldState == AgentTransferState.Preparing || oldState == AgentTransferState.Transferring)) + { + transitionOkay = true; + } + else + { + failIfNotOkay = false; + } + } - bool transitionOkay = false; - - if (newState == AgentTransferState.CleaningUp && oldState != AgentTransferState.CleaningUp) - transitionOkay = true; - else if (newState == AgentTransferState.Transferring && oldState == AgentTransferState.Preparing) - transitionOkay = true; - else if (newState == AgentTransferState.ReceivedAtDestination && oldState == AgentTransferState.Transferring) - transitionOkay = true; + if (!transitionOkay) + failureMessage + = string.Format( + "Agent with ID {0} is not allowed to move from old transit state {1} to new state {2} in {3}", + id, oldState, newState, m_mod.Scene.RegionInfo.RegionName); + } if (transitionOkay) + { m_agentsInTransit[id] = newState; - else - throw new Exception( - string.Format( - "Agent with ID {0} is not allowed to move from old transit state {1} to new state {2} in {3}", - id, oldState, newState, m_mod.Scene.RegionInfo.RegionName)); + +// m_log.DebugFormat( +// "[ENTITY TRANSFER STATE MACHINE]: Changed agent with id {0} from state {1} to {2} in {3}", +// id, oldState, newState, m_mod.Scene.Name); + } + else if (failIfNotOkay) + { + throw new Exception(failureMessage); + } +// else +// { +// if (oldState != null) +// m_log.DebugFormat( +// "[ENTITY TRANSFER STATE MACHINE]: Ignored change of agent with id {0} from state {1} to {2} in {3}", +// id, oldState, newState, m_mod.Scene.Name); +// else +// m_log.DebugFormat( +// "[ENTITY TRANSFER STATE MACHINE]: Ignored change of agent with id {0} to state {1} in {2} since agent not in transit", +// id, newState, m_mod.Scene.Name); +// } } + + return transitionOkay; } - internal bool IsInTransit(UUID id) + /// + /// Gets the current agent transfer state. + /// + /// Null if the agent is not in transit + /// + /// Identifier. + /// + internal AgentTransferState? GetAgentTransferState(UUID id) { lock (m_agentsInTransit) - return m_agentsInTransit.ContainsKey(id); + { + if (!m_agentsInTransit.ContainsKey(id)) + return null; + else + return m_agentsInTransit[id]; + } } /// @@ -203,14 +273,14 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer lock (m_agentsInTransit) { - if (!IsInTransit(id)) + AgentTransferState? currentState = GetAgentTransferState(id); + + if (currentState == null) throw new Exception( string.Format( "Asked to wait for destination callback for agent with ID {0} in {1} but agent is not in transit", id, m_mod.Scene.RegionInfo.RegionName)); - AgentTransferState currentState = m_agentsInTransit[id]; - if (currentState != AgentTransferState.Transferring && currentState != AgentTransferState.ReceivedAtDestination) throw new Exception( string.Format( From fb1211ad5ef86bf6a1b6170775f1ebb4adcb4cb7 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Tue, 12 Mar 2013 23:01:27 +0000 Subject: [PATCH 712/851] Add DisableInterRegionTeleportCancellation option in [EntityTransfer] section of OpenSim.ini. False by default. This option allows the simulator to specify that the cancel button on inter-region teleports should never appear. This exists because sometimes cancellation will result in a stuck avatar requiring relog. It may be hard to prevent this due to the protocol design (the LL grid has the same issue) In small controlled grids where teleport failure is practically impossible it can be better to disable teleport cancellation entirely. --- .../EntityTransfer/EntityTransferModule.cs | 21 ++++++++++++++++++- bin/OpenSim.ini.example | 7 +++++++ bin/OpenSimDefaults.ini | 5 +++++ 3 files changed, 32 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 34f09240a8..9b1b69aaa4 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs @@ -66,6 +66,17 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer /// public bool WaitForAgentArrivedAtDestination { get; set; } + /// + /// If true then we ask the viewer to disable teleport cancellation and ignore teleport requests. + /// + /// + /// This is useful in situations where teleport is very likely to always succeed and we want to avoid a + /// situation where avatars can be come 'stuck' due to a failed teleport cancellation. Unfortunately, the + /// nature of the teleport protocol makes it extremely difficult (maybe impossible) to make teleport + /// cancellation consistently suceed. + /// + public bool DisableInterRegionTeleportCancellation { get; set; } + protected bool m_Enabled = false; public Scene Scene { get; private set; } @@ -116,6 +127,9 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer IConfig transferConfig = source.Configs["EntityTransfer"]; if (transferConfig != null) { + DisableInterRegionTeleportCancellation + = transferConfig.GetBoolean("DisableInterRegionTeleportCancellation", false); + WaitForAgentArrivedAtDestination = transferConfig.GetBoolean("wait_for_callback", WaitForAgentArrivedAtDestinationDefault); @@ -148,9 +162,11 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer protected virtual void OnNewClient(IClientAPI client) { - client.OnTeleportCancel += OnClientCancelTeleport; client.OnTeleportHomeRequest += TeleportHome; client.OnTeleportLandmarkRequest += RequestTeleportLandmark; + + if (!DisableInterRegionTeleportCancellation) + client.OnTeleportCancel += OnClientCancelTeleport; } public virtual void Close() {} @@ -528,6 +544,9 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer if (sp.ParentID != (uint)0) sp.StandUp(); + if (DisableInterRegionTeleportCancellation) + teleportFlags |= (uint)TeleportFlags.DisableCancel; + // At least on LL 3.3.4, this is not strictly necessary - a teleport will succeed without sending this to // the viewer. However, it might mean that the viewer does not see the black teleport screen (untested). sp.ControllingClient.SendTeleportStart(teleportFlags); diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index e078e86807..ce2e6008cf 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -541,6 +541,13 @@ ; shout_distance = 100 +[EntityTransfer] + ;# {DisableInterRegionTeleportCancellation} {} {Determine whether the cancel button is shown at all during teleports.} {false true} false + ;; This option exists because cancelling at certain points can result in an unuseable session (frozen avatar, etc.) + ;; Disabling cancellation can be okay in small closed grids where all teleports are highly likely to suceed. + ;DisableInterRegionTeleportCancellation = false + + [Messaging] ;# {OfflineMessageModule} {} {Module to use for offline message storage} {OfflineMessageModule "Offline Message Module V2" *} ;; Module to handle offline messaging. The core module requires an external diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 417150af69..1d2c0cff86 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -628,6 +628,11 @@ ; Minimum user level required for HyperGrid teleports LevelHGTeleport = 0 + ; Determine whether the cancel button is shown at all during teleports. + ; This option exists because cancelling at certain points can result in an unuseable session (frozen avatar, etc.) + ; Disabling cancellation can be okay in small closed grids where all teleports are highly likely to suceed. + DisableInterRegionTeleportCancellation = false + [Messaging] ; Control which region module is used for instant messaging. From 0d25be3f8162fc4e99cd5abdaceb425a1f7370fe Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 13 Mar 2013 00:19:37 +0000 Subject: [PATCH 713/851] Make C# scripts return correct error line and column numbers instead of failing because they have no linemap. Adapted fix from http://opensimulator.org/mantis/view.php?id=6571 Thanks Nickel Briand --- .../Region/ScriptEngine/Shared/CodeTools/Compiler.cs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs b/OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs index 9d20c9ec80..b71afe338e 100644 --- a/OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs +++ b/OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs @@ -662,13 +662,18 @@ namespace SecondLife { string severity = CompErr.IsWarning ? "Warning" : "Error"; - KeyValuePair lslPos; + KeyValuePair errorPos; // Show 5 errors max, but check entire list for errors if (severity == "Error") { - lslPos = FindErrorPosition(CompErr.Line, CompErr.Column, m_lineMaps[assembly]); + // C# scripts will not have a linemap since theres no line translation involved. + if (!m_lineMaps.ContainsKey(assembly)) + errorPos = new KeyValuePair(CompErr.Line, CompErr.Column); + else + errorPos = FindErrorPosition(CompErr.Line, CompErr.Column, m_lineMaps[assembly]); + string text = CompErr.ErrorText; // Use LSL type names @@ -678,7 +683,7 @@ namespace SecondLife // The Second Life viewer's script editor begins // countingn lines and columns at 0, so we subtract 1. errtext += String.Format("({0},{1}): {4} {2}: {3}\n", - lslPos.Key - 1, lslPos.Value - 1, + errorPos.Key - 1, errorPos.Value - 1, CompErr.ErrorNumber, text, severity); hadErrors = true; } From f8a4d95bdd2bff70a428d386edad1ca91e15c6c0 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 13 Mar 2013 00:22:07 +0000 Subject: [PATCH 714/851] minor: Remove mono compiler warning in LLClientView --- OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index bae79523ab..7ea538c907 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs @@ -7069,7 +7069,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP if (handlerUpdatePrimFlags != null) { - byte[] data = Pack.ToBytes(); +// byte[] data = Pack.ToBytes(); // 46,47,48 are special positions within the packet // This may change so perhaps we need a better way // of storing this (OMV.FlagUpdatePacket.UsePhysics,etc?) From b7216f4daffca6dad4049c84982beca6dca9b094 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 13 Mar 2013 00:46:17 +0000 Subject: [PATCH 715/851] minor: save some commented out log lines which will be useful again in future debugging of VectorRenderModule --- .../CoreModules/Scripting/VectorRender/VectorRenderModule.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs b/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs index f04fabe897..4cecd85941 100644 --- a/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs +++ b/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs @@ -516,6 +516,9 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender foreach (string line in GetLines(data, dataDelim)) { string nextLine = line.Trim(); + +// m_log.DebugFormat("[VECTOR RENDER MODULE]: Processing line '{0}'", nextLine); + //replace with switch, or even better, do some proper parsing if (nextLine.StartsWith("MoveTo")) { @@ -829,6 +832,8 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender float y = Convert.ToSingle(yVal, CultureInfo.InvariantCulture); PointF point = new PointF(x, y); points[i / 2] = point; + +// m_log.DebugFormat("[VECTOR RENDER MODULE]: Got point {0}", points[i / 2]); } } } From 5c53660a7f055be9ed41f30893de673acac8a0f1 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 13 Mar 2013 22:59:06 +0000 Subject: [PATCH 716/851] Add prototype dynamic objects map for scene object parts This allows region modules to add dynamic objects to SOPs rather than having to continually push and pull OSD dynamic attributes. This is to explore the original MOAP use case for dynamic attributes where it could be very awkward and possibly time-consuming to keep reconstructing MediaEntrys from stored DynamicAttributes. This commit adds a DOExampleModule to demonstrate/evolve this code. Dynamic objects involve no storage or persistence changes - the 'backing store' for any data that does need to be saved will remain the DAMap. DOExampleModule in this commit only attaches a fresh dynamic object. Actually constructing this from stored dynamic attributes and handling persistence is left for later. These changes should affect no existing functionality, though it may or may not reveal necessary changes in DAMap down the road. --- OpenSim/Framework/DAMap.cs | 2 +- OpenSim/Framework/DOMap.cs | 98 +++++++++++++++ .../DynamicAttributes/DOExampleModule.cs | 117 ++++++++++++++++++ .../Framework/Scenes/SceneObjectPart.cs | 22 ++++ 4 files changed, 238 insertions(+), 1 deletion(-) create mode 100644 OpenSim/Framework/DOMap.cs create mode 100644 OpenSim/Region/CoreModules/Framework/DynamicAttributes/DOExampleModule.cs diff --git a/OpenSim/Framework/DAMap.cs b/OpenSim/Framework/DAMap.cs index 64cea77469..df4a6bc4a7 100644 --- a/OpenSim/Framework/DAMap.cs +++ b/OpenSim/Framework/DAMap.cs @@ -180,7 +180,7 @@ namespace OpenSim.Framework /// Validate the key used for storing separate data stores. /// /// - private static void ValidateKey(string key) + public static void ValidateKey(string key) { if (key.Length < MIN_STORE_NAME_LENGTH) throw new Exception("Minimum store name length is " + MIN_STORE_NAME_LENGTH); diff --git a/OpenSim/Framework/DOMap.cs b/OpenSim/Framework/DOMap.cs new file mode 100644 index 0000000000..755e129a13 --- /dev/null +++ b/OpenSim/Framework/DOMap.cs @@ -0,0 +1,98 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Text; +using System.Xml; +using System.Xml.Schema; +using System.Xml.Serialization; +using OpenMetaverse; +using OpenMetaverse.StructuredData; + +namespace OpenSim.Framework +{ + /// + /// This class stores and retrieves dynamic objects. + /// + /// + /// Experimental - DO NOT USE. + /// + public class DOMap + { + private IDictionary m_map; + + public void Add(string key, object dynObj) + { + DAMap.ValidateKey(key); + + lock (this) + { + if (m_map == null) + m_map = new Dictionary(); + + m_map.Add(key, dynObj); + } + } + + public bool ContainsKey(string key) + { + return Get(key) != null; + } + + /// + /// Get a dynamic object + /// + /// + /// Not providing an index method so that users can't casually overwrite each other's objects. + /// + /// + public object Get(string key) + { + lock (this) + { + if (m_map == null) + return null; + else + return m_map[key]; + } + } + + public bool Remove(string key) + { + lock (this) + { + if (m_map == null) + return false; + else + return m_map.Remove(key); + } + } + } +} \ No newline at end of file diff --git a/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DOExampleModule.cs b/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DOExampleModule.cs new file mode 100644 index 0000000000..71bb3f0e60 --- /dev/null +++ b/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DOExampleModule.cs @@ -0,0 +1,117 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using System.Reflection; +using log4net; +using Mono.Addins; +using Nini.Config; +using OpenMetaverse; +using OpenMetaverse.Packets; +using OpenMetaverse.StructuredData; +using OpenSim.Framework; +using OpenSim.Region.Framework; +using OpenSim.Region.Framework.Interfaces; +using OpenSim.Region.Framework.Scenes; + +namespace OpenSim.Region.Framework.DynamicAttributes.DOExampleModule +{ + /// + /// Example module for experimenting with and demonstrating dynamic object ideas. + /// + [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "DOExampleModule")] + public class DOExampleModule : INonSharedRegionModule + { + public class MyObject + { + public int Moves { get; set; } + } + + // private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + + private static readonly bool ENABLED = false; // enable for testing + + private Scene m_scene; + private IDialogModule m_dialogMod; + + public string Name { get { return "DOExample Module"; } } + public Type ReplaceableInterface { get { return null; } } + + public void Initialise(IConfigSource source) {} + + public void AddRegion(Scene scene) + { + if (ENABLED) + { + m_scene = scene; + m_scene.EventManager.OnObjectAddedToScene += OnObjectAddedToScene; + m_scene.EventManager.OnSceneGroupMove += OnSceneGroupMove; + m_dialogMod = m_scene.RequestModuleInterface(); + } + } + + public void RemoveRegion(Scene scene) + { + if (ENABLED) + { + m_scene.EventManager.OnSceneGroupMove -= OnSceneGroupMove; + } + } + + public void RegionLoaded(Scene scene) {} + + public void Close() + { + RemoveRegion(m_scene); + } + + private void OnObjectAddedToScene(SceneObjectGroup so) + { + so.RootPart.DynObjs.Add(Name, new MyObject()); + } + + private bool OnSceneGroupMove(UUID groupId, Vector3 delta) + { + SceneObjectGroup so = m_scene.GetSceneObjectGroup(groupId); + + if (so == null) + return true; + + object rawObj = so.RootPart.DynObjs.Get(Name); + + if (rawObj != null) + { + MyObject myObj = (MyObject)rawObj; + + m_dialogMod.SendGeneralAlert(string.Format("{0} {1} moved {2} times", so.Name, so.UUID, ++myObj.Moves)); + } + + return true; + } + } +} \ No newline at end of file diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 3e9a6fa217..ee7c4f4aec 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -129,6 +129,27 @@ namespace OpenSim.Region.Framework.Scenes /// Dynamic attributes can be created and deleted as required. ///

I`6JWS%o6c3j;mf{~Iu1xU=i9;!tB=(~?Lt+y} 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%0A$<%wM?>##1nir{zvwDUKLgz=e!g2G{XBGs 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

public DAMap DynAttrs { get; set; } + + private DOMap m_dynObjs; + + /// + /// Dynamic objects that can be created and deleted as required. + /// + public DOMap DynObjs + { + get + { + if (m_dynObjs == null) + m_dynObjs = new DOMap(); + + return m_dynObjs; + } + + set + { + m_dynObjs = value; + } + } /// /// Is this a root part? @@ -348,6 +369,7 @@ namespace OpenSim.Region.Framework.Scenes Rezzed = DateTime.UtcNow; Description = String.Empty; DynAttrs = new DAMap(); + DynObjs = new DOMap(); // Prims currently only contain a single folder (Contents). From looking at the Second Life protocol, // this appears to have the same UUID (!) as the prim. If this isn't the case, one can't drag items from From 39a0928052bcaf4b81af326e129cbfd6329f9292 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 13 Mar 2013 23:17:27 +0000 Subject: [PATCH 717/851] minor: Remove some mono compiler warnings in OpenSim.Framework.dll --- OpenSim/Framework/PluginManager.cs | 4 ++-- OpenSim/Framework/Util.cs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/OpenSim/Framework/PluginManager.cs b/OpenSim/Framework/PluginManager.cs index 00263f514f..011709602b 100644 --- a/OpenSim/Framework/PluginManager.cs +++ b/OpenSim/Framework/PluginManager.cs @@ -218,7 +218,7 @@ namespace OpenSim.Framework Console.WriteLine ("Looking for updates..."); Repositories.UpdateAllRepositories (ps); Console.WriteLine ("Available add-in updates:"); - bool found = false; + AddinRepositoryEntry[] entries = Repositories.GetAvailableUpdates(); foreach (AddinRepositoryEntry entry in entries) @@ -541,7 +541,7 @@ namespace OpenSim.Framework { list.AddRange(PluginRegistry.GetAddins()); } - catch(Exception e) + catch (Exception) { Addin[] x = xlist.ToArray(typeof(Addin)) as Addin[]; return x; diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs index 0fa54b246d..94a172c399 100644 --- a/OpenSim/Framework/Util.cs +++ b/OpenSim/Framework/Util.cs @@ -303,12 +303,12 @@ namespace OpenSim.Framework // Clamp the maximum magnitude of a vector public static Vector3 ClampV(Vector3 x, float max) { - Vector3 ret = x; float lenSq = x.LengthSquared(); if (lenSq > (max * max)) { x = x / x.Length() * max; } + return x; } From 48d41ef3076eb4c2a8c4a67d811630ab7b498469 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 13 Mar 2013 23:25:56 +0000 Subject: [PATCH 718/851] Remove unnecessary instation of DOMap() in SOP from commit 5c53660 since this is being done lazily --- OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index ee7c4f4aec..a8b63fedeb 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -369,7 +369,6 @@ namespace OpenSim.Region.Framework.Scenes Rezzed = DateTime.UtcNow; Description = String.Empty; DynAttrs = new DAMap(); - DynObjs = new DOMap(); // Prims currently only contain a single folder (Contents). From looking at the Second Life protocol, // this appears to have the same UUID (!) as the prim. If this isn't the case, one can't drag items from From 43220afda2a69e7849c2ab9f98dcbd61a3da218b Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 13 Mar 2013 23:42:14 +0000 Subject: [PATCH 719/851] Improve DAExampleModule to show current necessary locking to avoid race conditions with a serialization thread. --- .../DynamicAttributes/DAExampleModule.cs | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DAExampleModule.cs b/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DAExampleModule.cs index 37131b9a53..f8744950bf 100644 --- a/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DAExampleModule.cs +++ b/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DAExampleModule.cs @@ -85,19 +85,27 @@ namespace OpenSim.Region.Framework.DynamicAttributes.DAExampleModule { OSDMap attrs = null; SceneObjectPart sop = m_scene.GetSceneObjectPart(groupId); + + if (sop == null) + return true; + if (!sop.DynAttrs.TryGetValue(Name, out attrs)) attrs = new OSDMap(); OSDInteger newValue; - - if (!attrs.ContainsKey("moves")) - newValue = new OSDInteger(1); - else - newValue = new OSDInteger(((OSDInteger)attrs["moves"]).AsInteger() + 1); - - attrs["moves"] = newValue; - sop.DynAttrs[Name] = attrs; + // We have to lock on the entire dynamic attributes map to avoid race conditions with serialization code. + lock (sop.DynAttrs) + { + if (!attrs.ContainsKey("moves")) + newValue = new OSDInteger(1); + else + newValue = new OSDInteger(attrs["moves"].AsInteger() + 1); + + attrs["moves"] = newValue; + + sop.DynAttrs[Name] = attrs; + } m_dialogMod.SendGeneralAlert(string.Format("{0} {1} moved {2} times", sop.Name, sop.UUID, newValue)); From 42c533c589f4b22975d24fa403733d379b33ffee Mon Sep 17 00:00:00 2001 From: teravus Date: Thu, 14 Mar 2013 00:57:42 -0400 Subject: [PATCH 720/851] * Updates HttpServer again to re-add the code that closes the stream and connection when It's done sending. Be on the lookout for an old linux/mono bug where the client doesn't get the last bit of the stream before it is disconnected!. Code on opensim-libs. All tests pass.. HttpServer's internal tests pass.. but just a bad feeling. More people should test :) --- bin/HttpServer_OpenSim.dll | Bin 116224 -> 116224 bytes bin/HttpServer_OpenSim.pdb | Bin 343552 -> 343552 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index fd7ad742d03a28238308f402e729fdaa007443e2..36c089252d06d9a4200cd03a1e23f8da4c8d4de9 100755 GIT binary patch delta 2801 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 LE%kt^jhpg+l!p5= diff --git a/bin/HttpServer_OpenSim.pdb b/bin/HttpServer_OpenSim.pdb index f56e891d4c4e1e674ee26e75c59ec4c5bc7ebbe7..a69e420d64b5d6a6826a4b7d59b69292d2bc91ea 100644 GIT binary patch delta 12258 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 NgVo`M+q#&w{{w#8d^-RD delta 13570 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 CLX+nJ From e9c394fb4ed56ffb931a0161b8c6fdc929b38058 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Mar 2013 21:23:48 +0000 Subject: [PATCH 721/851] Make llGetObjectDetails() return the correct world rotation for a sitting avatar This addresses http://opensimulator.org/mantis/view.php?id=6567 This creates a ScenePresence.GetWorldRotation() with the same semantics as SOP.GetWorldRotation() SP.Rotation can't be used since it's relative to the sat upon prim if the avatar is sitting. --- .../Region/Framework/Scenes/ScenePresence.cs | 40 ++++++++++++++++--- .../Shared/Api/Implementation/LSL_Api.cs | 2 +- 2 files changed, 36 insertions(+), 6 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index a7c7539fd8..82bb759bae 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -559,16 +559,28 @@ namespace OpenSim.Region.Framework.Scenes private Quaternion m_bodyRot = Quaternion.Identity; + /// + /// The rotation of the avatar. + /// + /// + /// If the avatar is not sitting, this is with respect to the world + /// If the avatar is sitting, this is a with respect to the part that it's sitting upon (a local rotation). + /// If you always want the world rotation, use GetWorldRotation() + /// public Quaternion Rotation { - get { return m_bodyRot; } + get + { + return m_bodyRot; + } + set { m_bodyRot = value; + if (PhysicsActor != null) - { PhysicsActor.Orientation = m_bodyRot; - } + // m_log.DebugFormat("[SCENE PRESENCE]: Body rot for {0} set to {1}", Name, m_bodyRot); } } @@ -608,6 +620,26 @@ namespace OpenSim.Region.Framework.Scenes set { m_health = value; } } + /// + /// Gets the world rotation of this presence. + /// + /// + /// Unlike Rotation, this returns the world rotation no matter whether the avatar is sitting on a prim or not. + /// + /// + public Quaternion GetWorldRotation() + { + if (IsSatOnObject) + { + SceneObjectPart sitPart = ParentPart; + + if (sitPart != null) + return sitPart.GetWorldRotation() * Rotation; + } + + return Rotation; + } + public void AdjustKnownSeeds() { Dictionary seeds; @@ -709,8 +741,6 @@ namespace OpenSim.Region.Framework.Scenes #endregion - - #region Constructor(s) public ScenePresence( diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index dd7ee24a63..47f875863f 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -10518,7 +10518,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api ret.Add(new LSL_Vector((double)av.AbsolutePosition.X, (double)av.AbsolutePosition.Y, (double)av.AbsolutePosition.Z)); break; case ScriptBaseClass.OBJECT_ROT: - ret.Add(new LSL_Rotation((double)av.Rotation.X, (double)av.Rotation.Y, (double)av.Rotation.Z, (double)av.Rotation.W)); + ret.Add(new LSL_Rotation(av.GetWorldRotation())); break; case ScriptBaseClass.OBJECT_VELOCITY: ret.Add(new LSL_Vector(av.Velocity.X, av.Velocity.Y, av.Velocity.Z)); From ad9bd3fe93e3d48b17ca28b3e036fe39991f2203 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Mar 2013 21:46:29 +0000 Subject: [PATCH 722/851] Fix sensors, llGetRootRotation(), llGet*Param() and other functions to use the world rotation if the avatar to which they are attached is sitting --- .../ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 4 ++-- .../ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | 9 +++------ .../Shared/Api/Implementation/Plugins/SensorRepeat.cs | 4 ++-- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 47f875863f..d88e416b21 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -2174,7 +2174,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if ((avatar.AgentControlFlags & (uint)AgentManager.ControlFlags.AGENT_CONTROL_MOUSELOOK) != 0) q = avatar.CameraRotation; // Mouselook else - q = avatar.Rotation; // Currently infrequently updated so may be inaccurate + q = avatar.GetWorldRotation(); // Currently infrequently updated so may be inaccurate } else q = part.ParentGroup.GroupRotation; // Likely never get here but just in case @@ -7831,7 +7831,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if ((avatar.AgentControlFlags & (uint)AgentManager.ControlFlags.AGENT_CONTROL_MOUSELOOK) != 0) q = avatar.CameraRotation; // Mouselook else - q = avatar.Rotation; // Currently infrequently updated so may be inaccurate + q = avatar.GetWorldRotation(); // Currently infrequently updated so may be inaccurate else q = m_host.ParentGroup.GroupRotation; // Likely never get here but just in case } diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 48c6b5068c..bd83f02e1f 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -2578,18 +2578,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { UUID npcId; if (!UUID.TryParse(npc.m_string, out npcId)) - return new LSL_Rotation(Quaternion.Identity.X, Quaternion.Identity.Y, Quaternion.Identity.Z, Quaternion.Identity.W); + return new LSL_Rotation(Quaternion.Identity); if (!npcModule.CheckPermissions(npcId, m_host.OwnerID)) - return new LSL_Rotation(Quaternion.Identity.X, Quaternion.Identity.Y, Quaternion.Identity.Z, Quaternion.Identity.W); + return new LSL_Rotation(Quaternion.Identity); ScenePresence sp = World.GetScenePresence(npcId); if (sp != null) - { - Quaternion rot = sp.Rotation; - return new LSL_Rotation(rot.X, rot.Y, rot.Z, rot.W); - } + return new LSL_Rotation(sp.GetWorldRotation()); } return new LSL_Rotation(Quaternion.Identity.X, Quaternion.Identity.Y, Quaternion.Identity.Z, Quaternion.Identity.W); diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs index dd45406a92..88ab51545e 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs @@ -353,7 +353,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins // Position of a sensor in a child prim attached to an avatar // will be still wrong. ScenePresence avatar = m_CmdManager.m_ScriptEngine.World.GetScenePresence(SensePoint.ParentGroup.AttachedAvatar); - q = avatar.Rotation * q; + q = avatar.GetWorldRotation() * q; } LSL_Types.Quaternion r = new LSL_Types.Quaternion(q); @@ -480,7 +480,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins // Position of a sensor in a child prim attached to an avatar // will be still wrong. ScenePresence avatar = m_CmdManager.m_ScriptEngine.World.GetScenePresence(SensePoint.ParentGroup.AttachedAvatar); - q = avatar.Rotation * q; + q = avatar.GetWorldRotation() * q; } LSL_Types.Quaternion r = new LSL_Types.Quaternion(q); From f84072827384f7ea7c50f77eab23c141cae6cd9e Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Mar 2013 21:57:43 +0000 Subject: [PATCH 723/851] refactor: use cleaner LSL_Rotation quaternion constructor in LSL_Api.GetPartRot() --- .../ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index d88e416b21..854169bc08 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -2181,10 +2181,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } else q = part.ParentGroup.GroupRotation; // just the group rotation - return new LSL_Rotation(q.X, q.Y, q.Z, q.W); + + return new LSL_Rotation(q); } - q = part.GetWorldRotation(); - return new LSL_Rotation(q.X, q.Y, q.Z, q.W); + + return new LSL_Rotation(part.GetWorldRotation()); } public LSL_Rotation llGetLocalRot() From c3e081a5ca165b197fcb5c6e407f0174931c8f7c Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Mar 2013 22:00:04 +0000 Subject: [PATCH 724/851] Fix minor race condition in llGetLocalRot() where inconsistent results could be returned if the prim was rotating during the call --- .../Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 854169bc08..c9d0d91b1a 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -2191,7 +2191,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Rotation llGetLocalRot() { m_host.AddScriptLPS(1); - return new LSL_Rotation(m_host.RotationOffset.X, m_host.RotationOffset.Y, m_host.RotationOffset.Z, m_host.RotationOffset.W); + + return new LSL_Rotation(m_host.RotationOffset); } public void llSetForce(LSL_Vector force, int local) From ffbbe29229c2122502a3c173bd40a870d2a3d631 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Mar 2013 22:01:24 +0000 Subject: [PATCH 725/851] refactor: Use LSL_Vector(Vector3) constructor in llGetTorque() --- .../Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index c9d0d91b1a..e55e2150f4 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -2287,8 +2287,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Vector llGetTorque() { m_host.AddScriptLPS(1); - Vector3 torque = m_host.ParentGroup.GetTorque(); - return new LSL_Vector(torque.X,torque.Y,torque.Z); + + return new LSL_Vector(m_host.ParentGroup.GetTorque()); } public void llSetForceAndTorque(LSL_Vector force, LSL_Vector torque, int local) From 04e806036ff6fe9246f7c1ab91f162cb5168bb07 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Mar 2013 22:02:43 +0000 Subject: [PATCH 726/851] refactor: Use LSL_Vector(Vector3) constructor in llGetVel() --- .../Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index e55e2150f4..aadfe725db 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -2314,7 +2314,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api vel = m_host.Velocity; } - return new LSL_Vector(vel.X, vel.Y, vel.Z); + return new LSL_Vector(vel); } public LSL_Vector llGetAccel() From 1774c631cb441458596f3adde3474518d883a7e6 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Mar 2013 22:04:11 +0000 Subject: [PATCH 727/851] Fix minor race condition in llGetOmega() where a call whilst a prim was changing angular velocity could return inconsistent results --- .../Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index aadfe725db..29bc9c756a 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -2320,7 +2320,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Vector llGetAccel() { m_host.AddScriptLPS(1); - return new LSL_Vector(m_host.Acceleration.X, m_host.Acceleration.Y, m_host.Acceleration.Z); + + return new LSL_Vector(m_host.Acceleration); } public LSL_Vector llGetOmega() From 895aa7346f5ba44055225cb4d11351f953ce458e Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Mar 2013 22:07:07 +0000 Subject: [PATCH 728/851] Fix minor race condition in llGetOmega() where inconsistent results could be returned (accidentally stated that commit 1774c631 was this fix). Commit 1774c631 was actually a fix for a similar minor race condition in llGetAccel() --- .../Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 29bc9c756a..d25f6738b3 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -2327,7 +2327,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Vector llGetOmega() { m_host.AddScriptLPS(1); - return new LSL_Vector(m_host.AngularVelocity.X, m_host.AngularVelocity.Y, m_host.AngularVelocity.Z); + + return new LSL_Vector(m_host.AngularVelocity); } public LSL_Float llGetTimeOfDay() From ff6a16b46e334995bce589fe9c9f3854381ee167 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Mar 2013 22:09:05 +0000 Subject: [PATCH 729/851] Fix a minor race condition in llInstantMessage() where slightly wrong origin co-ordinates could be given for a fast moving prim --- .../ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index d25f6738b3..267dc960f7 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -3105,13 +3105,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api msg.ParentEstateID = 0; //ParentEstateID; msg.Position = new Vector3(m_host.AbsolutePosition); msg.RegionID = World.RegionInfo.RegionID.Guid;//RegionID.Guid; + + Vector3 pos = m_host.AbsolutePosition; msg.binaryBucket = Util.StringToBytes256( "{0}/{1}/{2}/{3}", World.RegionInfo.RegionName, - (int)Math.Floor(m_host.AbsolutePosition.X), - (int)Math.Floor(m_host.AbsolutePosition.Y), - (int)Math.Floor(m_host.AbsolutePosition.Z)); + (int)Math.Floor(pos.X), + (int)Math.Floor(pos.Y), + (int)Math.Floor(pos.Z)); if (m_TransferModule != null) { From 7b85279dbaf3e73ed45ecafe6a373565643e9a9e Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Mar 2013 22:14:32 +0000 Subject: [PATCH 730/851] refactor: Use LSL_Vector(Vector3) constructor in llGetCenterOfMass() --- .../Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 267dc960f7..aca0132e7b 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -4877,8 +4877,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Vector llGetCenterOfMass() { m_host.AddScriptLPS(1); - Vector3 center = m_host.GetCenterOfMass(); - return new LSL_Vector(center.X,center.Y,center.Z); + + return new LSL_Vector(m_host.GetCenterOfMass()); } public LSL_List llListSort(LSL_List src, int stride, int ascending) From 3c9bea1e3fbe0bb457bcc227d0420125c00ce832 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Mar 2013 22:22:10 +0000 Subject: [PATCH 731/851] Fix minor race conditions in llTeleportAgent(), llTeleportAgentGlobalCoords(), llEjectFromLand() and llOverMyLand() where the wrong parcel could be identified for very fast moving avatars. --- .../Shared/Api/Implementation/LSL_Api.cs | 35 +++++++++++-------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index aca0132e7b..8415feb25a 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -4202,9 +4202,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (destination == String.Empty) destination = World.RegionInfo.RegionName; + Vector3 pos = presence.AbsolutePosition; + // agent must be over the owners land - if (m_host.OwnerID == World.LandChannel.GetLandObject( - presence.AbsolutePosition.X, presence.AbsolutePosition.Y).LandData.OwnerID) + if (m_host.OwnerID == World.LandChannel.GetLandObject(pos.X, pos.Y).LandData.OwnerID) { DoLLTeleport(presence, destination, targetPos, targetLookAt); } @@ -4234,9 +4235,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // agent must not be a god if (presence.GodLevel >= 200) return; + Vector3 pos = presence.AbsolutePosition; + // agent must be over the owners land - if (m_host.OwnerID == World.LandChannel.GetLandObject( - presence.AbsolutePosition.X, presence.AbsolutePosition.Y).LandData.OwnerID) + if (m_host.OwnerID == World.LandChannel.GetLandObject(pos.X, pos.Y).LandData.OwnerID) { World.RequestTeleportLocation(presence.ControllingClient, regionHandle, targetPos, targetLookAt, (uint)TeleportFlags.ViaLocation); } @@ -5865,8 +5867,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api ScenePresence presence = World.GetScenePresence(agentID); if (presence != null) { + Vector3 pos = presence.AbsolutePosition; + // agent must be over the owners land - ILandObject land = World.LandChannel.GetLandObject(presence.AbsolutePosition.X, presence.AbsolutePosition.Y); + ILandObject land = World.LandChannel.GetLandObject(pos.X, pos.Y); if (land == null) return; @@ -5888,19 +5892,22 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api ScenePresence presence = World.GetScenePresence(key); if (presence != null) // object is an avatar { - if (m_host.OwnerID - == World.LandChannel.GetLandObject( - presence.AbsolutePosition.X, presence.AbsolutePosition.Y).LandData.OwnerID) + Vector3 pos = presence.AbsolutePosition; + + if (m_host.OwnerID == World.LandChannel.GetLandObject(pos.X, pos.Y).LandData.OwnerID) return 1; } else // object is not an avatar { SceneObjectPart obj = World.GetSceneObjectPart(key); + if (obj != null) - if (m_host.OwnerID - == World.LandChannel.GetLandObject( - obj.AbsolutePosition.X, obj.AbsolutePosition.Y).LandData.OwnerID) + { + Vector3 pos = obj.AbsolutePosition; + + if (m_host.OwnerID == World.LandChannel.GetLandObject(pos.X, pos.Y).LandData.OwnerID) return 1; + } } } @@ -5979,7 +5986,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // or // if the object is owned by a person with estate access. - ILandObject parcel = World.LandChannel.GetLandObject(av.AbsolutePosition.X, av.AbsolutePosition.Y); + Vector3 pos = av.AbsolutePosition; + + ILandObject parcel = World.LandChannel.GetLandObject(pos.X, pos.Y); if (parcel != null) { if (m_host.OwnerID == parcel.LandData.OwnerID || @@ -5991,9 +6000,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } } - } - } public LSL_Vector llGroundSlope(LSL_Vector offset) From f8c24b2a61e9f927620fee8e06457f70ba6e2e82 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Mar 2013 22:26:37 +0000 Subject: [PATCH 732/851] minor: Reuse ground LSL_Vector in llGroundSlope() rather than creating a new one. --- .../ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 8415feb25a..6414f359fb 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -6006,6 +6006,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Vector llGroundSlope(LSL_Vector offset) { m_host.AddScriptLPS(1); + //Get the slope normal. This gives us the equation of the plane tangent to the slope. LSL_Vector vsn = llGroundNormal(offset); @@ -6016,7 +6017,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api vsl.Normalize(); //Normalization might be overkill here - return new LSL_Vector(vsl.X, vsl.Y, vsl.Z); + vsn.x = vsl.X; + vsn.y = vsl.Y; + vsn.z = vsl.Z; + + return vsn; } public LSL_Vector llGroundNormal(LSL_Vector offset) From e6eb9146756a9c49aef018cdfd403c10c2bc82d6 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Mar 2013 22:28:40 +0000 Subject: [PATCH 733/851] refactor: use LSL_Vector(Vector3) constructor in llGroundNormal() --- .../Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 6414f359fb..6aae78463e 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -6071,7 +6071,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api //I believe the crossproduct of two normalized vectors is a normalized vector so //this normalization may be overkill - return new LSL_Vector(vsn.X, vsn.Y, vsn.Z); + return new LSL_Vector(vsn); } public LSL_Vector llGroundContour(LSL_Vector offset) From e7603f98b7353a2d1603094d206ad6f80b837371 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Mar 2013 22:31:07 +0000 Subject: [PATCH 734/851] Fix minor race conditions in detecting current parcel for llAddToLandPassList(), llSetParcelMusicURL() and llGetParcelMusicURL() for moving prims --- .../ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 6aae78463e..f95ecb4c71 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -6571,7 +6571,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { m_host.AddScriptLPS(1); UUID key; - ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y); + Vector3 pos = m_host.AbsolutePosition; + + ILandObject land = World.LandChannel.GetLandObject(pos.X, pos.Y); if (World.Permissions.CanEditParcelProperties(m_host.OwnerID, land, GroupPowers.LandManageBanned)) { int expires = 0; @@ -7800,7 +7802,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { m_host.AddScriptLPS(1); - ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y); + Vector3 pos = m_host.AbsolutePosition; + ILandObject land = World.LandChannel.GetLandObject(pos.X, pos.Y); if (land.LandData.OwnerID != m_host.OwnerID) return; @@ -7814,7 +7817,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { m_host.AddScriptLPS(1); - ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y); + Vector3 pos = m_host.AbsolutePosition; + ILandObject land = World.LandChannel.GetLandObject(pos.X, pos.Y); if (land.LandData.OwnerID != m_host.OwnerID) return String.Empty; From dd6f1fc637f0efb44e0aadf7424314993f100a32 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Mar 2013 22:33:44 +0000 Subject: [PATCH 735/851] Fix minor race condition in llGetRootPosition() where inconsistent results could be returned for moving prims --- .../Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index f95ecb4c71..559744fa17 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -7829,8 +7829,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Vector llGetRootPosition() { m_host.AddScriptLPS(1); - return new LSL_Vector(m_host.ParentGroup.AbsolutePosition.X, m_host.ParentGroup.AbsolutePosition.Y, - m_host.ParentGroup.AbsolutePosition.Z); + + return new LSL_Vector(m_host.ParentGroup.AbsolutePosition); } /// From a6f8638174dde7c32bef4659164a71b47c1c6c71 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Mar 2013 22:34:48 +0000 Subject: [PATCH 736/851] refactor: use LSL_Rotation(Quaternion) constructor in lLGetRootRotation() --- .../Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 559744fa17..19eec71fff 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -7859,7 +7859,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } else q = m_host.ParentGroup.GroupRotation; // just the group rotation - return new LSL_Rotation(q.X, q.Y, q.Z, q.W); + + return new LSL_Rotation(q); } public LSL_String llGetObjectDesc() From b23009e480cee996d2d2808b22ea4dfd76a45e03 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Mar 2013 22:35:41 +0000 Subject: [PATCH 737/851] Fix minor race condition in llGetGeometricCenter() if this was changing whilst the function was called. --- .../Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 19eec71fff..deaaa8a7df 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -7967,7 +7967,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Vector llGetGeometricCenter() { - return new LSL_Vector(m_host.GetGeometricCenter().X, m_host.GetGeometricCenter().Y, m_host.GetGeometricCenter().Z); + return new LSL_Vector(m_host.GetGeometricCenter()); } public LSL_List llGetPrimitiveParams(LSL_List rules) From 2a81eb8d45b4c2b1866479eec1bc906d0d6cf1a7 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Mar 2013 22:42:11 +0000 Subject: [PATCH 738/851] Fix minor race conditions in LSL_Api.GetPrimParams() for PRIM_POSITION, PRIM_SIZE and PRIM_ROT_LOCAL This function is used by all the various ll*Params() and os*Params() functions --- .../Shared/Api/Implementation/LSL_Api.cs | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index deaaa8a7df..8d5eea3d6e 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -8054,23 +8054,24 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api break; case (int)ScriptBaseClass.PRIM_POSITION: - LSL_Vector v = new LSL_Vector(part.AbsolutePosition.X, - part.AbsolutePosition.Y, - part.AbsolutePosition.Z); + LSL_Vector v = new LSL_Vector(part.AbsolutePosition); + // For some reason, the part.AbsolutePosition.* values do not change if the // linkset is rotated; they always reflect the child prim's world position // as though the linkset is unrotated. This is incompatible behavior with SL's // implementation, so will break scripts imported from there (not to mention it // makes it more difficult to determine a child prim's actual inworld position). - if (part.ParentID != 0) - v = ((v - llGetRootPosition()) * llGetRootRotation()) + llGetRootPosition(); + if (!part.IsRoot) + { + LSL_Vector rootPos = new LSL_Vector(m_host.ParentGroup.AbsolutePosition); + v = ((v - rootPos) * llGetRootRotation()) + rootPos; + } + res.Add(v); break; case (int)ScriptBaseClass.PRIM_SIZE: - res.Add(new LSL_Vector(part.Scale.X, - part.Scale.Y, - part.Scale.Z)); + res.Add(new LSL_Vector(part.Scale)); break; case (int)ScriptBaseClass.PRIM_ROTATION: @@ -8384,8 +8385,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api case (int)ScriptBaseClass.PRIM_DESC: res.Add(new LSL_String(part.Description)); break; - case (int)ScriptBaseClass.PRIM_ROT_LOCAL: - res.Add(new LSL_Rotation(part.RotationOffset.X, part.RotationOffset.Y, part.RotationOffset.Z, part.RotationOffset.W)); + case (int)ScriptBaseClass.PRIM_ROT_LOCAL: + res.Add(new LSL_Rotation(part.RotationOffset)); break; case (int)ScriptBaseClass.PRIM_POS_LOCAL: res.Add(new LSL_Vector(GetPartLocalPos(part))); From d4b109b4c4c9bc548bfbfa4b0c6d021cfa38bee3 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Mar 2013 22:45:00 +0000 Subject: [PATCH 739/851] Fix minor race condition in llParcelMediaCommandList() where a parcel could be misidentified for a moving prim --- .../Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 8d5eea3d6e..1b98bd81e2 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -9595,7 +9595,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // according to the docs, this command only works if script owner and land owner are the same // lets add estate owners and gods, too, and use the generic permission check. - ILandObject landObject = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y); + Vector3 pos = m_host.AbsolutePosition; + + ILandObject landObject = World.LandChannel.GetLandObject(pos.X, pos.Y); if (!World.Permissions.CanEditParcelProperties(m_host.OwnerID, landObject, GroupPowers.ChangeMedia)) return; bool update = false; // send a ParcelMediaUpdate (and possibly change the land's media URL)? From 114fd042ded4b2b5e27866810c7af05a6568fc87 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Mar 2013 22:46:27 +0000 Subject: [PATCH 740/851] Fix minor race condition in llGetCameraPos() where an inconsistent post could be returned for a moving camera --- .../ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 1b98bd81e2..b1134e7c80 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -9916,21 +9916,22 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_host.AddScriptLPS(1); if (m_item.PermsGranter == UUID.Zero) - return new LSL_Vector(); + return Vector3.Zero; if ((m_item.PermsMask & ScriptBaseClass.PERMISSION_TRACK_CAMERA) == 0) { ShoutError("No permissions to track the camera"); - return new LSL_Vector(); + return Vector3.Zero; } ScenePresence presence = World.GetScenePresence(m_host.OwnerID); if (presence != null) { - LSL_Vector pos = new LSL_Vector(presence.CameraPosition.X, presence.CameraPosition.Y, presence.CameraPosition.Z); + LSL_Vector pos = new LSL_Vector(presence.CameraPosition); return pos; } - return new LSL_Vector(); + + return Vector3.Zero; } public LSL_Rotation llGetCameraRot() From c09f4ff4834aa2064489ef5376e51352dcdc6966 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Mar 2013 22:49:08 +0000 Subject: [PATCH 741/851] Fix minor race condition in llGetCameraRot() where inconsistent information could be returned for a rotating camera --- .../ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index b1134e7c80..42f9c8d61f 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -9939,21 +9939,21 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_host.AddScriptLPS(1); if (m_item.PermsGranter == UUID.Zero) - return new LSL_Rotation(); + return Quaternion.Identity; if ((m_item.PermsMask & ScriptBaseClass.PERMISSION_TRACK_CAMERA) == 0) { ShoutError("No permissions to track the camera"); - return new LSL_Rotation(); + return Quaternion.Identity; } ScenePresence presence = World.GetScenePresence(m_host.OwnerID); if (presence != null) { - return new LSL_Rotation(presence.CameraRotation.X, presence.CameraRotation.Y, presence.CameraRotation.Z, presence.CameraRotation.W); + return new LSL_Rotation(presence.CameraRotation); } - return new LSL_Rotation(); + return Quaternion.Identity; } /// From c1115e4c2e8a35fee3287add748881f3718deba5 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Mar 2013 22:56:26 +0000 Subject: [PATCH 742/851] Add ILandChannel.GetLandObject(Vector3 position) as this is a very common input to GetLandObject() This conforms to the existing ILandChannel.ParcelsNearPoint() method --- OpenSim/Framework/ILandChannel.cs | 7 +++++++ OpenSim/Region/CoreModules/World/Land/LandChannel.cs | 5 +++++ .../RegionCombinerModule/RegionCombinerLargeLandChannel.cs | 5 +++++ OpenSim/Tests/Common/Mock/TestLandChannel.cs | 5 +++++ 4 files changed, 22 insertions(+) diff --git a/OpenSim/Framework/ILandChannel.cs b/OpenSim/Framework/ILandChannel.cs index 869d4c8184..c46c03c4d0 100644 --- a/OpenSim/Framework/ILandChannel.cs +++ b/OpenSim/Framework/ILandChannel.cs @@ -55,6 +55,13 @@ namespace OpenSim.Region.Framework.Interfaces /// Land object at the point supplied ILandObject GetLandObject(float x, float y); + /// + /// Get the parcel at the specified point + /// + /// Vector where x and y components are between 0 and 256. z component is ignored. + /// Land object at the point supplied + ILandObject GetLandObject(Vector3 position); + /// /// Get the parcels near the specified point /// diff --git a/OpenSim/Region/CoreModules/World/Land/LandChannel.cs b/OpenSim/Region/CoreModules/World/Land/LandChannel.cs index 7fc358dc54..73c592d48f 100644 --- a/OpenSim/Region/CoreModules/World/Land/LandChannel.cs +++ b/OpenSim/Region/CoreModules/World/Land/LandChannel.cs @@ -95,6 +95,11 @@ namespace OpenSim.Region.CoreModules.World.Land return null; } + public ILandObject GetLandObject(Vector3 position) + { + return GetLandObject(position.X, position.Y); + } + public ILandObject GetLandObject(int x, int y) { if (m_landManagementModule != null) diff --git a/OpenSim/Region/RegionCombinerModule/RegionCombinerLargeLandChannel.cs b/OpenSim/Region/RegionCombinerModule/RegionCombinerLargeLandChannel.cs index a133e51da6..b4abc1d29d 100644 --- a/OpenSim/Region/RegionCombinerModule/RegionCombinerLargeLandChannel.cs +++ b/OpenSim/Region/RegionCombinerModule/RegionCombinerLargeLandChannel.cs @@ -68,6 +68,11 @@ public class RegionCombinerLargeLandChannel : ILandChannel RootRegionLandChannel.Clear(setupDefaultParcel); } + public ILandObject GetLandObject(Vector3 position) + { + return GetLandObject(position.X, position.Y); + } + public ILandObject GetLandObject(int x, int y) { //m_log.DebugFormat("[BIGLANDTESTINT]: <{0},{1}>", x, y); diff --git a/OpenSim/Tests/Common/Mock/TestLandChannel.cs b/OpenSim/Tests/Common/Mock/TestLandChannel.cs index 4b4d52d77e..3115035a04 100644 --- a/OpenSim/Tests/Common/Mock/TestLandChannel.cs +++ b/OpenSim/Tests/Common/Mock/TestLandChannel.cs @@ -81,6 +81,11 @@ namespace OpenSim.Tests.Common.Mock return obj; } + public ILandObject GetLandObject(Vector3 position) + { + return GetLandObject(position.X, position.Y); + } + public ILandObject GetLandObject(int x, int y) { return GetNoLand(); From ca99f418d8c09a9364d802d6cbd144c188c7b5cf Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Mar 2013 23:05:21 +0000 Subject: [PATCH 743/851] refactor: Use ILandChannel.GetLandObject(Vector3) in LSL_Api rather than having to continually take intermediate Vector3s to avoid race conditions --- .../Shared/Api/Implementation/LSL_Api.cs | 62 +++++++------------ 1 file changed, 21 insertions(+), 41 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 42f9c8d61f..9ab92c99f7 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -4176,13 +4176,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (presence != null) { // agent must be over the owners land - if (m_host.OwnerID == World.LandChannel.GetLandObject( - presence.AbsolutePosition.X, presence.AbsolutePosition.Y).LandData.OwnerID) + if (m_host.OwnerID == World.LandChannel.GetLandObject(presence.AbsolutePosition).LandData.OwnerID) { World.TeleportClientHome(agentId, presence.ControllingClient); } } } + ScriptSleep(5000); } @@ -4202,10 +4202,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (destination == String.Empty) destination = World.RegionInfo.RegionName; - Vector3 pos = presence.AbsolutePosition; - // agent must be over the owners land - if (m_host.OwnerID == World.LandChannel.GetLandObject(pos.X, pos.Y).LandData.OwnerID) + if (m_host.OwnerID == World.LandChannel.GetLandObject(presence.AbsolutePosition).LandData.OwnerID) { DoLLTeleport(presence, destination, targetPos, targetLookAt); } @@ -4235,10 +4233,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // agent must not be a god if (presence.GodLevel >= 200) return; - Vector3 pos = presence.AbsolutePosition; - // agent must be over the owners land - if (m_host.OwnerID == World.LandChannel.GetLandObject(pos.X, pos.Y).LandData.OwnerID) + if (m_host.OwnerID == World.LandChannel.GetLandObject(presence.AbsolutePosition).LandData.OwnerID) { World.RequestTeleportLocation(presence.ControllingClient, regionHandle, targetPos, targetLookAt, (uint)TeleportFlags.ViaLocation); } @@ -4442,7 +4438,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { if (pushrestricted) { - ILandObject targetlandObj = World.LandChannel.GetLandObject(PusheePos.X, PusheePos.Y); + ILandObject targetlandObj = World.LandChannel.GetLandObject(PusheePos); // We didn't find the parcel but region is push restricted so assume it is NOT ok if (targetlandObj == null) @@ -4457,7 +4453,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } else { - ILandObject targetlandObj = World.LandChannel.GetLandObject(PusheePos.X, PusheePos.Y); + ILandObject targetlandObj = World.LandChannel.GetLandObject(PusheePos); if (targetlandObj == null) { // We didn't find the parcel but region isn't push restricted so assume it's ok @@ -5715,8 +5711,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api UUID id = UUID.Zero; if (parcel || parcelOwned) { - pos = m_host.ParentGroup.RootPart.GetWorldPosition(); - land = World.LandChannel.GetLandObject(pos.X, pos.Y); + land = World.LandChannel.GetLandObject(m_host.ParentGroup.RootPart.GetWorldPosition()); if (land == null) { id = UUID.Zero; @@ -5742,8 +5737,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { if (!regionWide) { - pos = ssp.AbsolutePosition; - land = World.LandChannel.GetLandObject(pos.X, pos.Y); + land = World.LandChannel.GetLandObject(ssp.AbsolutePosition); if (land != null) { if (parcelOwned && land.LandData.OwnerID == id || @@ -5867,10 +5861,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api ScenePresence presence = World.GetScenePresence(agentID); if (presence != null) { - Vector3 pos = presence.AbsolutePosition; - // agent must be over the owners land - ILandObject land = World.LandChannel.GetLandObject(pos.X, pos.Y); + ILandObject land = World.LandChannel.GetLandObject(presence.AbsolutePosition); if (land == null) return; @@ -5892,9 +5884,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api ScenePresence presence = World.GetScenePresence(key); if (presence != null) // object is an avatar { - Vector3 pos = presence.AbsolutePosition; - - if (m_host.OwnerID == World.LandChannel.GetLandObject(pos.X, pos.Y).LandData.OwnerID) + if (m_host.OwnerID == World.LandChannel.GetLandObject(presence.AbsolutePosition).LandData.OwnerID) return 1; } else // object is not an avatar @@ -5903,9 +5893,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (obj != null) { - Vector3 pos = obj.AbsolutePosition; - - if (m_host.OwnerID == World.LandChannel.GetLandObject(pos.X, pos.Y).LandData.OwnerID) + if (m_host.OwnerID == World.LandChannel.GetLandObject(obj.AbsolutePosition).LandData.OwnerID) return 1; } } @@ -5985,10 +5973,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // if the land is group owned and the object is group owned by the same group // or // if the object is owned by a person with estate access. - - Vector3 pos = av.AbsolutePosition; - - ILandObject parcel = World.LandChannel.GetLandObject(pos.X, pos.Y); + ILandObject parcel = World.LandChannel.GetLandObject(av.AbsolutePosition); if (parcel != null) { if (m_host.OwnerID == parcel.LandData.OwnerID || @@ -6571,9 +6556,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { m_host.AddScriptLPS(1); UUID key; - Vector3 pos = m_host.AbsolutePosition; + ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition); - ILandObject land = World.LandChannel.GetLandObject(pos.X, pos.Y); if (World.Permissions.CanEditParcelProperties(m_host.OwnerID, land, GroupPowers.LandManageBanned)) { int expires = 0; @@ -7802,8 +7786,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { m_host.AddScriptLPS(1); - Vector3 pos = m_host.AbsolutePosition; - ILandObject land = World.LandChannel.GetLandObject(pos.X, pos.Y); + ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition); if (land.LandData.OwnerID != m_host.OwnerID) return; @@ -7817,8 +7800,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { m_host.AddScriptLPS(1); - Vector3 pos = m_host.AbsolutePosition; - ILandObject land = World.LandChannel.GetLandObject(pos.X, pos.Y); + ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition); if (land.LandData.OwnerID != m_host.OwnerID) return String.Empty; @@ -9595,9 +9577,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // according to the docs, this command only works if script owner and land owner are the same // lets add estate owners and gods, too, and use the generic permission check. - Vector3 pos = m_host.AbsolutePosition; - - ILandObject landObject = World.LandChannel.GetLandObject(pos.X, pos.Y); + ILandObject landObject = World.LandChannel.GetLandObject(m_host.AbsolutePosition); if (!World.Permissions.CanEditParcelProperties(m_host.OwnerID, landObject, GroupPowers.ChangeMedia)) return; bool update = false; // send a ParcelMediaUpdate (and possibly change the land's media URL)? @@ -10022,7 +10002,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { m_host.AddScriptLPS(1); UUID key; - ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y); + ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition); if (World.Permissions.CanEditParcelProperties(m_host.OwnerID, land, GroupPowers.LandManageBanned)) { int expires = 0; @@ -10063,7 +10043,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { m_host.AddScriptLPS(1); UUID key; - ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y); + ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition); if (World.Permissions.CanEditParcelProperties(m_host.OwnerID, land, GroupPowers.LandManageAllowed)) { if (UUID.TryParse(avatar, out key)) @@ -10090,7 +10070,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { m_host.AddScriptLPS(1); UUID key; - ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y); + ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition); if (World.Permissions.CanEditParcelProperties(m_host.OwnerID, land, GroupPowers.LandManageBanned)) { if (UUID.TryParse(avatar, out key)) @@ -10352,7 +10332,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void llResetLandBanList() { m_host.AddScriptLPS(1); - LandData land = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).LandData; + LandData land = World.LandChannel.GetLandObject(m_host.AbsolutePosition).LandData; if (land.OwnerID == m_host.OwnerID) { foreach (LandAccessEntry entry in land.ParcelAccessList) @@ -10369,7 +10349,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void llResetLandPassList() { m_host.AddScriptLPS(1); - LandData land = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).LandData; + LandData land = World.LandChannel.GetLandObject(m_host.AbsolutePosition).LandData; if (land.OwnerID == m_host.OwnerID) { foreach (LandAccessEntry entry in land.ParcelAccessList) From f8dab4f93fda5aa63bb796adfe64187a7799a7af Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Mar 2013 23:06:54 +0000 Subject: [PATCH 744/851] refactor: Use LSL_Vector(Vector3) constructor in llCastRay() --- .../Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 9ab92c99f7..3885ba6676 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -11462,7 +11462,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api list.Add(new LSL_Integer(linkNum)); if ((dataFlags & ScriptBaseClass.RC_GET_NORMAL) == ScriptBaseClass.RC_GET_NORMAL) - list.Add(new LSL_Vector(result.Normal.X, result.Normal.Y, result.Normal.Z)); + list.Add(new LSL_Vector(result.Normal)); values++; if (values >= count) From 55204ccde6099652652bbfa315abdd321e96a340 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Mar 2013 23:09:59 +0000 Subject: [PATCH 745/851] Fix minor race conditions in OSSL_Api functions where a parcel could be misidentified for moving prims. --- .../ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index bd83f02e1f..dc03ee6b6d 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -363,7 +363,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api //OSSL only may be used if object is in the same group as the parcel if (m_FunctionPerms[function].AllowedOwnerClasses.Contains("PARCEL_GROUP_MEMBER")) { - ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y); + ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition); if (land.LandData.GroupID == m_item.GroupID && land.LandData.GroupID != UUID.Zero) { @@ -374,7 +374,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api //Only Parcelowners may use the function if (m_FunctionPerms[function].AllowedOwnerClasses.Contains("PARCEL_OWNER")) { - ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y); + ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition); if (land.LandData.OwnerID == ownerID) { @@ -1502,8 +1502,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_host.AddScriptLPS(1); - ILandObject land - = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y); + ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition); if (land.LandData.OwnerID != m_host.OwnerID) return; @@ -1519,8 +1518,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_host.AddScriptLPS(1); - ILandObject land - = World.LandChannel.GetLandObject(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y); + ILandObject land = World.LandChannel.GetLandObject(m_host.AbsolutePosition); if (land.LandData.OwnerID != m_host.OwnerID) { From 56b333f301cc66cf6417c0e4853f1b930e54dbb0 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Mar 2013 23:12:58 +0000 Subject: [PATCH 746/851] minor: Use more compact libomv primitive constructors in osNpcGetPos() and osNpcGetRot() --- .../ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index dc03ee6b6d..0ab27333da 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -2513,13 +2513,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api ScenePresence sp = World.GetScenePresence(npcId); if (sp != null) - { - Vector3 pos = sp.AbsolutePosition; - return new LSL_Vector(pos.X, pos.Y, pos.Z); - } + return new LSL_Vector(sp.AbsolutePosition); } - return new LSL_Vector(0, 0, 0); + return Vector3.Zero; } public void osNpcMoveTo(LSL_Key npc, LSL_Vector pos) @@ -2587,7 +2584,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return new LSL_Rotation(sp.GetWorldRotation()); } - return new LSL_Rotation(Quaternion.Identity.X, Quaternion.Identity.Y, Quaternion.Identity.Z, Quaternion.Identity.W); + return Quaternion.Identity; } public void osNpcSetRot(LSL_Key npc, LSL_Rotation rotation) From 0ea0f8aa83eac5ce826483785ac5398286876e17 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Mar 2013 23:16:39 +0000 Subject: [PATCH 747/851] Fix bug in osCauseHealing() if called with an avatar ID for an avatar that is not in the scene. --- .../Shared/Api/Implementation/OSSL_Api.cs | 22 ++++++++----------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 0ab27333da..a6dca61bb9 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -3014,20 +3014,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api UUID avatarId = new UUID(avatar); ScenePresence presence = World.GetScenePresence(avatarId); - Vector3 pos = m_host.GetWorldPosition(); - bool result = World.ScriptDanger(m_host.LocalId, new Vector3((float)pos.X, (float)pos.Y, (float)pos.Z)); - if (result) + + if (presence != null && World.ScriptDanger(m_host.LocalId, m_host.GetWorldPosition())) { - if (presence != null) - { - float health = presence.Health; - health += (float)healing; - if (health >= 100) - { - health = 100; - } - presence.setHealthWithUpdate(health); - } + float health = presence.Health; + health += (float)healing; + + if (health >= 100) + health = 100; + + presence.setHealthWithUpdate(health); } } From 2fbc08d7dd30b16b3cf5198e175353ea49f08d91 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Mar 2013 23:19:18 +0000 Subject: [PATCH 748/851] refactor: minor cleanup in osGetAvatarList() --- .../Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index a6dca61bb9..bf1b45b3a6 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -3100,8 +3100,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (avatar != null && avatar.UUID != m_host.OwnerID) { result.Add(new LSL_String(avatar.UUID.ToString())); - OpenMetaverse.Vector3 ap = avatar.AbsolutePosition; - result.Add(new LSL_Vector(ap.X, ap.Y, ap.Z)); + result.Add(new LSL_Vector(avatar.AbsolutePosition)); result.Add(new LSL_String(avatar.Name)); } }); From 12900ea84e699f84943009f2d3218fcf5013c6f9 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Mar 2013 23:39:15 +0000 Subject: [PATCH 749/851] Log same environment information to Robust log as is already done for simulator logs, for debug purposes --- .../Framework/Servers/BaseOpenSimServer.cs | 12 +---------- OpenSim/Framework/Servers/ServerBase.cs | 20 +++++++++++++++++++ OpenSim/Region/Application/OpenSim.cs | 1 + OpenSim/Region/Application/OpenSimBase.cs | 4 ---- OpenSim/Server/Base/ServicesServerBase.cs | 5 +---- 5 files changed, 23 insertions(+), 19 deletions(-) diff --git a/OpenSim/Framework/Servers/BaseOpenSimServer.cs b/OpenSim/Framework/Servers/BaseOpenSimServer.cs index c0dc907ddc..035b3ad180 100644 --- a/OpenSim/Framework/Servers/BaseOpenSimServer.cs +++ b/OpenSim/Framework/Servers/BaseOpenSimServer.cs @@ -133,17 +133,7 @@ namespace OpenSim.Framework.Servers /// Performs initialisation of the scene, such as loading configuration from disk. /// public virtual void Startup() - { - m_log.Info("[STARTUP]: Beginning startup processing"); - - m_log.Info("[STARTUP]: OpenSimulator version: " + m_version + Environment.NewLine); - // clr version potentially is more confusing than helpful, since it doesn't tell us if we're running under Mono/MS .NET and - // the clr version number doesn't match the project version number under Mono. - //m_log.Info("[STARTUP]: Virtual machine runtime version: " + Environment.Version + Environment.NewLine); - m_log.InfoFormat( - "[STARTUP]: Operating system version: {0}, .NET platform {1}, {2}-bit\n", - Environment.OSVersion, Environment.OSVersion.Platform, Util.Is64BitProcess() ? "64" : "32"); - + { StartupSpecific(); TimeSpan timeTaken = DateTime.Now - m_startuptime; diff --git a/OpenSim/Framework/Servers/ServerBase.cs b/OpenSim/Framework/Servers/ServerBase.cs index 47baac8022..657444ca60 100644 --- a/OpenSim/Framework/Servers/ServerBase.cs +++ b/OpenSim/Framework/Servers/ServerBase.cs @@ -113,6 +113,26 @@ namespace OpenSim.Framework.Servers } } + /// + /// Log information about the circumstances in which we're running (OpenSimulator version number, CLR details, + /// etc.). + /// + public void LogEnvironmentInformation() + { + // FIXME: This should be done down in ServerBase but we need to sort out and refactor the log4net + // XmlConfigurator calls first accross servers. + m_log.InfoFormat("[SERVER BASE]: Starting in {0}", m_startupDirectory); + + m_log.InfoFormat("[SERVER BASE]: OpenSimulator version: {0}", m_version); + + // clr version potentially is more confusing than helpful, since it doesn't tell us if we're running under Mono/MS .NET and + // the clr version number doesn't match the project version number under Mono. + //m_log.Info("[STARTUP]: Virtual machine runtime version: " + Environment.Version + Environment.NewLine); + m_log.InfoFormat( + "[SERVER BASE]: Operating system version: {0}, .NET platform {1}, {2}-bit", + Environment.OSVersion, Environment.OSVersion.Platform, Util.Is64BitProcess() ? "64" : "32"); + } + public void RegisterCommonAppenders(IConfig startupConfig) { ILoggerRepository repository = LogManager.GetRepository(); diff --git a/OpenSim/Region/Application/OpenSim.cs b/OpenSim/Region/Application/OpenSim.cs index 4075edb392..11dd052a19 100644 --- a/OpenSim/Region/Application/OpenSim.cs +++ b/OpenSim/Region/Application/OpenSim.cs @@ -159,6 +159,7 @@ namespace OpenSim MainConsole.Instance = m_console; + LogEnvironmentInformation(); RegisterCommonAppenders(Config.Configs["Startup"]); RegisterConsoleCommands(); diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs index 137bd8199c..c555915eac 100644 --- a/OpenSim/Region/Application/OpenSimBase.cs +++ b/OpenSim/Region/Application/OpenSimBase.cs @@ -134,10 +134,6 @@ namespace OpenSim /// public OpenSimBase(IConfigSource configSource) : base() { - // FIXME: This should be done down in ServerBase but we need to sort out and refactor the log4net - // XmlConfigurator calls first accross servers. - m_log.InfoFormat("[SERVER BASE]: Starting in {0}", m_startupDirectory); - LoadConfigSettings(configSource); } diff --git a/OpenSim/Server/Base/ServicesServerBase.cs b/OpenSim/Server/Base/ServicesServerBase.cs index 5aff72ac48..7c8e6b798f 100644 --- a/OpenSim/Server/Base/ServicesServerBase.cs +++ b/OpenSim/Server/Base/ServicesServerBase.cs @@ -186,10 +186,7 @@ namespace OpenSim.Server.Base XmlConfigurator.Configure(); } - // FIXME: This should be done down in ServerBase but we need to sort out and refactor the log4net - // XmlConfigurator calls first accross servers. - m_log.InfoFormat("[SERVER BASE]: Starting in {0}", m_startupDirectory); - + LogEnvironmentInformation(); RegisterCommonAppenders(startupConfig); if (startupConfig.GetString("PIDFile", String.Empty) != String.Empty) From 081271e1d7fbf18c918a676d17b40edc8b0b6bfb Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 14 Mar 2013 23:44:16 +0000 Subject: [PATCH 750/851] minor: remove mono compiler warnings in LSL_Api.cs --- .../ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 3885ba6676..cf165716b3 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -5707,8 +5707,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } ILandObject land; - Vector3 pos; UUID id = UUID.Zero; + if (parcel || parcelOwned) { land = World.LandChannel.GetLandObject(m_host.ParentGroup.RootPart.GetWorldPosition()); @@ -11028,7 +11028,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api World.ForEachScenePresence(delegate(ScenePresence sp) { Vector3 ac = sp.AbsolutePosition - rayStart; - Vector3 bc = sp.AbsolutePosition - rayEnd; +// Vector3 bc = sp.AbsolutePosition - rayEnd; double d = Math.Abs(Vector3.Mag(Vector3.Cross(ab, ac)) / Vector3.Distance(rayStart, rayEnd)); @@ -11118,7 +11118,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api radius = Math.Abs(maxZ); radius = radius*1.413f; Vector3 ac = group.AbsolutePosition - rayStart; - Vector3 bc = group.AbsolutePosition - rayEnd; +// Vector3 bc = group.AbsolutePosition - rayEnd; double d = Math.Abs(Vector3.Mag(Vector3.Cross(ab, ac)) / Vector3.Distance(rayStart, rayEnd)); From e25ba116a337fe360145ad0a430ee5326d318859 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 15 Mar 2013 00:06:42 +0000 Subject: [PATCH 751/851] refactor: make llGetLinkName() and llGetLinkKey() use a common GetLinkEntity() method --- .../Shared/Api/Implementation/LSL_Api.cs | 164 +++++++++--------- 1 file changed, 80 insertions(+), 84 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index cf165716b3..8adf4d9e5d 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -283,6 +283,80 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } + /// + /// Get a given link entity from a linkset (linked objects and any sitting avatars). + /// + /// + /// If there are any ScenePresence's in the linkset (i.e. because they are sat upon one of the prims), then + /// these are counted as extra entities that correspond to linknums beyond the number of prims in the linkset. + /// The ScenePresences receive linknums in the order in which they sat. + /// + /// + /// The link entity. null if not found. + /// + /// + /// Can be either a non-negative integer or ScriptBaseClass.LINK_THIS (-4). + /// If ScriptBaseClass.LINK_THIS then the entity containing the script is returned. + /// If the linkset has one entity and a linknum of zero is given, then the single entity is returned. If any + /// positive integer is given in this case then null is returned. + /// If the linkset has more than one entity and a linknum greater than zero but equal to or less than the number + /// of entities, then the entity which corresponds to that linknum is returned. + /// Otherwise, if a positive linknum is given which is greater than the number of entities in the linkset, then + /// null is returned. + /// + public ISceneEntity GetLinkEntity(int linknum) + { + if (linknum < 0) + { + if (linknum == ScriptBaseClass.LINK_THIS) + return m_host; + else + return null; + } + + int actualPrimCount = m_host.ParentGroup.PrimCount; + List sittingAvatarIds = m_host.ParentGroup.GetSittingAvatars(); + int adjustedPrimCount = actualPrimCount + sittingAvatarIds.Count; + + // Special case for a single prim. In this case the linknum is zero. However, this will not match a single + // prim that has any avatars sat upon it (in which case the root prim is link 1). + if (linknum == 0) + { + if (actualPrimCount == 1 && sittingAvatarIds.Count == 0) + return m_host; + + return null; + } + // Special case to handle a single prim with sitting avatars. GetLinkPart() would only match zero but + // here we must match 1 (ScriptBaseClass.LINK_ROOT). + else if (linknum == ScriptBaseClass.LINK_ROOT && actualPrimCount == 1) + { + if (sittingAvatarIds.Count > 0) + return m_host.ParentGroup.RootPart; + else + return null; + } + else if (linknum <= adjustedPrimCount) + { + if (linknum <= actualPrimCount) + { + return m_host.ParentGroup.GetLinkNumPart(linknum); + } + else + { + ScenePresence sp = World.GetScenePresence(sittingAvatarIds[linknum - actualPrimCount - 1]); + if (sp != null) + return sp; + else + return null; + } + } + else + { + return null; + } + } + public List GetLinkParts(int linkType) { return GetLinkParts(m_host, linkType); @@ -3697,47 +3771,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { m_host.AddScriptLPS(1); - if (linknum < 0) - { - if (linknum == ScriptBaseClass.LINK_THIS) - return m_host.UUID.ToString(); - else - return ScriptBaseClass.NULL_KEY; - } + ISceneEntity entity = GetLinkEntity(linknum); - int actualPrimCount = m_host.ParentGroup.PrimCount; - List sittingAvatarIds = m_host.ParentGroup.GetSittingAvatars(); - int adjustedPrimCount = actualPrimCount + sittingAvatarIds.Count; - - // Special case for a single prim. In this case the linknum is zero. However, this will not match a single - // prim that has any avatars sat upon it (in which case the root prim is link 1). - if (linknum == 0) - { - if (actualPrimCount == 1 && sittingAvatarIds.Count == 0) - return m_host.UUID.ToString(); - - return ScriptBaseClass.NULL_KEY; - } - // Special case to handle a single prim with sitting avatars. GetLinkPart() would only match zero but - // here we must match 1 (ScriptBaseClass.LINK_ROOT). - else if (linknum == 1 && actualPrimCount == 1) - { - if (sittingAvatarIds.Count > 0) - return m_host.ParentGroup.RootPart.UUID.ToString(); - else - return ScriptBaseClass.NULL_KEY; - } - else if (linknum <= adjustedPrimCount) - { - if (linknum <= actualPrimCount) - return m_host.ParentGroup.GetLinkNumPart(linknum).UUID.ToString(); - else - return sittingAvatarIds[linknum - actualPrimCount - 1].ToString(); - } + if (entity != null) + return entity.UUID.ToString(); else - { return ScriptBaseClass.NULL_KEY; - } } /// @@ -3783,55 +3822,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { m_host.AddScriptLPS(1); - if (linknum < 0) - { - if (linknum == ScriptBaseClass.LINK_THIS) - return m_host.Name; - else - return ScriptBaseClass.NULL_KEY; - } + ISceneEntity entity = GetLinkEntity(linknum); - int actualPrimCount = m_host.ParentGroup.PrimCount; - List sittingAvatarIds = m_host.ParentGroup.GetSittingAvatars(); - int adjustedPrimCount = actualPrimCount + sittingAvatarIds.Count; - - // Special case for a single prim. In this case the linknum is zero. However, this will not match a single - // prim that has any avatars sat upon it (in which case the root prim is link 1). - if (linknum == 0) - { - if (actualPrimCount == 1 && sittingAvatarIds.Count == 0) - return m_host.Name; - - return ScriptBaseClass.NULL_KEY; - } - // Special case to handle a single prim with sitting avatars. GetLinkPart() would only match zero but - // here we must match 1 (ScriptBaseClass.LINK_ROOT). - else if (linknum == 1 && actualPrimCount == 1) - { - if (sittingAvatarIds.Count > 0) - return m_host.ParentGroup.RootPart.Name; - else - return ScriptBaseClass.NULL_KEY; - } - else if (linknum <= adjustedPrimCount) - { - if (linknum <= actualPrimCount) - { - return m_host.ParentGroup.GetLinkNumPart(linknum).Name; - } - else - { - ScenePresence sp = World.GetScenePresence(sittingAvatarIds[linknum - actualPrimCount - 1]); - if (sp != null) - return sp.Name; - else - return ScriptBaseClass.NULL_KEY; - } - } + if (entity != null) + return entity.Name; else - { return ScriptBaseClass.NULL_KEY; - } } public LSL_Integer llGetInventoryNumber(int type) From cb74186888d987ec353a257d677aa35b0dc63c0a Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 15 Mar 2013 00:27:06 +0000 Subject: [PATCH 752/851] Add ParentGroup.HasGroupChanged = true setting to DAExampleModule as this is necessary to get attributes to save (though this probably happens anyway due to the prim move) --- .../CoreModules/Framework/DynamicAttributes/DAExampleModule.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DAExampleModule.cs b/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DAExampleModule.cs index f8744950bf..854e00dc35 100644 --- a/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DAExampleModule.cs +++ b/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DAExampleModule.cs @@ -106,6 +106,8 @@ namespace OpenSim.Region.Framework.DynamicAttributes.DAExampleModule sop.DynAttrs[Name] = attrs; } + + sop.ParentGroup.HasGroupChanged = true; m_dialogMod.SendGeneralAlert(string.Format("{0} {1} moved {2} times", sop.Name, sop.UUID, newValue)); From d3e76730bd8e89b684cb856bcb7192246f201c2a Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 15 Mar 2013 00:49:35 +0000 Subject: [PATCH 753/851] Add example code to DOExampleModule to pull data from that previously saved by DAExampleModule when instantiating a dynamc object. --- .../DynamicAttributes/DAExampleModule.cs | 8 +++--- .../DynamicAttributes/DOExampleModule.cs | 26 +++++++++++++++++-- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DAExampleModule.cs b/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DAExampleModule.cs index 854e00dc35..1f1568f390 100644 --- a/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DAExampleModule.cs +++ b/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DAExampleModule.cs @@ -39,7 +39,7 @@ using OpenSim.Region.Framework; using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes; -namespace OpenSim.Region.Framework.DynamicAttributes.DAExampleModule +namespace OpenSim.Region.CoreModules.Framework.DynamicAttributes.DAExampleModule { [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule", Id = "DAExampleModule")] public class DAExampleModule : INonSharedRegionModule @@ -48,6 +48,8 @@ namespace OpenSim.Region.Framework.DynamicAttributes.DAExampleModule private static readonly bool ENABLED = false; // enable for testing + public const string DANamespace = "DAExample Module"; + protected Scene m_scene; protected IDialogModule m_dialogMod; @@ -89,7 +91,7 @@ namespace OpenSim.Region.Framework.DynamicAttributes.DAExampleModule if (sop == null) return true; - if (!sop.DynAttrs.TryGetValue(Name, out attrs)) + if (!sop.DynAttrs.TryGetValue(DANamespace, out attrs)) attrs = new OSDMap(); OSDInteger newValue; @@ -104,7 +106,7 @@ namespace OpenSim.Region.Framework.DynamicAttributes.DAExampleModule attrs["moves"] = newValue; - sop.DynAttrs[Name] = attrs; + sop.DynAttrs[DANamespace] = attrs; } sop.ParentGroup.HasGroupChanged = true; diff --git a/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DOExampleModule.cs b/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DOExampleModule.cs index 71bb3f0e60..650aa35974 100644 --- a/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DOExampleModule.cs +++ b/OpenSim/Region/CoreModules/Framework/DynamicAttributes/DOExampleModule.cs @@ -36,6 +36,7 @@ using OpenMetaverse.Packets; using OpenMetaverse.StructuredData; using OpenSim.Framework; using OpenSim.Region.Framework; +using OpenSim.Region.CoreModules.Framework.DynamicAttributes.DAExampleModule; using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes; @@ -50,9 +51,14 @@ namespace OpenSim.Region.Framework.DynamicAttributes.DOExampleModule public class MyObject { public int Moves { get; set; } + + public MyObject(int moves) + { + Moves = moves; + } } - // private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); private static readonly bool ENABLED = false; // enable for testing @@ -92,7 +98,23 @@ namespace OpenSim.Region.Framework.DynamicAttributes.DOExampleModule private void OnObjectAddedToScene(SceneObjectGroup so) { - so.RootPart.DynObjs.Add(Name, new MyObject()); + SceneObjectPart rootPart = so.RootPart; + + OSDMap attrs; + + int movesSoFar = 0; + +// Console.WriteLine("Here for {0}", so.Name); + + if (rootPart.DynAttrs.TryGetValue(DAExampleModule.DANamespace, out attrs)) + { + movesSoFar = attrs["moves"].AsInteger(); + + m_log.DebugFormat( + "[DO EXAMPLE MODULE]: Found saved moves {0} for {1} in {2}", movesSoFar, so.Name, m_scene.Name); + } + + rootPart.DynObjs.Add(Name, new MyObject(movesSoFar)); } private bool OnSceneGroupMove(UUID groupId, Vector3 delta) From c10c43d6f6b0a79848b9a655533c27ab58cd2993 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Fri, 15 Mar 2013 13:59:34 -0700 Subject: [PATCH 754/851] Fix server statistics always reporting zero for total network bytes in/out. Clean up some parameter code in Statistics.Binary. --- .../ClientStack/Linden/UDP/LLUDPServer.cs | 51 ++++++++++++------- .../Framework/Monitoring/ServerStats.cs | 41 +++++++++------ 2 files changed, 58 insertions(+), 34 deletions(-) diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs index a7628d2ec3..72516cd15b 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs @@ -278,25 +278,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP m_shouldCollectStats = false; if (config != null) { - if (config.Contains("enabled") && config.GetBoolean("enabled")) - { - if (config.Contains("collect_packet_headers")) - m_shouldCollectStats = config.GetBoolean("collect_packet_headers"); - if (config.Contains("packet_headers_period_seconds")) - { - binStatsMaxFilesize = TimeSpan.FromSeconds(config.GetInt("region_stats_period_seconds")); - } - if (config.Contains("stats_dir")) - { - binStatsDir = config.GetString("stats_dir"); - } - } - else - { - m_shouldCollectStats = false; - } - } - #endregion BinaryStats + m_shouldCollectStats = config.GetBoolean("Enabled", false); + binStatsMaxFilesize = TimeSpan.FromSeconds(config.GetInt("packet_headers_period_seconds", 300)); + binStatsDir = config.GetString("stats_dir", "."); + m_aggregatedBWStats = config.GetBoolean("aggregatedBWStats", false); + } + #endregion BinaryStats m_throttle = new TokenBucket(null, sceneThrottleBps); ThrottleRates = new ThrottleRates(configSource); @@ -1266,8 +1253,34 @@ namespace OpenSim.Region.ClientStack.LindenUDP static object binStatsLogLock = new object(); static string binStatsDir = ""; + //for Aggregated In/Out BW logging + static bool m_aggregatedBWStats = false; + static long m_aggregatedBytesIn = 0; + static long m_aggregatedByestOut = 0; + static object aggBWStatsLock = new object(); + + public static long AggregatedLLUDPBytesIn + { + get { return m_aggregatedBytesIn; } + } + public static long AggregatedLLUDPBytesOut + { + get {return m_aggregatedByestOut;} + } + public static void LogPacketHeader(bool incoming, uint circuit, byte flags, PacketType packetType, ushort size) { + if (m_aggregatedBWStats) + { + lock (aggBWStatsLock) + { + if (incoming) + m_aggregatedBytesIn += size; + else + m_aggregatedByestOut += size; + } + } + if (!m_shouldCollectStats) return; // Binary logging format is TTTTTTTTCCCCFPPPSS, T=Time, C=Circuit, F=Flags, P=PacketType, S=size diff --git a/OpenSim/Region/OptionalModules/Framework/Monitoring/ServerStats.cs b/OpenSim/Region/OptionalModules/Framework/Monitoring/ServerStats.cs index a3d24363b1..6e74ce0f50 100644 --- a/OpenSim/Region/OptionalModules/Framework/Monitoring/ServerStats.cs +++ b/OpenSim/Region/OptionalModules/Framework/Monitoring/ServerStats.cs @@ -140,9 +140,12 @@ public class ServerStats : ISharedRegionModule } #endregion ISharedRegionModule - private void MakeStat(string pName, string pUnit, string pContainer, Action act) + private void MakeStat(string pName, string pDesc, string pUnit, string pContainer, Action act) { - Stat stat = new Stat(pName, pName, "", pUnit, CategoryServer, pContainer, StatType.Pull, act, StatVerbosity.Info); + string desc = pDesc; + if (desc == null) + desc = pName; + Stat stat = new Stat(pName, pName, desc, pUnit, CategoryServer, pContainer, StatType.Pull, act, StatVerbosity.Info); StatsManager.RegisterStat(stat); RegisteredStats.Add(pName, stat); } @@ -166,16 +169,16 @@ public class ServerStats : ISharedRegionModule StatsManager.RegisterStat(tempStat); RegisteredStats.Add(tempName, tempStat); - MakeStat("TotalProcessorTime", "sec", ContainerProcessor, + MakeStat("TotalProcessorTime", null, "sec", ContainerProcessor, (s) => { s.Value = Process.GetCurrentProcess().TotalProcessorTime.TotalSeconds; }); - MakeStat("UserProcessorTime", "sec", ContainerProcessor, + MakeStat("UserProcessorTime", null, "sec", ContainerProcessor, (s) => { s.Value = Process.GetCurrentProcess().UserProcessorTime.TotalSeconds; }); - MakeStat("PrivilegedProcessorTime", "sec", ContainerProcessor, + MakeStat("PrivilegedProcessorTime", null, "sec", ContainerProcessor, (s) => { s.Value = Process.GetCurrentProcess().PrivilegedProcessorTime.TotalSeconds; }); - MakeStat("Threads", "threads", ContainerProcessor, + MakeStat("Threads", null, "threads", ContainerProcessor, (s) => { s.Value = Process.GetCurrentProcess().Threads.Count; }); } catch (Exception e) @@ -196,8 +199,10 @@ public class ServerStats : ISharedRegionModule string nicInterfaceType = nic.NetworkInterfaceType.ToString(); if (!okInterfaceTypes.Contains(nicInterfaceType)) { - m_log.DebugFormat("{0} Not including stats for network interface '{1}' of type '{2}'. To include, add to [Monitoring]NetworkInterfaceTypes='Ethernet,Loopback'", + m_log.DebugFormat("{0} Not including stats for network interface '{1}' of type '{2}'.", LogHeader, nic.Name, nicInterfaceType); + m_log.DebugFormat("{0} To include, add to comma separated list in [Monitoring]NetworkInterfaceTypes={1}", + LogHeader, NetworkInterfaceTypes); continue; } @@ -206,14 +211,15 @@ public class ServerStats : ISharedRegionModule IPv4InterfaceStatistics nicStats = nic.GetIPv4Statistics(); if (nicStats != null) { - MakeStat("BytesRcvd/" + nic.Name, "KB", ContainerNetwork, + MakeStat("BytesRcvd/" + nic.Name, nic.Name, "KB", ContainerNetwork, (s) => { LookupNic(s, (ns) => { return ns.BytesReceived; }, 1024.0); }); - MakeStat("BytesSent/" + nic.Name, "KB", ContainerNetwork, + MakeStat("BytesSent/" + nic.Name, nic.Name, "KB", ContainerNetwork, (s) => { LookupNic(s, (ns) => { return ns.BytesSent; }, 1024.0); }); - MakeStat("TotalBytes/" + nic.Name, "KB", ContainerNetwork, + MakeStat("TotalBytes/" + nic.Name, nic.Name, "KB", ContainerNetwork, (s) => { LookupNic(s, (ns) => { return ns.BytesSent + ns.BytesReceived; }, 1024.0); }); } } + // TODO: add IPv6 (it may actually happen someday) } } catch (Exception e) @@ -221,13 +227,13 @@ public class ServerStats : ISharedRegionModule m_log.ErrorFormat("{0} Exception creating 'Network Interface': {1}", LogHeader, e); } - MakeStat("ProcessMemory", "MB", ContainerMemory, + MakeStat("ProcessMemory", null, "MB", ContainerMemory, (s) => { s.Value = Process.GetCurrentProcess().WorkingSet64 / 1024d / 1024d; }); - MakeStat("ObjectMemory", "MB", ContainerMemory, + MakeStat("ObjectMemory", null, "MB", ContainerMemory, (s) => { s.Value = GC.GetTotalMemory(false) / 1024d / 1024d; }); - MakeStat("LastMemoryChurn", "MB/sec", ContainerMemory, + MakeStat("LastMemoryChurn", null, "MB/sec", ContainerMemory, (s) => { s.Value = Math.Round(MemoryWatchdog.LastMemoryChurn * 1000d / 1024d / 1024d, 3); }); - MakeStat("AverageMemoryChurn", "MB/sec", ContainerMemory, + MakeStat("AverageMemoryChurn", null, "MB/sec", ContainerMemory, (s) => { s.Value = Math.Round(MemoryWatchdog.AverageMemoryChurn * 1000d / 1024d / 1024d, 3); }); } @@ -263,6 +269,8 @@ public class ServerStats : ISharedRegionModule } } + // Lookup the nic that goes with this stat and set the value by using a fetch action. + // Not sure about closure with delegates inside delegates. private delegate double GetIPv4StatValue(IPv4InterfaceStatistics interfaceStat); private void LookupNic(Stat stat, GetIPv4StatValue getter, double factor) { @@ -275,7 +283,10 @@ public class ServerStats : ISharedRegionModule { IPv4InterfaceStatistics intrStats = nic.GetIPv4Statistics(); if (intrStats != null) - stat.Value = Math.Round(getter(intrStats) / factor, 3); + { + double newVal = Math.Round(getter(intrStats) / factor, 3); + stat.Value = newVal; + } break; } } From 78b25094dce9bbc79848da1208c44f0d9ebe8c76 Mon Sep 17 00:00:00 2001 From: Vegaslon Date: Mon, 11 Mar 2013 19:08:38 -0400 Subject: [PATCH 755/851] BulletSim: Tweak vertical angular attraction to remove double VehicleOrientation application fixing the problem with the vertical attractor pushing vehicles nose first into ground when tilted on side. Signed-off-by: Robert Adams --- OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs index 235cefc81b..d34715969e 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs @@ -1335,7 +1335,7 @@ namespace OpenSim.Region.Physics.BulletSPlugin Vector3 unscaledContribVerticalErrorV = vertContributionV; // DEBUG DEBUG vertContributionV /= m_verticalAttractionTimescale; - VehicleRotationalVelocity += vertContributionV * VehicleOrientation; + VehicleRotationalVelocity += vertContributionV; VDetailLog("{0}, MoveAngular,verticalAttraction,,origRotVW={1},vertError={2},unscaledV={3},eff={4},ts={5},vertContribV={6}", Prim.LocalID, origRotVelW, verticalError, unscaledContribVerticalErrorV, From 032b645e80e3d5a517cfe9b3f17750ddb8ed6b8f Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Fri, 15 Mar 2013 14:07:28 -0700 Subject: [PATCH 756/851] Add Vegaslon to CONTRIBUTORS.txt --- CONTRIBUTORS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.txt b/CONTRIBUTORS.txt index 5e50903d7f..8ff55df3da 100644 --- a/CONTRIBUTORS.txt +++ b/CONTRIBUTORS.txt @@ -155,6 +155,7 @@ what it is today. * tglion * tlaukkan/Tommil (Tommi S. E. Laukkanen, Bubble Cloud) * tyre +* Vegaslon * VikingErik * Vytek * webmage (IBM) From 924d6e892a7b5a61e900b910a5a35de488963529 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 15 Mar 2013 21:53:39 +0000 Subject: [PATCH 757/851] Make it possible to chain another asset service underneath the de-duplicating XAssetService. This makes it possible to use the dedupliicating service without needing to migrate all the existing asset data beforehand. Currently controlled by a ChainedServiceModule setting in [AssetService] (e.g. ChainedServiceModule = "OpenSim.Services.AssetService.dll:AssetService") Not yet ready for use. --- .../Services/AssetService/XAssetService.cs | 51 ++++++++++++++----- .../AssetService/XAssetServiceBase.cs | 47 +++++++++++++---- prebuild.xml | 1 + 3 files changed, 76 insertions(+), 23 deletions(-) diff --git a/OpenSim/Services/AssetService/XAssetService.cs b/OpenSim/Services/AssetService/XAssetService.cs index a1d10ed5c5..7dd48c9a94 100644 --- a/OpenSim/Services/AssetService/XAssetService.cs +++ b/OpenSim/Services/AssetService/XAssetService.cs @@ -39,8 +39,7 @@ using OpenMetaverse; namespace OpenSim.Services.AssetService { /// - /// This will be developed into a de-duplicating asset service. - /// XXX: Currently it's a just a copy of the existing AssetService. so please don't attempt to use it. + /// A de-duplicating asset service. /// public class XAssetService : XAssetServiceBase, IAssetService { @@ -48,7 +47,9 @@ namespace OpenSim.Services.AssetService protected static XAssetService m_RootInstance; - public XAssetService(IConfigSource config) : base(config) + public XAssetService(IConfigSource config) : this(config, "AssetService") {} + + public XAssetService(IConfigSource config, string configName) : base(config, configName) { if (m_RootInstance == null) { @@ -56,22 +57,21 @@ namespace OpenSim.Services.AssetService if (m_AssetLoader != null) { - IConfig assetConfig = config.Configs["AssetService"]; + IConfig assetConfig = config.Configs[configName]; if (assetConfig == null) throw new Exception("No AssetService configuration"); - string loaderArgs = assetConfig.GetString("AssetLoaderArgs", - String.Empty); + string loaderArgs = assetConfig.GetString("AssetLoaderArgs", String.Empty); bool assetLoaderEnabled = assetConfig.GetBoolean("AssetLoaderEnabled", true); - if (assetLoaderEnabled) + if (assetLoaderEnabled && !HasChainedAssetService) { m_log.DebugFormat("[XASSET SERVICE]: Loading default asset set from {0}", loaderArgs); m_AssetLoader.ForEachDefaultXmlAsset( loaderArgs, - delegate(AssetBase a) + a => { AssetBase existingAsset = Get(a.ID); // AssetMetadata existingMetadata = GetMetadata(a.ID); @@ -103,7 +103,14 @@ namespace OpenSim.Services.AssetService try { - return m_Database.GetAsset(assetID); + AssetBase asset = m_Database.GetAsset(assetID); + + if (asset != null) + return asset; + else if (HasChainedAssetService) + return m_ChainedAssetService.Get(id); + else + return null; } catch (Exception e) { @@ -128,9 +135,17 @@ namespace OpenSim.Services.AssetService AssetBase asset = m_Database.GetAsset(assetID); if (asset != null) + { return asset.Metadata; - - return null; + } + else if (HasChainedAssetService) + { + return m_ChainedAssetService.GetMetadata(id); + } + else + { + return null; + } } public virtual byte[] GetData(string id) @@ -143,7 +158,13 @@ namespace OpenSim.Services.AssetService return null; AssetBase asset = m_Database.GetAsset(assetID); - return asset.Data; + + if (asset != null) + return asset.Data; + else if (HasChainedAssetService) + return m_ChainedAssetService.GetData(id); + else + return null; } public virtual bool Get(string id, Object sender, AssetRetrieved handler) @@ -157,6 +178,9 @@ namespace OpenSim.Services.AssetService AssetBase asset = m_Database.GetAsset(assetID); + if (asset == null && HasChainedAssetService) + asset = m_ChainedAssetService.Get(id); + //m_log.DebugFormat("[XASSET SERVICE]: Got asset {0}", asset); handler(id, sender, asset); @@ -194,6 +218,9 @@ namespace OpenSim.Services.AssetService if (!UUID.TryParse(id, out assetID)) return false; + // Don't bother deleting from a chained asset service. This isn't a big deal since deleting happens + // very rarely. + return m_Database.Delete(id); } } diff --git a/OpenSim/Services/AssetService/XAssetServiceBase.cs b/OpenSim/Services/AssetService/XAssetServiceBase.cs index 0c5c2c3d15..c118c9dac1 100644 --- a/OpenSim/Services/AssetService/XAssetServiceBase.cs +++ b/OpenSim/Services/AssetService/XAssetServiceBase.cs @@ -27,9 +27,11 @@ using System; using System.Reflection; +using log4net; using Nini.Config; using OpenSim.Framework; using OpenSim.Data; +using OpenSim.Server.Base; using OpenSim.Services.Interfaces; using OpenSim.Services.Base; @@ -37,10 +39,15 @@ namespace OpenSim.Services.AssetService { public class XAssetServiceBase : ServiceBase { - protected IXAssetDataPlugin m_Database = null; - protected IAssetLoader m_AssetLoader = null; + private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - public XAssetServiceBase(IConfigSource config) : base(config) + protected IXAssetDataPlugin m_Database; + protected IAssetLoader m_AssetLoader; + protected IAssetService m_ChainedAssetService; + + protected bool HasChainedAssetService { get { return m_ChainedAssetService != null; } } + + public XAssetServiceBase(IConfigSource config, string configName) : base(config) { string dllName = String.Empty; string connString = String.Empty; @@ -48,7 +55,7 @@ namespace OpenSim.Services.AssetService // // Try reading the [AssetService] section first, if it exists // - IConfig assetConfig = config.Configs["AssetService"]; + IConfig assetConfig = config.Configs[configName]; if (assetConfig != null) { dllName = assetConfig.GetString("StorageProvider", dllName); @@ -77,17 +84,35 @@ namespace OpenSim.Services.AssetService if (m_Database == null) throw new Exception("Could not find a storage interface in the given module"); + string chainedAssetServiceDesignator = assetConfig.GetString("ChainedServiceModule", null); + + if (chainedAssetServiceDesignator != null) + { + m_log.InfoFormat( + "[XASSET SERVICE BASE]: Loading chained asset service from {0}", chainedAssetServiceDesignator); + + Object[] args = new Object[] { config, configName }; + m_ChainedAssetService = ServerUtils.LoadPlugin(chainedAssetServiceDesignator, args); + + if (!HasChainedAssetService) + throw new Exception( + String.Format("Failed to load ChainedAssetService from {0}", chainedAssetServiceDesignator)); + } + m_Database.Initialise(connString); - string loaderName = assetConfig.GetString("DefaultAssetLoader", - String.Empty); - - if (loaderName != String.Empty) + if (HasChainedAssetService) { - m_AssetLoader = LoadPlugin(loaderName); + string loaderName = assetConfig.GetString("DefaultAssetLoader", + String.Empty); - if (m_AssetLoader == null) - throw new Exception("Asset loader could not be loaded"); + if (loaderName != String.Empty) + { + m_AssetLoader = LoadPlugin(loaderName); + + if (m_AssetLoader == null) + throw new Exception("Asset loader could not be loaded"); + } } } } diff --git a/prebuild.xml b/prebuild.xml index 00451283a8..4d27a0bb4c 100644 --- a/prebuild.xml +++ b/prebuild.xml @@ -899,6 +899,7 @@ + From 3a7d9f740e3574bb3091d40fa35c7abf642c1f3c Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 15 Mar 2013 22:05:18 +0000 Subject: [PATCH 758/851] minor: Make logged message in ServerUtils more consistent. --- OpenSim/Server/Base/ServerUtils.cs | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/OpenSim/Server/Base/ServerUtils.cs b/OpenSim/Server/Base/ServerUtils.cs index 2e6d279e5f..210a31400c 100644 --- a/OpenSim/Server/Base/ServerUtils.cs +++ b/OpenSim/Server/Base/ServerUtils.cs @@ -138,17 +138,17 @@ namespace OpenSim.Server.Base case ExtensionChange.Add: if (a.AddinFile.Contains(Registry.DefaultAddinsFolder)) { - m_log.InfoFormat("[SERVER]: Adding {0} from registry", a.Name); + m_log.InfoFormat("[SERVER UTILS]: Adding {0} from registry", a.Name); connector.PluginPath = System.IO.Path.Combine(Registry.DefaultAddinsFolder,a.Name.Replace(',', '.')); } else { - m_log.InfoFormat("[SERVER]: Adding {0} from ./bin", a.Name); + m_log.InfoFormat("[SERVER UTILS]: Adding {0} from ./bin", a.Name); connector.PluginPath = a.AddinFile; } LoadPlugin(connector); break; case ExtensionChange.Remove: - m_log.InfoFormat("[SERVER]: Removing {0}", a.Name); + m_log.InfoFormat("[SERVER UTILS]: Removing {0}", a.Name); UnloadPlugin(connector); break; } @@ -166,13 +166,13 @@ namespace OpenSim.Server.Base } else { - m_log.InfoFormat("[SERVER]: {0} Disabled.", connector.ConfigName); + m_log.InfoFormat("[SERVER UTILS]: {0} Disabled.", connector.ConfigName); } } private void UnloadPlugin(IRobustConnector connector) { - m_log.InfoFormat("[Server]: Unloading {0}", connector.ConfigName); + m_log.InfoFormat("[SERVER UTILS]: Unloading {0}", connector.ConfigName); connector.Unload(); } @@ -280,7 +280,7 @@ namespace OpenSim.Server.Base { if (!(e is System.MissingMethodException)) { - m_log.ErrorFormat("Error loading plugin {0} from {1}. Exception: {2}, {3}", + m_log.ErrorFormat("[SERVER UTILS]: Error loading plugin {0} from {1}. Exception: {2}, {3}", interfaceName, dllName, e.InnerException == null ? e.Message : e.InnerException.Message, @@ -298,14 +298,14 @@ namespace OpenSim.Server.Base } catch (ReflectionTypeLoadException rtle) { - m_log.Error(string.Format("Error loading plugin from {0}:\n{1}", dllName, + m_log.Error(string.Format("[SERVER UTILS]: Error loading plugin from {0}:\n{1}", dllName, String.Join("\n", Array.ConvertAll(rtle.LoaderExceptions, e => e.ToString()))), rtle); return null; } catch (Exception e) { - m_log.Error(string.Format("Error loading plugin from {0}", dllName), e); + m_log.Error(string.Format("[SERVER UTILS]: Error loading plugin from {0}", dllName), e); return null; } } @@ -517,7 +517,7 @@ namespace OpenSim.Server.Base public static IConfigSource LoadInitialConfig(string url) { IConfigSource source = new XmlConfigSource(); - m_log.InfoFormat("[CONFIG]: {0} is a http:// URI, fetching ...", url); + m_log.InfoFormat("[SERVER UTILS]: {0} is a http:// URI, fetching ...", url); // The ini file path is a http URI // Try to read it @@ -529,7 +529,7 @@ namespace OpenSim.Server.Base } catch (Exception e) { - m_log.FatalFormat("[CONFIG]: Exception reading config from URI {0}\n" + e.ToString(), url); + m_log.FatalFormat("[SERVER UTILS]: Exception reading config from URI {0}\n" + e.ToString(), url); Environment.Exit(1); } From 7fb458b05517089ae3d072cde167258aa6a129ff Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 15 Mar 2013 22:08:11 +0000 Subject: [PATCH 759/851] minor: log an error rather than info if a connector fails to load. --- OpenSim/Server/ServerMain.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Server/ServerMain.cs b/OpenSim/Server/ServerMain.cs index 8be69a93a4..65e92874e8 100644 --- a/OpenSim/Server/ServerMain.cs +++ b/OpenSim/Server/ServerMain.cs @@ -145,7 +145,7 @@ namespace OpenSim.Server } else { - m_log.InfoFormat("[SERVER]: Failed to load {0}", conn); + m_log.ErrorFormat("[SERVER]: Failed to load {0}", conn); } } From d05af4bdad7d4855b05eba909c5b21714e5f438a Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 15 Mar 2013 22:14:34 +0000 Subject: [PATCH 760/851] Fix bug in AssetService where requesting data only for an asset would throw an exception if the asset did not exist. --- OpenSim/Services/AssetService/AssetService.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/OpenSim/Services/AssetService/AssetService.cs b/OpenSim/Services/AssetService/AssetService.cs index e7eb6fe924..422fd0aff3 100644 --- a/OpenSim/Services/AssetService/AssetService.cs +++ b/OpenSim/Services/AssetService/AssetService.cs @@ -146,7 +146,11 @@ namespace OpenSim.Services.AssetService return null; AssetBase asset = m_Database.GetAsset(assetID); - return asset.Data; + + if (asset != null) + return asset.Data; + else + return null; } public virtual bool Get(string id, Object sender, AssetRetrieved handler) From bd0c1d9b6ac23b0fca8228fcf48da842b114773e Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 15 Mar 2013 22:33:39 +0000 Subject: [PATCH 761/851] Migrate assets from chained asset service to xassetservice as they are requested. This shrinks the asset database over time as duplicate assets are fetched. --- .../Services/AssetService/XAssetService.cs | 48 ++++++++----------- 1 file changed, 20 insertions(+), 28 deletions(-) diff --git a/OpenSim/Services/AssetService/XAssetService.cs b/OpenSim/Services/AssetService/XAssetService.cs index 7dd48c9a94..8a2ca7cf6d 100644 --- a/OpenSim/Services/AssetService/XAssetService.cs +++ b/OpenSim/Services/AssetService/XAssetService.cs @@ -106,11 +106,20 @@ namespace OpenSim.Services.AssetService AssetBase asset = m_Database.GetAsset(assetID); if (asset != null) + { return asset; + } else if (HasChainedAssetService) - return m_ChainedAssetService.Get(id); - else - return null; + { + asset = m_ChainedAssetService.Get(id); + + if (asset != null) + MigrateFromChainedService(asset); + + return asset; + } + + return null; } catch (Exception e) { @@ -127,42 +136,23 @@ namespace OpenSim.Services.AssetService public virtual AssetMetadata GetMetadata(string id) { // m_log.DebugFormat("[XASSET SERVICE]: Get asset metadata for {0}", id); - - UUID assetID; - if (!UUID.TryParse(id, out assetID)) - return null; + AssetBase asset = Get(id); - AssetBase asset = m_Database.GetAsset(assetID); if (asset != null) - { return asset.Metadata; - } - else if (HasChainedAssetService) - { - return m_ChainedAssetService.GetMetadata(id); - } else - { return null; - } } public virtual byte[] GetData(string id) { // m_log.DebugFormat("[XASSET SERVICE]: Get asset data for {0}", id); - UUID assetID; - - if (!UUID.TryParse(id, out assetID)) - return null; - - AssetBase asset = m_Database.GetAsset(assetID); + AssetBase asset = Get(id); if (asset != null) return asset.Data; - else if (HasChainedAssetService) - return m_ChainedAssetService.GetData(id); else return null; } @@ -176,10 +166,7 @@ namespace OpenSim.Services.AssetService if (!UUID.TryParse(id, out assetID)) return false; - AssetBase asset = m_Database.GetAsset(assetID); - - if (asset == null && HasChainedAssetService) - asset = m_ChainedAssetService.Get(id); + AssetBase asset = Get(id); //m_log.DebugFormat("[XASSET SERVICE]: Got asset {0}", asset); @@ -223,5 +210,10 @@ namespace OpenSim.Services.AssetService return m_Database.Delete(id); } + + private void MigrateFromChainedService(AssetBase asset) + { + Util.FireAndForget(o => { Store(asset); m_ChainedAssetService.Delete(asset.ID); }); + } } } \ No newline at end of file From 45dee383db016d1840c468b594db28ea714493a5 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 15 Mar 2013 22:42:34 +0000 Subject: [PATCH 762/851] refactor: Reuse Get() method in AssetService to eliminate some copy/paste in other Get methods --- OpenSim/Services/AssetService/AssetService.cs | 28 ++++--------------- 1 file changed, 5 insertions(+), 23 deletions(-) diff --git a/OpenSim/Services/AssetService/AssetService.cs b/OpenSim/Services/AssetService/AssetService.cs index 422fd0aff3..08fd3f858a 100644 --- a/OpenSim/Services/AssetService/AssetService.cs +++ b/OpenSim/Services/AssetService/AssetService.cs @@ -123,29 +123,20 @@ namespace OpenSim.Services.AssetService public virtual AssetMetadata GetMetadata(string id) { // m_log.DebugFormat("[ASSET SERVICE]: Get asset metadata for {0}", id); - - UUID assetID; - if (!UUID.TryParse(id, out assetID)) - return null; + AssetBase asset = Get(id); - AssetBase asset = m_Database.GetAsset(assetID); if (asset != null) return asset.Metadata; - - return null; + else + return null; } public virtual byte[] GetData(string id) { // m_log.DebugFormat("[ASSET SERVICE]: Get asset data for {0}", id); - - UUID assetID; - if (!UUID.TryParse(id, out assetID)) - return null; - - AssetBase asset = m_Database.GetAsset(assetID); + AssetBase asset = Get(id); if (asset != null) return asset.Data; @@ -156,17 +147,8 @@ namespace OpenSim.Services.AssetService public virtual bool Get(string id, Object sender, AssetRetrieved handler) { //m_log.DebugFormat("[AssetService]: Get asset async {0}", id); - - UUID assetID; - if (!UUID.TryParse(id, out assetID)) - return false; - - AssetBase asset = m_Database.GetAsset(assetID); - - //m_log.DebugFormat("[AssetService]: Got asset {0}", asset); - - handler(id, sender, asset); + handler(id, sender, Get(id)); return true; } From e9f3cd1a60bfc5e936d1029495ada2c2bff99430 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 15 Mar 2013 23:17:54 +0000 Subject: [PATCH 763/851] Implement access time updates on assets for XAssetService. This only happens if access time is older than 30 days currently, in order to reduce database updates. The idea is to give some idea of assets which haven't been accessed for a very, very long time. These might conceivably be deleteable, though this will be a risk due to caching at other points in the chain. This is actually currently much less useable on the xasset service since access time is on metadata rather than the data itself. And many metadata entries may point to the same data. Probably need to address this. --- OpenSim/Data/MySQL/MySQLXAssetData.cs | 95 ++++++++++++++++----------- 1 file changed, 57 insertions(+), 38 deletions(-) diff --git a/OpenSim/Data/MySQL/MySQLXAssetData.cs b/OpenSim/Data/MySQL/MySQLXAssetData.cs index c2282c8678..273fbcabb1 100644 --- a/OpenSim/Data/MySQL/MySQLXAssetData.cs +++ b/OpenSim/Data/MySQL/MySQLXAssetData.cs @@ -50,6 +50,11 @@ namespace OpenSim.Data.MySQL get { return GetType().Assembly; } } + /// + /// Number of days that must pass before we update the access time on an asset when it has been fetched. + /// + private const int DaysBetweenAccessTimeUpdates = 30; + private bool m_enableCompression = false; private string m_connectionString; private object m_dbLock = new object(); @@ -133,7 +138,7 @@ namespace OpenSim.Data.MySQL dbcon.Open(); using (MySqlCommand cmd = new MySqlCommand( - "SELECT name, description, asset_type, local, temporary, asset_flags, creator_id, data FROM xassetsmeta JOIN xassetsdata ON xassetsmeta.hash = xassetsdata.hash WHERE id=?id", + "SELECT name, description, access_time, asset_type, local, temporary, asset_flags, creator_id, data FROM xassetsmeta JOIN xassetsdata ON xassetsmeta.hash = xassetsdata.hash WHERE id=?id", dbcon)) { cmd.Parameters.AddWithValue("?id", assetID.ToString()); @@ -171,12 +176,14 @@ namespace OpenSim.Data.MySQL // asset.ID, asset.Name, asset.Data.Length, compressedLength); } } + + UpdateAccessTime(asset.Metadata, (int)dbReader["access_time"]); } } } catch (Exception e) { - m_log.Error("[MYSQL XASSET DATA]: MySql failure fetching asset " + assetID + ": " + e.Message); + m_log.Error("[MYSQL XASSET DATA]: Failure fetching asset " + assetID + ": " + e.Message); } } } @@ -303,41 +310,49 @@ namespace OpenSim.Data.MySQL } } -// private void UpdateAccessTime(AssetBase asset) -// { -// lock (m_dbLock) -// { -// using (MySqlConnection dbcon = new MySqlConnection(m_connectionString)) -// { -// dbcon.Open(); -// MySqlCommand cmd = -// new MySqlCommand("update assets set access_time=?access_time where id=?id", -// dbcon); -// -// // need to ensure we dispose -// try -// { -// using (cmd) -// { -// // create unix epoch time -// int now = (int)Utils.DateTimeToUnixTime(DateTime.UtcNow); -// cmd.Parameters.AddWithValue("?id", asset.ID); -// cmd.Parameters.AddWithValue("?access_time", now); -// cmd.ExecuteNonQuery(); -// cmd.Dispose(); -// } -// } -// catch (Exception e) -// { -// m_log.ErrorFormat( -// "[ASSETS DB]: " + -// "MySql failure updating access_time for asset {0} with name {1}" + Environment.NewLine + e.ToString() -// + Environment.NewLine + "Attempting reconnection", asset.FullID, asset.Name); -// } -// } -// } -// -// } + /// + /// Updates the access time of the asset if it was accessed above a given threshhold amount of time. + /// + /// + /// This gives us some insight into assets which haven't ben accessed for a long period. This is only done + /// over the threshold time to avoid excessive database writes as assets are fetched. + /// + /// + /// + private void UpdateAccessTime(AssetMetadata assetMetadata, int accessTime) + { + DateTime now = DateTime.UtcNow; + + if ((now - Utils.UnixTimeToDateTime(accessTime)).TotalDays < DaysBetweenAccessTimeUpdates) + return; + + lock (m_dbLock) + { + using (MySqlConnection dbcon = new MySqlConnection(m_connectionString)) + { + dbcon.Open(); + MySqlCommand cmd = + new MySqlCommand("update assets set access_time=?access_time where id=?id", dbcon); + + try + { + using (cmd) + { + // create unix epoch time + cmd.Parameters.AddWithValue("?id", assetMetadata.ID); + cmd.Parameters.AddWithValue("?access_time", (int)Utils.DateTimeToUnixTime(now)); + cmd.ExecuteNonQuery(); + } + } + catch (Exception e) + { + m_log.ErrorFormat( + "[XASSET MYSQL DB]: Failure updating access_time for asset {0} with name {1}", + assetMetadata.ID, assetMetadata.Name); + } + } + } + } /// /// We assume we already have the m_dbLock. @@ -422,6 +437,8 @@ namespace OpenSim.Data.MySQL return assetExists; } + + /// /// Returns a list of AssetMetadata objects. The list is a subset of /// the entire data set offset by containing @@ -439,7 +456,7 @@ namespace OpenSim.Data.MySQL using (MySqlConnection dbcon = new MySqlConnection(m_connectionString)) { dbcon.Open(); - MySqlCommand cmd = new MySqlCommand("SELECT name,description,asset_type,temporary,id,asset_flags,creator_id FROM xassetsmeta LIMIT ?start, ?count", dbcon); + MySqlCommand cmd = new MySqlCommand("SELECT name,description,access_time,asset_type,temporary,id,asset_flags,creator_id FROM xassetsmeta LIMIT ?start, ?count", dbcon); cmd.Parameters.AddWithValue("?start", start); cmd.Parameters.AddWithValue("?count", count); @@ -461,6 +478,8 @@ namespace OpenSim.Data.MySQL // We'll ignore this for now - it appears unused! // metadata.SHA1 = dbReader["hash"]); + UpdateAccessTime(metadata, (int)dbReader["access_time"]); + retList.Add(metadata); } } From 35843e8ec8c58803664ab33ad52fd8e64a8765c6 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 15 Mar 2013 23:42:16 +0000 Subject: [PATCH 764/851] Change the table and field names of XAssetService mysql db tables to be capitalized like Avatars, Friends, etc. Also fixes access time being set on assets rather than XAssetsMeta This is to try and be somewhat consistent with other service tables that are mainly in this style. No migration is supplied, since nobody should be using this service yet except on a test basis. --- OpenSim/Data/MySQL/MySQLXAssetData.cs | 92 +++++++++---------- .../MySQL/Resources/XAssetStore.migrations | 30 +++--- 2 files changed, 60 insertions(+), 62 deletions(-) diff --git a/OpenSim/Data/MySQL/MySQLXAssetData.cs b/OpenSim/Data/MySQL/MySQLXAssetData.cs index 273fbcabb1..8c938254f2 100644 --- a/OpenSim/Data/MySQL/MySQLXAssetData.cs +++ b/OpenSim/Data/MySQL/MySQLXAssetData.cs @@ -138,10 +138,10 @@ namespace OpenSim.Data.MySQL dbcon.Open(); using (MySqlCommand cmd = new MySqlCommand( - "SELECT name, description, access_time, asset_type, local, temporary, asset_flags, creator_id, data FROM xassetsmeta JOIN xassetsdata ON xassetsmeta.hash = xassetsdata.hash WHERE id=?id", + "SELECT Name, Description, AccessTime, AssetType, Local, Temporary, AssetFlags, CreatorID, Data FROM XAssetsMeta JOIN XAssetsData ON XAssetsMeta.Hash = XAssetsData.Hash WHERE ID=?ID", dbcon)) { - cmd.Parameters.AddWithValue("?id", assetID.ToString()); + cmd.Parameters.AddWithValue("?ID", assetID.ToString()); try { @@ -149,18 +149,18 @@ namespace OpenSim.Data.MySQL { if (dbReader.Read()) { - asset = new AssetBase(assetID, (string)dbReader["name"], (sbyte)dbReader["asset_type"], dbReader["creator_id"].ToString()); - asset.Data = (byte[])dbReader["data"]; - asset.Description = (string)dbReader["description"]; + asset = new AssetBase(assetID, (string)dbReader["Name"], (sbyte)dbReader["AssetType"], dbReader["CreatorID"].ToString()); + asset.Data = (byte[])dbReader["Data"]; + asset.Description = (string)dbReader["Description"]; - string local = dbReader["local"].ToString(); + string local = dbReader["Local"].ToString(); if (local.Equals("1") || local.Equals("true", StringComparison.InvariantCultureIgnoreCase)) asset.Local = true; else asset.Local = false; - asset.Temporary = Convert.ToBoolean(dbReader["temporary"]); - asset.Flags = (AssetFlags)Convert.ToInt32(dbReader["asset_flags"]); + asset.Temporary = Convert.ToBoolean(dbReader["Temporary"]); + asset.Flags = (AssetFlags)Convert.ToInt32(dbReader["AssetFlags"]); if (m_enableCompression) { @@ -177,13 +177,13 @@ namespace OpenSim.Data.MySQL } } - UpdateAccessTime(asset.Metadata, (int)dbReader["access_time"]); + UpdateAccessTime(asset.Metadata, (int)dbReader["AccessTime"]); } } } catch (Exception e) { - m_log.Error("[MYSQL XASSET DATA]: Failure fetching asset " + assetID + ": " + e.Message); + m_log.Error(string.Format("[MYSQL XASSET DATA]: Failure fetching asset {0}", assetID), e); } } } @@ -249,23 +249,23 @@ namespace OpenSim.Data.MySQL { using (MySqlCommand cmd = new MySqlCommand( - "replace INTO xassetsmeta(id, hash, name, description, asset_type, local, temporary, create_time, access_time, asset_flags, creator_id)" + - "VALUES(?id, ?hash, ?name, ?description, ?asset_type, ?local, ?temporary, ?create_time, ?access_time, ?asset_flags, ?creator_id)", + "replace INTO XAssetsMeta(ID, Hash, Name, Description, AssetType, Local, Temporary, CreateTime, AccessTime, AssetFlags, CreatorID)" + + "VALUES(?ID, ?Hash, ?Name, ?Description, ?AssetType, ?Local, ?Temporary, ?CreateTime, ?AccessTime, ?AssetFlags, ?CreatorID)", dbcon)) { // create unix epoch time int now = (int)Utils.DateTimeToUnixTime(DateTime.UtcNow); - cmd.Parameters.AddWithValue("?id", asset.ID); - cmd.Parameters.AddWithValue("?hash", hash); - cmd.Parameters.AddWithValue("?name", assetName); - cmd.Parameters.AddWithValue("?description", assetDescription); - cmd.Parameters.AddWithValue("?asset_type", asset.Type); - cmd.Parameters.AddWithValue("?local", asset.Local); - cmd.Parameters.AddWithValue("?temporary", asset.Temporary); - cmd.Parameters.AddWithValue("?create_time", now); - cmd.Parameters.AddWithValue("?access_time", now); - cmd.Parameters.AddWithValue("?creator_id", asset.Metadata.CreatorID); - cmd.Parameters.AddWithValue("?asset_flags", (int)asset.Flags); + cmd.Parameters.AddWithValue("?ID", asset.ID); + cmd.Parameters.AddWithValue("?Hash", hash); + cmd.Parameters.AddWithValue("?Name", assetName); + cmd.Parameters.AddWithValue("?Description", assetDescription); + cmd.Parameters.AddWithValue("?AssetType", asset.Type); + cmd.Parameters.AddWithValue("?Local", asset.Local); + cmd.Parameters.AddWithValue("?Temporary", asset.Temporary); + cmd.Parameters.AddWithValue("?CreateTime", now); + cmd.Parameters.AddWithValue("?AccessTime", now); + cmd.Parameters.AddWithValue("?CreatorID", asset.Metadata.CreatorID); + cmd.Parameters.AddWithValue("?AssetFlags", (int)asset.Flags); cmd.ExecuteNonQuery(); } } @@ -285,11 +285,11 @@ namespace OpenSim.Data.MySQL { using (MySqlCommand cmd = new MySqlCommand( - "INSERT INTO xassetsdata(hash, data) VALUES(?hash, ?data)", + "INSERT INTO XAssetsData(Hash, Data) VALUES(?Hash, ?Data)", dbcon)) { - cmd.Parameters.AddWithValue("?hash", hash); - cmd.Parameters.AddWithValue("?data", asset.Data); + cmd.Parameters.AddWithValue("?Hash", hash); + cmd.Parameters.AddWithValue("?Data", asset.Data); cmd.ExecuteNonQuery(); } } @@ -332,15 +332,15 @@ namespace OpenSim.Data.MySQL { dbcon.Open(); MySqlCommand cmd = - new MySqlCommand("update assets set access_time=?access_time where id=?id", dbcon); + new MySqlCommand("update XAssetsMeta set AccessTime=?AccessTime where ID=?ID", dbcon); try { using (cmd) { // create unix epoch time - cmd.Parameters.AddWithValue("?id", assetMetadata.ID); - cmd.Parameters.AddWithValue("?access_time", (int)Utils.DateTimeToUnixTime(now)); + cmd.Parameters.AddWithValue("?ID", assetMetadata.ID); + cmd.Parameters.AddWithValue("?AccessTime", (int)Utils.DateTimeToUnixTime(now)); cmd.ExecuteNonQuery(); } } @@ -368,9 +368,9 @@ namespace OpenSim.Data.MySQL bool exists = false; - using (MySqlCommand cmd = new MySqlCommand("SELECT hash FROM xassetsdata WHERE hash=?hash", dbcon)) + using (MySqlCommand cmd = new MySqlCommand("SELECT Hash FROM XAssetsData WHERE Hash=?Hash", dbcon)) { - cmd.Parameters.AddWithValue("?hash", hash); + cmd.Parameters.AddWithValue("?Hash", hash); try { @@ -410,9 +410,9 @@ namespace OpenSim.Data.MySQL using (MySqlConnection dbcon = new MySqlConnection(m_connectionString)) { dbcon.Open(); - using (MySqlCommand cmd = new MySqlCommand("SELECT id FROM xassetsmeta WHERE id=?id", dbcon)) + using (MySqlCommand cmd = new MySqlCommand("SELECT ID FROM XAssetsMeta WHERE ID=?ID", dbcon)) { - cmd.Parameters.AddWithValue("?id", uuid.ToString()); + cmd.Parameters.AddWithValue("?ID", uuid.ToString()); try { @@ -427,8 +427,7 @@ namespace OpenSim.Data.MySQL } catch (Exception e) { - m_log.ErrorFormat( - "[XASSETS DB]: MySql failure fetching asset {0}" + Environment.NewLine + e.ToString(), uuid); + m_log.Error(string.Format("[XASSETS DB]: MySql failure fetching asset {0}", uuid), e); } } } @@ -438,7 +437,6 @@ namespace OpenSim.Data.MySQL } - /// /// Returns a list of AssetMetadata objects. The list is a subset of /// the entire data set offset by containing @@ -456,7 +454,7 @@ namespace OpenSim.Data.MySQL using (MySqlConnection dbcon = new MySqlConnection(m_connectionString)) { dbcon.Open(); - MySqlCommand cmd = new MySqlCommand("SELECT name,description,access_time,asset_type,temporary,id,asset_flags,creator_id FROM xassetsmeta LIMIT ?start, ?count", dbcon); + MySqlCommand cmd = new MySqlCommand("SELECT Name, Description, AccessTime, AssetType, Temporary, ID, AssetFlags, CreatorID FROM XAssetsMeta LIMIT ?start, ?count", dbcon); cmd.Parameters.AddWithValue("?start", start); cmd.Parameters.AddWithValue("?count", count); @@ -467,18 +465,18 @@ namespace OpenSim.Data.MySQL while (dbReader.Read()) { AssetMetadata metadata = new AssetMetadata(); - metadata.Name = (string)dbReader["name"]; - metadata.Description = (string)dbReader["description"]; - metadata.Type = (sbyte)dbReader["asset_type"]; - metadata.Temporary = Convert.ToBoolean(dbReader["temporary"]); // Not sure if this is correct. - metadata.Flags = (AssetFlags)Convert.ToInt32(dbReader["asset_flags"]); - metadata.FullID = DBGuid.FromDB(dbReader["id"]); - metadata.CreatorID = dbReader["creator_id"].ToString(); + metadata.Name = (string)dbReader["Name"]; + metadata.Description = (string)dbReader["Description"]; + metadata.Type = (sbyte)dbReader["AssetType"]; + metadata.Temporary = Convert.ToBoolean(dbReader["Temporary"]); // Not sure if this is correct. + metadata.Flags = (AssetFlags)Convert.ToInt32(dbReader["AssetFlags"]); + metadata.FullID = DBGuid.FromDB(dbReader["ID"]); + metadata.CreatorID = dbReader["CreatorID"].ToString(); // We'll ignore this for now - it appears unused! // metadata.SHA1 = dbReader["hash"]); - UpdateAccessTime(metadata, (int)dbReader["access_time"]); + UpdateAccessTime(metadata, (int)dbReader["AccessTime"]); retList.Add(metadata); } @@ -504,9 +502,9 @@ namespace OpenSim.Data.MySQL { dbcon.Open(); - using (MySqlCommand cmd = new MySqlCommand("delete from xassetsmeta where id=?id", dbcon)) + using (MySqlCommand cmd = new MySqlCommand("delete from XAssetsMeta where ID=?ID", dbcon)) { - cmd.Parameters.AddWithValue("?id", id); + cmd.Parameters.AddWithValue("?ID", id); cmd.ExecuteNonQuery(); } diff --git a/OpenSim/Data/MySQL/Resources/XAssetStore.migrations b/OpenSim/Data/MySQL/Resources/XAssetStore.migrations index d3cca5e884..0c49d0dbc3 100644 --- a/OpenSim/Data/MySQL/Resources/XAssetStore.migrations +++ b/OpenSim/Data/MySQL/Resources/XAssetStore.migrations @@ -3,24 +3,24 @@ BEGIN; -CREATE TABLE `xassetsmeta` ( - `id` char(36) NOT NULL, - `hash` binary(32) NOT NULL, - `name` varchar(64) NOT NULL, - `description` varchar(64) NOT NULL, - `asset_type` tinyint(4) NOT NULL, - `local` tinyint(1) NOT NULL, - `temporary` tinyint(1) NOT NULL, - `create_time` int(11) NOT NULL, - `access_time` int(11) NOT NULL, - `asset_flags` int(11) NOT NULL, - `creator_id` varchar(128) NOT NULL, +CREATE TABLE `XAssetsMeta` ( + `ID` char(36) NOT NULL, + `Hash` binary(32) NOT NULL, + `Name` varchar(64) NOT NULL, + `Description` varchar(64) NOT NULL, + `AssetType` tinyint(4) NOT NULL, + `Local` tinyint(1) NOT NULL, + `Temporary` tinyint(1) NOT NULL, + `CreateTime` int(11) NOT NULL, + `AccessTime` int(11) NOT NULL, + `AssetFlags` int(11) NOT NULL, + `CreatorID` varchar(128) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Version 1'; -CREATE TABLE `xassetsdata` ( - `hash` binary(32) NOT NULL, - `data` longblob NOT NULL, +CREATE TABLE `XAssetsData` ( + `Hash` binary(32) NOT NULL, + `Data` longblob NOT NULL, PRIMARY KEY (`hash`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Version 1'; From 7e5d5537815d5626387d8638da769192ab3c7ca8 Mon Sep 17 00:00:00 2001 From: Melanie Date: Fri, 15 Mar 2013 23:46:49 +0000 Subject: [PATCH 765/851] Make the LSL memory functions virtual so script engines can override them if they have different memory management. --- .../ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 8adf4d9e5d..f07b645624 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -6068,7 +6068,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return m_host.ParentGroup.AttachmentPoint; } - public LSL_Integer llGetFreeMemory() + public virtual LSL_Integer llGetFreeMemory() { m_host.AddScriptLPS(1); // Make scripts designed for LSO happy @@ -11560,7 +11560,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return 16384; } - public LSL_Integer llGetUsedMemory() + public virtual LSL_Integer llGetUsedMemory() { m_host.AddScriptLPS(1); // The value returned for LSO scripts in SL @@ -11790,4 +11790,4 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } } -} \ No newline at end of file +} From 03075359b5f1a4470ed5fa54afd76f08bf57a437 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 15 Mar 2013 23:48:40 +0000 Subject: [PATCH 766/851] Finally remove the 'REST' ApplicationPlugins code which has been non-functional and largely commented out for many years. --- .../Rest/Inventory/IRest.cs | 43 - .../Rest/Inventory/IRestHandler.cs | 59 - .../Rest/Inventory/RequestData.cs | 1465 ----------- .../Inventory/Resources/RestHandler.addin.xml | 11 - .../ApplicationPlugins/Rest/Inventory/Rest.cs | 551 ---- .../Rest/Inventory/RestAppearanceServices.cs | 860 ------ .../Rest/Inventory/RestAssetServices.cs | 383 --- .../Rest/Inventory/RestFileServices.cs | 448 ---- .../Rest/Inventory/RestHandler.cs | 662 ----- .../Rest/Inventory/RestInventoryServices.cs | 2343 ----------------- .../Rest/Inventory/RestTestServices.cs | 246 -- .../Rest/Inventory/tests/ITest.cs | 46 - .../Rest/Inventory/tests/Remote.cs | 204 -- .../Rest/Regions/GETHandler.cs | 228 -- .../Rest/Regions/GETRegionInfoHandler.cs | 136 - .../Rest/Regions/POSTHandler.cs | 122 - .../Rest/Regions/RegionDetails.cs | 98 - .../Resources/RestRegionPlugin.addin.xml | 11 - .../Rest/Regions/RestRegionPlugin.cs | 94 - OpenSim/ApplicationPlugins/Rest/RestPlugin.cs | 417 --- .../ApplicationPlugins/Rest/RestXmlWriter.cs | 72 - OpenSim/ApplicationPlugins/Rest/rest.xsd | 276 -- prebuild.xml | 115 - 23 files changed, 8890 deletions(-) delete mode 100644 OpenSim/ApplicationPlugins/Rest/Inventory/IRest.cs delete mode 100644 OpenSim/ApplicationPlugins/Rest/Inventory/IRestHandler.cs delete mode 100644 OpenSim/ApplicationPlugins/Rest/Inventory/RequestData.cs delete mode 100644 OpenSim/ApplicationPlugins/Rest/Inventory/Resources/RestHandler.addin.xml delete mode 100644 OpenSim/ApplicationPlugins/Rest/Inventory/Rest.cs delete mode 100644 OpenSim/ApplicationPlugins/Rest/Inventory/RestAppearanceServices.cs delete mode 100644 OpenSim/ApplicationPlugins/Rest/Inventory/RestAssetServices.cs delete mode 100644 OpenSim/ApplicationPlugins/Rest/Inventory/RestFileServices.cs delete mode 100644 OpenSim/ApplicationPlugins/Rest/Inventory/RestHandler.cs delete mode 100644 OpenSim/ApplicationPlugins/Rest/Inventory/RestInventoryServices.cs delete mode 100644 OpenSim/ApplicationPlugins/Rest/Inventory/RestTestServices.cs delete mode 100644 OpenSim/ApplicationPlugins/Rest/Inventory/tests/ITest.cs delete mode 100644 OpenSim/ApplicationPlugins/Rest/Inventory/tests/Remote.cs delete mode 100644 OpenSim/ApplicationPlugins/Rest/Regions/GETHandler.cs delete mode 100644 OpenSim/ApplicationPlugins/Rest/Regions/GETRegionInfoHandler.cs delete mode 100644 OpenSim/ApplicationPlugins/Rest/Regions/POSTHandler.cs delete mode 100644 OpenSim/ApplicationPlugins/Rest/Regions/RegionDetails.cs delete mode 100644 OpenSim/ApplicationPlugins/Rest/Regions/Resources/RestRegionPlugin.addin.xml delete mode 100644 OpenSim/ApplicationPlugins/Rest/Regions/RestRegionPlugin.cs delete mode 100644 OpenSim/ApplicationPlugins/Rest/RestPlugin.cs delete mode 100644 OpenSim/ApplicationPlugins/Rest/RestXmlWriter.cs delete mode 100644 OpenSim/ApplicationPlugins/Rest/rest.xsd diff --git a/OpenSim/ApplicationPlugins/Rest/Inventory/IRest.cs b/OpenSim/ApplicationPlugins/Rest/Inventory/IRest.cs deleted file mode 100644 index 8b43d42662..0000000000 --- a/OpenSim/ApplicationPlugins/Rest/Inventory/IRest.cs +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSimulator Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -namespace OpenSim.ApplicationPlugins.Rest.Inventory -{ - /// - /// This interface represents the boundary between the general purpose - /// REST plugin handling, and the functionally specific handlers. The - /// handler knows only to initialize and terminate all such handlers - /// that it finds. Implementing this interface identifies the class as - /// a REST handler implementation. - /// - - internal interface IRest - { - void Initialize(); - void Close(); - } -} diff --git a/OpenSim/ApplicationPlugins/Rest/Inventory/IRestHandler.cs b/OpenSim/ApplicationPlugins/Rest/Inventory/IRestHandler.cs deleted file mode 100644 index a88fe88449..0000000000 --- a/OpenSim/ApplicationPlugins/Rest/Inventory/IRestHandler.cs +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSimulator Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using OpenSim.Framework.Servers.HttpServer; - -namespace OpenSim.ApplicationPlugins.Rest.Inventory -{ - - /// - /// The handler delegates are not noteworthy. The allocator allows - /// a given handler to optionally subclass the base RequestData - /// structure to carry any locally required per-request state - /// needed. - /// - - public delegate void RestMethodHandler(RequestData rdata); - public delegate RequestData RestMethodAllocator(OSHttpRequest request, OSHttpResponse response, string path); - - /// - /// This interface exports the generic plugin-handling services - /// available to each loaded REST services module (IRest implementation) - /// - - internal interface IRestHandler - { - - string MsgId { get; } - string RequestId { get; } - - void AddPathHandler(RestMethodHandler mh, string path, RestMethodAllocator ma); - void AddStreamHandler(string httpMethod, string path, RestMethod method); - - } - -} diff --git a/OpenSim/ApplicationPlugins/Rest/Inventory/RequestData.cs b/OpenSim/ApplicationPlugins/Rest/Inventory/RequestData.cs deleted file mode 100644 index 10f1a6ecf3..0000000000 --- a/OpenSim/ApplicationPlugins/Rest/Inventory/RequestData.cs +++ /dev/null @@ -1,1465 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSimulator Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System; -using System.Collections.Generic; -using System.IO; -using System.Security.Cryptography; -using System.Text; -using System.Text.RegularExpressions; -using System.Xml; -using OpenSim.Framework; -using OpenSim.Framework.Servers; -using OpenSim.Framework.Servers.HttpServer; -using OpenSim.Services.Interfaces; - -using OpenMetaverse; - -namespace OpenSim.ApplicationPlugins.Rest.Inventory -{ - - /// - /// This class represents the current REST request. It - /// encapsulates the request/response state and takes care - /// of response generation without exposing the REST handler - /// to the actual mechanisms involved. - /// - /// This structure is created on entry to the Handler - /// method and is disposed of upon return. It is part of - /// the plug-in infrastructure, rather than the functionally - /// specific REST handler, and fundamental changes to - /// this should be reflected in the Rest HandlerVersion. The - /// object is instantiated, and may be extended by, any - /// given handler. See the inventory handler for an example - /// of this. - /// - /// If possible, the underlying request/response state is not - /// changed until the handler explicitly issues a Respond call. - /// This ensures that the request/response pair can be safely - /// processed by subsequent, unrelated, handlers even id the - /// agent handler had completed much of its processing. Think - /// of it as a transactional req/resp capability. - /// - - public class RequestData - { - - // HTTP Server interface data (Received values) - - internal OSHttpRequest request = null; - internal OSHttpResponse response = null; - internal string qprefix = null; - - // Request lifetime values - // buffer is global because it is referenced by the handler - // in supported of streamed requests. - // If a service provider wants to construct the message - // body explicitly it can use body to do this. The value - // in body is used if the buffer is still null when a response - // is generated. - // Storing information in body will suppress the return of - // statusBody which is only intended to report status on - // requests which do not themselves ordinarily generate - // an informational response. All of this is handled in - // Respond(). - - internal byte[] buffer = null; - internal string body = null; - internal string bodyType = "text/html"; - - // The encoding in effect is set to a server default. It may - // subsequently be overridden by a Content header. This - // value is established during construction and is used - // wherever encoding services are needed. - - internal Encoding encoding = Rest.Encoding; - - // These values are derived from the supplied URL. They - // are initialized during construction. - - internal string path = null; - internal string method = null; - internal Uri uri = null; - internal string query = null; - internal string hostname = "localhost"; - internal int port = 80; - - // The path part of the URI is decomposed. pathNodes - // is an array of every element in the URI. Parameters - // is an array that contains only those nodes that - // are not a part of the authority prefix - - private string[] pathNodes = null; - private string[] parameters = null; - private static readonly string[] EmptyPath = { String.Empty }; - - // The status code gets set during the course of processing - // and is the HTTP completion code. The status body is - // initialized during construction, is appended to during the - // course of execution, and is finalized during Respond - // processing. - // - // Fail processing marks the request as failed and this is - // then used to inhibit processing during Response processing. - - internal int statusCode = 0; - internal string statusBody = String.Empty; - internal bool fail = false; - - // This carries the URL to which the client should be redirected. - // It is set by the service provider using the Redirect call. - - internal string redirectLocation = null; - - // These values influence response processing. They can be set by - // service providers according to need. The defaults are generally - // good. - - internal bool keepAlive = false; - internal bool chunked = false; - - // XML related state - - internal XmlWriter writer = null; - internal XmlReader reader = null; - - // Internal working state - - private StringBuilder sbuilder = new StringBuilder(1024); - private MemoryStream xmldata = null; - - // This is used to make the response mechanism idempotent. - - internal bool handled = false; - - // Authentication related state - // - // Two supported authentication mechanisms are: - // scheme = Rest.AS_BASIC; - // scheme = Rest.AS_DIGEST; - // Presented in that order (as required by spec) - // A service provider can set the scheme variable to - // force selection of a particular authentication model - // (choosing from amongst those supported of course) - // - - internal bool authenticated = false; - internal string scheme = Rest.Scheme; - internal string realm = Rest.Realm; - internal string domain = null; - internal string nonce = null; - internal string cnonce = null; - internal string qop = Rest.Qop_Auth; - internal string opaque = null; - internal string stale = null; - internal string algorithm = Rest.Digest_MD5; - internal string authParms = null; - internal string authPrefix = null; - internal string userName = String.Empty; - internal string userPass = String.Empty; - - // Session related tables. These are only needed if QOP is set to "auth-sess" - // and for now at least, it is not. Session related authentication is of - // questionable merit in the context of REST anyway, but it is, arguably, more - // secure. - - private static Dictionary cntable = new Dictionary(); - private static Dictionary sktable = new Dictionary(); - - // This dictionary is used to keep track fo all of the parameters discovered - // when the authorisation header is anaylsed. - - private Dictionary authparms = new Dictionary(); - - // These regular expressions are used to decipher the various header entries. - - private static Regex schema = new Regex("^\\s*(?\\w+)\\s*.*", - RegexOptions.Compiled | RegexOptions.IgnoreCase); - - private static Regex basicParms = new Regex("^\\s*(?:\\w+)\\s+(?\\S+)\\s*", - RegexOptions.Compiled | RegexOptions.IgnoreCase); - - private static Regex digestParm1 = new Regex("\\s*(?\\w+)\\s*=\\s*\"(?[^\"]+)\"", - RegexOptions.Compiled | RegexOptions.IgnoreCase); - - private static Regex digestParm2 = new Regex("\\s*(?\\w+)\\s*=\\s*(?[^\\p{P}\\s]+)", - RegexOptions.Compiled | RegexOptions.IgnoreCase); - - private static Regex reuserPass = new Regex("(?[^:]+):(?[\\S\\s]*)", - RegexOptions.Compiled | RegexOptions.IgnoreCase); - - // For efficiency, we create static instances of these objects - - private static MD5 md5hash = MD5.Create(); - - private static StringComparer sc = StringComparer.OrdinalIgnoreCase; - -#region properties - - // Just for convenience... - - internal string MsgId - { - get { return Rest.MsgId; } - } - - /// - /// Return a boolean indication of whether or no an authenticated user is - /// associated with this request. This could be wholly integrated, but - /// that would make authentication mandatory. - /// - - internal bool IsAuthenticated - { - get - { - if (Rest.Authenticate) - { - if (!authenticated) - { - authenticate(); - } - - return authenticated; - } - else return true; - } - } - - /// - /// Access to all 'nodes' in the supplied URI as an - /// array of strings. - /// - - internal string[] PathNodes - { - get - { - return pathNodes; - } - } - - /// - /// Access to all non-prefix 'nodes' in the supplied URI as an - /// array of strings. These identify a specific resource that - /// is managed by the authority (the prefix). - /// - - internal string[] Parameters - { - get - { - return parameters; - } - } - -#endregion properties - -#region constructors - - // Constructor - - internal RequestData(OSHttpRequest p_request, OSHttpResponse p_response, string p_qprefix) - { - - request = p_request; - response = p_response; - qprefix = p_qprefix; - - sbuilder.Length = 0; - - encoding = request.ContentEncoding; - - if (encoding == null) - { - encoding = Rest.Encoding; - } - - method = request.HttpMethod.ToLower(); - initUrl(); - - initParameters(p_qprefix.Length); - - } - -#endregion constructors - -#region authentication_common - - /// - /// The REST handler has requested authentication. Authentication - /// is considered to be with respect to the current values for - /// Realm, domain, etc. - /// - /// This method checks to see if the current request is already - /// authenticated for this domain. If it is, then it returns - /// true. If it is not, then it issues a challenge to the client - /// and responds negatively to the request. - /// - /// As soon as authentication failure is detected the method calls - /// DoChallenge() which terminates the request with REST exception - /// for unauthroized access. - /// - - private void authenticate() - { - - string authdata = request.Headers.Get("Authorization"); - string reqscheme = String.Empty; - - // If we don't have an authorization header, then this - // user is certainly not authorized. This is the typical - // pivot for the 1st request by a client. - - if (authdata == null) - { - Rest.Log.DebugFormat("{0} Challenge reason: No authorization data", MsgId); - DoChallenge(); - } - - // So, we have authentication data, now we have to check to - // see what we got and whether or not it is valid for the - // current domain. To do this we need to interpret the data - // provided in the Authorization header. First we need to - // identify the scheme being used and route accordingly. - - MatchCollection matches = schema.Matches(authdata); - - foreach (Match m in matches) - { - Rest.Log.DebugFormat("{0} Scheme matched : {1}", MsgId, m.Groups["scheme"].Value); - reqscheme = m.Groups["scheme"].Value.ToLower(); - } - - // If we want a specific authentication mechanism, make sure - // we get it. null indicates we don't care. non-null indicates - // a specific scheme requirement. - - if (scheme != null && scheme.ToLower() != reqscheme) - { - Rest.Log.DebugFormat("{0} Challenge reason: Requested scheme not acceptable", MsgId); - DoChallenge(); - } - - // In the future, these could be made into plug-ins... - // But for now at least we have no reason to use anything other - // then MD5. TLS/SSL are taken care of elsewhere. - - switch (reqscheme) - { - case "digest" : - Rest.Log.DebugFormat("{0} Digest authentication offered", MsgId); - DoDigest(authdata); - break; - - case "basic" : - Rest.Log.DebugFormat("{0} Basic authentication offered", MsgId); - DoBasic(authdata); - break; - } - - // If the current header is invalid, then a challenge is still needed. - - if (!authenticated) - { - Rest.Log.DebugFormat("{0} Challenge reason: Authentication failed", MsgId); - DoChallenge(); - } - - } - - /// - /// Construct the necessary WWW-Authenticate headers and fail the request - /// with a NOT AUTHORIZED response. The parameters are the union of values - /// required by the supported schemes. - /// - - private void DoChallenge() - { - Flush(); - nonce = Rest.NonceGenerator(); // should be unique per 401 (and it is) - Challenge(scheme, realm, domain, nonce, opaque, stale, algorithm, qop, authParms); - Fail(Rest.HttpStatusCodeNotAuthorized); - } - - /// - /// The Flush() call is here to support a problem encountered with the - /// client where an authentication rejection was lost because the rejection - /// may flow before the clienthas finished sending us the inbound data stream, - /// in which case the client responds to the socket error on out put, and - /// never sees the authentication challenge. The client should be fixed, - /// because this solution leaves the server prone to DOS attacks. A message - /// will be issued whenever flushing occurs. It can be enabled/disabled from - /// the configuration file. - /// - - private void Flush() - { - if (Rest.FlushEnabled) - { - byte[] dbuffer = new byte[8192]; - Rest.Log.WarnFormat("{0} REST server is flushing the inbound data stream", MsgId); - while (request.InputStream.Read(dbuffer,0,dbuffer.Length) != 0); - } - return; - } - - // Indicate that authentication is required - - private void Challenge(string scheme, string realm, string domain, string nonce, - string opaque, string stale, string alg, - string qop, string auth) - { - - sbuilder.Length = 0; - - // The service provider can force a particular scheme by - // assigning a value to scheme. - - // Basic authentication is pretty simple. - // Just specify the realm in question. - - if (scheme == null || scheme == Rest.AS_BASIC) - { - - sbuilder.Append(Rest.AS_BASIC); - - if (realm != null) - { - sbuilder.Append(" realm="); - sbuilder.Append(Rest.CS_DQUOTE); - sbuilder.Append(realm); - sbuilder.Append(Rest.CS_DQUOTE); - } - AddHeader(Rest.HttpHeaderWWWAuthenticate,sbuilder.ToString()); - } - - sbuilder.Length = 0; - - // Digest authentication takes somewhat more - // to express. - - if (scheme == null || scheme == Rest.AS_DIGEST) - { - - sbuilder.Append(Rest.AS_DIGEST); - sbuilder.Append(" "); - - // Specify the effective realm. This should - // never be null if we are uthenticating, as it is required for all - // authentication schemes. It defines, in conjunction with the - // absolute URI information, the domain to which the authentication - // applies. It is an arbitrary string. I *believe* this allows an - // authentication to apply to disjoint resources within the same - // server. - - if (realm != null) - { - sbuilder.Append("realm="); - sbuilder.Append(Rest.CS_DQUOTE); - sbuilder.Append(realm); - sbuilder.Append(Rest.CS_DQUOTE); - sbuilder.Append(Rest.CS_COMMA); - } - - // Share our nonce. This is *uniquely* generated each time a 401 is - // returned. We do not generate a very sophisticated nonce at the - // moment (it's simply a base64 encoded UUID). - - if (nonce != null) - { - sbuilder.Append("nonce="); - sbuilder.Append(Rest.CS_DQUOTE); - sbuilder.Append(nonce); - sbuilder.Append(Rest.CS_DQUOTE); - sbuilder.Append(Rest.CS_COMMA); - } - - // The opaque string should be returned by the client unchanged in all - // subsequent requests. - - if (opaque != null) - { - sbuilder.Append("opaque="); - sbuilder.Append(Rest.CS_DQUOTE); - sbuilder.Append(opaque); - sbuilder.Append(Rest.CS_DQUOTE); - sbuilder.Append(Rest.CS_COMMA); - } - - // This flag indicates that the authentication was rejected because the - // included nonce was stale. The server might use timestamp information - // in the nonce to determine this. We do not. - - if (stale != null) - { - sbuilder.Append("stale="); - sbuilder.Append(Rest.CS_DQUOTE); - sbuilder.Append(stale); - sbuilder.Append(Rest.CS_DQUOTE); - sbuilder.Append(Rest.CS_COMMA); - } - - // Identifies the algorithm used to produce the digest and checksum. - // The default is MD5. - - if (alg != null) - { - sbuilder.Append("algorithm="); - sbuilder.Append(alg); - sbuilder.Append(Rest.CS_COMMA); - } - - // Theoretically QOP is optional, but it is required by a compliant - // with current versions of the scheme. In fact IE requires that QOP - // be specified and will refuse to authenticate otherwise. - - if (qop != String.Empty) - { - sbuilder.Append("qop="); - sbuilder.Append(Rest.CS_DQUOTE); - sbuilder.Append(qop); - sbuilder.Append(Rest.CS_DQUOTE); - sbuilder.Append(Rest.CS_COMMA); - } - - // This parameter allows for arbitrary extensions to the protocol. - // Unrecognized values should be simply ignored. - - if (auth != null) - { - sbuilder.Append(auth); - sbuilder.Append(Rest.CS_COMMA); - } - - // We don't know the userid that will be used - // so we cannot make any authentication domain - // assumptions. So the prefix will determine - // this. - - sbuilder.Append("domain="); - sbuilder.Append(Rest.CS_DQUOTE); - sbuilder.Append(qprefix); - sbuilder.Append(Rest.CS_DQUOTE); - - // Generate the authenticate header and we're basically - // done. - - AddHeader(Rest.HttpHeaderWWWAuthenticate,sbuilder.ToString()); - - } - - } - -#endregion authentication_common - -#region authentication_basic - - /// - /// Interpret a BASIC authorization claim. Some clients can only - /// understand this and also expect it to be the first one - /// offered. So we do. - /// OpenSim also needs this, as it is the only scheme that allows - /// authentication using the hashed passwords stored in the - /// user database. - /// - - private void DoBasic(string authdata) - { - - string response = null; - - MatchCollection matches = basicParms.Matches(authdata); - - // In the case of basic authentication there is - // only expected to be a single argument. - - foreach (Match m in matches) - { - authparms.Add("response",m.Groups["pval"].Value); - Rest.Log.DebugFormat("{0} Parameter matched : {1} = {2}", - MsgId, "response", m.Groups["pval"].Value); - } - - // Did we get a valid response? - - if (authparms.TryGetValue("response", out response)) - { - // Decode - response = Rest.Base64ToString(response); - Rest.Log.DebugFormat("{0} Auth response is: <{1}>", MsgId, response); - - // Extract user & password - Match m = reuserPass.Match(response); - userName = m.Groups["user"].Value; - userPass = m.Groups["pass"].Value; - - // Validate against user database - authenticated = Validate(userName,userPass); - } - - } - - /// - /// This method provides validation in support of the BASIC - /// authentication method. This is not normaly expected to be - /// used, but is included for completeness (and because I tried - /// it first). - /// - - private bool Validate(string user, string pass) - { - - Rest.Log.DebugFormat("{0} Simple User Validation", MsgId); - - // Both values are required - - if (user == null || pass == null) - return false; - - // Eliminate any leading or trailing spaces - user = user.Trim(); - - return vetPassword(user, pass); - - } - - /// - /// This is used by the BASIC authentication scheme to calculate - /// the double hash used by OpenSim to encode user's passwords. - /// It returns true, if the supplied password is actually correct. - /// If the specified user-id is not recognized, but the password - /// matches the God password, then this is accepted as an admin - /// session. - /// - - private bool vetPassword(string user, string pass) - { - - int x; - string first; - string last; - - // Distinguish the parts, if necessary - - if ((x=user.IndexOf(Rest.C_SPACE)) != -1) - { - first = user.Substring(0,x); - last = user.Substring(x+1); - } - else - { - first = user; - last = String.Empty; - } - - UserAccount account = Rest.UserServices.GetUserAccount(UUID.Zero, first, last); - - // If we don't recognize the user id, perhaps it is god? - if (account == null) - return pass == Rest.GodKey; - - return (Rest.AuthServices.Authenticate(account.PrincipalID, pass, 1) != string.Empty); - - } - -#endregion authentication_basic - -#region authentication_digest - - /// - /// This is an RFC2617 compliant HTTP MD5 Digest authentication - /// implementation. It has been tested with Firefox, Java HTTP client, - /// and Microsoft's Internet Explorer V7. - /// - - private void DoDigest(string authdata) - { - - string response = null; - - // Find all of the values of the for x = "y" - - MatchCollection matches = digestParm1.Matches(authdata); - - foreach (Match m in matches) - { - authparms.Add(m.Groups["parm"].Value,m.Groups["pval"].Value); - Rest.Log.DebugFormat("{0} String Parameter matched : {1} = {2}", - MsgId, m.Groups["parm"].Value,m.Groups["pval"].Value); - } - - // Find all of the values of the for x = y - - matches = digestParm2.Matches(authdata); - - foreach (Match m in matches) - { - authparms.Add(m.Groups["parm"].Value,m.Groups["pval"].Value); - Rest.Log.DebugFormat("{0} Tokenized Parameter matched : {1} = {2}", - MsgId, m.Groups["parm"].Value,m.Groups["pval"].Value); - } - - // A response string MUST be returned, otherwise we are - // NOT authenticated. - - Rest.Log.DebugFormat("{0} Validating authorization parameters", MsgId); - - if (authparms.TryGetValue("response", out response)) - { - - string temp = null; - - do - { - - string nck = null; - string ncl = null; - - // The userid is sent in clear text. Needed for the - // verification. - - authparms.TryGetValue("username", out userName); - - // All URI's of which this is a prefix are - // optimistically considered to be authenticated by the - // client. This is also needed to verify the response. - - authparms.TryGetValue("uri", out authPrefix); - - // There MUST be a nonce string present. We're not preserving any server - // side state and we can't validate the MD5 unless the client returns it - // to us, as it should. - - if (!authparms.TryGetValue("nonce", out nonce) || nonce == null) - { - Rest.Log.WarnFormat("{0} Authentication failed: nonce missing", MsgId); - break; - } - - // If there is an opaque string present, it had better - // match what we sent. - - if (authparms.TryGetValue("opaque", out temp)) - { - if (temp != opaque) - { - Rest.Log.WarnFormat("{0} Authentication failed: bad opaque value", MsgId); - break; - } - } - - // If an algorithm string is present, it had better - // match what we sent. - - if (authparms.TryGetValue("algorithm", out temp)) - { - if (temp != algorithm) - { - Rest.Log.WarnFormat("{0} Authentication failed: bad algorithm value", MsgId); - break; - } - } - - // Quality of protection considerations... - - if (authparms.TryGetValue("qop", out temp)) - { - - qop = temp.ToLower(); // replace with actual value used - - // if QOP was specified then - // these MUST be present. - - if (!authparms.ContainsKey("cnonce")) - { - Rest.Log.WarnFormat("{0} Authentication failed: cnonce missing", MsgId); - Fail(Rest.HttpStatusCodeBadRequest); - break; - } - - cnonce = authparms["cnonce"]; - - if (!authparms.TryGetValue("nc", out nck) || nck == null) - { - Rest.Log.WarnFormat("{0} Authentication failed: cnonce counter missing", MsgId); - Fail(Rest.HttpStatusCodeBadRequest); - break; - } - - Rest.Log.DebugFormat("{0} Comparing nonce indices", MsgId); - - if (cntable.TryGetValue(nonce, out ncl)) - { - Rest.Log.DebugFormat("{0} nonce values: Verify that request({1}) > Reference({2})", MsgId, nck, ncl); - - if (Rest.Hex2Int(ncl) >= Rest.Hex2Int(nck)) - { - Rest.Log.WarnFormat("{0} Authentication failed: bad cnonce counter", MsgId); - Fail(Rest.HttpStatusCodeBadRequest); - break; - } - cntable[nonce] = nck; - } - else - { - lock (cntable) cntable.Add(nonce, nck); - } - - } - else - { - - qop = String.Empty; - - // if QOP was not specified then - // these MUST NOT be present. - if (authparms.ContainsKey("cnonce")) - { - Rest.Log.WarnFormat("{0} Authentication failed: invalid cnonce", MsgId); - Fail(Rest.HttpStatusCodeBadRequest); - break; - } - if (authparms.ContainsKey("nc")) - { - Rest.Log.WarnFormat("{0} Authentication failed: invalid cnonce counter[2]", MsgId); - Fail(Rest.HttpStatusCodeBadRequest); - break; - } - } - - // Validate the supplied userid/password info - - authenticated = ValidateDigest(userName, nonce, cnonce, nck, authPrefix, response); - - } - while (false); - - } - else - Fail(Rest.HttpStatusCodeBadRequest); - - } - - /// - /// This mechanism is used by the digest authentication mechanism - /// to return the user's password. In fact, because the OpenSim - /// user's passwords are already hashed, and the HTTP mechanism - /// does not supply an open password, the hashed passwords cannot - /// be used unless the client has used the same salting mechanism - /// to has the password before using it in the authentication - /// algorithn. This is not inconceivable... - /// - - private string getPassword(string user) - { - - int x; - string first; - string last; - - // Distinguish the parts, if necessary - - if ((x=user.IndexOf(Rest.C_SPACE)) != -1) - { - first = user.Substring(0,x); - last = user.Substring(x+1); - } - else - { - first = user; - last = String.Empty; - } - - UserAccount account = Rest.UserServices.GetUserAccount(UUID.Zero, first, last); - // If we don;t recognize the user id, perhaps it is god? - - if (account == null) - { - Rest.Log.DebugFormat("{0} Administrator", MsgId); - return Rest.GodKey; - } - else - { - Rest.Log.DebugFormat("{0} Normal User {1}", MsgId, user); - - // !!! REFACTORING PROBLEM - // This is what it was. It doesn't work in 0.7 - // Nothing retrieves the password from the authentication service, there's only authentication. - //return udata.PasswordHash; - return string.Empty; - } - - } - - // Validate the request-digest - - private bool ValidateDigest(string user, string nonce, string cnonce, string nck, string uri, string response) - { - - string patt = null; - string payl = String.Empty; - string KDS = null; - string HA1 = null; - string HA2 = null; - string pass = getPassword(user); - - // Generate H(A1) - - if (algorithm == Rest.Digest_MD5Sess) - { - if (!sktable.ContainsKey(cnonce)) - { - patt = String.Format("{0}:{1}:{2}:{3}:{4}", user, realm, pass, nonce, cnonce); - HA1 = HashToString(patt); - sktable.Add(cnonce, HA1); - } - else - { - HA1 = sktable[cnonce]; - } - } - else - { - patt = String.Format("{0}:{1}:{2}", user, realm, pass); - HA1 = HashToString(patt); - } - - // Generate H(A2) - - if (qop == "auth-int") - { - patt = String.Format("{0}:{1}:{2}", request.HttpMethod, uri, HashToString(payl)); - } - else - { - patt = String.Format("{0}:{1}", request.HttpMethod, uri); - } - - HA2 = HashToString(patt); - - // Generate Digest - - if (qop != String.Empty) - { - patt = String.Format("{0}:{1}:{2}:{3}:{4}:{5}", HA1, nonce, nck, cnonce, qop, HA2); - } - else - { - patt = String.Format("{0}:{1}:{2}", HA1, nonce, HA2); - } - - KDS = HashToString(patt); - - // Compare the generated sequence with the original - - return (0 == sc.Compare(KDS, response)); - - } - - private string HashToString(string pattern) - { - - Rest.Log.DebugFormat("{0} Generate <{1}>", MsgId, pattern); - - byte[] hash = md5hash.ComputeHash(encoding.GetBytes(pattern)); - - sbuilder.Length = 0; - - for (int i = 0; i < hash.Length; i++) - { - sbuilder.Append(hash[i].ToString("x2")); - } - - Rest.Log.DebugFormat("{0} Hash = <{1}>", MsgId, sbuilder.ToString()); - - return sbuilder.ToString(); - - } - -#endregion authentication_digest - -#region service_interface - - /// - /// Conditionally set a normal completion code. This allows a normal - /// execution path to default. - /// - - internal void Complete() - { - if (statusCode == 0) - { - statusCode = Rest.HttpStatusCodeOK; - } - } - - /// - /// Indicate a functionally-dependent conclusion to the - /// request. See Rest.cs for a list of possible values. - /// - - internal void Complete(int code) - { - statusCode = code; - } - - /// - /// Indicate that a request should be redirected, using - /// the HTTP completion codes. Permanent and temporary - /// redirections may be indicated. The supplied URL is - /// the new location of the resource. - /// - - internal void Redirect(string Url, bool temp) - { - - redirectLocation = Url; - - if (temp) - { - statusCode = Rest.HttpStatusCodeTemporaryRedirect; - } - else - { - statusCode = Rest.HttpStatusCodePermanentRedirect; - } - - Fail(statusCode, String.Empty, true); - - } - - /// - /// Fail for an arbitrary reason. Just a failure with - /// headers. The supplied message will be returned in the - /// message body. - /// - - internal void Fail(int code) - { - Fail(code, String.Empty, false); - } - - /// - /// For the more adventurous. This failure also includes a - /// specified entity to be appended to the code-related - /// status string. - /// - - internal void Fail(int code, string addendum) - { - Fail(code, addendum, false); - } - - internal void Fail(int code, string addendum, bool reset) - { - - statusCode = code; - appendStatus(String.Format("({0}) : {1}", code, Rest.HttpStatusDesc[code])); - - // Add any final addendum to the status information - - if (addendum != String.Empty) - { - appendStatus(String.Format(addendum)); - } - - // Help us understand why the request is being rejected - - if (Rest.DEBUG) - { - Rest.Log.DebugFormat("{0} Request Failure State Dump", MsgId); - Rest.Log.DebugFormat("{0} Scheme = {1}", MsgId, scheme); - Rest.Log.DebugFormat("{0} Realm = {1}", MsgId, realm); - Rest.Log.DebugFormat("{0} Domain = {1}", MsgId, domain); - Rest.Log.DebugFormat("{0} Nonce = {1}", MsgId, nonce); - Rest.Log.DebugFormat("{0} CNonce = {1}", MsgId, cnonce); - Rest.Log.DebugFormat("{0} Opaque = {1}", MsgId, opaque); - Rest.Log.DebugFormat("{0} Stale = {1}", MsgId, stale); - Rest.Log.DebugFormat("{0} Algorithm = {1}", MsgId, algorithm); - Rest.Log.DebugFormat("{0} QOP = {1}", MsgId, qop); - Rest.Log.DebugFormat("{0} AuthPrefix = {1}", MsgId, authPrefix); - Rest.Log.DebugFormat("{0} UserName = {1}", MsgId, userName); - Rest.Log.DebugFormat("{0} UserPass = {1}", MsgId, userPass); - } - - fail = true; - - // Respond to the client's request, tag the response (for the - // benefit of trace) to indicate the reason. - - Respond(String.Format("Failure response: ({0}) : {1} ", - code, Rest.HttpStatusDesc[code])); - - // Finally initialize and the throw a RestException. All of the - // handler's infrastructure knows that this is a "normal" - // completion from a code point-of-view. - - RestException re = new RestException(Rest.HttpStatusDesc[code]+" <"+code+">"); - - re.statusCode = code; - re.statusDesc = Rest.HttpStatusDesc[code]; - re.httpmethod = method; - re.httppath = path; - - throw re; - - } - - // Reject this request - - internal void Reject() - { - Fail(Rest.HttpStatusCodeNotImplemented, "request rejected (not implemented)"); - } - - // This MUST be called by an agent handler before it returns - // control to Handle, otherwise the request will be ignored. - // This is called implciitly for the REST stream handlers and - // is harmless if it is called twice. - - internal virtual bool Respond(string reason) - { - - - Rest.Log.DebugFormat("{0} Respond ENTRY, handled = {1}, reason = {2}", MsgId, handled, reason); - - // We do this to try and make multiple Respond requests harmless, - // as it is sometimes convenient to isse a response without - // certain knowledge that it has not previously been done. - - if (!handled) - { - - Rest.Log.DebugFormat("{0} Generating Response", MsgId); - Rest.Log.DebugFormat("{0} Method is {1}", MsgId, method); - - // A Head request can NOT have a body! So don't waste time on - // formatting if we're going to reject it anyway! - - if (method != Rest.HEAD) - { - - Rest.Log.DebugFormat("{0} Response is not abbreviated", MsgId); - - // If the writer is non-null then we know that an XML - // data component exists. Flush and close the writer and - // then convert the result to the expected buffer format - // unless the request has already been failed for some - // reason. - - if (writer != null) - { - Rest.Log.DebugFormat("{0} XML Response handler extension ENTRY", MsgId); - Rest.Log.DebugFormat("{0} XML Response exists", MsgId); - writer.Flush(); - writer.Close(); - if (!fail) - { - buffer = xmldata.ToArray(); - AddHeader("Content-Type","application/xml"); - } - xmldata.Close(); - Rest.Log.DebugFormat("{0} XML Response encoded", MsgId); - Rest.Log.DebugFormat("{0} XML Response handler extension EXIT", MsgId); - } - - if (buffer == null && body != null) - { - buffer = encoding.GetBytes(body); - AddHeader("Content-Type",bodyType); - } - - // OK, if the buffer contains something, regardless of how - // it got there, set various response headers accordingly. - - if (buffer != null) - { - Rest.Log.DebugFormat("{0} Buffer-based entity", MsgId); - } - else - { - if (statusBody != String.Empty) - { - statusBody += Rest.statusTail; - buffer = encoding.GetBytes(statusBody); - AddHeader("Content-Type","text/html"); - } - else - { - statusBody = Rest.statusHead; - appendStatus(String.Format(": ({0}) {1}", - statusCode, Rest.HttpStatusDesc[statusCode])); - statusBody += Rest.statusTail; - buffer = encoding.GetBytes(statusBody); - AddHeader("Content-Type","text/html"); - } - } - - response.ContentLength64 = buffer.Length; - - if (response.ContentEncoding == null) - response.ContentEncoding = encoding; - - response.SendChunked = chunked; - response.KeepAlive = keepAlive; - - } - - // Set the status code & description. If nothing has been stored, - // we consider that a success. - - if (statusCode == 0) - { - Complete(); - } - - // Set the response code in the actual carrier - - response.StatusCode = statusCode; - - // For a redirect we need to set the relocation header accordingly - - if (response.StatusCode == (int) Rest.HttpStatusCodeTemporaryRedirect || - response.StatusCode == (int) Rest.HttpStatusCodePermanentRedirect) - { - Rest.Log.DebugFormat("{0} Re-direct location is {1}", MsgId, redirectLocation); - response.RedirectLocation = redirectLocation; - } - - // And include the status description if provided. - - response.StatusDescription = Rest.HttpStatusDesc[response.StatusCode]; - - // Finally we send back our response. - - // We've left the setting of handled' until the - // last minute because the header settings included - // above are pretty harmless. But everything from - // here on down probably leaves the response - // element unusable by anyone else. - - handled = true; - - // DumpHeaders(); - - // if (request.InputStream != null) - // { - // Rest.Log.DebugFormat("{0} Closing input stream", MsgId); - // request.InputStream.Close(); - // } - - if (buffer != null && buffer.Length != 0) - { - Rest.Log.DebugFormat("{0} Entity buffer, length = {1}", MsgId, buffer.Length); - // Rest.Log.DebugFormat("{0} Entity buffer, length = {1} : <{2}>", - // MsgId, buffer.Length, encoding.GetString(buffer)); - response.OutputStream.Write(buffer, 0, buffer.Length); - } - - // Closing the outputstream should complete the transmission process - - Rest.Log.DebugFormat("{0} Sending response", MsgId); - // response.OutputStream.Close(); - response.Send(); - - } - - Rest.Log.DebugFormat("{0} Respond EXIT, handled = {1}, reason = {2}", MsgId, handled, reason); - - return handled; - - } - - /// - /// These methods allow a service provider to manipulate the - /// request/response headers. The DumpHeaders method is intended - /// for problem diagnosis. - /// - - internal void AddHeader(string hdr, string data) - { - if (Rest.DEBUG) Rest.Log.DebugFormat("{0} Adding header: <{1}: {2}>", MsgId, hdr, data); - response.AddHeader(hdr, data); - } - - // internal void RemoveHeader(string hdr) - // { - // if (Rest.DEBUG) - // { - // Rest.Log.DebugFormat("{0} Removing header: <{1}>", MsgId, hdr); - // if (response.Headers.Get(hdr) == null) - // { - // Rest.Log.DebugFormat("{0} No such header existed", - // MsgId, hdr); - // } - // } - // response.Headers.Remove(hdr); - // } - - // internal void DumpHeaders() - // { - // if (Rest.DEBUG) - // { - // for (int i=0;i - /// Helper methods for deconstructing and reconstructing - /// URI path data. - /// - - private void initUrl() - { - - uri = request.Url; - - if (query == null) - { - query = uri.Query; - } - - // If the path has not been previously initialized, - // do so now. - - if (path == null) - { - path = uri.AbsolutePath; - if (path.EndsWith(Rest.UrlPathSeparator)) - path = path.Substring(0,path.Length-1); - } - - // If we succeeded in getting a path, perform any - // additional pre-processing required. - - if (path != null) - { - if (Rest.ExtendedEscape) - { - // Handle "+". Not a standard substitution, but - // common enough... - path = path.Replace(Rest.C_PLUS,Rest.C_SPACE); - } - pathNodes = path.Split(Rest.CA_PATHSEP); - } - else - { - pathNodes = EmptyPath; - } - - // Elimiate any %-escaped values. This is left until here - // so that escaped "+' are not mistakenly replaced. - - path = Uri.UnescapeDataString(path); - - // Request server context info - - hostname = uri.Host; - port = uri.Port; - - } - - private int initParameters(int prfxlen) - { - - if (prfxlen < path.Length-1) - { - parameters = path.Substring(prfxlen+1).Split(Rest.CA_PATHSEP); - } - else - { - parameters = new string[0]; - } - - // Generate a debug list of the decoded parameters - - if (Rest.DEBUG && prfxlen < path.Length-1) - { - Rest.Log.DebugFormat("{0} URI: Parameters: {1}", MsgId, path.Substring(prfxlen)); - for (int i = 0; i < parameters.Length; i++) - { - Rest.Log.DebugFormat("{0} Parameter[{1}]: {2}", MsgId, i, parameters[i]); - } - } - - return parameters.Length; - - } - -#endregion internal_methods - - } -} diff --git a/OpenSim/ApplicationPlugins/Rest/Inventory/Resources/RestHandler.addin.xml b/OpenSim/ApplicationPlugins/Rest/Inventory/Resources/RestHandler.addin.xml deleted file mode 100644 index 777a2dc27f..0000000000 --- a/OpenSim/ApplicationPlugins/Rest/Inventory/Resources/RestHandler.addin.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/OpenSim/ApplicationPlugins/Rest/Inventory/Rest.cs b/OpenSim/ApplicationPlugins/Rest/Inventory/Rest.cs deleted file mode 100644 index 9755e73ac3..0000000000 --- a/OpenSim/ApplicationPlugins/Rest/Inventory/Rest.cs +++ /dev/null @@ -1,551 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSimulator Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -using System; -using System.Collections.Generic; -using System.Reflection; -using System.Text; -using log4net; -using Nini.Config; -using OpenSim.Framework; -using OpenSim.Framework.Communications; -using OpenSim.Services.Interfaces; -using IAvatarService = OpenSim.Services.Interfaces.IAvatarService; - -namespace OpenSim.ApplicationPlugins.Rest.Inventory -{ - public class Rest - { - internal static readonly ILog Log = - LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - - internal static bool DEBUG = Log.IsDebugEnabled; - - /// - /// Supported authentication schemes - /// - - public const string AS_BASIC = "Basic"; // simple user/password verification - public const string AS_DIGEST = "Digest"; // password safe authentication - - /// Supported Digest algorithms - - public const string Digest_MD5 = "MD5"; // assumed default if omitted - public const string Digest_MD5Sess = "MD5-sess"; // session-span - not good for REST? - - public const string Qop_Auth = "auth"; // authentication only - public const string Qop_Int = "auth-int"; // TODO - - /// - /// These values have a single value for the whole - /// domain and lifetime of the plugin handler. We - /// make them static for ease of reference within - /// the assembly. These are initialized by the - /// RestHandler class during start-up. - /// - - internal static IRestHandler Plugin = null; - internal static OpenSimBase main = null; - internal static string Prefix = null; - internal static IConfig Config = null; - internal static string GodKey = null; - internal static bool Authenticate = true; - internal static bool Secure = true; - internal static bool ExtendedEscape = true; - internal static bool DumpAsset = false; - internal static bool Fill = true; - internal static bool FlushEnabled = true; - internal static string Realm = "OpenSim REST"; - internal static string Scheme = AS_BASIC; - internal static int DumpLineSize = 32; // Should be a multiple of 16 or (possibly) 4 - - /// - /// These are all dependent upon the Comms manager - /// being initialized. So they have to be properties - /// because the comms manager is now a module and is - /// not guaranteed to be there when the rest handler - /// initializes. - /// - - internal static IInventoryService InventoryServices - { - get { return main.SceneManager.CurrentOrFirstScene.InventoryService; } - } - - internal static IUserAccountService UserServices - { - get { return main.SceneManager.CurrentOrFirstScene.UserAccountService; } - } - - internal static IAuthenticationService AuthServices - { - get { return main.SceneManager.CurrentOrFirstScene.AuthenticationService; } - } - - internal static IAvatarService AvatarServices - { - get { return main.SceneManager.CurrentOrFirstScene.AvatarService; } - } - - internal static IAssetService AssetServices - { - get { return main.SceneManager.CurrentOrFirstScene.AssetService; } - } - - /// - /// HTTP requires that status information be generated for PUT - /// and POST opertaions. This is in support of that. The - /// operation verb gets substituted into the first string, - /// and the completion code is inserted into the tail. The - /// strings are put here to encourage consistency. - /// - - internal static string statusHead = "{0} status"; - internal static string statusTail = ""; - - internal static Dictionary HttpStatusDesc; - - static Rest() - { - HttpStatusDesc = new Dictionary(); - if (HttpStatusCodeArray.Length != HttpStatusDescArray.Length) - { - Log.ErrorFormat("{0} HTTP Status Code and Description arrays do not match"); - throw new Exception("HTTP Status array discrepancy"); - } - - // Repackage the data into something more tractable. The sparse - // nature of HTTP return codes makes an array a bad choice. - - for (int i=0; i - /// Version control for REST implementation. This - /// refers to the overall infrastructure represented - /// by the following classes - /// RequestData - /// RequestInventoryPlugin - /// Rest - /// It does no describe implementation classes such as - /// RestInventoryServices, which may morph much more - /// often. Such classes ARE dependent upon this however - /// and should check it in their Initialize method. - /// - - public static readonly float Version = 1.0F; - public const string Name = "REST 1.0"; - - /// - /// Currently defined HTTP methods. - /// Only GET and HEAD are required to be - /// supported by all servers. See Respond - /// to see how these are handled. - /// - - // REST AGENT 1.0 interpretations - public const string GET = "get"; // information retrieval - server state unchanged - public const string HEAD = "head"; // same as get except only the headers are returned. - public const string POST = "post"; // Replace the URI designated resource with the entity. - public const string PUT = "put"; // Add the entity to the context represented by the URI - public const string DELETE = "delete"; // Remove the URI designated resource from the server. - - public const string OPTIONS = "options"; // - public const string TRACE = "trace"; // - public const string CONNECT = "connect"; // - - // Define this in one place... - - public const string UrlPathSeparator = "/"; - public const string UrlMethodSeparator = ":"; - - // Redirection qualifications - - public const bool PERMANENT = false; - public const bool TEMPORARY = true; - - // Constant arrays used by String.Split - - public static readonly char C_SPACE = ' '; - public static readonly char C_SLASH = '/'; - public static readonly char C_PATHSEP = '/'; - public static readonly char C_COLON = ':'; - public static readonly char C_PLUS = '+'; - public static readonly char C_PERIOD = '.'; - public static readonly char C_COMMA = ','; - public static readonly char C_DQUOTE = '"'; - - public static readonly string CS_SPACE = " "; - public static readonly string CS_SLASH = "/"; - public static readonly string CS_PATHSEP = "/"; - public static readonly string CS_COLON = ":"; - public static readonly string CS_PLUS = "+"; - public static readonly string CS_PERIOD = "."; - public static readonly string CS_COMMA = ","; - public static readonly string CS_DQUOTE = "\""; - - public static readonly char[] CA_SPACE = { C_SPACE }; - public static readonly char[] CA_SLASH = { C_SLASH }; - public static readonly char[] CA_PATHSEP = { C_PATHSEP }; - public static readonly char[] CA_COLON = { C_COLON }; - public static readonly char[] CA_PERIOD = { C_PERIOD }; - public static readonly char[] CA_PLUS = { C_PLUS }; - public static readonly char[] CA_COMMA = { C_COMMA }; - public static readonly char[] CA_DQUOTE = { C_DQUOTE }; - - // HTTP Code Values (in value order) - - public const int HttpStatusCodeContinue = 100; - public const int HttpStatusCodeSwitchingProtocols = 101; - - public const int HttpStatusCodeOK = 200; - public const int HttpStatusCodeCreated = 201; - public const int HttpStatusCodeAccepted = 202; - public const int HttpStatusCodeNonAuthoritative = 203; - public const int HttpStatusCodeNoContent = 204; - public const int HttpStatusCodeResetContent = 205; - public const int HttpStatusCodePartialContent = 206; - - public const int HttpStatusCodeMultipleChoices = 300; - public const int HttpStatusCodePermanentRedirect = 301; - public const int HttpStatusCodeFound = 302; - public const int HttpStatusCodeSeeOther = 303; - public const int HttpStatusCodeNotModified = 304; - public const int HttpStatusCodeUseProxy = 305; - public const int HttpStatusCodeReserved306 = 306; - public const int HttpStatusCodeTemporaryRedirect = 307; - - public const int HttpStatusCodeBadRequest = 400; - public const int HttpStatusCodeNotAuthorized = 401; - public const int HttpStatusCodePaymentRequired = 402; - public const int HttpStatusCodeForbidden = 403; - public const int HttpStatusCodeNotFound = 404; - public const int HttpStatusCodeMethodNotAllowed = 405; - public const int HttpStatusCodeNotAcceptable = 406; - public const int HttpStatusCodeProxyAuthenticate = 407; - public const int HttpStatusCodeTimeOut = 408; - public const int HttpStatusCodeConflict = 409; - public const int HttpStatusCodeGone = 410; - public const int HttpStatusCodeLengthRequired = 411; - public const int HttpStatusCodePreconditionFailed = 412; - public const int HttpStatusCodeEntityTooLarge = 413; - public const int HttpStatusCodeUriTooLarge = 414; - public const int HttpStatusCodeUnsupportedMedia = 415; - public const int HttpStatusCodeRangeNotSatsified = 416; - public const int HttpStatusCodeExpectationFailed = 417; - - public const int HttpStatusCodeServerError = 500; - public const int HttpStatusCodeNotImplemented = 501; - public const int HttpStatusCodeBadGateway = 502; - public const int HttpStatusCodeServiceUnavailable = 503; - public const int HttpStatusCodeGatewayTimeout = 504; - public const int HttpStatusCodeHttpVersionError = 505; - - public static readonly int[] HttpStatusCodeArray = { - HttpStatusCodeContinue, - HttpStatusCodeSwitchingProtocols, - HttpStatusCodeOK, - HttpStatusCodeCreated, - HttpStatusCodeAccepted, - HttpStatusCodeNonAuthoritative, - HttpStatusCodeNoContent, - HttpStatusCodeResetContent, - HttpStatusCodePartialContent, - HttpStatusCodeMultipleChoices, - HttpStatusCodePermanentRedirect, - HttpStatusCodeFound, - HttpStatusCodeSeeOther, - HttpStatusCodeNotModified, - HttpStatusCodeUseProxy, - HttpStatusCodeReserved306, - HttpStatusCodeTemporaryRedirect, - HttpStatusCodeBadRequest, - HttpStatusCodeNotAuthorized, - HttpStatusCodePaymentRequired, - HttpStatusCodeForbidden, - HttpStatusCodeNotFound, - HttpStatusCodeMethodNotAllowed, - HttpStatusCodeNotAcceptable, - HttpStatusCodeProxyAuthenticate, - HttpStatusCodeTimeOut, - HttpStatusCodeConflict, - HttpStatusCodeGone, - HttpStatusCodeLengthRequired, - HttpStatusCodePreconditionFailed, - HttpStatusCodeEntityTooLarge, - HttpStatusCodeUriTooLarge, - HttpStatusCodeUnsupportedMedia, - HttpStatusCodeRangeNotSatsified, - HttpStatusCodeExpectationFailed, - HttpStatusCodeServerError, - HttpStatusCodeNotImplemented, - HttpStatusCodeBadGateway, - HttpStatusCodeServiceUnavailable, - HttpStatusCodeGatewayTimeout, - HttpStatusCodeHttpVersionError - }; - - // HTTP Status Descriptions (in status code order) - // This array must be kept strictly consistent with respect - // to the status code array above. - - public static readonly string[] HttpStatusDescArray = { - "Continue Request", - "Switching Protocols", - "OK", - "CREATED", - "ACCEPTED", - "NON-AUTHORITATIVE INFORMATION", - "NO CONTENT", - "RESET CONTENT", - "PARTIAL CONTENT", - "MULTIPLE CHOICES", - "PERMANENT REDIRECT", - "FOUND", - "SEE OTHER", - "NOT MODIFIED", - "USE PROXY", - "RESERVED CODE 306", - "TEMPORARY REDIRECT", - "BAD REQUEST", - "NOT AUTHORIZED", - "PAYMENT REQUIRED", - "FORBIDDEN", - "NOT FOUND", - "METHOD NOT ALLOWED", - "NOT ACCEPTABLE", - "PROXY AUTHENTICATION REQUIRED", - "TIMEOUT", - "CONFLICT", - "GONE", - "LENGTH REQUIRED", - "PRECONDITION FAILED", - "ENTITY TOO LARGE", - "URI TOO LARGE", - "UNSUPPORTED MEDIA", - "RANGE NOT SATISFIED", - "EXPECTATION FAILED", - "SERVER ERROR", - "NOT IMPLEMENTED", - "BAD GATEWAY", - "SERVICE UNAVAILABLE", - "GATEWAY TIMEOUT", - "HTTP VERSION NOT SUPPORTED" - }; - - // HTTP Headers - - public const string HttpHeaderAccept = "Accept"; - public const string HttpHeaderAcceptCharset = "Accept-Charset"; - public const string HttpHeaderAcceptEncoding = "Accept-Encoding"; - public const string HttpHeaderAcceptLanguage = "Accept-Language"; - public const string HttpHeaderAcceptRanges = "Accept-Ranges"; - public const string HttpHeaderAge = "Age"; - public const string HttpHeaderAllow = "Allow"; - public const string HttpHeaderAuthorization = "Authorization"; - public const string HttpHeaderCacheControl = "Cache-Control"; - public const string HttpHeaderConnection = "Connection"; - public const string HttpHeaderContentEncoding = "Content-Encoding"; - public const string HttpHeaderContentLanguage = "Content-Language"; - public const string HttpHeaderContentLength = "Content-Length"; - public const string HttpHeaderContentLocation = "Content-Location"; - public const string HttpHeaderContentMD5 = "Content-MD5"; - public const string HttpHeaderContentRange = "Content-Range"; - public const string HttpHeaderContentType = "Content-Type"; - public const string HttpHeaderDate = "Date"; - public const string HttpHeaderETag = "ETag"; - public const string HttpHeaderExpect = "Expect"; - public const string HttpHeaderExpires = "Expires"; - public const string HttpHeaderFrom = "From"; - public const string HttpHeaderHost = "Host"; - public const string HttpHeaderIfMatch = "If-Match"; - public const string HttpHeaderIfModifiedSince = "If-Modified-Since"; - public const string HttpHeaderIfNoneMatch = "If-None-Match"; - public const string HttpHeaderIfRange = "If-Range"; - public const string HttpHeaderIfUnmodifiedSince = "If-Unmodified-Since"; - public const string HttpHeaderLastModified = "Last-Modified"; - public const string HttpHeaderLocation = "Location"; - public const string HttpHeaderMaxForwards = "Max-Forwards"; - public const string HttpHeaderPragma = "Pragma"; - public const string HttpHeaderProxyAuthenticate = "Proxy-Authenticate"; - public const string HttpHeaderProxyAuthorization = "Proxy-Authorization"; - public const string HttpHeaderRange = "Range"; - public const string HttpHeaderReferer = "Referer"; - public const string HttpHeaderRetryAfter = "Retry-After"; - public const string HttpHeaderServer = "Server"; - public const string HttpHeaderTE = "TE"; - public const string HttpHeaderTrailer = "Trailer"; - public const string HttpHeaderTransferEncoding = "Transfer-Encoding"; - public const string HttpHeaderUpgrade = "Upgrade"; - public const string HttpHeaderUserAgent = "User-Agent"; - public const string HttpHeaderVary = "Vary"; - public const string HttpHeaderVia = "Via"; - public const string HttpHeaderWarning = "Warning"; - public const string HttpHeaderWWWAuthenticate = "WWW-Authenticate"; - - /// Utility routines - - public static string StringToBase64(string str) - { - try - { - byte[] encData_byte = new byte[str.Length]; - encData_byte = Util.UTF8.GetBytes(str); - return Convert.ToBase64String(encData_byte); - } - catch - { - return String.Empty; - } - } - - public static string Base64ToString(string str) - { - try - { - return Util.Base64ToString(str); - } - catch - { - return String.Empty; - } - } - - private const string hvals = "0123456789abcdef"; - - public static int Hex2Int(string hex) - { - int val = 0; - int sum = 0; - string tmp = null; - - if (hex != null) - { - tmp = hex.ToLower(); - for (int i = 0; i < tmp.Length; i++) - { - val = hvals.IndexOf(tmp[i]); - if (val == -1) - break; - sum *= 16; - sum += val; - } - } - - return sum; - } - - // Nonce management - - public static string NonceGenerator() - { - return StringToBase64(CreationDate + Guid.NewGuid().ToString()); - } - - // Dump the specified data stream - - public static void Dump(byte[] data) - { - char[] buffer = new char[DumpLineSize]; - int cc = 0; - - for (int i = 0; i < data.Length; i++) - { - if (i % DumpLineSize == 0) Console.Write("\n{0}: ",i.ToString("d8")); - - if (i % 4 == 0) Console.Write(" "); - - Console.Write("{0}",data[i].ToString("x2")); - - if (data[i] < 127 && data[i] > 31) - buffer[i % DumpLineSize] = (char) data[i]; - else - buffer[i % DumpLineSize] = '.'; - - cc++; - - if (i != 0 && (i + 1) % DumpLineSize == 0) - { - Console.Write(" |"+(new String(buffer))+"|"); - cc = 0; - } - } - - // Finish off any incomplete line - - if (cc != 0) - { - for (int i = cc ; i < DumpLineSize; i++) - { - if (i % 4 == 0) Console.Write(" "); - Console.Write(" "); - buffer[i % DumpLineSize] = ' '; - } - Console.WriteLine(" |"+(new String(buffer))+"|"); - } - else - { - Console.Write("\n"); - } - } - } - - // Local exception type - - public class RestException : Exception - { - internal int statusCode; - internal string statusDesc; - internal string httpmethod; - internal string httppath; - - public RestException(string msg) : base(msg) - { - } - } -} diff --git a/OpenSim/ApplicationPlugins/Rest/Inventory/RestAppearanceServices.cs b/OpenSim/ApplicationPlugins/Rest/Inventory/RestAppearanceServices.cs deleted file mode 100644 index 3cda98442e..0000000000 --- a/OpenSim/ApplicationPlugins/Rest/Inventory/RestAppearanceServices.cs +++ /dev/null @@ -1,860 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSimulator Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System; -using System.Collections; -using System.Collections.Generic; -using System.Xml; -using OpenMetaverse; -using OpenSim.Framework; -using OpenSim.Framework.Servers; -using OpenSim.Framework.Servers.HttpServer; -using OpenSim.Services.Interfaces; - -namespace OpenSim.ApplicationPlugins.Rest.Inventory -{ - - public class RestAppearanceServices : IRest - { -// private static readonly int PARM_USERID = 0; - - // private static readonly int PARM_PATH = 1; - -// private bool enabled = false; - private string qPrefix = "appearance"; - - /// - /// The constructor makes sure that the service prefix is absolute - /// and the registers the service handler and the allocator. - /// - - public RestAppearanceServices() - { - Rest.Log.InfoFormat("{0} User appearance services initializing", MsgId); - Rest.Log.InfoFormat("{0} Using REST Implementation Version {1}", MsgId, Rest.Version); - - // If a relative path was specified for the handler's domain, - // add the standard prefix to make it absolute, e.g. /admin - - if (!qPrefix.StartsWith(Rest.UrlPathSeparator)) - { - Rest.Log.InfoFormat("{0} Domain is relative, adding absolute prefix", MsgId); - qPrefix = String.Format("{0}{1}{2}", Rest.Prefix, Rest.UrlPathSeparator, qPrefix); - qPrefix = String.Format("{0}{1}{2}", Rest.Prefix, Rest.UrlPathSeparator, qPrefix); - Rest.Log.InfoFormat("{0} Domain is now <{1}>", MsgId, qPrefix); - } - - // Register interface using the absolute URI. - - Rest.Plugin.AddPathHandler(DoAppearance,qPrefix,Allocate); - - // Activate if everything went OK - -// enabled = true; - - Rest.Log.InfoFormat("{0} User appearance services initialization complete", MsgId); - } - - /// - /// Post-construction, pre-enabled initialization opportunity - /// Not currently exploited. - /// - - public void Initialize() - { - } - - /// - /// Called by the plug-in to halt service processing. Local processing is - /// disabled. - /// - - public void Close() - { -// enabled = false; - Rest.Log.InfoFormat("{0} User appearance services closing down", MsgId); - } - - /// - /// This property is declared locally because it is used a lot and - /// brevity is nice. - /// - - internal string MsgId - { - get { return Rest.MsgId; } - } - - #region Interface - - /// - /// The plugin (RestHandler) calls this method to allocate the request - /// state carrier for a new request. It is destroyed when the request - /// completes. All request-instance specific state is kept here. This - /// is registered when this service provider is registered. - /// - /// Inbound HTTP request information - /// Outbound HTTP request information - /// REST service domain prefix - /// A RequestData instance suitable for this service - - private RequestData Allocate(OSHttpRequest request, OSHttpResponse response, string prefix) - { - return (RequestData) new AppearanceRequestData(request, response, prefix); - } - - /// - /// This method is registered with the handler when this service provider - /// is initialized. It is called whenever the plug-in identifies this service - /// provider as the best match for a given request. - /// It handles all aspects of inventory REST processing, i.e. /admin/inventory - /// - /// A consolidated HTTP request work area - - private void DoAppearance(RequestData hdata) - { - // !!! REFACTORIMG PROBLEM. This needs rewriting for 0.7 - - //AppearanceRequestData rdata = (AppearanceRequestData) hdata; - - //Rest.Log.DebugFormat("{0} DoAppearance ENTRY", MsgId); - - //// If we're disabled, do nothing. - - //if (!enabled) - //{ - // return; - //} - - //// Now that we know this is a serious attempt to - //// access inventory data, we should find out who - //// is asking, and make sure they are authorized - //// to do so. We need to validate the caller's - //// identity before revealing anything about the - //// status quo. Authenticate throws an exception - //// via Fail if no identity information is present. - //// - //// With the present HTTP server we can't use the - //// builtin authentication mechanisms because they - //// would be enforced for all in-bound requests. - //// Instead we look at the headers ourselves and - //// handle authentication directly. - - //try - //{ - // if (!rdata.IsAuthenticated) - // { - // rdata.Fail(Rest.HttpStatusCodeNotAuthorized,String.Format("user \"{0}\" could not be authenticated", rdata.userName)); - // } - //} - //catch (RestException e) - //{ - // if (e.statusCode == Rest.HttpStatusCodeNotAuthorized) - // { - // Rest.Log.WarnFormat("{0} User not authenticated", MsgId); - // Rest.Log.DebugFormat("{0} Authorization header: {1}", MsgId, rdata.request.Headers.Get("Authorization")); - // } - // else - // { - // Rest.Log.ErrorFormat("{0} User authentication failed", MsgId); - // Rest.Log.DebugFormat("{0} Authorization header: {1}", MsgId, rdata.request.Headers.Get("Authorization")); - // } - // throw (e); - //} - - //Rest.Log.DebugFormat("{0} Authenticated {1}", MsgId, rdata.userName); - - //// We can only get here if we are authorized - //// - //// The requestor may have specified an UUID or - //// a conjoined FirstName LastName string. We'll - //// try both. If we fail with the first, UUID, - //// attempt, we try the other. As an example, the - //// URI for a valid inventory request might be: - //// - //// http://:/admin/inventory/Arthur Dent - //// - //// Indicating that this is an inventory request for - //// an avatar named Arthur Dent. This is ALL that is - //// required to designate a GET for an entire - //// inventory. - //// - - //// Do we have at least a user agent name? - - //if (rdata.Parameters.Length < 1) - //{ - // Rest.Log.WarnFormat("{0} Appearance: No user agent identifier specified", MsgId); - // rdata.Fail(Rest.HttpStatusCodeBadRequest, "no user identity specified"); - //} - - //// The first parameter MUST be the agent identification, either an UUID - //// or a space-separated First-name Last-Name specification. We check for - //// an UUID first, if anyone names their character using a valid UUID - //// that identifies another existing avatar will cause this a problem... - - //try - //{ - // rdata.uuid = new UUID(rdata.Parameters[PARM_USERID]); - // Rest.Log.DebugFormat("{0} UUID supplied", MsgId); - // rdata.userProfile = Rest.UserServices.GetUserProfile(rdata.uuid); - //} - //catch - //{ - // string[] names = rdata.Parameters[PARM_USERID].Split(Rest.CA_SPACE); - // if (names.Length == 2) - // { - // Rest.Log.DebugFormat("{0} Agent Name supplied [2]", MsgId); - // rdata.userProfile = Rest.UserServices.GetUserProfile(names[0],names[1]); - // } - // else - // { - // Rest.Log.WarnFormat("{0} A Valid UUID or both first and last names must be specified", MsgId); - // rdata.Fail(Rest.HttpStatusCodeBadRequest, "invalid user identity"); - // } - //} - - //// If the user profile is null then either the server is broken, or the - //// user is not known. We always assume the latter case. - - //if (rdata.userProfile != null) - //{ - // Rest.Log.DebugFormat("{0} User profile obtained for agent {1} {2}", - // MsgId, rdata.userProfile.FirstName, rdata.userProfile.SurName); - //} - //else - //{ - // Rest.Log.WarnFormat("{0} No user profile for {1}", MsgId, rdata.path); - // rdata.Fail(Rest.HttpStatusCodeNotFound, "unrecognized user identity"); - //} - - //// If we get to here, then we have effectively validated the user's - - //switch (rdata.method) - //{ - // case Rest.HEAD : // Do the processing, set the status code, suppress entity - // DoGet(rdata); - // rdata.buffer = null; - // break; - - // case Rest.GET : // Do the processing, set the status code, return entity - // DoGet(rdata); - // break; - - // case Rest.PUT : // Update named element - // DoUpdate(rdata); - // break; - - // case Rest.POST : // Add new information to identified context. - // DoExtend(rdata); - // break; - - // case Rest.DELETE : // Delete information - // DoDelete(rdata); - // break; - - // default : - // Rest.Log.WarnFormat("{0} Method {1} not supported for {2}", - // MsgId, rdata.method, rdata.path); - // rdata.Fail(Rest.HttpStatusCodeMethodNotAllowed, - // String.Format("{0} not supported", rdata.method)); - // break; - //} - } - - #endregion Interface - - #region method-specific processing - - /// - /// This method implements GET processing for user's appearance. - /// - /// HTTP service request work area - -// private void DoGet(AppearanceRequestData rdata) -// { -// AvatarData adata = Rest.AvatarServices.GetAvatar(rdata.userProfile.ID); -// -// if (adata == null) -// { -// rdata.Fail(Rest.HttpStatusCodeNoContent, -// String.Format("appearance data not found for user {0} {1}", -// rdata.userProfile.FirstName, rdata.userProfile.SurName)); -// } -// rdata.userAppearance = adata.ToAvatarAppearance(rdata.userProfile.ID); -// -// rdata.initXmlWriter(); -// -// FormatUserAppearance(rdata); -// -// // Indicate a successful request -// -// rdata.Complete(); -// -// // Send the response to the user. The body will be implicitly -// // constructed from the result of the XML writer. -// -// rdata.Respond(String.Format("Appearance {0} Normal completion", rdata.method)); -// } - - /// - /// POST adds NEW information to the user profile database. - /// This effectively resets the appearance before applying those - /// characteristics supplied in the request. - /// - -// private void DoExtend(AppearanceRequestData rdata) -// { -// -// bool created = false; -// bool modified = false; -// string newnode = String.Empty; -// -// Rest.Log.DebugFormat("{0} POST ENTRY", MsgId); -// -// //AvatarAppearance old = Rest.AvatarServices.GetUserAppearance(rdata.userProfile.ID); -// -// rdata.userAppearance = new AvatarAppearance(); -// -// // Although the following behavior is admitted by HTTP I am becoming -// // increasingly doubtful that it is appropriate for REST. If I attempt to -// // add a new record, and it already exists, then it seems to me that the -// // attempt should fail, rather than update the existing record. -// AvatarData adata = null; -// if (GetUserAppearance(rdata)) -// { -// modified = rdata.userAppearance != null; -// created = !modified; -// adata = new AvatarData(rdata.userAppearance); -// Rest.AvatarServices.SetAvatar(rdata.userProfile.ID, adata); -// // Rest.UserServices.UpdateUserProfile(rdata.userProfile); -// } -// else -// { -// created = true; -// adata = new AvatarData(rdata.userAppearance); -// Rest.AvatarServices.SetAvatar(rdata.userProfile.ID, adata); -// // Rest.UserServices.UpdateUserProfile(rdata.userProfile); -// } -// -// if (created) -// { -// newnode = String.Format("{0} {1}", rdata.userProfile.FirstName, -// rdata.userProfile.SurName); -// // Must include a location header with a URI that identifies the new resource. -// -// rdata.AddHeader(Rest.HttpHeaderLocation,String.Format("http://{0}{1}:{2}{3}{4}", -// rdata.hostname,rdata.port,rdata.path,Rest.UrlPathSeparator, newnode)); -// rdata.Complete(Rest.HttpStatusCodeCreated); -// -// } -// else -// { -// if (modified) -// { -// rdata.Complete(Rest.HttpStatusCodeOK); -// } -// else -// { -// rdata.Complete(Rest.HttpStatusCodeNoContent); -// } -// } -// -// rdata.Respond(String.Format("Appearance {0} : Normal completion", rdata.method)); -// -// } - - /// - /// This updates the user's appearance. not all aspects need to be provided, - /// only those supplied will be changed. - /// - -// private void DoUpdate(AppearanceRequestData rdata) -// { -// -// // REFACTORING PROBLEM This was commented out. It doesn't work for 0.7 -// -// //bool created = false; -// //bool modified = false; -// -// -// //rdata.userAppearance = Rest.AvatarServices.GetUserAppearance(rdata.userProfile.ID); -// -// //// If the user exists then this is considered a modification regardless -// //// of what may, or may not be, specified in the payload. -// -// //if (rdata.userAppearance != null) -// //{ -// // modified = true; -// // Rest.AvatarServices.UpdateUserAppearance(rdata.userProfile.ID, rdata.userAppearance); -// // Rest.UserServices.UpdateUserProfile(rdata.userProfile); -// //} -// -// //if (created) -// //{ -// // rdata.Complete(Rest.HttpStatusCodeCreated); -// //} -// //else -// //{ -// // if (modified) -// // { -// // rdata.Complete(Rest.HttpStatusCodeOK); -// // } -// // else -// // { -// // rdata.Complete(Rest.HttpStatusCodeNoContent); -// // } -// //} -// -// rdata.Respond(String.Format("Appearance {0} : Normal completion", rdata.method)); -// -// } - - /// - /// Delete the specified user's appearance. This actually performs a reset - /// to the default avatar appearance, if the info is already there. - /// Existing ownership is preserved. All prior updates are lost and can not - /// be recovered. - /// -// private void DoDelete(AppearanceRequestData rdata) -// { -// AvatarData adata = Rest.AvatarServices.GetAvatar(rdata.userProfile.ID); -// -// if (adata != null) -// { -// AvatarAppearance old = adata.ToAvatarAppearance(rdata.userProfile.ID); -// rdata.userAppearance = new AvatarAppearance(); -// rdata.userAppearance.Owner = old.Owner; -// adata = new AvatarData(rdata.userAppearance); -// -// Rest.AvatarServices.SetAvatar(rdata.userProfile.ID, adata); -// -// rdata.Complete(); -// } -// else -// { -// -// rdata.Complete(Rest.HttpStatusCodeNoContent); -// } -// -// rdata.Respond(String.Format("Appearance {0} : Normal completion", rdata.method)); -// } - -#endregion method-specific processing - - private bool GetUserAppearance(AppearanceRequestData rdata) - { - - XmlReader xml; - bool indata = false; - - rdata.initXmlReader(); - xml = rdata.reader; - - while (xml.Read()) - { - switch (xml.NodeType) - { - case XmlNodeType.Element : - switch (xml.Name) - { - case "Appearance" : - if (xml.MoveToAttribute("Height")) - { - rdata.userAppearance.AvatarHeight = (float) Convert.ToDouble(xml.Value); - indata = true; - } -// if (xml.MoveToAttribute("Owner")) -// { -// rdata.userAppearance.Owner = (UUID)xml.Value; -// indata = true; -// } - if (xml.MoveToAttribute("Serial")) - { - rdata.userAppearance.Serial = Convert.ToInt32(xml.Value); - indata = true; - } - break; -/* - case "Body" : - if (xml.MoveToAttribute("Item")) - { - rdata.userAppearance.BodyItem = (UUID)xml.Value; - indata = true; - } - if (xml.MoveToAttribute("Asset")) - { - rdata.userAppearance.BodyAsset = (UUID)xml.Value; - indata = true; - } - break; - case "Skin" : - if (xml.MoveToAttribute("Item")) - { - rdata.userAppearance.SkinItem = (UUID)xml.Value; - indata = true; - } - if (xml.MoveToAttribute("Asset")) - { - rdata.userAppearance.SkinAsset = (UUID)xml.Value; - indata = true; - } - break; - case "Hair" : - if (xml.MoveToAttribute("Item")) - { - rdata.userAppearance.HairItem = (UUID)xml.Value; - indata = true; - } - if (xml.MoveToAttribute("Asset")) - { - rdata.userAppearance.HairAsset = (UUID)xml.Value; - indata = true; - } - break; - case "Eyes" : - if (xml.MoveToAttribute("Item")) - { - rdata.userAppearance.EyesItem = (UUID)xml.Value; - indata = true; - } - if (xml.MoveToAttribute("Asset")) - { - rdata.userAppearance.EyesAsset = (UUID)xml.Value; - indata = true; - } - break; - case "Shirt" : - if (xml.MoveToAttribute("Item")) - { - rdata.userAppearance.ShirtItem = (UUID)xml.Value; - indata = true; - } - if (xml.MoveToAttribute("Asset")) - { - rdata.userAppearance.ShirtAsset = (UUID)xml.Value; - indata = true; - } - break; - case "Pants" : - if (xml.MoveToAttribute("Item")) - { - rdata.userAppearance.PantsItem = (UUID)xml.Value; - indata = true; - } - if (xml.MoveToAttribute("Asset")) - { - rdata.userAppearance.PantsAsset = (UUID)xml.Value; - indata = true; - } - break; - case "Shoes" : - if (xml.MoveToAttribute("Item")) - { - rdata.userAppearance.ShoesItem = (UUID)xml.Value; - indata = true; - } - if (xml.MoveToAttribute("Asset")) - { - rdata.userAppearance.ShoesAsset = (UUID)xml.Value; - indata = true; - } - break; - case "Socks" : - if (xml.MoveToAttribute("Item")) - { - rdata.userAppearance.SocksItem = (UUID)xml.Value; - indata = true; - } - if (xml.MoveToAttribute("Asset")) - { - rdata.userAppearance.SocksAsset = (UUID)xml.Value; - indata = true; - } - break; - case "Jacket" : - if (xml.MoveToAttribute("Item")) - { - rdata.userAppearance.JacketItem = (UUID)xml.Value; - indata = true; - } - if (xml.MoveToAttribute("Asset")) - { - rdata.userAppearance.JacketAsset = (UUID)xml.Value; - indata = true; - } - break; - case "Gloves" : - if (xml.MoveToAttribute("Item")) - { - rdata.userAppearance.GlovesItem = (UUID)xml.Value; - indata = true; - } - if (xml.MoveToAttribute("Asset")) - { - rdata.userAppearance.GlovesAsset = (UUID)xml.Value; - indata = true; - } - break; - case "UnderShirt" : - if (xml.MoveToAttribute("Item")) - { - rdata.userAppearance.UnderShirtItem = (UUID)xml.Value; - indata = true; - } - if (xml.MoveToAttribute("Asset")) - { - rdata.userAppearance.UnderShirtAsset = (UUID)xml.Value; - indata = true; - } - break; - case "UnderPants" : - if (xml.MoveToAttribute("Item")) - { - rdata.userAppearance.UnderPantsItem = (UUID)xml.Value; - indata = true; - } - if (xml.MoveToAttribute("Asset")) - { - rdata.userAppearance.UnderPantsAsset = (UUID)xml.Value; - indata = true; - } - break; - case "Skirt" : - if (xml.MoveToAttribute("Item")) - { - rdata.userAppearance.SkirtItem = (UUID)xml.Value; - indata = true; - } - if (xml.MoveToAttribute("Asset")) - { - rdata.userAppearance.SkirtAsset = (UUID)xml.Value; - indata = true; - } - break; -*/ - case "Attachment" : - { - - int ap; - UUID asset; - UUID item; - - if (xml.MoveToAttribute("AtPoint")) - { - ap = Convert.ToInt32(xml.Value); - if (xml.MoveToAttribute("Asset")) - { - asset = new UUID(xml.Value); - if (xml.MoveToAttribute("Asset")) - { - item = new UUID(xml.Value); - rdata.userAppearance.SetAttachment(ap, item, asset); - indata = true; - } - } - } - } - break; - case "Texture" : - if (xml.MoveToAttribute("Default")) - { - rdata.userAppearance.Texture = new Primitive.TextureEntry(new UUID(xml.Value)); - indata = true; - } - break; - case "Face" : - { - uint index; - if (xml.MoveToAttribute("Index")) - { - index = Convert.ToUInt32(xml.Value); - if (xml.MoveToAttribute("Id")) - { - rdata.userAppearance.Texture.CreateFace(index).TextureID = new UUID(xml.Value); - indata = true; - } - } - } - break; - case "VisualParameters" : - { - xml.ReadContentAsBase64(rdata.userAppearance.VisualParams, - 0, rdata.userAppearance.VisualParams.Length); - indata = true; - } - break; - } - break; - } - } - - return indata; - - } - - private void FormatPart(AppearanceRequestData rdata, string part, UUID item, UUID asset) - { - if (item != UUID.Zero || asset != UUID.Zero) - { - rdata.writer.WriteStartElement(part); - if (item != UUID.Zero) - { - rdata.writer.WriteAttributeString("Item",item.ToString()); - } - - if (asset != UUID.Zero) - { - rdata.writer.WriteAttributeString("Asset",asset.ToString()); - } - rdata.writer.WriteEndElement(); - } - } - - private void FormatUserAppearance(AppearanceRequestData rdata) - { - - Rest.Log.DebugFormat("{0} FormatUserAppearance", MsgId); - - if (rdata.userAppearance != null) - { - - Rest.Log.DebugFormat("{0} FormatUserAppearance: appearance object exists", MsgId); - rdata.writer.WriteStartElement("Appearance"); - - rdata.writer.WriteAttributeString("Height", rdata.userAppearance.AvatarHeight.ToString()); -// if (rdata.userAppearance.Owner != UUID.Zero) -// rdata.writer.WriteAttributeString("Owner", rdata.userAppearance.Owner.ToString()); - rdata.writer.WriteAttributeString("Serial", rdata.userAppearance.Serial.ToString()); - -/* - FormatPart(rdata, "Body", rdata.userAppearance.BodyItem, rdata.userAppearance.BodyAsset); - FormatPart(rdata, "Skin", rdata.userAppearance.SkinItem, rdata.userAppearance.SkinAsset); - FormatPart(rdata, "Hair", rdata.userAppearance.HairItem, rdata.userAppearance.HairAsset); - FormatPart(rdata, "Eyes", rdata.userAppearance.EyesItem, rdata.userAppearance.EyesAsset); - - FormatPart(rdata, "Shirt", rdata.userAppearance.ShirtItem, rdata.userAppearance.ShirtAsset); - FormatPart(rdata, "Pants", rdata.userAppearance.PantsItem, rdata.userAppearance.PantsAsset); - FormatPart(rdata, "Skirt", rdata.userAppearance.SkirtItem, rdata.userAppearance.SkirtAsset); - FormatPart(rdata, "Shoes", rdata.userAppearance.ShoesItem, rdata.userAppearance.ShoesAsset); - FormatPart(rdata, "Socks", rdata.userAppearance.SocksItem, rdata.userAppearance.SocksAsset); - - FormatPart(rdata, "Jacket", rdata.userAppearance.JacketItem, rdata.userAppearance.JacketAsset); - FormatPart(rdata, "Gloves", rdata.userAppearance.GlovesItem, rdata.userAppearance.GlovesAsset); - - FormatPart(rdata, "UnderShirt", rdata.userAppearance.UnderShirtItem, rdata.userAppearance.UnderShirtAsset); - FormatPart(rdata, "UnderPants", rdata.userAppearance.UnderPantsItem, rdata.userAppearance.UnderPantsAsset); -*/ - Rest.Log.DebugFormat("{0} FormatUserAppearance: Formatting attachments", MsgId); - - rdata.writer.WriteStartElement("Attachments"); - List attachments = rdata.userAppearance.GetAttachments(); - foreach (AvatarAttachment attach in attachments) - { - rdata.writer.WriteStartElement("Attachment"); - rdata.writer.WriteAttributeString("AtPoint", attach.AttachPoint.ToString()); - rdata.writer.WriteAttributeString("Item", attach.ItemID.ToString()); - rdata.writer.WriteAttributeString("Asset", attach.AssetID.ToString()); - rdata.writer.WriteEndElement(); - } - rdata.writer.WriteEndElement(); - - Primitive.TextureEntry texture = rdata.userAppearance.Texture; - - if (texture != null && (texture.DefaultTexture != null || texture.FaceTextures != null)) - { - Rest.Log.DebugFormat("{0} FormatUserAppearance: Formatting textures", MsgId); - - rdata.writer.WriteStartElement("Texture"); - - if (texture.DefaultTexture != null) - { - Rest.Log.DebugFormat("{0} FormatUserAppearance: Formatting default texture", MsgId); - rdata.writer.WriteAttributeString("Default", - texture.DefaultTexture.TextureID.ToString()); - } - - if (texture.FaceTextures != null) - { - - Rest.Log.DebugFormat("{0} FormatUserAppearance: Formatting face textures", MsgId); - - for (int i=0; i - /// These are the inventory specific request/response state - /// extensions. - /// - - internal UUID uuid = UUID.Zero; - internal UserProfileData userProfile = null; - internal AvatarAppearance userAppearance = null; - - internal AppearanceRequestData(OSHttpRequest request, OSHttpResponse response, string prefix) - : base(request, response, prefix) - { - } - - } - - #endregion Appearance RequestData extension - - } -} diff --git a/OpenSim/ApplicationPlugins/Rest/Inventory/RestAssetServices.cs b/OpenSim/ApplicationPlugins/Rest/Inventory/RestAssetServices.cs deleted file mode 100644 index 4ba3d77a5b..0000000000 --- a/OpenSim/ApplicationPlugins/Rest/Inventory/RestAssetServices.cs +++ /dev/null @@ -1,383 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSimulator Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System; -using System.Xml; -using OpenMetaverse; -using OpenSim.Framework; -using OpenSim.Framework.Servers; -using OpenSim.Framework.Servers.HttpServer; - -namespace OpenSim.ApplicationPlugins.Rest.Inventory -{ - public class RestAssetServices : IRest - { - private bool enabled = false; - private string qPrefix = "assets"; - - // A simple constructor is used to handle any once-only - // initialization of working classes. - - public RestAssetServices() - { - Rest.Log.InfoFormat("{0} Asset services initializing", MsgId); - Rest.Log.InfoFormat("{0} Using REST Implementation Version {1}", MsgId, Rest.Version); - - // If the handler specifies a relative path for its domain - // then we must add the standard absolute prefix, e.g. /admin - - if (!qPrefix.StartsWith(Rest.UrlPathSeparator)) - { - Rest.Log.InfoFormat("{0} Prefixing domain name ({1})", MsgId, qPrefix); - qPrefix = String.Format("{0}{1}{2}", Rest.Prefix, Rest.UrlPathSeparator, qPrefix); - Rest.Log.InfoFormat("{0} Fully qualified domain name is <{1}>", MsgId, qPrefix); - } - - // Register interface using the fully-qualified prefix - - Rest.Plugin.AddPathHandler(DoAsset, qPrefix, Allocate); - - // Activate if all went OK - - enabled = true; - - Rest.Log.InfoFormat("{0} Asset services initialization complete", MsgId); - } - - // Post-construction, pre-enabled initialization opportunity - // Not currently exploited. - - public void Initialize() - { - } - - // Called by the plug-in to halt REST processing. Local processing is - // disabled, and control blocks until all current processing has - // completed. No new processing will be started - - public void Close() - { - enabled = false; - Rest.Log.InfoFormat("{0} Asset services ({1}) closing down", MsgId, qPrefix); - } - - // Properties - - internal string MsgId - { - get { return Rest.MsgId; } - } - - #region Interface - - private RequestData Allocate(OSHttpRequest request, OSHttpResponse response, string prefix) - { - return (RequestData) new AssetRequestData(request, response, prefix); - } - - // Asset Handler - - private void DoAsset(RequestData rparm) - { - if (!enabled) return; - - AssetRequestData rdata = (AssetRequestData) rparm; - - Rest.Log.DebugFormat("{0} REST Asset handler ({1}) ENTRY", MsgId, qPrefix); - - // Now that we know this is a serious attempt to - // access inventory data, we should find out who - // is asking, and make sure they are authorized - // to do so. We need to validate the caller's - // identity before revealing anything about the - // status quo. Authenticate throws an exception - // via Fail if no identity information is present. - // - // With the present HTTP server we can't use the - // builtin authentication mechanisms because they - // would be enforced for all in-bound requests. - // Instead we look at the headers ourselves and - // handle authentication directly. - - try - { - if (!rdata.IsAuthenticated) - { - rdata.Fail(Rest.HttpStatusCodeNotAuthorized, String.Format("user \"{0}\" could not be authenticated")); - } - } - catch (RestException e) - { - if (e.statusCode == Rest.HttpStatusCodeNotAuthorized) - { - Rest.Log.WarnFormat("{0} User not authenticated", MsgId); - Rest.Log.DebugFormat("{0} Authorization header: {1}", MsgId, - rdata.request.Headers.Get("Authorization")); - } - else - { - Rest.Log.ErrorFormat("{0} User authentication failed", MsgId); - Rest.Log.DebugFormat("{0} Authorization header: {1}", MsgId, - rdata.request.Headers.Get("Authorization")); - } - throw (e); - } - - // Remove the prefix and what's left are the parameters. If we don't have - // the parameters we need, fail the request. Parameters do NOT include - // any supplied query values. - - if (rdata.Parameters.Length > 0) - { - switch (rdata.method) - { - case "get" : - DoGet(rdata); - break; - case "put" : - DoPut(rdata); - break; - case "post" : - DoPost(rdata); - break; - case "delete" : - default : - Rest.Log.WarnFormat("{0} Asset: Method not supported: {1}", - MsgId, rdata.method); - rdata.Fail(Rest.HttpStatusCodeBadRequest,String.Format("method <{0}> not supported", rdata.method)); - break; - } - } - else - { - Rest.Log.WarnFormat("{0} Asset: No agent information provided", MsgId); - rdata.Fail(Rest.HttpStatusCodeBadRequest, "no agent information provided"); - } - - Rest.Log.DebugFormat("{0} REST Asset handler EXIT", MsgId); - } - - #endregion Interface - - /// - /// The only parameter we recognize is a UUID.If an asset with this identification is - /// found, it's content, base-64 encoded, is returned to the client. - /// - - private void DoGet(AssetRequestData rdata) - { - Rest.Log.DebugFormat("{0} REST Asset handler, Method = <{1}> ENTRY", MsgId, rdata.method); - - if (rdata.Parameters.Length == 1) - { - UUID uuid = new UUID(rdata.Parameters[0]); - AssetBase asset = Rest.AssetServices.Get(uuid.ToString()); - - if (asset != null) - { - Rest.Log.DebugFormat("{0} Asset located <{1}>", MsgId, rdata.Parameters[0]); - - rdata.initXmlWriter(); - - rdata.writer.WriteStartElement(String.Empty,"Asset",String.Empty); - - rdata.writer.WriteAttributeString("id", asset.ID); - rdata.writer.WriteAttributeString("name", asset.Name); - rdata.writer.WriteAttributeString("desc", asset.Description); - rdata.writer.WriteAttributeString("type", asset.Type.ToString()); - rdata.writer.WriteAttributeString("local", asset.Local.ToString()); - rdata.writer.WriteAttributeString("temporary", asset.Temporary.ToString()); - - rdata.writer.WriteBase64(asset.Data,0,asset.Data.Length); - - rdata.writer.WriteFullEndElement(); - - } - else - { - Rest.Log.DebugFormat("{0} Invalid parameters: <{1}>", MsgId, rdata.path); - rdata.Fail(Rest.HttpStatusCodeNotFound, "invalid parameters"); - } - } - - rdata.Complete(); - rdata.Respond(String.Format("Asset <{0}> : Normal completion", rdata.method)); - - } - - /// - /// UPDATE existing item, if it exists. URI identifies the item in question. - /// The only parameter we recognize is a UUID. The enclosed asset data (base-64 encoded) - /// is decoded and stored in the database, identified by the supplied UUID. - /// - private void DoPut(AssetRequestData rdata) - { - bool modified = false; - bool created = false; - - AssetBase asset = null; - - Rest.Log.DebugFormat("{0} REST Asset handler, Method = <{1}> ENTRY", MsgId, rdata.method); - - if (rdata.Parameters.Length == 1) - { - - rdata.initXmlReader(); - XmlReader xml = rdata.reader; - - if (!xml.ReadToFollowing("Asset")) - { - Rest.Log.DebugFormat("{0} Invalid request data: <{1}>", MsgId, rdata.path); - rdata.Fail(Rest.HttpStatusCodeBadRequest,"invalid request data"); - } - - UUID uuid = new UUID(rdata.Parameters[0]); - asset = Rest.AssetServices.Get(uuid.ToString()); - - modified = (asset != null); - created = !modified; - - asset = new AssetBase(uuid, xml.GetAttribute("name"), SByte.Parse(xml.GetAttribute("type")), UUID.Zero.ToString()); - asset.Description = xml.GetAttribute("desc"); - asset.Local = Int32.Parse(xml.GetAttribute("local")) != 0; - asset.Temporary = Int32.Parse(xml.GetAttribute("temporary")) != 0; - asset.Data = Convert.FromBase64String(xml.ReadElementContentAsString("Asset", "")); - - if (asset.ID != rdata.Parameters[0]) - { - Rest.Log.WarnFormat("{0} URI and payload disagree on UUID U:{1} vs P:{2}", - MsgId, rdata.Parameters[0], asset.ID); - } - - Rest.AssetServices.Store(asset); - - } - else - { - Rest.Log.DebugFormat("{0} Invalid parameters: <{1}>", MsgId, rdata.path); - rdata.Fail(Rest.HttpStatusCodeNotFound, "invalid parameters"); - } - - if (created) - { - rdata.appendStatus(String.Format("

Created asset {0}, UUID {1}

", asset.Name, asset.FullID)); - rdata.Complete(Rest.HttpStatusCodeCreated); - } - else - { - if (modified) - { - rdata.appendStatus(String.Format("

Modified asset {0}, UUID {1}

", asset.Name, asset.FullID)); - rdata.Complete(Rest.HttpStatusCodeOK); - } - else - { - rdata.Complete(Rest.HttpStatusCodeNoContent); - } - } - - rdata.Respond(String.Format("Asset {0} : Normal completion", rdata.method)); - - } - - ///

- /// CREATE new item, replace if it exists. URI identifies the context for the item in question. - /// No parameters are required for POST, just thepayload. - /// - - private void DoPost(AssetRequestData rdata) - { - - bool modified = false; - bool created = false; - - Rest.Log.DebugFormat("{0} REST Asset handler, Method = <{1}> ENTRY", MsgId, rdata.method); - - if (rdata.Parameters.Length != 0) - { - Rest.Log.WarnFormat("{0} Parameters ignored <{1}>", MsgId, rdata.path); - Rest.Log.InfoFormat("{0} POST of an asset has no parameters", MsgId, rdata.path); - } - - rdata.initXmlReader(); - XmlReader xml = rdata.reader; - - if (!xml.ReadToFollowing("Asset")) - { - Rest.Log.DebugFormat("{0} Invalid request data: <{1}>", MsgId, rdata.path); - rdata.Fail(Rest.HttpStatusCodeBadRequest,"invalid request data"); - } - - UUID uuid = new UUID(xml.GetAttribute("id")); - AssetBase asset = Rest.AssetServices.Get(uuid.ToString()); - - modified = (asset != null); - created = !modified; - - asset = new AssetBase(uuid, xml.GetAttribute("name"), SByte.Parse(xml.GetAttribute("type")), UUID.Zero.ToString()); - asset.Description = xml.GetAttribute("desc"); - asset.Local = Int32.Parse(xml.GetAttribute("local")) != 0; - asset.Temporary = Int32.Parse(xml.GetAttribute("temporary")) != 0; - asset.Data = Convert.FromBase64String(xml.ReadElementContentAsString("Asset", "")); - - Rest.AssetServices.Store(asset); - - if (created) - { - rdata.appendStatus(String.Format("

Created asset {0}, UUID {1}

", asset.Name, asset.FullID)); - rdata.Complete(Rest.HttpStatusCodeCreated); - } - else - { - if (modified) - { - rdata.appendStatus(String.Format("

Modified asset {0}, UUID {1}

", asset.Name, asset.FullID)); - rdata.Complete(Rest.HttpStatusCodeOK); - } - else - { - rdata.Complete(Rest.HttpStatusCodeNoContent); - } - } - - rdata.Respond(String.Format("Asset {0} : Normal completion", rdata.method)); - - } - - ///

- /// Asset processing has no special data area requirements. - /// - - internal class AssetRequestData : RequestData - { - internal AssetRequestData(OSHttpRequest request, OSHttpResponse response, string prefix) - : base(request, response, prefix) - { - } - } - } -} diff --git a/OpenSim/ApplicationPlugins/Rest/Inventory/RestFileServices.cs b/OpenSim/ApplicationPlugins/Rest/Inventory/RestFileServices.cs deleted file mode 100644 index e79d2bd644..0000000000 --- a/OpenSim/ApplicationPlugins/Rest/Inventory/RestFileServices.cs +++ /dev/null @@ -1,448 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSimulator Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System; -using System.Xml; -using System.IO; -using OpenMetaverse; -using OpenSim.Framework; -using OpenSim.Framework.Servers; -using OpenSim.Framework.Servers.HttpServer; - -namespace OpenSim.ApplicationPlugins.Rest.Inventory -{ - public class RestFileServices : IRest - { - private bool enabled = false; - private string qPrefix = "files"; - - // A simple constructor is used to handle any once-only - // initialization of working classes. - - public RestFileServices() - { - Rest.Log.InfoFormat("{0} File services initializing", MsgId); - Rest.Log.InfoFormat("{0} Using REST Implementation Version {1}", MsgId, Rest.Version); - - // If the handler specifies a relative path for its domain - // then we must add the standard absolute prefix, e.g. /admin - - if (!qPrefix.StartsWith(Rest.UrlPathSeparator)) - { - Rest.Log.InfoFormat("{0} Prefixing domain name ({1})", MsgId, qPrefix); - qPrefix = String.Format("{0}{1}{2}", Rest.Prefix, Rest.UrlPathSeparator, qPrefix); - Rest.Log.InfoFormat("{0} Fully qualified domain name is <{1}>", MsgId, qPrefix); - } - - // Register interface using the fully-qualified prefix - - Rest.Plugin.AddPathHandler(DoFile, qPrefix, Allocate); - - // Activate if all went OK - - enabled = true; - - Rest.Log.InfoFormat("{0} File services initialization complete", MsgId); - } - - // Post-construction, pre-enabled initialization opportunity - // Not currently exploited. - - public void Initialize() - { - } - - // Called by the plug-in to halt REST processing. Local processing is - // disabled, and control blocks until all current processing has - // completed. No new processing will be started - - public void Close() - { - enabled = false; - Rest.Log.InfoFormat("{0} File services ({1}) closing down", MsgId, qPrefix); - } - - // Properties - - internal string MsgId - { - get { return Rest.MsgId; } - } - - #region Interface - - private RequestData Allocate(OSHttpRequest request, OSHttpResponse response, string prefix) - { - return (RequestData) new FileRequestData(request, response, prefix); - } - - // Asset Handler - - private void DoFile(RequestData rparm) - { - if (!enabled) return; - - FileRequestData rdata = (FileRequestData) rparm; - - Rest.Log.DebugFormat("{0} REST File handler ({1}) ENTRY", MsgId, qPrefix); - - // Now that we know this is a serious attempt to - // access file data, we should find out who - // is asking, and make sure they are authorized - // to do so. We need to validate the caller's - // identity before revealing anything about the - // status quo. Authenticate throws an exception - // via Fail if no identity information is present. - // - // With the present HTTP server we can't use the - // builtin authentication mechanisms because they - // would be enforced for all in-bound requests. - // Instead we look at the headers ourselves and - // handle authentication directly. - - try - { - if (!rdata.IsAuthenticated) - { - rdata.Fail(Rest.HttpStatusCodeNotAuthorized, String.Format("user \"{0}\" could not be authenticated")); - } - } - catch (RestException e) - { - if (e.statusCode == Rest.HttpStatusCodeNotAuthorized) - { - Rest.Log.WarnFormat("{0} User not authenticated", MsgId); - Rest.Log.DebugFormat("{0} Authorization header: {1}", MsgId, - rdata.request.Headers.Get("Authorization")); - } - else - { - Rest.Log.ErrorFormat("{0} User authentication failed", MsgId); - Rest.Log.DebugFormat("{0} Authorization header: {1}", MsgId, - rdata.request.Headers.Get("Authorization")); - } - throw (e); - } - - // Remove the prefix and what's left are the parameters. If we don't have - // the parameters we need, fail the request. Parameters do NOT include - // any supplied query values. - - if (rdata.Parameters.Length > 0) - { - switch (rdata.method) - { - case "get" : - DoGet(rdata); - break; - case "put" : - DoPut(rdata); - break; - case "post" : - DoPost(rdata); - break; - case "delete" : - DoDelete(rdata); - break; - default : - Rest.Log.WarnFormat("{0} File: Method not supported: {1}", - MsgId, rdata.method); - rdata.Fail(Rest.HttpStatusCodeBadRequest,String.Format("method <{0}> not supported", rdata.method)); - break; - } - } - else - { - Rest.Log.WarnFormat("{0} File: No agent information provided", MsgId); - rdata.Fail(Rest.HttpStatusCodeBadRequest, "no agent information provided"); - } - - Rest.Log.DebugFormat("{0} REST File handler EXIT", MsgId); - - } - - #endregion Interface - - /// - /// The only parameter we recognize is a UUID.If an asset with this identification is - /// found, it's content, base-64 encoded, is returned to the client. - /// - - private void DoGet(FileRequestData rdata) - { - - string path = String.Empty; - - Rest.Log.DebugFormat("{0} REST File handler, Method = <{1}> ENTRY", MsgId, rdata.method); - - if (rdata.Parameters.Length > 1) - { - try - { - path = rdata.path.Substring(rdata.Parameters[0].Length+qPrefix.Length+2); - if (File.Exists(path)) - { - Rest.Log.DebugFormat("{0} File located <{1}>", MsgId, path); - Byte[] data = File.ReadAllBytes(path); - rdata.initXmlWriter(); - rdata.writer.WriteStartElement(String.Empty,"File",String.Empty); - rdata.writer.WriteAttributeString("name", path); - rdata.writer.WriteBase64(data,0,data.Length); - rdata.writer.WriteFullEndElement(); - } - else - { - Rest.Log.DebugFormat("{0} Invalid parameters: <{1}>", MsgId, path); - rdata.Fail(Rest.HttpStatusCodeNotFound, String.Format("invalid parameters : {0}", path)); - } - } - catch (Exception e) - { - Rest.Log.DebugFormat("{0} Invalid parameters: <{1}>", MsgId, e.Message); - rdata.Fail(Rest.HttpStatusCodeNotFound, String.Format("invalid parameters : {0} {1}", - path, e.Message)); - } - } - - rdata.Complete(); - rdata.Respond(String.Format("File <{0}> : Normal completion", rdata.method)); - - } - - /// - /// UPDATE existing item, if it exists. URI identifies the item in question. - /// The only parameter we recognize is a UUID. The enclosed asset data (base-64 encoded) - /// is decoded and stored in the database, identified by the supplied UUID. - /// - private void DoPut(FileRequestData rdata) - { - bool modified = false; - bool created = false; - string path = String.Empty; - - Rest.Log.DebugFormat("{0} REST File handler, Method = <{1}> ENTRY", MsgId, rdata.method); - - if (rdata.Parameters.Length > 1) - { - try - { - path = rdata.path.Substring(rdata.Parameters[0].Length+qPrefix.Length+2); - bool maymod = File.Exists(path); - - rdata.initXmlReader(); - XmlReader xml = rdata.reader; - - if (!xml.ReadToFollowing("File")) - { - Rest.Log.DebugFormat("{0} Invalid request data: <{1}>", MsgId, rdata.path); - rdata.Fail(Rest.HttpStatusCodeBadRequest,"invalid request data"); - } - - Byte[] data = Convert.FromBase64String(xml.ReadElementContentAsString("File", "")); - - File.WriteAllBytes(path,data); - modified = maymod; - created = ! maymod; - } - catch (Exception e) - { - Rest.Log.DebugFormat("{0} Exception during file processing : {1}", MsgId, - e.Message); - } - } - else - { - Rest.Log.DebugFormat("{0} Invalid parameters: <{1}>", MsgId, rdata.path); - rdata.Fail(Rest.HttpStatusCodeNotFound, "invalid parameters"); - } - - if (created) - { - rdata.appendStatus(String.Format("

Created file {0}

", path)); - rdata.Complete(Rest.HttpStatusCodeCreated); - } - else - { - if (modified) - { - rdata.appendStatus(String.Format("

Modified file {0}

", path)); - rdata.Complete(Rest.HttpStatusCodeOK); - } - else - { - rdata.Complete(Rest.HttpStatusCodeNoContent); - } - } - - rdata.Respond(String.Format("File {0} : Normal completion", rdata.method)); - - } - - ///

- /// CREATE new item, replace if it exists. URI identifies the context for the item in question. - /// No parameters are required for POST, just thepayload. - /// - - private void DoPost(FileRequestData rdata) - { - - bool modified = false; - bool created = false; - string path = String.Empty; - - Rest.Log.DebugFormat("{0} REST File handler, Method = <{1}> ENTRY", MsgId, rdata.method); - - if (rdata.Parameters.Length > 1) - { - try - { - path = rdata.path.Substring(rdata.Parameters[0].Length+qPrefix.Length+2); - bool maymod = File.Exists(path); - - rdata.initXmlReader(); - XmlReader xml = rdata.reader; - - if (!xml.ReadToFollowing("File")) - { - Rest.Log.DebugFormat("{0} Invalid request data: <{1}>", MsgId, rdata.path); - rdata.Fail(Rest.HttpStatusCodeBadRequest,"invalid request data"); - } - - Byte[] data = Convert.FromBase64String(xml.ReadElementContentAsString("File", "")); - - File.WriteAllBytes(path,data); - modified = maymod; - created = ! maymod; - } - catch (Exception e) - { - Rest.Log.DebugFormat("{0} Exception during file processing : {1}", MsgId, - e.Message); - } - } - else - { - Rest.Log.DebugFormat("{0} Invalid parameters: <{1}>", MsgId, rdata.path); - rdata.Fail(Rest.HttpStatusCodeNotFound, "invalid parameters"); - } - - if (created) - { - rdata.appendStatus(String.Format("

Created file {0}

", path)); - rdata.Complete(Rest.HttpStatusCodeCreated); - } - else - { - if (modified) - { - rdata.appendStatus(String.Format("

Modified file {0}

", path)); - rdata.Complete(Rest.HttpStatusCodeOK); - } - else - { - rdata.Complete(Rest.HttpStatusCodeNoContent); - } - } - - rdata.Respond(String.Format("File {0} : Normal completion", rdata.method)); - - } - - ///

- /// CREATE new item, replace if it exists. URI identifies the context for the item in question. - /// No parameters are required for POST, just thepayload. - /// - - private void DoDelete(FileRequestData rdata) - { - - bool modified = false; - bool created = false; - string path = String.Empty; - - Rest.Log.DebugFormat("{0} REST File handler, Method = <{1}> ENTRY", MsgId, rdata.method); - - if (rdata.Parameters.Length > 1) - { - try - { - path = rdata.path.Substring(rdata.Parameters[0].Length+qPrefix.Length+2); - - if (File.Exists(path)) - { - File.Delete(path); - } - } - catch (Exception e) - { - Rest.Log.DebugFormat("{0} Exception during file processing : {1}", MsgId, - e.Message); - rdata.Fail(Rest.HttpStatusCodeNotFound, String.Format("invalid parameters : {0} {1}", - path, e.Message)); - } - } - else - { - Rest.Log.DebugFormat("{0} Invalid parameters: <{1}>", MsgId, rdata.path); - rdata.Fail(Rest.HttpStatusCodeNotFound, "invalid parameters"); - } - - if (created) - { - rdata.appendStatus(String.Format("

Created file {0}

", path)); - rdata.Complete(Rest.HttpStatusCodeCreated); - } - else - { - if (modified) - { - rdata.appendStatus(String.Format("

Modified file {0}

", path)); - rdata.Complete(Rest.HttpStatusCodeOK); - } - else - { - rdata.Complete(Rest.HttpStatusCodeNoContent); - } - } - - rdata.Respond(String.Format("File {0} : Normal completion", rdata.method)); - - } - - ///

- /// File processing has no special data area requirements. - /// - - internal class FileRequestData : RequestData - { - internal FileRequestData(OSHttpRequest request, OSHttpResponse response, string prefix) - : base(request, response, prefix) - { - } - } - } -} diff --git a/OpenSim/ApplicationPlugins/Rest/Inventory/RestHandler.cs b/OpenSim/ApplicationPlugins/Rest/Inventory/RestHandler.cs deleted file mode 100644 index 072bd6f010..0000000000 --- a/OpenSim/ApplicationPlugins/Rest/Inventory/RestHandler.cs +++ /dev/null @@ -1,662 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSimulator Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System; -using System.Collections.Generic; -using System.Reflection; -using OpenSim.Framework.Servers; -using OpenSim.Framework.Servers.HttpServer; - -namespace OpenSim.ApplicationPlugins.Rest.Inventory -{ - /// - /// The class signature reveals the roles that RestHandler plays. - /// - /// [1] It is a sub-class of RestPlugin. It inherits and extends - /// the functionality of this class, constraining it to the - /// specific needs of this REST implementation. This relates - /// to the plug-in mechanism supported by OpenSim, the specifics - /// of which are mostly hidden by RestPlugin. - /// [2] IRestHandler describes the interface that this class - /// exports to service implementations. This is the services - /// management interface. - /// [3] IHttpAgentHandler describes the interface that is exported - /// to the BaseHttpServer in support of this particular HTTP - /// processing model. This is the request interface of the - /// handler. - /// - - public class RestHandler : RestPlugin, IRestHandler, IHttpAgentHandler - { - // Handler tables: both stream and REST are supported. The path handlers and their - // respective allocators are stored in separate tables. - - internal Dictionary pathHandlers = new Dictionary(); - internal Dictionary pathAllocators = new Dictionary(); - internal Dictionary streamHandlers = new Dictionary(); - - #region local static state - - private static bool handlersLoaded = false; - private static List classes = new List(); - private static List handlers = new List(); - private static Type[] parms = new Type[0]; - private static Object[] args = new Object[0]; - - /// - /// This static initializer scans the ASSEMBLY for classes that - /// export the IRest interface and builds a list of them. These - /// are later activated by the handler. To add a new handler it - /// is only necessary to create a new services class that implements - /// the IRest interface, and recompile the handler. This gives - /// all of the build-time flexibility of a modular approach - /// while not introducing yet-another module loader. Note that - /// multiple assembles can still be built, each with its own set - /// of handlers. Examples of services classes are RestInventoryServices - /// and RestSkeleton. - /// - - static RestHandler() - { - Module[] mods = Assembly.GetExecutingAssembly().GetModules(); - - foreach (Module m in mods) - { - Type[] types = m.GetTypes(); - foreach (Type t in types) - { - try - { - if (t.GetInterface("IRest") != null) - { - classes.Add(t); - } - } - catch (Exception) - { - Rest.Log.WarnFormat("[STATIC-HANDLER]: #0 Error scanning {1}", t); - Rest.Log.InfoFormat("[STATIC-HANDLER]: #0 {1} is not included", t); - } - } - } - } - - #endregion local static state - - #region local instance state - - /// - /// This routine loads all of the handlers discovered during - /// instance initialization. - /// A table of all loaded and successfully constructed handlers - /// is built, and this table is then used by the constructor to - /// initialize each of the handlers in turn. - /// NOTE: The loading process does not automatically imply that - /// the handler has registered any kind of an interface, that - /// may be (optionally) done by the handler either during - /// construction, or during initialization. - /// - /// I was not able to make this code work within a constructor - /// so it is isolated within this method. - /// - - private void LoadHandlers() - { - lock (handlers) - { - if (!handlersLoaded) - { - ConstructorInfo ci; - Object ht; - - foreach (Type t in classes) - { - try - { - ci = t.GetConstructor(parms); - ht = ci.Invoke(args); - handlers.Add((IRest)ht); - } - catch (Exception e) - { - Rest.Log.WarnFormat("{0} Unable to load {1} : {2}", MsgId, t, e.Message); - } - } - handlersLoaded = true; - } - } - } - - #endregion local instance state - - #region overriding properties - - // These properties override definitions - // in the base class. - - // Name is used to differentiate the message header. - - public override string Name - { - get { return "HANDLER"; } - } - - // Used to partition the .ini configuration space. - - public override string ConfigName - { - get { return "RestHandler"; } - } - - // We have to rename these because we want - // to be able to share the values with other - // classes in our assembly and the base - // names are protected. - - public string MsgId - { - get { return base.MsgID; } - } - - public string RequestId - { - get { return base.RequestID; } - } - - #endregion overriding properties - - #region overriding methods - - /// - /// This method is called by OpenSimMain immediately after loading the - /// plugin and after basic server setup, but before running any server commands. - /// - /// - /// Note that entries MUST be added to the active configuration files before - /// the plugin can be enabled. - /// - - public override void Initialise(OpenSimBase openSim) - { - try - { - // This plugin will only be enabled if the broader - // REST plugin mechanism is enabled. - - //Rest.Log.InfoFormat("{0} Plugin is initializing", MsgId); - - base.Initialise(openSim); - - // IsEnabled is implemented by the base class and - // reflects an overall RestPlugin status - - if (!IsEnabled) - { - //Rest.Log.WarnFormat("{0} Plugins are disabled", MsgId); - return; - } - - Rest.Log.InfoFormat("{0} Rest <{1}> plugin will be enabled", MsgId, Name); - Rest.Log.InfoFormat("{0} Configuration parameters read from <{1}>", MsgId, ConfigName); - - // These are stored in static variables to make - // them easy to reach from anywhere in the assembly. - - Rest.main = openSim; - if (Rest.main == null) - throw new Exception("OpenSim base pointer is null"); - - Rest.Plugin = this; - Rest.Config = Config; - Rest.Prefix = Prefix; - Rest.GodKey = GodKey; - Rest.Authenticate = Rest.Config.GetBoolean("authenticate", Rest.Authenticate); - Rest.Scheme = Rest.Config.GetString("auth-scheme", Rest.Scheme); - Rest.Secure = Rest.Config.GetBoolean("secured", Rest.Secure); - Rest.ExtendedEscape = Rest.Config.GetBoolean("extended-escape", Rest.ExtendedEscape); - Rest.Realm = Rest.Config.GetString("realm", Rest.Realm); - Rest.DumpAsset = Rest.Config.GetBoolean("dump-asset", Rest.DumpAsset); - Rest.Fill = Rest.Config.GetBoolean("path-fill", Rest.Fill); - Rest.DumpLineSize = Rest.Config.GetInt("dump-line-size", Rest.DumpLineSize); - Rest.FlushEnabled = Rest.Config.GetBoolean("flush-on-error", Rest.FlushEnabled); - - // Note: Odd spacing is required in the following strings - - Rest.Log.InfoFormat("{0} Authentication is {1}required", MsgId, - (Rest.Authenticate ? "" : "not ")); - - Rest.Log.InfoFormat("{0} Security is {1}enabled", MsgId, - (Rest.Secure ? "" : "not ")); - - Rest.Log.InfoFormat("{0} Extended URI escape processing is {1}enabled", MsgId, - (Rest.ExtendedEscape ? "" : "not ")); - - Rest.Log.InfoFormat("{0} Dumping of asset data is {1}enabled", MsgId, - (Rest.DumpAsset ? "" : "not ")); - - // The supplied prefix MUST be absolute - - if (Rest.Prefix.Substring(0,1) != Rest.UrlPathSeparator) - { - Rest.Log.WarnFormat("{0} Prefix <{1}> is not absolute and must be", MsgId, Rest.Prefix); - Rest.Log.InfoFormat("{0} Prefix changed to ", MsgId, Rest.Prefix); - Rest.Prefix = String.Format("{0}{1}", Rest.UrlPathSeparator, Rest.Prefix); - } - - // If data dumping is requested, report on the chosen line - // length. - - if (Rest.DumpAsset) - { - Rest.Log.InfoFormat("{0} Dump {1} bytes per line", MsgId, Rest.DumpLineSize); - } - - // Load all of the handlers present in the - // assembly - - // In principle, as we're an application plug-in, - // most of what needs to be done could be done using - // static resources, however the Open Sim plug-in - // model makes this an instance, so that's what we - // need to be. - // There is only one Communications manager per - // server, and by inference, only one each of the - // user, asset, and inventory servers. So we can cache - // those using a static initializer. - // We move all of this processing off to another - // services class to minimize overlap between function - // and infrastructure. - - LoadHandlers(); - - // The intention of a post construction initializer - // is to allow for setup that is dependent upon other - // activities outside of the agency. - - foreach (IRest handler in handlers) - { - try - { - handler.Initialize(); - } - catch (Exception e) - { - Rest.Log.ErrorFormat("{0} initialization error: {1}", MsgId, e.Message); - } - } - - // Now that everything is setup we can proceed to - // add THIS agent to the HTTP server's handler list - - // FIXME: If this code is ever to be re-enabled (most of it is disabled already) then this will - // have to be handled through the AddHttpHandler interface. -// if (!AddAgentHandler(Rest.Name,this)) -// { -// Rest.Log.ErrorFormat("{0} Unable to activate handler interface", MsgId); -// foreach (IRest handler in handlers) -// { -// handler.Close(); -// } -// } - - } - catch (Exception e) - { - Rest.Log.ErrorFormat("{0} Plugin initialization has failed: {1}", MsgId, e.Message); - } - } - - /// - /// In the interests of efficiency, and because we cannot determine whether - /// or not this instance will actually be harvested, we clobber the only - /// anchoring reference to the working state for this plug-in. What the - /// call to close does is irrelevant to this class beyond knowing that it - /// can nullify the reference when it returns. - /// To make sure everything is copacetic we make sure the primary interface - /// is disabled by deleting the handler from the HTTP server tables. - /// - - public override void Close() - { - Rest.Log.InfoFormat("{0} Plugin is terminating", MsgId); - - // FIXME: If this code is ever to be re-enabled (most of it is disabled already) then this will - // have to be handled through the AddHttpHandler interface. -// try -// { -// RemoveAgentHandler(Rest.Name, this); -// } -// catch (KeyNotFoundException){} - - foreach (IRest handler in handlers) - { - handler.Close(); - } - } - - #endregion overriding methods - - #region interface methods - - /// - /// This method is called by the HTTP server to match an incoming - /// request. It scans all of the strings registered by the - /// underlying handlers and looks for the best match. It returns - /// true if a match is found. - /// The matching process could be made arbitrarily complex. - /// Note: The match is case-insensitive. - /// - - public bool Match(OSHttpRequest request, OSHttpResponse response) - { - - string path = request.RawUrl.ToLower(); - - // Rest.Log.DebugFormat("{0} Match ENTRY", MsgId); - - try - { - foreach (string key in pathHandlers.Keys) - { - // Rest.Log.DebugFormat("{0} Match testing {1} against agent prefix <{2}>", MsgId, path, key); - - // Note that Match will not necessarily find the handler that will - // actually be used - it does no test for the "closest" fit. It - // simply reflects that at least one possible handler exists. - - if (path.StartsWith(key)) - { - // Rest.Log.DebugFormat("{0} Matched prefix <{1}>", MsgId, key); - - // This apparently odd evaluation is needed to prevent a match - // on anything other than a URI token boundary. Otherwise we - // may match on URL's that were not intended for this handler. - - return (path.Length == key.Length || - path.Substring(key.Length, 1) == Rest.UrlPathSeparator); - } - } - - path = String.Format("{0}{1}{2}", request.HttpMethod, Rest.UrlMethodSeparator, path); - - foreach (string key in streamHandlers.Keys) - { - // Rest.Log.DebugFormat("{0} Match testing {1} against stream prefix <{2}>", MsgId, path, key); - - // Note that Match will not necessarily find the handler that will - // actually be used - it does no test for the "closest" fit. It - // simply reflects that at least one possible handler exists. - - if (path.StartsWith(key)) - { - // Rest.Log.DebugFormat("{0} Matched prefix <{1}>", MsgId, key); - - // This apparently odd evaluation is needed to prevent a match - // on anything other than a URI token boundary. Otherwise we - // may match on URL's that were not intended for this handler. - - return (path.Length == key.Length || - path.Substring(key.Length, 1) == Rest.UrlPathSeparator); - } - } - } - catch (Exception e) - { - Rest.Log.ErrorFormat("{0} matching exception for path <{1}> : {2}", MsgId, path, e.Message); - } - - return false; - } - - /// - /// This is called by the HTTP server once the handler has indicated - /// that it is able to handle the request. - /// Preconditions: - /// [1] request != null and is a valid request object - /// [2] response != null and is a valid response object - /// Behavior is undefined if preconditions are not satisfied. - /// - - public bool Handle(OSHttpRequest request, OSHttpResponse response) - { - bool handled; - base.MsgID = base.RequestID; - - // Debug only - - if (Rest.DEBUG) - { - Rest.Log.DebugFormat("{0} ENTRY", MsgId); - Rest.Log.DebugFormat("{0} Agent: {1}", MsgId, request.UserAgent); - Rest.Log.DebugFormat("{0} Method: {1}", MsgId, request.HttpMethod); - - for (int i = 0; i < request.Headers.Count; i++) - { - Rest.Log.DebugFormat("{0} Header [{1}] : <{2}> = <{3}>", - MsgId, i, request.Headers.GetKey(i), request.Headers.Get(i)); - } - Rest.Log.DebugFormat("{0} URI: {1}", MsgId, request.RawUrl); - } - - // If a path handler worked we're done, otherwise try any - // available stream handlers too. - - try - { - handled = (FindPathHandler(request, response) || - FindStreamHandler(request, response)); - } - catch (Exception e) - { - // A raw exception indicates that something we weren't expecting has - // happened. This should always reflect a shortcoming in the plugin, - // or a failure to satisfy the preconditions. It should not reflect - // an error in the request itself. Under such circumstances the state - // of the request cannot be determined and we are obliged to mark it - // as 'handled'. - - Rest.Log.ErrorFormat("{0} Plugin error: {1}", MsgId, e.Message); - handled = true; - } - - Rest.Log.DebugFormat("{0} EXIT", MsgId); - - return handled; - } - - #endregion interface methods - - /// - /// If there is a stream handler registered that can handle the - /// request, then fine. If the request is not matched, do - /// nothing. - /// Note: The selection is case-insensitive - /// - - private bool FindStreamHandler(OSHttpRequest request, OSHttpResponse response) - { - RequestData rdata = new RequestData(request, response, String.Empty); - - string bestMatch = String.Empty; - string path = String.Format("{0}:{1}", rdata.method, rdata.path).ToLower(); - - Rest.Log.DebugFormat("{0} Checking for stream handler for <{1}>", MsgId, path); - - if (!IsEnabled) - { - return false; - } - - foreach (string pattern in streamHandlers.Keys) - { - if (path.StartsWith(pattern)) - { - if (pattern.Length > bestMatch.Length) - { - bestMatch = pattern; - } - } - } - - // Handle using the best match available - - if (bestMatch.Length > 0) - { - Rest.Log.DebugFormat("{0} Stream-based handler matched with <{1}>", MsgId, bestMatch); - RestStreamHandler handler = streamHandlers[bestMatch]; - rdata.buffer = handler.Handle(rdata.path, rdata.request.InputStream, rdata.request, rdata.response); - rdata.AddHeader(rdata.response.ContentType,handler.ContentType); - rdata.Respond("FindStreamHandler Completion"); - } - - return rdata.handled; - } - - /// - /// Add a stream handler for the designated HTTP method and path prefix. - /// If the handler is not enabled, the request is ignored. If the path - /// does not start with the REST prefix, it is added. If method-qualified - /// path has not already been registered, the method is added to the active - /// handler table. - /// - public void AddStreamHandler(string httpMethod, string path, RestMethod method) - { - if (!IsEnabled) - { - return; - } - - if (!path.StartsWith(Rest.Prefix)) - { - path = String.Format("{0}{1}", Rest.Prefix, path); - } - - path = String.Format("{0}{1}{2}", httpMethod, Rest.UrlMethodSeparator, path); - - // Conditionally add to the list - - if (!streamHandlers.ContainsKey(path)) - { - streamHandlers.Add(path, new RestStreamHandler(httpMethod, path, method)); - Rest.Log.DebugFormat("{0} Added handler for {1}", MsgId, path); - } - else - { - Rest.Log.WarnFormat("{0} Ignoring duplicate handler for {1}", MsgId, path); - } - } - - /// - /// Given the supplied request/response, if the handler is enabled, the inbound - /// information is used to match an entry in the active path handler tables, using - /// the method-qualified path information. If a match is found, then the handler is - /// invoked. The result is the boolean result of the handler, or false if no - /// handler was located. The boolean indicates whether or not the request has been - /// handled, not whether or not the request was successful - that information is in - /// the response. - /// Note: The selection process is case-insensitive - /// - - internal bool FindPathHandler(OSHttpRequest request, OSHttpResponse response) - { - RequestData rdata = null; - string bestMatch = null; - - if (!IsEnabled) - { - return false; - } - - // Conditionally add to the list - - Rest.Log.DebugFormat("{0} Checking for path handler for <{1}>", MsgId, request.RawUrl); - - foreach (string pattern in pathHandlers.Keys) - { - if (request.RawUrl.ToLower().StartsWith(pattern)) - { - if (String.IsNullOrEmpty(bestMatch) || pattern.Length > bestMatch.Length) - { - bestMatch = pattern; - } - } - } - - if (!String.IsNullOrEmpty(bestMatch)) - { - rdata = pathAllocators[bestMatch](request, response, bestMatch); - - Rest.Log.DebugFormat("{0} Path based REST handler matched with <{1}>", MsgId, bestMatch); - - try - { - pathHandlers[bestMatch](rdata); - } - - // A plugin generated error indicates a request-related error - // that has been handled by the plugin. - - catch (RestException r) - { - Rest.Log.WarnFormat("{0} Request failed: {1}", MsgId, r.Message); - } - } - - return (rdata == null) ? false : rdata.handled; - } - - /// - /// A method handler and a request allocator are stored using the designated - /// path as a key. If an entry already exists, it is replaced by the new one. - /// - - public void AddPathHandler(RestMethodHandler mh, string path, RestMethodAllocator ra) - { - if (!IsEnabled) - { - return; - } - - if (pathHandlers.ContainsKey(path)) - { - Rest.Log.DebugFormat("{0} Replacing handler for <${1}>", MsgId, path); - pathHandlers.Remove(path); - } - - if (pathAllocators.ContainsKey(path)) - { - Rest.Log.DebugFormat("{0} Replacing allocator for <${1}>", MsgId, path); - pathAllocators.Remove(path); - } - - Rest.Log.DebugFormat("{0} Adding path handler for {1}", MsgId, path); - - pathHandlers.Add(path, mh); - pathAllocators.Add(path, ra); - } - } -} diff --git a/OpenSim/ApplicationPlugins/Rest/Inventory/RestInventoryServices.cs b/OpenSim/ApplicationPlugins/Rest/Inventory/RestInventoryServices.cs deleted file mode 100644 index 536f167793..0000000000 --- a/OpenSim/ApplicationPlugins/Rest/Inventory/RestInventoryServices.cs +++ /dev/null @@ -1,2343 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSimulator Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System; -using System.Collections.Generic; -using System.Drawing; -using System.Globalization; -using System.IO; -using System.Threading; -using System.Timers; -using System.Xml; -using OpenMetaverse; -using OpenMetaverse.Imaging; -using OpenSim.Framework; - -using OpenSim.Framework.Servers; -using OpenSim.Framework.Servers.HttpServer; -using Timer=System.Timers.Timer; - -namespace OpenSim.ApplicationPlugins.Rest.Inventory -{ - public class RestInventoryServices : IRest - { -// private static readonly int PARM_USERID = 0; -// private static readonly int PARM_PATH = 1; - -// private bool enabled = false; - private string qPrefix = "inventory"; - -// private static readonly string PRIVATE_ROOT_NAME = "My Inventory"; - - /// - /// The constructor makes sure that the service prefix is absolute - /// and the registers the service handler and the allocator. - /// - - public RestInventoryServices() - { - Rest.Log.InfoFormat("{0} Inventory services initializing", MsgId); - Rest.Log.InfoFormat("{0} Using REST Implementation Version {1}", MsgId, Rest.Version); - - // If a relative path was specified for the handler's domain, - // add the standard prefix to make it absolute, e.g. /admin - - if (!qPrefix.StartsWith(Rest.UrlPathSeparator)) - { - Rest.Log.InfoFormat("{0} Domain is relative, adding absolute prefix", MsgId); - qPrefix = String.Format("{0}{1}{2}", Rest.Prefix, Rest.UrlPathSeparator, qPrefix); - Rest.Log.InfoFormat("{0} Domain is now <{1}>", MsgId, qPrefix); - } - - // Register interface using the absolute URI. - - Rest.Plugin.AddPathHandler(DoInventory,qPrefix,Allocate); - - // Activate if everything went OK - -// enabled = true; - - Rest.Log.InfoFormat("{0} Inventory services initialization complete", MsgId); - } - - /// - /// Post-construction, pre-enabled initialization opportunity - /// Not currently exploited. - /// - - public void Initialize() - { - } - - /// - /// Called by the plug-in to halt service processing. Local processing is - /// disabled. - /// - - public void Close() - { -// enabled = false; - Rest.Log.InfoFormat("{0} Inventory services closing down", MsgId); - } - - /// - /// This property is declared locally because it is used a lot and - /// brevity is nice. - /// - internal string MsgId - { - get { return Rest.MsgId; } - } - - #region Interface - - /// - /// The plugin (RestHandler) calls this method to allocate the request - /// state carrier for a new request. It is destroyed when the request - /// completes. All request-instance specific state is kept here. This - /// is registered when this service provider is registered. - /// - /// Inbound HTTP request information - /// Outbound HTTP request information - /// REST service domain prefix - /// A RequestData instance suitable for this service - private RequestData Allocate(OSHttpRequest request, OSHttpResponse response, string prefix) - { - return (RequestData) new InventoryRequestData(request, response, prefix); - } - - /// - /// This method is registered with the handler when this service provider - /// is initialized. It is called whenever the plug-in identifies this service - /// provider as the best match for a given request. - /// It handles all aspects of inventory REST processing, i.e. /admin/inventory - /// - /// A consolidated HTTP request work area - private void DoInventory(RequestData hdata) - { -// InventoryRequestData rdata = (InventoryRequestData) hdata; - - Rest.Log.DebugFormat("{0} DoInventory ENTRY", MsgId); - - // !!! REFACTORING PROBLEM - - //// If we're disabled, do nothing. - - //if (!enabled) - //{ - // return; - //} - - //// Now that we know this is a serious attempt to - //// access inventory data, we should find out who - //// is asking, and make sure they are authorized - //// to do so. We need to validate the caller's - //// identity before revealing anything about the - //// status quo. Authenticate throws an exception - //// via Fail if no identity information is present. - //// - //// With the present HTTP server we can't use the - //// builtin authentication mechanisms because they - //// would be enforced for all in-bound requests. - //// Instead we look at the headers ourselves and - //// handle authentication directly. - - //try - //{ - // if (!rdata.IsAuthenticated) - // { - // rdata.Fail(Rest.HttpStatusCodeNotAuthorized,String.Format("user \"{0}\" could not be authenticated", rdata.userName)); - // } - //} - //catch (RestException e) - //{ - // if (e.statusCode == Rest.HttpStatusCodeNotAuthorized) - // { - // Rest.Log.WarnFormat("{0} User not authenticated", MsgId); - // Rest.Log.DebugFormat("{0} Authorization header: {1}", MsgId, rdata.request.Headers.Get("Authorization")); - // } - // else - // { - // Rest.Log.ErrorFormat("{0} User authentication failed", MsgId); - // Rest.Log.DebugFormat("{0} Authorization header: {1}", MsgId, rdata.request.Headers.Get("Authorization")); - // } - // throw (e); - //} - - //Rest.Log.DebugFormat("{0} Authenticated {1}", MsgId, rdata.userName); - - //// We can only get here if we are authorized - //// - //// The requestor may have specified an UUID or - //// a conjoined FirstName LastName string. We'll - //// try both. If we fail with the first, UUID, - //// attempt, we try the other. As an example, the - //// URI for a valid inventory request might be: - //// - //// http://:/admin/inventory/Arthur Dent - //// - //// Indicating that this is an inventory request for - //// an avatar named Arthur Dent. This is ALL that is - //// required to designate a GET for an entire - //// inventory. - //// - - - //// Do we have at least a user agent name? - - //if (rdata.Parameters.Length < 1) - //{ - // Rest.Log.WarnFormat("{0} Inventory: No user agent identifier specified", MsgId); - // rdata.Fail(Rest.HttpStatusCodeBadRequest, "no user identity specified"); - //} - - //// The first parameter MUST be the agent identification, either an UUID - //// or a space-separated First-name Last-Name specification. We check for - //// an UUID first, if anyone names their character using a valid UUID - //// that identifies another existing avatar will cause this a problem... - - //try - //{ - // rdata.uuid = new UUID(rdata.Parameters[PARM_USERID]); - // Rest.Log.DebugFormat("{0} UUID supplied", MsgId); - // rdata.userProfile = Rest.UserServices.GetUserProfile(rdata.uuid); - //} - //catch - //{ - // string[] names = rdata.Parameters[PARM_USERID].Split(Rest.CA_SPACE); - // if (names.Length == 2) - // { - // Rest.Log.DebugFormat("{0} Agent Name supplied [2]", MsgId); - // rdata.userProfile = Rest.UserServices.GetUserProfile(names[0],names[1]); - // } - // else - // { - // Rest.Log.WarnFormat("{0} A Valid UUID or both first and last names must be specified", MsgId); - // rdata.Fail(Rest.HttpStatusCodeBadRequest, "invalid user identity"); - // } - //} - - //// If the user profile is null then either the server is broken, or the - //// user is not known. We always assume the latter case. - - //if (rdata.userProfile != null) - //{ - // Rest.Log.DebugFormat("{0} Profile obtained for agent {1} {2}", - // MsgId, rdata.userProfile.FirstName, rdata.userProfile.SurName); - //} - //else - //{ - // Rest.Log.WarnFormat("{0} No profile for {1}", MsgId, rdata.path); - // rdata.Fail(Rest.HttpStatusCodeNotFound, "unrecognized user identity"); - //} - - //// If we get to here, then we have effectively validated the user's - //// identity. Now we need to get the inventory. If the server does not - //// have the inventory, we reject the request with an appropriate explanation. - //// - //// Note that inventory retrieval is an asynchronous event, we use the rdata - //// class instance as the basis for our synchronization. - //// - - //rdata.uuid = rdata.userProfile.ID; - - //if (Rest.InventoryServices.HasInventoryForUser(rdata.uuid)) - //{ - // rdata.root = Rest.InventoryServices.GetRootFolder(rdata.uuid); - - // Rest.Log.DebugFormat("{0} Inventory Root retrieved for {1} {2}", - // MsgId, rdata.userProfile.FirstName, rdata.userProfile.SurName); - - // Rest.InventoryServices.GetUserInventory(rdata.uuid, rdata.GetUserInventory); - - // Rest.Log.DebugFormat("{0} Inventory catalog requested for {1} {2}", - // MsgId, rdata.userProfile.FirstName, rdata.userProfile.SurName); - - // lock (rdata) - // { - // if (!rdata.HaveInventory) - // { - // rdata.startWD(1000); - // rdata.timeout = false; - // Monitor.Wait(rdata); - // } - // } - - // if (rdata.timeout) - // { - // Rest.Log.WarnFormat("{0} Inventory not available for {1} {2}. No response from service.", - // MsgId, rdata.userProfile.FirstName, rdata.userProfile.SurName); - // rdata.Fail(Rest.HttpStatusCodeServerError, "inventory server not responding"); - // } - - // if (rdata.root == null) - // { - // Rest.Log.WarnFormat("{0} Inventory is not available [1] for agent {1} {2}", - // MsgId, rdata.userProfile.FirstName, rdata.userProfile.SurName); - // rdata.Fail(Rest.HttpStatusCodeServerError, "inventory retrieval failed"); - // } - - //} - //else - //{ - // Rest.Log.WarnFormat("{0} Inventory is not locally available for agent {1} {2}", - // MsgId, rdata.userProfile.FirstName, rdata.userProfile.SurName); - // rdata.Fail(Rest.HttpStatusCodeNotFound, "no local inventory for user"); - //} - - //// If we get here, then we have successfully retrieved the user's information - //// and inventory information is now available locally. - - //switch (rdata.method) - //{ - // case Rest.HEAD : // Do the processing, set the status code, suppress entity - // DoGet(rdata); - // rdata.buffer = null; - // break; - - // case Rest.GET : // Do the processing, set the status code, return entity - // DoGet(rdata); - // break; - - // case Rest.PUT : // Update named element - // DoUpdate(rdata); - // break; - - // case Rest.POST : // Add new information to identified context. - // DoExtend(rdata); - // break; - - // case Rest.DELETE : // Delete information - // DoDelete(rdata); - // break; - - // default : - // Rest.Log.WarnFormat("{0} Method {1} not supported for {2}", - // MsgId, rdata.method, rdata.path); - // rdata.Fail(Rest.HttpStatusCodeMethodNotAllowed, - // String.Format("{0} not supported", rdata.method)); - // break; - //} - } - - #endregion Interface - - #region method-specific processing - - /// - /// This method implements GET processing for inventory. - /// Any remaining parameters are used to locate the - /// corresponding subtree based upon node name. - /// - /// HTTP service request work area -// private void DoGet(InventoryRequestData rdata) -// { -// rdata.initXmlWriter(); -// -// rdata.writer.WriteStartElement(String.Empty,"Inventory",String.Empty); -// -// // If there are additional parameters, then these represent -// // a path relative to the root of the inventory. This path -// // must be traversed before we format the sub-tree thus -// // identified. -// -// traverse(rdata, rdata.root, PARM_PATH); -// -// // Close all open elements -// -// rdata.writer.WriteFullEndElement(); -// -// // Indicate a successful request -// -// rdata.Complete(); -// -// // Send the response to the user. The body will be implicitly -// // constructed from the result of the XML writer. -// -// rdata.Respond(String.Format("Inventory {0} Normal completion", rdata.method)); -// } - - /// - /// In the case of the inventory, and probably in general, - /// the distinction between PUT and POST is not always - /// easy to discern. The standard is badly worded in places, - /// and adding a node to a hierarchy can be viewed as - /// an addition, or as a modification to the inventory as - /// a whole. This is exacerbated by an unjustified lack of - /// consistency across different implementations. - /// - /// For OpenSim PUT is an update and POST is an addition. This - /// is the behavior required by the HTTP specification and - /// therefore as required by REST. - /// - /// The best way to explain the distinction is to - /// consider the relationship between the URI and the - /// enclosed entity. For PUT, the URI identifies the - /// actual entity to be modified or replaced, i.e. the - /// enclosed entity. - /// - /// If the operation is POST,then the URI describes the - /// context into which the new entity will be added. - /// - /// As an example, suppose the URI contains: - /// /admin/inventory/Clothing - /// - /// A PUT request will normally result in some modification of - /// the folder or item named "Clothing". Whereas a POST - /// request will normally add some new information into the - /// content identified by Clothing. It follows from this - /// that for POST, the element identified by the URI MUST - /// be a folder. - /// - - /// - /// POST adds new information to the inventory in the - /// context identified by the URI. - /// - /// HTTP service request work area -// private void DoExtend(InventoryRequestData rdata) -// { -// bool created = false; -// bool modified = false; -// string newnode = String.Empty; -// -// // Resolve the context node specified in the URI. Entity -// // data will be ADDED beneath this node. rdata already contains -// // information about the current content of the user's -// // inventory. -// -// Object InventoryNode = getInventoryNode(rdata, rdata.root, PARM_PATH, Rest.Fill); -// -// // Processing depends upon the type of inventory node -// // identified in the URI. This is the CONTEXT for the -// // change. We either got a context or we threw an -// // exception. -// -// // It follows that we can only add information if the URI -// // has identified a folder. So only a type of folder is supported -// // in this case. -// -// if (typeof(InventoryFolderBase) == InventoryNode.GetType() || -// typeof(InventoryFolderImpl) == InventoryNode.GetType()) -// { -// // Cast the context node appropriately. -// -// InventoryFolderBase context = (InventoryFolderBase) InventoryNode; -// -// Rest.Log.DebugFormat("{0} {1}: Resource(s) will be added to folder {2}", -// MsgId, rdata.method, rdata.path); -// -// // Reconstitute the inventory sub-tree from the XML supplied in the entity. -// // The result is a stand-alone inventory subtree, not yet integrated into the -// // existing tree. An inventory collection consists of three components: -// // [1] A (possibly empty) set of folders. -// // [2] A (possibly empty) set of items. -// // [3] A (possibly empty) set of assets. -// // If all of these are empty, then the POST is a harmless no-operation. -// -// XmlInventoryCollection entity = ReconstituteEntity(rdata); -// -// // Inlined assets can be included in entity. These must be incorporated into -// // the asset database before we attempt to update the inventory. If anything -// // fails, return a failure to requestor. -// -// if (entity.Assets.Count > 0) -// { -// Rest.Log.DebugFormat("{0} Adding {1} assets to server", -// MsgId, entity.Assets.Count); -// -// foreach (AssetBase asset in entity.Assets) -// { -// Rest.Log.DebugFormat("{0} Rest asset: {1} {2} {3}", -// MsgId, asset.ID, asset.Type, asset.Name); -// Rest.AssetServices.Store(asset); -// -// created = true; -// rdata.appendStatus(String.Format("

Created asset {0}, UUID {1}

", -// asset.Name, asset.ID)); -// -// if (Rest.DEBUG && Rest.DumpAsset) -// { -// Rest.Dump(asset.Data); -// } -// } -// } -// -// // Modify the context using the collection of folders and items -// // returned in the XmlInventoryCollection. -// -// foreach (InventoryFolderBase folder in entity.Folders) -// { -// InventoryFolderBase found; -// -// // If the parentID is zero, then this folder is going -// // into the root folder identified by the URI. The requestor -// // may have already set the parent ID explicitly, in which -// // case we don't have to do it here. -// -// if (folder.ParentID == UUID.Zero || folder.ParentID == context.ID) -// { -// if (newnode != String.Empty) -// { -// Rest.Log.DebugFormat("{0} Too many resources", MsgId); -// rdata.Fail(Rest.HttpStatusCodeBadRequest, "only one root entity is allowed"); -// } -// folder.ParentID = context.ID; -// newnode = folder.Name; -// } -// -// // Search the existing inventory for an existing entry. If -// // we have one, we need to decide if it has really changed. -// // It could just be present as (unnecessary) context, and we -// // don't want to waste time updating the database in that -// // case, OR, it could be being moved from another location -// // in which case an update is most certainly necessary. -// -// found = null; -// -// foreach (InventoryFolderBase xf in rdata.folders) -// { -// // Compare identifying attribute -// if (xf.ID == folder.ID) -// { -// found = xf; -// break; -// } -// } -// -// if (found != null && FolderHasChanged(folder,found)) -// { -// Rest.Log.DebugFormat("{0} Updating existing folder", MsgId); -// Rest.InventoryServices.MoveFolder(folder); -// -// modified = true; -// rdata.appendStatus(String.Format("

Created folder {0}, UUID {1}

", -// folder.Name, folder.ID)); -// } -// else -// { -// Rest.Log.DebugFormat("{0} Adding new folder", MsgId); -// Rest.InventoryServices.AddFolder(folder); -// -// created = true; -// rdata.appendStatus(String.Format("

Modified folder {0}, UUID {1}

", -// folder.Name, folder.ID)); -// } -// } -// -// // Now we repeat a similar process for the items included -// // in the entity. -// -// foreach (InventoryItemBase item in entity.Items) -// { -// InventoryItemBase found = null; -// -// // If the parentID is zero, then this is going -// // directly into the root identified by the URI. -// -// if (item.Folder == UUID.Zero) -// { -// item.Folder = context.ID; -// } -// -// // Determine whether this is a new item or a -// // replacement definition. -// -// foreach (InventoryItemBase xi in rdata.items) -// { -// // Compare identifying attribute -// if (xi.ID == item.ID) -// { -// found = xi; -// break; -// } -// } -// -// if (found != null && ItemHasChanged(item, found)) -// { -// Rest.Log.DebugFormat("{0} Updating item {1} {2} {3} {4} {5}", -// MsgId, item.ID, item.AssetID, item.InvType, item.AssetType, item.Name); -// Rest.InventoryServices.UpdateItem(item); -// modified = true; -// rdata.appendStatus(String.Format("

Modified item {0}, UUID {1}

", item.Name, item.ID)); -// } -// else -// { -// Rest.Log.DebugFormat("{0} Adding item {1} {2} {3} {4} {5}", -// MsgId, item.ID, item.AssetID, item.InvType, item.AssetType, item.Name); -// Rest.InventoryServices.AddItem(item); -// created = true; -// rdata.appendStatus(String.Format("

Created item {0}, UUID {1}

", item.Name, item.ID)); -// } -// } -// -// if (created) -// { -// // Must include a location header with a URI that identifies the new resource. -// rdata.AddHeader(Rest.HttpHeaderLocation,String.Format("http://{0}{1}:{2}/{3}", -// rdata.hostname, rdata.port,rdata.path,newnode)); -// rdata.Complete(Rest.HttpStatusCodeCreated); -// } -// else -// { -// if (modified) -// { -// rdata.Complete(Rest.HttpStatusCodeOK); -// } -// else -// { -// rdata.Complete(Rest.HttpStatusCodeNoContent); -// } -// } -// -// rdata.Respond(String.Format("Profile {0} : Normal completion", rdata.method)); -// } -// else -// { -// Rest.Log.DebugFormat("{0} {1}: Resource {2} is not a valid context: {3}", -// MsgId, rdata.method, rdata.path, InventoryNode.GetType()); -// rdata.Fail(Rest.HttpStatusCodeBadRequest, "invalid resource context"); -// } -// } - - ///

- /// PUT updates the URI-identified element in the inventory. This - /// is actually far more flexible than it might at first sound. For - /// PUT the URI serves two purposes: - /// [1] It identifies the user whose inventory is to be - /// processed. - /// [2] It optionally specifies a subtree of the inventory - /// that is to be used to resolve any relative subtree - /// specifications in the entity. If nothing is specified - /// then the whole of the private inventory is implied. - /// Please note that the subtree specified by the URI is only relevant - /// to an entity containing a URI relative specification, i.e. one or - /// more elements do not specify parent folder information. These - /// elements will be implicitly referenced within the context identified - /// by the URI. - /// If an element in the entity specifies an explicit parent folder, then - /// that parent is effective, regardless of any value specified in the - /// URI. If the parent does not exist, then the element, and any dependent - /// elements, are ignored. This case is actually detected and handled - /// during the reconstitution process. - /// - /// HTTP service request work area -// private void DoUpdate(InventoryRequestData rdata) -// { -// int count = 0; -// bool created = false; -// bool modified = false; -// -// // Resolve the inventory node that is to be modified. -// // rdata already contains information about the current -// // content of the user's inventory. -// -// Object InventoryNode = getInventoryNode(rdata, rdata.root, PARM_PATH, Rest.Fill); -// -// // As long as we have a node, then we have something -// // meaningful to do, unlike POST. So we reconstitute the -// // subtree before doing anything else. Note that we -// // etiher got a valid node or we threw an exception. -// -// XmlInventoryCollection entity = ReconstituteEntity(rdata); -// -// // Incorporate any inlined assets first. Any failures -// // will terminate the request. -// -// if (entity.Assets.Count > 0) -// { -// Rest.Log.DebugFormat("{0} Adding {1} assets to server", -// MsgId, entity.Assets.Count); -// -// foreach (AssetBase asset in entity.Assets) -// { -// Rest.Log.DebugFormat("{0} Rest asset: {1} {2} {3}", -// MsgId, asset.ID, asset.Type, asset.Name); -// -// // The asset was validated during the collection process -// -// Rest.AssetServices.Store(asset); -// -// created = true; -// rdata.appendStatus(String.Format("

Created asset {0}, UUID {1}

", asset.Name, asset.ID)); -// -// if (Rest.DEBUG && Rest.DumpAsset) -// { -// Rest.Dump(asset.Data); -// } -// } -// } -// -// // The URI specifies either a folder or an item to be updated. -// // -// // The root node in the entity will replace the node identified -// // by the URI. This means the parent will remain the same, but -// // any or all attributes associated with the named element -// // will change. -// // -// // If the inventory collection contains an element with a zero -// // parent ID, then this is taken to be the replacement for the -// // named node. The collection MAY also specify an explicit -// // parent ID, in this case it MAY identify the same parent as -// // the current node, or it MAY specify a different parent, -// // indicating that the folder is being moved in addition to any -// // other modifications being made. -// -// if (typeof(InventoryFolderBase) == InventoryNode.GetType() || -// typeof(InventoryFolderImpl) == InventoryNode.GetType()) -// { -// bool rfound = false; -// InventoryFolderBase uri = (InventoryFolderBase) InventoryNode; -// InventoryFolderBase xml = null; -// -// // If the entity to be replaced resolved to be the root -// // directory itself (My Inventory), then make sure that -// // the supplied data include as appropriately typed and -// // named folder. Note that we can;t rule out the possibility -// // of a sub-directory being called "My Inventory", so that -// // is anticipated. -// -// if (uri == rdata.root) -// { -// foreach (InventoryFolderBase folder in entity.Folders) -// { -// if ((rfound = (folder.Name == PRIVATE_ROOT_NAME))) -// { -// if ((rfound = (folder.ParentID == UUID.Zero))) -// break; -// } -// } -// -// if (!rfound) -// { -// Rest.Log.DebugFormat("{0} {1}: Path <{2}> will result in loss of inventory", -// MsgId, rdata.method, rdata.path); -// rdata.Fail(Rest.HttpStatusCodeBadRequest, "invalid inventory structure"); -// } -// } -// -// // Scan the set of folders in the entity collection for an -// // entry that matches the context folder. It is assumed that -// // the only reliable indicator of this is a zero UUID (using -// // implicit context), or the parent's UUID matches that of the -// // URI designated node (explicit context). We don't allow -// // ambiguity in this case because this is POST and we are -// // supposed to be modifying a specific node. -// // We assign any element IDs required as an economy; we don't -// // want to iterate over the fodler set again if it can be -// // helped. -// -// foreach (InventoryFolderBase folder in entity.Folders) -// { -// if (folder.ParentID == uri.ParentID || -// folder.ParentID == UUID.Zero) -// { -// folder.ParentID = uri.ParentID; -// xml = folder; -// count++; -// } -// } -// -// // More than one entry is ambiguous. Other folders should be -// // added using the POST verb. -// -// if (count > 1) -// { -// Rest.Log.DebugFormat("{0} {1}: Request for <{2}> is ambiguous", -// MsgId, rdata.method, rdata.path); -// rdata.Fail(Rest.HttpStatusCodeConflict, "context is ambiguous"); -// } -// -// // Exactly one entry means we ARE replacing the node -// // identified by the URI. So we delete the old folder -// // by moving it to the trash and then purging it. -// // We then add all of the folders and items we -// // included in the entity. The subtree has been -// // modified. -// -// if (count == 1) -// { -// InventoryFolderBase TrashCan = GetTrashCan(rdata); -// -// // All went well, so we generate a UUID is one is -// // needed. -// -// if (xml.ID == UUID.Zero) -// { -// xml.ID = UUID.Random(); -// } -// -// uri.ParentID = TrashCan.ID; -// Rest.InventoryServices.MoveFolder(uri); -// Rest.InventoryServices.PurgeFolder(TrashCan); -// modified = true; -// } -// -// // Now, regardelss of what they represent, we -// // integrate all of the elements in the entity. -// -// foreach (InventoryFolderBase f in entity.Folders) -// { -// rdata.appendStatus(String.Format("

Moving folder {0} UUID {1}

", f.Name, f.ID)); -// Rest.InventoryServices.MoveFolder(f); -// } -// -// foreach (InventoryItemBase it in entity.Items) -// { -// rdata.appendStatus(String.Format("

Storing item {0} UUID {1}

", it.Name, it.ID)); -// Rest.InventoryServices.AddItem(it); -// } -// } -// -// ///

-// /// URI specifies an item to be updated -// /// -// /// -// /// The entity must contain a single item node to be -// /// updated. ID and Folder ID must be correct. -// /// -// -// else -// { -// InventoryItemBase uri = (InventoryItemBase) InventoryNode; -// InventoryItemBase xml = null; -// -// if (entity.Folders.Count != 0) -// { -// Rest.Log.DebugFormat("{0} {1}: Request should not contain any folders <{2}>", -// MsgId, rdata.method, rdata.path); -// rdata.Fail(Rest.HttpStatusCodeBadRequest, "folder is not allowed"); -// } -// -// if (entity.Items.Count > 1) -// { -// Rest.Log.DebugFormat("{0} {1}: Entity contains too many items <{2}>", -// MsgId, rdata.method, rdata.path); -// rdata.Fail(Rest.HttpStatusCodeBadRequest, "too may items"); -// } -// -// xml = entity.Items[0]; -// -// if (xml.ID == UUID.Zero) -// { -// xml.ID = UUID.Random(); -// } -// -// // If the folder reference has changed, then this item is -// // being moved. Otherwise we'll just delete the old, and -// // add in the new. -// -// // Delete the old item -// -// List uuids = new List(); -// uuids.Add(uri.ID); -// Rest.InventoryServices.DeleteItems(uri.Owner, uuids); -// -// // Add the new item to the inventory -// -// Rest.InventoryServices.AddItem(xml); -// -// rdata.appendStatus(String.Format("

Storing item {0} UUID {1}

", xml.Name, xml.ID)); -// } -// -// if (created) -// { -// rdata.Complete(Rest.HttpStatusCodeCreated); -// } -// else -// { -// if (modified) -// { -// rdata.Complete(Rest.HttpStatusCodeOK); -// } -// else -// { -// rdata.Complete(Rest.HttpStatusCodeNoContent); -// } -// } -// -// rdata.Respond(String.Format("Profile {0} : Normal completion", rdata.method)); -// } - - ///

- /// Arguably the most damaging REST interface. It deletes the inventory - /// item or folder identified by the URI. - /// - /// We only process if the URI identified node appears to exist - /// We do not test for success because we either get a context, - /// or an exception is thrown. - /// - /// Folders are deleted by moving them to another folder and then - /// purging that folder. We'll do that by creating a temporary - /// sub-folder in the TrashCan and purging that folder's - /// contents. If we can't can it, we don't delete it... - /// So, if no trashcan is available, the request does nothing. - /// Items are summarily deleted. - /// - /// In the interests of safety, a delete request should normally - /// be performed using UUID, as a name might identify several - /// elements. - /// - /// HTTP service request work area -// private void DoDelete(InventoryRequestData rdata) -// { -// Object InventoryNode = getInventoryNode(rdata, rdata.root, PARM_PATH, false); -// -// if (typeof(InventoryFolderBase) == InventoryNode.GetType() || -// typeof(InventoryFolderImpl) == InventoryNode.GetType()) -// { -// InventoryFolderBase TrashCan = GetTrashCan(rdata); -// -// InventoryFolderBase folder = (InventoryFolderBase) InventoryNode; -// Rest.Log.DebugFormat("{0} {1}: Folder {2} will be deleted", -// MsgId, rdata.method, rdata.path); -// folder.ParentID = TrashCan.ID; -// Rest.InventoryServices.MoveFolder(folder); -// Rest.InventoryServices.PurgeFolder(TrashCan); -// -// rdata.appendStatus(String.Format("

Deleted folder {0} UUID {1}

", folder.Name, folder.ID)); -// } -// -// // Deleting items is much more straight forward. -// -// else -// { -// InventoryItemBase item = (InventoryItemBase) InventoryNode; -// Rest.Log.DebugFormat("{0} {1}: Item {2} will be deleted", -// MsgId, rdata.method, rdata.path); -// List uuids = new List(); -// uuids.Add(item.ID); -// Rest.InventoryServices.DeleteItems(item.Owner, uuids); -// rdata.appendStatus(String.Format("

Deleted item {0} UUID {1}

", item.Name, item.ID)); -// } -// -// rdata.Complete(); -// rdata.Respond(String.Format("Profile {0} : Normal completion", rdata.method)); -// } - -#endregion method-specific processing - - ///

- /// This method is called to obtain the OpenSim inventory object identified - /// by the supplied URI. This may be either an Item or a Folder, so a suitably - /// ambiguous return type is employed (Object). This method recurses as - /// necessary to process the designated hierarchy. - /// - /// If we reach the end of the URI then we return the contextual folder to - /// our caller. - /// - /// If we are not yet at the end of the URI we attempt to find a child folder - /// and if we succeed we recurse. - /// - /// If this is the last node, then we look to see if this is an item. If it is, - /// we return that item. - /// - /// If we reach the end of an inventory path and the URI si not yet exhausted, - /// then if 'fill' is specified, we create the intermediate nodes. - /// - /// Otherwise we fail the request on the ground of an invalid URI. - /// - /// An ambiguous request causes the request to fail. - /// - /// - /// HTTP service request work area - /// The folder to be searched (parent) - /// URI parameter index - /// Should missing path members be created? - - private Object getInventoryNode(InventoryRequestData rdata, - InventoryFolderBase folder, - int pi, bool fill) - { - InventoryFolderBase foundf = null; - int fk = 0; - - Rest.Log.DebugFormat("{0} Searching folder {1} {2} [{3}]", MsgId, folder.ID, folder.Name, pi); - - // We have just run off the end of the parameter sequence - - if (pi >= rdata.Parameters.Length) - { - return folder; - } - - // There are more names in the parameter sequence, - // look for the folder named by param[pi] as a - // child of the folder supplied as an argument. - // Note that a UUID may have been supplied as the - // identifier (it is the ONLY guaranteed unambiguous - // option. - - if (rdata.folders != null) - { - foreach (InventoryFolderBase f in rdata.folders) - { - // Look for the present node in the directory list - if (f.ParentID == folder.ID && - (f.Name == rdata.Parameters[pi] || - f.ID.ToString() == rdata.Parameters[pi])) - { - foundf = f; - fk++; - } - } - } - - // If more than one node matched, then the path, as specified - // is ambiguous. - - if (fk > 1) - { - Rest.Log.DebugFormat("{0} {1}: Request for {2} is ambiguous", - MsgId, rdata.method, rdata.path); - rdata.Fail(Rest.HttpStatusCodeConflict, "request is ambiguous"); - } - - // If we find a match, then the method - // increment the parameter index, and calls itself - // passing the found folder as the new context. - - if (foundf != null) - { - return getInventoryNode(rdata, foundf, pi+1, fill); - } - - // No folders that match. Perhaps this parameter identifies an item? If - // it does, then it MUST also be the last name in the sequence. - - if (pi == rdata.Parameters.Length-1) - { - if (rdata.items != null) - { - int k = 0; - InventoryItemBase li = null; - foreach (InventoryItemBase i in rdata.items) - { - if (i.Folder == folder.ID && - (i.Name == rdata.Parameters[pi] || - i.ID.ToString() == rdata.Parameters[pi])) - { - li = i; - k++; - } - } - if (k == 1) - { - return li; - } - else if (k > 1) - { - Rest.Log.DebugFormat("{0} {1}: Request for {2} is ambiguous", - MsgId, rdata.method, rdata.path); - rdata.Fail(Rest.HttpStatusCodeConflict, "request is ambiguous"); - } - } - } - - // If fill is enabled, then we must create the missing intermediate nodes. - // And of course, even this is not straightforward. All intermediate nodes - // are obviously folders, but the last node may be a folder or an item. - - if (fill) - { - } - - // No fill, so abandon the request - - Rest.Log.DebugFormat("{0} {1}: Resource {2} not found", - MsgId, rdata.method, rdata.path); - rdata.Fail(Rest.HttpStatusCodeNotFound, - String.Format("resource {0}:{1} not found", rdata.method, rdata.path)); - - return null; /* Never reached */ - } - - /// - /// This routine traverse the inventory's structure until the end-point identified - /// in the URI is reached, the remainder of the inventory (if any) is then formatted - /// and returned to the requestor. - /// - /// Note that this method is only interested in those folder that match elements of - /// the URI supplied by the requestor, so once a match is fund, the processing does - /// not need to consider any further elements. - /// - /// Only the last element in the URI should identify an item. - /// - /// HTTP service request work area - /// The folder to be searched (parent) - /// URI parameter index - - private void traverse(InventoryRequestData rdata, InventoryFolderBase folder, int pi) - { - Rest.Log.DebugFormat("{0} Traverse[initial] : {1} {2} [{3}]", MsgId, folder.ID, folder.Name, pi); - - if (rdata.folders != null) - { - // If there was only one parameter (avatar name), then the entire - // inventory is being requested. - - if (rdata.Parameters.Length == 1) - { - formatInventory(rdata, rdata.root, String.Empty); - } - - // Has the client specified the root directory name explicitly? - // if yes, then we just absorb the reference, because the folder - // we start looking in for a match *is* the root directory. If there - // are more parameters remaining we tarverse, otehrwise it's time - // to format. Otherwise,we consider the "My Inventory" to be implied - // and we just traverse normally. - - else if (folder.ID.ToString() == rdata.Parameters[pi] || - folder.Name == rdata.Parameters[pi]) - { - // Length is -1 because the avatar name is a parameter - if (pi<(rdata.Parameters.Length-1)) - { - traverseInventory(rdata, folder, pi+1); - } - else - { - formatInventory(rdata, folder, String.Empty); - } - } - else - { - traverseInventory(rdata, folder, pi); - } - - return; - } - } - - /// - /// This is the recursive method. I've separated them in this way so that - /// we do not have to waste cycles on any first-case-only processing. - /// - - private void traverseInventory(InventoryRequestData rdata, InventoryFolderBase folder, int pi) - { - int fk = 0; - InventoryFolderBase ffound = null; - InventoryItemBase ifound = null; - - Rest.Log.DebugFormat("{0} Traverse Folder : {1} {2} [{3}]", MsgId, folder.ID, folder.Name, pi); - - foreach (InventoryFolderBase f in rdata.folders) - { - if (f.ParentID == folder.ID && - (f.Name == rdata.Parameters[pi] || - f.ID.ToString() == rdata.Parameters[pi])) - { - fk++; - ffound = f; - } - } - - // If this is the last element in the parameter sequence, then - // it is reasonable to check for an item. All intermediate nodes - // MUST be folders. - - if (pi == rdata.Parameters.Length-1) - { - // Only if there are any items, and there pretty much always are. - - if (rdata.items != null) - { - foreach (InventoryItemBase i in rdata.items) - { - if (i.Folder == folder.ID && - (i.Name == rdata.Parameters[pi] || - i.ID.ToString() == rdata.Parameters[pi])) - { - fk++; - ifound = i; - } - } - } - } - - if (fk == 1) - { - if (ffound != null) - { - if (pi < rdata.Parameters.Length-1) - { - traverseInventory(rdata, ffound, pi+1); - } - else - { - formatInventory(rdata, ffound, String.Empty); - } - return; - } - else - { - // Fetching an Item has a special significance. In this - // case we also want to fetch the associated asset. - // To make it interesting, we'll do this via redirection. - string asseturl = String.Format("http://{0}:{1}/{2}{3}{4}", rdata.hostname, rdata.port, - "admin/assets",Rest.UrlPathSeparator,ifound.AssetID.ToString()); - rdata.Redirect(asseturl,Rest.PERMANENT); - Rest.Log.DebugFormat("{0} Never Reached", MsgId); - } - } - else if (fk > 1) - { - rdata.Fail(Rest.HttpStatusCodeConflict, - String.Format("ambiguous element ({0}) in path specified: <{1}>", - pi, rdata.path)); - } - - Rest.Log.DebugFormat("{0} Inventory does not contain item/folder: <{1}>", - MsgId, rdata.path); - rdata.Fail(Rest.HttpStatusCodeNotFound,String.Format("no such item/folder : {0}", - rdata.Parameters[pi])); - - } - - /// - /// This method generates XML that describes an instance of InventoryFolderBase. - /// It recurses as necessary to reflect a folder hierarchy, and calls formatItem - /// to generate XML for any items encountered along the way. - /// The indentation parameter is solely for the benefit of trace record - /// formatting. - /// - /// HTTP service request work area - /// The folder to be searched (parent) - /// pretty print indentation - private void formatInventory(InventoryRequestData rdata, InventoryFolderBase folder, string indent) - { - if (Rest.DEBUG) - { - Rest.Log.DebugFormat("{0} Folder : {1} {2} {3} type = {4}", - MsgId, folder.ID, indent, folder.Name, folder.Type); - indent += "\t"; - } - - // Start folder item - - rdata.writer.WriteStartElement(String.Empty,"Folder",String.Empty); - rdata.writer.WriteAttributeString("name",String.Empty,folder.Name); - rdata.writer.WriteAttributeString("uuid",String.Empty,folder.ID.ToString()); - rdata.writer.WriteAttributeString("parent",String.Empty,folder.ParentID.ToString()); - rdata.writer.WriteAttributeString("owner",String.Empty,folder.Owner.ToString()); - rdata.writer.WriteAttributeString("type",String.Empty,folder.Type.ToString()); - rdata.writer.WriteAttributeString("version",String.Empty,folder.Version.ToString()); - - if (rdata.folders != null) - { - foreach (InventoryFolderBase f in rdata.folders) - { - if (f.ParentID == folder.ID) - { - formatInventory(rdata, f, indent); - } - } - } - - if (rdata.items != null) - { - foreach (InventoryItemBase i in rdata.items) - { - if (i.Folder == folder.ID) - { - formatItem(rdata, i, indent); - } - } - } - - // End folder item - - rdata.writer.WriteEndElement(); - } - - /// - /// This method generates XML that describes an instance of InventoryItemBase. - /// - /// HTTP service request work area - /// The item to be formatted - /// Pretty print indentation - private void formatItem(InventoryRequestData rdata, InventoryItemBase i, string indent) - { - Rest.Log.DebugFormat("{0} Item : {1} {2} {3} Type = {4}, AssetType = {5}", - MsgId, i.ID, indent, i.Name, i.InvType, i.AssetType); - - rdata.writer.WriteStartElement(String.Empty, "Item", String.Empty); - - rdata.writer.WriteAttributeString("name", String.Empty, i.Name); - rdata.writer.WriteAttributeString("desc", String.Empty, i.Description); - rdata.writer.WriteAttributeString("uuid", String.Empty, i.ID.ToString()); - rdata.writer.WriteAttributeString("folder", String.Empty, i.Folder.ToString()); - rdata.writer.WriteAttributeString("owner", String.Empty, i.Owner.ToString()); - rdata.writer.WriteAttributeString("creator", String.Empty, i.CreatorId); - rdata.writer.WriteAttributeString("creatordata", String.Empty, i.CreatorData); - rdata.writer.WriteAttributeString("creationdate", String.Empty, i.CreationDate.ToString()); - rdata.writer.WriteAttributeString("invtype", String.Empty, i.InvType.ToString()); - rdata.writer.WriteAttributeString("assettype", String.Empty, i.AssetType.ToString()); - rdata.writer.WriteAttributeString("groupowned", String.Empty, i.GroupOwned.ToString()); - rdata.writer.WriteAttributeString("groupid", String.Empty, i.GroupID.ToString()); - rdata.writer.WriteAttributeString("saletype", String.Empty, i.SaleType.ToString()); - rdata.writer.WriteAttributeString("saleprice", String.Empty, i.SalePrice.ToString()); - rdata.writer.WriteAttributeString("flags", String.Empty, i.Flags.ToString()); - - rdata.writer.WriteStartElement(String.Empty, "Permissions", String.Empty); - rdata.writer.WriteAttributeString("current", String.Empty, i.CurrentPermissions.ToString("X")); - rdata.writer.WriteAttributeString("next", String.Empty, i.NextPermissions.ToString("X")); - rdata.writer.WriteAttributeString("group", String.Empty, i.GroupPermissions.ToString("X")); - rdata.writer.WriteAttributeString("everyone", String.Empty, i.EveryOnePermissions.ToString("X")); - rdata.writer.WriteAttributeString("base", String.Empty, i.BasePermissions.ToString("X")); - rdata.writer.WriteEndElement(); - - rdata.writer.WriteElementString("Asset", i.AssetID.ToString()); - - rdata.writer.WriteEndElement(); - } - - /// - /// This method creates a "trashcan" folder to support folder and item - /// deletions by this interface. The xisting trash folder is found and - /// this folder is created within it. It is called "tmp" to indicate to - /// the client that it is OK to delete this folder. The REST interface - /// will recreate the folder on an as-required basis. - /// If the trash can cannot be created, then by implication the request - /// that required it cannot be completed, and it fails accordingly. - /// - /// HTTP service request work area - private InventoryFolderBase GetTrashCan(InventoryRequestData rdata) - { - InventoryFolderBase TrashCan = null; - - foreach (InventoryFolderBase f in rdata.folders) - { - if (f.Name == "Trash") - { - foreach (InventoryFolderBase t in rdata.folders) - { - if (t.Name == "tmp") - { - TrashCan = t; - } - } - if (TrashCan == null) - { - TrashCan = new InventoryFolderBase(); - TrashCan.Name = "tmp"; - TrashCan.ID = UUID.Random(); - TrashCan.Version = 1; - TrashCan.Type = (short) AssetType.TrashFolder; - TrashCan.ParentID = f.ID; - TrashCan.Owner = f.Owner; - Rest.InventoryServices.AddFolder(TrashCan); - } - } - } - - if (TrashCan == null) - { - Rest.Log.DebugFormat("{0} No Trash Can available", MsgId); - rdata.Fail(Rest.HttpStatusCodeServerError, "unable to create trash can"); - } - - return TrashCan; - } - - /// - /// Make sure that an unchanged folder is not unnecessarily - /// processed. - /// - /// Folder obtained from enclosed entity - /// Folder obtained from the user's inventory - private bool FolderHasChanged(InventoryFolderBase newf, InventoryFolderBase oldf) - { - return (newf.Name != oldf.Name - || newf.ParentID != oldf.ParentID - || newf.Owner != oldf.Owner - || newf.Type != oldf.Type - || newf.Version != oldf.Version - ); - } - - /// - /// Make sure that an unchanged item is not unnecessarily - /// processed. - /// - /// Item obtained from enclosed entity - /// Item obtained from the user's inventory - private bool ItemHasChanged(InventoryItemBase newf, InventoryItemBase oldf) - { - return (newf.Name != oldf.Name - || newf.Folder != oldf.Folder - || newf.Description != oldf.Description - || newf.Owner != oldf.Owner - || newf.CreatorId != oldf.CreatorId - || newf.AssetID != oldf.AssetID - || newf.GroupID != oldf.GroupID - || newf.GroupOwned != oldf.GroupOwned - || newf.InvType != oldf.InvType - || newf.AssetType != oldf.AssetType - ); - } - - /// - /// This method is called by PUT and POST to create an XmlInventoryCollection - /// instance that reflects the content of the entity supplied on the request. - /// Any elements in the completed collection whose UUID is zero, are - /// considered to be located relative to the end-point identified int he - /// URI. In this way, an entire sub-tree can be conveyed in a single REST - /// PUT or POST request. - /// - /// A new instance of XmlInventoryCollection is created and, if the request - /// has an entity, it is more completely initialized. thus, if no entity was - /// provided the collection is valid, but empty. - /// - /// The entity is then scanned and each tag is processed to produce the - /// appropriate inventory elements. At the end f the scan, teh XmlInventoryCollection - /// will reflect the subtree described by the entity. - /// - /// This is a very flexible mechanism, the entity may contain arbitrary, - /// discontiguous tree fragments, or may contain single element. The caller is - /// responsible for integrating this collection (and ensuring that any - /// missing parent IDs are resolved). - /// - /// HTTP service request work area - internal XmlInventoryCollection ReconstituteEntity(InventoryRequestData rdata) - { - Rest.Log.DebugFormat("{0} Reconstituting entity", MsgId); - - XmlInventoryCollection ic = new XmlInventoryCollection(); - - if (rdata.request.HasEntityBody) - { - Rest.Log.DebugFormat("{0} Entity present", MsgId); - - ic.init(rdata); - - try - { - while (ic.xml.Read()) - { - switch (ic.xml.NodeType) - { - case XmlNodeType.Element: - Rest.Log.DebugFormat("{0} StartElement: <{1}>", - MsgId, ic.xml.Name); - - switch (ic.xml.Name) - { - case "Folder": - Rest.Log.DebugFormat("{0} Processing {1} element", - MsgId, ic.xml.Name); - CollectFolder(ic); - break; - case "Item": - Rest.Log.DebugFormat("{0} Processing {1} element", - MsgId, ic.xml.Name); - CollectItem(ic); - break; - case "Asset": - Rest.Log.DebugFormat("{0} Processing {1} element", - MsgId, ic.xml.Name); - CollectAsset(ic); - break; - case "Permissions": - Rest.Log.DebugFormat("{0} Processing {1} element", - MsgId, ic.xml.Name); - CollectPermissions(ic); - break; - default: - Rest.Log.DebugFormat("{0} Ignoring {1} element", - MsgId, ic.xml.Name); - break; - } - - // This stinks, but the ReadElement call above not only reads - // the imbedded data, but also consumes the end tag for Asset - // and moves the element pointer on to the containing Item's - // element-end, however, if there was a permissions element - // following, it would get us to the start of that.. - if (ic.xml.NodeType == XmlNodeType.EndElement && - ic.xml.Name == "Item") - { - Validate(ic); - } - break; - - case XmlNodeType.EndElement : - switch (ic.xml.Name) - { - case "Folder": - Rest.Log.DebugFormat("{0} Completing {1} element", - MsgId, ic.xml.Name); - ic.Pop(); - break; - case "Item": - Rest.Log.DebugFormat("{0} Completing {1} element", - MsgId, ic.xml.Name); - Validate(ic); - break; - case "Asset": - Rest.Log.DebugFormat("{0} Completing {1} element", - MsgId, ic.xml.Name); - break; - case "Permissions": - Rest.Log.DebugFormat("{0} Completing {1} element", - MsgId, ic.xml.Name); - break; - default: - Rest.Log.DebugFormat("{0} Ignoring {1} element", - MsgId, ic.xml.Name); - break; - } - break; - - default: - Rest.Log.DebugFormat("{0} Ignoring: <{1}>:<{2}>", - MsgId, ic.xml.NodeType, ic.xml.Value); - break; - } - } - } - catch (XmlException e) - { - Rest.Log.WarnFormat("{0} XML parsing error: {1}", MsgId, e.Message); - throw e; - } - catch (Exception e) - { - Rest.Log.WarnFormat("{0} Unexpected XML parsing error: {1}", MsgId, e.Message); - throw e; - } - } - else - { - Rest.Log.DebugFormat("{0} Entity absent", MsgId); - } - - if (Rest.DEBUG) - { - Rest.Log.DebugFormat("{0} Reconstituted entity", MsgId); - Rest.Log.DebugFormat("{0} {1} assets", MsgId, ic.Assets.Count); - Rest.Log.DebugFormat("{0} {1} folder", MsgId, ic.Folders.Count); - Rest.Log.DebugFormat("{0} {1} items", MsgId, ic.Items.Count); - } - - return ic; - } - - /// - /// This method creates an inventory Folder from the - /// information supplied in the request's entity. - /// A folder instance is created and initialized to reflect - /// default values. These values are then overridden - /// by information supplied in the entity. - /// If context was not explicitly provided, then the - /// appropriate ID values are determined. - /// - - private void CollectFolder(XmlInventoryCollection ic) - { - Rest.Log.DebugFormat("{0} Interpret folder element", MsgId); - - InventoryFolderBase result = new InventoryFolderBase(); - - // Default values - - result.Name = String.Empty; - result.ID = UUID.Zero; - result.Owner = ic.UserID; - result.ParentID = UUID.Zero; // Context - result.Type = (short) AssetType.Folder; - result.Version = 1; - - if (ic.xml.HasAttributes) - { - for (int i = 0; i < ic.xml.AttributeCount; i++) - { - ic.xml.MoveToAttribute(i); - switch (ic.xml.Name) - { - case "name": - result.Name = ic.xml.Value; - break; - case "uuid": - result.ID = new UUID(ic.xml.Value); - break; - case "parent": - result.ParentID = new UUID(ic.xml.Value); - break; - case "owner": - result.Owner = new UUID(ic.xml.Value); - break; - case "type": - result.Type = Int16.Parse(ic.xml.Value); - break; - case "version": - result.Version = UInt16.Parse(ic.xml.Value); - break; - default: - Rest.Log.DebugFormat("{0} Folder: unrecognized attribute: {1}:{2}", - MsgId, ic.xml.Name, ic.xml.Value); - ic.Fail(Rest.HttpStatusCodeBadRequest, String.Format("unrecognized attribute <{0}>", - ic.xml.Name)); - break; - } - } - } - - ic.xml.MoveToElement(); - - // The client is relying upon the reconstitution process - // to determine the parent's UUID based upon context. This - // is necessary where a new folder may have been - // introduced. - - if (result.ParentID == UUID.Zero) - { - result.ParentID = ic.Parent(); - } - else - { - bool found = false; - - foreach (InventoryFolderBase parent in ic.rdata.folders) - { - if (parent.ID == result.ParentID) - { - found = true; - break; - } - } - - if (!found) - { - Rest.Log.ErrorFormat("{0} Invalid parent ID ({1}) in folder {2}", - MsgId, ic.Item.Folder, result.ID); - ic.Fail(Rest.HttpStatusCodeBadRequest, "invalid parent"); - } - } - - // This is a new folder, so no existing UUID is available - // or appropriate - - if (result.ID == UUID.Zero) - { - result.ID = UUID.Random(); - } - - // Treat this as a new context. Any other information is - // obsolete as a consequence. - - ic.Push(result); - } - - /// - /// This method is called to handle the construction of an Item - /// instance from the supplied request entity. It is called - /// whenever an Item start tag is detected. - /// An instance of an Item is created and initialized to default - /// values. These values are then overridden from values supplied - /// as attributes to the Item element. - /// This item is then stored in the XmlInventoryCollection and - /// will be verified by Validate. - /// All context is reset whenever the effective folder changes - /// or an item is successfully validated. - /// - private void CollectItem(XmlInventoryCollection ic) - { - Rest.Log.DebugFormat("{0} Interpret item element", MsgId); - - InventoryItemBase result = new InventoryItemBase(); - - result.Name = String.Empty; - result.Description = String.Empty; - result.ID = UUID.Zero; - result.Folder = UUID.Zero; - result.Owner = ic.UserID; - result.CreatorId = ic.UserID.ToString(); - result.AssetID = UUID.Zero; - result.GroupID = UUID.Zero; - result.GroupOwned = false; - result.InvType = (int) InventoryType.Unknown; - result.AssetType = (int) AssetType.Unknown; - - if (ic.xml.HasAttributes) - { - for (int i = 0; i < ic.xml.AttributeCount; i++) - { - ic.xml.MoveToAttribute(i); - - switch (ic.xml.Name) - { - case "name": - result.Name = ic.xml.Value; - break; - case "desc": - result.Description = ic.xml.Value; - break; - case "uuid": - result.ID = new UUID(ic.xml.Value); - break; - case "folder": - result.Folder = new UUID(ic.xml.Value); - break; - case "owner": - result.Owner = new UUID(ic.xml.Value); - break; - case "invtype": - result.InvType = Int32.Parse(ic.xml.Value); - break; - case "creator": - result.CreatorId = ic.xml.Value; - break; - case "assettype": - result.AssetType = Int32.Parse(ic.xml.Value); - break; - case "groupowned": - result.GroupOwned = Boolean.Parse(ic.xml.Value); - break; - case "groupid": - result.GroupID = new UUID(ic.xml.Value); - break; - case "flags": - result.Flags = UInt32.Parse(ic.xml.Value); - break; - case "creationdate": - result.CreationDate = Int32.Parse(ic.xml.Value); - break; - case "saletype": - result.SaleType = Byte.Parse(ic.xml.Value); - break; - case "saleprice": - result.SalePrice = Int32.Parse(ic.xml.Value); - break; - - default: - Rest.Log.DebugFormat("{0} Item: Unrecognized attribute: {1}:{2}", - MsgId, ic.xml.Name, ic.xml.Value); - ic.Fail(Rest.HttpStatusCodeBadRequest, String.Format("unrecognized attribute", - ic.xml.Name)); - break; - } - } - } - - ic.xml.MoveToElement(); - - ic.Push(result); - } - - /// - /// This method assembles an asset instance from the - /// information supplied in the request's entity. It is - /// called as a result of detecting a start tag for a - /// type of Asset. - /// The information is collected locally, and an asset - /// instance is created only if the basic XML parsing - /// completes successfully. - /// Default values for all parts of the asset are - /// established before overriding them from the supplied - /// XML. - /// If an asset has inline=true as an attribute, then - /// the element contains the data representing the - /// asset. This is saved as the data component. - /// inline=false means that the element's payload is - /// simply the UUID of the asset referenced by the - /// item being constructed. - /// An asset, if created is stored in the - /// XmlInventoryCollection - /// - private void CollectAsset(XmlInventoryCollection ic) - { - Rest.Log.DebugFormat("{0} Interpret asset element", MsgId); - - string name = String.Empty; - string desc = String.Empty; - sbyte type = (sbyte) AssetType.Unknown; - bool temp = false; - bool local = false; - - // This is not a persistent attribute - bool inline = false; - - UUID uuid = UUID.Zero; - - // Attribute is optional - if (ic.xml.HasAttributes) - { - for (int i = 0; i < ic.xml.AttributeCount; i++) - { - ic.xml.MoveToAttribute(i); - switch (ic.xml.Name) - { - case "name" : - name = ic.xml.Value; - break; - - case "type" : - type = SByte.Parse(ic.xml.Value); - break; - - case "description" : - desc = ic.xml.Value; - break; - - case "temporary" : - temp = Boolean.Parse(ic.xml.Value); - break; - - case "uuid" : - uuid = new UUID(ic.xml.Value); - break; - - case "inline" : - inline = Boolean.Parse(ic.xml.Value); - break; - - case "local" : - local = Boolean.Parse(ic.xml.Value); - break; - - default : - Rest.Log.DebugFormat("{0} Asset: Unrecognized attribute: {1}:{2}", - MsgId, ic.xml.Name, ic.xml.Value); - ic.Fail(Rest.HttpStatusCodeBadRequest, - String.Format("unrecognized attribute <{0}>", ic.xml.Name)); - break; - } - } - } - - ic.xml.MoveToElement(); - - // If this is a reference to an existing asset, just store the - // asset ID into the item. - - if (!inline) - { - if (ic.Item != null) - { - ic.Item.AssetID = new UUID(ic.xml.ReadElementContentAsString()); - Rest.Log.DebugFormat("{0} Asset ID supplied: {1}", MsgId, ic.Item.AssetID); - } - else - { - Rest.Log.DebugFormat("{0} LLUID unimbedded asset must be inline", MsgId); - ic.Fail(Rest.HttpStatusCodeBadRequest, "no context for asset"); - } - } - - // Otherwise, generate an asset ID, store that into the item, and - // create an entry in the asset list for the inlined asset. But - // only if the size is non-zero. - - else - { - AssetBase asset = null; - string b64string = null; - - // Generate a UUID if none were given, and generally none should - // be. Ever. - - if (uuid == UUID.Zero) - { - uuid = UUID.Random(); - } - - // Create AssetBase entity to hold the inlined asset - - asset = new AssetBase(uuid, name, type, UUID.Zero.ToString()); - - asset.Description = desc; - asset.Local = local; - asset.Temporary = temp; - - b64string = ic.xml.ReadElementContentAsString(); - - Rest.Log.DebugFormat("{0} Data length is {1}", MsgId, b64string.Length); - Rest.Log.DebugFormat("{0} Data content starts with: \n\t<{1}>", MsgId, - b64string.Substring(0, b64string.Length > 132 ? 132 : b64string.Length)); - - asset.Data = Convert.FromBase64String(b64string); - - // Ensure the asset always has some kind of data component - - if (asset.Data == null) - { - asset.Data = new byte[1]; - } - - // If this is in the context of an item, establish - // a link with the item in context. - - if (ic.Item != null && ic.Item.AssetID == UUID.Zero) - { - ic.Item.AssetID = uuid; - } - - ic.Push(asset); - } - } - - /// - /// Store any permissions information provided by the request. - /// This overrides the default permissions set when the - /// XmlInventoryCollection object was created. - /// - private void CollectPermissions(XmlInventoryCollection ic) - { - if (ic.xml.HasAttributes) - { - for (int i = 0; i < ic.xml.AttributeCount; i++) - { - ic.xml.MoveToAttribute(i); - switch (ic.xml.Name) - { - case "current": - ic.CurrentPermissions = UInt32.Parse(ic.xml.Value, NumberStyles.HexNumber); - break; - case "next": - ic.NextPermissions = UInt32.Parse(ic.xml.Value, NumberStyles.HexNumber); - break; - case "group": - ic.GroupPermissions = UInt32.Parse(ic.xml.Value, NumberStyles.HexNumber); - break; - case "everyone": - ic.EveryOnePermissions = UInt32.Parse(ic.xml.Value, NumberStyles.HexNumber); - break; - case "base": - ic.BasePermissions = UInt32.Parse(ic.xml.Value, NumberStyles.HexNumber); - break; - default: - Rest.Log.DebugFormat("{0} Permissions: invalid attribute {1}:{2}", - MsgId,ic.xml.Name, ic.xml.Value); - ic.Fail(Rest.HttpStatusCodeBadRequest, - String.Format("invalid attribute <{0}>", ic.xml.Name)); - break; - } - } - } - - ic.xml.MoveToElement(); - } - - /// - /// This method is called whenever an Item has been successfully - /// reconstituted from the request's entity. - /// It uses the information curren tin the XmlInventoryCollection - /// to complete the item's specification, including any implied - /// context and asset associations. - /// It fails the request if any necessary item or asset information - /// is missing. - /// - - private void Validate(XmlInventoryCollection ic) - { - // There really should be an item present if we've - // called validate. So fail if there is not. - - if (ic.Item == null) - { - Rest.Log.ErrorFormat("{0} Unable to parse request", MsgId); - ic.Fail(Rest.HttpStatusCodeBadRequest, "request parse error"); - } - - // Every item is required to have a name (via REST anyway) - - if (ic.Item.Name == String.Empty) - { - Rest.Log.ErrorFormat("{0} An item name MUST be specified", MsgId); - ic.Fail(Rest.HttpStatusCodeBadRequest, "item name required"); - } - - // An item MUST have an asset ID. AssetID should never be zero - // here. It should always get set from the information stored - // when the Asset element was processed. - - if (ic.Item.AssetID == UUID.Zero) - { - Rest.Log.ErrorFormat("{0} Unable to complete request", MsgId); - Rest.Log.InfoFormat("{0} Asset information is missing", MsgId); - ic.Fail(Rest.HttpStatusCodeBadRequest, "asset information required"); - } - - // If the item is new, then assign it an ID - - if (ic.Item.ID == UUID.Zero) - { - ic.Item.ID = UUID.Random(); - } - - // If the context is being implied, obtain the current - // folder item's ID. If it was specified explicitly, make - // sure that theparent folder exists. - - if (ic.Item.Folder == UUID.Zero) - { - ic.Item.Folder = ic.Parent(); - } - else - { - bool found = false; - - foreach (InventoryFolderBase parent in ic.rdata.folders) - { - if (parent.ID == ic.Item.Folder) - { - found = true; - break; - } - } - - if (!found) - { - Rest.Log.ErrorFormat("{0} Invalid parent ID ({1}) in item {2}", - MsgId, ic.Item.Folder, ic.Item.ID); - ic.Fail(Rest.HttpStatusCodeBadRequest, "parent information required"); - } - } - - // If this is an inline asset being constructed in the context - // of a new Item, then use the itm's name here too. - - if (ic.Asset != null) - { - if (ic.Asset.Name == String.Empty) - ic.Asset.Name = ic.Item.Name; - if (ic.Asset.Description == String.Empty) - ic.Asset.Description = ic.Item.Description; - } - - // Assign permissions - - ic.Item.CurrentPermissions = ic.CurrentPermissions; - ic.Item.EveryOnePermissions = ic.EveryOnePermissions; - ic.Item.BasePermissions = ic.BasePermissions; - ic.Item.GroupPermissions = ic.GroupPermissions; - ic.Item.NextPermissions = ic.NextPermissions; - - // If no type was specified for this item, we can attempt to - // infer something from the file type maybe. This is NOT as - // good as having type be specified in the XML. - - if (ic.Item.AssetType == (int) AssetType.Unknown || - ic.Item.InvType == (int) InventoryType.Unknown) - { - Rest.Log.DebugFormat("{0} Attempting to infer item type", MsgId); - - string[] parts = ic.Item.Name.Split(Rest.CA_PERIOD); - - if (Rest.DEBUG) - { - for (int i = 0; i < parts.Length; i++) - { - Rest.Log.DebugFormat("{0} Name part {1} : {2}", - MsgId, i, parts[i]); - } - } - - // If the associated item name is multi-part, then maybe - // the last part will indicate the item type - if we're - // lucky. - - if (parts.Length > 1) - { - Rest.Log.DebugFormat("{0} File type is {1}", - MsgId, parts[parts.Length - 1]); - switch (parts[parts.Length - 1]) - { - case "jpeg2000" : - case "jpeg-2000" : - case "jpg2000" : - case "jpg-2000" : - Rest.Log.DebugFormat("{0} Type {1} inferred", - MsgId, parts[parts.Length-1]); - if (ic.Item.AssetType == (int) AssetType.Unknown) - ic.Item.AssetType = (int) AssetType.ImageJPEG; - if (ic.Item.InvType == (int) InventoryType.Unknown) - ic.Item.InvType = (int) InventoryType.Texture; - break; - case "jpg" : - case "jpeg" : - Rest.Log.DebugFormat("{0} Type {1} inferred", - MsgId, parts[parts.Length - 1]); - if (ic.Item.AssetType == (int) AssetType.Unknown) - ic.Item.AssetType = (int) AssetType.ImageJPEG; - if (ic.Item.InvType == (int) InventoryType.Unknown) - ic.Item.InvType = (int) InventoryType.Texture; - break; - case "tga" : - if (parts[parts.Length - 2].IndexOf("_texture") != -1) - { - if (ic.Item.AssetType == (int) AssetType.Unknown) - ic.Item.AssetType = (int) AssetType.TextureTGA; - if (ic.Item.InvType == (int) AssetType.Unknown) - ic.Item.InvType = (int) InventoryType.Texture; - } - else - { - if (ic.Item.AssetType == (int) AssetType.Unknown) - ic.Item.AssetType = (int) AssetType.ImageTGA; - if (ic.Item.InvType == (int) InventoryType.Unknown) - ic.Item.InvType = (int) InventoryType.Snapshot; - } - break; - default : - Rest.Log.DebugFormat("{0} Asset/Inventory type could not be inferred for {1}", - MsgId,ic.Item.Name); - break; - } - } - } - - /// If this is a TGA remember the fact - - if (ic.Item.AssetType == (int) AssetType.TextureTGA || - ic.Item.AssetType == (int) AssetType.ImageTGA) - { - Bitmap temp; - Stream tgadata = new MemoryStream(ic.Asset.Data); - - temp = LoadTGAClass.LoadTGA(tgadata); - try - { - ic.Asset.Data = OpenJPEG.EncodeFromImage(temp, true); - } - catch (DllNotFoundException) - { - Rest.Log.ErrorFormat("OpenJpeg is not installed correctly on this system. Asset Data is empty for {0}", ic.Item.Name); - ic.Asset.Data = new Byte[0]; - } - catch (IndexOutOfRangeException) - { - Rest.Log.ErrorFormat("OpenJpeg was unable to encode this. Asset Data is empty for {0}", ic.Item.Name); - ic.Asset.Data = new Byte[0]; - } - catch (Exception) - { - Rest.Log.ErrorFormat("OpenJpeg was unable to encode this. Asset Data is empty for {0}", ic.Item.Name); - ic.Asset.Data = new Byte[0]; - } - } - - ic.reset(); - } - - #region Inventory RequestData extension - - internal class InventoryRequestData : RequestData - { - /// - /// These are the inventory specific request/response state - /// extensions. - /// - - internal UUID uuid = UUID.Zero; - internal bool HaveInventory = false; - internal ICollection folders = null; - internal ICollection items = null; - internal UserProfileData userProfile = null; - internal InventoryFolderBase root = null; - internal bool timeout = false; - internal Timer watchDog = new Timer(); - - internal InventoryRequestData(OSHttpRequest request, OSHttpResponse response, string prefix) - : base(request, response, prefix) - { - } - - internal void startWD(double interval) - { - Rest.Log.DebugFormat("{0} Setting watchdog", MsgId); - watchDog.Elapsed += new ElapsedEventHandler(OnTimeOut); - watchDog.Interval = interval; - watchDog.AutoReset = false; - watchDog.Enabled = true; - lock (watchDog) - watchDog.Start(); - - } - - internal void stopWD() - { - Rest.Log.DebugFormat("{0} Reset watchdog", MsgId); - lock (watchDog) - watchDog.Stop(); - } - - /// - /// This is the callback method required by the inventory watchdog. The - /// requestor issues an inventory request and then blocks until the - /// request completes, or this method signals the monitor. - /// - - private void OnTimeOut(object sender, ElapsedEventArgs args) - { - Rest.Log.DebugFormat("{0} Asynchronous inventory update timed-out", MsgId); - // InventoryRequestData rdata = (InventoryRequestData) sender; - lock (this) - { - this.folders = null; - this.items = null; - this.HaveInventory = false; - this.timeout = true; - Monitor.Pulse(this); - } - } - - /// - /// This is the callback method required by inventory services. The - /// requestor issues an inventory request and then blocks until this - /// method signals the monitor. - /// - - internal void GetUserInventory(ICollection folders, ICollection items) - { - Rest.Log.DebugFormat("{0} Asynchronously updating inventory data", MsgId); - lock (this) - { - if (watchDog.Enabled) - { - this.stopWD(); - } - this.folders = folders; - this.items = items; - this.HaveInventory = true; - this.timeout = false; - Monitor.Pulse(this); - } - } - } - - #endregion Inventory RequestData extension - - /// - /// This class is used to record and manage the hierarchy - /// constructed from the entity supplied in the request for - /// PUT and POST. - /// - - internal class XmlInventoryCollection : InventoryCollection - { - internal InventoryRequestData rdata; - private Stack stk; - - internal List Assets; - - internal InventoryItemBase Item; - internal AssetBase Asset; - internal XmlReader xml; - - internal /*static*/ const uint DefaultCurrent = 0x7FFFFFFF; - internal /*static*/ const uint DefaultNext = 0x82000; - internal /*static*/ const uint DefaultBase = 0x7FFFFFFF; - internal /*static*/ const uint DefaultEveryOne = 0x0; - internal /*static*/ const uint DefaultGroup = 0x0; - - internal uint CurrentPermissions = 0x00; - internal uint NextPermissions = 0x00; - internal uint BasePermissions = 0x00; - internal uint EveryOnePermissions = 0x00; - internal uint GroupPermissions = 0x00; - - internal XmlInventoryCollection() - { - Folders = new List(); - Items = new List(); - Assets = new List(); - } - - internal void init(InventoryRequestData p_rdata) - { - rdata = p_rdata; - UserID = rdata.uuid; - stk = new Stack(); - rdata.initXmlReader(); - xml = rdata.reader; - initPermissions(); - } - - internal void initPermissions() - { - CurrentPermissions = DefaultCurrent; - NextPermissions = DefaultNext; - BasePermissions = DefaultBase; - GroupPermissions = DefaultGroup; - EveryOnePermissions = DefaultEveryOne; - } - - internal UUID Parent() - { - if (stk.Count != 0) - { - return stk.Peek().ID; - } - else - { - return UUID.Zero; - } - } - - internal void Push(InventoryFolderBase folder) - { - stk.Push(folder); - Folders.Add(folder); - reset(); - } - - internal void Push(InventoryItemBase item) - { - Item = item; - Items.Add(item); - } - - internal void Push(AssetBase asset) - { - Asset = asset; - Assets.Add(asset); - } - - internal void Pop() - { - stk.Pop(); - reset(); - } - - internal void reset() - { - Item = null; - Asset = null; - initPermissions(); - } - - internal void Fail(int code, string addendum) - { - rdata.Fail(code, addendum); - } - } - } -} diff --git a/OpenSim/ApplicationPlugins/Rest/Inventory/RestTestServices.cs b/OpenSim/ApplicationPlugins/Rest/Inventory/RestTestServices.cs deleted file mode 100644 index 81596a367a..0000000000 --- a/OpenSim/ApplicationPlugins/Rest/Inventory/RestTestServices.cs +++ /dev/null @@ -1,246 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSimulator Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -using System; -using System.Collections.Generic; -using System.Reflection; -using OpenSim.Framework.Servers; -using OpenSim.Framework.Servers.HttpServer; - -namespace OpenSim.ApplicationPlugins.Rest.Inventory -{ - public class RestTestServices : IRest - { - private bool enabled = false; - private string qPrefix = "test"; - - // A simple constructor is used to handle any once-only - // initialization of working classes. - - public RestTestServices() - { - Rest.Log.InfoFormat("{0} Test services initializing", MsgId); - Rest.Log.InfoFormat("{0} Using REST Implementation Version {1}", MsgId, Rest.Version); - - // If a relative path was specified, make it absolute by adding - // the standard prefix, e.g. /admin - - if (!qPrefix.StartsWith(Rest.UrlPathSeparator)) - { - Rest.Log.InfoFormat("{0} Domain is relative, adding absolute prefix", MsgId); - qPrefix = String.Format("{0}{1}{2}", Rest.Prefix, Rest.UrlPathSeparator, qPrefix); - Rest.Log.InfoFormat("{0} Domain is now <{1}>", MsgId, qPrefix); - } - - // Load test cases - - loadTests(); - foreach (ITest test in tests) - { - test.Initialize(); - } - - // Register interface - - Rest.Plugin.AddPathHandler(DoTests,qPrefix,Allocate); - - // Activate - - enabled = true; - - Rest.Log.InfoFormat("{0} Test services initialization complete", MsgId); - } - - // Post-construction, pre-enabled initialization opportunity - // Not currently exploited. - - public void Initialize() - { - } - - // Called by the plug-in to halt REST processing. Local processing is - // disabled, and control blocks until all current processing has - // completed. No new processing will be started - - public void Close() - { - enabled = false; - foreach (ITest test in tests) - { - test.Close(); - } - Rest.Log.InfoFormat("{0} Test services closing down", MsgId); - } - - // Properties - - internal string MsgId - { - get { return Rest.MsgId; } - } - - #region Interface - - private RequestData Allocate(OSHttpRequest request, OSHttpResponse response, string prefix) - { - return new RequestData(request, response, prefix); - } - - // Inventory Handler - - private void DoTests(RequestData rdata) - { - if (!enabled) - return; - - // Now that we know this is a serious attempt to - // access inventory data, we should find out who - // is asking, and make sure they are authorized - // to do so. We need to validate the caller's - // identity before revealing anything about the - // status quo. Authenticate throws an exception - // via Fail if no identity information is present. - // - // With the present HTTP server we can't use the - // builtin authentication mechanisms because they - // would be enforced for all in-bound requests. - // Instead we look at the headers ourselves and - // handle authentication directly. - - try - { - if (!rdata.IsAuthenticated) - { - rdata.Fail(Rest.HttpStatusCodeNotAuthorized, - String.Format("user \"{0}\" could not be authenticated", rdata.userName)); - } - } - catch (RestException e) - { - if (e.statusCode == Rest.HttpStatusCodeNotAuthorized) - { - Rest.Log.WarnFormat("{0} User not authenticated", MsgId); - Rest.Log.DebugFormat("{0} Authorization header: {1}", MsgId, rdata.request.Headers.Get("Authorization")); - } - else - { - Rest.Log.ErrorFormat("{0} User authentication failed", MsgId); - Rest.Log.DebugFormat("{0} Authorization header: {1}", MsgId, rdata.request.Headers.Get("Authorization")); - } - throw (e); - } - - // Check that a test was specified - - if (rdata.Parameters.Length < 1) - { - Rest.Log.DebugFormat("{0} Insufficient parameters", MsgId); - rdata.Fail(Rest.HttpStatusCodeBadRequest, "not enough parameters"); - } - - // Select the test - - foreach (ITest test in tests) - { - if (!rdata.handled) - test.Execute(rdata); - } - } - - #endregion Interface - - private static bool testsLoaded = false; - private static List classes = new List(); - private static List tests = new List(); - private static Type[] parms = new Type[0]; - private static Object[] args = new Object[0]; - - static RestTestServices() - { - Module[] mods = Assembly.GetExecutingAssembly().GetModules(); - foreach (Module m in mods) - { - Type[] types = m.GetTypes(); - foreach (Type t in types) - { - try - { - if (t.GetInterface("ITest") != null) - { - classes.Add(t); - } - } - catch (Exception e) - { - Rest.Log.WarnFormat("[STATIC-TEST] Unable to include test {0} : {1}", t, e.Message); - } - } - } - } - - /// - /// This routine loads all of the handlers discovered during - /// instance initialization. Each handler is responsible for - /// registering itself with this handler. - /// I was not able to make this code work in a constructor. - /// - - private void loadTests() - { - lock (tests) - { - if (!testsLoaded) - { - - ConstructorInfo ci; - Object ht; - - foreach (Type t in classes) - { - try - { - if (t.GetInterface("ITest") != null) - { - ci = t.GetConstructor(parms); - ht = ci.Invoke(args); - tests.Add((ITest)ht); - Rest.Log.InfoFormat("{0} Test {1} added", MsgId, t); - } - } - catch (Exception e) - { - Rest.Log.WarnFormat("{0} Unable to load test {1} : {2}", MsgId, t, e.Message); - } - } - testsLoaded = true; - } - } - } - - } -} diff --git a/OpenSim/ApplicationPlugins/Rest/Inventory/tests/ITest.cs b/OpenSim/ApplicationPlugins/Rest/Inventory/tests/ITest.cs deleted file mode 100644 index eafc1548ee..0000000000 --- a/OpenSim/ApplicationPlugins/Rest/Inventory/tests/ITest.cs +++ /dev/null @@ -1,46 +0,0 @@ -/* -* Copyright (c) Contributors, http://opensimulator.org/ -* See CONTRIBUTORS.TXT for a full list of copyright holders. -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions are met: -* * Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* * Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the distribution. -* * Neither the name of the OpenSimulator Project nor the -* names of its contributors may be used to endorse or promote products -* derived from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY -* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY -* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ - -namespace OpenSim.ApplicationPlugins.Rest.Inventory -{ - - /// - /// This interface represents the boundary between the general purpose - /// REST plugin handling, and the functionally specific handlers. The - /// handler knows only to initialzie and terminate all such handlers - /// that it finds. - /// - - internal interface ITest - { - void Initialize(); - void Execute(RequestData rdata); - void Close(); - } - -} diff --git a/OpenSim/ApplicationPlugins/Rest/Inventory/tests/Remote.cs b/OpenSim/ApplicationPlugins/Rest/Inventory/tests/Remote.cs deleted file mode 100644 index 1c1afd033f..0000000000 --- a/OpenSim/ApplicationPlugins/Rest/Inventory/tests/Remote.cs +++ /dev/null @@ -1,204 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSimulator Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System; -using OpenMetaverse; -using OpenSim.Region.Framework.Scenes; - -namespace OpenSim.ApplicationPlugins.Rest.Inventory.Tests -{ - public class Remote : ITest - { - private static readonly int PARM_TESTID = 0; - private static readonly int PARM_COMMAND = 1; - - private static readonly int PARM_MOVE_AVATAR = 2; - private static readonly int PARM_MOVE_X = 3; - private static readonly int PARM_MOVE_Y = 4; - private static readonly int PARM_MOVE_Z = 5; - - private bool enabled = false; - - // No constructor code is required. - - public Remote() - { - Rest.Log.InfoFormat("{0} Remote services constructor", MsgId); - } - - // Post-construction, pre-enabled initialization opportunity - // Not currently exploited. - - public void Initialize() - { - enabled = true; - Rest.Log.InfoFormat("{0} Remote services initialized", MsgId); - } - - // Called by the plug-in to halt REST processing. Local processing is - // disabled, and control blocks until all current processing has - // completed. No new processing will be started - - public void Close() - { - enabled = false; - Rest.Log.InfoFormat("{0} Remote services closing down", MsgId); - } - - // Properties - - internal string MsgId - { - get { return Rest.MsgId; } - } - - // Remote Handler - // Key information of interest here is the Parameters array, each - // entry represents an element of the URI, with element zero being - // the - - public void Execute(RequestData rdata) - { - if (!enabled) return; - - // If we can't relate to what's there, leave it for others. - - if (rdata.Parameters.Length == 0 || rdata.Parameters[PARM_TESTID] != "remote") - return; - - Rest.Log.DebugFormat("{0} REST Remote handler ENTRY", MsgId); - - // Remove the prefix and what's left are the parameters. If we don't have - // the parameters we need, fail the request. Parameters do NOT include - // any supplied query values. - - if (rdata.Parameters.Length > 1) - { - switch (rdata.Parameters[PARM_COMMAND].ToLower()) - { - case "move" : - DoMove(rdata); - break; - default : - DoHelp(rdata); - break; - } - } - else - { - DoHelp(rdata); - } - } - - private void DoHelp(RequestData rdata) - { - rdata.body = Help; - rdata.Complete(); - rdata.Respond("Help"); - } - - private void DoMove(RequestData rdata) - { - if (rdata.Parameters.Length < 6) - { - Rest.Log.WarnFormat("{0} Move: No movement information provided", MsgId); - rdata.Fail(Rest.HttpStatusCodeBadRequest, "no movement information provided"); - } - else - { - string[] names = rdata.Parameters[PARM_MOVE_AVATAR].Split(Rest.CA_SPACE); - ScenePresence presence = null; - Scene scene = null; - - if (names.Length != 2) - { - rdata.Fail(Rest.HttpStatusCodeBadRequest, - String.Format("invalid avatar name: <{0}>",rdata.Parameters[PARM_MOVE_AVATAR])); - } - - Rest.Log.WarnFormat("{0} '{1}' command received for {2} {3}", - MsgId, rdata.Parameters[0], names[0], names[1]); - - // The first parameter should be an avatar name, look for the - // avatar in the known regions first. - - Rest.main.SceneManager.ForEachScene(delegate(Scene s) - { - s.ForEachRootScenePresence(delegate(ScenePresence sp) - { - if (sp.Firstname == names[0] && sp.Lastname == names[1]) - { - scene = s; - presence = sp; - } - }); - }); - - if (presence != null) - { - Rest.Log.DebugFormat("{0} Move : Avatar {1} located in region {2}", - MsgId, rdata.Parameters[PARM_MOVE_AVATAR], scene.RegionInfo.RegionName); - - try - { - float x = Convert.ToSingle(rdata.Parameters[PARM_MOVE_X]); - float y = Convert.ToSingle(rdata.Parameters[PARM_MOVE_Y]); - float z = Convert.ToSingle(rdata.Parameters[PARM_MOVE_Z]); - Vector3 vector = new Vector3(x, y, z); - presence.MoveToTarget(vector, false, false); - } - catch (Exception e) - { - rdata.Fail(Rest.HttpStatusCodeBadRequest, - String.Format("invalid parameters: {0}", e.Message)); - } - } - else - { - rdata.Fail(Rest.HttpStatusCodeBadRequest, - String.Format("avatar {0} not present", rdata.Parameters[PARM_MOVE_AVATAR])); - } - - rdata.Complete(); - rdata.Respond("OK"); - } - } - - private static readonly string Help = - "" - + "Remote Command Usage" - + "" - + "

Supported commands are:

" - + "
" - + "
move/avatar-name/x/y/z
" - + "
moves the specified avatar to another location
" - + "
" - + "" - + "" - ; - } -} diff --git a/OpenSim/ApplicationPlugins/Rest/Regions/GETHandler.cs b/OpenSim/ApplicationPlugins/Rest/Regions/GETHandler.cs deleted file mode 100644 index d99ba57eb8..0000000000 --- a/OpenSim/ApplicationPlugins/Rest/Regions/GETHandler.cs +++ /dev/null @@ -1,228 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSimulator Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System; -using System.IO; -using System.Xml.Serialization; -using OpenMetaverse; -using OpenSim.Framework; -using OpenSim.Framework.Servers; -using OpenSim.Framework.Servers.HttpServer; -using OpenSim.Region.Framework.Interfaces; -using OpenSim.Region.Framework.Scenes; - -namespace OpenSim.ApplicationPlugins.Rest.Regions -{ - public partial class RestRegionPlugin : RestPlugin - { - #region GET methods - public string GetHandler(string request, string path, string param, - IOSHttpRequest httpRequest, IOSHttpResponse httpResponse) - { - // foreach (string h in httpRequest.Headers.AllKeys) - // foreach (string v in httpRequest.Headers.GetValues(h)) - // m_log.DebugFormat("{0} IsGod: {1} -> {2}", MsgID, h, v); - - MsgID = RequestID; - m_log.DebugFormat("{0} GET path {1} param {2}", MsgID, path, param); - - try - { - // param empty: regions list - if (String.IsNullOrEmpty(param)) return GetHandlerRegions(httpResponse); - - // param not empty: specific region - return GetHandlerRegion(httpResponse, param); - } - catch (Exception e) - { - return Failure(httpResponse, OSHttpStatusCode.ServerErrorInternalError, "GET", e); - } - } - - public string GetHandlerRegions(IOSHttpResponse httpResponse) - { - RestXmlWriter rxw = new RestXmlWriter(new StringWriter()); - - rxw.WriteStartElement(String.Empty, "regions", String.Empty); - foreach (Scene s in App.SceneManager.Scenes) - { - rxw.WriteStartElement(String.Empty, "uuid", String.Empty); - rxw.WriteString(s.RegionInfo.RegionID.ToString()); - rxw.WriteEndElement(); - } - rxw.WriteEndElement(); - - return rxw.ToString(); - } - - protected string ShortRegionInfo(string key, string value) - { - RestXmlWriter rxw = new RestXmlWriter(new StringWriter()); - - if (String.IsNullOrEmpty(value) || - String.IsNullOrEmpty(key)) return null; - - rxw.WriteStartElement(String.Empty, "region", String.Empty); - rxw.WriteStartElement(String.Empty, key, String.Empty); - rxw.WriteString(value); - rxw.WriteEndDocument(); - - return rxw.ToString(); - } - - public string GetHandlerRegion(IOSHttpResponse httpResponse, string param) - { - // be resilient and don't get confused by a terminating '/' - param = param.TrimEnd(new char[]{'/'}); - string[] comps = param.Split('/'); - UUID regionID = (UUID)comps[0]; - - m_log.DebugFormat("{0} GET region UUID {1}", MsgID, regionID.ToString()); - - if (UUID.Zero == regionID) throw new Exception("missing region ID"); - - Scene scene = null; - App.SceneManager.TryGetScene(regionID, out scene); - if (null == scene) return Failure(httpResponse, OSHttpStatusCode.ClientErrorNotFound, - "GET", "cannot find region {0}", regionID.ToString()); - - RegionDetails details = new RegionDetails(scene.RegionInfo); - - // m_log.DebugFormat("{0} GET comps {1}", MsgID, comps.Length); - // for (int i = 0; i < comps.Length; i++) m_log.DebugFormat("{0} GET comps[{1}] >{2}<", MsgID, i, comps[i]); - - if (1 == comps.Length) - { - // complete region details requested - RestXmlWriter rxw = new RestXmlWriter(new StringWriter()); - XmlSerializer xs = new XmlSerializer(typeof(RegionDetails)); - xs.Serialize(rxw, details, _xmlNs); - return rxw.ToString(); - } - - if (2 == comps.Length) - { - string resp = ShortRegionInfo(comps[1], details[comps[1]]); - if (null != resp) return resp; - - // m_log.DebugFormat("{0} GET comps advanced: >{1}<", MsgID, comps[1]); - - // check for {terrain,stats,prims} - switch (comps[1].ToLower()) - { - case "terrain": - return RegionTerrain(httpResponse, scene); - - case "stats": - return RegionStats(httpResponse, scene); - - case "prims": - return RegionPrims(httpResponse, scene, Vector3.Zero, Vector3.Zero); - } - } - - if (3 == comps.Length) - { - switch (comps[1].ToLower()) - { - case "prims": - string[] subregion = comps[2].Split(','); - if (subregion.Length == 6) - { - Vector3 min, max; - try - { - min = new Vector3((float)Double.Parse(subregion[0], Culture.NumberFormatInfo), (float)Double.Parse(subregion[1], Culture.NumberFormatInfo), (float)Double.Parse(subregion[2], Culture.NumberFormatInfo)); - max = new Vector3((float)Double.Parse(subregion[3], Culture.NumberFormatInfo), (float)Double.Parse(subregion[4], Culture.NumberFormatInfo), (float)Double.Parse(subregion[5], Culture.NumberFormatInfo)); - } - catch (Exception) - { - return Failure(httpResponse, OSHttpStatusCode.ClientErrorBadRequest, - "GET", "invalid subregion parameter"); - } - return RegionPrims(httpResponse, scene, min, max); - } - else - { - return Failure(httpResponse, OSHttpStatusCode.ClientErrorBadRequest, - "GET", "invalid subregion parameter"); - } - } - } - - return Failure(httpResponse, OSHttpStatusCode.ClientErrorBadRequest, - "GET", "too many parameters {0}", param); - } - #endregion GET methods - - protected string RegionTerrain(IOSHttpResponse httpResponse, Scene scene) - { - httpResponse.SendChunked = true; - httpResponse.ContentType = "text/xml"; - - return scene.Heightmap.SaveToXmlString(); - //return Failure(httpResponse, OSHttpStatusCode.ServerErrorNotImplemented, - // "GET", "terrain not implemented"); - } - - protected string RegionStats(IOSHttpResponse httpResponse, Scene scene) - { - int users = scene.GetRootAgentCount(); - int objects = scene.Entities.Count - users; - - RestXmlWriter rxw = new RestXmlWriter(new StringWriter()); - - rxw.WriteStartElement(String.Empty, "region", String.Empty); - rxw.WriteStartElement(String.Empty, "stats", String.Empty); - - rxw.WriteStartElement(String.Empty, "users", String.Empty); - rxw.WriteString(users.ToString()); - rxw.WriteEndElement(); - - rxw.WriteStartElement(String.Empty, "objects", String.Empty); - rxw.WriteString(objects.ToString()); - rxw.WriteEndElement(); - - rxw.WriteEndDocument(); - - return rxw.ToString(); - } - - protected string RegionPrims(IOSHttpResponse httpResponse, Scene scene, Vector3 min, Vector3 max) - { - httpResponse.SendChunked = true; - httpResponse.ContentType = "text/xml"; - - IRegionSerialiserModule serialiser = scene.RequestModuleInterface(); - if (serialiser != null) - serialiser.SavePrimsToXml2(scene, new StreamWriter(httpResponse.OutputStream), min, max); - - return ""; - } - } -} diff --git a/OpenSim/ApplicationPlugins/Rest/Regions/GETRegionInfoHandler.cs b/OpenSim/ApplicationPlugins/Rest/Regions/GETRegionInfoHandler.cs deleted file mode 100644 index 468faeaa50..0000000000 --- a/OpenSim/ApplicationPlugins/Rest/Regions/GETRegionInfoHandler.cs +++ /dev/null @@ -1,136 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSimulator Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System; -using System.IO; -using System.Xml.Serialization; -using OpenMetaverse; -using OpenSim.Framework.Servers; -using OpenSim.Framework.Servers.HttpServer; -using OpenSim.Region.Framework.Interfaces; -using OpenSim.Region.Framework.Scenes; - -namespace OpenSim.ApplicationPlugins.Rest.Regions -{ - public partial class RestRegionPlugin : RestPlugin - { - #region GET methods - public string GetRegionInfoHandler(string request, string path, string param, - IOSHttpRequest httpRequest, IOSHttpResponse httpResponse) - { - // foreach (string h in httpRequest.Headers.AllKeys) - // foreach (string v in httpRequest.Headers.GetValues(h)) - // m_log.DebugFormat("{0} IsGod: {1} -> {2}", MsgID, h, v); - - MsgID = RequestID; - m_log.DebugFormat("{0} GET path {1} param {2}", MsgID, path, param); - - try - { - // param empty: regions list - // if (String.IsNullOrEmpty(param)) - return GetRegionInfoHandlerRegions(httpResponse); - - // // param not empty: specific region - // return GetRegionInfoHandlerRegion(httpResponse, param); - } - catch (Exception e) - { - return Failure(httpResponse, OSHttpStatusCode.ServerErrorInternalError, "GET", e); - } - } - - public string GetRegionInfoHandlerRegions(IOSHttpResponse httpResponse) - { - RestXmlWriter rxw = new RestXmlWriter(new StringWriter()); - - // regions info - rxw.WriteStartElement(String.Empty, "regions", String.Empty); - { - // regions info: number of regions - rxw.WriteStartAttribute(String.Empty, "number", String.Empty); - rxw.WriteValue(App.SceneManager.Scenes.Count); - rxw.WriteEndAttribute(); - - // regions info: max number of regions - rxw.WriteStartAttribute(String.Empty, "max", String.Empty); - if (App.ConfigSource.Source.Configs["RemoteAdmin"] != null) - { - rxw.WriteValue(App.ConfigSource.Source.Configs["RemoteAdmin"].GetInt("region_limit", -1)); - } - else - { - rxw.WriteValue(-1); - } - rxw.WriteEndAttribute(); - - // regions info: region - foreach (Scene s in App.SceneManager.Scenes) - { - rxw.WriteStartElement(String.Empty, "region", String.Empty); - - rxw.WriteStartAttribute(String.Empty, "uuid", String.Empty); - rxw.WriteString(s.RegionInfo.RegionID.ToString()); - rxw.WriteEndAttribute(); - - rxw.WriteStartAttribute(String.Empty, "name", String.Empty); - rxw.WriteString(s.RegionInfo.RegionName); - rxw.WriteEndAttribute(); - - rxw.WriteStartAttribute(String.Empty, "x", String.Empty); - rxw.WriteValue(s.RegionInfo.RegionLocX); - rxw.WriteEndAttribute(); - - rxw.WriteStartAttribute(String.Empty, "y", String.Empty); - rxw.WriteValue(s.RegionInfo.RegionLocY); - rxw.WriteEndAttribute(); - - rxw.WriteStartAttribute(String.Empty, "external_hostname", String.Empty); - rxw.WriteString(s.RegionInfo.ExternalHostName); - rxw.WriteEndAttribute(); - - rxw.WriteStartAttribute(String.Empty, "ip", String.Empty); - rxw.WriteString(s.RegionInfo.InternalEndPoint.ToString()); - rxw.WriteEndAttribute(); - - int users = s.GetRootAgentCount(); - rxw.WriteStartAttribute(String.Empty, "avatars", String.Empty); - rxw.WriteValue(users); - rxw.WriteEndAttribute(); - - rxw.WriteStartAttribute(String.Empty, "objects", String.Empty); - rxw.WriteValue(s.Entities.Count - users); - rxw.WriteEndAttribute(); - - rxw.WriteEndElement(); - } - } - return rxw.ToString(); - } - #endregion GET methods - } -} diff --git a/OpenSim/ApplicationPlugins/Rest/Regions/POSTHandler.cs b/OpenSim/ApplicationPlugins/Rest/Regions/POSTHandler.cs deleted file mode 100644 index f666f45e9a..0000000000 --- a/OpenSim/ApplicationPlugins/Rest/Regions/POSTHandler.cs +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSimulator Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System; -using System.IO; -using OpenMetaverse; -using OpenSim.Framework.Servers; -using OpenSim.Framework.Servers.HttpServer; -using OpenSim.Region.Framework.Interfaces; -using OpenSim.Region.Framework.Scenes; - -namespace OpenSim.ApplicationPlugins.Rest.Regions -{ - public partial class RestRegionPlugin : RestPlugin - { - #region POST methods - - public string PostHandler(string request, string path, string param, - IOSHttpRequest httpRequest, IOSHttpResponse httpResponse) - { - // foreach (string h in httpRequest.Headers.AllKeys) - // foreach (string v in httpRequest.Headers.GetValues(h)) - // m_log.DebugFormat("{0} IsGod: {1} -> {2}", MsgID, h, v); - - MsgID = RequestID; - m_log.DebugFormat("{0} POST path {1} param {2}", MsgID, path, param); - - try - { - // param empty: new region post - if (!IsGod(httpRequest)) - // XXX: this needs to be turned into a FailureUnauthorized(...) - return Failure(httpResponse, OSHttpStatusCode.ClientErrorUnauthorized, - "GET", "you are not god"); - - if (String.IsNullOrEmpty(param)) return CreateRegion(httpRequest, httpResponse); - - // Parse region ID and other parameters - param = param.TrimEnd(new char[] {'/'}); - string[] comps = param.Split('/'); - UUID regionID = (UUID) comps[0]; - - m_log.DebugFormat("{0} POST region UUID {1}", MsgID, regionID.ToString()); - if (UUID.Zero == regionID) throw new Exception("missing region ID"); - - Scene scene = null; - App.SceneManager.TryGetScene(regionID, out scene); - if (null == scene) - return Failure(httpResponse, OSHttpStatusCode.ClientErrorNotFound, - "POST", "cannot find region {0}", regionID.ToString()); - - if (2 == comps.Length) - { - // check for {prims} - switch (comps[1].ToLower()) - { - case "prims": - return LoadPrims(request, httpRequest, httpResponse, scene); - } - } - - return Failure(httpResponse, OSHttpStatusCode.ClientErrorNotFound, - "POST", "url {0} not supported", param); - } - catch (Exception e) - { - return Failure(httpResponse, OSHttpStatusCode.ServerErrorInternalError, "POST", e); - } - } - - public string CreateRegion(IOSHttpRequest request, IOSHttpResponse response) - { - RestXmlWriter rxw = new RestXmlWriter(new StringWriter()); - - rxw.WriteStartElement(String.Empty, "regions", String.Empty); - foreach (Scene s in App.SceneManager.Scenes) - { - rxw.WriteStartElement(String.Empty, "uuid", String.Empty); - rxw.WriteString(s.RegionInfo.RegionID.ToString()); - rxw.WriteEndElement(); - } - rxw.WriteEndElement(); - - return rxw.ToString(); - } - - public string LoadPrims(string requestBody, IOSHttpRequest request, IOSHttpResponse response, Scene scene) - { - IRegionSerialiserModule serialiser = scene.RequestModuleInterface(); - if (serialiser != null) - serialiser.LoadPrimsFromXml2(scene, new StringReader(requestBody), true); - - return ""; - } - - #endregion POST methods - } -} diff --git a/OpenSim/ApplicationPlugins/Rest/Regions/RegionDetails.cs b/OpenSim/ApplicationPlugins/Rest/Regions/RegionDetails.cs deleted file mode 100644 index 5e760091b9..0000000000 --- a/OpenSim/ApplicationPlugins/Rest/Regions/RegionDetails.cs +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSimulator Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System; -using System.Xml.Serialization; -using OpenMetaverse; -using OpenSim.Framework; - -namespace OpenSim.ApplicationPlugins.Rest.Regions -{ - [XmlRoot(ElementName="region", IsNullable = false)] - public class RegionDetails - { - public string region_name; - public string region_id; - public uint region_x; - public uint region_y; - public string region_owner; - public string region_owner_id; - public uint region_http_port; - public uint region_port; - public string region_server_uri; - public string region_external_hostname; - - public RegionDetails() - { - } - - public RegionDetails(RegionInfo regInfo) - { - region_name = regInfo.RegionName; - region_id = regInfo.RegionID.ToString(); - region_x = regInfo.RegionLocX; - region_y = regInfo.RegionLocY; - region_owner_id = regInfo.EstateSettings.EstateOwner.ToString(); - region_http_port = regInfo.HttpPort; - region_server_uri = regInfo.ServerURI; - region_external_hostname = regInfo.ExternalHostName; - - Uri uri = new Uri(region_server_uri); - region_port = (uint)uri.Port; - } - - public string this[string idx] - { - get - { - switch (idx.ToLower()) - { - case "name": - return region_name; - case "id": - return region_id; - case "location": - return String.Format("{0}{1}", region_x, region_y); - case "owner": - return region_owner; - case "owner_id": - return region_owner_id; - case "http_port": - return region_http_port.ToString(); - case "server_uri": - return region_server_uri; - case "external_hostname": - case "hostname": - return region_external_hostname; - - default: - return null; - } - } - } - } -} diff --git a/OpenSim/ApplicationPlugins/Rest/Regions/Resources/RestRegionPlugin.addin.xml b/OpenSim/ApplicationPlugins/Rest/Regions/Resources/RestRegionPlugin.addin.xml deleted file mode 100644 index 94eca48371..0000000000 --- a/OpenSim/ApplicationPlugins/Rest/Regions/Resources/RestRegionPlugin.addin.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/OpenSim/ApplicationPlugins/Rest/Regions/RestRegionPlugin.cs b/OpenSim/ApplicationPlugins/Rest/Regions/RestRegionPlugin.cs deleted file mode 100644 index 02ef588806..0000000000 --- a/OpenSim/ApplicationPlugins/Rest/Regions/RestRegionPlugin.cs +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSimulator Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System; -using System.Xml.Serialization; - -namespace OpenSim.ApplicationPlugins.Rest.Regions -{ - public partial class RestRegionPlugin : RestPlugin - { - private static XmlSerializerNamespaces _xmlNs; - - static RestRegionPlugin() - { - _xmlNs = new XmlSerializerNamespaces(); - _xmlNs.Add(String.Empty, String.Empty); - } - - #region overriding properties - public override string Name - { - get { return "REGION"; } - } - - public override string ConfigName - { - get { return "RestRegionPlugin"; } - } - #endregion overriding properties - - #region overriding methods - /// - /// This method is called by OpenSimMain immediately after loading the - /// plugin and after basic server setup, but before running any server commands. - /// - /// - /// Note that entries MUST be added to the active configuration files before - /// the plugin can be enabled. - /// - public override void Initialise(OpenSimBase openSim) - { - try - { - base.Initialise(openSim); - if (!IsEnabled) - { - //m_log.WarnFormat("{0} Rest Plugins are disabled", MsgID); - return; - } - - m_log.InfoFormat("{0} REST region plugin enabled", MsgID); - - // add REST method handlers - AddRestStreamHandler("GET", "/regions/", GetHandler); - AddRestStreamHandler("POST", "/regions/", PostHandler); - AddRestStreamHandler("GET", "/regioninfo/", GetRegionInfoHandler); - } - catch (Exception e) - { - m_log.WarnFormat("{0} Initialization failed: {1}", MsgID, e.Message); - m_log.DebugFormat("{0} Initialization failed: {1}", MsgID, e.ToString()); - } - } - - public override void Close() - { - } - #endregion overriding methods - } -} diff --git a/OpenSim/ApplicationPlugins/Rest/RestPlugin.cs b/OpenSim/ApplicationPlugins/Rest/RestPlugin.cs deleted file mode 100644 index a2425b5cf3..0000000000 --- a/OpenSim/ApplicationPlugins/Rest/RestPlugin.cs +++ /dev/null @@ -1,417 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSimulator Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System; -using System.Collections.Generic; -using System.IO; -using System.Reflection; -using System.Xml; -using log4net; -using Nini.Config; -using OpenMetaverse; -using OpenSim.Framework; -using OpenSim.Framework.Servers; -using OpenSim.Framework.Servers.HttpServer; - -namespace OpenSim.ApplicationPlugins.Rest -{ - public abstract class RestPlugin : IApplicationPlugin - { - #region properties - - protected static readonly ILog m_log = - LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - - private IConfig _config; // Configuration source: Rest Plugins - private IConfig _pluginConfig; // Configuration source: Plugin specific - private OpenSimBase _app; // The 'server' - private BaseHttpServer _httpd; // The server's RPC interface - private string _prefix; // URL prefix below - // which all REST URLs - // are living - // private StringWriter _sw = null; - // private RestXmlWriter _xw = null; - - private string _godkey; - private int _reqk; - - [ThreadStatic] - private static string _threadRequestID = String.Empty; - - /// - /// Return an ever increasing request ID for logging - /// - protected string RequestID - { - get { return _reqk++.ToString(); } - set { _reqk = Convert.ToInt32(value); } - } - - /// - /// Thread-constant message IDs for logging. - /// - protected string MsgID - { - get { return String.Format("[REST-{0}] #{1}", Name, _threadRequestID); } - set { _threadRequestID = value; } - } - - /// - /// Returns true if Rest Plugins are enabled. - /// - public bool PluginsAreEnabled - { - get { return null != _config; } - } - - /// - /// Returns true if specific Rest Plugin is enabled. - /// - public bool IsEnabled - { - get - { - return (null != _pluginConfig) && _pluginConfig.GetBoolean("enabled", false); - } - } - - /// - /// OpenSimMain application - /// - public OpenSimBase App - { - get { return _app; } - } - - /// - /// RPC server - /// - public BaseHttpServer HttpServer - { - get { return _httpd; } - } - - /// - /// URL prefix to use for all REST handlers - /// - public string Prefix - { - get { return _prefix; } - } - - /// - /// Access to GOD password string - /// - protected string GodKey - { - get { return _godkey; } - } - - /// - /// Configuration of the plugin - /// - public IConfig Config - { - get { return _pluginConfig; } - } - - /// - /// Name of the plugin - /// - public abstract string Name { get; } - - /// - /// Return the config section name - /// - public abstract string ConfigName { get; } - - // public XmlTextWriter XmlWriter - // { - // get - // { - // if (null == _xw) - // { - // _sw = new StringWriter(); - // _xw = new RestXmlWriter(_sw); - // _xw.Formatting = Formatting.Indented; - // } - // return _xw; - // } - // } - - // public string XmlWriterResult - // { - // get - // { - // _xw.Flush(); - // _xw.Close(); - // _xw = null; - - // return _sw.ToString(); - // } - // } - - #endregion properties - - #region methods - - // TODO: required by IPlugin, but likely not at all right - private string m_version = "0.0"; - - public string Version - { - get { return m_version; } - } - - public void Initialise() - { - m_log.Info("[RESTPLUGIN]: " + Name + " cannot be default-initialized!"); - throw new PluginNotInitialisedException(Name); - } - - /// - /// This method is called by OpenSimMain immediately after loading the - /// plugin and after basic server setup, but before running any server commands. - /// - /// - /// Note that entries MUST be added to the active configuration files before - /// the plugin can be enabled. - /// - public virtual void Initialise(OpenSimBase openSim) - { - RequestID = "0"; - MsgID = RequestID; - - try - { - if ((_config = openSim.ConfigSource.Source.Configs["RestPlugins"]) == null) - { - m_log.WarnFormat("{0} Rest Plugins not configured", MsgID); - return; - } - - if (!_config.GetBoolean("enabled", false)) - { - //m_log.WarnFormat("{0} Rest Plugins are disabled", MsgID); - return; - } - - _app = openSim; - _httpd = openSim.HttpServer; - - // Retrieve GOD key value, if any. - _godkey = _config.GetString("god_key", String.Empty); - - // Retrive prefix if any. - _prefix = _config.GetString("prefix", "/admin"); - - // Get plugin specific config - _pluginConfig = openSim.ConfigSource.Source.Configs[ConfigName]; - - m_log.InfoFormat("{0} Rest Plugins Enabled", MsgID); - } - catch (Exception e) - { - // we can safely ignore this, as it just means that - // the key lookup in Configs failed, which signals to - // us that noone is interested in our services...they - // don't know what they are missing out on... - // NOTE: Under the present OpenSimulator implementation it is - // not possible for the openSimulator pointer to be null. However - // were the implementation to be changed, this could - // result in a silent initialization failure. Harmless - // except for lack of function and lack of any - // diagnostic indication as to why. The same is true if - // the HTTP server reference is bad. - // We should at least issue a message... - m_log.WarnFormat("{0} Initialization failed: {1}", MsgID, e.Message); - m_log.DebugFormat("{0} Initialization failed: {1}", MsgID, e.ToString()); - } - } - - public virtual void PostInitialise() - { - } - - private List _handlers = new List(); - private Dictionary _agents = new Dictionary(); - - /// - /// Add a REST stream handler to the underlying HTTP server. - /// - /// GET/PUT/POST/DELETE or - /// similar - /// URL prefix - /// RestMethod handler doing the actual work - public virtual void AddRestStreamHandler(string httpMethod, string path, RestMethod method) - { - if (!IsEnabled) return; - - if (!path.StartsWith(_prefix)) - { - path = String.Format("{0}{1}", _prefix, path); - } - - RestStreamHandler h = new RestStreamHandler(httpMethod, path, method); - _httpd.AddStreamHandler(h); - _handlers.Add(h); - - m_log.DebugFormat("{0} Added REST handler {1} {2}", MsgID, httpMethod, path); - } - - /// - /// Add a powerful Agent handler to the underlying HTTP - /// server. - /// - /// name of agent handler - /// agent handler method - /// false when the plugin is disabled or the agent - /// handler could not be added. Any generated exceptions are - /// allowed to drop through to the caller, i.e. ArgumentException. - /// - public bool AddAgentHandler(string agentName, IHttpAgentHandler handler) - { - if (!IsEnabled) return false; - _agents.Add(agentName, handler); -// return _httpd.AddAgentHandler(agentName, handler); - - return false; - } - - /// - /// Remove a powerful Agent handler from the underlying HTTP - /// server. - /// - /// name of agent handler - /// agent handler method - /// false when the plugin is disabled or the agent - /// handler could not be removed. Any generated exceptions are - /// allowed to drop through to the caller, i.e. KeyNotFound. - /// - public bool RemoveAgentHandler(string agentName, IHttpAgentHandler handler) - { - if (!IsEnabled) return false; - if (_agents[agentName] == handler) - { - _agents.Remove(agentName); -// return _httpd.RemoveAgentHandler(agentName, handler); - } - return false; - } - - /// - /// Check whether the HTTP request came from god; that is, is - /// the god_key as configured in the config section supplied - /// via X-OpenSim-Godkey? - /// - /// HTTP request header - /// true when the HTTP request came from god. - protected bool IsGod(IOSHttpRequest request) - { - string[] keys = request.Headers.GetValues("X-OpenSim-Godkey"); - if (null == keys) return false; - - // we take the last key supplied - return keys[keys.Length - 1] == _godkey; - } - - /// - /// Checks wether the X-OpenSim-Password value provided in the - /// HTTP header is indeed the password on file for the avatar - /// specified by the UUID - /// - protected bool IsVerifiedUser(IOSHttpRequest request, UUID uuid) - { - // XXX under construction - return false; - } - - /// - /// Clean up and remove all handlers that were added earlier. - /// - public virtual void Close() - { - foreach (RestStreamHandler h in _handlers) - { - _httpd.RemoveStreamHandler(h.HttpMethod, h.Path); - } - _handlers = null; -// foreach (KeyValuePair h in _agents) -// { -// _httpd.RemoveAgentHandler(h.Key, h.Value); -// } - _agents = null; - } - - public virtual void Dispose() - { - Close(); - } - - /// - /// Return a failure message. - /// - /// origin of the failure message - /// failure message - /// This should probably set a return code as - /// well. (?) - protected string Failure(IOSHttpResponse response, OSHttpStatusCode status, - string method, string format, params string[] msg) - { - string m = String.Format(format, msg); - - response.StatusCode = (int) status; - response.StatusDescription = m; - - m_log.ErrorFormat("{0} {1} failed: {2}", MsgID, method, m); - return String.Format("{0}", m); - } - - /// - /// Return a failure message. - /// - /// origin of the failure message - /// exception causing the failure message - /// This should probably set a return code as - /// well. (?) - public string Failure(IOSHttpResponse response, OSHttpStatusCode status, - string method, Exception e) - { - string m = String.Format("exception occurred: {0}", e.Message); - - response.StatusCode = (int) status; - response.StatusDescription = m; - - m_log.DebugFormat("{0} {1} failed: {2}", MsgID, method, e.ToString()); - m_log.ErrorFormat("{0} {1} failed: {2}", MsgID, method, e.Message); - - return String.Format("{0}", e.Message); - } - - #endregion methods - } -} diff --git a/OpenSim/ApplicationPlugins/Rest/RestXmlWriter.cs b/OpenSim/ApplicationPlugins/Rest/RestXmlWriter.cs deleted file mode 100644 index 283fa2e134..0000000000 --- a/OpenSim/ApplicationPlugins/Rest/RestXmlWriter.cs +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSimulator Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System.IO; -using System.Text; -using System.Xml; - -namespace OpenSim.ApplicationPlugins.Rest -{ - public class RestXmlWriter: XmlTextWriter - { - private StringWriter m_sw = null; - - public RestXmlWriter(StringWriter sw) : base(sw) - { - m_sw = sw; - Formatting = Formatting.Indented; - } - - public RestXmlWriter(TextWriter textWriter) : base(textWriter) - { - } - - public RestXmlWriter(Stream stream) - : this(stream, Encoding.UTF8) - { - } - - public RestXmlWriter(Stream stream, Encoding enc) : base(stream, enc) - { - } - - public override void WriteStartDocument() - { - } - - public override void WriteStartDocument(bool standalone) - { - } - - public override string ToString() - { - Flush(); - Close(); - return m_sw.ToString(); - } - } -} diff --git a/OpenSim/ApplicationPlugins/Rest/rest.xsd b/OpenSim/ApplicationPlugins/Rest/rest.xsd deleted file mode 100644 index 4dc0ae4d4e..0000000000 --- a/OpenSim/ApplicationPlugins/Rest/rest.xsd +++ /dev/null @@ -1,276 +0,0 @@ - - - - - Open Simulator Export/Import XML schema - August 2008 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/prebuild.xml b/prebuild.xml index 4d27a0bb4c..7a4455d0a6 100644 --- a/prebuild.xml +++ b/prebuild.xml @@ -1914,121 +1914,6 @@ - - - - - ../../../bin/ - - - - - ../../../bin/ - - - - ../../../bin/ - - - - - - - - - - - - - - - - - - - - - - - - - - ../../../../bin/ - - - - - ../../../../bin/ - - - - ../../../../bin/ - - - - - - - - - - - - - - - - - - - - - - - - - - - - ../../../../bin/ - - - - - ../../../../bin/ - - - - ../../../../bin/ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 6e1b3f9951b5ae9fbc0dc65e8404cb878206c68d Mon Sep 17 00:00:00 2001 From: teravus Date: Sat, 16 Mar 2013 03:14:11 -0400 Subject: [PATCH 767/851] *Yet another HTTPServer update code changes in OpenSim Libs. * This fixes a connection close issue by getting rid of the socket references * This adds a connection timeout checker to shutdown poor or evil connections and combats DOS attempts that just connect and make no complete requests and just wait. It also actually implements KeepAlive... instead of just understanding the connection header in the request... you can test by connecting and requesting a keepalive header and sending another request on the same connection. The new timeout checker closes expired keepalive sessions, just make sure you send the request within 70 seconds of connecting or the timeout checker will timeout the connection. --- .../Servers/HttpServer/BaseHttpServer.cs | 17 ++- bin/HttpServer_OpenSim.dll | Bin 116224 -> 119808 bytes bin/HttpServer_OpenSim.pdb | Bin 343552 -> 355840 bytes bin/HttpServer_OpenSim.xml | 121 ++++++++++++++++++ 4 files changed, 135 insertions(+), 3 deletions(-) diff --git a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs index 58312abf01..dfdd566258 100644 --- a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs +++ b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs @@ -486,7 +486,9 @@ namespace OpenSim.Framework.Servers.HttpServer { try { - SendHTML500(response); + byte[] buffer500 = SendHTML500(response); + response.Body.Write(buffer500,0,buffer500.Length); + response.Body.Close(); } catch { @@ -719,7 +721,15 @@ namespace OpenSim.Framework.Servers.HttpServer catch (Exception e) { m_log.Error(String.Format("[BASE HTTP SERVER]: HandleRequest() threw {0} ", e.StackTrace), e); - SendHTML500(response); + try + { + byte[] buffer500 = SendHTML500(response); + response.Body.Write(buffer500, 0, buffer500.Length); + response.Body.Close(); + } + catch + { + } } finally { @@ -1746,7 +1756,8 @@ namespace OpenSim.Framework.Servers.HttpServer response.SendChunked = false; response.ContentLength64 = buffer.Length; response.ContentEncoding = Encoding.UTF8; - + + return buffer; } diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index 36c089252d06d9a4200cd03a1e23f8da4c8d4de9..e15493d338184e902a38476f1020f6f4cdfc3144 100755 GIT binary patch literal 119808 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
kRAG=c!XP?F7;KF(h|UoPTW1#s&eXDGw0 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 h+gU delta 54364 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 CCeKm; diff --git a/bin/HttpServer_OpenSim.pdb b/bin/HttpServer_OpenSim.pdb index a69e420d64b5d6a6826a4b7d59b69292d2bc91ea..cfff9a791b8a052806072c2b1341a583ee167f74 100644 GIT binary patch delta 71221 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 diff --git a/bin/HttpServer_OpenSim.xml b/bin/HttpServer_OpenSim.xml index fa88fc7899..61c3ad8b4e 100644 --- a/bin/HttpServer_OpenSim.xml +++ b/bin/HttpServer_OpenSim.xml @@ -1669,6 +1669,65 @@ A header have been received.
+ + + A thread-safe lockless queue that supports multiple readers and + multiple writers + + + + Queue head + + + Queue tail + + + Queue item count + + + + Constructor + + + + + Enqueue an item + + Item to enqeue + + + + Try to dequeue an item + + Dequeued item if the dequeue was successful + True if an item was successfully deqeued, otherwise false + + + Gets the current number of items in the queue. Since this + is a lockless collection this value should be treated as a close + estimate + + + + Provides a node container for data in a singly linked list + + + + Pointer to the next node in list + + + The data contained by the node + + + + Constructor + + + + + Constructor + + Contains server side HTTP request information. @@ -2825,6 +2884,11 @@ Kind of HTTPS protocol. Usually TLS or SSL. A created . + + + Server is shutting down so shut down the factory + + A request have been received from one of the contexts. @@ -2876,6 +2940,11 @@ A creates . + + + Server is shutting down so shut down the factory + + True if detailed trace logs should be written. @@ -4315,6 +4384,58 @@ message describing the error + + + Timeout Manager. Checks for dead clients. Clients with open connections that are not doing anything. Closes sessions opened with keepalive. + + + + + Causes the watcher to immediately check the connections. + + + + + Environment.TickCount is an int but it counts all 32 bits so it goes positive + and negative every 24.9 days. This trims down TickCount so it doesn't wrap + for the callers. + This trims it to a 12 day interval so don't let your frame time get too long. + + + + + + Environment.TickCount is an int but it counts all 32 bits so it goes positive + and negative every 24.9 days. Subtracts the passed value (previously fetched by + 'EnvironmentTickCount()') and accounts for any wrapping. + + + + subtraction of passed prevValue from current Environment.TickCount + + + + Environment.TickCount is an int but it counts all 32 bits so it goes positive + and negative every 24.9 days. Subtracts the passed value (previously fetched by + 'EnvironmentTickCount()') and accounts for any wrapping. + + + + subtraction of passed prevValue from current Environment.TickCount + + + + Environment.TickCount is an int but it counts all 32 bits so it goes positive + and negative every 24.9 days. Subtracts the passed value (previously fetched by + 'EnvironmentTickCount()') and accounts for any wrapping. + + subtraction of passed prevValue from current Environment.TickCount + + + + Use a Thread or a Timer to monitor the ugly + + Session store using memory for each session. From fc84ebb819b590099bbfa5bd357e886ce7460063 Mon Sep 17 00:00:00 2001 From: Vegaslon Date: Sat, 16 Mar 2013 17:16:01 -0400 Subject: [PATCH 768/851] BulletSim: Working Implementation of Angular Banking for Vehicles (Not SL Grade, Other features when implemented should slow it down for now be Strong with Vertical Angular attraction setting and conservative with Angular Velocity on X axis) Signed-off-by: Robert Adams --- .../Physics/BulletSPlugin/BSDynamics.cs | 33 ++++++++++--------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs index d34715969e..96eaa6b76d 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs @@ -143,7 +143,7 @@ namespace OpenSim.Region.Physics.BulletSPlugin { enableAngularVerticalAttraction = true; enableAngularDeflection = false; - enableAngularBanking = false; + enableAngularBanking = true; if (BSParam.VehicleDebuggingEnabled) { enableAngularVerticalAttraction = true; @@ -1280,11 +1280,11 @@ namespace OpenSim.Region.Physics.BulletSPlugin // That is, NO_DEFLECTION_UP says angular motion should not add any pitch or roll movement // TODO: This is here because this is where ODE put it but documentation says it // is a linear effect. Where should this check go? - if ((m_flags & (VehicleFlag.NO_DEFLECTION_UP)) != 0) - { - angularMotorContributionV.X = 0f; - angularMotorContributionV.Y = 0f; - } + //if ((m_flags & (VehicleFlag.NO_DEFLECTION_UP)) != 0) + // { + // angularMotorContributionV.X = 0f; + // angularMotorContributionV.Y = 0f; + // } VehicleRotationalVelocity += angularMotorContributionV * VehicleOrientation; VDetailLog("{0}, MoveAngular,angularTurning,angularMotorContrib={1}", Prim.LocalID, angularMotorContributionV); @@ -1437,24 +1437,25 @@ namespace OpenSim.Region.Physics.BulletSPlugin // As the vehicle rolls to the right or left, the Y value will increase from // zero (straight up) to 1 or -1 (full tilt right or left) Vector3 rollComponents = Vector3.UnitZ * VehicleOrientation; - // Figure out the yaw value for this much roll. // Squared because that seems to give a good value - float yawAngle = (float)Math.Asin(rollComponents.Y * rollComponents.Y) * m_bankingEfficiency; - + // float yawAngle = (float)Math.Asin(rollComponents.X * rollComponents.X) * m_bankingEfficiency; + float yawAngle = m_angularMotorDirection.X * m_bankingEfficiency; // actual error = static turn error + dynamic turn error - float mixedYawAngle = yawAngle * (1f - m_bankingMix) + yawAngle * m_bankingMix * VehicleForwardSpeed; - - // TODO: the banking effect should not go to infinity but what to limit it to? - mixedYawAngle = ClampInRange(-20f, mixedYawAngle, 20f); + float mixedYawAngle =(yawAngle * (1f - m_bankingMix)) + ((yawAngle * m_bankingMix) * VehicleForwardSpeed); + // TODO: the banking effect should not go to infinity but what to limit it to? and what should happen when this is + // being added to a user defined yaw that is already PI*4? + mixedYawAngle = ClampInRange(-12, mixedYawAngle, 12); // Build the force vector to change rotation from what it is to what it should be bankingContributionV.Z = -mixedYawAngle; - // Don't do it all at once. - bankingContributionV /= m_bankingTimescale; + // Don't do it all at once. 60 becouse 1 second is too fast with most user defined roll as PI*4 + bankingContributionV /= m_bankingTimescale*60; - VehicleRotationalVelocity += bankingContributionV * VehicleOrientation; + //VehicleRotationalVelocity += bankingContributionV * VehicleOrientation; + VehicleRotationalVelocity += bankingContributionV; + VDetailLog("{0}, MoveAngular,Banking,rollComp={1},speed={2},rollComp={3},yAng={4},mYAng={5},ret={6}", Prim.LocalID, rollComponents, VehicleForwardSpeed, rollComponents, yawAngle, mixedYawAngle, bankingContributionV); From 464201b41d5f5fdd7c88ab5e95dd7b6fbae6d766 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sat, 16 Mar 2013 15:34:07 -0700 Subject: [PATCH 769/851] BulletSim: add INI parameter for angular banking timescale fudge parameter. --- OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs | 12 ++++++------ OpenSim/Region/Physics/BulletSPlugin/BSParam.cs | 7 ++++++- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs index 96eaa6b76d..38596fa012 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs @@ -1437,21 +1437,21 @@ namespace OpenSim.Region.Physics.BulletSPlugin // As the vehicle rolls to the right or left, the Y value will increase from // zero (straight up) to 1 or -1 (full tilt right or left) Vector3 rollComponents = Vector3.UnitZ * VehicleOrientation; + // Figure out the yaw value for this much roll. - // Squared because that seems to give a good value - // float yawAngle = (float)Math.Asin(rollComponents.X * rollComponents.X) * m_bankingEfficiency; float yawAngle = m_angularMotorDirection.X * m_bankingEfficiency; // actual error = static turn error + dynamic turn error float mixedYawAngle =(yawAngle * (1f - m_bankingMix)) + ((yawAngle * m_bankingMix) * VehicleForwardSpeed); - // TODO: the banking effect should not go to infinity but what to limit it to? and what should happen when this is - // being added to a user defined yaw that is already PI*4? + + // TODO: the banking effect should not go to infinity but what to limit it to? + // And what should happen when this is being added to a user defined yaw that is already PI*4? mixedYawAngle = ClampInRange(-12, mixedYawAngle, 12); // Build the force vector to change rotation from what it is to what it should be bankingContributionV.Z = -mixedYawAngle; - // Don't do it all at once. 60 becouse 1 second is too fast with most user defined roll as PI*4 - bankingContributionV /= m_bankingTimescale*60; + // Don't do it all at once. Fudge because 1 second is too fast with most user defined roll as PI*4. + bankingContributionV /= m_bankingTimescale * BSParam.VehicleAngularBankingTimescaleFudge; //VehicleRotationalVelocity += bankingContributionV * VehicleOrientation; VehicleRotationalVelocity += bankingContributionV; diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs index 2af84684fc..77bdacb458 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs @@ -123,6 +123,7 @@ public static class BSParam public static Vector3 VehicleLinearFactor { get; private set; } public static Vector3 VehicleAngularFactor { get; private set; } public static float VehicleGroundGravityFudge { get; private set; } + public static float VehicleAngularBankingTimescaleFudge { get; private set; } public static bool VehicleDebuggingEnabled { get; private set; } // Linkset implementation parameters @@ -543,10 +544,14 @@ public static class BSParam 0.0f, (s) => { return VehicleRestitution; }, (s,v) => { VehicleRestitution = v; } ), - new ParameterDefn("VehicleGroundGravityFudge", "Factor to multiple gravity if a ground vehicle is probably on the ground (0.0 - 1.0)", + new ParameterDefn("VehicleGroundGravityFudge", "Factor to multiply gravity if a ground vehicle is probably on the ground (0.0 - 1.0)", 0.2f, (s) => { return VehicleGroundGravityFudge; }, (s,v) => { VehicleGroundGravityFudge = v; } ), + new ParameterDefn("VehicleAngularBankingTimescaleFudge", "Factor to multiple angular banking timescale. Tune to increase realism.", + 60.0f, + (s) => { return VehicleAngularBankingTimescaleFudge; }, + (s,v) => { VehicleAngularBankingTimescaleFudge = v; } ), new ParameterDefn("VehicleDebuggingEnable", "Turn on/off vehicle debugging", false, (s) => { return VehicleDebuggingEnabled; }, From a7a9a8a614549c7492e4954189e9f4df2473ca1e Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Mon, 18 Mar 2013 20:42:08 +0000 Subject: [PATCH 770/851] Fix recent regression where an item worn to an attachment point that was already occupied did not remove the previous attachment (current behaviour) Regression was commit ccd6f4 (Tue Mar 5 23:47:36 2013) Added regression test for this case. --- .../Avatar/Attachments/AttachmentsModule.cs | 180 +++++++++--------- .../Tests/AttachmentsModuleTests.cs | 64 ++++++- 2 files changed, 154 insertions(+), 90 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs index b6a74819d7..2092d6f3f7 100644 --- a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs @@ -289,16 +289,21 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments if (!Enabled) return false; - if (AttachObjectInternal(sp, group, attachmentPt, silent, temp)) - { - m_scene.EventManager.TriggerOnAttach(group.LocalId, group.FromItemID, sp.UUID); - return true; - } - - return false; + return AttachObjectInternal(sp, group, attachmentPt, silent, temp, false); } - - private bool AttachObjectInternal(IScenePresence sp, SceneObjectGroup group, uint attachmentPt, bool silent, bool temp) + + /// + /// Internal method which actually does all the work for attaching an object. + /// + /// The object attached. + /// + /// The object to attach. + /// + /// + /// + /// If true then scripts are resumed on the attached object. + private bool AttachObjectInternal( + IScenePresence sp, SceneObjectGroup group, uint attachmentPt, bool silent, bool temp, bool resumeScripts) { // m_log.DebugFormat( // "[ATTACHMENTS MODULE]: Attaching object {0} {1} to {2} point {3} from ground (silent = {4})", @@ -322,44 +327,44 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments return false; } + Vector3 attachPos = group.AbsolutePosition; + + // TODO: this short circuits multiple attachments functionality in LL viewer 2.1+ and should + // be removed when that functionality is implemented in opensim + attachmentPt &= 0x7f; + + // If the attachment point isn't the same as the one previously used + // set it's offset position = 0 so that it appears on the attachment point + // and not in a weird location somewhere unknown. + if (attachmentPt != 0 && attachmentPt != group.AttachmentPoint) + { + attachPos = Vector3.Zero; + } + + // AttachmentPt 0 means the client chose to 'wear' the attachment. + if (attachmentPt == 0) + { + // Check object for stored attachment point + attachmentPt = group.AttachmentPoint; + } + + // if we still didn't find a suitable attachment point....... + if (attachmentPt == 0) + { + // Stick it on left hand with Zero Offset from the attachment point. + attachmentPt = (uint)AttachmentPoint.LeftHand; + attachPos = Vector3.Zero; + } + // Remove any previous attachments List existingAttachments = sp.GetAttachments(attachmentPt); // At the moment we can only deal with a single attachment if (existingAttachments.Count != 0 && existingAttachments[0].FromItemID != UUID.Zero) - DetachSingleAttachmentToInv(sp, group); + DetachSingleAttachmentToInv(sp, existingAttachments[0]); lock (sp.AttachmentsSyncLock) { - Vector3 attachPos = group.AbsolutePosition; - - // TODO: this short circuits multiple attachments functionality in LL viewer 2.1+ and should - // be removed when that functionality is implemented in opensim - attachmentPt &= 0x7f; - - // If the attachment point isn't the same as the one previously used - // set it's offset position = 0 so that it appears on the attachment point - // and not in a weird location somewhere unknown. - if (attachmentPt != 0 && attachmentPt != group.AttachmentPoint) - { - attachPos = Vector3.Zero; - } - - // AttachmentPt 0 means the client chose to 'wear' the attachment. - if (attachmentPt == 0) - { - // Check object for stored attachment point - attachmentPt = group.AttachmentPoint; - } - - // if we still didn't find a suitable attachment point....... - if (attachmentPt == 0) - { - // Stick it on left hand with Zero Offset from the attachment point. - attachmentPt = (uint)AttachmentPoint.LeftHand; - attachPos = Vector3.Zero; - } - group.AttachmentPoint = attachmentPt; group.AbsolutePosition = attachPos; @@ -367,6 +372,17 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments UpdateUserInventoryWithAttachment(sp, group, attachmentPt, temp); AttachToAgent(sp, group, attachmentPt, attachPos, silent); + + if (resumeScripts) + { + // Fire after attach, so we don't get messy perms dialogs + // 4 == AttachedRez + group.CreateScriptInstances(0, true, m_scene.DefaultScriptEngine, 4); + group.ResumeScripts(); + } + + // Do this last so that event listeners have access to all the effects of the attachment + m_scene.EventManager.TriggerOnAttach(group.LocalId, group.FromItemID, sp.UUID); } return true; @@ -391,8 +407,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments return null; // m_log.DebugFormat( -// "[ATTACHMENTS MODULE]: RezSingleAttachmentFromInventory to point {0} from item {1} for {2}", -// (AttachmentPoint)AttachmentPt, itemID, sp.Name); +// "[ATTACHMENTS MODULE]: RezSingleAttachmentFromInventory to point {0} from item {1} for {2} in {3}", +// (AttachmentPoint)AttachmentPt, itemID, sp.Name, m_scene.Name); // TODO: this short circuits multiple attachments functionality in LL viewer 2.1+ and should // be removed when that functionality is implemented in opensim @@ -525,6 +541,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments return; } +// m_log.DebugFormat( +// "[ATTACHMENTS MODULE]: Detaching object {0} {1} for {2} in {3}", +// so.Name, so.LocalId, sp.Name, m_scene.Name); + // Scripts MUST be snapshotted before the object is // removed from the scene because doing otherwise will // clobber the run flag @@ -846,60 +866,42 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments return null; } - // Remove any previous attachments - List attachments = sp.GetAttachments(attachmentPt); - - // At the moment we can only deal with a single attachment - if (attachments.Count != 0) - DetachSingleAttachmentToInv(sp, attachments[0]); - - lock (sp.AttachmentsSyncLock) - { // m_log.DebugFormat( // "[ATTACHMENTS MODULE]: Rezzed single object {0} for attachment to {1} on point {2} in {3}", // objatt.Name, sp.Name, attachmentPt, m_scene.Name); - // HasGroupChanged is being set from within RezObject. Ideally it would be set by the caller. - objatt.HasGroupChanged = false; - bool tainted = false; - if (attachmentPt != 0 && attachmentPt != objatt.AttachmentPoint) - tainted = true; + // HasGroupChanged is being set from within RezObject. Ideally it would be set by the caller. + objatt.HasGroupChanged = false; + bool tainted = false; + if (attachmentPt != 0 && attachmentPt != objatt.AttachmentPoint) + tainted = true; - // FIXME: Detect whether it's really likely for AttachObject to throw an exception in the normal - // course of events. If not, then it's probably not worth trying to recover the situation - // since this is more likely to trigger further exceptions and confuse later debugging. If - // exceptions can be thrown in expected error conditions (not NREs) then make this consistent - // since other normal error conditions will simply return false instead. - // This will throw if the attachment fails - try - { - AttachObjectInternal(sp, objatt, attachmentPt, false, false); - } - catch (Exception e) - { - m_log.ErrorFormat( - "[ATTACHMENTS MODULE]: Failed to attach {0} {1} for {2}, exception {3}{4}", - objatt.Name, objatt.UUID, sp.Name, e.Message, e.StackTrace); - - // Make sure the object doesn't stick around and bail - sp.RemoveAttachment(objatt); - m_scene.DeleteSceneObject(objatt, false); - return null; - } - - if (tainted) - objatt.HasGroupChanged = true; - - // Fire after attach, so we don't get messy perms dialogs - // 4 == AttachedRez - objatt.CreateScriptInstances(0, true, m_scene.DefaultScriptEngine, 4); - objatt.ResumeScripts(); - - // Do this last so that event listeners have access to all the effects of the attachment - m_scene.EventManager.TriggerOnAttach(objatt.LocalId, itemID, sp.UUID); - - return objatt; + // FIXME: Detect whether it's really likely for AttachObject to throw an exception in the normal + // course of events. If not, then it's probably not worth trying to recover the situation + // since this is more likely to trigger further exceptions and confuse later debugging. If + // exceptions can be thrown in expected error conditions (not NREs) then make this consistent + // since other normal error conditions will simply return false instead. + // This will throw if the attachment fails + try + { + AttachObjectInternal(sp, objatt, attachmentPt, false, false, true); } + catch (Exception e) + { + m_log.ErrorFormat( + "[ATTACHMENTS MODULE]: Failed to attach {0} {1} for {2}, exception {3}{4}", + objatt.Name, objatt.UUID, sp.Name, e.Message, e.StackTrace); + + // Make sure the object doesn't stick around and bail + sp.RemoveAttachment(objatt); + m_scene.DeleteSceneObject(objatt, false); + return null; + } + + if (tainted) + objatt.HasGroupChanged = true; + + return objatt; } /// diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs index 0ee01c7821..624adcf1c8 100644 --- a/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs +++ b/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs @@ -293,13 +293,75 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests // Check appearance status Assert.That(sp.Appearance.GetAttachments().Count, Is.EqualTo(1)); Assert.That(sp.Appearance.GetAttachpoint(attItem.ID), Is.EqualTo((int)AttachmentPoint.Chest)); - Assert.That(scene.GetSceneObjectGroups().Count, Is.EqualTo(1)); // Check events Assert.That(m_numberOfAttachEventsFired, Is.EqualTo(1)); } + /// + /// Test wearing an attachment from inventory, as opposed to explicit choosing the rez point + /// + [Test] + public void TestWearAttachmentFromInventory() + { + TestHelpers.InMethod(); +// TestHelpers.EnableLogging(); + + Scene scene = CreateTestScene(); + UserAccount ua1 = UserAccountHelpers.CreateUserWithInventory(scene, 0x1); + ScenePresence sp = SceneHelpers.AddScenePresence(scene, ua1.PrincipalID); + + InventoryItemBase attItem1 = CreateAttachmentItem(scene, ua1.PrincipalID, "att1", 0x10, 0x20); + InventoryItemBase attItem2 = CreateAttachmentItem(scene, ua1.PrincipalID, "att2", 0x11, 0x21); + + { + scene.AttachmentsModule.RezSingleAttachmentFromInventory(sp, attItem1.ID, (uint)AttachmentPoint.Default); + + // default attachment point is currently the left hand. + Assert.That(sp.HasAttachments(), Is.True); + List attachments = sp.GetAttachments(); + Assert.That(attachments.Count, Is.EqualTo(1)); + SceneObjectGroup attSo = attachments[0]; + Assert.That(attSo.Name, Is.EqualTo(attItem1.Name)); + Assert.That(attSo.AttachmentPoint, Is.EqualTo((byte)AttachmentPoint.LeftHand)); + Assert.That(attSo.IsAttachment); + + // Check appearance status + Assert.That(sp.Appearance.GetAttachments().Count, Is.EqualTo(1)); + Assert.That(sp.Appearance.GetAttachpoint(attItem1.ID), Is.EqualTo((int)AttachmentPoint.LeftHand)); + Assert.That(scene.GetSceneObjectGroups().Count, Is.EqualTo(1)); + + // Check events + Assert.That(m_numberOfAttachEventsFired, Is.EqualTo(1)); + } + + // Test wearing a second attachment at the same position + // Until multiple attachments at one point is implemented, this will remove the first attachment + // This test relies on both attachments having the same default attachment point (in this case LeftHand + // since none other has been set). + { + scene.AttachmentsModule.RezSingleAttachmentFromInventory(sp, attItem2.ID, (uint)AttachmentPoint.Default); + + // default attachment point is currently the left hand. + Assert.That(sp.HasAttachments(), Is.True); + List attachments = sp.GetAttachments(); + Assert.That(attachments.Count, Is.EqualTo(1)); + SceneObjectGroup attSo = attachments[0]; + Assert.That(attSo.Name, Is.EqualTo(attItem2.Name)); + Assert.That(attSo.AttachmentPoint, Is.EqualTo((byte)AttachmentPoint.LeftHand)); + Assert.That(attSo.IsAttachment); + + // Check appearance status + Assert.That(sp.Appearance.GetAttachments().Count, Is.EqualTo(1)); + Assert.That(sp.Appearance.GetAttachpoint(attItem2.ID), Is.EqualTo((int)AttachmentPoint.LeftHand)); + Assert.That(scene.GetSceneObjectGroups().Count, Is.EqualTo(1)); + + // Check events + Assert.That(m_numberOfAttachEventsFired, Is.EqualTo(3)); + } + } + /// /// Test specific conditions associated with rezzing a scripted attachment from inventory. /// From 3611d33b00650ccc71994b331e4c6595f95d3131 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Mon, 18 Mar 2013 22:04:27 +0000 Subject: [PATCH 771/851] Improve rejection of any attempt to reattach an object that is already attached. This also adds/extends regression tests for wearing attachments directly for the scene and attempting to reattach/rewear already attached objects. --- .../Avatar/Attachments/AttachmentsModule.cs | 24 +-- .../Tests/AttachmentsModuleTests.cs | 201 ++++++++++++++++-- 2 files changed, 194 insertions(+), 31 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs index 2092d6f3f7..1c28f49ad6 100644 --- a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs @@ -305,6 +305,15 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments private bool AttachObjectInternal( IScenePresence sp, SceneObjectGroup group, uint attachmentPt, bool silent, bool temp, bool resumeScripts) { + if (sp.GetAttachments().Contains(group)) + { +// m_log.WarnFormat( +// "[ATTACHMENTS MODULE]: Ignoring request to attach {0} {1} to {2} on {3} since it's already attached", +// group.Name, group.LocalId, sp.Name, AttachmentPt); + + return false; + } + // m_log.DebugFormat( // "[ATTACHMENTS MODULE]: Attaching object {0} {1} to {2} point {3} from ground (silent = {4})", // group.Name, group.LocalId, sp.Name, attachmentPt, silent); @@ -318,15 +327,6 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments return false; } - if (sp.GetAttachments(attachmentPt).Contains(group)) - { -// m_log.WarnFormat( -// "[ATTACHMENTS MODULE]: Ignoring request to attach {0} {1} to {2} on {3} since it's already attached", -// group.Name, group.LocalId, sp.Name, AttachmentPt); - - return false; - } - Vector3 attachPos = group.AbsolutePosition; // TODO: this short circuits multiple attachments functionality in LL viewer 2.1+ and should @@ -336,13 +336,13 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments // If the attachment point isn't the same as the one previously used // set it's offset position = 0 so that it appears on the attachment point // and not in a weird location somewhere unknown. - if (attachmentPt != 0 && attachmentPt != group.AttachmentPoint) + if (attachmentPt != (uint)AttachmentPoint.Default && attachmentPt != group.AttachmentPoint) { attachPos = Vector3.Zero; } - // AttachmentPt 0 means the client chose to 'wear' the attachment. - if (attachmentPt == 0) + // AttachmentPt 0 (default) means the client chose to 'wear' the attachment. + if (attachmentPt == (uint)AttachmentPoint.Default) { // Check object for stored attachment point attachmentPt = group.AttachmentPoint; diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs index 624adcf1c8..719a59c814 100644 --- a/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs +++ b/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs @@ -228,6 +228,120 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests Assert.That(m_numberOfAttachEventsFired, Is.EqualTo(1)); } + [Test] + public void TestWearAttachmentFromGround() + { + TestHelpers.InMethod(); +// TestHelpers.EnableLogging(); + + Scene scene = CreateTestScene(); + UserAccount ua1 = UserAccountHelpers.CreateUserWithInventory(scene, 0x1); + ScenePresence sp = SceneHelpers.AddScenePresence(scene, ua1); + + SceneObjectGroup so2 = SceneHelpers.AddSceneObject(scene, "att2", sp.UUID); + + { + SceneObjectGroup so = SceneHelpers.AddSceneObject(scene, "att1", sp.UUID); + + m_numberOfAttachEventsFired = 0; + scene.AttachmentsModule.AttachObject(sp, so, (uint)AttachmentPoint.Default, false, false); + + // Check status on scene presence + Assert.That(sp.HasAttachments(), Is.True); + List attachments = sp.GetAttachments(); + Assert.That(attachments.Count, Is.EqualTo(1)); + SceneObjectGroup attSo = attachments[0]; + Assert.That(attSo.Name, Is.EqualTo(so.Name)); + Assert.That(attSo.AttachmentPoint, Is.EqualTo((byte)AttachmentPoint.LeftHand)); + Assert.That(attSo.IsAttachment); + Assert.That(attSo.UsesPhysics, Is.False); + Assert.That(attSo.IsTemporary, Is.False); + + // Check item status + Assert.That( + sp.Appearance.GetAttachpoint(attSo.FromItemID), + Is.EqualTo((int)AttachmentPoint.LeftHand)); + + InventoryItemBase attachmentItem = scene.InventoryService.GetItem(new InventoryItemBase(attSo.FromItemID)); + Assert.That(attachmentItem, Is.Not.Null); + Assert.That(attachmentItem.Name, Is.EqualTo(so.Name)); + + InventoryFolderBase targetFolder = scene.InventoryService.GetFolderForType(sp.UUID, AssetType.Object); + Assert.That(attachmentItem.Folder, Is.EqualTo(targetFolder.ID)); + + Assert.That(scene.GetSceneObjectGroups().Count, Is.EqualTo(2)); + + // Check events + Assert.That(m_numberOfAttachEventsFired, Is.EqualTo(1)); + } + + // Test wearing a different attachment from the ground. + { + scene.AttachmentsModule.AttachObject(sp, so2, (uint)AttachmentPoint.Default, false, false); + + // Check status on scene presence + Assert.That(sp.HasAttachments(), Is.True); + List attachments = sp.GetAttachments(); + Assert.That(attachments.Count, Is.EqualTo(1)); + SceneObjectGroup attSo = attachments[0]; + Assert.That(attSo.Name, Is.EqualTo(so2.Name)); + Assert.That(attSo.AttachmentPoint, Is.EqualTo((byte)AttachmentPoint.LeftHand)); + Assert.That(attSo.IsAttachment); + Assert.That(attSo.UsesPhysics, Is.False); + Assert.That(attSo.IsTemporary, Is.False); + + // Check item status + Assert.That( + sp.Appearance.GetAttachpoint(attSo.FromItemID), + Is.EqualTo((int)AttachmentPoint.LeftHand)); + + InventoryItemBase attachmentItem = scene.InventoryService.GetItem(new InventoryItemBase(attSo.FromItemID)); + Assert.That(attachmentItem, Is.Not.Null); + Assert.That(attachmentItem.Name, Is.EqualTo(so2.Name)); + + InventoryFolderBase targetFolder = scene.InventoryService.GetFolderForType(sp.UUID, AssetType.Object); + Assert.That(attachmentItem.Folder, Is.EqualTo(targetFolder.ID)); + + Assert.That(scene.GetSceneObjectGroups().Count, Is.EqualTo(1)); + + // Check events + Assert.That(m_numberOfAttachEventsFired, Is.EqualTo(3)); + } + + // Test rewearing an already worn attachment from ground. Nothing should happen. + { + scene.AttachmentsModule.AttachObject(sp, so2, (uint)AttachmentPoint.Default, false, false); + + // Check status on scene presence + Assert.That(sp.HasAttachments(), Is.True); + List attachments = sp.GetAttachments(); + Assert.That(attachments.Count, Is.EqualTo(1)); + SceneObjectGroup attSo = attachments[0]; + Assert.That(attSo.Name, Is.EqualTo(so2.Name)); + Assert.That(attSo.AttachmentPoint, Is.EqualTo((byte)AttachmentPoint.LeftHand)); + Assert.That(attSo.IsAttachment); + Assert.That(attSo.UsesPhysics, Is.False); + Assert.That(attSo.IsTemporary, Is.False); + + // Check item status + Assert.That( + sp.Appearance.GetAttachpoint(attSo.FromItemID), + Is.EqualTo((int)AttachmentPoint.LeftHand)); + + InventoryItemBase attachmentItem = scene.InventoryService.GetItem(new InventoryItemBase(attSo.FromItemID)); + Assert.That(attachmentItem, Is.Not.Null); + Assert.That(attachmentItem.Name, Is.EqualTo(so2.Name)); + + InventoryFolderBase targetFolder = scene.InventoryService.GetFolderForType(sp.UUID, AssetType.Object); + Assert.That(attachmentItem.Folder, Is.EqualTo(targetFolder.ID)); + + Assert.That(scene.GetSceneObjectGroups().Count, Is.EqualTo(1)); + + // Check events + Assert.That(m_numberOfAttachEventsFired, Is.EqualTo(3)); + } + } + /// /// Test that we do not attempt to attach an in-world object that someone else is sitting on. /// @@ -275,28 +389,54 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests InventoryItemBase attItem = CreateAttachmentItem(scene, ua1.PrincipalID, "att", 0x10, 0x20); - m_numberOfAttachEventsFired = 0; - scene.AttachmentsModule.RezSingleAttachmentFromInventory( - sp, attItem.ID, (uint)AttachmentPoint.Chest); + { + scene.AttachmentsModule.RezSingleAttachmentFromInventory( + sp, attItem.ID, (uint)AttachmentPoint.Chest); - // Check scene presence status - Assert.That(sp.HasAttachments(), Is.True); - List attachments = sp.GetAttachments(); - Assert.That(attachments.Count, Is.EqualTo(1)); - SceneObjectGroup attSo = attachments[0]; - Assert.That(attSo.Name, Is.EqualTo(attItem.Name)); - Assert.That(attSo.AttachmentPoint, Is.EqualTo((byte)AttachmentPoint.Chest)); - Assert.That(attSo.IsAttachment); - Assert.That(attSo.UsesPhysics, Is.False); - Assert.That(attSo.IsTemporary, Is.False); + // Check scene presence status + Assert.That(sp.HasAttachments(), Is.True); + List attachments = sp.GetAttachments(); + Assert.That(attachments.Count, Is.EqualTo(1)); + SceneObjectGroup attSo = attachments[0]; + Assert.That(attSo.Name, Is.EqualTo(attItem.Name)); + Assert.That(attSo.AttachmentPoint, Is.EqualTo((byte)AttachmentPoint.Chest)); + Assert.That(attSo.IsAttachment); + Assert.That(attSo.UsesPhysics, Is.False); + Assert.That(attSo.IsTemporary, Is.False); - // Check appearance status - Assert.That(sp.Appearance.GetAttachments().Count, Is.EqualTo(1)); - Assert.That(sp.Appearance.GetAttachpoint(attItem.ID), Is.EqualTo((int)AttachmentPoint.Chest)); - Assert.That(scene.GetSceneObjectGroups().Count, Is.EqualTo(1)); + // Check appearance status + Assert.That(sp.Appearance.GetAttachments().Count, Is.EqualTo(1)); + Assert.That(sp.Appearance.GetAttachpoint(attItem.ID), Is.EqualTo((int)AttachmentPoint.Chest)); + Assert.That(scene.GetSceneObjectGroups().Count, Is.EqualTo(1)); - // Check events - Assert.That(m_numberOfAttachEventsFired, Is.EqualTo(1)); + // Check events + Assert.That(m_numberOfAttachEventsFired, Is.EqualTo(1)); + } + + // Test attaching an already attached attachment + { + scene.AttachmentsModule.RezSingleAttachmentFromInventory( + sp, attItem.ID, (uint)AttachmentPoint.Chest); + + // Check scene presence status + Assert.That(sp.HasAttachments(), Is.True); + List attachments = sp.GetAttachments(); + Assert.That(attachments.Count, Is.EqualTo(1)); + SceneObjectGroup attSo = attachments[0]; + Assert.That(attSo.Name, Is.EqualTo(attItem.Name)); + Assert.That(attSo.AttachmentPoint, Is.EqualTo((byte)AttachmentPoint.Chest)); + Assert.That(attSo.IsAttachment); + Assert.That(attSo.UsesPhysics, Is.False); + Assert.That(attSo.IsTemporary, Is.False); + + // Check appearance status + Assert.That(sp.Appearance.GetAttachments().Count, Is.EqualTo(1)); + Assert.That(sp.Appearance.GetAttachpoint(attItem.ID), Is.EqualTo((int)AttachmentPoint.Chest)); + Assert.That(scene.GetSceneObjectGroups().Count, Is.EqualTo(1)); + + // Check events + Assert.That(m_numberOfAttachEventsFired, Is.EqualTo(1)); + } } /// @@ -316,6 +456,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests InventoryItemBase attItem2 = CreateAttachmentItem(scene, ua1.PrincipalID, "att2", 0x11, 0x21); { + m_numberOfAttachEventsFired = 0; scene.AttachmentsModule.RezSingleAttachmentFromInventory(sp, attItem1.ID, (uint)AttachmentPoint.Default); // default attachment point is currently the left hand. @@ -360,6 +501,28 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests // Check events Assert.That(m_numberOfAttachEventsFired, Is.EqualTo(3)); } + + // Test wearing an already attached attachment + { + scene.AttachmentsModule.RezSingleAttachmentFromInventory(sp, attItem2.ID, (uint)AttachmentPoint.Default); + + // default attachment point is currently the left hand. + Assert.That(sp.HasAttachments(), Is.True); + List attachments = sp.GetAttachments(); + Assert.That(attachments.Count, Is.EqualTo(1)); + SceneObjectGroup attSo = attachments[0]; + Assert.That(attSo.Name, Is.EqualTo(attItem2.Name)); + Assert.That(attSo.AttachmentPoint, Is.EqualTo((byte)AttachmentPoint.LeftHand)); + Assert.That(attSo.IsAttachment); + + // Check appearance status + Assert.That(sp.Appearance.GetAttachments().Count, Is.EqualTo(1)); + Assert.That(sp.Appearance.GetAttachpoint(attItem2.ID), Is.EqualTo((int)AttachmentPoint.LeftHand)); + Assert.That(scene.GetSceneObjectGroups().Count, Is.EqualTo(1)); + + // Check events + Assert.That(m_numberOfAttachEventsFired, Is.EqualTo(3)); + } } /// From fcecfc81bbd6ee8ebfa2dc0585d92ebf899358c1 Mon Sep 17 00:00:00 2001 From: Melanie Date: Mon, 18 Mar 2013 22:56:03 +0000 Subject: [PATCH 772/851] Multiattach, part 1 Conflicts: OpenSim/Framework/AvatarAppearance.cs OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs OpenSim/Region/Framework/Scenes/Scene.cs OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs --- .../Avatar/Attachments/AttachmentsModule.cs | 58 +++++++++---------- .../Tests/AttachmentsModuleTests.cs | 6 +- .../Interfaces/IAttachmentsModule.cs | 2 +- OpenSim/Region/Framework/Scenes/Scene.cs | 2 +- .../Attachments/TempAttachmentsModule.cs | 2 +- .../Shared/Api/Implementation/LSL_Api.cs | 4 +- OpenSim/Services/Interfaces/IAvatarService.cs | 9 ++- 7 files changed, 44 insertions(+), 39 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs index 8a3eeaad97..f8fc483822 100644 --- a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs @@ -221,9 +221,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments // If we're an NPC then skip all the item checks and manipulations since we don't have an // inventory right now. if (sp.PresenceType == PresenceType.Npc) - RezSingleAttachmentFromInventoryInternal(sp, UUID.Zero, attach.AssetID, p); + RezSingleAttachmentFromInventoryInternal(sp, UUID.Zero, attach.AssetID, p, true); else - RezSingleAttachmentFromInventory(sp, attach.ItemID, p); + RezSingleAttachmentFromInventory(sp, attach.ItemID, p | (uint)0x80); } catch (Exception e) { @@ -268,13 +268,13 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments sp.ClearAttachments(); } - - public bool AttachObject(IScenePresence sp, SceneObjectGroup group, uint attachmentPt, bool silent, bool temp) + + public bool AttachObject(IScenePresence sp, SceneObjectGroup group, uint attachmentPt, bool silent, bool temp, bool append) { if (!Enabled) return false; - if (AttachObjectInternal(sp, group, attachmentPt, silent, temp)) + if (AttachObjectInternal(sp, group, attachmentPt, silent, temp, append)) { m_scene.EventManager.TriggerOnAttach(group.LocalId, group.FromItemID, sp.UUID); return true; @@ -283,7 +283,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments return false; } - private bool AttachObjectInternal(IScenePresence sp, SceneObjectGroup group, uint attachmentPt, bool silent, bool temp) + private bool AttachObjectInternal(IScenePresence sp, SceneObjectGroup group, uint attachmentPt, bool silent, bool temp, bool append) { lock (sp.AttachmentsSyncLock) { @@ -311,10 +311,6 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments Vector3 attachPos = group.AbsolutePosition; - // TODO: this short circuits multiple attachments functionality in LL viewer 2.1+ and should - // be removed when that functionality is implemented in opensim - attachmentPt &= 0x7f; - // If the attachment point isn't the same as the one previously used // set it's offset position = 0 so that it appears on the attachment point // and not in a weird location somewhere unknown. @@ -342,7 +338,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments group.AbsolutePosition = attachPos; if (sp.PresenceType != PresenceType.Npc) - UpdateUserInventoryWithAttachment(sp, group, attachmentPt, temp); + UpdateUserInventoryWithAttachment(sp, group, attachmentPt, temp, append); AttachToAgent(sp, group, attachmentPt, attachPos, silent); } @@ -350,21 +346,16 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments return true; } - private void UpdateUserInventoryWithAttachment(IScenePresence sp, SceneObjectGroup group, uint attachmentPt, bool temp) + private void UpdateUserInventoryWithAttachment(IScenePresence sp, SceneObjectGroup group, uint attachmentPt, bool temp, bool append) { // Remove any previous attachments List attachments = sp.GetAttachments(attachmentPt); // At the moment we can only deal with a single attachment - if (attachments.Count != 0) + if (attachments.Count != 0 && !append) { if (attachments[0].FromItemID != UUID.Zero) DetachSingleAttachmentToInvInternal(sp, attachments[0]); - // Error logging commented because UUID.Zero now means temp attachment -// else -// m_log.WarnFormat( -// "[ATTACHMENTS MODULE]: When detaching existing attachment {0} {1} at point {2} to make way for {3} {4} for {5}, couldn't find the associated item ID to adjust inventory attachment record!", -// attachments[0].Name, attachments[0].LocalId, attachmentPt, group.Name, group.LocalId, sp.Name); } // Add the new attachment to inventory if we don't already have it. @@ -374,7 +365,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments if (newAttachmentItemID == UUID.Zero) newAttachmentItemID = AddSceneObjectAsNewAttachmentInInv(sp, group).ID; - ShowAttachInUserInventory(sp, attachmentPt, newAttachmentItemID, group); + ShowAttachInUserInventory(sp, attachmentPt, newAttachmentItemID, group, append); } } @@ -387,8 +378,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments // "[ATTACHMENTS MODULE]: RezSingleAttachmentFromInventory to point {0} from item {1} for {2}", // (AttachmentPoint)AttachmentPt, itemID, sp.Name); - // TODO: this short circuits multiple attachments functionality in LL viewer 2.1+ and should - // be removed when that functionality is implemented in opensim + bool append = (AttachmentPt & 0x80) != 0; AttachmentPt &= 0x7f; // Viewer 2/3 sometimes asks to re-wear items that are already worn (and show up in it's inventory as such). @@ -417,7 +407,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments return null; } - return RezSingleAttachmentFromInventoryInternal(sp, itemID, UUID.Zero, AttachmentPt); + return RezSingleAttachmentFromInventoryInternal(sp, itemID, UUID.Zero, AttachmentPt, append); } public void RezMultipleAttachmentsFromInventory(IScenePresence sp, List> rezlist) @@ -803,8 +793,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments UpdateDetachedObject(sp, so); } - private SceneObjectGroup RezSingleAttachmentFromInventoryInternal( - IScenePresence sp, UUID itemID, UUID assetID, uint attachmentPt) + protected SceneObjectGroup RezSingleAttachmentFromInventoryInternal( + IScenePresence sp, UUID itemID, UUID assetID, uint attachmentPt, bool append) { if (m_invAccessModule == null) return null; @@ -842,7 +832,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments // This will throw if the attachment fails try { - AttachObjectInternal(sp, objatt, attachmentPt, false, false); + AttachObjectInternal(sp, objatt, attachmentPt, false, false, append); } catch (Exception e) { @@ -887,7 +877,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments /// /// /// - private void ShowAttachInUserInventory(IScenePresence sp, uint AttachmentPt, UUID itemID, SceneObjectGroup att) + private void ShowAttachInUserInventory(IScenePresence sp, uint AttachmentPt, UUID itemID, SceneObjectGroup att, bool append) { // m_log.DebugFormat( // "[USER INVENTORY]: Updating attachment {0} for {1} at {2} using item ID {3}", @@ -910,7 +900,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments if (item == null) return; - bool changed = sp.Appearance.SetAttachment((int)AttachmentPt, itemID, item.AssetID); + int attFlag = append ? 0x80 : 0; + bool changed = sp.Appearance.SetAttachment((int)AttachmentPt | attFlag, itemID, item.AssetID); if (changed && m_scene.AvatarFactory != null) { // m_log.DebugFormat( @@ -994,12 +985,19 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments return; } - // TODO: this short circuits multiple attachments functionality in LL viewer 2.1+ and should - // be removed when that functionality is implemented in opensim + bool append = (AttachmentPt & 0x80) != 0; AttachmentPt &= 0x7f; // Calls attach with a Zero position - AttachObject(sp, part.ParentGroup, AttachmentPt, false, false); + if (AttachObject(sp, part.ParentGroup, AttachmentPt, false, false, append)) + { +// m_log.Debug( +// "[ATTACHMENTS MODULE]: Saving avatar attachment. AgentID: " + remoteClient.AgentId +// + ", AttachmentPoint: " + AttachmentPt); + + // Save avatar attachment information + m_scene.EventManager.TriggerOnAttach(objectLocalID, part.ParentGroup.FromItemID, remoteClient.AgentId); + } } catch (Exception e) { diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs index 0ee01c7821..f48bb6fec1 100644 --- a/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs +++ b/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs @@ -197,7 +197,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests SceneObjectGroup so = SceneHelpers.AddSceneObject(scene, attName, sp.UUID); m_numberOfAttachEventsFired = 0; - scene.AttachmentsModule.AttachObject(sp, so, (uint)AttachmentPoint.Chest, false, false); + scene.AttachmentsModule.AttachObject(sp, so, (uint)AttachmentPoint.Chest, false, false, false); // Check status on scene presence Assert.That(sp.HasAttachments(), Is.True); @@ -254,7 +254,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests sp2.AbsolutePosition = new Vector3(0, 0, 0); sp2.HandleAgentRequestSit(sp2.ControllingClient, sp2.UUID, so.UUID, Vector3.Zero); - scene.AttachmentsModule.AttachObject(sp, so, (uint)AttachmentPoint.Chest, false, false); + scene.AttachmentsModule.AttachObject(sp, so, (uint)AttachmentPoint.Chest, false, false, false); Assert.That(sp.HasAttachments(), Is.False); Assert.That(scene.GetSceneObjectGroups().Count, Is.EqualTo(1)); @@ -663,4 +663,4 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests Assert.That(m_numberOfAttachEventsFired, Is.EqualTo(0)); } } -} \ No newline at end of file +} diff --git a/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs b/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs index 620ec22cc8..46daab3e35 100644 --- a/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs @@ -83,7 +83,7 @@ namespace OpenSim.Region.Framework.Interfaces /// /// /// true if the object was successfully attached, false otherwise - bool AttachObject(IScenePresence sp, SceneObjectGroup grp, uint AttachmentPt, bool silent, bool temp); + bool AttachObject(IScenePresence sp, SceneObjectGroup grp, uint AttachmentPt, bool silent, bool temp, bool append); /// /// Rez an attachment from user inventory and change inventory status to match. diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 14dac7a61d..3c91c5bc9f 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -2741,7 +2741,7 @@ namespace OpenSim.Region.Framework.Scenes RootPrim.RemFlag(PrimFlags.TemporaryOnRez); if (AttachmentsModule != null) - AttachmentsModule.AttachObject(sp, grp, 0, false, false); + AttachmentsModule.AttachObject(sp, grp, 0, false, false, true); } else { diff --git a/OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs b/OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs index 1e7bc02c6d..e9ddbbe958 100644 --- a/OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs @@ -183,7 +183,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments hostPart.ParentGroup.RootPart.ScheduleFullUpdate(); } - return attachmentsModule.AttachObject(target, hostPart.ParentGroup, (uint)attachmentPoint, false, true) ? 1 : 0; + return attachmentsModule.AttachObject(target, hostPart.ParentGroup, (uint)attachmentPoint, false, true, true) ? 1 : 0; } } } diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index ab087af569..cf6f13e6b2 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -2985,7 +2985,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api IAttachmentsModule attachmentsModule = m_ScriptEngine.World.AttachmentsModule; if (attachmentsModule != null) - return attachmentsModule.AttachObject(presence, grp, (uint)attachmentPoint, false, false); + return attachmentsModule.AttachObject(presence, grp, (uint)attachmentPoint, false, true, true); else return false; } @@ -11787,4 +11787,4 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } } -} \ No newline at end of file +} diff --git a/OpenSim/Services/Interfaces/IAvatarService.cs b/OpenSim/Services/Interfaces/IAvatarService.cs index 863fd93746..606e82cf62 100644 --- a/OpenSim/Services/Interfaces/IAvatarService.cs +++ b/OpenSim/Services/Interfaces/IAvatarService.cs @@ -174,11 +174,18 @@ namespace OpenSim.Services.Interfaces // Attachments List attachments = appearance.GetAttachments(); + Dictionary> atts = new Dictionary>(); foreach (AvatarAttachment attach in attachments) { if (attach.ItemID != UUID.Zero) - Data["_ap_" + attach.AttachPoint] = attach.ItemID.ToString(); + { + if (!atts.ContainsKey(attach.AttachPoint)) + atts[attach.AttachPoint] = new List(); + atts[attach.AttachPoint].Add(attach.ItemID.ToString()); + } } + foreach (KeyValuePair> kvp in atts) + Data["_ap_" + kvp.Key] = string.Join(",", kvp.Value.ToArray()); } public AvatarAppearance ToAvatarAppearance() From d07943c262adfb824e9a4a3954fc26b19073a8a6 Mon Sep 17 00:00:00 2001 From: Melanie Date: Tue, 5 Mar 2013 13:14:06 +0100 Subject: [PATCH 773/851] Multiattach, part 2 --- OpenSim/Services/Interfaces/IAvatarService.cs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/OpenSim/Services/Interfaces/IAvatarService.cs b/OpenSim/Services/Interfaces/IAvatarService.cs index 606e82cf62..6ca0b15874 100644 --- a/OpenSim/Services/Interfaces/IAvatarService.cs +++ b/OpenSim/Services/Interfaces/IAvatarService.cs @@ -311,10 +311,16 @@ namespace OpenSim.Services.Interfaces if (!Int32.TryParse(pointStr, out point)) continue; - UUID uuid = UUID.Zero; - UUID.TryParse(_kvp.Value, out uuid); + List idList = new List(_kvp.Value.Split(new char[] {','})); - appearance.SetAttachment(point, uuid, UUID.Zero); + appearance.SetAttachment(point, UUID.Zero, UUID.Zero); + foreach (string id in idList) + { + UUID uuid = UUID.Zero; + UUID.TryParse(id, out uuid); + + appearance.SetAttachment(point | 0x80, uuid, UUID.Zero); + } } if (appearance.Wearables[AvatarWearable.BODY].Count == 0) From e4a70b9f9aa9d454c9b57c85452eec7f9d0d13e9 Mon Sep 17 00:00:00 2001 From: Melanie Date: Tue, 5 Mar 2013 15:11:30 +0100 Subject: [PATCH 774/851] Limit each attachment point to 5 items as per spec --- .../Avatar/Attachments/AttachmentsModule.cs | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs index f8fc483822..ed4506cb79 100644 --- a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs @@ -348,14 +348,24 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments private void UpdateUserInventoryWithAttachment(IScenePresence sp, SceneObjectGroup group, uint attachmentPt, bool temp, bool append) { - // Remove any previous attachments List attachments = sp.GetAttachments(attachmentPt); - // At the moment we can only deal with a single attachment - if (attachments.Count != 0 && !append) + // If we already have 5, remove the oldest until only 4 are left. Skip over temp ones + while (attachments.Count >= 5) { if (attachments[0].FromItemID != UUID.Zero) DetachSingleAttachmentToInvInternal(sp, attachments[0]); + attachments.RemoveAt(0); + } + + // If we're not appending, remove the rest as well + if (attachments.Count != 0 && !append) + { + foreach (SceneObjectGroup g in attachments) + { + if (g.FromItemID != UUID.Zero) + DetachSingleAttachmentToInvInternal(sp, g); + } } // Add the new attachment to inventory if we don't already have it. From 55ab6f015a6e6891aed6b882e546709ef89a1306 Mon Sep 17 00:00:00 2001 From: Melanie Date: Mon, 18 Mar 2013 23:48:03 +0000 Subject: [PATCH 775/851] Fix tests for multiattach --- .../CoreModules/Avatar/Attachments/AttachmentsModule.cs | 6 +++--- .../Avatar/Attachments/Tests/AttachmentsModuleTests.cs | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs index 2dea14de56..d48982126c 100644 --- a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs @@ -289,7 +289,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments if (!Enabled) return false; - return AttachObjectInternal(sp, group, attachmentPt, silent, temp, append); + return AttachObjectInternal(sp, group, attachmentPt, silent, temp, true, append); } /// @@ -303,7 +303,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments /// /// If true then scripts are resumed on the attached object. private bool AttachObjectInternal( - IScenePresence sp, SceneObjectGroup group, uint attachmentPt, bool silent, bool temp, bool resumeScripts) + IScenePresence sp, SceneObjectGroup group, uint attachmentPt, bool silent, bool temp, bool resumeScripts, bool append) { if (group.GetSittingAvatarsCount() != 0) { @@ -889,7 +889,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments // This will throw if the attachment fails try { - AttachObjectInternal(sp, objatt, attachmentPt, false, false, append); + AttachObjectInternal(sp, objatt, attachmentPt, false, false, true, append); } catch (Exception e) { diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs index 0c1df6a0aa..4cd03da2c6 100644 --- a/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs +++ b/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs @@ -244,7 +244,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests SceneObjectGroup so = SceneHelpers.AddSceneObject(scene, "att1", sp.UUID); m_numberOfAttachEventsFired = 0; - scene.AttachmentsModule.AttachObject(sp, so, (uint)AttachmentPoint.Default, false, false); + scene.AttachmentsModule.AttachObject(sp, so, (uint)AttachmentPoint.Default, false, false, false); // Check status on scene presence Assert.That(sp.HasAttachments(), Is.True); @@ -277,7 +277,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests // Test wearing a different attachment from the ground. { - scene.AttachmentsModule.AttachObject(sp, so2, (uint)AttachmentPoint.Default, false, false); + scene.AttachmentsModule.AttachObject(sp, so2, (uint)AttachmentPoint.Default, false, false, false); // Check status on scene presence Assert.That(sp.HasAttachments(), Is.True); @@ -310,7 +310,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests // Test rewearing an already worn attachment from ground. Nothing should happen. { - scene.AttachmentsModule.AttachObject(sp, so2, (uint)AttachmentPoint.Default, false, false); + scene.AttachmentsModule.AttachObject(sp, so2, (uint)AttachmentPoint.Default, false, false, false); // Check status on scene presence Assert.That(sp.HasAttachments(), Is.True); From 397379cd3f0d6ca0b17015b44af319440895970d Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Tue, 19 Mar 2013 00:39:58 +0000 Subject: [PATCH 776/851] Process default attachment point in AttachObjectInternal before we check whether a worn object needs to displace an existing attachment on the same point if we are not using multi-attach. --- .../Avatar/Attachments/AttachmentsModule.cs | 54 +++++++++---------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs index d48982126c..72ba3cf4ce 100644 --- a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs @@ -314,6 +314,33 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments return false; } + Vector3 attachPos = group.AbsolutePosition; + // If the attachment point isn't the same as the one previously used + // set it's offset position = 0 so that it appears on the attachment point + // and not in a weird location somewhere unknown. + if (attachmentPt != (uint)AttachmentPoint.Default && attachmentPt != group.AttachmentPoint) + { + attachPos = Vector3.Zero; + } + + // AttachmentPt 0 means the client chose to 'wear' the attachment. + if (attachmentPt == (uint)AttachmentPoint.Default) + { + // Check object for stored attachment point + attachmentPt = group.AttachmentPoint; + } + + // if we still didn't find a suitable attachment point....... + if (attachmentPt == 0) + { + // Stick it on left hand with Zero Offset from the attachment point. + attachmentPt = (uint)AttachmentPoint.LeftHand; + attachPos = Vector3.Zero; + } + + group.AttachmentPoint = attachmentPt; + group.AbsolutePosition = attachPos; + List attachments = sp.GetAttachments(attachmentPt); if (attachments.Contains(group)) @@ -345,33 +372,6 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments lock (sp.AttachmentsSyncLock) { - Vector3 attachPos = group.AbsolutePosition; - // If the attachment point isn't the same as the one previously used - // set it's offset position = 0 so that it appears on the attachment point - // and not in a weird location somewhere unknown. - if (attachmentPt != 0 && attachmentPt != group.AttachmentPoint) - { - attachPos = Vector3.Zero; - } - - // AttachmentPt 0 means the client chose to 'wear' the attachment. - if (attachmentPt == 0) - { - // Check object for stored attachment point - attachmentPt = group.AttachmentPoint; - } - - // if we still didn't find a suitable attachment point....... - if (attachmentPt == 0) - { - // Stick it on left hand with Zero Offset from the attachment point. - attachmentPt = (uint)AttachmentPoint.LeftHand; - attachPos = Vector3.Zero; - } - - group.AttachmentPoint = attachmentPt; - group.AbsolutePosition = attachPos; - if (sp.PresenceType != PresenceType.Npc) UpdateUserInventoryWithAttachment(sp, group, attachmentPt, temp, append); From 566ab7ccf92c607fa06e38700c8094680eea704c Mon Sep 17 00:00:00 2001 From: Melanie Date: Tue, 19 Mar 2013 01:19:33 +0000 Subject: [PATCH 777/851] Fix merge artefacts --- .../CoreModules/Avatar/Attachments/AttachmentsModule.cs | 6 +++--- .../Avatar/Attachments/Tests/AttachmentsModuleTests.cs | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs index 296f198104..c94d152749 100644 --- a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs @@ -304,7 +304,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments if (!Enabled) return false; - AttachObjectInternal(sp, group, attachmentPt, silent, useAttachData, temp, append); + return AttachObjectInternal(sp, group, attachmentPt, silent, useAttachData, temp, false, append); } /// @@ -317,7 +317,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments /// /// /// If true then scripts are resumed on the attached object. - private bool AttachObjectInternal(IScenePresence sp, SceneObjectGroup group, uint attachmentPt, bool silent, bool useAttachData, bool temp, bool append) + private bool AttachObjectInternal(IScenePresence sp, SceneObjectGroup group, uint attachmentPt, bool silent, bool useAttachData, bool temp, bool resumeScripts, bool append) { // m_log.DebugFormat( // "[ATTACHMENTS MODULE]: Attaching object {0} {1} to {2} point {3} from ground (silent = {4})", @@ -917,7 +917,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments objatt.ResetOwnerChangeFlag(); } - AttachObjectInternal(sp, objatt, attachmentPt, false, true, false, append); + AttachObjectInternal(sp, objatt, attachmentPt, false, true, false, true, append); } catch (Exception e) { diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs index da4bc83255..dee8ce33d3 100644 --- a/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs +++ b/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs @@ -244,7 +244,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests SceneObjectGroup so = SceneHelpers.AddSceneObject(scene, "att1", sp.UUID); m_numberOfAttachEventsFired = 0; - scene.AttachmentsModule.AttachObject(sp, so, (uint)AttachmentPoint.Default, false, false); + scene.AttachmentsModule.AttachObject(sp, so, (uint)AttachmentPoint.Default, false, false, false, false); // Check status on scene presence Assert.That(sp.HasAttachments(), Is.True); @@ -277,7 +277,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests // Test wearing a different attachment from the ground. { - scene.AttachmentsModule.AttachObject(sp, so2, (uint)AttachmentPoint.Default, false, false); + scene.AttachmentsModule.AttachObject(sp, so2, (uint)AttachmentPoint.Default, false, false, false, false); // Check status on scene presence Assert.That(sp.HasAttachments(), Is.True); @@ -310,7 +310,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests // Test rewearing an already worn attachment from ground. Nothing should happen. { - scene.AttachmentsModule.AttachObject(sp, so2, (uint)AttachmentPoint.Default, false, false); + scene.AttachmentsModule.AttachObject(sp, so2, (uint)AttachmentPoint.Default, false, false, false, false); // Check status on scene presence Assert.That(sp.HasAttachments(), Is.True); From 8510f57ad48db5f97dacc2a9be63c64e62477d14 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sun, 17 Mar 2013 18:44:09 -0700 Subject: [PATCH 778/851] BulletSim: add terrain contact processing threshold parameter. Initialize contact processing threshold for static object as well as mesh terrain. --- .../Region/Physics/BulletSPlugin/BSParam.cs | 19 +++++++++++++++++++ .../Region/Physics/BulletSPlugin/BSPrim.cs | 2 +- .../Physics/BulletSPlugin/BSTerrainManager.cs | 1 + .../Physics/BulletSPlugin/BSTerrainMesh.cs | 2 ++ 4 files changed, 23 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs index 77bdacb458..cb0d92946a 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs @@ -39,6 +39,20 @@ public static class BSParam { private static string LogHeader = "[BULLETSIM PARAMETERS]"; + // Tuning notes: + // From: http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?t=6575 + // Contact points can be added even if the distance is positive. The constraint solver can deal with + // contacts with positive distances as well as negative (penetration). Contact points are discarded + // if the distance exceeds a certain threshold. + // Bullet has a contact processing threshold and a contact breaking threshold. + // If the distance is larger than the contact breaking threshold, it will be removed after one frame. + // If the distance is larger than the contact processing threshold, the constraint solver will ignore it. + + // This is separate/independent from the collision margin. The collision margin increases the object a bit + // to improve collision detection performance and accuracy. + // =================== + // From: + // Level of Detail values kept as float because that's what the Meshmerizer wants public static float MeshLOD { get; private set; } public static float MeshCircularLOD { get; private set; } @@ -77,6 +91,7 @@ public static class BSParam public static float TerrainFriction { get; private set; } public static float TerrainHitFraction { get; private set; } public static float TerrainRestitution { get; private set; } + public static float TerrainContactProcessingThreshold { get; private set; } public static float TerrainCollisionMargin { get; private set; } public static float DefaultFriction { get; private set; } @@ -458,6 +473,10 @@ public static class BSParam 0f, (s) => { return TerrainRestitution; }, (s,v) => { TerrainRestitution = v; /* TODO: set on real terrain */ } ), + new ParameterDefn("TerrainContactProcessingThreshold", "Distance from terrain to stop processing collisions" , + 0.0f, + (s) => { return TerrainContactProcessingThreshold; }, + (s,v) => { TerrainContactProcessingThreshold = v; /* TODO: set on real terrain */ } ), new ParameterDefn("TerrainCollisionMargin", "Margin where collision checking starts" , 0.08f, (s) => { return TerrainCollisionMargin; }, diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs index a465613b8a..2cbbe9a3fd 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs @@ -947,9 +947,9 @@ public class BSPrim : BSPhysObject ZeroMotion(true); // Set various physical properties so other object interact properly - MaterialAttributes matAttrib = BSMaterials.GetAttributes(Material, false); PhysicsScene.PE.SetFriction(PhysBody, Friction); PhysicsScene.PE.SetRestitution(PhysBody, Restitution); + PhysicsScene.PE.SetContactProcessingThreshold(PhysBody, BSParam.ContactProcessingThreshold); // Mass is zero which disables a bunch of physics stuff in Bullet UpdatePhysicalMassProperties(0f, false); diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSTerrainManager.cs b/OpenSim/Region/Physics/BulletSPlugin/BSTerrainManager.cs index e8040d856b..a60946dbbd 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSTerrainManager.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSTerrainManager.cs @@ -263,6 +263,7 @@ public sealed class BSTerrainManager : IDisposable if (MegaRegionParentPhysicsScene == null) { + // This terrain is not part of the mega-region scheme. Create vanilla terrain. BSTerrainPhys newTerrainPhys = BuildPhysicalTerrain(terrainRegionBase, id, heightMap, minCoords, maxCoords); m_terrains.Add(terrainRegionBase, newTerrainPhys); diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSTerrainMesh.cs b/OpenSim/Region/Physics/BulletSPlugin/BSTerrainMesh.cs index 57a5ff2a6f..c9a75ae915 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSTerrainMesh.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSTerrainMesh.cs @@ -112,11 +112,13 @@ public sealed class BSTerrainMesh : BSTerrainPhys // Something is very messed up and a crash is in our future. return; } + physicsScene.PE.SetShapeCollisionMargin(m_terrainShape, BSParam.TerrainCollisionMargin); // Set current terrain attributes PhysicsScene.PE.SetFriction(m_terrainBody, BSParam.TerrainFriction); PhysicsScene.PE.SetHitFraction(m_terrainBody, BSParam.TerrainHitFraction); PhysicsScene.PE.SetRestitution(m_terrainBody, BSParam.TerrainRestitution); + PhysicsScene.PE.SetContactProcessingThreshold(m_terrainBody, BSParam.TerrainContactProcessingThreshold); PhysicsScene.PE.SetCollisionFlags(m_terrainBody, CollisionFlags.CF_STATIC_OBJECT); // Static objects are not very massive. From 8360223fedc5a5521878806f40bdb0c3244241cc Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Mon, 18 Mar 2013 23:58:21 -0700 Subject: [PATCH 779/851] BulletSim: code to generate a higher resolution terrain mesh. Parameter TerrainMeshMagnification controls number of vertices generated per heightmap point. Default is 3. --- .../Physics/BulletSPlugin/BSAPIUnman.cs | 4 +- .../Physics/BulletSPlugin/BSDynamics.cs | 5 +- .../Region/Physics/BulletSPlugin/BSParam.cs | 5 + .../Physics/BulletSPlugin/BSTerrainMesh.cs | 193 ++++++++++++++++-- 4 files changed, 189 insertions(+), 18 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSAPIUnman.cs b/OpenSim/Region/Physics/BulletSPlugin/BSAPIUnman.cs index 3a27d2c605..77ea3edae2 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSAPIUnman.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSAPIUnman.cs @@ -286,7 +286,7 @@ public override void SetShapeCollisionMargin(BulletShape shape, float margin) { BulletShapeUnman shapeu = shape as BulletShapeUnman; if (shapeu != null && shapeu.HasPhysicalShape) - BSAPICPP.SetShapeCollisionMargin2(shapeu.ptr, margin); + BSAPICPP.SetShapeCollisionMargin(shapeu.ptr, margin); } public override BulletShape BuildCapsuleShape(BulletWorld world, float radius, float height, Vector3 scale) @@ -1420,7 +1420,7 @@ public static extern IntPtr BuildNativeShape2(IntPtr world, ShapeData shapeData) public static extern bool IsNativeShape2(IntPtr shape); [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] -public static extern void SetShapeCollisionMargin2(IntPtr shape, float margin); +public static extern void SetShapeCollisionMargin(IntPtr shape, float margin); [DllImport("BulletSim", CallingConvention = CallingConvention.Cdecl), SuppressUnmanagedCodeSecurity] public static extern IntPtr BuildCapsuleShape2(IntPtr world, float radius, float height, Vector3 scale); diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs index 38596fa012..5549984d65 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs @@ -1201,8 +1201,9 @@ namespace OpenSim.Region.Physics.BulletSPlugin VehicleAddForce(appliedGravity); - VDetailLog("{0}, MoveLinear,applyGravity,vehGrav={1},collid={2},appliedForce={3}", - Prim.LocalID, m_VehicleGravity, Prim.IsColliding, appliedGravity); + VDetailLog("{0}, MoveLinear,applyGravity,vehGrav={1},collid={2},fudge={3},mass={4},appliedForce={3}", + Prim.LocalID, m_VehicleGravity, + Prim.IsColliding, BSParam.VehicleGroundGravityFudge, m_vehicleMass, appliedGravity); } // ======================================================================= diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs index cb0d92946a..4d89a88778 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs @@ -88,6 +88,7 @@ public static class BSParam public static bool ShouldRemoveZeroWidthTriangles { get; private set; } public static float TerrainImplementation { get; private set; } + public static int TerrainMeshMagnification { get; private set; } public static float TerrainFriction { get; private set; } public static float TerrainHitFraction { get; private set; } public static float TerrainRestitution { get; private set; } @@ -461,6 +462,10 @@ public static class BSParam (float)BSTerrainPhys.TerrainImplementation.Mesh, (s) => { return TerrainImplementation; }, (s,v) => { TerrainImplementation = v; } ), + new ParameterDefn("TerrainMeshMagnification", "Number of times the 256x256 heightmap is multiplied to create the terrain mesh" , + 3, + (s) => { return TerrainMeshMagnification; }, + (s,v) => { TerrainMeshMagnification = v; } ), new ParameterDefn("TerrainFriction", "Factor to reduce movement against terrain surface" , 0.3f, (s) => { return TerrainFriction; }, diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSTerrainMesh.cs b/OpenSim/Region/Physics/BulletSPlugin/BSTerrainMesh.cs index c9a75ae915..a9cd8a1578 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSTerrainMesh.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSTerrainMesh.cs @@ -76,11 +76,26 @@ public sealed class BSTerrainMesh : BSTerrainPhys m_sizeX = (int)(maxCoords.X - minCoords.X); m_sizeY = (int)(maxCoords.Y - minCoords.Y); - if (!BSTerrainMesh.ConvertHeightmapToMesh(PhysicsScene, initialMap, - m_sizeX, m_sizeY, - (float)m_sizeX, (float)m_sizeY, - Vector3.Zero, 1.0f, - out indicesCount, out indices, out verticesCount, out vertices)) + bool meshCreationSuccess = false; + if (BSParam.TerrainMeshMagnification == 1) + { + // If a magnification of one, use the old routine that is tried and true. + meshCreationSuccess = BSTerrainMesh.ConvertHeightmapToMesh(PhysicsScene, + initialMap, m_sizeX, m_sizeY, // input size + Vector3.Zero, // base for mesh + out indicesCount, out indices, out verticesCount, out vertices); + } + else + { + // Other magnifications use the newer routine + meshCreationSuccess = BSTerrainMesh.ConvertHeightmapToMesh2(PhysicsScene, + initialMap, m_sizeX, m_sizeY, // input size + BSParam.TerrainMeshMagnification, + physicsScene.TerrainManager.DefaultRegionSize, + Vector3.Zero, // base for mesh + out indicesCount, out indices, out verticesCount, out vertices); + } + if (!meshCreationSuccess) { // DISASTER!! PhysicsScene.DetailLog("{0},BSTerrainMesh.create,failedConversionOfHeightmap", ID); @@ -88,6 +103,7 @@ public sealed class BSTerrainMesh : BSTerrainPhys // Something is very messed up and a crash is in our future. return; } + PhysicsScene.DetailLog("{0},BSTerrainMesh.create,meshed,indices={1},indSz={2},vertices={3},vertSz={4}", ID, indicesCount, indices.Length, verticesCount, vertices.Length); @@ -186,9 +202,7 @@ public sealed class BSTerrainMesh : BSTerrainPhys // Return 'true' if successfully created. public static bool ConvertHeightmapToMesh( BSScene physicsScene, float[] heightMap, int sizeX, int sizeY, // parameters of incoming heightmap - float extentX, float extentY, // zero based range for output vertices Vector3 extentBase, // base to be added to all vertices - float magnification, // number of vertices to create between heightMap coords out int indicesCountO, out int[] indicesO, out int verticesCountO, out float[] verticesO) { @@ -209,17 +223,15 @@ public sealed class BSTerrainMesh : BSTerrainPhys // of the heightmap. try { - // One vertice per heightmap value plus the vertices off the top and bottom edge. + // One vertice per heightmap value plus the vertices off the side and bottom edge. int totalVertices = (sizeX + 1) * (sizeY + 1); vertices = new float[totalVertices * 3]; int totalIndices = sizeX * sizeY * 6; indices = new int[totalIndices]; - float magX = (float)sizeX / extentX; - float magY = (float)sizeY / extentY; if (physicsScene != null) - physicsScene.DetailLog("{0},BSTerrainMesh.ConvertHeightMapToMesh,totVert={1},totInd={2},extentBase={3},magX={4},magY={5}", - BSScene.DetailLogZero, totalVertices, totalIndices, extentBase, magX, magY); + physicsScene.DetailLog("{0},BSTerrainMesh.ConvertHeightMapToMesh,totVert={1},totInd={2},extentBase={3}", + BSScene.DetailLogZero, totalVertices, totalIndices, extentBase); float minHeight = float.MaxValue; // Note that sizeX+1 vertices are created since there is land between this and the next region. for (int yy = 0; yy <= sizeY; yy++) @@ -232,8 +244,8 @@ public sealed class BSTerrainMesh : BSTerrainPhys if (xx == sizeX) offset -= 1; float height = heightMap[offset]; minHeight = Math.Min(minHeight, height); - vertices[verticesCount + 0] = (float)xx * magX + extentBase.X; - vertices[verticesCount + 1] = (float)yy * magY + extentBase.Y; + vertices[verticesCount + 0] = (float)xx + extentBase.X; + vertices[verticesCount + 1] = (float)yy + extentBase.Y; vertices[verticesCount + 2] = height + extentBase.Z; verticesCount += 3; } @@ -272,5 +284,158 @@ public sealed class BSTerrainMesh : BSTerrainPhys return ret; } + + private class HeightMapGetter + { + private float[] m_heightMap; + private int m_sizeX; + private int m_sizeY; + public HeightMapGetter(float[] pHeightMap, int pSizeX, int pSizeY) + { + m_heightMap = pHeightMap; + m_sizeX = pSizeX; + m_sizeY = pSizeY; + } + // The heightmap is extended as an infinite plane at the last height + public float GetHeight(int xx, int yy) + { + int offset = 0; + // Extend the height with the height from the last row or column + if (yy >= m_sizeY) + if (xx >= m_sizeX) + offset = (m_sizeY - 1) * m_sizeX + (m_sizeX - 1); + else + offset = (m_sizeY - 1) * m_sizeX + xx; + else + if (xx >= m_sizeX) + offset = yy * m_sizeX + (m_sizeX - 1); + else + offset = yy * m_sizeX + xx; + + return m_heightMap[offset]; + } + } + + // Convert the passed heightmap to mesh information suitable for CreateMeshShape2(). + // Version that handles magnification. + // Return 'true' if successfully created. + public static bool ConvertHeightmapToMesh2( BSScene physicsScene, + float[] heightMap, int sizeX, int sizeY, // parameters of incoming heightmap + int magnification, // number of vertices per heighmap step + Vector3 extent, // dimensions of the output mesh + Vector3 extentBase, // base to be added to all vertices + out int indicesCountO, out int[] indicesO, + out int verticesCountO, out float[] verticesO) + { + bool ret = false; + + int indicesCount = 0; + int verticesCount = 0; + int[] indices = new int[0]; + float[] vertices = new float[0]; + + HeightMapGetter hmap = new HeightMapGetter(heightMap, sizeX, sizeY); + + // The vertices dimension of the output mesh + int meshX = sizeX * magnification; + int meshY = sizeY * magnification; + // The output size of one mesh step + float meshXStep = extent.X / meshX; + float meshYStep = extent.Y / meshY; + + // Create an array of vertices that is meshX+1 by meshY+1 (note the loop + // from zero to <= meshX). The triangle indices are then generated as two triangles + // per heightmap point. There are meshX by meshY of these squares. The extra row and + // column of vertices are used to complete the triangles of the last row and column + // of the heightmap. + try + { + // Vertices for the output heightmap plus one on the side and bottom to complete triangles + int totalVertices = (meshX + 1) * (meshY + 1); + vertices = new float[totalVertices * 3]; + int totalIndices = meshX * meshY * 6; + indices = new int[totalIndices]; + + if (physicsScene != null) + physicsScene.DetailLog("{0},BSTerrainMesh.ConvertHeightMapToMesh2,inSize={1},outSize={2},totVert={3},totInd={4},extentBase={5}", + BSScene.DetailLogZero, new Vector2(sizeX, sizeY), new Vector2(meshX, meshY), + totalVertices, totalIndices, extentBase); + + float minHeight = float.MaxValue; + // Note that sizeX+1 vertices are created since there is land between this and the next region. + // Loop through the output vertices and compute the mediun height in between the input vertices + for (int yy = 0; yy <= meshY; yy++) + { + for (int xx = 0; xx <= meshX; xx++) // Hint: the "<=" means we go around sizeX + 1 times + { + float offsetY = (float)yy * (float)sizeY / (float)meshY; // The Y that is closest to the mesh point + int stepY = (int)offsetY; + float fractionalY = offsetY - (float)stepY; + float offsetX = (float)xx * (float)sizeX / (float)meshX; // The X that is closest to the mesh point + int stepX = (int)offsetX; + float fractionalX = offsetX - (float)stepX; + + // physicsScene.DetailLog("{0},BSTerrainMesh.ConvertHeightMapToMesh2,xx={1},yy={2},offX={3},stepX={4},fractX={5},offY={6},stepY={7},fractY={8}", + // BSScene.DetailLogZero, xx, yy, offsetX, stepX, fractionalX, offsetY, stepY, fractionalY); + + // get the four corners of the heightmap square the mesh point is in + float heightUL = hmap.GetHeight(stepX , stepY ); + float heightUR = hmap.GetHeight(stepX + 1, stepY ); + float heightLL = hmap.GetHeight(stepX , stepY + 1); + float heightLR = hmap.GetHeight(stepX + 1, stepY + 1); + + // bilinear interplolation + float height = heightUL * (1 - fractionalX) * (1 - fractionalY) + + heightUR * fractionalX * (1 - fractionalY) + + heightLL * (1 - fractionalX) * fractionalY + + heightLR * fractionalX * fractionalY; + + // physicsScene.DetailLog("{0},BSTerrainMesh.ConvertHeightMapToMesh2,heightUL={1},heightUR={2},heightLL={3},heightLR={4},heightMap={5}", + // BSScene.DetailLogZero, heightUL, heightUR, heightLL, heightLR, height); + + minHeight = Math.Min(minHeight, height); + + vertices[verticesCount + 0] = (float)xx * meshXStep + extentBase.X; + vertices[verticesCount + 1] = (float)yy * meshYStep + extentBase.Y; + vertices[verticesCount + 2] = height + extentBase.Z; + verticesCount += 3; + } + } + // The number of vertices generated + verticesCount /= 3; + + // Loop through all the heightmap squares and create indices for the two triangles for that square + for (int yy = 0; yy < meshY; yy++) + { + for (int xx = 0; xx < meshX; xx++) + { + int offset = yy * (meshX + 1) + xx; + // Each vertices is presumed to be the upper left corner of a box of two triangles + indices[indicesCount + 0] = offset; + indices[indicesCount + 1] = offset + 1; + indices[indicesCount + 2] = offset + meshX + 1; // accounting for the extra column + indices[indicesCount + 3] = offset + 1; + indices[indicesCount + 4] = offset + meshX + 2; + indices[indicesCount + 5] = offset + meshX + 1; + indicesCount += 6; + } + } + + ret = true; + } + catch (Exception e) + { + if (physicsScene != null) + physicsScene.Logger.ErrorFormat("{0} Failed conversion of heightmap to mesh. For={1}/{2}, e={3}", + LogHeader, physicsScene.RegionName, extentBase, e); + } + + indicesCountO = indicesCount; + indicesO = indices; + verticesCountO = verticesCount; + verticesO = vertices; + + return ret; + } } } From 1dd2d432f1b0221c6180f1367badbcc3d29c478d Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Tue, 19 Mar 2013 11:40:10 -0700 Subject: [PATCH 780/851] For those people collecting and comparing logfiles from servers scattered around the world, change LogWriter to use DateTime.UtcNow rather than DateTime.Now. --- .../CoreModules/Framework/Statistics/Logging/LogWriter.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/CoreModules/Framework/Statistics/Logging/LogWriter.cs b/OpenSim/Region/CoreModules/Framework/Statistics/Logging/LogWriter.cs index 3c8e0efa05..2fe90265c3 100755 --- a/OpenSim/Region/CoreModules/Framework/Statistics/Logging/LogWriter.cs +++ b/OpenSim/Region/CoreModules/Framework/Statistics/Logging/LogWriter.cs @@ -136,7 +136,7 @@ namespace OpenSim.Region.CoreModules.Framework.Statistics.Logging { lock (m_logFileWriteLock) { - DateTime now = DateTime.Now; + DateTime now = DateTime.UtcNow; if (m_logFile == null || now > m_logFileEndTime) { if (m_logFile != null) From c2e4f8aed5dee4a35679d646326537a15153f19d Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Tue, 19 Mar 2013 12:37:44 -0700 Subject: [PATCH 781/851] For the moment, disable the output of the 'scene' statistics in SimExtraStatsCollector and thus for the command 'show stats' because it is ugly and most of the information is already output in the formatted printout that appears before. --- OpenSim/Framework/Monitoring/SimExtraStatsCollector.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/OpenSim/Framework/Monitoring/SimExtraStatsCollector.cs b/OpenSim/Framework/Monitoring/SimExtraStatsCollector.cs index 109a58f741..6a68322531 100644 --- a/OpenSim/Framework/Monitoring/SimExtraStatsCollector.cs +++ b/OpenSim/Framework/Monitoring/SimExtraStatsCollector.cs @@ -359,8 +359,9 @@ Asset service request failures: {3}" + Environment.NewLine, inPacketsPerSecond, outPacketsPerSecond, pendingDownloads, pendingUploads, unackedBytes, totalFrameTime, netFrameTime, physicsFrameTime, otherFrameTime, agentFrameTime, imageFrameTime)); + /* 20130319 RA: For the moment, disable the dump of 'scene' catagory as they are mostly output by + * the two formatted printouts above. SortedDictionary> sceneStats; - if (StatsManager.TryGetStats("scene", out sceneStats)) { foreach (KeyValuePair> kvp in sceneStats) @@ -374,6 +375,7 @@ Asset service request failures: {3}" + Environment.NewLine, } } } + */ /* sb.Append(Environment.NewLine); From 364816421985c052521cf7b444e124760c0a1025 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Tue, 19 Mar 2013 21:44:18 +0000 Subject: [PATCH 782/851] Prevent multiple instances of the same item ID being appended to an AvatarAppearance It looks like this was happening when AttachmentsModule.RezAttachments was doing a secondary set of each attachment to update with the asset ID (initially they only have the inventory ID). However, with multi-attach this was appending a second copy of the same attachment rather than updating the data that was already there. This commit requires both simulator and service to be updated. --- OpenSim/Framework/AvatarAppearance.cs | 78 ++++++++++++------- .../Avatar/Attachments/AttachmentsModule.cs | 4 +- .../AvatarFactory/AvatarFactoryModule.cs | 12 ++- 3 files changed, 60 insertions(+), 34 deletions(-) diff --git a/OpenSim/Framework/AvatarAppearance.cs b/OpenSim/Framework/AvatarAppearance.cs index 95e9667f6b..494ae5e7a6 100644 --- a/OpenSim/Framework/AvatarAppearance.cs +++ b/OpenSim/Framework/AvatarAppearance.cs @@ -459,45 +459,59 @@ namespace OpenSim.Framework if (attachpoint == 0) return false; - if (item == UUID.Zero) + lock (m_attachments) { - lock (m_attachments) + if (item == UUID.Zero) { if (m_attachments.ContainsKey(attachpoint)) { m_attachments.Remove(attachpoint); return true; } + + return false; + } + + // When a user logs in, the attachment item ids are pulled from persistence in the Avatars table. However, + // the asset ids are not saved. When the avatar enters a simulator the attachments are set again. If + // we simply perform an item check here then the asset ids (which are now present) are never set, and NPC attachments + // later fail unless the attachment is detached and reattached. + // + // Therefore, we will carry on with the set if the existing attachment has no asset id. + AvatarAttachment existingAttachment = GetAttachmentForItem(item); + if (existingAttachment != null) + { +// m_log.DebugFormat( +// "[AVATAR APPEARANCE]: Found existing attachment for {0}, asset {1} at point {2}", +// existingAttachment.ItemID, existingAttachment.AssetID, existingAttachment.AttachPoint); + + if (existingAttachment.AssetID != UUID.Zero && existingAttachment.AttachPoint == (attachpoint & 0x7F)) + { + m_log.DebugFormat( + "[AVATAR APPEARANCE]: Ignoring attempt to attach an already attached item {0} at point {1}", + item, attachpoint); + + return false; + } + else + { + // Remove it here so that the later append does not add a second attachment but we still update + // the assetID + DetachAttachment(existingAttachment.ItemID); + } } - return false; - } - - // When a user logs in, the attachment item ids are pulled from persistence in the Avatars table. However, - // the asset ids are not saved. When the avatar enters a simulator the attachments are set again. If - // we simply perform an item check here then the asset ids (which are now present) are never set, and NPC attachments - // later fail unless the attachment is detached and reattached. - // - // Therefore, we will carry on with the set if the existing attachment has no asset id. - AvatarAttachment existingAttachment = GetAttachmentForItem(item); - if (existingAttachment != null - && existingAttachment.AssetID != UUID.Zero - && existingAttachment.AttachPoint == (attachpoint & 0x7F)) - { - // m_log.DebugFormat("[AVATAR APPEARANCE] attempt to attach an already attached item {0}",item); - return false; - } - - // check if this is an append or a replace, 0x80 marks it as an append - if ((attachpoint & 0x80) > 0) - { - // strip the append bit - int point = attachpoint & 0x7F; - AppendAttachment(new AvatarAttachment(point, item, asset)); - } - else - { - ReplaceAttachment(new AvatarAttachment(attachpoint,item, asset)); + // check if this is an append or a replace, 0x80 marks it as an append + if ((attachpoint & 0x80) > 0) + { + // strip the append bit + int point = attachpoint & 0x7F; + AppendAttachment(new AvatarAttachment(point, item, asset)); + } + else + { + ReplaceAttachment(new AvatarAttachment(attachpoint,item, asset)); + } } return true; @@ -547,6 +561,10 @@ namespace OpenSim.Framework int index = kvp.Value.FindIndex(delegate(AvatarAttachment a) { return a.ItemID == itemID; }); if (index >= 0) { +// m_log.DebugFormat( +// "[AVATAR APPEARANCE]: Detaching attachment {0}, index {1}, point {2}", +// m_attachments[kvp.Key][index].ItemID, index, m_attachments[kvp.Key][index].AttachPoint); + // Remove it from the list of attachments at that attach point m_attachments[kvp.Key].RemoveAt(index); diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs index 72ba3cf4ce..ad17aa9ab8 100644 --- a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs @@ -547,8 +547,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments } // m_log.DebugFormat( -// "[ATTACHMENTS MODULE]: Detaching object {0} {1} for {2} in {3}", -// so.Name, so.LocalId, sp.Name, m_scene.Name); +// "[ATTACHMENTS MODULE]: Detaching object {0} {1} (FromItemID {2}) for {3} in {4}", +// so.Name, so.LocalId, so.FromItemID, sp.Name, m_scene.Name); // Scripts MUST be snapshotted before the object is // removed from the scene because doing otherwise will diff --git a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs index 00d1fd887c..ff5bf9f99c 100644 --- a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs @@ -326,7 +326,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory public void QueueAppearanceSave(UUID agentid) { - // m_log.WarnFormat("[AVFACTORY]: Queue appearance save for {0}", agentid); +// m_log.DebugFormat("[AVFACTORY]: Queueing appearance save for {0}", agentid); // 10000 ticks per millisecond, 1000 milliseconds per second long timestamp = DateTime.Now.Ticks + Convert.ToInt64(m_savetime * 1000 * 10000); @@ -529,7 +529,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory return; } - // m_log.WarnFormat("[AVFACTORY] avatar {0} save appearance",agentid); +// m_log.DebugFormat("[AVFACTORY]: Saving appearance for avatar {0}", agentid); // This could take awhile since it needs to pull inventory // We need to do it at the point of save so that there is a sufficient delay for any upload of new body part/shape @@ -538,6 +538,14 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory // multiple save requests. SetAppearanceAssets(sp.UUID, sp.Appearance); +// List attachments = sp.Appearance.GetAttachments(); +// foreach (AvatarAttachment att in attachments) +// { +// m_log.DebugFormat( +// "[AVFACTORY]: For {0} saving attachment {1} at point {2}", +// sp.Name, att.ItemID, att.AttachPoint); +// } + m_scene.AvatarService.SetAppearance(agentid, sp.Appearance); // Trigger this here because it's the final step in the set/queue/save process for appearance setting. From 90b9121e66934795ab2d59f149e9e65eadc09e75 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Tue, 19 Mar 2013 17:15:24 -0700 Subject: [PATCH 783/851] BulletSim: change 'degenerate mesh' message from Error to Debug because there seem to be lots of sculpties with this problem while the condition really doesn't change region operation. --- OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs b/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs index 219372be65..b16bc10b9c 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs @@ -685,7 +685,7 @@ public sealed class BSShapeCollection : IDisposable } else { - PhysicsScene.Logger.ErrorFormat("{0} All mesh triangles degenerate. Prim {1} at {2} in {3}", + PhysicsScene.Logger.DebugFormat("{0} All mesh triangles degenerate. Prim {1} at {2} in {3}", LogHeader, prim.PhysObjectName, prim.RawPosition, PhysicsScene.Name); } } From 3cb1c23554439dc1f9ea2911a27d16de986e2ffd Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 20 Mar 2013 01:46:50 +0000 Subject: [PATCH 784/851] Force a viewer object update for attachments at the end of the final Scene.CompleteMovement() in order to make all multi-attachments appear on the destination region. For some reason, sending updates before this will not have this effect. This may be something related to some viewers (e.g. LL 3.3.4) or something OpenSimulator isn't getting quite right. --- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 82bb759bae..6d96c936a5 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -1326,6 +1326,15 @@ namespace OpenSim.Region.Framework.Scenes friendsModule.SendFriendsOnlineIfNeeded(ControllingClient); } + // XXX: If we force an update here, then multiple attachments do appear correctly on a destination region + // If we do it a little bit earlier (e.g. when converting the child to a root agent) then this does not work. + // This may be due to viewer code or it may be something we're not doing properly simulator side. + lock (m_attachments) + { + foreach (SceneObjectGroup sog in m_attachments) + sog.ScheduleGroupForFullUpdate(); + } + // m_log.DebugFormat( // "[SCENE PRESENCE]: Completing movement of {0} into region {1} took {2}ms", // client.Name, Scene.RegionInfo.RegionName, (DateTime.Now - startTime).Milliseconds); From c0ff5635ba696d1701a6ce0356f247c69a7a52b9 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 20 Mar 2013 02:00:56 +0000 Subject: [PATCH 785/851] Fix "show attachments" command probably broken in commit addab12 (Wed Jan 2 21:38:00 2013) This break was not connected with the recent attachment code changes. --- .../Attachments/AttachmentsCommandModule.cs | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Avatar/Attachments/AttachmentsCommandModule.cs b/OpenSim/Region/OptionalModules/Avatar/Attachments/AttachmentsCommandModule.cs index d97e3b3cb8..0333747fff 100644 --- a/OpenSim/Region/OptionalModules/Avatar/Attachments/AttachmentsCommandModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/Attachments/AttachmentsCommandModule.cs @@ -176,16 +176,13 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments // " {0,-36} {1,-10} {2,-36} {3,-14} {4,-15}\n", // attachmentObject.Name, attachmentObject.LocalId, attachmentObject.FromItemID, // (AttachmentPoint)attachmentObject.AttachmentPoint, attachmentObject.RootPart.AttachedPos); - ct.Rows.Add( - new ConsoleDisplayTableRow( - new List() - { - attachmentObject.Name, - attachmentObject.LocalId.ToString(), - attachmentObject.FromItemID.ToString(), - ((AttachmentPoint)attachmentObject.AttachmentPoint).ToString(), - attachmentObject.RootPart.AttachedPos.ToString() - })); + + ct.AddRow( + attachmentObject.Name, + attachmentObject.LocalId, + attachmentObject.FromItemID, + ((AttachmentPoint)attachmentObject.AttachmentPoint), + attachmentObject.RootPart.AttachedPos); // } } From 8de933ab07a0f9e8291d705a9a03d5b1ba60caa9 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 20 Mar 2013 02:09:25 +0000 Subject: [PATCH 786/851] Insert a short delay on the simulator side rezzing of attachments in order to fix viewer 3 issues if its own rezzing actions on login collide with the simulator side actions. This resolves issues (at least in my tests with LL 3.3.4) where this can make attachments invisible until one zooms in on the avatar. This doesn't affect version 1 viewers since this delay is shorter than the login delay. This doesn't increase the login time since this part of the process was already being performed asynchronously. This may be a temporary solution. --- OpenSim/Region/Framework/Scenes/Scene.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 3c91c5bc9f..89eca32dd3 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -2832,7 +2832,7 @@ namespace OpenSim.Region.Framework.Scenes sp.IsChildAgent = false; if (AttachmentsModule != null) - Util.FireAndForget(delegate(object o) { AttachmentsModule.RezAttachments(sp); }); + Util.FireAndForget(o => { Thread.Sleep(5000); AttachmentsModule.RezAttachments(sp); }); } } else From 36651bed71ce1011c376078943a4fef7e8a9ada6 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 20 Mar 2013 23:01:16 +0000 Subject: [PATCH 787/851] On the later forms of teleport failure, tell the user if this was because viewer couldn't/didn't connect with destination or if destination didn't signal teleport completion. Also adds regression test for the case where the viewer couldn't connect with the destination region. Also refactoring of regression test support code associated with entity transfer in order to make this test possible and the code less obscure. --- .../Tests/AttachmentsModuleTests.cs | 10 +- .../EntityTransfer/EntityTransferModule.cs | 36 +++-- .../Tests/ScenePresenceCrossingTests.cs | 9 +- .../Tests/ScenePresenceTeleportTests.cs | 135 +++++++++++++++--- OpenSim/Tests/Common/Helpers/SceneHelpers.cs | 37 ++++- OpenSim/Tests/Common/Mock/TestClient.cs | 29 +--- 6 files changed, 185 insertions(+), 71 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs index 4cd03da2c6..c8c594d99d 100644 --- a/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs +++ b/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs @@ -829,7 +829,13 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests sceneB, config, new CapabilitiesModule(), etmB, attModB, new BasicInventoryAccessModule()); UserAccount ua1 = UserAccountHelpers.CreateUserWithInventory(sceneA, 0x1); - ScenePresence beforeTeleportSp = SceneHelpers.AddScenePresence(sceneA, ua1.PrincipalID, sh.SceneManager); + + AgentCircuitData acd = SceneHelpers.GenerateAgentData(ua1.PrincipalID); + TestClient tc = new TestClient(acd, sceneA, sh.SceneManager); + List destinationTestClients = new List(); + EntityTransferHelpers.SetUpInformClientOfNeighbour(tc, destinationTestClients); + + ScenePresence beforeTeleportSp = SceneHelpers.AddScenePresence(sceneA, tc, acd, sh.SceneManager); beforeTeleportSp.AbsolutePosition = new Vector3(30, 31, 32); InventoryItemBase attItem = CreateAttachmentItem(sceneA, ua1.PrincipalID, "att", 0x10, 0x20); @@ -848,7 +854,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests teleportLookAt, (uint)TeleportFlags.ViaLocation); - ((TestClient)beforeTeleportSp.ControllingClient).CompleteTeleportClientSide(); + destinationTestClients[0].CompleteMovement(); // Check attachments have made it into sceneB ScenePresence afterTeleportSceneBSp = sceneB.GetScenePresence(ua1.PrincipalID); diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 9b1b69aaa4..58a6654c6e 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs @@ -517,12 +517,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer "[ENTITY TRANSFER MODULE]: Failed validation of all attachments for teleport of {0} from {1} to {2}. Continuing.", sp.Name, sp.Scene.RegionInfo.RegionName, finalDestination.RegionName); -// if (!sp.ValidateAttachments()) -// { -// sp.ControllingClient.SendTeleportFailed("Inconsistent attachment state"); -// return; -// } - string reason; string version; if (!Scene.SimulationService.QueryAccess( @@ -583,6 +577,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer } // Let's create an agent there if one doesn't exist yet. + // NOTE: logout will always be false for a non-HG teleport. bool logout = false; if (!CreateAgent(sp, reg, finalDestination, agentCircuit, teleportFlags, out reason, out logout)) { @@ -625,11 +620,13 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer if (m_eqModule != null) { + // The EnableSimulator message makes the client establish a connection with the destination + // simulator by sending the initial UseCircuitCode UDP packet to the destination containing the + // correct circuit code. m_eqModule.EnableSimulator(destinationHandle, endPoint, sp.UUID); - // ES makes the client send a UseCircuitCode message to the destination, - // which triggers a bunch of things there. - // So let's wait + // XXX: Is this wait necessary? We will always end up waiting on UpdateAgent for the destination + // simulator to confirm that it has established communication with the viewer. Thread.Sleep(200); // At least on LL 3.3.4 for teleports between different regions on the same simulator this appears @@ -640,6 +637,9 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer } else { + // XXX: This is a little misleading since we're information the client of its avatar destination, + // which may or may not be a neighbour region of the source region. This path is probably little + // used anyway (with EQ being the one used). But it is currently being used for test code. sp.ControllingClient.InformClientOfNeighbour(destinationHandle, endPoint); } } @@ -657,14 +657,17 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer //sp.ControllingClient.SendTeleportProgress(teleportFlags, "Updating agent..."); + // A common teleport failure occurs when we can send CreateAgent to the + // destination region but the viewer cannot establish the connection (e.g. due to network issues between + // the viewer and the destination). In this case, UpdateAgent timesout after 10 seconds, although then + // there's a further 10 second wait whilst we attempt to tell the destination to delete the agent in Fail(). if (!UpdateAgent(reg, finalDestination, agent, sp)) { - // Region doesn't take it m_log.WarnFormat( - "[ENTITY TRANSFER MODULE]: UpdateAgent failed on teleport of {0} to {1} from {2}. Returning avatar to source region.", + "[ENTITY TRANSFER MODULE]: UpdateAgent failed on teleport of {0} to {1} from {2}. Keeping avatar in source region.", sp.Name, finalDestination.RegionName, sp.Scene.RegionInfo.RegionName); - Fail(sp, finalDestination, logout); + Fail(sp, finalDestination, logout, "Connection between viewer and destination region could not be established."); return; } @@ -705,7 +708,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer "[ENTITY TRANSFER MODULE]: Teleport of {0} to {1} from {2} failed due to no callback from destination region. Returning avatar to source region.", sp.Name, finalDestination.RegionName, sp.Scene.RegionInfo.RegionName); - Fail(sp, finalDestination, logout); + Fail(sp, finalDestination, logout, "Destination region did not signal teleport completion."); return; } @@ -788,12 +791,15 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer /// /// /// - protected virtual void Fail(ScenePresence sp, GridRegion finalDestination, bool logout) + /// Human readable reason for teleport failure. Will be sent to client. + protected virtual void Fail(ScenePresence sp, GridRegion finalDestination, bool logout, string reason) { CleanupAbortedInterRegionTeleport(sp, finalDestination); sp.ControllingClient.SendTeleportFailed( - string.Format("Problems connecting to destination {0}", finalDestination.RegionName)); + string.Format( + "Problems connecting to destination {0}, reason: {1}", finalDestination.RegionName, reason)); + sp.Scene.EventManager.TriggerTeleportFail(sp.ControllingClient, logout); } diff --git a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCrossingTests.cs b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCrossingTests.cs index 81a2fcc74d..b67b8b96e1 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCrossingTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCrossingTests.cs @@ -66,7 +66,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests public void TestCrossOnSameSimulator() { TestHelpers.InMethod(); -// TestHelpers.EnableLogging(); + TestHelpers.EnableLogging(); UUID userId = TestHelpers.ParseTail(0x1); @@ -94,7 +94,12 @@ namespace OpenSim.Region.Framework.Scenes.Tests // SceneHelpers.SetupSceneModules(sceneA, config, new CapabilitiesModule(), etmA, eqmA); SceneHelpers.SetupSceneModules(sceneB, config, new CapabilitiesModule(), etmB); - ScenePresence originalSp = SceneHelpers.AddScenePresence(sceneA, userId, sh.SceneManager); + AgentCircuitData acd = SceneHelpers.GenerateAgentData(userId); + TestClient tc = new TestClient(acd, sceneA, sh.SceneManager); + List destinationTestClients = new List(); + EntityTransferHelpers.SetUpInformClientOfNeighbour(tc, destinationTestClients); + + ScenePresence originalSp = SceneHelpers.AddScenePresence(sceneA, tc, acd, sh.SceneManager); originalSp.AbsolutePosition = new Vector3(128, 32, 10); // originalSp.Flying = true; diff --git a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceTeleportTests.cs b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceTeleportTests.cs index 8dd1f3d5c3..d6bc3130a3 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceTeleportTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceTeleportTests.cs @@ -26,7 +26,10 @@ */ using System; -using System.Reflection; +using System.Collections.Generic; +using System.IO; +using System.Net; +using System.Text; using Nini.Config; using NUnit.Framework; using OpenMetaverse; @@ -40,8 +43,6 @@ using OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation; using OpenSim.Region.CoreModules.World.Permissions; using OpenSim.Tests.Common; using OpenSim.Tests.Common.Mock; -using System.IO; -using System.Text; namespace OpenSim.Region.Framework.Scenes.Tests { @@ -68,7 +69,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests } [Test] - public void TestSameRegionTeleport() + public void TestSameRegion() { TestHelpers.InMethod(); // log4net.Config.XmlConfigurator.Configure(); @@ -106,10 +107,10 @@ namespace OpenSim.Region.Framework.Scenes.Tests } [Test] - public void TestSameSimulatorSeparatedRegionsTeleport() + public void TestSameSimulatorSeparatedRegions() { TestHelpers.InMethod(); -// log4net.Config.XmlConfigurator.Configure(); +// TestHelpers.EnableLogging(); UUID userId = TestHelpers.ParseTail(0x1); @@ -141,9 +142,8 @@ namespace OpenSim.Region.Framework.Scenes.Tests ScenePresence sp = SceneHelpers.AddScenePresence(sceneA, userId, sh.SceneManager); sp.AbsolutePosition = new Vector3(30, 31, 32); - // XXX: A very nasty hack to tell the client about the destination scene without having to crank the whole - // UDP stack (?) -// ((TestClient)sp.ControllingClient).TeleportTargetScene = sceneB; + List destinationTestClients = new List(); + EntityTransferHelpers.SetUpInformClientOfNeighbour((TestClient)sp.ControllingClient, destinationTestClients); sceneA.RequestTeleportLocation( sp.ControllingClient, @@ -152,7 +152,10 @@ namespace OpenSim.Region.Framework.Scenes.Tests teleportLookAt, (uint)TeleportFlags.ViaLocation); - ((TestClient)sp.ControllingClient).CompleteTeleportClientSide(); + // SetupInformClientOfNeighbour() will have handled the callback into the target scene to setup the child + // agent. This call will now complete the movement of the user into the destination and upgrade the agent + // from child to root. + destinationTestClients[0].CompleteMovement(); Assert.That(sceneA.GetScenePresence(userId), Is.Null); @@ -177,7 +180,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests /// Test teleport procedures when the target simulator returns false when queried about access. /// [Test] - public void TestSameSimulatorSeparatedRegionsQueryAccessFails() + public void TestSameSimulatorSeparatedRegions_DeniedOnQueryAccess() { TestHelpers.InMethod(); // TestHelpers.EnableLogging(); @@ -261,7 +264,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests /// Test teleport procedures when the target simulator create agent step is refused. /// [Test] - public void TestSameSimulatorSeparatedRegionsCreateAgentFails() + public void TestSameSimulatorSeparatedRegions_DeniedOnCreateAgent() { TestHelpers.InMethod(); // TestHelpers.EnableLogging(); @@ -333,12 +336,100 @@ namespace OpenSim.Region.Framework.Scenes.Tests // TestHelpers.DisableLogging(); } + /// + /// Test teleport when the destination region does not process (or does not receive) the connection attempt + /// from the viewer. + /// + /// + /// This could be quite a common case where the source region can connect to a remove destination region + /// (for CreateAgent) but the viewer cannot reach the destination region due to network issues. + /// [Test] - public void TestSameSimulatorNeighbouringRegionsTeleport() + public void TestSameSimulatorSeparatedRegions_DestinationDidNotProcessViewerConnection() { TestHelpers.InMethod(); // TestHelpers.EnableLogging(); + UUID userId = TestHelpers.ParseTail(0x1); + Vector3 preTeleportPosition = new Vector3(30, 31, 32); + + EntityTransferModule etmA = new EntityTransferModule(); + EntityTransferModule etmB = new EntityTransferModule(); + + LocalSimulationConnectorModule lscm = new LocalSimulationConnectorModule(); + + IConfigSource config = new IniConfigSource(); + config.AddConfig("Modules"); + config.Configs["Modules"].Set("EntityTransferModule", etmA.Name); + config.Configs["Modules"].Set("SimulationServices", lscm.Name); + + config.AddConfig("EntityTransfer"); + + // In order to run a single threaded regression test we do not want the entity transfer module waiting + // for a callback from the destination scene before removing its avatar data. + config.Configs["EntityTransfer"].Set("wait_for_callback", false); + +// config.AddConfig("Startup"); +// config.Configs["Startup"].Set("serverside_object_permissions", true); + + SceneHelpers sh = new SceneHelpers(); + TestScene sceneA = sh.SetupScene("sceneA", TestHelpers.ParseTail(0x100), 1000, 1000); + TestScene sceneB = sh.SetupScene("sceneB", TestHelpers.ParseTail(0x200), 1002, 1000); + + SceneHelpers.SetupSceneModules(sceneA, config, etmA ); + + // We need to set up the permisions module on scene B so that our later use of agent limit to deny + // QueryAccess won't succeed anyway because administrators are always allowed in and the default + // IsAdministrator if no permissions module is present is true. + SceneHelpers.SetupSceneModules(sceneB, config, new object[] { new PermissionsModule(), etmB }); + + // Shared scene modules + SceneHelpers.SetupSceneModules(new Scene[] { sceneA, sceneB }, config, lscm); + + Vector3 teleportPosition = new Vector3(10, 11, 12); + Vector3 teleportLookAt = new Vector3(20, 21, 22); + + ScenePresence sp = SceneHelpers.AddScenePresence(sceneA, userId, sh.SceneManager); + sp.AbsolutePosition = preTeleportPosition; + + sceneA.RequestTeleportLocation( + sp.ControllingClient, + sceneB.RegionInfo.RegionHandle, + teleportPosition, + teleportLookAt, + (uint)TeleportFlags.ViaLocation); + + // FIXME: Not setting up InformClientOfNeighbour on the TestClient means that it does not initiate + // communication with the destination region. But this is a very non-obvious way of doing it - really we + // should be forced to expicitly set this up. + + Assert.That(sceneB.GetScenePresence(userId), Is.Null); + + ScenePresence sceneASp = sceneA.GetScenePresence(userId); + Assert.That(sceneASp, Is.Not.Null); + Assert.That(sceneASp.Scene.RegionInfo.RegionName, Is.EqualTo(sceneA.RegionInfo.RegionName)); + Assert.That(sceneASp.AbsolutePosition, Is.EqualTo(preTeleportPosition)); + + Assert.That(sceneA.GetRootAgentCount(), Is.EqualTo(1)); + Assert.That(sceneA.GetChildAgentCount(), Is.EqualTo(0)); + Assert.That(sceneB.GetRootAgentCount(), Is.EqualTo(0)); + Assert.That(sceneB.GetChildAgentCount(), Is.EqualTo(0)); + + // TODO: Add assertions to check correct circuit details in both scenes. + + // Lookat is sent to the client only - sp.Lookat does not yield the same thing (calculation from camera + // position instead). +// Assert.That(sp.Lookat, Is.EqualTo(teleportLookAt)); + +// TestHelpers.DisableLogging(); + } + + [Test] + public void TestSameSimulatorNeighbouringRegions() + { + TestHelpers.InMethod(); + TestHelpers.EnableLogging(); + UUID userId = TestHelpers.ParseTail(0x1); EntityTransferModule etmA = new EntityTransferModule(); @@ -366,10 +457,14 @@ namespace OpenSim.Region.Framework.Scenes.Tests Vector3 teleportPosition = new Vector3(10, 11, 12); Vector3 teleportLookAt = new Vector3(20, 21, 22); - ScenePresence originalSp = SceneHelpers.AddScenePresence(sceneA, userId, sh.SceneManager); - originalSp.AbsolutePosition = new Vector3(30, 31, 32); + AgentCircuitData acd = SceneHelpers.GenerateAgentData(userId); + TestClient tc = new TestClient(acd, sceneA, sh.SceneManager); + List destinationTestClients = new List(); + EntityTransferHelpers.SetUpInformClientOfNeighbour(tc, destinationTestClients); + + ScenePresence beforeSceneASp = SceneHelpers.AddScenePresence(sceneA, tc, acd, sh.SceneManager); + beforeSceneASp.AbsolutePosition = new Vector3(30, 31, 32); - ScenePresence beforeSceneASp = sceneA.GetScenePresence(userId); Assert.That(beforeSceneASp, Is.Not.Null); Assert.That(beforeSceneASp.IsChildAgent, Is.False); @@ -377,10 +472,8 @@ namespace OpenSim.Region.Framework.Scenes.Tests Assert.That(beforeSceneBSp, Is.Not.Null); Assert.That(beforeSceneBSp.IsChildAgent, Is.True); - // XXX: A very nasty hack to tell the client about the destination scene without having to crank the whole - // UDP stack (?) -// ((TestClient)beforeSceneASp.ControllingClient).TeleportTargetScene = sceneB; - + // In this case, we will not receieve a second InformClientOfNeighbour since the viewer already knows + // about the neighbour region it is teleporting to. sceneA.RequestTeleportLocation( beforeSceneASp.ControllingClient, sceneB.RegionInfo.RegionHandle, @@ -388,7 +481,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests teleportLookAt, (uint)TeleportFlags.ViaLocation); - ((TestClient)beforeSceneASp.ControllingClient).CompleteTeleportClientSide(); + destinationTestClients[0].CompleteMovement(); ScenePresence afterSceneASp = sceneA.GetScenePresence(userId); Assert.That(afterSceneASp, Is.Not.Null); diff --git a/OpenSim/Tests/Common/Helpers/SceneHelpers.cs b/OpenSim/Tests/Common/Helpers/SceneHelpers.cs index dc20f13555..bdd90939e7 100644 --- a/OpenSim/Tests/Common/Helpers/SceneHelpers.cs +++ b/OpenSim/Tests/Common/Helpers/SceneHelpers.cs @@ -531,6 +531,31 @@ namespace OpenSim.Tests.Common /// /// public static ScenePresence AddScenePresence(Scene scene, AgentCircuitData agentData, SceneManager sceneManager) + { + return AddScenePresence(scene, new TestClient(agentData, scene, sceneManager), agentData, sceneManager); + } + + /// + /// Add a root agent. + /// + /// + /// This function + /// + /// 1) Tells the scene that an agent is coming. Normally, the login service (local if standalone, from the + /// userserver if grid) would give initial login data back to the client and separately tell the scene that the + /// agent was coming. + /// + /// 2) Connects the agent with the scene + /// + /// This function performs actions equivalent with notifying the scene that an agent is + /// coming and then actually connecting the agent to the scene. The one step missed out is the very first + /// + /// + /// + /// + /// + public static ScenePresence AddScenePresence( + Scene scene, IClientAPI client, AgentCircuitData agentData, SceneManager sceneManager) { // We emulate the proper login sequence here by doing things in four stages @@ -541,7 +566,7 @@ namespace OpenSim.Tests.Common lpsc.m_PresenceService.LoginAgent(agentData.AgentID.ToString(), agentData.SessionID, agentData.SecureSessionID); // Stages 1 & 2 - ScenePresence sp = IntroduceClientToScene(scene, sceneManager, agentData, TeleportFlags.ViaLogin); + ScenePresence sp = IntroduceClientToScene(scene, client, agentData, TeleportFlags.ViaLogin); // Stage 3: Complete the entrance into the region. This converts the child agent into a root agent. sp.CompleteMovement(sp.ControllingClient, true); @@ -558,11 +583,11 @@ namespace OpenSim.Tests.Common /// neighbours and where no teleporting takes place. /// /// - /// /// /// private static ScenePresence IntroduceClientToScene( - Scene scene, SceneManager sceneManager, AgentCircuitData agentData, TeleportFlags tf) + Scene scene, IClientAPI client, AgentCircuitData agentData, TeleportFlags tf) { string reason; @@ -571,10 +596,9 @@ namespace OpenSim.Tests.Common Console.WriteLine("NewUserConnection failed: " + reason); // Stage 2: add the new client as a child agent to the scene - TestClient client = new TestClient(agentData, scene, sceneManager); scene.AddNewClient(client, PresenceType.User); - return scene.GetScenePresence(agentData.AgentID); + return scene.GetScenePresence(client.AgentId); } public static ScenePresence AddChildScenePresence(Scene scene, UUID agentId) @@ -583,7 +607,8 @@ namespace OpenSim.Tests.Common acd.child = true; // XXX: ViaLogin may not be correct for child agents - return IntroduceClientToScene(scene, null, acd, TeleportFlags.ViaLogin); + TestClient client = new TestClient(acd, scene, null); + return IntroduceClientToScene(scene, client, acd, TeleportFlags.ViaLogin); } /// diff --git a/OpenSim/Tests/Common/Mock/TestClient.cs b/OpenSim/Tests/Common/Mock/TestClient.cs index a448cc52b1..2d4fef16de 100644 --- a/OpenSim/Tests/Common/Mock/TestClient.cs +++ b/OpenSim/Tests/Common/Mock/TestClient.cs @@ -46,8 +46,6 @@ namespace OpenSim.Tests.Common.Mock EventWaitHandle wh = new EventWaitHandle (false, EventResetMode.AutoReset, "Crossing"); - private TestClient TeleportSceneClient; - private Scene m_scene; private SceneManager m_sceneManager; @@ -60,7 +58,9 @@ namespace OpenSim.Tests.Common.Mock public List SentImagePacketPackets { get; private set; } public List SentImageNotInDatabasePackets { get; private set; } + // Test client specific events - for use by tests to implement some IClientAPI behaviour. public event Action OnReceivedMoveAgentIntoRegion; + public event Action OnTestClientInformClientOfNeighbour; // disable warning: public events, part of the public API #pragma warning disable 67 @@ -595,23 +595,8 @@ namespace OpenSim.Tests.Common.Mock public virtual void InformClientOfNeighbour(ulong neighbourHandle, IPEndPoint neighbourExternalEndPoint) { - m_log.DebugFormat("[TEST CLIENT]: Processing inform client of neighbour"); - - // In response to this message, we are going to make a teleport to the scene we've previous been told - // about by test code (this needs to be improved). - AgentCircuitData newAgent = RequestClientInfo(); - - // Stage 2: add the new client as a child agent to the scene - uint x, y; - Utils.LongToUInts(neighbourHandle, out x, out y); - x /= Constants.RegionSize; - y /= Constants.RegionSize; - - Scene neighbourScene; - m_sceneManager.TryGetScene(x, y, out neighbourScene); - - TeleportSceneClient = new TestClient(newAgent, neighbourScene, m_sceneManager); - neighbourScene.AddNewClient(TeleportSceneClient, PresenceType.User); + if (OnTestClientInformClientOfNeighbour != null) + OnTestClientInformClientOfNeighbour(neighbourHandle, neighbourExternalEndPoint); } public virtual void SendRegionTeleport(ulong regionHandle, byte simAccess, IPEndPoint regionExternalEndPoint, @@ -626,12 +611,6 @@ namespace OpenSim.Tests.Common.Mock // CompleteTeleportClientSide(); } - public void CompleteTeleportClientSide() - { - TeleportSceneClient.CompleteMovement(); - //TeleportTargetScene.AgentCrossing(newAgent.AgentID, new Vector3(90, 90, 90), false); - } - public virtual void SendTeleportFailed(string reason) { m_log.DebugFormat("[TEST CLIENT]: Teleport failed with reason {0}", reason); From 16af5b87f888821d60b8068dde4acac58a6066f7 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 20 Mar 2013 23:08:35 +0000 Subject: [PATCH 788/851] Add file missing from last commit 36651be --- .../Common/Helpers/EntityTransferHelpers.cs | 91 +++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 OpenSim/Tests/Common/Helpers/EntityTransferHelpers.cs diff --git a/OpenSim/Tests/Common/Helpers/EntityTransferHelpers.cs b/OpenSim/Tests/Common/Helpers/EntityTransferHelpers.cs new file mode 100644 index 0000000000..6cc7ff259d --- /dev/null +++ b/OpenSim/Tests/Common/Helpers/EntityTransferHelpers.cs @@ -0,0 +1,91 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using System.IO; +using System.Net; +using System.Reflection; +using System.Text; +using log4net; +using Nini.Config; +using NUnit.Framework; +using OpenMetaverse; +using OpenSim.Framework; +using OpenSim.Framework.Communications; +using OpenSim.Framework.Servers; +using OpenSim.Region.Framework.Interfaces; +using OpenSim.Region.Framework.Scenes; +using OpenSim.Region.CoreModules.Framework; +using OpenSim.Tests.Common; +using OpenSim.Tests.Common.Mock; + +namespace OpenSim.Tests.Common +{ + public static class EntityTransferHelpers + { + private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + + /// + /// Set up correct handling of the InformClientOfNeighbour call from the source region that triggers the + /// viewer to setup a connection with the destination region. + /// + /// + /// + /// A list that will be populated with any TestClients set up in response to + /// being informed about a destination region. + /// + public static void SetUpInformClientOfNeighbour(TestClient tc, List neighbourTcs) + { + // XXX: Confusingly, this is also used for non-neighbour notification (as in teleports that do not use the + // event queue). + + tc.OnTestClientInformClientOfNeighbour += (neighbourHandle, neighbourExternalEndPoint) => + { + uint x, y; + Utils.LongToUInts(neighbourHandle, out x, out y); + x /= Constants.RegionSize; + y /= Constants.RegionSize; + + m_log.DebugFormat( + "[TEST CLIENT]: Processing inform client of neighbour located at {0},{1} at {2}", + x, y, neighbourExternalEndPoint); + + // In response to this message, we are going to make a teleport to the scene we've previous been told + // about by test code (this needs to be improved). + AgentCircuitData newAgent = tc.RequestClientInfo(); + + Scene neighbourScene; + SceneManager.Instance.TryGetScene(x, y, out neighbourScene); + + TestClient neighbourTc = new TestClient(newAgent, neighbourScene, SceneManager.Instance); + neighbourTcs.Add(neighbourTc); + neighbourScene.AddNewClient(neighbourTc, PresenceType.User); + }; + } + } +} \ No newline at end of file From b1cd1d917e25e34c2efda65ab52164269863da87 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 20 Mar 2013 23:12:13 +0000 Subject: [PATCH 789/851] minor: don't bother with the pause before rezzing attachments if we are running regression tests (fire and forget calls launched on the same thread). Also adds code comments as to why this pause exists. --- OpenSim/Region/Framework/Scenes/Scene.cs | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 89eca32dd3..c9c0662228 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -2831,8 +2831,22 @@ namespace OpenSim.Region.Framework.Scenes // XXX: This is convoluted. sp.IsChildAgent = false; + // We leave a 5 second pause before attempting to rez attachments to avoid a clash with + // version 3 viewers that maybe doing their own attachment rezzing related to their current + // outfit folder on startup. If these operations do clash, then the symptoms are invisible + // attachments until one zooms in on the avatar. + // + // We do not pause if we are launching on the same thread anyway in order to avoid pointlessly + // delaying any attachment related regression tests. if (AttachmentsModule != null) - Util.FireAndForget(o => { Thread.Sleep(5000); AttachmentsModule.RezAttachments(sp); }); + Util.FireAndForget( + o => + { + if (Util.FireAndForgetMethod != FireAndForgetMethod.None) + Thread.Sleep(5000); + + AttachmentsModule.RezAttachments(sp); + }); } } else From 4de530af45c86a003676a10d6b037a5acec3646c Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 20 Mar 2013 23:13:12 +0000 Subject: [PATCH 790/851] minor: disable logging on regression TestCrossOnSameSimulator() that I accidentally left on a few commits ago. --- .../Region/Framework/Scenes/Tests/ScenePresenceCrossingTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCrossingTests.cs b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCrossingTests.cs index b67b8b96e1..8775949ff4 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCrossingTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCrossingTests.cs @@ -66,7 +66,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests public void TestCrossOnSameSimulator() { TestHelpers.InMethod(); - TestHelpers.EnableLogging(); +// TestHelpers.EnableLogging(); UUID userId = TestHelpers.ParseTail(0x1); From cc504eb0d136d6555ddae990a98592eaf123816a Mon Sep 17 00:00:00 2001 From: Melanie Date: Thu, 21 Mar 2013 01:44:09 +0100 Subject: [PATCH 791/851] Fix SceneManager to use the new automatic property throughout. --- OpenSim/Region/Framework/Scenes/SceneManager.cs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/SceneManager.cs b/OpenSim/Region/Framework/Scenes/SceneManager.cs index c307f7a865..c70342fc02 100644 --- a/OpenSim/Region/Framework/Scenes/SceneManager.cs +++ b/OpenSim/Region/Framework/Scenes/SceneManager.cs @@ -100,7 +100,6 @@ namespace OpenSim.Region.Framework.Scenes } private readonly DoubleDictionary m_localScenes = new DoubleDictionary(); - private Scene m_currentScene = null; public List Scenes { @@ -354,7 +353,7 @@ namespace OpenSim.Region.Framework.Scenes if (m_localScenes.TryGetValue(regionName, out s)) { - m_currentScene = s; + CurrentScene = s; return true; } @@ -370,7 +369,7 @@ namespace OpenSim.Region.Framework.Scenes if (m_localScenes.TryGetValue(regionID, out s)) { - m_currentScene = s; + CurrentScene = s; return true; } From 46c833810ccd9dd0c3273803e208dc85bb0860a9 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 21 Mar 2013 00:46:08 +0000 Subject: [PATCH 792/851] On a teleport, lock m_agentsInTransit whilst we grab the value to check for completion just to be sure we're not using a thread cached version. --- .../EntityTransfer/EntityTransferStateMachine.cs | 9 ++++++++- .../Framework/Scenes/Tests/ScenePresenceTeleportTests.cs | 8 ++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferStateMachine.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferStateMachine.cs index 24d81d9480..7314727cda 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferStateMachine.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferStateMachine.cs @@ -292,8 +292,15 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer // There should be no race condition here since no other code should be removing the agent transfer or // changing the state to another other than Transferring => ReceivedAtDestination. - while (m_agentsInTransit[id] != AgentTransferState.ReceivedAtDestination && count-- > 0) + + while (count-- > 0) { + lock (m_agentsInTransit) + { + if (m_agentsInTransit[id] == AgentTransferState.ReceivedAtDestination) + break; + } + // m_log.Debug(" >>> Waiting... " + count); Thread.Sleep(100); } diff --git a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceTeleportTests.cs b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceTeleportTests.cs index d6bc3130a3..de4458dde3 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceTeleportTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceTeleportTests.cs @@ -107,7 +107,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests } [Test] - public void TestSameSimulatorSeparatedRegions() + public void TestSameSimulatorIsolatedRegions() { TestHelpers.InMethod(); // TestHelpers.EnableLogging(); @@ -180,7 +180,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests /// Test teleport procedures when the target simulator returns false when queried about access. /// [Test] - public void TestSameSimulatorSeparatedRegions_DeniedOnQueryAccess() + public void TestSameSimulatorIsolatedRegions_DeniedOnQueryAccess() { TestHelpers.InMethod(); // TestHelpers.EnableLogging(); @@ -264,7 +264,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests /// Test teleport procedures when the target simulator create agent step is refused. /// [Test] - public void TestSameSimulatorSeparatedRegions_DeniedOnCreateAgent() + public void TestSameSimulatorIsolatedRegions_DeniedOnCreateAgent() { TestHelpers.InMethod(); // TestHelpers.EnableLogging(); @@ -345,7 +345,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests /// (for CreateAgent) but the viewer cannot reach the destination region due to network issues. /// [Test] - public void TestSameSimulatorSeparatedRegions_DestinationDidNotProcessViewerConnection() + public void TestSameSimulatorIsolatedRegions_DestinationDidNotProcessViewerConnection() { TestHelpers.InMethod(); // TestHelpers.EnableLogging(); From e23a0dcc5dd5f2869fe0da39452e075cec34199b Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 21 Mar 2013 23:37:23 +0000 Subject: [PATCH 793/851] minor: On teleport, signal a child agent before we send the viewer TeleportFinish in order to avoid a theoretical race condition when teleporting to a neighbour. If we do this after TeleportFinish, then it's possible for a neighbour destination to request the source to create a child agent whilst its still treated as root. This closes the original presence which we don't really want to do. This is probably okay (albeit with warnings on the console) but afaics there's no reason not to move the child agent signal. --- .../Framework/EntityTransfer/EntityTransferModule.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 58a6654c6e..82358d8c7b 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs @@ -686,6 +686,11 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer "[ENTITY TRANSFER MODULE]: Sending new CAPS seed url {0} from {1} to {2}", capsPath, sp.Scene.RegionInfo.RegionName, sp.Name); + // We need to set this here to avoid an unlikely race condition when teleporting to a neighbour simulator, + // where that neighbour simulator could otherwise request a child agent create on the source which then + // closes our existing agent which is still signalled as root. + sp.IsChildAgent = true; + if (m_eqModule != null) { m_eqModule.TeleportFinishEvent(destinationHandle, 13, endPoint, 0, teleportFlags, capsPath, sp.UUID); @@ -696,9 +701,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer teleportFlags, capsPath); } - // Let's set this to true tentatively. This does not trigger OnChildAgent - sp.IsChildAgent = true; - // TeleportFinish makes the client send CompleteMovementIntoRegion (at the destination), which // trigers a whole shebang of things there, including MakeRoot. So let's wait for confirmation // that the client contacted the destination before we close things here. @@ -731,8 +733,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer // Now let's make it officially a child agent sp.MakeChildAgent(); -// sp.Scene.CleanDroppedAttachments(); - // Finally, let's close this previously-known-as-root agent, when the jump is outside the view zone if (NeedsClosing(sp.DrawDistance, oldRegionX, newRegionX, oldRegionY, newRegionY, reg)) From 476a7d3eee1afc42ac501ac265d63f8fe52e27a6 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 22 Mar 2013 00:03:10 +0000 Subject: [PATCH 794/851] Implement chat across region borders since we can tell if avatars in neighbouring regions are in range. --- OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs b/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs index 6d62ff0f92..9032dd4967 100644 --- a/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs @@ -240,7 +240,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat { // This should use ForEachClient, but clients don't have a position. // If camera is moved into client, then camera position can be used - s.ForEachRootScenePresence( + s.ForEachScenePresence( delegate(ScenePresence presence) { if (TrySendChatMessage( From 7471bc77757ce0b294d04f0eb552dbc5ea749793 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 22 Mar 2013 01:00:13 +0000 Subject: [PATCH 795/851] At strategic points in the teleport process, if the client has simultaneously logged out then do not continue. This aims to reduce any side effects if the process tries to complete after the client has logged back in (e.g. it was delayed due to a slow destination region response). This introduces a new Aborting entity transfer state which signals that the teleport should be stopped but no compensating actions performed. --- .../EntityTransfer/EntityTransferModule.cs | 59 ++++++++++++++++++- .../EntityTransferStateMachine.cs | 20 ++++--- 2 files changed, 69 insertions(+), 10 deletions(-) diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 82358d8c7b..5713e886d9 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs @@ -167,6 +167,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer if (!DisableInterRegionTeleportCancellation) client.OnTeleportCancel += OnClientCancelTeleport; + + client.OnConnectionClosed += OnConnectionClosed; } public virtual void Close() {} @@ -185,6 +187,18 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer #region Agent Teleports + private void OnConnectionClosed(IClientAPI client) + { + if (client.IsLoggingOut) + { + m_entityTransferStateMachine.UpdateInTransit(client.AgentId, AgentTransferState.Aborting); + + m_log.DebugFormat( + "[ENTITY TRANSFER MODULE]: Aborted teleport request from {0} in {1} due to simultaneous logout", + client.Name, Scene.Name); + } + } + private void OnClientCancelTeleport(IClientAPI client) { m_entityTransferStateMachine.UpdateInTransit(client.AgentId, AgentTransferState.Cancelling); @@ -590,6 +604,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer return; } + Thread.Sleep(30000); + if (m_entityTransferStateMachine.GetAgentTransferState(sp.UUID) == AgentTransferState.Cancelling) { m_log.DebugFormat( @@ -598,6 +614,14 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer return; } + else if (m_entityTransferStateMachine.GetAgentTransferState(sp.UUID) == AgentTransferState.Aborting) + { + m_log.DebugFormat( + "[ENTITY TRANSFER MODULE]: Aborted teleport of {0} to {1} from {2} after CreateAgent due to previous client close.", + sp.Name, finalDestination.RegionName, sp.Scene.Name); + + return; + } // Past this point we have to attempt clean up if the teleport fails, so update transfer state. m_entityTransferStateMachine.UpdateInTransit(sp.UUID, AgentTransferState.Transferring); @@ -657,12 +681,32 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer //sp.ControllingClient.SendTeleportProgress(teleportFlags, "Updating agent..."); + // We will check for an abort before UpdateAgent since UpdateAgent will require an active viewer to + // establish th econnection to the destination which makes it return true. + if (m_entityTransferStateMachine.GetAgentTransferState(sp.UUID) == AgentTransferState.Aborting) + { + m_log.DebugFormat( + "[ENTITY TRANSFER MODULE]: Aborted teleport of {0} to {1} from {2} before UpdateAgent", + sp.Name, finalDestination.RegionName, sp.Scene.Name); + + return; + } + // A common teleport failure occurs when we can send CreateAgent to the // destination region but the viewer cannot establish the connection (e.g. due to network issues between // the viewer and the destination). In this case, UpdateAgent timesout after 10 seconds, although then // there's a further 10 second wait whilst we attempt to tell the destination to delete the agent in Fail(). if (!UpdateAgent(reg, finalDestination, agent, sp)) { + if (m_entityTransferStateMachine.GetAgentTransferState(sp.UUID) == AgentTransferState.Aborting) + { + m_log.DebugFormat( + "[ENTITY TRANSFER MODULE]: Aborted teleport of {0} to {1} from {2} after UpdateAgent due to previous client close.", + sp.Name, finalDestination.RegionName, sp.Scene.Name); + + return; + } + m_log.WarnFormat( "[ENTITY TRANSFER MODULE]: UpdateAgent failed on teleport of {0} to {1} from {2}. Keeping avatar in source region.", sp.Name, finalDestination.RegionName, sp.Scene.RegionInfo.RegionName); @@ -677,7 +721,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer "[ENTITY TRANSFER MODULE]: Cancelled teleport of {0} to {1} from {2} after UpdateAgent on client request", sp.Name, finalDestination.RegionName, sp.Scene.Name); - CleanupAbortedInterRegionTeleport(sp, finalDestination); + CleanupFailedInterRegionTeleport(sp, finalDestination); return; } @@ -706,6 +750,15 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer // that the client contacted the destination before we close things here. if (!m_entityTransferStateMachine.WaitForAgentArrivedAtDestination(sp.UUID)) { + if (m_entityTransferStateMachine.GetAgentTransferState(sp.UUID) == AgentTransferState.Aborting) + { + m_log.DebugFormat( + "[ENTITY TRANSFER MODULE]: Aborted teleport of {0} to {1} from {2} after WaitForAgentArrivedAtDestination due to previous client close.", + sp.Name, finalDestination.RegionName, sp.Scene.Name); + + return; + } + m_log.WarnFormat( "[ENTITY TRANSFER MODULE]: Teleport of {0} to {1} from {2} failed due to no callback from destination region. Returning avatar to source region.", sp.Name, finalDestination.RegionName, sp.Scene.RegionInfo.RegionName); @@ -772,7 +825,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer /// /// /// - protected virtual void CleanupAbortedInterRegionTeleport(ScenePresence sp, GridRegion finalDestination) + protected virtual void CleanupFailedInterRegionTeleport(ScenePresence sp, GridRegion finalDestination) { m_entityTransferStateMachine.UpdateInTransit(sp.UUID, AgentTransferState.CleaningUp); @@ -794,7 +847,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer /// Human readable reason for teleport failure. Will be sent to client. protected virtual void Fail(ScenePresence sp, GridRegion finalDestination, bool logout, string reason) { - CleanupAbortedInterRegionTeleport(sp, finalDestination); + CleanupFailedInterRegionTeleport(sp, finalDestination); sp.ControllingClient.SendTeleportFailed( string.Format( diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferStateMachine.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferStateMachine.cs index 7314727cda..fc029163b6 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferStateMachine.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferStateMachine.cs @@ -51,11 +51,12 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer /// This is a state machine. /// /// [Entry] => Preparing - /// Preparing => { Transferring || Cancelling || CleaningUp || [Exit] } - /// Transferring => { ReceivedAtDestination || Cancelling || CleaningUp } - /// Cancelling => CleaningUp - /// ReceivedAtDestination => CleaningUp + /// Preparing => { Transferring || Cancelling || CleaningUp || Aborting || [Exit] } + /// Transferring => { ReceivedAtDestination || Cancelling || CleaningUp || Aborting } + /// Cancelling => CleaningUp || Aborting + /// ReceivedAtDestination => CleaningUp || Aborting /// CleaningUp => [Exit] + /// Aborting => [Exit] /// /// In other words, agents normally travel throwing Preparing => Transferring => ReceivedAtDestination => CleaningUp /// However, any state can transition to CleaningUp if the teleport has failed. @@ -66,7 +67,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer Transferring, // The agent is in the process of being transferred to a destination ReceivedAtDestination, // The destination has notified us that the agent has been successfully received CleaningUp, // The agent is being changed to child/removed after a transfer - Cancelling // The user has cancelled the teleport but we have yet to act upon this. + Cancelling, // The user has cancelled the teleport but we have yet to act upon this. + Aborting // The transfer is aborting. Unlike Cancelling, no compensating actions should be performed } /// @@ -134,7 +136,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer // Illegal to try and update an agent that's not actually in transit. if (!m_agentsInTransit.ContainsKey(id)) { - if (newState != AgentTransferState.Cancelling) + if (newState != AgentTransferState.Cancelling && newState != AgentTransferState.Aborting) failureMessage = string.Format( "Agent with ID {0} is not registered as in transit in {1}", id, m_mod.Scene.RegionInfo.RegionName); @@ -145,7 +147,11 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer { oldState = m_agentsInTransit[id]; - if (newState == AgentTransferState.CleaningUp && oldState != AgentTransferState.CleaningUp) + if (newState == AgentTransferState.Aborting) + { + transitionOkay = true; + } + else if (newState == AgentTransferState.CleaningUp && oldState != AgentTransferState.CleaningUp) { transitionOkay = true; } From 1f17ef6d3ce8d3db22d4179cbbc1aee3503610ea Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 22 Mar 2013 01:06:56 +0000 Subject: [PATCH 796/851] Take out a testing sleep I accidentally left in the teleport code from last commit 7471bc7 --- .../Framework/EntityTransfer/EntityTransferModule.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 5713e886d9..26267e27a1 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs @@ -604,8 +604,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer return; } - Thread.Sleep(30000); - if (m_entityTransferStateMachine.GetAgentTransferState(sp.UUID) == AgentTransferState.Cancelling) { m_log.DebugFormat( From c4d9a23f2666d0284f2e65d1ee757bc17c3f56ad Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 22 Mar 2013 01:42:47 +0000 Subject: [PATCH 797/851] Following on from 476a7d3e (which wasn't enough), make chat across regions on different simulators work. Also resolves an issue of multiple chatting if the originating simulators had more than one region and they were neighbours --- .../CoreModules/Avatar/Chat/ChatModule.cs | 87 +++++++------------ 1 file changed, 31 insertions(+), 56 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs b/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs index 9032dd4967..58f747b7d7 100644 --- a/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs @@ -50,7 +50,6 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat private int m_saydistance = 20; private int m_shoutdistance = 100; private int m_whisperdistance = 10; - private List m_scenes = new List(); internal object m_syncy = new object(); @@ -82,18 +81,12 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat public virtual void AddRegion(Scene scene) { - if (!m_enabled) return; + if (!m_enabled) + return; - lock (m_syncy) - { - if (!m_scenes.Contains(scene)) - { - m_scenes.Add(scene); - scene.EventManager.OnNewClient += OnNewClient; - scene.EventManager.OnChatFromWorld += OnChatFromWorld; - scene.EventManager.OnChatBroadcast += OnChatBroadcast; - } - } + scene.EventManager.OnNewClient += OnNewClient; + scene.EventManager.OnChatFromWorld += OnChatFromWorld; + scene.EventManager.OnChatBroadcast += OnChatBroadcast; m_log.InfoFormat("[CHAT]: Initialized for {0} w:{1} s:{2} S:{3}", scene.RegionInfo.RegionName, m_whisperdistance, m_saydistance, m_shoutdistance); @@ -105,18 +98,12 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat public virtual void RemoveRegion(Scene scene) { - if (!m_enabled) return; + if (!m_enabled) + return; - lock (m_syncy) - { - if (m_scenes.Contains(scene)) - { - scene.EventManager.OnNewClient -= OnNewClient; - scene.EventManager.OnChatFromWorld -= OnChatFromWorld; - scene.EventManager.OnChatBroadcast -= OnChatBroadcast; - m_scenes.Remove(scene); - } - } + scene.EventManager.OnNewClient -= OnNewClient; + scene.EventManager.OnChatFromWorld -= OnChatFromWorld; + scene.EventManager.OnChatBroadcast -= OnChatBroadcast; } public virtual void Close() @@ -191,7 +178,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat UUID ownerID = UUID.Zero; UUID targetID = c.TargetUUID; string message = c.Message; - IScene scene = c.Scene; + Scene scene = (Scene)c.Scene; Vector3 fromPos = c.Position; Vector3 regionPos = new Vector3(scene.RegionInfo.RegionLocX * Constants.RegionSize, scene.RegionInfo.RegionLocY * Constants.RegionSize, 0); @@ -201,13 +188,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat switch (sourceType) { case ChatSourceType.Agent: - if (!(scene is Scene)) - { - m_log.WarnFormat("[CHAT]: scene {0} is not a Scene object, cannot obtain scene presence for {1}", - scene.RegionInfo.RegionName, c.Sender.AgentId); - return; - } - ScenePresence avatar = (scene as Scene).GetScenePresence(c.Sender.AgentId); + ScenePresence avatar = scene.GetScenePresence(c.Sender.AgentId); fromPos = avatar.AbsolutePosition; fromName = avatar.Name; fromID = c.Sender.AgentId; @@ -234,36 +215,33 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat HashSet receiverIDs = new HashSet(); - foreach (Scene s in m_scenes) + if (targetID == UUID.Zero) { - if (targetID == UUID.Zero) - { - // This should use ForEachClient, but clients don't have a position. - // If camera is moved into client, then camera position can be used - s.ForEachScenePresence( - delegate(ScenePresence presence) - { - if (TrySendChatMessage( - presence, fromPos, regionPos, fromID, ownerID, fromName, c.Type, message, sourceType, false)) - receiverIDs.Add(presence.UUID); - } - ); - } - else - { - // This is a send to a specific client eg from llRegionSayTo - // no need to check distance etc, jand send is as say - ScenePresence presence = s.GetScenePresence(targetID); - if (presence != null && !presence.IsChildAgent) + // This should use ForEachClient, but clients don't have a position. + // If camera is moved into client, then camera position can be used + scene.ForEachScenePresence( + delegate(ScenePresence presence) { if (TrySendChatMessage( - presence, fromPos, regionPos, fromID, ownerID, fromName, ChatTypeEnum.Say, message, sourceType, true)) + presence, fromPos, regionPos, fromID, ownerID, fromName, c.Type, message, sourceType, false)) receiverIDs.Add(presence.UUID); } + ); + } + else + { + // This is a send to a specific client eg from llRegionSayTo + // no need to check distance etc, jand send is as say + ScenePresence presence = scene.GetScenePresence(targetID); + if (presence != null && !presence.IsChildAgent) + { + if (TrySendChatMessage( + presence, fromPos, regionPos, fromID, ownerID, fromName, ChatTypeEnum.Say, message, sourceType, true)) + receiverIDs.Add(presence.UUID); } } - (scene as Scene).EventManager.TriggerOnChatToClients( + scene.EventManager.TriggerOnChatToClients( fromID, receiverIDs, message, c.Type, fromPos, fromName, sourceType, ChatAudibleLevel.Fully); } @@ -348,9 +326,6 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat UUID fromAgentID, UUID ownerID, string fromName, ChatTypeEnum type, string message, ChatSourceType src, bool ignoreDistance) { - // don't send stuff to child agents - if (presence.IsChildAgent) return false; - Vector3 fromRegionPos = fromPos + regionPos; Vector3 toRegionPos = presence.AbsolutePosition + new Vector3(presence.Scene.RegionInfo.RegionLocX * Constants.RegionSize, From 93206ef0fa6dffe93313455b3354ce3787e7262d Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Sat, 23 Mar 2013 00:39:03 +0000 Subject: [PATCH 798/851] Add "show borders" command to show the borders of a region. This is relevant to mega-regions where the borders are very different to a regular region. Also adds some method doc and other code comments. --- .../EntityTransfer/EntityTransferModule.cs | 4 +++ OpenSim/Region/Framework/Scenes/Border.cs | 7 +++-- OpenSim/Region/Framework/Scenes/Scene.cs | 1 - .../Region/Framework/Scenes/ScenePresence.cs | 14 +++++++-- .../SceneCommands/SceneCommandsModule.cs | 31 +++++++++++++++++++ .../RegionCombinerModule.cs | 8 ++--- 6 files changed, 54 insertions(+), 11 deletions(-) diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 26267e27a1..136caad36b 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs @@ -994,6 +994,10 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer { Scene scene = agent.Scene; Vector3 pos = agent.AbsolutePosition; + +// m_log.DebugFormat( +// "[ENTITY TRANSFER MODULE]: Crossing agent {0} at pos {1} in {2}", agent.Name, pos, scene.Name); + Vector3 newpos = new Vector3(pos.X, pos.Y, pos.Z); uint neighbourx = scene.RegionInfo.RegionLocX; uint neighboury = scene.RegionInfo.RegionLocY; diff --git a/OpenSim/Region/Framework/Scenes/Border.cs b/OpenSim/Region/Framework/Scenes/Border.cs index c6a6511046..08c0c31009 100644 --- a/OpenSim/Region/Framework/Scenes/Border.cs +++ b/OpenSim/Region/Framework/Scenes/Border.cs @@ -33,8 +33,7 @@ using OpenMetaverse; namespace OpenSim.Region.Framework.Scenes { public class Border - { - + { /// /// Line perpendicular to the Direction Cardinal. Z value is the /// @@ -81,6 +80,10 @@ namespace OpenSim.Region.Framework.Scenes TriggerRegionY = triggerRegionY; } + /// + /// Tests to see if the given position would cross this border. + /// + /// public bool TestCross(Vector3 position) { bool result = false; diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index c9c0662228..e8f00a4d90 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -2541,7 +2541,6 @@ namespace OpenSim.Region.Framework.Scenes } } - return null; } diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 6d96c936a5..f7ae3a219f 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -442,9 +442,9 @@ namespace OpenSim.Region.Framework.Scenes { m_pos = PhysicsActor.Position; - //m_log.DebugFormat( - // "[SCENE PRESENCE]: Set position {0} for {1} in {2} via getting AbsolutePosition!", - // m_pos, Name, Scene.RegionInfo.RegionName); +// m_log.DebugFormat( +// "[SCENE PRESENCE]: Set position of {0} in {1} to {2} via getting AbsolutePosition!", +// Name, Scene.Name, m_pos); } else { @@ -471,6 +471,9 @@ namespace OpenSim.Region.Framework.Scenes } set { +// m_log.DebugFormat("[SCENE PRESENCE]: Setting position of {0} in {1} to {2}", Name, Scene.Name, value); +// Util.PrintCallStack(); + if (PhysicsActor != null) { try @@ -878,6 +881,7 @@ namespace OpenSim.Region.Framework.Scenes // before the inventory is processed in MakeRootAgent. This fixes a race condition // related to the handling of attachments //m_scene.GetAvatarAppearance(ControllingClient, out Appearance); + if (m_scene.TestBorderCross(pos, Cardinals.E)) { Border crossedBorder = m_scene.GetCrossedBorder(pos, Cardinals.E); @@ -2909,6 +2913,10 @@ namespace OpenSim.Region.Framework.Scenes if (!IsInTransit) { +// m_log.DebugFormat( +// "[SCENE PRESENCE]: Testing border check for projected position {0} of {1} in {2}", +// pos2, Name, Scene.Name); + // Checks if where it's headed exists a region bool needsTransit = false; if (m_scene.TestBorderCross(pos2, Cardinals.W)) diff --git a/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs b/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs index 5fb74b01ea..29b39e031a 100644 --- a/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs +++ b/OpenSim/Region/OptionalModules/World/SceneCommands/SceneCommandsModule.cs @@ -116,6 +116,37 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments + "If teleport is true then some extra teleport debug information is logged.\n" + "If updates is true then any frame which exceeds double the maximum desired frame time is logged.", HandleDebugSceneSetCommand); + + scene.AddCommand( + "Regions", + this, "show borders", "show borders", "Show border information for regions", HandleShowBordersCommand); + } + + private void HandleShowBordersCommand(string module, string[] args) + { + StringBuilder sb = new StringBuilder(); + sb.AppendFormat("Borders for {0}:\n", m_scene.Name); + + ConsoleDisplayTable cdt = new ConsoleDisplayTable(); + cdt.AddColumn("Cross Direction", 15); + cdt.AddColumn("Line", 34); + cdt.AddColumn("Trigger Region", 14); + + foreach (Border b in m_scene.NorthBorders) + cdt.AddRow(b.CrossDirection, b.BorderLine, string.Format("{0}, {1}", b.TriggerRegionX, b.TriggerRegionY)); + + foreach (Border b in m_scene.EastBorders) + cdt.AddRow(b.CrossDirection, b.BorderLine, string.Format("{0}, {1}", b.TriggerRegionX, b.TriggerRegionY)); + + foreach (Border b in m_scene.SouthBorders) + cdt.AddRow(b.CrossDirection, b.BorderLine, string.Format("{0}, {1}", b.TriggerRegionX, b.TriggerRegionY)); + + foreach (Border b in m_scene.WestBorders) + cdt.AddRow(b.CrossDirection, b.BorderLine, string.Format("{0}, {1}", b.TriggerRegionX, b.TriggerRegionY)); + + cdt.AddToStringBuilder(sb); + + MainConsole.Instance.Output(sb.ToString()); } private void HandleDebugSceneGetCommand(string module, string[] args) diff --git a/OpenSim/Region/RegionCombinerModule/RegionCombinerModule.cs b/OpenSim/Region/RegionCombinerModule/RegionCombinerModule.cs index 905540d36e..7127c73c18 100644 --- a/OpenSim/Region/RegionCombinerModule/RegionCombinerModule.cs +++ b/OpenSim/Region/RegionCombinerModule/RegionCombinerModule.cs @@ -415,18 +415,17 @@ namespace OpenSim.Region.RegionCombinerModule */ #endregion - // If we're one region over +x y + // If we're one region over +x y (i.e. root region is to the west) //xxx //xxy //xxx - if (rootConn.PosX + rootConn.XEnd >= newConn.PosX && rootConn.PosY >= newConn.PosY) { connectedYN = DoWorkForOneRegionOverPlusXY(rootConn, newConn, scene); break; } - // If we're one region over x +y + // If we're one region over x +y (i.e. root region is to the south) //xyx //xxx //xxx @@ -436,7 +435,7 @@ namespace OpenSim.Region.RegionCombinerModule break; } - // If we're one region over +x +y + // If we're one region over +x +y (i.e. root region is to the south-west) //xxy //xxx //xxx @@ -646,7 +645,6 @@ namespace OpenSim.Region.RegionCombinerModule { if (rootConn.RegionScene.EastBorders.Count == 1)// && conn.RegionScene.EastBorders.Count == 2) { - rootConn.RegionScene.EastBorders[0].BorderLine.Z += (int)Constants.RegionSize; lock (rootConn.RegionScene.NorthBorders) From 01636ca90015561366130a3db9b19e4eb976b80a Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Sat, 23 Mar 2013 00:47:59 +0000 Subject: [PATCH 799/851] Fix teleporting into the non-SW 256x256 corner of a megaregion, though currently with a 10 second delay before auto-reteleport to the correct location. This now does a check for border crossing (required to trigger the teleport) immediately in SP.MakeRootAgent(). If left any later, it looks like the physics scene changes the position and stops the cross happening. If done any earlier, nothing happens because the cross-code currently requires a PhysicsActor to be in place, thuogh it's probably not necessary for this case. --- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index f7ae3a219f..f3b923f338 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -925,6 +925,13 @@ namespace OpenSim.Region.Framework.Scenes AddToPhysicalScene(isFlying); + // XXX: This is to trigger any secondary teleport needed for a megaregion when the user has teleported to a + // location outside the 'root region' (the south-west 256x256 corner). This is the earlist we can do it + // since it requires a physics actor to be present. If it is left any later, then physics appears to reset + // the value to a negative position which does not trigger the border cross. + // This may not be the best location for this. + CheckForBorderCrossing(); + if (ForceFly) { Flying = true; From c341664c1b8ccf3bd7b81795b900b971a15ff318 Mon Sep 17 00:00:00 2001 From: Melanie Date: Sun, 24 Mar 2013 18:56:28 +0100 Subject: [PATCH 800/851] Phase 1 of implementing a transfer permission. Overwrite libOMV's PermissionMask with our own and add export permissions as well as a new definition for "All" as meaning "all conventional permissions" rather than "all possible permissions" --- .../RemoteController/RemoteAdminPlugin.cs | 1 + OpenSim/Framework/Util.cs | 15 +++++++++++++++ .../Linden/Caps/BunchOfCaps/BunchOfCaps.cs | 9 +++++---- .../Region/ClientStack/Linden/UDP/LLClientView.cs | 8 +++++--- .../Agent/AssetTransaction/AssetXferUploader.cs | 5 +++-- .../Avatar/AvatarFactory/AvatarFactoryModule.cs | 1 + .../Avatar/Friends/CallingCardModule.cs | 1 + .../InventoryAccess/InventoryAccessModule.cs | 7 +++++-- .../Framework/Library/LibraryModule.cs | 1 + .../World/Archiver/ArchiveWriteRequest.cs | 1 + .../World/Objects/BuySell/BuySellModule.cs | 1 + .../World/Permissions/PermissionsModule.cs | 1 + .../Region/Framework/Scenes/Scene.Inventory.cs | 7 ++++--- OpenSim/Region/Framework/Scenes/Scene.cs | 1 + .../Scenes/SceneObjectGroup.Inventory.cs | 1 + .../Region/Framework/Scenes/SceneObjectGroup.cs | 1 + .../Region/Framework/Scenes/SceneObjectPart.cs | 1 + .../Framework/Scenes/SceneObjectPartInventory.cs | 1 + .../Avatar/Attachments/TempAttachmentsModule.cs | 1 + .../Scripting/JsonStore/JsonStoreScriptModule.cs | 3 ++- .../Shared/Api/Implementation/LSL_Api.cs | 1 + .../Shared/Api/Implementation/OSSL_Api.cs | 5 +++-- .../SimianGrid/SimianInventoryServiceConnector.cs | 3 +++ .../Services/InventoryService/LibraryService.cs | 1 + .../UserAccountService/UserAccountService.cs | 3 ++- OpenSim/Tools/pCampBot/Bot.cs | 5 +++-- 26 files changed, 65 insertions(+), 20 deletions(-) diff --git a/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs b/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs index 49fc5663a5..f19e3910c8 100644 --- a/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs +++ b/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs @@ -50,6 +50,7 @@ using OpenSim.Region.Framework.Scenes; using OpenSim.Services.Interfaces; using PresenceInfo = OpenSim.Services.Interfaces.PresenceInfo; using GridRegion = OpenSim.Services.Interfaces.GridRegion; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.ApplicationPlugins.RemoteController { diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs index e4d7e19b6d..557f38ec9b 100644 --- a/OpenSim/Framework/Util.cs +++ b/OpenSim/Framework/Util.cs @@ -54,6 +54,21 @@ using Amib.Threading; namespace OpenSim.Framework { + [Flags] + public enum PermissionMask : uint + { + None = 0, + Transfer = 1 << 13, + Modify = 1 << 14, + Copy = 1 << 15, + Export = 1 << 16, + Move = 1 << 19, + Damage = 1 << 20, + // All does not contain Export, which is special and must be + // explicitly given + All = (1 << 13) | (1 << 14) | (1 << 15) | (1 << 19) + } + /// /// The method used by Util.FireAndForget for asynchronously firing events /// diff --git a/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs b/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs index eadca9b5a2..921d3bfb7d 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs @@ -50,6 +50,7 @@ using OpenSim.Services.Interfaces; using Caps = OpenSim.Framework.Capabilities.Caps; using OSDArray = OpenMetaverse.StructuredData.OSDArray; using OSDMap = OpenMetaverse.StructuredData.OSDMap; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.ClientStack.Linden { @@ -830,9 +831,9 @@ namespace OpenSim.Region.ClientStack.Linden texitem.Folder = texturesFolder; texitem.CurrentPermissions - = (uint)(PermissionMask.Move | PermissionMask.Copy | PermissionMask.Modify | PermissionMask.Transfer); + = (uint)(PermissionMask.Move | PermissionMask.Copy | PermissionMask.Modify | PermissionMask.Transfer | PermissionMask.Export); - texitem.BasePermissions = (uint)PermissionMask.All; + texitem.BasePermissions = (uint)PermissionMask.All | (uint)PermissionMask.Export; texitem.EveryOnePermissions = 0; texitem.NextPermissions = (uint)PermissionMask.All; texitem.CreationDate = Util.UnixTimeSinceEpoch(); @@ -1097,9 +1098,9 @@ namespace OpenSim.Region.ClientStack.Linden else { item.CurrentPermissions - = (uint)(PermissionMask.Move | PermissionMask.Copy | PermissionMask.Modify | PermissionMask.Transfer); + = (uint)(PermissionMask.Move | PermissionMask.Copy | PermissionMask.Modify | PermissionMask.Transfer | PermissionMask.Export); - item.BasePermissions = (uint)PermissionMask.All; + item.BasePermissions = (uint)PermissionMask.All | (uint)PermissionMask.Export; item.EveryOnePermissions = 0; item.NextPermissions = (uint)PermissionMask.All; } diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 5b2bad47e4..f8b9352a10 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs @@ -51,6 +51,7 @@ using RegionFlags = OpenMetaverse.RegionFlags; using Nini.Config; using System.IO; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.ClientStack.LindenUDP { @@ -1802,7 +1803,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP public void SendInventoryItemDetails(UUID ownerID, InventoryItemBase item) { - const uint FULL_MASK_PERMISSIONS = (uint)PermissionMask.All; + // Fudge this value. It's only needed to make the CRC anyway + const uint FULL_MASK_PERMISSIONS = (uint)0x7fffffff; FetchInventoryReplyPacket inventoryReply = (FetchInventoryReplyPacket)PacketPool.Instance.GetPacket(PacketType.FetchInventoryReply); // TODO: don't create new blocks if recycling an old packet @@ -2007,7 +2009,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP protected void SendBulkUpdateInventoryItem(InventoryItemBase item) { - const uint FULL_MASK_PERMISSIONS = (uint)PermissionMask.All; + const uint FULL_MASK_PERMISSIONS = (uint)0x7ffffff; BulkUpdateInventoryPacket bulkUpdate = (BulkUpdateInventoryPacket)PacketPool.Instance.GetPacket(PacketType.BulkUpdateInventory); @@ -2066,7 +2068,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP /// IClientAPI.SendInventoryItemCreateUpdate(InventoryItemBase) public void SendInventoryItemCreateUpdate(InventoryItemBase Item, UUID transactionID, uint callbackId) { - const uint FULL_MASK_PERMISSIONS = (uint)PermissionMask.All; + const uint FULL_MASK_PERMISSIONS = (uint)0x7fffffff; UpdateCreateInventoryItemPacket InventoryReply = (UpdateCreateInventoryItemPacket)PacketPool.Instance.GetPacket( diff --git a/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs b/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs index e13f479a96..ffff37d2bc 100644 --- a/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs +++ b/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs @@ -34,6 +34,7 @@ using OpenMetaverse; using OpenSim.Framework; using OpenSim.Region.Framework.Scenes; using OpenSim.Services.Interfaces; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.CoreModules.Agent.AssetTransaction { @@ -430,8 +431,8 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction item.AssetType = type; item.InvType = invType; item.Folder = InventFolder; - item.BasePermissions = 0x7fffffff; - item.CurrentPermissions = 0x7fffffff; + item.BasePermissions = (uint)(PermissionMask.All | PermissionMask.Export); + item.CurrentPermissions = item.BasePermissions; item.GroupPermissions=0; item.EveryOnePermissions=0; item.NextPermissions = nextPerm; diff --git a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs index 51fe1ea9af..bc79944f90 100644 --- a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs @@ -40,6 +40,7 @@ using OpenSim.Region.Framework.Scenes; using OpenSim.Services.Interfaces; using Mono.Addins; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory { diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/CallingCardModule.cs b/OpenSim/Region/CoreModules/Avatar/Friends/CallingCardModule.cs index 5ec0ea94b4..b44a5c9514 100644 --- a/OpenSim/Region/CoreModules/Avatar/Friends/CallingCardModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Friends/CallingCardModule.cs @@ -36,6 +36,7 @@ using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes; using OpenSim.Services.Interfaces; using Mono.Addins; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.CoreModules.Avatar.Friends { diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs index 6e5a4a5f35..5aad7f07d4 100644 --- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs +++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs @@ -47,6 +47,7 @@ using OpenMetaverse; using log4net; using Nini.Config; using Mono.Addins; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.CoreModules.Framework.InventoryAccess { @@ -398,7 +399,8 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess objectGroup.RootPart.NextOwnerMask &= ((uint)PermissionMask.Copy | (uint)PermissionMask.Transfer | - (uint)PermissionMask.Modify); + (uint)PermissionMask.Modify | + (uint)PermissionMask.Export); objectGroup.RootPart.NextOwnerMask |= (uint)PermissionMask.Move; @@ -506,7 +508,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess InventoryItemBase item, SceneObjectGroup so, List objsForEffectivePermissions, IClientAPI remoteClient) { - uint effectivePerms = (uint)(PermissionMask.Copy | PermissionMask.Transfer | PermissionMask.Modify | PermissionMask.Move) | 7; + uint effectivePerms = (uint)(PermissionMask.Copy | PermissionMask.Transfer | PermissionMask.Modify | PermissionMask.Move | PermissionMask.Export) | 7; // For the porposes of inventory, an object is modify if the prims // are modify. This allows renaming an object that contains no // mod items. @@ -555,6 +557,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess (uint)PermissionMask.Transfer | (uint)PermissionMask.Modify | (uint)PermissionMask.Move | + (uint)PermissionMask.Export | 7); // Preserve folded permissions } diff --git a/OpenSim/Region/CoreModules/Framework/Library/LibraryModule.cs b/OpenSim/Region/CoreModules/Framework/Library/LibraryModule.cs index ec22146dbf..d07cff4d28 100644 --- a/OpenSim/Region/CoreModules/Framework/Library/LibraryModule.cs +++ b/OpenSim/Region/CoreModules/Framework/Library/LibraryModule.cs @@ -43,6 +43,7 @@ using OpenMetaverse; using log4net; using Mono.Addins; using Nini.Config; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.CoreModules.Framework.Library { diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs index 367693d00d..a990898570 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs @@ -44,6 +44,7 @@ using Ionic.Zlib; using GZipStream = Ionic.Zlib.GZipStream; using CompressionMode = Ionic.Zlib.CompressionMode; using OpenSim.Framework.Serialization.External; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.CoreModules.World.Archiver { diff --git a/OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs b/OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs index eb4731c44c..28daf2f03b 100644 --- a/OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs +++ b/OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs @@ -38,6 +38,7 @@ using OpenSim.Region.Framework; using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes; using OpenSim.Region.Framework.Scenes.Serialization; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.CoreModules.World.Objects.BuySell { diff --git a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs index 121fb2aaae..79dd4a09d2 100644 --- a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs +++ b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs @@ -38,6 +38,7 @@ using OpenSim.Region.Framework.Scenes; using OpenSim.Services.Interfaces; using Mono.Addins; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.CoreModules.World.Permissions { diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index a9e1fc2492..6a3fb24f9a 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs @@ -39,6 +39,7 @@ using OpenSim.Region.Framework; using OpenSim.Framework.Client; using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes.Serialization; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.Framework.Scenes { @@ -907,7 +908,7 @@ namespace OpenSim.Region.Framework.Scenes { CreateNewInventoryItem( remoteClient, creatorID, creatorData, folderID, name, description, flags, callbackID, asset, invType, - (uint)PermissionMask.All, (uint)PermissionMask.All, 0, nextOwnerMask, 0, creationDate, transationID); + (uint)PermissionMask.All | (uint)PermissionMask.Export, (uint)PermissionMask.All | (uint)PermissionMask.Export, 0, nextOwnerMask, 0, creationDate, transationID); } @@ -1036,8 +1037,8 @@ namespace OpenSim.Region.Framework.Scenes CreateNewInventoryItem( remoteClient, remoteClient.AgentId.ToString(), string.Empty, folderID, name, description, 0, callbackID, asset, invType, - (uint)PermissionMask.All, (uint)PermissionMask.All, (uint)PermissionMask.All, - (uint)PermissionMask.All, (uint)PermissionMask.All, Util.UnixTimeSinceEpoch()); + (uint)PermissionMask.All | (uint)PermissionMask.Export, (uint)PermissionMask.All | (uint)PermissionMask.Export, (uint)PermissionMask.All, + (uint)PermissionMask.All | (uint)PermissionMask.Export, (uint)PermissionMask.All | (uint)PermissionMask.Export, Util.UnixTimeSinceEpoch()); } else { diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 6b031ae0fe..357a94b5bc 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -51,6 +51,7 @@ using OpenSim.Region.Physics.Manager; using Timer=System.Timers.Timer; using TPFlags = OpenSim.Framework.Constants.TeleportFlags; using GridRegion = OpenSim.Services.Interfaces.GridRegion; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.Framework.Scenes { diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs index 26524fb7b8..f8624e7508 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs @@ -34,6 +34,7 @@ using OpenSim.Framework; using OpenSim.Region.Framework.Interfaces; using System.Collections.Generic; using System.Xml; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.Framework.Scenes { diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 0f5d1161a3..b109b4f784 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs @@ -41,6 +41,7 @@ using OpenSim.Framework; using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Physics.Manager; using OpenSim.Region.Framework.Scenes.Serialization; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.Framework.Scenes { diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index ffde4156db..9265805e33 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -43,6 +43,7 @@ using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes.Scripting; using OpenSim.Region.Framework.Scenes.Serialization; using OpenSim.Region.Physics.Manager; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.Framework.Scenes { diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs index 3a9a146ee0..d04d87b808 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs @@ -38,6 +38,7 @@ using OpenSim.Framework; using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes.Scripting; using OpenSim.Region.Framework.Scenes.Serialization; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.Framework.Scenes { diff --git a/OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs b/OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs index bed192a8e6..8740f87149 100644 --- a/OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs @@ -40,6 +40,7 @@ using OpenSim.Framework.Monitoring; using OpenSim.Region.ClientStack.LindenUDP; using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.OptionalModules.Avatar.Attachments { diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs index 4a754a915b..1bb5aee796 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs @@ -42,6 +42,7 @@ using OpenSim.Region.Framework.Scenes; using OpenSim.Region.Framework.Scenes.Scripting; using System.Collections.Generic; using System.Text.RegularExpressions; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.OptionalModules.Scripting.JsonStore { @@ -643,4 +644,4 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore } } -} \ No newline at end of file +} diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 1fbfc521bd..f677cdfb18 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -71,6 +71,7 @@ using LSL_String = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString; using LSL_Vector = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3; using System.Reflection; using Timer = System.Timers.Timer; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.ScriptEngine.Shared.Api { diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 234ba3413c..f4e4f44c8c 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -62,6 +62,7 @@ using LSL_List = OpenSim.Region.ScriptEngine.Shared.LSL_Types.list; using LSL_Rotation = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion; using LSL_String = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString; using LSL_Vector = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.ScriptEngine.Shared.Api { @@ -1796,8 +1797,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api taskItem.InvType = (int)InventoryType.Notecard; taskItem.OwnerID = m_host.OwnerID; taskItem.CreatorID = m_host.OwnerID; - taskItem.BasePermissions = (uint)PermissionMask.All; - taskItem.CurrentPermissions = (uint)PermissionMask.All; + taskItem.BasePermissions = (uint)PermissionMask.All | (uint)PermissionMask.Export; + taskItem.CurrentPermissions = (uint)PermissionMask.All | (uint)PermissionMask.Export; taskItem.EveryonePermissions = 0; taskItem.NextPermissions = (uint)PermissionMask.All; taskItem.GroupID = m_host.GroupID; diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs index a3912758aa..36325ce483 100644 --- a/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs +++ b/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs @@ -38,12 +38,14 @@ using OpenSim.Framework; using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes; using OpenSim.Services.Interfaces; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Services.Connectors.SimianGrid { /// /// Permissions bitflags /// + /* [Flags] public enum PermissionMask : uint { @@ -55,6 +57,7 @@ namespace OpenSim.Services.Connectors.SimianGrid Damage = 1 << 20, All = 0x7FFFFFFF } + */ /// /// Connects avatar inventories to the SimianGrid backend diff --git a/OpenSim/Services/InventoryService/LibraryService.cs b/OpenSim/Services/InventoryService/LibraryService.cs index f90895b203..c4a557284a 100644 --- a/OpenSim/Services/InventoryService/LibraryService.cs +++ b/OpenSim/Services/InventoryService/LibraryService.cs @@ -38,6 +38,7 @@ using OpenSim.Services.Interfaces; using log4net; using Nini.Config; using OpenMetaverse; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Services.InventoryService { diff --git a/OpenSim/Services/UserAccountService/UserAccountService.cs b/OpenSim/Services/UserAccountService/UserAccountService.cs index a4f1bba67d..772ab9790c 100644 --- a/OpenSim/Services/UserAccountService/UserAccountService.cs +++ b/OpenSim/Services/UserAccountService/UserAccountService.cs @@ -36,6 +36,7 @@ using OpenSim.Framework; using OpenSim.Services.Interfaces; using OpenSim.Framework.Console; using GridRegion = OpenSim.Services.Interfaces.GridRegion; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Services.UserAccountService { @@ -684,4 +685,4 @@ namespace OpenSim.Services.UserAccountService } } } -} \ No newline at end of file +} diff --git a/OpenSim/Tools/pCampBot/Bot.cs b/OpenSim/Tools/pCampBot/Bot.cs index daaa3c0070..9821180bc6 100644 --- a/OpenSim/Tools/pCampBot/Bot.cs +++ b/OpenSim/Tools/pCampBot/Bot.cs @@ -40,6 +40,7 @@ using OpenSim.Framework; using OpenSim.Framework.Console; using pCampBot.Interfaces; using Timer = System.Timers.Timer; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace pCampBot { @@ -362,7 +363,7 @@ namespace pCampBot asset.Encode(); transid = Client.Assets.RequestUpload(asset,true); Client.Inventory.RequestCreateItem(clothfolder.UUID, "MyClothing" + i.ToString(), "MyClothing", AssetType.Clothing, - transid, InventoryType.Wearable, asset.WearableType, PermissionMask.All, delegate(bool success, InventoryItem item) + transid, InventoryType.Wearable, asset.WearableType, (OpenMetaverse.PermissionMask)PermissionMask.All, delegate(bool success, InventoryItem item) { if (success) { @@ -386,7 +387,7 @@ namespace pCampBot asset.Encode(); transid = Client.Assets.RequestUpload(asset,true); Client.Inventory.RequestCreateItem(clothfolder.UUID, "MyBodyPart" + i.ToString(), "MyBodyPart", AssetType.Bodypart, - transid, InventoryType.Wearable, asset.WearableType, PermissionMask.All, delegate(bool success, InventoryItem item) + transid, InventoryType.Wearable, asset.WearableType, (OpenMetaverse.PermissionMask)PermissionMask.All, delegate(bool success, InventoryItem item) { if (success) { From 128c72a23437423d87cc9b10815f96d7362bddd1 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Mon, 25 Mar 2013 21:24:21 +0000 Subject: [PATCH 801/851] Start recording inter-region teleport attempts, aborts, cancels and failures in statistics for monitoring/debugging purposes These are recorded as 'entitytransfer' stats as seen by the "show stats entitytransfer" console command. --- .../EntityTransfer/EntityTransferModule.cs | 119 ++++++++++++++++-- 1 file changed, 109 insertions(+), 10 deletions(-) diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 136caad36b..4cf7645376 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs @@ -33,6 +33,7 @@ using System.Threading; using OpenSim.Framework; using OpenSim.Framework.Capabilities; using OpenSim.Framework.Client; +using OpenSim.Framework.Monitoring; using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes; using OpenSim.Region.Physics.Manager; @@ -77,6 +78,31 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer /// public bool DisableInterRegionTeleportCancellation { get; set; } + /// + /// Number of times inter-region teleport was attempted. + /// + private Stat m_interRegionTeleportAttempts; + + /// + /// Number of times inter-region teleport was aborted (due to simultaneous client logout). + /// + private Stat m_interRegionTeleportAborts; + + /// + /// Number of times inter-region teleport was successfully cancelled by the client. + /// + private Stat m_interRegionTeleportCancels; + + /// + /// Number of times inter-region teleport failed due to server/client/network problems (e.g. viewer failed to + /// connect with destination region). + /// + /// + /// This is not necessarily a problem for this simulator - in open-grid/hg conditions, viewer connectivity to + /// destination simulator is unknown. + /// + private Stat m_interRegionTeleportFailures; + protected bool m_Enabled = false; public Scene Scene { get; private set; } @@ -156,6 +182,60 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer Scene = scene; + m_interRegionTeleportAttempts = + new Stat( + "InterRegionTeleportAttempts", + "Number of inter-region teleports attempted.", + "This does not count attempts which failed due to pre-conditions (e.g. target simulator refused access).\n" + + "You can get successfully teleports by subtracting aborts, cancels and teleport failures from this figure.", + "", + "entitytransfer", + Scene.Name, + StatType.Push, + null, + StatVerbosity.Debug); + + m_interRegionTeleportAborts = + new Stat( + "InterRegionTeleportAborts", + "Number of inter-region teleports aborted due to client actions.", + "The chief action is simultaneous logout whilst teleporting.", + "", + "entitytransfer", + Scene.Name, + StatType.Push, + null, + StatVerbosity.Debug); + + m_interRegionTeleportCancels = + new Stat( + "InterRegionTeleportCancels", + "Number of inter-region teleports cancelled by the client.", + null, + "", + "entitytransfer", + Scene.Name, + StatType.Push, + null, + StatVerbosity.Debug); + + m_interRegionTeleportFailures = + new Stat( + "InterRegionTeleportFailures", + "Number of inter-region teleports that failed due to server/client/network issues.", + "This number may not be very helpful in open-grid/hg situations as the network connectivity/quality of destinations is uncontrollable.", + "", + "entitytransfer", + Scene.Name, + StatType.Push, + null, + StatVerbosity.Debug); + + StatsManager.RegisterStat(m_interRegionTeleportAttempts); + StatsManager.RegisterStat(m_interRegionTeleportAborts); + StatsManager.RegisterStat(m_interRegionTeleportCancels); + StatsManager.RegisterStat(m_interRegionTeleportFailures); + scene.RegisterModuleInterface(this); scene.EventManager.OnNewClient += OnNewClient; } @@ -173,7 +253,13 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer public virtual void Close() {} - public virtual void RemoveRegion(Scene scene) {} + public virtual void RemoveRegion(Scene scene) + { + StatsManager.DeregisterStat(m_interRegionTeleportAttempts); + StatsManager.DeregisterStat(m_interRegionTeleportAborts); + StatsManager.DeregisterStat(m_interRegionTeleportCancels); + StatsManager.DeregisterStat(m_interRegionTeleportFailures); + } public virtual void RegionLoaded(Scene scene) { @@ -545,6 +631,11 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer return; } + // Before this point, teleport 'failure' is due to checkable pre-conditions such as whether the target + // simulator can be found and is explicitly prepared to allow access. Therefore, we will not count these + // as server attempts. + m_interRegionTeleportAttempts.Value++; + m_log.DebugFormat("[ENTITY TRANSFER MODULE]: Destination is running version {0}", version); // Fixing a bug where teleporting while sitting results in the avatar ending up removed from @@ -595,6 +686,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer bool logout = false; if (!CreateAgent(sp, reg, finalDestination, agentCircuit, teleportFlags, out reason, out logout)) { + m_interRegionTeleportFailures.Value++; + sp.ControllingClient.SendTeleportFailed(String.Format("Teleport refused: {0}", reason)); m_log.DebugFormat( @@ -606,6 +699,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer if (m_entityTransferStateMachine.GetAgentTransferState(sp.UUID) == AgentTransferState.Cancelling) { + m_interRegionTeleportCancels.Value++; + m_log.DebugFormat( "[ENTITY TRANSFER MODULE]: Cancelled teleport of {0} to {1} from {2} after CreateAgent on client request", sp.Name, finalDestination.RegionName, sp.Scene.Name); @@ -614,6 +709,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer } else if (m_entityTransferStateMachine.GetAgentTransferState(sp.UUID) == AgentTransferState.Aborting) { + m_interRegionTeleportAborts.Value++; + m_log.DebugFormat( "[ENTITY TRANSFER MODULE]: Aborted teleport of {0} to {1} from {2} after CreateAgent due to previous client close.", sp.Name, finalDestination.RegionName, sp.Scene.Name); @@ -683,6 +780,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer // establish th econnection to the destination which makes it return true. if (m_entityTransferStateMachine.GetAgentTransferState(sp.UUID) == AgentTransferState.Aborting) { + m_interRegionTeleportAborts.Value++; + m_log.DebugFormat( "[ENTITY TRANSFER MODULE]: Aborted teleport of {0} to {1} from {2} before UpdateAgent", sp.Name, finalDestination.RegionName, sp.Scene.Name); @@ -698,6 +797,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer { if (m_entityTransferStateMachine.GetAgentTransferState(sp.UUID) == AgentTransferState.Aborting) { + m_interRegionTeleportAborts.Value++; + m_log.DebugFormat( "[ENTITY TRANSFER MODULE]: Aborted teleport of {0} to {1} from {2} after UpdateAgent due to previous client close.", sp.Name, finalDestination.RegionName, sp.Scene.Name); @@ -715,6 +816,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer if (m_entityTransferStateMachine.GetAgentTransferState(sp.UUID) == AgentTransferState.Cancelling) { + m_interRegionTeleportCancels.Value++; + m_log.DebugFormat( "[ENTITY TRANSFER MODULE]: Cancelled teleport of {0} to {1} from {2} after UpdateAgent on client request", sp.Name, finalDestination.RegionName, sp.Scene.Name); @@ -750,6 +853,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer { if (m_entityTransferStateMachine.GetAgentTransferState(sp.UUID) == AgentTransferState.Aborting) { + m_interRegionTeleportAborts.Value++; + m_log.DebugFormat( "[ENTITY TRANSFER MODULE]: Aborted teleport of {0} to {1} from {2} after WaitForAgentArrivedAtDestination due to previous client close.", sp.Name, finalDestination.RegionName, sp.Scene.Name); @@ -762,6 +867,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer sp.Name, finalDestination.RegionName, sp.Scene.RegionInfo.RegionName); Fail(sp, finalDestination, logout, "Destination region did not signal teleport completion."); + return; } @@ -803,15 +909,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer // now we have a child agent in this region. sp.Reset(); } - - // Commented pending deletion since this method no longer appears to do anything at all -// // REFACTORING PROBLEM. Well, not a problem, but this method is HORRIBLE! -// if (sp.Scene.NeedSceneCacheClear(sp.UUID)) -// { -// m_log.DebugFormat( -// "[ENTITY TRANSFER MODULE]: User {0} is going to another region, profile cache removed", -// sp.UUID); -// } } /// @@ -847,6 +944,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer { CleanupFailedInterRegionTeleport(sp, finalDestination); + m_interRegionTeleportFailures.Value++; + sp.ControllingClient.SendTeleportFailed( string.Format( "Problems connecting to destination {0}, reason: {1}", finalDestination.RegionName, reason)); From f783b9169fbc0544ec6c634900cb34bf48c6b2a9 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Fri, 22 Mar 2013 16:50:56 -0700 Subject: [PATCH 802/851] BulletSim: parameterize C# HACD hull creation. Add feature of reducing max hull count for simple (non-cut prims) meshes. --- .../Region/Physics/BulletSPlugin/BSParam.cs | 33 +++++++++++ .../BulletSPlugin/BSShapeCollection.cs | 55 ++++++++++++++----- 2 files changed, 74 insertions(+), 14 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs index 4d89a88778..26d2d60e9f 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs @@ -142,6 +142,14 @@ public static class BSParam public static float VehicleAngularBankingTimescaleFudge { get; private set; } public static bool VehicleDebuggingEnabled { get; private set; } + // Convex Hulls + public static int CSHullMaxDepthSplit { get; private set; } + public static int CSHullMaxDepthSplitForSimpleShapes { get; private set; } + public static float CSHullConcavityThresholdPercent { get; private set; } + public static float CSHullVolumeConservationThresholdPercent { get; private set; } + public static int CSHullMaxVertices { get; private set; } + public static float CSHullMaxSkinWidth { get; private set; } + // Linkset implementation parameters public static float LinksetImplementation { get; private set; } public static bool LinkConstraintUseFrameOffset { get; private set; } @@ -623,6 +631,31 @@ public static class BSParam (s) => { return GlobalContactBreakingThreshold; }, (s,v) => { GlobalContactBreakingThreshold = v; s.UnmanagedParams[0].globalContactBreakingThreshold = v; } ), + new ParameterDefn("CSHullMaxDepthSplit", "CS impl: max depth to split for hull. 1-10 but > 7 is iffy", + 7, + (s) => { return CSHullMaxDepthSplit; }, + (s,v) => { CSHullMaxDepthSplit = v; } ), + new ParameterDefn("CSHullMaxDepthSplitForSimpleShapes", "CS impl: max depth setting for simple prim shapes", + 2, + (s) => { return CSHullMaxDepthSplitForSimpleShapes; }, + (s,v) => { CSHullMaxDepthSplitForSimpleShapes = v; } ), + new ParameterDefn("CSHullConcavityThresholdPercent", "CS impl: concavity threshold percent (0-20)", + 5f, + (s) => { return CSHullConcavityThresholdPercent; }, + (s,v) => { CSHullConcavityThresholdPercent = v; } ), + new ParameterDefn("CSHullVolumeConservationThresholdPercent", "percent volume conservation to collapse hulls (0-30)", + 5f, + (s) => { return CSHullVolumeConservationThresholdPercent; }, + (s,v) => { CSHullVolumeConservationThresholdPercent = v; } ), + new ParameterDefn("CSHullMaxVertices", "CS impl: maximum number of vertices in output hulls. Keep < 50.", + 32, + (s) => { return CSHullMaxVertices; }, + (s,v) => { CSHullMaxVertices = v; } ), + new ParameterDefn("CSHullMaxSkinWidth", "CS impl: skin width to apply to output hulls.", + 0, + (s) => { return CSHullMaxSkinWidth; }, + (s,v) => { CSHullMaxSkinWidth = v; } ), + new ParameterDefn("LinksetImplementation", "Type of linkset implementation (0=Constraint, 1=Compound, 2=Manual)", (float)BSLinkset.LinksetImplementation.Compound, (s) => { return LinksetImplementation; }, diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs b/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs index b16bc10b9c..457f204a8e 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs @@ -447,17 +447,10 @@ public sealed class BSShapeCollection : IDisposable // If the prim attributes are simple, this could be a simple Bullet native shape if (!haveShape + && nativeShapePossible && pbs != null && !pbs.SculptEntry - && nativeShapePossible - && ((pbs.SculptEntry && !BSParam.ShouldMeshSculptedPrim) - || (pbs.ProfileBegin == 0 && pbs.ProfileEnd == 0 - && pbs.ProfileHollow == 0 - && pbs.PathTwist == 0 && pbs.PathTwistBegin == 0 - && pbs.PathBegin == 0 && pbs.PathEnd == 0 - && pbs.PathTaperX == 0 && pbs.PathTaperY == 0 - && pbs.PathScaleX == 100 && pbs.PathScaleY == 100 - && pbs.PathShearX == 0 && pbs.PathShearY == 0) ) ) + && ((pbs.SculptEntry && !BSParam.ShouldMeshSculptedPrim) || PrimHasNoCuts(pbs)) ) { // Get the scale of any existing shape so we can see if the new shape is same native type and same size. OMV.Vector3 scaleOfExistingShape = OMV.Vector3.Zero; @@ -508,6 +501,18 @@ public sealed class BSShapeCollection : IDisposable return ret; } + // return 'true' if this shape description does not include any cutting or twisting. + private bool PrimHasNoCuts(PrimitiveBaseShape pbs) + { + return pbs.ProfileBegin == 0 && pbs.ProfileEnd == 0 + && pbs.ProfileHollow == 0 + && pbs.PathTwist == 0 && pbs.PathTwistBegin == 0 + && pbs.PathBegin == 0 && pbs.PathEnd == 0 + && pbs.PathTaperX == 0 && pbs.PathTaperY == 0 + && pbs.PathScaleX == 100 && pbs.PathScaleY == 100 + && pbs.PathShearX == 0 && pbs.PathShearY == 0; + } + // return 'true' if the prim's shape was changed. public bool CreateGeomMeshOrHull(BSPhysObject prim, ShapeDestructionCallback shapeCallback) { @@ -518,7 +523,7 @@ public sealed class BSShapeCollection : IDisposable if (prim.IsPhysical && BSParam.ShouldUseHullsForPhysicalObjects) { // Update prim.BSShape to reference a hull of this shape. - ret = GetReferenceToHull(prim,shapeCallback); + ret = GetReferenceToHull(prim, shapeCallback); if (DDetail) DetailLog("{0},BSShapeCollection.CreateGeom,hull,shape={1},key={2}", prim.LocalID, prim.PhysShape, prim.PhysShape.shapeKey.ToString("X")); } @@ -697,6 +702,7 @@ public sealed class BSShapeCollection : IDisposable // See that hull shape exists in the physical world and update prim.BSShape. // We could be creating the hull because scale changed or whatever. + // Return 'true' if a new hull was built. Otherwise, returning a shared hull instance. private bool GetReferenceToHull(BSPhysObject prim, ShapeDestructionCallback shapeCallback) { BulletShape newShape; @@ -715,6 +721,7 @@ public sealed class BSShapeCollection : IDisposable DereferenceShape(prim.PhysShape, shapeCallback); newShape = CreatePhysicalHull(prim.PhysObjectName, newHullKey, prim.BaseShape, prim.Size, lod); + // It might not have been created if we're waiting for an asset. newShape = VerifyMeshCreated(newShape, prim); ReferenceShape(newShape); @@ -733,14 +740,14 @@ public sealed class BSShapeCollection : IDisposable HullDesc hullDesc; if (Hulls.TryGetValue(newHullKey, out hullDesc)) { - // If the hull shape already is created, just use it. + // If the hull shape already has been created, just use the one shared instance. newShape = hullDesc.shape.Clone(); } else { - // Build a new hull in the physical world - // Pass true for physicalness as this creates some sort of bounding box which we don't need - IMesh meshData = PhysicsScene.mesher.CreateMesh(objName, pbs, size, lod, true, false); + // Build a new hull in the physical world. + // Pass true for physicalness as this prevents the creation of bounding box which is not needed + IMesh meshData = PhysicsScene.mesher.CreateMesh(objName, pbs, size, lod, true /* isPhysical */, false /* shouldCache */); if (meshData != null) { @@ -759,15 +766,35 @@ public sealed class BSShapeCollection : IDisposable convVertices.Add(new float3(vv.X, vv.Y, vv.Z)); } + uint maxDepthSplit = (uint)BSParam.CSHullMaxDepthSplit; + if (BSParam.CSHullMaxDepthSplit != BSParam.CSHullMaxDepthSplitForSimpleShapes) + { + // Simple primitive shapes we know are convex so they are better implemented with + // fewer hulls. + // Check for simple shape (prim without cuts) and reduce split parameter if so. + if (PrimHasNoCuts(pbs)) + { + maxDepthSplit = (uint)BSParam.CSHullMaxDepthSplitForSimpleShapes; + } + } + // setup and do convex hull conversion m_hulls = new List(); DecompDesc dcomp = new DecompDesc(); dcomp.mIndices = convIndices; dcomp.mVertices = convVertices; + dcomp.mDepth = maxDepthSplit; + dcomp.mCpercent = BSParam.CSHullConcavityThresholdPercent; + dcomp.mPpercent = BSParam.CSHullVolumeConservationThresholdPercent; + dcomp.mMaxVertices = (uint)BSParam.CSHullMaxVertices; + dcomp.mSkinWidth = BSParam.CSHullMaxSkinWidth; ConvexBuilder convexBuilder = new ConvexBuilder(HullReturn); // create the hull into the _hulls variable convexBuilder.process(dcomp); + DetailLog("{0},BSShapeCollection.CreatePhysicalHull,key={1},inVert={2},inInd={3},split={4},hulls={5}", + BSScene.DetailLogZero, newHullKey, indices.GetLength(0), vertices.Count, maxDepthSplit, m_hulls.Count); + // Convert the vertices and indices for passing to unmanaged. // The hull information is passed as a large floating point array. // The format is: From 953090fd62c2f8647d0e04bc3890a04a7076dbad Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sat, 23 Mar 2013 11:00:52 -0700 Subject: [PATCH 803/851] BulletSim: fix possible race condition where an prim's asset can be requested quicker than the asset fetcher returns and thus falsely reporting that an asset was not fetched and defaulting the assset to a bounding box. --- .../Physics/BulletSPlugin/BSPhysObject.cs | 12 +++++++---- .../Region/Physics/BulletSPlugin/BSPrim.cs | 2 +- .../BulletSPlugin/BSShapeCollection.cs | 21 +++++++++++++------ 3 files changed, 24 insertions(+), 11 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs index f953c1e085..6bb88c77f3 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPhysObject.cs @@ -86,7 +86,7 @@ public abstract class BSPhysObject : PhysicsActor PhysBody = new BulletBody(localID); PhysShape = new BulletShape(); - LastAssetBuildFailed = false; + PrimAssetState = PrimAssetCondition.Unknown; // Default material type. Also sets Friction, Restitution and Density. SetMaterial((int)MaterialAttributes.Material.Wood); @@ -133,9 +133,13 @@ public abstract class BSPhysObject : PhysicsActor // Reference to the physical shape (btCollisionShape) of this object public BulletShape PhysShape; - // 'true' if the mesh's underlying asset failed to build. - // This will keep us from looping after the first time the build failed. - public bool LastAssetBuildFailed { get; set; } + // The physical representation of the prim might require an asset fetch. + // The asset state is first 'Unknown' then 'Waiting' then either 'Failed' or 'Fetched'. + public enum PrimAssetCondition + { + Unknown, Waiting, Failed, Fetched + } + public PrimAssetCondition PrimAssetState { get; set; } // The objects base shape information. Null if not a prim type shape. public PrimitiveBaseShape BaseShape { get; protected set; } diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs index 2cbbe9a3fd..6a5461a4e8 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs @@ -155,7 +155,7 @@ public class BSPrim : BSPhysObject public override PrimitiveBaseShape Shape { set { BaseShape = value; - LastAssetBuildFailed = false; + PrimAssetState = PrimAssetCondition.Unknown; ForceBodyShapeRebuild(false); } } diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs b/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs index 457f204a8e..a6e20a8230 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs @@ -930,11 +930,15 @@ public sealed class BSShapeCollection : IDisposable return newShape; // If this mesh has an underlying asset and we have not failed getting it before, fetch the asset - if (prim.BaseShape.SculptEntry && !prim.LastAssetBuildFailed && prim.BaseShape.SculptTexture != OMV.UUID.Zero) + if (prim.BaseShape.SculptEntry + && prim.PrimAssetState != BSPhysObject.PrimAssetCondition.Failed + && prim.PrimAssetState != BSPhysObject.PrimAssetCondition.Waiting + && prim.BaseShape.SculptTexture != OMV.UUID.Zero + ) { - DetailLog("{0},BSShapeCollection.VerifyMeshCreated,fetchAsset,lastFailed={1}", prim.LocalID, prim.LastAssetBuildFailed); - // This will prevent looping through this code as we keep trying to get the failed shape - prim.LastAssetBuildFailed = true; + DetailLog("{0},BSShapeCollection.VerifyMeshCreated,fetchAsset", prim.LocalID); + // Multiple requestors will know we're waiting for this asset + prim.PrimAssetState = BSPhysObject.PrimAssetCondition.Waiting; BSPhysObject xprim = prim; Util.FireAndForget(delegate @@ -945,7 +949,7 @@ public sealed class BSShapeCollection : IDisposable BSPhysObject yprim = xprim; // probably not necessary, but, just in case. assetProvider(yprim.BaseShape.SculptTexture, delegate(AssetBase asset) { - bool assetFound = false; // DEBUG DEBUG + bool assetFound = false; string mismatchIDs = String.Empty; // DEBUG DEBUG if (asset != null && yprim.BaseShape.SculptEntry) { @@ -963,6 +967,10 @@ public sealed class BSShapeCollection : IDisposable mismatchIDs = yprim.BaseShape.SculptTexture.ToString() + "/" + asset.ID; } } + if (assetFound) + yprim.PrimAssetState = BSPhysObject.PrimAssetCondition.Fetched; + else + yprim.PrimAssetState = BSPhysObject.PrimAssetCondition.Failed; DetailLog("{0},BSShapeCollection,fetchAssetCallback,found={1},isSculpt={2},ids={3}", yprim.LocalID, assetFound, yprim.BaseShape.SculptEntry, mismatchIDs ); @@ -970,6 +978,7 @@ public sealed class BSShapeCollection : IDisposable } else { + xprim.PrimAssetState = BSPhysObject.PrimAssetCondition.Failed; PhysicsScene.Logger.ErrorFormat("{0} Physical object requires asset but no asset provider. Name={1}", LogHeader, PhysicsScene.Name); } @@ -977,7 +986,7 @@ public sealed class BSShapeCollection : IDisposable } else { - if (prim.LastAssetBuildFailed) + if (prim.PrimAssetState == BSPhysObject.PrimAssetCondition.Failed) { PhysicsScene.Logger.ErrorFormat("{0} Mesh failed to fetch asset. lID={1}, texture={2}", LogHeader, prim.LocalID, prim.BaseShape.SculptTexture); From c96a6f1de6d5e66dd2055365c26144d7a92f2fc5 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sat, 23 Mar 2013 11:03:59 -0700 Subject: [PATCH 804/851] BulletSim: small tweaks and formatting in the parameter fetching code. --- .../Region/Physics/BulletSPlugin/BSParam.cs | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs index 26d2d60e9f..f3454c8daf 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs @@ -203,10 +203,10 @@ public static class BSParam public delegate void PSetOnObject(BSScene scene, BSPhysObject obj); public sealed class ParameterDefn : ParameterDefnBase { - T defaultValue; - PSetValue setter; - PGetValue getter; - PSetOnObject objectSet; + private T defaultValue; + private PSetValue setter; + private PGetValue getter; + private PSetOnObject objectSet; public ParameterDefn(string pName, string pDesc, T pDefault, PGetValue pGetter, PSetValue pSetter) : base(pName, pDesc) { @@ -223,13 +223,23 @@ public static class BSParam getter = pGetter; objectSet = pObjSetter; } + /* Wish I could simplify using this definition but CLR doesn't store references so closure around delegates of references won't work + public ParameterDefn(string pName, string pDesc, T pDefault, ref T loc) + : base(pName, pDesc) + { + defaultValue = pDefault; + setter = (s, v) => { loc = v; }; + getter = (s) => { return loc; }; + objectSet = null; + } + */ public override void AssignDefault(BSScene s) { setter(s, defaultValue); } public override string GetValue(BSScene s) { - return String.Format("{0}", getter(s)); + return getter(s).ToString(); } public override void SetValue(BSScene s, string valAsString) { @@ -252,6 +262,7 @@ public static class BSParam try { T setValue = (T)parser.Invoke(genericType, new Object[] { valAsString }); + // Store the parsed value setter(s, setValue); // s.Logger.DebugFormat("{0} Parameter {1} = {2}", LogHeader, name, setValue); } From 285dc554ece0b504cb549193096f84c9c0cfe89f Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Mon, 25 Mar 2013 15:19:55 -0700 Subject: [PATCH 805/851] BulletSim: new algorithm for vertical attraction which uses quaternion arithmetic to compute the shortest path between the current tilt and vertical. --- .../Physics/BulletSPlugin/BSDynamics.cs | 48 +++++++++++++++++-- 1 file changed, 45 insertions(+), 3 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs index 5549984d65..65df741962 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs @@ -321,7 +321,7 @@ namespace OpenSim.Region.Physics.BulletSPlugin } } - internal void ProcessTypeChange(Vehicle pType) + public void ProcessTypeChange(Vehicle pType) { VDetailLog("{0},ProcessTypeChange,type={1}", Prim.LocalID, pType); // Set Defaults For Type @@ -1301,14 +1301,52 @@ namespace OpenSim.Region.Physics.BulletSPlugin // efficiency of 1.0 will cause the spring to reach its equilibrium with exponential decay. public void ComputeAngularVerticalAttraction() { + // If vertical attaction timescale is reasonable if (enableAngularVerticalAttraction && m_verticalAttractionTimescale < m_verticalAttractionCutoff) { + // Possible solution derived from a discussion at: + // http://stackoverflow.com/questions/14939657/computing-vector-from-quaternion-works-computing-quaternion-from-vector-does-no + + // Create a rotation that is only the vehicle's rotation around Z + Vector3 currentEuler = Vector3.Zero; + VehicleOrientation.GetEulerAngles(out currentEuler.X, out currentEuler.Y, out currentEuler.Z); + Quaternion justZOrientation = Quaternion.CreateFromAxisAngle(Vector3.UnitZ, currentEuler.Z); + + // Create the axis that is perpendicular to the up vector and the rotated up vector. + Vector3 differenceAxis = Vector3.Cross(Vector3.UnitZ * justZOrientation, Vector3.UnitZ * VehicleOrientation); + // Compute the angle between those to vectors. + double differenceAngle = Math.Acos((double)Vector3.Dot(Vector3.UnitZ, Vector3.Normalize(Vector3.UnitZ * VehicleOrientation))); + // 'differenceAngle' is the angle to rotate and 'differenceAxis' is the plane to rotate in to get the vehicle vertical + + // Reduce the change by the time period it is to change in. Timestep is handled when velocity is applied. + // TODO: add 'efficiency'. + differenceAngle /= m_verticalAttractionTimescale; + + // Create the quaterian representing the correction angle + Quaternion correctionRotation = Quaternion.CreateFromAxisAngle(differenceAxis, (float)differenceAngle); + + // Turn that quaternion into Euler values to make it into velocities to apply. + Vector3 vertContributionV = Vector3.Zero; + correctionRotation.GetEulerAngles(out vertContributionV.X, out vertContributionV.Y, out vertContributionV.Z); + vertContributionV *= -1f; + + VehicleRotationalVelocity += vertContributionV; + + VDetailLog("{0}, MoveAngular,verticalAttraction,diffAxis={1},diffAng={2},corrRot={3},contrib={4}", + Prim.LocalID, + differenceAxis, + differenceAngle, + correctionRotation, + vertContributionV); + + // =================================================================== + /* Vector3 vertContributionV = Vector3.Zero; Vector3 origRotVelW = VehicleRotationalVelocity; // DEBUG DEBUG // Take a vector pointing up and convert it from world to vehicle relative coords. - Vector3 verticalError = Vector3.UnitZ * VehicleOrientation; + Vector3 verticalError = Vector3.Normalize(Vector3.UnitZ * VehicleOrientation); // If vertical attraction correction is needed, the vector that was pointing up (UnitZ) // is now: @@ -1334,13 +1372,17 @@ namespace OpenSim.Region.Physics.BulletSPlugin // 'vertContrbution' is now the necessary angular correction to correct tilt in one second. // Correction happens over a number of seconds. Vector3 unscaledContribVerticalErrorV = vertContributionV; // DEBUG DEBUG + + // The correction happens over the user's time period vertContributionV /= m_verticalAttractionTimescale; - VehicleRotationalVelocity += vertContributionV; + // Rotate the vehicle rotation to the world coordinates. + VehicleRotationalVelocity += (vertContributionV * VehicleOrientation); VDetailLog("{0}, MoveAngular,verticalAttraction,,origRotVW={1},vertError={2},unscaledV={3},eff={4},ts={5},vertContribV={6}", Prim.LocalID, origRotVelW, verticalError, unscaledContribVerticalErrorV, m_verticalAttractionEfficiency, m_verticalAttractionTimescale, vertContributionV); + */ } } From 5f4c4df227025c6b6156ce8238b56553dca4b5ae Mon Sep 17 00:00:00 2001 From: Melanie Date: Tue, 26 Mar 2013 03:40:06 +0000 Subject: [PATCH 806/851] Phase 1 of implementing a transfer permission. Overwrite libOMV's PermissionMask with our own and add export permissions as well as a new definition for "All" as meaning "all conventional permissions" rather than "all possible permissions" --- .../RemoteController/RemoteAdminPlugin.cs | 1 + OpenSim/Framework/Util.cs | 15 +++++++++++++++ .../Linden/Caps/BunchOfCaps/BunchOfCaps.cs | 5 +++-- .../NewFileAgentInventoryVariablePriceModule.cs | 1 + .../Region/ClientStack/Linden/UDP/LLClientView.cs | 8 +++++--- .../Agent/AssetTransaction/AssetXferUploader.cs | 5 +++-- .../Avatar/AvatarFactory/AvatarFactoryModule.cs | 1 + .../Avatar/Friends/CallingCardModule.cs | 1 + .../InventoryAccess/InventoryAccessModule.cs | 9 ++++++--- .../Framework/Library/LibraryModule.cs | 1 + .../World/Archiver/ArchiveWriteRequest.cs | 1 + .../World/Objects/BuySell/BuySellModule.cs | 1 + .../World/Permissions/PermissionsModule.cs | 1 + .../Region/Framework/Scenes/Scene.Inventory.cs | 7 ++++--- OpenSim/Region/Framework/Scenes/Scene.cs | 1 + .../Scenes/SceneObjectGroup.Inventory.cs | 1 + .../Region/Framework/Scenes/SceneObjectGroup.cs | 1 + .../Region/Framework/Scenes/SceneObjectPart.cs | 1 + .../Framework/Scenes/SceneObjectPartInventory.cs | 1 + .../Avatar/Attachments/TempAttachmentsModule.cs | 1 + .../Scripting/JsonStore/JsonStoreScriptModule.cs | 3 ++- .../Shared/Api/Implementation/LSL_Api.cs | 1 + .../Shared/Api/Implementation/OSSL_Api.cs | 5 +++-- .../SimianGrid/SimianInventoryServiceConnector.cs | 3 +++ .../Services/InventoryService/LibraryService.cs | 1 + .../UserAccountService/UserAccountService.cs | 3 ++- OpenSim/Tools/pCampBot/Bot.cs | 5 +++-- 27 files changed, 65 insertions(+), 19 deletions(-) diff --git a/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs b/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs index a75d10d417..69834793c1 100644 --- a/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs +++ b/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs @@ -50,6 +50,7 @@ using OpenSim.Region.Framework.Scenes; using OpenSim.Services.Interfaces; using PresenceInfo = OpenSim.Services.Interfaces.PresenceInfo; using GridRegion = OpenSim.Services.Interfaces.GridRegion; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.ApplicationPlugins.RemoteController { diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs index 94a172c399..bde46731a1 100644 --- a/OpenSim/Framework/Util.cs +++ b/OpenSim/Framework/Util.cs @@ -54,6 +54,21 @@ using Amib.Threading; namespace OpenSim.Framework { + [Flags] + public enum PermissionMask : uint + { + None = 0, + Transfer = 1 << 13, + Modify = 1 << 14, + Copy = 1 << 15, + Export = 1 << 16, + Move = 1 << 19, + Damage = 1 << 20, + // All does not contain Export, which is special and must be + // explicitly given + All = (1 << 13) | (1 << 14) | (1 << 15) | (1 << 19) + } + /// /// The method used by Util.FireAndForget for asynchronously firing events /// diff --git a/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs b/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs index 20df8a6a2e..87524043c9 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs @@ -49,6 +49,7 @@ using OpenSim.Services.Interfaces; using Caps = OpenSim.Framework.Capabilities.Caps; using OSDArray = OpenMetaverse.StructuredData.OSDArray; using OSDMap = OpenMetaverse.StructuredData.OSDMap; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.ClientStack.Linden { @@ -705,9 +706,9 @@ namespace OpenSim.Region.ClientStack.Linden // If we set PermissionMask.All then when we rez the item the next permissions will replace the current // (owner) permissions. This becomes a problem if next permissions are changed. item.CurrentPermissions - = (uint)(PermissionMask.Move | PermissionMask.Copy | PermissionMask.Modify | PermissionMask.Transfer); + = (uint)(PermissionMask.Move | PermissionMask.Copy | PermissionMask.Modify | PermissionMask.Transfer | PermissionMask.Export); - item.BasePermissions = (uint)PermissionMask.All; + item.BasePermissions = (uint)PermissionMask.All | (uint)PermissionMask.Export; item.EveryOnePermissions = 0; item.NextPermissions = (uint)PermissionMask.All; item.CreationDate = Util.UnixTimeSinceEpoch(); diff --git a/OpenSim/Region/ClientStack/Linden/Caps/NewFileAgentInventoryVariablePriceModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/NewFileAgentInventoryVariablePriceModule.cs index 5529550fe1..f69a0bb596 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/NewFileAgentInventoryVariablePriceModule.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/NewFileAgentInventoryVariablePriceModule.cs @@ -44,6 +44,7 @@ using OpenSim.Region.Framework.Scenes; using OpenSim.Services.Interfaces; using Caps = OpenSim.Framework.Capabilities.Caps; using OpenSim.Framework.Capabilities; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.ClientStack.Linden { diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 7ea538c907..110e50e32c 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs @@ -51,6 +51,7 @@ using RegionFlags = OpenMetaverse.RegionFlags; using Nini.Config; using System.IO; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.ClientStack.LindenUDP { @@ -1808,7 +1809,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP public void SendInventoryItemDetails(UUID ownerID, InventoryItemBase item) { - const uint FULL_MASK_PERMISSIONS = (uint)PermissionMask.All; + // Fudge this value. It's only needed to make the CRC anyway + const uint FULL_MASK_PERMISSIONS = (uint)0x7fffffff; FetchInventoryReplyPacket inventoryReply = (FetchInventoryReplyPacket)PacketPool.Instance.GetPacket(PacketType.FetchInventoryReply); // TODO: don't create new blocks if recycling an old packet @@ -2013,7 +2015,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP protected void SendBulkUpdateInventoryItem(InventoryItemBase item) { - const uint FULL_MASK_PERMISSIONS = (uint)PermissionMask.All; + const uint FULL_MASK_PERMISSIONS = (uint)0x7ffffff; BulkUpdateInventoryPacket bulkUpdate = (BulkUpdateInventoryPacket)PacketPool.Instance.GetPacket(PacketType.BulkUpdateInventory); @@ -2067,7 +2069,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP /// IClientAPI.SendInventoryItemCreateUpdate(InventoryItemBase) public void SendInventoryItemCreateUpdate(InventoryItemBase Item, uint callbackId) { - const uint FULL_MASK_PERMISSIONS = (uint)PermissionMask.All; + const uint FULL_MASK_PERMISSIONS = (uint)0x7fffffff; UpdateCreateInventoryItemPacket InventoryReply = (UpdateCreateInventoryItemPacket)PacketPool.Instance.GetPacket( diff --git a/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs b/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs index 11efe6df67..5e772e6e4a 100644 --- a/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs +++ b/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetXferUploader.cs @@ -33,6 +33,7 @@ using OpenMetaverse; using OpenSim.Framework; using OpenSim.Region.Framework.Scenes; using OpenSim.Services.Interfaces; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.CoreModules.Agent.AssetTransaction { @@ -406,8 +407,8 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction item.AssetType = type; item.InvType = invType; item.Folder = InventFolder; - item.BasePermissions = 0x7fffffff; - item.CurrentPermissions = 0x7fffffff; + item.BasePermissions = (uint)(PermissionMask.All | PermissionMask.Export); + item.CurrentPermissions = item.BasePermissions; item.GroupPermissions=0; item.EveryOnePermissions=0; item.NextPermissions = nextPerm; diff --git a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs index ff5bf9f99c..c7ac7c4ef5 100644 --- a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs @@ -40,6 +40,7 @@ using OpenSim.Region.Framework.Scenes; using OpenSim.Services.Interfaces; using Mono.Addins; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory { diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/CallingCardModule.cs b/OpenSim/Region/CoreModules/Avatar/Friends/CallingCardModule.cs index 5ec0ea94b4..b44a5c9514 100644 --- a/OpenSim/Region/CoreModules/Avatar/Friends/CallingCardModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Friends/CallingCardModule.cs @@ -36,6 +36,7 @@ using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes; using OpenSim.Services.Interfaces; using Mono.Addins; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.CoreModules.Avatar.Friends { diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs index 8b7c16e1ca..eaf4ce2740 100644 --- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs +++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs @@ -47,6 +47,7 @@ using OpenMetaverse; using log4net; using Nini.Config; using Mono.Addins; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.CoreModules.Framework.InventoryAccess { @@ -377,7 +378,8 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess objectGroup.RootPart.NextOwnerMask &= ((uint)PermissionMask.Copy | (uint)PermissionMask.Transfer | - (uint)PermissionMask.Modify); + (uint)PermissionMask.Modify | + (uint)PermissionMask.Export); objectGroup.RootPart.NextOwnerMask |= (uint)PermissionMask.Move; @@ -485,7 +487,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess InventoryItemBase item, SceneObjectGroup so, List objsForEffectivePermissions, IClientAPI remoteClient) { - uint effectivePerms = (uint)(PermissionMask.Copy | PermissionMask.Transfer | PermissionMask.Modify | PermissionMask.Move) | 7; + uint effectivePerms = (uint)(PermissionMask.Copy | PermissionMask.Transfer | PermissionMask.Modify | PermissionMask.Move | PermissionMask.Export) | 7; foreach (SceneObjectGroup grp in objsForEffectivePermissions) effectivePerms &= grp.GetEffectivePermissions(); effectivePerms |= (uint)PermissionMask.Move; @@ -525,6 +527,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess (uint)PermissionMask.Transfer | (uint)PermissionMask.Modify | (uint)PermissionMask.Move | + (uint)PermissionMask.Export | 7); // Preserve folded permissions } @@ -1150,4 +1153,4 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess #endregion } -} \ No newline at end of file +} diff --git a/OpenSim/Region/CoreModules/Framework/Library/LibraryModule.cs b/OpenSim/Region/CoreModules/Framework/Library/LibraryModule.cs index ec22146dbf..d07cff4d28 100644 --- a/OpenSim/Region/CoreModules/Framework/Library/LibraryModule.cs +++ b/OpenSim/Region/CoreModules/Framework/Library/LibraryModule.cs @@ -43,6 +43,7 @@ using OpenMetaverse; using log4net; using Mono.Addins; using Nini.Config; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.CoreModules.Framework.Library { diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs index 367693d00d..a990898570 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs @@ -44,6 +44,7 @@ using Ionic.Zlib; using GZipStream = Ionic.Zlib.GZipStream; using CompressionMode = Ionic.Zlib.CompressionMode; using OpenSim.Framework.Serialization.External; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.CoreModules.World.Archiver { diff --git a/OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs b/OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs index 1e4f0a4e93..22a53a84f4 100644 --- a/OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs +++ b/OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs @@ -38,6 +38,7 @@ using OpenSim.Region.Framework; using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes; using OpenSim.Region.Framework.Scenes.Serialization; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.CoreModules.World.Objects.BuySell { diff --git a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs index 121fb2aaae..79dd4a09d2 100644 --- a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs +++ b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs @@ -38,6 +38,7 @@ using OpenSim.Region.Framework.Scenes; using OpenSim.Services.Interfaces; using Mono.Addins; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.CoreModules.World.Permissions { diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index 6808017624..2ce778db8f 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs @@ -39,6 +39,7 @@ using OpenSim.Region.Framework; using OpenSim.Framework.Client; using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes.Serialization; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.Framework.Scenes { @@ -892,7 +893,7 @@ namespace OpenSim.Region.Framework.Scenes { CreateNewInventoryItem( remoteClient, creatorID, creatorData, folderID, name, description, flags, callbackID, asset, invType, - (uint)PermissionMask.All, (uint)PermissionMask.All, 0, nextOwnerMask, 0, creationDate); + (uint)PermissionMask.All | (uint)PermissionMask.Export, (uint)PermissionMask.All | (uint)PermissionMask.Export, 0, nextOwnerMask, 0, creationDate); } /// @@ -1010,8 +1011,8 @@ namespace OpenSim.Region.Framework.Scenes CreateNewInventoryItem( remoteClient, remoteClient.AgentId.ToString(), string.Empty, folderID, name, description, 0, callbackID, asset, invType, - (uint)PermissionMask.All, (uint)PermissionMask.All, (uint)PermissionMask.All, - (uint)PermissionMask.All, (uint)PermissionMask.All, Util.UnixTimeSinceEpoch()); + (uint)PermissionMask.All | (uint)PermissionMask.Export, (uint)PermissionMask.All | (uint)PermissionMask.Export, (uint)PermissionMask.All, + (uint)PermissionMask.All | (uint)PermissionMask.Export, (uint)PermissionMask.All | (uint)PermissionMask.Export, Util.UnixTimeSinceEpoch()); } else { diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index e8f00a4d90..45cbdd574d 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -51,6 +51,7 @@ using OpenSim.Region.Physics.Manager; using Timer=System.Timers.Timer; using TPFlags = OpenSim.Framework.Constants.TeleportFlags; using GridRegion = OpenSim.Services.Interfaces.GridRegion; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.Framework.Scenes { diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs index ddf5da0ba4..dcb62f88e8 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.Inventory.cs @@ -34,6 +34,7 @@ using OpenSim.Framework; using OpenSim.Region.Framework.Interfaces; using System.Collections.Generic; using System.Xml; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.Framework.Scenes { diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 15795e5a64..0621e2a2f6 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs @@ -40,6 +40,7 @@ using OpenSim.Framework; using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Physics.Manager; using OpenSim.Region.Framework.Scenes.Serialization; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.Framework.Scenes { diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index a8b63fedeb..27325c554c 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -43,6 +43,7 @@ using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes.Scripting; using OpenSim.Region.Framework.Scenes.Serialization; using OpenSim.Region.Physics.Manager; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.Framework.Scenes { diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs index db723fa481..7dba7c8e62 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs @@ -38,6 +38,7 @@ using OpenSim.Framework; using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes.Scripting; using OpenSim.Region.Framework.Scenes.Serialization; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.Framework.Scenes { diff --git a/OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs b/OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs index e9ddbbe958..54c86ae82d 100644 --- a/OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs @@ -40,6 +40,7 @@ using OpenSim.Framework.Monitoring; using OpenSim.Region.ClientStack.LindenUDP; using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.OptionalModules.Avatar.Attachments { diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs index 4a754a915b..1bb5aee796 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs @@ -42,6 +42,7 @@ using OpenSim.Region.Framework.Scenes; using OpenSim.Region.Framework.Scenes.Scripting; using System.Collections.Generic; using System.Text.RegularExpressions; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.OptionalModules.Scripting.JsonStore { @@ -643,4 +644,4 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore } } -} \ No newline at end of file +} diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index e1f0071293..aab41f505b 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -67,6 +67,7 @@ using LSL_Rotation = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion; using LSL_String = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString; using LSL_Vector = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3; using System.Reflection; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.ScriptEngine.Shared.Api { diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index bf1b45b3a6..415166a8c6 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -62,6 +62,7 @@ using LSL_List = OpenSim.Region.ScriptEngine.Shared.LSL_Types.list; using LSL_Rotation = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion; using LSL_String = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString; using LSL_Vector = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.ScriptEngine.Shared.Api { @@ -1787,8 +1788,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api taskItem.InvType = (int)InventoryType.Notecard; taskItem.OwnerID = m_host.OwnerID; taskItem.CreatorID = m_host.OwnerID; - taskItem.BasePermissions = (uint)PermissionMask.All; - taskItem.CurrentPermissions = (uint)PermissionMask.All; + taskItem.BasePermissions = (uint)PermissionMask.All | (uint)PermissionMask.Export; + taskItem.CurrentPermissions = (uint)PermissionMask.All | (uint)PermissionMask.Export; taskItem.EveryonePermissions = 0; taskItem.NextPermissions = (uint)PermissionMask.All; taskItem.GroupID = m_host.GroupID; diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs index a3912758aa..36325ce483 100644 --- a/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs +++ b/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs @@ -38,12 +38,14 @@ using OpenSim.Framework; using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes; using OpenSim.Services.Interfaces; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Services.Connectors.SimianGrid { /// /// Permissions bitflags /// + /* [Flags] public enum PermissionMask : uint { @@ -55,6 +57,7 @@ namespace OpenSim.Services.Connectors.SimianGrid Damage = 1 << 20, All = 0x7FFFFFFF } + */ /// /// Connects avatar inventories to the SimianGrid backend diff --git a/OpenSim/Services/InventoryService/LibraryService.cs b/OpenSim/Services/InventoryService/LibraryService.cs index f90895b203..c4a557284a 100644 --- a/OpenSim/Services/InventoryService/LibraryService.cs +++ b/OpenSim/Services/InventoryService/LibraryService.cs @@ -38,6 +38,7 @@ using OpenSim.Services.Interfaces; using log4net; using Nini.Config; using OpenMetaverse; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Services.InventoryService { diff --git a/OpenSim/Services/UserAccountService/UserAccountService.cs b/OpenSim/Services/UserAccountService/UserAccountService.cs index 5b4d040f35..1852e4fe1f 100644 --- a/OpenSim/Services/UserAccountService/UserAccountService.cs +++ b/OpenSim/Services/UserAccountService/UserAccountService.cs @@ -36,6 +36,7 @@ using OpenSim.Framework; using OpenSim.Services.Interfaces; using OpenSim.Framework.Console; using GridRegion = OpenSim.Services.Interfaces.GridRegion; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Services.UserAccountService { @@ -665,4 +666,4 @@ namespace OpenSim.Services.UserAccountService } } } -} \ No newline at end of file +} diff --git a/OpenSim/Tools/pCampBot/Bot.cs b/OpenSim/Tools/pCampBot/Bot.cs index daaa3c0070..9821180bc6 100644 --- a/OpenSim/Tools/pCampBot/Bot.cs +++ b/OpenSim/Tools/pCampBot/Bot.cs @@ -40,6 +40,7 @@ using OpenSim.Framework; using OpenSim.Framework.Console; using pCampBot.Interfaces; using Timer = System.Timers.Timer; +using PermissionMask = OpenSim.Framework.PermissionMask; namespace pCampBot { @@ -362,7 +363,7 @@ namespace pCampBot asset.Encode(); transid = Client.Assets.RequestUpload(asset,true); Client.Inventory.RequestCreateItem(clothfolder.UUID, "MyClothing" + i.ToString(), "MyClothing", AssetType.Clothing, - transid, InventoryType.Wearable, asset.WearableType, PermissionMask.All, delegate(bool success, InventoryItem item) + transid, InventoryType.Wearable, asset.WearableType, (OpenMetaverse.PermissionMask)PermissionMask.All, delegate(bool success, InventoryItem item) { if (success) { @@ -386,7 +387,7 @@ namespace pCampBot asset.Encode(); transid = Client.Assets.RequestUpload(asset,true); Client.Inventory.RequestCreateItem(clothfolder.UUID, "MyBodyPart" + i.ToString(), "MyBodyPart", AssetType.Bodypart, - transid, InventoryType.Wearable, asset.WearableType, PermissionMask.All, delegate(bool success, InventoryItem item) + transid, InventoryType.Wearable, asset.WearableType, (OpenMetaverse.PermissionMask)PermissionMask.All, delegate(bool success, InventoryItem item) { if (success) { From e82fab34d7377a7d9bfc223f093ac67b393677cc Mon Sep 17 00:00:00 2001 From: Melanie Date: Tue, 26 Mar 2013 19:00:30 +0000 Subject: [PATCH 807/851] Implement a pref to turn on the simulator ExportSupported feature entry. This tells the viewer to enable the UI for export permissions. WARNING: If your inventory store contains invalid flags data, this will result in items becoming exportable! Don't turn this on in production until it's complete! --- .../ClientStack/Linden/Caps/SimulatorFeaturesModule.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/OpenSim/Region/ClientStack/Linden/Caps/SimulatorFeaturesModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/SimulatorFeaturesModule.cs index 6ef8815026..7d9f935d42 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/SimulatorFeaturesModule.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/SimulatorFeaturesModule.cs @@ -70,6 +70,7 @@ namespace OpenSim.Region.ClientStack.Linden private string m_MapImageServerURL = string.Empty; private string m_SearchURL = string.Empty; + private bool m_ExportSupported = false; #region ISharedRegionModule Members @@ -87,6 +88,8 @@ namespace OpenSim.Region.ClientStack.Linden } m_SearchURL = config.GetString("SearchServerURI", string.Empty); + + m_ExportSupported = config.GetBoolean("ExportSupported", m_ExportSupported); } AddDefaultFeatures(); @@ -152,6 +155,9 @@ namespace OpenSim.Region.ClientStack.Linden if (m_SearchURL != string.Empty) gridServicesMap["search"] = m_SearchURL; m_features["GridServices"] = gridServicesMap; + + if (m_ExportSupported) + m_features["ExportSupported"] = true; } } From 3f0f313a764213e928aeb57968efbdd0e4c851cd Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Tue, 26 Mar 2013 20:25:58 +0000 Subject: [PATCH 808/851] Make llGetLinkPrimitiveParams() and llGetPrimitiveParams() work for avatars in a linkset. llGetPrimitiveParams() works through PRIM_LINK_TARGET Setting via llSetLinkPrimitiveParams(), etc. not yet implemented --- .../Shared/Api/Implementation/LSL_Api.cs | 236 +++++++++++++++--- 1 file changed, 200 insertions(+), 36 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index e1f0071293..bf3d8ab969 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -5923,8 +5923,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } else { - agentSize = new LSL_Vector(0.45, 0.6, avatar.Appearance.AvatarHeight); + agentSize = GetAgentSize(avatar); } + return agentSize; } @@ -7948,61 +7949,224 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return new LSL_Vector(m_host.GetGeometricCenter()); } + public LSL_List GetEntityParams(ISceneEntity entity, LSL_List rules) + { + LSL_List result = new LSL_List(); + LSL_List remaining = null; + + while (true) + { + if (entity is SceneObjectPart) + remaining = GetPrimParams((SceneObjectPart)entity, rules, ref result); + else + remaining = GetAgentParams((ScenePresence)entity, rules, ref result); + + if (remaining == null || remaining.Length <= 2) + return result; + + int linknumber = remaining.GetLSLIntegerItem(0); + rules = remaining.GetSublist(1, -1); + entity = GetLinkEntity(linknumber); + } + } + public LSL_List llGetPrimitiveParams(LSL_List rules) { m_host.AddScriptLPS(1); - LSL_List result = new LSL_List(); - - LSL_List remaining = GetPrimParams(m_host, rules, ref result); - - while (remaining != null && remaining.Length > 2) - { - int linknumber = remaining.GetLSLIntegerItem(0); - rules = remaining.GetSublist(1, -1); - List parts = GetLinkParts(linknumber); - - foreach (SceneObjectPart part in parts) - remaining = GetPrimParams(part, rules, ref result); - } - - return result; + return GetEntityParams(m_host, rules); } public LSL_List llGetLinkPrimitiveParams(int linknumber, LSL_List rules) { m_host.AddScriptLPS(1); - List parts = GetLinkParts(linknumber); + return GetEntityParams(GetLinkEntity(linknumber), rules); + } - LSL_List res = new LSL_List(); - LSL_List remaining = null; + public LSL_Vector GetAgentSize(ScenePresence sp) + { + return new LSL_Vector(0.45, 0.6, sp.Appearance.AvatarHeight); + } - foreach (SceneObjectPart part in parts) + /// + /// Gets params for a seated avatar in a linkset. + /// + /// + /// + /// + /// + public LSL_List GetAgentParams(ScenePresence sp, LSL_List rules, ref LSL_List res) + { + int idx = 0; + while (idx < rules.Length) { - remaining = GetPrimParams(part, rules, ref res); + int code = (int)rules.GetLSLIntegerItem(idx++); + int remain = rules.Length-idx; + + switch (code) + { + case (int)ScriptBaseClass.PRIM_MATERIAL: + res.Add(new LSL_Integer(ScriptBaseClass.PRIM_MATERIAL_FLESH)); + break; + + case (int)ScriptBaseClass.PRIM_PHYSICS: + res.Add(ScriptBaseClass.FALSE); + break; + + case (int)ScriptBaseClass.PRIM_TEMP_ON_REZ: + res.Add(ScriptBaseClass.FALSE); + break; + + case (int)ScriptBaseClass.PRIM_PHANTOM: + res.Add(ScriptBaseClass.FALSE); + break; + + case (int)ScriptBaseClass.PRIM_POSITION: + res.Add(new LSL_Vector(sp.AbsolutePosition)); + break; + + case (int)ScriptBaseClass.PRIM_SIZE: + res.Add(GetAgentSize(sp)); + break; + + case (int)ScriptBaseClass.PRIM_ROTATION: + res.Add(sp.GetWorldRotation()); + break; + + case (int)ScriptBaseClass.PRIM_TYPE: + res.Add(new LSL_Integer(ScriptBaseClass.PRIM_TYPE_BOX)); + res.Add(new LSL_Integer(ScriptBaseClass.PRIM_HOLE_DEFAULT)); + res.Add(new LSL_Vector(0, 1, 0)); + res.Add(new LSL_Float(0)); + res.Add(new LSL_Vector(0, 0, 0)); + res.Add(new LSL_Vector(1, 1, 0)); + res.Add(new LSL_Vector(0, 0, 0)); + break; + + case (int)ScriptBaseClass.PRIM_TEXTURE: + if (remain < 1) + return null; + + int face = (int)rules.GetLSLIntegerItem(idx++); + if (face > 21) + break; + + res.Add(new LSL_String("")); + res.Add(ScriptBaseClass.ZERO_VECTOR); + res.Add(ScriptBaseClass.ZERO_VECTOR); + res.Add(new LSL_Float(0)); + break; + + case (int)ScriptBaseClass.PRIM_COLOR: + if (remain < 1) + return null; + + face = (int)rules.GetLSLIntegerItem(idx++); + if (face > 21) + break; + + res.Add(ScriptBaseClass.ZERO_VECTOR); + res.Add(new LSL_Float(0)); + break; + + case (int)ScriptBaseClass.PRIM_BUMP_SHINY: + if (remain < 1) + return null; + + face = (int)rules.GetLSLIntegerItem(idx++); + if (face > 21) + break; + + res.Add(ScriptBaseClass.PRIM_SHINY_NONE); + res.Add(ScriptBaseClass.PRIM_BUMP_NONE); + break; + + case (int)ScriptBaseClass.PRIM_FULLBRIGHT: + if (remain < 1) + return null; + + face = (int)rules.GetLSLIntegerItem(idx++); + if (face > 21) + break; + + res.Add(ScriptBaseClass.FALSE); + break; + + case (int)ScriptBaseClass.PRIM_FLEXIBLE: + res.Add(ScriptBaseClass.FALSE); + res.Add(new LSL_Integer(0)); + res.Add(new LSL_Float(0)); + res.Add(new LSL_Float(0)); + res.Add(new LSL_Float(0)); + res.Add(new LSL_Float(0)); + res.Add(ScriptBaseClass.ZERO_VECTOR); + break; + + case (int)ScriptBaseClass.PRIM_TEXGEN: + if (remain < 1) + return null; + + face = (int)rules.GetLSLIntegerItem(idx++); + if (face > 21) + break; + + res.Add(ScriptBaseClass.PRIM_TEXGEN_DEFAULT); + break; + + case (int)ScriptBaseClass.PRIM_POINT_LIGHT: + res.Add(ScriptBaseClass.FALSE); + res.Add(ScriptBaseClass.ZERO_VECTOR); + res.Add(ScriptBaseClass.ZERO_VECTOR); + break; + + case (int)ScriptBaseClass.PRIM_GLOW: + if (remain < 1) + return null; + + face = (int)rules.GetLSLIntegerItem(idx++); + if (face > 21) + break; + + res.Add(new LSL_Float(0)); + break; + + case (int)ScriptBaseClass.PRIM_TEXT: + res.Add(new LSL_String("")); + res.Add(ScriptBaseClass.ZERO_VECTOR); + res.Add(new LSL_Float(1)); + break; + + case (int)ScriptBaseClass.PRIM_ROT_LOCAL: + res.Add(new LSL_Rotation(sp.Rotation)); + break; + + case (int)ScriptBaseClass.PRIM_POS_LOCAL: + res.Add(new LSL_Vector(sp.OffsetPosition)); + break; + + case (int)ScriptBaseClass.PRIM_SLICE: + res.Add(new LSL_Vector(0, 1, 0)); + break; + + case (int)ScriptBaseClass.PRIM_LINK_TARGET: + if(remain < 3) + return null; + + return rules.GetSublist(idx, -1); + } } - while (remaining != null && remaining.Length > 2) - { - linknumber = remaining.GetLSLIntegerItem(0); - rules = remaining.GetSublist(1, -1); - parts = GetLinkParts(linknumber); - - foreach (SceneObjectPart part in parts) - remaining = GetPrimParams(part, rules, ref res); - } - - return res; + return null; } public LSL_List GetPrimParams(SceneObjectPart part, LSL_List rules, ref LSL_List res) { - int idx=0; + int idx = 0; while (idx < rules.Length) { - int code=(int)rules.GetLSLIntegerItem(idx++); - int remain=rules.Length-idx; + int code = (int)rules.GetLSLIntegerItem(idx++); + int remain = rules.Length-idx; switch (code) { @@ -8245,7 +8409,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (remain < 1) return null; - face=(int)rules.GetLSLIntegerItem(idx++); + face = (int)rules.GetLSLIntegerItem(idx++); tex = part.Shape.Textures; if (face == ScriptBaseClass.ALL_SIDES) From abde0d4efb897581df2a6a7be591de2224611b90 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Tue, 26 Mar 2013 15:02:10 -0700 Subject: [PATCH 809/851] BulletSim: prevent asset fetching loop when the fetched asset fails to mesh. Check for the case where the fetched mesh asset fails meshing (degenerate triangles or no physical mesh). In this case, the asset is marked 'failed' and BulletSim doesn't keep trying to fetch over-and-over trying to get a good asset. --- .../BulletSPlugin/BSShapeCollection.cs | 124 ++++++++++-------- 1 file changed, 68 insertions(+), 56 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs b/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs index a6e20a8230..b6ac23d6a0 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs @@ -929,67 +929,79 @@ public sealed class BSShapeCollection : IDisposable if (newShape.HasPhysicalShape) return newShape; - // If this mesh has an underlying asset and we have not failed getting it before, fetch the asset - if (prim.BaseShape.SculptEntry - && prim.PrimAssetState != BSPhysObject.PrimAssetCondition.Failed - && prim.PrimAssetState != BSPhysObject.PrimAssetCondition.Waiting - && prim.BaseShape.SculptTexture != OMV.UUID.Zero - ) + // VerifyMeshCreated is called after trying to create the mesh. If we think the asset had been + // fetched but we end up here again, the meshing of the asset must have failed. + // Prevent trying to keep fetching the mesh by declaring failure. + if (prim.PrimAssetState == BSPhysObject.PrimAssetCondition.Fetched) { - DetailLog("{0},BSShapeCollection.VerifyMeshCreated,fetchAsset", prim.LocalID); - // Multiple requestors will know we're waiting for this asset - prim.PrimAssetState = BSPhysObject.PrimAssetCondition.Waiting; - - BSPhysObject xprim = prim; - Util.FireAndForget(delegate - { - RequestAssetDelegate assetProvider = PhysicsScene.RequestAssetMethod; - if (assetProvider != null) - { - BSPhysObject yprim = xprim; // probably not necessary, but, just in case. - assetProvider(yprim.BaseShape.SculptTexture, delegate(AssetBase asset) - { - bool assetFound = false; - string mismatchIDs = String.Empty; // DEBUG DEBUG - if (asset != null && yprim.BaseShape.SculptEntry) - { - if (yprim.BaseShape.SculptTexture.ToString() == asset.ID) - { - yprim.BaseShape.SculptData = asset.Data; - // This will cause the prim to see that the filler shape is not the right - // one and try again to build the object. - // No race condition with the normal shape setting since the rebuild is at taint time. - yprim.ForceBodyShapeRebuild(false /* inTaintTime */); - assetFound = true; - } - else - { - mismatchIDs = yprim.BaseShape.SculptTexture.ToString() + "/" + asset.ID; - } - } - if (assetFound) - yprim.PrimAssetState = BSPhysObject.PrimAssetCondition.Fetched; - else - yprim.PrimAssetState = BSPhysObject.PrimAssetCondition.Failed; - DetailLog("{0},BSShapeCollection,fetchAssetCallback,found={1},isSculpt={2},ids={3}", - yprim.LocalID, assetFound, yprim.BaseShape.SculptEntry, mismatchIDs ); - - }); - } - else - { - xprim.PrimAssetState = BSPhysObject.PrimAssetCondition.Failed; - PhysicsScene.Logger.ErrorFormat("{0} Physical object requires asset but no asset provider. Name={1}", - LogHeader, PhysicsScene.Name); - } - }); + prim.PrimAssetState = BSPhysObject.PrimAssetCondition.Failed; + PhysicsScene.Logger.WarnFormat("{0} Fetched asset would not mesh. {1}, texture={2}", + LogHeader, prim.PhysObjectName, prim.BaseShape.SculptTexture); } else { - if (prim.PrimAssetState == BSPhysObject.PrimAssetCondition.Failed) + // If this mesh has an underlying asset and we have not failed getting it before, fetch the asset + if (prim.BaseShape.SculptEntry + && prim.PrimAssetState != BSPhysObject.PrimAssetCondition.Failed + && prim.PrimAssetState != BSPhysObject.PrimAssetCondition.Waiting + && prim.BaseShape.SculptTexture != OMV.UUID.Zero + ) { - PhysicsScene.Logger.ErrorFormat("{0} Mesh failed to fetch asset. lID={1}, texture={2}", - LogHeader, prim.LocalID, prim.BaseShape.SculptTexture); + DetailLog("{0},BSShapeCollection.VerifyMeshCreated,fetchAsset", prim.LocalID); + // Multiple requestors will know we're waiting for this asset + prim.PrimAssetState = BSPhysObject.PrimAssetCondition.Waiting; + + BSPhysObject xprim = prim; + Util.FireAndForget(delegate + { + RequestAssetDelegate assetProvider = PhysicsScene.RequestAssetMethod; + if (assetProvider != null) + { + BSPhysObject yprim = xprim; // probably not necessary, but, just in case. + assetProvider(yprim.BaseShape.SculptTexture, delegate(AssetBase asset) + { + bool assetFound = false; + string mismatchIDs = String.Empty; // DEBUG DEBUG + if (asset != null && yprim.BaseShape.SculptEntry) + { + if (yprim.BaseShape.SculptTexture.ToString() == asset.ID) + { + yprim.BaseShape.SculptData = asset.Data; + // This will cause the prim to see that the filler shape is not the right + // one and try again to build the object. + // No race condition with the normal shape setting since the rebuild is at taint time. + yprim.ForceBodyShapeRebuild(false /* inTaintTime */); + assetFound = true; + } + else + { + mismatchIDs = yprim.BaseShape.SculptTexture.ToString() + "/" + asset.ID; + } + } + if (assetFound) + yprim.PrimAssetState = BSPhysObject.PrimAssetCondition.Fetched; + else + yprim.PrimAssetState = BSPhysObject.PrimAssetCondition.Failed; + DetailLog("{0},BSShapeCollection,fetchAssetCallback,found={1},isSculpt={2},ids={3}", + yprim.LocalID, assetFound, yprim.BaseShape.SculptEntry, mismatchIDs ); + + }); + } + else + { + xprim.PrimAssetState = BSPhysObject.PrimAssetCondition.Failed; + PhysicsScene.Logger.ErrorFormat("{0} Physical object requires asset but no asset provider. Name={1}", + LogHeader, PhysicsScene.Name); + } + }); + } + else + { + if (prim.PrimAssetState == BSPhysObject.PrimAssetCondition.Failed) + { + PhysicsScene.Logger.WarnFormat("{0} Mesh failed to fetch asset. obj={1}, texture={2}", + LogHeader, prim.PhysObjectName, prim.BaseShape.SculptTexture); + } } } From da5dbaf1d0729b254e1a2123d90f8c11e2c692a3 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Tue, 26 Mar 2013 23:02:13 +0000 Subject: [PATCH 810/851] Add admin_get_agents xmlrpc method. This allows one to retrieve information about agents from a particular region (name, id, position, etc.) Similar to output from "show users" See http://opensimulator.org/wiki/Remoteadmin:admin_get_agents for more details --- .../RemoteController/RemoteAdminPlugin.cs | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs b/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs index 69834793c1..5d44b2aea6 100644 --- a/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs +++ b/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs @@ -137,6 +137,7 @@ namespace OpenSim.ApplicationPlugins.RemoteController availableMethods["admin_save_heightmap"] = (req, ep) => InvokeXmlRpcMethod(req, ep, XmlRpcSaveHeightmapMethod); // Agent management + availableMethods["admin_get_agents"] = (req, ep) => InvokeXmlRpcMethod(req, ep, XmlRpcGetAgentsMethod); availableMethods["admin_teleport_agent"] = (req, ep) => InvokeXmlRpcMethod(req, ep, XmlRpcTeleportAgentMethod); // User management @@ -1760,6 +1761,71 @@ namespace OpenSim.ApplicationPlugins.RemoteController m_log.Info("[RADMIN]: Access List List Request complete"); } + private void XmlRpcGetAgentsMethod(XmlRpcRequest request, XmlRpcResponse response, IPEndPoint remoteClient) + { + Hashtable responseData = (Hashtable)response.Value; + Hashtable requestData = (Hashtable)request.Params[0]; + + bool includeChildren = false; + + if (requestData.Contains("include_children")) + bool.TryParse((string)requestData["include_children"], out includeChildren); + + Scene scene; + GetSceneFromRegionParams(requestData, responseData, out scene); + + ArrayList xmlRpcRegions = new ArrayList(); + responseData["regions"] = xmlRpcRegions; + + Hashtable xmlRpcRegion = new Hashtable(); + xmlRpcRegions.Add(xmlRpcRegion); + + xmlRpcRegion["name"] = scene.Name; + xmlRpcRegion["id"] = scene.RegionInfo.RegionID.ToString(); + + List agents = scene.GetScenePresences(); + ArrayList xmlrpcAgents = new ArrayList(); + + foreach (ScenePresence agent in agents) + { + if (agent.IsChildAgent && !includeChildren) + continue; + + Hashtable xmlRpcAgent = new Hashtable(); + xmlRpcAgent.Add("name", agent.Name); + xmlRpcAgent.Add("id", agent.UUID.ToString()); + xmlRpcAgent.Add("type", agent.PresenceType.ToString()); + xmlRpcAgent.Add("current_parcel_id", agent.currentParcelUUID.ToString()); + + Vector3 pos = agent.AbsolutePosition; + xmlRpcAgent.Add("pos_x", pos.X.ToString()); + xmlRpcAgent.Add("pos_y", pos.Y.ToString()); + xmlRpcAgent.Add("pos_z", pos.Z.ToString()); + + Vector3 lookAt = agent.Lookat; + xmlRpcAgent.Add("lookat_x", lookAt.X.ToString()); + xmlRpcAgent.Add("lookat_y", lookAt.Y.ToString()); + xmlRpcAgent.Add("lookat_z", lookAt.Z.ToString()); + + Vector3 vel = agent.Velocity; + xmlRpcAgent.Add("vel_x", vel.X.ToString()); + xmlRpcAgent.Add("vel_y", vel.Y.ToString()); + xmlRpcAgent.Add("vel_z", vel.Z.ToString()); + + xmlRpcAgent.Add("is_flying", agent.Flying.ToString()); + xmlRpcAgent.Add("is_sat_on_ground", agent.SitGround.ToString()); + xmlRpcAgent.Add("is_sat_on_object", agent.IsSatOnObject.ToString()); + + xmlrpcAgents.Add(xmlRpcAgent); + } + + m_log.DebugFormat( + "[REMOTE ADMIN]: XmlRpcGetAgents found {0} agents in {1}", xmlrpcAgents.Count, scene.Name); + + xmlRpcRegion["agents"] = xmlrpcAgents; + responseData["success"] = true; + } + private void XmlRpcTeleportAgentMethod(XmlRpcRequest request, XmlRpcResponse response, IPEndPoint remoteClient) { Hashtable responseData = (Hashtable)response.Value; From dd7d7683c914f5b16d8b87434bccea3fe74d9bab Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 28 Mar 2013 00:12:48 +0000 Subject: [PATCH 811/851] Fix problem with megaregions where teleporting into a different region which already had a child agent would stop the eq working for the agent in the new region. This was because the calculation as to whether a new agent was needed in the receiving region did not take megaregions into account, unlike the original calculation when the user first teleported into the region. This meant that on teleport, entity transfer would create a new CAP but this would be ignored by the viewer and receiving region, meaning that the EQ could no longer be used. This would prevent subsequent teleport, amongst other things. Currently, regions up to 512m from a megaregion are considered neighbours. --- .../EntityTransfer/EntityTransferModule.cs | 45 ++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 4cf7645376..8af236e2f8 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs @@ -727,6 +727,10 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer IClientIPEndpoint ipepClient; if (NeedsNewAgent(sp.DrawDistance, oldRegionX, newRegionX, oldRegionY, newRegionY)) { + m_log.DebugFormat( + "[ENTITY TRANSFER MODULE]: Determined that region {0} at {1},{2} needs new child agent for incoming agent {3} from {4}", + finalDestination.RegionName, newRegionX, newRegionY, sp.Name, Scene.Name); + //sp.ControllingClient.SendTeleportProgress(teleportFlags, "Creating agent..."); #region IP Translation for NAT // Uses ipepClient above @@ -1001,7 +1005,46 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer protected virtual bool NeedsNewAgent(float drawdist, uint oldRegionX, uint newRegionX, uint oldRegionY, uint newRegionY) { - return Util.IsOutsideView(drawdist, oldRegionX, newRegionX, oldRegionY, newRegionY); + Border[] northBorders = Scene.NorthBorders.ToArray(); + Border[] southBorders = Scene.SouthBorders.ToArray(); + Border[] eastBorders = Scene.EastBorders.ToArray(); + Border[] westBorders = Scene.WestBorders.ToArray(); + + // Leaving this as a "megaregions" computation vs "non-megaregions" computation; it isn't + // clear what should be done with a "far view" given that megaregions already extended the + // view to include everything in the megaregion + if (northBorders.Length > 1 || southBorders.Length > 1 || eastBorders.Length > 1 || westBorders.Length > 1) + { + Vector2 extent = Vector2.Zero; + for (int i = 0; i < eastBorders.Length; i++) + { + extent.X = (eastBorders[i].BorderLine.Z > extent.X) ? eastBorders[i].BorderLine.Z : extent.X; + } + for (int i = 0; i < northBorders.Length; i++) + { + extent.Y = (northBorders[i].BorderLine.Z > extent.Y) ? northBorders[i].BorderLine.Z : extent.Y; + } + + // Loss of fraction on purpose + extent.X = ((int)extent.X / (int)Constants.RegionSize) + 1; + extent.Y = ((int)extent.Y / (int)Constants.RegionSize) + 1; + + uint startX = oldRegionX - 1; + uint startY = oldRegionY - 1; + + uint endX = oldRegionX + (uint)extent.X; + uint endY = oldRegionY + (uint)extent.Y; + + m_log.DebugFormat( + "[ENTITY TRANSFER MODULE]: Megaregion view of {0} is from {1},{2} to {3},{4} with new agent check for {5},{6}", + Scene.Name, startX, startY, endX, endY, newRegionX, newRegionY); + + return !(newRegionX >= startX && newRegionX <= endX && newRegionY >= startY && newRegionY <= endY); + } + else + { + return Util.IsOutsideView(drawdist, oldRegionX, newRegionX, oldRegionY, newRegionY); + } } protected virtual bool NeedsClosing(float drawdist, uint oldRegionX, uint newRegionX, uint oldRegionY, uint newRegionY, GridRegion reg) From cfb20f09a967ede0a64e7151c3430f74362aec99 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 28 Mar 2013 00:57:43 +0000 Subject: [PATCH 812/851] refactor: combine the checks for megaregion view range into a single place. --- .../EntityTransfer/EntityTransferModule.cs | 102 +++++++++--------- 1 file changed, 51 insertions(+), 51 deletions(-) diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 8af236e2f8..f5ffef2e1c 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs @@ -117,6 +117,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer new ExpiringCache>(); private IEventQueue m_eqModule; + private IRegionCombinerModule m_regionCombinerModule; #region ISharedRegionModule @@ -267,6 +268,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer return; m_eqModule = Scene.RequestModuleInterface(); + m_regionCombinerModule = Scene.RequestModuleInterface(); } #endregion @@ -1005,41 +1007,16 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer protected virtual bool NeedsNewAgent(float drawdist, uint oldRegionX, uint newRegionX, uint oldRegionY, uint newRegionY) { - Border[] northBorders = Scene.NorthBorders.ToArray(); - Border[] southBorders = Scene.SouthBorders.ToArray(); - Border[] eastBorders = Scene.EastBorders.ToArray(); - Border[] westBorders = Scene.WestBorders.ToArray(); - - // Leaving this as a "megaregions" computation vs "non-megaregions" computation; it isn't - // clear what should be done with a "far view" given that megaregions already extended the - // view to include everything in the megaregion - if (northBorders.Length > 1 || southBorders.Length > 1 || eastBorders.Length > 1 || westBorders.Length > 1) + if (m_regionCombinerModule != null && m_regionCombinerModule.IsRootForMegaregion(Scene.RegionInfo.RegionID)) { - Vector2 extent = Vector2.Zero; - for (int i = 0; i < eastBorders.Length; i++) - { - extent.X = (eastBorders[i].BorderLine.Z > extent.X) ? eastBorders[i].BorderLine.Z : extent.X; - } - for (int i = 0; i < northBorders.Length; i++) - { - extent.Y = (northBorders[i].BorderLine.Z > extent.Y) ? northBorders[i].BorderLine.Z : extent.Y; - } - - // Loss of fraction on purpose - extent.X = ((int)extent.X / (int)Constants.RegionSize) + 1; - extent.Y = ((int)extent.Y / (int)Constants.RegionSize) + 1; - - uint startX = oldRegionX - 1; - uint startY = oldRegionY - 1; - - uint endX = oldRegionX + (uint)extent.X; - uint endY = oldRegionY + (uint)extent.Y; + Vector2 swCorner, neCorner; + GetMegaregionViewRange(out swCorner, out neCorner); m_log.DebugFormat( - "[ENTITY TRANSFER MODULE]: Megaregion view of {0} is from {1},{2} to {3},{4} with new agent check for {5},{6}", - Scene.Name, startX, startY, endX, endY, newRegionX, newRegionY); + "[ENTITY TRANSFER MODULE]: Megaregion view of {0} is from {1} to {2} with new agent check for {3},{4}", + Scene.Name, swCorner, neCorner, newRegionX, newRegionY); - return !(newRegionX >= startX && newRegionX <= endX && newRegionY >= startY && newRegionY <= endY); + return !(newRegionX >= swCorner.X && newRegionX <= neCorner.X && newRegionY >= swCorner.Y && newRegionY <= neCorner.Y); } else { @@ -1902,6 +1879,37 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer reg.RegionName, sp.Name, sp.UUID, reason); } + /// + /// Gets the range considered in view of this megaregion (assuming this is a megaregion). + /// + /// Expressed in 256m units + /// + /// + private void GetMegaregionViewRange(out Vector2 swCorner, out Vector2 neCorner) + { + Border[] northBorders = Scene.NorthBorders.ToArray(); + Border[] eastBorders = Scene.EastBorders.ToArray(); + + Vector2 extent = Vector2.Zero; + for (int i = 0; i < eastBorders.Length; i++) + { + extent.X = (eastBorders[i].BorderLine.Z > extent.X) ? eastBorders[i].BorderLine.Z : extent.X; + } + for (int i = 0; i < northBorders.Length; i++) + { + extent.Y = (northBorders[i].BorderLine.Z > extent.Y) ? northBorders[i].BorderLine.Z : extent.Y; + } + + // Loss of fraction on purpose + extent.X = ((int)extent.X / (int)Constants.RegionSize) + 1; + extent.Y = ((int)extent.Y / (int)Constants.RegionSize) + 1; + + swCorner.X = Scene.RegionInfo.RegionLocX - 1; + swCorner.Y = Scene.RegionInfo.RegionLocY - 1; + neCorner.X = Scene.RegionInfo.RegionLocX + extent.X; + neCorner.Y = Scene.RegionInfo.RegionLocY + extent.Y; + } + /// /// Return the list of regions that are considered to be neighbours to the given scene. /// @@ -1922,8 +1930,9 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer // Leaving this as a "megaregions" computation vs "non-megaregions" computation; it isn't // clear what should be done with a "far view" given that megaregions already extended the // view to include everything in the megaregion - if (northBorders.Length <= 1 && southBorders.Length <= 1 && eastBorders.Length <= 1 && westBorders.Length <= 1) + if (m_regionCombinerModule == null || !m_regionCombinerModule.IsRootForMegaregion(Scene.RegionInfo.RegionID)) { + Console.WriteLine("NOT MEGA"); int dd = avatar.DrawDistance < Constants.RegionSize ? (int)Constants.RegionSize : (int)avatar.DrawDistance; int startX = (int)pRegionLocX * (int)Constants.RegionSize - dd + (int)(Constants.RegionSize/2); @@ -1940,27 +1949,18 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer } else { - Vector2 extent = Vector2.Zero; - for (int i = 0; i < eastBorders.Length; i++) - { - extent.X = (eastBorders[i].BorderLine.Z > extent.X) ? eastBorders[i].BorderLine.Z : extent.X; - } - for (int i = 0; i < northBorders.Length; i++) - { - extent.Y = (northBorders[i].BorderLine.Z > extent.Y) ? northBorders[i].BorderLine.Z : extent.Y; - } + Console.WriteLine("MEGA"); + Vector2 swCorner, neCorner; + GetMegaregionViewRange(out swCorner, out neCorner); - // Loss of fraction on purpose - extent.X = ((int)extent.X / (int)Constants.RegionSize) + 1; - extent.Y = ((int)extent.Y / (int)Constants.RegionSize) + 1; + List neighbours + = pScene.GridService.GetRegionRange( + m_regionInfo.ScopeID, + (int)swCorner.X * (int)Constants.RegionSize, + (int)neCorner.X * (int)Constants.RegionSize, + (int)swCorner.Y * (int)Constants.RegionSize, + (int)neCorner.Y * (int)Constants.RegionSize); - int startX = (int)(pRegionLocX - 1) * (int)Constants.RegionSize; - int startY = (int)(pRegionLocY - 1) * (int)Constants.RegionSize; - - int endX = ((int)pRegionLocX + (int)extent.X) * (int)Constants.RegionSize; - int endY = ((int)pRegionLocY + (int)extent.Y) * (int)Constants.RegionSize; - - List neighbours = pScene.GridService.GetRegionRange(m_regionInfo.ScopeID, startX, endX, startY, endY); neighbours.RemoveAll(delegate(GridRegion r) { return r.RegionID == m_regionInfo.RegionID; }); return neighbours; From f32027f3b53e8ad4f0b9fed0fee65a7e46ec91b0 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 28 Mar 2013 01:08:47 +0000 Subject: [PATCH 813/851] Remove some Console.WriteLines accidentally left in last commit cfb20f09 --- .../Framework/EntityTransfer/EntityTransferModule.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index f5ffef2e1c..dc6a2a0725 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs @@ -1932,7 +1932,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer // view to include everything in the megaregion if (m_regionCombinerModule == null || !m_regionCombinerModule.IsRootForMegaregion(Scene.RegionInfo.RegionID)) { - Console.WriteLine("NOT MEGA"); int dd = avatar.DrawDistance < Constants.RegionSize ? (int)Constants.RegionSize : (int)avatar.DrawDistance; int startX = (int)pRegionLocX * (int)Constants.RegionSize - dd + (int)(Constants.RegionSize/2); @@ -1949,7 +1948,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer } else { - Console.WriteLine("MEGA"); Vector2 swCorner, neCorner; GetMegaregionViewRange(out swCorner, out neCorner); From 876d0d310f3c7248a4a6fc29d8babe55a7b1e570 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 28 Mar 2013 01:36:34 +0000 Subject: [PATCH 814/851] Add "show eq" console command to show numbers of messages in agent event queues. For debugging purposes. --- .../Caps/EventQueue/EventQueueGetModule.cs | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs index 3cc395016f..624378ea98 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs @@ -97,6 +97,14 @@ namespace OpenSim.Region.ClientStack.Linden + " >= 1 - turns on outgoing event logging\n" + " >= 2 - turns on poll notification", HandleDebugEq); + + MainConsole.Instance.Commands.AddCommand( + "Debug", + false, + "show eq", + "show eq", + "Show contents of event queues for logged in avatars. Used for debugging.", + HandleShowEq); } public void RemoveRegion(Scene scene) @@ -148,6 +156,21 @@ namespace OpenSim.Region.ClientStack.Linden } } + protected void HandleShowEq(string module, string[] args) + { + MainConsole.Instance.OutputFormat("For scene {0}", m_scene.Name); + + lock (queues) + { + foreach (KeyValuePair> kvp in queues) + { + MainConsole.Instance.OutputFormat( + "For agent {0} there are {1} messages queued for send.", + kvp.Key, kvp.Value.Count); + } + } + } + /// /// Always returns a valid queue /// From b5b01e5bb59656078012c12146ea6f9e71589d43 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 28 Mar 2013 01:37:52 +0000 Subject: [PATCH 815/851] Make HGLureModule track god like lures as well as normal lures, to see if this fixes issues where second megaregion auto-teleport hangs on black teleport screen when HG is active. --- OpenSim/Region/CoreModules/Avatar/Lure/HGLureModule.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Lure/HGLureModule.cs b/OpenSim/Region/CoreModules/Avatar/Lure/HGLureModule.cs index 6c9fd86689..a34f2d21fb 100644 --- a/OpenSim/Region/CoreModules/Avatar/Lure/HGLureModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Lure/HGLureModule.cs @@ -154,7 +154,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Lure void OnIncomingInstantMessage(GridInstantMessage im) { - if (im.dialog == (byte)InstantMessageDialog.RequestTeleport) + if (im.dialog == (byte)InstantMessageDialog.RequestTeleport + || im.dialog == (byte)InstantMessageDialog.GodLikeRequestTeleport) { UUID sessionID = new UUID(im.imSessionID); From 617637c788045f5776d21fc4ce246f3a8d6ecfb8 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 28 Mar 2013 01:41:23 +0000 Subject: [PATCH 816/851] minor: Fix usage error message for "debug eq" console command --- .../ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs index 624378ea98..c7d4283b1a 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs @@ -146,7 +146,7 @@ namespace OpenSim.Region.ClientStack.Linden if (!(args.Length == 3 && int.TryParse(args[2], out debugLevel))) { - MainConsole.Instance.OutputFormat("Usage: debug eq [0|1]"); + MainConsole.Instance.OutputFormat("Usage: debug eq [0|1|2]"); } else { From 506d5e41bf3fff8acb78002e565eab96beede370 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 28 Mar 2013 01:54:11 +0000 Subject: [PATCH 817/851] On the North and East sides of a megaregion, only consider regions within 256m to be neighbours rather than regions up to 512 distant. This looks like an off-by-one bug since the view distance was already only 256 on the west and south sides. This reduces the number of child agents being logged into regions neighbouring a megaregion. --- .../Framework/EntityTransfer/EntityTransferModule.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index dc6a2a0725..8da76dfc49 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs @@ -1901,8 +1901,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer } // Loss of fraction on purpose - extent.X = ((int)extent.X / (int)Constants.RegionSize) + 1; - extent.Y = ((int)extent.Y / (int)Constants.RegionSize) + 1; + extent.X = ((int)extent.X / (int)Constants.RegionSize); + extent.Y = ((int)extent.Y / (int)Constants.RegionSize); swCorner.X = Scene.RegionInfo.RegionLocX - 1; swCorner.Y = Scene.RegionInfo.RegionLocY - 1; From b05ed4ffa693f3481f97a197de7e582492dc7271 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 28 Mar 2013 02:17:32 +0000 Subject: [PATCH 818/851] Instead of going via GodLikeRequestTeleport, auto-teleport the agent directly in a megaregion, in the same manner at the "teleport user" console command. This is to bypass an issue with the HGLureModule which stops the auto-teleport from happening. --- .../Region/CoreModules/Avatar/Lure/LureModule.cs | 2 +- .../EntityTransfer/EntityTransferModule.cs | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Lure/LureModule.cs b/OpenSim/Region/CoreModules/Avatar/Lure/LureModule.cs index e4b0cfa734..7f4606b366 100644 --- a/OpenSim/Region/CoreModules/Avatar/Lure/LureModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Lure/LureModule.cs @@ -165,7 +165,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Lure (uint)presence.AbsolutePosition.Y, (uint)Math.Ceiling(presence.AbsolutePosition.Z)); - m_log.DebugFormat("TP invite with message {0}", message); + m_log.DebugFormat("TP invite with message {0}, type {1}", message, lureType); GridInstantMessage m = new GridInstantMessage(scene, client.AgentId, client.FirstName+" "+client.LastName, targetid, diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 8da76dfc49..8a1694396d 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs @@ -379,8 +379,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer Vector3 emergencyPos = new Vector3(128, 128, 128); m_log.WarnFormat( - "[ENTITY TRANSFER MODULE]: RequestTeleportToLocation() was given an illegal position of {0} for avatar {1}, {2}. Substituting {3}", - position, sp.Name, sp.UUID, emergencyPos); + "[ENTITY TRANSFER MODULE]: RequestTeleportToLocation() was given an illegal position of {0} for avatar {1}, {2} in {3}. Substituting {4}", + position, sp.Name, sp.UUID, Scene.Name, emergencyPos); position = emergencyPos; } @@ -1346,7 +1346,15 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer Scene initiatingScene) { Thread.Sleep(10000); - + + agent.Scene.RequestTeleportLocation( + agent.ControllingClient, + Utils.UIntsToLong(regionX * (uint)Constants.RegionSize, regionY * (uint)Constants.RegionSize), + position, + agent.Lookat, + (uint)Constants.TeleportFlags.ViaLocation); + + /* IMessageTransferModule im = initiatingScene.RequestModuleInterface(); if (im != null) { @@ -1381,6 +1389,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer }); } + */ } private void InformClientToInitiateTeleportToLocationCompleted(IAsyncResult iar) From d9c049fd9f1a78d73931f6aaa4cf9e6c512ba576 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 28 Mar 2013 02:20:43 +0000 Subject: [PATCH 819/851] Fix a bug in HGEntityTransferModule to call base.RemoveRegion() when a region is removed rather than base.AddRegion() --- .../Framework/EntityTransfer/HGEntityTransferModule.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs index b1887418ee..33ea063600 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs @@ -199,7 +199,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer public override void RemoveRegion(Scene scene) { - base.AddRegion(scene); + base.RemoveRegion(scene); if (m_Enabled) scene.UnregisterModuleInterface(this); From afd0d6af0710375bf566ef5a6fcf00e7d1c5ca0f Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 28 Mar 2013 02:23:09 +0000 Subject: [PATCH 820/851] minor: Only try to deregister stats in EntityTransferModule.RemoveRegion() if module was enabled. --- .../Framework/EntityTransfer/EntityTransferModule.cs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 8a1694396d..f351da6d78 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs @@ -256,10 +256,13 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer public virtual void RemoveRegion(Scene scene) { - StatsManager.DeregisterStat(m_interRegionTeleportAttempts); - StatsManager.DeregisterStat(m_interRegionTeleportAborts); - StatsManager.DeregisterStat(m_interRegionTeleportCancels); - StatsManager.DeregisterStat(m_interRegionTeleportFailures); + if (m_Enabled) + { + StatsManager.DeregisterStat(m_interRegionTeleportAttempts); + StatsManager.DeregisterStat(m_interRegionTeleportAborts); + StatsManager.DeregisterStat(m_interRegionTeleportCancels); + StatsManager.DeregisterStat(m_interRegionTeleportFailures); + } } public virtual void RegionLoaded(Scene scene) From 9ca54d00d8b1ca6181392d027077e82e64c53c3d Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 28 Mar 2013 02:29:34 +0000 Subject: [PATCH 821/851] Add back a log message when we attempt a megaregion auto-reteleport --- .../Framework/EntityTransfer/EntityTransferModule.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index f351da6d78..035632b39b 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs @@ -1350,6 +1350,10 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer { Thread.Sleep(10000); + m_log.DebugFormat( + "[ENTITY TRANSFER MODULE]: Auto-reteleporting {0} to correct megaregion location {1},{2},{3} from {4}", + agent.Name, regionX, regionY, position, initiatingScene.Name); + agent.Scene.RequestTeleportLocation( agent.ControllingClient, Utils.UIntsToLong(regionX * (uint)Constants.RegionSize, regionY * (uint)Constants.RegionSize), From 3f9b274180acb4499b878e9acad461811f11eb1f Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Wed, 27 Mar 2013 16:59:13 -0700 Subject: [PATCH 822/851] BulletSim: tweaks to terrain boundry computation. No functional changes. --- .../Physics/BulletSPlugin/BSTerrainManager.cs | 50 +++++++++++-------- 1 file changed, 29 insertions(+), 21 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSTerrainManager.cs b/OpenSim/Region/Physics/BulletSPlugin/BSTerrainManager.cs index a60946dbbd..d4aecbc4ce 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSTerrainManager.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSTerrainManager.cs @@ -343,37 +343,35 @@ public sealed class BSTerrainManager : IDisposable { Vector3 ret = pPos; + // First, base addresses are never negative so correct for that possible problem. + if (ret.X < 0f || ret.Y < 0f) + { + ret.X = Util.Clamp(ret.X, 0f, 1000000f); + ret.Y = Util.Clamp(ret.Y, 0f, 1000000f); + DetailLog("{0},BSTerrainManager.ClampPositionToKnownTerrain,zeroingNegXorY,oldPos={1},newPos={2}", + BSScene.DetailLogZero, pPos, ret); + } + // Can't do this function if we don't know about any terrain. if (m_terrains.Count == 0) return ret; - int loopPrevention = 5; + int loopPrevention = 10; Vector3 terrainBaseXYZ; BSTerrainPhys physTerrain; while (!GetTerrainPhysicalAtXYZ(ret, out physTerrain, out terrainBaseXYZ)) { // The passed position is not within a known terrain area. + // NOTE that GetTerrainPhysicalAtXYZ will set 'terrainBaseXYZ' to the base of the unfound region. - // First, base addresses are never negative so correct for that possible problem. - if (ret.X < 0f || ret.Y < 0f) - { - if (ret.X < 0f) - ret.X = 0f; - if (ret.Y < 0f) - ret.Y = 0f; - DetailLog("{0},BSTerrainManager.ClampPositionToKnownTerrain,zeroingNegXorY,oldPos={1},newPos={2}", - BSScene.DetailLogZero, pPos, ret); - } - else - { - // Must be off the top of a region. Find an adjacent region to move into. - Vector3 adjacentTerrainBase = FindAdjacentTerrainBase(terrainBaseXYZ); + // Must be off the top of a region. Find an adjacent region to move into. + Vector3 adjacentTerrainBase = FindAdjacentTerrainBase(terrainBaseXYZ); + + ret.X = Math.Min(ret.X, adjacentTerrainBase.X + (ret.X % DefaultRegionSize.X)); + ret.Y = Math.Min(ret.Y, adjacentTerrainBase.Y + (ret.X % DefaultRegionSize.Y)); + DetailLog("{0},BSTerrainManager.ClampPositionToKnownTerrain,findingAdjacentRegion,adjacentRegBase={1},oldPos={2},newPos={3}", + BSScene.DetailLogZero, adjacentTerrainBase, pPos, ret); - ret.X = Math.Min(ret.X, adjacentTerrainBase.X + DefaultRegionSize.X); - ret.Y = Math.Min(ret.Y, adjacentTerrainBase.Y + DefaultRegionSize.Y); - DetailLog("{0},BSTerrainManager.ClampPositionToKnownTerrain,findingAdjacentRegion,adjacentRegBase={1},oldPos={2},newPos={3}", - BSScene.DetailLogZero, adjacentTerrainBase, pPos, ret); - } if (loopPrevention-- < 0f) { // The 'while' is a little dangerous so this prevents looping forever if the @@ -383,6 +381,7 @@ public sealed class BSTerrainManager : IDisposable break; } } + return ret; } @@ -479,11 +478,20 @@ public sealed class BSTerrainManager : IDisposable private Vector3 FindAdjacentTerrainBase(Vector3 pTerrainBase) { Vector3 ret = pTerrainBase; + + // Can't do this function if we don't know about any terrain. + if (m_terrains.Count == 0) + return ret; + + // Just some sanity + ret.X = Util.Clamp(ret.X, 0f, 1000000f); + ret.Y = Util.Clamp(ret.Y, 0f, 1000000f); ret.Z = 0f; + lock (m_terrains) { // Once down to the <0,0> region, we have to be done. - while (ret.X > 0f && ret.Y > 0f) + while (ret.X > 0f || ret.Y > 0f) { if (ret.X > 0f) { From 6a9630d2bdc27ed702936f4c44e6978f728a9ef0 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Thu, 28 Mar 2013 10:56:21 -0700 Subject: [PATCH 823/851] BulletSim: fix race condition when creating very large mega-regions. The symptom was exceptions while creating physical terrain. Reduce default terrain mesh magnification to 2 from 3 because the higher resolution uses a lot of memory and doesn't solve the terrain smoothness for vehicles. Added comments here and there and improved some debugging log messages. --- .../Physics/BulletSPlugin/BSCharacter.cs | 4 +- .../Physics/BulletSPlugin/BSMaterials.cs | 3 ++ .../Region/Physics/BulletSPlugin/BSParam.cs | 2 +- .../Physics/BulletSPlugin/BSTerrainManager.cs | 38 ++++++++++++------- .../Physics/BulletSPlugin/BSTerrainMesh.cs | 10 ++--- 5 files changed, 35 insertions(+), 22 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs index e208d3a9e0..90c2d9cf46 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs @@ -479,7 +479,7 @@ public sealed class BSCharacter : BSPhysObject // The character is out of the known/simulated area. // Force the avatar position to be within known. ScenePresence will use the position // plus the velocity to decide if the avatar is moving out of the region. - RawPosition = PhysicsScene.TerrainManager.ClampPositionIntoKnownTerrain(RawPosition); + RawPosition = PhysicsScene.TerrainManager.ClampPositionIntoKnownTerrain(RawPosition); DetailLog("{0},BSCharacter.PositionSanityCheck,notWithinKnownTerrain,clampedPos={1}", LocalID, RawPosition); return true; } @@ -898,7 +898,7 @@ public sealed class BSCharacter : BSPhysObject // Do some sanity checking for the avatar. Make sure it's above ground and inbounds. if (PositionSanityCheck(true)) { - DetailLog("{0},BSCharacter.UpdateProperties,updatePosForSanity,pos={1}", LocalID, _position); + DetailLog("{0},BSCharacter.UpdateProperties,updatePosForSanity,pos={1}", LocalID, _position); entprop.Position = _position; } diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSMaterials.cs b/OpenSim/Region/Physics/BulletSPlugin/BSMaterials.cs index 92d62ff9ea..ee77d6e3f8 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSMaterials.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSMaterials.cs @@ -180,11 +180,14 @@ public static class BSMaterials // Use reflection to set the value in the attribute structure. private static void SetAttributeValue(int matType, string attribName, float val) { + // Get the current attribute values for this material MaterialAttributes thisAttrib = Attributes[matType]; + // Find the field for the passed attribute name (eg, find field named 'friction') FieldInfo fieldInfo = thisAttrib.GetType().GetField(attribName.ToLower()); if (fieldInfo != null) { fieldInfo.SetValue(thisAttrib, val); + // Copy new attributes back to array -- since MaterialAttributes is 'struct', passed by value, not reference. Attributes[matType] = thisAttrib; } } diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs index f3454c8daf..385ed9e9bc 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs @@ -482,7 +482,7 @@ public static class BSParam (s) => { return TerrainImplementation; }, (s,v) => { TerrainImplementation = v; } ), new ParameterDefn("TerrainMeshMagnification", "Number of times the 256x256 heightmap is multiplied to create the terrain mesh" , - 3, + 2, (s) => { return TerrainMeshMagnification; }, (s,v) => { TerrainMeshMagnification = v; } ), new ParameterDefn("TerrainFriction", "Factor to reduce movement against terrain surface" , diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSTerrainManager.cs b/OpenSim/Region/Physics/BulletSPlugin/BSTerrainManager.cs index d4aecbc4ce..b2fb8354ac 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSTerrainManager.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSTerrainManager.cs @@ -132,6 +132,7 @@ public sealed class BSTerrainManager : IDisposable // safe to call Bullet in real time. We hope no one is moving prims around yet. public void CreateInitialGroundPlaneAndTerrain() { + DetailLog("{0},BSTerrainManager.CreateInitialGroundPlaneAndTerrain,region={1}", BSScene.DetailLogZero, PhysicsScene.RegionName); // The ground plane is here to catch things that are trying to drop to negative infinity BulletShape groundPlaneShape = PhysicsScene.PE.CreateGroundPlaneShape(BSScene.GROUNDPLANE_ID, 1f, BSParam.TerrainCollisionMargin); m_groundPlane = PhysicsScene.PE.CreateBodyWithDefaultMotionState(groundPlaneShape, @@ -145,14 +146,18 @@ public sealed class BSTerrainManager : IDisposable m_groundPlane.collisionType = CollisionType.Groundplane; m_groundPlane.ApplyCollisionMask(PhysicsScene); - // Build an initial terrain and put it in the world. This quickly gets replaced by the real region terrain. BSTerrainPhys initialTerrain = new BSTerrainHeightmap(PhysicsScene, Vector3.Zero, BSScene.TERRAIN_ID, DefaultRegionSize); - m_terrains.Add(Vector3.Zero, initialTerrain); + lock (m_terrains) + { + // Build an initial terrain and put it in the world. This quickly gets replaced by the real region terrain. + m_terrains.Add(Vector3.Zero, initialTerrain); + } } // Release all the terrain structures we might have allocated public void ReleaseGroundPlaneAndTerrain() { + DetailLog("{0},BSTerrainManager.ReleaseGroundPlaneAndTerrain,region={1}", BSScene.DetailLogZero, PhysicsScene.RegionName); if (m_groundPlane.HasPhysicalBody) { if (PhysicsScene.PE.RemoveObjectFromWorld(PhysicsScene.World, m_groundPlane)) @@ -193,11 +198,16 @@ public sealed class BSTerrainManager : IDisposable // the terrain is added to our parent if (MegaRegionParentPhysicsScene is BSScene) { - DetailLog("{0},SetTerrain.ToParent,offset={1},worldMax={2}", - BSScene.DetailLogZero, m_worldOffset, m_worldMax); - ((BSScene)MegaRegionParentPhysicsScene).TerrainManager.UpdateTerrain( - BSScene.CHILDTERRAIN_ID, localHeightMap, - m_worldOffset, m_worldOffset + DefaultRegionSize, true); + DetailLog("{0},SetTerrain.ToParent,offset={1},worldMax={2}", BSScene.DetailLogZero, m_worldOffset, m_worldMax); + // This looks really odd but this region is passing its terrain to its mega-region root region + // and the creation of the terrain must happen on the root region's taint thread and not + // my taint thread. + ((BSScene)MegaRegionParentPhysicsScene).PostTaintObject("TerrainManager.SetTerrain.Mega-" + m_worldOffset.ToString(), 0, delegate() + { + ((BSScene)MegaRegionParentPhysicsScene).TerrainManager.UpdateTerrain( + BSScene.CHILDTERRAIN_ID, localHeightMap, + m_worldOffset, m_worldOffset + DefaultRegionSize, true /* inTaintTime */); + }); } } else @@ -206,16 +216,16 @@ public sealed class BSTerrainManager : IDisposable DetailLog("{0},SetTerrain.Existing", BSScene.DetailLogZero); UpdateTerrain(BSScene.TERRAIN_ID, localHeightMap, - m_worldOffset, m_worldOffset + DefaultRegionSize, true); + m_worldOffset, m_worldOffset + DefaultRegionSize, true /* inTaintTime */); } }); } - // If called with no mapInfo for the terrain, this will create a new mapInfo and terrain + // If called for terrain has has not been previously allocated, a new terrain will be built // based on the passed information. The 'id' should be either the terrain id or // BSScene.CHILDTERRAIN_ID. If the latter, a new child terrain ID will be allocated and used. // The latter feature is for creating child terrains for mega-regions. - // If called with a mapInfo in m_heightMaps and there is an existing terrain body, a new + // If there is an existing terrain body, a new // terrain shape is created and added to the body. // This call is most often used to update the heightMap and parameters of the terrain. // (The above does suggest that some simplification/refactoring is in order.) @@ -223,8 +233,8 @@ public sealed class BSTerrainManager : IDisposable private void UpdateTerrain(uint id, float[] heightMap, Vector3 minCoords, Vector3 maxCoords, bool inTaintTime) { - DetailLog("{0},BSTerrainManager.UpdateTerrain,call,minC={1},maxC={2},inTaintTime={3}", - BSScene.DetailLogZero, minCoords, maxCoords, inTaintTime); + DetailLog("{0},BSTerrainManager.UpdateTerrain,call,id={1},minC={2},maxC={3},inTaintTime={4}", + BSScene.DetailLogZero, id, minCoords, maxCoords, inTaintTime); // Find high and low points of passed heightmap. // The min and max passed in is usually the area objects can be in (maximum @@ -253,7 +263,7 @@ public sealed class BSTerrainManager : IDisposable if (m_terrains.TryGetValue(terrainRegionBase, out terrainPhys)) { // There is already a terrain in this spot. Free the old and build the new. - DetailLog("{0},UpdateTerrain:UpdateExisting,call,id={1},base={2},minC={3},maxC={4}", + DetailLog("{0},BSTErrainManager.UpdateTerrain:UpdateExisting,call,id={1},base={2},minC={3},maxC={4}", BSScene.DetailLogZero, id, terrainRegionBase, minCoords, minCoords); // Remove old terrain from the collection @@ -292,7 +302,7 @@ public sealed class BSTerrainManager : IDisposable if (newTerrainID >= BSScene.CHILDTERRAIN_ID) newTerrainID = ++m_terrainCount; - DetailLog("{0},UpdateTerrain:NewTerrain,taint,newID={1},minCoord={2},maxCoord={3}", + DetailLog("{0},BSTerrainManager.UpdateTerrain:NewTerrain,taint,newID={1},minCoord={2},maxCoord={3}", BSScene.DetailLogZero, newTerrainID, minCoords, minCoords); BSTerrainPhys newTerrainPhys = BuildPhysicalTerrain(terrainRegionBase, id, heightMap, minCoords, maxCoords); m_terrains.Add(terrainRegionBase, newTerrainPhys); diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSTerrainMesh.cs b/OpenSim/Region/Physics/BulletSPlugin/BSTerrainMesh.cs index a9cd8a1578..2ce1513d54 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSTerrainMesh.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSTerrainMesh.cs @@ -98,20 +98,20 @@ public sealed class BSTerrainMesh : BSTerrainPhys if (!meshCreationSuccess) { // DISASTER!! - PhysicsScene.DetailLog("{0},BSTerrainMesh.create,failedConversionOfHeightmap", ID); + PhysicsScene.DetailLog("{0},BSTerrainMesh.create,failedConversionOfHeightmap,id={1}", BSScene.DetailLogZero, ID); PhysicsScene.Logger.ErrorFormat("{0} Failed conversion of heightmap to mesh! base={1}", LogHeader, TerrainBase); // Something is very messed up and a crash is in our future. return; } - PhysicsScene.DetailLog("{0},BSTerrainMesh.create,meshed,indices={1},indSz={2},vertices={3},vertSz={4}", - ID, indicesCount, indices.Length, verticesCount, vertices.Length); + PhysicsScene.DetailLog("{0},BSTerrainMesh.create,meshed,id={1},indices={2},indSz={3},vertices={4},vertSz={5}", + BSScene.DetailLogZero, ID, indicesCount, indices.Length, verticesCount, vertices.Length); m_terrainShape = PhysicsScene.PE.CreateMeshShape(PhysicsScene.World, indicesCount, indices, verticesCount, vertices); if (!m_terrainShape.HasPhysicalShape) { // DISASTER!! - PhysicsScene.DetailLog("{0},BSTerrainMesh.create,failedCreationOfShape", ID); + PhysicsScene.DetailLog("{0},BSTerrainMesh.create,failedCreationOfShape,id={1}", BSScene.DetailLogZero, ID); PhysicsScene.Logger.ErrorFormat("{0} Failed creation of terrain mesh! base={1}", LogHeader, TerrainBase); // Something is very messed up and a crash is in our future. return; @@ -151,7 +151,7 @@ public sealed class BSTerrainMesh : BSTerrainPhys if (BSParam.UseSingleSidedMeshes) { - PhysicsScene.DetailLog("{0},BSTerrainMesh.settingCustomMaterial", id); + PhysicsScene.DetailLog("{0},BSTerrainMesh.settingCustomMaterial,id={1}", BSScene.DetailLogZero, id); PhysicsScene.PE.AddToCollisionFlags(m_terrainBody, CollisionFlags.CF_CUSTOM_MATERIAL_CALLBACK); } From c2093ccce16cd5210c8e0759f23b5b4bd205b7af Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 28 Mar 2013 22:07:58 +0000 Subject: [PATCH 824/851] Move the simulator-side RezAttachments call on login to SP.MakeRootAgent with the other attachments code, using TeleportFlags.ViaLogin check to fire if necessary. This is to simplify the code (no tricky 'wasChild' signalling required) and to reduce the risk of a thread clash between simulator-side attaching (necessary for v1 viewers) and the viewer-side attaching the v3 viewers perform. --- .../Avatar/Attachments/AttachmentsModule.cs | 2 +- OpenSim/Region/Framework/Scenes/Scene.cs | 28 ------------- .../Region/Framework/Scenes/ScenePresence.cs | 41 ++++++++++++++----- 3 files changed, 32 insertions(+), 39 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs index ad17aa9ab8..a46834c1f4 100644 --- a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs @@ -197,7 +197,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments return; } -// m_log.DebugFormat("[ATTACHMENTS MODULE]: Rezzing any attachments for {0}", sp.Name); +// m_log.DebugFormat("[ATTACHMENTS MODULE]: Rezzing any attachments for {0} from simulator-side", sp.Name); List attachments = sp.Appearance.GetAttachments(); foreach (AvatarAttachment attach in attachments) diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 45cbdd574d..0ac4027032 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -2820,34 +2820,6 @@ namespace OpenSim.Region.Framework.Scenes m_eventManager.TriggerOnNewPresence(sp); sp.TeleportFlags = (TPFlags)aCircuit.teleportFlags; - - // The first agent upon login is a root agent by design. - // For this agent we will have to rez the attachments. - // All other AddNewClient calls find aCircuit.child to be true. - if (aCircuit.child == false) - { - // We have to set SP to be a root agent here so that SP.MakeRootAgent() will later not try to - // start the scripts again (since this is done in RezAttachments()). - // XXX: This is convoluted. - sp.IsChildAgent = false; - - // We leave a 5 second pause before attempting to rez attachments to avoid a clash with - // version 3 viewers that maybe doing their own attachment rezzing related to their current - // outfit folder on startup. If these operations do clash, then the symptoms are invisible - // attachments until one zooms in on the avatar. - // - // We do not pause if we are launching on the same thread anyway in order to avoid pointlessly - // delaying any attachment related regression tests. - if (AttachmentsModule != null) - Util.FireAndForget( - o => - { - if (Util.FireAndForgetMethod != FireAndForgetMethod.None) - Thread.Sleep(5000); - - AttachmentsModule.RezAttachments(sp); - }); - } } else { diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index f3b923f338..4fb9a1b55a 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -866,7 +866,6 @@ namespace OpenSim.Region.Framework.Scenes //m_log.DebugFormat("[SCENE]: known regions in {0}: {1}", Scene.RegionInfo.RegionName, KnownChildRegionHandles.Count); - bool wasChild = IsChildAgent; IsChildAgent = false; IGroupsModule gm = m_scene.RequestModuleInterface(); @@ -952,18 +951,40 @@ namespace OpenSim.Region.Framework.Scenes // and it has already rezzed the attachments and started their scripts. // We do the following only for non-login agents, because their scripts // haven't started yet. - lock (m_attachments) + if ((TeleportFlags & TeleportFlags.ViaLogin) != 0) { - if (wasChild && HasAttachments()) + // We leave a 5 second pause before attempting to rez attachments to avoid a clash with + // version 3 viewers that maybe doing their own attachment rezzing related to their current + // outfit folder on startup. If these operations do clash, then the symptoms are invisible + // attachments until one zooms in on the avatar. + // + // We do not pause if we are launching on the same thread anyway in order to avoid pointlessly + // delaying any attachment related regression tests. + if (Scene.AttachmentsModule != null) + Util.FireAndForget( + o => + { + if (Util.FireAndForgetMethod != FireAndForgetMethod.None) + System.Threading.Thread.Sleep(5000); + + Scene.AttachmentsModule.RezAttachments(this); + }); + } + else + { + lock (m_attachments) { - m_log.DebugFormat( - "[SCENE PRESENCE]: Restarting scripts in attachments for {0} in {1}", Name, Scene.Name); - - // Resume scripts - foreach (SceneObjectGroup sog in m_attachments) + if (HasAttachments()) { - sog.RootPart.ParentGroup.CreateScriptInstances(0, false, m_scene.DefaultScriptEngine, GetStateSource()); - sog.ResumeScripts(); + m_log.DebugFormat( + "[SCENE PRESENCE]: Restarting scripts in attachments for {0} in {1}", Name, Scene.Name); + + // Resume scripts + foreach (SceneObjectGroup sog in m_attachments) + { + sog.RootPart.ParentGroup.CreateScriptInstances(0, false, m_scene.DefaultScriptEngine, GetStateSource()); + sog.ResumeScripts(); + } } } } From 3b377f16b29a6395d73af1cc987cb9abf9935376 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 28 Mar 2013 22:44:59 +0000 Subject: [PATCH 825/851] Fix regression tests by making a new NPC always trigger simulator side attachment code when created. Regression from previous commit c2093ccc. Failed because NPCs don't set the ViaLogin flag --- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 4fb9a1b55a..3a1e7589d9 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -951,7 +951,7 @@ namespace OpenSim.Region.Framework.Scenes // and it has already rezzed the attachments and started their scripts. // We do the following only for non-login agents, because their scripts // haven't started yet. - if ((TeleportFlags & TeleportFlags.ViaLogin) != 0) + if (PresenceType == PresenceType.Npc || (TeleportFlags & TeleportFlags.ViaLogin) != 0) { // We leave a 5 second pause before attempting to rez attachments to avoid a clash with // version 3 viewers that maybe doing their own attachment rezzing related to their current @@ -964,7 +964,7 @@ namespace OpenSim.Region.Framework.Scenes Util.FireAndForget( o => { - if (Util.FireAndForgetMethod != FireAndForgetMethod.None) + if (PresenceType != PresenceType.Npc && Util.FireAndForgetMethod != FireAndForgetMethod.None) System.Threading.Thread.Sleep(5000); Scene.AttachmentsModule.RezAttachments(this); From 4ad9b275302ee109937512963eab095ff542a0c7 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 28 Mar 2013 22:51:59 +0000 Subject: [PATCH 826/851] If the viewer has already rezzed any attachments itself, then ignore the simulator-side rez attachments call. This is a further effort to reduce v3 viewer race conditions where this call may clash with the viewer signalling attachment wearing from its current outfit folder. --- .../Avatar/Attachments/AttachmentsModule.cs | 14 ++++++++++---- .../Framework/Interfaces/IAttachmentsModule.cs | 4 ++++ OpenSim/Region/Framework/Scenes/ScenePresence.cs | 12 +++++------- 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs index a46834c1f4..55c5422820 100644 --- a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs @@ -182,10 +182,6 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments } } - /// - /// RezAttachments. This should only be called upon login on the first region. - /// Attachment rezzings on crossings and TPs are done in a different way. - /// public void RezAttachments(IScenePresence sp) { if (!Enabled) @@ -194,9 +190,19 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments if (null == sp.Appearance) { m_log.WarnFormat("[ATTACHMENTS MODULE]: Appearance has not been initialized for agent {0}", sp.UUID); + return; } + if (sp.GetAttachments().Count > 0) + { +// m_log.DebugFormat( +// "[ATTACHMENTS MODULE]: Not doing simulator-side attachment rez for {0} in {1} as their viewer has already rezzed attachments", +// m_scene.Name, sp.Name); + + return; + } + // m_log.DebugFormat("[ATTACHMENTS MODULE]: Rezzing any attachments for {0} from simulator-side", sp.Name); List attachments = sp.Appearance.GetAttachments(); diff --git a/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs b/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs index 46daab3e35..156a09d3ff 100644 --- a/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs @@ -53,6 +53,10 @@ namespace OpenSim.Region.Framework.Interfaces /// RezAttachments. This should only be called upon login on the first region. /// Attachment rezzings on crossings and TPs are done in a different way. /// + /// + /// This is only actually necessary for viewers which do not have a current outfit folder (these viewers make + /// their own attachment calls on login) and agents which have attachments but no viewer (e.g. NPCs). + /// /// void RezAttachments(IScenePresence sp); diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 3a1e7589d9..fcb2f6d1f2 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -953,13 +953,11 @@ namespace OpenSim.Region.Framework.Scenes // haven't started yet. if (PresenceType == PresenceType.Npc || (TeleportFlags & TeleportFlags.ViaLogin) != 0) { - // We leave a 5 second pause before attempting to rez attachments to avoid a clash with - // version 3 viewers that maybe doing their own attachment rezzing related to their current - // outfit folder on startup. If these operations do clash, then the symptoms are invisible - // attachments until one zooms in on the avatar. - // - // We do not pause if we are launching on the same thread anyway in order to avoid pointlessly - // delaying any attachment related regression tests. + // Viewers which have a current outfit folder will actually rez their own attachments. However, + // viewers without (e.g. v1 viewers) will not, so we still need to make this call. + // + // However, we leave a 5 second pause to try and avoid a clash with viewers that are rezzing + // attachments themselves. This should then mean that this call ends up doing nothing. if (Scene.AttachmentsModule != null) Util.FireAndForget( o => From 03e421bf3d796bf3498f4f3311c59ce04fb1fea1 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 28 Mar 2013 22:55:13 +0000 Subject: [PATCH 827/851] minor: comment out unused Scene.AgentCrossing() to reduce code complexity --- OpenSim/Region/Framework/Scenes/Scene.cs | 54 ++++++++++++------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 0ac4027032..5337835325 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -4103,33 +4103,33 @@ namespace OpenSim.Region.Framework.Scenes // } // } - /// - /// Triggered when an agent crosses into this sim. Also happens on initial login. - /// - /// - /// - /// - public virtual void AgentCrossing(UUID agentID, Vector3 position, bool isFlying) - { - ScenePresence presence = GetScenePresence(agentID); - if (presence != null) - { - try - { - presence.MakeRootAgent(position, isFlying); - } - catch (Exception e) - { - m_log.ErrorFormat("[SCENE]: Unable to do agent crossing, exception {0}{1}", e.Message, e.StackTrace); - } - } - else - { - m_log.ErrorFormat( - "[SCENE]: Could not find presence for agent {0} crossing into scene {1}", - agentID, RegionInfo.RegionName); - } - } +// /// +// /// Triggered when an agent crosses into this sim. Also happens on initial login. +// /// +// /// +// /// +// /// +// public virtual void AgentCrossing(UUID agentID, Vector3 position, bool isFlying) +// { +// ScenePresence presence = GetScenePresence(agentID); +// if (presence != null) +// { +// try +// { +// presence.MakeRootAgent(position, isFlying); +// } +// catch (Exception e) +// { +// m_log.ErrorFormat("[SCENE]: Unable to do agent crossing, exception {0}{1}", e.Message, e.StackTrace); +// } +// } +// else +// { +// m_log.ErrorFormat( +// "[SCENE]: Could not find presence for agent {0} crossing into scene {1}", +// agentID, RegionInfo.RegionName); +// } +// } /// /// We've got an update about an agent that sees into this region, From feffc8081dc5ab2889a7ea4b96b2befaed0c3f95 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 28 Mar 2013 22:56:30 +0000 Subject: [PATCH 828/851] minor: remove some mono compiler warnings from EntityTransferModule --- .../Framework/EntityTransfer/EntityTransferModule.cs | 5 ----- 1 file changed, 5 deletions(-) diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 035632b39b..764c98216c 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs @@ -1938,11 +1938,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer Scene pScene = avatar.Scene; RegionInfo m_regionInfo = pScene.RegionInfo; - Border[] northBorders = pScene.NorthBorders.ToArray(); - Border[] southBorders = pScene.SouthBorders.ToArray(); - Border[] eastBorders = pScene.EastBorders.ToArray(); - Border[] westBorders = pScene.WestBorders.ToArray(); - // Leaving this as a "megaregions" computation vs "non-megaregions" computation; it isn't // clear what should be done with a "far view" given that megaregions already extended the // view to include everything in the megaregion From 2b142f2f9e888d5cb7317cc51c12ac7152c54459 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 28 Mar 2013 23:09:35 +0000 Subject: [PATCH 829/851] Add "debug attachments" console command to allow highly verbose attachment logging to be switched on and off. Default is off. --- .../Avatar/Attachments/AttachmentsModule.cs | 170 +++++++++++------- 1 file changed, 109 insertions(+), 61 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs index 55c5422820..c78f5b321e 100644 --- a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs @@ -48,6 +48,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments { #region INonSharedRegionModule private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + + public int DebugLevel { get; set; } private Scene m_scene; private IInventoryAccessModule m_invAccessModule; @@ -79,11 +81,37 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments m_scene.EventManager.OnNewClient += SubscribeToClientEvents; m_scene.EventManager.OnStartScript += (localID, itemID) => HandleScriptStateChange(localID, true); m_scene.EventManager.OnStopScript += (localID, itemID) => HandleScriptStateChange(localID, false); + + MainConsole.Instance.Commands.AddCommand( + "Debug", + false, + "debug attachments", + "debug attachments [0|1]", + "Turn on attachments debugging\n" + + " <= 0 - turns off debugging\n" + + " >= 1 - turns on attachment message logging\n", + HandleDebugAttachments); } // TODO: Should probably be subscribing to CloseClient too, but this doesn't yet give us IClientAPI } + private void HandleDebugAttachments(string module, string[] args) + { + int debugLevel; + + if (!(args.Length == 3 && int.TryParse(args[2], out debugLevel))) + { + MainConsole.Instance.OutputFormat("Usage: debug attachments [0|1]"); + } + else + { + DebugLevel = debugLevel; + MainConsole.Instance.OutputFormat( + "Set event queue debug level to {0} in {1}", DebugLevel, m_scene.Name); + } + } + /// /// Listen for client triggered running state changes so that we can persist the script's object if necessary. /// @@ -196,14 +224,16 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments if (sp.GetAttachments().Count > 0) { -// m_log.DebugFormat( -// "[ATTACHMENTS MODULE]: Not doing simulator-side attachment rez for {0} in {1} as their viewer has already rezzed attachments", -// m_scene.Name, sp.Name); + if (DebugLevel > 0) + m_log.DebugFormat( + "[ATTACHMENTS MODULE]: Not doing simulator-side attachment rez for {0} in {1} as their viewer has already rezzed attachments", + m_scene.Name, sp.Name); return; } -// m_log.DebugFormat("[ATTACHMENTS MODULE]: Rezzing any attachments for {0} from simulator-side", sp.Name); + if (DebugLevel > 0) + m_log.DebugFormat("[ATTACHMENTS MODULE]: Rezzing any attachments for {0} from simulator-side", sp.Name); List attachments = sp.Appearance.GetAttachments(); foreach (AvatarAttachment attach in attachments) @@ -245,7 +275,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments if (!Enabled) return; -// m_log.DebugFormat("[ATTACHMENTS MODULE]: Saving changed attachments for {0}", sp.Name); + if (DebugLevel > 0) + m_log.DebugFormat("[ATTACHMENTS MODULE]: Saving changed attachments for {0}", sp.Name); List attachments = sp.GetAttachments(); @@ -278,9 +309,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments if (!Enabled) return; -// m_log.DebugFormat( -// "[ATTACHMENTS MODULE]: Deleting attachments from scene {0} for {1}, silent = {2}", -// m_scene.RegionInfo.RegionName, sp.Name, silent); + if (DebugLevel > 0) + m_log.DebugFormat( + "[ATTACHMENTS MODULE]: Deleting attachments from scene {0} for {1}, silent = {2}", + m_scene.RegionInfo.RegionName, sp.Name, silent); foreach (SceneObjectGroup sop in sp.GetAttachments()) { @@ -313,9 +345,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments { if (group.GetSittingAvatarsCount() != 0) { -// m_log.WarnFormat( -// "[ATTACHMENTS MODULE]: Ignoring request to attach {0} {1} to {2} on {3} since {4} avatars are still sitting on it", -// group.Name, group.LocalId, sp.Name, attachmentPt, group.GetSittingAvatarsCount()); + if (DebugLevel > 0) + m_log.WarnFormat( + "[ATTACHMENTS MODULE]: Ignoring request to attach {0} {1} to {2} on {3} since {4} avatars are still sitting on it", + group.Name, group.LocalId, sp.Name, attachmentPt, group.GetSittingAvatarsCount()); return false; } @@ -351,9 +384,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments if (attachments.Contains(group)) { -// m_log.WarnFormat( -// "[ATTACHMENTS MODULE]: Ignoring request to attach {0} {1} to {2} on {3} since it's already attached", -// group.Name, group.LocalId, sp.Name, AttachmentPt); + if (DebugLevel > 0) + m_log.WarnFormat( + "[ATTACHMENTS MODULE]: Ignoring request to attach {0} {1} to {2} on {3} since it's already attached", + group.Name, group.LocalId, sp.Name, attachmentPt); return false; } @@ -418,9 +452,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments if (!Enabled) return null; -// m_log.DebugFormat( -// "[ATTACHMENTS MODULE]: RezSingleAttachmentFromInventory to point {0} from item {1} for {2} in {3}", -// (AttachmentPoint)AttachmentPt, itemID, sp.Name, m_scene.Name); + if (DebugLevel > 0) + m_log.DebugFormat( + "[ATTACHMENTS MODULE]: RezSingleAttachmentFromInventory to point {0} from item {1} for {2} in {3}", + (AttachmentPoint)AttachmentPt, itemID, sp.Name, m_scene.Name); bool append = (AttachmentPt & 0x80) != 0; AttachmentPt &= 0x7f; @@ -444,9 +479,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments // if (sp.Appearance.GetAttachmentForItem(itemID) != null) if (alreadyOn) { -// m_log.WarnFormat( -// "[ATTACHMENTS MODULE]: Ignoring request by {0} to wear item {1} at {2} since it is already worn", -// sp.Name, itemID, AttachmentPt); + if (DebugLevel > 0) + m_log.DebugFormat( + "[ATTACHMENTS MODULE]: Ignoring request by {0} to wear item {1} at {2} since it is already worn", + sp.Name, itemID, AttachmentPt); return null; } @@ -459,7 +495,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments if (!Enabled) return; - // m_log.DebugFormat("[ATTACHMENTS MODULE]: Rezzing multiple attachments from inventory for {0}", sp.Name); + if (DebugLevel > 0) + m_log.DebugFormat("[ATTACHMENTS MODULE]: Rezzing multiple attachments from inventory for {0}", sp.Name); foreach (KeyValuePair rez in rezlist) { @@ -477,9 +514,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments if (!Enabled) return; -// m_log.DebugFormat( -// "[ATTACHMENTS MODULE]: DetachSingleAttachmentToGround() for {0}, object {1}", -// sp.UUID, soLocalId); + if (DebugLevel > 0) + m_log.DebugFormat( + "[ATTACHMENTS MODULE]: DetachSingleAttachmentToGround() for {0}, object {1}", + sp.UUID, soLocalId); SceneObjectGroup so = m_scene.GetGroupByPrim(soLocalId); @@ -495,9 +533,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments if (inventoryID == UUID.Zero) return; -// m_log.DebugFormat( -// "[ATTACHMENTS MODULE]: In DetachSingleAttachmentToGround(), object is {0} {1}, associated item is {2}", -// so.Name, so.LocalId, inventoryID); + if (DebugLevel > 0) + m_log.DebugFormat( + "[ATTACHMENTS MODULE]: In DetachSingleAttachmentToGround(), object is {0} {1}, associated item is {2}", + so.Name, so.LocalId, inventoryID); lock (sp.AttachmentsSyncLock) { @@ -552,9 +591,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments return; } -// m_log.DebugFormat( -// "[ATTACHMENTS MODULE]: Detaching object {0} {1} (FromItemID {2}) for {3} in {4}", -// so.Name, so.LocalId, so.FromItemID, sp.Name, m_scene.Name); + if (DebugLevel > 0) + m_log.DebugFormat( + "[ATTACHMENTS MODULE]: Detaching object {0} {1} (FromItemID {2}) for {3} in {4}", + so.Name, so.LocalId, so.FromItemID, sp.Name, m_scene.Name); // Scripts MUST be snapshotted before the object is // removed from the scene because doing otherwise will @@ -680,12 +720,12 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments grp.HasGroupChanged = false; // Prevent it being saved over and over } -// else -// { -// m_log.DebugFormat( -// "[ATTACHMENTS MODULE]: Don't need to update asset for unchanged attachment {0}, attachpoint {1}", -// grp.UUID, grp.AttachmentPoint); -// } + else if (DebugLevel > 0) + { + m_log.DebugFormat( + "[ATTACHMENTS MODULE]: Don't need to update asset for unchanged attachment {0}, attachpoint {1}", + grp.UUID, grp.AttachmentPoint); + } } /// @@ -703,9 +743,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments private void AttachToAgent( IScenePresence sp, SceneObjectGroup so, uint attachmentpoint, Vector3 attachOffset, bool silent) { -// m_log.DebugFormat( -// "[ATTACHMENTS MODULE]: Adding attachment {0} to avatar {1} in pt {2} pos {3} {4}", -// so.Name, sp.Name, attachmentpoint, attachOffset, so.RootPart.AttachedPos); + if (DebugLevel > 0) + m_log.DebugFormat( + "[ATTACHMENTS MODULE]: Adding attachment {0} to avatar {1} in pt {2} pos {3} {4}", + so.Name, sp.Name, attachmentpoint, attachOffset, so.RootPart.AttachedPos); so.DetachFromBackup(); @@ -730,9 +771,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments { if (so.HasPrivateAttachmentPoint) { -// m_log.DebugFormat( -// "[ATTACHMENTS MODULE]: Killing private HUD {0} for avatars other than {1} at attachment point {2}", -// so.Name, sp.Name, so.AttachmentPoint); + if (DebugLevel > 0) + m_log.DebugFormat( + "[ATTACHMENTS MODULE]: Killing private HUD {0} for avatars other than {1} at attachment point {2}", + so.Name, sp.Name, so.AttachmentPoint); // As this scene object can now only be seen by the attaching avatar, tell everybody else in the // scene that it's no longer in their awareness. @@ -766,9 +808,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments if (m_invAccessModule == null) return null; - // m_log.DebugFormat( - // "[ATTACHMENTS MODULE]: Called AddSceneObjectAsAttachment for object {0} {1} for {2}", - // grp.Name, grp.LocalId, remoteClient.Name); + if (DebugLevel > 0) + m_log.DebugFormat( + "[ATTACHMENTS MODULE]: Called AddSceneObjectAsAttachment for object {0} {1} for {2}", + grp.Name, grp.LocalId, sp.Name); InventoryItemBase newItem = m_invAccessModule.CopyToInventory( @@ -877,9 +920,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments return null; } -// m_log.DebugFormat( -// "[ATTACHMENTS MODULE]: Rezzed single object {0} for attachment to {1} on point {2} in {3}", -// objatt.Name, sp.Name, attachmentPt, m_scene.Name); + if (DebugLevel > 0) + m_log.DebugFormat( + "[ATTACHMENTS MODULE]: Rezzed single object {0} for attachment to {1} on point {2} in {3}", + objatt.Name, sp.Name, attachmentPt, m_scene.Name); // HasGroupChanged is being set from within RezObject. Ideally it would be set by the caller. objatt.HasGroupChanged = false; @@ -949,9 +993,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments bool changed = sp.Appearance.SetAttachment((int)AttachmentPt | attFlag, itemID, item.AssetID); if (changed && m_scene.AvatarFactory != null) { -// m_log.DebugFormat( -// "[ATTACHMENTS MODULE]: Queueing appearance save for {0}, attachment {1} point {2} in ShowAttachInUserInventory()", -// sp.Name, att.Name, AttachmentPt); + if (DebugLevel > 0) + m_log.DebugFormat( + "[ATTACHMENTS MODULE]: Queueing appearance save for {0}, attachment {1} point {2} in ShowAttachInUserInventory()", + sp.Name, att.Name, AttachmentPt); m_scene.AvatarFactory.QueueAppearanceSave(sp.UUID); } @@ -966,9 +1011,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments if (!Enabled) return null; - // m_log.DebugFormat( - // "[ATTACHMENTS MODULE]: Rezzing attachment to point {0} from item {1} for {2}", - // (AttachmentPoint)AttachmentPt, itemID, remoteClient.Name); + if (DebugLevel > 0) + m_log.DebugFormat( + "[ATTACHMENTS MODULE]: Rezzing attachment to point {0} from item {1} for {2}", + (AttachmentPoint)AttachmentPt, itemID, remoteClient.Name); ScenePresence sp = m_scene.GetScenePresence(remoteClient.AgentId); @@ -999,9 +1045,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments private void Client_OnObjectAttach(IClientAPI remoteClient, uint objectLocalID, uint AttachmentPt, bool silent) { -// m_log.DebugFormat( -// "[ATTACHMENTS MODULE]: Attaching object local id {0} to {1} point {2} from ground (silent = {3})", -// objectLocalID, remoteClient.Name, AttachmentPt, silent); + if (DebugLevel > 0) + m_log.DebugFormat( + "[ATTACHMENTS MODULE]: Attaching object local id {0} to {1} point {2} from ground (silent = {3})", + objectLocalID, remoteClient.Name, AttachmentPt, silent); if (!Enabled) return; @@ -1036,9 +1083,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments // Calls attach with a Zero position if (AttachObject(sp, part.ParentGroup, AttachmentPt, false, false, append)) { -// m_log.Debug( -// "[ATTACHMENTS MODULE]: Saving avatar attachment. AgentID: " + remoteClient.AgentId -// + ", AttachmentPoint: " + AttachmentPt); + if (DebugLevel > 0) + m_log.Debug( + "[ATTACHMENTS MODULE]: Saving avatar attachment. AgentID: " + remoteClient.AgentId + + ", AttachmentPoint: " + AttachmentPt); // Save avatar attachment information m_scene.EventManager.TriggerOnAttach(objectLocalID, part.ParentGroup.FromItemID, remoteClient.AgentId); @@ -1095,4 +1143,4 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments #endregion } -} +} \ No newline at end of file From c92654fb43f303da8e1623f9fff8a404aad72374 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 28 Mar 2013 23:57:35 +0000 Subject: [PATCH 830/851] Stop attempts to update/add existing attachments in user inventory when teleporting between regions. This appears to resolve issues on teleport where attachments disappear or become labelled as invalid within user inventory. --- .../Avatar/Attachments/AttachmentsModule.cs | 31 +++++++++---------- .../Tests/AttachmentsModuleTests.cs | 10 +++--- .../Interfaces/IAttachmentsModule.cs | 6 ++-- .../Attachments/TempAttachmentsModule.cs | 2 +- 4 files changed, 25 insertions(+), 24 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs index c78f5b321e..b7f4303ec1 100644 --- a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs @@ -322,12 +322,13 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments sp.ClearAttachments(); } - public bool AttachObject(IScenePresence sp, SceneObjectGroup group, uint attachmentPt, bool silent, bool temp, bool append) + public bool AttachObject( + IScenePresence sp, SceneObjectGroup group, uint attachmentPt, bool silent, bool addToInventory, bool append) { if (!Enabled) return false; - return AttachObjectInternal(sp, group, attachmentPt, silent, temp, true, append); + return AttachObjectInternal(sp, group, attachmentPt, silent, addToInventory, true, append); } /// @@ -338,10 +339,11 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments /// The object to attach. /// /// - /// + /// If true then add object to user inventory. /// If true then scripts are resumed on the attached object. + /// Append to attachment point rather than replace. private bool AttachObjectInternal( - IScenePresence sp, SceneObjectGroup group, uint attachmentPt, bool silent, bool temp, bool resumeScripts, bool append) + IScenePresence sp, SceneObjectGroup group, uint attachmentPt, bool silent, bool addToInventory, bool resumeScripts, bool append) { if (group.GetSittingAvatarsCount() != 0) { @@ -412,8 +414,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments lock (sp.AttachmentsSyncLock) { - if (sp.PresenceType != PresenceType.Npc) - UpdateUserInventoryWithAttachment(sp, group, attachmentPt, temp, append); + if (addToInventory && sp.PresenceType != PresenceType.Npc) + UpdateUserInventoryWithAttachment(sp, group, attachmentPt, append); AttachToAgent(sp, group, attachmentPt, attachPos, silent); @@ -432,19 +434,16 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments return true; } - private void UpdateUserInventoryWithAttachment(IScenePresence sp, SceneObjectGroup group, uint attachmentPt, bool temp, bool append) + private void UpdateUserInventoryWithAttachment(IScenePresence sp, SceneObjectGroup group, uint attachmentPt, bool append) { List attachments = sp.GetAttachments(attachmentPt); // Add the new attachment to inventory if we don't already have it. - if (!temp) - { - UUID newAttachmentItemID = group.FromItemID; - if (newAttachmentItemID == UUID.Zero) - newAttachmentItemID = AddSceneObjectAsNewAttachmentInInv(sp, group).ID; + UUID newAttachmentItemID = group.FromItemID; + if (newAttachmentItemID == UUID.Zero) + newAttachmentItemID = AddSceneObjectAsNewAttachmentInInv(sp, group).ID; - ShowAttachInUserInventory(sp, attachmentPt, newAttachmentItemID, group, append); - } + ShowAttachInUserInventory(sp, attachmentPt, newAttachmentItemID, group, append); } public SceneObjectGroup RezSingleAttachmentFromInventory(IScenePresence sp, UUID itemID, uint AttachmentPt) @@ -939,7 +938,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments // This will throw if the attachment fails try { - AttachObjectInternal(sp, objatt, attachmentPt, false, false, true, append); + AttachObjectInternal(sp, objatt, attachmentPt, false, true, true, append); } catch (Exception e) { @@ -1081,7 +1080,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments AttachmentPt &= 0x7f; // Calls attach with a Zero position - if (AttachObject(sp, part.ParentGroup, AttachmentPt, false, false, append)) + if (AttachObject(sp, part.ParentGroup, AttachmentPt, false, true, append)) { if (DebugLevel > 0) m_log.Debug( diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs index c8c594d99d..6e4262e405 100644 --- a/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs +++ b/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs @@ -197,7 +197,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests SceneObjectGroup so = SceneHelpers.AddSceneObject(scene, attName, sp.UUID); m_numberOfAttachEventsFired = 0; - scene.AttachmentsModule.AttachObject(sp, so, (uint)AttachmentPoint.Chest, false, false, false); + scene.AttachmentsModule.AttachObject(sp, so, (uint)AttachmentPoint.Chest, false, true, false); // Check status on scene presence Assert.That(sp.HasAttachments(), Is.True); @@ -244,7 +244,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests SceneObjectGroup so = SceneHelpers.AddSceneObject(scene, "att1", sp.UUID); m_numberOfAttachEventsFired = 0; - scene.AttachmentsModule.AttachObject(sp, so, (uint)AttachmentPoint.Default, false, false, false); + scene.AttachmentsModule.AttachObject(sp, so, (uint)AttachmentPoint.Default, false, true, false); // Check status on scene presence Assert.That(sp.HasAttachments(), Is.True); @@ -277,7 +277,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests // Test wearing a different attachment from the ground. { - scene.AttachmentsModule.AttachObject(sp, so2, (uint)AttachmentPoint.Default, false, false, false); + scene.AttachmentsModule.AttachObject(sp, so2, (uint)AttachmentPoint.Default, false, true, false); // Check status on scene presence Assert.That(sp.HasAttachments(), Is.True); @@ -310,7 +310,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests // Test rewearing an already worn attachment from ground. Nothing should happen. { - scene.AttachmentsModule.AttachObject(sp, so2, (uint)AttachmentPoint.Default, false, false, false); + scene.AttachmentsModule.AttachObject(sp, so2, (uint)AttachmentPoint.Default, false, true, false); // Check status on scene presence Assert.That(sp.HasAttachments(), Is.True); @@ -368,7 +368,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests sp2.AbsolutePosition = new Vector3(0, 0, 0); sp2.HandleAgentRequestSit(sp2.ControllingClient, sp2.UUID, so.UUID, Vector3.Zero); - scene.AttachmentsModule.AttachObject(sp, so, (uint)AttachmentPoint.Chest, false, false, false); + scene.AttachmentsModule.AttachObject(sp, so, (uint)AttachmentPoint.Chest, false, true, false); Assert.That(sp.HasAttachments(), Is.False); Assert.That(scene.GetSceneObjectGroups().Count, Is.EqualTo(1)); diff --git a/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs b/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs index 156a09d3ff..d9901bde79 100644 --- a/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs @@ -80,14 +80,16 @@ namespace OpenSim.Region.Framework.Interfaces void DeleteAttachmentsFromScene(IScenePresence sp, bool silent); /// - /// Attach an object to an avatar + /// Attach an object to an avatar. /// /// /// /// /// + /// If true then add object to user inventory + /// Append to attachment point rather than replace. /// true if the object was successfully attached, false otherwise - bool AttachObject(IScenePresence sp, SceneObjectGroup grp, uint AttachmentPt, bool silent, bool temp, bool append); + bool AttachObject(IScenePresence sp, SceneObjectGroup grp, uint AttachmentPt, bool silent, bool addToInventory, bool append); /// /// Rez an attachment from user inventory and change inventory status to match. diff --git a/OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs b/OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs index 54c86ae82d..535bf67e2d 100644 --- a/OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs @@ -184,7 +184,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments hostPart.ParentGroup.RootPart.ScheduleFullUpdate(); } - return attachmentsModule.AttachObject(target, hostPart.ParentGroup, (uint)attachmentPoint, false, true, true) ? 1 : 0; + return attachmentsModule.AttachObject(target, hostPart.ParentGroup, (uint)attachmentPoint, false, false, true) ? 1 : 0; } } } From 285bd3abc87aced43efa9519a5760d9dae3f50d9 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 29 Mar 2013 00:49:55 +0000 Subject: [PATCH 831/851] Eliminate code which tries to restart attachment scripts in ScenePresence.MakeRootAgent(), since this is already done in AttachmentsModule --- .../Region/Framework/Scenes/ScenePresence.cs | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index fcb2f6d1f2..6591fef7b5 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -968,24 +968,6 @@ namespace OpenSim.Region.Framework.Scenes Scene.AttachmentsModule.RezAttachments(this); }); } - else - { - lock (m_attachments) - { - if (HasAttachments()) - { - m_log.DebugFormat( - "[SCENE PRESENCE]: Restarting scripts in attachments for {0} in {1}", Name, Scene.Name); - - // Resume scripts - foreach (SceneObjectGroup sog in m_attachments) - { - sog.RootPart.ParentGroup.CreateScriptInstances(0, false, m_scene.DefaultScriptEngine, GetStateSource()); - sog.ResumeScripts(); - } - } - } - } // send the animations of the other presences to me m_scene.ForEachRootScenePresence(delegate(ScenePresence presence) From d87ddf50fcd674fbd9aa8b8556bf57f2d285a3ba Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 29 Mar 2013 01:16:29 +0000 Subject: [PATCH 832/851] Try eliminating the pause before auto-reteleporting for a megaregion now that we're telepoting in a different way. On my own system, I can now eliminate the pause entirely and the reteleport happens whilst the teleport screen is still up. Trying this change to see if this is true for other people. --- .../Framework/EntityTransfer/EntityTransferModule.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 764c98216c..495b0a0f4d 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs @@ -1348,7 +1348,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer public void InformClientToInitiateTeleportToLocationAsync(ScenePresence agent, uint regionX, uint regionY, Vector3 position, Scene initiatingScene) { - Thread.Sleep(10000); +// Thread.Sleep(10000); m_log.DebugFormat( "[ENTITY TRANSFER MODULE]: Auto-reteleporting {0} to correct megaregion location {1},{2},{3} from {4}", From 4dfffa1df325c4b27a79e995585696cc20b6d905 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 29 Mar 2013 01:31:37 +0000 Subject: [PATCH 833/851] Add Location (relative), Rotation (Relative) and Rotation (World) to "show part" and other related console commands --- .../CoreModules/World/Objects/Commands/ObjectCommandsModule.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/OpenSim/Region/CoreModules/World/Objects/Commands/ObjectCommandsModule.cs b/OpenSim/Region/CoreModules/World/Objects/Commands/ObjectCommandsModule.cs index 28db407a47..e434b2eb69 100644 --- a/OpenSim/Region/CoreModules/World/Objects/Commands/ObjectCommandsModule.cs +++ b/OpenSim/Region/CoreModules/World/Objects/Commands/ObjectCommandsModule.cs @@ -597,6 +597,7 @@ namespace OpenSim.Region.CoreModules.World.Objects.Commands cdl.AddRow("LightFalloff", s.LightFalloff); cdl.AddRow("LightIntensity", s.LightIntensity); cdl.AddRow("LightRadius", s.LightRadius); + cdl.AddRow("Location (relative)", sop.RelativePosition); cdl.AddRow("Media", string.Format("{0} entries", s.Media != null ? s.Media.Count.ToString() : "n/a")); cdl.AddRow("PathBegin", s.PathBegin); cdl.AddRow("PathEnd", s.PathEnd); @@ -619,6 +620,8 @@ namespace OpenSim.Region.CoreModules.World.Objects.Commands cdl.AddRow("ProjectionFocus", s.ProjectionFocus); cdl.AddRow("ProjectionFOV", s.ProjectionFOV); cdl.AddRow("ProjectionTextureUUID", s.ProjectionTextureUUID); + cdl.AddRow("Rotation (Relative)", sop.RotationOffset); + cdl.AddRow("Rotation (World)", sop.GetWorldRotation()); cdl.AddRow("Scale", s.Scale); cdl.AddRow( "SculptData", From e89bcf4f773d95492b168376599f7530a6044e8f Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 29 Mar 2013 01:34:31 +0000 Subject: [PATCH 834/851] Revert "Try eliminating the pause before auto-reteleporting for a megaregion now that we're telepoting in a different way." Unfortunately fails on Nebadon's system right now. Needs investigation. May put in a temproary option for experimentation soon. This reverts commit d87ddf50fcd674fbd9aa8b8556bf57f2d285a3ba. --- .../Framework/EntityTransfer/EntityTransferModule.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 495b0a0f4d..764c98216c 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs @@ -1348,7 +1348,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer public void InformClientToInitiateTeleportToLocationAsync(ScenePresence agent, uint regionX, uint regionY, Vector3 position, Scene initiatingScene) { -// Thread.Sleep(10000); + Thread.Sleep(10000); m_log.DebugFormat( "[ENTITY TRANSFER MODULE]: Auto-reteleporting {0} to correct megaregion location {1},{2},{3} from {4}", From 23ae4c0a4d813763bcc39db7693850a21727d7f2 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 29 Mar 2013 02:21:38 +0000 Subject: [PATCH 835/851] Fix bug where CHANGED_REGION and/or CHANGED_TELEPORT weren't firing for scripts in attachments. This was because the script resumption in AttachmentsModule was firing the attach event instead. Had to reinstate the code in 285bd3a do we can resume the scripts there instead, though the bug existed before its removal. This is to resolve http://opensimulator.org/mantis/view.php?id=6578 --- .../Avatar/Attachments/AttachmentsModule.cs | 2 +- OpenSim/Region/Framework/Scenes/Scene.cs | 5 ++++- .../Framework/Scenes/SceneObjectPart.cs | 4 ++++ .../Region/Framework/Scenes/ScenePresence.cs | 22 +++++++++++++++++++ 4 files changed, 31 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs index b7f4303ec1..29a6478e62 100644 --- a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs @@ -328,7 +328,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments if (!Enabled) return false; - return AttachObjectInternal(sp, group, attachmentPt, silent, addToInventory, true, append); + return AttachObjectInternal(sp, group, attachmentPt, silent, addToInventory, false, append); } /// diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 5337835325..911a3e4fc9 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -2739,7 +2739,10 @@ namespace OpenSim.Region.Framework.Scenes // "[ATTACHMENT]: Attach to avatar {0} at position {1}", sp.UUID, grp.AbsolutePosition); RootPrim.RemFlag(PrimFlags.TemporaryOnRez); - + + // We must currently not resume scripts at this stage since AttachmentsModule does not have the + // information that this is due to a teleport/border cross rather than an ordinary attachment. + // We currently do this in Scene.MakeRootAgent() instead. if (AttachmentsModule != null) AttachmentsModule.AttachObject(sp, grp, 0, false, false, true); } diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 27325c554c..847df03bce 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -3203,6 +3203,10 @@ namespace OpenSim.Region.Framework.Scenes /// public void SetScriptEvents(UUID scriptid, int events) { +// m_log.DebugFormat( +// "[SCENE OBJECT PART]: Set script events for script with id {0} on {1}/{2} to {3} in {4}", +// scriptid, Name, ParentGroup.Name, events, ParentGroup.Scene.Name); + // scriptEvents oldparts; lock (m_scriptEvents) { diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 6591fef7b5..4930a396ba 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -968,6 +968,28 @@ namespace OpenSim.Region.Framework.Scenes Scene.AttachmentsModule.RezAttachments(this); }); } + else + { + // We need to restart scripts here so that they receive the correct changed events (CHANGED_TELEPORT + // and CHANGED_REGION) when the attachments have been rezzed in the new region. This cannot currently + // be done in AttachmentsModule.CopyAttachments(AgentData ad, IScenePresence sp) itself since we are + // not transporting the required data. + lock (m_attachments) + { + if (HasAttachments()) + { + m_log.DebugFormat( + "[SCENE PRESENCE]: Restarting scripts in attachments for {0} in {1}", Name, Scene.Name); + + // Resume scripts + foreach (SceneObjectGroup sog in m_attachments) + { + sog.RootPart.ParentGroup.CreateScriptInstances(0, false, m_scene.DefaultScriptEngine, GetStateSource()); + sog.ResumeScripts(); + } + } + } + } // send the animations of the other presences to me m_scene.ForEachRootScenePresence(delegate(ScenePresence presence) From 023faa227ef72a3701dc5fbfc46ab5f831c54953 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 29 Mar 2013 23:10:28 +0000 Subject: [PATCH 836/851] Check viewer 2/3 attachment calls against avatar appearance attachment data rather than actually attached objects By checking against the grid's Avatar data, we can ignore viewer side attachments but still initiate these calls simulator-side. Initiating simulator-side is always necessary for version 1 viewers. This is a further commit to resolve http://opensimulator.org/mantis/view.php?id=6581 --- .../Avatar/Attachments/AttachmentsModule.cs | 36 +++++++++---------- .../Tests/AttachmentsModuleTests.cs | 6 ++-- .../Region/Framework/Scenes/ScenePresence.cs | 7 ++-- 3 files changed, 23 insertions(+), 26 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs index 29a6478e62..4b53ee0fe4 100644 --- a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs @@ -256,10 +256,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments { // If we're an NPC then skip all the item checks and manipulations since we don't have an // inventory right now. - if (sp.PresenceType == PresenceType.Npc) - RezSingleAttachmentFromInventoryInternal(sp, UUID.Zero, attach.AssetID, p, true); - else - RezSingleAttachmentFromInventory(sp, attach.ItemID, p | (uint)0x80); + RezSingleAttachmentFromInventoryInternal( + sp, sp.PresenceType == PresenceType.Npc ? UUID.Zero : attach.ItemID, attach.AssetID, p | (uint)0x80); } catch (Exception e) { @@ -456,26 +454,21 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments "[ATTACHMENTS MODULE]: RezSingleAttachmentFromInventory to point {0} from item {1} for {2} in {3}", (AttachmentPoint)AttachmentPt, itemID, sp.Name, m_scene.Name); - bool append = (AttachmentPt & 0x80) != 0; - AttachmentPt &= 0x7f; - - // Viewer 2/3 sometimes asks to re-wear items that are already worn (and show up in it's inventory as such). - // This often happens during login - not sure the exact reason. - // For now, we will ignore the request. Unfortunately, this means that we need to dig through all the - // ScenePresence attachments. We can't use the data in AvatarAppearance because that's present at login - // before anything has actually been attached. + // We check the attachments in the avatar appearance here rather than the objects attached to the + // ScenePresence itself so that we can ignore calls by viewer 2/3 to attach objects on startup. We are + // already doing this in ScenePresence.MakeRootAgent(). Simulator-side attaching needs to be done + // because pre-outfit folder viewers (most version 1 viewers) require it. bool alreadyOn = false; - List existingAttachments = sp.GetAttachments(); - foreach (SceneObjectGroup so in existingAttachments) + List existingAttachments = sp.Appearance.GetAttachments(); + foreach (AvatarAttachment existingAttachment in existingAttachments) { - if (so.FromItemID == itemID) + if (existingAttachment.ItemID == itemID) { alreadyOn = true; break; } } -// if (sp.Appearance.GetAttachmentForItem(itemID) != null) if (alreadyOn) { if (DebugLevel > 0) @@ -486,7 +479,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments return null; } - return RezSingleAttachmentFromInventoryInternal(sp, itemID, UUID.Zero, AttachmentPt, append); + return RezSingleAttachmentFromInventoryInternal(sp, itemID, UUID.Zero, AttachmentPt); } public void RezMultipleAttachmentsFromInventory(IScenePresence sp, List> rezlist) @@ -495,7 +488,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments return; if (DebugLevel > 0) - m_log.DebugFormat("[ATTACHMENTS MODULE]: Rezzing multiple attachments from inventory for {0}", sp.Name); + m_log.DebugFormat( + "[ATTACHMENTS MODULE]: Rezzing {0} attachments from inventory for {1} in {2}", + rezlist.Count, sp.Name, m_scene.Name); foreach (KeyValuePair rez in rezlist) { @@ -894,11 +889,14 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments } protected SceneObjectGroup RezSingleAttachmentFromInventoryInternal( - IScenePresence sp, UUID itemID, UUID assetID, uint attachmentPt, bool append) + IScenePresence sp, UUID itemID, UUID assetID, uint attachmentPt) { if (m_invAccessModule == null) return null; + bool append = (attachmentPt & 0x80) != 0; + attachmentPt &= 0x7f; + SceneObjectGroup objatt; if (itemID != UUID.Zero) diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs index 6e4262e405..25444e5171 100644 --- a/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs +++ b/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs @@ -130,7 +130,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests config.AddConfig("Modules"); config.Configs["Modules"].Set("InventoryAccessModule", "BasicInventoryAccessModule"); - modules.Add(new AttachmentsModule()); + AttachmentsModule attMod = new AttachmentsModule(); + attMod.DebugLevel = 1; + modules.Add(attMod); modules.Add(new BasicInventoryAccessModule()); } @@ -728,7 +730,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests public void TestRezAttachmentsOnAvatarEntrance() { TestHelpers.InMethod(); -// log4net.Config.XmlConfigurator.Configure(); +// TestHelpers.EnableLogging(); Scene scene = CreateTestScene(); UserAccount ua1 = UserAccountHelpers.CreateUserWithInventory(scene, 0x1); diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 4930a396ba..215a6893df 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -955,15 +955,12 @@ namespace OpenSim.Region.Framework.Scenes { // Viewers which have a current outfit folder will actually rez their own attachments. However, // viewers without (e.g. v1 viewers) will not, so we still need to make this call. - // - // However, we leave a 5 second pause to try and avoid a clash with viewers that are rezzing - // attachments themselves. This should then mean that this call ends up doing nothing. if (Scene.AttachmentsModule != null) Util.FireAndForget( o => { - if (PresenceType != PresenceType.Npc && Util.FireAndForgetMethod != FireAndForgetMethod.None) - System.Threading.Thread.Sleep(5000); +// if (PresenceType != PresenceType.Npc && Util.FireAndForgetMethod != FireAndForgetMethod.None) +// System.Threading.Thread.Sleep(7000); Scene.AttachmentsModule.RezAttachments(this); }); From cbc9ae898c474295567532c668644d09b698d59b Mon Sep 17 00:00:00 2001 From: Kevin Cozens Date: Wed, 27 Mar 2013 17:26:17 -0400 Subject: [PATCH 837/851] Added missing functionality (mainly custom headers) to llHTTPRequest. --- .../HttpRequest/ScriptsHttpRequests.cs | 73 +++++++- .../Framework/Interfaces/IHttpRequests.cs | 3 + .../Shared/Api/Implementation/LSL_Api.cs | 169 ++++++++++++------ .../Shared/Api/Runtime/LSL_Constants.cs | 15 +- prebuild.xml | 1 + 5 files changed, 196 insertions(+), 65 deletions(-) diff --git a/OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs b/OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs index a676971a28..c2e37c44dd 100644 --- a/OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs +++ b/OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs @@ -187,6 +187,45 @@ namespace OpenSim.Region.CoreModules.Scripting.HttpRequest case (int)HttpRequestConstants.HTTP_VERIFY_CERT: htc.HttpVerifyCert = (int.Parse(parms[i + 1]) != 0); break; + + case (int)HttpRequestConstants.HTTP_VERBOSE_THROTTLE: + + // TODO implement me + break; + + case (int)HttpRequestConstants.HTTP_CUSTOM_HEADER: + //Parameters are in pairs and custom header takes + //arguments in pairs so adjust for header marker. + ++i; + + //Maximum of 8 headers are allowed based on the + //Second Life documentation for llHTTPRequest. + for (int count = 1; count <= 8; ++count) + { + //Not enough parameters remaining for a header? + if (parms.Length - i < 2) + break; + + //Have we reached the end of the list of headers? + //End is marked by a string with a single digit. + //We already know we have at least one parameter + //so it is safe to do this check at top of loop. + if (Char.IsDigit(parms[i][0])) + break; + + if (htc.HttpCustomHeaders == null) + htc.HttpCustomHeaders = new List(); + + htc.HttpCustomHeaders.Add(parms[i]); + htc.HttpCustomHeaders.Add(parms[i+1]); + + i += 2; + } + break; + + case (int)HttpRequestConstants.HTTP_PRAGMA_NO_CACHE: + htc.HttpPragmaNoCache = (int.Parse(parms[i + 1]) != 0); + break; } } } @@ -328,9 +367,12 @@ namespace OpenSim.Region.CoreModules.Scripting.HttpRequest // public const int HTTP_METHOD = 0; // public const int HTTP_MIMETYPE = 1; // public const int HTTP_VERIFY_CERT = 3; + // public const int HTTP_VERBOSE_THROTTLE = 4; + // public const int HTTP_CUSTOM_HEADER = 5; + // public const int HTTP_PRAGMA_NO_CACHE = 6; private bool _finished; public bool Finished - { + { get { return _finished; } } // public int HttpBodyMaxLen = 2048; // not implemented @@ -340,11 +382,14 @@ namespace OpenSim.Region.CoreModules.Scripting.HttpRequest public string HttpMIMEType = "text/plain;charset=utf-8"; public int HttpTimeout; public bool HttpVerifyCert = true; + //public bool HttpVerboseThrottle = true; // not implemented + public List HttpCustomHeaders = null; + public bool HttpPragmaNoCache = true; private Thread httpThread; // Request info private UUID _itemID; - public UUID ItemID + public UUID ItemID { get { return _itemID; } set { _itemID = value; } @@ -360,7 +405,7 @@ namespace OpenSim.Region.CoreModules.Scripting.HttpRequest public string proxyexcepts; public string OutboundBody; private UUID _reqID; - public UUID ReqID + public UUID ReqID { get { return _reqID; } set { _reqID = value; } @@ -401,7 +446,7 @@ namespace OpenSim.Region.CoreModules.Scripting.HttpRequest Request.Method = HttpMethod; Request.ContentType = HttpMIMEType; - if(!HttpVerifyCert) + if (!HttpVerifyCert) { // We could hijack Connection Group Name to identify // a desired security exception. But at the moment we'll use a dummy header instead. @@ -412,14 +457,24 @@ namespace OpenSim.Region.CoreModules.Scripting.HttpRequest // { // Request.ConnectionGroupName="Verify"; // } - if (proxyurl != null && proxyurl.Length > 0) + if (!HttpPragmaNoCache) { - if (proxyexcepts != null && proxyexcepts.Length > 0) + Request.Headers.Add("Pragma", "no-cache"); + } + if (HttpCustomHeaders != null) + { + for (int i = 0; i < HttpCustomHeaders.Count; i += 2) + Request.Headers.Add(HttpCustomHeaders[i], + HttpCustomHeaders[i+1]); + } + if (proxyurl != null && proxyurl.Length > 0) + { + if (proxyexcepts != null && proxyexcepts.Length > 0) { string[] elist = proxyexcepts.Split(';'); Request.Proxy = new WebProxy(proxyurl, true, elist); - } - else + } + else { Request.Proxy = new WebProxy(proxyurl, true); } @@ -432,7 +487,7 @@ namespace OpenSim.Region.CoreModules.Scripting.HttpRequest Request.Headers[entry.Key] = entry.Value; // Encode outbound data - if (OutboundBody.Length > 0) + if (OutboundBody.Length > 0) { byte[] data = Util.UTF8.GetBytes(OutboundBody); diff --git a/OpenSim/Region/Framework/Interfaces/IHttpRequests.cs b/OpenSim/Region/Framework/Interfaces/IHttpRequests.cs index de0f2a32aa..eb6c5ac56c 100644 --- a/OpenSim/Region/Framework/Interfaces/IHttpRequests.cs +++ b/OpenSim/Region/Framework/Interfaces/IHttpRequests.cs @@ -36,6 +36,9 @@ namespace OpenSim.Region.Framework.Interfaces HTTP_MIMETYPE = 1, HTTP_BODY_MAXLENGTH = 2, HTTP_VERIFY_CERT = 3, + HTTP_VERBOSE_THROTTLE = 4, + HTTP_CUSTOM_HEADER = 5, + HTTP_PRAGMA_NO_CACHE = 6 } public interface IHttpRequestModule diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index bf84b16e19..969243c8ae 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -67,6 +67,7 @@ using LSL_Rotation = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion; using LSL_String = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString; using LSL_Vector = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3; using System.Reflection; +using System.Linq; using PermissionMask = OpenSim.Framework.PermissionMask; namespace OpenSim.Region.ScriptEngine.Shared.Api @@ -92,8 +93,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api /// /// Used for script sleeps when we are using co-operative script termination. /// - /// null if co-operative script termination is not active - WaitHandle m_coopSleepHandle; + /// null if co-operative script termination is not active + WaitHandle m_coopSleepHandle; /// /// The item that hosts this script @@ -119,6 +120,23 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api protected int EMAIL_PAUSE_TIME = 20; // documented delay value for smtp. protected ISoundModule m_SoundModule = null; + //An array of HTTP/1.1 headers that are not allowed to be used + //as custom headers by llHTTPRequest. + private string[] HttpStandardHeaders = + { + "Accept", "Accept-Charset", "Accept-Encoding", "Accept-Language", + "Accept-Ranges", "Age", "Allow", "Authorization", "Cache-Control", + "Connection", "Content-Encoding", "Content-Language", + "Content-Length", "Content-Location", "Content-MD5", + "Content-Range", "Content-Type", "Date", "ETag", "Expect", + "Expires", "From", "Host", "If-Match", "If-Modified-Since", + "If-None-Match", "If-Range", "If-Unmodified-Since", "Last-Modified", + "Location", "Max-Forwards", "Pragma", "Proxy-Authenticate", + "Proxy-Authorization", "Range", "Referer", "Retry-After", "Server", + "TE", "Trailer", "Transfer-Encoding", "Upgrade", "User-Agent", + "Vary", "Via", "Warning", "WWW-Authenticate" + }; + public void Initialize( IScriptEngine scriptEngine, SceneObjectPart host, TaskInventoryItem item, WaitHandle coopSleepHandle) { @@ -303,7 +321,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api /// If the linkset has more than one entity and a linknum greater than zero but equal to or less than the number /// of entities, then the entity which corresponds to that linknum is returned. /// Otherwise, if a positive linknum is given which is greater than the number of entities in the linkset, then - /// null is returned. + /// null is returned. /// public ISceneEntity GetLinkEntity(int linknum) { @@ -1557,7 +1575,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (tex.FaceTextures[i] != null) { tex.FaceTextures[i].Shiny = sval; - tex.FaceTextures[i].Bump = bump;; + tex.FaceTextures[i].Bump = bump; } tex.DefaultTexture.Shiny = sval; tex.DefaultTexture.Bump = bump; @@ -1666,7 +1684,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api texcolor.A = Util.Clip((float)alpha, 0.0f, 1.0f); tex.DefaultTexture.RGBA = texcolor; } - + part.UpdateTextureEntry(tex.GetBytes()); return; } @@ -1787,7 +1805,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api rgb.x = texcolor.R; rgb.y = texcolor.G; rgb.z = texcolor.B; - + return rgb; } else @@ -1819,12 +1837,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { UUID textureID = new UUID(); - textureID = ScriptUtils.GetAssetIdFromItemName(m_host, texture, (int)AssetType.Texture); - if (textureID == UUID.Zero) - { - if (!UUID.TryParse(texture, out textureID)) - return; - } + textureID = ScriptUtils.GetAssetIdFromItemName(m_host, texture, (int)AssetType.Texture); + if (textureID == UUID.Zero) + { + if (!UUID.TryParse(texture, out textureID)) + return; + } Primitive.TextureEntry tex = part.Shape.Textures; @@ -2021,7 +2039,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // IF YOU GET REGION CROSSINGS WORKING WITH THIS FUNCTION, REPLACE THE WORKAROUND. // // This workaround is to prevent silent failure of this function. - // According to the specification on the SL Wiki, providing a position outside of the + // According to the specification on the SL Wiki, providing a position outside of the if (pos.x < 0 || pos.x > Constants.RegionSize || pos.y < 0 || pos.y > Constants.RegionSize) { return 0; @@ -2230,7 +2248,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { return llGetRootRotation(); } - + m_host.AddScriptLPS(1); Quaternion q = m_host.GetWorldRotation(); return new LSL_Rotation(q.X, q.Y, q.Z, q.W); @@ -2919,7 +2937,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // we need to convert from a vector describing // the angles of rotation in radians into rotation value LSL_Rotation rot = llEuler2Rot(angle); - + // Per discussion with Melanie, for non-physical objects llLookAt appears to simply // set the rotation of the object, copy that behavior PhysicsActor pa = m_host.PhysActor; @@ -2996,7 +3014,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (!UUID.TryParse(id, out objectID)) objectID = UUID.Zero; - + if (objectID == UUID.Zero && name == "") return; @@ -3182,19 +3200,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api msg.RegionID = World.RegionInfo.RegionID.Guid;//RegionID.Guid; Vector3 pos = m_host.AbsolutePosition; - msg.binaryBucket + msg.binaryBucket = Util.StringToBytes256( - "{0}/{1}/{2}/{3}", - World.RegionInfo.RegionName, - (int)Math.Floor(pos.X), - (int)Math.Floor(pos.Y), + "{0}/{1}/{2}/{3}", + World.RegionInfo.RegionName, + (int)Math.Floor(pos.X), + (int)Math.Floor(pos.Y), (int)Math.Floor(pos.Z)); if (m_TransferModule != null) { m_TransferModule.SendInstantMessage(msg, delegate(bool success) {}); } - + ScriptSleep(2000); } @@ -3319,7 +3337,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void llRotLookAt(LSL_Rotation target, double strength, double damping) { m_host.AddScriptLPS(1); - + // Per discussion with Melanie, for non-physical objects llLookAt appears to simply // set the rotation of the object, copy that behavior PhysicsActor pa = m_host.PhysActor; @@ -4313,7 +4331,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public void llCollisionSound(string impact_sound, double impact_volume) { m_host.AddScriptLPS(1); - + // TODO: Parameter check logic required. m_host.CollisionSound = ScriptUtils.GetAssetIdFromKeyOrItemName(m_host, impact_sound, AssetType.Sound); m_host.CollisionSoundVolume = (float)impact_volume; @@ -5008,7 +5026,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // SL spits out an empty string for types other than key & string // At the time of patching, LSL_Key is currently LSL_String, // so the OR check may be a little redundant, but it's being done - // for completion and should LSL_Key ever be implemented + // for completion and should LSL_Key ever be implemented // as it's own struct else if (!(src.Data[index] is LSL_String || src.Data[index] is LSL_Key)) @@ -5144,8 +5162,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { m_host.AddScriptLPS(1); - return string.Join(", ", - (new List(src.Data)).ConvertAll(o => + return string.Join(", ", + (new List(src.Data)).ConvertAll(o => { return o.ToString(); }).ToArray()); @@ -6188,7 +6206,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api SetParticleSystem(m_host, rules); } - private void SetParticleSystem(SceneObjectPart part, LSL_List rules) + private void SetParticleSystem(SceneObjectPart part, LSL_List rules) { if (rules.Length == 0) { @@ -6425,7 +6443,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_host.OwnerID, m_host.Name, destID, (byte)InstantMessageDialog.TaskInventoryOffered, false, string.Format("'{0}'", category), -// We won't go so far as to add a SLURL, but this is the format used by LL as of 2012-10-06 +// We won't go so far as to add a SLURL, but this is the format used by LL as of 2012-10-06 // false, string.Format("'{0}' ( http://slurl.com/secondlife/{1}/{2}/{3}/{4} )", category, World.Name, (int)pos.X, (int)pos.Y, (int)pos.Z), folderID, false, pos, bucket, false); @@ -6540,12 +6558,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_String llAvatarOnLinkSitTarget(int linknum) { m_host.AddScriptLPS(1); - if(linknum == ScriptBaseClass.LINK_SET || + if(linknum == ScriptBaseClass.LINK_SET || linknum == ScriptBaseClass.LINK_ALL_CHILDREN || linknum == ScriptBaseClass.LINK_ALL_OTHERS) return UUID.Zero.ToString(); - + List parts = GetLinkParts(linknum); - if (parts.Count == 0) return UUID.Zero.ToString(); + if (parts.Count == 0) return UUID.Zero.ToString(); return parts[0].SitTargetAvatar.ToString(); } @@ -6922,7 +6940,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api hollow = 0.70f; } } - // Otherwise, hollow is limited to 95%. + // Otherwise, hollow is limited to 95%. else { if (hollow > 0.95f) @@ -7956,8 +7974,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api LSL_List remaining = null; while (true) - { - if (entity is SceneObjectPart) + { + if (entity is SceneObjectPart) remaining = GetPrimParams((SceneObjectPart)entity, rules, ref result); else remaining = GetAgentParams((ScenePresence)entity, rules, ref result); @@ -8138,7 +8156,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api res.Add(new LSL_Float(1)); break; - case (int)ScriptBaseClass.PRIM_ROT_LOCAL: + case (int)ScriptBaseClass.PRIM_ROT_LOCAL: res.Add(new LSL_Rotation(sp.Rotation)); break; @@ -8282,16 +8300,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api res.Add(new LSL_Vector(Shape.PathTaperX / 100.0, Shape.PathTaperY / 100.0, 0)); // float revolutions - res.Add(new LSL_Float(Math.Round(Shape.PathRevolutions * 0.015d, 2, MidpointRounding.AwayFromZero)) + 1.0d); + res.Add(new LSL_Float(Math.Round(Shape.PathRevolutions * 0.015d, 2, MidpointRounding.AwayFromZero)) + 1.0d); // Slightly inaccurate, because an unsigned byte is being used to represent - // the entire range of floating-point values from 1.0 through 4.0 (which is how + // the entire range of floating-point values from 1.0 through 4.0 (which is how // SL does it). // - // Using these formulas to store and retrieve PathRevolutions, it is not - // possible to use all values between 1.00 and 4.00. For instance, you can't + // Using these formulas to store and retrieve PathRevolutions, it is not + // possible to use all values between 1.00 and 4.00. For instance, you can't // represent 1.10. You can represent 1.09 and 1.11, but not 1.10. So, if you // use llSetPrimitiveParams to set revolutions to 1.10 and then retreive them - // with llGetPrimitiveParams, you'll retrieve 1.09. You can also see a similar + // with llGetPrimitiveParams, you'll retrieve 1.09. You can also see a similar // behavior in the viewer as you cannot set 1.10. The viewer jumps to 1.11. // In SL, llSetPrimitveParams and llGetPrimitiveParams can set and get a value // such as 1.10. So, SL must store and retreive the actual user input rather @@ -8528,7 +8546,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api case (int)ScriptBaseClass.PRIM_DESC: res.Add(new LSL_String(part.Description)); break; - case (int)ScriptBaseClass.PRIM_ROT_LOCAL: + case (int)ScriptBaseClass.PRIM_ROT_LOCAL: res.Add(new LSL_Rotation(part.RotationOffset)); break; case (int)ScriptBaseClass.PRIM_POS_LOCAL: @@ -10415,9 +10433,60 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api IHttpRequestModule httpScriptMod = m_ScriptEngine.World.RequestModuleInterface(); List param = new List(); - foreach (object o in parameters.Data) + bool ok; + Int32 flag; + + for (int i = 0; i < parameters.Data.Length; i += 2) { - param.Add(o.ToString()); + ok = Int32.TryParse(parameters.Data[i].ToString(), out flag); + if (!ok || flag < 0 || + flag > (int)HttpRequestConstants.HTTP_PRAGMA_NO_CACHE) + { + throw new ScriptException("Parameter " + i.ToString() + " is an invalid flag"); + } + + param.Add(parameters.Data[i].ToString()); //Add parameter flag + + if (flag != (int)HttpRequestConstants.HTTP_CUSTOM_HEADER) + { + param.Add(parameters.Data[i+1].ToString()); //Add parameter value + } + else + { + //Parameters are in pairs and custom header takes + //arguments in pairs so adjust for header marker. + ++i; + + //Maximum of 8 headers are allowed based on the + //Second Life documentation for llHTTPRequest. + for (int count = 1; count <= 8; ++count) + { + //Enough parameters remaining for (another) header? + if (parameters.Data.Length - i < 2) + { + //There must be at least one name/value pair for custom header + if (count == 1) + throw new ScriptException("Missing name/value for custom header at parameter " + i.ToString()); + break; + } + + if (HttpStandardHeaders.Contains(parameters.Data[i].ToString(), StringComparer.OrdinalIgnoreCase)) + throw new ScriptException("Name is invalid as a custom header at parameter " + i.ToString()); + + param.Add(parameters.Data[i].ToString()); + param.Add(parameters.Data[i+1].ToString()); + + //Have we reached the end of the list of headers? + //End is marked by a string with a single digit. + if (i+2 >= parameters.Data.Length || + Char.IsDigit(parameters.Data[i].ToString()[0])) + { + break; + } + + i += 2; + } + } } Vector3 position = m_host.AbsolutePosition; @@ -10527,12 +10596,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Integer llGetParcelPrimCount(LSL_Vector pos, int category, int sim_wide) { m_host.AddScriptLPS(1); - + ILandObject lo = World.LandChannel.GetLandObject((float)pos.x, (float)pos.y); if (lo == null) return 0; - + IPrimCounts pc = lo.PrimCounts; if (sim_wide != ScriptBaseClass.FALSE) @@ -10562,7 +10631,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api else if (category == ScriptBaseClass.PARCEL_COUNT_TEMP) return 0; // counts not implemented yet } - + return 0; } @@ -10905,7 +10974,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return ret; } } - + return new LSL_List(); } @@ -11282,7 +11351,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // Vector3 bc = group.AbsolutePosition - rayEnd; double d = Math.Abs(Vector3.Mag(Vector3.Cross(ab, ac)) / Vector3.Distance(rayStart, rayEnd)); - + // Too far off ray, don't bother if (d > radius) return; @@ -11611,7 +11680,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api else { ScenePresence sp = World.GetScenePresence(result.ConsumerID); - /// It it a boy? a girl? + /// It it a boy? a girl? if (sp != null) itemID = sp.UUID; } diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs index bd66ba3700..dc5ef139e7 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs @@ -355,6 +355,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase public const int HTTP_MIMETYPE = 1; public const int HTTP_BODY_MAXLENGTH = 2; public const int HTTP_VERIFY_CERT = 3; + public const int HTTP_VERBOSE_THROTTLE = 4; + public const int HTTP_CUSTOM_HEADER = 5; + public const int HTTP_PRAGMA_NO_CACHE = 6; public const int PRIM_MATERIAL = 2; public const int PRIM_PHYSICS = 3; @@ -635,7 +638,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase public const int TOUCH_INVALID_FACE = -1; public static readonly vector TOUCH_INVALID_TEXCOORD = new vector(-1.0, -1.0, 0.0); public static readonly vector TOUCH_INVALID_VECTOR = ZERO_VECTOR; - + // constants for llGetPrimMediaParams/llSetPrimMediaParams public const int PRIM_MEDIA_ALT_IMAGE_ENABLE = 0; public const int PRIM_MEDIA_CONTROLS = 1; @@ -652,15 +655,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase public const int PRIM_MEDIA_WHITELIST = 12; public const int PRIM_MEDIA_PERMS_INTERACT = 13; public const int PRIM_MEDIA_PERMS_CONTROL = 14; - + public const int PRIM_MEDIA_CONTROLS_STANDARD = 0; public const int PRIM_MEDIA_CONTROLS_MINI = 1; - + public const int PRIM_MEDIA_PERM_NONE = 0; public const int PRIM_MEDIA_PERM_OWNER = 1; public const int PRIM_MEDIA_PERM_GROUP = 2; public const int PRIM_MEDIA_PERM_ANYONE = 4; - + public const int PRIM_PHYSICS_SHAPE_TYPE = 30; public const int PRIM_PHYSICS_SHAPE_PRIM = 0; public const int PRIM_PHYSICS_SHAPE_CONVEX = 2; @@ -688,7 +691,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase public const string TEXTURE_PLYWOOD = "89556747-24cb-43ed-920b-47caed15465f"; public const string TEXTURE_TRANSPARENT = "8dcd4a48-2d37-4909-9f78-f7a9eb4ef903"; public const string TEXTURE_MEDIA = "8b5fec65-8d8d-9dc5-cda8-8fdf2716e361"; - + // Constants for osGetRegionStats public const int STATS_TIME_DILATION = 0; public const int STATS_SIM_FPS = 1; @@ -741,7 +744,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase public static readonly LSLInteger RC_GET_ROOT_KEY = 2; public static readonly LSLInteger RC_GET_LINK_NUM = 4; - public static readonly LSLInteger RCERR_UNKNOWN = -1; + public static readonly LSLInteger RCERR_UNKNOWN = -1; public static readonly LSLInteger RCERR_SIM_PERF_LOW = -2; public static readonly LSLInteger RCERR_CAST_TIME_EXCEEDED = 3; diff --git a/prebuild.xml b/prebuild.xml index 7a4455d0a6..050fe0f401 100644 --- a/prebuild.xml +++ b/prebuild.xml @@ -2183,6 +2183,7 @@ ../../../../../../bin/ + From 76629289f001ef4bd0bac204e0f46907ebe5df5e Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 29 Mar 2013 23:59:21 +0000 Subject: [PATCH 838/851] refactor: move the append magic number processing for attachments back up into RezSingleAttachmentFromInventory from RezSingleAttachmentFromInventoryInternal() done in commit 023faa2 --- .../Avatar/Attachments/AttachmentsModule.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs index 4b53ee0fe4..eec7ee54a5 100644 --- a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs @@ -257,7 +257,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments // If we're an NPC then skip all the item checks and manipulations since we don't have an // inventory right now. RezSingleAttachmentFromInventoryInternal( - sp, sp.PresenceType == PresenceType.Npc ? UUID.Zero : attach.ItemID, attach.AssetID, p | (uint)0x80); + sp, sp.PresenceType == PresenceType.Npc ? UUID.Zero : attach.ItemID, attach.AssetID, p, true); } catch (Exception e) { @@ -479,7 +479,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments return null; } - return RezSingleAttachmentFromInventoryInternal(sp, itemID, UUID.Zero, AttachmentPt); + bool append = (AttachmentPt & 0x80) != 0; + AttachmentPt &= 0x7f; + + return RezSingleAttachmentFromInventoryInternal(sp, itemID, UUID.Zero, AttachmentPt, append); } public void RezMultipleAttachmentsFromInventory(IScenePresence sp, List> rezlist) @@ -889,14 +892,11 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments } protected SceneObjectGroup RezSingleAttachmentFromInventoryInternal( - IScenePresence sp, UUID itemID, UUID assetID, uint attachmentPt) + IScenePresence sp, UUID itemID, UUID assetID, uint attachmentPt, bool append) { if (m_invAccessModule == null) return null; - bool append = (attachmentPt & 0x80) != 0; - attachmentPt &= 0x7f; - SceneObjectGroup objatt; if (itemID != UUID.Zero) From f8785b5f4720a0da7993ce6014e46cb8aaad308a Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Sat, 30 Mar 2013 00:29:52 +0000 Subject: [PATCH 839/851] refactor: rename ETM.InformClientToInitateTeleportToLocationDelegate to InformClientToInitiateTeleportToLocationDelegate to correct spelling and bring into line with other ETM Initiate methods --- .../EntityTransfer/EntityTransferModule.cs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 764c98216c..3e69bf27f4 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs @@ -1159,7 +1159,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer newposition.Y += (scene.RegionInfo.RegionLocY - neighboury) * Constants.RegionSize; agent.ControllingClient.SendAgentAlertMessage( String.Format("Moving you to region {0},{1}", neighbourx, neighboury), false); - InformClientToInitateTeleportToLocation(agent, neighbourx, neighboury, newposition, scene); + InformClientToInitiateTeleportToLocation(agent, neighbourx, neighboury, newposition, scene); return true; } } @@ -1182,7 +1182,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer newposition.Y += (scene.RegionInfo.RegionLocY - neighboury) * Constants.RegionSize; agent.ControllingClient.SendAgentAlertMessage( String.Format("Moving you to region {0},{1}", neighbourx, neighboury), false); - InformClientToInitateTeleportToLocation(agent, neighbourx, neighboury, newposition, scene); + InformClientToInitiateTeleportToLocation(agent, neighbourx, neighboury, newposition, scene); return true; } @@ -1213,7 +1213,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer newposition.Y += (scene.RegionInfo.RegionLocY - neighboury) * Constants.RegionSize; agent.ControllingClient.SendAgentAlertMessage( String.Format("Moving you to region {0},{1}", neighbourx, neighboury), false); - InformClientToInitateTeleportToLocation(agent, neighbourx, neighboury, newposition, scene); + InformClientToInitiateTeleportToLocation(agent, neighbourx, neighboury, newposition, scene); return true; } } @@ -1243,7 +1243,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer newposition.Y += (scene.RegionInfo.RegionLocY - neighboury) * Constants.RegionSize; agent.ControllingClient.SendAgentAlertMessage( String.Format("Moving you to region {0},{1}", neighbourx, neighboury), false); - InformClientToInitateTeleportToLocation(agent, neighbourx, neighboury, newposition, scene); + InformClientToInitiateTeleportToLocation(agent, neighbourx, neighboury, newposition, scene); return true; } } @@ -1330,16 +1330,16 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer } - public delegate void InformClientToInitateTeleportToLocationDelegate(ScenePresence agent, uint regionX, uint regionY, + public delegate void InformClientToInitiateTeleportToLocationDelegate(ScenePresence agent, uint regionX, uint regionY, Vector3 position, Scene initiatingScene); - private void InformClientToInitateTeleportToLocation(ScenePresence agent, uint regionX, uint regionY, Vector3 position, Scene initiatingScene) + private void InformClientToInitiateTeleportToLocation(ScenePresence agent, uint regionX, uint regionY, Vector3 position, Scene initiatingScene) { // This assumes that we know what our neighbours are. - InformClientToInitateTeleportToLocationDelegate d = InformClientToInitiateTeleportToLocationAsync; + InformClientToInitiateTeleportToLocationDelegate d = InformClientToInitiateTeleportToLocationAsync; d.BeginInvoke(agent, regionX, regionY, position, initiatingScene, InformClientToInitiateTeleportToLocationCompleted, d); @@ -1401,8 +1401,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer private void InformClientToInitiateTeleportToLocationCompleted(IAsyncResult iar) { - InformClientToInitateTeleportToLocationDelegate icon = - (InformClientToInitateTeleportToLocationDelegate)iar.AsyncState; + InformClientToInitiateTeleportToLocationDelegate icon = + (InformClientToInitiateTeleportToLocationDelegate)iar.AsyncState; icon.EndInvoke(iar); } From 9fee431cc8a054dd4d6b20392cbefd0a0f8343f1 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Sat, 30 Mar 2013 01:21:16 +0000 Subject: [PATCH 840/851] In the flotasm asset cache, if we get a request for a file that we're actively writing, simply return null instead of first logging an exception. --- .../CoreModules/Asset/FlotsamAssetCache.cs | 52 ++++++++++--------- 1 file changed, 27 insertions(+), 25 deletions(-) diff --git a/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs b/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs index 3cba9b4afd..2afe0658a7 100644 --- a/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs +++ b/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs @@ -341,11 +341,35 @@ namespace OpenSim.Region.CoreModules.Asset /// /// An asset retrieved from the file cache. null if there was a problem retrieving an asset. private AssetBase GetFromFileCache(string id) - { - AssetBase asset = null; - + { string filename = GetFileName(id); +#if WAIT_ON_INPROGRESS_REQUESTS + // Check if we're already downloading this asset. If so, try to wait for it to + // download. + if (m_WaitOnInprogressTimeout > 0) + { + m_RequestsForInprogress++; + + ManualResetEvent waitEvent; + if (m_CurrentlyWriting.TryGetValue(filename, out waitEvent)) + { + waitEvent.WaitOne(m_WaitOnInprogressTimeout); + return Get(id); + } + } +#else + // Track how often we have the problem that an asset is requested while + // it is still being downloaded by a previous request. + if (m_CurrentlyWriting.Contains(filename)) + { + m_RequestsForInprogress++; + return null; + } +#endif + + AssetBase asset = null; + if (File.Exists(filename)) { FileStream stream = null; @@ -383,28 +407,6 @@ namespace OpenSim.Region.CoreModules.Asset } } -#if WAIT_ON_INPROGRESS_REQUESTS - // Check if we're already downloading this asset. If so, try to wait for it to - // download. - if (m_WaitOnInprogressTimeout > 0) - { - m_RequestsForInprogress++; - - ManualResetEvent waitEvent; - if (m_CurrentlyWriting.TryGetValue(filename, out waitEvent)) - { - waitEvent.WaitOne(m_WaitOnInprogressTimeout); - return Get(id); - } - } -#else - // Track how often we have the problem that an asset is requested while - // it is still being downloaded by a previous request. - if (m_CurrentlyWriting.Contains(filename)) - { - m_RequestsForInprogress++; - } -#endif return asset; } From 4bf9c4bbb833f8ecbd0757b333da76ffaea14bc7 Mon Sep 17 00:00:00 2001 From: Melanie Date: Sun, 31 Mar 2013 20:25:32 +0200 Subject: [PATCH 841/851] Export permission, part two. Setting export perms for textures and clothing works. Setting perms for prims also works but they don't propagate correctly yet. NOT FOR PRODUCTIN USE. Your database will need to be updated before you can use this! --- .../Framework/Scenes/Scene.Inventory.cs | 46 +++++++++++++++++-- .../Framework/Scenes/SceneObjectGroup.cs | 2 +- .../Framework/Scenes/SceneObjectPart.cs | 29 +++++++++--- 3 files changed, 66 insertions(+), 11 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index 6a3fb24f9a..d2e41f8d38 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs @@ -413,18 +413,57 @@ namespace OpenSim.Region.Framework.Scenes if (itemUpd.NextPermissions != 0) // Use this to determine validity. Can never be 0 if valid { + // Create a set of base permissions that will not include export if the user + // is not allowed to change the export flag. + bool denyExportChange = false; + + m_log.InfoFormat("[XXX]: B: {0} O: {1} E: {2}", itemUpd.BasePermissions, itemUpd.CurrentPermissions, itemUpd.EveryOnePermissions); + + // If the user is not the creator or doesn't have "E" in both "B" and "O", deny setting export + if ((item.BasePermissions & (uint)(PermissionMask.All | PermissionMask.Export)) != (uint)(PermissionMask.All | PermissionMask.Export) || (item.CurrentPermissions & (uint)PermissionMask.Export) == 0 || item.CreatorIdAsUuid != item.Owner) + denyExportChange = true; + + m_log.InfoFormat("[XXX]: Deny Export Update {0}", denyExportChange); + + // If it is already set, force it set and also force full perm + // else prevent setting it. It can and should never be set unless + // set in base, so the condition above is valid + if (denyExportChange) + { + // If we are not allowed to change it, then force it to the + // original item's setting and if it was on, also force full perm + if ((item.EveryOnePermissions & (uint)PermissionMask.Export) != 0) + { + itemUpd.NextPermissions = (uint)(PermissionMask.All); + itemUpd.EveryOnePermissions |= (uint)PermissionMask.Export; + } + else + { + itemUpd.EveryOnePermissions &= ~(uint)PermissionMask.Export; + } + } + else + { + // If the new state is exportable, force full perm + if ((itemUpd.EveryOnePermissions & (uint)PermissionMask.Export) != 0) + { + m_log.InfoFormat("[XXX]: Force full perm"); + itemUpd.NextPermissions = (uint)(PermissionMask.All); + } + } + if (item.NextPermissions != (itemUpd.NextPermissions & item.BasePermissions)) item.Flags |= (uint)InventoryItemFlags.ObjectOverwriteNextOwner; item.NextPermissions = itemUpd.NextPermissions & item.BasePermissions; + if (item.EveryOnePermissions != (itemUpd.EveryOnePermissions & item.BasePermissions)) item.Flags |= (uint)InventoryItemFlags.ObjectOverwriteEveryone; item.EveryOnePermissions = itemUpd.EveryOnePermissions & item.BasePermissions; + if (item.GroupPermissions != (itemUpd.GroupPermissions & item.BasePermissions)) item.Flags |= (uint)InventoryItemFlags.ObjectOverwriteGroup; - -// m_log.DebugFormat("[USER INVENTORY]: item.Flags {0}", item.Flags); - item.GroupPermissions = itemUpd.GroupPermissions & item.BasePermissions; + item.GroupID = itemUpd.GroupID; item.GroupOwned = itemUpd.GroupOwned; item.CreationDate = itemUpd.CreationDate; @@ -446,6 +485,7 @@ namespace OpenSim.Region.Framework.Scenes item.SaleType = itemUpd.SaleType; InventoryService.UpdateItem(item); + remoteClient.SendBulkUpdateInventory(item); } if (UUID.Zero != transactionID) diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index b109b4f784..69fb6df762 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs @@ -3468,7 +3468,7 @@ namespace OpenSim.Region.Framework.Scenes public void AdjustChildPrimPermissions() { - uint newOwnerMask = (uint)PermissionMask.All & 0xfffffff8; // Mask folded bits + uint newOwnerMask = (uint)(PermissionMask.All | PermissionMask.Export) & 0xfffffff8; // Mask folded bits uint foldedPerms = RootPart.OwnerMask & 3; ForEachPart(part => diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 9265805e33..c2f0792436 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -470,8 +470,8 @@ namespace OpenSim.Region.Framework.Scenes private uint _category; private Int32 _creationDate; private uint _parentID = 0; - private uint _baseMask = (uint)PermissionMask.All; - private uint _ownerMask = (uint)PermissionMask.All; + private uint _baseMask = (uint)(PermissionMask.All | PermissionMask.Export); + private uint _ownerMask = (uint)(PermissionMask.All | PermissionMask.Export); private uint _groupMask = (uint)PermissionMask.None; private uint _everyoneMask = (uint)PermissionMask.None; private uint _nextOwnerMask = (uint)(PermissionMask.Move | PermissionMask.Modify | PermissionMask.Transfer); @@ -4319,10 +4319,10 @@ namespace OpenSim.Region.Framework.Scenes public void TrimPermissions() { - BaseMask &= (uint)PermissionMask.All; - OwnerMask &= (uint)PermissionMask.All; + BaseMask &= (uint)(PermissionMask.All | PermissionMask.Export); + OwnerMask &= (uint)(PermissionMask.All | PermissionMask.Export); GroupMask &= (uint)PermissionMask.All; - EveryoneMask &= (uint)PermissionMask.All; + EveryoneMask &= (uint)(PermissionMask.All | PermissionMask.Export); NextOwnerMask &= (uint)PermissionMask.All; } @@ -4425,10 +4425,22 @@ namespace OpenSim.Region.Framework.Scenes baseMask; break; case 8: + // Trying to set export permissions - extra checks + if (set && (mask & (uint)PermissionMask.Export) != 0) + { + if ((OwnerMask & (uint)PermissionMask.Export) == 0 || (BaseMask & (uint)PermissionMask.Export) == 0 || (NextOwnerMask & (uint)PermissionMask.All) != (uint)PermissionMask.All) + mask &= ~(uint)PermissionMask.Export; + } EveryoneMask = ApplyMask(EveryoneMask, set, mask) & baseMask; break; case 16: + // Force full perm if export + if ((EveryoneMask & (uint)PermissionMask.Export) != 0) + { + NextOwnerMask = (uint)PermissionMask.All; + break; + } NextOwnerMask = ApplyMask(NextOwnerMask, set, mask) & baseMask; // Prevent the client from creating no copy, no transfer @@ -5225,9 +5237,12 @@ namespace OpenSim.Region.Framework.Scenes public void ApplyNextOwnerPermissions() { - BaseMask &= NextOwnerMask; + // Export needs to be preserved in the base and everyone + // mask, but removed in the owner mask as a next owner + // can never change the export status + BaseMask &= NextOwnerMask | (uint)PermissionMask.Export; OwnerMask &= NextOwnerMask; - EveryoneMask &= NextOwnerMask; + EveryoneMask &= NextOwnerMask | (uint)PermissionMask.Export; Inventory.ApplyNextOwnerPermissions(); } From 9b83e53b28fe42220a602f37ee8976eeee63302b Mon Sep 17 00:00:00 2001 From: Melanie Date: Sun, 31 Mar 2013 21:59:44 +0100 Subject: [PATCH 842/851] Export permission, part two. Setting export perms for textures and clothing works. Setting perms for prims also works but they don't propagate correctly yet. NOT FOR PRODUCTIN USE. Your database will need to be updated before you can use this! --- .../Framework/Scenes/Scene.Inventory.cs | 46 +++++++++++++++++-- .../Framework/Scenes/SceneObjectGroup.cs | 9 ++++ .../Framework/Scenes/SceneObjectPart.cs | 29 +++++++++--- 3 files changed, 74 insertions(+), 10 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index 2ce778db8f..8ddaa60ac9 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs @@ -418,18 +418,57 @@ namespace OpenSim.Region.Framework.Scenes if (itemUpd.NextPermissions != 0) // Use this to determine validity. Can never be 0 if valid { + // Create a set of base permissions that will not include export if the user + // is not allowed to change the export flag. + bool denyExportChange = false; + + m_log.InfoFormat("[XXX]: B: {0} O: {1} E: {2}", itemUpd.BasePermissions, itemUpd.CurrentPermissions, itemUpd.EveryOnePermissions); + + // If the user is not the creator or doesn't have "E" in both "B" and "O", deny setting export + if ((item.BasePermissions & (uint)(PermissionMask.All | PermissionMask.Export)) != (uint)(PermissionMask.All | PermissionMask.Export) || (item.CurrentPermissions & (uint)PermissionMask.Export) == 0 || item.CreatorIdAsUuid != item.Owner) + denyExportChange = true; + + m_log.InfoFormat("[XXX]: Deny Export Update {0}", denyExportChange); + + // If it is already set, force it set and also force full perm + // else prevent setting it. It can and should never be set unless + // set in base, so the condition above is valid + if (denyExportChange) + { + // If we are not allowed to change it, then force it to the + // original item's setting and if it was on, also force full perm + if ((item.EveryOnePermissions & (uint)PermissionMask.Export) != 0) + { + itemUpd.NextPermissions = (uint)(PermissionMask.All); + itemUpd.EveryOnePermissions |= (uint)PermissionMask.Export; + } + else + { + itemUpd.EveryOnePermissions &= ~(uint)PermissionMask.Export; + } + } + else + { + // If the new state is exportable, force full perm + if ((itemUpd.EveryOnePermissions & (uint)PermissionMask.Export) != 0) + { + m_log.InfoFormat("[XXX]: Force full perm"); + itemUpd.NextPermissions = (uint)(PermissionMask.All); + } + } + if (item.NextPermissions != (itemUpd.NextPermissions & item.BasePermissions)) item.Flags |= (uint)InventoryItemFlags.ObjectOverwriteNextOwner; item.NextPermissions = itemUpd.NextPermissions & item.BasePermissions; + if (item.EveryOnePermissions != (itemUpd.EveryOnePermissions & item.BasePermissions)) item.Flags |= (uint)InventoryItemFlags.ObjectOverwriteEveryone; item.EveryOnePermissions = itemUpd.EveryOnePermissions & item.BasePermissions; + if (item.GroupPermissions != (itemUpd.GroupPermissions & item.BasePermissions)) item.Flags |= (uint)InventoryItemFlags.ObjectOverwriteGroup; - -// m_log.DebugFormat("[USER INVENTORY]: item.Flags {0}", item.Flags); - item.GroupPermissions = itemUpd.GroupPermissions & item.BasePermissions; + item.GroupID = itemUpd.GroupID; item.GroupOwned = itemUpd.GroupOwned; item.CreationDate = itemUpd.CreationDate; @@ -451,6 +490,7 @@ namespace OpenSim.Region.Framework.Scenes item.SaleType = itemUpd.SaleType; InventoryService.UpdateItem(item); + remoteClient.SendBulkUpdateInventory(item); } if (UUID.Zero != transactionID) diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 0621e2a2f6..9e7a986f36 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs @@ -2671,11 +2671,20 @@ namespace OpenSim.Region.Framework.Scenes public void AdjustChildPrimPermissions() { + uint newOwnerMask = (uint)(PermissionMask.All | PermissionMask.Export) & 0xfffffff8; // Mask folded bits + uint foldedPerms = RootPart.OwnerMask & 3; + ForEachPart(part => { + newOwnerMask &= part.BaseMask; if (part != RootPart) part.ClonePermissions(RootPart); }); + + uint lockMask = ~(uint)PermissionMask.Move; + uint lockBit = RootPart.OwnerMask & (uint)PermissionMask.Move; + RootPart.OwnerMask = (RootPart.OwnerMask & lockBit) | ((newOwnerMask | foldedPerms) & lockMask); + RootPart.ScheduleFullUpdate(); } public void UpdatePermissions(UUID AgentID, byte field, uint localID, diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 847df03bce..ec9e87ec06 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -424,8 +424,8 @@ namespace OpenSim.Region.Framework.Scenes private uint _category; private Int32 _creationDate; private uint _parentID = 0; - private uint _baseMask = (uint)PermissionMask.All; - private uint _ownerMask = (uint)PermissionMask.All; + private uint _baseMask = (uint)(PermissionMask.All | PermissionMask.Export); + private uint _ownerMask = (uint)(PermissionMask.All | PermissionMask.Export); private uint _groupMask = (uint)PermissionMask.None; private uint _everyoneMask = (uint)PermissionMask.None; private uint _nextOwnerMask = (uint)PermissionMask.All; @@ -3876,10 +3876,10 @@ namespace OpenSim.Region.Framework.Scenes public void TrimPermissions() { - BaseMask &= (uint)PermissionMask.All; - OwnerMask &= (uint)PermissionMask.All; + BaseMask &= (uint)(PermissionMask.All | PermissionMask.Export); + OwnerMask &= (uint)(PermissionMask.All | PermissionMask.Export); GroupMask &= (uint)PermissionMask.All; - EveryoneMask &= (uint)PermissionMask.All; + EveryoneMask &= (uint)(PermissionMask.All | PermissionMask.Export); NextOwnerMask &= (uint)PermissionMask.All; } @@ -3982,10 +3982,22 @@ namespace OpenSim.Region.Framework.Scenes baseMask; break; case 8: + // Trying to set export permissions - extra checks + if (set && (mask & (uint)PermissionMask.Export) != 0) + { + if ((OwnerMask & (uint)PermissionMask.Export) == 0 || (BaseMask & (uint)PermissionMask.Export) == 0 || (NextOwnerMask & (uint)PermissionMask.All) != (uint)PermissionMask.All) + mask &= ~(uint)PermissionMask.Export; + } EveryoneMask = ApplyMask(EveryoneMask, set, mask) & baseMask; break; case 16: + // Force full perm if export + if ((EveryoneMask & (uint)PermissionMask.Export) != 0) + { + NextOwnerMask = (uint)PermissionMask.All; + break; + } NextOwnerMask = ApplyMask(NextOwnerMask, set, mask) & baseMask; // Prevent the client from creating no mod, no copy @@ -4743,9 +4755,12 @@ namespace OpenSim.Region.Framework.Scenes public void ApplyNextOwnerPermissions() { - BaseMask &= NextOwnerMask; + // Export needs to be preserved in the base and everyone + // mask, but removed in the owner mask as a next owner + // can never change the export status + BaseMask &= NextOwnerMask | (uint)PermissionMask.Export; OwnerMask &= NextOwnerMask; - EveryoneMask &= NextOwnerMask; + EveryoneMask &= NextOwnerMask | (uint)PermissionMask.Export; Inventory.ApplyNextOwnerPermissions(); } From 4aa6f2bbba0cdd4baca3bf28458f69b0086b3367 Mon Sep 17 00:00:00 2001 From: Melanie Date: Mon, 22 Apr 2013 22:23:42 +0200 Subject: [PATCH 843/851] Add the set object owner floater template --- bin/set_object_owner.xml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 bin/set_object_owner.xml diff --git a/bin/set_object_owner.xml b/bin/set_object_owner.xml new file mode 100644 index 0000000000..6d9bb8a3ca --- /dev/null +++ b/bin/set_object_owner.xml @@ -0,0 +1,8 @@ + + + New Owner Name + +

pJOH=UDjlhUC|!Js)vPFHPza=w-ZS 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 F{{W12teOA- diff --git a/bin/lib64/libBulletSim.so b/bin/lib64/libBulletSim.so index 422681e4236ccca5dfb75f6cd7b0711e3d99ed68..79207fedc9abc9e35a32709b852c1308ee47644e 100755 GIT binary patch delta 723430 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 za�&Y4hVKEr3qLR>i2G?I}~C*0)7;YrA;a^yn;g*@3e(>t97w<7-i;(h$d}u`M<3 z+^oDJJ^ZS#9%K$=bPk&beJ{a`7+Zwe(1$C(7L{96kmGmeMn$k_dmw`gQVlngwhY?= zwk`S=8E|QjZbMnx`g{lB$b(rW^LA*&y9F##LA2=`+}l6*3(bFm-A4HXtbU?RpWcyq zw{M_AXwR2Wf<9K^Ur9)*0_#rf*WIJDUygUtW!YZ@Md)Dv>1l)g-=)iMuwR`=UElYN zWSfh@e-9@v&#-?Hs@OK~09YyiK!j;liQy!Y;nevdE&x9Ij(ZeL$G^m7z60$g zy4Eqxud=N+W^HuYSxb;Mxn!Cb@^qA)=2lW_pq6woF(W=Cr+Mj5a+*!A{YF_kM6)Uj z<;GaXwjS%qau!BH1^VuS3ovXa+}(dp(Da?6y6M$JRClLHHQoGE&p-H%^VR6cP7zzB zyWHYFN2vvjJSf$#-H4~ZdD0#8d%UR@wvX7Ql@~8gCcEb2tUr0*B^>(Uzz8+Q>_XUP z{WoQ6boyU4?!s@}y-T$Ax1Nr1dFCSA?knW8TU2t5q?NymK=aP++$tN!0$b58J#rn~ zK&~3R(+-!b%f5m>;+af1cbpw6p&zOh*p{83gm1Cg z{P_&c{T3p+{tSKft*Bi-lYK2+gd*-@LcSGsD|oXL<@DXe)WcMFj|lR=Bypw9!G>Fk z+wnpgxChrxO^0a;Py&9EA`Yc$997Ag%Y#$Dc@JKOnfeP|-h;`za*_VsBYK&3-=x@l zd{AM^UPN%l8ks|TVV{rw!6i*7C|~%x?&EYT)4;v-TD}OVG7QU+?FUdhHU2e0EK7{@V^sWc#8>32K1-6edy;Sos=HS{jN3l9ynp9n2Wb z1_B9G$M9Oo{ZN1KR}h0W5Rl#nd5iV5Dz=e98Xm4mafV!s(^WGS5-9LdVj% zd4zsHf-7tf3n=QSh;>^FfuxN`VGSl6MFh6iY5MFaHbYmXB=R{sD*=7`a`yuLeN=?C zUa=Zvv5rdG&0^2Zah$h^%{^w~FKNE89(7j(t4?-XIZvIBi5ae6)A3`XG9FitiD*CX zwUFKsHB{|5?)AP?NGZofUsKW_^!afS7I+`l4NSrNky}{Ev?Lp{k1ijF z>$&JWsV8tLzQ;alb^^xx-EV2Y37qP@`7OP9Lagx}jfT*QJ`V-96<<=^_afAF8>N0P zT17_`;Gz#+x5YbZI@tmGFfT%tbe_7Lgaq!}lZ*8A_hMFq{VSLnx{DC45vCmtNzi{x zZ5?CY*(KTC;wWD6BfWkSUvdf4{hNHi^BFH|KP^8gLMxf|tw^DS8`|!_gFFP$WIqXU zQT9{NDcpVAx0YI-!llw-ztON$xEi&EmY)(qUQ(AxFDLl|9XcgqD|&o}J|)deUIYtg z;-xH#cIsD%WKbe)Db(C>Os?(c z66=1Z^e5*Gr8@Zs^7}!wuKGjC8r}?-($EbJHk3d={*@;DAYvM{SSK4dMCqdKJh%l1 z`N_HZVgkP%w*gd|t@11V_=EVS$7x;>a%XH{N;zn8gnN4hy~WLa*<;1n0VNgg&13FI zvh-RGci$h4S$%jE4KsV>$IXC+a8% z78`DeWw$&8mEXkIzhle?VfgR=%Qo734qABdF5ci)A-`WmLq##_xgQ2m$95sh&U+KR zmgg2{e}!*m1#s7MbQ5PQNJzlQ>l=gY{6sFg#B#-zv-5j!{v_wi-m3@nlf{7QZcG@Y zEYFGI$5iyIs8Z8yy`;mpr(~0EK+8?jdk&Dkvg@p&*5}0%<&BT^{+k-_q(|p*%dM&b zP;5JllF)-R;DTsv^4~%$FNiSj7E=GSQ{q2xGabJmLjBupcJ8e7?^>;tuAlOeF;L}$ ztp;1@#F)j@>NnA-!f^O}&>nYWw*gN-O0$0xiz@7a7(2r^9ijM(VxDpu)6c?SI#Wm| zu82wrhW%;!fuzkt*Mx`eFfXgJLuZt1mJ99-BVEB{>A%Xj`)f(9X^wxhP0k&`W}v`k zhT9|gEAcR2TTs$kJY#J9j22!Jm70l-HP;3c4{9KKH%k=JF>xK9S}lXanp;gO|mj}?Ixe_kT%v#|Ja{XTIV=dQT!nbJkhrD8Hl<=v7xv}e93N8jZj zvNim7QQN%EA%dWIY_&0G?`@{tzl-1wJ*0^+);K;VhK1K0Z}-dNzS^>{s8xrNWLQF% z*D!eM&iU5wQ`jH4oRP4aUit$U%@4{c3~ZMn)tesA&}(*()>+?)mE*leS-C)455R#j zJVzjS`j6LkqvKaZm3EcC<}zn`{7otcmmS}G5xx2h)rULXLC=(DF!$5j1AfHHZX zQSNh0Pnc>fr8^ut$7K&MYIaRTyXNy&HJDBw!^cUvw&}vVwD6jU44gBcnZe$^Y!KaN z51qIMHT=()C6xTB@}Gzq{A#88e~Q?UDLnXm2_ToR1LF>fjH65A3I}BBpQ4U=1)~@% zpuu*7$#X_;>Rp0)mQzuBS#c@E-BIDx+|u+}btaQhe+S z*_u==@w=$ibT!kxd-2sYL7lLcAk_MXrog?}hGibgesF9ft-%OM_W0 zSxVv^AF}!{8}Bf&i7$IikEM&f?FQfi9MCF$&=Q0?MEIa3b z)2A};5G#jcdubjA1t;KstG<7mj=at}e8g1vj#7RmLkl9V!6yxpSf@|v#~b*N#Ztl> zbRw=&uIy2n81i3RjTrL$uMGYi@ma^&#ws={FNh)MU^PA$L;fZQdbi|kBN?_+#*lwP zFJBl#4wf;c=MFb|T8tQS*1LKPdBz+ghJ23ge#!ZZ<8*h>oTjM8ofh0#oj8{l3GaRbZy{CPKh^N4CJ0!ZK9$Cc+N3QP15( zsK$u8=9>iFpkGldo==E ztq&ygeNo=DS!RO$w#xZ+4&C3LPhIYdT)%uY!V97Fl=h|hta)3Smd~O(4@6zRo9yb8 zIf&UgT|bEV3c@PIgjb8>AZGa-{e&=Zu5m&*d5v)rb6_Twdx)6G_xJ$_KK7b)&#kdE7RN+wB{jv$Z=Wn(tEJ~eQY80)e5IZ>Zh>~aK~Yo-)j8~tIZ=3t1Nrl zP*e?aY2G8z$8{35c`Vw~_m8lB-LRNpNi^rNXjQ4P9Fwxab79V9VI}OsSNN;PM>AVGJQVCe1y50Ee}G+1U6g=uF$q8R&4QZxDbwJyAx!m51o- z@jJL_c<~8T_g4!!I2-P+!MC^JGxQPvil!AztbLq}|pU;!qszUq}BtCp|7ymEge*ylVV&r#GY>q25&*7h>#jiX1 zh)G-_(cCY;jX5eGfyW+^KKL6Mi9h2b!)>WEim2)p_hyx&WX%KS*@T+Ap}= zwoOCn9rr%2q1C6NL$e<}A9+YFVrGfl4wCdNUcvwHY>popktZ#W(10J}~Few)& zdeD+b?st{ZQ;I0>vHM|V6=X2;iF;q=!gvqb`2?LAKi}4JWXlT&x1bp)ut$eGCe4ug4RGu$@H*xsi56+Q+oCGuqIX3G@*3v z=3z|>)>gVJN8dnat7)GoaY!tT)ZSA*9)p9Q>e^tX9um3Lwa&_w(M9xYbuCd@ibT~K zT3uxX61{3@U6jg5tgE5DqHKG;h`eiRkIQ#>9h>r;p4d)`DakQZF-lt#{(fgjUG_n( zFD{Vf`1k9GjSW5$lD*$2*;3K=aCi}&jnX1K+OnLB`5j_NsimC?oz$tQxNpBUnOr3? zxlEM{!;0viTH2pVK|2pRAFZ8GPPFx)jWJrd@>&Y0cva52qjR*ZzTWg~9N1}SH zHdbkf#3!*@n(|MAhxPARt(hryMk^^8{ZB#GGW@%9u8lc!e;ae$wTYU!_sqzXhCq6E zY2`sZ;#DiWP}~hFX1PU{eq4OAWOTT$O(td(hQJT72TT#*&YWqma_fv*x%<6SYKh?~oM+ z7%LznADpG<%f&H*!EJO9;JjX{f>K6ft)cR7BM(~GSQ{5Uvyo&aql6V_riKA4vWXV& z)x*H@jsavq6V1O0im-+;1U(KVnrnR(c?liCr*xuFzMzTLpqvNSK#OM^deDg`+WSfv z5`&v+*S)eD$QFGXzSIEBG}ERjSNjyvxn|mj-l=_fa;HQF;KyL^Q0o?2U;3rF)>oOA zQADj;YD4Ig7FtEcjNFzMn8lmvMf5`pZMZT636y8~?2VTi;?1h8E;hw`(D9a9b!9dZ z4_ay|%3>rETVZUgBQd#^Hc>g&tBCHk(jt}5kf_octEFa*B1&$p)l_2Zc+l9^TGMiE z{P|GBN7Mq~o7P%*z@a#_GUp6p)#fOCGbw|=n-p?6&Vz2X)}oc+NCYKl^_1m)Mb@+g zZMLiOX>AWW+Xic7QTHOM*;Z?(bVK5`wpxPneT)ZfX{%LMwjyz)tyZh*=P^uuF~$>% zVK{!yFf7r>7DBDMsq;*eje!GH3kAe~$5=gDjub3zK4~TpDI! za;S&3X`0qnEjKVg3X*qVfQNN)vJh_ z_R(f3Coq}&`e>nwy+M)n_dZ%Z*YbrGJfPKkdGeZ*5(EP|Pm@X`mlVD^YAif_&t^mZgBLrG`thP+~ z>OYMN#$t_p{GVq1YpizMRr&0;opz4L#C-llqe>I7?xK*O30iw))nkn=P0-dUGfhR- zoQX&%JI>ju(PZsg<;ht)J)8_v(Wy!iO?X@TLRk`6M88eZs!{tX+K0;J0GZpa)Ij3n zsoEN4YULsde@AOcS<|#A#UHu#)3k-kj7nIfS=x2wLx0>AovwYXJn<`{L({e1yizE9 z1` z60@?k=AKV|i})vVu6zDNb*5@<+-zHX4Te%?YC%d*+pfo&Xr+;T^ z7nBD!&3bN@R^45h`nR1-x!Po9OQD^za^+q>Fa*P8o()387jz4f0hb-SoZ znXdjTz?Q^FH=ZCd`8SPR^RPIxe$%W`d0Itpua>8DME|*`H0rPvi*g(iqn1J&S43j< zQtdA#?vb4qF4LAM3m(cuB=uOX^;60r_tkRk^@{6HfQH$p;inIx`B{D0gJ^2F0{SHL zLA3Sl62Uza}@< zAH=eyLW>jrC^BdN03VHk=UL0e36~?9b=7LEuB*3p7{zk={9LHf<6m_x=Uzx4)5ya=O(MBja1z0U>vWxDheYFA{>{1ef^mVTLHU8BJcFLriAhv{Td1 zVMh8RG4OLN7k?zyBhlvA4LeJkX5k>I$+!8TypI{e3@y54!M39$GbYt zyEp7qcfEE0SM0QZi`Gq9heYMAT1O=li9uVnw2(LQ zqxDY*SlkbAEZ*Kd*>VpbGtg|yciF8cw`v<)YwX^sxxfp{bN&aXYvG=fs@GEw+3C|S zwN)|gfIE@DUh3ZzDNOn)bJXt`KzQyxA{rob+z0Ew8LTH`FS&sxIufxH40gXU7u-i;pzhUTI3 z|JjC}wqrYWvG4W%d+o(?OA}`fn+XIy?&uH&?nfu%PgY8DPVaam-b}-vbcQF?Mo%x` zKW4>eKmZa~k?5Vy%dSf%vct1906GCJ9a80!fa)2CxU|CnHXDaI*)5oLzVt0SVfE;U z!8*~5NesEfRl{XfbH*5-$My2EojtmEAKyprIB)%tnFbeW`udGbw!CpE+XxYD_ zu5xxOwB5hr9i_)s&D#4v+*k=7c}Qvu|G3R8jwj8tBlM*c60upMckLpySv)ZI2+1-u zfNvr;k0E-cl*n*%ZxN50w#93hjBk>Q@uj|twkO}&=^E-cI;NN4M$*N)4{b-jlL93_ z`e0DA0)(m2sU6t_Y7N)esacT-tCekF<2@^^AKCVp5^URp&tygKshc!C%FQ5q4xHVCFgZF#IwAu;2gv4cga_ROq?m>oxkuq_$GD^_umO zN!3iD_O(zgG5o3K*+*c@;2j<24r0Gn@mdhBF%cyPhIb-)Sqvs`IXdYW&cN@T}h2?{Lx1|y!Xs=`tgXwh5Yj& zdJOr`44H%yJfTT_VqK6vD~2*|4=5Yo!L+B68bA#zs{!>FJ8FmsS#C4O-GJ%G-3N@g zzc*mlaeERRCSWM`pB4Xoh$*hD){Q%gisrcc<~iFScILS1H64ViZ{(6FR@$+RkUT4v zpw7k0YLnMaePFOBdNWQBGxaZkRn_iFxw&>)jYRz=a#1 zJ*{k+ZKvXD>O4jH0x}b+zO1ZVZ>L*GbZNcbUR?JfU+B6zo2i>;%|dO1^hMiA1DMZ1 zo$f{3E(x6A4mFzA_dp&h%OYF->2_LDU2R^a;hX5QEHsBrM@<*Kh2OI5bQk3TmnK5w zeO^fW- ztxeTOuBMT8+R#F+PZyf2GdMG#h1$t9LIQXAjj$KDaXon51M;g6O|Rhw`i7S3Y}0VN zwLvS@&14#Cw>C>q$GVyZW6#(|ebv=8$Zid4r;c&088Or`achUc+VBwaEPlcn$3*20 zv(vUjwTbB!JKaoFW88YaZpSABuXy-Tog@f$%wW=8btNaRJEq^+blcz zzNFR*@qNX~<0|7~w(e)Q4tPmD;~M4OPj@jP2)+YK(61lIU^si7d9&+@*oufcn9@8@{G2@rU{+S}m0)dYk0o z70hYKY5@O+7R+fXlgR~hS{N`S6HAjRrO6(p$;{H^U?XXnGYToooH6q6c=TelyU9!f{^n$B zGR?!Ag9~Delq}N+Wtzu2C%aIl(~yR4ga2MKg~^u8$UDiFQE*JNZw6Q%@aSo1FWYXK z7L%J~PagDl@}iuXI^mgLU_P_p@n=SA$?!|r=L|5yZ$QkM`2{n1<4l?YH}Ehp{V_0^b9gENtR#Or z!e;?wpZhQODsu+t4IV`v1L3=1rrwbEeAy7ji^tD*&Rp4$T#|Z2EEwES59fwhPMjK= zBC~osgUhs&<-6dZ(NJXBh6-gv&46w6h^3Ajx|!zGBNjrZhNe3;G`vhhz6;zOBZB(o z9!7^W-#Hq?575_@Ji_}{#+ppF+~Q>}B~r>J#PWJk=V$a}-uB@zC{CLpEbxWhOBCxf zTm8K+Nj-eZH7jQpOQR*5@5ATJ;+1L1PD9%K%`6sWOSUEpSWGS1eEmIV77LjrJ5r{l z?#k|=S6~UXWP8a1mOd1nvogmXJ7?$kX zG7YIfI#aK~5@pHulLagxmh42C<_WfB$ICR&t|fbbUV$aUk{uumc&ed4WSS?+lHH)Y z%vIpxmc#19A!Loqo%#xjgG?W4E0Etbh&qhWt&I8j*#`$_kIyMk#s*kJEDcMd# zx~hFmgHvgLSJmQkw-YA%oxZwwRlnDX`gT*}Olvz)PB(SG>5GokrMueA^m0e*s_xi9 z_`lsj59E!l3xVo~t+!A0nH}gzPj!ZC2TJLs29|5jf^!JFszdE*OfR*n|4=~c<|jD< zaWLTCS?y_UFBPAEPWq^~8f?obtseJAKewov749!aH4U?tULu#T;cL-*h<9 z!_w7wr6GzwNmqk#l7Me;c2z^^=XA9)e@pgux|(Ww+>Tmhs0}=4w`2MDX?ePxbxH>O z98+Rjy46P=X% z4n7gm(@Yaok4c$GC<8zUPt280Ck|^sVC~t;DKrz5BDb0l1*x9-84{r z*VQ9$pv+%xZcQ4b9#LKETYW~Vvy@7|v}Jf=B=j=&*Z9aA4$R~2^u=rHUZrghyY;o# z)fH~a<_J6aj8h|O@4^rK<&~NdX{Xi#mYln*P;PR4v+v;9_qwU6o%)Sa8!PJ?A*eM@ zt)nz*X{W>E)FDcFK73(bJNf$>&fxz4o~IF zXzW0;)E||&-GP|dIctmva}jdvj5WN91dN#%XJW@Q6lC%P>D_F#j%iq+b#Jyh$h+Ln z<#hDw_`+7~Lba)DIU2SQ2+PXRqJ`=&%JI7J9N$xiDT9zW|DHNnd5WPxq6KBWueMaC zBe(Z`b%N}V-&2FA;|FT*pkw$Uz~r3n@lqv?i^B1&mYjV^vo)w=r(GYY zS0mDKl>jlMOs{3w)FJ9*ocV7mr}w&zyLI1(>TOq7VcklqyD55Iv<$#xlD}-s98fY zbstPs592hC__-o?N?oQFgj}(^W9ZXie~d_MF|TQ$h|_j=s=Hi07(O~uXA&VfpXybC z&n6DceFwCR*wje!U!itWeyV1tkt@`)kj_1ys?!t~BwDXhJ1g75?UcJpeMLz{;-6J&rgAIHPF+{4eU*gUPigaNH9&de zvAgxiYSpeNJ@32Ik#%Zs<(GTz6#2ROvC{mWyEXrF)r>RhyYAN0U#OWT(`|Qa{3bQU zU77i(yEW@;)z>xn{FA4c@|ltOQgCr(@FNnugzo+Mls0^$9#I;Vvs>S?s_(ce_CMUI zXuE1tdU;|A?@)77Y+>SInt8;~BaARfu}JstI@MQ~Yll))FC3FC%;fJg!k@0j!40{lg}RYOoY3Ss8> zx`!=Yn&93gevK?8^1fw!Zea*fXy?L7mk~~$0^S}NsPdp7MfRt(z5(Q+H+m*DZYH!Y4zteR%Q9z>g8&~dU?fhKFpy&D zkj#_y*wSUNrOS9^)0iiT*CmC~j)Q^G5_lRVnWvdT?_@5)cxDVsgW5$?B|sj$mu0x% zI)Ir!q5tySB=ZljlZk1Emi~wT$eHLNB{SnGlY{VP492u$`dHUzq(D-V%;`n^=MQcG zWWn0+ob1ibrrUA$&8?*WVU9Y-WxCR@c^--xGoLj8!QfN(vXC5>i6qYJdt-`xhoy5H z+#C4*Al4&Nj{VKnQqz z!fE7oBZv06E09g!4r5S1T@GLm2qUWVU}dt5q#xId%<0(a_{vk3F2k9(_3I2#-L{$& z7`K~T@jjP*vcUjdWVl=>*8ul@bCP8NYc+=ccP}x^?7MtAvd|@5&3E(^XpuYI9;=IW zjt25%1Llmsm_A>$TO`S2ky;k;=SjH&)+%?|ck_H5Aji*__zS5hL5Lr}e=XDLgQ1e7 z7^V--Vzrcxk>R!DyOv)x1ogHWccEJVK#7=i@WrwKc$9<(OZavjj&by9%M0BnO_T6^ z9gcDLNeGZ|SxeVZ&uAy9{|faA$5L{*>!n&KAH6EkLS?lN3eW{sg$_MrXdc!<^2iU2 zLxIU7IV3MJ9M54R$?uSD#$)T>& zp`rfYwNlm#)Dmm260OAdT+o&jEOKZi11QB*XTVu2VKz&(lCg*`flNk8eFF$h!}>?| zz*#L}>Poeeu_SmnbOI@s1xp|%DV8~_@vto5*O)B}3R!X-D~MKb4i$I_Ze}ztVox#i z2ky^uCcx$Avw*NxB0y7>EyE(uSS|@+sj%Sl>h{^pRdroqXsz8WCcpA}y2m6lb**)U z(@#NywH9k3)aBI-+;hN%=0bUo$gJ(mnbcsiE!IR_{G9fZnvIxKskb0Ad%rR|q3b3< z*7B7fZULX9_g%~1;N^_eSjLF|$beGqbqV^%P+#X!VyG`Lrt2_PU%WJR^#vJpQeUvL zGB7NSknfy>dSea+CUvH+z#vU!6&U3+F2Xf@tt1P>@c*U9tjAE>vfvEU(p4EW58v{D zCVLE`zRTIwV>byM``^ke>sf7PV}htrqRlSp07ILd=bWL}m zLjd>~9?1=y43^2PEu5|`)2!j(ficE*PD2_9O$GBM^S%L{SRMdUZ#k-QudPyPIUw9W2cdnSk%d3- zc`&?&$}*?JSwoBHO-WT9!dl5u74DPaLTv|B_n^$_@C8v51EtqYwpj1zBCwaAJTEMn zKGyrlSr&M~KwGjFa1;rcj~Nq%du0N&%uy`4JZTw^Fd|rynLlByY%J{sTyhJF02j|Q zZ<(X+asD^P1ne%z@P!jYJ+aS}c?U-~-!q)M^&2OoLchlT$6yxCjPa2yM9`5eIFLk8 zfEv1q#3+`dbao!nf6!eiOdrbRrA9QGepPq0GWZreJJR5V9WP&UV;2N%NdvoCGjex; zCcSjuwJy5<550p))LqhpAe~vnG!FA0*;9GfaSAUAd3Oa{2(SfT$jBAy*l0*jr0<*n zZb{x%0Y5A{93f`q3$DSWbYRo}gOrkAmd=##UJfvVv7HW&=N;+sfP;Uz2fS3aNtXwZ z2Moa;z;|yXR|4b`Aii@rKFUSd(ED1Wkg+VNty9(gDD2Ei+$d<6-??TMwg&%O8DbI(2Z zoO73V-^S(?N5-p!6m*Bqqs2=!h5J&id6;V-^bAp%{s3(o1|6iSuh3PrP>MSMGOa3Y zaA21s@B|Ld)ZE=6()?39f}`dhra8R6=27pITg01ZNaV|>2=W~dBjPDQs~yJStGfI= zPBC8^1+t+1IW+wYD$dEmWAO(cyilAog#eheqAU%@;+$z502}VG4Z|jiqlT4lqSTdX?Mglf)02^0>>^}+l@bVsU>K2QbSGKxEAOg9}=!4wpi5>BS8INULBtRwj zrzO{P3@L)r&`Iys4nKWbqpx^NwI$~Nfj1a`p$^h(ekR#DcYt9&&C9f?2q!i=z1g7B$R$kDL2yw(BAwgN?=UXduxN8jtrbXsA>w zj@NL+nM2E=^F!l<n^gW6XUamN2Zh@jDnT=)~KJr>}7pabODkpeFV*#udkDO)QS{WsoT;E;zx#SFYmj z@7CcPDrAk&pn0RThVcqADu9HzSa2aWF6R!1WEcv7= zaJ*|$JWe2XH1|D){7I<4nui9ar5~I0ELB_MZC~ZS1QT-BSc{+F)sB49MEwWYJ7;30 zjhfJXY_QXWBP-rzwjO9QmfCW5W5s%p(b@L`P9?XM`y=> z?`AkUo7~8=O|<5qwww{Ufm`+r~g8$n@Zw$hA^GD&|5KD_CcKfs; zS~;={(Q1qK(K0iJ1fD4cDZAvRIR0j-TXUbJ#OyV^EjC`gTMC*KPFa>AgdNc{SQeql z0O>f3z5qaT42`O~lXgq&*ZqcC;xGit_G5uqIN@dkiVX+FI=dt#`ha1*PMo(xQcfK- zj1CsZoOLS+M+`j$@k>Qwi;f!J?)~u|T4S}8w>n?oN3=rATh+NfSQQ+LK`#LImJjx( z4>rOFtM7yL+T&*9ju{ffv$$=1%Q3?au^Ivse=^J$bI-Y1x#Na+g8x42E@L&18yc~F z#|_Vj&aKgGt|C`gbSDf^qWA_r?$_v~;Zw2t0=IJFq@k)HZv31xaI@%I<7O+*U^8Rt zVK=*S2AOg`akDvRu@}_!5D(N~vF8kR#rnl=CHRW2`AiJE_JhmW*jeJ zW`hd61jEUrCxOmM}L9 z3zJTWTi$ZBk}xSsTrX@K}rAGeZGL#ii)-OQoBoMw&0rJ3lR*l2{LyirG*FNS|MgnBV#5FV2%Knqw}#14^^>h+`)$VV@? z@=ASaiYT5Lm+T01Hpqka~;# z5m?Yd`doYqBqg?#x>UV5=HF`jehjaz4Ljcw@A-y9a@V$!Uag*+N>zs8HZ@*t234Da z_f6&ucC%)!rAcC?fga+z_xLAqz%r~2h+EP9N#anZ!t>H=m1_e2RD&8IZQ=9MK5-AY zGoY;$BgA!A3ffA~3u5An(QIe5T!+nTB^zv-l~wolK^JU5?|I^1B2LGn*LvcgXmRHV z?JTJ}-xJ4o1}UGK#lxNoL7-VM613-cRPaE6}{0Qo%eop9e&9 z?hzi)+n_LU`V8*V%y~2^$Obr|97R!XMtn{w%FuD~oKn4QC6#GMbNn1$s3W|t1bo`> zrx|0BZ{jRUc2i!S8tmWw49%yBvj(=13(x1)T0D}+gM5_GH)}P#l&`!Wj*te&94|DV zG?9it#}Qck8Q~`T5!CR*;a~6NhZ=nx>kf{Q;TV~Oon84)FTupQMH&Zq182WS1!W3RDI5feLUe6IrP0n_Z+J;+%zZ&eH`H zC60OVQk+&Jw79m%noleX%s{LPj1z|fE}3cvJ@l=-XtLkQtg z8&kF|3E$^y3&#OeycCtYi`qYa8Y1(uk;NQEuP3Bg-FWMQ3{dAtq|BhnI$!v}vWg`? zm*=Bp56eKl+WAr#rC-KuLfZs!V;*sol3UWxtHG4|2L-$HHPaDB%1IRfewg<7EVfJv z|AYm!zbSAR83tlD;@zQ5|Bc=?K|&GzV5W-gTdcD^LJk%Gzk#a0DfGevQg;FHD&|4y zBbpcIXVUrv{t(5q$U<*EVHFDW;Z+v+*~tFOpEmsdfM7bUV_9s2kw`0wlgCo>9jzWX zzDGK98e{z&9aBa_VfCfO{jY_ERHzWD(svcOi=2xJESd?b&-2;^%mJfJ33m zFhYdY^1-OOFYZq8)+2Vlqg$Luj%*2WBT{0Yw%+ zAd$YGivca!P2p5q`b8mYCdnkNL|QsUqRzK`GI@<){kS0Z;(~aW0C;5%zt5qU&LQ`z zB5EEjrcz&6UI`}lJ)+OY?7{ajDz6iNL%D@O;%4E%t=$pLOa!sWGDElKWu%5jaJ0?83WE+Xm{_)YR^e( zP(E0rDnFG!`MH+;$j5?s{am-to1mr9;vVVxd0azjXJ9st;%V?xcz&!UYI%VpL$Rgv zh*l`eha_Xw6b=5DhL9`ld@DzQ{R2E8P#IZkzc~fKZ%ucu0AeJQK~?y`M6%ze^1Xl3 zzfYt?i)wZd31nh54Tyr=%4#|fea~e9lJozf@-%WZyX)0>HXnXX<#BNUUQOkBwUkHY zL2Gcif*^Bc=Qq_P+nR>+QVf8m)i6-9NtVzAnrU*=?6>S>|1&hD1I?jHv1X`?^L=LB zOggg%u2 zlcNU&BSC!V6NXl!3?fJNe~~609=D8>=eM!&_)sr5u-vutT35~W*}Qv6}g0+z|CxP5xF9qW@tv^U2&LIr4Ym zVN0^--`1iB=wZ))fQL3uI)ODQQ1)M@lbX&gCq{}2Zy67m$4rkA&GZ^k&4B)g*>u`| zLM8sq!KS;uMeQBFY1XV+2Rl28M#3ZDzqk1>O&slv?_V>T@Y`8y{!8;mJ2UcMnj6|# z1b&P2PoNYK?zHFA!k#_<9R1F_!o#$*Vz=?hw|(9{4x;l7c0PHv&$AL5K6ACtqup*h zpYGb{1@kaXQ0?==c$g-i`|}3}^TNaMu;-8Bzhm*cKYxOjkc9_bz>(yb9A(d+!ZS<@ zjwC8+(SrW=cS+WH-$-yC?@RkTh3s~HLlxV^x_ptv^BOW-njm#ZGg=SQ&u^Unv;YftZKoJ}ZKslreDU8=7a<(Jfi6XG5 zmiZJ*n7!^09wZv;b|C=UiF`!}K?GNCxyR-|MDbZ)CVY8MaXqsa&ZBGKcn0DUMGEFsL|w6g`O2LLQw$Q5u|< zZ7UGcP-<0%_MS!*d_qjcAai8X6M!YeO@C#ZD8?&8+I-?DVmM95sX^#BG=+{*^iSn9 zBPThB+6iK^^`S%4sQ!$bRD#YNTjq260pdqo_+(mxukciLl=AaVCA?5|T5Ei09h_tz zI!+-+XU^E>C6ErR@aockq{R`f^}se59flyU-BQ&Xy$F534tt@Uc|$xhKbx zjbFlyeDSzC2WL#|@o9Ks5XEQWNf*Bi!!r`kv3O$O#Ao4&K@&d>&(;_eM9%;Jcx?Kg z1CozN&!F=RN7ddQ+l@1?$W?842U^$i3Fa)us0Ke7hA*i46J z@Je%Paeg`~p}+n4aUN2*jyA_|h5d#BU5*<}3|kN}Xg)PfBOmMfU|!K_ z{d-OM#zlfP=`{U6xNz})QSijSe?5IV6E_vmk)RZF%oX!HZ(!XR(H0|+pI>tF9j~?S zo>=USL3L)63*k;rkJx7y!mo43{3U?3Ic9ChN`TC~G~0;f*v z-{DBHuJs?B06)wzXU*>{1$D%UfkadcZkkz0of1>?+a?}P)a=MHX*bOr0Q9up7DJh} zt7iTSzn2XMIJ(=Ddtv{0q!*|DCPJJAd(HXylw=viBm6XAPqM*zA1w+TRp~XiAd}NJ zUfT>pDg8L(hKpDDtIgzfIz5{=8NX#5M%o=Ns#=HCo zX5mh!>-D*WB501{P)H1Bt2j{RZ05nytchfM3Q6XZNIv@q5@gVj-18v074tM9$fAzZ z3KF`gi&}w9>{1~VvLmoSyq9#fomPTc5rs_}FP+%9$R*K$W(~aHfV@sp4EDdW>am+| z7-|IEWXr>}_1vPzv|Wvh3cJr!G&h1sq!g^~;a)dg(^Bbbf*xuz9C6wZu-~S&UOh$U^Mz z2##V9om(#s>X{3un77+%sKKMSFxMj&h+IrkK!qtWT?ibmd)NHXiiKn~NJ zzMM}NfSj+*^V!mMo{n;SaUDh(9?Cr%^7EM&z2`tz!@=_a8glAx@#d)@b1$XQ`w07y zhJ6zJ+@{ieDYFO|IDQ=c;a&y3EJY?C^D6KLQ(?M76-(#M-6r>?=8)3W%qiua5JgTLOhn^^>Gj!}RnnEO&m%Y3r3z(`w#^anU38ZY6}^oo$Jw9-6|LUXJ% z&7#l(E6wVVZK?GJ${?`PdRq%@=OZl1G0{SvSGS=jk_+Avx)pTNQ90O$(9Slx!8CNB z@z2hS^A%3BhRCJsv~m=7ose@x`(cyX(!_{AsTX)LTrNU@E&z&m4smM! zE@gKS{C9$La(GQtIS=5dWyGKHU{GOJ^#sS4)H^ATajg^WXn_{(V$WI#67U*Fmx4xQ zik51^)Awwm?nYuR2E661=0rMwkK*N63cf}Fo8`^c=IEtX(!TUerDtv*ZO?UyXAD{9 z^Pz(kbvp2$d4fuB;av;7-p;n<&;SJWG-*Q1(O|x+wuFyAaOM;h%hie@G>1zIlqQ&i z=z2|fFfqBuk!qsEUk=IPeukn4@^UlK`A)W=_} zxJZ@yS_@ME?7tFc=(U9OpCPEXC}!h=_K;GKp#-?X=|@?*b{(!RZz0(!!iN`7X$>{= z5b0?oUj+AdBY@NBpp9Pl%H+-F?`Zj@^e4*8H9s~paN{TPUZK2L`GWlM_rd09?FEqD zPqX-%pK*-JLMZubO!RI5^b!|JWF_jLZMgVDe0k~|D=oHwF4Bm(+CU-E2lbe*Kwpz? z@+&RyA2>WZ3f#u^w&>;zvVFu4s2Q$$&_up9gG;mV-ZWx-Az=^Pz$SH}x${FSQWsdZ zc~m4NME%G_*I!!CtoyJz=blgU?So^P#O3T00#s|ap*Imrp|?ip58+HtFfq3bNWE&+!)A!N7ZXXA zSN$UO26#=Hhf{{$@G9t)ocG`tmqhyU>Mazy=Y`v7DI8tuH99M~8~`N=h}PIGKGA^M z1ssjxBzWK`zS2rdYn%=w^2PNn97KHJE4`Y64Jb+lDAmR{xiwQqB(CJ*LmBy+(PhYj z#$9OjM*-+a$T&KWw&%Nl+qGuk_;$PZAr0F#!YTR{veD+&c8x3oeNOhVGgh?Q6_VL$ zzKMp#BW{OQQ#-*S@{F*7%zKy%Iiloi;T0MT!fWK7p$r%MC%8>Uz@?S-ru&(-#mbEm z#y&OOh8FvIpQN=49pyDO9)5T$zQkpjlr=TpGxWel8uci}xq`f;c+o5A9wzhcINz|< zQrBD4C>2g)ChbZ=1W5H~jrX|QStG!CY9`OEy{%1WIJR?3;b*Rv$y1u}c<}n`r!u_7 z#C_gWDnn3et*k98v!-;t(70$O~FQz2E3PE)HKLIJR)l z3E1yVoo=6;KE$?iMiH~AS6$C%AV|bK5pG2=5rIz8CMFb`GTtBUIAGZk?atm`}k( zdzd4!=@rjR9a5K7i*v?8X-&~%8QaJMGRHi|9H|I0t22M)pvioq{c_y5cm~DEKbUj# zXujbX7lnFZYHc3Z#Mj=#m=7pp{stNuDaa^x1W0a{(QkP^m1(}3!ZjArZ&+bs9@kzDT9=?& z=AS^omSw{CpT0Lcj^XCd6#Ly2`|TvLPsb!NF{zvG_TR;HCN-`Y8Q~((LQ0SpHs_uu z7adq~g24W~gXY}3NX)sWGv|#5CUnejtj_RZeGw6@QsgFIm5$#}0dNU+zqtR)DWR3C z!H~=>zJ4_gi%b|hxSE_EDb|kkNVBG@LvVl?ZO!HL?rwH0)!$7Kv5F3&K|3vU4JP90 z28=00AIhLJEYQChIkekGFby46&LU~kf~qoGc(u4e0COGE)j6~$XYRWX#S+n)bODs% zUxRyrNC*uATjRdP&3Tx%GyyAsA0_VRBqB`i9G?QDldlmPlvTm;C5k|-X zF3o0-FcVIc^vo{I8L7b_+(@FCfe>9+W?5kK2xJCbIii6yB*=wz4s4ha0`B@zIm!eO zz2S@zPb1Hq`z(ky#~hjTjK;3roZWPddPQO;jLv})Bdz3mdci>gqj3x%Tc|Oy=}nK( zr!id_6>g)&aDe$xet#c~5{7aPt-dALugiPPxw|2X369}-GqjI|I#g>o#vb|kp4KOt zH}aWUGx`Ljh!bNqk>|#O?>JT_ zk*^GqpI-y{Xom~_&k4lPNc{cG{SJG(0&?%1GCO!9=e=zm{D6a9J-n&^|5 zdquw=hMeb`@_&f^qbJ0^klSc;#_YjFuUE*qNaI9ZA(?3)f)2=7q~#182Ih=HPqBcJ zfSla8d&Yt}cRz72=7@RLJ}(>Lu0Y-^&@iA87i!=W(hLU;8H!i%+#byS3<;^|d7Xs1 zX+C9e9;8=Fd>8v-LT1iuUs_g10*HSaeEceu17I<)h@26Ak=7jVWEhiO>Zs4D2(lNU zPVO`D3np^C%Q}G5vXPBEE8JiR6exscFd9*$sHoH-5(~n$8sJT6r0;?E^fMv&na2?7c@e^f?XjGyYMOZB{?9#~ihf2*GMKzv>VNGvmBBK(2&% zqJ1=)8}~o~B0y8baHJzqmi_=7co8{lxn2hWx{K;dFn`rQnToWy5hl^Z_77qps^Uv~ zw1T5e3pL5d-10E$3S4bP!;YdIp4A3qr%eI4tFfpV+38S3sAt_2A)B_C>b!G3U~Yig z6N8;~ao~o(2@;p{2nOmt%0E3?sU^-X^r0VmB?c#Qz?g(R4xb9lErsYht^AFpj!=yx zFJ5(k#?L>eIYF8_b>2i~twPVz(pl%NQE1d9byxy3=`XV{$Y z15#*?xih(~$5dB*l zKRy78ngTK!kh5yfsWH1Y#+VqUSGC%x^d~pOQO_Ne(X^WG|C2^C#*c zjJz_4nN~MYY1Cj`XKNWWvYlDr4Cyc4Fgn)$kCu5G{qN3AEY9(amw8%;$5MC$*qBNoH5@|XNlaK9>j$}71biF^<37S(PAvr}~tvw~D(Nm8uYiB}qFoJ)56(P!-42Q! ztH7?tNyCL5CYI7kN)#rW*!)gX8=;+v9qA-RHCfm+8ujMwMD0lh?PnvVR=V$k3g4Bt z3qqe@EkChy5++rVNPVYiG&{7@RNJIZtccNDpdZ+jrN&DULPAsaO1xCdcKogj;P&oV zV5tJB!`ZW-av3?7>#G z6HZ|z@z1FhtCJex*c!JVXx8rX(fqb0`($Hrm+~l8R@}wHj0sXbaqizP)-*wiHqDS} zUXc-k4}=X%keWp#A`XvzaxA>OPmP`COX!`HkWzd=Gy&HqjMKT9 zkSL`H_!LrVqSPRA2nrE`;Xr^3B(&34`XoT9SP^cmNR)cjxPg?Cj|uV{LP_>^R^C{n zIx@)3jGd(x!V-yf=qxpfe--J3uPX2zF?jK%Q7L>E0mtWnH(j6Li<8G}32BZvobE2c z>W(rO+uT{IBj_a}ux=9Gld**S3QU9*A2QRo_hH?O5XU;AkdSWiMp2?mFd!WDGCAlv}CN1f6gPZA+q)IVGR5a$m>)T4!@P%GW$QOX1ffCP%l4&r( zcHA7HHhv7slB8&1rjdBS-vmi0a?34vIO>$#Oh$4s)Q2lkNMQ!y&4LYX5R> zX6+{Rwk)hgWKP8~(ewSCvun9oemChIag2;RJ-Xwff_Sv}Tz6@Z7-z(t3q7PCW9MB1 zwgTE|pxZ27)36z#qdBbPbDR>tKPw2y!bHirCju8Qq)KVx7z7riN{y?wCC%ZVdzyD1 zH1GV$*#eSzCRJ)HuBzZ>5j~}uV*Di+TiR1vQ?>6^7jCpDDtUWEq1q7aF4^Zfu*G)t zl=7=8SNzEiFzd-=bCrPPl3>u#TgnofgP3w@xK5xl0?}#GDY5zk7YptqbrG8iZq~hz z^rL7){gE%>MwZUtW1E+xXGJmSFBcn>Ar*+(<=x7y45^u5eg2MtZ}Z_Zofq-#@P?i! zZK7rdTg`pLtKKmvoiim|gwq@hEEym@U$fOMl!2!-Ar|QkJdsh&&3!{^-ZHRG1EueT zKcbj!kYtY#?nGhC&^Oy5f~pmqhvxb8MwIgLASqVY=Ub;ok44b1i@ISTIi55b63f2= z0@Z^r=q43x;Z7n%O3k=Q>QRdq^E@QEl+uICnLhGX6kGPPR5^Okd0y9pKca#h3#qe{ z_?M9qtQO~DK4t3&rK-OKLMeNlNGb{t{Ui@r=!IL1o-Dpe;XnFk0Fye)5}(O?ySUSn*0!Q1yW&m$H2<-TN~epp)aI4Z;Q9ztz}^ zSEa)0nU}nstnCq~Q%`c`_ z$=AENJgnaRp4aa<8^yL{NgbNmFT2W|alX#%^k3y>QaN;P8<&gKn<%|3e)@}xy)#kj z9lHF1*Wgn6<~uI-2c0-SmNxg(qQS7rx(%f>be<2yLgxvnwpmdllrRl`KelaNT zPm%WN#GWWM@GYrO+;Q8b+<8mFm*DpuH7IXQlLVpC>Yof~%N%PVO?WY7-*m*l=FO0n zRQv+tpS*`rNd?oaW7YUAF4oQ_)u}k+Nw^vC2{!3>(Qw$HWMoS>bz;4HNHTl%0}g(C*q2vSX8Wq6L%UhJp3Sa+pD6*e|Unq#pZCgL;nk$9?A4!D>x7kNfr zb1_gGrA)|`@UizhCtYkt9_~Lnguo|x(wxw4=v;7x`yUo{Jj!*PC0!RQ?l&ln^KnO% zI1aK$7}zVbCA;_y1n~ZB=_|2Ok%4WrOMS#q$6bo_j#O1Aw%cQ1&pM>x;+EY8=5T<+ z*~eVUEr&Ep5W|0Tv3_%>lpbgW9+cLp4@>P0&xH7Sf|_{HxGtZbgtUA(p3 zz)}mPba5s0;JQLovwfFK5#NJo%xXUs@n|Iy9XP{y>Uk6_`|Bthm<2YBH&c zEonDouCjJAS#3*^!H8(ym)elxQ!wy6@#++R#vd<7@gjeI*Dl0gK^&LW%qD5)2D-%o zP|po?!8V$&XwdOL5Y$F?yI@A6mr3Vs8@*NmH~pbK8JnJrCqET$YUo&Zv+GYi3 zM1N-x5F|MaNo~8NW7Oy$tuq8=^}e5d5!?!%_#!|dFRV8xwLg*`2aD6+bt!c|qk%lC z(519mMOV3{&vUUZtEJ=SFWz-w`a$NswffRV7mHqli_oGGcxesP_`T0v%&|uLEVwIr ziPh~Wr5IfsAX2!Yh<%VOCmXZ~Q^%Hnv4$tXb9s^HofZq&)$}8b!*$X!;gcwKex1~; z-k9~kF&kqi7xbdT`Xlaa;U7L-Dg6Ux>ry^kj9u?yJ=RN&YJGw}^WV30oP@Pt>R@fm z3}5GBi`Qcsusn+GSdW@Mj$#8hNDX7&D8NJx*GQGDeX_>0hzHjA1EqUv+yoWy;|A3D z(GxZH-V<2k)io}q+UL?boml*-OF6JnYM~Pct#Ey{S=ud#BR@2-qA#T{8h*UU>s%~C z=qcyI4v@#Wczuz9eY6F(an(04^IPCtJOB~(x5Bwt$qa1hR_QIVAu}i!w@RmU;@E`- zWt#%WT5P?*z)HTBnu<5(bI)R;`1Q9gaw=-EufCBgh_ewZ{ss=k^9Y20i@*(30MDW^ zEBsdKEI#+1K{@>`2}GTD4a{;&uCG|OOUs378FPtT&&QsI(?%BV+<{aj&t+Z58>_J< zm!-}udZ*McHLrj->?nWx1`EsDPCbr!&}l?V_$x@JZ*=GP#K;7oeIK5Gzyp5pg)TdT z-Kl~3Vdz*)ZyM#g*zujx^Hn5XtjIj;GZfRV7j1lPjzO{RlA?6tc87uW*eykfYY=#4 zw=`00g}{m3U__TMVD|RlK0Gr59ru8x>Sh-kxkpMAS0J!)kCYkm&~6BtItaw*|Fj!e z#9lCW5&{eNV#b?>fU;NW8g4))Ou_O`aJupOiK;Gv-71n2E$e6Vq?}WvY~}+xwg~qe zK0C+28ts!th~GL4%EEm_XV+N!!JVCxP@3&jID1{Qx% zdQD72KsgAnp;3-Oxo}W=TNHoz%%u!FEOpW~T(%k_T`)17n|n(l)?BRcS8{gg?D`xe zsrP4b{i42_<5G?tk^1TC{W^^k%+_n&7jl@#E#qUkyO2pt{C1i_>3LLg3*xpnVY81* zvErc>E+yxDviN$fP)!1nzt*{T;!qKZ5c z*O_`A5UUJ zweU?BTYF0CE4u71CHS=TtS(~W0Gc?`>oU%XV5FuxI?lj=IU^l0%^N~0Rex$?lv3ra zl%W$dUvjZG&PmNHC6aA{`KkFjJ#VR>&UdkI&q>uy#e;bfOI8%Sa87E`_3J(qf8v9q zFlThagv{T!P_=~Sz1K7})#e9U7ThaO3uAcD%Gh3I(6`1pI$?JfySdHyg3$9#)_A)y zO6Z%#`ffKquN%wW+ir}hFm@hLwfS}8Ef5|wfgRayY$DjEu(IvO8ZAPRmdw-aY6(no z_=@p9eU@y8JVzF~%DCY_Y3GFXcYfZFrG96uTfP{SLAj1ncc7&+zcZfIja3HhFn*yI z3Q}2Uk@0ik*B;95B4fQ^VQW|BJYbwIwCu`89W-VNUyot?4;r5rrj233_r|V5lQFEv z_r|`$FR!rG-y2`l4Pt+OZ)8HnWH#pq6nkSdD|g5^QfQDw@f5b}kg=)Y7^VDq$e5}V z+Kgn0M~t(C%_G?1BgRQWn-MJWM~V+;hkrDt3bq7R>!`8n%fk|A3cla@BY9XuOa0eO zc0~epbF8x=Px4)QDXOuaGD|SNFh@*5zdjnq`Jnzh%~jSd?fpv**AcFbJCbExO*#| zP7#Y|q_PF4js1mjsqD^aW0mS@sTi+)=|$`XRNdkAKzDLa^AR56iz+IUj4&3oHhK-*imTu z92@tW@dM%grp$QRm?We$WxXz=%OCb+d6yx)2YRxvE*l%vT8iyBx@y&k|48zYqnxd& z2f>Oc)z*`(xNU5}qOTZVj!cNcZOS9zjQ-_ulBn{=)O-?P>j1X)it$cGT@wH_zcrth z!`|(~He5AE3WG+lAFmo?>NOdGbaKT@E`I~v6IAj82F$meeFG-RUP)~`l0Eyo@l|16 zBAfraakDO7NxWu^5GwZQ64>%vYLgUYywmt7Sct7hE&ot>w=N60Wn3V*tn8Cp7|h$O z)c9yt{x*uIC$f6C(enC%LTc7s^uMgEkB@T-5vf9Yj8apDLlRR}t!b3EwJzBFSkBs9(=f+Tzr;gf@ z4PNzk+G3QAkBo_in(1v_WokBoU}96CKllaP zYL$D0>YoI!`GSSlmFEj$6kA(YJ|pO(*sOYTOla_v+1hMo`|6>z_$0XMW>&Yp+`;At zI}2`u2Ty!C+o4YmNFVnv>Cpk{-TozA4oGkOkMx`y%H{g9s1t&sm>MOo7j#kV{b;$q zAVkrvwGCR&F9#2P4@PZ80p$B93jLpjmGv+8YBSwOBp#UQp1)bjYB!M88jtG-<)}J) zV)>i~I%hNAOax~2^dnZcq5KQ#RUS2ztB97;`dD|yV8FRhBrh&itWD%lUGzl%N%cH!cdhgdgA`&UwJ}1tT8(yQCQs|K%ToHf~Ab9P|*Zh>jOE$E8in> zeBZVo6wb<8$(76hec#(XXl?D*a=7j;Yt>q|iNBvMW#6=xrzK3jQCh}7w}B=3wr*-? zQo(e1wR_bMgGn<@Z>=ssfJ{LnJ#YDkcb{ze)k?~nZRCC-;+qdj*)N^t!bU9*Q>}ZG z3dUMHLct_B&)!8}1pR?dqgbOq(J&}9i+U46^IjLZexu_Wo$3-);k&Z8kQNvo{)XBD z^hfP0>}nVJR>)-^*je*Ow)=OC`AdG#qa!TzH@OlEOO~tZF0z>WZh|jHvam3+&E|vRxFem$K_CmeNB$ zE~w~-RQa(u?qMmb(^F=3F7F`)z}Jm%aRr~`pY=5a)rcqA*`9JjrvZmZOcF3p>U|mA zw2y?3i$MYse4A5MT!hUhhH7z%M*x=XD`hYDlIsX>o?&^tz8wV&k?A{LGK&@gy^5y*52|U-7hRWO>WZo7cUygxnb`= z)%lwz{OJXISySj{-DxE+P5w|2nxAFXzVf?~C%rW8__eg`AA8ORe^!3(E055LmyVVy zFJ#E~b)iRnIQbgXYsZwt{_;Sb@WD~#(@gnOolx-{OBpDCp!=TvK2Y8wJa=4KI!GR= z>)z&&ucY(lSN~MJZNB%XAO4s0*M9J)Z}^IRG}Kf{8TPV#P-h#z8N%I-zEe<=@9p!p zKXF*ew_1OI%WnqY|8Ubk>(2;CpZ+iDyAS&79}t*Mr*cRpKMKguJ}`qP{UOpdG2exa zC`qk~JY0QSwvZ6%Pd}CZaHA*v_Ln?8?y2E?H05dDS-r}^p3A~t-43^%h#$sZwO zH{msBsd9d#d_^a8-lY_cmS51xYau^LL-C0R)yL+mT%aM*X2dx`#+Z|Ro{@;ivs(S6;G0{>9(+qljYOpnlCPew)|TiyQGxOpCbP* zHv6%ZO?y)wDjq&k%6@xOR&|@%4{yn5%2i=n&K`?O*`}#-s<{3T&)Jf-nI<!~2kAYzLXMWQUeo0^y7kJO>2f7O z*!nH|$RME8x z7j8s-R?4R2$u)E<*}^<|fVBZMRtolyR*I5KEnJWd9kQJ$Qzi*Hs;I2#YMY#D;u+f+33->h-J-|$IH>s7Vt5j8_jOameD{?xK8JD8Hc-tzVR~>hH;K3I`Z_|2_Gj81h{y8!}(sC@$Gj%EA`N{l)fMN|o0a z$kzpV@NCpwpg-MT8P4PtLiHZ=H42WB!R0-`8QeQV!4rS9_zMP9#g3h**wX& z@ots61*m^mEWgyc)pC8%q^fkTEfHr&bFKW%h5SAc2yP+K$TsiQ#~l1`Z*h_pb@)`4 zu|$p)zI>NCmdNjlh3iX|T1#b%AQU{$nl6(sh)d^|vP#S4+PZgGi{%)&Yy+>b4qLli zZY@k&%&sh#twPugW?CW76>_Ju#Vh3Zs-}KQ{gg!$x$V|M65^cwvFa<3#>9`nhw=z~ z@{#!CG-3ven0_>G+!d<(&Oe}50WPqX6w>y&yyor_#`wQMW@CEHO?woz+J+25Z) z(r4RCmHI2?BFJE_a`RIRbKzh%OI{-v;}}%vTDiYaIElTwR_-nIwz0iy<>5k_jWt*& z*9@&YkJK$Lc|bp#qiVLyR?^qW-{^FeSj7$UU3rS8Rz^=#LOzEFC%ib7E!`+L5vopQ zhv})lr99p!kJbrmrm)eQnc}rEJ9(IbBRcz_mplBs@QbWp0&=7L(sl+E z(;>|z-=~HkMyr~7XkmW3l1#1I7sDAm?C+dAm`%V}nuM9J;Y5SH#!`>Emv35P8KvsN zQl<0Pa(ZyJ^Hb1`=doCzo-aF+sl~QxGMkMj)1$9?JDON+;Rzaj>uI7)Hqwr=-6(ZHa zZ)=6q@l@xJXO3NRRpC??)9sdPv*KNH&6Yd@7c^r`rp zBc9BE=M^?_j~r8B_bWcQvs)iFbF!&Y;{Z@&@G@YY!e=To1JXnKuseG&CGlf--b`bm zv@#I@I-JHG;>M%=b!|xdCt_Uy;(|05N3@Lg7a8|2McNGar*}(ZoA=5MDt`uoWle>bBh&xJizwk?Pl4AeCG!OaP~*s-J0)bT1@bU7$e*dm)3> zw>8KpFJzQDL4!>2LMEsKHOLe%WQv-?A=|R?IxlzWP#;Bt)aF{k3WPnm`3;?F4Gm7} z#0#ge8mz$=1;8n+-pHg@ZTmU^PGR+g2B)*n8lHv@ercz=ohMA~sD7yh;B;ziNK!xI z5dDyz?8+&*p)f9!g`SpM3C%Ovi>Ku#K=R{fi)L-@tUz_huZ| z#eY*zkuHvTK{JdJTe0LJM7IWxMm#^->scL1zbPuBOGT&r!p09dDWkxzH`7B<}#@Tvk7 zI7a22q=0n9FFh4M_EdcLQ}NAD#Xov7-a-HFlK}n9r{b?Y6@S?ucQ$Ut?p%^9bqfH6 zfTvHJp4tKFH^JGb({%yqhg)(B64J%jZ0ClSnzaf56}03wuUi0U+`k~68Ia!XU(#O= zNNDm;_HB7c{gSKAV= z_kG=oD+r|#s&(is3GCJ1<;uDQmiN0{t7d|aSA45+7hdB0~Q%-N7#F3AejWLJAJ6&Nk{HM;BBFSeVYYk-` zuFExbo!9_8It$3^v)X^PBVJw5@T(N@+SP4vTc2LCpZq+}-QT(6MYij@T-l_V>i*7U zFDe(W%XM{CSQO|k;B-&mMvhjSha|HaH{`1F$QZ(}U-SZd;f9>nqyZ5Ecc5c^kJ6x~ zXyZ*(Z`Ma*z!|sc-P!INaxK$RP6AG!4OXt-fYH{ulnS@x>SC1(t@Qq*3oFZE=?90a z^~YGpyYdee9<@XwUW29MGvW7G)j#E^I>j1nz$tn`4hu&qcsV$bWXSdDw| z89KIL-`|tB3vV}Pv;UHZ>sqlt{*vbjj%LhuUv43!HDh1hm!qZVX8Is?QHJvSeau*d z@0zlY9zbQWrmXk@%>JuQ+3g4N=T%;bMIC*2WkusPQTlw#FL)(1d`&Fd`Ve!@$+7I( zL%D&_HI`K>mDdR~!r87;d6;}9h6?GMHeroj*j&>!VFO(9^TNIux2=F*-AI; zSVCjA-z_hzwz3iDRZqMIO?UDxKzoRl;R_nE8IQ32mC&1+9?L1h{a!4co~wINJevLZ zSgs(9@5L@W2C{Cwn66B2DTMb@+LY03t8>ML2TYA3-0eUNUJ9v%cR1QbV~ULzKrQ;` zunns-We9y^l#x2qY(dyih20TNm7C;|6>!AkU_0Ib!add#;B&;|e~LvdeSs%YZzWi# z0ZYjCHmqf^sX_F)y1bLV$M9<6D03R!skWWjgH27UrUHyf54|-- zf8KAM7SvUa1)F;6bk8c!8cZE^g0mtUE}2?Y9b1RzFVeD8{&T=ycTF9(RWcnEjwG>c zqp6h;un5>JJp(2p_ODO^s@1Pwg0#W!47vriSc@Y-(m+7fn3F zkfh!B?(xiGGKH5bt_vVJHb+8OtjTnu3Me3j=An{%`r%=vW$ahkRE@PLXM(6TQAUvV*;G|0tQOgQi)nAf-e;jYx;BC{j1C5k&Ph-p>V{|8u~1Vp!B|%@R5VqT z1#1PRT6NPDooIUSP+3^R)Kw=et-^k*X<8%*Rg`JZn64UyvpP1kzNvP#T;WL_?b#*i zsjttL)i*V0lY8T#U;9m_h?hBUfhkWpfc0A8@Z#`tXDATI?xjG0lU8aQF4j}>i zC>lM?+R>c97+qrSOZQQRwAHa6qfEJBatK(JQ#6?Gm{InXL3%ba+Vs4ztvvfA8WNLJ zpZySR>TP;lje1F6EYxRF4NRG)15T>=mU^@fo7=!tB8Vn7wV|n+C^;XpMGZ|ggtW)( ztA?g=5g&+D5R(a7tyuvQQtXe_VXlX)Z6ni2Y>#)<>AkHR8%|0lqi2ynKz^g&V9$2hMT5b z)!LE$3~z_{rM{G%8yZqgxbjd@o0tS$*cX={mc?P2i)KoEpHs~aW{+b{y{k722Caww zL96=g`G;(5Q&W54xX9KuHB}Y97TNx$rpDDrSBLrXjty+lJ?d@$6WwoA2S>09&zTmB z!IvH?>z*?$GE^LW=3$w$5rmC=A22@Sp31(-Bzy7Mor+wudPc*QqXU0#80L?&Tu1?9I+rW=Ad z@ccvNSfc4QL8$f{OGq*u?S84A-#rE0ZJvrp`{T~q z-SoCjm~%$?sfTI2PAERb;(MCXgaJ3%2R%*Ih1I9nS3ONJ!jx0&_nxLk!i%R^STCr! zh*PX{FAU1tC)umLOv&Z9-UtqIG@psp^pYFc?=%e-+MHx{dz%Id_7axY+f*y$w68au zH-BW8u9+g(!QQ4fM9cPvtV5dVRk7Bohip?CR9~Iz>~@+dqJ{N(aFG3e($Mmol5_{k zF8WkCSa%vpN!lGv<|>_x^ySo!_Gx&urXf^`QK z{SZ?RUH1e2R)4q!GWOJYlsm=#^y&YSek>q;z?O&X z2<5e5rV2XY(Hm^$a8p=>au)RE6s6-sssUOnxrl8TZmQYkiywI^Of8IB-Rrz5njMUw zh*yP;xkltZImthX?{4#Aum1Rug^n;K$oaddh^X9L5 z9Hle*c}6#E?ao`l#)bbt$4t2_0BTTi$Y+$c7(xf!(yxLP= z$QMuZF6TxR-mdS6mr#;Y3iOXA@RrxeUxxxYMNw!uv{^uo@Q~M7(^00d|3lYzz(uh; zkGok;W!s^EfCz{b3(^#@APNGCioIdQ-h06=Dp(Lvc$Tp%cE#S--W7e%-n-cE#IDC3 zzNh>ryT^fke}6t7z1hiRGD#-Mq)phy5Aq>q0OwUli#9d7ri_F;2j=@O2YZFVq*z3g%Fkc2*Gq zZHQ-Gy6NMen7%_uY{XHwSSC$?X&J+`$~K(;JS1 zVF(w_b-}hkZ(Mb}0}Y09kL|-QV-MqZMmwtn9+?mPfX%}9;ZZqY7*~O*w(=-W(>pSp+PW_KBRKAiE>%fhI-Fa@kXwhK)=18uee*0I29D%> z%2mPY!iWMMneQYHKZK1dRWt7>Y#YgSE_Y~8v9JPJ3A=m{%8$aZnBrjz)Ucq#^4w9} zMTV3=D7PEKX&JKgGV~qG)vwN^&1#&wiop- z|3~~if5fkzzroDlx>;@hAb3z1zWaDSTpP!wlKOu`*YVs-R>WSk;RNmr^8|t>a(Dss zZoa&5BDa9B)o$m5*A%Y4|McA!Y0jn}qHAlvms8K8aQz24U;b+f2ZTg!1D|Q!e~ccg zOy{0*(g{U3yvP=?nZZqD8*a;ov>9Ag5_(ELG=ob z`Sko*1-&hr6XvrUDd;~S9+kJ^9PS^s_4<7I;~XxYVTUixhgNgBMeN0m`SRPjoQ@%L z^5MojZXwyQQtp?=^<_!MGPsh??IJl#VQL220y~zjKTGlPYbylEn*hamV+a0 z>m2Qjc)E>7JzK5AW`sBM>5#4QMhcwqoS|Oj=u0o?zX)&f+bCF!M9EKKJW7fa^TpgF zro7uiB?>y)I*;3_anyGYMzXOlwGddq(J=cjhy?B->wg%_XeqawoqR|E;=pGa7sp z6Nd*hHwuSVoyP)&^|^W8B?9wkRAo(+)n(Dq3-^DzpnoBSUuj)!S~P_t?7uizw)ta- zrBg87t@#SWMJe7TsBbDo95c_j|K<65MlqgSuqDZBIDb-YF6h>9+qBD5ut%>F(;FXH zwb2|;fy}jBG)cf$c-L}`Sr;tR8ktxe?|0=x?@Z3uYWuAG0{G=6Il+!hG!VpHF`E6=uq2Oao&kiL%VN-EBVkL$RWtac|3Q|q}-?D}L>H+t1~-+HbF>6i>} z*K^NE)0uE_1J|4+t^$XRT-U?{tBUp8)cRUf%nrVcfoKoM(g#E69~Jw4axsE^zY}2m zOEb;E{j{G>6^~2fqayX3ZP9uCj)Z)8(UC9PycjMGz2Q+(%OA#Z$M9maeBD5#QF`=n zwX&IF@tY?=L@s9=I_vi+RSTn(P@|mwBiy<$JZFABtl7l1AZJ&~pEhxAHRQ|`h}w?D zzF`V2_Hr<1I~oJMrxcaFEf}|BiC&ycE1(=q)?;z6&xiCKXqs1;4rg|7m56RCyxGAG zCxMHh<4znQG8VzBom?>gt*@e8b`!CQU)jxhK;vDUFR9WO5_WN4$(X4yXg61x-EApk1;A0eY6e8_#hJvV1Q@!P^JT`tioINoR@X+*RyK{M zsaua4j@~{}?K_XNw9V3mZF3V6TAEZR?5Hd$6gE(l*(m{B_962GXof#6JZYT5omu1b zqLgwG&fS11txNddls*nGmQv<2ObM0KWlI8F*vBm<2gX9T{oErGG*+&AfQw_usL^UA zwi{in5^YBpuf)bOR^s?kY9(%$xj=UKvV1v5=5XE7W2BsWh1lwpusev$*5u;< zCGernY|U#0!m|vTXBOyz1-fN{t|$TF;sq3)Crc*(H3Z^1?q2(A!ciOnvuGk0dVy+=g^~n3oJ1@*>OcZ zvS^2@f2o>?!9~48TIW9qXitFQzx4!2qxJ-&m5Rt54AEz}*phD3u@`cKmRmRw{)idzhFb>XN=IW7V$-rJgZT>F_+FaqH$le54 zdWEY+qPxP4D_n&1cY@kUhhy@Z4^Z(cHu*DMAm%C;Lj0z}w5z!CRyG!nUBxAX8Z)56 zHLe#SV`17gu1EFDlW9q+&sSB{ohbHYquY&N$P!mYX})@OmWAus&b6Z_Dd;Ix5bNdL zNshTe*HW8Jgx)u~wN{rJ<0!`*}fWbLjE0WnnKAuAn zNyFiv=ZJ`ikzHO;gvT)OdC5KKx2Px1xzM^%u0P<-{7%nPaau>W2?Ee`_5IR?ssL{E z1SOdW0(j{jX~etHs860);b9m(&$Q@-N^6(T{nlq;m-Ho~C>(c5TW{iQ>msUnFXdFo@^ce~<(@yn^8?ID zUT*?Bb5Sw1^&$Q}=RxL&$;t1zXN+{Ieo-Pj!eHb_&W<0aR1FIHv5}nqkqcx<%ewN} zPnNabF%<57;p$jb2*-x?Btmd4V_qhCSx2RJ?gEitxpTz27Fd77 zy_Az7(DoaePs2lC{Woq1Io=w|eCL*vZo#nQJGZaGd#W#K?eI*T*{PFqdlCy=ce9l| z*}#=%svT-glNLOqQhr3GyrDsx6ilpVX>@k3T++iu5j$OaYuK5`c~%|tKlE`$^gk4O zbeFD+RLILg86)RYwS*;3F^0K{E-T5X(R2@5(Ii~Uo8{Q65GaxOb^(;rNsNwM&-!tgP!FgKrbBcXwim5)0Po`G;7pZn?Oh2m=cjJTVu zPoRBuSd2gIXyVY9AALk8AAkPEa5bzteEESpdp02c%Z($+e)6n;IZuXsb%5>v;p8T> zHaz(cd%p|5Q1K_OIjr%OoBiZ&5Hihfu`555JP2C6k#A)!*QT|q+2XVK7vENrt5}uL zHL8WEG)??{h-dg+K0EJWnW4|4iYcq8!%2GRtfFq24X#q8ya>$8j;=@TPpYF{4WSO< z|0el&Wev+WWb6;zQDe4>N*OwY#=}PuBrr;CeIH-U> z6qMyJljw4)?R?H&-e$*FWo&19Qf0wI1@tZeDvQR`4&K=FKIERAY+H^eg!u;L9QlUi zdu{0K$h)&Q?7U&BBkvsdvI1r~RkOhkmEAHGS7zaQ9ZQ4kQ_Mm1idW$z;))Vv-uayt zl&|_6aB#o~v~|p{kPoNdS=(_kr*IF))U-~#HwWdE?-FIap@9?MjAVwwJSVW_!MR%?XA5L+ zfwYMVNTXO=kgSSB+xll6DgsT|Xo0?1pj->|T7jrF{>*}VV1aH~peq(ATY;vXL~H!C z8L2xZDb_gO_`69h)T?E|rUGBrtp@fS>Owp{!H5q|=)z5u1XoS6b+5JZzzY0ShMoDt zB)@av>oHshTIQ(Setr<(#t$XW>|u=?@5sLXZh|9j{9h!%9$Hl7qpaT9;Q+Fy5?>8Y zRpeI_S3Bt8&etICY+;c*UzhB3g6r;lZDOUBxk`LFhMoMy1Rfsz0Jh8*lRV#pKSG2c zEw(mi^h&I&riFIiycc1$Fv*+mO;$^gB@XC!Tid6 zInsx~rpo*zcLz7C5;IRt9nvJVBW_$wvccQDF=+y>UMM>5^4%30R^emGRR+?lU|&;7 zfUZ^f1JRP6Moe10@R-wYt#sQTpl;yV`VsV|%`^;7ji|0~jGe7+6pc8B z_JspbR~$n5N(}39-vssQ@weF_CKK3(@xjE(PHq~;&tlojw@iSd1ViZv-pEe*W&+ZX zAIoYGnAni7$$q+Fg53@I^6X6nt~BH~yOjP)la9hJRw;d~^TG=Fh?tVa(Fa9lHvaOhy{_U zJNMB9M;q}I%lE&cW_19y*2mL)_M!O zQhMKervI_|4`X<71K%2Hl(8vCXOh>%^509cmrj{rNn3tW$-&RDdM-od@KVjlbCcYs z9p8~5nP1>|dwwi=aSMVv@S{k-Td<`A?}t}-;eH2x9eXq1L>F-#%GAZ;E}U_oskG`7 zZ0yMUNh7JjV;1oEIe7kqw{=ETahaB#Gs`sMi3zlEd|%&NMR8W$!b}z4{-!Z?Zx5NH zJbi3}%s9S23A_Q%)PEVTC{;s_h+8&qCNQk`xb-SZc zvHli2#t+Q}(fxwye=Tuqq*qEBE%7NBN2&S!TTJNsl+R~~X#g}D$)6Nz4WMjs zLv80;6O znPCpXlhJ%sc&5p`s(Ts>>;ej-ZU8Mpyk#lY0Xyp7?#u5pb8|gyf}UgeQ04%v8pFr4 zYuA|Mf-yW{+$NpGwncp<=5^Np%u-2=u>9Pr8FRYN#rVVh%Y42NL;b;EU7V`$MVIA^VDVz!n>1e}A76}fBqC=(+of0zvoj!RDeulKgpEu2AZ9W=T*@br zYv~ZbjIYhigr&>)$qXjGoS%&c;^xEZ71;XP&c_R^2J7;0a|Iv6aNxX>-%Y~O;L1wA z4bjg7_f>qH+nRZ->fG67F+#Xdf=?Hsg@unBqo7{Mc@-bPZrFi}wTkb{zF%#EnydLe z#4}ZXvznj9IIT=!OEgJ6z8f_LW8fKXTA;HL2`4;6ysN*KZ$Uy+pu$Ri6m-kv1IVN~ zupkqSf%-kxwr*2|VeZ#9jgPpt! z$m{tkr1>m(zMij4O3VUo1HZ&|JU-}{V2c&tG7O>OnZP=ahZ7rke>QQG2|jPYJY=K( z$8F@(hzITvZsZe4RuaT-LPL2)5{%o#KVYsy>&+<82-vfkNB`k7;LT=!K3OzfPT0bC zVAyG!O>k{1Uzd$kf%4$JjkjUT;a8n)n9wUsXz(`PnZ1BO$~L~T)yhq17>wM>yTZ+F zd|j(>`k9f%*M!I{z9D+YG{KxKz9l;rfrnYVzg6VMLVBO=ye%ssK4LpHur`>$btmrx zW47byG6KJzZRh`H*RNNAULft{MK%z>kSLnfuQS1koqSbTu#>OOW~g65Y-a?#ckv$5 zK%6n4Vh{1`p{uImn%5sV!O~Qfjyive#T zXtJ`mTmx_A6Sg4T1g8$87A;SQ`-k}m+tD*=ZYNcw%YHd{OkX!+I#fTxhuNZgZ0t8K zYG?nzegpa1?;Q@4kMJi6(*weeV$1k%K1@8ydy<4z#e7jkR>v^b69z1sje_cUL?u)Weu@Zl^U z$oe7RevYrjexGN8F6R()3V{XZc&APq<|!qCOG$b^H1yT8uCb^bscHa%dc5O{6Vf)n z=>eARgua&gQ0ix3(YO95-ZePS_i~-k`wyC;Z~c@uF#SAlpBS9(h3331jvTQF(E$d} zwoRjh5pE+oAxhV$6%1JM#%3ZWkL>)=`h zgV4LhB{B5h1zsgy<-ahmht6O?ZceZu0`KM6-mMh(rmIa0NoDgo`bN z3lKtv^|Li82&n=lA%qMOH^o9X4k64j3OEuWHOGSyLVifs*FqO>p-b$f5@Nz_EriW2 zgpCnW6OKSg%}J<*F4#inj}Vp&a;a*;c_4%(g9*D>a1JVj`ygc8p!p=xp5LMS7oCcFnBOcm%sr-cZu zQ~0G>=w>5SU%^ec&`m<9osyBUi59})2-WrtKw$AZ-i8a-7It+5mIy98X?Rv z3fK%GRlsNqT?2$vesvH+en?jnA(fx6nJy96_7GHy#vLInng-b#X9Y(~#@D{(?OWcUEV<4T>}vIJkT zK-m`Pv;xsqe$;|HV1afaq!V=d0K5GGm( zCm^Kec(jFXsD-XSLTbW25yFHqOI<8?$JLX~krzX4^k=RTy zawbA5ZUsWvOc1x&f?I$PYCr073PNgoPeKT_AL*u8=*A(0%@}h$5+Sw!7;K^IYoUva zw-9zx36XVM3t@8$VPk~Ugd-4An_Z}dF4#<`Yu6nufHX~73iQ0pw<5W1VBclFj>m{@ ziiyz!F9IcdR#fH=E?p6)t@1sV`K;|2+_Iajy~2NB$l6x$>nh*0vRxOnfEhg2`8~U# zK+6N)5h;N;f;d;p#mXake(@r}vyHgN79U)^U& z8*1N2f8GM!ZcKl;PGWaK6v$U0VHaNt`bF)<3B)yFcJZ zFicDM>mh%Y2yLL(BOWijwUDE;LA&i@ti0(7pQj<$8^P+Ae0dVkSU&O+ zS4PRgNO<&yk06&LW!Ja-T}BumfpydFver+07qLXozqXwnjyc0=PCL(~D*kIYnDqSN z3X?)i1raIdVwTc1i8L!*GR`T9&RyBky3_G+Aw>v=ztoKr3reC`|mw$2#VP<0Rb=L$yi&;(9aQ?Zf1BySvCw zKjKu){zWI04&M#URuUP4EHrOx$sS*M2STm}L%r{OXL2DJmVW0)kf^S}8Th8w4z2t_ooJo=X4M4eJltM7<^ZGeaE)wdBy7*)oy#8xDWcy^ z>0h}~dX1q5JkLWr7OF!jBVUi4uL03UTm$^86C5-09_3dROGk-!*;R@6B#_1{=db&( zrBW=qsP^>tZ0;?(g4eI;RtToC%)+A-1f0hc!*M2DwR;{Uk2T@SSPQ$>Y|-J2LnvF( zmvT6>PR&BmOX<5g{btuH;h8mx!o!^4G%hOIo?@zkEC)9je3rpSTkgU0rti#V1&i<1HYA z2q9!<3nn2X21hkQ3^{BqYf1`#G30zDSXN5#B}*#7#Zt&{d?oo!DPa{$?)bq>UWgzqT;U=w zG$GAg!B!AFiAD=`1Ywl@9v7vnNme#d(DMg&S*u;(lpuJJ2`=($L0H0)G$)v1BMc$_ zp^$4MRA%zPwv3QZcGm`}tl&lxtAc-7p&v0;2Pi9ekyr;fQC4W17+N120G^j#Z9c=F zs$t4wousrZ{Xchj=}Z;12njno*=F_Z91*xTCdgHA%v1+_m9fMYGS=Y)PW4chXSytf05{yilptno zFrCm~NMIh`%t`Zwo_2yG8SN`ivJ*0`nD?@alTe8vSiuqHg(nPoCql&v!bTD)LUsk= z6xr$rDK5fYGSm}#x(d#ul_yN4zcoE!1^q4O35Q&T9^|?J<=uof#D>6hcfnDf?J%P%UKxVEqrCUUq6qaG? zq|&;+rNGHgXh_@@(pq(NC5usI6;j<)u%j`qk2V<}+E(KpQ?P?eH%~=}0ni{os0w+0 zf-4zNQcc$1ACvVj&hTbQb5y62G+9qbK@xIDqtc(jkEoTJVghIj>1Qcevj7h?W-cQX z>|hkjLz|pbi0!Na&j6tp$+J?~W(Hsy$F1OWfM7>9Td4{EOOd_J6hVQ4t6w$LL`(S` z$4y(MeC!mgIpM~I*k3G63lut#O)T6G#H1RsP_KsIE5PV(Q5!zWPM-n121EJdFO4xfU^mPbC*AzOFCk&-;m6*!>NxFL{)rPa6)>!)CQmyW69Gsa7aT>&w89}W*soO7htwdD~( zs7vg-??h&5p+2$=9~q%r9qi;ze3p0D5ln>re$Oap)e|n2vM&9_h#O)65#}|*UNMQo zy;5PAciWG~g50a=x@PouF^U;rzU5!ra?3vesnwtWp7_G%08`x(F_TB3~O5pF6>EckEdD-4mS2E9qpN>{A(=G zEk*3x)6&7Qnqg!B%=1t;&PSOw8mxlf91YvTJ8$FZC0DAZ*e5-)jsN1;5PGrj>A>IrTT}6#YdDO>@!=h)2wT{Q)!Jvfm7N?J@(t+X`S_ zXThgzr)vbcb+T`*{%V?BgG-%-9CG$5WOWhhkU3Z3O&6g7X?ztbcNP5D#)pg$*H!pL z&i@BZx(PC8b6H^^mc9&JckKTj%C))+?@8h%lV=It_x(m(!qO(EC=MON4j>L!j_`l= zJkEIqqRSa4Ezn^Lw9f+VP$0Tcve|;mv_LB?&|(X;z+M4qloT^kXS!$vxu@XGp4@AM zoSwoLHtVJlZub&G*uVB**WX)s$FLiB8R17Cp;lrue4JfB0M`J`N6SL#H~L~I{Pw}` z)aF*|8$5Vk8z1VZSh!2g>U?)m)yYnc^we*oank`-!I@xRXz zu%e$3$8OzWguH&jQJ;UVV1IB2rBJujbVu=9KbdYZ(p|H+I{qBx`$?Dd+6a&P3$5AV z+l>$~K*$Wrx{M)7=c>>i4qt56t-$YGFh~1%Mvd0*6-uD|p$&869B2j#RmfRS#oK>% z4;q7d`)_mB6AcoJ3;Eoag^>zlwmt_lF(z{scH)n>Hx`b$f>->5JdPlbzt8-}qc?UQ z{|yujZmEA`jYkT(x6}x~y}q(wt5LQYEYxP${d4nCpxH&_hcBa<|4{0ICy=qa z325F77>6{9?X`NF5qb_4{w5Qjg6}Zl1BrP86^0Av$Fgy*T)=KCTB z0Vk+APw0*}=H!L*1ZReHUMcTR6SgsA=W^(}KsdszlpWFqdxl**+lc#|LL@_$0F3!d z7+Qy2O3>kVG};#Epva(|>x@u@>g=2DC%yt2T#_QSem}Kyv7@9Nx8^d)gjpgV zTP&0zY~o=fTnFJJX_^72mI|Zm?8%@pYhuhOJg2LjtH+qxQJ#IUASefy3?=*)VwK>x zDr2vS8S;>2!dk+l%i>DGNZ6RYM!D1)!IxoD<>0jfKKb`L)hIX36gY3H|+s z&s7`W*`leY?w@sqIQ6=H8s6`WNqM1*90|GWa8h$(EZD3Us+K*wK%sLyYcBt@)1ldV zA(H*I$|z^77v?hTX)uE8Mxj4RO_pbG6#6oxLK1x3B)n(;+H91cY!=oqWriqiAmub3 z1jbAKy|8}Lw&G04ewu99DvTrLJ_BmO7*9tG$F>rcI=Y_j39_BBU5H^T{bhtJ+mZk6 z$q=$bSVqJi@{Jt=zP{ICu~D|(C4@88YtBS1`GBhjW+^@J8*kVs4|L-1$%SLgwkI^0s5=|IgvzG4%M43~h&?z3EHwc7?-9b7@$$w! zf&)VWx}t+#!JX{rD?i^We6}K4Q{a{?3@aNt1*JGv)SdfGfwqT)s?11v$|0c-(`m&d z3_nmLWh#E>$|$nAJDo(ssV6gYE(X(Yr=ssJ^!p^nk4Zba1tnIS{P}T4I91 zSjvixi|_QPVX?_Ys2CMh$AZEGp^vd_la2_L_9|nY-gW{?_Mo^gj!wfo6&Fjj z&vj5zS2HTp57p$))*V4LF4BHFH`Y~Fl@d?ucZO5Ph5FX6vlU5q4TVxCgfaFvl&qkW ziuuI`7)YUq?@spFb7`23*SP+$@Qg5k+~^KJ z&j`_^{9K4SEA-|9mAE!8$NQnPT)~eF><7=!;)K$xA9$U^Nl%AurLL-M9G#9R|T z+kfvw<+^H%bkW-GxwKcao&wFUV?*51Nj`X8U>Gts4i4WCdf3~>QQB3gk`~%3lfdt$ z(3||z5fj)K4Dez*cz;hQ54-OOGsus&5Oh~SZ`!DzcpSH3TbTApNJSsEf|gtz3v=#a zgi&p1ghga~YnX8#X`RO_wBK75qn$Py?mj?T&sI?Pp#Y>yOStt=*kFBUtU|l91*Ki$ zR(~W`5iUrcqn_GV;>0eY2Yz;cM2pk6Y6}Q{j0;oV&7t%YVFkZ+v=VnlEGYq>?g~Ee z;E51VDh!9ZPlfUXpTFzyR5(Ojn}N+Up(p=nq(Z&FDN^rwBG^O5GgSOJL*eQ(!HJA* zD(jyKtr+fFjG`pI|HMG#b72`5VE*=uk>5NQ>M`UA!T6JH^a|jMj)#@Qjn(_dwRTpi#a}KK4N=T7tX74$JNH)V)!a% zd^p9cuN>Z|`D%rUN;#tk1Mw)Z1%s&6-!HNp#%uVzJxq|qGvnxsKLbI6nguO0eAg3>bHI?f171z8z zxQGkL+CW@f6upT_f=#ZXTZMQDbB84qfcBSat|u$7?x`^kp1X<;+y*O!W3=Q6fiv-; zq2!-=;Or)P1-ugfKT&&A=_pU^%5|HnDADhsfHXQ+?x!NU?kYaR>n1MZwrFX%{T|L! z_NypXX3AJ2SA4iDts&|!?mE>b(9d0L!1eb=I$Yz})A>GJ4FU2)Yf80sVXk)FF?m5=DeHqzz6 zVIQ#~NpgorK4M_|5|--Lo#&`*lfuzslj7LBRYjb+p;%b(f4^0-p$@Re=||xJYvXQI zulX3?DhSU^&E1V^$?AOpYR<@(Q7Heq= zn7~K_9H=S&DqHotCF@Ena{3PEgT$w#?|0Z3EVkgDfAyfly+-^FKZ8Y2>lGiU(DoI+ zLA4Ok8LwqE3K54BbX_Bdh#_437o{>aw%@=QBF1a?eq}H=ZoQ#TKl?HUxKUelunvDl zS%{|%@TIos2&-y|W!R6e@?cLbv7&WuE)5JD@&z8<!4-K%d&8JDdF}59ZVsV=zI5 z$L%KykM`dw56{5aFY^lYi|E8JHLUG7+MMytw8l16+18@6Q)Q#Sx-s8N3?tz6h^wLmU=>WVYjyD#&gPN-O$ zZT3A+9uq3!oMO*vNUJA?ki)Ctd_A!Nd+2K(lnN80$QKEkhly_FvNa3~6P-x=Tu2EM z>)2HjvBzv1H1no*Cf@v{8J_bV?uLn>Y}S`N*{(hcOCG#~zy@L@(Y=F&2H4gwypxwU z5X&*H{qzi-u%6P+n1}oCQ~|dmM%xZe8qGw#d^ue7#5c#k=fSrKv5U>qw-`2S0?y8n z(rf!$=-yBa<8M%GyR#T$4Qy&CMv$>@LElj9&%A-wk)l6&EWnIN@jW^58b(Bk^+~VS zusce0*Jk}gmAG1D5Hbt?@fvcX#ALGl74(Z1gV+~;=gF(0#TY^wynx|x;wm{gM(jbD z=kn{O;vL4i#xGjd8t2FI*;vd7o21K=A2&zEWyhb-lPk9rhih2xM|rTUomhi)&&z|W z?ZkSd(j5@mi_t9qJP+EnM}04qlLzD5i-ByUArH2<7ss(qAM#}H4meyhvOFwKyugy% zS0JRTxRV{P&x5yJF$1-(K;>@YV3w2fz`wib47&d9<5(Z-5Rf1QUfm5D*6_Z(BlX;_24a6MBsemHKc z4VuMHIn~~keiyCUox~bgJ4Cc|X?L8#J#2Ntt4z!KtJ%UnJ`3|TM2xa7wMmg)cNAQQ zic8C2Ld6&@eU=B=Lq#3gaTN9p!`^z@QFuBG8%p1!a{e&!UzP~~!zghd>2XlrHd@SK z$j$vQZ>*TXHQ3MKWUXUxt^IQ41o1G-K0c5qznmcA1IDkm%M+)F=;h&V7R;F{wj{+=lhnj=1BsyJ>( z)xAZRL-3lO?#BgG2n47m;=`HPh!vk;FE3z%b5R}{fu(ar4>sdMo_u1i$TRG|t$B*m z-OxFOCZB#h?V^kQp;|uAEL0U#M@0u5vJ}7#w^G}3S3<7s#Y#V0(5kHGMc=mWhde%w)* zzgUd4S)pJrX**v+uA=6s{Cu%^o#EpDQuIrNb@EXVFEga)Uy!m)tU&x_*t`r|?BaBI zuuSYrmLG)h<)TxdZ93(CQ``9_^0A+C5Wi-RS9qLNZ``-Ak1AZ zb|LZvc)MKu%x+wk2ML1g}T*=D6Un0UJ<&_Y7d>2po(uyS>umSANkds^YZt{+Vi zPnYCD=4$Z~sW=v_(b8f3!lfy-+|_evgf)m(f_#bF6mOu+r5`M8uqALvER z_g%kU)~*%NKgP;k&@dAXu)SkodnOKwWp=@pOtB-WJqEnjiT)LhI~4;7r?!PYY+^kt z>igrXuCxJ#Wy)jMiEd1JT?WcL{ah84P~DG+=pGS&R(B&K4|c8>-K}g45J5a5Qnml((_=$2JwA^_X`vS(w#%4 z)IGxweScaWcMwwMcDXBK(zYwTfbuAn?@~1#FZ|WDnwtmLHj0k62ZrV0Li~BU4|R)< zE;AS8!H0yRG$H;Hw% ziw0mR(YNLTu<;E~hFY7&Q^bB8k6)B3c55V%9MEsrSL zy3JDo-N1oL>2%Sr9VB<(A$GB{VJ9oSUsuonVzg13_T%MCd(f`n+9aTQ;97;3LAKj3 z9%V_&4EcsEwq;3BqU?QC1ct1bBA+}aHY-I)KUp{@ZehrwK5+27*d15B>@SEf_`bbW z9>Jx1%OqRutRcI*$=xrDml&oCRJkfnA^p3^o3Dx`tw?-F*mYCv#rz9pZ;8R=dP`~vNX z*kM3kiet&0p)ld4c#-f!A@Y@Yn6w%Kzg}UoHwMF$*Wv`yVKA6piy7qXAUXAoc#a`r zLujoN9m%%{7_39f@Mwg*UMH?$wdGpS)>0;#8c^clFlhZAR~tI^0pojdu-lJ%41Hf9 zy$-E<+)+sOTx14u7JMT9Q}Vu7UP1CH==nvom;FD9XBdy8Ay_G? z&6H)>X~-br5H=FDE=QM+NwuY0hs#62?hEE~d=29iV7q0LWmGI?4R zuKyGhNPT~Wxzp)37$-uD-Kve2UQcmX%w+qU)s)1zyH#o4waJlqx06Vo+!phHugcBdyQ%byFxR}52Gm3Xl?SQDu_>F*7-hy>)RCtN4eWYWq@ zZox|SOa*-`w$0L?=>3z^y2tcmvqAm177K}1k_*`#3)ie9d)Q|sl_!bHM>FenuCy97 z9-gv?Mmj;tPO8L|*n<86Tt*>)1v|Ks{H>IfYGv;ij)XX!qTYviR)vW3$&DuQmLs5EL_)%p;umBPtAdl;vc zyhu(-Sgn;(ou4@|7;(FDqaEc{U&6o??aP;!qim#}ENRThn{B0Egl+uGAa5y$h3L4e zELEwl=)#RUbnSXZ+wL?Dt$}6Xj)PQ#v@a`LJ4#0x*C>4YHal85P>ihSDUWQJjVJrb zHu4K6X*)W$HyPxN3ero$jyD)!oSQUXejkct}SG+w-FV z=6g$PiEA|os4Rt$H&yAcGbB~U+S*kWtz9Xew5YnIiqx2BszQ@0l0Ug!MV?qiie<=O zHuA-)(q4wl|ApHHk}p~4C1?3adX^k=mzVfUHPNqFMffK`N+fmvgV;dHkDPHsuLe>z zwq%|GwgyU*7$bPqz)br73*j}Ty0EYY27dZ(fKxT3sie^lijBmF;FD`gtqHmvy;oCe z#m@Yugxf*=AZaGS3&M!?1bvWHiOu|KkfmVBo587maEMf$4gG3>J|W0dLLehV+JW!P z8z7>Vl*D|2d$lDW_*_e}VOJuOtu6VpgAfR=EoI_V7()ZuMV}17*Fm7iCxhIej^xg; z#|jM4yRPKHE-5g`DRrg08rB8N`gsKUL7fyX4J^6zyP+U;Gz^WD0>L>#s>8lD|i?!xspDw;77Eyn0;*P zA^+7#TFJ0SUY3Bs7|Gf0Wu+2$+}Vn*Z7fxKK+XIY&?83j#JT9q7-=nIQ!9raTn`RV zeq5^NKyXv36Z`8a7GqP%kI8{kO{JRUpCKQ!sjuIRjMUv$bffxA7Mn?f8Jky6C>!yK z@}s%?1m?sdn=H)At5_+Vi$VNX+^4~(Cj6R9Zzz_q>9hdjIu$?c`~B>oFLYA;o=3;TjH&l*RqAAHRS zheOfl3-BFKe|O!1&<;{__S_Exq;`<55poNprUR!R3t$MO&JKQDjiUo;LaQ+de zJNDTizw9bCBED_!qBk4+eM;FAXJUE@htn|xdEp1k;2($yRg0W zk=&cExQ>dw$dhj8>iwvxHy07PtEgR;jyQ7?)HI_yMN=7w1T>Whoq-M!)Y-C)&hxzi zeELeBWN0q5?kj~>shC@-gz{uV6lUAJ6R-dGgaKzImL~=D%`j8@`%0C?J?~KGv{9d9 zQi2b@16^Oq!?PG_35J?o?4$3y3x#SD{|@~7N#*(Tg@~r_pj|)dxwiif13g=mI|C0e zgi4N!Nuw4ZfF;LC8-$e+gyP0NK!wrL0@nSeLEbr9dWFyM ztTDjiu~IO5bF~4kjFtS@Oay+7#r|jLYJ*%OL6S*f*H(*>#%@vdetw5JO5O!@UJkN3t^s z0@5+LT89iUARW83)>#I5emZuf?Dl!+s%N3}ojs6hkhd+8HZtt0CHRr&+Ov#Ouodc#! zsV9jXC3jgTt;bgh*I9V^uao(WQU)O<2Fa^8OJ&jX{}$N0MXE!*ro)FV(h$*O9=4Tz zINjGdVcz;}#bLY5U_7WHd64&mVDDC`K54fZzHXH^w0tucNz0i2*qQn~kY?>{>P)2p z451C+I1=V&(FRtrSOcpV7?_nM1+itv7^vUt3h*FHnoYJ$ zfnM9CIQFj%2Ko4QsUkyquZL$lu&=4P9<)292IT8HXtfg!o4?n=_?=QHNm~a8c1o4V zz;*Cor_@?}F@m-&WeuhBB&fAZ3gwm~idr2nCc@-h(p0BLnb@Jtd4p5VZ!y|x*RVID z3D9e|RNHBj5?uDr*jW=`AC28n34VfxG-Ymy z-E{(xJCGz2?!B2E2C1^CHNn6uqF2H1lUPq4^@IU{~3E! z0=(ZRr8}KlNtsWh!I%|vSfMh%G!_=`N9HL?@K$qd`V@d7+WfI_od&m1f{*+- z=I;ZeVe3IDmUA$F$B%}BgHnW4VKjme7zMuajwgmZGcb5 zrRSxNb;h=mHU<2TNsjR8gd~#m&hYC5Mn)gK)lW+M7_uV{o}WUl)8jxqjlb>Vf?YrU2bqrs*a09)8wJ&rIIXJhJIHrqE*|o2kf{gT_8@aVC*F+nDmN= z?U$r5;t>zIm(c9jcL%S(rMhHCcj)=I^q9140S*3Ix=)s|$o) zk-|zZ>Y^~OQWRM`&78s<{MB{t0{gEZ6W1>C=PNW@=-I;c8ukPKO@~I;Q2OK3VJ7`v zJRNpilOjp0>G1WM5BgWGlNlJ$eYa9w&L9%+mTVUfo)Nt;p|dLEPP9DC5YB4%X( z{_5soI0jXTNqMS-g4<2ZLyyLIz(qQau8!fuO| zt+aQvQgu}z;F#o~{fv_&%Gg9FOFyDu(QTaSH0>uZx+C?|I5tY4EnpX?wpR4OLX9F# zY)dHnNQ!ZMLsfT^hJ1$W|Ut6nj@0#PTYyoFzXd@-m_m9xn z7EtyvmeiLq(E71tNAP*y{*R>~$BkoXN~fql2kfy5Q_5;C?|Y1+Fwum_%brTjtjM82 zc=H1DKClhgzm#@3P8~|)T`ziKo4iY+QB^p-h+214}5(DRVTuo>W3F8KL4U$&rRL_Z};keLxa(W!_Y6ur6HYkUi8lpj=o zBUL1={Gi1fsRF6t2SeUSE$|*D9D5^`|9_0#3wRS%-uUs*hKn^eRSQBpAYizah=3Il zhN}?~B66t+I3kw_2w6a^u8Vn%E0uL20z%{s-zGiteq6%P_cM{_T|`NSQv({5&`vh+P3IN5}C1L=2L zqkb329^~|8`n}+tbjzWQ`ZZhb7%0}!b=IOg#JfjxFUeXwP<%zY^$qC;MU5KBf!s7u z*psla$mSL7VeeLCy64qIM2o?F#4t56Y( zYI7%MtyjgjwYkHy#;c<1Ngi=~tHOOUx0`$i;Ga+CerJE}ip;Y4dDMv)Tr*PKQI~sP z*7?1}cXgaW29FZCr*f~$`io=B&8KqtRoVxx7I~++d(r$7Ax`HW>X>~s7je9!SN;gY z;hH`?^~tUOR&8DP`*yNf5!z{A?d_;0(i9(^51u zI25P06a$RhTXRa=XCCAuMdBGF_r{#IX8MjIani`WzGdvvbomAOMQpcQPCoFS7UFkiNXWWQ*Fu-l<8)LMN5i^AeExirM)x{lVGvsqSLYdG;C%v6J?l06;RE-4d33FOvE+_x#mV#R9j}~fR-0&6+tE<%VfloByEjt~ zx4kUWb<1n3`9jX_TSn#Bugt!vu(`~Af9cJ<@FCagXcw{S0{hmiUR}hEx%P+cl}*!6 zOqX8gI=c4oKRS!=bL}m&HZ&Erx%SST9!M8{xb#NHPjhJO=Dp4%J9F+Jy)m6WakzhH zajo6HqTLIf$S-p^IDH)bM1F>6_}S0+ykr%>+3g*#y7O$EpBA5xue7A^I=z2*4+TH* zbD_rJVMOLWxlX=L)2EXdo@X!4iVhYJpjPKVsg?tW)$QGKC(c}{J|%$y(NcU~{Dch1>mrgwDYL&^5em##6> zE2K+rYcDtLcidg!Gm7sYzQ3c$zS!O&XM$O2bVt$SV!N|_M>Abe--w697P93RykdVi zagA7bv0cgeu|sCj-*yn|FSbw3y1#?S&bR;AY!ye~(rbmkdrqrtVWhUSXlduCL0|7F zmbS8w$eP)6%a^U}o+eqJTqp*#w%^?A!wwdHU2oCRCib#RGADsfGx=JDqvh!n1K*X$ zyIJ^2>A%R6IWHbvf1!B4wS7!hi}QrPjr|gFc^mtHmdEqVL)jUSG#rn2(S5{Y>__3}1p~6IO7UGg8jKLDO!^PRd;~0K;w`0qqc6Mu%?3UFjvE)*_ zlC`g;*m$YE*gj=T2i`qVYm~Mb{%G5ATg1^z?H$j%sW2t+TT>h zw`St0#@?CL>A!!G(Z-BrUa1)mn^kSp|21tCJIweOtpEE9@hUU@x#<>PdwagsFV?^SA#&`Ty2#_y1?zuhv&@v3Ih6mMxwgm6e}6wUh_)hJRwn(1J_Gn8^n@ z{2qLlgtY4c`wfHUU9_m*i<>ranPC~c_K7FBin0`c5_1p02NSzn4YpX?4>@D_-~EsE zszKBrOiWvgMGWs|?<&gr+Vd{%)n{7i^><8NaP7Rgcb6`hdgt6yi+Jq0!q!dG0}&m3 z1#SA$;(-0*!St|$uwu^nlW*hi8`*H~9SiQ9-p4g>#<=+l?wmXGY%ea_vm;%4Y42

rWq}G4YL!lJ>3-MdQ!1rHRzb0fg$@q?R?&jP5;;0vIm}X0+zpX%rLyH<-7;$$lEz<3yzaJ6I)ww zc={U6IU)lGE}xFcx2Dnn7CCGtpcDl;-uRZygy!niaAC0YDhVA99pZdFu(UfeYw z)#5JqUDwXuMEEZ_;#lHSbed9B`cwCQP#m@T)V+$km_~oqffq$Terhh_+CGzWgcs3gGAYOl3lG5+#A7CZ9efXQf$s$L_n*nq z5hglK)Ie-KH`+B5+>4;Nqi}^jqvl6tL^D3x7~E=JD0<);&~Ez|J%11*xZ?xt$*}_> zJ_o_s0-~pQ#0x6?4UOPl2JJbD?YTL0^QcS>n$rPsS)v_kwkv|&7w#Bmat@_@j-!z# zI#0X>)LJ)MeOe$u+=~G3Ye$#T%+F3Wm z7>;$S^V^6W>(sajc6^(IIH;*b#%^ zn=q-kgNuWoEcJwm8XG}h9hXtoW2yAuxQtBUH_)9mxWwi@wKIiZ$u)J8Gxak(`ist4 zP?7b-V5F6UV84u59&eqg)d?I1>qNs&=#$sZ7SoPnn-oOiQ(Vq4^)gT{;1mm3M2Lz1C8ZlQ0DHIs)kT7bTv=J2AXRM30$1enHddlaj}Ywu^>!om3DoF|Z=wxL z51ayoXRDqd98?~yQjtH!oBE^4&M*C!9xj%FVgrI3r4tzg+lZ!~l9k%7fQ8y0EEU(f z9==6qVAWRf|3+Cl)kJ!t?5*Al&^?YL0bXQOU#=+oOGhetS~mT63yC+~E#!?ycMENT zkoOSm;fPf&lz-Z6p{=K7SUKJWbhda8Ht19ki6StY{SfTzv3{shjVBcvb z`Vl9}ZA5*)l6{g}V*McYlxV3&hPAvoG+GO`iLK?$9^XbhXQ0^U7*nzB1y^{nPVmvZnC!g%NnJWUbB5 zXZg9ZwE>=k#H;99v3&<*t$Wy6)zOSi9*ncR1kCEHOGz=58%yW=>wQ5 zZmfgLYw0HZynjPZUlElk_$=DsogILt-H#sRW!s>L<_f3_EiL^9%N{291n=SO`vyx+zdi->xd^5!-^fxv zjXnnCVSP53o_>RDH=&?!WoW>?mM+;t--0sZ4q)ky4;?fG(w5l=RU@r&l>IH9USt`zi60GZ2yGYx) zNxO*^n6qLJc+91gbJFSKUl|$s&SP~Z4Lv6-Sl7Ky%g@0i9*f+@+B{beqa)|A-+oAf zD$%n&-8&~kY_nsF~--wW!{C8SnE8H+nbEi>Wl)4G#6ZR-4wHm#ci( zyoz1tvG#3h^&JMPcXfc%tnbt4@9<%%Uw)!R-(h`j)g1cpJK5RRlq>0NYZnT+fEF;J zb=LNjdI1LD0P1!@*0i0+Y#sZ)wH~ct5_UmiKd|nk0}Qb?j{V3whpqy$VyE}-3$jdP z>-KoH0)s?!T#jRr2&#uT&S9WoV63Cei}-fg?Thr%MVVyXRg9Kil+g*!+o+FYUd~$l zy5vJ}d8}}A@=(NwOiYsVUd`#Ji&zRf!ZqgYahpnBlEE!asF(*I;uU?sne`9uAYoG6 z^cu7udkztxngNP83#gVM*YG?{s!)%fH13j&NHU>FkA|%=8=L{{4+Zp`Cx@9a&Gehs z&YJYaB{VH>?#Gt#xLcp@Uy_D-P9*lJS9S8ej4u@Nsgc;CMLve69f(dQ2CT%4woxo$8%iSTxqYUM-1QSa4*nL1tI1la{1rpj~bfTK?a4*U9xJbuX zf(bS7I70Us3W3WXo9DTd0H{W$xLa12A3BLT8(vPAlgv3tLXm=DEF$YExx7$46UTA zSK+zx5DD)j>@d}@Ba@=q8aN{e_U!e5Q0*o`Z?SZuu-s*W4nTHig87=@XeH!fu-G+) z>Rpo&eV?GZO~SW8w6ZWE54`Zzg15O$KWGn-2MZJMSPWk$jzZg<=cFzGd95%356|$; zq8c5&h7v^6PuJk(`cR1??K#So1DP-jF=m_6v{kbtlNAx>b3Pn&A;oynXykJQEfQkv$sS+fLy=?6#K)=6}LAs%Vr7LT%Y6OfooUN>Z%ImE)lJ^pTp zDVrtsUx!Q~yjV#*sKVntexr^zAjpI&d5oi6KzIdW83dUlExaQ};TMRse((H6TvT**cY)|ESj#oE_3>#E)20Q1*C7TJ|HHd1a6P z@hXm0b7y)8vCmlaG!~5|1!baN!m^~0h>Ar}$vQZ%jx1dC!h>^kHu>C=zH2o(T8mDXMTL`_5U@x`h-!-(IKK}`IqU_=JbcX@uvD7B{GtRl6 ztwPm*ma)2S@`CWOZY}~Lz2yk@(k#?nH*-G+^giN0VVs$ugLCPygUnqwEosBg1$EN_ zsO|{%&88@>o3vk4-E{dyc5|7_uc1PqM*rW<<-5PgfcDy4<~+E}Wv(ihxtxzSahc0Q zqVSxARA4UW@Uu3T$MCZ@mviw9bD6sS3LW$+O~B2%-$^TeMeorDZiAoEFSjDE;t5~h zMZunY$aUm4aOVwV12+hmI5*a;B{p!CeOr@?-Ifut+P+=ho5l43an`>W5~=xZ7`+u} z{B78&`Lz5tI?OQokfC980k;Hg>^A!WYcP9QQjKj`?Lg2Oa~r!?&r_K@D3~8LyaRS` zdg%^~S8dtur&(_3iGXpUFok&K*-(=X$$wzSn~ZHo7~#OokZn+ z2kj$IYVo_QVLe}mUjH3D$+QvCPHooK!}PWrom&*yg(WToyFg#SQj$5N#qPl$4*&kU z%&@I%fdNp;t2U+lfob6OML^}ewotD>u=F&;DJ+M z-2QT$F8m=Q>YJ9Qx5w64Xt_$5*lHnY1|D@TOSPEC)sDzhTVQ(@P?#dw;-!o~QR}9x zP>;bhUetoCtg9; zHtk=%u%3lpCpzwi;g6sy>>oDmtp?QO0X!3J)DETW2avCg+H_jTkTzbwrM-a4YvZ*H zTtZX4Ka@i>f)-x|tpXL}Hfn7TVS}5{a?e{>)PE>rhdhO^X3ujE@@ zI{23iYOJl>`B*RgguA-`UhJ(Q*jpapj_>AiCAF{xYKy;`up|)W=(Rv89?yO5+JeCd1IA9ab;UpXE z!vSvul>x^T#37s7dbLrFC#V1us$p$JJ)X!IAJb?ZV?F;W&3pp=V1m=F=aTe~TcKW)<1nub62 z;8G6(as(4pbk(CaY5U@Y&N8N$4eT3C;Udr`?JyeqH;SlD+QYOGkdHQLKWjms{jCRD zxZMK>`hbLmTkI)RsJ2~aQ1z#JyoFctI8NOGmFKY&UeBX!Uwq&kg%-O%hIN9VD?(SY zN!8KAn>K=nP1`S?{?oMOe*L0p`@%3XP1}FcP~0=wRs2YkpUE;|Powdl%_)335Ze`U znGH~_-h!b(8AP8xlNC!}9D~mZHMFCrSz`vupRz&H;@lD50AGaf$S#`^cz-{QdoDvN{g??@d{Th2^!a2S zww*=Toi7pjCCIDoM}+&h-BddI9A^!F!&Dvir{#Cf6b{V!T*Wwgn2wHt^Ku?x%~FAV zyapYGziu41V+ycO8S4>qN_d1lLkYv4v0LB~b53}4{haZ_{6jyFnC}tsc451;Cu_Q`w*HE!OmG1j^g0J-18|;g+-@{ z+HY<&D&WsrzB8h&pUivnnGpwrCRP|uF^`(#Lvb-_*a(gOv$(_AP9Y=-ZH4!)jngf!!AU2l`_Vt5MGS z!*QBpHOjZ>1l<$e+d2yE_G(dN@zEzxYsjn4a2Mnk1L%4tiWe!iV-7Q$EF2VZZYmJ8 z3r3AZ;XT}99!8J|qBswuLT2(f$bQvYzB2MZ3)Bk=I4X!yYrs)P_#8*8h>gH(FTnN_ z4lGNB#ly@a4x%~VNZ=T4Nbj8C6%;SC9*p=oE$xDHFT>CS)Jxx=39WTWCiy!+V zdV^^CDHIlheGyhr@ZyDv--561Aab}Hp;m7L1b-ztcKdr@f&n=3IxhK4wA|zl5FM~Z z8N1WFHabf%6Kup~dtriUNg&v>3LRtvvwQ*EX~wJM1B8h`c&ROY;Aw=}9-`V}KmTL-!7W%3)Gx)VoTtWU9^cs z40d7{6*1f{+K-U=2g{8E%|D&kU^-vKaJgvj(lY>h$KvrZiuE>Jn@Ton=50hYS5E9Q z=!1!nDAvIv+lpYX#-a-xwU&SmBmQf~naMghuZ{>@+>Y9pxwOaI80+$42LLw=!R~R4 zWwEE$%x0Kg>|mP_Qu)vb^u^KxzW|B$Vpm5&XYxMN@}D8rU-0LGvCniJ6!#F|;C^T` z>Q>;bBdmz1T_yA3gMi974@MHOVsDxAP3F@?%mH(~AzT@((CY$c-!u&oQr&^t#( zUvwC{buM89ivSu`!idLq)bbKW6#mcP07sUj3xFEveIZO|YCPg=39o&BKkM-8k1j@7GC8HYMgU@?>mg7_!NxTw;|3$1bv06 z5HL@ zLqk0$(Cw1OYMb7k`jp5IN?AMdc=N>1h!h{uWxnmC=X~o+kMY(4 zM{ti2?b;u^&wqjpf`vdXV*=M0Yf9s#QAPyP8VJg3+(cMDW4gaUWBI0#Aic#kdxbu6 z6bxikVFJDDwQ#tw{0V&{Qh=;en83ASaNeQ_x&qm!fPhyFits$_*@_w&=;3eEV8aM6 zuU8K4!UN~V5l6ssn%UIQHQOdg=oN)}^nqbC7fvct%80f(Z)2FA_Zmn^rHsf})5G`n zcnNDkV*0mm6%e!#R#)a~0gVJDuiY;!WyJD*ZzgM5cr2oo zryr5CidC!2(~s!S>6`9-!~pYgEo}=lN)_h~tB9942iU4QjTm2^P9i39C-vN!MZX6c zz0D1(h#O<6YmgCMmxoJ4DN%LLuK>cV!fs|ZaK&~lFz=J1ZxHyY_7K0`12l7Z^0vI)>Ce+iKNdch-JI&QXjkpTj zZ6iim$3cNS<4U8;===z((j1>bA{v2R>xfC#?``yYs1fF4g0EVyOWFp|bgm;7TZgt6 zmg5+j!Us&H5LA9#GPu)6EVmAzCrI8pe;KkTsXka=k zcjwQ=8s?q4ohtD?GQR|u)d==$R{^2yroUnp{_F6TB-q4WAP*NNFddd6VrD;#7Q~B7 zxLhwxU^*nl#Oxb*&5wmX1JVl*_S3i&=QK9Pdle>zG=7(o?GC`z=d z20|9!A51weZhas-$UHn6>l8PxP^So}pGov`gpsW(N_%x&QCEsyD^yP_25ofJ(@Jxn zP5F7xAYA)-yki1CkIF|H0ePmo2en$DuzFETn6q2Si%8hv%B!nRcO#7; z1)Lf{_9!DfQF(Sz(2?fY9SC6~5mY`Lhw%tu%Hyj_ouZ5(PUZ0Nq758Ax0mOA9abcQ zoohyWd3U0em*d#>={v zxlIb!^0$z2ndQW>B12z;FTFq3$POGn58d@uK9hmvri$+K8ASEtjPM!?%gfa+thsc} zWc*<1#MNwzUE2O9RPhT-8_VL1z!bH#VS44N%dbc3y34aM=w8|=dJCu15bP|-T-u;} zaYk64TEjSp);P}jZU~YVOxD#Tb9MH9oA53g;|BtlRT!^2`=kTHGJrXz12>oPDjC-j zMlaxhVE*;M?Qr8A>E%#F^kOv#Lf_X?j)UTBH^bQ9u!W4RR>Qm1$! zmrgs4*rJ(bw7g7u?lh|WAH8`LIL9N{53>l>o4b}Z8s|OOCM;tz{U=qy(d7FUOC(>Q zDTFKzL}qyBAO;(%*OxLwzuKi={Vj$`-u!Z(e)Tsq^n(v!4o7qJA?^b%j!z(lBSak+ zhr+8@e>3w!6Ssh`yNl1o%x@89hJLq0Gr!_u)}Qgt3~ja*Z1Y@f`i-W{(B&U#j%_Xu zS91K4Q)Xx?x}^Bh#irl1sv*`R^O=z;v^~Ly@~#finQ@_XJ^`K61j_o+GX}13os@4+ zF^NW*q-1;;BD3LPoBf+~KXYTC@G`l=1<;nw_Ng(xAYo%S^;ioUy4gI zI(c8h%68oZ2fdnvlCp(UxBOz-on$nt&fg0O&AEmmzKms9k@`Dw9)OELsvo23Y@y>D z{(&#lAVl(o$3&9&ct538G=hVfB6Om79Sr%*+2T*;Ocwk1)9{L@pyx2TLuUljTNP1{ zUdTk~!k%=jqLJkN{A*y|&LV3iBPR83A`&VV$nsf2wVwbN6pyh&i~@2Jg1ymmq~U0R zEA~w8CQ`3TMkz6rUao`{R!*;2WE`!mq|+-FU60OGGLmeZUa{C8-ln3JjoGcg8;bf& zskaA-b$NsYzXn{8AY+C25y;;W>^pG5|I9uy6I3{l2l&?t1cgI^yVFmVjcCz_idRAR zv0~OvX&yo~tDp{eK{BP~QR-aG{J@`l6~4 zRiRExpnCT~BI&GatPWo;q9~6tRz<4_rEX-PFKtQqu4HLMy&?uAM%vuYgO zu4Y7fpLqq4vlKE|A+i`vQZjGIKD_mOO_ohEcIjO)9=YfbKjC| z(1hB48GvF;q2|?%z(Esy3%ZE{9%9(iA#b9m~Uc;z}V;nElFlr??fQx0Tk;+}U+OrqN3}b}&gS*k+s7S^NM=GwU$Od$!hT)IT zcs;0rRE|Pz)~Nksb&9NsC8?uSyCxcXs}BIqE$=ENrATQz6U^?H?rhEt%9DX{CmJhjf^*T3I@pW+dT{1pi7inncC)McoY$?`~IL=5Qu?f!$*1rSGTi zQNLP7OzBArEtXy2#>ZoRimo-# z#CYJpJP}54D-`57t_bXSP3Euf_dwnnq&@#lULWKxvUpA25-M#HNawo96AQ$r+0ZVU z?i+pI2KsHFy=BtVoZ3c4xC=L{s;*-w^Aa#b8zXQ#)J8AkKh3sYwO&4fEeA}8F479s zbUiK>F+v*)9kZt zyv#n!|3aNr6VIV3il&>s&wEHsGL7hpT(c(as8&6(Xg>5E&{~S{A5dpa#$)qT#dcob z?>(gDnMP!I(=-*|U*B6ocRvGtAXbY}_KOf5?!ukZG}}N^3;2VICbX_GExcidl5!8SM>3cTFOTu%CKrqK(0XhF4=<1G&e3!nT0(k~Vo4d&K3h4WQzJDi0KThA1 zo}yVmJHbU?K%Q65Vp*>%`k<@ALB1TMn_cAmU}nAu|HEI-$KW}nX}>n_dDwae(;3ix z|1YMTE1*|&7Ryb|*Af$xz}mbW!7Q;mjhx|01!PY&`8JRzfwY#3oF7z{N>|1oKSeY& zyz>6m#3jE`#dlyr>I=G@e=+4eLK=RWthByogM0xg?cu^r(KPo!GZgr7CJhDxKPb7(mh)W-7P2($5`AxpIgh`=wa>-F z56m;#k7hM8qLNs5-Qc)kp0HrwL%A?ZvuU4o2(e4Gn6LGHo1jaLaN@-UKi2UMOhQ$Q zqYV+VPl3^#72`25Uh1qGjPyMlls!N-6v6Bq{GbZa6Z1n(L+~upv>WyP6nGYZY?X_L zMm9E#X0F7Gf2)#6!n|@6B;UBm+@f=4K-;) z?}4T&@R=qJs)`>}ZuuVq6Zh-{I0B70LK(9Z>L*74b1RHLbpn8)2>fs(-=c+VP( zXBW+vn)Vdtst*x=2qAkqF5Kve*Rb#@YG7APRf(g;ssp-8egsM3H5x~Yal9t*jH3^s ztXKtNW=AW0q3U{5!(kH)b-uiZ{%&f7*K#HMi%vcXQ&>NwW7d|Vg}b&m85fP$In|!? zicrU9Mp?61+rWdW$;T~=a4Di`X6ySs$o&TKR}iw-;$qE*3FeQ7Ihx{zzW2q8KHlZs!I&(Z`rqO$`R^jN3f5j*Vu&bpA|MNi31ze_eSJ_*r@1H0h z^;db_4W8*BdmWp11w0=4=W<7T4uqXCjyr`%{;Ay26&5qd{=Y~5(cJN$_sCNc0<@$F z&!&T5!WHtM?&Z^T%O-|I?oXH2-Z3X{Z41=XFuTe;(lXemwfJ#UaD&uSd@s;~2yhGQunNs>kN_a<= z)LsR3RY~nrNv+pO?N=q6m^VIGi#pPeTC_qZ>NgR6KpIT{(&a+9mxJoys|+G7<4+j*JHG9I+^-DS=ci z3p8={Vl<+)5o;>%BOriY;%^^kZN~FWt#2BiS52{~80~9~`g6hEb^IetyroKE^98{i zQ2d|{s{^|20zycULYZ=-hO~+{#~1Gm9V4(_MT{%SA()c6V`F*~Tbcf02f_ z=zAcht|C}s!J3RJ5kIIBanfV?i=SObs#+PX?_+$acv~aZ)b;#1*TRZ3s~-4Wgj+Sk zIV3Uz@$(U~+u&kqKc;k1e61<*9URO1h~Hb7GUtQQ7R#@i;(@*|DuLd031q(@m~CNZ zg(c@)0KJROK1yZ&5hNGK!cQxN7syBU>4mR(ax~8*$CkrAT%$+Z=x+-_9Y;H+GVU50 z%bMTTQiRI4Gkn6^YxzUbq$gmkmG9EFI_F{fYFlyKC_zy4Rd!B zmgOS4sfoupsB(KfNL~dVorAwcl{EyNDJME2_a2GCZvZ8qenpVK) zE1C)&j4;1Dnmm%7)I=lK+pjcLCF>`oq8Hc^;;niiJI6W}J@+l~Y254nxSHBt5fz_S)yQ_g>o;YE0$hX=x25%q22hjp9^5e^(daXVzD#tKsA0g47)}-h7w<=g+q% z%HoDY#xYAjb7FY+fO%+fODl9qC01r=KFr z8wi!|U6SjC3Q>MPIeFhwJePj^Chujabl>r9ToGqxMW6P=McJJ){(=lgW<@9a`BlrY z!tRrb+mIEV)8B7gDp$tueJ#4azkfjk=KDbMH^6RWTUD$!_?hLTLGRFmkCsIr^p|bc zR7YCgA4p@ymfPck-J2bqKESVWiLNy>JL49;gtuwT-GXsXJ6yDuYFb{~YPevMg5C3a z9OqDWbn^heQNj1C;cH3t={MulL0IkA;7ok%b)%802`BTD%`T}%OWksknloi`&>b6I z4b#nkYR;dNOnVGRPfp5TE>n6^Vov)0O4wWJi}mE3wv$%Ag|RkS`c^nL=}DEb5NfoG z6T3}X|3Y-ZK>tE?ta$T4Y&?Hy?^W^fbR-%;yPSvS?!=?7K<%YhV;1{_Ollp9-@b+v zzn3n)u3^0&sL@-OULU`!T&>4={Ql=0H`XiA`-mESVrRFYZh^M;iLIT3ES%bL43|?k z;${t}Tj|}n`l?~CH5}7Fil14^W=ZLD{NRb3($Z=S`TTudg-0d_^%^4Bbvkrv&Y{Uc z?*A^r(ho1robfcpB&tR6TBKj%^PXBG|N9{Z9KWNWU>XV5SX{aTr^9{YqU|=3^fA#TO#; zCg;zTa-1dcCyiZ$Y(K=6-7Eh|NiN0Y0eThxGfwU|Em1OBHQ29Gs^I;&bkjeGz8mc4 z6#Valc>KKe@o)o5J3TQ1pHne!>tXrdkr-VKPtYcATY-3fLVu?vHD^)5w8R@YGp~^$ zw&BwfGxbW2Zq1Eh2@JEekR!r!2rKm_R5_t*L?3{rB~F%o8%mW#dxEFDw8*evC7ABS$;-2 zrX>#Pt)g3^FBWNX&d9X<8In53h8q~|y3ViBPw$Nyqu4lu&?|4Ao(1l)hRdF75oWI! z^uhRzJ{y0`O7;h?X;=Y6KaD4jw=C19!f;kyT@lfsp?;Ni8%@=X)C*^9Lf`e)^EoYX zpRVa~3GLLY{ItZrRS*JMe7*92l9HbHY4p}mKeHgMx?bpe-^MyvkSJ$z%|x#D&mz~< zg#JLXZg$9jeM4N53@MRWckY&`-SR(>;glkzYxYzm*}9$EMYom#AQ7VtGM+_hJUDhq`hW%37gU z%(b}ty!m?noC4N#`Hk@mj75#NMxbBtE4)>ooIK%cTsz_w(s(;QK6yg=^{BfS67dF% zRkIcrlubV}c|sC92#l{lGj9s}usaeBO_itV^=(-~e|a)Br$8^M#dSebX?hxx+}P4>vxcCsEon2%%zH&32$sF4|uXJ9>MV33)C7xa!|LqbQ; zZB5e>)83BS4fCsXnT_P>3G8^kl%n^#BeBk8ng2SneC1}Sm)>)1OAJZqI?$`YHF~w% zp3t8oiT50DycxYX%&%Ub<-SnL-w#K}()Dn;gP&VI*nlQHAN@8APdMBjRUht`@4#*C zVcF)^Am3QznS|fyOYz5Sa}!WQ%_Z_I8CJr%#$zz-!%ts64EJ-YUhoczcRZmbRPcnq z-YhiQVM5vHmEnE^v+0+qZ#I41TW;RZ_`}Jslw#x~_yzD>jNj-I_+yH(6ventCjW~J zzkzcg4D;|qFd4y>9fYS2-b;!C%D7v=z>3UW4tc*c!o8FhtVoZ;m|+;W>%) z5xBB-^_H45uV6w}Ev(05lX~Bln)6`6gkw9+czj(qvtVQ}c%)7*FzMJO+$N!GN$6>b z_t&95f@FMJf=&FNR|_D7NiJU;afA19kuDkdyu_a<(>*B9BSp$&YNRr@GS=DqQg{8T z;~`F1*VC>cZUXqD9VVgM7C#Vg&VDX;Wcmp{5656L-(K|6NZ)Ueen4mGd|6r=ou$5u zYpN2?70!dZ19NmRIqIhGYmXdnU5b0X;;bmceB>AfcfQFHb-u~3X09aXV;si;{k`M7 z+rgE@e~ApgsS(Y+$**C~`;E8odH+YqKx042(5hzi-A#Vhr5taxLl!PhLoPfokv0xL zGm|D7j%E||W4kr|gigSUn?F(loxdY$Inu9wRbvTosSN)_pat+g%Rn09D!v_aG3LFi z@W_pL^JLf$NBhrU`@!UiUL1+XKJ`)X%=3}8&>W@f@5AS5*T*yBV(*sWnp#nboBbMR z=v)KhTv4N&{qp5#_*;yXYDYa`yg?h67Z0yLsF*hkD&1K#UTD73nTrI@t{l^;=uY7t78^p+ny`ll`>p|Jms*1Z-5`>^~fmy9JAQEW4y>>dkPWq zw2L{{N`y*vqbu^{D)i~%x%B6G^QJ(hd%fh!uNys@Cl}U#6wmbmny>RVLme$E*WEJw zrfzgBPp)0BY+S5_x`W%idQj=!CAnIi6J0)9ruAg;TyMUJT=`Jx{!?--KPOr+TBh|& z@m#uxq`c3e(%oZcyq2kY(T|)~rzXWpc-E)LRSPQJqa@e#deNn~$h00Uo=d-TnKuzC z-5*G<-Swh}kju1cnZ}8eHH%q@H0Cf4e`pSdpjI6@5wa0GZe?@Aj7T5 za{#uJ%wy(4Z$mC`M8Ayj%avR7P#kcL44a=D zW#8&oyK=~Vv7Rr(dDx3iK>iu{nZnr#jhTnTT*sGU`$!p{gnbFD?;Cq`=dHLs%d{uN z(+hjBBS^2?OhTISVP`u&-uQdu-zLsQGMtv^dOKcz@)Oy5-tbgV+L(7itc)9_QdT4I z6$pAQ1M5;G3e4V0_fR=PeA8u^gNZ*8*|2XT+4}Vj0{)9p57d{v+%=ibN4vE_Ek)~S3FtR zJzRnGYmEnMu!eYxcKpj=E@xWP-SJFsh39>wpVmUE z*et=+oFxS#b*160RGp$vsPorK*v7k~j|2Z)v!~FfKsW%M2@fOok;u)PL|LIH0q6_y8{Hp&%zE(|wg5U_6X!`d--O{4{7_*FLcgLpIogeJ zRAq;r*vIL#*Tw&y40|<=z6r6r;rL0>S7Vpav?b1s@GE?-gJzl^aCSml>pgLuWnmk- z4%S=#ZQpn`9$OS!R~e3neJ-qvXfLp5Kx2-=-%Wgf%5W?EZ^QdH{r1djD%#U)Hjqo6 z9{Cd_!|yVjp13uwX2XPjjzw1;R<`bV>QE9Z?u`rIycxdwQ1v1_#E)N*nGN(i%r$fE z>Bhw!al`YTIM-4c&clY=4;e==vpFL(3+iK>{Lpqx>?dKr2i8Z5*yG*Lz&?1lM0|Dc zjVIF!8_etQuBYFex|#3?alS#@&0=2-`wy`G`fvLWL+~cQ*q)GK7S{8uR*AG5>)?-> zb#uaJ!t0M$)3;Cjoxzj_eI_87hBm`apAYZ9>BVm_A}3q7EkpvvYu&+dhH+A zYq$IplC8|FC~=3MQDX^0m6H(tWY`=l?{^6EqX`wgInl3ZPEb{Atl)*VqjdcpfjsT1 zB#XD14Cf(2Gq~H}H~J44%v_dQfOF{k|WnNlZAjvaj*b8gyI)wQ&4)qv9nPMNsc#&f39$oXai^c6G#a@jF z6)sMsRl{%eH!zrD|FI%1jngD{7~$w`6%{$N&8-gw%DdaQB&+8%kfH| zB$trG%y@)aj4;dMPz4BOiv2mpixgXT(vzoMEba&?_EtnVsoiZ*>^A|X*xkRt0ahGe z$gnvUMGd$Hc)K+e)0m*G}S<6Bq{{>wh`*Ba=|NeX?544b!!womr!7OauU zT_NXH^H3kT?Ql|!pDC)FYInT!!t9?(n3J%NgLNA1roK!epIC_#nw9ZP-6O+ZDBM%9 zuAsfESq#R%8~&yXVt;=bu7>{$cz4oo?Gr23#Dl@l#`ZBX%xV{HF7WGC*(jwe*dM2l zNA^~i;A8+lY%4ia{K}n# z2jhazgZ)A{o~7MXuYNWTXD2~gt>YzhN@~u!$@x1Z>t6?=R=4|glP6z^Zn)iVg0{Q) z7?krQVlx?@yd?VWcE7P%$J<VWBKE8bq1#`Vxg;WxS|{+Jd0(u?r` zyEw+ma5bFw!|*76X70BJZ@H15= zXFE9eS`0gF?`eBM8cxRG$H&XldKdS{r!P0y)0albZE_*g$RFcb?}bbg@!QDEawgU* zNPiW_=#Fvb9%HW`HPnuE3!Xqja?Or7t;)r0bjaT(B_AO{@gQN%&T&rMJ{^;f^P1Un z;^}RZ;c86pD1I&4o8|o3^nWeqC&amRj;`+PtC+La+&EGea`wS*xQT#e?9PnR(JVyU zD6x-+?JoQ_(Z2kY=OWF-K60*EySiVEPz?9o4W_~)56pzASSVGHB((igCp7jMXJPGgH+HbDr z$|QeB0KHmGZ1M;?HWky0GVFB)+Gwr$G;1EyH^OPEn3~Ryr?494GWa#X&+hc2<9GTs z&GW@wAr~pS?!P`yn_1*3QuGELaX5fJ8Nbmj@yC=;_j1lj<;o=Q?HJuM!>?G5MtdKHdu7rk?*MA~l%n29N17yi`@zn-bq78oy5Hr-)io_4WJcT3sUb&49z#6uSx zUnqLD&Qaf)e#K54Un=^P&Uj`LapLMeEou5`Lv@dN;xp8sn410+*WeDAzlS*u#YFMm zp6S;!CnKgcE-g>Xw62mYJ+6$-yh~0-OhZ~)-ledumgI{L$B|cF8Fi)2w1K7N-3ePO zNq$R)ewS!2Y~~fUACaE8#jGVSHv9maf4c4mH18wG1D=edhB6%6CE9Zr-iP>fvCM}I zH+R9aWSFO`@w01$Ib#{~16H67&&2laGHluvcYr1p3 z$XNzz_gtJ;_jxMzkCfqY_&R{GrSUU%IVnMO-Nhko zyT!h;8}6?)g!kfq`wwAR(|3YZ-5qz4V7>X@cHR3SZQhZ1CdR^kAFKmS4*N1#<4vJr(sUWAPee!J zjpQR@$~+pEyvNlzzQFuDWB=YIdih?zaTOYxi*Y54wXtN|;fI2zX8BD_#hA0OxMEJc zw_8_CCpeg^yX5wJ;M5=bV*Ez;#vffV*O?(IM)!ttl{kmWa4d4X1H*UtVS0;Z`L)Y2 zZMJwe_lUlNjOeIc@JjH+pkrHY1~^q2+!|G&%~O9dfci#!YYNAWc6i?&0ge;s?Cg~uFB6Id^clv#h3 zCvQ7k%*iXR2m409Vd^H=HN|u3?!odJLgjT?zD)Oc-{{H*{H!V*pD%ikeu=cF;eQ)H z%-6IBFkei2PdqE(*@yHJSij+U{{g?+jrp>QEtjF+AFCD8n-~vvYjSlpDDCEZKE}G% z4th`g%qkdg$G39L?jMbR5SN=A-z$1kT)FQ+oImkH zQP)0**u9sCpnHI#{}q8@f&?5{+Mlg zPgT5$ERLIG*kd3LuQ0rXAEtl%L((#0nxXKpHsq0Fy;FuO2S#r`{mMNNOk=@SJ$X)CeZW+vZ8> z$LzxukX{qbzCeA8UWawRwW^@>q;fEQz@e#}rms@FBe#7C}i1h8TXXzt; zol<&nJa$0OP_+FKR201pB+q)}X@mVrH~dh1f4&r7Z@5K@uMN!9OfuKKA(8eV^hfa< zJpg}9@t15sM=j#$CBvC;u7zP2eklIJ`RK$#SFyPyOv}?UtwSUWKG62le7QIVN(hh8!^Y%5Y)ghE(w>0+Jbt4C{4qsshOK~(`Qr43<7FHe zw&7>CM|bM1JIkkSqu6z)e}D8(3{0zyos;pKszdm(0|$=AXPfU?Z%!YABL(^+&i~+) zP#^Gb?lT*56Xem2oMv@1>pNx=;|E@qEmDT-hewSTN?n*03o{AZaY_DLhIMa@#=>TH zqox#TdC$YfqHa48N1b^i?n^@d3BS>=;g6|{$yjW3)cG}b?uWAscBM`5!(#h!A-alT zT1)YC7=flzqz^G3EK?2UY%4v${&7Yk_dnRrpRG^t6Nwp#VXt7U&X;&dT#sFe_x@U3 zpj%E7iAjet&^*$71x8L!d9}-6n3guF2_8i++bI^$gcv>Ws9&zyG&iEv)C#PdCSeZpTE&Ah8zf!r!;i=rL z9(K#8r|LFpghH%3_>8|Px$5^t{>n0mi&iaL?q_yzjB$s|gXc6xGf z!)WJfzx);X4dYr&-H}Rs|QM3IA9k@wWG(_m#J`lL=oUiCmK#N6TOHYgA&-KB+$v zi8aZZ<((tFN%YfeeuMVxNhh_qL}F?(9TPPH*kexWNiCP6oY_>S`g9SwZqsP+>wZRd zTP80n60A$p=zb)(AH?LBi{u_d`Sl{Xrci#Ph^e99^!{ zNuf&DQr@R!QzKg5Nco2%@~-Al*)^zOY2!Lfz-V%qD^b?U6We)HryJ&c9X3wWg4rK zh1LP>EOn8j%(ly;B;-mLMZ-&ER7=-9;G*cpH_>VNs~1JH-}KK*c4-x@d(&@`+}0}k z<4wO(PUF@RVrC+-?4!7dI$!73QKPl!F!YAj(asVXSti!j*3q!FeuHF(w$VQ&GAbBt zXWMASTK~f2$#&7fwf>^y_S|UJTbNFMhv?0>{OslpuaNkAOC*jbpGe3WtS7OXNeBLw zG_PY+dYxaZa@0w3|KcT1Bwy#!*11P^j=HY%FU(@!K&kqu!z#KC(~&y2OZ3<}KkI_e zyGVfM39n7Eo=jak*f~(@Vw9_Xy!D%`-MU5x*ZDb}*-KFB+q8t&851v`^cgic;|b^;`Lp7(z-{tm&_=iuDMS4=+U?R z3YFPKQ0jSX{BI0%T5d@B0j$?v^?0?> z37zAF@@c6@5{c>Y{?Y^*)Fb--9luAxCD%y6CliUKg>w#J!gGnl$Fd^oh?A)=MZm%t z<}=~tL}FT@3@fOwDwg3>BvjBxrPP{YDF?2J{`;<9A%`6(r8dIwqMNHqJ)^(h^)ov* z?kR;on80E`la-W9`Eb#q521dn*z_i&>Ek{B+$OKnaC@@IJa3_XN3!TV|J*ZL`<|a! zvGlc4kXgkH^{$N$!;r&1ol;N0FwMGzC&_@b_bBDtD&h8Vvt@B;jC;A%xoL=<(jxJ+mEjR=5NA!uR ztjAiw?u$~Ge&O`z`b1sVV>)YWeph~-|MNakflfcd^wwAj&X3D~Ceq9Gjg}#P#io6w zoFAf#{lbQxeWRT)6pW|gvtow%O!%T$!Wt%QEtasI3EPV$u&1QdPkN_(y549_8T*w) zN0EAO@CP!;8mto*Gy3jh@)HRrmqT)5fK0vyV`;ToVbv6>Jk*v{^=z4AhE{tIh!UUpe)d?V zwzMl(29oa_5S{l4R?>$DL|=OuHPbVp)f*V)eS$AYj2Rf+|B0WG!%llrIP03$J6^H0 zZ^^(_-A_lyAq5pM!hTg!XLIUWWe+MwH6_i0${tTrAK1g2me~PHEL-=3H%J|9#;S2F zp1iiNpkD54^eyhm7Nt|ZxgnbLU#!so&~X;al#SFX!z7+o%~bU9xjEHLte580LVJ5q zEtBxtCdXyOQ`adwn3A3F<|eN#AD_eOlzzh{e&=d9nQ1KN2{}kv#FPgUxXkfhPwq|l zGDAA~l^Z4F$2i0A#toCI)=7JBj0S#+L(T8B>@0K;(}v6u(dmC;l~10gw^yBbWJIJs!>V!SO)|NAk_ovWGwIcC zirReUXXVUf`n;mS7v2=z@)`D7%bBi^jIs^s`0w2mE&j}}(Ci4)UqB&hd?d#U?Wi(R zri^3e@np|JwS4Eu=%>%{(YK~IM`v#IbE<5=S)A|a8A;B?siU2bnWLi1HsXe5kSCrm z^jZCd<@JAk1!`vIXC~rc`9`7TrAA9894x2F>ZglVgZlSHE2SCry+!qoqpy@e2MZmh zb)Qg43#`!WI4AW5f^>92MvaRW>+~ti|9#Q?bH_!SbUHiLNuhsU?rSR{{>$T{#AaOL ze$M>ng2C*)bn>Bb(fLTe;`BhO{F@|qd6kh|w}@Nr8B_z8CY$#&)A^;|ojm=HBQ6W6_(f1VKi@ulA+ zIbdScaEsrh^2ZY;*H1Xr!jub5y2NeK<6Hcmm73>^<$m3k)45RKh51q0ukhWm>U*W3mQ`^cUVZes@9o})3(`F}uw?4Gtcq;x z>_?wC;ouNYsTvX%eiSX(>L11j-yi$hzvqnPiK$WjJ=p#IXIgZ{9(=T|?(`^ckDpPo z%XBI3S80jk-Y^$n{PgJYJ!s)rIz4)AkN@m|wll=|coLh3X`0c~xr*{4E7yQLl=4Y? zEZ6e1BC=WIwEWnNXx&~MH&!zlN5bhcGqsTZ@r>y3UYw5Xmf_#=Fo&-Jri%IN&5T~! z=a;Xd^YUH3;+_G8JbW#$xM!~MRLJ5Bbg7!$Gw73~wKJm~`%r4WAXhy1wwY0x{eISU zXWk_>hpXe|o-`opqMgTtV#RMuy>N!w$S{NnGfF0oB{TF&pyio&MR)H<`_8Dl%`m&i zJu*RO)03NcPgL*&*3_le57bhEN zT~GVW`=gh#GAgHQ4(^YRAaZhMtX0+;pIuKKOrdOMUDt&uG26^hcD>oBoTJXOqdd%T za>#5`)?xXy6)P*{Vr8XVysUF%V*jpXy#Qy=!AIsYGNJ*8d_TEuj$SgEW+~w-3oc>Q z+&JMJy7wWqV3N;6_q~fU!A=B>8Mi0jNEASalb@z!!yycqsY7cnP}E=?AOzmL_73&){HC(RKMA< z`QTfz`kne*T(1v47uV~$=VY5JTCbl!7uV~G=L^;A@fYKIOv>D#dTqNjuGis9 zO}!>(FOAoRHA~GJkllHiOrz);kiRTm)B~1BQ+`2xk6s>CJBi`k<6cV@aB$g--tPrKsTvMBMgL^heE%3o7gV z=UjQ*AYL6!3%$0kTM-@p73;?S6_NTC>js}INTKs^S-N_m`!7d35iy642&8u4T&1;J z`fXp1v-8G&vFsxyJ8#Gr&pz+vxWLc7Yzl0)qaiD!w|@02WZ%28a4p(`zrHdq_^y?4 zEgoMP*J9=?uJ)dKMY0yHy$@cAYwu4c7p=V-uSScoJeoCqRdRoPM&hLRIL^yj$6JA} zx0y^ltQSm{-iCBNz3^(({Wm-WteN+pQ|}eoet5sRkgNmp_H(Lez#6M`z^chXt4yJi zV^&3XVFIl_SS5wS#_3(`4eP_>vYv9e)&G~o0jr}OzhOy_p=mc7cj8ub-H37L>ZtVZ ze#PX+t5?!oRR$XOT6}|zc6XtfsZMTe^O1WQ(;d`9ECv)X`MLXh~RTT>U z4>zbv!g7k+OzDtMb%#ak{1!#(QP(P?^;5O!Yu&W0o9pvJP3yW*jh~T7;U3%cJ@ICv zb$%)$H5I3X)1A&wLZoK6t7CneY%gaXcmJlwM@ud9>kcWjGEW`ubbiJmbx7OIogr=K z=NeLIfM3S;2z^(JUt&nrfZdz~YL(wwNY$dM?*@$768)W?k(t9UCZs-1vyBV7HGbh1 zeb2A5{nSCq-tRjTsr;-#>K}a-C)bNQ;Z%+PTIa_KQuw3*ZwhGrb2j$>jk_WeN4J2p zef{i04eYw@`^>Lo^{K*k0j<{mDmr>vhF_80{HN+5HCI|Wb*uIKucB&RhTnmG_@^2s zW_W$$1*X&4xxTIiX>`^y`_YeObM>d?^sQ08mrYD1P*2e~t>pAIaPZtbXCTl4>=#Y4Ag?fp7> z=}g=`&)g=fE^hC$iu9Jo9)eR9uzi{qd!37Y0qZU74Nn@3bpreRO-;iYH@-}(TM=KE zMns*?o_=+@+@aU<_QbZR<5?Lslhgkf0SvDO`0V zv&Yud`n1Hyvi9hxAJEYfxrCY^k}r&Cts17cF%+K5t&H zT*ev6mD{7+%VEp>V0+ZH91hI;WmxJvqc^D}U00?4(oa;#en4M(l-92yaX}#Zf z(Z}U7swErmFafS(zf~#I93sn38`&LI@c`_7s<_VnrHboWGvhgsW}|3!`HT{1H;P4R zCyK=>BE}6v!X3 z$6k6;Cv`5{a?4J7QXdp?pW-@12Vws^sX58S-WR>zg<8JYgU-z<+(udxUz_Msv!|TY zyCqp1-O9-xaZ-3nt*Fo69O|eq0-W93LjEqj~ktVe+QM_2}VkWgxxBi+d zCOvs}C6oGJ30z1u)LV#_$9x}+M!;+n#7-g^U`>Klenl zD`eD>cE31p-1e6(?S8QqxBX=&<95GTi`)LPlX1IWjij{sWwQs2)X#Q@q!)GEpjMrY zY1!;?qL?jiW2=t#HPhyn%^n_#*+%Tu&2!ZY*cn5iW;i`DcDRt*SEBGH#SRvV$?Q;} zn0$&>FCCj5B&6;tnTRIlWSo`FE)Y_YUL{S_qHd>bx-VLkg9Q^`k5@@vvQJ-GR!QQ* zbaYNeg=}^*P%Il-I83&U`=V7j8BH4VW&c7Onl1+4=ua&unRt`uq&ne){krL)V>aKk zFLc4KSC?i7Q%5Aoua`| z&+&psqOM3z#w~4ipkY7Y<1X-XP=^xPKWq(ag?Zv`QU4-ssGv5K%I<+gY$JVUpq~GUnF_m z;W#(n8!eW5_hFN}A>aEfmirX#T6&t^5#97v%f6XeXl2yNd;>EzU+-3{>HV5+>f^hX zDboaRZZ&B)->fXu^sZ&TGMV~CA1X|fr4GXPB2zn3iL<0_Qrm|fjiyvXHSnd!LM?GR z`MINJ^GR+#s+-!n4%3ZOD}R==9Me)}+IX~;?*pePbkS=XUq39orfHpT78ciY zk42NJXJqA^s-0KoLp$%X>Nvw0z9i~i17+vCdxdsedY2$gqsjM{LJsx^vsAsr z9ddNmn-^a-)9tKsDy*lm_gLJ{s*cO@I8fvmQ15s&rDjHUHsAV66-~ZVlKIkBvE*GQ zIisnb5MRhjJ#6n0Xqm5GrEqa8cV)EP;TPR3*g`i_9;t<;bBabvJyU3;d>hH9Y^2m- z&`4>rpQ4dcXGbHY$$qLvN}WCJM4X*({}gKD)Y%)Hh_g34A$3=%iBzZeIuY%tjlJBE zc-W9H*A!|8)KdwV-L(Vi-1AT9cEIw{n%X!YKk#ZC>bMN?sag|y+li=j9qi8P{JN@s zos9D?jV5=>$y_z=#*Ak=u4=I|W5i9X{#!Nk`OH;!H_QBEXjJb0MCPhx3o^%LMOXcr zXt-+N%FJ(@l)7&CjU$Kl7&Ca(t*b8DpV=vq%l5x|4deMrriC8)T&F4WAgcw6jF&m4 z{GFMT%MU#dv7XQ)U+*+UzRhZZBIipiz8EsedP0vp#c7KCsnr5S{!C)=MUsuy6MEz? zoTkV}trjTq&k~F8pB%HE&?BF4nj*Jv#Ci=BxkICeTV++eTvD#Ej?g1_cA6ruwOXLa zZ#9YrwQ!-{wwBN%zvnbX{>W;9BIA{rb%jdxiM50t`BSGUa#?x9CYcr}a=FIQluJ=6 zNh)tGp-0Yinj%lKTA;{yMWZuQ za)~Bx0g_8LiFW**S@Cj7I?Y-_k6g-WihSH^fg=CXB;I!ThS9Iq6ME#|ou4Y+d@ZS@^@JYTbDAP&SS?WGOo^2#X%(y|^vF3*Q{=O)7AP`ad@}n7ekuGM>j^z_ z1E(o+8>N(d7IM|`JM~hN>9c+Y=bUA zsU&HZwS*pdw$l{(yk;&G8Lz>a^^~8IZ)iQCM{eRYMc!n!K#_54X=4V8B}rdcOX!ie zI8BkqUg(NN#@#7XEWVW&SWoDYCpb-!OE-71$asCv#NzkumGy)kxxCX9d70G$MP4qk zmP^`8))RW+?-_Xppyp3oz|<1|J7%xZxmZ)_ed((9=tZL*foBX4$^ zBJZ?XpvZVZ(NxziN&DVBL9{IS_6gkntEk?^N;&LS= zEoD8SM^1N|BA2&XpvZoUXix`Kmn3CaOX!iaoTkXNtrjRU-pFj5#AYo?XIo3?k?T24 zk;hmqP~=->4*7EDIO_>L@_45y@+7O_BtjT(f|`>E87;6DoJ0sub($i7Y_&jjbMr|*`LX@Q1))IQ; zx=vH%udEg*^46AdvG_*p*VYqy1rpOho7AP`a zxHZ*PNzy7?Pw0`WIZcuKSuIfH{t|0|qz$y5&?66Vnj*hqwLp>a((j-)sCr3SWi6pc ze%)z`d}S+FU1a^XrQn^;fik()V9kvmx}P~^_7A5LKpAt_f{N9d8eIZctTw_2dccmTt!4>w5K zFzX3D@(8CX@>f>FIxmcuu1&11GXAyoV4WBK#%YS&zOAb*a)-9&>P}Lwunt_^33qmy zBJZ$TpvZXbTbHWOPD$HkJ)uY5<1|J7vYjgxd5hITkBryJ*Zqa-_LGwKTOkkmPp2vJ zx4AAp8Lyv_CKYJnmzL9CTn zPbKMDYY9E_3rjY`EsWz@=mMaGEI1w)o@@GMrR%7;8x=5c-kdps22v=bDAPgw;Dbs zD}2Y*@qFJY<1?%$^vHKRO_ATU8m@GO*GepQ9P*a+;7V8c9j7Vs_g2FZNqD!!+AZUI ztOrLV;r&iiTK#^aP zSnPu4W$Ot&@~ci$PYJno7w<&WES(4ti7TiM?e$Q!&yx(epBL5)8 zV#ientp~e6;h&tQ$bK)ko{}?q#fy=BT~)9i+<+9$ahf8xwOXLa?IhMEl6I-};0P<6 z>oi5a#%h5g_mo)dQtMjl2|aQjrz!G{Rtpq)gv4SuTsK)y=#fV`O_A@gTA;{xN-W)T zm;N`ydT@>^e7DmSd9l?3MSenJJt1jNT2JVa|Kl`8e#L5N9utK9Ct58~VFj z=#kesO_4WREl}i5ed4B9N&3QC(DW+2#c7KClhp!6J}kvz--t)82lvv2k2_6~RbRIO zk<0cq&A7ReRNh+9j4Pb!G(~P~wLp=Z^eq{^)W1T`<&t)R^@JX|xziN6ht&c_z6Qn8 zO~O4T?ON->d4_Nwrzvt^wLp=>zEL$i`WBs^QQ`c|d4&w*M`U8`5psd`;QCznF{df= z>sAXC`3;H1P9)#79;`CL>zt;@-&ieB{j3!s% z5>8WOWwk(&%l3=g^ChXgwO~aM&UBh0*SA`r$PM~MgF0agl%#X5CG^M*ouFPdhJ>Lug7tp~e4;eJk26nSC4hxI*g zNqN*dLXW)2X^Q-|)dEFE@13Sp??~Fa))RW<51gjRJFJEqrouZV)=nAUWj$yY7T)7D zMgHAtfg=AQvHp;>KdmS9$p1J^k+b`A4Ga`Hr@xuU_Uv`EqVc9 zyuxXU{GrtXMMm$bdYw3Dy`+6)J)uY5;54-%`n7U}3!`R3vQ#tOzQ1464i@r|)1<>x zeJ78c7!a?6?3OiYJ)uV~=`=;IYPCR-t4S<&=33o)LXTX_X^Py!YJnoRlvwNn_9E*E zJ@Um)Q{-M&3lte0#+vP{x1{y4p3o!rcbX!Pu^JxE624VpvGdt+)`N$$gvUEgk?*h? zu3LrCFMui6oiaYddT`w;e7DmS`5~*}zMwFAyVbG!JS^jp_29ms@O-B!@*b<<99?*? z)k2Sq9(46RrE}^HjJNUnGSurF`8=no^P;dug%30TW2HcmpBWh6c9f)Ntp&Fog%rsI!k0Nsk$YP$P~<*0 zM1%0GPp%~OwU*E$4{(|ykGC4y;e^qJaI{I^hnDe)))RWvmtyVY2R8;=#h6gO_Be$ z8tz03|0A*3Q*zoct~Q}ZPB~4HD_bp4zZ>?jegalfc3Ma1k#{>y zk^2m1r3Q-JcX(V`>@2#!^@JXIkkb_TajON2ylD8t`rRH$S!^AlM}Ep_ioEhhS1R%= zH^!x6Pt>nkPw0_fbDARWu^RS^!sxQvtfqTqe4q88?Lzo~(-iqPs|AYuyToGm*MC?~ z=#l?+nj&Y6aPvq;PuZqinUYq)deB}hoZ~b_Ze+DUksC`a_PX7~dT^ghxS7)w`AVzd zB@^K;BjRT|Wwfic;F(V0tDL6DH(Cwt4Zf^%7#BV)#X2J6N391JC`Ej90fFoQVn7a+)H~uv(zVGviq2u;cT)tS9uy_c~488$EwM z?h7un5?-4SUM|IAAL%by4_=!PUg8Xd=C@A_q}C-lg^(-gV7)dEGXF*<5n5_gLw zsiw7r9=VRw6!`+H1&Z8kbhJpnI3Y9&5Egk;jdeg(zvE^@KUEK^8c)c3l`yT zOkL&Vek0@GS`RK*gm*Yikq=u9FUJWVky!lb#8K2{G!#+a3{P}s*7LSSY|zFxD#ICG)4ZxYIw(9c=Oo! z9eWx5(pvD2z3^72De?iU1&Vx7ip4$-f3zOlp%*^lG)4Z!YIwF)7#$*-(P(bm?2HC4E+(-ip{tKktB;hs_~_8)nz_2AZ%a37~B@<^)%ihT39Xwg5| zp-NJowS*pdjMEgkz-oAxU3iKVi{Dzg-FomYyYO_UDe@ev;gu3$e3!+n5p!ky0qem_ z62cEVO_86lTA;{JN-Tck z37qg;rz!GtRtpsQ`7qj{pB|E=7p*1q$jhCk$Xl(3S7?R5mO12Cjs9mnc!gGYyVDf8 z%y?JxWPJa~Y(PrV%32SO8p6KQ6nUW4@a};yzM*7d4U+M})`NEsgoip!kvmLq-Us{7LJ#QIsr zk68~cJcUmTF0g^V*dho8d@DQgd@<&!fCrQE|PmDWBlF?7B1)U@b zf9f=4`8HRqq;TrCxL74*yrlKu{Ul+}X^Pw|-^C(dm>4ig*&bAi3Iw)MvX^Q-- z)dEGv$IQ&Ob5hcNv!2i+|LHVEzWsJrEHb(XH?gKl+BEA4J@TDSQ{+}tT`Y3zspg>= zNoivpcqm5r5~nHhXI8^A#ljn>#?KVX=q78yGsVK2oukprutElD_>9=9dQ=mcv)Tas|T(-iqdtKn)`7+=dXYw1!MUuHeH8WvvRG)2C6 zhO2pUn;CH|etEB*_26c@@MTU@tK#L7bhWjhVM@5C(-iqSs|AWYG%i+q ztYv0R{obyD=+sDfuhSH{#mBK!2onYvZhdWJ?r&=vgvK4{HaD*>*nj+^~ zEl}k4Qek}oCRhh+3O#Zsrz!G&tKoec;UBCPdgOmFfw%w4%x(`b6G;1niw*bwg;P#b zzR+okJi=;$BHzSd026GaHH98I&uNOh&T4@ozs+C( z6YL#p3O(}sPE+JRtQIKpp9}^t!Tz$Q&?Bd9h|{n`SL8NU!y`1pZ8u1r0Zg!V)`ZPo z_%f#{@|RY_ON7E(bg&W?a&l$-E9=2qgu>gLrpTH9WnuAjzi@^BO2Gi8U|H6L$NPmV zI!%!~SS?WGD7^FLs(DKe^G(CHbk1@m%%=m|#y^ z6PnwEmpDz4M}6*sk@KvEh8f`xKbN%yU?#A>kcs?>(-b-93pW9B#V=%;08Fq-))ac= zs!mhnE3AeajKUptuq(21`p9@E>%rB!a2Ka3a-GetVC1u{hN}YM)|+L{0j97Q7c!CC zIZcsou^M_Y6&{0N`W&_|zy!P1n$V4@aNsmW&e-BgOU|?!I*<^)WQ&v*U?y;BArm>* zX^Py}YPdNg+z-J_X#pl!e`~_s8R0=rQ{>#OuC(O#R>N&k;r?6W()IlzmfU|m|$D13H_4^f9*6yUiqyHMt;R=xL6kcD`Xg;#zy$dz3~Lv1Iz@r6f%*&cA6rm z|KKJ-KJABijcE@s!8~iii;lu)I8BkSv>L8Gg}Wfw+m~nM%qmR@KsJzbWk~1na@or*OX06uIXCH*AkFYVC2jnrC026G8HQ}oW!q+=Zkylv_SD?bH84O^8y=G0JM_%JJMc!?-K#}(_7{CPE zYfX67LHGx!De_r|-E5LeAI5C9Mg2=!8S6oRBEsdIrpV`8El}i!Iu=eD+5=3%8d($i zdJ=BxG({d_wLp=tV=#aTHq@Fzk37t2ioDZmXpj@$#b5vv?0aiMn~CsVrzvu;Bd*HG zy^qLj0!*+z)`VAag!?;9kr!AEFX9O=M6g5~)W3{BYCULn6kg;sMc!<+K#{*>!2qUU zTdWBOW#O-#rpUJ*b#qA`dsOBUV1kXaCcGphJl<)Fywz&B6({^Pg8@viZPpZeEF33i(` z;cl<+WTz?e16B(Z`9TH)m|zcC6W+iPp64`0e$i@ZuN7X(U;qGZ)_LG(}Dwi~aiAo?POXtQi0ktfV#J4xg~+G)1m#HN1o)T!p~^ zCRkN#!V}fPHJql%ZLEeCD&e*a1~9?eSrb~QgfDZNB41}Uv?dD=WiWsVcD*&B1z32v z(-e7@)$kyI@O=o@PM>DT`2E&{Cjo@#I!%$6Sq;zG3omEE0H$CsSrZ<#7hdT!Mc!;R z>>7o?WH5jUw#AyTYZU(4X^Q-l)$pXf@L>i6m|#b&DfGz4oTkX-j>mqznvu&Nm(>hl zg89}IdgKaDQ{+}w3lzCEg8@vii>)d2$nBh_$b+ngz6gZ}GZ?@G8)8j30}{U8X^MQe z)dEGnhrs|Q*uB;idgS|^rpWJDEl}il84O^8y=P6KNB+=hiro2^*sm7=`O05p0RT*} zF4h!!Z^L04CV?)`Wed@Ls1W@*h@1gS+sb3BTGYv^=Z#_8E5bo$SMLub@ zK#_k#EOXipFa`VFnnI8Km(vuv;~%bI~8Pkw0;oA|J3Co^BRC$Y1~y?2t8u9{I4-6uHEo zv0pDta>+lX&HyG@x;2F!`E;i#a$~FEmY;AF1_PL2O|1#H{Dd!bnj(*~TA;{z3FEzLik&!De|9I z3l#Y;1_PL2e_K=NkrRK#Y5M*lxsKKFjD_&of1yRAHO_%#ysq`2=Pcp+PE+J=Rtprl zJ7Sql6JQEr|kr6l2T3(PcU$$DH$SWBPV1m73O=uAoUhOnR-fcBBj|lH!Fn|fR*P75gBK(8X6uIx; zv0rbR&oCIk1Y2TFp+|n+ zX^MQPw2-ux))RW<)=pF8+pQKT z^3*t1`>B#P&3f=Soba7aQ{<1WhObfyf09-*n$r*6W61ah>j^#bXHHY(k_k7DbG96D3^L zTP|Vdv3*j~Qr3e9W`)z8rpV*1hR5@TCzOyLQ)GOi^`OTT;Ym(Y%lQx_+_Ula?NyCE^@8(xL;LCs%uIu(@`0nZ!PF_RQOS+DRP<9T&c+Fw79mEq?NTEJnAp(J57;$SPfSr z!q-TwYh=8q_26PexVO_3`4g)Jio8K$ZIHD8S`R*5C%n;VihQT%=8-(Zi|28Mq|LOR z&?DdDG)4Z)YJnpEEwTQVw12E8^emswGK4BAJl1MBMG+o%dR(q?G9FkD&QOFWI8Bky zFU9z{8zJ1VR2-|Jj5o3#+>8)z>NG_jWHmH}2oIK6gJpb(^`Iq0_)El3Jao!;gtjQ))UV(i9zpjI+{Vil1YV z)OSeCI3*=bDO(4b5)x%pRD_Wz6-Fl&GM$q!4uzcFd++d z%;!_rbzk?r@3r>YYahOA@4a>()8sRF;C+wNRqPA9pT*>)kPq;hBmdYmdD{$p-EsQ1 z8O-$-B5#|4Z}OTW?^n^UA$k9bTCM)@Wm`;63i&l&bL8tyllz0<8!GA>sW3NMh}<3o z-|RI<-u-xAE%Nh@*J_;yUk{6sC*Hs>^qM1o%QTsE9lYpxopc@M+ZG~|u7j`enj>#h z$ybZKZKb$c-P*#}&SGSCT<|l!=Ez%C_PNMgRo3}28p7AwVq|^{@OEBv?ZR8f$}1bY zO_JdX@I95awf4Z?YcVof0lwdBj=a9})gnL1>3k1xoopd8-vjumUUTGqOp`7T-q&fh z`oivKG1BG12YAhquQyHl7Wf9IeGBGB3z5DBzS(Pzyn7YDhUDi}LEnO}hs8+W0>98} zj{E`B+pw2gj67uv{;t;?`ERDluVnDw zk?VKZe^`wCNCq!cm2D$GlEJ%}CgWG&U90Lu6fnD4hzwtW_wbq{zuz?ZE*ba(RrR}M zFdwuK`7RmwXsGPpnj?SAG`ZCYJ_)%d!Jcd}a;Fpg39mWwd8WyoPVo82H6Qj%79%%0 z!54VVk*_pOCRhbugy8eVhc>82$dd1K^i3||wA z$w?t^<~2v&%QTr56TEkgcv{RZFt4@{dGrswpVu7uqo&Cq8u)lrYdq|Hi;*!j@W;I7 z$iFZx;mAvB#B(6Rv)v+O4n*)>UUTG6)$|QdUQjchw-BD079sN%g3tDvBfq?s&qRJj zE!~7yz;~s^$V3$2y}jnhE2sKgf}iO%NB&6@ zpNo8R6V0_5zAY9bUqlA~%xjLkaWkKbyh$@XXTWv3g~&MrJi}{_{7cj1BWvLMn`yQ7 z!~V)*t879$rV;A_3+$TyoNxAwrd zAlFvdpIVH}+X24KYmWT5hq)sp9C^iuwWn5u?|6%m`AET?*BtrjrX?JC(}%;f=mW@b zHM5YM6!I2cbL3~6mT=@9QLRk)I$4Z7zy*G;*Bto()8y-k-~*9sAna=_M!ud1ex27G z`6$y8j{G6y8V%pW79&q~gFoUmM?PqbZ+h~qt&A}7WUcJ*@fo$UYo7LqFO|IEBieTw z!q>=RF251!TU(6=!aV$*nKTV zZjXXzd(Dw=Gfigk2LEDQd<6?@yG6(qEch<3Ir5_)^(#nT?oqu52G=nbBKN?+D|pS3 zpJtlOPzB!bQFH>>jVwkw0eBOyIr6hilc)2*J3Kl$`bH+Kjus)aUVwM@nj_CPO~#|a z2cT91VP9i0vd@EG=QT%umuU${J`%Y`!gsgD$hY6X^StKBpENDu$Y&te4EUb17qC^0qVh2(LNvhfI@csli8Uy}FKu{jkNz@fQ3MuQ~Ek(-MySJI&ST zd-#5^7@2bk{E*k&q43+;GWOdr-!~U|qkQf3>F_nS7`eU!Z|XHie!gjPeFuI)etdlg z>q3i=>pSo)uQ~E;)1=db4?wL3!oJ30q|<|6=QT%umub@J!ABz3NZ5BRVx-f9&+?ihUu~Lndhj*KwHEdV79*V=yx41w{J05zE0R~7pj)vb ze8*dibb4^-HAnuaX);m)J|4O9VNb9a`S>mPB(FL0Ev6+L`BvoG3g4#|BiDD}+q~w; zPoC)4k-Wjg_!e?QxK6PUxrGc)U-aBo!|>MUrOz+6FnL7_e91&@ttGIRT8#Xf1YhPg zN50WCne_pDljMr#`-S<5g~+52;9I@s$d^p=D@eX{QdqJ`Qo;4Qh2*4=zv(qczQ#1U zfegNOlCI%e*dJJo^eymWuQ~D)Ci`lUpEy}_rNLL!!&^7{QmJv6jJp!(!x%df-J~bL69^_=YEcc#1as!|;uyab9!eQ%#ep z;=rdN*EHDEEhZ<0{3)+F@)u2$FIt1o(_B~2hy9Yp$mlls0Y4S}z@T;cAo1^zt zuzOjIJfRQX$7_!K9n<7v5a26Jlb0C4w@r<|Sk-kK>@WTjL%zdnj=a${->l^6)8e{z zONXzq#mHG5ys6h5c}vseD|Xjuv=S<+-L@G=QT&($21wY0q?8z>e>%>e~XcE z8}NZ%bL4lLCO3b;Mr=kH$h$oi&khLBc@`nF1A<@RHAkL4 z(`O=YJW~fy;X2(yWB?UB!)uPbgK6?PN$|60#=jw8b+ici4FTTSYmPkMG#QoxpD1^&3#9QjM8$-7$Mg~(M1`(=xfQE>1@UUTFhn3izlA0pR>@O@-4IVt4p zyynQiFimcXfS1gSe^SEQZV~d65`34}9Qkpx{3ax?I7?frB7DbNj9g5CJFhwNCry(J zM(`QPH3Rlj79$so;Iq8u$eTRv>qUP0(>f>xS2GKdK`HPSUUTGqOq2Z(yzkSxiv3{s zw;0(E!3TQHkta-(M>N56q+0UD+Ac8fv=Et70eqy_9C@$VehtZc&(`~Ga9wR7a=#6{ zpVu7u&8Eqf2Kb=a@s&mwn1d}ut~9`hc+HWArX?Kt6SK9ko`7$P#mM)b!KZu8kw0&m zeD4{2?ri<01I!mJM84?&KHqDO{NZPOW08+}MyoXjzOfdQlS2Ne*Btrk=X@^mHP30T zweWplF><{KUhFkT{<&%Lu^sSj&*{f@V18jC^06K89bR+f<>vTmk(ZyNgFA2?V<9rQ z175*vj=Yv>a!Uj}b&lQ=fmz!^|w6QW_cd{56(FH%(YmWSS z(-MyShB^A>5x8!&5c%>5_#m%2@@b~Y^a9}1=ftxC!+O#pWO4!U0s$y8t9JtSB3-4U4Q zTZqi`1>VzZj{F+a}eYeHP5DIvn*Btp2(-Mw+DsoMQZ<@u(B>CVoyynQ?F->|G_zL7& z0sCExk=_Nq%4?2%qiOO(9(5L4JL-M#-ET4S>IwKLuQ~F^Op_;^z$YQsB-oQJMxJm2f5K~y{4LYu zp;+*ux%yBn%(pE>9*PBD;WbD8v1#%&GWfc=`ZO}k^%f#eBZF`9nj?St1>f-G3trIH zS^(cdi;-`@}Irt$ji<5smROE*V7nW$5@D* z#=t9h&5@sOn%tNKZ#rME0bw??5V-~fZ{amZ-qAEUje%#*$7u|9CySBO82GtfbL7{X zCZ{p*8>Cv%9V?hOT8Q*`@IhX42Mq|L2A=fh4 zZ&-|s#()=j&5`$b$!|pR^IwVwx8b?aB4ltIJj-j2e1vHUM}F5!+VCUcyW3*qXbPU^ zHAmjJ(ASE*U!mse2VZ}Skqde7fnIaux0;r4g6LCyaNTAhIVt4ByynO!m?q!s z0iTF!O@#fJ#mEm%@W;L8$X_!p;mBV{u4VAOVKK51!Hc}+$h*Jnn~VIsm-So?*ZCGA z=W6htUUTF(nC;48f5$oHC-aOC?I=pA#ozO)dzV-9}6YmWS& zY4T|R@Iwo9YaD|8lf}q<{@{nb=E$op^esqUePNg#eXSa<8Wxh1LZ0e1NB$4fWL6>Y z6BcT-SNe1z8= zd1#va{0Dymt@Q-#DHbC?|G}qw&5=KEn*96+pDV4^Ikj#tm@im}{QL)>?=?qWXOZt) zTQrq>+#cGG0qFYq0UbT`-md#A<7%r@YAyynP%FfHN8e_W(jcyJxG z5V^tw|JiGfyv8ejW02Q;MXOa4zFHO|zbC=#c+HW|GEKfw2mUm2&4&Gq#pI-r&+(cg zf7i5xBYzLM-h*$Y#pI-rulAZF|J5{^2nhT)! z`me@siG}BUSgTpBmVXH#Z}lo}I>6W3V&tX+css8-@`p^5CojN9zp5K&H0*~hMxML? zf5dB!`~}kzj{L<}^_yjI&9e~sW*K;)*Btqmrpfcs;QLXn{jk5X7Bi4SRsa$ZJF3*Luy7-)5Q&jerkDuA#7Rw-^~3 z0Z(|%k-uwN!jZp+T<^iR(qd!}17GbmNA8xe2@{UI$`XB853Xt!A`k0<*Yuhr?_-(_ z@Pqf2RM9nMKiK^(Mt&E75A>QNzs)phF7TnqH5B&k79-6Cp75F@f6z3UW(#~2a*cxh zkj2O>Ti|27=E&bSO}_93zIus1$PaUkg~)^a;2(O;k$-ENOg#c#ifT2=(5;dVjNUIG zKizANJliyRb_skyhF;b-*Hmu1zhfM=#f$kP(wv%TiXKQ~Qo6@YKspdZUd zeRHke^0932`@H7J*PA9U_=0a}p)dHt+-M>4f-m@HuQ~FgTl%IVFV|9UV4#v;SjFWA z2KWxIIr54deJb+fH->r9AQD`aEktHq2CwQhN6z^8Ne1}4Zqz{}RQMRHxC|nJSMZu6 z|IxIBBR|+u4-SXm`^jSDCl2^wuQ~FgTKP33Kf0CXIvT!m7L$`gp5iq}Uc{E zHQ}peF>)0JUdL;W{4~?#VP5ctt@JykFvnYn%uWhE(QA%;qiHfS48BRK6^#tT{KP_J zWEgy_*BtrS*1omKA8D-@)o_io5V@!Z&-a=mZ`#JEB5&44hfU#HZy_>l3ckr}j(k{K zpNf2VTiu4k;Y(PIOvM3yr`H^LrFK3SdF6JRtKOOF`v)*O(2%Ej&5`#pO-^Fqeb3b2 zmS<_Ii-1uo@=Ltt$TyoN<09Z&&WcCxI%uW~fl(&%EU!88f0~wXn$cH zh5RP3Ir2|TOE~h)9pcAMGPPFc0i#-xU*I)IUSe9pk#En`0ob0J>PBFcihPjQ9Qg#( zWb6)nVo$vaxkyu014gOHYkJL*_cSfx$S=A`+iD_wk6DZi1A;&9HAg-yOUsUqf8@in z^hvIb>gooJszu(zYmWR`(`42%@aN>H994F3I~F__ zT7+~g@GP%6@+qdtjWO`47i+C{U8=R(4UB3t3PNO21NbH3mkx$eVi2k#{gno@fF;`%29<>nhFlG%(6V{;by=`75T$ zO=|F0uhLxC_0n9|1EXBzH+jvGk1$O}q(1{2T#BYyynQ)nh)HfTmph`@|q+6#x$Ad9{gKW zE9j%elmSM~MSir`9Jw=1_G$1ceYCkMqMFBB)#dp~aOX8go^G1V<^kUL6V25ab`y({ z**w6TdCifZYg)pQclji~f@la=Hw%#~2=E?Wb3MYw6;s=Whdz_HG+!`Xh62G~{6vQW zVa~G<843h1^qM1IW176K0lpS%xfb>Z79)?}ffswtk?%K6rmF`33c0?5eZXR5wrcQi zz2?Y|-t0RVdAZH;WkfHyjY@qTfx-jBl$Ek>rc0iWtMN50#% zgd^W$n#@QHp58xR??&nUwXThUQC-QKdd)Qrb55$YvgWfU$)zm#bN%(o1?KY>B3CZp zFM7?9r(NeaHhKN)v<2(Kcap`()coM5c+HV_G)?X>f@dOEChSfYBX=0V&-I!k?`4`y z!UNv>y7-~st}w5*5P2vVyr0(``5mUo8{y!0UWb`hVUMsFnQ0aLZm&7=iKZnS`D40@ z>3h%t_gbfvD=P5)UUU1UgML}-x|)5r_@*cCw?&)2AAJ2SMn-GF2YStsk2Ede$nQq3 zyWzXXV&sE};P-mXkw0#locO>)?_pETm z-<1|4lQV($_L?IfWSUHG06rMGX2X8QV&wKD_#Ce}@&%?P9Qi`znuk6z-}+5X3i-=k zbL4AGlXEEeTJ+Vmus^UEIfsH5d(DyWHcbxN;Cr^{sXa%Vavm`1s^o=UbL5*%lYuAj zEjilsv+mSfPXnV|0?OvqekU3yju~ ze81NmdG)QnR^&CdYOb2_)v_2FO$M*yHAkLqnp}p0H{Pmmb-_H{LgcM3@C>gx@@}Rj z9C`Px@t7Yx=UIe|`GH^HHAjBCX$eO@3@bPczTp-lU+n|G!)uOwv1#&3H24zaS^|5i z#mFns;LE(`$Uiqt?&^SV+p70ZV18jCa{mN;hu0kWeV_VmNPhpP`YRQ#2Q5T?rGk(4 znj>%enNLOD>@)2S8Spi?7?~p)yp`7+c_-5nj=VE+l`he8z5_A4pIr7#^eZ9!r zEY*5-MmgtLc{wTMUA^YWuQpAlXaVn|_3G9Kc3+E;b1Zna*Btq9)8rfrp7>19vAtmD zSd5%w!AE$_kw0&m{OARrYg$eU`Kr&t>=YS*fb0FggpjZGnj_zCnmiN)z5|8*JIOwuR-sDtLRZ zIr4F)$rts&A6*)sb;2+HkcordwKC*c1Mv5>Ze8Dlz0zXjSp)FZUUTGUZ1d|$-hNwr zf2nC6)B_*;n*OvK3;U73#E_5onj@e6hR;v_%p1Cg zJOkge7L$`g{=C;5`9agBz_0xFf zTEdaPiyrYFd@C(RPD9|Uz2?aGnkEnKgYVlGKe#`+e`>Ru$A00PfV{#NTJH+*9cM8) zDdd&B=E&=qCU-Ky>mpY@*#EE?IbMUOdCie`GEJ@k!8;>YXV~Xhj9j&WclDYhzuGjp zY6I_sTzz2owHUc-1JCxFBhM)D?M2?aMBA$cd@U^|CxyI?*Bp6g(-MyS9OOC|zAhG% zlS1CzYmWRD)8y-d;J23i&!oFSP;WH1SkC`Ux*OjX{hvv9eUJDTlkUdv=3#fb&2}+) zHxGQ6*Btr7rX?Kt7~QRVkAZKj#mKx7;E#IEk*_pO<^l#^WtzOI2EIdf_21==_YT-Q z{}MyK$7_!KSJUL31MuHa*WY0OZZYzx0eG<8HzD~MrX?JCd(-4&2jG`&*ScN?`|`iU zkYD9BM?ToJgd@LYdpz%JFSu^C5SauQe5ltP`3t7Wtwrz`P0L9ke-BlC55ARui6LL@ zHAnu1X);$1c**u?uAGLjwp)bEl>@%ZYi?Kg)vmoFYuZpzrnPGBfoKnUS!+^-^~^y&sKon z;x$KpziIMGAMghxSM(eT%m*z*M)<%-d(DwQX`0Nn1U>`RngRPMi;=mOz-M{QkuNq) z#zVoEAlKhH0qGLtUTWpZ*edukuQ~E9rpbhw;9F6zt*}3}7GFYuZpZ@J4i zJ$b8Lc)bn2))phLw}H3wnj`OJn%o};@4ZVW&4PKgg~|ZQK?xBJI<~2ut)^5KQ$vf@1%a{UJTcZ-p0Ch%Yn*G3-C1g~S7{A32N zyC<&K|4gATXQ*-7WYvJtDVv9Qlo=B^>!p zSdE+DyV+vo8VLLruQ~E{rX?Kt`aSyCD_k2bL>_wu-|RIRODAi{XO&4=nYd&Zp}%kqvj$XG1(t?$vFvibf6%AN+!2{xvxxtj8$%J z%^=qY;O)HT$UB)PLzUp2(e!`U{5jFn?46PO94k+TJ;A$r&5?g-TEdZkr1k3d_e@st z_s>!MH%-D<&_j-!SpAQ!8FEs{H+apF-?NY1B;m+&_vzl42j9IGBcG`Pf52;we41%8 zRV4WIeeo0fu%5ICd14>Dz-x|tg=umx0Q_Cl>OI&iEk^DIfUowNBQO7zUqkX^zS1>J zf$vz0$w?uv=ru>)+BCV}0p8{-ecc&mTMLmB7I=HFIr5IC$+N8BnW$DK>`oRV&$5D_ z>orGyyJ>QP4L%IHhQS_gF>-+oeuvi_`E=6~j{HgFngQQa79&4*!Do5Rk?%E4Zo`1@ z`%33eg88L|$oxs*2fXIU+aK^-k^Ia9VOli80aphL$w?v4^qM1QeEiBY{9O;|D}OM% z`NdMmdw9)}k2g(bl>^T|pnWSJ_5_QOS>?bddCif(W19RN0bhY!D`3BCG4gW+e3jQ6 z`ORPZ)*>JDHR?4%ef+>ibkZQ_2R5RsOLBf-BWf=4{}vzHh&~_D1r0ga8dM%U0UzQu zM?Ty%dAtccfrkGt`f-Kc^QUNs;0G0=4nfWjDnuQEoF7z(Is|#0sqAon{kTFr;@vHQ zcF3`|k*gH&5nglTxu(gN6T$Po##tBTwEjzZ*5o{86tt@@b~YSsi@(*YQ~$){_f4jN)vJH!eE!*I$YlkZ`fY1+nNCruD1|*Z4!Kw*Btpy)8qrd;JdJucfsCmG4jqn_&%>W@`I+yqlw^$kn0fa zpDae6LIOYRHAj9-sc(4ll+wR_2I>?PbF397SLNUpz2?ZLm?l#kfKM&e&NmhIG>ehB zzrkmC&5{70`j@*3ay zrYEoYovvd|_-a{UM$a zQVWqMOu?`4nj^o)G?}Iz{907&TG;=z7@4LX{06T%^6{q0g*kXWa^=IGU@>w53_i(g zj(m=32}l0?clvP+xL&XjnOzfnzSkW2I@4rG4t)K0IwS{kqlL(j9QbChIr4?y`wl_A z=zHxDi{N|3V&u^~@FiYz9B(I4i?-H&>hckorQ7yMc_Y&jjyxT?(&1}tF*0!hcvG)A@|#Rc zIP#l+)DLvQHP}LAEC+mu*BtqSrX?KtC{$|{d=FWSyt4&9#%qrJJ=0_|e(;r=E8N;q zZqaW4O91%}6t)AtofadfVDLR&bL1x-^xKB~J59F*zyZXL!w#cQq~H$h#ek-cjuZ&v_OhkBWg`;5A3S#58#d1bnG!@@pJCIHV6< z?pvTO!WsIb(;qo!=#Nf+cx$p8Dy)*l?wwJ!sV zIv4rTUUTHfo0f3ol@96bt#DPg5ShIdysFn6d1KQOj=aeseU%5U(=9|^#* zn%vp~Z*xd*ZNY47A#!UAyuH^P`IV;0CvCy6k`;_@=UxT7m&M2@ZNd9^&5;i)m&~^ zgKzMfBi~}0+>Qd@iZ$E{`%{aNM^(YMdCifZ@{>Pqk)QgL&g}=+X%-@L`+=u>&5@sB zn!E-8-u|b!&(}SWsl|NINpTDC=T7Aw8&IZ3-3u;(4%`hq`qJ26`_9!z$A{h$-~r&D zVU;ko+G9h?99?(J2O2UDxD>edgQMdj78a}jx^;>}fh*Uk|Bm&lpRhqO9oS)m`X|Az zuu1*3ft@$0zX<+v8;|rigP;0d_(hLbiOatY`^?R%_W<_YtodJuU3;tg8v@VVs{R7l z8$MP4PT-+W)nD;*)n5cI0j~L6{X1a~-==Z*0w--#|CL{;e$jTte!$zdtH1mX)qmfq zSaFx)iM!O_1O8wB1OF$8pSMSsTMpc~N0pb@6F0yn zmTRf;<$(u*oKT#TffG5QH?d)>X!+bAP!a^0vEZ>MY+^QS;!xPcJlMoXVG}pOCO*c zHt}}Y!+`fB;TqU$fqTv<7ndIhi7Rk&d&LI8%}IFdnd+|q#tUroZEXX*09 zEobGbuoaFL9n>aX0Gr4Ow~3qKCw9jHowyw~Q4Z|!iW0Zwc2!{;aAbG2i5cgqP22^W z_(Tu&6T|b>CJwqlZQ}Jk)xH6kI}wDq4mPpsMY;g-BG_5L3BZZK;aM7=06vg}kHZG$ z26G?~|Aftnu}`^J6P^k@A9w+9Y7%z3MB|Bau8fj`#< z+NL>#7Qn7aI1o1R9@zJUxAse|mAeTh@q5_BN>^(6M9$((JR5#u7Hs03utxyL1M?Mg zgLx3<1B;UIOW6B?HLlVM)dY3|b_QONgg3z^j)JWyn~-yf6JJFDu^2Y-0BmAPFRc)< z0c>Iq*hJ1Z9%Iyn?n1yw;FKhM9yW0)Y~mi+#AAAEg^0Ca6HkL3VN`z576S1q*hEf& zObp?F0ysAbm%%1}40|2$TVQE#oI|b+1>h#qL5L>|}j)zU051Y6O zHgPX(VwrxLpO^-F07-iY#9pw8x5FL=ru8h-t8iqhXH@ zPyDBx7z$w$SHLEI3%e9}!XQmg90i-$aL;EA zo7e_6u?KA8aM%gpOyH~-Ws7yaO$#9Az`g@GZm9Yn1zvKy+QjQ&-vGQDcn|P-;9THm zf5qs)Tnd5chGC6?XC)zL#wE%ux6wWm5a+`tZh%ev3ibiP_{6}eV~LfAqXNK2z;xhQ zNyzD9iG$(41(=tF6JZO+fCN_jk>AY|NVVGmrva->2Pt#629yoox={`b=iH;_xxn{A(w;urKU>Ku(!MoB(|y za8VMz2|L1gw_F8*xCQoBV8w^Eg2bkkGk+6v~U=!ECUJI-^0rdlp2j(l*3AREYHkhajGzdS6>bC?YaT9Ff(n%Wr z8gOkAo;X?kX~02An1D@`S0>}mRiKy~EQ3Jgn;yhzQ*;61JlOMrt){A<*cCSMD%iwr zuoY!bOP{6*h^=4~`@-%A9Fc_Gp3>#J0~^m&y9w~@B%A;{e%dYC(+eRG`TRJs1b$-0 zSy}*b25jQ#PpiKvurH9$xaYvWLohzl^q#E?5C_2~J^`CJ7dCOsGrBx+&2wt=;q`5> ziRI_0Uob8|NQFSmgiX8wHgP&^;;XQUD_|2pgiSmE`@ozq?Y7kNxiz2H3K4t2Ch{Fq zA|C-Gjzm0hDs18k*u+h+fw{pAbF~7*dtu)PoRow`u!-wn6BoRo`G`NvQ~O6?`T1%q z%0_4kftU%Kcmr%=K5XJL*u?W+(gH33-US>9>{qD%7%z~WUvU-c%w4nJRyKJR5s z&;vM#7=AHS4r?o661TwK3Y2?4@nMKq1e?f*UWkX_Cstpm%M(w44a^NPArO1QCJus4 zOu!~S0h>4%Hj%Gm6UQ#n3Oy2|Y|+;s5O=^P{s@~`^A$}%d>Zy_;Co5P@5>YGzpBfh z6k)Vm%eUdf+u!)>zUe@}t8_OJDckg?ezve2%(}7J_>3zrZV800b0r(^Q^VjHd z9X?d-0hF1OQBC}nsguZ-`ob}as^nPxDEEdxGkC+ zF!1<|T7gQyuE76y_f3P~|Ms?K)JKzVYyPX-n8`Qs{7pJtfq!)m?udJC(LTa^T)efF zd?t8BuhN7YT*bf+d^PuRq4*hGHZk$6A+4*;hDrvo=6;o(jAss68q`wwHmil1mj zlZW^DDL@XcGp;e>iCtiK1y0Q+0lt`oYhe?=f=w*9Su0c?I1b3q#O;RtAB|lfd*tAC z@Bgm`ulH;YGe@M>%D>r3R9w}>J9{EF5**#FsazGz%8`r~jOFgM`1Uh+6y@~|5V zUW*D4`L&(oQLf}cs(*iwM|QWQQ63xQVd5HFwdOT}je$*o-II`Cv?21VG{kL)k1^Wa z@BdT_cmUY!Gqw4#7k*rY$Pc6tz zZ-xE;Xk05g=WslW_`h>pE50t{c-9cqoD&=qIUzBTlL`|#2{7@N?b<>_&b&)3fj`1< z`90DJs_)Pxh)rP=yTis9g$+?8k0Je=-ySb(-dRBAxe@s=5o>Pn00iO;*hEf2nmi~( zozsdE-A*l-*c>*e`Q#LxiqZ)lK>(4HWfEoL%Xmj4_J&R5%#*~W@V^G+6p%zt;~3*v zlDY$CI6ND85s))0a#loQ-91{N{~cqG^-xwD;J-igCw-YiehlPh43kU##>86D91 zt2245EP0@$7z^g^(+YBStm&|c@51IhRmXg#@tkX_4eSV`@&nHHMC6Q3#3!);XJ6U} zn|S5{E#NF**CgabL_|&|B-k`6KN$42Cct>>|LSln({R3*|Lo`|m*Zq7|G{WzZopws zB8Nk{AZIusPRIHYIoAkL<_L+~fw&kp=lMAETQqQtvd!LtkUSchJldH&co>f>NKqV4 zNFJ;#Lf&;r$T=TkjQR{GZXj~TgygX|>YN3E$e9d?-Twki-kmg zmjL;GK9TR(6Q4)iT;O`(2H>LaH6M|0of9kkpnk!){D7~26T2dSco%HGkIjK;A~)54 zemJ(W)`a7*ABL50lfgO;yAnC+>9C16!yW`2m4qu{uLAO=L`B&sCm+-Th^=80yTR@bHl@IKJ*8 zm>Tbmr~agCKy3e0G)h%-apke8g=NB`M^dxPWQX;~r8cXYb!ognKpg#RIB;BQ)2f?$ zmWdt2>;4F5Mf%wn9u@1vL)F6_qE~1)Q1x~L!#aI^odz8xAqr$CGSRQO*Mp%Em)Ut4uh7o_hG#ofyN}W@$a$K7^^}?y+rPLzWMfJk1 zVplo(0`(K8hxPL%UBMWYiI3C{2a0~|Y!_#1GJEmV{M7Pg%QOsUP88WSZyxI|+%hq> zW0}!m?Z;y1B~W2O^D42kv{^XoF{#3=0cwBTKHMR8+1sawbta{reeA*c)#JF%;ebi0 zZ7Z~GP$M=sFArx;lEo_Ttr^>MZVGpZeeB|kbxUT3^(UvcE&J1`u=ixivTuUQSA{c0 zPR*QOJ6>wx;Ic9Dzp(z}snx=)rLJ~Z@A1@DWwOGHAD3ejHzva(JSr#`aAO{+mk+p6 zkJOI|xN(ovQvz<>BlTkgY-K%Q(|J@-A>d}F7U5CBaRImUk$S~|+xtlU_<-B}NWD_P z?XG$Qg`~Kt&x~Yr{2RxDbZQ0^g;U!a26J<+Rg{!Beb}c*P{jloP z)NW;FhrOq!HZ41(UN|Pg(jnn%5f-ir_Y2l3`1F`KalS$@NA{(%vRWBC!xq!TpFbug z_W!0`C1@*KFY*_y3P*^4U@AIXc~tK~`1$fqSLkz~@4!nvS3!SG^fJNm!3`&)`$Jy~ zebC8ah3TnH!#UGZQ*$|Tot%`P7iH1|D2$)itfM=8&_*z-JU^9raZ)8xPWksMQBn2q zqv@%g>Xg2w>zan7SIPb!C3SCx=})F6T4eXsrVNohM~-iiKe*^f{SD{^7lrF&xw4t{ z!yYrF#q;VP8!uT4%YP<|Mavh|4=0MhY}U!)@+dC<yn!7sZ!CzYTfH$^kLb zhg=nxn;YB$$9gzQ)FJDue^ca;87G3y3SC=A^~_$n0<2JqJQowi7xYz~oBl=UMMvmz zjB8g<7brQx5d?2QFYSM1qAUNQ@hpkaNiTO2;;+?;79syD(1-l<*dRWu(Q*CBQAevCvtoto3a zAs<_C)Tx>;xk1uSLpfu^{ZFU%tCN+q+@0y_&&Uo3&Q9%Dw&coi`E1z_imwd67dtn3 z3pQ-7{XMOzZqrGq_gm15pg#`%sutL9nrXaj)A(;I^b+W!pkLEc$AB-+wNy^f3@2fY~jTD{B)DxIP61^wdqbL5PvfA_;t+FuiKQ~nIy zWgn>zX>XgV!W=msyDP%`=E$Zh>J=^!?12I-|Ms)dVrOcJH=^7NJE~p;eJJ$h&@;~p z)1OcMrbX$STK)m}b35sB!#Zj{J?{p=80dpKhCSxWalcij`sJ`4|1E+)Gc%kxS5Ex- z2g9urSGM3_Sm6cPAf*Sj9NDGgzdh$*gB&_izxZ6NKlJOc0Y8Uc@QcRpfu7w34Uhb6 z_vO&@RSy@xAScZtRQjK&M4xVGyiQ@&7gL`tTX1vu+KZ`8TNK|cCrbHaWw)KDg_J_y zTSgOH+XIE)9M+j9D;t~>_Lvv#U&F(>Vz;2`GSdT`k57NV1P~$4qvsD9Up4LY7i?H$TfIj35 z)qCi*NiY?9QD&@H3ob#y`jZN(e_gp;jQ(D}Ny|-pDcrFr+RfX9RbNT%TDxR`Tz|=* zoG9YI)i+0ZY6p4YZLg%(s+~4a-E!p+{~dyRNH|m6oigD@AwlgyXpJPjspwJGEL`^U zAk`(@E@?vdYHC^wca0Wx7K(b7xuCPf4?-`!CLH)`YSS`l;e=OHo5}B)w_i=|mg|1j zx|Bf&{AF+uoD`iGinPnOgWl?vAgC&O&o7UT%S%V8SBPF;+A+U@wy*wP4uYEyU;MFN z#!p7i`vQ9Dl=v_gKD0QsQ60W^Dp!y3U$c!G~dCxgsL?WsVQGaHZ?oUgw z+-1?ln{kK)}!s(;=^UllnOdJ%L!WzYor=c3n_i{#8-GGfI+|5fyOi|^G6orxXs z+#FqjqApq$?Lg8+t`$eLKrmlBpIm3fe^a1m-L74M14CP&%RDJ@-0LXdTj-P4=$0$S zo||!p=FeQ96iZr+@F8?Q&2SRp%Z<=AOZ!Tz!aNN{k5(Z6Mr~2K zn2P@{M|?(_?u=uP((;4*u|Q$gk)3EZbiThd6p2k7~+i{X!SG4vsguz^&Tp*ra=*7p&4FcMa`(L6f_6FUb2u_kxDV(^d4SfMA5K zvG(>L$Y%U;lFovmXIImfs{{Sw zaQmAwZh8&e<$lw}n!=qBJ*qG7A#uIeBYp_>X6pN)mmH_ykmv&xkdNykuHRS4!xzn{pPGj)9bXqn z5HG~Ki6bhYpg;>g9R+*}J-bi~ZUepgy_$%3<61+%RP-oMQCD5Do1j02c;1~mA=1<2 z-+FOG=g_Rvv<+g1=m(=ja&MzrZiV}_Q>AU!PQufBOVOjE8kE;TPI%P)ah}|OcacY-fUDIJB%e%jMUN_U$qKE|8`vvm zBYw!aM{d-&pjYj4War$+_`*n+9(585&In(ATY7Du2XqB_bD6!cNc5=u!iRNl`5cQ? zdQkO@mvpz^sKo_miXJr-pFv_LxeIz}HLb5UOAyRaU3v`;2XyQaM^tc0Q|%;jl@tG! zmllik%$Ibx=mmYK=v9I`K}PH5v4VCA?iM|&5Fe!A?zjkgL3~!1^0`SrMgcMjTAYY$ z@C_E=3-R34)gICU_)HWV_G;0iihlL$k$G-G{1IpSdQ#L_EHGrkF>%3H#s3Gv@^HXA zskP4AjpcYFk>#Y1*3MqgP1m447Q0CFsQk{k90gdw zU9Ks36j>JDyF%*w3EY|ZIe9D=t2jpM%Li>Q`me@tx|qL3U3qQtA=^xv^Tnl!oPEyA~E`06plO66*syYWy(hJHFNa!0j!0Dmybj#KX^wR(e-HddhG&o5f}e$#RA#*VaQE$7<$G&O_YZC>f^Aq zHhrwqwY75D-cP{GC-U+8Dp)Rhe3rpaM8=mOp3m-5uRmU!FLS>(-zwCqmFUshm0&m$ zdtz>IJ{*}HwI^*v7oH}1wBh)8Gz)ki@oCuQkSO>b@p(xX295Hy;N!`&`ClE*60m|tywjI{sxvFEZjtp0q#JJh?#zRuKIrs5Vg(ef)>^8y;#-gq}B6Q#VGz zQ$>$|^yA(Y3wRarLogOt6Y;-7FW44!@H2yegM?Q+rfb%qy{_vbEHD&$b`33G~CS)pY5I?QIOkzHV5xP7&Zv5kn`a^aUWDMiN&Zr~ z$U*`0;COVYcF^Ckz}wKXl75Wr6g}#J1-L)YH7gTNSSt-%W2%{7oWUGfD|gXy|XndeD|k-yWmhX#3~$HjlCJKZ4U zpC!6%%W$vMG51{rZ8)GCyfcEfB558DooUd2fL?k?3quDCYCnk$TT>P8$(==y8a(e- zZCL8#M2{+w^PyB?9)kEBXA>0m2Xs!IG#7ft3@z;E@3hhlpkD;N2t(97nhg>?sstZt ze-ZIBRhJ(>eYMxsf#WrC%#_W(>wMkpy8VLS*r&AM;y1KO*;;3a9u<)GqP7YP?gyO@ zpq_;M_ajgK?@_DV9LVsw{!N1;DADGcjQ+V1iTD=4sfe#wpal=9sQdA%RCTlzJ=$OM zwrC$}hxqfu?>>^QHyDd$U}*IwxF3hkNnM|YK3DXpD;3w!_3H$E6XJEQm?%d7euT~! zN7%0aoEhio9k`2+Y^ZtSh#Ig6mmFzG^a*sn5l8(S(c=>kj;p63zIM31Sk~{fS?bPf ztK07kxUUsGT9538+Ppl9?-o5Oo>Q>OQ7!(fE)5Xrd|99CcZcY4d)%$7(O$bluu*hr z_VgfcjkbFp5*@$-84qc}AC^%^y>RBoQs4HowVdpky6+Cu?ifsio_DpD!|R?mp>rac zQ&3E~XEYDzENcw?OwptImOWY%=RohNx||2lak+xmB2o5GtuJ@;DbO>p`=5YB??Io^ zt6Z$`SoXE(QNgZ{t^m$kLGNc(mx;S2J~s$1L!ukS5w$oUTE8FqRxA)8k#5%@_!W9u z8{Gt5aOykfInBda0dzIw<^*)kNfx)z1yaZ&aYQvO8Lc~elcTicZCF6x=9lRiP@#r% zG(PJxEtoBLPI&Kn*`n9L?eJ@s?y=B|pVbZ_!8)a9W@>gng=&NuRC}# z1|hNE2M>uZ?Ux&HKB?DHK!G}fftTwRst0{D^o(6vKnnDqMUUHKte)Aqt2CIa4a-^O z*u^dvJ&NyLBg!vZv^5fC!%^_1CfZj^9V?(0p(W7X!2#&`w^WD&uR)&jFX$R)VuXx` zv}U45J%(=@J{`qN`9UXfL^aC9ReoJ08VB9A(E{pYUt9`(5{6fK(E0#+;p-aT33+}J zJt~+pDl)$2i&B16a26gjc?=6&BaUc9C_8CHXt?N6B2LQI81ajs^NmODY^y|%@)u#J z<-V{D@fp`wh}PeaApI_m=ybL=>2#JkPYdQ7CG2z)p!27eE<`mABi5dCZ{%KN8BxXbdoGg8V@*XfyQ&DbmmDFJzBBscn6RsW}?R7gw4_*7h<`J zc>VlDtjG<}Ir%H~k2zDaR9=r&17Ao;Q;tOykQVn{&MRESze>0fS zS{*^bQ^&-i%TVhk-g7+i-F!JZc-SA3(H>2_^ zT0qyT+D*>J0;fRFz^RAVmcvAkT8J}0)Ij{qC_cUk@d_gN*7&K2SO+~D=Lqe`L6GvQ zX5^gSJg0OJJzDhu7yUehUkN>RmBU_iCF1$YR4Y{C4b^jl(jT>89$h{`qI~?S;6dz9 zBuak3qVWysd(2svjiywlm z&OPB&(W5+>?`Fi2nTYQwx-_^`1i+%4)(W92=hHvpmkBk2fiXP>u+Cq1> zLC`C_p*mlPtPTBa=<+^vwEq6o5sD)!prD~%{bgZ+rO-$W@q{SPGKwAz!PH+fSF z<~05FpkE?-l)rSIZc0Ah5RAbBoDt((Ebtt3zA0V@`fli)Nc&{y72eWR<4MmU2 z;auzN5}l!EUZ(Y8G1<`byJ)@GGIxm{6+dK`7VnTh)cD+>2z`hvvH*!V3E@O6(B>Vj z5I;$CA@s{dj~X^D>8H^x(2MchHM_(p=)cELe%ve*Y$DNruRkM`P*!7HN2dn$&SAqQU}T~^X)u3M#f3ioJxG$^CxTns(= zmiS=NC4YG3Zn=QFH#X#FM?2k4Z2Xy6xINA_dO`?-dC&_hYGEl@r>&w#Tb)z0Jq`UE z#1C=hW916;p3L{-O6LY8cwKG?7MP`uAPoD98G^r!%SLxPQ5VYTX5tX7M>j{2mMUda|8LDTr5fZ#DABH zBWfs@bUX85=vmim!MZ(y;63R4_!xJmEm}a3*GSi!7rKo;h$_Ut$C_SIp?L?9q9Qp> z`!(=pLoeN{MRG?P5q`H%87Tw!HwdnTV=5dDPup~X{xbBu%eCMV>~6cE@4-_>N1+cNRg8i! z(SkFPCmni5cij-bM7oq8oF|T`iL&&m`G8F{6bt0ts|%celxA8Ay?FR>v7rA4!B5D; zZ~E2M@SyC+TA@XF_CkM51%VSizV;2SI5rMtZ|sf*3geqCK`;!CaiT{Rn{@SWNoai=V?Fvp=cm7FKp!i5l)n@`oXtKb)`Q2cDN`kP zH@KIm?kZZhiApqJoD3wGWmqRW|EMm>&h zenew#6h~C)-+tDWKLrKvhn}`hTd6NLR;A5oM2wrUfKx<|Dq5UWa5w1DcirLx2V3iQ zB+5z}zS@oj_<4ZSQK8CPP%sYdMbOhkj|wipD0v$6F3^v-c8hl0>)_y|jw~Pnoio6& z_pB5>YN7lbJx-KIOQdYof;mMEyKNWIqj>pPY+M!UmxvzUFDS(b*2Adj5^+Rpz^TJK zp@369)kFi=YyW#6@#jMya)+LSj>0y0A9_Izt!RD3?-xDFFVk%5fs32ql+SbrD=Mpf zqB|C7AM5fo1g`9ALBCw|C=qA%;hGH;JzC=-hjqu=ovI5IK+o)^ojQ{Tu1#?PGOn>% z_qBE?;72SFT&hQ)R2%`%_*@If!-=iITZ&`8mv3+n7cTG13#=o!Qp;_@U7dEOK~YKg+pM_wLmf}Y!QjdltaP=Z8R z=o8$J4?`c4rQ4DfZSaK_P>SAu7b^6w=ut~>;?R1i&_3vA>1e79Yr|2sL=$DU)%{zJ zOYz?p(W6AgNrP|Siyp5T9{kYtlP_>>SA9Ho%ZoKla1QhgJayVK)}{YlEsm&w%m!?JQ4}QO7Gt#81^-jrg^qM}49o=~1wwcWS}>hSQ0NKM{J#Eyrp9XTg2p z;J4wpJKZCCR6tS6k%#I@h%dTc_l{Ml=zF5an+D?-C!^qUyHqc@MEj7e*a@*KQyftN znOn72XJUc=;e;RLJb5RU%SzXC%N1}xBYM=bc^F8l0(~QNPUg+N{VnpOEz~V7hoSiI z*xg#Mv|qHr=R$8Oy5#Q{&%+AiQ4}_%|;C&VYUvCZ@X|1$-6diSK}v z+oP+(kL7eh#2L^_l77Dr6+LRPyg#(X8X|rS;xk^?O;R13!we5(p<>Ccep@3_2fuIx*f%C|BpXgEVFHXAWSAh5-p>8|2?Na2| zZyuc)1nLfgHE?h`MCvE*(={%|(6d8@&J904m|Ck`KXJ!RIp7XqQO%RzY?}pr2*$=o z9;F$!L+6)7*z1q`Qk$#Ap01ntR8;t5=*5>F8^_;< zMD8oCXu-u5V&w(sSPIcscGLcrHvL7+7}a* zLK&r`QjAN?^ECB{{QoO;qkub zo^$TG=bn2%ca;RKf&@2*noGRK3{f74J4!|OlRlh9qp`S9>=y{Ohi9#?YA1LQh>Jt; z4D#tAc<{w%*EgD`mor0zS1o)|3OOF5fVj8qV58A<`K25MRQweRh1utkjq5MC7C5pw zf;zSm-P61AtE?;iQpR5Lp{LA#x&QG-Y$c-nE6yd zFT+!QAzKT}kiO@qXh~OSfwc+mmV_XvTn|TRO-)-If$P-V4dklzr&m44VCsLMM^ zKZf*=9iNf_{UYLa340~LZj<0a6SgP4tf@3P48isos(EHF;`S7CWipyX+%98pLHuFC zRng2p@T#^|kWk|Y@YLs}wEXV)G}Syw&?>O!mrTIF#PhfsZYK#k{{ect=C~R7yBh=# zEIJC7Gd>Rru5CB7GZIiXbsUzxPDW8LIDMmxg2Bmeq_AfKzo)47e?kR&ETAg!NrI~i zg*?A^fIZX#;;|tJba6O?`_}N!fnP|!um4xTC+Sj+(5`KMdo&W9JBG;kH@otmh!?g) zSJ#i;QR#0el#9a4QdG1*@d7R{ol5*l;+f#skJQt8YPwkxw333`uZ7r*-bA_>#qG7x z4rFwe;A#nfOU&)0zkL!IOFt0&))CLJLkP;He$wR_1Qfl|z`4ta$2k*jCAg7z?j3ge zw9s?JBkWm>emn6jkGjF$a#OP4!5qP@-0ahynwI|uB`e^V+}x~_;A)A4Ctwh9yHFSd ze>r1k^xW`k3O!E#srSlU5{TTwD)@yN3K_JkQ=!`bB2;C0XO$_`R&cF?_?2i6^m;c= z@xZ-j$zQ6nJ=-24$7RHGUZ<83Jm>{WwFxLYk$xBHV_wlq{0IK_s&GrvHv^t@b1y>K zj8T*s{FA3Q3a%S@Lf$^kg@S7lu?}=%8R!}EDOiJ|uc6@gNT02&4J|2qkeP7QGQ=@J zScCzZ>F~%$QF3n#jK-6q<781=RVSxCEN7^%gnmZUH9ltuuJqY`+%o$GL)CO<$Z#Dd zLHu53$S|ybMFC$EAMph`#9gHSk9;h=_&vmv_IzC4Ga&a_|7a6o)C!XLo4vWEM%7RfI zr@*X^BZ8}w@`YUa8^7y`+e0(80$AGL3Nk8WFfU++HnJl|8Tkv(ge-T;_E}XZ zl!OR#(G5(vw*na114!mP zPYA9GCC)%utFsI5TM_j32JJ=U^OoRBpW*D|JodZ?1lKx@@Mv@3R2rkJ%Ptx%!K?^0 zHAeLXS4RG+`jMoM@#`l{!83?2od7-@7`unaCsl|7oX1GEN$_B(Zm&i*B%>A~mf%a& zeVq73f~%ri2SPxU_${Q5o{cKI8p$q0JntFs8B6-&m0*dyTtv$+? z3LcAr^&pmb2JyXrp}EA#=K;Zk-s*7C_Pa4630mUW;~-_U65fpn6q9!5nYHvQg`J!Ie)uXyxKH)@j|% zglT6%06b7uss&ez$9QhfTx=Z$6fVZ+V_B5L)vpf0*;3%}G8LUdJhvBJ#}LKUYwwi= z)yTgb>RICUmc8{6ACpo1I}F{r(U)4w(w7d15?q2ije-XVuKevuFZ;lrCwNjbI39&; z#|&>ULym#aEOdYZ;yhSgoAjsDWQoV1#J3UeOFZnIGM*^7DkRVPqSdx$h8LM3T?;1d zh?;QqYN2G2u299g`;GxFAIu-2F+4y%mk6#-9sduFrx)>S1P|)|Gcc}ft#%m`9Jg&! zuG>Z2-hpdOMiov2qi75zHs`7*xC)N&3~O`J&m{eZU`6}Hg|&|-nIZleoWe@Bg&E=$ zu#JrVCVgH*R66(N%hlWv9BKtVGuYRS6I@GdPkdPwFCm^h{xBs4Y-B>5n+>e)cN5Ra zij@Ay-_K)sX4@V5>MR@g@S@W>gWFuMRq~I#xx&_E!itZx)@EltDc@%Jn^!{F# z3Jt+O!TWj3ft^bUo>bFiO1BAESd_ny8B*O4-Um~_=Yj_%9*aMC~>u{u}WqFPs@hyi{Wd z@Ne2{OZ@svO;N~qLzoZ_hP5X?#BUQ^y*-Z?xST@)dr3d5HyEuYUakq~GuNOhEn>75 zTua=T{pG6oOqNLC3ki+Wbmily#z&(OSX452Y(*n zNxHMB(P@$p1Qrez77}mE4E`b45u`8RD0L9&pCDeCM!~*ku&vMn{Nwy8#YBSC|2QV( z+CxX{;a3T+rV9-Kjv94tGx0FL;jACrLp;OFflzKa!PXLdGQ3%|E)|`nxNfv?oMW`% z=0lR8mdH*;Gdr1stX*UjZG^AA!OT#p6$GTb#rWQWE1%GISfVGraf;yD?DZz>!2jh# zBlyiDBYU3Bn%N5CE%{w-fvAuIvj0H9ja0OZESIR|ir)kqyv-8VBA(-LT`V2QcV{yp z+721)YjyzfIIl>4pN!@St|g1qM5S<}q}w96maKpqwXC1rP5MLvZfhT{CC^AgQ+wCa zO4j`hI?Gbj{p+;QwSsHOvfiS^qohwij^U|YOK^1_c@)+U;n+g;ewf;_=Gxp*Z>fD!5L0Bsf=_WV3fiB|!zxpMfek zof%rS0iJG!N;ycUn=ZIk!FrxMZbkZeq;I(le5?R_h(`**fUTyjJE<)g6*)90%$f?W zNA#jRqQ`={&iNaw*R0-Ws3fbt_7a~3&YOu>h&)1T`QoM`F7d-dNt&eu+f>& zBHR@|d?CdR7hF9m_8)p4>mp~7J~19<`G8`U3m!O#_ZjhJz(;Nf#2&J1wNVMn zqli0BQFSH0jCf)tO16`x&QieUHc-7c>Hj8fPaO6q-Z^`*N``aeH_^MghMHu1=ca{ZH16t8@k*`3yl9W+rOS1ph?fP{GxSvb+Gz zs$d%F?Gea^6ug%7nGX1Fa_@vxt^e`PW%w*_i`VH zMb}#0L?Qjmz2a>7OGVl1pr-P3#2qh-v-GmYWG1$R>c`*IIDp?{5yj67;fZ z^9_{J1mDOE(HEc);<79<5dV24@a7aS`dkP|aM_jd(yb6&tr+VC{@Y3a73rhFZUc#B zD2LoTa2_)FHv`oq{xmN;=}bng1lN+qy@P$j1=ngyzlCZ_kbVZ~>#surf`+59^nD6Q z6rd$!SbwF?hk#qWs+l0TmMj#KW-GrsY_l7PN4Pb4Vvy?GZ{*`2{s{NrqQtQ*G_o(^ z8zezXme>o^Z6l*+i0AR{4DBF4qT1EL6^@5x@L(FZ&uO*(~vAn*-?-N|)UgEy! z3c(3l_H87%+|#hQ1;}Fs-pP3^;RpGkmDV_)gYjczG-`JM};l@kC48ACppb0 zHjus|&!*I;LR*aw@4_2lOA5a-Vg6Q_^eSekA|_G6xz?zZ3n+Lo@yHj5Bl4{h{0fQt zSJ3|;xRyBOeSVk7Z_`*BVW)veUXp`&`+}HEeEhe-%_UzTerPRlE8j7}RoyttXRcR6 z^j7g9wjJ|;w!o9lp7^$?I8_qVCF5M33eg_(1XlqCoEWvn`8x6Ic*3#?>32hbEALIl zpAw^8gEb#p*`m0{V-zM%j0yNJ!M0^h$ zXJAov!a9S%=-W;(sde>d694yqGYI`?!POE`-VSpC1>Z&b5F4jOmyLpJo62&^`T^2^ zCU{L{lzj+|%3P_5e92>_V~qTzWxV^lqP3kzJjR`@7U7=LoI;C?E zuH99?2=t*AXkCZt%wq%>x#zk?`7h^HD>a_yuxzg@Q}w z?`|$NRDT%sT2m5wO=ogj!L=r;otXa&Qic;h{=5O{6U1-j(ye{&EFV(;ujlz8MAe9ZdZ zv4X49$9aqkqb%nZk-qR#_`D3af?t8)T9tX6)Q7sx?G+q@0S@3EX4I&48A?!iCVa`} zS33)?j3zAt3u`3PNgwYGdfV8rSa7X^(2FQQee!=MpqI0Xd%Ve{O=Ohfu*mw9-vw8} z3C?^Bq^T>80A3;w3N<1=g1CQ!@FRi;mirhsd%y+*8<}C+NH8+z`jvRxTdt@w5+zGa zL%c0yuXw58Dj>(JeXSFnDYzCO&RMUwST)Zl$>_*y5ZoC5am6l220suE7F3BEl94ZD+mj^H{; zAM?%!Ef!o`K>;Tu%_m+U|Ja8?-<5Q=VL|r~6Z}=g23OG3XCfZ7r|J3#t_s!RhkAV~ z^t9k=iPS%+W3$AY0WJ#hElfDIw7>7jXf3-04Ga1^D!7_DT>!+sb9;}1;FmaSZzHs6 zf-Aj$Ip{sa)9<3B|FQrtDz0m4g>2vEbUT@$;6Ir95$NM8jD~ArQJ8IhIN(k=h4eGlQkMS8Lw0^l1pSVAR z^qb(SXzaw{uRy-5F$MxsSEC!<#}X_fKCcW)j6EUFy(G9Y3UM{E1?dk9u1*(aAhO{@ z<+0%ZFvqH;S+J&KlVId;kRB!(lu^dp&@_pRQpccB6HfQMCb%k;=5B-96!0tYYA=HR z9xB@JDmZB-|LV3iPf3oE|JCe^ID)j<){}q~KZr{{+huq%Yv)RS9~? zCc%TPxrN-+Z^MP%%;0aQE`pv11(vf$JyCE~wC#5# zn+GhSWVDb8{u8y&DkJQ}GL}Q|J@F?h-4&k*maV;S*Pg`FtW+!FWrC}1^Ei89-f<`C zo3lBXH?0PKt~<)b{kl~79cG9>ZbVz+soMZoNFLI!XaWCvgkbP~}Y4+zZ5A2qg<^2Kj9h zTorP&@U=dYAMGusK!Cq3vLEq7cY(jfnd=1~p^U=+g2Sg|^f)v4Z$|t={LN3n$b7Qa zwGf=+bVqCG>3ZZ}(MeovER(mlMK*J>q~Iz(S0Ax^5VL(rykG)atBE;EKI!V{A$yU& z?No^0!Vz$k`2B(l|D-$MUB~|<65OAap^!C+wSub$M2bO08#aAH`j%ebzmvEhR!T|R z3o2-UdVo}MoEkM}!p2GvY_4>U;6cRqE?B*UxPKmWBJr@d?(qcqhxWtuf+-MnvDVWe zU?pqL1_c)hu9}wSQ}brhal{|yTbqcE&RtJF{w3!3l0M4Kp*H+_LGU25*Wi+obty+A zK~0_Ai#})*EmZzGDBA7fqAu2nc+7k5`5NMdw}8Ge`P@c)U>9!RzKaPDOM;d-dLB$P z7tzvf6Ll(S~R zN2CUgX+c6&m*%#4YrBgCSA}w%uCw_3lHmFoJkI+Jephf+G~^vzC^Z}Swe5;psFvVC z(D1h|ogoP-IPwlkAVaX=cNrONSPVv{(0bxcDZrZ0hs4KC1-&f!1iu{dJF_Jx1;8*S z^p;N~b?yWwgRJf^7hDyJ^Fmk?d?!Dt_U?rM3l86sKGy&}9(~j`&wuV5@%i2 z%nnYh5?l?K?TbcYBNKNs@aDlp>xsLMt`J-+;!3X~W|Dq5XLwAle8Hs{vZ16J^nHot zP9wo3euF|&sBnW@plE`FR*rq$#e%D%Mcy(JURM*}_Y?SEME;KwzdhJ7FRS`jGok7n zFnZ`gWH7_tA-Ebm))bbokG|6R#k$w5UbE}1Xw+HWU~UzDVSXD)PL7deRd3es;A#V* zm4YkR!f(MfOf5bP*i~@pZir?Lh#w+-$Q%2&ybXLhRs{clNZ&(nk(+e>W&Wd>!L^3q zd}f$|46YqJ7mFRw5%;h2+fF?D6h=m2^7%z@4RYyy+RI9tPBY=8xv+#gF$)o-bRwR4 z9wo3QKb`nkuF79aK2H-LH6QfmQNIYTf(v+;e^3z`Q!37b;8Y)!co!MSQU33!V1 zxW4Md?NzUn{t*sBTT$>Yf~zImTb$?Z#DofW(CKEuiN_FcE4T{&VMI}r4j_GAF?a*_ z)VS58F9^X&OE4(@P5i{8A8LR3opC2i#_O}IFvER<2W^Y@Y_$Zr%MmYl7FAZC^rzoN zK0Kz1?%lbI1Xn)p4$w~{pZQ5 z6uR~)SPtT4`a*D3C>b9E$i_I6nJ~R9GQ2`fZz7(41O1GZU;!XbcJ;vd1a z#6<&|)PMc?5O5u*!dsBhV8Jy*ny0ue;5zi?h-dj;Q+@I|X%YD31-A(~SB-dQ!PRM&3{n14$+qk`h6yQtGocT6?h!Id zoDbwZGJ1>jh5QP&QO+*njsHLaY$$&Ey->(ag}XdT`EDu`5(yY{HU+#UxN7Pzlc zh+mJbN#Axc1o)Rq_9hF(DT&>MZ5&2cvQH75g5K6Hj~R+HMhC1>8^q zRj`r#7ZFd~4DT$-oki}Hd;mE!eAAu?)DdU*gTK+GBE3$B9GJrN2k zk$ywKM?RN%s@X!`r%7gr^Uh@JH!D5>g%Z4n5}lQE9f(JHV$V!Ej`(VCB48QuT|J@b zBkYadC!UOZ-O+wY&=O=Dz(h9KZ~GuDk>lA#E5Sg)l|IBVeNUG72IB4xjIl0b$?g+e zeJhP)rOD%)qMv8Nwdk#QT(gvk3Tf!i27K4VVzU0|^$x zFBV)GrTCnfh0-~skI>YtVwWKv<`DoBypwo{mNxv4M}jX^8F+i|>Q;Ibf(y7fbp|Zx zMhdPasNwAennU^-#ZiFXw9v!E!+ibGKFnS+{>if7{0@syDh+20^X!3HqNU(!3IA@d zM+8@e)-Qr!+g|!1asS|Lg=OGh&=}s3G_P(f2`V7g7m;fYOK=%+e_QA@;v>pI@O0AO zBe*K$-@Cn<_-Z<7W6&qv`(*Sz*XL}A@+mW%8}!pB=66az21T=z;ciyq&VsAp{@!qT z5b3vviYhu<@OmyOr!9DQvN_j{WaQtu{seK^j~eK1&FO98d-<8%oR+BZI20}9s@r0l^dRgJ3o$ck>g) zl0nI8dlNseGebL$qv1poQM@E9mTdlQ7XjW@x~K z44unbM?d26wxBP|h&e@Yt(tegM#-j;&m7YGcX2K!9&9%HKcrgASw+oEyLt>j{-~mlzbbxqb2kL$!6*~J_m^8<0gKZpe zso-j%)B-r&w^VdF=?7ostu}454BlmAZZ#Nv%M*6iE1oL2`bwO0GZvED6JNRy1#3n{ zuOS{eepe{lUmgWS=R?yr)O4HS9Z}-v*=(w=LGw%Xf=Coaqiee^77_;{LYA z5lJQ-*@*$bH_R|m@StS8@iI<)iQqa{9r5O>R|>B2Aj`uQjY$6q`H$uq2bR};NBU%@ zJ4#>~$`^o9u1nF9)e~G5YIy`EwHV%mcxCVS@_506y1x>wpcXB92kAE*3iu?C?<9MQ z8A82bx_K7HqSqy#0fGlr(*z+L-LcpsPZG3bU$FnSkogMn ziTzRHqb$Kz;(dn$x9!@+pND{gb`W5#rm5h{-@i@uJf#oD|LZZJu#kBdGx)vYCgNcp z<_xoBhluCAUatNN5WIvFe9cL}lz2*p`GG%Jv)LvI+OJ2vYg2z>hSIzM$G(C?YgsZj zCwy=@*H>^gb>Sf(9VvJg@eprqh}rmmITJFMBXrbeGyBRI-Gh(F39N!fFG7H;0lYHt z`vg~0=kX~rxSn&L6Cdh1=|3+fQQ|arejYE`OJMZd4XERZEI|XowPb0o9M~4sal|vh z76#|~!H3;b#6RVh3Y#Z*LGa*HF3C-0<0#;RAVK%RH_V+``Xt?02P(@BSSSv^g zt|fE4ugX4B^U0?xZ}MmlK4aapWK`b!_S+pWlBpMt4=m=Fei;g#?VUcTCV0pl{O@*N zs6jnleWeekI;Y5AsrBDFs}(7Y^e5bsNNj#kwyF9__Z{3 z4A)GA$GgDs?=y zP!hBR1-z%VI|aN#Jo^`#>>f7gn)%O-kd??YUqiO|oe0jQ=(UrG`!~-o7F^30u8MNl z5U)V+Wzyqh=p#{z|DN={lc>1~#7n*&$W6LF+@4}Xr_&`t1?=a?snuvd;?5I1j`+x# z5Mc4-M&hsX%gA0REAs{loEo5kL~3pjHEPdk zVc`1>K2b>i?E+l3yz?IEz;ZE3>?a8-AdiREKVpUnWR%+kM%Lc%A)eY@6kjEHrJy-} zLym37!zO0KQ#PXPk*4s4Zj^Km@d93!!4T^v3$B`V<0q0WJI^D1A_1qF$4=#S&{uY4 zybk=pz02mw`Lj16J{N@mD`creMPuDqW*9XT8BFE- z1XlrTxJB9q=BvTTIqw>uEu>Fzi$HOBkE{D3_(Z?f0gAMo5p3%>Nuk@1U~Qb`?|YE25q_hnJ_A^s7V(Ht_tP-Z&MfgXGx#O zGq+*E^!K*lYN5h&q2jH8-M6F_H-FGr89>}E>B=w8 zOMKrYzjp=KY>xamu5jNIU&2_~f%H`iLGM2X*-~)jAE_+7J6CR~j!hROfTZZ_1e$YqTQ-*REl`*EK9AebifF z{Yh|@pXJkr&u|8H)ED3%xe8Tj9&j^ou@Dnb;m$2%27h&Z8}Xt~c*u>}J0QScrEgB$ z-*OcdJQ#Qcb5kPU+R(+!P~dG7Um&=aY&9o7&1D`V{pR&>B{OU$5Kz^nc~6gZQQweH z-aoKJ@S!I1-5+GMXdoCxSwl^}M9GFu2X3x3L2y;b--4MUz3c@JI1D47FG!!|aia~a znm+{(4wCz~ay8!x0eQC~?hN2y@nXT%bg^K+_lZjqW)Kg1N9X4YuF)#{BzlluROros zUcQMpc?Zc4F+<#Yc(lq_VAS|Cl*~-po%ofEN_8pVO2O4apYr~j0 zq3&le!)U=(A%B%^I`I@Y$yjT8n0T6x(;NOCaV`}l-8>5Ti3zR;oMj<#mxbUj&PK`F z5Ie3j0k>gxYvQr1(W_(7E>ETs|MV+V@sWU!)cnkOzDGzB%v#QoQqeid9T zk$V}v%wEzzyC;c+%(XDJ3I1vi6q* zuO^>W0lj?eCGF#pb^MAXXx)SkL9jW?pTslt6;rgqUI<78lT=P};x|EX<&*I&`UG)V z_6rD;cQM0uNzjPqc>nza#1Aqcrx|g_jQNLUy zu@9Q=jzXjAv_u!d)pU+;9Id0^X~Z+UWS!q(?qTxrZ)@HpxE3tzjmiHA_#|aE&3p5s z{g13O&bIfYLe~hc?bva-zXcUqO1zNkkTz5DT7b((bPnENBff2dYt@v}?E&il7W4b; zM?&2D(z}`XQ=BWa!TRHZtA!TtLc{)=PVqAF>=-!pQYw0od@h^{OG{;={nz{nj4D+{ zf;n9i;<<4!@*pyb5ik4;^wz0N6I@FcPhfCZZw`z1j& zO>pa%nn-_Zm?6(wp7@-2&nZyIy!}7o@)S>yzjg3$c|rYG`W9ax7=rlc+;~aQlBM`H zZ_^Y{39jCo-U27;O-30qy1YCDScu(5Jlq?-$yUbX>IWb=^C&FQmVA;oNP-GpItz@( zFkvY(Y%K@;9^x;NKH;5eJwW~v3u+;;|4wSu(h|;viG~yJEVx>z zKj%}-CuWj9$7?ao8S{(}&%n zU~%GB;t_V!r;+|0^2u>HZ-MJ5ad|5N{(l2A)IEec4tZCcb`x9`a-7GnOZrqmFDoVd zAhBWf!=%50w|q1w{VL+I^H9ZAB>n`ymnA_@FXh>-(-~Ga%Cmry^cYlP*2deqX*0uTop<)&|278DR?VQ z@cXnMm?6Ur92VDH{<2v$t6$OhAJ)WW2vkE+PWLYHIETR2g_Zsn^o5l$w`B45QsRqG z1p|v#SKYhu%Ie99lB&x2%kLYRE5ZACy0i2-;!&O|xs-VA|G?+ir;uX3!?}X1f22P} z3}qqQ4B%2RWnf0cYI%uP611AKyrZ94i!49x^=Qc5MsvEd^ITjZ-M*RvKrB z;HpdQw}5w`%S;7*(#1K7AblLRFc=N#<6!4(n zs_3pIs*qGde`@MZLWamt)W;m+odwqnrM&f~B1;j=1lPA|BAkCU3oRpk!A8X4=g_EKs3iELe}*d6nPIfxT4ib8 z17L2oKyW-s!izjBux@rrf|mHi%N-~}jZ(nV-o?mg3$6voJb?n3qF0bU%P&xy9JrhG z(VNO@`JL-x+K`vRHAU$3jJ#jVl2;$jOU?B@HHxV!7 z!s|5a{2!BqpajpO1UqSo?}_K00Hga^v{GfDP^cJsSqrGO1y{@6$sIlBq?3r}ycO!( zlT7g6SlvfF%6S!ws13?Oz@h?J$hwxK;97v}Sj3v!nc+p!Z&?9)Q>ezt;FI)sTb;#( zZnq%ABAR*>@$+W`zm51Uf~(-d4P^r4DHzHX63>o-MUB2(IS8(NLBJ>Jx{^@?Cd~1c zmwFM8b7X1FY%=j2N2rMWvX&{hDpbPT>$j2gMHk)0{|+<5w|}B?t&=#pJQywI4Dwl2 zw2|Oi$Nv4?=LjA|Z*IBkMEbGh6I&0{*a&sI;yU?P^eCKj-77%AP!0#|TX~k?fvGu@ zWTAHr>1T0rz*@}?(r^3#1?xxsvBotOzeYV_=lY>d~nve|aH{w1PfTo|ZJNe>FHs@3Bf zyx}hsPw+Ug1;wr8QyO}Z4fTUby& zxhgU&;f9nI%+OeHRW!$s=uyNkCVh@|F4G#pZz1snyECZk+^vtRL^II6hA4g z+r30^wM6DuAQw`?Y~oR_iJ3FsN&W@iyyh~&gAqmQb5z#xew2(t7hr64I!#)q1_ZY} z1IB!vmTMun4q2i-poulpiv(BS_8*>khIrmV9%Zp0o27sRce=Kxfd7d5o8iu@2?0@W z=jbTG)k4{d7=kxs0hSX#@l=x9Uw*HXQQjvg@qEDUF!4=ap~Mz5tJZ>mzS|J2eqs-8S(+P+QauqN$Oy>5hDCrAH?_aC>Bk{}bDXLI! zIi{e3_rr%KxpTZvvilG0x)I80-gTc%9RV7Rdf1{x++8 zB^hEUdSCSHs3H=aJ6gbO|^%#EX!~w8O3?qh;>05h-dleO+6a$ z2=N5RU@)(96T=V?;Y%f9Ds-FR8bH&Zpzq65TwC@sW=I@Ax`rGZ1Xq*#hZMdh9_LcD zS*TP!2;RE`ral8~TzkQlPwrP(XbKB(jo?W&MVdE3A)9kglF>dM9<;jrg7^{dv$&>Q z<*$6oUIz|!Dfn#SDUbgw!L@1%nw+BLKe1G`ND@@j%+=8JWitAJc!XO~L&VEA0DY7r ztVfA=6I>NqgbxDu9r4Raf8u6w$anjgA>9Ri4C9ZBHUy(0H`NNWD+E_X7jRVDhytbv zt|be3H-*n5pIP%^A+zZFNoI)fP!Qs)b6-$EnllqI3iz9hR&!F{2EX+hLD7aBuLs?> zj4C z9iQMdH?A+ZS}u?05=N5$6~rCCgFjF_EdMN&1l6d35koQkt)0xC&0SK($q&ckCg3s5M$@gthc&OVHyUA*m!At^Ljf|DDXbt&kzii6`rS zt`b}=5gLz;1)<5m3>D>>46aN4h58K z4Z(vLQ*3-%n|SUsl-RysFBV)a^?qm-N;t*34f0EZgZHY zv_S!IyS7wiFEZ-MghKWbhR+mS4PG!33f)WkS4iJ3m=-?K&9!MugY&TLCemLixVloD zGk}3Y>Pk0Df|@kVd2QH3Zfqbvay<~6)v0nO1SImI&?*XOCAjh#$q_zF z6+9Rr6!0Q6Ya}PPg8=`q>;;0WfC#_G>3MFo;99aUZ^5*%vz_!GMF9&Rk6Z-7W{L70P_S@A(3cIGvIx1I z377qgMm3#+7Zabr2{9W@t|Xq}@{w6$gW#%Yj7z*0P!ADbH5CfACI6cFpXAr9etPSU z$QI_&04N~?5y27hr|MtAIK|o8OUPgub8>R@_}u8r#9Q-lu8ofm5?{@pV<9zf)`?Zy z1eURY{D9yhS0euXNce_=Kad2i^C(ZApu(K{n~b8~)ibruD(?P&r+n)Pt_AbI^Dhxx zE!iYEt0v9FoGQtLtwDlwHg~y3a1At@xY%of=FI??o1(mP%|8mRf~4wC<7_9*tzSfO)q zmtSQ`%__cb36m?3%?8OpFI>or3#QrRJYsmgEjB%k%G9lHXrIv7T1}{M(w%GaD6w}B>D#!y+!;<;(aOr zx4FibiHA3%U6}jqA)XFy!w|n|MVo}rL5cnDWw78{c@bVDSdW6I6L)J-NoKhP#PbFK z?@#(q$Ul!uzCkcozdbn$0aK13to*8&aAVj9AqSCVf+W2O54I z`TzJ4_*)e`BzQ2j=kEyGN&&7j+Nh1?4v`@5-j^2)K7`|E;Gc9Mt{T`NqxAV;^c(wb>-kOaJlPZm@=4sRwP& z7ZMHcBDfa7@zU1uDmN_uJkJdM2SL+;njpWenjr{g`{gec^{@B#!#~WK`xBM792s4& zo)DGYi5M}0WqDlipz^+gUs+{*A-GoFWz&kb$V0%Bu5A_x)|)r!1p%q1hy{1hvE~s^ zb2s4vD)b)lTt{>W2jNt5`!EFiH%j*+-aD#trIH>bqpKuAjab0%y+*{R2p*J-*Roj2 z?j?QUZusNHRJ3Xz@X7lT1(?MscPH`dczr|QecG5Gl?1JV828$mCDsbArhC=9C}s!o zG!KYa0e&U^+hkbOra4aQ3xz_@qSKznf(;ftsRD|;EG&t$B|-7HHwFAO8MQ120d2@A zL)`Jv0}Jc>h{smJSF9bL-VX}pqNNbb8qtX!l>`;+cENP!-`j~7>;@kAw+NryAN1on zZn6)z`-tap^U3*Cw8j7kKJmgRQH*!2kJT#L12`%?I1^AQP2L)H> zE#O-{7E?=K0J+I5uh{&BjJivLS|Y+hj4c;TBcA5;KVz_ah`9f>=}U&ck1BhKtz#$g z)rFaKPd*hoXH)$yA>ZM z?mxhCn0Ws+DBl^>tNUQ+>%XxxN^mv!B(}MBq`wb%(p}3LX{*@vWK_pn5ZXfAF@Bos z|4RY>>wH~?zyl)O99WHlhYGHSjSbf(A(5vi3@lRs&@{&{=`b@aWrk=PaVN<(`X=!N zr;VDBzTHspnaF)taCDgo5L{g{&fBYk=`xLc%a{=6d&P~&XtUs|X_n*he#9$E9~YEh zIam*;LK6g6Q(yN2s>a&%N5s2%`{aKW94q9#5FKoizwIzE@-Jz>R`8$?-iFadZz^=B z;DMt29xWigj(ooC0)>VV|Co3|6%L~6nNMu)2uc8yJXNJ!N4;XP|XbfCtUBcYJT2}SYXcZuMtkbm9K-K0-kgWxotVev!3wYs9-hd_xq_?-I# z6un2eYY^(ng#3O;_%skJ_s0;=@ro@AyNdh{5TXzH93`JSxckmp zSmFu>p%EbnwrP+#k`S1Pi)1ayXcuw+b%C;@P~w#LE#FLV<&()l^>g3?ZlmC8(LcL$ zs+iB-xg0aZcn2p7=BkWFhP_-WHRtL`+`m(QjNp}BSr?znw#x!cApHV9PgK`}(3~Jc zIrm0!SmHeT#8PG`^d4T?F1Xfln$!Lkjt`K}S>Bvlxhr9b!lUq&3#m}gq$H>*a-M+e zECW|wZ1dR~($75vMXfot8UsH5)j9nI*D7#)ZN!4sWYQ=7i=7upg2weoaBYcP#Y0V3 zkWrj>Y7Qs<0r7AKqrfYP|3o}n4n4y>;)BLQA&%cCx#cwV0!av(&HpaSNv0Ldkm5}2 z7BbpE`YbQ5$s_)W;A&BMJTpMSxOTD%Sh+NUG_yGI3Aj=UuI z_{~&r5ciMye@*;;MzF=ypxn5igt9Y{ZxULMaE>HsB^CC84O7f8C&(a&EZE0doo{)DQ;J>z`uidI_QZcEJBoN@4+6k8Wv3yp*my7saT4WC3hpnsIzgP5?pwPWNqYaPwi*+l=({&T zQ49W^h}U96w^2(>@L=54nGea^4Da=lpe6Iy^VgBlhP4pTl!_iEed;N=_nGvSRugGC z_Te@KF@tzP501O;AftCAK?P@?!?-I&yyi8){S(*c3a(WayATq?q#sJWBWD6EMBYd~ zCoc0{xB2;+_g$C&-mqd7)-7mOt7JHT)K#Zd&;R&^YL(Z0-lx`=wezc;RJ(HiygzD& z*Oj`e*1<;ksp(ZqY{{c3& B3UdGe From 4b797f2ead3052ca24ff36948f4bfb4e28bbb638 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 13 Feb 2013 00:12:20 +0000 Subject: [PATCH 577/851] Extend TestJsonRemoveValue() with tests for non-penultimate nodes and arrays --- .../Tests/JsonStoreScriptModuleTests.cs | 70 +++++++++++++++---- 1 file changed, 57 insertions(+), 13 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index eb4bc2284b..bba727d0d1 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -260,25 +260,69 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests TestHelpers.InMethod(); // TestHelpers.EnableLogging(); - UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ 'Hello' : 'World' }"); + // Test remove of node in object pointing to a string + { + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ 'Hello' : 'World' }"); - int returnValue = (int)InvokeOp( "JsonRemoveValue", storeId, "Hello"); - Assert.That(returnValue, Is.EqualTo(1)); + int returnValue = (int)InvokeOp( "JsonRemoveValue", storeId, "Hello"); + Assert.That(returnValue, Is.EqualTo(1)); - int result = (int)InvokeOp("JsonTestPath", storeId, "Hello"); - Assert.That(result, Is.EqualTo(0)); + int result = (int)InvokeOp("JsonTestPath", storeId, "Hello"); + Assert.That(result, Is.EqualTo(0)); - string returnValue2 = (string)InvokeOp("JsonGetValue", storeId, "Hello"); - Assert.That(returnValue2, Is.EqualTo("")); + string returnValue2 = (string)InvokeOp("JsonGetValue", storeId, "Hello"); + Assert.That(returnValue2, Is.EqualTo("")); + } + + // Test remove of node in object pointing to another object + { + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ 'Hello' : { 'World' : 'Wally' } }"); + + int returnValue = (int)InvokeOp( "JsonRemoveValue", storeId, "Hello"); + Assert.That(returnValue, Is.EqualTo(1)); + + int result = (int)InvokeOp("JsonTestPath", storeId, "Hello"); + Assert.That(result, Is.EqualTo(0)); + + string returnValue2 = (string)InvokeOp("JsonGetValueJson", storeId, "Hello"); + Assert.That(returnValue2, Is.EqualTo("")); + } + + // Test remove of node in an array + { + UUID storeId + = (UUID)InvokeOp("JsonCreateStore", "{ 'Hello' : [ 'value1', 'value2' ] }"); + + int returnValue = (int)InvokeOp( "JsonRemoveValue", storeId, "Hello[0]"); + Assert.That(returnValue, Is.EqualTo(1)); + + int result = (int)InvokeOp("JsonTestPath", storeId, "Hello[0]"); + Assert.That(result, Is.EqualTo(1)); + + result = (int)InvokeOp("JsonTestPath", storeId, "Hello[1]"); + Assert.That(result, Is.EqualTo(0)); + + string stringReturnValue = (string)InvokeOp("JsonGetValue", storeId, "Hello[0]"); + Assert.That(stringReturnValue, Is.EqualTo("value2")); + + stringReturnValue = (string)InvokeOp("JsonGetValueJson", storeId, "Hello[1]"); + Assert.That(stringReturnValue, Is.EqualTo("")); + } // Test remove of non-existing value - int fakeValueRemove = (int)InvokeOp("JsonRemoveValue", storeId, "Hello"); - Assert.That(fakeValueRemove, Is.EqualTo(0)); + { + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ 'Hello' : 'World' }"); - // Test get from non-existing store - UUID fakeStoreId = TestHelpers.ParseTail(0x500); - int fakeStoreValueRemove = (int)InvokeOp("JsonRemoveValue", fakeStoreId, "Hello"); - Assert.That(fakeStoreValueRemove, Is.EqualTo(0)); + int fakeValueRemove = (int)InvokeOp("JsonRemoveValue", storeId, "Cheese"); + Assert.That(fakeValueRemove, Is.EqualTo(0)); + } + + { + // Test get from non-existing store + UUID fakeStoreId = TestHelpers.ParseTail(0x500); + int fakeStoreValueRemove = (int)InvokeOp("JsonRemoveValue", fakeStoreId, "Hello"); + Assert.That(fakeStoreValueRemove, Is.EqualTo(0)); + } } [Test] From 70e641c70828bc0b726e4962a40efc90c54a5420 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 13 Feb 2013 00:51:45 +0000 Subject: [PATCH 578/851] Add test for array as root element in TestJsonCreateStore() --- .../JsonStore/Tests/JsonStoreScriptModuleTests.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index bba727d0d1..9721b8d5eb 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -135,6 +135,15 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests string value = (string)InvokeOp("JsonGetValue", storeId, "Hello"); Assert.That(value, Is.EqualTo("42.15")); } + + // Test with an array as the root node + { + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "[ 'one', 'two', 'three' ]"); + Assert.That(storeId, Is.Not.EqualTo(UUID.Zero)); + + string value = (string)InvokeOp("JsonGetValue", storeId, "[1]"); + Assert.That(value, Is.EqualTo("two")); + } } [Test] From b1a165a39ad5aef2b55e367aa7ff984374016ba7 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 13 Feb 2013 01:25:30 +0000 Subject: [PATCH 579/851] Extend JsonTestSetValue() with tests for escaping brackets, periods and unbalanced braces from paths The sub-tests that are commented out are currently those which fail unexpectedly based on my understanding of the path syntax --- .../Tests/JsonStoreScriptModuleTests.cs | 73 ++++++++++++++++++- 1 file changed, 71 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index 9721b8d5eb..71983b320b 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -405,7 +405,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests // TestHelpers.EnableLogging(); { - UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ }"); + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{}"); int result = (int)InvokeOp("JsonSetValue", storeId, "Fun", "Times"); Assert.That(result, Is.EqualTo(1)); @@ -414,9 +414,78 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests Assert.That(value, Is.EqualTo("Times")); } + // Commented out as this currently unexpectedly fails. + // Test setting a key containing periods. +// { +// UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{}"); +// +// int result = (int)InvokeOp("JsonSetValue", storeId, "{Fun.Circus}", "Times"); +// Assert.That(result, Is.EqualTo(1)); +// +// string value = (string)InvokeOp("JsonGetValue", storeId, "{Fun.Circus}"); +// Assert.That(value, Is.EqualTo("Times")); +// } + + // Test setting a key containing empty brackets + { + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{}"); + + int result = (int)InvokeOp("JsonSetValue", storeId, "{Fun[]Circus}", "Times"); + Assert.That(result, Is.EqualTo(1)); + + string value = (string)InvokeOp("JsonGetValue", storeId, "{Fun[]Circus}"); + Assert.That(value, Is.EqualTo("Times")); + } + + // Commented out as this currently unexpectedly fails. +// // Test setting a key containing brackets with an integer +// { +// UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{}"); +// +// int result = (int)InvokeOp("JsonSetValue", storeId, "{Fun[0]Circus}", "Times"); +// Assert.That(result, Is.EqualTo(1)); +// +// string value = (string)InvokeOp("JsonGetValue", storeId, "{Fun[]Circus}"); +// Assert.That(value, Is.EqualTo("Times")); +// } + + // Commented out as this currently unexpectedly fails. +// // Test setting a key containing unbalanced } +// { +// UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{}"); +// +// int result = (int)InvokeOp("JsonSetValue", storeId, "{Fun}Circus}", "Times"); +// Assert.That(result, Is.EqualTo(1)); +// +// string value = (string)InvokeOp("JsonGetValue", storeId, "{Fun}Circus}"); +// Assert.That(value, Is.EqualTo("Times")); +// } + + // Test setting a key containing unbalanced { + { + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{}"); + + int result = (int)InvokeOp("JsonSetValue", storeId, "{Fun{Circus}", "Times"); + Assert.That(result, Is.EqualTo(1)); + + string value = (string)InvokeOp("JsonGetValue", storeId, "{Fun{Circus}"); + Assert.That(value, Is.EqualTo("Times")); + } + + // Test setting a key containing balanced {}. This should fail. + { + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{}"); + + int result = (int)InvokeOp("JsonSetValue", storeId, "{Fun{Filled}Circus}", "Times"); + Assert.That(result, Is.EqualTo(0)); + + string value = (string)InvokeOp("JsonGetValue", storeId, "{Fun{Filled}Circus}"); + Assert.That(value, Is.EqualTo("")); + } + // Test setting to location that does not exist. This should fail. { - UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{ }"); + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{}"); int result = (int)InvokeOp("JsonSetValue", storeId, "Fun.Circus", "Times"); Assert.That(result, Is.EqualTo(0)); From 5557b523fdae64e0017cbf5285331f71fe046961 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 13 Feb 2013 01:38:33 +0000 Subject: [PATCH 580/851] Add more sub-tests to TestJsonSetValue for paths containing []{} without {} delineation. As expected, values are not set and the set call returns FALSE (0). As a reminder, these tests are not currently running on jenkins continuous integration as the functionality is only available on .net 4 (mono 2.8 and later). --- .../Tests/JsonStoreScriptModuleTests.cs | 91 ++++++++++++++++++- 1 file changed, 86 insertions(+), 5 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs index 71983b320b..f25f290cf8 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/Tests/JsonStoreScriptModuleTests.cs @@ -415,7 +415,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests } // Commented out as this currently unexpectedly fails. - // Test setting a key containing periods. + // Test setting a key containing periods with delineation // { // UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{}"); // @@ -426,7 +426,64 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests // Assert.That(value, Is.EqualTo("Times")); // } - // Test setting a key containing empty brackets + // *** Test [] *** + + // Test setting a key containing unbalanced ] without delineation. Expecting failure + { + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{}"); + + int result = (int)InvokeOp("JsonSetValue", storeId, "Fun]Circus", "Times"); + Assert.That(result, Is.EqualTo(0)); + + string value = (string)InvokeOp("JsonGetValue", storeId, "Fun]Circus"); + Assert.That(value, Is.EqualTo("")); + } + + // Test setting a key containing unbalanced [ without delineation. Expecting failure + { + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{}"); + + int result = (int)InvokeOp("JsonSetValue", storeId, "Fun[Circus", "Times"); + Assert.That(result, Is.EqualTo(0)); + + string value = (string)InvokeOp("JsonGetValue", storeId, "Fun[Circus"); + Assert.That(value, Is.EqualTo("")); + } + + // Test setting a key containing unbalanced [] without delineation. Expecting failure + { + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{}"); + + int result = (int)InvokeOp("JsonSetValue", storeId, "Fun[]Circus", "Times"); + Assert.That(result, Is.EqualTo(0)); + + string value = (string)InvokeOp("JsonGetValue", storeId, "Fun[]Circus"); + Assert.That(value, Is.EqualTo("")); + } + + // Test setting a key containing unbalanced ] with delineation + { + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{}"); + + int result = (int)InvokeOp("JsonSetValue", storeId, "{Fun]Circus}", "Times"); + Assert.That(result, Is.EqualTo(1)); + + string value = (string)InvokeOp("JsonGetValue", storeId, "{Fun]Circus}"); + Assert.That(value, Is.EqualTo("Times")); + } + + // Test setting a key containing unbalanced [ with delineation + { + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{}"); + + int result = (int)InvokeOp("JsonSetValue", storeId, "{Fun[Circus}", "Times"); + Assert.That(result, Is.EqualTo(1)); + + string value = (string)InvokeOp("JsonGetValue", storeId, "{Fun[Circus}"); + Assert.That(value, Is.EqualTo("Times")); + } + + // Test setting a key containing empty balanced [] with delineation { UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{}"); @@ -438,7 +495,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests } // Commented out as this currently unexpectedly fails. -// // Test setting a key containing brackets with an integer +// // Test setting a key containing brackets around an integer with delineation // { // UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{}"); // @@ -449,6 +506,30 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests // Assert.That(value, Is.EqualTo("Times")); // } + // *** Test {} *** + + // Test setting a key containing unbalanced } without delineation. Expecting failure (?) + { + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{}"); + + int result = (int)InvokeOp("JsonSetValue", storeId, "Fun}Circus", "Times"); + Assert.That(result, Is.EqualTo(0)); + + string value = (string)InvokeOp("JsonGetValue", storeId, "Fun}Circus"); + Assert.That(value, Is.EqualTo("")); + } + + // Test setting a key containing unbalanced { without delineation. Expecting failure (?) + { + UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{}"); + + int result = (int)InvokeOp("JsonSetValue", storeId, "Fun{Circus", "Times"); + Assert.That(result, Is.EqualTo(0)); + + string value = (string)InvokeOp("JsonGetValue", storeId, "Fun}Circus"); + Assert.That(value, Is.EqualTo("")); + } + // Commented out as this currently unexpectedly fails. // // Test setting a key containing unbalanced } // { @@ -461,7 +542,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests // Assert.That(value, Is.EqualTo("Times")); // } - // Test setting a key containing unbalanced { + // Test setting a key containing unbalanced { with delineation { UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{}"); @@ -472,7 +553,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore.Tests Assert.That(value, Is.EqualTo("Times")); } - // Test setting a key containing balanced {}. This should fail. + // Test setting a key containing balanced {} with delineation. This should fail. { UUID storeId = (UUID)InvokeOp("JsonCreateStore", "{}"); From c2bfdaa026b02b1a6f41745464e7934e166ab35f Mon Sep 17 00:00:00 2001 From: Melanie Date: Wed, 13 Feb 2013 01:52:25 +0000 Subject: [PATCH 581/851] Make the sim features module register it's interface so it can be used --- .../Region/ClientStack/Linden/Caps/SimulatorFeaturesModule.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/OpenSim/Region/ClientStack/Linden/Caps/SimulatorFeaturesModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/SimulatorFeaturesModule.cs index 191bccf812..8f38737005 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/SimulatorFeaturesModule.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/SimulatorFeaturesModule.cs @@ -94,6 +94,8 @@ namespace OpenSim.Region.ClientStack.Linden { m_scene = s; m_scene.EventManager.OnRegisterCaps += RegisterCaps; + + m_scene.RegisterModuleInterface(this); } public void RemoveRegion(Scene s) From 708c3f8b864812abc1c9642f65bc284d4bd3f074 Mon Sep 17 00:00:00 2001 From: Mic Bowman Date: Tue, 12 Feb 2013 23:21:49 -0800 Subject: [PATCH 582/851] Make path parsing more robust in the JsonStore. --- .../Scripting/JsonStore/JsonStore.cs | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs index 3bad06cf39..f7625fbf21 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs @@ -68,14 +68,11 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore protected List m_TakeStore; protected List m_ReadStore; - // add separators for quoted paths - protected static Regex m_ParsePassOne = new Regex("{[^}]+}"); - - // add separators for array references - protected static Regex m_ParsePassTwo = new Regex("(\\[[0-9]+\\]|\\[\\+\\])"); + // add separators for quoted paths and array references + protected static Regex m_ParsePassOne = new Regex("({[^}]+}|\\[[0-9]+\\]|\\[\\+\\])"); // add quotes to bare identifiers which are limited to alphabetic characters - protected static Regex m_ParsePassThree = new Regex("\\.([a-zA-Z]+)"); + protected static Regex m_ParsePassThree = new Regex("(? Date: Wed, 13 Feb 2013 07:14:04 -0800 Subject: [PATCH 583/851] Adds a couple requested functions to the JsonStore script interface. JsonPathType returns the type of node pointed to by the path and deprecates the functionality of both JsonTestPath functions. JsonArrayLength returns the length of an array node. --- .../Framework/Interfaces/IJsonStoreModule.cs | 15 +++++ .../Scripting/JsonStore/JsonStore.cs | 49 +++++++++++++++ .../Scripting/JsonStore/JsonStoreModule.cs | 63 +++++++++++++++++++ .../JsonStore/JsonStoreScriptModule.cs | 36 ++++++++++- 4 files changed, 162 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs b/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs index cc7885a7a0..d7907e3082 100644 --- a/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IJsonStoreModule.cs @@ -31,6 +31,16 @@ using OpenMetaverse; namespace OpenSim.Region.Framework.Interfaces { + // these could be expanded at some point to provide more type information + // for now value accounts for all base types + public enum JsonStoreNodeType + { + Undefined = 0, + Object = 1, + Array = 2, + Value = 3 + } + public delegate void TakeValueCallback(string s); public interface IJsonStoreModule @@ -38,13 +48,18 @@ namespace OpenSim.Region.Framework.Interfaces bool AttachObjectStore(UUID objectID); bool CreateStore(string value, ref UUID result); bool DestroyStore(UUID storeID); + + JsonStoreNodeType PathType(UUID storeID, string path); bool TestStore(UUID storeID); bool TestPath(UUID storeID, string path, bool useJson); + bool SetValue(UUID storeID, string path, string value, bool useJson); bool RemoveValue(UUID storeID, string path); bool GetValue(UUID storeID, string path, bool useJson, out string value); void TakeValue(UUID storeID, string path, bool useJson, TakeValueCallback cback); void ReadValue(UUID storeID, string path, bool useJson, TakeValueCallback cback); + + int ArrayLength(UUID storeID, string path); } } diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs index f7625fbf21..ca3989a668 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStore.cs @@ -140,6 +140,34 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore ValueStore = OSDParser.DeserializeJson(value); } + // ----------------------------------------------------------------- + ///

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

@@ -4427,99 +1918,7 @@ - - - - - - - - - - Represents a field in a multipart form - - - - The request could not be understood by the server due to malformed syntax. - The client SHOULD NOT repeat the request without modifications. - - Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php - - - - - Create a new bad request exception. - - reason to why the request was bad. - - - - Create a new bad request exception. - - reason to why the request was bad. - inner exception - - - - Container class for posted files - - - - - Creates a container for a posted file - - The identifier of the post field - The file path - The content type of the file - The name of the file uploaded - If any parameter is null or empty - - - - Creates a container for a posted file - - If any parameter is null or empty - - - Destructor disposing the file - - - - Deletes the temporary file - - True if manual dispose - - - - Disposing interface, cleans up managed resources (the temporary file) and suppresses finalization - - - - - The name/id of the file - - - - - The full file path - - - - - The name of the uploaded file - - - - - The type of file - - - - - Will contain helper functions for javascript. - - - + Requests a url through ajax @@ -4537,12 +1936,21 @@ - + + + Determins if a list of strings contains a specific value + + options to check in + value to find + true if value was found + case insensitive + + Ajax requests that updates an element with the fetched content - url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself. + URL to fetch. URL is NOT enclosed in quotes by the implementation. You need to do that yourself. element to update options in format "key, value, key, value". All keys should end with colon. A link tag. @@ -4552,20 +1960,2596 @@ - + - Opens contents in a dialog window. + A link that pop ups a Dialog (overlay div) - url to contents of dialog + URL to contents of dialog link title - name, value, name, value, all parameter names should end with colon. + name, value, name, value + + A "a"-tag that popups a dialog when clicked + + Requires Control.Modal found here: http://livepipe.net/projects/control_modal/ + And the following JavaScript (load it in application.js): + + Event.observe(window, 'load', + function() { + document.getElementsByClassName('modal').each(function(link){ new Control.Modal(link); }); + } + ); + + + + WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');"); + - + + + create a modal dialog (usually using DIVs) + + url to fetch + dialog title + javascript/html attributes. javascript options ends with colon ':'. + + + Close a javascript dialog window/div. javascript for closing a dialog. - + + + + + javascript action that should be added to the "onsubmit" event in the form tag. + + remember to encapsulate strings in '' + + All javascript option names should end with colon. + + + JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);"); + + + + + + Helpers making it easier to work with forms. + + + + + + Used to let the website use different JavaScript libraries. + Default is + + + + + Create a <form> tag. + + name of form + action to invoke on submit + form should be posted as Ajax + HTML code + + + // without options + WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax); + + // with options + WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax, "style", "display:inline", "class", "greenForm"); + + + HTML attributes or JavaScript options. + Method will ALWAYS be POST. + options must consist of name, value, name, value + + + + Creates a select list with the values in a collection. + + Name of the SELECT-tag + collection used to generate options. + delegate used to return id and title from objects. + value that should be marked as selected. + First row should contain an empty value. + string containing a SELECT-tag. + + + + + Creates a select list with the values in a collection. + + Name of the SELECT-tag + Id of the SELECT-tag + collection used to generate options. + delegate used to return id and title from objects. + value that should be marked as selected. + First row should contain an empty value. + string containing a SELECT-tag. + + + + // Class that is going to be used in a SELECT-tag. + public class User + { + private readonly string _realName; + private readonly int _id; + public User(int id, string realName) + { + _id = id; + _realName = realName; + } + public string RealName + { + get { return _realName; } + } + + public int Id + { + get { return _id; } + } + } + + // Using an inline delegate to generate the select list + public void UserInlineDelegate() + { + List<User> items = new List<User>(); + items.Add(new User(1, "adam")); + items.Add(new User(2, "bertial")); + items.Add(new User(3, "david")); + string htmlSelect = Select("users", "users", items, delegate(object o, out object id, out object value) + { + User user = (User)o; + id = user.Id; + value = user.RealName; + }, 2, true); + } + + // Using an method as delegate to generate the select list. + public void UseExternalDelegate() + { + List<User> items = new List<User>(); + items.Add(new User(1, "adam")); + items.Add(new User(2, "bertial")); + items.Add(new User(3, "david")); + string htmlSelect = Select("users", "users", items, UserOptions, 1, true); + } + + // delegate returning id and title + public static void UserOptions(object o, out object id, out object title) + { + User user = (User)o; + id = user.Id; + value = user.RealName; + } + + + name, id, collection or getIdTitle is null. + + + + Creates a select list with the values in a collection. + + Name of the SELECT-tag + Id of the SELECT-tag + collection used to generate options. + delegate used to return id and title from objects. + value that should be marked as selected. + First row should contain an empty value. + name, value collection of extra HTML attributes. + string containing a SELECT-tag. + + name, id, collection or getIdTitle is null. + Invalid HTML attribute list. + + + + Generate a list of HTML options + + collection used to generate options. + delegate used to return id and title from objects. + value that should be marked as selected. + First row should contain an empty value. + + collection or getIdTitle is null. + + + sb is null. + + + + Creates a check box. + + element name + element value + determines if the check box is selected or not. This is done differently depending on the + type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if + the box is checked or not. + a list with additional attributes (name, value, name, value). + a generated radio button + + + + Creates a check box. + + element name + element id + element value + determines if the check box is selected or not. This is done differently depending on the + type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if + the box is checked or not. + a list with additional attributes (name, value, name, value). + a generated radio button + + value in your business object. (check box will be selected if it matches the element value) + + + + + Creates a check box. + + element name + element id + determines if the check box is selected or not. This is done differently depending on the + type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if + the box is checked or not. + a list with additional attributes (name, value, name, value). + a generated radio button + will set value to "1". + + + + Creates a RadioButton. + + element name + element value + determines if the radio button is selected or not. This is done differently depending on the + type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if + the box is checked or not. + a list with additional attributes (name, value, name, value). + a generated radio button + + + + Creates a RadioButton. + + element name + element id + element value + determines if the radio button is selected or not. This is done differently depending on the + type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if + the box is checked or not. + a list with additional attributes (name, value, name, value). + a generated radio button + + + + form close tag + + + + + + We dont want to let the server to die due to exceptions thrown in worker threads. + therefore we use this delegate to give you a change to handle uncaught exceptions. + + Class that the exception was thrown in. + Exception + + Server will throw a InternalServerException in release version if you dont + handle this delegate. + + + + + Implements HTTP Digest authentication. It's more secure than Basic auth since password is + encrypted with a "key" from the server. + + + Keep in mind that the password is encrypted with MD5. Use a combination of SSL and digest auth to be secure. + + + + + Authentication modules are used to implement different + kind of HTTP authentication. + + + + + Tag used for authentication. + + + + + Initializes a new instance of the class. + + Delegate used to provide information used during authentication. + Delegate used to determine if authentication is required (may be null). + + + + Initializes a new instance of the class. + + Delegate used to provide information used during authentication. + + + + Create a response that can be sent in the WWW-Authenticate header. + + Realm that the user should authenticate in + Array with optional options. + A correct authentication request. + If realm is empty or null. + + + + An authentication response have been received from the web browser. + Check if it's correct + + Contents from the Authorization header + Realm that should be authenticated + GET/POST/PUT/DELETE etc. + options to specific implementations + Authentication object that is stored for the request. A user class or something like that. + if is invalid + If any of the parameters is empty or null. + + + + Used to invoke the authentication delegate that is used to lookup the user name/realm. + + Realm (domain) that user want to authenticate in + User name + Password used for validation. Some implementations got password in clear text, they are then sent to client. + object that will be stored in the request to help you identify the user if authentication was successful. + true if authentication was successful + + + + Determines if authentication is required. + + HTTP request from browser + true if user should be authenticated. + throw from your delegate if no more attempts are allowed. + If no more attempts are allowed + + + + name used in HTTP request. + + + + + Initializes a new instance of the class. + + Delegate used to provide information used during authentication. + Delegate used to determine if authentication is required (may be null). + + + + Initializes a new instance of the class. + + Delegate used to provide information used during authentication. + + + + Used by test classes to be able to use hardcoded values + + + + + An authentication response have been received from the web browser. + Check if it's correct + + Contents from the Authorization header + Realm that should be authenticated + GET/POST/PUT/DELETE etc. + First option: true if username/password is correct but not cnonce + + Authentication object that is stored for the request. A user class or something like that. + + if authenticationHeader is invalid + If any of the paramters is empty or null. + + + + Encrypts parameters into a Digest string + + Realm that the user want to log into. + User logging in + Users password. + HTTP method. + Uri/domain that generated the login prompt. + Quality of Protection. + "Number used ONCE" + Hexadecimal request counter. + "Client Number used ONCE" + Digest encrypted string + + + + + + Md5 hex encoded "userName:realm:password", without the quotes. + Md5 hex encoded "method:uri", without the quotes + Quality of Protection + "Number used ONCE" + Hexadecimal request counter. + Client number used once + + + + + Create a response that can be sent in the WWW-Authenticate header. + + Realm that the user should authenticate in + First options specifies if true if username/password is correct but not cnonce. + A correct auth request. + If realm is empty or null. + + + + Decodes authorization header value + + header value + Encoding that the buffer is in + All headers and their values if successful; otherwise null + + NameValueCollection header = DigestAuthentication.Decode("response=\"6629fae49393a05397450978507c4ef1\",\r\nc=00001", Encoding.ASCII); + + Can handle lots of whitespaces and new lines without failing. + + + + Gets the current nonce. + + + + + + Gets the Md5 hash bin hex2. + + To be hashed. + + + + + determines if the nonce is valid or has expired. + + nonce value (check wikipedia for info) + true if the nonce has not expired. + + + + name used in http request. + + + + + Gets or sets whether the token supplied in is a + HA1 generated string. + + + + + Generic helper functions for HTTP + + + + + Version string for HTTP v1.0 + + + + + Version string for HTTP v1.1 + + + + + An empty URI + + + + + Parses a query string. + + Query string (URI encoded) + A object if successful; otherwise + queryString is null. + If string cannot be parsed. + + + + Delegate used to let authentication modules authenticate the user name and password. + + Realm that the user want to authenticate in + User name specified by client + Can either be user password or implementation specific token. + object that will be stored in a session variable called if authentication was successful. + throw forbidden exception if too many attempts have been made. + + + Use to specify that the token is a HA1 token. (MD5 generated + string from realm, user name and password); Md5String(userName + ":" + realm + ":" + password); + + + + + + Let's you decide on a system level if authentication is required. + + HTTP request from client + true if user should be authenticated. + throw if no more attempts are allowed. + If no more attempts are allowed + + + + Arguments used when more body bytes have come. + + + + + Initializes a new instance of the class. + + buffer that contains the received bytes. + offset in buffer where to start processing. + number of bytes from that should be parsed. + + + + Initializes a new instance of the class. + + + + + Gets or sets buffer that contains the received bytes. + + + + + Gets or sets number of bytes from that should be parsed. + + + + + Gets or sets offset in buffer where to start processing. + + + + + Contains all HTTP Methods (according to the HTTP 1.1 specification) + + See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html + + + + + + The DELETE method requests that the origin server delete the resource identified by the Request-URI. + + + + This method MAY be overridden by human intervention (or other means) on the origin server. + The client cannot be guaranteed that the operation has been carried out, even if the status code + returned from the origin server indicates that the action has been completed successfully. + + + However, the server SHOULD NOT indicate success unless, at the time the response is given, + it intends to delete the resource or move it to an inaccessible location. + + + A successful response SHOULD be 200 (OK) if the response includes an entity describing the status, + 202 (Accepted) if the action has not yet been enacted, + or 204 (No Content) if the action has been enacted but the response does not include an entity. + + + If the request passes through a cache and the Request-URI identifies one or more currently cached entities, + those entries SHOULD be treated as stale. Responses to this method are not cacheable. + + + + + + The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI. + + + + If the Request-URI refers to a data-producing process, it is the produced data which shall be returned as the + entity in the response and not the source text of the process, unless that text happens to be the output of the process. + + + The semantics of the GET method change to a "conditional GET" if the request message includes an + If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field. + A conditional GET method requests that the entity be transferred only under the circumstances described + by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network + usage by allowing cached entities to be refreshed without requiring multiple requests or transferring + data already held by the client. + + + + + + The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response. + + + The meta information contained in the HTTP headers in response to a HEAD request SHOULD be identical to the + information sent in response to a GET request. This method can be used for obtaining meta information about + the entity implied by the request without transferring the entity-body itself. + + This method is often used for testing hypertext links for validity, accessibility, and recent modification. + + + + + The OPTIONS method represents a request for information about the communication options available on the request/response chain identified by the Request-URI. + + + This method allows the client to determine the options and/or requirements associated with a resource, or the capabilities of a server, without implying a resource action or initiating a resource retrieval. + + + + + The POST method is used to request that the origin server accept the entity enclosed + in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line. + + + POST is designed to allow a uniform method to cover the following functions: + + + Annotation of existing resources; + + Posting a message to a bulletin board, newsgroup, mailing list, or similar group of articles; + + Providing a block of data, such as the result of submitting a form, to a data-handling process; + + Extending a database through an append operation. + + + + If a resource has been created on the origin server, the response SHOULD be 201 (Created) and + contain an entity which describes the status of the request and refers to the new resource, and a + Location header (see section 14.30). + + + The action performed by the POST method might not result in a resource that can be identified by a URI. + In this case, either 200 (OK) or 204 (No Content) is the appropriate response status, depending on + whether or not the response includes an entity that describes the result. + + Responses to this method are not cacheable, unless the response includes appropriate Cache-Control + or Expires header fields. However, the 303 (See Other) response can be used to direct the user agent + to retrieve a cacheable resource. + + + + + + The PUT method requests that the enclosed entity be stored under the supplied Request-URI. + + + + + If the Request-URI refers to an already existing resource, the enclosed entity SHOULD be considered as a + modified version of the one residing on the origin server. + + If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new + resource by the requesting user agent, the origin server can create the resource with that URI. + + If a new resource is created, the origin server MUST inform the user agent via the 201 (Created) response. + + If an existing resource is modified, either the 200 (OK) or 204 (No Content) response codes SHOULD be sent to + indicate successful completion of the request. + + If the resource could not be created or modified with the Request-URI, an appropriate error response SHOULD be + given that reflects the nature of the problem. + + + + The recipient of the entity MUST NOT ignore any Content-* (e.g. Content-Range) headers that it does not + understand or implement and MUST return a 501 (Not Implemented) response in such cases. + + + + + + The TRACE method is used to invoke a remote, application-layer loop- back of the request message. + + + + + Contains all HTTP Methods (according to the HTTP 1.1 specification) + + See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html + + + + + + The DELETE method requests that the origin server delete the resource identified by the Request-URI. + + + + This method MAY be overridden by human intervention (or other means) on the origin server. + The client cannot be guaranteed that the operation has been carried out, even if the status code + returned from the origin server indicates that the action has been completed successfully. + + + However, the server SHOULD NOT indicate success unless, at the time the response is given, + it intends to delete the resource or move it to an inaccessible location. + + + A successful response SHOULD be 200 (OK) if the response includes an entity describing the status, + 202 (Accepted) if the action has not yet been enacted, + or 204 (No Content) if the action has been enacted but the response does not include an entity. + + + If the request passes through a cache and the Request-URI identifies one or more currently cached entities, + those entries SHOULD be treated as stale. Responses to this method are not cacheable. + + + + + + The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI. + + + + If the Request-URI refers to a data-producing process, it is the produced data which shall be returned as the + entity in the response and not the source text of the process, unless that text happens to be the output of the process. + + + The semantics of the GET method change to a "conditional GET" if the request message includes an + If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field. + A conditional GET method requests that the entity be transferred only under the circumstances described + by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network + usage by allowing cached entities to be refreshed without requiring multiple requests or transferring + data already held by the client. + + + + + + The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response. + + + The meta information contained in the HTTP headers in response to a HEAD request SHOULD be identical to the + information sent in response to a GET request. This method can be used for obtaining meta information about + the entity implied by the request without transferring the entity-body itself. + + This method is often used for testing hypertext links for validity, accessibility, and recent modification. + + + + + The OPTIONS method represents a request for information about the communication options available on the request/response chain identified by the Request-URI. + + + This method allows the client to determine the options and/or requirements associated with a resource, or the capabilities of a server, without implying a resource action or initiating a resource retrieval. + + + + + The POST method is used to request that the origin server accept the entity enclosed + in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line. + + + POST is designed to allow a uniform method to cover the following functions: + + + Annotation of existing resources; + + Posting a message to a bulletin board, newsgroup, mailing list, or similar group of articles; + + Providing a block of data, such as the result of submitting a form, to a data-handling process; + + Extending a database through an append operation. + + + + If a resource has been created on the origin server, the response SHOULD be 201 (Created) and + contain an entity which describes the status of the request and refers to the new resource, and a + Location header (see section 14.30). + + + The action performed by the POST method might not result in a resource that can be identified by a URI. + In this case, either 200 (OK) or 204 (No Content) is the appropriate response status, depending on + whether or not the response includes an entity that describes the result. + + Responses to this method are not cacheable, unless the response includes appropriate Cache-Control + or Expires header fields. However, the 303 (See Other) response can be used to direct the user agent + to retrieve a cacheable resource. + + + + + + The PUT method requests that the enclosed entity be stored under the supplied Request-URI. + + + + + If the Request-URI refers to an already existing resource, the enclosed entity SHOULD be considered as a + modified version of the one residing on the origin server. + + If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new + resource by the requesting user agent, the origin server can create the resource with that URI. + + If a new resource is created, the origin server MUST inform the user agent via the 201 (Created) response. + + If an existing resource is modified, either the 200 (OK) or 204 (No Content) response codes SHOULD be sent to + indicate successful completion of the request. + + If the resource could not be created or modified with the Request-URI, an appropriate error response SHOULD be + given that reflects the nature of the problem. + + + + The recipient of the entity MUST NOT ignore any Content-* (e.g. Content-Range) headers that it does not + understand or implement and MUST return a 501 (Not Implemented) response in such cases. + + + + + + The TRACE method is used to invoke a remote, application-layer loop- back of the request message. + + + + + Used to create and reuse contexts. + + + + + Used to create es. + + + + + Creates a that handles a connected client. + + Client socket (accepted by the ). + A creates . + + + + Create a secure . + + Client socket (accepted by the ). + HTTPS certificate to use. + Kind of HTTPS protocol. Usually TLS or SSL. + A created . + + + + A request have been received from one of the contexts. + + + + + Initializes a new instance of the class. + + The writer. + Amount of bytes to read from the incoming socket stream. + Used to create a request parser. + + + + Create a new context. + + true if socket is running HTTPS. + Client that connected + Network/SSL stream. + A context. + + + + Create a new context. + + true if HTTPS is used. + Remote client + Network stream, uses . + A new context (always). + + + + Create a secure . + + Client socket (accepted by the ). + HTTPS certificate to use. + Kind of HTTPS protocol. Usually TLS or SSL. + + A created . + + + + + Creates a that handles a connected client. + + Client socket (accepted by the ). + + A creates . + + + + + True if detailed trace logs should be written. + + + + + A request have been received from one of the contexts. + + + + + Custom network stream to mark sockets as reusable when disposing the stream. + + + + + Creates a new instance of the class for the specified . + + + The that the will use to send and receive data. + + + The parameter is null. + + + The parameter is not connected. + -or- + The property of the parameter is not . + -or- + The parameter is in a nonblocking state. + + + + + Initializes a new instance of the class for the specified with the specified ownership. + + + The that the will use to send and receive data. + + + Set to true to indicate that the will take ownership of the ; otherwise, false. + + + The parameter is null. + + + The parameter is not connected. + -or- + the value of the property of the parameter is not . + -or- + the parameter is in a nonblocking state. + + + + + Creates a new instance of the class for the specified with the specified access rights. + + + The that the will use to send and receive data. + + + A bitwise combination of the values that specify the type of access given to the over the provided . + + + The parameter is null. + + + The parameter is not connected. + -or- + the property of the parameter is not . + -or- + the parameter is in a nonblocking state. + + + + + Creates a new instance of the class for the specified with the specified access rights and the specified ownership. + + + The that the will use to send and receive data. + + + A bitwise combination of the values that specifies the type of access given to the over the provided . + + + Set to true to indicate that the will take ownership of the ; otherwise, false. + + + The parameter is null. + + + The parameter is not connected. + -or- + The property of the parameter is not . + -or- + The parameter is in a nonblocking state. + + + + + Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. + + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Invoked when a client have been accepted by the + + + Can be used to revoke incoming connections + + + + + Initializes a new instance of the class. + + The socket. + + + + Client may not be handled. + + + + + Accepted socket. + + + + + Client should be revoked. + + + + + A session stored in memory. + + + + + Interface for sessions + + + + + Remove everything from the session + + + + + Remove everything from the session + + True if the session is cleared due to expiration + + + + Session id + + + + + Should + + Name of the session variable + null if it's not set + If the object cant be serialized. + + + + When the session was last accessed. + This property is touched by the http server each time the + session is requested. + + + + + Number of session variables. + + + + + Event triggered upon clearing the session + + + + + + + A unique id used by the sessions store to identify the session + + + + Id + + + + + + Remove everything from the session + + + + + Clears the specified expire. + + True if the session is cleared due to expiration + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Session id + + + + + Should + + Name of the session variable + null if it's not set + + + + when the session was last accessed. + + + Used to determine when the session should be removed. + + + + + Number of values in the session + + + + + Flag to indicate that the session have been changed + and should be saved into the session store. + + + + + Event triggered upon clearing the session + + + + + A reverse proxy are used to act as a bridge between local (protected/hidden) websites + and public clients. + + A typical usage is to allow web servers on non standard ports to still be available + to the public clients, or allow web servers on private ips to be available. + + + + + + + Base url requested from browser + Base url on private web server + + // this will return contents from http://192.168.1.128/view/jonas when client requests http://www.gauffin.com/user/view/jonas + _server.Add(new ReverseProxyModule("http://www.gauffin.com/user/", "http://192.168.1.128/"); + + + + + Method that determines if an url should be handled or not by the module + + Url requested by the client. + true if module should handle the url. + + + + Method that process the url + + Information sent by the browser about the request + Information that is being sent back to the client. + Session used to + + + + Can handle application/x-www-form-urlencoded + + + + + + Stream containing the content + Content type (with any additional info like boundry). Content type is always supplied in lower case + Stream encoding + + A HTTP form, or null if content could not be parsed. + + If contents in the stream is not valid input data. + + + + Checks if the decoder can handle the mime type + + Content type (with any additional info like boundry). Content type is always supplied in lower case. + True if the decoder can parse the specified content type + + + + This provider is used to let us implement any type of form decoding we want without + having to rewrite anything else in the server. + + + + + + + Should contain boundary and type, as in: multipart/form-data; boundary=---------------------------230051238959 + Stream containing form data. + Encoding used when decoding the stream + if no parser was found. + If stream is null or not readable. + If stream contents cannot be decoded properly. + + + + Add a decoder. + + + + + + + Number of added decoders. + + + + + Use with care. + + + + + Decoder used for unknown content types. + + + + + The server encountered an unexpected condition which prevented it from fulfilling the request. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + error message. + + + + Initializes a new instance of the class. + + error message. + inner exception. + + + + Response that is sent back to the web browser / client. + + A response can be sent if different ways. The easiest one is + to just fill the Body stream with content, everything else + will then be taken care of by the framework. The default content-type + is text/html, you should change it if you send anything else. + + The second and slighty more complex way is to send the response + as parts. Start with sending the header using the SendHeaders method and + then you can send the body using SendBody method, but do not forget + to set ContentType and ContentLength before doing so. + + + public void MyHandler(IHttpRequest request, IHttpResponse response) + { + + } + + + + + Add another header to the document. + + Name of the header, case sensitive, use lower cases. + Header values can span over multiple lines as long as each line starts with a white space. New line chars should be \r\n + If headers already been sent. + If value conditions have not been met. + Adding any header will override the default ones and those specified by properties. + + + + Send headers and body to the browser. + + If content have already been sent. + + + + Make sure that you have specified ContentLength and sent the headers first. + + + If headers have not been sent. + + offest of first byte to send + number of bytes to send. + + + This method can be used if you want to send body contents without caching them first. This + is recommended for larger files to keep the memory usage low. + + + + Make sure that you have specified ContentLength and sent the headers first. + + + If headers have not been sent. + + + + This method can be used if you want to send body contents without caching them first. This + is recommended for larger files to keep the memory usage low. + + + + Send headers to the client. + + If headers already been sent. + + + + + + + Redirect client to somewhere else using the 302 status code. + + Destination of the redirect + If headers already been sent. + You can not do anything more with the request when a redirect have been done. This should be your last + action. + + + + redirect to somewhere + + where the redirect should go + + No body are allowed when doing redirects. + + + + + The body stream is used to cache the body contents + before sending everything to the client. It's the simplest + way to serve documents. + + + + + Defines the version of the HTTP Response for applications where it's required + for this to be forced. + + + + + The chunked encoding modifies the body of a message in order to + transfer it as a series of chunks, each with its own size indicator, + followed by an OPTIONAL trailer containing entity-header fields. This + allows dynamically produced content to be transferred along with the + information necessary for the recipient to verify that it has + received the full message. + + + + + Kind of connection + + + + + Encoding to use when sending stuff to the client. + + Default is UTF8 + + + + Number of seconds to keep connection alive + + Only used if Connection property is set to ConnectionType.KeepAlive + + + + Status code that is sent to the client. + + Default is HttpStatusCode.Ok + + + + Information about why a specific status code was used. + + + + + Size of the body. MUST be specified before sending the header, + unless property Chunked is set to true. + + + + + Kind of content in the body + + Default is text/html + + + + Headers have been sent to the client- + + You can not send any additional headers if they have already been sent. + + + + The whole response have been sent. + + + + + Cookies that should be created/changed. + + + + + Type of HTTP connection + + + + + Connection is closed after each request-response + + + + + Connection is kept alive for X seconds (unless another request have been made) + + + + + The website module let's you handle multiple websites in the same server. + It uses the "Host" header to check which site you want. + + It's recommended that you do not + add any other modules to HttpServer if you are using the website module. Instead, + add all wanted modules to each website. + + + + + + domain name that should be handled. + + + + + Method that process the url + + Information sent by the browser about the request + Information that is being sent back to the client. + Session used to + + + + Name of site. + + + + + Used to inform http server that + + + + + Eventarguments used when an exception is thrown by a module + + the exception + + + + Exception thrown in a module + + + + + represents a HTTP input item. Each item can have multiple sub items, a sub item + is made in a HTML form by using square brackets + + + // becomes: + Console.WriteLine("Value: {0}", form["user"]["FirstName"].Value); + + + All names in a form SHOULD be in lowercase. + + + + Representation of a non-initialized . + + + + Initializes an input item setting its name/identifier and value + + Parameter name/id + Parameter value + + + Creates a deep copy of the item specified + The item to copy + The function makes a deep copy of quite a lot which can be slow + + + + Add another value to this item + + Value to add. + Cannot add stuff to . + + + + checks if a sub-item exists (and has a value). + + name in lower case + true if the sub-item exists and has a value; otherwise false. + + + Returns a formatted representation of the instance with the values of all contained parameters + + + + Outputs the string in a formatted manner + + A prefix to append, used internally + produce a query string + + + + Add a sub item. + + Can contain array formatting, the item is then parsed and added in multiple levels + Value to add. + Argument is null. + Cannot add stuff to . + + + + Returns an enumerator that iterates through the collection. + + + + A that can be used to iterate through the collection. + + 1 + + + + Returns an enumerator that iterates through a collection. + + + + An object that can be used to iterate through the collection. + + 2 + + + + Outputs the string in a formatted manner + + A prefix to append, used internally + + + + + Number of values + + + + + Get a sub item + + name in lower case. + if no item was found. + + + + Name of item (in lower case). + + + + + Returns the first value, or null if no value exist. + + + + + Returns the last value, or null if no value exist. + + + + + Returns the list with values. + + + + + + + name in lower case + + + + Class to handle loading of resource files + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + logger. + + + + Loads resources from a namespace in the given assembly to an URI + + The URI to map the resources to + The assembly in which the resources reside + The namespace from which to load the resources + + + resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views"); + + Will make the resource MyLib.Models.User.Views.list.Haml accessible via /user/list.haml or /user/list/ + + The amount of loaded files, giving you the possibility of making sure the resources needed gets loaded + If a resource has already been mapped to an uri + + + + Retrieves a stream for the specified resource path if loaded otherwise null + + Path to the resource to retrieve a stream for + A stream or null if the resource couldn't be found + + + + Fetch all files from the resource that matches the specified arguments. + + The path to the resource to extract + + a list of files if found; or an empty array if no files are found. + + Search path must end with an asterisk for finding arbitrary files + + + + Fetch all files from the resource that matches the specified arguments. + + Where the file should reside. + Files to check + + a list of files if found; or an empty array if no files are found. + + + + + Returns whether or not the loader has an instance of the file requested + + The name of the template/file + True if the loader can provide the file + + + + Used when the request line have been successfully parsed. + + + + + Initializes a new instance of the class. + + The HTTP method. + The URI path. + The HTTP version. + + + + Initializes a new instance of the class. + + + + + Gets or sets http method. + + + Should be one of the methods declared in . + + + + + Gets or sets the version of the HTTP protocol that the client want to use. + + + + + Gets or sets requested URI path. + + + + + Class that receives Requests from a . + + + + + Client have been disconnected. + + Client that was disconnected. + Reason + + + + + Invoked when a client context have received a new HTTP request + + Client that received the request. + Request that was received. + + + + Container for posted form data + + + Instance to help mark a non-initialized form + + + Initializes a form container with the specified name + + + + Makes a deep copy of the input + + The input to copy + + + + Adds a file to the collection of posted files + + The file to add + If the file is already added + If file is null + If the instance is HttpForm.EmptyForm which cannot be modified + + + + Checks if the form contains a specified file + + Field name of the file parameter + True if the file exists + If the instance is HttpForm.EmptyForm which cannot be modified + + + + Retrieves a file held by by the form + + The identifier of the file + The requested file or null if the file was not found + If name is null or empty + If the instance is HttpForm.EmptyForm which cannot be modified + + + Disposes all held HttpFile's and resets values + + + + Retrieves the number of files added to the + + 0 if no files are added + + + + Contains a connection to a browser/client. + + + Remember to after you have hooked the event. + + TODO: Maybe this class should be broken up into HttpClientChannel and HttpClientContext? + + + + Initializes a new instance of the class. + + true if the connection is secured (SSL/TLS) + client that connected. + Stream used for communication + Used to create a . + Size of buffer to use when reading data. Must be at least 4096 bytes. + If fails + Stream must be writable and readable. + + + + Process incoming body bytes. + + + Bytes + + + + + + + + + + + Start reading content. + + + Make sure to call base.Start() if you override this method. + + + + + Clean up context. + + + Make sure to call base.Cleanup() if you override the method. + + + + + Disconnect from client + + error to report in the event. + + + + Send a response. + + Either or + HTTP status code + reason for the status code. + HTML body contents, can be null or empty. + A content type to return the body as, i.e. 'text/html' or 'text/plain', defaults to 'text/html' if null or empty + If is invalid. + + + + Send a response. + + Either or + HTTP status code + reason for the status code. + + + + Send a response. + + + + + + send a whole buffer + + buffer to send + + + + + Send data using the stream + + Contains data to send + Start position in buffer + number of bytes to send + + + + + + This context have been cleaned, which means that it can be reused. + + + + + Context have been started (a new client have connected) + + + + + Overload to specify own type. + + + Must be specified before the context is being used. + + + + + Using SSL or other encryption method. + + + + + Using SSL or other encryption method. + + + + + Specify which logger to use. + + + + + Gets or sets the network stream. + + + + + Gets or sets IP address that the client connected from. + + + + + Gets or sets port that the client connected from. + + + + + The context have been disconnected. + + + Event can be used to clean up a context, or to reuse it. + + + + + A request have been received in the context. + + + + + Helpers to make XML handling easier + + + + + Serializes object to XML. + + object to serialize. + XML + + Removes name spaces and adds indentation + + + + + Create an object from a XML string + + Type of object + XML string + object + + + + + + + + + + + Represents a field in a multipart form + + + + Small design by contract implementation. + + + + + Check whether a parameter is empty. + + Parameter value + Parameter name, or error description. + value is empty. + + + + Checks whether a parameter is null. + + Parameter value + Parameter name, or error description. + value is null. + + + + Checks whether a parameter is null. + + + Parameter value + Parameter name, or error description. + value is null. + + + + Priority for log entries + + + + + + Very detailed logs to be able to follow the flow of the program. + + + + + Logs to help debug errors in the application + + + + + Information to be able to keep track of state changes etc. + + + + + Something did not go as we expected, but it's no problem. + + + + + Something that should not fail failed, but we can still keep + on going. + + + + + Something failed, and we cannot handle it properly. + + + + + Interface used to write to log files. + + + + + Write an entry to the log file. + + object that is writing to the log + importance of the log message + the message + + + + This class writes to the console. It colors the output depending on the logprio and includes a 3-level stacktrace (in debug mode) + + + + + + The actual instance of this class. + + + + + Logwriters the specified source. + + object that wrote the logentry. + Importance of the log message + The message. + + + + Get color for the specified logprio + + prio for the log entry + A for the prio + + + + Default log writer, writes everything to null (nowhere). + + + + + + The logging instance. + + + + + Writes everything to null + + object that wrote the log entry. + Importance of the log message + The message. + + + + Response that is sent back to the web browser / client. + + + + A response can be sent if different ways. The easiest one is + to just fill the Body stream with content, everything else + will then be taken care of by the framework. The default content-type + is text/html, you should change it if you send anything else. + + The second and slightly more complex way is to send the response + as parts. Start with sending the header using the SendHeaders method and + then you can send the body using SendBody method, but do not forget + to set and before doing so. + + + + + // Example using response body. + class MyModule : HttpModule + { + public override bool Process(IHttpRequest request, IHttpResponse response, IHttpSession session) + { + StreamWriter writer = new StreamWriter(response.Body); + writer.WriteLine("Hello dear World!"); + writer.Flush(); + + // return true to tell webserver that we've handled the url + return true; + } + } + + + todo: add two examples, using SendHeaders/SendBody and just the Body stream. + + + + Initializes a new instance of the class. + + Client that send the . + Contains information of what the client want to receive. + cannot be empty. + + + + Initializes a new instance of the class. + + Client that send the . + Version of HTTP protocol that the client uses. + Type of HTTP connection used. + + + + Add another header to the document. + + Name of the header, case sensitive, use lower cases. + Header values can span over multiple lines as long as each line starts with a white space. New line chars should be \r\n + If headers already been sent. + If value conditions have not been met. + Adding any header will override the default ones and those specified by properties. + + + + Send headers and body to the browser. + + If content have already been sent. + + + + Make sure that you have specified and sent the headers first. + + + If headers have not been sent. + + offset of first byte to send + number of bytes to send. + + + This method can be used if you want to send body contents without caching them first. This + is recommended for larger files to keep the memory usage low. + + + + Make sure that you have specified and sent the headers first. + + + If headers have not been sent. + + + + This method can be used if you want to send body contents without caching them first. This + is recommended for larger files to keep the memory usage low. + + + + Send headers to the client. + + If headers already been sent. + + + + + + + Redirect client to somewhere else using the 302 status code. + + Destination of the redirect + If headers already been sent. + You can not do anything more with the request when a redirect have been done. This should be your last + action. + + + + redirect to somewhere + + where the redirect should go + + No body are allowed when doing redirects. + + + + + The body stream is used to cache the body contents + before sending everything to the client. It's the simplest + way to serve documents. + + + + + The chunked encoding modifies the body of a message in order to + transfer it as a series of chunks, each with its own size indicator, + followed by an OPTIONAL trailer containing entity-header fields. This + allows dynamically produced content to be transferred along with the + information necessary for the recipient to verify that it has + received the full message. + + + + + Defines the version of the HTTP Response for applications where it's required + for this to be forced. + + + + + Kind of connection + + + + + Encoding to use when sending stuff to the client. + + Default is UTF8 + + + + Number of seconds to keep connection alive + + Only used if Connection property is set to . + + + + Status code that is sent to the client. + + Default is + + + + Information about why a specific status code was used. + + + + + Size of the body. MUST be specified before sending the header, + unless property Chunked is set to true. + + + + + Kind of content in the body + + Default type is "text/html" + + + + Headers have been sent to the client- + + You can not send any additional headers if they have already been sent. + + + + The whole response have been sent. + + + + + Cookies that should be created/changed. + + + + + The requested resource was not found in the web server. + + + + + Create a new exception + + message describing the error + inner exception + + + + Create a new exception + + message describing the error + + + + Session store using memory for each session. + + + + + A session store is used to store and load sessions on a media. + The default implementation () saves/retrieves sessions from memory. + + + + + Creates a new http session with a generated id. + + A object + + + + Creates a new http session with a specific id + + Id used to identify the new cookie.. + A object. + + Id should be generated by the store implementation if it's null or . + + + + + Load an existing session. + + Session id (usually retrieved from a client side cookie). + A session if found; otherwise null. + + + + Save an updated session to the store. + + Session id (usually retrieved from a client side cookie). + If Id property have not been specified. + + + + We use the flyweight pattern which reuses small objects + instead of creating new each time. + + Unused session that should be reused next time Create is called. + + + + Remove expired sessions + + + + + Remove a session + + id of the session. + + + + Load a session from the store + + + null if session is not found. + + + + Number of minutes before a session expires. + + Default time is 20 minutes. + + + + Initializes the class setting the expirationtimer to clean the session every minute + + + + + Delegate for the cleanup timer + + + + + Creates a new http session + + + + + + Creates a new http session with a specific id + + Id used to identify the new cookie.. + A object. + + Id should be generated by the store implementation if it's null or . + + + + + Load an existing session. + + + + + + + Save an updated session to the store. + + + + + + We use the flyweight pattern which reuses small objects + instead of creating new each time. + + EmptyLanguageNode (unused) session that should be reused next time Create is called. + + + + Remove expired sessions + + + + + Remove a session + + id of the session. + + + + Load a session from the store + + + null if session is not found. + + + + Number of minutes before a session expires. + Default is 20 minutes. + + + + + Arguments sent when a is cleared + + + + + Instantiates the arguments for the event + + True if the session is cleared due to expiration + + + + Returns true if the session is cleared due to expiration + + + + + Delegate for when a IHttpSession is cleared + + this is being cleared. + Arguments for the clearing + + + + Used to queue incoming requests. + + + + + Initializes a new instance of the class. + + Called when a request should be processed. + + + + Used to process queued requests. + + + + + Gets or sets maximum number of allowed simultaneous requests. + + + + + Gets or sets maximum number of requests queuing to be handled. + + + + + Specifies how many requests the HTTP server is currently processing. + + + + + Used two queue incoming requests to avoid + thread starvation. + + + + + Method used to process a queued request + + Context that the request was received from. + Request to process. + + + + Event arguments used when a new header have been parsed. + + + + + Initializes a new instance of the class. + + Name of header. + Header value. + + + + Initializes a new instance of the class. + + + + + Gets or sets header name. + + + + + Gets or sets header value. + @@ -4743,34 +4727,108 @@ Gets cookies that was sent with the request. - + - The website module let's you handle multiple websites in the same server. - It uses the "Host" header to check which site you want. + Add a component instance - It's recommended that you do not - add any other modules to HttpServer if you are using the website module. Instead, - add all wanted modules to each website. + Interface type + Instance to add - + - + Get a component. - domain name that should be handled. - + Interface type + Component if registered, otherwise null. + + Component will get created if needed. + - - - Method that process the url - - Information sent by the browser about the request - Information that is being sent back to the client. - Session used to + + If instance cannot be created. - + - Name of site. + Checks if the specified component interface have been added. + + true if found; otherwise false. + + + + Add a component. + + Type being requested. + Type being created. + Type have already been mapped. + + + + Class to make dynamic binding of redirects. Instead of having to specify a number of similar redirect rules + a regular expression can be used to identify redirect URLs and their targets. + + + [a-z0-9]+)", "/users/${target}?find=true", RegexOptions.IgnoreCase) + ]]> + + + + + Initializes a new instance of the class. + + Expression to match URL + Expression to generate URL + + [a-zA-Z0-9]+)", "/user/${first}")); + Result of ie. /employee1 will then be /user/employee1 + ]]> + + + + + Initializes a new instance of the class. + + Expression to match URL + Expression to generate URL + Regular expression options to use, can be null + + [a-zA-Z0-9]+)", "/user/{first}", RegexOptions.IgnoreCase)); + Result of ie. /employee1 will then be /user/employee1 + ]]> + + + + + Initializes a new instance of the class. + + Expression to match URL + Expression to generate URL + Regular expression options to apply + true if request should be redirected, false if the request URI should be replaced. + + [a-zA-Z0-9]+)", "/user/${first}", RegexOptions.None)); + Result of ie. /employee1 will then be /user/employee1 + ]]> + + Argument is null. + + + + + Process the incoming request. + + incoming HTTP request + outgoing HTTP response + true if response should be sent to the browser directly (no other rules or modules will be processed). + + returning true means that no modules will get the request. Returning true is typically being done + for redirects. + + If request or response is null @@ -4812,30 +4870,6 @@ Retrieves the full path name to the resource file - - - Creates request parsers when needed. - - - - - Creates request parsers when needed. - - - - - Create a new request parser. - - Used when logging should be enabled. - A new request parser. - - - - Create a new request parser. - - Used when logging should be enabled. - A new request parser. - The "basic" authentication scheme is based on the model that the @@ -4921,319 +4955,12 @@ Adding bytes to body - + - This decoder converts XML documents to form items. - Each element becomes a subitem in the form, and each attribute becomes an item. - - - // xml: somethingdata - // result: - // form["hello"].Value = "something" - // form["hello"]["id"].Value = 1 - // form["hello"]["world]["id"].Value = 1 - // form["hello"]["world"].Value = "data" - - - The original xml document is stored in form["__xml__"].Value. - - - - - - - Stream containing the content - Content type (with any additional info like boundry). Content type is always supplied in lower case - Stream encoding - Note: contentType and encoding are not used? - A http form, or null if content could not be parsed. - - - - - Recursive function that will go through an xml element and store it's content - to the form item. - - (parent) Item in form that content should be added to. - Node that should be parsed. - - - - Checks if the decoder can handle the mime type - - Content type (with any additional info like boundry). Content type is always supplied in lower case. - True if the decoder can parse the specified content type - - - - Cookies that should be set. + Will contain helper functions for javascript. - - - Adds a cookie in the collection. - - cookie to add - cookie is null - - - - Copy a request cookie - - - When the cookie should expire - - - - Gets a collection enumerator on the cookie list. - - collection enumerator - - - - Remove all cookies - - - - - Returns an enumerator that iterates through the collection. - - - - A that can be used to iterate through the collection. - - 1 - - - - Gets the count of cookies in the collection. - - - - - Gets the cookie of a given identifier (null if not existing). - - - - - This class is created as a wrapper, since there are two different cookie types in .Net (Cookie and HttpCookie). - The framework might switch class in the future and we dont want to have to replace all instances - - - - - Let's copy all the cookies. - - value from cookie header. - - - - Adds a cookie in the collection. - - cookie to add - cookie is null - - - - Gets a collection enumerator on the cookie list. - - collection enumerator - - - - Remove all cookies. - - - - - Returns an enumerator that iterates through the collection. - - - - A that can be used to iterate through the collection. - - 1 - - - - Remove a cookie from the collection. - - Name of cookie. - - - - Gets the count of cookies in the collection. - - - - - Gets the cookie of a given identifier (null if not existing). - - - - - New implementation of the HTTP listener. - - - Use the Create methods to create a default listener. - - - - - Initializes a new instance of the class. - - IP Address to accept connections on - TCP Port to listen on, default HTTP port is 80. - Factory used to create es. - address is null. - Port must be a positive number. - - - - Initializes a new instance of the class. - - The address. - The port. - The factory. - The certificate. - - - - Initializes a new instance of the class. - - The address. - The port. - The factory. - The certificate. - The protocol. - - - - Creates a new instance with default factories. - - Address that the listener should accept connections on. - Port that listener should accept connections on. - Created HTTP listener. - - - - Creates a new instance with default factories. - - Address that the listener should accept connections on. - Port that listener should accept connections on. - Certificate to use - Created HTTP listener. - - - - Creates a new instance with default factories. - - Address that the listener should accept connections on. - Port that listener should accept connections on. - Certificate to use - which HTTPS protocol to use, default is TLS. - Created HTTP listener. - - - - Can be used to create filtering of new connections. - - Accepted socket - - true if connection can be accepted; otherwise false. - - - - - A client have been accepted, but not handled, by the listener. - - - - - Generic helper functions for HTTP - - - - - Version string for HTTP v1.0 - - - - - Version string for HTTP v1.1 - - - - - An empty URI - - - - - Parses a query string. - - Query string (URI encoded) - A object if successful; otherwise - queryString is null. - If string cannot be parsed. - - - - A reverse proxy are used to act as a bridge between local (protected/hidden) websites - and public clients. - - A typical usage is to allow web servers on non standard ports to still be available - to the public clients, or allow web servers on private ips to be available. - - - - - - - Base url requested from browser - Base url on private web server - - // this will return contents from http://192.168.1.128/view/jonas when client requests http://www.gauffin.com/user/view/jonas - _server.Add(new ReverseProxyModule("http://www.gauffin.com/user/", "http://192.168.1.128/"); - - - - - Method that determines if an url should be handled or not by the module - - Url requested by the client. - true if module should handle the url. - - - - Method that process the url - - Information sent by the browser about the request - Information that is being sent back to the client. - Session used to - - - - Used to inform http server that - - - - - Eventarguments used when an exception is thrown by a module - - the exception - - - - Exception thrown in a module - - - - - PrototypeJS implementation of the javascript functions. - - - + Requests a url through ajax @@ -5251,21 +4978,12 @@ - - - Determins if a list of strings contains a specific value - - options to check in - value to find - true if value was found - case insensitive - - + Ajax requests that updates an element with the fetched content - URL to fetch. URL is NOT enclosed in quotes by the implementation. You need to do that yourself. + url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself. element to update options in format "key, value, key, value". All keys should end with colon. A link tag. @@ -5275,179 +4993,461 @@ - + - A link that pop ups a Dialog (overlay div) + Opens contents in a dialog window. - URL to contents of dialog + url to contents of dialog link title - name, value, name, value - - A "a"-tag that popups a dialog when clicked - - Requires Control.Modal found here: http://livepipe.net/projects/control_modal/ - And the following JavaScript (load it in application.js): - - Event.observe(window, 'load', - function() { - document.getElementsByClassName('modal').each(function(link){ new Control.Modal(link); }); - } - ); - - - - WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');"); - + name, value, name, value, all parameter names should end with colon. - - - create a modal dialog (usually using DIVs) - - url to fetch - dialog title - javascript/html attributes. javascript options ends with colon ':'. - - - + Close a javascript dialog window/div. javascript for closing a dialog. - + - + - javascript action that should be added to the "onsubmit" event in the form tag. + Lists content type mime types. - remember to encapsulate strings in '' - - All javascript option names should end with colon. - - - JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);"); - - - + - Implements HTTP Digest authentication. It's more secure than Basic auth since password is - encrypted with a "key" from the server. + text/plain + + + + + text/haml + + + + + content type for javascript documents = application/javascript - Keep in mind that the password is encrypted with MD5. Use a combination of SSL and digest auth to be secure. + + RFC 4329 states that text/javascript have been superseeded by + application/javascript. You might still want to check browser versions + since older ones do not support application/javascript. + + Browser support: http://krijnhoetmer.nl/stuff/javascript/mime-types/ - + - Initializes a new instance of the class. - - Delegate used to provide information used during authentication. - Delegate used to determine if authentication is required (may be null). - - - - Initializes a new instance of the class. - - Delegate used to provide information used during authentication. - - - - Used by test classes to be able to use hardcoded values + text/xml - + - An authentication response have been received from the web browser. - Check if it's correct + A list of content types - Contents from the Authorization header - Realm that should be authenticated - GET/POST/PUT/DELETE etc. - First option: true if username/password is correct but not cnonce - - Authentication object that is stored for the request. A user class or something like that. - - if authenticationHeader is invalid - If any of the paramters is empty or null. - - - Encrypts parameters into a Digest string - - Realm that the user want to log into. - User logging in - Users password. - HTTP method. - Uri/domain that generated the login prompt. - Quality of Protection. - "Number used ONCE" - Hexadecimal request counter. - "Client Number used ONCE" - Digest encrypted string - - + - Md5 hex encoded "userName:realm:password", without the quotes. - Md5 hex encoded "method:uri", without the quotes - Quality of Protection - "Number used ONCE" - Hexadecimal request counter. - Client number used once + Semicolon separated content types. + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Searches for the specified type + + Can also be a part of a type (searching for "xml" would return true for "application/xml"). + true if type was found. + + + + Get this first content type. + + + + + Fetch a content type + + Part of type ("xml" would return "application/xml") + + All content types are in lower case. + + + + Creates request parsers when needed. + + + + + Creates request parsers when needed. + + + + + Create a new request parser. + + Used when logging should be enabled. + A new request parser. + + + + Create a new request parser. + + Used when logging should be enabled. + A new request parser. + + + + The request requires user authentication. The response MUST include a + WWW-Authenticate header field (section 14.47) containing a challenge + applicable to the requested resource. + + The client MAY repeat the request with a suitable Authorization header + field (section 14.8). If the request already included Authorization + credentials, then the 401 response indicates that authorization has been + refused for those credentials. If the 401 response contains the same challenge + as the prior response, and the user agent has already attempted authentication + at least once, then the user SHOULD be presented the entity that was given in the response, + since that entity might include relevant diagnostic information. + + HTTP access authentication is explained in rfc2617: + http://www.ietf.org/rfc/rfc2617.txt + + (description is taken from + http://www.submissionchamber.com/help-guides/error-codes.php#sec10.4.2) + + + + + Create a new unauhtorized exception. + + + + + + Create a new unauhtorized exception. + + reason to why the request was unauthorized. + inner exception + + + + Create a new unauhtorized exception. + + reason to why the request was unauthorized. + + + + The purpose of this module is to serve files. + + + + + Initializes a new instance of the class. + + Uri to serve, for instance "/files/" + Path on hard drive where we should start looking for files + If true a Last-Modifed header will be sent upon requests urging web browser to cache files + + + + Initializes a new instance of the class. + + Uri to serve, for instance "/files/" + Path on hard drive where we should start looking for files + + + + Mimtypes that this class can handle per default + + + + + Determines if the request should be handled by this module. + Invoked by the + + + true if this module should handle it. + + + Illegal path + + + + check if source contains any of the chars. + + + - + - Create a response that can be sent in the WWW-Authenticate header. + Method that process the Uri. - Realm that the user should authenticate in - First options specifies if true if username/password is correct but not cnonce. - A correct auth request. - If realm is empty or null. + Information sent by the browser about the request + Information that is being sent back to the client. + Session used to + Failed to find file extension + File type is forbidden. - + - Decodes authorization header value + return a file extension from an absolute Uri path (or plain filename) + + + + + + + List with all mime-type that are allowed. + + All other mime types will result in a Forbidden http status code. + + + + characters that may not exist in a path. - header value - Encoding that the buffer is in - All headers and their values if successful; otherwise null - NameValueCollection header = DigestAuthentication.Decode("response=\"6629fae49393a05397450978507c4ef1\",\r\nc=00001", Encoding.ASCII); + fileMod.ForbiddenChars = new string[]{ "\\", "..", ":" }; - Can handle lots of whitespaces and new lines without failing. - + - Gets the current nonce. + Webhelper provides helpers for common tasks in HTML. + + + + Used to let the website use different javascript libraries. + Default is + + + + + Creates a link that invokes through ajax. + + url to fetch + link title + + optional options in format "key, value, key, value". + Javascript options starts with ':'. + + a link tag + + WebHelper.AjaxRequest("/users/add/", "Add user", "method:", "post", "onclick", "validate('this');"); + + + + + Builds a link that updates an element with the fetched ajax content. + + Url to fetch content from + link title + html element to update with the results of the ajax request. + optional options in format "key, value, key, value" + A link tag. + + + + A link that pop ups a Dialog (overlay div) + + url to contents of dialog + link title + name/value of html attributes. + A "a"-tag that popups a dialog when clicked + + WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');"); + + + + + Create/Open a dialog box using ajax + + + + - + - Gets the Md5 hash bin hex2. + Close a javascript dialog window/div. - To be hashed. + javascript for closing a dialog. + + + + + Create a <form> tag. + + name of form + action to invoke on submit + form should be posted as ajax + html code + + WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax); + + + + + Create a link tag. + + url to go to + link title (text that is displayed) + html attributes, name, value, name, value + html code + + WebHelper.Link("/user/show/1", "Show user", "id", "showUser", "onclick", "return confirm('Are you shure?');"); + + + + + Build a link + + url to go to. + title of link (displayed text) + extra html attributes. + a complete link + + + + Build a link + + url to go to. + title of link (displayed text) + extra html attributes. + a complete link + more options + + + + Obsolete + + Obsolete + Obsolete + Obsolete + Obsolete + Obsolete + Obsolete + + + + Obsolete + + Obsolete + Obsolete + Obsolete + Obsolete + Obsolete + Obsolete + Obsolete + + + + Render errors into a UL with class "errors" + + class used by UL-tag. + items to list + an unordered html list. + + + + Render errors into a UL with class "errors" + + class used by UL-tag. + items to list + an unordered html list. + + + + Render errors into a UL with class "errors" + + - + - determines if the nonce is valid or has expired. + Generates a list with html attributes. - nonce value (check wikipedia for info) - true if the nonce has not expired. + StringBuilder that the options should be added to. + attributes set by user. + attributes set by any of the helper classes. - + - name used in http request. + Generates a list with html attributes. + StringBuilder that the options should be added to. + - + - Gets or sets whether the token supplied in is a - HA1 generated string. + Delegate used by to populate select options. + current object (for instance a User). + Text that should be displayed in the value part of a <optiongt;-tag. + Text shown in the select list. + + // Class that is going to be used in a SELECT-tag. + public class User + { + private readonly string _realName; + private readonly int _id; + public User(int id, string realName) + { + _id = id; + _realName = realName; + } + public string RealName + { + get { return _realName; } + } + + public int Id + { + get { return _id; } + } + } + + // Using an inline delegate to generate the select list + public void UserInlineDelegate() + { + List<User> items = new List<User>(); + items.Add(new User(1, "adam")); + items.Add(new User(2, "bertial")); + items.Add(new User(3, "david")); + string htmlSelect = Select("users", "users", items, delegate(object o, out object id, out object value) + { + User user = (User)o; + id = user.Id; + value = user.RealName; + }, 2, true); + } + + // Using an method as delegate to generate the select list. + public void UseExternalDelegate() + { + List<User> items = new List<User>(); + items.Add(new User(1, "adam")); + items.Add(new User(2, "bertial")); + items.Add(new User(3, "david")); + string htmlSelect = Select("users", "users", items, UserOptions, 1, true); + } + + // delegate returning id and title + public static void UserOptions(object o, out object id, out object title) + { + User user = (User)o; + id = user.Id; + value = user.RealName; + } /// From 2104e4d4d4367c0516f52d53490abb02bb459745 Mon Sep 17 00:00:00 2001 From: teravus Date: Tue, 5 Feb 2013 18:46:02 -0500 Subject: [PATCH 491/851] * the root prim was being given an OffsetPosition in addition to setting the position when creating the root prim. The offset position caused the positioning code to re-move the root prim when you selected it and released it. --- .../Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs b/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs index 6ebe660a34..568e2169db 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs @@ -617,7 +617,7 @@ namespace OpenSim.Region.ClientStack.Linden = new SceneObjectPart(owner_id, pbs, position, Quaternion.Identity, Vector3.Zero); prim.Scale = scale; - prim.OffsetPosition = position; + //prim.OffsetPosition = position; rotations.Add(rotation); positions.Add(position); prim.UUID = UUID.Random(); From 4cdee3dd3c4cc293c542dbdb70f6da5d11202317 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Tue, 5 Feb 2013 16:28:25 -0800 Subject: [PATCH 492/851] Changed protection of CreateDefaultAppearanceEntries to protected, so extensions of the UserAccountService can reuse this. --- OpenSim/Services/UserAccountService/UserAccountService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Services/UserAccountService/UserAccountService.cs b/OpenSim/Services/UserAccountService/UserAccountService.cs index a281b3b50e..5b4d040f35 100644 --- a/OpenSim/Services/UserAccountService/UserAccountService.cs +++ b/OpenSim/Services/UserAccountService/UserAccountService.cs @@ -545,7 +545,7 @@ namespace OpenSim.Services.UserAccountService return account; } - private void CreateDefaultAppearanceEntries(UUID principalID) + protected void CreateDefaultAppearanceEntries(UUID principalID) { m_log.DebugFormat("[USER ACCOUNT SERVICE]: Creating default appearance items for {0}", principalID); From 2b6d22691141b8cdccfc44d25890f99e1f72b3dd Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sat, 2 Feb 2013 13:33:44 -0800 Subject: [PATCH 493/851] BulletSim: correct angular vertical attraction to properly correct an upside down vehicle. --- OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs index 8ecf2ff521..b51e9fd17a 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSDynamics.cs @@ -1326,7 +1326,7 @@ namespace OpenSim.Region.Physics.BulletSPlugin // If verticalError.Z is negative, the vehicle is upside down. Add additional push. if (verticalError.Z < 0f) { - vertContributionV.X += PIOverFour; + vertContributionV.X += Math.Sign(vertContributionV.X) * PIOverFour; // vertContribution.Y -= PIOverFour; } From ad438ee59fce1b262135ef0f7cd1213f3a79df50 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sun, 3 Feb 2013 16:08:09 -0800 Subject: [PATCH 494/851] BulletSim: rework some parameter setting implementation moving functionality that was in BSScene to BSParam. Remove unused parameters that were passed to the unmanaged code. Update DLLs and SOs for the new param block. --- .../Region/Physics/BulletSPlugin/BSAPIXNA.cs | 64 ++++----- .../Physics/BulletSPlugin/BSApiTemplate.cs | 38 +---- .../Region/Physics/BulletSPlugin/BSParam.cs | 131 ++++++++++-------- .../Region/Physics/BulletSPlugin/BSScene.cs | 58 ++++---- .../Physics/BulletSPlugin/BSTerrainMesh.cs | 13 +- bin/lib32/BulletSim.dll | Bin 545280 -> 546304 bytes bin/lib32/libBulletSim.so | Bin 1690012 -> 1695269 bytes bin/lib64/BulletSim.dll | Bin 693248 -> 694272 bytes bin/lib64/libBulletSim.so | Bin 1834927 -> 1841657 bytes 9 files changed, 149 insertions(+), 155 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSAPIXNA.cs b/OpenSim/Region/Physics/BulletSPlugin/BSAPIXNA.cs index 04e77b8f76..39e62dd1f3 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSAPIXNA.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSAPIXNA.cs @@ -1088,7 +1088,7 @@ private sealed class BulletConstraintXNA : BulletConstraint { CollisionWorld.WorldData.ParamData p = new CollisionWorld.WorldData.ParamData(); - p.angularDamping = o[0].XangularDamping; + p.angularDamping = BSParam.AngularDamping; p.defaultFriction = o[0].defaultFriction; p.defaultFriction = o[0].defaultFriction; p.defaultDensity = o[0].defaultDensity; @@ -1096,32 +1096,32 @@ private sealed class BulletConstraintXNA : BulletConstraint p.collisionMargin = o[0].collisionMargin; p.gravity = o[0].gravity; - p.linearDamping = o[0].XlinearDamping; - p.angularDamping = o[0].XangularDamping; - p.deactivationTime = o[0].XdeactivationTime; - p.linearSleepingThreshold = o[0].XlinearSleepingThreshold; - p.angularSleepingThreshold = o[0].XangularSleepingThreshold; - p.ccdMotionThreshold = o[0].XccdMotionThreshold; - p.ccdSweptSphereRadius = o[0].XccdSweptSphereRadius; - p.contactProcessingThreshold = o[0].XcontactProcessingThreshold; + p.linearDamping = BSParam.LinearDamping; + p.angularDamping = BSParam.AngularDamping; + p.deactivationTime = BSParam.DeactivationTime; + p.linearSleepingThreshold = BSParam.LinearSleepingThreshold; + p.angularSleepingThreshold = BSParam.AngularSleepingThreshold; + p.ccdMotionThreshold = BSParam.CcdMotionThreshold; + p.ccdSweptSphereRadius = BSParam.CcdSweptSphereRadius; + p.contactProcessingThreshold = BSParam.ContactProcessingThreshold; - p.terrainImplementation = o[0].XterrainImplementation; - p.terrainFriction = o[0].XterrainFriction; + p.terrainImplementation = BSParam.TerrainImplementation; + p.terrainFriction = BSParam.TerrainFriction; - p.terrainHitFraction = o[0].XterrainHitFraction; - p.terrainRestitution = o[0].XterrainRestitution; - p.terrainCollisionMargin = o[0].XterrainCollisionMargin; + p.terrainHitFraction = BSParam.TerrainHitFraction; + p.terrainRestitution = BSParam.TerrainRestitution; + p.terrainCollisionMargin = BSParam.TerrainCollisionMargin; - p.avatarFriction = o[0].XavatarFriction; - p.avatarStandingFriction = o[0].XavatarStandingFriction; - p.avatarDensity = o[0].XavatarDensity; - p.avatarRestitution = o[0].XavatarRestitution; - p.avatarCapsuleWidth = o[0].XavatarCapsuleWidth; - p.avatarCapsuleDepth = o[0].XavatarCapsuleDepth; - p.avatarCapsuleHeight = o[0].XavatarCapsuleHeight; - p.avatarContactProcessingThreshold = o[0].XavatarContactProcessingThreshold; + p.avatarFriction = BSParam.AvatarFriction; + p.avatarStandingFriction = BSParam.AvatarStandingFriction; + p.avatarDensity = BSParam.AvatarDensity; + p.avatarRestitution = BSParam.AvatarRestitution; + p.avatarCapsuleWidth = BSParam.AvatarCapsuleWidth; + p.avatarCapsuleDepth = BSParam.AvatarCapsuleDepth; + p.avatarCapsuleHeight = BSParam.AvatarCapsuleHeight; + p.avatarContactProcessingThreshold = BSParam.AvatarContactProcessingThreshold; - p.vehicleAngularDamping = o[0].XvehicleAngularDamping; + p.vehicleAngularDamping = BSParam.VehicleAngularDamping; p.maxPersistantManifoldPoolSize = o[0].maxPersistantManifoldPoolSize; p.maxCollisionAlgorithmPoolSize = o[0].maxCollisionAlgorithmPoolSize; @@ -1132,15 +1132,15 @@ private sealed class BulletConstraintXNA : BulletConstraint p.shouldEnableFrictionCaching = o[0].shouldEnableFrictionCaching; p.numberOfSolverIterations = o[0].numberOfSolverIterations; - p.linksetImplementation = o[0].XlinksetImplementation; - p.linkConstraintUseFrameOffset = o[0].XlinkConstraintUseFrameOffset; - p.linkConstraintEnableTransMotor = o[0].XlinkConstraintEnableTransMotor; - p.linkConstraintTransMotorMaxVel = o[0].XlinkConstraintTransMotorMaxVel; - p.linkConstraintTransMotorMaxForce = o[0].XlinkConstraintTransMotorMaxForce; - p.linkConstraintERP = o[0].XlinkConstraintERP; - p.linkConstraintCFM = o[0].XlinkConstraintCFM; - p.linkConstraintSolverIterations = o[0].XlinkConstraintSolverIterations; - p.physicsLoggingFrames = o[0].XphysicsLoggingFrames; + p.linksetImplementation = BSParam.LinksetImplementation; + p.linkConstraintUseFrameOffset = BSParam.LinkConstraintUseFrameOffset; + p.linkConstraintEnableTransMotor = BSParam.LinkConstraintEnableTransMotor; + p.linkConstraintTransMotorMaxVel = BSParam.LinkConstraintTransMotorMaxVel; + p.linkConstraintTransMotorMaxForce = BSParam.LinkConstraintTransMotorMaxForce; + p.linkConstraintERP = BSParam.LinkConstraintERP; + p.linkConstraintCFM = BSParam.LinkConstraintCFM; + p.linkConstraintSolverIterations = BSParam.LinkConstraintSolverIterations; + p.physicsLoggingFrames = o[0].physicsLoggingFrames; DefaultCollisionConstructionInfo ccci = new DefaultCollisionConstructionInfo(); DefaultCollisionConfiguration cci = new DefaultCollisionConfiguration(); diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSApiTemplate.cs b/OpenSim/Region/Physics/BulletSPlugin/BSApiTemplate.cs index abbd22c550..5e06c1e205 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSApiTemplate.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSApiTemplate.cs @@ -174,32 +174,6 @@ public struct ConfigurationParameters public float collisionMargin; public float gravity; - public float XlinearDamping; - public float XangularDamping; - public float XdeactivationTime; - public float XlinearSleepingThreshold; - public float XangularSleepingThreshold; - public float XccdMotionThreshold; - public float XccdSweptSphereRadius; - public float XcontactProcessingThreshold; - - public float XterrainImplementation; - public float XterrainFriction; - public float XterrainHitFraction; - public float XterrainRestitution; - public float XterrainCollisionMargin; - - public float XavatarFriction; - public float XavatarStandingFriction; - public float XavatarDensity; - public float XavatarRestitution; - public float XavatarCapsuleWidth; - public float XavatarCapsuleDepth; - public float XavatarCapsuleHeight; - public float XavatarContactProcessingThreshold; - - public float XvehicleAngularDamping; - public float maxPersistantManifoldPoolSize; public float maxCollisionAlgorithmPoolSize; public float shouldDisableContactPoolDynamicAllocation; @@ -208,17 +182,9 @@ public struct ConfigurationParameters public float shouldSplitSimulationIslands; public float shouldEnableFrictionCaching; public float numberOfSolverIterations; + public float useSingleSidedMeshes; - public float XlinksetImplementation; - public float XlinkConstraintUseFrameOffset; - public float XlinkConstraintEnableTransMotor; - public float XlinkConstraintTransMotorMaxVel; - public float XlinkConstraintTransMotorMaxForce; - public float XlinkConstraintERP; - public float XlinkConstraintCFM; - public float XlinkConstraintSolverIterations; - - public float XphysicsLoggingFrames; + public float physicsLoggingFrames; public const float numericTrue = 1f; public const float numericFalse = 0f; diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs index 8c098b234c..fbef7e79c6 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs @@ -68,6 +68,24 @@ public static class BSParam public static float TerrainRestitution { get; private set; } public static float TerrainCollisionMargin { get; private set; } + public static float DefaultFriction; + public static float DefaultDensity; + public static float DefaultRestitution; + public static float CollisionMargin; + public static float Gravity; + + // Physics Engine operation + public static float MaxPersistantManifoldPoolSize; + public static float MaxCollisionAlgorithmPoolSize; + public static float ShouldDisableContactPoolDynamicAllocation; + public static float ShouldForceUpdateAllAabbs; + public static float ShouldRandomizeSolverOrder; + public static float ShouldSplitSimulationIslands; + public static float ShouldEnableFrictionCaching; + public static float NumberOfSolverIterations; + public static bool UseSingleSidedMeshes { get { return UseSingleSidedMeshesF != ConfigurationParameters.numericFalse; } } + public static float UseSingleSidedMeshesF; + // Avatar parameters public static float AvatarFriction { get; private set; } public static float AvatarStandingFriction { get; private set; } @@ -287,29 +305,29 @@ public static class BSParam new ParameterDefn("DefaultFriction", "Friction factor used on new objects", 0.2f, - (s,cf,p,v) => { s.UnmanagedParams[0].defaultFriction = cf.GetFloat(p, v); }, - (s) => { return s.UnmanagedParams[0].defaultFriction; }, - (s,p,l,v) => { s.UnmanagedParams[0].defaultFriction = v; } ), + (s,cf,p,v) => { DefaultFriction = cf.GetFloat(p, v); }, + (s) => { return DefaultFriction; }, + (s,p,l,v) => { DefaultFriction = v; s.UnmanagedParams[0].defaultFriction = v; } ), new ParameterDefn("DefaultDensity", "Density for new objects" , 10.000006836f, // Aluminum g/cm3 - (s,cf,p,v) => { s.UnmanagedParams[0].defaultDensity = cf.GetFloat(p, v); }, - (s) => { return s.UnmanagedParams[0].defaultDensity; }, - (s,p,l,v) => { s.UnmanagedParams[0].defaultDensity = v; } ), + (s,cf,p,v) => { DefaultDensity = cf.GetFloat(p, v); }, + (s) => { return DefaultDensity; }, + (s,p,l,v) => { DefaultDensity = v; s.UnmanagedParams[0].defaultDensity = v; } ), new ParameterDefn("DefaultRestitution", "Bouncyness of an object" , 0f, - (s,cf,p,v) => { s.UnmanagedParams[0].defaultRestitution = cf.GetFloat(p, v); }, - (s) => { return s.UnmanagedParams[0].defaultRestitution; }, - (s,p,l,v) => { s.UnmanagedParams[0].defaultRestitution = v; } ), + (s,cf,p,v) => { DefaultRestitution = cf.GetFloat(p, v); }, + (s) => { return DefaultRestitution; }, + (s,p,l,v) => { DefaultRestitution = v; s.UnmanagedParams[0].defaultRestitution = v; } ), new ParameterDefn("CollisionMargin", "Margin around objects before collisions are calculated (must be zero!)", 0.04f, - (s,cf,p,v) => { s.UnmanagedParams[0].collisionMargin = cf.GetFloat(p, v); }, - (s) => { return s.UnmanagedParams[0].collisionMargin; }, - (s,p,l,v) => { s.UnmanagedParams[0].collisionMargin = v; } ), + (s,cf,p,v) => { CollisionMargin = cf.GetFloat(p, v); }, + (s) => { return CollisionMargin; }, + (s,p,l,v) => { CollisionMargin = v; s.UnmanagedParams[0].collisionMargin = v; } ), new ParameterDefn("Gravity", "Vertical force of gravity (negative means down)", -9.80665f, - (s,cf,p,v) => { s.UnmanagedParams[0].gravity = cf.GetFloat(p, v); }, - (s) => { return s.UnmanagedParams[0].gravity; }, - (s,p,l,v) => { s.UpdateParameterObject((x)=>{s.UnmanagedParams[0].gravity=x;}, p, PhysParameterEntry.APPLY_TO_NONE, v); }, + (s,cf,p,v) => { Gravity = cf.GetFloat(p, v); }, + (s) => { return Gravity; }, + (s,p,l,v) => { Gravity = v; s.UnmanagedParams[0].gravity = v; }, (s,o,v) => { s.PE.SetGravity(o.PhysBody, new Vector3(0f,0f,v)); } ), @@ -317,49 +335,49 @@ public static class BSParam 0f, (s,cf,p,v) => { LinearDamping = cf.GetFloat(p, v); }, (s) => { return LinearDamping; }, - (s,p,l,v) => { s.UpdateParameterObject((x)=>{LinearDamping=x;}, p, l, v); }, + (s,p,l,v) => { LinearDamping = v; }, (s,o,v) => { s.PE.SetDamping(o.PhysBody, v, AngularDamping); } ), new ParameterDefn("AngularDamping", "Factor to damp angular movement per second (0.0 - 1.0)", 0f, (s,cf,p,v) => { AngularDamping = cf.GetFloat(p, v); }, (s) => { return AngularDamping; }, - (s,p,l,v) => { s.UpdateParameterObject((x)=>{AngularDamping=x;}, p, l, v); }, + (s,p,l,v) => { AngularDamping = v; }, (s,o,v) => { s.PE.SetDamping(o.PhysBody, LinearDamping, v); } ), new ParameterDefn("DeactivationTime", "Seconds before considering an object potentially static", 0.2f, (s,cf,p,v) => { DeactivationTime = cf.GetFloat(p, v); }, (s) => { return DeactivationTime; }, - (s,p,l,v) => { s.UpdateParameterObject((x)=>{DeactivationTime=x;}, p, l, v); }, + (s,p,l,v) => { DeactivationTime = v; }, (s,o,v) => { s.PE.SetDeactivationTime(o.PhysBody, v); } ), new ParameterDefn("LinearSleepingThreshold", "Seconds to measure linear movement before considering static", 0.8f, (s,cf,p,v) => { LinearSleepingThreshold = cf.GetFloat(p, v); }, (s) => { return LinearSleepingThreshold; }, - (s,p,l,v) => { s.UpdateParameterObject((x)=>{LinearSleepingThreshold=x;}, p, l, v); }, + (s,p,l,v) => { LinearSleepingThreshold = v;}, (s,o,v) => { s.PE.SetSleepingThresholds(o.PhysBody, v, v); } ), new ParameterDefn("AngularSleepingThreshold", "Seconds to measure angular movement before considering static", 1.0f, (s,cf,p,v) => { AngularSleepingThreshold = cf.GetFloat(p, v); }, (s) => { return AngularSleepingThreshold; }, - (s,p,l,v) => { s.UpdateParameterObject((x)=>{AngularSleepingThreshold=x;}, p, l, v); }, + (s,p,l,v) => { AngularSleepingThreshold = v;}, (s,o,v) => { s.PE.SetSleepingThresholds(o.PhysBody, v, v); } ), new ParameterDefn("CcdMotionThreshold", "Continuious collision detection threshold (0 means no CCD)" , 0.0f, // set to zero to disable (s,cf,p,v) => { CcdMotionThreshold = cf.GetFloat(p, v); }, (s) => { return CcdMotionThreshold; }, - (s,p,l,v) => { s.UpdateParameterObject((x)=>{CcdMotionThreshold=x;}, p, l, v); }, + (s,p,l,v) => { CcdMotionThreshold = v;}, (s,o,v) => { s.PE.SetCcdMotionThreshold(o.PhysBody, v); } ), new ParameterDefn("CcdSweptSphereRadius", "Continuious collision detection test radius" , 0.2f, (s,cf,p,v) => { CcdSweptSphereRadius = cf.GetFloat(p, v); }, (s) => { return CcdSweptSphereRadius; }, - (s,p,l,v) => { s.UpdateParameterObject((x)=>{CcdSweptSphereRadius=x;}, p, l, v); }, + (s,p,l,v) => { CcdSweptSphereRadius = v;}, (s,o,v) => { s.PE.SetCcdSweptSphereRadius(o.PhysBody, v); } ), new ParameterDefn("ContactProcessingThreshold", "Distance above which contacts can be discarded (0 means no discard)" , 0.0f, (s,cf,p,v) => { ContactProcessingThreshold = cf.GetFloat(p, v); }, (s) => { return ContactProcessingThreshold; }, - (s,p,l,v) => { s.UpdateParameterObject((x)=>{ContactProcessingThreshold=x;}, p, l, v); }, + (s,p,l,v) => { ContactProcessingThreshold = v;}, (s,o,v) => { s.PE.SetContactProcessingThreshold(o.PhysBody, v); } ), new ParameterDefn("TerrainImplementation", "Type of shape to use for terrain (0=heightmap, 1=mesh)", @@ -392,7 +410,7 @@ public static class BSParam 0.2f, (s,cf,p,v) => { AvatarFriction = cf.GetFloat(p, v); }, (s) => { return AvatarFriction; }, - (s,p,l,v) => { s.UpdateParameterObject((x)=>{AvatarFriction=x;}, p, l, v); } ), + (s,p,l,v) => { AvatarFriction = v; } ), new ParameterDefn("AvatarStandingFriction", "Avatar friction when standing. Changed on avatar recreation.", 10.0f, (s,cf,p,v) => { AvatarStandingFriction = cf.GetFloat(p, v); }, @@ -407,32 +425,32 @@ public static class BSParam 3.5f, (s,cf,p,v) => { AvatarDensity = cf.GetFloat(p, v); }, (s) => { return AvatarDensity; }, - (s,p,l,v) => { s.UpdateParameterObject((x)=>{AvatarDensity=x;}, p, l, v); } ), + (s,p,l,v) => { AvatarDensity = v; } ), new ParameterDefn("AvatarRestitution", "Bouncyness. Changed on avatar recreation.", 0f, (s,cf,p,v) => { AvatarRestitution = cf.GetFloat(p, v); }, (s) => { return AvatarRestitution; }, - (s,p,l,v) => { s.UpdateParameterObject((x)=>{AvatarRestitution=x;}, p, l, v); } ), + (s,p,l,v) => { AvatarRestitution = v; } ), new ParameterDefn("AvatarCapsuleWidth", "The distance between the sides of the avatar capsule", 0.6f, (s,cf,p,v) => { AvatarCapsuleWidth = cf.GetFloat(p, v); }, (s) => { return AvatarCapsuleWidth; }, - (s,p,l,v) => { s.UpdateParameterObject((x)=>{AvatarCapsuleWidth=x;}, p, l, v); } ), + (s,p,l,v) => { AvatarCapsuleWidth = v; } ), new ParameterDefn("AvatarCapsuleDepth", "The distance between the front and back of the avatar capsule", 0.45f, (s,cf,p,v) => { AvatarCapsuleDepth = cf.GetFloat(p, v); }, (s) => { return AvatarCapsuleDepth; }, - (s,p,l,v) => { s.UpdateParameterObject((x)=>{AvatarCapsuleDepth=x;}, p, l, v); } ), + (s,p,l,v) => { AvatarCapsuleDepth = v; } ), new ParameterDefn("AvatarCapsuleHeight", "Default height of space around avatar", 1.5f, (s,cf,p,v) => { AvatarCapsuleHeight = cf.GetFloat(p, v); }, (s) => { return AvatarCapsuleHeight; }, - (s,p,l,v) => { s.UpdateParameterObject((x)=>{AvatarCapsuleHeight=x;}, p, l, v); } ), + (s,p,l,v) => { AvatarCapsuleHeight = v; } ), new ParameterDefn("AvatarContactProcessingThreshold", "Distance from capsule to check for collisions", 0.1f, (s,cf,p,v) => { AvatarContactProcessingThreshold = cf.GetFloat(p, v); }, (s) => { return AvatarContactProcessingThreshold; }, - (s,p,l,v) => { s.UpdateParameterObject((x)=>{AvatarContactProcessingThreshold=x;}, p, l, v); } ), + (s,p,l,v) => { AvatarContactProcessingThreshold = v; } ), new ParameterDefn("AvatarStepHeight", "Height of a step obstacle to consider step correction", 0.3f, (s,cf,p,v) => { AvatarStepHeight = cf.GetFloat(p, v); }, @@ -497,44 +515,49 @@ public static class BSParam new ParameterDefn("MaxPersistantManifoldPoolSize", "Number of manifolds pooled (0 means default of 4096)", 0f, - (s,cf,p,v) => { s.UnmanagedParams[0].maxPersistantManifoldPoolSize = cf.GetFloat(p, v); }, - (s) => { return s.UnmanagedParams[0].maxPersistantManifoldPoolSize; }, - (s,p,l,v) => { s.UnmanagedParams[0].maxPersistantManifoldPoolSize = v; } ), + (s,cf,p,v) => { MaxPersistantManifoldPoolSize = cf.GetFloat(p, v); }, + (s) => { return MaxPersistantManifoldPoolSize; }, + (s,p,l,v) => { MaxPersistantManifoldPoolSize = v; s.UnmanagedParams[0].maxPersistantManifoldPoolSize = v; } ), new ParameterDefn("MaxCollisionAlgorithmPoolSize", "Number of collisions pooled (0 means default of 4096)", 0f, - (s,cf,p,v) => { s.UnmanagedParams[0].maxCollisionAlgorithmPoolSize = cf.GetFloat(p, v); }, - (s) => { return s.UnmanagedParams[0].maxCollisionAlgorithmPoolSize; }, - (s,p,l,v) => { s.UnmanagedParams[0].maxCollisionAlgorithmPoolSize = v; } ), + (s,cf,p,v) => { MaxCollisionAlgorithmPoolSize = cf.GetFloat(p, v); }, + (s) => { return MaxCollisionAlgorithmPoolSize; }, + (s,p,l,v) => { MaxCollisionAlgorithmPoolSize = v; s.UnmanagedParams[0].maxCollisionAlgorithmPoolSize = v; } ), new ParameterDefn("ShouldDisableContactPoolDynamicAllocation", "Enable to allow large changes in object count", ConfigurationParameters.numericFalse, - (s,cf,p,v) => { s.UnmanagedParams[0].shouldDisableContactPoolDynamicAllocation = BSParam.NumericBool(cf.GetBoolean(p, BSParam.BoolNumeric(v))); }, - (s) => { return s.UnmanagedParams[0].shouldDisableContactPoolDynamicAllocation; }, - (s,p,l,v) => { s.UnmanagedParams[0].shouldDisableContactPoolDynamicAllocation = v; } ), + (s,cf,p,v) => { ShouldDisableContactPoolDynamicAllocation = BSParam.NumericBool(cf.GetBoolean(p, BSParam.BoolNumeric(v))); }, + (s) => { return ShouldDisableContactPoolDynamicAllocation; }, + (s,p,l,v) => { ShouldDisableContactPoolDynamicAllocation = v; s.UnmanagedParams[0].shouldDisableContactPoolDynamicAllocation = v; } ), new ParameterDefn("ShouldForceUpdateAllAabbs", "Enable to recomputer AABBs every simulator step", ConfigurationParameters.numericFalse, - (s,cf,p,v) => { s.UnmanagedParams[0].shouldForceUpdateAllAabbs = BSParam.NumericBool(cf.GetBoolean(p, BSParam.BoolNumeric(v))); }, - (s) => { return s.UnmanagedParams[0].shouldForceUpdateAllAabbs; }, - (s,p,l,v) => { s.UnmanagedParams[0].shouldForceUpdateAllAabbs = v; } ), + (s,cf,p,v) => { ShouldForceUpdateAllAabbs = BSParam.NumericBool(cf.GetBoolean(p, BSParam.BoolNumeric(v))); }, + (s) => { return ShouldForceUpdateAllAabbs; }, + (s,p,l,v) => { ShouldForceUpdateAllAabbs = v; s.UnmanagedParams[0].shouldForceUpdateAllAabbs = v; } ), new ParameterDefn("ShouldRandomizeSolverOrder", "Enable for slightly better stacking interaction", ConfigurationParameters.numericTrue, - (s,cf,p,v) => { s.UnmanagedParams[0].shouldRandomizeSolverOrder = BSParam.NumericBool(cf.GetBoolean(p, BSParam.BoolNumeric(v))); }, - (s) => { return s.UnmanagedParams[0].shouldRandomizeSolverOrder; }, - (s,p,l,v) => { s.UnmanagedParams[0].shouldRandomizeSolverOrder = v; } ), + (s,cf,p,v) => { ShouldRandomizeSolverOrder = BSParam.NumericBool(cf.GetBoolean(p, BSParam.BoolNumeric(v))); }, + (s) => { return ShouldRandomizeSolverOrder; }, + (s,p,l,v) => { ShouldRandomizeSolverOrder = v; s.UnmanagedParams[0].shouldRandomizeSolverOrder = v; } ), new ParameterDefn("ShouldSplitSimulationIslands", "Enable splitting active object scanning islands", ConfigurationParameters.numericTrue, - (s,cf,p,v) => { s.UnmanagedParams[0].shouldSplitSimulationIslands = BSParam.NumericBool(cf.GetBoolean(p, BSParam.BoolNumeric(v))); }, - (s) => { return s.UnmanagedParams[0].shouldSplitSimulationIslands; }, - (s,p,l,v) => { s.UnmanagedParams[0].shouldSplitSimulationIslands = v; } ), + (s,cf,p,v) => { ShouldSplitSimulationIslands = BSParam.NumericBool(cf.GetBoolean(p, BSParam.BoolNumeric(v))); }, + (s) => { return ShouldSplitSimulationIslands; }, + (s,p,l,v) => { ShouldSplitSimulationIslands = v; s.UnmanagedParams[0].shouldSplitSimulationIslands = v; } ), new ParameterDefn("ShouldEnableFrictionCaching", "Enable friction computation caching", ConfigurationParameters.numericTrue, - (s,cf,p,v) => { s.UnmanagedParams[0].shouldEnableFrictionCaching = BSParam.NumericBool(cf.GetBoolean(p, BSParam.BoolNumeric(v))); }, - (s) => { return s.UnmanagedParams[0].shouldEnableFrictionCaching; }, - (s,p,l,v) => { s.UnmanagedParams[0].shouldEnableFrictionCaching = v; } ), + (s,cf,p,v) => { ShouldEnableFrictionCaching = BSParam.NumericBool(cf.GetBoolean(p, BSParam.BoolNumeric(v))); }, + (s) => { return ShouldEnableFrictionCaching; }, + (s,p,l,v) => { ShouldEnableFrictionCaching = v; s.UnmanagedParams[0].shouldEnableFrictionCaching = v; } ), new ParameterDefn("NumberOfSolverIterations", "Number of internal iterations (0 means default)", 0f, // zero says use Bullet default - (s,cf,p,v) => { s.UnmanagedParams[0].numberOfSolverIterations = cf.GetFloat(p, v); }, - (s) => { return s.UnmanagedParams[0].numberOfSolverIterations; }, - (s,p,l,v) => { s.UnmanagedParams[0].numberOfSolverIterations = v; } ), + (s,cf,p,v) => { NumberOfSolverIterations = cf.GetFloat(p, v); }, + (s) => { return NumberOfSolverIterations; }, + (s,p,l,v) => { NumberOfSolverIterations = v; s.UnmanagedParams[0].numberOfSolverIterations = v; } ), + new ParameterDefn("UseSingleSidedMeshes", "Whether to compute collisions based on single sided meshes.", + ConfigurationParameters.numericTrue, + (s,cf,p,v) => { UseSingleSidedMeshesF = BSParam.NumericBool(cf.GetBoolean(p, BSParam.BoolNumeric(v))); }, + (s) => { return UseSingleSidedMeshesF; }, + (s,p,l,v) => { UseSingleSidedMeshesF = v; s.UnmanagedParams[0].useSingleSidedMeshes = v; } ), new ParameterDefn("LinksetImplementation", "Type of linkset implementation (0=Constraint, 1=Compound, 2=Manual)", (float)BSLinkset.LinksetImplementation.Compound, diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs index a4690ba6a0..6cd72f221c 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs @@ -882,41 +882,41 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters BSParam.ParameterDefn theParam; if (BSParam.TryGetParameter(parm, out theParam)) { + // Set the value in the C# code theParam.setter(this, parm, localID, val); + + // Optionally set the parameter in the unmanaged code + if (theParam.onObject != null) + { + // update all the localIDs specified + // If the local ID is APPLY_TO_NONE, just change the default value + // If the localID is APPLY_TO_ALL change the default value and apply the new value to all the lIDs + // If the localID is a specific object, apply the parameter change to only that object + List objectIDs = new List(); + switch (localID) + { + case PhysParameterEntry.APPLY_TO_NONE: + // This will cause a call into the physical world if some operation is specified (SetOnObject). + objectIDs.Add(TERRAIN_ID); + TaintedUpdateParameter(parm, objectIDs, val); + break; + case PhysParameterEntry.APPLY_TO_ALL: + lock (PhysObjects) objectIDs = new List(PhysObjects.Keys); + TaintedUpdateParameter(parm, objectIDs, val); + break; + default: + // setting only one localID + objectIDs.Add(localID); + TaintedUpdateParameter(parm, objectIDs, val); + break; + } + } + ret = true; } return ret; } - // update all the localIDs specified - // If the local ID is APPLY_TO_NONE, just change the default value - // If the localID is APPLY_TO_ALL change the default value and apply the new value to all the lIDs - // If the localID is a specific object, apply the parameter change to only that object - internal delegate void AssignVal(float x); - internal void UpdateParameterObject(AssignVal setDefault, string parm, uint localID, float val) - { - List objectIDs = new List(); - switch (localID) - { - case PhysParameterEntry.APPLY_TO_NONE: - setDefault(val); // setting only the default value - // This will cause a call into the physical world if some operation is specified (SetOnObject). - objectIDs.Add(TERRAIN_ID); - TaintedUpdateParameter(parm, objectIDs, val); - break; - case PhysParameterEntry.APPLY_TO_ALL: - setDefault(val); // setting ALL also sets the default value - lock (PhysObjects) objectIDs = new List(PhysObjects.Keys); - TaintedUpdateParameter(parm, objectIDs, val); - break; - default: - // setting only one localID - objectIDs.Add(localID); - TaintedUpdateParameter(parm, objectIDs, val); - break; - } - } - // schedule the actual updating of the paramter to when the phys engine is not busy private void TaintedUpdateParameter(string parm, List lIDs, float val) { diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSTerrainMesh.cs b/OpenSim/Region/Physics/BulletSPlugin/BSTerrainMesh.cs index 8244f02e8f..d7e800d933 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSTerrainMesh.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSTerrainMesh.cs @@ -96,7 +96,7 @@ public sealed class BSTerrainMesh : BSTerrainPhys { // DISASTER!! PhysicsScene.DetailLog("{0},BSTerrainMesh.create,failedCreationOfShape", ID); - physicsScene.Logger.ErrorFormat("{0} Failed creation of terrain mesh! base={1}", LogHeader, TerrainBase); + PhysicsScene.Logger.ErrorFormat("{0} Failed creation of terrain mesh! base={1}", LogHeader, TerrainBase); // Something is very messed up and a crash is in our future. return; } @@ -108,7 +108,7 @@ public sealed class BSTerrainMesh : BSTerrainPhys if (!m_terrainBody.HasPhysicalBody) { // DISASTER!! - physicsScene.Logger.ErrorFormat("{0} Failed creation of terrain body! base={1}", LogHeader, TerrainBase); + PhysicsScene.Logger.ErrorFormat("{0} Failed creation of terrain body! base={1}", LogHeader, TerrainBase); // Something is very messed up and a crash is in our future. return; } @@ -131,6 +131,12 @@ public sealed class BSTerrainMesh : BSTerrainPhys m_terrainBody.collisionType = CollisionType.Terrain; m_terrainBody.ApplyCollisionMask(PhysicsScene); + if (BSParam.UseSingleSidedMeshes) + { + PhysicsScene.DetailLog("{0},BSTerrainMesh.settingCustomMaterial", id); + PhysicsScene.PE.AddToCollisionFlags(m_terrainBody, CollisionFlags.CF_CUSTOM_MATERIAL_CALLBACK); + } + // Make it so the terrain will not move or be considered for movement. PhysicsScene.PE.ForceActivationState(m_terrainBody, ActivationState.DISABLE_SIMULATION); } @@ -176,8 +182,7 @@ public sealed class BSTerrainMesh : BSTerrainPhys // Convert the passed heightmap to mesh information suitable for CreateMeshShape2(). // Return 'true' if successfully created. - public static bool ConvertHeightmapToMesh( - BSScene physicsScene, + public static bool ConvertHeightmapToMesh( BSScene physicsScene, float[] heightMap, int sizeX, int sizeY, // parameters of incoming heightmap float extentX, float extentY, // zero based range for output vertices Vector3 extentBase, // base to be added to all vertices diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index 24dffacfed45b99afdbbfaf47d592a3fbb00251c..0d24f121c095374b445098ad73884a0ffd76912c 100755 GIT binary patch delta 51452 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 BMMVGr diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so index 7e3ed20b9a294c84406941fbf215a3ad5b7cf2b4..674a08a6e08be6a0e37b063b48754723bde87414 100755 GIT binary patch delta 515644 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%0A%~er4ZJw$#p^ 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 delta 511234 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�{h^iwasa*b_N!(PZd!j?P!E^O;F=CCd>Z8~;J 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 delta 100564 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 diff --git a/bin/lib64/libBulletSim.so b/bin/lib64/libBulletSim.so index 93827511f774e3e5873de0655019fd75b41e91e0..e2fc8bd9971cc178c351e75ab6c51a1fd725f0e9 100755 GIT binary patch delta 625818 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�>(FMjh;7-^ePBxviS&*_6&E6Ezp zdF2FMFhi|A{EF4V+Fy{`2dx(5jj_=jrXT(OQlrB&(({<1^L};6m#jHPNmhc4R%~Cs z?sJ`{hO)oC(h0yc(@|?Jx2J^OJ<|)V)Y3T?a^TbEskuJS<{ID{0zjDJ;V67(@<_$D}?hJRk8gRUjN+kiELB5!p2lWU7?CB^ z{|j<_ANoK`sx(a-p1rLUn#1_#H5jT)0m1R%EODAPNPH*F70KP5cxSDvdZi;@kY7MvlS%pz4re;xYYn%lNHQ;C(XJD zU&k+LF(abI49{=WlO@g!-N%cf6<9)Xy;#F{WqrSuhg0I4?>*#a-bp{v#ifQ1xT*IGZzi3ms!8!x zc7Jml(h)GpzQkpQKgBxXM)z{sPh_X;?&P9nRhtJb(x_Q?E&=#SXPcUl>9Lr z(GsN-E4G3OjXuGI9@U8>!^ofc;^hKZ-1#0=w7h5m2;D*p|sm*)fgT*DglRKg58I@!SNZI zF`5}lc6Usn|B<@jDH%(HycF!)_m?kFKv0^l7jD4OdCU&Xh!V6@tBm*=_fqh{SD4Ob z@w;ziI#InU%2k=wf4`N?QT)G~CKS-zN{me)jc9J(+6$n;Sjm3S_8E9qM|0)ESIwp1 zPU5HRpym>_lvqyuOe_k!-7U%AP<8B;@sSj*KgIPCxLb5Vm+8!CW@rz{l^v;x{Ca@f zPg7nf%Zwhpg&9ILN69}jen#K?w12&FKe#x97o2Uu3z#i@DD)-rJLHh>ZQ><$yK!~9 zCE?MG-v5XKa)xjSbJZ2(_tWkB6g?k#5B(q3i83hQD>)YL4^C(d_=N6_;IE^HXQ)}u zVix^?Vs#Q#of&!~MJ{)<2AhfXUa?Y2=eHOpGFF$HbQjvU{Eeaqp-GD0sGIWmA5iXUaW@2_+cv@{sY(ApsV7d~YQqcZ_%q2-O`rc7$B1g+V@tQ}ihkiQA} z8L3ot_uRZ-{cq$)_4Ke;X{9zYQf)7%#bDB|fyo_OgJ2cI{&sC+$r8Fzu=njJu2!=Q z-F_a@pZuiIZS0|Lbp;6u}AP&GD1&D2d)-!4ZqlA}0F z6=2lt=sd1>Q>{-}rd?zQP1MXDS2Od*o3McCWNT{X9oL3gEbz|HH2!X(gpM3j73lW! zNb$4L37I2G)($4$sT{&`iDf9~6;=&Aw4+{I#MhwIYxGC;5ewBvz@*szSG$`RMS>hX z^x@~m%~4P@#toqj(oNA#+qfa^Co0ox?yr%|Xqw(L=zGgGZtjNy=+V1?vj3WC`}QV32RF54NV}Zq|!RpLJ*PwPTdT(pjTXwQsIbbxtK> zdMekSNK-4w`jN(1mgAFPWDyEZ9>xq|Na*M`3BF2#uan@~IkJ^;^dDJL(XlGbP>P1_ zG1P&hX=ul$(zxy)`Oc=(UDQNQN7k{g%gC=xDE!gN>pC%hcIeLG`U{-ACTsF4PZ|r# z^k71jwEM&NX8TZbQ{4&G{a9sm+#}>ygY_DrGj#M?CN&g%##VEKG&CM6F(WN?gsMC& zN3_+gZN}h}wYcd8{~&)5kv}-CgqHkG!O1VP?!8U?rUD$B&kXtI*Xl0DFSUmJddldN z8WFjVT$=rRl~&NgLZTKHynuT)uw>B`mh2m4Xi6KFY=)k|^n#bvV-=+7TLKtNJKFOG z(@8s4#Qkpz6LamadwyP!RgzJChBjAb3GT-&IU^XYqX`w1p?ZuzNh-}K&+RCQp$C_3 zWK;q#3puGFW*ND(YkifEXEvF(FN(4ew(o*>5HX4zumO9ll1iEp6+;*@u!Af zV~~3u1y9sEsTcg$CT2A1J)_eQS=Tqx`oLo?eVyL|k2gcOQ?TRaru5noRqeKZ0cfvxqc((ad}N z^Igb~=nH5cvs^*OCu$pdK$7uM&7;uhOu)#{ip(3&^MaJe*ed(TR!*YxviN1Rkg`w$ z9)gLwiqX!48^pgIU5LfsbT>7zM*POekXvTV4((yD_!uuJbch!`uM1A3vnCT3vL@GR zz;)sY#vk!t@9nPGREL_2h8{a?ie_&adK`N>oSFMZwhm)QI}!fIWm}c_A&t-~D?^P& zGJd0%n9=q!xf|c3;N;LA_A+VIXhKmMVKq#1TvA^@%7l(n!M^Ta4k#d7pPp5If?mDIPu9@Ww}I4tkZ&a}AOUwtKq6FY{Do>AUcg4I>Y35S zb#Jw%;@>D^)aNq)?Kz??sfqCCHB(+=IzenI^U{*uC1|KtAJJUYJKl*H4p@egrm@6c zL*Htcu}rtaz57@qqZ@J$<9nmqu!8BV{f_*Y?>Z_qqH%519xgxh+?v1=WNNU@%kahb z7nsm%x*g#)H1inKNzqXC7HP;{6=nq(-jykAB0m;HMCRco8QS#&|6TJFqt6#KNOs*(ZMRZ$Djo2&b@G^zHYR5mHt)Dy>~Y#rOr~0 zE;!sog6*s8pjEQ2d&jAn>8^m!=$p7(VE!OQPktmQLlci`5#E*`(|dk)O{~IOENaF@ z>ZYa|_MRJ=^?{+Chv(6km=%T{LA`sJlZ0-}VVWe)F2$Tj^b(*h;-B2__^}{0^w9Xg zy%d}!-K(U*?HIdRC8p>ds&^=%tFgV!ikc8w$aoVAD3;OiS0|f)E>*f60ce9>XPs*? zp&)bze)2=oap-MiZKBk~)!GE_&HoX&7S}n1J{DPID$_|DLk%sp%7y%3iagC8IRfAN zOiH09s%p)sx=NfMGb}4{5V}F$@oL6zq%8+NLl4a&KSP6K%nTi^nVu^cVmVE@pE-J8 zx_$sdC{y+0y=W5{QaYM8iX{ktzOv$a#t(lGeb@iecOR$}yZHo%BaM`N6upy)Enkbt zmleM*CS=Bs>&E=Inw~5}-(%ScfA8`U%)3kvsk(WWs%&2>wT+(I~9F*yP@zqA#s%;rcB|k5NppX=OgXU=%P&z8|Jqwnhol-YBE~#Tgr@hRIY$kpWOcLB` zLdFHOcaSt1?1qDLdpN3dNaOua%ehqDEUhGcri2QQRvQT21RQ-WM3-KGO?xVdp zputj|QN>{1FH})H4FdsCfA<>%pBGBM|Eo%|nHqe1zdQOy7GV5bYNm;zkHbw#(`be^ zQ}}$|n#TCyZ+=!DsQjN`er{Ge&tf&zOfHSDT4?$2O~B-IUXX-)@J5)~aAU9%MQ> zcQTzVil2?~o2A2#oTGVReCjA!P9a6Fa6~;i>U%dYNLWt+^~4{9qF77ldx{+t3hL+! zbVw#3DKrAFfzg@qtEMoWl@{CF%boadCw8{u33Nb?7Q=K*z*g;m_o}n|ov$H3Z49f%`~8D$si9xa(N?}=xq`%)yiw{uR4IRh;6}tVn>eB!KHlkcZ9)Fe zvnk+PB{Z@(TSxdKpg(0&aE`XY&}pLz&|{jd#1cwS6=)TXj!1QRex(3*kU{WwcM5(> zyY5g>NAIJdTSnuW0CyC>y5@=Dy}a*iVEj9ImpK+p*9G}<^F&Ih*$k6|3gn>t_%pVc zC5RqkmA$KU`W)uqBu9f2@0U+K!t{r099zr9NBxibf+|WaLI3`idYt#<_amF=={{HG zmr`9O>g_(&CHQ}CI*6C)Xa?Yoy0-fKN`5o$On?kN_)(U@s;)i9-Y52RR<1tRN zW)t;0i_|&-Wi;hc7NDW{S?H=QeztA~vBW{p5G#hR*<&5f*}u=}i8uup4&AzVL4$;M z^;CiHlDq#&qYHnowC}G>C;ZvdrhBOA%s7Xn*`+Bz_*i{il6IoQ<2q_kg*lCD3%oBu z=6$UD?EC2_d;yAKU}{#K)SQ}V%GMS%!=%be9M^Xy(v*I+x+uR{?}dr9_EI|WTm$mM zA0RynS7`Bn8^`!)jgIQW%8XwQ3sXkE-B&+Beq!kTqfxc8u`zil*n*>qA8|mLpqDuM zl9eoGCBU5ptucE3$B<-#XZ5FGKa5InnJ5^Xe^@F|`a4!K{%&oOjdjzBFMp;=<9E?T z{4P(CgaM@q&em2&U$Q^0Wc-9Kv})9pqx-~_*C^-B9&=C>F|3SApyls`5$O5N+17~mTZ?goP z(9k-kDRu8la7OD!5j}m`uB~(%>P11|YVf>En#}c_Uvy_U=XmRzH<=V6P?F&5?QPVsf;s<&%1rFCypZU01 zW5$)H?*n)heSZ&gni!fezVV%m=oWTMnk@xeTT!Kn>P3C)DEkLnQ<9!Vv{qqs`~v%k zc+LLo{pyk*Jjr#X|MxD!qp)IAT?GyHeJ8YXFf){smz|KWvVOJG*PN^z8^&xxy^dT5>6&Z}e4X`Mr+9%1pFOz-s+FiftJ;)CGeGG-`6+gC>^{pIbL ze)478(uQL!r)JSa>n;s-!MMA5L0qqo$tQj>jn^}k(f#7ztedb&x(VyGf8+l2Za-Fv z#Ya-ncPjdBjIvE}S=r1v{HddC)R8H!gx2Sxioa(l`GuZmI_=e}|HOR6;=ik#G?f(p z`Pwonj{0MP;s>|P=LO;KgywEQe)yfO-QdDaK)3rT_&Ny~yp8-ocg?+iKD>%n7`g0= zirw+jy0yH(-y-m)GE>8awBgjmy%O+*N*4YQ>DlyGPL+*Sf&R=nMfEhmzv>o0ImG`( zBi?>?84SptTgp^6WPIL>>e_`hCd>@tRv$eF2wi~e06{uo8bc zWH^w_6Q^_=5iQ8kxZl{}MYKWOcZ8L+XcP~qeuWb>4Fz)EzF)g- zJ(dj22Jw+l7u9?9XVe4C)H2V*N@)61w27SWX%oCE2sSjL(~am$Ki=v7-iR6M{V_F~ zAgA)!4)W7_gF-SL0MR(X(;th4vyG{gP>YUyNE*_o)Y8O%B!(`<>ZaE!O7#ACY(r*fhaMk;F*_=M4daj1nuL%43hs4VzlRB- zi-+5#j*dK{X8a_p>^ZW7ITy%}Wxi0$C8`6aXu-1~`&XQd%+ z8lwK7i7fJymeIfcp!A#1WIFl^Xzbrt=ihvaB@W_L-M0z6;v_a7SrsJfReA-KP@}Qr zNAE?_%*elcHy!GHPn9xohTLBCbf7pbGm*7s|FpOqfRh;%TSKK zCF~te=cA0Dsjtxa)-++O9Mq+s6Gci5x*#1}GAL7u0v?cnx*M!6;bQev6UJDMGSF9< zt%N^6`Vlf@{5@KI_pRgEky3T&zQxEEOvgS;>g?a=bj(1iG*he8aP^LQq4`;fqkUPs z=T!&Ksg6^gWgTOvxT&T(PYTpQM*Ikvwx9hjr6!>lu}(uJC{#5HHR zkLd@8GAN+6*0sDbwwy@*8MP+bJX~@o79jgm_BCyk(H^fuzNxO|xyzg1cN%wQUH;sE zFciChoIhwlf8aHDt|kkR%;8f&F?gj_A;sTAm0hJ1A8C0%h<(UB{*M|A=I!AHiM`1v zrYiPu31)Rl}!+T#%iY1Ipim{^dZ0XA_~?$t60!t9TUnP$?n8EoL?uC zpYsegfxg7iW;LhGOvd-Na?LDhXgNz9QT(Sc&2%$@(6fMd&$0MeG6;Xwv+N7Z>5|Z0 zx`;+v4;Ekv{2kXGnl@(Vq2N5KfoR?}Bw_ZSq@2z^!3)y#DZn;0 zc_QNp@)N$K0LXK+Lfvbo9zb2JblyJ0D$5L2*?7!{&97wZyQftU-?hJ&WJD1eQK}N^ zltRIoy4NsS{61@`>O_qj=oK(Gl7_x6NDY0c_-|#i#EH7$np^y1ALioQe-gS;H*e_7 zYIQ0JSJJ8<(FFw$rY}8TDYoJxrvI`Oal0B#j=rT9RrICzv+9#7Y$GdgW>=C|Prn^5Peo&iw21pRoYtbhPzJCX}^?HIrA3=|oj2NZUlcjehhO6H3v2 zRj;@+@FwPlHr&h%c@N&UBGXCf#75S|NkyH_Zcf4BxBL`W$!h+S$3^YRd8Wn4yVZQt(kFv{eJB@P|YX z&8C11J+;kx#`pSuWIB=F^pw-2(Q!!D3edkz-T=J|M(sLrIu{d4Y|mCUtQ{q@zTB{$U0{nEA{M1#f|M4n7mtE3yIeLoX#)tgi zif4Hu^%SdkyAm3TCU1fZgzl|v(P;0uMtjJIqf>9P09hBP>d(c$?GC2XZ#DUki+}x- znmmP9WKz&(%_h{tjomvSOp(QKulOc|aZD#sTPLOI zpunxnXmSA-V7%gwX~+1nq{~(ZgW$@Y6dWEX|LhjIum>~rvXM7dQ$T{=VM~1k!P)t= zmGEa$@7Gu<;T{*WRd7l(^dgL&L8s`^%nny-r!zU@Y2^AKi_XGKo1Enx0@La?qNnx zEB$9TF{2SZZoy>WRt8@~0ZE^;N@^*gAIeZbYpwZI5kJ>F#?M|!OJQdL4>goL(qP zE4hB&e|ixMusd`ge0Z{qT5ir~^nru4mBfp*l?%C<{((1`&gCBfh5QBD(-4tggM7?#viW&c$?cX2kDnKTe*c7 z_$q7M`-zr$P&Jo+(bHt?!dj43L55~XepLGOR`D}K>D)*SMM7T|UV!1h6)Y;b{++yU ztYSv%aq2hnUnAWH^ESb0dI#MumH220@}r@Lc8WEl=636S5WgyZ=SL`@#Ano;_fH=^ z(LQgk%CR}2u|zj?r6zW$ZixBDmxaND@dJtVjdfBz@>4>$WbXNa>161>e?-|ifP6XA zUEnG>_V0&B<8_%(M(8CA^U<@~1&Mr3Snz}r8vGldi;ISK&n?0f)q3KD(00pG6PTe) z4Q@GjhA9s47yQUh+m9vop(C>rXI7wlnk`3t?GBZo15I>>GW6FH#!uA?{W05c)UJ~F zp<9m!??6Ulm|7<5!P@G&U|&<_^ztu*2Enar8*6pfqM_pVyod3_A1>|(w_^nee;BkP z7XMA78R)s4D`=-igU0GE@LylMK>`MsC4a3PxHqBeZX&Eyh}DjTKr*L{y1nXyE7u4G$kw4c#PyQ=ubp5g`7jx&BI@w>|y(`1Yfi{BH& z4J$yPSvhLZQ3EWCnBeRaH0oGHCl)x$pIGgUgZI5X5$ z{MW5BhJYOP#mVBYzn$qU)+%EY@?$}+KdcI{aH~(4dgEICCv74pfiBv2x^JP6vJ(8D zr#byCs*X3YWYN&@avUUChURJyDJwb%hPhdpEoEutsGoAW^b7?AFS3ru%O+kv#0&)& z3%i)T75^X2Ei$#ux~E)Yt8LV1YUl>fmM@smxP6Mm+Mn-IrgmUXGxgEx>Po1dyJ3UK z+9TpMG<`D#Wa(*A@3{KxVBP0veZsebXREVdb+p3V2(sH+AzquL6Pht^HYVun*IDA| zO!jeytC9bfRGK{ViT@+(OyH_2zBqmn)Tj9j%>^jzWiC$*MN=aaMYALgBXfCH7-}Y! z7?~C=2rU*_7+H46!l?cgS{SX;f?;J*|1h#F$}nt2|6ycSWMcnw?wl(>r}z1U&3tFh z%$##(xpVKGyXLsC0lCL5H|g>&Gfu_za(}yasV2u7O-?q^&J0c_Cfs_V@f}_fyT3hu z899Y_o58t*PR>7Rw_c&$+Ec(%b8*G*KO(l^H0#-gwPY6CeMUN&lJlmOuV$ zT&ld#U0~%pT_R15rffAJJ<6=SYEAjhwoizWkJ4nm)$Z#PhYxy(&k( zLe0MvRnbY~P5k^8Q*)zH_V%TEaphQVgI&)T-0n!Mn<_yqII_XSr|S_42^ydGu+g0T zCDK1unt1z5q#v*0hRH=jq^ihsqVZ=Kli45mY+Pjoz5az!&1^0B{#G+y{XWoW!ZYRR zr)!HpG3h;DyrtP_u8y%%rHPYBTE;s(rfPiR@r(`I;8ohr5pqWUrlI3P{uV zYQ8Lz_;SBVAI2kv{C-oPXzp!#?-+g7)%gz(f#Rf9cN#&SCf?vGOMLVk6R)n~OuEj* zXB@L~a-7X2rUB{Urhu&`n=>k4(r?$t{=5--<3_f<)HF%2+&vX_*`b=Z{tf@wI zn^e$ShqT~ljCJRG%Ys3s;O=@|=Upz1<^C_4dpE~aeWl82SD@+j(eT`13a04@dZkWE zUcb-R{u*!kE4SYKy6Nsu^D?7q)B7D~5XUdnp5uVOC~L09Q?K14ITz^iX5IC7{l&9xeTrY`$at!00oZ;YIBy^(CH#dr4A z1QW#s;t*bo(~mPMa%#9c@Q)kn{(dho1*i5js`g%lIKI8{l?FYnPF={E$lFoUfGRz3 z)VMI8Qd4E(@w1<14`cA;pQ|J0{rapxjH`dH)qSH)3+&HwUb@s&$o`!1=!vG_*Q`54VOqdY z9g@9uLvg;TQ2aV$$~RRLx#8S@!~}Qh(*ELBh8#jZ@#&DPuE z`_^i~b*5lmUbw$f9&e;VN$y?G8Eso+FX-l9v!0n6t{E0RsTq2h?w6(Uw|r(y5YVH~ zuGIL~5@}2?URiC|$;q1w!oM`>e2GV-17uKZl*E^WbNE#PZ?9O`y0VBaQFaK`^k!A4Jf^KO}me^49X z#qZ=Ai0Nzf%R;;x?*4keVA9X}&B&SH#c&V4dmK z!<{1dR)%gydOrFM&&FcMJlImjFID5C-46@#+aamkKb{7_BWd0L3T!Iafv?W@AaCnOSJ`h zS>RRZChe}Z`n;ESB^bBS*gjs@D@K2O{`xkR-*(yImhU9#fMz@6348@7&Xq;Rx?Qxz z*JPXc+HB+O;X0`t)O#_jbs^JN8}`i+)8f>xI=V65q}Z<$moF_2rkXl>i`D7c%N*@x zkEx*64@|+4CmXL;dCtu|nMp+(be29<)4%bKDL8VRDY#tYAJ%Kx!d&xR&7(WuUosFu zse0`0TY3TWE0;y>HOJ?ol^^QxJi$)I*Ga9`}(~thsXd;kq z(!XN5eXeth?yMx~_Fq6V{KO-s6cDh!=lSasrhsZa&1I0LPkGr?G+s|U^qh2EhDo2a z(NxH*=;l`>o>x}$e>cE$mXuRW!C88fAV~|jah{2q$O$X^wQh9U&^s(yM7tP=Ln?5mc)~{wXTw zqaRI$Y9||~i_>27+IdD3E8qs#LdkPgssa1&H!YZ=g4(+S2tPunk6(M2{WYu!sZja= zqlq3`zpAid~~4zE|uru9S%X-n!_2MirW6 zDYThQE$N5qQB9uf-uHuvuQk4&dvwESPbZ_ecs)4rzuMk+jyIjAR+qM(3!OUAv@6S6 z#_Z{B;v=^hJ(wQC=Xk6(`f1P=>GQ69HuYO~nHr_)Jq2&Y_!KKjT2Q4^jp@sLDLPC& zqN^EhJOd1R(xgA2ePBX6(}F{fne@)@rb3>J#tq=~auI)TzOk_9>x*7Cg5I^j!G9K8ZqEA>$-f27&NPN7$dhez0xZ9+c&wGli%d^t%@98|F>MZNf%qMxO z5uc9KujHA*g1=jSp%HYxZkc<-N_Mj`LHb!fSFX zGT?Qs(3QG@Jm1TS}O==~nAvknUB29Eu~(MM$& zz{`Uwz44Wxg4Ta)3dqu@KRrz}tTUQeqDQ58-o8@jzCBH*mw8j!mQ`k49G9!xpq`iB z#S0X%+2?wF#Ln#gd{3G9AN3u6;{p76Dit)$k~382vUr`!rmLJX-cEJLIX$+Nssmwx z+@DyA#MhRtK%2_ZWMfqtbmp89O@qy~aF^->s{&W?h}BKR6BC z$GEk*_%%>B%M-(m!K!La!F{_c6tsG&i>NoR&M$N6!eX@LEN%X!^Q`nUCh-0RzC zum^~mKXl)-P`1Dy#1;(cqJ?G_Qyld<0m;qPQztpiM>Wu z_jHbl&(e2Q+zuk0@QDizu)iug>}FG;ey2G~Yg zA?K!Zjp`$G7#pQ6IG4vWG0Ee)O*~TLd+`EO3h1sEIfFI+odG8P>+4Lzyg}m;9sidd zH1QRZUVLQoe@)BsCK?raQ~c#z11Y#)tudbWb>ZtCGVwb;G=gfi1-(8uqgzQhI}86j zjn4ehq)*Z{%3Uty+iqNgTp12i^(zcf3cB84DrA4Vv-}a$vRm{9-*cM&G42JTiJzyM z3h}j*`>T7_m>^QeZBNtB+-l^fW_FhLJ4cTK->oKSP!o8n8>pS6p$JNG>UoXs6v!QK@1kP0fdj;VOyZ&T6u=gi1sayiZ`j~bQQ zALCqdy@|I!#(D5gQ*Q2$+Wov8yGCxJw77$HRKYh}O~L6Wn$f^L3_9k{!2-uQ?{s4`$9l6kP3Hh-q?xRys#kweWLkVc-?Z(k z1@B;|a~Bu-Dp<0{x6rM@u->`rUNhP3Z*RVRiHYA*Vib6hX8Yqs)9!S=3iUkWOx~yy z1KFS64190m%k^s0TY5aZ(v>sVsny3vCu;%k>@^Bcl@E^bZb!mUM^2o&|ef4@H|2s`T@-)-lc=M1>+ZDta z>t+OCB>6G^<&h5zH9=Sa>x(?!zt zT6305d0_ZtoXHTd?$+PdqJ3?tnOPn)u_P`vfwqLVh8ioT~8#oQkE zCok-}R}dTZ#)Y@M89%|a_;`Iqy}xES{Sz&CgPA}s)xPSF1B<3-<0a8j4Rf1NBdu{=`pAe95O~ z997?O=C3ye>lYl&BX%-775rt^LwUL$@&?l6gKBig6g=5z&^h@8)3Q|S*}DtwGVxie z32$k<=wUN#HRz3uT5Z6W6M1zY1M+cUrjFiT%jPwvruL^GABi*tld{Ht|)~oswDGji97^ zOn>Cni~9?OoA|0nOpo)Husa_&a?uKe#FPZp* zx+L||51Ju1=Fhq6#^P{S8n3%vH|gzfKCa<8LQJ1~y>4^Q)C_ZPF*Yt)VpQZ^@f}pB z%d?#B^?)fL>nhU#Pjmm}P9Yk#KaKeFG9$mx+|Fy81i~&dUfQhZ4|z+~-#;)lZC-4; zlefft|2{Rr@x~jxyXn7gG3g^anDpP6dO0iAsgM0oAp2h{@BGWGUh<1^x@y(L1Fx7C zgmm!M-siOY$h5%zfFMt{Zi|l$Hzk@`hA$95Ht`K-nQ_7!xR!S2a^)j2dDgw(UTjoR zo&CMOE6+A9yDi)laD!I#<4GpH_5D3(|B0qyRr=}zuWH<1B>Sewmox3${ufek{~YZe zKbZBx{ThECU+s&tq_!Hr-Kp*yxW{NBpmTvyIG zd5=0CMD z#l1eV_9z?qLQ7g~e{gz1FB2c=Yg%@pw(PC;S|Rt6({VgaJotiX*!NAwWVdVj-Pf6N zlXCTF@1TN&22(&`&}=_=0|-qsg6=ImR*;;BD4OeVk%>=GIlZ3K3RxFsn|Xgs(x>aA z8o6F~>aG2?JlP21OIi0<&D$HIp>*rBSC`&qDw?HdnR{|RE;I!+>u2@?D(8<%lfHR? z88PRX_*`fEC8hw!x*gV}wlB17Kktxg=n>)gp}xk(1E~9Z=RKpLX5D%6 zeC3`263=%mHt8;IH_dPgcU)1?AFGWfJQLhG-W1T`uLw6~x~9K@mp*suE?^=8(8+fYYGS?8TaY0lS&PB8^z1@T0JLdg36hnWHeo_ zYd>#XIi9y3rT%lRsiWT=W>QSmNzvP(qy;8@)ib8Oo+};~ZR+m~aD6@3*{20hTCNSA zXKFrFxKK?n2_c!tK09%I_oe7@G;3euF(eD~e{&QOYO_-EZ>dh1vnx8AtTR47%S2%WBqo{?3j3!C?-Dk>w7$wK7OYGC+Ri+FwHQCr#8tj^bXUq`?b3c-)`cobZ+u` zaj#kGyE;sG@xN;4D=#&wJY9YF!B4nh?YV&RPie;)VMB+%9$^Yvt`&IZd1JbC{eGw? zaQGJU{=|Q1cmiKS&$WDTVbEmD(|4Y{&bzU|EEKEWHgmQ&?A@s?u$tIxTsx&j^apd+y$7)lo0D zBj2KRXYwxan($jF@ zVNI{Q7Q9Guf9?9H{3}F0_YH4l8adKvqV_Q}D#U4qPq(VCS>I!N#2fC4&G^oic7I#- z8oNQ?gXi6A_xHh#rr>2Sn}+q3SXt*h#S2aG5&NTkf9m570e!&38x=m!FoN1y_u8ZG zHu3V2KlypizxuE-LGAm-WIfeq6JFEzogF>S+4B)OQe0Gh$8;m;R#%+kY*SxLQeRu9 z@u%q8Jx?FSGnVE7Z)%y8p# zk9NPNAqISyZ8C(k-~oC)*YKP>6gz#jJC*h^1sCdzYg&KjDV_t}CHm_oy{EZ!?#2>- z?8gGR|Lsv*)~PMoN8I1jd@V2c(c-OVdE1?<8tP^$I#$zvz}t{gKy!)F=p*X9pJ@8` ztXmtOPUi;8;{ty?Xao&XL92D0V}BH|CqJ4isw=nlw<8`k1qb$-78_}flXH{w4n81J z--_@yw5leU23&YVpG-SP3w~yy5!5iw2>Mkey~S50QgFKVZ*Qos=WZ$S_D2LGv>V53 zH}0VFALS8A(tozf2=4D)=l#JC?}_Tt)s~+3-uQ^g5Y#tcPF6ubYYQIY7RYak##iXr z{`DeLz$A^oV!UbbPQ8&gT;p#!z}IHAFv`=;#e+zX_D$lpx??Bwn*q?1jR zPBzB%cuRk?X~6V9j3#<$`V9k3{PoLBe6Hsdmt<&7PcydXfz1774>a-i=MfL{ye=9l z*A=4Y6LF8JM)gE~&-T%3n$O&6mmfek;&Yv=M;qJNmqR_TFa;de9Wc)C{yK4urQl?J z4$1S0k6X-TOqJd&7^>+HR+tJM{r;lHr}6_^r#QL%NQfRvY!vG_r%y8loUfPENt(gW zgSHgB{%WH-o`v1tqGn^7hK|OqiZuRy)`U29;AUf#Lp+zr?@L|+NqnuG?9bzmvrvaF zf0n6fR;n?{d^O##i_jg2deqMU`?(WPMfQ<0Z; zF!ED%KWLb%e=dC5vnE5s9G;>0_ksJDKLV!9^CVrKvn#m2x@(LH#+I8B*;4K=-*4m; z>Q}b(YQT9)w_j>?`^8%&=YFEQmQ@+11zx`&y3!P2e~Yq8ZE1gJy&=N1tX5w@@k}#h zpHX$z1;+LjTG1oC5ycwHb+Q(k7GJ2Ud$QHoGD$yn>5X)25=_gSUrqX7wP_!dsi^&p z%7@383fbSN+{Lz*UeMKDDY5?F)f#=a&16V#dv4k#SFra@z;}gI9t>1Uyu=_hv`**o^50&HW;pt0EP&da^ z$kW6G?S6&bjPs_eoLdK)^ow8I1mn3E zh-peLGD%O+_@!@~`0_;4on~mkcfMi@{`!C^*t;&+r9NRFXV>vlBPX}qdaH2}j||d+ zA9a%OmSSCanJX14*N6U3*MbLezn6tcxz$}WcqEm0M`uN^8!ymxfPQ^&jFYH>{v2fr zctlSK8K&{ixz~Pt2g~}9`$3v8g?ENdxXW~gRK25${y#+&vo`#myA_sn1buSVBg{2ZnfO7b4>hZzmd!a zc7N$Q!q*Noy*yRpKVw&LJLhEM0Xy_^V)GzV(Z$O}4v!z~y6!I{($uuXx(i!>g^4d8 zYdi zJWnk(El7INXd-Cp^@h5c7x)@k=fK@M2l7(b{oQ!x zhekz_*O;WGjl zEx3B~{d>X&t=s(B&F%7rQhZZP%;q~bwhMoJbN~1Bt#QkuuVf8$aM~X+GM2|kxV_Vj!}1H`hfmjO z+IS9s`n+6KL^!dUe%YWkva=fQ1dnD2b2exO5nu$iJ1VgJ4H47!Y*T!-8Gb6P_@ru@ zGB14Sh%DWSihA?de1)fSJ^2@~;>%B^jgqfc^Mx#)rTNmW`0@aCp3nL6`Wm@K7EjfD zC02a%sdSa(YtVdk7LV6_4OVqO>t(M@}eq_ZC~@H+CD43WR{5!TJhzxXyO8v zmlZNRWbs;+mu|&JYWfT-J`keU7laQRKGO_AMHWuK%*2;i@g)~h%;lUdWN@8@lQdg{ z6`wkjZjx+zTw~OhW0eumYym6YnL}SmHhrWjWZ@)z@g?1gPye09ENshGWZ{5jE3x8h zTWFnR)6=5sEbLru#@z-hK5#W1l5EQjj(W>#+w~?sV8y2|r;D!$A2x5R!66GLX?(gB z-%w@JXISyg8lPpwJ6mZV7c;!KnbnIdoEl}~ORV^;D4Mc}YZq^DorP=l(^Cyre4)O+ z(rCq(XneC3Up|b!;$m{On5e2_byu#%1g!Wf6&JMPYc)RJif_<(pMKZPo1jbd+^2~_ z3j_w6xi{I0uhRGoD?VumeVD&P>;{HwF#^EAFiA1U?+4J)LATUbh=r##M?2URJgO2JdT^)BNEs6!4l3D!H+ZWSZ9 z8aI$a_ET&Qwx;Re=8{{|XBi0-i&OjKhA|Jaa|(`<=t$DE98~%fb>U=Wfo_0aPBPJFC*fYpG1I zekH;!I0TqB*E0@}J{}sB4?LCp1)TkD&~+)`<&-E`kM(t>R{;KoG8u=xLn{l|Y4qU+ zH&p|qI+toh$V4ck8Srt`Dp+r4xw+H9r>>y5)fSEf{1T-JJ`LKJ40tyctPUR*mPeJ6 ziudY{{z@U$_tYf#DbR5R;QkbQALFmUUuywpP>SG@renGVGy*QCocp*6ms6Rf()*Nd zDjzugHmVo=04OOLa4+%~GX6!cNhNy-@TZh0xC#6+3-J4tDfnt{1DbQ^1OAkX1$*Dx z72!pIi>aoN8}KN#N-FPZB1x63o0y{3(<$zL_Jzmkocq}qbn8wM@uLcDy)&N*I8}5$ zXxayO6;%q>mmS^AS%7b#CKev{I>oNxRMVh2@sR3oN)db!*drD2ZImN83966}_%A9G z{0A7j1aLmpGY-qA-`8+6mxIFVAk{yV_y7y})NO(Jldk86impDTOdB^s?(e8ruznK3 z&7Q9x<&@mtQH|g;!I`r__?gsd;}#Hph~ggP+};f^kzNGC4^f(6-7j;?_Py6;zb~mk zu(ul|ycBYONtJ@Vmpla*Le*walZ~T5_|+7?@c9H=;J2w#us(kx)M)|SN=<_KQH7&FAJ}_1#TIeR*HVi7vxahtIPo3O zfDj~JMrDF^@5+@|0p`7i>WjiBN9z#)F0KW!?`p4> zgDM57+#iJJ15PCWql^;)7XrS55(QrX?pq3Y8D$E78E`G&d@2@v4d4dA zPgBjKtokL?Dycd{4@!XMkD<6?#`qnu4mj2a0Zm!k5X)02)TDsj^IbZX-WWZrZT~k zL3ktJ^QnG4E3Z5GALCSmK}aO5`TwRw!KKi30)V?wrr`B3kH!O@M8$%C1=mUf978pN zy=T=$`60lEs8#SPDBJf@n`Kr}TnXbVuwO#%Ybi~z_n5Z`F9E!b3Iu!K+!S06xDQnd zZU@S%0vt|Fg0F|NYXLt_v5&KEODW}XPL&D`Xogf-lq2{y=sJpZJvW-lRkuSLybH!I?I8^qSn@V!@@*{0b<0KGg_50$x!9 zWgnqd8&~Nbj|e|PaZg>MqVFgVO}-qg7%zrxwcgQ-NSVRIMD!_EV*eYoTmEHT?@i z*?x-s4+}5Ckp_epQOdutz85AnFQOb9*XiMk2AA2m0U9=g>IKgLgH}P=Gsypxg&Uw@ zGbr(27#cQ%G6i1ihG)|-XV2y z5#Vbmjd9o*TK+Vz%r5}@MS>0=qDm3sp2qEp;58=TGHMe1FnC@z;Dr?X4CBwCLzV#k zoKkFD1b98=2p$2#YXLt=WrAZscmrUbM+NJ_4{qI?0l!QBQpWSZwVaRJ2D<^2DELEA zeI(%Jlqq;AR4o8_F%=8G3v$N;uBRHo->O38pCrH?sa5cUFc75z&ZW2wjMD&T0p3n& zg83oMqrW`By{Uk4*wysZ1~&U*Xg~?1il!zJqECXjg31A3M6ny$KcA(Pjhw0%SfCbC zT}L^R>U1jOR56`lMsJ2x;T>uB#_(RzB_JiLw#^cElmA&RqzT5|YQUo@QSfN+-+0|< z7Y&T2OdDq%gNtok3&MY*8o|#%H*EpDlUfB&hq4PnIA1zG$M_Ifq7?8xN)xP4>AE_u z0K9+-1YZwkt_FMwRSLczv{narIW-C97afoO8UfFu*fKWF4oWHGYb5aJirMQ_af&`fKebHg!5Iq;J0Bk&(OOyVx_mKKyVd|b^*XuRB7WZz+Y37 z;Pue3Jiy;j>`PKMI8!O$HI%|QCJZd*9BJz%+{sqF#KRx*TFCw?m5KBb;A|~`Q>b3> zPcYLo=;2F}<0taJY~e`2*_0@F4rnzQ@Da)sd<3+bq^H4%@FP?#_(W)U2y*{UHG)5b zsucphn_2~54>lu8t|EvBlu3hb%3v{@C>RHJOdh5qW4H8 z2k*1mI2{I;85H}PmAe5h&Sp@G;0K{d|!8v(~rqTn#-B`tunC{u73sJZW}wwfQLV!_{opGN_HgK7ki0O6^C zd2z%z?9I(R-v~cBEV?Jyy$F(hO(}1(lyxAb8ZfUR1-}Ayr~`Zrl?gr-g!}Y7YfP)-DbHoN)x;i=A0XTP);e5K;tqE~NtrpIJ+?P{@H{9Z8Sp&H5&Rk0H68FPR3=!DjdaT|1iXgo1&@XHRRG>f z{&)DQB}j?yaH@OI`C*#6pE3p4f{+Bjlc`vQETS4obqNS5gj8wNDmW1wumtchihGw; zSx4u*%c?vXS{uKo%@c0`E+1TeZcbi1dwNxPZEig&>cWt@fqDmV_{)o8gUl?@G_WrLWyl^k( zPO)*;{}AWcxVZ^&nT>0IL0oU+W-!THi>nI8wAP!v0XLj20R}N?gwLPKA2=J zWeQ#ky(9?TU@aBfxD@<+E!EgKAN+hRwc6MRO66w>YVEQ?scR|C#*LuVwNzl^QgGz8 zRB7X6@YJ=`B=~%2cM+(il43t$90^lR0}LLKlwxBC)DlTKHV#0$BdN^BPIFryi==uR zmw>lKl7EL)H3xcVBqja}A4cJsHckR>iKJq|zr(_-9Mlp?HEwQjrd05jNNTll?J;VJ z`&4QUxy!*@A}P(r@yBSbz{aWIEs<1d<473xBB{y7wcst06#JP~wF+qWY)TP48y1`u zFt*I592+M<&1X}YjVr*Qv#H+3QDD&7thx=Lx_lV(H&B|5Ghoc$Km|4qf=6wj zN*h;0+c!{?jT>Ri-$1cnSXB$cJiCEXY@7iOw}EnO90Z5kKxHNYPE3#=zJT+eQ61I zU~RLF(rlarI_C#bY@7!=-$s=-P6C~8qb3_WFp+Mf*srXrmB5s+jZy^boBi%JL^Eiu zm2w2P!i-S}V_z$k**Fr^(n|FuNm(GX9|M7cTw8EFqFNE3Tzw+!ug_1@Os$o2>^bB zngl-pejX2aDaF<^{t2p<1UQdU1kZ)sA;7ySM=+nSee_of%dT)L6Z}6I*9sx`7gR5J z8VD}|{22LnGky$K!c~A5Q6gjieyDjPT^JtGo3eNFA2^EV}A6()#g4Cf@ zBX}rC_5IbhG#E;)Hco~?Whljc!@2i^|3|`3`hH6L7lsjQKNZ-x1*%p-m4aV}szrX^ zR<&i+Bsd5-0fh7Fyn%5hxJeS=OiB?v5OT+Z@ZOXocnRb#1iXaGY+QQ`u6N4@ONIcC zCjTB5{sENT2zV+b3eE$IrNaD{N0~ORhR&5o#Wr?ej>)4M8~b3KpGB>LXMu}W!8kvQ z;=X14=TYx>oG8fs6{QKz1FbnQ9OhAhjgugEh$;n#p!Woz><~2x{uqSEgYb_j_B#uQ zK=?osq#PS(K<-Q`6PyWto(xsXqIKrJBhnpm8d{)00xg{X!j(l6nqA_Lju_QDQXft3%Wrg;Jy^Q zmvIhs{}#aWDMj#)Fbh_IQu*B(!EZtCM!+MfOz=p+d7!nCRBz*E$bB>U_i^rK?EbI` zwU-hF?}bhj1(W1n%CvC^rr5nyEcja(xB{>-z`N)F!Z6K!ORYA}hN?YBasOlC4}$P= zz%i62_%5h<72rFmKyVMV7~p%UQm`KH=_;oM@F~r^EI@ zHRQgQ3ItyZmMMkY*HWd8gD|vSOHDQ|g&F5siv7hBo&ht?wUi=wAoRpqX!k(Mv2hF3 z{4kXXJ`75&gPI?vdch089U4LS0`fOoI2rKGlqgt_FmpXJ1b8-O3jQ6ODGJJ7L&bt` zgwZb*@IzE1cm*u_N&v@DtKjbbo&z`)@Da)ptVg)Hip>Cg6O{>m5Ne(c_(rN{91{*}f(HGOp*+rF-_)4%)2~3qks7Y`q&{8Rk-xpHs5ylIls0zR{ zDMj!Sux~Tq_b5m3H_)Gb;F-&*Ot79c=QcAQFu#u~xCkte3^<+q|M29{1XU}gc^pN_ z|M29n2fU^NvRy)%oF+OM>eK-E1u7Oi4sbKz)2T-AV$fz3Y#;tZt%B2`PVs>6UKXy07Xki<{OuUO2)GgO zBa|q39H^`X@Trt3I3LQ6gqrg^jDnvAV+8=WP>tZhV6Aw-tEpA656VsgJcZ(Tt2%l( z)I1gN0ZJ469h6-Tn4i-UTm@w}0OogA1-}nv$HPVNVrmlH9?H%F%^b9 z5(RgGQ7RQMzXl@s4p3J*;B%;0@JXQTEWmeCjo|x0cq!nQs8z6j!Q8D|9pG0et^;HK z%FxkY5FQ5PSFr?_gDnyO$5Vk|{lu9oAq02;Rd$FN#t%9-NhH9T{(e z1~dXbjZy?3J=%=(w*bDDaymu~qb|OPE>zJmqD%CjP}jnL+Dto`>P5~=pygV?qsZ@L z+#d!4A6)3(NQr{SgIh%bet|Lt>&NZfCZ+;@m5K$w2P>o^z*ka@;3TMd1>h8F6&wo= zPz(4pitEJqIhbe~0Q)IT@L*_IGvK*YAox$HngcI!^E0%9KLO)J0e+8~1aAW28G!kA zZD+=ZLFd_kw@`}UL7>!9zkq6Oz=?1-2%8P)eHU$v=$FboR7$V9OFsQ zunNGxQlj7?fa?GsPnnFv8ffKl5yPU#gYxoWopd+VNU8|>K~m{A%UtKEf>g69t_$~) zb11C~mzWGr;Da~X`L?=XJucf75(W5MsuVmC43PkM05u722Al<$@4orD3TIP_pHoc* zjTS1!;~ZV zKVV)TTuS{xWrCAXw}9`bdcl7~)rtVGAb&T;v!P+7fQu+m@U0-c8t~_oDL4cjsRb~< z6C!vK7_Jnij(YtX~dzAJs_i zXQAvWz!Rxe@RuOG7VvP2>&bW=w7UT?AIKp1e^7Qa;0h{W95WblJ6+lg>U5+nJtKNW zmx1d=0$)T;B0U1C9sry{vAr0}*X+GtJm4QGMeu8YlK{U-IfC~=!&3qC189Pu1Dp=H zlIjJIgsNo$&L)3v#?OFW@&K=*M8QSi$%TOVT~)zbz#mEg&!l3(_d#bW2Ye6J2wn^| zuL67ywF>SBb3rZO!xR_A_;tVyfFGkY!M}P6=YN|4FQtMg9u4>%WKI=!Chd%hm>kwf zvC*7o0@OEN57QOLI7}&wV}1cuCIN2OnN~!zlQcp0RN(hfnMhv-%}ob<6V(gWQ{>%h zX8|rJe+=Wlpt*T~c~@1iem26*T?lv%WeTo=+@*krQnBDi!2K%#Z>1W+XMq<~18$&J z!P7u5b%482+=+}ggOfA@?n`Nc{osKufVpQ1egtan>)O^cAE!#eJE7)LfUlw^!9Rh{ zgMj-`>`9D22a6>D{tu-HE`+Kj1HPAX1m6m|Lx9^;nPC0cn`@E`z!y`!;4eX`*?=R+ zAIlDUA|=LhsuoaQ5v1xsnSyJe`K5p}shDxQb{*)|*odLgg`mW0NcI)Aij>XJ&N{$v zQd}R#2izu@KaGI9Q<~rlp&>1RkEa5`CxCF@@ofeiLzRMi!Ez)D@Hf;XI00%N1bjQi zp3L|f7&;RGzeFj5KZ2Sk1OA6{1dl}n0=|XH1V0B2%K#jpdcog;+h+srNB#gCke?I? zaH<*5{31xjXUPdZ73^CI_u^5zZ&rWs8w(l;5xupQrsyKy}O1pAykGdMtDpU!<{?nBV{vaF*z=z#LJ4pQ1{^v7pc(;IF7jaBt990^rUR+n4bR zAUqjxPf8Iy0DL_JcrxV(ejCcp0DK#j3H}s>X9MPAbOd(*^<`sZrs95kU5MB-V2dWYLKWJDT;8&?t@IkOxBjDdDt{>yyp$oJC z=9ifTZwLSLb!)Tt%TyrvL(p0jU_RheuztbQEg}ebI5i300BT79{4B-xXN>n%lL526 z8T0GC3;Xk0`$A}62BhM<#UkV(&`vhs{Zucw0J>j3;OXQaz<3)7F9Q5AB?@kV=9dCq zOqqfQpJ6>8WB_+E+|$U^?1a|W`I-=U(u?rnA& zMFpHHx)d}W1^5Z76#NvF5d@q^O@b>ycmm-2C^pErAM}l6z*8tia22?32=EV-BlrdI zunfSrQkmeV0A~Zfm+FH&iY_7lAWroz7@`PLEu}=pd}i;=L9C?xXb(umN2iF82caF+ zfcd2-5t2hch>-T6%0@`FnBoSrkXN9!Er6e)G{JX56?`YO+374Q5PT4XM*-eJm4csw z+(E$KQ4`~^5!8MN*RU_7N`_Q?=)({evI%eq@HWa3yacL{0l0?BSa=xgT~eJ49+MBL z_;JY77=MlS0Njfb1%C{<6mSw{GWNd$HLRcsTppF4#+$P*Lbhti#xJah)Ll^XI>7bR zDtH0pZUnr7;^G+JkA?$$I;F*NyBnxLQq_ZxMD=L1-*~E&RQ%ks{4T>9!MS%G_P4G2fu2R6f z6DjyFsAvV?bE#NxCFHIKoJ2K(qfqaFebg%WWyswKxRT=HSy$~TEuK^1NeRB5ZHoPc z3ItbxkSM@^Qzhe=CD8mJ;E2w&Kb|kWo`5PQ0O!wA3}@*{u*ggX97QRD9|8-70RKuk zf)_&J8Gy%AncyYhciDgkQoZ1AFhS)5{)PM_7~^(h5nw+4M(_wIyA&`Vfyp>*F0CBF z&Vx7lt0C31R3k!SpoVpTU#3>U6G3^6fDcmK>5S8$3N3&;Q<`A!)334!@bzjlY#bE` zz8(BJ3h)_JDR>0*${^sw)FgNk-~_x4!|bcxA;N`@ez)1Fq0jOZ2C znbvZK=%>LL*^n%Y>PK>M13(k`fcbX(D8~Ds8x;ZmmJ$W8g*uc1PNmFIy!~}2cv&^z zy;LK)7eNoG1N<1Z3XTRnHUd72;zqM06w*1PxqX$;0AKGmV|+#hoGLm2ghT=6FCmDK z(X>;9ya(+_fK=B}>=`VCKWlpQmkf9!r3fAfxkG?oqa49oK!+KCQ>aXE6Vxyp@W)gy zxB&biAMpF+PhcDg!ixZJqC~+>pq)~{&6FuP0xVDgxR#0q6O>&I_*SYBd?9u+z$2+u z@GwwIBj5oPcP8VPplU6E`K>F)Y~JN(vSoIGkf^9O^YRyCL`WmxAmCT2NpK95kpP&_ z?;gVg^&(0c!>O(VErcKyzf~i6DBujh3#d%+SisqUS5Up+p8@9|gZ*bQ?gZm>5#S0+ z6#N>ruN3f!lqvXU@SO_4k5jQ={7h0c;4V}nn7=B1^j8OXHnj?l2J}uwlI&r94Z$CegZX#_}jqm69Avr znffHM_)@4{GVtx;G>ti(pU96agaGg>bBQeXZ)kJ|;4R^_N#tG%JRA6)4zyc1KA)Bk zyf;69Hja5`$X^7!YXprG{sbBv`1RqmggGr97ty6_1%UV4(R#`FIw+(X_?%9(oq6FZfZ}fgrqku1Q zXp8Xv&{KoJM|Pn7!ue~iM}G;xpA4ryN!+}C(EMcJ{Kk6{JL_YRJp}k0%3&OH1N5T| zz=PQ8EIno=PNKm5ooF|6`Z|fNk`G{&LtQ6u#&e)qMZgooX`Jxgpq5hLpLU`p%%k=X>4@;1M|H}dl>t7f6AhinycYD*0{o7S zG*@^rc#ZGGHmm>FN2`UO4EdvgcVnvy9|&d%0{_IJ{ldF}RTF?OjG#VeGv5j2CjecONweWaob`Any`f+$ydl|r= z=|G!=p8|Tz2EN%xyM;dqddUZVS4ZkPnfYVT?jqnLJJC4d*F(EYfxq98mI%iOA1i=Q z38VGGuY&Tcfxpn6whJE)^6P+yb)+N02Z4SXfjd0LCo}&CrsNjjLp#u1=Ft~J`M%gT zyYu%VlexEeA6^&zMgh+0L|a7se?UD!;J5o|zwjqO{RzNt=}3LfWBxZ3pA7t@_B4%o zbQa_f0dJt3^LPsQ0K6sx@L(!q9Fqy1A{+1{YMSB&+^e0;Wq&f0xu4u{lf7<%mm(+2JoVev`P38aEol<1KQJW=FuC#>+*rWME(>W zqc?*3is+N`*)5V&*e%*Yv89l$Zx}5};bLzBUI9G8N9%?E3G2XW;9J|#cHz&1Thsyn zrX3v-?uTYI0{=dYhE8LSFXXlWpU7jp@EbwxzLVR`zJtv!{1d2u6!361J9GaA;6b`| z8tbKH8tdhC&{qQFD{V)8E?{*Z1fC51V@kPz)%_QEdx-8&WwH4eu-G$TO3Hw2IX>FN zVq-F(IoZGmcBb9JS3-63fq%j4xK!r&)w?3#-|;$*dGrp*Ukdzc%H%rwdqO9wpy5*O z(p0YYLWr-1Y%ls~yA=BXXrm5z9M9y!zXsk2Jfb}fy^#4;psp6+t-O8{-Vw_81=_5f z=g?~5PXdnuK0l1M2!9{EFbMpzjX>^O*brXf*_Q zZ%10e*<)^n>SX|*&sGnQUguKqH>6@c&MpbRAIQxHUdI<}!Y_cKH6Qq(_SAJ2 z^JhVR5%5=d)h_&MaQaf<+xePJI6li-0X&SCam=H;fLW@6PobJwyiPe2nqLQ)zb4K& z<~$tO0q1w5p|e@5_k-11D2%gE#%#XR^bd&j^=&iu7gR7?#DX!S08iw{0a3BZ^0nmxqT`W`qNn~S7Sh>d*%C_4oChIFD8oG<1jP<96J%RAF1=Fwe1 zZZ_~&sXoNbnh)ah0iV&1y3S$oKR_2M0zRKtZ^GAtwo8Hk89_^gPXKLK0RJ(Z)(c+; zzE%x!1nAKVfeZY5Wo3)4W zg*oSo84qfW0)CkLw(xG?qe0*c_!7;{4|+)eK9NA(S0DMAw>NA&}aw+sl z?(1pN*XQzfYcFVbh`P7zXj#kS~iD zZ6bFR@O zVg~Trc$F^vVyJjF@Iu~Y75)iygnZ!t?Lb`@GCvC(q6ql)Jemu4pnj#mH}M=U{4prM z0{DF$X}xeCD6Sg#iM#_NoS=Pmz)y1M2y=RLAuF~KKrC;)T)`R70gq_`9^`9q=FuyG z`v$gIJevxx-~s9cs8wUpC+ke%GRtpb<>O}#c$fLXPvmk#E_(C?m@J?X71mI35>T?zI zFF-xXz{l~noA6?=UI_R^eltXPC#YWr@E&|eP57Nqzii-(cm*f?VyIs}@XvYSel_!# zz`2Tm58_TQ{8XraDezhz<%M?uUIF~%PPAV5FJRwl;4ku>HR0bv{yN|fcc3G}@wLE4 z;2k^D(8bKlp#3et4}{TN;Zfi}zCmsF@6HQ&;X6RTQNR=V&YJMyAU_EFs&Lvb{4%J2 z0`OaT4VTG-R+l9_Xe9$!z&Fkr#5@U#2?1Zmh8I2xcn0u;e3M1^wcz;Kz#I6pyu$wk zo)3H#Pwz{ZFNKB`0Y8U#;)I_Hj!_Ey2Zxpj?+NlNfEV$`tMC+@=7E37%R1rlp!hoA z8`-0K;H~`Jgz$Z6cHoD&zYBj9 zWujk?ZI`+z3C_b59;4Bonj=l105F3Jg5Aj}{ z4WDzg<=0bC`A>R<5+&N!NHn>AR@DszS>oVq(pxh$hPw-6o09cY^H z|3ULZz_Yox3$Fw9WdJ`nf;I^!Xnr>E+qkz2KLOO25BxMX{|(GHLH&z>2f4Qk-vR0? z1^y-v^1|0c{VIU}!PoA>`-A$bfj`=TwhOOm3dH3HvFaoK#kr!!z4 z<8P2LKAU^RyAbb-YqR>be7hx^i~SAM9tFILADj>#2fZc;{F4aUFZ?!8djjwt{7~GD zTy?HGs{9~wJ1@O=KK8u?l)Lsqz`Hr-mxql#(Uq|z9 z;&%IP=5|j5bvHu3EBNWCn>pX>P%k#K1Y}qJZz^D|O-D zL4AV2Pva|f;bTC40`L>~miaBr=YhVHfnO0u(}XWXI|H8?Mk|EB4Lk$*PM*t!zXSEp z1|Hvzb_-tt^~(ny!M!_&^)?sUS45BB!g@>2VZGe~`AQ+*NqnKs`C{GzUIBb|1g#f7 z801z1f0LJPZhr8CI^c)+LS1+Yj5>|LKj*utE0`Y-dT9YZnRjS}uZK~?H>}O>@37s4 zhk-vu0e_jV*@TaQ`UR1>Ly zE_eHvq1rr$a}-r@wwTM&%#f{ypNQe&V%`LG?KYOX z7|Kls{%AXz#ylF23JL+=LpfYVbU9Qj18_2xF^)MMO3w!T3}2o}>61V!`M^8y<=O4b zZv>+j0l$sMa^XXu)uq6P^37A>6QOk#z~lMyO!yiY1FC^<eT@8 zh0y03A-*g0)n+cZ><~tP{Pury;W}bZ3(k#a-F^9 zZp7;nA-3FG;)Y+8u;_Mgp&Q;PVd+78^W5+g5*FL;&2q!*BrLkzo9>3!NLbpqH`NWV zlCbD#Z;~6nO~S`<`TWs9H{vFV=pqRMZg{DL{SuCJ!&gbTtArglJYT}cOSt(6NA$l~ z!jTegaKqCj+)cu@Zg`4>!c}f~Vty`1oGuaNZp0W#FjB%LZg_-*M@hKQ4G)&^ zXbI=J;l2_+L&8~ZI7Y$=5>9u+-6edcgj3ycX99u+Yb1Q0gj3z{ zDhW@KaFT>```;!JvYE9v-c4|mgwL07zzr{zuxzsJjda6TNqCxs9XC8*!WT%m`H<@a z5>AzHgBzYM;R_{P>xQRDc)EnEIGp=W|A`WDkwlcc3C2ixhJ;Jp@CXUdlyIRN9xP#b zePwT+8}2LN*%Hoj!!Z(;>+QYiZn(RI=SVo!4R@CC#S%_B#O43fznw%}A`$U!flkX{Dg!TNjS?5uamIMMtjrU z@EQsKpR#*_kKuab$G#%{H2v31^>_I|`l#+t`utbU2G00lx*OvcuuG;Usn_{0^MJ4uJ8B ztlPr&g;U5@x0wS90`DP#iCr<5{61`Cm%}q)1G^0V0M@ZfVIIspceo9}saWo0m%uY& z2fG-a#pA!71BD38MuI$c0Xzq`vGd`%a29(#{2`pm&V@gMlh`@%JUD@!4X42tb~>ES z$n`yb$)><~9Il!A^EOya;x%8@=!pq?Vb^!b_Y+?Jt)*J-P98eHg0h`zr zbI2=UBfA`41sm99@F%d2T?(&;J%4f=fNijoT>`Ix9qeMVbz&|8b`BIG!KZK@y8!+S zwz2c!&*3cgdiV=Cm7NQ(g_GDh@H#kwoeh5pTiEGyF#fMcz|4VJNbnVGVyD0xU?V#j z{u(y06XA`pjy(b11bc3A8-Vj*Cp#YA3_I9yb1?qrBVgx1G!krq^Vm`FH?WNz34aS` zu_NHEa4I_--UcVJL*eak0y_Zy4z{p;tq2q#VCH}V?|@D0irM6yu#sI3e-9hjW$-Ro z$1a6;!=9Vm24FkvWS78uUiE1Dn_tv&d&*BfA_v2OHRB@UO6rT?(IvJvX=wz)sl7E`fi8 z9XG5

    g8 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 Q_kn5hC4`bz1M4k1kmR-vET1aBKx>hQsiSX~HM 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 T&8 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 delta 619192 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 FElVd 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 {OtQ!lSaPbI(8t@aH@+|!3Q8~O6skZ$$)O;>$d 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%0DG}pUM)e>If(7P5ih57#%N}2!14x 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%0Af+V)(*e$ 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 z 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 z zr|slu3+*Uq3+*^(3+?!23+)JH3n#CGMJ%)vj&DgZ!j37na0PJ-H}JQGc8YEIG9S*z z{I@ZB${5vO4-M@|TRV={!V?&8;aL6-=Ti)~^I0uiPI?PJ!|#-{6I1Q9QwzI)0);F* zgTF1@%-?#JMrZIbe7T5*(oO$ z4xmB^#sBQM5ew~j5DUkAfgFrw_!YzL3@3bv_;8XhoJ0)ga`k&rUC}@NS9F$4(-!Qv@vhg7Fsq!QZy6zxG#1 zZ(&dVws0ta%N}{u|EUCQqx3)k|ug$;H<(S{6< z2*OMF`%;Fs+0a7UFlZq+{iU4k{@cZbwu4V5D7+K?znk<^{^EcCZPL#au^m+wuBU<) ze$L+(+D;}5Z8wsIen*k|zilnDZ9x|H`xX|k(DuRnw>deZo5A!J+I|%aw@Lh*(G}`F zbHcSnH7Zud6G)WTJHNjH1rfqi5lF^sLg^^1JqV&9LFX!WpAW*UuQJrj0bZH4bxS{x)Yaj?5`^KU!kv{m@ zhvAUY;WtW-=UoHX!tq6=^KTSYD%~0J%qrda%m+6XRjydE5G`GQlSJfW9eqSTR$BY! zqR!P49r1fu>B%=29aCXg=`0DVU(>Ocr^>c3T`yGCdnfSwu}-B8Z;@2r&93X?N0bh~ zrKn5w{tx2kn2Sp1OLX(}$q4=yiVufI=ObD;mda&&3KTP17Viu}*W5v3z;E$Upc z?S#_Vw-)uRS2P89x)F-2rBID3-FjfA8b=cUInijoQZ@;H<#Q;}KWs&e9dLiqH0`J;jpGP(r{!nyN_pI6#(Zc+V;C9jtbm|JvQMR#ZE?72l9D%34q zF}J9Fr_6bkJ)=rdAGj)#T)7p<4L<2yZNV!#wNh#G+ltz!idR?h2}%&SMU2m{2k>wl z{C1OH{s=g&@!O{&_{FcO>Ir{^x4JIG^Q>`3pAfu~`~DAbb*1m$R#YpsjWq*VaPC?r zw(Uj7k$MsFirls~jQI0{S8z4mqDH8asN~MQL;TSI-zfNhD6#t=l(4DpP>Iu)qMZ$u z=y%ZHD{(@A@Ayw8s#U03TB}qlQA}DrEv3w2m?Vl;&^<#u`!w*HQY!lVhGcal<67v^ zPADW4iF3yhj}tEu(fV9gI!UCZ=18Ki=?B_svlpH;+T#0LG_JRUt1>>Left<_rMVTs<-27Hp_W35ulwjM8i;~p7PEXNO577)eT zL0DK}UK3oE%LVi&9tQfb;;k24=?ek<&Fwv&a*;L2rD@l@0}{jne2d_JSCOul(B)AT+TR}Wayo~rIhl4(SDCidx zZ*v6jcpKpN5Pw_n|LFFmlDhByE<*5{rM)sm^(!<*a0G(E2rff#j}Jp9maGohuM8CT{eTyReu} zE>FLMxEl=o9gc1$boKNjT<)~;2{t3bMTY@5Zy(wX0^$MwKJi3=_bfg6{-XK~%DSsr z>bW#4o76G?G%lSg(WzNSG5YiJ-uRo~>UClE$M*nzCZOLWxcAZ^`@@e0eKw$fTX3OI z{YUoWJvBj1mp&X8A4h#3CGL&@ei89z$B>@*g~aCw{vTc^aSO}gRtF^Fg>n((BEkFr zfPeN6_^yAz4~VOx^8R+DR781Xu;`ptgW+*Rq#2PAOrQHoCp}P9zyDKlST_0${9%WW zl%2(btD%;3fk8Y!iTjH9qXE9tv+G#37m`ixiexh4^G_Y(=>Tt1+HrwY#vVRMog`FR z%-L_sJMHs6wG5S)!;Q?#n)e2ME})+-xcAC{ehcZN--5r|N1wjO(p};~L>VGng7{cg z-yVG^_h&Md`@BOs1;OZ{hoh`#_d5{g+ z$tw6rHAOZkv$ag%&Orhzv!nZiQIz9tU_}iq`D7;(8$E{+CL;f6xDN z!G(VtSN3c9hIEUMkZ!sMvU4s43@V+vNYtKy;A#Z-A$Z0IsZURYto(D(p(2w$brSGG zfZtFI+&vF^tAuBr3_M2MO0@Z4;Bn&C(`*r3TrcI)bg`-w-1`(C;WEVYtW@`UTxvg! zD?ONhMh=0|BY%{)NuyK$UZD+wYm=5eT2&Nhe}RnVpZ51<|I|O=Z~g=R`9I)){2i_x zbx~=BhxKi2C=|{{(OgPB@J~PD(dNL%R|7tocu8B}%UEGMz5Cwi=o4f9Yg|*Gl49;wTU2s+UfEM7*#Og7yeb zMvz2sErNwUNWC*0f}@d|UPbezNh46y>7ahqIh~5u0=+d3&k|1(|CJV+BJHAfFd_eg zMtc4-Uf35oD}sgGOFlxF_kt?-5hMI1W2xSxx5=@Y`&YSwLIS?Tg&QtoD zF4`MKb{z%ZNIXmY7UGR$49J$hbmrqlH7gubI`wh!+QA6MA-Kv19cK!$3XRonRI zTq5TKFMbGk3wim_XH@AX;nneKM(5h^@8OeJ(KZOK6)JiZjG>K!KD&IfRE-P3H8KLp zK;+z^g6pe#F<;fK1?@)qV$#cGh<{EceLSE)oAgQ2Gc#@q@ZK&RMBGe9(SXqc;;{gK zzI4(P(!i~zocQU;M-S???|9@dP28Mz2=V9{puegz61*<>-*wXK1Xp_$IEild*yZu> zd;hWR05csJ?Kc4l!jC0I91V%#r7Ex(hY8+X@Z_^- zp}P{FL;8tdpkUiD-%ktPOk6bA7%mzi{wC?uZz99Du{G#9(aRm-qO+@e(g&Def<)93 z|JligmvY?{!BrtU6{jxg7lM&1s|-FBY9gXuX|2VQzy22@nJvTxk#my-*L)W^<^C+$ zJw?3a?iwDML3}&;BtL;Y4j^7B$$Ym1Vy$dcaN(bFJ1W7j)-$)02+fBrO_sLCKf{o~ zCAOldFNS<~9qDZWe?QVcB)A$p#$l2PeueZ{!6?n2)tD_55WfQ@k(aTZKIcw?Lg~r- z`QPSgGX+-*#Z$mPZQ-NkbO6xjj)yI;0PGse3#Mkw*57)$+WhulgzaT7W`d!DtAO0; zV6=?*ZNwu*FabZDxmAKUlUB3vTg+2hj(;Nk(ps>zDOB@fX?|5B+Xz{k0lc8wlTv%cd@iM_xq5M`Tw37Jiq))G}s`-~a?ew~XFM;6V`2ZR* z!I{KuzhVdC4-=2pDDQNy6SoxxWbd{Uw^P1q+muz6OCi|ywzr~yro?R#cRS)e1lOF! ze?iV7#779OMV9>x3LVAT`2hJ8j)p2$J6=gKL2Mz)vO5{=CZ4_kCY``$q3dN3Am>GT z$`>f$MB>|DMH%Nve=G6A|3IM+$bY-wTEwaB7$m4iMgym?2=0WYQ6@NxxUC{FlU_^Q zj-oIhdW^U&2pm8@-x5EfvzMC^bK%+NatO9%D@}+WM%-43Hz$6M;A-mPEl|byTu=J! zS+JGSnby=VH7viRR-CP?%v??n6j3kunR3m1{m!Nl#vwpWNBOWcklvw`U( z!Bx?GODJjz-JtX-iLhO{w~|o}si0amwh-T(u?cZIljc0qpCq^naGQ{U{=~-;PgH{? zMi9S|e3J6D(AU4Qj5z2@FiNlfOX$34D-CT&bG@pJ@E-H>>h;J&)P z1;ItcS6n6Xl~K!Iz^FYVKB8b-8)=s4bT#NRtlx(BCmyMU>iR1A+$^|uLc5}{!T!YW z6hJ(02ViT^-)+sobrcth7|DsoWL z6gFUl8&dk@^D;ge=cDVn=%(^TH(PKmxjy@#sHJ81&%=VNUL`{@&N0KjL)`Xd+VJSm zYrrRV1Db^z5%3u;xbR8sU3PmN1w4-k7xpb1$!Ot=P$RFD_yG#%c2evao^aeQnFfwXZI`u{I;XcBSIK);%J#c$wgRzlka*9_RHjaH&HW&+24DydX^U6T=Z;GMbV1i^hBdZD_P zXszOO;>BM8e+~M$Ecw_8pN)xcCmwwW^pzFYO5OY>xIkhxTtJ3p{^=&T<{-lNTG&ax zDG^WP!6-`li;1Uihs(S{e3jsuf%qZd@IEct_-2u>5x4CrUrF0ZgbKC;G_4sMN!&Ji zHl=_YiQ6V!!yhMZyArL@c#XJhXVm=vSp+{b!uC(sqkv|&pmvt<&DDzR7{OIh+h=Kb z+SAKB!FE`5CHc$|+!rN3w;f7D45xsg31=v7XboE+s?r5;H<`yq-NRmizg z;&%3OFB;?t!POv9P8FDoHJSzS(a&O@vWWEE1(*EE7Q8v|F}jkwNFtQc_y2|~S@Ux> z@fcT&v?Zfoya1Vl;gTv7P;WN)WH=drAn8XC&#h6P7q78d`llsAE#9XK^16fxRuPZX zM4rq-UkR>;O|M7JT9bbNIp9;mvB5sXj}u%wh75;|J_G8tmq>)>INcKh+AzVhWE5Qr z+#32Sb0Hu}+$`6Hcv%lvR1D*v6NuY}miEN265Myic8oh3rTaYuAPdu6)Y+f!;ptl?bku%YGU|t+g_HnGuN{FlmH>*Ll3AD+%V= zzA;9e9I+yBw?iR2Ncb>jtd-zCWAji)x>&8fnh8ocy1B_Wsqz|0+;+(9PezSPA;7lW zT5TRDxC(F=f%0IMO^$fy?QrUW%-H8CiBMC-`SxTv_>~EAr`7Z#52fJI^B~wxAg)Jz zj^N(Z94%Z(0X6Ob{y3Kz|3>;K@l-l^>FF&I{@sJ?j4fvgkJodVpHVa`$!Ibe#e?>% zL~yN5c0AS=D)ck)=qJ9*NxApPsAxU}r@J5E5zARe!IhDnN^PCs*`8jiABQ_;xf=vm zOBCORGTu)9TS=e){jb$kJh*1*q&K7?JmyZ6MDiQNn@^rDxc8Z095zjG)hpRcid&w; z;N$Ky(iii^eLUq?xC{Jal{$LF__q*T_@~^?uizWKnV_3QsDRjQ;2b4Bn0WL%2&SvL zDPZJc`vb9N;Xcxro$D>W_si4{!F|V&*9=QVj8H(0yCK+i6d z@x{Fb@yCf5`0=3*@wbf+_cTAMxNivVfnYlWx*-!Z5d1!AIa_e+3<}n{^8{DH>8H^^ zn&sw^Pw@g+$OOMg+_n-nC;!cY`{7G=7fjTE5ql^gwiftpbmAlKg`&3oyA|m#AfBm& z>c5hOJX>(zRjh+=btV17#Iq~e5SkOeLq>_?A^3bI*hSo~=Xij4wG1rb_D7C;5kFFJ z^&vZ+vo`Tlh})3@4Xq)3RU*`+@&4saSK~e~DlCOUQ8MaG+)i0Be30P2vtx^W21mgA2FS3d4i zWUM<}#vLIh)S^kH-$vP_$!MTNXo5rvg5Rrvh%1;N9?Xy3A-I}4atEsGXpWfn5HC9g zf~%7MK?^|7<2_TZB_qyZgdHy3miTp_SxgdzPmW@3s(pV&sE@ zc5Z~?I%k?Y429B{-R%7mp(eGX)hO3(A+Co<>thzG^AH3?rlN&tw+|#AEx7Wr6VciO zcGr{Mols4jQXVti{Td-BVAV;jAW599zfo+rr1wIpie%Yn5mZPoh6+Z14Doyy(0>oj z-AcjL{c`js>lMBbTvSduJL&fY3ityN&MxX`OuWngAdiU+5Kxu)P{FnEBGWODu=+EN z^!@~Jp*0&WA^pE&J_cy=uCv&mup@I&;bi5t z;94{Vc2ia#jwXHL%<7u|KiAfsAraaS)(HB+dzrva7ci$Q5VyVev#HRa#~?WO(0(4t zdFPioLE`zVkl~9eoPrcJA4h`ZplTkloW%rJ(k)sa^+ zW$s<5V0nLtc-XA3*_(1ZDZ;mzMo&PO0$*egr_6DJqb^@biU_}gnYOc)LUIvhT~5)F z)|1|jBeoG~Q5on<8ddf(#LE5|EVx?34py{ccoXy~H+BVT{dBe#wVni{_(T}N60{dw z8QC2c=8=5_*G{z%OkRv8z1@*zd@dvZw66)`OUCF%&q!LGU=`w{WMpTqHD%7;Aa1vQ z82$-yyW8ea(l=j>4A>$5brn}%?k5py>fAbb*a0;4c)_(%aG%6Hi`M>s=l+NE`|f}v znSiAf5WaE#K|Ie_W4Nnxy`N%Tu3QsE(1QX_mIyUH3RW3@a{dthZCP4i~%MS zPh6{IErqa)3BHmD&2i!qG{u(Vsxt0U+|E)PM*5=#SHb!9@UkfJ(WEbX4rOH3=NjU6 z36C#3b%G2d@*Lfm_pKyucU5$wfDM9c5oGzn&|1n0%b=(o0BWXgFL*6kQdfi3jXvP| z3GPQX=W-XkIE#OVkdfViIiC19;&zTs1LAiRw{x``68}kX?^{uf7mJA(y$C!qRz|n_ z>|n%5iBMD9MN4yu&m?X)w>2jIBpF5Nbo&thiu86SV;|y`mxI3@IJWnlw+|!i!lZ+l zU>xzx6DY-9tk8E0UfccWQ4kM!TpEnC_xBtYkh9!!ME1W$tb}&s;*>I zB@0H8s!+vh$04QPua~~0mqe@l^cFM==1QXkR~Lv*MzTHZg03OH<$HMJjSkOk#N+(( zSDp6QB)G4f!TO1&FMIy7+WT>IqWIsrVu|pTbZ?$VM!Ut&c3XjFeQ)Ox{Hp(OXWMJV7WV?-CT5~{TVg6*LA z*`&XXxZP?xNO6(xmPmw}x;S{-dY8ES7A|Hkvz7Qk{9xCH0)C}{G7g|jp@Uul|ARRE z=ui3%g8Od>W!x!cMKD|<^j*b;?<#_;B_hG9osTFWvjo0kBg3k%LU3*p8fHByM4uxB zS3c3r!8e4y5}{>Q%!Lh>gOS9`xFXDoW;SuVDAJmjWyI6$qPjq?`%G}(u0^2G-sOfZ zUqeK?3Ceyu6I?I2Dr6VT9!-1^al4aq6Y;IYbM$so^x)UQ$IdCslRlMTgk2cdlo9iY z+vS1Hh`%VfzQ3k}-5(zdt~o0(XWdarT;0-58>N;Hcmwj&oHwdWb{7h+$?_XvkQNmX zQAQl=1^!$v@Q&bGawUH*81o789+$V97>dja!mafDQ*H!%D)cAL)j)*HbA6V%UN^zj z;C83+15|Vn>7!Ml`e}5fdx@9uREZ?%E4+z}#r#?usbvQ<;v|Vs0d^;$8GIaZTb7F>($N?vSUftJ`oJjMkIjjDkDsJB_m?GmKsWHeSHlu?=sv-TxEpSav$ z?h(n5e-;a_mdgeoeYX)$pIP10nQygx2lR5^bt@lX?N?WcP{C!*U60C5dJdND-$);h7F)hYbNsB96IU6?tlcaTzOr$| zZav;3Oi*ZA!wWcziheenc^p~Qb79^>kzzQiN%LvU;mGLWw-5$dXa7*Y9cFxrQ{ zJ(_r700hU$=mz46I6UAN;)?`Vk4eu0ZWdZa`m)P`58MX{igF@fJ;QNQMgH>7X%eA~ z>@xXA#Lp63=|5yo*pc{!q%Y%~m$~Faq|ftP(PT#KAibPhsrh#f4l5g7RzW~C4^^bK z@lS8TRiW4sFx>&fM-jK%E3E8aH2Mj!f#F{hx9d3jc>4>p)*nDXmK#9L+m97obDTdK zMKF~`Glukb;c#6lbT9E((0qMJyf~O6ajDf1kh~aW^D3K{9>m?Nz=uMC{%Kf))(hafeW}1#M|=x2Z)!o zdV;Hk>?+2#6ugYMT|!;YGGH8vleQq9uj(C!Tu~RvF3C znm|0Vcg+jUFB_W}6G#^qqnEWQ?u?B2M;z~4<2TorY7z$i;R zMfw~k@T0^R5D!OuuMx-f1=32GfR7kq$C1`1qgLx6ILqzjm1&7{1=k$gd8y{N3rIhj z{kq{#5|3^`vEHEkwUw&B9*pe1s9qE>U2x6uv+p3sZ&IO$iD#1Nm-b1P>X7ps^;p9roNO8kUIpehxrv=NN*pP|Y{Dfl44H3RuH zipCT@lK3erQOk_~F)1=ia{|@s?r`FnekjZ1DPS5IMfsii3M$m%Gbm(tWHcuI@x;%V z1RpX*Ckd{KrV8y*zoo74PuDycxdH@70lSk0*8~YJY(f51kR{r$v?`O)BT z;?E1NMV4IWYeCAL%ZUD)5MlSq4kJEBa24EOH%vE}__czolO|ij{jKcpCZBB35G^O4 zL=!kEDw(LYl@Vq996YZAB-Gsuh3uB}(8u^ndY{c`yZN^%qpv0&;rtNfIJbz>cUE@)pCoshpgH3^B#Y`5S@bvmm7eRvwYkuxC)4K ziDaAtmJ?6@yL|t;mVDC9;oGN?zS8HgN6gPxrSxS7&k>BsyoiSF3gRaUt|gay7`U_s z{yER^0(|me;?ze`~|XJHfDd%`CEFy4B)a%el!x; zc=H~K@GaSleSLx>sL%>B%5Yh|H7J_|SMQG;1`g&;e;EC(C_J-m(U;(l3v!3bX%ZCB zh7opJzu{L4t~o9Qdtx3CT;Fm_f_aM<1&3`vCdY8QVTEl_A^JRQd*wb*Ax_*bl(ejz zFSxo-WDtrS|I1N%f~#i5TwfnyPL>0giorzVR|42SbemS;`#lD3-GNWsX#G{=1SwneNFe038-~T%#crVy+*|7BF zAH{%2NwgX;610`)39kC)_bK0-q{uFNFI@3TNOw!fC;SNU0r@0fLFZuk`vLSRH{cAE zTt70ZS%AK-Q&o?Az?Se#!L_|`!J!-z1^0&iBj)L?+q*?@?-`untU>;75yyR&;^gLw zt-nWtWbk5qrr_#47JvF>KX z)m>o;8?ZDkt*}c>Sch*@^mhBk3O? zz1@sxO5}*!g<`eHr}9qEKjrM=W~&Ed5aDhgkKCIdUQ7Jhp}=dC(WAueVzIWwKM`Cr zR@emx=~NdHr|n{?zppKUxCz)f_nJg#j_rEB0dHy94-62Ma~b`a{UO?}_T1Z6*>Io-pa`p{p`Vcd39gn1 z*WJ8M`b8IjUK(Zp>>^%Z>+kcW9p=BJfAXzPaEioy;w79Cw;Vi2Jh~i~m_!SGM?Ar9 z#OQ1P3jUFY;5D$fd_WW2Pn0g;C%q%7=>Un)oaH$PH#fVKj52|MTZ!BKHciOqO{3@f zV^e4o`Nv+WI>M83j={D44VpR%s82>C1lMLL$}=ZTp`_rdXvrDK*}>!KNG*@dRTNT>5r-aKH++~V!{1~X}bXjKH}U0iBNA!v$HKCqbwN}v-jt4 z&TSK1bC%)CphHMMqN4JV$!YFYGd>dpSNg~%uJ~Kaj_fHW$a374B)*CX3T)OlP(UO3 zWTK3&`Upj{k@QCk?gjJvsRna4w_Z9ulE~3v1vVmlIz_+%EeyZ`wje(L<2e z`s~wZ)C8YV_dw(+XOtkL@SuXb zNT245O_YM4Ccf-E@Zm_=trOgjJz^`7gJapYRhDHxDtOUTNYH|e#tE*bOMZZ|PY|C) z`X2^@K2AJq^qo*-;}GqBCmvr=Mf306SSEtkX|1j~$F~~p-Yn;C!BfD9?4HHzX1;KXx@khjuCZ6V+KJ)e~1owhR zVWfRBbNn>%%0HvJB*j_fL*<3A|io^!!r5)-tSJD=1Np)M};1&e+fmV z6O`IX6+U3fI7d%rs~<=owoO;c%YaIHJq-p^sli<0@!7ynAihU%kt+qdAB?*k&7WH) zbE2BX_+MX)B+)m5tAG{!lD>e9TGj)8AO+i~>RQ1yV=c&6aW->$5-m+sdDm+yIUu?@Fx z9>D~^F+nt#A~{UHuPJ>Ax0yF4{UE{B)R9rBxYrV&K|I`5{jlJw(Bdb!>Y_ap{Ky2k z+At{(b#P}kfZ*hjC@dQST;g%*jkpA89{J1@Top?Hiu!Xr@kaz#!DT$3Vp$Y61=99ia`Uo?&n0N_x>`&Z#=>9s1&>Vyd0{%_h;RB#MpNwW5 z1p0pOqhT?VJ}kH@)TA#vt9?q4uJBt@U^P`a&&zePOGBY1`p-$()RzfLbpT=kX^JTFl6Fyh4=rq;1B z%t(pQ9K`vWbPNS7XM(%>BF9UJZy|kh49b!|>MFN_;N#eB4kCR!;)T`V!|vUUPf3Id z&L4yp;}RyA%>;Itbvxpf4*`8yW6+Bp{uwK{7TFg|AYdTrUnPC!eb7INKETy(4f<3# zW8PIFRH4FV)MJdroV$_ekA|&Mz2uH&7!8&4~0hIe%d1i zSA`NBcb-i8tB9w0GUQe^s#}Ri_~L1E1@SiE6Xj-W^hV-;*GPn#F5VZqqePv%pLj9f z%B;IvMm)K<--JeW+JaA#%k!I3(ILcRoJF+3Eah@en% zNaq#^t~o2?+AHf%pCf(dJh-jBhJH%^*K7m>%UFZ35L4s?J*M1GbhmrnF z(x1RLb<4mq;`xWbz?}3G@(H#ZO8IwGO&hofxA!q)u8!bZ#)S&-UVGDMFSwfSd|v%- zP3dsro%vO~Efu|o`0oo)_U7!HJT4b_*G~N=fBI78I_AODp<^egP#k<_9U{2WXGX(T zZ&TEjf~#tg;8kI<=Tp;VIAN<*QlGcMM;2Wi4r5idNi{MG4`;1^I0Q$}LJb_sLMkTS zi|bHrz?&3Y70T9uAKgIuEyP!>Q=3Q`m=O;-0tvzu-NzE|!Oyk5y#CG&6I=@^|0z0b zE2P^5R|^$*MTdFE3i4^lS99MoXdAGN5fi7Pln$kUrbj}d--DjKkKigG%P%MGNq-yh z48Nw`#-iLNxDGio`~qW5Qq|5J0~Myjq`Szdi$wSYy)e!-w>evI6`Zb)Ch2+>*&Twb zsXyP03|PfoP5QFYK<*)Z<1VmV;@9Bdq^=U70%H6S33kq%Be)7^y9$UE*>%JV52A3b z`&!`z$onjFY!z{x(eGUxi8k0B*cF1KJox1_TB1Ag7-yo6CVn~bOa?jogrJVxP`F2;OY}m-q>YDa02ODFlQ|&_$JajPAN1a{-ofw z__qXeE~ro~wM8&r>|D!gW91e{0bj>&oX0R-FXD0bTxR8Af~#?2T+wYK)9Z;R_-<`( zk_DcU)8=4y=^*@ba1UfQe=I71RpD-etD+gbOloFviPpks@sEY}m02^l}(L6I6u^vvOrmBq)2ieDgR62VjfNVJTl;HkdHav>xO)`4B1}t$D8GTAd5xzQFJ*n0k zrp|EfR+99G2(B6H&G($1#4i_I6^$<9e0-K=xs(a+_hs{E(KI?13F1{TMr}gL=MztG z1@d?bxL;iKjB$kvD)5eI-Iox4Sz8Cu!=*#G^qQ`2ZP(ZR+!aYm1cYS-vUE zd0g5d95#@0mg6rOQ3$?D)j6J~TMQ>bvm;v#1^1SC7nbYC42&XuF1Q2aa?+Q533~Ks zQvYt12+eVL%g8b&DCYSF)&;I3eUg?ipZJmZY%Wx6MTPe72mWqfIImT|?t(WCPy39)iS0^gBEM0`$O##o!yQx0*!TodM7flCl4PE8_P)JX`*7j%b zNcMP%P{Cb!8#3P4WW*}C3U*V0wA4iMB+2O2iy#2maBh*&@BQor`fbE>Y48zxFWr8|gCY!kt?j9pO1T}Yoi2K2XszZ>i6<&H>RKw%@?d8F?Yfud&71p`tnn}sM9 z%fTy>Kz$;?JA169+e1cW+*0)x6+Lkv>G?KfK5@R_YPt5@l+v7vUPHVrH4Ua1$%uOx z@%h`(^jzYv5|17N`jaTQ&k3|#4o!``68I-gyuih%eaWX(aLrhZ!?(SchAfc?HFY*< zh_*37zim)x?@NZ1kuoY`Z)qkyn|R&Dptl@9D!6X}nPEC(%B^IAIIEKt!DiysgGsW3 zPlS_Z_>n5YoOKc0*N%%(&8)gkBz`+LR~|z8S%Nora^Y9IV7C4xCW!ooxA*=`@BwkR z9Rj|mQ`C{NP{CP#2A@Lu;{;a=<+;oIc;b_ZmuWAm{%_8*fDx5A32r8Rk9b8+klOfQ z3-KlaeVt+`l;nvtCsFWGg8Q;(b=CH!o5oF&2rc_OC%fk{!F6O5nTu*>&h@e4{!2)` zlfkn4C*?~!PCU&;uGZ$ACAiuu!%IxBp$+dMeF?u8a6I7NAbqwuy0u+&?|Os1T-nUY z2}Kl@bAu7#(!ZdP>N7zp@j_+z*KFcX3$9sD@NAfs%=#OGdv|>js$1K+iFontTHmDf zJ|Uxqr@#_dXJ83y%qI{J3+ZmbRd6)e;Io4C8E&>R=U7L4{9nJ2sQ1(y0>NdsK(KY> zJ&C8eW6;)TB?b3Ium=_zfCj~VNcwOA_2H+2{?fYO|2!=;P;ftbEat?a^>;ThLHatB z*-E~)H8>55h822*;M(hCxw8n}vvaqQzBj+u*QMa6J-wVsUa2E`kA95!Kq53}?^lGT zmk{4fMxFmUfg*9$hC-q6dWk6UPVa$_y-b}<{Ld3TA>WN*M2tsFMk)9T!BwHMQ(=ki z^p$0#-^ec;=3LQXP$(AkIzt3kK2xhep|{EZoD?G*Phq{65p&5XJmP;b@$ih^gNM_H z9)W;%lkce7!6%L|ZgYdk#Drf$C`qg!q*pMjRABgdII z+6h|%(MNDqDE=5S(A@Kv@;}2TkkuwU%25RoC1_y1Q|Hlrm%89n+81i#8Q`AH@STgFPGKwrE+%J>o%*)f7^ z%UF058KXY#Ji%4)X@9l{sDCA76zz?&DWmDK#DC$9a5lxXj*LonK+#^LKm1J0|3`wI zLwy9-T2SD$ruoF#XUgc&d+BTFBpSnl?lDQAc=&;GHSuU$v?ANIl&waBt3tU&K94T-0c zzS3wYlx+-!$Uo)UON1r}ujIIb_)o0gTd3$JG8!Aa34BXD&11F0UQ~My@mRWJS|NaP^7UPAGH;r;#QIt_tP2kfAa8-$T4J2lh9MY+wKW z?FGo216QVZWe)0%1*63rZrbc^Z^2b?W)#YD66tRy9?7FUKpk=J4f2Twr|W$=wn9ow zBm;rnXej29kvkUx!b5hCA|4)BaR%|SMySTOlF!w~XD)EF+{1#ag6KURs(GKC3Ta6-&1(ua$% z7ZX2i8#;~oRA>e9$i46to9g@?_;D^i4yLpE-S~WHn&)e2oQ!%A53d&TB~0M%Lm^G3ZRZnj$nMJ;?X`ldcf{FSSUvnsaLrgTM~@xJ|5x(a;0Jx;O6K?J z@z6Bf;Q9>lem6kTzGSpja1{_9`h36y@(IprK9smy1QRb(gR3iF%7}%WJv9OUBe)94 zv4i(7twR4M>GwPig`TBChfjpy7@I=GI(NF@YN06WPYLNK3hrNJPT@$Q2P3ADQ5nzD zva-BKa8)SY0lqSde%bUw2;Rvzhauz>C*EQTR5_eQc{cG_)f%YEQ4=f?Dj+r)FZ-kT z&i@G$go`f!O}s9P##)}%N$@HD2@F0WpHl=^XZ-VS49ItPGh!h>7@3#8MLfba_3f$X zF2Q{p%bW#rW_Mnt&xv@!7b=IcP1oY8sx!ek|#e+`?vqwX;dz^+Dv=dYy%WtEux}pub*8 z{>zkJZ-N;$1PQF{w~>(xrt%NE1PT>Wpl?M+M-rdd4fssrg9O(c7rMhj*P%gm*9fi( z70Voq_x~a$m`_Fr{<-MN$CMFY$u&{d^lqhqF1)R_6Z!l^`grg{fB2=yz`Ti2w4Ss- zKFJ7)P>mw&uuY*Uf@==)ccULf$;o;<;)Of#>T@R>qL0WY`6Enie0B-0MfohhQCNd^ z*kyc`*+y@-L0QksXzHiS4|Nj6OZXYss^vVvb=ca0qfHa=h~S!mxZfu4T%0Z7)lCb(K6 z!wE#Xl5UVF!H3LzO$*dZW69Ap}ynpxYvUJ|G? zCVoLZoDj9D$Kl}6FDI4Xr6+8UNN5}}MP z=PZ)7bjJ&>ie~G8(NZc@Ogyt43Qb}TRuhkMG+dSRRi=Xf-g}?W{yEox5w~xFfK!;@ zB;t#>;C~$P*NDGxJLt{S-L8S6=_v9FyE^xb;A+t<4<|F{O?|_NJSXz3$*edH3F2Ru z@3ra)t`=(ZH3Zv`Ynb3_A@>OcN2%ylo{t>&!j|!1;tN183t@s6j}2rrbUz6AjR|%M zu7bmx4r)(_;8-gNE+zdTf-C)IIvpDvcNTFRK`8d`$^_FH5xE~jt|;-l1@}$zHdrD< z{3+7Mf~k;g#Pd%e17_-$*FvG|xWwQh<)h_)IwP)`i3H|!cMGn9%Xrg)70q(em-Rx9 zH&UUWi08gXOKSJJ9()}H|HN0hW~4t?aDQq*f+s^*^;^gUw;ch6<}<-F#9ff%?*!Mf z56?G=T@S%=ejYad!v$CRTnnBWU{i||nP53bw}(;i-GZwn99P;{k-bPp>B;c(F{Iy2 zK2?Hh{2S@Bzi?Dd`EJwyp0j4Xgz`_^TZi$`H># zh$3rF`gc@3zoZII{nsh1>OeUkAf-C)CI+6LxaKY6=IW8G6U%8lgB3L-H zhn^s;w~bE!>9f0^K#u_3a~t(IaoDSM4Z_z&Fo zk>y&p^1Ya}$*mA|58rQX@YR`khE0;W@kN5GsLZ3NpljF>K1KS%+rW<}|1W{3+z(s| zmuJMd5-_@kZ*}IDGl|a+URO(rM@~mEG$)^@h-Z0m{DH*37F=!k{9r8w@e2F;S#K61 zVtg4xKkwX$g8Q8H0P+SIT}=8k54o_h(JjP3{1(M*1Ne8zCw2i8y_fRc!LuPCdLE2< zH3du%Tr~|p>CYs6oUf(rNxzwRcoODr;z7L zt0g*f)9?V&KTbS6Uc1^{@F`(iYh~YGaOHDUu9EhOe_k|j79%o6<(*|28O@-t*qeUj zHVDY=-MR;jIti`Cb^NJ&1=_Jkhf@_mk%x&1#JPn87S(R_(e)0OaBfxRJY7F;b63(gn%o%C_O2^>cY z9XbzuVq8*p26NU|aLrh;Kl4`VpXF>cBWCmMZ3r2CK|DN%x!N6IR2GzdN5M4%g*?Va zl{n&`Ogzdjc<+1uQvRDHLUR@m4h3-Y!6<(`oY5?C2Jz&DXqv3ZE*4yK=7L845#l9W zRBY|UM#Z&PDB%RVHAIc>gy8Tt$zudpCyMXH@YI}Wh~O%C=OmP|@wu6JJ~)Ey1@ezo zl+&u!3ZK#`s@w%e$w1Sd#M75Rz*j7qk;Ds?U~20NZWCOKAkKv|>-WU&ici=>4VssNk;r{%rO8aKSalr95S|A1yS9crm{-+soTn;`vksIMHkL(xnoi z&Y0i^3$w%qCI}BGJMms9w3eTNZE5UP#KXPCFAA>w3r$e(Qs&ibBtmoGdROtfPh$>h zWPtx=Nvn@(LHw$!D6&gPf3)Cgp)B7tta^_k{vMsQ73fp$ax&WY-!Opl_BC$AT$*7|n}C0Ds0&Y0(6R7oZ{Sa4Nn&n?J-b-P1} zhlg@65Zo8#CNy0A$>#;qFXe7D9XI&;{{tgRxI*=CCTQ~j1gC>d$^!(~T9f$}4be){ zPa=Koo1v(A`zqo$%?1vamrb4vWL8LX_SUC}umSnR1rWTMt1js*?m^-uoTf7R10Mwa zJg!aLOoi?u?s`I`HNDFOR|};#@&orQCRojgB%RA@$G?e3+Q6jM*kU$Y2*Hy-LIx(2 z&*6f50l|TyLx|_?WtH4G>%{x`v-7 zFw}Hzn&7HXyad(zBlcRUH<@5jut<0Z6BOPN{pW8kly`|&w!lU-UB(X@p(guP)5H8KG9uppMzjS``M&l@;+3&o&v5XeR!?x zOQg^E7kaV3ImISM^!yx*jv%A@4@03$aNuVL!BwG!++Uj@{Yk{L_anz=@RP-4@+ojm z#mm+5U&si@17%3>){s$*FV;~C_=EV+)=*U16aUnB1PVns31ii-8}WQ!IIqpMTqL-k z6*_PY7}<-&G$u%Jx2Z9@mw09s%Kl|4v|Vs5vS@Hv!hVlJq1g3sy3JH{h~P>;`5c~Z zG?R>`S%TpFv@+rqdGWgSim#AS2`6W)v)M{~Kpq)8l>85R41yDT4?Jc4i%W!-W#L+A z+L4-0Bc9{{U@@!BYl3Sxn&oyx8wad6`flL!GX?J=UVe3@tZhy`4#5YmL+|$)6EqfF zO;o~TI}^kQ2(F(R3cM_U!v;4@a8)Q8g$-Jgek%D-PG~JV?rN zwn}hSX#F=ZskPy|h<6$Wycq>Id;%FOI|H?#AuZZXaOHC;7I&of?#&s_1X)g`TRomb zJluu&2pNTEZ)-9yAbwMSJJqd-vUU3TXV(wUtGG_~jM}uDO z1LDsI+bd644E`}0=6ipzYBNnDv|o<}XTRRb1c&grTzd=78Y5OGyahP7M{u=-`vyoC zD%$QT;BlTyQEcP?A&f{4MQ78P)$AtX?mCSBFJKXTL_8J&UYmH|CCFKpH>kn&oV%X* zrGb+^wj_ldXSk$jZ_b#Y_GKvJ@yx+$!8K>O`ykk+vx}Yvp6rVZ3`F&J!-?-=!({`O zvjz9Baw#roJC6dc@DXwc4-b&DUhy`;wc4!ZRyV7b?-FlO3`M7s&liHLqFF9Y8cDp@ zQkK1a6}GZJOCmHulqYO~opbAnXW8GMN=DV50i*VuaIjhs6I^rVcp{g*q#iH0@*l~w zN{$4dv2G+8wF}<;W_d=^#BvF+wfWDG(THFZ#Os1b-1mPB>S``k{s}qD|g|6B--aWwUxZ=v8l3Y zt*GE$Fh6wJikfbMYvUgY&Tl!+^N}z5+)<8ExpN}~SEp&=mmWw}w?_L3M&v(6&c-qa zJ)TE`ERVcnS-Gji59GwTDVit#)4RyAy+YM|0U5~i2-#lBUz?gPjEMYzs`)u9?rnmr z*A(-!k9o}#q%XM!tui+^x$VT$Y-C*I$xN0QNSxj)= zmB_&bfZbHVwFt&>!HbQV?jU{jQ_7d|8^p^3!JiYq`Z5l6tR?xG5gYhU^e#tz(_e(( z7&lU%Oog5#9*>~Lp242K=5pjXJR9gF!8HSAyHLbOqN#W84vA1xXMTX2d-n#M9+3^~=HMmN()|!Byu( z6yDL3qFykZXMV78bzhUuD83vWO!|GY;FCEIUUNOWlkS3x+}f^n&~;xhXVUfcQ*$g? zR|v42K8a-R%g3Rvb?k?{jBMzgKY0Mu9JR2hcg!lKzDCptsK8pcS58?tAB1 z>>bGHJc&>{wez0}oSRMjYr(Y$6T#ViwO&E{@F9=er(D-caOLwj$8NBSY>Omb;=g!E z{j@TlEfJc7-G@TcAvEAZCYZv3fLY>Q;#YH8%-ZVT$tT|&-C}1tZSPl+f!Nx=_>Q&@ zqa;E#En}}@`#$a^KJm-)MX-+eMs|O#XrTh}&K&yKyWG&%RIqd^{7}|{^eMsptB~W= zC-imhF^N!xih~c~pAnZ+uRRO1+%JNw<&w5ihXNYD4&3oghCL*(EkmXF0vV>i;&S|!BudES215g{7KSBc^tXX=LA>5v3ud{$J;gFl~zJP zJXr90sNlXI?cZ1b(xe=zTXmd5ys#S9<3bh}c@y-DzC!VzK-CT_tu?Yi{r<;Dv^LF2 zHqACUd$Hi^?< z1t$~rBYhbc3RJ`p)ZIxu`H{M!c+p7K`=7}u&Q8?~Sos~~IQKMM%gXOa!BucH*q1ht z^vU2$%T(f%`Ig;FTM6~zm5jLNW|+tty8YgTfRevfd!av6a9^U_5*!swpSa*!1nKTj zaXMf(%ILY7nyr(YBX|R4w1kI>*xc}PW#qe_s_%hi36CXyoh*9`t|`mNa__L1ct3v3 z?M(Vv#KWsB7mY!bjq@2l?f8;uB`3*MsW3? z;$US;1sf^gpmmu@2`-x|Q0sPAp5a+Tg ztE%e-SHCJ|17?L??E?sQ>~Gs?fv7`YB@vpSj8~2P!ZP@tc!YOJ-k=HOiL3^Fh65RU zi#t_t&DoHr-~>ZJ?$#3jmNWC#UDf`O-BNfXT4#w+M&YZ*Ai-79d0hJb83l|IT>HJ^ z#>lHpFJDf)jBEC+&AN^JWnsGJ|1U?tGa|wFN902`>3swNF$%CZfu@41Lh)Yko)4+e z2-0Wy9m+cH=^mFQ^t`YjXT#R{5}`R>6Py9FPH^o#rUbo5WDV#GfuiRMt_qd#V#Y@~ z?%qiH1kaE%pZG1sh!`VmWN^^O6cBugKgn=Ts+yBtO+5UfzmRyiJZqWYT4bp#zqng9 zTg?RdU}gG#Ymu|}c-ERZQ4_({a@(IqVVS9W2(HyH!}Ex&cAQQ=*g!>llHeedo`U-==xM&=n2C~>fE^avdgn@rSAP!{GWr*Z zPiMo`l$Og2uFklNhk4&id^hR!o-JShx-#N`Pmtgz9v$0@c$9eJSF}tovtEuCT+2AY zB?HBzzf5rTiLfXiBA?iw2M&7qZkq{cf-!@Q{P*7gMzNZ}lQhK?!L7vESE9CXM$_a!Y^{)6EEX}8mmnW zHiAC46qYmmSmH}k!FQ!|8Bx{)gOXVkd?oSSU68Ym#P1MX%lMJs;hi=xf0%gsEOh*^ zpK~ogqfhXQKLwAIvkpf>z4nCHyp@1@OAY;?+elr1FqhvWAvkLWq2o2}Tpo1-;w@ zf@@hip0I{D66ZdqfJ_d8$C1zepQD|K+gl}zvgzmiLcjcL2)5qr3`w90C4(XO^@3~8 zqMW|6mhpX~5BBy|+X_DNDbTAjlL~beTpKQzOF{Q}j5w7EI4Iwp!uw28cQ7J45iQhlRA`lFBY1lJt5;*tSt+8+a+awWlg-&Q7gle1_xZm;qca5Rzm6l5#=eZNKymJWhoGu^?&vs^N;nu?w(xC%%vgn;je zCrO`9zv0*EgPDoy?112S@Wyi#@v#%3ka_#r#N|FAFS0!aKPtE?RPM$l ziF=Rq?emi5l~Jl11XvT>g?R25^co+qO}>J7p%j+rL_VJi zu0FBsa_||0@sGrQ3jsfHz1hu7&`@wq5Dm7_o;vBwkz<_|@bSEkMy$F<8Q!u{-hQn5NbvNbp?Fh!So9 zx1rK}!8HekGhiWeuARgq986j-diM7aoZ~>orlYSQUjFr7>fc=wp#maodat8GtC^s} z2;{)piEYFa?56E2?V&$_Pn7Fgtl>J7cz8p^G{OD&KN1|-dOs7CafZJs75ZEgNOdjn z#lzm5D*On+Q@Llq4e9qMo<0giQkFPFzL49aEXQvN?k&nATlY}#VLKr>!M;FVV7z>HH6uE6d6zlYT)~ymWnZGr|BN|X zD7ac8%g)IfqEAR4zJ3qh1;Oot-H&hV8i02p;#~z-+m^9OI))W!w&3anNp4fLNt;EaFCGg;&nBOjiRVt!-bLhF z|9HqR5F8%nJe>GKdXstIHG-=`F&^;!Ar*Sb=*J-gk5TXr(kJVpTdSq?>Q9G?ziAF4 z+;VC;=pndo%(?NT3mJ_PTm={SF|!u&M~KI{^5qCR!DjL)X7^|H&%$yx zP$E=tf$KV~X*)-7RW#4JcZe@+|ON>|& zfkM`Vy)C$|W{7c1IWz2Xf~%tVr2pp^{g%H$aONJAeJ>^$LcDM^#$KnhKD)F;D5Lzl z5Ny53LMAAF7YPt6n|+DLxQGCqmE2AFJ1xYu2R7w#u;9u+cglWV73*h*>5*z`y72hw ziwzI%!Oc)Wn%`}#344wL!n-woG(Nn_yEoq^C;g#{%6wWGPfE02p+q87)8no}UO%Ae zo)cUZO)dl8na=ew=_4F*kiV-euZhYh6YQvIEx7WD;_XxS!Q&ag1ha#Wn%6QxF%MjL zi4uMz{qLnv=mhdPrve1z`FVUA@p}bVg<3rVdK8V+zb#CV=Jl8y(a5n|NKm{UrF$+J zE%^W1Iukgli(`-f!-B2|$p#RSLxyAV;#fp@D{>5qEF$8{A%_M>1fPK5Vl+<;GUJ7S z3XA3eDw2^SDi|G!x{5wr55NGzDk|~91rMSUoCi+%LGk-V?DV>l&(8Ao=ygTkW&vw4bo4Q*@0c2wwiN ziE=C@HVCe5R!jH+H?IBUuRx%NG)>>SR)PG%XH2XH)4|InD75;YgB#sTBtaSHgRmp( zC{P)!B;-9m*N}TLcNt&L7&qX`sef}-3LcNwgpN!2c=|^Q*c+>d*4JMIFJiLhs@@5n zVY~JkYJ9{IRA8kw!F%B6fG3uirWc^mNk^njqM~2eknFBEBL&o0O5?Lahh8Rl13VFI zbngKVAC(<^Bux-}=-&>$I{jy}MjwPek_2sn%CY8fX5p-lD>OoTmRo-BHPgYv(^?OJ zk0sE_-PZKcdhqeTH#+ItNcdC|lyPQtVT?Rtnu<<4%JA^5)~f_p4V^mJ2=#`}?cmFT zU8z;zmCQovW$9=e30bDIzSZ#S`o_3@a9FTdaAkaGtKK+|CVw54Hhk=u3jRE+%BLgf z?3j+Mr-hNomq|iA%5i3|lmZ(el*yTDd^%ftvG);`ik(>@{L zUKV#d^SG7l=F5pEI%oi;Jzf^FoKqW6~yOrGxo+aMc z3FLnYIu^lrq(mGh;XM+Xf=?` z{@t4E1w?Dy2od;}brHG>t|B~JU}oYU2j_s7pJ%Ny#++Mp06Lr50qz6+^2V{q67M}Y z0XbC?wC-z$7=wo>Fh_7@oFGcWIPmAlpQYL5<3Ij=1)jh!8#Q^Gr-{+OJpS63&e;}1 zQ%M*A<6`g!z-M6SZn%w)F+#~;DS8-qd2q5~GWheOO_UBwU-(CJBtcs*A6#>Nm;zZo zK^c0ZwSucA@}C+q6ieR)o?@@e?RhWsbHO@jy{2_|`F5){*1@q<5|lwTyZo(C>CNDS zJ6a9aqM><$>#QZy+a&RxS|zwP<)O!UtU%GRhWGi5#Wwe|{Ut#eXE{dO9R`1s{&-@R!ycDH#wgeKLP z|J_giJHc<*Wcj_)qK@Dl=Ne<5 z65k2Fa;f3{VEm2Xs_FE^Us^&hYEaPJ7<|t1gLws6k``PG%;WG@lKiKUKa2}|9{6

    &>UAHyw}W7 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 Date: Sun, 3 Feb 2013 21:48:11 -0800 Subject: [PATCH 495/851] BulletSim: add debugging looking for doorway sculpty problems --- .../BulletSPlugin/BSShapeCollection.cs | 30 ++++++++++++++++--- .../Physics/BulletSPlugin/BulletSimData.cs | 4 +++ .../Physics/BulletSPlugin/BulletSimTODO.txt | 3 ++ 3 files changed, 33 insertions(+), 4 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs b/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs index 9febd90d2b..0af8e1343f 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs @@ -622,7 +622,6 @@ public sealed class BSShapeCollection : IDisposable private BulletShape CreatePhysicalMesh(string objName, System.UInt64 newMeshKey, PrimitiveBaseShape pbs, OMV.Vector3 size, float lod) { BulletShape newShape = new BulletShape(); - IMesh meshData = null; MeshDesc meshDesc; if (Meshes.TryGetValue(newMeshKey, out meshDesc)) @@ -632,7 +631,7 @@ public sealed class BSShapeCollection : IDisposable } else { - meshData = PhysicsScene.mesher.CreateMesh(objName, pbs, size, lod, true, false); + IMesh meshData = PhysicsScene.mesher.CreateMesh(objName, pbs, size, lod, true, false); if (meshData != null) { @@ -648,8 +647,31 @@ public sealed class BSShapeCollection : IDisposable verticesAsFloats[vi++] = vv.Z; } - // m_log.DebugFormat("{0}: BSShapeCollection.CreatePhysicalMesh: calling CreateMesh. lid={1}, key={2}, indices={3}, vertices={4}", - // LogHeader, prim.LocalID, newMeshKey, indices.Length, vertices.Count); + // DetailLog("{0},BSShapeCollection.CreatePhysicalMesh,key={1},lod={2},size={3},indices={4},vertices={5}", + // BSScene.DetailLogZero, newMeshKey.ToString("X"), lod, size, indices.Length, vertices.Count); + + /* + // DEBUG DEBUG + for (int ii = 0; ii < indices.Length; ii += 3) + { + DetailLog("{0,3}: {1,3},{2,3},{3,3}: <{4,10},{5,10},{6,10}>, <{7,10},{8,10},{9,10}>, <{10,10},{11,10},{12,10}>", + ii / 3, + indices[ii + 0], + indices[ii + 1], + indices[ii + 2], + verticesAsFloats[indices[ii+0] + 0], + verticesAsFloats[indices[ii+0] + 1], + verticesAsFloats[indices[ii+0] + 2], + verticesAsFloats[indices[ii+1] + 0], + verticesAsFloats[indices[ii+1] + 1], + verticesAsFloats[indices[ii+1] + 2], + verticesAsFloats[indices[ii+2] + 0], + verticesAsFloats[indices[ii+2] + 1], + verticesAsFloats[indices[ii+2] + 2] + ); + } + // END DEBUG DEBUG + */ newShape = PhysicsScene.PE.CreateMeshShape(PhysicsScene.World, indices.GetLength(0), indices, vertices.Count, verticesAsFloats); diff --git a/OpenSim/Region/Physics/BulletSPlugin/BulletSimData.cs b/OpenSim/Region/Physics/BulletSPlugin/BulletSimData.cs index c7a2f7e585..8012d91e2f 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BulletSimData.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BulletSimData.cs @@ -217,6 +217,10 @@ public static class BulletSimData { // Map of collisionTypes to flags for collision groups and masks. +// An object's 'group' is the collison groups this object belongs to +// An object's 'filter' is the groups another object has to belong to in order to collide with me +// A collision happens if ((obj1.group & obj2.filter) != 0) || ((obj2.group & obj1.filter) != 0) +// // As mentioned above, don't use the CollisionFilterGroups definitions directly in the code // but, instead, use references to this dictionary. Finding and debugging // collision flag problems will be made easier. diff --git a/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt index a3b355656d..1eaa523ada 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt +++ b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt @@ -128,6 +128,9 @@ Physical and phantom will drop through the terrain LINKSETS ====================================================== Child prims do not report collisions +Allow children of a linkset to be phantom: + http://opensim-dev.2196679.n2.nabble.com/Setting-a-single-child-prim-to-Phantom-tp7578513.html + Add OS_STATUS_PHANTOM_PRIM to llSetLinkPrimitaveParamsFast. Editing a child of a linkset causes the child to go phantom Move a child prim once when it is physical and can never move it again without it going phantom Offset the center of the linkset to be the geometric center of all the prims From dce9e323f4f0fdccd2f34266e870de9cbcebd2f0 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Tue, 5 Feb 2013 16:51:02 -0800 Subject: [PATCH 496/851] BulletSim: remove degenerate triangles from meshes. This fixes the invisible barriers in sculptie doorways (Mantis 6529). Bump up level-of-detail for physical meshes to 32 (the max). This fixes the invisible barriers that showed up in prim cut arches. NOTE: the default LOD values are removed from OpenSimDefaults.ini. If you don't change your OpenSimDefaults.ini, you will continue to see the arch problem. --- .../Region/Physics/BulletSPlugin/BSParam.cs | 18 +++-- .../BulletSPlugin/BSShapeCollection.cs | 79 ++++++++++--------- .../Physics/BulletSPlugin/BulletSimTODO.txt | 2 + OpenSim/Region/Physics/Manager/IMesher.cs | 1 + OpenSim/Region/Physics/Meshing/Mesh.cs | 2 +- bin/OpenSimDefaults.ini | 16 +--- 6 files changed, 60 insertions(+), 58 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs index fbef7e79c6..bdd9ce44d8 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs @@ -39,6 +39,7 @@ public static class BSParam { // Level of Detail values kept as float because that's what the Meshmerizer wants public static float MeshLOD { get; private set; } + public static float MeshCircularLOD { get; private set; } public static float MeshMegaPrimLOD { get; private set; } public static float MeshMegaPrimThreshold { get; private set; } public static float SculptLOD { get; private set; } @@ -219,20 +220,25 @@ public static class BSParam (s,p,l,v) => { ShouldUseHullsForPhysicalObjects = BSParam.BoolNumeric(v); } ), new ParameterDefn("MeshLevelOfDetail", "Level of detail to render meshes (32, 16, 8 or 4. 32=most detailed)", - 8f, + 32f, (s,cf,p,v) => { MeshLOD = (float)cf.GetInt(p, (int)v); }, (s) => { return MeshLOD; }, (s,p,l,v) => { MeshLOD = v; } ), - new ParameterDefn("MeshLevelOfDetailMegaPrim", "Level of detail to render meshes larger than threshold meters", - 16f, - (s,cf,p,v) => { MeshMegaPrimLOD = (float)cf.GetInt(p, (int)v); }, - (s) => { return MeshMegaPrimLOD; }, - (s,p,l,v) => { MeshMegaPrimLOD = v; } ), + new ParameterDefn("MeshLevelOfDetailCircular", "Level of detail for prims with circular cuts or shapes", + 32f, + (s,cf,p,v) => { MeshCircularLOD = (float)cf.GetInt(p, (int)v); }, + (s) => { return MeshCircularLOD; }, + (s,p,l,v) => { MeshCircularLOD = v; } ), new ParameterDefn("MeshLevelOfDetailMegaPrimThreshold", "Size (in meters) of a mesh before using MeshMegaPrimLOD", 10f, (s,cf,p,v) => { MeshMegaPrimThreshold = (float)cf.GetInt(p, (int)v); }, (s) => { return MeshMegaPrimThreshold; }, (s,p,l,v) => { MeshMegaPrimThreshold = v; } ), + new ParameterDefn("MeshLevelOfDetailMegaPrim", "Level of detail to render meshes larger than threshold meters", + 32f, + (s,cf,p,v) => { MeshMegaPrimLOD = (float)cf.GetInt(p, (int)v); }, + (s) => { return MeshMegaPrimLOD; }, + (s,p,l,v) => { MeshMegaPrimLOD = v; } ), new ParameterDefn("SculptLevelOfDetail", "Level of detail to render sculpties (32, 16, 8 or 4. 32=most detailed)", 32f, (s,cf,p,v) => { SculptLOD = (float)cf.GetInt(p, (int)v); }, diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs b/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs index 0af8e1343f..f17e51340c 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs @@ -602,8 +602,8 @@ public sealed class BSShapeCollection : IDisposable if (newMeshKey == prim.PhysShape.shapeKey && prim.PhysShape.type == BSPhysicsShapeType.SHAPE_MESH) return false; - if (DDetail) DetailLog("{0},BSShapeCollection.GetReferenceToMesh,create,oldKey={1},newKey={2}", - prim.LocalID, prim.PhysShape.shapeKey.ToString("X"), newMeshKey.ToString("X")); + if (DDetail) DetailLog("{0},BSShapeCollection.GetReferenceToMesh,create,oldKey={1},newKey={2},size={3},lod={4}", + prim.LocalID, prim.PhysShape.shapeKey.ToString("X"), newMeshKey.ToString("X"), prim.Size, lod); // Since we're recreating new, get rid of the reference to the previous shape DereferenceShape(prim.PhysShape, shapeCallback); @@ -631,50 +631,50 @@ public sealed class BSShapeCollection : IDisposable } else { - IMesh meshData = PhysicsScene.mesher.CreateMesh(objName, pbs, size, lod, true, false); + IMesh meshData = PhysicsScene.mesher.CreateMesh(objName, pbs, size, lod, + false, // say it is not physical so a bounding box is not built + false // do not cache the mesh and do not use previously built versions + ); if (meshData != null) { + int[] indices = meshData.getIndexListAsInt(); - List vertices = meshData.getVertexList(); + // int realIndicesIndex = indices.Length; + float[] verticesAsFloats = meshData.getVertexListAsFloat(); - float[] verticesAsFloats = new float[vertices.Count * 3]; - int vi = 0; - foreach (OMV.Vector3 vv in vertices) + // Remove degenerate triangles. These are triangles with two of the vertices + // are the same. This is complicated by the problem that vertices are not + // made unique in sculpties so we have to compare the values in the vertex. + int realIndicesIndex = 0; + for (int tri = 0; tri < indices.Length; tri += 3) { - verticesAsFloats[vi++] = vv.X; - verticesAsFloats[vi++] = vv.Y; - verticesAsFloats[vi++] = vv.Z; + int v1 = indices[tri + 0] * 3; + int v2 = indices[tri + 1] * 3; + int v3 = indices[tri + 2] * 3; + if (!( ( verticesAsFloats[v1 + 0] == verticesAsFloats[v2 + 0] + && verticesAsFloats[v1 + 1] == verticesAsFloats[v2 + 1] + && verticesAsFloats[v1 + 2] == verticesAsFloats[v2 + 2] ) + || ( verticesAsFloats[v2 + 0] == verticesAsFloats[v3 + 0] + && verticesAsFloats[v2 + 1] == verticesAsFloats[v3 + 1] + && verticesAsFloats[v2 + 2] == verticesAsFloats[v3 + 2] ) + || ( verticesAsFloats[v1 + 0] == verticesAsFloats[v3 + 0] + && verticesAsFloats[v1 + 1] == verticesAsFloats[v3 + 1] + && verticesAsFloats[v1 + 2] == verticesAsFloats[v3 + 2] ) ) + ) + { + // None of the vertices of the triangles are the same. This is a good triangle; + indices[realIndicesIndex + 0] = indices[tri + 0]; + indices[realIndicesIndex + 1] = indices[tri + 1]; + indices[realIndicesIndex + 2] = indices[tri + 2]; + realIndicesIndex += 3; + } } - - // DetailLog("{0},BSShapeCollection.CreatePhysicalMesh,key={1},lod={2},size={3},indices={4},vertices={5}", - // BSScene.DetailLogZero, newMeshKey.ToString("X"), lod, size, indices.Length, vertices.Count); - - /* - // DEBUG DEBUG - for (int ii = 0; ii < indices.Length; ii += 3) - { - DetailLog("{0,3}: {1,3},{2,3},{3,3}: <{4,10},{5,10},{6,10}>, <{7,10},{8,10},{9,10}>, <{10,10},{11,10},{12,10}>", - ii / 3, - indices[ii + 0], - indices[ii + 1], - indices[ii + 2], - verticesAsFloats[indices[ii+0] + 0], - verticesAsFloats[indices[ii+0] + 1], - verticesAsFloats[indices[ii+0] + 2], - verticesAsFloats[indices[ii+1] + 0], - verticesAsFloats[indices[ii+1] + 1], - verticesAsFloats[indices[ii+1] + 2], - verticesAsFloats[indices[ii+2] + 0], - verticesAsFloats[indices[ii+2] + 1], - verticesAsFloats[indices[ii+2] + 2] - ); - } - // END DEBUG DEBUG - */ + DetailLog("{0},BSShapeCollection.CreatePhysicalMesh,origTri={1},realTri={2},numVerts={3}", + BSScene.DetailLogZero, indices.Length / 3, realIndicesIndex / 3, verticesAsFloats.Length / 3); newShape = PhysicsScene.PE.CreateMeshShape(PhysicsScene.World, - indices.GetLength(0), indices, vertices.Count, verticesAsFloats); + realIndicesIndex, indices, verticesAsFloats.Length/3, verticesAsFloats); } } newShape.shapeKey = newMeshKey; @@ -853,6 +853,11 @@ public sealed class BSShapeCollection : IDisposable { // level of detail based on size and type of the object float lod = BSParam.MeshLOD; + + // prims with curvy internal cuts need higher lod + if (pbs.HollowShape == HollowShape.Circle) + lod = BSParam.MeshCircularLOD; + if (pbs.SculptEntry) lod = BSParam.SculptLOD; diff --git a/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt index 1eaa523ada..bda7c471b1 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt +++ b/OpenSim/Region/Physics/BulletSPlugin/BulletSimTODO.txt @@ -65,6 +65,8 @@ Vehicle attributes are not restored when a vehicle is rezzed on region creation GENERAL TODO LIST: ================================================= +Level-of-detail for mesh creation. Prims with circular interiors require lod of 32. + Is much saved with lower LODs? At the moment, all set to 32. Collisions are inconsistant: arrows are supposed to hit and report collision. Often don't. If arrow show at prim, collision reported about 1/3 of time. If collision reported, both arrow and prim report it. The arrow bounces off the prim 9 out of 10 times. diff --git a/OpenSim/Region/Physics/Manager/IMesher.cs b/OpenSim/Region/Physics/Manager/IMesher.cs index 10c4bd3ae6..2e7bb5d7a0 100644 --- a/OpenSim/Region/Physics/Manager/IMesher.cs +++ b/OpenSim/Region/Physics/Manager/IMesher.cs @@ -59,6 +59,7 @@ namespace OpenSim.Region.Physics.Manager List getVertexList(); int[] getIndexListAsInt(); int[] getIndexListAsIntLocked(); + float[] getVertexListAsFloat(); float[] getVertexListAsFloatLocked(); void getIndexListAsPtrToIntArray(out IntPtr indices, out int triStride, out int indexCount); void getVertexListAsPtrToFloatArray(out IntPtr vertexList, out int vertexStride, out int vertexCount); diff --git a/OpenSim/Region/Physics/Meshing/Mesh.cs b/OpenSim/Region/Physics/Meshing/Mesh.cs index f781ff9bd0..bd8e3063aa 100644 --- a/OpenSim/Region/Physics/Meshing/Mesh.cs +++ b/OpenSim/Region/Physics/Meshing/Mesh.cs @@ -152,7 +152,7 @@ namespace OpenSim.Region.Physics.Meshing return result; } - private float[] getVertexListAsFloat() + public float[] getVertexListAsFloat() { if (m_vertices == null) throw new NotSupportedException(); diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 911927388f..7bdfd1ce30 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -916,13 +916,9 @@ ; Terrain Implementation {1|0} 0 for HeightField, 1 for Mesh terrain. If you're using the bulletxna engine, ; you will want to switch to the heightfield option - TerrainImplementation = 1 ; TerrainImplementation = 0 - DefaultFriction = 0.20 - DefaultDensity = 10.000006836 - DefaultRestitution = 0.0 Gravity = -9.80665 TerrainFriction = 0.30 @@ -931,7 +927,7 @@ TerrainCollisionMargin = 0.04 AvatarFriction = 0.2 - AvatarStandingFriction = 10.0 + AvatarStandingFriction = 0.95 AvatarRestitution = 0.0 AvatarDensity = 3.5 AvatarCapsuleWidth = 0.6 @@ -943,7 +939,7 @@ CollisionMargin = 0.04 - ; Linkset constraint parameters + ; Linkset implmentation LinkImplementation = 1 ; 0=constraint, 1=compound ; Whether to mesh sculpties @@ -952,14 +948,6 @@ ; If 'true', force simple prims (box and sphere) to be meshed ForceSimplePrimMeshing = false - ; level of detail for physical meshes. 32,16,8 or 4 with 32 being full detail - MeshLevelOfDetail = 8 - ; if mesh size is > threshold meters, we need to add more detail because people will notice - MeshLevelOfDetailMegaPrimThreshold = 10 - MeshLevelOfDetailMegaPrim = 16 - ; number^2 non-physical level of detail of the sculpt texture. 32x32 - 1024 verticies - SculptLevelOfDetail = 32 - ; Bullet step parameters MaxSubSteps = 10 FixedTimeStep = .01667 From 5c94346bd7fd218ede591182b045aeb4a57b108e Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 6 Feb 2013 01:17:19 +0000 Subject: [PATCH 497/851] refactor: Move functions that lookup asset ids from task inventory or pass them through to ScriptUtils class in OpenSim.Region.Framework.dll Renames functions to better reflect what they do. This is so that code registering with modInvoke() can reuse this code to provide functions that behave in a consistent manner with existing LSL/OSSL functions. --- .../Framework/Scenes/Scripting/ScriptUtils.cs | 122 ++++++++++++++++++ .../Shared/Api/Implementation/LSL_Api.cs | 104 +++------------ 2 files changed, 137 insertions(+), 89 deletions(-) create mode 100644 OpenSim/Region/Framework/Scenes/Scripting/ScriptUtils.cs diff --git a/OpenSim/Region/Framework/Scenes/Scripting/ScriptUtils.cs b/OpenSim/Region/Framework/Scenes/Scripting/ScriptUtils.cs new file mode 100644 index 0000000000..d8aa2584a6 --- /dev/null +++ b/OpenSim/Region/Framework/Scenes/Scripting/ScriptUtils.cs @@ -0,0 +1,122 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using OpenMetaverse; +using OpenSim.Framework; + +namespace OpenSim.Region.Framework.Scenes.Scripting +{ + ///

    + /// Utility functions for use by scripts manipulating the scene. + /// + public static class ScriptUtils + { + /// + /// Get an asset id given an item name and an item type. + /// + /// UUID.Zero if the name and type did not match any item. + /// + /// + /// + public static UUID GetAssetIdFromItemName(SceneObjectPart part, string name, int type) + { + TaskInventoryItem item = part.Inventory.GetInventoryItem(name); + + if (item != null && item.Type == type) + return item.AssetID; + else + return UUID.Zero; + } + + /// + /// accepts a valid UUID, -or- a name of an inventory item. + /// Returns a valid UUID or UUID.Zero if key invalid and item not found + /// in prim inventory. + /// + /// Scene object part to search for inventory item + /// + /// + public static UUID GetAssetIdFromKeyOrItemName(SceneObjectPart part, string identifier) + { + UUID key; + + // if we can parse the string as a key, use it. + // else try to locate the name in inventory of object. found returns key, + // not found returns UUID.Zero + if (!UUID.TryParse(identifier, out key)) + { + TaskInventoryItem item = part.Inventory.GetInventoryItem(identifier); + + if (item != null) + key = item.AssetID; + else + key = UUID.Zero; + } + + return key; + } + + + /// + /// Return the UUID of the asset matching the specified key or name + /// and asset type. + /// + /// Scene object part to search for inventory item + /// + /// + /// + public static UUID GetAssetIdFromKeyOrItemName(SceneObjectPart part, string identifier, AssetType type) + { + UUID key; + + if (!UUID.TryParse(identifier, out key)) + { + TaskInventoryItem item = part.Inventory.GetInventoryItem(identifier); + if (item != null && item.Type == (int)type) + key = item.AssetID; + } + else + { + lock (part.TaskInventory) + { + foreach (KeyValuePair item in part.TaskInventory) + { + if (item.Value.Type == (int)type && item.Value.Name == identifier) + { + key = item.Value.ItemID; + break; + } + } + } + } + + return key; + } + } +} \ No newline at end of file diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 0db6fe317b..4fa3c6077f 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -45,6 +45,7 @@ using OpenSim.Region.CoreModules.World.Terrain; using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes; using OpenSim.Region.Framework.Scenes.Animation; +using OpenSim.Region.Framework.Scenes.Scripting; using OpenSim.Region.Physics.Manager; using OpenSim.Region.ScriptEngine.Shared; using OpenSim.Region.ScriptEngine.Shared.Api.Plugins; @@ -333,79 +334,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } - protected UUID InventoryKey(string name, int type) - { - TaskInventoryItem item = m_host.Inventory.GetInventoryItem(name); - - if (item != null && item.Type == type) - return item.AssetID; - else - return UUID.Zero; - } - - /// - /// accepts a valid UUID, -or- a name of an inventory item. - /// Returns a valid UUID or UUID.Zero if key invalid and item not found - /// in prim inventory. - /// - /// - /// - protected UUID KeyOrName(string k) - { - UUID key; - - // if we can parse the string as a key, use it. - // else try to locate the name in inventory of object. found returns key, - // not found returns UUID.Zero - if (!UUID.TryParse(k, out key)) - { - TaskInventoryItem item = m_host.Inventory.GetInventoryItem(k); - - if (item != null) - key = item.AssetID; - else - key = UUID.Zero; - } - - return key; - } - - /// - /// Return the UUID of the asset matching the specified key or name - /// and asset type. - /// - /// - /// - /// - protected UUID KeyOrName(string k, AssetType type) - { - UUID key; - - if (!UUID.TryParse(k, out key)) - { - TaskInventoryItem item = m_host.Inventory.GetInventoryItem(k); - if (item != null && item.Type == (int)type) - key = item.AssetID; - } - else - { - lock (m_host.TaskInventory) - { - foreach (KeyValuePair item in m_host.TaskInventory) - { - if (item.Value.Type == (int)type && item.Value.Name == k) - { - key = item.Value.ItemID; - break; - } - } - } - } - - - return key; - } - //These are the implementations of the various ll-functions used by the LSL scripts. public LSL_Float llSin(double f) { @@ -1816,7 +1744,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { UUID textureID = new UUID(); - textureID = InventoryKey(texture, (int)AssetType.Texture); + textureID = ScriptUtils.GetAssetIdFromItemName(m_host, texture, (int)AssetType.Texture); if (textureID == UUID.Zero) { if (!UUID.TryParse(texture, out textureID)) @@ -2450,7 +2378,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (m_SoundModule != null) { m_SoundModule.SendSound(m_host.UUID, - KeyOrName(sound, AssetType.Sound), volume, false, 0, + ScriptUtils.GetAssetIdFromKeyOrItemName(m_host, sound, AssetType.Sound), volume, false, 0, 0, false, false); } } @@ -2460,7 +2388,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_host.AddScriptLPS(1); if (m_SoundModule != null) { - m_SoundModule.LoopSound(m_host.UUID, KeyOrName(sound), + m_SoundModule.LoopSound(m_host.UUID, ScriptUtils.GetAssetIdFromKeyOrItemName(m_host, sound), volume, 20, false); } } @@ -2470,7 +2398,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_host.AddScriptLPS(1); if (m_SoundModule != null) { - m_SoundModule.LoopSound(m_host.UUID, KeyOrName(sound), + m_SoundModule.LoopSound(m_host.UUID, ScriptUtils.GetAssetIdFromKeyOrItemName(m_host, sound), volume, 20, true); } } @@ -2492,7 +2420,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (m_SoundModule != null) { m_SoundModule.SendSound(m_host.UUID, - KeyOrName(sound, AssetType.Sound), volume, false, 0, + ScriptUtils.GetAssetIdFromKeyOrItemName(m_host, sound, AssetType.Sound), volume, false, 0, 0, true, false); } } @@ -2504,7 +2432,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (m_SoundModule != null) { m_SoundModule.SendSound(m_host.UUID, - KeyOrName(sound, AssetType.Sound), volume, true, 0, 0, + ScriptUtils.GetAssetIdFromKeyOrItemName(m_host, sound, AssetType.Sound), volume, true, 0, 0, false, false); } } @@ -2521,7 +2449,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { m_host.AddScriptLPS(1); if (m_SoundModule != null) - m_SoundModule.PreloadSound(m_host.UUID, KeyOrName(sound), 0); + m_SoundModule.PreloadSound(m_host.UUID, ScriptUtils.GetAssetIdFromKeyOrItemName(m_host, sound), 0); ScriptSleep(1000); } @@ -3352,7 +3280,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (presence != null) { // Do NOT try to parse UUID, animations cannot be triggered by ID - UUID animID = InventoryKey(anim, (int)AssetType.Animation); + UUID animID = ScriptUtils.GetAssetIdFromItemName(m_host, anim, (int)AssetType.Animation); if (animID == UUID.Zero) presence.Animator.AddAnimation(anim, m_host.UUID); else @@ -3374,7 +3302,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (presence != null) { - UUID animID = KeyOrName(anim); + UUID animID = ScriptUtils.GetAssetIdFromKeyOrItemName(m_host, anim); if (animID == UUID.Zero) presence.Animator.RemoveAnimation(anim); @@ -4319,7 +4247,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api private void DoLLTeleport(ScenePresence sp, string destination, Vector3 targetPos, Vector3 targetLookAt) { - UUID assetID = KeyOrName(destination); + UUID assetID = ScriptUtils.GetAssetIdFromKeyOrItemName(m_host, destination); // The destinaion is not an asset ID and also doesn't name a landmark. // Use it as a sim name @@ -4386,7 +4314,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_host.AddScriptLPS(1); // TODO: Parameter check logic required. - m_host.CollisionSound = KeyOrName(impact_sound, AssetType.Sound); + m_host.CollisionSound = ScriptUtils.GetAssetIdFromKeyOrItemName(m_host, impact_sound, AssetType.Sound); m_host.CollisionSoundVolume = (float)impact_volume; } @@ -5912,7 +5840,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (m_SoundModule != null) { m_SoundModule.TriggerSoundLimited(m_host.UUID, - KeyOrName(sound, AssetType.Sound), volume, + ScriptUtils.GetAssetIdFromKeyOrItemName(m_host, sound, AssetType.Sound), volume, bottom_south_west, top_north_east); } } @@ -6346,7 +6274,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api break; case (int)ScriptBaseClass.PSYS_SRC_TEXTURE: - prules.Texture = KeyOrName(rules.GetLSLStringItem(i + 1)); + prules.Texture = ScriptUtils.GetAssetIdFromKeyOrItemName(m_host, rules.GetLSLStringItem(i + 1)); break; case (int)ScriptBaseClass.PSYS_SRC_BURST_RATE: @@ -7269,9 +7197,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api UUID sculptId; if (!UUID.TryParse(map, out sculptId)) - { - sculptId = InventoryKey(map, (int)AssetType.Texture); - } + sculptId = ScriptUtils.GetAssetIdFromItemName(m_host, map, (int)AssetType.Texture); if (sculptId == UUID.Zero) return; From 36463612794f95776e8ddea14333827cbce35eff Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Tue, 5 Feb 2013 17:19:55 -0800 Subject: [PATCH 498/851] BulletSim: make removing zero width triangles from meshes optional and, for the moment, default to 'off'. --- .../Region/Physics/BulletSPlugin/BSParam.cs | 6 +++ .../BulletSPlugin/BSShapeCollection.cs | 51 +++++++++--------- bin/lib32/BulletSim.dll | Bin 546304 -> 546304 bytes bin/lib64/BulletSim.dll | Bin 694272 -> 694272 bytes 4 files changed, 33 insertions(+), 24 deletions(-) diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs index bdd9ce44d8..306928ad33 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs @@ -62,6 +62,7 @@ public static class BSParam public static bool ShouldMeshSculptedPrim { get; private set; } // cause scuplted prims to get meshed public static bool ShouldForceSimplePrimMeshing { get; private set; } // if a cube or sphere, let Bullet do internal shapes public static bool ShouldUseHullsForPhysicalObjects { get; private set; } // 'true' if should create hulls for physical objects + public static bool ShouldRemoveZeroWidthTriangles { get; private set; } public static float TerrainImplementation { get; private set; } public static float TerrainFriction { get; private set; } @@ -218,6 +219,11 @@ public static class BSParam (s,cf,p,v) => { ShouldUseHullsForPhysicalObjects = cf.GetBoolean(p, BSParam.BoolNumeric(v)); }, (s) => { return BSParam.NumericBool(ShouldUseHullsForPhysicalObjects); }, (s,p,l,v) => { ShouldUseHullsForPhysicalObjects = BSParam.BoolNumeric(v); } ), + new ParameterDefn("ShouldRemoveZeroWidthTriangles", "If true, remove degenerate triangles from meshes", + ConfigurationParameters.numericFalse, + (s,cf,p,v) => { ShouldRemoveZeroWidthTriangles = cf.GetBoolean(p, BSParam.BoolNumeric(v)); }, + (s) => { return BSParam.NumericBool(ShouldRemoveZeroWidthTriangles); }, + (s,p,l,v) => { ShouldRemoveZeroWidthTriangles = BSParam.BoolNumeric(v); } ), new ParameterDefn("MeshLevelOfDetail", "Level of detail to render meshes (32, 16, 8 or 4. 32=most detailed)", 32f, diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs b/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs index f17e51340c..f59b9d973b 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs @@ -640,34 +640,37 @@ public sealed class BSShapeCollection : IDisposable { int[] indices = meshData.getIndexListAsInt(); - // int realIndicesIndex = indices.Length; + int realIndicesIndex = indices.Length; float[] verticesAsFloats = meshData.getVertexListAsFloat(); - // Remove degenerate triangles. These are triangles with two of the vertices - // are the same. This is complicated by the problem that vertices are not - // made unique in sculpties so we have to compare the values in the vertex. - int realIndicesIndex = 0; - for (int tri = 0; tri < indices.Length; tri += 3) + if (BSParam.ShouldRemoveZeroWidthTriangles) { - int v1 = indices[tri + 0] * 3; - int v2 = indices[tri + 1] * 3; - int v3 = indices[tri + 2] * 3; - if (!( ( verticesAsFloats[v1 + 0] == verticesAsFloats[v2 + 0] - && verticesAsFloats[v1 + 1] == verticesAsFloats[v2 + 1] - && verticesAsFloats[v1 + 2] == verticesAsFloats[v2 + 2] ) - || ( verticesAsFloats[v2 + 0] == verticesAsFloats[v3 + 0] - && verticesAsFloats[v2 + 1] == verticesAsFloats[v3 + 1] - && verticesAsFloats[v2 + 2] == verticesAsFloats[v3 + 2] ) - || ( verticesAsFloats[v1 + 0] == verticesAsFloats[v3 + 0] - && verticesAsFloats[v1 + 1] == verticesAsFloats[v3 + 1] - && verticesAsFloats[v1 + 2] == verticesAsFloats[v3 + 2] ) ) - ) + // Remove degenerate triangles. These are triangles with two of the vertices + // are the same. This is complicated by the problem that vertices are not + // made unique in sculpties so we have to compare the values in the vertex. + realIndicesIndex = 0; + for (int tri = 0; tri < indices.Length; tri += 3) { - // None of the vertices of the triangles are the same. This is a good triangle; - indices[realIndicesIndex + 0] = indices[tri + 0]; - indices[realIndicesIndex + 1] = indices[tri + 1]; - indices[realIndicesIndex + 2] = indices[tri + 2]; - realIndicesIndex += 3; + int v1 = indices[tri + 0] * 3; + int v2 = indices[tri + 1] * 3; + int v3 = indices[tri + 2] * 3; + if (!((verticesAsFloats[v1 + 0] == verticesAsFloats[v2 + 0] + && verticesAsFloats[v1 + 1] == verticesAsFloats[v2 + 1] + && verticesAsFloats[v1 + 2] == verticesAsFloats[v2 + 2]) + || (verticesAsFloats[v2 + 0] == verticesAsFloats[v3 + 0] + && verticesAsFloats[v2 + 1] == verticesAsFloats[v3 + 1] + && verticesAsFloats[v2 + 2] == verticesAsFloats[v3 + 2]) + || (verticesAsFloats[v1 + 0] == verticesAsFloats[v3 + 0] + && verticesAsFloats[v1 + 1] == verticesAsFloats[v3 + 1] + && verticesAsFloats[v1 + 2] == verticesAsFloats[v3 + 2])) + ) + { + // None of the vertices of the triangles are the same. This is a good triangle; + indices[realIndicesIndex + 0] = indices[tri + 0]; + indices[realIndicesIndex + 1] = indices[tri + 1]; + indices[realIndicesIndex + 2] = indices[tri + 2]; + realIndicesIndex += 3; + } } } DetailLog("{0},BSShapeCollection.CreatePhysicalMesh,origTri={1},realTri={2},numVerts={3}", diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index 0d24f121c095374b445098ad73884a0ffd76912c..de4f95ad08c7abbb05070781ff91ab75db689792 100755 GIT binary patch delta 1114 zcmZ8fT}YEr82&!@Z9CHiXE<|0qSj0o6YTtmm4uNOgJx*k#h^h-KQ5THQb|E*BO$tp zL4#wUunQ3{CKL=dXg7mFT^JZF5ZuKqA}5zyvS=W`HFZ(5r!brRv>K@E>l4R3P|`@}ahy3$hZ zMi{^OUm%N?#i#{c(EZ{W{MZcXC~7z_-doVyGao;fle44#;nh!~$5?kJf6+&~^3;0Ep$9)vpjR7uK7u!j}9td9bp z2ds!W8Bt{!c?FS;BauAtQaw_Hh`u5A5Nhr_R9prm4R~8FKp7ALqye(A42>p{fXF#D zA|>xQ!oI&Y$xVO|@S_!2B$`lb+md3HtE7O}Cy7-X>S!q_vV1XHz|-ObNV-pax1r`X z13oYa^&<y@B;61X8c}o0(h)}r_=0L zjngDe(Pf&ZdHRlS(K0=tKdHtrb21m}WP{Ad{4B_#Y>~xTlBL)R%d*l%_Kxka3ahex yrg6-j+|7G=Klkwv5A!IG@mapeQ+$nY@H{W@60h(BUgO$;F<>8X=eh%Ex8XO(`rFF@ delta 1144 zcmZ8gT}YEr82&!@Z97wov;3Pdk=e`%8hU=jO2R-vaK@**88m8@Qi0{Fkp)7F4DBY0 zgtNel1tYxJMS(D(73->9C=7}a^kRY0jlnL2Mo{#gIq2jI58wB^@AEw8=i6c_Pb}q0 z=$0?P4nMc(W0v!yj)wt#A)rfC0W1ImUS6H=p}OYO0aXTguB>_oDz1)Y@Mj1vDHa2I2yV^|*aS=i zlEUeL1xljVf$CcP(2-7A^2DM4lovtSyr@XzPUFD$gI>V6A*+n#`SZY&Vgp9qYB)@^ zxp9OMd|3G|OQyMi2LWEuTn%Z1%2=kE<VF#!8>aU7vWLu%4pwW#Ef zf6#PCBRVs1ACr3GB|g$aMo5r^$TW$ND48QmBuQ4t8p)6>$&msnl09NjL~ALg_0&xn z9ik&NNJBJCC+Reur%NKf2E^>!gBUqB{o@6y z4`cuWCLk`^D##gZrq#eLd3(+NRW6;AjrvM!%gfn-QqEQ}$(8BlnRzi8`MIevMTsei gxy6RlCz^4(Gcs(yX2w}}h&ght;P&vJoGa%605?`FL;wH) delta 142 zcmZqJpw+NJYXKwklV5z3nHhbVJQ$jT7~6vwL6`}MnSq!Eh*^P{4T#yd2QhMN`o{}Y zAIJa%Oh8<|Rgg2-OjnYZ-%fTCgHK=X;uoinJ^#!MlybF-Nv=#U&&-R-$j?oU3Cd4O hEh>pgNiCb+XU6Hi{e~H5%^~K;zxcL?|Kwab4*=;aFPQ)U From eddfed3812354c5990631be0ac985cc25d5aa0e9 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Wed, 6 Feb 2013 01:37:22 +0000 Subject: [PATCH 499/851] Allow JsonReadNotecard() to accept the name of the notecard as well as the asset ID. Agreed in discussion with cmickeyb. This is to make this consistent with similar existing LSL/OSSL functions such as llTriggerSound() and osNpcLoadAppearance() that allow an item name or an asset id. --- .../JsonStore/JsonStoreScriptModule.cs | 26 +++++++++++++------ 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs index 5b7a79d013..ec880a7220 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs @@ -39,6 +39,7 @@ using OpenMetaverse.StructuredData; using OpenSim.Framework; using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes; +using OpenSim.Region.Framework.Scenes.Scripting; using System.Collections.Generic; using System.Text.RegularExpressions; @@ -256,10 +257,10 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore ///

    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%0AHt;NmEi8`U97F08+1Q z&yVPZLP|-DIwz%KM&l+35+Um!tb(aKtE3 zB|qHO9U&w#OV`VchpD@|lJ9(8n%My}bw(;Pcez%^AWM;>cR5F+{S(=%j!YYyZ2o!D zm0vc2=c@9K#l@T_#70+hwv1u^MNImMw=yFi>-0R7aFGh?4RYIUqwYZY)cRNHTUZKa zbmSY!x>>f3mwqZ0htw7gn!0+&92F9>4~X%uZ)_ckw!C7oIHsYWYP>gk9gbhM5nQzG zm^Y!Pj+YzbqHPd9w*;Ufwy#A}dKiOe;jpNUX5$#zMN4GnQYbK|@_CnCPNO^)RI$9bcxApUKRZ?$clcg}QiLITi=wxUz;v=D38_KfA@ zy#3b)9A}Ojmq}?%#3H=s9h+1oDy@n*wcTvd$?)V4a>=;ne*D^ghzDe(*viBySO z{JTsfK0T#P8l@6Bh!c5jtW0DACo+4iOr$zKJ=WW63p59FBKD7!i5g;?R#{A6wvCmE z8p5ewIaVfWs7lmWB+4vw+U3q8{7r(tX4Gj{B_o}BjucMT-LW#6>Ucvcl8NN0`(K~M637A

Pv%+0R->;z$5b?LrlOR;BX$?T_n>@> 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

// ----------------------------------------------------------------- [ScriptInvocation] - public UUID JsonReadNotecard(UUID hostID, UUID scriptID, UUID storeID, string path, UUID assetID) + public UUID JsonReadNotecard(UUID hostID, UUID scriptID, UUID storeID, string path, string notecardIdentifier) { UUID reqID = UUID.Random(); - Util.FireAndForget(delegate(object o) { DoJsonReadNotecard(reqID,hostID,scriptID,storeID,path,assetID); }); + Util.FireAndForget(o => DoJsonReadNotecard(reqID, hostID, scriptID, storeID, path, notecardIdentifier)); return reqID; } @@ -463,14 +464,23 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore /// ///