diff --git a/Extras/MayaPlugin/BulletMayaPlugin.sln b/Extras/MayaPlugin/BulletMayaPlugin.sln index 1ef877615..54ba32558 100644 --- a/Extras/MayaPlugin/BulletMayaPlugin.sln +++ b/Extras/MayaPlugin/BulletMayaPlugin.sln @@ -30,103 +30,46 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "liblibxml", "..\..\msvc\8\l EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - DebugDoublePrecision|Win32 = DebugDoublePrecision|Win32 - Release|Win32 = Release|Win32 - ReleaseDebug|Win32 = ReleaseDebug|Win32 - ReleaseDoublePrecision|Win32 = ReleaseDoublePrecision|Win32 + DebugDll|Win32 = DebugDll|Win32 + ReleaseDll|Win32 = ReleaseDll|Win32 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {681412B0-F197-4A2F-9263-DEA2E8690146}.Debug|Win32.ActiveCfg = Debug|Win32 - {681412B0-F197-4A2F-9263-DEA2E8690146}.Debug|Win32.Build.0 = Debug|Win32 - {681412B0-F197-4A2F-9263-DEA2E8690146}.DebugDoublePrecision|Win32.ActiveCfg = Debug|Win32 - {681412B0-F197-4A2F-9263-DEA2E8690146}.DebugDoublePrecision|Win32.Build.0 = Debug|Win32 - {681412B0-F197-4A2F-9263-DEA2E8690146}.Release|Win32.ActiveCfg = Release|Win32 - {681412B0-F197-4A2F-9263-DEA2E8690146}.Release|Win32.Build.0 = Release|Win32 - {681412B0-F197-4A2F-9263-DEA2E8690146}.ReleaseDebug|Win32.ActiveCfg = ReleaseDebug|Win32 - {681412B0-F197-4A2F-9263-DEA2E8690146}.ReleaseDebug|Win32.Build.0 = ReleaseDebug|Win32 - {681412B0-F197-4A2F-9263-DEA2E8690146}.ReleaseDoublePrecision|Win32.ActiveCfg = ReleaseDebug|Win32 - {681412B0-F197-4A2F-9263-DEA2E8690146}.ReleaseDoublePrecision|Win32.Build.0 = ReleaseDebug|Win32 - {6ADA430D-009C-2ED4-A787-2AC2D6FEB8CE}.Debug|Win32.ActiveCfg = Debug|Win32 - {6ADA430D-009C-2ED4-A787-2AC2D6FEB8CE}.Debug|Win32.Build.0 = Debug|Win32 - {6ADA430D-009C-2ED4-A787-2AC2D6FEB8CE}.DebugDoublePrecision|Win32.ActiveCfg = DebugDoublePrecision|Win32 - {6ADA430D-009C-2ED4-A787-2AC2D6FEB8CE}.DebugDoublePrecision|Win32.Build.0 = DebugDoublePrecision|Win32 - {6ADA430D-009C-2ED4-A787-2AC2D6FEB8CE}.Release|Win32.ActiveCfg = Release|Win32 - {6ADA430D-009C-2ED4-A787-2AC2D6FEB8CE}.Release|Win32.Build.0 = Release|Win32 - {6ADA430D-009C-2ED4-A787-2AC2D6FEB8CE}.ReleaseDebug|Win32.ActiveCfg = Debug|Win32 - {6ADA430D-009C-2ED4-A787-2AC2D6FEB8CE}.ReleaseDebug|Win32.Build.0 = Debug|Win32 - {6ADA430D-009C-2ED4-A787-2AC2D6FEB8CE}.ReleaseDoublePrecision|Win32.ActiveCfg = ReleaseDoublePrecision|Win32 - {6ADA430D-009C-2ED4-A787-2AC2D6FEB8CE}.ReleaseDoublePrecision|Win32.Build.0 = ReleaseDoublePrecision|Win32 - {61BD1097-CF2E-B296-DAA9-73A6FE135319}.Debug|Win32.ActiveCfg = Debug|Win32 - {61BD1097-CF2E-B296-DAA9-73A6FE135319}.Debug|Win32.Build.0 = Debug|Win32 - {61BD1097-CF2E-B296-DAA9-73A6FE135319}.DebugDoublePrecision|Win32.ActiveCfg = DebugDoublePrecision|Win32 - {61BD1097-CF2E-B296-DAA9-73A6FE135319}.DebugDoublePrecision|Win32.Build.0 = DebugDoublePrecision|Win32 - {61BD1097-CF2E-B296-DAA9-73A6FE135319}.Release|Win32.ActiveCfg = Release|Win32 - {61BD1097-CF2E-B296-DAA9-73A6FE135319}.Release|Win32.Build.0 = Release|Win32 - {61BD1097-CF2E-B296-DAA9-73A6FE135319}.ReleaseDebug|Win32.ActiveCfg = Debug|Win32 - {61BD1097-CF2E-B296-DAA9-73A6FE135319}.ReleaseDebug|Win32.Build.0 = Debug|Win32 - {61BD1097-CF2E-B296-DAA9-73A6FE135319}.ReleaseDoublePrecision|Win32.ActiveCfg = ReleaseDoublePrecision|Win32 - {61BD1097-CF2E-B296-DAA9-73A6FE135319}.ReleaseDoublePrecision|Win32.Build.0 = ReleaseDoublePrecision|Win32 - {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A}.Debug|Win32.ActiveCfg = Debug|Win32 - {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A}.Debug|Win32.Build.0 = Debug|Win32 - {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A}.DebugDoublePrecision|Win32.ActiveCfg = DebugDoublePrecision|Win32 - {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A}.DebugDoublePrecision|Win32.Build.0 = DebugDoublePrecision|Win32 - {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A}.Release|Win32.ActiveCfg = Release|Win32 - {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A}.Release|Win32.Build.0 = Release|Win32 - {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A}.ReleaseDebug|Win32.ActiveCfg = Debug|Win32 - {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A}.ReleaseDebug|Win32.Build.0 = Debug|Win32 - {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A}.ReleaseDoublePrecision|Win32.ActiveCfg = ReleaseDoublePrecision|Win32 - {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A}.ReleaseDoublePrecision|Win32.Build.0 = ReleaseDoublePrecision|Win32 - {F8318FC6-B9C4-D5A1-DCC0-C9CE42ADAE22}.Debug|Win32.ActiveCfg = Debug|Win32 - {F8318FC6-B9C4-D5A1-DCC0-C9CE42ADAE22}.Debug|Win32.Build.0 = Debug|Win32 - {F8318FC6-B9C4-D5A1-DCC0-C9CE42ADAE22}.DebugDoublePrecision|Win32.ActiveCfg = DebugDoublePrecision|Win32 - {F8318FC6-B9C4-D5A1-DCC0-C9CE42ADAE22}.DebugDoublePrecision|Win32.Build.0 = DebugDoublePrecision|Win32 - {F8318FC6-B9C4-D5A1-DCC0-C9CE42ADAE22}.Release|Win32.ActiveCfg = Release|Win32 - {F8318FC6-B9C4-D5A1-DCC0-C9CE42ADAE22}.Release|Win32.Build.0 = Release|Win32 - {F8318FC6-B9C4-D5A1-DCC0-C9CE42ADAE22}.ReleaseDebug|Win32.ActiveCfg = Debug|Win32 - {F8318FC6-B9C4-D5A1-DCC0-C9CE42ADAE22}.ReleaseDebug|Win32.Build.0 = Debug|Win32 - {F8318FC6-B9C4-D5A1-DCC0-C9CE42ADAE22}.ReleaseDoublePrecision|Win32.ActiveCfg = ReleaseDoublePrecision|Win32 - {F8318FC6-B9C4-D5A1-DCC0-C9CE42ADAE22}.ReleaseDoublePrecision|Win32.Build.0 = ReleaseDoublePrecision|Win32 - {B1B5F775-54A9-2437-E4AC-7E817E492142}.Debug|Win32.ActiveCfg = Debug|Win32 - {B1B5F775-54A9-2437-E4AC-7E817E492142}.Debug|Win32.Build.0 = Debug|Win32 - {B1B5F775-54A9-2437-E4AC-7E817E492142}.DebugDoublePrecision|Win32.ActiveCfg = DebugDoublePrecision|Win32 - {B1B5F775-54A9-2437-E4AC-7E817E492142}.DebugDoublePrecision|Win32.Build.0 = DebugDoublePrecision|Win32 - {B1B5F775-54A9-2437-E4AC-7E817E492142}.Release|Win32.ActiveCfg = Release|Win32 - {B1B5F775-54A9-2437-E4AC-7E817E492142}.Release|Win32.Build.0 = Release|Win32 - {B1B5F775-54A9-2437-E4AC-7E817E492142}.ReleaseDebug|Win32.ActiveCfg = Debug|Win32 - {B1B5F775-54A9-2437-E4AC-7E817E492142}.ReleaseDebug|Win32.Build.0 = Debug|Win32 - {B1B5F775-54A9-2437-E4AC-7E817E492142}.ReleaseDoublePrecision|Win32.ActiveCfg = ReleaseDoublePrecision|Win32 - {B1B5F775-54A9-2437-E4AC-7E817E492142}.ReleaseDoublePrecision|Win32.Build.0 = ReleaseDoublePrecision|Win32 - {ED51AA4D-82EF-089C-CD6D-91CF224E2A9E}.Debug|Win32.ActiveCfg = Debug|Win32 - {ED51AA4D-82EF-089C-CD6D-91CF224E2A9E}.Debug|Win32.Build.0 = Debug|Win32 - {ED51AA4D-82EF-089C-CD6D-91CF224E2A9E}.DebugDoublePrecision|Win32.ActiveCfg = DebugDoublePrecision|Win32 - {ED51AA4D-82EF-089C-CD6D-91CF224E2A9E}.DebugDoublePrecision|Win32.Build.0 = DebugDoublePrecision|Win32 - {ED51AA4D-82EF-089C-CD6D-91CF224E2A9E}.Release|Win32.ActiveCfg = Release|Win32 - {ED51AA4D-82EF-089C-CD6D-91CF224E2A9E}.Release|Win32.Build.0 = Release|Win32 - {ED51AA4D-82EF-089C-CD6D-91CF224E2A9E}.ReleaseDebug|Win32.ActiveCfg = Debug|Win32 - {ED51AA4D-82EF-089C-CD6D-91CF224E2A9E}.ReleaseDebug|Win32.Build.0 = Debug|Win32 - {ED51AA4D-82EF-089C-CD6D-91CF224E2A9E}.ReleaseDoublePrecision|Win32.ActiveCfg = ReleaseDoublePrecision|Win32 - {ED51AA4D-82EF-089C-CD6D-91CF224E2A9E}.ReleaseDoublePrecision|Win32.Build.0 = ReleaseDoublePrecision|Win32 - {6AB01C9C-9163-F400-B5C3-20D046631E17}.Debug|Win32.ActiveCfg = Debug|Win32 - {6AB01C9C-9163-F400-B5C3-20D046631E17}.Debug|Win32.Build.0 = Debug|Win32 - {6AB01C9C-9163-F400-B5C3-20D046631E17}.DebugDoublePrecision|Win32.ActiveCfg = DebugDoublePrecision|Win32 - {6AB01C9C-9163-F400-B5C3-20D046631E17}.DebugDoublePrecision|Win32.Build.0 = DebugDoublePrecision|Win32 - {6AB01C9C-9163-F400-B5C3-20D046631E17}.Release|Win32.ActiveCfg = Release|Win32 - {6AB01C9C-9163-F400-B5C3-20D046631E17}.Release|Win32.Build.0 = Release|Win32 - {6AB01C9C-9163-F400-B5C3-20D046631E17}.ReleaseDebug|Win32.ActiveCfg = Debug|Win32 - {6AB01C9C-9163-F400-B5C3-20D046631E17}.ReleaseDebug|Win32.Build.0 = Debug|Win32 - {6AB01C9C-9163-F400-B5C3-20D046631E17}.ReleaseDoublePrecision|Win32.ActiveCfg = ReleaseDoublePrecision|Win32 - {6AB01C9C-9163-F400-B5C3-20D046631E17}.ReleaseDoublePrecision|Win32.Build.0 = ReleaseDoublePrecision|Win32 - {A0958CD9-0E39-4A77-3711-9B488F508FBF}.Debug|Win32.ActiveCfg = Debug|Win32 - {A0958CD9-0E39-4A77-3711-9B488F508FBF}.Debug|Win32.Build.0 = Debug|Win32 - {A0958CD9-0E39-4A77-3711-9B488F508FBF}.DebugDoublePrecision|Win32.ActiveCfg = DebugDoublePrecision|Win32 - {A0958CD9-0E39-4A77-3711-9B488F508FBF}.DebugDoublePrecision|Win32.Build.0 = DebugDoublePrecision|Win32 - {A0958CD9-0E39-4A77-3711-9B488F508FBF}.Release|Win32.ActiveCfg = Release|Win32 - {A0958CD9-0E39-4A77-3711-9B488F508FBF}.Release|Win32.Build.0 = Release|Win32 - {A0958CD9-0E39-4A77-3711-9B488F508FBF}.ReleaseDebug|Win32.ActiveCfg = Debug|Win32 - {A0958CD9-0E39-4A77-3711-9B488F508FBF}.ReleaseDebug|Win32.Build.0 = Debug|Win32 - {A0958CD9-0E39-4A77-3711-9B488F508FBF}.ReleaseDoublePrecision|Win32.ActiveCfg = ReleaseDoublePrecision|Win32 - {A0958CD9-0E39-4A77-3711-9B488F508FBF}.ReleaseDoublePrecision|Win32.Build.0 = ReleaseDoublePrecision|Win32 + {681412B0-F197-4A2F-9263-DEA2E8690146}.DebugDll|Win32.ActiveCfg = DebugDll|Win32 + {681412B0-F197-4A2F-9263-DEA2E8690146}.DebugDll|Win32.Build.0 = DebugDll|Win32 + {681412B0-F197-4A2F-9263-DEA2E8690146}.ReleaseDll|Win32.ActiveCfg = ReleaseDll|Win32 + {681412B0-F197-4A2F-9263-DEA2E8690146}.ReleaseDll|Win32.Build.0 = ReleaseDll|Win32 + {6ADA430D-009C-2ED4-A787-2AC2D6FEB8CE}.DebugDll|Win32.ActiveCfg = DebugDLL|Win32 + {6ADA430D-009C-2ED4-A787-2AC2D6FEB8CE}.DebugDll|Win32.Build.0 = DebugDLL|Win32 + {6ADA430D-009C-2ED4-A787-2AC2D6FEB8CE}.ReleaseDll|Win32.ActiveCfg = ReleaseDLL|Win32 + {6ADA430D-009C-2ED4-A787-2AC2D6FEB8CE}.ReleaseDll|Win32.Build.0 = ReleaseDLL|Win32 + {61BD1097-CF2E-B296-DAA9-73A6FE135319}.DebugDll|Win32.ActiveCfg = DebugDLL|Win32 + {61BD1097-CF2E-B296-DAA9-73A6FE135319}.DebugDll|Win32.Build.0 = DebugDLL|Win32 + {61BD1097-CF2E-B296-DAA9-73A6FE135319}.ReleaseDll|Win32.ActiveCfg = ReleaseDLL|Win32 + {61BD1097-CF2E-B296-DAA9-73A6FE135319}.ReleaseDll|Win32.Build.0 = ReleaseDLL|Win32 + {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A}.DebugDll|Win32.ActiveCfg = DebugDLL|Win32 + {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A}.DebugDll|Win32.Build.0 = DebugDLL|Win32 + {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A}.ReleaseDll|Win32.ActiveCfg = ReleaseDLL|Win32 + {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A}.ReleaseDll|Win32.Build.0 = ReleaseDLL|Win32 + {F8318FC6-B9C4-D5A1-DCC0-C9CE42ADAE22}.DebugDll|Win32.ActiveCfg = DebugDLL|Win32 + {F8318FC6-B9C4-D5A1-DCC0-C9CE42ADAE22}.DebugDll|Win32.Build.0 = DebugDLL|Win32 + {F8318FC6-B9C4-D5A1-DCC0-C9CE42ADAE22}.ReleaseDll|Win32.ActiveCfg = ReleaseDLL|Win32 + {F8318FC6-B9C4-D5A1-DCC0-C9CE42ADAE22}.ReleaseDll|Win32.Build.0 = ReleaseDLL|Win32 + {B1B5F775-54A9-2437-E4AC-7E817E492142}.DebugDll|Win32.ActiveCfg = DebugDLL|Win32 + {B1B5F775-54A9-2437-E4AC-7E817E492142}.DebugDll|Win32.Build.0 = DebugDLL|Win32 + {B1B5F775-54A9-2437-E4AC-7E817E492142}.ReleaseDll|Win32.ActiveCfg = ReleaseDLL|Win32 + {B1B5F775-54A9-2437-E4AC-7E817E492142}.ReleaseDll|Win32.Build.0 = ReleaseDLL|Win32 + {ED51AA4D-82EF-089C-CD6D-91CF224E2A9E}.DebugDll|Win32.ActiveCfg = DebugDLL|Win32 + {ED51AA4D-82EF-089C-CD6D-91CF224E2A9E}.DebugDll|Win32.Build.0 = DebugDLL|Win32 + {ED51AA4D-82EF-089C-CD6D-91CF224E2A9E}.ReleaseDll|Win32.ActiveCfg = ReleaseDLL|Win32 + {ED51AA4D-82EF-089C-CD6D-91CF224E2A9E}.ReleaseDll|Win32.Build.0 = ReleaseDLL|Win32 + {6AB01C9C-9163-F400-B5C3-20D046631E17}.DebugDll|Win32.ActiveCfg = DebugDLL|Win32 + {6AB01C9C-9163-F400-B5C3-20D046631E17}.DebugDll|Win32.Build.0 = DebugDLL|Win32 + {6AB01C9C-9163-F400-B5C3-20D046631E17}.ReleaseDll|Win32.ActiveCfg = ReleaseDLL|Win32 + {6AB01C9C-9163-F400-B5C3-20D046631E17}.ReleaseDll|Win32.Build.0 = ReleaseDLL|Win32 + {A0958CD9-0E39-4A77-3711-9B488F508FBF}.DebugDll|Win32.ActiveCfg = DebugDLL|Win32 + {A0958CD9-0E39-4A77-3711-9B488F508FBF}.DebugDll|Win32.Build.0 = DebugDLL|Win32 + {A0958CD9-0E39-4A77-3711-9B488F508FBF}.ReleaseDll|Win32.ActiveCfg = ReleaseDLL|Win32 + {A0958CD9-0E39-4A77-3711-9B488F508FBF}.ReleaseDll|Win32.Build.0 = ReleaseDLL|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Extras/MayaPlugin/BulletMayaPlugin.vcproj b/Extras/MayaPlugin/BulletMayaPlugin.vcproj index d9a9fb6cf..2ff92090f 100644 --- a/Extras/MayaPlugin/BulletMayaPlugin.vcproj +++ b/Extras/MayaPlugin/BulletMayaPlugin.vcproj @@ -18,105 +18,7 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +