From b2a0e9c2d95ca729b97dc51a42ec1fdb5f5d5569 Mon Sep 17 00:00:00 2001 From: Chuck Walbourn Date: Tue, 31 May 2016 18:08:08 -0700 Subject: [PATCH] May 2016 --- .gitignore | 1 + Kits/ATGTK/ControllerHelp.cpp | 854 ++++++ Kits/ATGTK/ControllerHelp.h | 92 + Kits/ATGTK/DebugDraw.cpp | 282 ++ Kits/ATGTK/DebugDraw.h | 56 + Kits/ATGTK/OrbitCamera.cpp | 730 +++++ Kits/ATGTK/OrbitCamera.h | 133 + Kits/ATGTK/TextConsole.cpp | 12 +- Kits/ATGTK/TextConsole.h | 2 + Kits/DirectXTK/Audio/AudioEngine.cpp | 27 +- .../Audio/DynamicSoundEffectInstance.cpp | 8 +- Kits/DirectXTK/Audio/SoundEffect.cpp | 7 +- Kits/DirectXTK/Audio/WAVFileReader.cpp | 17 +- Kits/DirectXTK/Audio/WaveBank.cpp | 7 +- Kits/DirectXTK/Audio/WaveBankReader.cpp | 10 +- Kits/DirectXTK/DirectXTK_Windows10.vcxproj | 4 +- Kits/DirectXTK/Inc/DDSTextureLoader.h | 186 +- Kits/DirectXTK/Inc/DirectXHelpers.h | 4 +- Kits/DirectXTK/Inc/Effects.h | 22 +- Kits/DirectXTK/Inc/PrimitiveBatch.h | 2 +- Kits/DirectXTK/Inc/ScreenGrab.h | 28 +- Kits/DirectXTK/Inc/VertexTypes.h | 50 + Kits/DirectXTK/Inc/WICTextureLoader.h | 176 +- Kits/DirectXTK/Readme.txt | 8 +- Kits/DirectXTK/Src/BinaryReader.cpp | 17 +- Kits/DirectXTK/Src/CommonStates.cpp | 12 +- Kits/DirectXTK/Src/ConstantBuffer.h | 4 +- Kits/DirectXTK/Src/DDSTextureLoader.cpp | 2488 +++++++++-------- Kits/DirectXTK/Src/DGSLEffectFactory.cpp | 39 +- Kits/DirectXTK/Src/EffectCommon.cpp | 6 +- Kits/DirectXTK/Src/EffectCommon.h | 4 +- Kits/DirectXTK/Src/EffectFactory.cpp | 27 +- Kits/DirectXTK/Src/GeometricPrimitive.cpp | 4 +- Kits/DirectXTK/Src/GraphicsMemory.cpp | 2 +- Kits/DirectXTK/Src/ModelLoadCMO.cpp | 10 +- Kits/DirectXTK/Src/ModelLoadSDKMESH.cpp | 16 +- Kits/DirectXTK/Src/ModelLoadVBO.cpp | 8 +- Kits/DirectXTK/Src/PlatformHelpers.h | 4 +- Kits/DirectXTK/Src/PrimitiveBatch.cpp | 30 +- Kits/DirectXTK/Src/ScreenGrab.cpp | 877 +++--- Kits/DirectXTK/Src/Shaders/CompileShaders.cmd | 8 +- .../AlphaTestEffect_PSAlphaTestEqNe.inc | 393 ++- .../AlphaTestEffect_PSAlphaTestEqNeNoFog.inc | 116 +- .../AlphaTestEffect_PSAlphaTestLtGt.inc | 146 +- .../AlphaTestEffect_PSAlphaTestLtGtNoFog.inc | 284 +- .../Compiled/AlphaTestEffect_VSAlphaTest.inc | 420 ++- .../AlphaTestEffect_VSAlphaTestNoFog.inc | 353 ++- .../AlphaTestEffect_VSAlphaTestVc.inc | 449 ++- .../AlphaTestEffect_VSAlphaTestVcNoFog.inc | 192 +- .../Shaders/Compiled/BasicEffect_PSBasic.inc | 234 +- .../Compiled/BasicEffect_PSBasicNoFog.inc | 142 +- .../BasicEffect_PSBasicPixelLighting.inc | 991 ++++--- .../BasicEffect_PSBasicPixelLightingTx.inc | 1075 ++++--- .../Compiled/BasicEffect_PSBasicTx.inc | 319 ++- .../Compiled/BasicEffect_PSBasicTxNoFog.inc | 211 +- .../BasicEffect_PSBasicVertexLighting.inc | 262 +- ...BasicEffect_PSBasicVertexLightingNoFog.inc | 110 +- .../BasicEffect_PSBasicVertexLightingTx.inc | 338 ++- ...sicEffect_PSBasicVertexLightingTxNoFog.inc | 295 +- .../Shaders/Compiled/BasicEffect_VSBasic.inc | 361 ++- .../Compiled/BasicEffect_VSBasicNoFog.inc | 286 +- .../Compiled/BasicEffect_VSBasicOneLight.inc | 861 ++++-- .../BasicEffect_VSBasicOneLightTx.inc | 378 ++- .../BasicEffect_VSBasicOneLightTxVc.inc | 398 ++- .../BasicEffect_VSBasicOneLightVc.inc | 378 ++- .../BasicEffect_VSBasicPixelLighting.inc | 232 +- .../BasicEffect_VSBasicPixelLightingTx.inc | 250 +- .../BasicEffect_VSBasicPixelLightingTxVc.inc | 625 +++-- .../BasicEffect_VSBasicPixelLightingVc.inc | 573 ++-- .../Compiled/BasicEffect_VSBasicTx.inc | 200 +- .../Compiled/BasicEffect_VSBasicTxNoFog.inc | 355 ++- .../Compiled/BasicEffect_VSBasicTxVc.inc | 450 ++- .../Compiled/BasicEffect_VSBasicTxVcNoFog.inc | 373 ++- .../Compiled/BasicEffect_VSBasicVc.inc | 388 ++- .../Compiled/BasicEffect_VSBasicVcNoFog.inc | 322 ++- .../BasicEffect_VSBasicVertexLighting.inc | 1147 +++++--- .../BasicEffect_VSBasicVertexLightingTx.inc | 1203 +++++--- .../BasicEffect_VSBasicVertexLightingTxVc.inc | 1252 ++++++--- .../BasicEffect_VSBasicVertexLightingVc.inc | 450 ++- .../Src/Shaders/Compiled/DGSLEffect_main.inc | 652 +++-- .../Compiled/DGSLEffect_main1Bones.inc | 983 ++++--- .../Compiled/DGSLEffect_main1BonesVc.inc | 1013 ++++--- .../Compiled/DGSLEffect_main2Bones.inc | 1040 ++++--- .../Compiled/DGSLEffect_main2BonesVc.inc | 1062 ++++--- .../Compiled/DGSLEffect_main4Bones.inc | 1155 +++++--- .../Compiled/DGSLEffect_main4BonesVc.inc | 1187 +++++--- .../Shaders/Compiled/DGSLEffect_mainVc.inc | 683 +++-- .../Src/Shaders/Compiled/DGSLLambert_main.inc | 555 ++-- .../Shaders/Compiled/DGSLLambert_mainTk.inc | 236 +- .../Shaders/Compiled/DGSLLambert_mainTx.inc | 630 +++-- .../Shaders/Compiled/DGSLLambert_mainTxTk.inc | 649 +++-- .../Src/Shaders/Compiled/DGSLPhong_main.inc | 1069 ++++--- .../Src/Shaders/Compiled/DGSLPhong_mainTk.inc | 1113 +++++--- .../Src/Shaders/Compiled/DGSLPhong_mainTx.inc | 1143 +++++--- .../Shaders/Compiled/DGSLPhong_mainTxTk.inc | 388 ++- .../Src/Shaders/Compiled/DGSLUnlit_main.inc | 216 +- .../Src/Shaders/Compiled/DGSLUnlit_mainTk.inc | 269 +- .../Src/Shaders/Compiled/DGSLUnlit_mainTx.inc | 295 +- .../Shaders/Compiled/DGSLUnlit_mainTxTk.inc | 358 ++- .../DualTextureEffect_PSDualTexture.inc | 168 +- .../DualTextureEffect_PSDualTextureNoFog.inc | 313 ++- .../DualTextureEffect_VSDualTexture.inc | 469 +++- .../DualTextureEffect_VSDualTextureNoFog.inc | 198 +- .../DualTextureEffect_VSDualTextureVc.inc | 226 +- ...DualTextureEffect_VSDualTextureVcNoFog.inc | 208 +- .../EnvironmentMapEffect_PSEnvMap.inc | 399 ++- .../EnvironmentMapEffect_PSEnvMapNoFog.inc | 347 ++- .../EnvironmentMapEffect_PSEnvMapSpecular.inc | 457 +-- ...ronmentMapEffect_PSEnvMapSpecularNoFog.inc | 156 +- .../EnvironmentMapEffect_VSEnvMap.inc | 915 +++--- .../EnvironmentMapEffect_VSEnvMapFresnel.inc | 368 ++- .../EnvironmentMapEffect_VSEnvMapOneLight.inc | 833 ++++-- ...nmentMapEffect_VSEnvMapOneLightFresnel.inc | 356 ++- .../SkinnedEffect_PSSkinnedPixelLighting.inc | 1082 ++++--- .../SkinnedEffect_PSSkinnedVertexLighting.inc | 338 ++- ...nedEffect_PSSkinnedVertexLightingNoFog.inc | 295 +- ...innedEffect_VSSkinnedOneLightFourBones.inc | 1449 ++++++---- ...SkinnedEffect_VSSkinnedOneLightOneBone.inc | 1199 +++++--- ...kinnedEffect_VSSkinnedOneLightTwoBones.inc | 1279 ++++++--- ...Effect_VSSkinnedPixelLightingFourBones.inc | 382 ++- ...edEffect_VSSkinnedPixelLightingOneBone.inc | 879 ++++-- ...dEffect_VSSkinnedPixelLightingTwoBones.inc | 969 ++++--- ...ffect_VSSkinnedVertexLightingFourBones.inc | 1729 +++++++----- ...dEffect_VSSkinnedVertexLightingOneBone.inc | 540 +++- ...Effect_VSSkinnedVertexLightingTwoBones.inc | 544 +++- .../SpriteEffect_SpritePixelShader.inc | 209 +- .../SpriteEffect_SpriteVertexShader.inc | 307 +- Kits/DirectXTK/Src/SpriteBatch.cpp | 205 +- Kits/DirectXTK/Src/SpriteFont.cpp | 9 +- Kits/DirectXTK/Src/VertexTypes.cpp | 22 + Kits/DirectXTK/Src/WICTextureLoader.cpp | 1054 +++---- .../ATG_SpatialMotion_monoFunkDrums1Loop.wav | Bin 0 -> 1342394 bytes Media/Textures/callout_circle.dds | Bin 0 -> 272 bytes Media/Textures/circle.dds | Bin 0 -> 621072 bytes README.md | 4 +- .../SimplePlay3DSoundUWP}/Assets/Logo.png | Bin .../Assets/SmallLogo.png | Bin .../Assets/SplashScreen.png | Bin .../Assets/StoreLogo.png | Bin .../SimplePlay3DSoundUWP}/Assets/WideLogo.png | Bin .../SimplePlay3DSoundUWP}/DeviceResources.cpp | 57 +- .../SimplePlay3DSoundUWP}/DeviceResources.h | 0 Samples/Audio/SimplePlay3DSoundUWP/Main.cpp | 357 +++ .../SimplePlay3DSoundUWP/Package.appxmanifest | 49 + .../Audio/SimplePlay3DSoundUWP/Readme.docx | Bin 0 -> 95785 bytes .../SimplePlay3DSound.cpp | 911 ++++++ .../SimplePlay3DSoundUWP/SimplePlay3DSound.h | 112 + .../SimplePlay3DSound.sln | 54 + .../SimplePlay3DSound.vcxproj | 282 ++ .../SimplePlay3DSound.vcxproj.filters | 83 + .../SimplePlay3DSound_TemporaryKey.pfx | Bin 0 -> 2452 bytes .../SimplePlay3DSoundUWP}/StepTimer.h | 0 .../SimplePlay3DSoundUWP}/pch.cpp | 0 Samples/Audio/SimplePlay3DSoundUWP/pch.h | 78 + .../SimplePlaySoundUWP/DeviceResources.cpp | 5 +- .../SimplePlaySoundUWP/Package.appxmanifest | 4 +- .../SimplePlaySound.vcxproj | 4 +- .../SimpleWASAPICaptureUWP}/Assets/Logo.png | Bin .../Assets/SmallLogo.png | Bin .../Assets/SplashScreen.png | Bin .../Assets/StoreLogo.png | Bin .../Assets/WideLogo.png | Bin .../Audio/SimpleWASAPICaptureUWP/CBuffer.cpp | 193 ++ .../Audio/SimpleWASAPICaptureUWP/CBuffer.h | 43 + Samples/Audio/SimpleWASAPICaptureUWP/Common.h | 172 ++ .../DeviceResources.cpp | 57 +- .../SimpleWASAPICaptureUWP}/DeviceResources.h | 0 .../SimpleWASAPICaptureUWP/DeviceState.h | 86 + Samples/Audio/SimpleWASAPICaptureUWP/Main.cpp | 357 +++ .../Package.appxmanifest | 29 + .../Audio/SimpleWASAPICaptureUWP/Readme.docx | Bin 0 -> 75721 bytes .../SimpleWASAPICaptureUWP.cpp | 442 +++ .../SimpleWASAPICaptureUWP.h | 84 + .../SimpleWASAPICaptureUWP.sln | 54 + .../SimpleWASAPICaptureUWP.vcxproj | 275 ++ .../SimpleWASAPICaptureUWP.vcxproj.filters | 71 + .../SimpleWASAPICaptureUWP_TemporaryKey.pfx | Bin 0 -> 2452 bytes .../SimpleWASAPICaptureUWP}/StepTimer.h | 0 .../SimpleWASAPICaptureUWP/WASAPICapture.cpp | 356 +++ .../SimpleWASAPICaptureUWP/WASAPICapture.h | 69 + .../SimpleWASAPICaptureUWP/WASAPIRenderer.cpp | 423 +++ .../SimpleWASAPICaptureUWP/WASAPIRenderer.h | 67 + .../SimpleWASAPICaptureUWP}/pch.cpp | 0 Samples/Audio/SimpleWASAPICaptureUWP/pch.h | 69 + .../SimpleWASAPIPlaySoundUWP}/Assets/Logo.png | Bin .../Assets/SmallLogo.png | Bin .../Assets/SplashScreen.png | Bin .../Assets/StoreLogo.png | Bin .../Assets/WideLogo.png | Bin .../DeviceResources.cpp | 57 +- .../DeviceResources.h | 0 .../SimpleWASAPIPlaySoundUWP/DeviceState.h | 86 + .../Audio/SimpleWASAPIPlaySoundUWP/Main.cpp | 357 +++ .../Package.appxmanifest | 28 + .../SimpleWASAPIPlaySoundUWP/Readme.docx | Bin 0 -> 705030 bytes .../SimplePlaySound_TemporaryKey.pfx | Bin 0 -> 2452 bytes .../SimpleWASAPIPlaySound.cpp | 277 ++ .../SimpleWASAPIPlaySound.h | 77 + .../SimpleWASAPIPlaySound.sln | 54 + .../SimpleWASAPIPlaySound.vcxproj | 269 ++ .../SimpleWASAPIPlaySound.vcxproj.filters | 90 + .../SimpleWASAPIPlaySoundUWP}/StepTimer.h | 0 .../ToneSampleGenerator.cpp | 177 ++ .../ToneSampleGenerator.h | 37 + .../WASAPIManager.cpp | 242 ++ .../SimpleWASAPIPlaySoundUWP/WASAPIManager.h | 67 + .../WASAPIRenderer.cpp | 634 +++++ .../SimpleWASAPIPlaySoundUWP/WASAPIRenderer.h | 93 + .../Audio/SimpleWASAPIPlaySoundUWP/common.h | 163 ++ .../SimpleWASAPIPlaySoundUWP}/pch.cpp | 0 Samples/Audio/SimpleWASAPIPlaySoundUWP/pch.h | 78 + .../DirectXTKSimpleSampleUWP}/Assets/Logo.png | Bin .../Assets/SmallLogo.png | Bin .../Assets/SplashScreen.png | Bin .../Assets/StoreLogo.png | Bin .../Assets/WideLogo.png | Bin .../Assets/seafloor.dds | Bin .../Assets/windowslogo.dds | Bin .../DeviceResources.cpp | 592 ++++ .../DeviceResources.h | 83 + .../DirectXTKSimpleSample.cpp | 0 .../DirectXTKSimpleSample.h | 0 .../DirectXTKSimpleSample.sln | 0 .../DirectXTKSimpleSample.vcxproj | 7 +- .../DirectXTKSimpleSample.vcxproj.filters | 0 .../DirectXTKSimpleSample_TemporaryKey.pfx | Bin .../DirectXTKSimpleSampleUWP/Main.cpp | 0 .../Package.appxmanifest | 4 +- .../DirectXTKSimpleSampleUWP/Readme.docx | Bin .../DirectXTKSimpleSampleUWP}/StepTimer.h | 0 .../DirectXTKSimpleSampleUWP}/pch.cpp | 0 .../DirectXTKSimpleSampleUWP/pch.h | 0 .../SimpleBezierUWP/Assets/BezierDS.hlsl | 1 + .../Assets/BezierHS_fracEven.hlsl | 1 + .../Assets/BezierHS_fracOdd.hlsl | 1 + .../SimpleBezierUWP/Assets/BezierHS_int.hlsl | 1 + .../SimpleBezierUWP/Assets/BezierPS.hlsl | 1 + .../SimpleBezierUWP/Assets/BezierVS.hlsl | 1 + .../SimpleBezierUWP}/Assets/Logo.png | Bin .../SimpleBezierUWP/Assets/SimpleBezier.hlsli | 229 ++ .../SimpleBezierUWP}/Assets/SmallLogo.png | Bin .../SimpleBezierUWP/Assets/SolidColorPS.hlsl | 1 + .../SimpleBezierUWP}/Assets/SplashScreen.png | Bin .../SimpleBezierUWP}/Assets/StoreLogo.png | Bin .../SimpleBezierUWP}/Assets/WideLogo.png | Bin .../SimpleBezierUWP/DeviceResources.cpp | 592 ++++ .../SimpleBezierUWP/DeviceResources.h | 83 + .../IntroGraphics/SimpleBezierUWP/Main.cpp | 357 +++ .../SimpleBezierUWP/Package.appxmanifest | 49 + .../IntroGraphics/SimpleBezierUWP/Readme.docx | Bin 0 -> 78499 bytes .../SimpleBezierUWP/SimpleBezier.cpp | 574 ++++ .../SimpleBezierUWP/SimpleBezier.h | 113 + .../SimpleBezierUWP/SimpleBezier.sln | 54 + .../SimpleBezierUWP/SimpleBezier.vcxproj | 479 ++++ .../SimpleBezier.vcxproj.filters | 116 + .../SimpleBezier_TemporaryKey.pfx | Bin 0 -> 2458 bytes .../SimpleBezierUWP}/StepTimer.h | 0 .../SimpleBezierUWP}/pch.cpp | 0 Samples/IntroGraphics/SimpleBezierUWP/pch.h | 65 + .../SimpleInstancingUWP/Assets/Logo.png | Bin 0 -> 39826 bytes .../SimpleInstancingUWP/Assets/SmallLogo.png | Bin 0 -> 23704 bytes .../Assets/SplashScreen.png | Bin 0 -> 26474 bytes .../SimpleInstancingUWP/Assets/StoreLogo.png | Bin 0 -> 24268 bytes .../SimpleInstancingUWP/Assets/WideLogo.png | Bin 0 -> 46540 bytes .../SimpleInstancingUWP/DeviceResources.cpp | 592 ++++ .../SimpleInstancingUWP/DeviceResources.h | 83 + .../SimpleInstancingUWP/Main.cpp | 357 +++ .../SimpleInstancingUWP/Package.appxmanifest | 49 + .../SimpleInstancingUWP/PixelShader.hlsl | 2 + .../SimpleInstancingUWP/Readme.docx | Bin 0 -> 377916 bytes .../SimpleInstancingUWP/Shared.h | 10 + .../SimpleInstancingUWP/SimpleInstancing.cpp | 705 +++++ .../SimpleInstancingUWP/SimpleInstancing.h | 123 + .../SimpleInstancing.hlsli | 119 + .../SimpleInstancingUWP/SimpleInstancing.sln | 54 + .../SimpleInstancing.vcxproj | 321 +++ .../SimpleInstancing.vcxproj.filters | 89 + .../SimpleInstancing_TemporaryKey.pfx | Bin 0 -> 2450 bytes .../SimpleInstancingUWP/StepTimer.h | 188 ++ .../SimpleInstancingUWP/VertexShader.hlsl | 2 + .../IntroGraphics/SimpleInstancingUWP/pch.cpp | 10 + .../IntroGraphics/SimpleInstancingUWP/pch.h | 69 + .../SimpleLightingUWP/Assets/Logo.png | Bin 0 -> 39826 bytes .../SimpleLightingUWP/Assets/SmallLogo.png | Bin 0 -> 23704 bytes .../SimpleLightingUWP/Assets/SplashScreen.png | Bin 0 -> 26474 bytes .../SimpleLightingUWP/Assets/StoreLogo.png | Bin 0 -> 24268 bytes .../SimpleLightingUWP/Assets/WideLogo.png | Bin 0 -> 46540 bytes .../SimpleLightingUWP/DeviceResources.cpp | 592 ++++ .../SimpleLightingUWP/DeviceResources.h | 83 + .../SimpleLightingUWP/LambertPS.hlsl | 2 + .../IntroGraphics/SimpleLightingUWP/Main.cpp | 357 +++ .../SimpleLightingUWP/Package.appxmanifest | 49 + .../SimpleLightingUWP/Readme.docx | Bin 0 -> 78864 bytes .../SimpleLightingUWP/SimpleLighting.hlsli | 80 + .../SimpleLightingUWP/SimpleLightingUWP.cpp | 465 +++ .../SimpleLightingUWP/SimpleLightingUWP.h | 87 + .../SimpleLightingUWP/SimpleLightingUWP.sln | 54 + .../SimpleLightingUWP.vcxproj | 307 ++ .../SimpleLightingUWP.vcxproj.filters | 80 + .../SimpleLightingUWP_TemporaryKey.pfx | Bin 0 -> 2456 bytes .../SimpleLightingUWP/SolidColorPS.hlsl | 2 + .../SimpleLightingUWP/StepTimer.h | 188 ++ .../SimpleLightingUWP/TriangleVS.hlsl | 2 + .../IntroGraphics/SimpleLightingUWP/pch.cpp | 10 + Samples/IntroGraphics/SimpleLightingUWP/pch.h | 65 + .../SimpleTextureUWP/Assets/Logo.png | Bin 0 -> 39826 bytes .../SimpleTextureUWP/Assets/SmallLogo.png | Bin 0 -> 23704 bytes .../SimpleTextureUWP/Assets/SplashScreen.png | Bin 0 -> 26474 bytes .../SimpleTextureUWP/Assets/StoreLogo.png | Bin 0 -> 24268 bytes .../SimpleTextureUWP/Assets/WideLogo.png | Bin 0 -> 46540 bytes .../SimpleTextureUWP/DeviceResources.cpp | 592 ++++ .../SimpleTextureUWP/DeviceResources.h | 83 + .../SimpleTextureUWP/Main.cpp | 0 .../SimpleTextureUWP/Package.appxmanifest | 4 +- .../SimpleTextureUWP/PixelShader.hlsl | 0 .../SimpleTextureUWP/Readme.docx | Bin .../SimpleTextureUWP/SimpleTextureUWP.cpp | 0 .../SimpleTextureUWP/SimpleTextureUWP.h | 0 .../SimpleTextureUWP/SimpleTextureUWP.sln | 0 .../SimpleTextureUWP/SimpleTextureUWP.vcxproj | 4 +- .../SimpleTextureUWP.vcxproj.filters | 0 .../SimpleTextureUWP_TemporaryKey.pfx | Bin .../SimpleTextureUWP/StepTimer.h | 188 ++ .../SimpleTextureUWP/VertexShader.hlsl | 0 .../IntroGraphics/SimpleTextureUWP/pch.cpp | 10 + .../SimpleTextureUWP/pch.h | 0 .../SimpleTextureUWP12/Assets/Logo.png | Bin 0 -> 39826 bytes .../SimpleTextureUWP12/Assets/SmallLogo.png | Bin 0 -> 23704 bytes .../Assets/SplashScreen.png | Bin 0 -> 26474 bytes .../SimpleTextureUWP12/Assets/StoreLogo.png | Bin 0 -> 24268 bytes .../SimpleTextureUWP12/Assets/WideLogo.png | Bin 0 -> 46540 bytes .../SimpleTextureUWP12}/DeviceResources.cpp | 102 +- .../SimpleTextureUWP12/DeviceResources.h | 0 .../SimpleTextureUWP12/Main.cpp | 0 .../SimpleTextureUWP12/Package.appxmanifest | 4 +- .../SimpleTextureUWP12/PixelShader.hlsl | 0 .../SimpleTextureUWP12/Readme.docx | Bin .../SimpleTextureUWP12/SimpleTextureUWP12.cpp | 0 .../SimpleTextureUWP12/SimpleTextureUWP12.h | 0 .../SimpleTextureUWP12/SimpleTextureUWP12.sln | 0 .../SimpleTextureUWP12.vcxproj | 4 +- .../SimpleTextureUWP12.vcxproj.filters | 0 .../SimpleTextureUWP12_TemporaryKey.pfx | Bin .../SimpleTextureUWP12/StepTimer.h | 188 ++ .../SimpleTextureUWP12/VertexShader.hlsl | 0 .../SimpleTextureUWP12/d3dx12.h | 0 .../IntroGraphics/SimpleTextureUWP12/pch.cpp | 10 + .../SimpleTextureUWP12/pch.h | 0 .../SimpleTriangleUWP/Assets/Logo.png | Bin 0 -> 39826 bytes .../SimpleTriangleUWP/Assets/SmallLogo.png | Bin 0 -> 23704 bytes .../SimpleTriangleUWP/Assets/SplashScreen.png | Bin 0 -> 26474 bytes .../SimpleTriangleUWP/Assets/StoreLogo.png | Bin 0 -> 24268 bytes .../SimpleTriangleUWP/Assets/WideLogo.png | Bin 0 -> 46540 bytes .../SimpleTriangleUWP/DeviceResources.cpp | 592 ++++ .../SimpleTriangleUWP/DeviceResources.h | 83 + .../SimpleTriangleUWP/Main.cpp | 0 .../SimpleTriangleUWP/Package.appxmanifest | 4 +- .../SimpleTriangleUWP/PixelShader.hlsl | 0 .../SimpleTriangleUWP/Readme.docx | Bin .../SimpleTriangleUWP/SimpleTriangleUWP.cpp | 0 .../SimpleTriangleUWP/SimpleTriangleUWP.h | 0 .../SimpleTriangleUWP/SimpleTriangleUWP.sln | 0 .../SimpleTriangleUWP.vcxproj | 4 +- .../SimpleTriangleUWP.vcxproj.filters | 0 .../SimpleTriangleUWP_TemporaryKey.pfx | Bin .../SimpleTriangleUWP/StepTimer.h | 188 ++ .../SimpleTriangleUWP/VertexShader.hlsl | 0 .../IntroGraphics/SimpleTriangleUWP/pch.cpp | 10 + .../SimpleTriangleUWP/pch.h | 0 .../SimpleTriangleUWP12/Assets/Logo.png | Bin 0 -> 39826 bytes .../SimpleTriangleUWP12/Assets/SmallLogo.png | Bin 0 -> 23704 bytes .../Assets/SplashScreen.png | Bin 0 -> 26474 bytes .../SimpleTriangleUWP12/Assets/StoreLogo.png | Bin 0 -> 24268 bytes .../SimpleTriangleUWP12/Assets/WideLogo.png | Bin 0 -> 46540 bytes .../SimpleTriangleUWP12}/DeviceResources.cpp | 102 +- .../SimpleTriangleUWP12/DeviceResources.h | 0 .../SimpleTriangleUWP12/Main.cpp | 0 .../SimpleTriangleUWP12/Package.appxmanifest | 4 +- .../SimpleTriangleUWP12/PixelShader.hlsl | 0 .../SimpleTriangleUWP12/Readme.docx | Bin .../SimpleTriangleUWP12.cpp | 0 .../SimpleTriangleUWP12/SimpleTriangleUWP12.h | 0 .../SimpleTriangleUWP12.sln | 0 .../SimpleTriangleUWP12.vcxproj | 4 +- .../SimpleTriangleUWP12.vcxproj.filters | 0 .../SimpleTriangleUWP12_TemporaryKey.pfx | Bin .../SimpleTriangleUWP12/StepTimer.h | 188 ++ .../SimpleTriangleUWP12/VertexShader.hlsl | 0 .../SimpleTriangleUWP12/d3dx12.h | 0 .../IntroGraphics/SimpleTriangleUWP12/pch.cpp | 10 + .../SimpleTriangleUWP12/pch.h | 0 Samples/System/CPUSets/CPUSets.cpp | 75 +- Samples/System/CPUSets/CPUSets.h | 2 +- Samples/System/CPUSets/CPUSets.vcxproj | 7 +- Samples/System/CPUSets/DeviceResources.cpp | 5 +- Samples/System/CPUSets/Package.appxmanifest | 4 +- Samples/System/CollisionUWP/Assets/Logo.png | Bin 0 -> 39826 bytes .../System/CollisionUWP/Assets/SmallLogo.png | Bin 0 -> 23704 bytes .../CollisionUWP/Assets/SplashScreen.png | Bin 0 -> 26474 bytes .../System/CollisionUWP/Assets/StoreLogo.png | Bin 0 -> 24268 bytes .../System/CollisionUWP/Assets/WideLogo.png | Bin 0 -> 46540 bytes Samples/System/CollisionUWP/Collision.cpp | 720 +++++ Samples/System/CollisionUWP/Collision.h | 154 + Samples/System/CollisionUWP/Collision.sln | 54 + Samples/System/CollisionUWP/Collision.vcxproj | 292 ++ .../CollisionUWP/Collision.vcxproj.filters | 96 + .../CollisionUWP/Collision_TemporaryKey.pfx | Bin 0 -> 2452 bytes .../System/CollisionUWP/DeviceResources.cpp | 592 ++++ Samples/System/CollisionUWP/DeviceResources.h | 83 + Samples/System/CollisionUWP/Main.cpp | 357 +++ .../System/CollisionUWP/Package.appxmanifest | 49 + Samples/System/CollisionUWP/Readme.docx | Bin 0 -> 101864 bytes Samples/System/CollisionUWP/StepTimer.h | 188 ++ Samples/System/CollisionUWP/pch.cpp | 10 + Samples/System/CollisionUWP/pch.h | 76 + Samples/System/GamepadUWP/DeviceResources.cpp | 5 +- Samples/System/GamepadUWP/GamepadUWP.cpp | 1 + Samples/System/GamepadUWP/GamepadUWP.vcxproj | 4 +- .../System/GamepadUWP/Package.appxmanifest | 4 +- .../GamepadVibrationUWP/DeviceResources.cpp | 5 +- .../GamepadVibrationUWP.cpp | 1 + .../GamepadVibrationUWP.vcxproj | 4 +- .../GamepadVibrationUWP/Package.appxmanifest | 4 +- .../MemoryStatisticsUWP/DeviceResources.cpp | 7 +- .../MemoryStatisticsUWP/MemoryStatistics.cpp | 19 +- .../MemoryStatistics.vcxproj | 4 +- .../MemoryStatisticsUWP/Package.appxmanifest | 4 +- .../System/MouseCursor/DeviceResources.cpp | 57 +- .../System/MouseCursor/MouseCursor.vcxproj | 5 +- .../System/MouseCursor/Package.appxmanifest | 4 +- .../Assets/Images/de-DE/Image.dds | Bin 0 -> 2654292 bytes .../Assets/Images/en-GB/Image.dds | Bin 0 -> 2654292 bytes .../Assets/Images/en-US/Image.dds | Bin 0 -> 2654292 bytes .../Assets/Images/en/Image.dds | Bin 0 -> 2654292 bytes .../Assets/Images/fr-FR/Image.dds | Bin 0 -> 2654292 bytes .../Assets/Images/fr/Image.dds | Bin 0 -> 2654292 bytes .../Assets/Images/ja-JP/Image.dds | Bin 0 -> 2654292 bytes .../NLSAndLocalizationUWP/Assets/Logo.png | Bin 0 -> 39826 bytes .../Assets/Resources/de-DE.resources | Bin 0 -> 602 bytes .../Assets/Resources/en-GB.resources | Bin 0 -> 580 bytes .../Assets/Resources/en-US.resources | Bin 0 -> 580 bytes .../Assets/Resources/en.resources | Bin 0 -> 556 bytes .../Assets/Resources/fr-FR.resources | Bin 0 -> 588 bytes .../Assets/Resources/fr.resources | Bin 0 -> 570 bytes .../Assets/Resources/ja-JP.resources | Bin 0 -> 514 bytes .../Assets/SmallLogo.png | Bin 0 -> 23704 bytes .../Assets/SplashScreen.png | Bin 0 -> 26474 bytes .../Assets/StoreLogo.png | Bin 0 -> 24268 bytes .../NLSAndLocalizationUWP/Assets/WideLogo.png | Bin 0 -> 46540 bytes .../NLSAndLocalizationUWP/DeviceResources.cpp | 592 ++++ .../NLSAndLocalizationUWP/DeviceResources.h | 83 + Samples/System/NLSAndLocalizationUWP/Main.cpp | 357 +++ .../NLSAndLocalizationUWP.cpp | 395 +++ .../NLSAndLocalizationUWP.h | 78 + .../NLSAndLocalizationUWP.sln | 54 + .../NLSAndLocalizationUWP.vcxproj | 347 +++ .../NLSAndLocalizationUWP.vcxproj.filters | 160 ++ .../NLSAndLocalizationUWP_TemporaryKey.pfx | Bin 0 -> 2456 bytes .../Package.appxmanifest | 35 + .../System/NLSAndLocalizationUWP/Readme.docx | Bin 0 -> 214103 bytes .../NLSAndLocalizationUWP/ResourceParser.cpp | 205 ++ .../NLSAndLocalizationUWP/ResourceParser.h | 38 + .../System/NLSAndLocalizationUWP/StepTimer.h | 188 ++ .../de-DE/Resources.resw | 128 + .../en-GB/Resources.resw | 128 + .../en-US/Resources.resw | 128 + .../NLSAndLocalizationUWP/en/Resources.resw | 128 + .../fr-FR/Resources.resw | 128 + .../NLSAndLocalizationUWP/fr/Resources.resw | 128 + .../ja-JP/Resources.resw | 128 + Samples/System/NLSAndLocalizationUWP/pch.cpp | 10 + Samples/System/NLSAndLocalizationUWP/pch.h | 71 + .../System/SimplePLM_UWP/DeviceResources.cpp | 7 +- .../System/SimplePLM_UWP/Package.appxmanifest | 4 +- Samples/System/SimplePLM_UWP/SimplePLM.cpp | 2 + .../System/SimplePLM_UWP/SimplePLM.vcxproj | 4 +- .../System/SystemInfoUWP/DeviceResources.cpp | 5 +- .../System/SystemInfoUWP/Package.appxmanifest | 4 +- .../System/SystemInfoUWP/SystemInfo.vcxproj | 4 +- .../errorlookup/Package.appxmanifest | 4 +- .../errorlookup/errorlookup.csproj | 4 +- 481 files changed, 62656 insertions(+), 18080 deletions(-) create mode 100644 Kits/ATGTK/ControllerHelp.cpp create mode 100644 Kits/ATGTK/ControllerHelp.h create mode 100644 Kits/ATGTK/DebugDraw.cpp create mode 100644 Kits/ATGTK/DebugDraw.h create mode 100644 Kits/ATGTK/OrbitCamera.cpp create mode 100644 Kits/ATGTK/OrbitCamera.h create mode 100644 Media/Sounds/ATG_SpatialMotion_monoFunkDrums1Loop.wav create mode 100644 Media/Textures/callout_circle.dds create mode 100644 Media/Textures/circle.dds rename Samples/{Graphics/DirectXTKSimpleSampleUWP => Audio/SimplePlay3DSoundUWP}/Assets/Logo.png (100%) rename Samples/{Graphics/DirectXTKSimpleSampleUWP => Audio/SimplePlay3DSoundUWP}/Assets/SmallLogo.png (100%) rename Samples/{Graphics/DirectXTKSimpleSampleUWP => Audio/SimplePlay3DSoundUWP}/Assets/SplashScreen.png (100%) rename Samples/{Graphics/DirectXTKSimpleSampleUWP => Audio/SimplePlay3DSoundUWP}/Assets/StoreLogo.png (100%) rename Samples/{Graphics/DirectXTKSimpleSampleUWP => Audio/SimplePlay3DSoundUWP}/Assets/WideLogo.png (100%) rename Samples/{Graphics/DirectXTKSimpleSampleUWP => Audio/SimplePlay3DSoundUWP}/DeviceResources.cpp (91%) rename Samples/{Graphics/DirectXTKSimpleSampleUWP => Audio/SimplePlay3DSoundUWP}/DeviceResources.h (100%) create mode 100644 Samples/Audio/SimplePlay3DSoundUWP/Main.cpp create mode 100644 Samples/Audio/SimplePlay3DSoundUWP/Package.appxmanifest create mode 100644 Samples/Audio/SimplePlay3DSoundUWP/Readme.docx create mode 100644 Samples/Audio/SimplePlay3DSoundUWP/SimplePlay3DSound.cpp create mode 100644 Samples/Audio/SimplePlay3DSoundUWP/SimplePlay3DSound.h create mode 100644 Samples/Audio/SimplePlay3DSoundUWP/SimplePlay3DSound.sln create mode 100644 Samples/Audio/SimplePlay3DSoundUWP/SimplePlay3DSound.vcxproj create mode 100644 Samples/Audio/SimplePlay3DSoundUWP/SimplePlay3DSound.vcxproj.filters create mode 100644 Samples/Audio/SimplePlay3DSoundUWP/SimplePlay3DSound_TemporaryKey.pfx rename Samples/{Graphics/DirectXTKSimpleSampleUWP => Audio/SimplePlay3DSoundUWP}/StepTimer.h (100%) rename Samples/{Graphics/DirectXTKSimpleSampleUWP => Audio/SimplePlay3DSoundUWP}/pch.cpp (100%) create mode 100644 Samples/Audio/SimplePlay3DSoundUWP/pch.h rename Samples/{Graphics/SimpleTextureUWP => Audio/SimpleWASAPICaptureUWP}/Assets/Logo.png (100%) rename Samples/{Graphics/SimpleTextureUWP => Audio/SimpleWASAPICaptureUWP}/Assets/SmallLogo.png (100%) rename Samples/{Graphics/SimpleTextureUWP => Audio/SimpleWASAPICaptureUWP}/Assets/SplashScreen.png (100%) rename Samples/{Graphics/SimpleTextureUWP => Audio/SimpleWASAPICaptureUWP}/Assets/StoreLogo.png (100%) rename Samples/{Graphics/SimpleTextureUWP => Audio/SimpleWASAPICaptureUWP}/Assets/WideLogo.png (100%) create mode 100644 Samples/Audio/SimpleWASAPICaptureUWP/CBuffer.cpp create mode 100644 Samples/Audio/SimpleWASAPICaptureUWP/CBuffer.h create mode 100644 Samples/Audio/SimpleWASAPICaptureUWP/Common.h rename Samples/{Graphics/SimpleTextureUWP => Audio/SimpleWASAPICaptureUWP}/DeviceResources.cpp (91%) rename Samples/{Graphics/SimpleTextureUWP => Audio/SimpleWASAPICaptureUWP}/DeviceResources.h (100%) create mode 100644 Samples/Audio/SimpleWASAPICaptureUWP/DeviceState.h create mode 100644 Samples/Audio/SimpleWASAPICaptureUWP/Main.cpp create mode 100644 Samples/Audio/SimpleWASAPICaptureUWP/Package.appxmanifest create mode 100644 Samples/Audio/SimpleWASAPICaptureUWP/Readme.docx create mode 100644 Samples/Audio/SimpleWASAPICaptureUWP/SimpleWASAPICaptureUWP.cpp create mode 100644 Samples/Audio/SimpleWASAPICaptureUWP/SimpleWASAPICaptureUWP.h create mode 100644 Samples/Audio/SimpleWASAPICaptureUWP/SimpleWASAPICaptureUWP.sln create mode 100644 Samples/Audio/SimpleWASAPICaptureUWP/SimpleWASAPICaptureUWP.vcxproj create mode 100644 Samples/Audio/SimpleWASAPICaptureUWP/SimpleWASAPICaptureUWP.vcxproj.filters create mode 100644 Samples/Audio/SimpleWASAPICaptureUWP/SimpleWASAPICaptureUWP_TemporaryKey.pfx rename Samples/{Graphics/SimpleTextureUWP => Audio/SimpleWASAPICaptureUWP}/StepTimer.h (100%) create mode 100644 Samples/Audio/SimpleWASAPICaptureUWP/WASAPICapture.cpp create mode 100644 Samples/Audio/SimpleWASAPICaptureUWP/WASAPICapture.h create mode 100644 Samples/Audio/SimpleWASAPICaptureUWP/WASAPIRenderer.cpp create mode 100644 Samples/Audio/SimpleWASAPICaptureUWP/WASAPIRenderer.h rename Samples/{Graphics/SimpleTextureUWP => Audio/SimpleWASAPICaptureUWP}/pch.cpp (100%) create mode 100644 Samples/Audio/SimpleWASAPICaptureUWP/pch.h rename Samples/{Graphics/SimpleTextureUWP12 => Audio/SimpleWASAPIPlaySoundUWP}/Assets/Logo.png (100%) rename Samples/{Graphics/SimpleTextureUWP12 => Audio/SimpleWASAPIPlaySoundUWP}/Assets/SmallLogo.png (100%) rename Samples/{Graphics/SimpleTextureUWP12 => Audio/SimpleWASAPIPlaySoundUWP}/Assets/SplashScreen.png (100%) rename Samples/{Graphics/SimpleTextureUWP12 => Audio/SimpleWASAPIPlaySoundUWP}/Assets/StoreLogo.png (100%) rename Samples/{Graphics/SimpleTextureUWP12 => Audio/SimpleWASAPIPlaySoundUWP}/Assets/WideLogo.png (100%) rename Samples/{Graphics/SimpleTriangleUWP => Audio/SimpleWASAPIPlaySoundUWP}/DeviceResources.cpp (91%) rename Samples/{Graphics/SimpleTriangleUWP => Audio/SimpleWASAPIPlaySoundUWP}/DeviceResources.h (100%) create mode 100644 Samples/Audio/SimpleWASAPIPlaySoundUWP/DeviceState.h create mode 100644 Samples/Audio/SimpleWASAPIPlaySoundUWP/Main.cpp create mode 100644 Samples/Audio/SimpleWASAPIPlaySoundUWP/Package.appxmanifest create mode 100644 Samples/Audio/SimpleWASAPIPlaySoundUWP/Readme.docx create mode 100644 Samples/Audio/SimpleWASAPIPlaySoundUWP/SimplePlaySound_TemporaryKey.pfx create mode 100644 Samples/Audio/SimpleWASAPIPlaySoundUWP/SimpleWASAPIPlaySound.cpp create mode 100644 Samples/Audio/SimpleWASAPIPlaySoundUWP/SimpleWASAPIPlaySound.h create mode 100644 Samples/Audio/SimpleWASAPIPlaySoundUWP/SimpleWASAPIPlaySound.sln create mode 100644 Samples/Audio/SimpleWASAPIPlaySoundUWP/SimpleWASAPIPlaySound.vcxproj create mode 100644 Samples/Audio/SimpleWASAPIPlaySoundUWP/SimpleWASAPIPlaySound.vcxproj.filters rename Samples/{Graphics/SimpleTextureUWP12 => Audio/SimpleWASAPIPlaySoundUWP}/StepTimer.h (100%) create mode 100644 Samples/Audio/SimpleWASAPIPlaySoundUWP/ToneSampleGenerator.cpp create mode 100644 Samples/Audio/SimpleWASAPIPlaySoundUWP/ToneSampleGenerator.h create mode 100644 Samples/Audio/SimpleWASAPIPlaySoundUWP/WASAPIManager.cpp create mode 100644 Samples/Audio/SimpleWASAPIPlaySoundUWP/WASAPIManager.h create mode 100644 Samples/Audio/SimpleWASAPIPlaySoundUWP/WASAPIRenderer.cpp create mode 100644 Samples/Audio/SimpleWASAPIPlaySoundUWP/WASAPIRenderer.h create mode 100644 Samples/Audio/SimpleWASAPIPlaySoundUWP/common.h rename Samples/{Graphics/SimpleTextureUWP12 => Audio/SimpleWASAPIPlaySoundUWP}/pch.cpp (100%) create mode 100644 Samples/Audio/SimpleWASAPIPlaySoundUWP/pch.h rename Samples/{Graphics/SimpleTriangleUWP => IntroGraphics/DirectXTKSimpleSampleUWP}/Assets/Logo.png (100%) rename Samples/{Graphics/SimpleTriangleUWP => IntroGraphics/DirectXTKSimpleSampleUWP}/Assets/SmallLogo.png (100%) rename Samples/{Graphics/SimpleTriangleUWP => IntroGraphics/DirectXTKSimpleSampleUWP}/Assets/SplashScreen.png (100%) rename Samples/{Graphics/SimpleTriangleUWP => IntroGraphics/DirectXTKSimpleSampleUWP}/Assets/StoreLogo.png (100%) rename Samples/{Graphics/SimpleTriangleUWP => IntroGraphics/DirectXTKSimpleSampleUWP}/Assets/WideLogo.png (100%) rename Samples/{Graphics => IntroGraphics}/DirectXTKSimpleSampleUWP/Assets/seafloor.dds (100%) rename Samples/{Graphics => IntroGraphics}/DirectXTKSimpleSampleUWP/Assets/windowslogo.dds (100%) create mode 100644 Samples/IntroGraphics/DirectXTKSimpleSampleUWP/DeviceResources.cpp create mode 100644 Samples/IntroGraphics/DirectXTKSimpleSampleUWP/DeviceResources.h rename Samples/{Graphics => IntroGraphics}/DirectXTKSimpleSampleUWP/DirectXTKSimpleSample.cpp (100%) rename Samples/{Graphics => IntroGraphics}/DirectXTKSimpleSampleUWP/DirectXTKSimpleSample.h (100%) rename Samples/{Graphics => IntroGraphics}/DirectXTKSimpleSampleUWP/DirectXTKSimpleSample.sln (100%) rename Samples/{Graphics => IntroGraphics}/DirectXTKSimpleSampleUWP/DirectXTKSimpleSample.vcxproj (97%) rename Samples/{Graphics => IntroGraphics}/DirectXTKSimpleSampleUWP/DirectXTKSimpleSample.vcxproj.filters (100%) rename Samples/{Graphics => IntroGraphics}/DirectXTKSimpleSampleUWP/DirectXTKSimpleSample_TemporaryKey.pfx (100%) rename Samples/{Graphics => IntroGraphics}/DirectXTKSimpleSampleUWP/Main.cpp (100%) rename Samples/{Graphics => IntroGraphics}/DirectXTKSimpleSampleUWP/Package.appxmanifest (90%) rename Samples/{Graphics => IntroGraphics}/DirectXTKSimpleSampleUWP/Readme.docx (100%) rename Samples/{Graphics/SimpleTriangleUWP => IntroGraphics/DirectXTKSimpleSampleUWP}/StepTimer.h (100%) rename Samples/{Graphics/SimpleTriangleUWP => IntroGraphics/DirectXTKSimpleSampleUWP}/pch.cpp (100%) rename Samples/{Graphics => IntroGraphics}/DirectXTKSimpleSampleUWP/pch.h (100%) create mode 100644 Samples/IntroGraphics/SimpleBezierUWP/Assets/BezierDS.hlsl create mode 100644 Samples/IntroGraphics/SimpleBezierUWP/Assets/BezierHS_fracEven.hlsl create mode 100644 Samples/IntroGraphics/SimpleBezierUWP/Assets/BezierHS_fracOdd.hlsl create mode 100644 Samples/IntroGraphics/SimpleBezierUWP/Assets/BezierHS_int.hlsl create mode 100644 Samples/IntroGraphics/SimpleBezierUWP/Assets/BezierPS.hlsl create mode 100644 Samples/IntroGraphics/SimpleBezierUWP/Assets/BezierVS.hlsl rename Samples/{Graphics/SimpleTriangleUWP12 => IntroGraphics/SimpleBezierUWP}/Assets/Logo.png (100%) create mode 100644 Samples/IntroGraphics/SimpleBezierUWP/Assets/SimpleBezier.hlsli rename Samples/{Graphics/SimpleTriangleUWP12 => IntroGraphics/SimpleBezierUWP}/Assets/SmallLogo.png (100%) create mode 100644 Samples/IntroGraphics/SimpleBezierUWP/Assets/SolidColorPS.hlsl rename Samples/{Graphics/SimpleTriangleUWP12 => IntroGraphics/SimpleBezierUWP}/Assets/SplashScreen.png (100%) rename Samples/{Graphics/SimpleTriangleUWP12 => IntroGraphics/SimpleBezierUWP}/Assets/StoreLogo.png (100%) rename Samples/{Graphics/SimpleTriangleUWP12 => IntroGraphics/SimpleBezierUWP}/Assets/WideLogo.png (100%) create mode 100644 Samples/IntroGraphics/SimpleBezierUWP/DeviceResources.cpp create mode 100644 Samples/IntroGraphics/SimpleBezierUWP/DeviceResources.h create mode 100644 Samples/IntroGraphics/SimpleBezierUWP/Main.cpp create mode 100644 Samples/IntroGraphics/SimpleBezierUWP/Package.appxmanifest create mode 100644 Samples/IntroGraphics/SimpleBezierUWP/Readme.docx create mode 100644 Samples/IntroGraphics/SimpleBezierUWP/SimpleBezier.cpp create mode 100644 Samples/IntroGraphics/SimpleBezierUWP/SimpleBezier.h create mode 100644 Samples/IntroGraphics/SimpleBezierUWP/SimpleBezier.sln create mode 100644 Samples/IntroGraphics/SimpleBezierUWP/SimpleBezier.vcxproj create mode 100644 Samples/IntroGraphics/SimpleBezierUWP/SimpleBezier.vcxproj.filters create mode 100644 Samples/IntroGraphics/SimpleBezierUWP/SimpleBezier_TemporaryKey.pfx rename Samples/{Graphics/SimpleTriangleUWP12 => IntroGraphics/SimpleBezierUWP}/StepTimer.h (100%) rename Samples/{Graphics/SimpleTriangleUWP12 => IntroGraphics/SimpleBezierUWP}/pch.cpp (100%) create mode 100644 Samples/IntroGraphics/SimpleBezierUWP/pch.h create mode 100644 Samples/IntroGraphics/SimpleInstancingUWP/Assets/Logo.png create mode 100644 Samples/IntroGraphics/SimpleInstancingUWP/Assets/SmallLogo.png create mode 100644 Samples/IntroGraphics/SimpleInstancingUWP/Assets/SplashScreen.png create mode 100644 Samples/IntroGraphics/SimpleInstancingUWP/Assets/StoreLogo.png create mode 100644 Samples/IntroGraphics/SimpleInstancingUWP/Assets/WideLogo.png create mode 100644 Samples/IntroGraphics/SimpleInstancingUWP/DeviceResources.cpp create mode 100644 Samples/IntroGraphics/SimpleInstancingUWP/DeviceResources.h create mode 100644 Samples/IntroGraphics/SimpleInstancingUWP/Main.cpp create mode 100644 Samples/IntroGraphics/SimpleInstancingUWP/Package.appxmanifest create mode 100644 Samples/IntroGraphics/SimpleInstancingUWP/PixelShader.hlsl create mode 100644 Samples/IntroGraphics/SimpleInstancingUWP/Readme.docx create mode 100644 Samples/IntroGraphics/SimpleInstancingUWP/Shared.h create mode 100644 Samples/IntroGraphics/SimpleInstancingUWP/SimpleInstancing.cpp create mode 100644 Samples/IntroGraphics/SimpleInstancingUWP/SimpleInstancing.h create mode 100644 Samples/IntroGraphics/SimpleInstancingUWP/SimpleInstancing.hlsli create mode 100644 Samples/IntroGraphics/SimpleInstancingUWP/SimpleInstancing.sln create mode 100644 Samples/IntroGraphics/SimpleInstancingUWP/SimpleInstancing.vcxproj create mode 100644 Samples/IntroGraphics/SimpleInstancingUWP/SimpleInstancing.vcxproj.filters create mode 100644 Samples/IntroGraphics/SimpleInstancingUWP/SimpleInstancing_TemporaryKey.pfx create mode 100644 Samples/IntroGraphics/SimpleInstancingUWP/StepTimer.h create mode 100644 Samples/IntroGraphics/SimpleInstancingUWP/VertexShader.hlsl create mode 100644 Samples/IntroGraphics/SimpleInstancingUWP/pch.cpp create mode 100644 Samples/IntroGraphics/SimpleInstancingUWP/pch.h create mode 100644 Samples/IntroGraphics/SimpleLightingUWP/Assets/Logo.png create mode 100644 Samples/IntroGraphics/SimpleLightingUWP/Assets/SmallLogo.png create mode 100644 Samples/IntroGraphics/SimpleLightingUWP/Assets/SplashScreen.png create mode 100644 Samples/IntroGraphics/SimpleLightingUWP/Assets/StoreLogo.png create mode 100644 Samples/IntroGraphics/SimpleLightingUWP/Assets/WideLogo.png create mode 100644 Samples/IntroGraphics/SimpleLightingUWP/DeviceResources.cpp create mode 100644 Samples/IntroGraphics/SimpleLightingUWP/DeviceResources.h create mode 100644 Samples/IntroGraphics/SimpleLightingUWP/LambertPS.hlsl create mode 100644 Samples/IntroGraphics/SimpleLightingUWP/Main.cpp create mode 100644 Samples/IntroGraphics/SimpleLightingUWP/Package.appxmanifest create mode 100644 Samples/IntroGraphics/SimpleLightingUWP/Readme.docx create mode 100644 Samples/IntroGraphics/SimpleLightingUWP/SimpleLighting.hlsli create mode 100644 Samples/IntroGraphics/SimpleLightingUWP/SimpleLightingUWP.cpp create mode 100644 Samples/IntroGraphics/SimpleLightingUWP/SimpleLightingUWP.h create mode 100644 Samples/IntroGraphics/SimpleLightingUWP/SimpleLightingUWP.sln create mode 100644 Samples/IntroGraphics/SimpleLightingUWP/SimpleLightingUWP.vcxproj create mode 100644 Samples/IntroGraphics/SimpleLightingUWP/SimpleLightingUWP.vcxproj.filters create mode 100644 Samples/IntroGraphics/SimpleLightingUWP/SimpleLightingUWP_TemporaryKey.pfx create mode 100644 Samples/IntroGraphics/SimpleLightingUWP/SolidColorPS.hlsl create mode 100644 Samples/IntroGraphics/SimpleLightingUWP/StepTimer.h create mode 100644 Samples/IntroGraphics/SimpleLightingUWP/TriangleVS.hlsl create mode 100644 Samples/IntroGraphics/SimpleLightingUWP/pch.cpp create mode 100644 Samples/IntroGraphics/SimpleLightingUWP/pch.h create mode 100644 Samples/IntroGraphics/SimpleTextureUWP/Assets/Logo.png create mode 100644 Samples/IntroGraphics/SimpleTextureUWP/Assets/SmallLogo.png create mode 100644 Samples/IntroGraphics/SimpleTextureUWP/Assets/SplashScreen.png create mode 100644 Samples/IntroGraphics/SimpleTextureUWP/Assets/StoreLogo.png create mode 100644 Samples/IntroGraphics/SimpleTextureUWP/Assets/WideLogo.png create mode 100644 Samples/IntroGraphics/SimpleTextureUWP/DeviceResources.cpp create mode 100644 Samples/IntroGraphics/SimpleTextureUWP/DeviceResources.h rename Samples/{Graphics => IntroGraphics}/SimpleTextureUWP/Main.cpp (100%) rename Samples/{Graphics => IntroGraphics}/SimpleTextureUWP/Package.appxmanifest (90%) rename Samples/{Graphics => IntroGraphics}/SimpleTextureUWP/PixelShader.hlsl (100%) rename Samples/{Graphics => IntroGraphics}/SimpleTextureUWP/Readme.docx (100%) rename Samples/{Graphics => IntroGraphics}/SimpleTextureUWP/SimpleTextureUWP.cpp (100%) rename Samples/{Graphics => IntroGraphics}/SimpleTextureUWP/SimpleTextureUWP.h (100%) rename Samples/{Graphics => IntroGraphics}/SimpleTextureUWP/SimpleTextureUWP.sln (100%) rename Samples/{Graphics => IntroGraphics}/SimpleTextureUWP/SimpleTextureUWP.vcxproj (98%) rename Samples/{Graphics => IntroGraphics}/SimpleTextureUWP/SimpleTextureUWP.vcxproj.filters (100%) rename Samples/{Graphics => IntroGraphics}/SimpleTextureUWP/SimpleTextureUWP_TemporaryKey.pfx (100%) create mode 100644 Samples/IntroGraphics/SimpleTextureUWP/StepTimer.h rename Samples/{Graphics => IntroGraphics}/SimpleTextureUWP/VertexShader.hlsl (100%) create mode 100644 Samples/IntroGraphics/SimpleTextureUWP/pch.cpp rename Samples/{Graphics => IntroGraphics}/SimpleTextureUWP/pch.h (100%) create mode 100644 Samples/IntroGraphics/SimpleTextureUWP12/Assets/Logo.png create mode 100644 Samples/IntroGraphics/SimpleTextureUWP12/Assets/SmallLogo.png create mode 100644 Samples/IntroGraphics/SimpleTextureUWP12/Assets/SplashScreen.png create mode 100644 Samples/IntroGraphics/SimpleTextureUWP12/Assets/StoreLogo.png create mode 100644 Samples/IntroGraphics/SimpleTextureUWP12/Assets/WideLogo.png rename Samples/{Graphics/SimpleTriangleUWP12 => IntroGraphics/SimpleTextureUWP12}/DeviceResources.cpp (85%) rename Samples/{Graphics => IntroGraphics}/SimpleTextureUWP12/DeviceResources.h (100%) rename Samples/{Graphics => IntroGraphics}/SimpleTextureUWP12/Main.cpp (100%) rename Samples/{Graphics => IntroGraphics}/SimpleTextureUWP12/Package.appxmanifest (90%) rename Samples/{Graphics => IntroGraphics}/SimpleTextureUWP12/PixelShader.hlsl (100%) rename Samples/{Graphics => IntroGraphics}/SimpleTextureUWP12/Readme.docx (100%) rename Samples/{Graphics => IntroGraphics}/SimpleTextureUWP12/SimpleTextureUWP12.cpp (100%) rename Samples/{Graphics => IntroGraphics}/SimpleTextureUWP12/SimpleTextureUWP12.h (100%) rename Samples/{Graphics => IntroGraphics}/SimpleTextureUWP12/SimpleTextureUWP12.sln (100%) rename Samples/{Graphics => IntroGraphics}/SimpleTextureUWP12/SimpleTextureUWP12.vcxproj (98%) rename Samples/{Graphics => IntroGraphics}/SimpleTextureUWP12/SimpleTextureUWP12.vcxproj.filters (100%) rename Samples/{Graphics => IntroGraphics}/SimpleTextureUWP12/SimpleTextureUWP12_TemporaryKey.pfx (100%) create mode 100644 Samples/IntroGraphics/SimpleTextureUWP12/StepTimer.h rename Samples/{Graphics => IntroGraphics}/SimpleTextureUWP12/VertexShader.hlsl (100%) rename Samples/{Graphics => IntroGraphics}/SimpleTextureUWP12/d3dx12.h (100%) create mode 100644 Samples/IntroGraphics/SimpleTextureUWP12/pch.cpp rename Samples/{Graphics => IntroGraphics}/SimpleTextureUWP12/pch.h (100%) create mode 100644 Samples/IntroGraphics/SimpleTriangleUWP/Assets/Logo.png create mode 100644 Samples/IntroGraphics/SimpleTriangleUWP/Assets/SmallLogo.png create mode 100644 Samples/IntroGraphics/SimpleTriangleUWP/Assets/SplashScreen.png create mode 100644 Samples/IntroGraphics/SimpleTriangleUWP/Assets/StoreLogo.png create mode 100644 Samples/IntroGraphics/SimpleTriangleUWP/Assets/WideLogo.png create mode 100644 Samples/IntroGraphics/SimpleTriangleUWP/DeviceResources.cpp create mode 100644 Samples/IntroGraphics/SimpleTriangleUWP/DeviceResources.h rename Samples/{Graphics => IntroGraphics}/SimpleTriangleUWP/Main.cpp (100%) rename Samples/{Graphics => IntroGraphics}/SimpleTriangleUWP/Package.appxmanifest (90%) rename Samples/{Graphics => IntroGraphics}/SimpleTriangleUWP/PixelShader.hlsl (100%) rename Samples/{Graphics => IntroGraphics}/SimpleTriangleUWP/Readme.docx (100%) rename Samples/{Graphics => IntroGraphics}/SimpleTriangleUWP/SimpleTriangleUWP.cpp (100%) rename Samples/{Graphics => IntroGraphics}/SimpleTriangleUWP/SimpleTriangleUWP.h (100%) rename Samples/{Graphics => IntroGraphics}/SimpleTriangleUWP/SimpleTriangleUWP.sln (100%) rename Samples/{Graphics => IntroGraphics}/SimpleTriangleUWP/SimpleTriangleUWP.vcxproj (98%) rename Samples/{Graphics => IntroGraphics}/SimpleTriangleUWP/SimpleTriangleUWP.vcxproj.filters (100%) rename Samples/{Graphics => IntroGraphics}/SimpleTriangleUWP/SimpleTriangleUWP_TemporaryKey.pfx (100%) create mode 100644 Samples/IntroGraphics/SimpleTriangleUWP/StepTimer.h rename Samples/{Graphics => IntroGraphics}/SimpleTriangleUWP/VertexShader.hlsl (100%) create mode 100644 Samples/IntroGraphics/SimpleTriangleUWP/pch.cpp rename Samples/{Graphics => IntroGraphics}/SimpleTriangleUWP/pch.h (100%) create mode 100644 Samples/IntroGraphics/SimpleTriangleUWP12/Assets/Logo.png create mode 100644 Samples/IntroGraphics/SimpleTriangleUWP12/Assets/SmallLogo.png create mode 100644 Samples/IntroGraphics/SimpleTriangleUWP12/Assets/SplashScreen.png create mode 100644 Samples/IntroGraphics/SimpleTriangleUWP12/Assets/StoreLogo.png create mode 100644 Samples/IntroGraphics/SimpleTriangleUWP12/Assets/WideLogo.png rename Samples/{Graphics/SimpleTextureUWP12 => IntroGraphics/SimpleTriangleUWP12}/DeviceResources.cpp (85%) rename Samples/{Graphics => IntroGraphics}/SimpleTriangleUWP12/DeviceResources.h (100%) rename Samples/{Graphics => IntroGraphics}/SimpleTriangleUWP12/Main.cpp (100%) rename Samples/{Graphics => IntroGraphics}/SimpleTriangleUWP12/Package.appxmanifest (90%) rename Samples/{Graphics => IntroGraphics}/SimpleTriangleUWP12/PixelShader.hlsl (100%) rename Samples/{Graphics => IntroGraphics}/SimpleTriangleUWP12/Readme.docx (100%) rename Samples/{Graphics => IntroGraphics}/SimpleTriangleUWP12/SimpleTriangleUWP12.cpp (100%) rename Samples/{Graphics => IntroGraphics}/SimpleTriangleUWP12/SimpleTriangleUWP12.h (100%) rename Samples/{Graphics => IntroGraphics}/SimpleTriangleUWP12/SimpleTriangleUWP12.sln (100%) rename Samples/{Graphics => IntroGraphics}/SimpleTriangleUWP12/SimpleTriangleUWP12.vcxproj (98%) rename Samples/{Graphics => IntroGraphics}/SimpleTriangleUWP12/SimpleTriangleUWP12.vcxproj.filters (100%) rename Samples/{Graphics => IntroGraphics}/SimpleTriangleUWP12/SimpleTriangleUWP12_TemporaryKey.pfx (100%) create mode 100644 Samples/IntroGraphics/SimpleTriangleUWP12/StepTimer.h rename Samples/{Graphics => IntroGraphics}/SimpleTriangleUWP12/VertexShader.hlsl (100%) rename Samples/{Graphics => IntroGraphics}/SimpleTriangleUWP12/d3dx12.h (100%) create mode 100644 Samples/IntroGraphics/SimpleTriangleUWP12/pch.cpp rename Samples/{Graphics => IntroGraphics}/SimpleTriangleUWP12/pch.h (100%) create mode 100644 Samples/System/CollisionUWP/Assets/Logo.png create mode 100644 Samples/System/CollisionUWP/Assets/SmallLogo.png create mode 100644 Samples/System/CollisionUWP/Assets/SplashScreen.png create mode 100644 Samples/System/CollisionUWP/Assets/StoreLogo.png create mode 100644 Samples/System/CollisionUWP/Assets/WideLogo.png create mode 100644 Samples/System/CollisionUWP/Collision.cpp create mode 100644 Samples/System/CollisionUWP/Collision.h create mode 100644 Samples/System/CollisionUWP/Collision.sln create mode 100644 Samples/System/CollisionUWP/Collision.vcxproj create mode 100644 Samples/System/CollisionUWP/Collision.vcxproj.filters create mode 100644 Samples/System/CollisionUWP/Collision_TemporaryKey.pfx create mode 100644 Samples/System/CollisionUWP/DeviceResources.cpp create mode 100644 Samples/System/CollisionUWP/DeviceResources.h create mode 100644 Samples/System/CollisionUWP/Main.cpp create mode 100644 Samples/System/CollisionUWP/Package.appxmanifest create mode 100644 Samples/System/CollisionUWP/Readme.docx create mode 100644 Samples/System/CollisionUWP/StepTimer.h create mode 100644 Samples/System/CollisionUWP/pch.cpp create mode 100644 Samples/System/CollisionUWP/pch.h create mode 100644 Samples/System/NLSAndLocalizationUWP/Assets/Images/de-DE/Image.dds create mode 100644 Samples/System/NLSAndLocalizationUWP/Assets/Images/en-GB/Image.dds create mode 100644 Samples/System/NLSAndLocalizationUWP/Assets/Images/en-US/Image.dds create mode 100644 Samples/System/NLSAndLocalizationUWP/Assets/Images/en/Image.dds create mode 100644 Samples/System/NLSAndLocalizationUWP/Assets/Images/fr-FR/Image.dds create mode 100644 Samples/System/NLSAndLocalizationUWP/Assets/Images/fr/Image.dds create mode 100644 Samples/System/NLSAndLocalizationUWP/Assets/Images/ja-JP/Image.dds create mode 100644 Samples/System/NLSAndLocalizationUWP/Assets/Logo.png create mode 100644 Samples/System/NLSAndLocalizationUWP/Assets/Resources/de-DE.resources create mode 100644 Samples/System/NLSAndLocalizationUWP/Assets/Resources/en-GB.resources create mode 100644 Samples/System/NLSAndLocalizationUWP/Assets/Resources/en-US.resources create mode 100644 Samples/System/NLSAndLocalizationUWP/Assets/Resources/en.resources create mode 100644 Samples/System/NLSAndLocalizationUWP/Assets/Resources/fr-FR.resources create mode 100644 Samples/System/NLSAndLocalizationUWP/Assets/Resources/fr.resources create mode 100644 Samples/System/NLSAndLocalizationUWP/Assets/Resources/ja-JP.resources create mode 100644 Samples/System/NLSAndLocalizationUWP/Assets/SmallLogo.png create mode 100644 Samples/System/NLSAndLocalizationUWP/Assets/SplashScreen.png create mode 100644 Samples/System/NLSAndLocalizationUWP/Assets/StoreLogo.png create mode 100644 Samples/System/NLSAndLocalizationUWP/Assets/WideLogo.png create mode 100644 Samples/System/NLSAndLocalizationUWP/DeviceResources.cpp create mode 100644 Samples/System/NLSAndLocalizationUWP/DeviceResources.h create mode 100644 Samples/System/NLSAndLocalizationUWP/Main.cpp create mode 100644 Samples/System/NLSAndLocalizationUWP/NLSAndLocalizationUWP.cpp create mode 100644 Samples/System/NLSAndLocalizationUWP/NLSAndLocalizationUWP.h create mode 100644 Samples/System/NLSAndLocalizationUWP/NLSAndLocalizationUWP.sln create mode 100644 Samples/System/NLSAndLocalizationUWP/NLSAndLocalizationUWP.vcxproj create mode 100644 Samples/System/NLSAndLocalizationUWP/NLSAndLocalizationUWP.vcxproj.filters create mode 100644 Samples/System/NLSAndLocalizationUWP/NLSAndLocalizationUWP_TemporaryKey.pfx create mode 100644 Samples/System/NLSAndLocalizationUWP/Package.appxmanifest create mode 100644 Samples/System/NLSAndLocalizationUWP/Readme.docx create mode 100644 Samples/System/NLSAndLocalizationUWP/ResourceParser.cpp create mode 100644 Samples/System/NLSAndLocalizationUWP/ResourceParser.h create mode 100644 Samples/System/NLSAndLocalizationUWP/StepTimer.h create mode 100644 Samples/System/NLSAndLocalizationUWP/de-DE/Resources.resw create mode 100644 Samples/System/NLSAndLocalizationUWP/en-GB/Resources.resw create mode 100644 Samples/System/NLSAndLocalizationUWP/en-US/Resources.resw create mode 100644 Samples/System/NLSAndLocalizationUWP/en/Resources.resw create mode 100644 Samples/System/NLSAndLocalizationUWP/fr-FR/Resources.resw create mode 100644 Samples/System/NLSAndLocalizationUWP/fr/Resources.resw create mode 100644 Samples/System/NLSAndLocalizationUWP/ja-JP/Resources.resw create mode 100644 Samples/System/NLSAndLocalizationUWP/pch.cpp create mode 100644 Samples/System/NLSAndLocalizationUWP/pch.h diff --git a/.gitignore b/.gitignore index 5921cee3..7b720e0c 100644 --- a/.gitignore +++ b/.gitignore @@ -16,6 +16,7 @@ *.tlog *.lastbuildstate *.ilk +*.VC.db ARM "Generated Files" Bin diff --git a/Kits/ATGTK/ControllerHelp.cpp b/Kits/ATGTK/ControllerHelp.cpp new file mode 100644 index 00000000..f5b9961f --- /dev/null +++ b/Kits/ATGTK/ControllerHelp.cpp @@ -0,0 +1,854 @@ +//-------------------------------------------------------------------------------------- +// File: ControllerHelp.cpp +// +// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF +// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO +// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A +// PARTICULAR PURPOSE. +// +// Copyright (c) Microsoft Corporation. All rights reserved. +//------------------------------------------------------------------------------------- + +#include "pch.h" +#include "ControllerHelp.h" +#include "DDSTextureLoader.h" +#include "SimpleMath.h" + +#if !defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP) +#include "FindMedia.h" +#endif + +#include + +using namespace DirectX; +using namespace SimpleMath; + +namespace +{ + enum HelpFonts + { + SEGOE_UI_18PT = 0, + SEGOE_UI_22PT, + SEGOE_UI_36PT, + }; + + enum class CalloutType : uint16_t + { + NO_CONTAINER, + LINE_TO_ANCHOR + }; + + enum Alignment + { + TO_LEFT = 1, + TO_RIGHT = 2, + HORIZONTAL_CENTER = TO_LEFT | TO_RIGHT, + ABOVE = 4, + BELOW = 8, + VERTICAL_CENTER = ABOVE | BELOW, + FULL_CENTER = TO_LEFT | TO_RIGHT | ABOVE | BELOW + }; + + // Anchor points for each of the callout boxes. + const Vector2 ANCHOR_TITLE = { 960, 92 }; + const Vector2 ANCHOR_DESCRIPTION = { 960, 990 }; + const Vector2 ANCHOR_LEFT_STICK = { 513, 468 }; + const Vector2 ANCHOR_RIGHT_STICK = { 1405, 599 }; + const Vector2 ANCHOR_LEFT_STICK_CLICK = { 513, 526 }; + const Vector2 ANCHOR_RIGHT_STICK_CLICK = { 1405, 657 }; + const Vector2 ANCHOR_DPAD_ALL = { 513, 605 }; + const Vector2 ANCHOR_RIGHT_SHOULDER = { 1405, 230 }; + const Vector2 ANCHOR_RIGHT_TRIGGER = { 1405, 300 }; + const Vector2 ANCHOR_LEFT_SHOULDER = { 513, 230 }; + const Vector2 ANCHOR_LEFT_TRIGGER = { 513, 300 }; + const Vector2 ANCHOR_A_BUTTON = { 1405, 538 }; + const Vector2 ANCHOR_B_BUTTON = { 1405, 488 }; + const Vector2 ANCHOR_X_BUTTON = { 1405, 389 }; + const Vector2 ANCHOR_Y_BUTTON = { 1405, 440 }; + const Vector2 ANCHOR_MENU = { 1405, 785 }; + const Vector2 ANCHOR_VIEW = { 513, 785 }; + + // Anchor points for the mid-point of each of the callout balloons + const Vector2 MIDPOINT_LINE_LEFT_STICK_CLICK = { 774, 526 }; + const Vector2 MIDPOINT_LINE_RIGHT_STICK_CLICK = { 1054, 657 }; + const Vector2 MIDPOINT_LINE_RIGHT_SHOULDER = { 1097, 230 }; + const Vector2 MIDPOINT_LINE_RIGHT_TRIGGER = { 1171, 300 }; + const Vector2 MIDPOINT_LINE_LEFT_SHOULDER = { 815, 230 }; + const Vector2 MIDPOINT_LINE_LEFT_TRIGGER = { 751, 300 }; + const Vector2 MIDPOINT_LINE_X_BUTTON = { 1097, 389 }; + const Vector2 MIDPOINT_LINE_MENU = { 1012, 785 }; + const Vector2 MIDPOINT_LINE_VIEW = { 907, 785 }; + + // Anchor points for each of the callout balloons (what each callout is referring to). + const Vector2 CALLOUT_LINE_LEFT_STICK = { 740, 468 }; + const Vector2 CALLOUT_LINE_RIGHT_STICK = { 1091, 599 }; + const Vector2 CALLOUT_LINE_LEFT_STICK_CLICK = { 774, 487 }; + const Vector2 CALLOUT_LINE_RIGHT_STICK_CLICK = { 1054, 599 }; + const Vector2 CALLOUT_LINE_DPAD_ALL = { 815, 605 }; + const Vector2 CALLOUT_LINE_RIGHT_SHOULDER = { 1097, 342 }; + const Vector2 CALLOUT_LINE_RIGHT_TRIGGER = { 1171, 336 }; + const Vector2 CALLOUT_LINE_LEFT_SHOULDER = { 815, 342 }; + const Vector2 CALLOUT_LINE_LEFT_TRIGGER = { 751, 336 }; + const Vector2 CALLOUT_LINE_A_BUTTON = { 1168, 538 }; + const Vector2 CALLOUT_LINE_B_BUTTON = { 1215, 488 }; + const Vector2 CALLOUT_LINE_X_BUTTON = { 1097, 465 }; + const Vector2 CALLOUT_LINE_Y_BUTTON = { 1168, 440 }; + const Vector2 CALLOUT_LINE_MENU = { 1012, 503 }; + const Vector2 CALLOUT_LINE_VIEW = { 907, 503 }; + + // Description Text for each button + const wchar_t* LABEL_TEXT_LEFT_STICK = L"LEFT THUMBSTICK"; + const wchar_t* LABEL_TEXT_RIGHT_STICK = L"RIGHT THUMBSTICK"; + const wchar_t* LABEL_TEXT_LEFT_STICK_CLICK = L"(click) LEFT THUMBSTICK"; + const wchar_t* LABEL_TEXT_RIGHT_STICK_CLICK = L"(click) RIGHT THUMBSTICK"; + const wchar_t* PRE_TEXT_DPAD_UP = L"UP - "; + const wchar_t* PRE_TEXT_DPAD_DOWN = L"DOWN - "; + const wchar_t* PRE_TEXT_DPAD_LEFT = L"LEFT - "; + const wchar_t* PRE_TEXT_DPAD_RIGHT = L"RIGHT - "; + const wchar_t* LABEL_TEXT_DPAD_ALL = L"DPAD"; + const wchar_t* LABEL_TEXT_RIGHT_SHOULDER = L"RIGHT BUMPER"; + const wchar_t* LABEL_TEXT_RIGHT_TRIGGER = L"RIGHT TRIGGER"; + const wchar_t* LABEL_TEXT_LEFT_SHOULDER = L"LEFT BUMPER"; + const wchar_t* LABEL_TEXT_LEFT_TRIGGER = L"LEFT TRIGGER"; + const wchar_t* LABEL_TEXT_LINE_MENU = L"MENU"; + const wchar_t* LABEL_TEXT_LINE_VIEW = L"VIEW"; + const wchar_t* PRE_TEXT_A_BUTTON = L"A "; + const wchar_t* PRE_TEXT_B_BUTTON = L"B "; + const wchar_t* PRE_TEXT_X_BUTTON = L"X "; + const wchar_t* PRE_TEXT_Y_BUTTON = L"Y "; + + const DirectX::SimpleMath::Vector4 HELP_TITLE_COLOR = { 0.478431374f, 0.478431374f, 0.478431374f, 1.f }; + const DirectX::SimpleMath::Vector4 HELP_DESCRIPTION_COLOR = { 0.478431374f, 0.478431374f, 0.478431374f, 1.f }; + const DirectX::SimpleMath::Vector4 HELP_CALLOUT_COLOR = { 0.980392158f, 0.980392158f, 0.980392158f, 1.f }; + const DirectX::SimpleMath::Vector4 HELP_CALLOUT_LABEL_COLOR = { 0.478431374f, 0.478431374f, 0.478431374f, 1.f }; + const DirectX::SimpleMath::Vector4 PRE_TEXT_A_BUTTON_COLOR = { 0.2f, 0.6f, 0.09f, 1.f }; + const DirectX::SimpleMath::Vector4 PRE_TEXT_B_BUTTON_COLOR = { 0.9f, 0.1f, 0.14f, 1.f }; + const DirectX::SimpleMath::Vector4 PRE_TEXT_X_BUTTON_COLOR = { 0.f, 0.5f, 0.7f, 1.f }; + const DirectX::SimpleMath::Vector4 PRE_TEXT_Y_BUTTON_COLOR = { 0.9f, 0.8f, 0.f, 1.f }; +}; + +struct ATG::Help::CalloutBox +{ + ATG::HelpID helpID; // The HelpID for the callout + CalloutType type; // The type of callout to render. + uint16_t align; // Alignment relative to anchor point. + HelpFonts font; // font to render text in. + const wchar_t * labelPre; // Label pre-text + const wchar_t * label; // Label text + Vector4 labelForeground; // Label Foreground + Vector4 foreground; // Foreground color + Vector2 anchor; // the anchor point for this callout. + const wchar_t * text; // text for the callout. + Vector2 calloutLine; // position to draw the line to on the callout from the anchor (if shown). + Vector2 midpointLine; // the midpoint of the callout and anchor lines + + static void Create(_Out_ CalloutBox& dest, _In_opt_z_ const wchar_t* text, ATG::HelpID helpID, bool linearColors) + { + size_t j = 0; + for (; j < ATG::HelpID::MAX_COUNT; ++j) + { + if (s_CalloutTemplates[j].helpID == helpID) + { + dest = s_CalloutTemplates[j]; + if (linearColors) + { + dest.labelForeground = XMColorSRGBToRGB(s_CalloutTemplates[j].labelForeground); + dest.foreground = XMColorSRGBToRGB(s_CalloutTemplates[j].foreground); + } + break; + } + } + if (j >= ATG::HelpID::MAX_COUNT) + { + throw std::exception("CalloutBox::Create can't find help ID"); + } + + dest.text = text; + } + + void Render(const ATG::Help& help, SpriteBatch* batch) + { + // add the callout circle to the spritebatch. + if (type == CalloutType::LINE_TO_ANCHOR) + { + // callout circle is 12x12 so -6 from x and y to get top left coordinates + batch->Draw(help.m_circleTex.Get(), Vector2(calloutLine.x - 6, calloutLine.y - 6)); + } + + SpriteFont* spriteFont = help.m_spriteFonts[font].get(); + + // Draw callout text + LONG anchorXOffset = 20; // space between callout line and label/text + LONG preLabelXOffset = 6; // space between a pre-label and text + + if (labelPre) + { + // Some labels have a pre-text before the text such as the A,B,X,Y, and DPAD buttons + Vector2 textSize = spriteFont->MeasureString(text); + Vector2 labelPreSize = spriteFont->MeasureString(labelPre); + + if (Alignment::TO_RIGHT == align) + { + // draw pre-text + spriteFont->DrawString(batch, labelPre, Vector2((anchor.x - (anchorXOffset + labelPreSize.x + textSize.x + preLabelXOffset)), + (anchor.y - (labelPreSize.y / 2))), labelForeground); + // draw text + spriteFont->DrawString(batch, text, Vector2((anchor.x - anchorXOffset) - (textSize.x), + (anchor.y - (textSize.y / 2))), foreground); + } + else if (Alignment::TO_LEFT == align) + { + // draw pre-text + spriteFont->DrawString(batch, labelPre, Vector2((anchor.x + anchorXOffset), + (anchor.y - (labelPreSize.y / 2))), labelForeground); + + // draw text + spriteFont->DrawString(batch, text, Vector2((anchor.x + anchorXOffset) + (labelPreSize.x + preLabelXOffset), + (anchor.y - (textSize.y / 2))), foreground); + } + } + else // no pre-text + { + if (Alignment::TO_RIGHT == align) // align to right + { + if (label) + { + Vector2 labelSize = help.m_spriteFonts[font]->MeasureString(label); + spriteFont->DrawString(batch, label, Vector2((anchor.x - anchorXOffset) - labelSize.x, + (anchor.y - (labelSize.y / 2))), labelForeground); + } + + if (text) + { + Vector2 textSize = help.m_spriteFonts[font]->MeasureString(text); + spriteFont->DrawString(batch, text, Vector2((anchor.x - anchorXOffset) - textSize.x, + ((anchor.y) + (textSize.y / 3))), foreground); + } + } + else if (Alignment::TO_LEFT == align) // align to left + { + if (label) + { + Vector2 labelSize = help.m_spriteFonts[font]->MeasureString(label); + spriteFont->DrawString(batch, label, Vector2((anchor.x + anchorXOffset), + (anchor.y - (labelSize.y / 2))), labelForeground); + } + + if (text) + { + Vector2 textSize = help.m_spriteFonts[font]->MeasureString(text); + spriteFont->DrawString(batch, text, Vector2((anchor.x + anchorXOffset), + ((anchor.y) + (textSize.y / 3))), foreground); + } + } + else if (Alignment::FULL_CENTER == align) // center + { + if (text) + { + Vector2 textSize = help.m_spriteFonts[font]->MeasureString(text); + spriteFont->DrawString(batch, text, Vector2((anchor.x - (textSize.x / 2)), + ((anchor.y) - (textSize.y / 2))), foreground); + } + } + } + } + + void Render(PrimitiveBatch* batch) + { + // draw callout lines + if (type == CalloutType::LINE_TO_ANCHOR) + { + XMVECTOR color = labelForeground; + + if (midpointLine.x > 0) // two lines + { + // callout to midpoint + batch->DrawLine(VertexPositionColor(Vector2(anchor.x, anchor.y), color), + VertexPositionColor(Vector2(midpointLine.x, midpointLine.y), color)); + + // midpoint to anchor + batch->DrawLine( + VertexPositionColor(Vector2(midpointLine.x, midpointLine.y), color), + VertexPositionColor(Vector2(calloutLine.x, calloutLine.y), color)); + } + else + { + // single line. no midpoint. callout to anchor. + batch->DrawLine(VertexPositionColor(Vector2(anchor.x, anchor.y), color), + VertexPositionColor(Vector2(calloutLine.x, calloutLine.y), color)); + } + } + } + +private: + static const CalloutBox s_CalloutTemplates[]; +}; + +const ATG::Help::CalloutBox ATG::Help::CalloutBox::s_CalloutTemplates[] = +{ + // TITLE_TEXT + { + ATG::HelpID::TITLE_TEXT, + CalloutType::NO_CONTAINER, + FULL_CENTER, + SEGOE_UI_36PT, + nullptr, + nullptr, + HELP_CALLOUT_LABEL_COLOR, + HELP_TITLE_COLOR, + ANCHOR_TITLE, + nullptr, + ANCHOR_TITLE, + { 0, 0 } + }, + // DESCRIPTION_TEXT + { + ATG::HelpID::DESCRIPTION_TEXT, + CalloutType::NO_CONTAINER, + FULL_CENTER, + SEGOE_UI_22PT, + nullptr, + nullptr, + HELP_CALLOUT_LABEL_COLOR, + HELP_DESCRIPTION_COLOR, + ANCHOR_DESCRIPTION, + nullptr, + ANCHOR_DESCRIPTION, + { 0, 0 } + }, + // LEFT_STICK, + { + ATG::HelpID::LEFT_STICK, + CalloutType::LINE_TO_ANCHOR, + TO_RIGHT, + SEGOE_UI_18PT, + nullptr, + LABEL_TEXT_LEFT_STICK, + HELP_CALLOUT_LABEL_COLOR, + HELP_CALLOUT_COLOR, + ANCHOR_LEFT_STICK, + nullptr, + CALLOUT_LINE_LEFT_STICK, + { 0, 0 } + }, + // LEFT_STICK_CLICK, + { + ATG::HelpID::LEFT_STICK_CLICK, + CalloutType::LINE_TO_ANCHOR, + TO_RIGHT, + SEGOE_UI_18PT, + nullptr, + LABEL_TEXT_LEFT_STICK_CLICK, + HELP_CALLOUT_LABEL_COLOR, + HELP_CALLOUT_COLOR, + ANCHOR_LEFT_STICK_CLICK, + nullptr, + CALLOUT_LINE_LEFT_STICK_CLICK, + MIDPOINT_LINE_LEFT_STICK_CLICK + }, + // RIGHT_STICK + { + ATG::HelpID::RIGHT_STICK, + CalloutType::LINE_TO_ANCHOR, + TO_LEFT, + SEGOE_UI_18PT, + nullptr, + LABEL_TEXT_RIGHT_STICK, + HELP_CALLOUT_LABEL_COLOR, + HELP_CALLOUT_COLOR, + ANCHOR_RIGHT_STICK, + nullptr, + CALLOUT_LINE_RIGHT_STICK, + { 0, 0 } + }, + // RIGHT_STICK_CLICK + { + ATG::HelpID::RIGHT_STICK_CLICK, + CalloutType::LINE_TO_ANCHOR, + TO_LEFT, + SEGOE_UI_18PT, + nullptr, + LABEL_TEXT_RIGHT_STICK_CLICK, + HELP_CALLOUT_LABEL_COLOR, + HELP_CALLOUT_COLOR, + ANCHOR_RIGHT_STICK_CLICK, + nullptr, + CALLOUT_LINE_RIGHT_STICK_CLICK, + MIDPOINT_LINE_RIGHT_STICK_CLICK + }, + // DPAD_UP + { + ATG::HelpID::DPAD_UP, + CalloutType::NO_CONTAINER, + TO_RIGHT, + SEGOE_UI_18PT, + PRE_TEXT_DPAD_UP, + nullptr, + HELP_CALLOUT_COLOR, + HELP_CALLOUT_COLOR, + ANCHOR_DPAD_ALL, + nullptr, + CALLOUT_LINE_DPAD_ALL + }, + // DPAD_DOWN + { + ATG::HelpID::DPAD_DOWN, + CalloutType::NO_CONTAINER, + TO_RIGHT, + SEGOE_UI_18PT, + PRE_TEXT_DPAD_DOWN, + nullptr, + HELP_CALLOUT_COLOR, + HELP_CALLOUT_COLOR, + ANCHOR_DPAD_ALL, + nullptr, + CALLOUT_LINE_DPAD_ALL + }, + // DPAD_LEFT + { + ATG::HelpID::DPAD_LEFT, + CalloutType::NO_CONTAINER, + TO_RIGHT, + SEGOE_UI_18PT, + PRE_TEXT_DPAD_LEFT, + nullptr, + HELP_CALLOUT_COLOR, + HELP_CALLOUT_COLOR, + ANCHOR_DPAD_ALL, + nullptr, + CALLOUT_LINE_DPAD_ALL + }, + // DPAD_RIGHT + { + ATG::HelpID::DPAD_RIGHT, + CalloutType::NO_CONTAINER, + TO_RIGHT, + SEGOE_UI_18PT, + PRE_TEXT_DPAD_RIGHT, + nullptr, + HELP_CALLOUT_COLOR, + HELP_CALLOUT_COLOR, + ANCHOR_DPAD_ALL, + nullptr, + CALLOUT_LINE_DPAD_ALL + }, + // DPAD_ALL + { + ATG::HelpID::DPAD_ALL, + CalloutType::LINE_TO_ANCHOR, + TO_RIGHT, + SEGOE_UI_18PT, + nullptr, + LABEL_TEXT_DPAD_ALL, + HELP_CALLOUT_LABEL_COLOR, + HELP_CALLOUT_COLOR, + ANCHOR_DPAD_ALL, + nullptr, + CALLOUT_LINE_DPAD_ALL, + { 0, 0 } + }, + // RIGHT_SHOULDER + { + ATG::HelpID::RIGHT_SHOULDER, + CalloutType::LINE_TO_ANCHOR, + TO_LEFT, + SEGOE_UI_18PT, + nullptr, + LABEL_TEXT_RIGHT_SHOULDER, + HELP_CALLOUT_LABEL_COLOR, + HELP_CALLOUT_COLOR, + ANCHOR_RIGHT_SHOULDER, + nullptr, + CALLOUT_LINE_RIGHT_SHOULDER, + MIDPOINT_LINE_RIGHT_SHOULDER + }, + // RIGHT_TRIGGER + { + ATG::HelpID::RIGHT_TRIGGER, + CalloutType::LINE_TO_ANCHOR, + TO_LEFT, + SEGOE_UI_18PT, + nullptr, + LABEL_TEXT_RIGHT_TRIGGER, + HELP_CALLOUT_LABEL_COLOR, + HELP_CALLOUT_COLOR, + ANCHOR_RIGHT_TRIGGER, + nullptr, + CALLOUT_LINE_RIGHT_TRIGGER, + MIDPOINT_LINE_RIGHT_TRIGGER + }, + // LEFT_SHOULDER + { + ATG::HelpID::LEFT_SHOULDER, + CalloutType::LINE_TO_ANCHOR, + TO_RIGHT, + SEGOE_UI_18PT, + nullptr, + LABEL_TEXT_LEFT_SHOULDER, + HELP_CALLOUT_LABEL_COLOR, + HELP_CALLOUT_COLOR, + ANCHOR_LEFT_SHOULDER, + nullptr, + CALLOUT_LINE_LEFT_SHOULDER, + MIDPOINT_LINE_LEFT_SHOULDER + }, + // LEFT_TRIGGER + { + ATG::HelpID::LEFT_TRIGGER, + CalloutType::LINE_TO_ANCHOR, + TO_RIGHT, + SEGOE_UI_18PT, + nullptr, + LABEL_TEXT_LEFT_TRIGGER, + HELP_CALLOUT_LABEL_COLOR, + HELP_CALLOUT_COLOR, + ANCHOR_LEFT_TRIGGER, + nullptr, + CALLOUT_LINE_LEFT_TRIGGER, + MIDPOINT_LINE_LEFT_TRIGGER + }, + // A_BUTTON + { + ATG::HelpID::A_BUTTON, + CalloutType::LINE_TO_ANCHOR, + TO_LEFT, + SEGOE_UI_18PT, + PRE_TEXT_A_BUTTON, + nullptr, + PRE_TEXT_A_BUTTON_COLOR, + HELP_CALLOUT_COLOR, + ANCHOR_A_BUTTON, + nullptr, + CALLOUT_LINE_A_BUTTON, + { 0, 0 } + }, + // B_BUTTON + { + ATG::HelpID::B_BUTTON, + CalloutType::LINE_TO_ANCHOR, + TO_LEFT, + SEGOE_UI_18PT, + PRE_TEXT_B_BUTTON, + nullptr, + PRE_TEXT_B_BUTTON_COLOR, + HELP_CALLOUT_COLOR, + ANCHOR_B_BUTTON, + nullptr, + CALLOUT_LINE_B_BUTTON, + { 0, 0 } + }, + // X_BUTTON + { + ATG::HelpID::X_BUTTON, + CalloutType::LINE_TO_ANCHOR, + TO_LEFT, + SEGOE_UI_18PT, + PRE_TEXT_X_BUTTON, + nullptr, + PRE_TEXT_X_BUTTON_COLOR, + HELP_CALLOUT_COLOR, + ANCHOR_X_BUTTON, + nullptr, + CALLOUT_LINE_X_BUTTON, + MIDPOINT_LINE_X_BUTTON + }, + // Y_BUTTON + { + ATG::HelpID::Y_BUTTON, + CalloutType::LINE_TO_ANCHOR, + TO_LEFT, + SEGOE_UI_18PT, + PRE_TEXT_Y_BUTTON, + nullptr, + PRE_TEXT_Y_BUTTON_COLOR, + HELP_CALLOUT_COLOR, + ANCHOR_Y_BUTTON, + nullptr, + CALLOUT_LINE_Y_BUTTON, + { 0, 0 } + }, + // MENU_BUTTON (Same as start) + { + ATG::HelpID::MENU_BUTTON, + CalloutType::LINE_TO_ANCHOR, + TO_LEFT, + SEGOE_UI_18PT, + nullptr, + LABEL_TEXT_LINE_MENU, + HELP_CALLOUT_LABEL_COLOR, + HELP_CALLOUT_COLOR, + ANCHOR_MENU, + nullptr, + CALLOUT_LINE_MENU, + MIDPOINT_LINE_MENU + }, + // VIEW_BUTTON + { + ATG::HelpID::VIEW_BUTTON, + CalloutType::LINE_TO_ANCHOR, + TO_RIGHT, + SEGOE_UI_18PT, + nullptr, + LABEL_TEXT_LINE_VIEW, + HELP_CALLOUT_LABEL_COLOR, + HELP_CALLOUT_COLOR, + ANCHOR_VIEW, + nullptr, + CALLOUT_LINE_VIEW, + MIDPOINT_LINE_VIEW + } +}; + +_Use_decl_annotations_ +ATG::Help::Help(const wchar_t* title, const wchar_t* description, const HelpButtonAssignment* buttons, size_t buttonCount, bool linearColors) : + m_linearColors(linearColors), + m_calloutCount(0), + m_callouts(nullptr) +{ + if (!buttons) + { + throw std::invalid_argument("buttons must be non null"); + } + + if (!buttonCount) + { + throw std::out_of_range("buttonCount is 0!"); + } + + m_calloutCount = buttonCount; + + if (title) + { + ++m_calloutCount; + } + + if (description) + { + ++m_calloutCount; + } + + bool dpadLabels = true; + float dpadYOffset[4] = {0.f, 0.f, 0.f, 0.f}; + + static const float c_fontSize18 = 31.9218750f; + + for (size_t j = 0; j < buttonCount; ++j) + { + switch (buttons[j].id) + { + case HelpID::DPAD_UP: + dpadYOffset[0] = c_fontSize18; + dpadLabels = true; + break; + + case HelpID::DPAD_DOWN: + dpadYOffset[1] = c_fontSize18; + dpadLabels = true; + break; + + case HelpID::DPAD_RIGHT: + dpadYOffset[2] = c_fontSize18; + dpadLabels = true; + break; + + case HelpID::DPAD_LEFT: + dpadYOffset[3] = c_fontSize18; + dpadLabels = true; + break; + } + } + + if (dpadLabels) + { + ++m_calloutCount; + } + + m_callouts = new CalloutBox[m_calloutCount]; + + size_t index = 0; + + if (title) + { + CalloutBox::Create(m_callouts[index++], title, ATG::HelpID::TITLE_TEXT, m_linearColors); + } + + if (description) + { + CalloutBox::Create(m_callouts[index++], description, ATG::HelpID::DESCRIPTION_TEXT, m_linearColors); + } + + if (dpadLabels) + { + CalloutBox::Create(m_callouts[index++], nullptr, ATG::HelpID::DPAD_ALL, m_linearColors); + } + + for (size_t j = 0; j < buttonCount; ++j) + { + CalloutBox::Create(m_callouts[index++], buttons[j].buttonText, buttons[j].id, m_linearColors); + + // DPAD buttons should appear in the order of UP, DOWN, LEFT, RIGHT. In the event that not all buttons + // are used, they still need to appear in order. Apply an offset to each DPAD item using the dpadButtonsYOffset value + // for the button used. + + switch (buttons[j].id) + { + case HelpID::DPAD_UP: + m_callouts[index - 1].anchor.y += (LONG)dpadYOffset[0]; + break; + + case HelpID::DPAD_DOWN: + m_callouts[index - 1].anchor.y += (LONG)(dpadYOffset[0] + dpadYOffset[1]); + break; + + case HelpID::DPAD_RIGHT: + m_callouts[index - 1].anchor.y += (LONG)(dpadYOffset[0] + dpadYOffset[1] + dpadYOffset[2]); + break; + + case HelpID::DPAD_LEFT: + m_callouts[index - 1].anchor.y += (LONG)(dpadYOffset[0] + dpadYOffset[1] + dpadYOffset[2] + dpadYOffset[3]); + break; + + case HelpID::DPAD_ALL: + throw std::exception("Do not use DPAD_ALL in help array"); + break; + } + } +} + +ATG::Help::~Help() +{ + if (m_callouts) + { + delete[] m_callouts; + m_callouts = nullptr; + } +} + +void ATG::Help::Render() +{ + CD3D11_VIEWPORT vp1(0.0f, 0.0f, static_cast(m_screenSize.right), static_cast(m_screenSize.bottom)); + m_spriteBatch->SetViewport(vp1); + m_spriteBatch->Begin(SpriteSortMode_Immediate, m_states->AlphaBlend()); + + // Draw background image + m_spriteBatch->Draw(m_backgroundTex.Get(), m_screenSize); + + // Draw gamepad controller + m_spriteBatch->Draw(m_gamepadTex.Get(), m_screenSize); + + m_spriteBatch->End(); + + CD3D11_VIEWPORT vp2(0.0f, 0.f, 1920.f, 1080.f); + m_spriteBatch->SetViewport(vp2); + m_spriteBatch->Begin(SpriteSortMode_Deferred, m_states->AlphaBlend()); + + // Process sprites + for (size_t j = 0; j < m_calloutCount; ++j) + { + m_callouts[j].Render(*this, m_spriteBatch.get()); + } + + m_spriteBatch->End(); + + XMMATRIX proj = XMMatrixOrthographicOffCenterRH(0.f, 1920.f, 1080.f, 0.f, 0.f, 1.f); + m_lineEffect->SetProjection(proj); + + m_context->OMSetBlendState(m_states->Opaque(), nullptr, 0xFFFFFFFF); + m_context->OMSetDepthStencilState(m_states->DepthNone(), 0); + m_context->RSSetState(m_states->CullNone()); + + m_lineEffect->Apply(m_context.Get()); + m_context->IASetInputLayout(m_lineLayout.Get()); + + m_primBatch->Begin(); + + for (size_t j = 0; j < m_calloutCount; ++j) + { + m_callouts[j].Render(m_primBatch.get()); + } + + m_primBatch->End(); +} + +void ATG::Help::ReleaseDevice() +{ + m_spriteBatch.reset(); + m_states.reset(); + m_primBatch.reset(); + m_lineEffect.reset(); + + for (int i = 0; i < _countof(m_spriteFonts); ++i) + { + m_spriteFonts[i].reset(); + } + + m_lineLayout.Reset(); + m_circleTex.Reset(); + m_gamepadTex.Reset(); + m_backgroundTex.Reset(); + m_context.Reset(); +} + +void ATG::Help::RestoreDevice(ID3D11DeviceContext* context) +{ + m_context = context; + + Microsoft::WRL::ComPtr device; + context->GetDevice(device.GetAddressOf()); + + m_spriteBatch = std::make_unique(context); + + m_states = std::make_unique(device.Get()); + + m_primBatch = std::make_unique>(context); + + m_lineEffect = std::make_unique(device.Get()); + m_lineEffect->SetVertexColorEnabled(true); + + { + void const* shaderByteCode; + size_t shaderLen; + + m_lineEffect->GetVertexShaderBytecode(&shaderByteCode, &shaderLen); + + DX::ThrowIfFailed( + device->CreateInputLayout(VertexPositionColor::InputElements, VertexPositionColor::InputElementCount, + shaderByteCode, shaderLen, + m_lineLayout.ReleaseAndGetAddressOf()) + ); + } + +#if !defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP) + wchar_t buff[MAX_PATH]; + DX::FindMediaFile(buff, MAX_PATH, L"Media//Fonts//SegoeUI_18.spritefont"); + m_spriteFonts[SEGOE_UI_18PT] = std::make_unique(device.Get(), buff); + + DX::FindMediaFile(buff, MAX_PATH, L"Media//Fonts//SegoeUI_22.spritefont"); + m_spriteFonts[SEGOE_UI_22PT] = std::make_unique(device.Get(), buff); + + DX::FindMediaFile(buff, MAX_PATH, L"Media//Fonts//SegoeUI_36.spritefont"); + m_spriteFonts[SEGOE_UI_36PT] = std::make_unique(device.Get(), buff); + + DX::FindMediaFile(buff, MAX_PATH, L"Media//Textures//callout_circle.dds"); + DX::ThrowIfFailed(CreateDDSTextureFromFileEx(device.Get(), buff, 0, D3D11_USAGE_DEFAULT, D3D11_BIND_SHADER_RESOURCE, 0, 0, m_linearColors, nullptr, m_circleTex.ReleaseAndGetAddressOf())); + + DX::FindMediaFile(buff, MAX_PATH, L"Media//Textures//gamepad.dds"); + DX::ThrowIfFailed(CreateDDSTextureFromFileEx(device.Get(), buff, 0, D3D11_USAGE_DEFAULT, D3D11_BIND_SHADER_RESOURCE, 0, 0, m_linearColors, nullptr, m_gamepadTex.ReleaseAndGetAddressOf())); + + DX::FindMediaFile(buff, MAX_PATH, L"Media//Textures//ATGSampleBackground.DDS"); + DX::ThrowIfFailed(CreateDDSTextureFromFileEx(device.Get(), buff, 0, D3D11_USAGE_DEFAULT, D3D11_BIND_SHADER_RESOURCE, 0, 0, m_linearColors, nullptr, m_backgroundTex.ReleaseAndGetAddressOf())); +#else + m_spriteFonts[SEGOE_UI_18PT] = std::make_unique(device.Get(), L"SegoeUI_18.spritefont"); + m_spriteFonts[SEGOE_UI_22PT] = std::make_unique(device.Get(), L"SegoeUI_22.spritefont"); + m_spriteFonts[SEGOE_UI_36PT] = std::make_unique(device.Get(), L"SegoeUI_36.spritefont"); + + DX::ThrowIfFailed(CreateDDSTextureFromFileEx(device.Get(), L"callout_circle.dds", 0, D3D11_USAGE_DEFAULT, D3D11_BIND_SHADER_RESOURCE, 0, 0, m_linearColors, nullptr, m_circleTex.ReleaseAndGetAddressOf())); + DX::ThrowIfFailed(CreateDDSTextureFromFileEx(device.Get(), L"gamepad.dds", 0, D3D11_USAGE_DEFAULT, D3D11_BIND_SHADER_RESOURCE, 0, 0, m_linearColors, nullptr, m_gamepadTex.ReleaseAndGetAddressOf())); + DX::ThrowIfFailed(CreateDDSTextureFromFileEx(device.Get(), L"ATGSampleBackground.DDS", 0, D3D11_USAGE_DEFAULT, D3D11_BIND_SHADER_RESOURCE, 0, 0, m_linearColors, nullptr, m_backgroundTex.ReleaseAndGetAddressOf())); +#endif +} + +void ATG::Help::SetWindow(const RECT& output) +{ + m_screenSize = output; +} diff --git a/Kits/ATGTK/ControllerHelp.h b/Kits/ATGTK/ControllerHelp.h new file mode 100644 index 00000000..62334d19 --- /dev/null +++ b/Kits/ATGTK/ControllerHelp.h @@ -0,0 +1,92 @@ +//-------------------------------------------------------------------------------------- +// File: ControllerHelp.h +// +// Help display for GamePad-based control schemes +// +// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF +// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO +// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A +// PARTICULAR PURPOSE. +// +// Copyright (c) Microsoft Corporation. All rights reserved. +//------------------------------------------------------------------------------------- + +#pragma once + +#include "CommonStates.h" +#include "Effects.h" +#include "SpriteBatch.h" +#include "SpriteFont.h" +#include "PrimitiveBatch.h" +#include "VertexTypes.h" + + +namespace ATG +{ + enum HelpID + { + TITLE_TEXT = 0, + DESCRIPTION_TEXT, + LEFT_STICK, + LEFT_STICK_CLICK, + RIGHT_STICK, + RIGHT_STICK_CLICK, + DPAD_UP, + DPAD_DOWN, + DPAD_LEFT, + DPAD_RIGHT, + DPAD_ALL, + RIGHT_SHOULDER, + RIGHT_TRIGGER, + LEFT_SHOULDER, + LEFT_TRIGGER, + A_BUTTON, + B_BUTTON, + X_BUTTON, + Y_BUTTON, + MENU_BUTTON, + VIEW_BUTTON, + MAX_COUNT + }; + + struct HelpButtonAssignment + { + HelpID id; + const wchar_t* buttonText; + }; + + class Help + { + public: + Help(_In_z_ const wchar_t* title, _In_z_ const wchar_t* description, + _In_count_(buttonCount) const HelpButtonAssignment* buttons, size_t buttonCount, bool linearColors = false); + ~Help(); + + void Render(); + + void ReleaseDevice(); + void RestoreDevice(ID3D11DeviceContext* context); + + void SetWindow(const RECT& output); + + struct CalloutBox; + + private: + std::unique_ptr m_spriteBatch; + std::unique_ptr m_states; + std::unique_ptr> m_primBatch; + std::unique_ptr m_lineEffect; + std::unique_ptr m_spriteFonts[3]; + Microsoft::WRL::ComPtr m_lineLayout; + Microsoft::WRL::ComPtr m_circleTex; + Microsoft::WRL::ComPtr m_gamepadTex; + Microsoft::WRL::ComPtr m_backgroundTex; + Microsoft::WRL::ComPtr m_context; + + bool m_linearColors; + RECT m_screenSize; + + size_t m_calloutCount; + CalloutBox* m_callouts; + }; +} \ No newline at end of file diff --git a/Kits/ATGTK/DebugDraw.cpp b/Kits/ATGTK/DebugDraw.cpp new file mode 100644 index 00000000..529f0fbf --- /dev/null +++ b/Kits/ATGTK/DebugDraw.cpp @@ -0,0 +1,282 @@ +//-------------------------------------------------------------------------------------- +// File: DebugDraw.cpp +// +// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF +// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO +// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A +// PARTICULAR PURPOSE. +// +// Copyright(c) Microsoft Corporation. All rights reserved. +//------------------------------------------------------------------------------------- + +#include "pch.h" +#include "DebugDraw.h" + +using namespace DirectX; + +namespace +{ + inline void XM_CALLCONV DrawCube(PrimitiveBatch* batch, + CXMMATRIX matWorld, + FXMVECTOR color) + { + static const XMVECTORF32 s_verts[8] = + { + { -1.f, -1.f, -1.f, 0.f }, + { 1.f, -1.f, -1.f, 0.f }, + { 1.f, -1.f, 1.f, 0.f }, + { -1.f, -1.f, 1.f, 0.f }, + { -1.f, 1.f, -1.f, 0.f }, + { 1.f, 1.f, -1.f, 0.f }, + { 1.f, 1.f, 1.f, 0.f }, + { -1.f, 1.f, 1.f, 0.f } + }; + + static const WORD s_indices[] = + { + 0, 1, + 1, 2, + 2, 3, + 3, 0, + 4, 5, + 5, 6, + 6, 7, + 7, 4, + 0, 4, + 1, 5, + 2, 6, + 3, 7 + }; + + VertexPositionColor verts[8]; + for (size_t i = 0; i < 8; ++i) + { + XMVECTOR v = XMVector3Transform(s_verts[i], matWorld); + XMStoreFloat3(&verts[i].position, v); + XMStoreFloat4(&verts[i].color, color); + } + + batch->DrawIndexed(D3D11_PRIMITIVE_TOPOLOGY_LINELIST, s_indices, _countof(s_indices), verts, 8); + } +} + + +void XM_CALLCONV DX::Draw(PrimitiveBatch* batch, + const BoundingSphere& sphere, + FXMVECTOR color) +{ + XMVECTOR origin = XMLoadFloat3(&sphere.Center); + + const float radius = sphere.Radius; + + XMVECTOR xaxis = g_XMIdentityR0 * radius; + XMVECTOR yaxis = g_XMIdentityR1 * radius; + XMVECTOR zaxis = g_XMIdentityR2 * radius; + + DrawRing(batch, origin, xaxis, zaxis, color); + DrawRing(batch, origin, xaxis, yaxis, color); + DrawRing(batch, origin, yaxis, zaxis, color); +} + + +void XM_CALLCONV DX::Draw(PrimitiveBatch* batch, + const BoundingBox& box, + FXMVECTOR color) +{ + XMMATRIX matWorld = XMMatrixScaling(box.Extents.x, box.Extents.y, box.Extents.z); + XMVECTOR position = XMLoadFloat3(&box.Center); + matWorld.r[3] = XMVectorSelect(matWorld.r[3], position, g_XMSelect1110); + + DrawCube(batch, matWorld, color); +} + + +void XM_CALLCONV DX::Draw(PrimitiveBatch* batch, + const BoundingOrientedBox& obb, + FXMVECTOR color) +{ + XMMATRIX matWorld = XMMatrixRotationQuaternion(XMLoadFloat4(&obb.Orientation)); + XMMATRIX matScale = XMMatrixScaling(obb.Extents.x, obb.Extents.y, obb.Extents.z); + matWorld = XMMatrixMultiply(matScale, matWorld); + XMVECTOR position = XMLoadFloat3(&obb.Center); + matWorld.r[3] = XMVectorSelect(matWorld.r[3], position, g_XMSelect1110); + + DrawCube(batch, matWorld, color); +} + + +void XM_CALLCONV DX::Draw(PrimitiveBatch* batch, + const BoundingFrustum& frustum, + FXMVECTOR color) +{ + XMFLOAT3 corners[BoundingFrustum::CORNER_COUNT]; + frustum.GetCorners(corners); + + VertexPositionColor verts[24] = {}; + verts[0].position = corners[0]; + verts[1].position = corners[1]; + verts[2].position = corners[1]; + verts[3].position = corners[2]; + verts[4].position = corners[2]; + verts[5].position = corners[3]; + verts[6].position = corners[3]; + verts[7].position = corners[0]; + + verts[8].position = corners[0]; + verts[9].position = corners[4]; + verts[10].position = corners[1]; + verts[11].position = corners[5]; + verts[12].position = corners[2]; + verts[13].position = corners[6]; + verts[14].position = corners[3]; + verts[15].position = corners[7]; + + verts[16].position = corners[4]; + verts[17].position = corners[5]; + verts[18].position = corners[5]; + verts[19].position = corners[6]; + verts[20].position = corners[6]; + verts[21].position = corners[7]; + verts[22].position = corners[7]; + verts[23].position = corners[4]; + + for (size_t j = 0; j < _countof(verts); ++j) + { + XMStoreFloat4(&verts[j].color, color); + } + + batch->Draw(D3D11_PRIMITIVE_TOPOLOGY_LINELIST, verts, _countof(verts)); +} + + +void XM_CALLCONV DX::DrawGrid(PrimitiveBatch* batch, + FXMVECTOR xAxis, + FXMVECTOR yAxis, + FXMVECTOR origin, + size_t xdivs, + size_t ydivs, + GXMVECTOR color) +{ + xdivs = std::max(1, xdivs); + ydivs = std::max(1, ydivs); + + for (size_t i = 0; i <= xdivs; ++i) + { + float percent = float(i) / float(xdivs); + percent = (percent * 2.f) - 1.f; + XMVECTOR scale = XMVectorScale(xAxis, percent); + scale = XMVectorAdd(scale, origin); + + VertexPositionColor v1(XMVectorSubtract(scale, yAxis), color); + VertexPositionColor v2(XMVectorAdd(scale, yAxis), color); + batch->DrawLine(v1, v2); + } + + for (size_t i = 0; i <= ydivs; i++) + { + FLOAT percent = float(i) / float(ydivs); + percent = (percent * 2.f) - 1.f; + XMVECTOR scale = XMVectorScale(yAxis, percent); + scale = XMVectorAdd(scale, origin); + + VertexPositionColor v1(XMVectorSubtract(scale, xAxis), color); + VertexPositionColor v2(XMVectorAdd(scale, xAxis), color); + batch->DrawLine(v1, v2); + } +} + + +void XM_CALLCONV DX::DrawRing(PrimitiveBatch* batch, + FXMVECTOR origin, + FXMVECTOR majorAxis, + FXMVECTOR minorAxis, + GXMVECTOR color) +{ + static const size_t c_ringSegments = 32; + + VertexPositionColor verts[c_ringSegments + 1]; + + FLOAT fAngleDelta = XM_2PI / float(c_ringSegments); + // Instead of calling cos/sin for each segment we calculate + // the sign of the angle delta and then incrementally calculate sin + // and cosine from then on. + XMVECTOR cosDelta = XMVectorReplicate(cosf(fAngleDelta)); + XMVECTOR sinDelta = XMVectorReplicate(sinf(fAngleDelta)); + XMVECTOR incrementalSin = XMVectorZero(); + static const XMVECTORF32 s_initialCos = + { + 1.f, 1.f, 1.f, 1.f + }; + XMVECTOR incrementalCos = s_initialCos.v; + for (size_t i = 0; i < c_ringSegments; i++) + { + XMVECTOR pos = XMVectorMultiplyAdd(majorAxis, incrementalCos, origin); + pos = XMVectorMultiplyAdd(minorAxis, incrementalSin, pos); + XMStoreFloat3(&verts[i].position, pos); + XMStoreFloat4(&verts[i].color, color); + // Standard formula to rotate a vector. + XMVECTOR newCos = incrementalCos * cosDelta - incrementalSin * sinDelta; + XMVECTOR newSin = incrementalCos * sinDelta + incrementalSin * cosDelta; + incrementalCos = newCos; + incrementalSin = newSin; + } + verts[c_ringSegments] = verts[0]; + + batch->Draw(D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP, verts, c_ringSegments + 1); +} + + +void XM_CALLCONV DX::DrawRay(PrimitiveBatch* batch, + FXMVECTOR origin, + FXMVECTOR direction, + bool normalize, + FXMVECTOR color) +{ + VertexPositionColor verts[3]; + XMStoreFloat3(&verts[0].position, origin); + + XMVECTOR normDirection = XMVector3Normalize(direction); + XMVECTOR rayDirection = (normalize) ? normDirection : direction; + + XMVECTOR perpVector = XMVector3Cross(normDirection, g_XMIdentityR1); + + if (XMVector3Equal(XMVector3LengthSq(perpVector), g_XMZero)) + { + perpVector = XMVector3Cross(normDirection, g_XMIdentityR2); + } + perpVector = XMVector3Normalize(perpVector); + + XMStoreFloat3(&verts[1].position, XMVectorAdd(rayDirection, origin)); + perpVector = XMVectorScale(perpVector, 0.0625f); + normDirection = XMVectorScale(normDirection, -0.25f); + rayDirection = XMVectorAdd(perpVector, rayDirection); + rayDirection = XMVectorAdd(normDirection, rayDirection); + XMStoreFloat3(&verts[2].position, XMVectorAdd(rayDirection, origin)); + + XMStoreFloat4(&verts[0].color, color); + XMStoreFloat4(&verts[1].color, color); + XMStoreFloat4(&verts[2].color, color); + + batch->Draw(D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP, verts, 2); +} + + +void XM_CALLCONV DX::DrawTriangle(PrimitiveBatch* batch, + FXMVECTOR pointA, + FXMVECTOR pointB, + FXMVECTOR pointC, + GXMVECTOR color) +{ + VertexPositionColor verts[4]; + XMStoreFloat3(&verts[0].position, pointA); + XMStoreFloat3(&verts[1].position, pointB); + XMStoreFloat3(&verts[2].position, pointC); + XMStoreFloat3(&verts[3].position, pointA); + + XMStoreFloat4(&verts[0].color, color); + XMStoreFloat4(&verts[1].color, color); + XMStoreFloat4(&verts[2].color, color); + XMStoreFloat4(&verts[3].color, color); + + batch->Draw(D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP, verts, 4); +} \ No newline at end of file diff --git a/Kits/ATGTK/DebugDraw.h b/Kits/ATGTK/DebugDraw.h new file mode 100644 index 00000000..ef4712dd --- /dev/null +++ b/Kits/ATGTK/DebugDraw.h @@ -0,0 +1,56 @@ +//-------------------------------------------------------------------------------------- +// File: DebugDraw.h +// +// Helpers for drawing various debug shapes using PrimitiveBatch +// +// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF +// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO +// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A +// PARTICULAR PURPOSE. +// +// Copyright(c) Microsoft Corporation. All rights reserved. +//------------------------------------------------------------------------------------- + +#pragma once + +#include + +#include "PrimitiveBatch.h" +#include "VertexTypes.h" + + +namespace DX +{ + void XM_CALLCONV Draw(DirectX::PrimitiveBatch* batch, + const DirectX::BoundingSphere& sphere, + DirectX::FXMVECTOR color = DirectX::Colors::White); + + void XM_CALLCONV Draw(DirectX::PrimitiveBatch* batch, + const DirectX::BoundingBox& box, + DirectX::FXMVECTOR color = DirectX::Colors::White); + + void XM_CALLCONV Draw(DirectX::PrimitiveBatch* batch, + const DirectX::BoundingOrientedBox& obb, + DirectX::FXMVECTOR color = DirectX::Colors::White); + + void XM_CALLCONV Draw(DirectX::PrimitiveBatch* batch, + const DirectX::BoundingFrustum& frustum, + DirectX::FXMVECTOR color = DirectX::Colors::White); + + void XM_CALLCONV DrawGrid(DirectX::PrimitiveBatch* batch, + DirectX::FXMVECTOR xAxis, DirectX::FXMVECTOR yAxis, + DirectX::FXMVECTOR origin, size_t xdivs, size_t ydivs, + DirectX::GXMVECTOR color = DirectX::Colors::White); + + void XM_CALLCONV DrawRing(DirectX::PrimitiveBatch* batch, + DirectX::FXMVECTOR origin, DirectX::FXMVECTOR majorAxis, DirectX::FXMVECTOR minorAxis, + DirectX::GXMVECTOR color = DirectX::Colors::White); + + void XM_CALLCONV DrawRay(DirectX::PrimitiveBatch* batch, + DirectX::FXMVECTOR origin, DirectX::FXMVECTOR direction, bool normalize = true, + DirectX::FXMVECTOR color = DirectX::Colors::White); + + void XM_CALLCONV DrawTriangle(DirectX::PrimitiveBatch* batch, + DirectX::FXMVECTOR pointA, DirectX::FXMVECTOR pointB, DirectX::FXMVECTOR pointC, + DirectX::GXMVECTOR color = DirectX::Colors::White); +} \ No newline at end of file diff --git a/Kits/ATGTK/OrbitCamera.cpp b/Kits/ATGTK/OrbitCamera.cpp new file mode 100644 index 00000000..08babf85 --- /dev/null +++ b/Kits/ATGTK/OrbitCamera.cpp @@ -0,0 +1,730 @@ +//-------------------------------------------------------------------------------------- +// File: OrbitCamera.cpp +// +// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF +// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO +// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A +// PARTICULAR PURPOSE. +// +// Copyright(c) Microsoft Corporation. All rights reserved. +//------------------------------------------------------------------------------------- + +#include "pch.h" +#include "OrbitCamera.h" + +#include "GamePad.h" +#include "Keyboard.h" +#include "Mouse.h" +#include "SimpleMath.h" + +using namespace DirectX; +using namespace DX; + +#pragma warning(disable : 4324) + +namespace +{ + // Ken Shoemake, "Arcball Rotation Control", Graphics Gems IV, pg 176 - 192 + class __declspec(align(16)) ArcBall + { + public: + ArcBall() : + m_width(800.f), + m_height(400.f), + m_radius(1.f), + m_drag(false) + { + Reset(); + } + + void Reset() + { + m_qdown = m_qnow = XMQuaternionIdentity(); + } + + void OnBegin(int x, int y, DirectX::FXMVECTOR quat) + { + m_drag = true; + m_qdown = quat; + m_downPoint = ScreenToVector(float(x), float(y)); + } + + void OnMove(int x, int y) + { + using namespace DirectX; + if (m_drag) + { + XMVECTOR curr = ScreenToVector(float(x), float(y)); + + m_qnow = XMQuaternionMultiply(m_qdown, QuatFromBallPoints(m_downPoint, curr)); + m_qnow = XMQuaternionNormalize(m_qnow); + } + } + + void OnEnd() + { + m_drag = false; + } + void SetWindow(int width, int height) + { + m_width = float(width); + m_height = float(height); + } + + void SetRadius(float radius) + { + m_radius = radius; + } + + XMVECTOR GetQuat() const { return m_qnow; } + + bool IsDragging() const { return m_drag; } + + private: + float m_width; + float m_height; + float m_radius; + XMVECTOR m_qdown; + XMVECTOR m_qnow; + XMVECTOR m_downPoint; + bool m_drag; + + DirectX::XMVECTOR ScreenToVector(float screenx, float screeny) + { + float x = -(screenx - m_width / 2.f) / (m_radius * m_width / 2.f); + float y = (screeny - m_height / 2.f) / (m_radius * m_height / 2.f); + + float z = 0.0f; + float mag = x * x + y * y; + + if (mag > 1.0f) + { + float scale = 1.0f / sqrtf(mag); + x *= scale; + y *= scale; + } + else + z = sqrtf(1.0f - mag); + + return DirectX::XMVectorSet(x, y, z, 0); + } + + static DirectX::XMVECTOR QuatFromBallPoints(DirectX::FXMVECTOR vFrom, DirectX::FXMVECTOR vTo) + { + using namespace DirectX; + XMVECTOR dot = XMVector3Dot(vFrom, vTo); + XMVECTOR vPart = XMVector3Cross(vFrom, vTo); + return XMVectorSelect(dot, vPart, g_XMSelect1110); + } + }; +} + + +class __declspec(align(16)) OrbitCamera::Impl +{ +public: + Impl() : + m_nearDistance(0.1f), + m_farDistance(10000.f), + m_fov(XM_PI / 4.f), + m_defaultSensitivity(1.f), + m_minSensitivity(0.01f), + m_maxSensitivity(10.f), + m_stepSensitivity(0.01f), + m_defaultRadius(5.f), + m_minRadius(1.f), + m_maxRadius(FLT_MAX), + m_rotRate(1.f), + m_radiusRate(1.f), + m_flags(0), + m_lhcoords(false), +#ifdef _XBOX_ONE + m_width(1920), + m_height(1080) +#else + m_width(1280), + m_height(720) +#endif + { + m_view = m_projection = XMMatrixIdentity(); + m_cameraPosition = m_homeFocus = g_XMZero; + m_homeRotation = g_XMIdentityR3; + + m_bounds.Center.x = m_bounds.Center.y = m_bounds.Center.z = 0.f; + m_bounds.Extents.x = m_bounds.Extents.y = m_bounds.Extents.z = FLT_MAX; + + Reset(); + } + + void Update(float elapsedTime, const GamePad::State& pad) + { + using namespace DirectX::SimpleMath; + + float handed = (m_lhcoords) ? 1.f : -1.f; + + Matrix im = XMMatrixInverse(nullptr, GetView()); + + if (!(m_flags & c_FlagsDisableTranslation)) + { + // Translate camera + Vector3 move = Vector3::Zero; + + if (pad.IsDPadUpPressed()) + { + move.y += 1.f; + } + else if (pad.IsDPadDownPressed()) + { + move.y -= 1.f; + } + + if (pad.IsDPadLeftPressed()) + { + move.x -= 1.f; + } + else if (pad.IsDPadRightPressed()) + { + move.x += 1.f; + } + + if (move.x != 0 || move.y != 0) + { + move = Vector3::TransformNormal(move, im); + + m_focus += move * elapsedTime * m_sensitivity; + + Vector3 minBound = m_bounds.Center - m_bounds.Extents; + Vector3 maxBound = m_bounds.Center + m_bounds.Extents; + m_focus = XMVectorMax(minBound, XMVectorMin(maxBound, m_focus)); + + m_viewDirty = true; + } + } + + // Rotate camera + Vector3 orbit(pad.thumbSticks.rightX, pad.thumbSticks.rightY, pad.thumbSticks.leftX); + orbit *= elapsedTime * m_rotRate; + + if (orbit.x != 0 || orbit.y != 0 || orbit.z != 0) + { + m_cameraRotation = XMQuaternionMultiply(m_cameraRotation, XMQuaternionRotationAxis(im.Right(), orbit.y * handed)); + m_cameraRotation = XMQuaternionMultiply(m_cameraRotation, XMQuaternionRotationAxis(im.Up(), -orbit.x * handed)); + + if (!(m_flags & c_FlagsDisableRollZ)) + { + m_cameraRotation = XMQuaternionMultiply(m_cameraRotation, XMQuaternionRotationAxis(im.Forward(), orbit.z)); + } + + m_cameraRotation = XMQuaternionNormalize(m_cameraRotation); + m_viewDirty = true; + } + + if (!(m_flags & c_FlagsDisableRadiusControl)) + { + if (pad.thumbSticks.leftY != 0) + { + m_radius -= pad.thumbSticks.leftY * elapsedTime * m_radiusRate; + m_radius = std::max(m_minRadius, std::min(m_maxRadius, m_radius)); + m_viewDirty = true; + } + } + + // Other controls + if (pad.IsLeftShoulderPressed() && pad.IsRightShoulderPressed()) + { + m_sensitivity = m_defaultSensitivity; + +#ifdef _DEBUG + (void)GetView(); + + char buff[128] = {}; + Vector4 tmp = m_cameraPosition; + sprintf_s(buff, "cameraPosition = { %2.2ff, %2.2ff, %2.2ff, 0.f};\n", tmp.x, tmp.y, tmp.z); + OutputDebugStringA(buff); + + tmp = m_cameraRotation; + sprintf_s(buff, "cameraRotation = { %2.2ff, %2.2ff, %2.2ff, %2.2ff};\n", tmp.x, tmp.y, tmp.z, tmp.w ); + OutputDebugStringA(buff); +#endif + } + else if (!(m_flags & c_FlagsDisableSensitivityControl)) + { + if (pad.IsRightShoulderPressed()) + { + m_sensitivity += m_stepSensitivity; + if (m_sensitivity > m_maxSensitivity) + m_sensitivity = m_maxSensitivity; + } + else if (pad.IsLeftShoulderPressed()) + { + m_sensitivity -= m_stepSensitivity; + if (m_sensitivity < m_minSensitivity) + m_sensitivity = m_minSensitivity; + } + } + + if (pad.IsRightStickPressed()) + { + Reset(); + } + + if (pad.IsLeftStickPressed() && !(m_flags & c_FlagsDisableFrameExtentsReset)) + { + m_radius = m_defaultRadius; + m_focus = m_homeFocus; + m_viewDirty = true; + } + } + + void Update(float elapsedTime, Mouse& mouse, Keyboard& kb) + { + using namespace DirectX::SimpleMath; + + float handed = (m_lhcoords) ? 1.f : -1.f; + + Matrix im = XMMatrixInverse(nullptr, GetView()); + + auto mstate = mouse.GetState(); + auto kbstate = kb.GetState(); + + if ((mstate.positionMode != Mouse::MODE_RELATIVE) && !m_arcBall.IsDragging()) + { + // Keyboard controls + if (m_flags & c_FlagsArrowKeysOrbit) + { + Vector3 orbit = Vector3::Zero; + + if (kbstate.Up || kbstate.W) + orbit.y = 1.f; + + if (kbstate.Down || kbstate.S) + orbit.y = -1.f; + + if (kbstate.Right || kbstate.D) + orbit.x = 1.f; + + if (kbstate.Left || kbstate.A) + orbit.x = -1.f; + + if (kbstate.Q) + orbit.z = -1.f; + + if (kbstate.E) + orbit.z = 1.f; + + if (orbit.x != 0 || orbit.y != 0 || orbit.z != 0) + { + orbit *= elapsedTime * m_rotRate; + + m_cameraRotation = XMQuaternionMultiply(m_cameraRotation, XMQuaternionRotationAxis(im.Right(), orbit.y * handed)); + m_cameraRotation = XMQuaternionMultiply(m_cameraRotation, XMQuaternionRotationAxis(im.Up(), -orbit.x * handed)); + + if (!(m_flags & c_FlagsDisableRollZ)) + { + m_cameraRotation = XMQuaternionMultiply(m_cameraRotation, XMQuaternionRotationAxis(im.Forward(), orbit.z)); + } + + m_cameraRotation = XMQuaternionNormalize(m_cameraRotation); + m_viewDirty = true; + } + } + else if (!(m_flags & c_FlagsDisableTranslation)) + { + // Arrow keys & WASD control translation of camera focus + Vector3 move = Vector3::Zero; + + float scale = m_radius; + if (kbstate.LeftShift || kbstate.RightShift) + scale *= 0.5f; + + if (m_flags & c_FlagsArrowKeys_XZ) + { + if (kbstate.PageUp) + move.y += scale; + + if (kbstate.PageDown) + move.y -= scale; + + if (kbstate.Up || kbstate.W) + move.z += scale * handed; + + if (kbstate.Down || kbstate.S) + move.z -= scale * handed; + } + else + { + if (kbstate.Up || kbstate.W) + move.y += scale; + + if (kbstate.Down || kbstate.S) + move.y -= scale; + + if (kbstate.PageUp) + move.z += scale * handed; + + if (kbstate.PageDown) + move.z -= scale * handed; + } + + if (kbstate.Right || kbstate.D) + move.x += scale; + + if (kbstate.Left || kbstate.A) + move.x -= scale; + + if (move.x != 0 || move.y != 0 || move.z != 0) + { + move = Vector3::TransformNormal(move, im); + + m_focus += move * elapsedTime; + + Vector3 minBound = m_bounds.Center - m_bounds.Extents; + Vector3 maxBound = m_bounds.Center + m_bounds.Extents; + m_focus = XMVectorMax(minBound, XMVectorMin(maxBound, m_focus)); + + m_viewDirty = true; + } + } + + if (kbstate.Home) + { + Reset(); + } + else if (kbstate.End && !(m_flags & c_FlagsDisableFrameExtentsReset)) + { + m_radius = m_defaultRadius; + m_focus = m_homeFocus; + m_viewDirty = true; + } + } + + // Mouse controls + if (mstate.positionMode == Mouse::MODE_RELATIVE) + { + if (!(m_flags & c_FlagsDisableTranslation)) + { + // Translate camera + Vector3 delta; + if (kbstate.LeftShift || kbstate.RightShift) + { + delta = Vector3(0.f, 0.f, -float(mstate.y) * handed) * m_radius * elapsedTime; + } + else + { + delta = Vector3(-float(mstate.x), float(mstate.y), 0.f) * m_radius * elapsedTime; + } + + delta = Vector3::TransformNormal(delta, im); + + m_focus += delta * elapsedTime * m_sensitivity; + + Vector3 minBound = m_bounds.Center - m_bounds.Extents; + Vector3 maxBound = m_bounds.Center + m_bounds.Extents; + m_focus = XMVectorMax(minBound, XMVectorMin(maxBound, m_focus)); + + m_viewDirty = true; + } + } + else if (m_arcBall.IsDragging()) + { + // Rotate camera + m_arcBall.OnMove(mstate.x, mstate.y); + m_cameraRotation = XMQuaternionInverse(m_arcBall.GetQuat()); + m_viewDirty = true; + } + else if (!(m_flags & c_FlagsDisableRadiusControl)) + { + // Radius with scroll wheel + m_radius = m_defaultRadius - ((float(mstate.scrollWheelValue) / 120.f) * m_radiusRate); + m_radius = std::max(m_minRadius, std::min(m_maxRadius, m_radius)); + m_viewDirty = true; + } + + if (!m_arcBall.IsDragging()) + { + if (mstate.rightButton && mstate.positionMode == Mouse::MODE_ABSOLUTE) + mouse.SetMode(Mouse::MODE_RELATIVE); + else if (!mstate.rightButton && mstate.positionMode == Mouse::MODE_RELATIVE) + mouse.SetMode(Mouse::MODE_ABSOLUTE); + + if (mstate.leftButton) + { + m_arcBall.OnBegin(mstate.x, mstate.y, XMQuaternionInverse(m_cameraRotation)); + } + } + else if (!mstate.leftButton) + { + m_arcBall.OnEnd(); + } + } + + void Reset() + { + m_focus = m_homeFocus; + m_radius = m_defaultRadius; + m_cameraRotation = m_homeRotation; + m_sensitivity = m_defaultSensitivity; + m_viewDirty = m_projDirty = true; + m_arcBall.Reset(); + m_arcBall.OnEnd(); + } + + mutable XMMATRIX m_view; + mutable XMMATRIX m_projection; + mutable XMVECTOR m_cameraPosition; + + XMVECTOR m_focus; + XMVECTOR m_homeFocus; + + XMVECTOR m_cameraRotation; + XMVECTOR m_homeRotation; + + float m_nearDistance; + float m_farDistance; + float m_fov; + float m_sensitivity; + float m_defaultSensitivity; + float m_minSensitivity; + float m_maxSensitivity; + float m_stepSensitivity; + float m_radius; + float m_defaultRadius; + float m_minRadius; + float m_maxRadius; + float m_rotRate; + float m_radiusRate; + unsigned int m_flags; + + bool m_lhcoords; + mutable bool m_viewDirty; + mutable bool m_projDirty; + + int m_width; + int m_height; + + DirectX::BoundingBox m_bounds; + + ArcBall m_arcBall; + + XMMATRIX GetView() const + { + m_viewDirty = false; + + XMVECTOR dir = XMVector3Rotate((m_lhcoords) ? g_XMNegIdentityR2 : g_XMIdentityR2, m_cameraRotation); + XMVECTOR up = XMVector3Rotate(g_XMIdentityR1, m_cameraRotation); + + m_cameraPosition = m_focus + m_radius * dir; + + if (m_lhcoords) + { + m_view = XMMatrixLookAtLH(m_cameraPosition, m_focus, up); + } + else + { + m_view = XMMatrixLookAtRH(m_cameraPosition, m_focus, up); + } + + return m_view; + } + + XMMATRIX GetProjection() const + { + m_projDirty = false; + + float aspectRatio = (m_height > 0.f) ? (float(m_width) / float(m_height)) : 1.f; + + if (m_lhcoords) + { + m_projection = XMMatrixPerspectiveFovLH(m_fov, aspectRatio, m_nearDistance, m_farDistance); + } + else + { + m_projection = XMMatrixPerspectiveFovRH(m_fov, aspectRatio, m_nearDistance, m_farDistance); + } + + return m_projection; + } +}; + + +// Public constructor. +OrbitCamera::OrbitCamera() +{ + auto ptr = reinterpret_cast(_aligned_malloc(sizeof(Impl), 16)); + pImpl.reset(new (ptr) Impl); + pImpl->Reset(); +} + + +// Move constructor. +OrbitCamera::OrbitCamera(OrbitCamera&& moveFrom) + : pImpl(std::move(moveFrom.pImpl)) +{ +} + + +// Move assignment. +OrbitCamera& OrbitCamera::operator= (OrbitCamera&& moveFrom) +{ + pImpl = std::move(moveFrom.pImpl); + return *this; +} + + +// Public destructor. +OrbitCamera::~OrbitCamera() +{ +} + + +// Public methods. +void OrbitCamera::Update(float elapsedTime, const GamePad::State& pad) +{ + pImpl->Update(elapsedTime, pad); +} + +void OrbitCamera::Update(float elapsedTime, Mouse& mouse, Keyboard& kb) +{ + pImpl->Update(elapsedTime, mouse, kb); +} + +void OrbitCamera::Reset() +{ + pImpl->Reset(); +} + +void OrbitCamera::SetWindow(int width, int height) +{ + pImpl->m_projDirty = true; + pImpl->m_width = width; + pImpl->m_height = height; + pImpl->m_arcBall.SetWindow(width, height); +} + +void OrbitCamera::SetProjectionParameters(float fov, float nearDistance, float farDistance, bool lhcoords) +{ + pImpl->m_projDirty = true; + pImpl->m_fov = fov; + pImpl->m_nearDistance = nearDistance; + pImpl->m_farDistance = farDistance; + pImpl->m_lhcoords = lhcoords; +} + +void OrbitCamera::SetFlags(unsigned int flags) +{ + pImpl->m_flags = flags; +} + +void OrbitCamera::SetRadius(float defaultRadius, float minRadius, float maxRadius) +{ + pImpl->m_viewDirty = true; + pImpl->m_radius = pImpl->m_defaultRadius = defaultRadius; + pImpl->m_minRadius = minRadius; + pImpl->m_maxRadius = maxRadius; +} + +void OrbitCamera::SetSensitivity(float defaultSensitivity, float minSensitivity, float maxSensitivity, float stepSensitivity) +{ + pImpl->m_sensitivity = pImpl->m_defaultSensitivity = defaultSensitivity; + pImpl->m_minSensitivity = minSensitivity; + pImpl->m_maxSensitivity = maxSensitivity; + pImpl->m_stepSensitivity = stepSensitivity; +} + +void OrbitCamera::SetRotationRate(float rotRate) +{ + pImpl->m_rotRate = rotRate; +} + +void OrbitCamera::SetRadiusRate(float radiusRate) +{ + pImpl->m_radiusRate = radiusRate; +} + +void OrbitCamera::SetBoundingBox(const DirectX::BoundingBox& box) +{ + pImpl->m_bounds = box; +} + +void XM_CALLCONV OrbitCamera::SetFocus(FXMVECTOR focus) +{ + pImpl->m_viewDirty = true; + pImpl->m_focus = pImpl->m_homeFocus = focus; +} + +void XM_CALLCONV OrbitCamera::SetRotation(FXMVECTOR rotation) +{ + XMVECTOR nr = XMQuaternionNormalize(rotation); + + pImpl->m_viewDirty = true; + pImpl->m_cameraRotation = pImpl->m_homeRotation = nr; +} + +void OrbitCamera::SetFrameExtents(const DirectX::BoundingSphere& sphere) +{ + pImpl->m_viewDirty = true; + + pImpl->m_radius = pImpl->m_defaultRadius = sphere.Radius * 2.f; + + XMVECTOR v = XMLoadFloat3(&sphere.Center); + pImpl->m_focus = pImpl->m_homeFocus = v; +} + +void OrbitCamera::SetFrameExtents(const DirectX::BoundingBox& box) +{ + pImpl->m_viewDirty = true; + + BoundingSphere sphere; + sphere.Center = box.Center; + sphere.Radius = std::max(box.Extents.x, std::max(box.Extents.y, box.Extents.z)); + + pImpl->m_radius = pImpl->m_defaultRadius = sphere.Radius * 2.f; + + XMVECTOR v = XMLoadFloat3(&sphere.Center); + pImpl->m_focus = pImpl->m_homeFocus = v; +} + + +// Public accessors. +XMMATRIX OrbitCamera::GetView() const +{ + if (pImpl->m_viewDirty) + { + return pImpl->GetView(); + } + else + { + return pImpl->m_view; + } +} + +XMMATRIX OrbitCamera::GetProjection() const +{ + if (pImpl->m_projDirty) + { + return pImpl->GetProjection(); + } + else + { + return pImpl->m_projection; + } +} + +XMVECTOR OrbitCamera::GetFocus() const +{ + return pImpl->m_focus; +} + +XMVECTOR OrbitCamera::GetPosition() const +{ + if (pImpl->m_viewDirty) + { + (void)pImpl->GetView(); + } + return pImpl->m_cameraPosition; +} + +unsigned int OrbitCamera::GetFlags() const +{ + return pImpl->m_flags; +} \ No newline at end of file diff --git a/Kits/ATGTK/OrbitCamera.h b/Kits/ATGTK/OrbitCamera.h new file mode 100644 index 00000000..b0a8f33e --- /dev/null +++ b/Kits/ATGTK/OrbitCamera.h @@ -0,0 +1,133 @@ +//-------------------------------------------------------------------------------------- +// File: OrbitCamera.h +// +// Helper for implementing Model-View camera +// +// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF +// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO +// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A +// PARTICULAR PURPOSE. +// +// Copyright(c) Microsoft Corporation. All rights reserved. +//------------------------------------------------------------------------------------- + +#pragma once + +#include +#include "GamePad.h" + + +namespace DirectX +{ + class Keyboard; + class Mouse; + + struct BoundingSphere; + struct BoundingBox; +} + +namespace DX +{ + class OrbitCamera + { + public: + OrbitCamera(); + + OrbitCamera(OrbitCamera&& moveFrom); + OrbitCamera& operator= (OrbitCamera&& moveFrom); + + OrbitCamera(OrbitCamera const&) = delete; + OrbitCamera& operator=(OrbitCamera const&) = delete; + + virtual ~OrbitCamera(); + + // Perform per-frame update using gamepad controls + // + // Right Thumbstick: Orbit Right, Left, Up, Down + // Left Thumbstick X: Roll Z + // Left Thumbstick Y: Increase/decrease orbit radius + // Left Thumbstick Button: Return to default focus/radius (frame extents) + // Right Thumstick Button: Reset camera + // Left/Right Shoulder Button: Increase/decrease/reset translation sensitivity + // DPad: Translate X/Y + // + void Update(float elapsedTime, const DirectX::GamePad::State& pad); + + // Perform per-frame update using keyboard & mouse controls + // + // WASD & Arrow Keys: Translate X/Y + // PageUp / PageDown: Translate Z + // End: Return to default focus/radius (frame extents) + // Home: Reset camera + // + // Hold Left Mouse Button: Orbit X/Y + // Hold Right Mouse Button: Translate X/Y (Shift Translates Z) + // Scroll wheel: Increase/decrease orbit radius + // + void Update(float elapsedTime, DirectX::Mouse& mouse, DirectX::Keyboard& kb); + + // Reset camera to default view + void Reset(); + + // Set projection window (pixels) + void SetWindow(int width, int height); + + // Set projection parameters + void SetProjectionParameters(float fov, float nearDistance, float farDistance, bool lhcoords = false); + + // Set model-view radius and radius limits + void SetRadius(float defaultRadius, float minRadius = 1.f, float maxRadius = FLT_MAX); + + // Set translation sensitivity and limits + void SetSensitivity(float defaultSensitivity, float minSensitivity, float maxSensitivity, float stepSensitivity); + + // Set rotation rate + void SetRotationRate(float rotRate); + + // Set radius rate + void SetRadiusRate(float radiusRate); + + // Set focus bounds (manually set properties are assumed to be in bounds) + void SetBoundingBox(const DirectX::BoundingBox& box); + + // Manually set initial/default focus/rotation + void XM_CALLCONV SetFocus(DirectX::FXMVECTOR focus); + void XM_CALLCONV SetRotation(DirectX::FXMVECTOR rotation); + + // Sets initial/default focus and radius to view a bounding volume + void SetFrameExtents(const DirectX::BoundingSphere& sphere); + void SetFrameExtents(const DirectX::BoundingBox& box); + + // Behavior control flags + static const unsigned int c_FlagsDisableTranslation = 0x1; // Disables all translation controls + static const unsigned int c_FlagsDisableRollZ = 0x2; // Disable roll in Z + static const unsigned int c_FlagsArrowKeys_XZ = 0x4; // WASD: Instead of translate X/Y, do translate in X/Z + static const unsigned int c_FlagsArrowKeysOrbit = 0x8; // WASD: Orbit X/Y instead of translate, Q/E roll in Z + static const unsigned int c_FlagsDisableRadiusControl = 0x10; // Disable radius controls + static const unsigned int c_FlagsDisableSensitivityControl = 0x20; // Disable sensitivity controls + static const unsigned int c_FlagsDisableFrameExtentsReset = 0x40; // Disable frame extents controls + + void SetFlags(unsigned int flags); + + // Returns view and projection matrices for camera + DirectX::XMMATRIX GetView() const; + DirectX::XMMATRIX GetProjection() const; + + // Returns the current focus point + DirectX::XMVECTOR GetFocus() const; + + // Returns the current camera position + DirectX::XMVECTOR GetPosition() const; + + // Returns current behavior control flags + unsigned int GetFlags() const; + + private: + // Private implementation. + class Impl; + + struct aligned_deleter { void operator()(void* p) { _aligned_free(p); } }; + + std::unique_ptr pImpl; + }; +} \ No newline at end of file diff --git a/Kits/ATGTK/TextConsole.cpp b/Kits/ATGTK/TextConsole.cpp index 618340b0..a07887c8 100644 --- a/Kits/ATGTK/TextConsole.cpp +++ b/Kits/ATGTK/TextConsole.cpp @@ -217,6 +217,16 @@ void TextConsole::RestoreDevice(ID3D11DeviceContext* context, const wchar_t* fon m_font->SetDefaultCharacter(L' '); } + +void TextConsole::SetRotation(DXGI_MODE_ROTATION rotation) +{ + if (m_batch) + { + m_batch->SetRotation(rotation); + } +} + + void TextConsole::ProcessString(const wchar_t* str) { if (!m_lines) @@ -331,7 +341,7 @@ void TextConsoleImage::RestoreDevice(ID3D11DeviceContext* context, const wchar_t ComPtr device; context->GetDevice(device.GetAddressOf()); - WCHAR ext[_MAX_EXT]; + wchar_t ext[_MAX_EXT]; _wsplitpath_s(image, nullptr, 0, nullptr, 0, nullptr, 0, ext, _MAX_EXT); if (_wcsicmp(ext, L".dds") == 0) diff --git a/Kits/ATGTK/TextConsole.h b/Kits/ATGTK/TextConsole.h index d54f0550..8aa8a52c 100644 --- a/Kits/ATGTK/TextConsole.h +++ b/Kits/ATGTK/TextConsole.h @@ -48,6 +48,8 @@ namespace DX void ReleaseDevice(); void RestoreDevice(ID3D11DeviceContext* context, const wchar_t* fontName); + void SetRotation(DXGI_MODE_ROTATION rotation); + protected: void ProcessString(const wchar_t* str); void IncrementLine(); diff --git a/Kits/DirectXTK/Audio/AudioEngine.cpp b/Kits/DirectXTK/Audio/AudioEngine.cpp index f26e2a6a..80980b22 100644 --- a/Kits/DirectXTK/Audio/AudioEngine.cpp +++ b/Kits/DirectXTK/Audio/AudioEngine.cpp @@ -30,11 +30,7 @@ namespace { EngineCallback() { -#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA) mCriticalError.reset( CreateEventEx( nullptr, nullptr, 0, EVENT_MODIFY_STATE | SYNCHRONIZE ) ); -#else - mCriticalError.reset( CreateEvent( nullptr, FALSE, FALSE, nullptr ) ); -#endif if ( !mCriticalError ) { throw std::exception( "CreateEvent" ); @@ -64,11 +60,7 @@ namespace { VoiceCallback() { -#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA) mBufferEnd.reset( CreateEventEx( nullptr, nullptr, 0, EVENT_MODIFY_STATE | SYNCHRONIZE ) ); -#else - mBufferEnd.reset( CreateEvent( nullptr, FALSE, FALSE, nullptr ) ); -#endif if ( !mBufferEnd ) { throw std::exception( "CreateEvent" ); @@ -434,7 +426,7 @@ HRESULT AudioEngine::Impl::Reset( const WAVEFORMATEX* wfx, const wchar_t* device if ( mEngineFlags & AudioEngine_Debug ) { - XAUDIO2_DEBUG_CONFIGURATION debug ={0}; + XAUDIO2_DEBUG_CONFIGURATION debug = {}; debug.TraceMask = XAUDIO2_LOG_ERRORS | XAUDIO2_LOG_WARNINGS; debug.BreakMask = XAUDIO2_LOG_ERRORS; xaudio2->SetDebugConfiguration( &debug, nullptr ); @@ -589,7 +581,7 @@ HRESULT AudioEngine::Impl::Reset( const WAVEFORMATEX* wfx, const wchar_t* device // if ( mEngineFlags & AudioEngine_UseMasteringLimiter ) { - FXMASTERINGLIMITER_PARAMETERS params = {0}; + FXMASTERINGLIMITER_PARAMETERS params = {}; params.Release = FXMASTERINGLIMITER_DEFAULT_RELEASE; params.Loudness = FXMASTERINGLIMITER_DEFAULT_LOUDNESS; @@ -605,7 +597,7 @@ HRESULT AudioEngine::Impl::Reset( const WAVEFORMATEX* wfx, const wchar_t* device return hr; } - XAUDIO2_EFFECT_DESCRIPTOR desc = {0}; + XAUDIO2_EFFECT_DESCRIPTOR desc = {}; desc.InitialState = TRUE; desc.OutputChannels = masterChannels; desc.pEffect = mVolumeLimiter.Get(); @@ -911,7 +903,7 @@ void AudioEngine::Impl::SetMasteringLimit( int release, int loudness ) if ( ( loudness < FXMASTERINGLIMITER_MIN_LOUDNESS ) || ( loudness > FXMASTERINGLIMITER_MAX_LOUDNESS ) ) throw std::out_of_range( "AudioEngine::SetMasteringLimit" ); - FXMASTERINGLIMITER_PARAMETERS params = {0}; + FXMASTERINGLIMITER_PARAMETERS params = {}; params.Release = static_cast( release ); params.Loudness = static_cast( loudness ); @@ -922,8 +914,7 @@ void AudioEngine::Impl::SetMasteringLimit( int release, int loudness ) AudioStatistics AudioEngine::Impl::GetStatistics() const { - AudioStatistics stats; - memset( &stats, 0, sizeof(stats) ); + AudioStatistics stats = {}; stats.allocatedVoices = stats.allocatedVoicesOneShot = mOneShots.size() + mVoicePool.size(); stats.allocatedVoicesIdle = mVoicePool.size(); @@ -1025,8 +1016,7 @@ void AudioEngine::Impl::AllocateVoice( const WAVEFORMATEX* wfx, SOUND_EFFECT_INS if (wfx->nChannels == 1 || wfx->nChannels == 2) { // Reset any panning - float matrix[16]; - memset( matrix, 0, sizeof(float) * 16 ); + float matrix[16] = {}; ComputePan( 0.f, wfx->nChannels, matrix ); hr = (*voice)->SetOutputMatrix(nullptr, wfx->nChannels, masterChannels, matrix); @@ -1043,7 +1033,7 @@ void AudioEngine::Impl::AllocateVoice( const WAVEFORMATEX* wfx, SOUND_EFFECT_INS { // makeVoiceKey already constrained the supported wfx formats to those supported for reuse - char buff[64] = {0}; + char buff[64] = {}; auto wfmt = reinterpret_cast( buff ); uint32_t tag = GetFormatTag( wfx ); @@ -1429,8 +1419,7 @@ AudioStatistics AudioEngine::GetStatistics() const WAVEFORMATEXTENSIBLE AudioEngine::GetOutputFormat() const { - WAVEFORMATEXTENSIBLE wfx; - memset( &wfx, 0, sizeof(WAVEFORMATEXTENSIBLE) ); + WAVEFORMATEXTENSIBLE wfx = {}; if ( !pImpl->xaudio2 ) return wfx; diff --git a/Kits/DirectXTK/Audio/DynamicSoundEffectInstance.cpp b/Kits/DirectXTK/Audio/DynamicSoundEffectInstance.cpp index 0135ffec..f497fc1b 100644 --- a/Kits/DirectXTK/Audio/DynamicSoundEffectInstance.cpp +++ b/Kits/DirectXTK/Audio/DynamicSoundEffectInstance.cpp @@ -56,11 +56,7 @@ public: throw std::invalid_argument( "DynamicSoundEffectInstance" ); } -#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA) mBufferEvent.reset( CreateEventEx( nullptr, nullptr, 0, EVENT_MODIFY_STATE | SYNCHRONIZE ) ); -#else - mBufferEvent.reset( CreateEvent( nullptr, FALSE, FALSE, nullptr ) ); -#endif if ( !mBufferEvent ) { throw std::exception( "CreateEvent" ); @@ -179,9 +175,7 @@ void DynamicSoundEffectInstance::Impl::SubmitBuffer( const uint8_t* pAudioData, throw std::out_of_range( "SubmitBuffer" ); #endif - XAUDIO2_BUFFER buffer; - memset( &buffer, 0, sizeof(buffer) ); - + XAUDIO2_BUFFER buffer = {}; buffer.AudioBytes = static_cast( audioBytes ); buffer.pAudioData = pAudioData; diff --git a/Kits/DirectXTK/Audio/SoundEffect.cpp b/Kits/DirectXTK/Audio/SoundEffect.cpp index bb85a61d..7cfdb8ce 100644 --- a/Kits/DirectXTK/Audio/SoundEffect.cpp +++ b/Kits/DirectXTK/Audio/SoundEffect.cpp @@ -322,8 +322,7 @@ void SoundEffect::Impl::Play( float volume, float pitch, float pan ) HRESULT hr = voice->Start( 0 ); ThrowIfFailed( hr ); - XAUDIO2_BUFFER buffer; - memset( &buffer, 0, sizeof(buffer) ); + XAUDIO2_BUFFER buffer = {}; buffer.AudioBytes = mAudioBytes; buffer.pAudioData = mStartAudio; buffer.Flags = XAUDIO2_END_OF_STREAM; @@ -334,9 +333,7 @@ void SoundEffect::Impl::Play( float volume, float pitch, float pan ) uint32_t tag = GetFormatTag( mWaveFormat ); if ( tag == WAVE_FORMAT_WMAUDIO2 || tag == WAVE_FORMAT_WMAUDIO3 ) { - XAUDIO2_BUFFER_WMA wmaBuffer; - memset( &wmaBuffer, 0, sizeof(wmaBuffer) ); - + XAUDIO2_BUFFER_WMA wmaBuffer = {}; wmaBuffer.PacketCount = mSeekCount; wmaBuffer.pDecodedPacketCumulativeBytes = mSeekTable; diff --git a/Kits/DirectXTK/Audio/WAVFileReader.cpp b/Kits/DirectXTK/Audio/WAVFileReader.cpp index ebd91af8..4ecff8e2 100644 --- a/Kits/DirectXTK/Audio/WAVFileReader.cpp +++ b/Kits/DirectXTK/Audio/WAVFileReader.cpp @@ -496,33 +496,26 @@ static HRESULT LoadAudioFromFile( _In_z_ const wchar_t* szFileName, _Inout_ std: } // Get the file size - LARGE_INTEGER FileSize = { 0 }; - -#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA) FILE_STANDARD_INFO fileInfo; if ( !GetFileInformationByHandleEx( hFile.get(), FileStandardInfo, &fileInfo, sizeof(fileInfo) ) ) { return HRESULT_FROM_WIN32( GetLastError() ); } - FileSize = fileInfo.EndOfFile; -#else - GetFileSizeEx( hFile.get(), &FileSize ); -#endif // File is too big for 32-bit allocation, so reject read - if (FileSize.HighPart > 0) + if (fileInfo.EndOfFile.HighPart > 0) { return E_FAIL; } // Need at least enough data to have a valid minimal WAV file - if (FileSize.LowPart < ( sizeof(RIFFChunk)*2 + sizeof(DWORD) + sizeof(WAVEFORMAT) ) ) + if (fileInfo.EndOfFile.LowPart < ( sizeof(RIFFChunk)*2 + sizeof(DWORD) + sizeof(WAVEFORMAT) ) ) { return E_FAIL; } // create enough space for the file data - wavData.reset( new (std::nothrow) uint8_t[ FileSize.LowPart ] ); + wavData.reset( new (std::nothrow) uint8_t[ fileInfo.EndOfFile.LowPart ] ); if (!wavData) { return E_OUTOFMEMORY; @@ -531,7 +524,7 @@ static HRESULT LoadAudioFromFile( _In_z_ const wchar_t* szFileName, _Inout_ std: // read the data in if (!ReadFile( hFile.get(), wavData.get(), - FileSize.LowPart, + fileInfo.EndOfFile.LowPart, bytesRead, nullptr )) @@ -539,7 +532,7 @@ static HRESULT LoadAudioFromFile( _In_z_ const wchar_t* szFileName, _Inout_ std: return HRESULT_FROM_WIN32( GetLastError() ); } - return (*bytesRead < FileSize.LowPart) ? E_FAIL : S_OK; + return (*bytesRead < fileInfo.EndOfFile.LowPart) ? E_FAIL : S_OK; } diff --git a/Kits/DirectXTK/Audio/WaveBank.cpp b/Kits/DirectXTK/Audio/WaveBank.cpp index d67fd4e8..64417701 100644 --- a/Kits/DirectXTK/Audio/WaveBank.cpp +++ b/Kits/DirectXTK/Audio/WaveBank.cpp @@ -206,9 +206,7 @@ void WaveBank::Impl::Play( int index, float volume, float pitch, float pan ) hr = voice->Start( 0 ); ThrowIfFailed( hr ); - XAUDIO2_BUFFER buffer; - memset( &buffer, 0, sizeof(buffer) ); - + XAUDIO2_BUFFER buffer = {}; hr = mReader.GetWaveData( index, &buffer.pAudioData, buffer.AudioBytes ); ThrowIfFailed( hr ); @@ -221,8 +219,7 @@ void WaveBank::Impl::Play( int index, float volume, float pitch, float pan ) #if defined(_XBOX_ONE) || (_WIN32_WINNT < _WIN32_WINNT_WIN8) || (_WIN32_WINNT >= _WIN32_WINNT_WIN10) - XAUDIO2_BUFFER_WMA wmaBuffer; - memset( &wmaBuffer, 0, sizeof(wmaBuffer) ); + XAUDIO2_BUFFER_WMA wmaBuffer = {}; uint32_t tag; hr = mReader.GetSeekTable( index, &wmaBuffer.pDecodedPacketCumulativeBytes, wmaBuffer.PacketCount, tag ); diff --git a/Kits/DirectXTK/Audio/WaveBankReader.cpp b/Kits/DirectXTK/Audio/WaveBankReader.cpp index d52ec67e..924325c7 100644 --- a/Kits/DirectXTK/Audio/WaveBankReader.cpp +++ b/Kits/DirectXTK/Audio/WaveBankReader.cpp @@ -504,12 +504,7 @@ HRESULT WaveBankReader::Impl::Open( const wchar_t* szFileName ) m_prepared = false; -#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA) m_event.reset( CreateEventEx( nullptr, nullptr, CREATE_EVENT_MANUAL_RESET, EVENT_MODIFY_STATE | SYNCHRONIZE ) ); -#else - m_event.reset( CreateEvent( nullptr, TRUE, FALSE, nullptr ) ); -#endif - if ( !m_event ) { return HRESULT_FROM_WIN32( GetLastError() ); @@ -540,8 +535,7 @@ HRESULT WaveBankReader::Impl::Open( const wchar_t* szFileName ) } // Read and verify header - OVERLAPPED request; - memset( &request, 0, sizeof(request) ); + OVERLAPPED request = {}; request.hEvent = m_event.get(); bool wait = false; @@ -701,7 +695,7 @@ HRESULT WaveBankReader::Impl::Open( const wchar_t* szFileName ) { DWORD n = m_data.dwEntryNameElementSize * j; - char name[ 64 ] = {0}; + char name[ 64 ] = {}; strncpy_s( name, &temp[ n ], 64 ); m_names[ name ] = j; diff --git a/Kits/DirectXTK/DirectXTK_Windows10.vcxproj b/Kits/DirectXTK/DirectXTK_Windows10.vcxproj index 9b5d5f5f..647af28a 100644 --- a/Kits/DirectXTK/DirectXTK_Windows10.vcxproj +++ b/Kits/DirectXTK/DirectXTK_Windows10.vcxproj @@ -1,4 +1,4 @@ - + @@ -465,4 +465,4 @@ - + \ No newline at end of file diff --git a/Kits/DirectXTK/Inc/DDSTextureLoader.h b/Kits/DirectXTK/Inc/DDSTextureLoader.h index e5f8ce7c..0c4dd993 100644 --- a/Kits/DirectXTK/Inc/DDSTextureLoader.h +++ b/Kits/DirectXTK/Inc/DDSTextureLoader.h @@ -1,7 +1,7 @@ //-------------------------------------------------------------------------------------- // File: DDSTextureLoader.h // -// Functions for loading a DDS texture and creating a Direct3D 11 runtime resource for it +// Functions for loading a DDS texture and creating a Direct3D runtime resource for it // // Note these functions are useful as a light-weight runtime loader for DDS files. For // a full-featured DDS file reader, writer, and texture processing pipeline see @@ -41,118 +41,118 @@ namespace DirectX }; // Standard version - HRESULT __cdecl CreateDDSTextureFromMemory( _In_ ID3D11Device* d3dDevice, - _In_reads_bytes_(ddsDataSize) const uint8_t* ddsData, - _In_ size_t ddsDataSize, - _Outptr_opt_ ID3D11Resource** texture, - _Outptr_opt_ ID3D11ShaderResourceView** textureView, - _In_ size_t maxsize = 0, - _Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr - ); + HRESULT __cdecl CreateDDSTextureFromMemory( + _In_ ID3D11Device* d3dDevice, + _In_reads_bytes_(ddsDataSize) const uint8_t* ddsData, + _In_ size_t ddsDataSize, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView, + _In_ size_t maxsize = 0, + _Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr); - HRESULT __cdecl CreateDDSTextureFromFile( _In_ ID3D11Device* d3dDevice, - _In_z_ const wchar_t* szFileName, - _Outptr_opt_ ID3D11Resource** texture, - _Outptr_opt_ ID3D11ShaderResourceView** textureView, - _In_ size_t maxsize = 0, - _Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr - ); + HRESULT __cdecl CreateDDSTextureFromFile( + _In_ ID3D11Device* d3dDevice, + _In_z_ const wchar_t* szFileName, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView, + _In_ size_t maxsize = 0, + _Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr); // Standard version with optional auto-gen mipmap support + HRESULT __cdecl CreateDDSTextureFromMemory( #if defined(_XBOX_ONE) && defined(_TITLE) - HRESULT __cdecl CreateDDSTextureFromMemory( _In_ ID3D11DeviceX* d3dDevice, - _In_opt_ ID3D11DeviceContextX* d3dContext, + _In_ ID3D11DeviceX* d3dDevice, + _In_opt_ ID3D11DeviceContextX* d3dContext, #else - HRESULT __cdecl CreateDDSTextureFromMemory( _In_ ID3D11Device* d3dDevice, - _In_opt_ ID3D11DeviceContext* d3dContext, + _In_ ID3D11Device* d3dDevice, + _In_opt_ ID3D11DeviceContext* d3dContext, #endif - _In_reads_bytes_(ddsDataSize) const uint8_t* ddsData, - _In_ size_t ddsDataSize, - _Outptr_opt_ ID3D11Resource** texture, - _Outptr_opt_ ID3D11ShaderResourceView** textureView, - _In_ size_t maxsize = 0, - _Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr - ); + _In_reads_bytes_(ddsDataSize) const uint8_t* ddsData, + _In_ size_t ddsDataSize, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView, + _In_ size_t maxsize = 0, + _Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr); + HRESULT __cdecl CreateDDSTextureFromFile( #if defined(_XBOX_ONE) && defined(_TITLE) - HRESULT __cdecl CreateDDSTextureFromFile( _In_ ID3D11DeviceX* d3dDevice, - _In_opt_ ID3D11DeviceContextX* d3dContext, + _In_ ID3D11DeviceX* d3dDevice, + _In_opt_ ID3D11DeviceContextX* d3dContext, #else - HRESULT __cdecl CreateDDSTextureFromFile( _In_ ID3D11Device* d3dDevice, - _In_opt_ ID3D11DeviceContext* d3dContext, + _In_ ID3D11Device* d3dDevice, + _In_opt_ ID3D11DeviceContext* d3dContext, #endif - _In_z_ const wchar_t* szFileName, - _Outptr_opt_ ID3D11Resource** texture, - _Outptr_opt_ ID3D11ShaderResourceView** textureView, - _In_ size_t maxsize = 0, - _Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr - ); + _In_z_ const wchar_t* szFileName, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView, + _In_ size_t maxsize = 0, + _Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr); // Extended version - HRESULT __cdecl CreateDDSTextureFromMemoryEx( _In_ ID3D11Device* d3dDevice, - _In_reads_bytes_(ddsDataSize) const uint8_t* ddsData, - _In_ size_t ddsDataSize, - _In_ size_t maxsize, - _In_ D3D11_USAGE usage, - _In_ unsigned int bindFlags, - _In_ unsigned int cpuAccessFlags, - _In_ unsigned int miscFlags, - _In_ bool forceSRGB, - _Outptr_opt_ ID3D11Resource** texture, - _Outptr_opt_ ID3D11ShaderResourceView** textureView, - _Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr - ); + HRESULT __cdecl CreateDDSTextureFromMemoryEx( + _In_ ID3D11Device* d3dDevice, + _In_reads_bytes_(ddsDataSize) const uint8_t* ddsData, + _In_ size_t ddsDataSize, + _In_ size_t maxsize, + _In_ D3D11_USAGE usage, + _In_ unsigned int bindFlags, + _In_ unsigned int cpuAccessFlags, + _In_ unsigned int miscFlags, + _In_ bool forceSRGB, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView, + _Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr); - HRESULT __cdecl CreateDDSTextureFromFileEx( _In_ ID3D11Device* d3dDevice, - _In_z_ const wchar_t* szFileName, - _In_ size_t maxsize, - _In_ D3D11_USAGE usage, - _In_ unsigned int bindFlags, - _In_ unsigned int cpuAccessFlags, - _In_ unsigned int miscFlags, - _In_ bool forceSRGB, - _Outptr_opt_ ID3D11Resource** texture, - _Outptr_opt_ ID3D11ShaderResourceView** textureView, - _Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr - ); + HRESULT __cdecl CreateDDSTextureFromFileEx( + _In_ ID3D11Device* d3dDevice, + _In_z_ const wchar_t* szFileName, + _In_ size_t maxsize, + _In_ D3D11_USAGE usage, + _In_ unsigned int bindFlags, + _In_ unsigned int cpuAccessFlags, + _In_ unsigned int miscFlags, + _In_ bool forceSRGB, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView, + _Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr); // Extended version with optional auto-gen mipmap support + HRESULT __cdecl CreateDDSTextureFromMemoryEx( #if defined(_XBOX_ONE) && defined(_TITLE) - HRESULT __cdecl CreateDDSTextureFromMemoryEx( _In_ ID3D11DeviceX* d3dDevice, - _In_opt_ ID3D11DeviceContextX* d3dContext, + _In_ ID3D11DeviceX* d3dDevice, + _In_opt_ ID3D11DeviceContextX* d3dContext, #else - HRESULT __cdecl CreateDDSTextureFromMemoryEx( _In_ ID3D11Device* d3dDevice, - _In_opt_ ID3D11DeviceContext* d3dContext, + _In_ ID3D11Device* d3dDevice, + _In_opt_ ID3D11DeviceContext* d3dContext, #endif - _In_reads_bytes_(ddsDataSize) const uint8_t* ddsData, - _In_ size_t ddsDataSize, - _In_ size_t maxsize, - _In_ D3D11_USAGE usage, - _In_ unsigned int bindFlags, - _In_ unsigned int cpuAccessFlags, - _In_ unsigned int miscFlags, - _In_ bool forceSRGB, - _Outptr_opt_ ID3D11Resource** texture, - _Outptr_opt_ ID3D11ShaderResourceView** textureView, - _Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr - ); + _In_reads_bytes_(ddsDataSize) const uint8_t* ddsData, + _In_ size_t ddsDataSize, + _In_ size_t maxsize, + _In_ D3D11_USAGE usage, + _In_ unsigned int bindFlags, + _In_ unsigned int cpuAccessFlags, + _In_ unsigned int miscFlags, + _In_ bool forceSRGB, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView, + _Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr); + HRESULT __cdecl CreateDDSTextureFromFileEx( #if defined(_XBOX_ONE) && defined(_TITLE) - HRESULT __cdecl CreateDDSTextureFromFileEx( _In_ ID3D11DeviceX* d3dDevice, - _In_opt_ ID3D11DeviceContextX* d3dContext, + _In_ ID3D11DeviceX* d3dDevice, + _In_opt_ ID3D11DeviceContextX* d3dContext, #else - HRESULT __cdecl CreateDDSTextureFromFileEx( _In_ ID3D11Device* d3dDevice, - _In_opt_ ID3D11DeviceContext* d3dContext, + _In_ ID3D11Device* d3dDevice, + _In_opt_ ID3D11DeviceContext* d3dContext, #endif - _In_z_ const wchar_t* szFileName, - _In_ size_t maxsize, - _In_ D3D11_USAGE usage, - _In_ unsigned int bindFlags, - _In_ unsigned int cpuAccessFlags, - _In_ unsigned int miscFlags, - _In_ bool forceSRGB, - _Outptr_opt_ ID3D11Resource** texture, - _Outptr_opt_ ID3D11ShaderResourceView** textureView, - _Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr - ); + _In_z_ const wchar_t* szFileName, + _In_ size_t maxsize, + _In_ D3D11_USAGE usage, + _In_ unsigned int bindFlags, + _In_ unsigned int cpuAccessFlags, + _In_ unsigned int miscFlags, + _In_ bool forceSRGB, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView, + _Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr); } \ No newline at end of file diff --git a/Kits/DirectXTK/Inc/DirectXHelpers.h b/Kits/DirectXTK/Inc/DirectXHelpers.h index 468ae461..998d7f7e 100644 --- a/Kits/DirectXTK/Inc/DirectXHelpers.h +++ b/Kits/DirectXTK/Inc/DirectXHelpers.h @@ -56,7 +56,7 @@ namespace DirectX { - // simliar to std::lock_guard for exception-safe Direct3D 11 resource locking + // simliar to std::lock_guard for exception-safe Direct3D resource locking class MapGuard : public D3D11_MAPPED_SUBRESOURCE { public: @@ -113,7 +113,7 @@ namespace DirectX { #if !defined(NO_D3D11_DEBUG_NAME) && ( defined(_DEBUG) || defined(PROFILE) ) #if defined(_XBOX_ONE) && defined(_TITLE) - WCHAR wname[MAX_PATH]; + wchar_t wname[MAX_PATH]; int result = MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED, name, TNameLength, wname, MAX_PATH ); if ( result > 0 ) { diff --git a/Kits/DirectXTK/Inc/Effects.h b/Kits/DirectXTK/Inc/Effects.h index 32b723e7..2ff28713 100644 --- a/Kits/DirectXTK/Inc/Effects.h +++ b/Kits/DirectXTK/Inc/Effects.h @@ -489,7 +489,7 @@ namespace DirectX struct EffectInfo { - const WCHAR* name; + const wchar_t* name; bool perVertexColor; bool enableSkinning; bool enableDualTexture; @@ -499,15 +499,15 @@ namespace DirectX DirectX::XMFLOAT3 diffuseColor; DirectX::XMFLOAT3 specularColor; DirectX::XMFLOAT3 emissiveColor; - const WCHAR* texture; - const WCHAR* texture2; + const wchar_t* texture; + const wchar_t* texture2; EffectInfo() { memset( this, 0, sizeof(EffectInfo) ); }; }; virtual std::shared_ptr __cdecl CreateEffect( _In_ const EffectInfo& info, _In_opt_ ID3D11DeviceContext* deviceContext ) = 0; - virtual void __cdecl CreateTexture( _In_z_ const WCHAR* name, _In_opt_ ID3D11DeviceContext* deviceContext, _Outptr_ ID3D11ShaderResourceView** textureView ) = 0; + virtual void __cdecl CreateTexture( _In_z_ const wchar_t* name, _In_opt_ ID3D11DeviceContext* deviceContext, _Outptr_ ID3D11ShaderResourceView** textureView ) = 0; }; @@ -526,14 +526,14 @@ namespace DirectX // IEffectFactory methods. virtual std::shared_ptr __cdecl CreateEffect( _In_ const EffectInfo& info, _In_opt_ ID3D11DeviceContext* deviceContext ) override; - virtual void __cdecl CreateTexture( _In_z_ const WCHAR* name, _In_opt_ ID3D11DeviceContext* deviceContext, _Outptr_ ID3D11ShaderResourceView** textureView ) override; + virtual void __cdecl CreateTexture( _In_z_ const wchar_t* name, _In_opt_ ID3D11DeviceContext* deviceContext, _Outptr_ ID3D11ShaderResourceView** textureView ) override; // Settings. void __cdecl ReleaseCache(); void __cdecl SetSharing( bool enabled ); - void __cdecl SetDirectory( _In_opt_z_ const WCHAR* path ); + void __cdecl SetDirectory( _In_opt_z_ const wchar_t* path ); private: // Private implementation. @@ -558,27 +558,27 @@ namespace DirectX // IEffectFactory methods. virtual std::shared_ptr __cdecl CreateEffect( _In_ const EffectInfo& info, _In_opt_ ID3D11DeviceContext* deviceContext ) override; - virtual void __cdecl CreateTexture( _In_z_ const WCHAR* name, _In_opt_ ID3D11DeviceContext* deviceContext, _Outptr_ ID3D11ShaderResourceView** textureView ) override; + virtual void __cdecl CreateTexture( _In_z_ const wchar_t* name, _In_opt_ ID3D11DeviceContext* deviceContext, _Outptr_ ID3D11ShaderResourceView** textureView ) override; // DGSL methods. struct DGSLEffectInfo : public EffectInfo { - const WCHAR* textures[6]; - const WCHAR* pixelShader; + const wchar_t* textures[6]; + const wchar_t* pixelShader; DGSLEffectInfo() { memset( this, 0, sizeof(DGSLEffectInfo) ); }; }; virtual std::shared_ptr __cdecl CreateDGSLEffect( _In_ const DGSLEffectInfo& info, _In_opt_ ID3D11DeviceContext* deviceContext ); - virtual void __cdecl CreatePixelShader( _In_z_ const WCHAR* shader, _Outptr_ ID3D11PixelShader** pixelShader ); + virtual void __cdecl CreatePixelShader( _In_z_ const wchar_t* shader, _Outptr_ ID3D11PixelShader** pixelShader ); // Settings. void __cdecl ReleaseCache(); void __cdecl SetSharing( bool enabled ); - void __cdecl SetDirectory( _In_opt_z_ const WCHAR* path ); + void __cdecl SetDirectory( _In_opt_z_ const wchar_t* path ); private: // Private implementation. diff --git a/Kits/DirectXTK/Inc/PrimitiveBatch.h b/Kits/DirectXTK/Inc/PrimitiveBatch.h index 5bc469c9..4632aefa 100644 --- a/Kits/DirectXTK/Inc/PrimitiveBatch.h +++ b/Kits/DirectXTK/Inc/PrimitiveBatch.h @@ -66,7 +66,7 @@ namespace DirectX static const size_t DefaultBatchSize = 2048; public: - PrimitiveBatch(_In_ ID3D11DeviceContext* deviceContext, size_t maxIndices = DefaultBatchSize * 3, size_t maxVertices = DefaultBatchSize) + explicit PrimitiveBatch(_In_ ID3D11DeviceContext* deviceContext, size_t maxIndices = DefaultBatchSize * 3, size_t maxVertices = DefaultBatchSize) : PrimitiveBatchBase(deviceContext, maxIndices, maxVertices, sizeof(TVertex)) { } diff --git a/Kits/DirectXTK/Inc/ScreenGrab.h b/Kits/DirectXTK/Inc/ScreenGrab.h index 4d8c83c2..d4058e54 100644 --- a/Kits/DirectXTK/Inc/ScreenGrab.h +++ b/Kits/DirectXTK/Inc/ScreenGrab.h @@ -2,7 +2,7 @@ // File: ScreenGrab.h // // Function for capturing a 2D texture and saving it to a file (aka a 'screenshot' -// when used on a Direct3D 11 Render Target). +// when used on a Direct3D Render Target). // // Note these functions are useful as a light-weight runtime screen grabber. For // full-featured texture capture, DDS writer, and texture processing pipeline, @@ -35,18 +35,16 @@ namespace DirectX { - HRESULT __cdecl SaveDDSTextureToFile( _In_ ID3D11DeviceContext* pContext, - _In_ ID3D11Resource* pSource, - _In_z_ LPCWSTR fileName ); - -#if !defined(WINAPI_FAMILY) || (WINAPI_FAMILY != WINAPI_FAMILY_PHONE_APP) || (_WIN32_WINNT > _WIN32_WINNT_WIN8) - - HRESULT __cdecl SaveWICTextureToFile( _In_ ID3D11DeviceContext* pContext, - _In_ ID3D11Resource* pSource, - _In_ REFGUID guidContainerFormat, - _In_z_ LPCWSTR fileName, - _In_opt_ const GUID* targetFormat = nullptr, - _In_opt_ std::function setCustomProps = nullptr ); - -#endif + HRESULT __cdecl SaveDDSTextureToFile( + _In_ ID3D11DeviceContext* pContext, + _In_ ID3D11Resource* pSource, + _In_z_ LPCWSTR fileName); + + HRESULT __cdecl SaveWICTextureToFile( + _In_ ID3D11DeviceContext* pContext, + _In_ ID3D11Resource* pSource, + _In_ REFGUID guidContainerFormat, + _In_z_ LPCWSTR fileName, + _In_opt_ const GUID* targetFormat = nullptr, + _In_opt_ std::function setCustomProps = nullptr); } \ No newline at end of file diff --git a/Kits/DirectXTK/Inc/VertexTypes.h b/Kits/DirectXTK/Inc/VertexTypes.h index ec895713..fcb4b9c1 100644 --- a/Kits/DirectXTK/Inc/VertexTypes.h +++ b/Kits/DirectXTK/Inc/VertexTypes.h @@ -24,6 +24,27 @@ namespace DirectX { + // Vertex struct holding position information. + struct VertexPosition + { + VertexPosition() = default; + + VertexPosition(XMFLOAT3 const& position) + : position(position) + { } + + VertexPosition(FXMVECTOR position) + { + XMStoreFloat3(&this->position, position); + } + + XMFLOAT3 position; + + static const int InputElementCount = 1; + static const D3D11_INPUT_ELEMENT_DESC InputElements[InputElementCount]; + }; + + // Vertex struct holding position and color information. struct VertexPositionColor { @@ -72,6 +93,35 @@ namespace DirectX }; + // Vertex struct holding position and dual texture mapping information. + struct VertexPositionDualTexture + { + VertexPositionDualTexture() = default; + + VertexPositionDualTexture(XMFLOAT3 const& position, XMFLOAT2 const& textureCoordinate0, XMFLOAT2 const& textureCoordinate1) + : position(position), + textureCoordinate0(textureCoordinate0), + textureCoordinate1(textureCoordinate1) + { } + + VertexPositionDualTexture(FXMVECTOR position, + FXMVECTOR textureCoordinate0, + FXMVECTOR textureCoordinate1) + { + XMStoreFloat3(&this->position, position); + XMStoreFloat2(&this->textureCoordinate0, textureCoordinate0); + XMStoreFloat2(&this->textureCoordinate1, textureCoordinate1); + } + + XMFLOAT3 position; + XMFLOAT2 textureCoordinate0; + XMFLOAT2 textureCoordinate1; + + static const int InputElementCount = 3; + static const D3D11_INPUT_ELEMENT_DESC InputElements[InputElementCount]; + }; + + // Vertex struct holding position and normal vector. struct VertexPositionNormal { diff --git a/Kits/DirectXTK/Inc/WICTextureLoader.h b/Kits/DirectXTK/Inc/WICTextureLoader.h index 94ada848..5712d549 100644 --- a/Kits/DirectXTK/Inc/WICTextureLoader.h +++ b/Kits/DirectXTK/Inc/WICTextureLoader.h @@ -1,7 +1,7 @@ //-------------------------------------------------------------------------------------- // File: WICTextureLoader.h // -// Function for loading a WIC image and creating a Direct3D 11 runtime texture for it +// Function for loading a WIC image and creating a Direct3D runtime texture for it // (auto-generating mipmaps if possible) // // Note: Assumes application has already called CoInitializeEx @@ -27,10 +27,6 @@ #pragma once -#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP) && (_WIN32_WINNT <= _WIN32_WINNT_WIN8) -#error WIC is not supported on Windows Phone 8.0 -#endif - #if defined(_XBOX_ONE) && defined(_TITLE) #include #else @@ -43,110 +39,110 @@ namespace DirectX { // Standard version - HRESULT __cdecl CreateWICTextureFromMemory( _In_ ID3D11Device* d3dDevice, - _In_reads_bytes_(wicDataSize) const uint8_t* wicData, - _In_ size_t wicDataSize, - _Out_opt_ ID3D11Resource** texture, - _Out_opt_ ID3D11ShaderResourceView** textureView, - _In_ size_t maxsize = 0 - ); + HRESULT __cdecl CreateWICTextureFromMemory( + _In_ ID3D11Device* d3dDevice, + _In_reads_bytes_(wicDataSize) const uint8_t* wicData, + _In_ size_t wicDataSize, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView, + _In_ size_t maxsize = 0); - HRESULT __cdecl CreateWICTextureFromFile( _In_ ID3D11Device* d3dDevice, - _In_z_ const wchar_t* szFileName, - _Out_opt_ ID3D11Resource** texture, - _Out_opt_ ID3D11ShaderResourceView** textureView, - _In_ size_t maxsize = 0 - ); + HRESULT __cdecl CreateWICTextureFromFile( + _In_ ID3D11Device* d3dDevice, + _In_z_ const wchar_t* szFileName, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView, + _In_ size_t maxsize = 0); // Standard version with optional auto-gen mipmap support + HRESULT __cdecl CreateWICTextureFromMemory( #if defined(_XBOX_ONE) && defined(_TITLE) - HRESULT __cdecl CreateWICTextureFromMemory( _In_ ID3D11DeviceX* d3dDevice, - _In_opt_ ID3D11DeviceContextX* d3dContext, + _In_ ID3D11DeviceX* d3dDevice, + _In_opt_ ID3D11DeviceContextX* d3dContext, #else - HRESULT __cdecl CreateWICTextureFromMemory( _In_ ID3D11Device* d3dDevice, - _In_opt_ ID3D11DeviceContext* d3dContext, + _In_ ID3D11Device* d3dDevice, + _In_opt_ ID3D11DeviceContext* d3dContext, #endif - _In_reads_bytes_(wicDataSize) const uint8_t* wicData, - _In_ size_t wicDataSize, - _Out_opt_ ID3D11Resource** texture, - _Out_opt_ ID3D11ShaderResourceView** textureView, - _In_ size_t maxsize = 0 - ); + _In_reads_bytes_(wicDataSize) const uint8_t* wicData, + _In_ size_t wicDataSize, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView, + _In_ size_t maxsize = 0); + HRESULT __cdecl CreateWICTextureFromFile( #if defined(_XBOX_ONE) && defined(_TITLE) - HRESULT __cdecl CreateWICTextureFromFile( _In_ ID3D11DeviceX* d3dDevice, - _In_opt_ ID3D11DeviceContextX* d3dContext, + _In_ ID3D11DeviceX* d3dDevice, + _In_opt_ ID3D11DeviceContextX* d3dContext, #else - HRESULT __cdecl CreateWICTextureFromFile( _In_ ID3D11Device* d3dDevice, - _In_opt_ ID3D11DeviceContext* d3dContext, + _In_ ID3D11Device* d3dDevice, + _In_opt_ ID3D11DeviceContext* d3dContext, #endif - _In_z_ const wchar_t* szFileName, - _Out_opt_ ID3D11Resource** texture, - _Out_opt_ ID3D11ShaderResourceView** textureView, - _In_ size_t maxsize = 0 - ); + _In_z_ const wchar_t* szFileName, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView, + _In_ size_t maxsize = 0); // Extended version - HRESULT __cdecl CreateWICTextureFromMemoryEx( _In_ ID3D11Device* d3dDevice, - _In_reads_bytes_(wicDataSize) const uint8_t* wicData, - _In_ size_t wicDataSize, - _In_ size_t maxsize, - _In_ D3D11_USAGE usage, - _In_ unsigned int bindFlags, - _In_ unsigned int cpuAccessFlags, - _In_ unsigned int miscFlags, - _In_ bool forceSRGB, - _Out_opt_ ID3D11Resource** texture, - _Out_opt_ ID3D11ShaderResourceView** textureView - ); + HRESULT __cdecl CreateWICTextureFromMemoryEx( + _In_ ID3D11Device* d3dDevice, + _In_reads_bytes_(wicDataSize) const uint8_t* wicData, + _In_ size_t wicDataSize, + _In_ size_t maxsize, + _In_ D3D11_USAGE usage, + _In_ unsigned int bindFlags, + _In_ unsigned int cpuAccessFlags, + _In_ unsigned int miscFlags, + _In_ bool forceSRGB, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView); - HRESULT __cdecl CreateWICTextureFromFileEx( _In_ ID3D11Device* d3dDevice, - _In_z_ const wchar_t* szFileName, - _In_ size_t maxsize, - _In_ D3D11_USAGE usage, - _In_ unsigned int bindFlags, - _In_ unsigned int cpuAccessFlags, - _In_ unsigned int miscFlags, - _In_ bool forceSRGB, - _Out_opt_ ID3D11Resource** texture, - _Out_opt_ ID3D11ShaderResourceView** textureView - ); + HRESULT __cdecl CreateWICTextureFromFileEx( + _In_ ID3D11Device* d3dDevice, + _In_z_ const wchar_t* szFileName, + _In_ size_t maxsize, + _In_ D3D11_USAGE usage, + _In_ unsigned int bindFlags, + _In_ unsigned int cpuAccessFlags, + _In_ unsigned int miscFlags, + _In_ bool forceSRGB, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView); // Extended version with optional auto-gen mipmap support - #if defined(_XBOX_ONE) && defined(_TITLE) - HRESULT __cdecl CreateWICTextureFromMemoryEx( _In_ ID3D11DeviceX* d3dDevice, - _In_opt_ ID3D11DeviceContextX* d3dContext, + HRESULT __cdecl CreateWICTextureFromMemoryEx( +#if defined(_XBOX_ONE) && defined(_TITLE) + _In_ ID3D11DeviceX* d3dDevice, + _In_opt_ ID3D11DeviceContextX* d3dContext, #else - HRESULT __cdecl CreateWICTextureFromMemoryEx( _In_ ID3D11Device* d3dDevice, - _In_opt_ ID3D11DeviceContext* d3dContext, + _In_ ID3D11Device* d3dDevice, + _In_opt_ ID3D11DeviceContext* d3dContext, #endif - _In_reads_bytes_(wicDataSize) const uint8_t* wicData, - _In_ size_t wicDataSize, - _In_ size_t maxsize, - _In_ D3D11_USAGE usage, - _In_ unsigned int bindFlags, - _In_ unsigned int cpuAccessFlags, - _In_ unsigned int miscFlags, - _In_ bool forceSRGB, - _Out_opt_ ID3D11Resource** texture, - _Out_opt_ ID3D11ShaderResourceView** textureView - ); + _In_reads_bytes_(wicDataSize) const uint8_t* wicData, + _In_ size_t wicDataSize, + _In_ size_t maxsize, + _In_ D3D11_USAGE usage, + _In_ unsigned int bindFlags, + _In_ unsigned int cpuAccessFlags, + _In_ unsigned int miscFlags, + _In_ bool forceSRGB, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView); + HRESULT __cdecl CreateWICTextureFromFileEx( #if defined(_XBOX_ONE) && defined(_TITLE) - HRESULT __cdecl CreateWICTextureFromFileEx( _In_ ID3D11DeviceX* d3dDevice, - _In_opt_ ID3D11DeviceContextX* d3dContext, + _In_ ID3D11DeviceX* d3dDevice, + _In_opt_ ID3D11DeviceContextX* d3dContext, #else - HRESULT __cdecl CreateWICTextureFromFileEx( _In_ ID3D11Device* d3dDevice, - _In_opt_ ID3D11DeviceContext* d3dContext, + _In_ ID3D11Device* d3dDevice, + _In_opt_ ID3D11DeviceContext* d3dContext, #endif - _In_z_ const wchar_t* szFileName, - _In_ size_t maxsize, - _In_ D3D11_USAGE usage, - _In_ unsigned int bindFlags, - _In_ unsigned int cpuAccessFlags, - _In_ unsigned int miscFlags, - _In_ bool forceSRGB, - _Out_opt_ ID3D11Resource** texture, - _Out_opt_ ID3D11ShaderResourceView** textureView - ); + _In_z_ const wchar_t* szFileName, + _In_ size_t maxsize, + _In_ D3D11_USAGE usage, + _In_ unsigned int bindFlags, + _In_ unsigned int cpuAccessFlags, + _In_ unsigned int miscFlags, + _In_ bool forceSRGB, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView); } \ No newline at end of file diff --git a/Kits/DirectXTK/Readme.txt b/Kits/DirectXTK/Readme.txt index 6eb4c279..bbf8bc2c 100644 --- a/Kits/DirectXTK/Readme.txt +++ b/Kits/DirectXTK/Readme.txt @@ -4,7 +4,7 @@ DirectXTK - the DirectX Tool Kit Copyright (c) Microsoft Corporation. All rights reserved. -April 26, 2016 +May 31, 2016 This package contains the "DirectX Tool Kit", a collection of helper classes for writing Direct3D 11 C++ code for Universal Windows Platform (UWP) apps for Windows 10, @@ -74,6 +74,12 @@ Note: Xbox One exclusive apps developers using the Xbox One XDK need to generate RELEASE HISTORY --------------- +May 31, 2016 + Added VertexPosition and VertexPositionDualTexture to VertexTypes + Xbox One platform fix for PrimitiveBatch + CompileShader script updated to build external pdbs + Code cleanup + April 26, 2016 Added Rectangle class to SimpleMath Fix for SDKMESH loader when loading models with 'extra' texture coordinate sets diff --git a/Kits/DirectXTK/Src/BinaryReader.cpp b/Kits/DirectXTK/Src/BinaryReader.cpp index 1d84ab98..c84e1a42 100644 --- a/Kits/DirectXTK/Src/BinaryReader.cpp +++ b/Kits/DirectXTK/Src/BinaryReader.cpp @@ -57,27 +57,18 @@ HRESULT BinaryReader::ReadEntireFile(_In_z_ wchar_t const* fileName, _Inout_ std return HRESULT_FROM_WIN32(GetLastError()); // Get the file size. - LARGE_INTEGER fileSize = { 0 }; - -#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA) FILE_STANDARD_INFO fileInfo; - if (!GetFileInformationByHandleEx(hFile.get(), FileStandardInfo, &fileInfo, sizeof(fileInfo))) { return HRESULT_FROM_WIN32(GetLastError()); } - fileSize = fileInfo.EndOfFile; -#else - GetFileSizeEx(hFile.get(), &fileSize); -#endif - // File is too big for 32-bit allocation, so reject read. - if (fileSize.HighPart > 0) + if (fileInfo.EndOfFile.HighPart > 0) return E_FAIL; // Create enough space for the file data. - data.reset(new uint8_t[fileSize.LowPart]); + data.reset(new uint8_t[fileInfo.EndOfFile.LowPart]); if (!data) return E_OUTOFMEMORY; @@ -85,12 +76,12 @@ HRESULT BinaryReader::ReadEntireFile(_In_z_ wchar_t const* fileName, _Inout_ std // Read the data in. DWORD bytesRead = 0; - if (!ReadFile(hFile.get(), data.get(), fileSize.LowPart, &bytesRead, nullptr)) + if (!ReadFile(hFile.get(), data.get(), fileInfo.EndOfFile.LowPart, &bytesRead, nullptr)) { return HRESULT_FROM_WIN32(GetLastError()); } - if (bytesRead < fileSize.LowPart) + if (bytesRead < fileInfo.EndOfFile.LowPart) return E_FAIL; *dataSize = bytesRead; diff --git a/Kits/DirectXTK/Src/CommonStates.cpp b/Kits/DirectXTK/Src/CommonStates.cpp index 8259e424..63d3515f 100644 --- a/Kits/DirectXTK/Src/CommonStates.cpp +++ b/Kits/DirectXTK/Src/CommonStates.cpp @@ -71,8 +71,7 @@ SharedResourcePool CommonStates::Impl::instan // Helper for creating blend state objects. HRESULT CommonStates::Impl::CreateBlendState(D3D11_BLEND srcBlend, D3D11_BLEND destBlend, _Out_ ID3D11BlendState** pResult) { - D3D11_BLEND_DESC desc; - ZeroMemory(&desc, sizeof(desc)); + D3D11_BLEND_DESC desc = {}; desc.RenderTarget[0].BlendEnable = (srcBlend != D3D11_BLEND_ONE) || (destBlend != D3D11_BLEND_ZERO); @@ -95,8 +94,7 @@ HRESULT CommonStates::Impl::CreateBlendState(D3D11_BLEND srcBlend, D3D11_BLEND d // Helper for creating depth stencil state objects. HRESULT CommonStates::Impl::CreateDepthStencilState(bool enable, bool writeEnable, _Out_ ID3D11DepthStencilState** pResult) { - D3D11_DEPTH_STENCIL_DESC desc; - ZeroMemory(&desc, sizeof(desc)); + D3D11_DEPTH_STENCIL_DESC desc = {}; desc.DepthEnable = enable; desc.DepthWriteMask = writeEnable ? D3D11_DEPTH_WRITE_MASK_ALL : D3D11_DEPTH_WRITE_MASK_ZERO; @@ -125,8 +123,7 @@ HRESULT CommonStates::Impl::CreateDepthStencilState(bool enable, bool writeEnabl // Helper for creating rasterizer state objects. HRESULT CommonStates::Impl::CreateRasterizerState(D3D11_CULL_MODE cullMode, D3D11_FILL_MODE fillMode, _Out_ ID3D11RasterizerState** pResult) { - D3D11_RASTERIZER_DESC desc; - ZeroMemory(&desc, sizeof(desc)); + D3D11_RASTERIZER_DESC desc = {}; desc.CullMode = cullMode; desc.FillMode = fillMode; @@ -145,8 +142,7 @@ HRESULT CommonStates::Impl::CreateRasterizerState(D3D11_CULL_MODE cullMode, D3D1 // Helper for creating sampler state objects. HRESULT CommonStates::Impl::CreateSamplerState(D3D11_FILTER filter, D3D11_TEXTURE_ADDRESS_MODE addressMode, _Out_ ID3D11SamplerState** pResult) { - D3D11_SAMPLER_DESC desc; - ZeroMemory(&desc, sizeof(desc)); + D3D11_SAMPLER_DESC desc = {}; desc.Filter = filter; diff --git a/Kits/DirectXTK/Src/ConstantBuffer.h b/Kits/DirectXTK/Src/ConstantBuffer.h index bd1a3c4d..59914c08 100644 --- a/Kits/DirectXTK/Src/ConstantBuffer.h +++ b/Kits/DirectXTK/Src/ConstantBuffer.h @@ -38,7 +38,7 @@ namespace DirectX #if defined(_XBOX_ONE) && defined(_TITLE) void Create(_In_ ID3D11Device* device) { - D3D11_BUFFER_DESC desc = { 0 }; + D3D11_BUFFER_DESC desc = {}; desc.ByteWidth = sizeof(T); desc.Usage = D3D11_USAGE_DEFAULT; @@ -69,7 +69,7 @@ namespace DirectX #else void Create(_In_ ID3D11Device* device) { - D3D11_BUFFER_DESC desc = { 0 }; + D3D11_BUFFER_DESC desc = {}; desc.ByteWidth = sizeof(T); desc.Usage = D3D11_USAGE_DYNAMIC; diff --git a/Kits/DirectXTK/Src/DDSTextureLoader.cpp b/Kits/DirectXTK/Src/DDSTextureLoader.cpp index 76ea2d5e..9acdd586 100644 --- a/Kits/DirectXTK/Src/DDSTextureLoader.cpp +++ b/Kits/DirectXTK/Src/DDSTextureLoader.cpp @@ -1,7 +1,7 @@ //-------------------------------------------------------------------------------------- // File: DDSTextureLoader.cpp // -// Functions for loading a DDS texture and creating a Direct3D 11 runtime resource for it +// Functions for loading a DDS texture and creating a Direct3D runtime resource for it // // Note these functions are useful as a light-weight runtime loader for DDS files. For // a full-featured DDS file reader, writer, and texture processing pipeline see @@ -28,1507 +28,1493 @@ using namespace DirectX; -//-------------------------------------------------------------------------------------- -static HRESULT LoadTextureDataFromFile( _In_z_ const wchar_t* fileName, - std::unique_ptr& ddsData, - DDS_HEADER** header, - uint8_t** bitData, - size_t* bitSize - ) +namespace { - if (!header || !bitData || !bitSize) - { - return E_POINTER; - } + //-------------------------------------------------------------------------------------- + HRESULT LoadTextureDataFromFile(_In_z_ const wchar_t* fileName, + std::unique_ptr& ddsData, + DDS_HEADER** header, + uint8_t** bitData, + size_t* bitSize + ) + { + if (!header || !bitData || !bitSize) + { + return E_POINTER; + } - // open the file + // open the file #if (_WIN32_WINNT >= _WIN32_WINNT_WIN8) - ScopedHandle hFile( safe_handle( CreateFile2( fileName, - GENERIC_READ, - FILE_SHARE_READ, - OPEN_EXISTING, - nullptr ) ) ); + ScopedHandle hFile(safe_handle(CreateFile2(fileName, + GENERIC_READ, + FILE_SHARE_READ, + OPEN_EXISTING, + nullptr))); #else - ScopedHandle hFile( safe_handle( CreateFileW( fileName, - GENERIC_READ, - FILE_SHARE_READ, - nullptr, - OPEN_EXISTING, - FILE_ATTRIBUTE_NORMAL, - nullptr ) ) ); + ScopedHandle hFile(safe_handle(CreateFileW(fileName, + GENERIC_READ, + FILE_SHARE_READ, + nullptr, + OPEN_EXISTING, + FILE_ATTRIBUTE_NORMAL, + nullptr))); #endif - if ( !hFile ) - { - return HRESULT_FROM_WIN32( GetLastError() ); - } - - // Get the file size - LARGE_INTEGER FileSize = { 0 }; + if (!hFile) + { + return HRESULT_FROM_WIN32(GetLastError()); + } -#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA) - FILE_STANDARD_INFO fileInfo; - if ( !GetFileInformationByHandleEx( hFile.get(), FileStandardInfo, &fileInfo, sizeof(fileInfo) ) ) - { - return HRESULT_FROM_WIN32( GetLastError() ); - } - FileSize = fileInfo.EndOfFile; -#else - GetFileSizeEx( hFile.get(), &FileSize ); -#endif + // Get the file size + FILE_STANDARD_INFO fileInfo; + if (!GetFileInformationByHandleEx(hFile.get(), FileStandardInfo, &fileInfo, sizeof(fileInfo))) + { + return HRESULT_FROM_WIN32(GetLastError()); + } - // File is too big for 32-bit allocation, so reject read - if (FileSize.HighPart > 0) - { - return E_FAIL; - } + // File is too big for 32-bit allocation, so reject read + if (fileInfo.EndOfFile.HighPart > 0) + { + return E_FAIL; + } - // Need at least enough data to fill the header and magic number to be a valid DDS - if (FileSize.LowPart < ( sizeof(DDS_HEADER) + sizeof(uint32_t) ) ) - { - return E_FAIL; - } + // Need at least enough data to fill the header and magic number to be a valid DDS + if (fileInfo.EndOfFile.LowPart < (sizeof(DDS_HEADER) + sizeof(uint32_t))) + { + return E_FAIL; + } - // create enough space for the file data - ddsData.reset( new (std::nothrow) uint8_t[ FileSize.LowPart ] ); - if (!ddsData) - { - return E_OUTOFMEMORY; - } + // create enough space for the file data + ddsData.reset(new (std::nothrow) uint8_t[ fileInfo.EndOfFile.LowPart ]); + if (!ddsData) + { + return E_OUTOFMEMORY; + } - // read the data in - DWORD BytesRead = 0; - if (!ReadFile( hFile.get(), - ddsData.get(), - FileSize.LowPart, - &BytesRead, - nullptr - )) - { - return HRESULT_FROM_WIN32( GetLastError() ); - } + // read the data in + DWORD BytesRead = 0; + if (!ReadFile(hFile.get(), + ddsData.get(), + fileInfo.EndOfFile.LowPart, + &BytesRead, + nullptr + )) + { + return HRESULT_FROM_WIN32(GetLastError()); + } - if (BytesRead < FileSize.LowPart) - { - return E_FAIL; - } + if (BytesRead < fileInfo.EndOfFile.LowPart) + { + return E_FAIL; + } - // DDS files always start with the same magic number ("DDS ") - uint32_t dwMagicNumber = *( const uint32_t* )( ddsData.get() ); - if (dwMagicNumber != DDS_MAGIC) - { - return E_FAIL; - } + // DDS files always start with the same magic number ("DDS ") + uint32_t dwMagicNumber = *(const uint32_t*)(ddsData.get()); + if (dwMagicNumber != DDS_MAGIC) + { + return E_FAIL; + } - auto hdr = reinterpret_cast( ddsData.get() + sizeof( uint32_t ) ); + auto hdr = reinterpret_cast(ddsData.get() + sizeof(uint32_t)); - // Verify header to validate DDS file - if (hdr->size != sizeof(DDS_HEADER) || - hdr->ddspf.size != sizeof(DDS_PIXELFORMAT)) - { - return E_FAIL; - } - - // Check for DX10 extension - bool bDXT10Header = false; - if ((hdr->ddspf.flags & DDS_FOURCC) && - (MAKEFOURCC( 'D', 'X', '1', '0' ) == hdr->ddspf.fourCC)) - { - // Must be long enough for both headers and magic value - if (FileSize.LowPart < ( sizeof(DDS_HEADER) + sizeof(uint32_t) + sizeof(DDS_HEADER_DXT10) ) ) + // Verify header to validate DDS file + if (hdr->size != sizeof(DDS_HEADER) || + hdr->ddspf.size != sizeof(DDS_PIXELFORMAT)) { return E_FAIL; } - bDXT10Header = true; - } + // Check for DX10 extension + bool bDXT10Header = false; + if ((hdr->ddspf.flags & DDS_FOURCC) && + (MAKEFOURCC('D', 'X', '1', '0') == hdr->ddspf.fourCC)) + { + // Must be long enough for both headers and magic value + if (fileInfo.EndOfFile.LowPart < (sizeof(DDS_HEADER) + sizeof(uint32_t) + sizeof(DDS_HEADER_DXT10))) + { + return E_FAIL; + } - // setup the pointers in the process request - *header = hdr; - ptrdiff_t offset = sizeof( uint32_t ) + sizeof( DDS_HEADER ) - + (bDXT10Header ? sizeof( DDS_HEADER_DXT10 ) : 0); - *bitData = ddsData.get() + offset; - *bitSize = FileSize.LowPart - offset; + bDXT10Header = true; + } - return S_OK; -} + // setup the pointers in the process request + *header = hdr; + ptrdiff_t offset = sizeof(uint32_t) + sizeof(DDS_HEADER) + + (bDXT10Header ? sizeof(DDS_HEADER_DXT10) : 0); + *bitData = ddsData.get() + offset; + *bitSize = fileInfo.EndOfFile.LowPart - offset; + return S_OK; + } -//-------------------------------------------------------------------------------------- -// Return the BPP for a particular format -//-------------------------------------------------------------------------------------- -static size_t BitsPerPixel( _In_ DXGI_FORMAT fmt ) -{ - switch( fmt ) + //-------------------------------------------------------------------------------------- + // Return the BPP for a particular format + //-------------------------------------------------------------------------------------- + size_t BitsPerPixel(_In_ DXGI_FORMAT fmt) { - case DXGI_FORMAT_R32G32B32A32_TYPELESS: - case DXGI_FORMAT_R32G32B32A32_FLOAT: - case DXGI_FORMAT_R32G32B32A32_UINT: - case DXGI_FORMAT_R32G32B32A32_SINT: - return 128; - - case DXGI_FORMAT_R32G32B32_TYPELESS: - case DXGI_FORMAT_R32G32B32_FLOAT: - case DXGI_FORMAT_R32G32B32_UINT: - case DXGI_FORMAT_R32G32B32_SINT: - return 96; - - case DXGI_FORMAT_R16G16B16A16_TYPELESS: - case DXGI_FORMAT_R16G16B16A16_FLOAT: - case DXGI_FORMAT_R16G16B16A16_UNORM: - case DXGI_FORMAT_R16G16B16A16_UINT: - case DXGI_FORMAT_R16G16B16A16_SNORM: - case DXGI_FORMAT_R16G16B16A16_SINT: - case DXGI_FORMAT_R32G32_TYPELESS: - case DXGI_FORMAT_R32G32_FLOAT: - case DXGI_FORMAT_R32G32_UINT: - case DXGI_FORMAT_R32G32_SINT: - case DXGI_FORMAT_R32G8X24_TYPELESS: - case DXGI_FORMAT_D32_FLOAT_S8X24_UINT: - case DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS: - case DXGI_FORMAT_X32_TYPELESS_G8X24_UINT: - case DXGI_FORMAT_Y416: - case DXGI_FORMAT_Y210: - case DXGI_FORMAT_Y216: - return 64; - - case DXGI_FORMAT_R10G10B10A2_TYPELESS: - case DXGI_FORMAT_R10G10B10A2_UNORM: - case DXGI_FORMAT_R10G10B10A2_UINT: - case DXGI_FORMAT_R11G11B10_FLOAT: - case DXGI_FORMAT_R8G8B8A8_TYPELESS: - case DXGI_FORMAT_R8G8B8A8_UNORM: - case DXGI_FORMAT_R8G8B8A8_UNORM_SRGB: - case DXGI_FORMAT_R8G8B8A8_UINT: - case DXGI_FORMAT_R8G8B8A8_SNORM: - case DXGI_FORMAT_R8G8B8A8_SINT: - case DXGI_FORMAT_R16G16_TYPELESS: - case DXGI_FORMAT_R16G16_FLOAT: - case DXGI_FORMAT_R16G16_UNORM: - case DXGI_FORMAT_R16G16_UINT: - case DXGI_FORMAT_R16G16_SNORM: - case DXGI_FORMAT_R16G16_SINT: - case DXGI_FORMAT_R32_TYPELESS: - case DXGI_FORMAT_D32_FLOAT: - case DXGI_FORMAT_R32_FLOAT: - case DXGI_FORMAT_R32_UINT: - case DXGI_FORMAT_R32_SINT: - case DXGI_FORMAT_R24G8_TYPELESS: - case DXGI_FORMAT_D24_UNORM_S8_UINT: - case DXGI_FORMAT_R24_UNORM_X8_TYPELESS: - case DXGI_FORMAT_X24_TYPELESS_G8_UINT: - case DXGI_FORMAT_R9G9B9E5_SHAREDEXP: - case DXGI_FORMAT_R8G8_B8G8_UNORM: - case DXGI_FORMAT_G8R8_G8B8_UNORM: - case DXGI_FORMAT_B8G8R8A8_UNORM: - case DXGI_FORMAT_B8G8R8X8_UNORM: - case DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM: - case DXGI_FORMAT_B8G8R8A8_TYPELESS: - case DXGI_FORMAT_B8G8R8A8_UNORM_SRGB: - case DXGI_FORMAT_B8G8R8X8_TYPELESS: - case DXGI_FORMAT_B8G8R8X8_UNORM_SRGB: - case DXGI_FORMAT_AYUV: - case DXGI_FORMAT_Y410: - case DXGI_FORMAT_YUY2: - return 32; - - case DXGI_FORMAT_P010: - case DXGI_FORMAT_P016: - return 24; - - case DXGI_FORMAT_R8G8_TYPELESS: - case DXGI_FORMAT_R8G8_UNORM: - case DXGI_FORMAT_R8G8_UINT: - case DXGI_FORMAT_R8G8_SNORM: - case DXGI_FORMAT_R8G8_SINT: - case DXGI_FORMAT_R16_TYPELESS: - case DXGI_FORMAT_R16_FLOAT: - case DXGI_FORMAT_D16_UNORM: - case DXGI_FORMAT_R16_UNORM: - case DXGI_FORMAT_R16_UINT: - case DXGI_FORMAT_R16_SNORM: - case DXGI_FORMAT_R16_SINT: - case DXGI_FORMAT_B5G6R5_UNORM: - case DXGI_FORMAT_B5G5R5A1_UNORM: - case DXGI_FORMAT_A8P8: - case DXGI_FORMAT_B4G4R4A4_UNORM: - return 16; - - case DXGI_FORMAT_NV12: - case DXGI_FORMAT_420_OPAQUE: - case DXGI_FORMAT_NV11: - return 12; - - case DXGI_FORMAT_R8_TYPELESS: - case DXGI_FORMAT_R8_UNORM: - case DXGI_FORMAT_R8_UINT: - case DXGI_FORMAT_R8_SNORM: - case DXGI_FORMAT_R8_SINT: - case DXGI_FORMAT_A8_UNORM: - case DXGI_FORMAT_AI44: - case DXGI_FORMAT_IA44: - case DXGI_FORMAT_P8: - return 8; - - case DXGI_FORMAT_R1_UNORM: - return 1; - - case DXGI_FORMAT_BC1_TYPELESS: - case DXGI_FORMAT_BC1_UNORM: - case DXGI_FORMAT_BC1_UNORM_SRGB: - case DXGI_FORMAT_BC4_TYPELESS: - case DXGI_FORMAT_BC4_UNORM: - case DXGI_FORMAT_BC4_SNORM: - return 4; - - case DXGI_FORMAT_BC2_TYPELESS: - case DXGI_FORMAT_BC2_UNORM: - case DXGI_FORMAT_BC2_UNORM_SRGB: - case DXGI_FORMAT_BC3_TYPELESS: - case DXGI_FORMAT_BC3_UNORM: - case DXGI_FORMAT_BC3_UNORM_SRGB: - case DXGI_FORMAT_BC5_TYPELESS: - case DXGI_FORMAT_BC5_UNORM: - case DXGI_FORMAT_BC5_SNORM: - case DXGI_FORMAT_BC6H_TYPELESS: - case DXGI_FORMAT_BC6H_UF16: - case DXGI_FORMAT_BC6H_SF16: - case DXGI_FORMAT_BC7_TYPELESS: - case DXGI_FORMAT_BC7_UNORM: - case DXGI_FORMAT_BC7_UNORM_SRGB: - return 8; + switch (fmt) + { + case DXGI_FORMAT_R32G32B32A32_TYPELESS: + case DXGI_FORMAT_R32G32B32A32_FLOAT: + case DXGI_FORMAT_R32G32B32A32_UINT: + case DXGI_FORMAT_R32G32B32A32_SINT: + return 128; + + case DXGI_FORMAT_R32G32B32_TYPELESS: + case DXGI_FORMAT_R32G32B32_FLOAT: + case DXGI_FORMAT_R32G32B32_UINT: + case DXGI_FORMAT_R32G32B32_SINT: + return 96; + + case DXGI_FORMAT_R16G16B16A16_TYPELESS: + case DXGI_FORMAT_R16G16B16A16_FLOAT: + case DXGI_FORMAT_R16G16B16A16_UNORM: + case DXGI_FORMAT_R16G16B16A16_UINT: + case DXGI_FORMAT_R16G16B16A16_SNORM: + case DXGI_FORMAT_R16G16B16A16_SINT: + case DXGI_FORMAT_R32G32_TYPELESS: + case DXGI_FORMAT_R32G32_FLOAT: + case DXGI_FORMAT_R32G32_UINT: + case DXGI_FORMAT_R32G32_SINT: + case DXGI_FORMAT_R32G8X24_TYPELESS: + case DXGI_FORMAT_D32_FLOAT_S8X24_UINT: + case DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS: + case DXGI_FORMAT_X32_TYPELESS_G8X24_UINT: + case DXGI_FORMAT_Y416: + case DXGI_FORMAT_Y210: + case DXGI_FORMAT_Y216: + return 64; + + case DXGI_FORMAT_R10G10B10A2_TYPELESS: + case DXGI_FORMAT_R10G10B10A2_UNORM: + case DXGI_FORMAT_R10G10B10A2_UINT: + case DXGI_FORMAT_R11G11B10_FLOAT: + case DXGI_FORMAT_R8G8B8A8_TYPELESS: + case DXGI_FORMAT_R8G8B8A8_UNORM: + case DXGI_FORMAT_R8G8B8A8_UNORM_SRGB: + case DXGI_FORMAT_R8G8B8A8_UINT: + case DXGI_FORMAT_R8G8B8A8_SNORM: + case DXGI_FORMAT_R8G8B8A8_SINT: + case DXGI_FORMAT_R16G16_TYPELESS: + case DXGI_FORMAT_R16G16_FLOAT: + case DXGI_FORMAT_R16G16_UNORM: + case DXGI_FORMAT_R16G16_UINT: + case DXGI_FORMAT_R16G16_SNORM: + case DXGI_FORMAT_R16G16_SINT: + case DXGI_FORMAT_R32_TYPELESS: + case DXGI_FORMAT_D32_FLOAT: + case DXGI_FORMAT_R32_FLOAT: + case DXGI_FORMAT_R32_UINT: + case DXGI_FORMAT_R32_SINT: + case DXGI_FORMAT_R24G8_TYPELESS: + case DXGI_FORMAT_D24_UNORM_S8_UINT: + case DXGI_FORMAT_R24_UNORM_X8_TYPELESS: + case DXGI_FORMAT_X24_TYPELESS_G8_UINT: + case DXGI_FORMAT_R9G9B9E5_SHAREDEXP: + case DXGI_FORMAT_R8G8_B8G8_UNORM: + case DXGI_FORMAT_G8R8_G8B8_UNORM: + case DXGI_FORMAT_B8G8R8A8_UNORM: + case DXGI_FORMAT_B8G8R8X8_UNORM: + case DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM: + case DXGI_FORMAT_B8G8R8A8_TYPELESS: + case DXGI_FORMAT_B8G8R8A8_UNORM_SRGB: + case DXGI_FORMAT_B8G8R8X8_TYPELESS: + case DXGI_FORMAT_B8G8R8X8_UNORM_SRGB: + case DXGI_FORMAT_AYUV: + case DXGI_FORMAT_Y410: + case DXGI_FORMAT_YUY2: + return 32; + + case DXGI_FORMAT_P010: + case DXGI_FORMAT_P016: + return 24; + + case DXGI_FORMAT_R8G8_TYPELESS: + case DXGI_FORMAT_R8G8_UNORM: + case DXGI_FORMAT_R8G8_UINT: + case DXGI_FORMAT_R8G8_SNORM: + case DXGI_FORMAT_R8G8_SINT: + case DXGI_FORMAT_R16_TYPELESS: + case DXGI_FORMAT_R16_FLOAT: + case DXGI_FORMAT_D16_UNORM: + case DXGI_FORMAT_R16_UNORM: + case DXGI_FORMAT_R16_UINT: + case DXGI_FORMAT_R16_SNORM: + case DXGI_FORMAT_R16_SINT: + case DXGI_FORMAT_B5G6R5_UNORM: + case DXGI_FORMAT_B5G5R5A1_UNORM: + case DXGI_FORMAT_A8P8: + case DXGI_FORMAT_B4G4R4A4_UNORM: + return 16; + + case DXGI_FORMAT_NV12: + case DXGI_FORMAT_420_OPAQUE: + case DXGI_FORMAT_NV11: + return 12; + + case DXGI_FORMAT_R8_TYPELESS: + case DXGI_FORMAT_R8_UNORM: + case DXGI_FORMAT_R8_UINT: + case DXGI_FORMAT_R8_SNORM: + case DXGI_FORMAT_R8_SINT: + case DXGI_FORMAT_A8_UNORM: + case DXGI_FORMAT_AI44: + case DXGI_FORMAT_IA44: + case DXGI_FORMAT_P8: + return 8; + + case DXGI_FORMAT_R1_UNORM: + return 1; + + case DXGI_FORMAT_BC1_TYPELESS: + case DXGI_FORMAT_BC1_UNORM: + case DXGI_FORMAT_BC1_UNORM_SRGB: + case DXGI_FORMAT_BC4_TYPELESS: + case DXGI_FORMAT_BC4_UNORM: + case DXGI_FORMAT_BC4_SNORM: + return 4; + + case DXGI_FORMAT_BC2_TYPELESS: + case DXGI_FORMAT_BC2_UNORM: + case DXGI_FORMAT_BC2_UNORM_SRGB: + case DXGI_FORMAT_BC3_TYPELESS: + case DXGI_FORMAT_BC3_UNORM: + case DXGI_FORMAT_BC3_UNORM_SRGB: + case DXGI_FORMAT_BC5_TYPELESS: + case DXGI_FORMAT_BC5_UNORM: + case DXGI_FORMAT_BC5_SNORM: + case DXGI_FORMAT_BC6H_TYPELESS: + case DXGI_FORMAT_BC6H_UF16: + case DXGI_FORMAT_BC6H_SF16: + case DXGI_FORMAT_BC7_TYPELESS: + case DXGI_FORMAT_BC7_UNORM: + case DXGI_FORMAT_BC7_UNORM_SRGB: + return 8; #if defined(_XBOX_ONE) && defined(_TITLE) - case DXGI_FORMAT_R10G10B10_7E3_A2_FLOAT: - case DXGI_FORMAT_R10G10B10_6E4_A2_FLOAT: - case DXGI_FORMAT_R10G10B10_SNORM_A2_UNORM: - return 32; + case DXGI_FORMAT_R10G10B10_7E3_A2_FLOAT: + case DXGI_FORMAT_R10G10B10_6E4_A2_FLOAT: + case DXGI_FORMAT_R10G10B10_SNORM_A2_UNORM: + return 32; - case DXGI_FORMAT_D16_UNORM_S8_UINT: - case DXGI_FORMAT_R16_UNORM_X8_TYPELESS: - case DXGI_FORMAT_X16_TYPELESS_G8_UINT: - return 24; + case DXGI_FORMAT_D16_UNORM_S8_UINT: + case DXGI_FORMAT_R16_UNORM_X8_TYPELESS: + case DXGI_FORMAT_X16_TYPELESS_G8_UINT: + return 24; - case DXGI_FORMAT_R4G4_UNORM: - return 8; + case DXGI_FORMAT_R4G4_UNORM: + return 8; #endif // _XBOX_ONE && _TITLE - default: - return 0; + default: + return 0; + } } -} + //-------------------------------------------------------------------------------------- + // Get surface information for a particular format + //-------------------------------------------------------------------------------------- + void GetSurfaceInfo(_In_ size_t width, + _In_ size_t height, + _In_ DXGI_FORMAT fmt, + _Out_opt_ size_t* outNumBytes, + _Out_opt_ size_t* outRowBytes, + _Out_opt_ size_t* outNumRows) + { + size_t numBytes = 0; + size_t rowBytes = 0; + size_t numRows = 0; + + bool bc = false; + bool packed = false; + bool planar = false; + size_t bpe = 0; + switch (fmt) + { + case DXGI_FORMAT_BC1_TYPELESS: + case DXGI_FORMAT_BC1_UNORM: + case DXGI_FORMAT_BC1_UNORM_SRGB: + case DXGI_FORMAT_BC4_TYPELESS: + case DXGI_FORMAT_BC4_UNORM: + case DXGI_FORMAT_BC4_SNORM: + bc = true; + bpe = 8; + break; -//-------------------------------------------------------------------------------------- -// Get surface information for a particular format -//-------------------------------------------------------------------------------------- -static void GetSurfaceInfo( _In_ size_t width, - _In_ size_t height, - _In_ DXGI_FORMAT fmt, - _Out_opt_ size_t* outNumBytes, - _Out_opt_ size_t* outRowBytes, - _Out_opt_ size_t* outNumRows ) -{ - size_t numBytes = 0; - size_t rowBytes = 0; - size_t numRows = 0; - - bool bc = false; - bool packed = false; - bool planar = false; - size_t bpe = 0; - switch (fmt) - { - case DXGI_FORMAT_BC1_TYPELESS: - case DXGI_FORMAT_BC1_UNORM: - case DXGI_FORMAT_BC1_UNORM_SRGB: - case DXGI_FORMAT_BC4_TYPELESS: - case DXGI_FORMAT_BC4_UNORM: - case DXGI_FORMAT_BC4_SNORM: - bc=true; - bpe = 8; - break; - - case DXGI_FORMAT_BC2_TYPELESS: - case DXGI_FORMAT_BC2_UNORM: - case DXGI_FORMAT_BC2_UNORM_SRGB: - case DXGI_FORMAT_BC3_TYPELESS: - case DXGI_FORMAT_BC3_UNORM: - case DXGI_FORMAT_BC3_UNORM_SRGB: - case DXGI_FORMAT_BC5_TYPELESS: - case DXGI_FORMAT_BC5_UNORM: - case DXGI_FORMAT_BC5_SNORM: - case DXGI_FORMAT_BC6H_TYPELESS: - case DXGI_FORMAT_BC6H_UF16: - case DXGI_FORMAT_BC6H_SF16: - case DXGI_FORMAT_BC7_TYPELESS: - case DXGI_FORMAT_BC7_UNORM: - case DXGI_FORMAT_BC7_UNORM_SRGB: - bc = true; - bpe = 16; - break; + case DXGI_FORMAT_BC2_TYPELESS: + case DXGI_FORMAT_BC2_UNORM: + case DXGI_FORMAT_BC2_UNORM_SRGB: + case DXGI_FORMAT_BC3_TYPELESS: + case DXGI_FORMAT_BC3_UNORM: + case DXGI_FORMAT_BC3_UNORM_SRGB: + case DXGI_FORMAT_BC5_TYPELESS: + case DXGI_FORMAT_BC5_UNORM: + case DXGI_FORMAT_BC5_SNORM: + case DXGI_FORMAT_BC6H_TYPELESS: + case DXGI_FORMAT_BC6H_UF16: + case DXGI_FORMAT_BC6H_SF16: + case DXGI_FORMAT_BC7_TYPELESS: + case DXGI_FORMAT_BC7_UNORM: + case DXGI_FORMAT_BC7_UNORM_SRGB: + bc = true; + bpe = 16; + break; - case DXGI_FORMAT_R8G8_B8G8_UNORM: - case DXGI_FORMAT_G8R8_G8B8_UNORM: - case DXGI_FORMAT_YUY2: - packed = true; - bpe = 4; - break; + case DXGI_FORMAT_R8G8_B8G8_UNORM: + case DXGI_FORMAT_G8R8_G8B8_UNORM: + case DXGI_FORMAT_YUY2: + packed = true; + bpe = 4; + break; - case DXGI_FORMAT_Y210: - case DXGI_FORMAT_Y216: - packed = true; - bpe = 8; - break; + case DXGI_FORMAT_Y210: + case DXGI_FORMAT_Y216: + packed = true; + bpe = 8; + break; - case DXGI_FORMAT_NV12: - case DXGI_FORMAT_420_OPAQUE: - planar = true; - bpe = 2; - break; + case DXGI_FORMAT_NV12: + case DXGI_FORMAT_420_OPAQUE: + planar = true; + bpe = 2; + break; - case DXGI_FORMAT_P010: - case DXGI_FORMAT_P016: - planar = true; - bpe = 4; - break; + case DXGI_FORMAT_P010: + case DXGI_FORMAT_P016: + planar = true; + bpe = 4; + break; #if defined(_XBOX_ONE) && defined(_TITLE) - case DXGI_FORMAT_D16_UNORM_S8_UINT: - case DXGI_FORMAT_R16_UNORM_X8_TYPELESS: - case DXGI_FORMAT_X16_TYPELESS_G8_UINT: - planar = true; - bpe = 4; - break; + case DXGI_FORMAT_D16_UNORM_S8_UINT: + case DXGI_FORMAT_R16_UNORM_X8_TYPELESS: + case DXGI_FORMAT_X16_TYPELESS_G8_UINT: + planar = true; + bpe = 4; + break; #endif - } + } - if (bc) - { - size_t numBlocksWide = 0; - if (width > 0) + if (bc) { - numBlocksWide = std::max( 1, (width + 3) / 4 ); + size_t numBlocksWide = 0; + if (width > 0) + { + numBlocksWide = std::max(1, (width + 3) / 4); + } + size_t numBlocksHigh = 0; + if (height > 0) + { + numBlocksHigh = std::max(1, (height + 3) / 4); + } + rowBytes = numBlocksWide * bpe; + numRows = numBlocksHigh; + numBytes = rowBytes * numBlocksHigh; } - size_t numBlocksHigh = 0; - if (height > 0) + else if (packed) { - numBlocksHigh = std::max( 1, (height + 3) / 4 ); + rowBytes = ((width + 1) >> 1) * bpe; + numRows = height; + numBytes = rowBytes * height; + } + else if (fmt == DXGI_FORMAT_NV11) + { + rowBytes = ((width + 3) >> 2) * 4; + numRows = height * 2; // Direct3D makes this simplifying assumption, although it is larger than the 4:1:1 data + numBytes = rowBytes * numRows; + } + else if (planar) + { + rowBytes = ((width + 1) >> 1) * bpe; + numBytes = (rowBytes * height) + ((rowBytes * height + 1) >> 1); + numRows = height + ((height + 1) >> 1); + } + else + { + size_t bpp = BitsPerPixel(fmt); + rowBytes = (width * bpp + 7) / 8; // round up to nearest byte + numRows = height; + numBytes = rowBytes * height; } - rowBytes = numBlocksWide * bpe; - numRows = numBlocksHigh; - numBytes = rowBytes * numBlocksHigh; - } - else if (packed) - { - rowBytes = ( ( width + 1 ) >> 1 ) * bpe; - numRows = height; - numBytes = rowBytes * height; - } - else if ( fmt == DXGI_FORMAT_NV11 ) - { - rowBytes = ( ( width + 3 ) >> 2 ) * 4; - numRows = height * 2; // Direct3D makes this simplifying assumption, although it is larger than the 4:1:1 data - numBytes = rowBytes * numRows; - } - else if (planar) - { - rowBytes = ( ( width + 1 ) >> 1 ) * bpe; - numBytes = ( rowBytes * height ) + ( ( rowBytes * height + 1 ) >> 1 ); - numRows = height + ( ( height + 1 ) >> 1 ); - } - else - { - size_t bpp = BitsPerPixel( fmt ); - rowBytes = ( width * bpp + 7 ) / 8; // round up to nearest byte - numRows = height; - numBytes = rowBytes * height; - } - if (outNumBytes) - { - *outNumBytes = numBytes; - } - if (outRowBytes) - { - *outRowBytes = rowBytes; - } - if (outNumRows) - { - *outNumRows = numRows; + if (outNumBytes) + { + *outNumBytes = numBytes; + } + if (outRowBytes) + { + *outRowBytes = rowBytes; + } + if (outNumRows) + { + *outNumRows = numRows; + } } -} + //-------------------------------------------------------------------------------------- + #define ISBITMASK( r,g,b,a ) ( ddpf.RBitMask == r && ddpf.GBitMask == g && ddpf.BBitMask == b && ddpf.ABitMask == a ) -//-------------------------------------------------------------------------------------- -#define ISBITMASK( r,g,b,a ) ( ddpf.RBitMask == r && ddpf.GBitMask == g && ddpf.BBitMask == b && ddpf.ABitMask == a ) - -static DXGI_FORMAT GetDXGIFormat( const DDS_PIXELFORMAT& ddpf ) -{ - if (ddpf.flags & DDS_RGB) + DXGI_FORMAT GetDXGIFormat(const DDS_PIXELFORMAT& ddpf) { - // Note that sRGB formats are written using the "DX10" extended header - - switch (ddpf.RGBBitCount) + if (ddpf.flags & DDS_RGB) { - case 32: - if (ISBITMASK(0x000000ff,0x0000ff00,0x00ff0000,0xff000000)) - { - return DXGI_FORMAT_R8G8B8A8_UNORM; - } + // Note that sRGB formats are written using the "DX10" extended header - if (ISBITMASK(0x00ff0000,0x0000ff00,0x000000ff,0xff000000)) + switch (ddpf.RGBBitCount) { - return DXGI_FORMAT_B8G8R8A8_UNORM; - } + case 32: + if (ISBITMASK(0x000000ff, 0x0000ff00, 0x00ff0000, 0xff000000)) + { + return DXGI_FORMAT_R8G8B8A8_UNORM; + } - if (ISBITMASK(0x00ff0000,0x0000ff00,0x000000ff,0x00000000)) - { - return DXGI_FORMAT_B8G8R8X8_UNORM; - } + if (ISBITMASK(0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000)) + { + return DXGI_FORMAT_B8G8R8A8_UNORM; + } - // No DXGI format maps to ISBITMASK(0x000000ff,0x0000ff00,0x00ff0000,0x00000000) aka D3DFMT_X8B8G8R8 + if (ISBITMASK(0x00ff0000, 0x0000ff00, 0x000000ff, 0x00000000)) + { + return DXGI_FORMAT_B8G8R8X8_UNORM; + } - // Note that many common DDS reader/writers (including D3DX) swap the - // the RED/BLUE masks for 10:10:10:2 formats. We assume - // below that the 'backwards' header mask is being used since it is most - // likely written by D3DX. The more robust solution is to use the 'DX10' - // header extension and specify the DXGI_FORMAT_R10G10B10A2_UNORM format directly + // No DXGI format maps to ISBITMASK(0x000000ff,0x0000ff00,0x00ff0000,0x00000000) aka D3DFMT_X8B8G8R8 - // For 'correct' writers, this should be 0x000003ff,0x000ffc00,0x3ff00000 for RGB data - if (ISBITMASK(0x3ff00000,0x000ffc00,0x000003ff,0xc0000000)) - { - return DXGI_FORMAT_R10G10B10A2_UNORM; - } + // Note that many common DDS reader/writers (including D3DX) swap the + // the RED/BLUE masks for 10:10:10:2 formats. We assume + // below that the 'backwards' header mask is being used since it is most + // likely written by D3DX. The more robust solution is to use the 'DX10' + // header extension and specify the DXGI_FORMAT_R10G10B10A2_UNORM format directly - // No DXGI format maps to ISBITMASK(0x000003ff,0x000ffc00,0x3ff00000,0xc0000000) aka D3DFMT_A2R10G10B10 + // For 'correct' writers, this should be 0x000003ff,0x000ffc00,0x3ff00000 for RGB data + if (ISBITMASK(0x3ff00000, 0x000ffc00, 0x000003ff, 0xc0000000)) + { + return DXGI_FORMAT_R10G10B10A2_UNORM; + } - if (ISBITMASK(0x0000ffff,0xffff0000,0x00000000,0x00000000)) - { - return DXGI_FORMAT_R16G16_UNORM; - } + // No DXGI format maps to ISBITMASK(0x000003ff,0x000ffc00,0x3ff00000,0xc0000000) aka D3DFMT_A2R10G10B10 - if (ISBITMASK(0xffffffff,0x00000000,0x00000000,0x00000000)) - { - // Only 32-bit color channel format in D3D9 was R32F - return DXGI_FORMAT_R32_FLOAT; // D3DX writes this out as a FourCC of 114 - } - break; + if (ISBITMASK(0x0000ffff, 0xffff0000, 0x00000000, 0x00000000)) + { + return DXGI_FORMAT_R16G16_UNORM; + } - case 24: - // No 24bpp DXGI formats aka D3DFMT_R8G8B8 - break; + if (ISBITMASK(0xffffffff, 0x00000000, 0x00000000, 0x00000000)) + { + // Only 32-bit color channel format in D3D9 was R32F + return DXGI_FORMAT_R32_FLOAT; // D3DX writes this out as a FourCC of 114 + } + break; - case 16: - if (ISBITMASK(0x7c00,0x03e0,0x001f,0x8000)) - { - return DXGI_FORMAT_B5G5R5A1_UNORM; + case 24: + // No 24bpp DXGI formats aka D3DFMT_R8G8B8 + break; + + case 16: + if (ISBITMASK(0x7c00, 0x03e0, 0x001f, 0x8000)) + { + return DXGI_FORMAT_B5G5R5A1_UNORM; + } + if (ISBITMASK(0xf800, 0x07e0, 0x001f, 0x0000)) + { + return DXGI_FORMAT_B5G6R5_UNORM; + } + + // No DXGI format maps to ISBITMASK(0x7c00,0x03e0,0x001f,0x0000) aka D3DFMT_X1R5G5B5 + + if (ISBITMASK(0x0f00, 0x00f0, 0x000f, 0xf000)) + { + return DXGI_FORMAT_B4G4R4A4_UNORM; + } + + // No DXGI format maps to ISBITMASK(0x0f00,0x00f0,0x000f,0x0000) aka D3DFMT_X4R4G4B4 + + // No 3:3:2, 3:3:2:8, or paletted DXGI formats aka D3DFMT_A8R3G3B2, D3DFMT_R3G3B2, D3DFMT_P8, D3DFMT_A8P8, etc. + break; } - if (ISBITMASK(0xf800,0x07e0,0x001f,0x0000)) + } + else if (ddpf.flags & DDS_LUMINANCE) + { + if (8 == ddpf.RGBBitCount) { - return DXGI_FORMAT_B5G6R5_UNORM; - } + if (ISBITMASK(0x000000ff, 0x00000000, 0x00000000, 0x00000000)) + { + return DXGI_FORMAT_R8_UNORM; // D3DX10/11 writes this out as DX10 extension + } - // No DXGI format maps to ISBITMASK(0x7c00,0x03e0,0x001f,0x0000) aka D3DFMT_X1R5G5B5 + // No DXGI format maps to ISBITMASK(0x0f,0x00,0x00,0xf0) aka D3DFMT_A4L4 + } - if (ISBITMASK(0x0f00,0x00f0,0x000f,0xf000)) + if (16 == ddpf.RGBBitCount) { - return DXGI_FORMAT_B4G4R4A4_UNORM; + if (ISBITMASK(0x0000ffff, 0x00000000, 0x00000000, 0x00000000)) + { + return DXGI_FORMAT_R16_UNORM; // D3DX10/11 writes this out as DX10 extension + } + if (ISBITMASK(0x000000ff, 0x00000000, 0x00000000, 0x0000ff00)) + { + return DXGI_FORMAT_R8G8_UNORM; // D3DX10/11 writes this out as DX10 extension + } } - - // No DXGI format maps to ISBITMASK(0x0f00,0x00f0,0x000f,0x0000) aka D3DFMT_X4R4G4B4 - - // No 3:3:2, 3:3:2:8, or paletted DXGI formats aka D3DFMT_A8R3G3B2, D3DFMT_R3G3B2, D3DFMT_P8, D3DFMT_A8P8, etc. - break; } - } - else if (ddpf.flags & DDS_LUMINANCE) - { - if (8 == ddpf.RGBBitCount) + else if (ddpf.flags & DDS_ALPHA) { - if (ISBITMASK(0x000000ff,0x00000000,0x00000000,0x00000000)) + if (8 == ddpf.RGBBitCount) { - return DXGI_FORMAT_R8_UNORM; // D3DX10/11 writes this out as DX10 extension + return DXGI_FORMAT_A8_UNORM; } - - // No DXGI format maps to ISBITMASK(0x0f,0x00,0x00,0xf0) aka D3DFMT_A4L4 } - - if (16 == ddpf.RGBBitCount) + else if (ddpf.flags & DDS_BUMPDUDV) { - if (ISBITMASK(0x0000ffff,0x00000000,0x00000000,0x00000000)) + if (16 == ddpf.RGBBitCount) { - return DXGI_FORMAT_R16_UNORM; // D3DX10/11 writes this out as DX10 extension + if (ISBITMASK(0x00ff, 0xff00, 0x0000, 0x0000)) + { + return DXGI_FORMAT_R8G8_SNORM; // D3DX10/11 writes this out as DX10 extension + } } - if (ISBITMASK(0x000000ff,0x00000000,0x00000000,0x0000ff00)) + + if (32 == ddpf.RGBBitCount) { - return DXGI_FORMAT_R8G8_UNORM; // D3DX10/11 writes this out as DX10 extension + if (ISBITMASK(0x000000ff, 0x0000ff00, 0x00ff0000, 0xff000000)) + { + return DXGI_FORMAT_R8G8B8A8_SNORM; // D3DX10/11 writes this out as DX10 extension + } + if (ISBITMASK(0x0000ffff, 0xffff0000, 0x00000000, 0x00000000)) + { + return DXGI_FORMAT_R16G16_SNORM; // D3DX10/11 writes this out as DX10 extension + } + + // No DXGI format maps to ISBITMASK(0x3ff00000, 0x000ffc00, 0x000003ff, 0xc0000000) aka D3DFMT_A2W10V10U10 } } - } - else if (ddpf.flags & DDS_ALPHA) - { - if (8 == ddpf.RGBBitCount) - { - return DXGI_FORMAT_A8_UNORM; - } - } - else if (ddpf.flags & DDS_BUMPDUDV) - { - if (16 == ddpf.RGBBitCount) + else if (ddpf.flags & DDS_FOURCC) { - if (ISBITMASK(0x00ff, 0xff00, 0x0000, 0x0000)) + if (MAKEFOURCC('D', 'X', 'T', '1') == ddpf.fourCC) { - return DXGI_FORMAT_R8G8_SNORM; // D3DX10/11 writes this out as DX10 extension + return DXGI_FORMAT_BC1_UNORM; } - } - - if (32 == ddpf.RGBBitCount) - { - if (ISBITMASK(0x000000ff, 0x0000ff00, 0x00ff0000, 0xff000000)) + if (MAKEFOURCC('D', 'X', 'T', '3') == ddpf.fourCC) { - return DXGI_FORMAT_R8G8B8A8_SNORM; // D3DX10/11 writes this out as DX10 extension + return DXGI_FORMAT_BC2_UNORM; } - if (ISBITMASK(0x0000ffff, 0xffff0000, 0x00000000, 0x00000000)) + if (MAKEFOURCC('D', 'X', 'T', '5') == ddpf.fourCC) { - return DXGI_FORMAT_R16G16_SNORM; // D3DX10/11 writes this out as DX10 extension + return DXGI_FORMAT_BC3_UNORM; } - // No DXGI format maps to ISBITMASK(0x3ff00000, 0x000ffc00, 0x000003ff, 0xc0000000) aka D3DFMT_A2W10V10U10 - } - } - else if (ddpf.flags & DDS_FOURCC) - { - if (MAKEFOURCC( 'D', 'X', 'T', '1' ) == ddpf.fourCC) - { - return DXGI_FORMAT_BC1_UNORM; - } - if (MAKEFOURCC( 'D', 'X', 'T', '3' ) == ddpf.fourCC) - { - return DXGI_FORMAT_BC2_UNORM; - } - if (MAKEFOURCC( 'D', 'X', 'T', '5' ) == ddpf.fourCC) - { - return DXGI_FORMAT_BC3_UNORM; - } - - // While pre-multiplied alpha isn't directly supported by the DXGI formats, - // they are basically the same as these BC formats so they can be mapped - if (MAKEFOURCC( 'D', 'X', 'T', '2' ) == ddpf.fourCC) - { - return DXGI_FORMAT_BC2_UNORM; - } - if (MAKEFOURCC( 'D', 'X', 'T', '4' ) == ddpf.fourCC) - { - return DXGI_FORMAT_BC3_UNORM; - } + // While pre-multiplied alpha isn't directly supported by the DXGI formats, + // they are basically the same as these BC formats so they can be mapped + if (MAKEFOURCC('D', 'X', 'T', '2') == ddpf.fourCC) + { + return DXGI_FORMAT_BC2_UNORM; + } + if (MAKEFOURCC('D', 'X', 'T', '4') == ddpf.fourCC) + { + return DXGI_FORMAT_BC3_UNORM; + } - if (MAKEFOURCC( 'A', 'T', 'I', '1' ) == ddpf.fourCC) - { - return DXGI_FORMAT_BC4_UNORM; - } - if (MAKEFOURCC( 'B', 'C', '4', 'U' ) == ddpf.fourCC) - { - return DXGI_FORMAT_BC4_UNORM; - } - if (MAKEFOURCC( 'B', 'C', '4', 'S' ) == ddpf.fourCC) - { - return DXGI_FORMAT_BC4_SNORM; - } + if (MAKEFOURCC('A', 'T', 'I', '1') == ddpf.fourCC) + { + return DXGI_FORMAT_BC4_UNORM; + } + if (MAKEFOURCC('B', 'C', '4', 'U') == ddpf.fourCC) + { + return DXGI_FORMAT_BC4_UNORM; + } + if (MAKEFOURCC('B', 'C', '4', 'S') == ddpf.fourCC) + { + return DXGI_FORMAT_BC4_SNORM; + } - if (MAKEFOURCC( 'A', 'T', 'I', '2' ) == ddpf.fourCC) - { - return DXGI_FORMAT_BC5_UNORM; - } - if (MAKEFOURCC( 'B', 'C', '5', 'U' ) == ddpf.fourCC) - { - return DXGI_FORMAT_BC5_UNORM; - } - if (MAKEFOURCC( 'B', 'C', '5', 'S' ) == ddpf.fourCC) - { - return DXGI_FORMAT_BC5_SNORM; - } + if (MAKEFOURCC('A', 'T', 'I', '2') == ddpf.fourCC) + { + return DXGI_FORMAT_BC5_UNORM; + } + if (MAKEFOURCC('B', 'C', '5', 'U') == ddpf.fourCC) + { + return DXGI_FORMAT_BC5_UNORM; + } + if (MAKEFOURCC('B', 'C', '5', 'S') == ddpf.fourCC) + { + return DXGI_FORMAT_BC5_SNORM; + } - // BC6H and BC7 are written using the "DX10" extended header + // BC6H and BC7 are written using the "DX10" extended header - if (MAKEFOURCC( 'R', 'G', 'B', 'G' ) == ddpf.fourCC) - { - return DXGI_FORMAT_R8G8_B8G8_UNORM; - } - if (MAKEFOURCC( 'G', 'R', 'G', 'B' ) == ddpf.fourCC) - { - return DXGI_FORMAT_G8R8_G8B8_UNORM; - } + if (MAKEFOURCC('R', 'G', 'B', 'G') == ddpf.fourCC) + { + return DXGI_FORMAT_R8G8_B8G8_UNORM; + } + if (MAKEFOURCC('G', 'R', 'G', 'B') == ddpf.fourCC) + { + return DXGI_FORMAT_G8R8_G8B8_UNORM; + } - if (MAKEFOURCC('Y','U','Y','2') == ddpf.fourCC) - { - return DXGI_FORMAT_YUY2; - } + if (MAKEFOURCC('Y', 'U', 'Y', '2') == ddpf.fourCC) + { + return DXGI_FORMAT_YUY2; + } - // Check for D3DFORMAT enums being set here - switch( ddpf.fourCC ) - { - case 36: // D3DFMT_A16B16G16R16 - return DXGI_FORMAT_R16G16B16A16_UNORM; + // Check for D3DFORMAT enums being set here + switch (ddpf.fourCC) + { + case 36: // D3DFMT_A16B16G16R16 + return DXGI_FORMAT_R16G16B16A16_UNORM; - case 110: // D3DFMT_Q16W16V16U16 - return DXGI_FORMAT_R16G16B16A16_SNORM; + case 110: // D3DFMT_Q16W16V16U16 + return DXGI_FORMAT_R16G16B16A16_SNORM; - case 111: // D3DFMT_R16F - return DXGI_FORMAT_R16_FLOAT; + case 111: // D3DFMT_R16F + return DXGI_FORMAT_R16_FLOAT; - case 112: // D3DFMT_G16R16F - return DXGI_FORMAT_R16G16_FLOAT; + case 112: // D3DFMT_G16R16F + return DXGI_FORMAT_R16G16_FLOAT; - case 113: // D3DFMT_A16B16G16R16F - return DXGI_FORMAT_R16G16B16A16_FLOAT; + case 113: // D3DFMT_A16B16G16R16F + return DXGI_FORMAT_R16G16B16A16_FLOAT; - case 114: // D3DFMT_R32F - return DXGI_FORMAT_R32_FLOAT; + case 114: // D3DFMT_R32F + return DXGI_FORMAT_R32_FLOAT; - case 115: // D3DFMT_G32R32F - return DXGI_FORMAT_R32G32_FLOAT; + case 115: // D3DFMT_G32R32F + return DXGI_FORMAT_R32G32_FLOAT; - case 116: // D3DFMT_A32B32G32R32F - return DXGI_FORMAT_R32G32B32A32_FLOAT; + case 116: // D3DFMT_A32B32G32R32F + return DXGI_FORMAT_R32G32B32A32_FLOAT; + } } - } - - return DXGI_FORMAT_UNKNOWN; -} + return DXGI_FORMAT_UNKNOWN; + } -//-------------------------------------------------------------------------------------- -static DXGI_FORMAT MakeSRGB( _In_ DXGI_FORMAT format ) -{ - switch( format ) + //-------------------------------------------------------------------------------------- + DXGI_FORMAT MakeSRGB(_In_ DXGI_FORMAT format) { - case DXGI_FORMAT_R8G8B8A8_UNORM: - return DXGI_FORMAT_R8G8B8A8_UNORM_SRGB; + switch (format) + { + case DXGI_FORMAT_R8G8B8A8_UNORM: + return DXGI_FORMAT_R8G8B8A8_UNORM_SRGB; - case DXGI_FORMAT_BC1_UNORM: - return DXGI_FORMAT_BC1_UNORM_SRGB; + case DXGI_FORMAT_BC1_UNORM: + return DXGI_FORMAT_BC1_UNORM_SRGB; - case DXGI_FORMAT_BC2_UNORM: - return DXGI_FORMAT_BC2_UNORM_SRGB; + case DXGI_FORMAT_BC2_UNORM: + return DXGI_FORMAT_BC2_UNORM_SRGB; - case DXGI_FORMAT_BC3_UNORM: - return DXGI_FORMAT_BC3_UNORM_SRGB; + case DXGI_FORMAT_BC3_UNORM: + return DXGI_FORMAT_BC3_UNORM_SRGB; - case DXGI_FORMAT_B8G8R8A8_UNORM: - return DXGI_FORMAT_B8G8R8A8_UNORM_SRGB; + case DXGI_FORMAT_B8G8R8A8_UNORM: + return DXGI_FORMAT_B8G8R8A8_UNORM_SRGB; - case DXGI_FORMAT_B8G8R8X8_UNORM: - return DXGI_FORMAT_B8G8R8X8_UNORM_SRGB; + case DXGI_FORMAT_B8G8R8X8_UNORM: + return DXGI_FORMAT_B8G8R8X8_UNORM_SRGB; - case DXGI_FORMAT_BC7_UNORM: - return DXGI_FORMAT_BC7_UNORM_SRGB; + case DXGI_FORMAT_BC7_UNORM: + return DXGI_FORMAT_BC7_UNORM_SRGB; - default: - return format; + default: + return format; + } } -} - -//-------------------------------------------------------------------------------------- -static HRESULT FillInitData( _In_ size_t width, - _In_ size_t height, - _In_ size_t depth, - _In_ size_t mipCount, - _In_ size_t arraySize, - _In_ DXGI_FORMAT format, - _In_ size_t maxsize, - _In_ size_t bitSize, - _In_reads_bytes_(bitSize) const uint8_t* bitData, - _Out_ size_t& twidth, - _Out_ size_t& theight, - _Out_ size_t& tdepth, - _Out_ size_t& skipMip, - _Out_writes_(mipCount*arraySize) D3D11_SUBRESOURCE_DATA* initData ) -{ - if ( !bitData || !initData ) - { - return E_POINTER; - } + //-------------------------------------------------------------------------------------- + template + HRESULT FillInitData(_In_ size_t width, + _In_ size_t height, + _In_ size_t depth, + _In_ size_t mipCount, + _In_ size_t arraySize, + _In_ DXGI_FORMAT format, + _In_ size_t maxsize, + _In_ size_t bitSize, + _In_reads_bytes_(bitSize) const uint8_t* bitData, + _Out_ size_t& twidth, + _Out_ size_t& theight, + _Out_ size_t& tdepth, + _Out_ size_t& skipMip, + _Out_writes_(mipCount*arraySize) SubresourceStructType* initData) + { + if (!bitData || !initData) + { + return E_POINTER; + } - skipMip = 0; - twidth = 0; - theight = 0; - tdepth = 0; + skipMip = 0; + twidth = 0; + theight = 0; + tdepth = 0; - size_t NumBytes = 0; - size_t RowBytes = 0; - const uint8_t* pSrcBits = bitData; - const uint8_t* pEndBits = bitData + bitSize; + size_t NumBytes = 0; + size_t RowBytes = 0; + const uint8_t* pSrcBits = bitData; + const uint8_t* pEndBits = bitData + bitSize; - size_t index = 0; - for( size_t j = 0; j < arraySize; j++ ) - { - size_t w = width; - size_t h = height; - size_t d = depth; - for( size_t i = 0; i < mipCount; i++ ) + size_t index = 0; + for (size_t j = 0; j < arraySize; j++) { - GetSurfaceInfo( w, - h, - format, - &NumBytes, - &RowBytes, - nullptr - ); - - if ( (mipCount <= 1) || !maxsize || (w <= maxsize && h <= maxsize && d <= maxsize) ) + size_t w = width; + size_t h = height; + size_t d = depth; + for (size_t i = 0; i < mipCount; i++) { - if ( !twidth ) + GetSurfaceInfo(w, + h, + format, + &NumBytes, + &RowBytes, + nullptr + ); + + if ((mipCount <= 1) || !maxsize || (w <= maxsize && h <= maxsize && d <= maxsize)) + { + if (!twidth) + { + twidth = w; + theight = h; + tdepth = d; + } + + assert(index < mipCount * arraySize); + _Analysis_assume_(index < mipCount * arraySize); + initData[index].pSysMem = reinterpret_cast(pSrcBits); + initData[index].SysMemPitch = static_cast(RowBytes); + initData[index].SysMemSlicePitch = static_cast(NumBytes); + ++index; + } + else if (!j) { - twidth = w; - theight = h; - tdepth = d; + // Count number of skipped mipmaps (first item only) + ++skipMip; } - assert(index < mipCount * arraySize); - _Analysis_assume_(index < mipCount * arraySize); - initData[index].pSysMem = ( const void* )pSrcBits; - initData[index].SysMemPitch = static_cast( RowBytes ); - initData[index].SysMemSlicePitch = static_cast( NumBytes ); - ++index; - } - else if ( !j ) - { - // Count number of skipped mipmaps (first item only) - ++skipMip; - } + if (pSrcBits + (NumBytes*d) > pEndBits) + { + return HRESULT_FROM_WIN32(ERROR_HANDLE_EOF); + } - if (pSrcBits + (NumBytes*d) > pEndBits) - { - return HRESULT_FROM_WIN32( ERROR_HANDLE_EOF ); - } - - pSrcBits += NumBytes * d; + pSrcBits += NumBytes * d; - w = w >> 1; - h = h >> 1; - d = d >> 1; - if (w == 0) - { - w = 1; - } - if (h == 0) - { - h = 1; - } - if (d == 0) - { - d = 1; + w = w >> 1; + h = h >> 1; + d = d >> 1; + if (w == 0) + { + w = 1; + } + if (h == 0) + { + h = 1; + } + if (d == 0) + { + d = 1; + } } } - } - - return (index > 0) ? S_OK : E_FAIL; -} - -//-------------------------------------------------------------------------------------- -static HRESULT CreateD3DResources( _In_ ID3D11Device* d3dDevice, - _In_ uint32_t resDim, - _In_ size_t width, - _In_ size_t height, - _In_ size_t depth, - _In_ size_t mipCount, - _In_ size_t arraySize, - _In_ DXGI_FORMAT format, - _In_ D3D11_USAGE usage, - _In_ unsigned int bindFlags, - _In_ unsigned int cpuAccessFlags, - _In_ unsigned int miscFlags, - _In_ bool forceSRGB, - _In_ bool isCubeMap, - _In_reads_opt_(mipCount*arraySize) D3D11_SUBRESOURCE_DATA* initData, - _Outptr_opt_ ID3D11Resource** texture, - _Outptr_opt_ ID3D11ShaderResourceView** textureView ) -{ - if ( !d3dDevice ) - return E_POINTER; - - HRESULT hr = E_FAIL; - - if ( forceSRGB ) - { - format = MakeSRGB( format ); - } + return (index > 0) ? S_OK : E_FAIL; + } + + //-------------------------------------------------------------------------------------- + HRESULT CreateD3DResources(_In_ ID3D11Device* d3dDevice, + _In_ uint32_t resDim, + _In_ size_t width, + _In_ size_t height, + _In_ size_t depth, + _In_ size_t mipCount, + _In_ size_t arraySize, + _In_ DXGI_FORMAT format, + _In_ D3D11_USAGE usage, + _In_ unsigned int bindFlags, + _In_ unsigned int cpuAccessFlags, + _In_ unsigned int miscFlags, + _In_ bool forceSRGB, + _In_ bool isCubeMap, + _In_reads_opt_(mipCount*arraySize) D3D11_SUBRESOURCE_DATA* initData, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView) + { + if (!d3dDevice) + return E_POINTER; + + HRESULT hr = E_FAIL; + + if (forceSRGB) + { + format = MakeSRGB(format); + } - switch ( resDim ) - { + switch (resDim) + { case D3D11_RESOURCE_DIMENSION_TEXTURE1D: + { + D3D11_TEXTURE1D_DESC desc; + desc.Width = static_cast(width); + desc.MipLevels = static_cast(mipCount); + desc.ArraySize = static_cast(arraySize); + desc.Format = format; + desc.Usage = usage; + desc.BindFlags = bindFlags; + desc.CPUAccessFlags = cpuAccessFlags; + desc.MiscFlags = miscFlags & ~D3D11_RESOURCE_MISC_TEXTURECUBE; + + ID3D11Texture1D* tex = nullptr; + hr = d3dDevice->CreateTexture1D(&desc, + initData, + &tex + ); + if (SUCCEEDED(hr) && tex != 0) { - D3D11_TEXTURE1D_DESC desc; - desc.Width = static_cast( width ); - desc.MipLevels = static_cast( mipCount ); - desc.ArraySize = static_cast( arraySize ); - desc.Format = format; - desc.Usage = usage; - desc.BindFlags = bindFlags; - desc.CPUAccessFlags = cpuAccessFlags; - desc.MiscFlags = miscFlags & ~D3D11_RESOURCE_MISC_TEXTURECUBE; - - ID3D11Texture1D* tex = nullptr; - hr = d3dDevice->CreateTexture1D( &desc, - initData, - &tex - ); - if (SUCCEEDED( hr ) && tex != 0) + if (textureView != 0) { - if (textureView != 0) - { - D3D11_SHADER_RESOURCE_VIEW_DESC SRVDesc; - memset( &SRVDesc, 0, sizeof( SRVDesc ) ); - SRVDesc.Format = format; + D3D11_SHADER_RESOURCE_VIEW_DESC SRVDesc = {}; + SRVDesc.Format = format; - if (arraySize > 1) - { - SRVDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE1DARRAY; - SRVDesc.Texture1DArray.MipLevels = (!mipCount) ? -1 : desc.MipLevels; - SRVDesc.Texture1DArray.ArraySize = static_cast( arraySize ); - } - else - { - SRVDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE1D; - SRVDesc.Texture1D.MipLevels = (!mipCount) ? -1 : desc.MipLevels; - } - - hr = d3dDevice->CreateShaderResourceView( tex, - &SRVDesc, - textureView - ); - if ( FAILED(hr) ) - { - tex->Release(); - return hr; - } - } - - if (texture != 0) + if (arraySize > 1) { - *texture = tex; + SRVDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE1DARRAY; + SRVDesc.Texture1DArray.MipLevels = (!mipCount) ? -1 : desc.MipLevels; + SRVDesc.Texture1DArray.ArraySize = static_cast(arraySize); } else { - SetDebugObjectName(tex, "DDSTextureLoader"); + SRVDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE1D; + SRVDesc.Texture1D.MipLevels = (!mipCount) ? -1 : desc.MipLevels; + } + + hr = d3dDevice->CreateShaderResourceView(tex, + &SRVDesc, + textureView + ); + if (FAILED(hr)) + { tex->Release(); + return hr; } } - } - break; - case D3D11_RESOURCE_DIMENSION_TEXTURE2D: - { - D3D11_TEXTURE2D_DESC desc; - desc.Width = static_cast( width ); - desc.Height = static_cast( height ); - desc.MipLevels = static_cast( mipCount ); - desc.ArraySize = static_cast( arraySize ); - desc.Format = format; - desc.SampleDesc.Count = 1; - desc.SampleDesc.Quality = 0; - desc.Usage = usage; - desc.BindFlags = bindFlags; - desc.CPUAccessFlags = cpuAccessFlags; - if ( isCubeMap ) + if (texture != 0) { - desc.MiscFlags = miscFlags | D3D11_RESOURCE_MISC_TEXTURECUBE; + *texture = tex; } else { - desc.MiscFlags = miscFlags & ~D3D11_RESOURCE_MISC_TEXTURECUBE; + SetDebugObjectName(tex, "DDSTextureLoader"); + tex->Release(); } + } + } + break; + + case D3D11_RESOURCE_DIMENSION_TEXTURE2D: + { + D3D11_TEXTURE2D_DESC desc; + desc.Width = static_cast(width); + desc.Height = static_cast(height); + desc.MipLevels = static_cast(mipCount); + desc.ArraySize = static_cast(arraySize); + desc.Format = format; + desc.SampleDesc.Count = 1; + desc.SampleDesc.Quality = 0; + desc.Usage = usage; + desc.BindFlags = bindFlags; + desc.CPUAccessFlags = cpuAccessFlags; + if (isCubeMap) + { + desc.MiscFlags = miscFlags | D3D11_RESOURCE_MISC_TEXTURECUBE; + } + else + { + desc.MiscFlags = miscFlags & ~D3D11_RESOURCE_MISC_TEXTURECUBE; + } - ID3D11Texture2D* tex = nullptr; - hr = d3dDevice->CreateTexture2D( &desc, - initData, - &tex - ); - if (SUCCEEDED( hr ) && tex != 0) + ID3D11Texture2D* tex = nullptr; + hr = d3dDevice->CreateTexture2D(&desc, + initData, + &tex + ); + if (SUCCEEDED(hr) && tex != 0) + { + if (textureView != 0) { - if (textureView != 0) - { - D3D11_SHADER_RESOURCE_VIEW_DESC SRVDesc; - memset( &SRVDesc, 0, sizeof( SRVDesc ) ); - SRVDesc.Format = format; + D3D11_SHADER_RESOURCE_VIEW_DESC SRVDesc = {}; + SRVDesc.Format = format; - if ( isCubeMap ) - { - if (arraySize > 6) - { - SRVDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURECUBEARRAY; - SRVDesc.TextureCubeArray.MipLevels = (!mipCount) ? -1 : desc.MipLevels; - - // Earlier we set arraySize to (NumCubes * 6) - SRVDesc.TextureCubeArray.NumCubes = static_cast( arraySize / 6 ); - } - else - { - SRVDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURECUBE; - SRVDesc.TextureCube.MipLevels = (!mipCount) ? -1 : desc.MipLevels; - } - } - else if (arraySize > 1) + if (isCubeMap) + { + if (arraySize > 6) { - SRVDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2DARRAY; - SRVDesc.Texture2DArray.MipLevels = (!mipCount) ? -1 : desc.MipLevels; - SRVDesc.Texture2DArray.ArraySize = static_cast( arraySize ); + SRVDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURECUBEARRAY; + SRVDesc.TextureCubeArray.MipLevels = (!mipCount) ? -1 : desc.MipLevels; + + // Earlier we set arraySize to (NumCubes * 6) + SRVDesc.TextureCubeArray.NumCubes = static_cast(arraySize / 6); } else { - SRVDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2D; - SRVDesc.Texture2D.MipLevels = (!mipCount) ? -1 : desc.MipLevels; - } - - hr = d3dDevice->CreateShaderResourceView( tex, - &SRVDesc, - textureView - ); - if ( FAILED(hr) ) - { - tex->Release(); - return hr; + SRVDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURECUBE; + SRVDesc.TextureCube.MipLevels = (!mipCount) ? -1 : desc.MipLevels; } } - - if (texture != 0) + else if (arraySize > 1) { - *texture = tex; + SRVDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2DARRAY; + SRVDesc.Texture2DArray.MipLevels = (!mipCount) ? -1 : desc.MipLevels; + SRVDesc.Texture2DArray.ArraySize = static_cast(arraySize); } else { - SetDebugObjectName(tex, "DDSTextureLoader"); + SRVDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2D; + SRVDesc.Texture2D.MipLevels = (!mipCount) ? -1 : desc.MipLevels; + } + + hr = d3dDevice->CreateShaderResourceView(tex, + &SRVDesc, + textureView + ); + if (FAILED(hr)) + { tex->Release(); + return hr; } } + + if (texture != 0) + { + *texture = tex; + } + else + { + SetDebugObjectName(tex, "DDSTextureLoader"); + tex->Release(); + } } - break; + } + break; case D3D11_RESOURCE_DIMENSION_TEXTURE3D: + { + D3D11_TEXTURE3D_DESC desc; + desc.Width = static_cast(width); + desc.Height = static_cast(height); + desc.Depth = static_cast(depth); + desc.MipLevels = static_cast(mipCount); + desc.Format = format; + desc.Usage = usage; + desc.BindFlags = bindFlags; + desc.CPUAccessFlags = cpuAccessFlags; + desc.MiscFlags = miscFlags & ~D3D11_RESOURCE_MISC_TEXTURECUBE; + + ID3D11Texture3D* tex = nullptr; + hr = d3dDevice->CreateTexture3D(&desc, + initData, + &tex + ); + if (SUCCEEDED(hr) && tex != 0) { - D3D11_TEXTURE3D_DESC desc; - desc.Width = static_cast( width ); - desc.Height = static_cast( height ); - desc.Depth = static_cast( depth ); - desc.MipLevels = static_cast( mipCount ); - desc.Format = format; - desc.Usage = usage; - desc.BindFlags = bindFlags; - desc.CPUAccessFlags = cpuAccessFlags; - desc.MiscFlags = miscFlags & ~D3D11_RESOURCE_MISC_TEXTURECUBE; - - ID3D11Texture3D* tex = nullptr; - hr = d3dDevice->CreateTexture3D( &desc, - initData, - &tex - ); - if (SUCCEEDED( hr ) && tex != 0) + if (textureView != 0) { - if (textureView != 0) - { - D3D11_SHADER_RESOURCE_VIEW_DESC SRVDesc; - memset( &SRVDesc, 0, sizeof( SRVDesc ) ); - SRVDesc.Format = format; - - SRVDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE3D; - SRVDesc.Texture3D.MipLevels = (!mipCount) ? -1 : desc.MipLevels; - - hr = d3dDevice->CreateShaderResourceView( tex, - &SRVDesc, - textureView - ); - if ( FAILED(hr) ) - { - tex->Release(); - return hr; - } - } + D3D11_SHADER_RESOURCE_VIEW_DESC SRVDesc = {}; + SRVDesc.Format = format; - if (texture != 0) - { - *texture = tex; - } - else + SRVDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE3D; + SRVDesc.Texture3D.MipLevels = (!mipCount) ? -1 : desc.MipLevels; + + hr = d3dDevice->CreateShaderResourceView(tex, + &SRVDesc, + textureView + ); + if (FAILED(hr)) { - SetDebugObjectName(tex, "DDSTextureLoader"); tex->Release(); + return hr; } } - } - break; - } - - return hr; -} - - -//-------------------------------------------------------------------------------------- -static HRESULT CreateTextureFromDDS( _In_ ID3D11Device* d3dDevice, - _In_opt_ ID3D11DeviceContext* d3dContext, -#if defined(_XBOX_ONE) && defined(_TITLE) - _In_opt_ ID3D11DeviceX* d3dDeviceX, - _In_opt_ ID3D11DeviceContextX* d3dContextX, -#endif - _In_ const DDS_HEADER* header, - _In_reads_bytes_(bitSize) const uint8_t* bitData, - _In_ size_t bitSize, - _In_ size_t maxsize, - _In_ D3D11_USAGE usage, - _In_ unsigned int bindFlags, - _In_ unsigned int cpuAccessFlags, - _In_ unsigned int miscFlags, - _In_ bool forceSRGB, - _Outptr_opt_ ID3D11Resource** texture, - _Outptr_opt_ ID3D11ShaderResourceView** textureView ) -{ - HRESULT hr = S_OK; - - UINT width = header->width; - UINT height = header->height; - UINT depth = header->depth; - uint32_t resDim = D3D11_RESOURCE_DIMENSION_UNKNOWN; - UINT arraySize = 1; - DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN; - bool isCubeMap = false; - - size_t mipCount = header->mipMapCount; - if (0 == mipCount) - { - mipCount = 1; - } + if (texture != 0) + { + *texture = tex; + } + else + { + SetDebugObjectName(tex, "DDSTextureLoader"); + tex->Release(); + } + } + } + break; + } - if ((header->ddspf.flags & DDS_FOURCC) && - (MAKEFOURCC( 'D', 'X', '1', '0' ) == header->ddspf.fourCC )) - { - auto d3d10ext = reinterpret_cast( (const char*)header + sizeof(DDS_HEADER) ); + return hr; + } - arraySize = d3d10ext->arraySize; - if (arraySize == 0) + //-------------------------------------------------------------------------------------- + HRESULT CreateTextureFromDDS(_In_ ID3D11Device* d3dDevice, + _In_opt_ ID3D11DeviceContext* d3dContext, +#if defined(_XBOX_ONE) && defined(_TITLE) + _In_opt_ ID3D11DeviceX* d3dDeviceX, + _In_opt_ ID3D11DeviceContextX* d3dContextX, +#endif + _In_ const DDS_HEADER* header, + _In_reads_bytes_(bitSize) const uint8_t* bitData, + _In_ size_t bitSize, + _In_ size_t maxsize, + _In_ D3D11_USAGE usage, + _In_ unsigned int bindFlags, + _In_ unsigned int cpuAccessFlags, + _In_ unsigned int miscFlags, + _In_ bool forceSRGB, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView) + { + HRESULT hr = S_OK; + + UINT width = header->width; + UINT height = header->height; + UINT depth = header->depth; + + uint32_t resDim = D3D11_RESOURCE_DIMENSION_UNKNOWN; + UINT arraySize = 1; + DXGI_FORMAT format = DXGI_FORMAT_UNKNOWN; + bool isCubeMap = false; + + size_t mipCount = header->mipMapCount; + if (0 == mipCount) { - return HRESULT_FROM_WIN32( ERROR_INVALID_DATA ); + mipCount = 1; } - switch( d3d10ext->dxgiFormat ) + if ((header->ddspf.flags & DDS_FOURCC) && + (MAKEFOURCC('D', 'X', '1', '0') == header->ddspf.fourCC)) { - case DXGI_FORMAT_AI44: - case DXGI_FORMAT_IA44: - case DXGI_FORMAT_P8: - case DXGI_FORMAT_A8P8: - return HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED ); + auto d3d10ext = reinterpret_cast((const char*)header + sizeof(DDS_HEADER)); - default: - if ( BitsPerPixel( d3d10ext->dxgiFormat ) == 0 ) + arraySize = d3d10ext->arraySize; + if (arraySize == 0) { - return HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED ); + return HRESULT_FROM_WIN32(ERROR_INVALID_DATA); } - } - - format = d3d10ext->dxgiFormat; - switch ( d3d10ext->resourceDimension ) - { - case D3D11_RESOURCE_DIMENSION_TEXTURE1D: - // D3DX writes 1D textures with a fixed Height of 1 - if ((header->flags & DDS_HEIGHT) && height != 1) + switch (d3d10ext->dxgiFormat) { - return HRESULT_FROM_WIN32( ERROR_INVALID_DATA ); - } - height = depth = 1; - break; + case DXGI_FORMAT_AI44: + case DXGI_FORMAT_IA44: + case DXGI_FORMAT_P8: + case DXGI_FORMAT_A8P8: + return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED); - case D3D11_RESOURCE_DIMENSION_TEXTURE2D: - if (d3d10ext->miscFlag & D3D11_RESOURCE_MISC_TEXTURECUBE) - { - arraySize *= 6; - isCubeMap = true; + default: + if (BitsPerPixel(d3d10ext->dxgiFormat) == 0) + { + return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED); + } } - depth = 1; - break; - case D3D11_RESOURCE_DIMENSION_TEXTURE3D: - if (!(header->flags & DDS_HEADER_FLAGS_VOLUME)) - { - return HRESULT_FROM_WIN32( ERROR_INVALID_DATA ); - } + format = d3d10ext->dxgiFormat; - if (arraySize > 1) + switch (d3d10ext->resourceDimension) { - return HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED ); - } - break; + case D3D11_RESOURCE_DIMENSION_TEXTURE1D: + // D3DX writes 1D textures with a fixed Height of 1 + if ((header->flags & DDS_HEIGHT) && height != 1) + { + return HRESULT_FROM_WIN32(ERROR_INVALID_DATA); + } + height = depth = 1; + break; - default: - return HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED ); - } + case D3D11_RESOURCE_DIMENSION_TEXTURE2D: + if (d3d10ext->miscFlag & D3D11_RESOURCE_MISC_TEXTURECUBE) + { + arraySize *= 6; + isCubeMap = true; + } + depth = 1; + break; - resDim = d3d10ext->resourceDimension; - } - else - { - format = GetDXGIFormat( header->ddspf ); + case D3D11_RESOURCE_DIMENSION_TEXTURE3D: + if (!(header->flags & DDS_HEADER_FLAGS_VOLUME)) + { + return HRESULT_FROM_WIN32(ERROR_INVALID_DATA); + } - if (format == DXGI_FORMAT_UNKNOWN) - { - return HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED ); - } + if (arraySize > 1) + { + return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED); + } + break; - if (header->flags & DDS_HEADER_FLAGS_VOLUME) - { - resDim = D3D11_RESOURCE_DIMENSION_TEXTURE3D; + default: + return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED); + } + + resDim = d3d10ext->resourceDimension; } - else + else { - if (header->caps2 & DDS_CUBEMAP) + format = GetDXGIFormat(header->ddspf); + + if (format == DXGI_FORMAT_UNKNOWN) { - // We require all six faces to be defined - if ((header->caps2 & DDS_CUBEMAP_ALLFACES ) != DDS_CUBEMAP_ALLFACES) - { - return HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED ); - } + return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED); + } - arraySize = 6; - isCubeMap = true; + if (header->flags & DDS_HEADER_FLAGS_VOLUME) + { + resDim = D3D11_RESOURCE_DIMENSION_TEXTURE3D; } + else + { + if (header->caps2 & DDS_CUBEMAP) + { + // We require all six faces to be defined + if ((header->caps2 & DDS_CUBEMAP_ALLFACES) != DDS_CUBEMAP_ALLFACES) + { + return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED); + } - depth = 1; - resDim = D3D11_RESOURCE_DIMENSION_TEXTURE2D; + arraySize = 6; + isCubeMap = true; + } - // Note there's no way for a legacy Direct3D 9 DDS to express a '1D' texture - } + depth = 1; + resDim = D3D11_RESOURCE_DIMENSION_TEXTURE2D; - assert( BitsPerPixel( format ) != 0 ); - } + // Note there's no way for a legacy Direct3D 9 DDS to express a '1D' texture + } - // Bound sizes (for security purposes we don't trust DDS file metadata larger than the D3D 11.x hardware requirements) - if (mipCount > D3D11_REQ_MIP_LEVELS) - { - return HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED ); - } + assert(BitsPerPixel(format) != 0); + } - switch ( resDim ) - { - case D3D11_RESOURCE_DIMENSION_TEXTURE1D: - if ((arraySize > D3D11_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION) || - (width > D3D11_REQ_TEXTURE1D_U_DIMENSION) ) + // Bound sizes (for security purposes we don't trust DDS file metadata larger than the Direct3D hardware requirements) + if (mipCount > D3D11_REQ_MIP_LEVELS) { - return HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED ); + return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED); } - break; - case D3D11_RESOURCE_DIMENSION_TEXTURE2D: - if ( isCubeMap ) + switch (resDim) { - // This is the right bound because we set arraySize to (NumCubes*6) above - if ((arraySize > D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION) || - (width > D3D11_REQ_TEXTURECUBE_DIMENSION) || - (height > D3D11_REQ_TEXTURECUBE_DIMENSION)) + case D3D11_RESOURCE_DIMENSION_TEXTURE1D: + if ((arraySize > D3D11_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION) || + (width > D3D11_REQ_TEXTURE1D_U_DIMENSION)) { - return HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED ); + return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED); } - } - else if ((arraySize > D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION) || - (width > D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION) || - (height > D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION)) - { - return HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED ); - } - break; + break; - case D3D11_RESOURCE_DIMENSION_TEXTURE3D: - if ((arraySize > 1) || - (width > D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION) || - (height > D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION) || - (depth > D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION) ) - { - return HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED ); - } - break; + case D3D11_RESOURCE_DIMENSION_TEXTURE2D: + if (isCubeMap) + { + // This is the right bound because we set arraySize to (NumCubes*6) above + if ((arraySize > D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION) || + (width > D3D11_REQ_TEXTURECUBE_DIMENSION) || + (height > D3D11_REQ_TEXTURECUBE_DIMENSION)) + { + return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED); + } + } + else if ((arraySize > D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION) || + (width > D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION) || + (height > D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION)) + { + return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED); + } + break; - default: - return HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED ); - } + case D3D11_RESOURCE_DIMENSION_TEXTURE3D: + if ((arraySize > 1) || + (width > D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION) || + (height > D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION) || + (depth > D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION)) + { + return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED); + } + break; - bool autogen = false; - if ( mipCount == 1 && d3dContext != 0 && textureView != 0 ) // Must have context and shader-view to auto generate mipmaps - { - // See if format is supported for auto-gen mipmaps (varies by feature level) - UINT fmtSupport = 0; - hr = d3dDevice->CheckFormatSupport( format, &fmtSupport ); - if ( SUCCEEDED(hr) && ( fmtSupport & D3D11_FORMAT_SUPPORT_MIP_AUTOGEN ) ) + default: + return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED); + } + + bool autogen = false; + if (mipCount == 1 && d3dContext != 0 && textureView != 0) // Must have context and shader-view to auto generate mipmaps { - // 10level9 feature levels do not support auto-gen mipgen for volume textures - if ( ( resDim != D3D11_RESOURCE_DIMENSION_TEXTURE3D ) - || ( d3dDevice->GetFeatureLevel() >= D3D_FEATURE_LEVEL_10_0 ) ) + // See if format is supported for auto-gen mipmaps (varies by feature level) + UINT fmtSupport = 0; + hr = d3dDevice->CheckFormatSupport(format, &fmtSupport); + if (SUCCEEDED(hr) && (fmtSupport & D3D11_FORMAT_SUPPORT_MIP_AUTOGEN)) { - autogen = true; + // 10level9 feature levels do not support auto-gen mipgen for volume textures + if ((resDim != D3D11_RESOURCE_DIMENSION_TEXTURE3D) + || (d3dDevice->GetFeatureLevel() >= D3D_FEATURE_LEVEL_10_0)) + { + autogen = true; #if defined(_XBOX_ONE) && defined(_TITLE) - if ( !d3dDeviceX || !d3dContextX ) - return E_INVALIDARG; + if (!d3dDeviceX || !d3dContextX) + return E_INVALIDARG; #endif + } } } - } - if ( autogen ) - { - // Create texture with auto-generated mipmaps - ID3D11Resource* tex = nullptr; - hr = CreateD3DResources( d3dDevice, resDim, width, height, depth, 0, arraySize, - format, usage, - bindFlags | D3D11_BIND_RENDER_TARGET, - cpuAccessFlags, - miscFlags | D3D11_RESOURCE_MISC_GENERATE_MIPS, forceSRGB, - isCubeMap, nullptr, &tex, textureView ); - if ( SUCCEEDED(hr) ) + if (autogen) { - size_t numBytes = 0; - size_t rowBytes = 0; - GetSurfaceInfo( width, height, format, &numBytes, &rowBytes, nullptr ); - - if ( numBytes > bitSize ) + // Create texture with auto-generated mipmaps + ID3D11Resource* tex = nullptr; + hr = CreateD3DResources(d3dDevice, resDim, width, height, depth, 0, arraySize, + format, usage, + bindFlags | D3D11_BIND_RENDER_TARGET, + cpuAccessFlags, + miscFlags | D3D11_RESOURCE_MISC_GENERATE_MIPS, forceSRGB, + isCubeMap, nullptr, &tex, textureView); + if (SUCCEEDED(hr)) { - (*textureView)->Release(); - *textureView = nullptr; - tex->Release(); - return HRESULT_FROM_WIN32( ERROR_HANDLE_EOF ); - } - - D3D11_SHADER_RESOURCE_VIEW_DESC desc; - (*textureView)->GetDesc( &desc ); - - UINT mipLevels = 1; + size_t numBytes = 0; + size_t rowBytes = 0; + GetSurfaceInfo(width, height, format, &numBytes, &rowBytes, nullptr); - switch( desc.ViewDimension ) - { - case D3D_SRV_DIMENSION_TEXTURE1D: mipLevels = desc.Texture1D.MipLevels; break; - case D3D_SRV_DIMENSION_TEXTURE1DARRAY: mipLevels = desc.Texture1DArray.MipLevels; break; - case D3D_SRV_DIMENSION_TEXTURE2D: mipLevels = desc.Texture2D.MipLevels; break; - case D3D_SRV_DIMENSION_TEXTURE2DARRAY: mipLevels = desc.Texture2DArray.MipLevels; break; - case D3D_SRV_DIMENSION_TEXTURECUBE: mipLevels = desc.TextureCube.MipLevels; break; - case D3D_SRV_DIMENSION_TEXTURECUBEARRAY:mipLevels = desc.TextureCubeArray.MipLevels; break; - case D3D_SRV_DIMENSION_TEXTURE3D: mipLevels = desc.Texture3D.MipLevels; break; - default: - (*textureView)->Release(); - *textureView = nullptr; - tex->Release(); - return E_UNEXPECTED; - } + if (numBytes > bitSize) + { + (*textureView)->Release(); + *textureView = nullptr; + tex->Release(); + return HRESULT_FROM_WIN32(ERROR_HANDLE_EOF); + } -#if defined(_XBOX_ONE) && defined(_TITLE) + D3D11_SHADER_RESOURCE_VIEW_DESC desc; + (*textureView)->GetDesc(&desc); - std::unique_ptr initData( new (std::nothrow) D3D11_SUBRESOURCE_DATA[ arraySize ] ); - if ( !initData ) - { - return E_OUTOFMEMORY; - } + UINT mipLevels = 1; - const uint8_t* pSrcBits = bitData; - const uint8_t* pEndBits = bitData + bitSize; - for( UINT item = 0; item < arraySize; ++item ) - { - if ( (pSrcBits + numBytes) > pEndBits ) + switch (desc.ViewDimension) { + case D3D_SRV_DIMENSION_TEXTURE1D: mipLevels = desc.Texture1D.MipLevels; break; + case D3D_SRV_DIMENSION_TEXTURE1DARRAY: mipLevels = desc.Texture1DArray.MipLevels; break; + case D3D_SRV_DIMENSION_TEXTURE2D: mipLevels = desc.Texture2D.MipLevels; break; + case D3D_SRV_DIMENSION_TEXTURE2DARRAY: mipLevels = desc.Texture2DArray.MipLevels; break; + case D3D_SRV_DIMENSION_TEXTURECUBE: mipLevels = desc.TextureCube.MipLevels; break; + case D3D_SRV_DIMENSION_TEXTURECUBEARRAY:mipLevels = desc.TextureCubeArray.MipLevels; break; + case D3D_SRV_DIMENSION_TEXTURE3D: mipLevels = desc.Texture3D.MipLevels; break; + default: (*textureView)->Release(); *textureView = nullptr; tex->Release(); - return HRESULT_FROM_WIN32( ERROR_HANDLE_EOF ); + return E_UNEXPECTED; } - initData[item].pSysMem = pSrcBits; - initData[item].SysMemPitch = static_cast(rowBytes); - initData[item].SysMemSlicePitch = static_cast(numBytes); - pSrcBits += numBytes; - } +#if defined(_XBOX_ONE) && defined(_TITLE) - ID3D11Resource* pStaging = nullptr; - switch( resDim ) - { - case D3D11_RESOURCE_DIMENSION_TEXTURE1D: + std::unique_ptr initData(new (std::nothrow) D3D11_SUBRESOURCE_DATA[arraySize]); + if (!initData) + { + return E_OUTOFMEMORY; + } + + const uint8_t* pSrcBits = bitData; + const uint8_t* pEndBits = bitData + bitSize; + for (UINT item = 0; item < arraySize; ++item) + { + if ((pSrcBits + numBytes) > pEndBits) + { + (*textureView)->Release(); + *textureView = nullptr; + tex->Release(); + return HRESULT_FROM_WIN32(ERROR_HANDLE_EOF); + } + + initData[item].pSysMem = pSrcBits; + initData[item].SysMemPitch = static_cast(rowBytes); + initData[item].SysMemSlicePitch = static_cast(numBytes); + pSrcBits += numBytes; + } + + ID3D11Resource* pStaging = nullptr; + switch (resDim) + { + case D3D11_RESOURCE_DIMENSION_TEXTURE1D: { ID3D11Texture1D *temp = nullptr; - CD3D11_TEXTURE1D_DESC stagingDesc( format, width, arraySize, 1, 0, D3D11_USAGE_STAGING, D3D11_CPU_ACCESS_READ ); - hr = d3dDevice->CreateTexture1D( &stagingDesc, initData.get(), &temp ); - if ( SUCCEEDED(hr) ) + CD3D11_TEXTURE1D_DESC stagingDesc(format, width, arraySize, 1, 0, D3D11_USAGE_STAGING, D3D11_CPU_ACCESS_READ); + hr = d3dDevice->CreateTexture1D(&stagingDesc, initData.get(), &temp); + if (SUCCEEDED(hr)) pStaging = temp; } break; - case D3D11_RESOURCE_DIMENSION_TEXTURE2D: + case D3D11_RESOURCE_DIMENSION_TEXTURE2D: { ID3D11Texture2D *temp = nullptr; - CD3D11_TEXTURE2D_DESC stagingDesc( format, width, height, arraySize, 1, 0, D3D11_USAGE_STAGING, D3D11_CPU_ACCESS_READ, 1, 0, isCubeMap ? D3D11_RESOURCE_MISC_TEXTURECUBE : 0 ); - hr = d3dDevice->CreateTexture2D( &stagingDesc, initData.get(), &temp ); - if ( SUCCEEDED(hr) ) + CD3D11_TEXTURE2D_DESC stagingDesc(format, width, height, arraySize, 1, 0, D3D11_USAGE_STAGING, D3D11_CPU_ACCESS_READ, 1, 0, isCubeMap ? D3D11_RESOURCE_MISC_TEXTURECUBE : 0); + hr = d3dDevice->CreateTexture2D(&stagingDesc, initData.get(), &temp); + if (SUCCEEDED(hr)) pStaging = temp; } break; - case D3D11_RESOURCE_DIMENSION_TEXTURE3D: + case D3D11_RESOURCE_DIMENSION_TEXTURE3D: { ID3D11Texture3D *temp = nullptr; - CD3D11_TEXTURE3D_DESC stagingDesc( format, width, height, depth, 1, 0, D3D11_USAGE_STAGING, D3D11_CPU_ACCESS_READ ); - hr = d3dDevice->CreateTexture3D( &stagingDesc, initData.get(), &temp ); - if ( SUCCEEDED(hr) ) + CD3D11_TEXTURE3D_DESC stagingDesc(format, width, height, depth, 1, 0, D3D11_USAGE_STAGING, D3D11_CPU_ACCESS_READ); + hr = d3dDevice->CreateTexture3D(&stagingDesc, initData.get(), &temp); + if (SUCCEEDED(hr)) pStaging = temp; } break; - }; + }; - if ( SUCCEEDED(hr) ) - { - for( UINT item = 0; item < arraySize; ++item ) + if (SUCCEEDED(hr)) { - UINT res = D3D11CalcSubresource( 0, item, mipLevels ); - d3dContext->CopySubresourceRegion( tex, res, 0, 0, 0, pStaging, item, nullptr ); - } + for (UINT item = 0; item < arraySize; ++item) + { + UINT res = D3D11CalcSubresource(0, item, mipLevels); + d3dContext->CopySubresourceRegion(tex, res, 0, 0, 0, pStaging, item, nullptr); + } - UINT64 copyFence = d3dContextX->InsertFence(0); - while( d3dDeviceX->IsFencePending( copyFence ) ) { SwitchToThread(); } - pStaging->Release(); - } + UINT64 copyFence = d3dContextX->InsertFence(0); + while (d3dDeviceX->IsFencePending(copyFence)) { SwitchToThread(); } + pStaging->Release(); + } #else - if ( arraySize > 1 ) - { - const uint8_t* pSrcBits = bitData; - const uint8_t* pEndBits = bitData + bitSize; - for( UINT item = 0; item < arraySize; ++item ) + if (arraySize > 1) { - if ( (pSrcBits + numBytes) > pEndBits ) + const uint8_t* pSrcBits = bitData; + const uint8_t* pEndBits = bitData + bitSize; + for (UINT item = 0; item < arraySize; ++item) { - (*textureView)->Release(); - *textureView = nullptr; - tex->Release(); - return HRESULT_FROM_WIN32( ERROR_HANDLE_EOF ); - } + if ((pSrcBits + numBytes) > pEndBits) + { + (*textureView)->Release(); + *textureView = nullptr; + tex->Release(); + return HRESULT_FROM_WIN32(ERROR_HANDLE_EOF); + } - UINT res = D3D11CalcSubresource( 0, item, mipLevels ); - d3dContext->UpdateSubresource( tex, res, nullptr, pSrcBits, static_cast(rowBytes), static_cast(numBytes) ); - pSrcBits += numBytes; + UINT res = D3D11CalcSubresource(0, item, mipLevels); + d3dContext->UpdateSubresource(tex, res, nullptr, pSrcBits, static_cast(rowBytes), static_cast(numBytes)); + pSrcBits += numBytes; + } + } + else + { + d3dContext->UpdateSubresource(tex, 0, nullptr, bitData, static_cast(rowBytes), static_cast(numBytes)); } - } - else - { - d3dContext->UpdateSubresource( tex, 0, nullptr, bitData, static_cast(rowBytes), static_cast(numBytes) ); - } #endif - d3dContext->GenerateMips( *textureView ); + d3dContext->GenerateMips(*textureView); - if ( texture ) - { - *texture = tex; - } - else - { - tex->Release(); + if (texture) + { + *texture = tex; + } + else + { + tex->Release(); + } } } - } - else - { - // Create the texture - std::unique_ptr initData( new (std::nothrow) D3D11_SUBRESOURCE_DATA[ mipCount * arraySize ] ); - if ( !initData ) + else { - return E_OUTOFMEMORY; - } - - size_t skipMip = 0; - size_t twidth = 0; - size_t theight = 0; - size_t tdepth = 0; - hr = FillInitData( width, height, depth, mipCount, arraySize, format, maxsize, bitSize, bitData, - twidth, theight, tdepth, skipMip, initData.get() ); + // Create the texture + std::unique_ptr initData(new (std::nothrow) D3D11_SUBRESOURCE_DATA[mipCount * arraySize]); + if (!initData) + { + return E_OUTOFMEMORY; + } - if ( SUCCEEDED(hr) ) - { - hr = CreateD3DResources( d3dDevice, resDim, twidth, theight, tdepth, mipCount - skipMip, arraySize, - format, usage, bindFlags, cpuAccessFlags, miscFlags, forceSRGB, - isCubeMap, initData.get(), texture, textureView ); + size_t skipMip = 0; + size_t twidth = 0; + size_t theight = 0; + size_t tdepth = 0; + hr = FillInitData(width, height, depth, mipCount, arraySize, format, maxsize, bitSize, bitData, + twidth, theight, tdepth, skipMip, initData.get()); - if ( FAILED(hr) && !maxsize && (mipCount > 1) ) + if (SUCCEEDED(hr)) { - // Retry with a maxsize determined by feature level - switch( d3dDevice->GetFeatureLevel() ) + hr = CreateD3DResources(d3dDevice, resDim, twidth, theight, tdepth, mipCount - skipMip, arraySize, + format, usage, bindFlags, cpuAccessFlags, miscFlags, forceSRGB, + isCubeMap, initData.get(), texture, textureView); + + if (FAILED(hr) && !maxsize && (mipCount > 1)) { - case D3D_FEATURE_LEVEL_9_1: - case D3D_FEATURE_LEVEL_9_2: - if ( isCubeMap ) - { - maxsize = 512 /*D3D_FL9_1_REQ_TEXTURECUBE_DIMENSION*/; - } - else + // Retry with a maxsize determined by feature level + switch (d3dDevice->GetFeatureLevel()) { + case D3D_FEATURE_LEVEL_9_1: + case D3D_FEATURE_LEVEL_9_2: + if (isCubeMap) + { + maxsize = 512 /*D3D_FL9_1_REQ_TEXTURECUBE_DIMENSION*/; + } + else + { + maxsize = (resDim == D3D11_RESOURCE_DIMENSION_TEXTURE3D) + ? 256 /*D3D_FL9_1_REQ_TEXTURE3D_U_V_OR_W_DIMENSION*/ + : 2048 /*D3D_FL9_1_REQ_TEXTURE2D_U_OR_V_DIMENSION*/; + } + break; + + case D3D_FEATURE_LEVEL_9_3: + maxsize = (resDim == D3D11_RESOURCE_DIMENSION_TEXTURE3D) + ? 256 /*D3D_FL9_1_REQ_TEXTURE3D_U_V_OR_W_DIMENSION*/ + : 4096 /*D3D_FL9_3_REQ_TEXTURE2D_U_OR_V_DIMENSION*/; + break; + + default: // D3D_FEATURE_LEVEL_10_0 & D3D_FEATURE_LEVEL_10_1 maxsize = (resDim == D3D11_RESOURCE_DIMENSION_TEXTURE3D) - ? 256 /*D3D_FL9_1_REQ_TEXTURE3D_U_V_OR_W_DIMENSION*/ - : 2048 /*D3D_FL9_1_REQ_TEXTURE2D_U_OR_V_DIMENSION*/; + ? 2048 /*D3D10_REQ_TEXTURE3D_U_V_OR_W_DIMENSION*/ + : 8192 /*D3D10_REQ_TEXTURE2D_U_OR_V_DIMENSION*/; + break; } - break; - - case D3D_FEATURE_LEVEL_9_3: - maxsize = (resDim == D3D11_RESOURCE_DIMENSION_TEXTURE3D) - ? 256 /*D3D_FL9_1_REQ_TEXTURE3D_U_V_OR_W_DIMENSION*/ - : 4096 /*D3D_FL9_3_REQ_TEXTURE2D_U_OR_V_DIMENSION*/; - break; - - default: // D3D_FEATURE_LEVEL_10_0 & D3D_FEATURE_LEVEL_10_1 - maxsize = (resDim == D3D11_RESOURCE_DIMENSION_TEXTURE3D) - ? 2048 /*D3D10_REQ_TEXTURE3D_U_V_OR_W_DIMENSION*/ - : 8192 /*D3D10_REQ_TEXTURE2D_U_OR_V_DIMENSION*/; - break; - } - hr = FillInitData( width, height, depth, mipCount, arraySize, format, maxsize, bitSize, bitData, - twidth, theight, tdepth, skipMip, initData.get() ); - if ( SUCCEEDED(hr) ) - { - hr = CreateD3DResources( d3dDevice, resDim, twidth, theight, tdepth, mipCount - skipMip, arraySize, - format, usage, bindFlags, cpuAccessFlags, miscFlags, forceSRGB, - isCubeMap, initData.get(), texture, textureView ); + hr = FillInitData(width, height, depth, mipCount, arraySize, format, maxsize, bitSize, bitData, + twidth, theight, tdepth, skipMip, initData.get()); + if (SUCCEEDED(hr)) + { + hr = CreateD3DResources(d3dDevice, resDim, twidth, theight, tdepth, mipCount - skipMip, arraySize, + format, usage, bindFlags, cpuAccessFlags, miscFlags, forceSRGB, + isCubeMap, initData.get(), texture, textureView); + } } } } - } - - return hr; -} + return hr; + } -//-------------------------------------------------------------------------------------- -static DDS_ALPHA_MODE GetAlphaMode( _In_ const DDS_HEADER* header ) -{ - if ( header->ddspf.flags & DDS_FOURCC ) + //-------------------------------------------------------------------------------------- + DDS_ALPHA_MODE GetAlphaMode(_In_ const DDS_HEADER* header) { - if ( MAKEFOURCC( 'D', 'X', '1', '0' ) == header->ddspf.fourCC ) + if (header->ddspf.flags & DDS_FOURCC) { - auto d3d10ext = reinterpret_cast( (const char*)header + sizeof(DDS_HEADER) ); - auto mode = static_cast( d3d10ext->miscFlags2 & DDS_MISC_FLAGS2_ALPHA_MODE_MASK ); - switch( mode ) + if (MAKEFOURCC('D', 'X', '1', '0') == header->ddspf.fourCC) + { + auto d3d10ext = reinterpret_cast((const char*)header + sizeof(DDS_HEADER)); + auto mode = static_cast(d3d10ext->miscFlags2 & DDS_MISC_FLAGS2_ALPHA_MODE_MASK); + switch (mode) + { + case DDS_ALPHA_MODE_STRAIGHT: + case DDS_ALPHA_MODE_PREMULTIPLIED: + case DDS_ALPHA_MODE_OPAQUE: + case DDS_ALPHA_MODE_CUSTOM: + return mode; + } + } + else if ((MAKEFOURCC('D', 'X', 'T', '2') == header->ddspf.fourCC) + || (MAKEFOURCC('D', 'X', 'T', '4') == header->ddspf.fourCC)) { - case DDS_ALPHA_MODE_STRAIGHT: - case DDS_ALPHA_MODE_PREMULTIPLIED: - case DDS_ALPHA_MODE_OPAQUE: - case DDS_ALPHA_MODE_CUSTOM: - return mode; + return DDS_ALPHA_MODE_PREMULTIPLIED; } } - else if ( ( MAKEFOURCC( 'D', 'X', 'T', '2' ) == header->ddspf.fourCC ) - || ( MAKEFOURCC( 'D', 'X', 'T', '4' ) == header->ddspf.fourCC ) ) - { - return DDS_ALPHA_MODE_PREMULTIPLIED; - } - } - return DDS_ALPHA_MODE_UNKNOWN; -} + return DDS_ALPHA_MODE_UNKNOWN; + } +} // anonymous namespace //-------------------------------------------------------------------------------------- @@ -1857,18 +1843,27 @@ HRESULT DirectX::CreateDDSTextureFromFileEx( ID3D11Device* d3dDevice, if ( SUCCEEDED(hr) ) { #if !defined(NO_D3D11_DEBUG_NAME) && ( defined(_DEBUG) || defined(PROFILE) ) - #if defined(_XBOX_ONE) && defined(_TITLE) - if (texture != 0 && *texture != 0) - { - (*texture)->SetName( fileName ); - } - if (textureView != 0 && *textureView != 0 ) - { - (*textureView)->SetName( fileName ); - } - #else if (texture != 0 || textureView != 0) { + #if defined(_XBOX_ONE) && defined(_TITLE) + const wchar_t* pstrName = wcsrchr(fileName, '\\'); + if (!pstrName) + { + pstrName = fileName; + } + else + { + pstrName++; + } + if (texture != 0 && *texture != 0) + { + (*texture)->SetName(pstrName); + } + if (textureView != 0 && *textureView != 0) + { + (*textureView)->SetName(pstrName); + } + #else CHAR strFileA[MAX_PATH]; int result = WideCharToMultiByte( CP_ACP, WC_NO_BEST_FIT_CHARS, @@ -1881,7 +1876,7 @@ HRESULT DirectX::CreateDDSTextureFromFileEx( ID3D11Device* d3dDevice, ); if ( result > 0 ) { - const CHAR* pstrName = strrchr( strFileA, '\\' ); + const char* pstrName = strrchr( strFileA, '\\' ); if (!pstrName) { pstrName = strFileA; @@ -1907,8 +1902,8 @@ HRESULT DirectX::CreateDDSTextureFromFileEx( ID3D11Device* d3dDevice, ); } } - } #endif + } #endif if ( alphaMode ) @@ -1982,18 +1977,27 @@ HRESULT DirectX::CreateDDSTextureFromFileEx( ID3D11Device* d3dDevice, if ( SUCCEEDED(hr) ) { #if !defined(NO_D3D11_DEBUG_NAME) && ( defined(_DEBUG) || defined(PROFILE) ) - #if defined(_XBOX_ONE) && defined(_TITLE) - if (texture != 0 && *texture != 0) - { - (*texture)->SetName( fileName ); - } - if (textureView != 0 && *textureView != 0 ) - { - (*textureView)->SetName( fileName ); - } - #else if (texture != 0 || textureView != 0) { + #if defined(_XBOX_ONE) && defined(_TITLE) + const wchar_t* pstrName = wcsrchr(fileName, '\\'); + if (!pstrName) + { + pstrName = fileName; + } + else + { + pstrName++; + } + if (texture != 0 && *texture != 0) + { + (*texture)->SetName( pstrName ); + } + if (textureView != 0 && *textureView != 0 ) + { + (*textureView)->SetName( pstrName ); + } + #else CHAR strFileA[MAX_PATH]; int result = WideCharToMultiByte( CP_ACP, WC_NO_BEST_FIT_CHARS, @@ -2006,7 +2010,7 @@ HRESULT DirectX::CreateDDSTextureFromFileEx( ID3D11Device* d3dDevice, ); if ( result > 0 ) { - const CHAR* pstrName = strrchr( strFileA, '\\' ); + const char* pstrName = strrchr( strFileA, '\\' ); if (!pstrName) { pstrName = strFileA; @@ -2032,8 +2036,8 @@ HRESULT DirectX::CreateDDSTextureFromFileEx( ID3D11Device* d3dDevice, ); } } - } #endif + } #endif if ( alphaMode ) diff --git a/Kits/DirectXTK/Src/DGSLEffectFactory.cpp b/Kits/DirectXTK/Src/DGSLEffectFactory.cpp index d89eaae6..2991b7f9 100644 --- a/Kits/DirectXTK/Src/DGSLEffectFactory.cpp +++ b/Kits/DirectXTK/Src/DGSLEffectFactory.cpp @@ -17,13 +17,10 @@ #include "SharedResourcePool.h" #include "DDSTextureLoader.h" +#include "WICTextureLoader.h" #include -#if !defined(WINAPI_FAMILY) || (WINAPI_FAMILY != WINAPI_FAMILY_PHONE_APP) || (_WIN32_WINNT > _WIN32_WINNT_WIN8) -#include "WICTextureLoader.h" -#endif - #include "BinaryReader.h" using namespace DirectX; @@ -41,15 +38,15 @@ public: std::shared_ptr CreateEffect( _In_ DGSLEffectFactory* factory, _In_ const IEffectFactory::EffectInfo& info, _In_opt_ ID3D11DeviceContext* deviceContext ); std::shared_ptr CreateDGSLEffect( _In_ DGSLEffectFactory* factory, _In_ const DGSLEffectInfo& info, _In_opt_ ID3D11DeviceContext* deviceContext ); - void CreateTexture( _In_z_ const WCHAR* texture, _In_opt_ ID3D11DeviceContext* deviceContext, _Outptr_ ID3D11ShaderResourceView** textureView ); - void CreatePixelShader( _In_z_ const WCHAR* shader, _Outptr_ ID3D11PixelShader** pixelShader ); + void CreateTexture( _In_z_ const wchar_t* texture, _In_opt_ ID3D11DeviceContext* deviceContext, _Outptr_ ID3D11ShaderResourceView** textureView ); + void CreatePixelShader( _In_z_ const wchar_t* shader, _Outptr_ ID3D11PixelShader** pixelShader ); void ReleaseCache(); void SetSharing( bool enabled ) { mSharing = enabled; } static SharedResourcePool instancePool; - WCHAR mPath[MAX_PATH]; + wchar_t mPath[MAX_PATH]; private: ComPtr device; @@ -193,7 +190,7 @@ std::shared_ptr DGSLEffectFactory::Impl::CreateDGSLEffect( DGSLEffectFa } else { - wchar_t root[ MAX_PATH ] = {0}; + wchar_t root[ MAX_PATH ] = {}; auto last = wcsrchr( info.pixelShader, '_' ); if ( last ) { @@ -331,7 +328,7 @@ std::shared_ptr DGSLEffectFactory::Impl::CreateDGSLEffect( DGSLEffectFa _Use_decl_annotations_ -void DGSLEffectFactory::Impl::CreateTexture( const WCHAR* name, ID3D11DeviceContext* deviceContext, ID3D11ShaderResourceView** textureView ) +void DGSLEffectFactory::Impl::CreateTexture( const wchar_t* name, ID3D11DeviceContext* deviceContext, ID3D11ShaderResourceView** textureView ) { if ( !name || !textureView ) throw std::exception("invalid arguments"); @@ -350,12 +347,11 @@ void DGSLEffectFactory::Impl::CreateTexture( const WCHAR* name, ID3D11DeviceCont } else { - WCHAR fullName[MAX_PATH] = {0}; + wchar_t fullName[MAX_PATH] = {}; wcscpy_s( fullName, mPath ); wcscat_s( fullName, name ); -#if !defined(WINAPI_FAMILY) || (WINAPI_FAMILY != WINAPI_FAMILY_PHONE_APP) || (_WIN32_WINNT > _WIN32_WINNT_WIN8) - WCHAR ext[_MAX_EXT]; + wchar_t ext[_MAX_EXT]; _wsplitpath_s( name, nullptr, 0, nullptr, 0, nullptr, 0, ext, _MAX_EXT ); if ( _wcsicmp( ext, L".dds" ) == 0 ) @@ -388,15 +384,6 @@ void DGSLEffectFactory::Impl::CreateTexture( const WCHAR* name, ID3D11DeviceCont throw std::exception( "CreateWICTextureFromFile" ); } } -#else - UNREFERENCED_PARAMETER( deviceContext ); - HRESULT hr = CreateDDSTextureFromFile( device.Get(), fullName, nullptr, textureView ); - if ( FAILED(hr) ) - { - DebugTrace( "CreateDDSTextureFromFile failed (%08X) for '%ls'\n", hr, fullName ); - throw std::exception( "CreateDDSTextureFromFile" ); - } -#endif if ( mSharing && *name && it == mTextureCache.end() ) { @@ -408,7 +395,7 @@ void DGSLEffectFactory::Impl::CreateTexture( const WCHAR* name, ID3D11DeviceCont _Use_decl_annotations_ -void DGSLEffectFactory::Impl::CreatePixelShader( const WCHAR* name, ID3D11PixelShader** pixelShader ) +void DGSLEffectFactory::Impl::CreatePixelShader( const wchar_t* name, ID3D11PixelShader** pixelShader ) { if ( !name || !pixelShader ) throw std::exception("invalid arguments"); @@ -423,7 +410,7 @@ void DGSLEffectFactory::Impl::CreatePixelShader( const WCHAR* name, ID3D11PixelS } else { - WCHAR fullName[MAX_PATH]={0}; + wchar_t fullName[MAX_PATH] = {}; wcscpy_s( fullName, mPath ); wcscat_s( fullName, name ); @@ -495,7 +482,7 @@ std::shared_ptr DGSLEffectFactory::CreateEffect( const EffectInfo& info } _Use_decl_annotations_ -void DGSLEffectFactory::CreateTexture( const WCHAR* name, ID3D11DeviceContext* deviceContext, ID3D11ShaderResourceView** textureView ) +void DGSLEffectFactory::CreateTexture( const wchar_t* name, ID3D11DeviceContext* deviceContext, ID3D11ShaderResourceView** textureView ) { return pImpl->CreateTexture( name, deviceContext, textureView ); } @@ -510,7 +497,7 @@ std::shared_ptr DGSLEffectFactory::CreateDGSLEffect( const DGSLEffectIn _Use_decl_annotations_ -void DGSLEffectFactory::CreatePixelShader( const WCHAR* shader, ID3D11PixelShader** pixelShader ) +void DGSLEffectFactory::CreatePixelShader( const wchar_t* shader, ID3D11PixelShader** pixelShader ) { pImpl->CreatePixelShader( shader, pixelShader ); } @@ -527,7 +514,7 @@ void DGSLEffectFactory::SetSharing( bool enabled ) pImpl->SetSharing( enabled ); } -void DGSLEffectFactory::SetDirectory( _In_opt_z_ const WCHAR* path ) +void DGSLEffectFactory::SetDirectory( _In_opt_z_ const wchar_t* path ) { if ( path && *path != 0 ) { diff --git a/Kits/DirectXTK/Src/EffectCommon.cpp b/Kits/DirectXTK/Src/EffectCommon.cpp index c4ef75e8..0a1b7269 100644 --- a/Kits/DirectXTK/Src/EffectCommon.cpp +++ b/Kits/DirectXTK/Src/EffectCommon.cpp @@ -405,8 +405,7 @@ ID3D11ShaderResourceView* EffectDeviceResources::GetDefaultTexture() D3D11_SUBRESOURCE_DATA initData = { &s_pixel, sizeof(uint32_t), 0 }; - D3D11_TEXTURE2D_DESC desc; - memset( &desc, 0, sizeof(desc) ); + D3D11_TEXTURE2D_DESC desc = {}; desc.Width = desc.Height = desc.MipLevels = desc.ArraySize = 1; desc.Format = DXGI_FORMAT_R8G8B8A8_UNORM; desc.SampleDesc.Count = 1; @@ -420,8 +419,7 @@ ID3D11ShaderResourceView* EffectDeviceResources::GetDefaultTexture() { SetDebugObjectName(tex.Get(), "DirectXTK:Effect"); - D3D11_SHADER_RESOURCE_VIEW_DESC SRVDesc; - memset( &SRVDesc, 0, sizeof( SRVDesc ) ); + D3D11_SHADER_RESOURCE_VIEW_DESC SRVDesc = {}; SRVDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM; SRVDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2D; SRVDesc.Texture2D.MipLevels = 1; diff --git a/Kits/DirectXTK/Src/EffectCommon.h b/Kits/DirectXTK/Src/EffectCommon.h index e829a629..7544b72c 100644 --- a/Kits/DirectXTK/Src/EffectCommon.h +++ b/Kits/DirectXTK/Src/EffectCommon.h @@ -151,9 +151,9 @@ namespace DirectX EffectBase(_In_ ID3D11Device* device) : dirtyFlags(INT_MAX), mConstantBuffer(device), - mDeviceResources(deviceResourcesPool.DemandCreate(device)) + mDeviceResources(deviceResourcesPool.DemandCreate(device)), + constants{} { - ZeroMemory(&constants, sizeof(constants)); } diff --git a/Kits/DirectXTK/Src/EffectFactory.cpp b/Kits/DirectXTK/Src/EffectFactory.cpp index 4d2a5576..579285ad 100644 --- a/Kits/DirectXTK/Src/EffectFactory.cpp +++ b/Kits/DirectXTK/Src/EffectFactory.cpp @@ -17,10 +17,7 @@ #include "SharedResourcePool.h" #include "DDSTextureLoader.h" - -#if !defined(WINAPI_FAMILY) || (WINAPI_FAMILY != WINAPI_FAMILY_PHONE_APP) || (_WIN32_WINNT > _WIN32_WINNT_WIN8) #include "WICTextureLoader.h" -#endif using namespace DirectX; using Microsoft::WRL::ComPtr; @@ -36,14 +33,14 @@ public: { *mPath = 0; } std::shared_ptr CreateEffect( _In_ IEffectFactory* factory, _In_ const IEffectFactory::EffectInfo& info, _In_opt_ ID3D11DeviceContext* deviceContext ); - void CreateTexture( _In_z_ const WCHAR* texture, _In_opt_ ID3D11DeviceContext* deviceContext, _Outptr_ ID3D11ShaderResourceView** textureView ); + void CreateTexture( _In_z_ const wchar_t* texture, _In_opt_ ID3D11DeviceContext* deviceContext, _Outptr_ ID3D11ShaderResourceView** textureView ); void ReleaseCache(); void SetSharing( bool enabled ) { mSharing = enabled; } static SharedResourcePool instancePool; - WCHAR mPath[MAX_PATH]; + wchar_t mPath[MAX_PATH]; private: ComPtr device; @@ -245,7 +242,7 @@ std::shared_ptr EffectFactory::Impl::CreateEffect( IEffectFactory* fact } _Use_decl_annotations_ -void EffectFactory::Impl::CreateTexture( const WCHAR* name, ID3D11DeviceContext* deviceContext, ID3D11ShaderResourceView** textureView ) +void EffectFactory::Impl::CreateTexture( const wchar_t* name, ID3D11DeviceContext* deviceContext, ID3D11ShaderResourceView** textureView ) { if ( !name || !textureView ) throw std::exception("invalid arguments"); @@ -264,12 +261,11 @@ void EffectFactory::Impl::CreateTexture( const WCHAR* name, ID3D11DeviceContext* } else { - WCHAR fullName[MAX_PATH]={0}; + wchar_t fullName[MAX_PATH] = {}; wcscpy_s( fullName, mPath ); wcscat_s( fullName, name ); -#if !defined(WINAPI_FAMILY) || (WINAPI_FAMILY != WINAPI_FAMILY_PHONE_APP) || (_WIN32_WINNT > _WIN32_WINNT_WIN8) - WCHAR ext[_MAX_EXT]; + wchar_t ext[_MAX_EXT]; _wsplitpath_s( name, nullptr, 0, nullptr, 0, nullptr, 0, ext, _MAX_EXT ); if ( _wcsicmp( ext, L".dds" ) == 0 ) @@ -302,15 +298,6 @@ void EffectFactory::Impl::CreateTexture( const WCHAR* name, ID3D11DeviceContext* throw std::exception( "CreateWICTextureFromFile" ); } } -#else - UNREFERENCED_PARAMETER( deviceContext ); - HRESULT hr = CreateDDSTextureFromFile( device.Get(), fullName, nullptr, textureView ); - if ( FAILED(hr) ) - { - DebugTrace( "CreateDDSTextureFromFile failed (%08X) for '%ls'\n", hr, fullName ); - throw std::exception( "CreateDDSTextureFromFile" ); - } -#endif if ( mSharing && *name && it == mTextureCache.end() ) { @@ -363,7 +350,7 @@ std::shared_ptr EffectFactory::CreateEffect( const EffectInfo& info, ID } _Use_decl_annotations_ -void EffectFactory::CreateTexture( const WCHAR* name, ID3D11DeviceContext* deviceContext, ID3D11ShaderResourceView** textureView ) +void EffectFactory::CreateTexture( const wchar_t* name, ID3D11DeviceContext* deviceContext, ID3D11ShaderResourceView** textureView ) { return pImpl->CreateTexture( name, deviceContext, textureView ); } @@ -378,7 +365,7 @@ void EffectFactory::SetSharing( bool enabled ) pImpl->SetSharing( enabled ); } -void EffectFactory::SetDirectory( _In_opt_z_ const WCHAR* path ) +void EffectFactory::SetDirectory( _In_opt_z_ const wchar_t* path ) { if ( path && *path != 0 ) { diff --git a/Kits/DirectXTK/Src/GeometricPrimitive.cpp b/Kits/DirectXTK/Src/GeometricPrimitive.cpp index e6281513..0b9a9976 100644 --- a/Kits/DirectXTK/Src/GeometricPrimitive.cpp +++ b/Kits/DirectXTK/Src/GeometricPrimitive.cpp @@ -86,13 +86,13 @@ namespace { assert( pBuffer != 0 ); - D3D11_BUFFER_DESC bufferDesc = { 0 }; + D3D11_BUFFER_DESC bufferDesc = {}; bufferDesc.ByteWidth = (UINT)data.size() * sizeof(T::value_type); bufferDesc.BindFlags = bindFlags; bufferDesc.Usage = D3D11_USAGE_DEFAULT; - D3D11_SUBRESOURCE_DATA dataDesc = { 0 }; + D3D11_SUBRESOURCE_DATA dataDesc = {}; dataDesc.pSysMem = data.data(); diff --git a/Kits/DirectXTK/Src/GraphicsMemory.cpp b/Kits/DirectXTK/Src/GraphicsMemory.cpp index ec7789ee..d0da3b44 100644 --- a/Kits/DirectXTK/Src/GraphicsMemory.cpp +++ b/Kits/DirectXTK/Src/GraphicsMemory.cpp @@ -224,7 +224,7 @@ GraphicsMemory::Impl* GraphicsMemory::Impl::s_graphicsMemory = nullptr; #else //====================================================================================== -// Null allocator for standard Direct3D 11 +// Null allocator for standard Direct3D //====================================================================================== class GraphicsMemory::Impl diff --git a/Kits/DirectXTK/Src/ModelLoadCMO.cpp b/Kits/DirectXTK/Src/ModelLoadCMO.cpp index b392916c..2a3c77bd 100644 --- a/Kits/DirectXTK/Src/ModelLoadCMO.cpp +++ b/Kits/DirectXTK/Src/ModelLoadCMO.cpp @@ -409,12 +409,12 @@ std::unique_ptr DirectX::Model::CreateFromCMO( ID3D11Device* d3dDevice, c ib.ptr = indexes; ibData.emplace_back( ib ); - D3D11_BUFFER_DESC desc = {0}; + D3D11_BUFFER_DESC desc = {}; desc.Usage = D3D11_USAGE_DEFAULT; desc.ByteWidth = static_cast( ibBytes ); desc.BindFlags = D3D11_BIND_INDEX_BUFFER; - D3D11_SUBRESOURCE_DATA initData = {0}; + D3D11_SUBRESOURCE_DATA initData = {}; initData.pSysMem = indexes; ThrowIfFailed( @@ -620,7 +620,7 @@ std::unique_ptr DirectX::Model::CreateFromCMO( ID3D11Device* d3dDevice, c size_t bytes = stride * nVerts; - D3D11_BUFFER_DESC desc = {0}; + D3D11_BUFFER_DESC desc = {}; desc.Usage = D3D11_USAGE_DEFAULT; desc.ByteWidth = static_cast( bytes ); desc.BindFlags = D3D11_BIND_VERTEX_BUFFER; @@ -628,7 +628,7 @@ std::unique_ptr DirectX::Model::CreateFromCMO( ID3D11Device* d3dDevice, c if ( fxFactoryDGSL && !enableSkinning ) { // Can use CMO vertex data directly - D3D11_SUBRESOURCE_DATA initData = {0}; + D3D11_SUBRESOURCE_DATA initData = {}; initData.pSysMem = vbData[j].ptr; ThrowIfFailed( @@ -730,7 +730,7 @@ std::unique_ptr DirectX::Model::CreateFromCMO( ID3D11Device* d3dDevice, c } // Create vertex buffer from temporary buffer - D3D11_SUBRESOURCE_DATA initData = {0}; + D3D11_SUBRESOURCE_DATA initData = {}; initData.pSysMem = temp.get(); ThrowIfFailed( diff --git a/Kits/DirectXTK/Src/ModelLoadSDKMESH.cpp b/Kits/DirectXTK/Src/ModelLoadSDKMESH.cpp index 54befa62..497dc1ed 100644 --- a/Kits/DirectXTK/Src/ModelLoadSDKMESH.cpp +++ b/Kits/DirectXTK/Src/ModelLoadSDKMESH.cpp @@ -380,13 +380,13 @@ static void LoadMaterial( _In_ const DXUT::SDKMESH_MATERIAL& mh, _In_ bool perVertexColor, _In_ bool enableSkinning, _In_ bool enableDualTexture, _Inout_ IEffectFactory& fxFactory, _Inout_ MaterialRecordSDKMESH& m ) { - WCHAR matName[ DXUT::MAX_MATERIAL_NAME ]; + wchar_t matName[ DXUT::MAX_MATERIAL_NAME ]; MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED, mh.Name, -1, matName, DXUT::MAX_MATERIAL_NAME ); - WCHAR txtName[ DXUT::MAX_TEXTURE_NAME ]; + wchar_t txtName[ DXUT::MAX_TEXTURE_NAME ]; MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED, mh.DiffuseTexture, -1, txtName, DXUT::MAX_TEXTURE_NAME ); - WCHAR txtName2[ DXUT::MAX_TEXTURE_NAME ]; + wchar_t txtName2[ DXUT::MAX_TEXTURE_NAME ]; MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED, mh.SpecularTexture, -1, txtName2, DXUT::MAX_TEXTURE_NAME ); if ( !mh.SpecularTexture[0] && enableDualTexture ) @@ -757,12 +757,12 @@ std::unique_ptr DirectX::Model::CreateFromSDKMESH( ID3D11Device* d3dDevic auto verts = reinterpret_cast( bufferData + (vh.DataOffset - bufferDataOffset) ); - D3D11_BUFFER_DESC desc = {0}; + D3D11_BUFFER_DESC desc = {}; desc.Usage = D3D11_USAGE_DEFAULT; desc.ByteWidth = static_cast( vh.SizeBytes ); desc.BindFlags = D3D11_BIND_VERTEX_BUFFER; - D3D11_SUBRESOURCE_DATA initData = {0}; + D3D11_SUBRESOURCE_DATA initData = {}; initData.pSysMem = verts; ThrowIfFailed( @@ -789,12 +789,12 @@ std::unique_ptr DirectX::Model::CreateFromSDKMESH( ID3D11Device* d3dDevic auto indices = reinterpret_cast( bufferData + (ih.DataOffset - bufferDataOffset) ); - D3D11_BUFFER_DESC desc = {0}; + D3D11_BUFFER_DESC desc = {}; desc.Usage = D3D11_USAGE_DEFAULT; desc.ByteWidth = static_cast( ih.SizeBytes ); desc.BindFlags = D3D11_BIND_INDEX_BUFFER; - D3D11_SUBRESOURCE_DATA initData = {0}; + D3D11_SUBRESOURCE_DATA initData = {}; initData.pSysMem = indices; ThrowIfFailed( @@ -839,7 +839,7 @@ std::unique_ptr DirectX::Model::CreateFromSDKMESH( ID3D11Device* d3dDevic } auto mesh = std::make_shared(); - WCHAR meshName[ DXUT::MAX_MESH_NAME ]; + wchar_t meshName[ DXUT::MAX_MESH_NAME ]; MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED, mh.Name, -1, meshName, DXUT::MAX_MESH_NAME ); mesh->name = meshName; mesh->ccw = ccw; diff --git a/Kits/DirectXTK/Src/ModelLoadVBO.cpp b/Kits/DirectXTK/Src/ModelLoadVBO.cpp index 6c226b35..c715f76d 100644 --- a/Kits/DirectXTK/Src/ModelLoadVBO.cpp +++ b/Kits/DirectXTK/Src/ModelLoadVBO.cpp @@ -103,12 +103,12 @@ std::unique_ptr DirectX::Model::CreateFromVBO(ID3D11Device* d3dDevice, co // Create vertex buffer ComPtr vb; { - D3D11_BUFFER_DESC desc = { 0 }; + D3D11_BUFFER_DESC desc = {}; desc.Usage = D3D11_USAGE_DEFAULT; desc.ByteWidth = static_cast(vertSize); desc.BindFlags = D3D11_BIND_VERTEX_BUFFER; - D3D11_SUBRESOURCE_DATA initData = { 0 }; + D3D11_SUBRESOURCE_DATA initData = {}; initData.pSysMem = verts; ThrowIfFailed( @@ -121,12 +121,12 @@ std::unique_ptr DirectX::Model::CreateFromVBO(ID3D11Device* d3dDevice, co // Create index buffer ComPtr ib; { - D3D11_BUFFER_DESC desc = { 0 }; + D3D11_BUFFER_DESC desc = {}; desc.Usage = D3D11_USAGE_DEFAULT; desc.ByteWidth = static_cast(indexSize); desc.BindFlags = D3D11_BIND_INDEX_BUFFER; - D3D11_SUBRESOURCE_DATA initData = { 0 }; + D3D11_SUBRESOURCE_DATA initData = {}; initData.pSysMem = indices; ThrowIfFailed( diff --git a/Kits/DirectXTK/Src/PlatformHelpers.h b/Kits/DirectXTK/Src/PlatformHelpers.h index 86faf419..823ec187 100644 --- a/Kits/DirectXTK/Src/PlatformHelpers.h +++ b/Kits/DirectXTK/Src/PlatformHelpers.h @@ -29,7 +29,7 @@ namespace DirectX virtual const char* what() const override { - static char s_str[64] = { 0 }; + static char s_str[64] = {}; sprintf_s(s_str, "Failure with HRESULT of %08X", result); return s_str; } @@ -55,7 +55,7 @@ namespace DirectX va_list args; va_start( args, format ); - char buff[1024]={0}; + char buff[1024] = {}; vsprintf_s( buff, format, args ); OutputDebugStringA( buff ); va_end( args ); diff --git a/Kits/DirectXTK/Src/PrimitiveBatch.cpp b/Kits/DirectXTK/Src/PrimitiveBatch.cpp index 84ef535a..02171b96 100644 --- a/Kits/DirectXTK/Src/PrimitiveBatch.cpp +++ b/Kits/DirectXTK/Src/PrimitiveBatch.cpp @@ -73,7 +73,7 @@ private: #if defined(_XBOX_ONE) && defined(_TITLE) static void CreateBuffer(_In_ ID3D11DeviceX* device, size_t bufferSize, D3D11_BIND_FLAG bindFlag, _Out_ ID3D11Buffer** pBuffer) { - D3D11_BUFFER_DESC desc = { 0 }; + D3D11_BUFFER_DESC desc = {}; desc.ByteWidth = (UINT)bufferSize; desc.BindFlags = bindFlag; @@ -89,7 +89,7 @@ static void CreateBuffer(_In_ ID3D11DeviceX* device, size_t bufferSize, D3D11_BI #else static void CreateBuffer(_In_ ID3D11Device* device, size_t bufferSize, D3D11_BIND_FLAG bindFlag, _Out_ ID3D11Buffer** pBuffer) { - D3D11_BUFFER_DESC desc = { 0 }; + D3D11_BUFFER_DESC desc = {}; desc.ByteWidth = (UINT)bufferSize; desc.BindFlags = bindFlag; @@ -160,7 +160,9 @@ void PrimitiveBatchBase::Impl::Begin() if (mInBeginEndPair) throw std::exception("Cannot nest Begin calls"); -#if !defined(_XBOX_ONE) || !defined(_TITLE) +#if defined(_XBOX_ONE) && defined(_TITLE) + mDeviceContext->IASetIndexBuffer(nullptr, DXGI_FORMAT_UNKNOWN, 0); +#else // Bind the index buffer. if (mMaxIndices > 0) { @@ -235,7 +237,8 @@ static void LockBuffer(_In_ ID3D11DeviceContext* deviceContext, _In_ ID3D11Buffe // Adds new geometry to the batch. -void PrimitiveBatchBase::Impl::Draw(D3D11_PRIMITIVE_TOPOLOGY topology, bool isIndexed, _In_opt_count_(indexCount) uint16_t const* indices, size_t indexCount, size_t vertexCount, _Out_ void** pMappedVertices) +_Use_decl_annotations_ +void PrimitiveBatchBase::Impl::Draw(D3D11_PRIMITIVE_TOPOLOGY topology, bool isIndexed, uint16_t const* indices, size_t indexCount, size_t vertexCount, void** pMappedVertices) { if (isIndexed && !indices) throw std::exception("Indices cannot be null"); @@ -261,12 +264,6 @@ void PrimitiveBatchBase::Impl::Draw(D3D11_PRIMITIVE_TOPOLOGY topology, bool isIn FlushBatch(); } - if (wrapIndexBuffer) - mCurrentIndex = 0; - - if (wrapVertexBuffer) - mCurrentVertex = 0; - #if defined(_XBOX_ONE) && defined(_TITLE) if (mCurrentTopology == D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED) { @@ -281,6 +278,7 @@ void PrimitiveBatchBase::Impl::Draw(D3D11_PRIMITIVE_TOPOLOGY topology, bool isIn mCurrentTopology = topology; mCurrentlyIndexed = isIndexed; + mCurrentIndex = mCurrentVertex = 0; } // Copy over the index data. @@ -291,7 +289,7 @@ void PrimitiveBatchBase::Impl::Draw(D3D11_PRIMITIVE_TOPOLOGY topology, bool isIn for (size_t i = 0; i < indexCount; i++) { - outputIndices[i] = (uint16_t)(indices[i] + mCurrentVertex - mBaseVertex); + outputIndices[i] = (uint16_t)(indices[i] + mCurrentVertex); } mCurrentIndex += indexCount; @@ -303,6 +301,12 @@ void PrimitiveBatchBase::Impl::Draw(D3D11_PRIMITIVE_TOPOLOGY topology, bool isIn mCurrentVertex += vertexCount; #else + if (wrapIndexBuffer) + mCurrentIndex = 0; + + if (wrapVertexBuffer) + mCurrentVertex = 0; + // If we are not already in a batch, lock the buffers. if (mCurrentTopology == D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED) { @@ -354,14 +358,14 @@ void PrimitiveBatchBase::Impl::FlushBatch() mDeviceContext->IASetPlacementIndexBuffer(mIndexBuffer.Get(), grfxMemoryIB, DXGI_FORMAT_R16_UINT); mDeviceContext->IASetPlacementVertexBuffer(0, mVertexBuffer.Get(), grfxMemoryVB, (UINT)mVertexSize); - mDeviceContext->DrawIndexed((UINT)(mCurrentIndex - mBaseIndex), (UINT)mBaseIndex, (UINT)mBaseVertex); + mDeviceContext->DrawIndexed((UINT)mCurrentIndex, 0, 0); } else { // Draw non-indexed geometry. mDeviceContext->IASetPlacementVertexBuffer(0, mVertexBuffer.Get(), grfxMemoryVB, (UINT)mVertexSize); - mDeviceContext->Draw((UINT)(mCurrentVertex - mBaseVertex), (UINT)mBaseVertex); + mDeviceContext->Draw((UINT)mCurrentVertex, 0); } grfxMemoryIB = grfxMemoryVB = nullptr; diff --git a/Kits/DirectXTK/Src/ScreenGrab.cpp b/Kits/DirectXTK/Src/ScreenGrab.cpp index ca335377..6fd542e5 100644 --- a/Kits/DirectXTK/Src/ScreenGrab.cpp +++ b/Kits/DirectXTK/Src/ScreenGrab.cpp @@ -2,7 +2,7 @@ // File: ScreenGrab.cpp // // Function for capturing a 2D texture and saving it to a file (aka a 'screenshot' -// when used on a Direct3D 11 Render Target). +// when used on a Direct3D Render Target). // // Note these functions are useful as a light-weight runtime screen grabber. For // full-featured texture capture, DDS writer, and texture processing pipeline, @@ -27,10 +27,7 @@ #include "pch.h" -#if !defined(WINAPI_FAMILY) || (WINAPI_FAMILY != WINAPI_FAMILY_PHONE_APP) || (_WIN32_WINNT > _WIN32_WINNT_WIN8) - #include -#endif #include "ScreenGrab.h" #include "DirectXHelpers.h" @@ -55,7 +52,7 @@ namespace { if (m_handle) { - FILE_DISPOSITION_INFO info = {0}; + FILE_DISPOSITION_INFO info = {}; info.DeleteFile = TRUE; (void)SetFileInformationByHandle(m_handle, FileDispositionInfo, &info, sizeof(info)); } @@ -67,8 +64,6 @@ namespace HANDLE m_handle; }; -#if !defined(WINAPI_FAMILY) || (WINAPI_FAMILY != WINAPI_FAMILY_PHONE_APP) || (_WIN32_WINNT > _WIN32_WINNT_WIN8) - class auto_delete_file_wic { public: @@ -93,505 +88,499 @@ namespace ComPtr& m_handle; }; -#endif -} - -//-------------------------------------------------------------------------------------- -// Return the BPP for a particular format -//-------------------------------------------------------------------------------------- -static size_t BitsPerPixel( _In_ DXGI_FORMAT fmt ) -{ - switch( fmt ) + //-------------------------------------------------------------------------------------- + // Return the BPP for a particular format + //-------------------------------------------------------------------------------------- + size_t BitsPerPixel(_In_ DXGI_FORMAT fmt) { - case DXGI_FORMAT_R32G32B32A32_TYPELESS: - case DXGI_FORMAT_R32G32B32A32_FLOAT: - case DXGI_FORMAT_R32G32B32A32_UINT: - case DXGI_FORMAT_R32G32B32A32_SINT: - return 128; - - case DXGI_FORMAT_R32G32B32_TYPELESS: - case DXGI_FORMAT_R32G32B32_FLOAT: - case DXGI_FORMAT_R32G32B32_UINT: - case DXGI_FORMAT_R32G32B32_SINT: - return 96; - - case DXGI_FORMAT_R16G16B16A16_TYPELESS: - case DXGI_FORMAT_R16G16B16A16_FLOAT: - case DXGI_FORMAT_R16G16B16A16_UNORM: - case DXGI_FORMAT_R16G16B16A16_UINT: - case DXGI_FORMAT_R16G16B16A16_SNORM: - case DXGI_FORMAT_R16G16B16A16_SINT: - case DXGI_FORMAT_R32G32_TYPELESS: - case DXGI_FORMAT_R32G32_FLOAT: - case DXGI_FORMAT_R32G32_UINT: - case DXGI_FORMAT_R32G32_SINT: - case DXGI_FORMAT_R32G8X24_TYPELESS: - case DXGI_FORMAT_D32_FLOAT_S8X24_UINT: - case DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS: - case DXGI_FORMAT_X32_TYPELESS_G8X24_UINT: - case DXGI_FORMAT_Y416: - case DXGI_FORMAT_Y210: - case DXGI_FORMAT_Y216: - return 64; - - case DXGI_FORMAT_R10G10B10A2_TYPELESS: - case DXGI_FORMAT_R10G10B10A2_UNORM: - case DXGI_FORMAT_R10G10B10A2_UINT: - case DXGI_FORMAT_R11G11B10_FLOAT: - case DXGI_FORMAT_R8G8B8A8_TYPELESS: - case DXGI_FORMAT_R8G8B8A8_UNORM: - case DXGI_FORMAT_R8G8B8A8_UNORM_SRGB: - case DXGI_FORMAT_R8G8B8A8_UINT: - case DXGI_FORMAT_R8G8B8A8_SNORM: - case DXGI_FORMAT_R8G8B8A8_SINT: - case DXGI_FORMAT_R16G16_TYPELESS: - case DXGI_FORMAT_R16G16_FLOAT: - case DXGI_FORMAT_R16G16_UNORM: - case DXGI_FORMAT_R16G16_UINT: - case DXGI_FORMAT_R16G16_SNORM: - case DXGI_FORMAT_R16G16_SINT: - case DXGI_FORMAT_R32_TYPELESS: - case DXGI_FORMAT_D32_FLOAT: - case DXGI_FORMAT_R32_FLOAT: - case DXGI_FORMAT_R32_UINT: - case DXGI_FORMAT_R32_SINT: - case DXGI_FORMAT_R24G8_TYPELESS: - case DXGI_FORMAT_D24_UNORM_S8_UINT: - case DXGI_FORMAT_R24_UNORM_X8_TYPELESS: - case DXGI_FORMAT_X24_TYPELESS_G8_UINT: - case DXGI_FORMAT_R9G9B9E5_SHAREDEXP: - case DXGI_FORMAT_R8G8_B8G8_UNORM: - case DXGI_FORMAT_G8R8_G8B8_UNORM: - case DXGI_FORMAT_B8G8R8A8_UNORM: - case DXGI_FORMAT_B8G8R8X8_UNORM: - case DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM: - case DXGI_FORMAT_B8G8R8A8_TYPELESS: - case DXGI_FORMAT_B8G8R8A8_UNORM_SRGB: - case DXGI_FORMAT_B8G8R8X8_TYPELESS: - case DXGI_FORMAT_B8G8R8X8_UNORM_SRGB: - case DXGI_FORMAT_AYUV: - case DXGI_FORMAT_Y410: - case DXGI_FORMAT_YUY2: - return 32; - - case DXGI_FORMAT_P010: - case DXGI_FORMAT_P016: - return 24; - - case DXGI_FORMAT_R8G8_TYPELESS: - case DXGI_FORMAT_R8G8_UNORM: - case DXGI_FORMAT_R8G8_UINT: - case DXGI_FORMAT_R8G8_SNORM: - case DXGI_FORMAT_R8G8_SINT: - case DXGI_FORMAT_R16_TYPELESS: - case DXGI_FORMAT_R16_FLOAT: - case DXGI_FORMAT_D16_UNORM: - case DXGI_FORMAT_R16_UNORM: - case DXGI_FORMAT_R16_UINT: - case DXGI_FORMAT_R16_SNORM: - case DXGI_FORMAT_R16_SINT: - case DXGI_FORMAT_B5G6R5_UNORM: - case DXGI_FORMAT_B5G5R5A1_UNORM: - case DXGI_FORMAT_A8P8: - case DXGI_FORMAT_B4G4R4A4_UNORM: - return 16; - - case DXGI_FORMAT_NV12: - case DXGI_FORMAT_420_OPAQUE: - case DXGI_FORMAT_NV11: - return 12; - - case DXGI_FORMAT_R8_TYPELESS: - case DXGI_FORMAT_R8_UNORM: - case DXGI_FORMAT_R8_UINT: - case DXGI_FORMAT_R8_SNORM: - case DXGI_FORMAT_R8_SINT: - case DXGI_FORMAT_A8_UNORM: - case DXGI_FORMAT_AI44: - case DXGI_FORMAT_IA44: - case DXGI_FORMAT_P8: - return 8; - - case DXGI_FORMAT_R1_UNORM: - return 1; - - case DXGI_FORMAT_BC1_TYPELESS: - case DXGI_FORMAT_BC1_UNORM: - case DXGI_FORMAT_BC1_UNORM_SRGB: - case DXGI_FORMAT_BC4_TYPELESS: - case DXGI_FORMAT_BC4_UNORM: - case DXGI_FORMAT_BC4_SNORM: - return 4; - - case DXGI_FORMAT_BC2_TYPELESS: - case DXGI_FORMAT_BC2_UNORM: - case DXGI_FORMAT_BC2_UNORM_SRGB: - case DXGI_FORMAT_BC3_TYPELESS: - case DXGI_FORMAT_BC3_UNORM: - case DXGI_FORMAT_BC3_UNORM_SRGB: - case DXGI_FORMAT_BC5_TYPELESS: - case DXGI_FORMAT_BC5_UNORM: - case DXGI_FORMAT_BC5_SNORM: - case DXGI_FORMAT_BC6H_TYPELESS: - case DXGI_FORMAT_BC6H_UF16: - case DXGI_FORMAT_BC6H_SF16: - case DXGI_FORMAT_BC7_TYPELESS: - case DXGI_FORMAT_BC7_UNORM: - case DXGI_FORMAT_BC7_UNORM_SRGB: - return 8; + switch (fmt) + { + case DXGI_FORMAT_R32G32B32A32_TYPELESS: + case DXGI_FORMAT_R32G32B32A32_FLOAT: + case DXGI_FORMAT_R32G32B32A32_UINT: + case DXGI_FORMAT_R32G32B32A32_SINT: + return 128; + + case DXGI_FORMAT_R32G32B32_TYPELESS: + case DXGI_FORMAT_R32G32B32_FLOAT: + case DXGI_FORMAT_R32G32B32_UINT: + case DXGI_FORMAT_R32G32B32_SINT: + return 96; + + case DXGI_FORMAT_R16G16B16A16_TYPELESS: + case DXGI_FORMAT_R16G16B16A16_FLOAT: + case DXGI_FORMAT_R16G16B16A16_UNORM: + case DXGI_FORMAT_R16G16B16A16_UINT: + case DXGI_FORMAT_R16G16B16A16_SNORM: + case DXGI_FORMAT_R16G16B16A16_SINT: + case DXGI_FORMAT_R32G32_TYPELESS: + case DXGI_FORMAT_R32G32_FLOAT: + case DXGI_FORMAT_R32G32_UINT: + case DXGI_FORMAT_R32G32_SINT: + case DXGI_FORMAT_R32G8X24_TYPELESS: + case DXGI_FORMAT_D32_FLOAT_S8X24_UINT: + case DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS: + case DXGI_FORMAT_X32_TYPELESS_G8X24_UINT: + case DXGI_FORMAT_Y416: + case DXGI_FORMAT_Y210: + case DXGI_FORMAT_Y216: + return 64; + + case DXGI_FORMAT_R10G10B10A2_TYPELESS: + case DXGI_FORMAT_R10G10B10A2_UNORM: + case DXGI_FORMAT_R10G10B10A2_UINT: + case DXGI_FORMAT_R11G11B10_FLOAT: + case DXGI_FORMAT_R8G8B8A8_TYPELESS: + case DXGI_FORMAT_R8G8B8A8_UNORM: + case DXGI_FORMAT_R8G8B8A8_UNORM_SRGB: + case DXGI_FORMAT_R8G8B8A8_UINT: + case DXGI_FORMAT_R8G8B8A8_SNORM: + case DXGI_FORMAT_R8G8B8A8_SINT: + case DXGI_FORMAT_R16G16_TYPELESS: + case DXGI_FORMAT_R16G16_FLOAT: + case DXGI_FORMAT_R16G16_UNORM: + case DXGI_FORMAT_R16G16_UINT: + case DXGI_FORMAT_R16G16_SNORM: + case DXGI_FORMAT_R16G16_SINT: + case DXGI_FORMAT_R32_TYPELESS: + case DXGI_FORMAT_D32_FLOAT: + case DXGI_FORMAT_R32_FLOAT: + case DXGI_FORMAT_R32_UINT: + case DXGI_FORMAT_R32_SINT: + case DXGI_FORMAT_R24G8_TYPELESS: + case DXGI_FORMAT_D24_UNORM_S8_UINT: + case DXGI_FORMAT_R24_UNORM_X8_TYPELESS: + case DXGI_FORMAT_X24_TYPELESS_G8_UINT: + case DXGI_FORMAT_R9G9B9E5_SHAREDEXP: + case DXGI_FORMAT_R8G8_B8G8_UNORM: + case DXGI_FORMAT_G8R8_G8B8_UNORM: + case DXGI_FORMAT_B8G8R8A8_UNORM: + case DXGI_FORMAT_B8G8R8X8_UNORM: + case DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM: + case DXGI_FORMAT_B8G8R8A8_TYPELESS: + case DXGI_FORMAT_B8G8R8A8_UNORM_SRGB: + case DXGI_FORMAT_B8G8R8X8_TYPELESS: + case DXGI_FORMAT_B8G8R8X8_UNORM_SRGB: + case DXGI_FORMAT_AYUV: + case DXGI_FORMAT_Y410: + case DXGI_FORMAT_YUY2: + return 32; + + case DXGI_FORMAT_P010: + case DXGI_FORMAT_P016: + return 24; + + case DXGI_FORMAT_R8G8_TYPELESS: + case DXGI_FORMAT_R8G8_UNORM: + case DXGI_FORMAT_R8G8_UINT: + case DXGI_FORMAT_R8G8_SNORM: + case DXGI_FORMAT_R8G8_SINT: + case DXGI_FORMAT_R16_TYPELESS: + case DXGI_FORMAT_R16_FLOAT: + case DXGI_FORMAT_D16_UNORM: + case DXGI_FORMAT_R16_UNORM: + case DXGI_FORMAT_R16_UINT: + case DXGI_FORMAT_R16_SNORM: + case DXGI_FORMAT_R16_SINT: + case DXGI_FORMAT_B5G6R5_UNORM: + case DXGI_FORMAT_B5G5R5A1_UNORM: + case DXGI_FORMAT_A8P8: + case DXGI_FORMAT_B4G4R4A4_UNORM: + return 16; + + case DXGI_FORMAT_NV12: + case DXGI_FORMAT_420_OPAQUE: + case DXGI_FORMAT_NV11: + return 12; + + case DXGI_FORMAT_R8_TYPELESS: + case DXGI_FORMAT_R8_UNORM: + case DXGI_FORMAT_R8_UINT: + case DXGI_FORMAT_R8_SNORM: + case DXGI_FORMAT_R8_SINT: + case DXGI_FORMAT_A8_UNORM: + case DXGI_FORMAT_AI44: + case DXGI_FORMAT_IA44: + case DXGI_FORMAT_P8: + return 8; + + case DXGI_FORMAT_R1_UNORM: + return 1; + + case DXGI_FORMAT_BC1_TYPELESS: + case DXGI_FORMAT_BC1_UNORM: + case DXGI_FORMAT_BC1_UNORM_SRGB: + case DXGI_FORMAT_BC4_TYPELESS: + case DXGI_FORMAT_BC4_UNORM: + case DXGI_FORMAT_BC4_SNORM: + return 4; + + case DXGI_FORMAT_BC2_TYPELESS: + case DXGI_FORMAT_BC2_UNORM: + case DXGI_FORMAT_BC2_UNORM_SRGB: + case DXGI_FORMAT_BC3_TYPELESS: + case DXGI_FORMAT_BC3_UNORM: + case DXGI_FORMAT_BC3_UNORM_SRGB: + case DXGI_FORMAT_BC5_TYPELESS: + case DXGI_FORMAT_BC5_UNORM: + case DXGI_FORMAT_BC5_SNORM: + case DXGI_FORMAT_BC6H_TYPELESS: + case DXGI_FORMAT_BC6H_UF16: + case DXGI_FORMAT_BC6H_SF16: + case DXGI_FORMAT_BC7_TYPELESS: + case DXGI_FORMAT_BC7_UNORM: + case DXGI_FORMAT_BC7_UNORM_SRGB: + return 8; #if defined(_XBOX_ONE) && defined(_TITLE) - case DXGI_FORMAT_R10G10B10_7E3_A2_FLOAT: - case DXGI_FORMAT_R10G10B10_6E4_A2_FLOAT: - case DXGI_FORMAT_R10G10B10_SNORM_A2_UNORM: - return 32; + case DXGI_FORMAT_R10G10B10_7E3_A2_FLOAT: + case DXGI_FORMAT_R10G10B10_6E4_A2_FLOAT: + case DXGI_FORMAT_R10G10B10_SNORM_A2_UNORM: + return 32; - case DXGI_FORMAT_D16_UNORM_S8_UINT: - case DXGI_FORMAT_R16_UNORM_X8_TYPELESS: - case DXGI_FORMAT_X16_TYPELESS_G8_UINT: - return 24; + case DXGI_FORMAT_D16_UNORM_S8_UINT: + case DXGI_FORMAT_R16_UNORM_X8_TYPELESS: + case DXGI_FORMAT_X16_TYPELESS_G8_UINT: + return 24; - case DXGI_FORMAT_R4G4_UNORM: - return 8; + case DXGI_FORMAT_R4G4_UNORM: + return 8; #endif // _XBOX_ONE && _TITLE - default: - return 0; + default: + return 0; + } } -} - -//-------------------------------------------------------------------------------------- -// Determines if the format is block compressed -//-------------------------------------------------------------------------------------- -static bool IsCompressed( _In_ DXGI_FORMAT fmt ) -{ - switch ( fmt ) + //-------------------------------------------------------------------------------------- + // Determines if the format is block compressed + //-------------------------------------------------------------------------------------- + bool IsCompressed(_In_ DXGI_FORMAT fmt) { - case DXGI_FORMAT_BC1_TYPELESS: - case DXGI_FORMAT_BC1_UNORM: - case DXGI_FORMAT_BC1_UNORM_SRGB: - case DXGI_FORMAT_BC2_TYPELESS: - case DXGI_FORMAT_BC2_UNORM: - case DXGI_FORMAT_BC2_UNORM_SRGB: - case DXGI_FORMAT_BC3_TYPELESS: - case DXGI_FORMAT_BC3_UNORM: - case DXGI_FORMAT_BC3_UNORM_SRGB: - case DXGI_FORMAT_BC4_TYPELESS: - case DXGI_FORMAT_BC4_UNORM: - case DXGI_FORMAT_BC4_SNORM: - case DXGI_FORMAT_BC5_TYPELESS: - case DXGI_FORMAT_BC5_UNORM: - case DXGI_FORMAT_BC5_SNORM: - case DXGI_FORMAT_BC6H_TYPELESS: - case DXGI_FORMAT_BC6H_UF16: - case DXGI_FORMAT_BC6H_SF16: - case DXGI_FORMAT_BC7_TYPELESS: - case DXGI_FORMAT_BC7_UNORM: - case DXGI_FORMAT_BC7_UNORM_SRGB: - return true; + switch (fmt) + { + case DXGI_FORMAT_BC1_TYPELESS: + case DXGI_FORMAT_BC1_UNORM: + case DXGI_FORMAT_BC1_UNORM_SRGB: + case DXGI_FORMAT_BC2_TYPELESS: + case DXGI_FORMAT_BC2_UNORM: + case DXGI_FORMAT_BC2_UNORM_SRGB: + case DXGI_FORMAT_BC3_TYPELESS: + case DXGI_FORMAT_BC3_UNORM: + case DXGI_FORMAT_BC3_UNORM_SRGB: + case DXGI_FORMAT_BC4_TYPELESS: + case DXGI_FORMAT_BC4_UNORM: + case DXGI_FORMAT_BC4_SNORM: + case DXGI_FORMAT_BC5_TYPELESS: + case DXGI_FORMAT_BC5_UNORM: + case DXGI_FORMAT_BC5_SNORM: + case DXGI_FORMAT_BC6H_TYPELESS: + case DXGI_FORMAT_BC6H_UF16: + case DXGI_FORMAT_BC6H_SF16: + case DXGI_FORMAT_BC7_TYPELESS: + case DXGI_FORMAT_BC7_UNORM: + case DXGI_FORMAT_BC7_UNORM_SRGB: + return true; - default: - return false; + default: + return false; + } } -} - -//-------------------------------------------------------------------------------------- -// Get surface information for a particular format -//-------------------------------------------------------------------------------------- -static void GetSurfaceInfo( _In_ size_t width, - _In_ size_t height, - _In_ DXGI_FORMAT fmt, - _Out_opt_ size_t* outNumBytes, - _Out_opt_ size_t* outRowBytes, - _Out_opt_ size_t* outNumRows ) -{ - size_t numBytes = 0; - size_t rowBytes = 0; - size_t numRows = 0; - - bool bc = false; - bool packed = false; - bool planar = false; - size_t bpe = 0; - switch (fmt) + //-------------------------------------------------------------------------------------- + // Get surface information for a particular format + //-------------------------------------------------------------------------------------- + void GetSurfaceInfo(_In_ size_t width, + _In_ size_t height, + _In_ DXGI_FORMAT fmt, + _Out_opt_ size_t* outNumBytes, + _Out_opt_ size_t* outRowBytes, + _Out_opt_ size_t* outNumRows) { - case DXGI_FORMAT_BC1_TYPELESS: - case DXGI_FORMAT_BC1_UNORM: - case DXGI_FORMAT_BC1_UNORM_SRGB: - case DXGI_FORMAT_BC4_TYPELESS: - case DXGI_FORMAT_BC4_UNORM: - case DXGI_FORMAT_BC4_SNORM: - bc=true; - bpe = 8; - break; + size_t numBytes = 0; + size_t rowBytes = 0; + size_t numRows = 0; + + bool bc = false; + bool packed = false; + bool planar = false; + size_t bpe = 0; + switch (fmt) + { + case DXGI_FORMAT_BC1_TYPELESS: + case DXGI_FORMAT_BC1_UNORM: + case DXGI_FORMAT_BC1_UNORM_SRGB: + case DXGI_FORMAT_BC4_TYPELESS: + case DXGI_FORMAT_BC4_UNORM: + case DXGI_FORMAT_BC4_SNORM: + bc = true; + bpe = 8; + break; - case DXGI_FORMAT_BC2_TYPELESS: - case DXGI_FORMAT_BC2_UNORM: - case DXGI_FORMAT_BC2_UNORM_SRGB: - case DXGI_FORMAT_BC3_TYPELESS: - case DXGI_FORMAT_BC3_UNORM: - case DXGI_FORMAT_BC3_UNORM_SRGB: - case DXGI_FORMAT_BC5_TYPELESS: - case DXGI_FORMAT_BC5_UNORM: - case DXGI_FORMAT_BC5_SNORM: - case DXGI_FORMAT_BC6H_TYPELESS: - case DXGI_FORMAT_BC6H_UF16: - case DXGI_FORMAT_BC6H_SF16: - case DXGI_FORMAT_BC7_TYPELESS: - case DXGI_FORMAT_BC7_UNORM: - case DXGI_FORMAT_BC7_UNORM_SRGB: - bc = true; - bpe = 16; - break; + case DXGI_FORMAT_BC2_TYPELESS: + case DXGI_FORMAT_BC2_UNORM: + case DXGI_FORMAT_BC2_UNORM_SRGB: + case DXGI_FORMAT_BC3_TYPELESS: + case DXGI_FORMAT_BC3_UNORM: + case DXGI_FORMAT_BC3_UNORM_SRGB: + case DXGI_FORMAT_BC5_TYPELESS: + case DXGI_FORMAT_BC5_UNORM: + case DXGI_FORMAT_BC5_SNORM: + case DXGI_FORMAT_BC6H_TYPELESS: + case DXGI_FORMAT_BC6H_UF16: + case DXGI_FORMAT_BC6H_SF16: + case DXGI_FORMAT_BC7_TYPELESS: + case DXGI_FORMAT_BC7_UNORM: + case DXGI_FORMAT_BC7_UNORM_SRGB: + bc = true; + bpe = 16; + break; - case DXGI_FORMAT_R8G8_B8G8_UNORM: - case DXGI_FORMAT_G8R8_G8B8_UNORM: - case DXGI_FORMAT_YUY2: - packed = true; - bpe = 4; - break; + case DXGI_FORMAT_R8G8_B8G8_UNORM: + case DXGI_FORMAT_G8R8_G8B8_UNORM: + case DXGI_FORMAT_YUY2: + packed = true; + bpe = 4; + break; - case DXGI_FORMAT_Y210: - case DXGI_FORMAT_Y216: - packed = true; - bpe = 8; - break; + case DXGI_FORMAT_Y210: + case DXGI_FORMAT_Y216: + packed = true; + bpe = 8; + break; - case DXGI_FORMAT_NV12: - case DXGI_FORMAT_420_OPAQUE: - planar = true; - bpe = 2; - break; + case DXGI_FORMAT_NV12: + case DXGI_FORMAT_420_OPAQUE: + planar = true; + bpe = 2; + break; - case DXGI_FORMAT_P010: - case DXGI_FORMAT_P016: - planar = true; - bpe = 4; - break; + case DXGI_FORMAT_P010: + case DXGI_FORMAT_P016: + planar = true; + bpe = 4; + break; #if defined(_XBOX_ONE) && defined(_TITLE) - case DXGI_FORMAT_D16_UNORM_S8_UINT: - case DXGI_FORMAT_R16_UNORM_X8_TYPELESS: - case DXGI_FORMAT_X16_TYPELESS_G8_UINT: - planar = true; - bpe = 4; - break; + case DXGI_FORMAT_D16_UNORM_S8_UINT: + case DXGI_FORMAT_R16_UNORM_X8_TYPELESS: + case DXGI_FORMAT_X16_TYPELESS_G8_UINT: + planar = true; + bpe = 4; + break; #endif - } + } - if (bc) - { - size_t numBlocksWide = 0; - if (width > 0) + if (bc) { - numBlocksWide = std::max( 1, (width + 3) / 4 ); + size_t numBlocksWide = 0; + if (width > 0) + { + numBlocksWide = std::max(1, (width + 3) / 4); + } + size_t numBlocksHigh = 0; + if (height > 0) + { + numBlocksHigh = std::max(1, (height + 3) / 4); + } + rowBytes = numBlocksWide * bpe; + numRows = numBlocksHigh; + numBytes = rowBytes * numBlocksHigh; } - size_t numBlocksHigh = 0; - if (height > 0) + else if (packed) { - numBlocksHigh = std::max( 1, (height + 3) / 4 ); + rowBytes = ((width + 1) >> 1) * bpe; + numRows = height; + numBytes = rowBytes * height; + } + else if (fmt == DXGI_FORMAT_NV11) + { + rowBytes = ((width + 3) >> 2) * 4; + numRows = height * 2; // Direct3D makes this simplifying assumption, although it is larger than the 4:1:1 data + numBytes = rowBytes * numRows; + } + else if (planar) + { + rowBytes = ((width + 1) >> 1) * bpe; + numBytes = (rowBytes * height) + ((rowBytes * height + 1) >> 1); + numRows = height + ((height + 1) >> 1); + } + else + { + size_t bpp = BitsPerPixel(fmt); + rowBytes = (width * bpp + 7) / 8; // round up to nearest byte + numRows = height; + numBytes = rowBytes * height; } - rowBytes = numBlocksWide * bpe; - numRows = numBlocksHigh; - numBytes = rowBytes * numBlocksHigh; - } - else if (packed) - { - rowBytes = ( ( width + 1 ) >> 1 ) * bpe; - numRows = height; - numBytes = rowBytes * height; - } - else if ( fmt == DXGI_FORMAT_NV11 ) - { - rowBytes = ( ( width + 3 ) >> 2 ) * 4; - numRows = height * 2; // Direct3D makes this simplifying assumption, although it is larger than the 4:1:1 data - numBytes = rowBytes * numRows; - } - else if (planar) - { - rowBytes = ( ( width + 1 ) >> 1 ) * bpe; - numBytes = ( rowBytes * height ) + ( ( rowBytes * height + 1 ) >> 1 ); - numRows = height + ( ( height + 1 ) >> 1 ); - } - else - { - size_t bpp = BitsPerPixel( fmt ); - rowBytes = ( width * bpp + 7 ) / 8; // round up to nearest byte - numRows = height; - numBytes = rowBytes * height; - } - if (outNumBytes) - { - *outNumBytes = numBytes; - } - if (outRowBytes) - { - *outRowBytes = rowBytes; - } - if (outNumRows) - { - *outNumRows = numRows; + if (outNumBytes) + { + *outNumBytes = numBytes; + } + if (outRowBytes) + { + *outRowBytes = rowBytes; + } + if (outNumRows) + { + *outNumRows = numRows; + } } -} - -//-------------------------------------------------------------------------------------- -static DXGI_FORMAT EnsureNotTypeless( DXGI_FORMAT fmt ) -{ - // Assumes UNORM or FLOAT; doesn't use UINT or SINT - switch( fmt ) + //-------------------------------------------------------------------------------------- + DXGI_FORMAT EnsureNotTypeless(DXGI_FORMAT fmt) { - case DXGI_FORMAT_R32G32B32A32_TYPELESS: return DXGI_FORMAT_R32G32B32A32_FLOAT; - case DXGI_FORMAT_R32G32B32_TYPELESS: return DXGI_FORMAT_R32G32B32_FLOAT; - case DXGI_FORMAT_R16G16B16A16_TYPELESS: return DXGI_FORMAT_R16G16B16A16_UNORM; - case DXGI_FORMAT_R32G32_TYPELESS: return DXGI_FORMAT_R32G32_FLOAT; - case DXGI_FORMAT_R10G10B10A2_TYPELESS: return DXGI_FORMAT_R10G10B10A2_UNORM; - case DXGI_FORMAT_R8G8B8A8_TYPELESS: return DXGI_FORMAT_R8G8B8A8_UNORM; - case DXGI_FORMAT_R16G16_TYPELESS: return DXGI_FORMAT_R16G16_UNORM; - case DXGI_FORMAT_R32_TYPELESS: return DXGI_FORMAT_R32_FLOAT; - case DXGI_FORMAT_R8G8_TYPELESS: return DXGI_FORMAT_R8G8_UNORM; - case DXGI_FORMAT_R16_TYPELESS: return DXGI_FORMAT_R16_UNORM; - case DXGI_FORMAT_R8_TYPELESS: return DXGI_FORMAT_R8_UNORM; - case DXGI_FORMAT_BC1_TYPELESS: return DXGI_FORMAT_BC1_UNORM; - case DXGI_FORMAT_BC2_TYPELESS: return DXGI_FORMAT_BC2_UNORM; - case DXGI_FORMAT_BC3_TYPELESS: return DXGI_FORMAT_BC3_UNORM; - case DXGI_FORMAT_BC4_TYPELESS: return DXGI_FORMAT_BC4_UNORM; - case DXGI_FORMAT_BC5_TYPELESS: return DXGI_FORMAT_BC5_UNORM; - case DXGI_FORMAT_B8G8R8A8_TYPELESS: return DXGI_FORMAT_B8G8R8A8_UNORM; - case DXGI_FORMAT_B8G8R8X8_TYPELESS: return DXGI_FORMAT_B8G8R8X8_UNORM; - case DXGI_FORMAT_BC7_TYPELESS: return DXGI_FORMAT_BC7_UNORM; - default: return fmt; + // Assumes UNORM or FLOAT; doesn't use UINT or SINT + switch (fmt) + { + case DXGI_FORMAT_R32G32B32A32_TYPELESS: return DXGI_FORMAT_R32G32B32A32_FLOAT; + case DXGI_FORMAT_R32G32B32_TYPELESS: return DXGI_FORMAT_R32G32B32_FLOAT; + case DXGI_FORMAT_R16G16B16A16_TYPELESS: return DXGI_FORMAT_R16G16B16A16_UNORM; + case DXGI_FORMAT_R32G32_TYPELESS: return DXGI_FORMAT_R32G32_FLOAT; + case DXGI_FORMAT_R10G10B10A2_TYPELESS: return DXGI_FORMAT_R10G10B10A2_UNORM; + case DXGI_FORMAT_R8G8B8A8_TYPELESS: return DXGI_FORMAT_R8G8B8A8_UNORM; + case DXGI_FORMAT_R16G16_TYPELESS: return DXGI_FORMAT_R16G16_UNORM; + case DXGI_FORMAT_R32_TYPELESS: return DXGI_FORMAT_R32_FLOAT; + case DXGI_FORMAT_R8G8_TYPELESS: return DXGI_FORMAT_R8G8_UNORM; + case DXGI_FORMAT_R16_TYPELESS: return DXGI_FORMAT_R16_UNORM; + case DXGI_FORMAT_R8_TYPELESS: return DXGI_FORMAT_R8_UNORM; + case DXGI_FORMAT_BC1_TYPELESS: return DXGI_FORMAT_BC1_UNORM; + case DXGI_FORMAT_BC2_TYPELESS: return DXGI_FORMAT_BC2_UNORM; + case DXGI_FORMAT_BC3_TYPELESS: return DXGI_FORMAT_BC3_UNORM; + case DXGI_FORMAT_BC4_TYPELESS: return DXGI_FORMAT_BC4_UNORM; + case DXGI_FORMAT_BC5_TYPELESS: return DXGI_FORMAT_BC5_UNORM; + case DXGI_FORMAT_B8G8R8A8_TYPELESS: return DXGI_FORMAT_B8G8R8A8_UNORM; + case DXGI_FORMAT_B8G8R8X8_TYPELESS: return DXGI_FORMAT_B8G8R8X8_UNORM; + case DXGI_FORMAT_BC7_TYPELESS: return DXGI_FORMAT_BC7_UNORM; + default: return fmt; + } } -} + //-------------------------------------------------------------------------------------- + HRESULT CaptureTexture(_In_ ID3D11DeviceContext* pContext, + _In_ ID3D11Resource* pSource, + _Inout_ D3D11_TEXTURE2D_DESC& desc, + _Inout_ ComPtr& pStaging) + { + if (!pContext || !pSource) + return E_INVALIDARG; -//-------------------------------------------------------------------------------------- -static HRESULT CaptureTexture( _In_ ID3D11DeviceContext* pContext, - _In_ ID3D11Resource* pSource, - _Inout_ D3D11_TEXTURE2D_DESC& desc, - _Inout_ ComPtr& pStaging ) -{ - if ( !pContext || !pSource ) - return E_INVALIDARG; - - D3D11_RESOURCE_DIMENSION resType = D3D11_RESOURCE_DIMENSION_UNKNOWN; - pSource->GetType( &resType ); + D3D11_RESOURCE_DIMENSION resType = D3D11_RESOURCE_DIMENSION_UNKNOWN; + pSource->GetType(&resType); - if ( resType != D3D11_RESOURCE_DIMENSION_TEXTURE2D ) - return HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED ); + if (resType != D3D11_RESOURCE_DIMENSION_TEXTURE2D) + return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED); - ComPtr pTexture; - HRESULT hr = pSource->QueryInterface(IID_GRAPHICS_PPV_ARGS(pTexture.GetAddressOf())); - if ( FAILED(hr) ) - return hr; + ComPtr pTexture; + HRESULT hr = pSource->QueryInterface(IID_GRAPHICS_PPV_ARGS(pTexture.GetAddressOf())); + if (FAILED(hr)) + return hr; - assert( pTexture ); + assert(pTexture); - pTexture->GetDesc( &desc ); + pTexture->GetDesc(&desc); - ComPtr d3dDevice; - pContext->GetDevice( d3dDevice.GetAddressOf() ); + ComPtr d3dDevice; + pContext->GetDevice(d3dDevice.GetAddressOf()); - if ( desc.SampleDesc.Count > 1 ) - { - // MSAA content must be resolved before being copied to a staging texture - desc.SampleDesc.Count = 1; - desc.SampleDesc.Quality = 0; + if (desc.SampleDesc.Count > 1) + { + // MSAA content must be resolved before being copied to a staging texture + desc.SampleDesc.Count = 1; + desc.SampleDesc.Quality = 0; - ComPtr pTemp; - hr = d3dDevice->CreateTexture2D( &desc, 0, pTemp.GetAddressOf() ); - if ( FAILED(hr) ) - return hr; + ComPtr pTemp; + hr = d3dDevice->CreateTexture2D(&desc, 0, pTemp.GetAddressOf()); + if (FAILED(hr)) + return hr; - assert( pTemp ); + assert(pTemp); - DXGI_FORMAT fmt = EnsureNotTypeless( desc.Format ); + DXGI_FORMAT fmt = EnsureNotTypeless(desc.Format); - UINT support = 0; - hr = d3dDevice->CheckFormatSupport( fmt, &support ); - if ( FAILED(hr) ) - return hr; + UINT support = 0; + hr = d3dDevice->CheckFormatSupport(fmt, &support); + if (FAILED(hr)) + return hr; - if ( !(support & D3D11_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE) ) - return E_FAIL; + if (!(support & D3D11_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE)) + return E_FAIL; - for( UINT item = 0; item < desc.ArraySize; ++item ) - { - for( UINT level = 0; level < desc.MipLevels; ++level ) + for (UINT item = 0; item < desc.ArraySize; ++item) { - UINT index = D3D11CalcSubresource( level, item, desc.MipLevels ); - pContext->ResolveSubresource( pTemp.Get(), index, pSource, index, fmt ); + for (UINT level = 0; level < desc.MipLevels; ++level) + { + UINT index = D3D11CalcSubresource(level, item, desc.MipLevels); + pContext->ResolveSubresource(pTemp.Get(), index, pSource, index, fmt); + } } - } - desc.BindFlags = 0; - desc.MiscFlags &= D3D11_RESOURCE_MISC_TEXTURECUBE; - desc.CPUAccessFlags = D3D11_CPU_ACCESS_READ; - desc.Usage = D3D11_USAGE_STAGING; + desc.BindFlags = 0; + desc.MiscFlags &= D3D11_RESOURCE_MISC_TEXTURECUBE; + desc.CPUAccessFlags = D3D11_CPU_ACCESS_READ; + desc.Usage = D3D11_USAGE_STAGING; - hr = d3dDevice->CreateTexture2D( &desc, 0, pStaging.GetAddressOf() ); - if ( FAILED(hr) ) - return hr; + hr = d3dDevice->CreateTexture2D(&desc, 0, pStaging.GetAddressOf()); + if (FAILED(hr)) + return hr; - assert( pStaging ); + assert(pStaging); - pContext->CopyResource( pStaging.Get(), pTemp.Get() ); - } - else if ( (desc.Usage == D3D11_USAGE_STAGING) && (desc.CPUAccessFlags & D3D11_CPU_ACCESS_READ) ) - { - // Handle case where the source is already a staging texture we can use directly - pStaging = pTexture; - } - else - { - // Otherwise, create a staging texture from the non-MSAA source - desc.BindFlags = 0; - desc.MiscFlags &= D3D11_RESOURCE_MISC_TEXTURECUBE; - desc.CPUAccessFlags = D3D11_CPU_ACCESS_READ; - desc.Usage = D3D11_USAGE_STAGING; + pContext->CopyResource(pStaging.Get(), pTemp.Get()); + } + else if ((desc.Usage == D3D11_USAGE_STAGING) && (desc.CPUAccessFlags & D3D11_CPU_ACCESS_READ)) + { + // Handle case where the source is already a staging texture we can use directly + pStaging = pTexture; + } + else + { + // Otherwise, create a staging texture from the non-MSAA source + desc.BindFlags = 0; + desc.MiscFlags &= D3D11_RESOURCE_MISC_TEXTURECUBE; + desc.CPUAccessFlags = D3D11_CPU_ACCESS_READ; + desc.Usage = D3D11_USAGE_STAGING; - hr = d3dDevice->CreateTexture2D( &desc, 0, pStaging.GetAddressOf() ); - if ( FAILED(hr) ) - return hr; + hr = d3dDevice->CreateTexture2D(&desc, 0, pStaging.GetAddressOf()); + if (FAILED(hr)) + return hr; - assert( pStaging ); + assert(pStaging); - pContext->CopyResource( pStaging.Get(), pSource ); - } + pContext->CopyResource(pStaging.Get(), pSource); + } #if defined(_XBOX_ONE) && defined(_TITLE) - if ( d3dDevice->GetCreationFlags() & D3D11_CREATE_DEVICE_IMMEDIATE_CONTEXT_FAST_SEMANTICS ) - { - ComPtr d3dDeviceX; - hr = d3dDevice.As( &d3dDeviceX ); - if ( FAILED(hr) ) - return hr; + if (d3dDevice->GetCreationFlags() & D3D11_CREATE_DEVICE_IMMEDIATE_CONTEXT_FAST_SEMANTICS) + { + ComPtr d3dDeviceX; + hr = d3dDevice.As(&d3dDeviceX); + if (FAILED(hr)) + return hr; - ComPtr d3dContextX; - hr = pContext->QueryInterface(IID_GRAPHICS_PPV_ARGS(d3dContextX.GetAddressOf())); - if ( FAILED(hr) ) - return hr; + ComPtr d3dContextX; + hr = pContext->QueryInterface(IID_GRAPHICS_PPV_ARGS(d3dContextX.GetAddressOf())); + if (FAILED(hr)) + return hr; - UINT64 copyFence = d3dContextX->InsertFence(0); - - while ( d3dDeviceX->IsFencePending( copyFence ) ) - { - SwitchToThread(); + UINT64 copyFence = d3dContextX->InsertFence(0); + + while (d3dDeviceX->IsFencePending(copyFence)) + { + SwitchToThread(); + } } - } #endif - return S_OK; -} + return S_OK; + } +} // anonymous namespace //-------------------------------------------------------------------------------------- @@ -602,7 +591,7 @@ HRESULT DirectX::SaveDDSTextureToFile( _In_ ID3D11DeviceContext* pContext, if ( !fileName ) return E_INVALIDARG; - D3D11_TEXTURE2D_DESC desc = { 0 }; + D3D11_TEXTURE2D_DESC desc = {}; ComPtr pStaging; HRESULT hr = CaptureTexture( pContext, pSource, desc, pStaging ); if ( FAILED(hr) ) @@ -755,8 +744,6 @@ HRESULT DirectX::SaveDDSTextureToFile( _In_ ID3D11DeviceContext* pContext, } //-------------------------------------------------------------------------------------- -#if !defined(WINAPI_FAMILY) || (WINAPI_FAMILY != WINAPI_FAMILY_PHONE_APP) || (_WIN32_WINNT > _WIN32_WINNT_WIN8) - namespace DirectX { extern bool _IsWIC2(); @@ -773,7 +760,7 @@ HRESULT DirectX::SaveWICTextureToFile( _In_ ID3D11DeviceContext* pContext, if ( !fileName ) return E_INVALIDARG; - D3D11_TEXTURE2D_DESC desc = { 0 }; + D3D11_TEXTURE2D_DESC desc = {}; ComPtr pStaging; HRESULT hr = CaptureTexture( pContext, pSource, desc, pStaging ); if ( FAILED(hr) ) @@ -828,7 +815,7 @@ HRESULT DirectX::SaveWICTextureToFile( _In_ ID3D11DeviceContext* pContext, return HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED ); } - IWICImagingFactory* pWIC = _GetWIC(); + auto pWIC = _GetWIC(); if ( !pWIC ) return E_NOINTERFACE; @@ -861,7 +848,7 @@ HRESULT DirectX::SaveWICTextureToFile( _In_ ID3D11DeviceContext* pContext, if ( targetFormat && memcmp( &guidContainerFormat, &GUID_ContainerFormatBmp, sizeof(WICPixelFormatGUID) ) == 0 && _IsWIC2() ) { // Opt-in to the WIC2 support for writing 32-bit Windows BMP files with an alpha channel - PROPBAG2 option = { 0 }; + PROPBAG2 option = {}; option.pstrName = L"EnableV5Header32bppBGRA"; VARIANT varValue; @@ -1077,5 +1064,3 @@ HRESULT DirectX::SaveWICTextureToFile( _In_ ID3D11DeviceContext* pContext, return S_OK; } - -#endif // !WINAPI_FAMILY || (WINAPI_FAMILY != WINAPI_FAMILY_PHONE_APP) || (_WIN32_WINNT > _WIN32_WINNT_WIN8) diff --git a/Kits/DirectXTK/Src/Shaders/CompileShaders.cmd b/Kits/DirectXTK/Src/Shaders/CompileShaders.cmd index 4d53b490..839d5db4 100644 --- a/Kits/DirectXTK/Src/Shaders/CompileShaders.cmd +++ b/Kits/DirectXTK/Src/Shaders/CompileShaders.cmd @@ -144,28 +144,28 @@ endlocal exit /b :CompileShader -set fxc=fxc /nologo %1.fx /T%2_4_0_level_9_1 /Zpc /Qstrip_reflect /Qstrip_debug /E%3 /FhCompiled\%1_%3.inc /Vn%1_%3 +set fxc=fxc /nologo %1.fx /T%2_4_0_level_9_1 /Zi /Zpc /Qstrip_reflect /Qstrip_debug /E%3 /FhCompiled\%1_%3.inc /FdCompiled\%1_%3.pdb /Vn%1_%3 echo. echo %fxc% %fxc% || set error=1 exit /b :CompileShaderHLSL -set fxc=fxc /nologo %1.hlsl /T%2_4_0_level_9_1 /Zpc /Qstrip_reflect /Qstrip_debug /E%3 /FhCompiled\%1_%3.inc /Vn%1_%3 +set fxc=fxc /nologo %1.hlsl /T%2_4_0_level_9_1 /Zi /Zpc /Qstrip_reflect /Qstrip_debug /E%3 /FhCompiled\%1_%3.inc /FdCompiled\%1_%3.pdb /Vn%1_%3 echo. echo %fxc% %fxc% || set error=1 exit /b :CompileShaderxbox -set fxc=%XBOXFXC% /nologo %1.fx /T%2_5_0 /Zpc /Qstrip_reflect /Qstrip_debug /D__XBOX_DISABLE_SHADER_NAME_EMPLACEMENT /E%3 /FhCompiled\XboxOne%1_%3.inc /Vn%1_%3 +set fxc=%XBOXFXC% /nologo %1.fx /T%2_5_0 /Zpc /Zi /Qstrip_reflect /Qstrip_debug /D__XBOX_DISABLE_SHADER_NAME_EMPLACEMENT /E%3 /FhCompiled\XboxOne%1_%3.inc /FdCompiled\XboxOne%1_%3.pdb /Vn%1_%3 echo. echo %fxc% %fxc% || set error=1 exit /b :CompileShaderHLSLxbox -set fxc=%XBOXFXC% /nologo %1.hlsl /T%2_5_0 /Zpc /Qstrip_reflect /Qstrip_debug /D__XBOX_DISABLE_SHADER_NAME_EMPLACEMENT /E%3 /FhCompiled\XboxOne%1_%3.inc /Vn%1_%3 +set fxc=%XBOXFXC% /nologo %1.hlsl /T%2_5_0 /Zpc /Zi /Qstrip_reflect /Qstrip_debug /D__XBOX_DISABLE_SHADER_NAME_EMPLACEMENT /E%3 /FhCompiled\XboxOne%1_%3.inc /FdCompiled\XboxOne%1_%3.pdb /Vn%1_%3 echo. echo %fxc% %fxc% || set error=1 diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/AlphaTestEffect_PSAlphaTestEqNe.inc b/Kits/DirectXTK/Src/Shaders/Compiled/AlphaTestEffect_PSAlphaTestEqNe.inc index 8b7bcac2..e4e49e9b 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/AlphaTestEffect_PSAlphaTestEqNe.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/AlphaTestEffect_PSAlphaTestEqNe.inc @@ -36,20 +36,24 @@ // Level9 shader bytecode: // ps_2_0 - dcl t0 - dcl t1 - dcl t2.xy + dcl t0 // pin<0,1,2,3> + dcl t1 // pin<4,5,6,7> + dcl t2.xy // pin<8,9> dcl_2d s0 + +#line 115 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\AlphaTestEffect.fx" texld r0, t2, s0 mad r1.w, r0.w, t0.w, -c0.x - mul r0, r0, t0 + mul r0, r0, t0 // ::color<0,1,2,3> abs r1.x, r1.w add r1.x, r1.x, -c0.y cmp r1, r1.x, c0.w, c0.z texkill r1 + +#line 20 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" mad r1.xyz, c1, r0.w, -r0 - mad r0.xyz, t1.w, r1, r0 - mov oC0, r0 + mad r0.xyz, t1.w, r1, r0 // ApplyFog::color<0,1,2> + mov oC0, r0 // ::PSAlphaTestEqNe<0,1,2,3> // approximately 10 instruction slots used (1 texture, 9 arithmetic) ps_4_0 @@ -77,17 +81,17 @@ ret const BYTE AlphaTestEffect_PSAlphaTestEqNe[] = { - 68, 88, 66, 67, 123, 41, - 156, 115, 172, 45, 94, 163, - 162, 165, 36, 203, 174, 182, - 166, 134, 1, 0, 0, 0, - 160, 3, 0, 0, 4, 0, + 68, 88, 66, 67, 208, 75, + 162, 32, 33, 200, 11, 204, + 50, 168, 64, 242, 244, 89, + 11, 137, 1, 0, 0, 0, + 56, 6, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 68, 1, 0, 0, 4, 3, - 0, 0, 108, 3, 0, 0, - 65, 111, 110, 57, 12, 1, - 0, 0, 12, 1, 0, 0, - 0, 2, 255, 255, 216, 0, + 220, 3, 0, 0, 156, 5, + 0, 0, 4, 6, 0, 0, + 65, 111, 110, 57, 164, 3, + 0, 0, 164, 3, 0, 0, + 0, 2, 255, 255, 112, 3, 0, 0, 52, 0, 0, 0, 1, 0, 40, 0, 0, 0, 52, 0, 0, 0, 52, 0, @@ -95,141 +99,252 @@ const BYTE AlphaTestEffect_PSAlphaTestEqNe[] = 52, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 255, 255, 31, 0, - 0, 2, 0, 0, 0, 128, - 0, 0, 15, 176, 31, 0, - 0, 2, 0, 0, 0, 128, - 1, 0, 15, 176, 31, 0, - 0, 2, 0, 0, 0, 128, - 2, 0, 3, 176, 31, 0, - 0, 2, 0, 0, 0, 144, - 0, 8, 15, 160, 66, 0, - 0, 3, 0, 0, 15, 128, - 2, 0, 228, 176, 0, 8, - 228, 160, 4, 0, 0, 4, - 1, 0, 8, 128, 0, 0, - 255, 128, 0, 0, 255, 176, - 0, 0, 0, 161, 5, 0, - 0, 3, 0, 0, 15, 128, - 0, 0, 228, 128, 0, 0, - 228, 176, 35, 0, 0, 2, - 1, 0, 1, 128, 1, 0, - 255, 128, 2, 0, 0, 3, - 1, 0, 1, 128, 1, 0, - 0, 128, 0, 0, 85, 161, - 88, 0, 0, 4, 1, 0, - 15, 128, 1, 0, 0, 128, - 0, 0, 255, 160, 0, 0, - 170, 160, 65, 0, 0, 1, - 1, 0, 15, 128, 4, 0, - 0, 4, 1, 0, 7, 128, - 1, 0, 228, 160, 0, 0, - 255, 128, 0, 0, 228, 129, - 4, 0, 0, 4, 0, 0, - 7, 128, 1, 0, 255, 176, - 1, 0, 228, 128, 0, 0, - 228, 128, 1, 0, 0, 2, - 0, 8, 15, 128, 0, 0, - 228, 128, 255, 255, 0, 0, - 83, 72, 68, 82, 184, 1, - 0, 0, 64, 0, 0, 0, - 110, 0, 0, 0, 89, 0, - 0, 4, 70, 142, 32, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 90, 0, 0, 3, - 0, 96, 16, 0, 0, 0, - 0, 0, 88, 24, 0, 4, - 0, 112, 16, 0, 0, 0, - 0, 0, 85, 85, 0, 0, - 98, 16, 0, 3, 242, 16, + 0, 2, 255, 255, 254, 255, + 165, 0, 68, 66, 85, 71, + 40, 0, 0, 0, 104, 2, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 192, 0, + 0, 0, 14, 0, 0, 0, + 200, 0, 0, 0, 4, 0, + 0, 0, 24, 2, 0, 0, + 56, 1, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 65, 108, + 112, 104, 97, 84, 101, 115, + 116, 69, 102, 102, 101, 99, + 116, 46, 102, 120, 0, 67, + 58, 92, 65, 84, 71, 32, + 83, 97, 109, 112, 108, 101, + 32, 68, 101, 118, 101, 108, + 111, 112, 109, 101, 110, 116, + 92, 115, 116, 95, 100, 101, + 118, 92, 75, 105, 116, 115, + 92, 68, 105, 114, 101, 99, + 116, 88, 84, 75, 92, 83, + 114, 99, 92, 83, 104, 97, + 100, 101, 114, 115, 92, 67, + 111, 109, 109, 111, 110, 46, + 102, 120, 104, 0, 171, 171, + 40, 0, 0, 0, 119, 0, + 0, 0, 0, 0, 255, 255, + 156, 2, 0, 0, 0, 0, + 255, 255, 168, 2, 0, 0, + 0, 0, 255, 255, 180, 2, + 0, 0, 0, 0, 255, 255, + 192, 2, 0, 0, 115, 0, + 0, 0, 204, 2, 0, 0, + 117, 0, 0, 0, 220, 2, + 0, 0, 115, 0, 0, 0, + 240, 2, 0, 0, 117, 0, + 0, 0, 0, 3, 0, 0, + 117, 0, 0, 0, 12, 3, + 0, 0, 117, 0, 0, 0, + 28, 3, 0, 0, 117, 0, + 0, 0, 48, 3, 0, 0, + 20, 0, 1, 0, 56, 3, + 0, 0, 20, 0, 1, 0, + 76, 3, 0, 0, 20, 0, + 1, 0, 96, 3, 0, 0, + 80, 83, 65, 108, 112, 104, + 97, 84, 101, 115, 116, 69, + 113, 78, 101, 0, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 13, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 65, 112, 112, 108, + 121, 70, 111, 103, 0, 99, + 111, 108, 111, 114, 0, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 6, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 3, 0, 112, 105, + 110, 0, 68, 105, 102, 102, + 117, 115, 101, 0, 83, 112, + 101, 99, 117, 108, 97, 114, + 0, 84, 101, 120, 67, 111, + 111, 114, 100, 0, 171, 171, + 1, 0, 3, 0, 1, 0, + 2, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 160, 1, + 0, 0, 116, 1, 0, 0, + 168, 1, 0, 0, 116, 1, + 0, 0, 177, 1, 0, 0, + 188, 1, 0, 0, 5, 0, + 0, 0, 1, 0, 10, 0, + 1, 0, 3, 0, 204, 1, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 1, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 7, 0, 2, 0, 0, 0, + 8, 0, 9, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 56, 1, 0, 0, 72, 1, + 0, 0, 1, 0, 0, 0, + 88, 1, 0, 0, 100, 1, + 0, 0, 109, 1, 0, 0, + 116, 1, 0, 0, 1, 0, + 0, 0, 132, 1, 0, 0, + 0, 0, 0, 0, 109, 1, + 0, 0, 116, 1, 0, 0, + 1, 0, 0, 0, 144, 1, + 0, 0, 56, 1, 0, 0, + 156, 1, 0, 0, 228, 1, + 0, 0, 3, 0, 0, 0, + 244, 1, 0, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 31, 0, 0, 2, + 0, 0, 0, 128, 0, 0, + 15, 176, 31, 0, 0, 2, + 0, 0, 0, 128, 1, 0, + 15, 176, 31, 0, 0, 2, + 0, 0, 0, 128, 2, 0, + 3, 176, 31, 0, 0, 2, + 0, 0, 0, 144, 0, 8, + 15, 160, 66, 0, 0, 3, + 0, 0, 15, 128, 2, 0, + 228, 176, 0, 8, 228, 160, + 4, 0, 0, 4, 1, 0, + 8, 128, 0, 0, 255, 128, + 0, 0, 255, 176, 0, 0, + 0, 161, 5, 0, 0, 3, + 0, 0, 15, 128, 0, 0, + 228, 128, 0, 0, 228, 176, + 35, 0, 0, 2, 1, 0, + 1, 128, 1, 0, 255, 128, + 2, 0, 0, 3, 1, 0, + 1, 128, 1, 0, 0, 128, + 0, 0, 85, 161, 88, 0, + 0, 4, 1, 0, 15, 128, + 1, 0, 0, 128, 0, 0, + 255, 160, 0, 0, 170, 160, + 65, 0, 0, 1, 1, 0, + 15, 128, 4, 0, 0, 4, + 1, 0, 7, 128, 1, 0, + 228, 160, 0, 0, 255, 128, + 0, 0, 228, 129, 4, 0, + 0, 4, 0, 0, 7, 128, + 1, 0, 255, 176, 1, 0, + 228, 128, 0, 0, 228, 128, + 1, 0, 0, 2, 0, 8, + 15, 128, 0, 0, 228, 128, + 255, 255, 0, 0, 83, 72, + 68, 82, 184, 1, 0, 0, + 64, 0, 0, 0, 110, 0, + 0, 0, 89, 0, 0, 4, + 70, 142, 32, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 90, 0, 0, 3, 0, 96, 16, 0, 0, 0, 0, 0, - 98, 16, 0, 3, 130, 16, - 16, 0, 1, 0, 0, 0, - 98, 16, 0, 3, 50, 16, - 16, 0, 2, 0, 0, 0, - 101, 0, 0, 3, 242, 32, + 88, 24, 0, 4, 0, 112, 16, 0, 0, 0, 0, 0, - 104, 0, 0, 2, 2, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 0, 0, - 0, 0, 70, 16, 16, 0, - 2, 0, 0, 0, 70, 126, + 85, 85, 0, 0, 98, 16, + 0, 3, 242, 16, 16, 0, + 0, 0, 0, 0, 98, 16, + 0, 3, 130, 16, 16, 0, + 1, 0, 0, 0, 98, 16, + 0, 3, 50, 16, 16, 0, + 2, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 0, 0, 0, 0, 104, 0, + 0, 2, 2, 0, 0, 0, + 69, 0, 0, 9, 242, 0, 16, 0, 0, 0, 0, 0, - 0, 96, 16, 0, 0, 0, - 0, 0, 50, 0, 0, 11, - 18, 0, 16, 0, 1, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 58, 16, + 70, 16, 16, 0, 2, 0, + 0, 0, 70, 126, 16, 0, + 0, 0, 0, 0, 0, 96, 16, 0, 0, 0, 0, 0, - 10, 128, 32, 128, 65, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 56, 0, - 0, 7, 242, 0, 16, 0, - 0, 0, 0, 0, 70, 14, + 50, 0, 0, 11, 18, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 58, 16, 16, 0, + 0, 0, 0, 0, 10, 128, + 32, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 56, 0, 0, 7, + 242, 0, 16, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 0, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, - 70, 30, 16, 0, 0, 0, - 0, 0, 49, 0, 0, 9, - 18, 0, 16, 0, 1, 0, - 0, 0, 10, 0, 16, 128, - 129, 0, 0, 0, 1, 0, - 0, 0, 26, 128, 32, 0, + 49, 0, 0, 9, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 128, 129, 0, + 0, 0, 1, 0, 0, 0, + 26, 128, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 55, 0, 0, 11, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 42, 128, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 58, 128, 32, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 55, 0, 0, 11, + 0, 0, 49, 0, 0, 7, 18, 0, 16, 0, 1, 0, 0, 0, 10, 0, 16, 0, - 1, 0, 0, 0, 42, 128, - 32, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 58, 128, - 32, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 49, 0, - 0, 7, 18, 0, 16, 0, - 1, 0, 0, 0, 10, 0, + 1, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 13, 0, 4, 3, 10, 0, 16, 0, 1, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 0, 0, 13, 0, 4, 3, - 10, 0, 16, 0, 1, 0, - 0, 0, 50, 0, 0, 11, - 114, 0, 16, 0, 1, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 246, 15, 16, 0, - 0, 0, 0, 0, 70, 2, - 16, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 50, 0, - 0, 9, 114, 32, 16, 0, - 0, 0, 0, 0, 246, 31, + 50, 0, 0, 11, 114, 0, 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 54, 0, - 0, 5, 130, 32, 16, 0, - 0, 0, 0, 0, 58, 0, - 16, 0, 0, 0, 0, 0, - 62, 0, 0, 1, 73, 83, - 71, 78, 96, 0, 0, 0, - 3, 0, 0, 0, 8, 0, - 0, 0, 80, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 50, 0, 0, 9, + 114, 32, 16, 0, 0, 0, + 0, 0, 246, 31, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 130, 32, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 62, 0, + 0, 1, 73, 83, 71, 78, + 96, 0, 0, 0, 3, 0, + 0, 0, 8, 0, 0, 0, + 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 15, - 0, 0, 80, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 15, 8, - 0, 0, 86, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 15, 0, 0, + 80, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 2, 0, 0, 0, 3, 3, - 0, 0, 67, 79, 76, 79, - 82, 0, 84, 69, 88, 67, - 79, 79, 82, 68, 0, 171, - 79, 83, 71, 78, 44, 0, - 0, 0, 1, 0, 0, 0, - 8, 0, 0, 0, 32, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 15, 8, 0, 0, + 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 3, 3, 0, 0, + 67, 79, 76, 79, 82, 0, + 84, 69, 88, 67, 79, 79, + 82, 68, 0, 171, 79, 83, + 71, 78, 44, 0, 0, 0, + 1, 0, 0, 0, 8, 0, + 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 83, 86, - 95, 84, 97, 114, 103, 101, - 116, 0, 171, 171 + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 83, 86, 95, 84, + 97, 114, 103, 101, 116, 0, + 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/AlphaTestEffect_PSAlphaTestEqNeNoFog.inc b/Kits/DirectXTK/Src/Shaders/Compiled/AlphaTestEffect_PSAlphaTestEqNeNoFog.inc index 6e6f91e6..df910cd7 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/AlphaTestEffect_PSAlphaTestEqNeNoFog.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/AlphaTestEffect_PSAlphaTestEqNeNoFog.inc @@ -35,13 +35,15 @@ // Level9 shader bytecode: // ps_2_0 - dcl t0 - dcl t1.xy + dcl t0 // pin<0,1,2,3> + dcl t1.xy // pin<4,5> dcl_2d s0 + +#line 128 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\AlphaTestEffect.fx" texld r0, t1, s0 mad r1.w, r0.w, t0.w, -c0.x - mul r0, r0, t0 - mov oC0, r0 + mul r0, r0, t0 // ::color<0,1,2,3> + mov oC0, r0 // ::PSAlphaTestEqNeNoFog<0,1,2,3> abs r0.x, r1.w add r0.x, r0.x, -c0.y cmp r0, r0.x, c0.w, c0.z @@ -70,17 +72,17 @@ ret const BYTE AlphaTestEffect_PSAlphaTestEqNeNoFog[] = { - 68, 88, 66, 67, 142, 41, - 152, 238, 100, 236, 167, 190, - 1, 194, 156, 60, 169, 254, - 95, 169, 1, 0, 0, 0, - 248, 2, 0, 0, 4, 0, + 68, 88, 66, 67, 207, 117, + 57, 224, 226, 104, 212, 180, + 83, 188, 48, 87, 162, 23, + 138, 157, 1, 0, 0, 0, + 240, 4, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 16, 1, 0, 0, 116, 2, - 0, 0, 196, 2, 0, 0, - 65, 111, 110, 57, 216, 0, - 0, 0, 216, 0, 0, 0, - 0, 2, 255, 255, 164, 0, + 8, 3, 0, 0, 108, 4, + 0, 0, 188, 4, 0, 0, + 65, 111, 110, 57, 208, 2, + 0, 0, 208, 2, 0, 0, + 0, 2, 255, 255, 156, 2, 0, 0, 52, 0, 0, 0, 1, 0, 40, 0, 0, 0, 52, 0, 0, 0, 52, 0, @@ -88,7 +90,91 @@ const BYTE AlphaTestEffect_PSAlphaTestEqNeNoFog[] = 52, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 255, 255, 31, 0, + 0, 2, 255, 255, 254, 255, + 125, 0, 68, 66, 85, 71, + 40, 0, 0, 0, 200, 1, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 120, 0, + 0, 0, 11, 0, 0, 0, + 124, 0, 0, 0, 3, 0, + 0, 0, 140, 1, 0, 0, + 212, 0, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 65, 108, + 112, 104, 97, 84, 101, 115, + 116, 69, 102, 102, 101, 99, + 116, 46, 102, 120, 0, 171, + 40, 0, 0, 0, 0, 0, + 255, 255, 252, 1, 0, 0, + 0, 0, 255, 255, 8, 2, + 0, 0, 0, 0, 255, 255, + 20, 2, 0, 0, 128, 0, + 0, 0, 32, 2, 0, 0, + 130, 0, 0, 0, 48, 2, + 0, 0, 128, 0, 0, 0, + 68, 2, 0, 0, 128, 0, + 0, 0, 84, 2, 0, 0, + 130, 0, 0, 0, 96, 2, + 0, 0, 130, 0, 0, 0, + 108, 2, 0, 0, 130, 0, + 0, 0, 124, 2, 0, 0, + 130, 0, 0, 0, 144, 2, + 0, 0, 80, 83, 65, 108, + 112, 104, 97, 84, 101, 115, + 116, 69, 113, 78, 101, 78, + 111, 70, 111, 103, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 99, 111, 108, 111, 114, 0, + 171, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 112, 105, 110, 0, 68, 105, + 102, 102, 117, 115, 101, 0, + 84, 101, 120, 67, 111, 111, + 114, 100, 0, 171, 171, 171, + 1, 0, 3, 0, 1, 0, + 2, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 48, 1, + 0, 0, 16, 1, 0, 0, + 56, 1, 0, 0, 68, 1, + 0, 0, 5, 0, 0, 0, + 1, 0, 6, 0, 1, 0, + 2, 0, 84, 1, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 1, 0, 0, 0, 4, 0, + 5, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 212, 0, + 0, 0, 236, 0, 0, 0, + 1, 0, 0, 0, 252, 0, + 0, 0, 0, 0, 0, 0, + 8, 1, 0, 0, 16, 1, + 0, 0, 1, 0, 0, 0, + 32, 1, 0, 0, 212, 0, + 0, 0, 44, 1, 0, 0, + 100, 1, 0, 0, 2, 0, + 0, 0, 116, 1, 0, 0, + 77, 105, 99, 114, 111, 115, + 111, 102, 116, 32, 40, 82, + 41, 32, 72, 76, 83, 76, + 32, 83, 104, 97, 100, 101, + 114, 32, 67, 111, 109, 112, + 105, 108, 101, 114, 32, 49, + 48, 46, 49, 0, 31, 0, 0, 2, 0, 0, 0, 128, 0, 0, 15, 176, 31, 0, 0, 2, 0, 0, 0, 128, diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/AlphaTestEffect_PSAlphaTestLtGt.inc b/Kits/DirectXTK/Src/Shaders/Compiled/AlphaTestEffect_PSAlphaTestLtGt.inc index 4913c4f2..4791ffff 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/AlphaTestEffect_PSAlphaTestLtGt.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/AlphaTestEffect_PSAlphaTestLtGt.inc @@ -36,18 +36,22 @@ // Level9 shader bytecode: // ps_2_0 - dcl t0 - dcl t1 - dcl t2.xy + dcl t0 // pin<0,1,2,3> + dcl t1 // pin<4,5,6,7> + dcl t2.xy // pin<8,9> dcl_2d s0 + +#line 91 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\AlphaTestEffect.fx" texld r0, t2, s0 mad r1.w, r0.w, t0.w, -c0.x - mul r0, r0, t0 + mul r0, r0, t0 // ::color<0,1,2,3> cmp r1, r1.w, c0.w, c0.z texkill r1 + +#line 20 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" mad r1.xyz, c1, r0.w, -r0 - mad r0.xyz, t1.w, r1, r0 - mov oC0, r0 + mad r0.xyz, t1.w, r1, r0 // ApplyFog::color<0,1,2> + mov oC0, r0 // ::PSAlphaTestLtGt<0,1,2,3> // approximately 8 instruction slots used (1 texture, 7 arithmetic) ps_4_0 @@ -74,17 +78,17 @@ ret const BYTE AlphaTestEffect_PSAlphaTestLtGt[] = { - 68, 88, 66, 67, 132, 113, - 218, 60, 91, 20, 51, 146, - 238, 127, 172, 137, 199, 66, - 234, 195, 1, 0, 0, 0, - 84, 3, 0, 0, 4, 0, + 68, 88, 66, 67, 241, 64, + 251, 39, 121, 132, 229, 238, + 105, 177, 37, 183, 88, 131, + 121, 143, 1, 0, 0, 0, + 220, 5, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 40, 1, 0, 0, 184, 2, - 0, 0, 32, 3, 0, 0, - 65, 111, 110, 57, 240, 0, - 0, 0, 240, 0, 0, 0, - 0, 2, 255, 255, 188, 0, + 176, 3, 0, 0, 64, 5, + 0, 0, 168, 5, 0, 0, + 65, 111, 110, 57, 120, 3, + 0, 0, 120, 3, 0, 0, + 0, 2, 255, 255, 68, 3, 0, 0, 52, 0, 0, 0, 1, 0, 40, 0, 0, 0, 52, 0, 0, 0, 52, 0, @@ -92,7 +96,115 @@ const BYTE AlphaTestEffect_PSAlphaTestLtGt[] = 52, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 255, 255, 31, 0, + 0, 2, 255, 255, 254, 255, + 161, 0, 68, 66, 85, 71, + 40, 0, 0, 0, 88, 2, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 192, 0, + 0, 0, 12, 0, 0, 0, + 200, 0, 0, 0, 4, 0, + 0, 0, 8, 2, 0, 0, + 40, 1, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 65, 108, + 112, 104, 97, 84, 101, 115, + 116, 69, 102, 102, 101, 99, + 116, 46, 102, 120, 0, 67, + 58, 92, 65, 84, 71, 32, + 83, 97, 109, 112, 108, 101, + 32, 68, 101, 118, 101, 108, + 111, 112, 109, 101, 110, 116, + 92, 115, 116, 95, 100, 101, + 118, 92, 75, 105, 116, 115, + 92, 68, 105, 114, 101, 99, + 116, 88, 84, 75, 92, 83, + 114, 99, 92, 83, 104, 97, + 100, 101, 114, 115, 92, 67, + 111, 109, 109, 111, 110, 46, + 102, 120, 104, 0, 171, 171, + 40, 0, 0, 0, 119, 0, + 0, 0, 0, 0, 255, 255, + 140, 2, 0, 0, 0, 0, + 255, 255, 152, 2, 0, 0, + 0, 0, 255, 255, 164, 2, + 0, 0, 0, 0, 255, 255, + 176, 2, 0, 0, 91, 0, + 0, 0, 188, 2, 0, 0, + 93, 0, 0, 0, 204, 2, + 0, 0, 91, 0, 0, 0, + 224, 2, 0, 0, 93, 0, + 0, 0, 240, 2, 0, 0, + 93, 0, 0, 0, 4, 3, + 0, 0, 20, 0, 1, 0, + 12, 3, 0, 0, 20, 0, + 1, 0, 32, 3, 0, 0, + 20, 0, 1, 0, 52, 3, + 0, 0, 80, 83, 65, 108, + 112, 104, 97, 84, 101, 115, + 116, 76, 116, 71, 116, 0, + 1, 0, 3, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 11, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 3, 0, 65, 112, + 112, 108, 121, 70, 111, 103, + 0, 99, 111, 108, 111, 114, + 0, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 10, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 6, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 112, 105, 110, 0, 68, 105, + 102, 102, 117, 115, 101, 0, + 83, 112, 101, 99, 117, 108, + 97, 114, 0, 84, 101, 120, + 67, 111, 111, 114, 100, 0, + 171, 171, 1, 0, 3, 0, + 1, 0, 2, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 144, 1, 0, 0, 100, 1, + 0, 0, 152, 1, 0, 0, + 100, 1, 0, 0, 161, 1, + 0, 0, 172, 1, 0, 0, + 5, 0, 0, 0, 1, 0, + 10, 0, 1, 0, 3, 0, + 188, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 3, 0, 1, 0, + 0, 0, 4, 0, 5, 0, + 6, 0, 7, 0, 2, 0, + 0, 0, 8, 0, 9, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 40, 1, 0, 0, + 56, 1, 0, 0, 1, 0, + 0, 0, 72, 1, 0, 0, + 84, 1, 0, 0, 93, 1, + 0, 0, 100, 1, 0, 0, + 1, 0, 0, 0, 116, 1, + 0, 0, 0, 0, 0, 0, + 93, 1, 0, 0, 100, 1, + 0, 0, 1, 0, 0, 0, + 128, 1, 0, 0, 40, 1, + 0, 0, 140, 1, 0, 0, + 212, 1, 0, 0, 3, 0, + 0, 0, 228, 1, 0, 0, + 77, 105, 99, 114, 111, 115, + 111, 102, 116, 32, 40, 82, + 41, 32, 72, 76, 83, 76, + 32, 83, 104, 97, 100, 101, + 114, 32, 67, 111, 109, 112, + 105, 108, 101, 114, 32, 49, + 48, 46, 49, 0, 31, 0, 0, 2, 0, 0, 0, 128, 0, 0, 15, 176, 31, 0, 0, 2, 0, 0, 0, 128, diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/AlphaTestEffect_PSAlphaTestLtGtNoFog.inc b/Kits/DirectXTK/Src/Shaders/Compiled/AlphaTestEffect_PSAlphaTestLtGtNoFog.inc index 8e267e56..31637370 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/AlphaTestEffect_PSAlphaTestLtGtNoFog.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/AlphaTestEffect_PSAlphaTestLtGtNoFog.inc @@ -35,13 +35,15 @@ // Level9 shader bytecode: // ps_2_0 - dcl t0 - dcl t1.xy + dcl t0 // pin<0,1,2,3> + dcl t1.xy // pin<4,5> dcl_2d s0 + +#line 104 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\AlphaTestEffect.fx" texld r0, t1, s0 mad r1.w, r0.w, t0.w, -c0.x - mul r0, r0, t0 - mov oC0, r0 + mul r0, r0, t0 // ::color<0,1,2,3> + mov oC0, r0 // ::PSAlphaTestLtGtNoFog<0,1,2,3> cmp r0, r1.w, c0.w, c0.z texkill r0 @@ -67,17 +69,17 @@ ret const BYTE AlphaTestEffect_PSAlphaTestLtGtNoFog[] = { - 68, 88, 66, 67, 217, 179, - 156, 255, 144, 2, 9, 89, - 233, 242, 157, 125, 191, 110, - 15, 216, 1, 0, 0, 0, - 172, 2, 0, 0, 4, 0, + 68, 88, 66, 67, 156, 146, + 229, 145, 172, 111, 60, 108, + 100, 90, 170, 220, 44, 19, + 147, 95, 1, 0, 0, 0, + 148, 4, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 244, 0, 0, 0, 40, 2, - 0, 0, 120, 2, 0, 0, - 65, 111, 110, 57, 188, 0, - 0, 0, 188, 0, 0, 0, - 0, 2, 255, 255, 136, 0, + 220, 2, 0, 0, 16, 4, + 0, 0, 96, 4, 0, 0, + 65, 111, 110, 57, 164, 2, + 0, 0, 164, 2, 0, 0, + 0, 2, 255, 255, 112, 2, 0, 0, 52, 0, 0, 0, 1, 0, 40, 0, 0, 0, 52, 0, 0, 0, 52, 0, @@ -85,100 +87,182 @@ const BYTE AlphaTestEffect_PSAlphaTestLtGtNoFog[] = 52, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 255, 255, 31, 0, - 0, 2, 0, 0, 0, 128, - 0, 0, 15, 176, 31, 0, - 0, 2, 0, 0, 0, 128, - 1, 0, 3, 176, 31, 0, - 0, 2, 0, 0, 0, 144, - 0, 8, 15, 160, 66, 0, - 0, 3, 0, 0, 15, 128, - 1, 0, 228, 176, 0, 8, - 228, 160, 4, 0, 0, 4, - 1, 0, 8, 128, 0, 0, - 255, 128, 0, 0, 255, 176, - 0, 0, 0, 161, 5, 0, - 0, 3, 0, 0, 15, 128, - 0, 0, 228, 128, 0, 0, - 228, 176, 1, 0, 0, 2, - 0, 8, 15, 128, 0, 0, - 228, 128, 88, 0, 0, 4, - 0, 0, 15, 128, 1, 0, - 255, 128, 0, 0, 255, 160, - 0, 0, 170, 160, 65, 0, - 0, 1, 0, 0, 15, 128, - 255, 255, 0, 0, 83, 72, - 68, 82, 44, 1, 0, 0, - 64, 0, 0, 0, 75, 0, - 0, 0, 89, 0, 0, 4, - 70, 142, 32, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 90, 0, 0, 3, 0, 96, - 16, 0, 0, 0, 0, 0, - 88, 24, 0, 4, 0, 112, - 16, 0, 0, 0, 0, 0, - 85, 85, 0, 0, 98, 16, - 0, 3, 242, 16, 16, 0, - 0, 0, 0, 0, 98, 16, - 0, 3, 50, 16, 16, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 0, 0, 0, 0, 104, 0, - 0, 2, 2, 0, 0, 0, - 69, 0, 0, 9, 242, 0, - 16, 0, 0, 0, 0, 0, - 70, 16, 16, 0, 1, 0, - 0, 0, 70, 126, 16, 0, - 0, 0, 0, 0, 0, 96, + 0, 2, 255, 255, 254, 255, + 121, 0, 68, 66, 85, 71, + 40, 0, 0, 0, 184, 1, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 120, 0, + 0, 0, 9, 0, 0, 0, + 124, 0, 0, 0, 3, 0, + 0, 0, 124, 1, 0, 0, + 196, 0, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 65, 108, + 112, 104, 97, 84, 101, 115, + 116, 69, 102, 102, 101, 99, + 116, 46, 102, 120, 0, 171, + 40, 0, 0, 0, 0, 0, + 255, 255, 236, 1, 0, 0, + 0, 0, 255, 255, 248, 1, + 0, 0, 0, 0, 255, 255, + 4, 2, 0, 0, 104, 0, + 0, 0, 16, 2, 0, 0, + 106, 0, 0, 0, 32, 2, + 0, 0, 104, 0, 0, 0, + 52, 2, 0, 0, 104, 0, + 0, 0, 68, 2, 0, 0, + 106, 0, 0, 0, 80, 2, + 0, 0, 106, 0, 0, 0, + 100, 2, 0, 0, 80, 83, + 65, 108, 112, 104, 97, 84, + 101, 115, 116, 76, 116, 71, + 116, 78, 111, 70, 111, 103, + 0, 171, 171, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 99, 111, 108, 111, + 114, 0, 171, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 112, 105, 110, 0, + 68, 105, 102, 102, 117, 115, + 101, 0, 84, 101, 120, 67, + 111, 111, 114, 100, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 2, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 32, 1, 0, 0, 0, 1, + 0, 0, 40, 1, 0, 0, + 52, 1, 0, 0, 5, 0, + 0, 0, 1, 0, 6, 0, + 1, 0, 2, 0, 68, 1, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 1, 0, 0, 0, + 4, 0, 5, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 196, 0, 0, 0, 220, 0, + 0, 0, 1, 0, 0, 0, + 236, 0, 0, 0, 0, 0, + 0, 0, 248, 0, 0, 0, + 0, 1, 0, 0, 1, 0, + 0, 0, 16, 1, 0, 0, + 196, 0, 0, 0, 28, 1, + 0, 0, 84, 1, 0, 0, + 2, 0, 0, 0, 100, 1, + 0, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 31, 0, 0, 2, 0, 0, + 0, 128, 0, 0, 15, 176, + 31, 0, 0, 2, 0, 0, + 0, 128, 1, 0, 3, 176, + 31, 0, 0, 2, 0, 0, + 0, 144, 0, 8, 15, 160, + 66, 0, 0, 3, 0, 0, + 15, 128, 1, 0, 228, 176, + 0, 8, 228, 160, 4, 0, + 0, 4, 1, 0, 8, 128, + 0, 0, 255, 128, 0, 0, + 255, 176, 0, 0, 0, 161, + 5, 0, 0, 3, 0, 0, + 15, 128, 0, 0, 228, 128, + 0, 0, 228, 176, 1, 0, + 0, 2, 0, 8, 15, 128, + 0, 0, 228, 128, 88, 0, + 0, 4, 0, 0, 15, 128, + 1, 0, 255, 128, 0, 0, + 255, 160, 0, 0, 170, 160, + 65, 0, 0, 1, 0, 0, + 15, 128, 255, 255, 0, 0, + 83, 72, 68, 82, 44, 1, + 0, 0, 64, 0, 0, 0, + 75, 0, 0, 0, 89, 0, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 90, 0, 0, 3, + 0, 96, 16, 0, 0, 0, + 0, 0, 88, 24, 0, 4, + 0, 112, 16, 0, 0, 0, + 0, 0, 85, 85, 0, 0, + 98, 16, 0, 3, 242, 16, 16, 0, 0, 0, 0, 0, - 56, 0, 0, 7, 242, 0, + 98, 16, 0, 3, 50, 16, + 16, 0, 1, 0, 0, 0, + 101, 0, 0, 3, 242, 32, 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 0, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 49, 0, - 0, 8, 18, 0, 16, 0, - 1, 0, 0, 0, 58, 0, + 104, 0, 0, 2, 2, 0, + 0, 0, 69, 0, 0, 9, + 242, 0, 16, 0, 0, 0, + 0, 0, 70, 16, 16, 0, + 1, 0, 0, 0, 70, 126, 16, 0, 0, 0, 0, 0, - 10, 128, 32, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 54, 0, 0, 5, 242, 32, + 0, 96, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 242, 0, 16, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 0, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 0, 0, - 0, 0, 55, 0, 0, 11, - 18, 0, 16, 0, 0, 0, - 0, 0, 10, 0, 16, 0, - 1, 0, 0, 0, 42, 128, - 32, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 58, 128, - 32, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 49, 0, - 0, 7, 18, 0, 16, 0, + 49, 0, 0, 8, 18, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 10, 128, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 54, 0, 0, 5, + 242, 32, 16, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 0, 0, 0, 0, 55, 0, + 0, 11, 18, 0, 16, 0, 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 42, 128, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 58, 128, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 49, 0, 0, 7, 18, 0, 16, 0, 0, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 0, 0, 13, 0, 4, 3, 10, 0, 16, 0, 0, 0, - 0, 0, 62, 0, 0, 1, - 73, 83, 71, 78, 72, 0, - 0, 0, 2, 0, 0, 0, - 8, 0, 0, 0, 56, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 15, 15, 0, 0, 62, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 3, 3, 0, 0, 67, 79, - 76, 79, 82, 0, 84, 69, - 88, 67, 79, 79, 82, 68, - 0, 171, 79, 83, 71, 78, - 44, 0, 0, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 13, 0, + 4, 3, 10, 0, 16, 0, + 0, 0, 0, 0, 62, 0, + 0, 1, 73, 83, 71, 78, + 72, 0, 0, 0, 2, 0, 0, 0, 8, 0, 0, 0, - 32, 0, 0, 0, 0, 0, + 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 83, 86, 95, 84, 97, 114, - 103, 101, 116, 0, 171, 171 + 0, 0, 15, 15, 0, 0, + 62, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 3, 3, 0, 0, + 67, 79, 76, 79, 82, 0, + 84, 69, 88, 67, 79, 79, + 82, 68, 0, 171, 79, 83, + 71, 78, 44, 0, 0, 0, + 1, 0, 0, 0, 8, 0, + 0, 0, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 83, 86, 95, 84, + 97, 114, 103, 101, 116, 0, + 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/AlphaTestEffect_VSAlphaTest.inc b/Kits/DirectXTK/Src/Shaders/Compiled/AlphaTestEffect_VSAlphaTest.inc index c2e32be0..bb81399d 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/AlphaTestEffect_VSAlphaTest.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/AlphaTestEffect_VSAlphaTest.inc @@ -40,20 +40,32 @@ // vs_2_0 def c7, 0, 1, 0, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dp4 oPos.z, v0, c5 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5> + +#line 43 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + dp4 oPos.z, v0, c5 // ::VSAlphaTest<12> + +#line 14 dp4 r0.x, v0, c2 max r0.x, r0.x, c7.x - min oT1.w, r0.x, c7.y - dp4 r0.x, v0, c3 - dp4 r0.y, v0, c4 - dp4 r0.z, v0, c6 - mad oPos.xy, r0.z, c0, r0 - mov oPos.w, r0.z - mov oT0, c1 - mov oT1.xyz, c7.x - mov oT2.xy, v1 + min oT1.w, r0.x, c7.y // ::VSAlphaTest<7> + +#line 43 + dp4 r0.x, v0, c3 // ::vout<0> + dp4 r0.y, v0, c4 // ::vout<1> + dp4 r0.z, v0, c6 // ::vout<3> + +#line 31 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\AlphaTestEffect.fx" + mad oPos.xy, r0.z, c0, r0 // ::VSAlphaTest<10,11> + mov oPos.w, r0.z // ::VSAlphaTest<13> + +#line 44 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + mov oT0, c1 // ::VSAlphaTest<0,1,2,3> + mov oT1.xyz, c7.x // ::VSAlphaTest<4,5,6> + +#line 38 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\AlphaTestEffect.fx" + mov oT2.xy, v1 // ::VSAlphaTest<8,9> // approximately 12 instruction slots used vs_4_0 @@ -78,17 +90,17 @@ ret const BYTE AlphaTestEffect_VSAlphaTest[] = { - 68, 88, 66, 67, 4, 149, - 62, 151, 78, 3, 139, 252, - 103, 187, 235, 135, 118, 107, - 194, 7, 1, 0, 0, 0, - 164, 3, 0, 0, 4, 0, + 68, 88, 66, 67, 140, 250, + 248, 103, 246, 98, 11, 172, + 23, 163, 14, 30, 10, 157, + 29, 143, 1, 0, 0, 0, + 252, 6, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 100, 1, 0, 0, 192, 2, - 0, 0, 24, 3, 0, 0, - 65, 111, 110, 57, 44, 1, - 0, 0, 44, 1, 0, 0, - 0, 2, 254, 255, 236, 0, + 188, 4, 0, 0, 24, 6, + 0, 0, 112, 6, 0, 0, + 65, 111, 110, 57, 132, 4, + 0, 0, 132, 4, 0, 0, + 0, 2, 254, 255, 68, 4, 0, 0, 64, 0, 0, 0, 2, 0, 36, 0, 0, 0, 60, 0, 0, 0, 60, 0, @@ -98,140 +110,282 @@ const BYTE AlphaTestEffect_VSAlphaTest[] = 0, 0, 0, 0, 3, 0, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 81, 0, - 0, 5, 7, 0, 15, 160, + 0, 2, 254, 255, 254, 255, + 213, 0, 68, 66, 85, 71, + 40, 0, 0, 0, 40, 3, 0, 0, 0, 0, 0, 0, - 128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 1, 128, - 1, 0, 15, 144, 9, 0, - 0, 3, 0, 0, 4, 192, - 0, 0, 228, 144, 5, 0, - 228, 160, 9, 0, 0, 3, - 0, 0, 1, 128, 0, 0, - 228, 144, 2, 0, 228, 160, - 11, 0, 0, 3, 0, 0, - 1, 128, 0, 0, 0, 128, - 7, 0, 0, 160, 10, 0, - 0, 3, 1, 0, 8, 224, + 2, 0, 0, 0, 192, 0, + 0, 0, 15, 0, 0, 0, + 200, 0, 0, 0, 3, 0, + 0, 0, 236, 2, 0, 0, + 64, 1, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 67, 111, + 109, 109, 111, 110, 46, 102, + 120, 104, 0, 67, 58, 92, + 65, 84, 71, 32, 83, 97, + 109, 112, 108, 101, 32, 68, + 101, 118, 101, 108, 111, 112, + 109, 101, 110, 116, 92, 115, + 116, 95, 100, 101, 118, 92, + 75, 105, 116, 115, 92, 68, + 105, 114, 101, 99, 116, 88, + 84, 75, 92, 83, 114, 99, + 92, 83, 104, 97, 100, 101, + 114, 115, 92, 65, 108, 112, + 104, 97, 84, 101, 115, 116, + 69, 102, 102, 101, 99, 116, + 46, 102, 120, 0, 171, 171, + 40, 0, 0, 0, 111, 0, + 0, 0, 0, 0, 255, 255, + 92, 3, 0, 0, 0, 0, + 255, 255, 116, 3, 0, 0, + 0, 0, 255, 255, 128, 3, + 0, 0, 43, 0, 0, 0, + 140, 3, 0, 0, 14, 0, + 0, 0, 156, 3, 0, 0, + 14, 0, 0, 0, 172, 3, + 0, 0, 14, 0, 0, 0, + 188, 3, 0, 0, 43, 0, + 0, 0, 204, 3, 0, 0, + 43, 0, 0, 0, 220, 3, + 0, 0, 43, 0, 0, 0, + 236, 3, 0, 0, 31, 0, + 1, 0, 252, 3, 0, 0, + 31, 0, 1, 0, 16, 4, + 0, 0, 44, 0, 0, 0, + 28, 4, 0, 0, 45, 0, + 0, 0, 40, 4, 0, 0, + 38, 0, 1, 0, 52, 4, + 0, 0, 86, 83, 65, 108, + 112, 104, 97, 84, 101, 115, + 116, 0, 68, 105, 102, 102, + 117, 115, 101, 0, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 83, 112, 101, 99, + 117, 108, 97, 114, 0, 84, + 101, 120, 67, 111, 111, 114, + 100, 0, 171, 171, 1, 0, + 3, 0, 1, 0, 2, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 80, 111, 115, 105, + 116, 105, 111, 110, 80, 83, + 0, 171, 76, 1, 0, 0, + 84, 1, 0, 0, 100, 1, + 0, 0, 84, 1, 0, 0, + 109, 1, 0, 0, 120, 1, + 0, 0, 136, 1, 0, 0, + 84, 1, 0, 0, 5, 0, + 0, 0, 1, 0, 14, 0, + 1, 0, 4, 0, 148, 1, + 0, 0, 3, 0, 0, 0, + 255, 255, 255, 255, 12, 0, + 255, 255, 6, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 7, 0, 10, 0, 0, 0, + 10, 0, 11, 0, 255, 255, + 255, 255, 11, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 13, 0, 12, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 13, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 255, 255, 14, 0, 0, 0, + 8, 0, 9, 0, 255, 255, + 255, 255, 118, 105, 110, 0, + 80, 111, 115, 105, 116, 105, + 111, 110, 0, 171, 171, 171, + 28, 2, 0, 0, 84, 1, + 0, 0, 109, 1, 0, 0, + 120, 1, 0, 0, 5, 0, + 0, 0, 1, 0, 6, 0, + 1, 0, 2, 0, 40, 2, + 0, 0, 1, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 2, 0, 0, 0, + 4, 0, 5, 0, 255, 255, + 255, 255, 118, 111, 117, 116, + 0, 80, 111, 115, 95, 112, + 115, 0, 1, 0, 3, 0, + 1, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 70, 111, 103, 70, 97, 99, + 116, 111, 114, 0, 171, 171, + 0, 0, 3, 0, 1, 0, + 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 101, 2, + 0, 0, 84, 1, 0, 0, + 76, 1, 0, 0, 84, 1, + 0, 0, 100, 1, 0, 0, + 108, 2, 0, 0, 124, 2, + 0, 0, 136, 2, 0, 0, + 5, 0, 0, 0, 1, 0, + 12, 0, 1, 0, 4, 0, + 152, 2, 0, 0, 7, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 8, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 9, 0, + 0, 0, 255, 255, 255, 255, + 3, 0, 255, 255, 0, 0, + 0, 0, 64, 1, 0, 0, + 180, 1, 0, 0, 7, 0, + 0, 0, 196, 1, 0, 0, + 64, 1, 0, 0, 24, 2, + 0, 0, 56, 2, 0, 0, + 2, 0, 0, 0, 72, 2, + 0, 0, 0, 0, 0, 0, + 96, 2, 0, 0, 184, 2, + 0, 0, 3, 0, 0, 0, + 200, 2, 0, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 81, 0, 0, 5, + 7, 0, 15, 160, 0, 0, + 0, 0, 0, 0, 128, 63, + 0, 0, 0, 0, 0, 0, + 0, 0, 31, 0, 0, 2, + 5, 0, 0, 128, 0, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 1, 128, 1, 0, + 15, 144, 9, 0, 0, 3, + 0, 0, 4, 192, 0, 0, + 228, 144, 5, 0, 228, 160, + 9, 0, 0, 3, 0, 0, + 1, 128, 0, 0, 228, 144, + 2, 0, 228, 160, 11, 0, + 0, 3, 0, 0, 1, 128, 0, 0, 0, 128, 7, 0, - 85, 160, 9, 0, 0, 3, - 0, 0, 1, 128, 0, 0, - 228, 144, 3, 0, 228, 160, + 0, 160, 10, 0, 0, 3, + 1, 0, 8, 224, 0, 0, + 0, 128, 7, 0, 85, 160, 9, 0, 0, 3, 0, 0, - 2, 128, 0, 0, 228, 144, - 4, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 4, 128, - 0, 0, 228, 144, 6, 0, - 228, 160, 4, 0, 0, 4, - 0, 0, 3, 192, 0, 0, - 170, 128, 0, 0, 228, 160, - 0, 0, 228, 128, 1, 0, - 0, 2, 0, 0, 8, 192, - 0, 0, 170, 128, 1, 0, - 0, 2, 0, 0, 15, 224, - 1, 0, 228, 160, 1, 0, - 0, 2, 1, 0, 7, 224, - 7, 0, 0, 160, 1, 0, - 0, 2, 2, 0, 3, 224, - 1, 0, 228, 144, 255, 255, - 0, 0, 83, 72, 68, 82, - 84, 1, 0, 0, 64, 0, - 1, 0, 85, 0, 0, 0, - 89, 0, 0, 4, 70, 142, - 32, 0, 0, 0, 0, 0, - 8, 0, 0, 0, 95, 0, - 0, 3, 242, 16, 16, 0, - 0, 0, 0, 0, 95, 0, - 0, 3, 50, 16, 16, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 0, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 50, 32, 16, 0, - 2, 0, 0, 0, 103, 0, - 0, 4, 242, 32, 16, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 54, 0, 0, 6, + 1, 128, 0, 0, 228, 144, + 3, 0, 228, 160, 9, 0, + 0, 3, 0, 0, 2, 128, + 0, 0, 228, 144, 4, 0, + 228, 160, 9, 0, 0, 3, + 0, 0, 4, 128, 0, 0, + 228, 144, 6, 0, 228, 160, + 4, 0, 0, 4, 0, 0, + 3, 192, 0, 0, 170, 128, + 0, 0, 228, 160, 0, 0, + 228, 128, 1, 0, 0, 2, + 0, 0, 8, 192, 0, 0, + 170, 128, 1, 0, 0, 2, + 0, 0, 15, 224, 1, 0, + 228, 160, 1, 0, 0, 2, + 1, 0, 7, 224, 7, 0, + 0, 160, 1, 0, 0, 2, + 2, 0, 3, 224, 1, 0, + 228, 144, 255, 255, 0, 0, + 83, 72, 68, 82, 84, 1, + 0, 0, 64, 0, 1, 0, + 85, 0, 0, 0, 89, 0, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 8, 0, + 0, 0, 95, 0, 0, 3, + 242, 16, 16, 0, 0, 0, + 0, 0, 95, 0, 0, 3, + 50, 16, 16, 0, 1, 0, + 0, 0, 101, 0, 0, 3, 242, 32, 16, 0, 0, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 17, 32, 0, 8, - 130, 32, 16, 0, 1, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 70, 142, - 32, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 54, 0, - 0, 8, 114, 32, 16, 0, - 1, 0, 0, 0, 2, 64, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 1, 0, + 0, 0, 101, 0, 0, 3, + 50, 32, 16, 0, 2, 0, + 0, 0, 103, 0, 0, 4, + 242, 32, 16, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 17, 32, 0, 8, 130, 32, + 16, 0, 1, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 54, 0, 0, 8, + 114, 32, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 54, 0, 0, 5, 50, 32, - 16, 0, 2, 0, 0, 0, - 70, 16, 16, 0, 1, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 50, 32, 16, 0, + 2, 0, 0, 0, 70, 16, + 16, 0, 1, 0, 0, 0, + 17, 0, 0, 8, 18, 32, + 16, 0, 3, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 4, 0, 0, 0, 17, 0, 0, 8, - 18, 32, 16, 0, 3, 0, + 34, 32, 16, 0, 3, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 4, 0, 0, 0, 17, 0, - 0, 8, 34, 32, 16, 0, + 5, 0, 0, 0, 17, 0, + 0, 8, 66, 32, 16, 0, 3, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, - 0, 0, 5, 0, 0, 0, - 17, 0, 0, 8, 66, 32, + 0, 0, 6, 0, 0, 0, + 17, 0, 0, 8, 130, 32, 16, 0, 3, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 6, 0, - 0, 0, 17, 0, 0, 8, - 130, 32, 16, 0, 3, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 70, 142, - 32, 0, 0, 0, 0, 0, - 7, 0, 0, 0, 62, 0, - 0, 1, 73, 83, 71, 78, - 80, 0, 0, 0, 2, 0, - 0, 0, 8, 0, 0, 0, - 56, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 15, 0, 0, - 68, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 3, 3, 0, 0, - 83, 86, 95, 80, 111, 115, - 105, 116, 105, 111, 110, 0, - 84, 69, 88, 67, 79, 79, - 82, 68, 0, 171, 171, 171, - 79, 83, 71, 78, 132, 0, - 0, 0, 4, 0, 0, 0, - 8, 0, 0, 0, 104, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 62, 0, 0, 1, + 73, 83, 71, 78, 80, 0, + 0, 0, 2, 0, 0, 0, + 8, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 104, 0, - 0, 0, 1, 0, 0, 0, + 15, 15, 0, 0, 68, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, - 15, 0, 0, 0, 110, 0, + 3, 3, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 171, 171, 171, 79, 83, + 71, 78, 132, 0, 0, 0, + 4, 0, 0, 0, 8, 0, + 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 2, 0, 0, 0, - 3, 12, 0, 0, 119, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 104, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 15, 0, + 0, 0, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, - 15, 0, 0, 0, 67, 79, - 76, 79, 82, 0, 84, 69, - 88, 67, 79, 79, 82, 68, - 0, 83, 86, 95, 80, 111, - 115, 105, 116, 105, 111, 110, - 0, 171 + 2, 0, 0, 0, 3, 12, + 0, 0, 119, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 15, 0, + 0, 0, 67, 79, 76, 79, + 82, 0, 84, 69, 88, 67, + 79, 79, 82, 68, 0, 83, + 86, 95, 80, 111, 115, 105, + 116, 105, 111, 110, 0, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/AlphaTestEffect_VSAlphaTestNoFog.inc b/Kits/DirectXTK/Src/Shaders/Compiled/AlphaTestEffect_VSAlphaTestNoFog.inc index 308705f6..7687d134 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/AlphaTestEffect_VSAlphaTestNoFog.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/AlphaTestEffect_VSAlphaTestNoFog.inc @@ -38,16 +38,24 @@ // Level9 shader bytecode: // vs_2_0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dp4 oPos.z, v0, c4 - dp4 r0.x, v0, c2 - dp4 r0.y, v0, c3 - dp4 r0.z, v0, c5 - mad oPos.xy, r0.z, c0, r0 - mov oPos.w, r0.z - mov oT0, c1 - mov oT1.xy, v1 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5> + +#line 43 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + dp4 oPos.z, v0, c4 // ::VSAlphaTestNoFog<8> + dp4 r0.x, v0, c2 // ::vout<0> + dp4 r0.y, v0, c3 // ::vout<1> + dp4 r0.z, v0, c5 // ::vout<3> + +#line 45 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\AlphaTestEffect.fx" + mad oPos.xy, r0.z, c0, r0 // ::VSAlphaTestNoFog<6,7> + mov oPos.w, r0.z // ::VSAlphaTestNoFog<9> + +#line 44 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + mov oT0, c1 // ::VSAlphaTestNoFog<0,1,2,3> + +#line 52 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\AlphaTestEffect.fx" + mov oT1.xy, v1 // ::VSAlphaTestNoFog<4,5> // approximately 8 instruction slots used vs_4_0 @@ -69,17 +77,17 @@ ret const BYTE AlphaTestEffect_VSAlphaTestNoFog[] = { - 68, 88, 66, 67, 79, 234, - 189, 22, 246, 154, 20, 26, - 68, 213, 247, 236, 90, 124, - 169, 133, 1, 0, 0, 0, - 236, 2, 0, 0, 4, 0, + 68, 88, 66, 67, 248, 2, + 209, 10, 206, 132, 220, 115, + 131, 91, 104, 83, 66, 167, + 100, 45, 1, 0, 0, 0, + 8, 6, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 16, 1, 0, 0, 32, 2, - 0, 0, 120, 2, 0, 0, - 65, 111, 110, 57, 216, 0, - 0, 0, 216, 0, 0, 0, - 0, 2, 254, 255, 152, 0, + 44, 4, 0, 0, 60, 5, + 0, 0, 148, 5, 0, 0, + 65, 111, 110, 57, 244, 3, + 0, 0, 244, 3, 0, 0, + 0, 2, 254, 255, 180, 3, 0, 0, 64, 0, 0, 0, 2, 0, 36, 0, 0, 0, 60, 0, 0, 0, 60, 0, @@ -89,109 +97,242 @@ const BYTE AlphaTestEffect_VSAlphaTestNoFog[] = 0, 0, 0, 0, 4, 0, 4, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 1, 128, - 1, 0, 15, 144, 9, 0, - 0, 3, 0, 0, 4, 192, - 0, 0, 228, 144, 4, 0, - 228, 160, 9, 0, 0, 3, - 0, 0, 1, 128, 0, 0, - 228, 144, 2, 0, 228, 160, + 0, 2, 254, 255, 254, 255, + 198, 0, 68, 66, 85, 71, + 40, 0, 0, 0, 236, 2, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 192, 0, + 0, 0, 10, 0, 0, 0, + 200, 0, 0, 0, 3, 0, + 0, 0, 176, 2, 0, 0, + 24, 1, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 67, 111, + 109, 109, 111, 110, 46, 102, + 120, 104, 0, 67, 58, 92, + 65, 84, 71, 32, 83, 97, + 109, 112, 108, 101, 32, 68, + 101, 118, 101, 108, 111, 112, + 109, 101, 110, 116, 92, 115, + 116, 95, 100, 101, 118, 92, + 75, 105, 116, 115, 92, 68, + 105, 114, 101, 99, 116, 88, + 84, 75, 92, 83, 114, 99, + 92, 83, 104, 97, 100, 101, + 114, 115, 92, 65, 108, 112, + 104, 97, 84, 101, 115, 116, + 69, 102, 102, 101, 99, 116, + 46, 102, 120, 0, 171, 171, + 40, 0, 0, 0, 111, 0, + 0, 0, 0, 0, 255, 255, + 32, 3, 0, 0, 0, 0, + 255, 255, 44, 3, 0, 0, + 43, 0, 0, 0, 56, 3, + 0, 0, 43, 0, 0, 0, + 72, 3, 0, 0, 43, 0, + 0, 0, 88, 3, 0, 0, + 43, 0, 0, 0, 104, 3, + 0, 0, 45, 0, 1, 0, + 120, 3, 0, 0, 45, 0, + 1, 0, 140, 3, 0, 0, + 44, 0, 0, 0, 152, 3, + 0, 0, 52, 0, 1, 0, + 164, 3, 0, 0, 86, 83, + 65, 108, 112, 104, 97, 84, + 101, 115, 116, 78, 111, 70, + 111, 103, 0, 68, 105, 102, + 102, 117, 115, 101, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 84, 101, 120, 67, 111, 111, + 114, 100, 0, 171, 171, 171, + 1, 0, 3, 0, 1, 0, + 2, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 80, 111, + 115, 105, 116, 105, 111, 110, + 80, 83, 0, 171, 41, 1, + 0, 0, 52, 1, 0, 0, + 68, 1, 0, 0, 80, 1, + 0, 0, 96, 1, 0, 0, + 52, 1, 0, 0, 5, 0, + 0, 0, 1, 0, 10, 0, + 1, 0, 3, 0, 108, 1, + 0, 0, 2, 0, 0, 0, + 255, 255, 255, 255, 8, 0, + 255, 255, 6, 0, 0, 0, + 6, 0, 7, 0, 255, 255, + 255, 255, 7, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 9, 0, 8, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 9, 0, 0, 0, + 4, 0, 5, 0, 255, 255, + 255, 255, 118, 105, 110, 0, + 80, 111, 115, 105, 116, 105, + 111, 110, 0, 171, 171, 171, + 212, 1, 0, 0, 52, 1, + 0, 0, 68, 1, 0, 0, + 80, 1, 0, 0, 5, 0, + 0, 0, 1, 0, 6, 0, + 1, 0, 2, 0, 224, 1, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 1, 0, 0, 0, + 4, 0, 5, 0, 255, 255, + 255, 255, 118, 111, 117, 116, + 0, 80, 111, 115, 95, 112, + 115, 0, 83, 112, 101, 99, + 117, 108, 97, 114, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 70, 111, 103, 70, 97, 99, + 116, 111, 114, 0, 171, 171, + 0, 0, 3, 0, 1, 0, + 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 29, 2, + 0, 0, 52, 1, 0, 0, + 41, 1, 0, 0, 52, 1, + 0, 0, 36, 2, 0, 0, + 48, 2, 0, 0, 64, 2, + 0, 0, 76, 2, 0, 0, + 5, 0, 0, 0, 1, 0, + 12, 0, 1, 0, 4, 0, + 92, 2, 0, 0, 3, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 4, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 5, 0, + 0, 0, 255, 255, 255, 255, + 3, 0, 255, 255, 0, 0, + 0, 0, 24, 1, 0, 0, + 132, 1, 0, 0, 5, 0, + 0, 0, 148, 1, 0, 0, + 24, 1, 0, 0, 208, 1, + 0, 0, 240, 1, 0, 0, + 2, 0, 0, 0, 0, 2, + 0, 0, 0, 0, 0, 0, + 24, 2, 0, 0, 124, 2, + 0, 0, 3, 0, 0, 0, + 140, 2, 0, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 31, 0, 0, 2, + 5, 0, 0, 128, 0, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 1, 128, 1, 0, + 15, 144, 9, 0, 0, 3, + 0, 0, 4, 192, 0, 0, + 228, 144, 4, 0, 228, 160, 9, 0, 0, 3, 0, 0, - 2, 128, 0, 0, 228, 144, - 3, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 4, 128, - 0, 0, 228, 144, 5, 0, - 228, 160, 4, 0, 0, 4, - 0, 0, 3, 192, 0, 0, - 170, 128, 0, 0, 228, 160, - 0, 0, 228, 128, 1, 0, - 0, 2, 0, 0, 8, 192, - 0, 0, 170, 128, 1, 0, - 0, 2, 0, 0, 15, 224, - 1, 0, 228, 160, 1, 0, - 0, 2, 1, 0, 3, 224, - 1, 0, 228, 144, 255, 255, - 0, 0, 83, 72, 68, 82, - 8, 1, 0, 0, 64, 0, - 1, 0, 66, 0, 0, 0, - 89, 0, 0, 4, 70, 142, - 32, 0, 0, 0, 0, 0, - 8, 0, 0, 0, 95, 0, - 0, 3, 242, 16, 16, 0, - 0, 0, 0, 0, 95, 0, - 0, 3, 50, 16, 16, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 0, 0, 0, 0, 101, 0, - 0, 3, 50, 32, 16, 0, - 1, 0, 0, 0, 103, 0, - 0, 4, 242, 32, 16, 0, - 2, 0, 0, 0, 1, 0, - 0, 0, 54, 0, 0, 6, + 1, 128, 0, 0, 228, 144, + 2, 0, 228, 160, 9, 0, + 0, 3, 0, 0, 2, 128, + 0, 0, 228, 144, 3, 0, + 228, 160, 9, 0, 0, 3, + 0, 0, 4, 128, 0, 0, + 228, 144, 5, 0, 228, 160, + 4, 0, 0, 4, 0, 0, + 3, 192, 0, 0, 170, 128, + 0, 0, 228, 160, 0, 0, + 228, 128, 1, 0, 0, 2, + 0, 0, 8, 192, 0, 0, + 170, 128, 1, 0, 0, 2, + 0, 0, 15, 224, 1, 0, + 228, 160, 1, 0, 0, 2, + 1, 0, 3, 224, 1, 0, + 228, 144, 255, 255, 0, 0, + 83, 72, 68, 82, 8, 1, + 0, 0, 64, 0, 1, 0, + 66, 0, 0, 0, 89, 0, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 8, 0, + 0, 0, 95, 0, 0, 3, + 242, 16, 16, 0, 0, 0, + 0, 0, 95, 0, 0, 3, + 50, 16, 16, 0, 1, 0, + 0, 0, 101, 0, 0, 3, 242, 32, 16, 0, 0, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 54, 0, 0, 5, + 0, 0, 101, 0, 0, 3, 50, 32, 16, 0, 1, 0, - 0, 0, 70, 16, 16, 0, - 1, 0, 0, 0, 17, 0, - 0, 8, 18, 32, 16, 0, + 0, 0, 103, 0, 0, 4, + 242, 32, 16, 0, 2, 0, + 0, 0, 1, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 54, 0, 0, 5, 50, 32, + 16, 0, 1, 0, 0, 0, + 70, 16, 16, 0, 1, 0, + 0, 0, 17, 0, 0, 8, + 18, 32, 16, 0, 2, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 17, 0, + 0, 8, 34, 32, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, - 0, 0, 4, 0, 0, 0, - 17, 0, 0, 8, 34, 32, + 0, 0, 5, 0, 0, 0, + 17, 0, 0, 8, 66, 32, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 5, 0, + 0, 0, 0, 0, 6, 0, 0, 0, 17, 0, 0, 8, - 66, 32, 16, 0, 2, 0, + 130, 32, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 6, 0, 0, 0, 17, 0, - 0, 8, 130, 32, 16, 0, - 2, 0, 0, 0, 70, 30, - 16, 0, 0, 0, 0, 0, - 70, 142, 32, 0, 0, 0, - 0, 0, 7, 0, 0, 0, - 62, 0, 0, 1, 73, 83, - 71, 78, 80, 0, 0, 0, - 2, 0, 0, 0, 8, 0, - 0, 0, 56, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 15, - 0, 0, 68, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 3, 3, - 0, 0, 83, 86, 95, 80, - 111, 115, 105, 116, 105, 111, - 110, 0, 84, 69, 88, 67, - 79, 79, 82, 68, 0, 171, - 171, 171, 79, 83, 71, 78, - 108, 0, 0, 0, 3, 0, + 7, 0, 0, 0, 62, 0, + 0, 1, 73, 83, 71, 78, + 80, 0, 0, 0, 2, 0, 0, 0, 8, 0, 0, 0, - 80, 0, 0, 0, 0, 0, + 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 86, 0, 0, 0, 0, 0, + 0, 0, 15, 15, 0, 0, + 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, - 0, 0, 3, 12, 0, 0, - 95, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 15, 0, 0, 0, - 67, 79, 76, 79, 82, 0, + 0, 0, 3, 3, 0, 0, + 83, 86, 95, 80, 111, 115, + 105, 116, 105, 111, 110, 0, 84, 69, 88, 67, 79, 79, - 82, 68, 0, 83, 86, 95, - 80, 111, 115, 105, 116, 105, - 111, 110, 0, 171 + 82, 68, 0, 171, 171, 171, + 79, 83, 71, 78, 108, 0, + 0, 0, 3, 0, 0, 0, + 8, 0, 0, 0, 80, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 86, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 3, 12, 0, 0, 95, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 15, 0, 0, 0, 67, 79, + 76, 79, 82, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 83, 86, 95, 80, 111, + 115, 105, 116, 105, 111, 110, + 0, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/AlphaTestEffect_VSAlphaTestVc.inc b/Kits/DirectXTK/Src/Shaders/Compiled/AlphaTestEffect_VSAlphaTestVc.inc index e2ac08e7..ad33aa9c 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/AlphaTestEffect_VSAlphaTestVc.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/AlphaTestEffect_VSAlphaTestVc.inc @@ -41,21 +41,35 @@ // vs_2_0 def c7, 0, 1, 0, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 - dp4 oPos.z, v0, c5 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5> + dcl_texcoord2 v2 // vin<6,7,8,9> + +#line 43 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + dp4 oPos.z, v0, c5 // ::VSAlphaTestVc<12> + +#line 14 dp4 r0.x, v0, c2 max r0.x, r0.x, c7.x - min oT1.w, r0.x, c7.y - mul oT0, v2, c1 - dp4 r0.x, v0, c3 - dp4 r0.y, v0, c4 - dp4 r0.z, v0, c6 - mad oPos.xy, r0.z, c0, r0 - mov oPos.w, r0.z - mov oT1.xyz, c7.x - mov oT2.xy, v1 + min oT1.w, r0.x, c7.y // ::VSAlphaTestVc<7> + +#line 67 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\AlphaTestEffect.fx" + mul oT0, v2, c1 // ::VSAlphaTestVc<0,1,2,3> + +#line 43 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + dp4 r0.x, v0, c3 // ::vout<0> + dp4 r0.y, v0, c4 // ::vout<1> + dp4 r0.z, v0, c6 // ::vout<3> + +#line 59 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\AlphaTestEffect.fx" + mad oPos.xy, r0.z, c0, r0 // ::VSAlphaTestVc<10,11> + mov oPos.w, r0.z // ::VSAlphaTestVc<13> + +#line 45 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + mov oT1.xyz, c7.x // ::VSAlphaTestVc<4,5,6> + +#line 66 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\AlphaTestEffect.fx" + mov oT2.xy, v1 // ::VSAlphaTestVc<8,9> // approximately 12 instruction slots used vs_4_0 @@ -81,17 +95,17 @@ ret const BYTE AlphaTestEffect_VSAlphaTestVc[] = { - 68, 88, 66, 67, 69, 205, - 186, 194, 49, 115, 174, 223, - 225, 69, 58, 248, 175, 79, - 119, 92, 1, 0, 0, 0, - 228, 3, 0, 0, 4, 0, + 68, 88, 66, 67, 84, 82, + 52, 236, 254, 37, 130, 12, + 230, 48, 204, 9, 82, 225, + 210, 117, 1, 0, 0, 0, + 96, 7, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 116, 1, 0, 0, 228, 2, - 0, 0, 88, 3, 0, 0, - 65, 111, 110, 57, 60, 1, - 0, 0, 60, 1, 0, 0, - 0, 2, 254, 255, 252, 0, + 240, 4, 0, 0, 96, 6, + 0, 0, 212, 6, 0, 0, + 65, 111, 110, 57, 184, 4, + 0, 0, 184, 4, 0, 0, + 0, 2, 254, 255, 120, 4, 0, 0, 64, 0, 0, 0, 2, 0, 36, 0, 0, 0, 60, 0, 0, 0, 60, 0, @@ -101,150 +115,299 @@ const BYTE AlphaTestEffect_VSAlphaTestVc[] = 0, 0, 0, 0, 3, 0, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 81, 0, - 0, 5, 7, 0, 15, 160, + 0, 2, 254, 255, 254, 255, + 222, 0, 68, 66, 85, 71, + 40, 0, 0, 0, 76, 3, 0, 0, 0, 0, 0, 0, - 128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 1, 128, - 1, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 2, 128, - 2, 0, 15, 144, 9, 0, - 0, 3, 0, 0, 4, 192, - 0, 0, 228, 144, 5, 0, - 228, 160, 9, 0, 0, 3, - 0, 0, 1, 128, 0, 0, - 228, 144, 2, 0, 228, 160, - 11, 0, 0, 3, 0, 0, - 1, 128, 0, 0, 0, 128, - 7, 0, 0, 160, 10, 0, - 0, 3, 1, 0, 8, 224, - 0, 0, 0, 128, 7, 0, - 85, 160, 5, 0, 0, 3, - 0, 0, 15, 224, 2, 0, - 228, 144, 1, 0, 228, 160, + 2, 0, 0, 0, 192, 0, + 0, 0, 16, 0, 0, 0, + 200, 0, 0, 0, 3, 0, + 0, 0, 16, 3, 0, 0, + 72, 1, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 67, 111, + 109, 109, 111, 110, 46, 102, + 120, 104, 0, 67, 58, 92, + 65, 84, 71, 32, 83, 97, + 109, 112, 108, 101, 32, 68, + 101, 118, 101, 108, 111, 112, + 109, 101, 110, 116, 92, 115, + 116, 95, 100, 101, 118, 92, + 75, 105, 116, 115, 92, 68, + 105, 114, 101, 99, 116, 88, + 84, 75, 92, 83, 114, 99, + 92, 83, 104, 97, 100, 101, + 114, 115, 92, 65, 108, 112, + 104, 97, 84, 101, 115, 116, + 69, 102, 102, 101, 99, 116, + 46, 102, 120, 0, 171, 171, + 40, 0, 0, 0, 111, 0, + 0, 0, 0, 0, 255, 255, + 128, 3, 0, 0, 0, 0, + 255, 255, 152, 3, 0, 0, + 0, 0, 255, 255, 164, 3, + 0, 0, 0, 0, 255, 255, + 176, 3, 0, 0, 43, 0, + 0, 0, 188, 3, 0, 0, + 14, 0, 0, 0, 204, 3, + 0, 0, 14, 0, 0, 0, + 220, 3, 0, 0, 14, 0, + 0, 0, 236, 3, 0, 0, + 67, 0, 1, 0, 252, 3, + 0, 0, 43, 0, 0, 0, + 12, 4, 0, 0, 43, 0, + 0, 0, 28, 4, 0, 0, + 43, 0, 0, 0, 44, 4, + 0, 0, 59, 0, 1, 0, + 60, 4, 0, 0, 59, 0, + 1, 0, 80, 4, 0, 0, + 45, 0, 0, 0, 92, 4, + 0, 0, 66, 0, 1, 0, + 104, 4, 0, 0, 86, 83, + 65, 108, 112, 104, 97, 84, + 101, 115, 116, 86, 99, 0, + 68, 105, 102, 102, 117, 115, + 101, 0, 171, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 83, 112, 101, 99, + 117, 108, 97, 114, 0, 84, + 101, 120, 67, 111, 111, 114, + 100, 0, 171, 171, 1, 0, + 3, 0, 1, 0, 2, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 80, 111, 115, 105, + 116, 105, 111, 110, 80, 83, + 0, 171, 86, 1, 0, 0, + 96, 1, 0, 0, 112, 1, + 0, 0, 96, 1, 0, 0, + 121, 1, 0, 0, 132, 1, + 0, 0, 148, 1, 0, 0, + 96, 1, 0, 0, 5, 0, + 0, 0, 1, 0, 14, 0, + 1, 0, 4, 0, 160, 1, + 0, 0, 4, 0, 0, 0, + 255, 255, 255, 255, 12, 0, + 255, 255, 7, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 7, 0, 8, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 12, 0, 0, 0, + 10, 0, 11, 0, 255, 255, + 255, 255, 13, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 13, 0, 14, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 255, 255, 15, 0, 0, 0, + 8, 0, 9, 0, 255, 255, + 255, 255, 118, 105, 110, 0, + 80, 111, 115, 105, 116, 105, + 111, 110, 0, 67, 111, 108, + 111, 114, 0, 171, 40, 2, + 0, 0, 96, 1, 0, 0, + 121, 1, 0, 0, 132, 1, + 0, 0, 49, 2, 0, 0, + 96, 1, 0, 0, 5, 0, + 0, 0, 1, 0, 10, 0, + 1, 0, 3, 0, 56, 2, + 0, 0, 1, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 2, 0, 0, 0, + 4, 0, 5, 0, 255, 255, + 255, 255, 3, 0, 0, 0, + 6, 0, 7, 0, 8, 0, + 9, 0, 118, 111, 117, 116, + 0, 80, 111, 115, 95, 112, + 115, 0, 1, 0, 3, 0, + 1, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 70, 111, 103, 70, 97, 99, + 116, 111, 114, 0, 171, 171, + 0, 0, 3, 0, 1, 0, + 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 137, 2, + 0, 0, 96, 1, 0, 0, + 86, 1, 0, 0, 96, 1, + 0, 0, 112, 1, 0, 0, + 144, 2, 0, 0, 160, 2, + 0, 0, 172, 2, 0, 0, + 5, 0, 0, 0, 1, 0, + 12, 0, 1, 0, 4, 0, + 188, 2, 0, 0, 9, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 10, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 11, 0, + 0, 0, 255, 255, 255, 255, + 3, 0, 255, 255, 0, 0, + 0, 0, 72, 1, 0, 0, + 192, 1, 0, 0, 7, 0, + 0, 0, 208, 1, 0, 0, + 72, 1, 0, 0, 36, 2, + 0, 0, 80, 2, 0, 0, + 3, 0, 0, 0, 96, 2, + 0, 0, 0, 0, 0, 0, + 132, 2, 0, 0, 220, 2, + 0, 0, 3, 0, 0, 0, + 236, 2, 0, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 81, 0, 0, 5, + 7, 0, 15, 160, 0, 0, + 0, 0, 0, 0, 128, 63, + 0, 0, 0, 0, 0, 0, + 0, 0, 31, 0, 0, 2, + 5, 0, 0, 128, 0, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 1, 128, 1, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 2, 128, 2, 0, + 15, 144, 9, 0, 0, 3, + 0, 0, 4, 192, 0, 0, + 228, 144, 5, 0, 228, 160, 9, 0, 0, 3, 0, 0, 1, 128, 0, 0, 228, 144, - 3, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 2, 128, - 0, 0, 228, 144, 4, 0, + 2, 0, 228, 160, 11, 0, + 0, 3, 0, 0, 1, 128, + 0, 0, 0, 128, 7, 0, + 0, 160, 10, 0, 0, 3, + 1, 0, 8, 224, 0, 0, + 0, 128, 7, 0, 85, 160, + 5, 0, 0, 3, 0, 0, + 15, 224, 2, 0, 228, 144, + 1, 0, 228, 160, 9, 0, + 0, 3, 0, 0, 1, 128, + 0, 0, 228, 144, 3, 0, 228, 160, 9, 0, 0, 3, - 0, 0, 4, 128, 0, 0, - 228, 144, 6, 0, 228, 160, - 4, 0, 0, 4, 0, 0, - 3, 192, 0, 0, 170, 128, - 0, 0, 228, 160, 0, 0, - 228, 128, 1, 0, 0, 2, - 0, 0, 8, 192, 0, 0, - 170, 128, 1, 0, 0, 2, - 1, 0, 7, 224, 7, 0, - 0, 160, 1, 0, 0, 2, - 2, 0, 3, 224, 1, 0, - 228, 144, 255, 255, 0, 0, - 83, 72, 68, 82, 104, 1, - 0, 0, 64, 0, 1, 0, - 90, 0, 0, 0, 89, 0, - 0, 4, 70, 142, 32, 0, - 0, 0, 0, 0, 8, 0, - 0, 0, 95, 0, 0, 3, - 242, 16, 16, 0, 0, 0, - 0, 0, 95, 0, 0, 3, - 50, 16, 16, 0, 1, 0, - 0, 0, 95, 0, 0, 3, - 242, 16, 16, 0, 2, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 0, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 1, 0, - 0, 0, 101, 0, 0, 3, - 50, 32, 16, 0, 2, 0, - 0, 0, 103, 0, 0, 4, - 242, 32, 16, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 56, 0, 0, 8, 242, 32, + 0, 0, 2, 128, 0, 0, + 228, 144, 4, 0, 228, 160, + 9, 0, 0, 3, 0, 0, + 4, 128, 0, 0, 228, 144, + 6, 0, 228, 160, 4, 0, + 0, 4, 0, 0, 3, 192, + 0, 0, 170, 128, 0, 0, + 228, 160, 0, 0, 228, 128, + 1, 0, 0, 2, 0, 0, + 8, 192, 0, 0, 170, 128, + 1, 0, 0, 2, 1, 0, + 7, 224, 7, 0, 0, 160, + 1, 0, 0, 2, 2, 0, + 3, 224, 1, 0, 228, 144, + 255, 255, 0, 0, 83, 72, + 68, 82, 104, 1, 0, 0, + 64, 0, 1, 0, 90, 0, + 0, 0, 89, 0, 0, 4, + 70, 142, 32, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 95, 0, 0, 3, 242, 16, 16, 0, 0, 0, 0, 0, - 70, 30, 16, 0, 2, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 17, 32, 0, 8, - 130, 32, 16, 0, 1, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 70, 142, - 32, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 54, 0, - 0, 8, 114, 32, 16, 0, - 1, 0, 0, 0, 2, 64, + 95, 0, 0, 3, 50, 16, + 16, 0, 1, 0, 0, 0, + 95, 0, 0, 3, 242, 16, + 16, 0, 2, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 0, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 1, 0, 0, 0, + 101, 0, 0, 3, 50, 32, + 16, 0, 2, 0, 0, 0, + 103, 0, 0, 4, 242, 32, + 16, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 56, 0, + 0, 8, 242, 32, 16, 0, + 0, 0, 0, 0, 70, 30, + 16, 0, 2, 0, 0, 0, + 70, 142, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 17, 32, 0, 8, 130, 32, + 16, 0, 1, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 54, 0, 0, 8, + 114, 32, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 54, 0, 0, 5, 50, 32, - 16, 0, 2, 0, 0, 0, - 70, 16, 16, 0, 1, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 50, 32, 16, 0, + 2, 0, 0, 0, 70, 16, + 16, 0, 1, 0, 0, 0, + 17, 0, 0, 8, 18, 32, + 16, 0, 3, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 4, 0, 0, 0, 17, 0, 0, 8, - 18, 32, 16, 0, 3, 0, + 34, 32, 16, 0, 3, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 4, 0, 0, 0, 17, 0, - 0, 8, 34, 32, 16, 0, + 5, 0, 0, 0, 17, 0, + 0, 8, 66, 32, 16, 0, 3, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, - 0, 0, 5, 0, 0, 0, - 17, 0, 0, 8, 66, 32, + 0, 0, 6, 0, 0, 0, + 17, 0, 0, 8, 130, 32, 16, 0, 3, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 6, 0, - 0, 0, 17, 0, 0, 8, - 130, 32, 16, 0, 3, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 70, 142, - 32, 0, 0, 0, 0, 0, - 7, 0, 0, 0, 62, 0, - 0, 1, 73, 83, 71, 78, - 108, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 62, 0, 0, 1, + 73, 83, 71, 78, 108, 0, + 0, 0, 3, 0, 0, 0, + 8, 0, 0, 0, 80, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 15, 0, 0, 92, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 3, 3, 0, 0, 101, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 15, 15, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 67, 79, 76, 79, 82, + 0, 171, 79, 83, 71, 78, + 132, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, - 80, 0, 0, 0, 0, 0, + 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, - 0, 0, 15, 15, 0, 0, - 92, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 104, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, - 0, 0, 3, 3, 0, 0, - 101, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, - 0, 0, 15, 15, 0, 0, - 83, 86, 95, 80, 111, 115, - 105, 116, 105, 111, 110, 0, + 0, 0, 3, 12, 0, 0, + 119, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 3, 0, 0, 0, 3, 0, + 0, 0, 15, 0, 0, 0, + 67, 79, 76, 79, 82, 0, 84, 69, 88, 67, 79, 79, - 82, 68, 0, 67, 79, 76, - 79, 82, 0, 171, 79, 83, - 71, 78, 132, 0, 0, 0, - 4, 0, 0, 0, 8, 0, - 0, 0, 104, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 104, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 15, 0, - 0, 0, 110, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 2, 0, 0, 0, 3, 12, - 0, 0, 119, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 3, 0, 0, 0, - 3, 0, 0, 0, 15, 0, - 0, 0, 67, 79, 76, 79, - 82, 0, 84, 69, 88, 67, - 79, 79, 82, 68, 0, 83, - 86, 95, 80, 111, 115, 105, - 116, 105, 111, 110, 0, 171 + 82, 68, 0, 83, 86, 95, + 80, 111, 115, 105, 116, 105, + 111, 110, 0, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/AlphaTestEffect_VSAlphaTestVcNoFog.inc b/Kits/DirectXTK/Src/Shaders/Compiled/AlphaTestEffect_VSAlphaTestVcNoFog.inc index d80383f4..ac487f1c 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/AlphaTestEffect_VSAlphaTestVcNoFog.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/AlphaTestEffect_VSAlphaTestVcNoFog.inc @@ -39,17 +39,27 @@ // Level9 shader bytecode: // vs_2_0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 - dp4 oPos.z, v0, c4 - mul oT0, v2, c1 - dp4 r0.x, v0, c2 - dp4 r0.y, v0, c3 - dp4 r0.z, v0, c5 - mad oPos.xy, r0.z, c0, r0 - mov oPos.w, r0.z - mov oT1.xy, v1 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5> + dcl_texcoord2 v2 // vin<6,7,8,9> + +#line 43 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + dp4 oPos.z, v0, c4 // ::VSAlphaTestVcNoFog<8> + +#line 82 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\AlphaTestEffect.fx" + mul oT0, v2, c1 // ::VSAlphaTestVcNoFog<0,1,2,3> + +#line 43 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + dp4 r0.x, v0, c2 // ::vout<0> + dp4 r0.y, v0, c3 // ::vout<1> + dp4 r0.z, v0, c5 // ::vout<3> + +#line 74 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\AlphaTestEffect.fx" + mad oPos.xy, r0.z, c0, r0 // ::VSAlphaTestVcNoFog<6,7> + mov oPos.w, r0.z // ::VSAlphaTestVcNoFog<9> + +#line 81 + mov oT1.xy, v1 // ::VSAlphaTestVcNoFog<4,5> // approximately 8 instruction slots used vs_4_0 @@ -72,17 +82,17 @@ ret const BYTE AlphaTestEffect_VSAlphaTestVcNoFog[] = { - 68, 88, 66, 67, 74, 78, - 144, 38, 108, 118, 154, 251, - 203, 88, 218, 105, 165, 123, - 55, 217, 1, 0, 0, 0, - 44, 3, 0, 0, 4, 0, + 68, 88, 66, 67, 74, 170, + 254, 68, 17, 213, 142, 220, + 24, 197, 43, 129, 118, 164, + 64, 53, 1, 0, 0, 0, + 104, 6, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 32, 1, 0, 0, 68, 2, - 0, 0, 184, 2, 0, 0, - 65, 111, 110, 57, 232, 0, - 0, 0, 232, 0, 0, 0, - 0, 2, 254, 255, 168, 0, + 92, 4, 0, 0, 128, 5, + 0, 0, 244, 5, 0, 0, + 65, 111, 110, 57, 36, 4, + 0, 0, 36, 4, 0, 0, + 0, 2, 254, 255, 228, 3, 0, 0, 64, 0, 0, 0, 2, 0, 36, 0, 0, 0, 60, 0, 0, 0, 60, 0, @@ -92,7 +102,145 @@ const BYTE AlphaTestEffect_VSAlphaTestVcNoFog[] = 0, 0, 0, 0, 4, 0, 4, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 31, 0, + 0, 2, 254, 255, 254, 255, + 206, 0, 68, 66, 85, 71, + 40, 0, 0, 0, 12, 3, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 192, 0, + 0, 0, 11, 0, 0, 0, + 200, 0, 0, 0, 3, 0, + 0, 0, 208, 2, 0, 0, + 32, 1, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 67, 111, + 109, 109, 111, 110, 46, 102, + 120, 104, 0, 67, 58, 92, + 65, 84, 71, 32, 83, 97, + 109, 112, 108, 101, 32, 68, + 101, 118, 101, 108, 111, 112, + 109, 101, 110, 116, 92, 115, + 116, 95, 100, 101, 118, 92, + 75, 105, 116, 115, 92, 68, + 105, 114, 101, 99, 116, 88, + 84, 75, 92, 83, 114, 99, + 92, 83, 104, 97, 100, 101, + 114, 115, 92, 65, 108, 112, + 104, 97, 84, 101, 115, 116, + 69, 102, 102, 101, 99, 116, + 46, 102, 120, 0, 171, 171, + 40, 0, 0, 0, 111, 0, + 0, 0, 0, 0, 255, 255, + 64, 3, 0, 0, 0, 0, + 255, 255, 76, 3, 0, 0, + 0, 0, 255, 255, 88, 3, + 0, 0, 43, 0, 0, 0, + 100, 3, 0, 0, 82, 0, + 1, 0, 116, 3, 0, 0, + 43, 0, 0, 0, 132, 3, + 0, 0, 43, 0, 0, 0, + 148, 3, 0, 0, 43, 0, + 0, 0, 164, 3, 0, 0, + 74, 0, 1, 0, 180, 3, + 0, 0, 74, 0, 1, 0, + 200, 3, 0, 0, 81, 0, + 1, 0, 212, 3, 0, 0, + 86, 83, 65, 108, 112, 104, + 97, 84, 101, 115, 116, 86, + 99, 78, 111, 70, 111, 103, + 0, 68, 105, 102, 102, 117, + 115, 101, 0, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 84, 101, 120, 67, + 111, 111, 114, 100, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 2, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 80, 111, 115, 105, 116, 105, + 111, 110, 80, 83, 0, 171, + 51, 1, 0, 0, 60, 1, + 0, 0, 76, 1, 0, 0, + 88, 1, 0, 0, 104, 1, + 0, 0, 60, 1, 0, 0, + 5, 0, 0, 0, 1, 0, + 10, 0, 1, 0, 3, 0, + 116, 1, 0, 0, 3, 0, + 0, 0, 255, 255, 255, 255, + 8, 0, 255, 255, 4, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 3, 0, 8, 0, + 0, 0, 6, 0, 7, 0, + 255, 255, 255, 255, 9, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 9, 0, 10, 0, + 0, 0, 4, 0, 5, 0, + 255, 255, 255, 255, 118, 105, + 110, 0, 80, 111, 115, 105, + 116, 105, 111, 110, 0, 67, + 111, 108, 111, 114, 0, 171, + 220, 1, 0, 0, 60, 1, + 0, 0, 76, 1, 0, 0, + 88, 1, 0, 0, 229, 1, + 0, 0, 60, 1, 0, 0, + 5, 0, 0, 0, 1, 0, + 10, 0, 1, 0, 3, 0, + 236, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 3, 0, 1, 0, + 0, 0, 4, 0, 5, 0, + 255, 255, 255, 255, 2, 0, + 0, 0, 6, 0, 7, 0, + 8, 0, 9, 0, 118, 111, + 117, 116, 0, 80, 111, 115, + 95, 112, 115, 0, 83, 112, + 101, 99, 117, 108, 97, 114, + 0, 171, 171, 171, 1, 0, + 3, 0, 1, 0, 3, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 70, 111, 103, 70, + 97, 99, 116, 111, 114, 0, + 171, 171, 0, 0, 3, 0, + 1, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 61, 2, 0, 0, 60, 1, + 0, 0, 51, 1, 0, 0, + 60, 1, 0, 0, 68, 2, + 0, 0, 80, 2, 0, 0, + 96, 2, 0, 0, 108, 2, + 0, 0, 5, 0, 0, 0, + 1, 0, 12, 0, 1, 0, + 4, 0, 124, 2, 0, 0, + 5, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 6, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 7, 0, 0, 0, 255, 255, + 255, 255, 3, 0, 255, 255, + 0, 0, 0, 0, 32, 1, + 0, 0, 140, 1, 0, 0, + 5, 0, 0, 0, 156, 1, + 0, 0, 32, 1, 0, 0, + 216, 1, 0, 0, 4, 2, + 0, 0, 3, 0, 0, 0, + 20, 2, 0, 0, 0, 0, + 0, 0, 56, 2, 0, 0, + 156, 2, 0, 0, 3, 0, + 0, 0, 172, 2, 0, 0, + 77, 105, 99, 114, 111, 115, + 111, 102, 116, 32, 40, 82, + 41, 32, 72, 76, 83, 76, + 32, 83, 104, 97, 100, 101, + 114, 32, 67, 111, 109, 112, + 105, 108, 101, 114, 32, 49, + 48, 46, 49, 0, 31, 0, 0, 2, 5, 0, 0, 128, 0, 0, 15, 144, 31, 0, 0, 2, 5, 0, 1, 128, diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasic.inc b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasic.inc index 4781a8c5..9fbb00ea 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasic.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasic.inc @@ -28,13 +28,15 @@ // Level9 shader bytecode: // ps_2_0 - dcl t0 - dcl t1 + dcl t0 // pin<0,1,2,3> + dcl t1 // pin<4,5,6,7> + +#line 20 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" mad r0.xyz, c0, t0.w, -t0 - mov r1.xyz, t0 - mad r0.xyz, t1.w, r0, r1 + mov r1.xyz, t0 // pin<0,1,2> + mad r0.xyz, t1.w, r0, r1 // ApplyFog::color<0,1,2> mov r0.w, t0.w - mov oC0, r0 + mov oC0, r0 // ::PSBasic<0,1,2,3> // approximately 5 instruction slots used ps_4_0 @@ -52,17 +54,17 @@ ret const BYTE BasicEffect_PSBasic[] = { - 68, 88, 66, 67, 132, 106, - 64, 52, 44, 8, 201, 31, - 156, 78, 243, 147, 144, 166, - 2, 49, 1, 0, 0, 0, - 4, 2, 0, 0, 4, 0, + 68, 88, 66, 67, 114, 189, + 168, 120, 224, 136, 133, 44, + 131, 14, 127, 119, 149, 15, + 203, 133, 1, 0, 0, 0, + 200, 3, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 212, 0, 0, 0, 136, 1, - 0, 0, 208, 1, 0, 0, - 65, 111, 110, 57, 156, 0, - 0, 0, 156, 0, 0, 0, - 0, 2, 255, 255, 108, 0, + 152, 2, 0, 0, 76, 3, + 0, 0, 148, 3, 0, 0, + 65, 111, 110, 57, 96, 2, + 0, 0, 96, 2, 0, 0, + 0, 2, 255, 255, 48, 2, 0, 0, 48, 0, 0, 0, 1, 0, 36, 0, 0, 0, 48, 0, 0, 0, 48, 0, @@ -70,72 +72,148 @@ const BYTE BasicEffect_PSBasic[] = 48, 0, 0, 0, 13, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2, 255, 255, - 31, 0, 0, 2, 0, 0, - 0, 128, 0, 0, 15, 176, - 31, 0, 0, 2, 0, 0, - 0, 128, 1, 0, 15, 176, - 4, 0, 0, 4, 0, 0, - 7, 128, 0, 0, 228, 160, - 0, 0, 255, 176, 0, 0, - 228, 177, 1, 0, 0, 2, - 1, 0, 7, 128, 0, 0, - 228, 176, 4, 0, 0, 4, - 0, 0, 7, 128, 1, 0, - 255, 176, 0, 0, 228, 128, - 1, 0, 228, 128, 1, 0, - 0, 2, 0, 0, 8, 128, - 0, 0, 255, 176, 1, 0, - 0, 2, 0, 8, 15, 128, - 0, 0, 228, 128, 255, 255, - 0, 0, 83, 72, 68, 82, - 172, 0, 0, 0, 64, 0, - 0, 0, 43, 0, 0, 0, - 89, 0, 0, 4, 70, 142, - 32, 0, 0, 0, 0, 0, - 14, 0, 0, 0, 98, 16, - 0, 3, 242, 16, 16, 0, - 0, 0, 0, 0, 98, 16, - 0, 3, 130, 16, 16, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 0, 0, 0, 0, 104, 0, - 0, 2, 1, 0, 0, 0, - 50, 0, 0, 11, 114, 0, + 254, 255, 112, 0, 68, 66, + 85, 71, 40, 0, 0, 0, + 148, 1, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 112, 0, 0, 0, 7, 0, + 0, 0, 116, 0, 0, 0, + 3, 0, 0, 0, 88, 1, + 0, 0, 172, 0, 0, 0, + 67, 58, 92, 65, 84, 71, + 32, 83, 97, 109, 112, 108, + 101, 32, 68, 101, 118, 101, + 108, 111, 112, 109, 101, 110, + 116, 92, 115, 116, 95, 100, + 101, 118, 92, 75, 105, 116, + 115, 92, 68, 105, 114, 101, + 99, 116, 88, 84, 75, 92, + 83, 114, 99, 92, 83, 104, + 97, 100, 101, 114, 115, 92, + 67, 111, 109, 109, 111, 110, + 46, 102, 120, 104, 0, 171, + 40, 0, 0, 0, 0, 0, + 255, 255, 200, 1, 0, 0, + 0, 0, 255, 255, 212, 1, + 0, 0, 20, 0, 0, 0, + 224, 1, 0, 0, 20, 0, + 0, 0, 244, 1, 0, 0, + 20, 0, 0, 0, 0, 2, + 0, 0, 20, 0, 0, 0, + 20, 2, 0, 0, 20, 0, + 0, 0, 32, 2, 0, 0, + 80, 83, 66, 97, 115, 105, + 99, 0, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 65, 112, 112, 108, 121, 70, + 111, 103, 0, 99, 111, 108, + 111, 114, 0, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 112, 105, 110, 0, + 68, 105, 102, 102, 117, 115, + 101, 0, 83, 112, 101, 99, + 117, 108, 97, 114, 0, 171, + 171, 171, 0, 1, 0, 0, + 224, 0, 0, 0, 8, 1, + 0, 0, 224, 0, 0, 0, + 5, 0, 0, 0, 1, 0, + 8, 0, 1, 0, 2, 0, + 20, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 3, 0, 1, 0, + 0, 0, 4, 0, 5, 0, + 6, 0, 7, 0, 3, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 0, 0, + 0, 0, 172, 0, 0, 0, + 180, 0, 0, 0, 1, 0, + 0, 0, 196, 0, 0, 0, + 208, 0, 0, 0, 217, 0, + 0, 0, 224, 0, 0, 0, + 1, 0, 0, 0, 240, 0, + 0, 0, 172, 0, 0, 0, + 252, 0, 0, 0, 36, 1, + 0, 0, 3, 0, 0, 0, + 52, 1, 0, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 31, 0, 0, 2, + 0, 0, 0, 128, 0, 0, + 15, 176, 31, 0, 0, 2, + 0, 0, 0, 128, 1, 0, + 15, 176, 4, 0, 0, 4, + 0, 0, 7, 128, 0, 0, + 228, 160, 0, 0, 255, 176, + 0, 0, 228, 177, 1, 0, + 0, 2, 1, 0, 7, 128, + 0, 0, 228, 176, 4, 0, + 0, 4, 0, 0, 7, 128, + 1, 0, 255, 176, 0, 0, + 228, 128, 1, 0, 228, 128, + 1, 0, 0, 2, 0, 0, + 8, 128, 0, 0, 255, 176, + 1, 0, 0, 2, 0, 8, + 15, 128, 0, 0, 228, 128, + 255, 255, 0, 0, 83, 72, + 68, 82, 172, 0, 0, 0, + 64, 0, 0, 0, 43, 0, + 0, 0, 89, 0, 0, 4, + 70, 142, 32, 0, 0, 0, + 0, 0, 14, 0, 0, 0, + 98, 16, 0, 3, 242, 16, 16, 0, 0, 0, 0, 0, - 70, 130, 32, 0, 0, 0, - 0, 0, 13, 0, 0, 0, - 246, 31, 16, 0, 0, 0, - 0, 0, 70, 18, 16, 128, - 65, 0, 0, 0, 0, 0, - 0, 0, 50, 0, 0, 9, - 114, 32, 16, 0, 0, 0, + 98, 16, 0, 3, 130, 16, + 16, 0, 1, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 0, 0, 0, 0, + 104, 0, 0, 2, 1, 0, + 0, 0, 50, 0, 0, 11, + 114, 0, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 13, 0, 0, 0, 246, 31, 16, 0, - 1, 0, 0, 0, 70, 2, + 0, 0, 0, 0, 70, 18, + 16, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 50, 0, + 0, 9, 114, 32, 16, 0, + 0, 0, 0, 0, 246, 31, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 70, 18, 16, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 130, 32, 16, 0, + 0, 0, 0, 0, 58, 16, 16, 0, 0, 0, 0, 0, - 70, 18, 16, 0, 0, 0, - 0, 0, 54, 0, 0, 5, - 130, 32, 16, 0, 0, 0, - 0, 0, 58, 16, 16, 0, - 0, 0, 0, 0, 62, 0, - 0, 1, 73, 83, 71, 78, - 64, 0, 0, 0, 2, 0, - 0, 0, 8, 0, 0, 0, - 56, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 15, 0, 0, - 56, 0, 0, 0, 1, 0, + 62, 0, 0, 1, 73, 83, + 71, 78, 64, 0, 0, 0, + 2, 0, 0, 0, 8, 0, + 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 15, 8, 0, 0, - 67, 79, 76, 79, 82, 0, - 171, 171, 79, 83, 71, 78, - 44, 0, 0, 0, 1, 0, - 0, 0, 8, 0, 0, 0, - 32, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 15, + 0, 0, 56, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 15, 8, + 0, 0, 67, 79, 76, 79, + 82, 0, 171, 171, 79, 83, + 71, 78, 44, 0, 0, 0, + 1, 0, 0, 0, 8, 0, + 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 83, 86, 95, 84, 97, 114, - 103, 101, 116, 0, 171, 171 + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 83, 86, 95, 84, + 97, 114, 103, 101, 116, 0, + 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicNoFog.inc b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicNoFog.inc index fa3eb521..04d4c419 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicNoFog.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicNoFog.inc @@ -20,8 +20,10 @@ // Level9 shader bytecode: // ps_2_0 - dcl t0 - mov oC0, t0 + dcl t0 // pin<0,1,2,3> + +#line 337 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mov oC0, t0 // ::PSBasicNoFog<0,1,2,3> // approximately 1 instruction slot used ps_4_0 @@ -34,52 +36,108 @@ ret const BYTE BasicEffect_PSBasicNoFog[] = { - 68, 88, 66, 67, 218, 245, - 81, 3, 21, 86, 134, 132, - 242, 64, 147, 169, 186, 94, - 60, 67, 1, 0, 0, 0, - 32, 1, 0, 0, 4, 0, + 68, 88, 66, 67, 39, 255, + 148, 232, 240, 134, 106, 55, + 30, 193, 83, 236, 196, 128, + 65, 237, 1, 0, 0, 0, + 108, 2, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 124, 0, 0, 0, 188, 0, - 0, 0, 236, 0, 0, 0, - 65, 111, 110, 57, 68, 0, - 0, 0, 68, 0, 0, 0, - 0, 2, 255, 255, 32, 0, + 200, 1, 0, 0, 8, 2, + 0, 0, 56, 2, 0, 0, + 65, 111, 110, 57, 144, 1, + 0, 0, 144, 1, 0, 0, + 0, 2, 255, 255, 108, 1, 0, 0, 36, 0, 0, 0, 0, 0, 36, 0, 0, 0, 36, 0, 0, 0, 36, 0, 0, 0, 36, 0, 0, 0, 36, 0, 0, 2, 255, 255, - 31, 0, 0, 2, 0, 0, - 0, 128, 0, 0, 15, 176, - 1, 0, 0, 2, 0, 8, - 15, 128, 0, 0, 228, 176, - 255, 255, 0, 0, 83, 72, - 68, 82, 56, 0, 0, 0, - 64, 0, 0, 0, 14, 0, - 0, 0, 98, 16, 0, 3, - 242, 16, 16, 0, 0, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 0, 0, - 0, 0, 54, 0, 0, 5, - 242, 32, 16, 0, 0, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 62, 0, - 0, 1, 73, 83, 71, 78, - 40, 0, 0, 0, 1, 0, - 0, 0, 8, 0, 0, 0, - 32, 0, 0, 0, 0, 0, + 254, 255, 82, 0, 68, 66, + 85, 71, 40, 0, 0, 0, + 28, 1, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 116, 0, 0, 0, 2, 0, + 0, 0, 120, 0, 0, 0, + 2, 0, 0, 0, 244, 0, + 0, 0, 136, 0, 0, 0, + 67, 58, 92, 65, 84, 71, + 32, 83, 97, 109, 112, 108, + 101, 32, 68, 101, 118, 101, + 108, 111, 112, 109, 101, 110, + 116, 92, 115, 116, 95, 100, + 101, 118, 92, 75, 105, 116, + 115, 92, 68, 105, 114, 101, + 99, 116, 88, 84, 75, 92, + 83, 114, 99, 92, 83, 104, + 97, 100, 101, 114, 115, 92, + 66, 97, 115, 105, 99, 69, + 102, 102, 101, 99, 116, 46, + 102, 120, 0, 171, 40, 0, + 0, 0, 0, 0, 255, 255, + 80, 1, 0, 0, 81, 1, + 0, 0, 92, 1, 0, 0, + 80, 83, 66, 97, 115, 105, + 99, 78, 111, 70, 111, 103, + 0, 171, 171, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 112, 105, 110, 0, + 68, 105, 102, 102, 117, 115, + 101, 0, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 184, 0, 0, 0, 192, 0, + 0, 0, 5, 0, 0, 0, + 1, 0, 4, 0, 1, 0, + 1, 0, 208, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 0, 0, 0, 0, 136, 0, + 0, 0, 152, 0, 0, 0, + 1, 0, 0, 0, 168, 0, + 0, 0, 136, 0, 0, 0, + 180, 0, 0, 0, 216, 0, + 0, 0, 1, 0, 0, 0, + 232, 0, 0, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 31, 0, 0, 2, + 0, 0, 0, 128, 0, 0, + 15, 176, 1, 0, 0, 2, + 0, 8, 15, 128, 0, 0, + 228, 176, 255, 255, 0, 0, + 83, 72, 68, 82, 56, 0, + 0, 0, 64, 0, 0, 0, + 14, 0, 0, 0, 98, 16, + 0, 3, 242, 16, 16, 0, + 0, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 242, 32, 16, 0, + 0, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, + 62, 0, 0, 1, 73, 83, + 71, 78, 40, 0, 0, 0, + 1, 0, 0, 0, 8, 0, + 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 15, 0, 0, - 67, 79, 76, 79, 82, 0, - 171, 171, 79, 83, 71, 78, - 44, 0, 0, 0, 1, 0, - 0, 0, 8, 0, 0, 0, - 32, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 15, + 0, 0, 67, 79, 76, 79, + 82, 0, 171, 171, 79, 83, + 71, 78, 44, 0, 0, 0, + 1, 0, 0, 0, 8, 0, + 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 83, 86, 95, 84, 97, 114, - 103, 101, 116, 0, 171, 171 + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 83, 86, 95, 84, + 97, 114, 103, 101, 116, 0, + 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicPixelLighting.inc b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicPixelLighting.inc index 1cbd36ce..aaae3cbd 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicPixelLighting.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicPixelLighting.inc @@ -30,51 +30,87 @@ // ps_2_0 def c14, 1, 0, 0, 0 - dcl t0 - dcl t1.xyz - dcl t2 - nrm r0.xyz, t1 - dp3 r1.x, -c3, r0 - dp3 r1.y, -c4, r0 - dp3 r1.z, -c5, r0 - cmp r2.xyz, r1, c14.x, c14.y - mul r1.xyz, r1, r2 + dcl t0 // pin<0,1,2,3> + dcl t1.xyz // pin<4,5,6> + dcl t2 // pin<7,8,9,10> + +#line 411 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + nrm r0.xyz, t1 // ::worldNormal<0,1,2> + +#line 36 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp3 r1.x, -c3, r0 // ::dotL<0> + dp3 r1.y, -c4, r0 // ::dotL<1> + dp3 r1.z, -c5, r0 // ::dotL<2> + +#line 39 + cmp r2.xyz, r1, c14.x, c14.y // ::zeroL<0,1,2> + mul r1.xyz, r1, r2 // ::diffuse<0,1,2> + +#line 410 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" add r3.xyz, -t0, c12 dp3 r0.w, r3, r3 rsq r0.w, r0.w + +#line 33 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" mad r4.xyz, r3, r0.w, -c3 - nrm r5.xyz, r4 - dp3 r4.x, r5, r0 + nrm r5.xyz, r4 // ::halfVectors<0,1,2> + +#line 37 + dp3 r4.x, r5, r0 // ::dotH<0> + +#line 33 mad r5.xyz, r3, r0.w, -c4 mad r3.xyz, r3, r0.w, -c5 - nrm r6.xyz, r3 - dp3 r4.z, r6, r0 - nrm r3.xyz, r5 - dp3 r4.y, r3, r0 + nrm r6.xyz, r3 // ::halfVectors<6,7,8> + +#line 37 + dp3 r4.z, r6, r0 // ::dotH<2> + +#line 33 + nrm r3.xyz, r5 // ::halfVectors<3,4,5> + +#line 37 + dp3 r4.y, r3, r0 // ::dotH<1> + +#line 42 mul r0.xyz, r2, r4 cmp r0.xyz, r4, r0, c14.y log r2.x, r0.x log r2.y, r0.y log r2.z, r0.z mul r0.xyz, r2, c2.w - exp r1.w, r0.y + exp r1.w, r0.y // ::specular<1> + +#line 47 mul r2.xyz, r1.w, c10 - exp r1.w, r0.x - exp r2.w, r0.z + +#line 42 + exp r1.w, r0.x // ::specular<0> + exp r2.w, r0.z // ::specular<2> + +#line 47 mad r0.xyz, r1.w, c9, r2 mad r0.xyz, r2.w, c11, r0 - mul r0.xyz, r0, c2 + mul r0.xyz, r0, c2 // ::result<3,4,5> + +#line 26 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" mul r0.xyz, r0, t2.w + +#line 46 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" mul r2.xyz, r1.y, c7 mad r2.xyz, r1.x, c6, r2 mad r1.xyz, r1.z, c8, r2 - mov r2.xyz, c0 - mad r1.xyz, r1, r2, c1 - mad r0.xyz, t2, r1, r0 + mov r2.xyz, c0 // Parameters::DiffuseColor<0,1,2> + mad r1.xyz, r1, r2, c1 // ::result<0,1,2> + +#line 26 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + mad r0.xyz, t2, r1, r0 // AddSpecular::color<0,1,2> + +#line 20 mad r1.xyz, c13, t2.w, -r0 - mad r0.xyz, t0.w, r1, r0 + mad r0.xyz, t0.w, r1, r0 // ApplyFog::color<0,1,2> mov r0.w, t2.w - mov oC0, r0 + mov oC0, r0 // ::PSBasicPixelLighting<0,1,2,3> // approximately 50 instruction slots used ps_4_0 @@ -135,17 +171,17 @@ ret const BYTE BasicEffect_PSBasicPixelLighting[] = { - 68, 88, 66, 67, 202, 236, - 241, 26, 240, 245, 195, 184, - 101, 180, 221, 101, 7, 84, - 110, 89, 1, 0, 0, 0, - 208, 9, 0, 0, 4, 0, + 68, 88, 66, 67, 227, 187, + 214, 151, 65, 25, 169, 106, + 56, 182, 107, 171, 138, 197, + 93, 49, 1, 0, 0, 0, + 252, 15, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 72, 3, 0, 0, 52, 9, - 0, 0, 156, 9, 0, 0, - 65, 111, 110, 57, 16, 3, - 0, 0, 16, 3, 0, 0, - 0, 2, 255, 255, 224, 2, + 116, 9, 0, 0, 96, 15, + 0, 0, 200, 15, 0, 0, + 65, 111, 110, 57, 60, 9, + 0, 0, 60, 9, 0, 0, + 0, 2, 255, 255, 12, 9, 0, 0, 48, 0, 0, 0, 1, 0, 36, 0, 0, 0, 48, 0, 0, 0, 48, 0, @@ -153,405 +189,668 @@ const BYTE BasicEffect_PSBasicPixelLighting[] = 48, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 2, 255, 255, - 81, 0, 0, 5, 14, 0, - 15, 160, 0, 0, 128, 63, + 254, 255, 138, 1, 68, 66, + 85, 71, 40, 0, 0, 0, + 252, 5, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 4, 1, 0, 0, 46, 0, + 0, 0, 16, 1, 0, 0, + 13, 0, 0, 0, 248, 4, + 0, 0, 180, 2, 0, 0, + 67, 58, 92, 65, 84, 71, + 32, 83, 97, 109, 112, 108, + 101, 32, 68, 101, 118, 101, + 108, 111, 112, 109, 101, 110, + 116, 92, 115, 116, 95, 100, + 101, 118, 92, 75, 105, 116, + 115, 92, 68, 105, 114, 101, + 99, 116, 88, 84, 75, 92, + 83, 114, 99, 92, 83, 104, + 97, 100, 101, 114, 115, 92, + 66, 97, 115, 105, 99, 69, + 102, 102, 101, 99, 116, 46, + 102, 120, 0, 67, 58, 92, + 65, 84, 71, 32, 83, 97, + 109, 112, 108, 101, 32, 68, + 101, 118, 101, 108, 111, 112, + 109, 101, 110, 116, 92, 115, + 116, 95, 100, 101, 118, 92, + 75, 105, 116, 115, 92, 68, + 105, 114, 101, 99, 116, 88, + 84, 75, 92, 83, 114, 99, + 92, 83, 104, 97, 100, 101, + 114, 115, 92, 76, 105, 103, + 104, 116, 105, 110, 103, 46, + 102, 120, 104, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 67, 111, + 109, 109, 111, 110, 46, 102, + 120, 104, 0, 171, 40, 0, + 0, 0, 115, 0, 0, 0, + 188, 0, 0, 0, 0, 0, + 255, 255, 48, 6, 0, 0, + 0, 0, 255, 255, 72, 6, + 0, 0, 0, 0, 255, 255, + 84, 6, 0, 0, 0, 0, + 255, 255, 96, 6, 0, 0, + 155, 1, 0, 0, 108, 6, + 0, 0, 36, 0, 1, 0, + 120, 6, 0, 0, 36, 0, + 1, 0, 136, 6, 0, 0, + 36, 0, 1, 0, 152, 6, + 0, 0, 39, 0, 1, 0, + 168, 6, 0, 0, 41, 0, + 1, 0, 188, 6, 0, 0, + 154, 1, 0, 0, 204, 6, + 0, 0, 154, 1, 0, 0, + 220, 6, 0, 0, 154, 1, + 0, 0, 236, 6, 0, 0, + 33, 0, 1, 0, 248, 6, + 0, 0, 33, 0, 1, 0, + 12, 7, 0, 0, 37, 0, + 1, 0, 24, 7, 0, 0, + 33, 0, 1, 0, 40, 7, + 0, 0, 33, 0, 1, 0, + 60, 7, 0, 0, 33, 0, + 1, 0, 80, 7, 0, 0, + 37, 0, 1, 0, 92, 7, + 0, 0, 33, 0, 1, 0, + 108, 7, 0, 0, 37, 0, + 1, 0, 120, 7, 0, 0, + 42, 0, 1, 0, 136, 7, + 0, 0, 42, 0, 1, 0, + 152, 7, 0, 0, 42, 0, + 1, 0, 172, 7, 0, 0, + 42, 0, 1, 0, 184, 7, + 0, 0, 42, 0, 1, 0, + 196, 7, 0, 0, 42, 0, + 1, 0, 208, 7, 0, 0, + 42, 0, 1, 0, 224, 7, + 0, 0, 47, 0, 1, 0, + 236, 7, 0, 0, 42, 0, + 1, 0, 252, 7, 0, 0, + 42, 0, 1, 0, 8, 8, + 0, 0, 47, 0, 1, 0, + 20, 8, 0, 0, 47, 0, + 1, 0, 40, 8, 0, 0, + 47, 0, 1, 0, 60, 8, + 0, 0, 26, 0, 2, 0, + 76, 8, 0, 0, 46, 0, + 1, 0, 92, 8, 0, 0, + 46, 0, 1, 0, 108, 8, + 0, 0, 46, 0, 1, 0, + 128, 8, 0, 0, 46, 0, + 1, 0, 148, 8, 0, 0, + 46, 0, 1, 0, 160, 8, + 0, 0, 26, 0, 2, 0, + 180, 8, 0, 0, 20, 0, + 2, 0, 200, 8, 0, 0, + 20, 0, 2, 0, 220, 8, + 0, 0, 20, 0, 2, 0, + 240, 8, 0, 0, 20, 0, + 2, 0, 252, 8, 0, 0, + 80, 97, 114, 97, 109, 101, + 116, 101, 114, 115, 0, 68, + 105, 102, 102, 117, 115, 101, + 67, 111, 108, 111, 114, 0, + 1, 0, 3, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 39, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 80, 83, + 66, 97, 115, 105, 99, 80, + 105, 120, 101, 108, 76, 105, + 103, 104, 116, 105, 110, 103, + 0, 171, 171, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 45, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 65, 112, 112, 108, + 121, 70, 111, 103, 0, 99, + 111, 108, 111, 114, 0, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 43, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 65, 100, + 100, 83, 112, 101, 99, 117, + 108, 97, 114, 0, 41, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 100, 105, + 102, 102, 117, 115, 101, 0, + 1, 0, 3, 0, 1, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 9, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 100, 111, + 116, 72, 0, 171, 171, 171, + 15, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 19, 0, 0, 0, 255, 255, + 255, 255, 2, 0, 255, 255, + 21, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 100, 111, 116, 76, 0, 171, + 171, 171, 5, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 6, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 7, 0, 0, 0, + 255, 255, 255, 255, 2, 0, + 255, 255, 104, 97, 108, 102, + 86, 101, 99, 116, 111, 114, + 115, 0, 3, 0, 3, 0, + 3, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 14, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 18, 0, 0, 0, 6, 0, + 7, 0, 8, 0, 255, 255, + 20, 0, 0, 0, 3, 0, + 4, 0, 5, 0, 255, 255, + 112, 105, 110, 0, 80, 111, + 115, 105, 116, 105, 111, 110, + 87, 83, 0, 78, 111, 114, + 109, 97, 108, 87, 83, 0, + 68, 105, 102, 102, 117, 115, + 101, 0, 236, 3, 0, 0, + 248, 2, 0, 0, 247, 3, + 0, 0, 52, 3, 0, 0, + 0, 4, 0, 0, 248, 2, + 0, 0, 5, 0, 0, 0, + 1, 0, 11, 0, 1, 0, + 3, 0, 8, 4, 0, 0, + 1, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 2, 0, 0, 0, 4, 0, + 5, 0, 6, 0, 255, 255, + 3, 0, 0, 0, 7, 0, + 8, 0, 9, 0, 10, 0, + 114, 101, 115, 117, 108, 116, + 0, 83, 112, 101, 99, 117, + 108, 97, 114, 0, 0, 4, + 0, 0, 52, 3, 0, 0, + 91, 4, 0, 0, 52, 3, + 0, 0, 5, 0, 0, 0, + 1, 0, 6, 0, 1, 0, + 2, 0, 100, 4, 0, 0, + 34, 0, 0, 0, 3, 0, + 4, 0, 5, 0, 255, 255, + 40, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 115, 112, 101, 99, 117, 108, + 97, 114, 0, 171, 171, 171, + 28, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 1, 0, + 30, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 0, 0, + 31, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 2, 0, + 119, 111, 114, 108, 100, 78, + 111, 114, 109, 97, 108, 0, + 4, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 122, 101, 114, 111, 76, 0, + 171, 171, 8, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 128, 2, 0, 0, + 139, 2, 0, 0, 152, 2, + 0, 0, 1, 0, 0, 0, + 168, 2, 0, 0, 0, 0, + 0, 0, 180, 2, 0, 0, + 204, 2, 0, 0, 1, 0, + 0, 0, 220, 2, 0, 0, + 232, 2, 0, 0, 241, 2, + 0, 0, 248, 2, 0, 0, + 1, 0, 0, 0, 8, 3, + 0, 0, 20, 3, 0, 0, + 241, 2, 0, 0, 248, 2, + 0, 0, 1, 0, 0, 0, + 32, 3, 0, 0, 0, 0, + 0, 0, 44, 3, 0, 0, + 52, 3, 0, 0, 1, 0, + 0, 0, 68, 3, 0, 0, + 0, 0, 0, 0, 80, 3, + 0, 0, 52, 3, 0, 0, + 3, 0, 0, 0, 88, 3, 0, 0, 0, 0, 0, 0, - 31, 0, 0, 2, 0, 0, - 0, 128, 0, 0, 15, 176, - 31, 0, 0, 2, 0, 0, - 0, 128, 1, 0, 7, 176, - 31, 0, 0, 2, 0, 0, - 0, 128, 2, 0, 15, 176, - 36, 0, 0, 2, 0, 0, - 7, 128, 1, 0, 228, 176, + 124, 3, 0, 0, 52, 3, + 0, 0, 3, 0, 0, 0, + 132, 3, 0, 0, 0, 0, + 0, 0, 168, 3, 0, 0, + 180, 3, 0, 0, 3, 0, + 0, 0, 196, 3, 0, 0, + 180, 2, 0, 0, 232, 3, + 0, 0, 32, 4, 0, 0, + 3, 0, 0, 0, 48, 4, + 0, 0, 0, 0, 0, 0, + 84, 4, 0, 0, 116, 4, + 0, 0, 2, 0, 0, 0, + 132, 4, 0, 0, 0, 0, + 0, 0, 156, 4, 0, 0, + 52, 3, 0, 0, 3, 0, + 0, 0, 168, 4, 0, 0, + 0, 0, 0, 0, 204, 4, + 0, 0, 52, 3, 0, 0, + 1, 0, 0, 0, 216, 4, + 0, 0, 0, 0, 0, 0, + 228, 4, 0, 0, 52, 3, + 0, 0, 1, 0, 0, 0, + 236, 4, 0, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 81, 0, 0, 5, + 14, 0, 15, 160, 0, 0, + 128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 31, 0, 0, 2, + 0, 0, 0, 128, 0, 0, + 15, 176, 31, 0, 0, 2, + 0, 0, 0, 128, 1, 0, + 7, 176, 31, 0, 0, 2, + 0, 0, 0, 128, 2, 0, + 15, 176, 36, 0, 0, 2, + 0, 0, 7, 128, 1, 0, + 228, 176, 8, 0, 0, 3, + 1, 0, 1, 128, 3, 0, + 228, 161, 0, 0, 228, 128, 8, 0, 0, 3, 1, 0, - 1, 128, 3, 0, 228, 161, + 2, 128, 4, 0, 228, 161, 0, 0, 228, 128, 8, 0, - 0, 3, 1, 0, 2, 128, - 4, 0, 228, 161, 0, 0, - 228, 128, 8, 0, 0, 3, - 1, 0, 4, 128, 5, 0, - 228, 161, 0, 0, 228, 128, - 88, 0, 0, 4, 2, 0, - 7, 128, 1, 0, 228, 128, - 14, 0, 0, 160, 14, 0, - 85, 160, 5, 0, 0, 3, - 1, 0, 7, 128, 1, 0, - 228, 128, 2, 0, 228, 128, - 2, 0, 0, 3, 3, 0, - 7, 128, 0, 0, 228, 177, - 12, 0, 228, 160, 8, 0, - 0, 3, 0, 0, 8, 128, - 3, 0, 228, 128, 3, 0, - 228, 128, 7, 0, 0, 2, - 0, 0, 8, 128, 0, 0, - 255, 128, 4, 0, 0, 4, - 4, 0, 7, 128, 3, 0, - 228, 128, 0, 0, 255, 128, - 3, 0, 228, 161, 36, 0, - 0, 2, 5, 0, 7, 128, - 4, 0, 228, 128, 8, 0, - 0, 3, 4, 0, 1, 128, - 5, 0, 228, 128, 0, 0, - 228, 128, 4, 0, 0, 4, - 5, 0, 7, 128, 3, 0, - 228, 128, 0, 0, 255, 128, - 4, 0, 228, 161, 4, 0, - 0, 4, 3, 0, 7, 128, + 0, 3, 1, 0, 4, 128, + 5, 0, 228, 161, 0, 0, + 228, 128, 88, 0, 0, 4, + 2, 0, 7, 128, 1, 0, + 228, 128, 14, 0, 0, 160, + 14, 0, 85, 160, 5, 0, + 0, 3, 1, 0, 7, 128, + 1, 0, 228, 128, 2, 0, + 228, 128, 2, 0, 0, 3, + 3, 0, 7, 128, 0, 0, + 228, 177, 12, 0, 228, 160, + 8, 0, 0, 3, 0, 0, + 8, 128, 3, 0, 228, 128, + 3, 0, 228, 128, 7, 0, + 0, 2, 0, 0, 8, 128, + 0, 0, 255, 128, 4, 0, + 0, 4, 4, 0, 7, 128, 3, 0, 228, 128, 0, 0, - 255, 128, 5, 0, 228, 161, - 36, 0, 0, 2, 6, 0, - 7, 128, 3, 0, 228, 128, + 255, 128, 3, 0, 228, 161, + 36, 0, 0, 2, 5, 0, + 7, 128, 4, 0, 228, 128, 8, 0, 0, 3, 4, 0, - 4, 128, 6, 0, 228, 128, - 0, 0, 228, 128, 36, 0, - 0, 2, 3, 0, 7, 128, - 5, 0, 228, 128, 8, 0, - 0, 3, 4, 0, 2, 128, + 1, 128, 5, 0, 228, 128, + 0, 0, 228, 128, 4, 0, + 0, 4, 5, 0, 7, 128, 3, 0, 228, 128, 0, 0, - 228, 128, 5, 0, 0, 3, - 0, 0, 7, 128, 2, 0, - 228, 128, 4, 0, 228, 128, - 88, 0, 0, 4, 0, 0, - 7, 128, 4, 0, 228, 128, - 0, 0, 228, 128, 14, 0, - 85, 160, 15, 0, 0, 2, - 2, 0, 1, 128, 0, 0, - 0, 128, 15, 0, 0, 2, - 2, 0, 2, 128, 0, 0, - 85, 128, 15, 0, 0, 2, - 2, 0, 4, 128, 0, 0, - 170, 128, 5, 0, 0, 3, - 0, 0, 7, 128, 2, 0, - 228, 128, 2, 0, 255, 160, + 255, 128, 4, 0, 228, 161, + 4, 0, 0, 4, 3, 0, + 7, 128, 3, 0, 228, 128, + 0, 0, 255, 128, 5, 0, + 228, 161, 36, 0, 0, 2, + 6, 0, 7, 128, 3, 0, + 228, 128, 8, 0, 0, 3, + 4, 0, 4, 128, 6, 0, + 228, 128, 0, 0, 228, 128, + 36, 0, 0, 2, 3, 0, + 7, 128, 5, 0, 228, 128, + 8, 0, 0, 3, 4, 0, + 2, 128, 3, 0, 228, 128, + 0, 0, 228, 128, 5, 0, + 0, 3, 0, 0, 7, 128, + 2, 0, 228, 128, 4, 0, + 228, 128, 88, 0, 0, 4, + 0, 0, 7, 128, 4, 0, + 228, 128, 0, 0, 228, 128, + 14, 0, 85, 160, 15, 0, + 0, 2, 2, 0, 1, 128, + 0, 0, 0, 128, 15, 0, + 0, 2, 2, 0, 2, 128, + 0, 0, 85, 128, 15, 0, + 0, 2, 2, 0, 4, 128, + 0, 0, 170, 128, 5, 0, + 0, 3, 0, 0, 7, 128, + 2, 0, 228, 128, 2, 0, + 255, 160, 14, 0, 0, 2, + 1, 0, 8, 128, 0, 0, + 85, 128, 5, 0, 0, 3, + 2, 0, 7, 128, 1, 0, + 255, 128, 10, 0, 228, 160, 14, 0, 0, 2, 1, 0, - 8, 128, 0, 0, 85, 128, - 5, 0, 0, 3, 2, 0, - 7, 128, 1, 0, 255, 128, - 10, 0, 228, 160, 14, 0, - 0, 2, 1, 0, 8, 128, - 0, 0, 0, 128, 14, 0, - 0, 2, 2, 0, 8, 128, - 0, 0, 170, 128, 4, 0, - 0, 4, 0, 0, 7, 128, - 1, 0, 255, 128, 9, 0, - 228, 160, 2, 0, 228, 128, + 8, 128, 0, 0, 0, 128, + 14, 0, 0, 2, 2, 0, + 8, 128, 0, 0, 170, 128, 4, 0, 0, 4, 0, 0, - 7, 128, 2, 0, 255, 128, - 11, 0, 228, 160, 0, 0, - 228, 128, 5, 0, 0, 3, + 7, 128, 1, 0, 255, 128, + 9, 0, 228, 160, 2, 0, + 228, 128, 4, 0, 0, 4, + 0, 0, 7, 128, 2, 0, + 255, 128, 11, 0, 228, 160, + 0, 0, 228, 128, 5, 0, + 0, 3, 0, 0, 7, 128, + 0, 0, 228, 128, 2, 0, + 228, 160, 5, 0, 0, 3, 0, 0, 7, 128, 0, 0, - 228, 128, 2, 0, 228, 160, - 5, 0, 0, 3, 0, 0, - 7, 128, 0, 0, 228, 128, - 2, 0, 255, 176, 5, 0, - 0, 3, 2, 0, 7, 128, - 1, 0, 85, 128, 7, 0, - 228, 160, 4, 0, 0, 4, - 2, 0, 7, 128, 1, 0, - 0, 128, 6, 0, 228, 160, - 2, 0, 228, 128, 4, 0, - 0, 4, 1, 0, 7, 128, - 1, 0, 170, 128, 8, 0, + 228, 128, 2, 0, 255, 176, + 5, 0, 0, 3, 2, 0, + 7, 128, 1, 0, 85, 128, + 7, 0, 228, 160, 4, 0, + 0, 4, 2, 0, 7, 128, + 1, 0, 0, 128, 6, 0, 228, 160, 2, 0, 228, 128, - 1, 0, 0, 2, 2, 0, - 7, 128, 0, 0, 228, 160, 4, 0, 0, 4, 1, 0, - 7, 128, 1, 0, 228, 128, - 2, 0, 228, 128, 1, 0, - 228, 160, 4, 0, 0, 4, - 0, 0, 7, 128, 2, 0, - 228, 176, 1, 0, 228, 128, - 0, 0, 228, 128, 4, 0, - 0, 4, 1, 0, 7, 128, - 13, 0, 228, 160, 2, 0, - 255, 176, 0, 0, 228, 129, - 4, 0, 0, 4, 0, 0, - 7, 128, 0, 0, 255, 176, - 1, 0, 228, 128, 0, 0, + 7, 128, 1, 0, 170, 128, + 8, 0, 228, 160, 2, 0, 228, 128, 1, 0, 0, 2, - 0, 0, 8, 128, 2, 0, - 255, 176, 1, 0, 0, 2, - 0, 8, 15, 128, 0, 0, - 228, 128, 255, 255, 0, 0, - 83, 72, 68, 82, 228, 5, - 0, 0, 64, 0, 0, 0, - 121, 1, 0, 0, 89, 0, - 0, 4, 70, 142, 32, 0, - 0, 0, 0, 0, 14, 0, - 0, 0, 98, 16, 0, 3, - 242, 16, 16, 0, 0, 0, - 0, 0, 98, 16, 0, 3, - 114, 16, 16, 0, 1, 0, - 0, 0, 98, 16, 0, 3, - 242, 16, 16, 0, 2, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 0, 0, - 0, 0, 104, 0, 0, 2, - 4, 0, 0, 0, 0, 0, - 0, 9, 114, 0, 16, 0, - 0, 0, 0, 0, 70, 18, - 16, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 70, 130, + 2, 0, 7, 128, 0, 0, + 228, 160, 4, 0, 0, 4, + 1, 0, 7, 128, 1, 0, + 228, 128, 2, 0, 228, 128, + 1, 0, 228, 160, 4, 0, + 0, 4, 0, 0, 7, 128, + 2, 0, 228, 176, 1, 0, + 228, 128, 0, 0, 228, 128, + 4, 0, 0, 4, 1, 0, + 7, 128, 13, 0, 228, 160, + 2, 0, 255, 176, 0, 0, + 228, 129, 4, 0, 0, 4, + 0, 0, 7, 128, 0, 0, + 255, 176, 1, 0, 228, 128, + 0, 0, 228, 128, 1, 0, + 0, 2, 0, 0, 8, 128, + 2, 0, 255, 176, 1, 0, + 0, 2, 0, 8, 15, 128, + 0, 0, 228, 128, 255, 255, + 0, 0, 83, 72, 68, 82, + 228, 5, 0, 0, 64, 0, + 0, 0, 121, 1, 0, 0, + 89, 0, 0, 4, 70, 142, 32, 0, 0, 0, 0, 0, - 12, 0, 0, 0, 16, 0, - 0, 7, 130, 0, 16, 0, - 0, 0, 0, 0, 70, 2, + 14, 0, 0, 0, 98, 16, + 0, 3, 242, 16, 16, 0, + 0, 0, 0, 0, 98, 16, + 0, 3, 114, 16, 16, 0, + 1, 0, 0, 0, 98, 16, + 0, 3, 242, 16, 16, 0, + 2, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 0, 0, 0, 0, 104, 0, + 0, 2, 4, 0, 0, 0, + 0, 0, 0, 9, 114, 0, + 16, 0, 0, 0, 0, 0, + 70, 18, 16, 128, 65, 0, + 0, 0, 0, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 12, 0, 0, 0, + 16, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, - 0, 0, 68, 0, 0, 5, - 130, 0, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 50, 0, - 0, 11, 114, 0, 16, 0, - 1, 0, 0, 0, 70, 2, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 68, 0, + 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, - 246, 15, 16, 0, 0, 0, - 0, 0, 70, 130, 32, 128, - 65, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 16, 0, 0, 7, 130, 0, + 50, 0, 0, 11, 114, 0, 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 1, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 70, 130, + 32, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 16, 0, 0, 7, + 130, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 68, 0, 0, 5, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 1, 0, + 0, 0, 246, 15, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 16, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 70, 18, 16, 0, 1, 0, + 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 1, 0, 0, 0, 58, 0, 16, 0, 1, 0, 0, 0, 56, 0, 0, 7, 114, 0, - 16, 0, 1, 0, 0, 0, + 16, 0, 2, 0, 0, 0, 246, 15, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, + 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 16, 0, - 0, 7, 130, 0, 16, 0, - 1, 0, 0, 0, 70, 18, - 16, 0, 1, 0, 0, 0, - 70, 18, 16, 0, 1, 0, - 0, 0, 68, 0, 0, 5, - 130, 0, 16, 0, 1, 0, - 0, 0, 58, 0, 16, 0, - 1, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, - 2, 0, 0, 0, 246, 15, - 16, 0, 1, 0, 0, 0, - 70, 18, 16, 0, 1, 0, - 0, 0, 16, 0, 0, 7, - 18, 0, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, + 0, 7, 18, 0, 16, 0, 1, 0, 0, 0, 70, 2, - 16, 0, 2, 0, 0, 0, - 50, 0, 0, 11, 114, 0, - 16, 0, 3, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 246, 15, 16, 0, - 0, 0, 0, 0, 70, 130, - 32, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 4, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 2, 0, 0, 0, 50, 0, 0, 11, - 114, 0, 16, 0, 0, 0, + 114, 0, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, 70, 130, 32, 128, 65, 0, 0, 0, 0, 0, 0, 0, - 5, 0, 0, 0, 16, 0, - 0, 7, 130, 0, 16, 0, + 4, 0, 0, 0, 50, 0, + 0, 11, 114, 0, 16, 0, 0, 0, 0, 0, 70, 2, - 16, 0, 3, 0, 0, 0, - 70, 2, 16, 0, 3, 0, - 0, 0, 68, 0, 0, 5, - 130, 0, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, - 3, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 3, 0, - 0, 0, 16, 0, 0, 7, - 34, 0, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 3, 0, 0, 0, 70, 2, - 16, 0, 2, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 0, 0, + 70, 2, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 68, 0, + 3, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 56, 0, 0, 7, 114, 0, - 16, 0, 0, 0, 0, 0, + 16, 0, 3, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 16, 0, - 0, 7, 66, 0, 16, 0, + 3, 0, 0, 0, 16, 0, + 0, 7, 34, 0, 16, 0, 1, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, + 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 2, 0, - 0, 0, 52, 0, 0, 10, + 0, 0, 16, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 68, 0, 0, 5, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 0, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 16, 0, 0, 7, 66, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 2, 64, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 16, 0, 0, 9, 18, 0, + 2, 0, 0, 0, 52, 0, + 0, 10, 114, 0, 16, 0, + 0, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, - 70, 130, 32, 128, 65, 0, + 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 70, 2, - 16, 0, 2, 0, 0, 0, - 16, 0, 0, 9, 34, 0, - 16, 0, 1, 0, 0, 0, - 70, 130, 32, 128, 65, 0, 0, 0, 0, 0, 0, 0, - 4, 0, 0, 0, 70, 2, - 16, 0, 2, 0, 0, 0, - 16, 0, 0, 9, 66, 0, - 16, 0, 1, 0, 0, 0, - 70, 130, 32, 128, 65, 0, + 0, 0, 16, 0, 0, 9, + 18, 0, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 16, 0, 0, 9, + 34, 0, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 16, 0, 0, 9, + 66, 0, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 29, 0, 0, 10, + 114, 0, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, - 5, 0, 0, 0, 70, 2, - 16, 0, 2, 0, 0, 0, - 29, 0, 0, 10, 114, 0, - 16, 0, 2, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 10, 114, 0, 16, 0, - 2, 0, 0, 0, 70, 2, + 1, 0, 0, 10, 114, 0, 16, 0, 2, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 128, 63, 0, 0, 128, 63, + 70, 2, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, + 128, 63, 0, 0, 128, 63, + 0, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 2, 0, 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 0, 0, + 114, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 70, 2, + 1, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, - 56, 0, 0, 7, 114, 0, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 1, 0, + 47, 0, 0, 5, 114, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 8, + 114, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 47, 0, + 0, 0, 0, 0, 246, 143, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 25, 0, 0, 5, 114, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 56, 0, 0, 8, 114, 0, + 16, 0, 2, 0, 0, 0, + 86, 5, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 10, 0, + 0, 0, 50, 0, 0, 10, + 178, 0, 16, 0, 0, 0, + 0, 0, 6, 0, 16, 0, + 0, 0, 0, 0, 70, 136, + 32, 0, 0, 0, 0, 0, + 9, 0, 0, 0, 70, 8, + 16, 0, 2, 0, 0, 0, + 50, 0, 0, 10, 114, 0, 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 246, 143, 32, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 25, 0, 0, 5, - 114, 0, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, + 166, 10, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 11, 0, + 0, 0, 70, 3, 16, 0, 0, 0, 0, 0, 56, 0, 0, 8, 114, 0, 16, 0, - 2, 0, 0, 0, 86, 5, + 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 70, 130, 32, 0, 0, 0, - 0, 0, 10, 0, 0, 0, - 50, 0, 0, 10, 178, 0, + 0, 0, 2, 0, 0, 0, + 56, 0, 0, 7, 114, 0, 16, 0, 0, 0, 0, 0, - 6, 0, 16, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 246, 31, 16, 0, + 2, 0, 0, 0, 56, 0, + 0, 8, 114, 0, 16, 0, + 2, 0, 0, 0, 86, 5, + 16, 0, 1, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 50, 0, 0, 10, 178, 0, + 16, 0, 1, 0, 0, 0, + 6, 0, 16, 0, 1, 0, 0, 0, 70, 136, 32, 0, - 0, 0, 0, 0, 9, 0, + 0, 0, 0, 0, 6, 0, 0, 0, 70, 8, 16, 0, 2, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, - 0, 0, 0, 0, 166, 10, - 16, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 166, 10, + 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, 0, 0, - 0, 0, 11, 0, 0, 0, - 70, 3, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 8, - 114, 0, 16, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 70, 3, 16, 0, 1, 0, + 0, 0, 50, 0, 0, 11, + 114, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 70, 130, - 32, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, - 0, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 246, 31, 16, 0, 2, 0, - 0, 0, 56, 0, 0, 8, - 114, 0, 16, 0, 2, 0, - 0, 0, 86, 5, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, - 7, 0, 0, 0, 50, 0, - 0, 10, 178, 0, 16, 0, - 1, 0, 0, 0, 6, 0, - 16, 0, 1, 0, 0, 0, - 70, 136, 32, 0, 0, 0, - 0, 0, 6, 0, 0, 0, - 70, 8, 16, 0, 2, 0, - 0, 0, 50, 0, 0, 10, - 114, 0, 16, 0, 1, 0, - 0, 0, 166, 10, 16, 0, - 1, 0, 0, 0, 70, 130, + 0, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, - 8, 0, 0, 0, 70, 3, - 16, 0, 1, 0, 0, 0, - 50, 0, 0, 11, 114, 0, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 50, 0, 0, 9, - 114, 0, 16, 0, 0, 0, - 0, 0, 70, 18, 16, 0, - 2, 0, 0, 0, 70, 2, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 50, 0, 0, 11, - 114, 0, 16, 0, 1, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 13, 0, - 0, 0, 246, 31, 16, 0, - 2, 0, 0, 0, 70, 2, - 16, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 50, 0, - 0, 9, 114, 32, 16, 0, - 0, 0, 0, 0, 246, 31, - 16, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 50, 0, + 0, 9, 114, 0, 16, 0, + 0, 0, 0, 0, 70, 18, + 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 54, 0, - 0, 5, 130, 32, 16, 0, - 0, 0, 0, 0, 58, 16, + 0, 0, 0, 0, 50, 0, + 0, 11, 114, 0, 16, 0, + 1, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 13, 0, 0, 0, 246, 31, 16, 0, 2, 0, 0, 0, - 62, 0, 0, 1, 73, 83, - 71, 78, 96, 0, 0, 0, - 3, 0, 0, 0, 8, 0, - 0, 0, 80, 0, 0, 0, + 70, 2, 16, 128, 65, 0, 0, 0, 0, 0, 0, 0, + 50, 0, 0, 9, 114, 32, + 16, 0, 0, 0, 0, 0, + 246, 31, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 54, 0, 0, 5, 130, 32, + 16, 0, 0, 0, 0, 0, + 58, 16, 16, 0, 2, 0, + 0, 0, 62, 0, 0, 1, + 73, 83, 71, 78, 96, 0, 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 15, - 0, 0, 80, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 7, 7, - 0, 0, 89, 0, 0, 0, + 8, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 2, 0, 0, 0, 15, 15, - 0, 0, 84, 69, 88, 67, - 79, 79, 82, 68, 0, 67, - 79, 76, 79, 82, 0, 171, - 79, 83, 71, 78, 44, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 15, 0, 0, 80, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, - 8, 0, 0, 0, 32, 0, + 7, 7, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 15, 15, 0, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 67, 79, 76, 79, 82, + 0, 171, 79, 83, 71, 78, + 44, 0, 0, 0, 1, 0, + 0, 0, 8, 0, 0, 0, + 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 83, 86, - 95, 84, 97, 114, 103, 101, - 116, 0, 171, 171 + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 83, 86, 95, 84, 97, 114, + 103, 101, 116, 0, 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicPixelLightingTx.inc b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicPixelLightingTx.inc index 1b523339..45a342c8 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicPixelLightingTx.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicPixelLightingTx.inc @@ -38,54 +38,94 @@ // ps_2_0 def c14, 1, 0, 0, 0 - dcl t0.xyz - dcl t1 - dcl t2.xyz - dcl t3 + dcl t0.xyz // pin<0,1> + dcl t1 // pin<2,3,4,5> + dcl t2.xyz // pin<6,7,8> + dcl t3 // pin<9,10,11,12> dcl_2d s0 + +#line 427 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" texld r0, t0, s0 - nrm r1.xyz, t2 - dp3 r2.x, -c3, r1 - dp3 r2.y, -c4, r1 - dp3 r2.z, -c5, r1 - cmp r3.xyz, r2, c14.x, c14.y - mul r2.xyz, r2, r3 + +#line 430 + nrm r1.xyz, t2 // ::worldNormal<0,1,2> + +#line 36 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp3 r2.x, -c3, r1 // ::dotL<0> + dp3 r2.y, -c4, r1 // ::dotL<1> + dp3 r2.z, -c5, r1 // ::dotL<2> + +#line 39 + cmp r3.xyz, r2, c14.x, c14.y // ::zeroL<0,1,2> + mul r2.xyz, r2, r3 // ::diffuse<0,1,2> + +#line 429 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" add r4.xyz, -t1, c12 dp3 r1.w, r4, r4 rsq r1.w, r1.w + +#line 33 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" mad r5.xyz, r4, r1.w, -c3 - nrm r6.xyz, r5 - dp3 r5.x, r6, r1 + nrm r6.xyz, r5 // ::halfVectors<0,1,2> + +#line 37 + dp3 r5.x, r6, r1 // ::dotH<0> + +#line 33 mad r6.xyz, r4, r1.w, -c4 mad r4.xyz, r4, r1.w, -c5 - nrm r7.xyz, r4 - dp3 r5.z, r7, r1 - nrm r4.xyz, r6 - dp3 r5.y, r4, r1 + nrm r7.xyz, r4 // ::halfVectors<6,7,8> + +#line 37 + dp3 r5.z, r7, r1 // ::dotH<2> + +#line 33 + nrm r4.xyz, r6 // ::halfVectors<3,4,5> + +#line 37 + dp3 r5.y, r4, r1 // ::dotH<1> + +#line 42 mul r1.xyz, r3, r5 cmp r1.xyz, r5, r1, c14.y log r3.x, r1.x log r3.y, r1.y log r3.z, r1.z mul r1.xyz, r3, c2.w - exp r2.w, r1.y + exp r2.w, r1.y // ::specular<1> + +#line 47 mul r3.xyz, r2.w, c10 - exp r2.w, r1.x - exp r3.w, r1.z + +#line 42 + exp r2.w, r1.x // ::specular<0> + exp r3.w, r1.z // ::specular<2> + +#line 47 mad r1.xyz, r2.w, c9, r3 mad r1.xyz, r3.w, c11, r1 - mul r1.xyz, r1, c2 - mul r0, r0, t3 + mul r1.xyz, r1, c2 // ::result<3,4,5> + +#line 427 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mul r0, r0, t3 // ::color<0,1,2,3> + +#line 26 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" mul r1.xyz, r0.w, r1 + +#line 46 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" mul r3.xyz, r2.y, c7 mad r3.xyz, r2.x, c6, r3 mad r2.xyz, r2.z, c8, r3 - mov r3.xyz, c0 - mad r2.xyz, r2, r3, c1 - mad r1.xyz, r0, r2, r1 + mov r3.xyz, c0 // Parameters::DiffuseColor<0,1,2> + mad r2.xyz, r2, r3, c1 // ::result<0,1,2> + +#line 26 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + mad r1.xyz, r0, r2, r1 // AddSpecular::color<0,1,2> + +#line 20 mad r2.xyz, c13, r0.w, -r1 - mad r0.xyz, t1.w, r2, r1 - mov oC0, r0 + mad r0.xyz, t1.w, r2, r1 // ApplyFog::color<0,1,2> + mov oC0, r0 // ::PSBasicPixelLightingTx<0,1,2,3> // approximately 51 instruction slots used (1 texture, 50 arithmetic) ps_4_0 @@ -151,17 +191,17 @@ ret const BYTE BasicEffect_PSBasicPixelLightingTx[] = { - 68, 88, 66, 67, 129, 164, - 9, 179, 158, 143, 193, 218, - 75, 230, 209, 15, 16, 58, - 111, 78, 1, 0, 0, 0, - 128, 10, 0, 0, 4, 0, + 68, 88, 66, 67, 161, 21, + 26, 188, 147, 113, 169, 193, + 213, 164, 203, 139, 151, 130, + 20, 162, 1, 0, 0, 0, + 20, 17, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 120, 3, 0, 0, 204, 9, - 0, 0, 76, 10, 0, 0, - 65, 111, 110, 57, 64, 3, - 0, 0, 64, 3, 0, 0, - 0, 2, 255, 255, 12, 3, + 12, 10, 0, 0, 96, 16, + 0, 0, 224, 16, 0, 0, + 65, 111, 110, 57, 212, 9, + 0, 0, 212, 9, 0, 0, + 0, 2, 255, 255, 160, 9, 0, 0, 52, 0, 0, 0, 1, 0, 40, 0, 0, 0, 52, 0, 0, 0, 52, 0, @@ -169,434 +209,715 @@ const BYTE BasicEffect_PSBasicPixelLightingTx[] = 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 255, 255, 81, 0, - 0, 5, 14, 0, 15, 160, - 0, 0, 128, 63, 0, 0, + 0, 2, 255, 255, 254, 255, + 164, 1, 68, 66, 85, 71, + 40, 0, 0, 0, 100, 6, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 0, - 0, 2, 0, 0, 0, 128, - 0, 0, 7, 176, 31, 0, - 0, 2, 0, 0, 0, 128, - 1, 0, 15, 176, 31, 0, - 0, 2, 0, 0, 0, 128, - 2, 0, 7, 176, 31, 0, - 0, 2, 0, 0, 0, 128, - 3, 0, 15, 176, 31, 0, - 0, 2, 0, 0, 0, 144, - 0, 8, 15, 160, 66, 0, - 0, 3, 0, 0, 15, 128, - 0, 0, 228, 176, 0, 8, - 228, 160, 36, 0, 0, 2, - 1, 0, 7, 128, 2, 0, - 228, 176, 8, 0, 0, 3, - 2, 0, 1, 128, 3, 0, - 228, 161, 1, 0, 228, 128, + 3, 0, 0, 0, 4, 1, + 0, 0, 49, 0, 0, 0, + 16, 1, 0, 0, 14, 0, + 0, 0, 76, 5, 0, 0, + 204, 2, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 66, 97, + 115, 105, 99, 69, 102, 102, + 101, 99, 116, 46, 102, 120, + 0, 67, 58, 92, 65, 84, + 71, 32, 83, 97, 109, 112, + 108, 101, 32, 68, 101, 118, + 101, 108, 111, 112, 109, 101, + 110, 116, 92, 115, 116, 95, + 100, 101, 118, 92, 75, 105, + 116, 115, 92, 68, 105, 114, + 101, 99, 116, 88, 84, 75, + 92, 83, 114, 99, 92, 83, + 104, 97, 100, 101, 114, 115, + 92, 76, 105, 103, 104, 116, + 105, 110, 103, 46, 102, 120, + 104, 0, 67, 58, 92, 65, + 84, 71, 32, 83, 97, 109, + 112, 108, 101, 32, 68, 101, + 118, 101, 108, 111, 112, 109, + 101, 110, 116, 92, 115, 116, + 95, 100, 101, 118, 92, 75, + 105, 116, 115, 92, 68, 105, + 114, 101, 99, 116, 88, 84, + 75, 92, 83, 114, 99, 92, + 83, 104, 97, 100, 101, 114, + 115, 92, 67, 111, 109, 109, + 111, 110, 46, 102, 120, 104, + 0, 171, 40, 0, 0, 0, + 115, 0, 0, 0, 188, 0, + 0, 0, 0, 0, 255, 255, + 152, 6, 0, 0, 0, 0, + 255, 255, 176, 6, 0, 0, + 0, 0, 255, 255, 188, 6, + 0, 0, 0, 0, 255, 255, + 200, 6, 0, 0, 0, 0, + 255, 255, 212, 6, 0, 0, + 0, 0, 255, 255, 224, 6, + 0, 0, 171, 1, 0, 0, + 236, 6, 0, 0, 174, 1, + 0, 0, 252, 6, 0, 0, + 36, 0, 1, 0, 8, 7, + 0, 0, 36, 0, 1, 0, + 24, 7, 0, 0, 36, 0, + 1, 0, 40, 7, 0, 0, + 39, 0, 1, 0, 56, 7, + 0, 0, 41, 0, 1, 0, + 76, 7, 0, 0, 173, 1, + 0, 0, 92, 7, 0, 0, + 173, 1, 0, 0, 108, 7, + 0, 0, 173, 1, 0, 0, + 124, 7, 0, 0, 33, 0, + 1, 0, 136, 7, 0, 0, + 33, 0, 1, 0, 156, 7, + 0, 0, 37, 0, 1, 0, + 168, 7, 0, 0, 33, 0, + 1, 0, 184, 7, 0, 0, + 33, 0, 1, 0, 204, 7, + 0, 0, 33, 0, 1, 0, + 224, 7, 0, 0, 37, 0, + 1, 0, 236, 7, 0, 0, + 33, 0, 1, 0, 252, 7, + 0, 0, 37, 0, 1, 0, + 8, 8, 0, 0, 42, 0, + 1, 0, 24, 8, 0, 0, + 42, 0, 1, 0, 40, 8, + 0, 0, 42, 0, 1, 0, + 60, 8, 0, 0, 42, 0, + 1, 0, 72, 8, 0, 0, + 42, 0, 1, 0, 84, 8, + 0, 0, 42, 0, 1, 0, + 96, 8, 0, 0, 42, 0, + 1, 0, 112, 8, 0, 0, + 47, 0, 1, 0, 124, 8, + 0, 0, 42, 0, 1, 0, + 140, 8, 0, 0, 42, 0, + 1, 0, 152, 8, 0, 0, + 47, 0, 1, 0, 164, 8, + 0, 0, 47, 0, 1, 0, + 184, 8, 0, 0, 47, 0, + 1, 0, 204, 8, 0, 0, + 171, 1, 0, 0, 220, 8, + 0, 0, 26, 0, 2, 0, + 236, 8, 0, 0, 46, 0, + 1, 0, 252, 8, 0, 0, + 46, 0, 1, 0, 12, 9, + 0, 0, 46, 0, 1, 0, + 32, 9, 0, 0, 46, 0, + 1, 0, 52, 9, 0, 0, + 46, 0, 1, 0, 64, 9, + 0, 0, 26, 0, 2, 0, + 84, 9, 0, 0, 20, 0, + 2, 0, 104, 9, 0, 0, + 20, 0, 2, 0, 124, 9, + 0, 0, 20, 0, 2, 0, + 144, 9, 0, 0, 80, 97, + 114, 97, 109, 101, 116, 101, + 114, 115, 0, 68, 105, 102, + 102, 117, 115, 101, 67, 111, + 108, 111, 114, 0, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 43, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 80, 83, 66, 97, + 115, 105, 99, 80, 105, 120, + 101, 108, 76, 105, 103, 104, + 116, 105, 110, 103, 84, 120, + 0, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 48, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 65, 112, 112, 108, 121, 70, + 111, 103, 0, 99, 111, 108, + 111, 114, 0, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 47, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 65, 100, 100, 83, + 112, 101, 99, 117, 108, 97, + 114, 0, 45, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 38, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 100, 105, 102, 102, + 117, 115, 101, 0, 1, 0, + 3, 0, 1, 0, 3, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 12, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 100, 111, 116, 72, + 0, 171, 171, 171, 18, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 22, 0, + 0, 0, 255, 255, 255, 255, + 2, 0, 255, 255, 24, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 100, 111, + 116, 76, 0, 171, 171, 171, + 8, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 9, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 10, 0, 0, 0, 255, 255, + 255, 255, 2, 0, 255, 255, + 104, 97, 108, 102, 86, 101, + 99, 116, 111, 114, 115, 0, + 3, 0, 3, 0, 3, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 17, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 21, 0, + 0, 0, 6, 0, 7, 0, + 8, 0, 255, 255, 23, 0, + 0, 0, 3, 0, 4, 0, + 5, 0, 255, 255, 112, 105, + 110, 0, 84, 101, 120, 67, + 111, 111, 114, 100, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 2, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 80, 111, 115, 105, 116, 105, + 111, 110, 87, 83, 0, 78, + 111, 114, 109, 97, 108, 87, + 83, 0, 68, 105, 102, 102, + 117, 115, 101, 0, 16, 4, + 0, 0, 28, 4, 0, 0, + 44, 4, 0, 0, 16, 3, + 0, 0, 55, 4, 0, 0, + 88, 3, 0, 0, 64, 4, + 0, 0, 16, 3, 0, 0, + 5, 0, 0, 0, 1, 0, + 13, 0, 1, 0, 4, 0, + 72, 4, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0, + 255, 255, 255, 255, 2, 0, + 0, 0, 2, 0, 3, 0, + 4, 0, 5, 0, 3, 0, + 0, 0, 6, 0, 7, 0, + 8, 0, 255, 255, 4, 0, + 0, 0, 9, 0, 10, 0, + 11, 0, 12, 0, 114, 101, + 115, 117, 108, 116, 0, 83, + 112, 101, 99, 117, 108, 97, + 114, 0, 64, 4, 0, 0, + 88, 3, 0, 0, 175, 4, + 0, 0, 88, 3, 0, 0, + 5, 0, 0, 0, 1, 0, + 6, 0, 1, 0, 2, 0, + 184, 4, 0, 0, 37, 0, + 0, 0, 3, 0, 4, 0, + 5, 0, 255, 255, 44, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 115, 112, + 101, 99, 117, 108, 97, 114, + 0, 171, 171, 171, 31, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 1, 0, 33, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 0, 0, 34, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 2, 0, 119, 111, + 114, 108, 100, 78, 111, 114, + 109, 97, 108, 0, 7, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 122, 101, + 114, 111, 76, 0, 171, 171, + 11, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 152, 2, 0, 0, 163, 2, + 0, 0, 176, 2, 0, 0, + 1, 0, 0, 0, 192, 2, + 0, 0, 0, 0, 0, 0, + 204, 2, 0, 0, 228, 2, + 0, 0, 1, 0, 0, 0, + 244, 2, 0, 0, 0, 3, + 0, 0, 9, 3, 0, 0, + 16, 3, 0, 0, 1, 0, + 0, 0, 32, 3, 0, 0, + 44, 3, 0, 0, 9, 3, + 0, 0, 16, 3, 0, 0, + 1, 0, 0, 0, 56, 3, + 0, 0, 0, 0, 0, 0, + 9, 3, 0, 0, 16, 3, + 0, 0, 1, 0, 0, 0, + 68, 3, 0, 0, 0, 0, + 0, 0, 80, 3, 0, 0, + 88, 3, 0, 0, 1, 0, + 0, 0, 104, 3, 0, 0, + 0, 0, 0, 0, 116, 3, + 0, 0, 88, 3, 0, 0, + 3, 0, 0, 0, 124, 3, + 0, 0, 0, 0, 0, 0, + 160, 3, 0, 0, 88, 3, + 0, 0, 3, 0, 0, 0, + 168, 3, 0, 0, 0, 0, + 0, 0, 204, 3, 0, 0, + 216, 3, 0, 0, 3, 0, + 0, 0, 232, 3, 0, 0, + 204, 2, 0, 0, 12, 4, + 0, 0, 104, 4, 0, 0, + 4, 0, 0, 0, 120, 4, + 0, 0, 0, 0, 0, 0, + 168, 4, 0, 0, 200, 4, + 0, 0, 2, 0, 0, 0, + 216, 4, 0, 0, 0, 0, + 0, 0, 240, 4, 0, 0, + 88, 3, 0, 0, 3, 0, + 0, 0, 252, 4, 0, 0, + 0, 0, 0, 0, 32, 5, + 0, 0, 88, 3, 0, 0, + 1, 0, 0, 0, 44, 5, + 0, 0, 0, 0, 0, 0, + 56, 5, 0, 0, 88, 3, + 0, 0, 1, 0, 0, 0, + 64, 5, 0, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 81, 0, 0, 5, + 14, 0, 15, 160, 0, 0, + 128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 31, 0, 0, 2, + 0, 0, 0, 128, 0, 0, + 7, 176, 31, 0, 0, 2, + 0, 0, 0, 128, 1, 0, + 15, 176, 31, 0, 0, 2, + 0, 0, 0, 128, 2, 0, + 7, 176, 31, 0, 0, 2, + 0, 0, 0, 128, 3, 0, + 15, 176, 31, 0, 0, 2, + 0, 0, 0, 144, 0, 8, + 15, 160, 66, 0, 0, 3, + 0, 0, 15, 128, 0, 0, + 228, 176, 0, 8, 228, 160, + 36, 0, 0, 2, 1, 0, + 7, 128, 2, 0, 228, 176, 8, 0, 0, 3, 2, 0, - 2, 128, 4, 0, 228, 161, + 1, 128, 3, 0, 228, 161, 1, 0, 228, 128, 8, 0, - 0, 3, 2, 0, 4, 128, - 5, 0, 228, 161, 1, 0, - 228, 128, 88, 0, 0, 4, - 3, 0, 7, 128, 2, 0, - 228, 128, 14, 0, 0, 160, - 14, 0, 85, 160, 5, 0, - 0, 3, 2, 0, 7, 128, - 2, 0, 228, 128, 3, 0, - 228, 128, 2, 0, 0, 3, - 4, 0, 7, 128, 1, 0, - 228, 177, 12, 0, 228, 160, - 8, 0, 0, 3, 1, 0, - 8, 128, 4, 0, 228, 128, - 4, 0, 228, 128, 7, 0, - 0, 2, 1, 0, 8, 128, - 1, 0, 255, 128, 4, 0, - 0, 4, 5, 0, 7, 128, - 4, 0, 228, 128, 1, 0, - 255, 128, 3, 0, 228, 161, - 36, 0, 0, 2, 6, 0, - 7, 128, 5, 0, 228, 128, - 8, 0, 0, 3, 5, 0, - 1, 128, 6, 0, 228, 128, - 1, 0, 228, 128, 4, 0, - 0, 4, 6, 0, 7, 128, + 0, 3, 2, 0, 2, 128, + 4, 0, 228, 161, 1, 0, + 228, 128, 8, 0, 0, 3, + 2, 0, 4, 128, 5, 0, + 228, 161, 1, 0, 228, 128, + 88, 0, 0, 4, 3, 0, + 7, 128, 2, 0, 228, 128, + 14, 0, 0, 160, 14, 0, + 85, 160, 5, 0, 0, 3, + 2, 0, 7, 128, 2, 0, + 228, 128, 3, 0, 228, 128, + 2, 0, 0, 3, 4, 0, + 7, 128, 1, 0, 228, 177, + 12, 0, 228, 160, 8, 0, + 0, 3, 1, 0, 8, 128, + 4, 0, 228, 128, 4, 0, + 228, 128, 7, 0, 0, 2, + 1, 0, 8, 128, 1, 0, + 255, 128, 4, 0, 0, 4, + 5, 0, 7, 128, 4, 0, + 228, 128, 1, 0, 255, 128, + 3, 0, 228, 161, 36, 0, + 0, 2, 6, 0, 7, 128, + 5, 0, 228, 128, 8, 0, + 0, 3, 5, 0, 1, 128, + 6, 0, 228, 128, 1, 0, + 228, 128, 4, 0, 0, 4, + 6, 0, 7, 128, 4, 0, + 228, 128, 1, 0, 255, 128, + 4, 0, 228, 161, 4, 0, + 0, 4, 4, 0, 7, 128, 4, 0, 228, 128, 1, 0, - 255, 128, 4, 0, 228, 161, - 4, 0, 0, 4, 4, 0, + 255, 128, 5, 0, 228, 161, + 36, 0, 0, 2, 7, 0, 7, 128, 4, 0, 228, 128, - 1, 0, 255, 128, 5, 0, - 228, 161, 36, 0, 0, 2, - 7, 0, 7, 128, 4, 0, - 228, 128, 8, 0, 0, 3, - 5, 0, 4, 128, 7, 0, - 228, 128, 1, 0, 228, 128, - 36, 0, 0, 2, 4, 0, - 7, 128, 6, 0, 228, 128, 8, 0, 0, 3, 5, 0, - 2, 128, 4, 0, 228, 128, - 1, 0, 228, 128, 5, 0, - 0, 3, 1, 0, 7, 128, - 3, 0, 228, 128, 5, 0, - 228, 128, 88, 0, 0, 4, - 1, 0, 7, 128, 5, 0, - 228, 128, 1, 0, 228, 128, - 14, 0, 85, 160, 15, 0, - 0, 2, 3, 0, 1, 128, - 1, 0, 0, 128, 15, 0, - 0, 2, 3, 0, 2, 128, - 1, 0, 85, 128, 15, 0, - 0, 2, 3, 0, 4, 128, - 1, 0, 170, 128, 5, 0, - 0, 3, 1, 0, 7, 128, - 3, 0, 228, 128, 2, 0, - 255, 160, 14, 0, 0, 2, - 2, 0, 8, 128, 1, 0, - 85, 128, 5, 0, 0, 3, - 3, 0, 7, 128, 2, 0, - 255, 128, 10, 0, 228, 160, + 4, 128, 7, 0, 228, 128, + 1, 0, 228, 128, 36, 0, + 0, 2, 4, 0, 7, 128, + 6, 0, 228, 128, 8, 0, + 0, 3, 5, 0, 2, 128, + 4, 0, 228, 128, 1, 0, + 228, 128, 5, 0, 0, 3, + 1, 0, 7, 128, 3, 0, + 228, 128, 5, 0, 228, 128, + 88, 0, 0, 4, 1, 0, + 7, 128, 5, 0, 228, 128, + 1, 0, 228, 128, 14, 0, + 85, 160, 15, 0, 0, 2, + 3, 0, 1, 128, 1, 0, + 0, 128, 15, 0, 0, 2, + 3, 0, 2, 128, 1, 0, + 85, 128, 15, 0, 0, 2, + 3, 0, 4, 128, 1, 0, + 170, 128, 5, 0, 0, 3, + 1, 0, 7, 128, 3, 0, + 228, 128, 2, 0, 255, 160, 14, 0, 0, 2, 2, 0, - 8, 128, 1, 0, 0, 128, - 14, 0, 0, 2, 3, 0, - 8, 128, 1, 0, 170, 128, - 4, 0, 0, 4, 1, 0, + 8, 128, 1, 0, 85, 128, + 5, 0, 0, 3, 3, 0, 7, 128, 2, 0, 255, 128, - 9, 0, 228, 160, 3, 0, - 228, 128, 4, 0, 0, 4, - 1, 0, 7, 128, 3, 0, - 255, 128, 11, 0, 228, 160, - 1, 0, 228, 128, 5, 0, + 10, 0, 228, 160, 14, 0, + 0, 2, 2, 0, 8, 128, + 1, 0, 0, 128, 14, 0, + 0, 2, 3, 0, 8, 128, + 1, 0, 170, 128, 4, 0, + 0, 4, 1, 0, 7, 128, + 2, 0, 255, 128, 9, 0, + 228, 160, 3, 0, 228, 128, + 4, 0, 0, 4, 1, 0, + 7, 128, 3, 0, 255, 128, + 11, 0, 228, 160, 1, 0, + 228, 128, 5, 0, 0, 3, + 1, 0, 7, 128, 1, 0, + 228, 128, 2, 0, 228, 160, + 5, 0, 0, 3, 0, 0, + 15, 128, 0, 0, 228, 128, + 3, 0, 228, 176, 5, 0, 0, 3, 1, 0, 7, 128, - 1, 0, 228, 128, 2, 0, - 228, 160, 5, 0, 0, 3, - 0, 0, 15, 128, 0, 0, - 228, 128, 3, 0, 228, 176, - 5, 0, 0, 3, 1, 0, - 7, 128, 0, 0, 255, 128, - 1, 0, 228, 128, 5, 0, - 0, 3, 3, 0, 7, 128, - 2, 0, 85, 128, 7, 0, - 228, 160, 4, 0, 0, 4, + 0, 0, 255, 128, 1, 0, + 228, 128, 5, 0, 0, 3, 3, 0, 7, 128, 2, 0, - 0, 128, 6, 0, 228, 160, - 3, 0, 228, 128, 4, 0, - 0, 4, 2, 0, 7, 128, - 2, 0, 170, 128, 8, 0, - 228, 160, 3, 0, 228, 128, - 1, 0, 0, 2, 3, 0, - 7, 128, 0, 0, 228, 160, - 4, 0, 0, 4, 2, 0, - 7, 128, 2, 0, 228, 128, + 85, 128, 7, 0, 228, 160, + 4, 0, 0, 4, 3, 0, + 7, 128, 2, 0, 0, 128, + 6, 0, 228, 160, 3, 0, + 228, 128, 4, 0, 0, 4, + 2, 0, 7, 128, 2, 0, + 170, 128, 8, 0, 228, 160, 3, 0, 228, 128, 1, 0, - 228, 160, 4, 0, 0, 4, - 1, 0, 7, 128, 0, 0, - 228, 128, 2, 0, 228, 128, - 1, 0, 228, 128, 4, 0, + 0, 2, 3, 0, 7, 128, + 0, 0, 228, 160, 4, 0, 0, 4, 2, 0, 7, 128, - 13, 0, 228, 160, 0, 0, - 255, 128, 1, 0, 228, 129, - 4, 0, 0, 4, 0, 0, - 7, 128, 1, 0, 255, 176, + 2, 0, 228, 128, 3, 0, + 228, 128, 1, 0, 228, 160, + 4, 0, 0, 4, 1, 0, + 7, 128, 0, 0, 228, 128, 2, 0, 228, 128, 1, 0, - 228, 128, 1, 0, 0, 2, - 0, 8, 15, 128, 0, 0, - 228, 128, 255, 255, 0, 0, - 83, 72, 68, 82, 76, 6, - 0, 0, 64, 0, 0, 0, - 147, 1, 0, 0, 89, 0, - 0, 4, 70, 142, 32, 0, - 0, 0, 0, 0, 14, 0, - 0, 0, 90, 0, 0, 3, - 0, 96, 16, 0, 0, 0, - 0, 0, 88, 24, 0, 4, - 0, 112, 16, 0, 0, 0, - 0, 0, 85, 85, 0, 0, - 98, 16, 0, 3, 50, 16, + 228, 128, 4, 0, 0, 4, + 2, 0, 7, 128, 13, 0, + 228, 160, 0, 0, 255, 128, + 1, 0, 228, 129, 4, 0, + 0, 4, 0, 0, 7, 128, + 1, 0, 255, 176, 2, 0, + 228, 128, 1, 0, 228, 128, + 1, 0, 0, 2, 0, 8, + 15, 128, 0, 0, 228, 128, + 255, 255, 0, 0, 83, 72, + 68, 82, 76, 6, 0, 0, + 64, 0, 0, 0, 147, 1, + 0, 0, 89, 0, 0, 4, + 70, 142, 32, 0, 0, 0, + 0, 0, 14, 0, 0, 0, + 90, 0, 0, 3, 0, 96, 16, 0, 0, 0, 0, 0, - 98, 16, 0, 3, 242, 16, - 16, 0, 1, 0, 0, 0, - 98, 16, 0, 3, 114, 16, - 16, 0, 2, 0, 0, 0, - 98, 16, 0, 3, 242, 16, - 16, 0, 3, 0, 0, 0, - 101, 0, 0, 3, 242, 32, + 88, 24, 0, 4, 0, 112, 16, 0, 0, 0, 0, 0, - 104, 0, 0, 2, 4, 0, - 0, 0, 0, 0, 0, 9, - 114, 0, 16, 0, 0, 0, - 0, 0, 70, 18, 16, 128, - 65, 0, 0, 0, 1, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 12, 0, - 0, 0, 16, 0, 0, 7, - 130, 0, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 70, 2, + 85, 85, 0, 0, 98, 16, + 0, 3, 50, 16, 16, 0, + 0, 0, 0, 0, 98, 16, + 0, 3, 242, 16, 16, 0, + 1, 0, 0, 0, 98, 16, + 0, 3, 114, 16, 16, 0, + 2, 0, 0, 0, 98, 16, + 0, 3, 242, 16, 16, 0, + 3, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 0, 0, 0, 0, 104, 0, + 0, 2, 4, 0, 0, 0, + 0, 0, 0, 9, 114, 0, 16, 0, 0, 0, 0, 0, - 68, 0, 0, 5, 130, 0, + 70, 18, 16, 128, 65, 0, + 0, 0, 1, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 12, 0, 0, 0, + 16, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 50, 0, 0, 11, - 114, 0, 16, 0, 1, 0, + 70, 2, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 246, 15, + 0, 0, 0, 0, 68, 0, + 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, - 70, 130, 32, 128, 65, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 16, 0, - 0, 7, 130, 0, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 68, 0, 0, 5, - 130, 0, 16, 0, 1, 0, - 0, 0, 58, 0, 16, 0, - 1, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, - 1, 0, 0, 0, 246, 15, + 50, 0, 0, 11, 114, 0, 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 1, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 70, 130, + 32, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 1, 0, - 0, 0, 70, 18, 16, 0, - 2, 0, 0, 0, 70, 18, - 16, 0, 2, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 1, 0, 0, 0, 58, 0, 16, 0, 1, 0, 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 2, 0, + 114, 0, 16, 0, 1, 0, 0, 0, 246, 15, 16, 0, - 1, 0, 0, 0, 70, 18, + 1, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 16, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 70, 18, 16, 0, 2, 0, + 0, 0, 70, 18, 16, 0, + 2, 0, 0, 0, 68, 0, + 0, 5, 130, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 56, 0, 0, 7, 114, 0, 16, 0, 2, 0, 0, 0, - 16, 0, 0, 7, 18, 0, + 246, 15, 16, 0, 1, 0, + 0, 0, 70, 18, 16, 0, + 2, 0, 0, 0, 16, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 1, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 50, 0, 0, 11, + 114, 0, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 50, 0, + 0, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 70, 130, 32, 128, 65, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 50, 0, 0, 11, 114, 0, 16, 0, - 3, 0, 0, 0, 70, 2, + 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, 70, 130, 32, 128, 65, 0, 0, 0, 0, 0, - 0, 0, 4, 0, 0, 0, - 50, 0, 0, 11, 114, 0, + 0, 0, 5, 0, 0, 0, + 16, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 246, 15, 16, 0, - 0, 0, 0, 0, 70, 130, - 32, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 5, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 68, 0, + 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 56, 0, 0, 7, 114, 0, + 16, 0, 3, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 16, 0, + 0, 7, 34, 0, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 2, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, - 3, 0, 0, 0, 70, 2, - 16, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 3, 0, + 114, 0, 16, 0, 0, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, 70, 2, - 16, 0, 3, 0, 0, 0, - 16, 0, 0, 7, 34, 0, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 3, 0, - 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 16, 0, - 0, 7, 130, 0, 16, 0, - 0, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 68, 0, 0, 5, - 130, 0, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, - 0, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, + 16, 0, 0, 7, 66, 0, + 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 0, 0, - 0, 0, 16, 0, 0, 7, - 66, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 70, 2, - 16, 0, 2, 0, 0, 0, - 52, 0, 0, 10, 114, 0, - 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 2, 64, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 16, 0, - 0, 9, 18, 0, 16, 0, - 1, 0, 0, 0, 70, 130, - 32, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 16, 0, - 0, 9, 34, 0, 16, 0, - 1, 0, 0, 0, 70, 130, - 32, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 4, 0, - 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 16, 0, - 0, 9, 66, 0, 16, 0, - 1, 0, 0, 0, 70, 130, - 32, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 5, 0, - 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 29, 0, + 2, 0, 0, 0, 52, 0, 0, 10, 114, 0, 16, 0, - 2, 0, 0, 0, 70, 2, + 0, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 10, + 0, 0, 16, 0, 0, 9, + 18, 0, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 16, 0, 0, 9, + 34, 0, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 16, 0, 0, 9, + 66, 0, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 29, 0, 0, 10, 114, 0, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 2, 64, - 0, 0, 0, 0, 128, 63, + 1, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, - 128, 63, 0, 0, 0, 0, - 56, 0, 0, 7, 114, 0, + 128, 63, 0, 0, 128, 63, + 0, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, 1, 0, 0, 0, 70, 2, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 2, 0, - 0, 0, 47, 0, 0, 5, + 16, 0, 2, 0, 0, 0, + 47, 0, 0, 5, 114, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 8, 114, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 246, 143, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 25, 0, + 0, 5, 114, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 56, 0, 0, 8, 114, 0, + 16, 0, 2, 0, 0, 0, + 86, 5, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 10, 0, + 0, 0, 50, 0, 0, 10, + 178, 0, 16, 0, 0, 0, + 0, 0, 6, 0, 16, 0, + 0, 0, 0, 0, 70, 136, + 32, 0, 0, 0, 0, 0, + 9, 0, 0, 0, 70, 8, + 16, 0, 2, 0, 0, 0, + 50, 0, 0, 10, 114, 0, + 16, 0, 0, 0, 0, 0, + 166, 10, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 11, 0, + 0, 0, 70, 3, 16, 0, 0, 0, 0, 0, 56, 0, 0, 8, 114, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, - 246, 143, 32, 0, 0, 0, + 70, 130, 32, 0, 0, 0, 0, 0, 2, 0, 0, 0, - 25, 0, 0, 5, 114, 0, + 69, 0, 0, 9, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 16, 16, 0, 0, 0, + 0, 0, 70, 126, 16, 0, + 0, 0, 0, 0, 0, 96, 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 0, 0, + 56, 0, 0, 7, 242, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 70, 30, 16, 0, + 3, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 246, 15, 16, 0, 2, 0, 0, 0, 56, 0, 0, 8, - 114, 0, 16, 0, 2, 0, + 114, 0, 16, 0, 3, 0, 0, 0, 86, 5, 16, 0, - 0, 0, 0, 0, 70, 130, + 1, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 50, 0, + 7, 0, 0, 0, 50, 0, 0, 10, 178, 0, 16, 0, - 0, 0, 0, 0, 6, 0, - 16, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 6, 0, + 16, 0, 1, 0, 0, 0, 70, 136, 32, 0, 0, 0, - 0, 0, 9, 0, 0, 0, - 70, 8, 16, 0, 2, 0, + 0, 0, 6, 0, 0, 0, + 70, 8, 16, 0, 3, 0, 0, 0, 50, 0, 0, 10, - 114, 0, 16, 0, 0, 0, + 114, 0, 16, 0, 1, 0, 0, 0, 166, 10, 16, 0, - 0, 0, 0, 0, 70, 130, + 1, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, - 11, 0, 0, 0, 70, 3, - 16, 0, 0, 0, 0, 0, - 56, 0, 0, 8, 114, 0, - 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 2, 0, - 0, 0, 70, 16, 16, 0, - 0, 0, 0, 0, 70, 126, - 16, 0, 0, 0, 0, 0, - 0, 96, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 7, - 242, 0, 16, 0, 2, 0, - 0, 0, 70, 14, 16, 0, - 2, 0, 0, 0, 70, 30, - 16, 0, 3, 0, 0, 0, - 56, 0, 0, 7, 114, 0, - 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 246, 15, 16, 0, - 2, 0, 0, 0, 56, 0, - 0, 8, 114, 0, 16, 0, - 3, 0, 0, 0, 86, 5, + 8, 0, 0, 0, 70, 3, 16, 0, 1, 0, 0, 0, - 70, 130, 32, 0, 0, 0, - 0, 0, 7, 0, 0, 0, - 50, 0, 0, 10, 178, 0, + 50, 0, 0, 11, 114, 0, 16, 0, 1, 0, 0, 0, - 6, 0, 16, 0, 1, 0, - 0, 0, 70, 136, 32, 0, - 0, 0, 0, 0, 6, 0, - 0, 0, 70, 8, 16, 0, - 3, 0, 0, 0, 50, 0, - 0, 10, 114, 0, 16, 0, - 1, 0, 0, 0, 166, 10, + 70, 2, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 50, 0, 0, 9, + 114, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, - 70, 130, 32, 0, 0, 0, - 0, 0, 8, 0, 0, 0, - 70, 3, 16, 0, 1, 0, + 70, 2, 16, 0, 0, 0, 0, 0, 50, 0, 0, 11, 114, 0, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 70, 130, - 32, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 70, 130, - 32, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 50, 0, - 0, 9, 114, 0, 16, 0, - 0, 0, 0, 0, 70, 2, - 16, 0, 2, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 13, 0, + 0, 0, 246, 15, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 50, 0, + 0, 9, 114, 32, 16, 0, + 0, 0, 0, 0, 246, 31, + 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 50, 0, - 0, 11, 114, 0, 16, 0, - 1, 0, 0, 0, 70, 130, - 32, 0, 0, 0, 0, 0, - 13, 0, 0, 0, 246, 15, + 0, 0, 0, 0, 54, 0, + 0, 5, 130, 32, 16, 0, + 0, 0, 0, 0, 58, 0, 16, 0, 2, 0, 0, 0, - 70, 2, 16, 128, 65, 0, + 62, 0, 0, 1, 73, 83, + 71, 78, 120, 0, 0, 0, + 4, 0, 0, 0, 8, 0, + 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 50, 0, 0, 9, 114, 32, - 16, 0, 0, 0, 0, 0, - 246, 31, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 54, 0, 0, 5, 130, 32, - 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 2, 0, - 0, 0, 62, 0, 0, 1, - 73, 83, 71, 78, 120, 0, - 0, 0, 4, 0, 0, 0, - 8, 0, 0, 0, 104, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 3, 3, + 0, 0, 104, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 15, 15, + 0, 0, 104, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 2, 0, 0, 0, 7, 7, + 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 3, 0, 0, 104, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 15, 15, + 0, 0, 84, 69, 88, 67, + 79, 79, 82, 68, 0, 67, + 79, 76, 79, 82, 0, 171, + 79, 83, 71, 78, 44, 0, 0, 0, 1, 0, 0, 0, - 15, 15, 0, 0, 104, 0, - 0, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 2, 0, 0, 0, - 7, 7, 0, 0, 113, 0, + 8, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, - 0, 0, 3, 0, 0, 0, - 15, 15, 0, 0, 84, 69, - 88, 67, 79, 79, 82, 68, - 0, 67, 79, 76, 79, 82, - 0, 171, 79, 83, 71, 78, - 44, 0, 0, 0, 1, 0, - 0, 0, 8, 0, 0, 0, - 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 83, 86, 95, 84, 97, 114, - 103, 101, 116, 0, 171, 171 + 15, 0, 0, 0, 83, 86, + 95, 84, 97, 114, 103, 101, + 116, 0, 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicTx.inc b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicTx.inc index 0c79037e..8a6433a6 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicTx.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicTx.inc @@ -36,15 +36,19 @@ // Level9 shader bytecode: // ps_2_0 - dcl t0 - dcl t1 - dcl t2.xy + dcl t0 // pin<0,1,2,3> + dcl t1 // pin<4,5,6,7> + dcl t2.xy // pin<8,9> dcl_2d s0 + +#line 344 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" texld r0, t2, s0 - mul r0, r0, t0 + mul r0, r0, t0 // ::color<0,1,2,3> + +#line 20 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" mad r1.xyz, c0, r0.w, -r0 - mad r0.xyz, t1.w, r1, r0 - mov oC0, r0 + mad r0.xyz, t1.w, r1, r0 // ApplyFog::color<0,1,2> + mov oC0, r0 // ::PSBasicTx<0,1,2,3> // approximately 5 instruction slots used (1 texture, 4 arithmetic) ps_4_0 @@ -67,17 +71,17 @@ ret const BYTE BasicEffect_PSBasicTx[] = { - 68, 88, 66, 67, 155, 204, - 24, 105, 141, 75, 77, 28, - 70, 59, 49, 201, 3, 51, - 69, 45, 1, 0, 0, 0, - 176, 2, 0, 0, 4, 0, + 68, 88, 66, 67, 188, 186, + 68, 183, 113, 27, 163, 65, + 177, 98, 193, 7, 58, 127, + 141, 151, 1, 0, 0, 0, + 24, 5, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 248, 0, 0, 0, 20, 2, - 0, 0, 124, 2, 0, 0, - 65, 111, 110, 57, 192, 0, - 0, 0, 192, 0, 0, 0, - 0, 2, 255, 255, 140, 0, + 96, 3, 0, 0, 124, 4, + 0, 0, 228, 4, 0, 0, + 65, 111, 110, 57, 40, 3, + 0, 0, 40, 3, 0, 0, + 0, 2, 255, 255, 244, 2, 0, 0, 52, 0, 0, 0, 1, 0, 40, 0, 0, 0, 52, 0, 0, 0, 52, 0, @@ -85,101 +89,204 @@ const BYTE BasicEffect_PSBasicTx[] = 52, 0, 0, 0, 0, 0, 0, 0, 13, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 255, 255, 31, 0, - 0, 2, 0, 0, 0, 128, - 0, 0, 15, 176, 31, 0, - 0, 2, 0, 0, 0, 128, - 1, 0, 15, 176, 31, 0, - 0, 2, 0, 0, 0, 128, - 2, 0, 3, 176, 31, 0, - 0, 2, 0, 0, 0, 144, - 0, 8, 15, 160, 66, 0, - 0, 3, 0, 0, 15, 128, - 2, 0, 228, 176, 0, 8, - 228, 160, 5, 0, 0, 3, - 0, 0, 15, 128, 0, 0, - 228, 128, 0, 0, 228, 176, - 4, 0, 0, 4, 1, 0, - 7, 128, 0, 0, 228, 160, - 0, 0, 255, 128, 0, 0, - 228, 129, 4, 0, 0, 4, - 0, 0, 7, 128, 1, 0, - 255, 176, 1, 0, 228, 128, - 0, 0, 228, 128, 1, 0, - 0, 2, 0, 8, 15, 128, - 0, 0, 228, 128, 255, 255, - 0, 0, 83, 72, 68, 82, - 20, 1, 0, 0, 64, 0, - 0, 0, 69, 0, 0, 0, - 89, 0, 0, 4, 70, 142, - 32, 0, 0, 0, 0, 0, - 14, 0, 0, 0, 90, 0, - 0, 3, 0, 96, 16, 0, - 0, 0, 0, 0, 88, 24, - 0, 4, 0, 112, 16, 0, - 0, 0, 0, 0, 85, 85, - 0, 0, 98, 16, 0, 3, - 242, 16, 16, 0, 0, 0, - 0, 0, 98, 16, 0, 3, - 130, 16, 16, 0, 1, 0, - 0, 0, 98, 16, 0, 3, - 50, 16, 16, 0, 2, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 0, 0, - 0, 0, 104, 0, 0, 2, - 2, 0, 0, 0, 69, 0, - 0, 9, 242, 0, 16, 0, - 0, 0, 0, 0, 70, 16, - 16, 0, 2, 0, 0, 0, - 70, 126, 16, 0, 0, 0, - 0, 0, 0, 96, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 7, 242, 0, 16, 0, - 0, 0, 0, 0, 70, 14, + 0, 2, 255, 255, 254, 255, + 153, 0, 68, 66, 85, 71, + 40, 0, 0, 0, 56, 2, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 188, 0, + 0, 0, 9, 0, 0, 0, + 196, 0, 0, 0, 4, 0, + 0, 0, 232, 1, 0, 0, + 12, 1, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 66, 97, + 115, 105, 99, 69, 102, 102, + 101, 99, 116, 46, 102, 120, + 0, 67, 58, 92, 65, 84, + 71, 32, 83, 97, 109, 112, + 108, 101, 32, 68, 101, 118, + 101, 108, 111, 112, 109, 101, + 110, 116, 92, 115, 116, 95, + 100, 101, 118, 92, 75, 105, + 116, 115, 92, 68, 105, 114, + 101, 99, 116, 88, 84, 75, + 92, 83, 114, 99, 92, 83, + 104, 97, 100, 101, 114, 115, + 92, 67, 111, 109, 109, 111, + 110, 46, 102, 120, 104, 0, + 171, 171, 40, 0, 0, 0, + 115, 0, 0, 0, 0, 0, + 255, 255, 108, 2, 0, 0, + 0, 0, 255, 255, 120, 2, + 0, 0, 0, 0, 255, 255, + 132, 2, 0, 0, 0, 0, + 255, 255, 144, 2, 0, 0, + 88, 1, 0, 0, 156, 2, + 0, 0, 88, 1, 0, 0, + 172, 2, 0, 0, 20, 0, + 1, 0, 188, 2, 0, 0, + 20, 0, 1, 0, 208, 2, + 0, 0, 20, 0, 1, 0, + 228, 2, 0, 0, 80, 83, + 66, 97, 115, 105, 99, 84, + 120, 0, 171, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 65, 112, 112, 108, + 121, 70, 111, 103, 0, 99, + 111, 108, 111, 114, 0, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 5, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 3, 0, 112, 105, + 110, 0, 68, 105, 102, 102, + 117, 115, 101, 0, 83, 112, + 101, 99, 117, 108, 97, 114, + 0, 84, 101, 120, 67, 111, + 111, 114, 100, 0, 171, 171, + 1, 0, 3, 0, 1, 0, + 2, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 112, 1, + 0, 0, 68, 1, 0, 0, + 120, 1, 0, 0, 68, 1, + 0, 0, 129, 1, 0, 0, + 140, 1, 0, 0, 5, 0, + 0, 0, 1, 0, 10, 0, + 1, 0, 3, 0, 156, 1, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 1, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 7, 0, 2, 0, 0, 0, + 8, 0, 9, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 12, 1, 0, 0, 24, 1, + 0, 0, 1, 0, 0, 0, + 40, 1, 0, 0, 52, 1, + 0, 0, 61, 1, 0, 0, + 68, 1, 0, 0, 1, 0, + 0, 0, 84, 1, 0, 0, + 0, 0, 0, 0, 61, 1, + 0, 0, 68, 1, 0, 0, + 1, 0, 0, 0, 96, 1, + 0, 0, 12, 1, 0, 0, + 108, 1, 0, 0, 180, 1, + 0, 0, 3, 0, 0, 0, + 196, 1, 0, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 31, 0, 0, 2, + 0, 0, 0, 128, 0, 0, + 15, 176, 31, 0, 0, 2, + 0, 0, 0, 128, 1, 0, + 15, 176, 31, 0, 0, 2, + 0, 0, 0, 128, 2, 0, + 3, 176, 31, 0, 0, 2, + 0, 0, 0, 144, 0, 8, + 15, 160, 66, 0, 0, 3, + 0, 0, 15, 128, 2, 0, + 228, 176, 0, 8, 228, 160, + 5, 0, 0, 3, 0, 0, + 15, 128, 0, 0, 228, 128, + 0, 0, 228, 176, 4, 0, + 0, 4, 1, 0, 7, 128, + 0, 0, 228, 160, 0, 0, + 255, 128, 0, 0, 228, 129, + 4, 0, 0, 4, 0, 0, + 7, 128, 1, 0, 255, 176, + 1, 0, 228, 128, 0, 0, + 228, 128, 1, 0, 0, 2, + 0, 8, 15, 128, 0, 0, + 228, 128, 255, 255, 0, 0, + 83, 72, 68, 82, 20, 1, + 0, 0, 64, 0, 0, 0, + 69, 0, 0, 0, 89, 0, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 14, 0, + 0, 0, 90, 0, 0, 3, + 0, 96, 16, 0, 0, 0, + 0, 0, 88, 24, 0, 4, + 0, 112, 16, 0, 0, 0, + 0, 0, 85, 85, 0, 0, + 98, 16, 0, 3, 242, 16, 16, 0, 0, 0, 0, 0, - 70, 30, 16, 0, 0, 0, - 0, 0, 50, 0, 0, 11, - 114, 0, 16, 0, 1, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 13, 0, - 0, 0, 246, 15, 16, 0, - 0, 0, 0, 0, 70, 2, - 16, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 50, 0, - 0, 9, 114, 32, 16, 0, - 0, 0, 0, 0, 246, 31, + 98, 16, 0, 3, 130, 16, 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 54, 0, - 0, 5, 130, 32, 16, 0, - 0, 0, 0, 0, 58, 0, + 98, 16, 0, 3, 50, 16, + 16, 0, 2, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 0, 0, 0, 0, + 104, 0, 0, 2, 2, 0, + 0, 0, 69, 0, 0, 9, + 242, 0, 16, 0, 0, 0, + 0, 0, 70, 16, 16, 0, + 2, 0, 0, 0, 70, 126, 16, 0, 0, 0, 0, 0, - 62, 0, 0, 1, 73, 83, - 71, 78, 96, 0, 0, 0, - 3, 0, 0, 0, 8, 0, - 0, 0, 80, 0, 0, 0, + 0, 96, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 242, 0, 16, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 0, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, + 50, 0, 0, 11, 114, 0, + 16, 0, 1, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 13, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 50, 0, 0, 9, + 114, 32, 16, 0, 0, 0, + 0, 0, 246, 31, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 130, 32, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 62, 0, + 0, 1, 73, 83, 71, 78, + 96, 0, 0, 0, 3, 0, + 0, 0, 8, 0, 0, 0, + 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 15, - 0, 0, 80, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 15, 8, - 0, 0, 86, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 15, 0, 0, + 80, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 2, 0, 0, 0, 3, 3, - 0, 0, 67, 79, 76, 79, - 82, 0, 84, 69, 88, 67, - 79, 79, 82, 68, 0, 171, - 79, 83, 71, 78, 44, 0, - 0, 0, 1, 0, 0, 0, - 8, 0, 0, 0, 32, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 15, 8, 0, 0, + 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 3, 3, 0, 0, + 67, 79, 76, 79, 82, 0, + 84, 69, 88, 67, 79, 79, + 82, 68, 0, 171, 79, 83, + 71, 78, 44, 0, 0, 0, + 1, 0, 0, 0, 8, 0, + 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 83, 86, - 95, 84, 97, 114, 103, 101, - 116, 0, 171, 171 + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 83, 86, 95, 84, + 97, 114, 103, 101, 116, 0, + 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicTxNoFog.inc b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicTxNoFog.inc index 59bc50eb..995d40a1 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicTxNoFog.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicTxNoFog.inc @@ -28,12 +28,14 @@ // Level9 shader bytecode: // ps_2_0 - dcl t0 - dcl t1.xy + dcl t0 // pin<0,1,2,3> + dcl t1.xy // pin<4,5> dcl_2d s0 + +#line 355 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" texld r0, t1, s0 - mul r0, r0, t0 - mov oC0, r0 + mul r0, r0, t0 // ::PSBasicTxNoFog<0,1,2,3> + mov oC0, r0 // ::PSBasicTxNoFog<0,1,2,3> // approximately 3 instruction slots used (1 texture, 2 arithmetic) ps_4_0 @@ -51,83 +53,154 @@ ret const BYTE BasicEffect_PSBasicTxNoFog[] = { - 68, 88, 66, 67, 194, 95, - 105, 234, 141, 247, 73, 209, - 137, 241, 142, 29, 26, 223, - 234, 193, 1, 0, 0, 0, - 216, 1, 0, 0, 4, 0, + 68, 88, 66, 67, 202, 62, + 43, 24, 24, 167, 50, 82, + 241, 156, 231, 82, 42, 172, + 68, 12, 1, 0, 0, 0, + 128, 3, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 184, 0, 0, 0, 84, 1, - 0, 0, 164, 1, 0, 0, - 65, 111, 110, 57, 128, 0, - 0, 0, 128, 0, 0, 0, - 0, 2, 255, 255, 88, 0, + 96, 2, 0, 0, 252, 2, + 0, 0, 76, 3, 0, 0, + 65, 111, 110, 57, 40, 2, + 0, 0, 40, 2, 0, 0, + 0, 2, 255, 255, 0, 2, 0, 0, 40, 0, 0, 0, 0, 0, 40, 0, 0, 0, 40, 0, 0, 0, 40, 0, 1, 0, 36, 0, 0, 0, 40, 0, 0, 0, 0, 0, - 0, 2, 255, 255, 31, 0, - 0, 2, 0, 0, 0, 128, - 0, 0, 15, 176, 31, 0, - 0, 2, 0, 0, 0, 128, - 1, 0, 3, 176, 31, 0, - 0, 2, 0, 0, 0, 144, - 0, 8, 15, 160, 66, 0, - 0, 3, 0, 0, 15, 128, - 1, 0, 228, 176, 0, 8, - 228, 160, 5, 0, 0, 3, - 0, 0, 15, 128, 0, 0, - 228, 128, 0, 0, 228, 176, - 1, 0, 0, 2, 0, 8, + 0, 2, 255, 255, 254, 255, + 105, 0, 68, 66, 85, 71, + 40, 0, 0, 0, 120, 1, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 116, 0, + 0, 0, 6, 0, 0, 0, + 120, 0, 0, 0, 2, 0, + 0, 0, 80, 1, 0, 0, + 168, 0, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 66, 97, + 115, 105, 99, 69, 102, 102, + 101, 99, 116, 46, 102, 120, + 0, 171, 40, 0, 0, 0, + 0, 0, 255, 255, 172, 1, + 0, 0, 0, 0, 255, 255, + 184, 1, 0, 0, 0, 0, + 255, 255, 196, 1, 0, 0, + 99, 1, 0, 0, 208, 1, + 0, 0, 99, 1, 0, 0, + 224, 1, 0, 0, 99, 1, + 0, 0, 240, 1, 0, 0, + 80, 83, 66, 97, 115, 105, + 99, 84, 120, 78, 111, 70, + 111, 103, 0, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 5, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 112, 105, 110, 0, + 68, 105, 102, 102, 117, 115, + 101, 0, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 84, 101, 120, 67, 111, 111, + 114, 100, 0, 171, 171, 171, + 1, 0, 3, 0, 1, 0, + 2, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 228, 0, + 0, 0, 236, 0, 0, 0, + 252, 0, 0, 0, 8, 1, + 0, 0, 5, 0, 0, 0, + 1, 0, 6, 0, 1, 0, + 2, 0, 24, 1, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 1, 0, 0, 0, 4, 0, + 5, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 168, 0, + 0, 0, 184, 0, 0, 0, + 2, 0, 0, 0, 200, 0, + 0, 0, 168, 0, 0, 0, + 224, 0, 0, 0, 40, 1, + 0, 0, 2, 0, 0, 0, + 56, 1, 0, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 31, 0, 0, 2, + 0, 0, 0, 128, 0, 0, + 15, 176, 31, 0, 0, 2, + 0, 0, 0, 128, 1, 0, + 3, 176, 31, 0, 0, 2, + 0, 0, 0, 144, 0, 8, + 15, 160, 66, 0, 0, 3, + 0, 0, 15, 128, 1, 0, + 228, 176, 0, 8, 228, 160, + 5, 0, 0, 3, 0, 0, 15, 128, 0, 0, 228, 128, - 255, 255, 0, 0, 83, 72, - 68, 82, 148, 0, 0, 0, - 64, 0, 0, 0, 37, 0, - 0, 0, 90, 0, 0, 3, - 0, 96, 16, 0, 0, 0, - 0, 0, 88, 24, 0, 4, - 0, 112, 16, 0, 0, 0, - 0, 0, 85, 85, 0, 0, - 98, 16, 0, 3, 242, 16, + 0, 0, 228, 176, 1, 0, + 0, 2, 0, 8, 15, 128, + 0, 0, 228, 128, 255, 255, + 0, 0, 83, 72, 68, 82, + 148, 0, 0, 0, 64, 0, + 0, 0, 37, 0, 0, 0, + 90, 0, 0, 3, 0, 96, 16, 0, 0, 0, 0, 0, - 98, 16, 0, 3, 50, 16, - 16, 0, 1, 0, 0, 0, - 101, 0, 0, 3, 242, 32, + 88, 24, 0, 4, 0, 112, 16, 0, 0, 0, 0, 0, - 104, 0, 0, 2, 1, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 0, 0, - 0, 0, 70, 16, 16, 0, - 1, 0, 0, 0, 70, 126, + 85, 85, 0, 0, 98, 16, + 0, 3, 242, 16, 16, 0, + 0, 0, 0, 0, 98, 16, + 0, 3, 50, 16, 16, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 0, 0, 0, 0, 104, 0, + 0, 2, 1, 0, 0, 0, + 69, 0, 0, 9, 242, 0, 16, 0, 0, 0, 0, 0, - 0, 96, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 7, - 242, 32, 16, 0, 0, 0, - 0, 0, 70, 14, 16, 0, - 0, 0, 0, 0, 70, 30, + 70, 16, 16, 0, 1, 0, + 0, 0, 70, 126, 16, 0, + 0, 0, 0, 0, 0, 96, 16, 0, 0, 0, 0, 0, - 62, 0, 0, 1, 73, 83, - 71, 78, 72, 0, 0, 0, - 2, 0, 0, 0, 8, 0, - 0, 0, 56, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 15, - 0, 0, 62, 0, 0, 0, + 56, 0, 0, 7, 242, 32, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 0, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 62, 0, + 0, 1, 73, 83, 71, 78, + 72, 0, 0, 0, 2, 0, + 0, 0, 8, 0, 0, 0, + 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 3, 3, - 0, 0, 67, 79, 76, 79, - 82, 0, 84, 69, 88, 67, - 79, 79, 82, 68, 0, 171, - 79, 83, 71, 78, 44, 0, - 0, 0, 1, 0, 0, 0, - 8, 0, 0, 0, 32, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 15, 0, 0, + 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 3, 3, 0, 0, + 67, 79, 76, 79, 82, 0, + 84, 69, 88, 67, 79, 79, + 82, 68, 0, 171, 79, 83, + 71, 78, 44, 0, 0, 0, + 1, 0, 0, 0, 8, 0, + 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 83, 86, - 95, 84, 97, 114, 103, 101, - 116, 0, 171, 171 + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 83, 86, 95, 84, + 97, 114, 103, 101, 116, 0, + 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicVertexLighting.inc b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicVertexLighting.inc index e88bfff2..0ce1f0bb 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicVertexLighting.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicVertexLighting.inc @@ -28,14 +28,18 @@ // Level9 shader bytecode: // ps_2_0 - dcl t0 - dcl t1 - mov r0, t0 - mad r0.xyz, t1, r0.w, r0 + dcl t0 // pin<0,1,2,3> + dcl t1 // pin<4,5,6,7> + +#line 26 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + mov r0, t0 // pin<0,1,2,3> + mad r0.xyz, t1, r0.w, r0 // AddSpecular::color<0,1,2> + +#line 20 mad r1.xyz, c0, t0.w, -r0 - mad r0.xyz, t1.w, r1, r0 + mad r0.xyz, t1.w, r1, r0 // ApplyFog::color<0,1,2> mov r0.w, t0.w - mov oC0, r0 + mov oC0, r0 // ::PSBasicVertexLighting<0,1,2,3> // approximately 6 instruction slots used ps_4_0 @@ -54,17 +58,17 @@ ret const BYTE BasicEffect_PSBasicVertexLighting[] = { - 68, 88, 66, 67, 1, 0, - 211, 175, 137, 211, 98, 125, - 71, 150, 248, 71, 185, 240, - 6, 94, 1, 0, 0, 0, - 60, 2, 0, 0, 4, 0, + 68, 88, 66, 67, 18, 102, + 41, 118, 121, 177, 81, 62, + 18, 101, 73, 36, 154, 122, + 83, 100, 1, 0, 0, 0, + 68, 4, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 232, 0, 0, 0, 192, 1, - 0, 0, 8, 2, 0, 0, - 65, 111, 110, 57, 176, 0, - 0, 0, 176, 0, 0, 0, - 0, 2, 255, 255, 128, 0, + 240, 2, 0, 0, 200, 3, + 0, 0, 16, 4, 0, 0, + 65, 111, 110, 57, 184, 2, + 0, 0, 184, 2, 0, 0, + 0, 2, 255, 255, 136, 2, 0, 0, 48, 0, 0, 0, 1, 0, 36, 0, 0, 0, 48, 0, 0, 0, 48, 0, @@ -72,82 +76,168 @@ const BYTE BasicEffect_PSBasicVertexLighting[] = 48, 0, 0, 0, 13, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2, 255, 255, - 31, 0, 0, 2, 0, 0, - 0, 128, 0, 0, 15, 176, - 31, 0, 0, 2, 0, 0, - 0, 128, 1, 0, 15, 176, - 1, 0, 0, 2, 0, 0, - 15, 128, 0, 0, 228, 176, - 4, 0, 0, 4, 0, 0, - 7, 128, 1, 0, 228, 176, - 0, 0, 255, 128, 0, 0, - 228, 128, 4, 0, 0, 4, - 1, 0, 7, 128, 0, 0, - 228, 160, 0, 0, 255, 176, - 0, 0, 228, 129, 4, 0, + 254, 255, 129, 0, 68, 66, + 85, 71, 40, 0, 0, 0, + 216, 1, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 112, 0, 0, 0, 8, 0, + 0, 0, 116, 0, 0, 0, + 4, 0, 0, 0, 136, 1, + 0, 0, 180, 0, 0, 0, + 67, 58, 92, 65, 84, 71, + 32, 83, 97, 109, 112, 108, + 101, 32, 68, 101, 118, 101, + 108, 111, 112, 109, 101, 110, + 116, 92, 115, 116, 95, 100, + 101, 118, 92, 75, 105, 116, + 115, 92, 68, 105, 114, 101, + 99, 116, 88, 84, 75, 92, + 83, 114, 99, 92, 83, 104, + 97, 100, 101, 114, 115, 92, + 67, 111, 109, 109, 111, 110, + 46, 102, 120, 104, 0, 171, + 40, 0, 0, 0, 0, 0, + 255, 255, 12, 2, 0, 0, + 0, 0, 255, 255, 24, 2, + 0, 0, 26, 0, 0, 0, + 36, 2, 0, 0, 26, 0, + 0, 0, 48, 2, 0, 0, + 20, 0, 0, 0, 68, 2, + 0, 0, 20, 0, 0, 0, + 88, 2, 0, 0, 20, 0, + 0, 0, 108, 2, 0, 0, + 20, 0, 0, 0, 120, 2, + 0, 0, 80, 83, 66, 97, + 115, 105, 99, 86, 101, 114, + 116, 101, 120, 76, 105, 103, + 104, 116, 105, 110, 103, 0, + 171, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 7, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 65, 112, 112, 108, 121, 70, + 111, 103, 0, 99, 111, 108, + 111, 114, 0, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 65, 100, 100, 83, + 112, 101, 99, 117, 108, 97, + 114, 0, 3, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 112, 105, 110, 0, + 68, 105, 102, 102, 117, 115, + 101, 0, 83, 112, 101, 99, + 117, 108, 97, 114, 0, 171, + 171, 171, 48, 1, 0, 0, + 248, 0, 0, 0, 56, 1, + 0, 0, 248, 0, 0, 0, + 5, 0, 0, 0, 1, 0, + 8, 0, 1, 0, 2, 0, + 68, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 3, 0, 1, 0, + 0, 0, 4, 0, 5, 0, + 6, 0, 7, 0, 2, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 3, 0, 0, 0, + 0, 0, 180, 0, 0, 0, + 204, 0, 0, 0, 1, 0, + 0, 0, 220, 0, 0, 0, + 232, 0, 0, 0, 241, 0, + 0, 0, 248, 0, 0, 0, + 1, 0, 0, 0, 8, 1, + 0, 0, 20, 1, 0, 0, + 241, 0, 0, 0, 248, 0, + 0, 0, 1, 0, 0, 0, + 32, 1, 0, 0, 180, 0, + 0, 0, 44, 1, 0, 0, + 84, 1, 0, 0, 3, 0, + 0, 0, 100, 1, 0, 0, + 77, 105, 99, 114, 111, 115, + 111, 102, 116, 32, 40, 82, + 41, 32, 72, 76, 83, 76, + 32, 83, 104, 97, 100, 101, + 114, 32, 67, 111, 109, 112, + 105, 108, 101, 114, 32, 49, + 48, 46, 49, 0, 31, 0, + 0, 2, 0, 0, 0, 128, + 0, 0, 15, 176, 31, 0, + 0, 2, 0, 0, 0, 128, + 1, 0, 15, 176, 1, 0, + 0, 2, 0, 0, 15, 128, + 0, 0, 228, 176, 4, 0, 0, 4, 0, 0, 7, 128, - 1, 0, 255, 176, 1, 0, - 228, 128, 0, 0, 228, 128, - 1, 0, 0, 2, 0, 0, - 8, 128, 0, 0, 255, 176, - 1, 0, 0, 2, 0, 8, - 15, 128, 0, 0, 228, 128, - 255, 255, 0, 0, 83, 72, - 68, 82, 208, 0, 0, 0, - 64, 0, 0, 0, 52, 0, - 0, 0, 89, 0, 0, 4, - 70, 142, 32, 0, 0, 0, - 0, 0, 14, 0, 0, 0, - 98, 16, 0, 3, 242, 16, + 1, 0, 228, 176, 0, 0, + 255, 128, 0, 0, 228, 128, + 4, 0, 0, 4, 1, 0, + 7, 128, 0, 0, 228, 160, + 0, 0, 255, 176, 0, 0, + 228, 129, 4, 0, 0, 4, + 0, 0, 7, 128, 1, 0, + 255, 176, 1, 0, 228, 128, + 0, 0, 228, 128, 1, 0, + 0, 2, 0, 0, 8, 128, + 0, 0, 255, 176, 1, 0, + 0, 2, 0, 8, 15, 128, + 0, 0, 228, 128, 255, 255, + 0, 0, 83, 72, 68, 82, + 208, 0, 0, 0, 64, 0, + 0, 0, 52, 0, 0, 0, + 89, 0, 0, 4, 70, 142, + 32, 0, 0, 0, 0, 0, + 14, 0, 0, 0, 98, 16, + 0, 3, 242, 16, 16, 0, + 0, 0, 0, 0, 98, 16, + 0, 3, 242, 16, 16, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 0, 0, 0, 0, 104, 0, + 0, 2, 2, 0, 0, 0, + 50, 0, 0, 9, 114, 0, 16, 0, 0, 0, 0, 0, - 98, 16, 0, 3, 242, 16, - 16, 0, 1, 0, 0, 0, - 101, 0, 0, 3, 242, 32, + 70, 18, 16, 0, 1, 0, + 0, 0, 246, 31, 16, 0, + 0, 0, 0, 0, 70, 18, 16, 0, 0, 0, 0, 0, - 104, 0, 0, 2, 2, 0, + 50, 0, 0, 11, 114, 0, + 16, 0, 1, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 13, 0, 0, 0, + 246, 31, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 128, + 65, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 9, - 114, 0, 16, 0, 0, 0, - 0, 0, 70, 18, 16, 0, - 1, 0, 0, 0, 246, 31, - 16, 0, 0, 0, 0, 0, - 70, 18, 16, 0, 0, 0, - 0, 0, 50, 0, 0, 11, - 114, 0, 16, 0, 1, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 13, 0, + 114, 32, 16, 0, 0, 0, 0, 0, 246, 31, 16, 0, - 0, 0, 0, 0, 70, 2, - 16, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 50, 0, - 0, 9, 114, 32, 16, 0, - 0, 0, 0, 0, 246, 31, + 1, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 54, 0, - 0, 5, 130, 32, 16, 0, - 0, 0, 0, 0, 58, 16, - 16, 0, 0, 0, 0, 0, - 62, 0, 0, 1, 73, 83, - 71, 78, 64, 0, 0, 0, - 2, 0, 0, 0, 8, 0, - 0, 0, 56, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 130, 32, 16, 0, 0, 0, + 0, 0, 58, 16, 16, 0, + 0, 0, 0, 0, 62, 0, + 0, 1, 73, 83, 71, 78, + 64, 0, 0, 0, 2, 0, + 0, 0, 8, 0, 0, 0, + 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 15, - 0, 0, 56, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 15, 15, - 0, 0, 67, 79, 76, 79, - 82, 0, 171, 171, 79, 83, - 71, 78, 44, 0, 0, 0, - 1, 0, 0, 0, 8, 0, - 0, 0, 32, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 15, 0, 0, + 56, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 15, 15, 0, 0, + 67, 79, 76, 79, 82, 0, + 171, 171, 79, 83, 71, 78, + 44, 0, 0, 0, 1, 0, + 0, 0, 8, 0, 0, 0, + 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 83, 86, 95, 84, - 97, 114, 103, 101, 116, 0, - 171, 171 + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 83, 86, 95, 84, 97, 114, + 103, 101, 116, 0, 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicVertexLightingNoFog.inc b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicVertexLightingNoFog.inc index b5339fe8..c1594108 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicVertexLightingNoFog.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicVertexLightingNoFog.inc @@ -21,12 +21,14 @@ // Level9 shader bytecode: // ps_2_0 - dcl t0 - dcl t1 - mov r0, t0 - mad r0.xyz, t1, r0.w, r0 + dcl t0 // pin<0,1,2,3> + dcl t1 // pin<4,5,6,7> + +#line 26 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + mov r0, t0 // pin<0,1,2,3> + mad r0.xyz, t1, r0.w, r0 // AddSpecular::color<0,1,2> mov r0.w, t0.w - mov oC0, r0 + mov oC0, r0 // ::PSBasicVertexLightingNoFog<0,1,2,3> // approximately 4 instruction slots used ps_4_0 @@ -41,22 +43,100 @@ ret const BYTE BasicEffect_PSBasicVertexLightingNoFog[] = { - 68, 88, 66, 67, 196, 161, - 90, 12, 111, 37, 237, 2, - 236, 93, 13, 113, 105, 60, - 150, 154, 1, 0, 0, 0, - 160, 1, 0, 0, 4, 0, + 68, 88, 66, 67, 222, 218, + 17, 223, 30, 109, 53, 74, + 83, 79, 76, 240, 237, 58, + 25, 229, 1, 0, 0, 0, + 116, 3, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 180, 0, 0, 0, 36, 1, - 0, 0, 108, 1, 0, 0, - 65, 111, 110, 57, 124, 0, - 0, 0, 124, 0, 0, 0, - 0, 2, 255, 255, 88, 0, + 136, 2, 0, 0, 248, 2, + 0, 0, 64, 3, 0, 0, + 65, 111, 110, 57, 80, 2, + 0, 0, 80, 2, 0, 0, + 0, 2, 255, 255, 44, 2, 0, 0, 36, 0, 0, 0, 0, 0, 36, 0, 0, 0, 36, 0, 0, 0, 36, 0, 0, 0, 36, 0, 0, 0, 36, 0, 0, 2, 255, 255, + 254, 255, 116, 0, 68, 66, + 85, 71, 40, 0, 0, 0, + 164, 1, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 112, 0, 0, 0, 6, 0, + 0, 0, 116, 0, 0, 0, + 3, 0, 0, 0, 104, 1, + 0, 0, 164, 0, 0, 0, + 67, 58, 92, 65, 84, 71, + 32, 83, 97, 109, 112, 108, + 101, 32, 68, 101, 118, 101, + 108, 111, 112, 109, 101, 110, + 116, 92, 115, 116, 95, 100, + 101, 118, 92, 75, 105, 116, + 115, 92, 68, 105, 114, 101, + 99, 116, 88, 84, 75, 92, + 83, 114, 99, 92, 83, 104, + 97, 100, 101, 114, 115, 92, + 67, 111, 109, 109, 111, 110, + 46, 102, 120, 104, 0, 171, + 40, 0, 0, 0, 0, 0, + 255, 255, 216, 1, 0, 0, + 0, 0, 255, 255, 228, 1, + 0, 0, 26, 0, 0, 0, + 240, 1, 0, 0, 26, 0, + 0, 0, 252, 1, 0, 0, + 26, 0, 0, 0, 16, 2, + 0, 0, 26, 0, 0, 0, + 28, 2, 0, 0, 80, 83, + 66, 97, 115, 105, 99, 86, + 101, 114, 116, 101, 120, 76, + 105, 103, 104, 116, 105, 110, + 103, 78, 111, 70, 111, 103, + 0, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 65, 100, 100, 83, 112, 101, + 99, 117, 108, 97, 114, 0, + 99, 111, 108, 111, 114, 0, + 171, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 112, 105, 110, 0, 68, 105, + 102, 102, 117, 115, 101, 0, + 83, 112, 101, 99, 117, 108, + 97, 114, 0, 171, 171, 171, + 16, 1, 0, 0, 240, 0, + 0, 0, 24, 1, 0, 0, + 240, 0, 0, 0, 5, 0, + 0, 0, 1, 0, 8, 0, + 1, 0, 2, 0, 36, 1, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 1, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 7, 0, 2, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 0, 0, 0, 0, + 164, 0, 0, 0, 192, 0, + 0, 0, 1, 0, 0, 0, + 208, 0, 0, 0, 220, 0, + 0, 0, 232, 0, 0, 0, + 240, 0, 0, 0, 1, 0, + 0, 0, 0, 1, 0, 0, + 164, 0, 0, 0, 12, 1, + 0, 0, 52, 1, 0, 0, + 3, 0, 0, 0, 68, 1, + 0, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, 31, 0, 0, 2, 0, 0, 0, 128, 0, 0, 15, 176, 31, 0, 0, 2, 0, 0, diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicVertexLightingTx.inc b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicVertexLightingTx.inc index 0997605b..8ac3fc12 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicVertexLightingTx.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicVertexLightingTx.inc @@ -36,16 +36,22 @@ // Level9 shader bytecode: // ps_2_0 - dcl t0 - dcl t1 - dcl t2.xy + dcl t0 // pin<0,1,2,3> + dcl t1 // pin<4,5,6,7> + dcl t2.xy // pin<8,9> dcl_2d s0 + +#line 385 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" texld r0, t2, s0 - mul r0, r0, t0 - mad r1.xyz, t1, r0.w, r0 + mul r0, r0, t0 // ::color<0,1,2,3> + +#line 26 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + mad r1.xyz, t1, r0.w, r0 // AddSpecular::color<0,1,2> + +#line 20 mad r2.xyz, c0, r0.w, -r1 - mad r0.xyz, t1.w, r2, r1 - mov oC0, r0 + mad r0.xyz, t1.w, r2, r1 // ApplyFog::color<0,1,2> + mov oC0, r0 // ::PSBasicVertexLightingTx<0,1,2,3> // approximately 6 instruction slots used (1 texture, 5 arithmetic) ps_4_0 @@ -69,17 +75,17 @@ ret const BYTE BasicEffect_PSBasicVertexLightingTx[] = { - 68, 88, 66, 67, 168, 121, - 145, 162, 145, 142, 85, 167, - 84, 43, 205, 136, 70, 33, - 64, 152, 1, 0, 0, 0, - 232, 2, 0, 0, 4, 0, + 68, 88, 66, 67, 12, 45, + 32, 233, 77, 105, 178, 222, + 233, 127, 45, 216, 102, 162, + 107, 125, 1, 0, 0, 0, + 144, 5, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 12, 1, 0, 0, 76, 2, - 0, 0, 180, 2, 0, 0, - 65, 111, 110, 57, 212, 0, - 0, 0, 212, 0, 0, 0, - 0, 2, 255, 255, 160, 0, + 180, 3, 0, 0, 244, 4, + 0, 0, 92, 5, 0, 0, + 65, 111, 110, 57, 124, 3, + 0, 0, 124, 3, 0, 0, + 0, 2, 255, 255, 72, 3, 0, 0, 52, 0, 0, 0, 1, 0, 40, 0, 0, 0, 52, 0, 0, 0, 52, 0, @@ -87,110 +93,224 @@ const BYTE BasicEffect_PSBasicVertexLightingTx[] = 52, 0, 0, 0, 0, 0, 0, 0, 13, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 255, 255, 31, 0, - 0, 2, 0, 0, 0, 128, - 0, 0, 15, 176, 31, 0, - 0, 2, 0, 0, 0, 128, - 1, 0, 15, 176, 31, 0, - 0, 2, 0, 0, 0, 128, - 2, 0, 3, 176, 31, 0, - 0, 2, 0, 0, 0, 144, - 0, 8, 15, 160, 66, 0, + 0, 2, 255, 255, 254, 255, + 169, 0, 68, 66, 85, 71, + 40, 0, 0, 0, 120, 2, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 188, 0, + 0, 0, 10, 0, 0, 0, + 196, 0, 0, 0, 5, 0, + 0, 0, 20, 2, 0, 0, + 20, 1, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 66, 97, + 115, 105, 99, 69, 102, 102, + 101, 99, 116, 46, 102, 120, + 0, 67, 58, 92, 65, 84, + 71, 32, 83, 97, 109, 112, + 108, 101, 32, 68, 101, 118, + 101, 108, 111, 112, 109, 101, + 110, 116, 92, 115, 116, 95, + 100, 101, 118, 92, 75, 105, + 116, 115, 92, 68, 105, 114, + 101, 99, 116, 88, 84, 75, + 92, 83, 114, 99, 92, 83, + 104, 97, 100, 101, 114, 115, + 92, 67, 111, 109, 109, 111, + 110, 46, 102, 120, 104, 0, + 171, 171, 40, 0, 0, 0, + 115, 0, 0, 0, 0, 0, + 255, 255, 172, 2, 0, 0, + 0, 0, 255, 255, 184, 2, + 0, 0, 0, 0, 255, 255, + 196, 2, 0, 0, 0, 0, + 255, 255, 208, 2, 0, 0, + 129, 1, 0, 0, 220, 2, + 0, 0, 129, 1, 0, 0, + 236, 2, 0, 0, 26, 0, + 1, 0, 252, 2, 0, 0, + 20, 0, 1, 0, 16, 3, + 0, 0, 20, 0, 1, 0, + 36, 3, 0, 0, 20, 0, + 1, 0, 56, 3, 0, 0, + 80, 83, 66, 97, 115, 105, + 99, 86, 101, 114, 116, 101, + 120, 76, 105, 103, 104, 116, + 105, 110, 103, 84, 120, 0, + 1, 0, 3, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 9, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 3, 0, 65, 112, + 112, 108, 121, 70, 111, 103, + 0, 99, 111, 108, 111, 114, + 0, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 65, 100, 100, 83, 112, 101, + 99, 117, 108, 97, 114, 0, + 6, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 5, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 112, 105, 110, 0, 68, 105, + 102, 102, 117, 115, 101, 0, + 83, 112, 101, 99, 117, 108, + 97, 114, 0, 84, 101, 120, + 67, 111, 111, 114, 100, 0, + 171, 171, 1, 0, 3, 0, + 1, 0, 2, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 156, 1, 0, 0, 88, 1, + 0, 0, 164, 1, 0, 0, + 88, 1, 0, 0, 173, 1, + 0, 0, 184, 1, 0, 0, + 5, 0, 0, 0, 1, 0, + 10, 0, 1, 0, 3, 0, + 200, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 3, 0, 1, 0, + 0, 0, 4, 0, 5, 0, + 6, 0, 7, 0, 2, 0, + 0, 0, 8, 0, 9, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 20, 1, 0, 0, + 44, 1, 0, 0, 1, 0, + 0, 0, 60, 1, 0, 0, + 72, 1, 0, 0, 81, 1, + 0, 0, 88, 1, 0, 0, + 1, 0, 0, 0, 104, 1, + 0, 0, 116, 1, 0, 0, + 81, 1, 0, 0, 88, 1, + 0, 0, 1, 0, 0, 0, + 128, 1, 0, 0, 0, 0, + 0, 0, 81, 1, 0, 0, + 88, 1, 0, 0, 1, 0, + 0, 0, 140, 1, 0, 0, + 20, 1, 0, 0, 152, 1, + 0, 0, 224, 1, 0, 0, + 3, 0, 0, 0, 240, 1, + 0, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 31, 0, 0, 2, 0, 0, + 0, 128, 0, 0, 15, 176, + 31, 0, 0, 2, 0, 0, + 0, 128, 1, 0, 15, 176, + 31, 0, 0, 2, 0, 0, + 0, 128, 2, 0, 3, 176, + 31, 0, 0, 2, 0, 0, + 0, 144, 0, 8, 15, 160, + 66, 0, 0, 3, 0, 0, + 15, 128, 2, 0, 228, 176, + 0, 8, 228, 160, 5, 0, 0, 3, 0, 0, 15, 128, - 2, 0, 228, 176, 0, 8, - 228, 160, 5, 0, 0, 3, - 0, 0, 15, 128, 0, 0, - 228, 128, 0, 0, 228, 176, - 4, 0, 0, 4, 1, 0, - 7, 128, 1, 0, 228, 176, - 0, 0, 255, 128, 0, 0, - 228, 128, 4, 0, 0, 4, - 2, 0, 7, 128, 0, 0, - 228, 160, 0, 0, 255, 128, - 1, 0, 228, 129, 4, 0, - 0, 4, 0, 0, 7, 128, - 1, 0, 255, 176, 2, 0, - 228, 128, 1, 0, 228, 128, - 1, 0, 0, 2, 0, 8, - 15, 128, 0, 0, 228, 128, - 255, 255, 0, 0, 83, 72, - 68, 82, 56, 1, 0, 0, - 64, 0, 0, 0, 78, 0, - 0, 0, 89, 0, 0, 4, - 70, 142, 32, 0, 0, 0, - 0, 0, 14, 0, 0, 0, - 90, 0, 0, 3, 0, 96, + 0, 0, 228, 128, 0, 0, + 228, 176, 4, 0, 0, 4, + 1, 0, 7, 128, 1, 0, + 228, 176, 0, 0, 255, 128, + 0, 0, 228, 128, 4, 0, + 0, 4, 2, 0, 7, 128, + 0, 0, 228, 160, 0, 0, + 255, 128, 1, 0, 228, 129, + 4, 0, 0, 4, 0, 0, + 7, 128, 1, 0, 255, 176, + 2, 0, 228, 128, 1, 0, + 228, 128, 1, 0, 0, 2, + 0, 8, 15, 128, 0, 0, + 228, 128, 255, 255, 0, 0, + 83, 72, 68, 82, 56, 1, + 0, 0, 64, 0, 0, 0, + 78, 0, 0, 0, 89, 0, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 14, 0, + 0, 0, 90, 0, 0, 3, + 0, 96, 16, 0, 0, 0, + 0, 0, 88, 24, 0, 4, + 0, 112, 16, 0, 0, 0, + 0, 0, 85, 85, 0, 0, + 98, 16, 0, 3, 242, 16, 16, 0, 0, 0, 0, 0, - 88, 24, 0, 4, 0, 112, + 98, 16, 0, 3, 242, 16, + 16, 0, 1, 0, 0, 0, + 98, 16, 0, 3, 50, 16, + 16, 0, 2, 0, 0, 0, + 101, 0, 0, 3, 242, 32, 16, 0, 0, 0, 0, 0, - 85, 85, 0, 0, 98, 16, - 0, 3, 242, 16, 16, 0, - 0, 0, 0, 0, 98, 16, - 0, 3, 242, 16, 16, 0, - 1, 0, 0, 0, 98, 16, - 0, 3, 50, 16, 16, 0, - 2, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 0, 0, 0, 0, 104, 0, - 0, 2, 2, 0, 0, 0, - 69, 0, 0, 9, 242, 0, + 104, 0, 0, 2, 2, 0, + 0, 0, 69, 0, 0, 9, + 242, 0, 16, 0, 0, 0, + 0, 0, 70, 16, 16, 0, + 2, 0, 0, 0, 70, 126, 16, 0, 0, 0, 0, 0, - 70, 16, 16, 0, 2, 0, - 0, 0, 70, 126, 16, 0, - 0, 0, 0, 0, 0, 96, + 0, 96, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 242, 0, 16, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 0, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, - 56, 0, 0, 7, 242, 0, + 50, 0, 0, 9, 114, 0, 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 0, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 50, 0, - 0, 9, 114, 0, 16, 0, - 0, 0, 0, 0, 70, 18, + 70, 18, 16, 0, 1, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 50, 0, 0, 11, 114, 0, 16, 0, 1, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 13, 0, 0, 0, 246, 15, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, + 0, 0, 70, 2, 16, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 130, 32, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 50, 0, - 0, 11, 114, 0, 16, 0, - 1, 0, 0, 0, 70, 130, - 32, 0, 0, 0, 0, 0, - 13, 0, 0, 0, 246, 15, - 16, 0, 0, 0, 0, 0, - 70, 2, 16, 128, 65, 0, - 0, 0, 0, 0, 0, 0, - 54, 0, 0, 5, 130, 32, - 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 50, 0, 0, 9, - 114, 32, 16, 0, 0, 0, - 0, 0, 246, 31, 16, 0, - 1, 0, 0, 0, 70, 2, + 0, 9, 114, 32, 16, 0, + 0, 0, 0, 0, 246, 31, 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 62, 0, 0, 1, - 73, 83, 71, 78, 96, 0, - 0, 0, 3, 0, 0, 0, - 8, 0, 0, 0, 80, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 62, 0, + 0, 1, 73, 83, 71, 78, + 96, 0, 0, 0, 3, 0, + 0, 0, 8, 0, 0, 0, + 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 15, 0, 0, + 80, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 15, 15, 0, 0, 80, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 15, 15, 0, 0, 86, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 15, 15, 0, 0, + 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 2, 0, 0, 0, - 3, 3, 0, 0, 67, 79, - 76, 79, 82, 0, 84, 69, - 88, 67, 79, 79, 82, 68, - 0, 171, 79, 83, 71, 78, - 44, 0, 0, 0, 1, 0, - 0, 0, 8, 0, 0, 0, - 32, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 3, 3, 0, 0, + 67, 79, 76, 79, 82, 0, + 84, 69, 88, 67, 79, 79, + 82, 68, 0, 171, 79, 83, + 71, 78, 44, 0, 0, 0, + 1, 0, 0, 0, 8, 0, + 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 83, 86, 95, 84, 97, 114, - 103, 101, 116, 0, 171, 171 + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 83, 86, 95, 84, + 97, 114, 103, 101, 116, 0, + 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicVertexLightingTxNoFog.inc b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicVertexLightingTxNoFog.inc index cd891a2c..04752bd2 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicVertexLightingTxNoFog.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_PSBasicVertexLightingTxNoFog.inc @@ -29,14 +29,18 @@ // Level9 shader bytecode: // ps_2_0 - dcl t0 - dcl t1 - dcl t2.xy + dcl t0 // pin<0,1,2,3> + dcl t1 // pin<4,5,6,7> + dcl t2.xy // pin<8,9> dcl_2d s0 + +#line 397 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" texld r0, t2, s0 - mul r0, r0, t0 - mad r0.xyz, t1, r0.w, r0 - mov oC0, r0 + mul r0, r0, t0 // ::color<0,1,2,3> + +#line 26 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + mad r0.xyz, t1, r0.w, r0 // AddSpecular::color<0,1,2> + mov oC0, r0 // ::PSBasicVertexLightingTxNoFog<0,1,2,3> // approximately 4 instruction slots used (1 texture, 3 arithmetic) ps_4_0 @@ -57,104 +61,209 @@ ret const BYTE BasicEffect_PSBasicVertexLightingTxNoFog[] = { - 68, 88, 66, 67, 107, 144, - 128, 78, 118, 75, 88, 150, - 203, 179, 206, 252, 188, 119, - 149, 100, 1, 0, 0, 0, - 84, 2, 0, 0, 4, 0, + 68, 88, 66, 67, 102, 167, + 231, 71, 98, 80, 177, 139, + 206, 229, 55, 104, 245, 36, + 234, 197, 1, 0, 0, 0, + 204, 4, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 216, 0, 0, 0, 184, 1, - 0, 0, 32, 2, 0, 0, - 65, 111, 110, 57, 160, 0, - 0, 0, 160, 0, 0, 0, - 0, 2, 255, 255, 120, 0, + 80, 3, 0, 0, 48, 4, + 0, 0, 152, 4, 0, 0, + 65, 111, 110, 57, 24, 3, + 0, 0, 24, 3, 0, 0, + 0, 2, 255, 255, 240, 2, 0, 0, 40, 0, 0, 0, 0, 0, 40, 0, 0, 0, 40, 0, 0, 0, 40, 0, 1, 0, 36, 0, 0, 0, 40, 0, 0, 0, 0, 0, - 0, 2, 255, 255, 31, 0, - 0, 2, 0, 0, 0, 128, - 0, 0, 15, 176, 31, 0, - 0, 2, 0, 0, 0, 128, - 1, 0, 15, 176, 31, 0, - 0, 2, 0, 0, 0, 128, - 2, 0, 3, 176, 31, 0, - 0, 2, 0, 0, 0, 144, - 0, 8, 15, 160, 66, 0, + 0, 2, 255, 255, 254, 255, + 157, 0, 68, 66, 85, 71, + 40, 0, 0, 0, 72, 2, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 188, 0, + 0, 0, 8, 0, 0, 0, + 196, 0, 0, 0, 4, 0, + 0, 0, 248, 1, 0, 0, + 4, 1, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 66, 97, + 115, 105, 99, 69, 102, 102, + 101, 99, 116, 46, 102, 120, + 0, 67, 58, 92, 65, 84, + 71, 32, 83, 97, 109, 112, + 108, 101, 32, 68, 101, 118, + 101, 108, 111, 112, 109, 101, + 110, 116, 92, 115, 116, 95, + 100, 101, 118, 92, 75, 105, + 116, 115, 92, 68, 105, 114, + 101, 99, 116, 88, 84, 75, + 92, 83, 114, 99, 92, 83, + 104, 97, 100, 101, 114, 115, + 92, 67, 111, 109, 109, 111, + 110, 46, 102, 120, 104, 0, + 171, 171, 40, 0, 0, 0, + 115, 0, 0, 0, 0, 0, + 255, 255, 124, 2, 0, 0, + 0, 0, 255, 255, 136, 2, + 0, 0, 0, 0, 255, 255, + 148, 2, 0, 0, 0, 0, + 255, 255, 160, 2, 0, 0, + 141, 1, 0, 0, 172, 2, + 0, 0, 141, 1, 0, 0, + 188, 2, 0, 0, 26, 0, + 1, 0, 204, 2, 0, 0, + 26, 0, 1, 0, 224, 2, + 0, 0, 80, 83, 66, 97, + 115, 105, 99, 86, 101, 114, + 116, 101, 120, 76, 105, 103, + 104, 116, 105, 110, 103, 84, + 120, 78, 111, 70, 111, 103, + 0, 171, 171, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 65, 100, 100, 83, + 112, 101, 99, 117, 108, 97, + 114, 0, 99, 111, 108, 111, + 114, 0, 171, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 5, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 112, 105, 110, 0, + 68, 105, 102, 102, 117, 115, + 101, 0, 83, 112, 101, 99, + 117, 108, 97, 114, 0, 84, + 101, 120, 67, 111, 111, 114, + 100, 0, 171, 171, 1, 0, + 3, 0, 1, 0, 2, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 128, 1, 0, 0, + 84, 1, 0, 0, 136, 1, + 0, 0, 84, 1, 0, 0, + 145, 1, 0, 0, 156, 1, + 0, 0, 5, 0, 0, 0, + 1, 0, 10, 0, 1, 0, + 3, 0, 172, 1, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 1, 0, 0, 0, 4, 0, + 5, 0, 6, 0, 7, 0, + 2, 0, 0, 0, 8, 0, + 9, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 4, 1, + 0, 0, 36, 1, 0, 0, + 1, 0, 0, 0, 52, 1, + 0, 0, 64, 1, 0, 0, + 76, 1, 0, 0, 84, 1, + 0, 0, 1, 0, 0, 0, + 100, 1, 0, 0, 0, 0, + 0, 0, 76, 1, 0, 0, + 84, 1, 0, 0, 1, 0, + 0, 0, 112, 1, 0, 0, + 4, 1, 0, 0, 124, 1, + 0, 0, 196, 1, 0, 0, + 3, 0, 0, 0, 212, 1, + 0, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 31, 0, 0, 2, 0, 0, + 0, 128, 0, 0, 15, 176, + 31, 0, 0, 2, 0, 0, + 0, 128, 1, 0, 15, 176, + 31, 0, 0, 2, 0, 0, + 0, 128, 2, 0, 3, 176, + 31, 0, 0, 2, 0, 0, + 0, 144, 0, 8, 15, 160, + 66, 0, 0, 3, 0, 0, + 15, 128, 2, 0, 228, 176, + 0, 8, 228, 160, 5, 0, 0, 3, 0, 0, 15, 128, - 2, 0, 228, 176, 0, 8, - 228, 160, 5, 0, 0, 3, - 0, 0, 15, 128, 0, 0, - 228, 128, 0, 0, 228, 176, - 4, 0, 0, 4, 0, 0, - 7, 128, 1, 0, 228, 176, - 0, 0, 255, 128, 0, 0, - 228, 128, 1, 0, 0, 2, - 0, 8, 15, 128, 0, 0, - 228, 128, 255, 255, 0, 0, - 83, 72, 68, 82, 216, 0, - 0, 0, 64, 0, 0, 0, - 54, 0, 0, 0, 90, 0, - 0, 3, 0, 96, 16, 0, - 0, 0, 0, 0, 88, 24, - 0, 4, 0, 112, 16, 0, - 0, 0, 0, 0, 85, 85, - 0, 0, 98, 16, 0, 3, - 242, 16, 16, 0, 0, 0, - 0, 0, 98, 16, 0, 3, - 114, 16, 16, 0, 1, 0, - 0, 0, 98, 16, 0, 3, - 50, 16, 16, 0, 2, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 0, 0, - 0, 0, 104, 0, 0, 2, - 1, 0, 0, 0, 69, 0, - 0, 9, 242, 0, 16, 0, - 0, 0, 0, 0, 70, 16, - 16, 0, 2, 0, 0, 0, - 70, 126, 16, 0, 0, 0, - 0, 0, 0, 96, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 7, 242, 0, 16, 0, - 0, 0, 0, 0, 70, 14, + 0, 0, 228, 128, 0, 0, + 228, 176, 4, 0, 0, 4, + 0, 0, 7, 128, 1, 0, + 228, 176, 0, 0, 255, 128, + 0, 0, 228, 128, 1, 0, + 0, 2, 0, 8, 15, 128, + 0, 0, 228, 128, 255, 255, + 0, 0, 83, 72, 68, 82, + 216, 0, 0, 0, 64, 0, + 0, 0, 54, 0, 0, 0, + 90, 0, 0, 3, 0, 96, 16, 0, 0, 0, 0, 0, - 70, 30, 16, 0, 0, 0, - 0, 0, 50, 0, 0, 9, - 114, 32, 16, 0, 0, 0, - 0, 0, 70, 18, 16, 0, - 1, 0, 0, 0, 246, 15, + 88, 24, 0, 4, 0, 112, 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 54, 0, 0, 5, - 130, 32, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 62, 0, - 0, 1, 73, 83, 71, 78, - 96, 0, 0, 0, 3, 0, - 0, 0, 8, 0, 0, 0, - 80, 0, 0, 0, 0, 0, + 85, 85, 0, 0, 98, 16, + 0, 3, 242, 16, 16, 0, + 0, 0, 0, 0, 98, 16, + 0, 3, 114, 16, 16, 0, + 1, 0, 0, 0, 98, 16, + 0, 3, 50, 16, 16, 0, + 2, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 0, 0, 0, 0, 104, 0, + 0, 2, 1, 0, 0, 0, + 69, 0, 0, 9, 242, 0, + 16, 0, 0, 0, 0, 0, + 70, 16, 16, 0, 2, 0, + 0, 0, 70, 126, 16, 0, + 0, 0, 0, 0, 0, 96, + 16, 0, 0, 0, 0, 0, + 56, 0, 0, 7, 242, 0, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 0, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 50, 0, + 0, 9, 114, 32, 16, 0, + 0, 0, 0, 0, 70, 18, + 16, 0, 1, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 130, 32, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 62, 0, 0, 1, 73, 83, + 71, 78, 96, 0, 0, 0, + 3, 0, 0, 0, 8, 0, + 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 15, 0, 0, - 80, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 15, + 0, 0, 80, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 15, 7, + 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 15, 7, 0, 0, - 86, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 2, 0, 0, 0, 3, 3, + 0, 0, 67, 79, 76, 79, + 82, 0, 84, 69, 88, 67, + 79, 79, 82, 68, 0, 171, + 79, 83, 71, 78, 44, 0, + 0, 0, 1, 0, 0, 0, + 8, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 3, 3, 0, 0, - 67, 79, 76, 79, 82, 0, - 84, 69, 88, 67, 79, 79, - 82, 68, 0, 171, 79, 83, - 71, 78, 44, 0, 0, 0, - 1, 0, 0, 0, 8, 0, - 0, 0, 32, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 83, 86, 95, 84, - 97, 114, 103, 101, 116, 0, - 171, 171 + 15, 0, 0, 0, 83, 86, + 95, 84, 97, 114, 103, 101, + 116, 0, 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasic.inc b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasic.inc index 87ab32fb..3167d5da 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasic.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasic.inc @@ -39,18 +39,28 @@ // vs_2_0 def c7, 0, 1, 0, 0 - dcl_texcoord v0 - dp4 oPos.z, v0, c5 + dcl_texcoord v0 // vin<0,1,2,3> + +#line 43 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + dp4 oPos.z, v0, c5 // ::VSBasic<10> + +#line 14 dp4 r0.x, v0, c2 max r0.x, r0.x, c7.x - min oT1.w, r0.x, c7.y - dp4 r0.x, v0, c3 - dp4 r0.y, v0, c4 - dp4 r0.z, v0, c6 - mad oPos.xy, r0.z, c0, r0 - mov oPos.w, r0.z - mov oT0, c1 - mov oT1.xyz, c7.x + min oT1.w, r0.x, c7.y // ::VSBasic<7> + +#line 43 + dp4 r0.x, v0, c3 // ::vout<0> + dp4 r0.y, v0, c4 // ::vout<1> + dp4 r0.z, v0, c6 // ::vout<3> + +#line 44 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mad oPos.xy, r0.z, c0, r0 // ::VSBasic<8,9> + mov oPos.w, r0.z // ::VSBasic<11> + +#line 44 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + mov oT0, c1 // ::VSBasic<0,1,2,3> + mov oT1.xyz, c7.x // ::VSBasic<4,5,6> // approximately 11 instruction slots used vs_4_0 @@ -72,17 +82,17 @@ ret const BYTE BasicEffect_VSBasic[] = { - 68, 88, 66, 67, 188, 140, - 74, 180, 173, 123, 123, 133, - 113, 248, 140, 69, 65, 196, - 202, 186, 1, 0, 0, 0, - 40, 3, 0, 0, 4, 0, + 68, 88, 66, 67, 167, 3, + 36, 114, 168, 80, 114, 14, + 30, 56, 143, 162, 14, 97, + 122, 15, 1, 0, 0, 0, + 36, 6, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 88, 1, 0, 0, 136, 2, - 0, 0, 188, 2, 0, 0, - 65, 111, 110, 57, 32, 1, - 0, 0, 32, 1, 0, 0, - 0, 2, 254, 255, 212, 0, + 84, 4, 0, 0, 132, 5, + 0, 0, 184, 5, 0, 0, + 65, 111, 110, 57, 28, 4, + 0, 0, 28, 4, 0, 0, + 0, 2, 254, 255, 208, 3, 0, 0, 76, 0, 0, 0, 3, 0, 36, 0, 0, 0, 72, 0, 0, 0, 72, 0, @@ -94,117 +104,244 @@ const BYTE BasicEffect_VSBasic[] = 0, 0, 0, 0, 22, 0, 4, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 81, 0, - 0, 5, 7, 0, 15, 160, + 0, 2, 254, 255, 254, 255, + 190, 0, 68, 66, 85, 71, + 40, 0, 0, 0, 204, 2, 0, 0, 0, 0, 0, 0, - 128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 9, 0, - 0, 3, 0, 0, 4, 192, - 0, 0, 228, 144, 5, 0, - 228, 160, 9, 0, 0, 3, - 0, 0, 1, 128, 0, 0, - 228, 144, 2, 0, 228, 160, - 11, 0, 0, 3, 0, 0, - 1, 128, 0, 0, 0, 128, - 7, 0, 0, 160, 10, 0, - 0, 3, 1, 0, 8, 224, - 0, 0, 0, 128, 7, 0, - 85, 160, 9, 0, 0, 3, + 2, 0, 0, 0, 188, 0, + 0, 0, 13, 0, 0, 0, + 196, 0, 0, 0, 3, 0, + 0, 0, 144, 2, 0, 0, + 44, 1, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 67, 111, + 109, 109, 111, 110, 46, 102, + 120, 104, 0, 67, 58, 92, + 65, 84, 71, 32, 83, 97, + 109, 112, 108, 101, 32, 68, + 101, 118, 101, 108, 111, 112, + 109, 101, 110, 116, 92, 115, + 116, 95, 100, 101, 118, 92, + 75, 105, 116, 115, 92, 68, + 105, 114, 101, 99, 116, 88, + 84, 75, 92, 83, 114, 99, + 92, 83, 104, 97, 100, 101, + 114, 115, 92, 66, 97, 115, + 105, 99, 69, 102, 102, 101, + 99, 116, 46, 102, 120, 0, + 171, 171, 40, 0, 0, 0, + 111, 0, 0, 0, 0, 0, + 255, 255, 0, 3, 0, 0, + 0, 0, 255, 255, 24, 3, + 0, 0, 43, 0, 0, 0, + 36, 3, 0, 0, 14, 0, + 0, 0, 52, 3, 0, 0, + 14, 0, 0, 0, 68, 3, + 0, 0, 14, 0, 0, 0, + 84, 3, 0, 0, 43, 0, + 0, 0, 100, 3, 0, 0, + 43, 0, 0, 0, 116, 3, + 0, 0, 43, 0, 0, 0, + 132, 3, 0, 0, 44, 0, + 1, 0, 148, 3, 0, 0, + 44, 0, 1, 0, 168, 3, + 0, 0, 44, 0, 0, 0, + 180, 3, 0, 0, 45, 0, + 0, 0, 192, 3, 0, 0, + 86, 83, 66, 97, 115, 105, + 99, 0, 68, 105, 102, 102, + 117, 115, 101, 0, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 83, 112, 101, 99, + 117, 108, 97, 114, 0, 80, + 111, 115, 105, 116, 105, 111, + 110, 80, 83, 0, 52, 1, + 0, 0, 60, 1, 0, 0, + 76, 1, 0, 0, 60, 1, + 0, 0, 85, 1, 0, 0, + 60, 1, 0, 0, 5, 0, + 0, 0, 1, 0, 12, 0, + 1, 0, 3, 0, 96, 1, + 0, 0, 2, 0, 0, 0, + 255, 255, 255, 255, 10, 0, + 255, 255, 5, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 7, 0, 9, 0, 0, 0, + 8, 0, 9, 0, 255, 255, + 255, 255, 10, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 11, 0, 11, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 12, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 255, 255, 118, 105, 110, 0, + 80, 111, 115, 105, 116, 105, + 111, 110, 0, 171, 171, 171, + 212, 1, 0, 0, 60, 1, + 0, 0, 5, 0, 0, 0, + 1, 0, 4, 0, 1, 0, + 1, 0, 224, 1, 0, 0, + 1, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 118, 111, 117, 116, 0, 80, + 111, 115, 95, 112, 115, 0, + 1, 0, 3, 0, 1, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 70, 111, + 103, 70, 97, 99, 116, 111, + 114, 0, 171, 171, 0, 0, + 3, 0, 1, 0, 1, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 9, 2, 0, 0, + 60, 1, 0, 0, 52, 1, + 0, 0, 60, 1, 0, 0, + 76, 1, 0, 0, 16, 2, + 0, 0, 32, 2, 0, 0, + 44, 2, 0, 0, 5, 0, + 0, 0, 1, 0, 12, 0, + 1, 0, 4, 0, 60, 2, + 0, 0, 6, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 7, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 8, 0, 0, 0, + 255, 255, 255, 255, 3, 0, + 255, 255, 0, 0, 0, 0, + 44, 1, 0, 0, 120, 1, + 0, 0, 6, 0, 0, 0, + 136, 1, 0, 0, 44, 1, + 0, 0, 208, 1, 0, 0, + 232, 1, 0, 0, 1, 0, + 0, 0, 248, 1, 0, 0, + 0, 0, 0, 0, 4, 2, + 0, 0, 92, 2, 0, 0, + 3, 0, 0, 0, 108, 2, + 0, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 81, 0, 0, 5, 7, 0, + 15, 160, 0, 0, 0, 0, + 0, 0, 128, 63, 0, 0, + 0, 0, 0, 0, 0, 0, + 31, 0, 0, 2, 5, 0, + 0, 128, 0, 0, 15, 144, + 9, 0, 0, 3, 0, 0, + 4, 192, 0, 0, 228, 144, + 5, 0, 228, 160, 9, 0, + 0, 3, 0, 0, 1, 128, + 0, 0, 228, 144, 2, 0, + 228, 160, 11, 0, 0, 3, 0, 0, 1, 128, 0, 0, - 228, 144, 3, 0, 228, 160, + 0, 128, 7, 0, 0, 160, + 10, 0, 0, 3, 1, 0, + 8, 224, 0, 0, 0, 128, + 7, 0, 85, 160, 9, 0, + 0, 3, 0, 0, 1, 128, + 0, 0, 228, 144, 3, 0, + 228, 160, 9, 0, 0, 3, + 0, 0, 2, 128, 0, 0, + 228, 144, 4, 0, 228, 160, 9, 0, 0, 3, 0, 0, - 2, 128, 0, 0, 228, 144, - 4, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 4, 128, - 0, 0, 228, 144, 6, 0, - 228, 160, 4, 0, 0, 4, - 0, 0, 3, 192, 0, 0, - 170, 128, 0, 0, 228, 160, - 0, 0, 228, 128, 1, 0, - 0, 2, 0, 0, 8, 192, - 0, 0, 170, 128, 1, 0, - 0, 2, 0, 0, 15, 224, - 1, 0, 228, 160, 1, 0, - 0, 2, 1, 0, 7, 224, - 7, 0, 0, 160, 255, 255, - 0, 0, 83, 72, 68, 82, - 40, 1, 0, 0, 64, 0, - 1, 0, 74, 0, 0, 0, - 89, 0, 0, 4, 70, 142, - 32, 0, 0, 0, 0, 0, - 26, 0, 0, 0, 95, 0, - 0, 3, 242, 16, 16, 0, - 0, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 0, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 1, 0, 0, 0, 103, 0, - 0, 4, 242, 32, 16, 0, - 2, 0, 0, 0, 1, 0, - 0, 0, 54, 0, 0, 6, - 242, 32, 16, 0, 0, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 17, 32, 0, 8, - 130, 32, 16, 0, 1, 0, - 0, 0, 70, 30, 16, 0, + 4, 128, 0, 0, 228, 144, + 6, 0, 228, 160, 4, 0, + 0, 4, 0, 0, 3, 192, + 0, 0, 170, 128, 0, 0, + 228, 160, 0, 0, 228, 128, + 1, 0, 0, 2, 0, 0, + 8, 192, 0, 0, 170, 128, + 1, 0, 0, 2, 0, 0, + 15, 224, 1, 0, 228, 160, + 1, 0, 0, 2, 1, 0, + 7, 224, 7, 0, 0, 160, + 255, 255, 0, 0, 83, 72, + 68, 82, 40, 1, 0, 0, + 64, 0, 1, 0, 74, 0, + 0, 0, 89, 0, 0, 4, + 70, 142, 32, 0, 0, 0, + 0, 0, 26, 0, 0, 0, + 95, 0, 0, 3, 242, 16, + 16, 0, 0, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 0, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 1, 0, 0, 0, + 103, 0, 0, 4, 242, 32, + 16, 0, 2, 0, 0, 0, + 1, 0, 0, 0, 54, 0, + 0, 6, 242, 32, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 14, 0, 0, 0, 54, 0, - 0, 8, 114, 32, 16, 0, - 1, 0, 0, 0, 2, 64, - 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 17, 32, + 0, 8, 130, 32, 16, 0, + 1, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 14, 0, 0, 0, + 54, 0, 0, 8, 114, 32, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 17, 0, 0, 8, 18, 32, - 16, 0, 2, 0, 0, 0, - 70, 30, 16, 0, 0, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 22, 0, 0, 0, 17, 0, 0, 8, - 34, 32, 16, 0, 2, 0, + 18, 32, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 23, 0, 0, 0, 17, 0, - 0, 8, 66, 32, 16, 0, + 22, 0, 0, 0, 17, 0, + 0, 8, 34, 32, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, - 0, 0, 24, 0, 0, 0, - 17, 0, 0, 8, 130, 32, + 0, 0, 23, 0, 0, 0, + 17, 0, 0, 8, 66, 32, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 25, 0, - 0, 0, 62, 0, 0, 1, - 73, 83, 71, 78, 44, 0, - 0, 0, 1, 0, 0, 0, - 8, 0, 0, 0, 32, 0, + 0, 0, 0, 0, 24, 0, + 0, 0, 17, 0, 0, 8, + 130, 32, 16, 0, 2, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 25, 0, 0, 0, 62, 0, + 0, 1, 73, 83, 71, 78, + 44, 0, 0, 0, 1, 0, + 0, 0, 8, 0, 0, 0, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 15, 0, 0, + 83, 86, 95, 80, 111, 115, + 105, 116, 105, 111, 110, 0, + 79, 83, 71, 78, 100, 0, + 0, 0, 3, 0, 0, 0, + 8, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 15, 15, 0, 0, 83, 86, - 95, 80, 111, 115, 105, 116, - 105, 111, 110, 0, 79, 83, - 71, 78, 100, 0, 0, 0, - 3, 0, 0, 0, 8, 0, - 0, 0, 80, 0, 0, 0, + 15, 0, 0, 0, 80, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 15, 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 80, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 15, 0, - 0, 0, 86, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 3, 0, 0, 0, - 2, 0, 0, 0, 15, 0, - 0, 0, 67, 79, 76, 79, - 82, 0, 83, 86, 95, 80, - 111, 115, 105, 116, 105, 111, - 110, 0, 171, 171 + 1, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 15, 0, 0, 0, 67, 79, + 76, 79, 82, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicNoFog.inc b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicNoFog.inc index cc855132..61f31576 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicNoFog.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicNoFog.inc @@ -36,14 +36,20 @@ // Level9 shader bytecode: // vs_2_0 - dcl_texcoord v0 - dp4 oPos.z, v0, c4 - dp4 r0.x, v0, c2 - dp4 r0.y, v0, c3 - dp4 r0.z, v0, c5 - mad oPos.xy, r0.z, c0, r0 - mov oPos.w, r0.z - mov oT0, c1 + dcl_texcoord v0 // vin<0,1,2,3> + +#line 43 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + dp4 oPos.z, v0, c4 // ::VSBasicNoFog<6> + dp4 r0.x, v0, c2 // ::vout<0> + dp4 r0.y, v0, c3 // ::vout<1> + dp4 r0.z, v0, c5 // ::vout<3> + +#line 56 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mad oPos.xy, r0.z, c0, r0 // ::VSBasicNoFog<4,5> + mov oPos.w, r0.z // ::VSBasicNoFog<7> + +#line 44 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + mov oT0, c1 // ::VSBasicNoFog<0,1,2,3> // approximately 7 instruction slots used vs_4_0 @@ -62,17 +68,17 @@ ret const BYTE BasicEffect_VSBasicNoFog[] = { - 68, 88, 66, 67, 20, 3, - 221, 125, 108, 131, 107, 138, - 40, 72, 25, 121, 1, 41, - 145, 196, 1, 0, 0, 0, - 100, 2, 0, 0, 4, 0, + 68, 88, 66, 67, 73, 95, + 170, 11, 2, 152, 180, 140, + 155, 123, 152, 92, 110, 224, + 155, 128, 1, 0, 0, 0, + 36, 5, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 248, 0, 0, 0, 220, 1, - 0, 0, 16, 2, 0, 0, - 65, 111, 110, 57, 192, 0, - 0, 0, 192, 0, 0, 0, - 0, 2, 254, 255, 128, 0, + 184, 3, 0, 0, 156, 4, + 0, 0, 208, 4, 0, 0, + 65, 111, 110, 57, 128, 3, + 0, 0, 128, 3, 0, 0, + 0, 2, 254, 255, 64, 3, 0, 0, 64, 0, 0, 0, 2, 0, 36, 0, 0, 0, 60, 0, 0, 0, 60, 0, @@ -82,86 +88,204 @@ const BYTE BasicEffect_VSBasicNoFog[] = 0, 0, 0, 0, 22, 0, 4, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 9, 0, - 0, 3, 0, 0, 4, 192, - 0, 0, 228, 144, 4, 0, + 0, 2, 254, 255, 254, 255, + 175, 0, 68, 66, 85, 71, + 40, 0, 0, 0, 144, 2, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 188, 0, + 0, 0, 8, 0, 0, 0, + 196, 0, 0, 0, 3, 0, + 0, 0, 84, 2, 0, 0, + 4, 1, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 67, 111, + 109, 109, 111, 110, 46, 102, + 120, 104, 0, 67, 58, 92, + 65, 84, 71, 32, 83, 97, + 109, 112, 108, 101, 32, 68, + 101, 118, 101, 108, 111, 112, + 109, 101, 110, 116, 92, 115, + 116, 95, 100, 101, 118, 92, + 75, 105, 116, 115, 92, 68, + 105, 114, 101, 99, 116, 88, + 84, 75, 92, 83, 114, 99, + 92, 83, 104, 97, 100, 101, + 114, 115, 92, 66, 97, 115, + 105, 99, 69, 102, 102, 101, + 99, 116, 46, 102, 120, 0, + 171, 171, 40, 0, 0, 0, + 111, 0, 0, 0, 0, 0, + 255, 255, 196, 2, 0, 0, + 43, 0, 0, 0, 208, 2, + 0, 0, 43, 0, 0, 0, + 224, 2, 0, 0, 43, 0, + 0, 0, 240, 2, 0, 0, + 43, 0, 0, 0, 0, 3, + 0, 0, 56, 0, 1, 0, + 16, 3, 0, 0, 56, 0, + 1, 0, 36, 3, 0, 0, + 44, 0, 0, 0, 48, 3, + 0, 0, 86, 83, 66, 97, + 115, 105, 99, 78, 111, 70, + 111, 103, 0, 68, 105, 102, + 102, 117, 115, 101, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 80, 111, 115, 105, 116, 105, + 111, 110, 80, 83, 0, 171, + 17, 1, 0, 0, 28, 1, + 0, 0, 44, 1, 0, 0, + 28, 1, 0, 0, 5, 0, + 0, 0, 1, 0, 8, 0, + 1, 0, 2, 0, 56, 1, + 0, 0, 1, 0, 0, 0, + 255, 255, 255, 255, 6, 0, + 255, 255, 5, 0, 0, 0, + 4, 0, 5, 0, 255, 255, + 255, 255, 6, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 7, 0, 7, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 118, 105, 110, 0, + 80, 111, 115, 105, 116, 105, + 111, 110, 0, 171, 171, 171, + 140, 1, 0, 0, 28, 1, + 0, 0, 5, 0, 0, 0, + 1, 0, 4, 0, 1, 0, + 1, 0, 152, 1, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 118, 111, 117, 116, 0, 80, + 111, 115, 95, 112, 115, 0, + 83, 112, 101, 99, 117, 108, + 97, 114, 0, 171, 171, 171, + 1, 0, 3, 0, 1, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 70, 111, + 103, 70, 97, 99, 116, 111, + 114, 0, 171, 171, 0, 0, + 3, 0, 1, 0, 1, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 193, 1, 0, 0, + 28, 1, 0, 0, 17, 1, + 0, 0, 28, 1, 0, 0, + 200, 1, 0, 0, 212, 1, + 0, 0, 228, 1, 0, 0, + 240, 1, 0, 0, 5, 0, + 0, 0, 1, 0, 12, 0, + 1, 0, 4, 0, 0, 2, + 0, 0, 2, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 3, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 4, 0, 0, 0, + 255, 255, 255, 255, 3, 0, + 255, 255, 0, 0, 0, 0, + 4, 1, 0, 0, 72, 1, + 0, 0, 4, 0, 0, 0, + 88, 1, 0, 0, 4, 1, + 0, 0, 136, 1, 0, 0, + 160, 1, 0, 0, 1, 0, + 0, 0, 176, 1, 0, 0, + 0, 0, 0, 0, 188, 1, + 0, 0, 32, 2, 0, 0, + 3, 0, 0, 0, 48, 2, + 0, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 31, 0, 0, 2, 5, 0, + 0, 128, 0, 0, 15, 144, + 9, 0, 0, 3, 0, 0, + 4, 192, 0, 0, 228, 144, + 4, 0, 228, 160, 9, 0, + 0, 3, 0, 0, 1, 128, + 0, 0, 228, 144, 2, 0, 228, 160, 9, 0, 0, 3, - 0, 0, 1, 128, 0, 0, - 228, 144, 2, 0, 228, 160, + 0, 0, 2, 128, 0, 0, + 228, 144, 3, 0, 228, 160, 9, 0, 0, 3, 0, 0, - 2, 128, 0, 0, 228, 144, - 3, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 4, 128, - 0, 0, 228, 144, 5, 0, - 228, 160, 4, 0, 0, 4, - 0, 0, 3, 192, 0, 0, - 170, 128, 0, 0, 228, 160, - 0, 0, 228, 128, 1, 0, - 0, 2, 0, 0, 8, 192, - 0, 0, 170, 128, 1, 0, - 0, 2, 0, 0, 15, 224, - 1, 0, 228, 160, 255, 255, - 0, 0, 83, 72, 68, 82, - 220, 0, 0, 0, 64, 0, - 1, 0, 55, 0, 0, 0, - 89, 0, 0, 4, 70, 142, - 32, 0, 0, 0, 0, 0, - 26, 0, 0, 0, 95, 0, - 0, 3, 242, 16, 16, 0, - 0, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 0, 0, 0, 0, 103, 0, - 0, 4, 242, 32, 16, 0, - 1, 0, 0, 0, 1, 0, - 0, 0, 54, 0, 0, 6, - 242, 32, 16, 0, 0, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 17, 0, 0, 8, - 18, 32, 16, 0, 1, 0, - 0, 0, 70, 30, 16, 0, + 4, 128, 0, 0, 228, 144, + 5, 0, 228, 160, 4, 0, + 0, 4, 0, 0, 3, 192, + 0, 0, 170, 128, 0, 0, + 228, 160, 0, 0, 228, 128, + 1, 0, 0, 2, 0, 0, + 8, 192, 0, 0, 170, 128, + 1, 0, 0, 2, 0, 0, + 15, 224, 1, 0, 228, 160, + 255, 255, 0, 0, 83, 72, + 68, 82, 220, 0, 0, 0, + 64, 0, 1, 0, 55, 0, + 0, 0, 89, 0, 0, 4, + 70, 142, 32, 0, 0, 0, + 0, 0, 26, 0, 0, 0, + 95, 0, 0, 3, 242, 16, + 16, 0, 0, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 0, 0, 0, 0, + 103, 0, 0, 4, 242, 32, + 16, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 54, 0, + 0, 6, 242, 32, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 22, 0, 0, 0, 17, 0, - 0, 8, 34, 32, 16, 0, + 0, 0, 0, 0, 17, 0, + 0, 8, 18, 32, 16, 0, 1, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, - 0, 0, 23, 0, 0, 0, - 17, 0, 0, 8, 66, 32, + 0, 0, 22, 0, 0, 0, + 17, 0, 0, 8, 34, 32, 16, 0, 1, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 24, 0, + 0, 0, 0, 0, 23, 0, 0, 0, 17, 0, 0, 8, - 130, 32, 16, 0, 1, 0, + 66, 32, 16, 0, 1, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 25, 0, 0, 0, 62, 0, - 0, 1, 73, 83, 71, 78, - 44, 0, 0, 0, 1, 0, + 24, 0, 0, 0, 17, 0, + 0, 8, 130, 32, 16, 0, + 1, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 25, 0, 0, 0, + 62, 0, 0, 1, 73, 83, + 71, 78, 44, 0, 0, 0, + 1, 0, 0, 0, 8, 0, + 0, 0, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 15, + 0, 0, 83, 86, 95, 80, + 111, 115, 105, 116, 105, 111, + 110, 0, 79, 83, 71, 78, + 76, 0, 0, 0, 2, 0, 0, 0, 8, 0, 0, 0, - 32, 0, 0, 0, 0, 0, + 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, - 0, 0, 15, 15, 0, 0, + 0, 0, 15, 0, 0, 0, + 62, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 15, 0, 0, 0, + 67, 79, 76, 79, 82, 0, 83, 86, 95, 80, 111, 115, 105, 116, 105, 111, 110, 0, - 79, 83, 71, 78, 76, 0, - 0, 0, 2, 0, 0, 0, - 8, 0, 0, 0, 56, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 62, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 15, 0, 0, 0, 67, 79, - 76, 79, 82, 0, 83, 86, - 95, 80, 111, 115, 105, 116, - 105, 111, 110, 0, 171, 171 + 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicOneLight.inc b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicOneLight.inc index bd3a7a1f..2296ab46 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicOneLight.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicOneLight.inc @@ -43,41 +43,69 @@ // vs_2_0 def c19, 0, 1, 0, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5,6> + +#line 59 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" dp3 r0.x, v1, c12 dp3 r0.y, v1, c13 dp3 r0.z, v1, c14 - nrm r1.xyz, r0 - dp3 r0.x, -c4, r1 - sge r0.y, r0.x, c19.x - mul r0.x, r0.x, r0.y + nrm r1.xyz, r0 // ::worldNormal<0,1,2> + +#line 36 + dp3 r0.x, -c4, r1 // ::dotL<0> + +#line 39 + sge r0.y, r0.x, c19.x // ::zeroL<0> + mul r0.x, r0.x, r0.y // ::diffuse<0> + +#line 46 mul r0.xzw, r0.x, c5.xyyz - mov r2.xyz, c1 - mad oT0.xyz, r0.xzww, r2, c2 - dp4 r2.x, v0, c9 - dp4 r2.y, v0, c10 - dp4 r2.z, v0, c11 + mov r2.xyz, c1 // Parameters::DiffuseColor<0,1,2> + mad oT0.xyz, r0.xzww, r2, c2 // ::VSBasicOneLight<0,1,2> + +#line 57 + dp4 r2.x, v0, c9 // ::pos_ws<0> + dp4 r2.y, v0, c10 // ::pos_ws<1> + dp4 r2.z, v0, c11 // ::pos_ws<2> add r0.xzw, -r2.xyyz, c7.xyyz - nrm r2.xyz, r0.xzww + nrm r2.xyz, r0.xzww // ::eyeVector<0,1,2> + +#line 33 add r0.xzw, r2.xyyz, -c4.xyyz - nrm r2.xyz, r0.xzww - dp3 r0.x, r2, r1 + nrm r2.xyz, r0.xzww // ::halfVectors<0,1,2> + +#line 37 + dp3 r0.x, r2, r1 // ::dotH<0> + +#line 42 max r0.x, r0.x, c19.x mul r0.x, r0.y, r0.x - pow r1.x, r0.x, c3.w + pow r1.x, r0.x, c3.w // ::specular<0> + +#line 47 mul r0.xyz, r1.x, c6 - mul oT1.xyz, r0, c3 - dp4 oPos.z, v0, c17 + mul oT1.xyz, r0, c3 // ::VSBasicOneLight<4,5,6> + +#line 63 + dp4 oPos.z, v0, c17 // ::VSBasicOneLight<10> + +#line 14 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" dp4 r0.x, v0, c8 max r0.x, r0.x, c19.x - min oT1.w, r0.x, c19.y - dp4 r0.x, v0, c15 - dp4 r0.y, v0, c16 - dp4 r0.z, v0, c18 - mad oPos.xy, r0.z, c0, r0 - mov oPos.w, r0.z - mov oT0.w, c1.w + min oT1.w, r0.x, c19.y // ::VSBasicOneLight<7> + +#line 63 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp4 r0.x, v0, c15 // ::vout<0> + dp4 r0.y, v0, c16 // ::vout<1> + dp4 r0.z, v0, c18 // ::vout<3> + +#line 209 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mad oPos.xy, r0.z, c0, r0 // ::VSBasicOneLight<8,9> + mov oPos.w, r0.z // ::VSBasicOneLight<11> + +#line 46 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + mov oT0.w, c1.w // ::VSBasicOneLight<3> // approximately 41 instruction slots used vs_4_0 @@ -130,17 +158,17 @@ ret const BYTE BasicEffect_VSBasicOneLight[] = { - 68, 88, 66, 67, 84, 60, - 17, 149, 27, 169, 41, 235, - 61, 168, 242, 18, 208, 232, - 50, 117, 1, 0, 0, 0, - 60, 8, 0, 0, 4, 0, + 68, 88, 66, 67, 126, 201, + 141, 129, 108, 101, 79, 192, + 42, 19, 6, 176, 114, 68, + 39, 18, 1, 0, 0, 0, + 80, 14, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 224, 2, 0, 0, 124, 7, - 0, 0, 208, 7, 0, 0, - 65, 111, 110, 57, 168, 2, - 0, 0, 168, 2, 0, 0, - 0, 2, 254, 255, 56, 2, + 244, 8, 0, 0, 144, 13, + 0, 0, 228, 13, 0, 0, + 65, 111, 110, 57, 188, 8, + 0, 0, 188, 8, 0, 0, + 0, 2, 254, 255, 76, 8, 0, 0, 112, 0, 0, 0, 6, 0, 36, 0, 0, 0, 108, 0, 0, 0, 108, 0, @@ -158,221 +186,465 @@ const BYTE BasicEffect_VSBasicOneLight[] = 0, 0, 0, 0, 19, 0, 7, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 81, 0, - 0, 5, 19, 0, 15, 160, + 0, 2, 254, 255, 254, 255, + 132, 1, 68, 66, 85, 71, + 40, 0, 0, 0, 228, 5, 0, 0, 0, 0, 0, 0, - 128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 1, 128, - 1, 0, 15, 144, 8, 0, - 0, 3, 0, 0, 1, 128, - 1, 0, 228, 144, 12, 0, + 3, 0, 0, 0, 4, 1, + 0, 0, 36, 0, 0, 0, + 16, 1, 0, 0, 13, 0, + 0, 0, 224, 4, 0, 0, + 100, 2, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 76, 105, + 103, 104, 116, 105, 110, 103, + 46, 102, 120, 104, 0, 67, + 58, 92, 65, 84, 71, 32, + 83, 97, 109, 112, 108, 101, + 32, 68, 101, 118, 101, 108, + 111, 112, 109, 101, 110, 116, + 92, 115, 116, 95, 100, 101, + 118, 92, 75, 105, 116, 115, + 92, 68, 105, 114, 101, 99, + 116, 88, 84, 75, 92, 83, + 114, 99, 92, 83, 104, 97, + 100, 101, 114, 115, 92, 67, + 111, 109, 109, 111, 110, 46, + 102, 120, 104, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 66, 97, + 115, 105, 99, 69, 102, 102, + 101, 99, 116, 46, 102, 120, + 0, 171, 40, 0, 0, 0, + 113, 0, 0, 0, 184, 0, + 0, 0, 0, 0, 255, 255, + 24, 6, 0, 0, 0, 0, + 255, 255, 48, 6, 0, 0, + 0, 0, 255, 255, 60, 6, + 0, 0, 59, 0, 0, 0, + 72, 6, 0, 0, 59, 0, + 0, 0, 88, 6, 0, 0, + 59, 0, 0, 0, 104, 6, + 0, 0, 59, 0, 0, 0, + 120, 6, 0, 0, 36, 0, + 0, 0, 132, 6, 0, 0, + 39, 0, 0, 0, 148, 6, + 0, 0, 41, 0, 0, 0, + 164, 6, 0, 0, 46, 0, + 0, 0, 180, 6, 0, 0, + 46, 0, 0, 0, 196, 6, + 0, 0, 46, 0, 0, 0, + 208, 6, 0, 0, 57, 0, + 0, 0, 228, 6, 0, 0, + 57, 0, 0, 0, 244, 6, + 0, 0, 57, 0, 0, 0, + 4, 7, 0, 0, 58, 0, + 0, 0, 20, 7, 0, 0, + 58, 0, 0, 0, 36, 7, + 0, 0, 33, 0, 0, 0, + 48, 7, 0, 0, 33, 0, + 0, 0, 64, 7, 0, 0, + 37, 0, 0, 0, 76, 7, + 0, 0, 42, 0, 0, 0, + 92, 7, 0, 0, 42, 0, + 0, 0, 108, 7, 0, 0, + 42, 0, 0, 0, 124, 7, + 0, 0, 47, 0, 0, 0, + 140, 7, 0, 0, 47, 0, + 0, 0, 156, 7, 0, 0, + 63, 0, 0, 0, 172, 7, + 0, 0, 14, 0, 1, 0, + 188, 7, 0, 0, 14, 0, + 1, 0, 204, 7, 0, 0, + 14, 0, 1, 0, 220, 7, + 0, 0, 63, 0, 0, 0, + 236, 7, 0, 0, 63, 0, + 0, 0, 252, 7, 0, 0, + 63, 0, 0, 0, 12, 8, + 0, 0, 209, 0, 2, 0, + 28, 8, 0, 0, 209, 0, + 2, 0, 48, 8, 0, 0, + 46, 0, 0, 0, 60, 8, + 0, 0, 80, 97, 114, 97, + 109, 101, 116, 101, 114, 115, + 0, 68, 105, 102, 102, 117, + 115, 101, 67, 111, 108, 111, + 114, 0, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 11, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 86, 83, 66, 97, 115, 105, + 99, 79, 110, 101, 76, 105, + 103, 104, 116, 0, 68, 105, + 102, 102, 117, 115, 101, 0, + 1, 0, 3, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 83, 112, + 101, 99, 117, 108, 97, 114, + 0, 80, 111, 115, 105, 116, + 105, 111, 110, 80, 83, 0, + 116, 2, 0, 0, 124, 2, + 0, 0, 140, 2, 0, 0, + 124, 2, 0, 0, 149, 2, + 0, 0, 124, 2, 0, 0, + 5, 0, 0, 0, 1, 0, + 12, 0, 1, 0, 3, 0, + 160, 2, 0, 0, 12, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 25, 0, + 0, 0, 4, 0, 5, 0, + 6, 0, 255, 255, 26, 0, + 0, 0, 255, 255, 255, 255, + 10, 0, 255, 255, 29, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 7, 0, 33, 0, + 0, 0, 8, 0, 9, 0, + 255, 255, 255, 255, 34, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 11, 0, 35, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 3, 0, 100, 105, + 102, 102, 117, 115, 101, 0, + 1, 0, 3, 0, 1, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 9, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 100, 111, + 116, 72, 0, 171, 171, 171, + 20, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 100, 111, 116, 76, 0, 171, + 171, 171, 7, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 101, 121, 101, 86, + 101, 99, 116, 111, 114, 0, + 171, 171, 17, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 104, 97, 108, 102, + 86, 101, 99, 116, 111, 114, + 115, 0, 3, 0, 3, 0, + 3, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 19, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 112, 111, 115, 95, 119, 115, + 0, 171, 13, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 14, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 15, 0, 0, 0, + 255, 255, 255, 255, 2, 0, + 255, 255, 115, 112, 101, 99, + 117, 108, 97, 114, 0, 171, + 171, 171, 23, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 118, 105, 110, 0, + 80, 111, 115, 105, 116, 105, + 111, 110, 0, 78, 111, 114, + 109, 97, 108, 0, 240, 3, + 0, 0, 124, 2, 0, 0, + 249, 3, 0, 0, 36, 3, + 0, 0, 5, 0, 0, 0, + 1, 0, 7, 0, 1, 0, + 2, 0, 0, 4, 0, 0, + 1, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 2, 0, 0, 0, 4, 0, + 5, 0, 6, 0, 255, 255, + 118, 111, 117, 116, 0, 80, + 111, 115, 95, 112, 115, 0, + 70, 111, 103, 70, 97, 99, + 116, 111, 114, 0, 171, 171, + 0, 0, 3, 0, 1, 0, + 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 61, 4, + 0, 0, 124, 2, 0, 0, + 116, 2, 0, 0, 124, 2, + 0, 0, 140, 2, 0, 0, + 36, 3, 0, 0, 68, 4, + 0, 0, 80, 4, 0, 0, + 5, 0, 0, 0, 1, 0, + 12, 0, 1, 0, 4, 0, + 96, 4, 0, 0, 30, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 31, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 32, 0, + 0, 0, 255, 255, 255, 255, + 3, 0, 255, 255, 119, 111, + 114, 108, 100, 78, 111, 114, + 109, 97, 108, 0, 6, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 122, 101, + 114, 111, 76, 0, 171, 171, + 8, 0, 0, 0, 255, 255, + 0, 0, 255, 255, 255, 255, + 48, 2, 0, 0, 59, 2, + 0, 0, 72, 2, 0, 0, + 1, 0, 0, 0, 88, 2, + 0, 0, 0, 0, 0, 0, + 100, 2, 0, 0, 184, 2, + 0, 0, 7, 0, 0, 0, + 200, 2, 0, 0, 0, 0, + 0, 0, 28, 3, 0, 0, + 36, 3, 0, 0, 1, 0, + 0, 0, 52, 3, 0, 0, + 0, 0, 0, 0, 64, 3, + 0, 0, 36, 3, 0, 0, + 1, 0, 0, 0, 72, 3, + 0, 0, 0, 0, 0, 0, + 84, 3, 0, 0, 36, 3, + 0, 0, 1, 0, 0, 0, + 92, 3, 0, 0, 0, 0, + 0, 0, 104, 3, 0, 0, + 36, 3, 0, 0, 1, 0, + 0, 0, 116, 3, 0, 0, + 0, 0, 0, 0, 128, 3, + 0, 0, 140, 3, 0, 0, + 1, 0, 0, 0, 156, 3, + 0, 0, 0, 0, 0, 0, + 168, 3, 0, 0, 124, 2, + 0, 0, 3, 0, 0, 0, + 176, 3, 0, 0, 0, 0, + 0, 0, 212, 3, 0, 0, + 36, 3, 0, 0, 1, 0, + 0, 0, 224, 3, 0, 0, + 100, 2, 0, 0, 236, 3, + 0, 0, 16, 4, 0, 0, + 2, 0, 0, 0, 32, 4, + 0, 0, 0, 0, 0, 0, + 56, 4, 0, 0, 128, 4, + 0, 0, 3, 0, 0, 0, + 144, 4, 0, 0, 0, 0, + 0, 0, 180, 4, 0, 0, + 36, 3, 0, 0, 1, 0, + 0, 0, 192, 4, 0, 0, + 0, 0, 0, 0, 204, 4, + 0, 0, 36, 3, 0, 0, + 1, 0, 0, 0, 212, 4, + 0, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 81, 0, 0, 5, 19, 0, + 15, 160, 0, 0, 0, 0, + 0, 0, 128, 63, 0, 0, + 0, 0, 0, 0, 0, 0, + 31, 0, 0, 2, 5, 0, + 0, 128, 0, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 1, 128, 1, 0, 15, 144, + 8, 0, 0, 3, 0, 0, + 1, 128, 1, 0, 228, 144, + 12, 0, 228, 160, 8, 0, + 0, 3, 0, 0, 2, 128, + 1, 0, 228, 144, 13, 0, 228, 160, 8, 0, 0, 3, - 0, 0, 2, 128, 1, 0, - 228, 144, 13, 0, 228, 160, + 0, 0, 4, 128, 1, 0, + 228, 144, 14, 0, 228, 160, + 36, 0, 0, 2, 1, 0, + 7, 128, 0, 0, 228, 128, 8, 0, 0, 3, 0, 0, - 4, 128, 1, 0, 228, 144, - 14, 0, 228, 160, 36, 0, - 0, 2, 1, 0, 7, 128, - 0, 0, 228, 128, 8, 0, - 0, 3, 0, 0, 1, 128, - 4, 0, 228, 161, 1, 0, - 228, 128, 13, 0, 0, 3, - 0, 0, 2, 128, 0, 0, - 0, 128, 19, 0, 0, 160, + 1, 128, 4, 0, 228, 161, + 1, 0, 228, 128, 13, 0, + 0, 3, 0, 0, 2, 128, + 0, 0, 0, 128, 19, 0, + 0, 160, 5, 0, 0, 3, + 0, 0, 1, 128, 0, 0, + 0, 128, 0, 0, 85, 128, 5, 0, 0, 3, 0, 0, - 1, 128, 0, 0, 0, 128, - 0, 0, 85, 128, 5, 0, - 0, 3, 0, 0, 13, 128, - 0, 0, 0, 128, 5, 0, - 148, 160, 1, 0, 0, 2, - 2, 0, 7, 128, 1, 0, - 228, 160, 4, 0, 0, 4, - 0, 0, 7, 224, 0, 0, - 248, 128, 2, 0, 228, 128, - 2, 0, 228, 160, 9, 0, - 0, 3, 2, 0, 1, 128, - 0, 0, 228, 144, 9, 0, - 228, 160, 9, 0, 0, 3, - 2, 0, 2, 128, 0, 0, - 228, 144, 10, 0, 228, 160, + 13, 128, 0, 0, 0, 128, + 5, 0, 148, 160, 1, 0, + 0, 2, 2, 0, 7, 128, + 1, 0, 228, 160, 4, 0, + 0, 4, 0, 0, 7, 224, + 0, 0, 248, 128, 2, 0, + 228, 128, 2, 0, 228, 160, 9, 0, 0, 3, 2, 0, - 4, 128, 0, 0, 228, 144, - 11, 0, 228, 160, 2, 0, + 1, 128, 0, 0, 228, 144, + 9, 0, 228, 160, 9, 0, + 0, 3, 2, 0, 2, 128, + 0, 0, 228, 144, 10, 0, + 228, 160, 9, 0, 0, 3, + 2, 0, 4, 128, 0, 0, + 228, 144, 11, 0, 228, 160, + 2, 0, 0, 3, 0, 0, + 13, 128, 2, 0, 148, 129, + 7, 0, 148, 160, 36, 0, + 0, 2, 2, 0, 7, 128, + 0, 0, 248, 128, 2, 0, 0, 3, 0, 0, 13, 128, - 2, 0, 148, 129, 7, 0, - 148, 160, 36, 0, 0, 2, + 2, 0, 148, 128, 4, 0, + 148, 161, 36, 0, 0, 2, 2, 0, 7, 128, 0, 0, - 248, 128, 2, 0, 0, 3, - 0, 0, 13, 128, 2, 0, - 148, 128, 4, 0, 148, 161, - 36, 0, 0, 2, 2, 0, - 7, 128, 0, 0, 248, 128, - 8, 0, 0, 3, 0, 0, - 1, 128, 2, 0, 228, 128, - 1, 0, 228, 128, 11, 0, - 0, 3, 0, 0, 1, 128, - 0, 0, 0, 128, 19, 0, - 0, 160, 5, 0, 0, 3, - 0, 0, 1, 128, 0, 0, - 85, 128, 0, 0, 0, 128, - 32, 0, 0, 3, 1, 0, + 248, 128, 8, 0, 0, 3, + 0, 0, 1, 128, 2, 0, + 228, 128, 1, 0, 228, 128, + 11, 0, 0, 3, 0, 0, 1, 128, 0, 0, 0, 128, - 3, 0, 255, 160, 5, 0, - 0, 3, 0, 0, 7, 128, - 1, 0, 0, 128, 6, 0, - 228, 160, 5, 0, 0, 3, - 1, 0, 7, 224, 0, 0, - 228, 128, 3, 0, 228, 160, - 9, 0, 0, 3, 0, 0, - 4, 192, 0, 0, 228, 144, - 17, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 1, 128, - 0, 0, 228, 144, 8, 0, - 228, 160, 11, 0, 0, 3, - 0, 0, 1, 128, 0, 0, - 0, 128, 19, 0, 0, 160, - 10, 0, 0, 3, 1, 0, - 8, 224, 0, 0, 0, 128, - 19, 0, 85, 160, 9, 0, + 19, 0, 0, 160, 5, 0, 0, 3, 0, 0, 1, 128, - 0, 0, 228, 144, 15, 0, + 0, 0, 85, 128, 0, 0, + 0, 128, 32, 0, 0, 3, + 1, 0, 1, 128, 0, 0, + 0, 128, 3, 0, 255, 160, + 5, 0, 0, 3, 0, 0, + 7, 128, 1, 0, 0, 128, + 6, 0, 228, 160, 5, 0, + 0, 3, 1, 0, 7, 224, + 0, 0, 228, 128, 3, 0, 228, 160, 9, 0, 0, 3, - 0, 0, 2, 128, 0, 0, - 228, 144, 16, 0, 228, 160, + 0, 0, 4, 192, 0, 0, + 228, 144, 17, 0, 228, 160, 9, 0, 0, 3, 0, 0, - 4, 128, 0, 0, 228, 144, - 18, 0, 228, 160, 4, 0, - 0, 4, 0, 0, 3, 192, - 0, 0, 170, 128, 0, 0, - 228, 160, 0, 0, 228, 128, - 1, 0, 0, 2, 0, 0, - 8, 192, 0, 0, 170, 128, - 1, 0, 0, 2, 0, 0, - 8, 224, 1, 0, 255, 160, - 255, 255, 0, 0, 83, 72, - 68, 82, 148, 4, 0, 0, - 64, 0, 1, 0, 37, 1, - 0, 0, 89, 0, 0, 4, - 70, 142, 32, 0, 0, 0, - 0, 0, 26, 0, 0, 0, - 95, 0, 0, 3, 242, 16, - 16, 0, 0, 0, 0, 0, - 95, 0, 0, 3, 114, 16, - 16, 0, 1, 0, 0, 0, - 101, 0, 0, 3, 242, 32, - 16, 0, 0, 0, 0, 0, - 101, 0, 0, 3, 242, 32, - 16, 0, 1, 0, 0, 0, - 103, 0, 0, 4, 242, 32, - 16, 0, 2, 0, 0, 0, - 1, 0, 0, 0, 104, 0, - 0, 2, 3, 0, 0, 0, - 16, 0, 0, 8, 18, 0, - 16, 0, 0, 0, 0, 0, - 70, 18, 16, 0, 1, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 19, 0, + 1, 128, 0, 0, 228, 144, + 8, 0, 228, 160, 11, 0, + 0, 3, 0, 0, 1, 128, + 0, 0, 0, 128, 19, 0, + 0, 160, 10, 0, 0, 3, + 1, 0, 8, 224, 0, 0, + 0, 128, 19, 0, 85, 160, + 9, 0, 0, 3, 0, 0, + 1, 128, 0, 0, 228, 144, + 15, 0, 228, 160, 9, 0, + 0, 3, 0, 0, 2, 128, + 0, 0, 228, 144, 16, 0, + 228, 160, 9, 0, 0, 3, + 0, 0, 4, 128, 0, 0, + 228, 144, 18, 0, 228, 160, + 4, 0, 0, 4, 0, 0, + 3, 192, 0, 0, 170, 128, + 0, 0, 228, 160, 0, 0, + 228, 128, 1, 0, 0, 2, + 0, 0, 8, 192, 0, 0, + 170, 128, 1, 0, 0, 2, + 0, 0, 8, 224, 1, 0, + 255, 160, 255, 255, 0, 0, + 83, 72, 68, 82, 148, 4, + 0, 0, 64, 0, 1, 0, + 37, 1, 0, 0, 89, 0, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 26, 0, + 0, 0, 95, 0, 0, 3, + 242, 16, 16, 0, 0, 0, + 0, 0, 95, 0, 0, 3, + 114, 16, 16, 0, 1, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 0, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 1, 0, + 0, 0, 103, 0, 0, 4, + 242, 32, 16, 0, 2, 0, + 0, 0, 1, 0, 0, 0, + 104, 0, 0, 2, 3, 0, 0, 0, 16, 0, 0, 8, - 34, 0, 16, 0, 0, 0, + 18, 0, 16, 0, 0, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, - 20, 0, 0, 0, 16, 0, - 0, 8, 66, 0, 16, 0, + 19, 0, 0, 0, 16, 0, + 0, 8, 34, 0, 16, 0, 0, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, 0, 0, - 0, 0, 21, 0, 0, 0, - 16, 0, 0, 7, 130, 0, - 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 68, 0, - 0, 5, 130, 0, 16, 0, - 0, 0, 0, 0, 58, 0, - 16, 0, 0, 0, 0, 0, - 56, 0, 0, 7, 114, 0, + 0, 0, 20, 0, 0, 0, + 16, 0, 0, 8, 66, 0, 16, 0, 0, 0, 0, 0, - 246, 15, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 16, 0, - 0, 9, 130, 0, 16, 0, - 0, 0, 0, 0, 70, 130, - 32, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 70, 18, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 21, 0, + 0, 0, 16, 0, 0, 7, + 130, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 29, 0, - 0, 7, 18, 0, 16, 0, - 1, 0, 0, 0, 58, 0, + 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 7, - 18, 0, 16, 0, 1, 0, - 0, 0, 10, 0, 16, 0, - 1, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 128, 63, - 56, 0, 0, 7, 130, 0, + 68, 0, 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, - 0, 0, 10, 0, 16, 0, - 1, 0, 0, 0, 56, 0, - 0, 8, 226, 0, 16, 0, - 1, 0, 0, 0, 246, 15, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 0, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, - 6, 137, 32, 0, 0, 0, - 0, 0, 6, 0, 0, 0, - 50, 0, 0, 11, 114, 32, + 16, 0, 0, 9, 130, 0, 16, 0, 0, 0, 0, 0, - 150, 7, 16, 0, 1, 0, - 0, 0, 70, 130, 32, 0, + 70, 130, 32, 128, 65, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 70, 130, 32, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 29, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 54, 0, 0, 6, - 130, 32, 16, 0, 0, 0, - 0, 0, 58, 128, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 17, 0, 0, 8, - 18, 0, 16, 0, 2, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 70, 142, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 128, 63, 56, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 1, 0, 0, 0, + 56, 0, 0, 8, 226, 0, + 16, 0, 1, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 6, 137, 32, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 50, 0, 0, 11, + 114, 32, 16, 0, 0, 0, + 0, 0, 150, 7, 16, 0, + 1, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 17, 0, - 0, 8, 34, 0, 16, 0, + 0, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 54, 0, + 0, 6, 130, 32, 16, 0, + 0, 0, 0, 0, 58, 128, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 17, 0, + 0, 8, 18, 0, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, - 0, 0, 16, 0, 0, 0, - 17, 0, 0, 8, 66, 0, + 0, 0, 15, 0, 0, 0, + 17, 0, 0, 8, 34, 0, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 17, 0, - 0, 0, 0, 0, 0, 9, - 226, 0, 16, 0, 1, 0, - 0, 0, 6, 9, 16, 128, - 65, 0, 0, 0, 2, 0, - 0, 0, 6, 137, 32, 0, - 0, 0, 0, 0, 12, 0, - 0, 0, 16, 0, 0, 7, - 130, 0, 16, 0, 0, 0, - 0, 0, 150, 7, 16, 0, - 1, 0, 0, 0, 150, 7, - 16, 0, 1, 0, 0, 0, - 68, 0, 0, 5, 130, 0, - 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 50, 0, 0, 11, - 226, 0, 16, 0, 1, 0, - 0, 0, 86, 14, 16, 0, - 1, 0, 0, 0, 246, 15, - 16, 0, 0, 0, 0, 0, - 6, 137, 32, 128, 65, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 16, 0, + 0, 0, 17, 0, 0, 8, + 66, 0, 16, 0, 2, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 17, 0, 0, 0, 0, 0, + 0, 9, 226, 0, 16, 0, + 1, 0, 0, 0, 6, 9, + 16, 128, 65, 0, 0, 0, + 2, 0, 0, 0, 6, 137, + 32, 0, 0, 0, 0, 0, + 12, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, 150, 7, 16, 0, 1, 0, 0, 0, @@ -380,106 +652,121 @@ const BYTE BasicEffect_VSBasicOneLight[] = 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 7, 226, 0, 16, 0, - 1, 0, 0, 0, 246, 15, + 0, 0, 0, 0, 50, 0, + 0, 11, 226, 0, 16, 0, + 1, 0, 0, 0, 86, 14, + 16, 0, 1, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 6, 137, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 16, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, - 86, 14, 16, 0, 1, 0, - 0, 0, 16, 0, 0, 7, - 18, 0, 16, 0, 0, 0, + 150, 7, 16, 0, 1, 0, 0, 0, 150, 7, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 52, 0, 0, 7, 18, 0, + 1, 0, 0, 0, 68, 0, + 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, - 10, 0, 16, 0, 0, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 0, 0, 56, 0, + 56, 0, 0, 7, 226, 0, + 16, 0, 1, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 86, 14, 16, 0, + 1, 0, 0, 0, 16, 0, 0, 7, 18, 0, 16, 0, - 0, 0, 0, 0, 10, 0, + 0, 0, 0, 0, 150, 7, 16, 0, 1, 0, 0, 0, - 10, 0, 16, 0, 0, 0, - 0, 0, 47, 0, 0, 5, + 70, 2, 16, 0, 0, 0, + 0, 0, 52, 0, 0, 7, 18, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 8, 18, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 56, 0, 0, 7, 18, 0, + 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 47, 0, + 0, 5, 18, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, - 58, 128, 32, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 25, 0, 0, 5, 18, 0, + 56, 0, 0, 8, 18, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 8, - 114, 0, 16, 0, 0, 0, - 0, 0, 6, 0, 16, 0, - 0, 0, 0, 0, 70, 130, - 32, 0, 0, 0, 0, 0, - 9, 0, 0, 0, 56, 0, - 0, 8, 114, 32, 16, 0, - 1, 0, 0, 0, 70, 2, + 0, 0, 58, 128, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 25, 0, 0, 5, + 18, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 8, 114, 0, 16, 0, + 0, 0, 0, 0, 6, 0, 16, 0, 0, 0, 0, 0, 70, 130, 32, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 17, 32, 0, 8, 130, 32, + 0, 0, 9, 0, 0, 0, + 56, 0, 0, 8, 114, 32, 16, 0, 1, 0, 0, 0, - 70, 30, 16, 0, 0, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 14, 0, - 0, 0, 17, 0, 0, 8, - 18, 32, 16, 0, 2, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 17, 32, 0, 8, + 130, 32, 16, 0, 1, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 22, 0, 0, 0, 17, 0, - 0, 8, 34, 32, 16, 0, + 14, 0, 0, 0, 17, 0, + 0, 8, 18, 32, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, - 0, 0, 23, 0, 0, 0, - 17, 0, 0, 8, 66, 32, + 0, 0, 22, 0, 0, 0, + 17, 0, 0, 8, 34, 32, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 24, 0, + 0, 0, 0, 0, 23, 0, 0, 0, 17, 0, 0, 8, - 130, 32, 16, 0, 2, 0, + 66, 32, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 25, 0, 0, 0, 62, 0, - 0, 1, 73, 83, 71, 78, - 76, 0, 0, 0, 2, 0, - 0, 0, 8, 0, 0, 0, - 56, 0, 0, 0, 0, 0, + 24, 0, 0, 0, 17, 0, + 0, 8, 130, 32, 16, 0, + 2, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 25, 0, 0, 0, + 62, 0, 0, 1, 73, 83, + 71, 78, 76, 0, 0, 0, + 2, 0, 0, 0, 8, 0, + 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 15, 0, 0, - 68, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 15, + 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 7, 7, 0, 0, - 83, 86, 95, 80, 111, 115, - 105, 116, 105, 111, 110, 0, - 78, 79, 82, 77, 65, 76, - 0, 171, 79, 83, 71, 78, - 100, 0, 0, 0, 3, 0, - 0, 0, 8, 0, 0, 0, - 80, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 7, 7, + 0, 0, 83, 86, 95, 80, + 111, 115, 105, 116, 105, 111, + 110, 0, 78, 79, 82, 77, + 65, 76, 0, 171, 79, 83, + 71, 78, 100, 0, 0, 0, + 3, 0, 0, 0, 8, 0, + 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 80, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 15, 0, 0, 0, - 86, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 15, 0, 0, 0, - 67, 79, 76, 79, 82, 0, - 83, 86, 95, 80, 111, 115, - 105, 116, 105, 111, 110, 0, - 171, 171 + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 80, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 15, 0, + 0, 0, 86, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 2, 0, 0, 0, 15, 0, + 0, 0, 67, 79, 76, 79, + 82, 0, 83, 86, 95, 80, + 111, 115, 105, 116, 105, 111, + 110, 0, 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicOneLightTx.inc b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicOneLightTx.inc index 33bda792..64741abf 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicOneLightTx.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicOneLightTx.inc @@ -45,43 +45,73 @@ // vs_2_0 def c19, 0, 1, 0, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5,6> + dcl_texcoord2 v2 // vin<7,8> + +#line 59 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" dp3 r0.x, v1, c12 dp3 r0.y, v1, c13 dp3 r0.z, v1, c14 - nrm r1.xyz, r0 - dp3 r0.x, -c4, r1 - sge r0.y, r0.x, c19.x - mul r0.x, r0.x, r0.y + nrm r1.xyz, r0 // ::worldNormal<0,1,2> + +#line 36 + dp3 r0.x, -c4, r1 // ::dotL<0> + +#line 39 + sge r0.y, r0.x, c19.x // ::zeroL<0> + mul r0.x, r0.x, r0.y // ::diffuse<0> + +#line 46 mul r0.xzw, r0.x, c5.xyyz - mov r2.xyz, c1 - mad oT0.xyz, r0.xzww, r2, c2 - dp4 r2.x, v0, c9 - dp4 r2.y, v0, c10 - dp4 r2.z, v0, c11 + mov r2.xyz, c1 // Parameters::DiffuseColor<0,1,2> + mad oT0.xyz, r0.xzww, r2, c2 // ::VSBasicOneLightTx<0,1,2> + +#line 57 + dp4 r2.x, v0, c9 // ::pos_ws<0> + dp4 r2.y, v0, c10 // ::pos_ws<1> + dp4 r2.z, v0, c11 // ::pos_ws<2> add r0.xzw, -r2.xyyz, c7.xyyz - nrm r2.xyz, r0.xzww + nrm r2.xyz, r0.xzww // ::eyeVector<0,1,2> + +#line 33 add r0.xzw, r2.xyyz, -c4.xyyz - nrm r2.xyz, r0.xzww - dp3 r0.x, r2, r1 + nrm r2.xyz, r0.xzww // ::halfVectors<0,1,2> + +#line 37 + dp3 r0.x, r2, r1 // ::dotH<0> + +#line 42 max r0.x, r0.x, c19.x mul r0.x, r0.y, r0.x - pow r1.x, r0.x, c3.w + pow r1.x, r0.x, c3.w // ::specular<0> + +#line 47 mul r0.xyz, r1.x, c6 - mul oT1.xyz, r0, c3 - dp4 oPos.z, v0, c17 + mul oT1.xyz, r0, c3 // ::VSBasicOneLightTx<4,5,6> + +#line 63 + dp4 oPos.z, v0, c17 // ::VSBasicOneLightTx<12> + +#line 14 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" dp4 r0.x, v0, c8 max r0.x, r0.x, c19.x - min oT1.w, r0.x, c19.y - dp4 r0.x, v0, c15 - dp4 r0.y, v0, c16 - dp4 r0.z, v0, c18 - mad oPos.xy, r0.z, c0, r0 - mov oPos.w, r0.z - mov oT0.w, c1.w - mov oT2.xy, v2 + min oT1.w, r0.x, c19.y // ::VSBasicOneLightTx<7> + +#line 63 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp4 r0.x, v0, c15 // ::vout<0> + dp4 r0.y, v0, c16 // ::vout<1> + dp4 r0.z, v0, c18 // ::vout<3> + +#line 235 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mad oPos.xy, r0.z, c0, r0 // ::VSBasicOneLightTx<10,11> + mov oPos.w, r0.z // ::VSBasicOneLightTx<13> + +#line 46 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + mov oT0.w, c1.w // ::VSBasicOneLightTx<3> + +#line 242 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mov oT2.xy, v2 // ::VSBasicOneLightTx<8,9> // approximately 42 instruction slots used vs_4_0 @@ -137,17 +167,17 @@ ret const BYTE BasicEffect_VSBasicOneLightTx[] = { - 68, 88, 66, 67, 151, 18, - 223, 247, 234, 221, 97, 109, - 91, 72, 11, 181, 222, 38, - 149, 27, 1, 0, 0, 0, - 192, 8, 0, 0, 4, 0, + 68, 88, 66, 67, 134, 215, + 145, 17, 37, 56, 176, 20, + 208, 22, 88, 246, 152, 83, + 101, 85, 1, 0, 0, 0, + 44, 15, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 248, 2, 0, 0, 192, 7, - 0, 0, 52, 8, 0, 0, - 65, 111, 110, 57, 192, 2, - 0, 0, 192, 2, 0, 0, - 0, 2, 254, 255, 80, 2, + 100, 9, 0, 0, 44, 14, + 0, 0, 160, 14, 0, 0, + 65, 111, 110, 57, 44, 9, + 0, 0, 44, 9, 0, 0, + 0, 2, 254, 255, 188, 8, 0, 0, 112, 0, 0, 0, 6, 0, 36, 0, 0, 0, 108, 0, 0, 0, 108, 0, @@ -165,7 +195,281 @@ const BYTE BasicEffect_VSBasicOneLightTx[] = 0, 0, 0, 0, 19, 0, 7, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 81, 0, + 0, 2, 254, 255, 254, 255, + 154, 1, 68, 66, 85, 71, + 40, 0, 0, 0, 60, 6, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 4, 1, + 0, 0, 38, 0, 0, 0, + 16, 1, 0, 0, 13, 0, + 0, 0, 56, 5, 0, 0, + 116, 2, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 76, 105, + 103, 104, 116, 105, 110, 103, + 46, 102, 120, 104, 0, 67, + 58, 92, 65, 84, 71, 32, + 83, 97, 109, 112, 108, 101, + 32, 68, 101, 118, 101, 108, + 111, 112, 109, 101, 110, 116, + 92, 115, 116, 95, 100, 101, + 118, 92, 75, 105, 116, 115, + 92, 68, 105, 114, 101, 99, + 116, 88, 84, 75, 92, 83, + 114, 99, 92, 83, 104, 97, + 100, 101, 114, 115, 92, 67, + 111, 109, 109, 111, 110, 46, + 102, 120, 104, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 66, 97, + 115, 105, 99, 69, 102, 102, + 101, 99, 116, 46, 102, 120, + 0, 171, 40, 0, 0, 0, + 113, 0, 0, 0, 184, 0, + 0, 0, 0, 0, 255, 255, + 112, 6, 0, 0, 0, 0, + 255, 255, 136, 6, 0, 0, + 0, 0, 255, 255, 148, 6, + 0, 0, 0, 0, 255, 255, + 160, 6, 0, 0, 59, 0, + 0, 0, 172, 6, 0, 0, + 59, 0, 0, 0, 188, 6, + 0, 0, 59, 0, 0, 0, + 204, 6, 0, 0, 59, 0, + 0, 0, 220, 6, 0, 0, + 36, 0, 0, 0, 232, 6, + 0, 0, 39, 0, 0, 0, + 248, 6, 0, 0, 41, 0, + 0, 0, 8, 7, 0, 0, + 46, 0, 0, 0, 24, 7, + 0, 0, 46, 0, 0, 0, + 40, 7, 0, 0, 46, 0, + 0, 0, 52, 7, 0, 0, + 57, 0, 0, 0, 72, 7, + 0, 0, 57, 0, 0, 0, + 88, 7, 0, 0, 57, 0, + 0, 0, 104, 7, 0, 0, + 58, 0, 0, 0, 120, 7, + 0, 0, 58, 0, 0, 0, + 136, 7, 0, 0, 33, 0, + 0, 0, 148, 7, 0, 0, + 33, 0, 0, 0, 164, 7, + 0, 0, 37, 0, 0, 0, + 176, 7, 0, 0, 42, 0, + 0, 0, 192, 7, 0, 0, + 42, 0, 0, 0, 208, 7, + 0, 0, 42, 0, 0, 0, + 224, 7, 0, 0, 47, 0, + 0, 0, 240, 7, 0, 0, + 47, 0, 0, 0, 0, 8, + 0, 0, 63, 0, 0, 0, + 16, 8, 0, 0, 14, 0, + 1, 0, 32, 8, 0, 0, + 14, 0, 1, 0, 48, 8, + 0, 0, 14, 0, 1, 0, + 64, 8, 0, 0, 63, 0, + 0, 0, 80, 8, 0, 0, + 63, 0, 0, 0, 96, 8, + 0, 0, 63, 0, 0, 0, + 112, 8, 0, 0, 235, 0, + 2, 0, 128, 8, 0, 0, + 235, 0, 2, 0, 148, 8, + 0, 0, 46, 0, 0, 0, + 160, 8, 0, 0, 242, 0, + 2, 0, 172, 8, 0, 0, + 80, 97, 114, 97, 109, 101, + 116, 101, 114, 115, 0, 68, + 105, 102, 102, 117, 115, 101, + 67, 111, 108, 111, 114, 0, + 1, 0, 3, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 86, 83, + 66, 97, 115, 105, 99, 79, + 110, 101, 76, 105, 103, 104, + 116, 84, 120, 0, 68, 105, + 102, 102, 117, 115, 101, 0, + 171, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 83, 112, 101, 99, 117, 108, + 97, 114, 0, 84, 101, 120, + 67, 111, 111, 114, 100, 0, + 171, 171, 1, 0, 3, 0, + 1, 0, 2, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 80, 111, 115, 105, 116, 105, + 111, 110, 80, 83, 0, 171, + 134, 2, 0, 0, 144, 2, + 0, 0, 160, 2, 0, 0, + 144, 2, 0, 0, 169, 2, + 0, 0, 180, 2, 0, 0, + 196, 2, 0, 0, 144, 2, + 0, 0, 5, 0, 0, 0, + 1, 0, 14, 0, 1, 0, + 4, 0, 208, 2, 0, 0, + 13, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 26, 0, 0, 0, 4, 0, + 5, 0, 6, 0, 255, 255, + 27, 0, 0, 0, 255, 255, + 255, 255, 12, 0, 255, 255, + 30, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 7, 0, + 34, 0, 0, 0, 10, 0, + 11, 0, 255, 255, 255, 255, + 35, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 13, 0, + 36, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 3, 0, + 37, 0, 0, 0, 8, 0, + 9, 0, 255, 255, 255, 255, + 100, 105, 102, 102, 117, 115, + 101, 0, 1, 0, 3, 0, + 1, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 10, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 100, 111, 116, 72, 0, 171, + 171, 171, 21, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 100, 111, 116, 76, + 0, 171, 171, 171, 8, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 101, 121, + 101, 86, 101, 99, 116, 111, + 114, 0, 171, 171, 18, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 104, 97, + 108, 102, 86, 101, 99, 116, + 111, 114, 115, 0, 3, 0, + 3, 0, 3, 0, 3, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 20, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 112, 111, 115, 95, + 119, 115, 0, 171, 14, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 15, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 16, 0, + 0, 0, 255, 255, 255, 255, + 2, 0, 255, 255, 115, 112, + 101, 99, 117, 108, 97, 114, + 0, 171, 171, 171, 24, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 118, 105, + 110, 0, 80, 111, 115, 105, + 116, 105, 111, 110, 0, 78, + 111, 114, 109, 97, 108, 0, + 52, 4, 0, 0, 144, 2, + 0, 0, 61, 4, 0, 0, + 104, 3, 0, 0, 169, 2, + 0, 0, 180, 2, 0, 0, + 5, 0, 0, 0, 1, 0, + 9, 0, 1, 0, 3, 0, + 68, 4, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 3, 0, 2, 0, + 0, 0, 4, 0, 5, 0, + 6, 0, 255, 255, 3, 0, + 0, 0, 7, 0, 8, 0, + 255, 255, 255, 255, 118, 111, + 117, 116, 0, 80, 111, 115, + 95, 112, 115, 0, 70, 111, + 103, 70, 97, 99, 116, 111, + 114, 0, 171, 171, 0, 0, + 3, 0, 1, 0, 1, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 149, 4, 0, 0, + 144, 2, 0, 0, 134, 2, + 0, 0, 144, 2, 0, 0, + 160, 2, 0, 0, 104, 3, + 0, 0, 156, 4, 0, 0, + 168, 4, 0, 0, 5, 0, + 0, 0, 1, 0, 12, 0, + 1, 0, 4, 0, 184, 4, + 0, 0, 31, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 32, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 33, 0, 0, 0, + 255, 255, 255, 255, 3, 0, + 255, 255, 119, 111, 114, 108, + 100, 78, 111, 114, 109, 97, + 108, 0, 7, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 122, 101, 114, 111, + 76, 0, 171, 171, 9, 0, + 0, 0, 255, 255, 0, 0, + 255, 255, 255, 255, 64, 2, + 0, 0, 75, 2, 0, 0, + 88, 2, 0, 0, 1, 0, + 0, 0, 104, 2, 0, 0, + 0, 0, 0, 0, 116, 2, + 0, 0, 240, 2, 0, 0, + 8, 0, 0, 0, 0, 3, + 0, 0, 0, 0, 0, 0, + 96, 3, 0, 0, 104, 3, + 0, 0, 1, 0, 0, 0, + 120, 3, 0, 0, 0, 0, + 0, 0, 132, 3, 0, 0, + 104, 3, 0, 0, 1, 0, + 0, 0, 140, 3, 0, 0, + 0, 0, 0, 0, 152, 3, + 0, 0, 104, 3, 0, 0, + 1, 0, 0, 0, 160, 3, + 0, 0, 0, 0, 0, 0, + 172, 3, 0, 0, 104, 3, + 0, 0, 1, 0, 0, 0, + 184, 3, 0, 0, 0, 0, + 0, 0, 196, 3, 0, 0, + 208, 3, 0, 0, 1, 0, + 0, 0, 224, 3, 0, 0, + 0, 0, 0, 0, 236, 3, + 0, 0, 144, 2, 0, 0, + 3, 0, 0, 0, 244, 3, + 0, 0, 0, 0, 0, 0, + 24, 4, 0, 0, 104, 3, + 0, 0, 1, 0, 0, 0, + 36, 4, 0, 0, 116, 2, + 0, 0, 48, 4, 0, 0, + 92, 4, 0, 0, 3, 0, + 0, 0, 108, 4, 0, 0, + 0, 0, 0, 0, 144, 4, + 0, 0, 216, 4, 0, 0, + 3, 0, 0, 0, 232, 4, + 0, 0, 0, 0, 0, 0, + 12, 5, 0, 0, 104, 3, + 0, 0, 1, 0, 0, 0, + 24, 5, 0, 0, 0, 0, + 0, 0, 36, 5, 0, 0, + 104, 3, 0, 0, 1, 0, + 0, 0, 44, 5, 0, 0, + 77, 105, 99, 114, 111, 115, + 111, 102, 116, 32, 40, 82, + 41, 32, 72, 76, 83, 76, + 32, 83, 104, 97, 100, 101, + 114, 32, 67, 111, 109, 112, + 105, 108, 101, 114, 32, 49, + 48, 46, 49, 0, 81, 0, 0, 5, 19, 0, 15, 160, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicOneLightTxVc.inc b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicOneLightTxVc.inc index 59f0ffd8..97cacbfa 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicOneLightTxVc.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicOneLightTxVc.inc @@ -46,44 +46,72 @@ // vs_2_0 def c19, 0, 1, 0, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 - dcl_texcoord3 v3 - dp4 r0.x, v0, c9 - dp4 r0.y, v0, c10 - dp4 r0.z, v0, c11 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5,6> + dcl_texcoord2 v2 // vin<7,8> + dcl_texcoord3 v3 // vin<9,10,11,12> + +#line 57 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp4 r0.x, v0, c9 // ::pos_ws<0> + dp4 r0.y, v0, c10 // ::pos_ws<1> + dp4 r0.z, v0, c11 // ::pos_ws<2> add r0.xyz, -r0, c7 - nrm r1.xyz, r0 + nrm r1.xyz, r0 // ::eyeVector<0,1,2> + +#line 33 add r0.xyz, r1, -c4 - nrm r1.xyz, r0 + nrm r1.xyz, r0 // ::halfVectors<0,1,2> + +#line 59 dp3 r0.x, v1, c12 dp3 r0.y, v1, c13 dp3 r0.z, v1, c14 - nrm r2.xyz, r0 - dp3 r0.x, r1, r2 - dp3 r0.y, -c4, r2 + nrm r2.xyz, r0 // ::worldNormal<0,1,2> + +#line 37 + dp3 r0.x, r1, r2 // ::dotH<0> + dp3 r0.y, -c4, r2 // ::dotL<0> + +#line 42 max r0.x, r0.x, c19.x - sge r0.z, r0.y, c19.x - mul r0.xy, r0.zyzw, r0.xzzw - pow r1.x, r0.x, c3.w + +#line 39 + sge r0.z, r0.y, c19.x // ::zeroL<0> + mul r0.xy, r0.zyzw, r0.xzzw // ::diffuse<0> + pow r1.x, r0.x, c3.w // ::specular<0> + +#line 47 mul r0.xzw, r1.x, c6.xyyz - mul oT1.xyz, r0.xzww, c3 + mul oT1.xyz, r0.xzww, c3 // ::VSBasicOneLightTxVc<4,5,6> mul r0.xyz, r0.y, c5 - mov r1.xyz, c1 - mad r0.xyz, r0, r1, c2 - mul oT0.xyz, r0, v3 - dp4 oPos.z, v0, c17 + mov r1.xyz, c1 // Parameters::DiffuseColor<0,1,2> + mad r0.xyz, r0, r1, c2 // ::result<0,1,2> + +#line 257 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mul oT0.xyz, r0, v3 // ::VSBasicOneLightTxVc<0,1,2> + +#line 63 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp4 oPos.z, v0, c17 // ::VSBasicOneLightTxVc<12> + +#line 14 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" dp4 r0.x, v0, c8 max r0.x, r0.x, c19.x - min oT1.w, r0.x, c19.y - mul oT0.w, v3.w, c1.w - dp4 r0.x, v0, c15 - dp4 r0.y, v0, c16 - dp4 r0.z, v0, c18 - mad oPos.xy, r0.z, c0, r0 - mov oPos.w, r0.z - mov oT2.xy, v2 + min oT1.w, r0.x, c19.y // ::VSBasicOneLightTxVc<7> + +#line 257 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mul oT0.w, v3.w, c1.w // ::VSBasicOneLightTxVc<3> + +#line 63 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp4 r0.x, v0, c15 // ::vout<0> + dp4 r0.y, v0, c16 // ::vout<1> + dp4 r0.z, v0, c18 // ::vout<3> + +#line 249 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mad oPos.xy, r0.z, c0, r0 // ::VSBasicOneLightTxVc<10,11> + mov oPos.w, r0.z // ::VSBasicOneLightTxVc<13> + +#line 256 + mov oT2.xy, v2 // ::VSBasicOneLightTxVc<8,9> // approximately 42 instruction slots used vs_4_0 @@ -141,17 +169,17 @@ ret const BYTE BasicEffect_VSBasicOneLightTxVc[] = { - 68, 88, 66, 67, 165, 177, - 219, 69, 28, 96, 206, 195, - 78, 39, 168, 253, 196, 43, - 71, 185, 1, 0, 0, 0, - 32, 9, 0, 0, 4, 0, + 68, 88, 66, 67, 151, 80, + 197, 35, 22, 212, 204, 240, + 24, 227, 137, 220, 42, 70, + 119, 97, 1, 0, 0, 0, + 248, 15, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 8, 3, 0, 0, 0, 8, - 0, 0, 148, 8, 0, 0, - 65, 111, 110, 57, 208, 2, - 0, 0, 208, 2, 0, 0, - 0, 2, 254, 255, 96, 2, + 224, 9, 0, 0, 216, 14, + 0, 0, 108, 15, 0, 0, + 65, 111, 110, 57, 168, 9, + 0, 0, 168, 9, 0, 0, + 0, 2, 254, 255, 56, 9, 0, 0, 112, 0, 0, 0, 6, 0, 36, 0, 0, 0, 108, 0, 0, 0, 108, 0, @@ -169,7 +197,299 @@ const BYTE BasicEffect_VSBasicOneLightTxVc[] = 0, 0, 0, 0, 19, 0, 7, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 81, 0, + 0, 2, 254, 255, 254, 255, + 181, 1, 68, 66, 85, 71, + 40, 0, 0, 0, 168, 6, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 4, 1, + 0, 0, 39, 0, 0, 0, + 16, 1, 0, 0, 14, 0, + 0, 0, 144, 5, 0, 0, + 124, 2, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 76, 105, + 103, 104, 116, 105, 110, 103, + 46, 102, 120, 104, 0, 67, + 58, 92, 65, 84, 71, 32, + 83, 97, 109, 112, 108, 101, + 32, 68, 101, 118, 101, 108, + 111, 112, 109, 101, 110, 116, + 92, 115, 116, 95, 100, 101, + 118, 92, 75, 105, 116, 115, + 92, 68, 105, 114, 101, 99, + 116, 88, 84, 75, 92, 83, + 114, 99, 92, 83, 104, 97, + 100, 101, 114, 115, 92, 66, + 97, 115, 105, 99, 69, 102, + 102, 101, 99, 116, 46, 102, + 120, 0, 67, 58, 92, 65, + 84, 71, 32, 83, 97, 109, + 112, 108, 101, 32, 68, 101, + 118, 101, 108, 111, 112, 109, + 101, 110, 116, 92, 115, 116, + 95, 100, 101, 118, 92, 75, + 105, 116, 115, 92, 68, 105, + 114, 101, 99, 116, 88, 84, + 75, 92, 83, 114, 99, 92, + 83, 104, 97, 100, 101, 114, + 115, 92, 67, 111, 109, 109, + 111, 110, 46, 102, 120, 104, + 0, 171, 40, 0, 0, 0, + 113, 0, 0, 0, 188, 0, + 0, 0, 0, 0, 255, 255, + 220, 6, 0, 0, 0, 0, + 255, 255, 244, 6, 0, 0, + 0, 0, 255, 255, 0, 7, + 0, 0, 0, 0, 255, 255, + 12, 7, 0, 0, 0, 0, + 255, 255, 24, 7, 0, 0, + 57, 0, 0, 0, 36, 7, + 0, 0, 57, 0, 0, 0, + 52, 7, 0, 0, 57, 0, + 0, 0, 68, 7, 0, 0, + 58, 0, 0, 0, 84, 7, + 0, 0, 58, 0, 0, 0, + 100, 7, 0, 0, 33, 0, + 0, 0, 112, 7, 0, 0, + 33, 0, 0, 0, 128, 7, + 0, 0, 59, 0, 0, 0, + 140, 7, 0, 0, 59, 0, + 0, 0, 156, 7, 0, 0, + 59, 0, 0, 0, 172, 7, + 0, 0, 59, 0, 0, 0, + 188, 7, 0, 0, 37, 0, + 0, 0, 200, 7, 0, 0, + 36, 0, 0, 0, 216, 7, + 0, 0, 42, 0, 0, 0, + 232, 7, 0, 0, 39, 0, + 0, 0, 248, 7, 0, 0, + 41, 0, 0, 0, 8, 8, + 0, 0, 42, 0, 0, 0, + 24, 8, 0, 0, 47, 0, + 0, 0, 40, 8, 0, 0, + 47, 0, 0, 0, 56, 8, + 0, 0, 46, 0, 0, 0, + 72, 8, 0, 0, 46, 0, + 0, 0, 88, 8, 0, 0, + 46, 0, 0, 0, 100, 8, + 0, 0, 1, 1, 1, 0, + 120, 8, 0, 0, 63, 0, + 0, 0, 136, 8, 0, 0, + 14, 0, 2, 0, 152, 8, + 0, 0, 14, 0, 2, 0, + 168, 8, 0, 0, 14, 0, + 2, 0, 184, 8, 0, 0, + 1, 1, 1, 0, 200, 8, + 0, 0, 63, 0, 0, 0, + 216, 8, 0, 0, 63, 0, + 0, 0, 232, 8, 0, 0, + 63, 0, 0, 0, 248, 8, + 0, 0, 249, 0, 1, 0, + 8, 9, 0, 0, 249, 0, + 1, 0, 28, 9, 0, 0, + 0, 1, 1, 0, 40, 9, + 0, 0, 80, 97, 114, 97, + 109, 101, 116, 101, 114, 115, + 0, 68, 105, 102, 102, 117, + 115, 101, 67, 111, 108, 111, + 114, 0, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 25, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 86, 83, 66, 97, 115, 105, + 99, 79, 110, 101, 76, 105, + 103, 104, 116, 84, 120, 86, + 99, 0, 68, 105, 102, 102, + 117, 115, 101, 0, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 83, 112, 101, 99, + 117, 108, 97, 114, 0, 84, + 101, 120, 67, 111, 111, 114, + 100, 0, 171, 171, 1, 0, + 3, 0, 1, 0, 2, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 80, 111, 115, 105, + 116, 105, 111, 110, 80, 83, + 0, 171, 144, 2, 0, 0, + 152, 2, 0, 0, 168, 2, + 0, 0, 152, 2, 0, 0, + 177, 2, 0, 0, 188, 2, + 0, 0, 204, 2, 0, 0, + 152, 2, 0, 0, 5, 0, + 0, 0, 1, 0, 14, 0, + 1, 0, 4, 0, 216, 2, + 0, 0, 23, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 255, 255, 27, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 28, 0, 0, 0, + 255, 255, 255, 255, 12, 0, + 255, 255, 31, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 7, 0, 32, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 3, 0, 36, 0, 0, 0, + 10, 0, 11, 0, 255, 255, + 255, 255, 37, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 13, 0, 38, 0, 0, 0, + 8, 0, 9, 0, 255, 255, + 255, 255, 100, 105, 102, 102, + 117, 115, 101, 0, 1, 0, + 3, 0, 1, 0, 3, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 20, 0, 0, 0, + 255, 255, 0, 0, 255, 255, + 255, 255, 100, 111, 116, 72, + 0, 171, 171, 171, 16, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 100, 111, + 116, 76, 0, 171, 171, 171, + 17, 0, 0, 0, 255, 255, + 0, 0, 255, 255, 255, 255, + 101, 121, 101, 86, 101, 99, + 116, 111, 114, 0, 171, 171, + 9, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 104, 97, 108, 102, 86, 101, + 99, 116, 111, 114, 115, 0, + 3, 0, 3, 0, 3, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 11, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 112, 111, + 115, 95, 119, 115, 0, 171, + 5, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 6, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 7, 0, 0, 0, 255, 255, + 255, 255, 2, 0, 255, 255, + 114, 101, 115, 117, 108, 116, + 0, 171, 144, 2, 0, 0, + 112, 3, 0, 0, 168, 2, + 0, 0, 112, 3, 0, 0, + 5, 0, 0, 0, 1, 0, + 6, 0, 1, 0, 2, 0, + 40, 4, 0, 0, 26, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 115, 112, + 101, 99, 117, 108, 97, 114, + 0, 171, 171, 171, 21, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 118, 105, + 110, 0, 80, 111, 115, 105, + 116, 105, 111, 110, 0, 78, + 111, 114, 109, 97, 108, 0, + 67, 111, 108, 111, 114, 0, + 171, 171, 112, 4, 0, 0, + 152, 2, 0, 0, 121, 4, + 0, 0, 112, 3, 0, 0, + 177, 2, 0, 0, 188, 2, + 0, 0, 128, 4, 0, 0, + 152, 2, 0, 0, 5, 0, + 0, 0, 1, 0, 13, 0, + 1, 0, 4, 0, 136, 4, + 0, 0, 1, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 2, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 255, 255, 3, 0, 0, 0, + 7, 0, 8, 0, 255, 255, + 255, 255, 4, 0, 0, 0, + 9, 0, 10, 0, 11, 0, + 12, 0, 118, 111, 117, 116, + 0, 80, 111, 115, 95, 112, + 115, 0, 70, 111, 103, 70, + 97, 99, 116, 111, 114, 0, + 171, 171, 0, 0, 3, 0, + 1, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 237, 4, 0, 0, 152, 2, + 0, 0, 144, 2, 0, 0, + 152, 2, 0, 0, 168, 2, + 0, 0, 112, 3, 0, 0, + 244, 4, 0, 0, 0, 5, + 0, 0, 5, 0, 0, 0, + 1, 0, 12, 0, 1, 0, + 4, 0, 16, 5, 0, 0, + 33, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 34, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 35, 0, 0, 0, 255, 255, + 255, 255, 3, 0, 255, 255, + 119, 111, 114, 108, 100, 78, + 111, 114, 109, 97, 108, 0, + 15, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 122, 101, 114, 111, 76, 0, + 171, 171, 19, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 255, 255, 72, 2, 0, 0, + 83, 2, 0, 0, 96, 2, + 0, 0, 1, 0, 0, 0, + 112, 2, 0, 0, 0, 0, + 0, 0, 124, 2, 0, 0, + 248, 2, 0, 0, 8, 0, + 0, 0, 8, 3, 0, 0, + 0, 0, 0, 0, 104, 3, + 0, 0, 112, 3, 0, 0, + 1, 0, 0, 0, 128, 3, + 0, 0, 0, 0, 0, 0, + 140, 3, 0, 0, 112, 3, + 0, 0, 1, 0, 0, 0, + 148, 3, 0, 0, 0, 0, + 0, 0, 160, 3, 0, 0, + 112, 3, 0, 0, 1, 0, + 0, 0, 168, 3, 0, 0, + 0, 0, 0, 0, 180, 3, + 0, 0, 112, 3, 0, 0, + 1, 0, 0, 0, 192, 3, + 0, 0, 0, 0, 0, 0, + 204, 3, 0, 0, 216, 3, + 0, 0, 1, 0, 0, 0, + 232, 3, 0, 0, 0, 0, + 0, 0, 244, 3, 0, 0, + 152, 2, 0, 0, 3, 0, + 0, 0, 252, 3, 0, 0, + 0, 0, 0, 0, 32, 4, + 0, 0, 56, 4, 0, 0, + 1, 0, 0, 0, 72, 4, + 0, 0, 0, 0, 0, 0, + 84, 4, 0, 0, 112, 3, + 0, 0, 1, 0, 0, 0, + 96, 4, 0, 0, 124, 2, + 0, 0, 108, 4, 0, 0, + 168, 4, 0, 0, 4, 0, + 0, 0, 184, 4, 0, 0, + 0, 0, 0, 0, 232, 4, + 0, 0, 48, 5, 0, 0, + 3, 0, 0, 0, 64, 5, + 0, 0, 0, 0, 0, 0, + 100, 5, 0, 0, 112, 3, + 0, 0, 1, 0, 0, 0, + 112, 5, 0, 0, 0, 0, + 0, 0, 124, 5, 0, 0, + 112, 3, 0, 0, 1, 0, + 0, 0, 132, 5, 0, 0, + 77, 105, 99, 114, 111, 115, + 111, 102, 116, 32, 40, 82, + 41, 32, 72, 76, 83, 76, + 32, 83, 104, 97, 100, 101, + 114, 32, 67, 111, 109, 112, + 105, 108, 101, 114, 32, 49, + 48, 46, 49, 0, 81, 0, 0, 5, 19, 0, 15, 160, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicOneLightVc.inc b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicOneLightVc.inc index e43ec69b..43a6cc9b 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicOneLightVc.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicOneLightVc.inc @@ -44,42 +44,68 @@ // vs_2_0 def c19, 0, 1, 0, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 - dp4 r0.x, v0, c9 - dp4 r0.y, v0, c10 - dp4 r0.z, v0, c11 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5,6> + dcl_texcoord2 v2 // vin<7,8,9,10> + +#line 57 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp4 r0.x, v0, c9 // ::pos_ws<0> + dp4 r0.y, v0, c10 // ::pos_ws<1> + dp4 r0.z, v0, c11 // ::pos_ws<2> add r0.xyz, -r0, c7 - nrm r1.xyz, r0 + nrm r1.xyz, r0 // ::eyeVector<0,1,2> + +#line 33 add r0.xyz, r1, -c4 - nrm r1.xyz, r0 + nrm r1.xyz, r0 // ::halfVectors<0,1,2> + +#line 59 dp3 r0.x, v1, c12 dp3 r0.y, v1, c13 dp3 r0.z, v1, c14 - nrm r2.xyz, r0 - dp3 r0.x, r1, r2 - dp3 r0.y, -c4, r2 + nrm r2.xyz, r0 // ::worldNormal<0,1,2> + +#line 37 + dp3 r0.x, r1, r2 // ::dotH<0> + dp3 r0.y, -c4, r2 // ::dotL<0> + +#line 42 max r0.x, r0.x, c19.x - sge r0.z, r0.y, c19.x - mul r0.xy, r0.zyzw, r0.xzzw - pow r1.x, r0.x, c3.w + +#line 39 + sge r0.z, r0.y, c19.x // ::zeroL<0> + mul r0.xy, r0.zyzw, r0.xzzw // ::diffuse<0> + pow r1.x, r0.x, c3.w // ::specular<0> + +#line 47 mul r0.xzw, r1.x, c6.xyyz - mul oT1.xyz, r0.xzww, c3 + mul oT1.xyz, r0.xzww, c3 // ::VSBasicOneLightVc<4,5,6> mul r0.xyz, r0.y, c5 - mov r1.xyz, c1 - mad r0.xyz, r0, r1, c2 - mul oT0.xyz, r0, v2 - dp4 oPos.z, v0, c17 + mov r1.xyz, c1 // Parameters::DiffuseColor<0,1,2> + mad r0.xyz, r0, r1, c2 // ::result<0,1,2> + +#line 228 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mul oT0.xyz, r0, v2 // ::VSBasicOneLightVc<0,1,2> + +#line 63 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp4 oPos.z, v0, c17 // ::VSBasicOneLightVc<10> + +#line 14 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" dp4 r0.x, v0, c8 max r0.x, r0.x, c19.x - min oT1.w, r0.x, c19.y - mul oT0.w, v2.w, c1.w - dp4 r0.x, v0, c15 - dp4 r0.y, v0, c16 - dp4 r0.z, v0, c18 - mad oPos.xy, r0.z, c0, r0 - mov oPos.w, r0.z + min oT1.w, r0.x, c19.y // ::VSBasicOneLightVc<7> + +#line 228 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mul oT0.w, v2.w, c1.w // ::VSBasicOneLightVc<3> + +#line 63 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp4 r0.x, v0, c15 // ::vout<0> + dp4 r0.y, v0, c16 // ::vout<1> + dp4 r0.z, v0, c18 // ::vout<3> + +#line 221 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mad oPos.xy, r0.z, c0, r0 // ::VSBasicOneLightVc<8,9> + mov oPos.w, r0.z // ::VSBasicOneLightVc<11> // approximately 41 instruction slots used vs_4_0 @@ -134,17 +160,17 @@ ret const BYTE BasicEffect_VSBasicOneLightVc[] = { - 68, 88, 66, 67, 157, 229, - 30, 248, 170, 66, 14, 167, - 246, 135, 241, 9, 201, 147, - 148, 127, 1, 0, 0, 0, - 156, 8, 0, 0, 4, 0, + 68, 88, 66, 67, 7, 204, + 182, 223, 154, 182, 35, 146, + 95, 111, 61, 221, 117, 48, + 242, 64, 1, 0, 0, 0, + 32, 15, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 240, 2, 0, 0, 188, 7, - 0, 0, 48, 8, 0, 0, - 65, 111, 110, 57, 184, 2, - 0, 0, 184, 2, 0, 0, - 0, 2, 254, 255, 72, 2, + 116, 9, 0, 0, 64, 14, + 0, 0, 180, 14, 0, 0, + 65, 111, 110, 57, 60, 9, + 0, 0, 60, 9, 0, 0, + 0, 2, 254, 255, 204, 8, 0, 0, 112, 0, 0, 0, 6, 0, 36, 0, 0, 0, 108, 0, 0, 0, 108, 0, @@ -162,7 +188,285 @@ const BYTE BasicEffect_VSBasicOneLightVc[] = 0, 0, 0, 0, 19, 0, 7, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 81, 0, + 0, 2, 254, 255, 254, 255, + 160, 1, 68, 66, 85, 71, + 40, 0, 0, 0, 84, 6, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 4, 1, + 0, 0, 37, 0, 0, 0, + 16, 1, 0, 0, 14, 0, + 0, 0, 60, 5, 0, 0, + 108, 2, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 76, 105, + 103, 104, 116, 105, 110, 103, + 46, 102, 120, 104, 0, 67, + 58, 92, 65, 84, 71, 32, + 83, 97, 109, 112, 108, 101, + 32, 68, 101, 118, 101, 108, + 111, 112, 109, 101, 110, 116, + 92, 115, 116, 95, 100, 101, + 118, 92, 75, 105, 116, 115, + 92, 68, 105, 114, 101, 99, + 116, 88, 84, 75, 92, 83, + 114, 99, 92, 83, 104, 97, + 100, 101, 114, 115, 92, 66, + 97, 115, 105, 99, 69, 102, + 102, 101, 99, 116, 46, 102, + 120, 0, 67, 58, 92, 65, + 84, 71, 32, 83, 97, 109, + 112, 108, 101, 32, 68, 101, + 118, 101, 108, 111, 112, 109, + 101, 110, 116, 92, 115, 116, + 95, 100, 101, 118, 92, 75, + 105, 116, 115, 92, 68, 105, + 114, 101, 99, 116, 88, 84, + 75, 92, 83, 114, 99, 92, + 83, 104, 97, 100, 101, 114, + 115, 92, 67, 111, 109, 109, + 111, 110, 46, 102, 120, 104, + 0, 171, 40, 0, 0, 0, + 113, 0, 0, 0, 188, 0, + 0, 0, 0, 0, 255, 255, + 136, 6, 0, 0, 0, 0, + 255, 255, 160, 6, 0, 0, + 0, 0, 255, 255, 172, 6, + 0, 0, 0, 0, 255, 255, + 184, 6, 0, 0, 57, 0, + 0, 0, 196, 6, 0, 0, + 57, 0, 0, 0, 212, 6, + 0, 0, 57, 0, 0, 0, + 228, 6, 0, 0, 58, 0, + 0, 0, 244, 6, 0, 0, + 58, 0, 0, 0, 4, 7, + 0, 0, 33, 0, 0, 0, + 16, 7, 0, 0, 33, 0, + 0, 0, 32, 7, 0, 0, + 59, 0, 0, 0, 44, 7, + 0, 0, 59, 0, 0, 0, + 60, 7, 0, 0, 59, 0, + 0, 0, 76, 7, 0, 0, + 59, 0, 0, 0, 92, 7, + 0, 0, 37, 0, 0, 0, + 104, 7, 0, 0, 36, 0, + 0, 0, 120, 7, 0, 0, + 42, 0, 0, 0, 136, 7, + 0, 0, 39, 0, 0, 0, + 152, 7, 0, 0, 41, 0, + 0, 0, 168, 7, 0, 0, + 42, 0, 0, 0, 184, 7, + 0, 0, 47, 0, 0, 0, + 200, 7, 0, 0, 47, 0, + 0, 0, 216, 7, 0, 0, + 46, 0, 0, 0, 232, 7, + 0, 0, 46, 0, 0, 0, + 248, 7, 0, 0, 46, 0, + 0, 0, 4, 8, 0, 0, + 228, 0, 1, 0, 24, 8, + 0, 0, 63, 0, 0, 0, + 40, 8, 0, 0, 14, 0, + 2, 0, 56, 8, 0, 0, + 14, 0, 2, 0, 72, 8, + 0, 0, 14, 0, 2, 0, + 88, 8, 0, 0, 228, 0, + 1, 0, 104, 8, 0, 0, + 63, 0, 0, 0, 120, 8, + 0, 0, 63, 0, 0, 0, + 136, 8, 0, 0, 63, 0, + 0, 0, 152, 8, 0, 0, + 221, 0, 1, 0, 168, 8, + 0, 0, 221, 0, 1, 0, + 188, 8, 0, 0, 80, 97, + 114, 97, 109, 101, 116, 101, + 114, 115, 0, 68, 105, 102, + 102, 117, 115, 101, 67, 111, + 108, 111, 114, 0, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 24, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 86, 83, 66, 97, + 115, 105, 99, 79, 110, 101, + 76, 105, 103, 104, 116, 86, + 99, 0, 68, 105, 102, 102, + 117, 115, 101, 0, 171, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 83, 112, + 101, 99, 117, 108, 97, 114, + 0, 80, 111, 115, 105, 116, + 105, 111, 110, 80, 83, 0, + 126, 2, 0, 0, 136, 2, + 0, 0, 152, 2, 0, 0, + 136, 2, 0, 0, 161, 2, + 0, 0, 136, 2, 0, 0, + 5, 0, 0, 0, 1, 0, + 12, 0, 1, 0, 3, 0, + 172, 2, 0, 0, 22, 0, + 0, 0, 4, 0, 5, 0, + 6, 0, 255, 255, 26, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 27, 0, + 0, 0, 255, 255, 255, 255, + 10, 0, 255, 255, 30, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 7, 0, 31, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 3, 0, 35, 0, + 0, 0, 8, 0, 9, 0, + 255, 255, 255, 255, 36, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 11, 0, 100, 105, + 102, 102, 117, 115, 101, 0, + 1, 0, 3, 0, 1, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 19, 0, + 0, 0, 255, 255, 0, 0, + 255, 255, 255, 255, 100, 111, + 116, 72, 0, 171, 171, 171, + 15, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 100, 111, 116, 76, 0, 171, + 171, 171, 16, 0, 0, 0, + 255, 255, 0, 0, 255, 255, + 255, 255, 101, 121, 101, 86, + 101, 99, 116, 111, 114, 0, + 171, 171, 8, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 104, 97, 108, 102, + 86, 101, 99, 116, 111, 114, + 115, 0, 3, 0, 3, 0, + 3, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 10, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 112, 111, 115, 95, 119, 115, + 0, 171, 4, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 5, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 6, 0, 0, 0, + 255, 255, 255, 255, 2, 0, + 255, 255, 114, 101, 115, 117, + 108, 116, 0, 171, 126, 2, + 0, 0, 48, 3, 0, 0, + 152, 2, 0, 0, 48, 3, + 0, 0, 5, 0, 0, 0, + 1, 0, 6, 0, 1, 0, + 2, 0, 232, 3, 0, 0, + 25, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 115, 112, 101, 99, 117, 108, + 97, 114, 0, 171, 171, 171, + 20, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 118, 105, 110, 0, 80, 111, + 115, 105, 116, 105, 111, 110, + 0, 78, 111, 114, 109, 97, + 108, 0, 67, 111, 108, 111, + 114, 0, 171, 171, 48, 4, + 0, 0, 136, 2, 0, 0, + 57, 4, 0, 0, 48, 3, + 0, 0, 64, 4, 0, 0, + 136, 2, 0, 0, 5, 0, + 0, 0, 1, 0, 11, 0, + 1, 0, 3, 0, 72, 4, + 0, 0, 1, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 2, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 255, 255, 3, 0, 0, 0, + 7, 0, 8, 0, 9, 0, + 10, 0, 118, 111, 117, 116, + 0, 80, 111, 115, 95, 112, + 115, 0, 70, 111, 103, 70, + 97, 99, 116, 111, 114, 0, + 171, 171, 0, 0, 3, 0, + 1, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 153, 4, 0, 0, 136, 2, + 0, 0, 126, 2, 0, 0, + 136, 2, 0, 0, 152, 2, + 0, 0, 48, 3, 0, 0, + 160, 4, 0, 0, 172, 4, + 0, 0, 5, 0, 0, 0, + 1, 0, 12, 0, 1, 0, + 4, 0, 188, 4, 0, 0, + 32, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 33, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 34, 0, 0, 0, 255, 255, + 255, 255, 3, 0, 255, 255, + 119, 111, 114, 108, 100, 78, + 111, 114, 109, 97, 108, 0, + 14, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 122, 101, 114, 111, 76, 0, + 171, 171, 18, 0, 0, 0, + 255, 255, 255, 255, 0, 0, + 255, 255, 56, 2, 0, 0, + 67, 2, 0, 0, 80, 2, + 0, 0, 1, 0, 0, 0, + 96, 2, 0, 0, 0, 0, + 0, 0, 108, 2, 0, 0, + 196, 2, 0, 0, 7, 0, + 0, 0, 212, 2, 0, 0, + 0, 0, 0, 0, 40, 3, + 0, 0, 48, 3, 0, 0, + 1, 0, 0, 0, 64, 3, + 0, 0, 0, 0, 0, 0, + 76, 3, 0, 0, 48, 3, + 0, 0, 1, 0, 0, 0, + 84, 3, 0, 0, 0, 0, + 0, 0, 96, 3, 0, 0, + 48, 3, 0, 0, 1, 0, + 0, 0, 104, 3, 0, 0, + 0, 0, 0, 0, 116, 3, + 0, 0, 48, 3, 0, 0, + 1, 0, 0, 0, 128, 3, + 0, 0, 0, 0, 0, 0, + 140, 3, 0, 0, 152, 3, + 0, 0, 1, 0, 0, 0, + 168, 3, 0, 0, 0, 0, + 0, 0, 180, 3, 0, 0, + 136, 2, 0, 0, 3, 0, + 0, 0, 188, 3, 0, 0, + 0, 0, 0, 0, 224, 3, + 0, 0, 248, 3, 0, 0, + 1, 0, 0, 0, 8, 4, + 0, 0, 0, 0, 0, 0, + 20, 4, 0, 0, 48, 3, + 0, 0, 1, 0, 0, 0, + 32, 4, 0, 0, 108, 2, + 0, 0, 44, 4, 0, 0, + 96, 4, 0, 0, 3, 0, + 0, 0, 112, 4, 0, 0, + 0, 0, 0, 0, 148, 4, + 0, 0, 220, 4, 0, 0, + 3, 0, 0, 0, 236, 4, + 0, 0, 0, 0, 0, 0, + 16, 5, 0, 0, 48, 3, + 0, 0, 1, 0, 0, 0, + 28, 5, 0, 0, 0, 0, + 0, 0, 40, 5, 0, 0, + 48, 3, 0, 0, 1, 0, + 0, 0, 48, 5, 0, 0, + 77, 105, 99, 114, 111, 115, + 111, 102, 116, 32, 40, 82, + 41, 32, 72, 76, 83, 76, + 32, 83, 104, 97, 100, 101, + 114, 32, 67, 111, 109, 112, + 105, 108, 101, 114, 32, 49, + 48, 46, 49, 0, 81, 0, 0, 5, 19, 0, 15, 160, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicPixelLighting.inc b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicPixelLighting.inc index a6f423f2..247876ef 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicPixelLighting.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicPixelLighting.inc @@ -41,28 +41,38 @@ // vs_2_0 def c13, 0, 1, 0, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dp4 oPos.z, v0, c11 - dp4 oT0.x, v0, c3 - dp4 oT0.y, v0, c4 - dp4 oT0.z, v0, c5 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5,6> + +#line 85 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp4 oPos.z, v0, c11 // ::VSBasicPixelLighting<13> + dp4 oT0.x, v0, c3 // ::VSBasicPixelLighting<0> + dp4 oT0.y, v0, c4 // ::VSBasicPixelLighting<1> + dp4 oT0.z, v0, c5 // ::VSBasicPixelLighting<2> dp3 r0.x, v1, c6 dp3 r0.y, v1, c7 dp3 r0.z, v1, c8 dp3 r0.w, r0, r0 rsq r0.w, r0.w - mul oT1.xyz, r0.w, r0 + mul oT1.xyz, r0.w, r0 // ::VSBasicPixelLighting<4,5,6> + +#line 14 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" dp4 r0.x, v0, c2 max r0.x, r0.x, c13.x - min oT0.w, r0.x, c13.y - dp4 r0.x, v0, c9 - dp4 r0.y, v0, c10 - dp4 r0.z, v0, c12 - mad oPos.xy, r0.z, c0, r0 - mov oPos.w, r0.z + min oT0.w, r0.x, c13.y // ::VSBasicPixelLighting<3> + +#line 85 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp4 r0.x, v0, c9 // ::vout<0> + dp4 r0.y, v0, c10 // ::vout<1> + dp4 r0.z, v0, c12 // ::vout<3> + +#line 264 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mad oPos.xy, r0.z, c0, r0 // ::VSBasicPixelLighting<11,12> + mov oPos.w, r0.z // ::VSBasicPixelLighting<14> + +#line 271 mov r0.xy, c13 - mad oT2, c1.w, r0.xxxy, r0.yyyx + mad oT2, c1.w, r0.xxxy, r0.yyyx // ::VSBasicPixelLighting<7,8,9,10> // approximately 20 instruction slots used vs_4_0 @@ -96,17 +106,17 @@ ret const BYTE BasicEffect_VSBasicPixelLighting[] = { - 68, 88, 66, 67, 230, 104, - 5, 53, 228, 212, 38, 110, - 57, 156, 92, 76, 224, 255, - 252, 98, 1, 0, 0, 0, - 52, 5, 0, 0, 4, 0, + 68, 88, 66, 67, 39, 177, + 182, 232, 221, 182, 217, 45, + 115, 127, 129, 125, 2, 196, + 138, 212, 1, 0, 0, 0, + 60, 9, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 248, 1, 0, 0, 84, 4, - 0, 0, 168, 4, 0, 0, - 65, 111, 110, 57, 192, 1, - 0, 0, 192, 1, 0, 0, - 0, 2, 254, 255, 116, 1, + 0, 6, 0, 0, 92, 8, + 0, 0, 176, 8, 0, 0, + 65, 111, 110, 57, 200, 5, + 0, 0, 200, 5, 0, 0, + 0, 2, 254, 255, 124, 5, 0, 0, 76, 0, 0, 0, 3, 0, 36, 0, 0, 0, 72, 0, 0, 0, 72, 0, @@ -118,7 +128,179 @@ const BYTE BasicEffect_VSBasicPixelLighting[] = 0, 0, 0, 0, 19, 0, 7, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 81, 0, + 0, 2, 254, 255, 254, 255, + 1, 1, 68, 66, 85, 71, + 40, 0, 0, 0, 216, 3, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 4, 1, + 0, 0, 23, 0, 0, 0, + 16, 1, 0, 0, 3, 0, + 0, 0, 156, 3, 0, 0, + 200, 1, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 76, 105, + 103, 104, 116, 105, 110, 103, + 46, 102, 120, 104, 0, 67, + 58, 92, 65, 84, 71, 32, + 83, 97, 109, 112, 108, 101, + 32, 68, 101, 118, 101, 108, + 111, 112, 109, 101, 110, 116, + 92, 115, 116, 95, 100, 101, + 118, 92, 75, 105, 116, 115, + 92, 68, 105, 114, 101, 99, + 116, 88, 84, 75, 92, 83, + 114, 99, 92, 83, 104, 97, + 100, 101, 114, 115, 92, 67, + 111, 109, 109, 111, 110, 46, + 102, 120, 104, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 66, 97, + 115, 105, 99, 69, 102, 102, + 101, 99, 116, 46, 102, 120, + 0, 171, 40, 0, 0, 0, + 113, 0, 0, 0, 184, 0, + 0, 0, 0, 0, 255, 255, + 12, 4, 0, 0, 0, 0, + 255, 255, 36, 4, 0, 0, + 0, 0, 255, 255, 48, 4, + 0, 0, 85, 0, 0, 0, + 60, 4, 0, 0, 86, 0, + 0, 0, 76, 4, 0, 0, + 86, 0, 0, 0, 92, 4, + 0, 0, 86, 0, 0, 0, + 108, 4, 0, 0, 87, 0, + 0, 0, 124, 4, 0, 0, + 87, 0, 0, 0, 140, 4, + 0, 0, 87, 0, 0, 0, + 156, 4, 0, 0, 87, 0, + 0, 0, 172, 4, 0, 0, + 87, 0, 0, 0, 188, 4, + 0, 0, 87, 0, 0, 0, + 200, 4, 0, 0, 14, 0, + 1, 0, 216, 4, 0, 0, + 14, 0, 1, 0, 232, 4, + 0, 0, 14, 0, 1, 0, + 248, 4, 0, 0, 85, 0, + 0, 0, 8, 5, 0, 0, + 85, 0, 0, 0, 24, 5, + 0, 0, 85, 0, 0, 0, + 40, 5, 0, 0, 8, 1, + 2, 0, 56, 5, 0, 0, + 8, 1, 2, 0, 76, 5, + 0, 0, 15, 1, 2, 0, + 88, 5, 0, 0, 15, 1, + 2, 0, 100, 5, 0, 0, + 86, 83, 66, 97, 115, 105, + 99, 80, 105, 120, 101, 108, + 76, 105, 103, 104, 116, 105, + 110, 103, 0, 80, 111, 115, + 105, 116, 105, 111, 110, 87, + 83, 0, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 78, 111, 114, 109, 97, 108, + 87, 83, 0, 171, 171, 171, + 1, 0, 3, 0, 1, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 68, 105, + 102, 102, 117, 115, 101, 0, + 80, 111, 115, 105, 116, 105, + 111, 110, 80, 83, 0, 171, + 221, 1, 0, 0, 232, 1, + 0, 0, 248, 1, 0, 0, + 4, 2, 0, 0, 20, 2, + 0, 0, 232, 1, 0, 0, + 28, 2, 0, 0, 232, 1, + 0, 0, 5, 0, 0, 0, + 1, 0, 15, 0, 1, 0, + 4, 0, 40, 2, 0, 0, + 3, 0, 0, 0, 255, 255, + 255, 255, 13, 0, 255, 255, + 4, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 5, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 6, 0, 0, 0, 255, 255, + 255, 255, 2, 0, 255, 255, + 12, 0, 0, 0, 4, 0, + 5, 0, 6, 0, 255, 255, + 15, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 3, 0, + 19, 0, 0, 0, 11, 0, + 12, 0, 255, 255, 255, 255, + 20, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 14, 0, + 22, 0, 0, 0, 7, 0, + 8, 0, 9, 0, 10, 0, + 118, 105, 110, 0, 80, 111, + 115, 105, 116, 105, 111, 110, + 0, 78, 111, 114, 109, 97, + 108, 0, 200, 2, 0, 0, + 232, 1, 0, 0, 209, 2, + 0, 0, 4, 2, 0, 0, + 5, 0, 0, 0, 1, 0, + 7, 0, 1, 0, 2, 0, + 216, 2, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 3, 0, 2, 0, + 0, 0, 4, 0, 5, 0, + 6, 0, 255, 255, 118, 111, + 117, 116, 0, 80, 111, 115, + 95, 112, 115, 0, 80, 111, + 115, 95, 119, 115, 0, 78, + 111, 114, 109, 97, 108, 95, + 119, 115, 0, 70, 111, 103, + 70, 97, 99, 116, 111, 114, + 0, 171, 0, 0, 3, 0, + 1, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 21, 3, 0, 0, 232, 1, + 0, 0, 28, 3, 0, 0, + 4, 2, 0, 0, 35, 3, + 0, 0, 4, 2, 0, 0, + 45, 3, 0, 0, 56, 3, + 0, 0, 5, 0, 0, 0, + 1, 0, 11, 0, 1, 0, + 4, 0, 72, 3, 0, 0, + 16, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 17, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 18, 0, 0, 0, 255, 255, + 255, 255, 3, 0, 255, 255, + 0, 0, 0, 0, 200, 1, + 0, 0, 72, 2, 0, 0, + 9, 0, 0, 0, 88, 2, + 0, 0, 200, 1, 0, 0, + 196, 2, 0, 0, 232, 2, + 0, 0, 2, 0, 0, 0, + 248, 2, 0, 0, 0, 0, + 0, 0, 16, 3, 0, 0, + 104, 3, 0, 0, 3, 0, + 0, 0, 120, 3, 0, 0, + 77, 105, 99, 114, 111, 115, + 111, 102, 116, 32, 40, 82, + 41, 32, 72, 76, 83, 76, + 32, 83, 104, 97, 100, 101, + 114, 32, 67, 111, 109, 112, + 105, 108, 101, 114, 32, 49, + 48, 46, 49, 0, 81, 0, 0, 5, 13, 0, 15, 160, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingTx.inc b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingTx.inc index 622f02d0..deb37ea8 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingTx.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingTx.inc @@ -43,30 +43,40 @@ // vs_2_0 def c13, 0, 1, 0, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 - dp4 oPos.z, v0, c11 - dp4 oT1.x, v0, c3 - dp4 oT1.y, v0, c4 - dp4 oT1.z, v0, c5 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5,6> + dcl_texcoord2 v2 // vin<7,8> + +#line 85 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp4 oPos.z, v0, c11 // ::VSBasicPixelLightingTx<15> + dp4 oT1.x, v0, c3 // ::VSBasicPixelLightingTx<2> + dp4 oT1.y, v0, c4 // ::VSBasicPixelLightingTx<3> + dp4 oT1.z, v0, c5 // ::VSBasicPixelLightingTx<4> dp3 r0.x, v1, c6 dp3 r0.y, v1, c7 dp3 r0.z, v1, c8 dp3 r0.w, r0, r0 rsq r0.w, r0.w - mul oT2.xyz, r0.w, r0 + mul oT2.xyz, r0.w, r0 // ::VSBasicPixelLightingTx<6,7,8> + +#line 14 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" dp4 r0.x, v0, c2 max r0.x, r0.x, c13.x - min oT1.w, r0.x, c13.y - dp4 r0.x, v0, c9 - dp4 r0.y, v0, c10 - dp4 r0.z, v0, c12 - mad oPos.xy, r0.z, c0, r0 - mov oPos.w, r0.z - mov oT0.xy, v2 + min oT1.w, r0.x, c13.y // ::VSBasicPixelLightingTx<5> + +#line 85 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp4 r0.x, v0, c9 // ::vout<0> + dp4 r0.y, v0, c10 // ::vout<1> + dp4 r0.z, v0, c12 // ::vout<3> + +#line 293 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mad oPos.xy, r0.z, c0, r0 // ::VSBasicPixelLightingTx<13,14> + mov oPos.w, r0.z // ::VSBasicPixelLightingTx<16> + +#line 301 + mov oT0.xy, v2 // ::VSBasicPixelLightingTx<0,1> mov r0.xy, c13 - mad oT3, c1.w, r0.xxxy, r0.yyyx + mad oT3, c1.w, r0.xxxy, r0.yyyx // ::VSBasicPixelLightingTx<9,10,11,12> // approximately 21 instruction slots used vs_4_0 @@ -103,17 +113,17 @@ ret const BYTE BasicEffect_VSBasicPixelLightingTx[] = { - 68, 88, 66, 67, 204, 155, - 176, 218, 30, 165, 199, 151, - 192, 140, 191, 207, 203, 27, - 37, 64, 1, 0, 0, 0, - 176, 5, 0, 0, 4, 0, + 68, 88, 66, 67, 9, 43, + 114, 249, 73, 170, 16, 32, + 157, 118, 165, 108, 81, 48, + 40, 188, 1, 0, 0, 0, + 12, 10, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 16, 2, 0, 0, 152, 4, - 0, 0, 12, 5, 0, 0, - 65, 111, 110, 57, 216, 1, - 0, 0, 216, 1, 0, 0, - 0, 2, 254, 255, 140, 1, + 108, 6, 0, 0, 244, 8, + 0, 0, 104, 9, 0, 0, + 65, 111, 110, 57, 52, 6, + 0, 0, 52, 6, 0, 0, + 0, 2, 254, 255, 232, 5, 0, 0, 76, 0, 0, 0, 3, 0, 36, 0, 0, 0, 72, 0, 0, 0, 72, 0, @@ -125,7 +135,193 @@ const BYTE BasicEffect_VSBasicPixelLightingTx[] = 0, 0, 0, 0, 19, 0, 7, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 81, 0, + 0, 2, 254, 255, 254, 255, + 22, 1, 68, 66, 85, 71, + 40, 0, 0, 0, 44, 4, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 4, 1, + 0, 0, 25, 0, 0, 0, + 16, 1, 0, 0, 3, 0, + 0, 0, 240, 3, 0, 0, + 216, 1, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 76, 105, + 103, 104, 116, 105, 110, 103, + 46, 102, 120, 104, 0, 67, + 58, 92, 65, 84, 71, 32, + 83, 97, 109, 112, 108, 101, + 32, 68, 101, 118, 101, 108, + 111, 112, 109, 101, 110, 116, + 92, 115, 116, 95, 100, 101, + 118, 92, 75, 105, 116, 115, + 92, 68, 105, 114, 101, 99, + 116, 88, 84, 75, 92, 83, + 114, 99, 92, 83, 104, 97, + 100, 101, 114, 115, 92, 67, + 111, 109, 109, 111, 110, 46, + 102, 120, 104, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 66, 97, + 115, 105, 99, 69, 102, 102, + 101, 99, 116, 46, 102, 120, + 0, 171, 40, 0, 0, 0, + 113, 0, 0, 0, 184, 0, + 0, 0, 0, 0, 255, 255, + 96, 4, 0, 0, 0, 0, + 255, 255, 120, 4, 0, 0, + 0, 0, 255, 255, 132, 4, + 0, 0, 0, 0, 255, 255, + 144, 4, 0, 0, 85, 0, + 0, 0, 156, 4, 0, 0, + 86, 0, 0, 0, 172, 4, + 0, 0, 86, 0, 0, 0, + 188, 4, 0, 0, 86, 0, + 0, 0, 204, 4, 0, 0, + 87, 0, 0, 0, 220, 4, + 0, 0, 87, 0, 0, 0, + 236, 4, 0, 0, 87, 0, + 0, 0, 252, 4, 0, 0, + 87, 0, 0, 0, 12, 5, + 0, 0, 87, 0, 0, 0, + 28, 5, 0, 0, 87, 0, + 0, 0, 40, 5, 0, 0, + 14, 0, 1, 0, 56, 5, + 0, 0, 14, 0, 1, 0, + 72, 5, 0, 0, 14, 0, + 1, 0, 88, 5, 0, 0, + 85, 0, 0, 0, 104, 5, + 0, 0, 85, 0, 0, 0, + 120, 5, 0, 0, 85, 0, + 0, 0, 136, 5, 0, 0, + 37, 1, 2, 0, 152, 5, + 0, 0, 37, 1, 2, 0, + 172, 5, 0, 0, 45, 1, + 2, 0, 184, 5, 0, 0, + 44, 1, 2, 0, 196, 5, + 0, 0, 44, 1, 2, 0, + 208, 5, 0, 0, 86, 83, + 66, 97, 115, 105, 99, 80, + 105, 120, 101, 108, 76, 105, + 103, 104, 116, 105, 110, 103, + 84, 120, 0, 84, 101, 120, + 67, 111, 111, 114, 100, 0, + 1, 0, 3, 0, 1, 0, + 2, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 80, 111, + 115, 105, 116, 105, 111, 110, + 87, 83, 0, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 78, 111, 114, 109, + 97, 108, 87, 83, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 68, 105, 102, 102, 117, 115, + 101, 0, 80, 111, 115, 105, + 116, 105, 111, 110, 80, 83, + 0, 171, 239, 1, 0, 0, + 248, 1, 0, 0, 8, 2, + 0, 0, 20, 2, 0, 0, + 36, 2, 0, 0, 48, 2, + 0, 0, 64, 2, 0, 0, + 20, 2, 0, 0, 72, 2, + 0, 0, 20, 2, 0, 0, + 5, 0, 0, 0, 1, 0, + 17, 0, 1, 0, 5, 0, + 84, 2, 0, 0, 4, 0, + 0, 0, 255, 255, 255, 255, + 15, 0, 255, 255, 5, 0, + 0, 0, 2, 0, 255, 255, + 255, 255, 255, 255, 6, 0, + 0, 0, 255, 255, 3, 0, + 255, 255, 255, 255, 7, 0, + 0, 0, 255, 255, 255, 255, + 4, 0, 255, 255, 13, 0, + 0, 0, 6, 0, 7, 0, + 8, 0, 255, 255, 16, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 5, 0, 20, 0, + 0, 0, 13, 0, 14, 0, + 255, 255, 255, 255, 21, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 16, 0, 22, 0, + 0, 0, 0, 0, 1, 0, + 255, 255, 255, 255, 24, 0, + 0, 0, 9, 0, 10, 0, + 11, 0, 12, 0, 118, 105, + 110, 0, 80, 111, 115, 105, + 116, 105, 111, 110, 0, 78, + 111, 114, 109, 97, 108, 0, + 8, 3, 0, 0, 20, 2, + 0, 0, 17, 3, 0, 0, + 48, 2, 0, 0, 239, 1, + 0, 0, 248, 1, 0, 0, + 5, 0, 0, 0, 1, 0, + 9, 0, 1, 0, 3, 0, + 24, 3, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 3, 0, 2, 0, + 0, 0, 4, 0, 5, 0, + 6, 0, 255, 255, 3, 0, + 0, 0, 7, 0, 8, 0, + 255, 255, 255, 255, 118, 111, + 117, 116, 0, 80, 111, 115, + 95, 112, 115, 0, 80, 111, + 115, 95, 119, 115, 0, 78, + 111, 114, 109, 97, 108, 95, + 119, 115, 0, 70, 111, 103, + 70, 97, 99, 116, 111, 114, + 0, 171, 0, 0, 3, 0, + 1, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 105, 3, 0, 0, 20, 2, + 0, 0, 112, 3, 0, 0, + 48, 2, 0, 0, 119, 3, + 0, 0, 48, 2, 0, 0, + 129, 3, 0, 0, 140, 3, + 0, 0, 5, 0, 0, 0, + 1, 0, 11, 0, 1, 0, + 4, 0, 156, 3, 0, 0, + 17, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 18, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 19, 0, 0, 0, 255, 255, + 255, 255, 3, 0, 255, 255, + 0, 0, 0, 0, 216, 1, + 0, 0, 124, 2, 0, 0, + 10, 0, 0, 0, 140, 2, + 0, 0, 216, 1, 0, 0, + 4, 3, 0, 0, 48, 3, + 0, 0, 3, 0, 0, 0, + 64, 3, 0, 0, 0, 0, + 0, 0, 100, 3, 0, 0, + 188, 3, 0, 0, 3, 0, + 0, 0, 204, 3, 0, 0, + 77, 105, 99, 114, 111, 115, + 111, 102, 116, 32, 40, 82, + 41, 32, 72, 76, 83, 76, + 32, 83, 104, 97, 100, 101, + 114, 32, 67, 111, 109, 112, + 105, 108, 101, 114, 32, 49, + 48, 46, 49, 0, 81, 0, 0, 5, 13, 0, 15, 160, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingTxVc.inc b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingTxVc.inc index 8a07e499..8209f47c 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingTxVc.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingTxVc.inc @@ -44,31 +44,43 @@ // vs_2_0 def c13, 0, 1, 0, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 - dcl_texcoord3 v3 - dp4 oPos.z, v0, c11 - dp4 oT1.x, v0, c3 - dp4 oT1.y, v0, c4 - dp4 oT1.z, v0, c5 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5,6> + dcl_texcoord2 v2 // vin<7,8> + dcl_texcoord3 v3 // vin<9,10,11,12> + +#line 85 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp4 oPos.z, v0, c11 // ::VSBasicPixelLightingTxVc<15> + dp4 oT1.x, v0, c3 // ::VSBasicPixelLightingTxVc<2> + dp4 oT1.y, v0, c4 // ::VSBasicPixelLightingTxVc<3> + dp4 oT1.z, v0, c5 // ::VSBasicPixelLightingTxVc<4> dp3 r0.x, v1, c6 dp3 r0.y, v1, c7 dp3 r0.z, v1, c8 dp3 r0.w, r0, r0 rsq r0.w, r0.w - mul oT2.xyz, r0.w, r0 + mul oT2.xyz, r0.w, r0 // ::VSBasicPixelLightingTxVc<6,7,8> + +#line 14 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" dp4 r0.x, v0, c2 max r0.x, r0.x, c13.x - min oT1.w, r0.x, c13.y - mul oT3.w, v3.w, c1.w - dp4 r0.x, v0, c9 - dp4 r0.y, v0, c10 - dp4 r0.z, v0, c12 - mad oPos.xy, r0.z, c0, r0 - mov oPos.w, r0.z - mov oT0.xy, v2 - mov oT3.xyz, v3 + min oT1.w, r0.x, c13.y // ::VSBasicPixelLightingTxVc<5> + +#line 316 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mul oT3.w, v3.w, c1.w // ::VSBasicPixelLightingTxVc<12> + +#line 85 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp4 r0.x, v0, c9 // ::vout<0> + dp4 r0.y, v0, c10 // ::vout<1> + dp4 r0.z, v0, c12 // ::vout<3> + +#line 308 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mad oPos.xy, r0.z, c0, r0 // ::VSBasicPixelLightingTxVc<13,14> + mov oPos.w, r0.z // ::VSBasicPixelLightingTxVc<16> + +#line 317 + mov oT0.xy, v2 // ::VSBasicPixelLightingTxVc<0,1> + mov oT3.xyz, v3 // ::VSBasicPixelLightingTxVc<9,10,11> // approximately 21 instruction slots used vs_4_0 @@ -106,17 +118,17 @@ ret const BYTE BasicEffect_VSBasicPixelLightingTxVc[] = { - 68, 88, 66, 67, 65, 60, - 6, 224, 158, 7, 234, 93, - 193, 57, 237, 180, 6, 97, - 96, 230, 1, 0, 0, 0, - 224, 5, 0, 0, 4, 0, + 68, 88, 66, 67, 222, 13, + 104, 235, 159, 170, 215, 223, + 249, 129, 108, 227, 207, 189, + 48, 89, 1, 0, 0, 0, + 112, 10, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 24, 2, 0, 0, 168, 4, - 0, 0, 60, 5, 0, 0, - 65, 111, 110, 57, 224, 1, - 0, 0, 224, 1, 0, 0, - 0, 2, 254, 255, 148, 1, + 168, 6, 0, 0, 56, 9, + 0, 0, 204, 9, 0, 0, + 65, 111, 110, 57, 112, 6, + 0, 0, 112, 6, 0, 0, + 0, 2, 254, 255, 36, 6, 0, 0, 76, 0, 0, 0, 3, 0, 36, 0, 0, 0, 72, 0, 0, 0, 72, 0, @@ -128,233 +140,428 @@ const BYTE BasicEffect_VSBasicPixelLightingTxVc[] = 0, 0, 0, 0, 19, 0, 7, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 81, 0, - 0, 5, 13, 0, 15, 160, + 0, 2, 254, 255, 254, 255, + 35, 1, 68, 66, 85, 71, + 40, 0, 0, 0, 96, 4, 0, 0, 0, 0, 0, 0, - 128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 1, 128, - 1, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 2, 128, - 2, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 3, 128, - 3, 0, 15, 144, 9, 0, - 0, 3, 0, 0, 4, 192, - 0, 0, 228, 144, 11, 0, - 228, 160, 9, 0, 0, 3, - 1, 0, 1, 224, 0, 0, - 228, 144, 3, 0, 228, 160, + 3, 0, 0, 0, 4, 1, + 0, 0, 26, 0, 0, 0, + 16, 1, 0, 0, 3, 0, + 0, 0, 36, 4, 0, 0, + 224, 1, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 76, 105, + 103, 104, 116, 105, 110, 103, + 46, 102, 120, 104, 0, 67, + 58, 92, 65, 84, 71, 32, + 83, 97, 109, 112, 108, 101, + 32, 68, 101, 118, 101, 108, + 111, 112, 109, 101, 110, 116, + 92, 115, 116, 95, 100, 101, + 118, 92, 75, 105, 116, 115, + 92, 68, 105, 114, 101, 99, + 116, 88, 84, 75, 92, 83, + 114, 99, 92, 83, 104, 97, + 100, 101, 114, 115, 92, 67, + 111, 109, 109, 111, 110, 46, + 102, 120, 104, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 66, 97, + 115, 105, 99, 69, 102, 102, + 101, 99, 116, 46, 102, 120, + 0, 171, 40, 0, 0, 0, + 113, 0, 0, 0, 184, 0, + 0, 0, 0, 0, 255, 255, + 148, 4, 0, 0, 0, 0, + 255, 255, 172, 4, 0, 0, + 0, 0, 255, 255, 184, 4, + 0, 0, 0, 0, 255, 255, + 196, 4, 0, 0, 0, 0, + 255, 255, 208, 4, 0, 0, + 85, 0, 0, 0, 220, 4, + 0, 0, 86, 0, 0, 0, + 236, 4, 0, 0, 86, 0, + 0, 0, 252, 4, 0, 0, + 86, 0, 0, 0, 12, 5, + 0, 0, 87, 0, 0, 0, + 28, 5, 0, 0, 87, 0, + 0, 0, 44, 5, 0, 0, + 87, 0, 0, 0, 60, 5, + 0, 0, 87, 0, 0, 0, + 76, 5, 0, 0, 87, 0, + 0, 0, 92, 5, 0, 0, + 87, 0, 0, 0, 104, 5, + 0, 0, 14, 0, 1, 0, + 120, 5, 0, 0, 14, 0, + 1, 0, 136, 5, 0, 0, + 14, 0, 1, 0, 152, 5, + 0, 0, 60, 1, 2, 0, + 168, 5, 0, 0, 85, 0, + 0, 0, 184, 5, 0, 0, + 85, 0, 0, 0, 200, 5, + 0, 0, 85, 0, 0, 0, + 216, 5, 0, 0, 52, 1, + 2, 0, 232, 5, 0, 0, + 52, 1, 2, 0, 252, 5, + 0, 0, 61, 1, 2, 0, + 8, 6, 0, 0, 59, 1, + 2, 0, 20, 6, 0, 0, + 86, 83, 66, 97, 115, 105, + 99, 80, 105, 120, 101, 108, + 76, 105, 103, 104, 116, 105, + 110, 103, 84, 120, 86, 99, + 0, 84, 101, 120, 67, 111, + 111, 114, 100, 0, 171, 171, + 1, 0, 3, 0, 1, 0, + 2, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 80, 111, + 115, 105, 116, 105, 111, 110, + 87, 83, 0, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 78, 111, 114, 109, + 97, 108, 87, 83, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 68, 105, 102, 102, 117, 115, + 101, 0, 80, 111, 115, 105, + 116, 105, 111, 110, 80, 83, + 0, 171, 249, 1, 0, 0, + 4, 2, 0, 0, 20, 2, + 0, 0, 32, 2, 0, 0, + 48, 2, 0, 0, 60, 2, + 0, 0, 76, 2, 0, 0, + 32, 2, 0, 0, 84, 2, + 0, 0, 32, 2, 0, 0, + 5, 0, 0, 0, 1, 0, + 17, 0, 1, 0, 5, 0, + 96, 2, 0, 0, 5, 0, + 0, 0, 255, 255, 255, 255, + 15, 0, 255, 255, 6, 0, + 0, 0, 2, 0, 255, 255, + 255, 255, 255, 255, 7, 0, + 0, 0, 255, 255, 3, 0, + 255, 255, 255, 255, 8, 0, + 0, 0, 255, 255, 255, 255, + 4, 0, 255, 255, 14, 0, + 0, 0, 6, 0, 7, 0, + 8, 0, 255, 255, 17, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 5, 0, 18, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 12, 0, 22, 0, + 0, 0, 13, 0, 14, 0, + 255, 255, 255, 255, 23, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 16, 0, 24, 0, + 0, 0, 0, 0, 1, 0, + 255, 255, 255, 255, 25, 0, + 0, 0, 9, 0, 10, 0, + 11, 0, 255, 255, 118, 105, + 110, 0, 80, 111, 115, 105, + 116, 105, 111, 110, 0, 78, + 111, 114, 109, 97, 108, 0, + 67, 111, 108, 111, 114, 0, + 171, 171, 32, 3, 0, 0, + 32, 2, 0, 0, 41, 3, + 0, 0, 60, 2, 0, 0, + 249, 1, 0, 0, 4, 2, + 0, 0, 48, 3, 0, 0, + 32, 2, 0, 0, 5, 0, + 0, 0, 1, 0, 13, 0, + 1, 0, 4, 0, 56, 3, + 0, 0, 1, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 2, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 255, 255, 3, 0, 0, 0, + 7, 0, 8, 0, 255, 255, + 255, 255, 4, 0, 0, 0, + 9, 0, 10, 0, 11, 0, + 12, 0, 118, 111, 117, 116, + 0, 80, 111, 115, 95, 112, + 115, 0, 80, 111, 115, 95, + 119, 115, 0, 78, 111, 114, + 109, 97, 108, 95, 119, 115, + 0, 70, 111, 103, 70, 97, + 99, 116, 111, 114, 0, 171, + 0, 0, 3, 0, 1, 0, + 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 157, 3, + 0, 0, 32, 2, 0, 0, + 164, 3, 0, 0, 60, 2, + 0, 0, 171, 3, 0, 0, + 60, 2, 0, 0, 181, 3, + 0, 0, 192, 3, 0, 0, + 5, 0, 0, 0, 1, 0, + 11, 0, 1, 0, 4, 0, + 208, 3, 0, 0, 19, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 20, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 21, 0, + 0, 0, 255, 255, 255, 255, + 3, 0, 255, 255, 0, 0, + 0, 0, 224, 1, 0, 0, + 136, 2, 0, 0, 11, 0, + 0, 0, 152, 2, 0, 0, + 224, 1, 0, 0, 28, 3, + 0, 0, 88, 3, 0, 0, + 4, 0, 0, 0, 104, 3, + 0, 0, 0, 0, 0, 0, + 152, 3, 0, 0, 240, 3, + 0, 0, 3, 0, 0, 0, + 0, 4, 0, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 81, 0, 0, 5, + 13, 0, 15, 160, 0, 0, + 0, 0, 0, 0, 128, 63, + 0, 0, 0, 0, 0, 0, + 0, 0, 31, 0, 0, 2, + 5, 0, 0, 128, 0, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 1, 128, 1, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 2, 128, 2, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 3, 128, 3, 0, + 15, 144, 9, 0, 0, 3, + 0, 0, 4, 192, 0, 0, + 228, 144, 11, 0, 228, 160, 9, 0, 0, 3, 1, 0, - 2, 224, 0, 0, 228, 144, - 4, 0, 228, 160, 9, 0, - 0, 3, 1, 0, 4, 224, - 0, 0, 228, 144, 5, 0, - 228, 160, 8, 0, 0, 3, - 0, 0, 1, 128, 1, 0, - 228, 144, 6, 0, 228, 160, + 1, 224, 0, 0, 228, 144, + 3, 0, 228, 160, 9, 0, + 0, 3, 1, 0, 2, 224, + 0, 0, 228, 144, 4, 0, + 228, 160, 9, 0, 0, 3, + 1, 0, 4, 224, 0, 0, + 228, 144, 5, 0, 228, 160, 8, 0, 0, 3, 0, 0, - 2, 128, 1, 0, 228, 144, - 7, 0, 228, 160, 8, 0, - 0, 3, 0, 0, 4, 128, - 1, 0, 228, 144, 8, 0, + 1, 128, 1, 0, 228, 144, + 6, 0, 228, 160, 8, 0, + 0, 3, 0, 0, 2, 128, + 1, 0, 228, 144, 7, 0, 228, 160, 8, 0, 0, 3, - 0, 0, 8, 128, 0, 0, - 228, 128, 0, 0, 228, 128, - 7, 0, 0, 2, 0, 0, - 8, 128, 0, 0, 255, 128, - 5, 0, 0, 3, 2, 0, - 7, 224, 0, 0, 255, 128, - 0, 0, 228, 128, 9, 0, - 0, 3, 0, 0, 1, 128, - 0, 0, 228, 144, 2, 0, - 228, 160, 11, 0, 0, 3, - 0, 0, 1, 128, 0, 0, - 0, 128, 13, 0, 0, 160, - 10, 0, 0, 3, 1, 0, - 8, 224, 0, 0, 0, 128, - 13, 0, 85, 160, 5, 0, - 0, 3, 3, 0, 8, 224, - 3, 0, 255, 144, 1, 0, - 255, 160, 9, 0, 0, 3, + 0, 0, 4, 128, 1, 0, + 228, 144, 8, 0, 228, 160, + 8, 0, 0, 3, 0, 0, + 8, 128, 0, 0, 228, 128, + 0, 0, 228, 128, 7, 0, + 0, 2, 0, 0, 8, 128, + 0, 0, 255, 128, 5, 0, + 0, 3, 2, 0, 7, 224, + 0, 0, 255, 128, 0, 0, + 228, 128, 9, 0, 0, 3, 0, 0, 1, 128, 0, 0, - 228, 144, 9, 0, 228, 160, + 228, 144, 2, 0, 228, 160, + 11, 0, 0, 3, 0, 0, + 1, 128, 0, 0, 0, 128, + 13, 0, 0, 160, 10, 0, + 0, 3, 1, 0, 8, 224, + 0, 0, 0, 128, 13, 0, + 85, 160, 5, 0, 0, 3, + 3, 0, 8, 224, 3, 0, + 255, 144, 1, 0, 255, 160, 9, 0, 0, 3, 0, 0, - 2, 128, 0, 0, 228, 144, - 10, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 4, 128, - 0, 0, 228, 144, 12, 0, - 228, 160, 4, 0, 0, 4, - 0, 0, 3, 192, 0, 0, - 170, 128, 0, 0, 228, 160, - 0, 0, 228, 128, 1, 0, - 0, 2, 0, 0, 8, 192, - 0, 0, 170, 128, 1, 0, - 0, 2, 0, 0, 3, 224, - 2, 0, 228, 144, 1, 0, - 0, 2, 3, 0, 7, 224, - 3, 0, 228, 144, 255, 255, - 0, 0, 83, 72, 68, 82, - 136, 2, 0, 0, 64, 0, - 1, 0, 162, 0, 0, 0, - 89, 0, 0, 4, 70, 142, - 32, 0, 0, 0, 0, 0, - 26, 0, 0, 0, 95, 0, - 0, 3, 242, 16, 16, 0, - 0, 0, 0, 0, 95, 0, - 0, 3, 114, 16, 16, 0, - 1, 0, 0, 0, 95, 0, - 0, 3, 50, 16, 16, 0, - 2, 0, 0, 0, 95, 0, - 0, 3, 242, 16, 16, 0, - 3, 0, 0, 0, 101, 0, - 0, 3, 50, 32, 16, 0, - 0, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 114, 32, 16, 0, - 2, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 3, 0, 0, 0, 103, 0, - 0, 4, 242, 32, 16, 0, - 4, 0, 0, 0, 1, 0, - 0, 0, 104, 0, 0, 2, - 1, 0, 0, 0, 54, 0, - 0, 5, 50, 32, 16, 0, - 0, 0, 0, 0, 70, 16, - 16, 0, 2, 0, 0, 0, - 17, 0, 0, 8, 18, 32, + 1, 128, 0, 0, 228, 144, + 9, 0, 228, 160, 9, 0, + 0, 3, 0, 0, 2, 128, + 0, 0, 228, 144, 10, 0, + 228, 160, 9, 0, 0, 3, + 0, 0, 4, 128, 0, 0, + 228, 144, 12, 0, 228, 160, + 4, 0, 0, 4, 0, 0, + 3, 192, 0, 0, 170, 128, + 0, 0, 228, 160, 0, 0, + 228, 128, 1, 0, 0, 2, + 0, 0, 8, 192, 0, 0, + 170, 128, 1, 0, 0, 2, + 0, 0, 3, 224, 2, 0, + 228, 144, 1, 0, 0, 2, + 3, 0, 7, 224, 3, 0, + 228, 144, 255, 255, 0, 0, + 83, 72, 68, 82, 136, 2, + 0, 0, 64, 0, 1, 0, + 162, 0, 0, 0, 89, 0, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 26, 0, + 0, 0, 95, 0, 0, 3, + 242, 16, 16, 0, 0, 0, + 0, 0, 95, 0, 0, 3, + 114, 16, 16, 0, 1, 0, + 0, 0, 95, 0, 0, 3, + 50, 16, 16, 0, 2, 0, + 0, 0, 95, 0, 0, 3, + 242, 16, 16, 0, 3, 0, + 0, 0, 101, 0, 0, 3, + 50, 32, 16, 0, 0, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 1, 0, + 0, 0, 101, 0, 0, 3, + 114, 32, 16, 0, 2, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 3, 0, + 0, 0, 103, 0, 0, 4, + 242, 32, 16, 0, 4, 0, + 0, 0, 1, 0, 0, 0, + 104, 0, 0, 2, 1, 0, + 0, 0, 54, 0, 0, 5, + 50, 32, 16, 0, 0, 0, + 0, 0, 70, 16, 16, 0, + 2, 0, 0, 0, 17, 0, + 0, 8, 18, 32, 16, 0, + 1, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 17, 0, 0, 8, 34, 32, 16, 0, 1, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 16, 0, 0, 0, 17, 0, 0, 8, - 34, 32, 16, 0, 1, 0, + 66, 32, 16, 0, 1, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 16, 0, 0, 0, 17, 0, - 0, 8, 66, 32, 16, 0, + 17, 0, 0, 0, 17, 32, + 0, 8, 130, 32, 16, 0, 1, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, - 0, 0, 17, 0, 0, 0, - 17, 32, 0, 8, 130, 32, - 16, 0, 1, 0, 0, 0, - 70, 30, 16, 0, 0, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 14, 0, + 0, 0, 14, 0, 0, 0, + 16, 0, 0, 8, 18, 0, + 16, 0, 0, 0, 0, 0, + 70, 18, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 19, 0, 0, 0, 16, 0, 0, 8, - 18, 0, 16, 0, 0, 0, + 34, 0, 16, 0, 0, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, - 19, 0, 0, 0, 16, 0, - 0, 8, 34, 0, 16, 0, + 20, 0, 0, 0, 16, 0, + 0, 8, 66, 0, 16, 0, 0, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, 0, 0, - 0, 0, 20, 0, 0, 0, - 16, 0, 0, 8, 66, 0, + 0, 0, 21, 0, 0, 0, + 16, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, - 70, 18, 16, 0, 1, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 21, 0, - 0, 0, 16, 0, 0, 7, - 130, 0, 16, 0, 0, 0, + 70, 2, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 68, 0, 0, 5, 130, 0, - 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 7, - 114, 32, 16, 0, 2, 0, - 0, 0, 246, 15, 16, 0, - 0, 0, 0, 0, 70, 2, + 0, 0, 0, 0, 68, 0, + 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, - 56, 0, 0, 8, 130, 32, + 56, 0, 0, 7, 114, 32, + 16, 0, 2, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 8, 130, 32, 16, 0, + 3, 0, 0, 0, 58, 16, 16, 0, 3, 0, 0, 0, - 58, 16, 16, 0, 3, 0, - 0, 0, 58, 128, 32, 0, + 58, 128, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 54, 0, 0, 5, - 114, 32, 16, 0, 3, 0, - 0, 0, 70, 18, 16, 0, - 3, 0, 0, 0, 17, 0, - 0, 8, 18, 32, 16, 0, + 54, 0, 0, 5, 114, 32, + 16, 0, 3, 0, 0, 0, + 70, 18, 16, 0, 3, 0, + 0, 0, 17, 0, 0, 8, + 18, 32, 16, 0, 4, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 22, 0, 0, 0, 17, 0, + 0, 8, 34, 32, 16, 0, 4, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, - 0, 0, 22, 0, 0, 0, - 17, 0, 0, 8, 34, 32, + 0, 0, 23, 0, 0, 0, + 17, 0, 0, 8, 66, 32, 16, 0, 4, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 23, 0, + 0, 0, 0, 0, 24, 0, 0, 0, 17, 0, 0, 8, - 66, 32, 16, 0, 4, 0, + 130, 32, 16, 0, 4, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 24, 0, 0, 0, 17, 0, - 0, 8, 130, 32, 16, 0, - 4, 0, 0, 0, 70, 30, - 16, 0, 0, 0, 0, 0, - 70, 142, 32, 0, 0, 0, - 0, 0, 25, 0, 0, 0, - 62, 0, 0, 1, 73, 83, - 71, 78, 140, 0, 0, 0, - 4, 0, 0, 0, 8, 0, - 0, 0, 104, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 15, - 0, 0, 116, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 7, 7, - 0, 0, 123, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 2, 0, 0, 0, 3, 3, - 0, 0, 132, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 3, 0, 0, 0, 15, 15, - 0, 0, 83, 86, 95, 80, - 111, 115, 105, 116, 105, 111, - 110, 0, 78, 79, 82, 77, - 65, 76, 0, 84, 69, 88, - 67, 79, 79, 82, 68, 0, - 67, 79, 76, 79, 82, 0, - 171, 171, 79, 83, 71, 78, - 156, 0, 0, 0, 5, 0, + 25, 0, 0, 0, 62, 0, + 0, 1, 73, 83, 71, 78, + 140, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, - 128, 0, 0, 0, 0, 0, + 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, - 0, 0, 3, 12, 0, 0, - 128, 0, 0, 0, 1, 0, + 0, 0, 15, 15, 0, 0, + 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, - 0, 0, 15, 0, 0, 0, - 128, 0, 0, 0, 2, 0, + 0, 0, 7, 7, 0, 0, + 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, - 0, 0, 7, 8, 0, 0, - 137, 0, 0, 0, 0, 0, + 0, 0, 3, 3, 0, 0, + 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, - 0, 0, 15, 0, 0, 0, - 143, 0, 0, 0, 0, 0, + 0, 0, 15, 15, 0, 0, + 83, 86, 95, 80, 111, 115, + 105, 116, 105, 111, 110, 0, + 78, 79, 82, 77, 65, 76, + 0, 84, 69, 88, 67, 79, + 79, 82, 68, 0, 67, 79, + 76, 79, 82, 0, 171, 171, + 79, 83, 71, 78, 156, 0, + 0, 0, 5, 0, 0, 0, + 8, 0, 0, 0, 128, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 3, 12, 0, 0, 128, 0, 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 4, 0, - 0, 0, 15, 0, 0, 0, - 84, 69, 88, 67, 79, 79, - 82, 68, 0, 67, 79, 76, - 79, 82, 0, 83, 86, 95, - 80, 111, 115, 105, 116, 105, - 111, 110, 0, 171 + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 15, 0, 0, 0, 128, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 7, 8, 0, 0, 137, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 15, 0, 0, 0, 143, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 4, 0, 0, 0, + 15, 0, 0, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 67, 79, 76, 79, 82, + 0, 83, 86, 95, 80, 111, + 115, 105, 116, 105, 111, 110, + 0, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingVc.inc b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingVc.inc index 1ef54041..b0af53ec 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingVc.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicPixelLightingVc.inc @@ -42,29 +42,41 @@ // vs_2_0 def c13, 0, 1, 0, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 - dp4 oPos.z, v0, c11 - dp4 oT0.x, v0, c3 - dp4 oT0.y, v0, c4 - dp4 oT0.z, v0, c5 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5,6> + dcl_texcoord2 v2 // vin<7,8,9,10> + +#line 85 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp4 oPos.z, v0, c11 // ::VSBasicPixelLightingVc<13> + dp4 oT0.x, v0, c3 // ::VSBasicPixelLightingVc<0> + dp4 oT0.y, v0, c4 // ::VSBasicPixelLightingVc<1> + dp4 oT0.z, v0, c5 // ::VSBasicPixelLightingVc<2> dp3 r0.x, v1, c6 dp3 r0.y, v1, c7 dp3 r0.z, v1, c8 dp3 r0.w, r0, r0 rsq r0.w, r0.w - mul oT1.xyz, r0.w, r0 + mul oT1.xyz, r0.w, r0 // ::VSBasicPixelLightingVc<4,5,6> + +#line 14 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" dp4 r0.x, v0, c2 max r0.x, r0.x, c13.x - min oT0.w, r0.x, c13.y - mul oT2.w, v2.w, c1.w - dp4 r0.x, v0, c9 - dp4 r0.y, v0, c10 - dp4 r0.z, v0, c12 - mad oPos.xy, r0.z, c0, r0 - mov oPos.w, r0.z - mov oT2.xyz, v2 + min oT0.w, r0.x, c13.y // ::VSBasicPixelLightingVc<3> + +#line 286 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mul oT2.w, v2.w, c1.w // ::VSBasicPixelLightingVc<10> + +#line 85 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp4 r0.x, v0, c9 // ::vout<0> + dp4 r0.y, v0, c10 // ::vout<1> + dp4 r0.z, v0, c12 // ::vout<3> + +#line 278 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mad oPos.xy, r0.z, c0, r0 // ::VSBasicPixelLightingVc<11,12> + mov oPos.w, r0.z // ::VSBasicPixelLightingVc<14> + +#line 285 + mov oT2.xyz, v2 // ::VSBasicPixelLightingVc<7,8,9> // approximately 20 instruction slots used vs_4_0 @@ -99,17 +111,17 @@ ret const BYTE BasicEffect_VSBasicPixelLightingVc[] = { - 68, 88, 66, 67, 0, 37, - 19, 114, 200, 71, 227, 13, - 38, 46, 161, 55, 143, 215, - 122, 186, 1, 0, 0, 0, - 100, 5, 0, 0, 4, 0, + 68, 88, 66, 67, 21, 241, + 126, 7, 199, 62, 72, 9, + 249, 225, 57, 230, 105, 223, + 248, 207, 1, 0, 0, 0, + 160, 9, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 0, 2, 0, 0, 100, 4, - 0, 0, 216, 4, 0, 0, - 65, 111, 110, 57, 200, 1, - 0, 0, 200, 1, 0, 0, - 0, 2, 254, 255, 124, 1, + 60, 6, 0, 0, 160, 8, + 0, 0, 20, 9, 0, 0, + 65, 111, 110, 57, 4, 6, + 0, 0, 4, 6, 0, 0, + 0, 2, 254, 255, 184, 5, 0, 0, 76, 0, 0, 0, 3, 0, 36, 0, 0, 0, 72, 0, 0, 0, 72, 0, @@ -121,212 +133,393 @@ const BYTE BasicEffect_VSBasicPixelLightingVc[] = 0, 0, 0, 0, 19, 0, 7, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 81, 0, - 0, 5, 13, 0, 15, 160, + 0, 2, 254, 255, 254, 255, + 14, 1, 68, 66, 85, 71, + 40, 0, 0, 0, 12, 4, 0, 0, 0, 0, 0, 0, - 128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 1, 128, - 1, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 2, 128, - 2, 0, 15, 144, 9, 0, - 0, 3, 0, 0, 4, 192, - 0, 0, 228, 144, 11, 0, - 228, 160, 9, 0, 0, 3, - 0, 0, 1, 224, 0, 0, - 228, 144, 3, 0, 228, 160, + 3, 0, 0, 0, 4, 1, + 0, 0, 24, 0, 0, 0, + 16, 1, 0, 0, 3, 0, + 0, 0, 208, 3, 0, 0, + 208, 1, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 76, 105, + 103, 104, 116, 105, 110, 103, + 46, 102, 120, 104, 0, 67, + 58, 92, 65, 84, 71, 32, + 83, 97, 109, 112, 108, 101, + 32, 68, 101, 118, 101, 108, + 111, 112, 109, 101, 110, 116, + 92, 115, 116, 95, 100, 101, + 118, 92, 75, 105, 116, 115, + 92, 68, 105, 114, 101, 99, + 116, 88, 84, 75, 92, 83, + 114, 99, 92, 83, 104, 97, + 100, 101, 114, 115, 92, 67, + 111, 109, 109, 111, 110, 46, + 102, 120, 104, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 66, 97, + 115, 105, 99, 69, 102, 102, + 101, 99, 116, 46, 102, 120, + 0, 171, 40, 0, 0, 0, + 113, 0, 0, 0, 184, 0, + 0, 0, 0, 0, 255, 255, + 64, 4, 0, 0, 0, 0, + 255, 255, 88, 4, 0, 0, + 0, 0, 255, 255, 100, 4, + 0, 0, 0, 0, 255, 255, + 112, 4, 0, 0, 85, 0, + 0, 0, 124, 4, 0, 0, + 86, 0, 0, 0, 140, 4, + 0, 0, 86, 0, 0, 0, + 156, 4, 0, 0, 86, 0, + 0, 0, 172, 4, 0, 0, + 87, 0, 0, 0, 188, 4, + 0, 0, 87, 0, 0, 0, + 204, 4, 0, 0, 87, 0, + 0, 0, 220, 4, 0, 0, + 87, 0, 0, 0, 236, 4, + 0, 0, 87, 0, 0, 0, + 252, 4, 0, 0, 87, 0, + 0, 0, 8, 5, 0, 0, + 14, 0, 1, 0, 24, 5, + 0, 0, 14, 0, 1, 0, + 40, 5, 0, 0, 14, 0, + 1, 0, 56, 5, 0, 0, + 30, 1, 2, 0, 72, 5, + 0, 0, 85, 0, 0, 0, + 88, 5, 0, 0, 85, 0, + 0, 0, 104, 5, 0, 0, + 85, 0, 0, 0, 120, 5, + 0, 0, 22, 1, 2, 0, + 136, 5, 0, 0, 22, 1, + 2, 0, 156, 5, 0, 0, + 29, 1, 2, 0, 168, 5, + 0, 0, 86, 83, 66, 97, + 115, 105, 99, 80, 105, 120, + 101, 108, 76, 105, 103, 104, + 116, 105, 110, 103, 86, 99, + 0, 80, 111, 115, 105, 116, + 105, 111, 110, 87, 83, 0, + 171, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 78, 111, 114, 109, 97, 108, + 87, 83, 0, 171, 171, 171, + 1, 0, 3, 0, 1, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 68, 105, + 102, 102, 117, 115, 101, 0, + 80, 111, 115, 105, 116, 105, + 111, 110, 80, 83, 0, 171, + 231, 1, 0, 0, 244, 1, + 0, 0, 4, 2, 0, 0, + 16, 2, 0, 0, 32, 2, + 0, 0, 244, 1, 0, 0, + 40, 2, 0, 0, 244, 1, + 0, 0, 5, 0, 0, 0, + 1, 0, 15, 0, 1, 0, + 4, 0, 52, 2, 0, 0, + 4, 0, 0, 0, 255, 255, + 255, 255, 13, 0, 255, 255, + 5, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 6, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 7, 0, 0, 0, 255, 255, + 255, 255, 2, 0, 255, 255, + 13, 0, 0, 0, 4, 0, + 5, 0, 6, 0, 255, 255, + 16, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 3, 0, + 17, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 10, 0, + 21, 0, 0, 0, 11, 0, + 12, 0, 255, 255, 255, 255, + 22, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 14, 0, + 23, 0, 0, 0, 7, 0, + 8, 0, 9, 0, 255, 255, + 118, 105, 110, 0, 80, 111, + 115, 105, 116, 105, 111, 110, + 0, 78, 111, 114, 109, 97, + 108, 0, 67, 111, 108, 111, + 114, 0, 171, 171, 224, 2, + 0, 0, 244, 1, 0, 0, + 233, 2, 0, 0, 16, 2, + 0, 0, 240, 2, 0, 0, + 244, 1, 0, 0, 5, 0, + 0, 0, 1, 0, 11, 0, + 1, 0, 3, 0, 248, 2, + 0, 0, 1, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 2, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 255, 255, 3, 0, 0, 0, + 7, 0, 8, 0, 9, 0, + 10, 0, 118, 111, 117, 116, + 0, 80, 111, 115, 95, 112, + 115, 0, 80, 111, 115, 95, + 119, 115, 0, 78, 111, 114, + 109, 97, 108, 95, 119, 115, + 0, 70, 111, 103, 70, 97, + 99, 116, 111, 114, 0, 171, + 0, 0, 3, 0, 1, 0, + 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 73, 3, + 0, 0, 244, 1, 0, 0, + 80, 3, 0, 0, 16, 2, + 0, 0, 87, 3, 0, 0, + 16, 2, 0, 0, 97, 3, + 0, 0, 108, 3, 0, 0, + 5, 0, 0, 0, 1, 0, + 11, 0, 1, 0, 4, 0, + 124, 3, 0, 0, 18, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 19, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 20, 0, + 0, 0, 255, 255, 255, 255, + 3, 0, 255, 255, 0, 0, + 0, 0, 208, 1, 0, 0, + 84, 2, 0, 0, 10, 0, + 0, 0, 100, 2, 0, 0, + 208, 1, 0, 0, 220, 2, + 0, 0, 16, 3, 0, 0, + 3, 0, 0, 0, 32, 3, + 0, 0, 0, 0, 0, 0, + 68, 3, 0, 0, 156, 3, + 0, 0, 3, 0, 0, 0, + 172, 3, 0, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 81, 0, 0, 5, + 13, 0, 15, 160, 0, 0, + 0, 0, 0, 0, 128, 63, + 0, 0, 0, 0, 0, 0, + 0, 0, 31, 0, 0, 2, + 5, 0, 0, 128, 0, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 1, 128, 1, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 2, 128, 2, 0, + 15, 144, 9, 0, 0, 3, + 0, 0, 4, 192, 0, 0, + 228, 144, 11, 0, 228, 160, 9, 0, 0, 3, 0, 0, - 2, 224, 0, 0, 228, 144, - 4, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 4, 224, - 0, 0, 228, 144, 5, 0, - 228, 160, 8, 0, 0, 3, - 0, 0, 1, 128, 1, 0, - 228, 144, 6, 0, 228, 160, + 1, 224, 0, 0, 228, 144, + 3, 0, 228, 160, 9, 0, + 0, 3, 0, 0, 2, 224, + 0, 0, 228, 144, 4, 0, + 228, 160, 9, 0, 0, 3, + 0, 0, 4, 224, 0, 0, + 228, 144, 5, 0, 228, 160, 8, 0, 0, 3, 0, 0, - 2, 128, 1, 0, 228, 144, - 7, 0, 228, 160, 8, 0, - 0, 3, 0, 0, 4, 128, - 1, 0, 228, 144, 8, 0, + 1, 128, 1, 0, 228, 144, + 6, 0, 228, 160, 8, 0, + 0, 3, 0, 0, 2, 128, + 1, 0, 228, 144, 7, 0, 228, 160, 8, 0, 0, 3, - 0, 0, 8, 128, 0, 0, - 228, 128, 0, 0, 228, 128, - 7, 0, 0, 2, 0, 0, - 8, 128, 0, 0, 255, 128, - 5, 0, 0, 3, 1, 0, - 7, 224, 0, 0, 255, 128, - 0, 0, 228, 128, 9, 0, - 0, 3, 0, 0, 1, 128, - 0, 0, 228, 144, 2, 0, - 228, 160, 11, 0, 0, 3, - 0, 0, 1, 128, 0, 0, - 0, 128, 13, 0, 0, 160, - 10, 0, 0, 3, 0, 0, - 8, 224, 0, 0, 0, 128, - 13, 0, 85, 160, 5, 0, - 0, 3, 2, 0, 8, 224, - 2, 0, 255, 144, 1, 0, - 255, 160, 9, 0, 0, 3, + 0, 0, 4, 128, 1, 0, + 228, 144, 8, 0, 228, 160, + 8, 0, 0, 3, 0, 0, + 8, 128, 0, 0, 228, 128, + 0, 0, 228, 128, 7, 0, + 0, 2, 0, 0, 8, 128, + 0, 0, 255, 128, 5, 0, + 0, 3, 1, 0, 7, 224, + 0, 0, 255, 128, 0, 0, + 228, 128, 9, 0, 0, 3, 0, 0, 1, 128, 0, 0, - 228, 144, 9, 0, 228, 160, + 228, 144, 2, 0, 228, 160, + 11, 0, 0, 3, 0, 0, + 1, 128, 0, 0, 0, 128, + 13, 0, 0, 160, 10, 0, + 0, 3, 0, 0, 8, 224, + 0, 0, 0, 128, 13, 0, + 85, 160, 5, 0, 0, 3, + 2, 0, 8, 224, 2, 0, + 255, 144, 1, 0, 255, 160, 9, 0, 0, 3, 0, 0, - 2, 128, 0, 0, 228, 144, - 10, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 4, 128, - 0, 0, 228, 144, 12, 0, - 228, 160, 4, 0, 0, 4, - 0, 0, 3, 192, 0, 0, - 170, 128, 0, 0, 228, 160, - 0, 0, 228, 128, 1, 0, - 0, 2, 0, 0, 8, 192, - 0, 0, 170, 128, 1, 0, - 0, 2, 2, 0, 7, 224, - 2, 0, 228, 144, 255, 255, - 0, 0, 83, 72, 68, 82, - 92, 2, 0, 0, 64, 0, - 1, 0, 151, 0, 0, 0, - 89, 0, 0, 4, 70, 142, + 1, 128, 0, 0, 228, 144, + 9, 0, 228, 160, 9, 0, + 0, 3, 0, 0, 2, 128, + 0, 0, 228, 144, 10, 0, + 228, 160, 9, 0, 0, 3, + 0, 0, 4, 128, 0, 0, + 228, 144, 12, 0, 228, 160, + 4, 0, 0, 4, 0, 0, + 3, 192, 0, 0, 170, 128, + 0, 0, 228, 160, 0, 0, + 228, 128, 1, 0, 0, 2, + 0, 0, 8, 192, 0, 0, + 170, 128, 1, 0, 0, 2, + 2, 0, 7, 224, 2, 0, + 228, 144, 255, 255, 0, 0, + 83, 72, 68, 82, 92, 2, + 0, 0, 64, 0, 1, 0, + 151, 0, 0, 0, 89, 0, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 26, 0, + 0, 0, 95, 0, 0, 3, + 242, 16, 16, 0, 0, 0, + 0, 0, 95, 0, 0, 3, + 114, 16, 16, 0, 1, 0, + 0, 0, 95, 0, 0, 3, + 242, 16, 16, 0, 2, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 0, 0, + 0, 0, 101, 0, 0, 3, + 114, 32, 16, 0, 1, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 2, 0, + 0, 0, 103, 0, 0, 4, + 242, 32, 16, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 104, 0, 0, 2, 1, 0, + 0, 0, 17, 0, 0, 8, + 18, 32, 16, 0, 0, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 26, 0, 0, 0, 95, 0, - 0, 3, 242, 16, 16, 0, - 0, 0, 0, 0, 95, 0, - 0, 3, 114, 16, 16, 0, - 1, 0, 0, 0, 95, 0, - 0, 3, 242, 16, 16, 0, - 2, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 0, 0, 0, 0, 101, 0, - 0, 3, 114, 32, 16, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 2, 0, 0, 0, 103, 0, - 0, 4, 242, 32, 16, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 104, 0, 0, 2, - 1, 0, 0, 0, 17, 0, - 0, 8, 18, 32, 16, 0, + 15, 0, 0, 0, 17, 0, + 0, 8, 34, 32, 16, 0, 0, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 17, 0, 0, 8, 34, 32, + 0, 0, 16, 0, 0, 0, + 17, 0, 0, 8, 66, 32, 16, 0, 0, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 16, 0, - 0, 0, 17, 0, 0, 8, - 66, 32, 16, 0, 0, 0, + 0, 0, 0, 0, 17, 0, + 0, 0, 17, 32, 0, 8, + 130, 32, 16, 0, 0, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 17, 0, 0, 0, 17, 32, - 0, 8, 130, 32, 16, 0, - 0, 0, 0, 0, 70, 30, - 16, 0, 0, 0, 0, 0, - 70, 142, 32, 0, 0, 0, - 0, 0, 14, 0, 0, 0, - 16, 0, 0, 8, 18, 0, + 14, 0, 0, 0, 16, 0, + 0, 8, 18, 0, 16, 0, + 0, 0, 0, 0, 70, 18, + 16, 0, 1, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 19, 0, 0, 0, + 16, 0, 0, 8, 34, 0, 16, 0, 0, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 19, 0, + 0, 0, 0, 0, 20, 0, 0, 0, 16, 0, 0, 8, - 34, 0, 16, 0, 0, 0, + 66, 0, 16, 0, 0, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, - 20, 0, 0, 0, 16, 0, - 0, 8, 66, 0, 16, 0, - 0, 0, 0, 0, 70, 18, - 16, 0, 1, 0, 0, 0, - 70, 130, 32, 0, 0, 0, - 0, 0, 21, 0, 0, 0, - 16, 0, 0, 7, 130, 0, + 21, 0, 0, 0, 16, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 68, 0, - 0, 5, 130, 0, 16, 0, - 0, 0, 0, 0, 58, 0, - 16, 0, 0, 0, 0, 0, - 56, 0, 0, 7, 114, 32, - 16, 0, 1, 0, 0, 0, - 246, 15, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, + 0, 0, 68, 0, 0, 5, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 56, 0, - 0, 8, 130, 32, 16, 0, - 2, 0, 0, 0, 58, 16, - 16, 0, 2, 0, 0, 0, - 58, 128, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 54, 0, 0, 5, 114, 32, + 0, 7, 114, 32, 16, 0, + 1, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 8, + 130, 32, 16, 0, 2, 0, + 0, 0, 58, 16, 16, 0, + 2, 0, 0, 0, 58, 128, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 114, 32, 16, 0, + 2, 0, 0, 0, 70, 18, 16, 0, 2, 0, 0, 0, - 70, 18, 16, 0, 2, 0, + 17, 0, 0, 8, 18, 32, + 16, 0, 3, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 22, 0, 0, 0, 17, 0, 0, 8, - 18, 32, 16, 0, 3, 0, + 34, 32, 16, 0, 3, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 22, 0, 0, 0, 17, 0, - 0, 8, 34, 32, 16, 0, + 23, 0, 0, 0, 17, 0, + 0, 8, 66, 32, 16, 0, 3, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, - 0, 0, 23, 0, 0, 0, - 17, 0, 0, 8, 66, 32, + 0, 0, 24, 0, 0, 0, + 17, 0, 0, 8, 130, 32, 16, 0, 3, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 24, 0, - 0, 0, 17, 0, 0, 8, - 130, 32, 16, 0, 3, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 70, 142, - 32, 0, 0, 0, 0, 0, - 25, 0, 0, 0, 62, 0, - 0, 1, 73, 83, 71, 78, - 108, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 25, 0, + 0, 0, 62, 0, 0, 1, + 73, 83, 71, 78, 108, 0, + 0, 0, 3, 0, 0, 0, + 8, 0, 0, 0, 80, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 15, 0, 0, 92, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 7, 7, 0, 0, 99, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 15, 15, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 78, 79, + 82, 77, 65, 76, 0, 67, + 79, 76, 79, 82, 0, 171, + 171, 171, 79, 83, 71, 78, + 132, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, - 80, 0, 0, 0, 0, 0, + 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, - 0, 0, 15, 15, 0, 0, - 92, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 104, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, - 0, 0, 7, 7, 0, 0, - 99, 0, 0, 0, 0, 0, + 0, 0, 7, 8, 0, 0, + 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, - 0, 0, 15, 15, 0, 0, - 83, 86, 95, 80, 111, 115, - 105, 116, 105, 111, 110, 0, - 78, 79, 82, 77, 65, 76, - 0, 67, 79, 76, 79, 82, - 0, 171, 171, 171, 79, 83, - 71, 78, 132, 0, 0, 0, - 4, 0, 0, 0, 8, 0, - 0, 0, 104, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 104, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 7, 8, - 0, 0, 113, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 2, 0, 0, 0, 15, 0, - 0, 0, 119, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 3, 0, 0, 0, - 3, 0, 0, 0, 15, 0, - 0, 0, 84, 69, 88, 67, - 79, 79, 82, 68, 0, 67, - 79, 76, 79, 82, 0, 83, - 86, 95, 80, 111, 115, 105, - 116, 105, 111, 110, 0, 171 + 0, 0, 15, 0, 0, 0, + 119, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 3, 0, 0, 0, 3, 0, + 0, 0, 15, 0, 0, 0, + 84, 69, 88, 67, 79, 79, + 82, 68, 0, 67, 79, 76, + 79, 82, 0, 83, 86, 95, + 80, 111, 115, 105, 116, 105, + 111, 110, 0, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicTx.inc b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicTx.inc index 39bdcde8..4b9833d7 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicTx.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicTx.inc @@ -41,20 +41,32 @@ // vs_2_0 def c7, 0, 1, 0, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dp4 oPos.z, v0, c5 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5> + +#line 43 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + dp4 oPos.z, v0, c5 // ::VSBasicTx<12> + +#line 14 dp4 r0.x, v0, c2 max r0.x, r0.x, c7.x - min oT1.w, r0.x, c7.y - dp4 r0.x, v0, c3 - dp4 r0.y, v0, c4 - dp4 r0.z, v0, c6 - mad oPos.xy, r0.z, c0, r0 - mov oPos.w, r0.z - mov oT0, c1 - mov oT1.xyz, c7.x - mov oT2.xy, v1 + min oT1.w, r0.x, c7.y // ::VSBasicTx<7> + +#line 43 + dp4 r0.x, v0, c3 // ::vout<0> + dp4 r0.y, v0, c4 // ::vout<1> + dp4 r0.z, v0, c6 // ::vout<3> + +#line 96 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mad oPos.xy, r0.z, c0, r0 // ::VSBasicTx<10,11> + mov oPos.w, r0.z // ::VSBasicTx<13> + +#line 44 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + mov oT0, c1 // ::VSBasicTx<0,1,2,3> + mov oT1.xyz, c7.x // ::VSBasicTx<4,5,6> + +#line 103 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mov oT2.xy, v1 // ::VSBasicTx<8,9> // approximately 12 instruction slots used vs_4_0 @@ -79,17 +91,17 @@ ret const BYTE BasicEffect_VSBasicTx[] = { - 68, 88, 66, 67, 160, 62, - 87, 247, 158, 198, 70, 98, - 102, 170, 42, 202, 103, 175, - 31, 164, 1, 0, 0, 0, - 176, 3, 0, 0, 4, 0, + 68, 88, 66, 67, 228, 129, + 100, 178, 242, 10, 146, 13, + 176, 148, 149, 179, 151, 217, + 176, 132, 1, 0, 0, 0, + 4, 7, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 112, 1, 0, 0, 204, 2, - 0, 0, 36, 3, 0, 0, - 65, 111, 110, 57, 56, 1, - 0, 0, 56, 1, 0, 0, - 0, 2, 254, 255, 236, 0, + 196, 4, 0, 0, 32, 6, + 0, 0, 120, 6, 0, 0, + 65, 111, 110, 57, 140, 4, + 0, 0, 140, 4, 0, 0, + 0, 2, 254, 255, 64, 4, 0, 0, 76, 0, 0, 0, 3, 0, 36, 0, 0, 0, 72, 0, 0, 0, 72, 0, @@ -101,7 +113,149 @@ const BYTE BasicEffect_VSBasicTx[] = 0, 0, 0, 0, 22, 0, 4, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 81, 0, + 0, 2, 254, 255, 254, 255, + 212, 0, 68, 66, 85, 71, + 40, 0, 0, 0, 36, 3, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 188, 0, + 0, 0, 15, 0, 0, 0, + 196, 0, 0, 0, 3, 0, + 0, 0, 232, 2, 0, 0, + 60, 1, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 67, 111, + 109, 109, 111, 110, 46, 102, + 120, 104, 0, 67, 58, 92, + 65, 84, 71, 32, 83, 97, + 109, 112, 108, 101, 32, 68, + 101, 118, 101, 108, 111, 112, + 109, 101, 110, 116, 92, 115, + 116, 95, 100, 101, 118, 92, + 75, 105, 116, 115, 92, 68, + 105, 114, 101, 99, 116, 88, + 84, 75, 92, 83, 114, 99, + 92, 83, 104, 97, 100, 101, + 114, 115, 92, 66, 97, 115, + 105, 99, 69, 102, 102, 101, + 99, 116, 46, 102, 120, 0, + 171, 171, 40, 0, 0, 0, + 111, 0, 0, 0, 0, 0, + 255, 255, 88, 3, 0, 0, + 0, 0, 255, 255, 112, 3, + 0, 0, 0, 0, 255, 255, + 124, 3, 0, 0, 43, 0, + 0, 0, 136, 3, 0, 0, + 14, 0, 0, 0, 152, 3, + 0, 0, 14, 0, 0, 0, + 168, 3, 0, 0, 14, 0, + 0, 0, 184, 3, 0, 0, + 43, 0, 0, 0, 200, 3, + 0, 0, 43, 0, 0, 0, + 216, 3, 0, 0, 43, 0, + 0, 0, 232, 3, 0, 0, + 96, 0, 1, 0, 248, 3, + 0, 0, 96, 0, 1, 0, + 12, 4, 0, 0, 44, 0, + 0, 0, 24, 4, 0, 0, + 45, 0, 0, 0, 36, 4, + 0, 0, 103, 0, 1, 0, + 48, 4, 0, 0, 86, 83, + 66, 97, 115, 105, 99, 84, + 120, 0, 68, 105, 102, 102, + 117, 115, 101, 0, 171, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 83, 112, + 101, 99, 117, 108, 97, 114, + 0, 84, 101, 120, 67, 111, + 111, 114, 100, 0, 171, 171, + 1, 0, 3, 0, 1, 0, + 2, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 80, 111, + 115, 105, 116, 105, 111, 110, + 80, 83, 0, 171, 70, 1, + 0, 0, 80, 1, 0, 0, + 96, 1, 0, 0, 80, 1, + 0, 0, 105, 1, 0, 0, + 116, 1, 0, 0, 132, 1, + 0, 0, 80, 1, 0, 0, + 5, 0, 0, 0, 1, 0, + 14, 0, 1, 0, 4, 0, + 144, 1, 0, 0, 3, 0, + 0, 0, 255, 255, 255, 255, + 12, 0, 255, 255, 6, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 7, 0, 10, 0, + 0, 0, 10, 0, 11, 0, + 255, 255, 255, 255, 11, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 13, 0, 12, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 3, 0, 13, 0, + 0, 0, 4, 0, 5, 0, + 6, 0, 255, 255, 14, 0, + 0, 0, 8, 0, 9, 0, + 255, 255, 255, 255, 118, 105, + 110, 0, 80, 111, 115, 105, + 116, 105, 111, 110, 0, 171, + 171, 171, 24, 2, 0, 0, + 80, 1, 0, 0, 105, 1, + 0, 0, 116, 1, 0, 0, + 5, 0, 0, 0, 1, 0, + 6, 0, 1, 0, 2, 0, + 36, 2, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 3, 0, 2, 0, + 0, 0, 4, 0, 5, 0, + 255, 255, 255, 255, 118, 111, + 117, 116, 0, 80, 111, 115, + 95, 112, 115, 0, 1, 0, + 3, 0, 1, 0, 3, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 70, 111, 103, 70, + 97, 99, 116, 111, 114, 0, + 171, 171, 0, 0, 3, 0, + 1, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 97, 2, 0, 0, 80, 1, + 0, 0, 70, 1, 0, 0, + 80, 1, 0, 0, 96, 1, + 0, 0, 104, 2, 0, 0, + 120, 2, 0, 0, 132, 2, + 0, 0, 5, 0, 0, 0, + 1, 0, 12, 0, 1, 0, + 4, 0, 148, 2, 0, 0, + 7, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 8, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 9, 0, 0, 0, 255, 255, + 255, 255, 3, 0, 255, 255, + 0, 0, 0, 0, 60, 1, + 0, 0, 176, 1, 0, 0, + 7, 0, 0, 0, 192, 1, + 0, 0, 60, 1, 0, 0, + 20, 2, 0, 0, 52, 2, + 0, 0, 2, 0, 0, 0, + 68, 2, 0, 0, 0, 0, + 0, 0, 92, 2, 0, 0, + 180, 2, 0, 0, 3, 0, + 0, 0, 196, 2, 0, 0, + 77, 105, 99, 114, 111, 115, + 111, 102, 116, 32, 40, 82, + 41, 32, 72, 76, 83, 76, + 32, 83, 104, 97, 100, 101, + 114, 32, 67, 111, 109, 112, + 105, 108, 101, 114, 32, 49, + 48, 46, 49, 0, 81, 0, 0, 5, 7, 0, 15, 160, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicTxNoFog.inc b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicTxNoFog.inc index 553076ec..f26596b8 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicTxNoFog.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicTxNoFog.inc @@ -38,16 +38,24 @@ // Level9 shader bytecode: // vs_2_0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dp4 oPos.z, v0, c4 - dp4 r0.x, v0, c2 - dp4 r0.y, v0, c3 - dp4 r0.z, v0, c5 - mad oPos.xy, r0.z, c0, r0 - mov oPos.w, r0.z - mov oT0, c1 - mov oT1.xy, v1 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5> + +#line 43 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + dp4 oPos.z, v0, c4 // ::VSBasicTxNoFog<8> + dp4 r0.x, v0, c2 // ::vout<0> + dp4 r0.y, v0, c3 // ::vout<1> + dp4 r0.z, v0, c5 // ::vout<3> + +#line 110 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mad oPos.xy, r0.z, c0, r0 // ::VSBasicTxNoFog<6,7> + mov oPos.w, r0.z // ::VSBasicTxNoFog<9> + +#line 44 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + mov oT0, c1 // ::VSBasicTxNoFog<0,1,2,3> + +#line 117 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mov oT1.xy, v1 // ::VSBasicTxNoFog<4,5> // approximately 8 instruction slots used vs_4_0 @@ -69,17 +77,17 @@ ret const BYTE BasicEffect_VSBasicTxNoFog[] = { - 68, 88, 66, 67, 221, 167, - 150, 144, 89, 19, 203, 62, - 35, 20, 208, 187, 193, 120, - 188, 253, 1, 0, 0, 0, - 236, 2, 0, 0, 4, 0, + 68, 88, 66, 67, 148, 90, + 127, 101, 25, 225, 99, 199, + 163, 239, 33, 209, 36, 12, + 134, 83, 1, 0, 0, 0, + 0, 6, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 16, 1, 0, 0, 32, 2, - 0, 0, 120, 2, 0, 0, - 65, 111, 110, 57, 216, 0, - 0, 0, 216, 0, 0, 0, - 0, 2, 254, 255, 152, 0, + 36, 4, 0, 0, 52, 5, + 0, 0, 140, 5, 0, 0, + 65, 111, 110, 57, 236, 3, + 0, 0, 236, 3, 0, 0, + 0, 2, 254, 255, 172, 3, 0, 0, 64, 0, 0, 0, 2, 0, 36, 0, 0, 0, 60, 0, 0, 0, 60, 0, @@ -89,109 +97,240 @@ const BYTE BasicEffect_VSBasicTxNoFog[] = 0, 0, 0, 0, 22, 0, 4, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 1, 128, - 1, 0, 15, 144, 9, 0, - 0, 3, 0, 0, 4, 192, - 0, 0, 228, 144, 4, 0, + 0, 2, 254, 255, 254, 255, + 196, 0, 68, 66, 85, 71, + 40, 0, 0, 0, 228, 2, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 188, 0, + 0, 0, 10, 0, 0, 0, + 196, 0, 0, 0, 3, 0, + 0, 0, 168, 2, 0, 0, + 20, 1, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 67, 111, + 109, 109, 111, 110, 46, 102, + 120, 104, 0, 67, 58, 92, + 65, 84, 71, 32, 83, 97, + 109, 112, 108, 101, 32, 68, + 101, 118, 101, 108, 111, 112, + 109, 101, 110, 116, 92, 115, + 116, 95, 100, 101, 118, 92, + 75, 105, 116, 115, 92, 68, + 105, 114, 101, 99, 116, 88, + 84, 75, 92, 83, 114, 99, + 92, 83, 104, 97, 100, 101, + 114, 115, 92, 66, 97, 115, + 105, 99, 69, 102, 102, 101, + 99, 116, 46, 102, 120, 0, + 171, 171, 40, 0, 0, 0, + 111, 0, 0, 0, 0, 0, + 255, 255, 24, 3, 0, 0, + 0, 0, 255, 255, 36, 3, + 0, 0, 43, 0, 0, 0, + 48, 3, 0, 0, 43, 0, + 0, 0, 64, 3, 0, 0, + 43, 0, 0, 0, 80, 3, + 0, 0, 43, 0, 0, 0, + 96, 3, 0, 0, 110, 0, + 1, 0, 112, 3, 0, 0, + 110, 0, 1, 0, 132, 3, + 0, 0, 44, 0, 0, 0, + 144, 3, 0, 0, 117, 0, + 1, 0, 156, 3, 0, 0, + 86, 83, 66, 97, 115, 105, + 99, 84, 120, 78, 111, 70, + 111, 103, 0, 68, 105, 102, + 102, 117, 115, 101, 0, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 84, 101, + 120, 67, 111, 111, 114, 100, + 0, 171, 171, 171, 1, 0, + 3, 0, 1, 0, 2, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 80, 111, 115, 105, + 116, 105, 111, 110, 80, 83, + 0, 171, 35, 1, 0, 0, + 44, 1, 0, 0, 60, 1, + 0, 0, 72, 1, 0, 0, + 88, 1, 0, 0, 44, 1, + 0, 0, 5, 0, 0, 0, + 1, 0, 10, 0, 1, 0, + 3, 0, 100, 1, 0, 0, + 2, 0, 0, 0, 255, 255, + 255, 255, 8, 0, 255, 255, + 6, 0, 0, 0, 6, 0, + 7, 0, 255, 255, 255, 255, + 7, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 9, 0, + 8, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 9, 0, 0, 0, 4, 0, + 5, 0, 255, 255, 255, 255, + 118, 105, 110, 0, 80, 111, + 115, 105, 116, 105, 111, 110, + 0, 171, 171, 171, 204, 1, + 0, 0, 44, 1, 0, 0, + 60, 1, 0, 0, 72, 1, + 0, 0, 5, 0, 0, 0, + 1, 0, 6, 0, 1, 0, + 2, 0, 216, 1, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 1, 0, 0, 0, 4, 0, + 5, 0, 255, 255, 255, 255, + 118, 111, 117, 116, 0, 80, + 111, 115, 95, 112, 115, 0, + 83, 112, 101, 99, 117, 108, + 97, 114, 0, 171, 171, 171, + 1, 0, 3, 0, 1, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 70, 111, + 103, 70, 97, 99, 116, 111, + 114, 0, 171, 171, 0, 0, + 3, 0, 1, 0, 1, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 21, 2, 0, 0, + 44, 1, 0, 0, 35, 1, + 0, 0, 44, 1, 0, 0, + 28, 2, 0, 0, 40, 2, + 0, 0, 56, 2, 0, 0, + 68, 2, 0, 0, 5, 0, + 0, 0, 1, 0, 12, 0, + 1, 0, 4, 0, 84, 2, + 0, 0, 3, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 4, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 5, 0, 0, 0, + 255, 255, 255, 255, 3, 0, + 255, 255, 0, 0, 0, 0, + 20, 1, 0, 0, 124, 1, + 0, 0, 5, 0, 0, 0, + 140, 1, 0, 0, 20, 1, + 0, 0, 200, 1, 0, 0, + 232, 1, 0, 0, 2, 0, + 0, 0, 248, 1, 0, 0, + 0, 0, 0, 0, 16, 2, + 0, 0, 116, 2, 0, 0, + 3, 0, 0, 0, 132, 2, + 0, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 31, 0, 0, 2, 5, 0, + 0, 128, 0, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 1, 128, 1, 0, 15, 144, + 9, 0, 0, 3, 0, 0, + 4, 192, 0, 0, 228, 144, + 4, 0, 228, 160, 9, 0, + 0, 3, 0, 0, 1, 128, + 0, 0, 228, 144, 2, 0, 228, 160, 9, 0, 0, 3, - 0, 0, 1, 128, 0, 0, - 228, 144, 2, 0, 228, 160, + 0, 0, 2, 128, 0, 0, + 228, 144, 3, 0, 228, 160, 9, 0, 0, 3, 0, 0, - 2, 128, 0, 0, 228, 144, - 3, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 4, 128, - 0, 0, 228, 144, 5, 0, - 228, 160, 4, 0, 0, 4, - 0, 0, 3, 192, 0, 0, - 170, 128, 0, 0, 228, 160, - 0, 0, 228, 128, 1, 0, - 0, 2, 0, 0, 8, 192, - 0, 0, 170, 128, 1, 0, - 0, 2, 0, 0, 15, 224, - 1, 0, 228, 160, 1, 0, - 0, 2, 1, 0, 3, 224, - 1, 0, 228, 144, 255, 255, - 0, 0, 83, 72, 68, 82, - 8, 1, 0, 0, 64, 0, - 1, 0, 66, 0, 0, 0, - 89, 0, 0, 4, 70, 142, - 32, 0, 0, 0, 0, 0, - 26, 0, 0, 0, 95, 0, - 0, 3, 242, 16, 16, 0, - 0, 0, 0, 0, 95, 0, - 0, 3, 50, 16, 16, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 0, 0, 0, 0, 101, 0, - 0, 3, 50, 32, 16, 0, - 1, 0, 0, 0, 103, 0, - 0, 4, 242, 32, 16, 0, - 2, 0, 0, 0, 1, 0, - 0, 0, 54, 0, 0, 6, - 242, 32, 16, 0, 0, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 54, 0, 0, 5, - 50, 32, 16, 0, 1, 0, - 0, 0, 70, 16, 16, 0, - 1, 0, 0, 0, 17, 0, - 0, 8, 18, 32, 16, 0, - 2, 0, 0, 0, 70, 30, - 16, 0, 0, 0, 0, 0, + 4, 128, 0, 0, 228, 144, + 5, 0, 228, 160, 4, 0, + 0, 4, 0, 0, 3, 192, + 0, 0, 170, 128, 0, 0, + 228, 160, 0, 0, 228, 128, + 1, 0, 0, 2, 0, 0, + 8, 192, 0, 0, 170, 128, + 1, 0, 0, 2, 0, 0, + 15, 224, 1, 0, 228, 160, + 1, 0, 0, 2, 1, 0, + 3, 224, 1, 0, 228, 144, + 255, 255, 0, 0, 83, 72, + 68, 82, 8, 1, 0, 0, + 64, 0, 1, 0, 66, 0, + 0, 0, 89, 0, 0, 4, 70, 142, 32, 0, 0, 0, - 0, 0, 22, 0, 0, 0, - 17, 0, 0, 8, 34, 32, + 0, 0, 26, 0, 0, 0, + 95, 0, 0, 3, 242, 16, + 16, 0, 0, 0, 0, 0, + 95, 0, 0, 3, 50, 16, + 16, 0, 1, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 0, 0, 0, 0, + 101, 0, 0, 3, 50, 32, + 16, 0, 1, 0, 0, 0, + 103, 0, 0, 4, 242, 32, + 16, 0, 2, 0, 0, 0, + 1, 0, 0, 0, 54, 0, + 0, 6, 242, 32, 16, 0, + 0, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 50, 32, 16, 0, + 1, 0, 0, 0, 70, 16, + 16, 0, 1, 0, 0, 0, + 17, 0, 0, 8, 18, 32, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 23, 0, + 0, 0, 0, 0, 22, 0, 0, 0, 17, 0, 0, 8, - 66, 32, 16, 0, 2, 0, + 34, 32, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 24, 0, 0, 0, 17, 0, - 0, 8, 130, 32, 16, 0, + 23, 0, 0, 0, 17, 0, + 0, 8, 66, 32, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, - 0, 0, 25, 0, 0, 0, - 62, 0, 0, 1, 73, 83, - 71, 78, 80, 0, 0, 0, - 2, 0, 0, 0, 8, 0, - 0, 0, 56, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 15, - 0, 0, 68, 0, 0, 0, + 0, 0, 24, 0, 0, 0, + 17, 0, 0, 8, 130, 32, + 16, 0, 2, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 25, 0, + 0, 0, 62, 0, 0, 1, + 73, 83, 71, 78, 80, 0, + 0, 0, 2, 0, 0, 0, + 8, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 3, 3, - 0, 0, 83, 86, 95, 80, - 111, 115, 105, 116, 105, 111, - 110, 0, 84, 69, 88, 67, - 79, 79, 82, 68, 0, 171, - 171, 171, 79, 83, 71, 78, - 108, 0, 0, 0, 3, 0, - 0, 0, 8, 0, 0, 0, - 80, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 86, 0, 0, 0, 0, 0, + 15, 15, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 3, 12, 0, 0, - 95, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 15, 0, 0, 0, - 67, 79, 76, 79, 82, 0, - 84, 69, 88, 67, 79, 79, - 82, 68, 0, 83, 86, 95, - 80, 111, 115, 105, 116, 105, - 111, 110, 0, 171 + 3, 3, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 171, 171, 171, 79, 83, + 71, 78, 108, 0, 0, 0, + 3, 0, 0, 0, 8, 0, + 0, 0, 80, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 86, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 3, 12, + 0, 0, 95, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 2, 0, 0, 0, 15, 0, + 0, 0, 67, 79, 76, 79, + 82, 0, 84, 69, 88, 67, + 79, 79, 82, 68, 0, 83, + 86, 95, 80, 111, 115, 105, + 116, 105, 111, 110, 0, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicTxVc.inc b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicTxVc.inc index 3687a4a3..3bd014fe 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicTxVc.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicTxVc.inc @@ -42,21 +42,35 @@ // vs_2_0 def c7, 0, 1, 0, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 - dp4 oPos.z, v0, c5 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5> + dcl_texcoord2 v2 // vin<6,7,8,9> + +#line 43 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + dp4 oPos.z, v0, c5 // ::VSBasicTxVc<12> + +#line 14 dp4 r0.x, v0, c2 max r0.x, r0.x, c7.x - min oT1.w, r0.x, c7.y - mul oT0, v2, c1 - dp4 r0.x, v0, c3 - dp4 r0.y, v0, c4 - dp4 r0.z, v0, c6 - mad oPos.xy, r0.z, c0, r0 - mov oPos.w, r0.z - mov oT1.xyz, c7.x - mov oT2.xy, v1 + min oT1.w, r0.x, c7.y // ::VSBasicTxVc<7> + +#line 132 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mul oT0, v2, c1 // ::VSBasicTxVc<0,1,2,3> + +#line 43 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + dp4 r0.x, v0, c3 // ::vout<0> + dp4 r0.y, v0, c4 // ::vout<1> + dp4 r0.z, v0, c6 // ::vout<3> + +#line 124 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mad oPos.xy, r0.z, c0, r0 // ::VSBasicTxVc<10,11> + mov oPos.w, r0.z // ::VSBasicTxVc<13> + +#line 45 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + mov oT1.xyz, c7.x // ::VSBasicTxVc<4,5,6> + +#line 131 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mov oT2.xy, v1 // ::VSBasicTxVc<8,9> // approximately 12 instruction slots used vs_4_0 @@ -82,17 +96,17 @@ ret const BYTE BasicEffect_VSBasicTxVc[] = { - 68, 88, 66, 67, 163, 240, - 73, 82, 1, 64, 234, 192, - 176, 202, 185, 166, 255, 149, - 255, 7, 1, 0, 0, 0, - 240, 3, 0, 0, 4, 0, + 68, 88, 66, 67, 109, 189, + 219, 132, 177, 108, 140, 212, + 39, 208, 246, 167, 198, 130, + 87, 85, 1, 0, 0, 0, + 100, 7, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 128, 1, 0, 0, 240, 2, - 0, 0, 100, 3, 0, 0, - 65, 111, 110, 57, 72, 1, - 0, 0, 72, 1, 0, 0, - 0, 2, 254, 255, 252, 0, + 244, 4, 0, 0, 100, 6, + 0, 0, 216, 6, 0, 0, + 65, 111, 110, 57, 188, 4, + 0, 0, 188, 4, 0, 0, + 0, 2, 254, 255, 112, 4, 0, 0, 76, 0, 0, 0, 3, 0, 36, 0, 0, 0, 72, 0, 0, 0, 72, 0, @@ -104,150 +118,298 @@ const BYTE BasicEffect_VSBasicTxVc[] = 0, 0, 0, 0, 22, 0, 4, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 81, 0, - 0, 5, 7, 0, 15, 160, + 0, 2, 254, 255, 254, 255, + 220, 0, 68, 66, 85, 71, + 40, 0, 0, 0, 68, 3, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 188, 0, + 0, 0, 16, 0, 0, 0, + 196, 0, 0, 0, 3, 0, + 0, 0, 8, 3, 0, 0, + 68, 1, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 67, 111, + 109, 109, 111, 110, 46, 102, + 120, 104, 0, 67, 58, 92, + 65, 84, 71, 32, 83, 97, + 109, 112, 108, 101, 32, 68, + 101, 118, 101, 108, 111, 112, + 109, 101, 110, 116, 92, 115, + 116, 95, 100, 101, 118, 92, + 75, 105, 116, 115, 92, 68, + 105, 114, 101, 99, 116, 88, + 84, 75, 92, 83, 114, 99, + 92, 83, 104, 97, 100, 101, + 114, 115, 92, 66, 97, 115, + 105, 99, 69, 102, 102, 101, + 99, 116, 46, 102, 120, 0, + 171, 171, 40, 0, 0, 0, + 111, 0, 0, 0, 0, 0, + 255, 255, 120, 3, 0, 0, + 0, 0, 255, 255, 144, 3, + 0, 0, 0, 0, 255, 255, + 156, 3, 0, 0, 0, 0, + 255, 255, 168, 3, 0, 0, + 43, 0, 0, 0, 180, 3, + 0, 0, 14, 0, 0, 0, + 196, 3, 0, 0, 14, 0, + 0, 0, 212, 3, 0, 0, + 14, 0, 0, 0, 228, 3, + 0, 0, 132, 0, 1, 0, + 244, 3, 0, 0, 43, 0, + 0, 0, 4, 4, 0, 0, + 43, 0, 0, 0, 20, 4, + 0, 0, 43, 0, 0, 0, + 36, 4, 0, 0, 124, 0, + 1, 0, 52, 4, 0, 0, + 124, 0, 1, 0, 72, 4, + 0, 0, 45, 0, 0, 0, + 84, 4, 0, 0, 131, 0, + 1, 0, 96, 4, 0, 0, + 86, 83, 66, 97, 115, 105, + 99, 84, 120, 86, 99, 0, + 68, 105, 102, 102, 117, 115, + 101, 0, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 83, 112, 101, 99, 117, 108, + 97, 114, 0, 84, 101, 120, + 67, 111, 111, 114, 100, 0, + 171, 171, 1, 0, 3, 0, + 1, 0, 2, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 80, 111, 115, 105, 116, 105, + 111, 110, 80, 83, 0, 171, + 80, 1, 0, 0, 88, 1, + 0, 0, 104, 1, 0, 0, + 88, 1, 0, 0, 113, 1, + 0, 0, 124, 1, 0, 0, + 140, 1, 0, 0, 88, 1, + 0, 0, 5, 0, 0, 0, + 1, 0, 14, 0, 1, 0, + 4, 0, 152, 1, 0, 0, + 4, 0, 0, 0, 255, 255, + 255, 255, 12, 0, 255, 255, + 7, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 7, 0, + 8, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 12, 0, 0, 0, 10, 0, + 11, 0, 255, 255, 255, 255, + 13, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 13, 0, + 14, 0, 0, 0, 4, 0, + 5, 0, 6, 0, 255, 255, + 15, 0, 0, 0, 8, 0, + 9, 0, 255, 255, 255, 255, + 118, 105, 110, 0, 80, 111, + 115, 105, 116, 105, 111, 110, + 0, 67, 111, 108, 111, 114, + 0, 171, 32, 2, 0, 0, + 88, 1, 0, 0, 113, 1, + 0, 0, 124, 1, 0, 0, + 41, 2, 0, 0, 88, 1, + 0, 0, 5, 0, 0, 0, + 1, 0, 10, 0, 1, 0, + 3, 0, 48, 2, 0, 0, + 1, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 2, 0, 0, 0, 4, 0, + 5, 0, 255, 255, 255, 255, + 3, 0, 0, 0, 6, 0, + 7, 0, 8, 0, 9, 0, + 118, 111, 117, 116, 0, 80, + 111, 115, 95, 112, 115, 0, + 1, 0, 3, 0, 1, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 70, 111, + 103, 70, 97, 99, 116, 111, + 114, 0, 171, 171, 0, 0, + 3, 0, 1, 0, 1, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 129, 2, 0, 0, + 88, 1, 0, 0, 80, 1, + 0, 0, 88, 1, 0, 0, + 104, 1, 0, 0, 136, 2, + 0, 0, 152, 2, 0, 0, + 164, 2, 0, 0, 5, 0, + 0, 0, 1, 0, 12, 0, + 1, 0, 4, 0, 180, 2, + 0, 0, 9, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 10, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 11, 0, 0, 0, + 255, 255, 255, 255, 3, 0, + 255, 255, 0, 0, 0, 0, + 68, 1, 0, 0, 184, 1, + 0, 0, 7, 0, 0, 0, + 200, 1, 0, 0, 68, 1, + 0, 0, 28, 2, 0, 0, + 72, 2, 0, 0, 3, 0, + 0, 0, 88, 2, 0, 0, + 0, 0, 0, 0, 124, 2, + 0, 0, 212, 2, 0, 0, + 3, 0, 0, 0, 228, 2, + 0, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 81, 0, 0, 5, 7, 0, + 15, 160, 0, 0, 0, 0, + 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, - 128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 1, 128, - 1, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 2, 128, - 2, 0, 15, 144, 9, 0, - 0, 3, 0, 0, 4, 192, - 0, 0, 228, 144, 5, 0, + 31, 0, 0, 2, 5, 0, + 0, 128, 0, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 1, 128, 1, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 2, 128, 2, 0, 15, 144, + 9, 0, 0, 3, 0, 0, + 4, 192, 0, 0, 228, 144, + 5, 0, 228, 160, 9, 0, + 0, 3, 0, 0, 1, 128, + 0, 0, 228, 144, 2, 0, + 228, 160, 11, 0, 0, 3, + 0, 0, 1, 128, 0, 0, + 0, 128, 7, 0, 0, 160, + 10, 0, 0, 3, 1, 0, + 8, 224, 0, 0, 0, 128, + 7, 0, 85, 160, 5, 0, + 0, 3, 0, 0, 15, 224, + 2, 0, 228, 144, 1, 0, 228, 160, 9, 0, 0, 3, 0, 0, 1, 128, 0, 0, - 228, 144, 2, 0, 228, 160, - 11, 0, 0, 3, 0, 0, - 1, 128, 0, 0, 0, 128, - 7, 0, 0, 160, 10, 0, - 0, 3, 1, 0, 8, 224, - 0, 0, 0, 128, 7, 0, - 85, 160, 5, 0, 0, 3, - 0, 0, 15, 224, 2, 0, - 228, 144, 1, 0, 228, 160, + 228, 144, 3, 0, 228, 160, 9, 0, 0, 3, 0, 0, - 1, 128, 0, 0, 228, 144, - 3, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 2, 128, - 0, 0, 228, 144, 4, 0, - 228, 160, 9, 0, 0, 3, - 0, 0, 4, 128, 0, 0, - 228, 144, 6, 0, 228, 160, - 4, 0, 0, 4, 0, 0, - 3, 192, 0, 0, 170, 128, - 0, 0, 228, 160, 0, 0, - 228, 128, 1, 0, 0, 2, - 0, 0, 8, 192, 0, 0, - 170, 128, 1, 0, 0, 2, - 1, 0, 7, 224, 7, 0, - 0, 160, 1, 0, 0, 2, - 2, 0, 3, 224, 1, 0, - 228, 144, 255, 255, 0, 0, - 83, 72, 68, 82, 104, 1, - 0, 0, 64, 0, 1, 0, - 90, 0, 0, 0, 89, 0, - 0, 4, 70, 142, 32, 0, - 0, 0, 0, 0, 26, 0, - 0, 0, 95, 0, 0, 3, - 242, 16, 16, 0, 0, 0, - 0, 0, 95, 0, 0, 3, - 50, 16, 16, 0, 1, 0, - 0, 0, 95, 0, 0, 3, - 242, 16, 16, 0, 2, 0, - 0, 0, 101, 0, 0, 3, + 2, 128, 0, 0, 228, 144, + 4, 0, 228, 160, 9, 0, + 0, 3, 0, 0, 4, 128, + 0, 0, 228, 144, 6, 0, + 228, 160, 4, 0, 0, 4, + 0, 0, 3, 192, 0, 0, + 170, 128, 0, 0, 228, 160, + 0, 0, 228, 128, 1, 0, + 0, 2, 0, 0, 8, 192, + 0, 0, 170, 128, 1, 0, + 0, 2, 1, 0, 7, 224, + 7, 0, 0, 160, 1, 0, + 0, 2, 2, 0, 3, 224, + 1, 0, 228, 144, 255, 255, + 0, 0, 83, 72, 68, 82, + 104, 1, 0, 0, 64, 0, + 1, 0, 90, 0, 0, 0, + 89, 0, 0, 4, 70, 142, + 32, 0, 0, 0, 0, 0, + 26, 0, 0, 0, 95, 0, + 0, 3, 242, 16, 16, 0, + 0, 0, 0, 0, 95, 0, + 0, 3, 50, 16, 16, 0, + 1, 0, 0, 0, 95, 0, + 0, 3, 242, 16, 16, 0, + 2, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 0, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 50, 32, 16, 0, + 2, 0, 0, 0, 103, 0, + 0, 4, 242, 32, 16, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 56, 0, 0, 8, 242, 32, 16, 0, 0, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 1, 0, - 0, 0, 101, 0, 0, 3, - 50, 32, 16, 0, 2, 0, - 0, 0, 103, 0, 0, 4, - 242, 32, 16, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 56, 0, 0, 8, 242, 32, - 16, 0, 0, 0, 0, 0, - 70, 30, 16, 0, 2, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 17, 32, 0, 8, - 130, 32, 16, 0, 1, 0, 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 70, 142, + 2, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 14, 0, 0, 0, 54, 0, - 0, 8, 114, 32, 16, 0, - 1, 0, 0, 0, 2, 64, - 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 17, 32, + 0, 8, 130, 32, 16, 0, + 1, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 14, 0, 0, 0, + 54, 0, 0, 8, 114, 32, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 54, 0, 0, 5, 50, 32, - 16, 0, 2, 0, 0, 0, - 70, 16, 16, 0, 1, 0, - 0, 0, 17, 0, 0, 8, - 18, 32, 16, 0, 3, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 70, 142, - 32, 0, 0, 0, 0, 0, - 22, 0, 0, 0, 17, 0, - 0, 8, 34, 32, 16, 0, + 0, 0, 54, 0, 0, 5, + 50, 32, 16, 0, 2, 0, + 0, 0, 70, 16, 16, 0, + 1, 0, 0, 0, 17, 0, + 0, 8, 18, 32, 16, 0, 3, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, - 0, 0, 23, 0, 0, 0, - 17, 0, 0, 8, 66, 32, + 0, 0, 22, 0, 0, 0, + 17, 0, 0, 8, 34, 32, 16, 0, 3, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 24, 0, + 0, 0, 0, 0, 23, 0, 0, 0, 17, 0, 0, 8, - 130, 32, 16, 0, 3, 0, + 66, 32, 16, 0, 3, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 25, 0, 0, 0, 62, 0, - 0, 1, 73, 83, 71, 78, - 108, 0, 0, 0, 3, 0, - 0, 0, 8, 0, 0, 0, - 80, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 15, 0, 0, - 92, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 3, 3, 0, 0, - 101, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 15, 15, 0, 0, - 83, 86, 95, 80, 111, 115, - 105, 116, 105, 111, 110, 0, - 84, 69, 88, 67, 79, 79, - 82, 68, 0, 67, 79, 76, - 79, 82, 0, 171, 79, 83, - 71, 78, 132, 0, 0, 0, - 4, 0, 0, 0, 8, 0, - 0, 0, 104, 0, 0, 0, + 24, 0, 0, 0, 17, 0, + 0, 8, 130, 32, 16, 0, + 3, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 25, 0, 0, 0, + 62, 0, 0, 1, 73, 83, + 71, 78, 108, 0, 0, 0, + 3, 0, 0, 0, 8, 0, + 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 104, 0, 0, 0, - 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 15, 15, + 0, 0, 92, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 15, 0, - 0, 0, 110, 0, 0, 0, + 1, 0, 0, 0, 3, 3, + 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, - 2, 0, 0, 0, 3, 12, - 0, 0, 119, 0, 0, 0, - 0, 0, 0, 0, 1, 0, + 2, 0, 0, 0, 15, 15, + 0, 0, 83, 86, 95, 80, + 111, 115, 105, 116, 105, 111, + 110, 0, 84, 69, 88, 67, + 79, 79, 82, 68, 0, 67, + 79, 76, 79, 82, 0, 171, + 79, 83, 71, 78, 132, 0, + 0, 0, 4, 0, 0, 0, + 8, 0, 0, 0, 104, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 104, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 15, 0, 0, 0, 110, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 3, 12, 0, 0, 119, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, - 3, 0, 0, 0, 15, 0, - 0, 0, 67, 79, 76, 79, - 82, 0, 84, 69, 88, 67, - 79, 79, 82, 68, 0, 83, - 86, 95, 80, 111, 115, 105, - 116, 105, 111, 110, 0, 171 + 15, 0, 0, 0, 67, 79, + 76, 79, 82, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 83, 86, 95, 80, 111, + 115, 105, 116, 105, 111, 110, + 0, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicTxVcNoFog.inc b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicTxVcNoFog.inc index 70eef7ae..dba8cae3 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicTxVcNoFog.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicTxVcNoFog.inc @@ -39,17 +39,27 @@ // Level9 shader bytecode: // vs_2_0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 - dp4 oPos.z, v0, c4 - mul oT0, v2, c1 - dp4 r0.x, v0, c2 - dp4 r0.y, v0, c3 - dp4 r0.z, v0, c5 - mad oPos.xy, r0.z, c0, r0 - mov oPos.w, r0.z - mov oT1.xy, v1 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5> + dcl_texcoord2 v2 // vin<6,7,8,9> + +#line 43 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + dp4 oPos.z, v0, c4 // ::VSBasicTxVcNoFog<8> + +#line 147 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mul oT0, v2, c1 // ::VSBasicTxVcNoFog<0,1,2,3> + +#line 43 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + dp4 r0.x, v0, c2 // ::vout<0> + dp4 r0.y, v0, c3 // ::vout<1> + dp4 r0.z, v0, c5 // ::vout<3> + +#line 139 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mad oPos.xy, r0.z, c0, r0 // ::VSBasicTxVcNoFog<6,7> + mov oPos.w, r0.z // ::VSBasicTxVcNoFog<9> + +#line 146 + mov oT1.xy, v1 // ::VSBasicTxVcNoFog<4,5> // approximately 8 instruction slots used vs_4_0 @@ -72,17 +82,17 @@ ret const BYTE BasicEffect_VSBasicTxVcNoFog[] = { - 68, 88, 66, 67, 117, 119, - 253, 103, 213, 37, 15, 215, - 73, 141, 241, 41, 247, 61, - 238, 21, 1, 0, 0, 0, - 44, 3, 0, 0, 4, 0, + 68, 88, 66, 67, 112, 14, + 119, 224, 77, 52, 152, 85, + 165, 175, 51, 107, 77, 138, + 61, 103, 1, 0, 0, 0, + 100, 6, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 32, 1, 0, 0, 68, 2, - 0, 0, 184, 2, 0, 0, - 65, 111, 110, 57, 232, 0, - 0, 0, 232, 0, 0, 0, - 0, 2, 254, 255, 168, 0, + 88, 4, 0, 0, 124, 5, + 0, 0, 240, 5, 0, 0, + 65, 111, 110, 57, 32, 4, + 0, 0, 32, 4, 0, 0, + 0, 2, 254, 255, 224, 3, 0, 0, 64, 0, 0, 0, 2, 0, 36, 0, 0, 0, 60, 0, 0, 0, 60, 0, @@ -92,120 +102,257 @@ const BYTE BasicEffect_VSBasicTxVcNoFog[] = 0, 0, 0, 0, 22, 0, 4, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 1, 128, - 1, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 2, 128, - 2, 0, 15, 144, 9, 0, - 0, 3, 0, 0, 4, 192, - 0, 0, 228, 144, 4, 0, - 228, 160, 5, 0, 0, 3, - 0, 0, 15, 224, 2, 0, - 228, 144, 1, 0, 228, 160, + 0, 2, 254, 255, 254, 255, + 205, 0, 68, 66, 85, 71, + 40, 0, 0, 0, 8, 3, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 188, 0, + 0, 0, 11, 0, 0, 0, + 196, 0, 0, 0, 3, 0, + 0, 0, 204, 2, 0, 0, + 28, 1, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 67, 111, + 109, 109, 111, 110, 46, 102, + 120, 104, 0, 67, 58, 92, + 65, 84, 71, 32, 83, 97, + 109, 112, 108, 101, 32, 68, + 101, 118, 101, 108, 111, 112, + 109, 101, 110, 116, 92, 115, + 116, 95, 100, 101, 118, 92, + 75, 105, 116, 115, 92, 68, + 105, 114, 101, 99, 116, 88, + 84, 75, 92, 83, 114, 99, + 92, 83, 104, 97, 100, 101, + 114, 115, 92, 66, 97, 115, + 105, 99, 69, 102, 102, 101, + 99, 116, 46, 102, 120, 0, + 171, 171, 40, 0, 0, 0, + 111, 0, 0, 0, 0, 0, + 255, 255, 60, 3, 0, 0, + 0, 0, 255, 255, 72, 3, + 0, 0, 0, 0, 255, 255, + 84, 3, 0, 0, 43, 0, + 0, 0, 96, 3, 0, 0, + 147, 0, 1, 0, 112, 3, + 0, 0, 43, 0, 0, 0, + 128, 3, 0, 0, 43, 0, + 0, 0, 144, 3, 0, 0, + 43, 0, 0, 0, 160, 3, + 0, 0, 139, 0, 1, 0, + 176, 3, 0, 0, 139, 0, + 1, 0, 196, 3, 0, 0, + 146, 0, 1, 0, 208, 3, + 0, 0, 86, 83, 66, 97, + 115, 105, 99, 84, 120, 86, + 99, 78, 111, 70, 111, 103, + 0, 68, 105, 102, 102, 117, + 115, 101, 0, 171, 171, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 84, 101, + 120, 67, 111, 111, 114, 100, + 0, 171, 171, 171, 1, 0, + 3, 0, 1, 0, 2, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 80, 111, 115, 105, + 116, 105, 111, 110, 80, 83, + 0, 171, 45, 1, 0, 0, + 56, 1, 0, 0, 72, 1, + 0, 0, 84, 1, 0, 0, + 100, 1, 0, 0, 56, 1, + 0, 0, 5, 0, 0, 0, + 1, 0, 10, 0, 1, 0, + 3, 0, 112, 1, 0, 0, + 3, 0, 0, 0, 255, 255, + 255, 255, 8, 0, 255, 255, + 4, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 8, 0, 0, 0, 6, 0, + 7, 0, 255, 255, 255, 255, + 9, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 9, 0, + 10, 0, 0, 0, 4, 0, + 5, 0, 255, 255, 255, 255, + 118, 105, 110, 0, 80, 111, + 115, 105, 116, 105, 111, 110, + 0, 67, 111, 108, 111, 114, + 0, 171, 216, 1, 0, 0, + 56, 1, 0, 0, 72, 1, + 0, 0, 84, 1, 0, 0, + 225, 1, 0, 0, 56, 1, + 0, 0, 5, 0, 0, 0, + 1, 0, 10, 0, 1, 0, + 3, 0, 232, 1, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 1, 0, 0, 0, 4, 0, + 5, 0, 255, 255, 255, 255, + 2, 0, 0, 0, 6, 0, + 7, 0, 8, 0, 9, 0, + 118, 111, 117, 116, 0, 80, + 111, 115, 95, 112, 115, 0, + 83, 112, 101, 99, 117, 108, + 97, 114, 0, 171, 171, 171, + 1, 0, 3, 0, 1, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 70, 111, + 103, 70, 97, 99, 116, 111, + 114, 0, 171, 171, 0, 0, + 3, 0, 1, 0, 1, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 57, 2, 0, 0, + 56, 1, 0, 0, 45, 1, + 0, 0, 56, 1, 0, 0, + 64, 2, 0, 0, 76, 2, + 0, 0, 92, 2, 0, 0, + 104, 2, 0, 0, 5, 0, + 0, 0, 1, 0, 12, 0, + 1, 0, 4, 0, 120, 2, + 0, 0, 5, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 6, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 7, 0, 0, 0, + 255, 255, 255, 255, 3, 0, + 255, 255, 0, 0, 0, 0, + 28, 1, 0, 0, 136, 1, + 0, 0, 5, 0, 0, 0, + 152, 1, 0, 0, 28, 1, + 0, 0, 212, 1, 0, 0, + 0, 2, 0, 0, 3, 0, + 0, 0, 16, 2, 0, 0, + 0, 0, 0, 0, 52, 2, + 0, 0, 152, 2, 0, 0, + 3, 0, 0, 0, 168, 2, + 0, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 31, 0, 0, 2, 5, 0, + 0, 128, 0, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 1, 128, 1, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 2, 128, 2, 0, 15, 144, 9, 0, 0, 3, 0, 0, - 1, 128, 0, 0, 228, 144, - 2, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 2, 128, - 0, 0, 228, 144, 3, 0, + 4, 192, 0, 0, 228, 144, + 4, 0, 228, 160, 5, 0, + 0, 3, 0, 0, 15, 224, + 2, 0, 228, 144, 1, 0, 228, 160, 9, 0, 0, 3, - 0, 0, 4, 128, 0, 0, - 228, 144, 5, 0, 228, 160, - 4, 0, 0, 4, 0, 0, - 3, 192, 0, 0, 170, 128, - 0, 0, 228, 160, 0, 0, - 228, 128, 1, 0, 0, 2, - 0, 0, 8, 192, 0, 0, - 170, 128, 1, 0, 0, 2, - 1, 0, 3, 224, 1, 0, - 228, 144, 255, 255, 0, 0, - 83, 72, 68, 82, 28, 1, - 0, 0, 64, 0, 1, 0, - 71, 0, 0, 0, 89, 0, - 0, 4, 70, 142, 32, 0, - 0, 0, 0, 0, 26, 0, - 0, 0, 95, 0, 0, 3, - 242, 16, 16, 0, 0, 0, - 0, 0, 95, 0, 0, 3, - 50, 16, 16, 0, 1, 0, - 0, 0, 95, 0, 0, 3, - 242, 16, 16, 0, 2, 0, - 0, 0, 101, 0, 0, 3, + 0, 0, 1, 128, 0, 0, + 228, 144, 2, 0, 228, 160, + 9, 0, 0, 3, 0, 0, + 2, 128, 0, 0, 228, 144, + 3, 0, 228, 160, 9, 0, + 0, 3, 0, 0, 4, 128, + 0, 0, 228, 144, 5, 0, + 228, 160, 4, 0, 0, 4, + 0, 0, 3, 192, 0, 0, + 170, 128, 0, 0, 228, 160, + 0, 0, 228, 128, 1, 0, + 0, 2, 0, 0, 8, 192, + 0, 0, 170, 128, 1, 0, + 0, 2, 1, 0, 3, 224, + 1, 0, 228, 144, 255, 255, + 0, 0, 83, 72, 68, 82, + 28, 1, 0, 0, 64, 0, + 1, 0, 71, 0, 0, 0, + 89, 0, 0, 4, 70, 142, + 32, 0, 0, 0, 0, 0, + 26, 0, 0, 0, 95, 0, + 0, 3, 242, 16, 16, 0, + 0, 0, 0, 0, 95, 0, + 0, 3, 50, 16, 16, 0, + 1, 0, 0, 0, 95, 0, + 0, 3, 242, 16, 16, 0, + 2, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 0, 0, 0, 0, 101, 0, + 0, 3, 50, 32, 16, 0, + 1, 0, 0, 0, 103, 0, + 0, 4, 242, 32, 16, 0, + 2, 0, 0, 0, 1, 0, + 0, 0, 56, 0, 0, 8, 242, 32, 16, 0, 0, 0, - 0, 0, 101, 0, 0, 3, - 50, 32, 16, 0, 1, 0, - 0, 0, 103, 0, 0, 4, - 242, 32, 16, 0, 2, 0, - 0, 0, 1, 0, 0, 0, - 56, 0, 0, 8, 242, 32, - 16, 0, 0, 0, 0, 0, - 70, 30, 16, 0, 2, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 54, 0, 0, 5, - 50, 32, 16, 0, 1, 0, - 0, 0, 70, 16, 16, 0, - 1, 0, 0, 0, 17, 0, - 0, 8, 18, 32, 16, 0, - 2, 0, 0, 0, 70, 30, - 16, 0, 0, 0, 0, 0, - 70, 142, 32, 0, 0, 0, - 0, 0, 22, 0, 0, 0, - 17, 0, 0, 8, 34, 32, + 0, 0, 70, 30, 16, 0, + 2, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 50, 32, 16, 0, + 1, 0, 0, 0, 70, 16, + 16, 0, 1, 0, 0, 0, + 17, 0, 0, 8, 18, 32, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 23, 0, + 0, 0, 0, 0, 22, 0, 0, 0, 17, 0, 0, 8, - 66, 32, 16, 0, 2, 0, + 34, 32, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 24, 0, 0, 0, 17, 0, - 0, 8, 130, 32, 16, 0, + 23, 0, 0, 0, 17, 0, + 0, 8, 66, 32, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, - 0, 0, 25, 0, 0, 0, - 62, 0, 0, 1, 73, 83, - 71, 78, 108, 0, 0, 0, - 3, 0, 0, 0, 8, 0, - 0, 0, 80, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 15, - 0, 0, 92, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 3, 3, - 0, 0, 101, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 2, 0, 0, 0, 15, 15, - 0, 0, 83, 86, 95, 80, - 111, 115, 105, 116, 105, 111, - 110, 0, 84, 69, 88, 67, - 79, 79, 82, 68, 0, 67, - 79, 76, 79, 82, 0, 171, - 79, 83, 71, 78, 108, 0, + 0, 0, 24, 0, 0, 0, + 17, 0, 0, 8, 130, 32, + 16, 0, 2, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 25, 0, + 0, 0, 62, 0, 0, 1, + 73, 83, 71, 78, 108, 0, 0, 0, 3, 0, 0, 0, 8, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 86, 0, + 15, 15, 0, 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, - 3, 12, 0, 0, 95, 0, + 3, 3, 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, - 15, 0, 0, 0, 67, 79, - 76, 79, 82, 0, 84, 69, + 15, 15, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 84, 69, 88, 67, 79, 79, 82, 68, - 0, 83, 86, 95, 80, 111, - 115, 105, 116, 105, 111, 110, - 0, 171 + 0, 67, 79, 76, 79, 82, + 0, 171, 79, 83, 71, 78, + 108, 0, 0, 0, 3, 0, + 0, 0, 8, 0, 0, 0, + 80, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 86, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 3, 12, 0, 0, + 95, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 15, 0, 0, 0, + 67, 79, 76, 79, 82, 0, + 84, 69, 88, 67, 79, 79, + 82, 68, 0, 83, 86, 95, + 80, 111, 115, 105, 116, 105, + 111, 110, 0, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicVc.inc b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicVc.inc index 1815e5d9..f0802d44 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicVc.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicVc.inc @@ -40,19 +40,31 @@ // vs_2_0 def c7, 0, 1, 0, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dp4 oPos.z, v0, c5 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5,6,7> + +#line 43 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + dp4 oPos.z, v0, c5 // ::VSBasicVc<10> + +#line 14 dp4 r0.x, v0, c2 max r0.x, r0.x, c7.x - min oT1.w, r0.x, c7.y - mul oT0, v1, c1 - dp4 r0.x, v0, c3 - dp4 r0.y, v0, c4 - dp4 r0.z, v0, c6 - mad oPos.xy, r0.z, c0, r0 - mov oPos.w, r0.z - mov oT1.xyz, c7.x + min oT1.w, r0.x, c7.y // ::VSBasicVc<7> + +#line 75 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mul oT0, v1, c1 // ::VSBasicVc<0,1,2,3> + +#line 43 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + dp4 r0.x, v0, c3 // ::vout<0> + dp4 r0.y, v0, c4 // ::vout<1> + dp4 r0.z, v0, c6 // ::vout<3> + +#line 68 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mad oPos.xy, r0.z, c0, r0 // ::VSBasicVc<8,9> + mov oPos.w, r0.z // ::VSBasicVc<11> + +#line 45 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + mov oT1.xyz, c7.x // ::VSBasicVc<4,5,6> // approximately 11 instruction slots used vs_4_0 @@ -75,17 +87,17 @@ ret const BYTE BasicEffect_VSBasicVc[] = { - 68, 88, 66, 67, 10, 187, - 46, 163, 197, 75, 4, 52, - 117, 94, 32, 83, 139, 250, - 54, 33, 1, 0, 0, 0, - 108, 3, 0, 0, 4, 0, + 68, 88, 66, 67, 158, 216, + 189, 127, 247, 201, 236, 51, + 146, 197, 0, 108, 49, 8, + 231, 40, 1, 0, 0, 0, + 140, 6, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 104, 1, 0, 0, 172, 2, - 0, 0, 0, 3, 0, 0, - 65, 111, 110, 57, 48, 1, - 0, 0, 48, 1, 0, 0, - 0, 2, 254, 255, 228, 0, + 136, 4, 0, 0, 204, 5, + 0, 0, 32, 6, 0, 0, + 65, 111, 110, 57, 80, 4, + 0, 0, 80, 4, 0, 0, + 0, 2, 254, 255, 4, 4, 0, 0, 76, 0, 0, 0, 3, 0, 36, 0, 0, 0, 72, 0, 0, 0, 72, 0, @@ -97,128 +109,262 @@ const BYTE BasicEffect_VSBasicVc[] = 0, 0, 0, 0, 22, 0, 4, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 81, 0, - 0, 5, 7, 0, 15, 160, + 0, 2, 254, 255, 254, 255, + 199, 0, 68, 66, 85, 71, + 40, 0, 0, 0, 240, 2, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 188, 0, + 0, 0, 14, 0, 0, 0, + 196, 0, 0, 0, 3, 0, + 0, 0, 180, 2, 0, 0, + 52, 1, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 67, 111, + 109, 109, 111, 110, 46, 102, + 120, 104, 0, 67, 58, 92, + 65, 84, 71, 32, 83, 97, + 109, 112, 108, 101, 32, 68, + 101, 118, 101, 108, 111, 112, + 109, 101, 110, 116, 92, 115, + 116, 95, 100, 101, 118, 92, + 75, 105, 116, 115, 92, 68, + 105, 114, 101, 99, 116, 88, + 84, 75, 92, 83, 114, 99, + 92, 83, 104, 97, 100, 101, + 114, 115, 92, 66, 97, 115, + 105, 99, 69, 102, 102, 101, + 99, 116, 46, 102, 120, 0, + 171, 171, 40, 0, 0, 0, + 111, 0, 0, 0, 0, 0, + 255, 255, 36, 3, 0, 0, + 0, 0, 255, 255, 60, 3, + 0, 0, 0, 0, 255, 255, + 72, 3, 0, 0, 43, 0, + 0, 0, 84, 3, 0, 0, + 14, 0, 0, 0, 100, 3, + 0, 0, 14, 0, 0, 0, + 116, 3, 0, 0, 14, 0, + 0, 0, 132, 3, 0, 0, + 75, 0, 1, 0, 148, 3, + 0, 0, 43, 0, 0, 0, + 164, 3, 0, 0, 43, 0, + 0, 0, 180, 3, 0, 0, + 43, 0, 0, 0, 196, 3, + 0, 0, 68, 0, 1, 0, + 212, 3, 0, 0, 68, 0, + 1, 0, 232, 3, 0, 0, + 45, 0, 0, 0, 244, 3, + 0, 0, 86, 83, 66, 97, + 115, 105, 99, 86, 99, 0, + 68, 105, 102, 102, 117, 115, + 101, 0, 171, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 83, 112, 101, 99, + 117, 108, 97, 114, 0, 80, + 111, 115, 105, 116, 105, 111, + 110, 80, 83, 0, 62, 1, + 0, 0, 72, 1, 0, 0, + 88, 1, 0, 0, 72, 1, + 0, 0, 97, 1, 0, 0, + 72, 1, 0, 0, 5, 0, + 0, 0, 1, 0, 12, 0, + 1, 0, 3, 0, 108, 1, + 0, 0, 3, 0, 0, 0, + 255, 255, 255, 255, 10, 0, + 255, 255, 6, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 7, 0, 7, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 11, 0, 0, 0, + 8, 0, 9, 0, 255, 255, + 255, 255, 12, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 11, 0, 13, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 255, 255, 118, 105, 110, 0, + 80, 111, 115, 105, 116, 105, + 111, 110, 0, 67, 111, 108, + 111, 114, 0, 171, 224, 1, + 0, 0, 72, 1, 0, 0, + 233, 1, 0, 0, 72, 1, + 0, 0, 5, 0, 0, 0, + 1, 0, 8, 0, 1, 0, + 2, 0, 240, 1, 0, 0, + 1, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 2, 0, 0, 0, 4, 0, + 5, 0, 6, 0, 7, 0, + 118, 111, 117, 116, 0, 80, + 111, 115, 95, 112, 115, 0, + 1, 0, 3, 0, 1, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 70, 111, + 103, 70, 97, 99, 116, 111, + 114, 0, 171, 171, 0, 0, + 3, 0, 1, 0, 1, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 45, 2, 0, 0, + 72, 1, 0, 0, 62, 1, + 0, 0, 72, 1, 0, 0, + 88, 1, 0, 0, 52, 2, + 0, 0, 68, 2, 0, 0, + 80, 2, 0, 0, 5, 0, + 0, 0, 1, 0, 12, 0, + 1, 0, 4, 0, 96, 2, + 0, 0, 8, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 9, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 10, 0, 0, 0, + 255, 255, 255, 255, 3, 0, + 255, 255, 0, 0, 0, 0, + 52, 1, 0, 0, 132, 1, + 0, 0, 6, 0, 0, 0, + 148, 1, 0, 0, 52, 1, + 0, 0, 220, 1, 0, 0, + 0, 2, 0, 0, 2, 0, + 0, 0, 16, 2, 0, 0, + 0, 0, 0, 0, 40, 2, + 0, 0, 128, 2, 0, 0, + 3, 0, 0, 0, 144, 2, + 0, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 81, 0, 0, 5, 7, 0, + 15, 160, 0, 0, 0, 0, + 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, - 128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 1, 128, - 1, 0, 15, 144, 9, 0, - 0, 3, 0, 0, 4, 192, - 0, 0, 228, 144, 5, 0, + 31, 0, 0, 2, 5, 0, + 0, 128, 0, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 1, 128, 1, 0, 15, 144, + 9, 0, 0, 3, 0, 0, + 4, 192, 0, 0, 228, 144, + 5, 0, 228, 160, 9, 0, + 0, 3, 0, 0, 1, 128, + 0, 0, 228, 144, 2, 0, + 228, 160, 11, 0, 0, 3, + 0, 0, 1, 128, 0, 0, + 0, 128, 7, 0, 0, 160, + 10, 0, 0, 3, 1, 0, + 8, 224, 0, 0, 0, 128, + 7, 0, 85, 160, 5, 0, + 0, 3, 0, 0, 15, 224, + 1, 0, 228, 144, 1, 0, 228, 160, 9, 0, 0, 3, 0, 0, 1, 128, 0, 0, - 228, 144, 2, 0, 228, 160, - 11, 0, 0, 3, 0, 0, - 1, 128, 0, 0, 0, 128, - 7, 0, 0, 160, 10, 0, - 0, 3, 1, 0, 8, 224, - 0, 0, 0, 128, 7, 0, - 85, 160, 5, 0, 0, 3, - 0, 0, 15, 224, 1, 0, - 228, 144, 1, 0, 228, 160, + 228, 144, 3, 0, 228, 160, 9, 0, 0, 3, 0, 0, - 1, 128, 0, 0, 228, 144, - 3, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 2, 128, - 0, 0, 228, 144, 4, 0, - 228, 160, 9, 0, 0, 3, - 0, 0, 4, 128, 0, 0, - 228, 144, 6, 0, 228, 160, - 4, 0, 0, 4, 0, 0, - 3, 192, 0, 0, 170, 128, - 0, 0, 228, 160, 0, 0, - 228, 128, 1, 0, 0, 2, - 0, 0, 8, 192, 0, 0, - 170, 128, 1, 0, 0, 2, - 1, 0, 7, 224, 7, 0, - 0, 160, 255, 255, 0, 0, - 83, 72, 68, 82, 60, 1, - 0, 0, 64, 0, 1, 0, - 79, 0, 0, 0, 89, 0, - 0, 4, 70, 142, 32, 0, - 0, 0, 0, 0, 26, 0, - 0, 0, 95, 0, 0, 3, - 242, 16, 16, 0, 0, 0, - 0, 0, 95, 0, 0, 3, - 242, 16, 16, 0, 1, 0, - 0, 0, 101, 0, 0, 3, + 2, 128, 0, 0, 228, 144, + 4, 0, 228, 160, 9, 0, + 0, 3, 0, 0, 4, 128, + 0, 0, 228, 144, 6, 0, + 228, 160, 4, 0, 0, 4, + 0, 0, 3, 192, 0, 0, + 170, 128, 0, 0, 228, 160, + 0, 0, 228, 128, 1, 0, + 0, 2, 0, 0, 8, 192, + 0, 0, 170, 128, 1, 0, + 0, 2, 1, 0, 7, 224, + 7, 0, 0, 160, 255, 255, + 0, 0, 83, 72, 68, 82, + 60, 1, 0, 0, 64, 0, + 1, 0, 79, 0, 0, 0, + 89, 0, 0, 4, 70, 142, + 32, 0, 0, 0, 0, 0, + 26, 0, 0, 0, 95, 0, + 0, 3, 242, 16, 16, 0, + 0, 0, 0, 0, 95, 0, + 0, 3, 242, 16, 16, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 0, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 1, 0, 0, 0, 103, 0, + 0, 4, 242, 32, 16, 0, + 2, 0, 0, 0, 1, 0, + 0, 0, 56, 0, 0, 8, 242, 32, 16, 0, 0, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 1, 0, - 0, 0, 103, 0, 0, 4, - 242, 32, 16, 0, 2, 0, - 0, 0, 1, 0, 0, 0, - 56, 0, 0, 8, 242, 32, - 16, 0, 0, 0, 0, 0, - 70, 30, 16, 0, 1, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 17, 32, 0, 8, - 130, 32, 16, 0, 1, 0, 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 70, 142, + 1, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 14, 0, 0, 0, 54, 0, - 0, 8, 114, 32, 16, 0, - 1, 0, 0, 0, 2, 64, - 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 17, 32, + 0, 8, 130, 32, 16, 0, + 1, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 14, 0, 0, 0, + 54, 0, 0, 8, 114, 32, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 17, 0, 0, 8, 18, 32, - 16, 0, 2, 0, 0, 0, - 70, 30, 16, 0, 0, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 22, 0, 0, 0, 17, 0, 0, 8, - 34, 32, 16, 0, 2, 0, + 18, 32, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 23, 0, 0, 0, 17, 0, - 0, 8, 66, 32, 16, 0, + 22, 0, 0, 0, 17, 0, + 0, 8, 34, 32, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, - 0, 0, 24, 0, 0, 0, - 17, 0, 0, 8, 130, 32, + 0, 0, 23, 0, 0, 0, + 17, 0, 0, 8, 66, 32, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 25, 0, - 0, 0, 62, 0, 0, 1, - 73, 83, 71, 78, 76, 0, - 0, 0, 2, 0, 0, 0, - 8, 0, 0, 0, 56, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 24, 0, + 0, 0, 17, 0, 0, 8, + 130, 32, 16, 0, 2, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 25, 0, 0, 0, 62, 0, + 0, 1, 73, 83, 71, 78, + 76, 0, 0, 0, 2, 0, + 0, 0, 8, 0, 0, 0, + 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 15, 15, 0, 0, 68, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 15, 0, 0, + 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 15, 15, 0, 0, 83, 86, - 95, 80, 111, 115, 105, 116, - 105, 111, 110, 0, 67, 79, - 76, 79, 82, 0, 171, 171, - 79, 83, 71, 78, 100, 0, - 0, 0, 3, 0, 0, 0, - 8, 0, 0, 0, 80, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 15, 15, 0, 0, + 83, 86, 95, 80, 111, 115, + 105, 116, 105, 111, 110, 0, + 67, 79, 76, 79, 82, 0, + 171, 171, 79, 83, 71, 78, + 100, 0, 0, 0, 3, 0, + 0, 0, 8, 0, 0, 0, + 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 80, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 80, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 15, 0, 0, 0, + 86, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 15, 0, 0, 0, 86, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 3, 0, - 0, 0, 2, 0, 0, 0, - 15, 0, 0, 0, 67, 79, - 76, 79, 82, 0, 83, 86, - 95, 80, 111, 115, 105, 116, - 105, 111, 110, 0, 171, 171 + 3, 0, 0, 0, 2, 0, + 0, 0, 15, 0, 0, 0, + 67, 79, 76, 79, 82, 0, + 83, 86, 95, 80, 111, 115, + 105, 116, 105, 111, 110, 0, + 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicVcNoFog.inc b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicVcNoFog.inc index 9fd1c404..dfe64c9b 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicVcNoFog.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicVcNoFog.inc @@ -37,15 +37,23 @@ // Level9 shader bytecode: // vs_2_0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dp4 oPos.z, v0, c4 - mul oT0, v1, c1 - dp4 r0.x, v0, c2 - dp4 r0.y, v0, c3 - dp4 r0.z, v0, c5 - mad oPos.xy, r0.z, c0, r0 - mov oPos.w, r0.z + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5,6,7> + +#line 43 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + dp4 oPos.z, v0, c4 // ::VSBasicVcNoFog<6> + +#line 89 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mul oT0, v1, c1 // ::VSBasicVcNoFog<0,1,2,3> + +#line 43 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + dp4 r0.x, v0, c2 // ::vout<0> + dp4 r0.y, v0, c3 // ::vout<1> + dp4 r0.z, v0, c5 // ::vout<3> + +#line 82 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mad oPos.xy, r0.z, c0, r0 // ::VSBasicVcNoFog<4,5> + mov oPos.w, r0.z // ::VSBasicVcNoFog<7> // approximately 7 instruction slots used vs_4_0 @@ -65,17 +73,17 @@ ret const BYTE BasicEffect_VSBasicVcNoFog[] = { - 68, 88, 66, 67, 84, 0, - 235, 58, 0, 107, 122, 79, - 253, 27, 44, 43, 109, 188, - 148, 111, 1, 0, 0, 0, - 168, 2, 0, 0, 4, 0, + 68, 88, 66, 67, 114, 65, + 2, 27, 167, 13, 188, 197, + 210, 128, 13, 198, 110, 181, + 26, 207, 1, 0, 0, 0, + 136, 5, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 8, 1, 0, 0, 0, 2, - 0, 0, 84, 2, 0, 0, - 65, 111, 110, 57, 208, 0, - 0, 0, 208, 0, 0, 0, - 0, 2, 254, 255, 144, 0, + 232, 3, 0, 0, 224, 4, + 0, 0, 52, 5, 0, 0, + 65, 111, 110, 57, 176, 3, + 0, 0, 176, 3, 0, 0, + 0, 2, 254, 255, 112, 3, 0, 0, 64, 0, 0, 0, 2, 0, 36, 0, 0, 0, 60, 0, 0, 0, 60, 0, @@ -85,98 +93,220 @@ const BYTE BasicEffect_VSBasicVcNoFog[] = 0, 0, 0, 0, 22, 0, 4, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 1, 128, - 1, 0, 15, 144, 9, 0, - 0, 3, 0, 0, 4, 192, - 0, 0, 228, 144, 4, 0, - 228, 160, 5, 0, 0, 3, - 0, 0, 15, 224, 1, 0, - 228, 144, 1, 0, 228, 160, - 9, 0, 0, 3, 0, 0, - 1, 128, 0, 0, 228, 144, - 2, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 2, 128, - 0, 0, 228, 144, 3, 0, + 0, 2, 254, 255, 254, 255, + 183, 0, 68, 66, 85, 71, + 40, 0, 0, 0, 176, 2, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 188, 0, + 0, 0, 9, 0, 0, 0, + 196, 0, 0, 0, 3, 0, + 0, 0, 116, 2, 0, 0, + 12, 1, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 67, 111, + 109, 109, 111, 110, 46, 102, + 120, 104, 0, 67, 58, 92, + 65, 84, 71, 32, 83, 97, + 109, 112, 108, 101, 32, 68, + 101, 118, 101, 108, 111, 112, + 109, 101, 110, 116, 92, 115, + 116, 95, 100, 101, 118, 92, + 75, 105, 116, 115, 92, 68, + 105, 114, 101, 99, 116, 88, + 84, 75, 92, 83, 114, 99, + 92, 83, 104, 97, 100, 101, + 114, 115, 92, 66, 97, 115, + 105, 99, 69, 102, 102, 101, + 99, 116, 46, 102, 120, 0, + 171, 171, 40, 0, 0, 0, + 111, 0, 0, 0, 0, 0, + 255, 255, 228, 2, 0, 0, + 0, 0, 255, 255, 240, 2, + 0, 0, 43, 0, 0, 0, + 252, 2, 0, 0, 89, 0, + 1, 0, 12, 3, 0, 0, + 43, 0, 0, 0, 28, 3, + 0, 0, 43, 0, 0, 0, + 44, 3, 0, 0, 43, 0, + 0, 0, 60, 3, 0, 0, + 82, 0, 1, 0, 76, 3, + 0, 0, 82, 0, 1, 0, + 96, 3, 0, 0, 86, 83, + 66, 97, 115, 105, 99, 86, + 99, 78, 111, 70, 111, 103, + 0, 68, 105, 102, 102, 117, + 115, 101, 0, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 80, 111, 115, 105, + 116, 105, 111, 110, 80, 83, + 0, 171, 27, 1, 0, 0, + 36, 1, 0, 0, 52, 1, + 0, 0, 36, 1, 0, 0, + 5, 0, 0, 0, 1, 0, + 8, 0, 1, 0, 2, 0, + 64, 1, 0, 0, 2, 0, + 0, 0, 255, 255, 255, 255, + 6, 0, 255, 255, 3, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 3, 0, 7, 0, + 0, 0, 4, 0, 5, 0, + 255, 255, 255, 255, 8, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 7, 0, 118, 105, + 110, 0, 80, 111, 115, 105, + 116, 105, 111, 110, 0, 67, + 111, 108, 111, 114, 0, 171, + 148, 1, 0, 0, 36, 1, + 0, 0, 157, 1, 0, 0, + 36, 1, 0, 0, 5, 0, + 0, 0, 1, 0, 8, 0, + 1, 0, 2, 0, 164, 1, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 1, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 7, 0, 118, 111, 117, 116, + 0, 80, 111, 115, 95, 112, + 115, 0, 83, 112, 101, 99, + 117, 108, 97, 114, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 70, 111, 103, 70, 97, 99, + 116, 111, 114, 0, 171, 171, + 0, 0, 3, 0, 1, 0, + 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 225, 1, + 0, 0, 36, 1, 0, 0, + 27, 1, 0, 0, 36, 1, + 0, 0, 232, 1, 0, 0, + 244, 1, 0, 0, 4, 2, + 0, 0, 16, 2, 0, 0, + 5, 0, 0, 0, 1, 0, + 12, 0, 1, 0, 4, 0, + 32, 2, 0, 0, 4, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 5, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 6, 0, + 0, 0, 255, 255, 255, 255, + 3, 0, 255, 255, 0, 0, + 0, 0, 12, 1, 0, 0, + 80, 1, 0, 0, 4, 0, + 0, 0, 96, 1, 0, 0, + 12, 1, 0, 0, 144, 1, + 0, 0, 180, 1, 0, 0, + 2, 0, 0, 0, 196, 1, + 0, 0, 0, 0, 0, 0, + 220, 1, 0, 0, 64, 2, + 0, 0, 3, 0, 0, 0, + 80, 2, 0, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 31, 0, 0, 2, + 5, 0, 0, 128, 0, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 1, 128, 1, 0, + 15, 144, 9, 0, 0, 3, + 0, 0, 4, 192, 0, 0, + 228, 144, 4, 0, 228, 160, + 5, 0, 0, 3, 0, 0, + 15, 224, 1, 0, 228, 144, + 1, 0, 228, 160, 9, 0, + 0, 3, 0, 0, 1, 128, + 0, 0, 228, 144, 2, 0, 228, 160, 9, 0, 0, 3, - 0, 0, 4, 128, 0, 0, - 228, 144, 5, 0, 228, 160, - 4, 0, 0, 4, 0, 0, - 3, 192, 0, 0, 170, 128, - 0, 0, 228, 160, 0, 0, - 228, 128, 1, 0, 0, 2, - 0, 0, 8, 192, 0, 0, - 170, 128, 255, 255, 0, 0, - 83, 72, 68, 82, 240, 0, - 0, 0, 64, 0, 1, 0, - 60, 0, 0, 0, 89, 0, - 0, 4, 70, 142, 32, 0, - 0, 0, 0, 0, 26, 0, - 0, 0, 95, 0, 0, 3, - 242, 16, 16, 0, 0, 0, - 0, 0, 95, 0, 0, 3, - 242, 16, 16, 0, 1, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 0, 0, - 0, 0, 103, 0, 0, 4, - 242, 32, 16, 0, 1, 0, - 0, 0, 1, 0, 0, 0, - 56, 0, 0, 8, 242, 32, + 0, 0, 2, 128, 0, 0, + 228, 144, 3, 0, 228, 160, + 9, 0, 0, 3, 0, 0, + 4, 128, 0, 0, 228, 144, + 5, 0, 228, 160, 4, 0, + 0, 4, 0, 0, 3, 192, + 0, 0, 170, 128, 0, 0, + 228, 160, 0, 0, 228, 128, + 1, 0, 0, 2, 0, 0, + 8, 192, 0, 0, 170, 128, + 255, 255, 0, 0, 83, 72, + 68, 82, 240, 0, 0, 0, + 64, 0, 1, 0, 60, 0, + 0, 0, 89, 0, 0, 4, + 70, 142, 32, 0, 0, 0, + 0, 0, 26, 0, 0, 0, + 95, 0, 0, 3, 242, 16, 16, 0, 0, 0, 0, 0, - 70, 30, 16, 0, 1, 0, - 0, 0, 70, 142, 32, 0, + 95, 0, 0, 3, 242, 16, + 16, 0, 1, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 0, 0, 0, 0, + 103, 0, 0, 4, 242, 32, + 16, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 56, 0, + 0, 8, 242, 32, 16, 0, + 0, 0, 0, 0, 70, 30, + 16, 0, 1, 0, 0, 0, + 70, 142, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 17, 0, 0, 8, 18, 32, + 16, 0, 1, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 22, 0, 0, 0, 17, 0, 0, 8, - 18, 32, 16, 0, 1, 0, + 34, 32, 16, 0, 1, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 22, 0, 0, 0, 17, 0, - 0, 8, 34, 32, 16, 0, + 23, 0, 0, 0, 17, 0, + 0, 8, 66, 32, 16, 0, 1, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, - 0, 0, 23, 0, 0, 0, - 17, 0, 0, 8, 66, 32, + 0, 0, 24, 0, 0, 0, + 17, 0, 0, 8, 130, 32, 16, 0, 1, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 24, 0, - 0, 0, 17, 0, 0, 8, - 130, 32, 16, 0, 1, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 70, 142, - 32, 0, 0, 0, 0, 0, - 25, 0, 0, 0, 62, 0, - 0, 1, 73, 83, 71, 78, - 76, 0, 0, 0, 2, 0, - 0, 0, 8, 0, 0, 0, - 56, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 25, 0, + 0, 0, 62, 0, 0, 1, + 73, 83, 71, 78, 76, 0, + 0, 0, 2, 0, 0, 0, + 8, 0, 0, 0, 56, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 15, 0, 0, 68, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 15, 15, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 67, 79, + 76, 79, 82, 0, 171, 171, + 79, 83, 71, 78, 76, 0, + 0, 0, 2, 0, 0, 0, + 8, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 15, 0, 0, - 68, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 15, 15, 0, 0, - 83, 86, 95, 80, 111, 115, - 105, 116, 105, 111, 110, 0, - 67, 79, 76, 79, 82, 0, - 171, 171, 79, 83, 71, 78, - 76, 0, 0, 0, 2, 0, - 0, 0, 8, 0, 0, 0, - 56, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 62, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 15, 0, 0, 0, - 67, 79, 76, 79, 82, 0, - 83, 86, 95, 80, 111, 115, - 105, 116, 105, 111, 110, 0, - 171, 171 + 15, 0, 0, 0, 67, 79, + 76, 79, 82, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicVertexLighting.inc b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicVertexLighting.inc index 26e9db43..084bf7f6 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicVertexLighting.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicVertexLighting.inc @@ -40,59 +40,95 @@ // vs_2_0 def c25, 0, 1, 0, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5,6> + +#line 59 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" dp3 r0.x, v1, c18 dp3 r0.y, v1, c19 dp3 r0.z, v1, c20 - nrm r1.xyz, r0 - dp3 r0.x, -c4, r1 - dp3 r0.y, -c5, r1 - dp3 r0.z, -c6, r1 - sge r2.xyz, r0, c25.x - mul r0.xyz, r0, r2 + nrm r1.xyz, r0 // ::worldNormal<0,1,2> + +#line 36 + dp3 r0.x, -c4, r1 // ::dotL<0> + dp3 r0.y, -c5, r1 // ::dotL<1> + dp3 r0.z, -c6, r1 // ::dotL<2> + +#line 39 + sge r2.xyz, r0, c25.x // ::zeroL<0,1,2> + mul r0.xyz, r0, r2 // ::diffuse<0,1,2> + +#line 46 mul r3.xyz, r0.y, c8 mad r0.xyw, r0.x, c7.xyzz, r3.xyzz mad r0.xyz, r0.z, c9, r0.xyww - mov r3.xyz, c1 - mad oT0.xyz, r0, r3, c2 - dp4 r0.x, v0, c15 - dp4 r0.y, v0, c16 - dp4 r0.z, v0, c17 + mov r3.xyz, c1 // Parameters::DiffuseColor<0,1,2> + mad oT0.xyz, r0, r3, c2 // ::VSBasicVertexLighting<0,1,2> + +#line 57 + dp4 r0.x, v0, c15 // ::pos_ws<0> + dp4 r0.y, v0, c16 // ::pos_ws<1> + dp4 r0.z, v0, c17 // ::pos_ws<2> add r0.xyz, -r0, c13 - nrm r3.xyz, r0 + nrm r3.xyz, r0 // ::eyeVector<0,1,2> + +#line 33 add r0.xyz, r3, -c4 - nrm r4.xyz, r0 - dp3 r0.x, r4, r1 + nrm r4.xyz, r0 // ::halfVectors<0,1,2> + +#line 37 + dp3 r0.x, r4, r1 // ::dotH<0> + +#line 33 add r4.xyz, r3, -c5 add r3.xyz, r3, -c6 - nrm r5.xyz, r3 - dp3 r0.z, r5, r1 - nrm r3.xyz, r4 - dp3 r0.y, r3, r1 + nrm r5.xyz, r3 // ::halfVectors<6,7,8> + +#line 37 + dp3 r0.z, r5, r1 // ::dotH<2> + +#line 33 + nrm r3.xyz, r4 // ::halfVectors<3,4,5> + +#line 37 + dp3 r0.y, r3, r1 // ::dotH<1> + +#line 42 max r0.xyz, r0, c25.x mul r0.xyz, r2, r0 log r1.x, r0.x log r1.y, r0.y log r1.z, r0.z mul r0.xyz, r1, c3.w - exp r0.x, r0.x - exp r0.y, r0.y - exp r0.z, r0.z + exp r0.x, r0.x // ::specular<0> + exp r0.y, r0.y // ::specular<1> + exp r0.z, r0.z // ::specular<2> + +#line 47 mul r1.xyz, r0.y, c11 mad r0.xyw, r0.x, c10.xyzz, r1.xyzz mad r0.xyz, r0.z, c12, r0.xyww - mul oT1.xyz, r0, c3 - dp4 oPos.z, v0, c23 + mul oT1.xyz, r0, c3 // ::VSBasicVertexLighting<4,5,6> + +#line 63 + dp4 oPos.z, v0, c23 // ::VSBasicVertexLighting<10> + +#line 14 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" dp4 r0.x, v0, c14 max r0.x, r0.x, c25.x - min oT1.w, r0.x, c25.y - dp4 r0.x, v0, c21 - dp4 r0.y, v0, c22 - dp4 r0.z, v0, c24 - mad oPos.xy, r0.z, c0, r0 - mov oPos.w, r0.z - mov oT0.w, c1.w + min oT1.w, r0.x, c25.y // ::VSBasicVertexLighting<7> + +#line 63 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp4 r0.x, v0, c21 // ::vout<0> + dp4 r0.y, v0, c22 // ::vout<1> + dp4 r0.z, v0, c24 // ::vout<3> + +#line 154 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mad oPos.xy, r0.z, c0, r0 // ::VSBasicVertexLighting<8,9> + mov oPos.w, r0.z // ::VSBasicVertexLighting<11> + +#line 46 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + mov oT0.w, c1.w // ::VSBasicVertexLighting<3> // approximately 61 instruction slots used vs_4_0 @@ -161,17 +197,17 @@ ret const BYTE BasicEffect_VSBasicVertexLighting[] = { - 68, 88, 66, 67, 227, 79, - 10, 21, 150, 232, 101, 180, - 243, 182, 250, 185, 179, 99, - 49, 164, 1, 0, 0, 0, - 92, 11, 0, 0, 4, 0, + 68, 88, 66, 67, 11, 169, + 156, 99, 25, 253, 36, 15, + 116, 176, 152, 41, 101, 109, + 158, 51, 1, 0, 0, 0, + 104, 18, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 204, 3, 0, 0, 156, 10, - 0, 0, 240, 10, 0, 0, - 65, 111, 110, 57, 148, 3, - 0, 0, 148, 3, 0, 0, - 0, 2, 254, 255, 72, 3, + 216, 10, 0, 0, 168, 17, + 0, 0, 252, 17, 0, 0, + 65, 111, 110, 57, 160, 10, + 0, 0, 160, 10, 0, 0, + 0, 2, 254, 255, 84, 10, 0, 0, 76, 0, 0, 0, 3, 0, 36, 0, 0, 0, 72, 0, 0, 0, 72, 0, @@ -183,467 +219,768 @@ const BYTE BasicEffect_VSBasicVertexLighting[] = 0, 0, 0, 0, 19, 0, 7, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 81, 0, - 0, 5, 25, 0, 15, 160, + 0, 2, 254, 255, 254, 255, + 194, 1, 68, 66, 85, 71, + 40, 0, 0, 0, 220, 6, 0, 0, 0, 0, 0, 0, - 128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 1, 128, - 1, 0, 15, 144, 8, 0, - 0, 3, 0, 0, 1, 128, - 1, 0, 228, 144, 18, 0, - 228, 160, 8, 0, 0, 3, - 0, 0, 2, 128, 1, 0, - 228, 144, 19, 0, 228, 160, + 3, 0, 0, 0, 4, 1, + 0, 0, 54, 0, 0, 0, + 16, 1, 0, 0, 13, 0, + 0, 0, 216, 5, 0, 0, + 244, 2, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 76, 105, + 103, 104, 116, 105, 110, 103, + 46, 102, 120, 104, 0, 67, + 58, 92, 65, 84, 71, 32, + 83, 97, 109, 112, 108, 101, + 32, 68, 101, 118, 101, 108, + 111, 112, 109, 101, 110, 116, + 92, 115, 116, 95, 100, 101, + 118, 92, 75, 105, 116, 115, + 92, 68, 105, 114, 101, 99, + 116, 88, 84, 75, 92, 83, + 114, 99, 92, 83, 104, 97, + 100, 101, 114, 115, 92, 67, + 111, 109, 109, 111, 110, 46, + 102, 120, 104, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 66, 97, + 115, 105, 99, 69, 102, 102, + 101, 99, 116, 46, 102, 120, + 0, 171, 40, 0, 0, 0, + 113, 0, 0, 0, 184, 0, + 0, 0, 0, 0, 255, 255, + 16, 7, 0, 0, 0, 0, + 255, 255, 40, 7, 0, 0, + 0, 0, 255, 255, 52, 7, + 0, 0, 59, 0, 0, 0, + 64, 7, 0, 0, 59, 0, + 0, 0, 80, 7, 0, 0, + 59, 0, 0, 0, 96, 7, + 0, 0, 59, 0, 0, 0, + 112, 7, 0, 0, 36, 0, + 0, 0, 124, 7, 0, 0, + 36, 0, 0, 0, 140, 7, + 0, 0, 36, 0, 0, 0, + 156, 7, 0, 0, 39, 0, + 0, 0, 172, 7, 0, 0, + 41, 0, 0, 0, 188, 7, + 0, 0, 46, 0, 0, 0, + 204, 7, 0, 0, 46, 0, + 0, 0, 220, 7, 0, 0, + 46, 0, 0, 0, 240, 7, + 0, 0, 46, 0, 0, 0, + 4, 8, 0, 0, 46, 0, + 0, 0, 16, 8, 0, 0, + 57, 0, 0, 0, 36, 8, + 0, 0, 57, 0, 0, 0, + 52, 8, 0, 0, 57, 0, + 0, 0, 68, 8, 0, 0, + 58, 0, 0, 0, 84, 8, + 0, 0, 58, 0, 0, 0, + 100, 8, 0, 0, 33, 0, + 0, 0, 112, 8, 0, 0, + 33, 0, 0, 0, 128, 8, + 0, 0, 37, 0, 0, 0, + 140, 8, 0, 0, 33, 0, + 0, 0, 156, 8, 0, 0, + 33, 0, 0, 0, 172, 8, + 0, 0, 33, 0, 0, 0, + 188, 8, 0, 0, 37, 0, + 0, 0, 200, 8, 0, 0, + 33, 0, 0, 0, 216, 8, + 0, 0, 37, 0, 0, 0, + 228, 8, 0, 0, 42, 0, + 0, 0, 244, 8, 0, 0, + 42, 0, 0, 0, 4, 9, + 0, 0, 42, 0, 0, 0, + 20, 9, 0, 0, 42, 0, + 0, 0, 32, 9, 0, 0, + 42, 0, 0, 0, 44, 9, + 0, 0, 42, 0, 0, 0, + 56, 9, 0, 0, 42, 0, + 0, 0, 72, 9, 0, 0, + 42, 0, 0, 0, 84, 9, + 0, 0, 42, 0, 0, 0, + 96, 9, 0, 0, 47, 0, + 0, 0, 108, 9, 0, 0, + 47, 0, 0, 0, 124, 9, + 0, 0, 47, 0, 0, 0, + 144, 9, 0, 0, 47, 0, + 0, 0, 164, 9, 0, 0, + 63, 0, 0, 0, 180, 9, + 0, 0, 14, 0, 1, 0, + 196, 9, 0, 0, 14, 0, + 1, 0, 212, 9, 0, 0, + 14, 0, 1, 0, 228, 9, + 0, 0, 63, 0, 0, 0, + 244, 9, 0, 0, 63, 0, + 0, 0, 4, 10, 0, 0, + 63, 0, 0, 0, 20, 10, + 0, 0, 154, 0, 2, 0, + 36, 10, 0, 0, 154, 0, + 2, 0, 56, 10, 0, 0, + 46, 0, 0, 0, 68, 10, + 0, 0, 80, 97, 114, 97, + 109, 101, 116, 101, 114, 115, + 0, 68, 105, 102, 102, 117, + 115, 101, 67, 111, 108, 111, + 114, 0, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 86, 83, 66, 97, 115, 105, + 99, 86, 101, 114, 116, 101, + 120, 76, 105, 103, 104, 116, + 105, 110, 103, 0, 68, 105, + 102, 102, 117, 115, 101, 0, + 171, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 83, 112, 101, 99, 117, 108, + 97, 114, 0, 80, 111, 115, + 105, 116, 105, 111, 110, 80, + 83, 0, 10, 3, 0, 0, + 20, 3, 0, 0, 36, 3, + 0, 0, 20, 3, 0, 0, + 45, 3, 0, 0, 20, 3, + 0, 0, 5, 0, 0, 0, + 1, 0, 12, 0, 1, 0, + 3, 0, 56, 3, 0, 0, + 16, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 43, 0, 0, 0, 4, 0, + 5, 0, 6, 0, 255, 255, + 44, 0, 0, 0, 255, 255, + 255, 255, 10, 0, 255, 255, + 47, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 7, 0, + 51, 0, 0, 0, 8, 0, + 9, 0, 255, 255, 255, 255, + 52, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 11, 0, + 53, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 3, 0, + 100, 105, 102, 102, 117, 115, + 101, 0, 1, 0, 3, 0, + 1, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 11, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 100, 111, 116, 72, 0, 171, + 171, 171, 24, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 28, 0, 0, 0, + 255, 255, 255, 255, 2, 0, + 255, 255, 30, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 100, 111, 116, 76, + 0, 171, 171, 171, 7, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 8, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 9, 0, + 0, 0, 255, 255, 255, 255, + 2, 0, 255, 255, 101, 121, + 101, 86, 101, 99, 116, 111, + 114, 0, 171, 171, 21, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 104, 97, + 108, 102, 86, 101, 99, 116, + 111, 114, 115, 0, 3, 0, + 3, 0, 3, 0, 3, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 23, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 27, 0, 0, 0, + 6, 0, 7, 0, 8, 0, + 255, 255, 29, 0, 0, 0, + 3, 0, 4, 0, 5, 0, + 255, 255, 112, 111, 115, 95, + 119, 115, 0, 171, 17, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 18, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 19, 0, + 0, 0, 255, 255, 255, 255, + 2, 0, 255, 255, 115, 112, + 101, 99, 117, 108, 97, 114, + 0, 171, 171, 171, 37, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 38, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 39, 0, + 0, 0, 255, 255, 255, 255, + 2, 0, 255, 255, 118, 105, + 110, 0, 80, 111, 115, 105, + 116, 105, 111, 110, 0, 78, + 111, 114, 109, 97, 108, 0, + 232, 4, 0, 0, 20, 3, + 0, 0, 241, 4, 0, 0, + 188, 3, 0, 0, 5, 0, + 0, 0, 1, 0, 7, 0, + 1, 0, 2, 0, 248, 4, + 0, 0, 1, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 2, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 255, 255, 118, 111, 117, 116, + 0, 80, 111, 115, 95, 112, + 115, 0, 70, 111, 103, 70, + 97, 99, 116, 111, 114, 0, + 171, 171, 0, 0, 3, 0, + 1, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 53, 5, 0, 0, 20, 3, + 0, 0, 10, 3, 0, 0, + 20, 3, 0, 0, 36, 3, + 0, 0, 188, 3, 0, 0, + 60, 5, 0, 0, 72, 5, + 0, 0, 5, 0, 0, 0, + 1, 0, 12, 0, 1, 0, + 4, 0, 88, 5, 0, 0, + 48, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 49, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 50, 0, 0, 0, 255, 255, + 255, 255, 3, 0, 255, 255, + 119, 111, 114, 108, 100, 78, + 111, 114, 109, 97, 108, 0, + 6, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 122, 101, 114, 111, 76, 0, + 171, 171, 10, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 192, 2, 0, 0, + 203, 2, 0, 0, 216, 2, + 0, 0, 1, 0, 0, 0, + 232, 2, 0, 0, 0, 0, + 0, 0, 244, 2, 0, 0, + 80, 3, 0, 0, 7, 0, + 0, 0, 96, 3, 0, 0, + 0, 0, 0, 0, 180, 3, + 0, 0, 188, 3, 0, 0, + 1, 0, 0, 0, 204, 3, + 0, 0, 0, 0, 0, 0, + 216, 3, 0, 0, 188, 3, + 0, 0, 3, 0, 0, 0, + 224, 3, 0, 0, 0, 0, + 0, 0, 4, 4, 0, 0, + 188, 3, 0, 0, 3, 0, + 0, 0, 12, 4, 0, 0, + 0, 0, 0, 0, 48, 4, + 0, 0, 188, 3, 0, 0, + 1, 0, 0, 0, 60, 4, + 0, 0, 0, 0, 0, 0, + 72, 4, 0, 0, 84, 4, + 0, 0, 3, 0, 0, 0, + 100, 4, 0, 0, 0, 0, + 0, 0, 136, 4, 0, 0, + 20, 3, 0, 0, 3, 0, + 0, 0, 144, 4, 0, 0, + 0, 0, 0, 0, 180, 4, + 0, 0, 188, 3, 0, 0, + 3, 0, 0, 0, 192, 4, + 0, 0, 244, 2, 0, 0, + 228, 4, 0, 0, 8, 5, + 0, 0, 2, 0, 0, 0, + 24, 5, 0, 0, 0, 0, + 0, 0, 48, 5, 0, 0, + 120, 5, 0, 0, 3, 0, + 0, 0, 136, 5, 0, 0, + 0, 0, 0, 0, 172, 5, + 0, 0, 188, 3, 0, 0, + 1, 0, 0, 0, 184, 5, + 0, 0, 0, 0, 0, 0, + 196, 5, 0, 0, 188, 3, + 0, 0, 1, 0, 0, 0, + 204, 5, 0, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 81, 0, 0, 5, + 25, 0, 15, 160, 0, 0, + 0, 0, 0, 0, 128, 63, + 0, 0, 0, 0, 0, 0, + 0, 0, 31, 0, 0, 2, + 5, 0, 0, 128, 0, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 1, 128, 1, 0, + 15, 144, 8, 0, 0, 3, + 0, 0, 1, 128, 1, 0, + 228, 144, 18, 0, 228, 160, 8, 0, 0, 3, 0, 0, - 4, 128, 1, 0, 228, 144, - 20, 0, 228, 160, 36, 0, - 0, 2, 1, 0, 7, 128, - 0, 0, 228, 128, 8, 0, - 0, 3, 0, 0, 1, 128, - 4, 0, 228, 161, 1, 0, + 2, 128, 1, 0, 228, 144, + 19, 0, 228, 160, 8, 0, + 0, 3, 0, 0, 4, 128, + 1, 0, 228, 144, 20, 0, + 228, 160, 36, 0, 0, 2, + 1, 0, 7, 128, 0, 0, 228, 128, 8, 0, 0, 3, - 0, 0, 2, 128, 5, 0, + 0, 0, 1, 128, 4, 0, 228, 161, 1, 0, 228, 128, 8, 0, 0, 3, 0, 0, - 4, 128, 6, 0, 228, 161, - 1, 0, 228, 128, 13, 0, - 0, 3, 2, 0, 7, 128, - 0, 0, 228, 128, 25, 0, - 0, 160, 5, 0, 0, 3, - 0, 0, 7, 128, 0, 0, - 228, 128, 2, 0, 228, 128, - 5, 0, 0, 3, 3, 0, - 7, 128, 0, 0, 85, 128, - 8, 0, 228, 160, 4, 0, - 0, 4, 0, 0, 11, 128, - 0, 0, 0, 128, 7, 0, - 164, 160, 3, 0, 164, 128, - 4, 0, 0, 4, 0, 0, - 7, 128, 0, 0, 170, 128, - 9, 0, 228, 160, 0, 0, - 244, 128, 1, 0, 0, 2, - 3, 0, 7, 128, 1, 0, + 2, 128, 5, 0, 228, 161, + 1, 0, 228, 128, 8, 0, + 0, 3, 0, 0, 4, 128, + 6, 0, 228, 161, 1, 0, + 228, 128, 13, 0, 0, 3, + 2, 0, 7, 128, 0, 0, + 228, 128, 25, 0, 0, 160, + 5, 0, 0, 3, 0, 0, + 7, 128, 0, 0, 228, 128, + 2, 0, 228, 128, 5, 0, + 0, 3, 3, 0, 7, 128, + 0, 0, 85, 128, 8, 0, 228, 160, 4, 0, 0, 4, - 0, 0, 7, 224, 0, 0, - 228, 128, 3, 0, 228, 128, - 2, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 1, 128, - 0, 0, 228, 144, 15, 0, + 0, 0, 11, 128, 0, 0, + 0, 128, 7, 0, 164, 160, + 3, 0, 164, 128, 4, 0, + 0, 4, 0, 0, 7, 128, + 0, 0, 170, 128, 9, 0, + 228, 160, 0, 0, 244, 128, + 1, 0, 0, 2, 3, 0, + 7, 128, 1, 0, 228, 160, + 4, 0, 0, 4, 0, 0, + 7, 224, 0, 0, 228, 128, + 3, 0, 228, 128, 2, 0, 228, 160, 9, 0, 0, 3, - 0, 0, 2, 128, 0, 0, - 228, 144, 16, 0, 228, 160, + 0, 0, 1, 128, 0, 0, + 228, 144, 15, 0, 228, 160, 9, 0, 0, 3, 0, 0, - 4, 128, 0, 0, 228, 144, - 17, 0, 228, 160, 2, 0, - 0, 3, 0, 0, 7, 128, - 0, 0, 228, 129, 13, 0, - 228, 160, 36, 0, 0, 2, - 3, 0, 7, 128, 0, 0, - 228, 128, 2, 0, 0, 3, - 0, 0, 7, 128, 3, 0, - 228, 128, 4, 0, 228, 161, - 36, 0, 0, 2, 4, 0, + 2, 128, 0, 0, 228, 144, + 16, 0, 228, 160, 9, 0, + 0, 3, 0, 0, 4, 128, + 0, 0, 228, 144, 17, 0, + 228, 160, 2, 0, 0, 3, + 0, 0, 7, 128, 0, 0, + 228, 129, 13, 0, 228, 160, + 36, 0, 0, 2, 3, 0, 7, 128, 0, 0, 228, 128, - 8, 0, 0, 3, 0, 0, - 1, 128, 4, 0, 228, 128, - 1, 0, 228, 128, 2, 0, - 0, 3, 4, 0, 7, 128, - 3, 0, 228, 128, 5, 0, - 228, 161, 2, 0, 0, 3, - 3, 0, 7, 128, 3, 0, - 228, 128, 6, 0, 228, 161, - 36, 0, 0, 2, 5, 0, + 2, 0, 0, 3, 0, 0, 7, 128, 3, 0, 228, 128, - 8, 0, 0, 3, 0, 0, - 4, 128, 5, 0, 228, 128, - 1, 0, 228, 128, 36, 0, - 0, 2, 3, 0, 7, 128, - 4, 0, 228, 128, 8, 0, - 0, 3, 0, 0, 2, 128, - 3, 0, 228, 128, 1, 0, - 228, 128, 11, 0, 0, 3, - 0, 0, 7, 128, 0, 0, - 228, 128, 25, 0, 0, 160, - 5, 0, 0, 3, 0, 0, - 7, 128, 2, 0, 228, 128, - 0, 0, 228, 128, 15, 0, - 0, 2, 1, 0, 1, 128, - 0, 0, 0, 128, 15, 0, - 0, 2, 1, 0, 2, 128, - 0, 0, 85, 128, 15, 0, - 0, 2, 1, 0, 4, 128, - 0, 0, 170, 128, 5, 0, + 4, 0, 228, 161, 36, 0, + 0, 2, 4, 0, 7, 128, + 0, 0, 228, 128, 8, 0, + 0, 3, 0, 0, 1, 128, + 4, 0, 228, 128, 1, 0, + 228, 128, 2, 0, 0, 3, + 4, 0, 7, 128, 3, 0, + 228, 128, 5, 0, 228, 161, + 2, 0, 0, 3, 3, 0, + 7, 128, 3, 0, 228, 128, + 6, 0, 228, 161, 36, 0, + 0, 2, 5, 0, 7, 128, + 3, 0, 228, 128, 8, 0, + 0, 3, 0, 0, 4, 128, + 5, 0, 228, 128, 1, 0, + 228, 128, 36, 0, 0, 2, + 3, 0, 7, 128, 4, 0, + 228, 128, 8, 0, 0, 3, + 0, 0, 2, 128, 3, 0, + 228, 128, 1, 0, 228, 128, + 11, 0, 0, 3, 0, 0, + 7, 128, 0, 0, 228, 128, + 25, 0, 0, 160, 5, 0, 0, 3, 0, 0, 7, 128, - 1, 0, 228, 128, 3, 0, - 255, 160, 14, 0, 0, 2, - 0, 0, 1, 128, 0, 0, - 0, 128, 14, 0, 0, 2, - 0, 0, 2, 128, 0, 0, - 85, 128, 14, 0, 0, 2, - 0, 0, 4, 128, 0, 0, + 2, 0, 228, 128, 0, 0, + 228, 128, 15, 0, 0, 2, + 1, 0, 1, 128, 0, 0, + 0, 128, 15, 0, 0, 2, + 1, 0, 2, 128, 0, 0, + 85, 128, 15, 0, 0, 2, + 1, 0, 4, 128, 0, 0, 170, 128, 5, 0, 0, 3, - 1, 0, 7, 128, 0, 0, - 85, 128, 11, 0, 228, 160, + 0, 0, 7, 128, 1, 0, + 228, 128, 3, 0, 255, 160, + 14, 0, 0, 2, 0, 0, + 1, 128, 0, 0, 0, 128, + 14, 0, 0, 2, 0, 0, + 2, 128, 0, 0, 85, 128, + 14, 0, 0, 2, 0, 0, + 4, 128, 0, 0, 170, 128, + 5, 0, 0, 3, 1, 0, + 7, 128, 0, 0, 85, 128, + 11, 0, 228, 160, 4, 0, + 0, 4, 0, 0, 11, 128, + 0, 0, 0, 128, 10, 0, + 164, 160, 1, 0, 164, 128, 4, 0, 0, 4, 0, 0, - 11, 128, 0, 0, 0, 128, - 10, 0, 164, 160, 1, 0, - 164, 128, 4, 0, 0, 4, - 0, 0, 7, 128, 0, 0, - 170, 128, 12, 0, 228, 160, - 0, 0, 244, 128, 5, 0, - 0, 3, 1, 0, 7, 224, - 0, 0, 228, 128, 3, 0, - 228, 160, 9, 0, 0, 3, - 0, 0, 4, 192, 0, 0, - 228, 144, 23, 0, 228, 160, + 7, 128, 0, 0, 170, 128, + 12, 0, 228, 160, 0, 0, + 244, 128, 5, 0, 0, 3, + 1, 0, 7, 224, 0, 0, + 228, 128, 3, 0, 228, 160, 9, 0, 0, 3, 0, 0, - 1, 128, 0, 0, 228, 144, - 14, 0, 228, 160, 11, 0, + 4, 192, 0, 0, 228, 144, + 23, 0, 228, 160, 9, 0, 0, 3, 0, 0, 1, 128, - 0, 0, 0, 128, 25, 0, - 0, 160, 10, 0, 0, 3, - 1, 0, 8, 224, 0, 0, - 0, 128, 25, 0, 85, 160, - 9, 0, 0, 3, 0, 0, - 1, 128, 0, 0, 228, 144, - 21, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 2, 128, - 0, 0, 228, 144, 22, 0, + 0, 0, 228, 144, 14, 0, + 228, 160, 11, 0, 0, 3, + 0, 0, 1, 128, 0, 0, + 0, 128, 25, 0, 0, 160, + 10, 0, 0, 3, 1, 0, + 8, 224, 0, 0, 0, 128, + 25, 0, 85, 160, 9, 0, + 0, 3, 0, 0, 1, 128, + 0, 0, 228, 144, 21, 0, 228, 160, 9, 0, 0, 3, - 0, 0, 4, 128, 0, 0, - 228, 144, 24, 0, 228, 160, - 4, 0, 0, 4, 0, 0, - 3, 192, 0, 0, 170, 128, - 0, 0, 228, 160, 0, 0, - 228, 128, 1, 0, 0, 2, - 0, 0, 8, 192, 0, 0, - 170, 128, 1, 0, 0, 2, - 0, 0, 8, 224, 1, 0, - 255, 160, 255, 255, 0, 0, - 83, 72, 68, 82, 200, 6, - 0, 0, 64, 0, 1, 0, - 178, 1, 0, 0, 89, 0, - 0, 4, 70, 142, 32, 0, - 0, 0, 0, 0, 26, 0, - 0, 0, 95, 0, 0, 3, - 242, 16, 16, 0, 0, 0, - 0, 0, 95, 0, 0, 3, - 114, 16, 16, 0, 1, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 0, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 1, 0, - 0, 0, 103, 0, 0, 4, - 242, 32, 16, 0, 2, 0, - 0, 0, 1, 0, 0, 0, - 104, 0, 0, 2, 5, 0, + 0, 0, 2, 128, 0, 0, + 228, 144, 22, 0, 228, 160, + 9, 0, 0, 3, 0, 0, + 4, 128, 0, 0, 228, 144, + 24, 0, 228, 160, 4, 0, + 0, 4, 0, 0, 3, 192, + 0, 0, 170, 128, 0, 0, + 228, 160, 0, 0, 228, 128, + 1, 0, 0, 2, 0, 0, + 8, 192, 0, 0, 170, 128, + 1, 0, 0, 2, 0, 0, + 8, 224, 1, 0, 255, 160, + 255, 255, 0, 0, 83, 72, + 68, 82, 200, 6, 0, 0, + 64, 0, 1, 0, 178, 1, + 0, 0, 89, 0, 0, 4, + 70, 142, 32, 0, 0, 0, + 0, 0, 26, 0, 0, 0, + 95, 0, 0, 3, 242, 16, + 16, 0, 0, 0, 0, 0, + 95, 0, 0, 3, 114, 16, + 16, 0, 1, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 0, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 1, 0, 0, 0, + 103, 0, 0, 4, 242, 32, + 16, 0, 2, 0, 0, 0, + 1, 0, 0, 0, 104, 0, + 0, 2, 5, 0, 0, 0, + 16, 0, 0, 8, 18, 0, + 16, 0, 0, 0, 0, 0, + 70, 18, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 19, 0, 0, 0, 16, 0, 0, 8, - 18, 0, 16, 0, 0, 0, + 34, 0, 16, 0, 0, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, - 19, 0, 0, 0, 16, 0, - 0, 8, 34, 0, 16, 0, + 20, 0, 0, 0, 16, 0, + 0, 8, 66, 0, 16, 0, 0, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, 0, 0, - 0, 0, 20, 0, 0, 0, - 16, 0, 0, 8, 66, 0, + 0, 0, 21, 0, 0, 0, + 16, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, - 70, 18, 16, 0, 1, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 21, 0, - 0, 0, 16, 0, 0, 7, - 130, 0, 16, 0, 0, 0, + 70, 2, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 68, 0, 0, 5, 130, 0, + 0, 0, 0, 0, 68, 0, + 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 0, 0, - 0, 0, 246, 15, 16, 0, - 0, 0, 0, 0, 70, 2, + 56, 0, 0, 7, 114, 0, 16, 0, 0, 0, 0, 0, - 16, 0, 0, 9, 18, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 16, 0, + 0, 9, 18, 0, 16, 0, + 1, 0, 0, 0, 70, 130, + 32, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 16, 0, + 0, 9, 34, 0, 16, 0, + 1, 0, 0, 0, 70, 130, + 32, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 16, 0, + 0, 9, 66, 0, 16, 0, + 1, 0, 0, 0, 70, 130, + 32, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 29, 0, + 0, 10, 114, 0, 16, 0, + 2, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, - 70, 130, 32, 128, 65, 0, + 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 16, 0, 0, 9, 34, 0, - 16, 0, 1, 0, 0, 0, - 70, 130, 32, 128, 65, 0, 0, 0, 0, 0, 0, 0, - 4, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 16, 0, 0, 9, 66, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 128, 63, + 0, 0, 128, 63, 0, 0, + 128, 63, 0, 0, 0, 0, + 56, 0, 0, 7, 114, 0, 16, 0, 1, 0, 0, 0, - 70, 130, 32, 128, 65, 0, - 0, 0, 0, 0, 0, 0, - 5, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 29, 0, 0, 10, 114, 0, - 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, 1, 0, - 0, 0, 2, 64, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 10, 114, 0, 16, 0, - 2, 0, 0, 0, 70, 2, - 16, 0, 2, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 128, 63, 0, 0, 128, 63, - 0, 0, 128, 63, 0, 0, - 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 2, 0, 0, 0, - 56, 0, 0, 8, 114, 0, - 16, 0, 3, 0, 0, 0, - 86, 5, 16, 0, 1, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 7, 0, - 0, 0, 50, 0, 0, 10, - 178, 0, 16, 0, 1, 0, - 0, 0, 6, 0, 16, 0, - 1, 0, 0, 0, 70, 136, - 32, 0, 0, 0, 0, 0, - 6, 0, 0, 0, 70, 8, - 16, 0, 3, 0, 0, 0, - 50, 0, 0, 10, 114, 0, - 16, 0, 1, 0, 0, 0, - 166, 10, 16, 0, 1, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 8, 0, - 0, 0, 70, 3, 16, 0, - 1, 0, 0, 0, 50, 0, - 0, 11, 114, 32, 16, 0, - 0, 0, 0, 0, 70, 2, + 2, 0, 0, 0, 56, 0, + 0, 8, 114, 0, 16, 0, + 3, 0, 0, 0, 86, 5, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 50, 0, 0, 10, 178, 0, + 16, 0, 1, 0, 0, 0, + 6, 0, 16, 0, 1, 0, + 0, 0, 70, 136, 32, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 70, 8, 16, 0, + 3, 0, 0, 0, 50, 0, + 0, 10, 114, 0, 16, 0, + 1, 0, 0, 0, 166, 10, + 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 54, 0, 0, 6, 130, 32, + 0, 0, 8, 0, 0, 0, + 70, 3, 16, 0, 1, 0, + 0, 0, 50, 0, 0, 11, + 114, 32, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 54, 0, + 0, 6, 130, 32, 16, 0, + 0, 0, 0, 0, 58, 128, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 17, 0, + 0, 8, 18, 0, 16, 0, + 1, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, - 58, 128, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 17, 0, 0, 8, 18, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 17, 0, 0, 8, 34, 0, 16, 0, 1, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 16, 0, 0, 0, 17, 0, 0, 8, - 34, 0, 16, 0, 1, 0, + 66, 0, 16, 0, 1, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 16, 0, 0, 0, 17, 0, - 0, 8, 66, 0, 16, 0, - 1, 0, 0, 0, 70, 30, - 16, 0, 0, 0, 0, 0, - 70, 142, 32, 0, 0, 0, - 0, 0, 17, 0, 0, 0, - 0, 0, 0, 9, 114, 0, + 17, 0, 0, 0, 0, 0, + 0, 9, 114, 0, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 128, 65, 0, 0, 0, + 1, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 12, 0, 0, 0, 16, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, - 70, 2, 16, 128, 65, 0, - 0, 0, 1, 0, 0, 0, - 70, 130, 32, 0, 0, 0, - 0, 0, 12, 0, 0, 0, - 16, 0, 0, 7, 130, 0, - 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 1, 0, + 0, 0, 68, 0, 0, 5, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 50, 0, + 0, 11, 114, 0, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 16, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 68, 0, + 3, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, - 0, 0, 0, 0, 58, 0, - 16, 0, 0, 0, 0, 0, - 50, 0, 0, 11, 114, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 56, 0, 0, 7, 114, 0, 16, 0, 3, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 246, 15, 16, 0, - 0, 0, 0, 0, 70, 130, - 32, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 16, 0, 0, 7, - 130, 0, 16, 0, 1, 0, + 246, 15, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 16, 0, + 0, 7, 18, 0, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 3, 0, 0, 0, - 68, 0, 0, 5, 130, 0, - 16, 0, 1, 0, 0, 0, - 58, 0, 16, 0, 1, 0, - 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 3, 0, - 0, 0, 246, 15, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 3, 0, 0, 0, - 16, 0, 0, 7, 18, 0, - 16, 0, 3, 0, 0, 0, - 70, 2, 16, 0, 3, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 50, 0, 0, 11, + 114, 0, 16, 0, 4, 0, 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 50, 0, + 1, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 70, 130, 32, 128, 65, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 50, 0, 0, 11, 114, 0, 16, 0, - 4, 0, 0, 0, 70, 2, + 1, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, 70, 130, 32, 128, 65, 0, 0, 0, 0, 0, - 0, 0, 4, 0, 0, 0, - 50, 0, 0, 11, 114, 0, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 246, 15, 16, 0, - 0, 0, 0, 0, 70, 130, - 32, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 5, 0, + 0, 0, 5, 0, 0, 0, + 16, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 68, 0, + 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 56, 0, 0, 7, 114, 0, + 16, 0, 4, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 16, 0, + 0, 7, 34, 0, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 0, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, - 4, 0, 0, 0, 70, 2, - 16, 0, 4, 0, 0, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 4, 0, + 114, 0, 16, 0, 1, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, 70, 2, - 16, 0, 4, 0, 0, 0, - 16, 0, 0, 7, 34, 0, - 16, 0, 3, 0, 0, 0, - 70, 2, 16, 0, 4, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 16, 0, - 0, 7, 130, 0, 16, 0, - 0, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, + 16, 0, 0, 7, 66, 0, + 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 1, 0, - 0, 0, 68, 0, 0, 5, - 130, 0, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, - 1, 0, 0, 0, 246, 15, - 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 16, 0, 0, 7, - 66, 0, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 52, 0, 0, 10, 114, 0, - 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 3, 0, - 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 52, 0, + 0, 10, 114, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, - 0, 0, 0, 0, 70, 2, - 16, 0, 2, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 47, 0, 0, 5, + 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 8, 114, 0, 16, 0, - 0, 0, 0, 0, 70, 2, + 2, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, - 246, 143, 32, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 25, 0, 0, 5, 114, 0, + 47, 0, 0, 5, 114, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 56, 0, 0, 8, - 114, 0, 16, 0, 1, 0, - 0, 0, 86, 5, 16, 0, - 0, 0, 0, 0, 70, 130, + 114, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 246, 143, 32, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 50, 0, - 0, 10, 178, 0, 16, 0, - 0, 0, 0, 0, 6, 0, + 2, 0, 0, 0, 25, 0, + 0, 5, 114, 0, 16, 0, + 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, - 70, 136, 32, 0, 0, 0, - 0, 0, 9, 0, 0, 0, - 70, 8, 16, 0, 1, 0, + 56, 0, 0, 8, 114, 0, + 16, 0, 1, 0, 0, 0, + 86, 5, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 10, 0, 0, 0, 50, 0, 0, 10, - 114, 0, 16, 0, 0, 0, - 0, 0, 166, 10, 16, 0, - 0, 0, 0, 0, 70, 130, + 178, 0, 16, 0, 0, 0, + 0, 0, 6, 0, 16, 0, + 0, 0, 0, 0, 70, 136, 32, 0, 0, 0, 0, 0, - 11, 0, 0, 0, 70, 3, - 16, 0, 0, 0, 0, 0, - 56, 0, 0, 8, 114, 32, + 9, 0, 0, 0, 70, 8, 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 0, 0, + 50, 0, 0, 10, 114, 0, + 16, 0, 0, 0, 0, 0, + 166, 10, 16, 0, 0, 0, 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 17, 32, 0, 8, - 130, 32, 16, 0, 1, 0, + 0, 0, 0, 0, 11, 0, + 0, 0, 70, 3, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 8, 114, 32, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 17, 32, 0, 8, 130, 32, + 16, 0, 1, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 14, 0, + 0, 0, 17, 0, 0, 8, + 18, 32, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 14, 0, 0, 0, 17, 0, - 0, 8, 18, 32, 16, 0, + 22, 0, 0, 0, 17, 0, + 0, 8, 34, 32, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, - 0, 0, 22, 0, 0, 0, - 17, 0, 0, 8, 34, 32, + 0, 0, 23, 0, 0, 0, + 17, 0, 0, 8, 66, 32, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 23, 0, + 0, 0, 0, 0, 24, 0, 0, 0, 17, 0, 0, 8, - 66, 32, 16, 0, 2, 0, + 130, 32, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 24, 0, 0, 0, 17, 0, - 0, 8, 130, 32, 16, 0, - 2, 0, 0, 0, 70, 30, - 16, 0, 0, 0, 0, 0, - 70, 142, 32, 0, 0, 0, - 0, 0, 25, 0, 0, 0, - 62, 0, 0, 1, 73, 83, - 71, 78, 76, 0, 0, 0, - 2, 0, 0, 0, 8, 0, - 0, 0, 56, 0, 0, 0, + 25, 0, 0, 0, 62, 0, + 0, 1, 73, 83, 71, 78, + 76, 0, 0, 0, 2, 0, + 0, 0, 8, 0, 0, 0, + 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 15, - 0, 0, 68, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 15, 0, 0, + 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 7, 7, - 0, 0, 83, 86, 95, 80, - 111, 115, 105, 116, 105, 111, - 110, 0, 78, 79, 82, 77, - 65, 76, 0, 171, 79, 83, - 71, 78, 100, 0, 0, 0, - 3, 0, 0, 0, 8, 0, - 0, 0, 80, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 7, 7, 0, 0, + 83, 86, 95, 80, 111, 115, + 105, 116, 105, 111, 110, 0, + 78, 79, 82, 77, 65, 76, + 0, 171, 79, 83, 71, 78, + 100, 0, 0, 0, 3, 0, + 0, 0, 8, 0, 0, 0, + 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 80, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 15, 0, - 0, 0, 86, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 3, 0, 0, 0, - 2, 0, 0, 0, 15, 0, - 0, 0, 67, 79, 76, 79, - 82, 0, 83, 86, 95, 80, - 111, 115, 105, 116, 105, 111, - 110, 0, 171, 171 + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 80, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 15, 0, 0, 0, + 86, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 15, 0, 0, 0, + 67, 79, 76, 79, 82, 0, + 83, 86, 95, 80, 111, 115, + 105, 116, 105, 111, 110, 0, + 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingTx.inc b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingTx.inc index f5b073f4..512faba1 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingTx.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingTx.inc @@ -42,61 +42,99 @@ // vs_2_0 def c25, 0, 1, 0, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5,6> + dcl_texcoord2 v2 // vin<7,8> + +#line 59 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" dp3 r0.x, v1, c18 dp3 r0.y, v1, c19 dp3 r0.z, v1, c20 - nrm r1.xyz, r0 - dp3 r0.x, -c4, r1 - dp3 r0.y, -c5, r1 - dp3 r0.z, -c6, r1 - sge r2.xyz, r0, c25.x - mul r0.xyz, r0, r2 + nrm r1.xyz, r0 // ::worldNormal<0,1,2> + +#line 36 + dp3 r0.x, -c4, r1 // ::dotL<0> + dp3 r0.y, -c5, r1 // ::dotL<1> + dp3 r0.z, -c6, r1 // ::dotL<2> + +#line 39 + sge r2.xyz, r0, c25.x // ::zeroL<0,1,2> + mul r0.xyz, r0, r2 // ::diffuse<0,1,2> + +#line 46 mul r3.xyz, r0.y, c8 mad r0.xyw, r0.x, c7.xyzz, r3.xyzz mad r0.xyz, r0.z, c9, r0.xyww - mov r3.xyz, c1 - mad oT0.xyz, r0, r3, c2 - dp4 r0.x, v0, c15 - dp4 r0.y, v0, c16 - dp4 r0.z, v0, c17 + mov r3.xyz, c1 // Parameters::DiffuseColor<0,1,2> + mad oT0.xyz, r0, r3, c2 // ::VSBasicVertexLightingTx<0,1,2> + +#line 57 + dp4 r0.x, v0, c15 // ::pos_ws<0> + dp4 r0.y, v0, c16 // ::pos_ws<1> + dp4 r0.z, v0, c17 // ::pos_ws<2> add r0.xyz, -r0, c13 - nrm r3.xyz, r0 + nrm r3.xyz, r0 // ::eyeVector<0,1,2> + +#line 33 add r0.xyz, r3, -c4 - nrm r4.xyz, r0 - dp3 r0.x, r4, r1 + nrm r4.xyz, r0 // ::halfVectors<0,1,2> + +#line 37 + dp3 r0.x, r4, r1 // ::dotH<0> + +#line 33 add r4.xyz, r3, -c5 add r3.xyz, r3, -c6 - nrm r5.xyz, r3 - dp3 r0.z, r5, r1 - nrm r3.xyz, r4 - dp3 r0.y, r3, r1 + nrm r5.xyz, r3 // ::halfVectors<6,7,8> + +#line 37 + dp3 r0.z, r5, r1 // ::dotH<2> + +#line 33 + nrm r3.xyz, r4 // ::halfVectors<3,4,5> + +#line 37 + dp3 r0.y, r3, r1 // ::dotH<1> + +#line 42 max r0.xyz, r0, c25.x mul r0.xyz, r2, r0 log r1.x, r0.x log r1.y, r0.y log r1.z, r0.z mul r0.xyz, r1, c3.w - exp r0.x, r0.x - exp r0.y, r0.y - exp r0.z, r0.z + exp r0.x, r0.x // ::specular<0> + exp r0.y, r0.y // ::specular<1> + exp r0.z, r0.z // ::specular<2> + +#line 47 mul r1.xyz, r0.y, c11 mad r0.xyw, r0.x, c10.xyzz, r1.xyzz mad r0.xyz, r0.z, c12, r0.xyww - mul oT1.xyz, r0, c3 - dp4 oPos.z, v0, c23 + mul oT1.xyz, r0, c3 // ::VSBasicVertexLightingTx<4,5,6> + +#line 63 + dp4 oPos.z, v0, c23 // ::VSBasicVertexLightingTx<12> + +#line 14 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" dp4 r0.x, v0, c14 max r0.x, r0.x, c25.x - min oT1.w, r0.x, c25.y - dp4 r0.x, v0, c21 - dp4 r0.y, v0, c22 - dp4 r0.z, v0, c24 - mad oPos.xy, r0.z, c0, r0 - mov oPos.w, r0.z - mov oT0.w, c1.w - mov oT2.xy, v2 + min oT1.w, r0.x, c25.y // ::VSBasicVertexLightingTx<7> + +#line 63 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp4 r0.x, v0, c21 // ::vout<0> + dp4 r0.y, v0, c22 // ::vout<1> + dp4 r0.z, v0, c24 // ::vout<3> + +#line 180 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mad oPos.xy, r0.z, c0, r0 // ::VSBasicVertexLightingTx<10,11> + mov oPos.w, r0.z // ::VSBasicVertexLightingTx<13> + +#line 46 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + mov oT0.w, c1.w // ::VSBasicVertexLightingTx<3> + +#line 187 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mov oT2.xy, v2 // ::VSBasicVertexLightingTx<8,9> // approximately 62 instruction slots used vs_4_0 @@ -168,17 +206,17 @@ ret const BYTE BasicEffect_VSBasicVertexLightingTx[] = { - 68, 88, 66, 67, 47, 196, - 250, 120, 243, 184, 64, 199, - 182, 131, 36, 33, 211, 185, - 23, 197, 1, 0, 0, 0, - 224, 11, 0, 0, 4, 0, + 68, 88, 66, 67, 128, 152, + 53, 198, 172, 158, 146, 237, + 44, 232, 207, 138, 186, 159, + 64, 219, 1, 0, 0, 0, + 64, 19, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 228, 3, 0, 0, 224, 10, - 0, 0, 84, 11, 0, 0, - 65, 111, 110, 57, 172, 3, - 0, 0, 172, 3, 0, 0, - 0, 2, 254, 255, 96, 3, + 68, 11, 0, 0, 64, 18, + 0, 0, 180, 18, 0, 0, + 65, 111, 110, 57, 12, 11, + 0, 0, 12, 11, 0, 0, + 0, 2, 254, 255, 192, 10, 0, 0, 76, 0, 0, 0, 3, 0, 36, 0, 0, 0, 72, 0, 0, 0, 72, 0, @@ -190,489 +228,804 @@ const BYTE BasicEffect_VSBasicVertexLightingTx[] = 0, 0, 0, 0, 19, 0, 7, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 81, 0, - 0, 5, 25, 0, 15, 160, + 0, 2, 254, 255, 254, 255, + 215, 1, 68, 66, 85, 71, + 40, 0, 0, 0, 48, 7, 0, 0, 0, 0, 0, 0, - 128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 1, 128, - 1, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 2, 128, - 2, 0, 15, 144, 8, 0, - 0, 3, 0, 0, 1, 128, - 1, 0, 228, 144, 18, 0, - 228, 160, 8, 0, 0, 3, - 0, 0, 2, 128, 1, 0, - 228, 144, 19, 0, 228, 160, + 3, 0, 0, 0, 4, 1, + 0, 0, 56, 0, 0, 0, + 16, 1, 0, 0, 13, 0, + 0, 0, 44, 6, 0, 0, + 4, 3, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 76, 105, + 103, 104, 116, 105, 110, 103, + 46, 102, 120, 104, 0, 67, + 58, 92, 65, 84, 71, 32, + 83, 97, 109, 112, 108, 101, + 32, 68, 101, 118, 101, 108, + 111, 112, 109, 101, 110, 116, + 92, 115, 116, 95, 100, 101, + 118, 92, 75, 105, 116, 115, + 92, 68, 105, 114, 101, 99, + 116, 88, 84, 75, 92, 83, + 114, 99, 92, 83, 104, 97, + 100, 101, 114, 115, 92, 67, + 111, 109, 109, 111, 110, 46, + 102, 120, 104, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 66, 97, + 115, 105, 99, 69, 102, 102, + 101, 99, 116, 46, 102, 120, + 0, 171, 40, 0, 0, 0, + 113, 0, 0, 0, 184, 0, + 0, 0, 0, 0, 255, 255, + 100, 7, 0, 0, 0, 0, + 255, 255, 124, 7, 0, 0, + 0, 0, 255, 255, 136, 7, + 0, 0, 0, 0, 255, 255, + 148, 7, 0, 0, 59, 0, + 0, 0, 160, 7, 0, 0, + 59, 0, 0, 0, 176, 7, + 0, 0, 59, 0, 0, 0, + 192, 7, 0, 0, 59, 0, + 0, 0, 208, 7, 0, 0, + 36, 0, 0, 0, 220, 7, + 0, 0, 36, 0, 0, 0, + 236, 7, 0, 0, 36, 0, + 0, 0, 252, 7, 0, 0, + 39, 0, 0, 0, 12, 8, + 0, 0, 41, 0, 0, 0, + 28, 8, 0, 0, 46, 0, + 0, 0, 44, 8, 0, 0, + 46, 0, 0, 0, 60, 8, + 0, 0, 46, 0, 0, 0, + 80, 8, 0, 0, 46, 0, + 0, 0, 100, 8, 0, 0, + 46, 0, 0, 0, 112, 8, + 0, 0, 57, 0, 0, 0, + 132, 8, 0, 0, 57, 0, + 0, 0, 148, 8, 0, 0, + 57, 0, 0, 0, 164, 8, + 0, 0, 58, 0, 0, 0, + 180, 8, 0, 0, 58, 0, + 0, 0, 196, 8, 0, 0, + 33, 0, 0, 0, 208, 8, + 0, 0, 33, 0, 0, 0, + 224, 8, 0, 0, 37, 0, + 0, 0, 236, 8, 0, 0, + 33, 0, 0, 0, 252, 8, + 0, 0, 33, 0, 0, 0, + 12, 9, 0, 0, 33, 0, + 0, 0, 28, 9, 0, 0, + 37, 0, 0, 0, 40, 9, + 0, 0, 33, 0, 0, 0, + 56, 9, 0, 0, 37, 0, + 0, 0, 68, 9, 0, 0, + 42, 0, 0, 0, 84, 9, + 0, 0, 42, 0, 0, 0, + 100, 9, 0, 0, 42, 0, + 0, 0, 116, 9, 0, 0, + 42, 0, 0, 0, 128, 9, + 0, 0, 42, 0, 0, 0, + 140, 9, 0, 0, 42, 0, + 0, 0, 152, 9, 0, 0, + 42, 0, 0, 0, 168, 9, + 0, 0, 42, 0, 0, 0, + 180, 9, 0, 0, 42, 0, + 0, 0, 192, 9, 0, 0, + 47, 0, 0, 0, 204, 9, + 0, 0, 47, 0, 0, 0, + 220, 9, 0, 0, 47, 0, + 0, 0, 240, 9, 0, 0, + 47, 0, 0, 0, 4, 10, + 0, 0, 63, 0, 0, 0, + 20, 10, 0, 0, 14, 0, + 1, 0, 36, 10, 0, 0, + 14, 0, 1, 0, 52, 10, + 0, 0, 14, 0, 1, 0, + 68, 10, 0, 0, 63, 0, + 0, 0, 84, 10, 0, 0, + 63, 0, 0, 0, 100, 10, + 0, 0, 63, 0, 0, 0, + 116, 10, 0, 0, 180, 0, + 2, 0, 132, 10, 0, 0, + 180, 0, 2, 0, 152, 10, + 0, 0, 46, 0, 0, 0, + 164, 10, 0, 0, 187, 0, + 2, 0, 176, 10, 0, 0, + 80, 97, 114, 97, 109, 101, + 116, 101, 114, 115, 0, 68, + 105, 102, 102, 117, 115, 101, + 67, 111, 108, 111, 114, 0, + 1, 0, 3, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 86, 83, + 66, 97, 115, 105, 99, 86, + 101, 114, 116, 101, 120, 76, + 105, 103, 104, 116, 105, 110, + 103, 84, 120, 0, 68, 105, + 102, 102, 117, 115, 101, 0, + 1, 0, 3, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 83, 112, + 101, 99, 117, 108, 97, 114, + 0, 84, 101, 120, 67, 111, + 111, 114, 100, 0, 171, 171, + 1, 0, 3, 0, 1, 0, + 2, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 80, 111, + 115, 105, 116, 105, 111, 110, + 80, 83, 0, 171, 28, 3, + 0, 0, 36, 3, 0, 0, + 52, 3, 0, 0, 36, 3, + 0, 0, 61, 3, 0, 0, + 72, 3, 0, 0, 88, 3, + 0, 0, 36, 3, 0, 0, + 5, 0, 0, 0, 1, 0, + 14, 0, 1, 0, 4, 0, + 100, 3, 0, 0, 17, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 44, 0, + 0, 0, 4, 0, 5, 0, + 6, 0, 255, 255, 45, 0, + 0, 0, 255, 255, 255, 255, + 12, 0, 255, 255, 48, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 7, 0, 52, 0, + 0, 0, 10, 0, 11, 0, + 255, 255, 255, 255, 53, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 13, 0, 54, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 3, 0, 55, 0, + 0, 0, 8, 0, 9, 0, + 255, 255, 255, 255, 100, 105, + 102, 102, 117, 115, 101, 0, + 1, 0, 3, 0, 1, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 100, 111, + 116, 72, 0, 171, 171, 171, + 25, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 29, 0, 0, 0, 255, 255, + 255, 255, 2, 0, 255, 255, + 31, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 100, 111, 116, 76, 0, 171, + 171, 171, 8, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 9, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 10, 0, 0, 0, + 255, 255, 255, 255, 2, 0, + 255, 255, 101, 121, 101, 86, + 101, 99, 116, 111, 114, 0, + 171, 171, 22, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 104, 97, 108, 102, + 86, 101, 99, 116, 111, 114, + 115, 0, 3, 0, 3, 0, + 3, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 24, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 28, 0, 0, 0, 6, 0, + 7, 0, 8, 0, 255, 255, + 30, 0, 0, 0, 3, 0, + 4, 0, 5, 0, 255, 255, + 112, 111, 115, 95, 119, 115, + 0, 171, 18, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 19, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 20, 0, 0, 0, + 255, 255, 255, 255, 2, 0, + 255, 255, 115, 112, 101, 99, + 117, 108, 97, 114, 0, 171, + 171, 171, 38, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 39, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 40, 0, 0, 0, + 255, 255, 255, 255, 2, 0, + 255, 255, 118, 105, 110, 0, + 80, 111, 115, 105, 116, 105, + 111, 110, 0, 78, 111, 114, + 109, 97, 108, 0, 40, 5, + 0, 0, 36, 3, 0, 0, + 49, 5, 0, 0, 252, 3, + 0, 0, 61, 3, 0, 0, + 72, 3, 0, 0, 5, 0, + 0, 0, 1, 0, 9, 0, + 1, 0, 3, 0, 56, 5, + 0, 0, 1, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 2, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 255, 255, 3, 0, 0, 0, + 7, 0, 8, 0, 255, 255, + 255, 255, 118, 111, 117, 116, + 0, 80, 111, 115, 95, 112, + 115, 0, 70, 111, 103, 70, + 97, 99, 116, 111, 114, 0, + 171, 171, 0, 0, 3, 0, + 1, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 137, 5, 0, 0, 36, 3, + 0, 0, 28, 3, 0, 0, + 36, 3, 0, 0, 52, 3, + 0, 0, 252, 3, 0, 0, + 144, 5, 0, 0, 156, 5, + 0, 0, 5, 0, 0, 0, + 1, 0, 12, 0, 1, 0, + 4, 0, 172, 5, 0, 0, + 49, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 50, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 51, 0, 0, 0, 255, 255, + 255, 255, 3, 0, 255, 255, + 119, 111, 114, 108, 100, 78, + 111, 114, 109, 97, 108, 0, + 7, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 122, 101, 114, 111, 76, 0, + 171, 171, 11, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 208, 2, 0, 0, + 219, 2, 0, 0, 232, 2, + 0, 0, 1, 0, 0, 0, + 248, 2, 0, 0, 0, 0, + 0, 0, 4, 3, 0, 0, + 132, 3, 0, 0, 8, 0, + 0, 0, 148, 3, 0, 0, + 0, 0, 0, 0, 244, 3, + 0, 0, 252, 3, 0, 0, + 1, 0, 0, 0, 12, 4, + 0, 0, 0, 0, 0, 0, + 24, 4, 0, 0, 252, 3, + 0, 0, 3, 0, 0, 0, + 32, 4, 0, 0, 0, 0, + 0, 0, 68, 4, 0, 0, + 252, 3, 0, 0, 3, 0, + 0, 0, 76, 4, 0, 0, + 0, 0, 0, 0, 112, 4, + 0, 0, 252, 3, 0, 0, + 1, 0, 0, 0, 124, 4, + 0, 0, 0, 0, 0, 0, + 136, 4, 0, 0, 148, 4, + 0, 0, 3, 0, 0, 0, + 164, 4, 0, 0, 0, 0, + 0, 0, 200, 4, 0, 0, + 36, 3, 0, 0, 3, 0, + 0, 0, 208, 4, 0, 0, + 0, 0, 0, 0, 244, 4, + 0, 0, 252, 3, 0, 0, + 3, 0, 0, 0, 0, 5, + 0, 0, 4, 3, 0, 0, + 36, 5, 0, 0, 80, 5, + 0, 0, 3, 0, 0, 0, + 96, 5, 0, 0, 0, 0, + 0, 0, 132, 5, 0, 0, + 204, 5, 0, 0, 3, 0, + 0, 0, 220, 5, 0, 0, + 0, 0, 0, 0, 0, 6, + 0, 0, 252, 3, 0, 0, + 1, 0, 0, 0, 12, 6, + 0, 0, 0, 0, 0, 0, + 24, 6, 0, 0, 252, 3, + 0, 0, 1, 0, 0, 0, + 32, 6, 0, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 81, 0, 0, 5, + 25, 0, 15, 160, 0, 0, + 0, 0, 0, 0, 128, 63, + 0, 0, 0, 0, 0, 0, + 0, 0, 31, 0, 0, 2, + 5, 0, 0, 128, 0, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 1, 128, 1, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 2, 128, 2, 0, + 15, 144, 8, 0, 0, 3, + 0, 0, 1, 128, 1, 0, + 228, 144, 18, 0, 228, 160, 8, 0, 0, 3, 0, 0, - 4, 128, 1, 0, 228, 144, - 20, 0, 228, 160, 36, 0, - 0, 2, 1, 0, 7, 128, - 0, 0, 228, 128, 8, 0, - 0, 3, 0, 0, 1, 128, - 4, 0, 228, 161, 1, 0, + 2, 128, 1, 0, 228, 144, + 19, 0, 228, 160, 8, 0, + 0, 3, 0, 0, 4, 128, + 1, 0, 228, 144, 20, 0, + 228, 160, 36, 0, 0, 2, + 1, 0, 7, 128, 0, 0, 228, 128, 8, 0, 0, 3, - 0, 0, 2, 128, 5, 0, + 0, 0, 1, 128, 4, 0, 228, 161, 1, 0, 228, 128, 8, 0, 0, 3, 0, 0, - 4, 128, 6, 0, 228, 161, - 1, 0, 228, 128, 13, 0, - 0, 3, 2, 0, 7, 128, - 0, 0, 228, 128, 25, 0, - 0, 160, 5, 0, 0, 3, - 0, 0, 7, 128, 0, 0, - 228, 128, 2, 0, 228, 128, - 5, 0, 0, 3, 3, 0, - 7, 128, 0, 0, 85, 128, - 8, 0, 228, 160, 4, 0, - 0, 4, 0, 0, 11, 128, - 0, 0, 0, 128, 7, 0, - 164, 160, 3, 0, 164, 128, - 4, 0, 0, 4, 0, 0, - 7, 128, 0, 0, 170, 128, - 9, 0, 228, 160, 0, 0, - 244, 128, 1, 0, 0, 2, - 3, 0, 7, 128, 1, 0, + 2, 128, 5, 0, 228, 161, + 1, 0, 228, 128, 8, 0, + 0, 3, 0, 0, 4, 128, + 6, 0, 228, 161, 1, 0, + 228, 128, 13, 0, 0, 3, + 2, 0, 7, 128, 0, 0, + 228, 128, 25, 0, 0, 160, + 5, 0, 0, 3, 0, 0, + 7, 128, 0, 0, 228, 128, + 2, 0, 228, 128, 5, 0, + 0, 3, 3, 0, 7, 128, + 0, 0, 85, 128, 8, 0, 228, 160, 4, 0, 0, 4, - 0, 0, 7, 224, 0, 0, - 228, 128, 3, 0, 228, 128, - 2, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 1, 128, - 0, 0, 228, 144, 15, 0, + 0, 0, 11, 128, 0, 0, + 0, 128, 7, 0, 164, 160, + 3, 0, 164, 128, 4, 0, + 0, 4, 0, 0, 7, 128, + 0, 0, 170, 128, 9, 0, + 228, 160, 0, 0, 244, 128, + 1, 0, 0, 2, 3, 0, + 7, 128, 1, 0, 228, 160, + 4, 0, 0, 4, 0, 0, + 7, 224, 0, 0, 228, 128, + 3, 0, 228, 128, 2, 0, 228, 160, 9, 0, 0, 3, - 0, 0, 2, 128, 0, 0, - 228, 144, 16, 0, 228, 160, + 0, 0, 1, 128, 0, 0, + 228, 144, 15, 0, 228, 160, 9, 0, 0, 3, 0, 0, - 4, 128, 0, 0, 228, 144, - 17, 0, 228, 160, 2, 0, - 0, 3, 0, 0, 7, 128, - 0, 0, 228, 129, 13, 0, - 228, 160, 36, 0, 0, 2, - 3, 0, 7, 128, 0, 0, - 228, 128, 2, 0, 0, 3, - 0, 0, 7, 128, 3, 0, - 228, 128, 4, 0, 228, 161, - 36, 0, 0, 2, 4, 0, + 2, 128, 0, 0, 228, 144, + 16, 0, 228, 160, 9, 0, + 0, 3, 0, 0, 4, 128, + 0, 0, 228, 144, 17, 0, + 228, 160, 2, 0, 0, 3, + 0, 0, 7, 128, 0, 0, + 228, 129, 13, 0, 228, 160, + 36, 0, 0, 2, 3, 0, 7, 128, 0, 0, 228, 128, - 8, 0, 0, 3, 0, 0, - 1, 128, 4, 0, 228, 128, - 1, 0, 228, 128, 2, 0, - 0, 3, 4, 0, 7, 128, - 3, 0, 228, 128, 5, 0, - 228, 161, 2, 0, 0, 3, - 3, 0, 7, 128, 3, 0, - 228, 128, 6, 0, 228, 161, - 36, 0, 0, 2, 5, 0, + 2, 0, 0, 3, 0, 0, 7, 128, 3, 0, 228, 128, - 8, 0, 0, 3, 0, 0, - 4, 128, 5, 0, 228, 128, - 1, 0, 228, 128, 36, 0, - 0, 2, 3, 0, 7, 128, - 4, 0, 228, 128, 8, 0, - 0, 3, 0, 0, 2, 128, - 3, 0, 228, 128, 1, 0, - 228, 128, 11, 0, 0, 3, - 0, 0, 7, 128, 0, 0, - 228, 128, 25, 0, 0, 160, - 5, 0, 0, 3, 0, 0, - 7, 128, 2, 0, 228, 128, - 0, 0, 228, 128, 15, 0, - 0, 2, 1, 0, 1, 128, - 0, 0, 0, 128, 15, 0, - 0, 2, 1, 0, 2, 128, - 0, 0, 85, 128, 15, 0, - 0, 2, 1, 0, 4, 128, - 0, 0, 170, 128, 5, 0, + 4, 0, 228, 161, 36, 0, + 0, 2, 4, 0, 7, 128, + 0, 0, 228, 128, 8, 0, + 0, 3, 0, 0, 1, 128, + 4, 0, 228, 128, 1, 0, + 228, 128, 2, 0, 0, 3, + 4, 0, 7, 128, 3, 0, + 228, 128, 5, 0, 228, 161, + 2, 0, 0, 3, 3, 0, + 7, 128, 3, 0, 228, 128, + 6, 0, 228, 161, 36, 0, + 0, 2, 5, 0, 7, 128, + 3, 0, 228, 128, 8, 0, + 0, 3, 0, 0, 4, 128, + 5, 0, 228, 128, 1, 0, + 228, 128, 36, 0, 0, 2, + 3, 0, 7, 128, 4, 0, + 228, 128, 8, 0, 0, 3, + 0, 0, 2, 128, 3, 0, + 228, 128, 1, 0, 228, 128, + 11, 0, 0, 3, 0, 0, + 7, 128, 0, 0, 228, 128, + 25, 0, 0, 160, 5, 0, 0, 3, 0, 0, 7, 128, - 1, 0, 228, 128, 3, 0, - 255, 160, 14, 0, 0, 2, - 0, 0, 1, 128, 0, 0, - 0, 128, 14, 0, 0, 2, - 0, 0, 2, 128, 0, 0, - 85, 128, 14, 0, 0, 2, - 0, 0, 4, 128, 0, 0, + 2, 0, 228, 128, 0, 0, + 228, 128, 15, 0, 0, 2, + 1, 0, 1, 128, 0, 0, + 0, 128, 15, 0, 0, 2, + 1, 0, 2, 128, 0, 0, + 85, 128, 15, 0, 0, 2, + 1, 0, 4, 128, 0, 0, 170, 128, 5, 0, 0, 3, - 1, 0, 7, 128, 0, 0, - 85, 128, 11, 0, 228, 160, + 0, 0, 7, 128, 1, 0, + 228, 128, 3, 0, 255, 160, + 14, 0, 0, 2, 0, 0, + 1, 128, 0, 0, 0, 128, + 14, 0, 0, 2, 0, 0, + 2, 128, 0, 0, 85, 128, + 14, 0, 0, 2, 0, 0, + 4, 128, 0, 0, 170, 128, + 5, 0, 0, 3, 1, 0, + 7, 128, 0, 0, 85, 128, + 11, 0, 228, 160, 4, 0, + 0, 4, 0, 0, 11, 128, + 0, 0, 0, 128, 10, 0, + 164, 160, 1, 0, 164, 128, 4, 0, 0, 4, 0, 0, - 11, 128, 0, 0, 0, 128, - 10, 0, 164, 160, 1, 0, - 164, 128, 4, 0, 0, 4, - 0, 0, 7, 128, 0, 0, - 170, 128, 12, 0, 228, 160, - 0, 0, 244, 128, 5, 0, - 0, 3, 1, 0, 7, 224, - 0, 0, 228, 128, 3, 0, - 228, 160, 9, 0, 0, 3, - 0, 0, 4, 192, 0, 0, - 228, 144, 23, 0, 228, 160, + 7, 128, 0, 0, 170, 128, + 12, 0, 228, 160, 0, 0, + 244, 128, 5, 0, 0, 3, + 1, 0, 7, 224, 0, 0, + 228, 128, 3, 0, 228, 160, 9, 0, 0, 3, 0, 0, - 1, 128, 0, 0, 228, 144, - 14, 0, 228, 160, 11, 0, + 4, 192, 0, 0, 228, 144, + 23, 0, 228, 160, 9, 0, 0, 3, 0, 0, 1, 128, - 0, 0, 0, 128, 25, 0, - 0, 160, 10, 0, 0, 3, - 1, 0, 8, 224, 0, 0, - 0, 128, 25, 0, 85, 160, - 9, 0, 0, 3, 0, 0, - 1, 128, 0, 0, 228, 144, - 21, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 2, 128, - 0, 0, 228, 144, 22, 0, + 0, 0, 228, 144, 14, 0, + 228, 160, 11, 0, 0, 3, + 0, 0, 1, 128, 0, 0, + 0, 128, 25, 0, 0, 160, + 10, 0, 0, 3, 1, 0, + 8, 224, 0, 0, 0, 128, + 25, 0, 85, 160, 9, 0, + 0, 3, 0, 0, 1, 128, + 0, 0, 228, 144, 21, 0, 228, 160, 9, 0, 0, 3, - 0, 0, 4, 128, 0, 0, - 228, 144, 24, 0, 228, 160, - 4, 0, 0, 4, 0, 0, - 3, 192, 0, 0, 170, 128, - 0, 0, 228, 160, 0, 0, - 228, 128, 1, 0, 0, 2, - 0, 0, 8, 192, 0, 0, - 170, 128, 1, 0, 0, 2, - 0, 0, 8, 224, 1, 0, - 255, 160, 1, 0, 0, 2, - 2, 0, 3, 224, 2, 0, - 228, 144, 255, 255, 0, 0, - 83, 72, 68, 82, 244, 6, - 0, 0, 64, 0, 1, 0, - 189, 1, 0, 0, 89, 0, - 0, 4, 70, 142, 32, 0, - 0, 0, 0, 0, 26, 0, - 0, 0, 95, 0, 0, 3, - 242, 16, 16, 0, 0, 0, - 0, 0, 95, 0, 0, 3, - 114, 16, 16, 0, 1, 0, - 0, 0, 95, 0, 0, 3, - 50, 16, 16, 0, 2, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 0, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 1, 0, - 0, 0, 101, 0, 0, 3, - 50, 32, 16, 0, 2, 0, - 0, 0, 103, 0, 0, 4, - 242, 32, 16, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 104, 0, 0, 2, 5, 0, + 0, 0, 2, 128, 0, 0, + 228, 144, 22, 0, 228, 160, + 9, 0, 0, 3, 0, 0, + 4, 128, 0, 0, 228, 144, + 24, 0, 228, 160, 4, 0, + 0, 4, 0, 0, 3, 192, + 0, 0, 170, 128, 0, 0, + 228, 160, 0, 0, 228, 128, + 1, 0, 0, 2, 0, 0, + 8, 192, 0, 0, 170, 128, + 1, 0, 0, 2, 0, 0, + 8, 224, 1, 0, 255, 160, + 1, 0, 0, 2, 2, 0, + 3, 224, 2, 0, 228, 144, + 255, 255, 0, 0, 83, 72, + 68, 82, 244, 6, 0, 0, + 64, 0, 1, 0, 189, 1, + 0, 0, 89, 0, 0, 4, + 70, 142, 32, 0, 0, 0, + 0, 0, 26, 0, 0, 0, + 95, 0, 0, 3, 242, 16, + 16, 0, 0, 0, 0, 0, + 95, 0, 0, 3, 114, 16, + 16, 0, 1, 0, 0, 0, + 95, 0, 0, 3, 50, 16, + 16, 0, 2, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 0, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 1, 0, 0, 0, + 101, 0, 0, 3, 50, 32, + 16, 0, 2, 0, 0, 0, + 103, 0, 0, 4, 242, 32, + 16, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 104, 0, + 0, 2, 5, 0, 0, 0, + 16, 0, 0, 8, 18, 0, + 16, 0, 0, 0, 0, 0, + 70, 18, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 19, 0, 0, 0, 16, 0, 0, 8, - 18, 0, 16, 0, 0, 0, + 34, 0, 16, 0, 0, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, - 19, 0, 0, 0, 16, 0, - 0, 8, 34, 0, 16, 0, + 20, 0, 0, 0, 16, 0, + 0, 8, 66, 0, 16, 0, 0, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, 0, 0, - 0, 0, 20, 0, 0, 0, - 16, 0, 0, 8, 66, 0, + 0, 0, 21, 0, 0, 0, + 16, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, - 70, 18, 16, 0, 1, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 21, 0, - 0, 0, 16, 0, 0, 7, - 130, 0, 16, 0, 0, 0, + 70, 2, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 70, 2, + 0, 0, 0, 0, 68, 0, + 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, - 68, 0, 0, 5, 130, 0, + 56, 0, 0, 7, 114, 0, 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 0, 0, - 0, 0, 246, 15, 16, 0, - 0, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 16, 0, 0, 9, 18, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 16, 0, + 0, 9, 18, 0, 16, 0, + 1, 0, 0, 0, 70, 130, + 32, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 16, 0, + 0, 9, 34, 0, 16, 0, + 1, 0, 0, 0, 70, 130, + 32, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 16, 0, + 0, 9, 66, 0, 16, 0, + 1, 0, 0, 0, 70, 130, + 32, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 29, 0, + 0, 10, 114, 0, 16, 0, + 2, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, - 70, 130, 32, 128, 65, 0, + 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 16, 0, 0, 9, 34, 0, - 16, 0, 1, 0, 0, 0, - 70, 130, 32, 128, 65, 0, 0, 0, 0, 0, 0, 0, - 4, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 16, 0, 0, 9, 66, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 128, 63, + 0, 0, 128, 63, 0, 0, + 128, 63, 0, 0, 0, 0, + 56, 0, 0, 7, 114, 0, 16, 0, 1, 0, 0, 0, - 70, 130, 32, 128, 65, 0, - 0, 0, 0, 0, 0, 0, - 5, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 29, 0, 0, 10, 114, 0, - 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, 1, 0, - 0, 0, 2, 64, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 10, 114, 0, 16, 0, - 2, 0, 0, 0, 70, 2, - 16, 0, 2, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 128, 63, 0, 0, 128, 63, - 0, 0, 128, 63, 0, 0, - 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 2, 0, 0, 0, - 56, 0, 0, 8, 114, 0, - 16, 0, 3, 0, 0, 0, - 86, 5, 16, 0, 1, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 7, 0, - 0, 0, 50, 0, 0, 10, - 178, 0, 16, 0, 1, 0, - 0, 0, 6, 0, 16, 0, - 1, 0, 0, 0, 70, 136, - 32, 0, 0, 0, 0, 0, - 6, 0, 0, 0, 70, 8, - 16, 0, 3, 0, 0, 0, - 50, 0, 0, 10, 114, 0, - 16, 0, 1, 0, 0, 0, - 166, 10, 16, 0, 1, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 8, 0, - 0, 0, 70, 3, 16, 0, - 1, 0, 0, 0, 50, 0, - 0, 11, 114, 32, 16, 0, - 0, 0, 0, 0, 70, 2, + 2, 0, 0, 0, 56, 0, + 0, 8, 114, 0, 16, 0, + 3, 0, 0, 0, 86, 5, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 50, 0, 0, 10, 178, 0, + 16, 0, 1, 0, 0, 0, + 6, 0, 16, 0, 1, 0, + 0, 0, 70, 136, 32, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 70, 8, 16, 0, + 3, 0, 0, 0, 50, 0, + 0, 10, 114, 0, 16, 0, + 1, 0, 0, 0, 166, 10, + 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 54, 0, 0, 6, 130, 32, + 0, 0, 8, 0, 0, 0, + 70, 3, 16, 0, 1, 0, + 0, 0, 50, 0, 0, 11, + 114, 32, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 54, 0, + 0, 6, 130, 32, 16, 0, + 0, 0, 0, 0, 58, 128, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 17, 0, + 0, 8, 18, 0, 16, 0, + 1, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, - 58, 128, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 17, 0, 0, 8, 18, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 17, 0, 0, 8, 34, 0, 16, 0, 1, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 15, 0, + 0, 0, 0, 0, 16, 0, 0, 0, 17, 0, 0, 8, - 34, 0, 16, 0, 1, 0, + 66, 0, 16, 0, 1, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 16, 0, 0, 0, 17, 0, - 0, 8, 66, 0, 16, 0, - 1, 0, 0, 0, 70, 30, - 16, 0, 0, 0, 0, 0, - 70, 142, 32, 0, 0, 0, - 0, 0, 17, 0, 0, 0, - 0, 0, 0, 9, 114, 0, + 17, 0, 0, 0, 0, 0, + 0, 9, 114, 0, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 128, 65, 0, 0, 0, + 1, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 12, 0, 0, 0, 16, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, - 70, 2, 16, 128, 65, 0, - 0, 0, 1, 0, 0, 0, - 70, 130, 32, 0, 0, 0, - 0, 0, 12, 0, 0, 0, - 16, 0, 0, 7, 130, 0, - 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 1, 0, + 0, 0, 68, 0, 0, 5, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 50, 0, + 0, 11, 114, 0, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 16, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 68, 0, + 3, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, - 0, 0, 0, 0, 58, 0, - 16, 0, 0, 0, 0, 0, - 50, 0, 0, 11, 114, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 56, 0, 0, 7, 114, 0, 16, 0, 3, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 246, 15, 16, 0, - 0, 0, 0, 0, 70, 130, - 32, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 16, 0, 0, 7, - 130, 0, 16, 0, 1, 0, + 246, 15, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 16, 0, + 0, 7, 18, 0, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 3, 0, 0, 0, - 68, 0, 0, 5, 130, 0, - 16, 0, 1, 0, 0, 0, - 58, 0, 16, 0, 1, 0, - 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 3, 0, - 0, 0, 246, 15, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 3, 0, 0, 0, - 16, 0, 0, 7, 18, 0, - 16, 0, 3, 0, 0, 0, - 70, 2, 16, 0, 3, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 50, 0, 0, 11, + 114, 0, 16, 0, 4, 0, 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 50, 0, + 1, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 70, 130, 32, 128, 65, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 50, 0, 0, 11, 114, 0, 16, 0, - 4, 0, 0, 0, 70, 2, + 1, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, 70, 130, 32, 128, 65, 0, 0, 0, 0, 0, - 0, 0, 4, 0, 0, 0, - 50, 0, 0, 11, 114, 0, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 246, 15, 16, 0, - 0, 0, 0, 0, 70, 130, - 32, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 5, 0, + 0, 0, 5, 0, 0, 0, + 16, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 68, 0, + 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 56, 0, 0, 7, 114, 0, + 16, 0, 4, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 16, 0, + 0, 7, 34, 0, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 0, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, - 4, 0, 0, 0, 70, 2, - 16, 0, 4, 0, 0, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 4, 0, + 114, 0, 16, 0, 1, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, 70, 2, - 16, 0, 4, 0, 0, 0, - 16, 0, 0, 7, 34, 0, - 16, 0, 3, 0, 0, 0, - 70, 2, 16, 0, 4, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 16, 0, - 0, 7, 130, 0, 16, 0, - 0, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, + 16, 0, 0, 7, 66, 0, + 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 1, 0, - 0, 0, 68, 0, 0, 5, - 130, 0, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, - 1, 0, 0, 0, 246, 15, - 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 16, 0, 0, 7, - 66, 0, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 52, 0, 0, 10, 114, 0, - 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 3, 0, - 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 52, 0, + 0, 10, 114, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, - 0, 0, 0, 0, 70, 2, - 16, 0, 2, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 47, 0, 0, 5, + 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 8, 114, 0, 16, 0, - 0, 0, 0, 0, 70, 2, + 2, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, - 246, 143, 32, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 25, 0, 0, 5, 114, 0, + 47, 0, 0, 5, 114, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 56, 0, 0, 8, - 114, 0, 16, 0, 1, 0, - 0, 0, 86, 5, 16, 0, - 0, 0, 0, 0, 70, 130, - 32, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 50, 0, - 0, 10, 178, 0, 16, 0, - 0, 0, 0, 0, 6, 0, - 16, 0, 0, 0, 0, 0, - 70, 136, 32, 0, 0, 0, - 0, 0, 9, 0, 0, 0, - 70, 8, 16, 0, 1, 0, - 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, 0, 0, - 0, 0, 166, 10, 16, 0, - 0, 0, 0, 0, 70, 130, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 246, 143, 32, 0, 0, 0, 0, 0, - 11, 0, 0, 0, 70, 3, + 2, 0, 0, 0, 25, 0, + 0, 5, 114, 0, 16, 0, + 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, - 56, 0, 0, 8, 114, 32, + 56, 0, 0, 8, 114, 0, 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 0, 0, + 86, 5, 16, 0, 0, 0, 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 17, 32, 0, 8, - 130, 32, 16, 0, 1, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 70, 142, + 0, 0, 0, 0, 10, 0, + 0, 0, 50, 0, 0, 10, + 178, 0, 16, 0, 0, 0, + 0, 0, 6, 0, 16, 0, + 0, 0, 0, 0, 70, 136, 32, 0, 0, 0, 0, 0, - 14, 0, 0, 0, 54, 0, - 0, 5, 50, 32, 16, 0, - 2, 0, 0, 0, 70, 16, - 16, 0, 2, 0, 0, 0, - 17, 0, 0, 8, 18, 32, + 9, 0, 0, 0, 70, 8, + 16, 0, 1, 0, 0, 0, + 50, 0, 0, 10, 114, 0, + 16, 0, 0, 0, 0, 0, + 166, 10, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 11, 0, + 0, 0, 70, 3, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 8, 114, 32, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 17, 32, 0, 8, 130, 32, + 16, 0, 1, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 14, 0, + 0, 0, 54, 0, 0, 5, + 50, 32, 16, 0, 2, 0, + 0, 0, 70, 16, 16, 0, + 2, 0, 0, 0, 17, 0, + 0, 8, 18, 32, 16, 0, + 3, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 22, 0, 0, 0, + 17, 0, 0, 8, 34, 32, 16, 0, 3, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 22, 0, + 0, 0, 0, 0, 23, 0, 0, 0, 17, 0, 0, 8, - 34, 32, 16, 0, 3, 0, + 66, 32, 16, 0, 3, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 23, 0, 0, 0, 17, 0, - 0, 8, 66, 32, 16, 0, + 24, 0, 0, 0, 17, 0, + 0, 8, 130, 32, 16, 0, 3, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, - 0, 0, 24, 0, 0, 0, - 17, 0, 0, 8, 130, 32, - 16, 0, 3, 0, 0, 0, - 70, 30, 16, 0, 0, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 25, 0, - 0, 0, 62, 0, 0, 1, - 73, 83, 71, 78, 108, 0, + 0, 0, 25, 0, 0, 0, + 62, 0, 0, 1, 73, 83, + 71, 78, 108, 0, 0, 0, + 3, 0, 0, 0, 8, 0, + 0, 0, 80, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, - 8, 0, 0, 0, 80, 0, + 0, 0, 0, 0, 15, 15, + 0, 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 7, 7, + 0, 0, 99, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 2, 0, 0, 0, 3, 3, + 0, 0, 83, 86, 95, 80, + 111, 115, 105, 116, 105, 111, + 110, 0, 78, 79, 82, 77, + 65, 76, 0, 84, 69, 88, + 67, 79, 79, 82, 68, 0, + 79, 83, 71, 78, 132, 0, + 0, 0, 4, 0, 0, 0, + 8, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, - 15, 15, 0, 0, 92, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 104, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, - 7, 7, 0, 0, 99, 0, + 15, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, - 3, 3, 0, 0, 83, 86, - 95, 80, 111, 115, 105, 116, - 105, 111, 110, 0, 78, 79, - 82, 77, 65, 76, 0, 84, - 69, 88, 67, 79, 79, 82, - 68, 0, 79, 83, 71, 78, - 132, 0, 0, 0, 4, 0, - 0, 0, 8, 0, 0, 0, - 104, 0, 0, 0, 0, 0, + 3, 12, 0, 0, 119, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 104, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 15, 0, 0, 0, - 110, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 3, 12, 0, 0, - 119, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 3, 0, - 0, 0, 15, 0, 0, 0, - 67, 79, 76, 79, 82, 0, - 84, 69, 88, 67, 79, 79, - 82, 68, 0, 83, 86, 95, - 80, 111, 115, 105, 116, 105, - 111, 110, 0, 171 + 1, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 15, 0, 0, 0, 67, 79, + 76, 79, 82, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 83, 86, 95, 80, 111, + 115, 105, 116, 105, 111, 110, + 0, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingTxVc.inc b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingTxVc.inc index d26ebf2b..183879a2 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingTxVc.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingTxVc.inc @@ -43,63 +43,105 @@ // vs_2_0 def c25, 0, 1, 0, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 - dcl_texcoord3 v3 - dp4 r0.x, v0, c15 - dp4 r0.y, v0, c16 - dp4 r0.z, v0, c17 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5,6> + dcl_texcoord2 v2 // vin<7,8> + dcl_texcoord3 v3 // vin<9,10,11,12> + +#line 57 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp4 r0.x, v0, c15 // ::pos_ws<0> + dp4 r0.y, v0, c16 // ::pos_ws<1> + dp4 r0.z, v0, c17 // ::pos_ws<2> add r0.xyz, -r0, c13 - nrm r1.xyz, r0 + nrm r1.xyz, r0 // ::eyeVector<0,1,2> + +#line 33 add r0.xyz, r1, -c4 - nrm r2.xyz, r0 + nrm r2.xyz, r0 // ::halfVectors<0,1,2> + +#line 59 dp3 r0.x, v1, c18 dp3 r0.y, v1, c19 dp3 r0.z, v1, c20 - nrm r3.xyz, r0 - dp3 r0.x, r2, r3 + nrm r3.xyz, r0 // ::worldNormal<0,1,2> + +#line 37 + dp3 r0.x, r2, r3 // ::dotH<0> + +#line 33 add r2.xyz, r1, -c5 add r1.xyz, r1, -c6 - nrm r4.xyz, r1 - dp3 r0.z, r4, r3 - nrm r1.xyz, r2 - dp3 r0.y, r1, r3 + nrm r4.xyz, r1 // ::halfVectors<6,7,8> + +#line 37 + dp3 r0.z, r4, r3 // ::dotH<2> + +#line 33 + nrm r1.xyz, r2 // ::halfVectors<3,4,5> + +#line 37 + dp3 r0.y, r1, r3 // ::dotH<1> + +#line 42 max r0.xyz, r0, c25.x - dp3 r1.x, -c4, r3 - dp3 r1.y, -c5, r3 - dp3 r1.z, -c6, r3 - sge r2.xyz, r1, c25.x - mul r1.xyz, r1, r2 + +#line 36 + dp3 r1.x, -c4, r3 // ::dotL<0> + dp3 r1.y, -c5, r3 // ::dotL<1> + dp3 r1.z, -c6, r3 // ::dotL<2> + +#line 39 + sge r2.xyz, r1, c25.x // ::zeroL<0,1,2> + mul r1.xyz, r1, r2 // ::diffuse<0,1,2> mul r0.xyz, r0, r2 log r2.x, r0.x log r2.y, r0.y log r2.z, r0.z mul r0.xyz, r2, c3.w - exp r0.y, r0.y + exp r0.y, r0.y // ::specular<1> + +#line 47 mul r2.xyz, r0.y, c11 - exp r0.x, r0.x - exp r0.y, r0.z + +#line 42 + exp r0.x, r0.x // ::specular<0> + exp r0.y, r0.z // ::specular<2> + +#line 47 mad r0.xzw, r0.x, c10.xyyz, r2.xyyz mad r0.xyz, r0.y, c12, r0.xzww - mul oT1.xyz, r0, c3 - dp4 oPos.z, v0, c23 + mul oT1.xyz, r0, c3 // ::VSBasicVertexLightingTxVc<4,5,6> + +#line 63 + dp4 oPos.z, v0, c23 // ::VSBasicVertexLightingTxVc<12> + +#line 14 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" dp4 r0.x, v0, c14 max r0.x, r0.x, c25.x - min oT1.w, r0.x, c25.y + min oT1.w, r0.x, c25.y // ::VSBasicVertexLightingTxVc<7> + +#line 46 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" mul r0.xyz, r1.y, c8 mad r0.xyz, r1.x, c7, r0 mad r0.xyz, r1.z, c9, r0 - mov r1.xyz, c1 - mad r0.xyz, r0, r1, c2 - mul oT0.xyz, r0, v3 - mul oT0.w, v3.w, c1.w - dp4 r0.x, v0, c21 - dp4 r0.y, v0, c22 - dp4 r0.z, v0, c24 - mad oPos.xy, r0.z, c0, r0 - mov oPos.w, r0.z - mov oT2.xy, v2 + mov r1.xyz, c1 // Parameters::DiffuseColor<0,1,2> + mad r0.xyz, r0, r1, c2 // ::result<0,1,2> + +#line 202 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mul oT0.xyz, r0, v3 // ::VSBasicVertexLightingTxVc<0,1,2> + mul oT0.w, v3.w, c1.w // ::VSBasicVertexLightingTxVc<3> + +#line 63 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp4 r0.x, v0, c21 // ::vout<0> + dp4 r0.y, v0, c22 // ::vout<1> + dp4 r0.z, v0, c24 // ::vout<3> + +#line 194 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mad oPos.xy, r0.z, c0, r0 // ::VSBasicVertexLightingTxVc<10,11> + mov oPos.w, r0.z // ::VSBasicVertexLightingTxVc<13> + +#line 201 + mov oT2.xy, v2 // ::VSBasicVertexLightingTxVc<8,9> // approximately 63 instruction slots used vs_4_0 @@ -173,17 +215,17 @@ ret const BYTE BasicEffect_VSBasicVertexLightingTxVc[] = { - 68, 88, 66, 67, 172, 92, - 161, 128, 77, 17, 34, 173, - 170, 124, 195, 216, 46, 216, - 135, 106, 1, 0, 0, 0, - 80, 12, 0, 0, 4, 0, + 68, 88, 66, 67, 210, 196, + 69, 235, 174, 230, 252, 142, + 74, 169, 9, 49, 0, 169, + 138, 236, 1, 0, 0, 0, + 40, 20, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 4, 4, 0, 0, 48, 11, - 0, 0, 196, 11, 0, 0, - 65, 111, 110, 57, 204, 3, - 0, 0, 204, 3, 0, 0, - 0, 2, 254, 255, 128, 3, + 220, 11, 0, 0, 8, 19, + 0, 0, 156, 19, 0, 0, + 65, 111, 110, 57, 164, 11, + 0, 0, 164, 11, 0, 0, + 0, 2, 254, 255, 88, 11, 0, 0, 76, 0, 0, 0, 3, 0, 36, 0, 0, 0, 72, 0, 0, 0, 72, 0, @@ -195,508 +237,842 @@ const BYTE BasicEffect_VSBasicVertexLightingTxVc[] = 0, 0, 0, 0, 19, 0, 7, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 81, 0, - 0, 5, 25, 0, 15, 160, + 0, 2, 254, 255, 254, 255, + 245, 1, 68, 66, 85, 71, + 40, 0, 0, 0, 168, 7, 0, 0, 0, 0, 0, 0, - 128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 1, 128, - 1, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 2, 128, - 2, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 3, 128, - 3, 0, 15, 144, 9, 0, - 0, 3, 0, 0, 1, 128, - 0, 0, 228, 144, 15, 0, - 228, 160, 9, 0, 0, 3, - 0, 0, 2, 128, 0, 0, - 228, 144, 16, 0, 228, 160, + 3, 0, 0, 0, 4, 1, + 0, 0, 58, 0, 0, 0, + 16, 1, 0, 0, 14, 0, + 0, 0, 144, 6, 0, 0, + 20, 3, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 76, 105, + 103, 104, 116, 105, 110, 103, + 46, 102, 120, 104, 0, 67, + 58, 92, 65, 84, 71, 32, + 83, 97, 109, 112, 108, 101, + 32, 68, 101, 118, 101, 108, + 111, 112, 109, 101, 110, 116, + 92, 115, 116, 95, 100, 101, + 118, 92, 75, 105, 116, 115, + 92, 68, 105, 114, 101, 99, + 116, 88, 84, 75, 92, 83, + 114, 99, 92, 83, 104, 97, + 100, 101, 114, 115, 92, 67, + 111, 109, 109, 111, 110, 46, + 102, 120, 104, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 66, 97, + 115, 105, 99, 69, 102, 102, + 101, 99, 116, 46, 102, 120, + 0, 171, 40, 0, 0, 0, + 113, 0, 0, 0, 184, 0, + 0, 0, 0, 0, 255, 255, + 220, 7, 0, 0, 0, 0, + 255, 255, 244, 7, 0, 0, + 0, 0, 255, 255, 0, 8, + 0, 0, 0, 0, 255, 255, + 12, 8, 0, 0, 0, 0, + 255, 255, 24, 8, 0, 0, + 57, 0, 0, 0, 36, 8, + 0, 0, 57, 0, 0, 0, + 52, 8, 0, 0, 57, 0, + 0, 0, 68, 8, 0, 0, + 58, 0, 0, 0, 84, 8, + 0, 0, 58, 0, 0, 0, + 100, 8, 0, 0, 33, 0, + 0, 0, 112, 8, 0, 0, + 33, 0, 0, 0, 128, 8, + 0, 0, 59, 0, 0, 0, + 140, 8, 0, 0, 59, 0, + 0, 0, 156, 8, 0, 0, + 59, 0, 0, 0, 172, 8, + 0, 0, 59, 0, 0, 0, + 188, 8, 0, 0, 37, 0, + 0, 0, 200, 8, 0, 0, + 33, 0, 0, 0, 216, 8, + 0, 0, 33, 0, 0, 0, + 232, 8, 0, 0, 33, 0, + 0, 0, 248, 8, 0, 0, + 37, 0, 0, 0, 4, 9, + 0, 0, 33, 0, 0, 0, + 20, 9, 0, 0, 37, 0, + 0, 0, 32, 9, 0, 0, + 42, 0, 0, 0, 48, 9, + 0, 0, 36, 0, 0, 0, + 64, 9, 0, 0, 36, 0, + 0, 0, 80, 9, 0, 0, + 36, 0, 0, 0, 96, 9, + 0, 0, 39, 0, 0, 0, + 112, 9, 0, 0, 41, 0, + 0, 0, 128, 9, 0, 0, + 42, 0, 0, 0, 144, 9, + 0, 0, 42, 0, 0, 0, + 160, 9, 0, 0, 42, 0, + 0, 0, 172, 9, 0, 0, + 42, 0, 0, 0, 184, 9, + 0, 0, 42, 0, 0, 0, + 196, 9, 0, 0, 42, 0, + 0, 0, 212, 9, 0, 0, + 47, 0, 0, 0, 224, 9, + 0, 0, 42, 0, 0, 0, + 240, 9, 0, 0, 42, 0, + 0, 0, 252, 9, 0, 0, + 47, 0, 0, 0, 8, 10, + 0, 0, 47, 0, 0, 0, + 28, 10, 0, 0, 47, 0, + 0, 0, 48, 10, 0, 0, + 63, 0, 0, 0, 64, 10, + 0, 0, 14, 0, 1, 0, + 80, 10, 0, 0, 14, 0, + 1, 0, 96, 10, 0, 0, + 14, 0, 1, 0, 112, 10, + 0, 0, 46, 0, 0, 0, + 128, 10, 0, 0, 46, 0, + 0, 0, 144, 10, 0, 0, + 46, 0, 0, 0, 164, 10, + 0, 0, 46, 0, 0, 0, + 184, 10, 0, 0, 46, 0, + 0, 0, 196, 10, 0, 0, + 202, 0, 2, 0, 216, 10, + 0, 0, 202, 0, 2, 0, + 232, 10, 0, 0, 63, 0, + 0, 0, 248, 10, 0, 0, + 63, 0, 0, 0, 8, 11, + 0, 0, 63, 0, 0, 0, + 24, 11, 0, 0, 194, 0, + 2, 0, 40, 11, 0, 0, + 194, 0, 2, 0, 60, 11, + 0, 0, 201, 0, 2, 0, + 72, 11, 0, 0, 80, 97, + 114, 97, 109, 101, 116, 101, + 114, 115, 0, 68, 105, 102, + 102, 117, 115, 101, 67, 111, + 108, 111, 114, 0, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 48, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 86, 83, 66, 97, + 115, 105, 99, 86, 101, 114, + 116, 101, 120, 76, 105, 103, + 104, 116, 105, 110, 103, 84, + 120, 86, 99, 0, 68, 105, + 102, 102, 117, 115, 101, 0, + 171, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 83, 112, 101, 99, 117, 108, + 97, 114, 0, 84, 101, 120, + 67, 111, 111, 114, 100, 0, + 171, 171, 1, 0, 3, 0, + 1, 0, 2, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 80, 111, 115, 105, 116, 105, + 111, 110, 80, 83, 0, 171, + 46, 3, 0, 0, 56, 3, + 0, 0, 72, 3, 0, 0, + 56, 3, 0, 0, 81, 3, + 0, 0, 92, 3, 0, 0, + 108, 3, 0, 0, 56, 3, + 0, 0, 5, 0, 0, 0, + 1, 0, 14, 0, 1, 0, + 4, 0, 120, 3, 0, 0, + 40, 0, 0, 0, 4, 0, + 5, 0, 6, 0, 255, 255, + 41, 0, 0, 0, 255, 255, + 255, 255, 12, 0, 255, 255, + 44, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 7, 0, + 50, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 51, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 3, 0, + 55, 0, 0, 0, 10, 0, + 11, 0, 255, 255, 255, 255, + 56, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 13, 0, + 57, 0, 0, 0, 8, 0, + 9, 0, 255, 255, 255, 255, + 100, 105, 102, 102, 117, 115, + 101, 0, 1, 0, 3, 0, + 1, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 28, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 100, 111, 116, 72, 0, 171, + 171, 171, 16, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 20, 0, 0, 0, + 255, 255, 255, 255, 2, 0, + 255, 255, 22, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 100, 111, 116, 76, + 0, 171, 171, 171, 24, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 25, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 26, 0, + 0, 0, 255, 255, 255, 255, + 2, 0, 255, 255, 101, 121, + 101, 86, 101, 99, 116, 111, + 114, 0, 171, 171, 9, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 104, 97, + 108, 102, 86, 101, 99, 116, + 111, 114, 115, 0, 3, 0, + 3, 0, 3, 0, 3, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 11, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 19, 0, 0, 0, + 6, 0, 7, 0, 8, 0, + 255, 255, 21, 0, 0, 0, + 3, 0, 4, 0, 5, 0, + 255, 255, 112, 111, 115, 95, + 119, 115, 0, 171, 5, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 6, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 7, 0, + 0, 0, 255, 255, 255, 255, + 2, 0, 255, 255, 114, 101, + 115, 117, 108, 116, 0, 171, + 46, 3, 0, 0, 16, 4, + 0, 0, 72, 3, 0, 0, + 16, 4, 0, 0, 5, 0, + 0, 0, 1, 0, 6, 0, + 1, 0, 2, 0, 16, 5, + 0, 0, 49, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 115, 112, 101, 99, + 117, 108, 97, 114, 0, 171, + 171, 171, 34, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 36, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 37, 0, 0, 0, + 255, 255, 2, 0, 255, 255, + 255, 255, 118, 105, 110, 0, + 80, 111, 115, 105, 116, 105, + 111, 110, 0, 78, 111, 114, + 109, 97, 108, 0, 67, 111, + 108, 111, 114, 0, 171, 171, + 112, 5, 0, 0, 56, 3, + 0, 0, 121, 5, 0, 0, + 16, 4, 0, 0, 81, 3, + 0, 0, 92, 3, 0, 0, + 128, 5, 0, 0, 56, 3, + 0, 0, 5, 0, 0, 0, + 1, 0, 13, 0, 1, 0, + 4, 0, 136, 5, 0, 0, + 1, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 2, 0, 0, 0, 4, 0, + 5, 0, 6, 0, 255, 255, + 3, 0, 0, 0, 7, 0, + 8, 0, 255, 255, 255, 255, + 4, 0, 0, 0, 9, 0, + 10, 0, 11, 0, 12, 0, + 118, 111, 117, 116, 0, 80, + 111, 115, 95, 112, 115, 0, + 70, 111, 103, 70, 97, 99, + 116, 111, 114, 0, 171, 171, + 0, 0, 3, 0, 1, 0, + 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 237, 5, + 0, 0, 56, 3, 0, 0, + 46, 3, 0, 0, 56, 3, + 0, 0, 72, 3, 0, 0, + 16, 4, 0, 0, 244, 5, + 0, 0, 0, 6, 0, 0, + 5, 0, 0, 0, 1, 0, + 12, 0, 1, 0, 4, 0, + 16, 6, 0, 0, 52, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 53, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 54, 0, + 0, 0, 255, 255, 255, 255, + 3, 0, 255, 255, 119, 111, + 114, 108, 100, 78, 111, 114, + 109, 97, 108, 0, 15, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 122, 101, + 114, 111, 76, 0, 171, 171, + 27, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 224, 2, 0, 0, 235, 2, + 0, 0, 248, 2, 0, 0, + 1, 0, 0, 0, 8, 3, + 0, 0, 0, 0, 0, 0, + 20, 3, 0, 0, 152, 3, + 0, 0, 8, 0, 0, 0, + 168, 3, 0, 0, 0, 0, + 0, 0, 8, 4, 0, 0, + 16, 4, 0, 0, 1, 0, + 0, 0, 32, 4, 0, 0, + 0, 0, 0, 0, 44, 4, + 0, 0, 16, 4, 0, 0, + 3, 0, 0, 0, 52, 4, + 0, 0, 0, 0, 0, 0, + 88, 4, 0, 0, 16, 4, + 0, 0, 3, 0, 0, 0, + 96, 4, 0, 0, 0, 0, + 0, 0, 132, 4, 0, 0, + 16, 4, 0, 0, 1, 0, + 0, 0, 144, 4, 0, 0, + 0, 0, 0, 0, 156, 4, + 0, 0, 168, 4, 0, 0, + 3, 0, 0, 0, 184, 4, + 0, 0, 0, 0, 0, 0, + 220, 4, 0, 0, 56, 3, + 0, 0, 3, 0, 0, 0, + 228, 4, 0, 0, 0, 0, + 0, 0, 8, 5, 0, 0, + 32, 5, 0, 0, 1, 0, + 0, 0, 48, 5, 0, 0, + 0, 0, 0, 0, 60, 5, + 0, 0, 16, 4, 0, 0, + 3, 0, 0, 0, 72, 5, + 0, 0, 20, 3, 0, 0, + 108, 5, 0, 0, 168, 5, + 0, 0, 4, 0, 0, 0, + 184, 5, 0, 0, 0, 0, + 0, 0, 232, 5, 0, 0, + 48, 6, 0, 0, 3, 0, + 0, 0, 64, 6, 0, 0, + 0, 0, 0, 0, 100, 6, + 0, 0, 16, 4, 0, 0, + 1, 0, 0, 0, 112, 6, + 0, 0, 0, 0, 0, 0, + 124, 6, 0, 0, 16, 4, + 0, 0, 1, 0, 0, 0, + 132, 6, 0, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 81, 0, 0, 5, + 25, 0, 15, 160, 0, 0, + 0, 0, 0, 0, 128, 63, + 0, 0, 0, 0, 0, 0, + 0, 0, 31, 0, 0, 2, + 5, 0, 0, 128, 0, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 1, 128, 1, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 2, 128, 2, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 3, 128, 3, 0, + 15, 144, 9, 0, 0, 3, + 0, 0, 1, 128, 0, 0, + 228, 144, 15, 0, 228, 160, 9, 0, 0, 3, 0, 0, - 4, 128, 0, 0, 228, 144, - 17, 0, 228, 160, 2, 0, - 0, 3, 0, 0, 7, 128, - 0, 0, 228, 129, 13, 0, - 228, 160, 36, 0, 0, 2, - 1, 0, 7, 128, 0, 0, - 228, 128, 2, 0, 0, 3, - 0, 0, 7, 128, 1, 0, - 228, 128, 4, 0, 228, 161, - 36, 0, 0, 2, 2, 0, + 2, 128, 0, 0, 228, 144, + 16, 0, 228, 160, 9, 0, + 0, 3, 0, 0, 4, 128, + 0, 0, 228, 144, 17, 0, + 228, 160, 2, 0, 0, 3, + 0, 0, 7, 128, 0, 0, + 228, 129, 13, 0, 228, 160, + 36, 0, 0, 2, 1, 0, 7, 128, 0, 0, 228, 128, - 8, 0, 0, 3, 0, 0, - 1, 128, 1, 0, 228, 144, - 18, 0, 228, 160, 8, 0, - 0, 3, 0, 0, 2, 128, - 1, 0, 228, 144, 19, 0, + 2, 0, 0, 3, 0, 0, + 7, 128, 1, 0, 228, 128, + 4, 0, 228, 161, 36, 0, + 0, 2, 2, 0, 7, 128, + 0, 0, 228, 128, 8, 0, + 0, 3, 0, 0, 1, 128, + 1, 0, 228, 144, 18, 0, 228, 160, 8, 0, 0, 3, - 0, 0, 4, 128, 1, 0, - 228, 144, 20, 0, 228, 160, - 36, 0, 0, 2, 3, 0, - 7, 128, 0, 0, 228, 128, + 0, 0, 2, 128, 1, 0, + 228, 144, 19, 0, 228, 160, 8, 0, 0, 3, 0, 0, - 1, 128, 2, 0, 228, 128, - 3, 0, 228, 128, 2, 0, - 0, 3, 2, 0, 7, 128, - 1, 0, 228, 128, 5, 0, - 228, 161, 2, 0, 0, 3, - 1, 0, 7, 128, 1, 0, - 228, 128, 6, 0, 228, 161, - 36, 0, 0, 2, 4, 0, + 4, 128, 1, 0, 228, 144, + 20, 0, 228, 160, 36, 0, + 0, 2, 3, 0, 7, 128, + 0, 0, 228, 128, 8, 0, + 0, 3, 0, 0, 1, 128, + 2, 0, 228, 128, 3, 0, + 228, 128, 2, 0, 0, 3, + 2, 0, 7, 128, 1, 0, + 228, 128, 5, 0, 228, 161, + 2, 0, 0, 3, 1, 0, 7, 128, 1, 0, 228, 128, - 8, 0, 0, 3, 0, 0, - 4, 128, 4, 0, 228, 128, - 3, 0, 228, 128, 36, 0, - 0, 2, 1, 0, 7, 128, - 2, 0, 228, 128, 8, 0, - 0, 3, 0, 0, 2, 128, - 1, 0, 228, 128, 3, 0, - 228, 128, 11, 0, 0, 3, - 0, 0, 7, 128, 0, 0, - 228, 128, 25, 0, 0, 160, - 8, 0, 0, 3, 1, 0, - 1, 128, 4, 0, 228, 161, - 3, 0, 228, 128, 8, 0, - 0, 3, 1, 0, 2, 128, - 5, 0, 228, 161, 3, 0, + 6, 0, 228, 161, 36, 0, + 0, 2, 4, 0, 7, 128, + 1, 0, 228, 128, 8, 0, + 0, 3, 0, 0, 4, 128, + 4, 0, 228, 128, 3, 0, + 228, 128, 36, 0, 0, 2, + 1, 0, 7, 128, 2, 0, 228, 128, 8, 0, 0, 3, - 1, 0, 4, 128, 6, 0, + 0, 0, 2, 128, 1, 0, + 228, 128, 3, 0, 228, 128, + 11, 0, 0, 3, 0, 0, + 7, 128, 0, 0, 228, 128, + 25, 0, 0, 160, 8, 0, + 0, 3, 1, 0, 1, 128, + 4, 0, 228, 161, 3, 0, + 228, 128, 8, 0, 0, 3, + 1, 0, 2, 128, 5, 0, 228, 161, 3, 0, 228, 128, - 13, 0, 0, 3, 2, 0, - 7, 128, 1, 0, 228, 128, - 25, 0, 0, 160, 5, 0, - 0, 3, 1, 0, 7, 128, - 1, 0, 228, 128, 2, 0, - 228, 128, 5, 0, 0, 3, - 0, 0, 7, 128, 0, 0, + 8, 0, 0, 3, 1, 0, + 4, 128, 6, 0, 228, 161, + 3, 0, 228, 128, 13, 0, + 0, 3, 2, 0, 7, 128, + 1, 0, 228, 128, 25, 0, + 0, 160, 5, 0, 0, 3, + 1, 0, 7, 128, 1, 0, 228, 128, 2, 0, 228, 128, - 15, 0, 0, 2, 2, 0, - 1, 128, 0, 0, 0, 128, - 15, 0, 0, 2, 2, 0, - 2, 128, 0, 0, 85, 128, - 15, 0, 0, 2, 2, 0, - 4, 128, 0, 0, 170, 128, 5, 0, 0, 3, 0, 0, - 7, 128, 2, 0, 228, 128, - 3, 0, 255, 160, 14, 0, - 0, 2, 0, 0, 2, 128, - 0, 0, 85, 128, 5, 0, - 0, 3, 2, 0, 7, 128, - 0, 0, 85, 128, 11, 0, - 228, 160, 14, 0, 0, 2, - 0, 0, 1, 128, 0, 0, - 0, 128, 14, 0, 0, 2, + 7, 128, 0, 0, 228, 128, + 2, 0, 228, 128, 15, 0, + 0, 2, 2, 0, 1, 128, + 0, 0, 0, 128, 15, 0, + 0, 2, 2, 0, 2, 128, + 0, 0, 85, 128, 15, 0, + 0, 2, 2, 0, 4, 128, + 0, 0, 170, 128, 5, 0, + 0, 3, 0, 0, 7, 128, + 2, 0, 228, 128, 3, 0, + 255, 160, 14, 0, 0, 2, 0, 0, 2, 128, 0, 0, - 170, 128, 4, 0, 0, 4, - 0, 0, 13, 128, 0, 0, - 0, 128, 10, 0, 148, 160, - 2, 0, 148, 128, 4, 0, - 0, 4, 0, 0, 7, 128, - 0, 0, 85, 128, 12, 0, - 228, 160, 0, 0, 248, 128, - 5, 0, 0, 3, 1, 0, - 7, 224, 0, 0, 228, 128, - 3, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 4, 192, - 0, 0, 228, 144, 23, 0, - 228, 160, 9, 0, 0, 3, - 0, 0, 1, 128, 0, 0, - 228, 144, 14, 0, 228, 160, - 11, 0, 0, 3, 0, 0, + 85, 128, 5, 0, 0, 3, + 2, 0, 7, 128, 0, 0, + 85, 128, 11, 0, 228, 160, + 14, 0, 0, 2, 0, 0, 1, 128, 0, 0, 0, 128, - 25, 0, 0, 160, 10, 0, - 0, 3, 1, 0, 8, 224, - 0, 0, 0, 128, 25, 0, - 85, 160, 5, 0, 0, 3, - 0, 0, 7, 128, 1, 0, - 85, 128, 8, 0, 228, 160, + 14, 0, 0, 2, 0, 0, + 2, 128, 0, 0, 170, 128, 4, 0, 0, 4, 0, 0, - 7, 128, 1, 0, 0, 128, - 7, 0, 228, 160, 0, 0, - 228, 128, 4, 0, 0, 4, - 0, 0, 7, 128, 1, 0, - 170, 128, 9, 0, 228, 160, - 0, 0, 228, 128, 1, 0, - 0, 2, 1, 0, 7, 128, - 1, 0, 228, 160, 4, 0, - 0, 4, 0, 0, 7, 128, - 0, 0, 228, 128, 1, 0, - 228, 128, 2, 0, 228, 160, - 5, 0, 0, 3, 0, 0, - 7, 224, 0, 0, 228, 128, - 3, 0, 228, 144, 5, 0, - 0, 3, 0, 0, 8, 224, - 3, 0, 255, 144, 1, 0, - 255, 160, 9, 0, 0, 3, - 0, 0, 1, 128, 0, 0, - 228, 144, 21, 0, 228, 160, + 13, 128, 0, 0, 0, 128, + 10, 0, 148, 160, 2, 0, + 148, 128, 4, 0, 0, 4, + 0, 0, 7, 128, 0, 0, + 85, 128, 12, 0, 228, 160, + 0, 0, 248, 128, 5, 0, + 0, 3, 1, 0, 7, 224, + 0, 0, 228, 128, 3, 0, + 228, 160, 9, 0, 0, 3, + 0, 0, 4, 192, 0, 0, + 228, 144, 23, 0, 228, 160, 9, 0, 0, 3, 0, 0, - 2, 128, 0, 0, 228, 144, - 22, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 4, 128, - 0, 0, 228, 144, 24, 0, + 1, 128, 0, 0, 228, 144, + 14, 0, 228, 160, 11, 0, + 0, 3, 0, 0, 1, 128, + 0, 0, 0, 128, 25, 0, + 0, 160, 10, 0, 0, 3, + 1, 0, 8, 224, 0, 0, + 0, 128, 25, 0, 85, 160, + 5, 0, 0, 3, 0, 0, + 7, 128, 1, 0, 85, 128, + 8, 0, 228, 160, 4, 0, + 0, 4, 0, 0, 7, 128, + 1, 0, 0, 128, 7, 0, + 228, 160, 0, 0, 228, 128, + 4, 0, 0, 4, 0, 0, + 7, 128, 1, 0, 170, 128, + 9, 0, 228, 160, 0, 0, + 228, 128, 1, 0, 0, 2, + 1, 0, 7, 128, 1, 0, 228, 160, 4, 0, 0, 4, - 0, 0, 3, 192, 0, 0, - 170, 128, 0, 0, 228, 160, - 0, 0, 228, 128, 1, 0, - 0, 2, 0, 0, 8, 192, - 0, 0, 170, 128, 1, 0, - 0, 2, 2, 0, 3, 224, - 2, 0, 228, 144, 255, 255, - 0, 0, 83, 72, 68, 82, - 36, 7, 0, 0, 64, 0, - 1, 0, 201, 1, 0, 0, - 89, 0, 0, 4, 70, 142, + 0, 0, 7, 128, 0, 0, + 228, 128, 1, 0, 228, 128, + 2, 0, 228, 160, 5, 0, + 0, 3, 0, 0, 7, 224, + 0, 0, 228, 128, 3, 0, + 228, 144, 5, 0, 0, 3, + 0, 0, 8, 224, 3, 0, + 255, 144, 1, 0, 255, 160, + 9, 0, 0, 3, 0, 0, + 1, 128, 0, 0, 228, 144, + 21, 0, 228, 160, 9, 0, + 0, 3, 0, 0, 2, 128, + 0, 0, 228, 144, 22, 0, + 228, 160, 9, 0, 0, 3, + 0, 0, 4, 128, 0, 0, + 228, 144, 24, 0, 228, 160, + 4, 0, 0, 4, 0, 0, + 3, 192, 0, 0, 170, 128, + 0, 0, 228, 160, 0, 0, + 228, 128, 1, 0, 0, 2, + 0, 0, 8, 192, 0, 0, + 170, 128, 1, 0, 0, 2, + 2, 0, 3, 224, 2, 0, + 228, 144, 255, 255, 0, 0, + 83, 72, 68, 82, 36, 7, + 0, 0, 64, 0, 1, 0, + 201, 1, 0, 0, 89, 0, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 26, 0, + 0, 0, 95, 0, 0, 3, + 242, 16, 16, 0, 0, 0, + 0, 0, 95, 0, 0, 3, + 114, 16, 16, 0, 1, 0, + 0, 0, 95, 0, 0, 3, + 50, 16, 16, 0, 2, 0, + 0, 0, 95, 0, 0, 3, + 242, 16, 16, 0, 3, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 0, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 1, 0, + 0, 0, 101, 0, 0, 3, + 50, 32, 16, 0, 2, 0, + 0, 0, 103, 0, 0, 4, + 242, 32, 16, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 104, 0, 0, 2, 5, 0, + 0, 0, 16, 0, 0, 8, + 18, 0, 16, 0, 0, 0, + 0, 0, 70, 18, 16, 0, + 1, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, - 26, 0, 0, 0, 95, 0, - 0, 3, 242, 16, 16, 0, - 0, 0, 0, 0, 95, 0, - 0, 3, 114, 16, 16, 0, - 1, 0, 0, 0, 95, 0, - 0, 3, 50, 16, 16, 0, - 2, 0, 0, 0, 95, 0, - 0, 3, 242, 16, 16, 0, - 3, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 0, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 50, 32, 16, 0, - 2, 0, 0, 0, 103, 0, - 0, 4, 242, 32, 16, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 104, 0, 0, 2, - 5, 0, 0, 0, 16, 0, - 0, 8, 18, 0, 16, 0, + 19, 0, 0, 0, 16, 0, + 0, 8, 34, 0, 16, 0, 0, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, 0, 0, - 0, 0, 19, 0, 0, 0, - 16, 0, 0, 8, 34, 0, + 0, 0, 20, 0, 0, 0, + 16, 0, 0, 8, 66, 0, 16, 0, 0, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 20, 0, - 0, 0, 16, 0, 0, 8, - 66, 0, 16, 0, 0, 0, - 0, 0, 70, 18, 16, 0, - 1, 0, 0, 0, 70, 130, - 32, 0, 0, 0, 0, 0, - 21, 0, 0, 0, 16, 0, - 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 21, 0, + 0, 0, 16, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 68, 0, 0, 5, - 130, 0, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, - 0, 0, 0, 0, 246, 15, + 68, 0, 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 16, 0, 0, 9, - 18, 0, 16, 0, 1, 0, - 0, 0, 70, 130, 32, 128, - 65, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 16, 0, 0, 9, - 34, 0, 16, 0, 1, 0, - 0, 0, 70, 130, 32, 128, - 65, 0, 0, 0, 0, 0, - 0, 0, 4, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 16, 0, 0, 9, - 66, 0, 16, 0, 1, 0, - 0, 0, 70, 130, 32, 128, - 65, 0, 0, 0, 0, 0, - 0, 0, 5, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 29, 0, 0, 10, - 114, 0, 16, 0, 2, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 2, 64, + 58, 0, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 0, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 16, 0, 0, 9, 18, 0, + 16, 0, 1, 0, 0, 0, + 70, 130, 32, 128, 65, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 16, 0, 0, 9, 34, 0, + 16, 0, 1, 0, 0, 0, + 70, 130, 32, 128, 65, 0, 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 16, 0, 0, 9, 66, 0, + 16, 0, 1, 0, 0, 0, + 70, 130, 32, 128, 65, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 10, 114, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 29, 0, 0, 10, 114, 0, 16, 0, 2, 0, 0, 0, - 70, 2, 16, 0, 2, 0, + 70, 2, 16, 0, 1, 0, 0, 0, 2, 64, 0, 0, - 0, 0, 128, 63, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 10, 114, 0, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, - 0, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, + 0, 0, 128, 63, 0, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, 70, 2, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 2, 0, - 0, 0, 56, 0, 0, 8, - 114, 0, 16, 0, 3, 0, - 0, 0, 86, 5, 16, 0, - 1, 0, 0, 0, 70, 130, - 32, 0, 0, 0, 0, 0, - 7, 0, 0, 0, 50, 0, - 0, 10, 178, 0, 16, 0, - 1, 0, 0, 0, 6, 0, - 16, 0, 1, 0, 0, 0, - 70, 136, 32, 0, 0, 0, - 0, 0, 6, 0, 0, 0, - 70, 8, 16, 0, 3, 0, + 16, 0, 2, 0, 0, 0, + 56, 0, 0, 8, 114, 0, + 16, 0, 3, 0, 0, 0, + 86, 5, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 7, 0, 0, 0, 50, 0, 0, 10, - 114, 0, 16, 0, 1, 0, - 0, 0, 166, 10, 16, 0, - 1, 0, 0, 0, 70, 130, + 178, 0, 16, 0, 1, 0, + 0, 0, 6, 0, 16, 0, + 1, 0, 0, 0, 70, 136, 32, 0, 0, 0, 0, 0, - 8, 0, 0, 0, 70, 3, - 16, 0, 1, 0, 0, 0, - 50, 0, 0, 11, 114, 0, + 6, 0, 0, 0, 70, 8, + 16, 0, 3, 0, 0, 0, + 50, 0, 0, 10, 114, 0, 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 1, 0, + 166, 10, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 8, 0, + 0, 0, 70, 3, 16, 0, + 1, 0, 0, 0, 50, 0, + 0, 11, 114, 0, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 70, 130, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 56, 0, 0, 7, - 114, 32, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 70, 18, - 16, 0, 3, 0, 0, 0, - 56, 0, 0, 8, 130, 32, + 70, 130, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 56, 0, 0, 7, 114, 32, 16, 0, 0, 0, 0, 0, - 58, 16, 16, 0, 3, 0, - 0, 0, 58, 128, 32, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 70, 18, 16, 0, + 3, 0, 0, 0, 56, 0, + 0, 8, 130, 32, 16, 0, + 0, 0, 0, 0, 58, 16, + 16, 0, 3, 0, 0, 0, + 58, 128, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 17, 0, 0, 8, 18, 0, + 16, 0, 1, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 15, 0, 0, 0, 17, 0, 0, 8, - 18, 0, 16, 0, 1, 0, + 34, 0, 16, 0, 1, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 17, 0, - 0, 8, 34, 0, 16, 0, + 16, 0, 0, 0, 17, 0, + 0, 8, 66, 0, 16, 0, 1, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, - 0, 0, 16, 0, 0, 0, - 17, 0, 0, 8, 66, 0, - 16, 0, 1, 0, 0, 0, - 70, 30, 16, 0, 0, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 17, 0, - 0, 0, 0, 0, 0, 9, - 114, 0, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 128, - 65, 0, 0, 0, 1, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 12, 0, - 0, 0, 16, 0, 0, 7, - 130, 0, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 70, 2, + 0, 0, 17, 0, 0, 0, + 0, 0, 0, 9, 114, 0, 16, 0, 1, 0, 0, 0, - 68, 0, 0, 5, 130, 0, + 70, 2, 16, 128, 65, 0, + 0, 0, 1, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 12, 0, 0, 0, + 16, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 50, 0, 0, 11, - 114, 0, 16, 0, 3, 0, + 70, 2, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 246, 15, + 1, 0, 0, 0, 68, 0, + 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, - 70, 130, 32, 128, 65, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 16, 0, - 0, 7, 130, 0, 16, 0, - 1, 0, 0, 0, 70, 2, + 50, 0, 0, 11, 114, 0, 16, 0, 3, 0, 0, 0, - 70, 2, 16, 0, 3, 0, - 0, 0, 68, 0, 0, 5, + 70, 2, 16, 0, 1, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 70, 130, + 32, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 1, 0, - 0, 0, 58, 0, 16, 0, - 1, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, - 3, 0, 0, 0, 246, 15, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 68, 0, 0, 5, 130, 0, 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 3, 0, + 0, 0, 246, 15, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, + 16, 0, 0, 7, 18, 0, + 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 3, 0, - 0, 0, 16, 0, 0, 7, - 18, 0, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, - 3, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, + 0, 11, 114, 0, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, 50, 0, 0, 11, 114, 0, - 16, 0, 4, 0, 0, 0, + 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, 70, 130, 32, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 4, 0, - 0, 0, 50, 0, 0, 11, - 114, 0, 16, 0, 1, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 16, 0, 0, 7, + 130, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 246, 15, + 4, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 68, 0, 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, - 70, 130, 32, 128, 65, 0, - 0, 0, 0, 0, 0, 0, - 5, 0, 0, 0, 16, 0, - 0, 7, 130, 0, 16, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 4, 0, + 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, + 16, 0, 0, 7, 34, 0, + 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 16, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 1, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, - 4, 0, 0, 0, 246, 15, + 1, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 4, 0, + 70, 2, 16, 0, 1, 0, 0, 0, 16, 0, 0, 7, - 34, 0, 16, 0, 3, 0, + 66, 0, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, - 4, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 16, 0, 0, 7, 130, 0, + 1, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 68, 0, - 0, 5, 130, 0, 16, 0, - 0, 0, 0, 0, 58, 0, + 52, 0, 0, 10, 114, 0, 16, 0, 0, 0, 0, 0, - 56, 0, 0, 7, 114, 0, - 16, 0, 1, 0, 0, 0, - 246, 15, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 16, 0, - 0, 7, 66, 0, 16, 0, - 3, 0, 0, 0, 70, 2, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 52, 0, 0, 10, - 114, 0, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 3, 0, 0, 0, 2, 64, - 0, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 56, 0, 0, 7, 114, 0, - 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 2, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 47, 0, - 0, 5, 114, 0, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, 0, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 56, 0, 0, 8, 114, 0, - 16, 0, 0, 0, 0, 0, + 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, 0, 0, - 0, 0, 246, 143, 32, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 25, 0, 0, 5, + 0, 0, 47, 0, 0, 5, 114, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 56, 0, 0, 8, 114, 0, 16, 0, - 1, 0, 0, 0, 86, 5, - 16, 0, 0, 0, 0, 0, - 70, 130, 32, 0, 0, 0, - 0, 0, 10, 0, 0, 0, - 50, 0, 0, 10, 178, 0, + 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, - 6, 0, 16, 0, 0, 0, - 0, 0, 70, 136, 32, 0, - 0, 0, 0, 0, 9, 0, - 0, 0, 70, 8, 16, 0, - 1, 0, 0, 0, 50, 0, - 0, 10, 114, 0, 16, 0, - 0, 0, 0, 0, 166, 10, + 246, 143, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 25, 0, 0, 5, 114, 0, 16, 0, 0, 0, 0, 0, - 70, 130, 32, 0, 0, 0, - 0, 0, 11, 0, 0, 0, - 70, 3, 16, 0, 0, 0, + 70, 2, 16, 0, 0, 0, 0, 0, 56, 0, 0, 8, - 114, 32, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, + 114, 0, 16, 0, 1, 0, + 0, 0, 86, 5, 16, 0, 0, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 17, 32, - 0, 8, 130, 32, 16, 0, - 1, 0, 0, 0, 70, 30, + 10, 0, 0, 0, 50, 0, + 0, 10, 178, 0, 16, 0, + 0, 0, 0, 0, 6, 0, 16, 0, 0, 0, 0, 0, - 70, 142, 32, 0, 0, 0, - 0, 0, 14, 0, 0, 0, - 54, 0, 0, 5, 50, 32, + 70, 136, 32, 0, 0, 0, + 0, 0, 9, 0, 0, 0, + 70, 8, 16, 0, 1, 0, + 0, 0, 50, 0, 0, 10, + 114, 0, 16, 0, 0, 0, + 0, 0, 166, 10, 16, 0, + 0, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 11, 0, 0, 0, 70, 3, + 16, 0, 0, 0, 0, 0, + 56, 0, 0, 8, 114, 32, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 17, 32, 0, 8, + 130, 32, 16, 0, 1, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 14, 0, 0, 0, 54, 0, + 0, 5, 50, 32, 16, 0, + 2, 0, 0, 0, 70, 16, 16, 0, 2, 0, 0, 0, - 70, 16, 16, 0, 2, 0, + 17, 0, 0, 8, 18, 32, + 16, 0, 3, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 22, 0, 0, 0, 17, 0, 0, 8, - 18, 32, 16, 0, 3, 0, + 34, 32, 16, 0, 3, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 22, 0, 0, 0, 17, 0, - 0, 8, 34, 32, 16, 0, + 23, 0, 0, 0, 17, 0, + 0, 8, 66, 32, 16, 0, 3, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, - 0, 0, 23, 0, 0, 0, - 17, 0, 0, 8, 66, 32, + 0, 0, 24, 0, 0, 0, + 17, 0, 0, 8, 130, 32, 16, 0, 3, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 24, 0, - 0, 0, 17, 0, 0, 8, - 130, 32, 16, 0, 3, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 70, 142, - 32, 0, 0, 0, 0, 0, - 25, 0, 0, 0, 62, 0, - 0, 1, 73, 83, 71, 78, - 140, 0, 0, 0, 4, 0, - 0, 0, 8, 0, 0, 0, - 104, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 15, 0, 0, - 116, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 7, 7, 0, 0, - 123, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 3, 3, 0, 0, - 132, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 3, 0, - 0, 0, 15, 15, 0, 0, - 83, 86, 95, 80, 111, 115, - 105, 116, 105, 111, 110, 0, - 78, 79, 82, 77, 65, 76, - 0, 84, 69, 88, 67, 79, - 79, 82, 68, 0, 67, 79, - 76, 79, 82, 0, 171, 171, - 79, 83, 71, 78, 132, 0, + 0, 0, 0, 0, 25, 0, + 0, 0, 62, 0, 0, 1, + 73, 83, 71, 78, 140, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 104, 0, - 0, 0, 1, 0, 0, 0, + 15, 15, 0, 0, 116, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, - 15, 0, 0, 0, 110, 0, + 7, 7, 0, 0, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, - 3, 12, 0, 0, 119, 0, + 3, 3, 0, 0, 132, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 15, 15, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 78, 79, + 82, 77, 65, 76, 0, 84, + 69, 88, 67, 79, 79, 82, + 68, 0, 67, 79, 76, 79, + 82, 0, 171, 171, 79, 83, + 71, 78, 132, 0, 0, 0, + 4, 0, 0, 0, 8, 0, + 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, - 15, 0, 0, 0, 67, 79, - 76, 79, 82, 0, 84, 69, - 88, 67, 79, 79, 82, 68, - 0, 83, 86, 95, 80, 111, - 115, 105, 116, 105, 111, 110, - 0, 171 + 0, 0, 0, 0, 15, 0, + 0, 0, 104, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 15, 0, + 0, 0, 110, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 2, 0, 0, 0, 3, 12, + 0, 0, 119, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 15, 0, + 0, 0, 67, 79, 76, 79, + 82, 0, 84, 69, 88, 67, + 79, 79, 82, 68, 0, 83, + 86, 95, 80, 111, 115, 105, + 116, 105, 111, 110, 0, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingVc.inc b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingVc.inc index 17a65302..f8590887 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingVc.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/BasicEffect_VSBasicVertexLightingVc.inc @@ -41,61 +41,101 @@ // vs_2_0 def c25, 0, 1, 0, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 - dp4 r0.x, v0, c15 - dp4 r0.y, v0, c16 - dp4 r0.z, v0, c17 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5,6> + dcl_texcoord2 v2 // vin<7,8,9,10> + +#line 57 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp4 r0.x, v0, c15 // ::pos_ws<0> + dp4 r0.y, v0, c16 // ::pos_ws<1> + dp4 r0.z, v0, c17 // ::pos_ws<2> add r0.xyz, -r0, c13 - nrm r1.xyz, r0 + nrm r1.xyz, r0 // ::eyeVector<0,1,2> + +#line 33 add r0.xyz, r1, -c4 - nrm r2.xyz, r0 + nrm r2.xyz, r0 // ::halfVectors<0,1,2> + +#line 59 dp3 r0.x, v1, c18 dp3 r0.y, v1, c19 dp3 r0.z, v1, c20 - nrm r3.xyz, r0 - dp3 r0.x, r2, r3 + nrm r3.xyz, r0 // ::worldNormal<0,1,2> + +#line 37 + dp3 r0.x, r2, r3 // ::dotH<0> + +#line 33 add r2.xyz, r1, -c5 add r1.xyz, r1, -c6 - nrm r4.xyz, r1 - dp3 r0.z, r4, r3 - nrm r1.xyz, r2 - dp3 r0.y, r1, r3 + nrm r4.xyz, r1 // ::halfVectors<6,7,8> + +#line 37 + dp3 r0.z, r4, r3 // ::dotH<2> + +#line 33 + nrm r1.xyz, r2 // ::halfVectors<3,4,5> + +#line 37 + dp3 r0.y, r1, r3 // ::dotH<1> + +#line 42 max r0.xyz, r0, c25.x - dp3 r1.x, -c4, r3 - dp3 r1.y, -c5, r3 - dp3 r1.z, -c6, r3 - sge r2.xyz, r1, c25.x - mul r1.xyz, r1, r2 + +#line 36 + dp3 r1.x, -c4, r3 // ::dotL<0> + dp3 r1.y, -c5, r3 // ::dotL<1> + dp3 r1.z, -c6, r3 // ::dotL<2> + +#line 39 + sge r2.xyz, r1, c25.x // ::zeroL<0,1,2> + mul r1.xyz, r1, r2 // ::diffuse<0,1,2> mul r0.xyz, r0, r2 log r2.x, r0.x log r2.y, r0.y log r2.z, r0.z mul r0.xyz, r2, c3.w - exp r0.y, r0.y + exp r0.y, r0.y // ::specular<1> + +#line 47 mul r2.xyz, r0.y, c11 - exp r0.x, r0.x - exp r0.y, r0.z + +#line 42 + exp r0.x, r0.x // ::specular<0> + exp r0.y, r0.z // ::specular<2> + +#line 47 mad r0.xzw, r0.x, c10.xyyz, r2.xyyz mad r0.xyz, r0.y, c12, r0.xzww - mul oT1.xyz, r0, c3 - dp4 oPos.z, v0, c23 + mul oT1.xyz, r0, c3 // ::VSBasicVertexLightingVc<4,5,6> + +#line 63 + dp4 oPos.z, v0, c23 // ::VSBasicVertexLightingVc<10> + +#line 14 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" dp4 r0.x, v0, c14 max r0.x, r0.x, c25.x - min oT1.w, r0.x, c25.y + min oT1.w, r0.x, c25.y // ::VSBasicVertexLightingVc<7> + +#line 46 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" mul r0.xyz, r1.y, c8 mad r0.xyz, r1.x, c7, r0 mad r0.xyz, r1.z, c9, r0 - mov r1.xyz, c1 - mad r0.xyz, r0, r1, c2 - mul oT0.xyz, r0, v2 - mul oT0.w, v2.w, c1.w - dp4 r0.x, v0, c21 - dp4 r0.y, v0, c22 - dp4 r0.z, v0, c24 - mad oPos.xy, r0.z, c0, r0 - mov oPos.w, r0.z + mov r1.xyz, c1 // Parameters::DiffuseColor<0,1,2> + mad r0.xyz, r0, r1, c2 // ::result<0,1,2> + +#line 173 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mul oT0.xyz, r0, v2 // ::VSBasicVertexLightingVc<0,1,2> + mul oT0.w, v2.w, c1.w // ::VSBasicVertexLightingVc<3> + +#line 63 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp4 r0.x, v0, c21 // ::vout<0> + dp4 r0.y, v0, c22 // ::vout<1> + dp4 r0.z, v0, c24 // ::vout<3> + +#line 166 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\BasicEffect.fx" + mad oPos.xy, r0.z, c0, r0 // ::VSBasicVertexLightingVc<8,9> + mov oPos.w, r0.z // ::VSBasicVertexLightingVc<11> // approximately 62 instruction slots used vs_4_0 @@ -166,17 +206,17 @@ ret const BYTE BasicEffect_VSBasicVertexLightingVc[] = { - 68, 88, 66, 67, 92, 146, - 63, 46, 34, 123, 33, 120, - 42, 40, 45, 83, 123, 166, - 131, 218, 1, 0, 0, 0, - 204, 11, 0, 0, 4, 0, + 68, 88, 66, 67, 226, 181, + 114, 107, 244, 208, 151, 98, + 45, 197, 123, 238, 12, 60, + 225, 221, 1, 0, 0, 0, + 76, 19, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 236, 3, 0, 0, 236, 10, - 0, 0, 96, 11, 0, 0, - 65, 111, 110, 57, 180, 3, - 0, 0, 180, 3, 0, 0, - 0, 2, 254, 255, 104, 3, + 108, 11, 0, 0, 108, 18, + 0, 0, 224, 18, 0, 0, + 65, 111, 110, 57, 52, 11, + 0, 0, 52, 11, 0, 0, + 0, 2, 254, 255, 232, 10, 0, 0, 76, 0, 0, 0, 3, 0, 36, 0, 0, 0, 72, 0, 0, 0, 72, 0, @@ -188,7 +228,327 @@ const BYTE BasicEffect_VSBasicVertexLightingVc[] = 0, 0, 0, 0, 19, 0, 7, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 81, 0, + 0, 2, 254, 255, 254, 255, + 223, 1, 68, 66, 85, 71, + 40, 0, 0, 0, 80, 7, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 4, 1, + 0, 0, 56, 0, 0, 0, + 16, 1, 0, 0, 14, 0, + 0, 0, 56, 6, 0, 0, + 4, 3, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 76, 105, + 103, 104, 116, 105, 110, 103, + 46, 102, 120, 104, 0, 67, + 58, 92, 65, 84, 71, 32, + 83, 97, 109, 112, 108, 101, + 32, 68, 101, 118, 101, 108, + 111, 112, 109, 101, 110, 116, + 92, 115, 116, 95, 100, 101, + 118, 92, 75, 105, 116, 115, + 92, 68, 105, 114, 101, 99, + 116, 88, 84, 75, 92, 83, + 114, 99, 92, 83, 104, 97, + 100, 101, 114, 115, 92, 67, + 111, 109, 109, 111, 110, 46, + 102, 120, 104, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 66, 97, + 115, 105, 99, 69, 102, 102, + 101, 99, 116, 46, 102, 120, + 0, 171, 40, 0, 0, 0, + 113, 0, 0, 0, 184, 0, + 0, 0, 0, 0, 255, 255, + 132, 7, 0, 0, 0, 0, + 255, 255, 156, 7, 0, 0, + 0, 0, 255, 255, 168, 7, + 0, 0, 0, 0, 255, 255, + 180, 7, 0, 0, 57, 0, + 0, 0, 192, 7, 0, 0, + 57, 0, 0, 0, 208, 7, + 0, 0, 57, 0, 0, 0, + 224, 7, 0, 0, 58, 0, + 0, 0, 240, 7, 0, 0, + 58, 0, 0, 0, 0, 8, + 0, 0, 33, 0, 0, 0, + 12, 8, 0, 0, 33, 0, + 0, 0, 28, 8, 0, 0, + 59, 0, 0, 0, 40, 8, + 0, 0, 59, 0, 0, 0, + 56, 8, 0, 0, 59, 0, + 0, 0, 72, 8, 0, 0, + 59, 0, 0, 0, 88, 8, + 0, 0, 37, 0, 0, 0, + 100, 8, 0, 0, 33, 0, + 0, 0, 116, 8, 0, 0, + 33, 0, 0, 0, 132, 8, + 0, 0, 33, 0, 0, 0, + 148, 8, 0, 0, 37, 0, + 0, 0, 160, 8, 0, 0, + 33, 0, 0, 0, 176, 8, + 0, 0, 37, 0, 0, 0, + 188, 8, 0, 0, 42, 0, + 0, 0, 204, 8, 0, 0, + 36, 0, 0, 0, 220, 8, + 0, 0, 36, 0, 0, 0, + 236, 8, 0, 0, 36, 0, + 0, 0, 252, 8, 0, 0, + 39, 0, 0, 0, 12, 9, + 0, 0, 41, 0, 0, 0, + 28, 9, 0, 0, 42, 0, + 0, 0, 44, 9, 0, 0, + 42, 0, 0, 0, 60, 9, + 0, 0, 42, 0, 0, 0, + 72, 9, 0, 0, 42, 0, + 0, 0, 84, 9, 0, 0, + 42, 0, 0, 0, 96, 9, + 0, 0, 42, 0, 0, 0, + 112, 9, 0, 0, 47, 0, + 0, 0, 124, 9, 0, 0, + 42, 0, 0, 0, 140, 9, + 0, 0, 42, 0, 0, 0, + 152, 9, 0, 0, 47, 0, + 0, 0, 164, 9, 0, 0, + 47, 0, 0, 0, 184, 9, + 0, 0, 47, 0, 0, 0, + 204, 9, 0, 0, 63, 0, + 0, 0, 220, 9, 0, 0, + 14, 0, 1, 0, 236, 9, + 0, 0, 14, 0, 1, 0, + 252, 9, 0, 0, 14, 0, + 1, 0, 12, 10, 0, 0, + 46, 0, 0, 0, 28, 10, + 0, 0, 46, 0, 0, 0, + 44, 10, 0, 0, 46, 0, + 0, 0, 64, 10, 0, 0, + 46, 0, 0, 0, 84, 10, + 0, 0, 46, 0, 0, 0, + 96, 10, 0, 0, 173, 0, + 2, 0, 116, 10, 0, 0, + 173, 0, 2, 0, 132, 10, + 0, 0, 63, 0, 0, 0, + 148, 10, 0, 0, 63, 0, + 0, 0, 164, 10, 0, 0, + 63, 0, 0, 0, 180, 10, + 0, 0, 166, 0, 2, 0, + 196, 10, 0, 0, 166, 0, + 2, 0, 216, 10, 0, 0, + 80, 97, 114, 97, 109, 101, + 116, 101, 114, 115, 0, 68, + 105, 102, 102, 117, 115, 101, + 67, 111, 108, 111, 114, 0, + 1, 0, 3, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 47, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 86, 83, + 66, 97, 115, 105, 99, 86, + 101, 114, 116, 101, 120, 76, + 105, 103, 104, 116, 105, 110, + 103, 86, 99, 0, 68, 105, + 102, 102, 117, 115, 101, 0, + 1, 0, 3, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 83, 112, + 101, 99, 117, 108, 97, 114, + 0, 80, 111, 115, 105, 116, + 105, 111, 110, 80, 83, 0, + 28, 3, 0, 0, 36, 3, + 0, 0, 52, 3, 0, 0, + 36, 3, 0, 0, 61, 3, + 0, 0, 36, 3, 0, 0, + 5, 0, 0, 0, 1, 0, + 12, 0, 1, 0, 3, 0, + 72, 3, 0, 0, 39, 0, + 0, 0, 4, 0, 5, 0, + 6, 0, 255, 255, 40, 0, + 0, 0, 255, 255, 255, 255, + 10, 0, 255, 255, 43, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 7, 0, 49, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 50, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 3, 0, 54, 0, + 0, 0, 8, 0, 9, 0, + 255, 255, 255, 255, 55, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 11, 0, 100, 105, + 102, 102, 117, 115, 101, 0, + 1, 0, 3, 0, 1, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 27, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 100, 111, + 116, 72, 0, 171, 171, 171, + 15, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 19, 0, 0, 0, 255, 255, + 255, 255, 2, 0, 255, 255, + 21, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 100, 111, 116, 76, 0, 171, + 171, 171, 23, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 24, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 25, 0, 0, 0, + 255, 255, 255, 255, 2, 0, + 255, 255, 101, 121, 101, 86, + 101, 99, 116, 111, 114, 0, + 171, 171, 8, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 104, 97, 108, 102, + 86, 101, 99, 116, 111, 114, + 115, 0, 3, 0, 3, 0, + 3, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 10, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 18, 0, 0, 0, 6, 0, + 7, 0, 8, 0, 255, 255, + 20, 0, 0, 0, 3, 0, + 4, 0, 5, 0, 255, 255, + 112, 111, 115, 95, 119, 115, + 0, 171, 4, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 5, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 6, 0, 0, 0, + 255, 255, 255, 255, 2, 0, + 255, 255, 114, 101, 115, 117, + 108, 116, 0, 171, 28, 3, + 0, 0, 204, 3, 0, 0, + 52, 3, 0, 0, 204, 3, + 0, 0, 5, 0, 0, 0, + 1, 0, 6, 0, 1, 0, + 2, 0, 204, 4, 0, 0, + 48, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 115, 112, 101, 99, 117, 108, + 97, 114, 0, 171, 171, 171, + 33, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 35, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 36, 0, 0, 0, 255, 255, + 2, 0, 255, 255, 255, 255, + 118, 105, 110, 0, 80, 111, + 115, 105, 116, 105, 111, 110, + 0, 78, 111, 114, 109, 97, + 108, 0, 67, 111, 108, 111, + 114, 0, 171, 171, 44, 5, + 0, 0, 36, 3, 0, 0, + 53, 5, 0, 0, 204, 3, + 0, 0, 60, 5, 0, 0, + 36, 3, 0, 0, 5, 0, + 0, 0, 1, 0, 11, 0, + 1, 0, 3, 0, 68, 5, + 0, 0, 1, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 2, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 255, 255, 3, 0, 0, 0, + 7, 0, 8, 0, 9, 0, + 10, 0, 118, 111, 117, 116, + 0, 80, 111, 115, 95, 112, + 115, 0, 70, 111, 103, 70, + 97, 99, 116, 111, 114, 0, + 171, 171, 0, 0, 3, 0, + 1, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 149, 5, 0, 0, 36, 3, + 0, 0, 28, 3, 0, 0, + 36, 3, 0, 0, 52, 3, + 0, 0, 204, 3, 0, 0, + 156, 5, 0, 0, 168, 5, + 0, 0, 5, 0, 0, 0, + 1, 0, 12, 0, 1, 0, + 4, 0, 184, 5, 0, 0, + 51, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 52, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 53, 0, 0, 0, 255, 255, + 255, 255, 3, 0, 255, 255, + 119, 111, 114, 108, 100, 78, + 111, 114, 109, 97, 108, 0, + 14, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 122, 101, 114, 111, 76, 0, + 171, 171, 26, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 208, 2, 0, 0, + 219, 2, 0, 0, 232, 2, + 0, 0, 1, 0, 0, 0, + 248, 2, 0, 0, 0, 0, + 0, 0, 4, 3, 0, 0, + 96, 3, 0, 0, 7, 0, + 0, 0, 112, 3, 0, 0, + 0, 0, 0, 0, 196, 3, + 0, 0, 204, 3, 0, 0, + 1, 0, 0, 0, 220, 3, + 0, 0, 0, 0, 0, 0, + 232, 3, 0, 0, 204, 3, + 0, 0, 3, 0, 0, 0, + 240, 3, 0, 0, 0, 0, + 0, 0, 20, 4, 0, 0, + 204, 3, 0, 0, 3, 0, + 0, 0, 28, 4, 0, 0, + 0, 0, 0, 0, 64, 4, + 0, 0, 204, 3, 0, 0, + 1, 0, 0, 0, 76, 4, + 0, 0, 0, 0, 0, 0, + 88, 4, 0, 0, 100, 4, + 0, 0, 3, 0, 0, 0, + 116, 4, 0, 0, 0, 0, + 0, 0, 152, 4, 0, 0, + 36, 3, 0, 0, 3, 0, + 0, 0, 160, 4, 0, 0, + 0, 0, 0, 0, 196, 4, + 0, 0, 220, 4, 0, 0, + 1, 0, 0, 0, 236, 4, + 0, 0, 0, 0, 0, 0, + 248, 4, 0, 0, 204, 3, + 0, 0, 3, 0, 0, 0, + 4, 5, 0, 0, 4, 3, + 0, 0, 40, 5, 0, 0, + 92, 5, 0, 0, 3, 0, + 0, 0, 108, 5, 0, 0, + 0, 0, 0, 0, 144, 5, + 0, 0, 216, 5, 0, 0, + 3, 0, 0, 0, 232, 5, + 0, 0, 0, 0, 0, 0, + 12, 6, 0, 0, 204, 3, + 0, 0, 1, 0, 0, 0, + 24, 6, 0, 0, 0, 0, + 0, 0, 36, 6, 0, 0, + 204, 3, 0, 0, 1, 0, + 0, 0, 44, 6, 0, 0, + 77, 105, 99, 114, 111, 115, + 111, 102, 116, 32, 40, 82, + 41, 32, 72, 76, 83, 76, + 32, 83, 104, 97, 100, 101, + 114, 32, 67, 111, 109, 112, + 105, 108, 101, 114, 32, 49, + 48, 46, 49, 0, 81, 0, 0, 5, 25, 0, 15, 160, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLEffect_main.inc b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLEffect_main.inc index 25b37816..23ec2d87 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLEffect_main.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLEffect_main.inc @@ -49,30 +49,46 @@ // vs_2_0 def c12, 1, 0, 0, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 - dcl_texcoord3 v3 - dp4 oPos.z, v0, c7 + dcl_texcoord v0 // vertex<0,1,2,3> + dcl_texcoord1 v1 // vertex<4,5,6> + dcl_texcoord2 v2 // vertex<7,8,9,10> + dcl_texcoord3 v3 // vertex<11,12> + +#line 129 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\DGSLEffect.fx" + dp4 oPos.z, v0, c7 // ::main<2> mad r0.xyz, v3.xyxw, c12.xxyw, c12.yyxw - dp3 oT1.x, r0, c9.xyww - dp3 oT1.y, r0, c10.xyww - dp3 oT2.x, v1, c2 - dp3 oT2.y, v1, c3 - dp3 oT2.z, v1, c4 - dp4 r0.x, v0, c2 - dp4 r0.y, v0, c3 - dp4 r0.z, v0, c4 - add oT4.xyz, -r0, c11 - mov oT3.xyz, r0 - dp4 r0.x, v0, c5 - dp4 r0.y, v0, c6 - dp4 r0.z, v0, c8 - mad oPos.xy, r0.z, c0, r0 - mov oPos.w, r0.z - mov oT0, c1 - mov oT5, v2 - mov oT6.xyz, v1 + dp3 oT1.x, r0, c9.xyww // ::main<8> + dp3 oT1.y, r0, c10.xyww // ::main<9> + dp3 oT2.x, v1, c2 // ::main<10> + dp3 oT2.y, v1, c3 // ::main<11> + dp3 oT2.z, v1, c4 // ::main<12> + +#line 126 + dp4 r0.x, v0, c2 // ::wp<0> + dp4 r0.y, v0, c3 // ::wp<1> + dp4 r0.z, v0, c4 // ::wp<2> + +#line 134 + add oT4.xyz, -r0, c11 // ::main<16,17,18> + +#line 126 + mov oT3.xyz, r0 // ::main<13,14,15> + +#line 129 + dp4 r0.x, v0, c5 // ::result<0> + dp4 r0.y, v0, c6 // ::result<1> + dp4 r0.z, v0, c8 // ::result<3> + +#line 122 + mad oPos.xy, r0.z, c0, r0 // ::main<0,1> + mov oPos.w, r0.z // ::main<3> + +#line 130 + mov oT0, c1 // ::main<4,5,6,7> + +#line 135 + mov oT5, v2 // ::main<19,20,21,22> + mov oT6.xyz, v1 // ::main<23,24,25> // approximately 20 instruction slots used vs_4_0 @@ -116,17 +132,17 @@ ret const BYTE DGSLEffect_main[] = { - 68, 88, 66, 67, 186, 106, - 164, 207, 220, 89, 167, 54, - 144, 180, 62, 36, 5, 95, - 42, 136, 1, 0, 0, 0, - 144, 6, 0, 0, 4, 0, + 68, 88, 66, 67, 182, 249, + 107, 54, 68, 156, 189, 16, + 219, 123, 26, 176, 4, 68, + 179, 66, 1, 0, 0, 0, + 124, 10, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 32, 2, 0, 0, 16, 5, - 0, 0, 164, 5, 0, 0, - 65, 111, 110, 57, 232, 1, - 0, 0, 232, 1, 0, 0, - 0, 2, 254, 255, 132, 1, + 12, 6, 0, 0, 252, 8, + 0, 0, 144, 9, 0, 0, + 65, 111, 110, 57, 212, 5, + 0, 0, 212, 5, 0, 0, + 0, 2, 254, 255, 112, 5, 0, 0, 100, 0, 0, 0, 5, 0, 36, 0, 0, 0, 96, 0, 0, 0, 96, 0, @@ -142,258 +158,426 @@ const BYTE DGSLEffect_main[] = 0, 0, 2, 0, 20, 0, 1, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 81, 0, - 0, 5, 12, 0, 15, 160, - 0, 0, 128, 63, 0, 0, + 0, 2, 254, 255, 254, 255, + 250, 0, 68, 66, 85, 71, + 40, 0, 0, 0, 188, 3, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 116, 0, + 0, 0, 25, 0, 0, 0, + 120, 0, 0, 0, 4, 0, + 0, 0, 108, 3, 0, 0, + 64, 1, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 68, 71, + 83, 76, 69, 102, 102, 101, + 99, 116, 46, 102, 120, 0, + 171, 171, 40, 0, 0, 0, + 0, 0, 255, 255, 240, 3, + 0, 0, 0, 0, 255, 255, + 8, 4, 0, 0, 0, 0, + 255, 255, 20, 4, 0, 0, + 0, 0, 255, 255, 32, 4, + 0, 0, 0, 0, 255, 255, + 44, 4, 0, 0, 129, 0, + 0, 0, 56, 4, 0, 0, + 131, 0, 0, 0, 72, 4, + 0, 0, 131, 0, 0, 0, + 92, 4, 0, 0, 131, 0, + 0, 0, 108, 4, 0, 0, + 132, 0, 0, 0, 124, 4, + 0, 0, 132, 0, 0, 0, + 140, 4, 0, 0, 132, 0, + 0, 0, 156, 4, 0, 0, + 126, 0, 0, 0, 172, 4, + 0, 0, 126, 0, 0, 0, + 188, 4, 0, 0, 126, 0, + 0, 0, 204, 4, 0, 0, + 134, 0, 0, 0, 220, 4, + 0, 0, 126, 0, 0, 0, + 236, 4, 0, 0, 129, 0, + 0, 0, 248, 4, 0, 0, + 129, 0, 0, 0, 8, 5, + 0, 0, 129, 0, 0, 0, + 24, 5, 0, 0, 122, 0, + 0, 0, 40, 5, 0, 0, + 122, 0, 0, 0, 60, 5, + 0, 0, 130, 0, 0, 0, + 72, 5, 0, 0, 135, 0, + 0, 0, 84, 5, 0, 0, + 136, 0, 0, 0, 96, 5, + 0, 0, 109, 97, 105, 110, + 0, 112, 111, 115, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 1, 128, - 1, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 2, 128, - 2, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 3, 128, - 3, 0, 15, 144, 9, 0, - 0, 3, 0, 0, 4, 192, - 0, 0, 228, 144, 7, 0, - 228, 160, 4, 0, 0, 4, - 0, 0, 7, 128, 3, 0, - 196, 144, 12, 0, 208, 160, - 12, 0, 197, 160, 8, 0, - 0, 3, 1, 0, 1, 224, - 0, 0, 228, 128, 9, 0, + 100, 105, 102, 102, 117, 115, + 101, 0, 117, 118, 0, 171, + 1, 0, 3, 0, 1, 0, + 2, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 119, 111, + 114, 108, 100, 78, 111, 114, + 109, 0, 171, 171, 1, 0, + 3, 0, 1, 0, 3, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 119, 111, 114, 108, + 100, 80, 111, 115, 0, 116, + 111, 69, 121, 101, 0, 116, + 97, 110, 103, 101, 110, 116, + 0, 110, 111, 114, 109, 97, + 108, 0, 171, 171, 69, 1, + 0, 0, 76, 1, 0, 0, + 92, 1, 0, 0, 76, 1, + 0, 0, 100, 1, 0, 0, + 104, 1, 0, 0, 120, 1, + 0, 0, 132, 1, 0, 0, + 148, 1, 0, 0, 132, 1, + 0, 0, 157, 1, 0, 0, + 132, 1, 0, 0, 163, 1, + 0, 0, 76, 1, 0, 0, + 171, 1, 0, 0, 132, 1, + 0, 0, 5, 0, 0, 0, + 1, 0, 26, 0, 1, 0, + 8, 0, 180, 1, 0, 0, + 5, 0, 0, 0, 255, 255, + 255, 255, 2, 0, 255, 255, + 7, 0, 0, 0, 8, 0, + 255, 255, 255, 255, 255, 255, + 8, 0, 0, 0, 255, 255, + 9, 0, 255, 255, 255, 255, + 9, 0, 0, 0, 10, 0, + 255, 255, 255, 255, 255, 255, + 10, 0, 0, 0, 255, 255, + 11, 0, 255, 255, 255, 255, + 11, 0, 0, 0, 255, 255, + 255, 255, 12, 0, 255, 255, + 15, 0, 0, 0, 16, 0, + 17, 0, 18, 0, 255, 255, + 16, 0, 0, 0, 13, 0, + 14, 0, 15, 0, 255, 255, + 20, 0, 0, 0, 0, 0, + 1, 0, 255, 255, 255, 255, + 21, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 3, 0, + 22, 0, 0, 0, 4, 0, + 5, 0, 6, 0, 7, 0, + 23, 0, 0, 0, 19, 0, + 20, 0, 21, 0, 22, 0, + 24, 0, 0, 0, 23, 0, + 24, 0, 25, 0, 255, 255, + 114, 101, 115, 117, 108, 116, + 0, 171, 5, 0, 0, 0, + 1, 0, 26, 0, 1, 0, + 8, 0, 180, 1, 0, 0, + 17, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 18, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 19, 0, 0, 0, 255, 255, + 255, 255, 3, 0, 255, 255, + 118, 101, 114, 116, 101, 120, + 0, 171, 69, 1, 0, 0, + 76, 1, 0, 0, 171, 1, + 0, 0, 132, 1, 0, 0, + 163, 1, 0, 0, 76, 1, + 0, 0, 100, 1, 0, 0, + 104, 1, 0, 0, 5, 0, + 0, 0, 1, 0, 13, 0, + 1, 0, 4, 0, 228, 2, + 0, 0, 1, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 2, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 255, 255, 3, 0, 0, 0, + 7, 0, 8, 0, 9, 0, + 10, 0, 4, 0, 0, 0, + 11, 0, 12, 0, 255, 255, + 255, 255, 119, 112, 0, 171, + 12, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 13, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 14, 0, 0, 0, 255, 255, + 255, 255, 2, 0, 255, 255, + 0, 0, 0, 0, 64, 1, + 0, 0, 244, 1, 0, 0, + 13, 0, 0, 0, 4, 2, + 0, 0, 0, 0, 0, 0, + 160, 2, 0, 0, 168, 2, + 0, 0, 3, 0, 0, 0, + 184, 2, 0, 0, 64, 1, + 0, 0, 220, 2, 0, 0, + 4, 3, 0, 0, 4, 0, + 0, 0, 20, 3, 0, 0, + 0, 0, 0, 0, 68, 3, + 0, 0, 132, 1, 0, 0, + 3, 0, 0, 0, 72, 3, + 0, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 81, 0, 0, 5, 12, 0, + 15, 160, 0, 0, 128, 63, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 31, 0, 0, 2, 5, 0, + 0, 128, 0, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 1, 128, 1, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 2, 128, 2, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 3, 128, 3, 0, 15, 144, + 9, 0, 0, 3, 0, 0, + 4, 192, 0, 0, 228, 144, + 7, 0, 228, 160, 4, 0, + 0, 4, 0, 0, 7, 128, + 3, 0, 196, 144, 12, 0, + 208, 160, 12, 0, 197, 160, + 8, 0, 0, 3, 1, 0, + 1, 224, 0, 0, 228, 128, + 9, 0, 244, 160, 8, 0, + 0, 3, 1, 0, 2, 224, + 0, 0, 228, 128, 10, 0, 244, 160, 8, 0, 0, 3, - 1, 0, 2, 224, 0, 0, - 228, 128, 10, 0, 244, 160, + 2, 0, 1, 224, 1, 0, + 228, 144, 2, 0, 228, 160, 8, 0, 0, 3, 2, 0, - 1, 224, 1, 0, 228, 144, - 2, 0, 228, 160, 8, 0, - 0, 3, 2, 0, 2, 224, - 1, 0, 228, 144, 3, 0, - 228, 160, 8, 0, 0, 3, - 2, 0, 4, 224, 1, 0, - 228, 144, 4, 0, 228, 160, + 2, 224, 1, 0, 228, 144, + 3, 0, 228, 160, 8, 0, + 0, 3, 2, 0, 4, 224, + 1, 0, 228, 144, 4, 0, + 228, 160, 9, 0, 0, 3, + 0, 0, 1, 128, 0, 0, + 228, 144, 2, 0, 228, 160, + 9, 0, 0, 3, 0, 0, + 2, 128, 0, 0, 228, 144, + 3, 0, 228, 160, 9, 0, + 0, 3, 0, 0, 4, 128, + 0, 0, 228, 144, 4, 0, + 228, 160, 2, 0, 0, 3, + 4, 0, 7, 224, 0, 0, + 228, 129, 11, 0, 228, 160, + 1, 0, 0, 2, 3, 0, + 7, 224, 0, 0, 228, 128, 9, 0, 0, 3, 0, 0, 1, 128, 0, 0, 228, 144, - 2, 0, 228, 160, 9, 0, + 5, 0, 228, 160, 9, 0, 0, 3, 0, 0, 2, 128, - 0, 0, 228, 144, 3, 0, + 0, 0, 228, 144, 6, 0, 228, 160, 9, 0, 0, 3, 0, 0, 4, 128, 0, 0, - 228, 144, 4, 0, 228, 160, - 2, 0, 0, 3, 4, 0, - 7, 224, 0, 0, 228, 129, - 11, 0, 228, 160, 1, 0, - 0, 2, 3, 0, 7, 224, - 0, 0, 228, 128, 9, 0, - 0, 3, 0, 0, 1, 128, - 0, 0, 228, 144, 5, 0, - 228, 160, 9, 0, 0, 3, - 0, 0, 2, 128, 0, 0, - 228, 144, 6, 0, 228, 160, - 9, 0, 0, 3, 0, 0, - 4, 128, 0, 0, 228, 144, - 8, 0, 228, 160, 4, 0, - 0, 4, 0, 0, 3, 192, - 0, 0, 170, 128, 0, 0, - 228, 160, 0, 0, 228, 128, - 1, 0, 0, 2, 0, 0, - 8, 192, 0, 0, 170, 128, - 1, 0, 0, 2, 0, 0, - 15, 224, 1, 0, 228, 160, - 1, 0, 0, 2, 5, 0, - 15, 224, 2, 0, 228, 144, - 1, 0, 0, 2, 6, 0, - 7, 224, 1, 0, 228, 144, - 255, 255, 0, 0, 83, 72, - 68, 82, 232, 2, 0, 0, - 64, 0, 1, 0, 186, 0, + 228, 144, 8, 0, 228, 160, + 4, 0, 0, 4, 0, 0, + 3, 192, 0, 0, 170, 128, + 0, 0, 228, 160, 0, 0, + 228, 128, 1, 0, 0, 2, + 0, 0, 8, 192, 0, 0, + 170, 128, 1, 0, 0, 2, + 0, 0, 15, 224, 1, 0, + 228, 160, 1, 0, 0, 2, + 5, 0, 15, 224, 2, 0, + 228, 144, 1, 0, 0, 2, + 6, 0, 7, 224, 1, 0, + 228, 144, 255, 255, 0, 0, + 83, 72, 68, 82, 232, 2, + 0, 0, 64, 0, 1, 0, + 186, 0, 0, 0, 89, 0, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 89, 0, 0, 4, - 70, 142, 32, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 89, 0, 0, 4, 70, 142, - 32, 0, 2, 0, 0, 0, - 21, 0, 0, 0, 95, 0, - 0, 3, 242, 16, 16, 0, - 0, 0, 0, 0, 95, 0, - 0, 3, 114, 16, 16, 0, - 1, 0, 0, 0, 95, 0, - 0, 3, 242, 16, 16, 0, - 2, 0, 0, 0, 95, 0, - 0, 3, 50, 16, 16, 0, - 3, 0, 0, 0, 103, 0, - 0, 4, 242, 32, 16, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 1, 0, - 0, 0, 101, 0, 0, 3, - 50, 32, 16, 0, 2, 0, - 0, 0, 101, 0, 0, 3, - 114, 32, 16, 0, 3, 0, - 0, 0, 101, 0, 0, 3, - 114, 32, 16, 0, 4, 0, - 0, 0, 101, 0, 0, 3, - 114, 32, 16, 0, 5, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 6, 0, - 0, 0, 101, 0, 0, 3, - 114, 32, 16, 0, 7, 0, - 0, 0, 104, 0, 0, 2, - 1, 0, 0, 0, 17, 0, - 0, 8, 18, 32, 16, 0, - 0, 0, 0, 0, 70, 30, - 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 2, 0, - 0, 0, 4, 0, 0, 0, - 17, 0, 0, 8, 34, 32, + 0, 0, 21, 0, 0, 0, + 95, 0, 0, 3, 242, 16, + 16, 0, 0, 0, 0, 0, + 95, 0, 0, 3, 114, 16, + 16, 0, 1, 0, 0, 0, + 95, 0, 0, 3, 242, 16, + 16, 0, 2, 0, 0, 0, + 95, 0, 0, 3, 50, 16, + 16, 0, 3, 0, 0, 0, + 103, 0, 0, 4, 242, 32, + 16, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 50, 32, 16, 0, + 2, 0, 0, 0, 101, 0, + 0, 3, 114, 32, 16, 0, + 3, 0, 0, 0, 101, 0, + 0, 3, 114, 32, 16, 0, + 4, 0, 0, 0, 101, 0, + 0, 3, 114, 32, 16, 0, + 5, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 6, 0, 0, 0, 101, 0, + 0, 3, 114, 32, 16, 0, + 7, 0, 0, 0, 104, 0, + 0, 2, 1, 0, 0, 0, + 17, 0, 0, 8, 18, 32, 16, 0, 0, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, - 2, 0, 0, 0, 5, 0, + 2, 0, 0, 0, 4, 0, 0, 0, 17, 0, 0, 8, - 66, 32, 16, 0, 0, 0, + 34, 32, 16, 0, 0, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 2, 0, 0, 0, - 6, 0, 0, 0, 17, 0, - 0, 8, 130, 32, 16, 0, + 5, 0, 0, 0, 17, 0, + 0, 8, 66, 32, 16, 0, 0, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 2, 0, - 0, 0, 7, 0, 0, 0, - 54, 0, 0, 6, 242, 32, - 16, 0, 1, 0, 0, 0, - 70, 142, 32, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 54, 0, 0, 5, 50, 0, + 0, 0, 6, 0, 0, 0, + 17, 0, 0, 8, 130, 32, 16, 0, 0, 0, 0, 0, - 70, 16, 16, 0, 3, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 2, 0, 0, 0, 7, 0, + 0, 0, 54, 0, 0, 6, + 242, 32, 16, 0, 1, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 54, 0, 0, 5, - 66, 0, 16, 0, 0, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 128, 63, 16, 0, - 0, 8, 18, 32, 16, 0, - 2, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 70, 131, 32, 0, 2, 0, - 0, 0, 16, 0, 0, 0, - 16, 0, 0, 8, 34, 32, + 50, 0, 16, 0, 0, 0, + 0, 0, 70, 16, 16, 0, + 3, 0, 0, 0, 54, 0, + 0, 5, 66, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 128, 63, + 16, 0, 0, 8, 18, 32, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 70, 131, 32, 0, - 2, 0, 0, 0, 17, 0, + 2, 0, 0, 0, 16, 0, 0, 0, 16, 0, 0, 8, - 18, 32, 16, 0, 3, 0, - 0, 0, 70, 18, 16, 0, - 1, 0, 0, 0, 70, 130, + 34, 32, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 70, 131, 32, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 16, 0, - 0, 8, 34, 32, 16, 0, + 17, 0, 0, 0, 16, 0, + 0, 8, 18, 32, 16, 0, 3, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, 2, 0, - 0, 0, 1, 0, 0, 0, - 16, 0, 0, 8, 66, 32, + 0, 0, 0, 0, 0, 0, + 16, 0, 0, 8, 34, 32, 16, 0, 3, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, - 2, 0, 0, 0, 2, 0, - 0, 0, 17, 0, 0, 8, - 18, 0, 16, 0, 0, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 70, 142, + 2, 0, 0, 0, 1, 0, + 0, 0, 16, 0, 0, 8, + 66, 32, 16, 0, 3, 0, + 0, 0, 70, 18, 16, 0, + 1, 0, 0, 0, 70, 130, 32, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 17, 0, - 0, 8, 34, 0, 16, 0, + 2, 0, 0, 0, 17, 0, + 0, 8, 18, 0, 16, 0, 0, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 2, 0, - 0, 0, 1, 0, 0, 0, - 17, 0, 0, 8, 66, 0, + 0, 0, 0, 0, 0, 0, + 17, 0, 0, 8, 34, 0, 16, 0, 0, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, - 2, 0, 0, 0, 2, 0, + 2, 0, 0, 0, 1, 0, + 0, 0, 17, 0, 0, 8, + 66, 0, 16, 0, 0, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 142, + 32, 0, 2, 0, 0, 0, + 2, 0, 0, 0, 54, 0, + 0, 5, 114, 32, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 0, 0, 0, 9, 114, 32, + 16, 0, 5, 0, 0, 0, + 70, 2, 16, 128, 65, 0, + 0, 0, 0, 0, 0, 0, + 70, 130, 32, 0, 2, 0, + 0, 0, 20, 0, 0, 0, + 54, 0, 0, 5, 242, 32, + 16, 0, 6, 0, 0, 0, + 70, 30, 16, 0, 2, 0, 0, 0, 54, 0, 0, 5, - 114, 32, 16, 0, 4, 0, - 0, 0, 70, 2, 16, 0, + 114, 32, 16, 0, 7, 0, + 0, 0, 70, 18, 16, 0, + 1, 0, 0, 0, 62, 0, + 0, 1, 73, 83, 71, 78, + 140, 0, 0, 0, 4, 0, + 0, 0, 8, 0, 0, 0, + 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 9, 114, 32, 16, 0, - 5, 0, 0, 0, 70, 2, - 16, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 70, 130, - 32, 0, 2, 0, 0, 0, - 20, 0, 0, 0, 54, 0, - 0, 5, 242, 32, 16, 0, - 6, 0, 0, 0, 70, 30, - 16, 0, 2, 0, 0, 0, - 54, 0, 0, 5, 114, 32, - 16, 0, 7, 0, 0, 0, - 70, 18, 16, 0, 1, 0, - 0, 0, 62, 0, 0, 1, - 73, 83, 71, 78, 140, 0, - 0, 0, 4, 0, 0, 0, - 8, 0, 0, 0, 104, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 15, 0, 0, + 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 7, 7, 0, 0, + 123, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 15, 15, 0, 0, + 131, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 3, 0, + 0, 0, 3, 3, 0, 0, + 83, 86, 95, 80, 111, 115, + 105, 116, 105, 111, 110, 0, + 78, 79, 82, 77, 65, 76, + 0, 84, 65, 78, 71, 69, + 78, 84, 0, 84, 69, 88, + 67, 79, 79, 82, 68, 0, + 79, 83, 71, 78, 228, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 200, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 15, 15, 0, 0, 116, 0, + 15, 0, 0, 0, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, - 7, 7, 0, 0, 123, 0, + 15, 0, 0, 0, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, - 15, 15, 0, 0, 131, 0, - 0, 0, 0, 0, 0, 0, + 3, 12, 0, 0, 218, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, - 3, 3, 0, 0, 83, 86, - 95, 80, 111, 115, 105, 116, - 105, 111, 110, 0, 78, 79, - 82, 77, 65, 76, 0, 84, - 65, 78, 71, 69, 78, 84, - 0, 84, 69, 88, 67, 79, - 79, 82, 68, 0, 79, 83, - 71, 78, 228, 0, 0, 0, - 8, 0, 0, 0, 8, 0, - 0, 0, 200, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 212, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 15, 0, - 0, 0, 218, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 2, 0, 0, 0, 3, 12, - 0, 0, 218, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 3, 0, 0, 0, 7, 8, - 0, 0, 218, 0, 0, 0, - 2, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 4, 0, 0, 0, 7, 8, - 0, 0, 218, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 5, 0, 0, 0, 7, 8, - 0, 0, 218, 0, 0, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 6, 0, 0, 0, 15, 0, - 0, 0, 218, 0, 0, 0, - 5, 0, 0, 0, 0, 0, + 7, 8, 0, 0, 218, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 4, 0, 0, 0, + 7, 8, 0, 0, 218, 0, 0, 0, 3, 0, 0, 0, - 7, 0, 0, 0, 7, 8, - 0, 0, 83, 86, 95, 80, - 79, 83, 73, 84, 73, 79, - 78, 0, 67, 79, 76, 79, - 82, 0, 84, 69, 88, 67, - 79, 79, 82, 68, 0, 171 + 0, 0, 0, 0, 3, 0, + 0, 0, 5, 0, 0, 0, + 7, 8, 0, 0, 218, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 6, 0, 0, 0, + 15, 0, 0, 0, 218, 0, + 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 7, 0, 0, 0, + 7, 8, 0, 0, 83, 86, + 95, 80, 79, 83, 73, 84, + 73, 79, 78, 0, 67, 79, + 76, 79, 82, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLEffect_main1Bones.inc b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLEffect_main1Bones.inc index e866958e..9ba5a332 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLEffect_main1Bones.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLEffect_main1Bones.inc @@ -52,47 +52,75 @@ // vs_2_0 def c228, 3, 1, 0, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 - dcl_texcoord3 v3 - dcl_texcoord4 v4 - dcl_texcoord5 v5 + dcl_texcoord v0 // vertex<0,1,2,3> + dcl_texcoord1 v1 // vertex<4,5,6> + dcl_texcoord2 v2 // vertex<7,8,9,10> + dcl_texcoord3 v3 // vertex<11,12> + dcl_texcoord4 v4 // vertex<13,14,15,16> + dcl_texcoord5 v5 // vertex<17,18,19,20> + +#line 97 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\DGSLEffect.fx" mul r0.x, v4.x, c228.x mova a0.x, r0.x - mul r0, v5.x, c0[a0.x] - dp3 oT5.x, v2, r0 - mul r1, v5.x, c1[a0.x] - mul r2, v5.x, c2[a0.x] - dp3 oT5.y, v2, r1 - dp3 oT5.z, v2, r2 - dp4 r3.x, v0, r0 - dp3 r0.x, v1, r0 - dp4 r3.y, v0, r1 - dp3 r0.y, v1, r1 - dp4 r3.z, v0, r2 - dp3 r0.z, v1, r2 + mul r0, v5.x, c0[a0.x] // ::skinning<0,3,6,9> + +#line 102 + dp3 oT5.x, v2, r0 // ::main1Bones<19> + +#line 97 + mul r1, v5.x, c1[a0.x] // ::skinning<1,4,7,10> + mul r2, v5.x, c2[a0.x] // ::skinning<2,5,8,11> + +#line 102 + dp3 oT5.y, v2, r1 // ::main1Bones<20> + dp3 oT5.z, v2, r2 // ::main1Bones<21> + dp4 r3.x, v0, r0 // Skin::vertex<0> + dp3 r0.x, v1, r0 // Skin::vertex<4> + dp4 r3.y, v0, r1 // Skin::vertex<1> + dp3 r0.y, v1, r1 // Skin::vertex<5> + dp4 r3.z, v0, r2 // Skin::vertex<2> + dp3 r0.z, v1, r2 // Skin::vertex<6> + +#line 170 mov r3.w, v0.w - dp4 oPos.z, r3, c223 + +#line 173 + dp4 oPos.z, r3, c223 // ::main1Bones<2> mad r1.xyz, v3.xyxw, c228.yyzw, c228.zzyw - dp3 oT1.x, r1, c225.xyww - dp3 oT1.y, r1, c226.xyww - dp3 oT2.x, r0, c218 - dp3 oT2.y, r0, c219 - dp3 oT2.z, r0, c220 - mov oT6.xyz, r0 - dp4 r0.x, r3, c218 - dp4 r0.y, r3, c219 - dp4 r0.z, r3, c220 - add oT4.xyz, -r0, c227 - mov oT3.xyz, r0 - dp4 r0.x, r3, c221 - dp4 r0.y, r3, c222 - dp4 r0.z, r3, c224 - mad oPos.xy, r0.z, c216, r0 - mov oPos.w, r0.z - mov oT0, c217 - mov oT5.w, v2.w + dp3 oT1.x, r1, c225.xyww // ::main1Bones<8> + dp3 oT1.y, r1, c226.xyww // ::main1Bones<9> + dp3 oT2.x, r0, c218 // ::main1Bones<10> + dp3 oT2.y, r0, c219 // ::main1Bones<11> + dp3 oT2.z, r0, c220 // ::main1Bones<12> + +#line 101 + mov oT6.xyz, r0 // ::main1Bones<23,24,25> + +#line 170 + dp4 r0.x, r3, c218 // ::wp<0> + dp4 r0.y, r3, c219 // ::wp<1> + dp4 r0.z, r3, c220 // ::wp<2> + +#line 178 + add oT4.xyz, -r0, c227 // ::main1Bones<16,17,18> + +#line 170 + mov oT3.xyz, r0 // ::main1Bones<13,14,15> + +#line 173 + dp4 r0.x, r3, c221 // ::result<0> + dp4 r0.y, r3, c222 // ::result<1> + dp4 r0.z, r3, c224 // ::result<3> + +#line 164 + mad oPos.xy, r0.z, c216, r0 // ::main1Bones<0,1> + mov oPos.w, r0.z // ::main1Bones<3> + +#line 174 + mov oT0, c217 // ::main1Bones<4,5,6,7> + +#line 102 + mov oT5.w, v2.w // ::main1Bones<22> // approximately 35 instruction slots used vs_4_0 @@ -153,17 +181,17 @@ ret const BYTE DGSLEffect_main1Bones[] = { - 68, 88, 66, 67, 197, 121, - 50, 131, 90, 182, 119, 8, - 10, 66, 229, 37, 38, 24, - 170, 137, 1, 0, 0, 0, - 192, 9, 0, 0, 4, 0, + 68, 88, 66, 67, 33, 52, + 28, 59, 16, 79, 211, 114, + 159, 203, 173, 27, 152, 183, + 209, 184, 1, 0, 0, 0, + 100, 15, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 56, 3, 0, 0, 244, 7, - 0, 0, 212, 8, 0, 0, - 65, 111, 110, 57, 0, 3, - 0, 0, 0, 3, 0, 0, - 0, 2, 254, 255, 144, 2, + 220, 8, 0, 0, 152, 13, + 0, 0, 120, 14, 0, 0, + 65, 111, 110, 57, 164, 8, + 0, 0, 164, 8, 0, 0, + 0, 2, 254, 255, 52, 8, 0, 0, 112, 0, 0, 0, 6, 0, 36, 0, 0, 0, 108, 0, 0, 0, 108, 0, @@ -181,392 +209,633 @@ const BYTE DGSLEffect_main1Bones[] = 0, 0, 2, 0, 20, 0, 1, 0, 227, 0, 0, 0, 0, 0, 0, 0, 216, 0, - 0, 2, 254, 255, 81, 0, - 0, 5, 228, 0, 15, 160, - 0, 0, 64, 64, 0, 0, - 128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 1, 128, - 1, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 2, 128, - 2, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 3, 128, - 3, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 4, 128, - 4, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 5, 128, - 5, 0, 15, 144, 5, 0, - 0, 3, 0, 0, 1, 128, - 4, 0, 0, 144, 228, 0, - 0, 160, 46, 0, 0, 2, - 0, 0, 1, 176, 0, 0, - 0, 128, 5, 0, 0, 4, - 0, 0, 15, 128, 5, 0, - 0, 144, 0, 32, 228, 160, + 0, 2, 254, 255, 254, 255, + 104, 1, 68, 66, 85, 71, + 40, 0, 0, 0, 116, 5, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 116, 0, + 0, 0, 42, 0, 0, 0, + 120, 0, 0, 0, 6, 0, + 0, 0, 252, 4, 0, 0, + 200, 1, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 68, 71, + 83, 76, 69, 102, 102, 101, + 99, 116, 46, 102, 120, 0, + 171, 171, 40, 0, 0, 0, + 0, 0, 255, 255, 168, 5, + 0, 0, 0, 0, 255, 255, + 192, 5, 0, 0, 0, 0, + 255, 255, 204, 5, 0, 0, + 0, 0, 255, 255, 216, 5, + 0, 0, 0, 0, 255, 255, + 228, 5, 0, 0, 0, 0, + 255, 255, 240, 5, 0, 0, + 0, 0, 255, 255, 252, 5, + 0, 0, 97, 0, 0, 0, + 8, 6, 0, 0, 97, 0, + 0, 0, 24, 6, 0, 0, + 97, 0, 0, 0, 36, 6, + 0, 0, 102, 0, 0, 0, + 56, 6, 0, 0, 97, 0, + 0, 0, 72, 6, 0, 0, + 97, 0, 0, 0, 92, 6, + 0, 0, 102, 0, 0, 0, + 112, 6, 0, 0, 102, 0, + 0, 0, 128, 6, 0, 0, + 100, 0, 0, 0, 144, 6, + 0, 0, 101, 0, 0, 0, + 160, 6, 0, 0, 100, 0, + 0, 0, 176, 6, 0, 0, + 101, 0, 0, 0, 192, 6, + 0, 0, 100, 0, 0, 0, + 208, 6, 0, 0, 101, 0, + 0, 0, 224, 6, 0, 0, + 170, 0, 0, 0, 240, 6, + 0, 0, 173, 0, 0, 0, + 252, 6, 0, 0, 175, 0, + 0, 0, 12, 7, 0, 0, + 175, 0, 0, 0, 32, 7, + 0, 0, 175, 0, 0, 0, + 48, 7, 0, 0, 176, 0, + 0, 0, 64, 7, 0, 0, + 176, 0, 0, 0, 80, 7, + 0, 0, 176, 0, 0, 0, + 96, 7, 0, 0, 101, 0, + 0, 0, 112, 7, 0, 0, + 170, 0, 0, 0, 124, 7, + 0, 0, 170, 0, 0, 0, + 140, 7, 0, 0, 170, 0, + 0, 0, 156, 7, 0, 0, + 178, 0, 0, 0, 172, 7, + 0, 0, 170, 0, 0, 0, + 188, 7, 0, 0, 173, 0, + 0, 0, 200, 7, 0, 0, + 173, 0, 0, 0, 216, 7, + 0, 0, 173, 0, 0, 0, + 232, 7, 0, 0, 164, 0, + 0, 0, 248, 7, 0, 0, + 164, 0, 0, 0, 12, 8, + 0, 0, 174, 0, 0, 0, + 24, 8, 0, 0, 102, 0, + 0, 0, 36, 8, 0, 0, + 109, 97, 105, 110, 49, 66, + 111, 110, 101, 115, 0, 112, + 111, 115, 0, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 100, 105, 102, 102, + 117, 115, 101, 0, 117, 118, + 0, 171, 1, 0, 3, 0, + 1, 0, 2, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 119, 111, 114, 108, 100, 78, + 111, 114, 109, 0, 171, 171, + 1, 0, 3, 0, 1, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 119, 111, + 114, 108, 100, 80, 111, 115, + 0, 116, 111, 69, 121, 101, + 0, 116, 97, 110, 103, 101, + 110, 116, 0, 110, 111, 114, + 109, 97, 108, 0, 171, 171, + 211, 1, 0, 0, 216, 1, + 0, 0, 232, 1, 0, 0, + 216, 1, 0, 0, 240, 1, + 0, 0, 244, 1, 0, 0, + 4, 2, 0, 0, 16, 2, + 0, 0, 32, 2, 0, 0, + 16, 2, 0, 0, 41, 2, + 0, 0, 16, 2, 0, 0, + 47, 2, 0, 0, 216, 1, + 0, 0, 55, 2, 0, 0, + 16, 2, 0, 0, 5, 0, + 0, 0, 1, 0, 26, 0, + 1, 0, 8, 0, 64, 2, + 0, 0, 10, 0, 0, 0, + 19, 0, 255, 255, 255, 255, + 255, 255, 13, 0, 0, 0, + 255, 255, 20, 0, 255, 255, + 255, 255, 14, 0, 0, 0, + 255, 255, 255, 255, 21, 0, + 255, 255, 22, 0, 0, 0, + 255, 255, 255, 255, 2, 0, + 255, 255, 24, 0, 0, 0, + 8, 0, 255, 255, 255, 255, + 255, 255, 25, 0, 0, 0, + 255, 255, 9, 0, 255, 255, + 255, 255, 26, 0, 0, 0, + 10, 0, 255, 255, 255, 255, + 255, 255, 27, 0, 0, 0, + 255, 255, 11, 0, 255, 255, + 255, 255, 28, 0, 0, 0, + 255, 255, 255, 255, 12, 0, + 255, 255, 29, 0, 0, 0, + 23, 0, 24, 0, 25, 0, + 255, 255, 33, 0, 0, 0, + 16, 0, 17, 0, 18, 0, + 255, 255, 34, 0, 0, 0, + 13, 0, 14, 0, 15, 0, + 255, 255, 38, 0, 0, 0, + 0, 0, 1, 0, 255, 255, + 255, 255, 39, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 3, 0, 40, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 7, 0, 41, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 22, 0, 114, 101, 115, 117, + 108, 116, 0, 171, 5, 0, + 0, 0, 1, 0, 26, 0, + 1, 0, 8, 0, 64, 2, + 0, 0, 35, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 36, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 37, 0, 0, 0, + 255, 255, 255, 255, 3, 0, + 255, 255, 115, 107, 105, 110, + 110, 105, 110, 103, 0, 171, + 171, 171, 3, 0, 3, 0, + 4, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 9, 0, 0, 0, 0, 0, + 3, 0, 6, 0, 9, 0, + 11, 0, 0, 0, 1, 0, + 4, 0, 7, 0, 10, 0, + 12, 0, 0, 0, 2, 0, + 5, 0, 8, 0, 11, 0, + 83, 107, 105, 110, 0, 118, + 101, 114, 116, 101, 120, 0, + 98, 111, 110, 101, 73, 110, + 100, 105, 99, 101, 115, 0, + 1, 0, 2, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 98, 108, + 101, 110, 100, 87, 101, 105, + 103, 104, 116, 115, 0, 171, + 171, 171, 211, 1, 0, 0, + 216, 1, 0, 0, 55, 2, + 0, 0, 16, 2, 0, 0, + 47, 2, 0, 0, 216, 1, + 0, 0, 240, 1, 0, 0, + 244, 1, 0, 0, 216, 3, + 0, 0, 228, 3, 0, 0, + 244, 3, 0, 0, 216, 1, + 0, 0, 5, 0, 0, 0, + 1, 0, 21, 0, 1, 0, + 6, 0, 4, 4, 0, 0, + 15, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 16, 0, 0, 0, 4, 0, + 255, 255, 255, 255, 255, 255, + 17, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 18, 0, 0, 0, 255, 255, + 5, 0, 255, 255, 255, 255, + 19, 0, 0, 0, 255, 255, + 255, 255, 2, 0, 255, 255, + 20, 0, 0, 0, 255, 255, + 255, 255, 6, 0, 255, 255, + 1, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 2, 0, 0, 0, 4, 0, + 5, 0, 6, 0, 255, 255, + 3, 0, 0, 0, 7, 0, + 8, 0, 9, 0, 10, 0, + 4, 0, 0, 0, 11, 0, + 12, 0, 255, 255, 255, 255, + 5, 0, 0, 0, 13, 0, + 14, 0, 15, 0, 16, 0, + 6, 0, 0, 0, 17, 0, + 18, 0, 19, 0, 20, 0, + 119, 112, 0, 171, 30, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 31, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 32, 0, + 0, 0, 255, 255, 255, 255, + 2, 0, 255, 255, 0, 0, + 0, 0, 200, 1, 0, 0, + 128, 2, 0, 0, 16, 0, + 0, 0, 144, 2, 0, 0, + 0, 0, 0, 0, 80, 3, + 0, 0, 88, 3, 0, 0, + 3, 0, 0, 0, 104, 3, + 0, 0, 0, 0, 0, 0, + 140, 3, 0, 0, 152, 3, + 0, 0, 3, 0, 0, 0, + 168, 3, 0, 0, 204, 3, + 0, 0, 209, 3, 0, 0, + 52, 4, 0, 0, 6, 0, + 0, 0, 68, 4, 0, 0, + 200, 1, 0, 0, 209, 3, + 0, 0, 52, 4, 0, 0, + 6, 0, 0, 0, 140, 4, + 0, 0, 0, 0, 0, 0, + 212, 4, 0, 0, 16, 2, + 0, 0, 3, 0, 0, 0, + 216, 4, 0, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 81, 0, 0, 5, + 228, 0, 15, 160, 0, 0, + 64, 64, 0, 0, 128, 63, + 0, 0, 0, 0, 0, 0, + 0, 0, 31, 0, 0, 2, + 5, 0, 0, 128, 0, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 1, 128, 1, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 2, 128, 2, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 3, 128, 3, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 4, 128, 4, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 5, 128, 5, 0, + 15, 144, 5, 0, 0, 3, + 0, 0, 1, 128, 4, 0, + 0, 144, 228, 0, 0, 160, + 46, 0, 0, 2, 0, 0, + 1, 176, 0, 0, 0, 128, + 5, 0, 0, 4, 0, 0, + 15, 128, 5, 0, 0, 144, + 0, 32, 228, 160, 0, 0, + 0, 176, 8, 0, 0, 3, + 5, 0, 1, 224, 2, 0, + 228, 144, 0, 0, 228, 128, + 5, 0, 0, 4, 1, 0, + 15, 128, 5, 0, 0, 144, + 1, 32, 228, 160, 0, 0, + 0, 176, 5, 0, 0, 4, + 2, 0, 15, 128, 5, 0, + 0, 144, 2, 32, 228, 160, 0, 0, 0, 176, 8, 0, - 0, 3, 5, 0, 1, 224, - 2, 0, 228, 144, 0, 0, - 228, 128, 5, 0, 0, 4, - 1, 0, 15, 128, 5, 0, - 0, 144, 1, 32, 228, 160, - 0, 0, 0, 176, 5, 0, - 0, 4, 2, 0, 15, 128, - 5, 0, 0, 144, 2, 32, - 228, 160, 0, 0, 0, 176, - 8, 0, 0, 3, 5, 0, - 2, 224, 2, 0, 228, 144, - 1, 0, 228, 128, 8, 0, - 0, 3, 5, 0, 4, 224, - 2, 0, 228, 144, 2, 0, + 0, 3, 5, 0, 2, 224, + 2, 0, 228, 144, 1, 0, + 228, 128, 8, 0, 0, 3, + 5, 0, 4, 224, 2, 0, + 228, 144, 2, 0, 228, 128, + 9, 0, 0, 3, 3, 0, + 1, 128, 0, 0, 228, 144, + 0, 0, 228, 128, 8, 0, + 0, 3, 0, 0, 1, 128, + 1, 0, 228, 144, 0, 0, 228, 128, 9, 0, 0, 3, - 3, 0, 1, 128, 0, 0, - 228, 144, 0, 0, 228, 128, + 3, 0, 2, 128, 0, 0, + 228, 144, 1, 0, 228, 128, 8, 0, 0, 3, 0, 0, - 1, 128, 1, 0, 228, 144, - 0, 0, 228, 128, 9, 0, - 0, 3, 3, 0, 2, 128, - 0, 0, 228, 144, 1, 0, + 2, 128, 1, 0, 228, 144, + 1, 0, 228, 128, 9, 0, + 0, 3, 3, 0, 4, 128, + 0, 0, 228, 144, 2, 0, 228, 128, 8, 0, 0, 3, - 0, 0, 2, 128, 1, 0, - 228, 144, 1, 0, 228, 128, - 9, 0, 0, 3, 3, 0, - 4, 128, 0, 0, 228, 144, - 2, 0, 228, 128, 8, 0, - 0, 3, 0, 0, 4, 128, - 1, 0, 228, 144, 2, 0, - 228, 128, 1, 0, 0, 2, - 3, 0, 8, 128, 0, 0, - 255, 144, 9, 0, 0, 3, - 0, 0, 4, 192, 3, 0, - 228, 128, 223, 0, 228, 160, - 4, 0, 0, 4, 1, 0, - 7, 128, 3, 0, 196, 144, - 228, 0, 229, 160, 228, 0, - 218, 160, 8, 0, 0, 3, - 1, 0, 1, 224, 1, 0, - 228, 128, 225, 0, 244, 160, + 0, 0, 4, 128, 1, 0, + 228, 144, 2, 0, 228, 128, + 1, 0, 0, 2, 3, 0, + 8, 128, 0, 0, 255, 144, + 9, 0, 0, 3, 0, 0, + 4, 192, 3, 0, 228, 128, + 223, 0, 228, 160, 4, 0, + 0, 4, 1, 0, 7, 128, + 3, 0, 196, 144, 228, 0, + 229, 160, 228, 0, 218, 160, 8, 0, 0, 3, 1, 0, - 2, 224, 1, 0, 228, 128, - 226, 0, 244, 160, 8, 0, - 0, 3, 2, 0, 1, 224, - 0, 0, 228, 128, 218, 0, - 228, 160, 8, 0, 0, 3, - 2, 0, 2, 224, 0, 0, - 228, 128, 219, 0, 228, 160, + 1, 224, 1, 0, 228, 128, + 225, 0, 244, 160, 8, 0, + 0, 3, 1, 0, 2, 224, + 1, 0, 228, 128, 226, 0, + 244, 160, 8, 0, 0, 3, + 2, 0, 1, 224, 0, 0, + 228, 128, 218, 0, 228, 160, 8, 0, 0, 3, 2, 0, - 4, 224, 0, 0, 228, 128, - 220, 0, 228, 160, 1, 0, - 0, 2, 6, 0, 7, 224, - 0, 0, 228, 128, 9, 0, - 0, 3, 0, 0, 1, 128, - 3, 0, 228, 128, 218, 0, - 228, 160, 9, 0, 0, 3, - 0, 0, 2, 128, 3, 0, - 228, 128, 219, 0, 228, 160, - 9, 0, 0, 3, 0, 0, - 4, 128, 3, 0, 228, 128, - 220, 0, 228, 160, 2, 0, - 0, 3, 4, 0, 7, 224, - 0, 0, 228, 129, 227, 0, + 2, 224, 0, 0, 228, 128, + 219, 0, 228, 160, 8, 0, + 0, 3, 2, 0, 4, 224, + 0, 0, 228, 128, 220, 0, 228, 160, 1, 0, 0, 2, - 3, 0, 7, 224, 0, 0, + 6, 0, 7, 224, 0, 0, 228, 128, 9, 0, 0, 3, 0, 0, 1, 128, 3, 0, - 228, 128, 221, 0, 228, 160, + 228, 128, 218, 0, 228, 160, 9, 0, 0, 3, 0, 0, 2, 128, 3, 0, 228, 128, - 222, 0, 228, 160, 9, 0, + 219, 0, 228, 160, 9, 0, 0, 3, 0, 0, 4, 128, - 3, 0, 228, 128, 224, 0, - 228, 160, 4, 0, 0, 4, - 0, 0, 3, 192, 0, 0, - 170, 128, 216, 0, 228, 160, - 0, 0, 228, 128, 1, 0, - 0, 2, 0, 0, 8, 192, - 0, 0, 170, 128, 1, 0, - 0, 2, 0, 0, 15, 224, - 217, 0, 228, 160, 1, 0, - 0, 2, 5, 0, 8, 224, - 2, 0, 255, 144, 255, 255, - 0, 0, 83, 72, 68, 82, - 180, 4, 0, 0, 64, 0, - 1, 0, 45, 1, 0, 0, - 89, 0, 0, 4, 70, 142, - 32, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 89, 0, + 3, 0, 228, 128, 220, 0, + 228, 160, 2, 0, 0, 3, + 4, 0, 7, 224, 0, 0, + 228, 129, 227, 0, 228, 160, + 1, 0, 0, 2, 3, 0, + 7, 224, 0, 0, 228, 128, + 9, 0, 0, 3, 0, 0, + 1, 128, 3, 0, 228, 128, + 221, 0, 228, 160, 9, 0, + 0, 3, 0, 0, 2, 128, + 3, 0, 228, 128, 222, 0, + 228, 160, 9, 0, 0, 3, + 0, 0, 4, 128, 3, 0, + 228, 128, 224, 0, 228, 160, + 4, 0, 0, 4, 0, 0, + 3, 192, 0, 0, 170, 128, + 216, 0, 228, 160, 0, 0, + 228, 128, 1, 0, 0, 2, + 0, 0, 8, 192, 0, 0, + 170, 128, 1, 0, 0, 2, + 0, 0, 15, 224, 217, 0, + 228, 160, 1, 0, 0, 2, + 5, 0, 8, 224, 2, 0, + 255, 144, 255, 255, 0, 0, + 83, 72, 68, 82, 180, 4, + 0, 0, 64, 0, 1, 0, + 45, 1, 0, 0, 89, 0, 0, 4, 70, 142, 32, 0, - 2, 0, 0, 0, 21, 0, - 0, 0, 89, 8, 0, 4, - 70, 142, 32, 0, 4, 0, - 0, 0, 216, 0, 0, 0, - 95, 0, 0, 3, 242, 16, - 16, 0, 0, 0, 0, 0, - 95, 0, 0, 3, 114, 16, - 16, 0, 1, 0, 0, 0, - 95, 0, 0, 3, 242, 16, - 16, 0, 2, 0, 0, 0, - 95, 0, 0, 3, 50, 16, - 16, 0, 3, 0, 0, 0, - 95, 0, 0, 3, 18, 16, - 16, 0, 4, 0, 0, 0, - 95, 0, 0, 3, 18, 16, - 16, 0, 5, 0, 0, 0, - 103, 0, 0, 4, 242, 32, - 16, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 50, 32, 16, 0, - 2, 0, 0, 0, 101, 0, - 0, 3, 114, 32, 16, 0, - 3, 0, 0, 0, 101, 0, - 0, 3, 114, 32, 16, 0, - 4, 0, 0, 0, 101, 0, - 0, 3, 114, 32, 16, 0, - 5, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 6, 0, 0, 0, 101, 0, - 0, 3, 114, 32, 16, 0, - 7, 0, 0, 0, 104, 0, - 0, 2, 5, 0, 0, 0, - 38, 0, 0, 8, 0, 208, - 0, 0, 18, 0, 16, 0, - 0, 0, 0, 0, 10, 16, - 16, 0, 4, 0, 0, 0, - 1, 64, 0, 0, 3, 0, - 0, 0, 56, 0, 0, 9, - 242, 0, 16, 0, 1, 0, - 0, 0, 6, 16, 16, 0, - 5, 0, 0, 0, 70, 142, - 32, 4, 4, 0, 0, 0, - 10, 0, 16, 0, 0, 0, - 0, 0, 17, 0, 0, 7, - 18, 0, 16, 0, 2, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 70, 14, + 0, 0, 0, 0, 2, 0, + 0, 0, 89, 0, 0, 4, + 70, 142, 32, 0, 2, 0, + 0, 0, 21, 0, 0, 0, + 89, 8, 0, 4, 70, 142, + 32, 0, 4, 0, 0, 0, + 216, 0, 0, 0, 95, 0, + 0, 3, 242, 16, 16, 0, + 0, 0, 0, 0, 95, 0, + 0, 3, 114, 16, 16, 0, + 1, 0, 0, 0, 95, 0, + 0, 3, 242, 16, 16, 0, + 2, 0, 0, 0, 95, 0, + 0, 3, 50, 16, 16, 0, + 3, 0, 0, 0, 95, 0, + 0, 3, 18, 16, 16, 0, + 4, 0, 0, 0, 95, 0, + 0, 3, 18, 16, 16, 0, + 5, 0, 0, 0, 103, 0, + 0, 4, 242, 32, 16, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 1, 0, + 0, 0, 101, 0, 0, 3, + 50, 32, 16, 0, 2, 0, + 0, 0, 101, 0, 0, 3, + 114, 32, 16, 0, 3, 0, + 0, 0, 101, 0, 0, 3, + 114, 32, 16, 0, 4, 0, + 0, 0, 101, 0, 0, 3, + 114, 32, 16, 0, 5, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 6, 0, + 0, 0, 101, 0, 0, 3, + 114, 32, 16, 0, 7, 0, + 0, 0, 104, 0, 0, 2, + 5, 0, 0, 0, 38, 0, + 0, 8, 0, 208, 0, 0, + 18, 0, 16, 0, 0, 0, + 0, 0, 10, 16, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 56, 0, 0, 9, 242, 0, 16, 0, 1, 0, 0, 0, - 56, 0, 0, 10, 242, 0, - 16, 0, 3, 0, 0, 0, 6, 16, 16, 0, 5, 0, - 0, 0, 70, 142, 32, 6, - 4, 0, 0, 0, 1, 0, - 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 56, 0, + 0, 0, 70, 142, 32, 4, + 4, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 17, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 56, 0, 0, 10, 242, 0, 16, 0, - 0, 0, 0, 0, 6, 16, + 3, 0, 0, 0, 6, 16, 16, 0, 5, 0, 0, 0, 70, 142, 32, 6, 4, 0, - 0, 0, 2, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 10, 0, 16, 0, 0, 0, - 0, 0, 17, 0, 0, 7, - 34, 0, 16, 0, 2, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 70, 14, - 16, 0, 3, 0, 0, 0, - 17, 0, 0, 7, 66, 0, + 0, 0, 56, 0, 0, 10, + 242, 0, 16, 0, 0, 0, + 0, 0, 6, 16, 16, 0, + 5, 0, 0, 0, 70, 142, + 32, 6, 4, 0, 0, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 17, 0, 0, 7, 34, 0, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, - 0, 0, 0, 0, 54, 0, - 0, 5, 130, 0, 16, 0, - 2, 0, 0, 0, 58, 16, + 3, 0, 0, 0, 17, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, - 17, 0, 0, 8, 18, 32, + 70, 14, 16, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 2, 0, + 0, 0, 58, 16, 16, 0, + 0, 0, 0, 0, 17, 0, + 0, 8, 18, 32, 16, 0, + 0, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 70, 142, 32, 0, 2, 0, + 0, 0, 4, 0, 0, 0, + 17, 0, 0, 8, 34, 32, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, - 2, 0, 0, 0, 4, 0, + 2, 0, 0, 0, 5, 0, 0, 0, 17, 0, 0, 8, - 34, 32, 16, 0, 0, 0, + 66, 32, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, 2, 0, 0, 0, - 5, 0, 0, 0, 17, 0, - 0, 8, 66, 32, 16, 0, + 6, 0, 0, 0, 17, 0, + 0, 8, 130, 32, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, 2, 0, - 0, 0, 6, 0, 0, 0, - 17, 0, 0, 8, 130, 32, - 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 2, 0, - 0, 0, 70, 142, 32, 0, - 2, 0, 0, 0, 7, 0, - 0, 0, 54, 0, 0, 6, - 242, 32, 16, 0, 1, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 1, 0, + 0, 0, 7, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 1, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 54, 0, 0, 5, 50, 0, + 16, 0, 4, 0, 0, 0, + 70, 16, 16, 0, 3, 0, 0, 0, 54, 0, 0, 5, - 50, 0, 16, 0, 4, 0, - 0, 0, 70, 16, 16, 0, - 3, 0, 0, 0, 54, 0, - 0, 5, 66, 0, 16, 0, - 4, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 128, 63, - 16, 0, 0, 8, 18, 32, + 66, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 128, 63, 16, 0, + 0, 8, 18, 32, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 70, 131, 32, 0, 2, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 8, 34, 32, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, 70, 131, 32, 0, - 2, 0, 0, 0, 16, 0, - 0, 0, 16, 0, 0, 8, - 34, 32, 16, 0, 2, 0, + 2, 0, 0, 0, 17, 0, + 0, 0, 16, 0, 0, 7, + 18, 0, 16, 0, 4, 0, + 0, 0, 70, 18, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 16, 0, 0, 7, 18, 32, + 16, 0, 6, 0, 0, 0, + 70, 18, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, - 4, 0, 0, 0, 70, 131, - 32, 0, 2, 0, 0, 0, - 17, 0, 0, 0, 16, 0, - 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 16, 0, + 0, 7, 34, 0, 16, 0, 4, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 1, 0, + 70, 2, 16, 0, 3, 0, 0, 0, 16, 0, 0, 7, - 18, 32, 16, 0, 6, 0, + 34, 32, 16, 0, 6, 0, 0, 0, 70, 18, 16, 0, 2, 0, 0, 0, 70, 2, - 16, 0, 1, 0, 0, 0, - 16, 0, 0, 7, 34, 0, + 16, 0, 3, 0, 0, 0, + 16, 0, 0, 7, 66, 0, 16, 0, 4, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, - 3, 0, 0, 0, 16, 0, - 0, 7, 34, 32, 16, 0, + 0, 0, 0, 0, 16, 0, + 0, 7, 66, 32, 16, 0, 6, 0, 0, 0, 70, 18, 16, 0, 2, 0, 0, 0, - 70, 2, 16, 0, 3, 0, - 0, 0, 16, 0, 0, 7, - 66, 0, 16, 0, 4, 0, - 0, 0, 70, 18, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 16, 0, 0, 7, 66, 32, - 16, 0, 6, 0, 0, 0, - 70, 18, 16, 0, 2, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 16, 0, 0, 8, + 18, 32, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 70, 130, + 32, 0, 2, 0, 0, 0, 0, 0, 0, 0, 16, 0, - 0, 8, 18, 32, 16, 0, + 0, 8, 34, 32, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, 70, 130, 32, 0, 2, 0, - 0, 0, 0, 0, 0, 0, - 16, 0, 0, 8, 34, 32, + 0, 0, 1, 0, 0, 0, + 16, 0, 0, 8, 66, 32, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, 70, 130, 32, 0, - 2, 0, 0, 0, 1, 0, - 0, 0, 16, 0, 0, 8, - 66, 32, 16, 0, 3, 0, + 2, 0, 0, 0, 2, 0, + 0, 0, 54, 0, 0, 5, + 114, 32, 16, 0, 7, 0, 0, 0, 70, 2, 16, 0, - 4, 0, 0, 0, 70, 130, - 32, 0, 2, 0, 0, 0, - 2, 0, 0, 0, 54, 0, - 0, 5, 114, 32, 16, 0, - 7, 0, 0, 0, 70, 2, - 16, 0, 4, 0, 0, 0, - 17, 0, 0, 8, 18, 0, + 4, 0, 0, 0, 17, 0, + 0, 8, 18, 0, 16, 0, + 0, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 70, 142, 32, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 17, 0, 0, 8, 34, 0, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, - 2, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 1, 0, 0, 0, 17, 0, 0, 8, - 34, 0, 16, 0, 0, 0, + 66, 0, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, 2, 0, 0, 0, - 1, 0, 0, 0, 17, 0, - 0, 8, 66, 0, 16, 0, - 0, 0, 0, 0, 70, 14, - 16, 0, 2, 0, 0, 0, - 70, 142, 32, 0, 2, 0, + 2, 0, 0, 0, 54, 0, + 0, 5, 114, 32, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 0, 0, 0, 9, 114, 32, + 16, 0, 5, 0, 0, 0, + 70, 2, 16, 128, 65, 0, + 0, 0, 0, 0, 0, 0, + 70, 130, 32, 0, 2, 0, + 0, 0, 20, 0, 0, 0, + 54, 0, 0, 5, 130, 32, + 16, 0, 6, 0, 0, 0, + 58, 16, 16, 0, 2, 0, + 0, 0, 62, 0, 0, 1, + 73, 83, 71, 78, 216, 0, + 0, 0, 6, 0, 0, 0, + 8, 0, 0, 0, 152, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 15, 0, 0, 164, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 7, 7, 0, 0, 171, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, - 54, 0, 0, 5, 114, 32, - 16, 0, 4, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 0, 0, 0, 9, - 114, 32, 16, 0, 5, 0, - 0, 0, 70, 2, 16, 128, - 65, 0, 0, 0, 0, 0, - 0, 0, 70, 130, 32, 0, - 2, 0, 0, 0, 20, 0, - 0, 0, 54, 0, 0, 5, - 130, 32, 16, 0, 6, 0, - 0, 0, 58, 16, 16, 0, - 2, 0, 0, 0, 62, 0, - 0, 1, 73, 83, 71, 78, - 216, 0, 0, 0, 6, 0, - 0, 0, 8, 0, 0, 0, - 152, 0, 0, 0, 0, 0, + 15, 15, 0, 0, 179, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 3, 3, 0, 0, 188, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 4, 0, 0, 0, + 15, 1, 0, 0, 201, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 5, 0, 0, 0, + 15, 1, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 78, 79, + 82, 77, 65, 76, 0, 84, + 65, 78, 71, 69, 78, 84, + 0, 84, 69, 88, 67, 79, + 79, 82, 68, 0, 66, 76, + 69, 78, 68, 73, 78, 68, + 73, 67, 69, 83, 0, 66, + 76, 69, 78, 68, 87, 69, + 73, 71, 72, 84, 0, 171, + 171, 171, 79, 83, 71, 78, + 228, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 200, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, - 0, 0, 15, 15, 0, 0, - 164, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, - 0, 0, 7, 7, 0, 0, - 171, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, - 0, 0, 15, 15, 0, 0, - 179, 0, 0, 0, 0, 0, + 0, 0, 3, 12, 0, 0, + 218, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, - 0, 0, 3, 3, 0, 0, - 188, 0, 0, 0, 0, 0, + 0, 0, 7, 8, 0, 0, + 218, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 4, 0, - 0, 0, 15, 1, 0, 0, - 201, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 4, 0, + 0, 0, 7, 8, 0, 0, + 218, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 5, 0, - 0, 0, 15, 1, 0, 0, - 83, 86, 95, 80, 111, 115, - 105, 116, 105, 111, 110, 0, - 78, 79, 82, 77, 65, 76, - 0, 84, 65, 78, 71, 69, - 78, 84, 0, 84, 69, 88, - 67, 79, 79, 82, 68, 0, - 66, 76, 69, 78, 68, 73, - 78, 68, 73, 67, 69, 83, - 0, 66, 76, 69, 78, 68, - 87, 69, 73, 71, 72, 84, - 0, 171, 171, 171, 79, 83, - 71, 78, 228, 0, 0, 0, - 8, 0, 0, 0, 8, 0, - 0, 0, 200, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 212, 0, 0, 0, + 0, 0, 7, 8, 0, 0, + 218, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 15, 0, - 0, 0, 218, 0, 0, 0, + 3, 0, 0, 0, 6, 0, + 0, 0, 15, 0, 0, 0, + 218, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 2, 0, 0, 0, 3, 12, - 0, 0, 218, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 3, 0, 0, 0, 7, 8, - 0, 0, 218, 0, 0, 0, - 2, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 4, 0, 0, 0, 7, 8, - 0, 0, 218, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 5, 0, 0, 0, 7, 8, - 0, 0, 218, 0, 0, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 6, 0, 0, 0, 15, 0, - 0, 0, 218, 0, 0, 0, - 5, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 7, 0, 0, 0, 7, 8, - 0, 0, 83, 86, 95, 80, - 79, 83, 73, 84, 73, 79, - 78, 0, 67, 79, 76, 79, - 82, 0, 84, 69, 88, 67, - 79, 79, 82, 68, 0, 171 + 3, 0, 0, 0, 7, 0, + 0, 0, 7, 8, 0, 0, + 83, 86, 95, 80, 79, 83, + 73, 84, 73, 79, 78, 0, + 67, 79, 76, 79, 82, 0, + 84, 69, 88, 67, 79, 79, + 82, 68, 0, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLEffect_main1BonesVc.inc b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLEffect_main1BonesVc.inc index b12336a3..d2a4e2b0 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLEffect_main1BonesVc.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLEffect_main1BonesVc.inc @@ -53,48 +53,74 @@ // vs_2_0 def c228, 3, 1, 0, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 - dcl_texcoord3 v3 - dcl_texcoord4 v4 - dcl_texcoord5 v5 - dcl_texcoord6 v6 + dcl_texcoord v0 // vertex<0,1,2,3> + dcl_texcoord1 v1 // vertex<4,5,6> + dcl_texcoord2 v2 // vertex<7,8,9,10> + dcl_texcoord3 v3 // vertex<11,12,13,14> + dcl_texcoord4 v4 // vertex<15,16> + dcl_texcoord5 v5 // vertex<17,18,19,20> + dcl_texcoord6 v6 // vertex<21,22,23,24> + +#line 112 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\DGSLEffect.fx" mul r0.x, v5.x, c228.x mova a0.x, r0.x - mul r0, v6.x, c0[a0.x] - dp3 oT5.x, v2, r0 - mul r1, v6.x, c1[a0.x] - mul r2, v6.x, c2[a0.x] - dp3 oT5.y, v2, r1 - dp3 oT5.z, v2, r2 - dp4 r3.x, v0, r0 - dp3 r0.x, v1, r0 - dp4 r3.y, v0, r1 - dp3 r0.y, v1, r1 - dp4 r3.z, v0, r2 - dp3 r0.z, v1, r2 + mul r0, v6.x, c0[a0.x] // ::skinning<0,3,6,9> + +#line 117 + dp3 oT5.x, v2, r0 // ::main1BonesVc<19> + +#line 112 + mul r1, v6.x, c1[a0.x] // ::skinning<1,4,7,10> + mul r2, v6.x, c2[a0.x] // ::skinning<2,5,8,11> + +#line 117 + dp3 oT5.y, v2, r1 // ::main1BonesVc<20> + dp3 oT5.z, v2, r2 // ::main1BonesVc<21> + dp4 r3.x, v0, r0 // SkinVc::vertex<0> + dp3 r0.x, v1, r0 // SkinVc::vertex<4> + dp4 r3.y, v0, r1 // SkinVc::vertex<1> + dp3 r0.y, v1, r1 // SkinVc::vertex<5> + dp4 r3.z, v0, r2 // SkinVc::vertex<2> + dp3 r0.z, v1, r2 // SkinVc::vertex<6> + +#line 237 mov r3.w, v0.w - dp4 oPos.z, r3, c223 - mul oT0, v3, c217 + +#line 240 + dp4 oPos.z, r3, c223 // ::main1BonesVc<2> + mul oT0, v3, c217 // ::main1BonesVc<4,5,6,7> mad r1.xyz, v4.xyxw, c228.yyzw, c228.zzyw - dp3 oT1.x, r1, c225.xyww - dp3 oT1.y, r1, c226.xyww - dp3 oT2.x, r0, c218 - dp3 oT2.y, r0, c219 - dp3 oT2.z, r0, c220 - mov oT6.xyz, r0 - dp4 r0.x, r3, c218 - dp4 r0.y, r3, c219 - dp4 r0.z, r3, c220 - add oT4.xyz, -r0, c227 - mov oT3.xyz, r0 - dp4 r0.x, r3, c221 - dp4 r0.y, r3, c222 - dp4 r0.z, r3, c224 - mad oPos.xy, r0.z, c216, r0 - mov oPos.w, r0.z - mov oT5.w, v2.w + dp3 oT1.x, r1, c225.xyww // ::main1BonesVc<8> + dp3 oT1.y, r1, c226.xyww // ::main1BonesVc<9> + dp3 oT2.x, r0, c218 // ::main1BonesVc<10> + dp3 oT2.y, r0, c219 // ::main1BonesVc<11> + dp3 oT2.z, r0, c220 // ::main1BonesVc<12> + +#line 116 + mov oT6.xyz, r0 // ::main1BonesVc<23,24,25> + +#line 237 + dp4 r0.x, r3, c218 // ::wp<0> + dp4 r0.y, r3, c219 // ::wp<1> + dp4 r0.z, r3, c220 // ::wp<2> + +#line 245 + add oT4.xyz, -r0, c227 // ::main1BonesVc<16,17,18> + +#line 237 + mov oT3.xyz, r0 // ::main1BonesVc<13,14,15> + +#line 240 + dp4 r0.x, r3, c221 // ::result<0> + dp4 r0.y, r3, c222 // ::result<1> + dp4 r0.z, r3, c224 // ::result<3> + +#line 231 + mad oPos.xy, r0.z, c216, r0 // ::main1BonesVc<0,1> + mov oPos.w, r0.z // ::main1BonesVc<3> + +#line 117 + mov oT5.w, v2.w // ::main1BonesVc<22> // approximately 35 instruction slots used vs_4_0 @@ -156,17 +182,17 @@ ret const BYTE DGSLEffect_main1BonesVc[] = { - 68, 88, 66, 67, 122, 111, - 179, 134, 211, 148, 172, 150, - 73, 190, 170, 28, 244, 155, - 105, 24, 1, 0, 0, 0, - 0, 10, 0, 0, 4, 0, + 68, 88, 66, 67, 128, 178, + 178, 97, 125, 167, 70, 197, + 27, 237, 13, 172, 173, 144, + 242, 53, 1, 0, 0, 0, + 204, 15, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 72, 3, 0, 0, 24, 8, - 0, 0, 20, 9, 0, 0, - 65, 111, 110, 57, 16, 3, - 0, 0, 16, 3, 0, 0, - 0, 2, 254, 255, 160, 2, + 20, 9, 0, 0, 228, 13, + 0, 0, 224, 14, 0, 0, + 65, 111, 110, 57, 220, 8, + 0, 0, 220, 8, 0, 0, + 0, 2, 254, 255, 108, 8, 0, 0, 112, 0, 0, 0, 6, 0, 36, 0, 0, 0, 108, 0, 0, 0, 108, 0, @@ -184,403 +210,650 @@ const BYTE DGSLEffect_main1BonesVc[] = 0, 0, 2, 0, 20, 0, 1, 0, 227, 0, 0, 0, 0, 0, 0, 0, 216, 0, - 0, 2, 254, 255, 81, 0, - 0, 5, 228, 0, 15, 160, - 0, 0, 64, 64, 0, 0, - 128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 1, 128, - 1, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 2, 128, - 2, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 3, 128, - 3, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 4, 128, - 4, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 5, 128, - 5, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 6, 128, - 6, 0, 15, 144, 5, 0, - 0, 3, 0, 0, 1, 128, - 5, 0, 0, 144, 228, 0, - 0, 160, 46, 0, 0, 2, - 0, 0, 1, 176, 0, 0, - 0, 128, 5, 0, 0, 4, - 0, 0, 15, 128, 6, 0, - 0, 144, 0, 32, 228, 160, - 0, 0, 0, 176, 8, 0, - 0, 3, 5, 0, 1, 224, - 2, 0, 228, 144, 0, 0, - 228, 128, 5, 0, 0, 4, - 1, 0, 15, 128, 6, 0, - 0, 144, 1, 32, 228, 160, - 0, 0, 0, 176, 5, 0, - 0, 4, 2, 0, 15, 128, - 6, 0, 0, 144, 2, 32, + 0, 2, 254, 255, 254, 255, + 114, 1, 68, 66, 85, 71, + 40, 0, 0, 0, 156, 5, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 116, 0, + 0, 0, 43, 0, 0, 0, + 120, 0, 0, 0, 6, 0, + 0, 0, 36, 5, 0, 0, + 208, 1, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 68, 71, + 83, 76, 69, 102, 102, 101, + 99, 116, 46, 102, 120, 0, + 171, 171, 40, 0, 0, 0, + 0, 0, 255, 255, 208, 5, + 0, 0, 0, 0, 255, 255, + 232, 5, 0, 0, 0, 0, + 255, 255, 244, 5, 0, 0, + 0, 0, 255, 255, 0, 6, + 0, 0, 0, 0, 255, 255, + 12, 6, 0, 0, 0, 0, + 255, 255, 24, 6, 0, 0, + 0, 0, 255, 255, 36, 6, + 0, 0, 0, 0, 255, 255, + 48, 6, 0, 0, 112, 0, + 0, 0, 60, 6, 0, 0, + 112, 0, 0, 0, 76, 6, + 0, 0, 112, 0, 0, 0, + 88, 6, 0, 0, 117, 0, + 0, 0, 108, 6, 0, 0, + 112, 0, 0, 0, 124, 6, + 0, 0, 112, 0, 0, 0, + 144, 6, 0, 0, 117, 0, + 0, 0, 164, 6, 0, 0, + 117, 0, 0, 0, 180, 6, + 0, 0, 115, 0, 0, 0, + 196, 6, 0, 0, 116, 0, + 0, 0, 212, 6, 0, 0, + 115, 0, 0, 0, 228, 6, + 0, 0, 116, 0, 0, 0, + 244, 6, 0, 0, 115, 0, + 0, 0, 4, 7, 0, 0, + 116, 0, 0, 0, 20, 7, + 0, 0, 237, 0, 0, 0, + 36, 7, 0, 0, 240, 0, + 0, 0, 48, 7, 0, 0, + 241, 0, 0, 0, 64, 7, + 0, 0, 242, 0, 0, 0, + 80, 7, 0, 0, 242, 0, + 0, 0, 100, 7, 0, 0, + 242, 0, 0, 0, 116, 7, + 0, 0, 243, 0, 0, 0, + 132, 7, 0, 0, 243, 0, + 0, 0, 148, 7, 0, 0, + 243, 0, 0, 0, 164, 7, + 0, 0, 116, 0, 0, 0, + 180, 7, 0, 0, 237, 0, + 0, 0, 192, 7, 0, 0, + 237, 0, 0, 0, 208, 7, + 0, 0, 237, 0, 0, 0, + 224, 7, 0, 0, 245, 0, + 0, 0, 240, 7, 0, 0, + 237, 0, 0, 0, 0, 8, + 0, 0, 240, 0, 0, 0, + 12, 8, 0, 0, 240, 0, + 0, 0, 28, 8, 0, 0, + 240, 0, 0, 0, 44, 8, + 0, 0, 231, 0, 0, 0, + 60, 8, 0, 0, 231, 0, + 0, 0, 80, 8, 0, 0, + 117, 0, 0, 0, 92, 8, + 0, 0, 109, 97, 105, 110, + 49, 66, 111, 110, 101, 115, + 86, 99, 0, 112, 111, 115, + 0, 171, 171, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 100, 105, 102, 102, + 117, 115, 101, 0, 117, 118, + 0, 171, 1, 0, 3, 0, + 1, 0, 2, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 119, 111, 114, 108, 100, 78, + 111, 114, 109, 0, 171, 171, + 1, 0, 3, 0, 1, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 119, 111, + 114, 108, 100, 80, 111, 115, + 0, 116, 111, 69, 121, 101, + 0, 116, 97, 110, 103, 101, + 110, 116, 0, 110, 111, 114, + 109, 97, 108, 0, 171, 171, + 221, 1, 0, 0, 228, 1, + 0, 0, 244, 1, 0, 0, + 228, 1, 0, 0, 252, 1, + 0, 0, 0, 2, 0, 0, + 16, 2, 0, 0, 28, 2, + 0, 0, 44, 2, 0, 0, + 28, 2, 0, 0, 53, 2, + 0, 0, 28, 2, 0, 0, + 59, 2, 0, 0, 228, 1, + 0, 0, 67, 2, 0, 0, + 28, 2, 0, 0, 5, 0, + 0, 0, 1, 0, 26, 0, + 1, 0, 8, 0, 76, 2, + 0, 0, 11, 0, 0, 0, + 19, 0, 255, 255, 255, 255, + 255, 255, 14, 0, 0, 0, + 255, 255, 20, 0, 255, 255, + 255, 255, 15, 0, 0, 0, + 255, 255, 255, 255, 21, 0, + 255, 255, 23, 0, 0, 0, + 255, 255, 255, 255, 2, 0, + 255, 255, 24, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 7, 0, 26, 0, 0, 0, + 8, 0, 255, 255, 255, 255, + 255, 255, 27, 0, 0, 0, + 255, 255, 9, 0, 255, 255, + 255, 255, 28, 0, 0, 0, + 10, 0, 255, 255, 255, 255, + 255, 255, 29, 0, 0, 0, + 255, 255, 11, 0, 255, 255, + 255, 255, 30, 0, 0, 0, + 255, 255, 255, 255, 12, 0, + 255, 255, 31, 0, 0, 0, + 23, 0, 24, 0, 25, 0, + 255, 255, 35, 0, 0, 0, + 16, 0, 17, 0, 18, 0, + 255, 255, 36, 0, 0, 0, + 13, 0, 14, 0, 15, 0, + 255, 255, 40, 0, 0, 0, + 0, 0, 1, 0, 255, 255, + 255, 255, 41, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 3, 0, 42, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 22, 0, 114, 101, 115, 117, + 108, 116, 0, 171, 5, 0, + 0, 0, 1, 0, 26, 0, + 1, 0, 8, 0, 76, 2, + 0, 0, 37, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 38, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 39, 0, 0, 0, + 255, 255, 255, 255, 3, 0, + 255, 255, 115, 107, 105, 110, + 110, 105, 110, 103, 0, 171, + 171, 171, 3, 0, 3, 0, + 4, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 10, 0, 0, 0, 0, 0, + 3, 0, 6, 0, 9, 0, + 12, 0, 0, 0, 1, 0, + 4, 0, 7, 0, 10, 0, + 13, 0, 0, 0, 2, 0, + 5, 0, 8, 0, 11, 0, + 83, 107, 105, 110, 86, 99, + 0, 118, 101, 114, 116, 101, + 120, 0, 99, 111, 108, 111, + 114, 0, 98, 111, 110, 101, + 73, 110, 100, 105, 99, 101, + 115, 0, 1, 0, 2, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 98, 108, 101, 110, 100, 87, + 101, 105, 103, 104, 116, 115, + 0, 171, 171, 171, 221, 1, + 0, 0, 228, 1, 0, 0, + 67, 2, 0, 0, 28, 2, + 0, 0, 59, 2, 0, 0, + 228, 1, 0, 0, 230, 3, + 0, 0, 228, 1, 0, 0, + 252, 1, 0, 0, 0, 2, + 0, 0, 236, 3, 0, 0, + 248, 3, 0, 0, 8, 4, + 0, 0, 228, 1, 0, 0, + 5, 0, 0, 0, 1, 0, + 25, 0, 1, 0, 7, 0, + 24, 4, 0, 0, 16, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 17, 0, + 0, 0, 4, 0, 255, 255, + 255, 255, 255, 255, 18, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 19, 0, + 0, 0, 255, 255, 5, 0, + 255, 255, 255, 255, 20, 0, + 0, 0, 255, 255, 255, 255, + 2, 0, 255, 255, 21, 0, + 0, 0, 255, 255, 255, 255, + 6, 0, 255, 255, 1, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 3, 0, 2, 0, + 0, 0, 4, 0, 5, 0, + 6, 0, 255, 255, 3, 0, + 0, 0, 7, 0, 8, 0, + 9, 0, 10, 0, 4, 0, + 0, 0, 11, 0, 12, 0, + 13, 0, 14, 0, 5, 0, + 0, 0, 15, 0, 16, 0, + 255, 255, 255, 255, 6, 0, + 0, 0, 17, 0, 18, 0, + 19, 0, 20, 0, 7, 0, + 0, 0, 21, 0, 22, 0, + 23, 0, 24, 0, 119, 112, + 0, 171, 32, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 33, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 34, 0, 0, 0, + 255, 255, 255, 255, 2, 0, + 255, 255, 0, 0, 0, 0, + 208, 1, 0, 0, 140, 2, + 0, 0, 16, 0, 0, 0, + 156, 2, 0, 0, 0, 0, + 0, 0, 92, 3, 0, 0, + 100, 3, 0, 0, 3, 0, + 0, 0, 116, 3, 0, 0, + 0, 0, 0, 0, 152, 3, + 0, 0, 164, 3, 0, 0, + 3, 0, 0, 0, 180, 3, + 0, 0, 216, 3, 0, 0, + 223, 3, 0, 0, 80, 4, + 0, 0, 6, 0, 0, 0, + 96, 4, 0, 0, 208, 1, + 0, 0, 223, 3, 0, 0, + 80, 4, 0, 0, 7, 0, + 0, 0, 168, 4, 0, 0, + 0, 0, 0, 0, 252, 4, + 0, 0, 28, 2, 0, 0, + 3, 0, 0, 0, 0, 5, + 0, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 81, 0, 0, 5, 228, 0, + 15, 160, 0, 0, 64, 64, + 0, 0, 128, 63, 0, 0, + 0, 0, 0, 0, 0, 0, + 31, 0, 0, 2, 5, 0, + 0, 128, 0, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 1, 128, 1, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 2, 128, 2, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 3, 128, 3, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 4, 128, 4, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 5, 128, 5, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 6, 128, 6, 0, 15, 144, + 5, 0, 0, 3, 0, 0, + 1, 128, 5, 0, 0, 144, + 228, 0, 0, 160, 46, 0, + 0, 2, 0, 0, 1, 176, + 0, 0, 0, 128, 5, 0, + 0, 4, 0, 0, 15, 128, + 6, 0, 0, 144, 0, 32, 228, 160, 0, 0, 0, 176, 8, 0, 0, 3, 5, 0, - 2, 224, 2, 0, 228, 144, + 1, 224, 2, 0, 228, 144, + 0, 0, 228, 128, 5, 0, + 0, 4, 1, 0, 15, 128, + 6, 0, 0, 144, 1, 32, + 228, 160, 0, 0, 0, 176, + 5, 0, 0, 4, 2, 0, + 15, 128, 6, 0, 0, 144, + 2, 32, 228, 160, 0, 0, + 0, 176, 8, 0, 0, 3, + 5, 0, 2, 224, 2, 0, + 228, 144, 1, 0, 228, 128, + 8, 0, 0, 3, 5, 0, + 4, 224, 2, 0, 228, 144, + 2, 0, 228, 128, 9, 0, + 0, 3, 3, 0, 1, 128, + 0, 0, 228, 144, 0, 0, + 228, 128, 8, 0, 0, 3, + 0, 0, 1, 128, 1, 0, + 228, 144, 0, 0, 228, 128, + 9, 0, 0, 3, 3, 0, + 2, 128, 0, 0, 228, 144, 1, 0, 228, 128, 8, 0, - 0, 3, 5, 0, 4, 224, - 2, 0, 228, 144, 2, 0, + 0, 3, 0, 0, 2, 128, + 1, 0, 228, 144, 1, 0, 228, 128, 9, 0, 0, 3, - 3, 0, 1, 128, 0, 0, - 228, 144, 0, 0, 228, 128, + 3, 0, 4, 128, 0, 0, + 228, 144, 2, 0, 228, 128, 8, 0, 0, 3, 0, 0, - 1, 128, 1, 0, 228, 144, - 0, 0, 228, 128, 9, 0, - 0, 3, 3, 0, 2, 128, - 0, 0, 228, 144, 1, 0, - 228, 128, 8, 0, 0, 3, - 0, 0, 2, 128, 1, 0, - 228, 144, 1, 0, 228, 128, - 9, 0, 0, 3, 3, 0, - 4, 128, 0, 0, 228, 144, - 2, 0, 228, 128, 8, 0, - 0, 3, 0, 0, 4, 128, - 1, 0, 228, 144, 2, 0, - 228, 128, 1, 0, 0, 2, - 3, 0, 8, 128, 0, 0, - 255, 144, 9, 0, 0, 3, - 0, 0, 4, 192, 3, 0, - 228, 128, 223, 0, 228, 160, - 5, 0, 0, 3, 0, 0, - 15, 224, 3, 0, 228, 144, - 217, 0, 228, 160, 4, 0, - 0, 4, 1, 0, 7, 128, - 4, 0, 196, 144, 228, 0, - 229, 160, 228, 0, 218, 160, + 4, 128, 1, 0, 228, 144, + 2, 0, 228, 128, 1, 0, + 0, 2, 3, 0, 8, 128, + 0, 0, 255, 144, 9, 0, + 0, 3, 0, 0, 4, 192, + 3, 0, 228, 128, 223, 0, + 228, 160, 5, 0, 0, 3, + 0, 0, 15, 224, 3, 0, + 228, 144, 217, 0, 228, 160, + 4, 0, 0, 4, 1, 0, + 7, 128, 4, 0, 196, 144, + 228, 0, 229, 160, 228, 0, + 218, 160, 8, 0, 0, 3, + 1, 0, 1, 224, 1, 0, + 228, 128, 225, 0, 244, 160, 8, 0, 0, 3, 1, 0, - 1, 224, 1, 0, 228, 128, - 225, 0, 244, 160, 8, 0, - 0, 3, 1, 0, 2, 224, - 1, 0, 228, 128, 226, 0, - 244, 160, 8, 0, 0, 3, - 2, 0, 1, 224, 0, 0, - 228, 128, 218, 0, 228, 160, + 2, 224, 1, 0, 228, 128, + 226, 0, 244, 160, 8, 0, + 0, 3, 2, 0, 1, 224, + 0, 0, 228, 128, 218, 0, + 228, 160, 8, 0, 0, 3, + 2, 0, 2, 224, 0, 0, + 228, 128, 219, 0, 228, 160, 8, 0, 0, 3, 2, 0, - 2, 224, 0, 0, 228, 128, - 219, 0, 228, 160, 8, 0, - 0, 3, 2, 0, 4, 224, - 0, 0, 228, 128, 220, 0, + 4, 224, 0, 0, 228, 128, + 220, 0, 228, 160, 1, 0, + 0, 2, 6, 0, 7, 224, + 0, 0, 228, 128, 9, 0, + 0, 3, 0, 0, 1, 128, + 3, 0, 228, 128, 218, 0, + 228, 160, 9, 0, 0, 3, + 0, 0, 2, 128, 3, 0, + 228, 128, 219, 0, 228, 160, + 9, 0, 0, 3, 0, 0, + 4, 128, 3, 0, 228, 128, + 220, 0, 228, 160, 2, 0, + 0, 3, 4, 0, 7, 224, + 0, 0, 228, 129, 227, 0, 228, 160, 1, 0, 0, 2, - 6, 0, 7, 224, 0, 0, + 3, 0, 7, 224, 0, 0, 228, 128, 9, 0, 0, 3, 0, 0, 1, 128, 3, 0, - 228, 128, 218, 0, 228, 160, + 228, 128, 221, 0, 228, 160, 9, 0, 0, 3, 0, 0, 2, 128, 3, 0, 228, 128, - 219, 0, 228, 160, 9, 0, + 222, 0, 228, 160, 9, 0, 0, 3, 0, 0, 4, 128, - 3, 0, 228, 128, 220, 0, - 228, 160, 2, 0, 0, 3, - 4, 0, 7, 224, 0, 0, - 228, 129, 227, 0, 228, 160, - 1, 0, 0, 2, 3, 0, - 7, 224, 0, 0, 228, 128, - 9, 0, 0, 3, 0, 0, - 1, 128, 3, 0, 228, 128, - 221, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 2, 128, - 3, 0, 228, 128, 222, 0, - 228, 160, 9, 0, 0, 3, - 0, 0, 4, 128, 3, 0, - 228, 128, 224, 0, 228, 160, - 4, 0, 0, 4, 0, 0, - 3, 192, 0, 0, 170, 128, - 216, 0, 228, 160, 0, 0, - 228, 128, 1, 0, 0, 2, - 0, 0, 8, 192, 0, 0, - 170, 128, 1, 0, 0, 2, - 5, 0, 8, 224, 2, 0, - 255, 144, 255, 255, 0, 0, - 83, 72, 68, 82, 200, 4, - 0, 0, 64, 0, 1, 0, - 50, 1, 0, 0, 89, 0, + 3, 0, 228, 128, 224, 0, + 228, 160, 4, 0, 0, 4, + 0, 0, 3, 192, 0, 0, + 170, 128, 216, 0, 228, 160, + 0, 0, 228, 128, 1, 0, + 0, 2, 0, 0, 8, 192, + 0, 0, 170, 128, 1, 0, + 0, 2, 5, 0, 8, 224, + 2, 0, 255, 144, 255, 255, + 0, 0, 83, 72, 68, 82, + 200, 4, 0, 0, 64, 0, + 1, 0, 50, 1, 0, 0, + 89, 0, 0, 4, 70, 142, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 89, 0, 0, 4, 70, 142, 32, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 89, 0, 0, 4, - 70, 142, 32, 0, 2, 0, - 0, 0, 21, 0, 0, 0, - 89, 8, 0, 4, 70, 142, - 32, 0, 4, 0, 0, 0, - 216, 0, 0, 0, 95, 0, - 0, 3, 242, 16, 16, 0, - 0, 0, 0, 0, 95, 0, - 0, 3, 114, 16, 16, 0, - 1, 0, 0, 0, 95, 0, - 0, 3, 242, 16, 16, 0, - 2, 0, 0, 0, 95, 0, - 0, 3, 242, 16, 16, 0, - 3, 0, 0, 0, 95, 0, - 0, 3, 50, 16, 16, 0, - 4, 0, 0, 0, 95, 0, - 0, 3, 18, 16, 16, 0, - 5, 0, 0, 0, 95, 0, - 0, 3, 18, 16, 16, 0, - 6, 0, 0, 0, 103, 0, - 0, 4, 242, 32, 16, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 1, 0, - 0, 0, 101, 0, 0, 3, - 50, 32, 16, 0, 2, 0, - 0, 0, 101, 0, 0, 3, - 114, 32, 16, 0, 3, 0, - 0, 0, 101, 0, 0, 3, - 114, 32, 16, 0, 4, 0, - 0, 0, 101, 0, 0, 3, - 114, 32, 16, 0, 5, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 6, 0, - 0, 0, 101, 0, 0, 3, - 114, 32, 16, 0, 7, 0, - 0, 0, 104, 0, 0, 2, - 5, 0, 0, 0, 38, 0, - 0, 8, 0, 208, 0, 0, - 18, 0, 16, 0, 0, 0, - 0, 0, 10, 16, 16, 0, - 5, 0, 0, 0, 1, 64, - 0, 0, 3, 0, 0, 0, - 56, 0, 0, 9, 242, 0, - 16, 0, 1, 0, 0, 0, - 6, 16, 16, 0, 6, 0, - 0, 0, 70, 142, 32, 4, - 4, 0, 0, 0, 10, 0, + 2, 0, 0, 0, 21, 0, + 0, 0, 89, 8, 0, 4, + 70, 142, 32, 0, 4, 0, + 0, 0, 216, 0, 0, 0, + 95, 0, 0, 3, 242, 16, 16, 0, 0, 0, 0, 0, - 17, 0, 0, 7, 18, 0, + 95, 0, 0, 3, 114, 16, + 16, 0, 1, 0, 0, 0, + 95, 0, 0, 3, 242, 16, 16, 0, 2, 0, 0, 0, - 70, 30, 16, 0, 0, 0, - 0, 0, 70, 14, 16, 0, - 1, 0, 0, 0, 56, 0, + 95, 0, 0, 3, 242, 16, + 16, 0, 3, 0, 0, 0, + 95, 0, 0, 3, 50, 16, + 16, 0, 4, 0, 0, 0, + 95, 0, 0, 3, 18, 16, + 16, 0, 5, 0, 0, 0, + 95, 0, 0, 3, 18, 16, + 16, 0, 6, 0, 0, 0, + 103, 0, 0, 4, 242, 32, + 16, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 50, 32, 16, 0, + 2, 0, 0, 0, 101, 0, + 0, 3, 114, 32, 16, 0, + 3, 0, 0, 0, 101, 0, + 0, 3, 114, 32, 16, 0, + 4, 0, 0, 0, 101, 0, + 0, 3, 114, 32, 16, 0, + 5, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 6, 0, 0, 0, 101, 0, + 0, 3, 114, 32, 16, 0, + 7, 0, 0, 0, 104, 0, + 0, 2, 5, 0, 0, 0, + 38, 0, 0, 8, 0, 208, + 0, 0, 18, 0, 16, 0, + 0, 0, 0, 0, 10, 16, + 16, 0, 5, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 56, 0, 0, 9, + 242, 0, 16, 0, 1, 0, + 0, 0, 6, 16, 16, 0, + 6, 0, 0, 0, 70, 142, + 32, 4, 4, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 17, 0, 0, 7, + 18, 0, 16, 0, 2, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 56, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 6, 16, 16, 0, 6, 0, + 0, 0, 70, 142, 32, 6, + 4, 0, 0, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 56, 0, 0, 10, 242, 0, 16, 0, - 3, 0, 0, 0, 6, 16, + 0, 0, 0, 0, 6, 16, 16, 0, 6, 0, 0, 0, 70, 142, 32, 6, 4, 0, - 0, 0, 1, 0, 0, 0, + 0, 0, 2, 0, 0, 0, 10, 0, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 10, - 242, 0, 16, 0, 0, 0, - 0, 0, 6, 16, 16, 0, - 6, 0, 0, 0, 70, 142, - 32, 6, 4, 0, 0, 0, - 2, 0, 0, 0, 10, 0, - 16, 0, 0, 0, 0, 0, - 17, 0, 0, 7, 34, 0, + 0, 0, 17, 0, 0, 7, + 34, 0, 16, 0, 2, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 17, 0, 0, 7, 66, 0, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, - 3, 0, 0, 0, 17, 0, - 0, 7, 66, 0, 16, 0, - 2, 0, 0, 0, 70, 30, + 0, 0, 0, 0, 54, 0, + 0, 5, 130, 0, 16, 0, + 2, 0, 0, 0, 58, 16, 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 0, 0, - 0, 0, 54, 0, 0, 5, - 130, 0, 16, 0, 2, 0, - 0, 0, 58, 16, 16, 0, - 0, 0, 0, 0, 17, 0, - 0, 8, 18, 32, 16, 0, - 0, 0, 0, 0, 70, 14, - 16, 0, 2, 0, 0, 0, - 70, 142, 32, 0, 2, 0, - 0, 0, 4, 0, 0, 0, - 17, 0, 0, 8, 34, 32, + 17, 0, 0, 8, 18, 32, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, - 2, 0, 0, 0, 5, 0, + 2, 0, 0, 0, 4, 0, 0, 0, 17, 0, 0, 8, - 66, 32, 16, 0, 0, 0, + 34, 32, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, 2, 0, 0, 0, - 6, 0, 0, 0, 17, 0, - 0, 8, 130, 32, 16, 0, + 5, 0, 0, 0, 17, 0, + 0, 8, 66, 32, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, 2, 0, - 0, 0, 7, 0, 0, 0, - 56, 0, 0, 8, 242, 32, - 16, 0, 1, 0, 0, 0, - 70, 30, 16, 0, 3, 0, + 0, 0, 6, 0, 0, 0, + 17, 0, 0, 8, 130, 32, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 54, 0, 0, 5, - 50, 0, 16, 0, 4, 0, - 0, 0, 70, 16, 16, 0, - 4, 0, 0, 0, 54, 0, - 0, 5, 66, 0, 16, 0, - 4, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 128, 63, - 16, 0, 0, 8, 18, 32, - 16, 0, 2, 0, 0, 0, - 70, 2, 16, 0, 4, 0, - 0, 0, 70, 131, 32, 0, - 2, 0, 0, 0, 16, 0, - 0, 0, 16, 0, 0, 8, - 34, 32, 16, 0, 2, 0, + 2, 0, 0, 0, 7, 0, + 0, 0, 56, 0, 0, 8, + 242, 32, 16, 0, 1, 0, + 0, 0, 70, 30, 16, 0, + 3, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 54, 0, + 0, 5, 50, 0, 16, 0, + 4, 0, 0, 0, 70, 16, + 16, 0, 4, 0, 0, 0, + 54, 0, 0, 5, 66, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 128, 63, 16, 0, 0, 8, + 18, 32, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, 70, 131, 32, 0, 2, 0, 0, 0, - 17, 0, 0, 0, 16, 0, - 0, 7, 18, 0, 16, 0, - 4, 0, 0, 0, 70, 18, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 16, 0, 0, 7, - 18, 32, 16, 0, 6, 0, - 0, 0, 70, 18, 16, 0, + 16, 0, 0, 0, 16, 0, + 0, 8, 34, 32, 16, 0, 2, 0, 0, 0, 70, 2, - 16, 0, 1, 0, 0, 0, - 16, 0, 0, 7, 34, 0, + 16, 0, 4, 0, 0, 0, + 70, 131, 32, 0, 2, 0, + 0, 0, 17, 0, 0, 0, + 16, 0, 0, 7, 18, 0, 16, 0, 4, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, - 3, 0, 0, 0, 16, 0, - 0, 7, 34, 32, 16, 0, + 1, 0, 0, 0, 16, 0, + 0, 7, 18, 32, 16, 0, 6, 0, 0, 0, 70, 18, 16, 0, 2, 0, 0, 0, - 70, 2, 16, 0, 3, 0, + 70, 2, 16, 0, 1, 0, 0, 0, 16, 0, 0, 7, - 66, 0, 16, 0, 4, 0, + 34, 0, 16, 0, 4, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 16, 0, 0, 7, 66, 32, + 16, 0, 3, 0, 0, 0, + 16, 0, 0, 7, 34, 32, 16, 0, 6, 0, 0, 0, 70, 18, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 16, 0, - 0, 8, 18, 32, 16, 0, - 3, 0, 0, 0, 70, 2, - 16, 0, 4, 0, 0, 0, - 70, 130, 32, 0, 2, 0, - 0, 0, 0, 0, 0, 0, - 16, 0, 0, 8, 34, 32, + 3, 0, 0, 0, 16, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 70, 18, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 16, 0, 0, 7, + 66, 32, 16, 0, 6, 0, + 0, 0, 70, 18, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 16, 0, 0, 8, 18, 32, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, 70, 130, 32, 0, - 2, 0, 0, 0, 1, 0, + 2, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 8, - 66, 32, 16, 0, 3, 0, + 34, 32, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, 70, 130, 32, 0, 2, 0, 0, 0, - 2, 0, 0, 0, 54, 0, - 0, 5, 114, 32, 16, 0, - 7, 0, 0, 0, 70, 2, + 1, 0, 0, 0, 16, 0, + 0, 8, 66, 32, 16, 0, + 3, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, - 17, 0, 0, 8, 18, 0, - 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 2, 0, - 0, 0, 70, 142, 32, 0, - 2, 0, 0, 0, 0, 0, + 70, 130, 32, 0, 2, 0, + 0, 0, 2, 0, 0, 0, + 54, 0, 0, 5, 114, 32, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 4, 0, 0, 0, 17, 0, 0, 8, - 34, 0, 16, 0, 0, 0, + 18, 0, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, 2, 0, 0, 0, - 1, 0, 0, 0, 17, 0, - 0, 8, 66, 0, 16, 0, + 0, 0, 0, 0, 17, 0, + 0, 8, 34, 0, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, 2, 0, - 0, 0, 2, 0, 0, 0, - 54, 0, 0, 5, 114, 32, - 16, 0, 4, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 0, 0, 0, 9, - 114, 32, 16, 0, 5, 0, - 0, 0, 70, 2, 16, 128, - 65, 0, 0, 0, 0, 0, - 0, 0, 70, 130, 32, 0, - 2, 0, 0, 0, 20, 0, + 0, 0, 1, 0, 0, 0, + 17, 0, 0, 8, 66, 0, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 70, 142, 32, 0, + 2, 0, 0, 0, 2, 0, 0, 0, 54, 0, 0, 5, - 130, 32, 16, 0, 6, 0, - 0, 0, 58, 16, 16, 0, - 2, 0, 0, 0, 62, 0, - 0, 1, 73, 83, 71, 78, - 244, 0, 0, 0, 7, 0, - 0, 0, 8, 0, 0, 0, - 176, 0, 0, 0, 0, 0, + 114, 32, 16, 0, 4, 0, + 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 15, 0, 0, - 188, 0, 0, 0, 0, 0, + 0, 9, 114, 32, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 70, 130, + 32, 0, 2, 0, 0, 0, + 20, 0, 0, 0, 54, 0, + 0, 5, 130, 32, 16, 0, + 6, 0, 0, 0, 58, 16, + 16, 0, 2, 0, 0, 0, + 62, 0, 0, 1, 73, 83, + 71, 78, 244, 0, 0, 0, + 7, 0, 0, 0, 8, 0, + 0, 0, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 7, 7, 0, 0, - 195, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 15, + 0, 0, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 15, 15, 0, 0, - 203, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 7, 7, + 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 3, 0, - 0, 0, 15, 15, 0, 0, - 209, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 2, 0, 0, 0, 15, 15, + 0, 0, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 4, 0, - 0, 0, 3, 3, 0, 0, - 218, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 15, 15, + 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 5, 0, - 0, 0, 15, 1, 0, 0, - 231, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 4, 0, 0, 0, 3, 3, + 0, 0, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 6, 0, - 0, 0, 15, 1, 0, 0, - 83, 86, 95, 80, 111, 115, - 105, 116, 105, 111, 110, 0, - 78, 79, 82, 77, 65, 76, - 0, 84, 65, 78, 71, 69, - 78, 84, 0, 67, 79, 76, - 79, 82, 0, 84, 69, 88, - 67, 79, 79, 82, 68, 0, - 66, 76, 69, 78, 68, 73, - 78, 68, 73, 67, 69, 83, - 0, 66, 76, 69, 78, 68, - 87, 69, 73, 71, 72, 84, - 0, 171, 79, 83, 71, 78, - 228, 0, 0, 0, 8, 0, - 0, 0, 8, 0, 0, 0, - 200, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 212, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 15, 0, 0, 0, - 218, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 15, 1, + 0, 0, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 3, 12, 0, 0, - 218, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 3, 0, - 0, 0, 7, 8, 0, 0, - 218, 0, 0, 0, 2, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 4, 0, - 0, 0, 7, 8, 0, 0, - 218, 0, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 5, 0, - 0, 0, 7, 8, 0, 0, - 218, 0, 0, 0, 4, 0, + 0, 0, 3, 0, 0, 0, + 6, 0, 0, 0, 15, 1, + 0, 0, 83, 86, 95, 80, + 111, 115, 105, 116, 105, 111, + 110, 0, 78, 79, 82, 77, + 65, 76, 0, 84, 65, 78, + 71, 69, 78, 84, 0, 67, + 79, 76, 79, 82, 0, 84, + 69, 88, 67, 79, 79, 82, + 68, 0, 66, 76, 69, 78, + 68, 73, 78, 68, 73, 67, + 69, 83, 0, 66, 76, 69, + 78, 68, 87, 69, 73, 71, + 72, 84, 0, 171, 79, 83, + 71, 78, 228, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 200, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 6, 0, - 0, 0, 15, 0, 0, 0, - 218, 0, 0, 0, 5, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 15, 0, + 0, 0, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 7, 0, - 0, 0, 7, 8, 0, 0, - 83, 86, 95, 80, 79, 83, - 73, 84, 73, 79, 78, 0, - 67, 79, 76, 79, 82, 0, - 84, 69, 88, 67, 79, 79, - 82, 68, 0, 171 + 0, 0, 3, 0, 0, 0, + 2, 0, 0, 0, 3, 12, + 0, 0, 218, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 7, 8, + 0, 0, 218, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 4, 0, 0, 0, 7, 8, + 0, 0, 218, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 5, 0, 0, 0, 7, 8, + 0, 0, 218, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 6, 0, 0, 0, 15, 0, + 0, 0, 218, 0, 0, 0, + 5, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 7, 0, 0, 0, 7, 8, + 0, 0, 83, 86, 95, 80, + 79, 83, 73, 84, 73, 79, + 78, 0, 67, 79, 76, 79, + 82, 0, 84, 69, 88, 67, + 79, 79, 82, 68, 0, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLEffect_main2Bones.inc b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLEffect_main2Bones.inc index 847b128c..5f4e67ef 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLEffect_main2Bones.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLEffect_main2Bones.inc @@ -52,50 +52,78 @@ // vs_2_0 def c228, 3, 1, 0, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 - dcl_texcoord3 v3 - dcl_texcoord4 v4 - dcl_texcoord5 v5 + dcl_texcoord v0 // vertex<0,1,2,3> + dcl_texcoord1 v1 // vertex<4,5,6> + dcl_texcoord2 v2 // vertex<7,8,9,10> + dcl_texcoord3 v3 // vertex<11,12> + dcl_texcoord4 v4 // vertex<13,14,15,16> + dcl_texcoord5 v5 // vertex<17,18,19,20> + +#line 97 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\DGSLEffect.fx" mul r0.xy, v4, c228.x mova a0.xy, r0.yxzw mul r0, v5.y, c0[a0.x] - mad r0, c0[a0.y], v5.x, r0 - dp3 oT5.x, v2, r0 + mad r0, c0[a0.y], v5.x, r0 // ::skinning<0,3,6,9> + +#line 102 + dp3 oT5.x, v2, r0 // ::main2Bones<19> + +#line 97 mul r1, v5.y, c1[a0.x] mul r2, v5.y, c2[a0.x] - mad r2, c2[a0.y], v5.x, r2 - mad r1, c1[a0.y], v5.x, r1 - dp3 oT5.y, v2, r1 - dp3 oT5.z, v2, r2 - dp4 r3.x, v0, r0 - dp3 r0.x, v1, r0 - dp4 r3.y, v0, r1 - dp3 r0.y, v1, r1 - dp4 r3.z, v0, r2 - dp3 r0.z, v1, r2 + mad r2, c2[a0.y], v5.x, r2 // ::skinning<2,5,8,11> + mad r1, c1[a0.y], v5.x, r1 // ::skinning<1,4,7,10> + +#line 102 + dp3 oT5.y, v2, r1 // ::main2Bones<20> + dp3 oT5.z, v2, r2 // ::main2Bones<21> + dp4 r3.x, v0, r0 // Skin::vertex<0> + dp3 r0.x, v1, r0 // Skin::vertex<4> + dp4 r3.y, v0, r1 // Skin::vertex<1> + dp3 r0.y, v1, r1 // Skin::vertex<5> + dp4 r3.z, v0, r2 // Skin::vertex<2> + dp3 r0.z, v1, r2 // Skin::vertex<6> + +#line 192 mov r3.w, v0.w - dp4 oPos.z, r3, c223 + +#line 195 + dp4 oPos.z, r3, c223 // ::main2Bones<2> mad r1.xyz, v3.xyxw, c228.yyzw, c228.zzyw - dp3 oT1.x, r1, c225.xyww - dp3 oT1.y, r1, c226.xyww - dp3 oT2.x, r0, c218 - dp3 oT2.y, r0, c219 - dp3 oT2.z, r0, c220 - mov oT6.xyz, r0 - dp4 r0.x, r3, c218 - dp4 r0.y, r3, c219 - dp4 r0.z, r3, c220 - add oT4.xyz, -r0, c227 - mov oT3.xyz, r0 - dp4 r0.x, r3, c221 - dp4 r0.y, r3, c222 - dp4 r0.z, r3, c224 - mad oPos.xy, r0.z, c216, r0 - mov oPos.w, r0.z - mov oT0, c217 - mov oT5.w, v2.w + dp3 oT1.x, r1, c225.xyww // ::main2Bones<8> + dp3 oT1.y, r1, c226.xyww // ::main2Bones<9> + dp3 oT2.x, r0, c218 // ::main2Bones<10> + dp3 oT2.y, r0, c219 // ::main2Bones<11> + dp3 oT2.z, r0, c220 // ::main2Bones<12> + +#line 101 + mov oT6.xyz, r0 // ::main2Bones<23,24,25> + +#line 192 + dp4 r0.x, r3, c218 // ::wp<0> + dp4 r0.y, r3, c219 // ::wp<1> + dp4 r0.z, r3, c220 // ::wp<2> + +#line 200 + add oT4.xyz, -r0, c227 // ::main2Bones<16,17,18> + +#line 192 + mov oT3.xyz, r0 // ::main2Bones<13,14,15> + +#line 195 + dp4 r0.x, r3, c221 // ::result<0> + dp4 r0.y, r3, c222 // ::result<1> + dp4 r0.z, r3, c224 // ::result<3> + +#line 186 + mad oPos.xy, r0.z, c216, r0 // ::main2Bones<0,1> + mov oPos.w, r0.z // ::main2Bones<3> + +#line 196 + mov oT0, c217 // ::main2Bones<4,5,6,7> + +#line 102 + mov oT5.w, v2.w // ::main2Bones<22> // approximately 38 instruction slots used vs_4_0 @@ -159,17 +187,17 @@ ret const BYTE DGSLEffect_main2Bones[] = { - 68, 88, 66, 67, 200, 61, - 157, 197, 213, 10, 37, 211, - 99, 247, 63, 150, 248, 58, - 224, 166, 1, 0, 0, 0, - 160, 10, 0, 0, 4, 0, + 68, 88, 66, 67, 139, 240, + 154, 192, 91, 144, 240, 213, + 181, 251, 99, 29, 57, 102, + 52, 224, 1, 0, 0, 0, + 92, 16, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 128, 3, 0, 0, 212, 8, - 0, 0, 180, 9, 0, 0, - 65, 111, 110, 57, 72, 3, - 0, 0, 72, 3, 0, 0, - 0, 2, 254, 255, 216, 2, + 60, 9, 0, 0, 144, 14, + 0, 0, 112, 15, 0, 0, + 65, 111, 110, 57, 4, 9, + 0, 0, 4, 9, 0, 0, + 0, 2, 254, 255, 148, 8, 0, 0, 112, 0, 0, 0, 6, 0, 36, 0, 0, 0, 108, 0, 0, 0, 108, 0, @@ -187,430 +215,674 @@ const BYTE DGSLEffect_main2Bones[] = 0, 0, 2, 0, 20, 0, 1, 0, 227, 0, 0, 0, 0, 0, 0, 0, 216, 0, - 0, 2, 254, 255, 81, 0, - 0, 5, 228, 0, 15, 160, - 0, 0, 64, 64, 0, 0, - 128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 1, 128, - 1, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 2, 128, - 2, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 3, 128, - 3, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 4, 128, - 4, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 5, 128, - 5, 0, 15, 144, 5, 0, - 0, 3, 0, 0, 3, 128, - 4, 0, 228, 144, 228, 0, - 0, 160, 46, 0, 0, 2, - 0, 0, 3, 176, 0, 0, - 225, 128, 5, 0, 0, 4, - 0, 0, 15, 128, 5, 0, - 85, 144, 0, 32, 228, 160, - 0, 0, 0, 176, 4, 0, - 0, 5, 0, 0, 15, 128, + 0, 2, 254, 255, 254, 255, + 110, 1, 68, 66, 85, 71, + 40, 0, 0, 0, 140, 5, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 116, 0, + 0, 0, 45, 0, 0, 0, + 120, 0, 0, 0, 6, 0, + 0, 0, 20, 5, 0, 0, + 224, 1, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 68, 71, + 83, 76, 69, 102, 102, 101, + 99, 116, 46, 102, 120, 0, + 171, 171, 40, 0, 0, 0, + 0, 0, 255, 255, 192, 5, + 0, 0, 0, 0, 255, 255, + 216, 5, 0, 0, 0, 0, + 255, 255, 228, 5, 0, 0, + 0, 0, 255, 255, 240, 5, + 0, 0, 0, 0, 255, 255, + 252, 5, 0, 0, 0, 0, + 255, 255, 8, 6, 0, 0, + 0, 0, 255, 255, 20, 6, + 0, 0, 97, 0, 0, 0, + 32, 6, 0, 0, 97, 0, + 0, 0, 48, 6, 0, 0, + 97, 0, 0, 0, 60, 6, + 0, 0, 97, 0, 0, 0, + 80, 6, 0, 0, 102, 0, + 0, 0, 104, 6, 0, 0, + 97, 0, 0, 0, 120, 6, + 0, 0, 97, 0, 0, 0, + 140, 6, 0, 0, 97, 0, + 0, 0, 160, 6, 0, 0, + 97, 0, 0, 0, 184, 6, + 0, 0, 102, 0, 0, 0, + 208, 6, 0, 0, 102, 0, + 0, 0, 224, 6, 0, 0, + 100, 0, 0, 0, 240, 6, + 0, 0, 101, 0, 0, 0, + 0, 7, 0, 0, 100, 0, + 0, 0, 16, 7, 0, 0, + 101, 0, 0, 0, 32, 7, + 0, 0, 100, 0, 0, 0, + 48, 7, 0, 0, 101, 0, + 0, 0, 64, 7, 0, 0, + 192, 0, 0, 0, 80, 7, + 0, 0, 195, 0, 0, 0, + 92, 7, 0, 0, 197, 0, + 0, 0, 108, 7, 0, 0, + 197, 0, 0, 0, 128, 7, + 0, 0, 197, 0, 0, 0, + 144, 7, 0, 0, 198, 0, + 0, 0, 160, 7, 0, 0, + 198, 0, 0, 0, 176, 7, + 0, 0, 198, 0, 0, 0, + 192, 7, 0, 0, 101, 0, + 0, 0, 208, 7, 0, 0, + 192, 0, 0, 0, 220, 7, + 0, 0, 192, 0, 0, 0, + 236, 7, 0, 0, 192, 0, + 0, 0, 252, 7, 0, 0, + 200, 0, 0, 0, 12, 8, + 0, 0, 192, 0, 0, 0, + 28, 8, 0, 0, 195, 0, + 0, 0, 40, 8, 0, 0, + 195, 0, 0, 0, 56, 8, + 0, 0, 195, 0, 0, 0, + 72, 8, 0, 0, 186, 0, + 0, 0, 88, 8, 0, 0, + 186, 0, 0, 0, 108, 8, + 0, 0, 196, 0, 0, 0, + 120, 8, 0, 0, 102, 0, + 0, 0, 132, 8, 0, 0, + 109, 97, 105, 110, 50, 66, + 111, 110, 101, 115, 0, 112, + 111, 115, 0, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 100, 105, 102, 102, + 117, 115, 101, 0, 117, 118, + 0, 171, 1, 0, 3, 0, + 1, 0, 2, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 119, 111, 114, 108, 100, 78, + 111, 114, 109, 0, 171, 171, + 1, 0, 3, 0, 1, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 119, 111, + 114, 108, 100, 80, 111, 115, + 0, 116, 111, 69, 121, 101, + 0, 116, 97, 110, 103, 101, + 110, 116, 0, 110, 111, 114, + 109, 97, 108, 0, 171, 171, + 235, 1, 0, 0, 240, 1, + 0, 0, 0, 2, 0, 0, + 240, 1, 0, 0, 8, 2, + 0, 0, 12, 2, 0, 0, + 28, 2, 0, 0, 40, 2, + 0, 0, 56, 2, 0, 0, + 40, 2, 0, 0, 65, 2, + 0, 0, 40, 2, 0, 0, + 71, 2, 0, 0, 240, 1, + 0, 0, 79, 2, 0, 0, + 40, 2, 0, 0, 5, 0, + 0, 0, 1, 0, 26, 0, + 1, 0, 8, 0, 88, 2, + 0, 0, 11, 0, 0, 0, + 19, 0, 255, 255, 255, 255, + 255, 255, 16, 0, 0, 0, + 255, 255, 20, 0, 255, 255, + 255, 255, 17, 0, 0, 0, + 255, 255, 255, 255, 21, 0, + 255, 255, 25, 0, 0, 0, + 255, 255, 255, 255, 2, 0, + 255, 255, 27, 0, 0, 0, + 8, 0, 255, 255, 255, 255, + 255, 255, 28, 0, 0, 0, + 255, 255, 9, 0, 255, 255, + 255, 255, 29, 0, 0, 0, + 10, 0, 255, 255, 255, 255, + 255, 255, 30, 0, 0, 0, + 255, 255, 11, 0, 255, 255, + 255, 255, 31, 0, 0, 0, + 255, 255, 255, 255, 12, 0, + 255, 255, 32, 0, 0, 0, + 23, 0, 24, 0, 25, 0, + 255, 255, 36, 0, 0, 0, + 16, 0, 17, 0, 18, 0, + 255, 255, 37, 0, 0, 0, + 13, 0, 14, 0, 15, 0, + 255, 255, 41, 0, 0, 0, + 0, 0, 1, 0, 255, 255, + 255, 255, 42, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 3, 0, 43, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 7, 0, 44, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 22, 0, 114, 101, 115, 117, + 108, 116, 0, 171, 5, 0, + 0, 0, 1, 0, 26, 0, + 1, 0, 8, 0, 88, 2, + 0, 0, 38, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 39, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 40, 0, 0, 0, + 255, 255, 255, 255, 3, 0, + 255, 255, 115, 107, 105, 110, + 110, 105, 110, 103, 0, 171, + 171, 171, 3, 0, 3, 0, + 4, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 10, 0, 0, 0, 0, 0, + 3, 0, 6, 0, 9, 0, + 14, 0, 0, 0, 2, 0, + 5, 0, 8, 0, 11, 0, + 15, 0, 0, 0, 1, 0, + 4, 0, 7, 0, 10, 0, + 83, 107, 105, 110, 0, 118, + 101, 114, 116, 101, 120, 0, + 98, 111, 110, 101, 73, 110, + 100, 105, 99, 101, 115, 0, + 1, 0, 2, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 98, 108, + 101, 110, 100, 87, 101, 105, + 103, 104, 116, 115, 0, 171, + 171, 171, 235, 1, 0, 0, + 240, 1, 0, 0, 79, 2, + 0, 0, 40, 2, 0, 0, + 71, 2, 0, 0, 240, 1, + 0, 0, 8, 2, 0, 0, + 12, 2, 0, 0, 240, 3, + 0, 0, 252, 3, 0, 0, + 12, 4, 0, 0, 240, 1, + 0, 0, 5, 0, 0, 0, + 1, 0, 21, 0, 1, 0, + 6, 0, 28, 4, 0, 0, + 18, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 19, 0, 0, 0, 4, 0, + 255, 255, 255, 255, 255, 255, + 20, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 21, 0, 0, 0, 255, 255, + 5, 0, 255, 255, 255, 255, + 22, 0, 0, 0, 255, 255, + 255, 255, 2, 0, 255, 255, + 23, 0, 0, 0, 255, 255, + 255, 255, 6, 0, 255, 255, + 1, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 2, 0, 0, 0, 4, 0, + 5, 0, 6, 0, 255, 255, + 3, 0, 0, 0, 7, 0, + 8, 0, 9, 0, 10, 0, + 4, 0, 0, 0, 11, 0, + 12, 0, 255, 255, 255, 255, + 5, 0, 0, 0, 13, 0, + 14, 0, 15, 0, 16, 0, + 6, 0, 0, 0, 17, 0, + 18, 0, 19, 0, 20, 0, + 119, 112, 0, 171, 33, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 34, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 35, 0, + 0, 0, 255, 255, 255, 255, + 2, 0, 255, 255, 0, 0, + 0, 0, 224, 1, 0, 0, + 152, 2, 0, 0, 16, 0, + 0, 0, 168, 2, 0, 0, + 0, 0, 0, 0, 104, 3, + 0, 0, 112, 3, 0, 0, + 3, 0, 0, 0, 128, 3, + 0, 0, 0, 0, 0, 0, + 164, 3, 0, 0, 176, 3, + 0, 0, 3, 0, 0, 0, + 192, 3, 0, 0, 228, 3, + 0, 0, 233, 3, 0, 0, + 76, 4, 0, 0, 6, 0, + 0, 0, 92, 4, 0, 0, + 224, 1, 0, 0, 233, 3, + 0, 0, 76, 4, 0, 0, + 6, 0, 0, 0, 164, 4, + 0, 0, 0, 0, 0, 0, + 236, 4, 0, 0, 40, 2, + 0, 0, 3, 0, 0, 0, + 240, 4, 0, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 81, 0, 0, 5, + 228, 0, 15, 160, 0, 0, + 64, 64, 0, 0, 128, 63, + 0, 0, 0, 0, 0, 0, + 0, 0, 31, 0, 0, 2, + 5, 0, 0, 128, 0, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 1, 128, 1, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 2, 128, 2, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 3, 128, 3, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 4, 128, 4, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 5, 128, 5, 0, + 15, 144, 5, 0, 0, 3, + 0, 0, 3, 128, 4, 0, + 228, 144, 228, 0, 0, 160, + 46, 0, 0, 2, 0, 0, + 3, 176, 0, 0, 225, 128, + 5, 0, 0, 4, 0, 0, + 15, 128, 5, 0, 85, 144, 0, 32, 228, 160, 0, 0, + 0, 176, 4, 0, 0, 5, + 0, 0, 15, 128, 0, 32, + 228, 160, 0, 0, 85, 176, + 5, 0, 0, 144, 0, 0, + 228, 128, 8, 0, 0, 3, + 5, 0, 1, 224, 2, 0, + 228, 144, 0, 0, 228, 128, + 5, 0, 0, 4, 1, 0, + 15, 128, 5, 0, 85, 144, + 1, 32, 228, 160, 0, 0, + 0, 176, 5, 0, 0, 4, + 2, 0, 15, 128, 5, 0, + 85, 144, 2, 32, 228, 160, + 0, 0, 0, 176, 4, 0, + 0, 5, 2, 0, 15, 128, + 2, 32, 228, 160, 0, 0, + 85, 176, 5, 0, 0, 144, + 2, 0, 228, 128, 4, 0, + 0, 5, 1, 0, 15, 128, + 1, 32, 228, 160, 0, 0, 85, 176, 5, 0, 0, 144, - 0, 0, 228, 128, 8, 0, - 0, 3, 5, 0, 1, 224, - 2, 0, 228, 144, 0, 0, - 228, 128, 5, 0, 0, 4, - 1, 0, 15, 128, 5, 0, - 85, 144, 1, 32, 228, 160, - 0, 0, 0, 176, 5, 0, - 0, 4, 2, 0, 15, 128, - 5, 0, 85, 144, 2, 32, - 228, 160, 0, 0, 0, 176, - 4, 0, 0, 5, 2, 0, - 15, 128, 2, 32, 228, 160, - 0, 0, 85, 176, 5, 0, - 0, 144, 2, 0, 228, 128, - 4, 0, 0, 5, 1, 0, - 15, 128, 1, 32, 228, 160, - 0, 0, 85, 176, 5, 0, - 0, 144, 1, 0, 228, 128, - 8, 0, 0, 3, 5, 0, - 2, 224, 2, 0, 228, 144, 1, 0, 228, 128, 8, 0, - 0, 3, 5, 0, 4, 224, - 2, 0, 228, 144, 2, 0, + 0, 3, 5, 0, 2, 224, + 2, 0, 228, 144, 1, 0, + 228, 128, 8, 0, 0, 3, + 5, 0, 4, 224, 2, 0, + 228, 144, 2, 0, 228, 128, + 9, 0, 0, 3, 3, 0, + 1, 128, 0, 0, 228, 144, + 0, 0, 228, 128, 8, 0, + 0, 3, 0, 0, 1, 128, + 1, 0, 228, 144, 0, 0, 228, 128, 9, 0, 0, 3, - 3, 0, 1, 128, 0, 0, - 228, 144, 0, 0, 228, 128, + 3, 0, 2, 128, 0, 0, + 228, 144, 1, 0, 228, 128, 8, 0, 0, 3, 0, 0, - 1, 128, 1, 0, 228, 144, - 0, 0, 228, 128, 9, 0, - 0, 3, 3, 0, 2, 128, - 0, 0, 228, 144, 1, 0, + 2, 128, 1, 0, 228, 144, + 1, 0, 228, 128, 9, 0, + 0, 3, 3, 0, 4, 128, + 0, 0, 228, 144, 2, 0, 228, 128, 8, 0, 0, 3, - 0, 0, 2, 128, 1, 0, - 228, 144, 1, 0, 228, 128, - 9, 0, 0, 3, 3, 0, - 4, 128, 0, 0, 228, 144, - 2, 0, 228, 128, 8, 0, - 0, 3, 0, 0, 4, 128, - 1, 0, 228, 144, 2, 0, - 228, 128, 1, 0, 0, 2, - 3, 0, 8, 128, 0, 0, - 255, 144, 9, 0, 0, 3, - 0, 0, 4, 192, 3, 0, - 228, 128, 223, 0, 228, 160, - 4, 0, 0, 4, 1, 0, - 7, 128, 3, 0, 196, 144, - 228, 0, 229, 160, 228, 0, - 218, 160, 8, 0, 0, 3, - 1, 0, 1, 224, 1, 0, - 228, 128, 225, 0, 244, 160, + 0, 0, 4, 128, 1, 0, + 228, 144, 2, 0, 228, 128, + 1, 0, 0, 2, 3, 0, + 8, 128, 0, 0, 255, 144, + 9, 0, 0, 3, 0, 0, + 4, 192, 3, 0, 228, 128, + 223, 0, 228, 160, 4, 0, + 0, 4, 1, 0, 7, 128, + 3, 0, 196, 144, 228, 0, + 229, 160, 228, 0, 218, 160, 8, 0, 0, 3, 1, 0, - 2, 224, 1, 0, 228, 128, - 226, 0, 244, 160, 8, 0, - 0, 3, 2, 0, 1, 224, - 0, 0, 228, 128, 218, 0, - 228, 160, 8, 0, 0, 3, - 2, 0, 2, 224, 0, 0, - 228, 128, 219, 0, 228, 160, + 1, 224, 1, 0, 228, 128, + 225, 0, 244, 160, 8, 0, + 0, 3, 1, 0, 2, 224, + 1, 0, 228, 128, 226, 0, + 244, 160, 8, 0, 0, 3, + 2, 0, 1, 224, 0, 0, + 228, 128, 218, 0, 228, 160, 8, 0, 0, 3, 2, 0, - 4, 224, 0, 0, 228, 128, - 220, 0, 228, 160, 1, 0, - 0, 2, 6, 0, 7, 224, - 0, 0, 228, 128, 9, 0, - 0, 3, 0, 0, 1, 128, - 3, 0, 228, 128, 218, 0, - 228, 160, 9, 0, 0, 3, - 0, 0, 2, 128, 3, 0, - 228, 128, 219, 0, 228, 160, - 9, 0, 0, 3, 0, 0, - 4, 128, 3, 0, 228, 128, - 220, 0, 228, 160, 2, 0, - 0, 3, 4, 0, 7, 224, - 0, 0, 228, 129, 227, 0, + 2, 224, 0, 0, 228, 128, + 219, 0, 228, 160, 8, 0, + 0, 3, 2, 0, 4, 224, + 0, 0, 228, 128, 220, 0, 228, 160, 1, 0, 0, 2, - 3, 0, 7, 224, 0, 0, + 6, 0, 7, 224, 0, 0, 228, 128, 9, 0, 0, 3, 0, 0, 1, 128, 3, 0, - 228, 128, 221, 0, 228, 160, + 228, 128, 218, 0, 228, 160, 9, 0, 0, 3, 0, 0, 2, 128, 3, 0, 228, 128, - 222, 0, 228, 160, 9, 0, + 219, 0, 228, 160, 9, 0, 0, 3, 0, 0, 4, 128, - 3, 0, 228, 128, 224, 0, - 228, 160, 4, 0, 0, 4, - 0, 0, 3, 192, 0, 0, - 170, 128, 216, 0, 228, 160, - 0, 0, 228, 128, 1, 0, - 0, 2, 0, 0, 8, 192, - 0, 0, 170, 128, 1, 0, - 0, 2, 0, 0, 15, 224, - 217, 0, 228, 160, 1, 0, - 0, 2, 5, 0, 8, 224, - 2, 0, 255, 144, 255, 255, - 0, 0, 83, 72, 68, 82, - 76, 5, 0, 0, 64, 0, - 1, 0, 83, 1, 0, 0, - 89, 0, 0, 4, 70, 142, - 32, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 89, 0, + 3, 0, 228, 128, 220, 0, + 228, 160, 2, 0, 0, 3, + 4, 0, 7, 224, 0, 0, + 228, 129, 227, 0, 228, 160, + 1, 0, 0, 2, 3, 0, + 7, 224, 0, 0, 228, 128, + 9, 0, 0, 3, 0, 0, + 1, 128, 3, 0, 228, 128, + 221, 0, 228, 160, 9, 0, + 0, 3, 0, 0, 2, 128, + 3, 0, 228, 128, 222, 0, + 228, 160, 9, 0, 0, 3, + 0, 0, 4, 128, 3, 0, + 228, 128, 224, 0, 228, 160, + 4, 0, 0, 4, 0, 0, + 3, 192, 0, 0, 170, 128, + 216, 0, 228, 160, 0, 0, + 228, 128, 1, 0, 0, 2, + 0, 0, 8, 192, 0, 0, + 170, 128, 1, 0, 0, 2, + 0, 0, 15, 224, 217, 0, + 228, 160, 1, 0, 0, 2, + 5, 0, 8, 224, 2, 0, + 255, 144, 255, 255, 0, 0, + 83, 72, 68, 82, 76, 5, + 0, 0, 64, 0, 1, 0, + 83, 1, 0, 0, 89, 0, 0, 4, 70, 142, 32, 0, - 2, 0, 0, 0, 21, 0, - 0, 0, 89, 8, 0, 4, - 70, 142, 32, 0, 4, 0, - 0, 0, 216, 0, 0, 0, - 95, 0, 0, 3, 242, 16, - 16, 0, 0, 0, 0, 0, - 95, 0, 0, 3, 114, 16, - 16, 0, 1, 0, 0, 0, - 95, 0, 0, 3, 242, 16, - 16, 0, 2, 0, 0, 0, - 95, 0, 0, 3, 50, 16, - 16, 0, 3, 0, 0, 0, - 95, 0, 0, 3, 50, 16, - 16, 0, 4, 0, 0, 0, - 95, 0, 0, 3, 50, 16, - 16, 0, 5, 0, 0, 0, - 103, 0, 0, 4, 242, 32, - 16, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 50, 32, 16, 0, - 2, 0, 0, 0, 101, 0, - 0, 3, 114, 32, 16, 0, - 3, 0, 0, 0, 101, 0, - 0, 3, 114, 32, 16, 0, - 4, 0, 0, 0, 101, 0, - 0, 3, 114, 32, 16, 0, - 5, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 6, 0, 0, 0, 101, 0, - 0, 3, 114, 32, 16, 0, - 7, 0, 0, 0, 104, 0, - 0, 2, 5, 0, 0, 0, - 38, 0, 0, 11, 0, 208, - 0, 0, 50, 0, 16, 0, - 0, 0, 0, 0, 70, 16, - 16, 0, 4, 0, 0, 0, - 2, 64, 0, 0, 3, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 89, 0, 0, 4, + 70, 142, 32, 0, 2, 0, + 0, 0, 21, 0, 0, 0, + 89, 8, 0, 4, 70, 142, + 32, 0, 4, 0, 0, 0, + 216, 0, 0, 0, 95, 0, + 0, 3, 242, 16, 16, 0, + 0, 0, 0, 0, 95, 0, + 0, 3, 114, 16, 16, 0, + 1, 0, 0, 0, 95, 0, + 0, 3, 242, 16, 16, 0, + 2, 0, 0, 0, 95, 0, + 0, 3, 50, 16, 16, 0, + 3, 0, 0, 0, 95, 0, + 0, 3, 50, 16, 16, 0, + 4, 0, 0, 0, 95, 0, + 0, 3, 50, 16, 16, 0, + 5, 0, 0, 0, 103, 0, + 0, 4, 242, 32, 16, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 1, 0, + 0, 0, 101, 0, 0, 3, + 50, 32, 16, 0, 2, 0, + 0, 0, 101, 0, 0, 3, + 114, 32, 16, 0, 3, 0, + 0, 0, 101, 0, 0, 3, + 114, 32, 16, 0, 4, 0, + 0, 0, 101, 0, 0, 3, + 114, 32, 16, 0, 5, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 6, 0, + 0, 0, 101, 0, 0, 3, + 114, 32, 16, 0, 7, 0, + 0, 0, 104, 0, 0, 2, + 5, 0, 0, 0, 38, 0, + 0, 11, 0, 208, 0, 0, + 50, 0, 16, 0, 0, 0, + 0, 0, 70, 16, 16, 0, + 4, 0, 0, 0, 2, 64, 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 56, 0, 0, 9, - 242, 0, 16, 0, 1, 0, - 0, 0, 86, 21, 16, 0, - 5, 0, 0, 0, 70, 142, - 32, 4, 4, 0, 0, 0, - 26, 0, 16, 0, 0, 0, - 0, 0, 50, 0, 0, 11, - 242, 0, 16, 0, 1, 0, + 56, 0, 0, 9, 242, 0, + 16, 0, 1, 0, 0, 0, + 86, 21, 16, 0, 5, 0, 0, 0, 70, 142, 32, 4, - 4, 0, 0, 0, 10, 0, + 4, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 50, 0, 0, 11, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 142, 32, 4, 4, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 6, 16, + 16, 0, 5, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 17, 0, 0, 7, + 18, 0, 16, 0, 2, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 56, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 86, 21, 16, 0, 5, 0, + 0, 0, 70, 142, 32, 6, + 4, 0, 0, 0, 1, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 50, 0, + 0, 12, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 142, + 32, 6, 4, 0, 0, 0, + 1, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, 6, 16, 16, 0, 5, 0, 0, 0, 70, 14, 16, 0, - 1, 0, 0, 0, 17, 0, - 0, 7, 18, 0, 16, 0, + 3, 0, 0, 0, 17, 0, + 0, 7, 34, 0, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 1, 0, + 70, 14, 16, 0, 3, 0, 0, 0, 56, 0, 0, 10, - 242, 0, 16, 0, 3, 0, + 242, 0, 16, 0, 4, 0, 0, 0, 86, 21, 16, 0, 5, 0, 0, 0, 70, 142, 32, 6, 4, 0, 0, 0, - 1, 0, 0, 0, 26, 0, + 2, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 50, 0, 0, 12, 242, 0, - 16, 0, 3, 0, 0, 0, + 16, 0, 0, 0, 0, 0, 70, 142, 32, 6, 4, 0, - 0, 0, 1, 0, 0, 0, + 0, 0, 2, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, 6, 16, 16, 0, 5, 0, 0, 0, 70, 14, - 16, 0, 3, 0, 0, 0, - 17, 0, 0, 7, 34, 0, + 16, 0, 4, 0, 0, 0, + 17, 0, 0, 7, 66, 0, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, - 3, 0, 0, 0, 56, 0, - 0, 10, 242, 0, 16, 0, - 4, 0, 0, 0, 86, 21, - 16, 0, 5, 0, 0, 0, - 70, 142, 32, 6, 4, 0, - 0, 0, 2, 0, 0, 0, - 26, 0, 16, 0, 0, 0, - 0, 0, 50, 0, 0, 12, - 242, 0, 16, 0, 0, 0, - 0, 0, 70, 142, 32, 6, - 4, 0, 0, 0, 2, 0, - 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 6, 16, - 16, 0, 5, 0, 0, 0, - 70, 14, 16, 0, 4, 0, - 0, 0, 17, 0, 0, 7, - 66, 0, 16, 0, 2, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 70, 14, + 0, 0, 0, 0, 54, 0, + 0, 5, 130, 0, 16, 0, + 2, 0, 0, 0, 58, 16, 16, 0, 0, 0, 0, 0, - 54, 0, 0, 5, 130, 0, - 16, 0, 2, 0, 0, 0, - 58, 16, 16, 0, 0, 0, + 17, 0, 0, 8, 18, 32, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 70, 142, 32, 0, + 2, 0, 0, 0, 4, 0, 0, 0, 17, 0, 0, 8, - 18, 32, 16, 0, 0, 0, + 34, 32, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, 2, 0, 0, 0, - 4, 0, 0, 0, 17, 0, - 0, 8, 34, 32, 16, 0, + 5, 0, 0, 0, 17, 0, + 0, 8, 66, 32, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, 2, 0, - 0, 0, 5, 0, 0, 0, - 17, 0, 0, 8, 66, 32, + 0, 0, 6, 0, 0, 0, + 17, 0, 0, 8, 130, 32, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, - 2, 0, 0, 0, 6, 0, - 0, 0, 17, 0, 0, 8, - 130, 32, 16, 0, 0, 0, - 0, 0, 70, 14, 16, 0, - 2, 0, 0, 0, 70, 142, - 32, 0, 2, 0, 0, 0, - 7, 0, 0, 0, 54, 0, - 0, 6, 242, 32, 16, 0, - 1, 0, 0, 0, 70, 142, - 32, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 54, 0, - 0, 5, 50, 0, 16, 0, - 4, 0, 0, 0, 70, 16, - 16, 0, 3, 0, 0, 0, - 54, 0, 0, 5, 66, 0, - 16, 0, 4, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 128, 63, 16, 0, 0, 8, - 18, 32, 16, 0, 2, 0, + 2, 0, 0, 0, 7, 0, + 0, 0, 54, 0, 0, 6, + 242, 32, 16, 0, 1, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 54, 0, 0, 5, + 50, 0, 16, 0, 4, 0, + 0, 0, 70, 16, 16, 0, + 3, 0, 0, 0, 54, 0, + 0, 5, 66, 0, 16, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 128, 63, + 16, 0, 0, 8, 18, 32, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 70, 131, 32, 0, + 2, 0, 0, 0, 16, 0, + 0, 0, 16, 0, 0, 8, + 34, 32, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, 70, 131, 32, 0, 2, 0, 0, 0, - 16, 0, 0, 0, 16, 0, - 0, 8, 34, 32, 16, 0, + 17, 0, 0, 0, 16, 0, + 0, 7, 18, 0, 16, 0, + 4, 0, 0, 0, 70, 18, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 16, 0, 0, 7, + 18, 32, 16, 0, 6, 0, + 0, 0, 70, 18, 16, 0, 2, 0, 0, 0, 70, 2, - 16, 0, 4, 0, 0, 0, - 70, 131, 32, 0, 2, 0, - 0, 0, 17, 0, 0, 0, - 16, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 16, 0, 0, 7, 34, 0, 16, 0, 4, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 16, 0, - 0, 7, 18, 32, 16, 0, + 3, 0, 0, 0, 16, 0, + 0, 7, 34, 32, 16, 0, 6, 0, 0, 0, 70, 18, 16, 0, 2, 0, 0, 0, - 70, 2, 16, 0, 1, 0, + 70, 2, 16, 0, 3, 0, 0, 0, 16, 0, 0, 7, - 34, 0, 16, 0, 4, 0, + 66, 0, 16, 0, 4, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 2, - 16, 0, 3, 0, 0, 0, - 16, 0, 0, 7, 34, 32, + 16, 0, 0, 0, 0, 0, + 16, 0, 0, 7, 66, 32, 16, 0, 6, 0, 0, 0, 70, 18, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, - 3, 0, 0, 0, 16, 0, - 0, 7, 66, 0, 16, 0, - 4, 0, 0, 0, 70, 18, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 16, 0, 0, 7, - 66, 32, 16, 0, 6, 0, - 0, 0, 70, 18, 16, 0, - 2, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 16, 0, 0, 8, 18, 32, + 0, 0, 0, 0, 16, 0, + 0, 8, 18, 32, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 70, 130, 32, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 16, 0, 0, 8, 34, 32, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, 70, 130, 32, 0, - 2, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 1, 0, 0, 0, 16, 0, 0, 8, - 34, 32, 16, 0, 3, 0, + 66, 32, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, 70, 130, 32, 0, 2, 0, 0, 0, - 1, 0, 0, 0, 16, 0, - 0, 8, 66, 32, 16, 0, - 3, 0, 0, 0, 70, 2, + 2, 0, 0, 0, 54, 0, + 0, 5, 114, 32, 16, 0, + 7, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, - 70, 130, 32, 0, 2, 0, - 0, 0, 2, 0, 0, 0, - 54, 0, 0, 5, 114, 32, - 16, 0, 7, 0, 0, 0, - 70, 2, 16, 0, 4, 0, + 17, 0, 0, 8, 18, 0, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 70, 142, 32, 0, + 2, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 8, - 18, 0, 16, 0, 0, 0, + 34, 0, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 17, 0, - 0, 8, 34, 0, 16, 0, + 1, 0, 0, 0, 17, 0, + 0, 8, 66, 0, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, 2, 0, - 0, 0, 1, 0, 0, 0, - 17, 0, 0, 8, 66, 0, - 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 2, 0, - 0, 0, 70, 142, 32, 0, - 2, 0, 0, 0, 2, 0, + 0, 0, 2, 0, 0, 0, + 54, 0, 0, 5, 114, 32, + 16, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 0, 0, 0, 9, + 114, 32, 16, 0, 5, 0, + 0, 0, 70, 2, 16, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 2, 0, 0, 0, 20, 0, 0, 0, 54, 0, 0, 5, - 114, 32, 16, 0, 4, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 0, 0, - 0, 9, 114, 32, 16, 0, - 5, 0, 0, 0, 70, 2, - 16, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 70, 130, - 32, 0, 2, 0, 0, 0, - 20, 0, 0, 0, 54, 0, - 0, 5, 130, 32, 16, 0, - 6, 0, 0, 0, 58, 16, - 16, 0, 2, 0, 0, 0, - 62, 0, 0, 1, 73, 83, - 71, 78, 216, 0, 0, 0, - 6, 0, 0, 0, 8, 0, - 0, 0, 152, 0, 0, 0, + 130, 32, 16, 0, 6, 0, + 0, 0, 58, 16, 16, 0, + 2, 0, 0, 0, 62, 0, + 0, 1, 73, 83, 71, 78, + 216, 0, 0, 0, 6, 0, + 0, 0, 8, 0, 0, 0, + 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 15, - 0, 0, 164, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 15, 0, 0, + 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 7, 7, - 0, 0, 171, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 7, 7, 0, 0, + 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 2, 0, 0, 0, 15, 15, - 0, 0, 179, 0, 0, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 15, 15, 0, 0, + 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 3, 0, 0, 0, 3, 3, - 0, 0, 188, 0, 0, 0, + 3, 0, 0, 0, 3, 0, + 0, 0, 3, 3, 0, 0, + 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 4, 0, 0, 0, 15, 3, - 0, 0, 201, 0, 0, 0, + 1, 0, 0, 0, 4, 0, + 0, 0, 15, 3, 0, 0, + 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 5, 0, + 0, 0, 15, 3, 0, 0, + 83, 86, 95, 80, 111, 115, + 105, 116, 105, 111, 110, 0, + 78, 79, 82, 77, 65, 76, + 0, 84, 65, 78, 71, 69, + 78, 84, 0, 84, 69, 88, + 67, 79, 79, 82, 68, 0, + 66, 76, 69, 78, 68, 73, + 78, 68, 73, 67, 69, 83, + 0, 66, 76, 69, 78, 68, + 87, 69, 73, 71, 72, 84, + 0, 171, 171, 171, 79, 83, + 71, 78, 228, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 200, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, - 5, 0, 0, 0, 15, 3, - 0, 0, 83, 86, 95, 80, - 111, 115, 105, 116, 105, 111, - 110, 0, 78, 79, 82, 77, - 65, 76, 0, 84, 65, 78, - 71, 69, 78, 84, 0, 84, - 69, 88, 67, 79, 79, 82, - 68, 0, 66, 76, 69, 78, - 68, 73, 78, 68, 73, 67, - 69, 83, 0, 66, 76, 69, - 78, 68, 87, 69, 73, 71, - 72, 84, 0, 171, 171, 171, - 79, 83, 71, 78, 228, 0, - 0, 0, 8, 0, 0, 0, - 8, 0, 0, 0, 200, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 212, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 15, 0, 0, 0, 218, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 15, 0, + 0, 0, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 2, 0, 0, 0, - 3, 12, 0, 0, 218, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, - 7, 8, 0, 0, 218, 0, - 0, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 4, 0, 0, 0, - 7, 8, 0, 0, 218, 0, + 2, 0, 0, 0, 3, 12, + 0, 0, 218, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 5, 0, 0, 0, - 7, 8, 0, 0, 218, 0, - 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 6, 0, 0, 0, - 15, 0, 0, 0, 218, 0, - 0, 0, 5, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 7, 0, 0, 0, - 7, 8, 0, 0, 83, 86, - 95, 80, 79, 83, 73, 84, - 73, 79, 78, 0, 67, 79, - 76, 79, 82, 0, 84, 69, - 88, 67, 79, 79, 82, 68, - 0, 171 + 3, 0, 0, 0, 7, 8, + 0, 0, 218, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 4, 0, 0, 0, 7, 8, + 0, 0, 218, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 5, 0, 0, 0, 7, 8, + 0, 0, 218, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 6, 0, 0, 0, 15, 0, + 0, 0, 218, 0, 0, 0, + 5, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 7, 0, 0, 0, 7, 8, + 0, 0, 83, 86, 95, 80, + 79, 83, 73, 84, 73, 79, + 78, 0, 67, 79, 76, 79, + 82, 0, 84, 69, 88, 67, + 79, 79, 82, 68, 0, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLEffect_main2BonesVc.inc b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLEffect_main2BonesVc.inc index 5b85c12c..48e32b00 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLEffect_main2BonesVc.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLEffect_main2BonesVc.inc @@ -53,51 +53,77 @@ // vs_2_0 def c228, 3, 1, 0, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 - dcl_texcoord3 v3 - dcl_texcoord4 v4 - dcl_texcoord5 v5 - dcl_texcoord6 v6 + dcl_texcoord v0 // vertex<0,1,2,3> + dcl_texcoord1 v1 // vertex<4,5,6> + dcl_texcoord2 v2 // vertex<7,8,9,10> + dcl_texcoord3 v3 // vertex<11,12,13,14> + dcl_texcoord4 v4 // vertex<15,16> + dcl_texcoord5 v5 // vertex<17,18,19,20> + dcl_texcoord6 v6 // vertex<21,22,23,24> + +#line 112 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\DGSLEffect.fx" mul r0.xy, v5, c228.x mova a0.xy, r0.yxzw mul r0, v6.y, c0[a0.x] - mad r0, c0[a0.y], v6.x, r0 - dp3 oT5.x, v2, r0 + mad r0, c0[a0.y], v6.x, r0 // ::skinning<0,3,6,9> + +#line 117 + dp3 oT5.x, v2, r0 // ::main2BonesVc<19> + +#line 112 mul r1, v6.y, c1[a0.x] mul r2, v6.y, c2[a0.x] - mad r2, c2[a0.y], v6.x, r2 - mad r1, c1[a0.y], v6.x, r1 - dp3 oT5.y, v2, r1 - dp3 oT5.z, v2, r2 - dp4 r3.x, v0, r0 - dp3 r0.x, v1, r0 - dp4 r3.y, v0, r1 - dp3 r0.y, v1, r1 - dp4 r3.z, v0, r2 - dp3 r0.z, v1, r2 + mad r2, c2[a0.y], v6.x, r2 // ::skinning<2,5,8,11> + mad r1, c1[a0.y], v6.x, r1 // ::skinning<1,4,7,10> + +#line 117 + dp3 oT5.y, v2, r1 // ::main2BonesVc<20> + dp3 oT5.z, v2, r2 // ::main2BonesVc<21> + dp4 r3.x, v0, r0 // SkinVc::vertex<0> + dp3 r0.x, v1, r0 // SkinVc::vertex<4> + dp4 r3.y, v0, r1 // SkinVc::vertex<1> + dp3 r0.y, v1, r1 // SkinVc::vertex<5> + dp4 r3.z, v0, r2 // SkinVc::vertex<2> + dp3 r0.z, v1, r2 // SkinVc::vertex<6> + +#line 259 mov r3.w, v0.w - dp4 oPos.z, r3, c223 - mul oT0, v3, c217 + +#line 262 + dp4 oPos.z, r3, c223 // ::main2BonesVc<2> + mul oT0, v3, c217 // ::main2BonesVc<4,5,6,7> mad r1.xyz, v4.xyxw, c228.yyzw, c228.zzyw - dp3 oT1.x, r1, c225.xyww - dp3 oT1.y, r1, c226.xyww - dp3 oT2.x, r0, c218 - dp3 oT2.y, r0, c219 - dp3 oT2.z, r0, c220 - mov oT6.xyz, r0 - dp4 r0.x, r3, c218 - dp4 r0.y, r3, c219 - dp4 r0.z, r3, c220 - add oT4.xyz, -r0, c227 - mov oT3.xyz, r0 - dp4 r0.x, r3, c221 - dp4 r0.y, r3, c222 - dp4 r0.z, r3, c224 - mad oPos.xy, r0.z, c216, r0 - mov oPos.w, r0.z - mov oT5.w, v2.w + dp3 oT1.x, r1, c225.xyww // ::main2BonesVc<8> + dp3 oT1.y, r1, c226.xyww // ::main2BonesVc<9> + dp3 oT2.x, r0, c218 // ::main2BonesVc<10> + dp3 oT2.y, r0, c219 // ::main2BonesVc<11> + dp3 oT2.z, r0, c220 // ::main2BonesVc<12> + +#line 116 + mov oT6.xyz, r0 // ::main2BonesVc<23,24,25> + +#line 259 + dp4 r0.x, r3, c218 // ::wp<0> + dp4 r0.y, r3, c219 // ::wp<1> + dp4 r0.z, r3, c220 // ::wp<2> + +#line 267 + add oT4.xyz, -r0, c227 // ::main2BonesVc<16,17,18> + +#line 259 + mov oT3.xyz, r0 // ::main2BonesVc<13,14,15> + +#line 262 + dp4 r0.x, r3, c221 // ::result<0> + dp4 r0.y, r3, c222 // ::result<1> + dp4 r0.z, r3, c224 // ::result<3> + +#line 253 + mad oPos.xy, r0.z, c216, r0 // ::main2BonesVc<0,1> + mov oPos.w, r0.z // ::main2BonesVc<3> + +#line 117 + mov oT5.w, v2.w // ::main2BonesVc<22> // approximately 38 instruction slots used vs_4_0 @@ -162,17 +188,17 @@ ret const BYTE DGSLEffect_main2BonesVc[] = { - 68, 88, 66, 67, 23, 71, - 182, 185, 235, 186, 53, 182, - 76, 51, 4, 190, 219, 74, - 111, 156, 1, 0, 0, 0, - 224, 10, 0, 0, 4, 0, + 68, 88, 66, 67, 123, 121, + 55, 167, 3, 144, 97, 7, + 118, 119, 195, 195, 188, 134, + 242, 194, 1, 0, 0, 0, + 196, 16, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 144, 3, 0, 0, 248, 8, - 0, 0, 244, 9, 0, 0, - 65, 111, 110, 57, 88, 3, - 0, 0, 88, 3, 0, 0, - 0, 2, 254, 255, 232, 2, + 116, 9, 0, 0, 220, 14, + 0, 0, 216, 15, 0, 0, + 65, 111, 110, 57, 60, 9, + 0, 0, 60, 9, 0, 0, + 0, 2, 254, 255, 204, 8, 0, 0, 112, 0, 0, 0, 6, 0, 36, 0, 0, 0, 108, 0, 0, 0, 108, 0, @@ -190,440 +216,692 @@ const BYTE DGSLEffect_main2BonesVc[] = 0, 0, 2, 0, 20, 0, 1, 0, 227, 0, 0, 0, 0, 0, 0, 0, 216, 0, - 0, 2, 254, 255, 81, 0, - 0, 5, 228, 0, 15, 160, - 0, 0, 64, 64, 0, 0, - 128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 1, 128, - 1, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 2, 128, - 2, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 3, 128, - 3, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 4, 128, - 4, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 5, 128, - 5, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 6, 128, - 6, 0, 15, 144, 5, 0, - 0, 3, 0, 0, 3, 128, - 5, 0, 228, 144, 228, 0, - 0, 160, 46, 0, 0, 2, - 0, 0, 3, 176, 0, 0, - 225, 128, 5, 0, 0, 4, - 0, 0, 15, 128, 6, 0, - 85, 144, 0, 32, 228, 160, - 0, 0, 0, 176, 4, 0, - 0, 5, 0, 0, 15, 128, - 0, 32, 228, 160, 0, 0, - 85, 176, 6, 0, 0, 144, - 0, 0, 228, 128, 8, 0, - 0, 3, 5, 0, 1, 224, - 2, 0, 228, 144, 0, 0, - 228, 128, 5, 0, 0, 4, - 1, 0, 15, 128, 6, 0, - 85, 144, 1, 32, 228, 160, - 0, 0, 0, 176, 5, 0, - 0, 4, 2, 0, 15, 128, - 6, 0, 85, 144, 2, 32, + 0, 2, 254, 255, 254, 255, + 120, 1, 68, 66, 85, 71, + 40, 0, 0, 0, 180, 5, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 116, 0, + 0, 0, 46, 0, 0, 0, + 120, 0, 0, 0, 6, 0, + 0, 0, 60, 5, 0, 0, + 232, 1, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 68, 71, + 83, 76, 69, 102, 102, 101, + 99, 116, 46, 102, 120, 0, + 171, 171, 40, 0, 0, 0, + 0, 0, 255, 255, 232, 5, + 0, 0, 0, 0, 255, 255, + 0, 6, 0, 0, 0, 0, + 255, 255, 12, 6, 0, 0, + 0, 0, 255, 255, 24, 6, + 0, 0, 0, 0, 255, 255, + 36, 6, 0, 0, 0, 0, + 255, 255, 48, 6, 0, 0, + 0, 0, 255, 255, 60, 6, + 0, 0, 0, 0, 255, 255, + 72, 6, 0, 0, 112, 0, + 0, 0, 84, 6, 0, 0, + 112, 0, 0, 0, 100, 6, + 0, 0, 112, 0, 0, 0, + 112, 6, 0, 0, 112, 0, + 0, 0, 132, 6, 0, 0, + 117, 0, 0, 0, 156, 6, + 0, 0, 112, 0, 0, 0, + 172, 6, 0, 0, 112, 0, + 0, 0, 192, 6, 0, 0, + 112, 0, 0, 0, 212, 6, + 0, 0, 112, 0, 0, 0, + 236, 6, 0, 0, 117, 0, + 0, 0, 4, 7, 0, 0, + 117, 0, 0, 0, 20, 7, + 0, 0, 115, 0, 0, 0, + 36, 7, 0, 0, 116, 0, + 0, 0, 52, 7, 0, 0, + 115, 0, 0, 0, 68, 7, + 0, 0, 116, 0, 0, 0, + 84, 7, 0, 0, 115, 0, + 0, 0, 100, 7, 0, 0, + 116, 0, 0, 0, 116, 7, + 0, 0, 3, 1, 0, 0, + 132, 7, 0, 0, 6, 1, + 0, 0, 144, 7, 0, 0, + 7, 1, 0, 0, 160, 7, + 0, 0, 8, 1, 0, 0, + 176, 7, 0, 0, 8, 1, + 0, 0, 196, 7, 0, 0, + 8, 1, 0, 0, 212, 7, + 0, 0, 9, 1, 0, 0, + 228, 7, 0, 0, 9, 1, + 0, 0, 244, 7, 0, 0, + 9, 1, 0, 0, 4, 8, + 0, 0, 116, 0, 0, 0, + 20, 8, 0, 0, 3, 1, + 0, 0, 32, 8, 0, 0, + 3, 1, 0, 0, 48, 8, + 0, 0, 3, 1, 0, 0, + 64, 8, 0, 0, 11, 1, + 0, 0, 80, 8, 0, 0, + 3, 1, 0, 0, 96, 8, + 0, 0, 6, 1, 0, 0, + 108, 8, 0, 0, 6, 1, + 0, 0, 124, 8, 0, 0, + 6, 1, 0, 0, 140, 8, + 0, 0, 253, 0, 0, 0, + 156, 8, 0, 0, 253, 0, + 0, 0, 176, 8, 0, 0, + 117, 0, 0, 0, 188, 8, + 0, 0, 109, 97, 105, 110, + 50, 66, 111, 110, 101, 115, + 86, 99, 0, 112, 111, 115, + 0, 171, 171, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 100, 105, 102, 102, + 117, 115, 101, 0, 117, 118, + 0, 171, 1, 0, 3, 0, + 1, 0, 2, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 119, 111, 114, 108, 100, 78, + 111, 114, 109, 0, 171, 171, + 1, 0, 3, 0, 1, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 119, 111, + 114, 108, 100, 80, 111, 115, + 0, 116, 111, 69, 121, 101, + 0, 116, 97, 110, 103, 101, + 110, 116, 0, 110, 111, 114, + 109, 97, 108, 0, 171, 171, + 245, 1, 0, 0, 252, 1, + 0, 0, 12, 2, 0, 0, + 252, 1, 0, 0, 20, 2, + 0, 0, 24, 2, 0, 0, + 40, 2, 0, 0, 52, 2, + 0, 0, 68, 2, 0, 0, + 52, 2, 0, 0, 77, 2, + 0, 0, 52, 2, 0, 0, + 83, 2, 0, 0, 252, 1, + 0, 0, 91, 2, 0, 0, + 52, 2, 0, 0, 5, 0, + 0, 0, 1, 0, 26, 0, + 1, 0, 8, 0, 100, 2, + 0, 0, 12, 0, 0, 0, + 19, 0, 255, 255, 255, 255, + 255, 255, 17, 0, 0, 0, + 255, 255, 20, 0, 255, 255, + 255, 255, 18, 0, 0, 0, + 255, 255, 255, 255, 21, 0, + 255, 255, 26, 0, 0, 0, + 255, 255, 255, 255, 2, 0, + 255, 255, 27, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 7, 0, 29, 0, 0, 0, + 8, 0, 255, 255, 255, 255, + 255, 255, 30, 0, 0, 0, + 255, 255, 9, 0, 255, 255, + 255, 255, 31, 0, 0, 0, + 10, 0, 255, 255, 255, 255, + 255, 255, 32, 0, 0, 0, + 255, 255, 11, 0, 255, 255, + 255, 255, 33, 0, 0, 0, + 255, 255, 255, 255, 12, 0, + 255, 255, 34, 0, 0, 0, + 23, 0, 24, 0, 25, 0, + 255, 255, 38, 0, 0, 0, + 16, 0, 17, 0, 18, 0, + 255, 255, 39, 0, 0, 0, + 13, 0, 14, 0, 15, 0, + 255, 255, 43, 0, 0, 0, + 0, 0, 1, 0, 255, 255, + 255, 255, 44, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 3, 0, 45, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 22, 0, 114, 101, 115, 117, + 108, 116, 0, 171, 5, 0, + 0, 0, 1, 0, 26, 0, + 1, 0, 8, 0, 100, 2, + 0, 0, 40, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 41, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 42, 0, 0, 0, + 255, 255, 255, 255, 3, 0, + 255, 255, 115, 107, 105, 110, + 110, 105, 110, 103, 0, 171, + 171, 171, 3, 0, 3, 0, + 4, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 11, 0, 0, 0, 0, 0, + 3, 0, 6, 0, 9, 0, + 15, 0, 0, 0, 2, 0, + 5, 0, 8, 0, 11, 0, + 16, 0, 0, 0, 1, 0, + 4, 0, 7, 0, 10, 0, + 83, 107, 105, 110, 86, 99, + 0, 118, 101, 114, 116, 101, + 120, 0, 99, 111, 108, 111, + 114, 0, 98, 111, 110, 101, + 73, 110, 100, 105, 99, 101, + 115, 0, 1, 0, 2, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 98, 108, 101, 110, 100, 87, + 101, 105, 103, 104, 116, 115, + 0, 171, 171, 171, 245, 1, + 0, 0, 252, 1, 0, 0, + 91, 2, 0, 0, 52, 2, + 0, 0, 83, 2, 0, 0, + 252, 1, 0, 0, 254, 3, + 0, 0, 252, 1, 0, 0, + 20, 2, 0, 0, 24, 2, + 0, 0, 4, 4, 0, 0, + 16, 4, 0, 0, 32, 4, + 0, 0, 252, 1, 0, 0, + 5, 0, 0, 0, 1, 0, + 25, 0, 1, 0, 7, 0, + 48, 4, 0, 0, 19, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 20, 0, + 0, 0, 4, 0, 255, 255, + 255, 255, 255, 255, 21, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 22, 0, + 0, 0, 255, 255, 5, 0, + 255, 255, 255, 255, 23, 0, + 0, 0, 255, 255, 255, 255, + 2, 0, 255, 255, 24, 0, + 0, 0, 255, 255, 255, 255, + 6, 0, 255, 255, 1, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 3, 0, 2, 0, + 0, 0, 4, 0, 5, 0, + 6, 0, 255, 255, 3, 0, + 0, 0, 7, 0, 8, 0, + 9, 0, 10, 0, 4, 0, + 0, 0, 11, 0, 12, 0, + 13, 0, 14, 0, 5, 0, + 0, 0, 15, 0, 16, 0, + 255, 255, 255, 255, 6, 0, + 0, 0, 17, 0, 18, 0, + 19, 0, 20, 0, 7, 0, + 0, 0, 21, 0, 22, 0, + 23, 0, 24, 0, 119, 112, + 0, 171, 35, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 36, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 37, 0, 0, 0, + 255, 255, 255, 255, 2, 0, + 255, 255, 0, 0, 0, 0, + 232, 1, 0, 0, 164, 2, + 0, 0, 16, 0, 0, 0, + 180, 2, 0, 0, 0, 0, + 0, 0, 116, 3, 0, 0, + 124, 3, 0, 0, 3, 0, + 0, 0, 140, 3, 0, 0, + 0, 0, 0, 0, 176, 3, + 0, 0, 188, 3, 0, 0, + 3, 0, 0, 0, 204, 3, + 0, 0, 240, 3, 0, 0, + 247, 3, 0, 0, 104, 4, + 0, 0, 6, 0, 0, 0, + 120, 4, 0, 0, 232, 1, + 0, 0, 247, 3, 0, 0, + 104, 4, 0, 0, 7, 0, + 0, 0, 192, 4, 0, 0, + 0, 0, 0, 0, 20, 5, + 0, 0, 52, 2, 0, 0, + 3, 0, 0, 0, 24, 5, + 0, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 81, 0, 0, 5, 228, 0, + 15, 160, 0, 0, 64, 64, + 0, 0, 128, 63, 0, 0, + 0, 0, 0, 0, 0, 0, + 31, 0, 0, 2, 5, 0, + 0, 128, 0, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 1, 128, 1, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 2, 128, 2, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 3, 128, 3, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 4, 128, 4, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 5, 128, 5, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 6, 128, 6, 0, 15, 144, + 5, 0, 0, 3, 0, 0, + 3, 128, 5, 0, 228, 144, + 228, 0, 0, 160, 46, 0, + 0, 2, 0, 0, 3, 176, + 0, 0, 225, 128, 5, 0, + 0, 4, 0, 0, 15, 128, + 6, 0, 85, 144, 0, 32, 228, 160, 0, 0, 0, 176, - 4, 0, 0, 5, 2, 0, - 15, 128, 2, 32, 228, 160, - 0, 0, 85, 176, 6, 0, - 0, 144, 2, 0, 228, 128, - 4, 0, 0, 5, 1, 0, - 15, 128, 1, 32, 228, 160, + 4, 0, 0, 5, 0, 0, + 15, 128, 0, 32, 228, 160, 0, 0, 85, 176, 6, 0, - 0, 144, 1, 0, 228, 128, + 0, 144, 0, 0, 228, 128, 8, 0, 0, 3, 5, 0, - 2, 224, 2, 0, 228, 144, - 1, 0, 228, 128, 8, 0, - 0, 3, 5, 0, 4, 224, - 2, 0, 228, 144, 2, 0, - 228, 128, 9, 0, 0, 3, - 3, 0, 1, 128, 0, 0, - 228, 144, 0, 0, 228, 128, - 8, 0, 0, 3, 0, 0, - 1, 128, 1, 0, 228, 144, - 0, 0, 228, 128, 9, 0, - 0, 3, 3, 0, 2, 128, - 0, 0, 228, 144, 1, 0, + 1, 224, 2, 0, 228, 144, + 0, 0, 228, 128, 5, 0, + 0, 4, 1, 0, 15, 128, + 6, 0, 85, 144, 1, 32, + 228, 160, 0, 0, 0, 176, + 5, 0, 0, 4, 2, 0, + 15, 128, 6, 0, 85, 144, + 2, 32, 228, 160, 0, 0, + 0, 176, 4, 0, 0, 5, + 2, 0, 15, 128, 2, 32, + 228, 160, 0, 0, 85, 176, + 6, 0, 0, 144, 2, 0, + 228, 128, 4, 0, 0, 5, + 1, 0, 15, 128, 1, 32, + 228, 160, 0, 0, 85, 176, + 6, 0, 0, 144, 1, 0, 228, 128, 8, 0, 0, 3, - 0, 0, 2, 128, 1, 0, + 5, 0, 2, 224, 2, 0, 228, 144, 1, 0, 228, 128, + 8, 0, 0, 3, 5, 0, + 4, 224, 2, 0, 228, 144, + 2, 0, 228, 128, 9, 0, + 0, 3, 3, 0, 1, 128, + 0, 0, 228, 144, 0, 0, + 228, 128, 8, 0, 0, 3, + 0, 0, 1, 128, 1, 0, + 228, 144, 0, 0, 228, 128, 9, 0, 0, 3, 3, 0, - 4, 128, 0, 0, 228, 144, - 2, 0, 228, 128, 8, 0, - 0, 3, 0, 0, 4, 128, - 1, 0, 228, 144, 2, 0, - 228, 128, 1, 0, 0, 2, - 3, 0, 8, 128, 0, 0, - 255, 144, 9, 0, 0, 3, - 0, 0, 4, 192, 3, 0, - 228, 128, 223, 0, 228, 160, - 5, 0, 0, 3, 0, 0, - 15, 224, 3, 0, 228, 144, - 217, 0, 228, 160, 4, 0, - 0, 4, 1, 0, 7, 128, - 4, 0, 196, 144, 228, 0, - 229, 160, 228, 0, 218, 160, + 2, 128, 0, 0, 228, 144, + 1, 0, 228, 128, 8, 0, + 0, 3, 0, 0, 2, 128, + 1, 0, 228, 144, 1, 0, + 228, 128, 9, 0, 0, 3, + 3, 0, 4, 128, 0, 0, + 228, 144, 2, 0, 228, 128, + 8, 0, 0, 3, 0, 0, + 4, 128, 1, 0, 228, 144, + 2, 0, 228, 128, 1, 0, + 0, 2, 3, 0, 8, 128, + 0, 0, 255, 144, 9, 0, + 0, 3, 0, 0, 4, 192, + 3, 0, 228, 128, 223, 0, + 228, 160, 5, 0, 0, 3, + 0, 0, 15, 224, 3, 0, + 228, 144, 217, 0, 228, 160, + 4, 0, 0, 4, 1, 0, + 7, 128, 4, 0, 196, 144, + 228, 0, 229, 160, 228, 0, + 218, 160, 8, 0, 0, 3, + 1, 0, 1, 224, 1, 0, + 228, 128, 225, 0, 244, 160, 8, 0, 0, 3, 1, 0, - 1, 224, 1, 0, 228, 128, - 225, 0, 244, 160, 8, 0, - 0, 3, 1, 0, 2, 224, - 1, 0, 228, 128, 226, 0, - 244, 160, 8, 0, 0, 3, - 2, 0, 1, 224, 0, 0, - 228, 128, 218, 0, 228, 160, + 2, 224, 1, 0, 228, 128, + 226, 0, 244, 160, 8, 0, + 0, 3, 2, 0, 1, 224, + 0, 0, 228, 128, 218, 0, + 228, 160, 8, 0, 0, 3, + 2, 0, 2, 224, 0, 0, + 228, 128, 219, 0, 228, 160, 8, 0, 0, 3, 2, 0, - 2, 224, 0, 0, 228, 128, - 219, 0, 228, 160, 8, 0, - 0, 3, 2, 0, 4, 224, - 0, 0, 228, 128, 220, 0, + 4, 224, 0, 0, 228, 128, + 220, 0, 228, 160, 1, 0, + 0, 2, 6, 0, 7, 224, + 0, 0, 228, 128, 9, 0, + 0, 3, 0, 0, 1, 128, + 3, 0, 228, 128, 218, 0, + 228, 160, 9, 0, 0, 3, + 0, 0, 2, 128, 3, 0, + 228, 128, 219, 0, 228, 160, + 9, 0, 0, 3, 0, 0, + 4, 128, 3, 0, 228, 128, + 220, 0, 228, 160, 2, 0, + 0, 3, 4, 0, 7, 224, + 0, 0, 228, 129, 227, 0, 228, 160, 1, 0, 0, 2, - 6, 0, 7, 224, 0, 0, + 3, 0, 7, 224, 0, 0, 228, 128, 9, 0, 0, 3, 0, 0, 1, 128, 3, 0, - 228, 128, 218, 0, 228, 160, + 228, 128, 221, 0, 228, 160, 9, 0, 0, 3, 0, 0, 2, 128, 3, 0, 228, 128, - 219, 0, 228, 160, 9, 0, + 222, 0, 228, 160, 9, 0, 0, 3, 0, 0, 4, 128, - 3, 0, 228, 128, 220, 0, - 228, 160, 2, 0, 0, 3, - 4, 0, 7, 224, 0, 0, - 228, 129, 227, 0, 228, 160, - 1, 0, 0, 2, 3, 0, - 7, 224, 0, 0, 228, 128, - 9, 0, 0, 3, 0, 0, - 1, 128, 3, 0, 228, 128, - 221, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 2, 128, - 3, 0, 228, 128, 222, 0, - 228, 160, 9, 0, 0, 3, - 0, 0, 4, 128, 3, 0, - 228, 128, 224, 0, 228, 160, - 4, 0, 0, 4, 0, 0, - 3, 192, 0, 0, 170, 128, - 216, 0, 228, 160, 0, 0, - 228, 128, 1, 0, 0, 2, - 0, 0, 8, 192, 0, 0, - 170, 128, 1, 0, 0, 2, - 5, 0, 8, 224, 2, 0, - 255, 144, 255, 255, 0, 0, - 83, 72, 68, 82, 96, 5, - 0, 0, 64, 0, 1, 0, - 88, 1, 0, 0, 89, 0, + 3, 0, 228, 128, 224, 0, + 228, 160, 4, 0, 0, 4, + 0, 0, 3, 192, 0, 0, + 170, 128, 216, 0, 228, 160, + 0, 0, 228, 128, 1, 0, + 0, 2, 0, 0, 8, 192, + 0, 0, 170, 128, 1, 0, + 0, 2, 5, 0, 8, 224, + 2, 0, 255, 144, 255, 255, + 0, 0, 83, 72, 68, 82, + 96, 5, 0, 0, 64, 0, + 1, 0, 88, 1, 0, 0, + 89, 0, 0, 4, 70, 142, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 89, 0, 0, 4, 70, 142, 32, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 89, 0, 0, 4, - 70, 142, 32, 0, 2, 0, - 0, 0, 21, 0, 0, 0, - 89, 8, 0, 4, 70, 142, - 32, 0, 4, 0, 0, 0, - 216, 0, 0, 0, 95, 0, - 0, 3, 242, 16, 16, 0, - 0, 0, 0, 0, 95, 0, - 0, 3, 114, 16, 16, 0, - 1, 0, 0, 0, 95, 0, - 0, 3, 242, 16, 16, 0, - 2, 0, 0, 0, 95, 0, - 0, 3, 242, 16, 16, 0, - 3, 0, 0, 0, 95, 0, - 0, 3, 50, 16, 16, 0, - 4, 0, 0, 0, 95, 0, - 0, 3, 50, 16, 16, 0, - 5, 0, 0, 0, 95, 0, - 0, 3, 50, 16, 16, 0, - 6, 0, 0, 0, 103, 0, - 0, 4, 242, 32, 16, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 1, 0, - 0, 0, 101, 0, 0, 3, - 50, 32, 16, 0, 2, 0, - 0, 0, 101, 0, 0, 3, - 114, 32, 16, 0, 3, 0, - 0, 0, 101, 0, 0, 3, - 114, 32, 16, 0, 4, 0, - 0, 0, 101, 0, 0, 3, - 114, 32, 16, 0, 5, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 6, 0, - 0, 0, 101, 0, 0, 3, - 114, 32, 16, 0, 7, 0, - 0, 0, 104, 0, 0, 2, - 5, 0, 0, 0, 38, 0, - 0, 11, 0, 208, 0, 0, - 50, 0, 16, 0, 0, 0, - 0, 0, 70, 16, 16, 0, - 5, 0, 0, 0, 2, 64, - 0, 0, 3, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 56, 0, 0, 9, 242, 0, - 16, 0, 1, 0, 0, 0, - 86, 21, 16, 0, 6, 0, - 0, 0, 70, 142, 32, 4, - 4, 0, 0, 0, 26, 0, + 2, 0, 0, 0, 21, 0, + 0, 0, 89, 8, 0, 4, + 70, 142, 32, 0, 4, 0, + 0, 0, 216, 0, 0, 0, + 95, 0, 0, 3, 242, 16, 16, 0, 0, 0, 0, 0, - 50, 0, 0, 11, 242, 0, + 95, 0, 0, 3, 114, 16, 16, 0, 1, 0, 0, 0, - 70, 142, 32, 4, 4, 0, - 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 6, 16, - 16, 0, 6, 0, 0, 0, - 70, 14, 16, 0, 1, 0, - 0, 0, 17, 0, 0, 7, - 18, 0, 16, 0, 2, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 70, 14, - 16, 0, 1, 0, 0, 0, - 56, 0, 0, 10, 242, 0, + 95, 0, 0, 3, 242, 16, + 16, 0, 2, 0, 0, 0, + 95, 0, 0, 3, 242, 16, 16, 0, 3, 0, 0, 0, - 86, 21, 16, 0, 6, 0, - 0, 0, 70, 142, 32, 6, - 4, 0, 0, 0, 1, 0, - 0, 0, 26, 0, 16, 0, - 0, 0, 0, 0, 50, 0, - 0, 12, 242, 0, 16, 0, - 3, 0, 0, 0, 70, 142, - 32, 6, 4, 0, 0, 0, - 1, 0, 0, 0, 10, 0, + 95, 0, 0, 3, 50, 16, + 16, 0, 4, 0, 0, 0, + 95, 0, 0, 3, 50, 16, + 16, 0, 5, 0, 0, 0, + 95, 0, 0, 3, 50, 16, + 16, 0, 6, 0, 0, 0, + 103, 0, 0, 4, 242, 32, + 16, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 50, 32, 16, 0, + 2, 0, 0, 0, 101, 0, + 0, 3, 114, 32, 16, 0, + 3, 0, 0, 0, 101, 0, + 0, 3, 114, 32, 16, 0, + 4, 0, 0, 0, 101, 0, + 0, 3, 114, 32, 16, 0, + 5, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 6, 0, 0, 0, 101, 0, + 0, 3, 114, 32, 16, 0, + 7, 0, 0, 0, 104, 0, + 0, 2, 5, 0, 0, 0, + 38, 0, 0, 11, 0, 208, + 0, 0, 50, 0, 16, 0, + 0, 0, 0, 0, 70, 16, + 16, 0, 5, 0, 0, 0, + 2, 64, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 56, 0, 0, 9, + 242, 0, 16, 0, 1, 0, + 0, 0, 86, 21, 16, 0, + 6, 0, 0, 0, 70, 142, + 32, 4, 4, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 50, 0, 0, 11, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 142, 32, 4, + 4, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, 6, 16, 16, 0, 6, 0, 0, 0, 70, 14, 16, 0, - 3, 0, 0, 0, 17, 0, - 0, 7, 34, 0, 16, 0, + 1, 0, 0, 0, 17, 0, + 0, 7, 18, 0, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 3, 0, + 70, 14, 16, 0, 1, 0, 0, 0, 56, 0, 0, 10, - 242, 0, 16, 0, 4, 0, + 242, 0, 16, 0, 3, 0, 0, 0, 86, 21, 16, 0, 6, 0, 0, 0, 70, 142, 32, 6, 4, 0, 0, 0, - 2, 0, 0, 0, 26, 0, + 1, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 50, 0, 0, 12, 242, 0, - 16, 0, 0, 0, 0, 0, + 16, 0, 3, 0, 0, 0, 70, 142, 32, 6, 4, 0, - 0, 0, 2, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, 6, 16, 16, 0, 6, 0, 0, 0, 70, 14, - 16, 0, 4, 0, 0, 0, - 17, 0, 0, 7, 66, 0, + 16, 0, 3, 0, 0, 0, + 17, 0, 0, 7, 34, 0, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, - 0, 0, 0, 0, 54, 0, - 0, 5, 130, 0, 16, 0, - 2, 0, 0, 0, 58, 16, - 16, 0, 0, 0, 0, 0, - 17, 0, 0, 8, 18, 32, + 3, 0, 0, 0, 56, 0, + 0, 10, 242, 0, 16, 0, + 4, 0, 0, 0, 86, 21, + 16, 0, 6, 0, 0, 0, + 70, 142, 32, 6, 4, 0, + 0, 0, 2, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 50, 0, 0, 12, + 242, 0, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 6, + 4, 0, 0, 0, 2, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 6, 16, + 16, 0, 6, 0, 0, 0, + 70, 14, 16, 0, 4, 0, + 0, 0, 17, 0, 0, 7, + 66, 0, 16, 0, 2, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 14, 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 2, 0, - 0, 0, 70, 142, 32, 0, - 2, 0, 0, 0, 4, 0, + 54, 0, 0, 5, 130, 0, + 16, 0, 2, 0, 0, 0, + 58, 16, 16, 0, 0, 0, 0, 0, 17, 0, 0, 8, - 34, 32, 16, 0, 0, 0, + 18, 32, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, 2, 0, 0, 0, - 5, 0, 0, 0, 17, 0, - 0, 8, 66, 32, 16, 0, + 4, 0, 0, 0, 17, 0, + 0, 8, 34, 32, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, 2, 0, - 0, 0, 6, 0, 0, 0, - 17, 0, 0, 8, 130, 32, + 0, 0, 5, 0, 0, 0, + 17, 0, 0, 8, 66, 32, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, - 2, 0, 0, 0, 7, 0, - 0, 0, 56, 0, 0, 8, - 242, 32, 16, 0, 1, 0, - 0, 0, 70, 30, 16, 0, - 3, 0, 0, 0, 70, 142, - 32, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 54, 0, - 0, 5, 50, 0, 16, 0, - 4, 0, 0, 0, 70, 16, - 16, 0, 4, 0, 0, 0, - 54, 0, 0, 5, 66, 0, - 16, 0, 4, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 128, 63, 16, 0, 0, 8, - 18, 32, 16, 0, 2, 0, - 0, 0, 70, 2, 16, 0, - 4, 0, 0, 0, 70, 131, + 2, 0, 0, 0, 6, 0, + 0, 0, 17, 0, 0, 8, + 130, 32, 16, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 70, 142, 32, 0, 2, 0, 0, 0, - 16, 0, 0, 0, 16, 0, - 0, 8, 34, 32, 16, 0, + 7, 0, 0, 0, 56, 0, + 0, 8, 242, 32, 16, 0, + 1, 0, 0, 0, 70, 30, + 16, 0, 3, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 54, 0, 0, 5, 50, 0, + 16, 0, 4, 0, 0, 0, + 70, 16, 16, 0, 4, 0, + 0, 0, 54, 0, 0, 5, + 66, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 128, 63, 16, 0, + 0, 8, 18, 32, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, 70, 131, 32, 0, 2, 0, - 0, 0, 17, 0, 0, 0, - 16, 0, 0, 7, 18, 0, - 16, 0, 4, 0, 0, 0, - 70, 18, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 16, 0, - 0, 7, 18, 32, 16, 0, - 6, 0, 0, 0, 70, 18, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 8, 34, 32, 16, 0, 2, 0, 0, 0, - 70, 2, 16, 0, 1, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 70, 131, 32, 0, + 2, 0, 0, 0, 17, 0, 0, 0, 16, 0, 0, 7, - 34, 0, 16, 0, 4, 0, + 18, 0, 16, 0, 4, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 2, - 16, 0, 3, 0, 0, 0, - 16, 0, 0, 7, 34, 32, + 16, 0, 1, 0, 0, 0, + 16, 0, 0, 7, 18, 32, 16, 0, 6, 0, 0, 0, 70, 18, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, - 3, 0, 0, 0, 16, 0, - 0, 7, 66, 0, 16, 0, + 1, 0, 0, 0, 16, 0, + 0, 7, 34, 0, 16, 0, 4, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 0, 0, + 70, 2, 16, 0, 3, 0, 0, 0, 16, 0, 0, 7, - 66, 32, 16, 0, 6, 0, + 34, 32, 16, 0, 6, 0, 0, 0, 70, 18, 16, 0, 2, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 16, 0, 0, 8, 18, 32, 16, 0, 3, 0, 0, 0, - 70, 2, 16, 0, 4, 0, - 0, 0, 70, 130, 32, 0, - 2, 0, 0, 0, 0, 0, + 16, 0, 0, 7, 66, 0, + 16, 0, 4, 0, 0, 0, + 70, 18, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 16, 0, + 0, 7, 66, 32, 16, 0, + 6, 0, 0, 0, 70, 18, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 0, 0, 0, 0, 16, 0, 0, 8, - 34, 32, 16, 0, 3, 0, + 18, 32, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, 70, 130, 32, 0, 2, 0, 0, 0, - 1, 0, 0, 0, 16, 0, - 0, 8, 66, 32, 16, 0, + 0, 0, 0, 0, 16, 0, + 0, 8, 34, 32, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, 70, 130, 32, 0, 2, 0, - 0, 0, 2, 0, 0, 0, - 54, 0, 0, 5, 114, 32, - 16, 0, 7, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 16, 0, 0, 8, 66, 32, + 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 4, 0, - 0, 0, 17, 0, 0, 8, - 18, 0, 16, 0, 0, 0, - 0, 0, 70, 14, 16, 0, - 2, 0, 0, 0, 70, 142, - 32, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 17, 0, - 0, 8, 34, 0, 16, 0, + 0, 0, 70, 130, 32, 0, + 2, 0, 0, 0, 2, 0, + 0, 0, 54, 0, 0, 5, + 114, 32, 16, 0, 7, 0, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 17, 0, + 0, 8, 18, 0, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, 2, 0, - 0, 0, 1, 0, 0, 0, - 17, 0, 0, 8, 66, 0, + 0, 0, 0, 0, 0, 0, + 17, 0, 0, 8, 34, 0, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, - 2, 0, 0, 0, 2, 0, - 0, 0, 54, 0, 0, 5, - 114, 32, 16, 0, 4, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 0, 0, - 0, 9, 114, 32, 16, 0, - 5, 0, 0, 0, 70, 2, - 16, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 70, 130, + 2, 0, 0, 0, 1, 0, + 0, 0, 17, 0, 0, 8, + 66, 0, 16, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 70, 142, 32, 0, 2, 0, 0, 0, - 20, 0, 0, 0, 54, 0, - 0, 5, 130, 32, 16, 0, - 6, 0, 0, 0, 58, 16, - 16, 0, 2, 0, 0, 0, - 62, 0, 0, 1, 73, 83, - 71, 78, 244, 0, 0, 0, - 7, 0, 0, 0, 8, 0, - 0, 0, 176, 0, 0, 0, + 2, 0, 0, 0, 54, 0, + 0, 5, 114, 32, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 0, 0, 0, 9, 114, 32, + 16, 0, 5, 0, 0, 0, + 70, 2, 16, 128, 65, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 15, - 0, 0, 188, 0, 0, 0, + 70, 130, 32, 0, 2, 0, + 0, 0, 20, 0, 0, 0, + 54, 0, 0, 5, 130, 32, + 16, 0, 6, 0, 0, 0, + 58, 16, 16, 0, 2, 0, + 0, 0, 62, 0, 0, 1, + 73, 83, 71, 78, 244, 0, + 0, 0, 7, 0, 0, 0, + 8, 0, 0, 0, 176, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 7, 7, - 0, 0, 195, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 2, 0, 0, 0, 15, 15, - 0, 0, 203, 0, 0, 0, + 15, 15, 0, 0, 188, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 3, 0, 0, 0, 15, 15, - 0, 0, 209, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 7, 7, 0, 0, 195, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 15, 15, 0, 0, 203, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, - 4, 0, 0, 0, 3, 3, - 0, 0, 218, 0, 0, 0, + 15, 15, 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 5, 0, 0, 0, 15, 3, - 0, 0, 231, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 4, 0, 0, 0, + 3, 3, 0, 0, 218, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 6, 0, 0, 0, 15, 3, - 0, 0, 83, 86, 95, 80, - 111, 115, 105, 116, 105, 111, - 110, 0, 78, 79, 82, 77, - 65, 76, 0, 84, 65, 78, - 71, 69, 78, 84, 0, 67, - 79, 76, 79, 82, 0, 84, - 69, 88, 67, 79, 79, 82, - 68, 0, 66, 76, 69, 78, - 68, 73, 78, 68, 73, 67, - 69, 83, 0, 66, 76, 69, - 78, 68, 87, 69, 73, 71, - 72, 84, 0, 171, 79, 83, - 71, 78, 228, 0, 0, 0, - 8, 0, 0, 0, 8, 0, - 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 212, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 15, 3, 0, 0, 231, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 15, 0, - 0, 0, 218, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 6, 0, 0, 0, + 15, 3, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 78, 79, + 82, 77, 65, 76, 0, 84, + 65, 78, 71, 69, 78, 84, + 0, 67, 79, 76, 79, 82, + 0, 84, 69, 88, 67, 79, + 79, 82, 68, 0, 66, 76, + 69, 78, 68, 73, 78, 68, + 73, 67, 69, 83, 0, 66, + 76, 69, 78, 68, 87, 69, + 73, 71, 72, 84, 0, 171, + 79, 83, 71, 78, 228, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 212, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 15, 0, 0, 0, 218, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 3, 12, 0, 0, 218, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, - 2, 0, 0, 0, 3, 12, - 0, 0, 218, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 3, 0, 0, 0, 7, 8, - 0, 0, 218, 0, 0, 0, - 2, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 4, 0, 0, 0, 7, 8, - 0, 0, 218, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 5, 0, 0, 0, 7, 8, - 0, 0, 218, 0, 0, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 6, 0, 0, 0, 15, 0, - 0, 0, 218, 0, 0, 0, - 5, 0, 0, 0, 0, 0, + 7, 8, 0, 0, 218, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 4, 0, 0, 0, + 7, 8, 0, 0, 218, 0, 0, 0, 3, 0, 0, 0, - 7, 0, 0, 0, 7, 8, - 0, 0, 83, 86, 95, 80, - 79, 83, 73, 84, 73, 79, - 78, 0, 67, 79, 76, 79, - 82, 0, 84, 69, 88, 67, - 79, 79, 82, 68, 0, 171 + 0, 0, 0, 0, 3, 0, + 0, 0, 5, 0, 0, 0, + 7, 8, 0, 0, 218, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 6, 0, 0, 0, + 15, 0, 0, 0, 218, 0, + 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 7, 0, 0, 0, + 7, 8, 0, 0, 83, 86, + 95, 80, 79, 83, 73, 84, + 73, 79, 78, 0, 67, 79, + 76, 79, 82, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLEffect_main4Bones.inc b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLEffect_main4Bones.inc index 0ba01e25..eeb8a888 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLEffect_main4Bones.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLEffect_main4Bones.inc @@ -52,56 +52,84 @@ // vs_2_0 def c228, 3, 1, 0, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 - dcl_texcoord3 v3 - dcl_texcoord4 v4 - dcl_texcoord5 v5 + dcl_texcoord v0 // vertex<0,1,2,3> + dcl_texcoord1 v1 // vertex<4,5,6> + dcl_texcoord2 v2 // vertex<7,8,9,10> + dcl_texcoord3 v3 // vertex<11,12> + dcl_texcoord4 v4 // vertex<13,14,15,16> + dcl_texcoord5 v5 // vertex<17,18,19,20> + +#line 97 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\DGSLEffect.fx" mul r0, v4, c228.x mova a0, r0.yxzw mul r1, v5.y, c0[a0.x] - mad r1, c0[a0.y], v5.x, r1 - mad r0, c0[a0.z], v5.z, r1 - mad r0, c0[a0.w], v5.w, r0 - dp3 oT5.x, v2, r0 + mad r1, c0[a0.y], v5.x, r1 // ::skinning<0,3,6,9> + mad r0, c0[a0.z], v5.z, r1 // ::skinning<0,3,6,9> + mad r0, c0[a0.w], v5.w, r0 // ::skinning<0,3,6,9> + +#line 102 + dp3 oT5.x, v2, r0 // ::main4Bones<19> + +#line 97 mul r1, v5.y, c1[a0.x] mul r2, v5.y, c2[a0.x] - mad r2, c2[a0.y], v5.x, r2 - mad r1, c1[a0.y], v5.x, r1 - mad r1, c1[a0.z], v5.z, r1 - mad r2, c2[a0.z], v5.z, r2 - mad r2, c2[a0.w], v5.w, r2 - mad r1, c1[a0.w], v5.w, r1 - dp3 oT5.y, v2, r1 - dp3 oT5.z, v2, r2 - dp4 r3.x, v0, r0 - dp3 r0.x, v1, r0 - dp4 r3.y, v0, r1 - dp3 r0.y, v1, r1 - dp4 r3.z, v0, r2 - dp3 r0.z, v1, r2 + mad r2, c2[a0.y], v5.x, r2 // ::skinning<2,5,8,11> + mad r1, c1[a0.y], v5.x, r1 // ::skinning<1,4,7,10> + mad r1, c1[a0.z], v5.z, r1 // ::skinning<1,4,7,10> + mad r2, c2[a0.z], v5.z, r2 // ::skinning<2,5,8,11> + mad r2, c2[a0.w], v5.w, r2 // ::skinning<2,5,8,11> + mad r1, c1[a0.w], v5.w, r1 // ::skinning<1,4,7,10> + +#line 102 + dp3 oT5.y, v2, r1 // ::main4Bones<20> + dp3 oT5.z, v2, r2 // ::main4Bones<21> + dp4 r3.x, v0, r0 // Skin::vertex<0> + dp3 r0.x, v1, r0 // Skin::vertex<4> + dp4 r3.y, v0, r1 // Skin::vertex<1> + dp3 r0.y, v1, r1 // Skin::vertex<5> + dp4 r3.z, v0, r2 // Skin::vertex<2> + dp3 r0.z, v1, r2 // Skin::vertex<6> + +#line 214 mov r3.w, v0.w - dp4 oPos.z, r3, c223 + +#line 217 + dp4 oPos.z, r3, c223 // ::main4Bones<2> mad r1.xyz, v3.xyxw, c228.yyzw, c228.zzyw - dp3 oT1.x, r1, c225.xyww - dp3 oT1.y, r1, c226.xyww - dp3 oT2.x, r0, c218 - dp3 oT2.y, r0, c219 - dp3 oT2.z, r0, c220 - mov oT6.xyz, r0 - dp4 r0.x, r3, c218 - dp4 r0.y, r3, c219 - dp4 r0.z, r3, c220 - add oT4.xyz, -r0, c227 - mov oT3.xyz, r0 - dp4 r0.x, r3, c221 - dp4 r0.y, r3, c222 - dp4 r0.z, r3, c224 - mad oPos.xy, r0.z, c216, r0 - mov oPos.w, r0.z - mov oT0, c217 - mov oT5.w, v2.w + dp3 oT1.x, r1, c225.xyww // ::main4Bones<8> + dp3 oT1.y, r1, c226.xyww // ::main4Bones<9> + dp3 oT2.x, r0, c218 // ::main4Bones<10> + dp3 oT2.y, r0, c219 // ::main4Bones<11> + dp3 oT2.z, r0, c220 // ::main4Bones<12> + +#line 101 + mov oT6.xyz, r0 // ::main4Bones<23,24,25> + +#line 214 + dp4 r0.x, r3, c218 // ::wp<0> + dp4 r0.y, r3, c219 // ::wp<1> + dp4 r0.z, r3, c220 // ::wp<2> + +#line 222 + add oT4.xyz, -r0, c227 // ::main4Bones<16,17,18> + +#line 214 + mov oT3.xyz, r0 // ::main4Bones<13,14,15> + +#line 217 + dp4 r0.x, r3, c221 // ::result<0> + dp4 r0.y, r3, c222 // ::result<1> + dp4 r0.z, r3, c224 // ::result<3> + +#line 208 + mad oPos.xy, r0.z, c216, r0 // ::main4Bones<0,1> + mov oPos.w, r0.z // ::main4Bones<3> + +#line 218 + mov oT0, c217 // ::main4Bones<4,5,6,7> + +#line 102 + mov oT5.w, v2.w // ::main4Bones<22> // approximately 44 instruction slots used vs_4_0 @@ -171,17 +199,17 @@ ret const BYTE DGSLEffect_main4Bones[] = { - 68, 88, 66, 67, 232, 121, - 155, 180, 91, 47, 138, 234, - 110, 44, 58, 186, 214, 50, - 189, 50, 1, 0, 0, 0, - 72, 12, 0, 0, 4, 0, + 68, 88, 66, 67, 45, 137, + 208, 23, 220, 71, 47, 74, + 63, 1, 119, 83, 15, 78, + 96, 247, 1, 0, 0, 0, + 124, 18, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 16, 4, 0, 0, 124, 10, - 0, 0, 92, 11, 0, 0, - 65, 111, 110, 57, 216, 3, - 0, 0, 216, 3, 0, 0, - 0, 2, 254, 255, 104, 3, + 68, 10, 0, 0, 176, 16, + 0, 0, 144, 17, 0, 0, + 65, 111, 110, 57, 12, 10, + 0, 0, 12, 10, 0, 0, + 0, 2, 254, 255, 156, 9, 0, 0, 112, 0, 0, 0, 6, 0, 36, 0, 0, 0, 108, 0, 0, 0, 108, 0, @@ -199,500 +227,765 @@ const BYTE DGSLEffect_main4Bones[] = 0, 0, 2, 0, 20, 0, 1, 0, 227, 0, 0, 0, 0, 0, 0, 0, 216, 0, - 0, 2, 254, 255, 81, 0, - 0, 5, 228, 0, 15, 160, - 0, 0, 64, 64, 0, 0, - 128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 1, 128, - 1, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 2, 128, - 2, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 3, 128, - 3, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 4, 128, - 4, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 5, 128, - 5, 0, 15, 144, 5, 0, - 0, 3, 0, 0, 15, 128, - 4, 0, 228, 144, 228, 0, - 0, 160, 46, 0, 0, 2, - 0, 0, 15, 176, 0, 0, - 225, 128, 5, 0, 0, 4, - 1, 0, 15, 128, 5, 0, - 85, 144, 0, 32, 228, 160, + 0, 2, 254, 255, 254, 255, + 140, 1, 68, 66, 85, 71, + 40, 0, 0, 0, 4, 6, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 116, 0, + 0, 0, 51, 0, 0, 0, + 120, 0, 0, 0, 6, 0, + 0, 0, 140, 5, 0, 0, + 16, 2, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 68, 71, + 83, 76, 69, 102, 102, 101, + 99, 116, 46, 102, 120, 0, + 171, 171, 40, 0, 0, 0, + 0, 0, 255, 255, 56, 6, + 0, 0, 0, 0, 255, 255, + 80, 6, 0, 0, 0, 0, + 255, 255, 92, 6, 0, 0, + 0, 0, 255, 255, 104, 6, + 0, 0, 0, 0, 255, 255, + 116, 6, 0, 0, 0, 0, + 255, 255, 128, 6, 0, 0, + 0, 0, 255, 255, 140, 6, + 0, 0, 97, 0, 0, 0, + 152, 6, 0, 0, 97, 0, + 0, 0, 168, 6, 0, 0, + 97, 0, 0, 0, 180, 6, + 0, 0, 97, 0, 0, 0, + 200, 6, 0, 0, 97, 0, + 0, 0, 224, 6, 0, 0, + 97, 0, 0, 0, 248, 6, + 0, 0, 102, 0, 0, 0, + 16, 7, 0, 0, 97, 0, + 0, 0, 32, 7, 0, 0, + 97, 0, 0, 0, 52, 7, + 0, 0, 97, 0, 0, 0, + 72, 7, 0, 0, 97, 0, + 0, 0, 96, 7, 0, 0, + 97, 0, 0, 0, 120, 7, + 0, 0, 97, 0, 0, 0, + 144, 7, 0, 0, 97, 0, + 0, 0, 168, 7, 0, 0, + 97, 0, 0, 0, 192, 7, + 0, 0, 102, 0, 0, 0, + 216, 7, 0, 0, 102, 0, + 0, 0, 232, 7, 0, 0, + 100, 0, 0, 0, 248, 7, + 0, 0, 101, 0, 0, 0, + 8, 8, 0, 0, 100, 0, + 0, 0, 24, 8, 0, 0, + 101, 0, 0, 0, 40, 8, + 0, 0, 100, 0, 0, 0, + 56, 8, 0, 0, 101, 0, + 0, 0, 72, 8, 0, 0, + 214, 0, 0, 0, 88, 8, + 0, 0, 217, 0, 0, 0, + 100, 8, 0, 0, 219, 0, + 0, 0, 116, 8, 0, 0, + 219, 0, 0, 0, 136, 8, + 0, 0, 219, 0, 0, 0, + 152, 8, 0, 0, 220, 0, + 0, 0, 168, 8, 0, 0, + 220, 0, 0, 0, 184, 8, + 0, 0, 220, 0, 0, 0, + 200, 8, 0, 0, 101, 0, + 0, 0, 216, 8, 0, 0, + 214, 0, 0, 0, 228, 8, + 0, 0, 214, 0, 0, 0, + 244, 8, 0, 0, 214, 0, + 0, 0, 4, 9, 0, 0, + 222, 0, 0, 0, 20, 9, + 0, 0, 214, 0, 0, 0, + 36, 9, 0, 0, 217, 0, + 0, 0, 48, 9, 0, 0, + 217, 0, 0, 0, 64, 9, + 0, 0, 217, 0, 0, 0, + 80, 9, 0, 0, 208, 0, + 0, 0, 96, 9, 0, 0, + 208, 0, 0, 0, 116, 9, + 0, 0, 218, 0, 0, 0, + 128, 9, 0, 0, 102, 0, + 0, 0, 140, 9, 0, 0, + 109, 97, 105, 110, 52, 66, + 111, 110, 101, 115, 0, 112, + 111, 115, 0, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 100, 105, 102, 102, + 117, 115, 101, 0, 117, 118, + 0, 171, 1, 0, 3, 0, + 1, 0, 2, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 119, 111, 114, 108, 100, 78, + 111, 114, 109, 0, 171, 171, + 1, 0, 3, 0, 1, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 119, 111, + 114, 108, 100, 80, 111, 115, + 0, 116, 111, 69, 121, 101, + 0, 116, 97, 110, 103, 101, + 110, 116, 0, 110, 111, 114, + 109, 97, 108, 0, 171, 171, + 27, 2, 0, 0, 32, 2, + 0, 0, 48, 2, 0, 0, + 32, 2, 0, 0, 56, 2, + 0, 0, 60, 2, 0, 0, + 76, 2, 0, 0, 88, 2, + 0, 0, 104, 2, 0, 0, + 88, 2, 0, 0, 113, 2, + 0, 0, 88, 2, 0, 0, + 119, 2, 0, 0, 32, 2, + 0, 0, 127, 2, 0, 0, + 88, 2, 0, 0, 5, 0, + 0, 0, 1, 0, 26, 0, + 1, 0, 8, 0, 136, 2, + 0, 0, 13, 0, 0, 0, + 19, 0, 255, 255, 255, 255, + 255, 255, 22, 0, 0, 0, + 255, 255, 20, 0, 255, 255, + 255, 255, 23, 0, 0, 0, + 255, 255, 255, 255, 21, 0, + 255, 255, 31, 0, 0, 0, + 255, 255, 255, 255, 2, 0, + 255, 255, 33, 0, 0, 0, + 8, 0, 255, 255, 255, 255, + 255, 255, 34, 0, 0, 0, + 255, 255, 9, 0, 255, 255, + 255, 255, 35, 0, 0, 0, + 10, 0, 255, 255, 255, 255, + 255, 255, 36, 0, 0, 0, + 255, 255, 11, 0, 255, 255, + 255, 255, 37, 0, 0, 0, + 255, 255, 255, 255, 12, 0, + 255, 255, 38, 0, 0, 0, + 23, 0, 24, 0, 25, 0, + 255, 255, 42, 0, 0, 0, + 16, 0, 17, 0, 18, 0, + 255, 255, 43, 0, 0, 0, + 13, 0, 14, 0, 15, 0, + 255, 255, 47, 0, 0, 0, + 0, 0, 1, 0, 255, 255, + 255, 255, 48, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 3, 0, 49, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 7, 0, 50, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 22, 0, 114, 101, 115, 117, + 108, 116, 0, 171, 5, 0, + 0, 0, 1, 0, 26, 0, + 1, 0, 8, 0, 136, 2, + 0, 0, 44, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 45, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 46, 0, 0, 0, + 255, 255, 255, 255, 3, 0, + 255, 255, 115, 107, 105, 110, + 110, 105, 110, 103, 0, 171, + 171, 171, 3, 0, 3, 0, + 4, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 10, 0, 0, 0, 0, 0, + 3, 0, 6, 0, 9, 0, + 11, 0, 0, 0, 0, 0, + 3, 0, 6, 0, 9, 0, + 12, 0, 0, 0, 0, 0, + 3, 0, 6, 0, 9, 0, + 16, 0, 0, 0, 2, 0, + 5, 0, 8, 0, 11, 0, + 17, 0, 0, 0, 1, 0, + 4, 0, 7, 0, 10, 0, + 18, 0, 0, 0, 1, 0, + 4, 0, 7, 0, 10, 0, + 19, 0, 0, 0, 2, 0, + 5, 0, 8, 0, 11, 0, + 20, 0, 0, 0, 2, 0, + 5, 0, 8, 0, 11, 0, + 21, 0, 0, 0, 1, 0, + 4, 0, 7, 0, 10, 0, + 83, 107, 105, 110, 0, 118, + 101, 114, 116, 101, 120, 0, + 98, 111, 110, 101, 73, 110, + 100, 105, 99, 101, 115, 0, + 1, 0, 2, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 98, 108, + 101, 110, 100, 87, 101, 105, + 103, 104, 116, 115, 0, 171, + 171, 171, 27, 2, 0, 0, + 32, 2, 0, 0, 127, 2, + 0, 0, 88, 2, 0, 0, + 119, 2, 0, 0, 32, 2, + 0, 0, 56, 2, 0, 0, + 60, 2, 0, 0, 104, 4, + 0, 0, 116, 4, 0, 0, + 132, 4, 0, 0, 32, 2, + 0, 0, 5, 0, 0, 0, + 1, 0, 21, 0, 1, 0, + 6, 0, 148, 4, 0, 0, + 24, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 25, 0, 0, 0, 4, 0, + 255, 255, 255, 255, 255, 255, + 26, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 27, 0, 0, 0, 255, 255, + 5, 0, 255, 255, 255, 255, + 28, 0, 0, 0, 255, 255, + 255, 255, 2, 0, 255, 255, + 29, 0, 0, 0, 255, 255, + 255, 255, 6, 0, 255, 255, + 1, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 2, 0, 0, 0, 4, 0, + 5, 0, 6, 0, 255, 255, + 3, 0, 0, 0, 7, 0, + 8, 0, 9, 0, 10, 0, + 4, 0, 0, 0, 11, 0, + 12, 0, 255, 255, 255, 255, + 5, 0, 0, 0, 13, 0, + 14, 0, 15, 0, 16, 0, + 6, 0, 0, 0, 17, 0, + 18, 0, 19, 0, 20, 0, + 119, 112, 0, 171, 39, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 40, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 41, 0, + 0, 0, 255, 255, 255, 255, + 2, 0, 255, 255, 0, 0, + 0, 0, 16, 2, 0, 0, + 200, 2, 0, 0, 16, 0, + 0, 0, 216, 2, 0, 0, + 0, 0, 0, 0, 152, 3, + 0, 0, 160, 3, 0, 0, + 3, 0, 0, 0, 176, 3, + 0, 0, 0, 0, 0, 0, + 212, 3, 0, 0, 224, 3, + 0, 0, 9, 0, 0, 0, + 240, 3, 0, 0, 92, 4, + 0, 0, 97, 4, 0, 0, + 196, 4, 0, 0, 6, 0, + 0, 0, 212, 4, 0, 0, + 16, 2, 0, 0, 97, 4, + 0, 0, 196, 4, 0, 0, + 6, 0, 0, 0, 28, 5, + 0, 0, 0, 0, 0, 0, + 100, 5, 0, 0, 88, 2, + 0, 0, 3, 0, 0, 0, + 104, 5, 0, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 81, 0, 0, 5, + 228, 0, 15, 160, 0, 0, + 64, 64, 0, 0, 128, 63, + 0, 0, 0, 0, 0, 0, + 0, 0, 31, 0, 0, 2, + 5, 0, 0, 128, 0, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 1, 128, 1, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 2, 128, 2, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 3, 128, 3, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 4, 128, 4, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 5, 128, 5, 0, + 15, 144, 5, 0, 0, 3, + 0, 0, 15, 128, 4, 0, + 228, 144, 228, 0, 0, 160, + 46, 0, 0, 2, 0, 0, + 15, 176, 0, 0, 225, 128, + 5, 0, 0, 4, 1, 0, + 15, 128, 5, 0, 85, 144, + 0, 32, 228, 160, 0, 0, + 0, 176, 4, 0, 0, 5, + 1, 0, 15, 128, 0, 32, + 228, 160, 0, 0, 85, 176, + 5, 0, 0, 144, 1, 0, + 228, 128, 4, 0, 0, 5, + 0, 0, 15, 128, 0, 32, + 228, 160, 0, 0, 170, 176, + 5, 0, 170, 144, 1, 0, + 228, 128, 4, 0, 0, 5, + 0, 0, 15, 128, 0, 32, + 228, 160, 0, 0, 255, 176, + 5, 0, 255, 144, 0, 0, + 228, 128, 8, 0, 0, 3, + 5, 0, 1, 224, 2, 0, + 228, 144, 0, 0, 228, 128, + 5, 0, 0, 4, 1, 0, + 15, 128, 5, 0, 85, 144, + 1, 32, 228, 160, 0, 0, + 0, 176, 5, 0, 0, 4, + 2, 0, 15, 128, 5, 0, + 85, 144, 2, 32, 228, 160, 0, 0, 0, 176, 4, 0, + 0, 5, 2, 0, 15, 128, + 2, 32, 228, 160, 0, 0, + 85, 176, 5, 0, 0, 144, + 2, 0, 228, 128, 4, 0, 0, 5, 1, 0, 15, 128, - 0, 32, 228, 160, 0, 0, + 1, 32, 228, 160, 0, 0, 85, 176, 5, 0, 0, 144, 1, 0, 228, 128, 4, 0, - 0, 5, 0, 0, 15, 128, - 0, 32, 228, 160, 0, 0, + 0, 5, 1, 0, 15, 128, + 1, 32, 228, 160, 0, 0, 170, 176, 5, 0, 170, 144, 1, 0, 228, 128, 4, 0, - 0, 5, 0, 0, 15, 128, - 0, 32, 228, 160, 0, 0, + 0, 5, 2, 0, 15, 128, + 2, 32, 228, 160, 0, 0, + 170, 176, 5, 0, 170, 144, + 2, 0, 228, 128, 4, 0, + 0, 5, 2, 0, 15, 128, + 2, 32, 228, 160, 0, 0, + 255, 176, 5, 0, 255, 144, + 2, 0, 228, 128, 4, 0, + 0, 5, 1, 0, 15, 128, + 1, 32, 228, 160, 0, 0, 255, 176, 5, 0, 255, 144, - 0, 0, 228, 128, 8, 0, - 0, 3, 5, 0, 1, 224, - 2, 0, 228, 144, 0, 0, - 228, 128, 5, 0, 0, 4, - 1, 0, 15, 128, 5, 0, - 85, 144, 1, 32, 228, 160, - 0, 0, 0, 176, 5, 0, - 0, 4, 2, 0, 15, 128, - 5, 0, 85, 144, 2, 32, - 228, 160, 0, 0, 0, 176, - 4, 0, 0, 5, 2, 0, - 15, 128, 2, 32, 228, 160, - 0, 0, 85, 176, 5, 0, - 0, 144, 2, 0, 228, 128, - 4, 0, 0, 5, 1, 0, - 15, 128, 1, 32, 228, 160, - 0, 0, 85, 176, 5, 0, - 0, 144, 1, 0, 228, 128, - 4, 0, 0, 5, 1, 0, - 15, 128, 1, 32, 228, 160, - 0, 0, 170, 176, 5, 0, - 170, 144, 1, 0, 228, 128, - 4, 0, 0, 5, 2, 0, - 15, 128, 2, 32, 228, 160, - 0, 0, 170, 176, 5, 0, - 170, 144, 2, 0, 228, 128, - 4, 0, 0, 5, 2, 0, - 15, 128, 2, 32, 228, 160, - 0, 0, 255, 176, 5, 0, - 255, 144, 2, 0, 228, 128, - 4, 0, 0, 5, 1, 0, - 15, 128, 1, 32, 228, 160, - 0, 0, 255, 176, 5, 0, - 255, 144, 1, 0, 228, 128, - 8, 0, 0, 3, 5, 0, - 2, 224, 2, 0, 228, 144, 1, 0, 228, 128, 8, 0, - 0, 3, 5, 0, 4, 224, - 2, 0, 228, 144, 2, 0, + 0, 3, 5, 0, 2, 224, + 2, 0, 228, 144, 1, 0, + 228, 128, 8, 0, 0, 3, + 5, 0, 4, 224, 2, 0, + 228, 144, 2, 0, 228, 128, + 9, 0, 0, 3, 3, 0, + 1, 128, 0, 0, 228, 144, + 0, 0, 228, 128, 8, 0, + 0, 3, 0, 0, 1, 128, + 1, 0, 228, 144, 0, 0, 228, 128, 9, 0, 0, 3, - 3, 0, 1, 128, 0, 0, - 228, 144, 0, 0, 228, 128, + 3, 0, 2, 128, 0, 0, + 228, 144, 1, 0, 228, 128, 8, 0, 0, 3, 0, 0, - 1, 128, 1, 0, 228, 144, - 0, 0, 228, 128, 9, 0, - 0, 3, 3, 0, 2, 128, - 0, 0, 228, 144, 1, 0, + 2, 128, 1, 0, 228, 144, + 1, 0, 228, 128, 9, 0, + 0, 3, 3, 0, 4, 128, + 0, 0, 228, 144, 2, 0, 228, 128, 8, 0, 0, 3, - 0, 0, 2, 128, 1, 0, - 228, 144, 1, 0, 228, 128, - 9, 0, 0, 3, 3, 0, - 4, 128, 0, 0, 228, 144, - 2, 0, 228, 128, 8, 0, - 0, 3, 0, 0, 4, 128, - 1, 0, 228, 144, 2, 0, - 228, 128, 1, 0, 0, 2, - 3, 0, 8, 128, 0, 0, - 255, 144, 9, 0, 0, 3, - 0, 0, 4, 192, 3, 0, - 228, 128, 223, 0, 228, 160, - 4, 0, 0, 4, 1, 0, - 7, 128, 3, 0, 196, 144, - 228, 0, 229, 160, 228, 0, - 218, 160, 8, 0, 0, 3, - 1, 0, 1, 224, 1, 0, - 228, 128, 225, 0, 244, 160, + 0, 0, 4, 128, 1, 0, + 228, 144, 2, 0, 228, 128, + 1, 0, 0, 2, 3, 0, + 8, 128, 0, 0, 255, 144, + 9, 0, 0, 3, 0, 0, + 4, 192, 3, 0, 228, 128, + 223, 0, 228, 160, 4, 0, + 0, 4, 1, 0, 7, 128, + 3, 0, 196, 144, 228, 0, + 229, 160, 228, 0, 218, 160, 8, 0, 0, 3, 1, 0, - 2, 224, 1, 0, 228, 128, - 226, 0, 244, 160, 8, 0, - 0, 3, 2, 0, 1, 224, - 0, 0, 228, 128, 218, 0, - 228, 160, 8, 0, 0, 3, - 2, 0, 2, 224, 0, 0, - 228, 128, 219, 0, 228, 160, + 1, 224, 1, 0, 228, 128, + 225, 0, 244, 160, 8, 0, + 0, 3, 1, 0, 2, 224, + 1, 0, 228, 128, 226, 0, + 244, 160, 8, 0, 0, 3, + 2, 0, 1, 224, 0, 0, + 228, 128, 218, 0, 228, 160, 8, 0, 0, 3, 2, 0, - 4, 224, 0, 0, 228, 128, - 220, 0, 228, 160, 1, 0, - 0, 2, 6, 0, 7, 224, - 0, 0, 228, 128, 9, 0, - 0, 3, 0, 0, 1, 128, - 3, 0, 228, 128, 218, 0, - 228, 160, 9, 0, 0, 3, - 0, 0, 2, 128, 3, 0, - 228, 128, 219, 0, 228, 160, - 9, 0, 0, 3, 0, 0, - 4, 128, 3, 0, 228, 128, - 220, 0, 228, 160, 2, 0, - 0, 3, 4, 0, 7, 224, - 0, 0, 228, 129, 227, 0, + 2, 224, 0, 0, 228, 128, + 219, 0, 228, 160, 8, 0, + 0, 3, 2, 0, 4, 224, + 0, 0, 228, 128, 220, 0, 228, 160, 1, 0, 0, 2, - 3, 0, 7, 224, 0, 0, + 6, 0, 7, 224, 0, 0, 228, 128, 9, 0, 0, 3, 0, 0, 1, 128, 3, 0, - 228, 128, 221, 0, 228, 160, + 228, 128, 218, 0, 228, 160, 9, 0, 0, 3, 0, 0, 2, 128, 3, 0, 228, 128, - 222, 0, 228, 160, 9, 0, + 219, 0, 228, 160, 9, 0, 0, 3, 0, 0, 4, 128, - 3, 0, 228, 128, 224, 0, - 228, 160, 4, 0, 0, 4, - 0, 0, 3, 192, 0, 0, - 170, 128, 216, 0, 228, 160, - 0, 0, 228, 128, 1, 0, - 0, 2, 0, 0, 8, 192, - 0, 0, 170, 128, 1, 0, - 0, 2, 0, 0, 15, 224, - 217, 0, 228, 160, 1, 0, - 0, 2, 5, 0, 8, 224, - 2, 0, 255, 144, 255, 255, - 0, 0, 83, 72, 68, 82, - 100, 6, 0, 0, 64, 0, - 1, 0, 153, 1, 0, 0, - 89, 0, 0, 4, 70, 142, - 32, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 89, 0, + 3, 0, 228, 128, 220, 0, + 228, 160, 2, 0, 0, 3, + 4, 0, 7, 224, 0, 0, + 228, 129, 227, 0, 228, 160, + 1, 0, 0, 2, 3, 0, + 7, 224, 0, 0, 228, 128, + 9, 0, 0, 3, 0, 0, + 1, 128, 3, 0, 228, 128, + 221, 0, 228, 160, 9, 0, + 0, 3, 0, 0, 2, 128, + 3, 0, 228, 128, 222, 0, + 228, 160, 9, 0, 0, 3, + 0, 0, 4, 128, 3, 0, + 228, 128, 224, 0, 228, 160, + 4, 0, 0, 4, 0, 0, + 3, 192, 0, 0, 170, 128, + 216, 0, 228, 160, 0, 0, + 228, 128, 1, 0, 0, 2, + 0, 0, 8, 192, 0, 0, + 170, 128, 1, 0, 0, 2, + 0, 0, 15, 224, 217, 0, + 228, 160, 1, 0, 0, 2, + 5, 0, 8, 224, 2, 0, + 255, 144, 255, 255, 0, 0, + 83, 72, 68, 82, 100, 6, + 0, 0, 64, 0, 1, 0, + 153, 1, 0, 0, 89, 0, 0, 4, 70, 142, 32, 0, - 2, 0, 0, 0, 21, 0, - 0, 0, 89, 8, 0, 4, - 70, 142, 32, 0, 4, 0, - 0, 0, 216, 0, 0, 0, - 95, 0, 0, 3, 242, 16, + 0, 0, 0, 0, 2, 0, + 0, 0, 89, 0, 0, 4, + 70, 142, 32, 0, 2, 0, + 0, 0, 21, 0, 0, 0, + 89, 8, 0, 4, 70, 142, + 32, 0, 4, 0, 0, 0, + 216, 0, 0, 0, 95, 0, + 0, 3, 242, 16, 16, 0, + 0, 0, 0, 0, 95, 0, + 0, 3, 114, 16, 16, 0, + 1, 0, 0, 0, 95, 0, + 0, 3, 242, 16, 16, 0, + 2, 0, 0, 0, 95, 0, + 0, 3, 50, 16, 16, 0, + 3, 0, 0, 0, 95, 0, + 0, 3, 242, 16, 16, 0, + 4, 0, 0, 0, 95, 0, + 0, 3, 242, 16, 16, 0, + 5, 0, 0, 0, 103, 0, + 0, 4, 242, 32, 16, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 1, 0, + 0, 0, 101, 0, 0, 3, + 50, 32, 16, 0, 2, 0, + 0, 0, 101, 0, 0, 3, + 114, 32, 16, 0, 3, 0, + 0, 0, 101, 0, 0, 3, + 114, 32, 16, 0, 4, 0, + 0, 0, 101, 0, 0, 3, + 114, 32, 16, 0, 5, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 6, 0, + 0, 0, 101, 0, 0, 3, + 114, 32, 16, 0, 7, 0, + 0, 0, 104, 0, 0, 2, + 5, 0, 0, 0, 38, 0, + 0, 11, 0, 208, 0, 0, + 242, 0, 16, 0, 0, 0, + 0, 0, 70, 30, 16, 0, + 4, 0, 0, 0, 2, 64, + 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 56, 0, 0, 9, 242, 0, + 16, 0, 1, 0, 0, 0, + 86, 21, 16, 0, 5, 0, + 0, 0, 70, 142, 32, 4, + 4, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, - 95, 0, 0, 3, 114, 16, + 50, 0, 0, 11, 242, 0, 16, 0, 1, 0, 0, 0, - 95, 0, 0, 3, 242, 16, - 16, 0, 2, 0, 0, 0, - 95, 0, 0, 3, 50, 16, - 16, 0, 3, 0, 0, 0, - 95, 0, 0, 3, 242, 16, - 16, 0, 4, 0, 0, 0, - 95, 0, 0, 3, 242, 16, + 70, 142, 32, 4, 4, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 6, 16, 16, 0, 5, 0, 0, 0, - 103, 0, 0, 4, 242, 32, - 16, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 50, 32, 16, 0, - 2, 0, 0, 0, 101, 0, - 0, 3, 114, 32, 16, 0, - 3, 0, 0, 0, 101, 0, - 0, 3, 114, 32, 16, 0, - 4, 0, 0, 0, 101, 0, - 0, 3, 114, 32, 16, 0, - 5, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 6, 0, 0, 0, 101, 0, - 0, 3, 114, 32, 16, 0, - 7, 0, 0, 0, 104, 0, - 0, 2, 5, 0, 0, 0, - 38, 0, 0, 11, 0, 208, - 0, 0, 242, 0, 16, 0, - 0, 0, 0, 0, 70, 30, - 16, 0, 4, 0, 0, 0, - 2, 64, 0, 0, 3, 0, - 0, 0, 3, 0, 0, 0, - 3, 0, 0, 0, 3, 0, - 0, 0, 56, 0, 0, 9, - 242, 0, 16, 0, 1, 0, - 0, 0, 86, 21, 16, 0, - 5, 0, 0, 0, 70, 142, - 32, 4, 4, 0, 0, 0, - 26, 0, 16, 0, 0, 0, + 70, 14, 16, 0, 1, 0, 0, 0, 50, 0, 0, 11, 242, 0, 16, 0, 1, 0, 0, 0, 70, 142, 32, 4, - 4, 0, 0, 0, 10, 0, + 4, 0, 0, 0, 42, 0, 16, 0, 0, 0, 0, 0, - 6, 16, 16, 0, 5, 0, + 166, 26, 16, 0, 5, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, 50, 0, 0, 11, 242, 0, 16, 0, 1, 0, 0, 0, 70, 142, 32, 4, 4, 0, 0, 0, - 42, 0, 16, 0, 0, 0, - 0, 0, 166, 26, 16, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 246, 31, 16, 0, 5, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, - 50, 0, 0, 11, 242, 0, - 16, 0, 1, 0, 0, 0, - 70, 142, 32, 4, 4, 0, + 17, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 56, 0, + 0, 10, 242, 0, 16, 0, + 3, 0, 0, 0, 86, 21, + 16, 0, 5, 0, 0, 0, + 70, 142, 32, 6, 4, 0, + 0, 0, 1, 0, 0, 0, + 26, 0, 16, 0, 0, 0, + 0, 0, 50, 0, 0, 12, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 142, 32, 6, + 4, 0, 0, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 6, 16, + 16, 0, 5, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 50, 0, 0, 12, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 142, 32, 6, + 4, 0, 0, 0, 1, 0, + 0, 0, 42, 0, 16, 0, + 0, 0, 0, 0, 166, 26, + 16, 0, 5, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 50, 0, 0, 12, + 242, 0, 16, 0, 3, 0, + 0, 0, 70, 142, 32, 6, + 4, 0, 0, 0, 1, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 246, 31, 16, 0, 5, 0, 0, 0, - 70, 14, 16, 0, 1, 0, + 70, 14, 16, 0, 3, 0, 0, 0, 17, 0, 0, 7, - 18, 0, 16, 0, 2, 0, + 34, 0, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 14, - 16, 0, 1, 0, 0, 0, - 56, 0, 0, 10, 242, 0, 16, 0, 3, 0, 0, 0, + 56, 0, 0, 10, 242, 0, + 16, 0, 4, 0, 0, 0, 86, 21, 16, 0, 5, 0, 0, 0, 70, 142, 32, 6, - 4, 0, 0, 0, 1, 0, + 4, 0, 0, 0, 2, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 50, 0, 0, 12, 242, 0, 16, 0, - 3, 0, 0, 0, 70, 142, + 4, 0, 0, 0, 70, 142, 32, 6, 4, 0, 0, 0, - 1, 0, 0, 0, 10, 0, + 2, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, 6, 16, 16, 0, 5, 0, 0, 0, 70, 14, 16, 0, - 3, 0, 0, 0, 50, 0, + 4, 0, 0, 0, 50, 0, 0, 12, 242, 0, 16, 0, - 3, 0, 0, 0, 70, 142, + 4, 0, 0, 0, 70, 142, 32, 6, 4, 0, 0, 0, - 1, 0, 0, 0, 42, 0, + 2, 0, 0, 0, 42, 0, 16, 0, 0, 0, 0, 0, 166, 26, 16, 0, 5, 0, 0, 0, 70, 14, 16, 0, - 3, 0, 0, 0, 50, 0, + 4, 0, 0, 0, 50, 0, 0, 12, 242, 0, 16, 0, - 3, 0, 0, 0, 70, 142, + 0, 0, 0, 0, 70, 142, 32, 6, 4, 0, 0, 0, - 1, 0, 0, 0, 58, 0, + 2, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 246, 31, 16, 0, 5, 0, 0, 0, 70, 14, 16, 0, - 3, 0, 0, 0, 17, 0, - 0, 7, 34, 0, 16, 0, + 4, 0, 0, 0, 17, 0, + 0, 7, 66, 0, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 3, 0, - 0, 0, 56, 0, 0, 10, - 242, 0, 16, 0, 4, 0, - 0, 0, 86, 21, 16, 0, - 5, 0, 0, 0, 70, 142, - 32, 6, 4, 0, 0, 0, - 2, 0, 0, 0, 26, 0, - 16, 0, 0, 0, 0, 0, - 50, 0, 0, 12, 242, 0, - 16, 0, 4, 0, 0, 0, - 70, 142, 32, 6, 4, 0, - 0, 0, 2, 0, 0, 0, - 10, 0, 16, 0, 0, 0, - 0, 0, 6, 16, 16, 0, - 5, 0, 0, 0, 70, 14, - 16, 0, 4, 0, 0, 0, - 50, 0, 0, 12, 242, 0, - 16, 0, 4, 0, 0, 0, - 70, 142, 32, 6, 4, 0, - 0, 0, 2, 0, 0, 0, - 42, 0, 16, 0, 0, 0, - 0, 0, 166, 26, 16, 0, - 5, 0, 0, 0, 70, 14, - 16, 0, 4, 0, 0, 0, - 50, 0, 0, 12, 242, 0, - 16, 0, 0, 0, 0, 0, - 70, 142, 32, 6, 4, 0, - 0, 0, 2, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 246, 31, 16, 0, - 5, 0, 0, 0, 70, 14, - 16, 0, 4, 0, 0, 0, - 17, 0, 0, 7, 66, 0, + 70, 14, 16, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 130, 0, 16, 0, 2, 0, + 0, 0, 58, 16, 16, 0, + 0, 0, 0, 0, 17, 0, + 0, 8, 18, 32, 16, 0, + 0, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, - 70, 30, 16, 0, 0, 0, - 0, 0, 70, 14, 16, 0, - 0, 0, 0, 0, 54, 0, - 0, 5, 130, 0, 16, 0, - 2, 0, 0, 0, 58, 16, - 16, 0, 0, 0, 0, 0, - 17, 0, 0, 8, 18, 32, + 70, 142, 32, 0, 2, 0, + 0, 0, 4, 0, 0, 0, + 17, 0, 0, 8, 34, 32, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, - 2, 0, 0, 0, 4, 0, + 2, 0, 0, 0, 5, 0, 0, 0, 17, 0, 0, 8, - 34, 32, 16, 0, 0, 0, + 66, 32, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, 2, 0, 0, 0, - 5, 0, 0, 0, 17, 0, - 0, 8, 66, 32, 16, 0, + 6, 0, 0, 0, 17, 0, + 0, 8, 130, 32, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, 2, 0, - 0, 0, 6, 0, 0, 0, - 17, 0, 0, 8, 130, 32, - 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 2, 0, - 0, 0, 70, 142, 32, 0, - 2, 0, 0, 0, 7, 0, - 0, 0, 54, 0, 0, 6, - 242, 32, 16, 0, 1, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 1, 0, + 0, 0, 7, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 1, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 54, 0, 0, 5, 50, 0, + 16, 0, 4, 0, 0, 0, + 70, 16, 16, 0, 3, 0, 0, 0, 54, 0, 0, 5, - 50, 0, 16, 0, 4, 0, - 0, 0, 70, 16, 16, 0, - 3, 0, 0, 0, 54, 0, - 0, 5, 66, 0, 16, 0, - 4, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 128, 63, - 16, 0, 0, 8, 18, 32, + 66, 0, 16, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 128, 63, 16, 0, + 0, 8, 18, 32, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 70, 131, 32, 0, 2, 0, + 0, 0, 16, 0, 0, 0, + 16, 0, 0, 8, 34, 32, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, 70, 131, 32, 0, - 2, 0, 0, 0, 16, 0, - 0, 0, 16, 0, 0, 8, - 34, 32, 16, 0, 2, 0, + 2, 0, 0, 0, 17, 0, + 0, 0, 16, 0, 0, 7, + 18, 0, 16, 0, 4, 0, + 0, 0, 70, 18, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 16, 0, 0, 7, 18, 32, + 16, 0, 6, 0, 0, 0, + 70, 18, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, - 4, 0, 0, 0, 70, 131, - 32, 0, 2, 0, 0, 0, - 17, 0, 0, 0, 16, 0, - 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 16, 0, + 0, 7, 34, 0, 16, 0, 4, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 1, 0, + 70, 2, 16, 0, 3, 0, 0, 0, 16, 0, 0, 7, - 18, 32, 16, 0, 6, 0, + 34, 32, 16, 0, 6, 0, 0, 0, 70, 18, 16, 0, 2, 0, 0, 0, 70, 2, - 16, 0, 1, 0, 0, 0, - 16, 0, 0, 7, 34, 0, + 16, 0, 3, 0, 0, 0, + 16, 0, 0, 7, 66, 0, 16, 0, 4, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, - 3, 0, 0, 0, 16, 0, - 0, 7, 34, 32, 16, 0, + 0, 0, 0, 0, 16, 0, + 0, 7, 66, 32, 16, 0, 6, 0, 0, 0, 70, 18, 16, 0, 2, 0, 0, 0, - 70, 2, 16, 0, 3, 0, - 0, 0, 16, 0, 0, 7, - 66, 0, 16, 0, 4, 0, - 0, 0, 70, 18, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 16, 0, 0, 7, 66, 32, - 16, 0, 6, 0, 0, 0, - 70, 18, 16, 0, 2, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 16, 0, 0, 8, + 18, 32, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 70, 130, + 32, 0, 2, 0, 0, 0, 0, 0, 0, 0, 16, 0, - 0, 8, 18, 32, 16, 0, + 0, 8, 34, 32, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, 70, 130, 32, 0, 2, 0, - 0, 0, 0, 0, 0, 0, - 16, 0, 0, 8, 34, 32, + 0, 0, 1, 0, 0, 0, + 16, 0, 0, 8, 66, 32, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, 70, 130, 32, 0, - 2, 0, 0, 0, 1, 0, - 0, 0, 16, 0, 0, 8, - 66, 32, 16, 0, 3, 0, + 2, 0, 0, 0, 2, 0, + 0, 0, 54, 0, 0, 5, + 114, 32, 16, 0, 7, 0, 0, 0, 70, 2, 16, 0, - 4, 0, 0, 0, 70, 130, - 32, 0, 2, 0, 0, 0, - 2, 0, 0, 0, 54, 0, - 0, 5, 114, 32, 16, 0, - 7, 0, 0, 0, 70, 2, - 16, 0, 4, 0, 0, 0, - 17, 0, 0, 8, 18, 0, + 4, 0, 0, 0, 17, 0, + 0, 8, 18, 0, 16, 0, + 0, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 70, 142, 32, 0, 2, 0, + 0, 0, 0, 0, 0, 0, + 17, 0, 0, 8, 34, 0, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, - 2, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 1, 0, 0, 0, 17, 0, 0, 8, - 34, 0, 16, 0, 0, 0, + 66, 0, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, 2, 0, 0, 0, - 1, 0, 0, 0, 17, 0, - 0, 8, 66, 0, 16, 0, - 0, 0, 0, 0, 70, 14, - 16, 0, 2, 0, 0, 0, - 70, 142, 32, 0, 2, 0, + 2, 0, 0, 0, 54, 0, + 0, 5, 114, 32, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 0, 0, 0, 9, 114, 32, + 16, 0, 5, 0, 0, 0, + 70, 2, 16, 128, 65, 0, + 0, 0, 0, 0, 0, 0, + 70, 130, 32, 0, 2, 0, + 0, 0, 20, 0, 0, 0, + 54, 0, 0, 5, 130, 32, + 16, 0, 6, 0, 0, 0, + 58, 16, 16, 0, 2, 0, + 0, 0, 62, 0, 0, 1, + 73, 83, 71, 78, 216, 0, + 0, 0, 6, 0, 0, 0, + 8, 0, 0, 0, 152, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 15, 0, 0, 164, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 7, 7, 0, 0, 171, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, - 54, 0, 0, 5, 114, 32, - 16, 0, 4, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 0, 0, 0, 9, - 114, 32, 16, 0, 5, 0, - 0, 0, 70, 2, 16, 128, - 65, 0, 0, 0, 0, 0, - 0, 0, 70, 130, 32, 0, - 2, 0, 0, 0, 20, 0, - 0, 0, 54, 0, 0, 5, - 130, 32, 16, 0, 6, 0, - 0, 0, 58, 16, 16, 0, - 2, 0, 0, 0, 62, 0, - 0, 1, 73, 83, 71, 78, - 216, 0, 0, 0, 6, 0, - 0, 0, 8, 0, 0, 0, - 152, 0, 0, 0, 0, 0, + 15, 15, 0, 0, 179, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 3, 3, 0, 0, 188, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 4, 0, 0, 0, + 15, 15, 0, 0, 201, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 5, 0, 0, 0, + 15, 15, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 78, 79, + 82, 77, 65, 76, 0, 84, + 65, 78, 71, 69, 78, 84, + 0, 84, 69, 88, 67, 79, + 79, 82, 68, 0, 66, 76, + 69, 78, 68, 73, 78, 68, + 73, 67, 69, 83, 0, 66, + 76, 69, 78, 68, 87, 69, + 73, 71, 72, 84, 0, 171, + 171, 171, 79, 83, 71, 78, + 228, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 200, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, - 0, 0, 15, 15, 0, 0, - 164, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, - 0, 0, 7, 7, 0, 0, - 171, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, - 0, 0, 15, 15, 0, 0, - 179, 0, 0, 0, 0, 0, + 0, 0, 3, 12, 0, 0, + 218, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, - 0, 0, 3, 3, 0, 0, - 188, 0, 0, 0, 0, 0, + 0, 0, 7, 8, 0, 0, + 218, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 4, 0, - 0, 0, 15, 15, 0, 0, - 201, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 4, 0, + 0, 0, 7, 8, 0, 0, + 218, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 5, 0, - 0, 0, 15, 15, 0, 0, - 83, 86, 95, 80, 111, 115, - 105, 116, 105, 111, 110, 0, - 78, 79, 82, 77, 65, 76, - 0, 84, 65, 78, 71, 69, - 78, 84, 0, 84, 69, 88, - 67, 79, 79, 82, 68, 0, - 66, 76, 69, 78, 68, 73, - 78, 68, 73, 67, 69, 83, - 0, 66, 76, 69, 78, 68, - 87, 69, 73, 71, 72, 84, - 0, 171, 171, 171, 79, 83, - 71, 78, 228, 0, 0, 0, - 8, 0, 0, 0, 8, 0, - 0, 0, 200, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 212, 0, 0, 0, + 0, 0, 7, 8, 0, 0, + 218, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 15, 0, - 0, 0, 218, 0, 0, 0, + 3, 0, 0, 0, 6, 0, + 0, 0, 15, 0, 0, 0, + 218, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 2, 0, 0, 0, 3, 12, - 0, 0, 218, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 3, 0, 0, 0, 7, 8, - 0, 0, 218, 0, 0, 0, - 2, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 4, 0, 0, 0, 7, 8, - 0, 0, 218, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 5, 0, 0, 0, 7, 8, - 0, 0, 218, 0, 0, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 6, 0, 0, 0, 15, 0, - 0, 0, 218, 0, 0, 0, - 5, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 7, 0, 0, 0, 7, 8, - 0, 0, 83, 86, 95, 80, - 79, 83, 73, 84, 73, 79, - 78, 0, 67, 79, 76, 79, - 82, 0, 84, 69, 88, 67, - 79, 79, 82, 68, 0, 171 + 3, 0, 0, 0, 7, 0, + 0, 0, 7, 8, 0, 0, + 83, 86, 95, 80, 79, 83, + 73, 84, 73, 79, 78, 0, + 67, 79, 76, 79, 82, 0, + 84, 69, 88, 67, 79, 79, + 82, 68, 0, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLEffect_main4BonesVc.inc b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLEffect_main4BonesVc.inc index edd96cd7..05350262 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLEffect_main4BonesVc.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLEffect_main4BonesVc.inc @@ -53,57 +53,83 @@ // vs_2_0 def c228, 3, 1, 0, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 - dcl_texcoord3 v3 - dcl_texcoord4 v4 - dcl_texcoord5 v5 - dcl_texcoord6 v6 + dcl_texcoord v0 // vertex<0,1,2,3> + dcl_texcoord1 v1 // vertex<4,5,6> + dcl_texcoord2 v2 // vertex<7,8,9,10> + dcl_texcoord3 v3 // vertex<11,12,13,14> + dcl_texcoord4 v4 // vertex<15,16> + dcl_texcoord5 v5 // vertex<17,18,19,20> + dcl_texcoord6 v6 // vertex<21,22,23,24> + +#line 112 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\DGSLEffect.fx" mul r0, v5, c228.x mova a0, r0.yxzw mul r1, v6.y, c0[a0.x] - mad r1, c0[a0.y], v6.x, r1 - mad r0, c0[a0.z], v6.z, r1 - mad r0, c0[a0.w], v6.w, r0 - dp3 oT5.x, v2, r0 + mad r1, c0[a0.y], v6.x, r1 // ::skinning<0,3,6,9> + mad r0, c0[a0.z], v6.z, r1 // ::skinning<0,3,6,9> + mad r0, c0[a0.w], v6.w, r0 // ::skinning<0,3,6,9> + +#line 117 + dp3 oT5.x, v2, r0 // ::main4BonesVc<19> + +#line 112 mul r1, v6.y, c1[a0.x] mul r2, v6.y, c2[a0.x] - mad r2, c2[a0.y], v6.x, r2 - mad r1, c1[a0.y], v6.x, r1 - mad r1, c1[a0.z], v6.z, r1 - mad r2, c2[a0.z], v6.z, r2 - mad r2, c2[a0.w], v6.w, r2 - mad r1, c1[a0.w], v6.w, r1 - dp3 oT5.y, v2, r1 - dp3 oT5.z, v2, r2 - dp4 r3.x, v0, r0 - dp3 r0.x, v1, r0 - dp4 r3.y, v0, r1 - dp3 r0.y, v1, r1 - dp4 r3.z, v0, r2 - dp3 r0.z, v1, r2 + mad r2, c2[a0.y], v6.x, r2 // ::skinning<2,5,8,11> + mad r1, c1[a0.y], v6.x, r1 // ::skinning<1,4,7,10> + mad r1, c1[a0.z], v6.z, r1 // ::skinning<1,4,7,10> + mad r2, c2[a0.z], v6.z, r2 // ::skinning<2,5,8,11> + mad r2, c2[a0.w], v6.w, r2 // ::skinning<2,5,8,11> + mad r1, c1[a0.w], v6.w, r1 // ::skinning<1,4,7,10> + +#line 117 + dp3 oT5.y, v2, r1 // ::main4BonesVc<20> + dp3 oT5.z, v2, r2 // ::main4BonesVc<21> + dp4 r3.x, v0, r0 // SkinVc::vertex<0> + dp3 r0.x, v1, r0 // SkinVc::vertex<4> + dp4 r3.y, v0, r1 // SkinVc::vertex<1> + dp3 r0.y, v1, r1 // SkinVc::vertex<5> + dp4 r3.z, v0, r2 // SkinVc::vertex<2> + dp3 r0.z, v1, r2 // SkinVc::vertex<6> + +#line 281 mov r3.w, v0.w - dp4 oPos.z, r3, c223 - mul oT0, v3, c217 + +#line 284 + dp4 oPos.z, r3, c223 // ::main4BonesVc<2> + mul oT0, v3, c217 // ::main4BonesVc<4,5,6,7> mad r1.xyz, v4.xyxw, c228.yyzw, c228.zzyw - dp3 oT1.x, r1, c225.xyww - dp3 oT1.y, r1, c226.xyww - dp3 oT2.x, r0, c218 - dp3 oT2.y, r0, c219 - dp3 oT2.z, r0, c220 - mov oT6.xyz, r0 - dp4 r0.x, r3, c218 - dp4 r0.y, r3, c219 - dp4 r0.z, r3, c220 - add oT4.xyz, -r0, c227 - mov oT3.xyz, r0 - dp4 r0.x, r3, c221 - dp4 r0.y, r3, c222 - dp4 r0.z, r3, c224 - mad oPos.xy, r0.z, c216, r0 - mov oPos.w, r0.z - mov oT5.w, v2.w + dp3 oT1.x, r1, c225.xyww // ::main4BonesVc<8> + dp3 oT1.y, r1, c226.xyww // ::main4BonesVc<9> + dp3 oT2.x, r0, c218 // ::main4BonesVc<10> + dp3 oT2.y, r0, c219 // ::main4BonesVc<11> + dp3 oT2.z, r0, c220 // ::main4BonesVc<12> + +#line 116 + mov oT6.xyz, r0 // ::main4BonesVc<23,24,25> + +#line 281 + dp4 r0.x, r3, c218 // ::wp<0> + dp4 r0.y, r3, c219 // ::wp<1> + dp4 r0.z, r3, c220 // ::wp<2> + +#line 289 + add oT4.xyz, -r0, c227 // ::main4BonesVc<16,17,18> + +#line 281 + mov oT3.xyz, r0 // ::main4BonesVc<13,14,15> + +#line 284 + dp4 r0.x, r3, c221 // ::result<0> + dp4 r0.y, r3, c222 // ::result<1> + dp4 r0.z, r3, c224 // ::result<3> + +#line 275 + mad oPos.xy, r0.z, c216, r0 // ::main4BonesVc<0,1> + mov oPos.w, r0.z // ::main4BonesVc<3> + +#line 117 + mov oT5.w, v2.w // ::main4BonesVc<22> // approximately 44 instruction slots used vs_4_0 @@ -174,17 +200,17 @@ ret const BYTE DGSLEffect_main4BonesVc[] = { - 68, 88, 66, 67, 232, 20, - 197, 8, 28, 104, 152, 172, - 111, 129, 163, 88, 193, 142, - 231, 122, 1, 0, 0, 0, - 136, 12, 0, 0, 4, 0, + 68, 88, 66, 67, 178, 12, + 145, 116, 251, 101, 57, 238, + 157, 61, 44, 74, 40, 241, + 240, 56, 1, 0, 0, 0, + 228, 18, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 32, 4, 0, 0, 160, 10, - 0, 0, 156, 11, 0, 0, - 65, 111, 110, 57, 232, 3, - 0, 0, 232, 3, 0, 0, - 0, 2, 254, 255, 120, 3, + 124, 10, 0, 0, 252, 16, + 0, 0, 248, 17, 0, 0, + 65, 111, 110, 57, 68, 10, + 0, 0, 68, 10, 0, 0, + 0, 2, 254, 255, 212, 9, 0, 0, 112, 0, 0, 0, 6, 0, 36, 0, 0, 0, 108, 0, 0, 0, 108, 0, @@ -202,511 +228,782 @@ const BYTE DGSLEffect_main4BonesVc[] = 0, 0, 2, 0, 20, 0, 1, 0, 227, 0, 0, 0, 0, 0, 0, 0, 216, 0, - 0, 2, 254, 255, 81, 0, - 0, 5, 228, 0, 15, 160, - 0, 0, 64, 64, 0, 0, - 128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 1, 128, - 1, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 2, 128, - 2, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 3, 128, - 3, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 4, 128, - 4, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 5, 128, - 5, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 6, 128, - 6, 0, 15, 144, 5, 0, - 0, 3, 0, 0, 15, 128, - 5, 0, 228, 144, 228, 0, - 0, 160, 46, 0, 0, 2, - 0, 0, 15, 176, 0, 0, - 225, 128, 5, 0, 0, 4, - 1, 0, 15, 128, 6, 0, - 85, 144, 0, 32, 228, 160, - 0, 0, 0, 176, 4, 0, - 0, 5, 1, 0, 15, 128, - 0, 32, 228, 160, 0, 0, - 85, 176, 6, 0, 0, 144, - 1, 0, 228, 128, 4, 0, - 0, 5, 0, 0, 15, 128, - 0, 32, 228, 160, 0, 0, - 170, 176, 6, 0, 170, 144, - 1, 0, 228, 128, 4, 0, - 0, 5, 0, 0, 15, 128, - 0, 32, 228, 160, 0, 0, - 255, 176, 6, 0, 255, 144, - 0, 0, 228, 128, 8, 0, - 0, 3, 5, 0, 1, 224, - 2, 0, 228, 144, 0, 0, - 228, 128, 5, 0, 0, 4, - 1, 0, 15, 128, 6, 0, - 85, 144, 1, 32, 228, 160, - 0, 0, 0, 176, 5, 0, - 0, 4, 2, 0, 15, 128, - 6, 0, 85, 144, 2, 32, + 0, 2, 254, 255, 254, 255, + 150, 1, 68, 66, 85, 71, + 40, 0, 0, 0, 44, 6, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 116, 0, + 0, 0, 52, 0, 0, 0, + 120, 0, 0, 0, 6, 0, + 0, 0, 180, 5, 0, 0, + 24, 2, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 68, 71, + 83, 76, 69, 102, 102, 101, + 99, 116, 46, 102, 120, 0, + 171, 171, 40, 0, 0, 0, + 0, 0, 255, 255, 96, 6, + 0, 0, 0, 0, 255, 255, + 120, 6, 0, 0, 0, 0, + 255, 255, 132, 6, 0, 0, + 0, 0, 255, 255, 144, 6, + 0, 0, 0, 0, 255, 255, + 156, 6, 0, 0, 0, 0, + 255, 255, 168, 6, 0, 0, + 0, 0, 255, 255, 180, 6, + 0, 0, 0, 0, 255, 255, + 192, 6, 0, 0, 112, 0, + 0, 0, 204, 6, 0, 0, + 112, 0, 0, 0, 220, 6, + 0, 0, 112, 0, 0, 0, + 232, 6, 0, 0, 112, 0, + 0, 0, 252, 6, 0, 0, + 112, 0, 0, 0, 20, 7, + 0, 0, 112, 0, 0, 0, + 44, 7, 0, 0, 117, 0, + 0, 0, 68, 7, 0, 0, + 112, 0, 0, 0, 84, 7, + 0, 0, 112, 0, 0, 0, + 104, 7, 0, 0, 112, 0, + 0, 0, 124, 7, 0, 0, + 112, 0, 0, 0, 148, 7, + 0, 0, 112, 0, 0, 0, + 172, 7, 0, 0, 112, 0, + 0, 0, 196, 7, 0, 0, + 112, 0, 0, 0, 220, 7, + 0, 0, 112, 0, 0, 0, + 244, 7, 0, 0, 117, 0, + 0, 0, 12, 8, 0, 0, + 117, 0, 0, 0, 28, 8, + 0, 0, 115, 0, 0, 0, + 44, 8, 0, 0, 116, 0, + 0, 0, 60, 8, 0, 0, + 115, 0, 0, 0, 76, 8, + 0, 0, 116, 0, 0, 0, + 92, 8, 0, 0, 115, 0, + 0, 0, 108, 8, 0, 0, + 116, 0, 0, 0, 124, 8, + 0, 0, 25, 1, 0, 0, + 140, 8, 0, 0, 28, 1, + 0, 0, 152, 8, 0, 0, + 29, 1, 0, 0, 168, 8, + 0, 0, 30, 1, 0, 0, + 184, 8, 0, 0, 30, 1, + 0, 0, 204, 8, 0, 0, + 30, 1, 0, 0, 220, 8, + 0, 0, 31, 1, 0, 0, + 236, 8, 0, 0, 31, 1, + 0, 0, 252, 8, 0, 0, + 31, 1, 0, 0, 12, 9, + 0, 0, 116, 0, 0, 0, + 28, 9, 0, 0, 25, 1, + 0, 0, 40, 9, 0, 0, + 25, 1, 0, 0, 56, 9, + 0, 0, 25, 1, 0, 0, + 72, 9, 0, 0, 33, 1, + 0, 0, 88, 9, 0, 0, + 25, 1, 0, 0, 104, 9, + 0, 0, 28, 1, 0, 0, + 116, 9, 0, 0, 28, 1, + 0, 0, 132, 9, 0, 0, + 28, 1, 0, 0, 148, 9, + 0, 0, 19, 1, 0, 0, + 164, 9, 0, 0, 19, 1, + 0, 0, 184, 9, 0, 0, + 117, 0, 0, 0, 196, 9, + 0, 0, 109, 97, 105, 110, + 52, 66, 111, 110, 101, 115, + 86, 99, 0, 112, 111, 115, + 0, 171, 171, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 100, 105, 102, 102, + 117, 115, 101, 0, 117, 118, + 0, 171, 1, 0, 3, 0, + 1, 0, 2, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 119, 111, 114, 108, 100, 78, + 111, 114, 109, 0, 171, 171, + 1, 0, 3, 0, 1, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 119, 111, + 114, 108, 100, 80, 111, 115, + 0, 116, 111, 69, 121, 101, + 0, 116, 97, 110, 103, 101, + 110, 116, 0, 110, 111, 114, + 109, 97, 108, 0, 171, 171, + 37, 2, 0, 0, 44, 2, + 0, 0, 60, 2, 0, 0, + 44, 2, 0, 0, 68, 2, + 0, 0, 72, 2, 0, 0, + 88, 2, 0, 0, 100, 2, + 0, 0, 116, 2, 0, 0, + 100, 2, 0, 0, 125, 2, + 0, 0, 100, 2, 0, 0, + 131, 2, 0, 0, 44, 2, + 0, 0, 139, 2, 0, 0, + 100, 2, 0, 0, 5, 0, + 0, 0, 1, 0, 26, 0, + 1, 0, 8, 0, 148, 2, + 0, 0, 14, 0, 0, 0, + 19, 0, 255, 255, 255, 255, + 255, 255, 23, 0, 0, 0, + 255, 255, 20, 0, 255, 255, + 255, 255, 24, 0, 0, 0, + 255, 255, 255, 255, 21, 0, + 255, 255, 32, 0, 0, 0, + 255, 255, 255, 255, 2, 0, + 255, 255, 33, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 7, 0, 35, 0, 0, 0, + 8, 0, 255, 255, 255, 255, + 255, 255, 36, 0, 0, 0, + 255, 255, 9, 0, 255, 255, + 255, 255, 37, 0, 0, 0, + 10, 0, 255, 255, 255, 255, + 255, 255, 38, 0, 0, 0, + 255, 255, 11, 0, 255, 255, + 255, 255, 39, 0, 0, 0, + 255, 255, 255, 255, 12, 0, + 255, 255, 40, 0, 0, 0, + 23, 0, 24, 0, 25, 0, + 255, 255, 44, 0, 0, 0, + 16, 0, 17, 0, 18, 0, + 255, 255, 45, 0, 0, 0, + 13, 0, 14, 0, 15, 0, + 255, 255, 49, 0, 0, 0, + 0, 0, 1, 0, 255, 255, + 255, 255, 50, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 3, 0, 51, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 22, 0, 114, 101, 115, 117, + 108, 116, 0, 171, 5, 0, + 0, 0, 1, 0, 26, 0, + 1, 0, 8, 0, 148, 2, + 0, 0, 46, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 47, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 48, 0, 0, 0, + 255, 255, 255, 255, 3, 0, + 255, 255, 115, 107, 105, 110, + 110, 105, 110, 103, 0, 171, + 171, 171, 3, 0, 3, 0, + 4, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 11, 0, 0, 0, 0, 0, + 3, 0, 6, 0, 9, 0, + 12, 0, 0, 0, 0, 0, + 3, 0, 6, 0, 9, 0, + 13, 0, 0, 0, 0, 0, + 3, 0, 6, 0, 9, 0, + 17, 0, 0, 0, 2, 0, + 5, 0, 8, 0, 11, 0, + 18, 0, 0, 0, 1, 0, + 4, 0, 7, 0, 10, 0, + 19, 0, 0, 0, 1, 0, + 4, 0, 7, 0, 10, 0, + 20, 0, 0, 0, 2, 0, + 5, 0, 8, 0, 11, 0, + 21, 0, 0, 0, 2, 0, + 5, 0, 8, 0, 11, 0, + 22, 0, 0, 0, 1, 0, + 4, 0, 7, 0, 10, 0, + 83, 107, 105, 110, 86, 99, + 0, 118, 101, 114, 116, 101, + 120, 0, 99, 111, 108, 111, + 114, 0, 98, 111, 110, 101, + 73, 110, 100, 105, 99, 101, + 115, 0, 1, 0, 2, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 98, 108, 101, 110, 100, 87, + 101, 105, 103, 104, 116, 115, + 0, 171, 171, 171, 37, 2, + 0, 0, 44, 2, 0, 0, + 139, 2, 0, 0, 100, 2, + 0, 0, 131, 2, 0, 0, + 44, 2, 0, 0, 118, 4, + 0, 0, 44, 2, 0, 0, + 68, 2, 0, 0, 72, 2, + 0, 0, 124, 4, 0, 0, + 136, 4, 0, 0, 152, 4, + 0, 0, 44, 2, 0, 0, + 5, 0, 0, 0, 1, 0, + 25, 0, 1, 0, 7, 0, + 168, 4, 0, 0, 25, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 26, 0, + 0, 0, 4, 0, 255, 255, + 255, 255, 255, 255, 27, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 28, 0, + 0, 0, 255, 255, 5, 0, + 255, 255, 255, 255, 29, 0, + 0, 0, 255, 255, 255, 255, + 2, 0, 255, 255, 30, 0, + 0, 0, 255, 255, 255, 255, + 6, 0, 255, 255, 1, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 3, 0, 2, 0, + 0, 0, 4, 0, 5, 0, + 6, 0, 255, 255, 3, 0, + 0, 0, 7, 0, 8, 0, + 9, 0, 10, 0, 4, 0, + 0, 0, 11, 0, 12, 0, + 13, 0, 14, 0, 5, 0, + 0, 0, 15, 0, 16, 0, + 255, 255, 255, 255, 6, 0, + 0, 0, 17, 0, 18, 0, + 19, 0, 20, 0, 7, 0, + 0, 0, 21, 0, 22, 0, + 23, 0, 24, 0, 119, 112, + 0, 171, 41, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 42, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 43, 0, 0, 0, + 255, 255, 255, 255, 2, 0, + 255, 255, 0, 0, 0, 0, + 24, 2, 0, 0, 212, 2, + 0, 0, 16, 0, 0, 0, + 228, 2, 0, 0, 0, 0, + 0, 0, 164, 3, 0, 0, + 172, 3, 0, 0, 3, 0, + 0, 0, 188, 3, 0, 0, + 0, 0, 0, 0, 224, 3, + 0, 0, 236, 3, 0, 0, + 9, 0, 0, 0, 252, 3, + 0, 0, 104, 4, 0, 0, + 111, 4, 0, 0, 224, 4, + 0, 0, 6, 0, 0, 0, + 240, 4, 0, 0, 24, 2, + 0, 0, 111, 4, 0, 0, + 224, 4, 0, 0, 7, 0, + 0, 0, 56, 5, 0, 0, + 0, 0, 0, 0, 140, 5, + 0, 0, 100, 2, 0, 0, + 3, 0, 0, 0, 144, 5, + 0, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 81, 0, 0, 5, 228, 0, + 15, 160, 0, 0, 64, 64, + 0, 0, 128, 63, 0, 0, + 0, 0, 0, 0, 0, 0, + 31, 0, 0, 2, 5, 0, + 0, 128, 0, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 1, 128, 1, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 2, 128, 2, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 3, 128, 3, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 4, 128, 4, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 5, 128, 5, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 6, 128, 6, 0, 15, 144, + 5, 0, 0, 3, 0, 0, + 15, 128, 5, 0, 228, 144, + 228, 0, 0, 160, 46, 0, + 0, 2, 0, 0, 15, 176, + 0, 0, 225, 128, 5, 0, + 0, 4, 1, 0, 15, 128, + 6, 0, 85, 144, 0, 32, 228, 160, 0, 0, 0, 176, - 4, 0, 0, 5, 2, 0, - 15, 128, 2, 32, 228, 160, - 0, 0, 85, 176, 6, 0, - 0, 144, 2, 0, 228, 128, 4, 0, 0, 5, 1, 0, - 15, 128, 1, 32, 228, 160, + 15, 128, 0, 32, 228, 160, 0, 0, 85, 176, 6, 0, 0, 144, 1, 0, 228, 128, - 4, 0, 0, 5, 1, 0, - 15, 128, 1, 32, 228, 160, + 4, 0, 0, 5, 0, 0, + 15, 128, 0, 32, 228, 160, 0, 0, 170, 176, 6, 0, 170, 144, 1, 0, 228, 128, - 4, 0, 0, 5, 2, 0, - 15, 128, 2, 32, 228, 160, - 0, 0, 170, 176, 6, 0, - 170, 144, 2, 0, 228, 128, - 4, 0, 0, 5, 2, 0, - 15, 128, 2, 32, 228, 160, + 4, 0, 0, 5, 0, 0, + 15, 128, 0, 32, 228, 160, 0, 0, 255, 176, 6, 0, - 255, 144, 2, 0, 228, 128, - 4, 0, 0, 5, 1, 0, - 15, 128, 1, 32, 228, 160, - 0, 0, 255, 176, 6, 0, - 255, 144, 1, 0, 228, 128, + 255, 144, 0, 0, 228, 128, 8, 0, 0, 3, 5, 0, - 2, 224, 2, 0, 228, 144, - 1, 0, 228, 128, 8, 0, - 0, 3, 5, 0, 4, 224, - 2, 0, 228, 144, 2, 0, - 228, 128, 9, 0, 0, 3, - 3, 0, 1, 128, 0, 0, - 228, 144, 0, 0, 228, 128, - 8, 0, 0, 3, 0, 0, - 1, 128, 1, 0, 228, 144, - 0, 0, 228, 128, 9, 0, - 0, 3, 3, 0, 2, 128, - 0, 0, 228, 144, 1, 0, + 1, 224, 2, 0, 228, 144, + 0, 0, 228, 128, 5, 0, + 0, 4, 1, 0, 15, 128, + 6, 0, 85, 144, 1, 32, + 228, 160, 0, 0, 0, 176, + 5, 0, 0, 4, 2, 0, + 15, 128, 6, 0, 85, 144, + 2, 32, 228, 160, 0, 0, + 0, 176, 4, 0, 0, 5, + 2, 0, 15, 128, 2, 32, + 228, 160, 0, 0, 85, 176, + 6, 0, 0, 144, 2, 0, + 228, 128, 4, 0, 0, 5, + 1, 0, 15, 128, 1, 32, + 228, 160, 0, 0, 85, 176, + 6, 0, 0, 144, 1, 0, + 228, 128, 4, 0, 0, 5, + 1, 0, 15, 128, 1, 32, + 228, 160, 0, 0, 170, 176, + 6, 0, 170, 144, 1, 0, + 228, 128, 4, 0, 0, 5, + 2, 0, 15, 128, 2, 32, + 228, 160, 0, 0, 170, 176, + 6, 0, 170, 144, 2, 0, + 228, 128, 4, 0, 0, 5, + 2, 0, 15, 128, 2, 32, + 228, 160, 0, 0, 255, 176, + 6, 0, 255, 144, 2, 0, + 228, 128, 4, 0, 0, 5, + 1, 0, 15, 128, 1, 32, + 228, 160, 0, 0, 255, 176, + 6, 0, 255, 144, 1, 0, 228, 128, 8, 0, 0, 3, - 0, 0, 2, 128, 1, 0, + 5, 0, 2, 224, 2, 0, 228, 144, 1, 0, 228, 128, + 8, 0, 0, 3, 5, 0, + 4, 224, 2, 0, 228, 144, + 2, 0, 228, 128, 9, 0, + 0, 3, 3, 0, 1, 128, + 0, 0, 228, 144, 0, 0, + 228, 128, 8, 0, 0, 3, + 0, 0, 1, 128, 1, 0, + 228, 144, 0, 0, 228, 128, 9, 0, 0, 3, 3, 0, - 4, 128, 0, 0, 228, 144, - 2, 0, 228, 128, 8, 0, - 0, 3, 0, 0, 4, 128, - 1, 0, 228, 144, 2, 0, - 228, 128, 1, 0, 0, 2, - 3, 0, 8, 128, 0, 0, - 255, 144, 9, 0, 0, 3, - 0, 0, 4, 192, 3, 0, - 228, 128, 223, 0, 228, 160, - 5, 0, 0, 3, 0, 0, - 15, 224, 3, 0, 228, 144, - 217, 0, 228, 160, 4, 0, - 0, 4, 1, 0, 7, 128, - 4, 0, 196, 144, 228, 0, - 229, 160, 228, 0, 218, 160, + 2, 128, 0, 0, 228, 144, + 1, 0, 228, 128, 8, 0, + 0, 3, 0, 0, 2, 128, + 1, 0, 228, 144, 1, 0, + 228, 128, 9, 0, 0, 3, + 3, 0, 4, 128, 0, 0, + 228, 144, 2, 0, 228, 128, + 8, 0, 0, 3, 0, 0, + 4, 128, 1, 0, 228, 144, + 2, 0, 228, 128, 1, 0, + 0, 2, 3, 0, 8, 128, + 0, 0, 255, 144, 9, 0, + 0, 3, 0, 0, 4, 192, + 3, 0, 228, 128, 223, 0, + 228, 160, 5, 0, 0, 3, + 0, 0, 15, 224, 3, 0, + 228, 144, 217, 0, 228, 160, + 4, 0, 0, 4, 1, 0, + 7, 128, 4, 0, 196, 144, + 228, 0, 229, 160, 228, 0, + 218, 160, 8, 0, 0, 3, + 1, 0, 1, 224, 1, 0, + 228, 128, 225, 0, 244, 160, 8, 0, 0, 3, 1, 0, - 1, 224, 1, 0, 228, 128, - 225, 0, 244, 160, 8, 0, - 0, 3, 1, 0, 2, 224, - 1, 0, 228, 128, 226, 0, - 244, 160, 8, 0, 0, 3, - 2, 0, 1, 224, 0, 0, - 228, 128, 218, 0, 228, 160, + 2, 224, 1, 0, 228, 128, + 226, 0, 244, 160, 8, 0, + 0, 3, 2, 0, 1, 224, + 0, 0, 228, 128, 218, 0, + 228, 160, 8, 0, 0, 3, + 2, 0, 2, 224, 0, 0, + 228, 128, 219, 0, 228, 160, 8, 0, 0, 3, 2, 0, - 2, 224, 0, 0, 228, 128, - 219, 0, 228, 160, 8, 0, - 0, 3, 2, 0, 4, 224, - 0, 0, 228, 128, 220, 0, + 4, 224, 0, 0, 228, 128, + 220, 0, 228, 160, 1, 0, + 0, 2, 6, 0, 7, 224, + 0, 0, 228, 128, 9, 0, + 0, 3, 0, 0, 1, 128, + 3, 0, 228, 128, 218, 0, + 228, 160, 9, 0, 0, 3, + 0, 0, 2, 128, 3, 0, + 228, 128, 219, 0, 228, 160, + 9, 0, 0, 3, 0, 0, + 4, 128, 3, 0, 228, 128, + 220, 0, 228, 160, 2, 0, + 0, 3, 4, 0, 7, 224, + 0, 0, 228, 129, 227, 0, 228, 160, 1, 0, 0, 2, - 6, 0, 7, 224, 0, 0, + 3, 0, 7, 224, 0, 0, 228, 128, 9, 0, 0, 3, 0, 0, 1, 128, 3, 0, - 228, 128, 218, 0, 228, 160, + 228, 128, 221, 0, 228, 160, 9, 0, 0, 3, 0, 0, 2, 128, 3, 0, 228, 128, - 219, 0, 228, 160, 9, 0, + 222, 0, 228, 160, 9, 0, 0, 3, 0, 0, 4, 128, - 3, 0, 228, 128, 220, 0, - 228, 160, 2, 0, 0, 3, - 4, 0, 7, 224, 0, 0, - 228, 129, 227, 0, 228, 160, - 1, 0, 0, 2, 3, 0, - 7, 224, 0, 0, 228, 128, - 9, 0, 0, 3, 0, 0, - 1, 128, 3, 0, 228, 128, - 221, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 2, 128, - 3, 0, 228, 128, 222, 0, - 228, 160, 9, 0, 0, 3, - 0, 0, 4, 128, 3, 0, - 228, 128, 224, 0, 228, 160, - 4, 0, 0, 4, 0, 0, - 3, 192, 0, 0, 170, 128, - 216, 0, 228, 160, 0, 0, - 228, 128, 1, 0, 0, 2, - 0, 0, 8, 192, 0, 0, - 170, 128, 1, 0, 0, 2, - 5, 0, 8, 224, 2, 0, - 255, 144, 255, 255, 0, 0, - 83, 72, 68, 82, 120, 6, - 0, 0, 64, 0, 1, 0, - 158, 1, 0, 0, 89, 0, + 3, 0, 228, 128, 224, 0, + 228, 160, 4, 0, 0, 4, + 0, 0, 3, 192, 0, 0, + 170, 128, 216, 0, 228, 160, + 0, 0, 228, 128, 1, 0, + 0, 2, 0, 0, 8, 192, + 0, 0, 170, 128, 1, 0, + 0, 2, 5, 0, 8, 224, + 2, 0, 255, 144, 255, 255, + 0, 0, 83, 72, 68, 82, + 120, 6, 0, 0, 64, 0, + 1, 0, 158, 1, 0, 0, + 89, 0, 0, 4, 70, 142, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 89, 0, 0, 4, 70, 142, 32, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 89, 0, 0, 4, - 70, 142, 32, 0, 2, 0, - 0, 0, 21, 0, 0, 0, - 89, 8, 0, 4, 70, 142, - 32, 0, 4, 0, 0, 0, - 216, 0, 0, 0, 95, 0, - 0, 3, 242, 16, 16, 0, - 0, 0, 0, 0, 95, 0, - 0, 3, 114, 16, 16, 0, - 1, 0, 0, 0, 95, 0, - 0, 3, 242, 16, 16, 0, - 2, 0, 0, 0, 95, 0, - 0, 3, 242, 16, 16, 0, - 3, 0, 0, 0, 95, 0, - 0, 3, 50, 16, 16, 0, - 4, 0, 0, 0, 95, 0, - 0, 3, 242, 16, 16, 0, - 5, 0, 0, 0, 95, 0, - 0, 3, 242, 16, 16, 0, - 6, 0, 0, 0, 103, 0, - 0, 4, 242, 32, 16, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 1, 0, - 0, 0, 101, 0, 0, 3, - 50, 32, 16, 0, 2, 0, - 0, 0, 101, 0, 0, 3, - 114, 32, 16, 0, 3, 0, - 0, 0, 101, 0, 0, 3, - 114, 32, 16, 0, 4, 0, - 0, 0, 101, 0, 0, 3, - 114, 32, 16, 0, 5, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 6, 0, - 0, 0, 101, 0, 0, 3, - 114, 32, 16, 0, 7, 0, - 0, 0, 104, 0, 0, 2, - 5, 0, 0, 0, 38, 0, - 0, 11, 0, 208, 0, 0, - 242, 0, 16, 0, 0, 0, - 0, 0, 70, 30, 16, 0, - 5, 0, 0, 0, 2, 64, - 0, 0, 3, 0, 0, 0, - 3, 0, 0, 0, 3, 0, - 0, 0, 3, 0, 0, 0, - 56, 0, 0, 9, 242, 0, - 16, 0, 1, 0, 0, 0, - 86, 21, 16, 0, 6, 0, - 0, 0, 70, 142, 32, 4, - 4, 0, 0, 0, 26, 0, + 2, 0, 0, 0, 21, 0, + 0, 0, 89, 8, 0, 4, + 70, 142, 32, 0, 4, 0, + 0, 0, 216, 0, 0, 0, + 95, 0, 0, 3, 242, 16, 16, 0, 0, 0, 0, 0, - 50, 0, 0, 11, 242, 0, + 95, 0, 0, 3, 114, 16, 16, 0, 1, 0, 0, 0, - 70, 142, 32, 4, 4, 0, - 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 6, 16, + 95, 0, 0, 3, 242, 16, + 16, 0, 2, 0, 0, 0, + 95, 0, 0, 3, 242, 16, + 16, 0, 3, 0, 0, 0, + 95, 0, 0, 3, 50, 16, + 16, 0, 4, 0, 0, 0, + 95, 0, 0, 3, 242, 16, + 16, 0, 5, 0, 0, 0, + 95, 0, 0, 3, 242, 16, 16, 0, 6, 0, 0, 0, - 70, 14, 16, 0, 1, 0, + 103, 0, 0, 4, 242, 32, + 16, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 50, 32, 16, 0, + 2, 0, 0, 0, 101, 0, + 0, 3, 114, 32, 16, 0, + 3, 0, 0, 0, 101, 0, + 0, 3, 114, 32, 16, 0, + 4, 0, 0, 0, 101, 0, + 0, 3, 114, 32, 16, 0, + 5, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 6, 0, 0, 0, 101, 0, + 0, 3, 114, 32, 16, 0, + 7, 0, 0, 0, 104, 0, + 0, 2, 5, 0, 0, 0, + 38, 0, 0, 11, 0, 208, + 0, 0, 242, 0, 16, 0, + 0, 0, 0, 0, 70, 30, + 16, 0, 5, 0, 0, 0, + 2, 64, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 3, 0, + 0, 0, 56, 0, 0, 9, + 242, 0, 16, 0, 1, 0, + 0, 0, 86, 21, 16, 0, + 6, 0, 0, 0, 70, 142, + 32, 4, 4, 0, 0, 0, + 26, 0, 16, 0, 0, 0, 0, 0, 50, 0, 0, 11, 242, 0, 16, 0, 1, 0, 0, 0, 70, 142, 32, 4, - 4, 0, 0, 0, 42, 0, + 4, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, - 166, 26, 16, 0, 6, 0, + 6, 16, 16, 0, 6, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, 50, 0, 0, 11, 242, 0, 16, 0, 1, 0, 0, 0, 70, 142, 32, 4, 4, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 246, 31, 16, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 166, 26, 16, 0, 6, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, - 17, 0, 0, 7, 18, 0, - 16, 0, 2, 0, 0, 0, - 70, 30, 16, 0, 0, 0, - 0, 0, 70, 14, 16, 0, - 1, 0, 0, 0, 56, 0, - 0, 10, 242, 0, 16, 0, - 3, 0, 0, 0, 86, 21, - 16, 0, 6, 0, 0, 0, - 70, 142, 32, 6, 4, 0, - 0, 0, 1, 0, 0, 0, - 26, 0, 16, 0, 0, 0, - 0, 0, 50, 0, 0, 12, - 242, 0, 16, 0, 3, 0, - 0, 0, 70, 142, 32, 6, - 4, 0, 0, 0, 1, 0, - 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 6, 16, - 16, 0, 6, 0, 0, 0, - 70, 14, 16, 0, 3, 0, - 0, 0, 50, 0, 0, 12, - 242, 0, 16, 0, 3, 0, - 0, 0, 70, 142, 32, 6, - 4, 0, 0, 0, 1, 0, - 0, 0, 42, 0, 16, 0, - 0, 0, 0, 0, 166, 26, - 16, 0, 6, 0, 0, 0, - 70, 14, 16, 0, 3, 0, - 0, 0, 50, 0, 0, 12, - 242, 0, 16, 0, 3, 0, - 0, 0, 70, 142, 32, 6, - 4, 0, 0, 0, 1, 0, + 50, 0, 0, 11, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 142, 32, 4, 4, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 246, 31, 16, 0, 6, 0, 0, 0, - 70, 14, 16, 0, 3, 0, + 70, 14, 16, 0, 1, 0, 0, 0, 17, 0, 0, 7, - 34, 0, 16, 0, 2, 0, + 18, 0, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 14, - 16, 0, 3, 0, 0, 0, + 16, 0, 1, 0, 0, 0, 56, 0, 0, 10, 242, 0, - 16, 0, 4, 0, 0, 0, + 16, 0, 3, 0, 0, 0, 86, 21, 16, 0, 6, 0, 0, 0, 70, 142, 32, 6, - 4, 0, 0, 0, 2, 0, + 4, 0, 0, 0, 1, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, 50, 0, 0, 12, 242, 0, 16, 0, - 4, 0, 0, 0, 70, 142, + 3, 0, 0, 0, 70, 142, 32, 6, 4, 0, 0, 0, - 2, 0, 0, 0, 10, 0, + 1, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, 6, 16, 16, 0, 6, 0, 0, 0, 70, 14, 16, 0, - 4, 0, 0, 0, 50, 0, + 3, 0, 0, 0, 50, 0, 0, 12, 242, 0, 16, 0, - 4, 0, 0, 0, 70, 142, + 3, 0, 0, 0, 70, 142, 32, 6, 4, 0, 0, 0, - 2, 0, 0, 0, 42, 0, + 1, 0, 0, 0, 42, 0, 16, 0, 0, 0, 0, 0, 166, 26, 16, 0, 6, 0, 0, 0, 70, 14, 16, 0, - 4, 0, 0, 0, 50, 0, + 3, 0, 0, 0, 50, 0, 0, 12, 242, 0, 16, 0, - 0, 0, 0, 0, 70, 142, + 3, 0, 0, 0, 70, 142, 32, 6, 4, 0, 0, 0, - 2, 0, 0, 0, 58, 0, + 1, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 246, 31, 16, 0, 6, 0, 0, 0, 70, 14, 16, 0, - 4, 0, 0, 0, 17, 0, - 0, 7, 66, 0, 16, 0, + 3, 0, 0, 0, 17, 0, + 0, 7, 34, 0, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 0, 0, - 0, 0, 54, 0, 0, 5, - 130, 0, 16, 0, 2, 0, - 0, 0, 58, 16, 16, 0, - 0, 0, 0, 0, 17, 0, - 0, 8, 18, 32, 16, 0, - 0, 0, 0, 0, 70, 14, + 70, 14, 16, 0, 3, 0, + 0, 0, 56, 0, 0, 10, + 242, 0, 16, 0, 4, 0, + 0, 0, 86, 21, 16, 0, + 6, 0, 0, 0, 70, 142, + 32, 6, 4, 0, 0, 0, + 2, 0, 0, 0, 26, 0, + 16, 0, 0, 0, 0, 0, + 50, 0, 0, 12, 242, 0, + 16, 0, 4, 0, 0, 0, + 70, 142, 32, 6, 4, 0, + 0, 0, 2, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 6, 16, 16, 0, + 6, 0, 0, 0, 70, 14, + 16, 0, 4, 0, 0, 0, + 50, 0, 0, 12, 242, 0, + 16, 0, 4, 0, 0, 0, + 70, 142, 32, 6, 4, 0, + 0, 0, 2, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 166, 26, 16, 0, + 6, 0, 0, 0, 70, 14, + 16, 0, 4, 0, 0, 0, + 50, 0, 0, 12, 242, 0, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 6, 4, 0, + 0, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 246, 31, 16, 0, + 6, 0, 0, 0, 70, 14, + 16, 0, 4, 0, 0, 0, + 17, 0, 0, 7, 66, 0, 16, 0, 2, 0, 0, 0, - 70, 142, 32, 0, 2, 0, - 0, 0, 4, 0, 0, 0, - 17, 0, 0, 8, 34, 32, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 130, 0, 16, 0, + 2, 0, 0, 0, 58, 16, + 16, 0, 0, 0, 0, 0, + 17, 0, 0, 8, 18, 32, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, - 2, 0, 0, 0, 5, 0, + 2, 0, 0, 0, 4, 0, 0, 0, 17, 0, 0, 8, - 66, 32, 16, 0, 0, 0, + 34, 32, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, 2, 0, 0, 0, - 6, 0, 0, 0, 17, 0, - 0, 8, 130, 32, 16, 0, + 5, 0, 0, 0, 17, 0, + 0, 8, 66, 32, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, 2, 0, - 0, 0, 7, 0, 0, 0, - 56, 0, 0, 8, 242, 32, - 16, 0, 1, 0, 0, 0, - 70, 30, 16, 0, 3, 0, + 0, 0, 6, 0, 0, 0, + 17, 0, 0, 8, 130, 32, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 54, 0, 0, 5, - 50, 0, 16, 0, 4, 0, - 0, 0, 70, 16, 16, 0, - 4, 0, 0, 0, 54, 0, - 0, 5, 66, 0, 16, 0, - 4, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 128, 63, - 16, 0, 0, 8, 18, 32, - 16, 0, 2, 0, 0, 0, - 70, 2, 16, 0, 4, 0, - 0, 0, 70, 131, 32, 0, - 2, 0, 0, 0, 16, 0, - 0, 0, 16, 0, 0, 8, - 34, 32, 16, 0, 2, 0, + 2, 0, 0, 0, 7, 0, + 0, 0, 56, 0, 0, 8, + 242, 32, 16, 0, 1, 0, + 0, 0, 70, 30, 16, 0, + 3, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 54, 0, + 0, 5, 50, 0, 16, 0, + 4, 0, 0, 0, 70, 16, + 16, 0, 4, 0, 0, 0, + 54, 0, 0, 5, 66, 0, + 16, 0, 4, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 128, 63, 16, 0, 0, 8, + 18, 32, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, 70, 131, 32, 0, 2, 0, 0, 0, - 17, 0, 0, 0, 16, 0, - 0, 7, 18, 0, 16, 0, - 4, 0, 0, 0, 70, 18, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 16, 0, 0, 7, - 18, 32, 16, 0, 6, 0, - 0, 0, 70, 18, 16, 0, + 16, 0, 0, 0, 16, 0, + 0, 8, 34, 32, 16, 0, 2, 0, 0, 0, 70, 2, - 16, 0, 1, 0, 0, 0, - 16, 0, 0, 7, 34, 0, + 16, 0, 4, 0, 0, 0, + 70, 131, 32, 0, 2, 0, + 0, 0, 17, 0, 0, 0, + 16, 0, 0, 7, 18, 0, 16, 0, 4, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, - 3, 0, 0, 0, 16, 0, - 0, 7, 34, 32, 16, 0, + 1, 0, 0, 0, 16, 0, + 0, 7, 18, 32, 16, 0, 6, 0, 0, 0, 70, 18, 16, 0, 2, 0, 0, 0, - 70, 2, 16, 0, 3, 0, + 70, 2, 16, 0, 1, 0, 0, 0, 16, 0, 0, 7, - 66, 0, 16, 0, 4, 0, + 34, 0, 16, 0, 4, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 16, 0, 0, 7, 66, 32, + 16, 0, 3, 0, 0, 0, + 16, 0, 0, 7, 34, 32, 16, 0, 6, 0, 0, 0, 70, 18, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 16, 0, - 0, 8, 18, 32, 16, 0, - 3, 0, 0, 0, 70, 2, - 16, 0, 4, 0, 0, 0, - 70, 130, 32, 0, 2, 0, - 0, 0, 0, 0, 0, 0, - 16, 0, 0, 8, 34, 32, + 3, 0, 0, 0, 16, 0, + 0, 7, 66, 0, 16, 0, + 4, 0, 0, 0, 70, 18, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 16, 0, 0, 7, + 66, 32, 16, 0, 6, 0, + 0, 0, 70, 18, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 16, 0, 0, 8, 18, 32, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, 70, 130, 32, 0, - 2, 0, 0, 0, 1, 0, + 2, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 8, - 66, 32, 16, 0, 3, 0, + 34, 32, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, 70, 130, 32, 0, 2, 0, 0, 0, - 2, 0, 0, 0, 54, 0, - 0, 5, 114, 32, 16, 0, - 7, 0, 0, 0, 70, 2, + 1, 0, 0, 0, 16, 0, + 0, 8, 66, 32, 16, 0, + 3, 0, 0, 0, 70, 2, 16, 0, 4, 0, 0, 0, - 17, 0, 0, 8, 18, 0, - 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 2, 0, - 0, 0, 70, 142, 32, 0, - 2, 0, 0, 0, 0, 0, + 70, 130, 32, 0, 2, 0, + 0, 0, 2, 0, 0, 0, + 54, 0, 0, 5, 114, 32, + 16, 0, 7, 0, 0, 0, + 70, 2, 16, 0, 4, 0, 0, 0, 17, 0, 0, 8, - 34, 0, 16, 0, 0, 0, + 18, 0, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, 2, 0, 0, 0, - 1, 0, 0, 0, 17, 0, - 0, 8, 66, 0, 16, 0, + 0, 0, 0, 0, 17, 0, + 0, 8, 34, 0, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, 2, 0, - 0, 0, 2, 0, 0, 0, - 54, 0, 0, 5, 114, 32, - 16, 0, 4, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 0, 0, 0, 9, - 114, 32, 16, 0, 5, 0, - 0, 0, 70, 2, 16, 128, - 65, 0, 0, 0, 0, 0, - 0, 0, 70, 130, 32, 0, - 2, 0, 0, 0, 20, 0, + 0, 0, 1, 0, 0, 0, + 17, 0, 0, 8, 66, 0, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 2, 0, + 0, 0, 70, 142, 32, 0, + 2, 0, 0, 0, 2, 0, 0, 0, 54, 0, 0, 5, - 130, 32, 16, 0, 6, 0, - 0, 0, 58, 16, 16, 0, - 2, 0, 0, 0, 62, 0, - 0, 1, 73, 83, 71, 78, - 244, 0, 0, 0, 7, 0, - 0, 0, 8, 0, 0, 0, - 176, 0, 0, 0, 0, 0, + 114, 32, 16, 0, 4, 0, + 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 15, 0, 0, - 188, 0, 0, 0, 0, 0, + 0, 9, 114, 32, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 70, 130, + 32, 0, 2, 0, 0, 0, + 20, 0, 0, 0, 54, 0, + 0, 5, 130, 32, 16, 0, + 6, 0, 0, 0, 58, 16, + 16, 0, 2, 0, 0, 0, + 62, 0, 0, 1, 73, 83, + 71, 78, 244, 0, 0, 0, + 7, 0, 0, 0, 8, 0, + 0, 0, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 7, 7, 0, 0, - 195, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 15, + 0, 0, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 15, 15, 0, 0, - 203, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 7, 7, + 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 3, 0, - 0, 0, 15, 15, 0, 0, - 209, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 2, 0, 0, 0, 15, 15, + 0, 0, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 4, 0, - 0, 0, 3, 3, 0, 0, - 218, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 15, 15, + 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 5, 0, - 0, 0, 15, 15, 0, 0, - 231, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 4, 0, 0, 0, 3, 3, + 0, 0, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 6, 0, - 0, 0, 15, 15, 0, 0, - 83, 86, 95, 80, 111, 115, - 105, 116, 105, 111, 110, 0, - 78, 79, 82, 77, 65, 76, - 0, 84, 65, 78, 71, 69, - 78, 84, 0, 67, 79, 76, - 79, 82, 0, 84, 69, 88, - 67, 79, 79, 82, 68, 0, - 66, 76, 69, 78, 68, 73, - 78, 68, 73, 67, 69, 83, - 0, 66, 76, 69, 78, 68, - 87, 69, 73, 71, 72, 84, - 0, 171, 79, 83, 71, 78, - 228, 0, 0, 0, 8, 0, - 0, 0, 8, 0, 0, 0, - 200, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 212, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 15, 0, 0, 0, - 218, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 3, 12, 0, 0, - 218, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 3, 0, - 0, 0, 7, 8, 0, 0, - 218, 0, 0, 0, 2, 0, + 5, 0, 0, 0, 15, 15, + 0, 0, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 4, 0, - 0, 0, 7, 8, 0, 0, - 218, 0, 0, 0, 3, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 5, 0, - 0, 0, 7, 8, 0, 0, - 218, 0, 0, 0, 4, 0, + 0, 0, 3, 0, 0, 0, + 6, 0, 0, 0, 15, 15, + 0, 0, 83, 86, 95, 80, + 111, 115, 105, 116, 105, 111, + 110, 0, 78, 79, 82, 77, + 65, 76, 0, 84, 65, 78, + 71, 69, 78, 84, 0, 67, + 79, 76, 79, 82, 0, 84, + 69, 88, 67, 79, 79, 82, + 68, 0, 66, 76, 69, 78, + 68, 73, 78, 68, 73, 67, + 69, 83, 0, 66, 76, 69, + 78, 68, 87, 69, 73, 71, + 72, 84, 0, 171, 79, 83, + 71, 78, 228, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 200, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 6, 0, - 0, 0, 15, 0, 0, 0, - 218, 0, 0, 0, 5, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 15, 0, + 0, 0, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 7, 0, - 0, 0, 7, 8, 0, 0, - 83, 86, 95, 80, 79, 83, - 73, 84, 73, 79, 78, 0, - 67, 79, 76, 79, 82, 0, - 84, 69, 88, 67, 79, 79, - 82, 68, 0, 171 + 0, 0, 3, 0, 0, 0, + 2, 0, 0, 0, 3, 12, + 0, 0, 218, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 7, 8, + 0, 0, 218, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 4, 0, 0, 0, 7, 8, + 0, 0, 218, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 5, 0, 0, 0, 7, 8, + 0, 0, 218, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 6, 0, 0, 0, 15, 0, + 0, 0, 218, 0, 0, 0, + 5, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 7, 0, 0, 0, 7, 8, + 0, 0, 83, 86, 95, 80, + 79, 83, 73, 84, 73, 79, + 78, 0, 67, 79, 76, 79, + 82, 0, 84, 69, 88, 67, + 79, 79, 82, 68, 0, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLEffect_mainVc.inc b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLEffect_mainVc.inc index c117cac3..1a21adff 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLEffect_mainVc.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLEffect_mainVc.inc @@ -50,31 +50,45 @@ // vs_2_0 def c12, 1, 0, 0, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 - dcl_texcoord3 v3 - dcl_texcoord4 v4 - dp4 oPos.z, v0, c7 - mul oT0, v3, c1 + dcl_texcoord v0 // vertex<0,1,2,3> + dcl_texcoord1 v1 // vertex<4,5,6> + dcl_texcoord2 v2 // vertex<7,8,9,10> + dcl_texcoord3 v3 // vertex<11,12,13,14> + dcl_texcoord4 v4 // vertex<15,16> + +#line 150 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\DGSLEffect.fx" + dp4 oPos.z, v0, c7 // ::mainVc<2> + mul oT0, v3, c1 // ::mainVc<4,5,6,7> mad r0.xyz, v4.xyxw, c12.xxyw, c12.yyxw - dp3 oT1.x, r0, c9.xyww - dp3 oT1.y, r0, c10.xyww - dp3 oT2.x, v1, c2 - dp3 oT2.y, v1, c3 - dp3 oT2.z, v1, c4 - dp4 r0.x, v0, c2 - dp4 r0.y, v0, c3 - dp4 r0.z, v0, c4 - add oT4.xyz, -r0, c11 - mov oT3.xyz, r0 - dp4 r0.x, v0, c5 - dp4 r0.y, v0, c6 - dp4 r0.z, v0, c8 - mad oPos.xy, r0.z, c0, r0 - mov oPos.w, r0.z - mov oT5, v2 - mov oT6.xyz, v1 + dp3 oT1.x, r0, c9.xyww // ::mainVc<8> + dp3 oT1.y, r0, c10.xyww // ::mainVc<9> + dp3 oT2.x, v1, c2 // ::mainVc<10> + dp3 oT2.y, v1, c3 // ::mainVc<11> + dp3 oT2.z, v1, c4 // ::mainVc<12> + +#line 147 + dp4 r0.x, v0, c2 // ::wp<0> + dp4 r0.y, v0, c3 // ::wp<1> + dp4 r0.z, v0, c4 // ::wp<2> + +#line 155 + add oT4.xyz, -r0, c11 // ::mainVc<16,17,18> + +#line 147 + mov oT3.xyz, r0 // ::mainVc<13,14,15> + +#line 150 + dp4 r0.x, v0, c5 // ::result<0> + dp4 r0.y, v0, c6 // ::result<1> + dp4 r0.z, v0, c8 // ::result<3> + +#line 143 + mad oPos.xy, r0.z, c0, r0 // ::mainVc<0,1> + mov oPos.w, r0.z // ::mainVc<3> + +#line 156 + mov oT5, v2 // ::mainVc<19,20,21,22> + mov oT6.xyz, v1 // ::mainVc<23,24,25> // approximately 20 instruction slots used vs_4_0 @@ -119,17 +133,17 @@ ret const BYTE DGSLEffect_mainVc[] = { - 68, 88, 66, 67, 46, 24, - 56, 107, 253, 204, 106, 97, - 79, 20, 243, 167, 246, 83, - 101, 20, 1, 0, 0, 0, - 212, 6, 0, 0, 4, 0, + 68, 88, 66, 67, 72, 67, + 248, 97, 31, 192, 50, 24, + 77, 242, 183, 202, 121, 19, + 101, 76, 1, 0, 0, 0, + 228, 10, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 48, 2, 0, 0, 52, 5, - 0, 0, 232, 5, 0, 0, - 65, 111, 110, 57, 248, 1, - 0, 0, 248, 1, 0, 0, - 0, 2, 254, 255, 148, 1, + 64, 6, 0, 0, 68, 9, + 0, 0, 248, 9, 0, 0, + 65, 111, 110, 57, 8, 6, + 0, 0, 8, 6, 0, 0, + 0, 2, 254, 255, 164, 5, 0, 0, 100, 0, 0, 0, 5, 0, 36, 0, 0, 0, 96, 0, 0, 0, 96, 0, @@ -145,270 +159,443 @@ const BYTE DGSLEffect_mainVc[] = 0, 0, 2, 0, 20, 0, 1, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 81, 0, - 0, 5, 12, 0, 15, 160, - 0, 0, 128, 63, 0, 0, + 0, 2, 254, 255, 254, 255, + 3, 1, 68, 66, 85, 71, + 40, 0, 0, 0, 224, 3, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 1, 128, - 1, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 2, 128, - 2, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 3, 128, - 3, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 4, 128, - 4, 0, 15, 144, 9, 0, - 0, 3, 0, 0, 4, 192, - 0, 0, 228, 144, 7, 0, - 228, 160, 5, 0, 0, 3, - 0, 0, 15, 224, 3, 0, - 228, 144, 1, 0, 228, 160, - 4, 0, 0, 4, 0, 0, - 7, 128, 4, 0, 196, 144, - 12, 0, 208, 160, 12, 0, - 197, 160, 8, 0, 0, 3, - 1, 0, 1, 224, 0, 0, - 228, 128, 9, 0, 244, 160, - 8, 0, 0, 3, 1, 0, - 2, 224, 0, 0, 228, 128, - 10, 0, 244, 160, 8, 0, - 0, 3, 2, 0, 1, 224, - 1, 0, 228, 144, 2, 0, - 228, 160, 8, 0, 0, 3, - 2, 0, 2, 224, 1, 0, - 228, 144, 3, 0, 228, 160, + 1, 0, 0, 0, 116, 0, + 0, 0, 26, 0, 0, 0, + 120, 0, 0, 0, 4, 0, + 0, 0, 144, 3, 0, 0, + 72, 1, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 68, 71, + 83, 76, 69, 102, 102, 101, + 99, 116, 46, 102, 120, 0, + 171, 171, 40, 0, 0, 0, + 0, 0, 255, 255, 20, 4, + 0, 0, 0, 0, 255, 255, + 44, 4, 0, 0, 0, 0, + 255, 255, 56, 4, 0, 0, + 0, 0, 255, 255, 68, 4, + 0, 0, 0, 0, 255, 255, + 80, 4, 0, 0, 0, 0, + 255, 255, 92, 4, 0, 0, + 150, 0, 0, 0, 104, 4, + 0, 0, 151, 0, 0, 0, + 120, 4, 0, 0, 152, 0, + 0, 0, 136, 4, 0, 0, + 152, 0, 0, 0, 156, 4, + 0, 0, 152, 0, 0, 0, + 172, 4, 0, 0, 153, 0, + 0, 0, 188, 4, 0, 0, + 153, 0, 0, 0, 204, 4, + 0, 0, 153, 0, 0, 0, + 220, 4, 0, 0, 147, 0, + 0, 0, 236, 4, 0, 0, + 147, 0, 0, 0, 252, 4, + 0, 0, 147, 0, 0, 0, + 12, 5, 0, 0, 155, 0, + 0, 0, 28, 5, 0, 0, + 147, 0, 0, 0, 44, 5, + 0, 0, 150, 0, 0, 0, + 56, 5, 0, 0, 150, 0, + 0, 0, 72, 5, 0, 0, + 150, 0, 0, 0, 88, 5, + 0, 0, 143, 0, 0, 0, + 104, 5, 0, 0, 143, 0, + 0, 0, 124, 5, 0, 0, + 156, 0, 0, 0, 136, 5, + 0, 0, 157, 0, 0, 0, + 148, 5, 0, 0, 109, 97, + 105, 110, 86, 99, 0, 112, + 111, 115, 0, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 100, 105, 102, 102, + 117, 115, 101, 0, 117, 118, + 0, 171, 1, 0, 3, 0, + 1, 0, 2, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 119, 111, 114, 108, 100, 78, + 111, 114, 109, 0, 171, 171, + 1, 0, 3, 0, 1, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 119, 111, + 114, 108, 100, 80, 111, 115, + 0, 116, 111, 69, 121, 101, + 0, 116, 97, 110, 103, 101, + 110, 116, 0, 110, 111, 114, + 109, 97, 108, 0, 171, 171, + 79, 1, 0, 0, 84, 1, + 0, 0, 100, 1, 0, 0, + 84, 1, 0, 0, 108, 1, + 0, 0, 112, 1, 0, 0, + 128, 1, 0, 0, 140, 1, + 0, 0, 156, 1, 0, 0, + 140, 1, 0, 0, 165, 1, + 0, 0, 140, 1, 0, 0, + 171, 1, 0, 0, 84, 1, + 0, 0, 179, 1, 0, 0, + 140, 1, 0, 0, 5, 0, + 0, 0, 1, 0, 26, 0, + 1, 0, 8, 0, 188, 1, + 0, 0, 6, 0, 0, 0, + 255, 255, 255, 255, 2, 0, + 255, 255, 7, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 7, 0, 9, 0, 0, 0, + 8, 0, 255, 255, 255, 255, + 255, 255, 10, 0, 0, 0, + 255, 255, 9, 0, 255, 255, + 255, 255, 11, 0, 0, 0, + 10, 0, 255, 255, 255, 255, + 255, 255, 12, 0, 0, 0, + 255, 255, 11, 0, 255, 255, + 255, 255, 13, 0, 0, 0, + 255, 255, 255, 255, 12, 0, + 255, 255, 17, 0, 0, 0, + 16, 0, 17, 0, 18, 0, + 255, 255, 18, 0, 0, 0, + 13, 0, 14, 0, 15, 0, + 255, 255, 22, 0, 0, 0, + 0, 0, 1, 0, 255, 255, + 255, 255, 23, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 3, 0, 24, 0, 0, 0, + 19, 0, 20, 0, 21, 0, + 22, 0, 25, 0, 0, 0, + 23, 0, 24, 0, 25, 0, + 255, 255, 114, 101, 115, 117, + 108, 116, 0, 171, 5, 0, + 0, 0, 1, 0, 26, 0, + 1, 0, 8, 0, 188, 1, + 0, 0, 19, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 20, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 21, 0, 0, 0, + 255, 255, 255, 255, 3, 0, + 255, 255, 118, 101, 114, 116, + 101, 120, 0, 99, 111, 108, + 111, 114, 0, 171, 171, 171, + 79, 1, 0, 0, 84, 1, + 0, 0, 179, 1, 0, 0, + 140, 1, 0, 0, 171, 1, + 0, 0, 84, 1, 0, 0, + 235, 2, 0, 0, 84, 1, + 0, 0, 108, 1, 0, 0, + 112, 1, 0, 0, 5, 0, + 0, 0, 1, 0, 17, 0, + 1, 0, 5, 0, 244, 2, + 0, 0, 1, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 2, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 255, 255, 3, 0, 0, 0, + 7, 0, 8, 0, 9, 0, + 10, 0, 4, 0, 0, 0, + 11, 0, 12, 0, 13, 0, + 14, 0, 5, 0, 0, 0, + 15, 0, 16, 0, 255, 255, + 255, 255, 119, 112, 0, 171, + 14, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 15, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 16, 0, 0, 0, 255, 255, + 255, 255, 2, 0, 255, 255, + 0, 0, 0, 0, 72, 1, + 0, 0, 252, 1, 0, 0, + 13, 0, 0, 0, 12, 2, + 0, 0, 0, 0, 0, 0, + 168, 2, 0, 0, 176, 2, + 0, 0, 3, 0, 0, 0, + 192, 2, 0, 0, 72, 1, + 0, 0, 228, 2, 0, 0, + 28, 3, 0, 0, 5, 0, + 0, 0, 44, 3, 0, 0, + 0, 0, 0, 0, 104, 3, + 0, 0, 140, 1, 0, 0, + 3, 0, 0, 0, 108, 3, + 0, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 81, 0, 0, 5, 12, 0, + 15, 160, 0, 0, 128, 63, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 31, 0, 0, 2, 5, 0, + 0, 128, 0, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 1, 128, 1, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 2, 128, 2, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 3, 128, 3, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 4, 128, 4, 0, 15, 144, + 9, 0, 0, 3, 0, 0, + 4, 192, 0, 0, 228, 144, + 7, 0, 228, 160, 5, 0, + 0, 3, 0, 0, 15, 224, + 3, 0, 228, 144, 1, 0, + 228, 160, 4, 0, 0, 4, + 0, 0, 7, 128, 4, 0, + 196, 144, 12, 0, 208, 160, + 12, 0, 197, 160, 8, 0, + 0, 3, 1, 0, 1, 224, + 0, 0, 228, 128, 9, 0, + 244, 160, 8, 0, 0, 3, + 1, 0, 2, 224, 0, 0, + 228, 128, 10, 0, 244, 160, 8, 0, 0, 3, 2, 0, - 4, 224, 1, 0, 228, 144, - 4, 0, 228, 160, 9, 0, + 1, 224, 1, 0, 228, 144, + 2, 0, 228, 160, 8, 0, + 0, 3, 2, 0, 2, 224, + 1, 0, 228, 144, 3, 0, + 228, 160, 8, 0, 0, 3, + 2, 0, 4, 224, 1, 0, + 228, 144, 4, 0, 228, 160, + 9, 0, 0, 3, 0, 0, + 1, 128, 0, 0, 228, 144, + 2, 0, 228, 160, 9, 0, + 0, 3, 0, 0, 2, 128, + 0, 0, 228, 144, 3, 0, + 228, 160, 9, 0, 0, 3, + 0, 0, 4, 128, 0, 0, + 228, 144, 4, 0, 228, 160, + 2, 0, 0, 3, 4, 0, + 7, 224, 0, 0, 228, 129, + 11, 0, 228, 160, 1, 0, + 0, 2, 3, 0, 7, 224, + 0, 0, 228, 128, 9, 0, 0, 3, 0, 0, 1, 128, - 0, 0, 228, 144, 2, 0, + 0, 0, 228, 144, 5, 0, 228, 160, 9, 0, 0, 3, 0, 0, 2, 128, 0, 0, - 228, 144, 3, 0, 228, 160, + 228, 144, 6, 0, 228, 160, 9, 0, 0, 3, 0, 0, 4, 128, 0, 0, 228, 144, - 4, 0, 228, 160, 2, 0, - 0, 3, 4, 0, 7, 224, - 0, 0, 228, 129, 11, 0, - 228, 160, 1, 0, 0, 2, - 3, 0, 7, 224, 0, 0, - 228, 128, 9, 0, 0, 3, - 0, 0, 1, 128, 0, 0, - 228, 144, 5, 0, 228, 160, - 9, 0, 0, 3, 0, 0, - 2, 128, 0, 0, 228, 144, - 6, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 4, 128, - 0, 0, 228, 144, 8, 0, - 228, 160, 4, 0, 0, 4, - 0, 0, 3, 192, 0, 0, - 170, 128, 0, 0, 228, 160, - 0, 0, 228, 128, 1, 0, - 0, 2, 0, 0, 8, 192, - 0, 0, 170, 128, 1, 0, - 0, 2, 5, 0, 15, 224, - 2, 0, 228, 144, 1, 0, - 0, 2, 6, 0, 7, 224, - 1, 0, 228, 144, 255, 255, - 0, 0, 83, 72, 68, 82, - 252, 2, 0, 0, 64, 0, - 1, 0, 191, 0, 0, 0, + 8, 0, 228, 160, 4, 0, + 0, 4, 0, 0, 3, 192, + 0, 0, 170, 128, 0, 0, + 228, 160, 0, 0, 228, 128, + 1, 0, 0, 2, 0, 0, + 8, 192, 0, 0, 170, 128, + 1, 0, 0, 2, 5, 0, + 15, 224, 2, 0, 228, 144, + 1, 0, 0, 2, 6, 0, + 7, 224, 1, 0, 228, 144, + 255, 255, 0, 0, 83, 72, + 68, 82, 252, 2, 0, 0, + 64, 0, 1, 0, 191, 0, + 0, 0, 89, 0, 0, 4, + 70, 142, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, 89, 0, 0, 4, 70, 142, - 32, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 89, 0, - 0, 4, 70, 142, 32, 0, - 2, 0, 0, 0, 21, 0, - 0, 0, 95, 0, 0, 3, - 242, 16, 16, 0, 0, 0, - 0, 0, 95, 0, 0, 3, - 114, 16, 16, 0, 1, 0, - 0, 0, 95, 0, 0, 3, - 242, 16, 16, 0, 2, 0, - 0, 0, 95, 0, 0, 3, - 242, 16, 16, 0, 3, 0, - 0, 0, 95, 0, 0, 3, - 50, 16, 16, 0, 4, 0, - 0, 0, 103, 0, 0, 4, - 242, 32, 16, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 101, 0, 0, 3, 242, 32, - 16, 0, 1, 0, 0, 0, - 101, 0, 0, 3, 50, 32, - 16, 0, 2, 0, 0, 0, - 101, 0, 0, 3, 114, 32, - 16, 0, 3, 0, 0, 0, - 101, 0, 0, 3, 114, 32, - 16, 0, 4, 0, 0, 0, - 101, 0, 0, 3, 114, 32, - 16, 0, 5, 0, 0, 0, - 101, 0, 0, 3, 242, 32, - 16, 0, 6, 0, 0, 0, - 101, 0, 0, 3, 114, 32, - 16, 0, 7, 0, 0, 0, - 104, 0, 0, 2, 1, 0, - 0, 0, 17, 0, 0, 8, - 18, 32, 16, 0, 0, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 70, 142, 32, 0, 2, 0, 0, 0, - 4, 0, 0, 0, 17, 0, - 0, 8, 34, 32, 16, 0, + 21, 0, 0, 0, 95, 0, + 0, 3, 242, 16, 16, 0, + 0, 0, 0, 0, 95, 0, + 0, 3, 114, 16, 16, 0, + 1, 0, 0, 0, 95, 0, + 0, 3, 242, 16, 16, 0, + 2, 0, 0, 0, 95, 0, + 0, 3, 242, 16, 16, 0, + 3, 0, 0, 0, 95, 0, + 0, 3, 50, 16, 16, 0, + 4, 0, 0, 0, 103, 0, + 0, 4, 242, 32, 16, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 1, 0, + 0, 0, 101, 0, 0, 3, + 50, 32, 16, 0, 2, 0, + 0, 0, 101, 0, 0, 3, + 114, 32, 16, 0, 3, 0, + 0, 0, 101, 0, 0, 3, + 114, 32, 16, 0, 4, 0, + 0, 0, 101, 0, 0, 3, + 114, 32, 16, 0, 5, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 6, 0, + 0, 0, 101, 0, 0, 3, + 114, 32, 16, 0, 7, 0, + 0, 0, 104, 0, 0, 2, + 1, 0, 0, 0, 17, 0, + 0, 8, 18, 32, 16, 0, 0, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 2, 0, - 0, 0, 5, 0, 0, 0, - 17, 0, 0, 8, 66, 32, + 0, 0, 4, 0, 0, 0, + 17, 0, 0, 8, 34, 32, 16, 0, 0, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, - 2, 0, 0, 0, 6, 0, + 2, 0, 0, 0, 5, 0, 0, 0, 17, 0, 0, 8, - 130, 32, 16, 0, 0, 0, + 66, 32, 16, 0, 0, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 2, 0, 0, 0, - 7, 0, 0, 0, 56, 0, - 0, 8, 242, 32, 16, 0, - 1, 0, 0, 0, 70, 30, - 16, 0, 3, 0, 0, 0, - 70, 142, 32, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 54, 0, 0, 5, 50, 0, + 6, 0, 0, 0, 17, 0, + 0, 8, 130, 32, 16, 0, + 0, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, - 70, 16, 16, 0, 4, 0, + 70, 142, 32, 0, 2, 0, + 0, 0, 7, 0, 0, 0, + 56, 0, 0, 8, 242, 32, + 16, 0, 1, 0, 0, 0, + 70, 30, 16, 0, 3, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 54, 0, 0, 5, - 66, 0, 16, 0, 0, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 128, 63, 16, 0, - 0, 8, 18, 32, 16, 0, - 2, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 70, 131, 32, 0, 2, 0, - 0, 0, 16, 0, 0, 0, - 16, 0, 0, 8, 34, 32, + 50, 0, 16, 0, 0, 0, + 0, 0, 70, 16, 16, 0, + 4, 0, 0, 0, 54, 0, + 0, 5, 66, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 128, 63, + 16, 0, 0, 8, 18, 32, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 70, 131, 32, 0, - 2, 0, 0, 0, 17, 0, + 2, 0, 0, 0, 16, 0, 0, 0, 16, 0, 0, 8, - 18, 32, 16, 0, 3, 0, - 0, 0, 70, 18, 16, 0, - 1, 0, 0, 0, 70, 130, + 34, 32, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 70, 131, 32, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 16, 0, - 0, 8, 34, 32, 16, 0, + 17, 0, 0, 0, 16, 0, + 0, 8, 18, 32, 16, 0, 3, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, 2, 0, - 0, 0, 1, 0, 0, 0, - 16, 0, 0, 8, 66, 32, + 0, 0, 0, 0, 0, 0, + 16, 0, 0, 8, 34, 32, 16, 0, 3, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, - 2, 0, 0, 0, 2, 0, - 0, 0, 17, 0, 0, 8, - 18, 0, 16, 0, 0, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 70, 142, + 2, 0, 0, 0, 1, 0, + 0, 0, 16, 0, 0, 8, + 66, 32, 16, 0, 3, 0, + 0, 0, 70, 18, 16, 0, + 1, 0, 0, 0, 70, 130, 32, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 17, 0, - 0, 8, 34, 0, 16, 0, + 2, 0, 0, 0, 17, 0, + 0, 8, 18, 0, 16, 0, 0, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 2, 0, - 0, 0, 1, 0, 0, 0, - 17, 0, 0, 8, 66, 0, + 0, 0, 0, 0, 0, 0, + 17, 0, 0, 8, 34, 0, 16, 0, 0, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, - 2, 0, 0, 0, 2, 0, + 2, 0, 0, 0, 1, 0, + 0, 0, 17, 0, 0, 8, + 66, 0, 16, 0, 0, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 142, + 32, 0, 2, 0, 0, 0, + 2, 0, 0, 0, 54, 0, + 0, 5, 114, 32, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 0, 0, 0, 9, 114, 32, + 16, 0, 5, 0, 0, 0, + 70, 2, 16, 128, 65, 0, + 0, 0, 0, 0, 0, 0, + 70, 130, 32, 0, 2, 0, + 0, 0, 20, 0, 0, 0, + 54, 0, 0, 5, 242, 32, + 16, 0, 6, 0, 0, 0, + 70, 30, 16, 0, 2, 0, 0, 0, 54, 0, 0, 5, - 114, 32, 16, 0, 4, 0, - 0, 0, 70, 2, 16, 0, + 114, 32, 16, 0, 7, 0, + 0, 0, 70, 18, 16, 0, + 1, 0, 0, 0, 62, 0, + 0, 1, 73, 83, 71, 78, + 172, 0, 0, 0, 5, 0, + 0, 0, 8, 0, 0, 0, + 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 9, 114, 32, 16, 0, - 5, 0, 0, 0, 70, 2, - 16, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 70, 130, - 32, 0, 2, 0, 0, 0, - 20, 0, 0, 0, 54, 0, - 0, 5, 242, 32, 16, 0, - 6, 0, 0, 0, 70, 30, - 16, 0, 2, 0, 0, 0, - 54, 0, 0, 5, 114, 32, - 16, 0, 7, 0, 0, 0, - 70, 18, 16, 0, 1, 0, - 0, 0, 62, 0, 0, 1, - 73, 83, 71, 78, 172, 0, - 0, 0, 5, 0, 0, 0, - 8, 0, 0, 0, 128, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 15, 0, 0, + 140, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 7, 7, 0, 0, + 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 15, 15, 0, 0, + 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 15, 15, 0, 0, 140, 0, + 3, 0, 0, 0, 3, 0, + 0, 0, 15, 15, 0, 0, + 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 3, 0, 0, 0, 4, 0, + 0, 0, 3, 3, 0, 0, + 83, 86, 95, 80, 111, 115, + 105, 116, 105, 111, 110, 0, + 78, 79, 82, 77, 65, 76, + 0, 84, 65, 78, 71, 69, + 78, 84, 0, 67, 79, 76, + 79, 82, 0, 84, 69, 88, + 67, 79, 79, 82, 68, 0, + 171, 171, 79, 83, 71, 78, + 228, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 200, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 7, 7, 0, 0, 147, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 2, 0, 0, 0, - 15, 15, 0, 0, 155, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 15, 0, 0, 0, + 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 3, 0, 0, 0, - 15, 15, 0, 0, 161, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 3, 12, 0, 0, + 218, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 4, 0, 0, 0, - 3, 3, 0, 0, 83, 86, - 95, 80, 111, 115, 105, 116, - 105, 111, 110, 0, 78, 79, - 82, 77, 65, 76, 0, 84, - 65, 78, 71, 69, 78, 84, - 0, 67, 79, 76, 79, 82, - 0, 84, 69, 88, 67, 79, - 79, 82, 68, 0, 171, 171, - 79, 83, 71, 78, 228, 0, - 0, 0, 8, 0, 0, 0, - 8, 0, 0, 0, 200, 0, + 3, 0, 0, 0, 3, 0, + 0, 0, 7, 8, 0, 0, + 218, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 3, 0, + 3, 0, 0, 0, 4, 0, + 0, 0, 7, 8, 0, 0, + 218, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 212, 0, + 3, 0, 0, 0, 5, 0, + 0, 0, 7, 8, 0, 0, + 218, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 15, 0, 0, 0, 218, 0, + 3, 0, 0, 0, 6, 0, + 0, 0, 15, 0, 0, 0, + 218, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 2, 0, 0, 0, - 3, 12, 0, 0, 218, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 3, 0, 0, 0, - 7, 8, 0, 0, 218, 0, - 0, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 4, 0, 0, 0, - 7, 8, 0, 0, 218, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 5, 0, 0, 0, - 7, 8, 0, 0, 218, 0, - 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 6, 0, 0, 0, - 15, 0, 0, 0, 218, 0, - 0, 0, 5, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 7, 0, 0, 0, - 7, 8, 0, 0, 83, 86, - 95, 80, 79, 83, 73, 84, - 73, 79, 78, 0, 67, 79, - 76, 79, 82, 0, 84, 69, - 88, 67, 79, 79, 82, 68, - 0, 171 + 3, 0, 0, 0, 7, 0, + 0, 0, 7, 8, 0, 0, + 83, 86, 95, 80, 79, 83, + 73, 84, 73, 79, 78, 0, + 67, 79, 76, 79, 82, 0, + 84, 69, 88, 67, 79, 79, + 82, 68, 0, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLLambert_main.inc b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLLambert_main.inc index fa7e69b4..e58b919d 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLLambert_main.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLLambert_main.inc @@ -36,25 +36,41 @@ // Level9 shader bytecode: // ps_2_0 - dcl t0 - dcl t2.xyz - nrm r0.xyz, t2 - dp3_sat r0.w, c6, r0 + dcl t0 // pixel<4,5,6,7> + dcl t2.xyz // pixel<10,11,12> + +#line 99 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\DGSLLambert.hlsl" + nrm r0.xyz, t2 // ::worldNormal<0,1,2> + +#line 82 + dp3_sat r0.w, c6, r0 // ::diffuseAmount<0> mul r1.xyz, r0.w, c2 - mul r1.xyz, r1, t0 - mov r2.xyz, c0 - mad r1.xyz, r2, c1, r1 - dp3_sat r0.w, c7, r0 + mul r1.xyz, r1, t0 // ::diffuse<0,1,2> + +#line 105 + mov r2.xyz, c0 // MaterialVars::MaterialAmbient<0,1,2> + mad r1.xyz, r2, c1, r1 // ::local3<0,1,2> + +#line 82 + dp3_sat r0.w, c7, r0 // ::diffuseAmount<0> mul r2.xyz, r0.w, c3 - mad r1.xyz, r2, t0, r1 - dp3_sat r0.w, c8, r0 - dp3_sat r1.w, c9, r0 + +#line 105 + mad r1.xyz, r2, t0, r1 // ::local3<0,1,2> + +#line 82 + dp3_sat r0.w, c8, r0 // ::diffuseAmount<0> + dp3_sat r1.w, c9, r0 // ::diffuseAmount<0> mul r0.xyz, r1.w, c5 mul r2.xyz, r0.w, c4 - mad r1.xyz, r2, t0, r1 - mad_sat r0.xyz, r0, t0, r1 + +#line 105 + mad r1.xyz, r2, t0, r1 // ::local3<0,1,2> + mad_sat r0.xyz, r0, t0, r1 // ::local3<0,1,2> + +#line 108 mov r0.w, t0.w - mov oC0, r0 + mov oC0, r0 // ::main<0,1,2,3> // approximately 19 instruction slots used ps_4_0 @@ -87,17 +103,17 @@ ret const BYTE DGSLLambert_main[] = { - 68, 88, 66, 67, 187, 65, - 58, 0, 83, 56, 125, 10, - 111, 229, 99, 96, 154, 18, - 252, 50, 1, 0, 0, 0, - 68, 5, 0, 0, 4, 0, + 68, 88, 66, 67, 217, 104, + 24, 135, 161, 120, 240, 98, + 49, 130, 137, 15, 118, 241, + 187, 148, 1, 0, 0, 0, + 8, 9, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 176, 1, 0, 0, 36, 4, - 0, 0, 16, 5, 0, 0, - 65, 111, 110, 57, 120, 1, - 0, 0, 120, 1, 0, 0, - 0, 2, 255, 255, 48, 1, + 116, 5, 0, 0, 232, 7, + 0, 0, 212, 8, 0, 0, + 65, 111, 110, 57, 60, 5, + 0, 0, 60, 5, 0, 0, + 0, 2, 255, 255, 244, 4, 0, 0, 72, 0, 0, 0, 3, 0, 36, 0, 0, 0, 72, 0, 0, 0, 72, 0, @@ -109,207 +125,368 @@ const BYTE DGSLLambert_main[] = 0, 0, 1, 0, 9, 0, 4, 0, 6, 0, 0, 0, 0, 0, 0, 2, 255, 255, - 31, 0, 0, 2, 0, 0, - 0, 128, 0, 0, 15, 176, - 31, 0, 0, 2, 0, 0, - 0, 128, 2, 0, 7, 176, - 36, 0, 0, 2, 0, 0, - 7, 128, 2, 0, 228, 176, + 254, 255, 240, 0, 68, 66, + 85, 71, 40, 0, 0, 0, + 148, 3, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 120, 0, 0, 0, 19, 0, + 0, 0, 124, 0, 0, 0, + 7, 0, 0, 0, 8, 3, + 0, 0, 252, 1, 0, 0, + 67, 58, 92, 65, 84, 71, + 32, 83, 97, 109, 112, 108, + 101, 32, 68, 101, 118, 101, + 108, 111, 112, 109, 101, 110, + 116, 92, 115, 116, 95, 100, + 101, 118, 92, 75, 105, 116, + 115, 92, 68, 105, 114, 101, + 99, 116, 88, 84, 75, 92, + 83, 114, 99, 92, 83, 104, + 97, 100, 101, 114, 115, 92, + 68, 71, 83, 76, 76, 97, + 109, 98, 101, 114, 116, 46, + 104, 108, 115, 108, 0, 171, + 171, 171, 40, 0, 0, 0, + 0, 0, 255, 255, 200, 3, + 0, 0, 0, 0, 255, 255, + 212, 3, 0, 0, 99, 0, + 0, 0, 224, 3, 0, 0, + 82, 0, 0, 0, 236, 3, + 0, 0, 83, 0, 0, 0, + 252, 3, 0, 0, 83, 0, + 0, 0, 12, 4, 0, 0, + 105, 0, 0, 0, 28, 4, + 0, 0, 105, 0, 0, 0, + 40, 4, 0, 0, 82, 0, + 0, 0, 60, 4, 0, 0, + 83, 0, 0, 0, 76, 4, + 0, 0, 105, 0, 0, 0, + 92, 4, 0, 0, 82, 0, + 0, 0, 112, 4, 0, 0, + 82, 0, 0, 0, 128, 4, + 0, 0, 83, 0, 0, 0, + 144, 4, 0, 0, 83, 0, + 0, 0, 160, 4, 0, 0, + 105, 0, 0, 0, 176, 4, + 0, 0, 105, 0, 0, 0, + 196, 4, 0, 0, 108, 0, + 0, 0, 216, 4, 0, 0, + 108, 0, 0, 0, 228, 4, + 0, 0, 77, 97, 116, 101, + 114, 105, 97, 108, 86, 97, + 114, 115, 0, 77, 97, 116, + 101, 114, 105, 97, 108, 65, + 109, 98, 105, 101, 110, 116, + 0, 171, 171, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 100, 105, 102, 102, + 117, 115, 101, 0, 1, 0, + 3, 0, 1, 0, 3, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 100, 105, 102, 102, + 117, 115, 101, 65, 109, 111, + 117, 110, 116, 0, 171, 171, + 0, 0, 3, 0, 1, 0, + 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 0, 0, 8, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 0, 0, 11, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 0, 0, 12, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 0, 0, 108, 111, + 99, 97, 108, 51, 0, 171, + 7, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 10, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 15, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 16, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 109, 97, 105, 110, 0, 102, + 114, 97, 103, 109, 101, 110, + 116, 0, 171, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 1, 2, 0, 0, + 12, 2, 0, 0, 5, 0, + 0, 0, 1, 0, 4, 0, + 1, 0, 1, 0, 28, 2, + 0, 0, 18, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 112, 105, 120, 101, + 108, 0, 112, 111, 115, 0, + 117, 118, 0, 171, 171, 171, + 1, 0, 3, 0, 1, 0, + 2, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 119, 111, + 114, 108, 100, 78, 111, 114, + 109, 0, 119, 111, 114, 108, + 100, 80, 111, 115, 0, 116, + 111, 69, 121, 101, 0, 116, + 97, 110, 103, 101, 110, 116, + 0, 110, 111, 114, 109, 97, + 108, 0, 70, 2, 0, 0, + 12, 2, 0, 0, 80, 1, + 0, 0, 12, 2, 0, 0, + 74, 2, 0, 0, 80, 2, + 0, 0, 96, 2, 0, 0, + 88, 1, 0, 0, 106, 2, + 0, 0, 88, 1, 0, 0, + 115, 2, 0, 0, 88, 1, + 0, 0, 121, 2, 0, 0, + 12, 2, 0, 0, 129, 2, + 0, 0, 88, 1, 0, 0, + 5, 0, 0, 0, 1, 0, + 26, 0, 1, 0, 8, 0, + 136, 2, 0, 0, 0, 0, + 0, 0, 4, 0, 5, 0, + 6, 0, 7, 0, 1, 0, + 0, 0, 10, 0, 11, 0, + 12, 0, 255, 255, 119, 111, + 114, 108, 100, 78, 111, 114, + 109, 97, 108, 0, 2, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 20, 1, + 0, 0, 33, 1, 0, 0, + 52, 1, 0, 0, 1, 0, + 0, 0, 68, 1, 0, 0, + 0, 0, 0, 0, 80, 1, + 0, 0, 88, 1, 0, 0, + 1, 0, 0, 0, 104, 1, + 0, 0, 0, 0, 0, 0, + 116, 1, 0, 0, 132, 1, + 0, 0, 4, 0, 0, 0, + 148, 1, 0, 0, 0, 0, + 0, 0, 196, 1, 0, 0, + 88, 1, 0, 0, 4, 0, + 0, 0, 204, 1, 0, 0, + 0, 0, 0, 0, 252, 1, + 0, 0, 36, 2, 0, 0, + 1, 0, 0, 0, 52, 2, + 0, 0, 252, 1, 0, 0, + 64, 2, 0, 0, 200, 2, + 0, 0, 2, 0, 0, 0, + 216, 2, 0, 0, 0, 0, + 0, 0, 240, 2, 0, 0, + 88, 1, 0, 0, 1, 0, + 0, 0, 252, 2, 0, 0, + 77, 105, 99, 114, 111, 115, + 111, 102, 116, 32, 40, 82, + 41, 32, 72, 76, 83, 76, + 32, 83, 104, 97, 100, 101, + 114, 32, 67, 111, 109, 112, + 105, 108, 101, 114, 32, 49, + 48, 46, 49, 0, 31, 0, + 0, 2, 0, 0, 0, 128, + 0, 0, 15, 176, 31, 0, + 0, 2, 0, 0, 0, 128, + 2, 0, 7, 176, 36, 0, + 0, 2, 0, 0, 7, 128, + 2, 0, 228, 176, 8, 0, + 0, 3, 0, 0, 24, 128, + 6, 0, 228, 160, 0, 0, + 228, 128, 5, 0, 0, 3, + 1, 0, 7, 128, 0, 0, + 255, 128, 2, 0, 228, 160, + 5, 0, 0, 3, 1, 0, + 7, 128, 1, 0, 228, 128, + 0, 0, 228, 176, 1, 0, + 0, 2, 2, 0, 7, 128, + 0, 0, 228, 160, 4, 0, + 0, 4, 1, 0, 7, 128, + 2, 0, 228, 128, 1, 0, + 228, 160, 1, 0, 228, 128, 8, 0, 0, 3, 0, 0, - 24, 128, 6, 0, 228, 160, + 24, 128, 7, 0, 228, 160, 0, 0, 228, 128, 5, 0, - 0, 3, 1, 0, 7, 128, - 0, 0, 255, 128, 2, 0, - 228, 160, 5, 0, 0, 3, - 1, 0, 7, 128, 1, 0, + 0, 3, 2, 0, 7, 128, + 0, 0, 255, 128, 3, 0, + 228, 160, 4, 0, 0, 4, + 1, 0, 7, 128, 2, 0, 228, 128, 0, 0, 228, 176, - 1, 0, 0, 2, 2, 0, - 7, 128, 0, 0, 228, 160, - 4, 0, 0, 4, 1, 0, - 7, 128, 2, 0, 228, 128, - 1, 0, 228, 160, 1, 0, + 1, 0, 228, 128, 8, 0, + 0, 3, 0, 0, 24, 128, + 8, 0, 228, 160, 0, 0, 228, 128, 8, 0, 0, 3, - 0, 0, 24, 128, 7, 0, + 1, 0, 24, 128, 9, 0, 228, 160, 0, 0, 228, 128, - 5, 0, 0, 3, 2, 0, - 7, 128, 0, 0, 255, 128, - 3, 0, 228, 160, 4, 0, - 0, 4, 1, 0, 7, 128, - 2, 0, 228, 128, 0, 0, - 228, 176, 1, 0, 228, 128, - 8, 0, 0, 3, 0, 0, - 24, 128, 8, 0, 228, 160, - 0, 0, 228, 128, 8, 0, - 0, 3, 1, 0, 24, 128, - 9, 0, 228, 160, 0, 0, - 228, 128, 5, 0, 0, 3, - 0, 0, 7, 128, 1, 0, - 255, 128, 5, 0, 228, 160, - 5, 0, 0, 3, 2, 0, - 7, 128, 0, 0, 255, 128, - 4, 0, 228, 160, 4, 0, - 0, 4, 1, 0, 7, 128, - 2, 0, 228, 128, 0, 0, + 5, 0, 0, 3, 0, 0, + 7, 128, 1, 0, 255, 128, + 5, 0, 228, 160, 5, 0, + 0, 3, 2, 0, 7, 128, + 0, 0, 255, 128, 4, 0, + 228, 160, 4, 0, 0, 4, + 1, 0, 7, 128, 2, 0, + 228, 128, 0, 0, 228, 176, + 1, 0, 228, 128, 4, 0, + 0, 4, 0, 0, 23, 128, + 0, 0, 228, 128, 0, 0, 228, 176, 1, 0, 228, 128, - 4, 0, 0, 4, 0, 0, - 23, 128, 0, 0, 228, 128, - 0, 0, 228, 176, 1, 0, - 228, 128, 1, 0, 0, 2, - 0, 0, 8, 128, 0, 0, - 255, 176, 1, 0, 0, 2, - 0, 8, 15, 128, 0, 0, - 228, 128, 255, 255, 0, 0, - 83, 72, 68, 82, 108, 2, - 0, 0, 64, 0, 0, 0, - 155, 0, 0, 0, 89, 0, - 0, 4, 70, 142, 32, 0, - 0, 0, 0, 0, 1, 0, + 1, 0, 0, 2, 0, 0, + 8, 128, 0, 0, 255, 176, + 1, 0, 0, 2, 0, 8, + 15, 128, 0, 0, 228, 128, + 255, 255, 0, 0, 83, 72, + 68, 82, 108, 2, 0, 0, + 64, 0, 0, 0, 155, 0, 0, 0, 89, 0, 0, 4, - 70, 142, 32, 0, 1, 0, - 0, 0, 13, 0, 0, 0, - 98, 16, 0, 3, 242, 16, - 16, 0, 1, 0, 0, 0, - 98, 16, 0, 3, 114, 16, - 16, 0, 3, 0, 0, 0, - 101, 0, 0, 3, 242, 32, + 70, 142, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 89, 0, 0, 4, 70, 142, + 32, 0, 1, 0, 0, 0, + 13, 0, 0, 0, 98, 16, + 0, 3, 242, 16, 16, 0, + 1, 0, 0, 0, 98, 16, + 0, 3, 114, 16, 16, 0, + 3, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 0, 0, 0, 0, 104, 0, + 0, 2, 3, 0, 0, 0, + 16, 0, 0, 7, 18, 0, 16, 0, 0, 0, 0, 0, - 104, 0, 0, 2, 3, 0, - 0, 0, 16, 0, 0, 7, - 18, 0, 16, 0, 0, 0, + 70, 18, 16, 0, 3, 0, 0, 0, 70, 18, 16, 0, - 3, 0, 0, 0, 70, 18, - 16, 0, 3, 0, 0, 0, - 68, 0, 0, 5, 18, 0, + 3, 0, 0, 0, 68, 0, + 0, 5, 18, 0, 16, 0, + 0, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, - 10, 0, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 0, 0, - 0, 0, 6, 0, 16, 0, - 0, 0, 0, 0, 70, 18, - 16, 0, 3, 0, 0, 0, - 16, 32, 0, 8, 130, 0, + 56, 0, 0, 7, 114, 0, 16, 0, 0, 0, 0, 0, - 70, 130, 32, 0, 1, 0, - 0, 0, 9, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 8, - 114, 0, 16, 0, 1, 0, - 0, 0, 246, 15, 16, 0, - 0, 0, 0, 0, 70, 130, - 32, 0, 1, 0, 0, 0, - 1, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 1, 0, 0, 0, - 70, 18, 16, 0, 1, 0, - 0, 0, 50, 0, 0, 11, - 114, 0, 16, 0, 1, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 70, 130, 32, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 16, 32, + 6, 0, 16, 0, 0, 0, + 0, 0, 70, 18, 16, 0, + 3, 0, 0, 0, 16, 32, 0, 8, 130, 0, 16, 0, 0, 0, 0, 0, 70, 130, 32, 0, 1, 0, 0, 0, - 10, 0, 0, 0, 70, 2, + 9, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 56, 0, 0, 8, 114, 0, - 16, 0, 2, 0, 0, 0, + 16, 0, 1, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, 70, 130, 32, 0, - 1, 0, 0, 0, 2, 0, - 0, 0, 50, 0, 0, 9, + 1, 0, 0, 0, 1, 0, + 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 70, 18, + 1, 0, 0, 0, 70, 18, + 16, 0, 1, 0, 0, 0, + 50, 0, 0, 11, 114, 0, 16, 0, 1, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 70, 130, 32, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, 16, 32, 0, 8, 130, 0, 16, 0, 0, 0, 0, 0, 70, 130, 32, 0, - 1, 0, 0, 0, 11, 0, + 1, 0, 0, 0, 10, 0, 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 16, 32, - 0, 8, 18, 0, 16, 0, - 0, 0, 0, 0, 70, 130, - 32, 0, 1, 0, 0, 0, - 12, 0, 0, 0, 70, 2, + 0, 0, 0, 0, 56, 0, + 0, 8, 114, 0, 16, 0, + 2, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, - 56, 0, 0, 8, 114, 0, + 70, 130, 32, 0, 1, 0, + 0, 0, 2, 0, 0, 0, + 50, 0, 0, 9, 114, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 70, 18, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 16, 32, 0, 8, 130, 0, 16, 0, 0, 0, 0, 0, - 6, 0, 16, 0, 0, 0, + 70, 130, 32, 0, 1, 0, + 0, 0, 11, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 16, 32, 0, 8, + 18, 0, 16, 0, 0, 0, 0, 0, 70, 130, 32, 0, - 1, 0, 0, 0, 4, 0, - 0, 0, 56, 0, 0, 8, - 114, 0, 16, 0, 2, 0, - 0, 0, 246, 15, 16, 0, - 0, 0, 0, 0, 70, 130, - 32, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 50, 0, - 0, 9, 114, 0, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 2, 0, 0, 0, - 70, 18, 16, 0, 1, 0, + 1, 0, 0, 0, 12, 0, 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 50, 32, - 0, 9, 114, 32, 16, 0, - 0, 0, 0, 0, 70, 2, + 0, 0, 0, 0, 56, 0, + 0, 8, 114, 0, 16, 0, + 0, 0, 0, 0, 6, 0, 16, 0, 0, 0, 0, 0, - 70, 18, 16, 0, 1, 0, + 70, 130, 32, 0, 1, 0, + 0, 0, 4, 0, 0, 0, + 56, 0, 0, 8, 114, 0, + 16, 0, 2, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 50, 0, 0, 9, + 114, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 54, 0, - 0, 5, 130, 32, 16, 0, - 0, 0, 0, 0, 58, 16, + 2, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, - 62, 0, 0, 1, 73, 83, - 71, 78, 228, 0, 0, 0, - 8, 0, 0, 0, 8, 0, - 0, 0, 200, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 212, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 50, 32, 0, 9, + 114, 32, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 70, 18, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 54, 0, 0, 5, + 130, 32, 16, 0, 0, 0, + 0, 0, 58, 16, 16, 0, + 1, 0, 0, 0, 62, 0, + 0, 1, 73, 83, 71, 78, + 228, 0, 0, 0, 8, 0, + 0, 0, 8, 0, 0, 0, + 200, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 15, 15, - 0, 0, 218, 0, 0, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 15, 15, 0, 0, + 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, - 2, 0, 0, 0, 3, 0, - 0, 0, 218, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 3, 0, 0, 0, 7, 7, - 0, 0, 218, 0, 0, 0, - 2, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 4, 0, 0, 0, 7, 0, - 0, 0, 218, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 5, 0, 0, 0, 7, 0, - 0, 0, 218, 0, 0, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 6, 0, 0, 0, 15, 0, - 0, 0, 218, 0, 0, 0, - 5, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 7, 0, 0, 0, 7, 0, - 0, 0, 83, 86, 95, 80, - 79, 83, 73, 84, 73, 79, - 78, 0, 67, 79, 76, 79, - 82, 0, 84, 69, 88, 67, - 79, 79, 82, 68, 0, 171, - 79, 83, 71, 78, 44, 0, - 0, 0, 1, 0, 0, 0, - 8, 0, 0, 0, 32, 0, + 218, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 3, 0, 0, 0, 3, 0, + 0, 0, 7, 7, 0, 0, + 218, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 83, 86, - 95, 84, 97, 114, 103, 101, - 116, 0, 171, 171 + 3, 0, 0, 0, 4, 0, + 0, 0, 7, 0, 0, 0, + 218, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 5, 0, + 0, 0, 7, 0, 0, 0, + 218, 0, 0, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 6, 0, + 0, 0, 15, 0, 0, 0, + 218, 0, 0, 0, 5, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 7, 0, + 0, 0, 7, 0, 0, 0, + 83, 86, 95, 80, 79, 83, + 73, 84, 73, 79, 78, 0, + 67, 79, 76, 79, 82, 0, + 84, 69, 88, 67, 79, 79, + 82, 68, 0, 171, 79, 83, + 71, 78, 44, 0, 0, 0, + 1, 0, 0, 0, 8, 0, + 0, 0, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 83, 86, 95, 84, + 97, 114, 103, 101, 116, 0, + 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLLambert_mainTk.inc b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLLambert_mainTk.inc index 7efe50fb..0600eb94 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLLambert_mainTk.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLLambert_mainTk.inc @@ -37,28 +37,50 @@ // ps_2_0 def c10, -1, -0, 0, 0 - dcl t0 - dcl t2.xyz + dcl t0 // pixel<4,5,6,7> + dcl t2.xyz // pixel<10,11,12> + +#line 130 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\DGSLLambert.hlsl" mul r0.w, t0.w, t0.w cmp r0, -r0.w, c10.x, c10.y texkill r0 - nrm r0.xyz, t2 - dp3_sat r0.w, c6, r0 + +#line 118 + nrm r0.xyz, t2 // ::worldNormal<0,1,2> + +#line 82 + dp3_sat r0.w, c6, r0 // ::diffuseAmount<0> mul r1.xyz, r0.w, c2 - mul r1.xyz, r1, t0 - mov r2.xyz, c0 - mad r1.xyz, r2, c1, r1 - dp3_sat r0.w, c7, r0 + mul r1.xyz, r1, t0 // ::diffuse<0,1,2> + +#line 124 + mov r2.xyz, c0 // MaterialVars::MaterialAmbient<0,1,2> + mad r1.xyz, r2, c1, r1 // ::local3<0,1,2> + +#line 82 + dp3_sat r0.w, c7, r0 // ::diffuseAmount<0> mul r2.xyz, r0.w, c3 - mad r1.xyz, r2, t0, r1 - dp3_sat r0.w, c8, r0 + +#line 124 + mad r1.xyz, r2, t0, r1 // ::local3<0,1,2> + +#line 82 + dp3_sat r0.w, c8, r0 // ::diffuseAmount<0> mul r2.xyz, r0.w, c4 - mad r1.xyz, r2, t0, r1 - dp3_sat r1.w, c9, r0 + +#line 124 + mad r1.xyz, r2, t0, r1 // ::local3<0,1,2> + +#line 82 + dp3_sat r1.w, c9, r0 // ::diffuseAmount<0> mul r0.xyz, r1.w, c5 - mad_sat r0.xyz, r0, t0, r1 + +#line 124 + mad_sat r0.xyz, r0, t0, r1 // ::local3<0,1,2> + +#line 132 mov r0.w, t0.w - mov oC0, r0 + mov oC0, r0 // ::mainTk<0,1,2,3> // approximately 22 instruction slots used ps_4_0 @@ -93,17 +115,17 @@ ret const BYTE DGSLLambert_mainTk[] = { - 68, 88, 66, 67, 28, 71, - 107, 235, 74, 190, 103, 118, - 132, 4, 112, 124, 14, 35, - 208, 217, 1, 0, 0, 0, - 176, 5, 0, 0, 4, 0, + 68, 88, 66, 67, 49, 185, + 15, 251, 73, 181, 30, 50, + 96, 92, 73, 219, 218, 231, + 168, 206, 1, 0, 0, 0, + 148, 9, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 244, 1, 0, 0, 144, 4, - 0, 0, 124, 5, 0, 0, - 65, 111, 110, 57, 188, 1, - 0, 0, 188, 1, 0, 0, - 0, 2, 255, 255, 116, 1, + 216, 5, 0, 0, 116, 8, + 0, 0, 96, 9, 0, 0, + 65, 111, 110, 57, 160, 5, + 0, 0, 160, 5, 0, 0, + 0, 2, 255, 255, 88, 5, 0, 0, 72, 0, 0, 0, 3, 0, 36, 0, 0, 0, 72, 0, 0, 0, 72, 0, @@ -115,6 +137,172 @@ const BYTE DGSLLambert_mainTk[] = 0, 0, 1, 0, 9, 0, 4, 0, 6, 0, 0, 0, 0, 0, 0, 2, 255, 255, + 254, 255, 248, 0, 68, 66, + 85, 71, 40, 0, 0, 0, + 180, 3, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 120, 0, 0, 0, 23, 0, + 0, 0, 124, 0, 0, 0, + 7, 0, 0, 0, 40, 3, + 0, 0, 28, 2, 0, 0, + 67, 58, 92, 65, 84, 71, + 32, 83, 97, 109, 112, 108, + 101, 32, 68, 101, 118, 101, + 108, 111, 112, 109, 101, 110, + 116, 92, 115, 116, 95, 100, + 101, 118, 92, 75, 105, 116, + 115, 92, 68, 105, 114, 101, + 99, 116, 88, 84, 75, 92, + 83, 114, 99, 92, 83, 104, + 97, 100, 101, 114, 115, 92, + 68, 71, 83, 76, 76, 97, + 109, 98, 101, 114, 116, 46, + 104, 108, 115, 108, 0, 171, + 171, 171, 40, 0, 0, 0, + 0, 0, 255, 255, 232, 3, + 0, 0, 0, 0, 255, 255, + 0, 4, 0, 0, 0, 0, + 255, 255, 12, 4, 0, 0, + 130, 0, 0, 0, 24, 4, + 0, 0, 130, 0, 0, 0, + 40, 4, 0, 0, 130, 0, + 0, 0, 60, 4, 0, 0, + 118, 0, 0, 0, 68, 4, + 0, 0, 82, 0, 0, 0, + 80, 4, 0, 0, 83, 0, + 0, 0, 96, 4, 0, 0, + 83, 0, 0, 0, 112, 4, + 0, 0, 124, 0, 0, 0, + 128, 4, 0, 0, 124, 0, + 0, 0, 140, 4, 0, 0, + 82, 0, 0, 0, 160, 4, + 0, 0, 83, 0, 0, 0, + 176, 4, 0, 0, 124, 0, + 0, 0, 192, 4, 0, 0, + 82, 0, 0, 0, 212, 4, + 0, 0, 83, 0, 0, 0, + 228, 4, 0, 0, 124, 0, + 0, 0, 244, 4, 0, 0, + 82, 0, 0, 0, 8, 5, + 0, 0, 83, 0, 0, 0, + 24, 5, 0, 0, 124, 0, + 0, 0, 40, 5, 0, 0, + 132, 0, 0, 0, 60, 5, + 0, 0, 132, 0, 0, 0, + 72, 5, 0, 0, 77, 97, + 116, 101, 114, 105, 97, 108, + 86, 97, 114, 115, 0, 77, + 97, 116, 101, 114, 105, 97, + 108, 65, 109, 98, 105, 101, + 110, 116, 0, 171, 171, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 10, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 100, 105, + 102, 102, 117, 115, 101, 0, + 1, 0, 3, 0, 1, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 9, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 100, 105, + 102, 102, 117, 115, 101, 65, + 109, 111, 117, 110, 116, 0, + 171, 171, 0, 0, 3, 0, + 1, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 7, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 0, 0, + 12, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 0, 0, + 15, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 0, 0, + 18, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 0, 0, + 108, 111, 99, 97, 108, 51, + 0, 171, 11, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 14, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 17, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 20, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 109, 97, 105, 110, + 84, 107, 0, 102, 114, 97, + 103, 109, 101, 110, 116, 0, + 1, 0, 3, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 35, 2, + 0, 0, 44, 2, 0, 0, + 5, 0, 0, 0, 1, 0, + 4, 0, 1, 0, 1, 0, + 60, 2, 0, 0, 22, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 3, 0, 112, 105, + 120, 101, 108, 0, 112, 111, + 115, 0, 117, 118, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 2, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 119, 111, 114, 108, 100, 78, + 111, 114, 109, 0, 119, 111, + 114, 108, 100, 80, 111, 115, + 0, 116, 111, 69, 121, 101, + 0, 116, 97, 110, 103, 101, + 110, 116, 0, 110, 111, 114, + 109, 97, 108, 0, 102, 2, + 0, 0, 44, 2, 0, 0, + 112, 1, 0, 0, 44, 2, + 0, 0, 106, 2, 0, 0, + 112, 2, 0, 0, 128, 2, + 0, 0, 120, 1, 0, 0, + 138, 2, 0, 0, 120, 1, + 0, 0, 147, 2, 0, 0, + 120, 1, 0, 0, 153, 2, + 0, 0, 44, 2, 0, 0, + 161, 2, 0, 0, 120, 1, + 0, 0, 5, 0, 0, 0, + 1, 0, 26, 0, 1, 0, + 8, 0, 168, 2, 0, 0, + 1, 0, 0, 0, 4, 0, + 5, 0, 6, 0, 7, 0, + 2, 0, 0, 0, 10, 0, + 11, 0, 12, 0, 255, 255, + 119, 111, 114, 108, 100, 78, + 111, 114, 109, 97, 108, 0, + 6, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 52, 1, 0, 0, 65, 1, + 0, 0, 84, 1, 0, 0, + 1, 0, 0, 0, 100, 1, + 0, 0, 0, 0, 0, 0, + 112, 1, 0, 0, 120, 1, + 0, 0, 1, 0, 0, 0, + 136, 1, 0, 0, 0, 0, + 0, 0, 148, 1, 0, 0, + 164, 1, 0, 0, 4, 0, + 0, 0, 180, 1, 0, 0, + 0, 0, 0, 0, 228, 1, + 0, 0, 120, 1, 0, 0, + 4, 0, 0, 0, 236, 1, + 0, 0, 0, 0, 0, 0, + 28, 2, 0, 0, 68, 2, + 0, 0, 1, 0, 0, 0, + 84, 2, 0, 0, 28, 2, + 0, 0, 96, 2, 0, 0, + 232, 2, 0, 0, 2, 0, + 0, 0, 248, 2, 0, 0, + 0, 0, 0, 0, 16, 3, + 0, 0, 120, 1, 0, 0, + 1, 0, 0, 0, 28, 3, + 0, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, 81, 0, 0, 5, 10, 0, 15, 160, 0, 0, 128, 191, 0, 0, 0, 128, 0, 0, diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLLambert_mainTx.inc b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLLambert_mainTx.inc index 33d63773..34ef87c6 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLLambert_mainTx.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLLambert_mainTx.inc @@ -43,29 +43,47 @@ // Level9 shader bytecode: // ps_2_0 - dcl t0 - dcl t1.xy - dcl t2.xyz + dcl t0 // pixel<4,5,6,7> + dcl t1.xy // pixel<8,9> + dcl t2.xyz // pixel<10,11,12> dcl_2d s0 + +#line 149 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\DGSLLambert.hlsl" texld r0, t1, s0 - nrm r1.xyz, t2 - dp3_sat r1.w, c6, r1 + +#line 139 + nrm r1.xyz, t2 // ::worldNormal<0,1,2> + +#line 82 + dp3_sat r1.w, c6, r1 // ::diffuseAmount<0> mul r2.xyz, r1.w, c2 - mul r2.xyz, r2, t0 - mov r3.xyz, c0 - mad r2.xyz, r3, c1, r2 - dp3_sat r1.w, c7, r1 + mul r2.xyz, r2, t0 // ::diffuse<0,1,2> + +#line 145 + mov r3.xyz, c0 // MaterialVars::MaterialAmbient<0,1,2> + mad r2.xyz, r3, c1, r2 // ::local3<0,1,2> + +#line 82 + dp3_sat r1.w, c7, r1 // ::diffuseAmount<0> mul r3.xyz, r1.w, c3 - mad r2.xyz, r3, t0, r2 - dp3_sat r1.w, c8, r1 - dp3_sat r2.w, c9, r1 + +#line 145 + mad r2.xyz, r3, t0, r2 // ::local3<0,1,2> + +#line 82 + dp3_sat r1.w, c8, r1 // ::diffuseAmount<0> + dp3_sat r2.w, c9, r1 // ::diffuseAmount<0> mul r1.xyz, r2.w, c5 mul r3.xyz, r1.w, c4 - mad r2.xyz, r3, t0, r2 - mad_sat r1.xyz, r1, t0, r2 - mul r1.xyz, r0, r1 - mul r1.w, r0.w, t0.w - mov oC0, r1 + +#line 145 + mad r2.xyz, r3, t0, r2 // ::local3<0,1,2> + mad_sat r1.xyz, r1, t0, r2 // ::local3<0,1,2> + +#line 149 + mul r1.xyz, r0, r1 // ::local4<0,1,2> + mul r1.w, r0.w, t0.w // ::local5<0> + mov oC0, r1 // ::mainTx<0,1,2,3> // approximately 21 instruction slots used (1 texture, 20 arithmetic) ps_4_0 @@ -103,17 +121,17 @@ ret const BYTE DGSLLambert_mainTx[] = { - 68, 88, 66, 67, 102, 190, - 51, 178, 209, 36, 176, 183, - 170, 53, 17, 30, 248, 77, - 247, 254, 1, 0, 0, 0, - 244, 5, 0, 0, 4, 0, + 68, 88, 66, 67, 2, 83, + 250, 55, 168, 31, 166, 40, + 181, 24, 99, 4, 43, 67, + 37, 218, 1, 0, 0, 0, + 52, 10, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 240, 1, 0, 0, 212, 4, - 0, 0, 192, 5, 0, 0, - 65, 111, 110, 57, 184, 1, - 0, 0, 184, 1, 0, 0, - 0, 2, 255, 255, 108, 1, + 48, 6, 0, 0, 20, 9, + 0, 0, 0, 10, 0, 0, + 65, 111, 110, 57, 248, 5, + 0, 0, 248, 5, 0, 0, + 0, 2, 255, 255, 172, 5, 0, 0, 76, 0, 0, 0, 3, 0, 40, 0, 0, 0, 76, 0, 0, 0, 76, 0, @@ -125,236 +143,418 @@ const BYTE DGSLLambert_mainTx[] = 1, 0, 0, 0, 0, 0, 1, 0, 9, 0, 4, 0, 6, 0, 0, 0, 0, 0, - 0, 2, 255, 255, 31, 0, - 0, 2, 0, 0, 0, 128, - 0, 0, 15, 176, 31, 0, - 0, 2, 0, 0, 0, 128, - 1, 0, 3, 176, 31, 0, - 0, 2, 0, 0, 0, 128, - 2, 0, 7, 176, 31, 0, - 0, 2, 0, 0, 0, 144, - 0, 8, 15, 160, 66, 0, - 0, 3, 0, 0, 15, 128, - 1, 0, 228, 176, 0, 8, - 228, 160, 36, 0, 0, 2, - 1, 0, 7, 128, 2, 0, - 228, 176, 8, 0, 0, 3, - 1, 0, 24, 128, 6, 0, - 228, 160, 1, 0, 228, 128, + 0, 2, 255, 255, 254, 255, + 15, 1, 68, 66, 85, 71, + 40, 0, 0, 0, 16, 4, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 120, 0, + 0, 0, 23, 0, 0, 0, + 124, 0, 0, 0, 9, 0, + 0, 0, 92, 3, 0, 0, + 68, 2, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 68, 71, + 83, 76, 76, 97, 109, 98, + 101, 114, 116, 46, 104, 108, + 115, 108, 0, 171, 171, 171, + 40, 0, 0, 0, 0, 0, + 255, 255, 68, 4, 0, 0, + 0, 0, 255, 255, 80, 4, + 0, 0, 0, 0, 255, 255, + 92, 4, 0, 0, 0, 0, + 255, 255, 104, 4, 0, 0, + 149, 0, 0, 0, 116, 4, + 0, 0, 139, 0, 0, 0, + 132, 4, 0, 0, 82, 0, + 0, 0, 144, 4, 0, 0, + 83, 0, 0, 0, 160, 4, + 0, 0, 83, 0, 0, 0, + 176, 4, 0, 0, 145, 0, + 0, 0, 192, 4, 0, 0, + 145, 0, 0, 0, 204, 4, + 0, 0, 82, 0, 0, 0, + 224, 4, 0, 0, 83, 0, + 0, 0, 240, 4, 0, 0, + 145, 0, 0, 0, 0, 5, + 0, 0, 82, 0, 0, 0, + 20, 5, 0, 0, 82, 0, + 0, 0, 36, 5, 0, 0, + 83, 0, 0, 0, 52, 5, + 0, 0, 83, 0, 0, 0, + 68, 5, 0, 0, 145, 0, + 0, 0, 84, 5, 0, 0, + 145, 0, 0, 0, 104, 5, + 0, 0, 149, 0, 0, 0, + 124, 5, 0, 0, 150, 0, + 0, 0, 140, 5, 0, 0, + 149, 0, 0, 0, 156, 5, + 0, 0, 77, 97, 116, 101, + 114, 105, 97, 108, 86, 97, + 114, 115, 0, 77, 97, 116, + 101, 114, 105, 97, 108, 65, + 109, 98, 105, 101, 110, 116, + 0, 171, 171, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 9, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 100, 105, 102, 102, + 117, 115, 101, 0, 1, 0, + 3, 0, 1, 0, 3, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 100, 105, 102, 102, + 117, 115, 101, 65, 109, 111, + 117, 110, 116, 0, 171, 171, + 0, 0, 3, 0, 1, 0, + 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 0, 0, 11, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 0, 0, 14, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 0, 0, 15, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 0, 0, 108, 111, + 99, 97, 108, 51, 0, 171, + 10, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 13, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 18, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 19, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 108, 111, 99, 97, 108, 52, + 0, 171, 20, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 108, 111, 99, 97, + 108, 53, 0, 171, 21, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 0, 0, 109, 97, + 105, 110, 84, 120, 0, 102, + 114, 97, 103, 109, 101, 110, + 116, 0, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 75, 2, 0, 0, 84, 2, + 0, 0, 5, 0, 0, 0, + 1, 0, 4, 0, 1, 0, + 1, 0, 100, 2, 0, 0, + 22, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 112, 105, 120, 101, 108, 0, + 112, 111, 115, 0, 117, 118, + 0, 171, 171, 171, 1, 0, + 3, 0, 1, 0, 2, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 119, 111, 114, 108, + 100, 78, 111, 114, 109, 0, + 119, 111, 114, 108, 100, 80, + 111, 115, 0, 116, 111, 69, + 121, 101, 0, 116, 97, 110, + 103, 101, 110, 116, 0, 110, + 111, 114, 109, 97, 108, 0, + 142, 2, 0, 0, 84, 2, + 0, 0, 112, 1, 0, 0, + 84, 2, 0, 0, 146, 2, + 0, 0, 152, 2, 0, 0, + 168, 2, 0, 0, 120, 1, + 0, 0, 178, 2, 0, 0, + 120, 1, 0, 0, 187, 2, + 0, 0, 120, 1, 0, 0, + 193, 2, 0, 0, 84, 2, + 0, 0, 201, 2, 0, 0, + 120, 1, 0, 0, 5, 0, + 0, 0, 1, 0, 26, 0, + 1, 0, 8, 0, 208, 2, + 0, 0, 0, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 7, 0, 1, 0, 0, 0, + 8, 0, 9, 0, 255, 255, + 255, 255, 2, 0, 0, 0, + 10, 0, 11, 0, 12, 0, + 255, 255, 119, 111, 114, 108, + 100, 78, 111, 114, 109, 97, + 108, 0, 5, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 52, 1, 0, 0, + 65, 1, 0, 0, 84, 1, + 0, 0, 1, 0, 0, 0, + 100, 1, 0, 0, 0, 0, + 0, 0, 112, 1, 0, 0, + 120, 1, 0, 0, 1, 0, + 0, 0, 136, 1, 0, 0, + 0, 0, 0, 0, 148, 1, + 0, 0, 164, 1, 0, 0, + 4, 0, 0, 0, 180, 1, + 0, 0, 0, 0, 0, 0, + 228, 1, 0, 0, 120, 1, + 0, 0, 4, 0, 0, 0, + 236, 1, 0, 0, 0, 0, + 0, 0, 28, 2, 0, 0, + 120, 1, 0, 0, 1, 0, + 0, 0, 36, 2, 0, 0, + 0, 0, 0, 0, 48, 2, + 0, 0, 164, 1, 0, 0, + 1, 0, 0, 0, 56, 2, + 0, 0, 0, 0, 0, 0, + 68, 2, 0, 0, 108, 2, + 0, 0, 1, 0, 0, 0, + 124, 2, 0, 0, 68, 2, + 0, 0, 136, 2, 0, 0, + 16, 3, 0, 0, 3, 0, + 0, 0, 32, 3, 0, 0, + 0, 0, 0, 0, 68, 3, + 0, 0, 120, 1, 0, 0, + 1, 0, 0, 0, 80, 3, + 0, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 31, 0, 0, 2, 0, 0, + 0, 128, 0, 0, 15, 176, + 31, 0, 0, 2, 0, 0, + 0, 128, 1, 0, 3, 176, + 31, 0, 0, 2, 0, 0, + 0, 128, 2, 0, 7, 176, + 31, 0, 0, 2, 0, 0, + 0, 144, 0, 8, 15, 160, + 66, 0, 0, 3, 0, 0, + 15, 128, 1, 0, 228, 176, + 0, 8, 228, 160, 36, 0, + 0, 2, 1, 0, 7, 128, + 2, 0, 228, 176, 8, 0, + 0, 3, 1, 0, 24, 128, + 6, 0, 228, 160, 1, 0, + 228, 128, 5, 0, 0, 3, + 2, 0, 7, 128, 1, 0, + 255, 128, 2, 0, 228, 160, 5, 0, 0, 3, 2, 0, - 7, 128, 1, 0, 255, 128, - 2, 0, 228, 160, 5, 0, - 0, 3, 2, 0, 7, 128, - 2, 0, 228, 128, 0, 0, - 228, 176, 1, 0, 0, 2, - 3, 0, 7, 128, 0, 0, + 7, 128, 2, 0, 228, 128, + 0, 0, 228, 176, 1, 0, + 0, 2, 3, 0, 7, 128, + 0, 0, 228, 160, 4, 0, + 0, 4, 2, 0, 7, 128, + 3, 0, 228, 128, 1, 0, + 228, 160, 2, 0, 228, 128, + 8, 0, 0, 3, 1, 0, + 24, 128, 7, 0, 228, 160, + 1, 0, 228, 128, 5, 0, + 0, 3, 3, 0, 7, 128, + 1, 0, 255, 128, 3, 0, 228, 160, 4, 0, 0, 4, 2, 0, 7, 128, 3, 0, - 228, 128, 1, 0, 228, 160, + 228, 128, 0, 0, 228, 176, 2, 0, 228, 128, 8, 0, 0, 3, 1, 0, 24, 128, - 7, 0, 228, 160, 1, 0, - 228, 128, 5, 0, 0, 3, - 3, 0, 7, 128, 1, 0, - 255, 128, 3, 0, 228, 160, - 4, 0, 0, 4, 2, 0, - 7, 128, 3, 0, 228, 128, - 0, 0, 228, 176, 2, 0, + 8, 0, 228, 160, 1, 0, 228, 128, 8, 0, 0, 3, - 1, 0, 24, 128, 8, 0, + 2, 0, 24, 128, 9, 0, 228, 160, 1, 0, 228, 128, - 8, 0, 0, 3, 2, 0, - 24, 128, 9, 0, 228, 160, - 1, 0, 228, 128, 5, 0, - 0, 3, 1, 0, 7, 128, - 2, 0, 255, 128, 5, 0, - 228, 160, 5, 0, 0, 3, - 3, 0, 7, 128, 1, 0, - 255, 128, 4, 0, 228, 160, - 4, 0, 0, 4, 2, 0, - 7, 128, 3, 0, 228, 128, - 0, 0, 228, 176, 2, 0, - 228, 128, 4, 0, 0, 4, - 1, 0, 23, 128, 1, 0, + 5, 0, 0, 3, 1, 0, + 7, 128, 2, 0, 255, 128, + 5, 0, 228, 160, 5, 0, + 0, 3, 3, 0, 7, 128, + 1, 0, 255, 128, 4, 0, + 228, 160, 4, 0, 0, 4, + 2, 0, 7, 128, 3, 0, 228, 128, 0, 0, 228, 176, - 2, 0, 228, 128, 5, 0, - 0, 3, 1, 0, 7, 128, - 0, 0, 228, 128, 1, 0, - 228, 128, 5, 0, 0, 3, - 1, 0, 8, 128, 0, 0, - 255, 128, 0, 0, 255, 176, - 1, 0, 0, 2, 0, 8, - 15, 128, 1, 0, 228, 128, - 255, 255, 0, 0, 83, 72, - 68, 82, 220, 2, 0, 0, - 64, 0, 0, 0, 183, 0, + 2, 0, 228, 128, 4, 0, + 0, 4, 1, 0, 23, 128, + 1, 0, 228, 128, 0, 0, + 228, 176, 2, 0, 228, 128, + 5, 0, 0, 3, 1, 0, + 7, 128, 0, 0, 228, 128, + 1, 0, 228, 128, 5, 0, + 0, 3, 1, 0, 8, 128, + 0, 0, 255, 128, 0, 0, + 255, 176, 1, 0, 0, 2, + 0, 8, 15, 128, 1, 0, + 228, 128, 255, 255, 0, 0, + 83, 72, 68, 82, 220, 2, + 0, 0, 64, 0, 0, 0, + 183, 0, 0, 0, 89, 0, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 89, 0, 0, 4, - 70, 142, 32, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 89, 0, 0, 4, 70, 142, - 32, 0, 1, 0, 0, 0, - 13, 0, 0, 0, 90, 0, - 0, 3, 0, 96, 16, 0, - 0, 0, 0, 0, 88, 24, - 0, 4, 0, 112, 16, 0, - 0, 0, 0, 0, 85, 85, - 0, 0, 98, 16, 0, 3, - 242, 16, 16, 0, 1, 0, - 0, 0, 98, 16, 0, 3, - 50, 16, 16, 0, 2, 0, - 0, 0, 98, 16, 0, 3, - 114, 16, 16, 0, 3, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 0, 0, - 0, 0, 104, 0, 0, 2, - 3, 0, 0, 0, 16, 0, - 0, 7, 18, 0, 16, 0, - 0, 0, 0, 0, 70, 18, - 16, 0, 3, 0, 0, 0, - 70, 18, 16, 0, 3, 0, - 0, 0, 68, 0, 0, 5, - 18, 0, 16, 0, 0, 0, - 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, - 0, 0, 0, 0, 6, 0, + 70, 142, 32, 0, 1, 0, + 0, 0, 13, 0, 0, 0, + 90, 0, 0, 3, 0, 96, + 16, 0, 0, 0, 0, 0, + 88, 24, 0, 4, 0, 112, + 16, 0, 0, 0, 0, 0, + 85, 85, 0, 0, 98, 16, + 0, 3, 242, 16, 16, 0, + 1, 0, 0, 0, 98, 16, + 0, 3, 50, 16, 16, 0, + 2, 0, 0, 0, 98, 16, + 0, 3, 114, 16, 16, 0, + 3, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 0, 0, 0, 0, 104, 0, + 0, 2, 3, 0, 0, 0, + 16, 0, 0, 7, 18, 0, 16, 0, 0, 0, 0, 0, 70, 18, 16, 0, 3, 0, - 0, 0, 16, 32, 0, 8, - 130, 0, 16, 0, 0, 0, - 0, 0, 70, 130, 32, 0, - 1, 0, 0, 0, 9, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 8, 114, 0, 16, 0, - 1, 0, 0, 0, 246, 15, + 0, 0, 70, 18, 16, 0, + 3, 0, 0, 0, 68, 0, + 0, 5, 18, 0, 16, 0, + 0, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, - 70, 130, 32, 0, 1, 0, - 0, 0, 1, 0, 0, 0, 56, 0, 0, 7, 114, 0, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 70, 18, 16, 0, - 1, 0, 0, 0, 50, 0, - 0, 11, 114, 0, 16, 0, - 1, 0, 0, 0, 70, 130, - 32, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 70, 130, - 32, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 70, 2, - 16, 0, 1, 0, 0, 0, - 16, 32, 0, 8, 130, 0, 16, 0, 0, 0, 0, 0, - 70, 130, 32, 0, 1, 0, - 0, 0, 10, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 8, - 114, 0, 16, 0, 2, 0, - 0, 0, 246, 15, 16, 0, - 0, 0, 0, 0, 70, 130, - 32, 0, 1, 0, 0, 0, - 2, 0, 0, 0, 50, 0, - 0, 9, 114, 0, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 2, 0, 0, 0, - 70, 18, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 16, 32, + 6, 0, 16, 0, 0, 0, + 0, 0, 70, 18, 16, 0, + 3, 0, 0, 0, 16, 32, 0, 8, 130, 0, 16, 0, 0, 0, 0, 0, 70, 130, 32, 0, 1, 0, 0, 0, - 11, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 16, 32, 0, 8, 18, 0, + 9, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, + 56, 0, 0, 8, 114, 0, + 16, 0, 1, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 70, 18, + 16, 0, 1, 0, 0, 0, + 50, 0, 0, 11, 114, 0, + 16, 0, 1, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 70, 130, 32, 0, 1, 0, - 0, 0, 12, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 8, - 114, 0, 16, 0, 0, 0, - 0, 0, 6, 0, 16, 0, - 0, 0, 0, 0, 70, 130, - 32, 0, 1, 0, 0, 0, - 4, 0, 0, 0, 56, 0, + 0, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 16, 32, 0, 8, + 130, 0, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 1, 0, 0, 0, 10, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 56, 0, 0, 8, 114, 0, 16, 0, 2, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, 70, 130, 32, 0, 1, 0, - 0, 0, 3, 0, 0, 0, + 0, 0, 2, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, - 50, 32, 0, 9, 114, 0, + 16, 32, 0, 8, 130, 0, 16, 0, 0, 0, 0, 0, + 70, 130, 32, 0, 1, 0, + 0, 0, 11, 0, 0, 0, 70, 2, 16, 0, 0, 0, - 0, 0, 70, 18, 16, 0, - 1, 0, 0, 0, 70, 2, + 0, 0, 16, 32, 0, 8, + 18, 0, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 1, 0, 0, 0, 12, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 8, 114, 0, 16, 0, + 0, 0, 0, 0, 6, 0, + 16, 0, 0, 0, 0, 0, + 70, 130, 32, 0, 1, 0, + 0, 0, 4, 0, 0, 0, + 56, 0, 0, 8, 114, 0, + 16, 0, 2, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 50, 0, 0, 9, + 114, 0, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, - 69, 0, 0, 9, 242, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 50, 32, 0, 9, + 114, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, - 70, 16, 16, 0, 2, 0, - 0, 0, 70, 126, 16, 0, - 0, 0, 0, 0, 0, 96, - 16, 0, 0, 0, 0, 0, - 56, 0, 0, 7, 114, 32, + 70, 2, 16, 0, 1, 0, + 0, 0, 69, 0, 0, 9, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 16, 16, 0, + 2, 0, 0, 0, 70, 126, 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 0, 0, + 0, 96, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 114, 32, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 56, 0, - 0, 7, 130, 32, 16, 0, - 0, 0, 0, 0, 58, 0, + 0, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, - 58, 16, 16, 0, 1, 0, - 0, 0, 62, 0, 0, 1, - 73, 83, 71, 78, 228, 0, + 56, 0, 0, 7, 130, 32, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 58, 16, 16, 0, + 1, 0, 0, 0, 62, 0, + 0, 1, 73, 83, 71, 78, + 228, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, - 8, 0, 0, 0, 200, 0, + 200, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 3, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 15, 15, 0, 0, + 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 212, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 3, 3, 0, 0, + 218, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 15, 15, 0, 0, 218, 0, + 3, 0, 0, 0, 3, 0, + 0, 0, 7, 7, 0, 0, + 218, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 2, 0, 0, 0, - 3, 3, 0, 0, 218, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 3, 0, 0, 0, - 7, 7, 0, 0, 218, 0, - 0, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 4, 0, 0, 0, - 7, 0, 0, 0, 218, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 5, 0, 0, 0, - 7, 0, 0, 0, 218, 0, - 0, 0, 4, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 6, 0, 0, 0, - 15, 0, 0, 0, 218, 0, - 0, 0, 5, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 3, 0, 0, 0, 4, 0, 0, 0, 7, 0, 0, 0, - 7, 0, 0, 0, 83, 86, - 95, 80, 79, 83, 73, 84, - 73, 79, 78, 0, 67, 79, - 76, 79, 82, 0, 84, 69, - 88, 67, 79, 79, 82, 68, - 0, 171, 79, 83, 71, 78, - 44, 0, 0, 0, 1, 0, - 0, 0, 8, 0, 0, 0, - 32, 0, 0, 0, 0, 0, + 218, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 5, 0, + 0, 0, 7, 0, 0, 0, + 218, 0, 0, 0, 4, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 6, 0, 0, 0, 15, 0, 0, 0, - 83, 86, 95, 84, 97, 114, - 103, 101, 116, 0, 171, 171 + 218, 0, 0, 0, 5, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 7, 0, + 0, 0, 7, 0, 0, 0, + 83, 86, 95, 80, 79, 83, + 73, 84, 73, 79, 78, 0, + 67, 79, 76, 79, 82, 0, + 84, 69, 88, 67, 79, 79, + 82, 68, 0, 171, 79, 83, + 71, 78, 44, 0, 0, 0, + 1, 0, 0, 0, 8, 0, + 0, 0, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 83, 86, 95, 84, + 97, 114, 103, 101, 116, 0, + 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLLambert_mainTxTk.inc b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLLambert_mainTxTk.inc index 62c457bb..ed82216e 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLLambert_mainTxTk.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLLambert_mainTxTk.inc @@ -44,32 +44,58 @@ // ps_2_0 def c10, -1, -0, 0, 0 - dcl t0 - dcl t1.xy - dcl t2.xyz + dcl t0 // pixel<4,5,6,7> + dcl t1.xy // pixel<8,9> + dcl t2.xyz // pixel<10,11,12> dcl_2d s0 + +#line 170 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\DGSLLambert.hlsl" texld r0, t1, s0 - mul r1.w, r0.w, t0.w + mul r1.w, r0.w, t0.w // ::local5<0> + +#line 174 mul r0.w, r1.w, r1.w cmp r2, -r0.w, c10.x, c10.y texkill r2 - nrm r2.xyz, t2 - dp3_sat r0.w, c6, r2 + +#line 160 + nrm r2.xyz, t2 // ::worldNormal<0,1,2> + +#line 82 + dp3_sat r0.w, c6, r2 // ::diffuseAmount<0> mul r3.xyz, r0.w, c2 - mul r3.xyz, r3, t0 - mov r4.xyz, c0 - mad r3.xyz, r4, c1, r3 - dp3_sat r0.w, c7, r2 + mul r3.xyz, r3, t0 // ::diffuse<0,1,2> + +#line 166 + mov r4.xyz, c0 // MaterialVars::MaterialAmbient<0,1,2> + mad r3.xyz, r4, c1, r3 // ::local3<0,1,2> + +#line 82 + dp3_sat r0.w, c7, r2 // ::diffuseAmount<0> mul r4.xyz, r0.w, c3 - mad r3.xyz, r4, t0, r3 - dp3_sat r0.w, c8, r2 + +#line 166 + mad r3.xyz, r4, t0, r3 // ::local3<0,1,2> + +#line 82 + dp3_sat r0.w, c8, r2 // ::diffuseAmount<0> mul r4.xyz, r0.w, c4 - mad r3.xyz, r4, t0, r3 - dp3_sat r0.w, c9, r2 + +#line 166 + mad r3.xyz, r4, t0, r3 // ::local3<0,1,2> + +#line 82 + dp3_sat r0.w, c9, r2 // ::diffuseAmount<0> mul r2.xyz, r0.w, c5 - mad_sat r2.xyz, r2, t0, r3 - mul r1.xyz, r0, r2 - mov oC0, r1 + +#line 166 + mad_sat r2.xyz, r2, t0, r3 // ::local3<0,1,2> + +#line 170 + mul r1.xyz, r0, r2 // ::local4<0,1,2> + +#line 176 + mov oC0, r1 // ::mainTxTk<0,1,2,3> // approximately 24 instruction slots used (1 texture, 23 arithmetic) ps_4_0 @@ -110,17 +136,17 @@ ret const BYTE DGSLLambert_mainTxTk[] = { - 68, 88, 66, 67, 107, 124, - 177, 187, 78, 194, 93, 193, - 234, 37, 210, 51, 232, 235, - 240, 102, 1, 0, 0, 0, - 116, 6, 0, 0, 4, 0, + 68, 88, 66, 67, 128, 125, + 248, 122, 94, 37, 149, 31, + 121, 205, 195, 201, 166, 72, + 161, 102, 1, 0, 0, 0, + 216, 10, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 52, 2, 0, 0, 84, 5, - 0, 0, 64, 6, 0, 0, - 65, 111, 110, 57, 252, 1, - 0, 0, 252, 1, 0, 0, - 0, 2, 255, 255, 176, 1, + 152, 6, 0, 0, 184, 9, + 0, 0, 164, 10, 0, 0, + 65, 111, 110, 57, 96, 6, + 0, 0, 96, 6, 0, 0, + 0, 2, 255, 255, 20, 6, 0, 0, 76, 0, 0, 0, 3, 0, 40, 0, 0, 0, 76, 0, 0, 0, 76, 0, @@ -132,163 +158,367 @@ const BYTE DGSLLambert_mainTxTk[] = 1, 0, 0, 0, 0, 0, 1, 0, 9, 0, 4, 0, 6, 0, 0, 0, 0, 0, - 0, 2, 255, 255, 81, 0, - 0, 5, 10, 0, 15, 160, - 0, 0, 128, 191, 0, 0, - 0, 128, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 0, - 0, 2, 0, 0, 0, 128, - 0, 0, 15, 176, 31, 0, - 0, 2, 0, 0, 0, 128, - 1, 0, 3, 176, 31, 0, - 0, 2, 0, 0, 0, 128, - 2, 0, 7, 176, 31, 0, - 0, 2, 0, 0, 0, 144, - 0, 8, 15, 160, 66, 0, - 0, 3, 0, 0, 15, 128, - 1, 0, 228, 176, 0, 8, - 228, 160, 5, 0, 0, 3, - 1, 0, 8, 128, 0, 0, - 255, 128, 0, 0, 255, 176, - 5, 0, 0, 3, 0, 0, - 8, 128, 1, 0, 255, 128, - 1, 0, 255, 128, 88, 0, - 0, 4, 2, 0, 15, 128, - 0, 0, 255, 129, 10, 0, - 0, 160, 10, 0, 85, 160, - 65, 0, 0, 1, 2, 0, - 15, 128, 36, 0, 0, 2, - 2, 0, 7, 128, 2, 0, - 228, 176, 8, 0, 0, 3, - 0, 0, 24, 128, 6, 0, - 228, 160, 2, 0, 228, 128, + 0, 2, 255, 255, 254, 255, + 24, 1, 68, 66, 85, 71, + 40, 0, 0, 0, 52, 4, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 120, 0, + 0, 0, 27, 0, 0, 0, + 124, 0, 0, 0, 9, 0, + 0, 0, 128, 3, 0, 0, + 100, 2, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 68, 71, + 83, 76, 76, 97, 109, 98, + 101, 114, 116, 46, 104, 108, + 115, 108, 0, 171, 171, 171, + 40, 0, 0, 0, 0, 0, + 255, 255, 104, 4, 0, 0, + 0, 0, 255, 255, 128, 4, + 0, 0, 0, 0, 255, 255, + 140, 4, 0, 0, 0, 0, + 255, 255, 152, 4, 0, 0, + 0, 0, 255, 255, 164, 4, + 0, 0, 170, 0, 0, 0, + 176, 4, 0, 0, 171, 0, + 0, 0, 192, 4, 0, 0, + 174, 0, 0, 0, 208, 4, + 0, 0, 174, 0, 0, 0, + 224, 4, 0, 0, 174, 0, + 0, 0, 244, 4, 0, 0, + 160, 0, 0, 0, 252, 4, + 0, 0, 82, 0, 0, 0, + 8, 5, 0, 0, 83, 0, + 0, 0, 24, 5, 0, 0, + 83, 0, 0, 0, 40, 5, + 0, 0, 166, 0, 0, 0, + 56, 5, 0, 0, 166, 0, + 0, 0, 68, 5, 0, 0, + 82, 0, 0, 0, 88, 5, + 0, 0, 83, 0, 0, 0, + 104, 5, 0, 0, 166, 0, + 0, 0, 120, 5, 0, 0, + 82, 0, 0, 0, 140, 5, + 0, 0, 83, 0, 0, 0, + 156, 5, 0, 0, 166, 0, + 0, 0, 172, 5, 0, 0, + 82, 0, 0, 0, 192, 5, + 0, 0, 83, 0, 0, 0, + 208, 5, 0, 0, 166, 0, + 0, 0, 224, 5, 0, 0, + 170, 0, 0, 0, 244, 5, + 0, 0, 176, 0, 0, 0, + 4, 6, 0, 0, 77, 97, + 116, 101, 114, 105, 97, 108, + 86, 97, 114, 115, 0, 77, + 97, 116, 101, 114, 105, 97, + 108, 65, 109, 98, 105, 101, + 110, 116, 0, 171, 171, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 14, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 100, 105, + 102, 102, 117, 115, 101, 0, + 1, 0, 3, 0, 1, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 13, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 100, 105, + 102, 102, 117, 115, 101, 65, + 109, 111, 117, 110, 116, 0, + 171, 171, 0, 0, 3, 0, + 1, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 11, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 0, 0, + 16, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 0, 0, + 19, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 0, 0, + 22, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 0, 0, + 108, 111, 99, 97, 108, 51, + 0, 171, 15, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 18, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 21, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 24, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 108, 111, 99, 97, + 108, 52, 0, 171, 25, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 108, 111, + 99, 97, 108, 53, 0, 171, + 6, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 0, 0, + 109, 97, 105, 110, 84, 120, + 84, 107, 0, 102, 114, 97, + 103, 109, 101, 110, 116, 0, + 171, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 109, 2, 0, 0, 120, 2, + 0, 0, 5, 0, 0, 0, + 1, 0, 4, 0, 1, 0, + 1, 0, 136, 2, 0, 0, + 26, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 112, 105, 120, 101, 108, 0, + 112, 111, 115, 0, 117, 118, + 0, 171, 171, 171, 1, 0, + 3, 0, 1, 0, 2, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 119, 111, 114, 108, + 100, 78, 111, 114, 109, 0, + 119, 111, 114, 108, 100, 80, + 111, 115, 0, 116, 111, 69, + 121, 101, 0, 116, 97, 110, + 103, 101, 110, 116, 0, 110, + 111, 114, 109, 97, 108, 0, + 178, 2, 0, 0, 120, 2, + 0, 0, 144, 1, 0, 0, + 120, 2, 0, 0, 182, 2, + 0, 0, 188, 2, 0, 0, + 204, 2, 0, 0, 152, 1, + 0, 0, 214, 2, 0, 0, + 152, 1, 0, 0, 223, 2, + 0, 0, 152, 1, 0, 0, + 229, 2, 0, 0, 120, 2, + 0, 0, 237, 2, 0, 0, + 152, 1, 0, 0, 5, 0, + 0, 0, 1, 0, 26, 0, + 1, 0, 8, 0, 244, 2, + 0, 0, 1, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 7, 0, 2, 0, 0, 0, + 8, 0, 9, 0, 255, 255, + 255, 255, 3, 0, 0, 0, + 10, 0, 11, 0, 12, 0, + 255, 255, 119, 111, 114, 108, + 100, 78, 111, 114, 109, 97, + 108, 0, 10, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 84, 1, 0, 0, + 97, 1, 0, 0, 116, 1, + 0, 0, 1, 0, 0, 0, + 132, 1, 0, 0, 0, 0, + 0, 0, 144, 1, 0, 0, + 152, 1, 0, 0, 1, 0, + 0, 0, 168, 1, 0, 0, + 0, 0, 0, 0, 180, 1, + 0, 0, 196, 1, 0, 0, + 4, 0, 0, 0, 212, 1, + 0, 0, 0, 0, 0, 0, + 4, 2, 0, 0, 152, 1, + 0, 0, 4, 0, 0, 0, + 12, 2, 0, 0, 0, 0, + 0, 0, 60, 2, 0, 0, + 152, 1, 0, 0, 1, 0, + 0, 0, 68, 2, 0, 0, + 0, 0, 0, 0, 80, 2, + 0, 0, 196, 1, 0, 0, + 1, 0, 0, 0, 88, 2, + 0, 0, 0, 0, 0, 0, + 100, 2, 0, 0, 144, 2, + 0, 0, 1, 0, 0, 0, + 160, 2, 0, 0, 100, 2, + 0, 0, 172, 2, 0, 0, + 52, 3, 0, 0, 3, 0, + 0, 0, 68, 3, 0, 0, + 0, 0, 0, 0, 104, 3, + 0, 0, 152, 1, 0, 0, + 1, 0, 0, 0, 116, 3, + 0, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 81, 0, 0, 5, 10, 0, + 15, 160, 0, 0, 128, 191, + 0, 0, 0, 128, 0, 0, + 0, 0, 0, 0, 0, 0, + 31, 0, 0, 2, 0, 0, + 0, 128, 0, 0, 15, 176, + 31, 0, 0, 2, 0, 0, + 0, 128, 1, 0, 3, 176, + 31, 0, 0, 2, 0, 0, + 0, 128, 2, 0, 7, 176, + 31, 0, 0, 2, 0, 0, + 0, 144, 0, 8, 15, 160, + 66, 0, 0, 3, 0, 0, + 15, 128, 1, 0, 228, 176, + 0, 8, 228, 160, 5, 0, + 0, 3, 1, 0, 8, 128, + 0, 0, 255, 128, 0, 0, + 255, 176, 5, 0, 0, 3, + 0, 0, 8, 128, 1, 0, + 255, 128, 1, 0, 255, 128, + 88, 0, 0, 4, 2, 0, + 15, 128, 0, 0, 255, 129, + 10, 0, 0, 160, 10, 0, + 85, 160, 65, 0, 0, 1, + 2, 0, 15, 128, 36, 0, + 0, 2, 2, 0, 7, 128, + 2, 0, 228, 176, 8, 0, + 0, 3, 0, 0, 24, 128, + 6, 0, 228, 160, 2, 0, + 228, 128, 5, 0, 0, 3, + 3, 0, 7, 128, 0, 0, + 255, 128, 2, 0, 228, 160, 5, 0, 0, 3, 3, 0, - 7, 128, 0, 0, 255, 128, - 2, 0, 228, 160, 5, 0, - 0, 3, 3, 0, 7, 128, - 3, 0, 228, 128, 0, 0, - 228, 176, 1, 0, 0, 2, - 4, 0, 7, 128, 0, 0, + 7, 128, 3, 0, 228, 128, + 0, 0, 228, 176, 1, 0, + 0, 2, 4, 0, 7, 128, + 0, 0, 228, 160, 4, 0, + 0, 4, 3, 0, 7, 128, + 4, 0, 228, 128, 1, 0, + 228, 160, 3, 0, 228, 128, + 8, 0, 0, 3, 0, 0, + 24, 128, 7, 0, 228, 160, + 2, 0, 228, 128, 5, 0, + 0, 3, 4, 0, 7, 128, + 0, 0, 255, 128, 3, 0, 228, 160, 4, 0, 0, 4, 3, 0, 7, 128, 4, 0, - 228, 128, 1, 0, 228, 160, + 228, 128, 0, 0, 228, 176, 3, 0, 228, 128, 8, 0, 0, 3, 0, 0, 24, 128, - 7, 0, 228, 160, 2, 0, + 8, 0, 228, 160, 2, 0, 228, 128, 5, 0, 0, 3, 4, 0, 7, 128, 0, 0, - 255, 128, 3, 0, 228, 160, + 255, 128, 4, 0, 228, 160, 4, 0, 0, 4, 3, 0, 7, 128, 4, 0, 228, 128, 0, 0, 228, 176, 3, 0, 228, 128, 8, 0, 0, 3, - 0, 0, 24, 128, 8, 0, + 0, 0, 24, 128, 9, 0, 228, 160, 2, 0, 228, 128, - 5, 0, 0, 3, 4, 0, + 5, 0, 0, 3, 2, 0, 7, 128, 0, 0, 255, 128, - 4, 0, 228, 160, 4, 0, - 0, 4, 3, 0, 7, 128, - 4, 0, 228, 128, 0, 0, + 5, 0, 228, 160, 4, 0, + 0, 4, 2, 0, 23, 128, + 2, 0, 228, 128, 0, 0, 228, 176, 3, 0, 228, 128, - 8, 0, 0, 3, 0, 0, - 24, 128, 9, 0, 228, 160, - 2, 0, 228, 128, 5, 0, - 0, 3, 2, 0, 7, 128, - 0, 0, 255, 128, 5, 0, - 228, 160, 4, 0, 0, 4, - 2, 0, 23, 128, 2, 0, - 228, 128, 0, 0, 228, 176, - 3, 0, 228, 128, 5, 0, - 0, 3, 1, 0, 7, 128, - 0, 0, 228, 128, 2, 0, - 228, 128, 1, 0, 0, 2, - 0, 8, 15, 128, 1, 0, - 228, 128, 255, 255, 0, 0, - 83, 72, 68, 82, 24, 3, - 0, 0, 64, 0, 0, 0, - 198, 0, 0, 0, 89, 0, + 5, 0, 0, 3, 1, 0, + 7, 128, 0, 0, 228, 128, + 2, 0, 228, 128, 1, 0, + 0, 2, 0, 8, 15, 128, + 1, 0, 228, 128, 255, 255, + 0, 0, 83, 72, 68, 82, + 24, 3, 0, 0, 64, 0, + 0, 0, 198, 0, 0, 0, + 89, 0, 0, 4, 70, 142, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 89, 0, 0, 4, 70, 142, 32, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 89, 0, 0, 4, - 70, 142, 32, 0, 1, 0, - 0, 0, 13, 0, 0, 0, - 90, 0, 0, 3, 0, 96, - 16, 0, 0, 0, 0, 0, - 88, 24, 0, 4, 0, 112, - 16, 0, 0, 0, 0, 0, - 85, 85, 0, 0, 98, 16, - 0, 3, 242, 16, 16, 0, - 1, 0, 0, 0, 98, 16, - 0, 3, 50, 16, 16, 0, - 2, 0, 0, 0, 98, 16, - 0, 3, 114, 16, 16, 0, - 3, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 0, 0, 0, 0, 104, 0, - 0, 2, 4, 0, 0, 0, - 69, 0, 0, 9, 242, 0, - 16, 0, 0, 0, 0, 0, - 70, 16, 16, 0, 2, 0, - 0, 0, 70, 126, 16, 0, - 0, 0, 0, 0, 0, 96, + 1, 0, 0, 0, 13, 0, + 0, 0, 90, 0, 0, 3, + 0, 96, 16, 0, 0, 0, + 0, 0, 88, 24, 0, 4, + 0, 112, 16, 0, 0, 0, + 0, 0, 85, 85, 0, 0, + 98, 16, 0, 3, 242, 16, + 16, 0, 1, 0, 0, 0, + 98, 16, 0, 3, 50, 16, + 16, 0, 2, 0, 0, 0, + 98, 16, 0, 3, 114, 16, + 16, 0, 3, 0, 0, 0, + 101, 0, 0, 3, 242, 32, 16, 0, 0, 0, 0, 0, - 56, 0, 0, 7, 130, 0, + 104, 0, 0, 2, 4, 0, + 0, 0, 69, 0, 0, 9, + 242, 0, 16, 0, 0, 0, + 0, 0, 70, 16, 16, 0, + 2, 0, 0, 0, 70, 126, 16, 0, 0, 0, 0, 0, + 0, 96, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 58, 16, + 16, 0, 1, 0, 0, 0, + 24, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, 58, 0, 16, 0, 0, 0, - 0, 0, 58, 16, 16, 0, - 1, 0, 0, 0, 24, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 0, 0, 13, 0, + 4, 3, 10, 0, 16, 0, + 1, 0, 0, 0, 16, 0, 0, 7, 18, 0, 16, 0, - 1, 0, 0, 0, 58, 0, - 16, 0, 0, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 0, 0, 13, 0, 4, 3, - 10, 0, 16, 0, 1, 0, - 0, 0, 16, 0, 0, 7, - 18, 0, 16, 0, 1, 0, - 0, 0, 70, 18, 16, 0, - 3, 0, 0, 0, 70, 18, - 16, 0, 3, 0, 0, 0, - 68, 0, 0, 5, 18, 0, - 16, 0, 1, 0, 0, 0, - 10, 0, 16, 0, 1, 0, - 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 1, 0, - 0, 0, 6, 0, 16, 0, 1, 0, 0, 0, 70, 18, 16, 0, 3, 0, 0, 0, + 70, 18, 16, 0, 3, 0, + 0, 0, 68, 0, 0, 5, + 18, 0, 16, 0, 1, 0, + 0, 0, 10, 0, 16, 0, + 1, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 1, 0, 0, 0, 6, 0, + 16, 0, 1, 0, 0, 0, + 70, 18, 16, 0, 3, 0, + 0, 0, 16, 32, 0, 8, + 130, 0, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 0, + 1, 0, 0, 0, 9, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 56, 0, + 0, 8, 114, 0, 16, 0, + 2, 0, 0, 0, 246, 15, + 16, 0, 1, 0, 0, 0, + 70, 130, 32, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 56, 0, 0, 7, 114, 0, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 70, 18, 16, 0, + 1, 0, 0, 0, 50, 0, + 0, 11, 114, 0, 16, 0, + 2, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 70, 130, + 32, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, 16, 32, 0, 8, 130, 0, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, 1, 0, - 0, 0, 9, 0, 0, 0, + 0, 0, 10, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, 56, 0, 0, 8, - 114, 0, 16, 0, 2, 0, + 114, 0, 16, 0, 3, 0, 0, 0, 246, 15, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, 1, 0, 0, 0, - 1, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, + 2, 0, 0, 0, 50, 0, + 0, 9, 114, 0, 16, 0, 2, 0, 0, 0, 70, 2, - 16, 0, 2, 0, 0, 0, + 16, 0, 3, 0, 0, 0, 70, 18, 16, 0, 1, 0, - 0, 0, 50, 0, 0, 11, - 114, 0, 16, 0, 2, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 70, 130, 32, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 16, 32, 0, 8, 130, 0, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, 1, 0, 0, 0, - 10, 0, 0, 0, 70, 2, + 11, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, 56, 0, 0, 8, 114, 0, 16, 0, 3, 0, 0, 0, 246, 15, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, - 1, 0, 0, 0, 2, 0, + 1, 0, 0, 0, 3, 0, 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, @@ -296,94 +526,77 @@ const BYTE DGSLLambert_mainTxTk[] = 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 16, 32, 0, 8, - 130, 0, 16, 0, 1, 0, + 18, 0, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, - 1, 0, 0, 0, 11, 0, + 1, 0, 0, 0, 12, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, 56, 0, 0, 8, 114, 0, 16, 0, - 3, 0, 0, 0, 246, 15, + 1, 0, 0, 0, 6, 0, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, 1, 0, - 0, 0, 3, 0, 0, 0, - 50, 0, 0, 9, 114, 0, - 16, 0, 2, 0, 0, 0, - 70, 2, 16, 0, 3, 0, - 0, 0, 70, 18, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 2, 0, 0, 0, - 16, 32, 0, 8, 18, 0, + 0, 0, 4, 0, 0, 0, + 50, 32, 0, 9, 114, 0, 16, 0, 1, 0, 0, 0, - 70, 130, 32, 0, 1, 0, - 0, 0, 12, 0, 0, 0, 70, 2, 16, 0, 1, 0, - 0, 0, 56, 0, 0, 8, - 114, 0, 16, 0, 1, 0, - 0, 0, 6, 0, 16, 0, - 1, 0, 0, 0, 70, 130, - 32, 0, 1, 0, 0, 0, - 4, 0, 0, 0, 50, 32, - 0, 9, 114, 0, 16, 0, + 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 2, - 16, 0, 1, 0, 0, 0, - 70, 18, 16, 0, 1, 0, + 16, 0, 2, 0, 0, 0, + 56, 0, 0, 7, 114, 32, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 56, 0, - 0, 7, 114, 32, 16, 0, - 0, 0, 0, 0, 70, 2, + 1, 0, 0, 0, 54, 0, + 0, 5, 130, 32, 16, 0, + 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 54, 0, 0, 5, - 130, 32, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 62, 0, - 0, 1, 73, 83, 71, 78, - 228, 0, 0, 0, 8, 0, - 0, 0, 8, 0, 0, 0, - 200, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 212, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 15, 15, 0, 0, - 218, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 3, 3, 0, 0, - 218, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 3, 0, - 0, 0, 7, 7, 0, 0, - 218, 0, 0, 0, 2, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 4, 0, - 0, 0, 7, 0, 0, 0, - 218, 0, 0, 0, 3, 0, + 62, 0, 0, 1, 73, 83, + 71, 78, 228, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 200, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 5, 0, - 0, 0, 7, 0, 0, 0, - 218, 0, 0, 0, 4, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 15, 15, + 0, 0, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 6, 0, - 0, 0, 15, 0, 0, 0, - 218, 0, 0, 0, 5, 0, + 0, 0, 3, 0, 0, 0, + 2, 0, 0, 0, 3, 3, + 0, 0, 218, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 7, 7, + 0, 0, 218, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 4, 0, 0, 0, 7, 0, + 0, 0, 218, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 5, 0, 0, 0, 7, 0, + 0, 0, 218, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 6, 0, 0, 0, 15, 0, + 0, 0, 218, 0, 0, 0, + 5, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 7, 0, 0, 0, 7, 0, + 0, 0, 83, 86, 95, 80, + 79, 83, 73, 84, 73, 79, + 78, 0, 67, 79, 76, 79, + 82, 0, 84, 69, 88, 67, + 79, 79, 82, 68, 0, 171, + 79, 83, 71, 78, 44, 0, + 0, 0, 1, 0, 0, 0, + 8, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 7, 0, - 0, 0, 7, 0, 0, 0, - 83, 86, 95, 80, 79, 83, - 73, 84, 73, 79, 78, 0, - 67, 79, 76, 79, 82, 0, - 84, 69, 88, 67, 79, 79, - 82, 68, 0, 171, 79, 83, - 71, 78, 44, 0, 0, 0, - 1, 0, 0, 0, 8, 0, - 0, 0, 32, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 83, 86, 95, 84, - 97, 114, 103, 101, 116, 0, - 171, 171 + 15, 0, 0, 0, 83, 86, + 95, 84, 97, 114, 103, 101, + 116, 0, 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLPhong_main.inc b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLPhong_main.inc index 91ae6888..72ede18b 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLPhong_main.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLPhong_main.inc @@ -40,50 +40,78 @@ // ps_2_0 def c13, 9.99999975e-005, 0, 0, 0 - dcl t0 - dcl t2.xyz - dcl t4.xyz - mov r0.xyz, c1 + dcl t0 // pixel<4,5,6,7> + dcl t2.xyz // pixel<10,11,12> + dcl t4.xyz // pixel<16,17,18> + +#line 104 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\DGSLPhong.hlsl" + mov r0.xyz, c1 // MaterialVars::MaterialSpecular<0,1,2> mul r1.xyz, r0, c4 mul r2.xyz, r0, c5 + +#line 122 dp3 r0.w, t4, t4 rsq r0.w, r0.w + +#line 101 mad r3.xyz, t4, r0.w, c8 - nrm r4.xyz, r3 - nrm r3.xyz, t2 - dp3_sat r1.w, r3, r4 - mov r2.w, c2.x + nrm r4.xyz, r3 // ::vHalf<0,1,2> + +#line 121 + nrm r3.xyz, t2 // ::worldNormal<0,1,2> + +#line 102 + dp3_sat r1.w, r3, r4 // ::specularAmount<0> + mov r2.w, c2.x // MaterialVars::MaterialSpecularPower<0> max r3.w, r2.w, c13.x pow r2.w, r1.w, r3.w - mul r1.w, r2.w, c11.x - mul r2.xyz, r1.w, r2 + mul r1.w, r2.w, c11.x // ::specularAmount<0> + mul r2.xyz, r1.w, r2 // ::specular<0,1,2> + +#line 101 mad r4.xyz, t4, r0.w, c7 mad r5.xyz, t4, r0.w, c9 - nrm r6.xyz, r5 - dp3_sat r0.w, r3, r6 + nrm r6.xyz, r5 // ::vHalf<0,1,2> + dp3_sat r0.w, r3, r6 // ::specularAmount<0> pow r1.w, r0.w, r3.w - mul r0.w, r1.w, c12.x - nrm r5.xyz, r4 - dp3_sat r1.w, r3, r5 + mul r0.w, r1.w, c12.x // ::specularAmount<0> + nrm r5.xyz, r4 // ::vHalf<0,1,2> + dp3_sat r1.w, r3, r5 // ::specularAmount<0> pow r2.w, r1.w, r3.w - mul r1.w, r2.w, c10.x - mad r1.xyz, r1, r1.w, r2 + mul r1.w, r2.w, c10.x // ::specularAmount<0> + +#line 130 + mad r1.xyz, r1, r1.w, r2 // ::local4<0,1,2> + +#line 104 mul r0.xyz, r0, c6 - mad r0.xyz, r0, r0.w, r1 - dp3_sat r0.w, c7, r3 + +#line 130 + mad r0.xyz, r0, r0.w, r1 // ::local4<0,1,2> + +#line 82 + dp3_sat r0.w, c7, r3 // ::diffuseAmount<0> mul r1.xyz, r0.w, c4 - mul r1.xyz, r1, t0 - mov r2.xyz, c0 - mad r1.xyz, r2, c3, r1 - dp3_sat r0.w, c8, r3 - dp3_sat r1.w, c9, r3 + mul r1.xyz, r1, t0 // ::diffuse<0,1,2> + +#line 129 + mov r2.xyz, c0 // MaterialVars::MaterialAmbient<0,1,2> + mad r1.xyz, r2, c3, r1 // ::local1<0,1,2> + +#line 82 + dp3_sat r0.w, c8, r3 // ::diffuseAmount<0> + dp3_sat r1.w, c9, r3 // ::diffuseAmount<0> mul r2.xyz, r1.w, c6 mul r3.xyz, r0.w, c5 - mad r1.xyz, r3, t0, r1 - mad_sat r1.xyz, r2, t0, r1 - add r0.xyz, r0, r1 + +#line 129 + mad r1.xyz, r3, t0, r1 // ::local1<0,1,2> + mad_sat r1.xyz, r2, t0, r1 // ::local1<0,1,2> + +#line 134 + add r0.xyz, r0, r1 // CombineRGBWithAlpha::rgb<0,1,2> mov r0.w, t0.w - mov oC0, r0 + mov oC0, r0 // ::main<0,1,2,3> // approximately 55 instruction slots used ps_4_0 @@ -151,17 +179,17 @@ ret const BYTE DGSLPhong_main[] = { - 68, 88, 66, 67, 192, 92, - 10, 227, 116, 179, 173, 54, - 64, 25, 7, 160, 209, 177, - 147, 171, 1, 0, 0, 0, - 196, 10, 0, 0, 4, 0, + 68, 88, 66, 67, 17, 77, + 112, 60, 162, 43, 70, 93, + 242, 209, 41, 52, 161, 117, + 224, 183, 1, 0, 0, 0, + 8, 17, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 112, 3, 0, 0, 164, 9, - 0, 0, 144, 10, 0, 0, - 65, 111, 110, 57, 56, 3, - 0, 0, 56, 3, 0, 0, - 0, 2, 255, 255, 204, 2, + 180, 9, 0, 0, 232, 15, + 0, 0, 212, 16, 0, 0, + 65, 111, 110, 57, 124, 9, + 0, 0, 124, 9, 0, 0, + 0, 2, 255, 255, 16, 9, 0, 0, 108, 0, 0, 0, 6, 0, 36, 0, 0, 0, 108, 0, 0, 0, 108, 0, @@ -179,436 +207,703 @@ const BYTE DGSLPhong_main[] = 0, 0, 1, 0, 13, 0, 3, 0, 10, 0, 0, 0, 0, 0, 0, 2, 255, 255, - 81, 0, 0, 5, 13, 0, - 15, 160, 23, 183, 209, 56, + 254, 255, 144, 1, 68, 66, + 85, 71, 40, 0, 0, 0, + 20, 6, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 116, 0, 0, 0, 45, 0, + 0, 0, 120, 0, 0, 0, + 14, 0, 0, 0, 252, 4, + 0, 0, 36, 3, 0, 0, + 67, 58, 92, 65, 84, 71, + 32, 83, 97, 109, 112, 108, + 101, 32, 68, 101, 118, 101, + 108, 111, 112, 109, 101, 110, + 116, 92, 115, 116, 95, 100, + 101, 118, 92, 75, 105, 116, + 115, 92, 68, 105, 114, 101, + 99, 116, 88, 84, 75, 92, + 83, 114, 99, 92, 83, 104, + 97, 100, 101, 114, 115, 92, + 68, 71, 83, 76, 80, 104, + 111, 110, 103, 46, 104, 108, + 115, 108, 0, 171, 40, 0, + 0, 0, 0, 0, 255, 255, + 72, 6, 0, 0, 0, 0, + 255, 255, 96, 6, 0, 0, + 0, 0, 255, 255, 108, 6, + 0, 0, 0, 0, 255, 255, + 120, 6, 0, 0, 104, 0, + 0, 0, 132, 6, 0, 0, + 104, 0, 0, 0, 144, 6, + 0, 0, 104, 0, 0, 0, + 160, 6, 0, 0, 122, 0, + 0, 0, 176, 6, 0, 0, + 122, 0, 0, 0, 192, 6, + 0, 0, 101, 0, 0, 0, + 204, 6, 0, 0, 101, 0, + 0, 0, 224, 6, 0, 0, + 121, 0, 0, 0, 236, 6, + 0, 0, 102, 0, 0, 0, + 248, 6, 0, 0, 103, 0, + 0, 0, 8, 7, 0, 0, + 103, 0, 0, 0, 20, 7, + 0, 0, 103, 0, 0, 0, + 36, 7, 0, 0, 103, 0, + 0, 0, 52, 7, 0, 0, + 104, 0, 0, 0, 68, 7, + 0, 0, 101, 0, 0, 0, + 84, 7, 0, 0, 101, 0, + 0, 0, 104, 7, 0, 0, + 101, 0, 0, 0, 124, 7, + 0, 0, 102, 0, 0, 0, + 136, 7, 0, 0, 103, 0, + 0, 0, 152, 7, 0, 0, + 103, 0, 0, 0, 168, 7, + 0, 0, 101, 0, 0, 0, + 184, 7, 0, 0, 102, 0, + 0, 0, 196, 7, 0, 0, + 103, 0, 0, 0, 212, 7, + 0, 0, 103, 0, 0, 0, + 228, 7, 0, 0, 130, 0, + 0, 0, 244, 7, 0, 0, + 104, 0, 0, 0, 8, 8, + 0, 0, 130, 0, 0, 0, + 24, 8, 0, 0, 82, 0, + 0, 0, 44, 8, 0, 0, + 83, 0, 0, 0, 60, 8, + 0, 0, 83, 0, 0, 0, + 76, 8, 0, 0, 129, 0, + 0, 0, 92, 8, 0, 0, + 129, 0, 0, 0, 104, 8, + 0, 0, 82, 0, 0, 0, + 124, 8, 0, 0, 82, 0, + 0, 0, 140, 8, 0, 0, + 83, 0, 0, 0, 156, 8, + 0, 0, 83, 0, 0, 0, + 172, 8, 0, 0, 129, 0, + 0, 0, 188, 8, 0, 0, + 129, 0, 0, 0, 208, 8, + 0, 0, 134, 0, 0, 0, + 228, 8, 0, 0, 134, 0, + 0, 0, 244, 8, 0, 0, + 134, 0, 0, 0, 0, 9, + 0, 0, 77, 97, 116, 101, + 114, 105, 97, 108, 86, 97, + 114, 115, 0, 77, 97, 116, + 101, 114, 105, 97, 108, 65, + 109, 98, 105, 101, 110, 116, + 0, 171, 171, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 34, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 77, 97, 116, 101, + 114, 105, 97, 108, 83, 112, + 101, 99, 117, 108, 97, 114, + 0, 171, 171, 171, 4, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 77, 97, + 116, 101, 114, 105, 97, 108, + 83, 112, 101, 99, 117, 108, + 97, 114, 80, 111, 119, 101, + 114, 0, 171, 171, 0, 0, + 3, 0, 1, 0, 1, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 13, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 0, 0, 100, 105, 102, 102, + 117, 115, 101, 0, 1, 0, + 3, 0, 1, 0, 3, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 33, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 100, 105, 102, 102, + 117, 115, 101, 65, 109, 111, + 117, 110, 116, 0, 171, 171, + 0, 0, 3, 0, 1, 0, + 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 31, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 0, 0, 36, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 0, 0, 37, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 0, 0, 108, 111, + 99, 97, 108, 49, 0, 171, + 35, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 40, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 41, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 108, 111, 99, 97, 108, 52, + 0, 171, 28, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 30, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 109, 97, 105, 110, + 0, 102, 114, 97, 103, 109, + 101, 110, 116, 0, 171, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 41, 3, + 0, 0, 52, 3, 0, 0, + 5, 0, 0, 0, 1, 0, + 4, 0, 1, 0, 1, 0, + 68, 3, 0, 0, 44, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 3, 0, 112, 105, + 120, 101, 108, 0, 112, 111, + 115, 0, 117, 118, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 2, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 119, 111, 114, 108, 100, 78, + 111, 114, 109, 0, 119, 111, + 114, 108, 100, 80, 111, 115, + 0, 116, 111, 69, 121, 101, + 0, 116, 97, 110, 103, 101, + 110, 116, 0, 110, 111, 114, + 109, 97, 108, 0, 110, 3, + 0, 0, 52, 3, 0, 0, + 112, 2, 0, 0, 52, 3, + 0, 0, 114, 3, 0, 0, + 120, 3, 0, 0, 136, 3, + 0, 0, 120, 2, 0, 0, + 146, 3, 0, 0, 120, 2, + 0, 0, 155, 3, 0, 0, + 120, 2, 0, 0, 161, 3, + 0, 0, 52, 3, 0, 0, + 169, 3, 0, 0, 120, 2, + 0, 0, 5, 0, 0, 0, + 1, 0, 26, 0, 1, 0, + 8, 0, 176, 3, 0, 0, + 1, 0, 0, 0, 4, 0, + 5, 0, 6, 0, 7, 0, + 2, 0, 0, 0, 10, 0, + 11, 0, 12, 0, 255, 255, + 3, 0, 0, 0, 16, 0, + 17, 0, 18, 0, 255, 255, + 67, 111, 109, 98, 105, 110, + 101, 82, 71, 66, 87, 105, + 116, 104, 65, 108, 112, 104, + 97, 0, 114, 103, 98, 0, + 42, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 115, 112, 101, 99, 117, 108, + 97, 114, 0, 171, 171, 171, + 17, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 115, 112, 101, 99, 117, 108, + 97, 114, 65, 109, 111, 117, + 110, 116, 0, 171, 12, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 0, 0, 16, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 0, 0, 21, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 0, 0, 23, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 0, 0, 25, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 0, 0, 27, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 0, 0, 118, 72, + 97, 108, 102, 0, 171, 171, + 10, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 20, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 24, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 119, 111, 114, 108, 100, 78, + 111, 114, 109, 97, 108, 0, + 11, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 224, 1, 0, 0, 237, 1, + 0, 0, 0, 2, 0, 0, + 1, 0, 0, 0, 16, 2, + 0, 0, 224, 1, 0, 0, + 28, 2, 0, 0, 0, 2, + 0, 0, 1, 0, 0, 0, + 48, 2, 0, 0, 224, 1, + 0, 0, 60, 2, 0, 0, + 84, 2, 0, 0, 1, 0, + 0, 0, 100, 2, 0, 0, + 0, 0, 0, 0, 112, 2, + 0, 0, 120, 2, 0, 0, + 1, 0, 0, 0, 136, 2, 0, 0, 0, 0, 0, 0, + 148, 2, 0, 0, 164, 2, + 0, 0, 3, 0, 0, 0, + 180, 2, 0, 0, 0, 0, + 0, 0, 216, 2, 0, 0, + 120, 2, 0, 0, 3, 0, + 0, 0, 224, 2, 0, 0, + 0, 0, 0, 0, 4, 3, + 0, 0, 120, 2, 0, 0, + 2, 0, 0, 0, 12, 3, 0, 0, 0, 0, 0, 0, - 31, 0, 0, 2, 0, 0, - 0, 128, 0, 0, 15, 176, - 31, 0, 0, 2, 0, 0, - 0, 128, 2, 0, 7, 176, - 31, 0, 0, 2, 0, 0, - 0, 128, 4, 0, 7, 176, - 1, 0, 0, 2, 0, 0, - 7, 128, 1, 0, 228, 160, - 5, 0, 0, 3, 1, 0, - 7, 128, 0, 0, 228, 128, - 4, 0, 228, 160, 5, 0, - 0, 3, 2, 0, 7, 128, - 0, 0, 228, 128, 5, 0, - 228, 160, 8, 0, 0, 3, - 0, 0, 8, 128, 4, 0, - 228, 176, 4, 0, 228, 176, - 7, 0, 0, 2, 0, 0, - 8, 128, 0, 0, 255, 128, - 4, 0, 0, 4, 3, 0, - 7, 128, 4, 0, 228, 176, - 0, 0, 255, 128, 8, 0, - 228, 160, 36, 0, 0, 2, - 4, 0, 7, 128, 3, 0, - 228, 128, 36, 0, 0, 2, - 3, 0, 7, 128, 2, 0, - 228, 176, 8, 0, 0, 3, - 1, 0, 24, 128, 3, 0, - 228, 128, 4, 0, 228, 128, - 1, 0, 0, 2, 2, 0, - 8, 128, 2, 0, 0, 160, - 11, 0, 0, 3, 3, 0, - 8, 128, 2, 0, 255, 128, - 13, 0, 0, 160, 32, 0, - 0, 3, 2, 0, 8, 128, - 1, 0, 255, 128, 3, 0, - 255, 128, 5, 0, 0, 3, - 1, 0, 8, 128, 2, 0, - 255, 128, 11, 0, 0, 160, + 36, 3, 0, 0, 76, 3, + 0, 0, 1, 0, 0, 0, + 92, 3, 0, 0, 36, 3, + 0, 0, 104, 3, 0, 0, + 240, 3, 0, 0, 3, 0, + 0, 0, 0, 4, 0, 0, + 36, 4, 0, 0, 56, 4, + 0, 0, 120, 2, 0, 0, + 1, 0, 0, 0, 60, 4, + 0, 0, 0, 0, 0, 0, + 72, 4, 0, 0, 120, 2, + 0, 0, 1, 0, 0, 0, + 84, 4, 0, 0, 0, 0, + 0, 0, 96, 4, 0, 0, + 164, 2, 0, 0, 6, 0, + 0, 0, 112, 4, 0, 0, + 0, 0, 0, 0, 184, 4, + 0, 0, 120, 2, 0, 0, + 3, 0, 0, 0, 192, 4, + 0, 0, 0, 0, 0, 0, + 228, 4, 0, 0, 120, 2, + 0, 0, 1, 0, 0, 0, + 240, 4, 0, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 81, 0, 0, 5, + 13, 0, 15, 160, 23, 183, + 209, 56, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 31, 0, 0, 2, + 0, 0, 0, 128, 0, 0, + 15, 176, 31, 0, 0, 2, + 0, 0, 0, 128, 2, 0, + 7, 176, 31, 0, 0, 2, + 0, 0, 0, 128, 4, 0, + 7, 176, 1, 0, 0, 2, + 0, 0, 7, 128, 1, 0, + 228, 160, 5, 0, 0, 3, + 1, 0, 7, 128, 0, 0, + 228, 128, 4, 0, 228, 160, 5, 0, 0, 3, 2, 0, - 7, 128, 1, 0, 255, 128, - 2, 0, 228, 128, 4, 0, - 0, 4, 4, 0, 7, 128, - 4, 0, 228, 176, 0, 0, - 255, 128, 7, 0, 228, 160, - 4, 0, 0, 4, 5, 0, - 7, 128, 4, 0, 228, 176, - 0, 0, 255, 128, 9, 0, - 228, 160, 36, 0, 0, 2, - 6, 0, 7, 128, 5, 0, - 228, 128, 8, 0, 0, 3, - 0, 0, 24, 128, 3, 0, - 228, 128, 6, 0, 228, 128, - 32, 0, 0, 3, 1, 0, - 8, 128, 0, 0, 255, 128, - 3, 0, 255, 128, 5, 0, + 7, 128, 0, 0, 228, 128, + 5, 0, 228, 160, 8, 0, 0, 3, 0, 0, 8, 128, - 1, 0, 255, 128, 12, 0, - 0, 160, 36, 0, 0, 2, - 5, 0, 7, 128, 4, 0, - 228, 128, 8, 0, 0, 3, - 1, 0, 24, 128, 3, 0, - 228, 128, 5, 0, 228, 128, + 4, 0, 228, 176, 4, 0, + 228, 176, 7, 0, 0, 2, + 0, 0, 8, 128, 0, 0, + 255, 128, 4, 0, 0, 4, + 3, 0, 7, 128, 4, 0, + 228, 176, 0, 0, 255, 128, + 8, 0, 228, 160, 36, 0, + 0, 2, 4, 0, 7, 128, + 3, 0, 228, 128, 36, 0, + 0, 2, 3, 0, 7, 128, + 2, 0, 228, 176, 8, 0, + 0, 3, 1, 0, 24, 128, + 3, 0, 228, 128, 4, 0, + 228, 128, 1, 0, 0, 2, + 2, 0, 8, 128, 2, 0, + 0, 160, 11, 0, 0, 3, + 3, 0, 8, 128, 2, 0, + 255, 128, 13, 0, 0, 160, 32, 0, 0, 3, 2, 0, 8, 128, 1, 0, 255, 128, 3, 0, 255, 128, 5, 0, 0, 3, 1, 0, 8, 128, - 2, 0, 255, 128, 10, 0, - 0, 160, 4, 0, 0, 4, - 1, 0, 7, 128, 1, 0, - 228, 128, 1, 0, 255, 128, - 2, 0, 228, 128, 5, 0, - 0, 3, 0, 0, 7, 128, - 0, 0, 228, 128, 6, 0, + 2, 0, 255, 128, 11, 0, + 0, 160, 5, 0, 0, 3, + 2, 0, 7, 128, 1, 0, + 255, 128, 2, 0, 228, 128, + 4, 0, 0, 4, 4, 0, + 7, 128, 4, 0, 228, 176, + 0, 0, 255, 128, 7, 0, 228, 160, 4, 0, 0, 4, - 0, 0, 7, 128, 0, 0, - 228, 128, 0, 0, 255, 128, - 1, 0, 228, 128, 8, 0, + 5, 0, 7, 128, 4, 0, + 228, 176, 0, 0, 255, 128, + 9, 0, 228, 160, 36, 0, + 0, 2, 6, 0, 7, 128, + 5, 0, 228, 128, 8, 0, 0, 3, 0, 0, 24, 128, - 7, 0, 228, 160, 3, 0, - 228, 128, 5, 0, 0, 3, - 1, 0, 7, 128, 0, 0, - 255, 128, 4, 0, 228, 160, + 3, 0, 228, 128, 6, 0, + 228, 128, 32, 0, 0, 3, + 1, 0, 8, 128, 0, 0, + 255, 128, 3, 0, 255, 128, + 5, 0, 0, 3, 0, 0, + 8, 128, 1, 0, 255, 128, + 12, 0, 0, 160, 36, 0, + 0, 2, 5, 0, 7, 128, + 4, 0, 228, 128, 8, 0, + 0, 3, 1, 0, 24, 128, + 3, 0, 228, 128, 5, 0, + 228, 128, 32, 0, 0, 3, + 2, 0, 8, 128, 1, 0, + 255, 128, 3, 0, 255, 128, 5, 0, 0, 3, 1, 0, - 7, 128, 1, 0, 228, 128, - 0, 0, 228, 176, 1, 0, - 0, 2, 2, 0, 7, 128, - 0, 0, 228, 160, 4, 0, + 8, 128, 2, 0, 255, 128, + 10, 0, 0, 160, 4, 0, 0, 4, 1, 0, 7, 128, - 2, 0, 228, 128, 3, 0, - 228, 160, 1, 0, 228, 128, + 1, 0, 228, 128, 1, 0, + 255, 128, 2, 0, 228, 128, + 5, 0, 0, 3, 0, 0, + 7, 128, 0, 0, 228, 128, + 6, 0, 228, 160, 4, 0, + 0, 4, 0, 0, 7, 128, + 0, 0, 228, 128, 0, 0, + 255, 128, 1, 0, 228, 128, 8, 0, 0, 3, 0, 0, - 24, 128, 8, 0, 228, 160, - 3, 0, 228, 128, 8, 0, - 0, 3, 1, 0, 24, 128, - 9, 0, 228, 160, 3, 0, - 228, 128, 5, 0, 0, 3, - 2, 0, 7, 128, 1, 0, - 255, 128, 6, 0, 228, 160, - 5, 0, 0, 3, 3, 0, - 7, 128, 0, 0, 255, 128, - 5, 0, 228, 160, 4, 0, - 0, 4, 1, 0, 7, 128, - 3, 0, 228, 128, 0, 0, - 228, 176, 1, 0, 228, 128, + 24, 128, 7, 0, 228, 160, + 3, 0, 228, 128, 5, 0, + 0, 3, 1, 0, 7, 128, + 0, 0, 255, 128, 4, 0, + 228, 160, 5, 0, 0, 3, + 1, 0, 7, 128, 1, 0, + 228, 128, 0, 0, 228, 176, + 1, 0, 0, 2, 2, 0, + 7, 128, 0, 0, 228, 160, 4, 0, 0, 4, 1, 0, - 23, 128, 2, 0, 228, 128, + 7, 128, 2, 0, 228, 128, + 3, 0, 228, 160, 1, 0, + 228, 128, 8, 0, 0, 3, + 0, 0, 24, 128, 8, 0, + 228, 160, 3, 0, 228, 128, + 8, 0, 0, 3, 1, 0, + 24, 128, 9, 0, 228, 160, + 3, 0, 228, 128, 5, 0, + 0, 3, 2, 0, 7, 128, + 1, 0, 255, 128, 6, 0, + 228, 160, 5, 0, 0, 3, + 3, 0, 7, 128, 0, 0, + 255, 128, 5, 0, 228, 160, + 4, 0, 0, 4, 1, 0, + 7, 128, 3, 0, 228, 128, 0, 0, 228, 176, 1, 0, - 228, 128, 2, 0, 0, 3, - 0, 0, 7, 128, 0, 0, - 228, 128, 1, 0, 228, 128, - 1, 0, 0, 2, 0, 0, - 8, 128, 0, 0, 255, 176, - 1, 0, 0, 2, 0, 8, - 15, 128, 0, 0, 228, 128, - 255, 255, 0, 0, 83, 72, - 68, 82, 44, 6, 0, 0, - 64, 0, 0, 0, 139, 1, + 228, 128, 4, 0, 0, 4, + 1, 0, 23, 128, 2, 0, + 228, 128, 0, 0, 228, 176, + 1, 0, 228, 128, 2, 0, + 0, 3, 0, 0, 7, 128, + 0, 0, 228, 128, 1, 0, + 228, 128, 1, 0, 0, 2, + 0, 0, 8, 128, 0, 0, + 255, 176, 1, 0, 0, 2, + 0, 8, 15, 128, 0, 0, + 228, 128, 255, 255, 0, 0, + 83, 72, 68, 82, 44, 6, + 0, 0, 64, 0, 0, 0, + 139, 1, 0, 0, 89, 0, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 5, 0, 0, 0, 89, 0, 0, 4, - 70, 142, 32, 0, 0, 0, - 0, 0, 5, 0, 0, 0, - 89, 0, 0, 4, 70, 142, - 32, 0, 1, 0, 0, 0, - 16, 0, 0, 0, 98, 16, - 0, 3, 242, 16, 16, 0, - 1, 0, 0, 0, 98, 16, - 0, 3, 114, 16, 16, 0, - 3, 0, 0, 0, 98, 16, - 0, 3, 114, 16, 16, 0, - 5, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 0, 0, 0, 0, 104, 0, - 0, 2, 5, 0, 0, 0, - 56, 0, 0, 9, 114, 0, - 16, 0, 0, 0, 0, 0, - 70, 130, 32, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 70, 130, 32, 0, 1, 0, - 0, 0, 1, 0, 0, 0, - 56, 0, 0, 9, 114, 0, + 70, 142, 32, 0, 1, 0, + 0, 0, 16, 0, 0, 0, + 98, 16, 0, 3, 242, 16, 16, 0, 1, 0, 0, 0, - 70, 130, 32, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 70, 130, 32, 0, 1, 0, - 0, 0, 2, 0, 0, 0, - 16, 0, 0, 7, 130, 0, + 98, 16, 0, 3, 114, 16, + 16, 0, 3, 0, 0, 0, + 98, 16, 0, 3, 114, 16, + 16, 0, 5, 0, 0, 0, + 101, 0, 0, 3, 242, 32, 16, 0, 0, 0, 0, 0, - 70, 18, 16, 0, 5, 0, + 104, 0, 0, 2, 5, 0, + 0, 0, 56, 0, 0, 9, + 114, 0, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 70, 130, 32, 0, + 1, 0, 0, 0, 1, 0, + 0, 0, 56, 0, 0, 9, + 114, 0, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 70, 130, 32, 0, + 1, 0, 0, 0, 2, 0, + 0, 0, 16, 0, 0, 7, + 130, 0, 16, 0, 0, 0, 0, 0, 70, 18, 16, 0, - 5, 0, 0, 0, 68, 0, - 0, 5, 130, 0, 16, 0, - 0, 0, 0, 0, 58, 0, + 5, 0, 0, 0, 70, 18, + 16, 0, 5, 0, 0, 0, + 68, 0, 0, 5, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 50, 0, 0, 10, + 114, 0, 16, 0, 2, 0, + 0, 0, 70, 18, 16, 0, + 5, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, - 50, 0, 0, 10, 114, 0, + 70, 130, 32, 0, 1, 0, + 0, 0, 10, 0, 0, 0, + 16, 0, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 68, 0, + 0, 5, 130, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 56, 0, 0, 7, 114, 0, 16, 0, 2, 0, 0, 0, - 70, 18, 16, 0, 5, 0, - 0, 0, 246, 15, 16, 0, - 0, 0, 0, 0, 70, 130, - 32, 0, 1, 0, 0, 0, - 10, 0, 0, 0, 16, 0, + 246, 15, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 2, 0, 0, 0, - 70, 2, 16, 0, 2, 0, + 1, 0, 0, 0, 70, 18, + 16, 0, 3, 0, 0, 0, + 70, 18, 16, 0, 3, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 1, 0, 0, 0, 58, 0, 16, 0, 1, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, - 2, 0, 0, 0, 246, 15, + 3, 0, 0, 0, 246, 15, 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 2, 0, - 0, 0, 16, 0, 0, 7, + 70, 18, 16, 0, 3, 0, + 0, 0, 16, 32, 0, 7, 130, 0, 16, 0, 1, 0, - 0, 0, 70, 18, 16, 0, - 3, 0, 0, 0, 70, 18, - 16, 0, 3, 0, 0, 0, - 68, 0, 0, 5, 130, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 47, 0, 0, 5, 130, 0, 16, 0, 1, 0, 0, 0, 58, 0, 16, 0, 1, 0, - 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 3, 0, - 0, 0, 246, 15, 16, 0, - 1, 0, 0, 0, 70, 18, - 16, 0, 3, 0, 0, 0, - 16, 32, 0, 7, 130, 0, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 3, 0, - 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 47, 0, - 0, 5, 130, 0, 16, 0, + 0, 0, 52, 0, 0, 8, + 18, 0, 16, 0, 2, 0, + 0, 0, 10, 128, 32, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 1, 64, 0, 0, + 23, 183, 209, 56, 56, 0, + 0, 7, 130, 0, 16, 0, 1, 0, 0, 0, 58, 0, 16, 0, 1, 0, 0, 0, - 52, 0, 0, 8, 18, 0, - 16, 0, 2, 0, 0, 0, - 10, 128, 32, 0, 0, 0, - 0, 0, 4, 0, 0, 0, - 1, 64, 0, 0, 23, 183, - 209, 56, 56, 0, 0, 7, + 10, 0, 16, 0, 2, 0, + 0, 0, 25, 0, 0, 5, 130, 0, 16, 0, 1, 0, 0, 0, 58, 0, 16, 0, - 1, 0, 0, 0, 10, 0, - 16, 0, 2, 0, 0, 0, - 25, 0, 0, 5, 130, 0, + 1, 0, 0, 0, 56, 0, + 0, 8, 130, 0, 16, 0, + 1, 0, 0, 0, 58, 0, 16, 0, 1, 0, 0, 0, - 58, 0, 16, 0, 1, 0, - 0, 0, 56, 0, 0, 8, - 130, 0, 16, 0, 1, 0, - 0, 0, 58, 0, 16, 0, - 1, 0, 0, 0, 10, 128, - 32, 0, 1, 0, 0, 0, - 14, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, - 1, 0, 0, 0, 246, 15, + 10, 128, 32, 0, 1, 0, + 0, 0, 14, 0, 0, 0, + 56, 0, 0, 7, 114, 0, 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 1, 0, + 246, 15, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 50, 0, + 0, 10, 226, 0, 16, 0, + 2, 0, 0, 0, 6, 25, + 16, 0, 5, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 6, 137, 32, 0, + 1, 0, 0, 0, 9, 0, 0, 0, 50, 0, 0, 10, - 226, 0, 16, 0, 2, 0, - 0, 0, 6, 25, 16, 0, + 114, 0, 16, 0, 4, 0, + 0, 0, 70, 18, 16, 0, 5, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, - 6, 137, 32, 0, 1, 0, - 0, 0, 9, 0, 0, 0, - 50, 0, 0, 10, 114, 0, - 16, 0, 4, 0, 0, 0, - 70, 18, 16, 0, 5, 0, - 0, 0, 246, 15, 16, 0, - 0, 0, 0, 0, 70, 130, - 32, 0, 1, 0, 0, 0, - 11, 0, 0, 0, 16, 0, - 0, 7, 130, 0, 16, 0, - 0, 0, 0, 0, 150, 7, + 70, 130, 32, 0, 1, 0, + 0, 0, 11, 0, 0, 0, + 16, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 150, 7, 16, 0, 2, 0, + 0, 0, 150, 7, 16, 0, + 2, 0, 0, 0, 68, 0, + 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 56, 0, 0, 7, 226, 0, 16, 0, 2, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 86, 14, 16, 0, + 2, 0, 0, 0, 16, 32, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 3, 0, 0, 0, 150, 7, 16, 0, 2, 0, - 0, 0, 68, 0, 0, 5, + 0, 0, 47, 0, 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 56, 0, - 0, 7, 226, 0, 16, 0, - 2, 0, 0, 0, 246, 15, - 16, 0, 0, 0, 0, 0, - 86, 14, 16, 0, 2, 0, - 0, 0, 16, 32, 0, 7, - 130, 0, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 3, 0, 0, 0, 150, 7, - 16, 0, 2, 0, 0, 0, - 47, 0, 0, 5, 130, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 7, + 10, 0, 16, 0, 2, 0, + 0, 0, 25, 0, 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 10, 0, - 16, 0, 2, 0, 0, 0, - 25, 0, 0, 5, 130, 0, + 0, 0, 0, 0, 56, 0, + 0, 8, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 8, - 130, 0, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 10, 128, - 32, 0, 1, 0, 0, 0, - 13, 0, 0, 0, 50, 0, - 0, 9, 114, 0, 16, 0, + 10, 128, 32, 0, 1, 0, + 0, 0, 13, 0, 0, 0, + 50, 0, 0, 9, 114, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 56, 0, 0, 9, 114, 0, + 16, 0, 1, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 70, 130, 32, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 16, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, - 246, 15, 16, 0, 0, 0, + 70, 2, 16, 0, 4, 0, 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 56, 0, - 0, 9, 114, 0, 16, 0, - 1, 0, 0, 0, 70, 130, - 32, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 70, 130, - 32, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 16, 0, + 4, 0, 0, 0, 68, 0, + 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 56, 0, 0, 7, 226, 0, + 16, 0, 2, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 6, 9, 16, 0, + 4, 0, 0, 0, 16, 32, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, 70, 2, - 16, 0, 4, 0, 0, 0, - 70, 2, 16, 0, 4, 0, - 0, 0, 68, 0, 0, 5, + 16, 0, 3, 0, 0, 0, + 150, 7, 16, 0, 2, 0, + 0, 0, 47, 0, 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 56, 0, - 0, 7, 226, 0, 16, 0, - 2, 0, 0, 0, 246, 15, - 16, 0, 0, 0, 0, 0, - 6, 9, 16, 0, 4, 0, - 0, 0, 16, 32, 0, 7, - 130, 0, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 3, 0, 0, 0, 150, 7, - 16, 0, 2, 0, 0, 0, - 47, 0, 0, 5, 130, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 7, + 10, 0, 16, 0, 2, 0, + 0, 0, 25, 0, 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 10, 0, - 16, 0, 2, 0, 0, 0, - 25, 0, 0, 5, 130, 0, + 0, 0, 0, 0, 56, 0, + 0, 8, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 8, - 130, 0, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 10, 128, - 32, 0, 1, 0, 0, 0, - 15, 0, 0, 0, 50, 0, - 0, 9, 114, 0, 16, 0, + 10, 128, 32, 0, 1, 0, + 0, 0, 15, 0, 0, 0, + 50, 0, 0, 9, 114, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, 70, 2, - 16, 0, 1, 0, 0, 0, - 246, 15, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 16, 32, - 0, 8, 130, 0, 16, 0, + 16, 0, 0, 0, 0, 0, + 16, 32, 0, 8, 130, 0, + 16, 0, 0, 0, 0, 0, + 70, 130, 32, 0, 1, 0, + 0, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 56, 0, 0, 8, + 114, 0, 16, 0, 1, 0, + 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, 70, 130, 32, 0, 1, 0, 0, 0, - 9, 0, 0, 0, 70, 2, - 16, 0, 3, 0, 0, 0, - 56, 0, 0, 8, 114, 0, + 1, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 1, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, - 246, 15, 16, 0, 0, 0, - 0, 0, 70, 130, 32, 0, - 1, 0, 0, 0, 1, 0, - 0, 0, 56, 0, 0, 7, + 70, 18, 16, 0, 1, 0, + 0, 0, 50, 0, 0, 11, 114, 0, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 70, 18, - 16, 0, 1, 0, 0, 0, - 50, 0, 0, 11, 114, 0, - 16, 0, 1, 0, 0, 0, - 70, 130, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 70, 130, 32, 0, 1, 0, + 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 16, 32, 0, 8, - 130, 0, 16, 0, 0, 0, 0, 0, 70, 130, 32, 0, - 1, 0, 0, 0, 10, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 70, 2, 16, 0, - 3, 0, 0, 0, 16, 32, + 1, 0, 0, 0, 16, 32, 0, 8, 130, 0, 16, 0, - 1, 0, 0, 0, 70, 130, + 0, 0, 0, 0, 70, 130, 32, 0, 1, 0, 0, 0, - 11, 0, 0, 0, 70, 2, + 10, 0, 0, 0, 70, 2, 16, 0, 3, 0, 0, 0, - 56, 0, 0, 8, 114, 0, - 16, 0, 2, 0, 0, 0, - 246, 15, 16, 0, 1, 0, - 0, 0, 70, 130, 32, 0, - 1, 0, 0, 0, 3, 0, + 16, 32, 0, 8, 130, 0, + 16, 0, 1, 0, 0, 0, + 70, 130, 32, 0, 1, 0, + 0, 0, 11, 0, 0, 0, + 70, 2, 16, 0, 3, 0, 0, 0, 56, 0, 0, 8, - 114, 0, 16, 0, 3, 0, + 114, 0, 16, 0, 2, 0, 0, 0, 246, 15, 16, 0, - 0, 0, 0, 0, 70, 130, + 1, 0, 0, 0, 70, 130, 32, 0, 1, 0, 0, 0, - 2, 0, 0, 0, 50, 0, - 0, 9, 114, 0, 16, 0, + 3, 0, 0, 0, 56, 0, + 0, 8, 114, 0, 16, 0, + 3, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 70, 130, 32, 0, 1, 0, + 0, 0, 2, 0, 0, 0, + 50, 0, 0, 9, 114, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 2, - 16, 0, 3, 0, 0, 0, - 70, 18, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 50, 32, - 0, 9, 114, 0, 16, 0, + 16, 0, 1, 0, 0, 0, + 50, 32, 0, 9, 114, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 2, - 16, 0, 2, 0, 0, 0, - 70, 18, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 0, 0, - 0, 7, 114, 32, 16, 0, - 0, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 0, 0, 0, 7, 114, 32, 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 54, 0, 0, 5, - 130, 32, 16, 0, 0, 0, - 0, 0, 58, 16, 16, 0, - 1, 0, 0, 0, 62, 0, - 0, 1, 73, 83, 71, 78, - 228, 0, 0, 0, 8, 0, - 0, 0, 8, 0, 0, 0, - 200, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 212, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 15, 15, 0, 0, - 218, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 2, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 54, 0, + 0, 5, 130, 32, 16, 0, + 0, 0, 0, 0, 58, 16, + 16, 0, 1, 0, 0, 0, + 62, 0, 0, 1, 73, 83, + 71, 78, 228, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 200, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, - 218, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 3, 0, - 0, 0, 7, 7, 0, 0, - 218, 0, 0, 0, 2, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 4, 0, - 0, 0, 7, 0, 0, 0, - 218, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 5, 0, - 0, 0, 7, 7, 0, 0, - 218, 0, 0, 0, 4, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 15, 15, + 0, 0, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 6, 0, - 0, 0, 15, 0, 0, 0, - 218, 0, 0, 0, 5, 0, + 0, 0, 3, 0, 0, 0, + 2, 0, 0, 0, 3, 0, + 0, 0, 218, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 7, 7, + 0, 0, 218, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 4, 0, 0, 0, 7, 0, + 0, 0, 218, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 5, 0, 0, 0, 7, 7, + 0, 0, 218, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 6, 0, 0, 0, 15, 0, + 0, 0, 218, 0, 0, 0, + 5, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 7, 0, 0, 0, 7, 0, + 0, 0, 83, 86, 95, 80, + 79, 83, 73, 84, 73, 79, + 78, 0, 67, 79, 76, 79, + 82, 0, 84, 69, 88, 67, + 79, 79, 82, 68, 0, 171, + 79, 83, 71, 78, 44, 0, + 0, 0, 1, 0, 0, 0, + 8, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 7, 0, - 0, 0, 7, 0, 0, 0, - 83, 86, 95, 80, 79, 83, - 73, 84, 73, 79, 78, 0, - 67, 79, 76, 79, 82, 0, - 84, 69, 88, 67, 79, 79, - 82, 68, 0, 171, 79, 83, - 71, 78, 44, 0, 0, 0, - 1, 0, 0, 0, 8, 0, - 0, 0, 32, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 83, 86, 95, 84, - 97, 114, 103, 101, 116, 0, - 171, 171 + 15, 0, 0, 0, 83, 86, + 95, 84, 97, 114, 103, 101, + 116, 0, 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLPhong_mainTk.inc b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLPhong_mainTk.inc index 5a3702c8..c37e2340 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLPhong_mainTk.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLPhong_mainTk.inc @@ -40,53 +40,89 @@ // ps_2_0 def c13, -1, -0, 9.99999975e-005, 0 - dcl t0 - dcl t2.xyz - dcl t4.xyz + dcl t0 // pixel<4,5,6,7> + dcl t2.xyz // pixel<10,11,12> + dcl t4.xyz // pixel<16,17,18> + +#line 158 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\DGSLPhong.hlsl" mul r0.w, t0.w, t0.w cmp r0, -r0.w, c13.x, c13.y texkill r0 + +#line 144 dp3 r0.x, t4, t4 rsq r0.x, r0.x + +#line 101 mad r1.xyz, t4, r0.x, c9 - nrm r2.xyz, r1 - nrm r1.xyz, t2 - dp3_sat r1.w, r1, r2 - dp3_sat r0.y, c7, r1 + nrm r2.xyz, r1 // ::vHalf<0,1,2> + +#line 143 + nrm r1.xyz, t2 // ::worldNormal<0,1,2> + +#line 102 + dp3_sat r1.w, r1, r2 // ::specularAmount<0> + +#line 82 + dp3_sat r0.y, c7, r1 // ::diffuseAmount<0> mul r0.yzw, r0.y, c4.wzyx - mul r0.yzw, r0, t0.wzyx - mov r2.xyz, c0 - mad r0.yzw, r2.wzyx, c3.wzyx, r0 + mul r0.yzw, r0, t0.wzyx // ::diffuse<2,1,0> + +#line 151 + mov r2.xyz, c0 // MaterialVars::MaterialAmbient<0,1,2> + mad r0.yzw, r2.wzyx, c3.wzyx, r0 // ::local1<2,1,0> + +#line 103 mov r2.z, c13.z max r3.w, c2.x, r2.z - dp3_sat r2.x, c8, r1 + +#line 82 + dp3_sat r2.x, c8, r1 // ::diffuseAmount<0> mul r2.xyz, r2.x, c5 - mad r0.yzw, r2.wzyx, t0.wzyx, r0 - dp3_sat r2.x, c9, r1 + +#line 151 + mad r0.yzw, r2.wzyx, t0.wzyx, r0 // ::local1<2,1,0> + +#line 82 + dp3_sat r2.x, c9, r1 // ::diffuseAmount<0> mul r2.xyz, r2.x, c6 - mad_sat r0.yzw, r2.wzyx, t0.wzyx, r0 + +#line 151 + mad_sat r0.yzw, r2.wzyx, t0.wzyx, r0 // ::local1<2,1,0> + +#line 103 pow r2.x, r1.w, r3.w - mul r1.w, r2.x, c12.x + mul r1.w, r2.x, c12.x // ::specularAmount<0> mad r2.xyz, t4, r0.x, c8 - nrm r3.xyz, r2 - dp3_sat r2.x, r1, r3 + nrm r3.xyz, r2 // ::vHalf<0,1,2> + dp3_sat r2.x, r1, r3 // ::specularAmount<0> pow r4.w, r2.x, r3.w - mul r2.x, r4.w, c11.x + mul r2.x, r4.w, c11.x // ::specularAmount<0> mad r3.xyz, t4, r0.x, c7 - nrm r4.xyz, r3 - dp3_sat r0.x, r1, r4 + nrm r4.xyz, r3 // ::vHalf<0,1,2> + dp3_sat r0.x, r1, r4 // ::specularAmount<0> pow r1.x, r0.x, r3.w - mul r0.x, r1.x, c10.x - mov r1.xyz, c1 + mul r0.x, r1.x, c10.x // ::specularAmount<0> + mov r1.xyz, c1 // MaterialVars::MaterialSpecular<0,1,2> mul r2.yzw, r1.wzyx, c5.wzyx - mul r2.xyz, r2.x, r2.wzyx + mul r2.xyz, r2.x, r2.wzyx // ::specular<0,1,2> mul r3.xyz, r1, c4 - mad r2.xyz, r3, r0.x, r2 + +#line 152 + mad r2.xyz, r3, r0.x, r2 // ::local4<0,1,2> + +#line 104 mul r1.xyz, r1, c6 - mad r1.xyz, r1, r1.w, r2 - add r0.xyz, r0.wzyx, r1 + +#line 152 + mad r1.xyz, r1, r1.w, r2 // ::local4<0,1,2> + +#line 156 + add r0.xyz, r0.wzyx, r1 // CombineRGBWithAlpha::rgb<0,1,2> + +#line 160 mov r0.w, t0.w - mov oC0, r0 + mov oC0, r0 // ::mainTk<0,1,2,3> // approximately 58 instruction slots used ps_4_0 @@ -156,17 +192,17 @@ ret const BYTE DGSLPhong_mainTk[] = { - 68, 88, 66, 67, 221, 72, - 234, 251, 154, 213, 166, 22, - 92, 34, 162, 216, 59, 148, - 181, 251, 1, 0, 0, 0, - 24, 11, 0, 0, 4, 0, + 68, 88, 66, 67, 51, 165, + 242, 85, 14, 19, 213, 109, + 6, 209, 238, 155, 101, 203, + 99, 253, 1, 0, 0, 0, + 44, 17, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 156, 3, 0, 0, 248, 9, - 0, 0, 228, 10, 0, 0, - 65, 111, 110, 57, 100, 3, - 0, 0, 100, 3, 0, 0, - 0, 2, 255, 255, 248, 2, + 176, 9, 0, 0, 12, 16, + 0, 0, 248, 16, 0, 0, + 65, 111, 110, 57, 120, 9, + 0, 0, 120, 9, 0, 0, + 0, 2, 255, 255, 12, 9, 0, 0, 108, 0, 0, 0, 6, 0, 36, 0, 0, 0, 108, 0, 0, 0, 108, 0, @@ -184,450 +220,709 @@ const BYTE DGSLPhong_mainTk[] = 0, 0, 1, 0, 13, 0, 3, 0, 10, 0, 0, 0, 0, 0, 0, 2, 255, 255, - 81, 0, 0, 5, 13, 0, - 15, 160, 0, 0, 128, 191, - 0, 0, 0, 128, 23, 183, - 209, 56, 0, 0, 0, 0, - 31, 0, 0, 2, 0, 0, - 0, 128, 0, 0, 15, 176, - 31, 0, 0, 2, 0, 0, - 0, 128, 2, 0, 7, 176, - 31, 0, 0, 2, 0, 0, - 0, 128, 4, 0, 7, 176, + 254, 255, 132, 1, 68, 66, + 85, 71, 40, 0, 0, 0, + 228, 5, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 116, 0, 0, 0, 48, 0, + 0, 0, 120, 0, 0, 0, + 13, 0, 0, 0, 224, 4, + 0, 0, 8, 3, 0, 0, + 67, 58, 92, 65, 84, 71, + 32, 83, 97, 109, 112, 108, + 101, 32, 68, 101, 118, 101, + 108, 111, 112, 109, 101, 110, + 116, 92, 115, 116, 95, 100, + 101, 118, 92, 75, 105, 116, + 115, 92, 68, 105, 114, 101, + 99, 116, 88, 84, 75, 92, + 83, 114, 99, 92, 83, 104, + 97, 100, 101, 114, 115, 92, + 68, 71, 83, 76, 80, 104, + 111, 110, 103, 46, 104, 108, + 115, 108, 0, 171, 40, 0, + 0, 0, 0, 0, 255, 255, + 24, 6, 0, 0, 0, 0, + 255, 255, 48, 6, 0, 0, + 0, 0, 255, 255, 60, 6, + 0, 0, 0, 0, 255, 255, + 72, 6, 0, 0, 158, 0, + 0, 0, 84, 6, 0, 0, + 158, 0, 0, 0, 100, 6, + 0, 0, 158, 0, 0, 0, + 120, 6, 0, 0, 144, 0, + 0, 0, 128, 6, 0, 0, + 144, 0, 0, 0, 144, 6, + 0, 0, 101, 0, 0, 0, + 156, 6, 0, 0, 101, 0, + 0, 0, 176, 6, 0, 0, + 143, 0, 0, 0, 188, 6, + 0, 0, 102, 0, 0, 0, + 200, 6, 0, 0, 82, 0, + 0, 0, 216, 6, 0, 0, + 83, 0, 0, 0, 232, 6, + 0, 0, 83, 0, 0, 0, + 248, 6, 0, 0, 151, 0, + 0, 0, 8, 7, 0, 0, + 151, 0, 0, 0, 20, 7, + 0, 0, 103, 0, 0, 0, + 40, 7, 0, 0, 103, 0, + 0, 0, 52, 7, 0, 0, + 82, 0, 0, 0, 68, 7, + 0, 0, 83, 0, 0, 0, + 84, 7, 0, 0, 151, 0, + 0, 0, 100, 7, 0, 0, + 82, 0, 0, 0, 120, 7, + 0, 0, 83, 0, 0, 0, + 136, 7, 0, 0, 151, 0, + 0, 0, 152, 7, 0, 0, + 103, 0, 0, 0, 172, 7, + 0, 0, 103, 0, 0, 0, + 188, 7, 0, 0, 101, 0, + 0, 0, 204, 7, 0, 0, + 101, 0, 0, 0, 224, 7, + 0, 0, 102, 0, 0, 0, + 236, 7, 0, 0, 103, 0, + 0, 0, 252, 7, 0, 0, + 103, 0, 0, 0, 12, 8, + 0, 0, 101, 0, 0, 0, + 28, 8, 0, 0, 101, 0, + 0, 0, 48, 8, 0, 0, + 102, 0, 0, 0, 60, 8, + 0, 0, 103, 0, 0, 0, + 76, 8, 0, 0, 103, 0, + 0, 0, 92, 8, 0, 0, + 104, 0, 0, 0, 108, 8, + 0, 0, 104, 0, 0, 0, + 120, 8, 0, 0, 104, 0, + 0, 0, 136, 8, 0, 0, + 104, 0, 0, 0, 152, 8, + 0, 0, 152, 0, 0, 0, + 168, 8, 0, 0, 104, 0, + 0, 0, 188, 8, 0, 0, + 152, 0, 0, 0, 204, 8, + 0, 0, 156, 0, 0, 0, + 224, 8, 0, 0, 160, 0, + 0, 0, 240, 8, 0, 0, + 160, 0, 0, 0, 252, 8, + 0, 0, 77, 97, 116, 101, + 114, 105, 97, 108, 86, 97, + 114, 115, 0, 77, 97, 116, + 101, 114, 105, 97, 108, 65, + 109, 98, 105, 101, 110, 116, + 0, 171, 171, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 16, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 77, 97, 116, 101, + 114, 105, 97, 108, 83, 112, + 101, 99, 117, 108, 97, 114, + 0, 171, 171, 171, 38, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 100, 105, + 102, 102, 117, 115, 101, 0, + 1, 0, 3, 0, 1, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 255, 255, 2, 0, + 1, 0, 0, 0, 100, 105, + 102, 102, 117, 115, 101, 65, + 109, 111, 117, 110, 116, 0, + 171, 171, 0, 0, 3, 0, + 1, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 13, 0, 0, 0, 255, 255, + 0, 0, 255, 255, 255, 255, + 20, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 23, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 108, 111, 99, 97, 108, 49, + 0, 171, 17, 0, 0, 0, + 255, 255, 2, 0, 1, 0, + 0, 0, 22, 0, 0, 0, + 255, 255, 2, 0, 1, 0, + 0, 0, 25, 0, 0, 0, + 255, 255, 2, 0, 1, 0, + 0, 0, 108, 111, 99, 97, + 108, 52, 0, 171, 42, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 44, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 109, 97, + 105, 110, 84, 107, 0, 102, + 114, 97, 103, 109, 101, 110, + 116, 0, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 15, 3, 0, 0, 24, 3, + 0, 0, 5, 0, 0, 0, + 1, 0, 4, 0, 1, 0, + 1, 0, 40, 3, 0, 0, + 47, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 112, 105, 120, 101, 108, 0, + 112, 111, 115, 0, 117, 118, + 0, 171, 171, 171, 1, 0, + 3, 0, 1, 0, 2, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 119, 111, 114, 108, + 100, 78, 111, 114, 109, 0, + 119, 111, 114, 108, 100, 80, + 111, 115, 0, 116, 111, 69, + 121, 101, 0, 116, 97, 110, + 103, 101, 110, 116, 0, 110, + 111, 114, 109, 97, 108, 0, + 82, 3, 0, 0, 24, 3, + 0, 0, 84, 2, 0, 0, + 24, 3, 0, 0, 86, 3, + 0, 0, 92, 3, 0, 0, + 108, 3, 0, 0, 92, 2, + 0, 0, 118, 3, 0, 0, + 92, 2, 0, 0, 127, 3, + 0, 0, 92, 2, 0, 0, + 133, 3, 0, 0, 24, 3, + 0, 0, 141, 3, 0, 0, + 92, 2, 0, 0, 5, 0, + 0, 0, 1, 0, 26, 0, + 1, 0, 8, 0, 148, 3, + 0, 0, 1, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 7, 0, 2, 0, 0, 0, + 10, 0, 11, 0, 12, 0, + 255, 255, 3, 0, 0, 0, + 16, 0, 17, 0, 18, 0, + 255, 255, 67, 111, 109, 98, + 105, 110, 101, 82, 71, 66, + 87, 105, 116, 104, 65, 108, + 112, 104, 97, 0, 114, 103, + 98, 0, 45, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 115, 112, 101, 99, + 117, 108, 97, 114, 0, 171, + 171, 171, 40, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 115, 112, 101, 99, + 117, 108, 97, 114, 65, 109, + 111, 117, 110, 116, 0, 171, + 12, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 0, 0, + 27, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 0, 0, + 30, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 32, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 35, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 37, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 118, 72, 97, 108, 102, 0, + 171, 171, 10, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 29, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 34, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 119, 111, 114, 108, + 100, 78, 111, 114, 109, 97, + 108, 0, 11, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 248, 1, 0, 0, + 5, 2, 0, 0, 24, 2, + 0, 0, 1, 0, 0, 0, + 40, 2, 0, 0, 248, 1, + 0, 0, 52, 2, 0, 0, + 24, 2, 0, 0, 1, 0, + 0, 0, 72, 2, 0, 0, + 0, 0, 0, 0, 84, 2, + 0, 0, 92, 2, 0, 0, + 1, 0, 0, 0, 108, 2, + 0, 0, 0, 0, 0, 0, + 120, 2, 0, 0, 136, 2, + 0, 0, 3, 0, 0, 0, + 152, 2, 0, 0, 0, 0, + 0, 0, 188, 2, 0, 0, + 92, 2, 0, 0, 3, 0, + 0, 0, 196, 2, 0, 0, + 0, 0, 0, 0, 232, 2, + 0, 0, 92, 2, 0, 0, + 2, 0, 0, 0, 240, 2, + 0, 0, 0, 0, 0, 0, + 8, 3, 0, 0, 48, 3, + 0, 0, 1, 0, 0, 0, + 64, 3, 0, 0, 8, 3, + 0, 0, 76, 3, 0, 0, + 212, 3, 0, 0, 3, 0, + 0, 0, 228, 3, 0, 0, + 8, 4, 0, 0, 28, 4, + 0, 0, 92, 2, 0, 0, + 1, 0, 0, 0, 32, 4, + 0, 0, 0, 0, 0, 0, + 44, 4, 0, 0, 92, 2, + 0, 0, 1, 0, 0, 0, + 56, 4, 0, 0, 0, 0, + 0, 0, 68, 4, 0, 0, + 136, 2, 0, 0, 6, 0, + 0, 0, 84, 4, 0, 0, + 0, 0, 0, 0, 156, 4, + 0, 0, 92, 2, 0, 0, + 3, 0, 0, 0, 164, 4, + 0, 0, 0, 0, 0, 0, + 200, 4, 0, 0, 92, 2, + 0, 0, 1, 0, 0, 0, + 212, 4, 0, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 81, 0, 0, 5, + 13, 0, 15, 160, 0, 0, + 128, 191, 0, 0, 0, 128, + 23, 183, 209, 56, 0, 0, + 0, 0, 31, 0, 0, 2, + 0, 0, 0, 128, 0, 0, + 15, 176, 31, 0, 0, 2, + 0, 0, 0, 128, 2, 0, + 7, 176, 31, 0, 0, 2, + 0, 0, 0, 128, 4, 0, + 7, 176, 5, 0, 0, 3, + 0, 0, 8, 128, 0, 0, + 255, 176, 0, 0, 255, 176, + 88, 0, 0, 4, 0, 0, + 15, 128, 0, 0, 255, 129, + 13, 0, 0, 160, 13, 0, + 85, 160, 65, 0, 0, 1, + 0, 0, 15, 128, 8, 0, + 0, 3, 0, 0, 1, 128, + 4, 0, 228, 176, 4, 0, + 228, 176, 7, 0, 0, 2, + 0, 0, 1, 128, 0, 0, + 0, 128, 4, 0, 0, 4, + 1, 0, 7, 128, 4, 0, + 228, 176, 0, 0, 0, 128, + 9, 0, 228, 160, 36, 0, + 0, 2, 2, 0, 7, 128, + 1, 0, 228, 128, 36, 0, + 0, 2, 1, 0, 7, 128, + 2, 0, 228, 176, 8, 0, + 0, 3, 1, 0, 24, 128, + 1, 0, 228, 128, 2, 0, + 228, 128, 8, 0, 0, 3, + 0, 0, 18, 128, 7, 0, + 228, 160, 1, 0, 228, 128, 5, 0, 0, 3, 0, 0, - 8, 128, 0, 0, 255, 176, - 0, 0, 255, 176, 88, 0, - 0, 4, 0, 0, 15, 128, - 0, 0, 255, 129, 13, 0, - 0, 160, 13, 0, 85, 160, - 65, 0, 0, 1, 0, 0, - 15, 128, 8, 0, 0, 3, - 0, 0, 1, 128, 4, 0, - 228, 176, 4, 0, 228, 176, - 7, 0, 0, 2, 0, 0, - 1, 128, 0, 0, 0, 128, - 4, 0, 0, 4, 1, 0, - 7, 128, 4, 0, 228, 176, - 0, 0, 0, 128, 9, 0, - 228, 160, 36, 0, 0, 2, - 2, 0, 7, 128, 1, 0, - 228, 128, 36, 0, 0, 2, - 1, 0, 7, 128, 2, 0, - 228, 176, 8, 0, 0, 3, - 1, 0, 24, 128, 1, 0, - 228, 128, 2, 0, 228, 128, - 8, 0, 0, 3, 0, 0, - 18, 128, 7, 0, 228, 160, - 1, 0, 228, 128, 5, 0, + 14, 128, 0, 0, 85, 128, + 4, 0, 27, 160, 5, 0, 0, 3, 0, 0, 14, 128, - 0, 0, 85, 128, 4, 0, - 27, 160, 5, 0, 0, 3, - 0, 0, 14, 128, 0, 0, - 228, 128, 0, 0, 27, 176, - 1, 0, 0, 2, 2, 0, - 7, 128, 0, 0, 228, 160, - 4, 0, 0, 4, 0, 0, - 14, 128, 2, 0, 27, 128, - 3, 0, 27, 160, 0, 0, - 228, 128, 1, 0, 0, 2, - 2, 0, 4, 128, 13, 0, - 170, 160, 11, 0, 0, 3, - 3, 0, 8, 128, 2, 0, - 0, 160, 2, 0, 170, 128, + 0, 0, 228, 128, 0, 0, + 27, 176, 1, 0, 0, 2, + 2, 0, 7, 128, 0, 0, + 228, 160, 4, 0, 0, 4, + 0, 0, 14, 128, 2, 0, + 27, 128, 3, 0, 27, 160, + 0, 0, 228, 128, 1, 0, + 0, 2, 2, 0, 4, 128, + 13, 0, 170, 160, 11, 0, + 0, 3, 3, 0, 8, 128, + 2, 0, 0, 160, 2, 0, + 170, 128, 8, 0, 0, 3, + 2, 0, 17, 128, 8, 0, + 228, 160, 1, 0, 228, 128, + 5, 0, 0, 3, 2, 0, + 7, 128, 2, 0, 0, 128, + 5, 0, 228, 160, 4, 0, + 0, 4, 0, 0, 14, 128, + 2, 0, 27, 128, 0, 0, + 27, 176, 0, 0, 228, 128, 8, 0, 0, 3, 2, 0, - 17, 128, 8, 0, 228, 160, + 17, 128, 9, 0, 228, 160, 1, 0, 228, 128, 5, 0, 0, 3, 2, 0, 7, 128, - 2, 0, 0, 128, 5, 0, + 2, 0, 0, 128, 6, 0, 228, 160, 4, 0, 0, 4, - 0, 0, 14, 128, 2, 0, + 0, 0, 30, 128, 2, 0, 27, 128, 0, 0, 27, 176, - 0, 0, 228, 128, 8, 0, - 0, 3, 2, 0, 17, 128, - 9, 0, 228, 160, 1, 0, - 228, 128, 5, 0, 0, 3, - 2, 0, 7, 128, 2, 0, - 0, 128, 6, 0, 228, 160, - 4, 0, 0, 4, 0, 0, - 30, 128, 2, 0, 27, 128, - 0, 0, 27, 176, 0, 0, - 228, 128, 32, 0, 0, 3, - 2, 0, 1, 128, 1, 0, - 255, 128, 3, 0, 255, 128, - 5, 0, 0, 3, 1, 0, - 8, 128, 2, 0, 0, 128, - 12, 0, 0, 160, 4, 0, - 0, 4, 2, 0, 7, 128, - 4, 0, 228, 176, 0, 0, - 0, 128, 8, 0, 228, 160, - 36, 0, 0, 2, 3, 0, - 7, 128, 2, 0, 228, 128, - 8, 0, 0, 3, 2, 0, - 17, 128, 1, 0, 228, 128, - 3, 0, 228, 128, 32, 0, - 0, 3, 4, 0, 8, 128, - 2, 0, 0, 128, 3, 0, + 0, 0, 228, 128, 32, 0, + 0, 3, 2, 0, 1, 128, + 1, 0, 255, 128, 3, 0, 255, 128, 5, 0, 0, 3, - 2, 0, 1, 128, 4, 0, - 255, 128, 11, 0, 0, 160, - 4, 0, 0, 4, 3, 0, + 1, 0, 8, 128, 2, 0, + 0, 128, 12, 0, 0, 160, + 4, 0, 0, 4, 2, 0, 7, 128, 4, 0, 228, 176, - 0, 0, 0, 128, 7, 0, + 0, 0, 0, 128, 8, 0, 228, 160, 36, 0, 0, 2, - 4, 0, 7, 128, 3, 0, + 3, 0, 7, 128, 2, 0, 228, 128, 8, 0, 0, 3, - 0, 0, 17, 128, 1, 0, - 228, 128, 4, 0, 228, 128, - 32, 0, 0, 3, 1, 0, - 1, 128, 0, 0, 0, 128, + 2, 0, 17, 128, 1, 0, + 228, 128, 3, 0, 228, 128, + 32, 0, 0, 3, 4, 0, + 8, 128, 2, 0, 0, 128, 3, 0, 255, 128, 5, 0, - 0, 3, 0, 0, 1, 128, - 1, 0, 0, 128, 10, 0, - 0, 160, 1, 0, 0, 2, - 1, 0, 7, 128, 1, 0, - 228, 160, 5, 0, 0, 3, - 2, 0, 14, 128, 1, 0, - 27, 128, 5, 0, 27, 160, - 5, 0, 0, 3, 2, 0, - 7, 128, 2, 0, 0, 128, - 2, 0, 27, 128, 5, 0, - 0, 3, 3, 0, 7, 128, + 0, 3, 2, 0, 1, 128, + 4, 0, 255, 128, 11, 0, + 0, 160, 4, 0, 0, 4, + 3, 0, 7, 128, 4, 0, + 228, 176, 0, 0, 0, 128, + 7, 0, 228, 160, 36, 0, + 0, 2, 4, 0, 7, 128, + 3, 0, 228, 128, 8, 0, + 0, 3, 0, 0, 17, 128, 1, 0, 228, 128, 4, 0, - 228, 160, 4, 0, 0, 4, - 2, 0, 7, 128, 3, 0, - 228, 128, 0, 0, 0, 128, - 2, 0, 228, 128, 5, 0, - 0, 3, 1, 0, 7, 128, - 1, 0, 228, 128, 6, 0, - 228, 160, 4, 0, 0, 4, - 1, 0, 7, 128, 1, 0, - 228, 128, 1, 0, 255, 128, - 2, 0, 228, 128, 2, 0, - 0, 3, 0, 0, 7, 128, - 0, 0, 27, 128, 1, 0, - 228, 128, 1, 0, 0, 2, - 0, 0, 8, 128, 0, 0, - 255, 176, 1, 0, 0, 2, - 0, 8, 15, 128, 0, 0, - 228, 128, 255, 255, 0, 0, - 83, 72, 68, 82, 84, 6, - 0, 0, 64, 0, 0, 0, - 149, 1, 0, 0, 89, 0, + 228, 128, 32, 0, 0, 3, + 1, 0, 1, 128, 0, 0, + 0, 128, 3, 0, 255, 128, + 5, 0, 0, 3, 0, 0, + 1, 128, 1, 0, 0, 128, + 10, 0, 0, 160, 1, 0, + 0, 2, 1, 0, 7, 128, + 1, 0, 228, 160, 5, 0, + 0, 3, 2, 0, 14, 128, + 1, 0, 27, 128, 5, 0, + 27, 160, 5, 0, 0, 3, + 2, 0, 7, 128, 2, 0, + 0, 128, 2, 0, 27, 128, + 5, 0, 0, 3, 3, 0, + 7, 128, 1, 0, 228, 128, + 4, 0, 228, 160, 4, 0, + 0, 4, 2, 0, 7, 128, + 3, 0, 228, 128, 0, 0, + 0, 128, 2, 0, 228, 128, + 5, 0, 0, 3, 1, 0, + 7, 128, 1, 0, 228, 128, + 6, 0, 228, 160, 4, 0, + 0, 4, 1, 0, 7, 128, + 1, 0, 228, 128, 1, 0, + 255, 128, 2, 0, 228, 128, + 2, 0, 0, 3, 0, 0, + 7, 128, 0, 0, 27, 128, + 1, 0, 228, 128, 1, 0, + 0, 2, 0, 0, 8, 128, + 0, 0, 255, 176, 1, 0, + 0, 2, 0, 8, 15, 128, + 0, 0, 228, 128, 255, 255, + 0, 0, 83, 72, 68, 82, + 84, 6, 0, 0, 64, 0, + 0, 0, 149, 1, 0, 0, + 89, 0, 0, 4, 70, 142, + 32, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 89, 0, 0, 4, 70, 142, 32, 0, - 0, 0, 0, 0, 5, 0, - 0, 0, 89, 0, 0, 4, - 70, 142, 32, 0, 1, 0, - 0, 0, 16, 0, 0, 0, - 98, 16, 0, 3, 242, 16, + 1, 0, 0, 0, 16, 0, + 0, 0, 98, 16, 0, 3, + 242, 16, 16, 0, 1, 0, + 0, 0, 98, 16, 0, 3, + 114, 16, 16, 0, 3, 0, + 0, 0, 98, 16, 0, 3, + 114, 16, 16, 0, 5, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 0, 0, + 0, 0, 104, 0, 0, 2, + 4, 0, 0, 0, 24, 0, + 0, 7, 18, 0, 16, 0, + 0, 0, 0, 0, 58, 16, 16, 0, 1, 0, 0, 0, - 98, 16, 0, 3, 114, 16, - 16, 0, 3, 0, 0, 0, - 98, 16, 0, 3, 114, 16, - 16, 0, 5, 0, 0, 0, - 101, 0, 0, 3, 242, 32, - 16, 0, 0, 0, 0, 0, - 104, 0, 0, 2, 4, 0, - 0, 0, 24, 0, 0, 7, + 1, 64, 0, 0, 0, 0, + 0, 0, 13, 0, 4, 3, + 10, 0, 16, 0, 0, 0, + 0, 0, 16, 0, 0, 7, 18, 0, 16, 0, 0, 0, - 0, 0, 58, 16, 16, 0, - 1, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 0, 0, - 13, 0, 4, 3, 10, 0, - 16, 0, 0, 0, 0, 0, - 16, 0, 0, 7, 18, 0, - 16, 0, 0, 0, 0, 0, - 70, 18, 16, 0, 3, 0, 0, 0, 70, 18, 16, 0, - 3, 0, 0, 0, 68, 0, - 0, 5, 18, 0, 16, 0, - 0, 0, 0, 0, 10, 0, + 3, 0, 0, 0, 70, 18, + 16, 0, 3, 0, 0, 0, + 68, 0, 0, 5, 18, 0, 16, 0, 0, 0, 0, 0, - 56, 0, 0, 7, 114, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 0, 0, + 0, 0, 6, 0, 16, 0, + 0, 0, 0, 0, 70, 18, + 16, 0, 3, 0, 0, 0, + 16, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, - 6, 0, 16, 0, 0, 0, + 70, 18, 16, 0, 5, 0, 0, 0, 70, 18, 16, 0, - 3, 0, 0, 0, 16, 0, - 0, 7, 130, 0, 16, 0, - 0, 0, 0, 0, 70, 18, + 5, 0, 0, 0, 68, 0, + 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 16, 32, 0, 8, 18, 0, + 16, 0, 1, 0, 0, 0, + 70, 130, 32, 0, 1, 0, + 0, 0, 9, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 8, + 114, 0, 16, 0, 1, 0, + 0, 0, 6, 0, 16, 0, + 1, 0, 0, 0, 70, 130, + 32, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 70, 18, 16, 0, 1, 0, + 0, 0, 50, 0, 0, 11, + 114, 0, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 50, 0, + 0, 10, 114, 0, 16, 0, + 2, 0, 0, 0, 70, 18, 16, 0, 5, 0, 0, 0, - 70, 18, 16, 0, 5, 0, - 0, 0, 68, 0, 0, 5, - 130, 0, 16, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 1, 0, 0, 0, 9, 0, + 0, 0, 16, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 68, 0, 0, 5, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 2, 0, + 0, 0, 246, 15, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 16, 32, 0, 7, 130, 0, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 52, 0, + 0, 8, 18, 0, 16, 0, + 2, 0, 0, 0, 10, 128, + 32, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 23, 183, 209, 56, + 47, 0, 0, 5, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 56, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 25, 0, 0, 5, 130, 0, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 56, 0, 0, 8, + 130, 0, 16, 0, 1, 0, 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 16, 32, + 1, 0, 0, 0, 10, 128, + 32, 0, 1, 0, 0, 0, + 13, 0, 0, 0, 56, 0, + 0, 9, 226, 0, 16, 0, + 2, 0, 0, 0, 6, 137, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 6, 137, + 32, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 16, 32, 0, 8, 18, 0, 16, 0, - 1, 0, 0, 0, 70, 130, + 3, 0, 0, 0, 70, 130, 32, 0, 1, 0, 0, 0, - 9, 0, 0, 0, 70, 2, + 10, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 56, 0, 0, 8, 114, 0, - 16, 0, 1, 0, 0, 0, - 6, 0, 16, 0, 1, 0, + 16, 0, 3, 0, 0, 0, + 6, 0, 16, 0, 3, 0, 0, 0, 70, 130, 32, 0, - 1, 0, 0, 0, 1, 0, - 0, 0, 56, 0, 0, 7, + 1, 0, 0, 0, 2, 0, + 0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 70, 18, + 3, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, - 50, 0, 0, 11, 114, 0, - 16, 0, 1, 0, 0, 0, - 70, 130, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 70, 130, 32, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, 50, 0, 0, 10, - 114, 0, 16, 0, 2, 0, + 114, 0, 16, 0, 3, 0, 0, 0, 70, 18, 16, 0, 5, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, 70, 130, 32, 0, 1, 0, - 0, 0, 9, 0, 0, 0, + 0, 0, 10, 0, 0, 0, 16, 0, 0, 7, 130, 0, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 2, 0, - 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 68, 0, - 0, 5, 130, 0, 16, 0, - 1, 0, 0, 0, 58, 0, - 16, 0, 1, 0, 0, 0, - 56, 0, 0, 7, 114, 0, - 16, 0, 2, 0, 0, 0, - 246, 15, 16, 0, 1, 0, + 16, 0, 3, 0, 0, 0, + 70, 2, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 16, 32, - 0, 7, 130, 0, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 2, 0, - 0, 0, 52, 0, 0, 8, - 18, 0, 16, 0, 2, 0, - 0, 0, 10, 128, 32, 0, - 0, 0, 0, 0, 4, 0, - 0, 0, 1, 64, 0, 0, - 23, 183, 209, 56, 47, 0, - 0, 5, 130, 0, 16, 0, - 1, 0, 0, 0, 58, 0, - 16, 0, 1, 0, 0, 0, - 56, 0, 0, 7, 130, 0, - 16, 0, 1, 0, 0, 0, - 58, 0, 16, 0, 1, 0, - 0, 0, 10, 0, 16, 0, - 2, 0, 0, 0, 25, 0, + 3, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, - 1, 0, 0, 0, 58, 0, - 16, 0, 1, 0, 0, 0, - 56, 0, 0, 8, 130, 0, - 16, 0, 1, 0, 0, 0, - 58, 0, 16, 0, 1, 0, - 0, 0, 10, 128, 32, 0, - 1, 0, 0, 0, 13, 0, - 0, 0, 56, 0, 0, 9, - 226, 0, 16, 0, 2, 0, - 0, 0, 6, 137, 32, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 6, 137, 32, 0, - 1, 0, 0, 0, 1, 0, - 0, 0, 16, 32, 0, 8, - 18, 0, 16, 0, 3, 0, - 0, 0, 70, 130, 32, 0, - 1, 0, 0, 0, 10, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 8, 114, 0, 16, 0, - 3, 0, 0, 0, 6, 0, + 3, 0, 0, 0, 58, 0, 16, 0, 3, 0, 0, 0, - 70, 130, 32, 0, 1, 0, - 0, 0, 2, 0, 0, 0, - 50, 0, 0, 9, 114, 0, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 3, 0, - 0, 0, 70, 18, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 1, 0, 0, 0, - 50, 0, 0, 10, 114, 0, + 56, 0, 0, 7, 114, 0, 16, 0, 3, 0, 0, 0, - 70, 18, 16, 0, 5, 0, - 0, 0, 246, 15, 16, 0, - 0, 0, 0, 0, 70, 130, - 32, 0, 1, 0, 0, 0, - 10, 0, 0, 0, 16, 0, - 0, 7, 130, 0, 16, 0, + 246, 15, 16, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 16, 32, + 0, 7, 18, 0, 16, 0, 3, 0, 0, 0, 70, 2, - 16, 0, 3, 0, 0, 0, - 70, 2, 16, 0, 3, 0, - 0, 0, 68, 0, 0, 5, - 130, 0, 16, 0, 3, 0, - 0, 0, 58, 0, 16, 0, - 3, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, - 3, 0, 0, 0, 246, 15, - 16, 0, 3, 0, 0, 0, + 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 3, 0, - 0, 0, 16, 32, 0, 7, + 0, 0, 47, 0, 0, 5, 18, 0, 16, 0, 3, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 70, 2, - 16, 0, 3, 0, 0, 0, - 47, 0, 0, 5, 18, 0, - 16, 0, 3, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 3, 0, 0, 0, 56, 0, + 0, 7, 18, 0, 16, 0, + 3, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, 10, 0, 16, 0, 3, 0, - 0, 0, 56, 0, 0, 7, + 0, 0, 25, 0, 0, 5, 18, 0, 16, 0, 3, 0, 0, 0, 10, 0, 16, 0, - 2, 0, 0, 0, 10, 0, + 3, 0, 0, 0, 56, 0, + 0, 8, 18, 0, 16, 0, + 3, 0, 0, 0, 10, 0, 16, 0, 3, 0, 0, 0, - 25, 0, 0, 5, 18, 0, + 10, 128, 32, 0, 1, 0, + 0, 0, 14, 0, 0, 0, + 56, 0, 0, 9, 226, 0, 16, 0, 3, 0, 0, 0, - 10, 0, 16, 0, 3, 0, - 0, 0, 56, 0, 0, 8, - 18, 0, 16, 0, 3, 0, - 0, 0, 10, 0, 16, 0, - 3, 0, 0, 0, 10, 128, - 32, 0, 1, 0, 0, 0, - 14, 0, 0, 0, 56, 0, + 6, 137, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 6, 137, 32, 0, 1, 0, + 0, 0, 2, 0, 0, 0, + 56, 0, 0, 7, 114, 0, + 16, 0, 3, 0, 0, 0, + 6, 0, 16, 0, 3, 0, + 0, 0, 150, 7, 16, 0, + 3, 0, 0, 0, 50, 0, 0, 9, 226, 0, 16, 0, - 3, 0, 0, 0, 6, 137, - 32, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 6, 137, + 2, 0, 0, 0, 86, 14, + 16, 0, 2, 0, 0, 0, + 246, 15, 16, 0, 1, 0, + 0, 0, 6, 9, 16, 0, + 3, 0, 0, 0, 16, 32, + 0, 8, 130, 0, 16, 0, + 1, 0, 0, 0, 70, 130, 32, 0, 1, 0, 0, 0, - 2, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, - 3, 0, 0, 0, 6, 0, + 11, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 56, 0, 0, 8, 114, 0, 16, 0, 3, 0, 0, 0, - 150, 7, 16, 0, 3, 0, - 0, 0, 50, 0, 0, 9, - 226, 0, 16, 0, 2, 0, - 0, 0, 86, 14, 16, 0, - 2, 0, 0, 0, 246, 15, - 16, 0, 1, 0, 0, 0, - 6, 9, 16, 0, 3, 0, - 0, 0, 16, 32, 0, 8, - 130, 0, 16, 0, 1, 0, + 246, 15, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, - 1, 0, 0, 0, 11, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 50, 32, 0, 9, + 114, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 8, 114, 0, 16, 0, - 3, 0, 0, 0, 246, 15, + 3, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, - 70, 130, 32, 0, 1, 0, - 0, 0, 3, 0, 0, 0, - 50, 32, 0, 9, 114, 0, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 3, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 50, 0, 0, 10, + 114, 0, 16, 0, 3, 0, 0, 0, 70, 18, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 1, 0, 0, 0, - 50, 0, 0, 10, 114, 0, - 16, 0, 3, 0, 0, 0, - 70, 18, 16, 0, 5, 0, - 0, 0, 246, 15, 16, 0, - 0, 0, 0, 0, 70, 130, - 32, 0, 1, 0, 0, 0, - 11, 0, 0, 0, 16, 0, - 0, 7, 130, 0, 16, 0, - 0, 0, 0, 0, 70, 2, - 16, 0, 3, 0, 0, 0, - 70, 2, 16, 0, 3, 0, - 0, 0, 68, 0, 0, 5, - 130, 0, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, - 3, 0, 0, 0, 246, 15, + 5, 0, 0, 0, 246, 15, + 16, 0, 0, 0, 0, 0, + 70, 130, 32, 0, 1, 0, + 0, 0, 11, 0, 0, 0, + 16, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 3, 0, - 0, 0, 16, 32, 0, 7, - 18, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 70, 2, + 3, 0, 0, 0, 68, 0, + 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 56, 0, 0, 7, 114, 0, 16, 0, 3, 0, 0, 0, - 47, 0, 0, 5, 18, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 16, 32, + 0, 7, 18, 0, 16, 0, + 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, - 10, 0, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 7, + 70, 2, 16, 0, 3, 0, + 0, 0, 47, 0, 0, 5, 18, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 7, 18, 0, 16, 0, 0, 0, 0, 0, 10, 0, - 16, 0, 2, 0, 0, 0, - 25, 0, 0, 5, 18, 0, 16, 0, 0, 0, 0, 0, - 10, 0, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 8, + 10, 0, 16, 0, 2, 0, + 0, 0, 25, 0, 0, 5, 18, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 10, 128, - 32, 0, 1, 0, 0, 0, - 15, 0, 0, 0, 56, 0, - 0, 9, 226, 0, 16, 0, - 0, 0, 0, 0, 6, 137, - 32, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 6, 137, - 32, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 50, 0, - 0, 9, 114, 0, 16, 0, - 0, 0, 0, 0, 150, 7, - 16, 0, 0, 0, 0, 0, - 6, 0, 16, 0, 0, 0, - 0, 0, 150, 7, 16, 0, - 2, 0, 0, 0, 0, 0, - 0, 7, 114, 32, 16, 0, - 0, 0, 0, 0, 70, 2, + 0, 0, 0, 0, 56, 0, + 0, 8, 18, 0, 16, 0, + 0, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 54, 0, 0, 5, - 130, 32, 16, 0, 0, 0, - 0, 0, 58, 16, 16, 0, - 1, 0, 0, 0, 62, 0, - 0, 1, 73, 83, 71, 78, - 228, 0, 0, 0, 8, 0, - 0, 0, 8, 0, 0, 0, - 200, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 0, 0, + 10, 128, 32, 0, 1, 0, 0, 0, 15, 0, 0, 0, - 212, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 15, 15, 0, 0, - 218, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 2, 0, + 56, 0, 0, 9, 226, 0, + 16, 0, 0, 0, 0, 0, + 6, 137, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 6, 137, 32, 0, 1, 0, 0, 0, 3, 0, 0, 0, - 218, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 3, 0, - 0, 0, 7, 7, 0, 0, - 218, 0, 0, 0, 2, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 4, 0, - 0, 0, 7, 0, 0, 0, - 218, 0, 0, 0, 3, 0, + 50, 0, 0, 9, 114, 0, + 16, 0, 0, 0, 0, 0, + 150, 7, 16, 0, 0, 0, + 0, 0, 6, 0, 16, 0, + 0, 0, 0, 0, 150, 7, + 16, 0, 2, 0, 0, 0, + 0, 0, 0, 7, 114, 32, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 54, 0, + 0, 5, 130, 32, 16, 0, + 0, 0, 0, 0, 58, 16, + 16, 0, 1, 0, 0, 0, + 62, 0, 0, 1, 73, 83, + 71, 78, 228, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 200, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 5, 0, - 0, 0, 7, 7, 0, 0, - 218, 0, 0, 0, 4, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 15, 15, + 0, 0, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 6, 0, - 0, 0, 15, 0, 0, 0, - 218, 0, 0, 0, 5, 0, + 0, 0, 3, 0, 0, 0, + 2, 0, 0, 0, 3, 0, + 0, 0, 218, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 7, 7, + 0, 0, 218, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 4, 0, 0, 0, 7, 0, + 0, 0, 218, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 5, 0, 0, 0, 7, 7, + 0, 0, 218, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 6, 0, 0, 0, 15, 0, + 0, 0, 218, 0, 0, 0, + 5, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 7, 0, 0, 0, 7, 0, + 0, 0, 83, 86, 95, 80, + 79, 83, 73, 84, 73, 79, + 78, 0, 67, 79, 76, 79, + 82, 0, 84, 69, 88, 67, + 79, 79, 82, 68, 0, 171, + 79, 83, 71, 78, 44, 0, + 0, 0, 1, 0, 0, 0, + 8, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 7, 0, - 0, 0, 7, 0, 0, 0, - 83, 86, 95, 80, 79, 83, - 73, 84, 73, 79, 78, 0, - 67, 79, 76, 79, 82, 0, - 84, 69, 88, 67, 79, 79, - 82, 68, 0, 171, 79, 83, - 71, 78, 44, 0, 0, 0, - 1, 0, 0, 0, 8, 0, - 0, 0, 32, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 83, 86, 95, 84, - 97, 114, 103, 101, 116, 0, - 171, 171 + 15, 0, 0, 0, 83, 86, + 95, 84, 97, 114, 103, 101, + 116, 0, 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLPhong_mainTx.inc b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLPhong_mainTx.inc index 9a85634b..170dfd66 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLPhong_mainTx.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLPhong_mainTx.inc @@ -47,53 +47,83 @@ // ps_2_0 def c13, 9.99999975e-005, 0, 0, 0 - dcl t0 - dcl t1.xy - dcl t2.xyz - dcl t4.xyz + dcl t0 // pixel<4,5,6,7> + dcl t1.xy // pixel<8,9> + dcl t2.xyz // pixel<10,11,12> + dcl t4.xyz // pixel<16,17,18> dcl_2d s0 + +#line 180 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\DGSLPhong.hlsl" texld r0, t1, s0 - mov r1.xyz, c1 + +#line 104 + mov r1.xyz, c1 // MaterialVars::MaterialSpecular<0,1,2> mul r2.xyz, r1, c4 mul r3.xyz, r1, c5 + +#line 168 dp3 r1.w, t4, t4 rsq r1.w, r1.w + +#line 101 mad r4.xyz, t4, r1.w, c8 - nrm r5.xyz, r4 - nrm r4.xyz, t2 - dp3_sat r2.w, r4, r5 - mov r3.w, c2.x + nrm r5.xyz, r4 // ::vHalf<0,1,2> + +#line 167 + nrm r4.xyz, t2 // ::worldNormal<0,1,2> + +#line 102 + dp3_sat r2.w, r4, r5 // ::specularAmount<0> + mov r3.w, c2.x // MaterialVars::MaterialSpecularPower<0> max r4.w, r3.w, c13.x pow r3.w, r2.w, r4.w - mul r2.w, r3.w, c11.x - mul r3.xyz, r2.w, r3 + mul r2.w, r3.w, c11.x // ::specularAmount<0> + mul r3.xyz, r2.w, r3 // ::specular<0,1,2> + +#line 101 mad r5.xyz, t4, r1.w, c7 mad r6.xyz, t4, r1.w, c9 - nrm r7.xyz, r6 - dp3_sat r1.w, r4, r7 + nrm r7.xyz, r6 // ::vHalf<0,1,2> + dp3_sat r1.w, r4, r7 // ::specularAmount<0> pow r2.w, r1.w, r4.w - mul r1.w, r2.w, c12.x - nrm r6.xyz, r5 - dp3_sat r2.w, r4, r6 + mul r1.w, r2.w, c12.x // ::specularAmount<0> + nrm r6.xyz, r5 // ::vHalf<0,1,2> + dp3_sat r2.w, r4, r6 // ::specularAmount<0> pow r3.w, r2.w, r4.w - mul r2.w, r3.w, c10.x - mad r2.xyz, r2, r2.w, r3 + mul r2.w, r3.w, c10.x // ::specularAmount<0> + +#line 176 + mad r2.xyz, r2, r2.w, r3 // ::local4<0,1,2> + +#line 104 mul r1.xyz, r1, c6 - mad r1.xyz, r1, r1.w, r2 - dp3_sat r1.w, c7, r4 + +#line 176 + mad r1.xyz, r1, r1.w, r2 // ::local4<0,1,2> + +#line 82 + dp3_sat r1.w, c7, r4 // ::diffuseAmount<0> mul r2.xyz, r1.w, c4 - mul r2.xyz, r2, t0 - mov r3.xyz, c0 - mad r2.xyz, r3, c3, r2 - dp3_sat r1.w, c8, r4 - dp3_sat r2.w, c9, r4 + mul r2.xyz, r2, t0 // ::diffuse<0,1,2> + +#line 175 + mov r3.xyz, c0 // MaterialVars::MaterialAmbient<0,1,2> + mad r2.xyz, r3, c3, r2 // ::local1<0,1,2> + +#line 82 + dp3_sat r1.w, c8, r4 // ::diffuseAmount<0> + dp3_sat r2.w, c9, r4 // ::diffuseAmount<0> mul r3.xyz, r2.w, c6 mul r4.xyz, r1.w, c5 - mad r2.xyz, r4, t0, r2 - mad_sat r2.xyz, r3, t0, r2 - mad r1.xyz, r2, r0, r1 - mul r1.w, r0.w, t0.w - mov oC0, r1 + +#line 175 + mad r2.xyz, r4, t0, r2 // ::local1<0,1,2> + mad_sat r2.xyz, r3, t0, r2 // ::local1<0,1,2> + +#line 180 + mad r1.xyz, r2, r0, r1 // ::local5<0,1,2> + mul r1.w, r0.w, t0.w // ::local6<0> + mov oC0, r1 // ::mainTx<0,1,2,3> // approximately 56 instruction slots used (1 texture, 55 arithmetic) ps_4_0 @@ -165,17 +195,17 @@ ret const BYTE DGSLPhong_mainTx[] = { - 68, 88, 66, 67, 122, 182, - 73, 74, 63, 27, 235, 112, - 1, 112, 173, 226, 75, 153, - 17, 221, 1, 0, 0, 0, - 84, 11, 0, 0, 4, 0, + 68, 88, 66, 67, 245, 121, + 96, 181, 252, 90, 214, 151, + 2, 228, 95, 163, 213, 199, + 33, 130, 1, 0, 0, 0, + 212, 17, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 164, 3, 0, 0, 52, 10, - 0, 0, 32, 11, 0, 0, - 65, 111, 110, 57, 108, 3, - 0, 0, 108, 3, 0, 0, - 0, 2, 255, 255, 252, 2, + 36, 10, 0, 0, 180, 16, + 0, 0, 160, 17, 0, 0, + 65, 111, 110, 57, 236, 9, + 0, 0, 236, 9, 0, 0, + 0, 2, 255, 255, 124, 9, 0, 0, 112, 0, 0, 0, 6, 0, 40, 0, 0, 0, 112, 0, 0, 0, 112, 0, @@ -193,460 +223,737 @@ const BYTE DGSLPhong_mainTx[] = 7, 0, 0, 0, 0, 0, 1, 0, 13, 0, 3, 0, 10, 0, 0, 0, 0, 0, - 0, 2, 255, 255, 81, 0, - 0, 5, 13, 0, 15, 160, - 23, 183, 209, 56, 0, 0, + 0, 2, 255, 255, 254, 255, + 159, 1, 68, 66, 85, 71, + 40, 0, 0, 0, 80, 6, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 0, - 0, 2, 0, 0, 0, 128, - 0, 0, 15, 176, 31, 0, - 0, 2, 0, 0, 0, 128, - 1, 0, 3, 176, 31, 0, - 0, 2, 0, 0, 0, 128, - 2, 0, 7, 176, 31, 0, - 0, 2, 0, 0, 0, 128, - 4, 0, 7, 176, 31, 0, - 0, 2, 0, 0, 0, 144, - 0, 8, 15, 160, 66, 0, - 0, 3, 0, 0, 15, 128, - 1, 0, 228, 176, 0, 8, - 228, 160, 1, 0, 0, 2, - 1, 0, 7, 128, 1, 0, + 1, 0, 0, 0, 116, 0, + 0, 0, 48, 0, 0, 0, + 120, 0, 0, 0, 15, 0, + 0, 0, 36, 5, 0, 0, + 100, 3, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 68, 71, + 83, 76, 80, 104, 111, 110, + 103, 46, 104, 108, 115, 108, + 0, 171, 40, 0, 0, 0, + 0, 0, 255, 255, 132, 6, + 0, 0, 0, 0, 255, 255, + 156, 6, 0, 0, 0, 0, + 255, 255, 168, 6, 0, 0, + 0, 0, 255, 255, 180, 6, + 0, 0, 0, 0, 255, 255, + 192, 6, 0, 0, 0, 0, + 255, 255, 204, 6, 0, 0, + 180, 0, 0, 0, 216, 6, + 0, 0, 104, 0, 0, 0, + 232, 6, 0, 0, 104, 0, + 0, 0, 244, 6, 0, 0, + 104, 0, 0, 0, 4, 7, + 0, 0, 168, 0, 0, 0, + 20, 7, 0, 0, 168, 0, + 0, 0, 36, 7, 0, 0, + 101, 0, 0, 0, 48, 7, + 0, 0, 101, 0, 0, 0, + 68, 7, 0, 0, 167, 0, + 0, 0, 80, 7, 0, 0, + 102, 0, 0, 0, 92, 7, + 0, 0, 103, 0, 0, 0, + 108, 7, 0, 0, 103, 0, + 0, 0, 120, 7, 0, 0, + 103, 0, 0, 0, 136, 7, + 0, 0, 103, 0, 0, 0, + 152, 7, 0, 0, 104, 0, + 0, 0, 168, 7, 0, 0, + 101, 0, 0, 0, 184, 7, + 0, 0, 101, 0, 0, 0, + 204, 7, 0, 0, 101, 0, + 0, 0, 224, 7, 0, 0, + 102, 0, 0, 0, 236, 7, + 0, 0, 103, 0, 0, 0, + 252, 7, 0, 0, 103, 0, + 0, 0, 12, 8, 0, 0, + 101, 0, 0, 0, 28, 8, + 0, 0, 102, 0, 0, 0, + 40, 8, 0, 0, 103, 0, + 0, 0, 56, 8, 0, 0, + 103, 0, 0, 0, 72, 8, + 0, 0, 176, 0, 0, 0, + 88, 8, 0, 0, 104, 0, + 0, 0, 108, 8, 0, 0, + 176, 0, 0, 0, 124, 8, + 0, 0, 82, 0, 0, 0, + 144, 8, 0, 0, 83, 0, + 0, 0, 160, 8, 0, 0, + 83, 0, 0, 0, 176, 8, + 0, 0, 175, 0, 0, 0, + 192, 8, 0, 0, 175, 0, + 0, 0, 204, 8, 0, 0, + 82, 0, 0, 0, 224, 8, + 0, 0, 82, 0, 0, 0, + 240, 8, 0, 0, 83, 0, + 0, 0, 0, 9, 0, 0, + 83, 0, 0, 0, 16, 9, + 0, 0, 175, 0, 0, 0, + 32, 9, 0, 0, 175, 0, + 0, 0, 52, 9, 0, 0, + 180, 0, 0, 0, 72, 9, + 0, 0, 181, 0, 0, 0, + 92, 9, 0, 0, 180, 0, + 0, 0, 108, 9, 0, 0, + 77, 97, 116, 101, 114, 105, + 97, 108, 86, 97, 114, 115, + 0, 77, 97, 116, 101, 114, + 105, 97, 108, 65, 109, 98, + 105, 101, 110, 116, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 37, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 77, 97, 116, 101, 114, 105, + 97, 108, 83, 112, 101, 99, + 117, 108, 97, 114, 0, 171, + 171, 171, 7, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 77, 97, 116, 101, + 114, 105, 97, 108, 83, 112, + 101, 99, 117, 108, 97, 114, + 80, 111, 119, 101, 114, 0, + 171, 171, 0, 0, 3, 0, + 1, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 16, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 0, 0, + 100, 105, 102, 102, 117, 115, + 101, 0, 1, 0, 3, 0, + 1, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 36, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 100, 105, 102, 102, 117, 115, + 101, 65, 109, 111, 117, 110, + 116, 0, 171, 171, 0, 0, + 3, 0, 1, 0, 1, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 34, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 0, 0, 39, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 0, 0, 40, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 0, 0, 108, 111, 99, 97, + 108, 49, 0, 171, 38, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 43, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 44, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 108, 111, + 99, 97, 108, 52, 0, 171, + 31, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 33, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 108, 111, 99, 97, 108, 53, + 0, 171, 45, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 108, 111, 99, 97, + 108, 54, 0, 171, 46, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 0, 0, 109, 97, + 105, 110, 84, 120, 0, 102, + 114, 97, 103, 109, 101, 110, + 116, 0, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 107, 3, 0, 0, 116, 3, + 0, 0, 5, 0, 0, 0, + 1, 0, 4, 0, 1, 0, + 1, 0, 132, 3, 0, 0, + 47, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 112, 105, 120, 101, 108, 0, + 112, 111, 115, 0, 117, 118, + 0, 171, 171, 171, 1, 0, + 3, 0, 1, 0, 2, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 119, 111, 114, 108, + 100, 78, 111, 114, 109, 0, + 119, 111, 114, 108, 100, 80, + 111, 115, 0, 116, 111, 69, + 121, 101, 0, 116, 97, 110, + 103, 101, 110, 116, 0, 110, + 111, 114, 109, 97, 108, 0, + 174, 3, 0, 0, 116, 3, + 0, 0, 136, 2, 0, 0, + 116, 3, 0, 0, 178, 3, + 0, 0, 184, 3, 0, 0, + 200, 3, 0, 0, 144, 2, + 0, 0, 210, 3, 0, 0, + 144, 2, 0, 0, 219, 3, + 0, 0, 144, 2, 0, 0, + 225, 3, 0, 0, 116, 3, + 0, 0, 233, 3, 0, 0, + 144, 2, 0, 0, 5, 0, + 0, 0, 1, 0, 26, 0, + 1, 0, 8, 0, 240, 3, + 0, 0, 1, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 7, 0, 2, 0, 0, 0, + 8, 0, 9, 0, 255, 255, + 255, 255, 3, 0, 0, 0, + 10, 0, 11, 0, 12, 0, + 255, 255, 4, 0, 0, 0, + 16, 0, 17, 0, 18, 0, + 255, 255, 115, 112, 101, 99, + 117, 108, 97, 114, 0, 171, + 171, 171, 20, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 115, 112, 101, 99, + 117, 108, 97, 114, 65, 109, + 111, 117, 110, 116, 0, 171, + 15, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 0, 0, + 19, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 0, 0, + 24, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 0, 0, + 26, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 0, 0, + 28, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 0, 0, + 30, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 0, 0, + 118, 72, 97, 108, 102, 0, + 171, 171, 13, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 23, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 27, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 119, 111, 114, 108, + 100, 78, 111, 114, 109, 97, + 108, 0, 14, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 248, 1, 0, 0, + 5, 2, 0, 0, 24, 2, + 0, 0, 1, 0, 0, 0, + 40, 2, 0, 0, 248, 1, + 0, 0, 52, 2, 0, 0, + 24, 2, 0, 0, 1, 0, + 0, 0, 72, 2, 0, 0, + 248, 1, 0, 0, 84, 2, + 0, 0, 108, 2, 0, 0, + 1, 0, 0, 0, 124, 2, + 0, 0, 0, 0, 0, 0, + 136, 2, 0, 0, 144, 2, + 0, 0, 1, 0, 0, 0, + 160, 2, 0, 0, 0, 0, + 0, 0, 172, 2, 0, 0, + 188, 2, 0, 0, 3, 0, + 0, 0, 204, 2, 0, 0, + 0, 0, 0, 0, 240, 2, + 0, 0, 144, 2, 0, 0, + 3, 0, 0, 0, 248, 2, + 0, 0, 0, 0, 0, 0, + 28, 3, 0, 0, 144, 2, + 0, 0, 2, 0, 0, 0, + 36, 3, 0, 0, 0, 0, + 0, 0, 60, 3, 0, 0, + 144, 2, 0, 0, 1, 0, + 0, 0, 68, 3, 0, 0, + 0, 0, 0, 0, 80, 3, + 0, 0, 188, 2, 0, 0, + 1, 0, 0, 0, 88, 3, + 0, 0, 0, 0, 0, 0, + 100, 3, 0, 0, 140, 3, + 0, 0, 1, 0, 0, 0, + 156, 3, 0, 0, 100, 3, + 0, 0, 168, 3, 0, 0, + 48, 4, 0, 0, 4, 0, + 0, 0, 64, 4, 0, 0, + 0, 0, 0, 0, 112, 4, + 0, 0, 144, 2, 0, 0, + 1, 0, 0, 0, 124, 4, + 0, 0, 0, 0, 0, 0, + 136, 4, 0, 0, 188, 2, + 0, 0, 6, 0, 0, 0, + 152, 4, 0, 0, 0, 0, + 0, 0, 224, 4, 0, 0, + 144, 2, 0, 0, 3, 0, + 0, 0, 232, 4, 0, 0, + 0, 0, 0, 0, 12, 5, + 0, 0, 144, 2, 0, 0, + 1, 0, 0, 0, 24, 5, + 0, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 81, 0, 0, 5, 13, 0, + 15, 160, 23, 183, 209, 56, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 31, 0, 0, 2, 0, 0, + 0, 128, 0, 0, 15, 176, + 31, 0, 0, 2, 0, 0, + 0, 128, 1, 0, 3, 176, + 31, 0, 0, 2, 0, 0, + 0, 128, 2, 0, 7, 176, + 31, 0, 0, 2, 0, 0, + 0, 128, 4, 0, 7, 176, + 31, 0, 0, 2, 0, 0, + 0, 144, 0, 8, 15, 160, + 66, 0, 0, 3, 0, 0, + 15, 128, 1, 0, 228, 176, + 0, 8, 228, 160, 1, 0, + 0, 2, 1, 0, 7, 128, + 1, 0, 228, 160, 5, 0, + 0, 3, 2, 0, 7, 128, + 1, 0, 228, 128, 4, 0, 228, 160, 5, 0, 0, 3, - 2, 0, 7, 128, 1, 0, - 228, 128, 4, 0, 228, 160, - 5, 0, 0, 3, 3, 0, - 7, 128, 1, 0, 228, 128, - 5, 0, 228, 160, 8, 0, - 0, 3, 1, 0, 8, 128, - 4, 0, 228, 176, 4, 0, - 228, 176, 7, 0, 0, 2, - 1, 0, 8, 128, 1, 0, - 255, 128, 4, 0, 0, 4, - 4, 0, 7, 128, 4, 0, - 228, 176, 1, 0, 255, 128, - 8, 0, 228, 160, 36, 0, - 0, 2, 5, 0, 7, 128, - 4, 0, 228, 128, 36, 0, - 0, 2, 4, 0, 7, 128, - 2, 0, 228, 176, 8, 0, - 0, 3, 2, 0, 24, 128, - 4, 0, 228, 128, 5, 0, - 228, 128, 1, 0, 0, 2, - 3, 0, 8, 128, 2, 0, - 0, 160, 11, 0, 0, 3, - 4, 0, 8, 128, 3, 0, - 255, 128, 13, 0, 0, 160, - 32, 0, 0, 3, 3, 0, - 8, 128, 2, 0, 255, 128, - 4, 0, 255, 128, 5, 0, - 0, 3, 2, 0, 8, 128, - 3, 0, 255, 128, 11, 0, - 0, 160, 5, 0, 0, 3, - 3, 0, 7, 128, 2, 0, - 255, 128, 3, 0, 228, 128, - 4, 0, 0, 4, 5, 0, - 7, 128, 4, 0, 228, 176, - 1, 0, 255, 128, 7, 0, - 228, 160, 4, 0, 0, 4, - 6, 0, 7, 128, 4, 0, - 228, 176, 1, 0, 255, 128, - 9, 0, 228, 160, 36, 0, - 0, 2, 7, 0, 7, 128, - 6, 0, 228, 128, 8, 0, - 0, 3, 1, 0, 24, 128, - 4, 0, 228, 128, 7, 0, - 228, 128, 32, 0, 0, 3, - 2, 0, 8, 128, 1, 0, - 255, 128, 4, 0, 255, 128, - 5, 0, 0, 3, 1, 0, - 8, 128, 2, 0, 255, 128, - 12, 0, 0, 160, 36, 0, - 0, 2, 6, 0, 7, 128, - 5, 0, 228, 128, 8, 0, - 0, 3, 2, 0, 24, 128, - 4, 0, 228, 128, 6, 0, - 228, 128, 32, 0, 0, 3, + 3, 0, 7, 128, 1, 0, + 228, 128, 5, 0, 228, 160, + 8, 0, 0, 3, 1, 0, + 8, 128, 4, 0, 228, 176, + 4, 0, 228, 176, 7, 0, + 0, 2, 1, 0, 8, 128, + 1, 0, 255, 128, 4, 0, + 0, 4, 4, 0, 7, 128, + 4, 0, 228, 176, 1, 0, + 255, 128, 8, 0, 228, 160, + 36, 0, 0, 2, 5, 0, + 7, 128, 4, 0, 228, 128, + 36, 0, 0, 2, 4, 0, + 7, 128, 2, 0, 228, 176, + 8, 0, 0, 3, 2, 0, + 24, 128, 4, 0, 228, 128, + 5, 0, 228, 128, 1, 0, + 0, 2, 3, 0, 8, 128, + 2, 0, 0, 160, 11, 0, + 0, 3, 4, 0, 8, 128, + 3, 0, 255, 128, 13, 0, + 0, 160, 32, 0, 0, 3, 3, 0, 8, 128, 2, 0, 255, 128, 4, 0, 255, 128, 5, 0, 0, 3, 2, 0, 8, 128, 3, 0, 255, 128, - 10, 0, 0, 160, 4, 0, - 0, 4, 2, 0, 7, 128, - 2, 0, 228, 128, 2, 0, - 255, 128, 3, 0, 228, 128, - 5, 0, 0, 3, 1, 0, - 7, 128, 1, 0, 228, 128, - 6, 0, 228, 160, 4, 0, - 0, 4, 1, 0, 7, 128, - 1, 0, 228, 128, 1, 0, - 255, 128, 2, 0, 228, 128, + 11, 0, 0, 160, 5, 0, + 0, 3, 3, 0, 7, 128, + 2, 0, 255, 128, 3, 0, + 228, 128, 4, 0, 0, 4, + 5, 0, 7, 128, 4, 0, + 228, 176, 1, 0, 255, 128, + 7, 0, 228, 160, 4, 0, + 0, 4, 6, 0, 7, 128, + 4, 0, 228, 176, 1, 0, + 255, 128, 9, 0, 228, 160, + 36, 0, 0, 2, 7, 0, + 7, 128, 6, 0, 228, 128, 8, 0, 0, 3, 1, 0, - 24, 128, 7, 0, 228, 160, - 4, 0, 228, 128, 5, 0, - 0, 3, 2, 0, 7, 128, + 24, 128, 4, 0, 228, 128, + 7, 0, 228, 128, 32, 0, + 0, 3, 2, 0, 8, 128, 1, 0, 255, 128, 4, 0, - 228, 160, 5, 0, 0, 3, - 2, 0, 7, 128, 2, 0, - 228, 128, 0, 0, 228, 176, - 1, 0, 0, 2, 3, 0, - 7, 128, 0, 0, 228, 160, + 255, 128, 5, 0, 0, 3, + 1, 0, 8, 128, 2, 0, + 255, 128, 12, 0, 0, 160, + 36, 0, 0, 2, 6, 0, + 7, 128, 5, 0, 228, 128, + 8, 0, 0, 3, 2, 0, + 24, 128, 4, 0, 228, 128, + 6, 0, 228, 128, 32, 0, + 0, 3, 3, 0, 8, 128, + 2, 0, 255, 128, 4, 0, + 255, 128, 5, 0, 0, 3, + 2, 0, 8, 128, 3, 0, + 255, 128, 10, 0, 0, 160, 4, 0, 0, 4, 2, 0, - 7, 128, 3, 0, 228, 128, - 3, 0, 228, 160, 2, 0, + 7, 128, 2, 0, 228, 128, + 2, 0, 255, 128, 3, 0, + 228, 128, 5, 0, 0, 3, + 1, 0, 7, 128, 1, 0, + 228, 128, 6, 0, 228, 160, + 4, 0, 0, 4, 1, 0, + 7, 128, 1, 0, 228, 128, + 1, 0, 255, 128, 2, 0, 228, 128, 8, 0, 0, 3, - 1, 0, 24, 128, 8, 0, + 1, 0, 24, 128, 7, 0, 228, 160, 4, 0, 228, 128, - 8, 0, 0, 3, 2, 0, - 24, 128, 9, 0, 228, 160, - 4, 0, 228, 128, 5, 0, - 0, 3, 3, 0, 7, 128, - 2, 0, 255, 128, 6, 0, - 228, 160, 5, 0, 0, 3, - 4, 0, 7, 128, 1, 0, - 255, 128, 5, 0, 228, 160, - 4, 0, 0, 4, 2, 0, - 7, 128, 4, 0, 228, 128, - 0, 0, 228, 176, 2, 0, - 228, 128, 4, 0, 0, 4, - 2, 0, 23, 128, 3, 0, + 5, 0, 0, 3, 2, 0, + 7, 128, 1, 0, 255, 128, + 4, 0, 228, 160, 5, 0, + 0, 3, 2, 0, 7, 128, + 2, 0, 228, 128, 0, 0, + 228, 176, 1, 0, 0, 2, + 3, 0, 7, 128, 0, 0, + 228, 160, 4, 0, 0, 4, + 2, 0, 7, 128, 3, 0, + 228, 128, 3, 0, 228, 160, + 2, 0, 228, 128, 8, 0, + 0, 3, 1, 0, 24, 128, + 8, 0, 228, 160, 4, 0, + 228, 128, 8, 0, 0, 3, + 2, 0, 24, 128, 9, 0, + 228, 160, 4, 0, 228, 128, + 5, 0, 0, 3, 3, 0, + 7, 128, 2, 0, 255, 128, + 6, 0, 228, 160, 5, 0, + 0, 3, 4, 0, 7, 128, + 1, 0, 255, 128, 5, 0, + 228, 160, 4, 0, 0, 4, + 2, 0, 7, 128, 4, 0, 228, 128, 0, 0, 228, 176, 2, 0, 228, 128, 4, 0, - 0, 4, 1, 0, 7, 128, - 2, 0, 228, 128, 0, 0, - 228, 128, 1, 0, 228, 128, - 5, 0, 0, 3, 1, 0, - 8, 128, 0, 0, 255, 128, - 0, 0, 255, 176, 1, 0, - 0, 2, 0, 8, 15, 128, - 1, 0, 228, 128, 255, 255, - 0, 0, 83, 72, 68, 82, - 136, 6, 0, 0, 64, 0, - 0, 0, 162, 1, 0, 0, + 0, 4, 2, 0, 23, 128, + 3, 0, 228, 128, 0, 0, + 228, 176, 2, 0, 228, 128, + 4, 0, 0, 4, 1, 0, + 7, 128, 2, 0, 228, 128, + 0, 0, 228, 128, 1, 0, + 228, 128, 5, 0, 0, 3, + 1, 0, 8, 128, 0, 0, + 255, 128, 0, 0, 255, 176, + 1, 0, 0, 2, 0, 8, + 15, 128, 1, 0, 228, 128, + 255, 255, 0, 0, 83, 72, + 68, 82, 136, 6, 0, 0, + 64, 0, 0, 0, 162, 1, + 0, 0, 89, 0, 0, 4, + 70, 142, 32, 0, 0, 0, + 0, 0, 5, 0, 0, 0, 89, 0, 0, 4, 70, 142, + 32, 0, 1, 0, 0, 0, + 16, 0, 0, 0, 90, 0, + 0, 3, 0, 96, 16, 0, + 0, 0, 0, 0, 88, 24, + 0, 4, 0, 112, 16, 0, + 0, 0, 0, 0, 85, 85, + 0, 0, 98, 16, 0, 3, + 242, 16, 16, 0, 1, 0, + 0, 0, 98, 16, 0, 3, + 50, 16, 16, 0, 2, 0, + 0, 0, 98, 16, 0, 3, + 114, 16, 16, 0, 3, 0, + 0, 0, 98, 16, 0, 3, + 114, 16, 16, 0, 5, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 0, 0, + 0, 0, 104, 0, 0, 2, + 5, 0, 0, 0, 56, 0, + 0, 9, 114, 0, 16, 0, + 0, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, - 5, 0, 0, 0, 89, 0, - 0, 4, 70, 142, 32, 0, - 1, 0, 0, 0, 16, 0, - 0, 0, 90, 0, 0, 3, - 0, 96, 16, 0, 0, 0, - 0, 0, 88, 24, 0, 4, - 0, 112, 16, 0, 0, 0, - 0, 0, 85, 85, 0, 0, - 98, 16, 0, 3, 242, 16, - 16, 0, 1, 0, 0, 0, - 98, 16, 0, 3, 50, 16, - 16, 0, 2, 0, 0, 0, - 98, 16, 0, 3, 114, 16, - 16, 0, 3, 0, 0, 0, - 98, 16, 0, 3, 114, 16, + 2, 0, 0, 0, 70, 130, + 32, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 56, 0, + 0, 9, 114, 0, 16, 0, + 1, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 70, 130, + 32, 0, 1, 0, 0, 0, + 2, 0, 0, 0, 16, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 70, 18, 16, 0, 5, 0, 0, 0, - 101, 0, 0, 3, 242, 32, - 16, 0, 0, 0, 0, 0, - 104, 0, 0, 2, 5, 0, - 0, 0, 56, 0, 0, 9, - 114, 0, 16, 0, 0, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 70, 130, 32, 0, - 1, 0, 0, 0, 1, 0, - 0, 0, 56, 0, 0, 9, - 114, 0, 16, 0, 1, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 70, 130, 32, 0, - 1, 0, 0, 0, 2, 0, - 0, 0, 16, 0, 0, 7, + 70, 18, 16, 0, 5, 0, + 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 0, 0, - 0, 0, 70, 18, 16, 0, - 5, 0, 0, 0, 70, 18, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 50, 0, + 0, 10, 114, 0, 16, 0, + 2, 0, 0, 0, 70, 18, 16, 0, 5, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 1, 0, 0, 0, 10, 0, + 0, 0, 16, 0, 0, 7, + 130, 0, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, 68, 0, 0, 5, 130, 0, - 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 50, 0, 0, 10, + 16, 0, 1, 0, 0, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 2, 0, - 0, 0, 70, 18, 16, 0, - 5, 0, 0, 0, 246, 15, - 16, 0, 0, 0, 0, 0, - 70, 130, 32, 0, 1, 0, - 0, 0, 10, 0, 0, 0, + 0, 0, 246, 15, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 2, 0, - 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 68, 0, + 70, 18, 16, 0, 3, 0, + 0, 0, 70, 18, 16, 0, + 3, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 1, 0, 0, 0, 58, 0, 16, 0, 1, 0, 0, 0, 56, 0, 0, 7, 114, 0, - 16, 0, 2, 0, 0, 0, + 16, 0, 3, 0, 0, 0, 246, 15, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 16, 0, + 0, 0, 70, 18, 16, 0, + 3, 0, 0, 0, 16, 32, 0, 7, 130, 0, 16, 0, - 1, 0, 0, 0, 70, 18, + 1, 0, 0, 0, 70, 2, 16, 0, 3, 0, 0, 0, - 70, 18, 16, 0, 3, 0, - 0, 0, 68, 0, 0, 5, + 70, 2, 16, 0, 2, 0, + 0, 0, 47, 0, 0, 5, 130, 0, 16, 0, 1, 0, 0, 0, 58, 0, 16, 0, - 1, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, - 3, 0, 0, 0, 246, 15, - 16, 0, 1, 0, 0, 0, - 70, 18, 16, 0, 3, 0, - 0, 0, 16, 32, 0, 7, - 130, 0, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 3, 0, 0, 0, 70, 2, - 16, 0, 2, 0, 0, 0, - 47, 0, 0, 5, 130, 0, + 1, 0, 0, 0, 52, 0, + 0, 8, 18, 0, 16, 0, + 2, 0, 0, 0, 10, 128, + 32, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 1, 64, + 0, 0, 23, 183, 209, 56, + 56, 0, 0, 7, 130, 0, 16, 0, 1, 0, 0, 0, 58, 0, 16, 0, 1, 0, - 0, 0, 52, 0, 0, 8, - 18, 0, 16, 0, 2, 0, - 0, 0, 10, 128, 32, 0, - 0, 0, 0, 0, 4, 0, - 0, 0, 1, 64, 0, 0, - 23, 183, 209, 56, 56, 0, - 0, 7, 130, 0, 16, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 25, 0, + 0, 5, 130, 0, 16, 0, 1, 0, 0, 0, 58, 0, 16, 0, 1, 0, 0, 0, - 10, 0, 16, 0, 2, 0, - 0, 0, 25, 0, 0, 5, - 130, 0, 16, 0, 1, 0, - 0, 0, 58, 0, 16, 0, - 1, 0, 0, 0, 56, 0, - 0, 8, 130, 0, 16, 0, - 1, 0, 0, 0, 58, 0, + 56, 0, 0, 8, 130, 0, 16, 0, 1, 0, 0, 0, - 10, 128, 32, 0, 1, 0, - 0, 0, 14, 0, 0, 0, - 56, 0, 0, 7, 114, 0, + 58, 0, 16, 0, 1, 0, + 0, 0, 10, 128, 32, 0, + 1, 0, 0, 0, 14, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 1, 0, + 0, 0, 246, 15, 16, 0, + 1, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, - 246, 15, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 50, 0, - 0, 10, 226, 0, 16, 0, - 2, 0, 0, 0, 6, 25, + 50, 0, 0, 10, 226, 0, + 16, 0, 2, 0, 0, 0, + 6, 25, 16, 0, 5, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 6, 137, + 32, 0, 1, 0, 0, 0, + 9, 0, 0, 0, 50, 0, + 0, 10, 114, 0, 16, 0, + 4, 0, 0, 0, 70, 18, 16, 0, 5, 0, 0, 0, 246, 15, 16, 0, 0, 0, - 0, 0, 6, 137, 32, 0, - 1, 0, 0, 0, 9, 0, - 0, 0, 50, 0, 0, 10, - 114, 0, 16, 0, 4, 0, - 0, 0, 70, 18, 16, 0, - 5, 0, 0, 0, 246, 15, + 0, 0, 70, 130, 32, 0, + 1, 0, 0, 0, 11, 0, + 0, 0, 16, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 150, 7, 16, 0, + 2, 0, 0, 0, 150, 7, + 16, 0, 2, 0, 0, 0, + 68, 0, 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, - 70, 130, 32, 0, 1, 0, - 0, 0, 11, 0, 0, 0, - 16, 0, 0, 7, 130, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 226, 0, 16, 0, 2, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 86, 14, + 16, 0, 2, 0, 0, 0, + 16, 32, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, - 150, 7, 16, 0, 2, 0, + 70, 2, 16, 0, 3, 0, 0, 0, 150, 7, 16, 0, - 2, 0, 0, 0, 68, 0, + 2, 0, 0, 0, 47, 0, 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, - 56, 0, 0, 7, 226, 0, - 16, 0, 2, 0, 0, 0, - 246, 15, 16, 0, 0, 0, - 0, 0, 86, 14, 16, 0, - 2, 0, 0, 0, 16, 32, - 0, 7, 130, 0, 16, 0, - 0, 0, 0, 0, 70, 2, - 16, 0, 3, 0, 0, 0, - 150, 7, 16, 0, 2, 0, - 0, 0, 47, 0, 0, 5, - 130, 0, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 7, 130, 0, 16, 0, - 0, 0, 0, 0, 58, 0, + 56, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, - 10, 0, 16, 0, 2, 0, - 0, 0, 25, 0, 0, 5, - 130, 0, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 8, 130, 0, 16, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 25, 0, + 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, - 10, 128, 32, 0, 1, 0, - 0, 0, 13, 0, 0, 0, - 50, 0, 0, 9, 114, 0, + 56, 0, 0, 8, 130, 0, 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 246, 15, 16, 0, - 0, 0, 0, 0, 70, 2, - 16, 0, 1, 0, 0, 0, - 56, 0, 0, 9, 114, 0, - 16, 0, 1, 0, 0, 0, - 70, 130, 32, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 70, 130, 32, 0, 1, 0, - 0, 0, 3, 0, 0, 0, - 16, 0, 0, 7, 130, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 10, 128, 32, 0, + 1, 0, 0, 0, 13, 0, + 0, 0, 50, 0, 0, 9, + 114, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 4, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 56, 0, 0, 9, + 114, 0, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 70, 130, 32, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 16, 0, 0, 7, + 130, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, - 4, 0, 0, 0, 68, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 68, 0, 0, 5, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 226, 0, 16, 0, 2, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 6, 9, + 16, 0, 4, 0, 0, 0, + 16, 32, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 150, 7, 16, 0, + 2, 0, 0, 0, 47, 0, 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, - 56, 0, 0, 7, 226, 0, - 16, 0, 2, 0, 0, 0, - 246, 15, 16, 0, 0, 0, - 0, 0, 6, 9, 16, 0, - 4, 0, 0, 0, 16, 32, - 0, 7, 130, 0, 16, 0, - 0, 0, 0, 0, 70, 2, - 16, 0, 3, 0, 0, 0, - 150, 7, 16, 0, 2, 0, - 0, 0, 47, 0, 0, 5, - 130, 0, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 7, 130, 0, 16, 0, - 0, 0, 0, 0, 58, 0, + 56, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, - 10, 0, 16, 0, 2, 0, - 0, 0, 25, 0, 0, 5, - 130, 0, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 8, 130, 0, 16, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 25, 0, + 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, - 10, 128, 32, 0, 1, 0, - 0, 0, 15, 0, 0, 0, - 50, 0, 0, 9, 114, 0, + 56, 0, 0, 8, 130, 0, 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 246, 15, 16, 0, - 0, 0, 0, 0, 70, 2, + 58, 0, 16, 0, 0, 0, + 0, 0, 10, 128, 32, 0, + 1, 0, 0, 0, 15, 0, + 0, 0, 50, 0, 0, 9, + 114, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, - 16, 32, 0, 8, 130, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 16, 32, 0, 8, + 130, 0, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 1, 0, 0, 0, 9, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 56, 0, + 0, 8, 114, 0, 16, 0, + 1, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, 70, 130, 32, 0, 1, 0, - 0, 0, 9, 0, 0, 0, - 70, 2, 16, 0, 3, 0, - 0, 0, 56, 0, 0, 8, - 114, 0, 16, 0, 1, 0, - 0, 0, 246, 15, 16, 0, - 0, 0, 0, 0, 70, 130, - 32, 0, 1, 0, 0, 0, - 1, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, - 1, 0, 0, 0, 70, 2, + 0, 0, 1, 0, 0, 0, + 56, 0, 0, 7, 114, 0, 16, 0, 1, 0, 0, 0, - 70, 18, 16, 0, 1, 0, - 0, 0, 50, 0, 0, 11, - 114, 0, 16, 0, 1, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 70, 130, 32, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 16, 32, - 0, 8, 130, 0, 16, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 70, 18, 16, 0, + 1, 0, 0, 0, 50, 0, + 0, 11, 114, 0, 16, 0, + 1, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 130, 32, 0, 1, 0, 0, 0, - 10, 0, 0, 0, 70, 2, - 16, 0, 3, 0, 0, 0, - 16, 32, 0, 8, 130, 0, + 0, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, + 16, 32, 0, 8, 130, 0, + 16, 0, 0, 0, 0, 0, 70, 130, 32, 0, 1, 0, - 0, 0, 11, 0, 0, 0, + 0, 0, 10, 0, 0, 0, 70, 2, 16, 0, 3, 0, - 0, 0, 56, 0, 0, 8, - 114, 0, 16, 0, 2, 0, - 0, 0, 246, 15, 16, 0, - 1, 0, 0, 0, 70, 130, - 32, 0, 1, 0, 0, 0, + 0, 0, 16, 32, 0, 8, + 130, 0, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 0, + 1, 0, 0, 0, 11, 0, + 0, 0, 70, 2, 16, 0, 3, 0, 0, 0, 56, 0, 0, 8, 114, 0, 16, 0, - 3, 0, 0, 0, 246, 15, - 16, 0, 0, 0, 0, 0, - 70, 130, 32, 0, 1, 0, - 0, 0, 2, 0, 0, 0, - 50, 0, 0, 9, 114, 0, + 2, 0, 0, 0, 246, 15, 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 3, 0, - 0, 0, 70, 18, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 1, 0, 0, 0, - 50, 32, 0, 9, 114, 0, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 2, 0, - 0, 0, 70, 18, 16, 0, - 1, 0, 0, 0, 70, 2, + 70, 130, 32, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 56, 0, 0, 8, 114, 0, + 16, 0, 3, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 1, 0, 0, 0, 2, 0, + 0, 0, 50, 0, 0, 9, + 114, 0, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, - 69, 0, 0, 9, 242, 0, - 16, 0, 2, 0, 0, 0, - 70, 16, 16, 0, 2, 0, - 0, 0, 70, 126, 16, 0, - 0, 0, 0, 0, 0, 96, - 16, 0, 0, 0, 0, 0, - 50, 0, 0, 9, 114, 32, - 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 1, 0, + 0, 0, 50, 32, 0, 9, + 114, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 56, 0, 0, 7, 130, 32, + 2, 0, 0, 0, 70, 18, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 69, 0, 0, 9, + 242, 0, 16, 0, 2, 0, + 0, 0, 70, 16, 16, 0, + 2, 0, 0, 0, 70, 126, 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 2, 0, - 0, 0, 58, 16, 16, 0, - 1, 0, 0, 0, 62, 0, - 0, 1, 73, 83, 71, 78, - 228, 0, 0, 0, 8, 0, - 0, 0, 8, 0, 0, 0, - 200, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 212, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 15, 15, 0, 0, - 218, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 3, 3, 0, 0, - 218, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 3, 0, - 0, 0, 7, 7, 0, 0, - 218, 0, 0, 0, 2, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 4, 0, - 0, 0, 7, 0, 0, 0, - 218, 0, 0, 0, 3, 0, + 0, 96, 16, 0, 0, 0, + 0, 0, 50, 0, 0, 9, + 114, 32, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 130, 32, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 58, 16, + 16, 0, 1, 0, 0, 0, + 62, 0, 0, 1, 73, 83, + 71, 78, 228, 0, 0, 0, + 8, 0, 0, 0, 8, 0, + 0, 0, 200, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 5, 0, - 0, 0, 7, 7, 0, 0, - 218, 0, 0, 0, 4, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 15, 15, + 0, 0, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 6, 0, - 0, 0, 15, 0, 0, 0, - 218, 0, 0, 0, 5, 0, + 0, 0, 3, 0, 0, 0, + 2, 0, 0, 0, 3, 3, + 0, 0, 218, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 7, 7, + 0, 0, 218, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 4, 0, 0, 0, 7, 0, + 0, 0, 218, 0, 0, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 5, 0, 0, 0, 7, 7, + 0, 0, 218, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 6, 0, 0, 0, 15, 0, + 0, 0, 218, 0, 0, 0, + 5, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 7, 0, 0, 0, 7, 0, + 0, 0, 83, 86, 95, 80, + 79, 83, 73, 84, 73, 79, + 78, 0, 67, 79, 76, 79, + 82, 0, 84, 69, 88, 67, + 79, 79, 82, 68, 0, 171, + 79, 83, 71, 78, 44, 0, + 0, 0, 1, 0, 0, 0, + 8, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 7, 0, - 0, 0, 7, 0, 0, 0, - 83, 86, 95, 80, 79, 83, - 73, 84, 73, 79, 78, 0, - 67, 79, 76, 79, 82, 0, - 84, 69, 88, 67, 79, 79, - 82, 68, 0, 171, 79, 83, - 71, 78, 44, 0, 0, 0, - 1, 0, 0, 0, 8, 0, - 0, 0, 32, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 83, 86, 95, 84, - 97, 114, 103, 101, 116, 0, - 171, 171 + 15, 0, 0, 0, 83, 86, + 95, 84, 97, 114, 103, 101, + 116, 0, 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLPhong_mainTxTk.inc b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLPhong_mainTxTk.inc index 1c88a023..7cc98301 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLPhong_mainTxTk.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLPhong_mainTxTk.inc @@ -47,56 +47,94 @@ // ps_2_0 def c13, -1, -0, 9.99999975e-005, 0 - dcl t0 - dcl t1.xy - dcl t2.xyz - dcl t4.xyz + dcl t0 // pixel<4,5,6,7> + dcl t1.xy // pixel<8,9> + dcl t2.xyz // pixel<10,11,12> + dcl t4.xyz // pixel<16,17,18> dcl_2d s0 + +#line 204 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\DGSLPhong.hlsl" texld r0, t1, s0 - mul r1.w, r0.w, t0.w + mul r1.w, r0.w, t0.w // ::local6<0> + +#line 208 mul r0.w, r1.w, r1.w cmp r2, -r0.w, c13.x, c13.y texkill r2 + +#line 192 dp3 r0.w, t4, t4 rsq r0.w, r0.w + +#line 101 mad r2.xyz, t4, r0.w, c9 - nrm r3.xyz, r2 - nrm r2.xyz, t2 - dp3_sat r2.w, r2, r3 - dp3_sat r3.x, c7, r2 + nrm r3.xyz, r2 // ::vHalf<0,1,2> + +#line 191 + nrm r2.xyz, t2 // ::worldNormal<0,1,2> + +#line 102 + dp3_sat r2.w, r2, r3 // ::specularAmount<0> + +#line 82 + dp3_sat r3.x, c7, r2 // ::diffuseAmount<0> mul r3.xyz, r3.x, c4 - mul r3.xyz, r3, t0 - mov r4.xyz, c0 - mad r3.xyz, r4, c3, r3 + mul r3.xyz, r3, t0 // ::diffuse<0,1,2> + +#line 199 + mov r4.xyz, c0 // MaterialVars::MaterialAmbient<0,1,2> + mad r3.xyz, r4, c3, r3 // ::local1<0,1,2> + +#line 103 mov r3.w, c13.z max r4.x, c2.x, r3.w - dp3_sat r3.w, c8, r2 + +#line 82 + dp3_sat r3.w, c8, r2 // ::diffuseAmount<0> mul r4.yzw, r3.w, c5.wzyx - mad r3.xyz, r4.wzyx, t0, r3 - dp3_sat r3.w, c9, r2 + +#line 199 + mad r3.xyz, r4.wzyx, t0, r3 // ::local1<0,1,2> + +#line 82 + dp3_sat r3.w, c9, r2 // ::diffuseAmount<0> mul r4.yzw, r3.w, c6.wzyx - mad_sat r3.xyz, r4.wzyx, t0, r3 + +#line 199 + mad_sat r3.xyz, r4.wzyx, t0, r3 // ::local1<0,1,2> + +#line 103 pow r3.w, r2.w, r4.x - mul r2.w, r3.w, c12.x + mul r2.w, r3.w, c12.x // ::specularAmount<0> mad r5.xyz, t4, r0.w, c8 - nrm r6.xyz, r5 - dp3_sat r3.w, r2, r6 + nrm r6.xyz, r5 // ::vHalf<0,1,2> + dp3_sat r3.w, r2, r6 // ::specularAmount<0> pow r5.x, r3.w, r4.x - mul r3.w, r5.x, c11.x + mul r3.w, r5.x, c11.x // ::specularAmount<0> mad r5.xyz, t4, r0.w, c7 - nrm r6.xyz, r5 - dp3_sat r0.w, r2, r6 + nrm r6.xyz, r5 // ::vHalf<0,1,2> + dp3_sat r0.w, r2, r6 // ::specularAmount<0> pow r2.x, r0.w, r4.x - mul r0.w, r2.x, c10.x - mov r2.xyz, c1 + mul r0.w, r2.x, c10.x // ::specularAmount<0> + mov r2.xyz, c1 // MaterialVars::MaterialSpecular<0,1,2> mul r4.xyz, r2, c5 - mul r4.xyz, r3.w, r4 + mul r4.xyz, r3.w, r4 // ::specular<0,1,2> mul r5.xyz, r2, c4 - mad r4.xyz, r5, r0.w, r4 + +#line 200 + mad r4.xyz, r5, r0.w, r4 // ::local4<0,1,2> + +#line 104 mul r2.xyz, r2, c6 - mad r2.xyz, r2, r2.w, r4 - mad r1.xyz, r3, r0, r2 - mov oC0, r1 + +#line 200 + mad r2.xyz, r2, r2.w, r4 // ::local4<0,1,2> + +#line 204 + mad r1.xyz, r3, r0, r2 // ::local5<0,1,2> + +#line 210 + mov oC0, r1 // ::mainTxTk<0,1,2,3> // approximately 59 instruction slots used (1 texture, 58 arithmetic) ps_4_0 @@ -171,17 +209,17 @@ ret const BYTE DGSLPhong_mainTxTk[] = { - 68, 88, 66, 67, 53, 254, - 197, 217, 98, 158, 242, 162, - 169, 189, 161, 231, 187, 201, - 56, 15, 1, 0, 0, 0, - 188, 11, 0, 0, 4, 0, + 68, 88, 66, 67, 235, 167, + 128, 244, 246, 144, 158, 216, + 206, 36, 154, 226, 67, 2, + 231, 43, 1, 0, 0, 0, + 16, 18, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 208, 3, 0, 0, 156, 10, - 0, 0, 136, 11, 0, 0, - 65, 111, 110, 57, 152, 3, - 0, 0, 152, 3, 0, 0, - 0, 2, 255, 255, 40, 3, + 36, 10, 0, 0, 240, 16, + 0, 0, 220, 17, 0, 0, + 65, 111, 110, 57, 236, 9, + 0, 0, 236, 9, 0, 0, + 0, 2, 255, 255, 124, 9, 0, 0, 112, 0, 0, 0, 6, 0, 40, 0, 0, 0, 112, 0, 0, 0, 112, 0, @@ -199,7 +237,277 @@ const BYTE DGSLPhong_mainTxTk[] = 7, 0, 0, 0, 0, 0, 1, 0, 13, 0, 3, 0, 10, 0, 0, 0, 0, 0, - 0, 2, 255, 255, 81, 0, + 0, 2, 255, 255, 254, 255, + 148, 1, 68, 66, 85, 71, + 40, 0, 0, 0, 36, 6, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 116, 0, + 0, 0, 51, 0, 0, 0, + 120, 0, 0, 0, 14, 0, + 0, 0, 12, 5, 0, 0, + 72, 3, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 68, 71, + 83, 76, 80, 104, 111, 110, + 103, 46, 104, 108, 115, 108, + 0, 171, 40, 0, 0, 0, + 0, 0, 255, 255, 88, 6, + 0, 0, 0, 0, 255, 255, + 112, 6, 0, 0, 0, 0, + 255, 255, 124, 6, 0, 0, + 0, 0, 255, 255, 136, 6, + 0, 0, 0, 0, 255, 255, + 148, 6, 0, 0, 0, 0, + 255, 255, 160, 6, 0, 0, + 204, 0, 0, 0, 172, 6, + 0, 0, 205, 0, 0, 0, + 188, 6, 0, 0, 208, 0, + 0, 0, 204, 6, 0, 0, + 208, 0, 0, 0, 220, 6, + 0, 0, 208, 0, 0, 0, + 240, 6, 0, 0, 192, 0, + 0, 0, 248, 6, 0, 0, + 192, 0, 0, 0, 8, 7, + 0, 0, 101, 0, 0, 0, + 20, 7, 0, 0, 101, 0, + 0, 0, 40, 7, 0, 0, + 191, 0, 0, 0, 52, 7, + 0, 0, 102, 0, 0, 0, + 64, 7, 0, 0, 82, 0, + 0, 0, 80, 7, 0, 0, + 83, 0, 0, 0, 96, 7, + 0, 0, 83, 0, 0, 0, + 112, 7, 0, 0, 199, 0, + 0, 0, 128, 7, 0, 0, + 199, 0, 0, 0, 140, 7, + 0, 0, 103, 0, 0, 0, + 160, 7, 0, 0, 103, 0, + 0, 0, 172, 7, 0, 0, + 82, 0, 0, 0, 188, 7, + 0, 0, 83, 0, 0, 0, + 204, 7, 0, 0, 199, 0, + 0, 0, 220, 7, 0, 0, + 82, 0, 0, 0, 240, 7, + 0, 0, 83, 0, 0, 0, + 0, 8, 0, 0, 199, 0, + 0, 0, 16, 8, 0, 0, + 103, 0, 0, 0, 36, 8, + 0, 0, 103, 0, 0, 0, + 52, 8, 0, 0, 101, 0, + 0, 0, 68, 8, 0, 0, + 101, 0, 0, 0, 88, 8, + 0, 0, 102, 0, 0, 0, + 100, 8, 0, 0, 103, 0, + 0, 0, 116, 8, 0, 0, + 103, 0, 0, 0, 132, 8, + 0, 0, 101, 0, 0, 0, + 148, 8, 0, 0, 101, 0, + 0, 0, 168, 8, 0, 0, + 102, 0, 0, 0, 180, 8, + 0, 0, 103, 0, 0, 0, + 196, 8, 0, 0, 103, 0, + 0, 0, 212, 8, 0, 0, + 104, 0, 0, 0, 228, 8, + 0, 0, 104, 0, 0, 0, + 240, 8, 0, 0, 104, 0, + 0, 0, 0, 9, 0, 0, + 104, 0, 0, 0, 16, 9, + 0, 0, 200, 0, 0, 0, + 32, 9, 0, 0, 104, 0, + 0, 0, 52, 9, 0, 0, + 200, 0, 0, 0, 68, 9, + 0, 0, 204, 0, 0, 0, + 88, 9, 0, 0, 210, 0, + 0, 0, 108, 9, 0, 0, + 77, 97, 116, 101, 114, 105, + 97, 108, 86, 97, 114, 115, + 0, 77, 97, 116, 101, 114, + 105, 97, 108, 65, 109, 98, + 105, 101, 110, 116, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 20, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 77, 97, 116, 101, 114, 105, + 97, 108, 83, 112, 101, 99, + 117, 108, 97, 114, 0, 171, + 171, 171, 42, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 100, 105, 102, 102, + 117, 115, 101, 0, 1, 0, + 3, 0, 1, 0, 3, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 19, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 100, 105, 102, 102, + 117, 115, 101, 65, 109, 111, + 117, 110, 116, 0, 171, 171, + 0, 0, 3, 0, 1, 0, + 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 17, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 24, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 0, 0, 27, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 0, 0, 108, 111, + 99, 97, 108, 49, 0, 171, + 21, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 26, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 29, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 108, 111, 99, 97, 108, 52, + 0, 171, 46, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 48, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 108, 111, 99, 97, + 108, 53, 0, 171, 49, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 108, 111, + 99, 97, 108, 54, 0, 171, + 7, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 0, 0, + 109, 97, 105, 110, 84, 120, + 84, 107, 0, 102, 114, 97, + 103, 109, 101, 110, 116, 0, + 171, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 81, 3, 0, 0, 92, 3, + 0, 0, 5, 0, 0, 0, + 1, 0, 4, 0, 1, 0, + 1, 0, 108, 3, 0, 0, + 50, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 112, 105, 120, 101, 108, 0, + 112, 111, 115, 0, 117, 118, + 0, 171, 171, 171, 1, 0, + 3, 0, 1, 0, 2, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 119, 111, 114, 108, + 100, 78, 111, 114, 109, 0, + 119, 111, 114, 108, 100, 80, + 111, 115, 0, 116, 111, 69, + 121, 101, 0, 116, 97, 110, + 103, 101, 110, 116, 0, 110, + 111, 114, 109, 97, 108, 0, + 150, 3, 0, 0, 92, 3, + 0, 0, 108, 2, 0, 0, + 92, 3, 0, 0, 154, 3, + 0, 0, 160, 3, 0, 0, + 176, 3, 0, 0, 116, 2, + 0, 0, 186, 3, 0, 0, + 116, 2, 0, 0, 195, 3, + 0, 0, 116, 2, 0, 0, + 201, 3, 0, 0, 92, 3, + 0, 0, 209, 3, 0, 0, + 116, 2, 0, 0, 5, 0, + 0, 0, 1, 0, 26, 0, + 1, 0, 8, 0, 216, 3, + 0, 0, 1, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 7, 0, 2, 0, 0, 0, + 8, 0, 9, 0, 255, 255, + 255, 255, 3, 0, 0, 0, + 10, 0, 11, 0, 12, 0, + 255, 255, 4, 0, 0, 0, + 16, 0, 17, 0, 18, 0, + 255, 255, 115, 112, 101, 99, + 117, 108, 97, 114, 0, 171, + 171, 171, 44, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 115, 112, 101, 99, + 117, 108, 97, 114, 65, 109, + 111, 117, 110, 116, 0, 171, + 16, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 0, 0, + 31, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 0, 0, + 34, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 0, 0, + 36, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 0, 0, + 39, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 0, 0, + 41, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 0, 0, + 118, 72, 97, 108, 102, 0, + 171, 171, 14, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 33, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 38, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 119, 111, 114, 108, + 100, 78, 111, 114, 109, 97, + 108, 0, 15, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 16, 2, 0, 0, + 29, 2, 0, 0, 48, 2, + 0, 0, 1, 0, 0, 0, + 64, 2, 0, 0, 16, 2, + 0, 0, 76, 2, 0, 0, + 48, 2, 0, 0, 1, 0, + 0, 0, 96, 2, 0, 0, + 0, 0, 0, 0, 108, 2, + 0, 0, 116, 2, 0, 0, + 1, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 144, 2, 0, 0, 160, 2, + 0, 0, 3, 0, 0, 0, + 176, 2, 0, 0, 0, 0, + 0, 0, 212, 2, 0, 0, + 116, 2, 0, 0, 3, 0, + 0, 0, 220, 2, 0, 0, + 0, 0, 0, 0, 0, 3, + 0, 0, 116, 2, 0, 0, + 2, 0, 0, 0, 8, 3, + 0, 0, 0, 0, 0, 0, + 32, 3, 0, 0, 116, 2, + 0, 0, 1, 0, 0, 0, + 40, 3, 0, 0, 0, 0, + 0, 0, 52, 3, 0, 0, + 160, 2, 0, 0, 1, 0, + 0, 0, 60, 3, 0, 0, + 0, 0, 0, 0, 72, 3, + 0, 0, 116, 3, 0, 0, + 1, 0, 0, 0, 132, 3, + 0, 0, 72, 3, 0, 0, + 144, 3, 0, 0, 24, 4, + 0, 0, 4, 0, 0, 0, + 40, 4, 0, 0, 0, 0, + 0, 0, 88, 4, 0, 0, + 116, 2, 0, 0, 1, 0, + 0, 0, 100, 4, 0, 0, + 0, 0, 0, 0, 112, 4, + 0, 0, 160, 2, 0, 0, + 6, 0, 0, 0, 128, 4, + 0, 0, 0, 0, 0, 0, + 200, 4, 0, 0, 116, 2, + 0, 0, 3, 0, 0, 0, + 208, 4, 0, 0, 0, 0, + 0, 0, 244, 4, 0, 0, + 116, 2, 0, 0, 1, 0, + 0, 0, 0, 5, 0, 0, + 77, 105, 99, 114, 111, 115, + 111, 102, 116, 32, 40, 82, + 41, 32, 72, 76, 83, 76, + 32, 83, 104, 97, 100, 101, + 114, 32, 67, 111, 109, 112, + 105, 108, 101, 114, 32, 49, + 48, 46, 49, 0, 81, 0, 0, 5, 13, 0, 15, 160, 0, 0, 128, 191, 0, 0, 0, 128, 23, 183, 209, 56, diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLUnlit_main.inc b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLUnlit_main.inc index 907ab9e3..9e207110 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLUnlit_main.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLUnlit_main.inc @@ -27,8 +27,10 @@ // Level9 shader bytecode: // ps_2_0 - dcl t0 - mov oC0, t0 + dcl t0 // pixel<4,5,6,7> + +#line 83 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\DGSLUnlit.hlsl" + mov oC0, t0 // ::main<0,1,2,3> // approximately 1 instruction slot used ps_4_0 @@ -41,84 +43,164 @@ ret const BYTE DGSLUnlit_main[] = { - 68, 88, 66, 67, 105, 73, - 81, 57, 5, 7, 232, 104, - 47, 198, 245, 104, 91, 126, - 113, 199, 1, 0, 0, 0, - 220, 1, 0, 0, 4, 0, + 68, 88, 66, 67, 131, 172, + 120, 173, 112, 184, 143, 42, + 142, 197, 113, 141, 74, 250, + 229, 255, 1, 0, 0, 0, + 192, 3, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 124, 0, 0, 0, 188, 0, - 0, 0, 168, 1, 0, 0, - 65, 111, 110, 57, 68, 0, - 0, 0, 68, 0, 0, 0, - 0, 2, 255, 255, 32, 0, + 96, 2, 0, 0, 160, 2, + 0, 0, 140, 3, 0, 0, + 65, 111, 110, 57, 40, 2, + 0, 0, 40, 2, 0, 0, + 0, 2, 255, 255, 4, 2, 0, 0, 36, 0, 0, 0, 0, 0, 36, 0, 0, 0, 36, 0, 0, 0, 36, 0, 0, 0, 36, 0, 0, 0, 36, 0, 0, 2, 255, 255, - 31, 0, 0, 2, 0, 0, - 0, 128, 0, 0, 15, 176, - 1, 0, 0, 2, 0, 8, - 15, 128, 0, 0, 228, 176, - 255, 255, 0, 0, 83, 72, - 68, 82, 56, 0, 0, 0, - 64, 0, 0, 0, 14, 0, - 0, 0, 98, 16, 0, 3, - 242, 16, 16, 0, 1, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 0, 0, - 0, 0, 54, 0, 0, 5, - 242, 32, 16, 0, 0, 0, - 0, 0, 70, 30, 16, 0, - 1, 0, 0, 0, 62, 0, - 0, 1, 73, 83, 71, 78, - 228, 0, 0, 0, 8, 0, - 0, 0, 8, 0, 0, 0, - 200, 0, 0, 0, 0, 0, + 254, 255, 120, 0, 68, 66, + 85, 71, 40, 0, 0, 0, + 180, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 212, 0, 0, 0, 0, 0, + 116, 0, 0, 0, 2, 0, + 0, 0, 120, 0, 0, 0, + 2, 0, 0, 0, 140, 1, + 0, 0, 136, 0, 0, 0, + 67, 58, 92, 65, 84, 71, + 32, 83, 97, 109, 112, 108, + 101, 32, 68, 101, 118, 101, + 108, 111, 112, 109, 101, 110, + 116, 92, 115, 116, 95, 100, + 101, 118, 92, 75, 105, 116, + 115, 92, 68, 105, 114, 101, + 99, 116, 88, 84, 75, 92, + 83, 114, 99, 92, 83, 104, + 97, 100, 101, 114, 115, 92, + 68, 71, 83, 76, 85, 110, + 108, 105, 116, 46, 104, 108, + 115, 108, 0, 171, 40, 0, + 0, 0, 0, 0, 255, 255, + 232, 1, 0, 0, 83, 0, + 0, 0, 244, 1, 0, 0, + 109, 97, 105, 110, 0, 102, + 114, 97, 103, 109, 101, 110, + 116, 0, 171, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 141, 0, 0, 0, + 152, 0, 0, 0, 5, 0, + 0, 0, 1, 0, 4, 0, + 1, 0, 1, 0, 168, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 112, 105, 120, 101, + 108, 0, 112, 111, 115, 0, + 100, 105, 102, 102, 117, 115, + 101, 0, 117, 118, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 15, 15, 0, 0, - 218, 0, 0, 0, 0, 0, + 119, 111, 114, 108, 100, 78, + 111, 114, 109, 0, 171, 171, + 1, 0, 3, 0, 1, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 119, 111, + 114, 108, 100, 80, 111, 115, + 0, 116, 111, 69, 121, 101, + 0, 116, 97, 110, 103, 101, + 110, 116, 0, 110, 111, 114, + 109, 97, 108, 0, 171, 171, + 210, 0, 0, 0, 152, 0, + 0, 0, 214, 0, 0, 0, + 152, 0, 0, 0, 222, 0, + 0, 0, 228, 0, 0, 0, + 244, 0, 0, 0, 0, 1, + 0, 0, 16, 1, 0, 0, + 0, 1, 0, 0, 25, 1, + 0, 0, 0, 1, 0, 0, + 31, 1, 0, 0, 152, 0, + 0, 0, 39, 1, 0, 0, + 0, 1, 0, 0, 5, 0, + 0, 0, 1, 0, 26, 0, + 1, 0, 8, 0, 48, 1, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 3, 0, 0, 0, - 218, 0, 0, 0, 1, 0, + 4, 0, 5, 0, 6, 0, + 7, 0, 0, 0, 0, 0, + 136, 0, 0, 0, 176, 0, + 0, 0, 1, 0, 0, 0, + 192, 0, 0, 0, 136, 0, + 0, 0, 204, 0, 0, 0, + 112, 1, 0, 0, 1, 0, + 0, 0, 128, 1, 0, 0, + 77, 105, 99, 114, 111, 115, + 111, 102, 116, 32, 40, 82, + 41, 32, 72, 76, 83, 76, + 32, 83, 104, 97, 100, 101, + 114, 32, 67, 111, 109, 112, + 105, 108, 101, 114, 32, 49, + 48, 46, 49, 0, 31, 0, + 0, 2, 0, 0, 0, 128, + 0, 0, 15, 176, 1, 0, + 0, 2, 0, 8, 15, 128, + 0, 0, 228, 176, 255, 255, + 0, 0, 83, 72, 68, 82, + 56, 0, 0, 0, 64, 0, + 0, 0, 14, 0, 0, 0, + 98, 16, 0, 3, 242, 16, + 16, 0, 1, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 0, 0, 0, 0, + 54, 0, 0, 5, 242, 32, + 16, 0, 0, 0, 0, 0, + 70, 30, 16, 0, 1, 0, + 0, 0, 62, 0, 0, 1, + 73, 83, 71, 78, 228, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 3, 0, - 0, 0, 7, 0, 0, 0, - 218, 0, 0, 0, 2, 0, + 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 4, 0, - 0, 0, 7, 0, 0, 0, - 218, 0, 0, 0, 3, 0, + 15, 0, 0, 0, 212, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 5, 0, - 0, 0, 7, 0, 0, 0, - 218, 0, 0, 0, 4, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 6, 0, - 0, 0, 15, 0, 0, 0, - 218, 0, 0, 0, 5, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 15, 15, 0, 0, 218, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 7, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 3, 0, 0, 0, 218, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 7, 0, 0, 0, 218, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 4, 0, 0, 0, + 7, 0, 0, 0, 218, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 5, 0, 0, 0, + 7, 0, 0, 0, 218, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 6, 0, 0, 0, + 15, 0, 0, 0, 218, 0, + 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 7, 0, 0, 0, - 83, 86, 95, 80, 79, 83, - 73, 84, 73, 79, 78, 0, - 67, 79, 76, 79, 82, 0, - 84, 69, 88, 67, 79, 79, - 82, 68, 0, 171, 79, 83, - 71, 78, 44, 0, 0, 0, - 1, 0, 0, 0, 8, 0, - 0, 0, 32, 0, 0, 0, + 7, 0, 0, 0, 83, 86, + 95, 80, 79, 83, 73, 84, + 73, 79, 78, 0, 67, 79, + 76, 79, 82, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 171, 79, 83, 71, 78, + 44, 0, 0, 0, 1, 0, + 0, 0, 8, 0, 0, 0, + 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 83, 86, 95, 84, - 97, 114, 103, 101, 116, 0, - 171, 171 + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 83, 86, 95, 84, 97, 114, + 103, 101, 116, 0, 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLUnlit_mainTk.inc b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLUnlit_mainTk.inc index c1091a4d..fdcc6471 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLUnlit_mainTk.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLUnlit_mainTk.inc @@ -28,12 +28,14 @@ // ps_2_0 def c0, -1, -0, 0, 0 - dcl t0 + dcl t0 // pixel<4,5,6,7> + +#line 93 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\DGSLUnlit.hlsl" mul r0.w, t0.w, t0.w cmp r0, -r0.w, c0.x, c0.y texkill r0 - mov r0, t0 - mov oC0, r0 + mov r0, t0 // ::mainTk<0,1,2,3> + mov oC0, r0 // ::mainTk<0,1,2,3> // approximately 5 instruction slots used ps_4_0 @@ -49,105 +51,194 @@ ret const BYTE DGSLUnlit_mainTk[] = { - 68, 88, 66, 67, 46, 130, - 120, 130, 191, 217, 78, 124, - 7, 169, 79, 105, 72, 21, - 223, 236, 1, 0, 0, 0, - 92, 2, 0, 0, 4, 0, + 68, 88, 66, 67, 245, 73, + 98, 112, 30, 115, 101, 94, + 153, 195, 39, 160, 72, 88, + 83, 207, 1, 0, 0, 0, + 116, 4, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 204, 0, 0, 0, 60, 1, - 0, 0, 40, 2, 0, 0, - 65, 111, 110, 57, 148, 0, - 0, 0, 148, 0, 0, 0, - 0, 2, 255, 255, 112, 0, + 228, 2, 0, 0, 84, 3, + 0, 0, 64, 4, 0, 0, + 65, 111, 110, 57, 172, 2, + 0, 0, 172, 2, 0, 0, + 0, 2, 255, 255, 136, 2, 0, 0, 36, 0, 0, 0, 0, 0, 36, 0, 0, 0, 36, 0, 0, 0, 36, 0, 0, 0, 36, 0, 0, 0, 36, 0, 0, 2, 255, 255, - 81, 0, 0, 5, 0, 0, - 15, 160, 0, 0, 128, 191, + 254, 255, 133, 0, 68, 66, + 85, 71, 40, 0, 0, 0, + 232, 1, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 116, 0, 0, 0, 7, 0, + 0, 0, 120, 0, 0, 0, + 2, 0, 0, 0, 192, 1, + 0, 0, 176, 0, 0, 0, + 67, 58, 92, 65, 84, 71, + 32, 83, 97, 109, 112, 108, + 101, 32, 68, 101, 118, 101, + 108, 111, 112, 109, 101, 110, + 116, 92, 115, 116, 95, 100, + 101, 118, 92, 75, 105, 116, + 115, 92, 68, 105, 114, 101, + 99, 116, 88, 84, 75, 92, + 83, 114, 99, 92, 83, 104, + 97, 100, 101, 114, 115, 92, + 68, 71, 83, 76, 85, 110, + 108, 105, 116, 46, 104, 108, + 115, 108, 0, 171, 40, 0, + 0, 0, 0, 0, 255, 255, + 28, 2, 0, 0, 0, 0, + 255, 255, 52, 2, 0, 0, + 93, 0, 0, 0, 64, 2, + 0, 0, 93, 0, 0, 0, + 80, 2, 0, 0, 93, 0, + 0, 0, 100, 2, 0, 0, + 95, 0, 0, 0, 108, 2, + 0, 0, 95, 0, 0, 0, + 120, 2, 0, 0, 109, 97, + 105, 110, 84, 107, 0, 102, + 114, 97, 103, 109, 101, 110, + 116, 0, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 183, 0, 0, 0, 192, 0, + 0, 0, 5, 0, 0, 0, + 1, 0, 4, 0, 1, 0, + 1, 0, 208, 0, 0, 0, + 5, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 6, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 112, 105, 120, 101, 108, 0, + 112, 111, 115, 0, 100, 105, + 102, 102, 117, 115, 101, 0, + 117, 118, 0, 171, 171, 171, + 1, 0, 3, 0, 1, 0, + 2, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 119, 111, + 114, 108, 100, 78, 111, 114, + 109, 0, 171, 171, 1, 0, + 3, 0, 1, 0, 3, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 119, 111, 114, 108, + 100, 80, 111, 115, 0, 116, + 111, 69, 121, 101, 0, 116, + 97, 110, 103, 101, 110, 116, + 0, 110, 111, 114, 109, 97, + 108, 0, 171, 171, 6, 1, + 0, 0, 192, 0, 0, 0, + 10, 1, 0, 0, 192, 0, + 0, 0, 18, 1, 0, 0, + 24, 1, 0, 0, 40, 1, + 0, 0, 52, 1, 0, 0, + 68, 1, 0, 0, 52, 1, + 0, 0, 77, 1, 0, 0, + 52, 1, 0, 0, 83, 1, + 0, 0, 192, 0, 0, 0, + 91, 1, 0, 0, 52, 1, + 0, 0, 5, 0, 0, 0, + 1, 0, 26, 0, 1, 0, + 8, 0, 100, 1, 0, 0, + 1, 0, 0, 0, 4, 0, + 5, 0, 6, 0, 7, 0, + 0, 0, 0, 0, 176, 0, + 0, 0, 216, 0, 0, 0, + 2, 0, 0, 0, 232, 0, + 0, 0, 176, 0, 0, 0, + 0, 1, 0, 0, 164, 1, + 0, 0, 1, 0, 0, 0, + 180, 1, 0, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 81, 0, 0, 5, + 0, 0, 15, 160, 0, 0, + 128, 191, 0, 0, 0, 128, + 0, 0, 0, 0, 0, 0, + 0, 0, 31, 0, 0, 2, 0, 0, 0, 128, 0, 0, + 15, 176, 5, 0, 0, 3, + 0, 0, 8, 128, 0, 0, + 255, 176, 0, 0, 255, 176, + 88, 0, 0, 4, 0, 0, + 15, 128, 0, 0, 255, 129, + 0, 0, 0, 160, 0, 0, + 85, 160, 65, 0, 0, 1, + 0, 0, 15, 128, 1, 0, + 0, 2, 0, 0, 15, 128, + 0, 0, 228, 176, 1, 0, + 0, 2, 0, 8, 15, 128, + 0, 0, 228, 128, 255, 255, + 0, 0, 83, 72, 68, 82, + 104, 0, 0, 0, 64, 0, + 0, 0, 26, 0, 0, 0, + 98, 16, 0, 3, 242, 16, + 16, 0, 1, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 0, 0, 0, 0, + 104, 0, 0, 2, 1, 0, + 0, 0, 24, 0, 0, 7, + 18, 0, 16, 0, 0, 0, + 0, 0, 58, 16, 16, 0, + 1, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, - 31, 0, 0, 2, 0, 0, - 0, 128, 0, 0, 15, 176, - 5, 0, 0, 3, 0, 0, - 8, 128, 0, 0, 255, 176, - 0, 0, 255, 176, 88, 0, - 0, 4, 0, 0, 15, 128, - 0, 0, 255, 129, 0, 0, - 0, 160, 0, 0, 85, 160, - 65, 0, 0, 1, 0, 0, - 15, 128, 1, 0, 0, 2, - 0, 0, 15, 128, 0, 0, - 228, 176, 1, 0, 0, 2, - 0, 8, 15, 128, 0, 0, - 228, 128, 255, 255, 0, 0, - 83, 72, 68, 82, 104, 0, - 0, 0, 64, 0, 0, 0, - 26, 0, 0, 0, 98, 16, - 0, 3, 242, 16, 16, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 0, 0, 0, 0, 104, 0, - 0, 2, 1, 0, 0, 0, - 24, 0, 0, 7, 18, 0, + 13, 0, 4, 3, 10, 0, 16, 0, 0, 0, 0, 0, - 58, 16, 16, 0, 1, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 0, 0, 13, 0, - 4, 3, 10, 0, 16, 0, - 0, 0, 0, 0, 54, 0, - 0, 5, 242, 32, 16, 0, - 0, 0, 0, 0, 70, 30, - 16, 0, 1, 0, 0, 0, - 62, 0, 0, 1, 73, 83, - 71, 78, 228, 0, 0, 0, - 8, 0, 0, 0, 8, 0, - 0, 0, 200, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 212, 0, 0, 0, + 54, 0, 0, 5, 242, 32, + 16, 0, 0, 0, 0, 0, + 70, 30, 16, 0, 1, 0, + 0, 0, 62, 0, 0, 1, + 73, 83, 71, 78, 228, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 15, 15, - 0, 0, 218, 0, 0, 0, + 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 2, 0, 0, 0, 3, 0, - 0, 0, 218, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 3, 0, 0, 0, 7, 0, - 0, 0, 218, 0, 0, 0, - 2, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 4, 0, 0, 0, 7, 0, - 0, 0, 218, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 5, 0, 0, 0, 7, 0, - 0, 0, 218, 0, 0, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 6, 0, 0, 0, 15, 0, - 0, 0, 218, 0, 0, 0, - 5, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 7, 0, 0, 0, 7, 0, - 0, 0, 83, 86, 95, 80, - 79, 83, 73, 84, 73, 79, - 78, 0, 67, 79, 76, 79, - 82, 0, 84, 69, 88, 67, - 79, 79, 82, 68, 0, 171, - 79, 83, 71, 78, 44, 0, + 15, 0, 0, 0, 212, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, - 8, 0, 0, 0, 32, 0, + 15, 15, 0, 0, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 3, 0, 0, 0, 218, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 7, 0, 0, 0, 218, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 4, 0, 0, 0, + 7, 0, 0, 0, 218, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 5, 0, 0, 0, + 7, 0, 0, 0, 218, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 6, 0, 0, 0, + 15, 0, 0, 0, 218, 0, + 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 7, 0, 0, 0, + 7, 0, 0, 0, 83, 86, + 95, 80, 79, 83, 73, 84, + 73, 79, 78, 0, 67, 79, + 76, 79, 82, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 171, 79, 83, 71, 78, + 44, 0, 0, 0, 1, 0, + 0, 0, 8, 0, 0, 0, + 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 83, 86, - 95, 84, 97, 114, 103, 101, - 116, 0, 171, 171 + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 83, 86, 95, 84, 97, 114, + 103, 101, 116, 0, 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLUnlit_mainTx.inc b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLUnlit_mainTx.inc index 00083ed5..11b180b3 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLUnlit_mainTx.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLUnlit_mainTx.inc @@ -34,12 +34,14 @@ // Level9 shader bytecode: // ps_2_0 - dcl t0 - dcl t1.xy + dcl t0 // pixel<4,5,6,7> + dcl t1.xy // pixel<8,9> dcl_2d s0 + +#line 117 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\DGSLUnlit.hlsl" texld r0, t1, s0 - mul r1, r0, t0 - mov oC0, r1 + mul r1, r0, t0 // ::local3<0,1,2>, ::local4<0> + mov oC0, r1 // ::mainTx<0,1,2,3> // approximately 3 instruction slots used (1 texture, 2 arithmetic) ps_4_0 @@ -57,109 +59,212 @@ ret const BYTE DGSLUnlit_mainTx[] = { - 68, 88, 66, 67, 17, 52, - 170, 45, 63, 249, 46, 7, - 141, 68, 209, 179, 128, 184, - 205, 30, 1, 0, 0, 0, - 116, 2, 0, 0, 4, 0, + 68, 88, 66, 67, 14, 132, + 199, 88, 131, 122, 131, 137, + 21, 243, 17, 86, 184, 232, + 27, 220, 1, 0, 0, 0, + 224, 4, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 184, 0, 0, 0, 84, 1, - 0, 0, 64, 2, 0, 0, - 65, 111, 110, 57, 128, 0, - 0, 0, 128, 0, 0, 0, - 0, 2, 255, 255, 88, 0, + 36, 3, 0, 0, 192, 3, + 0, 0, 172, 4, 0, 0, + 65, 111, 110, 57, 236, 2, + 0, 0, 236, 2, 0, 0, + 0, 2, 255, 255, 196, 2, 0, 0, 40, 0, 0, 0, 0, 0, 40, 0, 0, 0, 40, 0, 0, 0, 40, 0, 1, 0, 36, 0, 0, 0, 40, 0, 0, 0, 0, 0, - 0, 2, 255, 255, 31, 0, - 0, 2, 0, 0, 0, 128, - 0, 0, 15, 176, 31, 0, - 0, 2, 0, 0, 0, 128, - 1, 0, 3, 176, 31, 0, - 0, 2, 0, 0, 0, 144, - 0, 8, 15, 160, 66, 0, - 0, 3, 0, 0, 15, 128, - 1, 0, 228, 176, 0, 8, - 228, 160, 5, 0, 0, 3, - 1, 0, 15, 128, 0, 0, - 228, 128, 0, 0, 228, 176, - 1, 0, 0, 2, 0, 8, - 15, 128, 1, 0, 228, 128, - 255, 255, 0, 0, 83, 72, - 68, 82, 148, 0, 0, 0, - 64, 0, 0, 0, 37, 0, - 0, 0, 90, 0, 0, 3, - 0, 96, 16, 0, 0, 0, - 0, 0, 88, 24, 0, 4, - 0, 112, 16, 0, 0, 0, - 0, 0, 85, 85, 0, 0, - 98, 16, 0, 3, 242, 16, - 16, 0, 1, 0, 0, 0, - 98, 16, 0, 3, 50, 16, + 0, 2, 255, 255, 254, 255, + 154, 0, 68, 66, 85, 71, + 40, 0, 0, 0, 60, 2, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 116, 0, + 0, 0, 6, 0, 0, 0, + 120, 0, 0, 0, 4, 0, + 0, 0, 236, 1, 0, 0, + 240, 0, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 68, 71, + 83, 76, 85, 110, 108, 105, + 116, 46, 104, 108, 115, 108, + 0, 171, 40, 0, 0, 0, + 0, 0, 255, 255, 112, 2, + 0, 0, 0, 0, 255, 255, + 124, 2, 0, 0, 0, 0, + 255, 255, 136, 2, 0, 0, + 117, 0, 0, 0, 148, 2, + 0, 0, 117, 0, 0, 0, + 164, 2, 0, 0, 117, 0, + 0, 0, 180, 2, 0, 0, + 108, 111, 99, 97, 108, 51, + 0, 171, 1, 0, 3, 0, + 1, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 108, 111, 99, 97, 108, 52, + 0, 171, 0, 0, 3, 0, + 1, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 0, 0, + 109, 97, 105, 110, 84, 120, + 0, 102, 114, 97, 103, 109, + 101, 110, 116, 0, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 247, 0, 0, 0, + 0, 1, 0, 0, 5, 0, + 0, 0, 1, 0, 4, 0, + 1, 0, 1, 0, 16, 1, + 0, 0, 5, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 112, 105, 120, 101, + 108, 0, 112, 111, 115, 0, + 100, 105, 102, 102, 117, 115, + 101, 0, 117, 118, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 2, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 119, 111, 114, 108, 100, 78, + 111, 114, 109, 0, 119, 111, + 114, 108, 100, 80, 111, 115, + 0, 116, 111, 69, 121, 101, + 0, 116, 97, 110, 103, 101, + 110, 116, 0, 110, 111, 114, + 109, 97, 108, 0, 58, 1, + 0, 0, 0, 1, 0, 0, + 62, 1, 0, 0, 0, 1, + 0, 0, 70, 1, 0, 0, + 76, 1, 0, 0, 92, 1, + 0, 0, 176, 0, 0, 0, + 102, 1, 0, 0, 176, 0, + 0, 0, 111, 1, 0, 0, + 176, 0, 0, 0, 117, 1, + 0, 0, 0, 1, 0, 0, + 125, 1, 0, 0, 176, 0, + 0, 0, 5, 0, 0, 0, + 1, 0, 26, 0, 1, 0, + 8, 0, 132, 1, 0, 0, + 0, 0, 0, 0, 4, 0, + 5, 0, 6, 0, 7, 0, + 1, 0, 0, 0, 8, 0, + 9, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 168, 0, + 0, 0, 176, 0, 0, 0, + 1, 0, 0, 0, 192, 0, + 0, 0, 0, 0, 0, 0, + 204, 0, 0, 0, 212, 0, + 0, 0, 1, 0, 0, 0, + 228, 0, 0, 0, 0, 0, + 0, 0, 240, 0, 0, 0, + 24, 1, 0, 0, 1, 0, + 0, 0, 40, 1, 0, 0, + 240, 0, 0, 0, 52, 1, + 0, 0, 196, 1, 0, 0, + 2, 0, 0, 0, 212, 1, + 0, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 31, 0, 0, 2, 0, 0, + 0, 128, 0, 0, 15, 176, + 31, 0, 0, 2, 0, 0, + 0, 128, 1, 0, 3, 176, + 31, 0, 0, 2, 0, 0, + 0, 144, 0, 8, 15, 160, + 66, 0, 0, 3, 0, 0, + 15, 128, 1, 0, 228, 176, + 0, 8, 228, 160, 5, 0, + 0, 3, 1, 0, 15, 128, + 0, 0, 228, 128, 0, 0, + 228, 176, 1, 0, 0, 2, + 0, 8, 15, 128, 1, 0, + 228, 128, 255, 255, 0, 0, + 83, 72, 68, 82, 148, 0, + 0, 0, 64, 0, 0, 0, + 37, 0, 0, 0, 90, 0, + 0, 3, 0, 96, 16, 0, + 0, 0, 0, 0, 88, 24, + 0, 4, 0, 112, 16, 0, + 0, 0, 0, 0, 85, 85, + 0, 0, 98, 16, 0, 3, + 242, 16, 16, 0, 1, 0, + 0, 0, 98, 16, 0, 3, + 50, 16, 16, 0, 2, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 0, 0, + 0, 0, 104, 0, 0, 2, + 1, 0, 0, 0, 69, 0, + 0, 9, 242, 0, 16, 0, + 0, 0, 0, 0, 70, 16, 16, 0, 2, 0, 0, 0, - 101, 0, 0, 3, 242, 32, - 16, 0, 0, 0, 0, 0, - 104, 0, 0, 2, 1, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 0, 0, - 0, 0, 70, 16, 16, 0, - 2, 0, 0, 0, 70, 126, + 70, 126, 16, 0, 0, 0, + 0, 0, 0, 96, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 7, 242, 32, 16, 0, + 0, 0, 0, 0, 70, 14, 16, 0, 0, 0, 0, 0, - 0, 96, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 7, - 242, 32, 16, 0, 0, 0, - 0, 0, 70, 14, 16, 0, - 0, 0, 0, 0, 70, 30, - 16, 0, 1, 0, 0, 0, - 62, 0, 0, 1, 73, 83, - 71, 78, 228, 0, 0, 0, - 8, 0, 0, 0, 8, 0, - 0, 0, 200, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 212, 0, 0, 0, + 70, 30, 16, 0, 1, 0, + 0, 0, 62, 0, 0, 1, + 73, 83, 71, 78, 228, 0, + 0, 0, 8, 0, 0, 0, + 8, 0, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 15, 15, - 0, 0, 218, 0, 0, 0, + 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 2, 0, 0, 0, 3, 3, - 0, 0, 218, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 3, 0, 0, 0, 7, 0, - 0, 0, 218, 0, 0, 0, - 2, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 4, 0, 0, 0, 7, 0, - 0, 0, 218, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 5, 0, 0, 0, 7, 0, - 0, 0, 218, 0, 0, 0, - 4, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 6, 0, 0, 0, 15, 0, - 0, 0, 218, 0, 0, 0, - 5, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 7, 0, 0, 0, 7, 0, - 0, 0, 83, 86, 95, 80, - 79, 83, 73, 84, 73, 79, - 78, 0, 67, 79, 76, 79, - 82, 0, 84, 69, 88, 67, - 79, 79, 82, 68, 0, 171, - 79, 83, 71, 78, 44, 0, + 15, 0, 0, 0, 212, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, - 8, 0, 0, 0, 32, 0, + 15, 15, 0, 0, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 3, 3, 0, 0, 218, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 7, 0, 0, 0, 218, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 4, 0, 0, 0, + 7, 0, 0, 0, 218, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 5, 0, 0, 0, + 7, 0, 0, 0, 218, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 6, 0, 0, 0, + 15, 0, 0, 0, 218, 0, + 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 7, 0, 0, 0, + 7, 0, 0, 0, 83, 86, + 95, 80, 79, 83, 73, 84, + 73, 79, 78, 0, 67, 79, + 76, 79, 82, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 171, 79, 83, 71, 78, + 44, 0, 0, 0, 1, 0, + 0, 0, 8, 0, 0, 0, + 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 83, 86, - 95, 84, 97, 114, 103, 101, - 116, 0, 171, 171 + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 83, 86, 95, 84, 97, 114, + 103, 101, 116, 0, 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLUnlit_mainTxTk.inc b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLUnlit_mainTxTk.inc index a3fd01ee..f33ab326 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/DGSLUnlit_mainTxTk.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/DGSLUnlit_mainTxTk.inc @@ -35,16 +35,24 @@ // ps_2_0 def c0, -1, -0, 0, 0 - dcl t0 - dcl t1.xy + dcl t0 // pixel<4,5,6,7> + dcl t1.xy // pixel<8,9> dcl_2d s0 + +#line 144 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\DGSLUnlit.hlsl" texld r0, t1, s0 - mul r1.w, r0.w, t0.w + mul r1.w, r0.w, t0.w // ::local4<0> + +#line 149 mul r0.w, r1.w, r1.w cmp r2, -r0.w, c0.x, c0.y texkill r2 - mul r1.xyz, r0, t0 - mov oC0, r1 + +#line 144 + mul r1.xyz, r0, t0 // ::local3<0,1,2> + +#line 151 + mov oC0, r1 // ::mainTxTk<0,1,2,3> // approximately 7 instruction slots used (1 texture, 6 arithmetic) ps_4_0 @@ -66,138 +74,248 @@ ret const BYTE DGSLUnlit_mainTxTk[] = { - 68, 88, 66, 67, 219, 12, - 49, 38, 225, 45, 150, 107, - 89, 0, 123, 21, 83, 4, - 147, 41, 1, 0, 0, 0, - 32, 3, 0, 0, 4, 0, + 68, 88, 66, 67, 163, 187, + 53, 119, 142, 182, 238, 196, + 183, 110, 204, 63, 193, 239, + 206, 55, 1, 0, 0, 0, + 184, 5, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 12, 1, 0, 0, 0, 2, - 0, 0, 236, 2, 0, 0, - 65, 111, 110, 57, 212, 0, - 0, 0, 212, 0, 0, 0, - 0, 2, 255, 255, 172, 0, + 164, 3, 0, 0, 152, 4, + 0, 0, 132, 5, 0, 0, + 65, 111, 110, 57, 108, 3, + 0, 0, 108, 3, 0, 0, + 0, 2, 255, 255, 68, 3, 0, 0, 40, 0, 0, 0, 0, 0, 40, 0, 0, 0, 40, 0, 0, 0, 40, 0, 1, 0, 36, 0, 0, 0, 40, 0, 0, 0, 0, 0, - 0, 2, 255, 255, 81, 0, - 0, 5, 0, 0, 15, 160, - 0, 0, 128, 191, 0, 0, - 0, 128, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 0, - 0, 2, 0, 0, 0, 128, - 0, 0, 15, 176, 31, 0, - 0, 2, 0, 0, 0, 128, - 1, 0, 3, 176, 31, 0, - 0, 2, 0, 0, 0, 144, - 0, 8, 15, 160, 66, 0, - 0, 3, 0, 0, 15, 128, - 1, 0, 228, 176, 0, 8, - 228, 160, 5, 0, 0, 3, - 1, 0, 8, 128, 0, 0, - 255, 128, 0, 0, 255, 176, - 5, 0, 0, 3, 0, 0, - 8, 128, 1, 0, 255, 128, - 1, 0, 255, 128, 88, 0, - 0, 4, 2, 0, 15, 128, - 0, 0, 255, 129, 0, 0, - 0, 160, 0, 0, 85, 160, - 65, 0, 0, 1, 2, 0, - 15, 128, 5, 0, 0, 3, - 1, 0, 7, 128, 0, 0, - 228, 128, 0, 0, 228, 176, - 1, 0, 0, 2, 0, 8, - 15, 128, 1, 0, 228, 128, - 255, 255, 0, 0, 83, 72, - 68, 82, 236, 0, 0, 0, - 64, 0, 0, 0, 59, 0, - 0, 0, 90, 0, 0, 3, - 0, 96, 16, 0, 0, 0, - 0, 0, 88, 24, 0, 4, - 0, 112, 16, 0, 0, 0, - 0, 0, 85, 85, 0, 0, - 98, 16, 0, 3, 242, 16, - 16, 0, 1, 0, 0, 0, - 98, 16, 0, 3, 50, 16, - 16, 0, 2, 0, 0, 0, - 101, 0, 0, 3, 242, 32, + 0, 2, 255, 255, 254, 255, + 165, 0, 68, 66, 85, 71, + 40, 0, 0, 0, 104, 2, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 116, 0, + 0, 0, 11, 0, 0, 0, + 120, 0, 0, 0, 4, 0, + 0, 0, 24, 2, 0, 0, + 24, 1, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 68, 71, + 83, 76, 85, 110, 108, 105, + 116, 46, 104, 108, 115, 108, + 0, 171, 40, 0, 0, 0, + 0, 0, 255, 255, 156, 2, + 0, 0, 0, 0, 255, 255, + 180, 2, 0, 0, 0, 0, + 255, 255, 192, 2, 0, 0, + 0, 0, 255, 255, 204, 2, + 0, 0, 144, 0, 0, 0, + 216, 2, 0, 0, 145, 0, + 0, 0, 232, 2, 0, 0, + 149, 0, 0, 0, 248, 2, + 0, 0, 149, 0, 0, 0, + 8, 3, 0, 0, 149, 0, + 0, 0, 28, 3, 0, 0, + 144, 0, 0, 0, 36, 3, + 0, 0, 151, 0, 0, 0, + 52, 3, 0, 0, 108, 111, + 99, 97, 108, 51, 0, 171, + 1, 0, 3, 0, 1, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 9, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 108, 111, + 99, 97, 108, 52, 0, 171, + 0, 0, 3, 0, 1, 0, + 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 0, 0, 109, 97, + 105, 110, 84, 120, 84, 107, + 0, 102, 114, 97, 103, 109, + 101, 110, 116, 0, 171, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 33, 1, + 0, 0, 44, 1, 0, 0, + 5, 0, 0, 0, 1, 0, + 4, 0, 1, 0, 1, 0, + 60, 1, 0, 0, 10, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 3, 0, 112, 105, + 120, 101, 108, 0, 112, 111, + 115, 0, 100, 105, 102, 102, + 117, 115, 101, 0, 117, 118, + 0, 171, 171, 171, 1, 0, + 3, 0, 1, 0, 2, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 119, 111, 114, 108, + 100, 78, 111, 114, 109, 0, + 119, 111, 114, 108, 100, 80, + 111, 115, 0, 116, 111, 69, + 121, 101, 0, 116, 97, 110, + 103, 101, 110, 116, 0, 110, + 111, 114, 109, 97, 108, 0, + 102, 1, 0, 0, 44, 1, + 0, 0, 106, 1, 0, 0, + 44, 1, 0, 0, 114, 1, + 0, 0, 120, 1, 0, 0, + 136, 1, 0, 0, 216, 0, + 0, 0, 146, 1, 0, 0, + 216, 0, 0, 0, 155, 1, + 0, 0, 216, 0, 0, 0, + 161, 1, 0, 0, 44, 1, + 0, 0, 169, 1, 0, 0, + 216, 0, 0, 0, 5, 0, + 0, 0, 1, 0, 26, 0, + 1, 0, 8, 0, 176, 1, + 0, 0, 1, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 7, 0, 2, 0, 0, 0, + 8, 0, 9, 0, 255, 255, + 255, 255, 0, 0, 0, 0, + 208, 0, 0, 0, 216, 0, + 0, 0, 1, 0, 0, 0, + 232, 0, 0, 0, 0, 0, + 0, 0, 244, 0, 0, 0, + 252, 0, 0, 0, 1, 0, + 0, 0, 12, 1, 0, 0, + 0, 0, 0, 0, 24, 1, + 0, 0, 68, 1, 0, 0, + 1, 0, 0, 0, 84, 1, + 0, 0, 24, 1, 0, 0, + 96, 1, 0, 0, 240, 1, + 0, 0, 2, 0, 0, 0, + 0, 2, 0, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 81, 0, 0, 5, + 0, 0, 15, 160, 0, 0, + 128, 191, 0, 0, 0, 128, + 0, 0, 0, 0, 0, 0, + 0, 0, 31, 0, 0, 2, + 0, 0, 0, 128, 0, 0, + 15, 176, 31, 0, 0, 2, + 0, 0, 0, 128, 1, 0, + 3, 176, 31, 0, 0, 2, + 0, 0, 0, 144, 0, 8, + 15, 160, 66, 0, 0, 3, + 0, 0, 15, 128, 1, 0, + 228, 176, 0, 8, 228, 160, + 5, 0, 0, 3, 1, 0, + 8, 128, 0, 0, 255, 128, + 0, 0, 255, 176, 5, 0, + 0, 3, 0, 0, 8, 128, + 1, 0, 255, 128, 1, 0, + 255, 128, 88, 0, 0, 4, + 2, 0, 15, 128, 0, 0, + 255, 129, 0, 0, 0, 160, + 0, 0, 85, 160, 65, 0, + 0, 1, 2, 0, 15, 128, + 5, 0, 0, 3, 1, 0, + 7, 128, 0, 0, 228, 128, + 0, 0, 228, 176, 1, 0, + 0, 2, 0, 8, 15, 128, + 1, 0, 228, 128, 255, 255, + 0, 0, 83, 72, 68, 82, + 236, 0, 0, 0, 64, 0, + 0, 0, 59, 0, 0, 0, + 90, 0, 0, 3, 0, 96, 16, 0, 0, 0, 0, 0, - 104, 0, 0, 2, 2, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 0, 0, - 0, 0, 70, 16, 16, 0, - 2, 0, 0, 0, 70, 126, + 88, 24, 0, 4, 0, 112, 16, 0, 0, 0, 0, 0, - 0, 96, 16, 0, 0, 0, + 85, 85, 0, 0, 98, 16, + 0, 3, 242, 16, 16, 0, + 1, 0, 0, 0, 98, 16, + 0, 3, 50, 16, 16, 0, + 2, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 0, 0, 0, 0, 104, 0, + 0, 2, 2, 0, 0, 0, + 69, 0, 0, 9, 242, 0, + 16, 0, 0, 0, 0, 0, + 70, 16, 16, 0, 2, 0, + 0, 0, 70, 126, 16, 0, + 0, 0, 0, 0, 0, 96, + 16, 0, 0, 0, 0, 0, + 56, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 58, 16, 16, 0, + 1, 0, 0, 0, 24, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 13, 0, 4, 3, + 10, 0, 16, 0, 1, 0, 0, 0, 56, 0, 0, 7, - 130, 0, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 58, 16, - 16, 0, 1, 0, 0, 0, - 24, 0, 0, 7, 18, 0, + 114, 32, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 1, 64, 0, 0, - 0, 0, 0, 0, 13, 0, - 4, 3, 10, 0, 16, 0, - 1, 0, 0, 0, 56, 0, - 0, 7, 114, 32, 16, 0, - 0, 0, 0, 0, 70, 2, + 54, 0, 0, 5, 130, 32, 16, 0, 0, 0, 0, 0, - 70, 18, 16, 0, 1, 0, - 0, 0, 54, 0, 0, 5, - 130, 32, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 62, 0, - 0, 1, 73, 83, 71, 78, - 228, 0, 0, 0, 8, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 62, 0, 0, 1, + 73, 83, 71, 78, 228, 0, 0, 0, 8, 0, 0, 0, - 200, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 212, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 15, 15, 0, 0, - 218, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 3, 3, 0, 0, - 218, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 3, 0, - 0, 0, 7, 0, 0, 0, - 218, 0, 0, 0, 2, 0, + 15, 0, 0, 0, 212, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 4, 0, - 0, 0, 7, 0, 0, 0, - 218, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 15, 15, 0, 0, 218, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 5, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 3, 3, 0, 0, 218, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 7, 0, 0, 0, 218, 0, + 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 4, 0, 0, 0, + 7, 0, 0, 0, 218, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 5, 0, 0, 0, + 7, 0, 0, 0, 218, 0, + 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 6, 0, 0, 0, + 15, 0, 0, 0, 218, 0, + 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 7, 0, 0, 0, - 218, 0, 0, 0, 4, 0, + 7, 0, 0, 0, 83, 86, + 95, 80, 79, 83, 73, 84, + 73, 79, 78, 0, 67, 79, + 76, 79, 82, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 171, 79, 83, 71, 78, + 44, 0, 0, 0, 1, 0, + 0, 0, 8, 0, 0, 0, + 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 6, 0, + 3, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, - 218, 0, 0, 0, 5, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 7, 0, - 0, 0, 7, 0, 0, 0, - 83, 86, 95, 80, 79, 83, - 73, 84, 73, 79, 78, 0, - 67, 79, 76, 79, 82, 0, - 84, 69, 88, 67, 79, 79, - 82, 68, 0, 171, 79, 83, - 71, 78, 44, 0, 0, 0, - 1, 0, 0, 0, 8, 0, - 0, 0, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 83, 86, 95, 84, - 97, 114, 103, 101, 116, 0, - 171, 171 + 83, 86, 95, 84, 97, 114, + 103, 101, 116, 0, 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/DualTextureEffect_PSDualTexture.inc b/Kits/DirectXTK/Src/Shaders/Compiled/DualTextureEffect_PSDualTexture.inc index b06c1c87..6442d1ee 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/DualTextureEffect_PSDualTexture.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/DualTextureEffect_PSDualTexture.inc @@ -39,20 +39,26 @@ // ps_2_0 def c1, 2, 2, 2, 1 - dcl t0 - dcl t1 - dcl t2 + dcl t0 // pin<0,1,2,3> + dcl t1 // pin<4,5,6,7> + dcl t2 // pin<8,9,11,10> dcl_2d s0 dcl_2d s1 + +#line 98 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\DualTextureEffect.fx" mov r0.xy, t2.wzyx - texld r0, r0, s1 - texld r1, t2, s0 + texld r0, r0, s1 // ::overlay<0,1,2,3> + texld r1, t2, s0 // ::color<0,1,2,3> + +#line 101 mul r0, r0, t0 mul r1, r1, c1 - mul r0, r0, r1 + mul r0, r0, r1 // ::color<0,1,2,3> + +#line 20 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" mad r1.xyz, c0, r0.w, -r0 - mad r0.xyz, t1.w, r1, r0 - mov oC0, r0 + mad r0.xyz, t1.w, r1, r0 // ApplyFog::color<0,1,2> + mov oC0, r0 // ::PSDualTexture<0,1,2,3> // approximately 9 instruction slots used (2 texture, 7 arithmetic) ps_4_0 @@ -81,17 +87,17 @@ ret const BYTE DualTextureEffect_PSDualTexture[] = { - 68, 88, 66, 67, 174, 36, - 68, 110, 51, 2, 130, 217, - 225, 159, 194, 118, 191, 73, - 0, 2, 1, 0, 0, 0, - 188, 3, 0, 0, 4, 0, + 68, 88, 66, 67, 90, 48, + 60, 15, 10, 243, 234, 83, + 37, 109, 33, 173, 19, 116, + 245, 45, 1, 0, 0, 0, + 164, 6, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 92, 1, 0, 0, 8, 3, - 0, 0, 136, 3, 0, 0, - 65, 111, 110, 57, 36, 1, - 0, 0, 36, 1, 0, 0, - 0, 2, 255, 255, 236, 0, + 68, 4, 0, 0, 240, 5, + 0, 0, 112, 6, 0, 0, + 65, 111, 110, 57, 12, 4, + 0, 0, 12, 4, 0, 0, + 0, 2, 255, 255, 212, 3, 0, 0, 56, 0, 0, 0, 1, 0, 44, 0, 0, 0, 56, 0, 0, 0, 56, 0, @@ -100,7 +106,131 @@ const BYTE DualTextureEffect_PSDualTexture[] = 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2, - 255, 255, 81, 0, 0, 5, + 255, 255, 254, 255, 185, 0, + 68, 66, 85, 71, 40, 0, + 0, 0, 184, 2, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 192, 0, 0, 0, + 15, 0, 0, 0, 200, 0, + 0, 0, 5, 0, 0, 0, + 84, 2, 0, 0, 64, 1, + 0, 0, 67, 58, 92, 65, + 84, 71, 32, 83, 97, 109, + 112, 108, 101, 32, 68, 101, + 118, 101, 108, 111, 112, 109, + 101, 110, 116, 92, 115, 116, + 95, 100, 101, 118, 92, 75, + 105, 116, 115, 92, 68, 105, + 114, 101, 99, 116, 88, 84, + 75, 92, 83, 114, 99, 92, + 83, 104, 97, 100, 101, 114, + 115, 92, 68, 117, 97, 108, + 84, 101, 120, 116, 117, 114, + 101, 69, 102, 102, 101, 99, + 116, 46, 102, 120, 0, 67, + 58, 92, 65, 84, 71, 32, + 83, 97, 109, 112, 108, 101, + 32, 68, 101, 118, 101, 108, + 111, 112, 109, 101, 110, 116, + 92, 115, 116, 95, 100, 101, + 118, 92, 75, 105, 116, 115, + 92, 68, 105, 114, 101, 99, + 116, 88, 84, 75, 92, 83, + 114, 99, 92, 83, 104, 97, + 100, 101, 114, 115, 92, 67, + 111, 109, 109, 111, 110, 46, + 102, 120, 104, 0, 40, 0, + 0, 0, 121, 0, 0, 0, + 0, 0, 255, 255, 236, 2, + 0, 0, 0, 0, 255, 255, + 4, 3, 0, 0, 0, 0, + 255, 255, 16, 3, 0, 0, + 0, 0, 255, 255, 28, 3, + 0, 0, 0, 0, 255, 255, + 40, 3, 0, 0, 0, 0, + 255, 255, 52, 3, 0, 0, + 98, 0, 0, 0, 64, 3, + 0, 0, 98, 0, 0, 0, + 76, 3, 0, 0, 97, 0, + 0, 0, 92, 3, 0, 0, + 101, 0, 0, 0, 108, 3, + 0, 0, 101, 0, 0, 0, + 124, 3, 0, 0, 101, 0, + 0, 0, 140, 3, 0, 0, + 20, 0, 1, 0, 156, 3, + 0, 0, 20, 0, 1, 0, + 176, 3, 0, 0, 20, 0, + 1, 0, 196, 3, 0, 0, + 80, 83, 68, 117, 97, 108, + 84, 101, 120, 116, 117, 114, + 101, 0, 171, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 14, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 65, 112, 112, 108, + 121, 70, 111, 103, 0, 99, + 111, 108, 111, 114, 0, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 13, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 8, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 3, 0, 11, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 3, 0, 111, 118, + 101, 114, 108, 97, 121, 0, + 7, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 112, 105, 110, 0, 68, 105, + 102, 102, 117, 115, 101, 0, + 83, 112, 101, 99, 117, 108, + 97, 114, 0, 84, 101, 120, + 67, 111, 111, 114, 100, 0, + 171, 171, 1, 0, 3, 0, + 1, 0, 2, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 84, 101, 120, 67, 111, 111, + 114, 100, 50, 0, 171, 171, + 200, 1, 0, 0, 124, 1, + 0, 0, 208, 1, 0, 0, + 124, 1, 0, 0, 217, 1, + 0, 0, 228, 1, 0, 0, + 244, 1, 0, 0, 228, 1, + 0, 0, 5, 0, 0, 0, + 1, 0, 12, 0, 1, 0, + 4, 0, 0, 2, 0, 0, + 1, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 2, 0, 0, 0, 4, 0, + 5, 0, 6, 0, 7, 0, + 3, 0, 0, 0, 8, 0, + 9, 0, 11, 0, 10, 0, + 0, 0, 0, 0, 64, 1, + 0, 0, 80, 1, 0, 0, + 1, 0, 0, 0, 96, 1, + 0, 0, 108, 1, 0, 0, + 117, 1, 0, 0, 124, 1, + 0, 0, 1, 0, 0, 0, + 140, 1, 0, 0, 0, 0, + 0, 0, 117, 1, 0, 0, + 124, 1, 0, 0, 2, 0, + 0, 0, 152, 1, 0, 0, + 0, 0, 0, 0, 176, 1, + 0, 0, 124, 1, 0, 0, + 1, 0, 0, 0, 184, 1, + 0, 0, 64, 1, 0, 0, + 196, 1, 0, 0, 32, 2, + 0, 0, 3, 0, 0, 0, + 48, 2, 0, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 81, 0, 0, 5, 1, 0, 15, 160, 0, 0, 0, 64, 0, 0, 0, 64, 0, 0, 0, 64, 0, 0, diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/DualTextureEffect_PSDualTextureNoFog.inc b/Kits/DirectXTK/Src/Shaders/Compiled/DualTextureEffect_PSDualTextureNoFog.inc index 9e10a36a..59cac1cf 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/DualTextureEffect_PSDualTextureNoFog.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/DualTextureEffect_PSDualTextureNoFog.inc @@ -31,17 +31,21 @@ // ps_2_0 def c0, 2, 2, 2, 1 - dcl t0 - dcl t1 + dcl t0 // pin<0,1,2,3> + dcl t1 // pin<4,5,7,6> dcl_2d s0 dcl_2d s1 + +#line 113 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\DualTextureEffect.fx" mov r0.xy, t1.wzyx - texld r0, r0, s1 - texld r1, t1, s0 + texld r0, r0, s1 // ::overlay<0,1,2,3> + texld r1, t1, s0 // ::color<0,1,2,3> + +#line 116 mul r0, r0, t0 mul r1, r1, c0 - mul r0, r0, r1 - mov oC0, r0 + mul r0, r0, r1 // ::color<0,1,2,3> + mov oC0, r0 // ::PSDualTextureNoFog<0,1,2,3> // approximately 7 instruction slots used (2 texture, 5 arithmetic) ps_4_0 @@ -65,128 +69,225 @@ ret const BYTE DualTextureEffect_PSDualTextureNoFog[] = { - 68, 88, 66, 67, 153, 27, - 95, 207, 68, 212, 28, 53, - 52, 118, 247, 86, 20, 184, - 20, 234, 1, 0, 0, 0, - 228, 2, 0, 0, 4, 0, + 68, 88, 66, 67, 247, 98, + 86, 46, 82, 158, 118, 62, + 77, 41, 130, 108, 229, 62, + 221, 37, 1, 0, 0, 0, + 44, 5, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 28, 1, 0, 0, 72, 2, - 0, 0, 176, 2, 0, 0, - 65, 111, 110, 57, 228, 0, - 0, 0, 228, 0, 0, 0, - 0, 2, 255, 255, 184, 0, + 100, 3, 0, 0, 144, 4, + 0, 0, 248, 4, 0, 0, + 65, 111, 110, 57, 44, 3, + 0, 0, 44, 3, 0, 0, + 0, 2, 255, 255, 0, 3, 0, 0, 44, 0, 0, 0, 0, 0, 44, 0, 0, 0, 44, 0, 0, 0, 44, 0, 2, 0, 36, 0, 0, 0, 44, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 2, - 255, 255, 81, 0, 0, 5, - 0, 0, 15, 160, 0, 0, - 0, 64, 0, 0, 0, 64, + 255, 255, 254, 255, 145, 0, + 68, 66, 85, 71, 40, 0, + 0, 0, 24, 2, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 124, 0, 0, 0, + 12, 0, 0, 0, 128, 0, + 0, 0, 4, 0, 0, 0, + 200, 1, 0, 0, 224, 0, + 0, 0, 67, 58, 92, 65, + 84, 71, 32, 83, 97, 109, + 112, 108, 101, 32, 68, 101, + 118, 101, 108, 111, 112, 109, + 101, 110, 116, 92, 115, 116, + 95, 100, 101, 118, 92, 75, + 105, 116, 115, 92, 68, 105, + 114, 101, 99, 116, 88, 84, + 75, 92, 83, 114, 99, 92, + 83, 104, 97, 100, 101, 114, + 115, 92, 68, 117, 97, 108, + 84, 101, 120, 116, 117, 114, + 101, 69, 102, 102, 101, 99, + 116, 46, 102, 120, 0, 171, + 171, 171, 40, 0, 0, 0, + 0, 0, 255, 255, 76, 2, + 0, 0, 0, 0, 255, 255, + 100, 2, 0, 0, 0, 0, + 255, 255, 112, 2, 0, 0, + 0, 0, 255, 255, 124, 2, + 0, 0, 0, 0, 255, 255, + 136, 2, 0, 0, 113, 0, + 0, 0, 148, 2, 0, 0, + 113, 0, 0, 0, 160, 2, + 0, 0, 112, 0, 0, 0, + 176, 2, 0, 0, 116, 0, + 0, 0, 192, 2, 0, 0, + 116, 0, 0, 0, 208, 2, + 0, 0, 116, 0, 0, 0, + 224, 2, 0, 0, 116, 0, + 0, 0, 240, 2, 0, 0, + 80, 83, 68, 117, 97, 108, + 84, 101, 120, 116, 117, 114, + 101, 78, 111, 70, 111, 103, + 0, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 11, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 99, 111, 108, 111, 114, 0, + 171, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 7, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 10, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 111, 118, 101, 114, 108, 97, + 121, 0, 6, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 112, 105, 110, 0, + 68, 105, 102, 102, 117, 115, + 101, 0, 84, 101, 120, 67, + 111, 111, 114, 100, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 2, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 84, 101, 120, 67, 111, 111, + 114, 100, 50, 0, 171, 171, + 88, 1, 0, 0, 24, 1, + 0, 0, 96, 1, 0, 0, + 108, 1, 0, 0, 124, 1, + 0, 0, 108, 1, 0, 0, + 5, 0, 0, 0, 1, 0, + 8, 0, 1, 0, 3, 0, + 136, 1, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 3, 0, 2, 0, + 0, 0, 4, 0, 5, 0, + 7, 0, 6, 0, 0, 0, + 0, 0, 224, 0, 0, 0, + 244, 0, 0, 0, 1, 0, + 0, 0, 4, 1, 0, 0, + 0, 0, 0, 0, 16, 1, + 0, 0, 24, 1, 0, 0, + 2, 0, 0, 0, 40, 1, + 0, 0, 0, 0, 0, 0, + 64, 1, 0, 0, 24, 1, + 0, 0, 1, 0, 0, 0, + 72, 1, 0, 0, 224, 0, + 0, 0, 84, 1, 0, 0, + 160, 1, 0, 0, 2, 0, + 0, 0, 176, 1, 0, 0, + 77, 105, 99, 114, 111, 115, + 111, 102, 116, 32, 40, 82, + 41, 32, 72, 76, 83, 76, + 32, 83, 104, 97, 100, 101, + 114, 32, 67, 111, 109, 112, + 105, 108, 101, 114, 32, 49, + 48, 46, 49, 0, 81, 0, + 0, 5, 0, 0, 15, 160, 0, 0, 0, 64, 0, 0, - 128, 63, 31, 0, 0, 2, - 0, 0, 0, 128, 0, 0, - 15, 176, 31, 0, 0, 2, - 0, 0, 0, 128, 1, 0, - 15, 176, 31, 0, 0, 2, - 0, 0, 0, 144, 0, 8, - 15, 160, 31, 0, 0, 2, - 0, 0, 0, 144, 1, 8, - 15, 160, 1, 0, 0, 2, - 0, 0, 3, 128, 1, 0, - 27, 176, 66, 0, 0, 3, - 0, 0, 15, 128, 0, 0, - 228, 128, 1, 8, 228, 160, - 66, 0, 0, 3, 1, 0, - 15, 128, 1, 0, 228, 176, - 0, 8, 228, 160, 5, 0, + 0, 64, 0, 0, 0, 64, + 0, 0, 128, 63, 31, 0, + 0, 2, 0, 0, 0, 128, + 0, 0, 15, 176, 31, 0, + 0, 2, 0, 0, 0, 128, + 1, 0, 15, 176, 31, 0, + 0, 2, 0, 0, 0, 144, + 0, 8, 15, 160, 31, 0, + 0, 2, 0, 0, 0, 144, + 1, 8, 15, 160, 1, 0, + 0, 2, 0, 0, 3, 128, + 1, 0, 27, 176, 66, 0, 0, 3, 0, 0, 15, 128, - 0, 0, 228, 128, 0, 0, - 228, 176, 5, 0, 0, 3, + 0, 0, 228, 128, 1, 8, + 228, 160, 66, 0, 0, 3, 1, 0, 15, 128, 1, 0, - 228, 128, 0, 0, 228, 160, + 228, 176, 0, 8, 228, 160, 5, 0, 0, 3, 0, 0, 15, 128, 0, 0, 228, 128, - 1, 0, 228, 128, 1, 0, - 0, 2, 0, 8, 15, 128, - 0, 0, 228, 128, 255, 255, - 0, 0, 83, 72, 68, 82, - 36, 1, 0, 0, 64, 0, - 0, 0, 73, 0, 0, 0, - 90, 0, 0, 3, 0, 96, + 0, 0, 228, 176, 5, 0, + 0, 3, 1, 0, 15, 128, + 1, 0, 228, 128, 0, 0, + 228, 160, 5, 0, 0, 3, + 0, 0, 15, 128, 0, 0, + 228, 128, 1, 0, 228, 128, + 1, 0, 0, 2, 0, 8, + 15, 128, 0, 0, 228, 128, + 255, 255, 0, 0, 83, 72, + 68, 82, 36, 1, 0, 0, + 64, 0, 0, 0, 73, 0, + 0, 0, 90, 0, 0, 3, + 0, 96, 16, 0, 0, 0, + 0, 0, 90, 0, 0, 3, + 0, 96, 16, 0, 1, 0, + 0, 0, 88, 24, 0, 4, + 0, 112, 16, 0, 0, 0, + 0, 0, 85, 85, 0, 0, + 88, 24, 0, 4, 0, 112, + 16, 0, 1, 0, 0, 0, + 85, 85, 0, 0, 98, 16, + 0, 3, 242, 16, 16, 0, + 0, 0, 0, 0, 98, 16, + 0, 3, 50, 16, 16, 0, + 1, 0, 0, 0, 98, 16, + 0, 3, 194, 16, 16, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 0, 0, 0, 0, 104, 0, + 0, 2, 2, 0, 0, 0, + 69, 0, 0, 9, 242, 0, 16, 0, 0, 0, 0, 0, - 90, 0, 0, 3, 0, 96, + 230, 26, 16, 0, 1, 0, + 0, 0, 70, 126, 16, 0, + 1, 0, 0, 0, 0, 96, 16, 0, 1, 0, 0, 0, - 88, 24, 0, 4, 0, 112, + 56, 0, 0, 7, 242, 0, 16, 0, 0, 0, 0, 0, - 85, 85, 0, 0, 88, 24, - 0, 4, 0, 112, 16, 0, - 1, 0, 0, 0, 85, 85, - 0, 0, 98, 16, 0, 3, - 242, 16, 16, 0, 0, 0, - 0, 0, 98, 16, 0, 3, - 50, 16, 16, 0, 1, 0, - 0, 0, 98, 16, 0, 3, - 194, 16, 16, 0, 1, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 0, 0, - 0, 0, 104, 0, 0, 2, - 2, 0, 0, 0, 69, 0, + 70, 14, 16, 0, 0, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 69, 0, 0, 9, 242, 0, 16, 0, - 0, 0, 0, 0, 230, 26, + 1, 0, 0, 0, 70, 16, 16, 0, 1, 0, 0, 0, - 70, 126, 16, 0, 1, 0, + 70, 126, 16, 0, 0, 0, 0, 0, 0, 96, 16, 0, - 1, 0, 0, 0, 56, 0, - 0, 7, 242, 0, 16, 0, - 0, 0, 0, 0, 70, 14, - 16, 0, 0, 0, 0, 0, - 70, 30, 16, 0, 0, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 1, 0, - 0, 0, 70, 16, 16, 0, - 1, 0, 0, 0, 70, 126, - 16, 0, 0, 0, 0, 0, - 0, 96, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 10, - 242, 0, 16, 0, 1, 0, - 0, 0, 70, 14, 16, 0, - 1, 0, 0, 0, 2, 64, - 0, 0, 0, 0, 0, 64, + 0, 0, 0, 0, 56, 0, + 0, 10, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 2, 64, 0, 0, 0, 0, + 0, 64, 0, 0, 0, 64, 0, 0, 0, 64, 0, 0, - 0, 64, 0, 0, 128, 63, - 56, 0, 0, 7, 242, 32, - 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 0, 0, + 128, 63, 56, 0, 0, 7, + 242, 32, 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, - 1, 0, 0, 0, 62, 0, - 0, 1, 73, 83, 71, 78, - 96, 0, 0, 0, 3, 0, - 0, 0, 8, 0, 0, 0, - 80, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 62, 0, 0, 1, 73, 83, + 71, 78, 96, 0, 0, 0, + 3, 0, 0, 0, 8, 0, + 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 15, 0, 0, - 86, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 15, + 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 3, 3, 0, 0, - 86, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 3, 3, + 0, 0, 86, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 12, 12, + 0, 0, 67, 79, 76, 79, + 82, 0, 84, 69, 88, 67, + 79, 79, 82, 68, 0, 171, + 79, 83, 71, 78, 44, 0, + 0, 0, 1, 0, 0, 0, + 8, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 12, 12, 0, 0, - 67, 79, 76, 79, 82, 0, - 84, 69, 88, 67, 79, 79, - 82, 68, 0, 171, 79, 83, - 71, 78, 44, 0, 0, 0, - 1, 0, 0, 0, 8, 0, - 0, 0, 32, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 83, 86, 95, 84, - 97, 114, 103, 101, 116, 0, - 171, 171 + 15, 0, 0, 0, 83, 86, + 95, 84, 97, 114, 103, 101, + 116, 0, 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/DualTextureEffect_VSDualTexture.inc b/Kits/DirectXTK/Src/Shaders/Compiled/DualTextureEffect_VSDualTexture.inc index 46b8d497..9c93e422 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/DualTextureEffect_VSDualTexture.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/DualTextureEffect_VSDualTexture.inc @@ -42,22 +42,34 @@ // vs_2_0 def c7, 0, 1, 0, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 - dp4 oPos.z, v0, c5 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5> + dcl_texcoord2 v2 // vin<6,7> + +#line 43 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + dp4 oPos.z, v0, c5 // ::VSDualTexture<14> + +#line 14 dp4 r0.x, v0, c2 max r0.x, r0.x, c7.x - min oT1.w, r0.x, c7.y - dp4 r0.x, v0, c3 - dp4 r0.y, v0, c4 - dp4 r0.z, v0, c6 - mad oPos.xy, r0.z, c0, r0 - mov oPos.w, r0.z - mov oT0, c1 - mov oT1.xyz, c7.x - mov oT2.xy, v1 - mov oT2.zw, v2.xyyx + min oT1.w, r0.x, c7.y // ::VSDualTexture<7> + +#line 43 + dp4 r0.x, v0, c3 // ::vout<0> + dp4 r0.y, v0, c4 // ::vout<1> + dp4 r0.z, v0, c6 // ::vout<3> + +#line 33 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\DualTextureEffect.fx" + mad oPos.xy, r0.z, c0, r0 // ::VSDualTexture<12,13> + mov oPos.w, r0.z // ::VSDualTexture<15> + +#line 44 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + mov oT0, c1 // ::VSDualTexture<0,1,2,3> + mov oT1.xyz, c7.x // ::VSDualTexture<4,5,6> + +#line 40 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\DualTextureEffect.fx" + mov oT2.xy, v1 // ::VSDualTexture<8,9> + mov oT2.zw, v2.xyyx // ::VSDualTexture<11,10> // approximately 13 instruction slots used vs_4_0 @@ -85,17 +97,17 @@ ret const BYTE DualTextureEffect_VSDualTexture[] = { - 68, 88, 66, 67, 88, 79, - 46, 165, 110, 4, 103, 119, - 19, 141, 88, 31, 26, 233, - 211, 116, 1, 0, 0, 0, - 24, 4, 0, 0, 4, 0, + 68, 88, 66, 67, 77, 60, + 45, 61, 77, 38, 39, 90, + 195, 111, 157, 76, 71, 113, + 130, 199, 1, 0, 0, 0, + 184, 7, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 124, 1, 0, 0, 4, 3, - 0, 0, 116, 3, 0, 0, - 65, 111, 110, 57, 68, 1, - 0, 0, 68, 1, 0, 0, - 0, 2, 254, 255, 4, 1, + 28, 5, 0, 0, 164, 6, + 0, 0, 20, 7, 0, 0, + 65, 111, 110, 57, 228, 4, + 0, 0, 228, 4, 0, 0, + 0, 2, 254, 255, 164, 4, 0, 0, 64, 0, 0, 0, 2, 0, 36, 0, 0, 0, 60, 0, 0, 0, 60, 0, @@ -105,159 +117,314 @@ const BYTE DualTextureEffect_VSDualTexture[] = 0, 0, 0, 0, 2, 0, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 81, 0, - 0, 5, 7, 0, 15, 160, + 0, 2, 254, 255, 254, 255, + 231, 0, 68, 66, 85, 71, + 40, 0, 0, 0, 112, 3, 0, 0, 0, 0, 0, 0, - 128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 1, 128, - 1, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 2, 128, - 2, 0, 15, 144, 9, 0, - 0, 3, 0, 0, 4, 192, - 0, 0, 228, 144, 5, 0, - 228, 160, 9, 0, 0, 3, - 0, 0, 1, 128, 0, 0, - 228, 144, 2, 0, 228, 160, - 11, 0, 0, 3, 0, 0, - 1, 128, 0, 0, 0, 128, - 7, 0, 0, 160, 10, 0, - 0, 3, 1, 0, 8, 224, + 2, 0, 0, 0, 192, 0, + 0, 0, 17, 0, 0, 0, + 200, 0, 0, 0, 3, 0, + 0, 0, 52, 3, 0, 0, + 80, 1, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 67, 111, + 109, 109, 111, 110, 46, 102, + 120, 104, 0, 67, 58, 92, + 65, 84, 71, 32, 83, 97, + 109, 112, 108, 101, 32, 68, + 101, 118, 101, 108, 111, 112, + 109, 101, 110, 116, 92, 115, + 116, 95, 100, 101, 118, 92, + 75, 105, 116, 115, 92, 68, + 105, 114, 101, 99, 116, 88, + 84, 75, 92, 83, 114, 99, + 92, 83, 104, 97, 100, 101, + 114, 115, 92, 68, 117, 97, + 108, 84, 101, 120, 116, 117, + 114, 101, 69, 102, 102, 101, + 99, 116, 46, 102, 120, 0, + 40, 0, 0, 0, 111, 0, + 0, 0, 0, 0, 255, 255, + 164, 3, 0, 0, 0, 0, + 255, 255, 188, 3, 0, 0, + 0, 0, 255, 255, 200, 3, + 0, 0, 0, 0, 255, 255, + 212, 3, 0, 0, 43, 0, + 0, 0, 224, 3, 0, 0, + 14, 0, 0, 0, 240, 3, + 0, 0, 14, 0, 0, 0, + 0, 4, 0, 0, 14, 0, + 0, 0, 16, 4, 0, 0, + 43, 0, 0, 0, 32, 4, + 0, 0, 43, 0, 0, 0, + 48, 4, 0, 0, 43, 0, + 0, 0, 64, 4, 0, 0, + 33, 0, 1, 0, 80, 4, + 0, 0, 33, 0, 1, 0, + 100, 4, 0, 0, 44, 0, + 0, 0, 112, 4, 0, 0, + 45, 0, 0, 0, 124, 4, + 0, 0, 40, 0, 1, 0, + 136, 4, 0, 0, 40, 0, + 1, 0, 148, 4, 0, 0, + 86, 83, 68, 117, 97, 108, + 84, 101, 120, 116, 117, 114, + 101, 0, 68, 105, 102, 102, + 117, 115, 101, 0, 171, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 83, 112, + 101, 99, 117, 108, 97, 114, + 0, 84, 101, 120, 67, 111, + 111, 114, 100, 0, 171, 171, + 1, 0, 3, 0, 1, 0, + 2, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 84, 101, + 120, 67, 111, 111, 114, 100, + 50, 0, 80, 111, 115, 105, + 116, 105, 111, 110, 80, 83, + 0, 171, 171, 171, 94, 1, + 0, 0, 104, 1, 0, 0, + 120, 1, 0, 0, 104, 1, + 0, 0, 129, 1, 0, 0, + 140, 1, 0, 0, 156, 1, + 0, 0, 140, 1, 0, 0, + 166, 1, 0, 0, 104, 1, + 0, 0, 5, 0, 0, 0, + 1, 0, 16, 0, 1, 0, + 5, 0, 180, 1, 0, 0, + 4, 0, 0, 0, 255, 255, + 255, 255, 14, 0, 255, 255, + 7, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 7, 0, + 11, 0, 0, 0, 12, 0, + 13, 0, 255, 255, 255, 255, + 12, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 15, 0, + 13, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 14, 0, 0, 0, 4, 0, + 5, 0, 6, 0, 255, 255, + 15, 0, 0, 0, 8, 0, + 9, 0, 255, 255, 255, 255, + 16, 0, 0, 0, 255, 255, + 255, 255, 11, 0, 10, 0, + 118, 105, 110, 0, 80, 111, + 115, 105, 116, 105, 111, 110, + 0, 171, 171, 171, 80, 2, + 0, 0, 104, 1, 0, 0, + 129, 1, 0, 0, 140, 1, + 0, 0, 156, 1, 0, 0, + 140, 1, 0, 0, 5, 0, + 0, 0, 1, 0, 8, 0, + 1, 0, 3, 0, 92, 2, + 0, 0, 1, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 2, 0, 0, 0, + 4, 0, 5, 0, 255, 255, + 255, 255, 3, 0, 0, 0, + 6, 0, 7, 0, 255, 255, + 255, 255, 118, 111, 117, 116, + 0, 80, 111, 115, 95, 112, + 115, 0, 1, 0, 3, 0, + 1, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 70, 111, 103, 70, 97, 99, + 116, 111, 114, 0, 171, 171, + 0, 0, 3, 0, 1, 0, + 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 173, 2, + 0, 0, 104, 1, 0, 0, + 94, 1, 0, 0, 104, 1, + 0, 0, 120, 1, 0, 0, + 180, 2, 0, 0, 196, 2, + 0, 0, 208, 2, 0, 0, + 5, 0, 0, 0, 1, 0, + 12, 0, 1, 0, 4, 0, + 224, 2, 0, 0, 8, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 9, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 10, 0, + 0, 0, 255, 255, 255, 255, + 3, 0, 255, 255, 0, 0, + 0, 0, 80, 1, 0, 0, + 220, 1, 0, 0, 8, 0, + 0, 0, 236, 1, 0, 0, + 80, 1, 0, 0, 76, 2, + 0, 0, 116, 2, 0, 0, + 3, 0, 0, 0, 132, 2, + 0, 0, 0, 0, 0, 0, + 168, 2, 0, 0, 0, 3, + 0, 0, 3, 0, 0, 0, + 16, 3, 0, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 81, 0, 0, 5, + 7, 0, 15, 160, 0, 0, + 0, 0, 0, 0, 128, 63, + 0, 0, 0, 0, 0, 0, + 0, 0, 31, 0, 0, 2, + 5, 0, 0, 128, 0, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 1, 128, 1, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 2, 128, 2, 0, + 15, 144, 9, 0, 0, 3, + 0, 0, 4, 192, 0, 0, + 228, 144, 5, 0, 228, 160, + 9, 0, 0, 3, 0, 0, + 1, 128, 0, 0, 228, 144, + 2, 0, 228, 160, 11, 0, + 0, 3, 0, 0, 1, 128, 0, 0, 0, 128, 7, 0, - 85, 160, 9, 0, 0, 3, - 0, 0, 1, 128, 0, 0, - 228, 144, 3, 0, 228, 160, + 0, 160, 10, 0, 0, 3, + 1, 0, 8, 224, 0, 0, + 0, 128, 7, 0, 85, 160, 9, 0, 0, 3, 0, 0, - 2, 128, 0, 0, 228, 144, - 4, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 4, 128, - 0, 0, 228, 144, 6, 0, - 228, 160, 4, 0, 0, 4, - 0, 0, 3, 192, 0, 0, - 170, 128, 0, 0, 228, 160, - 0, 0, 228, 128, 1, 0, - 0, 2, 0, 0, 8, 192, - 0, 0, 170, 128, 1, 0, - 0, 2, 0, 0, 15, 224, - 1, 0, 228, 160, 1, 0, - 0, 2, 1, 0, 7, 224, - 7, 0, 0, 160, 1, 0, - 0, 2, 2, 0, 3, 224, - 1, 0, 228, 144, 1, 0, - 0, 2, 2, 0, 12, 224, - 2, 0, 20, 144, 255, 255, - 0, 0, 83, 72, 68, 82, - 128, 1, 0, 0, 64, 0, - 1, 0, 96, 0, 0, 0, - 89, 0, 0, 4, 70, 142, - 32, 0, 0, 0, 0, 0, - 7, 0, 0, 0, 95, 0, - 0, 3, 242, 16, 16, 0, - 0, 0, 0, 0, 95, 0, - 0, 3, 50, 16, 16, 0, - 1, 0, 0, 0, 95, 0, - 0, 3, 50, 16, 16, 0, - 2, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 0, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 50, 32, 16, 0, - 2, 0, 0, 0, 101, 0, - 0, 3, 194, 32, 16, 0, - 2, 0, 0, 0, 103, 0, - 0, 4, 242, 32, 16, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 54, 0, 0, 6, + 1, 128, 0, 0, 228, 144, + 3, 0, 228, 160, 9, 0, + 0, 3, 0, 0, 2, 128, + 0, 0, 228, 144, 4, 0, + 228, 160, 9, 0, 0, 3, + 0, 0, 4, 128, 0, 0, + 228, 144, 6, 0, 228, 160, + 4, 0, 0, 4, 0, 0, + 3, 192, 0, 0, 170, 128, + 0, 0, 228, 160, 0, 0, + 228, 128, 1, 0, 0, 2, + 0, 0, 8, 192, 0, 0, + 170, 128, 1, 0, 0, 2, + 0, 0, 15, 224, 1, 0, + 228, 160, 1, 0, 0, 2, + 1, 0, 7, 224, 7, 0, + 0, 160, 1, 0, 0, 2, + 2, 0, 3, 224, 1, 0, + 228, 144, 1, 0, 0, 2, + 2, 0, 12, 224, 2, 0, + 20, 144, 255, 255, 0, 0, + 83, 72, 68, 82, 128, 1, + 0, 0, 64, 0, 1, 0, + 96, 0, 0, 0, 89, 0, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 95, 0, 0, 3, + 242, 16, 16, 0, 0, 0, + 0, 0, 95, 0, 0, 3, + 50, 16, 16, 0, 1, 0, + 0, 0, 95, 0, 0, 3, + 50, 16, 16, 0, 2, 0, + 0, 0, 101, 0, 0, 3, 242, 32, 16, 0, 0, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 1, 0, + 0, 0, 101, 0, 0, 3, + 50, 32, 16, 0, 2, 0, + 0, 0, 101, 0, 0, 3, + 194, 32, 16, 0, 2, 0, + 0, 0, 103, 0, 0, 4, + 242, 32, 16, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 54, 0, 0, 6, 242, 32, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 17, 32, 0, 8, 130, 32, + 16, 0, 1, 0, 0, 0, + 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 54, 0, 0, 8, + 114, 32, 16, 0, 1, 0, + 0, 0, 2, 64, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 17, 32, 0, 8, - 130, 32, 16, 0, 1, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 50, 32, 16, 0, + 2, 0, 0, 0, 70, 16, + 16, 0, 1, 0, 0, 0, + 54, 0, 0, 5, 194, 32, + 16, 0, 2, 0, 0, 0, + 6, 20, 16, 0, 2, 0, + 0, 0, 17, 0, 0, 8, + 18, 32, 16, 0, 3, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 54, 0, - 0, 8, 114, 32, 16, 0, - 1, 0, 0, 0, 2, 64, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 54, 0, 0, 5, 50, 32, - 16, 0, 2, 0, 0, 0, - 70, 16, 16, 0, 1, 0, - 0, 0, 54, 0, 0, 5, - 194, 32, 16, 0, 2, 0, - 0, 0, 6, 20, 16, 0, - 2, 0, 0, 0, 17, 0, - 0, 8, 18, 32, 16, 0, + 3, 0, 0, 0, 17, 0, + 0, 8, 34, 32, 16, 0, 3, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 17, 0, 0, 8, 34, 32, + 0, 0, 4, 0, 0, 0, + 17, 0, 0, 8, 66, 32, 16, 0, 3, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 4, 0, + 0, 0, 0, 0, 5, 0, 0, 0, 17, 0, 0, 8, - 66, 32, 16, 0, 3, 0, + 130, 32, 16, 0, 3, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 5, 0, 0, 0, 17, 0, - 0, 8, 130, 32, 16, 0, - 3, 0, 0, 0, 70, 30, - 16, 0, 0, 0, 0, 0, - 70, 142, 32, 0, 0, 0, - 0, 0, 6, 0, 0, 0, - 62, 0, 0, 1, 73, 83, - 71, 78, 104, 0, 0, 0, - 3, 0, 0, 0, 8, 0, - 0, 0, 80, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 15, - 0, 0, 92, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 3, 3, - 0, 0, 92, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 2, 0, 0, 0, 3, 3, - 0, 0, 83, 86, 95, 80, - 111, 115, 105, 116, 105, 111, - 110, 0, 84, 69, 88, 67, - 79, 79, 82, 68, 0, 171, - 171, 171, 79, 83, 71, 78, - 156, 0, 0, 0, 5, 0, + 6, 0, 0, 0, 62, 0, + 0, 1, 73, 83, 71, 78, + 104, 0, 0, 0, 3, 0, 0, 0, 8, 0, 0, 0, - 128, 0, 0, 0, 0, 0, + 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 128, 0, 0, 0, 1, 0, + 0, 0, 15, 15, 0, 0, + 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, - 0, 0, 15, 0, 0, 0, - 134, 0, 0, 0, 0, 0, + 0, 0, 3, 3, 0, 0, + 92, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, - 0, 0, 3, 12, 0, 0, - 134, 0, 0, 0, 1, 0, + 0, 0, 3, 3, 0, 0, + 83, 86, 95, 80, 111, 115, + 105, 116, 105, 111, 110, 0, + 84, 69, 88, 67, 79, 79, + 82, 68, 0, 171, 171, 171, + 79, 83, 71, 78, 156, 0, + 0, 0, 5, 0, 0, 0, + 8, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 12, 3, 0, 0, - 143, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 128, 0, 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 3, 0, - 0, 0, 15, 0, 0, 0, - 67, 79, 76, 79, 82, 0, - 84, 69, 88, 67, 79, 79, - 82, 68, 0, 83, 86, 95, - 80, 111, 115, 105, 116, 105, - 111, 110, 0, 171 + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 15, 0, 0, 0, 134, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 3, 12, 0, 0, 134, 0, + 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 12, 3, 0, 0, 143, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 15, 0, 0, 0, 67, 79, + 76, 79, 82, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 83, 86, 95, 80, 111, + 115, 105, 116, 105, 111, 110, + 0, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/DualTextureEffect_VSDualTextureNoFog.inc b/Kits/DirectXTK/Src/Shaders/Compiled/DualTextureEffect_VSDualTextureNoFog.inc index 7cce460d..0e7dc755 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/DualTextureEffect_VSDualTextureNoFog.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/DualTextureEffect_VSDualTextureNoFog.inc @@ -40,18 +40,26 @@ // Level9 shader bytecode: // vs_2_0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 - dp4 oPos.z, v0, c4 - dp4 r0.x, v0, c2 - dp4 r0.y, v0, c3 - dp4 r0.z, v0, c5 - mad oPos.xy, r0.z, c0, r0 - mov oPos.w, r0.z - mov oT0, c1 - mov oT1.xy, v1 - mov oT1.zw, v2.xyyx + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5> + dcl_texcoord2 v2 // vin<6,7> + +#line 43 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + dp4 oPos.z, v0, c4 // ::VSDualTextureNoFog<10> + dp4 r0.x, v0, c2 // ::vout<0> + dp4 r0.y, v0, c3 // ::vout<1> + dp4 r0.z, v0, c5 // ::vout<3> + +#line 48 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\DualTextureEffect.fx" + mad oPos.xy, r0.z, c0, r0 // ::VSDualTextureNoFog<8,9> + mov oPos.w, r0.z // ::VSDualTextureNoFog<11> + +#line 44 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + mov oT0, c1 // ::VSDualTextureNoFog<0,1,2,3> + +#line 55 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\DualTextureEffect.fx" + mov oT1.xy, v1 // ::VSDualTextureNoFog<4,5> + mov oT1.zw, v2.xyyx // ::VSDualTextureNoFog<7,6> // approximately 9 instruction slots used vs_4_0 @@ -76,17 +84,17 @@ ret const BYTE DualTextureEffect_VSDualTextureNoFog[] = { - 68, 88, 66, 67, 30, 75, - 216, 234, 121, 215, 229, 59, - 247, 49, 209, 178, 22, 248, - 155, 79, 1, 0, 0, 0, - 96, 3, 0, 0, 4, 0, + 68, 88, 66, 67, 226, 38, + 56, 142, 173, 71, 126, 81, + 49, 0, 70, 146, 32, 177, + 75, 62, 1, 0, 0, 0, + 192, 6, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 40, 1, 0, 0, 100, 2, - 0, 0, 212, 2, 0, 0, - 65, 111, 110, 57, 240, 0, - 0, 0, 240, 0, 0, 0, - 0, 2, 254, 255, 176, 0, + 136, 4, 0, 0, 196, 5, + 0, 0, 52, 6, 0, 0, + 65, 111, 110, 57, 80, 4, + 0, 0, 80, 4, 0, 0, + 0, 2, 254, 255, 16, 4, 0, 0, 64, 0, 0, 0, 2, 0, 36, 0, 0, 0, 60, 0, 0, 0, 60, 0, @@ -96,7 +104,151 @@ const BYTE DualTextureEffect_VSDualTextureNoFog[] = 0, 0, 0, 0, 3, 0, 4, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 31, 0, + 0, 2, 254, 255, 254, 255, + 215, 0, 68, 66, 85, 71, + 40, 0, 0, 0, 48, 3, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 192, 0, + 0, 0, 12, 0, 0, 0, + 200, 0, 0, 0, 3, 0, + 0, 0, 244, 2, 0, 0, + 40, 1, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 67, 111, + 109, 109, 111, 110, 46, 102, + 120, 104, 0, 67, 58, 92, + 65, 84, 71, 32, 83, 97, + 109, 112, 108, 101, 32, 68, + 101, 118, 101, 108, 111, 112, + 109, 101, 110, 116, 92, 115, + 116, 95, 100, 101, 118, 92, + 75, 105, 116, 115, 92, 68, + 105, 114, 101, 99, 116, 88, + 84, 75, 92, 83, 114, 99, + 92, 83, 104, 97, 100, 101, + 114, 115, 92, 68, 117, 97, + 108, 84, 101, 120, 116, 117, + 114, 101, 69, 102, 102, 101, + 99, 116, 46, 102, 120, 0, + 40, 0, 0, 0, 111, 0, + 0, 0, 0, 0, 255, 255, + 100, 3, 0, 0, 0, 0, + 255, 255, 112, 3, 0, 0, + 0, 0, 255, 255, 124, 3, + 0, 0, 43, 0, 0, 0, + 136, 3, 0, 0, 43, 0, + 0, 0, 152, 3, 0, 0, + 43, 0, 0, 0, 168, 3, + 0, 0, 43, 0, 0, 0, + 184, 3, 0, 0, 48, 0, + 1, 0, 200, 3, 0, 0, + 48, 0, 1, 0, 220, 3, + 0, 0, 44, 0, 0, 0, + 232, 3, 0, 0, 55, 0, + 1, 0, 244, 3, 0, 0, + 55, 0, 1, 0, 0, 4, + 0, 0, 86, 83, 68, 117, + 97, 108, 84, 101, 120, 116, + 117, 114, 101, 78, 111, 70, + 111, 103, 0, 68, 105, 102, + 102, 117, 115, 101, 0, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 84, 101, + 120, 67, 111, 111, 114, 100, + 0, 171, 171, 171, 1, 0, + 3, 0, 1, 0, 2, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 84, 101, 120, 67, + 111, 111, 114, 100, 50, 0, + 80, 111, 115, 105, 116, 105, + 111, 110, 80, 83, 0, 171, + 171, 171, 59, 1, 0, 0, + 68, 1, 0, 0, 84, 1, + 0, 0, 96, 1, 0, 0, + 112, 1, 0, 0, 96, 1, + 0, 0, 122, 1, 0, 0, + 68, 1, 0, 0, 5, 0, + 0, 0, 1, 0, 12, 0, + 1, 0, 4, 0, 136, 1, + 0, 0, 3, 0, 0, 0, + 255, 255, 255, 255, 10, 0, + 255, 255, 7, 0, 0, 0, + 8, 0, 9, 0, 255, 255, + 255, 255, 8, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 11, 0, 9, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 10, 0, 0, 0, + 4, 0, 5, 0, 255, 255, + 255, 255, 11, 0, 0, 0, + 255, 255, 255, 255, 7, 0, + 6, 0, 118, 105, 110, 0, + 80, 111, 115, 105, 116, 105, + 111, 110, 0, 171, 171, 171, + 4, 2, 0, 0, 68, 1, + 0, 0, 84, 1, 0, 0, + 96, 1, 0, 0, 112, 1, + 0, 0, 96, 1, 0, 0, + 5, 0, 0, 0, 1, 0, + 8, 0, 1, 0, 3, 0, + 16, 2, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 3, 0, 1, 0, + 0, 0, 4, 0, 5, 0, + 255, 255, 255, 255, 2, 0, + 0, 0, 6, 0, 7, 0, + 255, 255, 255, 255, 118, 111, + 117, 116, 0, 80, 111, 115, + 95, 112, 115, 0, 83, 112, + 101, 99, 117, 108, 97, 114, + 0, 171, 171, 171, 1, 0, + 3, 0, 1, 0, 3, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 70, 111, 103, 70, + 97, 99, 116, 111, 114, 0, + 171, 171, 0, 0, 3, 0, + 1, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 97, 2, 0, 0, 68, 1, + 0, 0, 59, 1, 0, 0, + 68, 1, 0, 0, 104, 2, + 0, 0, 116, 2, 0, 0, + 132, 2, 0, 0, 144, 2, + 0, 0, 5, 0, 0, 0, + 1, 0, 12, 0, 1, 0, + 4, 0, 160, 2, 0, 0, + 4, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 5, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 6, 0, 0, 0, 255, 255, + 255, 255, 3, 0, 255, 255, + 0, 0, 0, 0, 40, 1, + 0, 0, 168, 1, 0, 0, + 6, 0, 0, 0, 184, 1, + 0, 0, 40, 1, 0, 0, + 0, 2, 0, 0, 40, 2, + 0, 0, 3, 0, 0, 0, + 56, 2, 0, 0, 0, 0, + 0, 0, 92, 2, 0, 0, + 192, 2, 0, 0, 3, 0, + 0, 0, 208, 2, 0, 0, + 77, 105, 99, 114, 111, 115, + 111, 102, 116, 32, 40, 82, + 41, 32, 72, 76, 83, 76, + 32, 83, 104, 97, 100, 101, + 114, 32, 67, 111, 109, 112, + 105, 108, 101, 114, 32, 49, + 48, 46, 49, 0, 31, 0, 0, 2, 5, 0, 0, 128, 0, 0, 15, 144, 31, 0, 0, 2, 5, 0, 1, 128, diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/DualTextureEffect_VSDualTextureVc.inc b/Kits/DirectXTK/Src/Shaders/Compiled/DualTextureEffect_VSDualTextureVc.inc index 96288618..e325c8e5 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/DualTextureEffect_VSDualTextureVc.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/DualTextureEffect_VSDualTextureVc.inc @@ -43,23 +43,37 @@ // vs_2_0 def c7, 0, 1, 0, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 - dcl_texcoord3 v3 - dp4 oPos.z, v0, c5 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5> + dcl_texcoord2 v2 // vin<6,7> + dcl_texcoord3 v3 // vin<8,9,10,11> + +#line 43 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + dp4 oPos.z, v0, c5 // ::VSDualTextureVc<14> + +#line 14 dp4 r0.x, v0, c2 max r0.x, r0.x, c7.x - min oT1.w, r0.x, c7.y - mul oT0, v3, c1 - dp4 r0.x, v0, c3 - dp4 r0.y, v0, c4 - dp4 r0.z, v0, c6 - mad oPos.xy, r0.z, c0, r0 - mov oPos.w, r0.z - mov oT1.xyz, c7.x - mov oT2.xy, v1 - mov oT2.zw, v2.xyyx + min oT1.w, r0.x, c7.y // ::VSDualTextureVc<7> + +#line 72 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\DualTextureEffect.fx" + mul oT0, v3, c1 // ::VSDualTextureVc<0,1,2,3> + +#line 43 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + dp4 r0.x, v0, c3 // ::vout<0> + dp4 r0.y, v0, c4 // ::vout<1> + dp4 r0.z, v0, c6 // ::vout<3> + +#line 63 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\DualTextureEffect.fx" + mad oPos.xy, r0.z, c0, r0 // ::VSDualTextureVc<12,13> + mov oPos.w, r0.z // ::VSDualTextureVc<15> + +#line 45 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + mov oT1.xyz, c7.x // ::VSDualTextureVc<4,5,6> + +#line 70 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\DualTextureEffect.fx" + mov oT2.xy, v1 // ::VSDualTextureVc<8,9> + mov oT2.zw, v2.xyyx // ::VSDualTextureVc<11,10> // approximately 13 instruction slots used vs_4_0 @@ -88,17 +102,17 @@ ret const BYTE DualTextureEffect_VSDualTextureVc[] = { - 68, 88, 66, 67, 203, 16, - 198, 231, 197, 220, 255, 190, - 38, 217, 54, 1, 67, 218, - 120, 110, 1, 0, 0, 0, - 88, 4, 0, 0, 4, 0, + 68, 88, 66, 67, 23, 20, + 57, 133, 81, 250, 177, 30, + 147, 64, 150, 199, 71, 109, + 18, 136, 1, 0, 0, 0, + 24, 8, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 140, 1, 0, 0, 40, 3, - 0, 0, 180, 3, 0, 0, - 65, 111, 110, 57, 84, 1, - 0, 0, 84, 1, 0, 0, - 0, 2, 254, 255, 20, 1, + 76, 5, 0, 0, 232, 6, + 0, 0, 116, 7, 0, 0, + 65, 111, 110, 57, 20, 5, + 0, 0, 20, 5, 0, 0, + 0, 2, 254, 255, 212, 4, 0, 0, 64, 0, 0, 0, 2, 0, 36, 0, 0, 0, 60, 0, 0, 0, 60, 0, @@ -108,7 +122,167 @@ const BYTE DualTextureEffect_VSDualTextureVc[] = 0, 0, 0, 0, 2, 0, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 81, 0, + 0, 2, 254, 255, 254, 255, + 239, 0, 68, 66, 85, 71, + 40, 0, 0, 0, 144, 3, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 192, 0, + 0, 0, 18, 0, 0, 0, + 200, 0, 0, 0, 3, 0, + 0, 0, 84, 3, 0, 0, + 88, 1, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 67, 111, + 109, 109, 111, 110, 46, 102, + 120, 104, 0, 67, 58, 92, + 65, 84, 71, 32, 83, 97, + 109, 112, 108, 101, 32, 68, + 101, 118, 101, 108, 111, 112, + 109, 101, 110, 116, 92, 115, + 116, 95, 100, 101, 118, 92, + 75, 105, 116, 115, 92, 68, + 105, 114, 101, 99, 116, 88, + 84, 75, 92, 83, 114, 99, + 92, 83, 104, 97, 100, 101, + 114, 115, 92, 68, 117, 97, + 108, 84, 101, 120, 116, 117, + 114, 101, 69, 102, 102, 101, + 99, 116, 46, 102, 120, 0, + 40, 0, 0, 0, 111, 0, + 0, 0, 0, 0, 255, 255, + 196, 3, 0, 0, 0, 0, + 255, 255, 220, 3, 0, 0, + 0, 0, 255, 255, 232, 3, + 0, 0, 0, 0, 255, 255, + 244, 3, 0, 0, 0, 0, + 255, 255, 0, 4, 0, 0, + 43, 0, 0, 0, 12, 4, + 0, 0, 14, 0, 0, 0, + 28, 4, 0, 0, 14, 0, + 0, 0, 44, 4, 0, 0, + 14, 0, 0, 0, 60, 4, + 0, 0, 72, 0, 1, 0, + 76, 4, 0, 0, 43, 0, + 0, 0, 92, 4, 0, 0, + 43, 0, 0, 0, 108, 4, + 0, 0, 43, 0, 0, 0, + 124, 4, 0, 0, 63, 0, + 1, 0, 140, 4, 0, 0, + 63, 0, 1, 0, 160, 4, + 0, 0, 45, 0, 0, 0, + 172, 4, 0, 0, 70, 0, + 1, 0, 184, 4, 0, 0, + 70, 0, 1, 0, 196, 4, + 0, 0, 86, 83, 68, 117, + 97, 108, 84, 101, 120, 116, + 117, 114, 101, 86, 99, 0, + 68, 105, 102, 102, 117, 115, + 101, 0, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 83, 112, 101, 99, 117, 108, + 97, 114, 0, 84, 101, 120, + 67, 111, 111, 114, 100, 0, + 171, 171, 1, 0, 3, 0, + 1, 0, 2, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 84, 101, 120, 67, 111, 111, + 114, 100, 50, 0, 80, 111, + 115, 105, 116, 105, 111, 110, + 80, 83, 0, 171, 171, 171, + 104, 1, 0, 0, 112, 1, + 0, 0, 128, 1, 0, 0, + 112, 1, 0, 0, 137, 1, + 0, 0, 148, 1, 0, 0, + 164, 1, 0, 0, 148, 1, + 0, 0, 174, 1, 0, 0, + 112, 1, 0, 0, 5, 0, + 0, 0, 1, 0, 16, 0, + 1, 0, 5, 0, 188, 1, + 0, 0, 5, 0, 0, 0, + 255, 255, 255, 255, 14, 0, + 255, 255, 8, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 7, 0, 9, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 13, 0, 0, 0, + 12, 0, 13, 0, 255, 255, + 255, 255, 14, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 15, 0, 15, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 255, 255, 16, 0, 0, 0, + 8, 0, 9, 0, 255, 255, + 255, 255, 17, 0, 0, 0, + 255, 255, 255, 255, 11, 0, + 10, 0, 118, 105, 110, 0, + 80, 111, 115, 105, 116, 105, + 111, 110, 0, 67, 111, 108, + 111, 114, 0, 171, 88, 2, + 0, 0, 112, 1, 0, 0, + 137, 1, 0, 0, 148, 1, + 0, 0, 164, 1, 0, 0, + 148, 1, 0, 0, 97, 2, + 0, 0, 112, 1, 0, 0, + 5, 0, 0, 0, 1, 0, + 12, 0, 1, 0, 4, 0, + 104, 2, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 3, 0, 2, 0, + 0, 0, 4, 0, 5, 0, + 255, 255, 255, 255, 3, 0, + 0, 0, 6, 0, 7, 0, + 255, 255, 255, 255, 4, 0, + 0, 0, 8, 0, 9, 0, + 10, 0, 11, 0, 118, 111, + 117, 116, 0, 80, 111, 115, + 95, 112, 115, 0, 1, 0, + 3, 0, 1, 0, 3, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 70, 111, 103, 70, + 97, 99, 116, 111, 114, 0, + 171, 171, 0, 0, 3, 0, + 1, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 205, 2, 0, 0, 112, 1, + 0, 0, 104, 1, 0, 0, + 112, 1, 0, 0, 128, 1, + 0, 0, 212, 2, 0, 0, + 228, 2, 0, 0, 240, 2, + 0, 0, 5, 0, 0, 0, + 1, 0, 12, 0, 1, 0, + 4, 0, 0, 3, 0, 0, + 10, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 11, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 12, 0, 0, 0, 255, 255, + 255, 255, 3, 0, 255, 255, + 0, 0, 0, 0, 88, 1, + 0, 0, 228, 1, 0, 0, + 8, 0, 0, 0, 244, 1, + 0, 0, 88, 1, 0, 0, + 84, 2, 0, 0, 136, 2, + 0, 0, 4, 0, 0, 0, + 152, 2, 0, 0, 0, 0, + 0, 0, 200, 2, 0, 0, + 32, 3, 0, 0, 3, 0, + 0, 0, 48, 3, 0, 0, + 77, 105, 99, 114, 111, 115, + 111, 102, 116, 32, 40, 82, + 41, 32, 72, 76, 83, 76, + 32, 83, 104, 97, 100, 101, + 114, 32, 67, 111, 109, 112, + 105, 108, 101, 114, 32, 49, + 48, 46, 49, 0, 81, 0, 0, 5, 7, 0, 15, 160, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/DualTextureEffect_VSDualTextureVcNoFog.inc b/Kits/DirectXTK/Src/Shaders/Compiled/DualTextureEffect_VSDualTextureVcNoFog.inc index 1b598431..a9ee8399 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/DualTextureEffect_VSDualTextureVcNoFog.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/DualTextureEffect_VSDualTextureVcNoFog.inc @@ -41,19 +41,29 @@ // Level9 shader bytecode: // vs_2_0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 - dcl_texcoord3 v3 - dp4 oPos.z, v0, c4 - mul oT0, v3, c1 - dp4 r0.x, v0, c2 - dp4 r0.y, v0, c3 - dp4 r0.z, v0, c5 - mad oPos.xy, r0.z, c0, r0 - mov oPos.w, r0.z - mov oT1.xy, v1 - mov oT1.zw, v2.xyyx + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5> + dcl_texcoord2 v2 // vin<6,7> + dcl_texcoord3 v3 // vin<8,9,10,11> + +#line 43 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + dp4 oPos.z, v0, c4 // ::VSDualTextureVcNoFog<10> + +#line 88 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\DualTextureEffect.fx" + mul oT0, v3, c1 // ::VSDualTextureVcNoFog<0,1,2,3> + +#line 43 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + dp4 r0.x, v0, c2 // ::vout<0> + dp4 r0.y, v0, c3 // ::vout<1> + dp4 r0.z, v0, c5 // ::vout<3> + +#line 79 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\DualTextureEffect.fx" + mad oPos.xy, r0.z, c0, r0 // ::VSDualTextureVcNoFog<8,9> + mov oPos.w, r0.z // ::VSDualTextureVcNoFog<11> + +#line 86 + mov oT1.xy, v1 // ::VSDualTextureVcNoFog<4,5> + mov oT1.zw, v2.xyyx // ::VSDualTextureVcNoFog<7,6> // approximately 9 instruction slots used vs_4_0 @@ -79,17 +89,17 @@ ret const BYTE DualTextureEffect_VSDualTextureVcNoFog[] = { - 68, 88, 66, 67, 96, 251, - 156, 208, 35, 81, 22, 155, - 149, 224, 122, 115, 231, 51, - 123, 227, 1, 0, 0, 0, - 160, 3, 0, 0, 4, 0, + 68, 88, 66, 67, 48, 59, + 151, 148, 181, 214, 129, 185, + 85, 40, 102, 178, 177, 247, + 49, 227, 1, 0, 0, 0, + 36, 7, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 56, 1, 0, 0, 136, 2, - 0, 0, 20, 3, 0, 0, - 65, 111, 110, 57, 0, 1, - 0, 0, 0, 1, 0, 0, - 0, 2, 254, 255, 192, 0, + 188, 4, 0, 0, 12, 6, + 0, 0, 152, 6, 0, 0, + 65, 111, 110, 57, 132, 4, + 0, 0, 132, 4, 0, 0, + 0, 2, 254, 255, 68, 4, 0, 0, 64, 0, 0, 0, 2, 0, 36, 0, 0, 0, 60, 0, 0, 0, 60, 0, @@ -99,7 +109,157 @@ const BYTE DualTextureEffect_VSDualTextureVcNoFog[] = 0, 0, 0, 0, 3, 0, 4, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 31, 0, + 0, 2, 254, 255, 254, 255, + 224, 0, 68, 66, 85, 71, + 40, 0, 0, 0, 84, 3, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 192, 0, + 0, 0, 13, 0, 0, 0, + 200, 0, 0, 0, 3, 0, + 0, 0, 24, 3, 0, 0, + 48, 1, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 67, 111, + 109, 109, 111, 110, 46, 102, + 120, 104, 0, 67, 58, 92, + 65, 84, 71, 32, 83, 97, + 109, 112, 108, 101, 32, 68, + 101, 118, 101, 108, 111, 112, + 109, 101, 110, 116, 92, 115, + 116, 95, 100, 101, 118, 92, + 75, 105, 116, 115, 92, 68, + 105, 114, 101, 99, 116, 88, + 84, 75, 92, 83, 114, 99, + 92, 83, 104, 97, 100, 101, + 114, 115, 92, 68, 117, 97, + 108, 84, 101, 120, 116, 117, + 114, 101, 69, 102, 102, 101, + 99, 116, 46, 102, 120, 0, + 40, 0, 0, 0, 111, 0, + 0, 0, 0, 0, 255, 255, + 136, 3, 0, 0, 0, 0, + 255, 255, 148, 3, 0, 0, + 0, 0, 255, 255, 160, 3, + 0, 0, 0, 0, 255, 255, + 172, 3, 0, 0, 43, 0, + 0, 0, 184, 3, 0, 0, + 88, 0, 1, 0, 200, 3, + 0, 0, 43, 0, 0, 0, + 216, 3, 0, 0, 43, 0, + 0, 0, 232, 3, 0, 0, + 43, 0, 0, 0, 248, 3, + 0, 0, 79, 0, 1, 0, + 8, 4, 0, 0, 79, 0, + 1, 0, 28, 4, 0, 0, + 86, 0, 1, 0, 40, 4, + 0, 0, 86, 0, 1, 0, + 52, 4, 0, 0, 86, 83, + 68, 117, 97, 108, 84, 101, + 120, 116, 117, 114, 101, 86, + 99, 78, 111, 70, 111, 103, + 0, 68, 105, 102, 102, 117, + 115, 101, 0, 171, 171, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 84, 101, + 120, 67, 111, 111, 114, 100, + 0, 171, 171, 171, 1, 0, + 3, 0, 1, 0, 2, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 84, 101, 120, 67, + 111, 111, 114, 100, 50, 0, + 80, 111, 115, 105, 116, 105, + 111, 110, 80, 83, 0, 171, + 171, 171, 69, 1, 0, 0, + 80, 1, 0, 0, 96, 1, + 0, 0, 108, 1, 0, 0, + 124, 1, 0, 0, 108, 1, + 0, 0, 134, 1, 0, 0, + 80, 1, 0, 0, 5, 0, + 0, 0, 1, 0, 12, 0, + 1, 0, 4, 0, 148, 1, + 0, 0, 4, 0, 0, 0, + 255, 255, 255, 255, 10, 0, + 255, 255, 5, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 9, 0, 0, 0, + 8, 0, 9, 0, 255, 255, + 255, 255, 10, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 11, 0, 11, 0, 0, 0, + 4, 0, 5, 0, 255, 255, + 255, 255, 12, 0, 0, 0, + 255, 255, 255, 255, 7, 0, + 6, 0, 118, 105, 110, 0, + 80, 111, 115, 105, 116, 105, + 111, 110, 0, 67, 111, 108, + 111, 114, 0, 171, 16, 2, + 0, 0, 80, 1, 0, 0, + 96, 1, 0, 0, 108, 1, + 0, 0, 124, 1, 0, 0, + 108, 1, 0, 0, 25, 2, + 0, 0, 80, 1, 0, 0, + 5, 0, 0, 0, 1, 0, + 12, 0, 1, 0, 4, 0, + 32, 2, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 3, 0, 1, 0, + 0, 0, 4, 0, 5, 0, + 255, 255, 255, 255, 2, 0, + 0, 0, 6, 0, 7, 0, + 255, 255, 255, 255, 3, 0, + 0, 0, 8, 0, 9, 0, + 10, 0, 11, 0, 118, 111, + 117, 116, 0, 80, 111, 115, + 95, 112, 115, 0, 83, 112, + 101, 99, 117, 108, 97, 114, + 0, 171, 171, 171, 1, 0, + 3, 0, 1, 0, 3, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 70, 111, 103, 70, + 97, 99, 116, 111, 114, 0, + 171, 171, 0, 0, 3, 0, + 1, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 133, 2, 0, 0, 80, 1, + 0, 0, 69, 1, 0, 0, + 80, 1, 0, 0, 140, 2, + 0, 0, 152, 2, 0, 0, + 168, 2, 0, 0, 180, 2, + 0, 0, 5, 0, 0, 0, + 1, 0, 12, 0, 1, 0, + 4, 0, 196, 2, 0, 0, + 6, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 7, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 8, 0, 0, 0, 255, 255, + 255, 255, 3, 0, 255, 255, + 0, 0, 0, 0, 48, 1, + 0, 0, 180, 1, 0, 0, + 6, 0, 0, 0, 196, 1, + 0, 0, 48, 1, 0, 0, + 12, 2, 0, 0, 64, 2, + 0, 0, 4, 0, 0, 0, + 80, 2, 0, 0, 0, 0, + 0, 0, 128, 2, 0, 0, + 228, 2, 0, 0, 3, 0, + 0, 0, 244, 2, 0, 0, + 77, 105, 99, 114, 111, 115, + 111, 102, 116, 32, 40, 82, + 41, 32, 72, 76, 83, 76, + 32, 83, 104, 97, 100, 101, + 114, 32, 67, 111, 109, 112, + 105, 108, 101, 114, 32, 49, + 48, 46, 49, 0, 31, 0, 0, 2, 5, 0, 0, 128, 0, 0, 15, 144, 31, 0, 0, 2, 5, 0, 1, 128, diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMap.inc b/Kits/DirectXTK/Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMap.inc index bafad923..5ae2b1da 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMap.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMap.inc @@ -38,20 +38,26 @@ // Level9 shader bytecode: // ps_2_0 - dcl t0 - dcl t1 - dcl t2.xy - dcl t3.xyz + dcl t0 // pin<0,1,2,3> + dcl t1 // pin<4,5,6,7> + dcl t2.xy // pin<8,9> + dcl t3.xyz // pin<10,11,12> dcl_2d s0 dcl_cube s1 + +#line 119 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\EnvironmentMapEffect.fx" texld r0, t3, s1 texld r1, t2, s0 - mul r1, r1, t0 + mul r1, r1, t0 // ::color<0,1,2,3> + +#line 121 mad r0.xyz, r0, r1.w, -r1 - mad r0.xyz, t1, r0, r1 + mad r0.xyz, t1, r0, r1 // ::color<0,1,2> + +#line 20 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" mad r2.xyz, c0, r1.w, -r0 - mad r1.xyz, t1.w, r2, r0 - mov oC0, r1 + mad r1.xyz, t1.w, r2, r0 // ApplyFog::color<0,1,2> + mov oC0, r1 // ::PSEnvMap<0,1,2,3> // approximately 8 instruction slots used (2 texture, 6 arithmetic) ps_4_0 @@ -80,17 +86,17 @@ ret const BYTE EnvironmentMapEffect_PSEnvMap[] = { - 68, 88, 66, 67, 153, 99, - 255, 64, 191, 118, 42, 252, - 62, 108, 243, 191, 43, 234, - 97, 92, 1, 0, 0, 0, - 180, 3, 0, 0, 4, 0, + 68, 88, 66, 67, 249, 64, + 205, 226, 17, 105, 132, 168, + 201, 219, 42, 31, 200, 38, + 157, 247, 1, 0, 0, 0, + 136, 6, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 76, 1, 0, 0, 0, 3, - 0, 0, 128, 3, 0, 0, - 65, 111, 110, 57, 20, 1, - 0, 0, 20, 1, 0, 0, - 0, 2, 255, 255, 220, 0, + 32, 4, 0, 0, 212, 5, + 0, 0, 84, 6, 0, 0, + 65, 111, 110, 57, 232, 3, + 0, 0, 232, 3, 0, 0, + 0, 2, 255, 255, 176, 3, 0, 0, 56, 0, 0, 0, 1, 0, 44, 0, 0, 0, 56, 0, 0, 0, 56, 0, @@ -99,143 +105,264 @@ const BYTE EnvironmentMapEffect_PSEnvMap[] = 1, 1, 1, 0, 0, 0, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2, - 255, 255, 31, 0, 0, 2, - 0, 0, 0, 128, 0, 0, - 15, 176, 31, 0, 0, 2, - 0, 0, 0, 128, 1, 0, - 15, 176, 31, 0, 0, 2, - 0, 0, 0, 128, 2, 0, - 3, 176, 31, 0, 0, 2, - 0, 0, 0, 128, 3, 0, - 7, 176, 31, 0, 0, 2, - 0, 0, 0, 144, 0, 8, - 15, 160, 31, 0, 0, 2, - 0, 0, 0, 152, 1, 8, - 15, 160, 66, 0, 0, 3, - 0, 0, 15, 128, 3, 0, - 228, 176, 1, 8, 228, 160, - 66, 0, 0, 3, 1, 0, - 15, 128, 2, 0, 228, 176, - 0, 8, 228, 160, 5, 0, + 255, 255, 254, 255, 180, 0, + 68, 66, 85, 71, 40, 0, + 0, 0, 164, 2, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 196, 0, 0, 0, + 14, 0, 0, 0, 204, 0, + 0, 0, 4, 0, 0, 0, + 84, 2, 0, 0, 60, 1, + 0, 0, 67, 58, 92, 65, + 84, 71, 32, 83, 97, 109, + 112, 108, 101, 32, 68, 101, + 118, 101, 108, 111, 112, 109, + 101, 110, 116, 92, 115, 116, + 95, 100, 101, 118, 92, 75, + 105, 116, 115, 92, 68, 105, + 114, 101, 99, 116, 88, 84, + 75, 92, 83, 114, 99, 92, + 83, 104, 97, 100, 101, 114, + 115, 92, 69, 110, 118, 105, + 114, 111, 110, 109, 101, 110, + 116, 77, 97, 112, 69, 102, + 102, 101, 99, 116, 46, 102, + 120, 0, 67, 58, 92, 65, + 84, 71, 32, 83, 97, 109, + 112, 108, 101, 32, 68, 101, + 118, 101, 108, 111, 112, 109, + 101, 110, 116, 92, 115, 116, + 95, 100, 101, 118, 92, 75, + 105, 116, 115, 92, 68, 105, + 114, 101, 99, 116, 88, 84, + 75, 92, 83, 114, 99, 92, + 83, 104, 97, 100, 101, 114, + 115, 92, 67, 111, 109, 109, + 111, 110, 46, 102, 120, 104, + 0, 171, 40, 0, 0, 0, + 124, 0, 0, 0, 0, 0, + 255, 255, 216, 2, 0, 0, + 0, 0, 255, 255, 228, 2, + 0, 0, 0, 0, 255, 255, + 240, 2, 0, 0, 0, 0, + 255, 255, 252, 2, 0, 0, + 0, 0, 255, 255, 8, 3, + 0, 0, 0, 0, 255, 255, + 20, 3, 0, 0, 119, 0, + 0, 0, 32, 3, 0, 0, + 118, 0, 0, 0, 48, 3, + 0, 0, 118, 0, 0, 0, + 64, 3, 0, 0, 121, 0, + 0, 0, 80, 3, 0, 0, + 121, 0, 0, 0, 100, 3, + 0, 0, 20, 0, 1, 0, + 120, 3, 0, 0, 20, 0, + 1, 0, 140, 3, 0, 0, + 20, 0, 1, 0, 160, 3, + 0, 0, 80, 83, 69, 110, + 118, 77, 97, 112, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 13, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 65, 112, 112, 108, 121, 70, + 111, 103, 0, 99, 111, 108, + 111, 114, 0, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 12, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 8, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 10, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 112, 105, 110, 0, + 68, 105, 102, 102, 117, 115, + 101, 0, 83, 112, 101, 99, + 117, 108, 97, 114, 0, 84, + 101, 120, 67, 111, 111, 114, + 100, 0, 171, 171, 1, 0, + 3, 0, 1, 0, 2, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 69, 110, 118, 67, + 111, 111, 114, 100, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 172, 1, 0, 0, 116, 1, + 0, 0, 180, 1, 0, 0, + 116, 1, 0, 0, 189, 1, + 0, 0, 200, 1, 0, 0, + 216, 1, 0, 0, 228, 1, + 0, 0, 5, 0, 0, 0, + 1, 0, 13, 0, 1, 0, + 4, 0, 244, 1, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 1, 0, 0, 0, 4, 0, + 5, 0, 6, 0, 7, 0, + 2, 0, 0, 0, 8, 0, + 9, 0, 255, 255, 255, 255, + 3, 0, 0, 0, 10, 0, + 11, 0, 12, 0, 255, 255, + 0, 0, 0, 0, 60, 1, + 0, 0, 72, 1, 0, 0, + 1, 0, 0, 0, 88, 1, + 0, 0, 100, 1, 0, 0, + 109, 1, 0, 0, 116, 1, + 0, 0, 1, 0, 0, 0, + 132, 1, 0, 0, 0, 0, + 0, 0, 109, 1, 0, 0, + 116, 1, 0, 0, 2, 0, + 0, 0, 144, 1, 0, 0, + 60, 1, 0, 0, 168, 1, + 0, 0, 20, 2, 0, 0, + 4, 0, 0, 0, 36, 2, + 0, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 31, 0, 0, 2, 0, 0, + 0, 128, 0, 0, 15, 176, + 31, 0, 0, 2, 0, 0, + 0, 128, 1, 0, 15, 176, + 31, 0, 0, 2, 0, 0, + 0, 128, 2, 0, 3, 176, + 31, 0, 0, 2, 0, 0, + 0, 128, 3, 0, 7, 176, + 31, 0, 0, 2, 0, 0, + 0, 144, 0, 8, 15, 160, + 31, 0, 0, 2, 0, 0, + 0, 152, 1, 8, 15, 160, + 66, 0, 0, 3, 0, 0, + 15, 128, 3, 0, 228, 176, + 1, 8, 228, 160, 66, 0, 0, 3, 1, 0, 15, 128, - 1, 0, 228, 128, 0, 0, - 228, 176, 4, 0, 0, 4, - 0, 0, 7, 128, 0, 0, - 228, 128, 1, 0, 255, 128, - 1, 0, 228, 129, 4, 0, - 0, 4, 0, 0, 7, 128, - 1, 0, 228, 176, 0, 0, - 228, 128, 1, 0, 228, 128, - 4, 0, 0, 4, 2, 0, - 7, 128, 0, 0, 228, 160, - 1, 0, 255, 128, 0, 0, + 2, 0, 228, 176, 0, 8, + 228, 160, 5, 0, 0, 3, + 1, 0, 15, 128, 1, 0, + 228, 128, 0, 0, 228, 176, + 4, 0, 0, 4, 0, 0, + 7, 128, 0, 0, 228, 128, + 1, 0, 255, 128, 1, 0, 228, 129, 4, 0, 0, 4, - 1, 0, 7, 128, 1, 0, - 255, 176, 2, 0, 228, 128, - 0, 0, 228, 128, 1, 0, - 0, 2, 0, 8, 15, 128, - 1, 0, 228, 128, 255, 255, - 0, 0, 83, 72, 68, 82, - 172, 1, 0, 0, 64, 0, - 0, 0, 107, 0, 0, 0, - 89, 0, 0, 4, 70, 142, - 32, 0, 0, 0, 0, 0, - 12, 0, 0, 0, 90, 0, - 0, 3, 0, 96, 16, 0, - 0, 0, 0, 0, 90, 0, - 0, 3, 0, 96, 16, 0, - 1, 0, 0, 0, 88, 24, - 0, 4, 0, 112, 16, 0, - 0, 0, 0, 0, 85, 85, - 0, 0, 88, 48, 0, 4, - 0, 112, 16, 0, 1, 0, + 0, 0, 7, 128, 1, 0, + 228, 176, 0, 0, 228, 128, + 1, 0, 228, 128, 4, 0, + 0, 4, 2, 0, 7, 128, + 0, 0, 228, 160, 1, 0, + 255, 128, 0, 0, 228, 129, + 4, 0, 0, 4, 1, 0, + 7, 128, 1, 0, 255, 176, + 2, 0, 228, 128, 0, 0, + 228, 128, 1, 0, 0, 2, + 0, 8, 15, 128, 1, 0, + 228, 128, 255, 255, 0, 0, + 83, 72, 68, 82, 172, 1, + 0, 0, 64, 0, 0, 0, + 107, 0, 0, 0, 89, 0, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 12, 0, + 0, 0, 90, 0, 0, 3, + 0, 96, 16, 0, 0, 0, + 0, 0, 90, 0, 0, 3, + 0, 96, 16, 0, 1, 0, + 0, 0, 88, 24, 0, 4, + 0, 112, 16, 0, 0, 0, 0, 0, 85, 85, 0, 0, - 98, 16, 0, 3, 242, 16, - 16, 0, 0, 0, 0, 0, - 98, 16, 0, 3, 242, 16, + 88, 48, 0, 4, 0, 112, 16, 0, 1, 0, 0, 0, - 98, 16, 0, 3, 50, 16, - 16, 0, 2, 0, 0, 0, - 98, 16, 0, 3, 114, 16, - 16, 0, 3, 0, 0, 0, - 101, 0, 0, 3, 242, 32, + 85, 85, 0, 0, 98, 16, + 0, 3, 242, 16, 16, 0, + 0, 0, 0, 0, 98, 16, + 0, 3, 242, 16, 16, 0, + 1, 0, 0, 0, 98, 16, + 0, 3, 50, 16, 16, 0, + 2, 0, 0, 0, 98, 16, + 0, 3, 114, 16, 16, 0, + 3, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 0, 0, 0, 0, 104, 0, + 0, 2, 2, 0, 0, 0, + 69, 0, 0, 9, 242, 0, 16, 0, 0, 0, 0, 0, - 104, 0, 0, 2, 2, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 0, 0, - 0, 0, 70, 18, 16, 0, - 3, 0, 0, 0, 70, 126, + 70, 18, 16, 0, 3, 0, + 0, 0, 70, 126, 16, 0, + 1, 0, 0, 0, 0, 96, 16, 0, 1, 0, 0, 0, - 0, 96, 16, 0, 1, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 1, 0, - 0, 0, 70, 16, 16, 0, - 2, 0, 0, 0, 70, 126, + 69, 0, 0, 9, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 16, 16, 0, 2, 0, + 0, 0, 70, 126, 16, 0, + 0, 0, 0, 0, 0, 96, 16, 0, 0, 0, 0, 0, - 0, 96, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 7, - 242, 0, 16, 0, 1, 0, - 0, 0, 70, 14, 16, 0, - 1, 0, 0, 0, 70, 30, + 56, 0, 0, 7, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 50, 0, + 0, 10, 114, 0, 16, 0, + 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, - 50, 0, 0, 10, 114, 0, + 246, 15, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 128, + 65, 0, 0, 0, 1, 0, + 0, 0, 50, 0, 0, 9, + 114, 0, 16, 0, 0, 0, + 0, 0, 70, 18, 16, 0, + 1, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 50, 0, 0, 11, + 114, 0, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 11, 0, 0, 0, 246, 15, 16, 0, 1, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, - 1, 0, 0, 0, 50, 0, - 0, 9, 114, 0, 16, 0, - 0, 0, 0, 0, 70, 18, + 0, 0, 0, 0, 50, 0, + 0, 9, 114, 32, 16, 0, + 0, 0, 0, 0, 246, 31, 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 0, 0, + 70, 2, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 50, 0, - 0, 11, 114, 0, 16, 0, - 1, 0, 0, 0, 70, 130, - 32, 0, 0, 0, 0, 0, - 11, 0, 0, 0, 246, 15, + 0, 0, 0, 0, 54, 0, + 0, 5, 130, 32, 16, 0, + 0, 0, 0, 0, 58, 0, 16, 0, 1, 0, 0, 0, - 70, 2, 16, 128, 65, 0, + 62, 0, 0, 1, 73, 83, + 71, 78, 120, 0, 0, 0, + 4, 0, 0, 0, 8, 0, + 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 50, 0, 0, 9, 114, 32, - 16, 0, 0, 0, 0, 0, - 246, 31, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 54, 0, 0, 5, 130, 32, - 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 1, 0, - 0, 0, 62, 0, 0, 1, - 73, 83, 71, 78, 120, 0, - 0, 0, 4, 0, 0, 0, - 8, 0, 0, 0, 104, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 15, + 0, 0, 104, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 15, 15, + 0, 0, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 15, 15, 0, 0, 104, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 2, 0, 0, 0, 3, 3, + 0, 0, 110, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 7, 7, + 0, 0, 67, 79, 76, 79, + 82, 0, 84, 69, 88, 67, + 79, 79, 82, 68, 0, 171, + 79, 83, 71, 78, 44, 0, 0, 0, 1, 0, 0, 0, - 15, 15, 0, 0, 110, 0, + 8, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, - 0, 0, 2, 0, 0, 0, - 3, 3, 0, 0, 110, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 3, 0, 0, 0, - 7, 7, 0, 0, 67, 79, - 76, 79, 82, 0, 84, 69, - 88, 67, 79, 79, 82, 68, - 0, 171, 79, 83, 71, 78, - 44, 0, 0, 0, 1, 0, - 0, 0, 8, 0, 0, 0, - 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 83, 86, 95, 84, 97, 114, - 103, 101, 116, 0, 171, 171 + 15, 0, 0, 0, 83, 86, + 95, 84, 97, 114, 103, 101, + 116, 0, 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapNoFog.inc b/Kits/DirectXTK/Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapNoFog.inc index 3e1db019..eb694541 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapNoFog.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapNoFog.inc @@ -31,18 +31,22 @@ // Level9 shader bytecode: // ps_2_0 - dcl t0 - dcl t1 - dcl t2.xy - dcl t3.xyz + dcl t0 // pin<0,1,2,3> + dcl t1 // pin<4,5,6,7> + dcl t2.xy // pin<8,9> + dcl t3.xyz // pin<10,11,12> dcl_2d s0 dcl_cube s1 + +#line 133 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\EnvironmentMapEffect.fx" texld r0, t3, s1 texld r1, t2, s0 - mul r1, r1, t0 + mul r1, r1, t0 // ::color<0,1,2,3> + +#line 135 mad r0.xyz, r0, r1.w, -r1 - mad r1.xyz, t1, r0, r1 - mov oC0, r1 + mad r1.xyz, t1, r0, r1 // ::color<0,1,2> + mov oC0, r1 // ::PSEnvMapNoFog<0,1,2,3> // approximately 6 instruction slots used (2 texture, 4 arithmetic) ps_4_0 @@ -68,138 +72,237 @@ ret const BYTE EnvironmentMapEffect_PSEnvMapNoFog[] = { - 68, 88, 66, 67, 25, 234, - 244, 32, 119, 100, 210, 163, - 96, 109, 215, 177, 129, 6, - 74, 172, 1, 0, 0, 0, - 32, 3, 0, 0, 4, 0, + 68, 88, 66, 67, 78, 221, + 166, 19, 205, 36, 156, 195, + 209, 43, 31, 5, 92, 24, + 27, 50, 1, 0, 0, 0, + 116, 5, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 24, 1, 0, 0, 108, 2, - 0, 0, 236, 2, 0, 0, - 65, 111, 110, 57, 224, 0, - 0, 0, 224, 0, 0, 0, - 0, 2, 255, 255, 180, 0, + 108, 3, 0, 0, 192, 4, + 0, 0, 64, 5, 0, 0, + 65, 111, 110, 57, 52, 3, + 0, 0, 52, 3, 0, 0, + 0, 2, 255, 255, 8, 3, 0, 0, 44, 0, 0, 0, 0, 0, 44, 0, 0, 0, 44, 0, 0, 0, 44, 0, 2, 0, 36, 0, 0, 0, 44, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 2, - 255, 255, 31, 0, 0, 2, - 0, 0, 0, 128, 0, 0, - 15, 176, 31, 0, 0, 2, - 0, 0, 0, 128, 1, 0, - 15, 176, 31, 0, 0, 2, - 0, 0, 0, 128, 2, 0, - 3, 176, 31, 0, 0, 2, - 0, 0, 0, 128, 3, 0, - 7, 176, 31, 0, 0, 2, - 0, 0, 0, 144, 0, 8, - 15, 160, 31, 0, 0, 2, - 0, 0, 0, 152, 1, 8, - 15, 160, 66, 0, 0, 3, - 0, 0, 15, 128, 3, 0, - 228, 176, 1, 8, 228, 160, - 66, 0, 0, 3, 1, 0, - 15, 128, 2, 0, 228, 176, - 0, 8, 228, 160, 5, 0, - 0, 3, 1, 0, 15, 128, - 1, 0, 228, 128, 0, 0, - 228, 176, 4, 0, 0, 4, - 0, 0, 7, 128, 0, 0, - 228, 128, 1, 0, 255, 128, - 1, 0, 228, 129, 4, 0, - 0, 4, 1, 0, 7, 128, - 1, 0, 228, 176, 0, 0, - 228, 128, 1, 0, 228, 128, - 1, 0, 0, 2, 0, 8, + 255, 255, 254, 255, 148, 0, + 68, 66, 85, 71, 40, 0, + 0, 0, 36, 2, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 124, 0, 0, 0, + 12, 0, 0, 0, 128, 0, + 0, 0, 3, 0, 0, 0, + 232, 1, 0, 0, 224, 0, + 0, 0, 67, 58, 92, 65, + 84, 71, 32, 83, 97, 109, + 112, 108, 101, 32, 68, 101, + 118, 101, 108, 111, 112, 109, + 101, 110, 116, 92, 115, 116, + 95, 100, 101, 118, 92, 75, + 105, 116, 115, 92, 68, 105, + 114, 101, 99, 116, 88, 84, + 75, 92, 83, 114, 99, 92, + 83, 104, 97, 100, 101, 114, + 115, 92, 69, 110, 118, 105, + 114, 111, 110, 109, 101, 110, + 116, 77, 97, 112, 69, 102, + 102, 101, 99, 116, 46, 102, + 120, 0, 40, 0, 0, 0, + 0, 0, 255, 255, 88, 2, + 0, 0, 0, 0, 255, 255, + 100, 2, 0, 0, 0, 0, + 255, 255, 112, 2, 0, 0, + 0, 0, 255, 255, 124, 2, + 0, 0, 0, 0, 255, 255, + 136, 2, 0, 0, 0, 0, + 255, 255, 148, 2, 0, 0, + 133, 0, 0, 0, 160, 2, + 0, 0, 132, 0, 0, 0, + 176, 2, 0, 0, 132, 0, + 0, 0, 192, 2, 0, 0, + 135, 0, 0, 0, 208, 2, + 0, 0, 135, 0, 0, 0, + 228, 2, 0, 0, 135, 0, + 0, 0, 248, 2, 0, 0, + 80, 83, 69, 110, 118, 77, + 97, 112, 78, 111, 70, 111, + 103, 0, 171, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 11, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 99, 111, 108, 111, + 114, 0, 171, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 10, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 112, 105, 110, 0, + 68, 105, 102, 102, 117, 115, + 101, 0, 83, 112, 101, 99, + 117, 108, 97, 114, 0, 84, + 101, 120, 67, 111, 111, 114, + 100, 0, 171, 171, 1, 0, + 3, 0, 1, 0, 2, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 69, 110, 118, 67, + 111, 111, 114, 100, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 64, 1, 0, 0, 20, 1, + 0, 0, 72, 1, 0, 0, + 20, 1, 0, 0, 81, 1, + 0, 0, 92, 1, 0, 0, + 108, 1, 0, 0, 120, 1, + 0, 0, 5, 0, 0, 0, + 1, 0, 13, 0, 1, 0, + 4, 0, 136, 1, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 1, 0, 0, 0, 4, 0, + 5, 0, 6, 0, 7, 0, + 2, 0, 0, 0, 8, 0, + 9, 0, 255, 255, 255, 255, + 3, 0, 0, 0, 10, 0, + 11, 0, 12, 0, 255, 255, + 0, 0, 0, 0, 224, 0, + 0, 0, 240, 0, 0, 0, + 1, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, + 12, 1, 0, 0, 20, 1, + 0, 0, 2, 0, 0, 0, + 36, 1, 0, 0, 224, 0, + 0, 0, 60, 1, 0, 0, + 168, 1, 0, 0, 4, 0, + 0, 0, 184, 1, 0, 0, + 77, 105, 99, 114, 111, 115, + 111, 102, 116, 32, 40, 82, + 41, 32, 72, 76, 83, 76, + 32, 83, 104, 97, 100, 101, + 114, 32, 67, 111, 109, 112, + 105, 108, 101, 114, 32, 49, + 48, 46, 49, 0, 31, 0, + 0, 2, 0, 0, 0, 128, + 0, 0, 15, 176, 31, 0, + 0, 2, 0, 0, 0, 128, + 1, 0, 15, 176, 31, 0, + 0, 2, 0, 0, 0, 128, + 2, 0, 3, 176, 31, 0, + 0, 2, 0, 0, 0, 128, + 3, 0, 7, 176, 31, 0, + 0, 2, 0, 0, 0, 144, + 0, 8, 15, 160, 31, 0, + 0, 2, 0, 0, 0, 152, + 1, 8, 15, 160, 66, 0, + 0, 3, 0, 0, 15, 128, + 3, 0, 228, 176, 1, 8, + 228, 160, 66, 0, 0, 3, + 1, 0, 15, 128, 2, 0, + 228, 176, 0, 8, 228, 160, + 5, 0, 0, 3, 1, 0, 15, 128, 1, 0, 228, 128, - 255, 255, 0, 0, 83, 72, - 68, 82, 76, 1, 0, 0, - 64, 0, 0, 0, 83, 0, - 0, 0, 90, 0, 0, 3, - 0, 96, 16, 0, 0, 0, - 0, 0, 90, 0, 0, 3, - 0, 96, 16, 0, 1, 0, - 0, 0, 88, 24, 0, 4, - 0, 112, 16, 0, 0, 0, + 0, 0, 228, 176, 4, 0, + 0, 4, 0, 0, 7, 128, + 0, 0, 228, 128, 1, 0, + 255, 128, 1, 0, 228, 129, + 4, 0, 0, 4, 1, 0, + 7, 128, 1, 0, 228, 176, + 0, 0, 228, 128, 1, 0, + 228, 128, 1, 0, 0, 2, + 0, 8, 15, 128, 1, 0, + 228, 128, 255, 255, 0, 0, + 83, 72, 68, 82, 76, 1, + 0, 0, 64, 0, 0, 0, + 83, 0, 0, 0, 90, 0, + 0, 3, 0, 96, 16, 0, + 0, 0, 0, 0, 90, 0, + 0, 3, 0, 96, 16, 0, + 1, 0, 0, 0, 88, 24, + 0, 4, 0, 112, 16, 0, + 0, 0, 0, 0, 85, 85, + 0, 0, 88, 48, 0, 4, + 0, 112, 16, 0, 1, 0, 0, 0, 85, 85, 0, 0, - 88, 48, 0, 4, 0, 112, - 16, 0, 1, 0, 0, 0, - 85, 85, 0, 0, 98, 16, - 0, 3, 242, 16, 16, 0, - 0, 0, 0, 0, 98, 16, - 0, 3, 114, 16, 16, 0, - 1, 0, 0, 0, 98, 16, - 0, 3, 50, 16, 16, 0, - 2, 0, 0, 0, 98, 16, - 0, 3, 114, 16, 16, 0, - 3, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 0, 0, 0, 0, 104, 0, - 0, 2, 2, 0, 0, 0, - 69, 0, 0, 9, 242, 0, + 98, 16, 0, 3, 242, 16, 16, 0, 0, 0, 0, 0, - 70, 18, 16, 0, 3, 0, - 0, 0, 70, 126, 16, 0, - 1, 0, 0, 0, 0, 96, - 16, 0, 1, 0, 0, 0, - 69, 0, 0, 9, 242, 0, + 98, 16, 0, 3, 114, 16, 16, 0, 1, 0, 0, 0, - 70, 16, 16, 0, 2, 0, - 0, 0, 70, 126, 16, 0, - 0, 0, 0, 0, 0, 96, + 98, 16, 0, 3, 50, 16, + 16, 0, 2, 0, 0, 0, + 98, 16, 0, 3, 114, 16, + 16, 0, 3, 0, 0, 0, + 101, 0, 0, 3, 242, 32, 16, 0, 0, 0, 0, 0, - 56, 0, 0, 7, 242, 0, + 104, 0, 0, 2, 2, 0, + 0, 0, 69, 0, 0, 9, + 242, 0, 16, 0, 0, 0, + 0, 0, 70, 18, 16, 0, + 3, 0, 0, 0, 70, 126, 16, 0, 1, 0, 0, 0, - 70, 14, 16, 0, 1, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 50, 0, - 0, 10, 114, 0, 16, 0, - 0, 0, 0, 0, 70, 2, + 0, 96, 16, 0, 1, 0, + 0, 0, 69, 0, 0, 9, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 16, 16, 0, + 2, 0, 0, 0, 70, 126, 16, 0, 0, 0, 0, 0, - 246, 15, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 128, - 65, 0, 0, 0, 1, 0, - 0, 0, 50, 0, 0, 9, - 114, 32, 16, 0, 0, 0, - 0, 0, 70, 18, 16, 0, - 1, 0, 0, 0, 70, 2, + 0, 96, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 242, 0, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 54, 0, 0, 5, - 130, 32, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 1, 0, 0, 0, 62, 0, - 0, 1, 73, 83, 71, 78, - 120, 0, 0, 0, 4, 0, - 0, 0, 8, 0, 0, 0, - 104, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 15, 0, 0, - 104, 0, 0, 0, 1, 0, + 50, 0, 0, 10, 114, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 246, 15, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 128, 65, 0, 0, 0, + 1, 0, 0, 0, 50, 0, + 0, 9, 114, 32, 16, 0, + 0, 0, 0, 0, 70, 18, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 54, 0, + 0, 5, 130, 32, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 62, 0, 0, 1, 73, 83, + 71, 78, 120, 0, 0, 0, + 4, 0, 0, 0, 8, 0, + 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 15, 7, 0, 0, - 110, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 15, + 0, 0, 104, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 15, 7, + 0, 0, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 3, 3, 0, 0, - 110, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 2, 0, 0, 0, 3, 3, + 0, 0, 110, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 7, 7, + 0, 0, 67, 79, 76, 79, + 82, 0, 84, 69, 88, 67, + 79, 79, 82, 68, 0, 171, + 79, 83, 71, 78, 44, 0, + 0, 0, 1, 0, 0, 0, + 8, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 3, 0, - 0, 0, 7, 7, 0, 0, - 67, 79, 76, 79, 82, 0, - 84, 69, 88, 67, 79, 79, - 82, 68, 0, 171, 79, 83, - 71, 78, 44, 0, 0, 0, - 1, 0, 0, 0, 8, 0, - 0, 0, 32, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 83, 86, 95, 84, - 97, 114, 103, 101, 116, 0, - 171, 171 + 15, 0, 0, 0, 83, 86, + 95, 84, 97, 114, 103, 101, + 116, 0, 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapSpecular.inc b/Kits/DirectXTK/Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapSpecular.inc index f48dfaf8..3403f7a2 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapSpecular.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapSpecular.inc @@ -39,22 +39,28 @@ // Level9 shader bytecode: // ps_2_0 - dcl t0 - dcl t1 - dcl t2.xy - dcl t3.xyz + dcl t0 // pin<0,1,2,3> + dcl t1 // pin<4,5,6,7> + dcl t2.xy // pin<8,9> + dcl t3.xyz // pin<10,11,12> dcl_2d s0 dcl_cube s1 + +#line 145 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\EnvironmentMapEffect.fx" texld r0, t3, s1 texld r1, t2, s0 - mul r1, r1, t0 + mul r1, r1, t0 // ::color<0,1,2,3> + +#line 147 mad r0.xyz, r0, r1.w, -r1 - mul r0.w, r0.w, r1.w - mad r0.xyz, t1, r0, r1 - mad r0.xyz, c0, r0.w, r0 + mul r0.w, r0.w, r1.w // ::envmap<3> + mad r0.xyz, t1, r0, r1 // ::color<0,1,2> + mad r0.xyz, c0, r0.w, r0 // ::color<0,1,2> + +#line 20 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" mad r2.xyz, c1, r1.w, -r0 - mad r1.xyz, t1.w, r2, r0 - mov oC0, r1 + mad r1.xyz, t1.w, r2, r0 // ApplyFog::color<0,1,2> + mov oC0, r1 // ::PSEnvMapSpecular<0,1,2,3> // approximately 10 instruction slots used (2 texture, 8 arithmetic) ps_4_0 @@ -85,17 +91,17 @@ ret const BYTE EnvironmentMapEffect_PSEnvMapSpecular[] = { - 68, 88, 66, 67, 7, 168, - 166, 133, 74, 140, 213, 194, - 234, 125, 176, 230, 98, 133, - 220, 152, 1, 0, 0, 0, - 40, 4, 0, 0, 4, 0, + 68, 88, 66, 67, 42, 23, + 166, 79, 167, 173, 59, 45, + 21, 59, 137, 29, 86, 104, + 179, 112, 1, 0, 0, 0, + 72, 7, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 124, 1, 0, 0, 116, 3, - 0, 0, 244, 3, 0, 0, - 65, 111, 110, 57, 68, 1, - 0, 0, 68, 1, 0, 0, - 0, 2, 255, 255, 0, 1, + 156, 4, 0, 0, 148, 6, + 0, 0, 20, 7, 0, 0, + 65, 111, 110, 57, 100, 4, + 0, 0, 100, 4, 0, 0, + 0, 2, 255, 255, 32, 4, 0, 0, 68, 0, 0, 0, 2, 0, 44, 0, 0, 0, 68, 0, 0, 0, 68, 0, @@ -106,161 +112,294 @@ const BYTE EnvironmentMapEffect_PSEnvMapSpecular[] = 0, 0, 0, 0, 0, 0, 11, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 2, - 255, 255, 31, 0, 0, 2, - 0, 0, 0, 128, 0, 0, - 15, 176, 31, 0, 0, 2, - 0, 0, 0, 128, 1, 0, - 15, 176, 31, 0, 0, 2, - 0, 0, 0, 128, 2, 0, - 3, 176, 31, 0, 0, 2, - 0, 0, 0, 128, 3, 0, - 7, 176, 31, 0, 0, 2, - 0, 0, 0, 144, 0, 8, - 15, 160, 31, 0, 0, 2, - 0, 0, 0, 152, 1, 8, - 15, 160, 66, 0, 0, 3, - 0, 0, 15, 128, 3, 0, - 228, 176, 1, 8, 228, 160, - 66, 0, 0, 3, 1, 0, - 15, 128, 2, 0, 228, 176, - 0, 8, 228, 160, 5, 0, - 0, 3, 1, 0, 15, 128, - 1, 0, 228, 128, 0, 0, - 228, 176, 4, 0, 0, 4, - 0, 0, 7, 128, 0, 0, - 228, 128, 1, 0, 255, 128, - 1, 0, 228, 129, 5, 0, - 0, 3, 0, 0, 8, 128, - 0, 0, 255, 128, 1, 0, - 255, 128, 4, 0, 0, 4, - 0, 0, 7, 128, 1, 0, - 228, 176, 0, 0, 228, 128, - 1, 0, 228, 128, 4, 0, + 255, 255, 254, 255, 199, 0, + 68, 66, 85, 71, 40, 0, + 0, 0, 240, 2, 0, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 196, 0, 0, 0, + 16, 0, 0, 0, 204, 0, + 0, 0, 5, 0, 0, 0, + 140, 2, 0, 0, 76, 1, + 0, 0, 67, 58, 92, 65, + 84, 71, 32, 83, 97, 109, + 112, 108, 101, 32, 68, 101, + 118, 101, 108, 111, 112, 109, + 101, 110, 116, 92, 115, 116, + 95, 100, 101, 118, 92, 75, + 105, 116, 115, 92, 68, 105, + 114, 101, 99, 116, 88, 84, + 75, 92, 83, 114, 99, 92, + 83, 104, 97, 100, 101, 114, + 115, 92, 69, 110, 118, 105, + 114, 111, 110, 109, 101, 110, + 116, 77, 97, 112, 69, 102, + 102, 101, 99, 116, 46, 102, + 120, 0, 67, 58, 92, 65, + 84, 71, 32, 83, 97, 109, + 112, 108, 101, 32, 68, 101, + 118, 101, 108, 111, 112, 109, + 101, 110, 116, 92, 115, 116, + 95, 100, 101, 118, 92, 75, + 105, 116, 115, 92, 68, 105, + 114, 101, 99, 116, 88, 84, + 75, 92, 83, 114, 99, 92, + 83, 104, 97, 100, 101, 114, + 115, 92, 67, 111, 109, 109, + 111, 110, 46, 102, 120, 104, + 0, 171, 40, 0, 0, 0, + 124, 0, 0, 0, 0, 0, + 255, 255, 36, 3, 0, 0, + 0, 0, 255, 255, 48, 3, + 0, 0, 0, 0, 255, 255, + 60, 3, 0, 0, 0, 0, + 255, 255, 72, 3, 0, 0, + 0, 0, 255, 255, 84, 3, + 0, 0, 0, 0, 255, 255, + 96, 3, 0, 0, 145, 0, + 0, 0, 108, 3, 0, 0, + 144, 0, 0, 0, 124, 3, + 0, 0, 144, 0, 0, 0, + 140, 3, 0, 0, 147, 0, + 0, 0, 156, 3, 0, 0, + 145, 0, 0, 0, 176, 3, + 0, 0, 147, 0, 0, 0, + 192, 3, 0, 0, 148, 0, + 0, 0, 212, 3, 0, 0, + 20, 0, 1, 0, 232, 3, + 0, 0, 20, 0, 1, 0, + 252, 3, 0, 0, 20, 0, + 1, 0, 16, 4, 0, 0, + 80, 83, 69, 110, 118, 77, + 97, 112, 83, 112, 101, 99, + 117, 108, 97, 114, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 65, 112, 112, 108, 121, 70, + 111, 103, 0, 99, 111, 108, + 111, 114, 0, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 14, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 8, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 11, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 12, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 101, 110, 118, 109, + 97, 112, 0, 171, 10, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 3, 0, 112, 105, + 110, 0, 68, 105, 102, 102, + 117, 115, 101, 0, 83, 112, + 101, 99, 117, 108, 97, 114, + 0, 84, 101, 120, 67, 111, + 111, 114, 100, 0, 171, 171, + 1, 0, 3, 0, 1, 0, + 2, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 69, 110, + 118, 67, 111, 111, 114, 100, + 0, 171, 171, 171, 1, 0, + 3, 0, 1, 0, 3, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 228, 1, 0, 0, + 140, 1, 0, 0, 236, 1, + 0, 0, 140, 1, 0, 0, + 245, 1, 0, 0, 0, 2, + 0, 0, 16, 2, 0, 0, + 28, 2, 0, 0, 5, 0, + 0, 0, 1, 0, 13, 0, + 1, 0, 4, 0, 44, 2, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 1, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 7, 0, 2, 0, 0, 0, + 8, 0, 9, 0, 255, 255, + 255, 255, 3, 0, 0, 0, + 10, 0, 11, 0, 12, 0, + 255, 255, 0, 0, 0, 0, + 76, 1, 0, 0, 96, 1, + 0, 0, 1, 0, 0, 0, + 112, 1, 0, 0, 124, 1, + 0, 0, 133, 1, 0, 0, + 140, 1, 0, 0, 1, 0, + 0, 0, 156, 1, 0, 0, + 0, 0, 0, 0, 133, 1, + 0, 0, 140, 1, 0, 0, + 3, 0, 0, 0, 168, 1, + 0, 0, 0, 0, 0, 0, + 204, 1, 0, 0, 140, 1, + 0, 0, 1, 0, 0, 0, + 212, 1, 0, 0, 76, 1, + 0, 0, 224, 1, 0, 0, + 76, 2, 0, 0, 4, 0, + 0, 0, 92, 2, 0, 0, + 77, 105, 99, 114, 111, 115, + 111, 102, 116, 32, 40, 82, + 41, 32, 72, 76, 83, 76, + 32, 83, 104, 97, 100, 101, + 114, 32, 67, 111, 109, 112, + 105, 108, 101, 114, 32, 49, + 48, 46, 49, 0, 31, 0, + 0, 2, 0, 0, 0, 128, + 0, 0, 15, 176, 31, 0, + 0, 2, 0, 0, 0, 128, + 1, 0, 15, 176, 31, 0, + 0, 2, 0, 0, 0, 128, + 2, 0, 3, 176, 31, 0, + 0, 2, 0, 0, 0, 128, + 3, 0, 7, 176, 31, 0, + 0, 2, 0, 0, 0, 144, + 0, 8, 15, 160, 31, 0, + 0, 2, 0, 0, 0, 152, + 1, 8, 15, 160, 66, 0, + 0, 3, 0, 0, 15, 128, + 3, 0, 228, 176, 1, 8, + 228, 160, 66, 0, 0, 3, + 1, 0, 15, 128, 2, 0, + 228, 176, 0, 8, 228, 160, + 5, 0, 0, 3, 1, 0, + 15, 128, 1, 0, 228, 128, + 0, 0, 228, 176, 4, 0, 0, 4, 0, 0, 7, 128, - 0, 0, 228, 160, 0, 0, - 255, 128, 0, 0, 228, 128, - 4, 0, 0, 4, 2, 0, - 7, 128, 1, 0, 228, 160, - 1, 0, 255, 128, 0, 0, - 228, 129, 4, 0, 0, 4, - 1, 0, 7, 128, 1, 0, - 255, 176, 2, 0, 228, 128, 0, 0, 228, 128, 1, 0, - 0, 2, 0, 8, 15, 128, - 1, 0, 228, 128, 255, 255, - 0, 0, 83, 72, 68, 82, - 240, 1, 0, 0, 64, 0, - 0, 0, 124, 0, 0, 0, - 89, 0, 0, 4, 70, 142, - 32, 0, 0, 0, 0, 0, - 12, 0, 0, 0, 90, 0, - 0, 3, 0, 96, 16, 0, - 0, 0, 0, 0, 90, 0, - 0, 3, 0, 96, 16, 0, - 1, 0, 0, 0, 88, 24, - 0, 4, 0, 112, 16, 0, - 0, 0, 0, 0, 85, 85, - 0, 0, 88, 48, 0, 4, - 0, 112, 16, 0, 1, 0, - 0, 0, 85, 85, 0, 0, - 98, 16, 0, 3, 242, 16, + 255, 128, 1, 0, 228, 129, + 5, 0, 0, 3, 0, 0, + 8, 128, 0, 0, 255, 128, + 1, 0, 255, 128, 4, 0, + 0, 4, 0, 0, 7, 128, + 1, 0, 228, 176, 0, 0, + 228, 128, 1, 0, 228, 128, + 4, 0, 0, 4, 0, 0, + 7, 128, 0, 0, 228, 160, + 0, 0, 255, 128, 0, 0, + 228, 128, 4, 0, 0, 4, + 2, 0, 7, 128, 1, 0, + 228, 160, 1, 0, 255, 128, + 0, 0, 228, 129, 4, 0, + 0, 4, 1, 0, 7, 128, + 1, 0, 255, 176, 2, 0, + 228, 128, 0, 0, 228, 128, + 1, 0, 0, 2, 0, 8, + 15, 128, 1, 0, 228, 128, + 255, 255, 0, 0, 83, 72, + 68, 82, 240, 1, 0, 0, + 64, 0, 0, 0, 124, 0, + 0, 0, 89, 0, 0, 4, + 70, 142, 32, 0, 0, 0, + 0, 0, 12, 0, 0, 0, + 90, 0, 0, 3, 0, 96, 16, 0, 0, 0, 0, 0, - 98, 16, 0, 3, 242, 16, + 90, 0, 0, 3, 0, 96, 16, 0, 1, 0, 0, 0, - 98, 16, 0, 3, 50, 16, - 16, 0, 2, 0, 0, 0, - 98, 16, 0, 3, 114, 16, - 16, 0, 3, 0, 0, 0, - 101, 0, 0, 3, 242, 32, + 88, 24, 0, 4, 0, 112, 16, 0, 0, 0, 0, 0, - 104, 0, 0, 2, 2, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 0, 0, - 0, 0, 70, 18, 16, 0, - 3, 0, 0, 0, 70, 126, + 85, 85, 0, 0, 88, 48, + 0, 4, 0, 112, 16, 0, + 1, 0, 0, 0, 85, 85, + 0, 0, 98, 16, 0, 3, + 242, 16, 16, 0, 0, 0, + 0, 0, 98, 16, 0, 3, + 242, 16, 16, 0, 1, 0, + 0, 0, 98, 16, 0, 3, + 50, 16, 16, 0, 2, 0, + 0, 0, 98, 16, 0, 3, + 114, 16, 16, 0, 3, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 0, 0, + 0, 0, 104, 0, 0, 2, + 2, 0, 0, 0, 69, 0, + 0, 9, 242, 0, 16, 0, + 0, 0, 0, 0, 70, 18, + 16, 0, 3, 0, 0, 0, + 70, 126, 16, 0, 1, 0, + 0, 0, 0, 96, 16, 0, + 1, 0, 0, 0, 69, 0, + 0, 9, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 16, + 16, 0, 2, 0, 0, 0, + 70, 126, 16, 0, 0, 0, + 0, 0, 0, 96, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 7, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, - 0, 96, 16, 0, 1, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 1, 0, - 0, 0, 70, 16, 16, 0, - 2, 0, 0, 0, 70, 126, - 16, 0, 0, 0, 0, 0, - 0, 96, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 7, - 242, 0, 16, 0, 1, 0, - 0, 0, 70, 14, 16, 0, - 1, 0, 0, 0, 70, 30, + 70, 30, 16, 0, 0, 0, + 0, 0, 50, 0, 0, 10, + 114, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 246, 15, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 128, 65, 0, + 0, 0, 1, 0, 0, 0, + 56, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, - 50, 0, 0, 10, 114, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 1, 0, 0, 0, 50, 0, + 0, 9, 114, 0, 16, 0, + 0, 0, 0, 0, 70, 18, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 50, 0, + 0, 10, 114, 0, 16, 0, + 0, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, + 0, 0, 50, 0, 0, 11, + 114, 0, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 11, 0, 0, 0, 246, 15, 16, 0, 1, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, - 1, 0, 0, 0, 56, 0, - 0, 7, 130, 0, 16, 0, - 0, 0, 0, 0, 58, 0, - 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 1, 0, - 0, 0, 50, 0, 0, 9, - 114, 0, 16, 0, 0, 0, - 0, 0, 70, 18, 16, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 50, 0, 0, 10, - 114, 0, 16, 0, 0, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 246, 15, 16, 0, - 0, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 50, 0, 0, 11, 114, 0, + 0, 0, 0, 0, 50, 0, + 0, 9, 114, 32, 16, 0, + 0, 0, 0, 0, 246, 31, 16, 0, 1, 0, 0, 0, - 70, 130, 32, 0, 0, 0, - 0, 0, 11, 0, 0, 0, - 246, 15, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 128, - 65, 0, 0, 0, 0, 0, - 0, 0, 50, 0, 0, 9, - 114, 32, 16, 0, 0, 0, - 0, 0, 246, 31, 16, 0, - 1, 0, 0, 0, 70, 2, + 70, 2, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 130, 32, 16, 0, + 0, 0, 0, 0, 58, 0, 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 54, 0, 0, 5, - 130, 32, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 1, 0, 0, 0, 62, 0, - 0, 1, 73, 83, 71, 78, - 120, 0, 0, 0, 4, 0, - 0, 0, 8, 0, 0, 0, - 104, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 15, 0, 0, - 104, 0, 0, 0, 1, 0, + 62, 0, 0, 1, 73, 83, + 71, 78, 120, 0, 0, 0, + 4, 0, 0, 0, 8, 0, + 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 15, 15, 0, 0, - 110, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 15, + 0, 0, 104, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 15, 15, + 0, 0, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 3, 3, 0, 0, - 110, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 2, 0, 0, 0, 3, 3, + 0, 0, 110, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 7, 7, + 0, 0, 67, 79, 76, 79, + 82, 0, 84, 69, 88, 67, + 79, 79, 82, 68, 0, 171, + 79, 83, 71, 78, 44, 0, + 0, 0, 1, 0, 0, 0, + 8, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 3, 0, - 0, 0, 7, 7, 0, 0, - 67, 79, 76, 79, 82, 0, - 84, 69, 88, 67, 79, 79, - 82, 68, 0, 171, 79, 83, - 71, 78, 44, 0, 0, 0, - 1, 0, 0, 0, 8, 0, - 0, 0, 32, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 83, 86, 95, 84, - 97, 114, 103, 101, 116, 0, - 171, 171 + 15, 0, 0, 0, 83, 86, + 95, 84, 97, 114, 103, 101, + 116, 0, 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapSpecularNoFog.inc b/Kits/DirectXTK/Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapSpecularNoFog.inc index 332618c4..3fe78386 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapSpecularNoFog.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/EnvironmentMapEffect_PSEnvMapSpecularNoFog.inc @@ -38,20 +38,24 @@ // Level9 shader bytecode: // ps_2_0 - dcl t0 - dcl t1 - dcl t2.xy - dcl t3.xyz + dcl t0 // pin<0,1,2,3> + dcl t1 // pin<4,5,6,7> + dcl t2.xy // pin<8,9> + dcl t3.xyz // pin<10,11,12> dcl_2d s0 dcl_cube s1 + +#line 160 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\EnvironmentMapEffect.fx" texld r0, t3, s1 texld r1, t2, s0 - mul r1, r1, t0 + mul r1, r1, t0 // ::color<0,1,2,3> + +#line 162 mad r0.xyz, r0, r1.w, -r1 - mul r0.w, r0.w, r1.w - mad r0.xyz, t1, r0, r1 - mad r1.xyz, c0, r0.w, r0 - mov oC0, r1 + mul r0.w, r0.w, r1.w // ::envmap<3> + mad r0.xyz, t1, r0, r1 // ::color<0,1,2> + mad r1.xyz, c0, r0.w, r0 // ::color<0,1,2> + mov oC0, r1 // ::PSEnvMapSpecularNoFog<0,1,2,3> // approximately 8 instruction slots used (2 texture, 6 arithmetic) ps_4_0 @@ -80,17 +84,17 @@ ret const BYTE EnvironmentMapEffect_PSEnvMapSpecularNoFog[] = { - 68, 88, 66, 67, 187, 250, - 231, 5, 121, 80, 60, 173, - 98, 18, 212, 255, 189, 173, - 239, 11, 1, 0, 0, 0, - 164, 3, 0, 0, 4, 0, + 68, 88, 66, 67, 200, 148, + 20, 147, 120, 122, 183, 154, + 225, 8, 208, 18, 28, 171, + 65, 163, 1, 0, 0, 0, + 68, 6, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 72, 1, 0, 0, 240, 2, - 0, 0, 112, 3, 0, 0, - 65, 111, 110, 57, 16, 1, - 0, 0, 16, 1, 0, 0, - 0, 2, 255, 255, 216, 0, + 232, 3, 0, 0, 144, 5, + 0, 0, 16, 6, 0, 0, + 65, 111, 110, 57, 176, 3, + 0, 0, 176, 3, 0, 0, + 0, 2, 255, 255, 120, 3, 0, 0, 56, 0, 0, 0, 1, 0, 44, 0, 0, 0, 56, 0, 0, 0, 56, 0, @@ -99,7 +103,119 @@ const BYTE EnvironmentMapEffect_PSEnvMapSpecularNoFog[] = 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2, - 255, 255, 31, 0, 0, 2, + 255, 255, 254, 255, 167, 0, + 68, 66, 85, 71, 40, 0, + 0, 0, 112, 2, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 124, 0, 0, 0, + 14, 0, 0, 0, 128, 0, + 0, 0, 4, 0, 0, 0, + 32, 2, 0, 0, 240, 0, + 0, 0, 67, 58, 92, 65, + 84, 71, 32, 83, 97, 109, + 112, 108, 101, 32, 68, 101, + 118, 101, 108, 111, 112, 109, + 101, 110, 116, 92, 115, 116, + 95, 100, 101, 118, 92, 75, + 105, 116, 115, 92, 68, 105, + 114, 101, 99, 116, 88, 84, + 75, 92, 83, 114, 99, 92, + 83, 104, 97, 100, 101, 114, + 115, 92, 69, 110, 118, 105, + 114, 111, 110, 109, 101, 110, + 116, 77, 97, 112, 69, 102, + 102, 101, 99, 116, 46, 102, + 120, 0, 40, 0, 0, 0, + 0, 0, 255, 255, 164, 2, + 0, 0, 0, 0, 255, 255, + 176, 2, 0, 0, 0, 0, + 255, 255, 188, 2, 0, 0, + 0, 0, 255, 255, 200, 2, + 0, 0, 0, 0, 255, 255, + 212, 2, 0, 0, 0, 0, + 255, 255, 224, 2, 0, 0, + 160, 0, 0, 0, 236, 2, + 0, 0, 159, 0, 0, 0, + 252, 2, 0, 0, 159, 0, + 0, 0, 12, 3, 0, 0, + 162, 0, 0, 0, 28, 3, + 0, 0, 160, 0, 0, 0, + 48, 3, 0, 0, 162, 0, + 0, 0, 64, 3, 0, 0, + 163, 0, 0, 0, 84, 3, + 0, 0, 163, 0, 0, 0, + 104, 3, 0, 0, 80, 83, + 69, 110, 118, 77, 97, 112, + 83, 112, 101, 99, 117, 108, + 97, 114, 78, 111, 70, 111, + 103, 0, 171, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 13, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 99, 111, 108, 111, + 114, 0, 171, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 11, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 12, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 101, 110, 118, 109, + 97, 112, 0, 171, 10, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 3, 0, 112, 105, + 110, 0, 68, 105, 102, 102, + 117, 115, 101, 0, 83, 112, + 101, 99, 117, 108, 97, 114, + 0, 84, 101, 120, 67, 111, + 111, 114, 100, 0, 171, 171, + 1, 0, 3, 0, 1, 0, + 2, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 69, 110, + 118, 67, 111, 111, 114, 100, + 0, 171, 171, 171, 1, 0, + 3, 0, 1, 0, 3, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 120, 1, 0, 0, + 44, 1, 0, 0, 128, 1, + 0, 0, 44, 1, 0, 0, + 137, 1, 0, 0, 148, 1, + 0, 0, 164, 1, 0, 0, + 176, 1, 0, 0, 5, 0, + 0, 0, 1, 0, 13, 0, + 1, 0, 4, 0, 192, 1, + 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 1, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 7, 0, 2, 0, 0, 0, + 8, 0, 9, 0, 255, 255, + 255, 255, 3, 0, 0, 0, + 10, 0, 11, 0, 12, 0, + 255, 255, 0, 0, 0, 0, + 240, 0, 0, 0, 8, 1, + 0, 0, 1, 0, 0, 0, + 24, 1, 0, 0, 0, 0, + 0, 0, 36, 1, 0, 0, + 44, 1, 0, 0, 3, 0, + 0, 0, 60, 1, 0, 0, + 0, 0, 0, 0, 96, 1, + 0, 0, 44, 1, 0, 0, + 1, 0, 0, 0, 104, 1, + 0, 0, 240, 0, 0, 0, + 116, 1, 0, 0, 224, 1, + 0, 0, 4, 0, 0, 0, + 240, 1, 0, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 31, 0, 0, 2, 0, 0, 0, 128, 0, 0, 15, 176, 31, 0, 0, 2, 0, 0, 0, 128, 1, 0, diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMap.inc b/Kits/DirectXTK/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMap.inc index 29e263d7..09c6b034 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMap.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMap.inc @@ -43,43 +43,69 @@ // vs_2_0 def c22, 0, 1, 0, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5,6> + dcl_texcoord2 v2 // vin<7,8> + +#line 67 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\EnvironmentMapEffect.fx" dp3 r0.x, v1, c15 dp3 r0.y, v1, c16 dp3 r0.z, v1, c17 - nrm r1.xyz, r0 - dp3 r0.x, -c4, r1 - dp3 r0.y, -c5, r1 - dp3 r0.z, -c6, r1 - sge r2.xyz, r0, c22.x - mul r0.xyz, r0, r2 + nrm r1.xyz, r0 // ::worldNormal<0,1,2> + +#line 36 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp3 r0.x, -c4, r1 // ::dotL<0> + dp3 r0.y, -c5, r1 // ::dotL<1> + dp3 r0.z, -c6, r1 // ::dotL<2> + +#line 39 + sge r2.xyz, r0, c22.x // ::zeroL<0,1,2> + mul r0.xyz, r0, r2 // ::diffuse<0,1,2> + +#line 46 mul r2.xyz, r0.y, c8 mad r0.xyw, r0.x, c7.xyzz, r2.xyzz mad r0.xyz, r0.z, c9, r0.xyww - mov r2.xyz, c2 - mad oT0.xyz, r0, r2, c3 - dp4 oPos.z, v0, c20 + mov r2.xyz, c2 // Parameters::DiffuseColor<0,1,2> + mad oT0.xyz, r0, r2, c3 // ::VSEnvMap<0,1,2> + +#line 71 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\EnvironmentMapEffect.fx" + dp4 oPos.z, v0, c20 // ::VSEnvMap<15> + +#line 14 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" dp4 r0.x, v0, c11 max r0.x, r0.x, c22.x - min oT1.w, r0.x, c22.y - dp4 r0.x, v0, c12 - dp4 r0.y, v0, c13 - dp4 r0.z, v0, c14 + min oT1.w, r0.x, c22.y // ::VSEnvMap<7> + +#line 65 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\EnvironmentMapEffect.fx" + dp4 r0.x, v0, c12 // ::pos_ws<0> + dp4 r0.y, v0, c13 // ::pos_ws<1> + dp4 r0.z, v0, c14 // ::pos_ws<2> add r0.xyz, -r0, c10 - nrm r2.xyz, r0 + nrm r2.xyz, r0 // ::eyeVector<0,1,2> + +#line 81 dp3 r0.x, -r2, r1 add r0.x, r0.x, r0.x - mad oT3.xyz, r1, -r0.x, -r2 - dp4 r0.x, v0, c18 - dp4 r0.y, v0, c19 - dp4 r0.z, v0, c21 - mad oPos.xy, r0.z, c0, r0 - mov oPos.w, r0.z - mov oT0.w, c2.w - mov oT1.xyz, c1.x - mov oT2.xy, v2 + mad oT3.xyz, r1, -r0.x, -r2 // ::VSEnvMap<10,11,12> + +#line 71 + dp4 r0.x, v0, c18 // ::vout<13> + dp4 r0.y, v0, c19 // ::vout<14> + dp4 r0.z, v0, c21 // ::vout<16> + +#line 88 + mad oPos.xy, r0.z, c0, r0 // ::VSEnvMap<13,14> + mov oPos.w, r0.z // ::VSEnvMap<16> + +#line 46 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + mov oT0.w, c2.w // ::VSEnvMap<3> + +#line 77 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\EnvironmentMapEffect.fx" + mov oT1.xyz, c1.x // ::VSEnvMap<4,5,6> + +#line 90 + mov oT2.xy, v2 // ::VSEnvMap<8,9> // approximately 38 instruction slots used vs_4_0 @@ -133,17 +159,17 @@ ret const BYTE EnvironmentMapEffect_VSEnvMap[] = { - 68, 88, 66, 67, 29, 224, - 82, 121, 115, 234, 195, 135, - 61, 109, 154, 38, 63, 150, - 90, 155, 1, 0, 0, 0, - 196, 8, 0, 0, 4, 0, + 68, 88, 66, 67, 101, 124, + 44, 126, 5, 169, 99, 18, + 224, 136, 152, 151, 55, 62, + 154, 235, 1, 0, 0, 0, + 152, 14, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 224, 2, 0, 0, 172, 7, - 0, 0, 32, 8, 0, 0, - 65, 111, 110, 57, 168, 2, - 0, 0, 168, 2, 0, 0, - 0, 2, 254, 255, 92, 2, + 180, 8, 0, 0, 128, 13, + 0, 0, 244, 13, 0, 0, + 65, 111, 110, 57, 124, 8, + 0, 0, 124, 8, 0, 0, + 0, 2, 254, 255, 48, 8, 0, 0, 76, 0, 0, 0, 3, 0, 36, 0, 0, 0, 72, 0, 0, 0, 72, 0, @@ -155,356 +181,605 @@ const BYTE EnvironmentMapEffect_VSEnvMap[] = 0, 0, 0, 0, 17, 0, 7, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 81, 0, - 0, 5, 22, 0, 15, 160, + 0, 2, 254, 255, 254, 255, + 116, 1, 68, 66, 85, 71, + 40, 0, 0, 0, 164, 5, 0, 0, 0, 0, 0, 0, - 128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 1, 128, - 1, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 2, 128, - 2, 0, 15, 144, 8, 0, - 0, 3, 0, 0, 1, 128, - 1, 0, 228, 144, 15, 0, - 228, 160, 8, 0, 0, 3, - 0, 0, 2, 128, 1, 0, - 228, 144, 16, 0, 228, 160, + 3, 0, 0, 0, 12, 1, + 0, 0, 38, 0, 0, 0, + 24, 1, 0, 0, 10, 0, + 0, 0, 220, 4, 0, 0, + 124, 2, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 69, 110, + 118, 105, 114, 111, 110, 109, + 101, 110, 116, 77, 97, 112, + 69, 102, 102, 101, 99, 116, + 46, 102, 120, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 76, 105, + 103, 104, 116, 105, 110, 103, + 46, 102, 120, 104, 0, 67, + 58, 92, 65, 84, 71, 32, + 83, 97, 109, 112, 108, 101, + 32, 68, 101, 118, 101, 108, + 111, 112, 109, 101, 110, 116, + 92, 115, 116, 95, 100, 101, + 118, 92, 75, 105, 116, 115, + 92, 68, 105, 114, 101, 99, + 116, 88, 84, 75, 92, 83, + 114, 99, 92, 83, 104, 97, + 100, 101, 114, 115, 92, 67, + 111, 109, 109, 111, 110, 46, + 102, 120, 104, 0, 40, 0, + 0, 0, 124, 0, 0, 0, + 197, 0, 0, 0, 0, 0, + 255, 255, 216, 5, 0, 0, + 0, 0, 255, 255, 240, 5, + 0, 0, 0, 0, 255, 255, + 252, 5, 0, 0, 0, 0, + 255, 255, 8, 6, 0, 0, + 67, 0, 0, 0, 20, 6, + 0, 0, 67, 0, 0, 0, + 36, 6, 0, 0, 67, 0, + 0, 0, 52, 6, 0, 0, + 67, 0, 0, 0, 68, 6, + 0, 0, 36, 0, 1, 0, + 80, 6, 0, 0, 36, 0, + 1, 0, 96, 6, 0, 0, + 36, 0, 1, 0, 112, 6, + 0, 0, 39, 0, 1, 0, + 128, 6, 0, 0, 41, 0, + 1, 0, 144, 6, 0, 0, + 46, 0, 1, 0, 160, 6, + 0, 0, 46, 0, 1, 0, + 176, 6, 0, 0, 46, 0, + 1, 0, 196, 6, 0, 0, + 46, 0, 1, 0, 216, 6, + 0, 0, 46, 0, 1, 0, + 228, 6, 0, 0, 71, 0, + 0, 0, 248, 6, 0, 0, + 14, 0, 2, 0, 8, 7, + 0, 0, 14, 0, 2, 0, + 24, 7, 0, 0, 14, 0, + 2, 0, 40, 7, 0, 0, + 65, 0, 0, 0, 56, 7, + 0, 0, 65, 0, 0, 0, + 72, 7, 0, 0, 65, 0, + 0, 0, 88, 7, 0, 0, + 66, 0, 0, 0, 104, 7, + 0, 0, 66, 0, 0, 0, + 120, 7, 0, 0, 81, 0, + 0, 0, 132, 7, 0, 0, + 81, 0, 0, 0, 148, 7, + 0, 0, 81, 0, 0, 0, + 164, 7, 0, 0, 71, 0, + 0, 0, 184, 7, 0, 0, + 71, 0, 0, 0, 200, 7, + 0, 0, 71, 0, 0, 0, + 216, 7, 0, 0, 88, 0, + 0, 0, 232, 7, 0, 0, + 88, 0, 0, 0, 252, 7, + 0, 0, 46, 0, 1, 0, + 8, 8, 0, 0, 77, 0, + 0, 0, 20, 8, 0, 0, + 90, 0, 0, 0, 32, 8, + 0, 0, 80, 97, 114, 97, + 109, 101, 116, 101, 114, 115, + 0, 68, 105, 102, 102, 117, + 115, 101, 67, 111, 108, 111, + 114, 0, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 16, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 86, 83, 69, 110, 118, 77, + 97, 112, 0, 68, 105, 102, + 102, 117, 115, 101, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 83, 112, 101, 99, 117, 108, + 97, 114, 0, 84, 101, 120, + 67, 111, 111, 114, 100, 0, + 171, 171, 1, 0, 3, 0, + 1, 0, 2, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 69, 110, 118, 67, 111, 111, + 114, 100, 0, 171, 171, 171, + 1, 0, 3, 0, 1, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 80, 111, + 115, 105, 116, 105, 111, 110, + 80, 83, 0, 171, 133, 2, + 0, 0, 144, 2, 0, 0, + 160, 2, 0, 0, 144, 2, + 0, 0, 169, 2, 0, 0, + 180, 2, 0, 0, 196, 2, + 0, 0, 208, 2, 0, 0, + 224, 2, 0, 0, 144, 2, + 0, 0, 5, 0, 0, 0, + 1, 0, 17, 0, 1, 0, + 5, 0, 236, 2, 0, 0, + 17, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 18, 0, 0, 0, 255, 255, + 255, 255, 15, 0, 255, 255, + 21, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 7, 0, + 29, 0, 0, 0, 10, 0, + 11, 0, 12, 0, 255, 255, + 33, 0, 0, 0, 13, 0, + 14, 0, 255, 255, 255, 255, + 34, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 16, 0, + 35, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 3, 0, + 36, 0, 0, 0, 4, 0, + 5, 0, 6, 0, 255, 255, + 37, 0, 0, 0, 8, 0, + 9, 0, 255, 255, 255, 255, + 100, 105, 102, 102, 117, 115, + 101, 0, 12, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 100, 111, 116, 76, + 0, 171, 171, 171, 8, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 9, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 10, 0, + 0, 0, 255, 255, 255, 255, + 2, 0, 255, 255, 101, 121, + 101, 86, 101, 99, 116, 111, + 114, 0, 171, 171, 26, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 112, 111, + 115, 95, 119, 115, 0, 171, + 22, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 23, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 24, 0, 0, 0, 255, 255, + 255, 255, 2, 0, 255, 255, + 118, 105, 110, 0, 80, 111, + 115, 105, 116, 105, 111, 110, + 0, 78, 111, 114, 109, 97, + 108, 0, 24, 4, 0, 0, + 144, 2, 0, 0, 33, 4, + 0, 0, 208, 2, 0, 0, + 169, 2, 0, 0, 180, 2, + 0, 0, 5, 0, 0, 0, + 1, 0, 9, 0, 1, 0, + 3, 0, 40, 4, 0, 0, + 1, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 2, 0, 0, 0, 4, 0, + 5, 0, 6, 0, 255, 255, + 3, 0, 0, 0, 7, 0, + 8, 0, 255, 255, 255, 255, + 118, 111, 117, 116, 0, 171, + 171, 171, 5, 0, 0, 0, + 1, 0, 17, 0, 1, 0, + 5, 0, 236, 2, 0, 0, + 30, 0, 0, 0, 13, 0, + 255, 255, 255, 255, 255, 255, + 31, 0, 0, 0, 255, 255, + 14, 0, 255, 255, 255, 255, + 32, 0, 0, 0, 255, 255, + 255, 255, 16, 0, 255, 255, + 119, 111, 114, 108, 100, 78, + 111, 114, 109, 97, 108, 0, + 7, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 122, 101, 114, 111, 76, 0, + 171, 171, 11, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 72, 2, 0, 0, + 83, 2, 0, 0, 96, 2, + 0, 0, 1, 0, 0, 0, + 112, 2, 0, 0, 0, 0, + 0, 0, 124, 2, 0, 0, + 20, 3, 0, 0, 9, 0, + 0, 0, 36, 3, 0, 0, + 0, 0, 0, 0, 144, 3, + 0, 0, 208, 2, 0, 0, + 1, 0, 0, 0, 152, 3, + 0, 0, 0, 0, 0, 0, + 164, 3, 0, 0, 208, 2, + 0, 0, 3, 0, 0, 0, + 172, 3, 0, 0, 0, 0, + 0, 0, 208, 3, 0, 0, + 208, 2, 0, 0, 1, 0, + 0, 0, 220, 3, 0, 0, + 0, 0, 0, 0, 232, 3, + 0, 0, 144, 2, 0, 0, + 3, 0, 0, 0, 240, 3, + 0, 0, 124, 2, 0, 0, + 20, 4, 0, 0, 64, 4, + 0, 0, 3, 0, 0, 0, + 80, 4, 0, 0, 0, 0, + 0, 0, 116, 4, 0, 0, + 124, 4, 0, 0, 3, 0, + 0, 0, 140, 4, 0, 0, + 0, 0, 0, 0, 176, 4, + 0, 0, 208, 2, 0, 0, + 1, 0, 0, 0, 188, 4, + 0, 0, 0, 0, 0, 0, + 200, 4, 0, 0, 208, 2, + 0, 0, 1, 0, 0, 0, + 208, 4, 0, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 81, 0, 0, 5, + 22, 0, 15, 160, 0, 0, + 0, 0, 0, 0, 128, 63, + 0, 0, 0, 0, 0, 0, + 0, 0, 31, 0, 0, 2, + 5, 0, 0, 128, 0, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 1, 128, 1, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 2, 128, 2, 0, + 15, 144, 8, 0, 0, 3, + 0, 0, 1, 128, 1, 0, + 228, 144, 15, 0, 228, 160, 8, 0, 0, 3, 0, 0, - 4, 128, 1, 0, 228, 144, - 17, 0, 228, 160, 36, 0, - 0, 2, 1, 0, 7, 128, - 0, 0, 228, 128, 8, 0, - 0, 3, 0, 0, 1, 128, - 4, 0, 228, 161, 1, 0, + 2, 128, 1, 0, 228, 144, + 16, 0, 228, 160, 8, 0, + 0, 3, 0, 0, 4, 128, + 1, 0, 228, 144, 17, 0, + 228, 160, 36, 0, 0, 2, + 1, 0, 7, 128, 0, 0, 228, 128, 8, 0, 0, 3, - 0, 0, 2, 128, 5, 0, + 0, 0, 1, 128, 4, 0, 228, 161, 1, 0, 228, 128, 8, 0, 0, 3, 0, 0, - 4, 128, 6, 0, 228, 161, - 1, 0, 228, 128, 13, 0, + 2, 128, 5, 0, 228, 161, + 1, 0, 228, 128, 8, 0, + 0, 3, 0, 0, 4, 128, + 6, 0, 228, 161, 1, 0, + 228, 128, 13, 0, 0, 3, + 2, 0, 7, 128, 0, 0, + 228, 128, 22, 0, 0, 160, + 5, 0, 0, 3, 0, 0, + 7, 128, 0, 0, 228, 128, + 2, 0, 228, 128, 5, 0, 0, 3, 2, 0, 7, 128, - 0, 0, 228, 128, 22, 0, - 0, 160, 5, 0, 0, 3, - 0, 0, 7, 128, 0, 0, - 228, 128, 2, 0, 228, 128, - 5, 0, 0, 3, 2, 0, - 7, 128, 0, 0, 85, 128, - 8, 0, 228, 160, 4, 0, - 0, 4, 0, 0, 11, 128, - 0, 0, 0, 128, 7, 0, - 164, 160, 2, 0, 164, 128, - 4, 0, 0, 4, 0, 0, - 7, 128, 0, 0, 170, 128, - 9, 0, 228, 160, 0, 0, - 244, 128, 1, 0, 0, 2, - 2, 0, 7, 128, 2, 0, + 0, 0, 85, 128, 8, 0, 228, 160, 4, 0, 0, 4, - 0, 0, 7, 224, 0, 0, - 228, 128, 2, 0, 228, 128, - 3, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 4, 192, - 0, 0, 228, 144, 20, 0, + 0, 0, 11, 128, 0, 0, + 0, 128, 7, 0, 164, 160, + 2, 0, 164, 128, 4, 0, + 0, 4, 0, 0, 7, 128, + 0, 0, 170, 128, 9, 0, + 228, 160, 0, 0, 244, 128, + 1, 0, 0, 2, 2, 0, + 7, 128, 2, 0, 228, 160, + 4, 0, 0, 4, 0, 0, + 7, 224, 0, 0, 228, 128, + 2, 0, 228, 128, 3, 0, 228, 160, 9, 0, 0, 3, - 0, 0, 1, 128, 0, 0, - 228, 144, 11, 0, 228, 160, - 11, 0, 0, 3, 0, 0, - 1, 128, 0, 0, 0, 128, - 22, 0, 0, 160, 10, 0, - 0, 3, 1, 0, 8, 224, + 0, 0, 4, 192, 0, 0, + 228, 144, 20, 0, 228, 160, + 9, 0, 0, 3, 0, 0, + 1, 128, 0, 0, 228, 144, + 11, 0, 228, 160, 11, 0, + 0, 3, 0, 0, 1, 128, 0, 0, 0, 128, 22, 0, - 85, 160, 9, 0, 0, 3, + 0, 160, 10, 0, 0, 3, + 1, 0, 8, 224, 0, 0, + 0, 128, 22, 0, 85, 160, + 9, 0, 0, 3, 0, 0, + 1, 128, 0, 0, 228, 144, + 12, 0, 228, 160, 9, 0, + 0, 3, 0, 0, 2, 128, + 0, 0, 228, 144, 13, 0, + 228, 160, 9, 0, 0, 3, + 0, 0, 4, 128, 0, 0, + 228, 144, 14, 0, 228, 160, + 2, 0, 0, 3, 0, 0, + 7, 128, 0, 0, 228, 129, + 10, 0, 228, 160, 36, 0, + 0, 2, 2, 0, 7, 128, + 0, 0, 228, 128, 8, 0, + 0, 3, 0, 0, 1, 128, + 2, 0, 228, 129, 1, 0, + 228, 128, 2, 0, 0, 3, + 0, 0, 1, 128, 0, 0, + 0, 128, 0, 0, 0, 128, + 4, 0, 0, 4, 3, 0, + 7, 224, 1, 0, 228, 128, + 0, 0, 0, 129, 2, 0, + 228, 129, 9, 0, 0, 3, 0, 0, 1, 128, 0, 0, - 228, 144, 12, 0, 228, 160, + 228, 144, 18, 0, 228, 160, 9, 0, 0, 3, 0, 0, 2, 128, 0, 0, 228, 144, - 13, 0, 228, 160, 9, 0, + 19, 0, 228, 160, 9, 0, 0, 3, 0, 0, 4, 128, - 0, 0, 228, 144, 14, 0, - 228, 160, 2, 0, 0, 3, - 0, 0, 7, 128, 0, 0, - 228, 129, 10, 0, 228, 160, - 36, 0, 0, 2, 2, 0, - 7, 128, 0, 0, 228, 128, - 8, 0, 0, 3, 0, 0, - 1, 128, 2, 0, 228, 129, - 1, 0, 228, 128, 2, 0, - 0, 3, 0, 0, 1, 128, - 0, 0, 0, 128, 0, 0, - 0, 128, 4, 0, 0, 4, - 3, 0, 7, 224, 1, 0, - 228, 128, 0, 0, 0, 129, - 2, 0, 228, 129, 9, 0, - 0, 3, 0, 0, 1, 128, - 0, 0, 228, 144, 18, 0, - 228, 160, 9, 0, 0, 3, - 0, 0, 2, 128, 0, 0, - 228, 144, 19, 0, 228, 160, - 9, 0, 0, 3, 0, 0, - 4, 128, 0, 0, 228, 144, - 21, 0, 228, 160, 4, 0, - 0, 4, 0, 0, 3, 192, - 0, 0, 170, 128, 0, 0, - 228, 160, 0, 0, 228, 128, - 1, 0, 0, 2, 0, 0, - 8, 192, 0, 0, 170, 128, - 1, 0, 0, 2, 0, 0, - 8, 224, 2, 0, 255, 160, - 1, 0, 0, 2, 1, 0, - 7, 224, 1, 0, 0, 160, - 1, 0, 0, 2, 2, 0, - 3, 224, 2, 0, 228, 144, - 255, 255, 0, 0, 83, 72, - 68, 82, 196, 4, 0, 0, - 64, 0, 1, 0, 49, 1, - 0, 0, 89, 0, 0, 4, - 70, 142, 32, 0, 0, 0, - 0, 0, 24, 0, 0, 0, - 95, 0, 0, 3, 242, 16, - 16, 0, 0, 0, 0, 0, - 95, 0, 0, 3, 114, 16, - 16, 0, 1, 0, 0, 0, - 95, 0, 0, 3, 50, 16, - 16, 0, 2, 0, 0, 0, - 101, 0, 0, 3, 242, 32, - 16, 0, 0, 0, 0, 0, - 101, 0, 0, 3, 242, 32, + 0, 0, 228, 144, 21, 0, + 228, 160, 4, 0, 0, 4, + 0, 0, 3, 192, 0, 0, + 170, 128, 0, 0, 228, 160, + 0, 0, 228, 128, 1, 0, + 0, 2, 0, 0, 8, 192, + 0, 0, 170, 128, 1, 0, + 0, 2, 0, 0, 8, 224, + 2, 0, 255, 160, 1, 0, + 0, 2, 1, 0, 7, 224, + 1, 0, 0, 160, 1, 0, + 0, 2, 2, 0, 3, 224, + 2, 0, 228, 144, 255, 255, + 0, 0, 83, 72, 68, 82, + 196, 4, 0, 0, 64, 0, + 1, 0, 49, 1, 0, 0, + 89, 0, 0, 4, 70, 142, + 32, 0, 0, 0, 0, 0, + 24, 0, 0, 0, 95, 0, + 0, 3, 242, 16, 16, 0, + 0, 0, 0, 0, 95, 0, + 0, 3, 114, 16, 16, 0, + 1, 0, 0, 0, 95, 0, + 0, 3, 50, 16, 16, 0, + 2, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 0, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 50, 32, 16, 0, + 2, 0, 0, 0, 101, 0, + 0, 3, 114, 32, 16, 0, + 3, 0, 0, 0, 103, 0, + 0, 4, 242, 32, 16, 0, + 4, 0, 0, 0, 1, 0, + 0, 0, 104, 0, 0, 2, + 3, 0, 0, 0, 16, 0, + 0, 8, 18, 0, 16, 0, + 0, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, - 101, 0, 0, 3, 50, 32, - 16, 0, 2, 0, 0, 0, - 101, 0, 0, 3, 114, 32, - 16, 0, 3, 0, 0, 0, - 103, 0, 0, 4, 242, 32, - 16, 0, 4, 0, 0, 0, - 1, 0, 0, 0, 104, 0, - 0, 2, 3, 0, 0, 0, - 16, 0, 0, 8, 18, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 17, 0, 0, 0, + 16, 0, 0, 8, 34, 0, 16, 0, 0, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 17, 0, + 0, 0, 0, 0, 18, 0, 0, 0, 16, 0, 0, 8, - 34, 0, 16, 0, 0, 0, + 66, 0, 16, 0, 0, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, - 18, 0, 0, 0, 16, 0, - 0, 8, 66, 0, 16, 0, - 0, 0, 0, 0, 70, 18, - 16, 0, 1, 0, 0, 0, - 70, 130, 32, 0, 0, 0, - 0, 0, 19, 0, 0, 0, - 16, 0, 0, 7, 130, 0, + 19, 0, 0, 0, 16, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 68, 0, - 0, 5, 130, 0, 16, 0, - 0, 0, 0, 0, 58, 0, - 16, 0, 0, 0, 0, 0, - 56, 0, 0, 7, 114, 0, + 0, 0, 68, 0, 0, 5, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 0, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, - 246, 15, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 16, 0, - 0, 9, 18, 0, 16, 0, - 1, 0, 0, 0, 70, 130, - 32, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 4, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 16, 0, - 0, 9, 34, 0, 16, 0, - 1, 0, 0, 0, 70, 130, - 32, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 5, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 16, 0, - 0, 9, 66, 0, 16, 0, - 1, 0, 0, 0, 70, 130, - 32, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 6, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 16, 0, 0, 9, + 18, 0, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 16, 0, 0, 9, + 34, 0, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 16, 0, 0, 9, + 66, 0, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 29, 0, 0, 10, + 114, 0, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 29, 0, - 0, 10, 114, 0, 16, 0, - 2, 0, 0, 0, 70, 2, - 16, 0, 1, 0, 0, 0, - 2, 64, 0, 0, 0, 0, + 1, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 10, - 114, 0, 16, 0, 2, 0, - 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 2, 64, - 0, 0, 0, 0, 128, 63, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 10, 114, 0, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, - 128, 63, 0, 0, 0, 0, - 56, 0, 0, 7, 114, 0, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 56, 0, - 0, 8, 114, 0, 16, 0, - 2, 0, 0, 0, 86, 5, - 16, 0, 1, 0, 0, 0, - 70, 130, 32, 0, 0, 0, - 0, 0, 8, 0, 0, 0, - 50, 0, 0, 10, 178, 0, + 128, 63, 0, 0, 128, 63, + 0, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 1, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, - 6, 0, 16, 0, 1, 0, - 0, 0, 70, 136, 32, 0, - 0, 0, 0, 0, 7, 0, - 0, 0, 70, 8, 16, 0, - 2, 0, 0, 0, 50, 0, - 0, 10, 114, 0, 16, 0, - 1, 0, 0, 0, 166, 10, + 70, 2, 16, 0, 2, 0, + 0, 0, 56, 0, 0, 8, + 114, 0, 16, 0, 2, 0, + 0, 0, 86, 5, 16, 0, + 1, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 50, 0, + 0, 10, 178, 0, 16, 0, + 1, 0, 0, 0, 6, 0, 16, 0, 1, 0, 0, 0, - 70, 130, 32, 0, 0, 0, - 0, 0, 9, 0, 0, 0, - 70, 3, 16, 0, 1, 0, - 0, 0, 50, 0, 0, 11, - 114, 32, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, + 70, 136, 32, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 70, 8, 16, 0, 2, 0, + 0, 0, 50, 0, 0, 10, + 114, 0, 16, 0, 1, 0, + 0, 0, 166, 10, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 70, 130, + 9, 0, 0, 0, 70, 3, + 16, 0, 1, 0, 0, 0, + 50, 0, 0, 11, 114, 32, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 54, 0, 0, 6, + 130, 32, 16, 0, 0, 0, + 0, 0, 58, 128, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 17, 32, 0, 8, + 130, 32, 16, 0, 1, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 54, 0, - 0, 6, 130, 32, 16, 0, - 0, 0, 0, 0, 58, 128, + 12, 0, 0, 0, 54, 0, + 0, 6, 114, 32, 16, 0, + 1, 0, 0, 0, 6, 128, 32, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 17, 32, - 0, 8, 130, 32, 16, 0, - 1, 0, 0, 0, 70, 30, - 16, 0, 0, 0, 0, 0, - 70, 142, 32, 0, 0, 0, - 0, 0, 12, 0, 0, 0, - 54, 0, 0, 6, 114, 32, - 16, 0, 1, 0, 0, 0, - 6, 128, 32, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 54, 0, 0, 5, 50, 32, + 1, 0, 0, 0, 54, 0, + 0, 5, 50, 32, 16, 0, + 2, 0, 0, 0, 70, 16, 16, 0, 2, 0, 0, 0, - 70, 16, 16, 0, 2, 0, + 17, 0, 0, 8, 18, 0, + 16, 0, 1, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 13, 0, 0, 0, 17, 0, 0, 8, - 18, 0, 16, 0, 1, 0, + 34, 0, 16, 0, 1, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 13, 0, 0, 0, 17, 0, - 0, 8, 34, 0, 16, 0, + 14, 0, 0, 0, 17, 0, + 0, 8, 66, 0, 16, 0, 1, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, - 0, 0, 14, 0, 0, 0, - 17, 0, 0, 8, 66, 0, + 0, 0, 15, 0, 0, 0, + 0, 0, 0, 9, 114, 0, 16, 0, 1, 0, 0, 0, - 70, 30, 16, 0, 0, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 0, 0, 0, 9, - 114, 0, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 128, - 65, 0, 0, 0, 1, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 10, 0, - 0, 0, 16, 0, 0, 7, - 130, 0, 16, 0, 0, 0, + 70, 2, 16, 128, 65, 0, + 0, 0, 1, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 10, 0, 0, 0, + 16, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 70, 2, + 1, 0, 0, 0, 68, 0, + 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 56, 0, 0, 7, 114, 0, 16, 0, 1, 0, 0, 0, - 68, 0, 0, 5, 130, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 16, 0, + 0, 8, 130, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 128, 65, 0, 0, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 0, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 1, 0, - 0, 0, 246, 15, 16, 0, - 0, 0, 0, 0, 70, 2, - 16, 0, 1, 0, 0, 0, - 16, 0, 0, 8, 130, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 50, 0, + 0, 11, 114, 32, 16, 0, + 3, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, + 246, 15, 16, 128, 65, 0, + 0, 0, 0, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 0, 0, 0, 7, - 130, 0, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 58, 0, - 16, 0, 0, 0, 0, 0, - 50, 0, 0, 11, 114, 32, - 16, 0, 3, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 246, 15, 16, 128, - 65, 0, 0, 0, 0, 0, - 0, 0, 70, 2, 16, 128, - 65, 0, 0, 0, 1, 0, + 17, 0, 0, 8, 18, 32, + 16, 0, 4, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 20, 0, 0, 0, 17, 0, 0, 8, - 18, 32, 16, 0, 4, 0, + 34, 32, 16, 0, 4, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 20, 0, 0, 0, 17, 0, - 0, 8, 34, 32, 16, 0, + 21, 0, 0, 0, 17, 0, + 0, 8, 66, 32, 16, 0, 4, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, - 0, 0, 21, 0, 0, 0, - 17, 0, 0, 8, 66, 32, + 0, 0, 22, 0, 0, 0, + 17, 0, 0, 8, 130, 32, 16, 0, 4, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 22, 0, - 0, 0, 17, 0, 0, 8, - 130, 32, 16, 0, 4, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 70, 142, - 32, 0, 0, 0, 0, 0, - 23, 0, 0, 0, 62, 0, - 0, 1, 73, 83, 71, 78, - 108, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 23, 0, + 0, 0, 62, 0, 0, 1, + 73, 83, 71, 78, 108, 0, + 0, 0, 3, 0, 0, 0, + 8, 0, 0, 0, 80, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 15, 0, 0, 92, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 7, 7, 0, 0, 99, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 3, 3, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 78, 79, + 82, 77, 65, 76, 0, 84, + 69, 88, 67, 79, 79, 82, + 68, 0, 79, 83, 71, 78, + 156, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, - 80, 0, 0, 0, 0, 0, + 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, - 0, 0, 15, 15, 0, 0, - 92, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 128, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, - 0, 0, 7, 7, 0, 0, - 99, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, - 0, 0, 3, 3, 0, 0, - 83, 86, 95, 80, 111, 115, - 105, 116, 105, 111, 110, 0, - 78, 79, 82, 77, 65, 76, - 0, 84, 69, 88, 67, 79, - 79, 82, 68, 0, 79, 83, - 71, 78, 156, 0, 0, 0, - 5, 0, 0, 0, 8, 0, - 0, 0, 128, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 128, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 15, 0, - 0, 0, 134, 0, 0, 0, + 0, 0, 3, 12, 0, 0, + 134, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 2, 0, 0, 0, 3, 12, - 0, 0, 134, 0, 0, 0, - 1, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 3, 0, 0, 0, 7, 8, - 0, 0, 143, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 3, 0, 0, 0, - 4, 0, 0, 0, 15, 0, - 0, 0, 67, 79, 76, 79, - 82, 0, 84, 69, 88, 67, - 79, 79, 82, 68, 0, 83, - 86, 95, 80, 111, 115, 105, - 116, 105, 111, 110, 0, 171 + 3, 0, 0, 0, 3, 0, + 0, 0, 7, 8, 0, 0, + 143, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 3, 0, 0, 0, 4, 0, + 0, 0, 15, 0, 0, 0, + 67, 79, 76, 79, 82, 0, + 84, 69, 88, 67, 79, 79, + 82, 68, 0, 83, 86, 95, + 80, 111, 115, 105, 116, 105, + 111, 110, 0, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapFresnel.inc b/Kits/DirectXTK/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapFresnel.inc index 3e4bbeef..9aeb1aa3 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapFresnel.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapFresnel.inc @@ -43,48 +43,74 @@ // vs_2_0 def c22, 0, 1, 0, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5,6> + dcl_texcoord2 v2 // vin<7,8> + +#line 67 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\EnvironmentMapEffect.fx" dp3 r0.x, v1, c15 dp3 r0.y, v1, c16 dp3 r0.z, v1, c17 - nrm r1.xyz, r0 - dp3 r0.x, -c4, r1 - dp3 r0.y, -c5, r1 - dp3 r0.z, -c6, r1 - sge r2.xyz, r0, c22.x - mul r0.xyz, r0, r2 + nrm r1.xyz, r0 // ::worldNormal<0,1,2> + +#line 36 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp3 r0.x, -c4, r1 // ::dotL<0> + dp3 r0.y, -c5, r1 // ::dotL<1> + dp3 r0.z, -c6, r1 // ::dotL<2> + +#line 39 + sge r2.xyz, r0, c22.x // ::zeroL<0,1,2> + mul r0.xyz, r0, r2 // ::diffuse<0,1,2> + +#line 46 mul r2.xyz, r0.y, c8 mad r0.xyw, r0.x, c7.xyzz, r2.xyzz mad r0.xyz, r0.z, c9, r0.xyww - mov r2.xyz, c2 - mad oT0.xyz, r0, r2, c3 - dp4 oPos.z, v0, c20 - dp4 r0.x, v0, c12 - dp4 r0.y, v0, c13 - dp4 r0.z, v0, c14 + mov r2.xyz, c2 // Parameters::DiffuseColor<0,1,2> + mad oT0.xyz, r0, r2, c3 // ::VSEnvMapFresnel<0,1,2> + +#line 71 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\EnvironmentMapEffect.fx" + dp4 oPos.z, v0, c20 // ::VSEnvMapFresnel<15> + +#line 65 + dp4 r0.x, v0, c12 // ::pos_ws<0> + dp4 r0.y, v0, c13 // ::pos_ws<1> + dp4 r0.z, v0, c14 // ::pos_ws<2> add r0.xyz, -r0, c10 - nrm r2.xyz, r0 - dp3 r0.x, r2, r1 + nrm r2.xyz, r0 // ::eyeVector<0,1,2> + +#line 55 + dp3 r0.x, r2, r1 // ::viewAngle<0> abs r0.x, r0.x add r0.x, -r0.x, c22.y max r0.x, r0.x, c22.x pow r1.w, r0.x, c1.y - mul oT1.xyz, r1.w, c1.x + mul oT1.xyz, r1.w, c1.x // ::VSEnvMapFresnel<4,5,6> + +#line 14 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" dp4 r0.x, v0, c11 max r0.x, r0.x, c22.x - min oT1.w, r0.x, c22.y + min oT1.w, r0.x, c22.y // ::VSEnvMapFresnel<7> + +#line 81 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\EnvironmentMapEffect.fx" dp3 r0.x, -r2, r1 add r0.x, r0.x, r0.x - mad oT3.xyz, r1, -r0.x, -r2 - dp4 r0.x, v0, c18 - dp4 r0.y, v0, c19 - dp4 r0.z, v0, c21 - mad oPos.xy, r0.z, c0, r0 - mov oPos.w, r0.z - mov oT0.w, c2.w - mov oT2.xy, v2 + mad oT3.xyz, r1, -r0.x, -r2 // ::VSEnvMapFresnel<10,11,12> + +#line 71 + dp4 r0.x, v0, c18 // ::vout<13> + dp4 r0.y, v0, c19 // ::vout<14> + dp4 r0.z, v0, c21 // ::vout<16> + +#line 95 + mad oPos.xy, r0.z, c0, r0 // ::VSEnvMapFresnel<13,14> + mov oPos.w, r0.z // ::VSEnvMapFresnel<16> + +#line 46 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + mov oT0.w, c2.w // ::VSEnvMapFresnel<3> + +#line 97 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\EnvironmentMapEffect.fx" + mov oT2.xy, v2 // ::VSEnvMapFresnel<8,9> // approximately 45 instruction slots used vs_4_0 @@ -144,17 +170,17 @@ ret const BYTE EnvironmentMapEffect_VSEnvMapFresnel[] = { - 68, 88, 66, 67, 203, 164, - 21, 36, 185, 120, 53, 136, - 169, 70, 68, 18, 136, 26, - 75, 250, 1, 0, 0, 0, - 188, 9, 0, 0, 4, 0, + 68, 88, 66, 67, 43, 68, + 199, 144, 184, 216, 16, 13, + 30, 112, 195, 220, 61, 145, + 135, 163, 1, 0, 0, 0, + 248, 15, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 48, 3, 0, 0, 164, 8, - 0, 0, 24, 9, 0, 0, - 65, 111, 110, 57, 248, 2, - 0, 0, 248, 2, 0, 0, - 0, 2, 254, 255, 172, 2, + 108, 9, 0, 0, 224, 14, + 0, 0, 84, 15, 0, 0, + 65, 111, 110, 57, 52, 9, + 0, 0, 52, 9, 0, 0, + 0, 2, 254, 255, 232, 8, 0, 0, 76, 0, 0, 0, 3, 0, 36, 0, 0, 0, 72, 0, 0, 0, 72, 0, @@ -166,7 +192,273 @@ const BYTE EnvironmentMapEffect_VSEnvMapFresnel[] = 0, 0, 0, 0, 17, 0, 7, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 81, 0, + 0, 2, 254, 255, 254, 255, + 142, 1, 68, 66, 85, 71, + 40, 0, 0, 0, 12, 6, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 12, 1, + 0, 0, 43, 0, 0, 0, + 24, 1, 0, 0, 11, 0, + 0, 0, 48, 5, 0, 0, + 164, 2, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 69, 110, + 118, 105, 114, 111, 110, 109, + 101, 110, 116, 77, 97, 112, + 69, 102, 102, 101, 99, 116, + 46, 102, 120, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 76, 105, + 103, 104, 116, 105, 110, 103, + 46, 102, 120, 104, 0, 67, + 58, 92, 65, 84, 71, 32, + 83, 97, 109, 112, 108, 101, + 32, 68, 101, 118, 101, 108, + 111, 112, 109, 101, 110, 116, + 92, 115, 116, 95, 100, 101, + 118, 92, 75, 105, 116, 115, + 92, 68, 105, 114, 101, 99, + 116, 88, 84, 75, 92, 83, + 114, 99, 92, 83, 104, 97, + 100, 101, 114, 115, 92, 67, + 111, 109, 109, 111, 110, 46, + 102, 120, 104, 0, 40, 0, + 0, 0, 124, 0, 0, 0, + 197, 0, 0, 0, 0, 0, + 255, 255, 64, 6, 0, 0, + 0, 0, 255, 255, 88, 6, + 0, 0, 0, 0, 255, 255, + 100, 6, 0, 0, 0, 0, + 255, 255, 112, 6, 0, 0, + 67, 0, 0, 0, 124, 6, + 0, 0, 67, 0, 0, 0, + 140, 6, 0, 0, 67, 0, + 0, 0, 156, 6, 0, 0, + 67, 0, 0, 0, 172, 6, + 0, 0, 36, 0, 1, 0, + 184, 6, 0, 0, 36, 0, + 1, 0, 200, 6, 0, 0, + 36, 0, 1, 0, 216, 6, + 0, 0, 39, 0, 1, 0, + 232, 6, 0, 0, 41, 0, + 1, 0, 248, 6, 0, 0, + 46, 0, 1, 0, 8, 7, + 0, 0, 46, 0, 1, 0, + 24, 7, 0, 0, 46, 0, + 1, 0, 44, 7, 0, 0, + 46, 0, 1, 0, 64, 7, + 0, 0, 46, 0, 1, 0, + 76, 7, 0, 0, 71, 0, + 0, 0, 96, 7, 0, 0, + 65, 0, 0, 0, 112, 7, + 0, 0, 65, 0, 0, 0, + 128, 7, 0, 0, 65, 0, + 0, 0, 144, 7, 0, 0, + 66, 0, 0, 0, 160, 7, + 0, 0, 66, 0, 0, 0, + 176, 7, 0, 0, 55, 0, + 0, 0, 188, 7, 0, 0, + 57, 0, 0, 0, 204, 7, + 0, 0, 57, 0, 0, 0, + 216, 7, 0, 0, 57, 0, + 0, 0, 232, 7, 0, 0, + 57, 0, 0, 0, 248, 7, + 0, 0, 57, 0, 0, 0, + 8, 8, 0, 0, 14, 0, + 2, 0, 24, 8, 0, 0, + 14, 0, 2, 0, 40, 8, + 0, 0, 14, 0, 2, 0, + 56, 8, 0, 0, 81, 0, + 0, 0, 72, 8, 0, 0, + 81, 0, 0, 0, 88, 8, + 0, 0, 81, 0, 0, 0, + 104, 8, 0, 0, 71, 0, + 0, 0, 124, 8, 0, 0, + 71, 0, 0, 0, 140, 8, + 0, 0, 71, 0, 0, 0, + 156, 8, 0, 0, 95, 0, + 0, 0, 172, 8, 0, 0, + 95, 0, 0, 0, 192, 8, + 0, 0, 46, 0, 1, 0, + 204, 8, 0, 0, 97, 0, + 0, 0, 216, 8, 0, 0, + 80, 97, 114, 97, 109, 101, + 116, 101, 114, 115, 0, 68, + 105, 102, 102, 117, 115, 101, + 67, 111, 108, 111, 114, 0, + 1, 0, 3, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 86, 83, + 69, 110, 118, 77, 97, 112, + 70, 114, 101, 115, 110, 101, + 108, 0, 68, 105, 102, 102, + 117, 115, 101, 0, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 83, 112, 101, 99, + 117, 108, 97, 114, 0, 84, + 101, 120, 67, 111, 111, 114, + 100, 0, 171, 171, 1, 0, + 3, 0, 1, 0, 2, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 69, 110, 118, 67, + 111, 111, 114, 100, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 80, 111, 115, 105, 116, 105, + 111, 110, 80, 83, 0, 171, + 180, 2, 0, 0, 188, 2, + 0, 0, 204, 2, 0, 0, + 188, 2, 0, 0, 213, 2, + 0, 0, 224, 2, 0, 0, + 240, 2, 0, 0, 252, 2, + 0, 0, 12, 3, 0, 0, + 188, 2, 0, 0, 5, 0, + 0, 0, 1, 0, 17, 0, + 1, 0, 5, 0, 24, 3, + 0, 0, 17, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 18, 0, 0, 0, + 255, 255, 255, 255, 15, 0, + 255, 255, 29, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 255, 255, 32, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 7, 0, 35, 0, 0, 0, + 10, 0, 11, 0, 12, 0, + 255, 255, 39, 0, 0, 0, + 13, 0, 14, 0, 255, 255, + 255, 255, 40, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 16, 0, 41, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 3, 0, 42, 0, 0, 0, + 8, 0, 9, 0, 255, 255, + 255, 255, 100, 105, 102, 102, + 117, 115, 101, 0, 12, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 100, 111, + 116, 76, 0, 171, 171, 171, + 8, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 9, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 10, 0, 0, 0, 255, 255, + 255, 255, 2, 0, 255, 255, + 101, 121, 101, 86, 101, 99, + 116, 111, 114, 0, 171, 171, + 23, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 112, 111, 115, 95, 119, 115, + 0, 171, 19, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 20, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 21, 0, 0, 0, + 255, 255, 255, 255, 2, 0, + 255, 255, 118, 105, 101, 119, + 65, 110, 103, 108, 101, 0, + 171, 171, 0, 0, 3, 0, + 1, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 24, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 118, 105, 110, 0, 80, 111, + 115, 105, 116, 105, 111, 110, + 0, 78, 111, 114, 109, 97, + 108, 0, 108, 4, 0, 0, + 188, 2, 0, 0, 117, 4, + 0, 0, 252, 2, 0, 0, + 213, 2, 0, 0, 224, 2, + 0, 0, 5, 0, 0, 0, + 1, 0, 9, 0, 1, 0, + 3, 0, 124, 4, 0, 0, + 1, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 2, 0, 0, 0, 4, 0, + 5, 0, 6, 0, 255, 255, + 3, 0, 0, 0, 7, 0, + 8, 0, 255, 255, 255, 255, + 118, 111, 117, 116, 0, 171, + 171, 171, 5, 0, 0, 0, + 1, 0, 17, 0, 1, 0, + 5, 0, 24, 3, 0, 0, + 36, 0, 0, 0, 13, 0, + 255, 255, 255, 255, 255, 255, + 37, 0, 0, 0, 255, 255, + 14, 0, 255, 255, 255, 255, + 38, 0, 0, 0, 255, 255, + 255, 255, 16, 0, 255, 255, + 119, 111, 114, 108, 100, 78, + 111, 114, 109, 97, 108, 0, + 7, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 122, 101, 114, 111, 76, 0, + 171, 171, 11, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 112, 2, 0, 0, + 123, 2, 0, 0, 136, 2, + 0, 0, 1, 0, 0, 0, + 152, 2, 0, 0, 0, 0, + 0, 0, 164, 2, 0, 0, + 64, 3, 0, 0, 9, 0, + 0, 0, 80, 3, 0, 0, + 0, 0, 0, 0, 188, 3, + 0, 0, 252, 2, 0, 0, + 1, 0, 0, 0, 196, 3, + 0, 0, 0, 0, 0, 0, + 208, 3, 0, 0, 252, 2, + 0, 0, 3, 0, 0, 0, + 216, 3, 0, 0, 0, 0, + 0, 0, 252, 3, 0, 0, + 252, 2, 0, 0, 1, 0, + 0, 0, 8, 4, 0, 0, + 0, 0, 0, 0, 20, 4, + 0, 0, 188, 2, 0, 0, + 3, 0, 0, 0, 28, 4, + 0, 0, 0, 0, 0, 0, + 64, 4, 0, 0, 76, 4, + 0, 0, 1, 0, 0, 0, + 92, 4, 0, 0, 164, 2, + 0, 0, 104, 4, 0, 0, + 148, 4, 0, 0, 3, 0, + 0, 0, 164, 4, 0, 0, + 0, 0, 0, 0, 200, 4, + 0, 0, 208, 4, 0, 0, + 3, 0, 0, 0, 224, 4, + 0, 0, 0, 0, 0, 0, + 4, 5, 0, 0, 252, 2, + 0, 0, 1, 0, 0, 0, + 16, 5, 0, 0, 0, 0, + 0, 0, 28, 5, 0, 0, + 252, 2, 0, 0, 1, 0, + 0, 0, 36, 5, 0, 0, + 77, 105, 99, 114, 111, 115, + 111, 102, 116, 32, 40, 82, + 41, 32, 72, 76, 83, 76, + 32, 83, 104, 97, 100, 101, + 114, 32, 67, 111, 109, 112, + 105, 108, 101, 114, 32, 49, + 48, 46, 49, 0, 81, 0, 0, 5, 22, 0, 15, 160, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapOneLight.inc b/Kits/DirectXTK/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapOneLight.inc index cf045b44..c151c32c 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapOneLight.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapOneLight.inc @@ -45,39 +45,65 @@ // vs_2_0 def c18, 0, 1, 0, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5,6> + dcl_texcoord2 v2 // vin<7,8> + +#line 67 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\EnvironmentMapEffect.fx" dp3 r0.x, v1, c11 dp3 r0.y, v1, c12 dp3 r0.z, v1, c13 - nrm r1.xyz, r0 - dp3 r0.x, -c4, r1 - sge r0.y, r0.x, c18.x - mul r0.x, r0.x, r0.y + nrm r1.xyz, r0 // ::worldNormal<0,1,2> + +#line 36 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp3 r0.x, -c4, r1 // ::dotL<0> + +#line 39 + sge r0.y, r0.x, c18.x // ::zeroL<0> + mul r0.x, r0.x, r0.y // ::diffuse<0> + +#line 46 mul r0.xyz, r0.x, c5 - mov r2.xyz, c2 - mad oT0.xyz, r0, r2, c3 - dp4 oPos.z, v0, c16 + mov r2.xyz, c2 // Parameters::DiffuseColor<0,1,2> + mad oT0.xyz, r0, r2, c3 // ::VSEnvMapOneLight<0,1,2> + +#line 71 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\EnvironmentMapEffect.fx" + dp4 oPos.z, v0, c16 // ::VSEnvMapOneLight<15> + +#line 14 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" dp4 r0.x, v0, c7 max r0.x, r0.x, c18.x - min oT1.w, r0.x, c18.y - dp4 r0.x, v0, c8 - dp4 r0.y, v0, c9 - dp4 r0.z, v0, c10 + min oT1.w, r0.x, c18.y // ::VSEnvMapOneLight<7> + +#line 65 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\EnvironmentMapEffect.fx" + dp4 r0.x, v0, c8 // ::pos_ws<0> + dp4 r0.y, v0, c9 // ::pos_ws<1> + dp4 r0.z, v0, c10 // ::pos_ws<2> add r0.xyz, -r0, c6 - nrm r2.xyz, r0 + nrm r2.xyz, r0 // ::eyeVector<0,1,2> + +#line 81 dp3 r0.x, -r2, r1 add r0.x, r0.x, r0.x - mad oT3.xyz, r1, -r0.x, -r2 - dp4 r0.x, v0, c14 - dp4 r0.y, v0, c15 - dp4 r0.z, v0, c17 - mad oPos.xy, r0.z, c0, r0 - mov oPos.w, r0.z - mov oT0.w, c2.w - mov oT1.xyz, c1.x - mov oT2.xy, v2 + mad oT3.xyz, r1, -r0.x, -r2 // ::VSEnvMapOneLight<10,11,12> + +#line 71 + dp4 r0.x, v0, c14 // ::vout<13> + dp4 r0.y, v0, c15 // ::vout<14> + dp4 r0.z, v0, c17 // ::vout<16> + +#line 102 + mad oPos.xy, r0.z, c0, r0 // ::VSEnvMapOneLight<13,14> + mov oPos.w, r0.z // ::VSEnvMapOneLight<16> + +#line 46 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + mov oT0.w, c2.w // ::VSEnvMapOneLight<3> + +#line 77 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\EnvironmentMapEffect.fx" + mov oT1.xyz, c1.x // ::VSEnvMapOneLight<4,5,6> + +#line 104 + mov oT2.xy, v2 // ::VSEnvMapOneLight<8,9> // approximately 34 instruction slots used vs_4_0 @@ -127,17 +153,17 @@ ret const BYTE EnvironmentMapEffect_VSEnvMapOneLight[] = { - 68, 88, 66, 67, 27, 62, - 114, 163, 209, 76, 199, 240, - 199, 93, 202, 210, 161, 55, - 236, 164, 1, 0, 0, 0, - 228, 7, 0, 0, 4, 0, + 68, 88, 66, 67, 47, 235, + 109, 205, 132, 61, 37, 148, + 58, 201, 166, 220, 219, 218, + 33, 237, 1, 0, 0, 0, + 136, 13, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 176, 2, 0, 0, 204, 6, - 0, 0, 64, 7, 0, 0, - 65, 111, 110, 57, 120, 2, - 0, 0, 120, 2, 0, 0, - 0, 2, 254, 255, 20, 2, + 84, 8, 0, 0, 112, 12, + 0, 0, 228, 12, 0, 0, + 65, 111, 110, 57, 28, 8, + 0, 0, 28, 8, 0, 0, + 0, 2, 254, 255, 184, 7, 0, 0, 100, 0, 0, 0, 5, 0, 36, 0, 0, 0, 96, 0, 0, 0, 96, 0, @@ -153,315 +179,556 @@ const BYTE EnvironmentMapEffect_VSEnvMapOneLight[] = 0, 0, 0, 0, 17, 0, 7, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 81, 0, - 0, 5, 18, 0, 15, 160, + 0, 2, 254, 255, 254, 255, + 104, 1, 68, 66, 85, 71, + 40, 0, 0, 0, 116, 5, 0, 0, 0, 0, 0, 0, - 128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 1, 128, - 1, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 2, 128, - 2, 0, 15, 144, 8, 0, - 0, 3, 0, 0, 1, 128, - 1, 0, 228, 144, 11, 0, - 228, 160, 8, 0, 0, 3, - 0, 0, 2, 128, 1, 0, - 228, 144, 12, 0, 228, 160, + 3, 0, 0, 0, 12, 1, + 0, 0, 34, 0, 0, 0, + 24, 1, 0, 0, 10, 0, + 0, 0, 172, 4, 0, 0, + 92, 2, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 69, 110, + 118, 105, 114, 111, 110, 109, + 101, 110, 116, 77, 97, 112, + 69, 102, 102, 101, 99, 116, + 46, 102, 120, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 76, 105, + 103, 104, 116, 105, 110, 103, + 46, 102, 120, 104, 0, 67, + 58, 92, 65, 84, 71, 32, + 83, 97, 109, 112, 108, 101, + 32, 68, 101, 118, 101, 108, + 111, 112, 109, 101, 110, 116, + 92, 115, 116, 95, 100, 101, + 118, 92, 75, 105, 116, 115, + 92, 68, 105, 114, 101, 99, + 116, 88, 84, 75, 92, 83, + 114, 99, 92, 83, 104, 97, + 100, 101, 114, 115, 92, 67, + 111, 109, 109, 111, 110, 46, + 102, 120, 104, 0, 40, 0, + 0, 0, 124, 0, 0, 0, + 197, 0, 0, 0, 0, 0, + 255, 255, 168, 5, 0, 0, + 0, 0, 255, 255, 192, 5, + 0, 0, 0, 0, 255, 255, + 204, 5, 0, 0, 0, 0, + 255, 255, 216, 5, 0, 0, + 67, 0, 0, 0, 228, 5, + 0, 0, 67, 0, 0, 0, + 244, 5, 0, 0, 67, 0, + 0, 0, 4, 6, 0, 0, + 67, 0, 0, 0, 20, 6, + 0, 0, 36, 0, 1, 0, + 32, 6, 0, 0, 39, 0, + 1, 0, 48, 6, 0, 0, + 41, 0, 1, 0, 64, 6, + 0, 0, 46, 0, 1, 0, + 80, 6, 0, 0, 46, 0, + 1, 0, 96, 6, 0, 0, + 46, 0, 1, 0, 108, 6, + 0, 0, 71, 0, 0, 0, + 128, 6, 0, 0, 14, 0, + 2, 0, 144, 6, 0, 0, + 14, 0, 2, 0, 160, 6, + 0, 0, 14, 0, 2, 0, + 176, 6, 0, 0, 65, 0, + 0, 0, 192, 6, 0, 0, + 65, 0, 0, 0, 208, 6, + 0, 0, 65, 0, 0, 0, + 224, 6, 0, 0, 66, 0, + 0, 0, 240, 6, 0, 0, + 66, 0, 0, 0, 0, 7, + 0, 0, 81, 0, 0, 0, + 12, 7, 0, 0, 81, 0, + 0, 0, 28, 7, 0, 0, + 81, 0, 0, 0, 44, 7, + 0, 0, 71, 0, 0, 0, + 64, 7, 0, 0, 71, 0, + 0, 0, 80, 7, 0, 0, + 71, 0, 0, 0, 96, 7, + 0, 0, 102, 0, 0, 0, + 112, 7, 0, 0, 102, 0, + 0, 0, 132, 7, 0, 0, + 46, 0, 1, 0, 144, 7, + 0, 0, 77, 0, 0, 0, + 156, 7, 0, 0, 104, 0, + 0, 0, 168, 7, 0, 0, + 80, 97, 114, 97, 109, 101, + 116, 101, 114, 115, 0, 68, + 105, 102, 102, 117, 115, 101, + 67, 111, 108, 111, 114, 0, + 1, 0, 3, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 12, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 86, 83, + 69, 110, 118, 77, 97, 112, + 79, 110, 101, 76, 105, 103, + 104, 116, 0, 68, 105, 102, + 102, 117, 115, 101, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 83, 112, 101, 99, 117, 108, + 97, 114, 0, 84, 101, 120, + 67, 111, 111, 114, 100, 0, + 171, 171, 1, 0, 3, 0, + 1, 0, 2, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 69, 110, 118, 67, 111, 111, + 114, 100, 0, 171, 171, 171, + 1, 0, 3, 0, 1, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 80, 111, + 115, 105, 116, 105, 111, 110, + 80, 83, 0, 171, 109, 2, + 0, 0, 120, 2, 0, 0, + 136, 2, 0, 0, 120, 2, + 0, 0, 145, 2, 0, 0, + 156, 2, 0, 0, 172, 2, + 0, 0, 184, 2, 0, 0, + 200, 2, 0, 0, 120, 2, + 0, 0, 5, 0, 0, 0, + 1, 0, 17, 0, 1, 0, + 5, 0, 212, 2, 0, 0, + 13, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 14, 0, 0, 0, 255, 255, + 255, 255, 15, 0, 255, 255, + 17, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 7, 0, + 25, 0, 0, 0, 10, 0, + 11, 0, 12, 0, 255, 255, + 29, 0, 0, 0, 13, 0, + 14, 0, 255, 255, 255, 255, + 30, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 16, 0, + 31, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 3, 0, + 32, 0, 0, 0, 4, 0, + 5, 0, 6, 0, 255, 255, + 33, 0, 0, 0, 8, 0, + 9, 0, 255, 255, 255, 255, + 100, 105, 102, 102, 117, 115, + 101, 0, 10, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 100, 111, 116, 76, + 0, 171, 171, 171, 8, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 101, 121, + 101, 86, 101, 99, 116, 111, + 114, 0, 171, 171, 22, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 112, 111, + 115, 95, 119, 115, 0, 171, + 18, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 19, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 20, 0, 0, 0, 255, 255, + 255, 255, 2, 0, 255, 255, + 118, 105, 110, 0, 80, 111, + 115, 105, 116, 105, 111, 110, + 0, 78, 111, 114, 109, 97, + 108, 0, 232, 3, 0, 0, + 120, 2, 0, 0, 241, 3, + 0, 0, 184, 2, 0, 0, + 145, 2, 0, 0, 156, 2, + 0, 0, 5, 0, 0, 0, + 1, 0, 9, 0, 1, 0, + 3, 0, 248, 3, 0, 0, + 1, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 2, 0, 0, 0, 4, 0, + 5, 0, 6, 0, 255, 255, + 3, 0, 0, 0, 7, 0, + 8, 0, 255, 255, 255, 255, + 118, 111, 117, 116, 0, 171, + 171, 171, 5, 0, 0, 0, + 1, 0, 17, 0, 1, 0, + 5, 0, 212, 2, 0, 0, + 26, 0, 0, 0, 13, 0, + 255, 255, 255, 255, 255, 255, + 27, 0, 0, 0, 255, 255, + 14, 0, 255, 255, 255, 255, + 28, 0, 0, 0, 255, 255, + 255, 255, 16, 0, 255, 255, + 119, 111, 114, 108, 100, 78, + 111, 114, 109, 97, 108, 0, + 7, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 122, 101, 114, 111, 76, 0, + 171, 171, 9, 0, 0, 0, + 255, 255, 0, 0, 255, 255, + 255, 255, 40, 2, 0, 0, + 51, 2, 0, 0, 64, 2, + 0, 0, 1, 0, 0, 0, + 80, 2, 0, 0, 0, 0, + 0, 0, 92, 2, 0, 0, + 252, 2, 0, 0, 9, 0, + 0, 0, 12, 3, 0, 0, + 0, 0, 0, 0, 120, 3, + 0, 0, 184, 2, 0, 0, + 1, 0, 0, 0, 128, 3, + 0, 0, 0, 0, 0, 0, + 140, 3, 0, 0, 184, 2, + 0, 0, 1, 0, 0, 0, + 148, 3, 0, 0, 0, 0, + 0, 0, 160, 3, 0, 0, + 184, 2, 0, 0, 1, 0, + 0, 0, 172, 3, 0, 0, + 0, 0, 0, 0, 184, 3, + 0, 0, 120, 2, 0, 0, + 3, 0, 0, 0, 192, 3, + 0, 0, 92, 2, 0, 0, + 228, 3, 0, 0, 16, 4, + 0, 0, 3, 0, 0, 0, + 32, 4, 0, 0, 0, 0, + 0, 0, 68, 4, 0, 0, + 76, 4, 0, 0, 3, 0, + 0, 0, 92, 4, 0, 0, + 0, 0, 0, 0, 128, 4, + 0, 0, 184, 2, 0, 0, + 1, 0, 0, 0, 140, 4, + 0, 0, 0, 0, 0, 0, + 152, 4, 0, 0, 184, 2, + 0, 0, 1, 0, 0, 0, + 160, 4, 0, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 81, 0, 0, 5, + 18, 0, 15, 160, 0, 0, + 0, 0, 0, 0, 128, 63, + 0, 0, 0, 0, 0, 0, + 0, 0, 31, 0, 0, 2, + 5, 0, 0, 128, 0, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 1, 128, 1, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 2, 128, 2, 0, + 15, 144, 8, 0, 0, 3, + 0, 0, 1, 128, 1, 0, + 228, 144, 11, 0, 228, 160, 8, 0, 0, 3, 0, 0, - 4, 128, 1, 0, 228, 144, - 13, 0, 228, 160, 36, 0, - 0, 2, 1, 0, 7, 128, - 0, 0, 228, 128, 8, 0, + 2, 128, 1, 0, 228, 144, + 12, 0, 228, 160, 8, 0, + 0, 3, 0, 0, 4, 128, + 1, 0, 228, 144, 13, 0, + 228, 160, 36, 0, 0, 2, + 1, 0, 7, 128, 0, 0, + 228, 128, 8, 0, 0, 3, + 0, 0, 1, 128, 4, 0, + 228, 161, 1, 0, 228, 128, + 13, 0, 0, 3, 0, 0, + 2, 128, 0, 0, 0, 128, + 18, 0, 0, 160, 5, 0, 0, 3, 0, 0, 1, 128, - 4, 0, 228, 161, 1, 0, - 228, 128, 13, 0, 0, 3, - 0, 0, 2, 128, 0, 0, - 0, 128, 18, 0, 0, 160, - 5, 0, 0, 3, 0, 0, - 1, 128, 0, 0, 0, 128, - 0, 0, 85, 128, 5, 0, - 0, 3, 0, 0, 7, 128, - 0, 0, 0, 128, 5, 0, - 228, 160, 1, 0, 0, 2, - 2, 0, 7, 128, 2, 0, - 228, 160, 4, 0, 0, 4, - 0, 0, 7, 224, 0, 0, - 228, 128, 2, 0, 228, 128, - 3, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 4, 192, - 0, 0, 228, 144, 16, 0, + 0, 0, 0, 128, 0, 0, + 85, 128, 5, 0, 0, 3, + 0, 0, 7, 128, 0, 0, + 0, 128, 5, 0, 228, 160, + 1, 0, 0, 2, 2, 0, + 7, 128, 2, 0, 228, 160, + 4, 0, 0, 4, 0, 0, + 7, 224, 0, 0, 228, 128, + 2, 0, 228, 128, 3, 0, 228, 160, 9, 0, 0, 3, - 0, 0, 1, 128, 0, 0, - 228, 144, 7, 0, 228, 160, - 11, 0, 0, 3, 0, 0, - 1, 128, 0, 0, 0, 128, - 18, 0, 0, 160, 10, 0, - 0, 3, 1, 0, 8, 224, + 0, 0, 4, 192, 0, 0, + 228, 144, 16, 0, 228, 160, + 9, 0, 0, 3, 0, 0, + 1, 128, 0, 0, 228, 144, + 7, 0, 228, 160, 11, 0, + 0, 3, 0, 0, 1, 128, 0, 0, 0, 128, 18, 0, - 85, 160, 9, 0, 0, 3, + 0, 160, 10, 0, 0, 3, + 1, 0, 8, 224, 0, 0, + 0, 128, 18, 0, 85, 160, + 9, 0, 0, 3, 0, 0, + 1, 128, 0, 0, 228, 144, + 8, 0, 228, 160, 9, 0, + 0, 3, 0, 0, 2, 128, + 0, 0, 228, 144, 9, 0, + 228, 160, 9, 0, 0, 3, + 0, 0, 4, 128, 0, 0, + 228, 144, 10, 0, 228, 160, + 2, 0, 0, 3, 0, 0, + 7, 128, 0, 0, 228, 129, + 6, 0, 228, 160, 36, 0, + 0, 2, 2, 0, 7, 128, + 0, 0, 228, 128, 8, 0, + 0, 3, 0, 0, 1, 128, + 2, 0, 228, 129, 1, 0, + 228, 128, 2, 0, 0, 3, + 0, 0, 1, 128, 0, 0, + 0, 128, 0, 0, 0, 128, + 4, 0, 0, 4, 3, 0, + 7, 224, 1, 0, 228, 128, + 0, 0, 0, 129, 2, 0, + 228, 129, 9, 0, 0, 3, 0, 0, 1, 128, 0, 0, - 228, 144, 8, 0, 228, 160, + 228, 144, 14, 0, 228, 160, 9, 0, 0, 3, 0, 0, 2, 128, 0, 0, 228, 144, - 9, 0, 228, 160, 9, 0, + 15, 0, 228, 160, 9, 0, 0, 3, 0, 0, 4, 128, - 0, 0, 228, 144, 10, 0, - 228, 160, 2, 0, 0, 3, - 0, 0, 7, 128, 0, 0, - 228, 129, 6, 0, 228, 160, - 36, 0, 0, 2, 2, 0, - 7, 128, 0, 0, 228, 128, - 8, 0, 0, 3, 0, 0, - 1, 128, 2, 0, 228, 129, - 1, 0, 228, 128, 2, 0, - 0, 3, 0, 0, 1, 128, - 0, 0, 0, 128, 0, 0, - 0, 128, 4, 0, 0, 4, - 3, 0, 7, 224, 1, 0, - 228, 128, 0, 0, 0, 129, - 2, 0, 228, 129, 9, 0, - 0, 3, 0, 0, 1, 128, - 0, 0, 228, 144, 14, 0, - 228, 160, 9, 0, 0, 3, - 0, 0, 2, 128, 0, 0, - 228, 144, 15, 0, 228, 160, - 9, 0, 0, 3, 0, 0, - 4, 128, 0, 0, 228, 144, - 17, 0, 228, 160, 4, 0, - 0, 4, 0, 0, 3, 192, - 0, 0, 170, 128, 0, 0, - 228, 160, 0, 0, 228, 128, - 1, 0, 0, 2, 0, 0, - 8, 192, 0, 0, 170, 128, - 1, 0, 0, 2, 0, 0, - 8, 224, 2, 0, 255, 160, - 1, 0, 0, 2, 1, 0, - 7, 224, 1, 0, 0, 160, - 1, 0, 0, 2, 2, 0, - 3, 224, 2, 0, 228, 144, - 255, 255, 0, 0, 83, 72, - 68, 82, 20, 4, 0, 0, - 64, 0, 1, 0, 5, 1, - 0, 0, 89, 0, 0, 4, - 70, 142, 32, 0, 0, 0, - 0, 0, 24, 0, 0, 0, - 95, 0, 0, 3, 242, 16, - 16, 0, 0, 0, 0, 0, - 95, 0, 0, 3, 114, 16, - 16, 0, 1, 0, 0, 0, - 95, 0, 0, 3, 50, 16, - 16, 0, 2, 0, 0, 0, - 101, 0, 0, 3, 242, 32, - 16, 0, 0, 0, 0, 0, - 101, 0, 0, 3, 242, 32, + 0, 0, 228, 144, 17, 0, + 228, 160, 4, 0, 0, 4, + 0, 0, 3, 192, 0, 0, + 170, 128, 0, 0, 228, 160, + 0, 0, 228, 128, 1, 0, + 0, 2, 0, 0, 8, 192, + 0, 0, 170, 128, 1, 0, + 0, 2, 0, 0, 8, 224, + 2, 0, 255, 160, 1, 0, + 0, 2, 1, 0, 7, 224, + 1, 0, 0, 160, 1, 0, + 0, 2, 2, 0, 3, 224, + 2, 0, 228, 144, 255, 255, + 0, 0, 83, 72, 68, 82, + 20, 4, 0, 0, 64, 0, + 1, 0, 5, 1, 0, 0, + 89, 0, 0, 4, 70, 142, + 32, 0, 0, 0, 0, 0, + 24, 0, 0, 0, 95, 0, + 0, 3, 242, 16, 16, 0, + 0, 0, 0, 0, 95, 0, + 0, 3, 114, 16, 16, 0, + 1, 0, 0, 0, 95, 0, + 0, 3, 50, 16, 16, 0, + 2, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 0, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 50, 32, 16, 0, + 2, 0, 0, 0, 101, 0, + 0, 3, 114, 32, 16, 0, + 3, 0, 0, 0, 103, 0, + 0, 4, 242, 32, 16, 0, + 4, 0, 0, 0, 1, 0, + 0, 0, 104, 0, 0, 2, + 2, 0, 0, 0, 16, 0, + 0, 8, 18, 0, 16, 0, + 0, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, - 101, 0, 0, 3, 50, 32, - 16, 0, 2, 0, 0, 0, - 101, 0, 0, 3, 114, 32, - 16, 0, 3, 0, 0, 0, - 103, 0, 0, 4, 242, 32, - 16, 0, 4, 0, 0, 0, - 1, 0, 0, 0, 104, 0, - 0, 2, 2, 0, 0, 0, - 16, 0, 0, 8, 18, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 17, 0, 0, 0, + 16, 0, 0, 8, 34, 0, 16, 0, 0, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 17, 0, + 0, 0, 0, 0, 18, 0, 0, 0, 16, 0, 0, 8, - 34, 0, 16, 0, 0, 0, + 66, 0, 16, 0, 0, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, - 18, 0, 0, 0, 16, 0, - 0, 8, 66, 0, 16, 0, - 0, 0, 0, 0, 70, 18, - 16, 0, 1, 0, 0, 0, - 70, 130, 32, 0, 0, 0, - 0, 0, 19, 0, 0, 0, - 16, 0, 0, 7, 130, 0, + 19, 0, 0, 0, 16, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 68, 0, - 0, 5, 130, 0, 16, 0, - 0, 0, 0, 0, 58, 0, - 16, 0, 0, 0, 0, 0, - 56, 0, 0, 7, 114, 0, - 16, 0, 0, 0, 0, 0, - 246, 15, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 16, 0, - 0, 9, 130, 0, 16, 0, - 0, 0, 0, 0, 70, 130, - 32, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 4, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 29, 0, - 0, 7, 18, 0, 16, 0, - 1, 0, 0, 0, 58, 0, + 0, 0, 68, 0, 0, 5, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 0, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 7, + 70, 2, 16, 0, 0, 0, + 0, 0, 16, 0, 0, 9, + 130, 0, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 29, 0, 0, 7, 18, 0, 16, 0, 1, 0, - 0, 0, 10, 0, 16, 0, - 1, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 128, 63, - 56, 0, 0, 7, 130, 0, - 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 10, 0, 16, 0, - 1, 0, 0, 0, 56, 0, - 0, 8, 114, 0, 16, 0, - 1, 0, 0, 0, 246, 15, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 1, 64, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 7, 18, 0, + 16, 0, 1, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 1, 64, 0, 0, + 0, 0, 128, 63, 56, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, + 10, 0, 16, 0, 1, 0, + 0, 0, 56, 0, 0, 8, + 114, 0, 16, 0, 1, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 7, 0, 0, 0, 50, 0, + 0, 11, 114, 32, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, 0, 0, - 0, 0, 7, 0, 0, 0, - 50, 0, 0, 11, 114, 32, + 0, 0, 2, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 54, 0, 0, 6, 130, 32, 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 3, 0, + 58, 128, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 17, 32, 0, 8, 130, 32, + 16, 0, 1, 0, 0, 0, + 70, 30, 16, 0, 0, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 12, 0, 0, 0, 54, 0, 0, 6, - 130, 32, 16, 0, 0, 0, - 0, 0, 58, 128, 32, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 17, 32, 0, 8, - 130, 32, 16, 0, 1, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 70, 142, - 32, 0, 0, 0, 0, 0, - 12, 0, 0, 0, 54, 0, - 0, 6, 114, 32, 16, 0, - 1, 0, 0, 0, 6, 128, - 32, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 54, 0, - 0, 5, 50, 32, 16, 0, - 2, 0, 0, 0, 70, 16, - 16, 0, 2, 0, 0, 0, - 17, 0, 0, 8, 18, 0, + 114, 32, 16, 0, 1, 0, + 0, 0, 6, 128, 32, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 54, 0, 0, 5, + 50, 32, 16, 0, 2, 0, + 0, 0, 70, 16, 16, 0, + 2, 0, 0, 0, 17, 0, + 0, 8, 18, 0, 16, 0, + 1, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 13, 0, 0, 0, + 17, 0, 0, 8, 34, 0, 16, 0, 1, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 13, 0, + 0, 0, 0, 0, 14, 0, 0, 0, 17, 0, 0, 8, - 34, 0, 16, 0, 1, 0, + 66, 0, 16, 0, 1, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 14, 0, 0, 0, 17, 0, - 0, 8, 66, 0, 16, 0, - 1, 0, 0, 0, 70, 30, - 16, 0, 0, 0, 0, 0, - 70, 142, 32, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 0, 0, 0, 9, 114, 0, + 15, 0, 0, 0, 0, 0, + 0, 9, 114, 0, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 128, 65, 0, 0, 0, + 1, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 10, 0, 0, 0, 16, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, - 70, 2, 16, 128, 65, 0, - 0, 0, 1, 0, 0, 0, - 70, 130, 32, 0, 0, 0, - 0, 0, 10, 0, 0, 0, - 16, 0, 0, 7, 130, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 68, 0, 0, 5, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, + 1, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 1, 0, + 0, 0, 16, 0, 0, 8, + 130, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 128, + 65, 0, 0, 0, 1, 0, 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 68, 0, - 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 0, 0, + 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, - 56, 0, 0, 7, 114, 0, - 16, 0, 1, 0, 0, 0, - 246, 15, 16, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 50, 0, 0, 11, + 114, 32, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 16, 0, - 0, 8, 130, 0, 16, 0, + 0, 0, 0, 0, 246, 15, + 16, 128, 65, 0, 0, 0, 0, 0, 0, 0, 70, 2, 16, 128, 65, 0, 0, 0, - 1, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 130, 0, - 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 50, 0, - 0, 11, 114, 32, 16, 0, - 3, 0, 0, 0, 70, 2, + 1, 0, 0, 0, 17, 0, + 0, 8, 18, 32, 16, 0, + 4, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, - 246, 15, 16, 128, 65, 0, - 0, 0, 0, 0, 0, 0, - 70, 2, 16, 128, 65, 0, - 0, 0, 1, 0, 0, 0, - 17, 0, 0, 8, 18, 32, + 70, 142, 32, 0, 0, 0, + 0, 0, 20, 0, 0, 0, + 17, 0, 0, 8, 34, 32, 16, 0, 4, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 20, 0, + 0, 0, 0, 0, 21, 0, 0, 0, 17, 0, 0, 8, - 34, 32, 16, 0, 4, 0, + 66, 32, 16, 0, 4, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 21, 0, 0, 0, 17, 0, - 0, 8, 66, 32, 16, 0, + 22, 0, 0, 0, 17, 0, + 0, 8, 130, 32, 16, 0, 4, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 142, 32, 0, 0, 0, - 0, 0, 22, 0, 0, 0, - 17, 0, 0, 8, 130, 32, - 16, 0, 4, 0, 0, 0, - 70, 30, 16, 0, 0, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 23, 0, - 0, 0, 62, 0, 0, 1, - 73, 83, 71, 78, 108, 0, + 0, 0, 23, 0, 0, 0, + 62, 0, 0, 1, 73, 83, + 71, 78, 108, 0, 0, 0, + 3, 0, 0, 0, 8, 0, + 0, 0, 80, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, - 8, 0, 0, 0, 80, 0, + 0, 0, 0, 0, 15, 15, + 0, 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 7, 7, + 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 15, 15, 0, 0, 92, 0, + 0, 0, 3, 0, 0, 0, + 2, 0, 0, 0, 3, 3, + 0, 0, 83, 86, 95, 80, + 111, 115, 105, 116, 105, 111, + 110, 0, 78, 79, 82, 77, + 65, 76, 0, 84, 69, 88, + 67, 79, 79, 82, 68, 0, + 79, 83, 71, 78, 156, 0, + 0, 0, 5, 0, 0, 0, + 8, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 128, 0, 0, 0, 1, 0, 0, 0, - 7, 7, 0, 0, 99, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 15, 0, 0, 0, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, - 3, 3, 0, 0, 83, 86, - 95, 80, 111, 115, 105, 116, - 105, 111, 110, 0, 78, 79, - 82, 77, 65, 76, 0, 84, - 69, 88, 67, 79, 79, 82, - 68, 0, 79, 83, 71, 78, - 156, 0, 0, 0, 5, 0, - 0, 0, 8, 0, 0, 0, - 128, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 128, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 15, 0, 0, 0, - 134, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 3, 12, 0, 0, - 134, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 3, 0, - 0, 0, 7, 8, 0, 0, - 143, 0, 0, 0, 0, 0, + 3, 12, 0, 0, 134, 0, 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 4, 0, - 0, 0, 15, 0, 0, 0, - 67, 79, 76, 79, 82, 0, - 84, 69, 88, 67, 79, 79, - 82, 68, 0, 83, 86, 95, - 80, 111, 115, 105, 116, 105, - 111, 110, 0, 171 + 0, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 7, 8, 0, 0, 143, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 4, 0, 0, 0, + 15, 0, 0, 0, 67, 79, + 76, 79, 82, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 83, 86, 95, 80, 111, + 115, 105, 116, 105, 111, 110, + 0, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapOneLightFresnel.inc b/Kits/DirectXTK/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapOneLightFresnel.inc index 7eb6fe04..f2353110 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapOneLightFresnel.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/EnvironmentMapEffect_VSEnvMapOneLightFresnel.inc @@ -45,44 +45,70 @@ // vs_2_0 def c18, 0, 1, 0, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5,6> + dcl_texcoord2 v2 // vin<7,8> + +#line 67 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\EnvironmentMapEffect.fx" dp3 r0.x, v1, c11 dp3 r0.y, v1, c12 dp3 r0.z, v1, c13 - nrm r1.xyz, r0 - dp3 r0.x, -c4, r1 - sge r0.y, r0.x, c18.x - mul r0.x, r0.x, r0.y + nrm r1.xyz, r0 // ::worldNormal<0,1,2> + +#line 36 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp3 r0.x, -c4, r1 // ::dotL<0> + +#line 39 + sge r0.y, r0.x, c18.x // ::zeroL<0> + mul r0.x, r0.x, r0.y // ::diffuse<0> + +#line 46 mul r0.xyz, r0.x, c5 - mov r2.xyz, c2 - mad oT0.xyz, r0, r2, c3 - dp4 oPos.z, v0, c16 - dp4 r0.x, v0, c8 - dp4 r0.y, v0, c9 - dp4 r0.z, v0, c10 + mov r2.xyz, c2 // Parameters::DiffuseColor<0,1,2> + mad oT0.xyz, r0, r2, c3 // ::VSEnvMapOneLightFresnel<0,1,2> + +#line 71 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\EnvironmentMapEffect.fx" + dp4 oPos.z, v0, c16 // ::VSEnvMapOneLightFresnel<15> + +#line 65 + dp4 r0.x, v0, c8 // ::pos_ws<0> + dp4 r0.y, v0, c9 // ::pos_ws<1> + dp4 r0.z, v0, c10 // ::pos_ws<2> add r0.xyz, -r0, c6 - nrm r2.xyz, r0 - dp3 r0.x, r2, r1 + nrm r2.xyz, r0 // ::eyeVector<0,1,2> + +#line 55 + dp3 r0.x, r2, r1 // ::viewAngle<0> abs r0.x, r0.x add r0.x, -r0.x, c18.y max r0.x, r0.x, c18.x pow r1.w, r0.x, c1.y - mul oT1.xyz, r1.w, c1.x + mul oT1.xyz, r1.w, c1.x // ::VSEnvMapOneLightFresnel<4,5,6> + +#line 14 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" dp4 r0.x, v0, c7 max r0.x, r0.x, c18.x - min oT1.w, r0.x, c18.y + min oT1.w, r0.x, c18.y // ::VSEnvMapOneLightFresnel<7> + +#line 81 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\EnvironmentMapEffect.fx" dp3 r0.x, -r2, r1 add r0.x, r0.x, r0.x - mad oT3.xyz, r1, -r0.x, -r2 - dp4 r0.x, v0, c14 - dp4 r0.y, v0, c15 - dp4 r0.z, v0, c17 - mad oPos.xy, r0.z, c0, r0 - mov oPos.w, r0.z - mov oT0.w, c2.w - mov oT2.xy, v2 + mad oT3.xyz, r1, -r0.x, -r2 // ::VSEnvMapOneLightFresnel<10,11,12> + +#line 71 + dp4 r0.x, v0, c14 // ::vout<13> + dp4 r0.y, v0, c15 // ::vout<14> + dp4 r0.z, v0, c17 // ::vout<16> + +#line 109 + mad oPos.xy, r0.z, c0, r0 // ::VSEnvMapOneLightFresnel<13,14> + mov oPos.w, r0.z // ::VSEnvMapOneLightFresnel<16> + +#line 46 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + mov oT0.w, c2.w // ::VSEnvMapOneLightFresnel<3> + +#line 111 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\EnvironmentMapEffect.fx" + mov oT2.xy, v2 // ::VSEnvMapOneLightFresnel<8,9> // approximately 41 instruction slots used vs_4_0 @@ -138,17 +164,17 @@ ret const BYTE EnvironmentMapEffect_VSEnvMapOneLightFresnel[] = { - 68, 88, 66, 67, 244, 71, - 81, 193, 116, 157, 204, 48, - 101, 140, 234, 141, 158, 237, - 10, 203, 1, 0, 0, 0, - 220, 8, 0, 0, 4, 0, + 68, 88, 66, 67, 60, 1, + 73, 10, 62, 42, 102, 216, + 224, 107, 79, 152, 202, 62, + 59, 32, 1, 0, 0, 0, + 232, 14, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 0, 3, 0, 0, 196, 7, - 0, 0, 56, 8, 0, 0, - 65, 111, 110, 57, 200, 2, - 0, 0, 200, 2, 0, 0, - 0, 2, 254, 255, 100, 2, + 12, 9, 0, 0, 208, 13, + 0, 0, 68, 14, 0, 0, + 65, 111, 110, 57, 212, 8, + 0, 0, 212, 8, 0, 0, + 0, 2, 254, 255, 112, 8, 0, 0, 100, 0, 0, 0, 5, 0, 36, 0, 0, 0, 96, 0, 0, 0, 96, 0, @@ -164,7 +190,265 @@ const BYTE EnvironmentMapEffect_VSEnvMapOneLightFresnel[] = 0, 0, 0, 0, 17, 0, 7, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 81, 0, + 0, 2, 254, 255, 254, 255, + 130, 1, 68, 66, 85, 71, + 40, 0, 0, 0, 220, 5, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 12, 1, + 0, 0, 39, 0, 0, 0, + 24, 1, 0, 0, 11, 0, + 0, 0, 0, 5, 0, 0, + 132, 2, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 69, 110, + 118, 105, 114, 111, 110, 109, + 101, 110, 116, 77, 97, 112, + 69, 102, 102, 101, 99, 116, + 46, 102, 120, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 76, 105, + 103, 104, 116, 105, 110, 103, + 46, 102, 120, 104, 0, 67, + 58, 92, 65, 84, 71, 32, + 83, 97, 109, 112, 108, 101, + 32, 68, 101, 118, 101, 108, + 111, 112, 109, 101, 110, 116, + 92, 115, 116, 95, 100, 101, + 118, 92, 75, 105, 116, 115, + 92, 68, 105, 114, 101, 99, + 116, 88, 84, 75, 92, 83, + 114, 99, 92, 83, 104, 97, + 100, 101, 114, 115, 92, 67, + 111, 109, 109, 111, 110, 46, + 102, 120, 104, 0, 40, 0, + 0, 0, 124, 0, 0, 0, + 197, 0, 0, 0, 0, 0, + 255, 255, 16, 6, 0, 0, + 0, 0, 255, 255, 40, 6, + 0, 0, 0, 0, 255, 255, + 52, 6, 0, 0, 0, 0, + 255, 255, 64, 6, 0, 0, + 67, 0, 0, 0, 76, 6, + 0, 0, 67, 0, 0, 0, + 92, 6, 0, 0, 67, 0, + 0, 0, 108, 6, 0, 0, + 67, 0, 0, 0, 124, 6, + 0, 0, 36, 0, 1, 0, + 136, 6, 0, 0, 39, 0, + 1, 0, 152, 6, 0, 0, + 41, 0, 1, 0, 168, 6, + 0, 0, 46, 0, 1, 0, + 184, 6, 0, 0, 46, 0, + 1, 0, 200, 6, 0, 0, + 46, 0, 1, 0, 212, 6, + 0, 0, 71, 0, 0, 0, + 232, 6, 0, 0, 65, 0, + 0, 0, 248, 6, 0, 0, + 65, 0, 0, 0, 8, 7, + 0, 0, 65, 0, 0, 0, + 24, 7, 0, 0, 66, 0, + 0, 0, 40, 7, 0, 0, + 66, 0, 0, 0, 56, 7, + 0, 0, 55, 0, 0, 0, + 68, 7, 0, 0, 57, 0, + 0, 0, 84, 7, 0, 0, + 57, 0, 0, 0, 96, 7, + 0, 0, 57, 0, 0, 0, + 112, 7, 0, 0, 57, 0, + 0, 0, 128, 7, 0, 0, + 57, 0, 0, 0, 144, 7, + 0, 0, 14, 0, 2, 0, + 160, 7, 0, 0, 14, 0, + 2, 0, 176, 7, 0, 0, + 14, 0, 2, 0, 192, 7, + 0, 0, 81, 0, 0, 0, + 208, 7, 0, 0, 81, 0, + 0, 0, 224, 7, 0, 0, + 81, 0, 0, 0, 240, 7, + 0, 0, 71, 0, 0, 0, + 4, 8, 0, 0, 71, 0, + 0, 0, 20, 8, 0, 0, + 71, 0, 0, 0, 36, 8, + 0, 0, 109, 0, 0, 0, + 52, 8, 0, 0, 109, 0, + 0, 0, 72, 8, 0, 0, + 46, 0, 1, 0, 84, 8, + 0, 0, 111, 0, 0, 0, + 96, 8, 0, 0, 80, 97, + 114, 97, 109, 101, 116, 101, + 114, 115, 0, 68, 105, 102, + 102, 117, 115, 101, 67, 111, + 108, 111, 114, 0, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 12, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 86, 83, 69, 110, + 118, 77, 97, 112, 79, 110, + 101, 76, 105, 103, 104, 116, + 70, 114, 101, 115, 110, 101, + 108, 0, 68, 105, 102, 102, + 117, 115, 101, 0, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 83, 112, 101, 99, + 117, 108, 97, 114, 0, 84, + 101, 120, 67, 111, 111, 114, + 100, 0, 171, 171, 1, 0, + 3, 0, 1, 0, 2, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 69, 110, 118, 67, + 111, 111, 114, 100, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 80, 111, 115, 105, 116, 105, + 111, 110, 80, 83, 0, 171, + 156, 2, 0, 0, 164, 2, + 0, 0, 180, 2, 0, 0, + 164, 2, 0, 0, 189, 2, + 0, 0, 200, 2, 0, 0, + 216, 2, 0, 0, 228, 2, + 0, 0, 244, 2, 0, 0, + 164, 2, 0, 0, 5, 0, + 0, 0, 1, 0, 17, 0, + 1, 0, 5, 0, 0, 3, + 0, 0, 13, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 14, 0, 0, 0, + 255, 255, 255, 255, 15, 0, + 255, 255, 25, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 255, 255, 28, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 7, 0, 31, 0, 0, 0, + 10, 0, 11, 0, 12, 0, + 255, 255, 35, 0, 0, 0, + 13, 0, 14, 0, 255, 255, + 255, 255, 36, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 16, 0, 37, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 3, 0, 38, 0, 0, 0, + 8, 0, 9, 0, 255, 255, + 255, 255, 100, 105, 102, 102, + 117, 115, 101, 0, 10, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 100, 111, + 116, 76, 0, 171, 171, 171, + 8, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 101, 121, 101, 86, 101, 99, + 116, 111, 114, 0, 171, 171, + 19, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 112, 111, 115, 95, 119, 115, + 0, 171, 15, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 16, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 17, 0, 0, 0, + 255, 255, 255, 255, 2, 0, + 255, 255, 118, 105, 101, 119, + 65, 110, 103, 108, 101, 0, + 171, 171, 0, 0, 3, 0, + 1, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 20, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 118, 105, 110, 0, 80, 111, + 115, 105, 116, 105, 111, 110, + 0, 78, 111, 114, 109, 97, + 108, 0, 60, 4, 0, 0, + 164, 2, 0, 0, 69, 4, + 0, 0, 228, 2, 0, 0, + 189, 2, 0, 0, 200, 2, + 0, 0, 5, 0, 0, 0, + 1, 0, 9, 0, 1, 0, + 3, 0, 76, 4, 0, 0, + 1, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 2, 0, 0, 0, 4, 0, + 5, 0, 6, 0, 255, 255, + 3, 0, 0, 0, 7, 0, + 8, 0, 255, 255, 255, 255, + 118, 111, 117, 116, 0, 171, + 171, 171, 5, 0, 0, 0, + 1, 0, 17, 0, 1, 0, + 5, 0, 0, 3, 0, 0, + 32, 0, 0, 0, 13, 0, + 255, 255, 255, 255, 255, 255, + 33, 0, 0, 0, 255, 255, + 14, 0, 255, 255, 255, 255, + 34, 0, 0, 0, 255, 255, + 255, 255, 16, 0, 255, 255, + 119, 111, 114, 108, 100, 78, + 111, 114, 109, 97, 108, 0, + 7, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 122, 101, 114, 111, 76, 0, + 171, 171, 9, 0, 0, 0, + 255, 255, 0, 0, 255, 255, + 255, 255, 80, 2, 0, 0, + 91, 2, 0, 0, 104, 2, + 0, 0, 1, 0, 0, 0, + 120, 2, 0, 0, 0, 0, + 0, 0, 132, 2, 0, 0, + 40, 3, 0, 0, 9, 0, + 0, 0, 56, 3, 0, 0, + 0, 0, 0, 0, 164, 3, + 0, 0, 228, 2, 0, 0, + 1, 0, 0, 0, 172, 3, + 0, 0, 0, 0, 0, 0, + 184, 3, 0, 0, 228, 2, + 0, 0, 1, 0, 0, 0, + 192, 3, 0, 0, 0, 0, + 0, 0, 204, 3, 0, 0, + 228, 2, 0, 0, 1, 0, + 0, 0, 216, 3, 0, 0, + 0, 0, 0, 0, 228, 3, + 0, 0, 164, 2, 0, 0, + 3, 0, 0, 0, 236, 3, + 0, 0, 0, 0, 0, 0, + 16, 4, 0, 0, 28, 4, + 0, 0, 1, 0, 0, 0, + 44, 4, 0, 0, 132, 2, + 0, 0, 56, 4, 0, 0, + 100, 4, 0, 0, 3, 0, + 0, 0, 116, 4, 0, 0, + 0, 0, 0, 0, 152, 4, + 0, 0, 160, 4, 0, 0, + 3, 0, 0, 0, 176, 4, + 0, 0, 0, 0, 0, 0, + 212, 4, 0, 0, 228, 2, + 0, 0, 1, 0, 0, 0, + 224, 4, 0, 0, 0, 0, + 0, 0, 236, 4, 0, 0, + 228, 2, 0, 0, 1, 0, + 0, 0, 244, 4, 0, 0, + 77, 105, 99, 114, 111, 115, + 111, 102, 116, 32, 40, 82, + 41, 32, 72, 76, 83, 76, + 32, 83, 104, 97, 100, 101, + 114, 32, 67, 111, 109, 112, + 105, 108, 101, 114, 32, 49, + 48, 46, 49, 0, 81, 0, 0, 5, 18, 0, 15, 160, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_PSSkinnedPixelLighting.inc b/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_PSSkinnedPixelLighting.inc index 5eba921b..b881d6b5 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_PSSkinnedPixelLighting.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_PSSkinnedPixelLighting.inc @@ -38,54 +38,94 @@ // ps_2_0 def c14, 1, 0, 0, 0 - dcl t0.xyz - dcl t1 - dcl t2.xyz - dcl t3 + dcl t0.xyz // pin<0,1> + dcl t1 // pin<2,3,4,5> + dcl t2.xyz // pin<6,7,8> + dcl t3 // pin<9,10,11,12> dcl_2d s0 + +#line 233 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\SkinnedEffect.fx" texld r0, t0, s0 - nrm r1.xyz, t2 - dp3 r2.x, -c3, r1 - dp3 r2.y, -c4, r1 - dp3 r2.z, -c5, r1 - cmp r3.xyz, r2, c14.x, c14.y - mul r2.xyz, r2, r3 + +#line 236 + nrm r1.xyz, t2 // ::worldNormal<0,1,2> + +#line 36 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp3 r2.x, -c3, r1 // ::dotL<0> + dp3 r2.y, -c4, r1 // ::dotL<1> + dp3 r2.z, -c5, r1 // ::dotL<2> + +#line 39 + cmp r3.xyz, r2, c14.x, c14.y // ::zeroL<0,1,2> + mul r2.xyz, r2, r3 // ::diffuse<0,1,2> + +#line 235 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\SkinnedEffect.fx" add r4.xyz, -t1, c12 dp3 r1.w, r4, r4 rsq r1.w, r1.w + +#line 33 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" mad r5.xyz, r4, r1.w, -c3 - nrm r6.xyz, r5 - dp3 r5.x, r6, r1 + nrm r6.xyz, r5 // ::halfVectors<0,1,2> + +#line 37 + dp3 r5.x, r6, r1 // ::dotH<0> + +#line 33 mad r6.xyz, r4, r1.w, -c4 mad r4.xyz, r4, r1.w, -c5 - nrm r7.xyz, r4 - dp3 r5.z, r7, r1 - nrm r4.xyz, r6 - dp3 r5.y, r4, r1 + nrm r7.xyz, r4 // ::halfVectors<6,7,8> + +#line 37 + dp3 r5.z, r7, r1 // ::dotH<2> + +#line 33 + nrm r4.xyz, r6 // ::halfVectors<3,4,5> + +#line 37 + dp3 r5.y, r4, r1 // ::dotH<1> + +#line 42 mul r1.xyz, r3, r5 cmp r1.xyz, r5, r1, c14.y log r3.x, r1.x log r3.y, r1.y log r3.z, r1.z mul r1.xyz, r3, c2.w - exp r2.w, r1.y + exp r2.w, r1.y // ::specular<1> + +#line 47 mul r3.xyz, r2.w, c10 - exp r2.w, r1.x - exp r3.w, r1.z + +#line 42 + exp r2.w, r1.x // ::specular<0> + exp r3.w, r1.z // ::specular<2> + +#line 47 mad r1.xyz, r2.w, c9, r3 mad r1.xyz, r3.w, c11, r1 - mul r1.xyz, r1, c2 - mul r0, r0, t3 + mul r1.xyz, r1, c2 // ::result<3,4,5> + +#line 233 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\SkinnedEffect.fx" + mul r0, r0, t3 // ::color<0,1,2,3> + +#line 26 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" mul r1.xyz, r0.w, r1 + +#line 46 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" mul r3.xyz, r2.y, c7 mad r3.xyz, r2.x, c6, r3 mad r2.xyz, r2.z, c8, r3 - mov r3.xyz, c0 - mad r2.xyz, r2, r3, c1 - mad r1.xyz, r0, r2, r1 + mov r3.xyz, c0 // Parameters::DiffuseColor<0,1,2> + mad r2.xyz, r2, r3, c1 // ::result<0,1,2> + +#line 26 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + mad r1.xyz, r0, r2, r1 // AddSpecular::color<0,1,2> + +#line 20 mad r2.xyz, c13, r0.w, -r1 - mad r0.xyz, t1.w, r2, r1 - mov oC0, r0 + mad r0.xyz, t1.w, r2, r1 // ApplyFog::color<0,1,2> + mov oC0, r0 // ::PSSkinnedPixelLighting<0,1,2,3> // approximately 51 instruction slots used (1 texture, 50 arithmetic) ps_4_0 @@ -151,17 +191,17 @@ ret const BYTE SkinnedEffect_PSSkinnedPixelLighting[] = { - 68, 88, 66, 67, 129, 164, - 9, 179, 158, 143, 193, 218, - 75, 230, 209, 15, 16, 58, - 111, 78, 1, 0, 0, 0, - 128, 10, 0, 0, 4, 0, + 68, 88, 66, 67, 167, 255, + 138, 170, 18, 129, 91, 123, + 243, 168, 145, 228, 204, 13, + 248, 166, 1, 0, 0, 0, + 24, 17, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 120, 3, 0, 0, 204, 9, - 0, 0, 76, 10, 0, 0, - 65, 111, 110, 57, 64, 3, - 0, 0, 64, 3, 0, 0, - 0, 2, 255, 255, 12, 3, + 16, 10, 0, 0, 100, 16, + 0, 0, 228, 16, 0, 0, + 65, 111, 110, 57, 216, 9, + 0, 0, 216, 9, 0, 0, + 0, 2, 255, 255, 164, 9, 0, 0, 52, 0, 0, 0, 1, 0, 40, 0, 0, 0, 52, 0, 0, 0, 52, 0, @@ -169,434 +209,716 @@ const BYTE SkinnedEffect_PSSkinnedPixelLighting[] = 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 255, 255, 81, 0, - 0, 5, 14, 0, 15, 160, - 0, 0, 128, 63, 0, 0, + 0, 2, 255, 255, 254, 255, + 165, 1, 68, 66, 85, 71, + 40, 0, 0, 0, 104, 6, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 0, - 0, 2, 0, 0, 0, 128, - 0, 0, 7, 176, 31, 0, - 0, 2, 0, 0, 0, 128, - 1, 0, 15, 176, 31, 0, - 0, 2, 0, 0, 0, 128, - 2, 0, 7, 176, 31, 0, - 0, 2, 0, 0, 0, 128, - 3, 0, 15, 176, 31, 0, - 0, 2, 0, 0, 0, 144, - 0, 8, 15, 160, 66, 0, - 0, 3, 0, 0, 15, 128, - 0, 0, 228, 176, 0, 8, - 228, 160, 36, 0, 0, 2, - 1, 0, 7, 128, 2, 0, - 228, 176, 8, 0, 0, 3, - 2, 0, 1, 128, 3, 0, + 3, 0, 0, 0, 8, 1, + 0, 0, 49, 0, 0, 0, + 20, 1, 0, 0, 14, 0, + 0, 0, 80, 5, 0, 0, + 208, 2, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 83, 107, + 105, 110, 110, 101, 100, 69, + 102, 102, 101, 99, 116, 46, + 102, 120, 0, 67, 58, 92, + 65, 84, 71, 32, 83, 97, + 109, 112, 108, 101, 32, 68, + 101, 118, 101, 108, 111, 112, + 109, 101, 110, 116, 92, 115, + 116, 95, 100, 101, 118, 92, + 75, 105, 116, 115, 92, 68, + 105, 114, 101, 99, 116, 88, + 84, 75, 92, 83, 114, 99, + 92, 83, 104, 97, 100, 101, + 114, 115, 92, 76, 105, 103, + 104, 116, 105, 110, 103, 46, + 102, 120, 104, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 67, 111, + 109, 109, 111, 110, 46, 102, + 120, 104, 0, 171, 171, 171, + 40, 0, 0, 0, 117, 0, + 0, 0, 190, 0, 0, 0, + 0, 0, 255, 255, 156, 6, + 0, 0, 0, 0, 255, 255, + 180, 6, 0, 0, 0, 0, + 255, 255, 192, 6, 0, 0, + 0, 0, 255, 255, 204, 6, + 0, 0, 0, 0, 255, 255, + 216, 6, 0, 0, 0, 0, + 255, 255, 228, 6, 0, 0, + 233, 0, 0, 0, 240, 6, + 0, 0, 236, 0, 0, 0, + 0, 7, 0, 0, 36, 0, + 1, 0, 12, 7, 0, 0, + 36, 0, 1, 0, 28, 7, + 0, 0, 36, 0, 1, 0, + 44, 7, 0, 0, 39, 0, + 1, 0, 60, 7, 0, 0, + 41, 0, 1, 0, 80, 7, + 0, 0, 235, 0, 0, 0, + 96, 7, 0, 0, 235, 0, + 0, 0, 112, 7, 0, 0, + 235, 0, 0, 0, 128, 7, + 0, 0, 33, 0, 1, 0, + 140, 7, 0, 0, 33, 0, + 1, 0, 160, 7, 0, 0, + 37, 0, 1, 0, 172, 7, + 0, 0, 33, 0, 1, 0, + 188, 7, 0, 0, 33, 0, + 1, 0, 208, 7, 0, 0, + 33, 0, 1, 0, 228, 7, + 0, 0, 37, 0, 1, 0, + 240, 7, 0, 0, 33, 0, + 1, 0, 0, 8, 0, 0, + 37, 0, 1, 0, 12, 8, + 0, 0, 42, 0, 1, 0, + 28, 8, 0, 0, 42, 0, + 1, 0, 44, 8, 0, 0, + 42, 0, 1, 0, 64, 8, + 0, 0, 42, 0, 1, 0, + 76, 8, 0, 0, 42, 0, + 1, 0, 88, 8, 0, 0, + 42, 0, 1, 0, 100, 8, + 0, 0, 42, 0, 1, 0, + 116, 8, 0, 0, 47, 0, + 1, 0, 128, 8, 0, 0, + 42, 0, 1, 0, 144, 8, + 0, 0, 42, 0, 1, 0, + 156, 8, 0, 0, 47, 0, + 1, 0, 168, 8, 0, 0, + 47, 0, 1, 0, 188, 8, + 0, 0, 47, 0, 1, 0, + 208, 8, 0, 0, 233, 0, + 0, 0, 224, 8, 0, 0, + 26, 0, 2, 0, 240, 8, + 0, 0, 46, 0, 1, 0, + 0, 9, 0, 0, 46, 0, + 1, 0, 16, 9, 0, 0, + 46, 0, 1, 0, 36, 9, + 0, 0, 46, 0, 1, 0, + 56, 9, 0, 0, 46, 0, + 1, 0, 68, 9, 0, 0, + 26, 0, 2, 0, 88, 9, + 0, 0, 20, 0, 2, 0, + 108, 9, 0, 0, 20, 0, + 2, 0, 128, 9, 0, 0, + 20, 0, 2, 0, 148, 9, + 0, 0, 80, 97, 114, 97, + 109, 101, 116, 101, 114, 115, + 0, 68, 105, 102, 102, 117, + 115, 101, 67, 111, 108, 111, + 114, 0, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 43, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 80, 83, 83, 107, 105, 110, + 110, 101, 100, 80, 105, 120, + 101, 108, 76, 105, 103, 104, + 116, 105, 110, 103, 0, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 48, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 3, 0, 65, 112, + 112, 108, 121, 70, 111, 103, + 0, 99, 111, 108, 111, 114, + 0, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 47, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 65, 100, 100, 83, 112, 101, + 99, 117, 108, 97, 114, 0, + 45, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 38, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 100, 105, 102, 102, 117, 115, + 101, 0, 1, 0, 3, 0, + 1, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 12, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 100, 111, 116, 72, 0, 171, + 171, 171, 18, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 22, 0, 0, 0, + 255, 255, 255, 255, 2, 0, + 255, 255, 24, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 100, 111, 116, 76, + 0, 171, 171, 171, 8, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 9, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 10, 0, + 0, 0, 255, 255, 255, 255, + 2, 0, 255, 255, 104, 97, + 108, 102, 86, 101, 99, 116, + 111, 114, 115, 0, 3, 0, + 3, 0, 3, 0, 3, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 17, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 21, 0, 0, 0, + 6, 0, 7, 0, 8, 0, + 255, 255, 23, 0, 0, 0, + 3, 0, 4, 0, 5, 0, + 255, 255, 112, 105, 110, 0, + 84, 101, 120, 67, 111, 111, + 114, 100, 0, 171, 171, 171, + 1, 0, 3, 0, 1, 0, + 2, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 80, 111, + 115, 105, 116, 105, 111, 110, + 87, 83, 0, 78, 111, 114, + 109, 97, 108, 87, 83, 0, + 68, 105, 102, 102, 117, 115, + 101, 0, 20, 4, 0, 0, + 32, 4, 0, 0, 48, 4, + 0, 0, 20, 3, 0, 0, + 59, 4, 0, 0, 92, 3, + 0, 0, 68, 4, 0, 0, + 20, 3, 0, 0, 5, 0, + 0, 0, 1, 0, 13, 0, + 1, 0, 4, 0, 76, 4, + 0, 0, 1, 0, 0, 0, + 0, 0, 1, 0, 255, 255, + 255, 255, 2, 0, 0, 0, + 2, 0, 3, 0, 4, 0, + 5, 0, 3, 0, 0, 0, + 6, 0, 7, 0, 8, 0, + 255, 255, 4, 0, 0, 0, + 9, 0, 10, 0, 11, 0, + 12, 0, 114, 101, 115, 117, + 108, 116, 0, 83, 112, 101, + 99, 117, 108, 97, 114, 0, + 68, 4, 0, 0, 92, 3, + 0, 0, 179, 4, 0, 0, + 92, 3, 0, 0, 5, 0, + 0, 0, 1, 0, 6, 0, + 1, 0, 2, 0, 188, 4, + 0, 0, 37, 0, 0, 0, + 3, 0, 4, 0, 5, 0, + 255, 255, 44, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 115, 112, 101, 99, + 117, 108, 97, 114, 0, 171, + 171, 171, 31, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 1, 0, 33, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 0, 0, 34, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 2, 0, 119, 111, 114, 108, + 100, 78, 111, 114, 109, 97, + 108, 0, 7, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 122, 101, 114, 111, + 76, 0, 171, 171, 11, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 156, 2, + 0, 0, 167, 2, 0, 0, + 180, 2, 0, 0, 1, 0, + 0, 0, 196, 2, 0, 0, + 0, 0, 0, 0, 208, 2, + 0, 0, 232, 2, 0, 0, + 1, 0, 0, 0, 248, 2, + 0, 0, 4, 3, 0, 0, + 13, 3, 0, 0, 20, 3, + 0, 0, 1, 0, 0, 0, + 36, 3, 0, 0, 48, 3, + 0, 0, 13, 3, 0, 0, + 20, 3, 0, 0, 1, 0, + 0, 0, 60, 3, 0, 0, + 0, 0, 0, 0, 13, 3, + 0, 0, 20, 3, 0, 0, + 1, 0, 0, 0, 72, 3, + 0, 0, 0, 0, 0, 0, + 84, 3, 0, 0, 92, 3, + 0, 0, 1, 0, 0, 0, + 108, 3, 0, 0, 0, 0, + 0, 0, 120, 3, 0, 0, + 92, 3, 0, 0, 3, 0, + 0, 0, 128, 3, 0, 0, + 0, 0, 0, 0, 164, 3, + 0, 0, 92, 3, 0, 0, + 3, 0, 0, 0, 172, 3, + 0, 0, 0, 0, 0, 0, + 208, 3, 0, 0, 220, 3, + 0, 0, 3, 0, 0, 0, + 236, 3, 0, 0, 208, 2, + 0, 0, 16, 4, 0, 0, + 108, 4, 0, 0, 4, 0, + 0, 0, 124, 4, 0, 0, + 0, 0, 0, 0, 172, 4, + 0, 0, 204, 4, 0, 0, + 2, 0, 0, 0, 220, 4, + 0, 0, 0, 0, 0, 0, + 244, 4, 0, 0, 92, 3, + 0, 0, 3, 0, 0, 0, + 0, 5, 0, 0, 0, 0, + 0, 0, 36, 5, 0, 0, + 92, 3, 0, 0, 1, 0, + 0, 0, 48, 5, 0, 0, + 0, 0, 0, 0, 60, 5, + 0, 0, 92, 3, 0, 0, + 1, 0, 0, 0, 68, 5, + 0, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 81, 0, 0, 5, 14, 0, + 15, 160, 0, 0, 128, 63, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 31, 0, 0, 2, 0, 0, + 0, 128, 0, 0, 7, 176, + 31, 0, 0, 2, 0, 0, + 0, 128, 1, 0, 15, 176, + 31, 0, 0, 2, 0, 0, + 0, 128, 2, 0, 7, 176, + 31, 0, 0, 2, 0, 0, + 0, 128, 3, 0, 15, 176, + 31, 0, 0, 2, 0, 0, + 0, 144, 0, 8, 15, 160, + 66, 0, 0, 3, 0, 0, + 15, 128, 0, 0, 228, 176, + 0, 8, 228, 160, 36, 0, + 0, 2, 1, 0, 7, 128, + 2, 0, 228, 176, 8, 0, + 0, 3, 2, 0, 1, 128, + 3, 0, 228, 161, 1, 0, + 228, 128, 8, 0, 0, 3, + 2, 0, 2, 128, 4, 0, 228, 161, 1, 0, 228, 128, 8, 0, 0, 3, 2, 0, - 2, 128, 4, 0, 228, 161, - 1, 0, 228, 128, 8, 0, - 0, 3, 2, 0, 4, 128, - 5, 0, 228, 161, 1, 0, - 228, 128, 88, 0, 0, 4, - 3, 0, 7, 128, 2, 0, - 228, 128, 14, 0, 0, 160, - 14, 0, 85, 160, 5, 0, - 0, 3, 2, 0, 7, 128, - 2, 0, 228, 128, 3, 0, - 228, 128, 2, 0, 0, 3, - 4, 0, 7, 128, 1, 0, - 228, 177, 12, 0, 228, 160, - 8, 0, 0, 3, 1, 0, - 8, 128, 4, 0, 228, 128, - 4, 0, 228, 128, 7, 0, - 0, 2, 1, 0, 8, 128, - 1, 0, 255, 128, 4, 0, - 0, 4, 5, 0, 7, 128, - 4, 0, 228, 128, 1, 0, - 255, 128, 3, 0, 228, 161, - 36, 0, 0, 2, 6, 0, - 7, 128, 5, 0, 228, 128, - 8, 0, 0, 3, 5, 0, - 1, 128, 6, 0, 228, 128, - 1, 0, 228, 128, 4, 0, - 0, 4, 6, 0, 7, 128, - 4, 0, 228, 128, 1, 0, - 255, 128, 4, 0, 228, 161, - 4, 0, 0, 4, 4, 0, + 4, 128, 5, 0, 228, 161, + 1, 0, 228, 128, 88, 0, + 0, 4, 3, 0, 7, 128, + 2, 0, 228, 128, 14, 0, + 0, 160, 14, 0, 85, 160, + 5, 0, 0, 3, 2, 0, + 7, 128, 2, 0, 228, 128, + 3, 0, 228, 128, 2, 0, + 0, 3, 4, 0, 7, 128, + 1, 0, 228, 177, 12, 0, + 228, 160, 8, 0, 0, 3, + 1, 0, 8, 128, 4, 0, + 228, 128, 4, 0, 228, 128, + 7, 0, 0, 2, 1, 0, + 8, 128, 1, 0, 255, 128, + 4, 0, 0, 4, 5, 0, 7, 128, 4, 0, 228, 128, - 1, 0, 255, 128, 5, 0, + 1, 0, 255, 128, 3, 0, 228, 161, 36, 0, 0, 2, - 7, 0, 7, 128, 4, 0, + 6, 0, 7, 128, 5, 0, 228, 128, 8, 0, 0, 3, - 5, 0, 4, 128, 7, 0, + 5, 0, 1, 128, 6, 0, 228, 128, 1, 0, 228, 128, - 36, 0, 0, 2, 4, 0, - 7, 128, 6, 0, 228, 128, - 8, 0, 0, 3, 5, 0, - 2, 128, 4, 0, 228, 128, - 1, 0, 228, 128, 5, 0, - 0, 3, 1, 0, 7, 128, - 3, 0, 228, 128, 5, 0, - 228, 128, 88, 0, 0, 4, - 1, 0, 7, 128, 5, 0, + 4, 0, 0, 4, 6, 0, + 7, 128, 4, 0, 228, 128, + 1, 0, 255, 128, 4, 0, + 228, 161, 4, 0, 0, 4, + 4, 0, 7, 128, 4, 0, + 228, 128, 1, 0, 255, 128, + 5, 0, 228, 161, 36, 0, + 0, 2, 7, 0, 7, 128, + 4, 0, 228, 128, 8, 0, + 0, 3, 5, 0, 4, 128, + 7, 0, 228, 128, 1, 0, + 228, 128, 36, 0, 0, 2, + 4, 0, 7, 128, 6, 0, + 228, 128, 8, 0, 0, 3, + 5, 0, 2, 128, 4, 0, 228, 128, 1, 0, 228, 128, - 14, 0, 85, 160, 15, 0, - 0, 2, 3, 0, 1, 128, - 1, 0, 0, 128, 15, 0, - 0, 2, 3, 0, 2, 128, - 1, 0, 85, 128, 15, 0, - 0, 2, 3, 0, 4, 128, - 1, 0, 170, 128, 5, 0, - 0, 3, 1, 0, 7, 128, - 3, 0, 228, 128, 2, 0, - 255, 160, 14, 0, 0, 2, - 2, 0, 8, 128, 1, 0, - 85, 128, 5, 0, 0, 3, - 3, 0, 7, 128, 2, 0, - 255, 128, 10, 0, 228, 160, - 14, 0, 0, 2, 2, 0, - 8, 128, 1, 0, 0, 128, - 14, 0, 0, 2, 3, 0, - 8, 128, 1, 0, 170, 128, - 4, 0, 0, 4, 1, 0, - 7, 128, 2, 0, 255, 128, - 9, 0, 228, 160, 3, 0, - 228, 128, 4, 0, 0, 4, - 1, 0, 7, 128, 3, 0, - 255, 128, 11, 0, 228, 160, - 1, 0, 228, 128, 5, 0, - 0, 3, 1, 0, 7, 128, - 1, 0, 228, 128, 2, 0, - 228, 160, 5, 0, 0, 3, - 0, 0, 15, 128, 0, 0, - 228, 128, 3, 0, 228, 176, 5, 0, 0, 3, 1, 0, - 7, 128, 0, 0, 255, 128, - 1, 0, 228, 128, 5, 0, + 7, 128, 3, 0, 228, 128, + 5, 0, 228, 128, 88, 0, + 0, 4, 1, 0, 7, 128, + 5, 0, 228, 128, 1, 0, + 228, 128, 14, 0, 85, 160, + 15, 0, 0, 2, 3, 0, + 1, 128, 1, 0, 0, 128, + 15, 0, 0, 2, 3, 0, + 2, 128, 1, 0, 85, 128, + 15, 0, 0, 2, 3, 0, + 4, 128, 1, 0, 170, 128, + 5, 0, 0, 3, 1, 0, + 7, 128, 3, 0, 228, 128, + 2, 0, 255, 160, 14, 0, + 0, 2, 2, 0, 8, 128, + 1, 0, 85, 128, 5, 0, 0, 3, 3, 0, 7, 128, - 2, 0, 85, 128, 7, 0, - 228, 160, 4, 0, 0, 4, - 3, 0, 7, 128, 2, 0, - 0, 128, 6, 0, 228, 160, + 2, 0, 255, 128, 10, 0, + 228, 160, 14, 0, 0, 2, + 2, 0, 8, 128, 1, 0, + 0, 128, 14, 0, 0, 2, + 3, 0, 8, 128, 1, 0, + 170, 128, 4, 0, 0, 4, + 1, 0, 7, 128, 2, 0, + 255, 128, 9, 0, 228, 160, 3, 0, 228, 128, 4, 0, - 0, 4, 2, 0, 7, 128, - 2, 0, 170, 128, 8, 0, + 0, 4, 1, 0, 7, 128, + 3, 0, 255, 128, 11, 0, + 228, 160, 1, 0, 228, 128, + 5, 0, 0, 3, 1, 0, + 7, 128, 1, 0, 228, 128, + 2, 0, 228, 160, 5, 0, + 0, 3, 0, 0, 15, 128, + 0, 0, 228, 128, 3, 0, + 228, 176, 5, 0, 0, 3, + 1, 0, 7, 128, 0, 0, + 255, 128, 1, 0, 228, 128, + 5, 0, 0, 3, 3, 0, + 7, 128, 2, 0, 85, 128, + 7, 0, 228, 160, 4, 0, + 0, 4, 3, 0, 7, 128, + 2, 0, 0, 128, 6, 0, 228, 160, 3, 0, 228, 128, - 1, 0, 0, 2, 3, 0, - 7, 128, 0, 0, 228, 160, 4, 0, 0, 4, 2, 0, - 7, 128, 2, 0, 228, 128, - 3, 0, 228, 128, 1, 0, - 228, 160, 4, 0, 0, 4, - 1, 0, 7, 128, 0, 0, - 228, 128, 2, 0, 228, 128, - 1, 0, 228, 128, 4, 0, - 0, 4, 2, 0, 7, 128, - 13, 0, 228, 160, 0, 0, - 255, 128, 1, 0, 228, 129, - 4, 0, 0, 4, 0, 0, - 7, 128, 1, 0, 255, 176, - 2, 0, 228, 128, 1, 0, + 7, 128, 2, 0, 170, 128, + 8, 0, 228, 160, 3, 0, 228, 128, 1, 0, 0, 2, - 0, 8, 15, 128, 0, 0, - 228, 128, 255, 255, 0, 0, - 83, 72, 68, 82, 76, 6, - 0, 0, 64, 0, 0, 0, - 147, 1, 0, 0, 89, 0, - 0, 4, 70, 142, 32, 0, - 0, 0, 0, 0, 14, 0, - 0, 0, 90, 0, 0, 3, - 0, 96, 16, 0, 0, 0, - 0, 0, 88, 24, 0, 4, - 0, 112, 16, 0, 0, 0, - 0, 0, 85, 85, 0, 0, - 98, 16, 0, 3, 50, 16, - 16, 0, 0, 0, 0, 0, - 98, 16, 0, 3, 242, 16, - 16, 0, 1, 0, 0, 0, - 98, 16, 0, 3, 114, 16, - 16, 0, 2, 0, 0, 0, - 98, 16, 0, 3, 242, 16, - 16, 0, 3, 0, 0, 0, - 101, 0, 0, 3, 242, 32, - 16, 0, 0, 0, 0, 0, - 104, 0, 0, 2, 4, 0, - 0, 0, 0, 0, 0, 9, - 114, 0, 16, 0, 0, 0, - 0, 0, 70, 18, 16, 128, - 65, 0, 0, 0, 1, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 12, 0, - 0, 0, 16, 0, 0, 7, - 130, 0, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, + 3, 0, 7, 128, 0, 0, + 228, 160, 4, 0, 0, 4, + 2, 0, 7, 128, 2, 0, + 228, 128, 3, 0, 228, 128, + 1, 0, 228, 160, 4, 0, + 0, 4, 1, 0, 7, 128, + 0, 0, 228, 128, 2, 0, + 228, 128, 1, 0, 228, 128, + 4, 0, 0, 4, 2, 0, + 7, 128, 13, 0, 228, 160, + 0, 0, 255, 128, 1, 0, + 228, 129, 4, 0, 0, 4, + 0, 0, 7, 128, 1, 0, + 255, 176, 2, 0, 228, 128, + 1, 0, 228, 128, 1, 0, + 0, 2, 0, 8, 15, 128, + 0, 0, 228, 128, 255, 255, + 0, 0, 83, 72, 68, 82, + 76, 6, 0, 0, 64, 0, + 0, 0, 147, 1, 0, 0, + 89, 0, 0, 4, 70, 142, + 32, 0, 0, 0, 0, 0, + 14, 0, 0, 0, 90, 0, + 0, 3, 0, 96, 16, 0, + 0, 0, 0, 0, 88, 24, + 0, 4, 0, 112, 16, 0, + 0, 0, 0, 0, 85, 85, + 0, 0, 98, 16, 0, 3, + 50, 16, 16, 0, 0, 0, + 0, 0, 98, 16, 0, 3, + 242, 16, 16, 0, 1, 0, + 0, 0, 98, 16, 0, 3, + 114, 16, 16, 0, 2, 0, + 0, 0, 98, 16, 0, 3, + 242, 16, 16, 0, 3, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 0, 0, + 0, 0, 104, 0, 0, 2, + 4, 0, 0, 0, 0, 0, + 0, 9, 114, 0, 16, 0, + 0, 0, 0, 0, 70, 18, + 16, 128, 65, 0, 0, 0, + 1, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 12, 0, 0, 0, 16, 0, + 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, - 68, 0, 0, 5, 130, 0, - 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 50, 0, 0, 11, - 114, 0, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 246, 15, - 16, 0, 0, 0, 0, 0, - 70, 130, 32, 128, 65, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 16, 0, - 0, 7, 130, 0, 16, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 68, 0, 0, 5, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 50, 0, + 0, 11, 114, 0, 16, 0, 1, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 16, 0, 0, 7, 130, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 68, 0, + 0, 5, 130, 0, 16, 0, + 1, 0, 0, 0, 58, 0, + 16, 0, 1, 0, 0, 0, + 56, 0, 0, 7, 114, 0, + 16, 0, 1, 0, 0, 0, + 246, 15, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 16, 0, + 0, 7, 130, 0, 16, 0, + 1, 0, 0, 0, 70, 18, + 16, 0, 2, 0, 0, 0, + 70, 18, 16, 0, 2, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 1, 0, 0, 0, 58, 0, 16, 0, 1, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, - 1, 0, 0, 0, 246, 15, + 2, 0, 0, 0, 246, 15, 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 1, 0, + 70, 18, 16, 0, 2, 0, 0, 0, 16, 0, 0, 7, - 130, 0, 16, 0, 1, 0, - 0, 0, 70, 18, 16, 0, - 2, 0, 0, 0, 70, 18, - 16, 0, 2, 0, 0, 0, - 68, 0, 0, 5, 130, 0, - 16, 0, 1, 0, 0, 0, - 58, 0, 16, 0, 1, 0, - 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 2, 0, - 0, 0, 246, 15, 16, 0, - 1, 0, 0, 0, 70, 18, - 16, 0, 2, 0, 0, 0, - 16, 0, 0, 7, 18, 0, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 1, 0, + 18, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 50, 0, - 0, 11, 114, 0, 16, 0, - 3, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 246, 15, 16, 0, 0, 0, - 0, 0, 70, 130, 32, 128, - 65, 0, 0, 0, 0, 0, - 0, 0, 4, 0, 0, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, 50, 0, 0, 11, 114, 0, - 16, 0, 0, 0, 0, 0, + 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, 70, 130, 32, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 5, 0, - 0, 0, 16, 0, 0, 7, - 130, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 50, 0, 0, 11, + 114, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, - 3, 0, 0, 0, 70, 2, - 16, 0, 3, 0, 0, 0, - 68, 0, 0, 5, 130, 0, + 0, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 3, 0, - 0, 0, 246, 15, 16, 0, + 70, 130, 32, 128, 65, 0, + 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 16, 0, + 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 3, 0, 0, 0, - 16, 0, 0, 7, 34, 0, - 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 3, 0, - 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 16, 0, - 0, 7, 130, 0, 16, 0, - 0, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 0, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, - 0, 0, 0, 0, 246, 15, + 3, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 0, 0, + 70, 2, 16, 0, 3, 0, 0, 0, 16, 0, 0, 7, - 66, 0, 16, 0, 1, 0, + 34, 0, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 70, 2, + 3, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, - 52, 0, 0, 10, 114, 0, + 16, 0, 0, 7, 130, 0, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 68, 0, + 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 56, 0, 0, 7, 114, 0, 16, 0, 0, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 16, 0, + 0, 7, 66, 0, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 52, 0, 0, 10, + 114, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 16, 0, 0, 9, 18, 0, + 16, 0, 1, 0, 0, 0, + 70, 130, 32, 128, 65, 0, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 16, 0, 0, 9, 34, 0, + 16, 0, 1, 0, 0, 0, + 70, 130, 32, 128, 65, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 16, 0, 0, 9, 66, 0, + 16, 0, 1, 0, 0, 0, + 70, 130, 32, 128, 65, 0, + 0, 0, 0, 0, 0, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 29, 0, 0, 10, 114, 0, + 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 16, 0, - 0, 9, 18, 0, 16, 0, - 1, 0, 0, 0, 70, 130, - 32, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 16, 0, - 0, 9, 34, 0, 16, 0, - 1, 0, 0, 0, 70, 130, - 32, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 4, 0, - 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 16, 0, - 0, 9, 66, 0, 16, 0, - 1, 0, 0, 0, 70, 130, - 32, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 5, 0, - 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 29, 0, + 0, 0, 0, 0, 1, 0, 0, 10, 114, 0, 16, 0, 2, 0, 0, 0, 70, 2, - 16, 0, 1, 0, 0, 0, + 16, 0, 2, 0, 0, 0, 2, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 10, - 114, 0, 16, 0, 2, 0, - 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 2, 64, - 0, 0, 0, 0, 128, 63, + 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, - 128, 63, 0, 0, 0, 0, - 56, 0, 0, 7, 114, 0, - 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, - 1, 0, 0, 0, 70, 2, + 0, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 56, 0, 0, 7, 114, 0, 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 2, 0, - 0, 0, 47, 0, 0, 5, - 114, 0, 16, 0, 0, 0, + 70, 2, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 8, 114, 0, 16, 0, + 2, 0, 0, 0, 47, 0, + 0, 5, 114, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, - 246, 143, 32, 0, 0, 0, - 0, 0, 2, 0, 0, 0, - 25, 0, 0, 5, 114, 0, - 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 8, - 114, 0, 16, 0, 2, 0, - 0, 0, 86, 5, 16, 0, - 0, 0, 0, 0, 70, 130, - 32, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 50, 0, - 0, 10, 178, 0, 16, 0, - 0, 0, 0, 0, 6, 0, - 16, 0, 0, 0, 0, 0, - 70, 136, 32, 0, 0, 0, - 0, 0, 9, 0, 0, 0, - 70, 8, 16, 0, 2, 0, - 0, 0, 50, 0, 0, 10, - 114, 0, 16, 0, 0, 0, - 0, 0, 166, 10, 16, 0, - 0, 0, 0, 0, 70, 130, - 32, 0, 0, 0, 0, 0, - 11, 0, 0, 0, 70, 3, - 16, 0, 0, 0, 0, 0, 56, 0, 0, 8, 114, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, - 0, 0, 70, 130, 32, 0, + 0, 0, 246, 143, 32, 0, 0, 0, 0, 0, 2, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 2, 0, - 0, 0, 70, 16, 16, 0, - 0, 0, 0, 0, 70, 126, - 16, 0, 0, 0, 0, 0, - 0, 96, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 7, - 242, 0, 16, 0, 2, 0, - 0, 0, 70, 14, 16, 0, - 2, 0, 0, 0, 70, 30, - 16, 0, 3, 0, 0, 0, - 56, 0, 0, 7, 114, 0, - 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 246, 15, 16, 0, - 2, 0, 0, 0, 56, 0, + 0, 0, 25, 0, 0, 5, + 114, 0, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 56, 0, 0, 8, 114, 0, 16, 0, - 3, 0, 0, 0, 86, 5, - 16, 0, 1, 0, 0, 0, + 2, 0, 0, 0, 86, 5, + 16, 0, 0, 0, 0, 0, 70, 130, 32, 0, 0, 0, - 0, 0, 7, 0, 0, 0, + 0, 0, 10, 0, 0, 0, 50, 0, 0, 10, 178, 0, - 16, 0, 1, 0, 0, 0, - 6, 0, 16, 0, 1, 0, + 16, 0, 0, 0, 0, 0, + 6, 0, 16, 0, 0, 0, 0, 0, 70, 136, 32, 0, - 0, 0, 0, 0, 6, 0, + 0, 0, 0, 0, 9, 0, 0, 0, 70, 8, 16, 0, - 3, 0, 0, 0, 50, 0, + 2, 0, 0, 0, 50, 0, 0, 10, 114, 0, 16, 0, - 1, 0, 0, 0, 166, 10, - 16, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 166, 10, + 16, 0, 0, 0, 0, 0, 70, 130, 32, 0, 0, 0, - 0, 0, 8, 0, 0, 0, - 70, 3, 16, 0, 1, 0, - 0, 0, 50, 0, 0, 11, - 114, 0, 16, 0, 1, 0, + 0, 0, 11, 0, 0, 0, + 70, 3, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 8, + 114, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 70, 130, - 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 50, 0, - 0, 9, 114, 0, 16, 0, - 0, 0, 0, 0, 70, 2, + 2, 0, 0, 0, 69, 0, + 0, 9, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 16, + 16, 0, 0, 0, 0, 0, + 70, 126, 16, 0, 0, 0, + 0, 0, 0, 96, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 7, 242, 0, 16, 0, + 2, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, - 70, 2, 16, 0, 1, 0, + 70, 30, 16, 0, 3, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 50, 0, - 0, 11, 114, 0, 16, 0, - 1, 0, 0, 0, 70, 130, - 32, 0, 0, 0, 0, 0, - 13, 0, 0, 0, 246, 15, + 0, 0, 0, 0, 246, 15, 16, 0, 2, 0, 0, 0, - 70, 2, 16, 128, 65, 0, + 56, 0, 0, 8, 114, 0, + 16, 0, 3, 0, 0, 0, + 86, 5, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 7, 0, + 0, 0, 50, 0, 0, 10, + 178, 0, 16, 0, 1, 0, + 0, 0, 6, 0, 16, 0, + 1, 0, 0, 0, 70, 136, + 32, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 70, 8, + 16, 0, 3, 0, 0, 0, + 50, 0, 0, 10, 114, 0, + 16, 0, 1, 0, 0, 0, + 166, 10, 16, 0, 1, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 8, 0, + 0, 0, 70, 3, 16, 0, + 1, 0, 0, 0, 50, 0, + 0, 11, 114, 0, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 70, 130, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 50, 0, 0, 9, 114, 32, + 70, 130, 32, 0, 0, 0, + 0, 0, 1, 0, 0, 0, + 50, 0, 0, 9, 114, 0, 16, 0, 0, 0, 0, 0, - 246, 31, 16, 0, 1, 0, + 70, 2, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, - 54, 0, 0, 5, 130, 32, - 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 2, 0, - 0, 0, 62, 0, 0, 1, - 73, 83, 71, 78, 120, 0, - 0, 0, 4, 0, 0, 0, - 8, 0, 0, 0, 104, 0, + 50, 0, 0, 11, 114, 0, + 16, 0, 1, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 13, 0, 0, 0, + 246, 15, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 50, 0, 0, 9, + 114, 32, 16, 0, 0, 0, + 0, 0, 246, 31, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 130, 32, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 2, 0, 0, 0, 62, 0, + 0, 1, 73, 83, 71, 78, + 120, 0, 0, 0, 4, 0, + 0, 0, 8, 0, 0, 0, + 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 3, 3, 0, 0, + 104, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 3, 3, 0, 0, 104, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 15, 15, 0, 0, 104, 0, - 0, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 2, 0, 0, 0, - 7, 7, 0, 0, 113, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 15, 15, 0, 0, + 104, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 3, 0, 0, 0, - 15, 15, 0, 0, 84, 69, - 88, 67, 79, 79, 82, 68, - 0, 67, 79, 76, 79, 82, - 0, 171, 79, 83, 71, 78, - 44, 0, 0, 0, 1, 0, - 0, 0, 8, 0, 0, 0, - 32, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 7, 7, 0, 0, + 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 83, 86, 95, 84, 97, 114, - 103, 101, 116, 0, 171, 171 + 3, 0, 0, 0, 3, 0, + 0, 0, 15, 15, 0, 0, + 84, 69, 88, 67, 79, 79, + 82, 68, 0, 67, 79, 76, + 79, 82, 0, 171, 79, 83, + 71, 78, 44, 0, 0, 0, + 1, 0, 0, 0, 8, 0, + 0, 0, 32, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 83, 86, 95, 84, + 97, 114, 103, 101, 116, 0, + 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_PSSkinnedVertexLighting.inc b/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_PSSkinnedVertexLighting.inc index 18e05529..36006399 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_PSSkinnedVertexLighting.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_PSSkinnedVertexLighting.inc @@ -36,16 +36,22 @@ // Level9 shader bytecode: // ps_2_0 - dcl t0 - dcl t1 - dcl t2.xy + dcl t0 // pin<0,1,2,3> + dcl t1 // pin<4,5,6,7> + dcl t2.xy // pin<8,9> dcl_2d s0 + +#line 210 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\SkinnedEffect.fx" texld r0, t2, s0 - mul r0, r0, t0 - mad r1.xyz, t1, r0.w, r0 + mul r0, r0, t0 // ::color<0,1,2,3> + +#line 26 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + mad r1.xyz, t1, r0.w, r0 // AddSpecular::color<0,1,2> + +#line 20 mad r2.xyz, c0, r0.w, -r1 - mad r0.xyz, t1.w, r2, r1 - mov oC0, r0 + mad r0.xyz, t1.w, r2, r1 // ApplyFog::color<0,1,2> + mov oC0, r0 // ::PSSkinnedVertexLighting<0,1,2,3> // approximately 6 instruction slots used (1 texture, 5 arithmetic) ps_4_0 @@ -69,17 +75,17 @@ ret const BYTE SkinnedEffect_PSSkinnedVertexLighting[] = { - 68, 88, 66, 67, 168, 121, - 145, 162, 145, 142, 85, 167, - 84, 43, 205, 136, 70, 33, - 64, 152, 1, 0, 0, 0, - 232, 2, 0, 0, 4, 0, + 68, 88, 66, 67, 136, 182, + 245, 134, 252, 10, 70, 248, + 112, 36, 89, 190, 185, 222, + 52, 160, 1, 0, 0, 0, + 144, 5, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 12, 1, 0, 0, 76, 2, - 0, 0, 180, 2, 0, 0, - 65, 111, 110, 57, 212, 0, - 0, 0, 212, 0, 0, 0, - 0, 2, 255, 255, 160, 0, + 180, 3, 0, 0, 244, 4, + 0, 0, 92, 5, 0, 0, + 65, 111, 110, 57, 124, 3, + 0, 0, 124, 3, 0, 0, + 0, 2, 255, 255, 72, 3, 0, 0, 52, 0, 0, 0, 1, 0, 40, 0, 0, 0, 52, 0, 0, 0, 52, 0, @@ -87,110 +93,224 @@ const BYTE SkinnedEffect_PSSkinnedVertexLighting[] = 52, 0, 0, 0, 0, 0, 0, 0, 13, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 255, 255, 31, 0, - 0, 2, 0, 0, 0, 128, - 0, 0, 15, 176, 31, 0, - 0, 2, 0, 0, 0, 128, - 1, 0, 15, 176, 31, 0, - 0, 2, 0, 0, 0, 128, - 2, 0, 3, 176, 31, 0, - 0, 2, 0, 0, 0, 144, - 0, 8, 15, 160, 66, 0, + 0, 2, 255, 255, 254, 255, + 169, 0, 68, 66, 85, 71, + 40, 0, 0, 0, 120, 2, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 188, 0, + 0, 0, 10, 0, 0, 0, + 196, 0, 0, 0, 5, 0, + 0, 0, 20, 2, 0, 0, + 20, 1, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 83, 107, + 105, 110, 110, 101, 100, 69, + 102, 102, 101, 99, 116, 46, + 102, 120, 0, 67, 58, 92, + 65, 84, 71, 32, 83, 97, + 109, 112, 108, 101, 32, 68, + 101, 118, 101, 108, 111, 112, + 109, 101, 110, 116, 92, 115, + 116, 95, 100, 101, 118, 92, + 75, 105, 116, 115, 92, 68, + 105, 114, 101, 99, 116, 88, + 84, 75, 92, 83, 114, 99, + 92, 83, 104, 97, 100, 101, + 114, 115, 92, 67, 111, 109, + 109, 111, 110, 46, 102, 120, + 104, 0, 40, 0, 0, 0, + 117, 0, 0, 0, 0, 0, + 255, 255, 172, 2, 0, 0, + 0, 0, 255, 255, 184, 2, + 0, 0, 0, 0, 255, 255, + 196, 2, 0, 0, 0, 0, + 255, 255, 208, 2, 0, 0, + 210, 0, 0, 0, 220, 2, + 0, 0, 210, 0, 0, 0, + 236, 2, 0, 0, 26, 0, + 1, 0, 252, 2, 0, 0, + 20, 0, 1, 0, 16, 3, + 0, 0, 20, 0, 1, 0, + 36, 3, 0, 0, 20, 0, + 1, 0, 56, 3, 0, 0, + 80, 83, 83, 107, 105, 110, + 110, 101, 100, 86, 101, 114, + 116, 101, 120, 76, 105, 103, + 104, 116, 105, 110, 103, 0, + 1, 0, 3, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 9, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 3, 0, 65, 112, + 112, 108, 121, 70, 111, 103, + 0, 99, 111, 108, 111, 114, + 0, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 65, 100, 100, 83, 112, 101, + 99, 117, 108, 97, 114, 0, + 6, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 5, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 112, 105, 110, 0, 68, 105, + 102, 102, 117, 115, 101, 0, + 83, 112, 101, 99, 117, 108, + 97, 114, 0, 84, 101, 120, + 67, 111, 111, 114, 100, 0, + 171, 171, 1, 0, 3, 0, + 1, 0, 2, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 156, 1, 0, 0, 88, 1, + 0, 0, 164, 1, 0, 0, + 88, 1, 0, 0, 173, 1, + 0, 0, 184, 1, 0, 0, + 5, 0, 0, 0, 1, 0, + 10, 0, 1, 0, 3, 0, + 200, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 3, 0, 1, 0, + 0, 0, 4, 0, 5, 0, + 6, 0, 7, 0, 2, 0, + 0, 0, 8, 0, 9, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 20, 1, 0, 0, + 44, 1, 0, 0, 1, 0, + 0, 0, 60, 1, 0, 0, + 72, 1, 0, 0, 81, 1, + 0, 0, 88, 1, 0, 0, + 1, 0, 0, 0, 104, 1, + 0, 0, 116, 1, 0, 0, + 81, 1, 0, 0, 88, 1, + 0, 0, 1, 0, 0, 0, + 128, 1, 0, 0, 0, 0, + 0, 0, 81, 1, 0, 0, + 88, 1, 0, 0, 1, 0, + 0, 0, 140, 1, 0, 0, + 20, 1, 0, 0, 152, 1, + 0, 0, 224, 1, 0, 0, + 3, 0, 0, 0, 240, 1, + 0, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 31, 0, 0, 2, 0, 0, + 0, 128, 0, 0, 15, 176, + 31, 0, 0, 2, 0, 0, + 0, 128, 1, 0, 15, 176, + 31, 0, 0, 2, 0, 0, + 0, 128, 2, 0, 3, 176, + 31, 0, 0, 2, 0, 0, + 0, 144, 0, 8, 15, 160, + 66, 0, 0, 3, 0, 0, + 15, 128, 2, 0, 228, 176, + 0, 8, 228, 160, 5, 0, 0, 3, 0, 0, 15, 128, - 2, 0, 228, 176, 0, 8, - 228, 160, 5, 0, 0, 3, - 0, 0, 15, 128, 0, 0, - 228, 128, 0, 0, 228, 176, - 4, 0, 0, 4, 1, 0, - 7, 128, 1, 0, 228, 176, - 0, 0, 255, 128, 0, 0, - 228, 128, 4, 0, 0, 4, - 2, 0, 7, 128, 0, 0, - 228, 160, 0, 0, 255, 128, - 1, 0, 228, 129, 4, 0, - 0, 4, 0, 0, 7, 128, - 1, 0, 255, 176, 2, 0, - 228, 128, 1, 0, 228, 128, - 1, 0, 0, 2, 0, 8, - 15, 128, 0, 0, 228, 128, - 255, 255, 0, 0, 83, 72, - 68, 82, 56, 1, 0, 0, - 64, 0, 0, 0, 78, 0, - 0, 0, 89, 0, 0, 4, - 70, 142, 32, 0, 0, 0, - 0, 0, 14, 0, 0, 0, - 90, 0, 0, 3, 0, 96, + 0, 0, 228, 128, 0, 0, + 228, 176, 4, 0, 0, 4, + 1, 0, 7, 128, 1, 0, + 228, 176, 0, 0, 255, 128, + 0, 0, 228, 128, 4, 0, + 0, 4, 2, 0, 7, 128, + 0, 0, 228, 160, 0, 0, + 255, 128, 1, 0, 228, 129, + 4, 0, 0, 4, 0, 0, + 7, 128, 1, 0, 255, 176, + 2, 0, 228, 128, 1, 0, + 228, 128, 1, 0, 0, 2, + 0, 8, 15, 128, 0, 0, + 228, 128, 255, 255, 0, 0, + 83, 72, 68, 82, 56, 1, + 0, 0, 64, 0, 0, 0, + 78, 0, 0, 0, 89, 0, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 14, 0, + 0, 0, 90, 0, 0, 3, + 0, 96, 16, 0, 0, 0, + 0, 0, 88, 24, 0, 4, + 0, 112, 16, 0, 0, 0, + 0, 0, 85, 85, 0, 0, + 98, 16, 0, 3, 242, 16, 16, 0, 0, 0, 0, 0, - 88, 24, 0, 4, 0, 112, + 98, 16, 0, 3, 242, 16, + 16, 0, 1, 0, 0, 0, + 98, 16, 0, 3, 50, 16, + 16, 0, 2, 0, 0, 0, + 101, 0, 0, 3, 242, 32, 16, 0, 0, 0, 0, 0, - 85, 85, 0, 0, 98, 16, - 0, 3, 242, 16, 16, 0, - 0, 0, 0, 0, 98, 16, - 0, 3, 242, 16, 16, 0, - 1, 0, 0, 0, 98, 16, - 0, 3, 50, 16, 16, 0, - 2, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 0, 0, 0, 0, 104, 0, - 0, 2, 2, 0, 0, 0, - 69, 0, 0, 9, 242, 0, + 104, 0, 0, 2, 2, 0, + 0, 0, 69, 0, 0, 9, + 242, 0, 16, 0, 0, 0, + 0, 0, 70, 16, 16, 0, + 2, 0, 0, 0, 70, 126, 16, 0, 0, 0, 0, 0, - 70, 16, 16, 0, 2, 0, - 0, 0, 70, 126, 16, 0, - 0, 0, 0, 0, 0, 96, + 0, 96, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 242, 0, 16, 0, 0, 0, + 0, 0, 70, 14, 16, 0, + 0, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, - 56, 0, 0, 7, 242, 0, + 50, 0, 0, 9, 114, 0, 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 0, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 50, 0, - 0, 9, 114, 0, 16, 0, - 0, 0, 0, 0, 70, 18, + 70, 18, 16, 0, 1, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 50, 0, 0, 11, 114, 0, 16, 0, 1, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 13, 0, 0, 0, 246, 15, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, + 0, 0, 70, 2, 16, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 54, 0, 0, 5, + 130, 32, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 50, 0, - 0, 11, 114, 0, 16, 0, - 1, 0, 0, 0, 70, 130, - 32, 0, 0, 0, 0, 0, - 13, 0, 0, 0, 246, 15, - 16, 0, 0, 0, 0, 0, - 70, 2, 16, 128, 65, 0, - 0, 0, 0, 0, 0, 0, - 54, 0, 0, 5, 130, 32, - 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 50, 0, 0, 9, - 114, 32, 16, 0, 0, 0, - 0, 0, 246, 31, 16, 0, - 1, 0, 0, 0, 70, 2, + 0, 9, 114, 32, 16, 0, + 0, 0, 0, 0, 246, 31, 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 62, 0, 0, 1, - 73, 83, 71, 78, 96, 0, - 0, 0, 3, 0, 0, 0, - 8, 0, 0, 0, 80, 0, + 70, 2, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 62, 0, + 0, 1, 73, 83, 71, 78, + 96, 0, 0, 0, 3, 0, + 0, 0, 8, 0, 0, 0, + 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 15, 0, 0, + 80, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 15, 15, 0, 0, 80, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 15, 15, 0, 0, 86, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 15, 15, 0, 0, + 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 2, 0, 0, 0, - 3, 3, 0, 0, 67, 79, - 76, 79, 82, 0, 84, 69, - 88, 67, 79, 79, 82, 68, - 0, 171, 79, 83, 71, 78, - 44, 0, 0, 0, 1, 0, - 0, 0, 8, 0, 0, 0, - 32, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 3, 3, 0, 0, + 67, 79, 76, 79, 82, 0, + 84, 69, 88, 67, 79, 79, + 82, 68, 0, 171, 79, 83, + 71, 78, 44, 0, 0, 0, + 1, 0, 0, 0, 8, 0, + 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 83, 86, 95, 84, 97, 114, - 103, 101, 116, 0, 171, 171 + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 83, 86, 95, 84, + 97, 114, 103, 101, 116, 0, + 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_PSSkinnedVertexLightingNoFog.inc b/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_PSSkinnedVertexLightingNoFog.inc index a722008b..568a2304 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_PSSkinnedVertexLightingNoFog.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_PSSkinnedVertexLightingNoFog.inc @@ -29,14 +29,18 @@ // Level9 shader bytecode: // ps_2_0 - dcl t0 - dcl t1 - dcl t2.xy + dcl t0 // pin<0,1,2,3> + dcl t1 // pin<4,5,6,7> + dcl t2.xy // pin<8,9> dcl_2d s0 + +#line 222 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\SkinnedEffect.fx" texld r0, t2, s0 - mul r0, r0, t0 - mad r0.xyz, t1, r0.w, r0 - mov oC0, r0 + mul r0, r0, t0 // ::color<0,1,2,3> + +#line 26 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" + mad r0.xyz, t1, r0.w, r0 // AddSpecular::color<0,1,2> + mov oC0, r0 // ::PSSkinnedVertexLightingNoFog<0,1,2,3> // approximately 4 instruction slots used (1 texture, 3 arithmetic) ps_4_0 @@ -57,104 +61,209 @@ ret const BYTE SkinnedEffect_PSSkinnedVertexLightingNoFog[] = { - 68, 88, 66, 67, 107, 144, - 128, 78, 118, 75, 88, 150, - 203, 179, 206, 252, 188, 119, - 149, 100, 1, 0, 0, 0, - 84, 2, 0, 0, 4, 0, + 68, 88, 66, 67, 106, 186, + 183, 34, 48, 16, 115, 237, + 74, 230, 89, 81, 140, 120, + 101, 85, 1, 0, 0, 0, + 204, 4, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 216, 0, 0, 0, 184, 1, - 0, 0, 32, 2, 0, 0, - 65, 111, 110, 57, 160, 0, - 0, 0, 160, 0, 0, 0, - 0, 2, 255, 255, 120, 0, + 80, 3, 0, 0, 48, 4, + 0, 0, 152, 4, 0, 0, + 65, 111, 110, 57, 24, 3, + 0, 0, 24, 3, 0, 0, + 0, 2, 255, 255, 240, 2, 0, 0, 40, 0, 0, 0, 0, 0, 40, 0, 0, 0, 40, 0, 0, 0, 40, 0, 1, 0, 36, 0, 0, 0, 40, 0, 0, 0, 0, 0, - 0, 2, 255, 255, 31, 0, - 0, 2, 0, 0, 0, 128, - 0, 0, 15, 176, 31, 0, - 0, 2, 0, 0, 0, 128, - 1, 0, 15, 176, 31, 0, - 0, 2, 0, 0, 0, 128, - 2, 0, 3, 176, 31, 0, - 0, 2, 0, 0, 0, 144, - 0, 8, 15, 160, 66, 0, + 0, 2, 255, 255, 254, 255, + 157, 0, 68, 66, 85, 71, + 40, 0, 0, 0, 72, 2, + 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 188, 0, + 0, 0, 8, 0, 0, 0, + 196, 0, 0, 0, 4, 0, + 0, 0, 248, 1, 0, 0, + 4, 1, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 83, 107, + 105, 110, 110, 101, 100, 69, + 102, 102, 101, 99, 116, 46, + 102, 120, 0, 67, 58, 92, + 65, 84, 71, 32, 83, 97, + 109, 112, 108, 101, 32, 68, + 101, 118, 101, 108, 111, 112, + 109, 101, 110, 116, 92, 115, + 116, 95, 100, 101, 118, 92, + 75, 105, 116, 115, 92, 68, + 105, 114, 101, 99, 116, 88, + 84, 75, 92, 83, 114, 99, + 92, 83, 104, 97, 100, 101, + 114, 115, 92, 67, 111, 109, + 109, 111, 110, 46, 102, 120, + 104, 0, 40, 0, 0, 0, + 117, 0, 0, 0, 0, 0, + 255, 255, 124, 2, 0, 0, + 0, 0, 255, 255, 136, 2, + 0, 0, 0, 0, 255, 255, + 148, 2, 0, 0, 0, 0, + 255, 255, 160, 2, 0, 0, + 222, 0, 0, 0, 172, 2, + 0, 0, 222, 0, 0, 0, + 188, 2, 0, 0, 26, 0, + 1, 0, 204, 2, 0, 0, + 26, 0, 1, 0, 224, 2, + 0, 0, 80, 83, 83, 107, + 105, 110, 110, 101, 100, 86, + 101, 114, 116, 101, 120, 76, + 105, 103, 104, 116, 105, 110, + 103, 78, 111, 70, 111, 103, + 0, 171, 171, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 65, 100, 100, 83, + 112, 101, 99, 117, 108, 97, + 114, 0, 99, 111, 108, 111, + 114, 0, 171, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 6, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 5, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 112, 105, 110, 0, + 68, 105, 102, 102, 117, 115, + 101, 0, 83, 112, 101, 99, + 117, 108, 97, 114, 0, 84, + 101, 120, 67, 111, 111, 114, + 100, 0, 171, 171, 1, 0, + 3, 0, 1, 0, 2, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 128, 1, 0, 0, + 84, 1, 0, 0, 136, 1, + 0, 0, 84, 1, 0, 0, + 145, 1, 0, 0, 156, 1, + 0, 0, 5, 0, 0, 0, + 1, 0, 10, 0, 1, 0, + 3, 0, 172, 1, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 1, 0, 0, 0, 4, 0, + 5, 0, 6, 0, 7, 0, + 2, 0, 0, 0, 8, 0, + 9, 0, 255, 255, 255, 255, + 0, 0, 0, 0, 4, 1, + 0, 0, 36, 1, 0, 0, + 1, 0, 0, 0, 52, 1, + 0, 0, 64, 1, 0, 0, + 76, 1, 0, 0, 84, 1, + 0, 0, 1, 0, 0, 0, + 100, 1, 0, 0, 0, 0, + 0, 0, 76, 1, 0, 0, + 84, 1, 0, 0, 1, 0, + 0, 0, 112, 1, 0, 0, + 4, 1, 0, 0, 124, 1, + 0, 0, 196, 1, 0, 0, + 3, 0, 0, 0, 212, 1, + 0, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 31, 0, 0, 2, 0, 0, + 0, 128, 0, 0, 15, 176, + 31, 0, 0, 2, 0, 0, + 0, 128, 1, 0, 15, 176, + 31, 0, 0, 2, 0, 0, + 0, 128, 2, 0, 3, 176, + 31, 0, 0, 2, 0, 0, + 0, 144, 0, 8, 15, 160, + 66, 0, 0, 3, 0, 0, + 15, 128, 2, 0, 228, 176, + 0, 8, 228, 160, 5, 0, 0, 3, 0, 0, 15, 128, - 2, 0, 228, 176, 0, 8, - 228, 160, 5, 0, 0, 3, - 0, 0, 15, 128, 0, 0, - 228, 128, 0, 0, 228, 176, - 4, 0, 0, 4, 0, 0, - 7, 128, 1, 0, 228, 176, - 0, 0, 255, 128, 0, 0, - 228, 128, 1, 0, 0, 2, - 0, 8, 15, 128, 0, 0, - 228, 128, 255, 255, 0, 0, - 83, 72, 68, 82, 216, 0, - 0, 0, 64, 0, 0, 0, - 54, 0, 0, 0, 90, 0, - 0, 3, 0, 96, 16, 0, - 0, 0, 0, 0, 88, 24, - 0, 4, 0, 112, 16, 0, - 0, 0, 0, 0, 85, 85, - 0, 0, 98, 16, 0, 3, - 242, 16, 16, 0, 0, 0, - 0, 0, 98, 16, 0, 3, - 114, 16, 16, 0, 1, 0, - 0, 0, 98, 16, 0, 3, - 50, 16, 16, 0, 2, 0, - 0, 0, 101, 0, 0, 3, - 242, 32, 16, 0, 0, 0, - 0, 0, 104, 0, 0, 2, - 1, 0, 0, 0, 69, 0, - 0, 9, 242, 0, 16, 0, - 0, 0, 0, 0, 70, 16, - 16, 0, 2, 0, 0, 0, - 70, 126, 16, 0, 0, 0, - 0, 0, 0, 96, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 7, 242, 0, 16, 0, - 0, 0, 0, 0, 70, 14, + 0, 0, 228, 128, 0, 0, + 228, 176, 4, 0, 0, 4, + 0, 0, 7, 128, 1, 0, + 228, 176, 0, 0, 255, 128, + 0, 0, 228, 128, 1, 0, + 0, 2, 0, 8, 15, 128, + 0, 0, 228, 128, 255, 255, + 0, 0, 83, 72, 68, 82, + 216, 0, 0, 0, 64, 0, + 0, 0, 54, 0, 0, 0, + 90, 0, 0, 3, 0, 96, 16, 0, 0, 0, 0, 0, - 70, 30, 16, 0, 0, 0, - 0, 0, 50, 0, 0, 9, - 114, 32, 16, 0, 0, 0, - 0, 0, 70, 18, 16, 0, - 1, 0, 0, 0, 246, 15, + 88, 24, 0, 4, 0, 112, 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 54, 0, 0, 5, - 130, 32, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 62, 0, - 0, 1, 73, 83, 71, 78, - 96, 0, 0, 0, 3, 0, - 0, 0, 8, 0, 0, 0, - 80, 0, 0, 0, 0, 0, + 85, 85, 0, 0, 98, 16, + 0, 3, 242, 16, 16, 0, + 0, 0, 0, 0, 98, 16, + 0, 3, 114, 16, 16, 0, + 1, 0, 0, 0, 98, 16, + 0, 3, 50, 16, 16, 0, + 2, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 0, 0, 0, 0, 104, 0, + 0, 2, 1, 0, 0, 0, + 69, 0, 0, 9, 242, 0, + 16, 0, 0, 0, 0, 0, + 70, 16, 16, 0, 2, 0, + 0, 0, 70, 126, 16, 0, + 0, 0, 0, 0, 0, 96, + 16, 0, 0, 0, 0, 0, + 56, 0, 0, 7, 242, 0, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 0, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 50, 0, + 0, 9, 114, 32, 16, 0, + 0, 0, 0, 0, 70, 18, + 16, 0, 1, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 130, 32, 16, 0, + 0, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 62, 0, 0, 1, 73, 83, + 71, 78, 96, 0, 0, 0, + 3, 0, 0, 0, 8, 0, + 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 15, 0, 0, - 80, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 15, + 0, 0, 80, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 15, 7, + 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 15, 7, 0, 0, - 86, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 2, 0, 0, 0, 3, 3, + 0, 0, 67, 79, 76, 79, + 82, 0, 84, 69, 88, 67, + 79, 79, 82, 68, 0, 171, + 79, 83, 71, 78, 44, 0, + 0, 0, 1, 0, 0, 0, + 8, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 3, 3, 0, 0, - 67, 79, 76, 79, 82, 0, - 84, 69, 88, 67, 79, 79, - 82, 68, 0, 171, 79, 83, - 71, 78, 44, 0, 0, 0, - 1, 0, 0, 0, 8, 0, - 0, 0, 32, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 83, 86, 95, 84, - 97, 114, 103, 101, 116, 0, - 171, 171 + 15, 0, 0, 0, 83, 86, + 95, 84, 97, 114, 103, 101, + 116, 0, 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedOneLightFourBones.inc b/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedOneLightFourBones.inc index 7009b63d..fa07bdf3 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedOneLightFourBones.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedOneLightFourBones.inc @@ -42,66 +42,104 @@ // vs_2_0 def c243, 3, 0, 1, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 - dcl_texcoord3 v3 - dcl_texcoord4 v4 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5,6> + dcl_texcoord2 v2 // vin<7,8> + dcl_texcoord3 v3 // vin<9,10,11,12> + dcl_texcoord4 v4 // vin<13,14,15,16> + +#line 52 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\SkinnedEffect.fx" mul r0, v3, c243.x mova a0, r0.yxzw mul r1, v4.y, c26[a0.x] - mad r1, c26[a0.y], v4.x, r1 - mad r0, c26[a0.z], v4.z, r1 - mad r0, c26[a0.w], v4.w, r0 - dp3 r1.x, v1, r0 - dp4 r0.x, v0, r0 + mad r1, c26[a0.y], v4.x, r1 // ::skinning<0,3,6,9> + mad r0, c26[a0.z], v4.z, r1 // ::skinning<0,3,6,9> + mad r0, c26[a0.w], v4.w, r0 // ::skinning<0,3,6,9> + +#line 56 + dp3 r1.x, v1, r0 // Skin::vin<4> + dp4 r0.x, v0, r0 // Skin::vin<0> + +#line 52 mul r2, v4.y, c27[a0.x] mul r3, v4.y, c28[a0.x] - mad r3, c28[a0.y], v4.x, r3 - mad r2, c27[a0.y], v4.x, r2 - mad r2, c27[a0.z], v4.z, r2 - mad r3, c28[a0.z], v4.z, r3 - mad r3, c28[a0.w], v4.w, r3 - mad r2, c27[a0.w], v4.w, r2 - dp3 r1.y, v1, r2 - dp4 r0.y, v0, r2 - dp3 r1.z, v1, r3 - dp4 r0.z, v0, r3 + mad r3, c28[a0.y], v4.x, r3 // ::skinning<2,5,8,11> + mad r2, c27[a0.y], v4.x, r2 // ::skinning<1,4,7,10> + mad r2, c27[a0.z], v4.z, r2 // ::skinning<1,4,7,10> + mad r3, c28[a0.z], v4.z, r3 // ::skinning<2,5,8,11> + mad r3, c28[a0.w], v4.w, r3 // ::skinning<2,5,8,11> + mad r2, c27[a0.w], v4.w, r2 // ::skinning<1,4,7,10> + +#line 56 + dp3 r1.y, v1, r2 // Skin::vin<5> + dp4 r0.y, v0, r2 // Skin::vin<1> + dp3 r1.z, v1, r3 // Skin::vin<6> + dp4 r0.z, v0, r3 // Skin::vin<2> + +#line 59 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" dp3 r2.x, r1, c19 dp3 r2.y, r1, c20 dp3 r2.z, r1, c21 - nrm r1.xyz, r2 - dp3 r1.w, -c3, r1 - sge r2.x, r1.w, c243.y - mul r1.w, r1.w, r2.x + nrm r1.xyz, r2 // ::worldNormal<0,1,2> + +#line 36 + dp3 r1.w, -c3, r1 // ::dotL<0> + +#line 39 + sge r2.x, r1.w, c243.y // ::zeroL<0> + mul r1.w, r1.w, r2.x // ::diffuse<0> + +#line 46 mul r2.yzw, r1.w, c6.xxyz - mov r3.xyz, c0 - mad oT0.xyz, r2.yzww, r3, c1 + mov r3.xyz, c0 // Parameters::DiffuseColor<0,1,2> + mad oT0.xyz, r2.yzww, r3, c1 // ::VSSkinnedOneLightFourBones<0,1,2> + +#line 57 mov r0.w, v0.w - dp4 r3.x, r0, c15 - dp4 r3.y, r0, c16 - dp4 r3.z, r0, c17 + dp4 r3.x, r0, c15 // ::pos_ws<0> + dp4 r3.y, r0, c16 // ::pos_ws<1> + dp4 r3.z, r0, c17 // ::pos_ws<2> add r2.yzw, -r3.xxyz, c12.xxyz - nrm r3.xyz, r2.yzww + nrm r3.xyz, r2.yzww // ::eyeVector<0,1,2> + +#line 33 add r2.yzw, r3.xxyz, -c3.xxyz - nrm r3.xyz, r2.yzww - dp3 r1.x, r3, r1 + nrm r3.xyz, r2.yzww // ::halfVectors<0,1,2> + +#line 37 + dp3 r1.x, r3, r1 // ::dotH<0> + +#line 42 max r1.x, r1.x, c243.y mul r1.x, r2.x, r1.x - pow r2.x, r1.x, c2.w + pow r2.x, r1.x, c2.w // ::specular<0> + +#line 47 mul r1.xyz, r2.x, c9 - mul oT1.xyz, r1, c2 - dp4 oPos.z, r0, c24 + mul oT1.xyz, r1, c2 // ::VSSkinnedOneLightFourBones<4,5,6> + +#line 63 + dp4 oPos.z, r0, c24 // ::VSSkinnedOneLightFourBones<12> + +#line 14 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" dp4 r1.x, r0, c14 max r1.x, r1.x, c243.y - min oT1.w, r1.x, c243.z - dp4 r1.x, r0, c22 - dp4 r1.y, r0, c23 - dp4 r0.x, r0, c25 - mad oPos.xy, r0.x, c242, r1 - mov oPos.w, r0.x - mov oT0.w, c0.w - mov oT2.xy, v2 + min oT1.w, r1.x, c243.z // ::VSSkinnedOneLightFourBones<7> + +#line 63 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp4 r1.x, r0, c22 // ::vout<0> + dp4 r1.y, r0, c23 // ::vout<1> + dp4 r0.x, r0, c25 // ::vout<3> + +#line 141 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\SkinnedEffect.fx" + mad oPos.xy, r0.x, c242, r1 // ::VSSkinnedOneLightFourBones<10,11> + mov oPos.w, r0.x // ::VSSkinnedOneLightFourBones<13> + +#line 46 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + mov oT0.w, c0.w // ::VSSkinnedOneLightFourBones<3> + +#line 145 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\SkinnedEffect.fx" + mov oT2.xy, v2 // ::VSSkinnedOneLightFourBones<8,9> // approximately 63 instruction slots used vs_4_0 @@ -179,17 +217,17 @@ ret const BYTE SkinnedEffect_VSSkinnedOneLightFourBones[] = { - 68, 88, 66, 67, 63, 163, - 154, 32, 18, 207, 16, 79, - 179, 141, 167, 248, 204, 90, - 92, 25, 1, 0, 0, 0, - 172, 13, 0, 0, 4, 0, + 68, 88, 66, 67, 203, 46, + 72, 203, 82, 54, 50, 161, + 103, 172, 86, 28, 64, 194, + 240, 31, 1, 0, 0, 0, + 36, 22, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 112, 4, 0, 0, 96, 12, - 0, 0, 32, 13, 0, 0, - 65, 111, 110, 57, 56, 4, - 0, 0, 56, 4, 0, 0, - 0, 2, 254, 255, 4, 4, + 232, 12, 0, 0, 216, 20, + 0, 0, 152, 21, 0, 0, + 65, 111, 110, 57, 176, 12, + 0, 0, 176, 12, 0, 0, + 0, 2, 254, 255, 124, 12, 0, 0, 52, 0, 0, 0, 1, 0, 36, 0, 0, 0, 48, 0, 0, 0, 48, 0, @@ -197,436 +235,782 @@ const BYTE SkinnedEffect_VSSkinnedOneLightFourBones[] = 48, 0, 0, 0, 0, 0, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, 0, - 0, 2, 254, 255, 81, 0, - 0, 5, 243, 0, 15, 160, - 0, 0, 64, 64, 0, 0, - 0, 0, 0, 0, 128, 63, - 0, 0, 0, 0, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 1, 128, - 1, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 2, 128, - 2, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 3, 128, - 3, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 4, 128, - 4, 0, 15, 144, 5, 0, - 0, 3, 0, 0, 15, 128, - 3, 0, 228, 144, 243, 0, - 0, 160, 46, 0, 0, 2, - 0, 0, 15, 176, 0, 0, - 225, 128, 5, 0, 0, 4, - 1, 0, 15, 128, 4, 0, - 85, 144, 26, 32, 228, 160, - 0, 0, 0, 176, 4, 0, - 0, 5, 1, 0, 15, 128, - 26, 32, 228, 160, 0, 0, - 85, 176, 4, 0, 0, 144, - 1, 0, 228, 128, 4, 0, - 0, 5, 0, 0, 15, 128, - 26, 32, 228, 160, 0, 0, - 170, 176, 4, 0, 170, 144, - 1, 0, 228, 128, 4, 0, - 0, 5, 0, 0, 15, 128, - 26, 32, 228, 160, 0, 0, - 255, 176, 4, 0, 255, 144, - 0, 0, 228, 128, 8, 0, - 0, 3, 1, 0, 1, 128, - 1, 0, 228, 144, 0, 0, - 228, 128, 9, 0, 0, 3, - 0, 0, 1, 128, 0, 0, - 228, 144, 0, 0, 228, 128, - 5, 0, 0, 4, 2, 0, - 15, 128, 4, 0, 85, 144, - 27, 32, 228, 160, 0, 0, - 0, 176, 5, 0, 0, 4, - 3, 0, 15, 128, 4, 0, - 85, 144, 28, 32, 228, 160, - 0, 0, 0, 176, 4, 0, - 0, 5, 3, 0, 15, 128, - 28, 32, 228, 160, 0, 0, - 85, 176, 4, 0, 0, 144, - 3, 0, 228, 128, 4, 0, - 0, 5, 2, 0, 15, 128, - 27, 32, 228, 160, 0, 0, - 85, 176, 4, 0, 0, 144, - 2, 0, 228, 128, 4, 0, - 0, 5, 2, 0, 15, 128, - 27, 32, 228, 160, 0, 0, - 170, 176, 4, 0, 170, 144, - 2, 0, 228, 128, 4, 0, - 0, 5, 3, 0, 15, 128, - 28, 32, 228, 160, 0, 0, - 170, 176, 4, 0, 170, 144, - 3, 0, 228, 128, 4, 0, - 0, 5, 3, 0, 15, 128, - 28, 32, 228, 160, 0, 0, - 255, 176, 4, 0, 255, 144, - 3, 0, 228, 128, 4, 0, - 0, 5, 2, 0, 15, 128, - 27, 32, 228, 160, 0, 0, - 255, 176, 4, 0, 255, 144, - 2, 0, 228, 128, 8, 0, - 0, 3, 1, 0, 2, 128, - 1, 0, 228, 144, 2, 0, - 228, 128, 9, 0, 0, 3, - 0, 0, 2, 128, 0, 0, - 228, 144, 2, 0, 228, 128, + 0, 2, 254, 255, 254, 255, + 29, 2, 68, 66, 85, 71, + 40, 0, 0, 0, 72, 8, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 8, 1, + 0, 0, 61, 0, 0, 0, + 20, 1, 0, 0, 15, 0, + 0, 0, 28, 7, 0, 0, + 48, 3, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 83, 107, + 105, 110, 110, 101, 100, 69, + 102, 102, 101, 99, 116, 46, + 102, 120, 0, 67, 58, 92, + 65, 84, 71, 32, 83, 97, + 109, 112, 108, 101, 32, 68, + 101, 118, 101, 108, 111, 112, + 109, 101, 110, 116, 92, 115, + 116, 95, 100, 101, 118, 92, + 75, 105, 116, 115, 92, 68, + 105, 114, 101, 99, 116, 88, + 84, 75, 92, 83, 114, 99, + 92, 83, 104, 97, 100, 101, + 114, 115, 92, 76, 105, 103, + 104, 116, 105, 110, 103, 46, + 102, 120, 104, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 67, 111, + 109, 109, 111, 110, 46, 102, + 120, 104, 0, 171, 171, 171, + 40, 0, 0, 0, 117, 0, + 0, 0, 190, 0, 0, 0, + 0, 0, 255, 255, 124, 8, + 0, 0, 0, 0, 255, 255, + 148, 8, 0, 0, 0, 0, + 255, 255, 160, 8, 0, 0, + 0, 0, 255, 255, 172, 8, + 0, 0, 0, 0, 255, 255, + 184, 8, 0, 0, 0, 0, + 255, 255, 196, 8, 0, 0, + 52, 0, 0, 0, 208, 8, + 0, 0, 52, 0, 0, 0, + 224, 8, 0, 0, 52, 0, + 0, 0, 236, 8, 0, 0, + 52, 0, 0, 0, 0, 9, + 0, 0, 52, 0, 0, 0, + 24, 9, 0, 0, 52, 0, + 0, 0, 48, 9, 0, 0, + 56, 0, 0, 0, 72, 9, + 0, 0, 55, 0, 0, 0, + 88, 9, 0, 0, 52, 0, + 0, 0, 104, 9, 0, 0, + 52, 0, 0, 0, 124, 9, + 0, 0, 52, 0, 0, 0, + 144, 9, 0, 0, 52, 0, + 0, 0, 168, 9, 0, 0, + 52, 0, 0, 0, 192, 9, + 0, 0, 52, 0, 0, 0, + 216, 9, 0, 0, 52, 0, + 0, 0, 240, 9, 0, 0, + 52, 0, 0, 0, 8, 10, + 0, 0, 56, 0, 0, 0, + 32, 10, 0, 0, 55, 0, + 0, 0, 48, 10, 0, 0, + 56, 0, 0, 0, 64, 10, + 0, 0, 55, 0, 0, 0, + 80, 10, 0, 0, 59, 0, + 1, 0, 96, 10, 0, 0, + 59, 0, 1, 0, 112, 10, + 0, 0, 59, 0, 1, 0, + 128, 10, 0, 0, 59, 0, + 1, 0, 144, 10, 0, 0, + 36, 0, 1, 0, 156, 10, + 0, 0, 39, 0, 1, 0, + 172, 10, 0, 0, 41, 0, + 1, 0, 188, 10, 0, 0, + 46, 0, 1, 0, 204, 10, + 0, 0, 46, 0, 1, 0, + 220, 10, 0, 0, 46, 0, + 1, 0, 232, 10, 0, 0, + 57, 0, 1, 0, 252, 10, + 0, 0, 57, 0, 1, 0, + 8, 11, 0, 0, 57, 0, + 1, 0, 24, 11, 0, 0, + 57, 0, 1, 0, 40, 11, + 0, 0, 58, 0, 1, 0, + 56, 11, 0, 0, 58, 0, + 1, 0, 72, 11, 0, 0, + 33, 0, 1, 0, 84, 11, + 0, 0, 33, 0, 1, 0, + 100, 11, 0, 0, 37, 0, + 1, 0, 112, 11, 0, 0, + 42, 0, 1, 0, 128, 11, + 0, 0, 42, 0, 1, 0, + 144, 11, 0, 0, 42, 0, + 1, 0, 160, 11, 0, 0, + 47, 0, 1, 0, 176, 11, + 0, 0, 47, 0, 1, 0, + 192, 11, 0, 0, 63, 0, + 1, 0, 208, 11, 0, 0, + 14, 0, 2, 0, 224, 11, + 0, 0, 14, 0, 2, 0, + 240, 11, 0, 0, 14, 0, + 2, 0, 0, 12, 0, 0, + 63, 0, 1, 0, 16, 12, + 0, 0, 63, 0, 1, 0, + 32, 12, 0, 0, 63, 0, + 1, 0, 48, 12, 0, 0, + 141, 0, 0, 0, 64, 12, + 0, 0, 141, 0, 0, 0, + 84, 12, 0, 0, 46, 0, + 1, 0, 96, 12, 0, 0, + 145, 0, 0, 0, 108, 12, + 0, 0, 80, 97, 114, 97, + 109, 101, 116, 101, 114, 115, + 0, 68, 105, 102, 102, 117, + 115, 101, 67, 111, 108, 111, + 114, 0, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 34, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 86, 83, 83, 107, 105, 110, + 110, 101, 100, 79, 110, 101, + 76, 105, 103, 104, 116, 70, + 111, 117, 114, 66, 111, 110, + 101, 115, 0, 68, 105, 102, + 102, 117, 115, 101, 0, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 83, 112, + 101, 99, 117, 108, 97, 114, + 0, 84, 101, 120, 67, 111, + 111, 114, 100, 0, 171, 171, + 1, 0, 3, 0, 1, 0, + 2, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 80, 111, + 115, 105, 116, 105, 111, 110, + 80, 83, 0, 171, 75, 3, + 0, 0, 84, 3, 0, 0, + 100, 3, 0, 0, 84, 3, + 0, 0, 109, 3, 0, 0, + 120, 3, 0, 0, 136, 3, + 0, 0, 84, 3, 0, 0, + 5, 0, 0, 0, 1, 0, + 14, 0, 1, 0, 4, 0, + 148, 3, 0, 0, 35, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 49, 0, + 0, 0, 4, 0, 5, 0, + 6, 0, 255, 255, 50, 0, + 0, 0, 255, 255, 255, 255, + 12, 0, 255, 255, 53, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 7, 0, 57, 0, + 0, 0, 10, 0, 11, 0, + 255, 255, 255, 255, 58, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 13, 0, 59, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 3, 0, 60, 0, + 0, 0, 8, 0, 9, 0, + 255, 255, 255, 255, 100, 105, + 102, 102, 117, 115, 101, 0, + 1, 0, 3, 0, 1, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 32, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 0, 0, 100, 111, + 116, 72, 0, 171, 171, 171, + 44, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 100, 111, 116, 76, 0, 171, + 171, 171, 30, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 0, 0, 101, 121, 101, 86, + 101, 99, 116, 111, 114, 0, + 171, 171, 41, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 104, 97, 108, 102, + 86, 101, 99, 116, 111, 114, + 115, 0, 3, 0, 3, 0, + 3, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 43, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 112, 111, 115, 95, 119, 115, + 0, 171, 37, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 38, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 39, 0, 0, 0, + 255, 255, 255, 255, 2, 0, + 255, 255, 115, 107, 105, 110, + 110, 105, 110, 103, 0, 171, + 171, 171, 3, 0, 3, 0, + 4, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 9, 0, 0, 0, 0, 0, + 3, 0, 6, 0, 9, 0, + 10, 0, 0, 0, 0, 0, + 3, 0, 6, 0, 9, 0, + 11, 0, 0, 0, 0, 0, + 3, 0, 6, 0, 9, 0, + 16, 0, 0, 0, 2, 0, + 5, 0, 8, 0, 11, 0, + 17, 0, 0, 0, 1, 0, + 4, 0, 7, 0, 10, 0, + 18, 0, 0, 0, 1, 0, + 4, 0, 7, 0, 10, 0, + 19, 0, 0, 0, 2, 0, + 5, 0, 8, 0, 11, 0, + 20, 0, 0, 0, 2, 0, + 5, 0, 8, 0, 11, 0, + 21, 0, 0, 0, 1, 0, + 4, 0, 7, 0, 10, 0, + 115, 112, 101, 99, 117, 108, + 97, 114, 0, 171, 171, 171, + 47, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 83, 107, 105, 110, 0, 118, + 105, 110, 0, 80, 111, 115, + 105, 116, 105, 111, 110, 0, + 78, 111, 114, 109, 97, 108, + 0, 73, 110, 100, 105, 99, + 101, 115, 0, 171, 171, 171, + 1, 0, 2, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 87, 101, + 105, 103, 104, 116, 115, 0, + 133, 5, 0, 0, 84, 3, + 0, 0, 142, 5, 0, 0, + 44, 4, 0, 0, 109, 3, + 0, 0, 120, 3, 0, 0, + 149, 5, 0, 0, 160, 5, + 0, 0, 176, 5, 0, 0, + 84, 3, 0, 0, 5, 0, + 0, 0, 1, 0, 17, 0, + 1, 0, 5, 0, 184, 5, + 0, 0, 12, 0, 0, 0, + 4, 0, 255, 255, 255, 255, + 255, 255, 13, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 22, 0, 0, 0, + 255, 255, 5, 0, 255, 255, + 255, 255, 23, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 24, 0, 0, 0, + 255, 255, 255, 255, 6, 0, + 255, 255, 25, 0, 0, 0, + 255, 255, 255, 255, 2, 0, + 255, 255, 1, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 2, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 255, 255, 3, 0, 0, 0, + 7, 0, 8, 0, 255, 255, + 255, 255, 4, 0, 0, 0, + 9, 0, 10, 0, 11, 0, + 12, 0, 5, 0, 0, 0, + 13, 0, 14, 0, 15, 0, + 16, 0, 118, 111, 117, 116, + 0, 80, 111, 115, 95, 112, + 115, 0, 70, 111, 103, 70, + 97, 99, 116, 111, 114, 0, + 171, 171, 0, 0, 3, 0, + 1, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 121, 6, 0, 0, 84, 3, + 0, 0, 75, 3, 0, 0, + 84, 3, 0, 0, 100, 3, + 0, 0, 44, 4, 0, 0, + 128, 6, 0, 0, 140, 6, + 0, 0, 5, 0, 0, 0, + 1, 0, 12, 0, 1, 0, + 4, 0, 156, 6, 0, 0, + 54, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 55, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 56, 0, 0, 0, 3, 0, + 255, 255, 255, 255, 255, 255, + 119, 111, 114, 108, 100, 78, + 111, 114, 109, 97, 108, 0, + 29, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 122, 101, 114, 111, 76, 0, + 171, 171, 31, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 252, 2, 0, 0, + 7, 3, 0, 0, 20, 3, + 0, 0, 1, 0, 0, 0, + 36, 3, 0, 0, 0, 0, + 0, 0, 48, 3, 0, 0, + 180, 3, 0, 0, 8, 0, + 0, 0, 196, 3, 0, 0, + 0, 0, 0, 0, 36, 4, + 0, 0, 44, 4, 0, 0, + 1, 0, 0, 0, 60, 4, + 0, 0, 0, 0, 0, 0, + 72, 4, 0, 0, 44, 4, + 0, 0, 1, 0, 0, 0, + 80, 4, 0, 0, 0, 0, + 0, 0, 92, 4, 0, 0, + 44, 4, 0, 0, 1, 0, + 0, 0, 100, 4, 0, 0, + 0, 0, 0, 0, 112, 4, + 0, 0, 44, 4, 0, 0, + 1, 0, 0, 0, 124, 4, + 0, 0, 0, 0, 0, 0, + 136, 4, 0, 0, 148, 4, + 0, 0, 1, 0, 0, 0, + 164, 4, 0, 0, 0, 0, + 0, 0, 176, 4, 0, 0, + 84, 3, 0, 0, 3, 0, + 0, 0, 184, 4, 0, 0, + 0, 0, 0, 0, 220, 4, + 0, 0, 232, 4, 0, 0, + 9, 0, 0, 0, 248, 4, + 0, 0, 0, 0, 0, 0, + 100, 5, 0, 0, 44, 4, + 0, 0, 1, 0, 0, 0, + 112, 5, 0, 0, 124, 5, + 0, 0, 129, 5, 0, 0, + 224, 5, 0, 0, 6, 0, + 0, 0, 240, 5, 0, 0, + 48, 3, 0, 0, 129, 5, + 0, 0, 224, 5, 0, 0, + 5, 0, 0, 0, 56, 6, + 0, 0, 0, 0, 0, 0, + 116, 6, 0, 0, 188, 6, + 0, 0, 3, 0, 0, 0, + 204, 6, 0, 0, 0, 0, + 0, 0, 240, 6, 0, 0, + 44, 4, 0, 0, 1, 0, + 0, 0, 252, 6, 0, 0, + 0, 0, 0, 0, 8, 7, + 0, 0, 44, 4, 0, 0, + 1, 0, 0, 0, 16, 7, + 0, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 81, 0, 0, 5, 243, 0, + 15, 160, 0, 0, 64, 64, + 0, 0, 0, 0, 0, 0, + 128, 63, 0, 0, 0, 0, + 31, 0, 0, 2, 5, 0, + 0, 128, 0, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 1, 128, 1, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 2, 128, 2, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 3, 128, 3, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 4, 128, 4, 0, 15, 144, + 5, 0, 0, 3, 0, 0, + 15, 128, 3, 0, 228, 144, + 243, 0, 0, 160, 46, 0, + 0, 2, 0, 0, 15, 176, + 0, 0, 225, 128, 5, 0, + 0, 4, 1, 0, 15, 128, + 4, 0, 85, 144, 26, 32, + 228, 160, 0, 0, 0, 176, + 4, 0, 0, 5, 1, 0, + 15, 128, 26, 32, 228, 160, + 0, 0, 85, 176, 4, 0, + 0, 144, 1, 0, 228, 128, + 4, 0, 0, 5, 0, 0, + 15, 128, 26, 32, 228, 160, + 0, 0, 170, 176, 4, 0, + 170, 144, 1, 0, 228, 128, + 4, 0, 0, 5, 0, 0, + 15, 128, 26, 32, 228, 160, + 0, 0, 255, 176, 4, 0, + 255, 144, 0, 0, 228, 128, 8, 0, 0, 3, 1, 0, - 4, 128, 1, 0, 228, 144, - 3, 0, 228, 128, 9, 0, - 0, 3, 0, 0, 4, 128, - 0, 0, 228, 144, 3, 0, + 1, 128, 1, 0, 228, 144, + 0, 0, 228, 128, 9, 0, + 0, 3, 0, 0, 1, 128, + 0, 0, 228, 144, 0, 0, + 228, 128, 5, 0, 0, 4, + 2, 0, 15, 128, 4, 0, + 85, 144, 27, 32, 228, 160, + 0, 0, 0, 176, 5, 0, + 0, 4, 3, 0, 15, 128, + 4, 0, 85, 144, 28, 32, + 228, 160, 0, 0, 0, 176, + 4, 0, 0, 5, 3, 0, + 15, 128, 28, 32, 228, 160, + 0, 0, 85, 176, 4, 0, + 0, 144, 3, 0, 228, 128, + 4, 0, 0, 5, 2, 0, + 15, 128, 27, 32, 228, 160, + 0, 0, 85, 176, 4, 0, + 0, 144, 2, 0, 228, 128, + 4, 0, 0, 5, 2, 0, + 15, 128, 27, 32, 228, 160, + 0, 0, 170, 176, 4, 0, + 170, 144, 2, 0, 228, 128, + 4, 0, 0, 5, 3, 0, + 15, 128, 28, 32, 228, 160, + 0, 0, 170, 176, 4, 0, + 170, 144, 3, 0, 228, 128, + 4, 0, 0, 5, 3, 0, + 15, 128, 28, 32, 228, 160, + 0, 0, 255, 176, 4, 0, + 255, 144, 3, 0, 228, 128, + 4, 0, 0, 5, 2, 0, + 15, 128, 27, 32, 228, 160, + 0, 0, 255, 176, 4, 0, + 255, 144, 2, 0, 228, 128, + 8, 0, 0, 3, 1, 0, + 2, 128, 1, 0, 228, 144, + 2, 0, 228, 128, 9, 0, + 0, 3, 0, 0, 2, 128, + 0, 0, 228, 144, 2, 0, 228, 128, 8, 0, 0, 3, - 2, 0, 1, 128, 1, 0, - 228, 128, 19, 0, 228, 160, + 1, 0, 4, 128, 1, 0, + 228, 144, 3, 0, 228, 128, + 9, 0, 0, 3, 0, 0, + 4, 128, 0, 0, 228, 144, + 3, 0, 228, 128, 8, 0, + 0, 3, 2, 0, 1, 128, + 1, 0, 228, 128, 19, 0, + 228, 160, 8, 0, 0, 3, + 2, 0, 2, 128, 1, 0, + 228, 128, 20, 0, 228, 160, 8, 0, 0, 3, 2, 0, - 2, 128, 1, 0, 228, 128, - 20, 0, 228, 160, 8, 0, - 0, 3, 2, 0, 4, 128, - 1, 0, 228, 128, 21, 0, - 228, 160, 36, 0, 0, 2, - 1, 0, 7, 128, 2, 0, - 228, 128, 8, 0, 0, 3, - 1, 0, 8, 128, 3, 0, - 228, 161, 1, 0, 228, 128, - 13, 0, 0, 3, 2, 0, - 1, 128, 1, 0, 255, 128, - 243, 0, 85, 160, 5, 0, + 4, 128, 1, 0, 228, 128, + 21, 0, 228, 160, 36, 0, + 0, 2, 1, 0, 7, 128, + 2, 0, 228, 128, 8, 0, 0, 3, 1, 0, 8, 128, - 1, 0, 255, 128, 2, 0, - 0, 128, 5, 0, 0, 3, - 2, 0, 14, 128, 1, 0, - 255, 128, 6, 0, 144, 160, - 1, 0, 0, 2, 3, 0, - 7, 128, 0, 0, 228, 160, - 4, 0, 0, 4, 0, 0, - 7, 224, 2, 0, 249, 128, - 3, 0, 228, 128, 1, 0, - 228, 160, 1, 0, 0, 2, - 0, 0, 8, 128, 0, 0, - 255, 144, 9, 0, 0, 3, - 3, 0, 1, 128, 0, 0, - 228, 128, 15, 0, 228, 160, + 3, 0, 228, 161, 1, 0, + 228, 128, 13, 0, 0, 3, + 2, 0, 1, 128, 1, 0, + 255, 128, 243, 0, 85, 160, + 5, 0, 0, 3, 1, 0, + 8, 128, 1, 0, 255, 128, + 2, 0, 0, 128, 5, 0, + 0, 3, 2, 0, 14, 128, + 1, 0, 255, 128, 6, 0, + 144, 160, 1, 0, 0, 2, + 3, 0, 7, 128, 0, 0, + 228, 160, 4, 0, 0, 4, + 0, 0, 7, 224, 2, 0, + 249, 128, 3, 0, 228, 128, + 1, 0, 228, 160, 1, 0, + 0, 2, 0, 0, 8, 128, + 0, 0, 255, 144, 9, 0, + 0, 3, 3, 0, 1, 128, + 0, 0, 228, 128, 15, 0, + 228, 160, 9, 0, 0, 3, + 3, 0, 2, 128, 0, 0, + 228, 128, 16, 0, 228, 160, 9, 0, 0, 3, 3, 0, - 2, 128, 0, 0, 228, 128, - 16, 0, 228, 160, 9, 0, - 0, 3, 3, 0, 4, 128, - 0, 0, 228, 128, 17, 0, - 228, 160, 2, 0, 0, 3, + 4, 128, 0, 0, 228, 128, + 17, 0, 228, 160, 2, 0, + 0, 3, 2, 0, 14, 128, + 3, 0, 144, 129, 12, 0, + 144, 160, 36, 0, 0, 2, + 3, 0, 7, 128, 2, 0, + 249, 128, 2, 0, 0, 3, 2, 0, 14, 128, 3, 0, - 144, 129, 12, 0, 144, 160, + 144, 128, 3, 0, 144, 161, 36, 0, 0, 2, 3, 0, 7, 128, 2, 0, 249, 128, - 2, 0, 0, 3, 2, 0, - 14, 128, 3, 0, 144, 128, - 3, 0, 144, 161, 36, 0, - 0, 2, 3, 0, 7, 128, - 2, 0, 249, 128, 8, 0, + 8, 0, 0, 3, 1, 0, + 1, 128, 3, 0, 228, 128, + 1, 0, 228, 128, 11, 0, + 0, 3, 1, 0, 1, 128, + 1, 0, 0, 128, 243, 0, + 85, 160, 5, 0, 0, 3, + 1, 0, 1, 128, 2, 0, + 0, 128, 1, 0, 0, 128, + 32, 0, 0, 3, 2, 0, + 1, 128, 1, 0, 0, 128, + 2, 0, 255, 160, 5, 0, + 0, 3, 1, 0, 7, 128, + 2, 0, 0, 128, 9, 0, + 228, 160, 5, 0, 0, 3, + 1, 0, 7, 224, 1, 0, + 228, 128, 2, 0, 228, 160, + 9, 0, 0, 3, 0, 0, + 4, 192, 0, 0, 228, 128, + 24, 0, 228, 160, 9, 0, 0, 3, 1, 0, 1, 128, - 3, 0, 228, 128, 1, 0, - 228, 128, 11, 0, 0, 3, + 0, 0, 228, 128, 14, 0, + 228, 160, 11, 0, 0, 3, 1, 0, 1, 128, 1, 0, 0, 128, 243, 0, 85, 160, - 5, 0, 0, 3, 1, 0, - 1, 128, 2, 0, 0, 128, - 1, 0, 0, 128, 32, 0, - 0, 3, 2, 0, 1, 128, - 1, 0, 0, 128, 2, 0, - 255, 160, 5, 0, 0, 3, - 1, 0, 7, 128, 2, 0, - 0, 128, 9, 0, 228, 160, - 5, 0, 0, 3, 1, 0, - 7, 224, 1, 0, 228, 128, - 2, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 4, 192, - 0, 0, 228, 128, 24, 0, + 10, 0, 0, 3, 1, 0, + 8, 224, 1, 0, 0, 128, + 243, 0, 170, 160, 9, 0, + 0, 3, 1, 0, 1, 128, + 0, 0, 228, 128, 22, 0, 228, 160, 9, 0, 0, 3, - 1, 0, 1, 128, 0, 0, - 228, 128, 14, 0, 228, 160, - 11, 0, 0, 3, 1, 0, - 1, 128, 1, 0, 0, 128, - 243, 0, 85, 160, 10, 0, - 0, 3, 1, 0, 8, 224, - 1, 0, 0, 128, 243, 0, - 170, 160, 9, 0, 0, 3, - 1, 0, 1, 128, 0, 0, - 228, 128, 22, 0, 228, 160, - 9, 0, 0, 3, 1, 0, - 2, 128, 0, 0, 228, 128, - 23, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 1, 128, - 0, 0, 228, 128, 25, 0, - 228, 160, 4, 0, 0, 4, - 0, 0, 3, 192, 0, 0, - 0, 128, 242, 0, 228, 160, - 1, 0, 228, 128, 1, 0, - 0, 2, 0, 0, 8, 192, - 0, 0, 0, 128, 1, 0, - 0, 2, 0, 0, 8, 224, - 0, 0, 255, 160, 1, 0, - 0, 2, 2, 0, 3, 224, - 2, 0, 228, 144, 255, 255, - 0, 0, 83, 72, 68, 82, - 232, 7, 0, 0, 64, 0, - 1, 0, 250, 1, 0, 0, - 89, 8, 0, 4, 70, 142, - 32, 0, 0, 0, 0, 0, - 242, 0, 0, 0, 95, 0, - 0, 3, 242, 16, 16, 0, - 0, 0, 0, 0, 95, 0, - 0, 3, 114, 16, 16, 0, - 1, 0, 0, 0, 95, 0, - 0, 3, 50, 16, 16, 0, - 2, 0, 0, 0, 95, 0, - 0, 3, 242, 16, 16, 0, - 3, 0, 0, 0, 95, 0, - 0, 3, 242, 16, 16, 0, - 4, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 0, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 50, 32, 16, 0, - 2, 0, 0, 0, 103, 0, - 0, 4, 242, 32, 16, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 104, 0, 0, 2, - 4, 0, 0, 0, 38, 0, - 0, 11, 0, 208, 0, 0, - 242, 0, 16, 0, 0, 0, - 0, 0, 70, 30, 16, 0, - 3, 0, 0, 0, 2, 64, - 0, 0, 3, 0, 0, 0, - 3, 0, 0, 0, 3, 0, - 0, 0, 3, 0, 0, 0, - 56, 0, 0, 10, 242, 0, - 16, 0, 1, 0, 0, 0, - 86, 21, 16, 0, 4, 0, - 0, 0, 70, 142, 32, 6, - 0, 0, 0, 0, 26, 0, - 0, 0, 26, 0, 16, 0, - 0, 0, 0, 0, 50, 0, - 0, 12, 242, 0, 16, 0, - 1, 0, 0, 0, 70, 142, - 32, 6, 0, 0, 0, 0, - 26, 0, 0, 0, 10, 0, - 16, 0, 0, 0, 0, 0, - 6, 16, 16, 0, 4, 0, - 0, 0, 70, 14, 16, 0, - 1, 0, 0, 0, 50, 0, - 0, 12, 242, 0, 16, 0, - 1, 0, 0, 0, 70, 142, - 32, 6, 0, 0, 0, 0, - 26, 0, 0, 0, 42, 0, - 16, 0, 0, 0, 0, 0, - 166, 26, 16, 0, 4, 0, - 0, 0, 70, 14, 16, 0, - 1, 0, 0, 0, 50, 0, - 0, 12, 242, 0, 16, 0, - 1, 0, 0, 0, 70, 142, - 32, 6, 0, 0, 0, 0, - 26, 0, 0, 0, 58, 0, + 1, 0, 2, 128, 0, 0, + 228, 128, 23, 0, 228, 160, + 9, 0, 0, 3, 0, 0, + 1, 128, 0, 0, 228, 128, + 25, 0, 228, 160, 4, 0, + 0, 4, 0, 0, 3, 192, + 0, 0, 0, 128, 242, 0, + 228, 160, 1, 0, 228, 128, + 1, 0, 0, 2, 0, 0, + 8, 192, 0, 0, 0, 128, + 1, 0, 0, 2, 0, 0, + 8, 224, 0, 0, 255, 160, + 1, 0, 0, 2, 2, 0, + 3, 224, 2, 0, 228, 144, + 255, 255, 0, 0, 83, 72, + 68, 82, 232, 7, 0, 0, + 64, 0, 1, 0, 250, 1, + 0, 0, 89, 8, 0, 4, + 70, 142, 32, 0, 0, 0, + 0, 0, 242, 0, 0, 0, + 95, 0, 0, 3, 242, 16, 16, 0, 0, 0, 0, 0, - 246, 31, 16, 0, 4, 0, - 0, 0, 70, 14, 16, 0, - 1, 0, 0, 0, 16, 0, - 0, 7, 18, 0, 16, 0, - 2, 0, 0, 0, 70, 18, + 95, 0, 0, 3, 114, 16, 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 17, 0, 0, 7, - 18, 0, 16, 0, 1, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 70, 14, + 95, 0, 0, 3, 50, 16, + 16, 0, 2, 0, 0, 0, + 95, 0, 0, 3, 242, 16, + 16, 0, 3, 0, 0, 0, + 95, 0, 0, 3, 242, 16, + 16, 0, 4, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 0, 0, 0, 0, + 101, 0, 0, 3, 242, 32, 16, 0, 1, 0, 0, 0, - 56, 0, 0, 10, 242, 0, + 101, 0, 0, 3, 50, 32, + 16, 0, 2, 0, 0, 0, + 103, 0, 0, 4, 242, 32, 16, 0, 3, 0, 0, 0, - 86, 21, 16, 0, 4, 0, - 0, 0, 70, 142, 32, 6, - 0, 0, 0, 0, 27, 0, - 0, 0, 26, 0, 16, 0, - 0, 0, 0, 0, 50, 0, - 0, 12, 242, 0, 16, 0, - 3, 0, 0, 0, 70, 142, + 1, 0, 0, 0, 104, 0, + 0, 2, 4, 0, 0, 0, + 38, 0, 0, 11, 0, 208, + 0, 0, 242, 0, 16, 0, + 0, 0, 0, 0, 70, 30, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 3, 0, + 0, 0, 56, 0, 0, 10, + 242, 0, 16, 0, 1, 0, + 0, 0, 86, 21, 16, 0, + 4, 0, 0, 0, 70, 142, 32, 6, 0, 0, 0, 0, - 27, 0, 0, 0, 10, 0, + 26, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, - 6, 16, 16, 0, 4, 0, - 0, 0, 70, 14, 16, 0, - 3, 0, 0, 0, 50, 0, - 0, 12, 242, 0, 16, 0, - 3, 0, 0, 0, 70, 142, - 32, 6, 0, 0, 0, 0, - 27, 0, 0, 0, 42, 0, + 50, 0, 0, 12, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 142, 32, 6, 0, 0, + 0, 0, 26, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 6, 16, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 50, 0, 0, 12, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 142, 32, 6, 0, 0, + 0, 0, 26, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 166, 26, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 50, 0, 0, 12, 242, 0, + 16, 0, 1, 0, 0, 0, + 70, 142, 32, 6, 0, 0, + 0, 0, 26, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 246, 31, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 16, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 70, 18, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 17, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, - 166, 26, 16, 0, 4, 0, - 0, 0, 70, 14, 16, 0, - 3, 0, 0, 0, 50, 0, - 0, 12, 242, 0, 16, 0, - 3, 0, 0, 0, 70, 142, + 70, 14, 16, 0, 1, 0, + 0, 0, 56, 0, 0, 10, + 242, 0, 16, 0, 3, 0, + 0, 0, 86, 21, 16, 0, + 4, 0, 0, 0, 70, 142, 32, 6, 0, 0, 0, 0, - 27, 0, 0, 0, 58, 0, + 27, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, - 246, 31, 16, 0, 4, 0, - 0, 0, 70, 14, 16, 0, - 3, 0, 0, 0, 16, 0, - 0, 7, 34, 0, 16, 0, - 2, 0, 0, 0, 70, 18, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 3, 0, - 0, 0, 17, 0, 0, 7, - 34, 0, 16, 0, 1, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 70, 14, + 50, 0, 0, 12, 242, 0, 16, 0, 3, 0, 0, 0, - 56, 0, 0, 10, 242, 0, + 70, 142, 32, 6, 0, 0, + 0, 0, 27, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 6, 16, 16, 0, + 4, 0, 0, 0, 70, 14, 16, 0, 3, 0, 0, 0, - 86, 21, 16, 0, 4, 0, - 0, 0, 70, 142, 32, 6, - 0, 0, 0, 0, 28, 0, - 0, 0, 26, 0, 16, 0, - 0, 0, 0, 0, 50, 0, - 0, 12, 242, 0, 16, 0, - 3, 0, 0, 0, 70, 142, - 32, 6, 0, 0, 0, 0, - 28, 0, 0, 0, 10, 0, + 50, 0, 0, 12, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 142, 32, 6, 0, 0, + 0, 0, 27, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 166, 26, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 50, 0, 0, 12, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 142, 32, 6, 0, 0, + 0, 0, 27, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 246, 31, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 16, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 70, 18, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 17, 0, + 0, 7, 34, 0, 16, 0, + 1, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, - 6, 16, 16, 0, 4, 0, - 0, 0, 70, 14, 16, 0, - 3, 0, 0, 0, 50, 0, - 0, 12, 242, 0, 16, 0, - 3, 0, 0, 0, 70, 142, + 70, 14, 16, 0, 3, 0, + 0, 0, 56, 0, 0, 10, + 242, 0, 16, 0, 3, 0, + 0, 0, 86, 21, 16, 0, + 4, 0, 0, 0, 70, 142, 32, 6, 0, 0, 0, 0, - 28, 0, 0, 0, 42, 0, + 28, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, - 166, 26, 16, 0, 4, 0, - 0, 0, 70, 14, 16, 0, - 3, 0, 0, 0, 50, 0, - 0, 12, 242, 0, 16, 0, - 0, 0, 0, 0, 70, 142, - 32, 6, 0, 0, 0, 0, - 28, 0, 0, 0, 58, 0, + 50, 0, 0, 12, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 142, 32, 6, 0, 0, + 0, 0, 28, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 6, 16, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 50, 0, 0, 12, 242, 0, + 16, 0, 3, 0, 0, 0, + 70, 142, 32, 6, 0, 0, + 0, 0, 28, 0, 0, 0, + 42, 0, 16, 0, 0, 0, + 0, 0, 166, 26, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 50, 0, 0, 12, 242, 0, 16, 0, 0, 0, 0, 0, - 246, 31, 16, 0, 4, 0, - 0, 0, 70, 14, 16, 0, - 3, 0, 0, 0, 16, 0, + 70, 142, 32, 6, 0, 0, + 0, 0, 28, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 246, 31, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 16, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 70, 18, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 17, 0, 0, 7, 66, 0, 16, 0, - 2, 0, 0, 0, 70, 18, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 17, 0, 0, 7, - 66, 0, 16, 0, 1, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 70, 14, - 16, 0, 0, 0, 0, 0, - 16, 0, 0, 8, 18, 0, + 1, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 2, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 19, 0, + 70, 14, 16, 0, 0, 0, 0, 0, 16, 0, 0, 8, - 34, 0, 16, 0, 0, 0, + 18, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, - 20, 0, 0, 0, 16, 0, - 0, 8, 66, 0, 16, 0, + 19, 0, 0, 0, 16, 0, + 0, 8, 34, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 70, 130, 32, 0, 0, 0, - 0, 0, 21, 0, 0, 0, - 16, 0, 0, 7, 130, 0, + 0, 0, 20, 0, 0, 0, + 16, 0, 0, 8, 66, 0, 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 68, 0, - 0, 5, 130, 0, 16, 0, - 0, 0, 0, 0, 58, 0, - 16, 0, 0, 0, 0, 0, - 56, 0, 0, 7, 114, 0, - 16, 0, 0, 0, 0, 0, - 246, 15, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 16, 0, - 0, 9, 130, 0, 16, 0, - 0, 0, 0, 0, 70, 130, - 32, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 21, 0, + 0, 0, 16, 0, 0, 7, + 130, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 29, 0, - 0, 7, 18, 0, 16, 0, - 2, 0, 0, 0, 58, 0, + 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 7, - 18, 0, 16, 0, 2, 0, - 0, 0, 10, 0, 16, 0, - 2, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 128, 63, - 56, 0, 0, 7, 130, 0, + 68, 0, 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, - 0, 0, 10, 0, 16, 0, - 2, 0, 0, 0, 56, 0, - 0, 8, 226, 0, 16, 0, - 2, 0, 0, 0, 246, 15, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 0, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, - 6, 137, 32, 0, 0, 0, - 0, 0, 6, 0, 0, 0, - 50, 0, 0, 11, 114, 32, + 16, 0, 0, 9, 130, 0, 16, 0, 0, 0, 0, 0, - 150, 7, 16, 0, 2, 0, - 0, 0, 70, 130, 32, 0, + 70, 130, 32, 128, 65, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 70, 130, 32, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 29, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 54, 0, 0, 6, - 130, 32, 16, 0, 0, 0, - 0, 0, 58, 128, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 54, 0, 0, 5, - 130, 0, 16, 0, 1, 0, - 0, 0, 58, 16, 16, 0, - 0, 0, 0, 0, 17, 0, - 0, 8, 18, 0, 16, 0, - 3, 0, 0, 0, 70, 14, - 16, 0, 1, 0, 0, 0, - 70, 142, 32, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 17, 0, 0, 8, 34, 0, + 0, 7, 18, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 128, 63, 56, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 56, 0, 0, 8, 226, 0, + 16, 0, 2, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 6, 137, 32, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 50, 0, 0, 11, + 114, 32, 16, 0, 0, 0, + 0, 0, 150, 7, 16, 0, + 2, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 54, 0, + 0, 6, 130, 32, 16, 0, + 0, 0, 0, 0, 58, 128, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 130, 0, 16, 0, + 1, 0, 0, 0, 58, 16, + 16, 0, 0, 0, 0, 0, + 17, 0, 0, 8, 18, 0, 16, 0, 3, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 15, 0, 0, 0, 17, 0, 0, 8, - 66, 0, 16, 0, 3, 0, + 34, 0, 16, 0, 3, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 17, 0, 0, 0, 0, 0, - 0, 9, 226, 0, 16, 0, - 2, 0, 0, 0, 6, 9, - 16, 128, 65, 0, 0, 0, - 3, 0, 0, 0, 6, 137, - 32, 0, 0, 0, 0, 0, - 12, 0, 0, 0, 16, 0, - 0, 7, 130, 0, 16, 0, - 0, 0, 0, 0, 150, 7, - 16, 0, 2, 0, 0, 0, - 150, 7, 16, 0, 2, 0, - 0, 0, 68, 0, 0, 5, - 130, 0, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 50, 0, - 0, 11, 226, 0, 16, 0, - 2, 0, 0, 0, 86, 14, + 16, 0, 0, 0, 17, 0, + 0, 8, 66, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 17, 0, 0, 0, + 0, 0, 0, 9, 226, 0, 16, 0, 2, 0, 0, 0, - 246, 15, 16, 0, 0, 0, - 0, 0, 6, 137, 32, 128, - 65, 0, 0, 0, 0, 0, + 6, 9, 16, 128, 65, 0, 0, 0, 3, 0, 0, 0, + 6, 137, 32, 0, 0, 0, + 0, 0, 12, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, 150, 7, 16, 0, 2, 0, @@ -635,132 +1019,147 @@ const BYTE SkinnedEffect_VSSkinnedOneLightFourBones[] = 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, - 56, 0, 0, 7, 226, 0, + 50, 0, 0, 11, 226, 0, 16, 0, 2, 0, 0, 0, - 246, 15, 16, 0, 0, 0, - 0, 0, 86, 14, 16, 0, - 2, 0, 0, 0, 16, 0, - 0, 7, 18, 0, 16, 0, - 0, 0, 0, 0, 150, 7, + 86, 14, 16, 0, 2, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 6, 137, + 32, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 16, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 150, 7, 16, 0, + 2, 0, 0, 0, 150, 7, 16, 0, 2, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 52, 0, 0, 7, - 18, 0, 16, 0, 0, 0, - 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 0, 0, - 56, 0, 0, 7, 18, 0, + 68, 0, 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, - 10, 0, 16, 0, 2, 0, - 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 47, 0, - 0, 5, 18, 0, 16, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 226, 0, 16, 0, 2, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 86, 14, + 16, 0, 2, 0, 0, 0, + 16, 0, 0, 7, 18, 0, + 16, 0, 0, 0, 0, 0, + 150, 7, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 52, 0, + 0, 7, 18, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, - 56, 0, 0, 8, 18, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 18, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 47, 0, 0, 5, 18, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 0, 0, - 0, 0, 58, 128, 32, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 25, 0, 0, 5, + 0, 0, 56, 0, 0, 8, 18, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 8, 114, 0, 16, 0, - 0, 0, 0, 0, 6, 0, + 0, 0, 0, 0, 58, 128, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 25, 0, + 0, 5, 18, 0, 16, 0, + 0, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, - 70, 130, 32, 0, 0, 0, - 0, 0, 9, 0, 0, 0, - 56, 0, 0, 8, 114, 32, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 0, 0, + 56, 0, 0, 8, 114, 0, + 16, 0, 0, 0, 0, 0, + 6, 0, 16, 0, 0, 0, 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 17, 32, 0, 8, - 130, 32, 16, 0, 1, 0, - 0, 0, 70, 14, 16, 0, - 1, 0, 0, 0, 70, 142, + 0, 0, 0, 0, 9, 0, + 0, 0, 56, 0, 0, 8, + 114, 32, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, - 14, 0, 0, 0, 54, 0, - 0, 5, 50, 32, 16, 0, - 2, 0, 0, 0, 70, 16, + 2, 0, 0, 0, 17, 32, + 0, 8, 130, 32, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 14, 0, 0, 0, + 54, 0, 0, 5, 50, 32, 16, 0, 2, 0, 0, 0, - 17, 0, 0, 8, 18, 32, - 16, 0, 3, 0, 0, 0, - 70, 14, 16, 0, 1, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 22, 0, + 70, 16, 16, 0, 2, 0, 0, 0, 17, 0, 0, 8, - 34, 32, 16, 0, 3, 0, + 18, 32, 16, 0, 3, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 23, 0, 0, 0, 17, 0, - 0, 8, 66, 32, 16, 0, + 22, 0, 0, 0, 17, 0, + 0, 8, 34, 32, 16, 0, 3, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, 70, 142, 32, 0, 0, 0, - 0, 0, 24, 0, 0, 0, - 17, 0, 0, 8, 130, 32, + 0, 0, 23, 0, 0, 0, + 17, 0, 0, 8, 66, 32, 16, 0, 3, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 25, 0, - 0, 0, 62, 0, 0, 1, - 73, 83, 71, 78, 184, 0, - 0, 0, 5, 0, 0, 0, - 8, 0, 0, 0, 128, 0, + 0, 0, 0, 0, 24, 0, + 0, 0, 17, 0, 0, 8, + 130, 32, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 25, 0, 0, 0, 62, 0, + 0, 1, 73, 83, 71, 78, + 184, 0, 0, 0, 5, 0, + 0, 0, 8, 0, 0, 0, + 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 15, 0, 0, + 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 15, 15, 0, 0, 140, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 7, 7, 0, 0, + 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 7, 7, 0, 0, 147, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 3, 3, 0, 0, + 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 2, 0, 0, 0, - 3, 3, 0, 0, 156, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 15, 15, 0, 0, + 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 3, 0, 0, 0, - 15, 15, 0, 0, 169, 0, + 3, 0, 0, 0, 4, 0, + 0, 0, 15, 15, 0, 0, + 83, 86, 95, 80, 111, 115, + 105, 116, 105, 111, 110, 0, + 78, 79, 82, 77, 65, 76, + 0, 84, 69, 88, 67, 79, + 79, 82, 68, 0, 66, 76, + 69, 78, 68, 73, 78, 68, + 73, 67, 69, 83, 0, 66, + 76, 69, 78, 68, 87, 69, + 73, 71, 72, 84, 0, 171, + 171, 171, 79, 83, 71, 78, + 132, 0, 0, 0, 4, 0, + 0, 0, 8, 0, 0, 0, + 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 4, 0, 0, 0, - 15, 15, 0, 0, 83, 86, - 95, 80, 111, 115, 105, 116, - 105, 111, 110, 0, 78, 79, - 82, 77, 65, 76, 0, 84, - 69, 88, 67, 79, 79, 82, - 68, 0, 66, 76, 69, 78, - 68, 73, 78, 68, 73, 67, - 69, 83, 0, 66, 76, 69, - 78, 68, 87, 69, 73, 71, - 72, 84, 0, 171, 171, 171, - 79, 83, 71, 78, 132, 0, - 0, 0, 4, 0, 0, 0, - 8, 0, 0, 0, 104, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 104, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 15, 0, 0, 0, + 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 104, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 3, 12, 0, 0, + 119, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 15, 0, 0, 0, 110, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 2, 0, 0, 0, - 3, 12, 0, 0, 119, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 3, 0, - 0, 0, 3, 0, 0, 0, - 15, 0, 0, 0, 67, 79, - 76, 79, 82, 0, 84, 69, - 88, 67, 79, 79, 82, 68, - 0, 83, 86, 95, 80, 111, - 115, 105, 116, 105, 111, 110, - 0, 171 + 3, 0, 0, 0, 3, 0, + 0, 0, 15, 0, 0, 0, + 67, 79, 76, 79, 82, 0, + 84, 69, 88, 67, 79, 79, + 82, 68, 0, 83, 86, 95, + 80, 111, 115, 105, 116, 105, + 111, 110, 0, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedOneLightOneBone.inc b/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedOneLightOneBone.inc index 2e7e6371..9a87e6d2 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedOneLightOneBone.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedOneLightOneBone.inc @@ -42,57 +42,95 @@ // vs_2_0 def c243, 3, 0, 1, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 - dcl_texcoord3 v3 - dcl_texcoord4 v4 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5,6> + dcl_texcoord2 v2 // vin<7,8> + dcl_texcoord3 v3 // vin<9,10,11,12> + dcl_texcoord4 v4 // vin<13,14,15,16> + +#line 52 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\SkinnedEffect.fx" mul r0.x, v3.x, c243.x mova a0.x, r0.x - mul r0, v4.x, c26[a0.x] - dp3 r1.x, v1, r0 - dp4 r0.x, v0, r0 - mul r2, v4.x, c27[a0.x] - mul r3, v4.x, c28[a0.x] - dp3 r1.y, v1, r2 - dp4 r0.y, v0, r2 - dp3 r1.z, v1, r3 - dp4 r0.z, v0, r3 + mul r0, v4.x, c26[a0.x] // ::skinning<0,3,6,9> + +#line 56 + dp3 r1.x, v1, r0 // Skin::vin<4> + dp4 r0.x, v0, r0 // Skin::vin<0> + +#line 52 + mul r2, v4.x, c27[a0.x] // ::skinning<1,4,7,10> + mul r3, v4.x, c28[a0.x] // ::skinning<2,5,8,11> + +#line 56 + dp3 r1.y, v1, r2 // Skin::vin<5> + dp4 r0.y, v0, r2 // Skin::vin<1> + dp3 r1.z, v1, r3 // Skin::vin<6> + dp4 r0.z, v0, r3 // Skin::vin<2> + +#line 59 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" dp3 r2.x, r1, c19 dp3 r2.y, r1, c20 dp3 r2.z, r1, c21 - nrm r1.xyz, r2 - dp3 r1.w, -c3, r1 - sge r2.x, r1.w, c243.y - mul r1.w, r1.w, r2.x + nrm r1.xyz, r2 // ::worldNormal<0,1,2> + +#line 36 + dp3 r1.w, -c3, r1 // ::dotL<0> + +#line 39 + sge r2.x, r1.w, c243.y // ::zeroL<0> + mul r1.w, r1.w, r2.x // ::diffuse<0> + +#line 46 mul r2.yzw, r1.w, c6.xxyz - mov r3.xyz, c0 - mad oT0.xyz, r2.yzww, r3, c1 + mov r3.xyz, c0 // Parameters::DiffuseColor<0,1,2> + mad oT0.xyz, r2.yzww, r3, c1 // ::VSSkinnedOneLightOneBone<0,1,2> + +#line 57 mov r0.w, v0.w - dp4 r3.x, r0, c15 - dp4 r3.y, r0, c16 - dp4 r3.z, r0, c17 + dp4 r3.x, r0, c15 // ::pos_ws<0> + dp4 r3.y, r0, c16 // ::pos_ws<1> + dp4 r3.z, r0, c17 // ::pos_ws<2> add r2.yzw, -r3.xxyz, c12.xxyz - nrm r3.xyz, r2.yzww + nrm r3.xyz, r2.yzww // ::eyeVector<0,1,2> + +#line 33 add r2.yzw, r3.xxyz, -c3.xxyz - nrm r3.xyz, r2.yzww - dp3 r1.x, r3, r1 + nrm r3.xyz, r2.yzww // ::halfVectors<0,1,2> + +#line 37 + dp3 r1.x, r3, r1 // ::dotH<0> + +#line 42 max r1.x, r1.x, c243.y mul r1.x, r2.x, r1.x - pow r2.x, r1.x, c2.w + pow r2.x, r1.x, c2.w // ::specular<0> + +#line 47 mul r1.xyz, r2.x, c9 - mul oT1.xyz, r1, c2 - dp4 oPos.z, r0, c24 + mul oT1.xyz, r1, c2 // ::VSSkinnedOneLightOneBone<4,5,6> + +#line 63 + dp4 oPos.z, r0, c24 // ::VSSkinnedOneLightOneBone<12> + +#line 14 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" dp4 r1.x, r0, c14 max r1.x, r1.x, c243.y - min oT1.w, r1.x, c243.z - dp4 r1.x, r0, c22 - dp4 r1.y, r0, c23 - dp4 r0.x, r0, c25 - mad oPos.xy, r0.x, c242, r1 - mov oPos.w, r0.x - mov oT0.w, c0.w - mov oT2.xy, v2 + min oT1.w, r1.x, c243.z // ::VSSkinnedOneLightOneBone<7> + +#line 63 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp4 r1.x, r0, c22 // ::vout<0> + dp4 r1.y, r0, c23 // ::vout<1> + dp4 r0.x, r0, c25 // ::vout<3> + +#line 109 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\SkinnedEffect.fx" + mad oPos.xy, r0.x, c242, r1 // ::VSSkinnedOneLightOneBone<10,11> + mov oPos.w, r0.x // ::VSSkinnedOneLightOneBone<13> + +#line 46 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + mov oT0.w, c0.w // ::VSSkinnedOneLightOneBone<3> + +#line 113 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\SkinnedEffect.fx" + mov oT2.xy, v2 // ::VSSkinnedOneLightOneBone<8,9> // approximately 54 instruction slots used vs_4_0 @@ -161,17 +199,17 @@ ret const BYTE SkinnedEffect_VSSkinnedOneLightOneBone[] = { - 68, 88, 66, 67, 245, 19, - 153, 62, 142, 216, 232, 222, - 208, 186, 205, 184, 189, 51, - 85, 159, 1, 0, 0, 0, - 24, 11, 0, 0, 4, 0, + 68, 88, 66, 67, 120, 170, + 51, 155, 98, 149, 240, 251, + 11, 114, 75, 24, 138, 47, + 241, 16, 1, 0, 0, 0, + 0, 19, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 152, 3, 0, 0, 204, 9, - 0, 0, 140, 10, 0, 0, - 65, 111, 110, 57, 96, 3, - 0, 0, 96, 3, 0, 0, - 0, 2, 254, 255, 44, 3, + 128, 11, 0, 0, 180, 17, + 0, 0, 116, 18, 0, 0, + 65, 111, 110, 57, 72, 11, + 0, 0, 72, 11, 0, 0, + 0, 2, 254, 255, 20, 11, 0, 0, 52, 0, 0, 0, 1, 0, 36, 0, 0, 0, 48, 0, 0, 0, 48, 0, @@ -179,326 +217,648 @@ const BYTE SkinnedEffect_VSSkinnedOneLightOneBone[] = 48, 0, 0, 0, 0, 0, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, 0, - 0, 2, 254, 255, 81, 0, - 0, 5, 243, 0, 15, 160, - 0, 0, 64, 64, 0, 0, - 0, 0, 0, 0, 128, 63, - 0, 0, 0, 0, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 1, 128, - 1, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 2, 128, - 2, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 3, 128, - 3, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 4, 128, - 4, 0, 15, 144, 5, 0, + 0, 2, 254, 255, 254, 255, + 249, 1, 68, 66, 85, 71, + 40, 0, 0, 0, 184, 7, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 8, 1, + 0, 0, 52, 0, 0, 0, + 20, 1, 0, 0, 15, 0, + 0, 0, 140, 6, 0, 0, + 232, 2, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 83, 107, + 105, 110, 110, 101, 100, 69, + 102, 102, 101, 99, 116, 46, + 102, 120, 0, 67, 58, 92, + 65, 84, 71, 32, 83, 97, + 109, 112, 108, 101, 32, 68, + 101, 118, 101, 108, 111, 112, + 109, 101, 110, 116, 92, 115, + 116, 95, 100, 101, 118, 92, + 75, 105, 116, 115, 92, 68, + 105, 114, 101, 99, 116, 88, + 84, 75, 92, 83, 114, 99, + 92, 83, 104, 97, 100, 101, + 114, 115, 92, 76, 105, 103, + 104, 116, 105, 110, 103, 46, + 102, 120, 104, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 67, 111, + 109, 109, 111, 110, 46, 102, + 120, 104, 0, 171, 171, 171, + 40, 0, 0, 0, 117, 0, + 0, 0, 190, 0, 0, 0, + 0, 0, 255, 255, 236, 7, + 0, 0, 0, 0, 255, 255, + 4, 8, 0, 0, 0, 0, + 255, 255, 16, 8, 0, 0, + 0, 0, 255, 255, 28, 8, + 0, 0, 0, 0, 255, 255, + 40, 8, 0, 0, 0, 0, + 255, 255, 52, 8, 0, 0, + 52, 0, 0, 0, 64, 8, + 0, 0, 52, 0, 0, 0, + 80, 8, 0, 0, 52, 0, + 0, 0, 92, 8, 0, 0, + 56, 0, 0, 0, 112, 8, + 0, 0, 55, 0, 0, 0, + 128, 8, 0, 0, 52, 0, + 0, 0, 144, 8, 0, 0, + 52, 0, 0, 0, 164, 8, + 0, 0, 56, 0, 0, 0, + 184, 8, 0, 0, 55, 0, + 0, 0, 200, 8, 0, 0, + 56, 0, 0, 0, 216, 8, + 0, 0, 55, 0, 0, 0, + 232, 8, 0, 0, 59, 0, + 1, 0, 248, 8, 0, 0, + 59, 0, 1, 0, 8, 9, + 0, 0, 59, 0, 1, 0, + 24, 9, 0, 0, 59, 0, + 1, 0, 40, 9, 0, 0, + 36, 0, 1, 0, 52, 9, + 0, 0, 39, 0, 1, 0, + 68, 9, 0, 0, 41, 0, + 1, 0, 84, 9, 0, 0, + 46, 0, 1, 0, 100, 9, + 0, 0, 46, 0, 1, 0, + 116, 9, 0, 0, 46, 0, + 1, 0, 128, 9, 0, 0, + 57, 0, 1, 0, 148, 9, + 0, 0, 57, 0, 1, 0, + 160, 9, 0, 0, 57, 0, + 1, 0, 176, 9, 0, 0, + 57, 0, 1, 0, 192, 9, + 0, 0, 58, 0, 1, 0, + 208, 9, 0, 0, 58, 0, + 1, 0, 224, 9, 0, 0, + 33, 0, 1, 0, 236, 9, + 0, 0, 33, 0, 1, 0, + 252, 9, 0, 0, 37, 0, + 1, 0, 8, 10, 0, 0, + 42, 0, 1, 0, 24, 10, + 0, 0, 42, 0, 1, 0, + 40, 10, 0, 0, 42, 0, + 1, 0, 56, 10, 0, 0, + 47, 0, 1, 0, 72, 10, + 0, 0, 47, 0, 1, 0, + 88, 10, 0, 0, 63, 0, + 1, 0, 104, 10, 0, 0, + 14, 0, 2, 0, 120, 10, + 0, 0, 14, 0, 2, 0, + 136, 10, 0, 0, 14, 0, + 2, 0, 152, 10, 0, 0, + 63, 0, 1, 0, 168, 10, + 0, 0, 63, 0, 1, 0, + 184, 10, 0, 0, 63, 0, + 1, 0, 200, 10, 0, 0, + 109, 0, 0, 0, 216, 10, + 0, 0, 109, 0, 0, 0, + 236, 10, 0, 0, 46, 0, + 1, 0, 248, 10, 0, 0, + 113, 0, 0, 0, 4, 11, + 0, 0, 80, 97, 114, 97, + 109, 101, 116, 101, 114, 115, + 0, 68, 105, 102, 102, 117, + 115, 101, 67, 111, 108, 111, + 114, 0, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 25, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 86, 83, 83, 107, 105, 110, + 110, 101, 100, 79, 110, 101, + 76, 105, 103, 104, 116, 79, + 110, 101, 66, 111, 110, 101, + 0, 68, 105, 102, 102, 117, + 115, 101, 0, 171, 171, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 83, 112, + 101, 99, 117, 108, 97, 114, + 0, 84, 101, 120, 67, 111, + 111, 114, 100, 0, 171, 171, + 1, 0, 3, 0, 1, 0, + 2, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 80, 111, + 115, 105, 116, 105, 111, 110, + 80, 83, 0, 171, 1, 3, + 0, 0, 12, 3, 0, 0, + 28, 3, 0, 0, 12, 3, + 0, 0, 37, 3, 0, 0, + 48, 3, 0, 0, 64, 3, + 0, 0, 12, 3, 0, 0, + 5, 0, 0, 0, 1, 0, + 14, 0, 1, 0, 4, 0, + 76, 3, 0, 0, 26, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 40, 0, + 0, 0, 4, 0, 5, 0, + 6, 0, 255, 255, 41, 0, + 0, 0, 255, 255, 255, 255, + 12, 0, 255, 255, 44, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 7, 0, 48, 0, + 0, 0, 10, 0, 11, 0, + 255, 255, 255, 255, 49, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 13, 0, 50, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 3, 0, 51, 0, + 0, 0, 8, 0, 9, 0, + 255, 255, 255, 255, 100, 105, + 102, 102, 117, 115, 101, 0, + 1, 0, 3, 0, 1, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 23, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 0, 0, 100, 111, + 116, 72, 0, 171, 171, 171, + 35, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 100, 111, 116, 76, 0, 171, + 171, 171, 21, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 0, 0, 101, 121, 101, 86, + 101, 99, 116, 111, 114, 0, + 171, 171, 32, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 104, 97, 108, 102, + 86, 101, 99, 116, 111, 114, + 115, 0, 3, 0, 3, 0, + 3, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 34, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 112, 111, 115, 95, 119, 115, + 0, 171, 28, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 29, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 30, 0, 0, 0, + 255, 255, 255, 255, 2, 0, + 255, 255, 115, 107, 105, 110, + 110, 105, 110, 103, 0, 171, + 171, 171, 3, 0, 3, 0, + 4, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 0, 0, + 3, 0, 6, 0, 9, 0, + 11, 0, 0, 0, 1, 0, + 4, 0, 7, 0, 10, 0, + 12, 0, 0, 0, 2, 0, + 5, 0, 8, 0, 11, 0, + 115, 112, 101, 99, 117, 108, + 97, 114, 0, 171, 171, 171, + 38, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 83, 107, 105, 110, 0, 118, + 105, 110, 0, 80, 111, 115, + 105, 116, 105, 111, 110, 0, + 78, 111, 114, 109, 97, 108, + 0, 73, 110, 100, 105, 99, + 101, 115, 0, 171, 171, 171, + 1, 0, 2, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 87, 101, + 105, 103, 104, 116, 115, 0, + 245, 4, 0, 0, 12, 3, + 0, 0, 254, 4, 0, 0, + 228, 3, 0, 0, 37, 3, + 0, 0, 48, 3, 0, 0, + 5, 5, 0, 0, 16, 5, + 0, 0, 32, 5, 0, 0, + 12, 3, 0, 0, 5, 0, + 0, 0, 1, 0, 17, 0, + 1, 0, 5, 0, 40, 5, + 0, 0, 9, 0, 0, 0, + 4, 0, 255, 255, 255, 255, + 255, 255, 10, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 13, 0, 0, 0, + 255, 255, 5, 0, 255, 255, + 255, 255, 14, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 15, 0, 0, 0, + 255, 255, 255, 255, 6, 0, + 255, 255, 16, 0, 0, 0, + 255, 255, 255, 255, 2, 0, + 255, 255, 1, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 2, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 255, 255, 3, 0, 0, 0, + 7, 0, 8, 0, 255, 255, + 255, 255, 4, 0, 0, 0, + 9, 0, 10, 0, 11, 0, + 12, 0, 5, 0, 0, 0, + 13, 0, 14, 0, 15, 0, + 16, 0, 118, 111, 117, 116, + 0, 80, 111, 115, 95, 112, + 115, 0, 70, 111, 103, 70, + 97, 99, 116, 111, 114, 0, + 171, 171, 0, 0, 3, 0, + 1, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 233, 5, 0, 0, 12, 3, + 0, 0, 1, 3, 0, 0, + 12, 3, 0, 0, 28, 3, + 0, 0, 228, 3, 0, 0, + 240, 5, 0, 0, 252, 5, + 0, 0, 5, 0, 0, 0, + 1, 0, 12, 0, 1, 0, + 4, 0, 12, 6, 0, 0, + 45, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 46, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 47, 0, 0, 0, 3, 0, + 255, 255, 255, 255, 255, 255, + 119, 111, 114, 108, 100, 78, + 111, 114, 109, 97, 108, 0, + 20, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 122, 101, 114, 111, 76, 0, + 171, 171, 22, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 180, 2, 0, 0, + 191, 2, 0, 0, 204, 2, + 0, 0, 1, 0, 0, 0, + 220, 2, 0, 0, 0, 0, + 0, 0, 232, 2, 0, 0, + 108, 3, 0, 0, 8, 0, + 0, 0, 124, 3, 0, 0, + 0, 0, 0, 0, 220, 3, + 0, 0, 228, 3, 0, 0, + 1, 0, 0, 0, 244, 3, + 0, 0, 0, 0, 0, 0, + 0, 4, 0, 0, 228, 3, + 0, 0, 1, 0, 0, 0, + 8, 4, 0, 0, 0, 0, + 0, 0, 20, 4, 0, 0, + 228, 3, 0, 0, 1, 0, + 0, 0, 28, 4, 0, 0, + 0, 0, 0, 0, 40, 4, + 0, 0, 228, 3, 0, 0, + 1, 0, 0, 0, 52, 4, + 0, 0, 0, 0, 0, 0, + 64, 4, 0, 0, 76, 4, + 0, 0, 1, 0, 0, 0, + 92, 4, 0, 0, 0, 0, + 0, 0, 104, 4, 0, 0, + 12, 3, 0, 0, 3, 0, + 0, 0, 112, 4, 0, 0, + 0, 0, 0, 0, 148, 4, + 0, 0, 160, 4, 0, 0, + 3, 0, 0, 0, 176, 4, + 0, 0, 0, 0, 0, 0, + 212, 4, 0, 0, 228, 3, + 0, 0, 1, 0, 0, 0, + 224, 4, 0, 0, 236, 4, + 0, 0, 241, 4, 0, 0, + 80, 5, 0, 0, 6, 0, + 0, 0, 96, 5, 0, 0, + 232, 2, 0, 0, 241, 4, + 0, 0, 80, 5, 0, 0, + 5, 0, 0, 0, 168, 5, + 0, 0, 0, 0, 0, 0, + 228, 5, 0, 0, 44, 6, + 0, 0, 3, 0, 0, 0, + 60, 6, 0, 0, 0, 0, + 0, 0, 96, 6, 0, 0, + 228, 3, 0, 0, 1, 0, + 0, 0, 108, 6, 0, 0, + 0, 0, 0, 0, 120, 6, + 0, 0, 228, 3, 0, 0, + 1, 0, 0, 0, 128, 6, + 0, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 81, 0, 0, 5, 243, 0, + 15, 160, 0, 0, 64, 64, + 0, 0, 0, 0, 0, 0, + 128, 63, 0, 0, 0, 0, + 31, 0, 0, 2, 5, 0, + 0, 128, 0, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 1, 128, 1, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 2, 128, 2, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 3, 128, 3, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 4, 128, 4, 0, 15, 144, + 5, 0, 0, 3, 0, 0, + 1, 128, 3, 0, 0, 144, + 243, 0, 0, 160, 46, 0, + 0, 2, 0, 0, 1, 176, + 0, 0, 0, 128, 5, 0, + 0, 4, 0, 0, 15, 128, + 4, 0, 0, 144, 26, 32, + 228, 160, 0, 0, 0, 176, + 8, 0, 0, 3, 1, 0, + 1, 128, 1, 0, 228, 144, + 0, 0, 228, 128, 9, 0, 0, 3, 0, 0, 1, 128, - 3, 0, 0, 144, 243, 0, - 0, 160, 46, 0, 0, 2, - 0, 0, 1, 176, 0, 0, - 0, 128, 5, 0, 0, 4, - 0, 0, 15, 128, 4, 0, - 0, 144, 26, 32, 228, 160, - 0, 0, 0, 176, 8, 0, - 0, 3, 1, 0, 1, 128, - 1, 0, 228, 144, 0, 0, - 228, 128, 9, 0, 0, 3, - 0, 0, 1, 128, 0, 0, - 228, 144, 0, 0, 228, 128, - 5, 0, 0, 4, 2, 0, - 15, 128, 4, 0, 0, 144, - 27, 32, 228, 160, 0, 0, - 0, 176, 5, 0, 0, 4, - 3, 0, 15, 128, 4, 0, - 0, 144, 28, 32, 228, 160, - 0, 0, 0, 176, 8, 0, - 0, 3, 1, 0, 2, 128, - 1, 0, 228, 144, 2, 0, - 228, 128, 9, 0, 0, 3, - 0, 0, 2, 128, 0, 0, - 228, 144, 2, 0, 228, 128, + 0, 0, 228, 144, 0, 0, + 228, 128, 5, 0, 0, 4, + 2, 0, 15, 128, 4, 0, + 0, 144, 27, 32, 228, 160, + 0, 0, 0, 176, 5, 0, + 0, 4, 3, 0, 15, 128, + 4, 0, 0, 144, 28, 32, + 228, 160, 0, 0, 0, 176, 8, 0, 0, 3, 1, 0, - 4, 128, 1, 0, 228, 144, - 3, 0, 228, 128, 9, 0, - 0, 3, 0, 0, 4, 128, - 0, 0, 228, 144, 3, 0, + 2, 128, 1, 0, 228, 144, + 2, 0, 228, 128, 9, 0, + 0, 3, 0, 0, 2, 128, + 0, 0, 228, 144, 2, 0, 228, 128, 8, 0, 0, 3, - 2, 0, 1, 128, 1, 0, - 228, 128, 19, 0, 228, 160, + 1, 0, 4, 128, 1, 0, + 228, 144, 3, 0, 228, 128, + 9, 0, 0, 3, 0, 0, + 4, 128, 0, 0, 228, 144, + 3, 0, 228, 128, 8, 0, + 0, 3, 2, 0, 1, 128, + 1, 0, 228, 128, 19, 0, + 228, 160, 8, 0, 0, 3, + 2, 0, 2, 128, 1, 0, + 228, 128, 20, 0, 228, 160, 8, 0, 0, 3, 2, 0, - 2, 128, 1, 0, 228, 128, - 20, 0, 228, 160, 8, 0, - 0, 3, 2, 0, 4, 128, - 1, 0, 228, 128, 21, 0, - 228, 160, 36, 0, 0, 2, - 1, 0, 7, 128, 2, 0, - 228, 128, 8, 0, 0, 3, - 1, 0, 8, 128, 3, 0, - 228, 161, 1, 0, 228, 128, - 13, 0, 0, 3, 2, 0, - 1, 128, 1, 0, 255, 128, - 243, 0, 85, 160, 5, 0, + 4, 128, 1, 0, 228, 128, + 21, 0, 228, 160, 36, 0, + 0, 2, 1, 0, 7, 128, + 2, 0, 228, 128, 8, 0, 0, 3, 1, 0, 8, 128, - 1, 0, 255, 128, 2, 0, - 0, 128, 5, 0, 0, 3, - 2, 0, 14, 128, 1, 0, - 255, 128, 6, 0, 144, 160, - 1, 0, 0, 2, 3, 0, - 7, 128, 0, 0, 228, 160, - 4, 0, 0, 4, 0, 0, - 7, 224, 2, 0, 249, 128, - 3, 0, 228, 128, 1, 0, - 228, 160, 1, 0, 0, 2, - 0, 0, 8, 128, 0, 0, - 255, 144, 9, 0, 0, 3, - 3, 0, 1, 128, 0, 0, - 228, 128, 15, 0, 228, 160, + 3, 0, 228, 161, 1, 0, + 228, 128, 13, 0, 0, 3, + 2, 0, 1, 128, 1, 0, + 255, 128, 243, 0, 85, 160, + 5, 0, 0, 3, 1, 0, + 8, 128, 1, 0, 255, 128, + 2, 0, 0, 128, 5, 0, + 0, 3, 2, 0, 14, 128, + 1, 0, 255, 128, 6, 0, + 144, 160, 1, 0, 0, 2, + 3, 0, 7, 128, 0, 0, + 228, 160, 4, 0, 0, 4, + 0, 0, 7, 224, 2, 0, + 249, 128, 3, 0, 228, 128, + 1, 0, 228, 160, 1, 0, + 0, 2, 0, 0, 8, 128, + 0, 0, 255, 144, 9, 0, + 0, 3, 3, 0, 1, 128, + 0, 0, 228, 128, 15, 0, + 228, 160, 9, 0, 0, 3, + 3, 0, 2, 128, 0, 0, + 228, 128, 16, 0, 228, 160, 9, 0, 0, 3, 3, 0, - 2, 128, 0, 0, 228, 128, - 16, 0, 228, 160, 9, 0, - 0, 3, 3, 0, 4, 128, - 0, 0, 228, 128, 17, 0, - 228, 160, 2, 0, 0, 3, + 4, 128, 0, 0, 228, 128, + 17, 0, 228, 160, 2, 0, + 0, 3, 2, 0, 14, 128, + 3, 0, 144, 129, 12, 0, + 144, 160, 36, 0, 0, 2, + 3, 0, 7, 128, 2, 0, + 249, 128, 2, 0, 0, 3, 2, 0, 14, 128, 3, 0, - 144, 129, 12, 0, 144, 160, + 144, 128, 3, 0, 144, 161, 36, 0, 0, 2, 3, 0, 7, 128, 2, 0, 249, 128, - 2, 0, 0, 3, 2, 0, - 14, 128, 3, 0, 144, 128, - 3, 0, 144, 161, 36, 0, - 0, 2, 3, 0, 7, 128, - 2, 0, 249, 128, 8, 0, + 8, 0, 0, 3, 1, 0, + 1, 128, 3, 0, 228, 128, + 1, 0, 228, 128, 11, 0, 0, 3, 1, 0, 1, 128, - 3, 0, 228, 128, 1, 0, - 228, 128, 11, 0, 0, 3, + 1, 0, 0, 128, 243, 0, + 85, 160, 5, 0, 0, 3, + 1, 0, 1, 128, 2, 0, + 0, 128, 1, 0, 0, 128, + 32, 0, 0, 3, 2, 0, + 1, 128, 1, 0, 0, 128, + 2, 0, 255, 160, 5, 0, + 0, 3, 1, 0, 7, 128, + 2, 0, 0, 128, 9, 0, + 228, 160, 5, 0, 0, 3, + 1, 0, 7, 224, 1, 0, + 228, 128, 2, 0, 228, 160, + 9, 0, 0, 3, 0, 0, + 4, 192, 0, 0, 228, 128, + 24, 0, 228, 160, 9, 0, + 0, 3, 1, 0, 1, 128, + 0, 0, 228, 128, 14, 0, + 228, 160, 11, 0, 0, 3, 1, 0, 1, 128, 1, 0, 0, 128, 243, 0, 85, 160, - 5, 0, 0, 3, 1, 0, - 1, 128, 2, 0, 0, 128, - 1, 0, 0, 128, 32, 0, - 0, 3, 2, 0, 1, 128, - 1, 0, 0, 128, 2, 0, - 255, 160, 5, 0, 0, 3, - 1, 0, 7, 128, 2, 0, - 0, 128, 9, 0, 228, 160, - 5, 0, 0, 3, 1, 0, - 7, 224, 1, 0, 228, 128, - 2, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 4, 192, - 0, 0, 228, 128, 24, 0, + 10, 0, 0, 3, 1, 0, + 8, 224, 1, 0, 0, 128, + 243, 0, 170, 160, 9, 0, + 0, 3, 1, 0, 1, 128, + 0, 0, 228, 128, 22, 0, 228, 160, 9, 0, 0, 3, - 1, 0, 1, 128, 0, 0, - 228, 128, 14, 0, 228, 160, - 11, 0, 0, 3, 1, 0, - 1, 128, 1, 0, 0, 128, - 243, 0, 85, 160, 10, 0, - 0, 3, 1, 0, 8, 224, - 1, 0, 0, 128, 243, 0, - 170, 160, 9, 0, 0, 3, - 1, 0, 1, 128, 0, 0, - 228, 128, 22, 0, 228, 160, - 9, 0, 0, 3, 1, 0, - 2, 128, 0, 0, 228, 128, - 23, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 1, 128, - 0, 0, 228, 128, 25, 0, - 228, 160, 4, 0, 0, 4, - 0, 0, 3, 192, 0, 0, - 0, 128, 242, 0, 228, 160, - 1, 0, 228, 128, 1, 0, - 0, 2, 0, 0, 8, 192, - 0, 0, 0, 128, 1, 0, - 0, 2, 0, 0, 8, 224, - 0, 0, 255, 160, 1, 0, - 0, 2, 2, 0, 3, 224, - 2, 0, 228, 144, 255, 255, - 0, 0, 83, 72, 68, 82, - 44, 6, 0, 0, 64, 0, - 1, 0, 139, 1, 0, 0, - 89, 8, 0, 4, 70, 142, - 32, 0, 0, 0, 0, 0, - 242, 0, 0, 0, 95, 0, - 0, 3, 242, 16, 16, 0, - 0, 0, 0, 0, 95, 0, - 0, 3, 114, 16, 16, 0, - 1, 0, 0, 0, 95, 0, - 0, 3, 50, 16, 16, 0, - 2, 0, 0, 0, 95, 0, - 0, 3, 18, 16, 16, 0, - 3, 0, 0, 0, 95, 0, - 0, 3, 18, 16, 16, 0, - 4, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 0, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 50, 32, 16, 0, - 2, 0, 0, 0, 103, 0, - 0, 4, 242, 32, 16, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 104, 0, 0, 2, - 4, 0, 0, 0, 38, 0, - 0, 8, 0, 208, 0, 0, - 18, 0, 16, 0, 0, 0, - 0, 0, 10, 16, 16, 0, - 3, 0, 0, 0, 1, 64, - 0, 0, 3, 0, 0, 0, - 56, 0, 0, 10, 242, 0, + 1, 0, 2, 128, 0, 0, + 228, 128, 23, 0, 228, 160, + 9, 0, 0, 3, 0, 0, + 1, 128, 0, 0, 228, 128, + 25, 0, 228, 160, 4, 0, + 0, 4, 0, 0, 3, 192, + 0, 0, 0, 128, 242, 0, + 228, 160, 1, 0, 228, 128, + 1, 0, 0, 2, 0, 0, + 8, 192, 0, 0, 0, 128, + 1, 0, 0, 2, 0, 0, + 8, 224, 0, 0, 255, 160, + 1, 0, 0, 2, 2, 0, + 3, 224, 2, 0, 228, 144, + 255, 255, 0, 0, 83, 72, + 68, 82, 44, 6, 0, 0, + 64, 0, 1, 0, 139, 1, + 0, 0, 89, 8, 0, 4, + 70, 142, 32, 0, 0, 0, + 0, 0, 242, 0, 0, 0, + 95, 0, 0, 3, 242, 16, + 16, 0, 0, 0, 0, 0, + 95, 0, 0, 3, 114, 16, 16, 0, 1, 0, 0, 0, + 95, 0, 0, 3, 50, 16, + 16, 0, 2, 0, 0, 0, + 95, 0, 0, 3, 18, 16, + 16, 0, 3, 0, 0, 0, + 95, 0, 0, 3, 18, 16, + 16, 0, 4, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 0, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 1, 0, 0, 0, + 101, 0, 0, 3, 50, 32, + 16, 0, 2, 0, 0, 0, + 103, 0, 0, 4, 242, 32, + 16, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 104, 0, + 0, 2, 4, 0, 0, 0, + 38, 0, 0, 8, 0, 208, + 0, 0, 18, 0, 16, 0, + 0, 0, 0, 0, 10, 16, + 16, 0, 3, 0, 0, 0, + 1, 64, 0, 0, 3, 0, + 0, 0, 56, 0, 0, 10, + 242, 0, 16, 0, 1, 0, + 0, 0, 6, 16, 16, 0, + 4, 0, 0, 0, 70, 142, + 32, 6, 0, 0, 0, 0, + 26, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 16, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 70, 18, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 17, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 56, 0, 0, 10, + 242, 0, 16, 0, 3, 0, + 0, 0, 6, 16, 16, 0, + 4, 0, 0, 0, 70, 142, + 32, 6, 0, 0, 0, 0, + 27, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 56, 0, 0, 10, 242, 0, + 16, 0, 0, 0, 0, 0, 6, 16, 16, 0, 4, 0, 0, 0, 70, 142, 32, 6, - 0, 0, 0, 0, 26, 0, + 0, 0, 0, 0, 28, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, 16, 0, - 0, 7, 18, 0, 16, 0, + 0, 7, 34, 0, 16, 0, 2, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 1, 0, + 70, 2, 16, 0, 3, 0, 0, 0, 17, 0, 0, 7, - 18, 0, 16, 0, 1, 0, + 34, 0, 16, 0, 1, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 14, - 16, 0, 1, 0, 0, 0, - 56, 0, 0, 10, 242, 0, - 16, 0, 3, 0, 0, 0, - 6, 16, 16, 0, 4, 0, - 0, 0, 70, 142, 32, 6, - 0, 0, 0, 0, 27, 0, - 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 10, 242, 0, 16, 0, - 0, 0, 0, 0, 6, 16, - 16, 0, 4, 0, 0, 0, - 70, 142, 32, 6, 0, 0, - 0, 0, 28, 0, 0, 0, - 10, 0, 16, 0, 0, 0, - 0, 0, 16, 0, 0, 7, - 34, 0, 16, 0, 2, 0, - 0, 0, 70, 18, 16, 0, - 1, 0, 0, 0, 70, 2, 16, 0, 3, 0, 0, 0, - 17, 0, 0, 7, 34, 0, - 16, 0, 1, 0, 0, 0, - 70, 30, 16, 0, 0, 0, - 0, 0, 70, 14, 16, 0, - 3, 0, 0, 0, 16, 0, + 16, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 70, 18, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 17, 0, 0, 7, 66, 0, 16, 0, - 2, 0, 0, 0, 70, 18, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 17, 0, 0, 7, - 66, 0, 16, 0, 1, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 70, 14, - 16, 0, 0, 0, 0, 0, - 16, 0, 0, 8, 18, 0, + 1, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 2, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 19, 0, + 70, 14, 16, 0, 0, 0, 0, 0, 16, 0, 0, 8, - 34, 0, 16, 0, 0, 0, + 18, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, - 20, 0, 0, 0, 16, 0, - 0, 8, 66, 0, 16, 0, + 19, 0, 0, 0, 16, 0, + 0, 8, 34, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 70, 130, 32, 0, 0, 0, - 0, 0, 21, 0, 0, 0, - 16, 0, 0, 7, 130, 0, + 0, 0, 20, 0, 0, 0, + 16, 0, 0, 8, 66, 0, 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 68, 0, - 0, 5, 130, 0, 16, 0, - 0, 0, 0, 0, 58, 0, - 16, 0, 0, 0, 0, 0, - 56, 0, 0, 7, 114, 0, - 16, 0, 0, 0, 0, 0, - 246, 15, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 16, 0, - 0, 9, 130, 0, 16, 0, - 0, 0, 0, 0, 70, 130, - 32, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 21, 0, + 0, 0, 16, 0, 0, 7, + 130, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 29, 0, - 0, 7, 18, 0, 16, 0, - 2, 0, 0, 0, 58, 0, + 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 7, - 18, 0, 16, 0, 2, 0, - 0, 0, 10, 0, 16, 0, - 2, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 128, 63, - 56, 0, 0, 7, 130, 0, + 68, 0, 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, - 0, 0, 10, 0, 16, 0, - 2, 0, 0, 0, 56, 0, - 0, 8, 226, 0, 16, 0, - 2, 0, 0, 0, 246, 15, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 0, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, - 6, 137, 32, 0, 0, 0, - 0, 0, 6, 0, 0, 0, - 50, 0, 0, 11, 114, 32, + 16, 0, 0, 9, 130, 0, 16, 0, 0, 0, 0, 0, - 150, 7, 16, 0, 2, 0, - 0, 0, 70, 130, 32, 0, + 70, 130, 32, 128, 65, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 70, 130, 32, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 29, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 54, 0, 0, 6, - 130, 32, 16, 0, 0, 0, - 0, 0, 58, 128, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 54, 0, 0, 5, - 130, 0, 16, 0, 1, 0, - 0, 0, 58, 16, 16, 0, - 0, 0, 0, 0, 17, 0, - 0, 8, 18, 0, 16, 0, - 3, 0, 0, 0, 70, 14, - 16, 0, 1, 0, 0, 0, - 70, 142, 32, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 17, 0, 0, 8, 34, 0, + 0, 7, 18, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 128, 63, 56, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 56, 0, 0, 8, 226, 0, + 16, 0, 2, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 6, 137, 32, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 50, 0, 0, 11, + 114, 32, 16, 0, 0, 0, + 0, 0, 150, 7, 16, 0, + 2, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 54, 0, + 0, 6, 130, 32, 16, 0, + 0, 0, 0, 0, 58, 128, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 130, 0, 16, 0, + 1, 0, 0, 0, 58, 16, + 16, 0, 0, 0, 0, 0, + 17, 0, 0, 8, 18, 0, 16, 0, 3, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 15, 0, 0, 0, 17, 0, 0, 8, - 66, 0, 16, 0, 3, 0, + 34, 0, 16, 0, 3, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 17, 0, 0, 0, 0, 0, - 0, 9, 226, 0, 16, 0, - 2, 0, 0, 0, 6, 9, - 16, 128, 65, 0, 0, 0, - 3, 0, 0, 0, 6, 137, - 32, 0, 0, 0, 0, 0, - 12, 0, 0, 0, 16, 0, - 0, 7, 130, 0, 16, 0, - 0, 0, 0, 0, 150, 7, - 16, 0, 2, 0, 0, 0, - 150, 7, 16, 0, 2, 0, - 0, 0, 68, 0, 0, 5, - 130, 0, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 50, 0, - 0, 11, 226, 0, 16, 0, - 2, 0, 0, 0, 86, 14, + 16, 0, 0, 0, 17, 0, + 0, 8, 66, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 17, 0, 0, 0, + 0, 0, 0, 9, 226, 0, 16, 0, 2, 0, 0, 0, - 246, 15, 16, 0, 0, 0, - 0, 0, 6, 137, 32, 128, - 65, 0, 0, 0, 0, 0, + 6, 9, 16, 128, 65, 0, 0, 0, 3, 0, 0, 0, + 6, 137, 32, 0, 0, 0, + 0, 0, 12, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, 150, 7, 16, 0, 2, 0, @@ -507,132 +867,147 @@ const BYTE SkinnedEffect_VSSkinnedOneLightOneBone[] = 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, - 56, 0, 0, 7, 226, 0, + 50, 0, 0, 11, 226, 0, 16, 0, 2, 0, 0, 0, - 246, 15, 16, 0, 0, 0, - 0, 0, 86, 14, 16, 0, - 2, 0, 0, 0, 16, 0, - 0, 7, 18, 0, 16, 0, - 0, 0, 0, 0, 150, 7, + 86, 14, 16, 0, 2, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 6, 137, + 32, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 16, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 150, 7, 16, 0, + 2, 0, 0, 0, 150, 7, 16, 0, 2, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 52, 0, 0, 7, - 18, 0, 16, 0, 0, 0, - 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 0, 0, - 56, 0, 0, 7, 18, 0, + 68, 0, 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, - 10, 0, 16, 0, 2, 0, - 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 47, 0, - 0, 5, 18, 0, 16, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 226, 0, 16, 0, 2, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 86, 14, + 16, 0, 2, 0, 0, 0, + 16, 0, 0, 7, 18, 0, + 16, 0, 0, 0, 0, 0, + 150, 7, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 52, 0, + 0, 7, 18, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, - 56, 0, 0, 8, 18, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 18, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 47, 0, 0, 5, 18, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 0, 0, - 0, 0, 58, 128, 32, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 25, 0, 0, 5, + 0, 0, 56, 0, 0, 8, 18, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 8, 114, 0, 16, 0, - 0, 0, 0, 0, 6, 0, + 0, 0, 0, 0, 58, 128, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 25, 0, + 0, 5, 18, 0, 16, 0, + 0, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, - 70, 130, 32, 0, 0, 0, - 0, 0, 9, 0, 0, 0, - 56, 0, 0, 8, 114, 32, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 0, 0, + 56, 0, 0, 8, 114, 0, + 16, 0, 0, 0, 0, 0, + 6, 0, 16, 0, 0, 0, 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 17, 32, 0, 8, - 130, 32, 16, 0, 1, 0, - 0, 0, 70, 14, 16, 0, - 1, 0, 0, 0, 70, 142, + 0, 0, 0, 0, 9, 0, + 0, 0, 56, 0, 0, 8, + 114, 32, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, - 14, 0, 0, 0, 54, 0, - 0, 5, 50, 32, 16, 0, - 2, 0, 0, 0, 70, 16, + 2, 0, 0, 0, 17, 32, + 0, 8, 130, 32, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 14, 0, 0, 0, + 54, 0, 0, 5, 50, 32, 16, 0, 2, 0, 0, 0, - 17, 0, 0, 8, 18, 32, - 16, 0, 3, 0, 0, 0, - 70, 14, 16, 0, 1, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 22, 0, + 70, 16, 16, 0, 2, 0, 0, 0, 17, 0, 0, 8, - 34, 32, 16, 0, 3, 0, + 18, 32, 16, 0, 3, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 23, 0, 0, 0, 17, 0, - 0, 8, 66, 32, 16, 0, + 22, 0, 0, 0, 17, 0, + 0, 8, 34, 32, 16, 0, 3, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, 70, 142, 32, 0, 0, 0, - 0, 0, 24, 0, 0, 0, - 17, 0, 0, 8, 130, 32, + 0, 0, 23, 0, 0, 0, + 17, 0, 0, 8, 66, 32, 16, 0, 3, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 25, 0, - 0, 0, 62, 0, 0, 1, - 73, 83, 71, 78, 184, 0, - 0, 0, 5, 0, 0, 0, - 8, 0, 0, 0, 128, 0, + 0, 0, 0, 0, 24, 0, + 0, 0, 17, 0, 0, 8, + 130, 32, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 25, 0, 0, 0, 62, 0, + 0, 1, 73, 83, 71, 78, + 184, 0, 0, 0, 5, 0, + 0, 0, 8, 0, 0, 0, + 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 15, 0, 0, + 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 15, 15, 0, 0, 140, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 7, 7, 0, 0, + 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 7, 7, 0, 0, 147, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 3, 3, 0, 0, + 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 2, 0, 0, 0, - 3, 3, 0, 0, 156, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 15, 1, 0, 0, + 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 3, 0, 0, 0, - 15, 1, 0, 0, 169, 0, + 3, 0, 0, 0, 4, 0, + 0, 0, 15, 1, 0, 0, + 83, 86, 95, 80, 111, 115, + 105, 116, 105, 111, 110, 0, + 78, 79, 82, 77, 65, 76, + 0, 84, 69, 88, 67, 79, + 79, 82, 68, 0, 66, 76, + 69, 78, 68, 73, 78, 68, + 73, 67, 69, 83, 0, 66, + 76, 69, 78, 68, 87, 69, + 73, 71, 72, 84, 0, 171, + 171, 171, 79, 83, 71, 78, + 132, 0, 0, 0, 4, 0, + 0, 0, 8, 0, 0, 0, + 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 4, 0, 0, 0, - 15, 1, 0, 0, 83, 86, - 95, 80, 111, 115, 105, 116, - 105, 111, 110, 0, 78, 79, - 82, 77, 65, 76, 0, 84, - 69, 88, 67, 79, 79, 82, - 68, 0, 66, 76, 69, 78, - 68, 73, 78, 68, 73, 67, - 69, 83, 0, 66, 76, 69, - 78, 68, 87, 69, 73, 71, - 72, 84, 0, 171, 171, 171, - 79, 83, 71, 78, 132, 0, - 0, 0, 4, 0, 0, 0, - 8, 0, 0, 0, 104, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 104, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 15, 0, 0, 0, + 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 104, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 3, 12, 0, 0, + 119, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 15, 0, 0, 0, 110, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 2, 0, 0, 0, - 3, 12, 0, 0, 119, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 3, 0, - 0, 0, 3, 0, 0, 0, - 15, 0, 0, 0, 67, 79, - 76, 79, 82, 0, 84, 69, - 88, 67, 79, 79, 82, 68, - 0, 83, 86, 95, 80, 111, - 115, 105, 116, 105, 111, 110, - 0, 171 + 3, 0, 0, 0, 3, 0, + 0, 0, 15, 0, 0, 0, + 67, 79, 76, 79, 82, 0, + 84, 69, 88, 67, 79, 79, + 82, 68, 0, 83, 86, 95, + 80, 111, 115, 105, 116, 105, + 111, 110, 0, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedOneLightTwoBones.inc b/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedOneLightTwoBones.inc index 9652cf93..7486b02a 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedOneLightTwoBones.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedOneLightTwoBones.inc @@ -42,60 +42,98 @@ // vs_2_0 def c243, 3, 0, 1, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 - dcl_texcoord3 v3 - dcl_texcoord4 v4 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5,6> + dcl_texcoord2 v2 // vin<7,8> + dcl_texcoord3 v3 // vin<9,10,11,12> + dcl_texcoord4 v4 // vin<13,14,15,16> + +#line 52 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\SkinnedEffect.fx" mul r0.xy, v3, c243.x mova a0.xy, r0.yxzw mul r0, v4.y, c26[a0.x] - mad r0, c26[a0.y], v4.x, r0 - dp3 r1.x, v1, r0 - dp4 r0.x, v0, r0 + mad r0, c26[a0.y], v4.x, r0 // ::skinning<0,3,6,9> + +#line 56 + dp3 r1.x, v1, r0 // Skin::vin<4> + dp4 r0.x, v0, r0 // Skin::vin<0> + +#line 52 mul r2, v4.y, c27[a0.x] mul r3, v4.y, c28[a0.x] - mad r3, c28[a0.y], v4.x, r3 - mad r2, c27[a0.y], v4.x, r2 - dp3 r1.y, v1, r2 - dp4 r0.y, v0, r2 - dp3 r1.z, v1, r3 - dp4 r0.z, v0, r3 + mad r3, c28[a0.y], v4.x, r3 // ::skinning<2,5,8,11> + mad r2, c27[a0.y], v4.x, r2 // ::skinning<1,4,7,10> + +#line 56 + dp3 r1.y, v1, r2 // Skin::vin<5> + dp4 r0.y, v0, r2 // Skin::vin<1> + dp3 r1.z, v1, r3 // Skin::vin<6> + dp4 r0.z, v0, r3 // Skin::vin<2> + +#line 59 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" dp3 r2.x, r1, c19 dp3 r2.y, r1, c20 dp3 r2.z, r1, c21 - nrm r1.xyz, r2 - dp3 r1.w, -c3, r1 - sge r2.x, r1.w, c243.y - mul r1.w, r1.w, r2.x + nrm r1.xyz, r2 // ::worldNormal<0,1,2> + +#line 36 + dp3 r1.w, -c3, r1 // ::dotL<0> + +#line 39 + sge r2.x, r1.w, c243.y // ::zeroL<0> + mul r1.w, r1.w, r2.x // ::diffuse<0> + +#line 46 mul r2.yzw, r1.w, c6.xxyz - mov r3.xyz, c0 - mad oT0.xyz, r2.yzww, r3, c1 + mov r3.xyz, c0 // Parameters::DiffuseColor<0,1,2> + mad oT0.xyz, r2.yzww, r3, c1 // ::VSSkinnedOneLightTwoBones<0,1,2> + +#line 57 mov r0.w, v0.w - dp4 r3.x, r0, c15 - dp4 r3.y, r0, c16 - dp4 r3.z, r0, c17 + dp4 r3.x, r0, c15 // ::pos_ws<0> + dp4 r3.y, r0, c16 // ::pos_ws<1> + dp4 r3.z, r0, c17 // ::pos_ws<2> add r2.yzw, -r3.xxyz, c12.xxyz - nrm r3.xyz, r2.yzww + nrm r3.xyz, r2.yzww // ::eyeVector<0,1,2> + +#line 33 add r2.yzw, r3.xxyz, -c3.xxyz - nrm r3.xyz, r2.yzww - dp3 r1.x, r3, r1 + nrm r3.xyz, r2.yzww // ::halfVectors<0,1,2> + +#line 37 + dp3 r1.x, r3, r1 // ::dotH<0> + +#line 42 max r1.x, r1.x, c243.y mul r1.x, r2.x, r1.x - pow r2.x, r1.x, c2.w + pow r2.x, r1.x, c2.w // ::specular<0> + +#line 47 mul r1.xyz, r2.x, c9 - mul oT1.xyz, r1, c2 - dp4 oPos.z, r0, c24 + mul oT1.xyz, r1, c2 // ::VSSkinnedOneLightTwoBones<4,5,6> + +#line 63 + dp4 oPos.z, r0, c24 // ::VSSkinnedOneLightTwoBones<12> + +#line 14 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" dp4 r1.x, r0, c14 max r1.x, r1.x, c243.y - min oT1.w, r1.x, c243.z - dp4 r1.x, r0, c22 - dp4 r1.y, r0, c23 - dp4 r0.x, r0, c25 - mad oPos.xy, r0.x, c242, r1 - mov oPos.w, r0.x - mov oT0.w, c0.w - mov oT2.xy, v2 + min oT1.w, r1.x, c243.z // ::VSSkinnedOneLightTwoBones<7> + +#line 63 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp4 r1.x, r0, c22 // ::vout<0> + dp4 r1.y, r0, c23 // ::vout<1> + dp4 r0.x, r0, c25 // ::vout<3> + +#line 125 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\SkinnedEffect.fx" + mad oPos.xy, r0.x, c242, r1 // ::VSSkinnedOneLightTwoBones<10,11> + mov oPos.w, r0.x // ::VSSkinnedOneLightTwoBones<13> + +#line 46 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + mov oT0.w, c0.w // ::VSSkinnedOneLightTwoBones<3> + +#line 129 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\SkinnedEffect.fx" + mov oT2.xy, v2 // ::VSSkinnedOneLightTwoBones<8,9> // approximately 57 instruction slots used vs_4_0 @@ -167,17 +205,17 @@ ret const BYTE SkinnedEffect_VSSkinnedOneLightTwoBones[] = { - 68, 88, 66, 67, 116, 238, - 17, 228, 239, 21, 135, 196, - 157, 218, 29, 152, 151, 204, - 151, 178, 1, 0, 0, 0, - 252, 11, 0, 0, 4, 0, + 68, 88, 66, 67, 128, 106, + 85, 102, 37, 42, 216, 89, + 27, 53, 239, 87, 8, 117, + 194, 235, 1, 0, 0, 0, + 252, 19, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 224, 3, 0, 0, 176, 10, - 0, 0, 112, 11, 0, 0, - 65, 111, 110, 57, 168, 3, - 0, 0, 168, 3, 0, 0, - 0, 2, 254, 255, 116, 3, + 224, 11, 0, 0, 176, 18, + 0, 0, 112, 19, 0, 0, + 65, 111, 110, 57, 168, 11, + 0, 0, 168, 11, 0, 0, + 0, 2, 254, 255, 116, 11, 0, 0, 52, 0, 0, 0, 1, 0, 36, 0, 0, 0, 48, 0, 0, 0, 48, 0, @@ -185,364 +223,690 @@ const BYTE SkinnedEffect_VSSkinnedOneLightTwoBones[] = 48, 0, 0, 0, 0, 0, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, 0, - 0, 2, 254, 255, 81, 0, - 0, 5, 243, 0, 15, 160, - 0, 0, 64, 64, 0, 0, - 0, 0, 0, 0, 128, 63, - 0, 0, 0, 0, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 1, 128, - 1, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 2, 128, - 2, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 3, 128, - 3, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 4, 128, - 4, 0, 15, 144, 5, 0, - 0, 3, 0, 0, 3, 128, - 3, 0, 228, 144, 243, 0, - 0, 160, 46, 0, 0, 2, - 0, 0, 3, 176, 0, 0, - 225, 128, 5, 0, 0, 4, - 0, 0, 15, 128, 4, 0, - 85, 144, 26, 32, 228, 160, - 0, 0, 0, 176, 4, 0, - 0, 5, 0, 0, 15, 128, - 26, 32, 228, 160, 0, 0, - 85, 176, 4, 0, 0, 144, - 0, 0, 228, 128, 8, 0, - 0, 3, 1, 0, 1, 128, - 1, 0, 228, 144, 0, 0, - 228, 128, 9, 0, 0, 3, - 0, 0, 1, 128, 0, 0, - 228, 144, 0, 0, 228, 128, - 5, 0, 0, 4, 2, 0, - 15, 128, 4, 0, 85, 144, - 27, 32, 228, 160, 0, 0, - 0, 176, 5, 0, 0, 4, - 3, 0, 15, 128, 4, 0, - 85, 144, 28, 32, 228, 160, - 0, 0, 0, 176, 4, 0, - 0, 5, 3, 0, 15, 128, - 28, 32, 228, 160, 0, 0, - 85, 176, 4, 0, 0, 144, - 3, 0, 228, 128, 4, 0, - 0, 5, 2, 0, 15, 128, - 27, 32, 228, 160, 0, 0, - 85, 176, 4, 0, 0, 144, - 2, 0, 228, 128, 8, 0, - 0, 3, 1, 0, 2, 128, - 1, 0, 228, 144, 2, 0, - 228, 128, 9, 0, 0, 3, - 0, 0, 2, 128, 0, 0, - 228, 144, 2, 0, 228, 128, + 0, 2, 254, 255, 254, 255, + 255, 1, 68, 66, 85, 71, + 40, 0, 0, 0, 208, 7, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 8, 1, + 0, 0, 55, 0, 0, 0, + 20, 1, 0, 0, 15, 0, + 0, 0, 164, 6, 0, 0, + 0, 3, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 83, 107, + 105, 110, 110, 101, 100, 69, + 102, 102, 101, 99, 116, 46, + 102, 120, 0, 67, 58, 92, + 65, 84, 71, 32, 83, 97, + 109, 112, 108, 101, 32, 68, + 101, 118, 101, 108, 111, 112, + 109, 101, 110, 116, 92, 115, + 116, 95, 100, 101, 118, 92, + 75, 105, 116, 115, 92, 68, + 105, 114, 101, 99, 116, 88, + 84, 75, 92, 83, 114, 99, + 92, 83, 104, 97, 100, 101, + 114, 115, 92, 76, 105, 103, + 104, 116, 105, 110, 103, 46, + 102, 120, 104, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 67, 111, + 109, 109, 111, 110, 46, 102, + 120, 104, 0, 171, 171, 171, + 40, 0, 0, 0, 117, 0, + 0, 0, 190, 0, 0, 0, + 0, 0, 255, 255, 4, 8, + 0, 0, 0, 0, 255, 255, + 28, 8, 0, 0, 0, 0, + 255, 255, 40, 8, 0, 0, + 0, 0, 255, 255, 52, 8, + 0, 0, 0, 0, 255, 255, + 64, 8, 0, 0, 0, 0, + 255, 255, 76, 8, 0, 0, + 52, 0, 0, 0, 88, 8, + 0, 0, 52, 0, 0, 0, + 104, 8, 0, 0, 52, 0, + 0, 0, 116, 8, 0, 0, + 52, 0, 0, 0, 136, 8, + 0, 0, 56, 0, 0, 0, + 160, 8, 0, 0, 55, 0, + 0, 0, 176, 8, 0, 0, + 52, 0, 0, 0, 192, 8, + 0, 0, 52, 0, 0, 0, + 212, 8, 0, 0, 52, 0, + 0, 0, 232, 8, 0, 0, + 52, 0, 0, 0, 0, 9, + 0, 0, 56, 0, 0, 0, + 24, 9, 0, 0, 55, 0, + 0, 0, 40, 9, 0, 0, + 56, 0, 0, 0, 56, 9, + 0, 0, 55, 0, 0, 0, + 72, 9, 0, 0, 59, 0, + 1, 0, 88, 9, 0, 0, + 59, 0, 1, 0, 104, 9, + 0, 0, 59, 0, 1, 0, + 120, 9, 0, 0, 59, 0, + 1, 0, 136, 9, 0, 0, + 36, 0, 1, 0, 148, 9, + 0, 0, 39, 0, 1, 0, + 164, 9, 0, 0, 41, 0, + 1, 0, 180, 9, 0, 0, + 46, 0, 1, 0, 196, 9, + 0, 0, 46, 0, 1, 0, + 212, 9, 0, 0, 46, 0, + 1, 0, 224, 9, 0, 0, + 57, 0, 1, 0, 244, 9, + 0, 0, 57, 0, 1, 0, + 0, 10, 0, 0, 57, 0, + 1, 0, 16, 10, 0, 0, + 57, 0, 1, 0, 32, 10, + 0, 0, 58, 0, 1, 0, + 48, 10, 0, 0, 58, 0, + 1, 0, 64, 10, 0, 0, + 33, 0, 1, 0, 76, 10, + 0, 0, 33, 0, 1, 0, + 92, 10, 0, 0, 37, 0, + 1, 0, 104, 10, 0, 0, + 42, 0, 1, 0, 120, 10, + 0, 0, 42, 0, 1, 0, + 136, 10, 0, 0, 42, 0, + 1, 0, 152, 10, 0, 0, + 47, 0, 1, 0, 168, 10, + 0, 0, 47, 0, 1, 0, + 184, 10, 0, 0, 63, 0, + 1, 0, 200, 10, 0, 0, + 14, 0, 2, 0, 216, 10, + 0, 0, 14, 0, 2, 0, + 232, 10, 0, 0, 14, 0, + 2, 0, 248, 10, 0, 0, + 63, 0, 1, 0, 8, 11, + 0, 0, 63, 0, 1, 0, + 24, 11, 0, 0, 63, 0, + 1, 0, 40, 11, 0, 0, + 125, 0, 0, 0, 56, 11, + 0, 0, 125, 0, 0, 0, + 76, 11, 0, 0, 46, 0, + 1, 0, 88, 11, 0, 0, + 129, 0, 0, 0, 100, 11, + 0, 0, 80, 97, 114, 97, + 109, 101, 116, 101, 114, 115, + 0, 68, 105, 102, 102, 117, + 115, 101, 67, 111, 108, 111, + 114, 0, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 28, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 86, 83, 83, 107, 105, 110, + 110, 101, 100, 79, 110, 101, + 76, 105, 103, 104, 116, 84, + 119, 111, 66, 111, 110, 101, + 115, 0, 68, 105, 102, 102, + 117, 115, 101, 0, 171, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 83, 112, + 101, 99, 117, 108, 97, 114, + 0, 84, 101, 120, 67, 111, + 111, 114, 100, 0, 171, 171, + 1, 0, 3, 0, 1, 0, + 2, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 80, 111, + 115, 105, 116, 105, 111, 110, + 80, 83, 0, 171, 26, 3, + 0, 0, 36, 3, 0, 0, + 52, 3, 0, 0, 36, 3, + 0, 0, 61, 3, 0, 0, + 72, 3, 0, 0, 88, 3, + 0, 0, 36, 3, 0, 0, + 5, 0, 0, 0, 1, 0, + 14, 0, 1, 0, 4, 0, + 100, 3, 0, 0, 29, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 43, 0, + 0, 0, 4, 0, 5, 0, + 6, 0, 255, 255, 44, 0, + 0, 0, 255, 255, 255, 255, + 12, 0, 255, 255, 47, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 7, 0, 51, 0, + 0, 0, 10, 0, 11, 0, + 255, 255, 255, 255, 52, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 13, 0, 53, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 3, 0, 54, 0, + 0, 0, 8, 0, 9, 0, + 255, 255, 255, 255, 100, 105, + 102, 102, 117, 115, 101, 0, + 1, 0, 3, 0, 1, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 26, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 0, 0, 100, 111, + 116, 72, 0, 171, 171, 171, + 38, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 100, 111, 116, 76, 0, 171, + 171, 171, 24, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 0, 0, 101, 121, 101, 86, + 101, 99, 116, 111, 114, 0, + 171, 171, 35, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 104, 97, 108, 102, + 86, 101, 99, 116, 111, 114, + 115, 0, 3, 0, 3, 0, + 3, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 37, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 112, 111, 115, 95, 119, 115, + 0, 171, 31, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 32, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 33, 0, 0, 0, + 255, 255, 255, 255, 2, 0, + 255, 255, 115, 107, 105, 110, + 110, 105, 110, 103, 0, 171, + 171, 171, 3, 0, 3, 0, + 4, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 9, 0, 0, 0, 0, 0, + 3, 0, 6, 0, 9, 0, + 14, 0, 0, 0, 2, 0, + 5, 0, 8, 0, 11, 0, + 15, 0, 0, 0, 1, 0, + 4, 0, 7, 0, 10, 0, + 115, 112, 101, 99, 117, 108, + 97, 114, 0, 171, 171, 171, + 41, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 83, 107, 105, 110, 0, 118, + 105, 110, 0, 80, 111, 115, + 105, 116, 105, 111, 110, 0, + 78, 111, 114, 109, 97, 108, + 0, 73, 110, 100, 105, 99, + 101, 115, 0, 171, 171, 171, + 1, 0, 2, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 87, 101, + 105, 103, 104, 116, 115, 0, + 13, 5, 0, 0, 36, 3, + 0, 0, 22, 5, 0, 0, + 252, 3, 0, 0, 61, 3, + 0, 0, 72, 3, 0, 0, + 29, 5, 0, 0, 40, 5, + 0, 0, 56, 5, 0, 0, + 36, 3, 0, 0, 5, 0, + 0, 0, 1, 0, 17, 0, + 1, 0, 5, 0, 64, 5, + 0, 0, 10, 0, 0, 0, + 4, 0, 255, 255, 255, 255, + 255, 255, 11, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 16, 0, 0, 0, + 255, 255, 5, 0, 255, 255, + 255, 255, 17, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 18, 0, 0, 0, + 255, 255, 255, 255, 6, 0, + 255, 255, 19, 0, 0, 0, + 255, 255, 255, 255, 2, 0, + 255, 255, 1, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 2, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 255, 255, 3, 0, 0, 0, + 7, 0, 8, 0, 255, 255, + 255, 255, 4, 0, 0, 0, + 9, 0, 10, 0, 11, 0, + 12, 0, 5, 0, 0, 0, + 13, 0, 14, 0, 15, 0, + 16, 0, 118, 111, 117, 116, + 0, 80, 111, 115, 95, 112, + 115, 0, 70, 111, 103, 70, + 97, 99, 116, 111, 114, 0, + 171, 171, 0, 0, 3, 0, + 1, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 1, 6, 0, 0, 36, 3, + 0, 0, 26, 3, 0, 0, + 36, 3, 0, 0, 52, 3, + 0, 0, 252, 3, 0, 0, + 8, 6, 0, 0, 20, 6, + 0, 0, 5, 0, 0, 0, + 1, 0, 12, 0, 1, 0, + 4, 0, 36, 6, 0, 0, + 48, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 49, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 50, 0, 0, 0, 3, 0, + 255, 255, 255, 255, 255, 255, + 119, 111, 114, 108, 100, 78, + 111, 114, 109, 97, 108, 0, + 23, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 122, 101, 114, 111, 76, 0, + 171, 171, 25, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 204, 2, 0, 0, + 215, 2, 0, 0, 228, 2, + 0, 0, 1, 0, 0, 0, + 244, 2, 0, 0, 0, 0, + 0, 0, 0, 3, 0, 0, + 132, 3, 0, 0, 8, 0, + 0, 0, 148, 3, 0, 0, + 0, 0, 0, 0, 244, 3, + 0, 0, 252, 3, 0, 0, + 1, 0, 0, 0, 12, 4, + 0, 0, 0, 0, 0, 0, + 24, 4, 0, 0, 252, 3, + 0, 0, 1, 0, 0, 0, + 32, 4, 0, 0, 0, 0, + 0, 0, 44, 4, 0, 0, + 252, 3, 0, 0, 1, 0, + 0, 0, 52, 4, 0, 0, + 0, 0, 0, 0, 64, 4, + 0, 0, 252, 3, 0, 0, + 1, 0, 0, 0, 76, 4, + 0, 0, 0, 0, 0, 0, + 88, 4, 0, 0, 100, 4, + 0, 0, 1, 0, 0, 0, + 116, 4, 0, 0, 0, 0, + 0, 0, 128, 4, 0, 0, + 36, 3, 0, 0, 3, 0, + 0, 0, 136, 4, 0, 0, + 0, 0, 0, 0, 172, 4, + 0, 0, 184, 4, 0, 0, + 3, 0, 0, 0, 200, 4, + 0, 0, 0, 0, 0, 0, + 236, 4, 0, 0, 252, 3, + 0, 0, 1, 0, 0, 0, + 248, 4, 0, 0, 4, 5, + 0, 0, 9, 5, 0, 0, + 104, 5, 0, 0, 6, 0, + 0, 0, 120, 5, 0, 0, + 0, 3, 0, 0, 9, 5, + 0, 0, 104, 5, 0, 0, + 5, 0, 0, 0, 192, 5, + 0, 0, 0, 0, 0, 0, + 252, 5, 0, 0, 68, 6, + 0, 0, 3, 0, 0, 0, + 84, 6, 0, 0, 0, 0, + 0, 0, 120, 6, 0, 0, + 252, 3, 0, 0, 1, 0, + 0, 0, 132, 6, 0, 0, + 0, 0, 0, 0, 144, 6, + 0, 0, 252, 3, 0, 0, + 1, 0, 0, 0, 152, 6, + 0, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 81, 0, 0, 5, 243, 0, + 15, 160, 0, 0, 64, 64, + 0, 0, 0, 0, 0, 0, + 128, 63, 0, 0, 0, 0, + 31, 0, 0, 2, 5, 0, + 0, 128, 0, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 1, 128, 1, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 2, 128, 2, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 3, 128, 3, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 4, 128, 4, 0, 15, 144, + 5, 0, 0, 3, 0, 0, + 3, 128, 3, 0, 228, 144, + 243, 0, 0, 160, 46, 0, + 0, 2, 0, 0, 3, 176, + 0, 0, 225, 128, 5, 0, + 0, 4, 0, 0, 15, 128, + 4, 0, 85, 144, 26, 32, + 228, 160, 0, 0, 0, 176, + 4, 0, 0, 5, 0, 0, + 15, 128, 26, 32, 228, 160, + 0, 0, 85, 176, 4, 0, + 0, 144, 0, 0, 228, 128, + 8, 0, 0, 3, 1, 0, + 1, 128, 1, 0, 228, 144, + 0, 0, 228, 128, 9, 0, + 0, 3, 0, 0, 1, 128, + 0, 0, 228, 144, 0, 0, + 228, 128, 5, 0, 0, 4, + 2, 0, 15, 128, 4, 0, + 85, 144, 27, 32, 228, 160, + 0, 0, 0, 176, 5, 0, + 0, 4, 3, 0, 15, 128, + 4, 0, 85, 144, 28, 32, + 228, 160, 0, 0, 0, 176, + 4, 0, 0, 5, 3, 0, + 15, 128, 28, 32, 228, 160, + 0, 0, 85, 176, 4, 0, + 0, 144, 3, 0, 228, 128, + 4, 0, 0, 5, 2, 0, + 15, 128, 27, 32, 228, 160, + 0, 0, 85, 176, 4, 0, + 0, 144, 2, 0, 228, 128, 8, 0, 0, 3, 1, 0, - 4, 128, 1, 0, 228, 144, - 3, 0, 228, 128, 9, 0, - 0, 3, 0, 0, 4, 128, - 0, 0, 228, 144, 3, 0, + 2, 128, 1, 0, 228, 144, + 2, 0, 228, 128, 9, 0, + 0, 3, 0, 0, 2, 128, + 0, 0, 228, 144, 2, 0, 228, 128, 8, 0, 0, 3, - 2, 0, 1, 128, 1, 0, - 228, 128, 19, 0, 228, 160, + 1, 0, 4, 128, 1, 0, + 228, 144, 3, 0, 228, 128, + 9, 0, 0, 3, 0, 0, + 4, 128, 0, 0, 228, 144, + 3, 0, 228, 128, 8, 0, + 0, 3, 2, 0, 1, 128, + 1, 0, 228, 128, 19, 0, + 228, 160, 8, 0, 0, 3, + 2, 0, 2, 128, 1, 0, + 228, 128, 20, 0, 228, 160, 8, 0, 0, 3, 2, 0, - 2, 128, 1, 0, 228, 128, - 20, 0, 228, 160, 8, 0, - 0, 3, 2, 0, 4, 128, - 1, 0, 228, 128, 21, 0, - 228, 160, 36, 0, 0, 2, - 1, 0, 7, 128, 2, 0, - 228, 128, 8, 0, 0, 3, - 1, 0, 8, 128, 3, 0, - 228, 161, 1, 0, 228, 128, - 13, 0, 0, 3, 2, 0, - 1, 128, 1, 0, 255, 128, - 243, 0, 85, 160, 5, 0, + 4, 128, 1, 0, 228, 128, + 21, 0, 228, 160, 36, 0, + 0, 2, 1, 0, 7, 128, + 2, 0, 228, 128, 8, 0, 0, 3, 1, 0, 8, 128, - 1, 0, 255, 128, 2, 0, - 0, 128, 5, 0, 0, 3, - 2, 0, 14, 128, 1, 0, - 255, 128, 6, 0, 144, 160, - 1, 0, 0, 2, 3, 0, - 7, 128, 0, 0, 228, 160, - 4, 0, 0, 4, 0, 0, - 7, 224, 2, 0, 249, 128, - 3, 0, 228, 128, 1, 0, - 228, 160, 1, 0, 0, 2, - 0, 0, 8, 128, 0, 0, - 255, 144, 9, 0, 0, 3, - 3, 0, 1, 128, 0, 0, - 228, 128, 15, 0, 228, 160, + 3, 0, 228, 161, 1, 0, + 228, 128, 13, 0, 0, 3, + 2, 0, 1, 128, 1, 0, + 255, 128, 243, 0, 85, 160, + 5, 0, 0, 3, 1, 0, + 8, 128, 1, 0, 255, 128, + 2, 0, 0, 128, 5, 0, + 0, 3, 2, 0, 14, 128, + 1, 0, 255, 128, 6, 0, + 144, 160, 1, 0, 0, 2, + 3, 0, 7, 128, 0, 0, + 228, 160, 4, 0, 0, 4, + 0, 0, 7, 224, 2, 0, + 249, 128, 3, 0, 228, 128, + 1, 0, 228, 160, 1, 0, + 0, 2, 0, 0, 8, 128, + 0, 0, 255, 144, 9, 0, + 0, 3, 3, 0, 1, 128, + 0, 0, 228, 128, 15, 0, + 228, 160, 9, 0, 0, 3, + 3, 0, 2, 128, 0, 0, + 228, 128, 16, 0, 228, 160, 9, 0, 0, 3, 3, 0, - 2, 128, 0, 0, 228, 128, - 16, 0, 228, 160, 9, 0, - 0, 3, 3, 0, 4, 128, - 0, 0, 228, 128, 17, 0, - 228, 160, 2, 0, 0, 3, + 4, 128, 0, 0, 228, 128, + 17, 0, 228, 160, 2, 0, + 0, 3, 2, 0, 14, 128, + 3, 0, 144, 129, 12, 0, + 144, 160, 36, 0, 0, 2, + 3, 0, 7, 128, 2, 0, + 249, 128, 2, 0, 0, 3, 2, 0, 14, 128, 3, 0, - 144, 129, 12, 0, 144, 160, + 144, 128, 3, 0, 144, 161, 36, 0, 0, 2, 3, 0, 7, 128, 2, 0, 249, 128, - 2, 0, 0, 3, 2, 0, - 14, 128, 3, 0, 144, 128, - 3, 0, 144, 161, 36, 0, - 0, 2, 3, 0, 7, 128, - 2, 0, 249, 128, 8, 0, + 8, 0, 0, 3, 1, 0, + 1, 128, 3, 0, 228, 128, + 1, 0, 228, 128, 11, 0, + 0, 3, 1, 0, 1, 128, + 1, 0, 0, 128, 243, 0, + 85, 160, 5, 0, 0, 3, + 1, 0, 1, 128, 2, 0, + 0, 128, 1, 0, 0, 128, + 32, 0, 0, 3, 2, 0, + 1, 128, 1, 0, 0, 128, + 2, 0, 255, 160, 5, 0, + 0, 3, 1, 0, 7, 128, + 2, 0, 0, 128, 9, 0, + 228, 160, 5, 0, 0, 3, + 1, 0, 7, 224, 1, 0, + 228, 128, 2, 0, 228, 160, + 9, 0, 0, 3, 0, 0, + 4, 192, 0, 0, 228, 128, + 24, 0, 228, 160, 9, 0, 0, 3, 1, 0, 1, 128, - 3, 0, 228, 128, 1, 0, - 228, 128, 11, 0, 0, 3, + 0, 0, 228, 128, 14, 0, + 228, 160, 11, 0, 0, 3, 1, 0, 1, 128, 1, 0, 0, 128, 243, 0, 85, 160, - 5, 0, 0, 3, 1, 0, - 1, 128, 2, 0, 0, 128, - 1, 0, 0, 128, 32, 0, - 0, 3, 2, 0, 1, 128, - 1, 0, 0, 128, 2, 0, - 255, 160, 5, 0, 0, 3, - 1, 0, 7, 128, 2, 0, - 0, 128, 9, 0, 228, 160, - 5, 0, 0, 3, 1, 0, - 7, 224, 1, 0, 228, 128, - 2, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 4, 192, - 0, 0, 228, 128, 24, 0, + 10, 0, 0, 3, 1, 0, + 8, 224, 1, 0, 0, 128, + 243, 0, 170, 160, 9, 0, + 0, 3, 1, 0, 1, 128, + 0, 0, 228, 128, 22, 0, 228, 160, 9, 0, 0, 3, - 1, 0, 1, 128, 0, 0, - 228, 128, 14, 0, 228, 160, - 11, 0, 0, 3, 1, 0, - 1, 128, 1, 0, 0, 128, - 243, 0, 85, 160, 10, 0, - 0, 3, 1, 0, 8, 224, - 1, 0, 0, 128, 243, 0, - 170, 160, 9, 0, 0, 3, - 1, 0, 1, 128, 0, 0, - 228, 128, 22, 0, 228, 160, - 9, 0, 0, 3, 1, 0, - 2, 128, 0, 0, 228, 128, - 23, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 1, 128, - 0, 0, 228, 128, 25, 0, - 228, 160, 4, 0, 0, 4, - 0, 0, 3, 192, 0, 0, - 0, 128, 242, 0, 228, 160, - 1, 0, 228, 128, 1, 0, - 0, 2, 0, 0, 8, 192, - 0, 0, 0, 128, 1, 0, - 0, 2, 0, 0, 8, 224, - 0, 0, 255, 160, 1, 0, - 0, 2, 2, 0, 3, 224, - 2, 0, 228, 144, 255, 255, - 0, 0, 83, 72, 68, 82, - 200, 6, 0, 0, 64, 0, - 1, 0, 178, 1, 0, 0, - 89, 8, 0, 4, 70, 142, - 32, 0, 0, 0, 0, 0, - 242, 0, 0, 0, 95, 0, - 0, 3, 242, 16, 16, 0, - 0, 0, 0, 0, 95, 0, - 0, 3, 114, 16, 16, 0, - 1, 0, 0, 0, 95, 0, - 0, 3, 50, 16, 16, 0, - 2, 0, 0, 0, 95, 0, - 0, 3, 50, 16, 16, 0, - 3, 0, 0, 0, 95, 0, - 0, 3, 50, 16, 16, 0, - 4, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 0, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 1, 0, 0, 0, 101, 0, - 0, 3, 50, 32, 16, 0, - 2, 0, 0, 0, 103, 0, - 0, 4, 242, 32, 16, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 104, 0, 0, 2, - 4, 0, 0, 0, 38, 0, - 0, 11, 0, 208, 0, 0, - 50, 0, 16, 0, 0, 0, - 0, 0, 70, 16, 16, 0, - 3, 0, 0, 0, 2, 64, + 1, 0, 2, 128, 0, 0, + 228, 128, 23, 0, 228, 160, + 9, 0, 0, 3, 0, 0, + 1, 128, 0, 0, 228, 128, + 25, 0, 228, 160, 4, 0, + 0, 4, 0, 0, 3, 192, + 0, 0, 0, 128, 242, 0, + 228, 160, 1, 0, 228, 128, + 1, 0, 0, 2, 0, 0, + 8, 192, 0, 0, 0, 128, + 1, 0, 0, 2, 0, 0, + 8, 224, 0, 0, 255, 160, + 1, 0, 0, 2, 2, 0, + 3, 224, 2, 0, 228, 144, + 255, 255, 0, 0, 83, 72, + 68, 82, 200, 6, 0, 0, + 64, 0, 1, 0, 178, 1, + 0, 0, 89, 8, 0, 4, + 70, 142, 32, 0, 0, 0, + 0, 0, 242, 0, 0, 0, + 95, 0, 0, 3, 242, 16, + 16, 0, 0, 0, 0, 0, + 95, 0, 0, 3, 114, 16, + 16, 0, 1, 0, 0, 0, + 95, 0, 0, 3, 50, 16, + 16, 0, 2, 0, 0, 0, + 95, 0, 0, 3, 50, 16, + 16, 0, 3, 0, 0, 0, + 95, 0, 0, 3, 50, 16, + 16, 0, 4, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 0, 0, 0, 0, + 101, 0, 0, 3, 242, 32, + 16, 0, 1, 0, 0, 0, + 101, 0, 0, 3, 50, 32, + 16, 0, 2, 0, 0, 0, + 103, 0, 0, 4, 242, 32, + 16, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 104, 0, + 0, 2, 4, 0, 0, 0, + 38, 0, 0, 11, 0, 208, + 0, 0, 50, 0, 16, 0, + 0, 0, 0, 0, 70, 16, + 16, 0, 3, 0, 0, 0, + 2, 64, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, - 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 56, 0, 0, 10, 242, 0, - 16, 0, 1, 0, 0, 0, - 86, 21, 16, 0, 4, 0, - 0, 0, 70, 142, 32, 6, - 0, 0, 0, 0, 26, 0, - 0, 0, 26, 0, 16, 0, - 0, 0, 0, 0, 50, 0, - 0, 12, 242, 0, 16, 0, - 1, 0, 0, 0, 70, 142, + 0, 0, 56, 0, 0, 10, + 242, 0, 16, 0, 1, 0, + 0, 0, 86, 21, 16, 0, + 4, 0, 0, 0, 70, 142, 32, 6, 0, 0, 0, 0, - 26, 0, 0, 0, 10, 0, + 26, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, - 6, 16, 16, 0, 4, 0, - 0, 0, 70, 14, 16, 0, - 1, 0, 0, 0, 16, 0, - 0, 7, 18, 0, 16, 0, - 2, 0, 0, 0, 70, 18, + 50, 0, 0, 12, 242, 0, 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 1, 0, - 0, 0, 17, 0, 0, 7, - 18, 0, 16, 0, 1, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 70, 14, + 70, 142, 32, 6, 0, 0, + 0, 0, 26, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 6, 16, 16, 0, + 4, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, - 56, 0, 0, 10, 242, 0, - 16, 0, 3, 0, 0, 0, - 86, 21, 16, 0, 4, 0, - 0, 0, 70, 142, 32, 6, - 0, 0, 0, 0, 27, 0, - 0, 0, 26, 0, 16, 0, - 0, 0, 0, 0, 50, 0, - 0, 12, 242, 0, 16, 0, - 3, 0, 0, 0, 70, 142, + 16, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 70, 18, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 17, 0, + 0, 7, 18, 0, 16, 0, + 1, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 56, 0, 0, 10, + 242, 0, 16, 0, 3, 0, + 0, 0, 86, 21, 16, 0, + 4, 0, 0, 0, 70, 142, 32, 6, 0, 0, 0, 0, - 27, 0, 0, 0, 10, 0, + 27, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, - 6, 16, 16, 0, 4, 0, - 0, 0, 70, 14, 16, 0, - 3, 0, 0, 0, 16, 0, - 0, 7, 34, 0, 16, 0, - 2, 0, 0, 0, 70, 18, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 3, 0, - 0, 0, 17, 0, 0, 7, - 34, 0, 16, 0, 1, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 70, 14, + 50, 0, 0, 12, 242, 0, 16, 0, 3, 0, 0, 0, - 56, 0, 0, 10, 242, 0, + 70, 142, 32, 6, 0, 0, + 0, 0, 27, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 6, 16, 16, 0, + 4, 0, 0, 0, 70, 14, 16, 0, 3, 0, 0, 0, - 86, 21, 16, 0, 4, 0, - 0, 0, 70, 142, 32, 6, - 0, 0, 0, 0, 28, 0, - 0, 0, 26, 0, 16, 0, - 0, 0, 0, 0, 50, 0, - 0, 12, 242, 0, 16, 0, - 0, 0, 0, 0, 70, 142, + 16, 0, 0, 7, 34, 0, + 16, 0, 2, 0, 0, 0, + 70, 18, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 17, 0, + 0, 7, 34, 0, 16, 0, + 1, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 3, 0, + 0, 0, 56, 0, 0, 10, + 242, 0, 16, 0, 3, 0, + 0, 0, 86, 21, 16, 0, + 4, 0, 0, 0, 70, 142, 32, 6, 0, 0, 0, 0, - 28, 0, 0, 0, 10, 0, + 28, 0, 0, 0, 26, 0, 16, 0, 0, 0, 0, 0, - 6, 16, 16, 0, 4, 0, - 0, 0, 70, 14, 16, 0, - 3, 0, 0, 0, 16, 0, - 0, 7, 66, 0, 16, 0, - 2, 0, 0, 0, 70, 18, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 17, 0, 0, 7, - 66, 0, 16, 0, 1, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 70, 14, + 50, 0, 0, 12, 242, 0, 16, 0, 0, 0, 0, 0, - 16, 0, 0, 8, 18, 0, + 70, 142, 32, 6, 0, 0, + 0, 0, 28, 0, 0, 0, + 10, 0, 16, 0, 0, 0, + 0, 0, 6, 16, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 3, 0, 0, 0, + 16, 0, 0, 7, 66, 0, + 16, 0, 2, 0, 0, 0, + 70, 18, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 17, 0, + 0, 7, 66, 0, 16, 0, + 1, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 2, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 19, 0, + 70, 14, 16, 0, 0, 0, 0, 0, 16, 0, 0, 8, - 34, 0, 16, 0, 0, 0, + 18, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, - 20, 0, 0, 0, 16, 0, - 0, 8, 66, 0, 16, 0, + 19, 0, 0, 0, 16, 0, + 0, 8, 34, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 70, 130, 32, 0, 0, 0, - 0, 0, 21, 0, 0, 0, - 16, 0, 0, 7, 130, 0, + 0, 0, 20, 0, 0, 0, + 16, 0, 0, 8, 66, 0, 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 68, 0, - 0, 5, 130, 0, 16, 0, - 0, 0, 0, 0, 58, 0, - 16, 0, 0, 0, 0, 0, - 56, 0, 0, 7, 114, 0, - 16, 0, 0, 0, 0, 0, - 246, 15, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 16, 0, - 0, 9, 130, 0, 16, 0, - 0, 0, 0, 0, 70, 130, - 32, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 21, 0, + 0, 0, 16, 0, 0, 7, + 130, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 29, 0, - 0, 7, 18, 0, 16, 0, - 2, 0, 0, 0, 58, 0, + 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, - 1, 64, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 7, - 18, 0, 16, 0, 2, 0, - 0, 0, 10, 0, 16, 0, - 2, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 128, 63, - 56, 0, 0, 7, 130, 0, + 68, 0, 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, - 0, 0, 10, 0, 16, 0, - 2, 0, 0, 0, 56, 0, - 0, 8, 226, 0, 16, 0, - 2, 0, 0, 0, 246, 15, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 0, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, - 6, 137, 32, 0, 0, 0, - 0, 0, 6, 0, 0, 0, - 50, 0, 0, 11, 114, 32, + 16, 0, 0, 9, 130, 0, 16, 0, 0, 0, 0, 0, - 150, 7, 16, 0, 2, 0, - 0, 0, 70, 130, 32, 0, + 70, 130, 32, 128, 65, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 70, 130, 32, 0, + 3, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 29, 0, 0, 7, 18, 0, + 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 54, 0, 0, 6, - 130, 32, 16, 0, 0, 0, - 0, 0, 58, 128, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 54, 0, 0, 5, - 130, 0, 16, 0, 1, 0, - 0, 0, 58, 16, 16, 0, - 0, 0, 0, 0, 17, 0, - 0, 8, 18, 0, 16, 0, - 3, 0, 0, 0, 70, 14, - 16, 0, 1, 0, 0, 0, - 70, 142, 32, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 17, 0, 0, 8, 34, 0, + 0, 7, 18, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 1, 64, 0, 0, 0, 0, + 128, 63, 56, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 10, 0, + 16, 0, 2, 0, 0, 0, + 56, 0, 0, 8, 226, 0, + 16, 0, 2, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 6, 137, 32, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 50, 0, 0, 11, + 114, 32, 16, 0, 0, 0, + 0, 0, 150, 7, 16, 0, + 2, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 54, 0, + 0, 6, 130, 32, 16, 0, + 0, 0, 0, 0, 58, 128, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 130, 0, 16, 0, + 1, 0, 0, 0, 58, 16, + 16, 0, 0, 0, 0, 0, + 17, 0, 0, 8, 18, 0, 16, 0, 3, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 16, 0, + 0, 0, 0, 0, 15, 0, 0, 0, 17, 0, 0, 8, - 66, 0, 16, 0, 3, 0, + 34, 0, 16, 0, 3, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 17, 0, 0, 0, 0, 0, - 0, 9, 226, 0, 16, 0, - 2, 0, 0, 0, 6, 9, - 16, 128, 65, 0, 0, 0, - 3, 0, 0, 0, 6, 137, - 32, 0, 0, 0, 0, 0, - 12, 0, 0, 0, 16, 0, - 0, 7, 130, 0, 16, 0, - 0, 0, 0, 0, 150, 7, - 16, 0, 2, 0, 0, 0, - 150, 7, 16, 0, 2, 0, - 0, 0, 68, 0, 0, 5, - 130, 0, 16, 0, 0, 0, - 0, 0, 58, 0, 16, 0, - 0, 0, 0, 0, 50, 0, - 0, 11, 226, 0, 16, 0, - 2, 0, 0, 0, 86, 14, + 16, 0, 0, 0, 17, 0, + 0, 8, 66, 0, 16, 0, + 3, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 17, 0, 0, 0, + 0, 0, 0, 9, 226, 0, 16, 0, 2, 0, 0, 0, - 246, 15, 16, 0, 0, 0, - 0, 0, 6, 137, 32, 128, - 65, 0, 0, 0, 0, 0, + 6, 9, 16, 128, 65, 0, 0, 0, 3, 0, 0, 0, + 6, 137, 32, 0, 0, 0, + 0, 0, 12, 0, 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, 150, 7, 16, 0, 2, 0, @@ -551,132 +915,147 @@ const BYTE SkinnedEffect_VSSkinnedOneLightTwoBones[] = 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, - 56, 0, 0, 7, 226, 0, + 50, 0, 0, 11, 226, 0, 16, 0, 2, 0, 0, 0, - 246, 15, 16, 0, 0, 0, - 0, 0, 86, 14, 16, 0, - 2, 0, 0, 0, 16, 0, - 0, 7, 18, 0, 16, 0, - 0, 0, 0, 0, 150, 7, + 86, 14, 16, 0, 2, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 6, 137, + 32, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 16, 0, 0, 7, + 130, 0, 16, 0, 0, 0, + 0, 0, 150, 7, 16, 0, + 2, 0, 0, 0, 150, 7, 16, 0, 2, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 52, 0, 0, 7, - 18, 0, 16, 0, 0, 0, - 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 1, 64, - 0, 0, 0, 0, 0, 0, - 56, 0, 0, 7, 18, 0, + 68, 0, 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, - 10, 0, 16, 0, 2, 0, - 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 47, 0, - 0, 5, 18, 0, 16, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 226, 0, 16, 0, 2, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 86, 14, + 16, 0, 2, 0, 0, 0, + 16, 0, 0, 7, 18, 0, + 16, 0, 0, 0, 0, 0, + 150, 7, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 52, 0, + 0, 7, 18, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, - 56, 0, 0, 8, 18, 0, + 1, 64, 0, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 18, 0, 16, 0, 0, 0, + 0, 0, 10, 0, 16, 0, + 2, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 47, 0, 0, 5, 18, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, 0, 0, - 0, 0, 58, 128, 32, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 25, 0, 0, 5, + 0, 0, 56, 0, 0, 8, 18, 0, 16, 0, 0, 0, 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 56, 0, - 0, 8, 114, 0, 16, 0, - 0, 0, 0, 0, 6, 0, + 0, 0, 0, 0, 58, 128, + 32, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 25, 0, + 0, 5, 18, 0, 16, 0, + 0, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, - 70, 130, 32, 0, 0, 0, - 0, 0, 9, 0, 0, 0, - 56, 0, 0, 8, 114, 32, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 0, 0, + 56, 0, 0, 8, 114, 0, + 16, 0, 0, 0, 0, 0, + 6, 0, 16, 0, 0, 0, 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 17, 32, 0, 8, - 130, 32, 16, 0, 1, 0, - 0, 0, 70, 14, 16, 0, - 1, 0, 0, 0, 70, 142, + 0, 0, 0, 0, 9, 0, + 0, 0, 56, 0, 0, 8, + 114, 32, 16, 0, 1, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, - 14, 0, 0, 0, 54, 0, - 0, 5, 50, 32, 16, 0, - 2, 0, 0, 0, 70, 16, + 2, 0, 0, 0, 17, 32, + 0, 8, 130, 32, 16, 0, + 1, 0, 0, 0, 70, 14, + 16, 0, 1, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 14, 0, 0, 0, + 54, 0, 0, 5, 50, 32, 16, 0, 2, 0, 0, 0, - 17, 0, 0, 8, 18, 32, - 16, 0, 3, 0, 0, 0, - 70, 14, 16, 0, 1, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 22, 0, + 70, 16, 16, 0, 2, 0, 0, 0, 17, 0, 0, 8, - 34, 32, 16, 0, 3, 0, + 18, 32, 16, 0, 3, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 23, 0, 0, 0, 17, 0, - 0, 8, 66, 32, 16, 0, + 22, 0, 0, 0, 17, 0, + 0, 8, 34, 32, 16, 0, 3, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, 70, 142, 32, 0, 0, 0, - 0, 0, 24, 0, 0, 0, - 17, 0, 0, 8, 130, 32, + 0, 0, 23, 0, 0, 0, + 17, 0, 0, 8, 66, 32, 16, 0, 3, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 25, 0, - 0, 0, 62, 0, 0, 1, - 73, 83, 71, 78, 184, 0, - 0, 0, 5, 0, 0, 0, - 8, 0, 0, 0, 128, 0, + 0, 0, 0, 0, 24, 0, + 0, 0, 17, 0, 0, 8, + 130, 32, 16, 0, 3, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 25, 0, 0, 0, 62, 0, + 0, 1, 73, 83, 71, 78, + 184, 0, 0, 0, 5, 0, + 0, 0, 8, 0, 0, 0, + 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 15, 0, 0, + 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 15, 15, 0, 0, 140, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 7, 7, 0, 0, + 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 1, 0, 0, 0, - 7, 7, 0, 0, 147, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 3, 3, 0, 0, + 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 2, 0, 0, 0, - 3, 3, 0, 0, 156, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 15, 3, 0, 0, + 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 3, 0, 0, 0, - 15, 3, 0, 0, 169, 0, + 3, 0, 0, 0, 4, 0, + 0, 0, 15, 3, 0, 0, + 83, 86, 95, 80, 111, 115, + 105, 116, 105, 111, 110, 0, + 78, 79, 82, 77, 65, 76, + 0, 84, 69, 88, 67, 79, + 79, 82, 68, 0, 66, 76, + 69, 78, 68, 73, 78, 68, + 73, 67, 69, 83, 0, 66, + 76, 69, 78, 68, 87, 69, + 73, 71, 72, 84, 0, 171, + 171, 171, 79, 83, 71, 78, + 132, 0, 0, 0, 4, 0, + 0, 0, 8, 0, 0, 0, + 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 4, 0, 0, 0, - 15, 3, 0, 0, 83, 86, - 95, 80, 111, 115, 105, 116, - 105, 111, 110, 0, 78, 79, - 82, 77, 65, 76, 0, 84, - 69, 88, 67, 79, 79, 82, - 68, 0, 66, 76, 69, 78, - 68, 73, 78, 68, 73, 67, - 69, 83, 0, 66, 76, 69, - 78, 68, 87, 69, 73, 71, - 72, 84, 0, 171, 171, 171, - 79, 83, 71, 78, 132, 0, - 0, 0, 4, 0, 0, 0, - 8, 0, 0, 0, 104, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, + 104, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 15, 0, 0, 0, + 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 104, 0, - 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 3, 0, 0, 0, 2, 0, + 0, 0, 3, 12, 0, 0, + 119, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 15, 0, 0, 0, 110, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, - 0, 0, 2, 0, 0, 0, - 3, 12, 0, 0, 119, 0, - 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 3, 0, - 0, 0, 3, 0, 0, 0, - 15, 0, 0, 0, 67, 79, - 76, 79, 82, 0, 84, 69, - 88, 67, 79, 79, 82, 68, - 0, 83, 86, 95, 80, 111, - 115, 105, 116, 105, 111, 110, - 0, 171 + 3, 0, 0, 0, 3, 0, + 0, 0, 15, 0, 0, 0, + 67, 79, 76, 79, 82, 0, + 84, 69, 88, 67, 79, 79, + 82, 68, 0, 83, 86, 95, + 80, 111, 115, 105, 116, 105, + 111, 110, 0, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingFourBones.inc b/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingFourBones.inc index 573d8941..36a12f39 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingFourBones.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingFourBones.inc @@ -43,53 +43,73 @@ // vs_2_0 def c243, 3, 0, 1, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 - dcl_texcoord3 v3 - dcl_texcoord4 v4 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5,6> + dcl_texcoord2 v2 // vin<7,8> + dcl_texcoord3 v3 // vin<9,10,11,12> + dcl_texcoord4 v4 // vin<13,14,15,16> + +#line 52 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\SkinnedEffect.fx" mul r0, v3, c243.x mova a0, r0.yxzw mul r1, v4.y, c26[a0.x] - mad r1, c26[a0.y], v4.x, r1 - mad r0, c26[a0.z], v4.z, r1 - mad r0, c26[a0.w], v4.w, r0 - dp4 r1.x, v0, r0 - dp3 r0.x, v1, r0 + mad r1, c26[a0.y], v4.x, r1 // ::skinning<0,3,6,9> + mad r0, c26[a0.z], v4.z, r1 // ::skinning<0,3,6,9> + mad r0, c26[a0.w], v4.w, r0 // ::skinning<0,3,6,9> + +#line 55 + dp4 r1.x, v0, r0 // Skin::vin<0> + dp3 r0.x, v1, r0 // Skin::vin<4> + +#line 52 mul r2, v4.y, c27[a0.x] mul r3, v4.y, c28[a0.x] - mad r3, c28[a0.y], v4.x, r3 - mad r2, c27[a0.y], v4.x, r2 - mad r2, c27[a0.z], v4.z, r2 - mad r3, c28[a0.z], v4.z, r3 - mad r3, c28[a0.w], v4.w, r3 - mad r2, c27[a0.w], v4.w, r2 - dp4 r1.y, v0, r2 - dp3 r0.y, v1, r2 - dp4 r1.z, v0, r3 - dp3 r0.z, v1, r3 + mad r3, c28[a0.y], v4.x, r3 // ::skinning<2,5,8,11> + mad r2, c27[a0.y], v4.x, r2 // ::skinning<1,4,7,10> + mad r2, c27[a0.z], v4.z, r2 // ::skinning<1,4,7,10> + mad r3, c28[a0.z], v4.z, r3 // ::skinning<2,5,8,11> + mad r3, c28[a0.w], v4.w, r3 // ::skinning<2,5,8,11> + mad r2, c27[a0.w], v4.w, r2 // ::skinning<1,4,7,10> + +#line 55 + dp4 r1.y, v0, r2 // Skin::vin<1> + dp3 r0.y, v1, r2 // Skin::vin<5> + dp4 r1.z, v0, r3 // Skin::vin<2> + dp3 r0.z, v1, r3 // Skin::vin<6> + +#line 85 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" mov r1.w, v0.w - dp4 oPos.z, r1, c24 - dp4 oT1.x, r1, c15 - dp4 oT1.y, r1, c16 - dp4 oT1.z, r1, c17 + dp4 oPos.z, r1, c24 // ::VSSkinnedPixelLightingFourBones<15> + dp4 oT1.x, r1, c15 // ::VSSkinnedPixelLightingFourBones<2> + dp4 oT1.y, r1, c16 // ::VSSkinnedPixelLightingFourBones<3> + dp4 oT1.z, r1, c17 // ::VSSkinnedPixelLightingFourBones<4> dp3 r2.x, r0, c19 dp3 r2.y, r0, c20 dp3 r2.z, r0, c21 dp3 r0.x, r2, r2 rsq r0.x, r0.x - mul oT2.xyz, r0.x, r2 + mul oT2.xyz, r0.x, r2 // ::VSSkinnedPixelLightingFourBones<6,7,8> + +#line 14 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" dp4 r0.x, r1, c14 max r0.x, r0.x, c243.y - min oT1.w, r0.x, c243.z - dp4 r0.x, r1, c22 - dp4 r0.y, r1, c23 - dp4 r0.z, r1, c25 - mad oPos.xy, r0.z, c242, r0 - mov oPos.w, r0.z - mov oT0.xy, v2 + min oT1.w, r0.x, c243.z // ::VSSkinnedPixelLightingFourBones<5> + +#line 85 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp4 r0.x, r1, c22 // ::vout<0> + dp4 r0.y, r1, c23 // ::vout<1> + dp4 r0.z, r1, c25 // ::vout<3> + +#line 191 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\SkinnedEffect.fx" + mad oPos.xy, r0.z, c242, r0 // ::VSSkinnedPixelLightingFourBones<13,14> + mov oPos.w, r0.z // ::VSSkinnedPixelLightingFourBones<16> + +#line 195 + mov oT0.xy, v2 // ::VSSkinnedPixelLightingFourBones<0,1> + +#line 200 mov r0.yz, c243 - mad oT3, c0.w, r0.yyyz, r0.zzzy + mad oT3, c0.w, r0.yyyz, r0.zzzy // ::VSSkinnedPixelLightingFourBones<9,10,11,12> // approximately 42 instruction slots used vs_4_0 @@ -148,17 +168,17 @@ ret const BYTE SkinnedEffect_VSSkinnedPixelLightingFourBones[] = { - 68, 88, 66, 67, 233, 44, - 158, 107, 210, 54, 99, 13, - 195, 145, 49, 151, 59, 119, - 254, 187, 1, 0, 0, 0, - 192, 10, 0, 0, 4, 0, + 68, 88, 66, 67, 96, 157, + 87, 196, 38, 94, 105, 173, + 51, 47, 110, 253, 0, 184, + 79, 144, 1, 0, 0, 0, + 44, 17, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 172, 3, 0, 0, 92, 9, - 0, 0, 28, 10, 0, 0, - 65, 111, 110, 57, 116, 3, - 0, 0, 116, 3, 0, 0, - 0, 2, 254, 255, 64, 3, + 24, 10, 0, 0, 200, 15, + 0, 0, 136, 16, 0, 0, + 65, 111, 110, 57, 224, 9, + 0, 0, 224, 9, 0, 0, + 0, 2, 254, 255, 172, 9, 0, 0, 52, 0, 0, 0, 1, 0, 36, 0, 0, 0, 48, 0, 0, 0, 48, 0, @@ -166,7 +186,281 @@ const BYTE SkinnedEffect_VSSkinnedPixelLightingFourBones[] = 48, 0, 0, 0, 0, 0, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, 0, - 0, 2, 254, 255, 81, 0, + 0, 2, 254, 255, 254, 255, + 154, 1, 68, 66, 85, 71, + 40, 0, 0, 0, 60, 6, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 8, 1, + 0, 0, 48, 0, 0, 0, + 20, 1, 0, 0, 5, 0, + 0, 0, 216, 5, 0, 0, + 148, 2, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 83, 107, + 105, 110, 110, 101, 100, 69, + 102, 102, 101, 99, 116, 46, + 102, 120, 0, 67, 58, 92, + 65, 84, 71, 32, 83, 97, + 109, 112, 108, 101, 32, 68, + 101, 118, 101, 108, 111, 112, + 109, 101, 110, 116, 92, 115, + 116, 95, 100, 101, 118, 92, + 75, 105, 116, 115, 92, 68, + 105, 114, 101, 99, 116, 88, + 84, 75, 92, 83, 114, 99, + 92, 83, 104, 97, 100, 101, + 114, 115, 92, 76, 105, 103, + 104, 116, 105, 110, 103, 46, + 102, 120, 104, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 67, 111, + 109, 109, 111, 110, 46, 102, + 120, 104, 0, 171, 171, 171, + 40, 0, 0, 0, 117, 0, + 0, 0, 190, 0, 0, 0, + 0, 0, 255, 255, 112, 6, + 0, 0, 0, 0, 255, 255, + 136, 6, 0, 0, 0, 0, + 255, 255, 148, 6, 0, 0, + 0, 0, 255, 255, 160, 6, + 0, 0, 0, 0, 255, 255, + 172, 6, 0, 0, 0, 0, + 255, 255, 184, 6, 0, 0, + 52, 0, 0, 0, 196, 6, + 0, 0, 52, 0, 0, 0, + 212, 6, 0, 0, 52, 0, + 0, 0, 224, 6, 0, 0, + 52, 0, 0, 0, 244, 6, + 0, 0, 52, 0, 0, 0, + 12, 7, 0, 0, 52, 0, + 0, 0, 36, 7, 0, 0, + 55, 0, 0, 0, 60, 7, + 0, 0, 56, 0, 0, 0, + 76, 7, 0, 0, 52, 0, + 0, 0, 92, 7, 0, 0, + 52, 0, 0, 0, 112, 7, + 0, 0, 52, 0, 0, 0, + 132, 7, 0, 0, 52, 0, + 0, 0, 156, 7, 0, 0, + 52, 0, 0, 0, 180, 7, + 0, 0, 52, 0, 0, 0, + 204, 7, 0, 0, 52, 0, + 0, 0, 228, 7, 0, 0, + 52, 0, 0, 0, 252, 7, + 0, 0, 55, 0, 0, 0, + 20, 8, 0, 0, 56, 0, + 0, 0, 36, 8, 0, 0, + 55, 0, 0, 0, 52, 8, + 0, 0, 56, 0, 0, 0, + 68, 8, 0, 0, 85, 0, + 1, 0, 84, 8, 0, 0, + 85, 0, 1, 0, 96, 8, + 0, 0, 86, 0, 1, 0, + 112, 8, 0, 0, 86, 0, + 1, 0, 128, 8, 0, 0, + 86, 0, 1, 0, 144, 8, + 0, 0, 87, 0, 1, 0, + 160, 8, 0, 0, 87, 0, + 1, 0, 176, 8, 0, 0, + 87, 0, 1, 0, 192, 8, + 0, 0, 87, 0, 1, 0, + 208, 8, 0, 0, 87, 0, + 1, 0, 224, 8, 0, 0, + 87, 0, 1, 0, 236, 8, + 0, 0, 14, 0, 2, 0, + 252, 8, 0, 0, 14, 0, + 2, 0, 12, 9, 0, 0, + 14, 0, 2, 0, 28, 9, + 0, 0, 85, 0, 1, 0, + 44, 9, 0, 0, 85, 0, + 1, 0, 60, 9, 0, 0, + 85, 0, 1, 0, 76, 9, + 0, 0, 191, 0, 0, 0, + 92, 9, 0, 0, 191, 0, + 0, 0, 112, 9, 0, 0, + 195, 0, 0, 0, 124, 9, + 0, 0, 200, 0, 0, 0, + 136, 9, 0, 0, 200, 0, + 0, 0, 148, 9, 0, 0, + 86, 83, 83, 107, 105, 110, + 110, 101, 100, 80, 105, 120, + 101, 108, 76, 105, 103, 104, + 116, 105, 110, 103, 70, 111, + 117, 114, 66, 111, 110, 101, + 115, 0, 84, 101, 120, 67, + 111, 111, 114, 100, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 2, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 80, 111, 115, 105, 116, 105, + 111, 110, 87, 83, 0, 171, + 1, 0, 3, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 78, 111, + 114, 109, 97, 108, 87, 83, + 0, 171, 171, 171, 1, 0, + 3, 0, 1, 0, 3, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 68, 105, 102, 102, + 117, 115, 101, 0, 80, 111, + 115, 105, 116, 105, 111, 110, + 80, 83, 0, 171, 180, 2, + 0, 0, 192, 2, 0, 0, + 208, 2, 0, 0, 220, 2, + 0, 0, 236, 2, 0, 0, + 248, 2, 0, 0, 8, 3, + 0, 0, 220, 2, 0, 0, + 16, 3, 0, 0, 220, 2, + 0, 0, 5, 0, 0, 0, + 1, 0, 17, 0, 1, 0, + 5, 0, 28, 3, 0, 0, + 27, 0, 0, 0, 255, 255, + 255, 255, 15, 0, 255, 255, + 28, 0, 0, 0, 2, 0, + 255, 255, 255, 255, 255, 255, + 29, 0, 0, 0, 255, 255, + 3, 0, 255, 255, 255, 255, + 30, 0, 0, 0, 255, 255, + 255, 255, 4, 0, 255, 255, + 36, 0, 0, 0, 6, 0, + 7, 0, 8, 0, 255, 255, + 39, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 5, 0, + 43, 0, 0, 0, 13, 0, + 14, 0, 255, 255, 255, 255, + 44, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 16, 0, + 45, 0, 0, 0, 0, 0, + 1, 0, 255, 255, 255, 255, + 47, 0, 0, 0, 9, 0, + 10, 0, 11, 0, 12, 0, + 115, 107, 105, 110, 110, 105, + 110, 103, 0, 171, 171, 171, + 3, 0, 3, 0, 4, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 9, 0, + 0, 0, 0, 0, 3, 0, + 6, 0, 9, 0, 10, 0, + 0, 0, 0, 0, 3, 0, + 6, 0, 9, 0, 11, 0, + 0, 0, 0, 0, 3, 0, + 6, 0, 9, 0, 16, 0, + 0, 0, 2, 0, 5, 0, + 8, 0, 11, 0, 17, 0, + 0, 0, 1, 0, 4, 0, + 7, 0, 10, 0, 18, 0, + 0, 0, 1, 0, 4, 0, + 7, 0, 10, 0, 19, 0, + 0, 0, 2, 0, 5, 0, + 8, 0, 11, 0, 20, 0, + 0, 0, 2, 0, 5, 0, + 8, 0, 11, 0, 21, 0, + 0, 0, 1, 0, 4, 0, + 7, 0, 10, 0, 83, 107, + 105, 110, 0, 118, 105, 110, + 0, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 78, 111, + 114, 109, 97, 108, 0, 73, + 110, 100, 105, 99, 101, 115, + 0, 171, 171, 171, 1, 0, + 2, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 87, 101, 105, 103, + 104, 116, 115, 0, 93, 4, + 0, 0, 220, 2, 0, 0, + 102, 4, 0, 0, 248, 2, + 0, 0, 180, 2, 0, 0, + 192, 2, 0, 0, 109, 4, + 0, 0, 120, 4, 0, 0, + 136, 4, 0, 0, 220, 2, + 0, 0, 5, 0, 0, 0, + 1, 0, 17, 0, 1, 0, + 5, 0, 144, 4, 0, 0, + 12, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 13, 0, 0, 0, 4, 0, + 255, 255, 255, 255, 255, 255, + 22, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 23, 0, 0, 0, 255, 255, + 5, 0, 255, 255, 255, 255, + 24, 0, 0, 0, 255, 255, + 255, 255, 2, 0, 255, 255, + 25, 0, 0, 0, 255, 255, + 255, 255, 6, 0, 255, 255, + 1, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 2, 0, 0, 0, 4, 0, + 5, 0, 6, 0, 255, 255, + 3, 0, 0, 0, 7, 0, + 8, 0, 255, 255, 255, 255, + 4, 0, 0, 0, 9, 0, + 10, 0, 11, 0, 12, 0, + 5, 0, 0, 0, 13, 0, + 14, 0, 15, 0, 16, 0, + 118, 111, 117, 116, 0, 80, + 111, 115, 95, 112, 115, 0, + 80, 111, 115, 95, 119, 115, + 0, 78, 111, 114, 109, 97, + 108, 95, 119, 115, 0, 70, + 111, 103, 70, 97, 99, 116, + 111, 114, 0, 171, 0, 0, + 3, 0, 1, 0, 1, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 81, 5, 0, 0, + 220, 2, 0, 0, 88, 5, + 0, 0, 248, 2, 0, 0, + 95, 5, 0, 0, 248, 2, + 0, 0, 105, 5, 0, 0, + 116, 5, 0, 0, 5, 0, + 0, 0, 1, 0, 11, 0, + 1, 0, 4, 0, 132, 5, + 0, 0, 40, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 41, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 42, 0, 0, 0, + 255, 255, 255, 255, 3, 0, + 255, 255, 0, 0, 0, 0, + 148, 2, 0, 0, 68, 3, + 0, 0, 10, 0, 0, 0, + 84, 3, 0, 0, 0, 0, + 0, 0, 204, 3, 0, 0, + 216, 3, 0, 0, 9, 0, + 0, 0, 232, 3, 0, 0, + 84, 4, 0, 0, 89, 4, + 0, 0, 184, 4, 0, 0, + 6, 0, 0, 0, 200, 4, + 0, 0, 148, 2, 0, 0, + 89, 4, 0, 0, 184, 4, + 0, 0, 5, 0, 0, 0, + 16, 5, 0, 0, 0, 0, + 0, 0, 76, 5, 0, 0, + 164, 5, 0, 0, 3, 0, + 0, 0, 180, 5, 0, 0, + 77, 105, 99, 114, 111, 115, + 111, 102, 116, 32, 40, 82, + 41, 32, 72, 76, 83, 76, + 32, 83, 104, 97, 100, 101, + 114, 32, 67, 111, 109, 112, + 105, 108, 101, 114, 32, 49, + 48, 46, 49, 0, 81, 0, 0, 5, 243, 0, 15, 160, 0, 0, 64, 64, 0, 0, 0, 0, 0, 0, 128, 63, diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingOneBone.inc b/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingOneBone.inc index 837d7186..a142a541 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingOneBone.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingOneBone.inc @@ -43,44 +43,64 @@ // vs_2_0 def c243, 3, 0, 1, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 - dcl_texcoord3 v3 - dcl_texcoord4 v4 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5,6> + dcl_texcoord2 v2 // vin<7,8> + dcl_texcoord3 v3 // vin<9,10,11,12> + dcl_texcoord4 v4 // vin<13,14,15,16> + +#line 52 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\SkinnedEffect.fx" mul r0.x, v3.x, c243.x mova a0.x, r0.x - mul r0, v4.x, c26[a0.x] - dp4 r1.x, v0, r0 - dp3 r0.x, v1, r0 - mul r2, v4.x, c27[a0.x] - mul r3, v4.x, c28[a0.x] - dp4 r1.y, v0, r2 - dp3 r0.y, v1, r2 - dp4 r1.z, v0, r3 - dp3 r0.z, v1, r3 + mul r0, v4.x, c26[a0.x] // ::skinning<0,3,6,9> + +#line 55 + dp4 r1.x, v0, r0 // Skin::vin<0> + dp3 r0.x, v1, r0 // Skin::vin<4> + +#line 52 + mul r2, v4.x, c27[a0.x] // ::skinning<1,4,7,10> + mul r3, v4.x, c28[a0.x] // ::skinning<2,5,8,11> + +#line 55 + dp4 r1.y, v0, r2 // Skin::vin<1> + dp3 r0.y, v1, r2 // Skin::vin<5> + dp4 r1.z, v0, r3 // Skin::vin<2> + dp3 r0.z, v1, r3 // Skin::vin<6> + +#line 85 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" mov r1.w, v0.w - dp4 oPos.z, r1, c24 - dp4 oT1.x, r1, c15 - dp4 oT1.y, r1, c16 - dp4 oT1.z, r1, c17 + dp4 oPos.z, r1, c24 // ::VSSkinnedPixelLightingOneBone<15> + dp4 oT1.x, r1, c15 // ::VSSkinnedPixelLightingOneBone<2> + dp4 oT1.y, r1, c16 // ::VSSkinnedPixelLightingOneBone<3> + dp4 oT1.z, r1, c17 // ::VSSkinnedPixelLightingOneBone<4> dp3 r2.x, r0, c19 dp3 r2.y, r0, c20 dp3 r2.z, r0, c21 dp3 r0.x, r2, r2 rsq r0.x, r0.x - mul oT2.xyz, r0.x, r2 + mul oT2.xyz, r0.x, r2 // ::VSSkinnedPixelLightingOneBone<6,7,8> + +#line 14 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" dp4 r0.x, r1, c14 max r0.x, r0.x, c243.y - min oT1.w, r0.x, c243.z - dp4 r0.x, r1, c22 - dp4 r0.y, r1, c23 - dp4 r0.z, r1, c25 - mad oPos.xy, r0.z, c242, r0 - mov oPos.w, r0.z - mov oT0.xy, v2 + min oT1.w, r0.x, c243.z // ::VSSkinnedPixelLightingOneBone<5> + +#line 85 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp4 r0.x, r1, c22 // ::vout<0> + dp4 r0.y, r1, c23 // ::vout<1> + dp4 r0.z, r1, c25 // ::vout<3> + +#line 157 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\SkinnedEffect.fx" + mad oPos.xy, r0.z, c242, r0 // ::VSSkinnedPixelLightingOneBone<13,14> + mov oPos.w, r0.z // ::VSSkinnedPixelLightingOneBone<16> + +#line 161 + mov oT0.xy, v2 // ::VSSkinnedPixelLightingOneBone<0,1> + +#line 166 mov r0.yz, c243 - mad oT3, c0.w, r0.yyyz, r0.zzzy + mad oT3, c0.w, r0.yyyz, r0.zzzy // ::VSSkinnedPixelLightingOneBone<9,10,11,12> // approximately 33 instruction slots used vs_4_0 @@ -130,17 +150,17 @@ ret const BYTE SkinnedEffect_VSSkinnedPixelLightingOneBone[] = { - 68, 88, 66, 67, 41, 197, - 48, 64, 51, 72, 196, 249, - 192, 213, 70, 47, 196, 138, - 134, 101, 1, 0, 0, 0, - 44, 8, 0, 0, 4, 0, + 68, 88, 66, 67, 106, 73, + 236, 75, 243, 219, 238, 14, + 117, 141, 149, 254, 34, 55, + 148, 241, 1, 0, 0, 0, + 4, 14, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 212, 2, 0, 0, 200, 6, - 0, 0, 136, 7, 0, 0, - 65, 111, 110, 57, 156, 2, - 0, 0, 156, 2, 0, 0, - 0, 2, 254, 255, 104, 2, + 172, 8, 0, 0, 160, 12, + 0, 0, 96, 13, 0, 0, + 65, 111, 110, 57, 116, 8, + 0, 0, 116, 8, 0, 0, + 0, 2, 254, 255, 64, 8, 0, 0, 52, 0, 0, 0, 1, 0, 36, 0, 0, 0, 48, 0, 0, 0, 48, 0, @@ -148,335 +168,584 @@ const BYTE SkinnedEffect_VSSkinnedPixelLightingOneBone[] = 48, 0, 0, 0, 0, 0, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, 0, - 0, 2, 254, 255, 81, 0, - 0, 5, 243, 0, 15, 160, - 0, 0, 64, 64, 0, 0, - 0, 0, 0, 0, 128, 63, - 0, 0, 0, 0, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 1, 128, - 1, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 2, 128, - 2, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 3, 128, - 3, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 4, 128, - 4, 0, 15, 144, 5, 0, - 0, 3, 0, 0, 1, 128, - 3, 0, 0, 144, 243, 0, - 0, 160, 46, 0, 0, 2, - 0, 0, 1, 176, 0, 0, - 0, 128, 5, 0, 0, 4, - 0, 0, 15, 128, 4, 0, - 0, 144, 26, 32, 228, 160, - 0, 0, 0, 176, 9, 0, - 0, 3, 1, 0, 1, 128, - 0, 0, 228, 144, 0, 0, - 228, 128, 8, 0, 0, 3, - 0, 0, 1, 128, 1, 0, - 228, 144, 0, 0, 228, 128, - 5, 0, 0, 4, 2, 0, - 15, 128, 4, 0, 0, 144, - 27, 32, 228, 160, 0, 0, - 0, 176, 5, 0, 0, 4, - 3, 0, 15, 128, 4, 0, - 0, 144, 28, 32, 228, 160, - 0, 0, 0, 176, 9, 0, - 0, 3, 1, 0, 2, 128, - 0, 0, 228, 144, 2, 0, - 228, 128, 8, 0, 0, 3, - 0, 0, 2, 128, 1, 0, - 228, 144, 2, 0, 228, 128, + 0, 2, 254, 255, 254, 255, + 117, 1, 68, 66, 85, 71, + 40, 0, 0, 0, 168, 5, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 8, 1, + 0, 0, 39, 0, 0, 0, + 20, 1, 0, 0, 5, 0, + 0, 0, 68, 5, 0, 0, + 76, 2, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 83, 107, + 105, 110, 110, 101, 100, 69, + 102, 102, 101, 99, 116, 46, + 102, 120, 0, 67, 58, 92, + 65, 84, 71, 32, 83, 97, + 109, 112, 108, 101, 32, 68, + 101, 118, 101, 108, 111, 112, + 109, 101, 110, 116, 92, 115, + 116, 95, 100, 101, 118, 92, + 75, 105, 116, 115, 92, 68, + 105, 114, 101, 99, 116, 88, + 84, 75, 92, 83, 114, 99, + 92, 83, 104, 97, 100, 101, + 114, 115, 92, 76, 105, 103, + 104, 116, 105, 110, 103, 46, + 102, 120, 104, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 67, 111, + 109, 109, 111, 110, 46, 102, + 120, 104, 0, 171, 171, 171, + 40, 0, 0, 0, 117, 0, + 0, 0, 190, 0, 0, 0, + 0, 0, 255, 255, 220, 5, + 0, 0, 0, 0, 255, 255, + 244, 5, 0, 0, 0, 0, + 255, 255, 0, 6, 0, 0, + 0, 0, 255, 255, 12, 6, + 0, 0, 0, 0, 255, 255, + 24, 6, 0, 0, 0, 0, + 255, 255, 36, 6, 0, 0, + 52, 0, 0, 0, 48, 6, + 0, 0, 52, 0, 0, 0, + 64, 6, 0, 0, 52, 0, + 0, 0, 76, 6, 0, 0, + 55, 0, 0, 0, 96, 6, + 0, 0, 56, 0, 0, 0, + 112, 6, 0, 0, 52, 0, + 0, 0, 128, 6, 0, 0, + 52, 0, 0, 0, 148, 6, + 0, 0, 55, 0, 0, 0, + 168, 6, 0, 0, 56, 0, + 0, 0, 184, 6, 0, 0, + 55, 0, 0, 0, 200, 6, + 0, 0, 56, 0, 0, 0, + 216, 6, 0, 0, 85, 0, + 1, 0, 232, 6, 0, 0, + 85, 0, 1, 0, 244, 6, + 0, 0, 86, 0, 1, 0, + 4, 7, 0, 0, 86, 0, + 1, 0, 20, 7, 0, 0, + 86, 0, 1, 0, 36, 7, + 0, 0, 87, 0, 1, 0, + 52, 7, 0, 0, 87, 0, + 1, 0, 68, 7, 0, 0, + 87, 0, 1, 0, 84, 7, + 0, 0, 87, 0, 1, 0, + 100, 7, 0, 0, 87, 0, + 1, 0, 116, 7, 0, 0, + 87, 0, 1, 0, 128, 7, + 0, 0, 14, 0, 2, 0, + 144, 7, 0, 0, 14, 0, + 2, 0, 160, 7, 0, 0, + 14, 0, 2, 0, 176, 7, + 0, 0, 85, 0, 1, 0, + 192, 7, 0, 0, 85, 0, + 1, 0, 208, 7, 0, 0, + 85, 0, 1, 0, 224, 7, + 0, 0, 157, 0, 0, 0, + 240, 7, 0, 0, 157, 0, + 0, 0, 4, 8, 0, 0, + 161, 0, 0, 0, 16, 8, + 0, 0, 166, 0, 0, 0, + 28, 8, 0, 0, 166, 0, + 0, 0, 40, 8, 0, 0, + 86, 83, 83, 107, 105, 110, + 110, 101, 100, 80, 105, 120, + 101, 108, 76, 105, 103, 104, + 116, 105, 110, 103, 79, 110, + 101, 66, 111, 110, 101, 0, + 84, 101, 120, 67, 111, 111, + 114, 100, 0, 171, 1, 0, + 3, 0, 1, 0, 2, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 80, 111, 115, 105, + 116, 105, 111, 110, 87, 83, + 0, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 78, 111, 114, 109, 97, 108, + 87, 83, 0, 171, 171, 171, + 1, 0, 3, 0, 1, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 68, 105, + 102, 102, 117, 115, 101, 0, + 80, 111, 115, 105, 116, 105, + 111, 110, 80, 83, 0, 171, + 106, 2, 0, 0, 116, 2, + 0, 0, 132, 2, 0, 0, + 144, 2, 0, 0, 160, 2, + 0, 0, 172, 2, 0, 0, + 188, 2, 0, 0, 144, 2, + 0, 0, 196, 2, 0, 0, + 144, 2, 0, 0, 5, 0, + 0, 0, 1, 0, 17, 0, + 1, 0, 5, 0, 208, 2, + 0, 0, 18, 0, 0, 0, + 255, 255, 255, 255, 15, 0, + 255, 255, 19, 0, 0, 0, + 2, 0, 255, 255, 255, 255, + 255, 255, 20, 0, 0, 0, + 255, 255, 3, 0, 255, 255, + 255, 255, 21, 0, 0, 0, + 255, 255, 255, 255, 4, 0, + 255, 255, 27, 0, 0, 0, + 6, 0, 7, 0, 8, 0, + 255, 255, 30, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 5, 0, 34, 0, 0, 0, + 13, 0, 14, 0, 255, 255, + 255, 255, 35, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 16, 0, 36, 0, 0, 0, + 0, 0, 1, 0, 255, 255, + 255, 255, 38, 0, 0, 0, + 9, 0, 10, 0, 11, 0, + 12, 0, 115, 107, 105, 110, + 110, 105, 110, 103, 0, 171, + 171, 171, 3, 0, 3, 0, + 4, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 0, 0, + 3, 0, 6, 0, 9, 0, + 11, 0, 0, 0, 1, 0, + 4, 0, 7, 0, 10, 0, + 12, 0, 0, 0, 2, 0, + 5, 0, 8, 0, 11, 0, + 83, 107, 105, 110, 0, 118, + 105, 110, 0, 80, 111, 115, + 105, 116, 105, 111, 110, 0, + 78, 111, 114, 109, 97, 108, + 0, 73, 110, 100, 105, 99, + 101, 115, 0, 171, 171, 171, + 1, 0, 2, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 87, 101, + 105, 103, 104, 116, 115, 0, + 201, 3, 0, 0, 144, 2, + 0, 0, 210, 3, 0, 0, + 172, 2, 0, 0, 106, 2, + 0, 0, 116, 2, 0, 0, + 217, 3, 0, 0, 228, 3, + 0, 0, 244, 3, 0, 0, + 144, 2, 0, 0, 5, 0, + 0, 0, 1, 0, 17, 0, + 1, 0, 5, 0, 252, 3, + 0, 0, 9, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 10, 0, 0, 0, + 4, 0, 255, 255, 255, 255, + 255, 255, 13, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 14, 0, 0, 0, + 255, 255, 5, 0, 255, 255, + 255, 255, 15, 0, 0, 0, + 255, 255, 255, 255, 2, 0, + 255, 255, 16, 0, 0, 0, + 255, 255, 255, 255, 6, 0, + 255, 255, 1, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 2, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 255, 255, 3, 0, 0, 0, + 7, 0, 8, 0, 255, 255, + 255, 255, 4, 0, 0, 0, + 9, 0, 10, 0, 11, 0, + 12, 0, 5, 0, 0, 0, + 13, 0, 14, 0, 15, 0, + 16, 0, 118, 111, 117, 116, + 0, 80, 111, 115, 95, 112, + 115, 0, 80, 111, 115, 95, + 119, 115, 0, 78, 111, 114, + 109, 97, 108, 95, 119, 115, + 0, 70, 111, 103, 70, 97, + 99, 116, 111, 114, 0, 171, + 0, 0, 3, 0, 1, 0, + 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 189, 4, + 0, 0, 144, 2, 0, 0, + 196, 4, 0, 0, 172, 2, + 0, 0, 203, 4, 0, 0, + 172, 2, 0, 0, 213, 4, + 0, 0, 224, 4, 0, 0, + 5, 0, 0, 0, 1, 0, + 11, 0, 1, 0, 4, 0, + 240, 4, 0, 0, 31, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 32, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 33, 0, + 0, 0, 255, 255, 255, 255, + 3, 0, 255, 255, 0, 0, + 0, 0, 76, 2, 0, 0, + 248, 2, 0, 0, 10, 0, + 0, 0, 8, 3, 0, 0, + 0, 0, 0, 0, 128, 3, + 0, 0, 140, 3, 0, 0, + 3, 0, 0, 0, 156, 3, + 0, 0, 192, 3, 0, 0, + 197, 3, 0, 0, 36, 4, + 0, 0, 6, 0, 0, 0, + 52, 4, 0, 0, 76, 2, + 0, 0, 197, 3, 0, 0, + 36, 4, 0, 0, 5, 0, + 0, 0, 124, 4, 0, 0, + 0, 0, 0, 0, 184, 4, + 0, 0, 16, 5, 0, 0, + 3, 0, 0, 0, 32, 5, + 0, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 81, 0, 0, 5, 243, 0, + 15, 160, 0, 0, 64, 64, + 0, 0, 0, 0, 0, 0, + 128, 63, 0, 0, 0, 0, + 31, 0, 0, 2, 5, 0, + 0, 128, 0, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 1, 128, 1, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 2, 128, 2, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 3, 128, 3, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 4, 128, 4, 0, 15, 144, + 5, 0, 0, 3, 0, 0, + 1, 128, 3, 0, 0, 144, + 243, 0, 0, 160, 46, 0, + 0, 2, 0, 0, 1, 176, + 0, 0, 0, 128, 5, 0, + 0, 4, 0, 0, 15, 128, + 4, 0, 0, 144, 26, 32, + 228, 160, 0, 0, 0, 176, 9, 0, 0, 3, 1, 0, - 4, 128, 0, 0, 228, 144, - 3, 0, 228, 128, 8, 0, - 0, 3, 0, 0, 4, 128, - 1, 0, 228, 144, 3, 0, - 228, 128, 1, 0, 0, 2, - 1, 0, 8, 128, 0, 0, - 255, 144, 9, 0, 0, 3, - 0, 0, 4, 192, 1, 0, - 228, 128, 24, 0, 228, 160, + 1, 128, 0, 0, 228, 144, + 0, 0, 228, 128, 8, 0, + 0, 3, 0, 0, 1, 128, + 1, 0, 228, 144, 0, 0, + 228, 128, 5, 0, 0, 4, + 2, 0, 15, 128, 4, 0, + 0, 144, 27, 32, 228, 160, + 0, 0, 0, 176, 5, 0, + 0, 4, 3, 0, 15, 128, + 4, 0, 0, 144, 28, 32, + 228, 160, 0, 0, 0, 176, 9, 0, 0, 3, 1, 0, - 1, 224, 1, 0, 228, 128, - 15, 0, 228, 160, 9, 0, - 0, 3, 1, 0, 2, 224, - 1, 0, 228, 128, 16, 0, + 2, 128, 0, 0, 228, 144, + 2, 0, 228, 128, 8, 0, + 0, 3, 0, 0, 2, 128, + 1, 0, 228, 144, 2, 0, + 228, 128, 9, 0, 0, 3, + 1, 0, 4, 128, 0, 0, + 228, 144, 3, 0, 228, 128, + 8, 0, 0, 3, 0, 0, + 4, 128, 1, 0, 228, 144, + 3, 0, 228, 128, 1, 0, + 0, 2, 1, 0, 8, 128, + 0, 0, 255, 144, 9, 0, + 0, 3, 0, 0, 4, 192, + 1, 0, 228, 128, 24, 0, 228, 160, 9, 0, 0, 3, - 1, 0, 4, 224, 1, 0, - 228, 128, 17, 0, 228, 160, + 1, 0, 1, 224, 1, 0, + 228, 128, 15, 0, 228, 160, + 9, 0, 0, 3, 1, 0, + 2, 224, 1, 0, 228, 128, + 16, 0, 228, 160, 9, 0, + 0, 3, 1, 0, 4, 224, + 1, 0, 228, 128, 17, 0, + 228, 160, 8, 0, 0, 3, + 2, 0, 1, 128, 0, 0, + 228, 128, 19, 0, 228, 160, 8, 0, 0, 3, 2, 0, - 1, 128, 0, 0, 228, 128, - 19, 0, 228, 160, 8, 0, - 0, 3, 2, 0, 2, 128, - 0, 0, 228, 128, 20, 0, + 2, 128, 0, 0, 228, 128, + 20, 0, 228, 160, 8, 0, + 0, 3, 2, 0, 4, 128, + 0, 0, 228, 128, 21, 0, 228, 160, 8, 0, 0, 3, - 2, 0, 4, 128, 0, 0, - 228, 128, 21, 0, 228, 160, - 8, 0, 0, 3, 0, 0, - 1, 128, 2, 0, 228, 128, - 2, 0, 228, 128, 7, 0, - 0, 2, 0, 0, 1, 128, - 0, 0, 0, 128, 5, 0, - 0, 3, 2, 0, 7, 224, - 0, 0, 0, 128, 2, 0, - 228, 128, 9, 0, 0, 3, - 0, 0, 1, 128, 1, 0, - 228, 128, 14, 0, 228, 160, - 11, 0, 0, 3, 0, 0, + 0, 0, 1, 128, 2, 0, + 228, 128, 2, 0, 228, 128, + 7, 0, 0, 2, 0, 0, 1, 128, 0, 0, 0, 128, - 243, 0, 85, 160, 10, 0, - 0, 3, 1, 0, 8, 224, - 0, 0, 0, 128, 243, 0, - 170, 160, 9, 0, 0, 3, - 0, 0, 1, 128, 1, 0, - 228, 128, 22, 0, 228, 160, + 5, 0, 0, 3, 2, 0, + 7, 224, 0, 0, 0, 128, + 2, 0, 228, 128, 9, 0, + 0, 3, 0, 0, 1, 128, + 1, 0, 228, 128, 14, 0, + 228, 160, 11, 0, 0, 3, + 0, 0, 1, 128, 0, 0, + 0, 128, 243, 0, 85, 160, + 10, 0, 0, 3, 1, 0, + 8, 224, 0, 0, 0, 128, + 243, 0, 170, 160, 9, 0, + 0, 3, 0, 0, 1, 128, + 1, 0, 228, 128, 22, 0, + 228, 160, 9, 0, 0, 3, + 0, 0, 2, 128, 1, 0, + 228, 128, 23, 0, 228, 160, 9, 0, 0, 3, 0, 0, - 2, 128, 1, 0, 228, 128, - 23, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 4, 128, - 1, 0, 228, 128, 25, 0, - 228, 160, 4, 0, 0, 4, - 0, 0, 3, 192, 0, 0, - 170, 128, 242, 0, 228, 160, - 0, 0, 228, 128, 1, 0, - 0, 2, 0, 0, 8, 192, - 0, 0, 170, 128, 1, 0, - 0, 2, 0, 0, 3, 224, - 2, 0, 228, 144, 1, 0, - 0, 2, 0, 0, 6, 128, - 243, 0, 228, 160, 4, 0, - 0, 4, 3, 0, 15, 224, - 0, 0, 255, 160, 0, 0, - 149, 128, 0, 0, 106, 128, - 255, 255, 0, 0, 83, 72, - 68, 82, 236, 3, 0, 0, - 64, 0, 1, 0, 251, 0, - 0, 0, 89, 8, 0, 4, - 70, 142, 32, 0, 0, 0, - 0, 0, 242, 0, 0, 0, - 95, 0, 0, 3, 242, 16, - 16, 0, 0, 0, 0, 0, - 95, 0, 0, 3, 114, 16, + 4, 128, 1, 0, 228, 128, + 25, 0, 228, 160, 4, 0, + 0, 4, 0, 0, 3, 192, + 0, 0, 170, 128, 242, 0, + 228, 160, 0, 0, 228, 128, + 1, 0, 0, 2, 0, 0, + 8, 192, 0, 0, 170, 128, + 1, 0, 0, 2, 0, 0, + 3, 224, 2, 0, 228, 144, + 1, 0, 0, 2, 0, 0, + 6, 128, 243, 0, 228, 160, + 4, 0, 0, 4, 3, 0, + 15, 224, 0, 0, 255, 160, + 0, 0, 149, 128, 0, 0, + 106, 128, 255, 255, 0, 0, + 83, 72, 68, 82, 236, 3, + 0, 0, 64, 0, 1, 0, + 251, 0, 0, 0, 89, 8, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 242, 0, + 0, 0, 95, 0, 0, 3, + 242, 16, 16, 0, 0, 0, + 0, 0, 95, 0, 0, 3, + 114, 16, 16, 0, 1, 0, + 0, 0, 95, 0, 0, 3, + 50, 16, 16, 0, 2, 0, + 0, 0, 95, 0, 0, 3, + 18, 16, 16, 0, 3, 0, + 0, 0, 95, 0, 0, 3, + 18, 16, 16, 0, 4, 0, + 0, 0, 101, 0, 0, 3, + 50, 32, 16, 0, 0, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 1, 0, + 0, 0, 101, 0, 0, 3, + 114, 32, 16, 0, 2, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 3, 0, + 0, 0, 103, 0, 0, 4, + 242, 32, 16, 0, 4, 0, + 0, 0, 1, 0, 0, 0, + 104, 0, 0, 2, 4, 0, + 0, 0, 54, 0, 0, 5, + 50, 32, 16, 0, 0, 0, + 0, 0, 70, 16, 16, 0, + 2, 0, 0, 0, 38, 0, + 0, 8, 0, 208, 0, 0, + 18, 0, 16, 0, 0, 0, + 0, 0, 10, 16, 16, 0, + 3, 0, 0, 0, 1, 64, + 0, 0, 3, 0, 0, 0, + 56, 0, 0, 10, 242, 0, 16, 0, 1, 0, 0, 0, - 95, 0, 0, 3, 50, 16, - 16, 0, 2, 0, 0, 0, - 95, 0, 0, 3, 18, 16, - 16, 0, 3, 0, 0, 0, - 95, 0, 0, 3, 18, 16, - 16, 0, 4, 0, 0, 0, - 101, 0, 0, 3, 50, 32, + 6, 16, 16, 0, 4, 0, + 0, 0, 70, 142, 32, 6, + 0, 0, 0, 0, 26, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 17, 0, + 0, 7, 18, 0, 16, 0, + 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, - 101, 0, 0, 3, 242, 32, + 70, 14, 16, 0, 1, 0, + 0, 0, 16, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 70, 18, 16, 0, + 1, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, - 101, 0, 0, 3, 114, 32, - 16, 0, 2, 0, 0, 0, - 101, 0, 0, 3, 242, 32, + 56, 0, 0, 10, 242, 0, 16, 0, 3, 0, 0, 0, - 103, 0, 0, 4, 242, 32, - 16, 0, 4, 0, 0, 0, - 1, 0, 0, 0, 104, 0, - 0, 2, 4, 0, 0, 0, - 54, 0, 0, 5, 50, 32, - 16, 0, 0, 0, 0, 0, - 70, 16, 16, 0, 2, 0, - 0, 0, 38, 0, 0, 8, - 0, 208, 0, 0, 18, 0, - 16, 0, 0, 0, 0, 0, - 10, 16, 16, 0, 3, 0, - 0, 0, 1, 64, 0, 0, - 3, 0, 0, 0, 56, 0, + 6, 16, 16, 0, 4, 0, + 0, 0, 70, 142, 32, 6, + 0, 0, 0, 0, 27, 0, + 0, 0, 10, 0, 16, 0, + 0, 0, 0, 0, 56, 0, 0, 10, 242, 0, 16, 0, - 1, 0, 0, 0, 6, 16, + 0, 0, 0, 0, 6, 16, 16, 0, 4, 0, 0, 0, 70, 142, 32, 6, 0, 0, - 0, 0, 26, 0, 0, 0, + 0, 0, 28, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, 17, 0, 0, 7, - 18, 0, 16, 0, 2, 0, + 34, 0, 16, 0, 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, 70, 14, - 16, 0, 1, 0, 0, 0, - 16, 0, 0, 7, 18, 0, + 16, 0, 3, 0, 0, 0, + 16, 0, 0, 7, 34, 0, 16, 0, 1, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 56, 0, - 0, 10, 242, 0, 16, 0, - 3, 0, 0, 0, 6, 16, - 16, 0, 4, 0, 0, 0, - 70, 142, 32, 6, 0, 0, - 0, 0, 27, 0, 0, 0, - 10, 0, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 10, - 242, 0, 16, 0, 0, 0, - 0, 0, 6, 16, 16, 0, - 4, 0, 0, 0, 70, 142, - 32, 6, 0, 0, 0, 0, - 28, 0, 0, 0, 10, 0, + 3, 0, 0, 0, 17, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, - 17, 0, 0, 7, 34, 0, - 16, 0, 2, 0, 0, 0, - 70, 30, 16, 0, 0, 0, - 0, 0, 70, 14, 16, 0, - 3, 0, 0, 0, 16, 0, - 0, 7, 34, 0, 16, 0, - 1, 0, 0, 0, 70, 18, - 16, 0, 1, 0, 0, 0, - 70, 2, 16, 0, 3, 0, - 0, 0, 17, 0, 0, 7, - 66, 0, 16, 0, 2, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 70, 14, - 16, 0, 0, 0, 0, 0, - 16, 0, 0, 7, 66, 0, - 16, 0, 1, 0, 0, 0, - 70, 18, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 54, 0, - 0, 5, 130, 0, 16, 0, - 2, 0, 0, 0, 58, 16, + 70, 14, 16, 0, 0, 0, + 0, 0, 16, 0, 0, 7, + 66, 0, 16, 0, 1, 0, + 0, 0, 70, 18, 16, 0, + 1, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, - 17, 0, 0, 8, 18, 32, - 16, 0, 1, 0, 0, 0, - 70, 14, 16, 0, 2, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 15, 0, + 54, 0, 0, 5, 130, 0, + 16, 0, 2, 0, 0, 0, + 58, 16, 16, 0, 0, 0, 0, 0, 17, 0, 0, 8, - 34, 32, 16, 0, 1, 0, + 18, 32, 16, 0, 1, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 16, 0, 0, 0, 17, 0, - 0, 8, 66, 32, 16, 0, + 15, 0, 0, 0, 17, 0, + 0, 8, 34, 32, 16, 0, 1, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, 0, 0, - 0, 0, 17, 0, 0, 0, - 17, 32, 0, 8, 130, 32, + 0, 0, 16, 0, 0, 0, + 17, 0, 0, 8, 66, 32, 16, 0, 1, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 14, 0, - 0, 0, 16, 0, 0, 8, - 18, 0, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 70, 130, + 0, 0, 0, 0, 17, 0, + 0, 0, 17, 32, 0, 8, + 130, 32, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 19, 0, 0, 0, 16, 0, - 0, 8, 34, 0, 16, 0, + 14, 0, 0, 0, 16, 0, + 0, 8, 18, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, 0, 0, - 0, 0, 20, 0, 0, 0, - 16, 0, 0, 8, 66, 0, + 0, 0, 19, 0, 0, 0, + 16, 0, 0, 8, 34, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 21, 0, - 0, 0, 16, 0, 0, 7, - 130, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 20, 0, + 0, 0, 16, 0, 0, 8, + 66, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 21, 0, 0, 0, 16, 0, + 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, - 68, 0, 0, 5, 130, 0, - 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 7, - 114, 32, 16, 0, 2, 0, - 0, 0, 246, 15, 16, 0, - 0, 0, 0, 0, 70, 2, + 70, 2, 16, 0, 0, 0, + 0, 0, 68, 0, 0, 5, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 7, 114, 32, 16, 0, + 2, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, - 54, 0, 0, 8, 114, 32, - 16, 0, 3, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 128, 63, 0, 0, 128, 63, + 70, 2, 16, 0, 0, 0, + 0, 0, 54, 0, 0, 8, + 114, 32, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, - 0, 0, 54, 0, 0, 6, - 130, 32, 16, 0, 3, 0, - 0, 0, 58, 128, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 17, 0, 0, 8, - 18, 32, 16, 0, 4, 0, - 0, 0, 70, 14, 16, 0, - 2, 0, 0, 0, 70, 142, + 128, 63, 0, 0, 128, 63, + 0, 0, 0, 0, 54, 0, + 0, 6, 130, 32, 16, 0, + 3, 0, 0, 0, 58, 128, 32, 0, 0, 0, 0, 0, - 22, 0, 0, 0, 17, 0, - 0, 8, 34, 32, 16, 0, + 0, 0, 0, 0, 17, 0, + 0, 8, 18, 32, 16, 0, 4, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, 0, 0, - 0, 0, 23, 0, 0, 0, - 17, 0, 0, 8, 66, 32, + 0, 0, 22, 0, 0, 0, + 17, 0, 0, 8, 34, 32, 16, 0, 4, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 24, 0, + 0, 0, 0, 0, 23, 0, 0, 0, 17, 0, 0, 8, - 130, 32, 16, 0, 4, 0, + 66, 32, 16, 0, 4, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 25, 0, 0, 0, 62, 0, - 0, 1, 73, 83, 71, 78, - 184, 0, 0, 0, 5, 0, - 0, 0, 8, 0, 0, 0, - 128, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 15, 0, 0, - 140, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 7, 7, 0, 0, - 147, 0, 0, 0, 0, 0, + 24, 0, 0, 0, 17, 0, + 0, 8, 130, 32, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 25, 0, 0, 0, + 62, 0, 0, 1, 73, 83, + 71, 78, 184, 0, 0, 0, + 5, 0, 0, 0, 8, 0, + 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 3, 3, 0, 0, - 156, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 15, + 0, 0, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 3, 0, - 0, 0, 15, 1, 0, 0, - 169, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 7, 7, + 0, 0, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 4, 0, - 0, 0, 15, 1, 0, 0, - 83, 86, 95, 80, 111, 115, - 105, 116, 105, 111, 110, 0, - 78, 79, 82, 77, 65, 76, - 0, 84, 69, 88, 67, 79, - 79, 82, 68, 0, 66, 76, - 69, 78, 68, 73, 78, 68, - 73, 67, 69, 83, 0, 66, - 76, 69, 78, 68, 87, 69, - 73, 71, 72, 84, 0, 171, - 171, 171, 79, 83, 71, 78, - 156, 0, 0, 0, 5, 0, - 0, 0, 8, 0, 0, 0, - 128, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 2, 0, 0, 0, 3, 3, + 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 3, 12, 0, 0, - 128, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 3, 0, 0, 0, 15, 1, + 0, 0, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 15, 0, 0, 0, - 128, 0, 0, 0, 2, 0, + 0, 0, 3, 0, 0, 0, + 4, 0, 0, 0, 15, 1, + 0, 0, 83, 86, 95, 80, + 111, 115, 105, 116, 105, 111, + 110, 0, 78, 79, 82, 77, + 65, 76, 0, 84, 69, 88, + 67, 79, 79, 82, 68, 0, + 66, 76, 69, 78, 68, 73, + 78, 68, 73, 67, 69, 83, + 0, 66, 76, 69, 78, 68, + 87, 69, 73, 71, 72, 84, + 0, 171, 171, 171, 79, 83, + 71, 78, 156, 0, 0, 0, + 5, 0, 0, 0, 8, 0, + 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 7, 8, 0, 0, - 137, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 3, 12, + 0, 0, 128, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 15, 0, + 0, 0, 128, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 2, 0, 0, 0, 7, 8, + 0, 0, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 3, 0, - 0, 0, 15, 0, 0, 0, - 143, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 4, 0, - 0, 0, 15, 0, 0, 0, - 84, 69, 88, 67, 79, 79, - 82, 68, 0, 67, 79, 76, - 79, 82, 0, 83, 86, 95, - 80, 111, 115, 105, 116, 105, - 111, 110, 0, 171 + 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 15, 0, + 0, 0, 143, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 4, 0, 0, 0, 15, 0, + 0, 0, 84, 69, 88, 67, + 79, 79, 82, 68, 0, 67, + 79, 76, 79, 82, 0, 83, + 86, 95, 80, 111, 115, 105, + 116, 105, 111, 110, 0, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingTwoBones.inc b/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingTwoBones.inc index 9473c2ae..326e2883 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingTwoBones.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedPixelLightingTwoBones.inc @@ -43,47 +43,67 @@ // vs_2_0 def c243, 3, 0, 1, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 - dcl_texcoord3 v3 - dcl_texcoord4 v4 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5,6> + dcl_texcoord2 v2 // vin<7,8> + dcl_texcoord3 v3 // vin<9,10,11,12> + dcl_texcoord4 v4 // vin<13,14,15,16> + +#line 52 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\SkinnedEffect.fx" mul r0.xy, v3, c243.x mova a0.xy, r0.yxzw mul r0, v4.y, c26[a0.x] - mad r0, c26[a0.y], v4.x, r0 - dp4 r1.x, v0, r0 - dp3 r0.x, v1, r0 + mad r0, c26[a0.y], v4.x, r0 // ::skinning<0,3,6,9> + +#line 55 + dp4 r1.x, v0, r0 // Skin::vin<0> + dp3 r0.x, v1, r0 // Skin::vin<4> + +#line 52 mul r2, v4.y, c27[a0.x] mul r3, v4.y, c28[a0.x] - mad r3, c28[a0.y], v4.x, r3 - mad r2, c27[a0.y], v4.x, r2 - dp4 r1.y, v0, r2 - dp3 r0.y, v1, r2 - dp4 r1.z, v0, r3 - dp3 r0.z, v1, r3 + mad r3, c28[a0.y], v4.x, r3 // ::skinning<2,5,8,11> + mad r2, c27[a0.y], v4.x, r2 // ::skinning<1,4,7,10> + +#line 55 + dp4 r1.y, v0, r2 // Skin::vin<1> + dp3 r0.y, v1, r2 // Skin::vin<5> + dp4 r1.z, v0, r3 // Skin::vin<2> + dp3 r0.z, v1, r3 // Skin::vin<6> + +#line 85 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" mov r1.w, v0.w - dp4 oPos.z, r1, c24 - dp4 oT1.x, r1, c15 - dp4 oT1.y, r1, c16 - dp4 oT1.z, r1, c17 + dp4 oPos.z, r1, c24 // ::VSSkinnedPixelLightingTwoBones<15> + dp4 oT1.x, r1, c15 // ::VSSkinnedPixelLightingTwoBones<2> + dp4 oT1.y, r1, c16 // ::VSSkinnedPixelLightingTwoBones<3> + dp4 oT1.z, r1, c17 // ::VSSkinnedPixelLightingTwoBones<4> dp3 r2.x, r0, c19 dp3 r2.y, r0, c20 dp3 r2.z, r0, c21 dp3 r0.x, r2, r2 rsq r0.x, r0.x - mul oT2.xyz, r0.x, r2 + mul oT2.xyz, r0.x, r2 // ::VSSkinnedPixelLightingTwoBones<6,7,8> + +#line 14 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" dp4 r0.x, r1, c14 max r0.x, r0.x, c243.y - min oT1.w, r0.x, c243.z - dp4 r0.x, r1, c22 - dp4 r0.y, r1, c23 - dp4 r0.z, r1, c25 - mad oPos.xy, r0.z, c242, r0 - mov oPos.w, r0.z - mov oT0.xy, v2 - mov r0.yz, c243 - mad oT3, c0.w, r0.yyyz, r0.zzzy + min oT1.w, r0.x, c243.z // ::VSSkinnedPixelLightingTwoBones<5> + +#line 85 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp4 r0.x, r1, c22 // ::vout<0> + dp4 r0.y, r1, c23 // ::vout<1> + dp4 r0.z, r1, c25 // ::vout<3> + +#line 174 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\SkinnedEffect.fx" + mad oPos.xy, r0.z, c242, r0 // ::VSSkinnedPixelLightingTwoBones<13,14> + mov oPos.w, r0.z // ::VSSkinnedPixelLightingTwoBones<16> + +#line 178 + mov oT0.xy, v2 // ::VSSkinnedPixelLightingTwoBones<0,1> + +#line 183 + mov r0.yz, c243 // ::skinning<10> + mad oT3, c0.w, r0.yyyz, r0.zzzy // ::VSSkinnedPixelLightingTwoBones<9,10,11,12> // approximately 36 instruction slots used vs_4_0 @@ -136,17 +156,17 @@ ret const BYTE SkinnedEffect_VSSkinnedPixelLightingTwoBones[] = { - 68, 88, 66, 67, 163, 194, - 247, 169, 98, 146, 170, 161, - 181, 157, 159, 161, 31, 127, - 1, 147, 1, 0, 0, 0, - 16, 9, 0, 0, 4, 0, + 68, 88, 66, 67, 146, 0, + 191, 242, 86, 70, 57, 128, + 104, 67, 87, 60, 45, 136, + 149, 16, 1, 0, 0, 0, + 12, 15, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 28, 3, 0, 0, 172, 7, - 0, 0, 108, 8, 0, 0, - 65, 111, 110, 57, 228, 2, - 0, 0, 228, 2, 0, 0, - 0, 2, 254, 255, 176, 2, + 24, 9, 0, 0, 168, 13, + 0, 0, 104, 14, 0, 0, + 65, 111, 110, 57, 224, 8, + 0, 0, 224, 8, 0, 0, + 0, 2, 254, 255, 172, 8, 0, 0, 52, 0, 0, 0, 1, 0, 36, 0, 0, 0, 48, 0, 0, 0, 48, 0, @@ -154,373 +174,628 @@ const BYTE SkinnedEffect_VSSkinnedPixelLightingTwoBones[] = 48, 0, 0, 0, 0, 0, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, 0, - 0, 2, 254, 255, 81, 0, - 0, 5, 243, 0, 15, 160, - 0, 0, 64, 64, 0, 0, - 0, 0, 0, 0, 128, 63, - 0, 0, 0, 0, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 1, 128, - 1, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 2, 128, - 2, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 3, 128, - 3, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 4, 128, - 4, 0, 15, 144, 5, 0, - 0, 3, 0, 0, 3, 128, - 3, 0, 228, 144, 243, 0, - 0, 160, 46, 0, 0, 2, - 0, 0, 3, 176, 0, 0, - 225, 128, 5, 0, 0, 4, - 0, 0, 15, 128, 4, 0, - 85, 144, 26, 32, 228, 160, - 0, 0, 0, 176, 4, 0, - 0, 5, 0, 0, 15, 128, - 26, 32, 228, 160, 0, 0, - 85, 176, 4, 0, 0, 144, - 0, 0, 228, 128, 9, 0, - 0, 3, 1, 0, 1, 128, - 0, 0, 228, 144, 0, 0, - 228, 128, 8, 0, 0, 3, - 0, 0, 1, 128, 1, 0, - 228, 144, 0, 0, 228, 128, - 5, 0, 0, 4, 2, 0, - 15, 128, 4, 0, 85, 144, - 27, 32, 228, 160, 0, 0, - 0, 176, 5, 0, 0, 4, - 3, 0, 15, 128, 4, 0, - 85, 144, 28, 32, 228, 160, - 0, 0, 0, 176, 4, 0, - 0, 5, 3, 0, 15, 128, - 28, 32, 228, 160, 0, 0, - 85, 176, 4, 0, 0, 144, - 3, 0, 228, 128, 4, 0, - 0, 5, 2, 0, 15, 128, - 27, 32, 228, 160, 0, 0, - 85, 176, 4, 0, 0, 144, - 2, 0, 228, 128, 9, 0, - 0, 3, 1, 0, 2, 128, - 0, 0, 228, 144, 2, 0, - 228, 128, 8, 0, 0, 3, - 0, 0, 2, 128, 1, 0, - 228, 144, 2, 0, 228, 128, + 0, 2, 254, 255, 254, 255, + 126, 1, 68, 66, 85, 71, + 40, 0, 0, 0, 204, 5, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 8, 1, + 0, 0, 42, 0, 0, 0, + 20, 1, 0, 0, 5, 0, + 0, 0, 104, 5, 0, 0, + 100, 2, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 83, 107, + 105, 110, 110, 101, 100, 69, + 102, 102, 101, 99, 116, 46, + 102, 120, 0, 67, 58, 92, + 65, 84, 71, 32, 83, 97, + 109, 112, 108, 101, 32, 68, + 101, 118, 101, 108, 111, 112, + 109, 101, 110, 116, 92, 115, + 116, 95, 100, 101, 118, 92, + 75, 105, 116, 115, 92, 68, + 105, 114, 101, 99, 116, 88, + 84, 75, 92, 83, 114, 99, + 92, 83, 104, 97, 100, 101, + 114, 115, 92, 76, 105, 103, + 104, 116, 105, 110, 103, 46, + 102, 120, 104, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 67, 111, + 109, 109, 111, 110, 46, 102, + 120, 104, 0, 171, 171, 171, + 40, 0, 0, 0, 117, 0, + 0, 0, 190, 0, 0, 0, + 0, 0, 255, 255, 0, 6, + 0, 0, 0, 0, 255, 255, + 24, 6, 0, 0, 0, 0, + 255, 255, 36, 6, 0, 0, + 0, 0, 255, 255, 48, 6, + 0, 0, 0, 0, 255, 255, + 60, 6, 0, 0, 0, 0, + 255, 255, 72, 6, 0, 0, + 52, 0, 0, 0, 84, 6, + 0, 0, 52, 0, 0, 0, + 100, 6, 0, 0, 52, 0, + 0, 0, 112, 6, 0, 0, + 52, 0, 0, 0, 132, 6, + 0, 0, 55, 0, 0, 0, + 156, 6, 0, 0, 56, 0, + 0, 0, 172, 6, 0, 0, + 52, 0, 0, 0, 188, 6, + 0, 0, 52, 0, 0, 0, + 208, 6, 0, 0, 52, 0, + 0, 0, 228, 6, 0, 0, + 52, 0, 0, 0, 252, 6, + 0, 0, 55, 0, 0, 0, + 20, 7, 0, 0, 56, 0, + 0, 0, 36, 7, 0, 0, + 55, 0, 0, 0, 52, 7, + 0, 0, 56, 0, 0, 0, + 68, 7, 0, 0, 85, 0, + 1, 0, 84, 7, 0, 0, + 85, 0, 1, 0, 96, 7, + 0, 0, 86, 0, 1, 0, + 112, 7, 0, 0, 86, 0, + 1, 0, 128, 7, 0, 0, + 86, 0, 1, 0, 144, 7, + 0, 0, 87, 0, 1, 0, + 160, 7, 0, 0, 87, 0, + 1, 0, 176, 7, 0, 0, + 87, 0, 1, 0, 192, 7, + 0, 0, 87, 0, 1, 0, + 208, 7, 0, 0, 87, 0, + 1, 0, 224, 7, 0, 0, + 87, 0, 1, 0, 236, 7, + 0, 0, 14, 0, 2, 0, + 252, 7, 0, 0, 14, 0, + 2, 0, 12, 8, 0, 0, + 14, 0, 2, 0, 28, 8, + 0, 0, 85, 0, 1, 0, + 44, 8, 0, 0, 85, 0, + 1, 0, 60, 8, 0, 0, + 85, 0, 1, 0, 76, 8, + 0, 0, 174, 0, 0, 0, + 92, 8, 0, 0, 174, 0, + 0, 0, 112, 8, 0, 0, + 178, 0, 0, 0, 124, 8, + 0, 0, 183, 0, 0, 0, + 136, 8, 0, 0, 183, 0, + 0, 0, 148, 8, 0, 0, + 86, 83, 83, 107, 105, 110, + 110, 101, 100, 80, 105, 120, + 101, 108, 76, 105, 103, 104, + 116, 105, 110, 103, 84, 119, + 111, 66, 111, 110, 101, 115, + 0, 84, 101, 120, 67, 111, + 111, 114, 100, 0, 1, 0, + 3, 0, 1, 0, 2, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 80, 111, 115, 105, + 116, 105, 111, 110, 87, 83, + 0, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 78, 111, 114, 109, 97, 108, + 87, 83, 0, 171, 171, 171, + 1, 0, 3, 0, 1, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 68, 105, + 102, 102, 117, 115, 101, 0, + 80, 111, 115, 105, 116, 105, + 111, 110, 80, 83, 0, 171, + 131, 2, 0, 0, 140, 2, + 0, 0, 156, 2, 0, 0, + 168, 2, 0, 0, 184, 2, + 0, 0, 196, 2, 0, 0, + 212, 2, 0, 0, 168, 2, + 0, 0, 220, 2, 0, 0, + 168, 2, 0, 0, 5, 0, + 0, 0, 1, 0, 17, 0, + 1, 0, 5, 0, 232, 2, + 0, 0, 21, 0, 0, 0, + 255, 255, 255, 255, 15, 0, + 255, 255, 22, 0, 0, 0, + 2, 0, 255, 255, 255, 255, + 255, 255, 23, 0, 0, 0, + 255, 255, 3, 0, 255, 255, + 255, 255, 24, 0, 0, 0, + 255, 255, 255, 255, 4, 0, + 255, 255, 30, 0, 0, 0, + 6, 0, 7, 0, 8, 0, + 255, 255, 33, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 5, 0, 37, 0, 0, 0, + 13, 0, 14, 0, 255, 255, + 255, 255, 38, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 16, 0, 39, 0, 0, 0, + 0, 0, 1, 0, 255, 255, + 255, 255, 41, 0, 0, 0, + 9, 0, 10, 0, 11, 0, + 12, 0, 115, 107, 105, 110, + 110, 105, 110, 103, 0, 171, + 171, 171, 3, 0, 3, 0, + 4, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 9, 0, 0, 0, 0, 0, + 3, 0, 6, 0, 9, 0, + 14, 0, 0, 0, 2, 0, + 5, 0, 8, 0, 11, 0, + 15, 0, 0, 0, 1, 0, + 4, 0, 7, 0, 10, 0, + 40, 0, 0, 0, 255, 255, + 10, 0, 255, 255, 255, 255, + 83, 107, 105, 110, 0, 118, + 105, 110, 0, 80, 111, 115, + 105, 116, 105, 111, 110, 0, + 78, 111, 114, 109, 97, 108, + 0, 73, 110, 100, 105, 99, + 101, 115, 0, 171, 171, 171, + 1, 0, 2, 0, 1, 0, + 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 87, 101, + 105, 103, 104, 116, 115, 0, + 237, 3, 0, 0, 168, 2, + 0, 0, 246, 3, 0, 0, + 196, 2, 0, 0, 131, 2, + 0, 0, 140, 2, 0, 0, + 253, 3, 0, 0, 8, 4, + 0, 0, 24, 4, 0, 0, + 168, 2, 0, 0, 5, 0, + 0, 0, 1, 0, 17, 0, + 1, 0, 5, 0, 32, 4, + 0, 0, 10, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 11, 0, 0, 0, + 4, 0, 255, 255, 255, 255, + 255, 255, 16, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 17, 0, 0, 0, + 255, 255, 5, 0, 255, 255, + 255, 255, 18, 0, 0, 0, + 255, 255, 255, 255, 2, 0, + 255, 255, 19, 0, 0, 0, + 255, 255, 255, 255, 6, 0, + 255, 255, 1, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 3, 0, 2, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 255, 255, 3, 0, 0, 0, + 7, 0, 8, 0, 255, 255, + 255, 255, 4, 0, 0, 0, + 9, 0, 10, 0, 11, 0, + 12, 0, 5, 0, 0, 0, + 13, 0, 14, 0, 15, 0, + 16, 0, 118, 111, 117, 116, + 0, 80, 111, 115, 95, 112, + 115, 0, 80, 111, 115, 95, + 119, 115, 0, 78, 111, 114, + 109, 97, 108, 95, 119, 115, + 0, 70, 111, 103, 70, 97, + 99, 116, 111, 114, 0, 171, + 0, 0, 3, 0, 1, 0, + 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 225, 4, + 0, 0, 168, 2, 0, 0, + 232, 4, 0, 0, 196, 2, + 0, 0, 239, 4, 0, 0, + 196, 2, 0, 0, 249, 4, + 0, 0, 4, 5, 0, 0, + 5, 0, 0, 0, 1, 0, + 11, 0, 1, 0, 4, 0, + 20, 5, 0, 0, 34, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 35, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 36, 0, + 0, 0, 255, 255, 255, 255, + 3, 0, 255, 255, 0, 0, + 0, 0, 100, 2, 0, 0, + 16, 3, 0, 0, 10, 0, + 0, 0, 32, 3, 0, 0, + 0, 0, 0, 0, 152, 3, + 0, 0, 164, 3, 0, 0, + 4, 0, 0, 0, 180, 3, + 0, 0, 228, 3, 0, 0, + 233, 3, 0, 0, 72, 4, + 0, 0, 6, 0, 0, 0, + 88, 4, 0, 0, 100, 2, + 0, 0, 233, 3, 0, 0, + 72, 4, 0, 0, 5, 0, + 0, 0, 160, 4, 0, 0, + 0, 0, 0, 0, 220, 4, + 0, 0, 52, 5, 0, 0, + 3, 0, 0, 0, 68, 5, + 0, 0, 77, 105, 99, 114, + 111, 115, 111, 102, 116, 32, + 40, 82, 41, 32, 72, 76, + 83, 76, 32, 83, 104, 97, + 100, 101, 114, 32, 67, 111, + 109, 112, 105, 108, 101, 114, + 32, 49, 48, 46, 49, 0, + 81, 0, 0, 5, 243, 0, + 15, 160, 0, 0, 64, 64, + 0, 0, 0, 0, 0, 0, + 128, 63, 0, 0, 0, 0, + 31, 0, 0, 2, 5, 0, + 0, 128, 0, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 1, 128, 1, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 2, 128, 2, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 3, 128, 3, 0, 15, 144, + 31, 0, 0, 2, 5, 0, + 4, 128, 4, 0, 15, 144, + 5, 0, 0, 3, 0, 0, + 3, 128, 3, 0, 228, 144, + 243, 0, 0, 160, 46, 0, + 0, 2, 0, 0, 3, 176, + 0, 0, 225, 128, 5, 0, + 0, 4, 0, 0, 15, 128, + 4, 0, 85, 144, 26, 32, + 228, 160, 0, 0, 0, 176, + 4, 0, 0, 5, 0, 0, + 15, 128, 26, 32, 228, 160, + 0, 0, 85, 176, 4, 0, + 0, 144, 0, 0, 228, 128, 9, 0, 0, 3, 1, 0, - 4, 128, 0, 0, 228, 144, - 3, 0, 228, 128, 8, 0, - 0, 3, 0, 0, 4, 128, - 1, 0, 228, 144, 3, 0, - 228, 128, 1, 0, 0, 2, - 1, 0, 8, 128, 0, 0, - 255, 144, 9, 0, 0, 3, - 0, 0, 4, 192, 1, 0, - 228, 128, 24, 0, 228, 160, + 1, 128, 0, 0, 228, 144, + 0, 0, 228, 128, 8, 0, + 0, 3, 0, 0, 1, 128, + 1, 0, 228, 144, 0, 0, + 228, 128, 5, 0, 0, 4, + 2, 0, 15, 128, 4, 0, + 85, 144, 27, 32, 228, 160, + 0, 0, 0, 176, 5, 0, + 0, 4, 3, 0, 15, 128, + 4, 0, 85, 144, 28, 32, + 228, 160, 0, 0, 0, 176, + 4, 0, 0, 5, 3, 0, + 15, 128, 28, 32, 228, 160, + 0, 0, 85, 176, 4, 0, + 0, 144, 3, 0, 228, 128, + 4, 0, 0, 5, 2, 0, + 15, 128, 27, 32, 228, 160, + 0, 0, 85, 176, 4, 0, + 0, 144, 2, 0, 228, 128, 9, 0, 0, 3, 1, 0, - 1, 224, 1, 0, 228, 128, - 15, 0, 228, 160, 9, 0, - 0, 3, 1, 0, 2, 224, - 1, 0, 228, 128, 16, 0, + 2, 128, 0, 0, 228, 144, + 2, 0, 228, 128, 8, 0, + 0, 3, 0, 0, 2, 128, + 1, 0, 228, 144, 2, 0, + 228, 128, 9, 0, 0, 3, + 1, 0, 4, 128, 0, 0, + 228, 144, 3, 0, 228, 128, + 8, 0, 0, 3, 0, 0, + 4, 128, 1, 0, 228, 144, + 3, 0, 228, 128, 1, 0, + 0, 2, 1, 0, 8, 128, + 0, 0, 255, 144, 9, 0, + 0, 3, 0, 0, 4, 192, + 1, 0, 228, 128, 24, 0, 228, 160, 9, 0, 0, 3, - 1, 0, 4, 224, 1, 0, - 228, 128, 17, 0, 228, 160, + 1, 0, 1, 224, 1, 0, + 228, 128, 15, 0, 228, 160, + 9, 0, 0, 3, 1, 0, + 2, 224, 1, 0, 228, 128, + 16, 0, 228, 160, 9, 0, + 0, 3, 1, 0, 4, 224, + 1, 0, 228, 128, 17, 0, + 228, 160, 8, 0, 0, 3, + 2, 0, 1, 128, 0, 0, + 228, 128, 19, 0, 228, 160, 8, 0, 0, 3, 2, 0, - 1, 128, 0, 0, 228, 128, - 19, 0, 228, 160, 8, 0, - 0, 3, 2, 0, 2, 128, - 0, 0, 228, 128, 20, 0, + 2, 128, 0, 0, 228, 128, + 20, 0, 228, 160, 8, 0, + 0, 3, 2, 0, 4, 128, + 0, 0, 228, 128, 21, 0, 228, 160, 8, 0, 0, 3, - 2, 0, 4, 128, 0, 0, - 228, 128, 21, 0, 228, 160, - 8, 0, 0, 3, 0, 0, - 1, 128, 2, 0, 228, 128, - 2, 0, 228, 128, 7, 0, - 0, 2, 0, 0, 1, 128, - 0, 0, 0, 128, 5, 0, - 0, 3, 2, 0, 7, 224, - 0, 0, 0, 128, 2, 0, - 228, 128, 9, 0, 0, 3, - 0, 0, 1, 128, 1, 0, - 228, 128, 14, 0, 228, 160, - 11, 0, 0, 3, 0, 0, + 0, 0, 1, 128, 2, 0, + 228, 128, 2, 0, 228, 128, + 7, 0, 0, 2, 0, 0, 1, 128, 0, 0, 0, 128, - 243, 0, 85, 160, 10, 0, - 0, 3, 1, 0, 8, 224, - 0, 0, 0, 128, 243, 0, - 170, 160, 9, 0, 0, 3, - 0, 0, 1, 128, 1, 0, - 228, 128, 22, 0, 228, 160, + 5, 0, 0, 3, 2, 0, + 7, 224, 0, 0, 0, 128, + 2, 0, 228, 128, 9, 0, + 0, 3, 0, 0, 1, 128, + 1, 0, 228, 128, 14, 0, + 228, 160, 11, 0, 0, 3, + 0, 0, 1, 128, 0, 0, + 0, 128, 243, 0, 85, 160, + 10, 0, 0, 3, 1, 0, + 8, 224, 0, 0, 0, 128, + 243, 0, 170, 160, 9, 0, + 0, 3, 0, 0, 1, 128, + 1, 0, 228, 128, 22, 0, + 228, 160, 9, 0, 0, 3, + 0, 0, 2, 128, 1, 0, + 228, 128, 23, 0, 228, 160, 9, 0, 0, 3, 0, 0, - 2, 128, 1, 0, 228, 128, - 23, 0, 228, 160, 9, 0, - 0, 3, 0, 0, 4, 128, - 1, 0, 228, 128, 25, 0, - 228, 160, 4, 0, 0, 4, - 0, 0, 3, 192, 0, 0, - 170, 128, 242, 0, 228, 160, - 0, 0, 228, 128, 1, 0, - 0, 2, 0, 0, 8, 192, - 0, 0, 170, 128, 1, 0, - 0, 2, 0, 0, 3, 224, - 2, 0, 228, 144, 1, 0, - 0, 2, 0, 0, 6, 128, - 243, 0, 228, 160, 4, 0, - 0, 4, 3, 0, 15, 224, - 0, 0, 255, 160, 0, 0, - 149, 128, 0, 0, 106, 128, - 255, 255, 0, 0, 83, 72, - 68, 82, 136, 4, 0, 0, - 64, 0, 1, 0, 34, 1, - 0, 0, 89, 8, 0, 4, - 70, 142, 32, 0, 0, 0, - 0, 0, 242, 0, 0, 0, - 95, 0, 0, 3, 242, 16, - 16, 0, 0, 0, 0, 0, - 95, 0, 0, 3, 114, 16, - 16, 0, 1, 0, 0, 0, - 95, 0, 0, 3, 50, 16, - 16, 0, 2, 0, 0, 0, - 95, 0, 0, 3, 50, 16, - 16, 0, 3, 0, 0, 0, - 95, 0, 0, 3, 50, 16, - 16, 0, 4, 0, 0, 0, - 101, 0, 0, 3, 50, 32, - 16, 0, 0, 0, 0, 0, - 101, 0, 0, 3, 242, 32, - 16, 0, 1, 0, 0, 0, - 101, 0, 0, 3, 114, 32, - 16, 0, 2, 0, 0, 0, - 101, 0, 0, 3, 242, 32, - 16, 0, 3, 0, 0, 0, - 103, 0, 0, 4, 242, 32, - 16, 0, 4, 0, 0, 0, - 1, 0, 0, 0, 104, 0, - 0, 2, 4, 0, 0, 0, - 54, 0, 0, 5, 50, 32, - 16, 0, 0, 0, 0, 0, - 70, 16, 16, 0, 2, 0, - 0, 0, 38, 0, 0, 11, - 0, 208, 0, 0, 50, 0, - 16, 0, 0, 0, 0, 0, - 70, 16, 16, 0, 3, 0, - 0, 0, 2, 64, 0, 0, - 3, 0, 0, 0, 3, 0, + 4, 128, 1, 0, 228, 128, + 25, 0, 228, 160, 4, 0, + 0, 4, 0, 0, 3, 192, + 0, 0, 170, 128, 242, 0, + 228, 160, 0, 0, 228, 128, + 1, 0, 0, 2, 0, 0, + 8, 192, 0, 0, 170, 128, + 1, 0, 0, 2, 0, 0, + 3, 224, 2, 0, 228, 144, + 1, 0, 0, 2, 0, 0, + 6, 128, 243, 0, 228, 160, + 4, 0, 0, 4, 3, 0, + 15, 224, 0, 0, 255, 160, + 0, 0, 149, 128, 0, 0, + 106, 128, 255, 255, 0, 0, + 83, 72, 68, 82, 136, 4, + 0, 0, 64, 0, 1, 0, + 34, 1, 0, 0, 89, 8, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 242, 0, + 0, 0, 95, 0, 0, 3, + 242, 16, 16, 0, 0, 0, + 0, 0, 95, 0, 0, 3, + 114, 16, 16, 0, 1, 0, + 0, 0, 95, 0, 0, 3, + 50, 16, 16, 0, 2, 0, + 0, 0, 95, 0, 0, 3, + 50, 16, 16, 0, 3, 0, + 0, 0, 95, 0, 0, 3, + 50, 16, 16, 0, 4, 0, + 0, 0, 101, 0, 0, 3, + 50, 32, 16, 0, 0, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 1, 0, + 0, 0, 101, 0, 0, 3, + 114, 32, 16, 0, 2, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 3, 0, + 0, 0, 103, 0, 0, 4, + 242, 32, 16, 0, 4, 0, + 0, 0, 1, 0, 0, 0, + 104, 0, 0, 2, 4, 0, + 0, 0, 54, 0, 0, 5, + 50, 32, 16, 0, 0, 0, + 0, 0, 70, 16, 16, 0, + 2, 0, 0, 0, 38, 0, + 0, 11, 0, 208, 0, 0, + 50, 0, 16, 0, 0, 0, + 0, 0, 70, 16, 16, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 56, 0, - 0, 10, 242, 0, 16, 0, - 1, 0, 0, 0, 86, 21, - 16, 0, 4, 0, 0, 0, - 70, 142, 32, 6, 0, 0, - 0, 0, 26, 0, 0, 0, - 26, 0, 16, 0, 0, 0, - 0, 0, 50, 0, 0, 12, - 242, 0, 16, 0, 1, 0, + 56, 0, 0, 10, 242, 0, + 16, 0, 1, 0, 0, 0, + 86, 21, 16, 0, 4, 0, 0, 0, 70, 142, 32, 6, 0, 0, 0, 0, 26, 0, - 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 6, 16, - 16, 0, 4, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 50, 0, + 0, 12, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 142, + 32, 6, 0, 0, 0, 0, + 26, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 6, 16, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 17, 0, + 0, 7, 18, 0, 16, 0, + 2, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 1, 0, - 0, 0, 17, 0, 0, 7, - 18, 0, 16, 0, 2, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 70, 14, - 16, 0, 1, 0, 0, 0, - 16, 0, 0, 7, 18, 0, + 0, 0, 16, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 70, 18, 16, 0, + 1, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, - 70, 18, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 56, 0, - 0, 10, 242, 0, 16, 0, - 3, 0, 0, 0, 86, 21, - 16, 0, 4, 0, 0, 0, - 70, 142, 32, 6, 0, 0, - 0, 0, 27, 0, 0, 0, - 26, 0, 16, 0, 0, 0, - 0, 0, 50, 0, 0, 12, - 242, 0, 16, 0, 3, 0, + 56, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 86, 21, 16, 0, 4, 0, 0, 0, 70, 142, 32, 6, 0, 0, 0, 0, 27, 0, - 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 6, 16, - 16, 0, 4, 0, 0, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 50, 0, + 0, 12, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 142, + 32, 6, 0, 0, 0, 0, + 27, 0, 0, 0, 10, 0, + 16, 0, 0, 0, 0, 0, + 6, 16, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 17, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 70, 30, + 16, 0, 0, 0, 0, 0, 70, 14, 16, 0, 3, 0, - 0, 0, 17, 0, 0, 7, - 34, 0, 16, 0, 2, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 70, 14, + 0, 0, 16, 0, 0, 7, + 34, 0, 16, 0, 1, 0, + 0, 0, 70, 18, 16, 0, + 1, 0, 0, 0, 70, 2, 16, 0, 3, 0, 0, 0, - 16, 0, 0, 7, 34, 0, - 16, 0, 1, 0, 0, 0, - 70, 18, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 3, 0, 0, 0, 56, 0, - 0, 10, 242, 0, 16, 0, - 3, 0, 0, 0, 86, 21, - 16, 0, 4, 0, 0, 0, - 70, 142, 32, 6, 0, 0, - 0, 0, 28, 0, 0, 0, - 26, 0, 16, 0, 0, 0, - 0, 0, 50, 0, 0, 12, - 242, 0, 16, 0, 0, 0, + 56, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 86, 21, 16, 0, 4, 0, 0, 0, 70, 142, 32, 6, 0, 0, 0, 0, 28, 0, - 0, 0, 10, 0, 16, 0, - 0, 0, 0, 0, 6, 16, - 16, 0, 4, 0, 0, 0, - 70, 14, 16, 0, 3, 0, - 0, 0, 17, 0, 0, 7, - 66, 0, 16, 0, 2, 0, - 0, 0, 70, 30, 16, 0, - 0, 0, 0, 0, 70, 14, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 50, 0, + 0, 12, 242, 0, 16, 0, + 0, 0, 0, 0, 70, 142, + 32, 6, 0, 0, 0, 0, + 28, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, - 16, 0, 0, 7, 66, 0, - 16, 0, 1, 0, 0, 0, - 70, 18, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 54, 0, - 0, 5, 130, 0, 16, 0, - 2, 0, 0, 0, 58, 16, + 6, 16, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 17, 0, + 0, 7, 66, 0, 16, 0, + 2, 0, 0, 0, 70, 30, 16, 0, 0, 0, 0, 0, - 17, 0, 0, 8, 18, 32, - 16, 0, 1, 0, 0, 0, - 70, 14, 16, 0, 2, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 15, 0, + 70, 14, 16, 0, 0, 0, + 0, 0, 16, 0, 0, 7, + 66, 0, 16, 0, 1, 0, + 0, 0, 70, 18, 16, 0, + 1, 0, 0, 0, 70, 2, + 16, 0, 0, 0, 0, 0, + 54, 0, 0, 5, 130, 0, + 16, 0, 2, 0, 0, 0, + 58, 16, 16, 0, 0, 0, 0, 0, 17, 0, 0, 8, - 34, 32, 16, 0, 1, 0, + 18, 32, 16, 0, 1, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 16, 0, 0, 0, 17, 0, - 0, 8, 66, 32, 16, 0, + 15, 0, 0, 0, 17, 0, + 0, 8, 34, 32, 16, 0, 1, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, 0, 0, - 0, 0, 17, 0, 0, 0, - 17, 32, 0, 8, 130, 32, + 0, 0, 16, 0, 0, 0, + 17, 0, 0, 8, 66, 32, 16, 0, 1, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 14, 0, - 0, 0, 16, 0, 0, 8, - 18, 0, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 70, 130, + 0, 0, 0, 0, 17, 0, + 0, 0, 17, 32, 0, 8, + 130, 32, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 2, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 19, 0, 0, 0, 16, 0, - 0, 8, 34, 0, 16, 0, + 14, 0, 0, 0, 16, 0, + 0, 8, 18, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, 0, 0, - 0, 0, 20, 0, 0, 0, - 16, 0, 0, 8, 66, 0, + 0, 0, 19, 0, 0, 0, + 16, 0, 0, 8, 34, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 1, 0, 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 21, 0, - 0, 0, 16, 0, 0, 7, - 130, 0, 16, 0, 0, 0, + 0, 0, 0, 0, 20, 0, + 0, 0, 16, 0, 0, 8, + 66, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, + 1, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 21, 0, 0, 0, 16, 0, + 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, - 68, 0, 0, 5, 130, 0, - 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 7, - 114, 32, 16, 0, 2, 0, - 0, 0, 246, 15, 16, 0, - 0, 0, 0, 0, 70, 2, + 70, 2, 16, 0, 0, 0, + 0, 0, 68, 0, 0, 5, + 130, 0, 16, 0, 0, 0, + 0, 0, 58, 0, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 7, 114, 32, 16, 0, + 2, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, - 54, 0, 0, 8, 114, 32, - 16, 0, 3, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 128, 63, 0, 0, 128, 63, + 70, 2, 16, 0, 0, 0, + 0, 0, 54, 0, 0, 8, + 114, 32, 16, 0, 3, 0, + 0, 0, 2, 64, 0, 0, 0, 0, 128, 63, 0, 0, - 0, 0, 54, 0, 0, 6, - 130, 32, 16, 0, 3, 0, - 0, 0, 58, 128, 32, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 17, 0, 0, 8, - 18, 32, 16, 0, 4, 0, - 0, 0, 70, 14, 16, 0, - 2, 0, 0, 0, 70, 142, + 128, 63, 0, 0, 128, 63, + 0, 0, 0, 0, 54, 0, + 0, 6, 130, 32, 16, 0, + 3, 0, 0, 0, 58, 128, 32, 0, 0, 0, 0, 0, - 22, 0, 0, 0, 17, 0, - 0, 8, 34, 32, 16, 0, + 0, 0, 0, 0, 17, 0, + 0, 8, 18, 32, 16, 0, 4, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, 0, 0, - 0, 0, 23, 0, 0, 0, - 17, 0, 0, 8, 66, 32, + 0, 0, 22, 0, 0, 0, + 17, 0, 0, 8, 34, 32, 16, 0, 4, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 24, 0, + 0, 0, 0, 0, 23, 0, 0, 0, 17, 0, 0, 8, - 130, 32, 16, 0, 4, 0, + 66, 32, 16, 0, 4, 0, 0, 0, 70, 14, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 25, 0, 0, 0, 62, 0, - 0, 1, 73, 83, 71, 78, - 184, 0, 0, 0, 5, 0, - 0, 0, 8, 0, 0, 0, - 128, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 15, 0, 0, - 140, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 7, 7, 0, 0, - 147, 0, 0, 0, 0, 0, + 24, 0, 0, 0, 17, 0, + 0, 8, 130, 32, 16, 0, + 4, 0, 0, 0, 70, 14, + 16, 0, 2, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 25, 0, 0, 0, + 62, 0, 0, 1, 73, 83, + 71, 78, 184, 0, 0, 0, + 5, 0, 0, 0, 8, 0, + 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 3, 3, 0, 0, - 156, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 15, + 0, 0, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 3, 0, - 0, 0, 15, 3, 0, 0, - 169, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 7, 7, + 0, 0, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 4, 0, - 0, 0, 15, 3, 0, 0, - 83, 86, 95, 80, 111, 115, - 105, 116, 105, 111, 110, 0, - 78, 79, 82, 77, 65, 76, - 0, 84, 69, 88, 67, 79, - 79, 82, 68, 0, 66, 76, - 69, 78, 68, 73, 78, 68, - 73, 67, 69, 83, 0, 66, - 76, 69, 78, 68, 87, 69, - 73, 71, 72, 84, 0, 171, - 171, 171, 79, 83, 71, 78, - 156, 0, 0, 0, 5, 0, - 0, 0, 8, 0, 0, 0, - 128, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 2, 0, 0, 0, 3, 3, + 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 3, 12, 0, 0, - 128, 0, 0, 0, 1, 0, + 0, 0, 1, 0, 0, 0, + 3, 0, 0, 0, 15, 3, + 0, 0, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 15, 0, 0, 0, - 128, 0, 0, 0, 2, 0, + 0, 0, 3, 0, 0, 0, + 4, 0, 0, 0, 15, 3, + 0, 0, 83, 86, 95, 80, + 111, 115, 105, 116, 105, 111, + 110, 0, 78, 79, 82, 77, + 65, 76, 0, 84, 69, 88, + 67, 79, 79, 82, 68, 0, + 66, 76, 69, 78, 68, 73, + 78, 68, 73, 67, 69, 83, + 0, 66, 76, 69, 78, 68, + 87, 69, 73, 71, 72, 84, + 0, 171, 171, 171, 79, 83, + 71, 78, 156, 0, 0, 0, + 5, 0, 0, 0, 8, 0, + 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 7, 8, 0, 0, - 137, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 3, 12, + 0, 0, 128, 0, 0, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 15, 0, + 0, 0, 128, 0, 0, 0, + 2, 0, 0, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 2, 0, 0, 0, 7, 8, + 0, 0, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 3, 0, - 0, 0, 15, 0, 0, 0, - 143, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 4, 0, - 0, 0, 15, 0, 0, 0, - 84, 69, 88, 67, 79, 79, - 82, 68, 0, 67, 79, 76, - 79, 82, 0, 83, 86, 95, - 80, 111, 115, 105, 116, 105, - 111, 110, 0, 171 + 0, 0, 3, 0, 0, 0, + 3, 0, 0, 0, 15, 0, + 0, 0, 143, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 4, 0, 0, 0, 15, 0, + 0, 0, 84, 69, 88, 67, + 79, 79, 82, 68, 0, 67, + 79, 76, 79, 82, 0, 83, + 86, 95, 80, 111, 115, 105, + 116, 105, 111, 110, 0, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingFourBones.inc b/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingFourBones.inc index e2f3bc77..047d5980 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingFourBones.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingFourBones.inc @@ -42,84 +42,134 @@ // vs_2_0 def c243, 3, 0, 1, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 - dcl_texcoord3 v3 - dcl_texcoord4 v4 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5,6> + dcl_texcoord2 v2 // vin<7,8> + dcl_texcoord3 v3 // vin<9,10,11,12> + dcl_texcoord4 v4 // vin<13,14,15,16> + +#line 52 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\SkinnedEffect.fx" mul r0, v3, c243.x mova a0, r0.yxzw mul r1, v4.y, c26[a0.x] - mad r1, c26[a0.y], v4.x, r1 - mad r0, c26[a0.z], v4.z, r1 - mad r0, c26[a0.w], v4.w, r0 - dp3 r1.x, v1, r0 - dp4 r0.x, v0, r0 + mad r1, c26[a0.y], v4.x, r1 // ::skinning<0,3,6,9> + mad r0, c26[a0.z], v4.z, r1 // ::skinning<0,3,6,9> + mad r0, c26[a0.w], v4.w, r0 // ::skinning<0,3,6,9> + +#line 56 + dp3 r1.x, v1, r0 // Skin::vin<4> + dp4 r0.x, v0, r0 // Skin::vin<0> + +#line 52 mul r2, v4.y, c27[a0.x] mul r3, v4.y, c28[a0.x] - mad r3, c28[a0.y], v4.x, r3 - mad r2, c27[a0.y], v4.x, r2 - mad r2, c27[a0.z], v4.z, r2 - mad r3, c28[a0.z], v4.z, r3 - mad r3, c28[a0.w], v4.w, r3 - mad r2, c27[a0.w], v4.w, r2 - dp3 r1.y, v1, r2 - dp4 r0.y, v0, r2 - dp3 r1.z, v1, r3 - dp4 r0.z, v0, r3 + mad r3, c28[a0.y], v4.x, r3 // ::skinning<2,5,8,11> + mad r2, c27[a0.y], v4.x, r2 // ::skinning<1,4,7,10> + mad r2, c27[a0.z], v4.z, r2 // ::skinning<1,4,7,10> + mad r3, c28[a0.z], v4.z, r3 // ::skinning<2,5,8,11> + mad r3, c28[a0.w], v4.w, r3 // ::skinning<2,5,8,11> + mad r2, c27[a0.w], v4.w, r2 // ::skinning<1,4,7,10> + +#line 56 + dp3 r1.y, v1, r2 // Skin::vin<5> + dp4 r0.y, v0, r2 // Skin::vin<1> + dp3 r1.z, v1, r3 // Skin::vin<6> + dp4 r0.z, v0, r3 // Skin::vin<2> + +#line 59 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" dp3 r2.x, r1, c19 dp3 r2.y, r1, c20 dp3 r2.z, r1, c21 - nrm r1.xyz, r2 - dp3 r2.x, -c3, r1 - dp3 r2.y, -c4, r1 - dp3 r2.z, -c5, r1 - sge r3.xyz, r2, c243.y - mul r2.xyz, r2, r3 + nrm r1.xyz, r2 // ::worldNormal<0,1,2> + +#line 36 + dp3 r2.x, -c3, r1 // ::dotL<0> + dp3 r2.y, -c4, r1 // ::dotL<1> + dp3 r2.z, -c5, r1 // ::dotL<2> + +#line 39 + sge r3.xyz, r2, c243.y // ::zeroL<0,1,2> + mul r2.xyz, r2, r3 // ::diffuse<0,1,2> + +#line 46 mul r4.xyz, r2.y, c7 mad r2.xyw, r2.x, c6.xyzz, r4.xyzz mad r2.xyz, r2.z, c8, r2.xyww - mov r4.xyz, c0 - mad oT0.xyz, r2, r4, c1 + mov r4.xyz, c0 // Parameters::DiffuseColor<0,1,2> + mad oT0.xyz, r2, r4, c1 // ::VSSkinnedVertexLightingFourBones<0,1,2> + +#line 57 mov r0.w, v0.w - dp4 r2.x, r0, c15 - dp4 r2.y, r0, c16 - dp4 r2.z, r0, c17 + dp4 r2.x, r0, c15 // ::pos_ws<0> + dp4 r2.y, r0, c16 // ::pos_ws<1> + dp4 r2.z, r0, c17 // ::pos_ws<2> add r2.xyz, -r2, c12 - nrm r4.xyz, r2 + nrm r4.xyz, r2 // ::eyeVector<0,1,2> + +#line 33 add r2.xyz, r4, -c3 - nrm r5.xyz, r2 - dp3 r2.x, r5, r1 + nrm r5.xyz, r2 // ::halfVectors<0,1,2> + +#line 37 + dp3 r2.x, r5, r1 // ::dotH<0> + +#line 33 add r5.xyz, r4, -c4 add r4.xyz, r4, -c5 - nrm r6.xyz, r4 - dp3 r2.z, r6, r1 - nrm r4.xyz, r5 - dp3 r2.y, r4, r1 + nrm r6.xyz, r4 // ::halfVectors<6,7,8> + +#line 37 + dp3 r2.z, r6, r1 // ::dotH<2> + +#line 33 + nrm r4.xyz, r5 // ::halfVectors<3,4,5> + +#line 37 + dp3 r2.y, r4, r1 // ::dotH<1> + +#line 42 max r1.xyz, r2, c243.y mul r1.xyz, r3, r1 log r2.x, r1.x log r2.y, r1.y log r2.z, r1.z mul r1.xyz, r2, c2.w - exp r1.y, r1.y + exp r1.y, r1.y // ::specular<1> + +#line 47 mul r2.xyz, r1.y, c10 - exp r1.x, r1.x - exp r1.y, r1.z + +#line 42 + exp r1.x, r1.x // ::specular<0> + exp r1.y, r1.z // ::specular<2> + +#line 47 mad r1.xzw, r1.x, c9.xyyz, r2.xyyz mad r1.xyz, r1.y, c11, r1.xzww - mul oT1.xyz, r1, c2 - dp4 oPos.z, r0, c24 + mul oT1.xyz, r1, c2 // ::VSSkinnedVertexLightingFourBones<4,5,6> + +#line 63 + dp4 oPos.z, r0, c24 // ::VSSkinnedVertexLightingFourBones<12> + +#line 14 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" dp4 r1.x, r0, c14 max r1.x, r1.x, c243.y - min oT1.w, r1.x, c243.z - dp4 r1.x, r0, c22 - dp4 r1.y, r0, c23 - dp4 r0.x, r0, c25 - mad oPos.xy, r0.x, c242, r1 - mov oPos.w, r0.x - mov oT0.w, c0.w - mov oT2.xy, v2 + min oT1.w, r1.x, c243.z // ::VSSkinnedVertexLightingFourBones<7> + +#line 63 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp4 r1.x, r0, c22 // ::vout<0> + dp4 r1.y, r0, c23 // ::vout<1> + dp4 r0.x, r0, c25 // ::vout<3> + +#line 93 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\SkinnedEffect.fx" + mad oPos.xy, r0.x, c242, r1 // ::VSSkinnedVertexLightingFourBones<10,11> + mov oPos.w, r0.x // ::VSSkinnedVertexLightingFourBones<13> + +#line 46 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + mov oT0.w, c0.w // ::VSSkinnedVertexLightingFourBones<3> + +#line 97 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\SkinnedEffect.fx" + mov oT2.xy, v2 // ::VSSkinnedVertexLightingFourBones<8,9> // approximately 83 instruction slots used vs_4_0 @@ -213,17 +263,17 @@ ret const BYTE SkinnedEffect_VSSkinnedVertexLightingFourBones[] = { - 68, 88, 66, 67, 53, 121, - 126, 89, 215, 5, 76, 254, - 128, 205, 221, 247, 111, 179, - 122, 93, 1, 0, 0, 0, - 240, 16, 0, 0, 4, 0, + 68, 88, 66, 67, 51, 115, + 67, 123, 215, 206, 157, 189, + 141, 71, 169, 45, 88, 67, + 184, 117, 1, 0, 0, 0, + 96, 26, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 128, 5, 0, 0, 164, 15, - 0, 0, 100, 16, 0, 0, - 65, 111, 110, 57, 72, 5, - 0, 0, 72, 5, 0, 0, - 0, 2, 254, 255, 20, 5, + 240, 14, 0, 0, 20, 25, + 0, 0, 212, 25, 0, 0, + 65, 111, 110, 57, 184, 14, + 0, 0, 184, 14, 0, 0, + 0, 2, 254, 255, 132, 14, 0, 0, 52, 0, 0, 0, 1, 0, 36, 0, 0, 0, 48, 0, 0, 0, 48, 0, @@ -231,709 +281,1112 @@ const BYTE SkinnedEffect_VSSkinnedVertexLightingFourBones[] = 48, 0, 0, 0, 0, 0, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, 0, - 0, 2, 254, 255, 81, 0, - 0, 5, 243, 0, 15, 160, - 0, 0, 64, 64, 0, 0, - 0, 0, 0, 0, 128, 63, - 0, 0, 0, 0, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 1, 128, - 1, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 2, 128, - 2, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 3, 128, - 3, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 4, 128, - 4, 0, 15, 144, 5, 0, - 0, 3, 0, 0, 15, 128, - 3, 0, 228, 144, 243, 0, - 0, 160, 46, 0, 0, 2, - 0, 0, 15, 176, 0, 0, - 225, 128, 5, 0, 0, 4, - 1, 0, 15, 128, 4, 0, - 85, 144, 26, 32, 228, 160, - 0, 0, 0, 176, 4, 0, - 0, 5, 1, 0, 15, 128, - 26, 32, 228, 160, 0, 0, - 85, 176, 4, 0, 0, 144, - 1, 0, 228, 128, 4, 0, - 0, 5, 0, 0, 15, 128, - 26, 32, 228, 160, 0, 0, - 170, 176, 4, 0, 170, 144, - 1, 0, 228, 128, 4, 0, - 0, 5, 0, 0, 15, 128, + 0, 2, 254, 255, 254, 255, + 91, 2, 68, 66, 85, 71, + 40, 0, 0, 0, 64, 9, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 8, 1, + 0, 0, 79, 0, 0, 0, + 20, 1, 0, 0, 15, 0, + 0, 0, 20, 8, 0, 0, + 192, 3, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 83, 107, + 105, 110, 110, 101, 100, 69, + 102, 102, 101, 99, 116, 46, + 102, 120, 0, 67, 58, 92, + 65, 84, 71, 32, 83, 97, + 109, 112, 108, 101, 32, 68, + 101, 118, 101, 108, 111, 112, + 109, 101, 110, 116, 92, 115, + 116, 95, 100, 101, 118, 92, + 75, 105, 116, 115, 92, 68, + 105, 114, 101, 99, 116, 88, + 84, 75, 92, 83, 114, 99, + 92, 83, 104, 97, 100, 101, + 114, 115, 92, 76, 105, 103, + 104, 116, 105, 110, 103, 46, + 102, 120, 104, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 67, 111, + 109, 109, 111, 110, 46, 102, + 120, 104, 0, 171, 171, 171, + 40, 0, 0, 0, 117, 0, + 0, 0, 190, 0, 0, 0, + 0, 0, 255, 255, 116, 9, + 0, 0, 0, 0, 255, 255, + 140, 9, 0, 0, 0, 0, + 255, 255, 152, 9, 0, 0, + 0, 0, 255, 255, 164, 9, + 0, 0, 0, 0, 255, 255, + 176, 9, 0, 0, 0, 0, + 255, 255, 188, 9, 0, 0, + 52, 0, 0, 0, 200, 9, + 0, 0, 52, 0, 0, 0, + 216, 9, 0, 0, 52, 0, + 0, 0, 228, 9, 0, 0, + 52, 0, 0, 0, 248, 9, + 0, 0, 52, 0, 0, 0, + 16, 10, 0, 0, 52, 0, + 0, 0, 40, 10, 0, 0, + 56, 0, 0, 0, 64, 10, + 0, 0, 55, 0, 0, 0, + 80, 10, 0, 0, 52, 0, + 0, 0, 96, 10, 0, 0, + 52, 0, 0, 0, 116, 10, + 0, 0, 52, 0, 0, 0, + 136, 10, 0, 0, 52, 0, + 0, 0, 160, 10, 0, 0, + 52, 0, 0, 0, 184, 10, + 0, 0, 52, 0, 0, 0, + 208, 10, 0, 0, 52, 0, + 0, 0, 232, 10, 0, 0, + 52, 0, 0, 0, 0, 11, + 0, 0, 56, 0, 0, 0, + 24, 11, 0, 0, 55, 0, + 0, 0, 40, 11, 0, 0, + 56, 0, 0, 0, 56, 11, + 0, 0, 55, 0, 0, 0, + 72, 11, 0, 0, 59, 0, + 1, 0, 88, 11, 0, 0, + 59, 0, 1, 0, 104, 11, + 0, 0, 59, 0, 1, 0, + 120, 11, 0, 0, 59, 0, + 1, 0, 136, 11, 0, 0, + 36, 0, 1, 0, 148, 11, + 0, 0, 36, 0, 1, 0, + 164, 11, 0, 0, 36, 0, + 1, 0, 180, 11, 0, 0, + 39, 0, 1, 0, 196, 11, + 0, 0, 41, 0, 1, 0, + 212, 11, 0, 0, 46, 0, + 1, 0, 228, 11, 0, 0, + 46, 0, 1, 0, 244, 11, + 0, 0, 46, 0, 1, 0, + 8, 12, 0, 0, 46, 0, + 1, 0, 28, 12, 0, 0, + 46, 0, 1, 0, 40, 12, + 0, 0, 57, 0, 1, 0, + 60, 12, 0, 0, 57, 0, + 1, 0, 72, 12, 0, 0, + 57, 0, 1, 0, 88, 12, + 0, 0, 57, 0, 1, 0, + 104, 12, 0, 0, 58, 0, + 1, 0, 120, 12, 0, 0, + 58, 0, 1, 0, 136, 12, + 0, 0, 33, 0, 1, 0, + 148, 12, 0, 0, 33, 0, + 1, 0, 164, 12, 0, 0, + 37, 0, 1, 0, 176, 12, + 0, 0, 33, 0, 1, 0, + 192, 12, 0, 0, 33, 0, + 1, 0, 208, 12, 0, 0, + 33, 0, 1, 0, 224, 12, + 0, 0, 37, 0, 1, 0, + 236, 12, 0, 0, 33, 0, + 1, 0, 252, 12, 0, 0, + 37, 0, 1, 0, 8, 13, + 0, 0, 42, 0, 1, 0, + 24, 13, 0, 0, 42, 0, + 1, 0, 40, 13, 0, 0, + 42, 0, 1, 0, 56, 13, + 0, 0, 42, 0, 1, 0, + 68, 13, 0, 0, 42, 0, + 1, 0, 80, 13, 0, 0, + 42, 0, 1, 0, 92, 13, + 0, 0, 42, 0, 1, 0, + 108, 13, 0, 0, 47, 0, + 1, 0, 120, 13, 0, 0, + 42, 0, 1, 0, 136, 13, + 0, 0, 42, 0, 1, 0, + 148, 13, 0, 0, 47, 0, + 1, 0, 160, 13, 0, 0, + 47, 0, 1, 0, 180, 13, + 0, 0, 47, 0, 1, 0, + 200, 13, 0, 0, 63, 0, + 1, 0, 216, 13, 0, 0, + 14, 0, 2, 0, 232, 13, + 0, 0, 14, 0, 2, 0, + 248, 13, 0, 0, 14, 0, + 2, 0, 8, 14, 0, 0, + 63, 0, 1, 0, 24, 14, + 0, 0, 63, 0, 1, 0, + 40, 14, 0, 0, 63, 0, + 1, 0, 56, 14, 0, 0, + 93, 0, 0, 0, 72, 14, + 0, 0, 93, 0, 0, 0, + 92, 14, 0, 0, 46, 0, + 1, 0, 104, 14, 0, 0, + 97, 0, 0, 0, 116, 14, + 0, 0, 80, 97, 114, 97, + 109, 101, 116, 101, 114, 115, + 0, 68, 105, 102, 102, 117, + 115, 101, 67, 111, 108, 111, + 114, 0, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 38, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 86, 83, 83, 107, 105, 110, + 110, 101, 100, 86, 101, 114, + 116, 101, 120, 76, 105, 103, + 104, 116, 105, 110, 103, 70, + 111, 117, 114, 66, 111, 110, + 101, 115, 0, 68, 105, 102, + 102, 117, 115, 101, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 83, 112, 101, 99, 117, 108, + 97, 114, 0, 84, 101, 120, + 67, 111, 111, 114, 100, 0, + 171, 171, 1, 0, 3, 0, + 1, 0, 2, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 80, 111, 115, 105, 116, 105, + 111, 110, 80, 83, 0, 171, + 225, 3, 0, 0, 236, 3, + 0, 0, 252, 3, 0, 0, + 236, 3, 0, 0, 5, 4, + 0, 0, 16, 4, 0, 0, + 32, 4, 0, 0, 236, 3, + 0, 0, 5, 0, 0, 0, + 1, 0, 14, 0, 1, 0, + 4, 0, 44, 4, 0, 0, + 39, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 67, 0, 0, 0, 4, 0, + 5, 0, 6, 0, 255, 255, + 68, 0, 0, 0, 255, 255, + 255, 255, 12, 0, 255, 255, + 71, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 7, 0, + 75, 0, 0, 0, 10, 0, + 11, 0, 255, 255, 255, 255, + 76, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 13, 0, + 77, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 3, 0, + 78, 0, 0, 0, 8, 0, + 9, 0, 255, 255, 255, 255, + 100, 105, 102, 102, 117, 115, + 101, 0, 1, 0, 3, 0, + 1, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 34, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 100, 111, 116, 72, 0, 171, + 171, 171, 48, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 52, 0, 0, 0, + 255, 255, 255, 255, 2, 0, + 255, 255, 54, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 100, 111, 116, 76, + 0, 171, 171, 171, 30, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 31, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 32, 0, + 0, 0, 255, 255, 255, 255, + 2, 0, 255, 255, 101, 121, + 101, 86, 101, 99, 116, 111, + 114, 0, 171, 171, 45, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 104, 97, + 108, 102, 86, 101, 99, 116, + 111, 114, 115, 0, 3, 0, + 3, 0, 3, 0, 3, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 47, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 51, 0, 0, 0, + 6, 0, 7, 0, 8, 0, + 255, 255, 53, 0, 0, 0, + 3, 0, 4, 0, 5, 0, + 255, 255, 112, 111, 115, 95, + 119, 115, 0, 171, 41, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 42, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 43, 0, + 0, 0, 255, 255, 255, 255, + 2, 0, 255, 255, 115, 107, + 105, 110, 110, 105, 110, 103, + 0, 171, 171, 171, 3, 0, + 3, 0, 4, 0, 3, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 9, 0, 0, 0, + 0, 0, 3, 0, 6, 0, + 9, 0, 10, 0, 0, 0, + 0, 0, 3, 0, 6, 0, + 9, 0, 11, 0, 0, 0, + 0, 0, 3, 0, 6, 0, + 9, 0, 16, 0, 0, 0, + 2, 0, 5, 0, 8, 0, + 11, 0, 17, 0, 0, 0, + 1, 0, 4, 0, 7, 0, + 10, 0, 18, 0, 0, 0, + 1, 0, 4, 0, 7, 0, + 10, 0, 19, 0, 0, 0, + 2, 0, 5, 0, 8, 0, + 11, 0, 20, 0, 0, 0, + 2, 0, 5, 0, 8, 0, + 11, 0, 21, 0, 0, 0, + 1, 0, 4, 0, 7, 0, + 10, 0, 115, 112, 101, 99, + 117, 108, 97, 114, 0, 171, + 171, 171, 61, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 63, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 64, 0, 0, 0, + 255, 255, 2, 0, 255, 255, + 255, 255, 83, 107, 105, 110, + 0, 118, 105, 110, 0, 80, + 111, 115, 105, 116, 105, 111, + 110, 0, 78, 111, 114, 109, + 97, 108, 0, 73, 110, 100, + 105, 99, 101, 115, 0, 171, + 171, 171, 1, 0, 2, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 87, 101, 105, 103, 104, 116, + 115, 0, 125, 6, 0, 0, + 236, 3, 0, 0, 134, 6, + 0, 0, 196, 4, 0, 0, + 5, 4, 0, 0, 16, 4, + 0, 0, 141, 6, 0, 0, + 152, 6, 0, 0, 168, 6, + 0, 0, 236, 3, 0, 0, + 5, 0, 0, 0, 1, 0, + 17, 0, 1, 0, 5, 0, + 176, 6, 0, 0, 12, 0, + 0, 0, 4, 0, 255, 255, + 255, 255, 255, 255, 13, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 22, 0, + 0, 0, 255, 255, 5, 0, + 255, 255, 255, 255, 23, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 24, 0, + 0, 0, 255, 255, 255, 255, + 6, 0, 255, 255, 25, 0, + 0, 0, 255, 255, 255, 255, + 2, 0, 255, 255, 1, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 3, 0, 2, 0, + 0, 0, 4, 0, 5, 0, + 6, 0, 255, 255, 3, 0, + 0, 0, 7, 0, 8, 0, + 255, 255, 255, 255, 4, 0, + 0, 0, 9, 0, 10, 0, + 11, 0, 12, 0, 5, 0, + 0, 0, 13, 0, 14, 0, + 15, 0, 16, 0, 118, 111, + 117, 116, 0, 80, 111, 115, + 95, 112, 115, 0, 70, 111, + 103, 70, 97, 99, 116, 111, + 114, 0, 171, 171, 0, 0, + 3, 0, 1, 0, 1, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 113, 7, 0, 0, + 236, 3, 0, 0, 225, 3, + 0, 0, 236, 3, 0, 0, + 252, 3, 0, 0, 196, 4, + 0, 0, 120, 7, 0, 0, + 132, 7, 0, 0, 5, 0, + 0, 0, 1, 0, 12, 0, + 1, 0, 4, 0, 148, 7, + 0, 0, 72, 0, 0, 0, + 0, 0, 255, 255, 255, 255, + 255, 255, 73, 0, 0, 0, + 255, 255, 1, 0, 255, 255, + 255, 255, 74, 0, 0, 0, + 3, 0, 255, 255, 255, 255, + 255, 255, 119, 111, 114, 108, + 100, 78, 111, 114, 109, 97, + 108, 0, 29, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 122, 101, 114, 111, + 76, 0, 171, 171, 33, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 140, 3, + 0, 0, 151, 3, 0, 0, + 164, 3, 0, 0, 1, 0, + 0, 0, 180, 3, 0, 0, + 0, 0, 0, 0, 192, 3, + 0, 0, 76, 4, 0, 0, + 8, 0, 0, 0, 92, 4, + 0, 0, 0, 0, 0, 0, + 188, 4, 0, 0, 196, 4, + 0, 0, 1, 0, 0, 0, + 212, 4, 0, 0, 0, 0, + 0, 0, 224, 4, 0, 0, + 196, 4, 0, 0, 3, 0, + 0, 0, 232, 4, 0, 0, + 0, 0, 0, 0, 12, 5, + 0, 0, 196, 4, 0, 0, + 3, 0, 0, 0, 20, 5, + 0, 0, 0, 0, 0, 0, + 56, 5, 0, 0, 196, 4, + 0, 0, 1, 0, 0, 0, + 68, 5, 0, 0, 0, 0, + 0, 0, 80, 5, 0, 0, + 92, 5, 0, 0, 3, 0, + 0, 0, 108, 5, 0, 0, + 0, 0, 0, 0, 144, 5, + 0, 0, 236, 3, 0, 0, + 3, 0, 0, 0, 152, 5, + 0, 0, 0, 0, 0, 0, + 188, 5, 0, 0, 200, 5, + 0, 0, 9, 0, 0, 0, + 216, 5, 0, 0, 0, 0, + 0, 0, 68, 6, 0, 0, + 196, 4, 0, 0, 3, 0, + 0, 0, 80, 6, 0, 0, + 116, 6, 0, 0, 121, 6, + 0, 0, 216, 6, 0, 0, + 6, 0, 0, 0, 232, 6, + 0, 0, 192, 3, 0, 0, + 121, 6, 0, 0, 216, 6, + 0, 0, 5, 0, 0, 0, + 48, 7, 0, 0, 0, 0, + 0, 0, 108, 7, 0, 0, + 180, 7, 0, 0, 3, 0, + 0, 0, 196, 7, 0, 0, + 0, 0, 0, 0, 232, 7, + 0, 0, 196, 4, 0, 0, + 1, 0, 0, 0, 244, 7, + 0, 0, 0, 0, 0, 0, + 0, 8, 0, 0, 196, 4, + 0, 0, 1, 0, 0, 0, + 8, 8, 0, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 81, 0, 0, 5, + 243, 0, 15, 160, 0, 0, + 64, 64, 0, 0, 0, 0, + 0, 0, 128, 63, 0, 0, + 0, 0, 31, 0, 0, 2, + 5, 0, 0, 128, 0, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 1, 128, 1, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 2, 128, 2, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 3, 128, 3, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 4, 128, 4, 0, + 15, 144, 5, 0, 0, 3, + 0, 0, 15, 128, 3, 0, + 228, 144, 243, 0, 0, 160, + 46, 0, 0, 2, 0, 0, + 15, 176, 0, 0, 225, 128, + 5, 0, 0, 4, 1, 0, + 15, 128, 4, 0, 85, 144, 26, 32, 228, 160, 0, 0, - 255, 176, 4, 0, 255, 144, - 0, 0, 228, 128, 8, 0, - 0, 3, 1, 0, 1, 128, - 1, 0, 228, 144, 0, 0, - 228, 128, 9, 0, 0, 3, - 0, 0, 1, 128, 0, 0, + 0, 176, 4, 0, 0, 5, + 1, 0, 15, 128, 26, 32, + 228, 160, 0, 0, 85, 176, + 4, 0, 0, 144, 1, 0, + 228, 128, 4, 0, 0, 5, + 0, 0, 15, 128, 26, 32, + 228, 160, 0, 0, 170, 176, + 4, 0, 170, 144, 1, 0, + 228, 128, 4, 0, 0, 5, + 0, 0, 15, 128, 26, 32, + 228, 160, 0, 0, 255, 176, + 4, 0, 255, 144, 0, 0, + 228, 128, 8, 0, 0, 3, + 1, 0, 1, 128, 1, 0, 228, 144, 0, 0, 228, 128, - 5, 0, 0, 4, 2, 0, + 9, 0, 0, 3, 0, 0, + 1, 128, 0, 0, 228, 144, + 0, 0, 228, 128, 5, 0, + 0, 4, 2, 0, 15, 128, + 4, 0, 85, 144, 27, 32, + 228, 160, 0, 0, 0, 176, + 5, 0, 0, 4, 3, 0, 15, 128, 4, 0, 85, 144, - 27, 32, 228, 160, 0, 0, - 0, 176, 5, 0, 0, 4, - 3, 0, 15, 128, 4, 0, - 85, 144, 28, 32, 228, 160, - 0, 0, 0, 176, 4, 0, - 0, 5, 3, 0, 15, 128, - 28, 32, 228, 160, 0, 0, - 85, 176, 4, 0, 0, 144, - 3, 0, 228, 128, 4, 0, - 0, 5, 2, 0, 15, 128, - 27, 32, 228, 160, 0, 0, - 85, 176, 4, 0, 0, 144, - 2, 0, 228, 128, 4, 0, - 0, 5, 2, 0, 15, 128, - 27, 32, 228, 160, 0, 0, - 170, 176, 4, 0, 170, 144, - 2, 0, 228, 128, 4, 0, - 0, 5, 3, 0, 15, 128, - 28, 32, 228, 160, 0, 0, - 170, 176, 4, 0, 170, 144, - 3, 0, 228, 128, 4, 0, - 0, 5, 3, 0, 15, 128, 28, 32, 228, 160, 0, 0, - 255, 176, 4, 0, 255, 144, - 3, 0, 228, 128, 4, 0, - 0, 5, 2, 0, 15, 128, - 27, 32, 228, 160, 0, 0, - 255, 176, 4, 0, 255, 144, + 0, 176, 4, 0, 0, 5, + 3, 0, 15, 128, 28, 32, + 228, 160, 0, 0, 85, 176, + 4, 0, 0, 144, 3, 0, + 228, 128, 4, 0, 0, 5, + 2, 0, 15, 128, 27, 32, + 228, 160, 0, 0, 85, 176, + 4, 0, 0, 144, 2, 0, + 228, 128, 4, 0, 0, 5, + 2, 0, 15, 128, 27, 32, + 228, 160, 0, 0, 170, 176, + 4, 0, 170, 144, 2, 0, + 228, 128, 4, 0, 0, 5, + 3, 0, 15, 128, 28, 32, + 228, 160, 0, 0, 170, 176, + 4, 0, 170, 144, 3, 0, + 228, 128, 4, 0, 0, 5, + 3, 0, 15, 128, 28, 32, + 228, 160, 0, 0, 255, 176, + 4, 0, 255, 144, 3, 0, + 228, 128, 4, 0, 0, 5, + 2, 0, 15, 128, 27, 32, + 228, 160, 0, 0, 255, 176, + 4, 0, 255, 144, 2, 0, + 228, 128, 8, 0, 0, 3, + 1, 0, 2, 128, 1, 0, + 228, 144, 2, 0, 228, 128, + 9, 0, 0, 3, 0, 0, + 2, 128, 0, 0, 228, 144, 2, 0, 228, 128, 8, 0, - 0, 3, 1, 0, 2, 128, - 1, 0, 228, 144, 2, 0, + 0, 3, 1, 0, 4, 128, + 1, 0, 228, 144, 3, 0, 228, 128, 9, 0, 0, 3, - 0, 0, 2, 128, 0, 0, - 228, 144, 2, 0, 228, 128, - 8, 0, 0, 3, 1, 0, - 4, 128, 1, 0, 228, 144, - 3, 0, 228, 128, 9, 0, - 0, 3, 0, 0, 4, 128, - 0, 0, 228, 144, 3, 0, - 228, 128, 8, 0, 0, 3, - 2, 0, 1, 128, 1, 0, - 228, 128, 19, 0, 228, 160, + 0, 0, 4, 128, 0, 0, + 228, 144, 3, 0, 228, 128, 8, 0, 0, 3, 2, 0, - 2, 128, 1, 0, 228, 128, - 20, 0, 228, 160, 8, 0, - 0, 3, 2, 0, 4, 128, - 1, 0, 228, 128, 21, 0, - 228, 160, 36, 0, 0, 2, - 1, 0, 7, 128, 2, 0, - 228, 128, 8, 0, 0, 3, - 2, 0, 1, 128, 3, 0, - 228, 161, 1, 0, 228, 128, + 1, 128, 1, 0, 228, 128, + 19, 0, 228, 160, 8, 0, + 0, 3, 2, 0, 2, 128, + 1, 0, 228, 128, 20, 0, + 228, 160, 8, 0, 0, 3, + 2, 0, 4, 128, 1, 0, + 228, 128, 21, 0, 228, 160, + 36, 0, 0, 2, 1, 0, + 7, 128, 2, 0, 228, 128, 8, 0, 0, 3, 2, 0, - 2, 128, 4, 0, 228, 161, + 1, 128, 3, 0, 228, 161, 1, 0, 228, 128, 8, 0, - 0, 3, 2, 0, 4, 128, - 5, 0, 228, 161, 1, 0, - 228, 128, 13, 0, 0, 3, - 3, 0, 7, 128, 2, 0, - 228, 128, 243, 0, 85, 160, - 5, 0, 0, 3, 2, 0, + 0, 3, 2, 0, 2, 128, + 4, 0, 228, 161, 1, 0, + 228, 128, 8, 0, 0, 3, + 2, 0, 4, 128, 5, 0, + 228, 161, 1, 0, 228, 128, + 13, 0, 0, 3, 3, 0, 7, 128, 2, 0, 228, 128, - 3, 0, 228, 128, 5, 0, - 0, 3, 4, 0, 7, 128, - 2, 0, 85, 128, 7, 0, - 228, 160, 4, 0, 0, 4, - 2, 0, 11, 128, 2, 0, - 0, 128, 6, 0, 164, 160, - 4, 0, 164, 128, 4, 0, - 0, 4, 2, 0, 7, 128, - 2, 0, 170, 128, 8, 0, - 228, 160, 2, 0, 244, 128, - 1, 0, 0, 2, 4, 0, - 7, 128, 0, 0, 228, 160, - 4, 0, 0, 4, 0, 0, - 7, 224, 2, 0, 228, 128, - 4, 0, 228, 128, 1, 0, - 228, 160, 1, 0, 0, 2, - 0, 0, 8, 128, 0, 0, - 255, 144, 9, 0, 0, 3, - 2, 0, 1, 128, 0, 0, - 228, 128, 15, 0, 228, 160, - 9, 0, 0, 3, 2, 0, - 2, 128, 0, 0, 228, 128, - 16, 0, 228, 160, 9, 0, - 0, 3, 2, 0, 4, 128, - 0, 0, 228, 128, 17, 0, - 228, 160, 2, 0, 0, 3, + 243, 0, 85, 160, 5, 0, + 0, 3, 2, 0, 7, 128, + 2, 0, 228, 128, 3, 0, + 228, 128, 5, 0, 0, 3, + 4, 0, 7, 128, 2, 0, + 85, 128, 7, 0, 228, 160, + 4, 0, 0, 4, 2, 0, + 11, 128, 2, 0, 0, 128, + 6, 0, 164, 160, 4, 0, + 164, 128, 4, 0, 0, 4, 2, 0, 7, 128, 2, 0, - 228, 129, 12, 0, 228, 160, - 36, 0, 0, 2, 4, 0, - 7, 128, 2, 0, 228, 128, + 170, 128, 8, 0, 228, 160, + 2, 0, 244, 128, 1, 0, + 0, 2, 4, 0, 7, 128, + 0, 0, 228, 160, 4, 0, + 0, 4, 0, 0, 7, 224, + 2, 0, 228, 128, 4, 0, + 228, 128, 1, 0, 228, 160, + 1, 0, 0, 2, 0, 0, + 8, 128, 0, 0, 255, 144, + 9, 0, 0, 3, 2, 0, + 1, 128, 0, 0, 228, 128, + 15, 0, 228, 160, 9, 0, + 0, 3, 2, 0, 2, 128, + 0, 0, 228, 128, 16, 0, + 228, 160, 9, 0, 0, 3, + 2, 0, 4, 128, 0, 0, + 228, 128, 17, 0, 228, 160, 2, 0, 0, 3, 2, 0, + 7, 128, 2, 0, 228, 129, + 12, 0, 228, 160, 36, 0, + 0, 2, 4, 0, 7, 128, + 2, 0, 228, 128, 2, 0, + 0, 3, 2, 0, 7, 128, + 4, 0, 228, 128, 3, 0, + 228, 161, 36, 0, 0, 2, + 5, 0, 7, 128, 2, 0, + 228, 128, 8, 0, 0, 3, + 2, 0, 1, 128, 5, 0, + 228, 128, 1, 0, 228, 128, + 2, 0, 0, 3, 5, 0, 7, 128, 4, 0, 228, 128, - 3, 0, 228, 161, 36, 0, - 0, 2, 5, 0, 7, 128, - 2, 0, 228, 128, 8, 0, - 0, 3, 2, 0, 1, 128, - 5, 0, 228, 128, 1, 0, - 228, 128, 2, 0, 0, 3, - 5, 0, 7, 128, 4, 0, - 228, 128, 4, 0, 228, 161, - 2, 0, 0, 3, 4, 0, - 7, 128, 4, 0, 228, 128, - 5, 0, 228, 161, 36, 0, - 0, 2, 6, 0, 7, 128, - 4, 0, 228, 128, 8, 0, - 0, 3, 2, 0, 4, 128, - 6, 0, 228, 128, 1, 0, - 228, 128, 36, 0, 0, 2, - 4, 0, 7, 128, 5, 0, + 4, 0, 228, 161, 2, 0, + 0, 3, 4, 0, 7, 128, + 4, 0, 228, 128, 5, 0, + 228, 161, 36, 0, 0, 2, + 6, 0, 7, 128, 4, 0, 228, 128, 8, 0, 0, 3, - 2, 0, 2, 128, 4, 0, + 2, 0, 4, 128, 6, 0, 228, 128, 1, 0, 228, 128, - 11, 0, 0, 3, 1, 0, - 7, 128, 2, 0, 228, 128, - 243, 0, 85, 160, 5, 0, + 36, 0, 0, 2, 4, 0, + 7, 128, 5, 0, 228, 128, + 8, 0, 0, 3, 2, 0, + 2, 128, 4, 0, 228, 128, + 1, 0, 228, 128, 11, 0, 0, 3, 1, 0, 7, 128, - 3, 0, 228, 128, 1, 0, - 228, 128, 15, 0, 0, 2, - 2, 0, 1, 128, 1, 0, - 0, 128, 15, 0, 0, 2, - 2, 0, 2, 128, 1, 0, - 85, 128, 15, 0, 0, 2, - 2, 0, 4, 128, 1, 0, - 170, 128, 5, 0, 0, 3, - 1, 0, 7, 128, 2, 0, - 228, 128, 2, 0, 255, 160, - 14, 0, 0, 2, 1, 0, + 2, 0, 228, 128, 243, 0, + 85, 160, 5, 0, 0, 3, + 1, 0, 7, 128, 3, 0, + 228, 128, 1, 0, 228, 128, + 15, 0, 0, 2, 2, 0, + 1, 128, 1, 0, 0, 128, + 15, 0, 0, 2, 2, 0, 2, 128, 1, 0, 85, 128, - 5, 0, 0, 3, 2, 0, - 7, 128, 1, 0, 85, 128, - 10, 0, 228, 160, 14, 0, - 0, 2, 1, 0, 1, 128, - 1, 0, 0, 128, 14, 0, + 15, 0, 0, 2, 2, 0, + 4, 128, 1, 0, 170, 128, + 5, 0, 0, 3, 1, 0, + 7, 128, 2, 0, 228, 128, + 2, 0, 255, 160, 14, 0, 0, 2, 1, 0, 2, 128, - 1, 0, 170, 128, 4, 0, - 0, 4, 1, 0, 13, 128, - 1, 0, 0, 128, 9, 0, - 148, 160, 2, 0, 148, 128, - 4, 0, 0, 4, 1, 0, - 7, 128, 1, 0, 85, 128, - 11, 0, 228, 160, 1, 0, - 248, 128, 5, 0, 0, 3, - 1, 0, 7, 224, 1, 0, - 228, 128, 2, 0, 228, 160, - 9, 0, 0, 3, 0, 0, - 4, 192, 0, 0, 228, 128, - 24, 0, 228, 160, 9, 0, - 0, 3, 1, 0, 1, 128, - 0, 0, 228, 128, 14, 0, - 228, 160, 11, 0, 0, 3, + 1, 0, 85, 128, 5, 0, + 0, 3, 2, 0, 7, 128, + 1, 0, 85, 128, 10, 0, + 228, 160, 14, 0, 0, 2, 1, 0, 1, 128, 1, 0, - 0, 128, 243, 0, 85, 160, - 10, 0, 0, 3, 1, 0, - 8, 224, 1, 0, 0, 128, - 243, 0, 170, 160, 9, 0, - 0, 3, 1, 0, 1, 128, - 0, 0, 228, 128, 22, 0, + 0, 128, 14, 0, 0, 2, + 1, 0, 2, 128, 1, 0, + 170, 128, 4, 0, 0, 4, + 1, 0, 13, 128, 1, 0, + 0, 128, 9, 0, 148, 160, + 2, 0, 148, 128, 4, 0, + 0, 4, 1, 0, 7, 128, + 1, 0, 85, 128, 11, 0, + 228, 160, 1, 0, 248, 128, + 5, 0, 0, 3, 1, 0, + 7, 224, 1, 0, 228, 128, + 2, 0, 228, 160, 9, 0, + 0, 3, 0, 0, 4, 192, + 0, 0, 228, 128, 24, 0, 228, 160, 9, 0, 0, 3, - 1, 0, 2, 128, 0, 0, - 228, 128, 23, 0, 228, 160, - 9, 0, 0, 3, 0, 0, - 1, 128, 0, 0, 228, 128, - 25, 0, 228, 160, 4, 0, - 0, 4, 0, 0, 3, 192, - 0, 0, 0, 128, 242, 0, - 228, 160, 1, 0, 228, 128, - 1, 0, 0, 2, 0, 0, - 8, 192, 0, 0, 0, 128, - 1, 0, 0, 2, 0, 0, - 8, 224, 0, 0, 255, 160, - 1, 0, 0, 2, 2, 0, - 3, 224, 2, 0, 228, 144, - 255, 255, 0, 0, 83, 72, - 68, 82, 28, 10, 0, 0, - 64, 0, 1, 0, 135, 2, - 0, 0, 89, 8, 0, 4, - 70, 142, 32, 0, 0, 0, - 0, 0, 242, 0, 0, 0, - 95, 0, 0, 3, 242, 16, - 16, 0, 0, 0, 0, 0, - 95, 0, 0, 3, 114, 16, - 16, 0, 1, 0, 0, 0, - 95, 0, 0, 3, 50, 16, - 16, 0, 2, 0, 0, 0, - 95, 0, 0, 3, 242, 16, - 16, 0, 3, 0, 0, 0, - 95, 0, 0, 3, 242, 16, - 16, 0, 4, 0, 0, 0, - 101, 0, 0, 3, 242, 32, - 16, 0, 0, 0, 0, 0, - 101, 0, 0, 3, 242, 32, - 16, 0, 1, 0, 0, 0, - 101, 0, 0, 3, 50, 32, - 16, 0, 2, 0, 0, 0, - 103, 0, 0, 4, 242, 32, - 16, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 104, 0, - 0, 2, 6, 0, 0, 0, - 38, 0, 0, 11, 0, 208, - 0, 0, 242, 0, 16, 0, - 0, 0, 0, 0, 70, 30, - 16, 0, 3, 0, 0, 0, - 2, 64, 0, 0, 3, 0, + 1, 0, 1, 128, 0, 0, + 228, 128, 14, 0, 228, 160, + 11, 0, 0, 3, 1, 0, + 1, 128, 1, 0, 0, 128, + 243, 0, 85, 160, 10, 0, + 0, 3, 1, 0, 8, 224, + 1, 0, 0, 128, 243, 0, + 170, 160, 9, 0, 0, 3, + 1, 0, 1, 128, 0, 0, + 228, 128, 22, 0, 228, 160, + 9, 0, 0, 3, 1, 0, + 2, 128, 0, 0, 228, 128, + 23, 0, 228, 160, 9, 0, + 0, 3, 0, 0, 1, 128, + 0, 0, 228, 128, 25, 0, + 228, 160, 4, 0, 0, 4, + 0, 0, 3, 192, 0, 0, + 0, 128, 242, 0, 228, 160, + 1, 0, 228, 128, 1, 0, + 0, 2, 0, 0, 8, 192, + 0, 0, 0, 128, 1, 0, + 0, 2, 0, 0, 8, 224, + 0, 0, 255, 160, 1, 0, + 0, 2, 2, 0, 3, 224, + 2, 0, 228, 144, 255, 255, + 0, 0, 83, 72, 68, 82, + 28, 10, 0, 0, 64, 0, + 1, 0, 135, 2, 0, 0, + 89, 8, 0, 4, 70, 142, + 32, 0, 0, 0, 0, 0, + 242, 0, 0, 0, 95, 0, + 0, 3, 242, 16, 16, 0, + 0, 0, 0, 0, 95, 0, + 0, 3, 114, 16, 16, 0, + 1, 0, 0, 0, 95, 0, + 0, 3, 50, 16, 16, 0, + 2, 0, 0, 0, 95, 0, + 0, 3, 242, 16, 16, 0, + 3, 0, 0, 0, 95, 0, + 0, 3, 242, 16, 16, 0, + 4, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 0, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 50, 32, 16, 0, + 2, 0, 0, 0, 103, 0, + 0, 4, 242, 32, 16, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 104, 0, 0, 2, + 6, 0, 0, 0, 38, 0, + 0, 11, 0, 208, 0, 0, + 242, 0, 16, 0, 0, 0, + 0, 0, 70, 30, 16, 0, + 3, 0, 0, 0, 2, 64, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 3, 0, - 0, 0, 56, 0, 0, 10, - 242, 0, 16, 0, 1, 0, - 0, 0, 86, 21, 16, 0, - 4, 0, 0, 0, 70, 142, + 0, 0, 3, 0, 0, 0, + 56, 0, 0, 10, 242, 0, + 16, 0, 1, 0, 0, 0, + 86, 21, 16, 0, 4, 0, + 0, 0, 70, 142, 32, 6, + 0, 0, 0, 0, 26, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 50, 0, + 0, 12, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 142, 32, 6, 0, 0, 0, 0, - 26, 0, 0, 0, 26, 0, + 26, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, - 50, 0, 0, 12, 242, 0, - 16, 0, 1, 0, 0, 0, - 70, 142, 32, 6, 0, 0, - 0, 0, 26, 0, 0, 0, - 10, 0, 16, 0, 0, 0, - 0, 0, 6, 16, 16, 0, - 4, 0, 0, 0, 70, 14, - 16, 0, 1, 0, 0, 0, - 50, 0, 0, 12, 242, 0, - 16, 0, 1, 0, 0, 0, - 70, 142, 32, 6, 0, 0, - 0, 0, 26, 0, 0, 0, - 42, 0, 16, 0, 0, 0, - 0, 0, 166, 26, 16, 0, - 4, 0, 0, 0, 70, 14, - 16, 0, 1, 0, 0, 0, - 50, 0, 0, 12, 242, 0, + 6, 16, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 50, 0, + 0, 12, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 142, + 32, 6, 0, 0, 0, 0, + 26, 0, 0, 0, 42, 0, + 16, 0, 0, 0, 0, 0, + 166, 26, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 50, 0, + 0, 12, 242, 0, 16, 0, + 1, 0, 0, 0, 70, 142, + 32, 6, 0, 0, 0, 0, + 26, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 246, 31, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 16, 0, + 0, 7, 18, 0, 16, 0, + 2, 0, 0, 0, 70, 18, 16, 0, 1, 0, 0, 0, - 70, 142, 32, 6, 0, 0, - 0, 0, 26, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 246, 31, 16, 0, - 4, 0, 0, 0, 70, 14, + 70, 2, 16, 0, 1, 0, + 0, 0, 17, 0, 0, 7, + 18, 0, 16, 0, 1, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, - 16, 0, 0, 7, 18, 0, - 16, 0, 2, 0, 0, 0, - 70, 18, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 1, 0, 0, 0, 17, 0, - 0, 7, 18, 0, 16, 0, - 1, 0, 0, 0, 70, 30, + 56, 0, 0, 10, 242, 0, + 16, 0, 3, 0, 0, 0, + 86, 21, 16, 0, 4, 0, + 0, 0, 70, 142, 32, 6, + 0, 0, 0, 0, 27, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 50, 0, + 0, 12, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 142, + 32, 6, 0, 0, 0, 0, + 27, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 1, 0, - 0, 0, 56, 0, 0, 10, - 242, 0, 16, 0, 3, 0, - 0, 0, 86, 21, 16, 0, - 4, 0, 0, 0, 70, 142, + 6, 16, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 50, 0, + 0, 12, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 142, 32, 6, 0, 0, 0, 0, - 27, 0, 0, 0, 26, 0, + 27, 0, 0, 0, 42, 0, 16, 0, 0, 0, 0, 0, - 50, 0, 0, 12, 242, 0, - 16, 0, 3, 0, 0, 0, - 70, 142, 32, 6, 0, 0, - 0, 0, 27, 0, 0, 0, - 10, 0, 16, 0, 0, 0, - 0, 0, 6, 16, 16, 0, - 4, 0, 0, 0, 70, 14, - 16, 0, 3, 0, 0, 0, - 50, 0, 0, 12, 242, 0, - 16, 0, 3, 0, 0, 0, - 70, 142, 32, 6, 0, 0, - 0, 0, 27, 0, 0, 0, - 42, 0, 16, 0, 0, 0, - 0, 0, 166, 26, 16, 0, - 4, 0, 0, 0, 70, 14, - 16, 0, 3, 0, 0, 0, - 50, 0, 0, 12, 242, 0, + 166, 26, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 50, 0, + 0, 12, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 142, + 32, 6, 0, 0, 0, 0, + 27, 0, 0, 0, 58, 0, + 16, 0, 0, 0, 0, 0, + 246, 31, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 16, 0, + 0, 7, 34, 0, 16, 0, + 2, 0, 0, 0, 70, 18, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 3, 0, + 0, 0, 17, 0, 0, 7, + 34, 0, 16, 0, 1, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 14, 16, 0, 3, 0, 0, 0, - 70, 142, 32, 6, 0, 0, - 0, 0, 27, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 246, 31, 16, 0, - 4, 0, 0, 0, 70, 14, + 56, 0, 0, 10, 242, 0, 16, 0, 3, 0, 0, 0, - 16, 0, 0, 7, 34, 0, - 16, 0, 2, 0, 0, 0, - 70, 18, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 3, 0, 0, 0, 17, 0, - 0, 7, 34, 0, 16, 0, - 1, 0, 0, 0, 70, 30, + 86, 21, 16, 0, 4, 0, + 0, 0, 70, 142, 32, 6, + 0, 0, 0, 0, 28, 0, + 0, 0, 26, 0, 16, 0, + 0, 0, 0, 0, 50, 0, + 0, 12, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 142, + 32, 6, 0, 0, 0, 0, + 28, 0, 0, 0, 10, 0, 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 3, 0, - 0, 0, 56, 0, 0, 10, - 242, 0, 16, 0, 3, 0, - 0, 0, 86, 21, 16, 0, - 4, 0, 0, 0, 70, 142, + 6, 16, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 50, 0, + 0, 12, 242, 0, 16, 0, + 3, 0, 0, 0, 70, 142, 32, 6, 0, 0, 0, 0, - 28, 0, 0, 0, 26, 0, + 28, 0, 0, 0, 42, 0, 16, 0, 0, 0, 0, 0, - 50, 0, 0, 12, 242, 0, - 16, 0, 3, 0, 0, 0, - 70, 142, 32, 6, 0, 0, - 0, 0, 28, 0, 0, 0, - 10, 0, 16, 0, 0, 0, - 0, 0, 6, 16, 16, 0, - 4, 0, 0, 0, 70, 14, - 16, 0, 3, 0, 0, 0, - 50, 0, 0, 12, 242, 0, - 16, 0, 3, 0, 0, 0, - 70, 142, 32, 6, 0, 0, - 0, 0, 28, 0, 0, 0, - 42, 0, 16, 0, 0, 0, - 0, 0, 166, 26, 16, 0, - 4, 0, 0, 0, 70, 14, - 16, 0, 3, 0, 0, 0, - 50, 0, 0, 12, 242, 0, + 166, 26, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 50, 0, + 0, 12, 242, 0, 16, 0, + 0, 0, 0, 0, 70, 142, + 32, 6, 0, 0, 0, 0, + 28, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, - 70, 142, 32, 6, 0, 0, - 0, 0, 28, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 246, 31, 16, 0, - 4, 0, 0, 0, 70, 14, - 16, 0, 3, 0, 0, 0, - 16, 0, 0, 7, 66, 0, - 16, 0, 2, 0, 0, 0, - 70, 18, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 17, 0, + 246, 31, 16, 0, 4, 0, + 0, 0, 70, 14, 16, 0, + 3, 0, 0, 0, 16, 0, 0, 7, 66, 0, 16, 0, - 1, 0, 0, 0, 70, 30, + 2, 0, 0, 0, 70, 18, + 16, 0, 1, 0, 0, 0, + 70, 2, 16, 0, 0, 0, + 0, 0, 17, 0, 0, 7, + 66, 0, 16, 0, 1, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 70, 14, + 16, 0, 0, 0, 0, 0, + 16, 0, 0, 8, 18, 0, 16, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 0, 0, + 70, 2, 16, 0, 2, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 19, 0, 0, 0, 16, 0, 0, 8, - 18, 0, 16, 0, 0, 0, + 34, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, - 19, 0, 0, 0, 16, 0, - 0, 8, 34, 0, 16, 0, + 20, 0, 0, 0, 16, 0, + 0, 8, 66, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 70, 130, 32, 0, 0, 0, - 0, 0, 20, 0, 0, 0, - 16, 0, 0, 8, 66, 0, + 0, 0, 21, 0, 0, 0, + 16, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 2, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 21, 0, - 0, 0, 16, 0, 0, 7, - 130, 0, 16, 0, 0, 0, + 70, 2, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 68, 0, 0, 5, 130, 0, + 0, 0, 0, 0, 68, 0, + 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 0, 0, - 0, 0, 246, 15, 16, 0, - 0, 0, 0, 0, 70, 2, + 56, 0, 0, 7, 114, 0, 16, 0, 0, 0, 0, 0, - 16, 0, 0, 9, 18, 0, - 16, 0, 2, 0, 0, 0, - 70, 130, 32, 128, 65, 0, - 0, 0, 0, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 16, 0, + 0, 9, 18, 0, 16, 0, + 2, 0, 0, 0, 70, 130, + 32, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 16, 0, + 0, 9, 34, 0, 16, 0, + 2, 0, 0, 0, 70, 130, + 32, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 16, 0, + 0, 9, 66, 0, 16, 0, + 2, 0, 0, 0, 70, 130, + 32, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 29, 0, + 0, 10, 114, 0, 16, 0, 3, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 16, 0, 0, 9, 34, 0, 16, 0, 2, 0, 0, 0, - 70, 130, 32, 128, 65, 0, - 0, 0, 0, 0, 0, 0, - 4, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 16, 0, 0, 9, 66, 0, - 16, 0, 2, 0, 0, 0, - 70, 130, 32, 128, 65, 0, - 0, 0, 0, 0, 0, 0, - 5, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 29, 0, 0, 10, 114, 0, - 16, 0, 3, 0, 0, 0, - 70, 2, 16, 0, 2, 0, - 0, 0, 2, 64, 0, 0, + 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 10, 114, 0, 16, 0, - 3, 0, 0, 0, 70, 2, - 16, 0, 3, 0, 0, 0, - 2, 64, 0, 0, 0, 0, - 128, 63, 0, 0, 128, 63, - 0, 0, 128, 63, 0, 0, - 0, 0, 56, 0, 0, 7, - 114, 0, 16, 0, 2, 0, + 0, 0, 1, 0, 0, 10, + 114, 0, 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 70, 2, - 16, 0, 3, 0, 0, 0, - 56, 0, 0, 8, 114, 0, - 16, 0, 4, 0, 0, 0, - 86, 5, 16, 0, 2, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 7, 0, - 0, 0, 50, 0, 0, 10, - 178, 0, 16, 0, 2, 0, - 0, 0, 6, 0, 16, 0, - 2, 0, 0, 0, 70, 136, - 32, 0, 0, 0, 0, 0, - 6, 0, 0, 0, 70, 8, - 16, 0, 4, 0, 0, 0, - 50, 0, 0, 10, 114, 0, + 3, 0, 0, 0, 2, 64, + 0, 0, 0, 0, 128, 63, + 0, 0, 128, 63, 0, 0, + 128, 63, 0, 0, 0, 0, + 56, 0, 0, 7, 114, 0, 16, 0, 2, 0, 0, 0, - 166, 10, 16, 0, 2, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 8, 0, - 0, 0, 70, 3, 16, 0, - 2, 0, 0, 0, 50, 0, - 0, 11, 114, 32, 16, 0, - 0, 0, 0, 0, 70, 2, + 70, 2, 16, 0, 2, 0, + 0, 0, 70, 2, 16, 0, + 3, 0, 0, 0, 56, 0, + 0, 8, 114, 0, 16, 0, + 4, 0, 0, 0, 86, 5, 16, 0, 2, 0, 0, 0, 70, 130, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, + 0, 0, 7, 0, 0, 0, + 50, 0, 0, 10, 178, 0, + 16, 0, 2, 0, 0, 0, + 6, 0, 16, 0, 2, 0, + 0, 0, 70, 136, 32, 0, + 0, 0, 0, 0, 6, 0, + 0, 0, 70, 8, 16, 0, + 4, 0, 0, 0, 50, 0, + 0, 10, 114, 0, 16, 0, + 2, 0, 0, 0, 166, 10, + 16, 0, 2, 0, 0, 0, 70, 130, 32, 0, 0, 0, - 0, 0, 1, 0, 0, 0, - 54, 0, 0, 6, 130, 32, + 0, 0, 8, 0, 0, 0, + 70, 3, 16, 0, 2, 0, + 0, 0, 50, 0, 0, 11, + 114, 32, 16, 0, 0, 0, + 0, 0, 70, 2, 16, 0, + 2, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 54, 0, + 0, 6, 130, 32, 16, 0, + 0, 0, 0, 0, 58, 128, + 32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 130, 0, 16, 0, + 1, 0, 0, 0, 58, 16, 16, 0, 0, 0, 0, 0, - 58, 128, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 54, 0, 0, 5, 130, 0, - 16, 0, 1, 0, 0, 0, - 58, 16, 16, 0, 0, 0, + 17, 0, 0, 8, 18, 0, + 16, 0, 2, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 15, 0, 0, 0, 17, 0, 0, 8, - 18, 0, 16, 0, 2, 0, + 34, 0, 16, 0, 2, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 17, 0, - 0, 8, 34, 0, 16, 0, + 16, 0, 0, 0, 17, 0, + 0, 8, 66, 0, 16, 0, 2, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, 70, 142, 32, 0, 0, 0, - 0, 0, 16, 0, 0, 0, - 17, 0, 0, 8, 66, 0, - 16, 0, 2, 0, 0, 0, - 70, 14, 16, 0, 1, 0, - 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 17, 0, - 0, 0, 0, 0, 0, 9, - 114, 0, 16, 0, 2, 0, - 0, 0, 70, 2, 16, 128, - 65, 0, 0, 0, 2, 0, - 0, 0, 70, 130, 32, 0, - 0, 0, 0, 0, 12, 0, - 0, 0, 16, 0, 0, 7, - 130, 0, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 70, 2, + 0, 0, 17, 0, 0, 0, + 0, 0, 0, 9, 114, 0, 16, 0, 2, 0, 0, 0, - 68, 0, 0, 5, 130, 0, + 70, 2, 16, 128, 65, 0, + 0, 0, 2, 0, 0, 0, + 70, 130, 32, 0, 0, 0, + 0, 0, 12, 0, 0, 0, + 16, 0, 0, 7, 130, 0, 16, 0, 0, 0, 0, 0, - 58, 0, 16, 0, 0, 0, - 0, 0, 50, 0, 0, 11, - 114, 0, 16, 0, 4, 0, + 70, 2, 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 246, 15, + 2, 0, 0, 0, 68, 0, + 0, 5, 130, 0, 16, 0, + 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, - 70, 130, 32, 128, 65, 0, - 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 16, 0, - 0, 7, 130, 0, 16, 0, - 2, 0, 0, 0, 70, 2, + 50, 0, 0, 11, 114, 0, 16, 0, 4, 0, 0, 0, - 70, 2, 16, 0, 4, 0, - 0, 0, 68, 0, 0, 5, + 70, 2, 16, 0, 2, 0, + 0, 0, 246, 15, 16, 0, + 0, 0, 0, 0, 70, 130, + 32, 128, 65, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 16, 0, 0, 7, 130, 0, 16, 0, 2, 0, - 0, 0, 58, 0, 16, 0, - 2, 0, 0, 0, 56, 0, - 0, 7, 114, 0, 16, 0, - 4, 0, 0, 0, 246, 15, + 0, 0, 70, 2, 16, 0, + 4, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 68, 0, 0, 5, 130, 0, 16, 0, 2, 0, 0, 0, + 58, 0, 16, 0, 2, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 4, 0, + 0, 0, 246, 15, 16, 0, + 2, 0, 0, 0, 70, 2, + 16, 0, 4, 0, 0, 0, + 16, 0, 0, 7, 18, 0, + 16, 0, 4, 0, 0, 0, 70, 2, 16, 0, 4, 0, - 0, 0, 16, 0, 0, 7, - 18, 0, 16, 0, 4, 0, 0, 0, 70, 2, 16, 0, - 4, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, + 0, 11, 114, 0, 16, 0, + 5, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 246, 15, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 128, + 65, 0, 0, 0, 0, 0, + 0, 0, 4, 0, 0, 0, 50, 0, 0, 11, 114, 0, - 16, 0, 5, 0, 0, 0, + 16, 0, 2, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, 70, 130, 32, 128, 65, 0, 0, 0, - 0, 0, 0, 0, 4, 0, - 0, 0, 50, 0, 0, 11, - 114, 0, 16, 0, 2, 0, + 0, 0, 0, 0, 5, 0, + 0, 0, 16, 0, 0, 7, + 130, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 246, 15, + 5, 0, 0, 0, 70, 2, + 16, 0, 5, 0, 0, 0, + 68, 0, 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, - 70, 130, 32, 128, 65, 0, - 0, 0, 0, 0, 0, 0, - 5, 0, 0, 0, 16, 0, - 0, 7, 130, 0, 16, 0, + 58, 0, 16, 0, 0, 0, + 0, 0, 56, 0, 0, 7, + 114, 0, 16, 0, 5, 0, + 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 5, 0, 0, 0, + 16, 0, 0, 7, 34, 0, + 16, 0, 4, 0, 0, 0, 70, 2, 16, 0, 5, 0, + 0, 0, 70, 2, 16, 0, + 0, 0, 0, 0, 16, 0, + 0, 7, 130, 0, 16, 0, + 0, 0, 0, 0, 70, 2, + 16, 0, 2, 0, 0, 0, + 70, 2, 16, 0, 2, 0, 0, 0, 68, 0, 0, 5, 130, 0, 16, 0, 0, 0, 0, 0, 58, 0, 16, 0, 0, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, - 5, 0, 0, 0, 246, 15, + 2, 0, 0, 0, 246, 15, 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 5, 0, + 70, 2, 16, 0, 2, 0, 0, 0, 16, 0, 0, 7, - 34, 0, 16, 0, 4, 0, + 66, 0, 16, 0, 4, 0, 0, 0, 70, 2, 16, 0, - 5, 0, 0, 0, 70, 2, + 2, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, - 16, 0, 0, 7, 130, 0, + 52, 0, 0, 10, 114, 0, 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 2, 0, - 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 68, 0, - 0, 5, 130, 0, 16, 0, - 0, 0, 0, 0, 58, 0, - 16, 0, 0, 0, 0, 0, - 56, 0, 0, 7, 114, 0, - 16, 0, 2, 0, 0, 0, - 246, 15, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 2, 0, 0, 0, 16, 0, - 0, 7, 66, 0, 16, 0, - 4, 0, 0, 0, 70, 2, - 16, 0, 2, 0, 0, 0, - 70, 2, 16, 0, 0, 0, - 0, 0, 52, 0, 0, 10, - 114, 0, 16, 0, 0, 0, - 0, 0, 70, 2, 16, 0, - 4, 0, 0, 0, 2, 64, - 0, 0, 0, 0, 0, 0, + 70, 2, 16, 0, 4, 0, + 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 56, 0, 0, 7, 114, 0, - 16, 0, 0, 0, 0, 0, - 70, 2, 16, 0, 3, 0, - 0, 0, 70, 2, 16, 0, - 0, 0, 0, 0, 47, 0, - 0, 5, 114, 0, 16, 0, + 0, 0, 0, 0, 56, 0, + 0, 7, 114, 0, 16, 0, 0, 0, 0, 0, 70, 2, - 16, 0, 0, 0, 0, 0, - 56, 0, 0, 8, 114, 0, - 16, 0, 0, 0, 0, 0, + 16, 0, 3, 0, 0, 0, 70, 2, 16, 0, 0, 0, - 0, 0, 246, 143, 32, 0, - 0, 0, 0, 0, 2, 0, - 0, 0, 25, 0, 0, 5, + 0, 0, 47, 0, 0, 5, 114, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, 56, 0, 0, 8, 114, 0, 16, 0, - 2, 0, 0, 0, 86, 5, - 16, 0, 0, 0, 0, 0, - 70, 130, 32, 0, 0, 0, - 0, 0, 10, 0, 0, 0, - 50, 0, 0, 10, 178, 0, + 0, 0, 0, 0, 70, 2, 16, 0, 0, 0, 0, 0, - 6, 0, 16, 0, 0, 0, - 0, 0, 70, 136, 32, 0, - 0, 0, 0, 0, 9, 0, - 0, 0, 70, 8, 16, 0, - 2, 0, 0, 0, 50, 0, - 0, 10, 114, 0, 16, 0, - 0, 0, 0, 0, 166, 10, + 246, 143, 32, 0, 0, 0, + 0, 0, 2, 0, 0, 0, + 25, 0, 0, 5, 114, 0, 16, 0, 0, 0, 0, 0, - 70, 130, 32, 0, 0, 0, - 0, 0, 11, 0, 0, 0, - 70, 3, 16, 0, 0, 0, + 70, 2, 16, 0, 0, 0, 0, 0, 56, 0, 0, 8, - 114, 32, 16, 0, 1, 0, - 0, 0, 70, 2, 16, 0, + 114, 0, 16, 0, 2, 0, + 0, 0, 86, 5, 16, 0, 0, 0, 0, 0, 70, 130, 32, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 17, 32, - 0, 8, 130, 32, 16, 0, - 1, 0, 0, 0, 70, 14, + 10, 0, 0, 0, 50, 0, + 0, 10, 178, 0, 16, 0, + 0, 0, 0, 0, 6, 0, + 16, 0, 0, 0, 0, 0, + 70, 136, 32, 0, 0, 0, + 0, 0, 9, 0, 0, 0, + 70, 8, 16, 0, 2, 0, + 0, 0, 50, 0, 0, 10, + 114, 0, 16, 0, 0, 0, + 0, 0, 166, 10, 16, 0, + 0, 0, 0, 0, 70, 130, + 32, 0, 0, 0, 0, 0, + 11, 0, 0, 0, 70, 3, + 16, 0, 0, 0, 0, 0, + 56, 0, 0, 8, 114, 32, 16, 0, 1, 0, 0, 0, - 70, 142, 32, 0, 0, 0, - 0, 0, 14, 0, 0, 0, - 54, 0, 0, 5, 50, 32, + 70, 2, 16, 0, 0, 0, + 0, 0, 70, 130, 32, 0, + 0, 0, 0, 0, 2, 0, + 0, 0, 17, 32, 0, 8, + 130, 32, 16, 0, 1, 0, + 0, 0, 70, 14, 16, 0, + 1, 0, 0, 0, 70, 142, + 32, 0, 0, 0, 0, 0, + 14, 0, 0, 0, 54, 0, + 0, 5, 50, 32, 16, 0, + 2, 0, 0, 0, 70, 16, 16, 0, 2, 0, 0, 0, - 70, 16, 16, 0, 2, 0, + 17, 0, 0, 8, 18, 32, + 16, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 1, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 22, 0, 0, 0, 17, 0, 0, 8, - 18, 32, 16, 0, 3, 0, + 34, 32, 16, 0, 3, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 22, 0, 0, 0, 17, 0, - 0, 8, 34, 32, 16, 0, + 23, 0, 0, 0, 17, 0, + 0, 8, 66, 32, 16, 0, 3, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, 70, 142, 32, 0, 0, 0, - 0, 0, 23, 0, 0, 0, - 17, 0, 0, 8, 66, 32, + 0, 0, 24, 0, 0, 0, + 17, 0, 0, 8, 130, 32, 16, 0, 3, 0, 0, 0, 70, 14, 16, 0, 1, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 24, 0, - 0, 0, 17, 0, 0, 8, - 130, 32, 16, 0, 3, 0, - 0, 0, 70, 14, 16, 0, - 1, 0, 0, 0, 70, 142, - 32, 0, 0, 0, 0, 0, - 25, 0, 0, 0, 62, 0, - 0, 1, 73, 83, 71, 78, - 184, 0, 0, 0, 5, 0, - 0, 0, 8, 0, 0, 0, - 128, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 25, 0, + 0, 0, 62, 0, 0, 1, + 73, 83, 71, 78, 184, 0, + 0, 0, 5, 0, 0, 0, + 8, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 15, 0, 0, - 140, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 7, 7, 0, 0, - 147, 0, 0, 0, 0, 0, + 15, 15, 0, 0, 140, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 3, 3, 0, 0, - 156, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 7, 7, 0, 0, 147, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 3, 0, - 0, 0, 15, 15, 0, 0, - 169, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 3, 3, 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 4, 0, - 0, 0, 15, 15, 0, 0, - 83, 86, 95, 80, 111, 115, - 105, 116, 105, 111, 110, 0, - 78, 79, 82, 77, 65, 76, - 0, 84, 69, 88, 67, 79, - 79, 82, 68, 0, 66, 76, - 69, 78, 68, 73, 78, 68, - 73, 67, 69, 83, 0, 66, - 76, 69, 78, 68, 87, 69, - 73, 71, 72, 84, 0, 171, - 171, 171, 79, 83, 71, 78, - 132, 0, 0, 0, 4, 0, - 0, 0, 8, 0, 0, 0, - 104, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 3, 0, 0, 0, + 15, 15, 0, 0, 169, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, - 0, 0, 15, 0, 0, 0, - 104, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 4, 0, 0, 0, + 15, 15, 0, 0, 83, 86, + 95, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 78, 79, + 82, 77, 65, 76, 0, 84, + 69, 88, 67, 79, 79, 82, + 68, 0, 66, 76, 69, 78, + 68, 73, 78, 68, 73, 67, + 69, 83, 0, 66, 76, 69, + 78, 68, 87, 69, 73, 71, + 72, 84, 0, 171, 171, 171, + 79, 83, 71, 78, 132, 0, + 0, 0, 4, 0, 0, 0, + 8, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 1, 0, - 0, 0, 15, 0, 0, 0, - 110, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 2, 0, - 0, 0, 3, 12, 0, 0, - 119, 0, 0, 0, 0, 0, + 15, 0, 0, 0, 104, 0, 0, 0, 1, 0, 0, 0, - 3, 0, 0, 0, 3, 0, - 0, 0, 15, 0, 0, 0, - 67, 79, 76, 79, 82, 0, - 84, 69, 88, 67, 79, 79, - 82, 68, 0, 83, 86, 95, - 80, 111, 115, 105, 116, 105, - 111, 110, 0, 171 + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 15, 0, 0, 0, 110, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 3, 12, 0, 0, 119, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 3, 0, + 0, 0, 3, 0, 0, 0, + 15, 0, 0, 0, 67, 79, + 76, 79, 82, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 83, 86, 95, 80, 111, + 115, 105, 116, 105, 111, 110, + 0, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingOneBone.inc b/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingOneBone.inc index af4be949..146f175a 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingOneBone.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingOneBone.inc @@ -42,75 +42,125 @@ // vs_2_0 def c243, 3, 0, 1, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 - dcl_texcoord3 v3 - dcl_texcoord4 v4 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5,6> + dcl_texcoord2 v2 // vin<7,8> + dcl_texcoord3 v3 // vin<9,10,11,12> + dcl_texcoord4 v4 // vin<13,14,15,16> + +#line 52 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\SkinnedEffect.fx" mul r0.x, v3.x, c243.x mova a0.x, r0.x - mul r0, v4.x, c26[a0.x] - dp3 r1.x, v1, r0 - dp4 r0.x, v0, r0 - mul r2, v4.x, c27[a0.x] - mul r3, v4.x, c28[a0.x] - dp3 r1.y, v1, r2 - dp4 r0.y, v0, r2 - dp3 r1.z, v1, r3 - dp4 r0.z, v0, r3 + mul r0, v4.x, c26[a0.x] // ::skinning<0,3,6,9> + +#line 56 + dp3 r1.x, v1, r0 // Skin::vin<4> + dp4 r0.x, v0, r0 // Skin::vin<0> + +#line 52 + mul r2, v4.x, c27[a0.x] // ::skinning<1,4,7,10> + mul r3, v4.x, c28[a0.x] // ::skinning<2,5,8,11> + +#line 56 + dp3 r1.y, v1, r2 // Skin::vin<5> + dp4 r0.y, v0, r2 // Skin::vin<1> + dp3 r1.z, v1, r3 // Skin::vin<6> + dp4 r0.z, v0, r3 // Skin::vin<2> + +#line 59 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" dp3 r2.x, r1, c19 dp3 r2.y, r1, c20 dp3 r2.z, r1, c21 - nrm r1.xyz, r2 - dp3 r2.x, -c3, r1 - dp3 r2.y, -c4, r1 - dp3 r2.z, -c5, r1 - sge r3.xyz, r2, c243.y - mul r2.xyz, r2, r3 + nrm r1.xyz, r2 // ::worldNormal<0,1,2> + +#line 36 + dp3 r2.x, -c3, r1 // ::dotL<0> + dp3 r2.y, -c4, r1 // ::dotL<1> + dp3 r2.z, -c5, r1 // ::dotL<2> + +#line 39 + sge r3.xyz, r2, c243.y // ::zeroL<0,1,2> + mul r2.xyz, r2, r3 // ::diffuse<0,1,2> + +#line 46 mul r4.xyz, r2.y, c7 mad r2.xyw, r2.x, c6.xyzz, r4.xyzz mad r2.xyz, r2.z, c8, r2.xyww - mov r4.xyz, c0 - mad oT0.xyz, r2, r4, c1 + mov r4.xyz, c0 // Parameters::DiffuseColor<0,1,2> + mad oT0.xyz, r2, r4, c1 // ::VSSkinnedVertexLightingOneBone<0,1,2> + +#line 57 mov r0.w, v0.w - dp4 r2.x, r0, c15 - dp4 r2.y, r0, c16 - dp4 r2.z, r0, c17 + dp4 r2.x, r0, c15 // ::pos_ws<0> + dp4 r2.y, r0, c16 // ::pos_ws<1> + dp4 r2.z, r0, c17 // ::pos_ws<2> add r2.xyz, -r2, c12 - nrm r4.xyz, r2 + nrm r4.xyz, r2 // ::eyeVector<0,1,2> + +#line 33 add r2.xyz, r4, -c3 - nrm r5.xyz, r2 - dp3 r2.x, r5, r1 + nrm r5.xyz, r2 // ::halfVectors<0,1,2> + +#line 37 + dp3 r2.x, r5, r1 // ::dotH<0> + +#line 33 add r5.xyz, r4, -c4 add r4.xyz, r4, -c5 - nrm r6.xyz, r4 - dp3 r2.z, r6, r1 - nrm r4.xyz, r5 - dp3 r2.y, r4, r1 + nrm r6.xyz, r4 // ::halfVectors<6,7,8> + +#line 37 + dp3 r2.z, r6, r1 // ::dotH<2> + +#line 33 + nrm r4.xyz, r5 // ::halfVectors<3,4,5> + +#line 37 + dp3 r2.y, r4, r1 // ::dotH<1> + +#line 42 max r1.xyz, r2, c243.y mul r1.xyz, r3, r1 log r2.x, r1.x log r2.y, r1.y log r2.z, r1.z mul r1.xyz, r2, c2.w - exp r1.y, r1.y + exp r1.y, r1.y // ::specular<1> + +#line 47 mul r2.xyz, r1.y, c10 - exp r1.x, r1.x - exp r1.y, r1.z + +#line 42 + exp r1.x, r1.x // ::specular<0> + exp r1.y, r1.z // ::specular<2> + +#line 47 mad r1.xzw, r1.x, c9.xyyz, r2.xyyz mad r1.xyz, r1.y, c11, r1.xzww - mul oT1.xyz, r1, c2 - dp4 oPos.z, r0, c24 + mul oT1.xyz, r1, c2 // ::VSSkinnedVertexLightingOneBone<4,5,6> + +#line 63 + dp4 oPos.z, r0, c24 // ::VSSkinnedVertexLightingOneBone<12> + +#line 14 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" dp4 r1.x, r0, c14 max r1.x, r1.x, c243.y - min oT1.w, r1.x, c243.z - dp4 r1.x, r0, c22 - dp4 r1.y, r0, c23 - dp4 r0.x, r0, c25 - mad oPos.xy, r0.x, c242, r1 - mov oPos.w, r0.x - mov oT0.w, c0.w - mov oT2.xy, v2 + min oT1.w, r1.x, c243.z // ::VSSkinnedVertexLightingOneBone<7> + +#line 63 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp4 r1.x, r0, c22 // ::vout<0> + dp4 r1.y, r0, c23 // ::vout<1> + dp4 r0.x, r0, c25 // ::vout<3> + +#line 61 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\SkinnedEffect.fx" + mad oPos.xy, r0.x, c242, r1 // ::VSSkinnedVertexLightingOneBone<10,11> + mov oPos.w, r0.x // ::VSSkinnedVertexLightingOneBone<13> + +#line 46 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + mov oT0.w, c0.w // ::VSSkinnedVertexLightingOneBone<3> + +#line 65 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\SkinnedEffect.fx" + mov oT2.xy, v2 // ::VSSkinnedVertexLightingOneBone<8,9> // approximately 74 instruction slots used vs_4_0 @@ -195,17 +245,17 @@ ret const BYTE SkinnedEffect_VSSkinnedVertexLightingOneBone[] = { - 68, 88, 66, 67, 87, 31, - 224, 191, 86, 93, 247, 204, - 34, 99, 246, 236, 244, 110, - 198, 124, 1, 0, 0, 0, - 92, 14, 0, 0, 4, 0, + 68, 88, 66, 67, 138, 131, + 143, 200, 165, 140, 158, 241, + 96, 249, 47, 18, 4, 71, + 218, 185, 1, 0, 0, 0, + 56, 23, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 168, 4, 0, 0, 16, 13, - 0, 0, 208, 13, 0, 0, - 65, 111, 110, 57, 112, 4, - 0, 0, 112, 4, 0, 0, - 0, 2, 254, 255, 60, 4, + 132, 13, 0, 0, 236, 21, + 0, 0, 172, 22, 0, 0, + 65, 111, 110, 57, 76, 13, + 0, 0, 76, 13, 0, 0, + 0, 2, 254, 255, 24, 13, 0, 0, 52, 0, 0, 0, 1, 0, 36, 0, 0, 0, 48, 0, 0, 0, 48, 0, @@ -213,7 +263,385 @@ const BYTE SkinnedEffect_VSSkinnedVertexLightingOneBone[] = 48, 0, 0, 0, 0, 0, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, 0, - 0, 2, 254, 255, 81, 0, + 0, 2, 254, 255, 254, 255, + 54, 2, 68, 66, 85, 71, + 40, 0, 0, 0, 172, 8, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 8, 1, + 0, 0, 70, 0, 0, 0, + 20, 1, 0, 0, 15, 0, + 0, 0, 128, 7, 0, 0, + 120, 3, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 83, 107, + 105, 110, 110, 101, 100, 69, + 102, 102, 101, 99, 116, 46, + 102, 120, 0, 67, 58, 92, + 65, 84, 71, 32, 83, 97, + 109, 112, 108, 101, 32, 68, + 101, 118, 101, 108, 111, 112, + 109, 101, 110, 116, 92, 115, + 116, 95, 100, 101, 118, 92, + 75, 105, 116, 115, 92, 68, + 105, 114, 101, 99, 116, 88, + 84, 75, 92, 83, 114, 99, + 92, 83, 104, 97, 100, 101, + 114, 115, 92, 76, 105, 103, + 104, 116, 105, 110, 103, 46, + 102, 120, 104, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 67, 111, + 109, 109, 111, 110, 46, 102, + 120, 104, 0, 171, 171, 171, + 40, 0, 0, 0, 117, 0, + 0, 0, 190, 0, 0, 0, + 0, 0, 255, 255, 224, 8, + 0, 0, 0, 0, 255, 255, + 248, 8, 0, 0, 0, 0, + 255, 255, 4, 9, 0, 0, + 0, 0, 255, 255, 16, 9, + 0, 0, 0, 0, 255, 255, + 28, 9, 0, 0, 0, 0, + 255, 255, 40, 9, 0, 0, + 52, 0, 0, 0, 52, 9, + 0, 0, 52, 0, 0, 0, + 68, 9, 0, 0, 52, 0, + 0, 0, 80, 9, 0, 0, + 56, 0, 0, 0, 100, 9, + 0, 0, 55, 0, 0, 0, + 116, 9, 0, 0, 52, 0, + 0, 0, 132, 9, 0, 0, + 52, 0, 0, 0, 152, 9, + 0, 0, 56, 0, 0, 0, + 172, 9, 0, 0, 55, 0, + 0, 0, 188, 9, 0, 0, + 56, 0, 0, 0, 204, 9, + 0, 0, 55, 0, 0, 0, + 220, 9, 0, 0, 59, 0, + 1, 0, 236, 9, 0, 0, + 59, 0, 1, 0, 252, 9, + 0, 0, 59, 0, 1, 0, + 12, 10, 0, 0, 59, 0, + 1, 0, 28, 10, 0, 0, + 36, 0, 1, 0, 40, 10, + 0, 0, 36, 0, 1, 0, + 56, 10, 0, 0, 36, 0, + 1, 0, 72, 10, 0, 0, + 39, 0, 1, 0, 88, 10, + 0, 0, 41, 0, 1, 0, + 104, 10, 0, 0, 46, 0, + 1, 0, 120, 10, 0, 0, + 46, 0, 1, 0, 136, 10, + 0, 0, 46, 0, 1, 0, + 156, 10, 0, 0, 46, 0, + 1, 0, 176, 10, 0, 0, + 46, 0, 1, 0, 188, 10, + 0, 0, 57, 0, 1, 0, + 208, 10, 0, 0, 57, 0, + 1, 0, 220, 10, 0, 0, + 57, 0, 1, 0, 236, 10, + 0, 0, 57, 0, 1, 0, + 252, 10, 0, 0, 58, 0, + 1, 0, 12, 11, 0, 0, + 58, 0, 1, 0, 28, 11, + 0, 0, 33, 0, 1, 0, + 40, 11, 0, 0, 33, 0, + 1, 0, 56, 11, 0, 0, + 37, 0, 1, 0, 68, 11, + 0, 0, 33, 0, 1, 0, + 84, 11, 0, 0, 33, 0, + 1, 0, 100, 11, 0, 0, + 33, 0, 1, 0, 116, 11, + 0, 0, 37, 0, 1, 0, + 128, 11, 0, 0, 33, 0, + 1, 0, 144, 11, 0, 0, + 37, 0, 1, 0, 156, 11, + 0, 0, 42, 0, 1, 0, + 172, 11, 0, 0, 42, 0, + 1, 0, 188, 11, 0, 0, + 42, 0, 1, 0, 204, 11, + 0, 0, 42, 0, 1, 0, + 216, 11, 0, 0, 42, 0, + 1, 0, 228, 11, 0, 0, + 42, 0, 1, 0, 240, 11, + 0, 0, 42, 0, 1, 0, + 0, 12, 0, 0, 47, 0, + 1, 0, 12, 12, 0, 0, + 42, 0, 1, 0, 28, 12, + 0, 0, 42, 0, 1, 0, + 40, 12, 0, 0, 47, 0, + 1, 0, 52, 12, 0, 0, + 47, 0, 1, 0, 72, 12, + 0, 0, 47, 0, 1, 0, + 92, 12, 0, 0, 63, 0, + 1, 0, 108, 12, 0, 0, + 14, 0, 2, 0, 124, 12, + 0, 0, 14, 0, 2, 0, + 140, 12, 0, 0, 14, 0, + 2, 0, 156, 12, 0, 0, + 63, 0, 1, 0, 172, 12, + 0, 0, 63, 0, 1, 0, + 188, 12, 0, 0, 63, 0, + 1, 0, 204, 12, 0, 0, + 61, 0, 0, 0, 220, 12, + 0, 0, 61, 0, 0, 0, + 240, 12, 0, 0, 46, 0, + 1, 0, 252, 12, 0, 0, + 65, 0, 0, 0, 8, 13, + 0, 0, 80, 97, 114, 97, + 109, 101, 116, 101, 114, 115, + 0, 68, 105, 102, 102, 117, + 115, 101, 67, 111, 108, 111, + 114, 0, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 29, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 86, 83, 83, 107, 105, 110, + 110, 101, 100, 86, 101, 114, + 116, 101, 120, 76, 105, 103, + 104, 116, 105, 110, 103, 79, + 110, 101, 66, 111, 110, 101, + 0, 68, 105, 102, 102, 117, + 115, 101, 0, 171, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 83, 112, 101, 99, + 117, 108, 97, 114, 0, 84, + 101, 120, 67, 111, 111, 114, + 100, 0, 171, 171, 1, 0, + 3, 0, 1, 0, 2, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 80, 111, 115, 105, + 116, 105, 111, 110, 80, 83, + 0, 171, 151, 3, 0, 0, + 160, 3, 0, 0, 176, 3, + 0, 0, 160, 3, 0, 0, + 185, 3, 0, 0, 196, 3, + 0, 0, 212, 3, 0, 0, + 160, 3, 0, 0, 5, 0, + 0, 0, 1, 0, 14, 0, + 1, 0, 4, 0, 224, 3, + 0, 0, 30, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 58, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 255, 255, 59, 0, 0, 0, + 255, 255, 255, 255, 12, 0, + 255, 255, 62, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 7, 0, 66, 0, 0, 0, + 10, 0, 11, 0, 255, 255, + 255, 255, 67, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 13, 0, 68, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 3, 0, 69, 0, 0, 0, + 8, 0, 9, 0, 255, 255, + 255, 255, 100, 105, 102, 102, + 117, 115, 101, 0, 1, 0, + 3, 0, 1, 0, 3, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 25, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 100, 111, 116, 72, + 0, 171, 171, 171, 39, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 43, 0, + 0, 0, 255, 255, 255, 255, + 2, 0, 255, 255, 45, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 100, 111, + 116, 76, 0, 171, 171, 171, + 21, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 22, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 23, 0, 0, 0, 255, 255, + 255, 255, 2, 0, 255, 255, + 101, 121, 101, 86, 101, 99, + 116, 111, 114, 0, 171, 171, + 36, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 104, 97, 108, 102, 86, 101, + 99, 116, 111, 114, 115, 0, + 3, 0, 3, 0, 3, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 38, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 42, 0, + 0, 0, 6, 0, 7, 0, + 8, 0, 255, 255, 44, 0, + 0, 0, 3, 0, 4, 0, + 5, 0, 255, 255, 112, 111, + 115, 95, 119, 115, 0, 171, + 32, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 33, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 34, 0, 0, 0, 255, 255, + 255, 255, 2, 0, 255, 255, + 115, 107, 105, 110, 110, 105, + 110, 103, 0, 171, 171, 171, + 3, 0, 3, 0, 4, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 8, 0, + 0, 0, 0, 0, 3, 0, + 6, 0, 9, 0, 11, 0, + 0, 0, 1, 0, 4, 0, + 7, 0, 10, 0, 12, 0, + 0, 0, 2, 0, 5, 0, + 8, 0, 11, 0, 115, 112, + 101, 99, 117, 108, 97, 114, + 0, 171, 171, 171, 52, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 54, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 55, 0, + 0, 0, 255, 255, 2, 0, + 255, 255, 255, 255, 83, 107, + 105, 110, 0, 118, 105, 110, + 0, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 78, 111, + 114, 109, 97, 108, 0, 73, + 110, 100, 105, 99, 101, 115, + 0, 171, 171, 171, 1, 0, + 2, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 87, 101, 105, 103, + 104, 116, 115, 0, 233, 5, + 0, 0, 160, 3, 0, 0, + 242, 5, 0, 0, 120, 4, + 0, 0, 185, 3, 0, 0, + 196, 3, 0, 0, 249, 5, + 0, 0, 4, 6, 0, 0, + 20, 6, 0, 0, 160, 3, + 0, 0, 5, 0, 0, 0, + 1, 0, 17, 0, 1, 0, + 5, 0, 28, 6, 0, 0, + 9, 0, 0, 0, 4, 0, + 255, 255, 255, 255, 255, 255, + 10, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 13, 0, 0, 0, 255, 255, + 5, 0, 255, 255, 255, 255, + 14, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 15, 0, 0, 0, 255, 255, + 255, 255, 6, 0, 255, 255, + 16, 0, 0, 0, 255, 255, + 255, 255, 2, 0, 255, 255, + 1, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 2, 0, 0, 0, 4, 0, + 5, 0, 6, 0, 255, 255, + 3, 0, 0, 0, 7, 0, + 8, 0, 255, 255, 255, 255, + 4, 0, 0, 0, 9, 0, + 10, 0, 11, 0, 12, 0, + 5, 0, 0, 0, 13, 0, + 14, 0, 15, 0, 16, 0, + 118, 111, 117, 116, 0, 80, + 111, 115, 95, 112, 115, 0, + 70, 111, 103, 70, 97, 99, + 116, 111, 114, 0, 171, 171, + 0, 0, 3, 0, 1, 0, + 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 221, 6, + 0, 0, 160, 3, 0, 0, + 151, 3, 0, 0, 160, 3, + 0, 0, 176, 3, 0, 0, + 120, 4, 0, 0, 228, 6, + 0, 0, 240, 6, 0, 0, + 5, 0, 0, 0, 1, 0, + 12, 0, 1, 0, 4, 0, + 0, 7, 0, 0, 63, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 64, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 65, 0, + 0, 0, 3, 0, 255, 255, + 255, 255, 255, 255, 119, 111, + 114, 108, 100, 78, 111, 114, + 109, 97, 108, 0, 20, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 122, 101, + 114, 111, 76, 0, 171, 171, + 24, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 68, 3, 0, 0, 79, 3, + 0, 0, 92, 3, 0, 0, + 1, 0, 0, 0, 108, 3, + 0, 0, 0, 0, 0, 0, + 120, 3, 0, 0, 0, 4, + 0, 0, 8, 0, 0, 0, + 16, 4, 0, 0, 0, 0, + 0, 0, 112, 4, 0, 0, + 120, 4, 0, 0, 1, 0, + 0, 0, 136, 4, 0, 0, + 0, 0, 0, 0, 148, 4, + 0, 0, 120, 4, 0, 0, + 3, 0, 0, 0, 156, 4, + 0, 0, 0, 0, 0, 0, + 192, 4, 0, 0, 120, 4, + 0, 0, 3, 0, 0, 0, + 200, 4, 0, 0, 0, 0, + 0, 0, 236, 4, 0, 0, + 120, 4, 0, 0, 1, 0, + 0, 0, 248, 4, 0, 0, + 0, 0, 0, 0, 4, 5, + 0, 0, 16, 5, 0, 0, + 3, 0, 0, 0, 32, 5, + 0, 0, 0, 0, 0, 0, + 68, 5, 0, 0, 160, 3, + 0, 0, 3, 0, 0, 0, + 76, 5, 0, 0, 0, 0, + 0, 0, 112, 5, 0, 0, + 124, 5, 0, 0, 3, 0, + 0, 0, 140, 5, 0, 0, + 0, 0, 0, 0, 176, 5, + 0, 0, 120, 4, 0, 0, + 3, 0, 0, 0, 188, 5, + 0, 0, 224, 5, 0, 0, + 229, 5, 0, 0, 68, 6, + 0, 0, 6, 0, 0, 0, + 84, 6, 0, 0, 120, 3, + 0, 0, 229, 5, 0, 0, + 68, 6, 0, 0, 5, 0, + 0, 0, 156, 6, 0, 0, + 0, 0, 0, 0, 216, 6, + 0, 0, 32, 7, 0, 0, + 3, 0, 0, 0, 48, 7, + 0, 0, 0, 0, 0, 0, + 84, 7, 0, 0, 120, 4, + 0, 0, 1, 0, 0, 0, + 96, 7, 0, 0, 0, 0, + 0, 0, 108, 7, 0, 0, + 120, 4, 0, 0, 1, 0, + 0, 0, 116, 7, 0, 0, + 77, 105, 99, 114, 111, 115, + 111, 102, 116, 32, 40, 82, + 41, 32, 72, 76, 83, 76, + 32, 83, 104, 97, 100, 101, + 114, 32, 67, 111, 109, 112, + 105, 108, 101, 114, 32, 49, + 48, 46, 49, 0, 81, 0, 0, 5, 243, 0, 15, 160, 0, 0, 64, 64, 0, 0, 0, 0, 0, 0, 128, 63, diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingTwoBones.inc b/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingTwoBones.inc index 9606fa31..6006b6ea 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingTwoBones.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/SkinnedEffect_VSSkinnedVertexLightingTwoBones.inc @@ -42,78 +42,128 @@ // vs_2_0 def c243, 3, 0, 1, 0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 - dcl_texcoord3 v3 - dcl_texcoord4 v4 + dcl_texcoord v0 // vin<0,1,2,3> + dcl_texcoord1 v1 // vin<4,5,6> + dcl_texcoord2 v2 // vin<7,8> + dcl_texcoord3 v3 // vin<9,10,11,12> + dcl_texcoord4 v4 // vin<13,14,15,16> + +#line 52 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\SkinnedEffect.fx" mul r0.xy, v3, c243.x mova a0.xy, r0.yxzw mul r0, v4.y, c26[a0.x] - mad r0, c26[a0.y], v4.x, r0 - dp3 r1.x, v1, r0 - dp4 r0.x, v0, r0 + mad r0, c26[a0.y], v4.x, r0 // ::skinning<0,3,6,9> + +#line 56 + dp3 r1.x, v1, r0 // Skin::vin<4> + dp4 r0.x, v0, r0 // Skin::vin<0> + +#line 52 mul r2, v4.y, c27[a0.x] mul r3, v4.y, c28[a0.x] - mad r3, c28[a0.y], v4.x, r3 - mad r2, c27[a0.y], v4.x, r2 - dp3 r1.y, v1, r2 - dp4 r0.y, v0, r2 - dp3 r1.z, v1, r3 - dp4 r0.z, v0, r3 + mad r3, c28[a0.y], v4.x, r3 // ::skinning<2,5,8,11> + mad r2, c27[a0.y], v4.x, r2 // ::skinning<1,4,7,10> + +#line 56 + dp3 r1.y, v1, r2 // Skin::vin<5> + dp4 r0.y, v0, r2 // Skin::vin<1> + dp3 r1.z, v1, r3 // Skin::vin<6> + dp4 r0.z, v0, r3 // Skin::vin<2> + +#line 59 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" dp3 r2.x, r1, c19 dp3 r2.y, r1, c20 dp3 r2.z, r1, c21 - nrm r1.xyz, r2 - dp3 r2.x, -c3, r1 - dp3 r2.y, -c4, r1 - dp3 r2.z, -c5, r1 - sge r3.xyz, r2, c243.y - mul r2.xyz, r2, r3 + nrm r1.xyz, r2 // ::worldNormal<0,1,2> + +#line 36 + dp3 r2.x, -c3, r1 // ::dotL<0> + dp3 r2.y, -c4, r1 // ::dotL<1> + dp3 r2.z, -c5, r1 // ::dotL<2> + +#line 39 + sge r3.xyz, r2, c243.y // ::zeroL<0,1,2> + mul r2.xyz, r2, r3 // ::diffuse<0,1,2> + +#line 46 mul r4.xyz, r2.y, c7 mad r2.xyw, r2.x, c6.xyzz, r4.xyzz mad r2.xyz, r2.z, c8, r2.xyww - mov r4.xyz, c0 - mad oT0.xyz, r2, r4, c1 + mov r4.xyz, c0 // Parameters::DiffuseColor<0,1,2> + mad oT0.xyz, r2, r4, c1 // ::VSSkinnedVertexLightingTwoBones<0,1,2> + +#line 57 mov r0.w, v0.w - dp4 r2.x, r0, c15 - dp4 r2.y, r0, c16 - dp4 r2.z, r0, c17 + dp4 r2.x, r0, c15 // ::pos_ws<0> + dp4 r2.y, r0, c16 // ::pos_ws<1> + dp4 r2.z, r0, c17 // ::pos_ws<2> add r2.xyz, -r2, c12 - nrm r4.xyz, r2 + nrm r4.xyz, r2 // ::eyeVector<0,1,2> + +#line 33 add r2.xyz, r4, -c3 - nrm r5.xyz, r2 - dp3 r2.x, r5, r1 + nrm r5.xyz, r2 // ::halfVectors<0,1,2> + +#line 37 + dp3 r2.x, r5, r1 // ::dotH<0> + +#line 33 add r5.xyz, r4, -c4 add r4.xyz, r4, -c5 - nrm r6.xyz, r4 - dp3 r2.z, r6, r1 - nrm r4.xyz, r5 - dp3 r2.y, r4, r1 + nrm r6.xyz, r4 // ::halfVectors<6,7,8> + +#line 37 + dp3 r2.z, r6, r1 // ::dotH<2> + +#line 33 + nrm r4.xyz, r5 // ::halfVectors<3,4,5> + +#line 37 + dp3 r2.y, r4, r1 // ::dotH<1> + +#line 42 max r1.xyz, r2, c243.y mul r1.xyz, r3, r1 log r2.x, r1.x log r2.y, r1.y log r2.z, r1.z mul r1.xyz, r2, c2.w - exp r1.y, r1.y + exp r1.y, r1.y // ::specular<1> + +#line 47 mul r2.xyz, r1.y, c10 - exp r1.x, r1.x - exp r1.y, r1.z + +#line 42 + exp r1.x, r1.x // ::specular<0> + exp r1.y, r1.z // ::specular<2> + +#line 47 mad r1.xzw, r1.x, c9.xyyz, r2.xyyz mad r1.xyz, r1.y, c11, r1.xzww - mul oT1.xyz, r1, c2 - dp4 oPos.z, r0, c24 + mul oT1.xyz, r1, c2 // ::VSSkinnedVertexLightingTwoBones<4,5,6> + +#line 63 + dp4 oPos.z, r0, c24 // ::VSSkinnedVertexLightingTwoBones<12> + +#line 14 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Common.fxh" dp4 r1.x, r0, c14 max r1.x, r1.x, c243.y - min oT1.w, r1.x, c243.z - dp4 r1.x, r0, c22 - dp4 r1.y, r0, c23 - dp4 r0.x, r0, c25 - mad oPos.xy, r0.x, c242, r1 - mov oPos.w, r0.x - mov oT0.w, c0.w - mov oT2.xy, v2 + min oT1.w, r1.x, c243.z // ::VSSkinnedVertexLightingTwoBones<7> + +#line 63 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + dp4 r1.x, r0, c22 // ::vout<0> + dp4 r1.y, r0, c23 // ::vout<1> + dp4 r0.x, r0, c25 // ::vout<3> + +#line 77 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\SkinnedEffect.fx" + mad oPos.xy, r0.x, c242, r1 // ::VSSkinnedVertexLightingTwoBones<10,11> + mov oPos.w, r0.x // ::VSSkinnedVertexLightingTwoBones<13> + +#line 46 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\Lighting.fxh" + mov oT0.w, c0.w // ::VSSkinnedVertexLightingTwoBones<3> + +#line 81 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\SkinnedEffect.fx" + mov oT2.xy, v2 // ::VSSkinnedVertexLightingTwoBones<8,9> // approximately 77 instruction slots used vs_4_0 @@ -201,17 +251,17 @@ ret const BYTE SkinnedEffect_VSSkinnedVertexLightingTwoBones[] = { - 68, 88, 66, 67, 166, 103, - 187, 213, 206, 42, 30, 135, - 227, 229, 242, 216, 73, 40, - 224, 75, 1, 0, 0, 0, - 64, 15, 0, 0, 4, 0, + 68, 88, 66, 67, 212, 21, + 13, 85, 47, 58, 239, 39, + 103, 86, 186, 79, 72, 239, + 197, 76, 1, 0, 0, 0, + 52, 24, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 240, 4, 0, 0, 244, 13, - 0, 0, 180, 14, 0, 0, - 65, 111, 110, 57, 184, 4, - 0, 0, 184, 4, 0, 0, - 0, 2, 254, 255, 132, 4, + 228, 13, 0, 0, 232, 22, + 0, 0, 168, 23, 0, 0, + 65, 111, 110, 57, 172, 13, + 0, 0, 172, 13, 0, 0, + 0, 2, 254, 255, 120, 13, 0, 0, 52, 0, 0, 0, 1, 0, 36, 0, 0, 0, 48, 0, 0, 0, 48, 0, @@ -219,7 +269,389 @@ const BYTE SkinnedEffect_VSSkinnedVertexLightingTwoBones[] = 48, 0, 0, 0, 0, 0, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, 0, - 0, 2, 254, 255, 81, 0, + 0, 2, 254, 255, 254, 255, + 60, 2, 68, 66, 85, 71, + 40, 0, 0, 0, 196, 8, + 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 8, 1, + 0, 0, 73, 0, 0, 0, + 20, 1, 0, 0, 15, 0, + 0, 0, 152, 7, 0, 0, + 144, 3, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 83, 107, + 105, 110, 110, 101, 100, 69, + 102, 102, 101, 99, 116, 46, + 102, 120, 0, 67, 58, 92, + 65, 84, 71, 32, 83, 97, + 109, 112, 108, 101, 32, 68, + 101, 118, 101, 108, 111, 112, + 109, 101, 110, 116, 92, 115, + 116, 95, 100, 101, 118, 92, + 75, 105, 116, 115, 92, 68, + 105, 114, 101, 99, 116, 88, + 84, 75, 92, 83, 114, 99, + 92, 83, 104, 97, 100, 101, + 114, 115, 92, 76, 105, 103, + 104, 116, 105, 110, 103, 46, + 102, 120, 104, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 67, 111, + 109, 109, 111, 110, 46, 102, + 120, 104, 0, 171, 171, 171, + 40, 0, 0, 0, 117, 0, + 0, 0, 190, 0, 0, 0, + 0, 0, 255, 255, 248, 8, + 0, 0, 0, 0, 255, 255, + 16, 9, 0, 0, 0, 0, + 255, 255, 28, 9, 0, 0, + 0, 0, 255, 255, 40, 9, + 0, 0, 0, 0, 255, 255, + 52, 9, 0, 0, 0, 0, + 255, 255, 64, 9, 0, 0, + 52, 0, 0, 0, 76, 9, + 0, 0, 52, 0, 0, 0, + 92, 9, 0, 0, 52, 0, + 0, 0, 104, 9, 0, 0, + 52, 0, 0, 0, 124, 9, + 0, 0, 56, 0, 0, 0, + 148, 9, 0, 0, 55, 0, + 0, 0, 164, 9, 0, 0, + 52, 0, 0, 0, 180, 9, + 0, 0, 52, 0, 0, 0, + 200, 9, 0, 0, 52, 0, + 0, 0, 220, 9, 0, 0, + 52, 0, 0, 0, 244, 9, + 0, 0, 56, 0, 0, 0, + 12, 10, 0, 0, 55, 0, + 0, 0, 28, 10, 0, 0, + 56, 0, 0, 0, 44, 10, + 0, 0, 55, 0, 0, 0, + 60, 10, 0, 0, 59, 0, + 1, 0, 76, 10, 0, 0, + 59, 0, 1, 0, 92, 10, + 0, 0, 59, 0, 1, 0, + 108, 10, 0, 0, 59, 0, + 1, 0, 124, 10, 0, 0, + 36, 0, 1, 0, 136, 10, + 0, 0, 36, 0, 1, 0, + 152, 10, 0, 0, 36, 0, + 1, 0, 168, 10, 0, 0, + 39, 0, 1, 0, 184, 10, + 0, 0, 41, 0, 1, 0, + 200, 10, 0, 0, 46, 0, + 1, 0, 216, 10, 0, 0, + 46, 0, 1, 0, 232, 10, + 0, 0, 46, 0, 1, 0, + 252, 10, 0, 0, 46, 0, + 1, 0, 16, 11, 0, 0, + 46, 0, 1, 0, 28, 11, + 0, 0, 57, 0, 1, 0, + 48, 11, 0, 0, 57, 0, + 1, 0, 60, 11, 0, 0, + 57, 0, 1, 0, 76, 11, + 0, 0, 57, 0, 1, 0, + 92, 11, 0, 0, 58, 0, + 1, 0, 108, 11, 0, 0, + 58, 0, 1, 0, 124, 11, + 0, 0, 33, 0, 1, 0, + 136, 11, 0, 0, 33, 0, + 1, 0, 152, 11, 0, 0, + 37, 0, 1, 0, 164, 11, + 0, 0, 33, 0, 1, 0, + 180, 11, 0, 0, 33, 0, + 1, 0, 196, 11, 0, 0, + 33, 0, 1, 0, 212, 11, + 0, 0, 37, 0, 1, 0, + 224, 11, 0, 0, 33, 0, + 1, 0, 240, 11, 0, 0, + 37, 0, 1, 0, 252, 11, + 0, 0, 42, 0, 1, 0, + 12, 12, 0, 0, 42, 0, + 1, 0, 28, 12, 0, 0, + 42, 0, 1, 0, 44, 12, + 0, 0, 42, 0, 1, 0, + 56, 12, 0, 0, 42, 0, + 1, 0, 68, 12, 0, 0, + 42, 0, 1, 0, 80, 12, + 0, 0, 42, 0, 1, 0, + 96, 12, 0, 0, 47, 0, + 1, 0, 108, 12, 0, 0, + 42, 0, 1, 0, 124, 12, + 0, 0, 42, 0, 1, 0, + 136, 12, 0, 0, 47, 0, + 1, 0, 148, 12, 0, 0, + 47, 0, 1, 0, 168, 12, + 0, 0, 47, 0, 1, 0, + 188, 12, 0, 0, 63, 0, + 1, 0, 204, 12, 0, 0, + 14, 0, 2, 0, 220, 12, + 0, 0, 14, 0, 2, 0, + 236, 12, 0, 0, 14, 0, + 2, 0, 252, 12, 0, 0, + 63, 0, 1, 0, 12, 13, + 0, 0, 63, 0, 1, 0, + 28, 13, 0, 0, 63, 0, + 1, 0, 44, 13, 0, 0, + 77, 0, 0, 0, 60, 13, + 0, 0, 77, 0, 0, 0, + 80, 13, 0, 0, 46, 0, + 1, 0, 92, 13, 0, 0, + 81, 0, 0, 0, 104, 13, + 0, 0, 80, 97, 114, 97, + 109, 101, 116, 101, 114, 115, + 0, 68, 105, 102, 102, 117, + 115, 101, 67, 111, 108, 111, + 114, 0, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 32, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 86, 83, 83, 107, 105, 110, + 110, 101, 100, 86, 101, 114, + 116, 101, 120, 76, 105, 103, + 104, 116, 105, 110, 103, 84, + 119, 111, 66, 111, 110, 101, + 115, 0, 68, 105, 102, 102, + 117, 115, 101, 0, 1, 0, + 3, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 83, 112, 101, 99, + 117, 108, 97, 114, 0, 84, + 101, 120, 67, 111, 111, 114, + 100, 0, 171, 171, 1, 0, + 3, 0, 1, 0, 2, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 80, 111, 115, 105, + 116, 105, 111, 110, 80, 83, + 0, 171, 176, 3, 0, 0, + 184, 3, 0, 0, 200, 3, + 0, 0, 184, 3, 0, 0, + 209, 3, 0, 0, 220, 3, + 0, 0, 236, 3, 0, 0, + 184, 3, 0, 0, 5, 0, + 0, 0, 1, 0, 14, 0, + 1, 0, 4, 0, 248, 3, + 0, 0, 33, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 61, 0, 0, 0, + 4, 0, 5, 0, 6, 0, + 255, 255, 62, 0, 0, 0, + 255, 255, 255, 255, 12, 0, + 255, 255, 65, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 7, 0, 69, 0, 0, 0, + 10, 0, 11, 0, 255, 255, + 255, 255, 70, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 13, 0, 71, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 3, 0, 72, 0, 0, 0, + 8, 0, 9, 0, 255, 255, + 255, 255, 100, 105, 102, 102, + 117, 115, 101, 0, 1, 0, + 3, 0, 1, 0, 3, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 28, 0, 0, 0, + 0, 0, 1, 0, 2, 0, + 255, 255, 100, 111, 116, 72, + 0, 171, 171, 171, 42, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 46, 0, + 0, 0, 255, 255, 255, 255, + 2, 0, 255, 255, 48, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 100, 111, + 116, 76, 0, 171, 171, 171, + 24, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 25, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 26, 0, 0, 0, 255, 255, + 255, 255, 2, 0, 255, 255, + 101, 121, 101, 86, 101, 99, + 116, 111, 114, 0, 171, 171, + 39, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 104, 97, 108, 102, 86, 101, + 99, 116, 111, 114, 115, 0, + 3, 0, 3, 0, 3, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 41, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 45, 0, + 0, 0, 6, 0, 7, 0, + 8, 0, 255, 255, 47, 0, + 0, 0, 3, 0, 4, 0, + 5, 0, 255, 255, 112, 111, + 115, 95, 119, 115, 0, 171, + 35, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 36, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 37, 0, 0, 0, 255, 255, + 255, 255, 2, 0, 255, 255, + 115, 107, 105, 110, 110, 105, + 110, 103, 0, 171, 171, 171, + 3, 0, 3, 0, 4, 0, + 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 9, 0, + 0, 0, 0, 0, 3, 0, + 6, 0, 9, 0, 14, 0, + 0, 0, 2, 0, 5, 0, + 8, 0, 11, 0, 15, 0, + 0, 0, 1, 0, 4, 0, + 7, 0, 10, 0, 115, 112, + 101, 99, 117, 108, 97, 114, + 0, 171, 171, 171, 55, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 57, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 58, 0, + 0, 0, 255, 255, 2, 0, + 255, 255, 255, 255, 83, 107, + 105, 110, 0, 118, 105, 110, + 0, 80, 111, 115, 105, 116, + 105, 111, 110, 0, 78, 111, + 114, 109, 97, 108, 0, 73, + 110, 100, 105, 99, 101, 115, + 0, 171, 171, 171, 1, 0, + 2, 0, 1, 0, 4, 0, + 1, 0, 0, 0, 0, 0, + 0, 0, 87, 101, 105, 103, + 104, 116, 115, 0, 1, 6, + 0, 0, 184, 3, 0, 0, + 10, 6, 0, 0, 144, 4, + 0, 0, 209, 3, 0, 0, + 220, 3, 0, 0, 17, 6, + 0, 0, 28, 6, 0, 0, + 44, 6, 0, 0, 184, 3, + 0, 0, 5, 0, 0, 0, + 1, 0, 17, 0, 1, 0, + 5, 0, 52, 6, 0, 0, + 10, 0, 0, 0, 4, 0, + 255, 255, 255, 255, 255, 255, + 11, 0, 0, 0, 0, 0, + 255, 255, 255, 255, 255, 255, + 16, 0, 0, 0, 255, 255, + 5, 0, 255, 255, 255, 255, + 17, 0, 0, 0, 255, 255, + 1, 0, 255, 255, 255, 255, + 18, 0, 0, 0, 255, 255, + 255, 255, 6, 0, 255, 255, + 19, 0, 0, 0, 255, 255, + 255, 255, 2, 0, 255, 255, + 1, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 2, 0, 0, 0, 4, 0, + 5, 0, 6, 0, 255, 255, + 3, 0, 0, 0, 7, 0, + 8, 0, 255, 255, 255, 255, + 4, 0, 0, 0, 9, 0, + 10, 0, 11, 0, 12, 0, + 5, 0, 0, 0, 13, 0, + 14, 0, 15, 0, 16, 0, + 118, 111, 117, 116, 0, 80, + 111, 115, 95, 112, 115, 0, + 70, 111, 103, 70, 97, 99, + 116, 111, 114, 0, 171, 171, + 0, 0, 3, 0, 1, 0, + 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 245, 6, + 0, 0, 184, 3, 0, 0, + 176, 3, 0, 0, 184, 3, + 0, 0, 200, 3, 0, 0, + 144, 4, 0, 0, 252, 6, + 0, 0, 8, 7, 0, 0, + 5, 0, 0, 0, 1, 0, + 12, 0, 1, 0, 4, 0, + 24, 7, 0, 0, 66, 0, + 0, 0, 0, 0, 255, 255, + 255, 255, 255, 255, 67, 0, + 0, 0, 255, 255, 1, 0, + 255, 255, 255, 255, 68, 0, + 0, 0, 3, 0, 255, 255, + 255, 255, 255, 255, 119, 111, + 114, 108, 100, 78, 111, 114, + 109, 97, 108, 0, 23, 0, + 0, 0, 0, 0, 1, 0, + 2, 0, 255, 255, 122, 101, + 114, 111, 76, 0, 171, 171, + 27, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 255, 255, + 92, 3, 0, 0, 103, 3, + 0, 0, 116, 3, 0, 0, + 1, 0, 0, 0, 132, 3, + 0, 0, 0, 0, 0, 0, + 144, 3, 0, 0, 24, 4, + 0, 0, 8, 0, 0, 0, + 40, 4, 0, 0, 0, 0, + 0, 0, 136, 4, 0, 0, + 144, 4, 0, 0, 1, 0, + 0, 0, 160, 4, 0, 0, + 0, 0, 0, 0, 172, 4, + 0, 0, 144, 4, 0, 0, + 3, 0, 0, 0, 180, 4, + 0, 0, 0, 0, 0, 0, + 216, 4, 0, 0, 144, 4, + 0, 0, 3, 0, 0, 0, + 224, 4, 0, 0, 0, 0, + 0, 0, 4, 5, 0, 0, + 144, 4, 0, 0, 1, 0, + 0, 0, 16, 5, 0, 0, + 0, 0, 0, 0, 28, 5, + 0, 0, 40, 5, 0, 0, + 3, 0, 0, 0, 56, 5, + 0, 0, 0, 0, 0, 0, + 92, 5, 0, 0, 184, 3, + 0, 0, 3, 0, 0, 0, + 100, 5, 0, 0, 0, 0, + 0, 0, 136, 5, 0, 0, + 148, 5, 0, 0, 3, 0, + 0, 0, 164, 5, 0, 0, + 0, 0, 0, 0, 200, 5, + 0, 0, 144, 4, 0, 0, + 3, 0, 0, 0, 212, 5, + 0, 0, 248, 5, 0, 0, + 253, 5, 0, 0, 92, 6, + 0, 0, 6, 0, 0, 0, + 108, 6, 0, 0, 144, 3, + 0, 0, 253, 5, 0, 0, + 92, 6, 0, 0, 5, 0, + 0, 0, 180, 6, 0, 0, + 0, 0, 0, 0, 240, 6, + 0, 0, 56, 7, 0, 0, + 3, 0, 0, 0, 72, 7, + 0, 0, 0, 0, 0, 0, + 108, 7, 0, 0, 144, 4, + 0, 0, 1, 0, 0, 0, + 120, 7, 0, 0, 0, 0, + 0, 0, 132, 7, 0, 0, + 144, 4, 0, 0, 1, 0, + 0, 0, 140, 7, 0, 0, + 77, 105, 99, 114, 111, 115, + 111, 102, 116, 32, 40, 82, + 41, 32, 72, 76, 83, 76, + 32, 83, 104, 97, 100, 101, + 114, 32, 67, 111, 109, 112, + 105, 108, 101, 114, 32, 49, + 48, 46, 49, 0, 81, 0, 0, 5, 243, 0, 15, 160, 0, 0, 64, 64, 0, 0, 0, 0, 0, 0, 128, 63, diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/SpriteEffect_SpritePixelShader.inc b/Kits/DirectXTK/Src/Shaders/Compiled/SpriteEffect_SpritePixelShader.inc index 078a85ea..6446b5eb 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/SpriteEffect_SpritePixelShader.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/SpriteEffect_SpritePixelShader.inc @@ -28,12 +28,14 @@ // Level9 shader bytecode: // ps_2_0 - dcl t0 - dcl t1.xy + dcl t0 // color<0,1,2,3> + dcl t1.xy // texCoord<0,1> dcl_2d s0 + +#line 33 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\SpriteEffect.fx" texld r0, t1, s0 - mul r0, r0, t0 - mov oC0, r0 + mul r0, r0, t0 // ::SpritePixelShader<0,1,2,3> + mov oC0, r0 // ::SpritePixelShader<0,1,2,3> // approximately 3 instruction slots used (1 texture, 2 arithmetic) ps_4_0 @@ -51,83 +53,152 @@ ret const BYTE SpriteEffect_SpritePixelShader[] = { - 68, 88, 66, 67, 194, 95, - 105, 234, 141, 247, 73, 209, - 137, 241, 142, 29, 26, 223, - 234, 193, 1, 0, 0, 0, - 216, 1, 0, 0, 4, 0, + 68, 88, 66, 67, 210, 231, + 76, 180, 17, 3, 192, 38, + 93, 177, 187, 117, 222, 165, + 188, 182, 1, 0, 0, 0, + 116, 3, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 184, 0, 0, 0, 84, 1, - 0, 0, 164, 1, 0, 0, - 65, 111, 110, 57, 128, 0, - 0, 0, 128, 0, 0, 0, - 0, 2, 255, 255, 88, 0, + 84, 2, 0, 0, 240, 2, + 0, 0, 64, 3, 0, 0, + 65, 111, 110, 57, 28, 2, + 0, 0, 28, 2, 0, 0, + 0, 2, 255, 255, 244, 1, 0, 0, 40, 0, 0, 0, 0, 0, 40, 0, 0, 0, 40, 0, 0, 0, 40, 0, 1, 0, 36, 0, 0, 0, 40, 0, 0, 0, 0, 0, - 0, 2, 255, 255, 31, 0, - 0, 2, 0, 0, 0, 128, - 0, 0, 15, 176, 31, 0, - 0, 2, 0, 0, 0, 128, - 1, 0, 3, 176, 31, 0, - 0, 2, 0, 0, 0, 144, - 0, 8, 15, 160, 66, 0, - 0, 3, 0, 0, 15, 128, - 1, 0, 228, 176, 0, 8, - 228, 160, 5, 0, 0, 3, - 0, 0, 15, 128, 0, 0, - 228, 128, 0, 0, 228, 176, - 1, 0, 0, 2, 0, 8, + 0, 2, 255, 255, 254, 255, + 102, 0, 68, 66, 85, 71, + 40, 0, 0, 0, 108, 1, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 116, 0, + 0, 0, 6, 0, 0, 0, + 120, 0, 0, 0, 3, 0, + 0, 0, 48, 1, 0, 0, + 168, 0, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 83, 112, + 114, 105, 116, 101, 69, 102, + 102, 101, 99, 116, 46, 102, + 120, 0, 40, 0, 0, 0, + 0, 0, 255, 255, 160, 1, + 0, 0, 0, 0, 255, 255, + 172, 1, 0, 0, 0, 0, + 255, 255, 184, 1, 0, 0, + 33, 0, 0, 0, 196, 1, + 0, 0, 33, 0, 0, 0, + 212, 1, 0, 0, 33, 0, + 0, 0, 228, 1, 0, 0, + 83, 112, 114, 105, 116, 101, + 80, 105, 120, 101, 108, 83, + 104, 97, 100, 101, 114, 0, + 171, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 5, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 99, 111, 108, 111, 114, 0, + 171, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 116, 101, 120, 67, 111, 111, + 114, 100, 0, 171, 171, 171, + 1, 0, 3, 0, 1, 0, + 2, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0, + 255, 255, 255, 255, 0, 0, + 0, 0, 168, 0, 0, 0, + 188, 0, 0, 0, 2, 0, + 0, 0, 204, 0, 0, 0, + 168, 0, 0, 0, 228, 0, + 0, 0, 236, 0, 0, 0, + 1, 0, 0, 0, 252, 0, + 0, 0, 168, 0, 0, 0, + 8, 1, 0, 0, 20, 1, + 0, 0, 1, 0, 0, 0, + 36, 1, 0, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 31, 0, 0, 2, + 0, 0, 0, 128, 0, 0, + 15, 176, 31, 0, 0, 2, + 0, 0, 0, 128, 1, 0, + 3, 176, 31, 0, 0, 2, + 0, 0, 0, 144, 0, 8, + 15, 160, 66, 0, 0, 3, + 0, 0, 15, 128, 1, 0, + 228, 176, 0, 8, 228, 160, + 5, 0, 0, 3, 0, 0, 15, 128, 0, 0, 228, 128, - 255, 255, 0, 0, 83, 72, - 68, 82, 148, 0, 0, 0, - 64, 0, 0, 0, 37, 0, - 0, 0, 90, 0, 0, 3, - 0, 96, 16, 0, 0, 0, - 0, 0, 88, 24, 0, 4, - 0, 112, 16, 0, 0, 0, - 0, 0, 85, 85, 0, 0, - 98, 16, 0, 3, 242, 16, + 0, 0, 228, 176, 1, 0, + 0, 2, 0, 8, 15, 128, + 0, 0, 228, 128, 255, 255, + 0, 0, 83, 72, 68, 82, + 148, 0, 0, 0, 64, 0, + 0, 0, 37, 0, 0, 0, + 90, 0, 0, 3, 0, 96, 16, 0, 0, 0, 0, 0, - 98, 16, 0, 3, 50, 16, - 16, 0, 1, 0, 0, 0, - 101, 0, 0, 3, 242, 32, + 88, 24, 0, 4, 0, 112, 16, 0, 0, 0, 0, 0, - 104, 0, 0, 2, 1, 0, - 0, 0, 69, 0, 0, 9, - 242, 0, 16, 0, 0, 0, - 0, 0, 70, 16, 16, 0, - 1, 0, 0, 0, 70, 126, + 85, 85, 0, 0, 98, 16, + 0, 3, 242, 16, 16, 0, + 0, 0, 0, 0, 98, 16, + 0, 3, 50, 16, 16, 0, + 1, 0, 0, 0, 101, 0, + 0, 3, 242, 32, 16, 0, + 0, 0, 0, 0, 104, 0, + 0, 2, 1, 0, 0, 0, + 69, 0, 0, 9, 242, 0, 16, 0, 0, 0, 0, 0, - 0, 96, 16, 0, 0, 0, - 0, 0, 56, 0, 0, 7, - 242, 32, 16, 0, 0, 0, - 0, 0, 70, 14, 16, 0, - 0, 0, 0, 0, 70, 30, + 70, 16, 16, 0, 1, 0, + 0, 0, 70, 126, 16, 0, + 0, 0, 0, 0, 0, 96, 16, 0, 0, 0, 0, 0, - 62, 0, 0, 1, 73, 83, - 71, 78, 72, 0, 0, 0, - 2, 0, 0, 0, 8, 0, - 0, 0, 56, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 15, - 0, 0, 62, 0, 0, 0, + 56, 0, 0, 7, 242, 32, + 16, 0, 0, 0, 0, 0, + 70, 14, 16, 0, 0, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 62, 0, + 0, 1, 73, 83, 71, 78, + 72, 0, 0, 0, 2, 0, + 0, 0, 8, 0, 0, 0, + 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 3, 3, - 0, 0, 67, 79, 76, 79, - 82, 0, 84, 69, 88, 67, - 79, 79, 82, 68, 0, 171, - 79, 83, 71, 78, 44, 0, - 0, 0, 1, 0, 0, 0, - 8, 0, 0, 0, 32, 0, + 3, 0, 0, 0, 0, 0, + 0, 0, 15, 15, 0, 0, + 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, + 3, 0, 0, 0, 1, 0, + 0, 0, 3, 3, 0, 0, + 67, 79, 76, 79, 82, 0, + 84, 69, 88, 67, 79, 79, + 82, 68, 0, 171, 79, 83, + 71, 78, 44, 0, 0, 0, + 1, 0, 0, 0, 8, 0, + 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 15, 0, 0, 0, 83, 86, - 95, 84, 97, 114, 103, 101, - 116, 0, 171, 171 + 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 15, 0, + 0, 0, 83, 86, 95, 84, + 97, 114, 103, 101, 116, 0, + 171, 171 }; diff --git a/Kits/DirectXTK/Src/Shaders/Compiled/SpriteEffect_SpriteVertexShader.inc b/Kits/DirectXTK/Src/Shaders/Compiled/SpriteEffect_SpriteVertexShader.inc index 68e1db17..fa065c57 100644 --- a/Kits/DirectXTK/Src/Shaders/Compiled/SpriteEffect_SpriteVertexShader.inc +++ b/Kits/DirectXTK/Src/Shaders/Compiled/SpriteEffect_SpriteVertexShader.inc @@ -38,17 +38,19 @@ // Level9 shader bytecode: // vs_2_0 - dcl_texcoord v0 - dcl_texcoord1 v1 - dcl_texcoord2 v2 + dcl_texcoord v0 // color<0,1,2,3> + dcl_texcoord1 v1 // texCoord<0,1> + dcl_texcoord2 v2 // position<0,1,2,3> + +#line 26 "C:\ATG Sample Development\st_dev\Kits\DirectXTK\Src\Shaders\SpriteEffect.fx" mul r0, v2.y, c2 mad r0, v2.x, c1, r0 mad r0, v2.z, c3, r0 - mad r0, v2.w, c4, r0 - mad oPos.xy, r0.w, c0, r0 - mov oPos.zw, r0 - mov oT0, v0 - mov oT1.xy, v1 + mad r0, v2.w, c4, r0 // position<0,1,2,3> + mad oPos.xy, r0.w, c0, r0 // position<0,1> + mov oPos.zw, r0 // position<2,3> + mov oT0, v0 // color<0,1,2,3> + mov oT1.xy, v1 // texCoord<0,1> // approximately 8 instruction slots used vs_4_0 @@ -72,17 +74,17 @@ ret const BYTE SpriteEffect_SpriteVertexShader[] = { - 68, 88, 66, 67, 53, 15, - 108, 68, 10, 30, 79, 231, - 153, 9, 61, 10, 198, 154, - 8, 125, 1, 0, 0, 0, - 60, 3, 0, 0, 4, 0, + 68, 88, 66, 67, 5, 73, + 202, 97, 204, 3, 14, 85, + 16, 11, 241, 197, 25, 93, + 20, 215, 1, 0, 0, 0, + 44, 5, 0, 0, 4, 0, 0, 0, 48, 0, 0, 0, - 28, 1, 0, 0, 84, 2, - 0, 0, 200, 2, 0, 0, - 65, 111, 110, 57, 228, 0, - 0, 0, 228, 0, 0, 0, - 0, 2, 254, 255, 176, 0, + 12, 3, 0, 0, 68, 4, + 0, 0, 184, 4, 0, 0, + 65, 111, 110, 57, 212, 2, + 0, 0, 212, 2, 0, 0, + 0, 2, 254, 255, 160, 2, 0, 0, 52, 0, 0, 0, 1, 0, 36, 0, 0, 0, 48, 0, 0, 0, 48, 0, @@ -90,124 +92,207 @@ const BYTE SpriteEffect_SpriteVertexShader[] = 48, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 254, 255, 31, 0, - 0, 2, 5, 0, 0, 128, - 0, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 1, 128, - 1, 0, 15, 144, 31, 0, - 0, 2, 5, 0, 2, 128, - 2, 0, 15, 144, 5, 0, - 0, 3, 0, 0, 15, 128, - 2, 0, 85, 144, 2, 0, - 228, 160, 4, 0, 0, 4, + 0, 2, 254, 255, 254, 255, + 123, 0, 68, 66, 85, 71, + 40, 0, 0, 0, 192, 1, + 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 116, 0, + 0, 0, 11, 0, 0, 0, + 120, 0, 0, 0, 3, 0, + 0, 0, 132, 1, 0, 0, + 208, 0, 0, 0, 67, 58, + 92, 65, 84, 71, 32, 83, + 97, 109, 112, 108, 101, 32, + 68, 101, 118, 101, 108, 111, + 112, 109, 101, 110, 116, 92, + 115, 116, 95, 100, 101, 118, + 92, 75, 105, 116, 115, 92, + 68, 105, 114, 101, 99, 116, + 88, 84, 75, 92, 83, 114, + 99, 92, 83, 104, 97, 100, + 101, 114, 115, 92, 83, 112, + 114, 105, 116, 101, 69, 102, + 102, 101, 99, 116, 46, 102, + 120, 0, 40, 0, 0, 0, + 0, 0, 255, 255, 244, 1, + 0, 0, 0, 0, 255, 255, + 0, 2, 0, 0, 0, 0, + 255, 255, 12, 2, 0, 0, + 26, 0, 0, 0, 24, 2, + 0, 0, 26, 0, 0, 0, + 40, 2, 0, 0, 26, 0, + 0, 0, 60, 2, 0, 0, + 26, 0, 0, 0, 80, 2, + 0, 0, 24, 0, 0, 0, + 100, 2, 0, 0, 24, 0, + 0, 0, 120, 2, 0, 0, + 22, 0, 0, 0, 132, 2, + 0, 0, 23, 0, 0, 0, + 144, 2, 0, 0, 83, 112, + 114, 105, 116, 101, 86, 101, + 114, 116, 101, 120, 83, 104, + 97, 100, 101, 114, 0, 99, + 111, 108, 111, 114, 0, 171, + 171, 171, 1, 0, 3, 0, + 1, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 9, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 112, 111, 115, 105, 116, 105, + 111, 110, 0, 171, 171, 171, + 2, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 6, 0, 0, 0, 0, 0, + 1, 0, 2, 0, 3, 0, + 7, 0, 0, 0, 0, 0, + 1, 0, 255, 255, 255, 255, + 8, 0, 0, 0, 255, 255, + 255, 255, 2, 0, 3, 0, + 116, 101, 120, 67, 111, 111, + 114, 100, 0, 171, 171, 171, + 1, 0, 3, 0, 1, 0, + 2, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0, + 255, 255, 255, 255, 10, 0, + 0, 0, 0, 0, 1, 0, + 255, 255, 255, 255, 208, 0, + 0, 0, 227, 0, 0, 0, + 236, 0, 0, 0, 2, 0, + 0, 0, 252, 0, 0, 0, + 208, 0, 0, 0, 20, 1, + 0, 0, 236, 0, 0, 0, + 4, 0, 0, 0, 32, 1, + 0, 0, 208, 0, 0, 0, + 80, 1, 0, 0, 92, 1, + 0, 0, 2, 0, 0, 0, + 108, 1, 0, 0, 77, 105, + 99, 114, 111, 115, 111, 102, + 116, 32, 40, 82, 41, 32, + 72, 76, 83, 76, 32, 83, + 104, 97, 100, 101, 114, 32, + 67, 111, 109, 112, 105, 108, + 101, 114, 32, 49, 48, 46, + 49, 0, 31, 0, 0, 2, + 5, 0, 0, 128, 0, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 1, 128, 1, 0, + 15, 144, 31, 0, 0, 2, + 5, 0, 2, 128, 2, 0, + 15, 144, 5, 0, 0, 3, + 0, 0, 15, 128, 2, 0, + 85, 144, 2, 0, 228, 160, + 4, 0, 0, 4, 0, 0, + 15, 128, 2, 0, 0, 144, + 1, 0, 228, 160, 0, 0, + 228, 128, 4, 0, 0, 4, 0, 0, 15, 128, 2, 0, - 0, 144, 1, 0, 228, 160, + 170, 144, 3, 0, 228, 160, 0, 0, 228, 128, 4, 0, 0, 4, 0, 0, 15, 128, - 2, 0, 170, 144, 3, 0, + 2, 0, 255, 144, 4, 0, 228, 160, 0, 0, 228, 128, 4, 0, 0, 4, 0, 0, - 15, 128, 2, 0, 255, 144, - 4, 0, 228, 160, 0, 0, - 228, 128, 4, 0, 0, 4, - 0, 0, 3, 192, 0, 0, - 255, 128, 0, 0, 228, 160, - 0, 0, 228, 128, 1, 0, - 0, 2, 0, 0, 12, 192, - 0, 0, 228, 128, 1, 0, - 0, 2, 0, 0, 15, 224, - 0, 0, 228, 144, 1, 0, - 0, 2, 1, 0, 3, 224, - 1, 0, 228, 144, 255, 255, - 0, 0, 83, 72, 68, 82, - 48, 1, 0, 0, 64, 0, - 1, 0, 76, 0, 0, 0, - 89, 0, 0, 4, 70, 142, - 32, 0, 0, 0, 0, 0, - 4, 0, 0, 0, 95, 0, - 0, 3, 242, 16, 16, 0, - 0, 0, 0, 0, 95, 0, - 0, 3, 50, 16, 16, 0, - 1, 0, 0, 0, 95, 0, - 0, 3, 242, 16, 16, 0, - 2, 0, 0, 0, 101, 0, - 0, 3, 242, 32, 16, 0, - 0, 0, 0, 0, 101, 0, - 0, 3, 50, 32, 16, 0, - 1, 0, 0, 0, 103, 0, - 0, 4, 242, 32, 16, 0, - 2, 0, 0, 0, 1, 0, - 0, 0, 104, 0, 0, 2, - 1, 0, 0, 0, 54, 0, - 0, 5, 242, 32, 16, 0, - 0, 0, 0, 0, 70, 30, - 16, 0, 0, 0, 0, 0, - 54, 0, 0, 5, 50, 32, + 3, 192, 0, 0, 255, 128, + 0, 0, 228, 160, 0, 0, + 228, 128, 1, 0, 0, 2, + 0, 0, 12, 192, 0, 0, + 228, 128, 1, 0, 0, 2, + 0, 0, 15, 224, 0, 0, + 228, 144, 1, 0, 0, 2, + 1, 0, 3, 224, 1, 0, + 228, 144, 255, 255, 0, 0, + 83, 72, 68, 82, 48, 1, + 0, 0, 64, 0, 1, 0, + 76, 0, 0, 0, 89, 0, + 0, 4, 70, 142, 32, 0, + 0, 0, 0, 0, 4, 0, + 0, 0, 95, 0, 0, 3, + 242, 16, 16, 0, 0, 0, + 0, 0, 95, 0, 0, 3, + 50, 16, 16, 0, 1, 0, + 0, 0, 95, 0, 0, 3, + 242, 16, 16, 0, 2, 0, + 0, 0, 101, 0, 0, 3, + 242, 32, 16, 0, 0, 0, + 0, 0, 101, 0, 0, 3, + 50, 32, 16, 0, 1, 0, + 0, 0, 103, 0, 0, 4, + 242, 32, 16, 0, 2, 0, + 0, 0, 1, 0, 0, 0, + 104, 0, 0, 2, 1, 0, + 0, 0, 54, 0, 0, 5, + 242, 32, 16, 0, 0, 0, + 0, 0, 70, 30, 16, 0, + 0, 0, 0, 0, 54, 0, + 0, 5, 50, 32, 16, 0, + 1, 0, 0, 0, 70, 16, 16, 0, 1, 0, 0, 0, - 70, 16, 16, 0, 1, 0, - 0, 0, 56, 0, 0, 8, - 242, 0, 16, 0, 0, 0, - 0, 0, 86, 21, 16, 0, - 2, 0, 0, 0, 70, 142, - 32, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 50, 0, - 0, 10, 242, 0, 16, 0, - 0, 0, 0, 0, 6, 16, - 16, 0, 2, 0, 0, 0, - 70, 142, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 70, 14, 16, 0, 0, 0, + 56, 0, 0, 8, 242, 0, + 16, 0, 0, 0, 0, 0, + 86, 21, 16, 0, 2, 0, + 0, 0, 70, 142, 32, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 50, 0, 0, 10, 242, 0, 16, 0, 0, 0, - 0, 0, 166, 26, 16, 0, + 0, 0, 6, 16, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 70, 14, + 0, 0, 0, 0, 70, 14, 16, 0, 0, 0, 0, 0, - 50, 0, 0, 10, 242, 32, - 16, 0, 2, 0, 0, 0, - 246, 31, 16, 0, 2, 0, + 50, 0, 0, 10, 242, 0, + 16, 0, 0, 0, 0, 0, + 166, 26, 16, 0, 2, 0, 0, 0, 70, 142, 32, 0, - 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 70, 14, 16, 0, - 0, 0, 0, 0, 62, 0, - 0, 1, 73, 83, 71, 78, + 0, 0, 0, 0, 50, 0, + 0, 10, 242, 32, 16, 0, + 2, 0, 0, 0, 246, 31, + 16, 0, 2, 0, 0, 0, + 70, 142, 32, 0, 0, 0, + 0, 0, 3, 0, 0, 0, + 70, 14, 16, 0, 0, 0, + 0, 0, 62, 0, 0, 1, + 73, 83, 71, 78, 108, 0, + 0, 0, 3, 0, 0, 0, + 8, 0, 0, 0, 80, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 0, 0, 0, 0, + 15, 15, 0, 0, 86, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 1, 0, 0, 0, + 3, 3, 0, 0, 95, 0, + 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, + 0, 0, 2, 0, 0, 0, + 15, 15, 0, 0, 67, 79, + 76, 79, 82, 0, 84, 69, + 88, 67, 79, 79, 82, 68, + 0, 83, 86, 95, 80, 111, + 115, 105, 116, 105, 111, 110, + 0, 171, 79, 83, 71, 78, 108, 0, 0, 0, 3, 0, 0, 0, 8, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, - 0, 0, 15, 15, 0, 0, + 0, 0, 15, 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, - 0, 0, 3, 3, 0, 0, + 0, 0, 3, 12, 0, 0, 95, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 2, 0, - 0, 0, 15, 15, 0, 0, + 0, 0, 15, 0, 0, 0, 67, 79, 76, 79, 82, 0, 84, 69, 88, 67, 79, 79, 82, 68, 0, 83, 86, 95, 80, 111, 115, 105, 116, 105, - 111, 110, 0, 171, 79, 83, - 71, 78, 108, 0, 0, 0, - 3, 0, 0, 0, 8, 0, - 0, 0, 80, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 0, 0, 0, 0, 15, 0, - 0, 0, 86, 0, 0, 0, - 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, - 1, 0, 0, 0, 3, 12, - 0, 0, 95, 0, 0, 0, - 0, 0, 0, 0, 1, 0, - 0, 0, 3, 0, 0, 0, - 2, 0, 0, 0, 15, 0, - 0, 0, 67, 79, 76, 79, - 82, 0, 84, 69, 88, 67, - 79, 79, 82, 68, 0, 83, - 86, 95, 80, 111, 115, 105, - 116, 105, 111, 110, 0, 171 + 111, 110, 0, 171 }; diff --git a/Kits/DirectXTK/Src/SpriteBatch.cpp b/Kits/DirectXTK/Src/SpriteBatch.cpp index e36b61c7..3fff6191 100644 --- a/Kits/DirectXTK/Src/SpriteBatch.cpp +++ b/Kits/DirectXTK/Src/SpriteBatch.cpp @@ -13,9 +13,6 @@ #include "pch.h" -#include -#include - #include "SpriteBatch.h" #include "ConstantBuffer.h" #include "CommonStates.h" @@ -26,6 +23,43 @@ using namespace DirectX; using Microsoft::WRL::ComPtr; +namespace +{ + // Include the precompiled shader code. + #if defined(_XBOX_ONE) && defined(_TITLE) + #include "Shaders/Compiled/XboxOneSpriteEffect_SpriteVertexShader.inc" + #include "Shaders/Compiled/XboxOneSpriteEffect_SpritePixelShader.inc" + #else + #include "Shaders/Compiled/SpriteEffect_SpriteVertexShader.inc" + #include "Shaders/Compiled/SpriteEffect_SpritePixelShader.inc" + #endif + + + // Helper looks up the D3D device corresponding to a context interface. + inline ComPtr GetDevice(_In_ ID3D11DeviceContext* deviceContext) + { + ComPtr device; + + deviceContext->GetDevice(&device); + + return device; + } + + + // Helper converts a RECT to XMVECTOR. + inline XMVECTOR LoadRect(_In_ RECT const* rect) + { + XMVECTOR v = XMLoadInt4(reinterpret_cast(rect)); + + v = XMConvertVectorIntToFloat(v, 0); + + // Convert right/bottom to width/height. + v -= XMVectorPermute<0, 1, 4, 5>(XMVectorZero(), v); + + return v; + } +} + // Internal SpriteBatch implementation class. __declspec(align(16)) class SpriteBatch::Impl : public AlignedNew @@ -33,10 +67,21 @@ __declspec(align(16)) class SpriteBatch::Impl : public AlignedNew setCustomShaders, FXMMATRIX transformMatrix); + void XM_CALLCONV Begin(SpriteSortMode sortMode, + _In_opt_ ID3D11BlendState* blendState, + _In_opt_ ID3D11SamplerState* samplerState, + _In_opt_ ID3D11DepthStencilState* depthStencilState, + _In_opt_ ID3D11RasterizerState* rasterizerState, + _In_opt_ std::function setCustomShaders, + FXMMATRIX transformMatrix); void End(); - void XM_CALLCONV Draw(_In_ ID3D11ShaderResourceView* texture, FXMVECTOR destination, _In_opt_ RECT const* sourceRectangle, FXMVECTOR color, FXMVECTOR originRotationDepth, int flags); + void XM_CALLCONV Draw(_In_ ID3D11ShaderResourceView* texture, + FXMVECTOR destination, + _In_opt_ RECT const* sourceRectangle, + FXMVECTOR color, + FXMVECTOR originRotationDepth, + int flags); // Info about a single sprite that is waiting to be drawn. @@ -72,7 +117,10 @@ private: void RenderBatch(_In_ ID3D11ShaderResourceView* texture, _In_reads_(count) SpriteInfo const* const* sprites, size_t count); - static void XM_CALLCONV RenderSprite(_In_ SpriteInfo const* sprite, _Out_cap_c_(VerticesPerSprite) VertexPositionColorTexture* vertices, FXMVECTOR textureSize, FXMVECTOR inverseTextureSize); + static void XM_CALLCONV RenderSprite(_In_ SpriteInfo const* sprite, + _Out_writes_(VerticesPerSprite) VertexPositionColorTexture* vertices, + FXMVECTOR textureSize, + FXMVECTOR inverseTextureSize); static XMVECTOR GetTextureSize(_In_ ID3D11ShaderResourceView* texture); XMMATRIX GetViewportTransform(_In_ ID3D11DeviceContext* deviceContext, DXGI_MODE_ROTATION rotation ); @@ -180,45 +228,6 @@ SharedResourcePool Sp const XMMATRIX SpriteBatch::MatrixIdentity = XMMatrixIdentity(); const XMFLOAT2 SpriteBatch::Float2Zero(0, 0); - -namespace -{ - // Include the precompiled shader code. -#if defined(_XBOX_ONE) && defined(_TITLE) - #include "Shaders/Compiled/XboxOneSpriteEffect_SpriteVertexShader.inc" - #include "Shaders/Compiled/XboxOneSpriteEffect_SpritePixelShader.inc" -#else - #include "Shaders/Compiled/SpriteEffect_SpriteVertexShader.inc" - #include "Shaders/Compiled/SpriteEffect_SpritePixelShader.inc" -#endif - - - // Helper looks up the D3D device corresponding to a context interface. - inline ComPtr GetDevice(_In_ ID3D11DeviceContext* deviceContext) - { - ComPtr device; - - deviceContext->GetDevice(&device); - - return device; - } - - - // Helper converts a RECT to XMVECTOR. - inline XMVECTOR LoadRect(_In_ RECT const* rect) - { - XMVECTOR v = XMLoadInt4(reinterpret_cast(rect)); - - v = XMConvertVectorIntToFloat(v, 0); - - // Convert right/bottom to width/height. - v -= XMVectorPermute<0, 1, 4, 5>(XMVectorZero(), v); - - return v; - } -} - - // Per-device constructor. SpriteBatch::Impl::DeviceResources::DeviceResources(_In_ ID3D11Device* device) : stateObjects(device) @@ -262,7 +271,7 @@ void SpriteBatch::Impl::DeviceResources::CreateShaders(_In_ ID3D11Device* device // Creates the SpriteBatch index buffer. void SpriteBatch::Impl::DeviceResources::CreateIndexBuffer(_In_ ID3D11Device* device) { - D3D11_BUFFER_DESC indexBufferDesc = { 0 }; + D3D11_BUFFER_DESC indexBufferDesc = {}; static_assert( ( MaxBatchSize * VerticesPerSprite ) < USHRT_MAX, "MaxBatchSize too large for 16-bit indices" ); @@ -272,7 +281,7 @@ void SpriteBatch::Impl::DeviceResources::CreateIndexBuffer(_In_ ID3D11Device* de auto indexValues = CreateIndexValues(); - D3D11_SUBRESOURCE_DATA indexDataDesc = { 0 }; + D3D11_SUBRESOURCE_DATA indexDataDesc = {}; indexDataDesc.pSysMem = indexValues.data(); @@ -326,7 +335,7 @@ SpriteBatch::Impl::ContextResources::ContextResources(_In_ ID3D11DeviceContext* void SpriteBatch::Impl::ContextResources::CreateVertexBuffer() { #if defined(_XBOX_ONE) && defined(_TITLE) - D3D11_BUFFER_DESC vertexBufferDesc = { 0 }; + D3D11_BUFFER_DESC vertexBufferDesc = {}; vertexBufferDesc.ByteWidth = sizeof(VertexPositionColorTexture) * MaxBatchSize * VerticesPerSprite; vertexBufferDesc.BindFlags = D3D11_BIND_VERTEX_BUFFER; @@ -344,7 +353,7 @@ void SpriteBatch::Impl::ContextResources::CreateVertexBuffer() SetDebugObjectName(vertexBuffer.Get(), "DirectXTK:SpriteBatch"); #else - D3D11_BUFFER_DESC vertexBufferDesc = { 0 }; + D3D11_BUFFER_DESC vertexBufferDesc = {}; vertexBufferDesc.ByteWidth = sizeof(VertexPositionColorTexture) * MaxBatchSize * VerticesPerSprite; vertexBufferDesc.BindFlags = D3D11_BIND_VERTEX_BUFFER; @@ -376,7 +385,14 @@ SpriteBatch::Impl::Impl(_In_ ID3D11DeviceContext* deviceContext) // Begins a batch of sprite drawing operations. -void XM_CALLCONV SpriteBatch::Impl::Begin(SpriteSortMode sortMode, _In_opt_ ID3D11BlendState* blendState, _In_opt_ ID3D11SamplerState* samplerState, _In_opt_ ID3D11DepthStencilState* depthStencilState, _In_opt_ ID3D11RasterizerState* rasterizerState, _In_opt_ std::function setCustomShaders, FXMMATRIX transformMatrix) +_Use_decl_annotations_ +void XM_CALLCONV SpriteBatch::Impl::Begin(SpriteSortMode sortMode, + ID3D11BlendState* blendState, + ID3D11SamplerState* samplerState, + ID3D11DepthStencilState* depthStencilState, + ID3D11RasterizerState* rasterizerState, + std::function setCustomShaders, + FXMMATRIX transformMatrix) { if (mInBeginEndPair) throw std::exception("Cannot nest Begin calls on a single SpriteBatch"); @@ -434,7 +450,13 @@ void SpriteBatch::Impl::End() // Adds a single sprite to the queue. -void XM_CALLCONV SpriteBatch::Impl::Draw(_In_ ID3D11ShaderResourceView* texture, FXMVECTOR destination, _In_opt_ RECT const* sourceRectangle, FXMVECTOR color, FXMVECTOR originRotationDepth, int flags) +_Use_decl_annotations_ +void XM_CALLCONV SpriteBatch::Impl::Draw(ID3D11ShaderResourceView* texture, + FXMVECTOR destination, + RECT const* sourceRectangle, + FXMVECTOR color, + FXMVECTOR originRotationDepth, + int flags) { if (!texture) throw std::exception("Texture cannot be null"); @@ -695,7 +717,8 @@ void SpriteBatch::Impl::GrowSortedSprites() // Submits a batch of sprites to the GPU. -void SpriteBatch::Impl::RenderBatch(_In_ ID3D11ShaderResourceView* texture, _In_reads_(count) SpriteInfo const* const* sprites, size_t count) +_Use_decl_annotations_ +void SpriteBatch::Impl::RenderBatch(ID3D11ShaderResourceView* texture, SpriteInfo const* const* sprites, size_t count) { auto deviceContext = mContextResources->deviceContext.Get(); @@ -780,7 +803,11 @@ void SpriteBatch::Impl::RenderBatch(_In_ ID3D11ShaderResourceView* texture, _In_ // Generates vertex data for drawing a single sprite. -void XM_CALLCONV SpriteBatch::Impl::RenderSprite(_In_ SpriteInfo const* sprite, _Out_cap_c_(VerticesPerSprite) VertexPositionColorTexture* vertices, FXMVECTOR textureSize, FXMVECTOR inverseTextureSize) +_Use_decl_annotations_ +void XM_CALLCONV SpriteBatch::Impl::RenderSprite(SpriteInfo const* sprite, + VertexPositionColorTexture* vertices, + FXMVECTOR textureSize, + FXMVECTOR inverseTextureSize) { // Load sprite parameters into SIMD registers. XMVECTOR source = XMLoadFloat4A(&sprite->source); @@ -1006,7 +1033,14 @@ SpriteBatch::~SpriteBatch() } -void XM_CALLCONV SpriteBatch::Begin(SpriteSortMode sortMode, _In_opt_ ID3D11BlendState* blendState, _In_opt_ ID3D11SamplerState* samplerState, _In_opt_ ID3D11DepthStencilState* depthStencilState, _In_opt_ ID3D11RasterizerState* rasterizerState, _In_opt_ std::function setCustomShaders, FXMMATRIX transformMatrix) +_Use_decl_annotations_ +void XM_CALLCONV SpriteBatch::Begin(SpriteSortMode sortMode, + ID3D11BlendState* blendState, + ID3D11SamplerState* samplerState, + ID3D11DepthStencilState* depthStencilState, + ID3D11RasterizerState* rasterizerState, + std::function setCustomShaders, + FXMMATRIX transformMatrix) { pImpl->Begin(sortMode, blendState, samplerState, depthStencilState, rasterizerState, setCustomShaders, transformMatrix); } @@ -1018,7 +1052,8 @@ void SpriteBatch::End() } -void XM_CALLCONV SpriteBatch::Draw(_In_ ID3D11ShaderResourceView* texture, XMFLOAT2 const& position, FXMVECTOR color) +_Use_decl_annotations_ +void XM_CALLCONV SpriteBatch::Draw(ID3D11ShaderResourceView* texture, XMFLOAT2 const& position, FXMVECTOR color) { XMVECTOR destination = XMVectorPermute<0, 1, 4, 5>(XMLoadFloat2(&position), g_XMOne); // x, y, 1, 1 @@ -1026,7 +1061,16 @@ void XM_CALLCONV SpriteBatch::Draw(_In_ ID3D11ShaderResourceView* texture, XMFLO } -void XM_CALLCONV SpriteBatch::Draw(_In_ ID3D11ShaderResourceView* texture, XMFLOAT2 const& position, _In_opt_ RECT const* sourceRectangle, FXMVECTOR color, float rotation, XMFLOAT2 const& origin, float scale, SpriteEffects effects, float layerDepth) +_Use_decl_annotations_ +void XM_CALLCONV SpriteBatch::Draw(ID3D11ShaderResourceView* texture, + XMFLOAT2 const& position, + RECT const* sourceRectangle, + FXMVECTOR color, + float rotation, + XMFLOAT2 const& origin, + float scale, + SpriteEffects effects, + float layerDepth) { XMVECTOR destination = XMVectorPermute<0, 1, 4, 4>(XMLoadFloat2(&position), XMLoadFloat(&scale)); // x, y, scale, scale @@ -1036,7 +1080,16 @@ void XM_CALLCONV SpriteBatch::Draw(_In_ ID3D11ShaderResourceView* texture, XMFLO } -void XM_CALLCONV SpriteBatch::Draw(_In_ ID3D11ShaderResourceView* texture, XMFLOAT2 const& position, _In_opt_ RECT const* sourceRectangle, FXMVECTOR color, float rotation, XMFLOAT2 const& origin, XMFLOAT2 const& scale, SpriteEffects effects, float layerDepth) +_Use_decl_annotations_ +void XM_CALLCONV SpriteBatch::Draw(ID3D11ShaderResourceView* texture, + XMFLOAT2 const& position, + RECT const* sourceRectangle, + FXMVECTOR color, + float rotation, + XMFLOAT2 const& origin, + XMFLOAT2 const& scale, + SpriteEffects effects, + float layerDepth) { XMVECTOR destination = XMVectorPermute<0, 1, 4, 5>(XMLoadFloat2(&position), XMLoadFloat2(&scale)); // x, y, scale.x, scale.y @@ -1046,7 +1099,8 @@ void XM_CALLCONV SpriteBatch::Draw(_In_ ID3D11ShaderResourceView* texture, XMFLO } -void XM_CALLCONV SpriteBatch::Draw(_In_ ID3D11ShaderResourceView* texture, FXMVECTOR position, FXMVECTOR color) +_Use_decl_annotations_ +void XM_CALLCONV SpriteBatch::Draw(ID3D11ShaderResourceView* texture, FXMVECTOR position, FXMVECTOR color) { XMVECTOR destination = XMVectorPermute<0, 1, 4, 5>(position, g_XMOne); // x, y, 1, 1 @@ -1054,7 +1108,16 @@ void XM_CALLCONV SpriteBatch::Draw(_In_ ID3D11ShaderResourceView* texture, FXMVE } -void XM_CALLCONV SpriteBatch::Draw(_In_ ID3D11ShaderResourceView* texture, FXMVECTOR position, _In_opt_ RECT const* sourceRectangle, FXMVECTOR color, float rotation, FXMVECTOR origin, float scale, SpriteEffects effects, float layerDepth) +_Use_decl_annotations_ +void XM_CALLCONV SpriteBatch::Draw(ID3D11ShaderResourceView* texture, + FXMVECTOR position, + RECT const* sourceRectangle, + FXMVECTOR color, + float rotation, + FXMVECTOR origin, + float scale, + SpriteEffects effects, + float layerDepth) { XMVECTOR destination = XMVectorPermute<0, 1, 4, 4>(position, XMLoadFloat(&scale)); // x, y, scale, scale @@ -1066,7 +1129,16 @@ void XM_CALLCONV SpriteBatch::Draw(_In_ ID3D11ShaderResourceView* texture, FXMVE } -void XM_CALLCONV SpriteBatch::Draw(_In_ ID3D11ShaderResourceView* texture, FXMVECTOR position, _In_opt_ RECT const* sourceRectangle, FXMVECTOR color, float rotation, FXMVECTOR origin, GXMVECTOR scale, SpriteEffects effects, float layerDepth) +_Use_decl_annotations_ +void XM_CALLCONV SpriteBatch::Draw(ID3D11ShaderResourceView* texture, + FXMVECTOR position, + RECT const* sourceRectangle, + FXMVECTOR color, + float rotation, + FXMVECTOR origin, + GXMVECTOR scale, + SpriteEffects effects, + float layerDepth) { XMVECTOR destination = XMVectorPermute<0, 1, 4, 5>(position, scale); // x, y, scale.x, scale.y @@ -1078,7 +1150,8 @@ void XM_CALLCONV SpriteBatch::Draw(_In_ ID3D11ShaderResourceView* texture, FXMVE } -void XM_CALLCONV SpriteBatch::Draw(_In_ ID3D11ShaderResourceView* texture, RECT const& destinationRectangle, FXMVECTOR color) +_Use_decl_annotations_ +void XM_CALLCONV SpriteBatch::Draw(ID3D11ShaderResourceView* texture, RECT const& destinationRectangle, FXMVECTOR color) { XMVECTOR destination = LoadRect(&destinationRectangle); // x, y, w, h @@ -1086,7 +1159,15 @@ void XM_CALLCONV SpriteBatch::Draw(_In_ ID3D11ShaderResourceView* texture, RECT } -void XM_CALLCONV SpriteBatch::Draw(_In_ ID3D11ShaderResourceView* texture, RECT const& destinationRectangle, _In_opt_ RECT const* sourceRectangle, FXMVECTOR color, float rotation, XMFLOAT2 const& origin, SpriteEffects effects, float layerDepth) +_Use_decl_annotations_ +void XM_CALLCONV SpriteBatch::Draw(ID3D11ShaderResourceView* texture, + RECT const& destinationRectangle, + RECT const* sourceRectangle, + FXMVECTOR color, + float rotation, + XMFLOAT2 const& origin, + SpriteEffects effects, + float layerDepth) { XMVECTOR destination = LoadRect(&destinationRectangle); // x, y, w, h diff --git a/Kits/DirectXTK/Src/SpriteFont.cpp b/Kits/DirectXTK/Src/SpriteFont.cpp index a6dd8aa9..c938cd48 100644 --- a/Kits/DirectXTK/Src/SpriteFont.cpp +++ b/Kits/DirectXTK/Src/SpriteFont.cpp @@ -125,7 +125,8 @@ SpriteFont::Impl::Impl(_In_ ID3D11Device* device, _In_ BinaryReader* reader) // Constructs a SpriteFont from arbitrary user specified glyph data. -SpriteFont::Impl::Impl(_In_ ID3D11ShaderResourceView* texture, _In_reads_(glyphCount) Glyph const* glyphs, _In_ size_t glyphCount, _In_ float lineSpacing) +_Use_decl_annotations_ +SpriteFont::Impl::Impl(ID3D11ShaderResourceView* texture, Glyph const* glyphs, size_t glyphCount, float lineSpacing) : texture(texture), glyphs(glyphs, glyphs + glyphCount), lineSpacing(lineSpacing), @@ -226,7 +227,8 @@ SpriteFont::SpriteFont(_In_ ID3D11Device* device, _In_z_ wchar_t const* fileName // Construct from a binary blob created by the MakeSpriteFont utility and already loaded into memory. -SpriteFont::SpriteFont(_In_ ID3D11Device* device, _In_reads_bytes_(dataSize) uint8_t const* dataBlob, _In_ size_t dataSize) +_Use_decl_annotations_ +SpriteFont::SpriteFont(ID3D11Device* device, uint8_t const* dataBlob, size_t dataSize) { BinaryReader reader(dataBlob, dataSize); @@ -235,7 +237,8 @@ SpriteFont::SpriteFont(_In_ ID3D11Device* device, _In_reads_bytes_(dataSize) uin // Construct from arbitrary user specified glyph data (for those not using the MakeSpriteFont utility). -SpriteFont::SpriteFont(_In_ ID3D11ShaderResourceView* texture, _In_reads_(glyphCount) Glyph const* glyphs, _In_ size_t glyphCount, _In_ float lineSpacing) +_Use_decl_annotations_ +SpriteFont::SpriteFont(ID3D11ShaderResourceView* texture, Glyph const* glyphs, size_t glyphCount, float lineSpacing) : pImpl(new Impl(texture, glyphs, glyphCount, lineSpacing)) { } diff --git a/Kits/DirectXTK/Src/VertexTypes.cpp b/Kits/DirectXTK/Src/VertexTypes.cpp index 576780bc..1dbf5c83 100644 --- a/Kits/DirectXTK/Src/VertexTypes.cpp +++ b/Kits/DirectXTK/Src/VertexTypes.cpp @@ -20,6 +20,16 @@ using namespace DirectX; using namespace DirectX::PackedVector; +//-------------------------------------------------------------------------------------- +// Vertex struct holding position . +const D3D11_INPUT_ELEMENT_DESC VertexPosition::InputElements[] = +{ + { "SV_Position", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_PER_VERTEX_DATA, 0 }, +}; + +static_assert(sizeof(VertexPosition) == 12, "Vertex struct/layout mismatch"); + + //-------------------------------------------------------------------------------------- // Vertex struct holding position and color information. const D3D11_INPUT_ELEMENT_DESC VertexPositionColor::InputElements[] = @@ -42,6 +52,18 @@ const D3D11_INPUT_ELEMENT_DESC VertexPositionTexture::InputElements[] = static_assert( sizeof(VertexPositionTexture) == 20, "Vertex struct/layout mismatch" ); +//-------------------------------------------------------------------------------------- +// Vertex struct holding position and dual texture mapping information. +const D3D11_INPUT_ELEMENT_DESC VertexPositionDualTexture::InputElements[] = +{ + { "SV_Position", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_PER_VERTEX_DATA, 0 }, + { "TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT, 0, D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_PER_VERTEX_DATA, 0 }, + { "TEXCOORD", 1, DXGI_FORMAT_R32G32_FLOAT, 0, D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_PER_VERTEX_DATA, 0 }, +}; + +static_assert(sizeof(VertexPositionDualTexture) == 28, "Vertex struct/layout mismatch"); + + //-------------------------------------------------------------------------------------- // Vertex struct holding position and normal vector. const D3D11_INPUT_ELEMENT_DESC VertexPositionNormal::InputElements[] = diff --git a/Kits/DirectXTK/Src/WICTextureLoader.cpp b/Kits/DirectXTK/Src/WICTextureLoader.cpp index f608317f..5a954522 100644 --- a/Kits/DirectXTK/Src/WICTextureLoader.cpp +++ b/Kits/DirectXTK/Src/WICTextureLoader.cpp @@ -1,7 +1,7 @@ //-------------------------------------------------------------------------------------- // File: WICTextureLoader.cpp // -// Function for loading a WIC image and creating a Direct3D 11 runtime texture for it +// Function for loading a WIC image and creating a Direct3D runtime texture for it // (auto-generating mipmaps if possible) // // Note: Assumes application has already called CoInitializeEx @@ -40,292 +40,294 @@ using namespace DirectX; using Microsoft::WRL::ComPtr; -//------------------------------------------------------------------------------------- -// WIC Pixel Format Translation Data -//------------------------------------------------------------------------------------- -struct WICTranslate +namespace { - GUID wic; - DXGI_FORMAT format; -}; + //------------------------------------------------------------------------------------- + // WIC Pixel Format Translation Data + //------------------------------------------------------------------------------------- + struct WICTranslate + { + GUID wic; + DXGI_FORMAT format; + }; -static WICTranslate g_WICFormats[] = -{ - { GUID_WICPixelFormat128bppRGBAFloat, DXGI_FORMAT_R32G32B32A32_FLOAT }, + WICTranslate g_WICFormats[] = + { + { GUID_WICPixelFormat128bppRGBAFloat, DXGI_FORMAT_R32G32B32A32_FLOAT }, - { GUID_WICPixelFormat64bppRGBAHalf, DXGI_FORMAT_R16G16B16A16_FLOAT }, - { GUID_WICPixelFormat64bppRGBA, DXGI_FORMAT_R16G16B16A16_UNORM }, + { GUID_WICPixelFormat64bppRGBAHalf, DXGI_FORMAT_R16G16B16A16_FLOAT }, + { GUID_WICPixelFormat64bppRGBA, DXGI_FORMAT_R16G16B16A16_UNORM }, - { GUID_WICPixelFormat32bppRGBA, DXGI_FORMAT_R8G8B8A8_UNORM }, - { GUID_WICPixelFormat32bppBGRA, DXGI_FORMAT_B8G8R8A8_UNORM }, // DXGI 1.1 - { GUID_WICPixelFormat32bppBGR, DXGI_FORMAT_B8G8R8X8_UNORM }, // DXGI 1.1 + { GUID_WICPixelFormat32bppRGBA, DXGI_FORMAT_R8G8B8A8_UNORM }, + { GUID_WICPixelFormat32bppBGRA, DXGI_FORMAT_B8G8R8A8_UNORM }, // DXGI 1.1 + { GUID_WICPixelFormat32bppBGR, DXGI_FORMAT_B8G8R8X8_UNORM }, // DXGI 1.1 - { GUID_WICPixelFormat32bppRGBA1010102XR, DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM }, // DXGI 1.1 - { GUID_WICPixelFormat32bppRGBA1010102, DXGI_FORMAT_R10G10B10A2_UNORM }, + { GUID_WICPixelFormat32bppRGBA1010102XR, DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM }, // DXGI 1.1 + { GUID_WICPixelFormat32bppRGBA1010102, DXGI_FORMAT_R10G10B10A2_UNORM }, - { GUID_WICPixelFormat16bppBGRA5551, DXGI_FORMAT_B5G5R5A1_UNORM }, - { GUID_WICPixelFormat16bppBGR565, DXGI_FORMAT_B5G6R5_UNORM }, + { GUID_WICPixelFormat16bppBGRA5551, DXGI_FORMAT_B5G5R5A1_UNORM }, + { GUID_WICPixelFormat16bppBGR565, DXGI_FORMAT_B5G6R5_UNORM }, - { GUID_WICPixelFormat32bppGrayFloat, DXGI_FORMAT_R32_FLOAT }, - { GUID_WICPixelFormat16bppGrayHalf, DXGI_FORMAT_R16_FLOAT }, - { GUID_WICPixelFormat16bppGray, DXGI_FORMAT_R16_UNORM }, - { GUID_WICPixelFormat8bppGray, DXGI_FORMAT_R8_UNORM }, + { GUID_WICPixelFormat32bppGrayFloat, DXGI_FORMAT_R32_FLOAT }, + { GUID_WICPixelFormat16bppGrayHalf, DXGI_FORMAT_R16_FLOAT }, + { GUID_WICPixelFormat16bppGray, DXGI_FORMAT_R16_UNORM }, + { GUID_WICPixelFormat8bppGray, DXGI_FORMAT_R8_UNORM }, - { GUID_WICPixelFormat8bppAlpha, DXGI_FORMAT_A8_UNORM }, -}; + { GUID_WICPixelFormat8bppAlpha, DXGI_FORMAT_A8_UNORM }, + }; -//------------------------------------------------------------------------------------- -// WIC Pixel Format nearest conversion table -//------------------------------------------------------------------------------------- + //------------------------------------------------------------------------------------- + // WIC Pixel Format nearest conversion table + //------------------------------------------------------------------------------------- + struct WICConvert + { + GUID source; + GUID target; + }; -struct WICConvert -{ - GUID source; - GUID target; -}; + WICConvert g_WICConvert[] = + { + // Note target GUID in this conversion table must be one of those directly supported formats (above). -static WICConvert g_WICConvert[] = -{ - // Note target GUID in this conversion table must be one of those directly supported formats (above). + { GUID_WICPixelFormatBlackWhite, GUID_WICPixelFormat8bppGray }, // DXGI_FORMAT_R8_UNORM - { GUID_WICPixelFormatBlackWhite, GUID_WICPixelFormat8bppGray }, // DXGI_FORMAT_R8_UNORM + { GUID_WICPixelFormat1bppIndexed, GUID_WICPixelFormat32bppRGBA }, // DXGI_FORMAT_R8G8B8A8_UNORM + { GUID_WICPixelFormat2bppIndexed, GUID_WICPixelFormat32bppRGBA }, // DXGI_FORMAT_R8G8B8A8_UNORM + { GUID_WICPixelFormat4bppIndexed, GUID_WICPixelFormat32bppRGBA }, // DXGI_FORMAT_R8G8B8A8_UNORM + { GUID_WICPixelFormat8bppIndexed, GUID_WICPixelFormat32bppRGBA }, // DXGI_FORMAT_R8G8B8A8_UNORM - { GUID_WICPixelFormat1bppIndexed, GUID_WICPixelFormat32bppRGBA }, // DXGI_FORMAT_R8G8B8A8_UNORM - { GUID_WICPixelFormat2bppIndexed, GUID_WICPixelFormat32bppRGBA }, // DXGI_FORMAT_R8G8B8A8_UNORM - { GUID_WICPixelFormat4bppIndexed, GUID_WICPixelFormat32bppRGBA }, // DXGI_FORMAT_R8G8B8A8_UNORM - { GUID_WICPixelFormat8bppIndexed, GUID_WICPixelFormat32bppRGBA }, // DXGI_FORMAT_R8G8B8A8_UNORM + { GUID_WICPixelFormat2bppGray, GUID_WICPixelFormat8bppGray }, // DXGI_FORMAT_R8_UNORM + { GUID_WICPixelFormat4bppGray, GUID_WICPixelFormat8bppGray }, // DXGI_FORMAT_R8_UNORM - { GUID_WICPixelFormat2bppGray, GUID_WICPixelFormat8bppGray }, // DXGI_FORMAT_R8_UNORM - { GUID_WICPixelFormat4bppGray, GUID_WICPixelFormat8bppGray }, // DXGI_FORMAT_R8_UNORM + { GUID_WICPixelFormat16bppGrayFixedPoint, GUID_WICPixelFormat16bppGrayHalf }, // DXGI_FORMAT_R16_FLOAT + { GUID_WICPixelFormat32bppGrayFixedPoint, GUID_WICPixelFormat32bppGrayFloat }, // DXGI_FORMAT_R32_FLOAT - { GUID_WICPixelFormat16bppGrayFixedPoint, GUID_WICPixelFormat16bppGrayHalf }, // DXGI_FORMAT_R16_FLOAT - { GUID_WICPixelFormat32bppGrayFixedPoint, GUID_WICPixelFormat32bppGrayFloat }, // DXGI_FORMAT_R32_FLOAT + { GUID_WICPixelFormat16bppBGR555, GUID_WICPixelFormat16bppBGRA5551 }, // DXGI_FORMAT_B5G5R5A1_UNORM - { GUID_WICPixelFormat16bppBGR555, GUID_WICPixelFormat16bppBGRA5551 }, // DXGI_FORMAT_B5G5R5A1_UNORM + { GUID_WICPixelFormat32bppBGR101010, GUID_WICPixelFormat32bppRGBA1010102 }, // DXGI_FORMAT_R10G10B10A2_UNORM - { GUID_WICPixelFormat32bppBGR101010, GUID_WICPixelFormat32bppRGBA1010102 }, // DXGI_FORMAT_R10G10B10A2_UNORM + { GUID_WICPixelFormat24bppBGR, GUID_WICPixelFormat32bppRGBA }, // DXGI_FORMAT_R8G8B8A8_UNORM + { GUID_WICPixelFormat24bppRGB, GUID_WICPixelFormat32bppRGBA }, // DXGI_FORMAT_R8G8B8A8_UNORM + { GUID_WICPixelFormat32bppPBGRA, GUID_WICPixelFormat32bppRGBA }, // DXGI_FORMAT_R8G8B8A8_UNORM + { GUID_WICPixelFormat32bppPRGBA, GUID_WICPixelFormat32bppRGBA }, // DXGI_FORMAT_R8G8B8A8_UNORM - { GUID_WICPixelFormat24bppBGR, GUID_WICPixelFormat32bppRGBA }, // DXGI_FORMAT_R8G8B8A8_UNORM - { GUID_WICPixelFormat24bppRGB, GUID_WICPixelFormat32bppRGBA }, // DXGI_FORMAT_R8G8B8A8_UNORM - { GUID_WICPixelFormat32bppPBGRA, GUID_WICPixelFormat32bppRGBA }, // DXGI_FORMAT_R8G8B8A8_UNORM - { GUID_WICPixelFormat32bppPRGBA, GUID_WICPixelFormat32bppRGBA }, // DXGI_FORMAT_R8G8B8A8_UNORM + { GUID_WICPixelFormat48bppRGB, GUID_WICPixelFormat64bppRGBA }, // DXGI_FORMAT_R16G16B16A16_UNORM + { GUID_WICPixelFormat48bppBGR, GUID_WICPixelFormat64bppRGBA }, // DXGI_FORMAT_R16G16B16A16_UNORM + { GUID_WICPixelFormat64bppBGRA, GUID_WICPixelFormat64bppRGBA }, // DXGI_FORMAT_R16G16B16A16_UNORM + { GUID_WICPixelFormat64bppPRGBA, GUID_WICPixelFormat64bppRGBA }, // DXGI_FORMAT_R16G16B16A16_UNORM + { GUID_WICPixelFormat64bppPBGRA, GUID_WICPixelFormat64bppRGBA }, // DXGI_FORMAT_R16G16B16A16_UNORM - { GUID_WICPixelFormat48bppRGB, GUID_WICPixelFormat64bppRGBA }, // DXGI_FORMAT_R16G16B16A16_UNORM - { GUID_WICPixelFormat48bppBGR, GUID_WICPixelFormat64bppRGBA }, // DXGI_FORMAT_R16G16B16A16_UNORM - { GUID_WICPixelFormat64bppBGRA, GUID_WICPixelFormat64bppRGBA }, // DXGI_FORMAT_R16G16B16A16_UNORM - { GUID_WICPixelFormat64bppPRGBA, GUID_WICPixelFormat64bppRGBA }, // DXGI_FORMAT_R16G16B16A16_UNORM - { GUID_WICPixelFormat64bppPBGRA, GUID_WICPixelFormat64bppRGBA }, // DXGI_FORMAT_R16G16B16A16_UNORM + { GUID_WICPixelFormat48bppRGBFixedPoint, GUID_WICPixelFormat64bppRGBAHalf }, // DXGI_FORMAT_R16G16B16A16_FLOAT + { GUID_WICPixelFormat48bppBGRFixedPoint, GUID_WICPixelFormat64bppRGBAHalf }, // DXGI_FORMAT_R16G16B16A16_FLOAT + { GUID_WICPixelFormat64bppRGBAFixedPoint, GUID_WICPixelFormat64bppRGBAHalf }, // DXGI_FORMAT_R16G16B16A16_FLOAT + { GUID_WICPixelFormat64bppBGRAFixedPoint, GUID_WICPixelFormat64bppRGBAHalf }, // DXGI_FORMAT_R16G16B16A16_FLOAT + { GUID_WICPixelFormat64bppRGBFixedPoint, GUID_WICPixelFormat64bppRGBAHalf }, // DXGI_FORMAT_R16G16B16A16_FLOAT + { GUID_WICPixelFormat64bppRGBHalf, GUID_WICPixelFormat64bppRGBAHalf }, // DXGI_FORMAT_R16G16B16A16_FLOAT + { GUID_WICPixelFormat48bppRGBHalf, GUID_WICPixelFormat64bppRGBAHalf }, // DXGI_FORMAT_R16G16B16A16_FLOAT - { GUID_WICPixelFormat48bppRGBFixedPoint, GUID_WICPixelFormat64bppRGBAHalf }, // DXGI_FORMAT_R16G16B16A16_FLOAT - { GUID_WICPixelFormat48bppBGRFixedPoint, GUID_WICPixelFormat64bppRGBAHalf }, // DXGI_FORMAT_R16G16B16A16_FLOAT - { GUID_WICPixelFormat64bppRGBAFixedPoint, GUID_WICPixelFormat64bppRGBAHalf }, // DXGI_FORMAT_R16G16B16A16_FLOAT - { GUID_WICPixelFormat64bppBGRAFixedPoint, GUID_WICPixelFormat64bppRGBAHalf }, // DXGI_FORMAT_R16G16B16A16_FLOAT - { GUID_WICPixelFormat64bppRGBFixedPoint, GUID_WICPixelFormat64bppRGBAHalf }, // DXGI_FORMAT_R16G16B16A16_FLOAT - { GUID_WICPixelFormat64bppRGBHalf, GUID_WICPixelFormat64bppRGBAHalf }, // DXGI_FORMAT_R16G16B16A16_FLOAT - { GUID_WICPixelFormat48bppRGBHalf, GUID_WICPixelFormat64bppRGBAHalf }, // DXGI_FORMAT_R16G16B16A16_FLOAT + { GUID_WICPixelFormat128bppPRGBAFloat, GUID_WICPixelFormat128bppRGBAFloat }, // DXGI_FORMAT_R32G32B32A32_FLOAT + { GUID_WICPixelFormat128bppRGBFloat, GUID_WICPixelFormat128bppRGBAFloat }, // DXGI_FORMAT_R32G32B32A32_FLOAT + { GUID_WICPixelFormat128bppRGBAFixedPoint, GUID_WICPixelFormat128bppRGBAFloat }, // DXGI_FORMAT_R32G32B32A32_FLOAT + { GUID_WICPixelFormat128bppRGBFixedPoint, GUID_WICPixelFormat128bppRGBAFloat }, // DXGI_FORMAT_R32G32B32A32_FLOAT + { GUID_WICPixelFormat32bppRGBE, GUID_WICPixelFormat128bppRGBAFloat }, // DXGI_FORMAT_R32G32B32A32_FLOAT - { GUID_WICPixelFormat128bppPRGBAFloat, GUID_WICPixelFormat128bppRGBAFloat }, // DXGI_FORMAT_R32G32B32A32_FLOAT - { GUID_WICPixelFormat128bppRGBFloat, GUID_WICPixelFormat128bppRGBAFloat }, // DXGI_FORMAT_R32G32B32A32_FLOAT - { GUID_WICPixelFormat128bppRGBAFixedPoint, GUID_WICPixelFormat128bppRGBAFloat }, // DXGI_FORMAT_R32G32B32A32_FLOAT - { GUID_WICPixelFormat128bppRGBFixedPoint, GUID_WICPixelFormat128bppRGBAFloat }, // DXGI_FORMAT_R32G32B32A32_FLOAT - { GUID_WICPixelFormat32bppRGBE, GUID_WICPixelFormat128bppRGBAFloat }, // DXGI_FORMAT_R32G32B32A32_FLOAT + { GUID_WICPixelFormat32bppCMYK, GUID_WICPixelFormat32bppRGBA }, // DXGI_FORMAT_R8G8B8A8_UNORM + { GUID_WICPixelFormat64bppCMYK, GUID_WICPixelFormat64bppRGBA }, // DXGI_FORMAT_R16G16B16A16_UNORM + { GUID_WICPixelFormat40bppCMYKAlpha, GUID_WICPixelFormat64bppRGBA }, // DXGI_FORMAT_R16G16B16A16_UNORM + { GUID_WICPixelFormat80bppCMYKAlpha, GUID_WICPixelFormat64bppRGBA }, // DXGI_FORMAT_R16G16B16A16_UNORM - { GUID_WICPixelFormat32bppCMYK, GUID_WICPixelFormat32bppRGBA }, // DXGI_FORMAT_R8G8B8A8_UNORM - { GUID_WICPixelFormat64bppCMYK, GUID_WICPixelFormat64bppRGBA }, // DXGI_FORMAT_R16G16B16A16_UNORM - { GUID_WICPixelFormat40bppCMYKAlpha, GUID_WICPixelFormat64bppRGBA }, // DXGI_FORMAT_R16G16B16A16_UNORM - { GUID_WICPixelFormat80bppCMYKAlpha, GUID_WICPixelFormat64bppRGBA }, // DXGI_FORMAT_R16G16B16A16_UNORM + #if (_WIN32_WINNT >= _WIN32_WINNT_WIN8) || defined(_WIN7_PLATFORM_UPDATE) + { GUID_WICPixelFormat32bppRGB, GUID_WICPixelFormat32bppRGBA }, // DXGI_FORMAT_R8G8B8A8_UNORM + { GUID_WICPixelFormat64bppRGB, GUID_WICPixelFormat64bppRGBA }, // DXGI_FORMAT_R16G16B16A16_UNORM + { GUID_WICPixelFormat64bppPRGBAHalf, GUID_WICPixelFormat64bppRGBAHalf }, // DXGI_FORMAT_R16G16B16A16_FLOAT + #endif -#if (_WIN32_WINNT >= _WIN32_WINNT_WIN8) || defined(_WIN7_PLATFORM_UPDATE) - { GUID_WICPixelFormat32bppRGB, GUID_WICPixelFormat32bppRGBA }, // DXGI_FORMAT_R8G8B8A8_UNORM - { GUID_WICPixelFormat64bppRGB, GUID_WICPixelFormat64bppRGBA }, // DXGI_FORMAT_R16G16B16A16_UNORM - { GUID_WICPixelFormat64bppPRGBAHalf, GUID_WICPixelFormat64bppRGBAHalf }, // DXGI_FORMAT_R16G16B16A16_FLOAT -#endif + // We don't support n-channel formats + }; - // We don't support n-channel formats -}; - -static bool g_WIC2 = false; + bool g_WIC2 = false; +} //-------------------------------------------------------------------------------------- namespace DirectX { -bool _IsWIC2() -{ - return g_WIC2; -} + bool _IsWIC2() + { + return g_WIC2; + } -IWICImagingFactory* _GetWIC() -{ - static IWICImagingFactory* s_Factory = nullptr; + IWICImagingFactory* _GetWIC() + { + static IWICImagingFactory* s_Factory = nullptr; - if ( s_Factory ) - return s_Factory; + if (s_Factory) + return s_Factory; #if(_WIN32_WINNT >= _WIN32_WINNT_WIN8) || defined(_WIN7_PLATFORM_UPDATE) - HRESULT hr = CoCreateInstance( - CLSID_WICImagingFactory2, - nullptr, - CLSCTX_INPROC_SERVER, - __uuidof(IWICImagingFactory2), - (LPVOID*)&s_Factory + HRESULT hr = CoCreateInstance( + CLSID_WICImagingFactory2, + nullptr, + CLSCTX_INPROC_SERVER, + __uuidof(IWICImagingFactory2), + (LPVOID*)&s_Factory ); - if ( SUCCEEDED(hr) ) - { - // WIC2 is available on Windows 8 and Windows 7 SP1 with KB 2670838 installed - g_WIC2 = true; - } - else - { - hr = CoCreateInstance( - CLSID_WICImagingFactory1, + if (SUCCEEDED(hr)) + { + // WIC2 is available on Windows 8 and Windows 7 SP1 with KB 2670838 installed + g_WIC2 = true; + } + else + { + hr = CoCreateInstance( + CLSID_WICImagingFactory1, + nullptr, + CLSCTX_INPROC_SERVER, + IID_PPV_ARGS(&s_Factory) + ); + + if (FAILED(hr)) + { + s_Factory = nullptr; + return nullptr; + } + } +#else + HRESULT hr = CoCreateInstance( + CLSID_WICImagingFactory, nullptr, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&s_Factory) - ); + ); - if ( FAILED(hr) ) + if (FAILED(hr)) { s_Factory = nullptr; return nullptr; } - } -#else - HRESULT hr = CoCreateInstance( - CLSID_WICImagingFactory, - nullptr, - CLSCTX_INPROC_SERVER, - IID_PPV_ARGS(&s_Factory) - ); - - if ( FAILED(hr) ) - { - s_Factory = nullptr; - return nullptr; - } #endif - return s_Factory; -} + return s_Factory; + } } // namespace DirectX -//--------------------------------------------------------------------------------- -static DXGI_FORMAT _WICToDXGI( const GUID& guid ) +namespace { - for( size_t i=0; i < _countof(g_WICFormats); ++i ) + //--------------------------------------------------------------------------------- + DXGI_FORMAT _WICToDXGI(const GUID& guid) { - if ( memcmp( &g_WICFormats[i].wic, &guid, sizeof(GUID) ) == 0 ) - return g_WICFormats[i].format; - } + for (size_t i = 0; i < _countof(g_WICFormats); ++i) + { + if (memcmp(&g_WICFormats[i].wic, &guid, sizeof(GUID)) == 0) + return g_WICFormats[i].format; + } #if (_WIN32_WINNT >= _WIN32_WINNT_WIN8) || defined(_WIN7_PLATFORM_UPDATE) - if ( g_WIC2 ) - { - if ( memcmp( &GUID_WICPixelFormat96bppRGBFloat, &guid, sizeof(GUID) ) == 0 ) - return DXGI_FORMAT_R32G32B32_FLOAT; - } + if (g_WIC2) + { + if (memcmp(&GUID_WICPixelFormat96bppRGBFloat, &guid, sizeof(GUID)) == 0) + return DXGI_FORMAT_R32G32B32_FLOAT; + } #endif - return DXGI_FORMAT_UNKNOWN; -} + return DXGI_FORMAT_UNKNOWN; + } -//--------------------------------------------------------------------------------- -static size_t _WICBitsPerPixel( REFGUID targetGuid ) -{ - IWICImagingFactory* pWIC = _GetWIC(); - if ( !pWIC ) - return 0; - - ComPtr cinfo; - if ( FAILED( pWIC->CreateComponentInfo( targetGuid, cinfo.GetAddressOf() ) ) ) - return 0; + //--------------------------------------------------------------------------------- + size_t _WICBitsPerPixel(REFGUID targetGuid) + { + auto pWIC = _GetWIC(); + if (!pWIC) + return 0; - WICComponentType type; - if ( FAILED( cinfo->GetComponentType( &type ) ) ) - return 0; + ComPtr cinfo; + if (FAILED(pWIC->CreateComponentInfo(targetGuid, cinfo.GetAddressOf()))) + return 0; - if ( type != WICPixelFormat ) - return 0; + WICComponentType type; + if (FAILED(cinfo->GetComponentType(&type))) + return 0; - ComPtr pfinfo; - if ( FAILED( cinfo.As( &pfinfo ) ) ) - return 0; + if (type != WICPixelFormat) + return 0; - UINT bpp; - if ( FAILED( pfinfo->GetBitsPerPixel( &bpp ) ) ) - return 0; + ComPtr pfinfo; + if (FAILED(cinfo.As(&pfinfo))) + return 0; - return bpp; -} + UINT bpp; + if (FAILED(pfinfo->GetBitsPerPixel(&bpp))) + return 0; + return bpp; + } -//-------------------------------------------------------------------------------------- -static DXGI_FORMAT MakeSRGB( _In_ DXGI_FORMAT format ) -{ - switch( format ) + //-------------------------------------------------------------------------------------- + DXGI_FORMAT MakeSRGB(_In_ DXGI_FORMAT format) { - case DXGI_FORMAT_R8G8B8A8_UNORM: - return DXGI_FORMAT_R8G8B8A8_UNORM_SRGB; + switch (format) + { + case DXGI_FORMAT_R8G8B8A8_UNORM: + return DXGI_FORMAT_R8G8B8A8_UNORM_SRGB; - case DXGI_FORMAT_BC1_UNORM: - return DXGI_FORMAT_BC1_UNORM_SRGB; + case DXGI_FORMAT_BC1_UNORM: + return DXGI_FORMAT_BC1_UNORM_SRGB; - case DXGI_FORMAT_BC2_UNORM: - return DXGI_FORMAT_BC2_UNORM_SRGB; + case DXGI_FORMAT_BC2_UNORM: + return DXGI_FORMAT_BC2_UNORM_SRGB; - case DXGI_FORMAT_BC3_UNORM: - return DXGI_FORMAT_BC3_UNORM_SRGB; + case DXGI_FORMAT_BC3_UNORM: + return DXGI_FORMAT_BC3_UNORM_SRGB; - case DXGI_FORMAT_B8G8R8A8_UNORM: - return DXGI_FORMAT_B8G8R8A8_UNORM_SRGB; + case DXGI_FORMAT_B8G8R8A8_UNORM: + return DXGI_FORMAT_B8G8R8A8_UNORM_SRGB; - case DXGI_FORMAT_B8G8R8X8_UNORM: - return DXGI_FORMAT_B8G8R8X8_UNORM_SRGB; + case DXGI_FORMAT_B8G8R8X8_UNORM: + return DXGI_FORMAT_B8G8R8X8_UNORM_SRGB; - case DXGI_FORMAT_BC7_UNORM: - return DXGI_FORMAT_BC7_UNORM_SRGB; + case DXGI_FORMAT_BC7_UNORM: + return DXGI_FORMAT_BC7_UNORM_SRGB; - default: - return format; + default: + return format; + } } -} - -//--------------------------------------------------------------------------------- -static HRESULT CreateTextureFromWIC( _In_ ID3D11Device* d3dDevice, - _In_opt_ ID3D11DeviceContext* d3dContext, + //--------------------------------------------------------------------------------- + HRESULT CreateTextureFromWIC(_In_ ID3D11Device* d3dDevice, + _In_opt_ ID3D11DeviceContext* d3dContext, #if defined(_XBOX_ONE) && defined(_TITLE) - _In_opt_ ID3D11DeviceX* d3dDeviceX, - _In_opt_ ID3D11DeviceContextX* d3dContextX, + _In_opt_ ID3D11DeviceX* d3dDeviceX, + _In_opt_ ID3D11DeviceContextX* d3dContextX, #endif - _In_ IWICBitmapFrameDecode *frame, - _In_ size_t maxsize, - _In_ D3D11_USAGE usage, - _In_ unsigned int bindFlags, - _In_ unsigned int cpuAccessFlags, - _In_ unsigned int miscFlags, - _In_ bool forceSRGB, - _Out_opt_ ID3D11Resource** texture, - _Out_opt_ ID3D11ShaderResourceView** textureView ) -{ - UINT width, height; - HRESULT hr = frame->GetSize( &width, &height ); - if ( FAILED(hr) ) - return hr; - - assert( width > 0 && height > 0 ); - - if ( !maxsize ) + _In_ IWICBitmapFrameDecode *frame, + _In_ size_t maxsize, + _In_ D3D11_USAGE usage, + _In_ unsigned int bindFlags, + _In_ unsigned int cpuAccessFlags, + _In_ unsigned int miscFlags, + _In_ bool forceSRGB, + _Outptr_opt_ ID3D11Resource** texture, + _Outptr_opt_ ID3D11ShaderResourceView** textureView) { - // This is a bit conservative because the hardware could support larger textures than - // the Feature Level defined minimums, but doing it this way is much easier and more - // performant for WIC than the 'fail and retry' model used by DDSTextureLoader + UINT width, height; + HRESULT hr = frame->GetSize(&width, &height); + if (FAILED(hr)) + return hr; - switch( d3dDevice->GetFeatureLevel() ) + assert(width > 0 && height > 0); + + if (!maxsize) { + // This is a bit conservative because the hardware could support larger textures than + // the Feature Level defined minimums, but doing it this way is much easier and more + // performant for WIC than the 'fail and retry' model used by DDSTextureLoader + + switch (d3dDevice->GetFeatureLevel()) + { case D3D_FEATURE_LEVEL_9_1: case D3D_FEATURE_LEVEL_9_2: maxsize = 2048 /*D3D_FL9_1_REQ_TEXTURE2D_U_OR_V_DIMENSION*/; @@ -343,375 +345,375 @@ static HRESULT CreateTextureFromWIC( _In_ ID3D11Device* d3dDevice, default: maxsize = D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION; break; + } } - } - assert( maxsize > 0 ); + assert(maxsize > 0); - UINT twidth, theight; - if ( width > maxsize || height > maxsize ) - { - float ar = static_cast(height) / static_cast(width); - if ( width > height ) + UINT twidth, theight; + if (width > maxsize || height > maxsize) { - twidth = static_cast( maxsize ); - theight = static_cast( static_cast(maxsize) * ar ); + float ar = static_cast(height) / static_cast(width); + if (width > height) + { + twidth = static_cast(maxsize); + theight = static_cast(static_cast(maxsize) * ar); + } + else + { + theight = static_cast(maxsize); + twidth = static_cast(static_cast(maxsize) / ar); + } + assert(twidth <= maxsize && theight <= maxsize); } else { - theight = static_cast( maxsize ); - twidth = static_cast( static_cast(maxsize) / ar ); + twidth = width; + theight = height; } - assert( twidth <= maxsize && theight <= maxsize ); - } - else - { - twidth = width; - theight = height; - } - // Determine format - WICPixelFormatGUID pixelFormat; - hr = frame->GetPixelFormat( &pixelFormat ); - if ( FAILED(hr) ) - return hr; + // Determine format + WICPixelFormatGUID pixelFormat; + hr = frame->GetPixelFormat(&pixelFormat); + if (FAILED(hr)) + return hr; - WICPixelFormatGUID convertGUID; - memcpy( &convertGUID, &pixelFormat, sizeof(WICPixelFormatGUID) ); + WICPixelFormatGUID convertGUID; + memcpy(&convertGUID, &pixelFormat, sizeof(WICPixelFormatGUID)); - size_t bpp = 0; + size_t bpp = 0; - DXGI_FORMAT format = _WICToDXGI( pixelFormat ); - if ( format == DXGI_FORMAT_UNKNOWN ) - { - if ( memcmp( &GUID_WICPixelFormat96bppRGBFixedPoint, &pixelFormat, sizeof(WICPixelFormatGUID) ) == 0 ) + DXGI_FORMAT format = _WICToDXGI(pixelFormat); + if (format == DXGI_FORMAT_UNKNOWN) { -#if (_WIN32_WINNT >= _WIN32_WINNT_WIN8) || defined(_WIN7_PLATFORM_UPDATE) - if ( g_WIC2 ) + if (memcmp(&GUID_WICPixelFormat96bppRGBFixedPoint, &pixelFormat, sizeof(WICPixelFormatGUID)) == 0) { - memcpy( &convertGUID, &GUID_WICPixelFormat96bppRGBFloat, sizeof(WICPixelFormatGUID) ); - format = DXGI_FORMAT_R32G32B32_FLOAT; - } - else +#if (_WIN32_WINNT >= _WIN32_WINNT_WIN8) || defined(_WIN7_PLATFORM_UPDATE) + if (g_WIC2) + { + memcpy(&convertGUID, &GUID_WICPixelFormat96bppRGBFloat, sizeof(WICPixelFormatGUID)); + format = DXGI_FORMAT_R32G32B32_FLOAT; + } + else #endif - { - memcpy( &convertGUID, &GUID_WICPixelFormat128bppRGBAFloat, sizeof(WICPixelFormatGUID) ); - format = DXGI_FORMAT_R32G32B32A32_FLOAT; + { + memcpy(&convertGUID, &GUID_WICPixelFormat128bppRGBAFloat, sizeof(WICPixelFormatGUID)); + format = DXGI_FORMAT_R32G32B32A32_FLOAT; + } } - } - else - { - for( size_t i=0; i < _countof(g_WICConvert); ++i ) + else { - if ( memcmp( &g_WICConvert[i].source, &pixelFormat, sizeof(WICPixelFormatGUID) ) == 0 ) + for (size_t i = 0; i < _countof(g_WICConvert); ++i) { - memcpy( &convertGUID, &g_WICConvert[i].target, sizeof(WICPixelFormatGUID) ); + if (memcmp(&g_WICConvert[i].source, &pixelFormat, sizeof(WICPixelFormatGUID)) == 0) + { + memcpy(&convertGUID, &g_WICConvert[i].target, sizeof(WICPixelFormatGUID)); - format = _WICToDXGI( g_WICConvert[i].target ); - assert( format != DXGI_FORMAT_UNKNOWN ); - bpp = _WICBitsPerPixel( convertGUID ); - break; + format = _WICToDXGI(g_WICConvert[i].target); + assert(format != DXGI_FORMAT_UNKNOWN); + bpp = _WICBitsPerPixel(convertGUID); + break; + } } } - } - if ( format == DXGI_FORMAT_UNKNOWN ) - return HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED ); - } - else - { - bpp = _WICBitsPerPixel( pixelFormat ); - } + if (format == DXGI_FORMAT_UNKNOWN) + return HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED); + } + else + { + bpp = _WICBitsPerPixel(pixelFormat); + } #if (_WIN32_WINNT >= _WIN32_WINNT_WIN8) || defined(_WIN7_PLATFORM_UPDATE) - if ( (format == DXGI_FORMAT_R32G32B32_FLOAT) && d3dContext != 0 && textureView != 0 ) - { - // Special case test for optional device support for autogen mipchains for R32G32B32_FLOAT - UINT fmtSupport = 0; - hr = d3dDevice->CheckFormatSupport( DXGI_FORMAT_R32G32B32_FLOAT, &fmtSupport ); - if ( FAILED(hr) || !( fmtSupport & D3D11_FORMAT_SUPPORT_MIP_AUTOGEN ) ) + if ((format == DXGI_FORMAT_R32G32B32_FLOAT) && d3dContext != 0 && textureView != 0) { - // Use R32G32B32A32_FLOAT instead which is required for Feature Level 10.0 and up - memcpy( &convertGUID, &GUID_WICPixelFormat128bppRGBAFloat, sizeof(WICPixelFormatGUID) ); - format = DXGI_FORMAT_R32G32B32A32_FLOAT; - bpp = 128; + // Special case test for optional device support for autogen mipchains for R32G32B32_FLOAT + UINT fmtSupport = 0; + hr = d3dDevice->CheckFormatSupport(DXGI_FORMAT_R32G32B32_FLOAT, &fmtSupport); + if (FAILED(hr) || !(fmtSupport & D3D11_FORMAT_SUPPORT_MIP_AUTOGEN)) + { + // Use R32G32B32A32_FLOAT instead which is required for Feature Level 10.0 and up + memcpy(&convertGUID, &GUID_WICPixelFormat128bppRGBAFloat, sizeof(WICPixelFormatGUID)); + format = DXGI_FORMAT_R32G32B32A32_FLOAT; + bpp = 128; + } } - } #endif - if ( !bpp ) - return E_FAIL; + if (!bpp) + return E_FAIL; - // Handle sRGB formats - if ( forceSRGB ) - { - format = MakeSRGB( format ); - } - else - { - ComPtr metareader; - if ( SUCCEEDED( frame->GetMetadataQueryReader( metareader.GetAddressOf() ) ) ) + // Handle sRGB formats + if (forceSRGB) + { + format = MakeSRGB(format); + } + else { - GUID containerFormat; - if ( SUCCEEDED( metareader->GetContainerFormat( &containerFormat ) ) ) + ComPtr metareader; + if (SUCCEEDED(frame->GetMetadataQueryReader(metareader.GetAddressOf()))) { - // Check for sRGB colorspace metadata - bool sRGB = false; + GUID containerFormat; + if (SUCCEEDED(metareader->GetContainerFormat(&containerFormat))) + { + // Check for sRGB colorspace metadata + bool sRGB = false; - PROPVARIANT value; - PropVariantInit( &value ); + PROPVARIANT value; + PropVariantInit(&value); - if ( memcmp( &containerFormat, &GUID_ContainerFormatPng, sizeof(GUID) ) == 0 ) - { - // Check for sRGB chunk - if ( SUCCEEDED( metareader->GetMetadataByName( L"/sRGB/RenderingIntent", &value ) ) && value.vt == VT_UI1 ) + if (memcmp(&containerFormat, &GUID_ContainerFormatPng, sizeof(GUID)) == 0) { - sRGB = true; + // Check for sRGB chunk + if (SUCCEEDED(metareader->GetMetadataByName(L"/sRGB/RenderingIntent", &value)) && value.vt == VT_UI1) + { + sRGB = true; + } } - } #if defined(_XBOX_ONE) && defined(_TITLE) - else if ( memcmp( &containerFormat, &GUID_ContainerFormatJpeg, sizeof(GUID) ) == 0 ) - { - if ( SUCCEEDED( metareader->GetMetadataByName( L"/app1/ifd/exif/{ushort=40961}", &value ) ) && value.vt == VT_UI2 && value.uiVal == 1 ) + else if (memcmp(&containerFormat, &GUID_ContainerFormatJpeg, sizeof(GUID)) == 0) { - sRGB = true; + if (SUCCEEDED(metareader->GetMetadataByName(L"/app1/ifd/exif/{ushort=40961}", &value)) && value.vt == VT_UI2 && value.uiVal == 1) + { + sRGB = true; + } } - } - else if ( memcmp( &containerFormat, &GUID_ContainerFormatTiff, sizeof(GUID) ) == 0 ) - { - if ( SUCCEEDED( metareader->GetMetadataByName( L"/ifd/exif/{ushort=40961}", &value ) ) && value.vt == VT_UI2 && value.uiVal == 1 ) + else if (memcmp(&containerFormat, &GUID_ContainerFormatTiff, sizeof(GUID)) == 0) { - sRGB = true; + if (SUCCEEDED(metareader->GetMetadataByName(L"/ifd/exif/{ushort=40961}", &value)) && value.vt == VT_UI2 && value.uiVal == 1) + { + sRGB = true; + } } - } #else - else if ( SUCCEEDED( metareader->GetMetadataByName( L"System.Image.ColorSpace", &value ) ) && value.vt == VT_UI2 && value.uiVal == 1 ) - { - sRGB = true; - } + else if (SUCCEEDED(metareader->GetMetadataByName(L"System.Image.ColorSpace", &value)) && value.vt == VT_UI2 && value.uiVal == 1) + { + sRGB = true; + } #endif - PropVariantClear( &value ); + PropVariantClear(&value); - if ( sRGB ) - format = MakeSRGB( format ); + if (sRGB) + format = MakeSRGB(format); + } } } - } - - // Verify our target format is supported by the current device - // (handles WDDM 1.0 or WDDM 1.1 device driver cases as well as DirectX 11.0 Runtime without 16bpp format support) - UINT support = 0; - hr = d3dDevice->CheckFormatSupport( format, &support ); - if ( FAILED(hr) || !(support & D3D11_FORMAT_SUPPORT_TEXTURE2D) ) - { - // Fallback to RGBA 32-bit format which is supported by all devices - memcpy( &convertGUID, &GUID_WICPixelFormat32bppRGBA, sizeof(WICPixelFormatGUID) ); - format = DXGI_FORMAT_R8G8B8A8_UNORM; - bpp = 32; - } - // Allocate temporary memory for image - size_t rowPitch = ( twidth * bpp + 7 ) / 8; - size_t imageSize = rowPitch * theight; + // Verify our target format is supported by the current device + // (handles WDDM 1.0 or WDDM 1.1 device driver cases as well as DirectX 11.0 Runtime without 16bpp format support) + UINT support = 0; + hr = d3dDevice->CheckFormatSupport(format, &support); + if (FAILED(hr) || !(support & D3D11_FORMAT_SUPPORT_TEXTURE2D)) + { + // Fallback to RGBA 32-bit format which is supported by all devices + memcpy(&convertGUID, &GUID_WICPixelFormat32bppRGBA, sizeof(WICPixelFormatGUID)); + format = DXGI_FORMAT_R8G8B8A8_UNORM; + bpp = 32; + } - std::unique_ptr temp( new (std::nothrow) uint8_t[ imageSize ] ); - if (!temp) - return E_OUTOFMEMORY; + // Allocate temporary memory for image + size_t rowPitch = (twidth * bpp + 7) / 8; + size_t imageSize = rowPitch * theight; - // Load image data - if ( memcmp( &convertGUID, &pixelFormat, sizeof(GUID) ) == 0 - && twidth == width - && theight == height ) - { - // No format conversion or resize needed - hr = frame->CopyPixels( 0, static_cast( rowPitch ), static_cast( imageSize ), temp.get() ); - if ( FAILED(hr) ) - return hr; - } - else if ( twidth != width || theight != height ) - { - // Resize - IWICImagingFactory* pWIC = _GetWIC(); - if ( !pWIC ) - return E_NOINTERFACE; - - ComPtr scaler; - hr = pWIC->CreateBitmapScaler( scaler.GetAddressOf() ); - if ( FAILED(hr) ) - return hr; + std::unique_ptr temp(new (std::nothrow) uint8_t[imageSize]); + if (!temp) + return E_OUTOFMEMORY; - hr = scaler->Initialize( frame, twidth, theight, WICBitmapInterpolationModeFant ); - if ( FAILED(hr) ) - return hr; + // Load image data + if (memcmp(&convertGUID, &pixelFormat, sizeof(GUID)) == 0 + && twidth == width + && theight == height) + { + // No format conversion or resize needed + hr = frame->CopyPixels(0, static_cast(rowPitch), static_cast(imageSize), temp.get()); + if (FAILED(hr)) + return hr; + } + else if (twidth != width || theight != height) + { + // Resize + auto pWIC = _GetWIC(); + if (!pWIC) + return E_NOINTERFACE; + + ComPtr scaler; + hr = pWIC->CreateBitmapScaler(scaler.GetAddressOf()); + if (FAILED(hr)) + return hr; - WICPixelFormatGUID pfScaler; - hr = scaler->GetPixelFormat( &pfScaler ); - if ( FAILED(hr) ) - return hr; + hr = scaler->Initialize(frame, twidth, theight, WICBitmapInterpolationModeFant); + if (FAILED(hr)) + return hr; - if ( memcmp( &convertGUID, &pfScaler, sizeof(GUID) ) == 0 ) - { - // No format conversion needed - hr = scaler->CopyPixels( 0, static_cast( rowPitch ), static_cast( imageSize ), temp.get() ); - if ( FAILED(hr) ) + WICPixelFormatGUID pfScaler; + hr = scaler->GetPixelFormat(&pfScaler); + if (FAILED(hr)) return hr; + + if (memcmp(&convertGUID, &pfScaler, sizeof(GUID)) == 0) + { + // No format conversion needed + hr = scaler->CopyPixels(0, static_cast(rowPitch), static_cast(imageSize), temp.get()); + if (FAILED(hr)) + return hr; + } + else + { + ComPtr FC; + hr = pWIC->CreateFormatConverter(FC.GetAddressOf()); + if (FAILED(hr)) + return hr; + + BOOL canConvert = FALSE; + hr = FC->CanConvert(pfScaler, convertGUID, &canConvert); + if (FAILED(hr) || !canConvert) + { + return E_UNEXPECTED; + } + + hr = FC->Initialize(scaler.Get(), convertGUID, WICBitmapDitherTypeErrorDiffusion, 0, 0, WICBitmapPaletteTypeCustom); + if (FAILED(hr)) + return hr; + + hr = FC->CopyPixels(0, static_cast(rowPitch), static_cast(imageSize), temp.get()); + if (FAILED(hr)) + return hr; + } } else { + // Format conversion but no resize + auto pWIC = _GetWIC(); + if (!pWIC) + return E_NOINTERFACE; + ComPtr FC; - hr = pWIC->CreateFormatConverter( FC.GetAddressOf() ); - if ( FAILED(hr) ) + hr = pWIC->CreateFormatConverter(FC.GetAddressOf()); + if (FAILED(hr)) return hr; BOOL canConvert = FALSE; - hr = FC->CanConvert( pfScaler, convertGUID, &canConvert ); - if ( FAILED(hr) || !canConvert ) + hr = FC->CanConvert(pixelFormat, convertGUID, &canConvert); + if (FAILED(hr) || !canConvert) { return E_UNEXPECTED; } - hr = FC->Initialize( scaler.Get(), convertGUID, WICBitmapDitherTypeErrorDiffusion, 0, 0, WICBitmapPaletteTypeCustom ); - if ( FAILED(hr) ) + hr = FC->Initialize(frame, convertGUID, WICBitmapDitherTypeErrorDiffusion, 0, 0, WICBitmapPaletteTypeCustom); + if (FAILED(hr)) return hr; - hr = FC->CopyPixels( 0, static_cast( rowPitch ), static_cast( imageSize ), temp.get() ); - if ( FAILED(hr) ) + hr = FC->CopyPixels(0, static_cast(rowPitch), static_cast(imageSize), temp.get()); + if (FAILED(hr)) return hr; } - } - else - { - // Format conversion but no resize - IWICImagingFactory* pWIC = _GetWIC(); - if ( !pWIC ) - return E_NOINTERFACE; - - ComPtr FC; - hr = pWIC->CreateFormatConverter( FC.GetAddressOf() ); - if ( FAILED(hr) ) - return hr; - BOOL canConvert = FALSE; - hr = FC->CanConvert( pixelFormat, convertGUID, &canConvert ); - if ( FAILED(hr) || !canConvert ) + // See if format is supported for auto-gen mipmaps (varies by feature level) + bool autogen = false; + if (d3dContext != 0 && textureView != 0) // Must have context and shader-view to auto generate mipmaps { - return E_UNEXPECTED; - } - - hr = FC->Initialize( frame, convertGUID, WICBitmapDitherTypeErrorDiffusion, 0, 0, WICBitmapPaletteTypeCustom ); - if ( FAILED(hr) ) - return hr; - - hr = FC->CopyPixels( 0, static_cast( rowPitch ), static_cast( imageSize ), temp.get() ); - if ( FAILED(hr) ) - return hr; - } - - // See if format is supported for auto-gen mipmaps (varies by feature level) - bool autogen = false; - if ( d3dContext != 0 && textureView != 0 ) // Must have context and shader-view to auto generate mipmaps - { - UINT fmtSupport = 0; - hr = d3dDevice->CheckFormatSupport( format, &fmtSupport ); - if ( SUCCEEDED(hr) && ( fmtSupport & D3D11_FORMAT_SUPPORT_MIP_AUTOGEN ) ) - { - autogen = true; + UINT fmtSupport = 0; + hr = d3dDevice->CheckFormatSupport(format, &fmtSupport); + if (SUCCEEDED(hr) && (fmtSupport & D3D11_FORMAT_SUPPORT_MIP_AUTOGEN)) + { + autogen = true; #if defined(_XBOX_ONE) && defined(_TITLE) - if ( !d3dDeviceX || !d3dContextX ) - return E_INVALIDARG; + if (!d3dDeviceX || !d3dContextX) + return E_INVALIDARG; #endif + } } - } - // Create texture - D3D11_TEXTURE2D_DESC desc; - desc.Width = twidth; - desc.Height = theight; - desc.MipLevels = (autogen) ? 0 : 1; - desc.ArraySize = 1; - desc.Format = format; - desc.SampleDesc.Count = 1; - desc.SampleDesc.Quality = 0; - desc.Usage = usage; - desc.CPUAccessFlags = cpuAccessFlags; - - if ( autogen ) - { - desc.BindFlags = bindFlags | D3D11_BIND_RENDER_TARGET; - desc.MiscFlags = miscFlags | D3D11_RESOURCE_MISC_GENERATE_MIPS; - } - else - { - desc.BindFlags = bindFlags; - desc.MiscFlags = miscFlags; - } + // Create texture + D3D11_TEXTURE2D_DESC desc; + desc.Width = twidth; + desc.Height = theight; + desc.MipLevels = (autogen) ? 0 : 1; + desc.ArraySize = 1; + desc.Format = format; + desc.SampleDesc.Count = 1; + desc.SampleDesc.Quality = 0; + desc.Usage = usage; + desc.CPUAccessFlags = cpuAccessFlags; + + if (autogen) + { + desc.BindFlags = bindFlags | D3D11_BIND_RENDER_TARGET; + desc.MiscFlags = miscFlags | D3D11_RESOURCE_MISC_GENERATE_MIPS; + } + else + { + desc.BindFlags = bindFlags; + desc.MiscFlags = miscFlags; + } - D3D11_SUBRESOURCE_DATA initData; - initData.pSysMem = temp.get(); - initData.SysMemPitch = static_cast( rowPitch ); - initData.SysMemSlicePitch = static_cast( imageSize ); + D3D11_SUBRESOURCE_DATA initData; + initData.pSysMem = temp.get(); + initData.SysMemPitch = static_cast(rowPitch); + initData.SysMemSlicePitch = static_cast(imageSize); - ID3D11Texture2D* tex = nullptr; - hr = d3dDevice->CreateTexture2D( &desc, (autogen) ? nullptr : &initData, &tex ); - if ( SUCCEEDED(hr) && tex != 0 ) - { - if (textureView != 0) + ID3D11Texture2D* tex = nullptr; + hr = d3dDevice->CreateTexture2D(&desc, (autogen) ? nullptr : &initData, &tex); + if (SUCCEEDED(hr) && tex != 0) { - D3D11_SHADER_RESOURCE_VIEW_DESC SRVDesc; - memset( &SRVDesc, 0, sizeof( SRVDesc ) ); - SRVDesc.Format = desc.Format; + if (textureView != 0) + { + D3D11_SHADER_RESOURCE_VIEW_DESC SRVDesc = {}; + SRVDesc.Format = desc.Format; - SRVDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2D; - SRVDesc.Texture2D.MipLevels = (autogen) ? -1 : 1; + SRVDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2D; + SRVDesc.Texture2D.MipLevels = (autogen) ? -1 : 1; - hr = d3dDevice->CreateShaderResourceView( tex, &SRVDesc, textureView ); - if ( FAILED(hr) ) - { - tex->Release(); - return hr; - } + hr = d3dDevice->CreateShaderResourceView(tex, &SRVDesc, textureView); + if (FAILED(hr)) + { + tex->Release(); + return hr; + } - if ( autogen ) - { - assert( d3dContext != 0 ); + if (autogen) + { + assert(d3dContext != 0); #if defined(_XBOX_ONE) && defined(_TITLE) - ID3D11Texture2D *pStaging = nullptr; - CD3D11_TEXTURE2D_DESC stagingDesc( format, twidth, theight, 1, 1, 0, D3D11_USAGE_STAGING, D3D11_CPU_ACCESS_READ, 1, 0, 0 ); - initData.pSysMem = temp.get(); - initData.SysMemPitch = static_cast(rowPitch); - initData.SysMemSlicePitch = static_cast(imageSize); - - hr = d3dDevice->CreateTexture2D( &stagingDesc, &initData, &pStaging ); - if ( SUCCEEDED(hr) ) - { - d3dContext->CopySubresourceRegion( tex, 0, 0, 0, 0, pStaging, 0, nullptr ); + ID3D11Texture2D *pStaging = nullptr; + CD3D11_TEXTURE2D_DESC stagingDesc(format, twidth, theight, 1, 1, 0, D3D11_USAGE_STAGING, D3D11_CPU_ACCESS_READ, 1, 0, 0); + initData.pSysMem = temp.get(); + initData.SysMemPitch = static_cast(rowPitch); + initData.SysMemSlicePitch = static_cast(imageSize); + + hr = d3dDevice->CreateTexture2D(&stagingDesc, &initData, &pStaging); + if (SUCCEEDED(hr)) + { + d3dContext->CopySubresourceRegion(tex, 0, 0, 0, 0, pStaging, 0, nullptr); - UINT64 copyFence = d3dContextX->InsertFence(0); - while( d3dDeviceX->IsFencePending( copyFence ) ) { SwitchToThread(); } - pStaging->Release(); - } + UINT64 copyFence = d3dContextX->InsertFence(0); + while (d3dDeviceX->IsFencePending(copyFence)) { SwitchToThread(); } + pStaging->Release(); + } #else - d3dContext->UpdateSubresource( tex, 0, nullptr, temp.get(), static_cast(rowPitch), static_cast(imageSize) ); + d3dContext->UpdateSubresource(tex, 0, nullptr, temp.get(), static_cast(rowPitch), static_cast(imageSize)); #endif - d3dContext->GenerateMips( *textureView ); + d3dContext->GenerateMips(*textureView); + } } - } - if (texture != 0) - { - *texture = tex; - } - else - { - SetDebugObjectName(tex, "WICTextureLoader"); - tex->Release(); + if (texture != 0) + { + *texture = tex; + } + else + { + SetDebugObjectName(tex, "WICTextureLoader"); + tex->Release(); + } } - } - return hr; -} + return hr; + } +} // anonymous namespace //-------------------------------------------------------------------------------------- _Use_decl_annotations_ @@ -779,7 +781,7 @@ HRESULT DirectX::CreateWICTextureFromMemoryEx( ID3D11Device* d3dDevice, return HRESULT_FROM_WIN32( ERROR_FILE_TOO_LARGE ); #endif - IWICImagingFactory* pWIC = _GetWIC(); + auto pWIC = _GetWIC(); if ( !pWIC ) return E_NOINTERFACE; @@ -866,7 +868,7 @@ HRESULT DirectX::CreateWICTextureFromMemoryEx( ID3D11Device* d3dDevice, return HRESULT_FROM_WIN32( ERROR_FILE_TOO_LARGE ); #endif - IWICImagingFactory* pWIC = _GetWIC(); + auto pWIC = _GetWIC(); if ( !pWIC ) return E_NOINTERFACE; @@ -969,7 +971,7 @@ HRESULT DirectX::CreateWICTextureFromFileEx( ID3D11Device* d3dDevice, if (!d3dDevice || !fileName || (!texture && !textureView)) return E_INVALIDARG; - IWICImagingFactory* pWIC = _GetWIC(); + auto pWIC = _GetWIC(); if ( !pWIC ) return E_NOINTERFACE; @@ -995,18 +997,27 @@ HRESULT DirectX::CreateWICTextureFromFileEx( ID3D11Device* d3dDevice, #if !defined(NO_D3D11_DEBUG_NAME) && ( defined(_DEBUG) || defined(PROFILE) ) if ( SUCCEEDED(hr) ) { - #if defined(_XBOX_ONE) && defined(_TITLE) - if (texture != 0 && *texture != 0) - { - (*texture)->SetName( fileName ); - } - if (textureView != 0 && *textureView != 0 ) - { - (*textureView)->SetName( fileName ); - } - #else if (texture != 0 || textureView != 0) { +#if defined(_XBOX_ONE) && defined(_TITLE) + const wchar_t* pstrName = wcsrchr(fileName, '\\'); + if (!pstrName) + { + pstrName = fileName; + } + else + { + pstrName++; + } + if (texture != 0 && *texture != 0) + { + (*texture)->SetName( pstrName ); + } + if (textureView != 0 && *textureView != 0 ) + { + (*textureView)->SetName( pstrName ); + } + #else CHAR strFileA[MAX_PATH]; int result = WideCharToMultiByte( CP_ACP, WC_NO_BEST_FIT_CHARS, @@ -1019,7 +1030,7 @@ HRESULT DirectX::CreateWICTextureFromFileEx( ID3D11Device* d3dDevice, ); if ( result > 0 ) { - const CHAR* pstrName = strrchr( strFileA, '\\' ); + const char* pstrName = strrchr( strFileA, '\\' ); if (!pstrName) { pstrName = strFileA; @@ -1045,8 +1056,8 @@ HRESULT DirectX::CreateWICTextureFromFileEx( ID3D11Device* d3dDevice, ); } } - } #endif + } } #endif @@ -1083,7 +1094,7 @@ HRESULT DirectX::CreateWICTextureFromFileEx( ID3D11Device* d3dDevice, if (!d3dDevice || !fileName || (!texture && !textureView)) return E_INVALIDARG; - IWICImagingFactory* pWIC = _GetWIC(); + auto pWIC = _GetWIC(); if ( !pWIC ) return E_NOINTERFACE; @@ -1109,18 +1120,27 @@ HRESULT DirectX::CreateWICTextureFromFileEx( ID3D11Device* d3dDevice, #if !defined(NO_D3D11_DEBUG_NAME) && ( defined(_DEBUG) || defined(PROFILE) ) if ( SUCCEEDED(hr) ) { - #if defined(_XBOX_ONE) && defined(_TITLE) - if (texture != 0 && *texture != 0) - { - (*texture)->SetName( fileName ); - } - if (textureView != 0 && *textureView != 0 ) - { - (*textureView)->SetName( fileName ); - } - #else if (texture != 0 || textureView != 0) { + #if defined(_XBOX_ONE) && defined(_TITLE) + const wchar_t* pstrName = wcsrchr(fileName, '\\'); + if (!pstrName) + { + pstrName = fileName; + } + else + { + pstrName++; + } + if (texture != 0 && *texture != 0) + { + (*texture)->SetName( pstrName ); + } + if (textureView != 0 && *textureView != 0 ) + { + (*textureView)->SetName( pstrName ); + } + #else CHAR strFileA[MAX_PATH]; int result = WideCharToMultiByte( CP_ACP, WC_NO_BEST_FIT_CHARS, @@ -1133,7 +1153,7 @@ HRESULT DirectX::CreateWICTextureFromFileEx( ID3D11Device* d3dDevice, ); if ( result > 0 ) { - const CHAR* pstrName = strrchr( strFileA, '\\' ); + const char* pstrName = strrchr( strFileA, '\\' ); if (!pstrName) { pstrName = strFileA; @@ -1159,8 +1179,8 @@ HRESULT DirectX::CreateWICTextureFromFileEx( ID3D11Device* d3dDevice, ); } } - } #endif + } } #endif diff --git a/Media/Sounds/ATG_SpatialMotion_monoFunkDrums1Loop.wav b/Media/Sounds/ATG_SpatialMotion_monoFunkDrums1Loop.wav new file mode 100644 index 0000000000000000000000000000000000000000..516a9d2eb9b287187e89085e109dbfd4727b9eab GIT binary patch literal 1342394 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 j0~&t>jX;9R5>WX88Z!lz zA)wk6RM&#mrh|L~3KdXY3ma?X+X6yXeKMx5JBf=gX(2ST>~j;K}cji7+iHfUxK)HVaPc0d@^7XY>EL3sz%_5zKgfLsXD18N^yvK3yD?qd+w= z$bL|13>nV>xd7xk5Dl^!MxHlRKi$Q2-0fp(vO+Ebvg zfVdXaP6VwY1@&G*bEcs2Xi(^aY9P=|6=*gT(mnyTR6unUX#NW{h5}Lnl4WE78+99AZHc*`k8CeIhK({S`<`_Y33sB7u z>9K>xAV4F7=l_H1cF>w?(6}FHwc?&WxBuS>R=fK@ zXnX;r7s3LKG#vR48ruN1RE~k~i30Ht|33m=Wd+))eiFRX2DBOyl-8DWG`@P+bbjKcHDd&`cMk4g=LckWw8~Q-E>_s0IVo9H4p;l7~R`8l;W`)uJGE zARVCoEGT|KYxzMXJ*0*Kr3g^10a`x;suMx=D99909SSY?#{|=-F zRF6Pv9MFzeP?`bR0jg_3{SZ(K6yg`qr~#w~1l6dZS{bw|6QmyGE|7XqjSWgupjl@ zxd4q$Kx#`62`W24=RSZ&FhPA7$l6ZOdU8;E9n?Djwc;Ut1yJi9H0BSQnE=hmKxoj+ z258+mXssh?d;=r{QVE)a1;SEO1+9w*%{G8$At7^#pm7&ay$``4AA$PepjH5AUIyf|ci`2rp!f#0 z10cO?(7FJ~h$Jk$Kw$@J8z9FrsKf=0w}bi|pmG5eub{XB#UG?a1WIwBQ4&y#2DByy z)CL5_1SH%+=0V~Y#0OzetV3J?YAb+XRL?_N zBA}Wd)T;)SP@vi#RDOWiBH&xGK_wd~--2jRIs}a}fND5U9tNdOkT_^pGpL*Z)qbEc z6;K%kYWsjjYC*LrXtWkoH-j*!R{|P40JZc%Eg4YT1~gU*>JxzaDWE%gFSeCDQKsN9fK|S3>pUpR|e3WEC_>UXkEdp zQbBX9pgpRfu}CWh&pqvM)twFi&KKMLYP%RC~ z383CIXwNaIe!lb{(k};%27*QnF8)6c-WLg4mjs%}1I-aYb_PILpi=|({onr|wAvX| zdxQ2NfY_k1e9-Iy==`ta|4%~KGJ$pxfW{jygKJRGN+r9I=cuGy8&J| z0qWg@a`Qv*ZZc5b1g%m4l^LMfPRJ+-WK0CK_7&822bGtgdyN6sMr|Ss)jK;u*A>8+1MZXr%;bbOTgxfLso{ z84HvSAgwu22?kpE51P#et%U%!Q6TOF%}s-R32Lc;YOQboLF0YDp=Snw{0{4_fWi`V zpC+hu0;NLG$}dpe0;&-}dKkc~_dq*CA>|dQ?FmY?pn3;X=YnWZ$pY%Tg61hfIULl( z0qp?+oo@hYxw3-q3j&n|pcXx-9|Wr9KsU33${SD_0BRcuF@Rdypi%~OS`Dal0FAYP z`YezV0kW0|vW^K<9)Vi%pcX%<6$5EogUTS#>?)|`0qRG9+BTpT4af!v4Jx@nsz7B8 zs1*b<2h>&v>EdSq*$Ha>fLsHb!GPpk(3}aVeFZWN(w_mbKxHE+PlL|Eg7^m1-v{;e zKf2c>%u z4XV>XX&saoKq&=;K{J-1^a)B&pt1gs;8k*tGrg;pwz0|q3)!;TiZ%w zma3>KliF;pK>Y|UZv{T-hl;Jb+l-ntFH0{I-6Q^7zDF%rTTQ1(=a0@l-35BzEVSJH zeV({7Sxz(9r$67A)pW9nivC?C6G5S0D;_)EhS9cX4dxYTrj=~PJchzv z!nM5TIUCr;xH-gZ6(i(wgk<5s?xT7k1-+#&d?}7{^N{-M{g_zx`hG z^ZM6{50_qYy?XFI`^}5z-mi9jw*0$`LFdooZ+E|&{7n0P^2@QW|GtQRb@=l1%l%JN z-rRV0>G6k0D$hedh<)1j^7r$IXSeQT+&b`x_f__rhwpj6UHabr^}w%Ymd%_pd|qNA zLXLcUMCK`EDJiSP=xQ2q8XVDDt1EAE)AXMayOFhij$Vx34TFCM<@#TB&S-7Y;?`?7 zoMcgDQ*3$4O2&4NS+MRwZDrkST54+dwQKa=Yb;Qjq&!PKQoU2-leU@RJ-tI((Q0wB zdZMKQ{$fV5rD6#j(^#814s*<7z0Z)sc!>QR=UWaAUIli(zmNVivc|E$;6BK5=!|Ri8j(nK$@z9gBJO7^Oy<7EW`>PAj_#Y~bEZMToyRla3;Y45p&OY?8edv@W2&-=31 zXI=%qvU|t({o8*jhM14ePhLC{d1m-z=~Ky<9M5_`*!)O(H~vL zP=*x@^EgfjPnCWk|4inQn5*bDS$h>etr^D0Odsp*)^gNPP3NIHfMG`@>k){HKW~GLw;K>O_mvKZ}=hwmU2lm zivGI(J?>Y=KWSz!t|*>zj&@E#fo8rREJh5h3^6}%ep&eO)7$13C!dABRC~MNqvz+= zAD5X=Gim&<_;>QZ22(1_x&M=XRsOs5^TCIAFC|~*y|4VC|I6!7Ckr17E5lmG3f6f{ z9RE`p-mpDmb7RV95c_rM`;UK?On!f37+cxba~kp7;$OqNi6@<#kxQO~n|anB-`}5p zWc--;%l2o)-+QdfnNNSq``rF<(fe5+_Iz{s^!@3J+d@y9z6gFbf0g@`_u0ya7aqht zGJP8UqWM|X^Po3}pWJ((`#SZr_@_;8o_*T>i{WR{$Lv>EAGbce_$Kw^;}4E+C%&qA z6})|H&*OqzeC*)H>`@T}lS=Dx*#`j6o+O-3h%X`gF9PW_?s`{>UtKa77}`hSCw zgDH)9GdmCGa?VH0hJWh*pZdG)$Acdye%XAz^1bZ$%HOM)uJ9#^c}N|XD^`uwXx7#< z_-6P-i&^%O$SnaL{_DINd;uIQ{%QR1{QTyP#*3yGdat&<=zXAiKjBgSW9#Sq9}d2D zzE^lR=UMZcm@nUd?)q-{dHz?KzsCQc|6k7OEL<<($R8tghIaw0A4iQyv`8r@8}n`^ zIhJi~yVzTp=KpVGea|+VIfzw{H(GFtU^rhU`&O1{zHqVqqC3Qmwt*j-pS^T<0r{rZxFG&lTY$<<{Xtu&X8-5-7Uh%o%XBL|;Zz*pupNzmPzCPX* z!OcR?`NQ}=a3!)IWpiQfX42-d7fR;;&9;~^>|e_N*MB*G>3*yGvh>G6h6AkU+5fT3 z{j>YC*=NTuY99(-uYSe#&gz5Z`_xYle|5p5G z@>}9t_ecAWXTF^Narobjf3N<@vz=gF{$<%K#do{ktGs^lIQgE+-MIT^_vN3My>5Lg z_(AIH?Qd2;mHy0Na%DTp^!xX|-})@Kd3ksjv(94GW3Oba`my};mk)k#FTZ^EcF*U< zpPzqN_U`qYFK=$X{QOw=kP16D*m~`_<`*%t2E0LrqxWJ zI3oF{2>j-K#bwRf$H>Z(&#|A=gF}Sn(f^|V%l_LjC9x}TL~u;8Q8tNef6zZw5n z*$cRf+1@iu_*4A*@qZbHyk85y8vOkFxBBnuueNU`U;lht@}cFO%eyP@s@|ErZho8h zdC`}e_q*Tae0u(A@27-slYedhuKz9hx7ELAKXm@wWNG1Ud&FRkO#rlou z|39st^S?=bbNg-nyXs5JyFah`-~4-X==H2Oc5h4H7Q8+A())SAYn7Mv&m!I)`o8_I zAj8T3n*ReCl>Qa}V_@oHX<=T^{D7%|f%Wf|e-Bx{usShcW;x91&3^O$((fLhu7BYA z`tAGluixLFe%0}s>wVeR!XM1vetmiUZzpFxmp`Wj*IEwI|L=c<{5*GX4E;#PX1(k!d0$H}fi%oeUwrZU4$MZu{TxcisOWmQ$?kOmCUaaW#le zlX@xqhwUZfY32^r$E?*HUR>_%+t~ke?c|hYn-n0KhFA`_UXXK zq|eL0&-ho!u;iE9SD&wr-)H?2{S*7!`sdVN`9FVsTl+2L$BjS2|L=W2@j>as$`420 zU3ppaV$lnc=cO;1-z9xG{9)#o@~`hcKl(K5%c9Ry-@be;_rc}sv>!ize)w_YE9>{# z|0`K7*x$1TG5i0^`1R(`N@f=JX0|Z)f2_7l`hREs5n^g#Gi7xCz5CbRUmO2DV=`y? z$msH)`|pbHieK`+%=&Kd{~pU47CR{*|&FJKYy?A&FRPgZ-zg&{W<>c+TR_&GJb~t(PVi1yYc7h zU+zCve%1JX@5hZ_ddyzD#Ugja=1ZIt7Zkk1oyw!fvy{W1q2ia@e@)i?Y)d&!_|Eem z;aB5d%+DiKDEvk6E8j~_HTJJO^Mq7|PYST|F>+~flyS;%?qYWR7s6=I@`JIQ@i~(R z<70;7OvhPwa5nQh3nvO+6M7(cOW>r?ByleBH=;2zmz5?f=1Tq(yeyC<@Qiml?_=IJ zjxyG0_G|2lY-d@sI2yRRc?ARw1m|)oF#h=~%c#s6&-R^tC3h%KDyt*Id!{)o=NPB| zdjEaPAH#o)f7btA^XK&M8^5x?8N6Hi()F$3r;JaB-s`>-e!KkT-WQwSc)xFa{pp$M zOZAT*zsvmE{p;v2rSI||;yxbyHvgCAKS!p=%+r|tSf(+XGgUDD{=f6T&wr&q1wUmz zzI$%)!r=Y1FM2DTjbCBKZZZ{d}I54 z>hDyBc;+9>&zXFfcv&a2PhrnzF=YJr*Zki?MibUTb{$qPCMK4{Z0YP5SZA^pvaz$| zFkJq(gdvV80f%I99XQv$!*@Vk}}%Vw7cz zWiw#rVZFmy!PCSo#_^wZB5M(A7xUErJAZrre)Fs2hw!&W-}nAI#vIHf{x|4P7{hXg zfPZa_m)IiNd6|Ql|FAFQh-UxBwus%7>o|8YcP!sJp}&FwydGR7+;M#8`Bw0{b1&wq z;y%x1%>JKwH*@d5ZQnh=#((?&;4k`TlG8pNB>WYKb!u$GaX|2!xGQ(g{k`Qxvym( z-+g-cz4njVU#mYZ{}wR3`u*th*SGIqTYc#IF8B8!Lj#K#TOIQYraP>C9IosS*p>Mu zB&x;Sc|Ew!b7pZIfaUr3m8wZ+-7TGWn@tP z>;LaM!xbiejvTJ_Y`$!M+*Sh0!VksxC7eY=`5Ae>@v8DK=RV8X$jd3PkXMxB2Xi^| zH)b`)E5CBTwSV9GtM|9lzeWFU|9txW%Fl(rj{LFsd-kW#&-6b!f9ro~{Sjk4!?cc3 zooO12Kg&19DU5=wDeSk{@A9|^_Y1mkG%y_d-^O%?Rfk=deHZ%=HX#=Ff4hHk{M*Rb z$ux_B?LRYvG7~e475f^_7S7qMZ462O`u}kM(P!-7;N;rFn#=h9Pty0kFNxo0{a*4r z{-?+f&L97Nt!Dhdx{vwQKiS_$zkUDc{VDa!#jiZyD!=#qw)~g*d*b)<-x5qan5zDA zf1mkj>WBFEzusqkIQ7o!{p%0jA2dIVP+|1JG% z;;%curT%ID2c3mK`=7_3CqGrb-~P7tSHQm)|8D;6{4Md_?CY&>;lJblKV}GEOkj-v ztMHxcTjo!fKkNTY{H6GN#or5m`+qn6vi+0xNARcmmmQznKL>wa`04oPj&IRF62G^7 z`~N-jcMn4h>s>ZZmX8cB|JVM{WD;PH;%?{d2-#YGc zwk6E^jK}|rGf4fv{*M=QZqwh>Ki~XZ`Rm9JuWzYe%f9aZHucB-pGrSZeXsjI@5iEF zT7RGYWB9k?U&a4pe~5qz^V*lPT zUSV9t(DGmQ9~Xl*voVV^^J~WKO#Q5VEQc5#{$=^Q>-U0RCx5T}|Cz~=$%jFQF_O8O zsg;qLG5deXU!{M(|3euHnX*~tGVfp%V*J8T%XE}kmnDYfGE?aPjsGVyhq5Fw9c9|g z!pJQ9zu>RX|DTLY*|d4=c(-s)V@qZ;WDjM(%I3|gz}9%q=&c%8YOa}u9C z-x@A%_NPp(jG0WC%=eg*m|U3dForNqW_DxE=1}K;%ejV4gZVteYKH3!&Ho=W7&8Yj z6)+xVSou%yulB!x|AiQTGTdic$Fi2m;QxxhIsd%>YybE8Gv(KzKYRb(`#tT)s$b9k z9r=IeuhzeArZ~2ZtXeE@SZr9e89V-*`(6I~$B+JB5{#T|KUiKc==@jt|L>pQe;dX$ z#`gaXfA;>U`S$+%@;?m>+Zfvat@tbYzn#(lzwz()KRADgegE@q{f~}6_6)KN9RD5u zPygrjC+)Z0@3X%G{;p(*XHfb#=g;Tg(ZARH*8Y?G`{S>|zt8`R|9|yQkFlOvfVGsZ zpIwrjldX?!CdYlw9u997aYk3>;~dL)RC%Ux=(7A`xX1X1rI%$tgT+6Yzq5XG{+#)( z_uIwq@!!{d`Tt4b^Yu@KpKg54{dVrhpC7lr=YC`O!u$Mb&} z!c!Og@A&Uyzl#5?`De>;lkpkj{{O1~6#sWI|6>bcw`7~cV$a;fYQy!IM~V9s zYXeg^%YKf3oT2OuOrigu{$I?vjd9L@wZHrSvN5%@hO+Hrd(6I`O`JLLf9*dDrthp% zSc({y|5spiW=v&FVmZKOz`Bt!nlXa;2=hedyUe02cC6Fbl{q(YRr2_9Z{zsG&c@sYuY+)R~IKtVQSiZ7#aZY6a!Z_vc?7syJSOM}7_b^z&o(mtEg3f1UL;?z`gmonPjC_W1ha zd)}|&Kazhp|C#uQ^RLlgzP~H}2>gv=n80kuT*$bK!R3F;pNQW)e~$dN{i*!@!}r#o zazE|9-~Gn_(UOsc`4G!O78d5W3}p;9Gb%k|gv_nem-)}bVD&%wkN+=&-_!p6VMt)m`setk==bVh^1s4<9sT|P z5BuLEe`WsP`=|D|O5G-T6o9@AE$_e=q#?{HO6Z{P*r(OMXxLbK>us zztetq{yg*}%;Fgzn=W%_}}!W=y%oMvkWVkGg<3cS2FGSuk`=h zzt#VzGHqws$-IG4jN$x0@&9lB75wh~Ve@Ot-@pIl|FQm4{I~v(-S1DoU;NW!`p+W8 z7RLIQ`6XlN|7U-<{Cmh4$jZ-tlkFc<&!3q;y?$T*v;B|n-}!&4e@Xpz{TIdX;J?}5 z)4x~!z3~4L!$QXY42S;){W|;e{O@0X#Tb~F-ZIT%ddsNEq{LLjc#UBO0}lh}j-dnp z`xv;Hq*w~s)^Nmdeq!6kDF0uBaWZod^K+&OW=<9+7Hj5-Oi|2MET5S!GPwWu{wMM8 z@IUqcObi)Jb<8^$!x@e;o@F*a!eYbd`G3bh;eRv! zzWA5I7{m07@eHE`!|Fd*f3^Oe_-E%Imp_TWyMC4ZYX8mnC;cb)H^XmsKV^QW{gVIX z`@8y&<)8mQ)ql+Uq4?((<1E%KEG3Lr{{8&(?{~zX?7zSMEn(Qrn8s-E|LdQ{fAaph zGfFXsF-b8n{1f}D^jGn3%3s$1iy7IN4=~+jjAlH^n9KB+v4n9G!;^of|E&IH|8vGK z!+-q@C;rR+o&5XW?;C$q{-yly|G((poxe=~IR4fAZT$Cz!Ie?sAIGoFKPLU$`qSj+ zhM!TtM1IPB-}pV?*Yw{Zzf=AM{-42knvsL?6N41v1cqk}F3j<4jqFp|Qdo6aKe4i~ zuVH84sARWcRb_5qmSB})HD=kw(!zFveKtoiXCmh+jyD`4oJQ=-tdXpT*w=G3v+rWl z^r`=}=T&tSO8c!?>A$(!*cLleWD|BnAQ{?Ys6{^#YN<^T8?mor&1r!dzt&t#5c zE@w(-+{X~k!23V*PwlTcza)Ok{a*V!@^9e3sz2sG62HoRFZrGOzmTzlLGtgvUsAsf zeoy&j^DFmP+^^=Jsz0K>tN&pAZT3%rL78zI<5kA1i~>wA822&$WH|TF?C-_D<^S*h zcl&4k*YKbDf1&?I|MdR~{AKrwBl}VZTAM;e!BsPBb zZuVzv3)pV6MY9>P*|EE_tFf`MWw1SA{lsFxx|lVP^&iV2mMttRSRL6pIilEQ+5WMl zv(&QMv0rENWL?O5mQ9FFp2durjX9CYf$=Xx6C)R6D#JI1UdDM0C;qMcyY8><-#Nd( z{Brvf@z3u6@_!9~UH;bnJNZAEVby<|zdwH^|7!cS>R0#gv_GnU_WjQPBk)i4|GfW) z|DX6b>+j^hq5pXQJ2Jdv)Mfh5u#Djk!!(Ai|6Tq^{AXcsXG~^n`akPW>9421*8a)= z`~A=4KY#x$`fK^m`2WlQZvQX+UGV4mpBH~m{gwNx{CC;k(0{%E(*N@P@%X*u*Y#f~ zf6x9c``hf#^uH1RCj1lp_vuf;@4jCLesB5f@ORqpjNej!Qvdw=J>hrD@1Eb$f1Lj6 z{k`?a^zWv>m;ToOV`u1K3}-y?|Ng&s|IGgDGB`11F|THlVS2-8$N1_$*S~{*>i@R? z|NcMV-^4$Ae;@z7_s`M4`~U9xbM^Oy-&g+J{Tu$b_qXw{o4;24y~n`Gq{Jx0u=W3~ z|0N7ujKz%VOmCU?GwCxiGjp@dVwPdP!koau#j=!nE%QBQTNW4AXRI8oRm^{wOqlDL zjxtpIU-thF0}E3Y6El+?<9~+TjH=8tLnfn<-7}J?{Gbu2YF>PgzWx2&Xi^-Vr zDZ@X;Da;xy{>&9jjLe&vRhTuH_Azc|e9TzG_~rkZe_#IH{y&r9HA6mQ8q-xKFQx)U zHAYj$PDW4WV%DFmPgobTeP^>`OJdb$Nn*-ktY$A5nR zc>X>6tN-ukzwQ4x|FZqP_b>Io)IY|*H~(b)ZTq+O-|4@ce_#FC{@4G1Hp9~Y8~<+q z{o|+050meP-%G#G`M&CV*!TGFU%t2eu>AS*XT`7P-^_pNe<}Xp{T~10{x8)((|_;$ z760qS&(}X|e?R=2^MB*NyT3ht?)W+3kHh~b3=mc`&a01;J*d`k1?EOT+Z~G zDUqq0@h`(w206wO#xIN<%n>Y;S(Diu**>!*FfU`;$dt)^n&knjCmSPMC(8lG`~MF9 zz58z|Lp$RH#>I@Q7zG*g8T1(@|3C9j{(k_&a)#~y1OKx#%whP-uz-<=iJj>%V+-SM zMgt~B<}1wSnRS_8GbuB#XO?0qWuC&cmsyz2lTCo-17i@Q72`FA5{7z)G6r^ri~m3W zS72ymuw1!t%v#Jp zm?khEU~Xf&#ZdeI=|8jo3Jm;=T#U#5&;7UXpXmSh|LXsJ`TPFQh2OJ(DgONQ-Rg(& zuf4w`f6M%0{1y9q_Me{LFMi~GpYna-k9EKD|Jwh5{qNu3=YRSBUHdEZcg~+pe~$mj z`(ys+(4X+XE`OE(e*atde;&h41{;R@|8f7<{eSx3mSH)A48y~JE&pQw3o@iL{9!0$ z+{3W$U-{o<|3J4%ulT>@-=)9de>48R`0M-6=U?YPhyREE3ow9guiwJ(=)cH6(LWb| z$NlB~&&puOaOOYD|Jr{6{}TSC{#*M`i{T;TGsedZ(F`&SKmYeJtY9=^I?s5KaUs)f zrr(TwjBgnpFz7O@`+wrU-G94(e*bL#d;Y)pxAxDAKW6{j|Ec`__NVqA8$%w0D?=Vb z0Kp z%@oSKky(TJC!+x4Cx$7ELQIZ~?hML|!ptfx9xT=@j4Z2|=P~bOj%Gf^bcd;c`4{s| zW)EgZ=2+%OOcG3!82>QNVAf;xU{zyz$t1?Km$91h6vOfVNB*V$bN&CBp^{0Ic^A`T z#$OC^3>W_2`S;>)_uqMcJO7&hef4MhpI^T-f7kqW`6Kw3?eE+_lm9gT5&W~_H_xA# zzbXIB|9$=w|NGCcg@0!Md-G4|-`>A{|F-;3VmQGtpRt2!ACn5R17S^#RXGo1ey_OJZkx_?6dPy9DwP+QZ^mEuztMkt{|f#y_}|Y^&Ul;gCZjTA_kZ($p8p#E z>odwS7qhsr%w#TL7Gt(z`o*}O=`8bI7ERV978&L(jMEu*G8i&lW$t4MW?9QD$^4G# z4%0Wr*$hGq6%5B1su|w@5C6~df6xCI#>GrIOvf4A{ww@vXAojs%ea}*m@$`ujiG{} zi!p;~3R6ClG*cbp9foBL0*tE}?=cE6En)i2bb-l>NttoU|Mq{O|C;`XGg>jNVYFnp z|1bUDwSQaxPi5G`F!R6PKfQn9|4%S@GZr!E{NMSn`F|S2X$DiqBaDtroJ^k?)EQzJ z>KIrV=KMeVKa$}IgCV0jBLm|t25*L*|FixZGJN~L;a~4xpTDR6hW!itxA!mS-z|R_ z|1SUg@$bdI+y1WoYyEfDpLKuy{#O5G`g`w>?%#=j1^>nU^Zm#B@5o>Ff3E*0G2CNV z#$ds?jLDPPo9Q>hWriBYt&Hm!ZJ2&C{bAB!VrArFi2Hx=pXa}$f4TlP|H=Qe>5u;3 zzP|>4XZ&&cbK>{L-?@J@{~G-L^XJW<`+pApsr#e)=jU(pKi~c={=4Sy%)hVyw)_+L zzvur`hV6{ij2{{L86N$A`|r@dhyO(wI~Zdbk1*&lh%$IHOl5e=aEO7GA@P6a{{#Qm z{9p9Hnjx35n9-NNXYOX^Wxmb0j=`N_K7%RaMn*0sBc^+dER0|O zoBj{`-^U=!B+G2fY{OK=pzxpX|Hc377_KmIF-ZMi|F802)W6z)XaC*$r~L2mpG&`) z|D67l`gikRzJJC4KK@(wU!LLr|7HJ|{AXlPW!Uq-=>O0E%NTAjh%%ZnPGFevU+Mpx z{|tNtKb&Sgylo($A-}Qgv z|NsAM7$!1sF!=nR{!jd$%fIXYxc`6s*Y$7G-yMJ6{E_)r{=bnSjPVGgHRHYiZT}|y zW&Nx3SMs0s|MLIB|6l&o{;&A|#y_6__5Y3jzxuoAPuZWEzxV%L_%Fcl@&CI2Gyebh zpT%I#kobSyzp8(2|E~Yb{r?_x63M>_f0_R3{3ze@p)L{kLNH`(N&V+CPtf4gaqH zi~7IdfBFBs|5g7z|GWKP`9F*yim{!^l9`z~kV%*+hiNC%ai*P23z;r4IWmVbe`4Cg z^qZ-gc{g(-GYj)crY%e!Ox#RyOd(9u8Gkc8VR+4O9W9n)8)70h#4JXsr9wOQp@E;BJRtz+E5n8wt~tjof{62Kh8 zYNzvusM{HyV`y23Y z<-h0uwEj=|AI}iRn8C=$VD?Y%Z}eaDf3pAQ{GalF-v3|!)*|P{Qpn=oA__izuJG5|Jwdl|EvDD=-=Xh;s2!mY5w#6m-H|8 zU)aBxe>(r3|GoA1_FwjY&HrBg`}MElU&7xBf13aN{FC>$=kJcce*X^toBvPz-?qP8 z|9<{k{6FXag?}^uvHXwt|NCFpzm5MS|5yEg`@f3eE5lO;Wd_gx_x|1ZXY>Ex|FaBA zj58Vf|KI-i@SpepiT`K+ulYaYzZ^p!Lj!{&gB!ynh9e9sKqs~Q7yS45?}>la|6Bhz z{|DU#{{CO#zn}ly8LSv(7~2@)7@8S2Gng^HVf0~&V{%~H#CV>;hhY+f5@RUiTLx8z zMgQ3ttQi%Vc$lU!W-@MI^kVwKq|DsU^o#L7qb8FylReW?rn^kFOivikFbXmKV60#i zW#k2y4cd&VjIoRx8P_p-FzPX`XAELG$Rx|G$GnY6pXm}~6yrOFV+pSz z8Mqi1GrncK%D9Sg2jd0C>5Tsv^ciga=loOnr}Iz!-i@rgtp6kaXaD#5uloP(zh(b2|AqW>`}g~A z%U`{}W`EoM-v8_M@8iFY|0n;8GVEe-V67$ zgEk|m-*cHklhKFqFvI)*z5lQM&t`bTAkKJ{!JI*jVIzYK<4p!FhDHCg{ulp0^}mTB zm~jH53F9vY4#sB;YZ;a@tYK(lux5DtKmGspf1Ur%{LA_O?Y|pC8bdI{@BbD5fB#$Y z@8CbP|Ly;S{_pzd^{?RHvwu?mU;Nwl@7ce(|4SK`Gq5q}{r~oF!v6{eF2?^1n;Ci; zS{R}kKzCAxFwAC{%22?N!|;&d5Mw3NGbTG`SLS<6^O-g>&0rE{N?~MR{KD{y;UmL; z22aLfMm5GdhO_@8{>S`(|9=j{NroZ@ZH8!us|@Chg^V*8k1%R7?PB6(mSL7){=xKu zNsd{WIfY4yQIcWXe=&wP4E2oajLZx_{@wVu>Hk)SPYeMJssHc)`}$A*|J{F+{+<69 z`hUa!L;n~4&;D=qpa1`wf4=`3|7ri9`+x5LuK%U~CH^n}xAkAp|9$`K|G)n??O)A5 ztAFSImi&$WJL&J+zvlmP{vH39`2W)Xwf|-RZ~3?N-?4w^|MC8}`_KA+$G=zqmj2IW z*w0YUaQ?sb|KR^j48;tp488v=|Ns48#IS;HHEZ@}M}zZ?Fp|6BQY@88^iU;eTE-}cY#-}Ap0 z|1$s6`)B>H`=2iO_VRWAAOB}(0PTnhW7x;g!tnF|uK(-)Z~6b>e-}dz<0VEX#wdne z|C9fF{6Fx&pWy;SD8r`zUjOC)NBn>J-;CkY|APNt{$>1o|Cj6E$$t(1H~(+>ul@hV zzjyzd|JyNKV31{$Wn^T$&9IbV62k%b>_0#?Z=ekzoTv zFoPjOGQ$jp)eMIj{xU=`?qU4Kc#pA(k(Y4~!&wG1#wtd0#(fME7zd1t-!&HVd41SE8 z82cER8T%RP8MZQTFCZJZ~Q;)|F{3TpwZ(0pc_Tk z{XS~OFm9dSHi*Xr48u*^CNQQQXZiZlpqrJZ6~05W=9%aQA=ie~14q|L^_hX3%B`W{6>kW+-7;!|;gV zBf~}pU4~o#1sE1E$TAi&UT3soGG{u#Xv+AM;TuB+<7dWXrp-*ZnJzG`VX9@aU}9im zWAb6@VJc)&W@2PgU4kZTZLlKmY%;|5gl|3^)F_{m=Zr?7tX8 z5yJ$AWQK45GyXsNH|1aTzsi3T|84uX`d`LBkAJEECja~JuloO<|Jnb4{rmPW;D7)B zW&a=l_h8t-AjFu&Sk7q8xR1dTd?!^h!wQDY;Bw;C|K|F3`L|Fr+<{ww&m?%#%g^Zy%ad07yq{Y z+w+h6f6M=$|05aJGn`}SX3${x@&Eb%=l?kwOc@dxrZHS%_{s2(;WooYhAsw6h6n$* z|KId~-~ZSD%^30->KGCjG#GdpoEWAuY-O0tki^i)@QJ~Y@i{{pg9Af8!#ajf404P- zjK>+4Gu&lRVboycWMpCd%rKw9iNT(soMA4*W`-RMB@B`b8VvIoUNhWf*vGJuVG2V! zLn*^{hPw=>8CEb%V`ydwVo+yrVCZ02#8Av&%V5gj$>7K!#PIb$3xgd)Gs7%~Dh6GK z7yp0%w`P!K*z$kHe^G{7hP4bU84?-3{@?O{=l|>fPyV0yKk>iUf4~1F|0n*h_@DH@ z?f=gIi~a}ym;W#FU-rNA|IYs>z<0tw{=fFW)qlqSssDKxQW;zr_WbAlKjB~HzxV&H z{9nPq#`u%r5JMmMey`aK{~2r;EgAJ0tr=|@O&E0;6&d*$|1$hz_{cDi;qU*f{|^7# z|I0J%V))B&i=mxCo?*lP;Q##ppZ~k^@6^Ae|8D)`{BQo>^S}Lno&U1`RsVbaFZf^e zzvO?x|2hBV7#1?jWDsFk`+v^=8UGvpm;KNE@AKdAzsvue|F!>1|0n);{ICAs@_*O= z_y1KG3>Z8Zni#e*++g5kbYWCv>}QZ>2xa)kkjUuH_=BN^;m&`(|7ZRk{&(-+r+@GM zef%f--}=A)|F8e{{ag6&*gyCGU;dXf%x1`C&}Lv^5Mzj7=wX=5u#n*v10&-h27QK& z|9k&0`oI4Fw*M#p-~JCe6XEFp*8evDx&L$i*Z-gPfBFAM|9KcpLG!B&TNoBFtYA38 zaFSsc!+8cV##F{8#ymzJMr%eJMjJ*|#%~NK7?v^gGfZQ+#-PjS&dAGnn4yEgg5moA z`Tw{7XJjyAFk)b0IQxJ9|F8d}84faVGRiXkV>r&Ris1+YBcl^z0%I_v0plNrO$_x6 zjSPz!?lAmiILP42@c94c{|EkaFo5nkvt^KBIPl;1KhuAv|Mvf<{J-{}9elT&48yno zul~RPfA#@&6b9&;FnEzw!U_|Cjzh`G58Q(*OSd z8U73YPx?RM|K$IR{~!E+@c+#J+5gl3cmH4Yf8T%5ZAJV4cl>w!|Nq~+e;of6{+s@f z{9pRNGdNXGmg*W{6}kU|?eqV=!lsWjOIa?*Eg2)Bdgd_xGRu z|4ILa7|I!@GZZq2Fzoz4@Bg9ypf(aC!^i(`!FR?z0pCsb_&;RtqAo)QLlHwLgAoG< z!_WU(47ChB3vHx5DAOHX4Kj^#^B6g#303R|Nrd&`Tt}8=l$RKpM}ANp^0G&!$yV)3=0_EGk7shV%*KRlrfm` zJ;QQ_R)#u;ISgkQt~0D*s9;ECNM-P5;A6P?fA#;$|4ILw{$Kg;z%YSfGD9H4r~mW+ z*Z*Jq|Mh>+%7gy@`TvXmNB>v;FZAE%f7}12{}KP~|J(ex`EUE*>A&;;;Q#&qU;PK& zJbm!L-v4|5Uj0-1U;2L!IJD0EU;Tgn|11BE8Il-m89=9lfcEjSFo1TOzW;yhf5CsT z|L6Wq`&as};@|Rrul}k3xB0L2pY{K}f2aT5{m1lQ^1t$bz5kZ~P5vu^Lwm{ptN-u) zKlOk6|C#?2|Lgvj{IB%i;eXoyqW|Il)&76_cjDjLfAjw>`*-5s$A3KkCH`Cg&-vf= zf64zR|J4{Y7~cNh2ELng(f?!rzkz!Uj11}wZVbT;g$xTAHZn|S=wMjLu%F==!*Pa- z40jnmGjKApF}`Lv$*`GWJHsx9X$(~ibHSr7Cm4ztoEdx>>KHaMoM70}d++W&9=c^Nnu-v2-QfARmu|DFF2 z{^w!v0;fI~25|;f25E+1hUp9k7|t`CWLVBn#Nfi9%)rEO|NoKyoBq%EU-Uotf7t($ z|Ly;q{#X5P2iMtU|AYRU{a635^55ov4fyu;v;RN+*I+PakY`Y5aA$~Qh++s~uwjs7 z`1v2SFa6d3>;E_Y@BCl=zwiH{|KI;JGJOBf${@=izyLaxOP(PITsrMxILdIA;ReHH zhFuIZ7;+g57#{qe{6Fu1>;E195B=}>@Alu~f6)K<|6%|A|A+lA`@j7EMR1J`x>e!p ze+34AhD?TV1{H?S|L^>N@n3+!gu#MAg5kmcN&ij%fBX0MpVj};{}cXC_}}us{r}?s zhyP#u|M9;TLpDP%Lm7h)LkL3$!wQC33^fed3;_&E47?1c40R0q8166}VrXFqX3%1I z1`ds~|Be4k{>On^EJFV||111={a^Zj`Tv9eH~pXTfA;_5|3CicWzc5uWyoS^V3^3T zjA0AIRE7WsL5Ao55C5O^KlOjW|KR`0|MUN+{}28j_`mA^p8vQ1@B2UXf7}1g|8xHz z`~Ty=EQ2GTv!mx;;njw=RlcAI08iN+252FL44x=oi z5F;<603$ym8{;pAXAGMe;ux41cK@IMf64z{|3N27F8J^9|JT2B|1SM||Bv-Q&wt+k z(*IrlSN)&*zw>|2fA{~Q|9}4z{~!Fn>;Jm{+x{>9-}S%y|D6B5|DFE7`nU7n%74rM zZU1-i-=%*?{vG;v?BCIUSN^g7H~a7T-}S%If0h4c|1FMQ48{z9{=fb&%;3jR z!cfhS#Sp`g!7!cS3Ih|P0OLP~D-0VMwlUmfU}6+x{KasXp^u@Ip^BlEp@(5Q!(@g+ z24@BX1`7ro22BPIhIjw({Xg)3*8ise&HrcqKLNf~^63A*|C9fp`v3L+oBtR8Klm@g zV9gNDkj)UuAkXmeKj{9r2mkl}U-Ey}|M~wn{y+GC!~g34&j029v;6=6Pw9W`|K|Vg z|Lgvjf%{q&|C|0V{eSmAAA=TyD?0>=~39#2MrmbQzo&!WlBabKFe~c?^yWatx{r?hHW;HVirpHVp0zh73XsTny3- zMhuP&&J5-Zk_@1;zqJ_x7;G56{GavT`9IHpw*NB!b^jau*ZFVq-{rs8f5-o(|8@TB z{5SpY^grN#(*KL{WCNZpHSi#W85X&ISaOMAj|BwEI&XIWe|KR_H|C|0N z{rCSL`@iP@#Q$yolmFZNSN$*hU*W&jf8GBA|KI%k_)qh?f*0Wd;B;1Z}4B` zzr=s#|E~X|{|Efn{m=gY$-h1SX8x=HSN?Cxzf1ol{)hfA`(O4y;lJB|`~RW;i~sli z-~9jCf6)0opwq5|7<3qn7*rUz8D9NA{(sN^oBw$j%o#!$G8ift>KIxXrZDVe_{HGF zn9G>Un8=vIn9rEO7|7_x7{yr0*u~h*Sj=d__>JKz!!?F`47V6AGF)Uh#juK@fgzb8 zh9Qw5g&~`vnPDlzc7}}%%NZ6h^f8n%Brt?C1TlCsI4~G6NHYj9$T3(k_%p;ZBr*gt zm@|OxCDUYJXLta<4+~Upzxe;+|Be3#|ATG{-}Zmg|J~r5$Z!3B{GW%xo&j_tbR>fl zgCPUxjuOxb!deVU3=H6&1gI^>$H2|-?f;Gc2mWvRzvchY|JVON|Nr^_zyBf(CJdk( zqFosR7z!A=7+M$-7;HduJ`CUgKmQLp;qKA@H{g>j9{u0(fAas<|9$_r{QvS_nL&!- z-v8PEbN+|?_x$hu-|N5b|9AgZ|LgqM|8MUoBx;nPxB_ujb$Ce|P?U`S<@H_kX_szyIC+cl6)-fAjw> z{I~nxn}48IXY~Kz|8f6I|M&f0_J8mH%m2UrS7vZ!@MN%NaAZhln8mP*;Q+&Sh8+wS z7~U{^VR*%Gli?i0QHH$?`xs6!+-LaCz{>cY;Wop5hBXY+8QK}T7^X2SXE?}ko8dmg zb%vARQHCalN`@SU6oxE@5{7JsVDM~5JVQA{9YYaAB!ex3Cisp+&^@%E`#(h)q!@nv zKl6Xb|6~7O{^w#4XW(XFW&pJ#oESV9Y#DSIq`)^`b2I2Ngff&d^fAn4n9NYd;Kd-z zz{K$5KO=)EgCc_{1L*Wd&-ik{$2fd;NRhYXa1c79jO{_g?b z7QN#Cb6!IvS4p^jk|!)Atq44WDH7;+e*8Il-k7-lo9W!T8DgrS}xmLZrS zi(xXuMurUxGr_&|O$_H5?tteq*D%awn8mP^VGF|^hSdyB3>gfC3@r>b46zKB;5(MB z7~B|~7)%%x7z7zW^{*s@9D^YEey_j(fBgrYR`cV(0E0e*8-pW*Is+dA=oCcAy;KRC-}S%kf8YP<|L6Xn{eQ;)>HnAfKk)zQ|KI;V|G)A7(EmgK z&;P##K1B<3p562RZ~p)M&%>b3;K7i~(9O`nP{a_%;KE?bV8x)vAj81T06G_l8GN@M z6T_GP*Zv>;f8qbP|DZF~IKU~8g+ZACboZ`0!>|9R{?Gbf^S|c*g#QcvF9G+nH~ruC zfA9Yb|KI*+V-R6bWH4j!VF+f3V8~)L4|B3%+{vY_i{D05?hX0-a=loy(fA#-G|0nz}{~z~1_!rm;Zxq8M^uZ%>R@BZ~p)BUyuQGijxSq+~Q-cD zjb+7P&tT4=$iTty;s4$L*Zx2H54th;D!6Y1x}O;A6<*OCwZU;KaI|B3%E z{tGi0GFUN~FeowbFo14ImSZpj=O7gZPKLk#`58^%;3=0^xG8|;s!?2j4oWYC1hyirhx-@t+fS-X2+yVyO+V|xDo&Wp) zFZe(6|D6BR{`dTE|KIw*>3{wI25=eI_rK+T?f-`Vt^aHPm;bK-mjvPeGyhNezvlnq z|C9gE{lEYJ^Zy(S!VH`YU;abR&U^m8pZI^t|IPo`|DXQ9 z=)cE*`Ts2cKmL30@6^9-|Caun{cp;@{(l|+>i!k~EBn{`Z|T2{|JMIo{BQEVzJGK7 z9r*X^pU{7k|K9(j{-^!V`=14FsfGSe`JeYc_kY^|u>X$#O~7N|DgW#KPx-&<|MCBi z|Ns8a1-|=M4?HwG?7 zc}6uxA;$L%=fN`-OBv=d%wm|#(8^HBP|8rj(8$oq(8f^Cki-zi5Xun4ki*c%Fq>f^ z!yJa$3=0_6G3;hI$gq=PIl~Nw2@G8f^$b}IUJN=6iVQjo4h-H5F5nvd`~Sz_bo%-~ z=oIh!{}2CP^?yFN+?o5o_J894sQ*#_!~ci>5B~229>2c#@9e+p|Ni|m{vY!{M6PVD|i{jdE$`~Rl@r~W_v|LZ>k!|(s!|ATVx zqyM-5-}wLV|F{1l4EhY_3|ioOz@-`F8AKQu7(h4Hf$kl6`Tx!TFaJSnU&I(B7~~l= z7?c@!89w|6-4A=||1I!nr#OQ=gFJ&2gEWICgBwEpJ6V;RE8N0%NcetoMgDlaG&8Z!##%c40{;XFwA3^ z#xMii8=b+>#*oht%wWTy&j32fA9M!33b-HT#}L5~%HYG`%Mb`|H$*TbF(fm@g5xfZ zp_rkAVLHQNaNWL+VHLwlhLsE}7?v|EWthrP#SqUB&Jf3t%8VKdACjS-x%ly~;@AN<7f877j|L*_o|J(of0=J;s|9Ahd{h#?i>3`<`g8!BO+yBq{ zzw-Z<|9k%*`+w^Hk^lSuAN+sl|FQp|`zen8-}Qg<|Ly+|{y+Qw(*M){_x<1T|KR@{ z|3Cj{X8@i12O5zCovjQihgcXuC-8s!|KmS9gBXJp1LQ1rX$DCK0fyiIAN@b`A9U02 zG4TAs`TvjqfBz54lOUgYFvK!sGGsFpF|;u(WZ25Ei(v&rCqouP7=u4U2tzbO3_~b` zCxZ)v8-oXfGlK<#8UqKz)Bm7TH6Q(d_aAig3+PnWFaO{EfAb%7CgcDApi}=qx59zW zU;OqTG_DA`@8in<3;#j)f1L*V=GK4EiMkK}-}w(Zl^b;O=ac_`{&O*~F@Wx!%DzE)N_y73+v;Xh>|M;JSL4pBvPnr&cC4(D-FM}t8 z1A_?z=*}by24@B@@cg7cgERv_1L%xH(AkEZ41C~G`xpNo{eSiU|9@cyIR*&^P-_F! z!#nyPbZYmp|L6W+|9|)Y#s540&;8&3zxV&N|4aU_|G)14y#F2ltN+*j?*Nb0&-=gT z|Cawd{vZAiy4M_Z8|2gfKmUs`=rEWwfNpd*0H<`&iLaph#EltD8B7^;8MGKo7(5ul z7(y8A8B`hg8UFqU<hRDxEUa4NdEr+0ep)*$n~H* zQ6K#W-T3+r+;4dZ?&X5+jJo+BbQ&}0cH8^^Z~wpc{}MR8fLc!1{-6GT;Quyo`0xII z;Xmk{(lh_J{a^Wi{r`Rc&;Gyt|H1#8|BwIQ{(tNLz5h@Azxe;w|NG!O86oGCe)!MH zpv+**V9DUX;LhO1;KE?VV921wpu(WSpv_>-;L6|*uC2TnTp0`)#28o@m>EDP|Nj5~ z_5a)dpnF|Gv+$r10MNOpFaJOLfA|0C|GWNg_`mA^ivO$sZ~4Cq+)Cf^eF{RR$Y|KybDAd;J5>|%_0~Q8B!Ut8A=&y80s0C7+M(G z89Er+89EvI8KyH#XXs_9Wyl1lJ&>za89=RTUIsA+6$T>)(EYX!42}#o3Kka|#|MvgA|0n$K1CJsW|4;uP_do2v*MIB( zI{)SW3;*Z)&;6hOzsP^F|3d%S|Ns5><=^{%ul~LK_vYW%e~kb6{)_z=`!D=o=)dHD z_5W7?!~SRe&j+^%GXEF;E7B|MdU=e|83L27U(6S*`30 z-~WS7$OYBfufTUGgX-?r|KI-yl?`|PpZLG;|K9({|K9`GT7SSde1r13B!e0Q=yqRY z1~c$oe#Q)X44~Vo^caj8EEud9^cmzC1Q|dz#gG55|KIr!xuXqKE?@iq@c*m-U;h95 z4=S^n7&sY37-Sig7<8d|!wsBk{20O*Kr^U53^oj)yLmw;N`q#mKsVBLkdGKLnT8y!&HW)3|krYG3;m9%dnr}1h|F1lVKYeg6f)M47V7bF+63s!El=4 zFvCuUjSQO^c7xX}9AwzUu#8~|7%pa*#n8b}#!$eJ&yc|o!QcjN<;XGcG5q@vs(C=O zGN3X6bPFqJ{swf$^85c!!8c-q>I~3{?Vwv-K{qpj@csXn{vU5*Zxoc zAOAo3fBOH_|8f5V{@eUl`!D*R_5b&OFaO>BckSQVe~13<{-@L)@A5z7f6o89{|*0Z|JVO-|3CTv>i?(zzxWS29s2{gc6|LG zbaU|C{}2Da_zyX|9n@<8)$E`i{5$ZS!=Tfj|NrL&hrbSk6}Xm2Whh~2VVKA;lVKLa zG=@nG-3)CE%?vFJO$-eTRSdZdQ4F38b_@;-ehdi=1q>w&MbI4Hz);Un&XCKH$Pmup z!{7`ap9bC6?9C7gZZBms_*`*g z2GA`@pnC{48RQuF8Q2;47~~kV89?_)>oS1O6$iDMbQv@mAniKP9nMA!df>Jg=!PQ= z1|tSLa61Cj4|4+FH4PePF=GIk2kH-lOatALsKy|~z{K$B|6Opq<>3Fl|2KojOy>Qc z_`mgk<^Q7pdH=Kj=l(DLU-rM^fBFB){}uns{+ImE|DX0h;eX=)#Q!P(6aPp45BTr< zKlp#j|FZw}{~P~T|1bSt@xKLJp3eL~^Z(rc%l@zbzw`g$|DaREL31;pwjktA-$&qb z=-GeJ8Pvc2fBp};I~;UkHfSvNA2_dag75AXXHZ}O-Ma`n%N;~(F+f5LbpEb5W$efP{>fn(8Dl=VLHP+hGh)P!7D6gF)U(O$}pFqhoO`qmLZ72k0F2| zgdvE*9h}=$82A{z{J-=6s$e^7hv-2cn}@BV-J|I>fSol1~91{fK57^E1K88pFjPoQygWd>bv zIbzCS#9+qY$l%8i&Jf8E%-{xIk7U8%#Nf%`!{EgLy4Tc^!3BIXIjH{jWe8(PWJqU7 z1&bz|@Wx6~3CQW(-0au~`P z8o}f0{S2Uf)-r~L3{%1D54#w;8QK{d7%IS}Kmd!JYwh51SSEPFNcTD{z>4 zGq^Ljf^(+__^x-54Y3T#42cY3;5LOBgATYQ{`vol|Dbd6L92K{x6goXssQDdv;PnM z-}@hOTh77%C;ndmr-<9&aj!@J-~VT15MltGi4MB?5Yi5nVi00rXZZUcbf*^s185uw zbT>oFaE#w|F-}8!Q*tGdj_xnfAaqWxR?CnKNAD!CIb$JzyCoki)a5I{=W%sVV?Pa z0^BzO-5`GA|4y*kp!wm|;F%iG9Y3I67pSHN^?9!Tzx)5y|KH&GQVs@CPlty=m;rPP zlMn-_L;#%=59<4XPDp2G0F~p?49X0UQUNrI>A+wKzSUlz!Gyt*!Gb{#oaaG#SBe32 zpM)HP7J~(Y3xf}X4}&{{J%c5K6@w*%8G{}J=)MNf4H6m*pf;T;gEfOKxE7QG_hvX4 zm>9nPfAs$>xR(pMk7)bCl4JngUI!W-5CzY8g6^0E&CNdgfBpa2|HuCy z`VYA~2{eMe5!@%*@qf$z4d77R{(tBHJ^w*>D((M&06Ys0YW2MO{}kK`x&9w?+v4T_ zpu3fC{)gNh4Z4ls$^WdO$N)+~+~6BQ_`zcupc^+p zH5cM0LeOn}p!Mn?fABB}f^SKcU=U-FW>5i_kai4q3^ok53{DK7R!b5?CPNNGHbXi? z0z)Er*0+hFgQ0_=m7y6t7C0F^k};QIA;S`eMc}ngQyC^QG&AHgL^Jp^crrMF@8tlQ zY0Y2^t`R};44P*FwVgs4{2AOC>=-P-UT2RdJ$je&*X$N#7Qulzp=9tk)H zPU-9ZFaE#y{~B<=|JZ-X9Z{h1wafoO_d$W~(>?qD$p78oo2NkGzV`o;{|o;w{l5j= zwgineLu$4o{}2B^@PE($9pJmGw*KGq|H%LI|8M?({Qu?ucmKcrX9TxBxf%ZdfB*k3 zxNi+A4?*{EfZ_yX8^}J;-5j_7zyAOGKjc;(Q2j5$Ai*HZ0J=j2RF?@dfcltf4BFs6 zE@*6(pW*la=l`$&KmGp@cs69oe^9Okt!kP4f7bt{;FY4s|DXO3y7}t-|I7bx|9|oy zbcY0J)ZpCzWB-r;KlA_6{~P~7r8X#KfO_no{{Q;V${+-ui3iOZn={xmxHEV&xPjZa zx(pT!ZVdhm0Sq1t7T~@Ms5K(XAkM(gz{c?J|F{3I|KIz6;Xi18=GgzU|F41TuNUBO z0Nq0P|35PWC{KfCAYeDg@G^kzVEqFwNkDf{fJ!XTESD043IpioSkU+Zs3zxS5MltO zR!|uS$~~ZZoSQ)iTw8<62vAEvoxzB~n!%32mcfC+lOc#9gu$1=iNOk7yJ<5hGeB-@ z1NGR&8DtsM7(gk=4BXx}V*uUv;=rKKAj=>K9nApUQN<5V&+-gP;Bv;2!Ir_E!46#i zNi%RV{Qm#(|BL^(|DOfVU2pim;{U?`bN(f8YOE z{}=sV{(mL-ZuO1enW=66H~e4wf9?N`|F`|$^Z(HQ6aP>BKllI2|GWP|>t(HSoQXI587Idc? zD6gFTf95~vhBweS4(LAVd;cH)fA;^~{~!NB{Y}s<6`&cbm;WF9zyALMc)SfX=62%$ zQE+W=@&En*@BaV(4;tH0V=x8JK!HY+K=B3g6KMVl)Ry%F#~{d`ps@qcz3Mg$)(oKW zCy+1I7~~m1_kw^{l7Mai0^I}zy6;exL5slvJQf6+XOm*!X88I4?SIf+PM}+NAN~ie z`#cSvM|%M-vq87Bv4H33KzE0L?g*4*P-ZY-umO);xG{iQ^_~oY;Q7&H@ajlVy&VPa z!v}yzM-v&67}6O)b75r+M$$ec(Bh zw*R2HlZO9||J%W{jG%FkIpFryqW^2bB_U|s@7e#S|KI*+V&GU z|FQq8{~!PV<^R|J%l~Kmzx01L!ySe?aA=1x#4^Y*m@({N5MVsSP{Q!}|E&Mg47m)d z3=jXeFx+C)WX%63|2O(y4MPHB9is-L62s2_PyW~a7x}OMzx_Yg|F3`N|EmC>)^PNn zz`uikAOCY__`$G%;r0K!|AQGM89?Ve9s6g_5XGSVU-@76zsvtB{uTY}`mfHg;{S$! z1^*cTfBnY_s?iv#8UFwO`G3m)g#RD@UuF*ubdFn8I-Azc9ld27N{o#t6n`jGGzHGVWw#VZ8mnjP!|DGK49gk*G1xNxXNY4EWAJ8hWSGN{!*KI|%m3W}q5pFk6d73< z5B=Bsf9>D@f8PJ~86Gn}V*L1@^S>3t*Z&6pfBuX4|LXr!hB}6n{}=vSFi0}^{!jhC zp5YkdM~067{{Q6|(!jH4+Zg^aBr&}Buf*WTz`-EHP{Lr#@cy6NKj#0t8PphM86^H! z{yX$fm?4j0GQ$T3RfgyPHvV^Du>ODPU)BG&|GNIA{6G7j?SIL?wf~;}lls5*-+_N~ z|4;w#`;Yr?>R-8NUAc@cZmP3C2wf>i>iP9sSqFu%FR} z@$vuL{|f$>G2CHnVN_!H@xPBDm?4;9CWAgh8pAFIQO2o^_ZVdu=Kh=f@5H~_|EY|- z8I>3|{GZGq&DhHz#t^_z#=y*Q=l`|;YyVp?gfPBjc==z2L7ed!qZQLj#vjxM;e>eU!GBPrV{Ja16%KsmXD$IFISqxwP zPhn_fIPl-^f7AbXhJB3IOje8y|G)mb{C_z^Dq}2T2E&8@nG8M*xBpxHZ}>Ou---Y8 z8TptNG06RA`rr6}^8ac7cl@_z*vHWOf7hSwzvcg}VtB>S@Spj=3d0_TM230)Km1$p z&;H-Mf5$*=w0{@=&HDfDe+Yv-!=nG&|6TrT`EUKd?tcmYffw?$NsJRe~zJxA@9G`|J?r~41XE!GFUT6F(fe9F)aSy{QvZS5r!ZCbN^5L zXZ!EUKcoN6|IHXO8JHPt{}=u9{b%?8+kYK~42B>7bwK-B{?{;+GJO2+_P^wR3d0J9 zQU)f5%l|k1&touSe9LhB|CN8O|5q}&F=jFrFwSIX`|tm+>ffsWTNwBm=QA)fSpSdt zU&|28$jT_d0NOV?onbq}Yz7sE?*H%qYchH;eqvbgzxSW~e@TWch7{0_uK%2%F=d7* zhPVHX8B7@F{FnRR@ZXA|m?41S@_)bo{r^Az4`x{XU*iAC|D_BC49X1A3=s^!{_`?` zPUGCj;Kyje$ip~`;mm*T|L*^gF|_^v^Zz+RBIA69egCWf=l{0^^`saUF$6Iv zGramg{eSWQ`Tu!At-gO}|LOeS@ZXl9m0=OXh5x+&9sYjwg8xn6)sg4^gHBfg)dAQ3gLbp)Fs%Ro;=enCCByUo$NxY7 zzx4m@|J4lB7=Hg>@;~#x$^Yp8yZ;9;yl0SSRA5m0@BTlKftPV5L&pD||7!oQWGG{} z``>~glA-y3-M`d-tNvB|U%_yn;qL$U|L*+T{Qm{RDh9{@U;eHB-^Q?!5&!Eh>`~RnZ z8~(R4WHVg+&%w~gkjoIxz{Ifs|BL^e4Dt*n3^)Ey`oHwQFvCuUxeSl~_x#`df64zF z|HBxH7+(DE`2YRCAH$#jY5y1fcVx(5ILIK*c!)uc;q-q-hCBZ~|0nL4|QS!@>XF|DXK-!cfmRox%Hm{{K{lcMLBX{xY0k=wc{hn8)yv z;Tc0M11p0ngCV01Q#YdvgBrs@h6)BvhMf#&8PphF{r6;8z#zkToZ;U88ULUB-}wLK z|Bno<3`+m6{>%Ko=l`7l2LA>AbN~1JuK?b6e*6Ek|KVVt@-m$JAMropfA@cNhE4`1 z2JQdH|NZ`V?EiL#DGZVfU;bM$_%TfSzx1E=|62@i7$-8CGqC^f`gi5u-v93y>KH8< zw=qm)@MY-y-|~Oz|F!?+7(^Kz84DS>7z`MK7#{zB{cpv;JO5uW9AvO$C}c=ynDamA zKPN*R!=?Ye|84(I|9|%X&;LpcLJU9ugVw4Z{Qv*|*8esCnHU@ye*b^+pOInTf7$;M z|8p5?8Fw+b{g3&t$H2g_`2UsvpjkE!2499*3{ecX{!jle#L&)A$iT}m@qg<7EB_N1 ztQd~{pZZ^hA%o%f|DylX{^v9FGfesa>EGo4VhmIN=Y!W`xBoBw{~X*yna*I$xR&9< z{}caT{$Kn*_kY>{y8k!9r%SLfNHF~Qzw`f+|9AeYFzoyv@c+<%(Aw!^|1ba7U^u~` zz!=WZ^xxxu{Qs{1pg!2N|E2$Z|FixV`2XWSKjT@3x&IaZm;c}Wf9C%m|C<=t7$W}f z`)|Sk8m;nWuw*#@Uz}kzLnVVILqEeB1|bG@25!b#jBbo+4Ezi;8NMIF`v2VjS^wAkU;p3mzyAM&|6Lg#{IC6g{XeMx za`k`cf1CfW|BEnwV_5m$_WzXsk_@{Uo-;%+-2bo0;KrcB@bSM2Lo34^hDrtKT?WWH8+Nzvq7=0~ezXga7}T|Kk|i7(5xA86+7t z|6le0`hOt?e+EN_NB?*IcVp;c2xDMmU}4~AIPrhQ|1bZ&8KfBgg7(<|PyB!Ve<*_> zL+byd|5p4n{6G1B@Bi8V&;CF9|KR_$|7-p&{1^NG%l|k3FaMAEZ}Wfa|NH-6g6A5e z8H^ZTF+Bah@_zyY1LI`|69z_x42JCt+ZX~EKx@(^8Tc8V{Fh`1WdNDJw62?%*g$z{;a~RSX%ow~FJQ$Q2%oti2IvCs;R2js;?MWSmUWVrkptJM#Fr50& z`9Jx;ID;O;m;bN-pZvez|DOL3|AXc=-T#08clm!3!@mE{;Pu!x|D*rk{}0*=m-OG{ zztR7+|I7Y^TJstIL;qj?pUIHKaR2|j|A+r8F}N~-dN864tNx$Z0JE(TD4S)Aed|6~6j|Ns17m|-o$83r|mN&kKR2mU|)Uy0%P|JMI= zz_YX${y+R5@qgn#rvE4YgH~X#`|tLj=Renfi~k4y8!>$RKmGrQ{{alz3|Ib7`#<;p z^8fz-`TocLKm4DG!Gj^5;T!lYmwW%e|3CVF&i{x1)fgNZ^ufCbq!@GY} zy!mgypuzxJf62+vz~IC1>i_xwpZ}{eL@_uqJota-zbu0}Lm)#OLkYuT1}BD3|3SB{ zGB9v3m@~99+-A7NkjL=*|Hc2z3_%R@80r{6s|G3=su=_sSQ$X0{k#mH{~!Oq<^Spb z(hQai$Nu~M*Zd#%|L%V$h7blFhByB={IB^R`#KB4$ag-T^7$h04{y+O)jG>U>B*T4% zLWb|){?q^e(F|n_H4M%SKmYqPtYcWnkjP-lkjyZjA(jC&M`6m4$xy=(!SMb6jsF1* z*BEXyBrvcuy!rqBzYK#vgABv6|MUOLF?2KZFc>oY_^-ea!jQ)h$so)C8ZTmHFl5kV z5M%iM|H1zY|EK>i`M=}8149tQw*T(`E5I`*m;TE!gfK8OH2*jI|Nh_ie;xlB88-Y^ z{{QFShky6~iT=<0pZVYNf5iW)|6c#O|Fizj{r~9y#{cI3-Ttrrf9!wf|J47j|5t%` z?)UsZ{r|@Q)&G0`cY{YQ1O7Yy&;LK|fBXN{|KI)J^4{9`x@-rK9iV8<|*;XT7EhAxKt|EvFR{?E=J z%b?1j%W(7m_Wz&%KmK3#KlcBT|8Wev7!nv-|1|khRSjZ5>aPj|@|LzQn8D=wtGB`1mF-&Dx$gqZC zH^VH3Kn6#KR0aL6YJ7|KIhQXJCnE`Y^>+1iF|1bWRWqA4@biUmxh86}1hQt5s{!je>@xLkqE5pJ6o&WRx zSNz}jpP#{r;miNY|2zIq{@?X~!T*#0pZ&l5fBpZ{|2Kg5TD$yj{x8I!&9LRa-v2}Y z-uzqjAGE9P?Emurg8!ZWZ~lKCJW>K$x4aCzW(-uOm@wos1Tly+eEP4<5W&F0aPGeg z!!m|Q1|fzJhE)vf84?+o7~cH<^Z)Jt|Nprep8a3*|JZ*sh6;ut20n&Y|F{0%{a>45 z5<@Y=!~aG9XZ?3zSilg(aOwZ~|6l*_|6lpP`Tw5(EB>eaulRrT|DFH){_pz#>OT*| zj{o8Ri~gVf|NcK{&A{3J`~DyJ|Ng%#Lm7ht!^QtX4807M41fQ>{V&I$#vsdJ3hvo~ zX5&m4R2c#oS{W)B92wsKzy03=ymDXy!&-()1{sDg|CJar7}6Q67-GP?%ZeD(8KfCJ z8CEjni*0Vd>LdIlo<*c<}qY5fNIFQ|7{pj8FCrI z7?>I6{Xh8Mh#{Oonc?mK+y4*!@A;qmzv=(u|GEq}{`>uR|6lY!=zlJFyes%WD9;@K zzw`gZ|J(mx`d|28{(t`eNB{r+zxsdm|2g0ooAdwXf6zF`!~Yxp@Be=eJO_99|I7b6 z4229?4E79~3=#}x;8Ox>!84A@3=0{u8H5-<{lEBs&i`fqKm6Bauw@8gFlD&@zvutt z|NH;n{Qu`a=#EzoaGfZ^z`^kF|Jna*|AS7!yYpX)L4e`<|KWhK{rLq zGE^`$Fvu_*{D1Gi7sED&O$;I6T~`GRg$&8yv#nM!tYx^taFn5h!JHwI;S>WK;|7K( zhE#@XhA0MmhFXRr4C@$L8EP347@Qc=7_KwOG5%)Q&d|nC2G-5UsK?04xP_q|yz3;J zVF`mQV=AKn<1~gshH8c!h7g7thFJ`K4D}2J3^5Gh46zLM3j7>XF){onro z@qf@RSw)7w|F`|``+x919|I`2y#9af|GNJh|6c{KkNf!l`2U9gi~j%m&%vmB4Fixfs+L^ci0KU-5tM|Fi$E{x@N0VbEom^S}Q8 zk^k}xUJSYn@4>qXe*Oo|m45pVx;6XVe-rTf7y|}zh9Cc*{6Fx2@&6P5-~PY!f6f1; z|7ZW7@P7?>EVSl-=>Hl2uY=n;tNu6tpYVU@|4aWb{@?k3;s0I#L94Mq?aAc-#{Vt; z7yV!R|LK1z21bU8|5yJl`N#Wz^8Z`^B^fjrj)Q03_x%6*Uzp+D{}cZ|{|{uyWH4n= zVQ^+BVrXZmV<=?+%|kC{xXi%A_?O`j!xaW$#%Bz38O|~2G5Rp_FkWN$!tjG(8^c0| zGYoGT-ZGqK=w^syh-PSJ*v{~n;UmK_hI)n^hBAg+h6;vN42KyeG1xN5GFUShGJw)H zXvYRW18B}voZ;>Nv;WWi=U}i0@Be@E|J45-{~!MsW{_qOVNeFwgYEyD|NsB*!yv?P z>i>)XMhxZ*|NcMv|Mfp;_W$pHJ_dOPBL)Ws3kGI}b^kYjd#<37T+qA@14GCEwEt88 zU;Y2>KWP5%$^Sjzy#l-b&;H;0fByg5|M?l18Sef+_wgP)^mWVs&i@7fyTGTV9R5G=|Kk7a|Cj%_{vY{&4!B%g{J#vmD&^vTT?PS$ZU1Nd zU-logUhV9E(5k!F|3Pa`KxemX`@j4D^Z)<;{{^q-1kDHOF(ff0GMF&@`VU%5C(V$^ zkicNbAi}`H@Zmo*Lm;?)p~;}npvnN6>j&jQT?SqTV}?)$O9mMR1qN4!1n_=v(E9Li z|3Rw|K`mX-emBsZ=bQiM{{Q^132kc#fZJ1-{&)P}^k0O*o`IL){QvX+MHp-tSQrlf zKL;MM=Lem7$MEU@x&N#TW(Rwh|1bRq&0l~2 z|L#9%-RQRe<^R|GH)m*LC}A*VU;wWpz5M_0e|LszhB5|U20aE{1}lajhFpeB26F~R z26hHl@GjMIhFAtW23-at=uQ^ndgJyZ=GAqCWz!bpx#kxcvXr z|6Tvr{Ga*1>;IzvXaB$a{}Q}Ucq4dx{p0`F|Bw7%{Qt=R@Bcsi-}Qge|Nj3M{wp!a zGhF|_;H-WJOAJL&&t5Xz|QdT|H1#DQS)Q}kNn^M z|LT7^20exk{}+J!?mPbTGH^41)_gHATm$bI`t)Co0kn=#f#LE0b^n+DfBIj6ft6w7 z|Jna<{RgeH;$To`5N3GtAG8```Tw>5Z-LjF^D$fl&j;Q8|MCBy|C|h-@LV-iChgCBzg!~OsJ|3CZ>+8L(FAkDzVAkPrSki_7`;J^S{2WttQ&G2SO0Iy9f zWhiDSVMtW`hWKS>i=v0 zzxi*?;0a!pB+tOh09xs-$&d^_?L&oupMixzl_8#?ouQq}Ig@4( zW>91>Ww2!kWJm_@?E;-z5ycS25Wo-yZjXW5btw!949N@y4807C7$z~~F~l$gGPpB@ zFcdLVGh~4GXGSyBGSo7JG1xGG_8qE&*9*HbM1t1>1Tq*ifKE5#VlZWhV@PN4WiVne zVX$IQVGv<3VDMqEWH4j^jm^CJf8qc4|NsBr{eR>?XqPN2!>|80|8M%g09^8d*4^Ly zfAjzS|A+q1`oG}+{{LIRD_Hvf_y2GGKN-B%f7<`X|1JMJ{;&8CnzID0LpuHc&i{-5 zkNn>SUaNNJ|L^}?44{1tFaCp8Q-Ri}fo4u0{J--5*8hk9|NRH8vHA1=^#8s8um8XO zA2hfA?ms^RE5oz@55OyTK;|Cawf|L6Z-^MC*UXW$y+`+v|XW)NG1;qU(w|F`|W_W$R9 zUIsx1K?Y`qTmL~T#F!aG8NU91@E^3_4Akqm|6hW^hru7b-_4!DgTa^qv`0*x!JNU5 zA(bH+yox`CVIspqhH8dLhGd2!hFtI&1K|wn48{zp3=IsRwU31i-VACCVhm~wp$tU~ z=?p;()(mnCqM%s?hFXRS1~&#!A3z_xza)Smh#`Q%of!06CGjKD2=GZ~A zo4gGA4Dk#-40Q}T46pxx`7g@=YL$WJ&wu{sU~po{0M}-}{>w60F<3D;GDI@?GRQMX zGT1VBG8iz(GiWh*gV#<6Ft{=pg61d~gut`fLJZ~%q2Tpv_6%GMpf#wVT@IWK0u0g& zq72{vU;cmM|JDB=|AY2({QnOM%X9x%{NM2Z-v7_wT^pzVU;cmS|K|Vu!F{0x|5yKC z_kZF4ng5skKLy?=aPt3({|*1s|2OnqX$&V-RIfWdQBv0PR{~WngAdWUv75t`ufaWiSD+n*pti z0x5FQJ@{i zpc#MAt_XbwVTK>z-4-GYpnWaU3`z_N3^EL${?WJppuMU)|L^~Q_Wy(bptJaT|4#we zvLF6~PVKw&|H%Kn|IhyirKV5d_1usCpZve?|LOnt{=fMD;{WCU+y1ZpfB64>a6CTz z4_a0B6Y6&bhxfB(-1&hhvDzyAOF|Be5b|AWc^G4M{pFaIC?zxMyle;x)thCl!R z{s*nF1MRy2#rn1XC;s3658B@Z+V`^c|DpeP{{R0k0?x_b!K+|j{C^H!r|{=LXot~n z@GLw70}}(N3}FJFCUX1#jsKv1o&Wy-{Qv3y=l_5H3o@uM$T5I+M&ARM>2eJE40a5z z49*O$3?2;D3_1+P;C6rpxE=wOs74Ih3}y_V9Y>(F06MYj!+#zIGX~J=eNee;0ABe8 zS`h|XUkhq)g6eHX24)5^23ZCv@LE}E2GFV;eg-ZE0S0jfQ3gQ<83rQ;dxju}42C!c zGX^OJ2?k9DI|dg98wN854F*AmKmXtTe+J%}z{eoSz{T+G|NZ~h|33t;i)UZ}?R0tn z|Ka~%|D_nzz$ZqqGcYoMdIvxLb1}#=fKCSj?PUhFyaX877(Rf{RbgZJ{r^7r6faH& z1qM-uFaK};fB2sPTz`W09DrKWp#8a@|9|)oStb7R|K0zWz-M3_`hOj~LJqXvA5?Fz z{=feJ#{cvGcl_`Ezx@Ax@L1rP|EK@&{J#R+Gu-|E!2ey~)sOrC@BDxE|EvE${(t}f z=KuZw7yj@3zvlne|NH-+`hOpMve>Kt5B`I8+k;v&pm9-friCjzI-n_Ukc#YARs{I|fe%eFg#WYA?_V zT#$MN1}Sj44Qf-Uf_HHlGVn2g+zUGQ?brYR|Ns8~`u{t)eGOWn&Cc-S|9xmld2VKq36=KR<&IgAjuV0~^EZ{}29yc6_rk zdir1;i<&_2Se;8WCo{1*Y|K`sVR+vdan z&;JD&RG}%7AH1%fgMpa=w9<>80kj%VgaK4f$b!=WXx+6EgARiQgC&C{ct?U2g93vb zgDLn-A^`>_1`Y<$T4i|#H3lsPDF%K983s^zfJ%NDa0>#orb`-pMhs|Qp#TE|!_)sy z|ASWcgHGZAjn+Q>f9e0j|De_FtPG(30BHZ>i~pc?T%W;vKc4=7{{I7b3=WiT#2ADb z{{4UZ|L1=`1|bGv26+Ze1~mrI&RAXWj$ADUEe6oeRFGde7^K1dQjiE}R$7rkh=GSe znn54j4&i0sXHWp2-2hra2wEMe2wpF1$Y8{v%)rk8>fz`!fc98uFmN$|c5L#1b1_IC zXg4<~MgI5?+OKyDyf^9Q|3m*5gIlj#{%`xg8GPQsy#Mq6&jX*UHu?XA|6Tv<{#S!X zm3#l!|F8ew^?%0ydH*MYPeyI{-}8UQ|25zhsw@64`M(%Eo;l(F{Qq12@BY6Byw7#- z|CRrj{Rf?5@$CPv|Ns7f_z&702-=VP8$24p%m6BbBpA3DSQ+@hE5ZdCG@;SBPW9xgEDyEGpLmciVINx;4Qe8x$*zu z|F8d<7~cIq^MCLEBmb}dfBgUU{{!Im-roQF|8D}Xkel^?;r|u?*ZyA$UNg7+|Dyj3 z{;&DJ`TwT>oBr?oe*hew=l);#fA#;}|M&l2`o9mnViPn9apM1#|JVOt`+xrbiT|hn zU;lp}y#MwIct7bgaC(8Jhr|&;cq} z{Tb}QxzmEdoxuUzJC*{kfClaE0i7Zx!vH!p|BU}r{!aj(53?Pd@<8oL(CH$({$Bu};sSCNX!q?w@HsP} z-McsbUj?u0y!#*2>jdpszXe{sdLO)J`6&2=6VSOYpgoL_!RN(+&VT{64?wjB7XxVb z;j8~&|8p{c+GyMipn4lr;)3E;mO-8Yv^zwDK^xpI1ho_G8FUzA7~~j0=QY}Z#~0KX zM8W+&188lf!=TMz%HYKi5ACgcgXeX#8S)rX7(yAm7y=k#7!nv_89@7Lav3rhk{O~I zd>CxOWxqFrCxa(LFhe2(Xg?h2UIfq%qELnqh6IKZa6hw{A)O(eA)ld;Asc*}gck#7 zC#egAJ%bU0DuW~g4+As!EQW9Yzko+_AN&XHivg_xNxP?bTQL4g6(+mK`cwe3MVwZZkE27@L8Xg4Bghbd^^3#fDk z?H>f~w*c*Ka{`|n;SFAK4%z_?8iTTAaAyc*h+qh2@MUmjuwpQ0aA5FZ2w(t>1o(i* zcpSmIp*+C*=KaCvJ*k7&IH)qHF@Rb~@(i-z(;z@2y`Y*GGy@0PM-OTbPWmtP|HHp; z|K9$4`S0GpOaD&%JN0kZKf`~=|JMI?`1|M2u0MT$D*q(>G5;g<=lAcYzfb($`g`;5 z4ZoNCp7(pn?}fjo{GRxG;qM*4&;5S(`|od&KSqC|{?z=L^JmweTYp&oTK_Hl+x9o( zZ{pv{f4~2Y|F_}at$$Dcz5b{Cf9iihhB$_Nh9ZUy433Of8MT;FnXWRmGt06VuzX>D z#camX%QBy(k|m0zg5?j(f7TfGH5|E|p`3F$POt~EPhsE05yi#H6UVE~SIbw*XUzAQ zcL{G6FE?)u&tvXL?vGskTq0auoFbe%ID$AXvj?;PXM4o8zT?nT80pYga7~hOZ(^WFX7*uf8YK^|L^@D@&C@hf`9t|g#StZbNLtY zPyXN0zuA8!{@(j@^3VN0pZ{F`v*=ISpSQoQfA{5<+w`^V>%y;1Uv<7-`%?Br_RI6nS3ckPeEajG z&(A+U`F#2FzR!C;AN;)M^TyB9J_me$^J&JXwojKowS4yea^}mMFGs%gewp`$`)ljh zFJBA3z5bT}UF(O!Po7`Le|i5t_dE8_(?6kqH~(e%XZ+9eU+BNsf4To={k!{*`9JG_ z!~dK9M=?BNuw$%doXNP5v5zr|(UY;Ck(J4j=@;W}#+tDt(?=jY`F8dt+`papK-0=%H!I~HJQ7H=O>Q##p#JIA(=t$@vm?K-Ovt2xVbW-aCuOu3txYH+56?gmw>MmzuJDa{37<*{L|!*${(3NYJN=mxcno> zr;JbipAtW<{dnYq#RszwWgl*R2>W>ZW67s~pUggg`n2KG!B32ztv@GzPW-I$dHE;q zPs=_o{>c65-6#1k>|e#dF8Ct&<=SVzFAu&f|FZw{txsK_Hhq%+Eb_(u>({S5-|l}s z{nh)M!S{dPr~DB48UHi&XY9|upX|T-e|`QX{QKIk@LyMcI{ozik@9`-_mZF4zZd+u z{3qm3?r(`-GCx23{P6q#pN)SE{+#>W|NG_dsz1;Etogh4ALsuA{{sH4|115s;_u0S zMhxzZs~II2!x`)tmM|DHo@CTxTF7L}T+1BAypVY{%LP_dw%e??SXJ31*&0|svuLvN zu(7j$U_Zv;&S}Xh#u>?ZjFXWoo6DSg4!0{eD|amS4en{&ySc)+9&&Bx_To9t6U+OW z_Z{yM-if?tc_wpT;(Ee$k=vH{C@(Yb3vOfXM_hln61X>VAK)(H{>62Q>mS!kE?+KR zP7Mwz_DyVc?E5&3IUjPwaolI0&0fi#!M>TDi=&#|h)tMv3X3mGKeHH98pH2@djDAe zRs3uDe}G{xBO{XwVMGxg8#w{8jNolOBnC`&-y3)Z}Pw7 z|G)m<|F7|X_P>OG8~<+n6ZGfQpP0Y;e;xnS{7(Me^ZWYm>3#-xGe%`d#{K+m9#TU4QKQvFb<4k7wTo=e-1qz6zkXlz-ShjKZx!Dze%1Z@^h@^F`QLKCcYlxie(BrSuVG(PzV7+T^=;3$ zmEX62FZ_1-i^mtHuUEeEebf9F_RZ^?&^Ntr&EE{aX?|V$MgHrOuXf)yeqZvF=l9g# zYkqI~o$_1lSIG~pA3J|q{I31I;CJhvg@5<_TlxR!|K$H(|LgzH{~z?9`~QjmrHm@f zkt}ana#@ZrX)*FJax<-An$FbEl*J^+bc*Q-%Lle9_GY##EGIzsqq6$48MC`{NO5X& zws5F(+~s(}$-tG!d4^*i$6Ahb4sDK290Hsb96Q)k*eA1#aF}uYW}n3VkS&NUmCb=& zk7EJHb`B}dMV$GZ@f_XkMjQ>C4>|2Q+c-ivu5j3JUgR*~NaD!mG~yEDa_5ZTILkhh zeIk1l`%1QhtTwE3S?93@vZt~$vzxPVvMRFJvY4}avTb5ZW_!u{j#Z4Ulr@G$gk>qq z3>G_>|)Mls$*HQ1+x8dLCe+mEY{dx8~^H0X#DSy}f`Te{4&zC=2esB8u^T(&3GQVAZyZ`?1 zoA;04@8>_?{>b`q^oRA&<3E0W=ls$AWAl$oKi2=){N4Ur!dI5B$G@n3efgF3ThG_# zuNS_ueQWw=`u*Z}o*#TaOnwCXIQ)IpH->M#-x9v9|0e%k^vACs`+h9^e(c-tZ~wl3 z{^9ZS$&ZL10zdSA?E2C0)9sh)Z@xdNf9(G(`!nmW_P>vR<^PudIsND9-he-) zW^R@*%z?}@%#)dSF-tKAFo`fNVoGNgW8T2Hh2bm1F~*rp3CtWUjVv2jHnOZ>$z$PV zdC$C(`52QjlQB~>(=(=TOchKs7&kLGGkpG^{9o#S_W#HKZ5VtQR2Tvnt}rZMF#kW} z@A5w<|J?e^_rK?V&VSJUdFKB$|LXpI`&am%fx(oa^Z%}YM*nL5p8GTT&+9)$e|`Vv z{yFmd?CAUw41{{(SiJ@b6=PH~*{n_u=o3zd?U{{`mY+`}6D9 zo}d4I8vN$^^Z0kvZ{^HE&aRV*Sw$nKVyGB|7G}Bv`7SEFCP}EO{({n7x?$nev(b zFvT*zW#VRPV%*M{z+}!G$5O$n$F`2`IGY9A1=bR_P3%1!+c^$%aB`}0PUl$4-p^Lf z`k$qkHG=ItTMgT6*4ZqAEXFL8ST?h?vc$54upD7_VRB&PWLm@=$#S0gH`5}fP$mtg zRHl7QqRc7G%FHTEa*VQ!pBW37+?nbay&2;FKmB*@-|zKlJ~bzX$%f{jvCy{^#ePV}E`B+5KDdciW%Y zzvX^!{Qcn1mcQM95C75p^XzxY@4vrve;@yC_ow;K^*`o+tN+ISJ^ZKVkNIDre>47_ z`8WHY{l6oBZ~uAmyY%;-U&=rGzw3UN_@VW){b%*h^FL?(68-)4*Q#HSe_j0T_jm6< z%l|+At^ViqZ~Nb^e}DWv^Ox^0&!5!aD}LYj^X0Ggzh8fY|9<_w{+I0UM}LI>ZTUT0#zuxe{~Z7M|7-uZ`roO4od0k9PiH*Iq{Dm{eDmg2CMo8<%n>X>EXSESn3I@7 znI172GIKHCWfEha!CcC0$MlJzp5YF|S;nJGHq7&xtyz|_%waKPSVa z&G`4~?}%r@c4lulD*v1gS5XJC`VIAXN#;=T*7}qhLVKiZCV+v=Q!uX0oiP4V9n>m~L zERzwF6canscE%3I?TjK!UQA|8QcPM*d`!C;=PSyF**zvFYpXC1q|I`1U__y_6$N#AeJdAS~rvAV9Z^FOGf6D)w|84renxT|o=Kt&e z^8SVVbNQ$A@AKb_f7krY`YZQW`|p~+9{(!-J^K6YkKLb>zZ-rp{XPHBkG~uL75?k| zyYf%gpR7Okf2aJu@_XK&4}W(5S^9_Juj}7ae^&hN{Uz`#?^nm~4S!nydi*o~&%@xy zaN+-xf3p8}{Ehy5_0RM_9Df=9?fJL#pUOY+f7bs_{(b%@=Fj#&J%6A7ZTc(oxBKta zf9#<30ROH3ef<0V@07or{uuw!{B!4b#qW;azkfgdv*+)>zhD1e{k!7t@xQMB7X7>a zPwjuj|J?tY{}cbKGF)KrWjw{m%Cv-W7sJQ@H~-IJxWt&n#K9ECxQ-#4fq_wwX%EwO zrU)hlrU0e_CUK?%j0{ZuOdFVTnKGCpn2lI|vna7HVyR=+WU6J{$f(0)!(_p^DwPrXl5{D zT+O(Gv64}l@hSro<7vh=rcNeLrc|axrq_&7jAD!&j58T_{r~fC%fIjc>i#ePZ}NZ6 zzlwjg{~Z3A{JZh*_B%Kk0=_v)X@fARlo z|JD8D{(tAcF2n8r;r}21Tl{a?zjOb3{uTYz`=j$Pr|M7fAKO2de@Fi2`Yra`;Wyv!X}`>Wh5vf>E9Upf-v|EO z`OEZ=?eEgxdw-q!75jVY?>WCc|Fr&f`N#Xu#F{m-RGMxK&>2LYpz`uommHv7Ek6{4a=+ekg zz_5`)fiZ+JgfW@1opBmt1EUk;2?hg(r~erl1Q?F~-}v8@VGqM)h9?XsF$DF`i!ED1^&s5HMgy9;4 zIim&RdxpCVJd7-i*BHbYk25+kDKc$hY+*daXv$>GWXjm_KOS@&=Kn^9UdF$SuNdPP z;}}~1m;68R|IL3!1``GwhDHD9|6};a`p^Ae>A&KCA^&v$$^29P_xP{Q-`GE9f3E-O z{mb)j*+29DpcBm-|J(oX`*-rM(%%DrPW;jMyY+9_zr+7F{+g)eXa2tYd;RZ= zzwiGp`pft?;E&0l7k_^LefKZ(zwQ72fBXI_{XO~T)}Ow=lmD6j_xS(&U+%y4e|P-( z@Z0!L-QU&!4FBhVcQ0@FpYng*zxcnZfB62q`g8EF#lPBrng8zo_4w=l_xs?vkMv8#mtA8YnksbeP)aR*O^NhlVNdGs-gYGg~vSU^>AV&3Kt{50f(UI;Pum_$n=tt zjd2#kVFnRK3r1zeQw$~yd;g#O@4+yOVJgEUhFS(*hUEV`|Cj!EX6R(-VaQ{UW?1lF z;{W1*RsZ(=)BJD$f8)P%e}n%{`dj(0^8cy-Y5x!X`}EiOukGKQ@)GlI|P5@g_DFk?8tki~d~@hD?3 z<0Xbd1|bH}ET$#HUWPpkJq+6zT(OrM!lncpyJGQ~1#GIlebW6WiI0N&9c&&bW_!8nug7~@06%Zz=D){LBtj~TWx z^e_Z7h%#J<-ZQfDzx#jQ|9<}u{eS#_-~U74H933!gYHH1|8M@E|Npyx+@P~X85T40 zF)e32&T!%Xy??I%9R5xF$M=85e*=b@47`kTjMErY7JVs8CE{r~X)HUIPf|NFP) z-@kto{)5(jz5GAzKj(jkf0=(7|7QNR|2Okr+&`ax^ZyuH{`LN=|M&Ob zrT-BO;S9nI>;JR<5BcZ$@AyCI|4jdH{A2o`_y7I>FotA?FaIt6xBqkbSO4$RKjr`I z|KFy3_J{*|G)p=!w}Et!1R*oEt54^>7BbvsIL@$`VG%~` z_>kc}13M#VpTk22R>mU6iHu^56B&9LZZiloS~AXNlxK2d`ph_)F`QA7k()7!aS3A+ z<2Qyx1`P&(hCK{Pj6WHfm~t79G9)o1Ff3;H&S1}&%oxHb#rTflJA*8v6{7;&}ySy z|0DlL|6lR{*8fTWum7|97yOSIynm4Uzvll9|JfMc{-6Bc`2W9uKmL9H$N4|tfBpa1 z|0@5r|9Ag4Vz|KYk6{_O+%x$9f$ z<&1`mTNyeSRx_+)2n4TwEMqvx@Q*=>(Sb3GF^e&nF^DmM(Sy;0QG{_jLnA{uLn4C; z0|SEwLkGish93-97`8AhWk_at|9{>8_y1=w$TP|@o?@tE@CBd9t-+AXaF*dbLn}iJ zLq0 z@ZaV?&;R@Xj{dv%@5jF<{|^1z{_oJg3;)jiJN@tJKc@dI|9}1C`ET@J{r|0h6aUry zYx`IHFYuq{zx#ie|K0aj=3no>z5nL^Oa5o_kMAGXKjnXs|5pDy{;%zy`9Ix%F8{3l zY5sHhH}#+D|8@Uwf>(B({$Kk4{lC@!PX3enUkTos!@^MbUkubz_`mZ1r2j?#qyDG= z-}qmNp^9NTLq3BpgEB)nLoGuD124n9|7ZX2{eS0wK7%S_HDd%LH{(TyO$=KYjxk(j zc*^jXft68`(VH=x(U_5!k%>`+(Tp*Yv59df<4wkujK++|7*;dfVlZT!$@r5|nn{Am zj46^ylBti;n9+-|mvK5{C1WXLD`O2~31dIwPR7%WI~a=?*%@~;OkyZxC}5b+aE(Ed zv4@e1$&`tm={(~(Mg}HzCPt>2jFyZa816GDFqSj6Gg>m91K&yj+QmDOVJCwqqXVM| z<1vOoZe`oMb ziJbqx|I_&2`~UZU69zSgH{cyH3;)mkzyAN@|I!TV44e!v|9|)ox(kMfVdMY0|NH*O zF}!DBW8BE#$Z+rf(*L{v|M_ps(8$2USjAY#$i=vvp@pHBVKPG}!vydxB6$pf3|S1z z7#=amGX^q7GnzBk`JZHGdaF;=gaUtV##*2)L8P_nbVhm@z z&oGstpJ5Theugg$7L4hPsf;#^@{A^oIgFDSCo@iFT*G*faWSJK<1=vo;Tl6Xg9^iq z|HuEo_%F!-TJ!bm|BnBK|6~8>{xA9u8YL5B2w-SnSjMoPVIe~cLnwnH!{`6!{_pyK z=f6HfE<-EBbcW>&6B#TScK&zy|LNa_e;@x@|8M_){Qsl>m;dkjzxV&s|DbcQKmG6h z@AzN$zc4ue9{qRr-^G8Y{+;{>x@qd_ziZ$cRQ~^te>(r}{r&wn?cddZM*n;M@B6>t zf5!j#|2h9X|3CZJ^DpOL;=lNR&Hpa`Q~K}vU+=%<-zm+@u;YKxfB*ls|Hc2G|2O4d$G_SC4*Yxk z@6$if4*ygC|NlS!Kk>iDf6M=Q|9iprrnLWG_5byMH3k`mbN{FOU;6*?e+CB7iV9hV z84L`J8jNC$=NaM|e*8cE|MUMKhNTP_86GfPU|7hI%wWM_%aFz}jbRVNRfgvbFBncR zOk>Dqhz94*oeY~9_A%UGIL=VZV8)=tV8_tO@R&iC(SXr{F@mv}(Sz|7!(xWH49^+j z8ILi(X57i>$#|1tCj$dx9^)3q1B}}kH!<#H+`>4KF@jNo@jU|zV*q0>V=rSVV+G?J z#>I?Pj3JCcj4_O$d$kWSOlIg~SOmU_btA(nhHVVj86Gq2Whh~gXSn-+$Nz=@m;Jx^ zUyLD$A(}y%;mZF#|3CcKXRv2bV)+068Tj0^U;o1xHZbgDaAjEgAGFeE>;GT>xfnkG zzwp2AKiB`$|33Zm|KIRG`2Wv;NB&*=$MfI(zx#jJ|0e&%{|o+C`Y-bT&c8kXuKr{H zZ~wpg|BC;s{!tM~;J?@Z@c*U%%m0V|H~z2oU-!S`|GfW8|8M-?{y*fu>;LfoCI1)wzw-ai|1asMO!hyM@zANb$*f8_tH{~`bR{@?p2@_*9*+y9sT*ZcqcpWy$t|BwEI zQruebip`$?t^arbXJr7bgOg#{`rqUKpMMYk@&3;Or(_)l(E0n{!S{puGvqMDFc>lX z{eSBJ+5d73tqi*v7J+l84)~6--~SaD3K>8*PEThjV2EV!X7FVwXV}DWhG7juA%h=7 z6hjrmJcg|d3mGyP^uT)r6d3#%Oc{>-kNxlSzxDs&{}29u{jbT;$Z(4R)Z%VtkYsrE zpN+wg!ID9d;miMn{}=yX_5Z^Ef8bp`mJD7Dehm5yoD4h+Iti_5eCJY%2RSani9t<`N8VtYxKluOSKWOz5JHyNWFaQ7kFTeo0|B9L6(|;}oH-=1x z6b3)=>fiRcgh6L8 z-}&DRz7?nod{f%i|1JL`{`>w<{@?w7@Bat?@BUx&zwm#^|G@ul|6Ts4{qOkS170gu z@!#dY(f`o@{r}JY|NQ?gct_cp|Dd(iN5OYlKKc(jcbSFZ-T!0%SN%WvpPxaKftTUe ze_;j-2GDLkVQ_u3^FL_63+Rkw(9Lh4d&*b+kNGe9pZ~w@|BC+$|F8T%|No-@2mjys z|L8yH1Ygiu`w#wK{lDw~vj0c_^Dy``6ftx&^fRO}s4{@oLW?sPGXye}Gt30H$!;-x zWO&DLnqf9W7K0AMlm7?*fBRp~@R319QF>r{5H7o2NBch531xH2R&1Tcs(ocTZfe?NF_bnX8{a35&y|DOMO|Fi$sgX3X6 z_|8){hFAYV`(!}3;Jo|){Xb~G>>BVcz}o*s|Lgy+1fROV3ci~}p5f{LP5+nt-}?VD z_{5H$|7QP1{#*QS{(t|!GeZf37Xt$W=)OJBDdwOP1Ga)!j_&!t54_TM|NnL1HP@hf zEZYB1|G(@1v;UF|jtqJXZ~kxkKjDAH|APNL{}28D_Fs}ghry4bhM|)ook4-&=>MYs zF8}@hH~e1=zW1%_f5rdC{|o+uPP+o#{c-&N!vDShC;wjpzK;sDhvWMH9sl?IzxV&| z|L^~A{Rizs0-Y7V_5Zp5ObmVuZ43nriVPRPXQOZUzvKT}aDNcAA9~9F-T#>wA{jO@ zfbJ^yXSn||LOmq{s*0x%))T>|C0Yx{~!9#%izHf!w|&~2|j@zbaK{1@R=A# z{!jZ~^S}H5j{k4}gI4e>gU@^d-3@a0|Jnb${%`*ex&u_0L7PF5fsx_q|11B`{=fYH z+W$TO+y6)X5BZ<}zwLkJ|6p)iP5QsVf7kz^|6~3q{?Gg$|KH}n{M|5pD~!RKIg|4;qz`rq!q8~8?Rt^fZ2C;dPBA9UNuhyN%3ul>IUJPY;$ ze6RV-|DY4bAO7F?zvF+^|N8&4{vY}O0DSKc=rkw}@E#&rhOhrYyLeXo-vv%1C;p%R z{~UZayejyv5fkv8fi4V53{4C(7z_5_vIKxYZ=L{PdvKV|AQW;tpsu}zklo^y6LK$W-oMO1au!mtH_|}*S46_*e z8HyQF87dhjF?2CRF~~D8F@SE61??N~VrXO72rlb;8P+pAVffGRli@ML4Tgsd_Zf~c z%wfo7aAyGBr4qr=!LWg0FT-MnT5xKMWk_JiV#sEQU~phC2j8}n$k4(tmthIRRE9F> zeFV1PJ&slkM&R2nKznvB{h$B8@Bf_t>;CWmf8#&s4zjoZK{pkF)<4TJC^85#Jo~@) zf93y3a140`XZ&9R z-oM}cKkk3{|Kk5s{?Gc~@;~i=(Eot{asLbcH~#PZ-}pc6zu$j{|Cax){@eVw`)~W- z{J+tE`~PYGyZ*QSkN&UrAJn>&`fvZ=_rKYHF>ne|`mg$5@xT0k9q=vBng1*PPyG+t zBe?#5^?&>S>fn3R=l@^uzx96-`2OvU{}22Joz=hP|B?To^OQk%o?Q69<^THsoBwb9 zzw7_W|2M$*qx=NluJ`Fb=mcp22GBVxkk!7RHN&9&Nr?=_3{l{4&1RUzu!La>_~f1i z3`ZFrFx+K0%CG}`m){YFeGEGoHZW{r*vGJ!VFSZ8mhOG?q7@8S!8FIik2Np3DFjO-%f^WWRVrT`|>@Ez# z4B!4UGiWjRfM;wY7`z!kXKH}XcQgm@A`E1RVMu1kXD9`?c6=E?cf|=Yurh$|zxecD zn!%kRoWX+O&;JYm&;5V%A9S9GECV+KXom!7AJG5*KmLPuRjD)RG6*w#0PocX?L6fH z_fA1K&#wUQ&jy_-2|8u`_y6nvxBXx9|H%LM|5+J6|G)bG#Q(kjmx6cOfOdGS`9JCZ z{QpP(UjUEXmHkisAN1e(ztw-+|H1!D{?Gh>0K8Uz?f+VE8_Ml}$p6UyhX23)d-YH5 ze-?Nhdhh>y@SfrD|CRrj{Ri#8Tl>G}f8zg)|NZ~B|3CbHH+YBM&i|+XKLzjLJN|#d z|BV0X|2zL50k?8Mr!#0XJorEJf6@QS{~Q1R|8K%z${@k;{Xb|ADd;q^SO0JQKllIE z|DXRsd#;}Szw`g^f6xuICJd|$m%(?cefn?A5YG_9U-lp^l+|p_rkRA&$Wsd;^X+0~dIIIp~%GE(QjM z-~V6z2in89XgNgrJ{@463`JePZ?tk_FW&aQVKk|R$|9Sss|6lcg2l!0y zoBu!jfBJv#|Nj4Z{|o+4`oI4Fp8q@lgKidB{vUJ>{I36?Gg+>HZ=8Jp|K0z4|3Nn^ zF8x3G|APO!|DXJS34EUw=w=Ae9dF|kej`v1)TqyI1c|NdW-!JomK zL5+cnL5#tQA%US8e7jK@gC_%MwTHxDpH5q>YfBB!0!GIy2p_-wA zp_n0t!HWU3qThu<9lWy*G&bbJ;Ku;MfeayF7|syLV8I~F0NMu&x@C)xK@qy!T!(>; z;nsi9?RxkB3o=-P+Xx&C-@v<${{IJ^3lG{OZOGux;K(4)@c#eF|DZM%=w_3<|9}2x zWBC0alwv`Mnq_~wU;|BwG)`M>FZ@&B&> zYyThkzxV(4{|EkG{r}?s$Nw+?U;MxQ|EmAnz_TQvyBk0|4MoAbav2z;7&I898Gio1 z^ncHP(Ci;*4<{RgAb3w5Xy*qb!w>N34xn42co;Ys#2A#o?PDBLcwhtH}J{zP7JmTmJCh|{tWI6It;?#8wI%- zL>aUgtQqVXoEbo;>w`|O@?}T?kE!M|fNmtMXQ*MwXNX|{odyi5jX`%(vM_+oS^557 zn!yl!P5@-bh$e$71L(dG0|sO8Sw*T0pxdjYzVpab561lsKkI?(}iy9DHZaBc=R27U%9@cwVmeTT3A9|zx* zeeeI5|6l$;{SVqbbsN0b?$Q4%|1bT&`~T7ZbKv$o=f~aToq?_`eW*Uf+H2Zs1G*SO0JQU-N&)|K0zO{@?t6 zCb%uJ7F@qB|G(`28t`4U)BjKZKkNV0|4sk%{^$Mg_`l)*W$0arpgT|x{yz>r?c>h> z%iuG_?*4!F|Koqqc}Acb=-mJP|F{3&_x}|5Cdv!Y5(l&&5Of>vzyBNzpfiR*_Y%l5 zs4;-{%z*X`D}hg-6J-zwm!k3vd<@Ls^GSb!ZyW{flHYXRDU4BC$?#{k;>BhJ9V zz{0@AAkARSki<~Qkjvo5V8{U45oFBZ!Vts|#NZ4b7gcAlXYgfkVbB8a08<6ub12II zI@jqb_%345-mBZ-lM+6G&zk08-~^}a_y2$X=K!Bc0y_1GAAEO+ECZw;cJKcy@EzOF zz-=p5@J?V*I}LOKpcI1=gEoU9gFb@_1L%ex(9T29sZjb18VnK)pmGAVyZOZbUH{kq zUj{y9XXF2!|3N$P&w+2C1oeVJw+DmHNC54E2i@87419;hr~jb6aiG(Jguyp=C^85z zFfxE{Cjss6z6ah5EXE+n02(y_ofq-)Kgfp<|3CTv>i?Vn5C5O|zxn_2|LguA{r~De zKZ6!{M=R(Yl|TPMx5|M|8o2{LYv9X&9tJrEDR4^!bVnWogD&`H2T=Qx4;o8a;F~Z( zH@fp&9&&PW2?)@lvDeMN~u zn1P!?gh89Zj=_cjbi;=_1ITnC2GA)r|NjdysDR5~OYqGSpgTET8N3)kcj8zxKw8Mg z407PT+J+2%3~>yR;L;a#(-P=}6wvJ=x(p@^`V64Z0=Y$q0d&I#Bg0$pIRan*zx)5> z|6}ldB%u8F;{S#Jd;f#Z#{=C%b@Km~|1174{lD`6%KxCdycU4#y&3-}{BH&CT<-b5 z96Y9S~6Hh8!DmH)5*|NqYe-Z2llds&)6kwFuDLyjB+H^Z<0 zU;qF8&&B{ssi3-20o-l@on!YOd?v(q@O>qJz;3Tm&HoSJ zd!2eZ zqyj2UK{s9LG8i%#Fo4ERL8rX1F#G|Zm%su(nM0C6kb#}y=YLR70CX2M6T_GPpb<3C zZA5qegIY$K44^x&R2g^~e*Opb=|S};sGo4>|JDB&!Rh(#e^5Mb{(tuWoBzN5gKkR) zosR@MR{(Se%z5x_G@xGbq5p^fgH8$+ z0wV@R2G9uUr~iNdgZBD^PUevSmtN`&pxx!5lOEN zPJ{t;w}1zO9eAull!1i-bYAq=|7;9044}I)<-zwOSu<2IY-Cu#FqNT%L4=|1zcPa< zqYgvgKh6I;7%Q1%7&sZyShlh8F~9m7_*de;)W4?RH-G8@i%fY;XRn|C#+u|L?PZ=l=yVC9>{g2>K_)_?V&U|Fr+_|6OF@V0p=M ziG3pLmcRDDj{o1ywu&>JU6*MhLkIIKRwp)g7Rx{BKMa3g`G1#5lG%kZgRzWZ%HLPN zp8op&kDFPA7}Wo5 zXPm?E^LOW;j|}HHqS@#ExBGMPza6s|n-WVIvpy4OrDre0v42i~@35R@(`EVg|Lw2s zzeN9QGV?RO_+#={mjQIs#T3?W%u9Z!{bK&R?DzT~pMMJf;bU0&U-ob8zfVlpn2$4F zW_<8Z>rel$kH5J7{bA_(f8*Z=#`}!UjGg~}{F}>Y$GVh7;J^F7Ee!uyGCBI#ZZXvS zYWXAe--t<`v4WwA`3ckBzt{gdvaDe8V)@7B&UTF97sGl+b%vD;-x&@wGBM6%GG!8C zNdDvZ_tig%e+9pEe;EF3`OD3u@?YxzWF{MCSH>0pGyc6}`1^m}pU3~)|11A}_WSYQ z84On#r5MEjPW^N0m(bt)3}H-f*bZ8wNSze>Es;H^&?tXH)>^(*ZlB^w1uy9dQeR|)c{xicCeLrm*od%z`DerLJT2%j~uBa-$2n;hJfB4^1BHKT^+DQdZ?uXHdVQUZfnV6034r zAyW33;$sD7g{`Wd8dXZ|(nV69$}2Q)D8`6;iAISE2=9}0mgkb0CR{JHUBH6(K3}5f zW5FGq{cKlR)-&B=dB~x`8p@=|q{IG`^*_@DrpXNL|K9vg`os6v?EfQ%{@?!Z*SvrE zz4%AzFNuHQ-@m*w{gC%^+7ru{=id3hv3+U(MC-2Kt^WI0o(ewceQ@Z(=7;uAbzg0M zw)uAQ%_+A}Ty{BYekJn3&RZte!mj+k@ZpU6#Tyq_pWS-V`j-8bzEim;4;^bil5>2~ zX_J#hhoA2|axnb#`SaI~SMBE67QEx;uKD|}9|=7+@o?h);yrd-?{8bUH)~hmcC$T& z`?qc_-L!Le;(;04u5X>WCv^X;y&rZi-QK?A-u5XQ#Mj8IFWj+fkKERM8~k>B+8ML0 za;xSJ*In0lELrcpGJMU#4JvCR*MzL%Ty}J6!O9nFvsRp6`DnfJ`mZaR)?MCoc%AWb z+2!9??OnTTt<|cRt6bK6TjjBQ!t&c|nAcBS%dz3lrn#F}Y@WJ>dt=Z>!EIkQPFeGN zli`k(ZD+Rc-o>zU$rkR-%ePAI`FQZ~fyg}-+qgGP+NE-M%K?l1DZ4YaDsN5SzyA2U z6CKBo98NkIy?eC~-@AVE`pe6+%nKK0Wy|`Sb3teBVWX*nF1y@brWEd#kt0KR5lE^Q-PB)8Fa; z&iyF=^yf?I_m#gl{#o$X;J3w}e}5k_m@>TkdEg7c7yx3 z0INVew-eVMUQT{bzKdK-*`BknkPk<$a}Hl;%tJCx!t)6c<%9;^UvU&z$L~TA@E+{sPGhtGZMAJt3(!v zT8grZwTNyIwUC>xG)>~a@M@`R3VY?>$mz?9%j}Y~Q(~1<5q%*tL)1dLNb#lIHZe8{ zHMs|hvWf~a?Gj0nYzh4&)UMjXI$jXICc}rcC%TTD5nl0<8x?1I>oTj9- zq`X{=ii1j?$_1qj3O8jR%GoG&XuQ%g(<;(1RaH~wSGXm^Cu^qUuJTcJsiLT2gTf10 zDXB=Q7TH@$ewv=zf3#j|d{O7no})ioyIoFDZnj#FdYFu@K7_HIg(q)pn@~ z=!hDG8C}+|)ZMJft)8c@p~r0aNx#IvTX&wOoko;usLF1&scJG>9=eG-DVi*rb!rxB z7d29}iuKY=3XSe*acQ^cFVLQd)8wrSeggNljnp<-`D=WWu3^)#(9?^?f+DUXoiPOH5@Bg&Hf4gQT)B| z_xwNpe=2^-{F(Mw>)-XiF@HDxE&Vm&2g~0j3_||}e|7wr`t$Se%wNf0e|@R_sr}3S z_v+ubf6e}$|84v4`~Q-DH+(Vq=J;#z??>OdzFz&a;Q!ulGv8T!&i)bhRp6`Zw|l=F|NQ-N>!;(NtnXZ(ZhZ>>V*QotH|L*;-!6SV{AKOe z`md$m_Wj`b`TEkAH>Iz#-}--j_#^s<_s6AA ztRHWF^!n2G{qR@YkHMe&zrFtK|Doq2*H_K&K|el!3;S~8Q`}Zv8p&Kl?Y!&so2p{?h$s`!)HO z$zRU@Gyj|ad-B(jaUJtbhKK)p|1D(@WZ3-s$FHfsJAOU?yO~LdX~Ey`KjnVg|2@Kx z$@HAz*FRo{Xr@VwZ49FSe*ayIbDEcz1hwdDK%Uu%Ccec$rg@bl6yzrJPsc>MMKCzX$zKP~;X<-6Qx z_m6i!&-i}vo8@PfFQ2~N{L=k-?$-z3HNP$Vc>lwMPraY7eBu87<-6^-6W{v2pZO;A z&HwxA9~?jLe7E>|^V@}=Gk-LFyY)@&YyIbwpHsj1e);|R&X@3S2fwO+{{JcYYtPq1 zUpu~Pe5!pf|6brz!>87dOdqDaTmJU`JD<L zzFhXQ@74EL{jblxI`T^Nt=s#a_Z!}cy*>I?=Y#e8)|bDY?|IeuCjIT?w{mZsUM+gX z^|trJqz|(1JKlJ`wtk!bF8JMyx0l~oyqfrG$-BMp>feOF`TzRji@UELyr1~-`a6d= ziEkL*O1|xWBl@=g&GDE0ucm!e{^tK_``g%edLKgGuY9Nc;oOJk@5J8OzjJz%^``FQ zj!$OqcE90zEA#f%8@UgrpLpJ1dgJx}*(d2wvL8x5p87oflk$fBt9@Rjka>!-V) z96sOpQ1I#1k3&CKe9rg~@!9eF>F?@amw%b_z57Scmzkf{e<=K9{xa($jH!&98Ks!kGPAMBFz;h3Wv*de#p=h*%&f;2&z{A0 zhwU=EJsTTKEXz3-FP4uiQ&=llZ?d+s@GzAzEoQc3KERm7kk8o2`kwPL=M&Z&OpBT1 zn6sHGn5#IXIStsFn9}~4GaO-U=FnjiXPv=%h;<38HQP^C8)gNj1*{Sr^Ej$Grm%lu zThFG#{*FzHU5u@n#gmnv;~4jU?(>|XoO?MLI3+lKaeU^O%l3nH7F#}RIm z$5{+nnph99axyD0v9J|#^s(|W-C!zVSS6nS$?zBuqLovWLm-am~jWgS%&K@mh5co|JjzX-DZhrsbi^THDbNa@{aWk z>wP9whJOr|Ok0`qneH&1WGP^M$H@NAl;H!*3ifjL*=(EH3R!)bm6%qsF67kbT+bH7 zk;VOvgO$C8Ly60lb3c0^hXw~DyDFP2>mn9*<~qjzjGTcmFf}|M9sPN1_{PW#(j)I%o$8;{+0jT{(mFmt^XbW-u*XX*!(Z|@Ap5Qe{TL^_}Bc; z@86@phyJ$zi}@eG@bCYPzc>CyGMF&(Gd%wPhT$vYGsb>~xBoBwll)uskCB1v@6w-- ze$V?K{J;HQ?B7>E*?wI7wc+plzf=Am`Fr$l;=k{IkNlDQ_vC-s|EhnlLAO`_zrZ+& z*^goIuZutD{LT8?_`~#P!@o|3S^w<+)&6t&c9k`)l{F?>}b$$oeJl$L4qb z&wJnYed+tU_owH-UH@4Al>83+9r&x~*QH;pe?9+oKs=r`xN`Rn|P^9RGvnqTjK&HZih=hsiQZ}ML~ zzJL97{`Zw1Prm8>EcsRZ`&*PU%!9+9{Lm1I$8R=^3Tj)zCV(G9Q`@vXTZ;zU*CSE{ao@R|aQ-7EIs`>f* z=i6Vue#QQJ@pJJnzuzu@ZvENwJNCEp@AoGfrhH{NMTK`=9iGT>q#1&-*X&-|qi{fAxPQ{vG%~kI|BOJF^*6`2RJ35C1*& z_tana|5q9Hm{&3;{xAB^%*e=i`Tz6(zZn=A@BRPtul%3#ztevW{z?A7^S|$(=sy95 zIsYU7cK+@8XaDcuU(SD@|LHO+FwbC8Wt_=S#4v-QfB|&o?UVmo|1tk7{-*|76ZbFT zA0I;x<28mXhCK`$7}7wud@$Z%l4Yr9zQfeP;lRJve_aeS7#$gnnG%@InLjf4i(EY9l{&)OS`?vI8%slF z2Xe!ImH)^7-(&d7Ai;3=zaB#(V;9ptrkzYPm?9Y$F*GvF|38;uBJ(?z7fg#7|1dT& zo?!@Q+{pBp;rhQ?hE%3Gj8+VP7^0ZunP)QdG0$NPX0&BeWq!)Elj%Rx8K!fL1q`_i z3`||jn_1Sgny_tUQDEX{yvq21X({td7DLuF78e#)mRn2(Ou@{_%wL%%upD5sVRvI& z!1|Omi7lHgknIF(FzbC*6}G#q_UuPEv$(!+FtN9?g|RzvByoIWKgp5C^^SWw&wTDi zPA`sZ&YztBIm9`exlVI)@jT+5!EMZam#dA-m-{Hsbe^kRTwM3LB6!yEEZ|^olo;O@I+{U~Dypi0Y-1~X7c*S{^aHsLC;N|0=$v2P3g4>+y28TE2 zN$&l;NxTj`o4Dh+-*Pc?3-Vg=ck|_Oi*x#NuHbgyRpd3};pE=R#mF7ZZO-e;zksir zXBPKnZdPtfu1v04ZW|s~?$?}uIdixUaDC!F#$(LG%e{sBI1fLMEB9^gg*?}|r*Pfm z{LA^C^C{<9uHD?7-0Ix?+-+ReoVz#{a`tf%2COY&*{S{%=wwq zl&hQ5mLq|^n*9y?8TNekIqdJ*8926aeBoTrna+{QevnOzJ(yFNYbl2vhb(6hXE8?* z`%$)gY_9C@*i6`j*_%0Tu;;R+vN^J?Vx7nu$tu7q!TOx#8_Qo-8TR9B%&dtlwXDr- zAK9AOG}&0$Qds*~&#^6G_hrA%_MdG%`&EtyoRheGxgK$Fa9m+`Wfx_yV7KQe=X}RG zk%O6Ch+Tvukz*Q1HK#aN8)quVa`wIKdK~N=9qc>VpRnI#SLgV_-p`)RK94<><0*$G zhX?y{b`4HBZYLgD9xHBcu0~ElPGin?E>`aSTwl0maqefY<;dom%caZ7&GD99fuoxJ z2zwD{Jf{=;6*e)>9cQA#Bu)O?Bl$~!OPLj(ZQ*~`HX!X`$~@I9Ov1s z*b_PWINq=wV(aBN$Em}a$T5kdh@*fbkF%dEjw_fmheMa+KgU~6U(N^)kX#;=oV>uqP$8dOZPUFnrwCB3O<;1mx)1GSuS2U+0$3ph&>`olq9Qo{v*vmPDIrP~1 z*t6K*u?e!Ju_du*u(z>UvmInhW!Gh|XRBpPX7gfIU^&O^$})?!gk6qf3cEXd8@n{S zJX;mpeD=%i$?U(`Ub6DAPG@ysm*Mbd4`5r&YRSsOTFM&DX3Xx)9>tc+x|k)MS%kTW zC4}uU+gY|*Y>QaqSdOr4Wn0D0%&x({i`|r9Ny-M`FtF4xM>1zIYcfw`Vr8Dl%*5Qp zw2o;S({)Bm#u<#9%=ej}GpRFPW$-+cZ--mx$|K|Q>`|I=f`QK-ML;wExBlEZS&(q)B ze?tFM{+aUU)t|1vnSVL|=>MMiTmH|%-#31B|9blC)~^Gg->)WqI-)DZm@vY$dh98ALM85lcllyM=L*vKP?-RbWe&6%8 z=&Sg*qHnU_lD_eOpYToWTkE$a-@bf(_Vw4dpWnTI{QMsH{p`0l-!i^?|A_lJ>*uT= z<=>xu?qc)i>5} zTfTCB^Z2&)o6+~*-&TCP@$KKYDc}6Qz5O=*yUq8$Z@%9ozNvpR`6m8N=9}`j!fy+{ zxqb8eR{GuJ$G`7ezl(pD|F-jM$T$1%&OfgIaQY$e-Q=6!w~OCmzWaXP{VnDj=eM`rEZ{E53*Q(Eh&o ztIOBEuMyu^zbAYz{r>M;^|y=PCVprCq5FgX$FuM4-yeMI|7QHnqp)9(C=P9j{P0^`{3`HfByYx z{3Gz^6z>=YHq^zVw^%kL;hlf9C%E{ddaWw|~O_ z=>LiTv;2?T--^Gke>eYW__O)X_dmveSO0nQo9BQ2R{iDp zm;3MJzbXHc{)PSX_?P`J<=@-C_x^tP_YSm@=AY5Oz5f*cTmLWrfARme|K9(z!K+w* z|NsAg^?%*}Gyd)TEBH6#ufxB`|LnkPrEULT`uE|V@&Awi3jb~TSN>m_VK&2Nh7N`l z1}_F4hKK*p|Bv|Z`v2hn)Bh{}bNzqz@7cc%|Bn9a`ya?4&Jg$i;=j}XEdHA^Ffht7 zg7%enF?cfgGQ9rZ@?Z1+xqk-#Cou>z&0w0xXuxpde;30D@JlTn-T8N)AzNsRhTE0_*5=`qDJnlS1z9%gvLpu}X){DSET<0{5A zjJAw1jLR7>G4eABFx_P|U~*vI$ZW@4&&1E9z$DGIi}5I9Dw7?PA>(<5tBjACG?+t} zE1179MKe_}i7-!Np3A(E*_7n~OCHM?W*!znmix@>nX{NBnJ+SJXL`xR$!yL%g?SZo z5_1UiDP{+jJeFFPToxvl-^|lljD6uSO;b!Gzm16zD;=tm=EWvz~c{Pgxs|M?P zmZdEJnUk1jFbA;gV@YQ@!MupMiRC|Q7F!IfE{hn;Ru&i5ZLEh`Em=3RRIp^Qgs@y@ zj$~fVtk3e0c{TGNmL+W0*p9OPV0pl@n`HuvBWn~}8QVS9d#s^sCT#7jO{|q{f7mv# zHL6OW#whP#`=P_omHK68jBChT^4S( z3v8Bb+^q9hx>!nBI9boLer3JHD#}*D7RC0Kbp`7lRw=f*Y=_ud*pk^g*-o>`uqUzy zum`h0XYb)~06AWIw^?!Zw37i}f_CDBAc&cUB8lJJx?JhglR@53n+_U1XiYdXDuYYX_?i z>o1l|EPq&>Sbwo-vg~GF%RHHRA@gQt7v?4=9wsg(T_z)@CyZMdm6=+Ye3)dJ!kKn5 ztz$aI_=@2l!x~0Lraz1?8Dkh@86Ny!`(NsR=f9MH+x~6-=kxF9-#dTR{(bt_|3B*g z^nXYHD*S!>$M`SjKbikV|I7aM{RN$sC;#{MpU^)wfB65t`xE%b{?FV$lmBS{+55ZT zchT=vzqkCh{GIY^#m~Z@mw(>-S@rYU&$GXt|FZh^@MqUgouA=9xBT4rbIZ>kKNWtx z{n_?2?B|M~AAVl?dFJPmpYMK1{W$ww^+($e(I0-_-+z1f?c%qS-NDzD9l9_HE|3OJ7;P>VH-JcIaEeH<51w-yVNG^0oh~?AI?}%D(b^ z)A;89ZQZvy-wu6U`9<}M#h2_aU0)c#PWYPp_4=0uU!Hz>`(@3S-Cs_8sr_R6MgNQ0 z7r!rMU!1@6e17;z_bd&$^#`KY#pe_@(p9hA*yPetnkvV)RAt zi^i9GpZ!0pf6n|o>+|K$L0@KlVg17S`Ohb*FI-<$zA}Gx{~Ggk-j~&%=X?(P68<&! z+v{(B-yVIr{rTqS#xD$C&wiQvW%ri_U-G}a{j&G#x38DJ-uwFT>*TL&U%!2s^3~#7 z%(n^OZhf2hP3N2ZH{oypzZQSf{qFO9`L|_X8NOP6J@j?U*Uevbza@M#{wDU#@mt@w zyWhTi+wiU9+s|(a->ts$eQ*7)|3mf1o$vp@tN-}%{o!}xAK5>Af5iQ${bBLr$@gpD z_kCaU{n__|A0j_Je?I!r_hZ73)E^JN`+UFgZPvH#-z>gA`#$Bz)gNv@=6|33{qXlq z-`7!gy{vVHjH2yICQT5~F57nQ%Kh=Kb z|J3{``=k8(h3^?ZKL4ovS@ZMgk1OBTf1mWj`{(4JH-2*d>ioIkN7auNKbn8I{%HE~ z_(#CcGe1Rsnf;3VmHR8}SMIO*zgGY9`1R+f?XN?>IDen~vzKM@ZSr5Kl;7t_r~AXes}$L{hj-}>i6>BNq?08 z&i{Mq@A|(^e?R=W`e)al)IVZ>;{W{mi>;@@&C;J<^Q|?&+Gs6{|o;Y{kQvH@}HNXj3I@=lHuR~y8mzf z<^MDN7xnM>zl{He47m&s{wMsO|38;Ojj@E$gYgkVC4)UfCIc_y9L7?{9Sj-_<_wb= zelSEamN6zVb}}Afyw1qZVA zGi5WKVfx0jhAE$^pXo5uLnamGIA(L^9Za=M7n#JFA2A(aa%JAfJc(JBS(&+uc`Nfg z=HtwAEM_bsEPt7eS(dZBXJKUZV%^Gmne{yDMboYtJ4oS~f7oQ9l^oZg(} zoclRjITv#LWtZasow0q7ql5Du=XuV2P6N&u&cmE>$xs+-Q&8=^^xlWR}9y0&ikAfId5{BaP8)L z&b6IuHPyIN)Z(<^%;#Lmd6x4G=L*hB zP7h9LPFYT8PDRek9Dg}_Ip=YDa#nI4;0)({z#+t0#F@vb&*{uLi*pjE3g>5zPaIP@ z%s7fU{&P5RGI37k$mPi4$l~bZSj91uVqOSg ztcO@Hvc6_r&T7jl%c{Z3#rm6tjrBgu5tiL7{VdKbj4Wa-PAqCHUzrav*E8EQn=zL$ zFK1rPT*fTKEX{nH*_B0`nCzIdnX8y5G1oD(GxsxPFqJZGW_rhT zo9P16Bc_u~YnhfXbu)!A2{YYbT+Z0eSjjkXMD)8nW35?o?!yRB!)PK9tLhkJ;vMM^I*O*m@+0ZrZ9RihBF>!q={4hS#xh26Mq$QTj4Dj(Om`TcGX7-jVEn_t&DhL%obf#4O~y}*HyCRfYZ)Ig ziZbai^)r2AI>02!bd2#Gqa>3CQzX+$rc+G2m<}@?W7^ELhN+H8h3Pe;0#h~9WTpZp z8zx<*6s8?apO_?>rI~Lt#KY9fxR>!4<5R}ljE@*Mf!6IY zZed)@n8>Kc=*~EcaW`WYqadR{<8?+=CO;-mCVr+(j6RGqj9HA28DB6~FlsPnGwxvQ zXG~x$V9aFnWXxjR$#{qHA>(&OX(m}FE+$bX9;Wk*>lu$Q9%5Y2c$V=y<4#6DMmxrO z##%-rMpec_#?6fT7*8?2WPH!Kh%tn*jBzdFGRCEhiy7M)(;4*`e=V+>;SV-#e3$6&*_pYaFd21aW} z3B~}%X2vSUO2(axKN#OIu461_>|^}P$j-Elv7a%UQH9Zt@d~38Q!JAk(>KPojC&bb znDm%rnC>#JV4Tdjh;c9DamIs;ix?*|Zf9g<3S{bHTEVn{DT&FRDVu2p(;lW(OdU*f znVvC8GerjQJYV6()P; zSIhr|{xs*AX*^4=fIhQ$v*@t;1^ET#S=I=~z znNBekFhw$LV`5{z$P~h4#k7ivhnbCeBU3h022(v#B~vhy1Ctq(B$Eh}GgC9uOr`=R zWv0`NEsSN18yQ)cgqfI`)R}mhiWqems~DFuhBJO-_{m_zsLv?I$j8XQD8ZP;c!2RV zV*{fzqa5Q722BPrhV=~Lj58Q#GG;S!F-~O&Whi4<&2Wt20>e6nBnBl0W(Ix+4~8O! zI0k+29oyCn#tb?P`V64GAq))1z_%MM`@j1Cp8sq9*Zl|WJ_GHQNc#W!-<5x#{;~Ym z`=9u~`hV7c-v2%SZ2uYjGx`_tZ~DKUf9n4Z{ay3-{NHzfzyJOC_wwJFe@p&O_cNbd*AQdzZw3B|Ka}g>$lLK+&_E%^!!oz!|>sRFO>fa8(S$|*twdU8dU(*xNT zyMJ!{nfvqGkEuVpejNS5`BUnr*iYG?e}0_#@$!eo&!nGeKXZRp{0#p2;m6`1`+hL} z{P|W}^(X+Io( zr2W|NW9yHMAEH10eK-6u^~cX2tUovYaR2e=JKGPR9|=G7e@OiZ{W0mssviq~)c?r& zk@myohyD+*AC*5Q|ETz3`9tc5*N?eB_Wzjwqw&YoANzhh_`&+q^r!t#!Jj{VNdC z)8(i8Pw$@=KlOh){7nBj?dO`GOMg!LS@|>JXX?+)pYA^ye;)a<|Hq>r>_3%$%K!ZR zA4h)d{c-xoo*!F({QnX2GxMj_PwtH7=nensmXY$W~KYD&F{bBQS>(9ME z`+r9N)cVQ!Q|)Kr&z_&vKl^@e{<-Prj-NMwKKc3R=dGUyes2Hy?5E-{n_ou1lzwUb za{d+htK-+1Ur&DR|5g7h@7LU4r+64bOx2f|HA*}|I7a`{eS!a zga3Q~FaCe*zY;?ZLlHwJLjglJg9`)b2HtY;xn4^diW$-vN*UT2dKj7+S{V*7s4r(DWpP0Te$uT=H8#Bu@YcX3f8#5a*+b|n5OEEJuzh=71be8E3(-$TVWe7~2`=Fy3b5Wm095VfxMZ zmhnF$E7LzlQ6_sPPbMoS8zvtnXC^ZyPo_{NW2TRcn;9oDPG#K0c!+T+V-Mqc&|Ey@ zG{#KE7RK|8EKGkGuQ6_5>}70boX>cM@fc%0qaULeqa~vPqZXqHqcWoaBRAuFhARx8 z87vr68Pgfl850=|8Ce+>7?T+%F)n3X%{Z5_g|Uz^hS8LfmGL3N8HTM4%NWiuNHe-I zYB9cJIKZ%v0d$_?b%uQm2N~`$ykI!MFqL64!+eHhhHL)||JVQD{C~s$!v87%d;d@U zpZwqFzxRLr{~Z6t{`>zg{onV0>HmfQC;ndozHzegzw>|b|C0ax{!az(2HpGr!2jj{ ztNsW7cl_`4Kj?qa|ApXNy=57683Y-g|9|xV=l`$&&;MWdfBOHn|BL>=|8L2V%22^j z0X{q63BwD9H4GKtlc`D>k1&2As%fY~@#`%GxkHeQEl%tGeKF3*(M;zxlj&Z!=;NoQFyv?zQBbUR4LzLq%dn7w6 z`!lw$Z2#EqvURYjurabJuxYdXVBN*KkaaohR8}9>4=i(7GFg&YYFVbRw6Qp`JYjBQ zwqoXG=3w?`zR#S%63%joIgDA2S)7@ZnVngIS&8`*({v^srb~>g7-utjGwxytVen_@ zWH`ofhhZl}2*alTO#dhSoBr?Tzrg>V|K{zv{l`Y-sO_CKS4cK^8l&H5|%xAV`2-@AYD z|GM_``A?o-_P<(x9sYIq*R5asf35tr|JV0llD{Q?i~r{Nz4e#;uL(bGe_H*_`&s?d z-;2IWf9L!z_?`9p|8G*?mA-%ccI4ZhZ=1fY{`TOT@AsYG z-+h1g{rUGV-z9&v{)qjV{mbt6(%)Bp^Z&{EbK#G{-=@F&|33VC|L=ppT>m`&_5XYJ z&*p#r|L*_O{!jeh^?%EMb%x^%C5-Y+=a?dydzcq7^Rdikxx#XUIh8$Hec!uf_kJPmVvH-iaeLNmvGPK zUd+9Tdoy<#wT)kW`xmI(n<;>@3W#?hP&ITHZv}e1`YRg*Aa+7&J za~1O|CP}6)MmsRWpDZe)TI`*scm*g+LUyZ+R z{3`p^|MS$3_#Yp?&;CCBd+T?u?`GdZzdrtA@m2oYr*9G8r+nY=eZu$D?`_{teEBs%=r@lY?uJ}Xy$D!}$-<7}De((Km{oUky!}q=4|9zkMBl@TOulc{u{QCSW_4lve zPJjOVPWgT7SK}}LU*W≠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

HpLI&;I}SzZe4} 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

eSI`*-%=w!is*BmVmS4g4GPH}-Gn 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

0kf9d~mC>ffJ# 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�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

-Yam46+Pb3>pl|43glQN|HgJ zL5D$@fsuicL4ZM?L4!dLd>)WCgFb^jgFAyQgF1r>gC2u1gE4~@gA0Qr18BEsFhc-? zD|mgV34KL+BEjvTKn4#6FNR=-ForOO2!R1`h^L z26qMr1{3g(dLsr423H0j21l^&V1_6LHwFy`Nd{F0dj>BCHwGI9O9pEOO9oR0Gw^7G zIfE60BZD1-A%g~kIyhZwgXcg%EjLiP1IjyQ4AKk?3``924Au;03@Qxr4C)L9;2H=N zx=IX&;P#*wLl{FKg9U>Eg93v&gA0Q#gE504)E--~4N?q}40_;pp&^4AgCn?Z(q>R( zP-T#15CFFkG{CI{ZU#PZ9VN=Z#lR0{DKMzOYcNGHONc=N9KY%eRt$Cwnhc=T;yMi4 z44UA$F#-F^l0gC7Zna_XXYc^eh$t`!Gl(;&fa6e$0km6FhJhbkHi7g@Gw?C+GKe$C zF{m);GMF(KGbl6gF#P=g<39rfI|DB`hl2Kpe*XXF|I`1k|Nr^__y6PnC;lJ$e;m9r z_S*l;|Ihrt{Quei&;LJwS6Scu51K)K`2W{`9tM5}Him!y|NQ^<|HJ=J|9}2xW)Nji zVK8QJV(!yNxPmAJohzu{5m zW8+ulH{jpE?=8?K&?>M<;J-kGV5(q>;37dDp-Q30LP5eiggHe5L{^BXie3|)Bc>y6 zA^u71qnMlcVsUYaTN2wPBc+Z?X-m(R7Ll1JV=8-A)?Kb$ZjszPxnj8}xi+~sa*gt) z3QrZv72ha^DeYBaR}ND?s;s4wsM4x3MWt8esfv>tyT)G)KF#MEsT#HFx$2f0DjH|h zB-A9;XKQTK^w#py($ZS1X{_m`C8!&zU#8!rSE}c&e@%a;!9+u8qi~}oMhA?Fj8u%2 zjZPZs7~V8kY4BNppL;Ql$I)9SM*f+ ztu#?(rP>tr95s2B`-%_bmE?BGtdeGwUMW>Bl__N`RVSGy5iVXJW+GZDd|fbDAe@hl zr+_Ph^DcWV+dg(%Ix*uP?t9rfo`L8G3PtqTMeYo$z%LfGycRldCuXgX&9jn{dZ$7>udPDWP z@wG))Q?FjU(s=pOMUe|k=RTdzIyLiT*~ynD{Z6r*I)CE(v1dor4;vi1cJSCijzh~1 z@gDwgsQZxOq0obe_rKiRyGM8rm)uR;@H$Rk`x-@}WQF9aoYf3#Jl2@4UBB+_dYcV9*Ym8OyRLLy@w&KmZR?!Zn{II5_-m8z z);Zgyci!E}u`6jO`;Lj*R&Vv&dTUGAmc%VVTLreO?A*UAefRF&rh8KM#O>L;r)=-1 zy(jld?bX?%xBKX>t-Dw3UAe#bpz~p!qp`=!PCh$z`gFw^uCp>{JI)+9&31ahDW=o% zXZ+8Ko!fA3*7^Pmzb;(AV0B^k`N;Du=M&GFpZk7}?ZVXyT$jwRbY6RQz48XE7WSg{RqdO`w~cR4z7cz~ z=FPEp|34Ibs{9=E<@J~Juf<>czW9Eg`)Svw^3PRY{Jw7gD*cV?d(jW>U#Y);{a*Ha z&#%s(H9!7;|MdOecb*^4Kd${a_Ves7{Xa(k{1|!}_b{GfoXoU|c_NE0>q6E)tlez< z>|fc8*i=|`SUxceu-;?4&c1*>fqe_R9mhG2b)4_G^myLzJmi_j^O7f*x0u(B_X_WQ zz6JcZ_)qb#=I`bA=KsZakZ&iS2mdO86rm-;-Xd(GpGBvOT^C~$|0xzHHc@n+h@tRn z0e^l4{!9Gz0vv*Af;xg40{8ix_-63&@t@>t=Ii6XCFm_;C$>}kwZwKwUMYVmerZ>k z7+Ep79db4DX$onI1xiiInJRl#*i|Z&;uO5)4#`ZBUM>|b^<3(gw5#kMIZlO>3X>J4 z$p^`C%6^hIlQxqMmiZvNMovWTlFS}ySLx@{TV+4WyDENC$dWISJtgfT?I)8bw^G4W z$yE8Jva^c4O1es*>OQp<>gDR!)YR0RRkKyhRq9mgRGd}xR6Z;JS1MKXRwz*DRJ^Vf zrDCfludz+@rk0j=vzDZ$toj`lE#-WrNTo2PVx@;llFH|mZYmk5RI4>=#A|wMp3wNI z{#fmkYMH8$>I0Pq6%m!?%B{-EDs`$->UkQ$npZW~YOd1oS1(ozR_jrlsTQSnT=lDp zr3$Y~zejZnc8dB9@TX!mCCo2n3WBb9hKiG$EvPX3s#?`?x&uhHcxe> zs;b%!H68Ub_514X8rL)wwH9cn=^WKb*JacT*E_1`qaUk(Oz*F5ukI3E4n1AHL%LGB zyL4XYT+=PnpKHKsa8g%Xdx6F^wKBEE>Kil1qWVJm z^Yu>aKGgZIt*1Rp%S!8nrh_JfrjzDG&0PECiHmO$`zhKXYA1S8WWR{K=u?rC!as#Adc|k9p_{ML}AIcZOtHmS6ZOWz0$;%PRzJqN8YYxk7 z<{swd%<0Tb%o~}knUWae7kcxFGAFD#6#TUai#1hHOcm1Nt>x`?HZ z`5==4lQdH@Q!>+I##xLH7&DpVnPph4Srypi*|xD*Gd2A;`dj(i?N`H3g`cWFyMBiK z(*M2m_v7Cmes})9`^)9m!=If$&;Ho){ld4&-+p|X{@n(A2Sdg$o?m`H-~O2MQ{Z>> zAEm#tf4~1$|25;sw(s%Z6TdfpPyT-98_TzvuRUL-zODH7^V{cdXTC9i-}JrhN8C@l zU)O$Z{B`!{v>!XZhkXzEUiZEHyXp5^-)4S`{C4Q8@Yf?>UVUl&I{Dl0@1j4wes2D8 z?E8XmB47JIzxbs3`TFM#UsAtb{wnj${+rl0#&3n+B)|85-|~IV_xSIo-_^e7efRv~ z_;dZw(w{6pC;rg=q4wkIk0U?-|5X3E=X=+;uU`$niG5f4@$-k#Pv0M9-=2I?`LgHp z+|Tzv|N89rx$@K0PYXXE{c`^6|8FTjX8kn#W%BFqPxfEkzx;kr`fdLE-7o3islU5^ zC;q-8_2-|oMk{hI#k`LFih&A*F&vH#Tnq4{I> zk5@mw{m}h+?&thpw!d?KJN&-$OYGO4s4eeQR?@4nv}zj}Rr{q@SX%!-r+y}#LhSN**8UGGS{3pFXYlc>IImhlTH* z-XDBl_mTCB=Qrl>f4`P|>G|yR+2?c5=arvVe7^CS>C2VR!JlhB#eU5Bp!#9+hixA# zKkfN+`jg@3ub&&g$bUKf>FbB2_XpnzzyJ1L@?-j^pwB9wy*~Z_*zxJ$r<))5eOU5A z_@mm#=^wVeXLvvH-P^aj--N$bd6oH6=H;gsT`w*^=XqZDY~R!JC&rJ19-Vra_3+#S z&Icv;&)>Up_v9V-J85@*-q~|^^1YJ#FYeF1KmA_lUB){TZ>8R3xS4db`{uqIYp&~E zce&njectum*I!;ge!b;-?e#a;y>DjRmb|;>uEX8LJDYE3-;TT8cw6&M(%mihZr}g> z;MBvQM|_W~o;W@0eg5Qm-1F9Fr=IpaHGby*obN@zi>w#7Ua-H~|62C#skc4vm_EpV zWc|qZ;lw-Pcm40QKJb6~`>FI(z{l+$&VH!=`0EqP*Q#$C-;aJT|Ka;{@2|;!`u>*u zUH13XKP3h>#zl;4nQT}BSfyAUS^AhYnNKsRGtFXL%lL+|fbl!SG{%!m!pzQ0I~Zk| zl$cvsMA=H&lQ}MN{Nu3X{KuKWoy~KT+l4ER^AhJJt_|E*c!K%P@*ftc7P!RshewY` zm&c7Kf+v+njOQr#LGJV12e`L!PvAD;KEySN>jzgkcM-P-cLVn&?up#{xO%uIb1&vO z!SjOKk!u}?HHR+eH7;wOX*~D1XK+bzCa`a1-OEzUlEu=;vWq2_yFCIO2 ze)jXpq9=+^Uq4;-Z1VG$FH~QhdA0S`iO4?Cop3Ezm4>JBTkOMTPb9;oHcOwDnJdF4?IXEP;=05! z2|tNh;+))|+hX?AKYJ zGaq4^%`}J6=D*KhrN8liSN&P?+xU0p@6z9ezx;n_e^dAx{Pp=a?q3Xl&Hn!Ub>+w0 z?=IhOe}D1A`{&Fbn%|Foo${shv%=?_pC5cF|0@4=-DihSZ$EN>KKW(C*X3UqeU1J4 z;d9_8!%xDWRX(eIO8uDmar(#1j~XAvKkfaT{iX4X{a5jC4BwuAegAdx*Nm^5zfS+k z@U`X3h0j8tr9bccyy-Ll=QW>#K5>5P|Fr3|;8&^d%s;36eDvf0_rKpxfBpD%&3B<6 zg5RcmasGP!TkwygKcD`p_`UnL_@C-Oihq^RmPzPmgnJbQUMc=&lP@_6#E5M&pU7r4jk%j?8>LP0sUN?%cb$^LWnjDDqC@%N4K_u;Tl{y@u-+*FkP8 zo?qP0xz=*LW#waWU@2quVtvYdhxr-nb9N67DfacOo~*lBb=Y{>bXaX!b}@4?>oPSk zhA^&X>}CvOc=nI;U(Vm1f1dpQ@+h?A0+o2!#f7}1H{{8OTzE24sVm_Su zDEisqbLJ=IkJCT6eH8d4{Ym#@`ul5d-QV`Ub$S2h5H$>Tfr^dG@;KP5!%^ zAC`aG{#oEl{paJK{(WlyV*hQ@H{ow(U-y1#`;z)~{w*M;s^ZIYmzo>sV{x1B(`FrZGOTSgpE185@l35-xDKd&M1~RcT7c&(xE@9lsq|Kbne33bT`3$2r<23S(XRP51AC17BI!KII!lk zI51l?RWNM&m-+A2|0Rrb7^4_|{J+Z3$Joo*#>mDrjft7*GZja~z;7B~cYJC5 zGV3$Tr==fVKEM6C=tthKx4(RU_5NV~e&pNZZ%4lAfB*Ph@W<}&PrsZ0$oX;fXYHSc ze}Vt*{z>>P`rGku1%oS-2a_D5#s5oxh5q^f2hCP@{$Ka+;y;uBV*j1~b23b3ILc7S z$jV&9+QDAW{))AYC5}afwS%>YMSxk1S%)Q<)r0LLTO)fHhc)L9_N%OuS#{X;IYYRY z@o@1xildpmo{fpEmF*z=PL3vy z2=+L(1#Fkt`#HQhuCh&L5ocCmUdw!xxtY12`7JXW%RS}~%y*f8GO05;F|TAzVY|ap z%iPAC&2oU%mpz0dmt#8nc2-a3CdS(gZVc!DuVI+Pbc(r_`3vKP{~rH1{_XiY>(8R! zSAVPj_4vP(v5i@n#h6Ly|Lwok{|^7l`p5ELnNga#m-#f)EyjlojtqGWJdBNuicHs- zN|}lo`v3j-cZuN^<5$K!CTr$x%%7M8SR7dznR}TynAS4RVo+dM$!Nvw$?VGP&Em?c z${N73k-42Yn0Wz{6H^Ft2g^a0v#fhLE^}|>ImKneVae{s?!o?y{R_t?4j%RctW#L! z+1|4yvU{=ju-{9QQYFDefg);@r~QpE&1o+-8qwXJJod zpUu(Dxt>#-vxK9XBZYGo*KzI&o(P`T+?qTpyl#9Qd^Nn8+}WHxoX*_mxgEKeahvld z@OAO&^IhY;!8?^NhhJ9Uih!VCxZn(-_rlU5-NHP=PXr(GOYmv)e&$)lGn>bYSD&w) zub3}}&y#Nl?`ocjJoEYP3u=m-5IG`jD0rV&pZgbQ0M}CPyFA-?E^`%g{9%)2H|K2N zxx*L2KZmcDw~EJ+CyQ5)e+vI%K0ZDhzK6W(ygPZ%@@?en<1OIvB|0=Rf_EqnPU%p%Mh!CJy9%WB24n0Y7jGUh7gqs+l9b65gc-Z7W3d}6g_?__sl zZ()1EV#~ajX+ASE>kd{<*5%CKnPQmtFmGVWWr+R1oM8hK4@)u2dS-bhenw8lNX99Q zUl|LSYMAVqo-$2lF=zeGti*hdIgjNJvo!N+CShg+mKfF}Yz7?c9H-c(vN^MFWq-o1 z!QsuZm3;==4z>^uPtF@0uh?bS#n^VU%Cl>8{^yM1jO38wSis@Ud7kqkry=Jdj&~f9 zoNqZpxxRDea++}la<+12aHewFaW!$z8Ggma{EY1Wjf3BOH z?>PmzU+{e3HRlcGcH?B`XyjPICBb`ukDs57FNmj+o0Dff&jp@WJjZwraOZI;b6IkW z^9Jy@2q^NW@Mv?(@^J7v^IYZ9=c?h-=Dxzs!83vTK34}<1(yQX49+6XH=Lr}6+GK{ zYPl=8IJx{d8#z2V1UYQj_p&OoJZ5&LPSDyHMh@nSj8p#~_-FY);{S<% zcm7@df0%)ZQJc|k@UQH@!vB!J>wlm975vNn zSJ|)ozdC-u{=MyY=|^sleK#Q#YAiTiE(``xd5 zKb?Ng__^^X+s~>WsXqdL$o-J`arB4nuae(&zgd56{qFg#=3CzPZ{L4?5B#C|lkI20 z_sd^}zY2X_^>z2Rk{_nO3VxaVT>pLTx5#gQzuJD?|E2Y-{P&6<#XleabpC1k9YyKC_FDzdzzU}<(^3(d)x1Y0rO!&U*`=K8@ ze?Iz|_fz_(($CL7T7EeFIR5>^w@u%+eV6z-`KRU2g+KUz?EUWZqxq-vuhd`reo6mc z`OEPaGJdbPqknFer*5#>wC%1W50NRum8pL`}c3DKbF7qewqBz{dMH$ zq#vo@4}4$!Q}lQHFaMv)KV^P>{B`!1%&&r<(m$vE-2E%+_r_m4exCoi`>aWh9FMb665d5*^N7B#PKcc@)_+s{D_m`}%dEbn`pZ#|G z>&LGx-)(=I{F3<9_=Edf&HL8yJ@xy9uZun>e0KQ4{Po>ev+v43LVsNR zKJ8o6*L`2-ep~oWpx3>{`!gS^UTjRU)sM^ zd_MYV*XNwCvfqw>HTwGIi}TkbU%9>seDnLd=Ck)Fn@EAE@ znE3PQ53BD>zQ%l=@$J?3)!$pcnSJy6cIj*7SHo{Rzu)<>@<;Xe#Bcw;PWZO)`S`Wo}i>U-^vdq1UrKl@$&+wj-SpYMOh{`&ii@6XCVv;S=Q^ZJk4-$Q>J{vG_+ z{;%!d&wrqEY}o!M|2zM8_FtxdfBxP6pTxk#*vGh-aVFzNMqS3N{~3Qz{*n0C$#9YB zC370HGvld$5B^^Jca&i@(*b4*R$+odBe=Wyol*AlPa@0^IoP5rZY?jnJ2SMVR^!A!MvS` zn`su~PR4DFjEpi2pZ?o0C@_dKTx6KSD93o_|BHWp|Ni{7{rmXO`#-{eRsSac_5An# z|4c?tre4N{|8@RO{eAkk;@>6z&i`j-IQDPOABNw%e?|Y!`g7{<#ecv4Mf?l=+w+I% zPvYD*{?mnDu2cOdiBfn&&${qN?#=l}Wt|MV~DANRkbe|`R%{nhw4 z;XmkPgGK*L|F8XT#qg0qkg<|s*Z=m1~FPO9%mF`e#tD)oX*I{Q1n0g zf9Zb*27M-Fmia8AEE>#`Oh*`dnD#LTv#7KDW42(aV426l$lAo}$!fr&#=MT{BvS`t8-%L)-@hqOKYgoUrUSYk?@`m{f^D>rxRt>h3td1;IOm7&4m=Cdtux(-UV`E`G z#B9Z!#=MMq74ux?U(8QgRCXGWr=19 zVP3;j!eqk4%;d@>&dkWtz;c*HjMbM_fi;%pJaZ7s3l>wB*-U+m&Wv1)Jq%0?$NwMt zzwm$Q|C#^a{*PhkWvFFPVO+@6$h?>-gCXjl^uM+L%NZ@1?l4|qxcFb~|Av2Z|7QI4 z{=4qas^9Fty?=ZD>HgdB@9jU9|6l)|`&atU;@_fw)Bn$5NMnp(6k^!-ulL`Uf3yF6 z{kQG^&;MKhm;B%LFYvGApWfe>eqZ~u`|q#6a{sjd)&BMUv*Gu{-<$u`{#(Lun{hMa z3+Wx@fB*j1GK4Z5 z`2YA{`M!{R{h__8)X}tN;Jk|Jwdp{|oz@{O9B!tA8^8E&dDq z-|;Ww-{gN!{w?~){4e-#%^#^hE`L@3pZU-F|HR+je@gyX{tf!~{@x__R3d;ggIo$xRDf5-p8|Cj!8|8x6$^^g1CGymEcf*F|^#Tfqo^ZYmQ-|hd8 z8L}B{|6lzV{D1BLs{hUZ=P+b3ZD)SKY|L!TWW<=naQMIa|2hBG|EvG+$q>l!|Nr~{ zXZ}C@m-hGcpD%w;|6j-;!Jzm5%fG4rO&CNOCjSrn54u4ogkjqMhJTCy=`r*&&SJD@ z%we=;G-XKoU-w^>!JMJyf6Kq0f4BZ!`&aVcw10p9W&Gd!pM!ymLG=IfzXE@k{oVC% z*MDP%-i`2|H=RD3{{M$8T%RK7*iOm|0n#L`7iT72SXf#3&Ym`PX9~)hcmb{ zPGt;Xyu%R7Ai-b;KDF}Cf8PJo|NZ|r@BjM$KL3sXPx=4qKOgv{w8sBO{t5nj@ps=p zA%^V?Mc~!{TmSF>FU(-iaOQvU|AYU18BQ{AF}`M~Vc=#s`~UoZafUbsS%&=ocm9d| z?_tPgvSbcm>SOTzul0Y$e;x)ShBSur3^9xXO!Jv?nU*lhGX^l;Wwc|mV-jcbVYJ}cCt)o*~?tZ)WsObsLT|{Y`~JpGK1wZ zOD;%cnB_UMFS7;nB<5Spb}WBb z4zV(^U1x1%y~^^7c^Wf6%U71ktaDjoSuI(AvCLg+{k>7S%*c9#g%0ni!7@?>syv}Ec;k?uo$rfGN&@FVsvG! zVhm*}W{zcwmlaUh~V~*MeXBf4BW{{iFBW>X-Vj zRlgqm%Ko+Q=ggmhzhZxj{L%e0`?tpL$-g!JDEztjyXv>iZ~Nahzd!$W`*Z5|>t9!Y zt^eKhr|FN%AErOse+&OE`}OPR#-Fc#ZvS=S_pCo1e=>f5`04-C@0b3c#J>rDC;!p- zo%ECc2m25IpHF{H{%!pG$*&o|kN@%dd-jj=pI5&R{BHYw@OSf{-+z|=vHD~ENBPf* z-}`@i{rUf=_3x^`o_}NiME!R7o&IOR-@SkR{wn`v`kVPD^7n~f(!YQIp7E#ZkNh8x zKUe-J|9$^w;-9iVF@Mhe{`D*Qm&31wU-iGX{bKrE^4sB$$X}hmQ~sF$@%t0`=hN?n zzwQ52{uTYV=e!uwb@+a_*;2(=WxBsO6%?8!Kzn}lo`E}*z z*Ply%o&EjskLlmEKXJdm{*wRg_FM0_#_#0cbAMm^?f0ke&->pmf93t!`pfaw!}jOf z@87>u|A_px{~Pe<^{>2NKEJpBnfZ6&U%tP_f9C%_{@db@%%9TV;=dDr3;wzE$M&!6 z--&;o{7(8E`g_6e-@haOEd4Y8Pxha=e|-P`{_Fj3`o9PND*l!Hef`JtugJem|MvZJ z`nUYA^WUd`V*V)nnf1ruui0PTzZriu|K0otIs-fMzr}x*|DXPK{xke1|1ayG#QzQd zH~r80ANPO4|Lgyq7#bNA7&87d{g?c|o-> zWxUJS%lMk1kKr%F3&tv@5~lZze2l&fP7E&?Rx-*lIWUDVZDKNGE@3ui-paI>X*=^j zmZ_|ntiM=7SsI!5F!?c6GJR#TV76j*VYX*BW-ekr#GJ_N#uUdG&-j%wlxYr=H}fmz ziOl&-yBU8nE@Dz*4rUHxmStYZq{H-^QH-gI=?_yr^D*WR%=ejBGy5|CVUl6)VLrv& z!u*UWg(;lr2$K;rGjlrAGsfkNZHyI+I~cW?w3!w#$}p-hE@ot9;$gbSxR&uCqa)L2 zCVyrfW;SLyW>MxNOj%64OjV4R7PV8W&XlEndLo;5~~606&5{~wan$rRm^jlS2M>kvoPy1PiNlA{E~SZiyNyW>p~U| zmR-yznH5-~So~O2Sa?~KSyr%IWHn-c#(t9Bo;`}qj&&K!O%?-IQP%A&>sa(y|F9lr zGiG;SS7(=D_heto{)v4nJ2(4uwl!>j*<#tBuqSX#;8@7P$~l>{nR6w_6LwV&drny{ zHLjPOk2&{pW^;OT#&G&^I&y|^#&WiDa&xWX`pWf{>mAomuA^M)Tv43gISe?vIQMfh zaZTk?;b!7?<66xb$Z5dY%jwN^o~xJZJZA+bGnWAON$zFbpSe1@HgP@U+QZetHJj@J zmk758w-a|fcP4iscP#e@u0$?rE;TL-E`2UvuJc@t+*i3Lao^{X=laPxlS_vC5tl#L zTTUge!(3|IEZp0f?IOwU0}LtC6#rQ;6#z*H5lME*H+L94(x4 zxWu{daFuX5a(QrhaWQd4bMD|+&tby3o^wCvOwL7|#hf!aj)?1k(e?8n#= z*gDy4*{`#|VxP;d&OVrmt zyCnO6))?>%Q66hQYYS@*s}t)jmJ}8TmVA~wEETM0SY25aS@M|YF|)BquzX}*!|V&b zsa1&i6_W{*593dUK*lqSOicS2`4~a#tNR%m7_1qd|8Mwj_+RFK;{SjDXEJY2L59o!AO06$&|?6#y#D=<{J-*_!oL%LbN~MNGyRX{ zAB8`Ke|G*k_2=@RvwtT2G5Pc3_vhbSf0F-5{hjwW{BPBt*}tWKbN#mZ9q^m?_v~LS zzfS-9_3OwltzY>+|NYSVx$x(npI$#F{Mh$h?mN%-;_pAdXaCstW62Mt9}~W3d|&$g z`uFPZYre^TQ~lQS?ejPB?`OUle7pGd_t%hb)!(YVsekkM8uI1GXO}PgzWn~8`E}~o z8(+)5F8}iN^MTJCU*f)me0le|@pIwlx1V=?@%(D|b=4Q`FHb(-{Veh&`Ahhhm7f=X zI{7jDqxHw~kGh{6KbwD9@@2u7v@h&m4t_rU`NQW|pErFj{+#$Z_jAMNIiI(GzWw>r z=R2Qwe%}B2*JtA|>R+yZ_Wa!Z>C;DsPbr_~e_Hfu>ZguRYd=|kX8w}(#rDgK&s#ok z`TX&-`Im$*m0w!Eq96&_Ui`ZE zYwNG>UuM6S|1|u`_fzX<@y|Cu^MC#N)%N?%Z`MDLe;@dL@Hfw&&OfvM{P->NyZ=|; zub;mve_#DA{>SVO_n&FM^?%F#w)vg$d;0Gkzn}fK`jhsD<4^GK7r&T(r~iKaJLymF zpQt}-e;og;_#^i>`)}r7!N1e~1pTT1!~1vb-^YJT{+|64_UF~_-rv=~H~zl=`_Av< zzfb($_1o_EieGDgS^Ylp`|Iz0zXN|i{I&kq-(Tx~oBs*@=8zaRbP`eXkm z=8x+ikv|N7*#7+gt@x+*&*VQQfA0SN@;m;|l|M3nCI6oNlm5r#Pw=1aKWqOS{j=du z;veBZH-C5k*8P3vSN*SwUnhP={eJXY_|MbdJ-=Okhx~r=d)A+`fBgP*{Qmsw$gh9D zI)6+2N%&Lrr}59iKWqPF{CWF(%kTTYW&cS1x%qp`?>D~-|8V`S`rG~2=-E?8uh`#Be`5aB|GEE1>2KiQ+P|%T6aEJL zo&A^npXoo-f42X;{yF|r`DgI2=N}{Z_5{oSpZ-n$7yED4KkNT<{^$Ky_^*;S-3qmXVHd+zhM5ex3|0)v z3rSjBLS zL7uUmaXO8^_V4TT#gHeFVh)IFzHe(5+6r((2 z8skjHO^k;bmogSIRxw^;bZ1({be5@%=^&#AV>KfWQx;PRQ#_MDlLM0tQ!LX2rd3Rf zm@=4HnAS43GBz;IXS~H|!L*x6o7tNACQ}%bDbr-8KTOKZLd<;3F3hu;uQ1PL=4M{P zG?i&C(?X_sOgT(kOrTy6GxKuhZ_Fwz{wzK$tSn2I%b4dgzhLHI`N+JS*_&B~xtN)g zC4hySWf5}*vl;UprWs6Im{gcoGHbAOvCL5VA23~H z(q}%*Y|0YOV#xB9`2h0_<_XNJneQ_5vskf&vjni{u}HCqv#_(Uvly~CvoNr%WbR|0 z&)mg z8B7sO8cfPeVN6SyUNgO7TELXdl+QGqX$8}4rddoAnCh4snbt79Wa4DL%aq5&!St3< zhRKg9gQ<;a1=Aj;+f3ZdYRrF_CNfDf-DBius$|;Ew2-NtX${i_rUgtgOkIp_j9H9l z8GV>`GaY2IW$I=0WZcU*hslRIg_(tUB9kT4E5?D7%8XkXsu>nBd|}XG%wjyi z_>J)%<5Wg>MnT3e4Br_n8K*GrW8A}djPW@m1JiHDTa0rUofzdA8yVG^rZFvI>Srov zGG%(fc#lznDUd0ZDV8aS$&JZ{sg&srlPj|na|_cu#_f!E8TrAjPEn@2jB^<47)u!A z82uPa7!NT1WfW%OVfxAVgz*uhC{q*DQ>M>MyO^Swo-;Nu1~Zm0Ze)DR=*%>UX$Dg? z(;voOMj6H%49^(+8P71jW?aIU!I;fh%UH`;$e6>J$Jonwol%R)n@N`G1mh&e7RD0B zNJb|{2gY#5R>tFu+)M^cs!X34*D&TW+A+#A3NuPFDln=s+A&5m`ZNA#=w#qvSo(j; z{~Q0sz$dThFueM|_5YRsIt;}Obqom%UJRuSj~ILy!x>*NxG`M(Kj;6%|7-t0{Qv*| zoBxOZZ~A}fzc6?=dNxBXLl;91gC@h9|9Aes`_Iat%#g?cI#*^9LlT1>_->*X;Qfm` z|F`@v`k(i|>i_cpFaOIi7&2Hg7%`|bSTmF{%x9=$;AQCkZ~0&Af877+|EK(q`)~B$ z;J@Ghs{ix;FaF>Czvlmf|DXOlGsH85GbAv8ZsrnUIPw3^e|?4s23H1AhTs3C8FCnQ zGkj-IV^n2)&M=dqfT4_GGQ%?PZrvOP&`C*6j8_?dGCpLS$Y{sN#mL5J#hA-j#2CnE z#OTR5hw&vN6X@J$MkXc}re}=X8K*K%U|h#|gYgTa0FyeCG7~?O7*hn(My9JwJDIwe zl9=?E?lN{VCNS18o@F#@nGKj#m=%~Un9G?DFyCX|#azoA%^by?#9YR_ftj7ffQ6Z58*?jj zHS=`lBg~JOA2MHHKFR!=*_0)lC6UFFMTNzfC7z{+Wf9ACmRJ@BmW|AlnfsY1GjC;P zV)12(WKm+d&Af!Uop~WM14{wRZk7uyn^{s>SXquUUu0Hhsb^WnQp&={vWxivvlB}@ zOBYKN3p2}d=33@f=9$bZnAbC}VV=oc#O%&&!R*Xz%FN3AhDm@qmH9X`CkqS9MrI4< zD@;q6T9{mz_?cvwe3??2LYQ=z445jJZZZ91+RUWLw34xdaX+Ij(?q5vOzBLDOgu~~ zOj=BT7*{YFGOlLuV$f%BWyoik#jup2nZXNuCW|72A_HjOo)d!z!><3e|EvDz{nz|| z@86w&>i;wThy8#1FXJEczpsCt|E>7<;NSUwv;LL-OaGVtFZiG4KcRno|Gxb_{deWx z<$w46z54g;-~PWse;fap{_*(J_GioEj zJ@O~-PuQQ*Ka>AV{ZsWP_>bKmn?I(1ME~6Wz5Dmo-_n1={v`Zy`Xl#8i5InkA7eHz3KP5-_L%#{Hgs@{3rB}>mQRpTz^jf?)shj zJLmU|-eIJqxFaP&!68ve=GjU{j=~--=By-0e|ZL ztoyV3&ze6?f1Lkt{(1lV!|y-8x&QF}Vfe%H$K%g}Kdb*_{gMCk{`dXguYU9WvH0Wp z$Ky}xpY?y<{rT|c@Sli3|9@}!-SoTqciZor-#Wj4{$l*C{oC=k_V0hcF8o^ktLst9a4s(+pS_2bvKUmt(H z`E~c#p)0>W-!{L!f1CYg{(b0I@2}=xOMadC_4L=bUu?g*fAjnn_|5wJ_OIo?X8+pp>%lL9 z-&Vi9f1CgQ^K1XFHNS5Ea{Yboci5kee|G)p`;+x2;ZOFTmOs<~%>Og}PstzmKh}T3 z|J45J{nP%Z_s_OJZ~jRBb^DwCH}h}A->AQ7e`EgI{MG(z`Pcui%U{L6Jb#t`2K>$Z z8~xYqulwKJzkC0R{d4+f`0vf%_P;iNE&mq(-SGF}Ux|N#|Kk7I{FC};^>5n0`~P13 zJNs|uzl?ve|EmA3`*-c%^MBv}N&k2J@AKdMzu^B*|6cz4_D}G?`TvOjk^e3KtN(ZS z-}L|be`bao|BL?f|9|<94}5p$hW~5-*Z#NrukhdQf7$bU+urq|G59l|6l!o;D6))fd4N4{r~6vU-JL<|0m%41wr?Zz56f8 zpw1x5@B@5L6bHk%|9AfH{J-q~(f^VR%?!60J~C`%uxGgaf5rdR|F8V#WH4dyWQb#^ zVgQ{k2-;m4!H~q@#K6Ju`ac7MDuX9OHN#ehlMHhiq8V%%q8Mf}9A?V?&QQqEz|hOk#gNTl&tS;l%TUJ9!O+Rj%FxI#m*FdeJ7WN&9-}ZL2cr<99b-OY z9b*n-C}R|3E#qXy35->YA&ioY55PC{d}UBz^kB?mY-6lq^kU>@yuh%QVJ*Ww27AUH z#tDomjE;;BjM0q6jOC0K;5$6?8A}+87-JbN7)2Qw8JQSW7=swI84JKIl*3WoIz z^BLk8I2dk%Z)Cdl|J#2PhB$@@1~&#bh9HJChFXR?26u+<{}2D){D1X-(7ybp|K>VNou+yCnSW&cb3m-}z`zxw~q|Cj!s{=et{(*H&OjsCOz|M`#ozsP@? z|0e$<|0n);{xA6d=D(%?>i!k~>-e|i-^PC%|84ts;@_ix-~WC7cl=+)KfQkn{{sJY z{+swO?VsU4iGM2pJpP6MbNOfb&+A{&zrKG<|E>QwT zf1Cd8{kQJl=xTm5g_zy1Ht{(JV1@xS1I z@&DTY{lWKDflfG?{r~QNNd^ao0ESTT`5A@`+zg$%84CsgkLd zDTm32Nrj1#={@5&MsX%rrgWx!revlhredaQrhKL_LBEFlI7VGe$A0Gjf1$KYq;cpFxIEjZuM7h>?Slk&%IsgHeIem{E(7pYb=t z7lzLaUl_hJfLiK2j7E&XjPZ=Ij6sYxj53UjjDH#U7*!dq7=0Ln8J!q48MPTB8Rs)z zWW36_lW{U*K4UavJYy5%LB>Cf;!J!@4;gncZe+Z`_<>Q9$$`n0=@+99Q#_LZG)__CMpV+@Gm`xtVO3c^M=A zZT{EwKZMDNRe;rx@%}%7|Lp%J{NrLUWr$^vW@=>!{8#q>I8zGCcBa_B3ctes_AtaV zsxw6~_55f2&&iPUpYxyZpLKt}|L;H~Fg+C|$*!|VEDzD!mP^B z^~dc`iMGd}shpYa>x zqQ4J+FZ>_>Kl|@)hB*vJ{;d30%;d$K$Jode!({z;_V4ijYniwi>;8e}=*<34_gPuBmyzc!2?*#EOc{dw^7!9Sn>c7N{uDEQ6J zAo@S<`?;_4el7XC?N89}qkr}@g#0i6E%Jlm$E$yjnXfX0gKk^?>-cBFU)O*0|4RHh z^Y;=%+dubT8-6AHvHq9J$ouc>kJMk;45>`F{+<4_;$QFoDSub|)%?Bbm;QfYrpFAg zesB0C{?C%ZiQ&-yY5yPn`TMKrZw$*C#@&A+{{CcO{g?QI^(Xg#cjkZprT-fIw*U40 z*Z;rijP;Bz|F8Vn`oHeK`k$M>LK#b0G8y{*{P->U_wK)c3_BRy{}=wP_#^wzo@o{{ z3nTykNsPG+J%5vbC;Yc&>SMggVE51KZ$4uHQ|bTT|K|PQ$#|W)jHQxEi+S_|L^-3!g!ZKiD5Rwx$~&!WB+ckbg&*_I?M3k@5#R> z81^vu{dxL_i@Al}i6xm?h2@n773Yo=Zn7Uq|XpZ{O^JN+;3zs3JenO`xbGQ=_d zV7$+GkKy}2u76t?G8sacRx{50v+dUfh8fJcjM9vM8P%B2{VV_7{O8#}>Hj|%)R;H@ z&;9-3*XnVm-k!k=dA)n{y|JG1KBdhyT80{>9b7S;2ViZ!m*A%U3oF&PcX5%!*7;nJzHe zF$OZlF~u;aGJj^2X1K=Wz~;}+&itPtktvx`jb$BcBg>6{B7ax>d;8y*(T>@NrI4ZH z-$jPA%qmRb40%je%pA4{)|DV8klTC>uiA9oSHnZb@umATL zHJR%eS1~;L@A$9zZ^yp_e?Kw!u=27PF?2H&vRq@VVyfWS!{N!;_pg>gn8A^82h(as z2ga9-+zi4D7K|FqzZg9j%9vHy3s|z5WLP{|T$nyH{Q0lVe294w(@!Q*Ru(4h|5l8D z82>ZGFm$qtv0Y|PVliXe$XNaN+TU0I#aVLLmM~uax1UjgrH*+I%QUtm=5)qPCN~Gi}F>5fkF->Ir_^;%@3;QGu1p4uu8e+6&P+y38von>U19jlGK;l|=_x}P zBP){$!#>8H4BHq^F=Q~tGcI9JVxGrh%P9E&4C7p;E`~zJY!)@ffIm)ue*V?_zxMx1 zhF6T!m^%J#`Xln+`=8^VJq$NljTtrm$^W16-{W^!k;W90g; z&baIU^nYHAjjXy%m483|-@=l~lFVqzlFE|B$i*;?aT_BK!@mCu8RY+O{rC3&Or{;I z*33r#*De@&S_GM6#({X6sb@qb>%BF2wQqD*f8e*EhEBlchHe;30prZY^9|8stC{dwTu zdZtwjhyK?va5C62c`}{3@_Nm>FOEKmAYq->g4B z|L*+T_qTvy(SM=8i~o51x%128-v#i>qbdKD|IYopoADNd^WTs^5C3}ot@wTF&+h-0 ze{THbX7FH*`d|6e{ck-(J44_9euhMb-hb!**8JW2@6q2of7blH#rT+E@t*^KcK(0# zPwbD%-)9UD8Or_{{ki>n%D>r+I*bz-CNZ4*^Y~Z8U$y^h|9t+v>TdzVg#U?uzx>Yo zedwp z@o(ba%l}ILe*b%vv4nZ*|JuLC|E>Q8|DFGTJ<~%*_5W-BCj1Tjv+2(>hVP6*4B7ve zFzoz)?61=Q+sqm)8jRDKT$!8xKl;u5H|9S#V;JK@h9IU3On(`FFlaF_GZ-NuhcR+9cQb!xDE>q=F^ZxDnSM#6efA#+i#(#`w7*8`kW8T7S`hW5t@Ba^(9GMRO+s|;1 zC5uV&f7w6Q|3?`XGSx9JWY%I7|C{nF@9z%AwM;YrAOD-pc#Wxo!IPndLFvEbpRGSl z{%rj}n=y&$Hd7m8#s9MZI~l(HpZoXKpJjiZ|6%(#^Pk0kRff=i3V-(hdHOGf@fPFc z|C|0){K@(+&0zC?%m38>5B@R#*JaFSJi##czuW(sznp)*{yq7R_wT#EZy6LBzx;dj zuZJ;-(e7XLAG1GMzs>(j{+Iig_xI@E2mfUm+y6iMyYXKU!<>J2{(SqZ#&G6;#9!tA z*BDp*KmPmFAM3x7f3p}LGYT`D`Jehv{I~C)h5yg}fBY}tzbaEY)6W05|CatU{D153 z)4wwRz5nn0YxY<9|7nI93}=}pGD$POW7zV4*5CBM7yq#^+-7WNs%O;r|LyPce^CsF z80Rr=V|dLlm4Sz`lA+{3`~P&t8m3kMEB^U2O#Wy2HHa_eujM~C0~6!>{}O+1{_6Pih{1^I+5bm>kNz)WRQx~b z@87>+{}}$h{yURVi0RjV#=nz)zx)&bZ{J_XfA|0Y{CDr~kN=iTAq*4#E&IQbA^9KI z@1?(_{+Tk0GFblG^S9;Cm0xUs=KMR)Ao_3p&(>dm{?7Rq^7s3num7a~zxvJdyY64^ z|EfO$lHe`TtM<&G{|+GxL|mzxw~l|EmAp z_^0sq@9&y_+5flvmH4at_v!Dee?1uM8KnLN{@edg>R-!W+kg5DwG3I|xkrHp+H@BV51)%)xB@4#Q)zvut+GCurw^WO>v zYlevb;r|)_ZTj>0UnA3LW(H{9E$R`TytthyR=WFaCf2-@JbT|4#m0{NIyN zmGK=zBSYtZ(0yh%{&oGm^4I_WtN$zvIsc#hUGmqIVH;y1!^eL%|Ku6|Gg$vu`2T~U zg<&%2u6G6*hRA>Xe}DaX@c$Z<43i+k$^WANHvWnJ>&U3b6u_{6p^wp;f&c%q|26-m z{^|dd{eSx3n*X5uSHv*w|M!0d|D68K`?vqE|33|eK8B3{?*H!n_5a_=aOvOtzlZ<5 z|IhH>^Ax?74wD_D>;F{@e9Yxc6-@sb z#Tjb<$1<=m&iQ}o|2L)xX1D)+e`EhgGgvS-GVw7vG8F#5@^8l9$bX;yA7^L*%||f4 zXW0EO<8R1cnZHW^a=|yF9%4Ae5caS1@BDvv|F(1v8B!RH894r*`e(z?%MkPb@xR#rzy2@y zAN8;0->?6F|GO~sGhSqR%h<{w%22^z&-j{Q&;KR=?=f9t*~0vQ(Sz{=Lkq)i##hX1 zm}fD*|5x%iis3X%FUvJX9foKB4F9Jv1~W1+#54S7>|+XL^k$G_3}upJOk}8H)MMJj zxQ$Vc@z(#`|9}3!W8BZ2#U#skj;Wk^1Cut>6{g)xuNmI_zt70PvWvNpiJ9p#lMT~e z#{En>%<@bN8Cn>gGCpN`!2FJRCevHSsZ6t(f|zU49^&1ndhFJWM3p3C(5|J8rr{y$-eW|U{#$PmvskMS_W-2apR+x|EI z|M>qJhO3M-8SNQt{(t+M{`c#@C5$JTe=(Oc&iXgyUpIpy(*vel=7UUZjF|kVPbYncgn9LCT|J8pk#w&~k zjM)sm48DvkjMG*c7fB!&|VUl=QxmN02E2{BD#Ud&v? zbd>Q5qZgAqlNi%8h8zF&8QK{iG1@csG8!}8V!X__kLe*(9wX?a^s|iDnai1{G9@!H zGp7Fk|6hYqlIap-GsDmS@{Es|<}w#EUuN9S5X9KX*umh&z{HfvEXn+zF_du?<9((+ z<{aiOrtgeTnf5T5FbXjI{jbBgmQj&$CL=pj5rg;tnG6>g)fs~rG8jr24*Zwf+lOg5* z@Bb!@0!%9yGa1_cKlfFYORCW9}--v4j^ zGyG@xx8ffULk5G?|L1?}{$2mSpTVASA>$;5>VIed?)oS6pYMP9|6TuI{$KPz>fipq z4gb3TZ~VXde+|Pth8O?B{x15rn4yPZ`TyYmUH{tut^2RV!14dwU%P*Q{rc7 z!!Yx|?*Co?pZ;I;KbRqj(Ud{+|G$5t|8M=5VEFZa=KrpL?EftPANk+?Ka-(?q3z$X zzZL&O8G8S>|1V&;`2Wk_g1?#n4*suWU}J1$2><{1U)XB`v3pmi@!1dKK$$bcl2N5 z|9$@t{byrPW2pN7_+QumRSc&YR{p>EFYQ13|DFG07z!9yFgX1G`A?0Znqk?09foxb zmH+?zlVqr5c=`X>|1yS;4AU9P{%`ze{BPpFSO0q%djG5a6a824uj}92e;faI{g?dD z^xyq|>VJX%o&O*IU-|#VKfQnQ|CJd^|11B~|KHD$^WXU&-~S1q+T#DMe=Pr;{$>5Y z`@iVFH^VN*e8v(6dxq%@r~X&|oA+1L_dhd33d8gN zeE-k=6Zx3{_kS=&2aU9`aiLM z9RH&jq!@QHa5Mb+&&8n4V8ZbI|I`0x{=5Ho{O`%Y%D9h#m0{NZGyho_nErSEd-s1L zL*;+9e+T~Z|5N|}mEkyJCqwuDoB!wi5BT5z|KR`Y|K%9&{eS&GfI*NU=fCOy)c@T`Tz7^$-k)ov;VLBC-Ogn;qZT@e-8gR7-Si*G1N2g zF?{={{%^&>tEbIg@3RAX8t?>Z{NS<|Md)) z|6lzZ^jG2Evw!ygC;z|lzxw~}f2scp|9$v(6x8|J482{nz}@_kZI5jsLCwJN;kvf5v~8|EB-#{;T|FWsqQGWxVtM z%0I_{$N#x9$TPMv%=hG2$g3}KAZ8E*go^nVLOH)9E7 z6T|lZrT?e>|M5SWVK0LQqd21zg9`&EqX1(u0}I3V|H2Hv|FbgmGCX8B!7!IWlVQXE zdH?Id^Hp{Xiy5-Ot4_=rs=@a?HZz?0Z~A}F|3-!qhGYLf|8E4RW`Bm&3{s4mj3*e@ zF-&H7`rq#V-v2y|+ZeYq^#0dluwZ0hyzt-Uzb3;52GG5HD;cgb2r;bvfAPO1gD*q) zf2RL8|9dlh{h#um{Xfrt28NFeTNx_|K~E?V`yY}|G$XApV5YK3Rs;nBQv8fgBZh8 z1_#D!1`USO4Br{1Fq{RoI~mV2Y-K25uwQnMp?!e4D%Q+GVn1zVK~UJh2bef8lwTD9K*8zpfps- z@aexT!%>Fc45ExujEfl58RQtgFqkq~GKDc7Wsqf9`rnnohtZUAD#I~`I}DHi`~C;b zaa%HUG1M{$G3@()=D#OHGlLpK^Z)Yyi~q0r|MNc!gUkQ3|IGjI`p?7g>3`0Dng7%N zOE5hD|Neg&!;k;x{@wX^;J*~ZP#|Nrj)%m3^C zyZ%@BfAC-Uzp8&u|L^^O`G4d8`TzI*-}!&y|K+0g+J7E~&Hp9-_x~?raAU~&ukyd<|AYU}{_pz#`oA255(DT4Waa+_|6lx9 zWyofj$PmtO_J8L8qW??(KmV`F;K!f?zWeO_|3m*x7#J9&|4aYh_W$XB9)?l|BZe9O zGykvo|K&gE-m}^NqyI1bFTn8a|DOLV|4;s(|G(`2_WvvlTnt(Nwg2z=fAjye|2_Zb z{NMKf(*H~UpZzyrFlDIwU;0n?pWuI121SPB|NH-U{xAE_|Nr;DNB@m~{XhS|8N)?}l?*@sPx;^X zf6f2j{{;AJd{QbYo##Q$~w=Km}F@5m6vpvGX&5YE8NFdKXuBj^-+W(Ea@REAmxDTYb^EB`nD5B%Tx z--w}&A&0@0;lO{X|C;~f{-^yv_1}VFD#LSzy$mi4pfkX;7*;UcV0gu_fx&>`)c-yI zEf_8`9At=R;9+?5|M~y(|Ns9lVVJ}q%`oeK!~d=Sl^ARoQW&l=9A#i-=>32Hzdpk= z@U7SX|8M!f{r}JZ>I_@|YyVIDfA7CAg93vV!|ng>|E2%$_#erj$8h!kyZ`_HfBmn? zFpJ?dgEPaF|1IGACkz-aFw`@w|9|~|BSRH~0K>Kar~ZpEbTbq%-2Xr4|D*p}4CntV z{a62g^1nGlI>R!CMGV>u`~G|Vzw__TKac-c|MM|`S{|SO<^SLH|H%IX|L6bD{U83{ z@xSl?dH-AffBm=ppV0q{|0@_`8Q%V%_h0otXgAlz|40A3|G)Xq`2V;6>3-;v=t z!$AgihOGZB|JlL!8W}LCGVJ>w_rLGIBSR;HKEs>;Z~s60|MkBiLn1>A13SZv|NH-k zFcdSWGyM6_#IWhV=zrD!{0wUu${4g6m>4eqzXNLJ|Mz4lVX$W4XV7FYV6bCI1K*wY z^8bndE)4k$Z$Rz7{~-*4;G1sb7$*LA{$ByUOY8gp=l}oyfB9dKp@t!XVe9{i|F8ZB z-QuIf@a_NQ|KbdZ4581|J4VhR5L5xaJI?-rIx!YyPMF&;Eb$Kj?&h4h98=5C1p*2i;<{ z{{Mmh>GQ%&1dkhO1 z7BZY?Sj!N{Fr7hz(Ux%rgB!z526@I44Aa54+{|PMVsK)xVtDy~&i}*zZ5d`UOk^ly z*uwCgVH1NVgCTA z1^Ax36AT*}PB3g|@L&L){$9$kgQ0~1bo=VY|F8e6GXybIFic=b1K*K)@qY-zM236@ z8HPRo=l*~7-s& z|M&cV@c-q1P^^hD{QQ6E|JnZ{3^fcB8N3dbj=``+w^H)BlhD@BhE~|N8$c|3CWg#Sq6J&A`S0x(DFz ze|?5@h6;u<21kbP|G62Q8N3-x7#J8p_h@-Burc~GzG1Lqc>Z6Tp^>4Vp_QSBVLHPq zhV2Z?8KyAoWVp*Po575Mn?Z*m64aJtIL5G?p^0G%!xn~h3{4Dv40a6V3_lpG7~eBA zGsH7AF|1(dV2EPKV_43xlVK)94MP%xA438|Cqpem1;b>9CWdUV?m!06`tV|gr3_mc zb~7wth-9#40NoKejUknxoM9P5EW^wH0t}@Lp$sAnwhSv7PB1hwBrjB0hgkg|8xFd`|re%z+l1f1AK#X z=l>o5AN;@lfBpY`|KI-q{Qv#`AO9c!zxw~r|6Biy{>%MW{6Fu19K#KU>kQ2d(hSG` z_xxY*UzK4sLl48V{|*0V|NrnmonaM2Cd0S?*Zy;Z?|m?0&}MJ}-)fS;(8y5F;Lh;j z|BL@-4DAg28Fn$mGyMI3KXDF+8MeT7BZY* z*v*i~V8x)#pv@4%Fq2^?!#aiy3>O(5Gi+jLWJm_DG@H(Ff#C_mYlbTfYZ&e`7&0<3 zg3|C*a2Rf7*u!vy;TFR)hG`7i3|b6x82A{a8TT{9G9)qVV31@qWBkZ)fkB-ypD~G1 zkMR}5e1)5{%Cno-y2ISkJJM;Sj@Nh6@aQjCzc`j9(ad82K0vGBhxBGwft| z%OJrhz<7(Hg&~4r4TChJ5aSAlIEH+N#SF_CHZXi(U}wC>aFF2^!*Pbm4DAfF7&bFp zX1L5SkD-F0nxUMbl3_B#T82#wOBp6J^fA;kWH59w%ws5Gux7Ah$Y2O$P+>@CxXN&d zA)Y~aHZ&O=8JZbpGDI=RGdMD2F=#N{{?Ek_ z&S1|V%izus!641R!Qje}z+lWE$Y910&7jW!y7Twb|M&mZ7+e`%{a^Y2>i@6*PyJu{ zfB*k8;Jf{%|Bw6c^MCe#W(FpPx&IUXxBlPof9d~}|Nj3Mg7fO6{~P{K{V)Chz`vjW zTK?bqfA0U1|Db!OSO4Grf6f28|Hc33|3CNt`v2YkXa1iIzRT#$f6!f^_x^YOPyC%T2SIfFmL)&G?2)4z;=NB+J4r}7_kd(QiRwf~y`o%;9xpX7h*|5^V_{+s^){O`{{ng8Pd1^%o5 z_xWG>zxRK{fARmK|1JLO{(t&!$-f2vuKpALZ}i{ufBXNv|2O>a`d|J(>A&ZH{r`Ob z|NP_lZ~4FO|HA(@|1JM3|BwFP^*{5!#ea?e8vkAY&;9@O|Iz=`{xAQ({D0i?ntlm93GZ~1@Z|E~Xy|L6Vx{{QX&_Wy40R0F z415f~{(t=c^FQd$lyCo!fmL7lfByf4|JVLM{{P@V=oTy<1_K5~hWG!^fn#&w{{#QG z{crzY`+p($wjj_wMQi?7{!jhi|9}7g-T$Zl@AyCO|APPR|I7Z@{a^e4#{X^qOaHh3 z-}8U@|J?tz|1bP!WOxC-mF?sIw_uwd{=fhK^8fSy@BaV%|H=O?|7ZMP`~U3!lm8d| z?*!imHtGMA|De0Dul}F?f5QKx|5+F$7^E0L_cViU3fuhu(SHSoNQNK=F@}f#Fa5v# z|I+_A|3w%;Hv@t0S>j`mV=!ef1>e=;#Nfc7%)r3#7<_N%@Bao2pgYYU{lESH%m4rX zAN}9;|MY)Rh6sje1`7r=@Gg@-|AiO=7y=pi86N(>_y5a(6$UMa@8BGH;6DR+-;)J{ zBzWz+JVPjh3&X4bJO97^@61rf(9STOp_d^OeD|L|g9P}_MiuZ)aBd8q47K1}+7lS8 zz&AF&{D1iW`Tx=kX$+YR+6=G%zy2@Gz{BwFKRbgOgA@Y?!`J^W|Nr_g#vsh_=RYTd z9|NeBUC!Xjz|C;~|HuED40a6W42}#D4E_vS3=$0T3{nh23_J|K|8p`JGuSi8G5r4j z_rEHG1A{8Vr~fzpANjxZ|C;}||AX$#R%Q73f6M=^|Ihxv_5a_0Wd<>Z_x~?}Z_)hz z{}uSgyodj<{@)C~T@y4m@aq4?|C|1U#wXYRfBWBx!H0p9VZ;Ca|I7cM{D1%d`~R>0 zKLFpI%FiIhAj$CQ|K9%_|DXE*`2WxUj10g2U;Dr6Kj_Zg>;JF+fByf;{~iD5|6lTd z(*L6Wt^bdJZ}k55|Lp(H|HM5@dT-}XaGrYcA9M@!pZ}n}2)+z43~CJT|3Cfz|Gyf88-p+SPN^)0A_i{; zL545?|NaNvVI;|5#t_et#9+w4#K6no#*oSo$Y9A}%V5J`#9+@5#t^^&x~s{aL6d=# z;RpC0zjyz&7%~~k7-AV5859_P{lD`6#Q&H74H;4xyci@H_!tBkSQr=>KsRi0F|aT& zGk|V=yYPSM|E>SO{1;*1U|?VX-ShkHKM(l+P!)#f|F8W2@?VTWg+YZunt_So75KKj zbN}D{|M&mH|C|5M|9|+OhXE88Yz%+Fa}>}2fBetPpvd6JV8!t7|MvfL|DXK-?f<*~ z_y2$YFT}vh@bmw#|Kbd~40;Um3?Oqo8L}D58FCn+7rLnT8oLkNQp zc!x%q3r-vU3~mfY42}$m4A~5E3{eb846zI@45kb=3~mg8 z3^5Eb3~u02O#|@F?F|fR3`PvB44?mVGuSd@F%&ZdGpI3$FlaD1F$6J0F@!LfFo-h< zGe|N>Gbl5dFjzC#Gk7w1GMIx?pc}ZgpUhy#AkM(UAj+V{;Lni6;K3lu@aF%U|8fkz z3?2;n44_-P*cq4^7#WxtSQvO2G#CsSgczRxzxDsw|4;u}7!(=Iz&GkW`G4g9{{QFy z-}-<5|A+sa3`z`I;M;C@|6lfh{r_wK|NNH(yY1)ycmKcrXJp`EkYP||5Cp9!`2X@h z=*HZ?|3Cb{`~Twq>;IqrfA#;(|BwH_f^YLuW>5vUdp`aD^8e%ioB#L!Kl=ace^~~8 zhUfn;{y+VH|NkTZAN>FQpON9^|MUNE{D1ZT$^U2nxf$db*ce{@fA*h+L6^aj0W?c2 z%OJ@Bx|flgL7%}Id|RS9g9U>MgE)f(gBSzIm!P}R{{3fW0PRgxW%&O8`u`XI|NQ^* z|HJ=3|JfP185kLE|KIul;{PxI-~E62pO?WF+*7b;;9xla|G@wE|5X`u!M%5WhL8Ul z89;7)@&DR?(A*abgE2!SLkNR1!~6gD|9=ISZ0Zcc;85iO-vIpMzXXE{11rPJ|1ZGz zR)WeKP+9T=d;>D%cD{Z8H~&BL|Jnbm{}=qP{NM0@@&8@_5B@*=|LFf?|BwIQ_kY*_ zi~nE#fBpaM{}2DK|KI=r?Eg>yc^SAFzWsmu|Izs-1`Hky84NKDdJIAgA`I#bb_@{=`3$8D z$qb+yBFh+R7%~|m7=jsM!25#}z;y*EXT>u_FgP+8G3YTEG1xE!F{Co2F$6N0gYQ!h zVaQ+r-MJme5X2C~;0G@20vMthVi{7wxAuZ=uS{SlXXs{VX2@lTV+do2W+-RqVW?#A zWiVziVz6TfW=Lj82fM+F!H5BL|F#f=5`#TM5<@LRB|{X0C4(3P=q@`2hG>Q?1}_E~ z1`Y;M23-a#21^D_1|bGE2GBk8zyFIfxH4EXa58-V&&t5b@b^FH7H-guwA>88|9|>_ z^Z)VxFa8TMuru8IzxV&@|EvBV0hjjo|8M`l^#8K|oBtpFe;k}scm3ZEzD;lK|IYuV z;M<(L{;vhM_$U02`JV{B%XQ}eW&h{@@AzN&zv6%K|HA(*|CjyW^B>e&$oZe}zxe;8 z|EvCQ|Gx`-7jx_X`2WHGtN(BPfBgUE|I_}r{O|q09(i>)WPyIjn|3dIe3DDh` z3;r($_s%x{KmPyB|HJ=x|KIk1?f<3!m;c}P{}j0Ovh)A(|4;va{r~Czi~m>tANzmi z|D*q)mK-m`tN-WzU;Y33|BL^(|KIt4>;K{ZJO5w)|K&d;!xwPh<;wr-{}27&`v3C( z@BhF5fBgUc|0n-%|G)D8?*AwMpZtIE|I`0J|9}1e^PiW2i{aJ(oBv<_|M~y-|KI;v z7(^MA88jGFz<0T8G3YRW&I#3KaAt5~uww{fNN0#;@C5Ig1C@#D3@!|T46fiC1^pPz z7(^Ht7o7_=Eg7}ywi7!(;mC5tim=2Q~~M+OfDO9ovA4F(a0Z~y=N*Jg-k@Mj2S zFlD&g=y#B5EYyL0y|L^}>|C{`q@+ap{oFr51T;NQxBd<-27>Qfto%pBq|KPukf7kxgWAOVw<=^~&EdNgZ)&0-Rki?+I(DZNLpVfa-|2_Es zhT%Db1H}6GIcYm zFg;`nXNq8O`S|H~NK7@ZlJ8MOa5{CE1l@_!LS`2YX^SQy2bG8sDm*8R=- zZ@|F#|NP(Y{}LFMGQMT7Vo>bUKx0FGSF@oU=gCLVIQ#(Tj=pJ^4+YB-PHUA&~f0Ci_f6+fthEULI4Tdv}&WwHk zXa2kU&xYX}!zzYvOvhNN8MFUR`1AYkssE=Ld>IWHj{W=fhwGm;!yiz;meHP(n_=1i z0)|}--xw+xtr@cae*B&AUyk__Gb5wTf2My6{%!ad^1qwWo+;q}rN5H@6Bs5jo?|fj z|MuVB{|pRg7``(YFuh`IXV}1Slc|F7(0|Y^%Devk_;1Ge>i=8@3+CM{CQP~iIsZxj zKl#7qf9U@*20exo49^(0{D1w|=uh?E#SDuWj{HwxtYDhXpv>6Kc<;aK|3Cja{)27= z=J~hne;wo7|2+RL{OkYU{jccX-hUteKl?AlSkIWp(D854zhD0f|9dgkF>PXq{U`j- z?*9@7D~8tp0{SI{=e&gX8fuA zyWy|)zm|Wi{)PU#`ET|A=Ks6@uK0WPU)=u{|F8XLXE^@<_Wn-{pn8t9O zaR-C>zt8_<7(*CD{#*b5`@fUn{eKn)Q$_{GI);h=FaEb<0G;y@&aj=qlcDv0-~aOe zzy7UcIL#!$B>zA3pZfn&23>~B|4jbJGo55Q^H1xaIfFFg9R?PrX2x~@J^tPJpTuax zG@YU3|LOm|3~da$4Dk$G8Rjw^`7gtm#>CF(%b>|{j$tvg6SF4cPeys>{R}7m75?l0 zH|PIa1}#Qk#z{;^nKBrr|9{TF%6Q=4*MBn^r!(gNKl@LXF^P$X@#Ozs|K9#z$5_a? zmtoF-)BiXBUH|{!U+>@Z|M{5YnWq15`^)&hk_6o$0_ z{r|50JMjPc|F8e%{8Rj&@UQy65A!l+dB*hra~N2d*8i9Kr~AL_-^;(#|0^&CFwSSt z_%HFV^Itzh0+T4?n}5gtU1#uRoXrr-(8i$8bb>+p--my18LAmt86GjlFc|#1`p=nx zkKx&WUxvF3oQ(S!e=|BTf_h~Yj8hoP83GxE7+sk!G2dkn_;35q?VmKmIYwQ^e+&;8 z=KoLsFU+un;XA`~hCTn6{d@F3kLd|hIFl=*<$w3TtN$Hl`0+pH|B3&X|J(i7`0vCZ z$7s!v{(t-b#Q(GZgX*bBhV%bB{~i6W!ubAw)4#WW_5OHT}fkjrrF@4vtG3=bHt|DXN;5`!y4@qZzPvj2bohWy*dV8U3% zuIzmmTz{+9h)!f=OS<-cElV*cj+a{!HxGW=suX7Fa^K!=ce^Gza{(1eg{`=`)5hEL8 zFoOt#?Elh#5&u5^3uj1Xc<}G*zpV_H8QwEQFev?B^>6Y2iT`>3t1z@Pb}&T!pT)qz zRL$`ApAkb0!%Bu0hAaQ2{|IARqVDf+WztsPA42(>@OlKLs{y+DB=fCd1 zNB{j~n8{?syp_@I-|9aH|LtSk&X~-g#$dpZ@Xz(H_W$h+UW|;48jP$=lNi_iyZ@*B z-=F`V|0^>HGk#_e{=e+6@IQWr?TmJe3JlHv?HG6&3jgo?U&@g8|M=gKfB*lhG9>=@ z`Cs$@t7GUT?S^x7{)k; zga3E`kN>~+-}`^U|0Nmx82>Za|8M=5^)L4SQigbjp8wqpuNj0H4*p;JPvD<1!xP3! z{~!JHWbk5`_`jY(nsLVe4Sxgv#W9>@ zVYtS4hw;V#dH?eNOEVNQoMTwSaO}U(f2IF>|9@ggVzgkI%yf_8?!UGFTK->SxXkFy zG=Z`1fA+s${|_<>Fs*0k`oHS`0)~eS=l@rLdmd*0|NndRU!Q3?(_zN%415f}|Ih!s z@jsOD4`UHy7eh2d3`5WV{QueiQyJbe7BaFiL^4cbc=~_t|G)nw8J_+Z0EG_21_lj= zy8q|?J2E8x|N2joL5cA-!!3qP1_1_jhC+tB3?7X47+M*8z~fI%3=E9B8R8jh7~20G z`?sF)1XCI#KLco`W*x%=MkgjQ#`FItGMr&J{y*x!A!sa;@jBzz|HA(#{@=>5g3*N0 zo8cA1D~2QgJO6VsZ29l?zx#g+!x_evjByMi3>z4ZGsH3c|L@80pWz}y1cMjDuKzLr zSN^m7znftP!@YkZ|6>0g{wMX{^1l>A7Q?&$*8go8G#OnO8yL?1KluMELl)CRhWYBa5Efc z$YPlEf9d~A40?=;jDHyZGbk`lWT;~J!SMV4_J0Td*D;zhUid%hpVa?$#&e8rjQbdO zF{c0j`|mD8CgW#@mkh5M{xL8yO!~L)U(A2I|6l((Gt@F#Guks;`7i&Uw)_wM|NB3v-7uTMnt_)=mBEW)+W*b}IRBq# zuwcw%c>llc{{isqqZ`9XhPD5f{$m2ID`nWh@bQ1||1Jh@#vA{&|0n!+|Nrg37vpM1 zbB5S|)BhzgEMS=Sf6>45|L*>u#8A!f^Z$zfM*m;`+w)(M(VLN#!Tvwr|DgYE3`&fe z40`{i{`34V{Gamw)W7!sPZ;_cR{UpU*u$X40Ger7_J7O&r~f$_zWnF-@A7Zb|1S*2 z4A=h|{Rhnv_x#`czk@-Pq2_<+|N8&`|Aqex{qMw}%;3cUx+_5F|JMI@49ot5_8+YN z&%$_sQIk=YF_2M^q3+-BzjOaNGW=%z$assP|NrTKZ~p!KC;k7#e_O@`#)Axu3^)GS z{44u+?0+hQ0E5NBa~b*>%oq+c zC^IHADZ|8p6P7~215Fid8g#dv^W0>e^nJ@ zaUF(z|7{tbF??gV&A`cE_J8hweg_%T z`M=ixl>gWNulir}-+|#ILmrx|4(Ol#c-NoJ;Qi@O>xBuV#-<+Y0VbTBK|G)q5{LlU0=l_cT zdH+BD`|_{j|CIk*{w@Bu`M)~D#{bIy9sd9OugMVo|J1*R|F#S}|0n%F_g{)(*Z<4^ zxc>7q_%S#zm@z#3-~Rv8ztjK37+x}*`2XVHqW?1))-(M0-}!$Zc)o7i|G)oNGMr=B z`2YI9!vFvOFa3Y?e+WY=cs3xJ!G^*5|N4Ic|IhumU}#{_W$5}Z^ncSo&;Jz+F$|Xf zTmP;5_wL`!{{;-k7|t_A{6FD;_x~&ZpMpn2G#Ppst}$F>ILeUDQ1>6?Ygy2W z-TyoO|N6iD|NZ|*7(O$wFev_)`G4+z7Q;pccE%>gY{qJaod2M)gxCKC7?v@xFeWl= z`Ty(x@BdQ&AN@P|U!0-%ztaC>|C1R^7~cO^VEFc5@W0FdMuuk$whS}=@BXjHAkM(f z5WtYhP{^Rnu;G8;f8GC`|KI+%XUJkOWLWz@{{Qy>@(gthbqv$~Z~Fg-A(&C0q4WQ> z|6l&AGsH5KGw?8Y{#W{c?|(0Y8^g!{FaPiVZ~Xt_zkUCd{{Qzt*#CR~j*Y{|o+S{6Fyj z?*9q@H~ruKzv=&u|L6V}{GaiE^Z%y*YyMyRAM^jGaMV0iOC;=k(u zs{i}{U;8h`5Y6!HzwQ5u|BMVa43GZ@|5yA!?LX*DEiHzE{|EjR{jX+-V_5Z{=YQ?L z@_*_7jTjghcKzpNh-5hR|H(hT|9k&$|6la~{{O8EQyKRDSNgB=fARkd|G)pYW3XY6 zXE0@mVwl9>%dqSJ@&7CgoBk*Nulk?%pYy-?{}=zu82lOd7}yw|{J#qxx07UOXSl>L zo1vJYhoOq$@&DxikN>Y`IKoiHAjfd)zZydggABv>|Md*@4152#{V!v<4PF78!qCc~ z!m#H5y#KHNmoU5quk1SWU-^IL|4;@kMpj19P9;Bv00w4;y8n^?7yN(yUz6b^13zO1 zL+<~O|1J#s8I~|~F|;uxGbk`T`ach}R)Zmc@g9R1!{-0T|7S4VVhCr@XJ}(cXOLuI zWl&%+XNY9TVA%NI@V^Ly5u+(%GQ)xY>Hh=%Gc(*_Sj@2SfBt_jhQkce4Ez2+{a?ut z!~mM5Ol06<`1#+7!Gq!7|BwHr7z`N18J_-M{(sj0zyBi`co;xy3jX{Dt)lE^5NGK7 z|M!0k!|(rd|6lme%Amv$z~Ia9;Q!A5*Z$80w+C)8NHh8}y#3ey&*}f0|1bYf`|taI z!~ZyjRt5=%75`uS_hPvJzv;g*!*T{$29N*m{?+_O;D6o!y8o;G=QB)UU}7lw z@AAL*|HA*J{}22JjRvpypZ5RDe^-Wc|0jTFJWczr+7I|C<@MF<3GvGej|fR&sy)AH>kiV9T%v zy!OVCVHv|ih6N0544n*b{-=W1j|MWl`G4#`KZ7O1HPFZggEa#igD8VBgC+w5!_EKK z|FbdpF@S171#tPU#~{Pt!qCd#&9MIeivJD_1q{9npwmt#|F`-d_FstMHUkG^3&WiM z2LDg~k6`d+FlBIJc>KTm|GWPo3?d9~|2r}CF;p=`GcYq`|5yB<{9l-1A;U}tHHORo zkNn^M|M7nvh7blL1|9|vhC~K=hR^>`{a^e4%>Re~B^dk|tQaD}E2$#QFUFwG zAi_||-or%fLaP$Ap|2O}~ zGHhmWX1MpCkHLvSn1PRhpW)*F%m1wz3>YT=_xL~U|NsAd3}63${r~*`%KuOP*D$PN z0OgH8|2Y_f7;Z4UWk_UL^WX9R?EkA792rkAXfUk#U;Y2_e**@220aF5hR*+O|D_nF zGaO=QU=U~c@&CtvP6l}f6NU(e#S9l1+88eWZ~lMgzc@oU!z~6C#z_pv|1bLwQuW}! zD#I}bJ;nzN`3wdOum7+5|MmZDh7%0^3?>Xu{{Q)3!LXH~n8AwS@Bg#^Wf>|NIvL^_ z9{%tD|LuPd!+wSX3_BSnGw3mV{V&Oo!mys9j^Ww=OaB`f?lPD#ME|$>zvjOi!z~7O z#x91N|1bR40{3zc{(td*_5V!JItB&<#up4u4EO$j_^;03%%BFYS5`7iV@P6{%&>+b zk3pG%g+YTsgF%mB7Q;q{PyaLi@Ba@vc~p(z&HqjRFaHl_0If5XWw`SH`2U~(xf#Cx zXJEMUzvusw|8M@QF@V-ACNXG%Qw?ZEhb+U_|GWNA```Wl>HkEAas~y4lm8e0@A<## z|Be5w48{yB42S-I`ESCY#~{TZ!r;gd$?*06!vDL$bLKn#SAf_5|Nqa;V99X)e>-^f zL&*Q9|Gxh#`v3C(|9k##{(trVm;ZVUx(sjsAO2tQ-}QePc+b(N z|LzQd4C)M*{^qKmNZk!%T(_hEN6#27ZSB|HBww zFo-esFesZ~M>7aOeM= z|A+p6|9|!W_5XehH4G9AxBmYEt&0EO@SlspkHLvSk>S$+zW>wyfBbLDpaN>IFxWEa zF#P-f?EmZkPyaJAXfp^ffcCtATnNfvpw$Yu{y+I|$WX?R$6&+2!*J>UDzFR87#1*e zGDtI={J-q~f&VfLkqp8NSN@AJSTKC}f93zH|EK;>{h#yS@qftw9sh+GQW%;TtQbJ6 zbXNV}`v3m_cmEIl@A}{S|HgkVhL8V`{y+Wy<$qxYYX%L5AOG1I{21IA?)~5V|JwgU z|BL>Y{(tj7g<%3iC4&{iBk(GmU;o1y+!@aQulc|8zZF9!gE7O?|J(j|fy;kea7(NF z|IYuq47m)R3~&EW|DXQ9{{P4S4Gc>d%ora0fBGM^#^T)nAOCY1IvJ7~Dj6m+Ol62+ zU||qoFa)mxaA%myu$^HdLpp;SgBZhy|6&Y%3||?(GAv-w0qvn-C}7B8C}5~&h+)WUyi2X3%7)V_3nkmtj44HA^kS6!7e7G=mhwoBvu2c?`J>E)22^ zS`0Z18yR*m)G&yGZtME*!7!I$1w#gd0(dWC2N&h$fPi2_NV8!tG{~mBVN|oX1|Ly-j z{#RqrWAJB)Vc=tE`S19@^8d;ISN?DRe-b?Z{`CK+|Jn?Z4E7A5(c`fH*Z(UsuroaQ zfA#;J|3Ch}`oHi0-Tz%TsOF~i;eQ~odbzw7^r z|0n)$|G(gWFL<@#G4Sj^7sI>%tNvI1Fa2Npf6o7h|AiO?7%u#8_@Dp3~|KR^a|F`|m{m=Q|{QuSeybPcI-}(=#t>*oo{r}4U-~SK& zul_&z|H1!P{(t??%y9ny^#A?;&;Hk9Fk!d?UJvQ=f8~F61{($mhW-D0|8M#K{Qr;t z%nYD?x(ENagL?+o|1bEz>AwtvCBu{d7yg6d8#FWf;{VtGSO0@{Oi3_gG1N1-F}(Z_ zy6F8Mqnr7+e{A8N3+$7*rYV{QvUbmm!70fx(NUcJj9d10lYur z-T#~a&-{P&pP50Kp@LxrLmGIm!l(ZX4DbFkGWaq0GTi*%^nb&DK?ZdO&{)xr|NsB9 zGcYmS|9{~B6>v=evQdpeodI;-%ccJe49X0K45|$O{yzurzS{7A<^N~@jTqb+>=}d@ zZu~#~|1`MNXJyc4NM?v+U}bpx|LcDd26F~222h=~?>{4hG6N^W{r?yKU;6**zZ8QS z!`J_>|7$QrGWdg6yWIT$`oADUI717A6T|)gr~g0rfA{~L|G)n0GB`2_Gd%de@Bf02+U1Fk<-kpOry~L6||CL670r|1#4AS6T^8yTd47m)Y z4CV}={UjXVwNtSS*$h?;KmNb|Z^)3w;K?A$@b>@R|L^`=GxRewGw3k<{?Eq1&+zU4 zzyGcbG2q*JKr0p_82lL689*z0>=?4Z>ErJIZ~sLZ+!-7g{{FxE|Hgj?25W{)hBO9k zhHw8r{by&8Wzb-dVEF%^m4TPx_5VHp_kz#;4QEJXaAbJ!zwQ6x{{jr*48aT<;PpFy z{=feJ;QzP(%nT2~D@OPKKLHLcPKN*gZ~ou?|H%Jm|5+Kh81Dby^&iv<+4=w1e;I~P z;B_0@{xAK%@BjP%j0|u8pZpIhJx~5$_kY9x!~YL}*MdM&)fw=bp>zLF|3Ci!?EeS< zU;qE`|J(mN{}=pE|DXJS&418Iyh03{|5yL7`Cs>c?*IG$@BE+qzx@BI|1bWtF#P|2 z;eXqI$Nw7tWBzaWf9?O3|DYKWkiS9evz!07{qOqU`F{?$oP6;A|9{ZBuYLbl{a^Ec zA++viWO(#{`~M~2b+T{%^D?l5SBCxj|KT3KSL!$B|{EFB!eQuqyKmRi!lT;Br}*Z{P_RmKNEu_ zg9L*(1E|chX8^6!{QLj*|G)ob82Jq8E*bR{r~Cz@BhF3|NEbv;n)9n|9}0LV9;O? zVz~Ez-T#&UFZ^c)kKTb|ZyUHD^8Wwd|6B~e|DXN8_W!#7C&8r^sASmnf7btn|M&dg z{(r*%lK-{fw7T*Cy#F)*ul~RJ|IGi@|C9bl{h#>%+W*_&m08pN$Nvxf-}nF8|5yJH z|L^->{J-x1?Eg!_>#ui%PkR8>`N#gx{Xg;lvj3<5|M}0ru>XJg|D6AG{y+OK$Dqx? z4tD+3|L6Yi{(tQMhyOqSgVuU8GVn1x_`m)C&j08C-~a#e{~PeGPLRy6|GW%u|KIul z{QvF$TmP^6fAs%za8Hz#;pcx=25|;KhClzm|L0@SW>8^ZVEFX^+5i3jcm99&Uz9g3^8ai9KmPym|J?rt|5yEg{a=FN@Be-O zXZ@e|e>>53l}z{vT9# zzW>j`zz1$SfZB>T{{Q^1#NYvQSYaoL?gDQg@gB3#(Llr|cLl%PvgEj+boqjPx zAwvvgoXctF3Ln%WPgDry#gExaeLo`DegEvDcgD-;~gBF7u186;_7lSoJ07EH5 zHA4nN6hjO{GD87FB|{NIJcAj7D1!wXr~;*-~XV!42S;T`~T?w)&H0OgH|k`1+QH^@_*C+J^!zQ;}_JT-SL0h z|DFGj{=feJEw~SV`2VW^-TyWIN&N2o(ed5w+sn_l-b=pHdlYu_+=bhxtWU(8WI1bh zVc&&@i_>o;KCAjH{3Gql_xBS%75(!6xA6DNpVj~VvRZKG@E+$o&KJ$2!fDLz#&(#k zhVwX&C4Y?oivT~L1rG<08DE{?PT_kZsbcMtxpIao?V2sRiF(Jhq*W`Fo~syYnrSy_ zeb7wOmeCV6Xw}!($yIk%E>oPN@?Mw2>ZWs;Cztm!?_0j#0wx8Qger#~4>;jz;Ou87 zW+i8mqphphE`FcifQy%H3e)w!-QO0!Tm0(Z8_~}>Kazfb`=k0->DS{=vvyS)DV>&TKf( zae37hwrj$-j^3aC=s0#K2{6vI^j7|6J@VUpON5{x~yg^-uRt`QP{d=P_<& zT)}YU-`d~K-`hXgzx)4E;+gQ%pD)Zme)`?T_JVh(fRVsq-l<%V*;ttV{XYIpUUF|L!uevU73?@D%Zy z@u~7X=iSfGAl5E_T79q9CH0Sr-m)e#!m>=Vby7z}!v)XqKM-6bc2dSsSxfV>?mq($ zlN>81m#@BMAu3^!Au9q7`S^LUc%AnO@y_-3^nUM^5=F@#jV}h$BxI+!)Ss= zjY6K>WI1uEMu8n{`xpxUyD%~{uVV^h>|?NEbZ0)uI-C6j#~jW(oatP_JX87K2(^oH zh^L9Sh_4X$75gFN&Oetsg?%B@@xQNrM0|Pi;mSMvx0_zYKdX4)ddu#r?xhnK7M~9| zKkefEt7mVT-buTARyDy*be=Yqg{nh)M{dbG6RUdL+yFOQY68XsYQRS1J zFPPrezFYOC{-yA9pJ(3BlAZ=U+Iy$q>c+G6$9fNZ*pst6YnSk@FS|GHKXkbLxXbC| z=lia-UpK#Add2x7*Ljh1j_24fY`AQ2^V)r;=l9>u{eF+(IENwc4_-;$DLnsp_;^2Z ztznJ&oB3tdJDIml?=(Ih_&nun-Zzc!YCjMDVP?F+V$LqaF_9ya%ZiUx*jz$W&QN86 z28(u~PK>UVZmiCF?WbUh~iq6 zL+XFDgN-z-svS?e@p|p{_VJ1HIqk#achFxja8=;9fTzCOJhnSES%(`Is_vKGBzj0- z1=mlOm5k3B${D{iPGQ>5lEiVD>n7($mg+x>U#&hled7I8@=@$l`j>~_SN*>HznbL= zhaXP^|2E;rlIP`RmF_5L%Dxrj=ReBk|2OgT%GYzADLlS)|KF{mYmwL1+-85`_J-@z z+t24eo%opfY0Ky3U);Zb`0D(<^k>>{zrQ>T>zQY;MX@hri)C|Vd&M$=iJO7*pX#5g zpCaGpedhlB{L{owv7eTI%K4i2+nsS2b2+mJvl)}mKd0~YAJpDBycBxA^Qp(la^2#){^6?3^$#}!Z?Ioob@AtU z`3qu~{$F9ep>a#}PUQW9$3LH)e)aN$+7GtBSN_ib%fV33@`zoTGmL|QeLtH6`&qVU ztQPFTT<tG|eR&G~Zjv-;QWAOC+@|GxYCz~7JmivF?ui~9eW$%kzh`%O+Q zUSWP8fr%okr9R0nk&Tq)lV7ONBR5HMnaE9kPp%TS*X+7HseBoHv-x#}qJ+x$h53X8 z{s>ZHq4tDEMlvn?zv9=Pug5-p`FQ!$p3gHs&;M-m zHT;LkA5I1h=4{p;wp6xxEHw=Kf98KudmH(3+S8avzaAJqy7=Vt3%>XJzqtGm{H^oX z_>bQ&!=FpPsefAe&h%~ZoBr2=Let2J}H0F^;GNGs%HYP zj(({9Hs^cFx6*H?zR&*g=2!mzXr@h!yZ`O^#s4kqv%%LVKTrQT^jrSt>+iNdUjEqn zv;F7a?;PJczT|yucoXu{?B&Uq+h3f2D)4CO{b~0nJ^cJc=%w}RrdNG0<6iN<7Jha4 zMe@s?Z$v&ae0lJ#;`fyQ7Z~|jc5*oI8;Isftdlg5`XO;gv{(3!&~l+e0W3(1M(i|iGiFZ5D?i9eI~AkP`T(?YXETgBYPnuT}pMsuF$>gWF^ zbU}ET(0hT)d~11*@c8lv2;LN$FFIesMcPAlnM{!65>ZE?oBWdnHVKQ1-4hiT$r4(^ z@56PNMTGImANOy$?^)lpyzY4|_tyHO(${I<6uvY3Nc!&iZSQx@-+}*b{6GKK>le?j zm4BZ9o%Sc<_x)dIe#!ji__O8j@&A1cwTy8rPuaBD53upDuV7uqB+ppKxR-(L-?Kk| z{we-9{i*cf$jc+oCOm#{f62WM51O8wfBygF&R06GKD`KeapvXaw>LjAeY^9m>POJ; z4S#%p-Tb=mQ`pCwA5uTf`?l@Zjz7A8_5QtOV&rP)*~qr*@6w+kzgz!y{F}tk$SlcP z$8wKZiN%#!hH=Zk%0GX9>VLcXamKr-H_Kmjyq@&-{#%cCn?EprTKz%xL-^l~|NWL{xWY1p;~|$H_cG3j?CaTPux?@$`R(#`&Xkv1_g(L|vif|4Td#7xCc3TyJ;<5|TwS@@CoJn=_@H#jYr-~4Z4 zc*PRKHIHW{&rfbQE(4B}tfkEVnNG8)aUA2$!Pa}E!-XRKMALA<|t zYq;NYZsFd;CndN;s9iWoI6>$y|6QKBoUd6^84P|s{ODPd%sTm+Wjr-$Bds>fAoJ>`=0Xs>i6#Ndf)$i|M26>k5%7# zJ}!Q>;)&g(BahOaa6Uius^M+u`>&teen|Y$|HJ(2+fVa9ihoZ2`1Ez|*Z3bse{BEE z{8sfb{8QyunXex{m3^N6HSN3b&y?R0|Fjq_nKT&l{+Ik)^nWFj7t3MhVy1I{pML%N zVc#eH?~8sM`1<){?+4XSR$nT=tozFGOX}ade@g#PGj3&(XFbdOhmnhMCd1bMi~rsE zv+7sl&z_%#zyJJaWpigg%{-eif${7=x1TXzyuR%Iap-sV@2=kwzt8??`t12m_-*)y zsxL<0D!!fm8u#VWr=pMlKCJsx@NL^47M3vf2sR_u$t-0|6BsryO0aHVzr?YElY#3S z=Mqk3u4?Wgt~B-*){88GEZW*!+xt(sAC){>_B8cn%d5f{>d!S_F}^SV zIPFvX_vC+lj9LsP|8oC){$=<(`1gz-Yrk-OIsZ-KXa3JcKX?3U{QdT~)nBgvyZ-C{ zTlrh^SLe^qKd%0m_VfOazh7M6PkP<)dg+@_ukXK%eChdm`|Fhyx_V1g&r~W&{tj;dPCeHGO zIhEx&^A{#%=4;I6Ow<3J{Im710D~9PQ6^r7xxc1-yZrs{-=D0mT;c2;|9O9iefj!n z<)^!!l)m2n`RU&gW;TwM9O-Q8tSqdItfj1ZY;9~=tW7M%EL&Lh**~&>;qd0s6$}!# z6U^nC$J4;Iki(LFBI|RuOWgN(CvXdK*>H7mZsM5F@to}=XZY|}<>&M- za$h$5i2AR`V#mhIuFdg{;|YfzrvmqJ9wQ!c9uMB{JO|xm&IS@f2sbLW6WT%{3rTn->>Q)|33G96#RPiw=Lr#mNK>} z%(=hv-dDd|@Os^+^6wJg1HJ@(s{Zu)%kCdL{&f5+`^)g>)gLbgcIFJ`DCQN+E10VO zZ~imspA~B+54YeS!KHjp*>^KU{7Ycc;+V*_ku!@knp>ZDA@55bAMTl)MeOm+|NgE2 zUH5bHk0;;PeXIPk`_qljQQu>JasSEs8}QfekLGWIU$1`OW9($##yOuuh0T*Sgmn*V z9lHca6k9Q?H2YPKOb%-{TbBDQf7oTXB)FIGSn+<~>Sg0#{>KpU|Ja|TpEJJi|GE9& zJLdW9x}36HI$TB^K5RQ!xmi`21sLD{fA@bGqYcXbN@g5(*dnJ z`updn_)p2dE-Z}PUc3QZjcicCbxg4P!gX9>Lkib&zW{R~~mSPaE$eo@lOz zY^NDd{{Hpj!EalJA52Cp$5@WDbTF0wyYy${|1{=B%mR#;{?BAei>^^cz^rx06UG9+i`763jE0RhgpxfBwDgN8s1wkDl*?J~VyG{!;ig?`zxFIbRLF-uqhcgYnm) z@8zEteSGy!ayo zBKR7(;y401IeA|5{T0v?Sj|(#`HKA-n+7W<^E-w)3{RNWvg)$2v9vQd{+;)m;cpD% zYu2mmrX1OvXSmw9OSpZwU-2{xN{eria**CB@mN@uKZZwwdm>ji*D@||E;-IJHVYPC z7I{`TmIq9enRl_)vOZ>ZVKw9o;k_haC|JtN%+~GlBICgWceKK#4& zkL=$!zbE}X^;7Mi8&ezOmp|`+WPW@6dC$k^ANju6eXaaj@?GTji9g=IZhbNM(D%Ob z6VEr3?+3n0e<}R@>C^I$x*rNZ{P-mP{p@e9|55+N{tGisVtVku;a9}BPoEEe^#3sN zgZsw?A9+4ieA)2x-Ty_*EzGMJ0izxjKLaSqEa7DwhJ zM$!K-{+Rtv`T6i$)Yn zy2&(yS%8_Hk>@|}e_JMDw(0EM>~ZY4$z;NGn8ATjmt_Xq1NIr5tGMfVHTh=noa3x# zH)msG%Vkq%f6L*-wT0sxD?dvoGXqOFOA_-_MoC6KCTSKmw*TzkIE%PGajfJx#&wm) zi~B!oC!;T;0P|wz6HN0M)fiteq%!6)OR#QczWQJI&yk;pemwli`OlsCG}|(^T}%r9 zjQ*7Uz54$>!)1nZ4A~5`|LOc)@$V_a=l|RO&iW_Fl*rP{oWr>7f6+hRfA9YHFs))X zWfo`FXXa+&{(s`vobQs~rG6~`aplMFpT56CfA9Y_`r~Na+bw|wTg-T@9*zSU(bJD_*vr1 z{IB*u3;y2uxACv^pNKza{vBh;VetHC|L69fwf~D47clJkyZzU}pKd<|et3U>^}YOO z%C958&i&^9C&ciPA)cv^Pd|(@BCo=DgRU9r{FJ%-@ks| z{=V|N@=x2}9e=YxGm-z+|4sU%_}ljPqu&dD|Nb@e7t`;{e$mdT8TjBiJYg!wmfJ&QNXEhY}8Xl5=pUQRKdhrBX8 zQ`jf7G_feMzGZ#Seurxw_hgQ5EHhb7vft;9;k(V}$EVBtm3tPq29FKzCcYs4&%B4Y zZnEdFePP+pxccwg-@pFGF$OZ9VK!o!%i_SYg!wP?R~BW~Da=n84F1jdo%rkW?|XmO z{XO>k{m=hDlz(0LE6WtgqQJcMzslc)Ke2zj{_i`*rJ2 z=-(T^&-_gL9{AP!tLV2kU%z~n_}={8=i8z$)n6Wb;Go?w}L^8LHMucufN}Cf6e_A@l!AD|IdG${W|uWouQ98pE-@;`CqetzZiBfH?mYQ zS2Ec%H87fiR!%WKW(sEVVY?5w3rnQXKqjx@?u~$Jlk* zXS46&;^Y4)@R5&|`v-dnTMNqrrm0N)OtTm?8SXMJXAR@z;uK(=$n==`KI?qe>&!bD z5Bzuj@4~o{g@OGe+Z7f=W^WcY4lZsRE(LZUmK%&){(Jpn{yXu{slPA(9shUyZ_}Sw zzn}iG`tQs1oF$z#n3;{i^k4VCssDEV3H^2UhvW~NA00nBz8ijP`xf$}_SeooSN`4q zpZj0`-?~2@zjJ@N{tEk*`s?Q}=0692tNmpEmitBM>%H$^Ne*d2H_YcEeW?hz> zOwSk(FfuY(GAS{IGbJ$lvVLK|%%#hd&DG0xf?0@VIja#{Dyu3>7IPZ&XJ#GNS*#nG z;{HniV)~QG=)lIuv5w7(dFlTbf7kvKW_-k~$fnNmfU|*fF54O=tN%%V)BooFx9{J-|0e(c^KbLt^M88(nlrF53$grT%43N88~SVWkHlZ%|6&>5{Ad4n z_)p5;BmbQK7yeIY*u*%KDVo`h#g=s~>mk-vtb15=m>ZbNnUz?z*}k!UX3=Na$>PnX z%O1~mlSQ88K8q!rK3g{n5A#t*rvC?j@qAzX_1o9bZ*kvrzVUw-`PK5b;Qx{T>;7f_ zasQqASDNtxQz+w=e_#KI|0(`+^sxtp$(qUp@?EfGBPxtTD-%Ea1 z{B8LE>c8}Vg@3(&S^gFM6a2gBSN6}?pQ%4T|1kfN_@m+1?Y{^9Klms1SLF}ipXq;I z{JrpBgz+jv`TzZYAO5NMEB|lVU;V$lf9?Lv`#tB6$-n9UQvTlgo%l!N|4hcyj2Hf& z`m^@euU~KeH2mBCuk&B@e-Va%|1SSI_dDS4p8x3#FaE9nGwFBEp96mx{(bu^|6hc0 zBGVtHe5T`!?-*ba+ia1<3PO!DI ztYV(Q;?A1RdXBA_qm}&!^I3*t4E@Yo*lakiv9qy>F+cs!{cridBF0XZbF6n++?i{b zoS1$xN-%{f0%za{7n7f_@n9P+ux7= zF8>?x`|ppMAM<|3|DOM6{cpyfeBaZ)oB!PLYwGW1zuSI!|9t(k=1;@FU4K9P()=;; z+s1EkKR*0o_$&Cg`uB`qjDME@z47PVulGOGe!cm1>(`}UroV6e=K8zmU;qD`{}%q; z{@48fR)%24GYm%mKm1kv=ly>w12f|yhHQpP1|5c-|Hb}G{5$#AKFf=jDVzguu zVbWs~XWqul#=L-WI)gKV0OJxSKIYGinvAiG=1l#}rmW}Kn%O6@EoQM|PGw%odY!|S z+nlF>`v9jchZg&KwnuCx?BCfM*_hc6a7^aP5xPHHQM{1@>rG zC6-KFVT#`1{7MSwFRYI{#$ zy#I0S=fYpyzb$_E|9<^@%^!z^Mybd7+!eu&(+_df1dq)@=y9-{GY_%Pk(*+$@KH^kI6s3{(A6R>W}iD z)<3WRu>WoQ+xAcA|E_;Mf1mxC_DAKn+0UgvdVfa$zVcU!;XA{2hFuJo7}qfiunMwf zve>aCv-Gf3usmko%4EdY_$xMk%7ECNmOBts!#xk+7WV1zb@NleRm1RE5SixAq*va^W zQI@%c9Li$BXj=33?)=C@4VOx#SuOuePD^{4ue|DT{gMSleT82x_uYu)b?f29Ae{bTXx+V7&@<-a%mcKR*zE9mFu zpVNND|1SA+>2L2p-hY4oockm9@Av;o#)(Yw%-@)znZ7bcGx;-LVqU_$hS`N>CW|i1 zFJ@`r48Csa;F)7~`4FGkswyVZO^8%6x>0nYo|&3-dqbS^vI()Pu$!{`vF~E5V~J$6 z{Lk?}mcfiEkGYQd6q7KM8{^UcU;ZlnW&9`3AkB20$%yGPL*)O`e_Q`?GAJ{Zv$(O{ zVPj)!Wie$AVG3jtV=iR=%T&&!!}N{uJ0ly@HO51X%uM=B`x&n=P}9}Pc(f7JXq`qS&r+m6BEJ%UG5=xx2dedb|9|>d`!C>c#Gl`Pg#Uw1c`p1P@-O-?-yfmhIlqhkHvOOX z-};}&-&KE;{{LhA%Pholh^e2^h>?{sieVynM`SF+6o#t|ZyD||NHKaaF|y2O$z|To zc!*&l!w-hXjK`R^Gc93EWLWlJjP5FECFY|vLhGz_%j9Cm4|8M*a|EvGk=I_avF+E{g!91IJ7t?vh7)C$F z=M1ai?bpr!s^y1~a-cZ2rgb&*}dL z#wE-eEcMLhOa%;e{|f$Y|GVzrhX0A6^;`e%{Wbo3>o4Pf=Kp8^F8Rap=i~3@Kb!t8 z{g?kQ{cqKuJHOxjcKmDpzlC8r!-M}T|K0n$|L?EAMgQLX%lOe~tz2-(%2YddjqtX*#1SgVcZ7|5yK4F}!4GWQ=86!t{aBgRz6r zgvp1gkMSjgAmc^G%}n>0HZi{Zzu=$Fzp{U8|1W0@WnRX-h{=XAhhYlC4#qm>7c9)I zADP!Ot!KQ+pvS<$u#e#u<5{M3W@hF@#+m;g{L}t_{C_6HO@>_zYZ*EjuQRnXhcdG> zt26sC^D^&e0+k!0tii0iSY9&oGAl6kGIlclWIV{^%zS{Up0Nmg=IQPKEdRa!$@~-l zcl2-K-_XBD|L*-K&Ctl0#N^MkiP4LZfpHE)5<@D38UyIQn_K^F88$NWKd*S z#!$yNnei$EJHzt--~R7n&|@@b+{rkJDV}LIL-oI&zq9@}{q_6n`}fSB^S_IJzy7`a zkJaB4SLko)ALc(Ce=`4^{A2s~^54IIOaAWoWBkYW&(gpD z|36`rX1dA{^MBgE*nidk-2R_r5Mv5qI?b5OSkL&7@e$)AhUfp3{_g+N|99QL3I7cl zt}(bV?qT}*jQsf;NM$Nz8rpTe+$aRO5iQzYXwhRF;@j7J$iF#cn7VOq>Io#_JO zAqG!|j|?(QN15`OY#EstivG9!zx_X*A%d}(=`B+^Qx;)(=7`8Ip zV7S4sjKPUv;{QYcV*lO#x8eWJ|1bY3{;U6c{ZHecQ-8|--unCDuhGB0f2;rX|FiqI z;&0jCkAI#2{rr3Buiw8%|HS`S{f}YbVzglNWh`Nw#<-brALC}mCPsHg9mXFF(;12x zjxrc93NUgqH2ll@>-zWEU%mft87!Fmn7SFaGw?EW{}1?Y@gHD_xJYS zt^Zv9H~io7|HA+D|EvGm|Fiwq@K5mnvHy$=RsU!G6Z&WNZ|1*q{|^1j`SX}|Lbu%qs{KfE^;TMA#;||7^OybPDm<}@TXNY6i&9Ibl4U;JIMWzfUBPKB> zb|xpL15DP;^O$clZ((L-j$!g-n!)s&shF9W#fL?bF!%n-^Tz_9lJyZ;Xu_Awq~ z{KCM^F!6u>fA9b2{z?7Y`uFJHpMT~5ng3hnGG_x^tZ!}b6C|L6ak z_3zQYKmQ#5G5&S_-Pw(H&zo-9R`+M)N zz`wSCng7!nb~ETRnEy}z_x`%>-m@MuioFZzrKGR{@(rj z;9tQ1t^YRv)%xrFcf#L8f3N+0@t5_r!rrw!>m*M39gWwZ6GZ}s`^f9I~ z88R0z+c1kUTQjFI$1*!IyD_IQdocGgB{4QLG%(mQ3NYm{1v9ZR&1Vc_tYZAkXvFlK z(Sos`A&_ArgDm45#>b4$8BZ|oVSLQ!$h4ekH&Y{17*iJ00VaLsd}cf5Zl=kM{~1CV z4VVO&cQ9XJ4rHFlw4QMm1Ly|X-Hc7lIV@o;51H$k8JT67-Y~rQzv#aj!(WEmj0>3l zFr8*fV&Y|5$EePDkYPK+YX)}4j|>kPo-xc|*!%zazpejd|2O}y`mgYR`@isiUjL^2 z+w!mGpY1=PfA9b9{oDMv;&0F2+P|8APydV))H)g+YNq z@qg++y?;HQE+xzdvzxn@M|Goda z;_uAAkNy_?Gx-1ZzdS?N|Aqe~|GEBq{;%%;;s2}u2mC+#&+8xiKk0uF|7QQY{O{tw z)PK+aKKh&fkNbb%f6M>;|3&^s{O|rB_h0zG`TxWJ0~nSvY-E_sFp=Rs!)C@>rtM6I zObLuv7&bCoVtB%^oFR%KkRh8Pl0lgPbozQY!+VAt#%RW$4EGpZ82Om?GreG1$yCbJ z#MH&4#gxjplVJt}E8}Fw+l&_&XEORTiZJpqS~G?-sx$s!5Mi`u^k?*86la{pAjRi^dNW&S(L2I7SATc^_4?cQ z=gIGrzrFql|GoJ)<=^ywmH(vv&H3y0*ZgnUUxt63|8D*J{_pv}HUHB8dHzfOx8UFT ze~+x~z2@7%xV|L*@=@h|!x*T18GH~qc%m+_zBzv6%2|84&7 z$I!{p%}~N%$ME=n)Bl?PpZ`}e>|wabaGqfngA7CWf3^Rt|0VwW{O|g|;D7CZ-~W#P zEB^oe586+m!f+jYY6WO_Gibk=GeZc2A_EIUDuXQJZpMF%FB#`E#xc4v@-Qx8n8Cos zn8BFB=)f4txSLUr$%W}Z;}yoAjG9bNOlC|1Om`XAG9F|!U|Pm>oT--S6Js5t2csS% zH{*SVE`}ff)BZdE-}pb5;THoJ;|Ydo42u~~GdyKrW>jY6Wjw{OkYNeKW`>&#mW-1b zvltIC$T58Q@5Jzmp@OlO(T7orQIt`c(T%ZzaR(y@Q!&#DrWB?#jGl}Vj1G)*7_Ty} zVAN;4%y5fAkui|bmJxLB;DY}p|0n*x@Lvdgn#Roke*by?@BKIN-?D#K|B3&v`~UO5 z4}(909D_Q;3gwnEwCBzyE(X{QdQ};oq%)5B{zH zSN|{mpXtBfe{cR}{8#$#?Y|fQGXHV>llm9*Fa2N6zvh3Z|2h0`_;2)o#lMDsH~xA4 zp9#L{NB*U;jVhzr}yc|9<~#{-65)8hmEU z<^OyP&;D2bSN^a5f5Lx#hOG>L82&NrXUJ!8Wyof@!C=Mc!>GXc6MROW1*02dIAa!L z9-}McTZZKfvl&)1tYv6r@MLgdn8hH?IFWHbV-w>ih9HKo|5+Ja8Qd8@|L_0r`CsY3 z_W!E?Z~tpDJpZr$-|S!2UyZ-2f93xE{loq@;_s%vPyXKe+w<4yZ`9v+e~Px!%?wP8zKs5iFBpUwjQ)ep zzUlja`M)SbIm1bYcMMF7f{ap(%#8aPvKWjQG#NY?N*JmcA{ew87#Uvw|N38+!G^(r zfsx_C|C``@aYPw17;+he8TS5P3*OgX%dnMUHG?w4{eMM&@Bb10TmARmU*>;r{+{@| z@vp((6@OIz9Qa-J+wHgfZ;RjcznA^a`+ez`_OG2kvwrIQ)c#rYbKlQPKd=5|`<3u( z(XVsA-u+_#9r2sz&*MKee-HiL`nUgY_20(7=l_=fWBIT4|Ife9e|-N$|1J0@`Cst= z>VH}PHvTLBAIxxv;Sz%?gX90x|HS^YF=#W&Gd*Q$VLr*cfw`19nt26t2}>HQ5!)TM z>Ff<0Q#f~WZRED$N#ZHz*~r7rTfxi97s#i`SI@hI=Pq|A_a1I7o*bSGo=6@Wp8MP$ z+!we`bLnx<Fab`|oy2bdIv5hH@S(C+sWhQeoQy1eY23rQu?bVxAAY~-&23H{we*R{XgY@#Xpz7PJh~e-}}|@>)fy0-{*ge{Hgmh z?~lkIzu%93?f%vHE8*AiU){e2{z(6M`g`Z^y5G-!iT|4QbL!8_Ke>LX{o?5p?iGJeYay8bKhciQjv-$sAL{xlWPU1DkmeS9%lt7 zAJ+{oA8uRj_gr0E>Re)6SzH&n!ntF3T6o#{-tu1MRpz_Ecb=a|&`pR}_@9uwP^X}& zpq8M9;30v_{KxqA^6um*b@>AL!uT}! zl6ZM|zHnXU%He*(y@XqY+kl&$=N^wa?`58I+#9&waCUMwao*v~=i0%Q&Gm_MI;Rom zY>wmXYuF-KZ!k|``ph_k@h-#N|2F?`{nP&E`gg^j_&>^jKKx$(o9(yyuY{jle`x%; z_`US|jc=mgrhKjZ>htx$7qc&SKd=3K`m^R2l`n@s=YKx*N%f=K`xZ=Rd#rEc=E1 z>&LIFzj}VL`TXkBmQR~MNqv6xY3s+P57HluKkWVR?PJ&HO<(lBmVSNm)%;uMw~61C zeyaX*{$=?q@mK0E+h2EoTK-)2W8n|?pNhXW|JwE|?AOzun|{v!Ip^oppObz*{TcJi z_1B4?R=?K$X8haoSK#l;-{!xb|9tjK;!n_@L%(PIp7uxQ-{$}S7|t{PWIVz6fU%KD zlDUWJD8v2#?2I3nYFK`;-e7BDo5lK@WeZCr3m1ze%Q}|XEHNw{EIh1lS$WteuW4gf2K~RwMffrr-G49rz5e%=-&udo{*nB% zbK_6dUwXfm|2+63`}>No&0o%b(f(HW-StP}kDK3lzq@{u|F-#? z!}kl{lE1QiIrw?bm#1IXeAE3F|Hb=L`Nu<_7{5OG8t^ss%dyWKU#h=)e?Rv9_t)Of zY@b8F1btQd%J4PgYsuG;um8U$e4qTo{m1XGt3M}yR{6T*yU)*QKb3yY`=S41!S~4T zIzNhj+Wb24EABV%AO64l{-*rB{^!7-zkg=_J@rqV!IaUGX&VzSlO%)rzZZXX|NAo* zGpDmKuz*VSXqNjdDXe!{|FN>O8L;hV+rwVYah`*ZQ=9V*$7_zIobR|)c@FV(@@(Y( z!NtbCh`WeKn0Gx-3HLcJUhaQfja*_}wwzPgP1uas+S#viT;TBJ*vavP^C6cl_YSV5 zoCi4MI99NqW1qqCgtLshmdBOnGS_O3C2a3lZ?Ju1m*cp@9>HPDIf;{-GnnHtdjY#J z`*JoHHYT=q)*~!0Sz_5fvh#7svneodW?26J{r}|*w?XHSGfiP$#w^18j_E$rVy62{ zE0~#BRxuYa&taax?8WTNe37}B#gIjtIg&}0Nrq_y;~fS@hQfV zKJ%OJw}0QJ{CM^=@Ym0uyMD_5D*l!CbJF+7ZkkIr(?*zrKI}{__9(@h_htf=Qa?3ky5zMHUSfe`bB=-OLl2moqss zSuxc!9%S%myukF2IhSQE%Nds0EKMv0ETJryS$?oyWc$XZ&fd!2!?u~(mob9zJd+a3 z50+TgXjV5?6V?|jr7Zj`x0rjFEtoTzuP~dlEMs}X@`mLCiz7=Tvm^6P=604^7At01 zraY!rW-gX;76vw7jylez9E$8>Y+0-yS!S|mvV3FCXJKRg$->Uc#?Q#7*}ixtZx<||CInT|2NX4=p6i18ixUMnre|BS7S@(iuu zGYtFxcl=Lan8KLNG@WSyqYQ)df7AaB|GgM$7`vEeGx;#C`oHDh&VSzj>;E(TpYo6S z|Dpej{`3Af{J-)4tpDEsbN;XWU-IAMzYw?$d!3<(q3(a$Kc;_@|Gxjt{>%5b`0tm$ zXZ~{iE&ucWkJ-Qae|!Ek{i^!u`!nh1+@Fts-u`*%XVtHLzmNS9{j2qt_wW8cNq?6A zKK3j6m-;WCU#!0m{eJ&@^Y6mn{=buc=lpi~?e=@-?*+eAe((O3_-o_Of}e4}+J8U) zed2e{@AbbTewqDV{-^HmjX%M^Lw>FQmH8*&pXz_5|EvF<|6BD}?BCjdq5pLMKKy;{ z*Y;m$f4};(?oaIR^}qUlfB9qkH}KE%Uq64={*wRm^KaAtg$!kkeT;Do!vB^2|NdXc zaE!s6aXI4$#sa4QOnpo{8RGxl`eX37=)VBd3}y)y1r}2lIhHKubxiY_)-s#0UEna} z{K7Va#fIe#%XHRVtlX>;EVG!am?towWiDneV9I1SrZ{F7mU@;;%xjt6Gp=GxV`O5KW@KU# zVs>VBXG&yP`7ixn;r}LvB@7S#yZ`V0&(5&)ztq3wf299r{*Pv~Wjye|=il$Y|Nhqg zd+_hdKZk$6{#^Vm`e()8!vB*Q)-k;JzvbVDzb600{&)S)_|N$N{=b0#KmVQjbLH2W z-_!oFGl>6Z|Eusj;^(~Yvfq<_H2ezuWA#_{@BTj%{sjHG{yX@$!tci40)HC*nEZAB zH~HVBzuW)3`_u9_?QhzjE59fGN&d_I_t$T(-xGfQ`NjUH`;YOTIlr@hU;M5AC+W}g zKN)}T{c-y9`p?q8Ie*pu#{7-^yXnvF-|@c<{y6-V{;T=N6pZfRwuhn0d zzlQ%-{5NL|W3ps2V`OCHXS&N&#dGCumh`rp5QD;VZ8S+Tre5oIZ1a$`KmaGhZyV+_+2CPgM$MoWf3 zhTRNq44nUe{C)KI(!U4)tr?;i)-jx8IK*(5;X8v2V=U;Da>gu%5C2O4I{)?jSNA`P zVG)A|!{Pty{{Q=*&(O;7>3_(7zyA&Y?fzfoYPk$ui3Q z=lHkuALwk=jDIu!O8s5&XU3oOKP!Jn{eJ&@{+~^M`v08$6Z&_;U+cfi|E&MB;qTRd zLI0)y_y61f_tT$qe`f#v{%`O9um76@i8`#1UTO)W{7?Ot_0R6V-v4KR&;I%T=gr^Be;xl=|I0JzGZr$|F)aTV_;=Y~ zi~olhWEdS8LjHgFCkMI@m7$RF72`|BI7W8RDjy~rCTGTU25yF~|I_~6`}^sy@P8J@ zg-jOAcFgyggqfBydN74BA7i#;W@4&kjAB~E{FV6+(|yLdj7Jzbm=-cIF|S~XVX9)P zWh!EN%(RJFhUG2uBW698G!_$P|EB-D_TPr_CgW^IO~$tj3XHQEOBrn#>i%i`o%3hnpM*a>zl(nH z{<`?RVUjLT-)A;B6AGg0cfBF9A{5|tG z@$bYx9)FJi+41+_zgp1gPyep|x$!&u&*r~Q{}%o&`P2WK>Gy(P*}vxg^8S76_mAKF zf4cuL{AK>j_&50PmcLB@R)FUva~P5t?)|^>@6+FVf7kz8@L!hU^?#55SN}c!_x0bY zfA9WfgHM^7^1t+d(f^hI;~DH36`3@cUox*?e$T|hyqx(Kvo*6U(^Cc`hQ$o3Op}@K zFpDuuF%>Y%F#0h*WDI0-V%pF6gh7H~GQ&cq!z?AN7g=60*D}X5?_{3MqRaY>si(|)?X}BS;APjS(=&eF;z27U^>gh!n~4s3(Ff8E0#0NtSr$i z|CyVZmNC5gU(VpgxSY|NF_YoTe_4i23^|M!8G9LjGt@GGP7V9;U!Ng?!JOgye=!Cf zhGqX3{G0ao)gQ^fGXLKHTlR0s-?M*u{v7%9=g-?e7ymr@!|?a#pTB>8{aN&960vSpVez{r9){Z~dP&zrXxS`Q`m<|1YoKiN6(o zC;hJb)AG0e?}9&ff9L<+_UppW$v?mUwD{HgtLXRiKbn6Z{%QEL>yN@;nZKX@{QYD0 zH}~(&zqbE={bl;A{73B1wm*~qvj1EDSL84AU-iGjfA{~X{j=`RyuViePcYasDljCa^zYPv9{(8`HZq)MaAgSm zU-WOyzbuACrpHW|7&RF_{k!}x>Hp;a>HnYp_hhVNn#aV$^nh_8(-G!YmM)f;%zv5G znWi(AGVW!xW?ILzohg&)9itNC1cvzxjEs93cQAD^Yq1<*VPt*Ga+u``OB$;&TQFNT zYZ%Kd=2Ofy%#BR?j58S=7~`3KFuh^oVLr<|g@uvz7mGT}Ev8S5^BCtczGqBjI?E)+ zoXvcI`8x9wW=G~HOm~=WFzGO9FivDx$Y99$m2n=^OQ!2gPnn{aFEW2%zQH_|`90GS z#*Yk=j4hzmYK*-M;ta(MiHz$Q|1;Dvd}9z`;%2sE&SLt>@cjR-|G)nSFmyAhGW`DM z|IhjVN(M>B9SrOY?*EtkGyCWC@7%wH|JDB)|7-r6`uFYM1^@Q{3;Xx~FXO+^e|P^y z{a^II^S{{tYybZIQ~Lky-|2r=|8M@E@qgpL$bWPG75$t0_v)YGKhA%e|2X|!`&a32 z)}QHry8f2@+xTzgKY{<*|5^V#|Kt4U^v~+wg}>o{|NlAh=k=e~zXtz0{&oMW`xpFg z#ouXvUj7#OGx5*EKiYq@{}%l%{OkF5$se{q-+$ZuDfpB1hwab$-%o!}`s4q1-`}f$ z`TrIFEB+_?Z^2)kzubST|K9q$`fu=G<-Zbt4gYrkP5#&PA9U;Fr2pssRsL)I*Z1%D zznA~>7|#6P@X!6<<$o*x|NejB|F-{k|7$R$GXyi-`d{*Y&VMcjK8Ah&_x->2fAW9l z|JwhZ!FRRe6viY*RmO)5GK~8`Z3IRQrUd3zmTH!j%qh&Tn7dg{vy`#SW!}nk zosoy}9>aP@b>>KxX)NcNLz%uYEMV|pJi$1Dv4hc=={=Jg^An~NrhSZRi~@{{88w+c zFxD`}G8!^IV^Ct`Wm03l#yo?$gDIME4nrctdWKR)SEk8K$xQN09~rMOeqoGcTFf+y zDU#_v;}eEC|EK?x{Ac*@>py*lR>p%&>C6nw4;UF3zcPd}$}n0nRR4GW@B2USzsdh= z|6>2y{OkLt@qhRK&Hq88eXsr+{hRae`9G%rxBfN%3;DPCAOHU?|BU`w{G0uc>%Y?f zu78vM{{Hjf59?p$ztjE-|9kP5ZKm|K0gp@;CTz+23t{W&ef$d+?Y4 zZ}}g$KSh7`{1N<{_jmH&u)hp{h5xSj>-jJG-}k>8{=WKK^l$yYDgVm=Qm({%=GhVTDB{a??($i%~3 z#2n8o%)E?g2crbTf`88cxc*x*h%)9diZOaJFfpuSC}Z5oIGxdv@gYMz!@U2({{{bt z|3CFVfT5bfg@J`Zgdv@wk-?M!bmnc_|D695|KI!1$Z+TXn*X4CKU)5){WtvY_W$TV z*?*t@+WwpHZ{I(z|DFHk8M+y27*71Z{;&Aoj(<%5&;5(}r~5D9U+KTFf8YLA{{{8u zul$|+@6Es2|9<>6{5$ba?Vs;|uK#`YZ}{?GdF{$KXL{D02>AO5-j|M!16!w-gs z3_T303=94<{jdAy^)C*zg603a|DZDq`~O${U-+MaVHZOS<5|X8jNyzvj58U3fle}E zT*@HMuoP%)6Nt zS&lGYXVPX;WU^(FX1c%_#5kAX>;IkqZ5dn{`Iy|8)S2EfE@TW~)MLyA=e!~&2d1}- z8yQ;}y%^aUpD}!4;9`8ou$$pDgEC_e<4MLnjH?)LFp4l~Fv&ChWL(MU$@qm~Dnl?s zHbXB%0K?z^a^Q7-j*MZ94;bG4=lb9DujU`${}ca17&;g-7(h3igHGn&^?%#{7yktq zF8)vdulWDrzs7$u{{;W#{oC?y;lB<4tp0!e&&S~KKl-1}zpj7x{&D?J{m;!%!Vtvp z_J7NN>Hi1*_53UU7yB>b-@Jb;|4sh?{8#>u@!#RUum3LiSMYz~|6l*~|LOeu_V42V zScXXq_23h75C4z<|MFkUzwCdr{%!hK|4;Xy;=jm$UH>lpi}-*1|HA(l{$2jt@K^Pp z8F-$?n4#jo$p1`TyJh4*pa6 zpZ7oSf9(J8{|^7v|I7VX{jdIC;lJts;{SX9fBz4<8F$fEX911DUT_T zDW9o?$%W}N<08gvMghinh7TE8{>P1J_b7mO@=H68OE=SzD(yB z85oy=)(kKPFvc=!Fdk-D$6(L+pV5-(8RKHc3yh9T1x(^hYZwuQ`(YFZ6%K zKjVMg|J?p9`uF)?>i?Jj|Nk%i-~I2&-}irm|IPpR@}Jdzr~i-ssr;J=YH$B*_^0*n z*x#vtpZz`cZ~uP*h86#l|JVOd{r~h|5O|G1;lIECmi@o_-|&CVKc|0-|GoV;`QO>U z;eV_D9{VfxZ|c7v|G593{TKa@nRJHsM|w+tSP2N^S%?lN^Ubudn2uw_VMIL}bS z$ipPa)Wi6n;Sj?`26@J8#$rZO#yzxw~R|9Ai2`p?Y}%FxQt!4Sh>#t_Odi(xCnHik_MWel(XyZ(Rl zkN5w)|MCpM4ABhH3|)cQF8|8@LZ{O{1e6aRMq+y3vyzkmO}{k#9~)j!ZZ11tWe|7-pC z`d`}rSO4=EHZ!y^y#6oszwuw^zaRhf{y+U!^DpV&+JC+W0V0guFkzp%CJ%cI3v;W8bYlCjRU{qtAzyPZK z)ftvD2r~X>2w{l$zwqC|f9w9wVED%Hf?+O$GlM2WHp2x5c19+~%M1$`7BbvsP+&A* zWM{n2u#;g5Ljc3~|Dd%6tNt4@tY$dIu!>j67&I8u7&{oN8NC?4Gt6MfWGG@-%D}*A&G?_8 zl)-=@kzqB%9)`&bF$^ILvl#v}xG@GZN-=I=h+~Lj0Nu&4jUkcY`Tte_@BdF?ILWY^ zL6xE6zyJSL|9}4f`v3C(GvHHMfB*mZfBye>|BU`U`OEn)=HJ182LI>&zxDsz|2h9t z|LgpJ@$dM*&;P9c`~K(uzxUs=e>?wO{P+Ez$N%O3Z~uS(|Hl7C{}cX;{onDg``^}o zfBt>@*ZWW7AOAo0f9L+r`a9+Cj=%r@TK?1jcmMDFzmNV-_-FBd=YL@aeFjE`h5z;b zpZvG$pW6R<|NH;T{{QgL=zlcWq^bXw|GW23^?%g=`u}_X3o)cIEM{2Dkjr4pV9sF2 zpuzC||BnBA|3Ccy=f4*CwsaSUhyUmQFZ&X(**_~k;!zG4i48Is`7^@klFiv1BV6tYge&3}fkEez$1 zR~YjccQYt6Z2I5uf5U$^233X+|C|0x{(tfB>%SlWPJ!-=Tl=|F!I}XN#~5N6moQFb z3};ki{L1ixfr-(OF`O}M|N8$M|L^}l{lERc#{c{O_WwKgkLkbg|I`1{{(1h( z{#X4k;D)2m;C?eA0xQDy!*fVzvF+C|FQp9|Nr~{ z=l_oX;{RFxTmH}f-~E60e+C9k24#j{|9Aaw`#1Rxq4n*vl}BVG6@8hW`xSjKz$8j4v7HGpuH~!|F*Aq-j!6%20}WEsCRtY@fYC}1dHh+)uY`1k+% z|0DlT|G)YF(SLq$9S*Llgr$!~Fk~{-68*^8c;> zhyO48U-~}~?9-e7@BKgf|JeVd|9Adh_J7L%8UOeHfBgUM|26;X|4;t^`F|+5^<>WQ z_5Zd1KmS`ZBrv!!{QrOZKMO+$!!m}u46hk(FdSjn&#;-Hhrx$Ik0Fv_EyG_1O-511 zy$n7Kzy4qRfBgUZ|6vR#86+6Z81)%J?bI%YJcbzzUl?*3FEZX|oWN+pD9fnND9L!0 zVLG@p|HE*Hp_xIGfrUYdA&?=Dp^af0!!(9|hDwGY23-a{hH!>#vsRV`~R~4-T%A)Z~xEBkjc=)5W~R5@cjRu|7;8o{%`!h z^8dd7xBoLU*f7*G%w>pWIP*W{f6D*n|NZ}${y+Ht=>PNozx)?u;AdcE`1SwM|5yLD z8S)r%7^E4t|DXJSKj;=o22}=W1~!Jv|9k(J|KIvwkim+9i(&Eq(Er~5Q~sCyZ~8y) z|B?TH|GP2NGc+oK``_ok$N#kd3;u8YU-+N%|J#2S|5yM2`v24aL;n~2U;2O5 z|C#?w{)hb!|DW_f;=k2@k^evbz5Vy{-#2id=^u$Nz!)%)rgS&!EQ; z!cfI9i(xy%S%&=#^B86^Y-703z{aS=sLCk9_?BTQLo|aHgBSxpgBXJoLnp&2hA#{v zjCzd9jQ1I88MGK!7^E3u8J02JWVp|8kYO(aGh+$kVaCIZWsFZ5bQq@oFaLk~zXQVp zh7Sy8j1i1BjNcemGQ=>bF{m+wG4wIaX2@nRU@%}vV_3+rmthS;FUlAO8RS|M&mT{}~wM8O#`r z7^E4P7(V^K{r|}SGynho*JChXP+%}%h-AoPNM&$mkYiwBU}oT8`1Ak6{}=yn{=fGB z*MB_*8wNgx!~c8!H~(M!|G|G*1~Udt@Qn}x3``7P|Ns5}@BhR9oBwzI&;B3#Kl^|6 z|Kk6N|MUJ&`M=`-od1*lFZzG#KRbg1LkNR2gCYYv!_WVp|KIz+`~T|yEB{ab-}Jxr z|J45-|D*q#{#X95@L&A@`+w{I_5WM-@A|(l|AhV<{}1_J{J;8t#DD$&7XK6f*Z=SP zzwH0c|6Bgg{XhBtrvE?wt1$30-2T7w|EB*Nz&B*<_VR*C0^QB3 z#2^a}J!ytyhB*w=8DbgC8R8jsFg#{h!l1)&`~Qvq|Nk2>L@;DBBrpUp_%OsUR5Hw9 z0NwFZ&k)Vv%aF)W$dJSk$Pms@0PZK%F;p^SGuSaOfp2#8VMt-{WKd%eV-ROhVz6Lv zX3%B$^Z(TUz5ieQ2i@2g%HYEg!cf96k6|;zR)(z%D;Xv-G%(aK)G|zD*u-#xVKYNM zgEqs@|Cj$C1K&0j&fv#j%AmslTC2~-@csXf|4a-l44_-HUjJugkOkijB*5_H|L6ZK z3_J`h4B!4g`oH)8#Q(+r3;uWhU;Y2o|Cj%n8KfD^7%UkC8E%4a59MG`XW(bJ`hWZX zOaBEJ>=^7B)EIvJ-}Jxuf8PI1;5M%ag9w8&LkU9_cs;8S124GL-Tr?qc!c`Z{~!O~ z{ont;<$uEe%>Uj0=l);z|JeWk|MkH)SA6=v?*G*PEB^2Qf8_tp|J(kb`Ty?!m;V?4 zFa1CH|J468|1bN$;(!1D{Qs%o+n^@>pYVV6|EvFh{1;>pVR#R&Lqh&1{IB~z<$vdY zpZ}mf;lqEt|84$f{BQq1;eX|SpZ`k#h5qaPFa3Y|zc7O?gCxVt|6Bj}{0H3(>ipmC zzt8`i|Fiy|{QvO(9dM8K&i_;YFaBp`uw-xn-x(0Vkin3^;LPB_kjl^nx=)#53d2N( zYz7AgSB8lUzZvWptr&S3Uo$*oxXrMQp@kuu!3lh;9;7@1#ZU=@BZCJ+CBrg?y$nYf z_AzW?n9I=2kPS|CWel+lh71zm_1^Lf5)5Jt(hQ0W1`MtY0SulD`V1@#ul|4i&&{C5 z;K$GmzIALOgCE1c{~P|-{BQWb=f5;V3Bxq-y``XAFtiyG7^)e{7;?dJ5yzmxAj)9P zkPohlKsOBfGt@H7WSGX#z!1tH&G7jD!T%@zzxe;_|DXS$+kS5RfAn9N!Jff^L5_i$ zfsH|)!IHrpJW?dWz{$YDAjBZVz{mjFMLYR_{C}VS3IEIg*Zr^kKl}f=|DXTA{J-IU z(f`cJYk(iv14 z-u!>_Uzov=!5(~nlsbb1gCv7I13$yF|NH(g`#<@A+yA!z{r{)@pZR~)|0CdgQ;z@N z^Z)vP5e9#T42A#(F@_ueH~(J;zM*jG|9StH{@?xo?*DK9zy81Xf9LRh%%@$=rE`;$S_DUfNq$v zW2j@e${@q2%P7G3jNvrHE{1IkhZrs~oMD*95XKFvK#rGB_}RY8@2@O$H~1NQNYEPd;K>X1sS9nL>L$u zp8ntQzxu!1f8+mV|MmZi|L6QK_21!t{{Q~}P5*uW^ZtMI@6|v3|DbzdH~jDTpZq`M zfAIf||2_XV{yz@BQ*_<`dHp8xaz9|7N2ar^(F|7-p)`@iY`G4Q=kfBt{^|M>se|GWS1{(tHJ z^Z(EOgYNaY3cfk$$^XayKmO-pkYo^GU}X?sP+-tyFb3Z;q{ZOJP{Pp5(9clKki-zi z;KN|apv_>&;LDK7kjIb!z9&_h0dyvdFlgmELl(mnhV=|P8ICgCX86ePpMjl`f$<%~ z3x=Nzij1C&p^UbSGK_4D%#4DJ8jSXgevF}vp^QF^HjJ8#LX6)SZZPa(Sj(`D;RM4y zhA#}vjLeK57|t@RVOYelh2cEIONQSJyo^eWT8z?+{~7KxtYS!H&|@%U2xcf|Xkch& zsA0%taAuHY;A7xn`1b$g|KyZ;{id;0J0zhnQ_|6Bj> z;y>2^djH-2d;bTOY~KG<|5yC4`Cs`z_kYa)*#E`<8~-={ulZm7zw!U<|HuA6`v2(v z+5db0@A|+0|Ed4C{=fMD`2Vs0bN*NVFZNZeLjSG)$New; zU-iHIf8qbU|GEFm|4;nC>i?GiJO3a14{F_S`#jf&;I}PpOb-);nV+P|5yLt^8e0%J_b+^JA@&M zp@5;2VH$YMGnpZnA(SDHp^Kp#+*)>J@MFkf=wz6|u#Vv*!%c=$4D%Q&8S)vb8TuL4 zFFS4D%UQFzjJC$MBHh8v`pN8+iBbQ-)Uz9~l@Jg&Bny z|1mscxXf^fVI{*PhBk&ChLsE_7_Km!W7yBIlVLBzVTR2NoeaSY+6+1jQ4Gxt6%0-c zTnx|tU;lsk|DFFI{xdWD_;H#?=k4_V2mdeo-}isU z|C#^i{a^im-~aRfAN_yv|LOm`|F8Z(^Z(rco8WuIuKz#tf7}0s|7ZSR`hV~L^WZyJ zF8{v@zOf2)lNA@kt^dpZ_x_*of5!hQ|C|07{4f09@qhmR#s6pipY*@^f82kQ{|f)r z{+s=G`S1BZ@PEqx^8bzhJN{4qzw-a)|EvDD{rCOP_y6g?`~SZEQ}`e9zvcg8aPFJ> zzwUqP|G@vw|E>Pp{EzxS;s56UEB`nC_y4c^U-y3)I5)TdFZiGLzvut9{}=vW|9|EG z(f`Z;cYs%%)cl|De>u3#*YUse|7`Gn?Hm7({a^ln&j0oQ&;JMAR`&S+h5uLn|Nn2y z;LBjkpvWN2pa&jXlVjjxP+;(7sAZVXFrT53A)BF?p@X3dT!N)AOk=pmAjPQ7$jx|@ zVLQV*hGh)Xz<0PFWBA4JfnfoIA459B5e6m3M#iIzRg5N#XBeL{1pHh1H-*uIRg+~R zg9u|T%V8EFCI!Y9jH?;z|CRmj{&oA$_Ww~#)hrvC1pa0GzVs)XF^Bybha+?5?^WNj zzpef4_wWDjyT7d%gc%?F`SxJ!gEzF!SH7-wXek zG3T&7<=Dhw!S;)3DbodJCl(*(R0bu+7Ywuitp8E>tAybi%XF5n3@-on{;y$dXWYW5 z%zX6!ia$z!pO-?H@o6=&#S;b+%pz0Sb(-}>)?KTHhUnU^wVFzo;1 z^PS;`DC0Y}b?lQFp8RV6ssH!)zdpv_jE9&kS-StP{IiVFfO+!&a}3UZKmEDRxPh_j z&vAw>=93KB|9>&W{FnH%;@^3uYS#ZOpBVE0M*r&m&CRI6aPUtnLlfhRUvGcT{A=^S zo#7zEjXzg^E&F$lF`U8n->d(R|6gUaVcyHQ_|K|e-+%A=|BEr`KhM9kKWqPH{fhX$ z<0m6C7ppf@`QMPg`~HOfp8eaD@x(uupSpjhFdSyM_{-yW7vn;vioXvSW-#t#(Ene< zc!Yr)G@Hfd#q*G5&c8MPHZw7?G&5H*?`GM>%+93FnEmg|zppH+Y!*zd|DQ0f|G(s4 z3folftIQk!NdLddV8$55TFTwdtIJ;f=hU|=KLc47a%}wT{Nv+)mw$V|+x}ek_bp== z^U41kejWY2m$86p0ps2O3Jg>JO8;m7SN3b+&;1PL|Mb6e{EB9-VS4%V{Lk0FcK&7j zY4SVg?_Q>ee`!M&V$$#2%*Gk;J2UikL`ivbfGqcgiFYwO>|zo#)^e<%N${`2`G^!FU|9@YQ`jlb1@fBbp> zmxqayt(v8kans+E40jop{m}k;_KzyV1O{(LkN-XY_A=QpasRaXUj46~^qo3n4U6iW|+q~k5TNOHNy#(+04rSrCH2bF8tN`IfLOoQz^q*hOZ1N|BL?0F{(2j zW03vd$oPT9h$Wp_p27P+3yVCbBTLzjhA*jqX0Y%wZesYv%E2|AnUgX1zYgO<7M1@G zew_Wv{%1%ilw^Csna)u8Yr_8@Y*y@g%&Y!;Gnz1M{LlPbgW)yT zHP)WrjNeWFO!=$Fc!a6*|B1gUOxqbae(n0*!E}mo8G|BAJhKC%1)C;Y+CTf>hnS1l z5C7l&SD2}csp>Bi%T(sE-&Yy4p$hct(a6e*0a6%cl6&@ zCXN4(e*XFYpVgJg>i9Wj;$SlP=la*_fBj!^#vryFt{C>Gj5GgV|GVyc z+qWw$mYmD~^?Wn<@$XN=A3+99&IXqLACcc2|9kP|^H;Fv{*U={=Wi;b1H+Ra2mgFx zX=eQTFNpEozr;UQe-jz!vOVXNX3qcjm*FeJq`%F7?=b{3a55bIcjSM;KO@Gw?82N7{r8gLEmPJX*5B*?UHL!Z=l!2v|8D$y_UG|WiCZ~1$cc@^(o z_IW?f{yfO^ok@*>o5g_9@t5JBCk*0$uKb$7Fo%)-kKvDiKh;dyEK8W|S?;m&{SW)> z`z?`SB8wzj0ILhb?_aEcTNz(53jTWgM~NkXRgvN0-?*P2euc4qWEW%1{-yY1$=Auh z1ODCrvyH))Ih5rVbMQa&AI!hM{(s5%fwhU{7DMt+xu5U;{QEETkNcnLfB%1rnA(}S zSdv+J*<1cc|F!@3{huI%+`sp~r~JRe9Kg)O+RS{K+47&(FVPF>EU1TAI86ISl_Y*{N4RWlCh5UE@Rri>R&7VBr;B9 zjb_qeQDENl>(uZ2%y~>!zq@|#W)kCC#=8C2lAkrK+U$(~t^OVOxApJwKLNky{Yzs0 z{-^AF2!kcdx!((Z?)W?L&&TiDKTQ90GyY@dW={L_^1IJZNDPC{`B|zuLnP( z|Ku{9V6ggk|F_ML%ipqpzy0&}w-V#C|BHWx|2@p$%b@&Uh-o$h-~ai)S^v&wnaTZ@ zb^AY_f4slLe(^Diu)bh<#p=f5{9od~*}sc_R{vkbdW18Ib>8pezdHY|XWGYloaG6N z8EXrJ*Z=KX)y|6Ka-HnY|LgTDm-2>ucH_mA}gtMk8ye*^z#{SE)q#PITe0K>!+U~-}W*Ib2>3{GOS`<$?*Q?<=-<|CU9(EzV=uC z&%58O|IhrN^iS?@4dYH0Go}pY2aMc5|9}6?+{ZSLdHLT>f4P|M{|oy2n<0}y{D;c# zFN_)t&;R{pab>yvZ^yr2#;1&)44}21dH>J<>G=EOZ`~gjhE`^+zl*<5`#X(w5sTd) z{+}m*r~d2x8~NuJlMLq+jsnK!9}mAg{?7IHDU%1A5^D#8!Y{)gq5p0$rZaqJz_MwBKt)KzJK=^TK-S`A^Q72vper{PV0Ya zKhu9Q|4UFH0K735I_^-T$s<@?x}S*uap>@Sow`|I3X2j6MIl|LZCC-Zq$2S)$DQ~y6>a{E{R zXE%ci69Z!q<4K0XzcPOp{SRSi_`l_E3PTo)EOXRi=cGeSRtZ zyTI^`v7g0>CG7vMKTm(w{k-+>=3n8z=l`!@F#Ugoc?-K2^SQq(e<%M={oBHD_y0oX zQg#QHCWhn8SxlCHcK+67dd%|b@7aIqEHW%p7*GB!|0D6gj+vc#4U;U#JJ$GLqTiAj z&U1>h^ZkGKZ!crafAN2b%t36W3?cu0neH>@{?_?r#+b-j&Rol|?*Hq55r6jl-Nvx^ zZ{|;f-&OxlFxoK0{yqQq5aVQKHHP@V2mk9biZa|_;$k}c*ZSXMhROd0{{Q`L^5^Ft z@!to3$uVwZO8bBF-`qdDe$M>&izSVb<TuHU8i8d&l2M<_Oj%mQM`3{?7kX z`3<7~DP#>zj*zq9@r{f_&4i?N<5n$hQf$=|$x zoBqvX*v(|gB=P^w|5=Q2|5N@Z{9g8N6;m+Fapqr4{7f^M+!_7;p8Idf#>n#Vx76>} z|CbrOm=?0wb9`id_OJV2F!L_vTE_DX77QQ$z4)8Mn8fmkIiGbl%Y%Ox|GF}i{+;(L z=D#}AA%?C0KK*9-qr$|(lKe09UpeD6<_*lp|MmZ$%=nN&gu#Vz8^f}HXaDLm1~VM` z3+j3O`uqO(wLkiQga7p~D6qINi!na?*ZOzQ|8T}r|2O=JXFSH1%3SrQ`8WT6Mn)lq zH~(2#X0r>iJo@|Lm+S9U|HWCKFdO~n{rmDy*}njWbN`?Iw`UM#e8`~p|M&l&3_<^| z{|Wy)gJBsn`~R$;QNI-acl{Cg!_UmXZ2Ob(TkKz1<_ad^f6jm7{w4og_xIx8yA0cy zXD(-)$5_Syx{clK-;Tcp3>}O|8MiQA`rGmQ z+u!T|w=mc-tzvla@5I09|7S7nWL*94=-=nRSN+cYw})Zwzlr}Q|84ps^ZzjOJyt*F ze}C`&y8q`Q;}s@(hEfJgrVWgj7>bx4GR86;`9JmdvVW@VO6*7fY5&{7w3kVonUQ7d z-<>~p{B39b#kQNV`fvK*1OGNLY-MI+@nvFRVqm)S&;L(1!(^tr40ph12EAnn{}=Xu zA%i@_MaCN}d;U-P`R{io!}tH}{}ULUnEw4!VyI-|WQt{UW>jYE{jbKbh~fW#`G4ye z8dwdPegEeCUB+0{lE2p6yp` zSNF$@;Tlsj6X*Xazu*12!5Ge>%~bbK@6Vmz?SC%+ng2WP@B9Cz3){`G8q1G{r&f^!~bB0e8v-uJj@>$w*OiF z_sRd~|M{61Sk5x@Gy49C`nCM;R))0dj9MF3uaJfX=f_` zx9P9&-_YN(|B@Nk{B!uj_@9|+3B%3*xr`0}Z~S@uXW4%TrmajC%pOda{I<8Lu!LVPs(1&-jCZli~Z{OMmA5o%h%Be+$!f<}Aj*e|P`-{Hy-g#t^__&fxHC z$)5nmCPuyg1^-x>{<0il%4ht|yoG7!AG6;J7^PYNF;4qi^;i1;zCWk`9AW&d+hhwe^!hR|Hb}F z{;~YK_y0b|Y^EoS$Nn$>Tl$}s@eczhWA=ZKzw&=S{+{<+_kTZ=I-|zF(0}RwAN=3) zf6>36|4bR={#X8UVEoLS%4GKc{NE}6YW@lQf6uUp(fohc@BY6Z7&(|+|MCB|Wbk0} zWE5sl|G)5W;{R+0;s0^}6B)KL7%|NG7xS;5!IY8j|A~KZ{i>lQE&ufxS{Z))KlJz7pL>5U{}W(JWB$Ro`2YHUdH=ruHT=iU@QdLo;{hfiCe#0$ z{zWkAGBx}+{`>x45<}SkHGfb2oy1_pc<0}RfA<-5nT|8AXWY-=|Igshv%lvUq#5@7 zJMeGPKcWBs86p^7|K0VM>7OHm19J>z4`fvN6h<_Z6 zwk%w1v8*o{_5KAH~oM7Z}q>V|NH-Q{;T~X z@vr^={{Om+>zM2r8~z>q)B2a=f6@Q7|G)ezVsK^DWSIZY{9o38Q3i+qP5(~+zsPWd zu^Y63>u<%M@V~eI-DS{aQediM`1sHLU(KKX-@^ZnGQI)Tvj2qtxBYYad*IKKf14R{ z7+n8N`z`wS&cE&df*G=y7@2q(0vJGT%$&b&jOUm=nJ+V@F-~N#V))PCz{mu;>6_&z zlOaPELpx&%<6#DQhRFYC8TK$nGioy3V@za}U<_jPW7J`s$mqv-=l`mI0t^=!of*yk zd;L@TpZ-7V|Dpey|EvG9{X5J!ooUklq`%#Nh5l{-_vrru#+8g)8U8brF-HBb`CImH z6N5a{3?@IOi;O0WB@7=KOPQB5nErdkAjN9RYRB03Z{xo-#%ktIjNkre|F>q~WNc+p zWxmWP^}qOU=s(N+1r`~QjmmH&+Xi!vrMi2UdL zZ~Qm%&%A$M8I&16FfcNx{a^5Z&Hsh}-5C@a0~lo)Uo$*r5NC+}Xa7&{y*{0`9BxK6ow}Z0t}7} z^$b(~{r}tj|M35Z|J44!{%8K*pRtp{;ostaOBwkYcl>ktXaDcue}6_UMpg!n|11Bs z{OkJf~+$k594l6f_Q+25LfJWO`Xa!k1l3;)mh|AxVy@d3j{hQAE|8GbW(Fl=GS zVtUKCh_R8Wjj5br|KBZt-u&JE|1iT7MlD9i|DXSTV31}?U=aDw#xRfZGlTuV(!YBD z1OEU0_x}IA|H=Q4{AXZTz#z=1$e{AS?!PsI1mjvpZpKE&Xy!_0dBz$4od5m!7s^n^ zl*;t>f6TwO{}&iy822+4GtOf0VenxnVOYtqm?4XCCF3au-~Si?t^2p(U-19k44W7? zGW_`$`mgU_-G3oQP6pwB0{=u9%or~I_4y<8ubiQY;Vr`khKv8z8B`ecnB$n+82xG=^D>N=(d*Vhl?ev>8Jg?){tbm*wAfhB!v8|IGhV z7)~+iGJ@Jwn*VD4$^QTR-+^K3|5yKv|MN1;{BQNI@$dRSEB?&*=l=ifKl}f0|7-v6 z`lI%{;_ui0+6*iV{0uAq3;bvNm-v_M{{jYu|MGwJ|AjDcGoE1B^}pypBclwX8N+^t zmkb5}_x;=Re>Z~y<39#31_g%Y4Dt+b|26!-^;8TF)BE?+zt8{68P5D?`rqIvu8NL@biD||A!1) znCzG;8N3#hA+!&J@hFhVk$J#Q$mxUl~}KjF|2+?EJr$L4tWP^LEBe zhCapureh2}|Ihxv^*@XunK6gK{NK@k+ZZ|-4*Z+{@6i9-|KI#S&yd3C#_;yv=YK5V z-Ii?(*BA=_zy3F!VF6P z^BMLtSTmkvlwoRPv}IsqSjTvT$%S$8|7rhO{~!Jr!NAIR_J8JoP@VJTU-@6FzYqSc zVUT5vV$k}Z_wU=kWB)4|mN5MN|L)({f4l$7{on9+{a>g577V)oGym@WBm3_bgCCO+ zlOMzJe{=q=`ls=KKZ7|V7sJc{VvKBz9t`*XxBPecf8>8IgA0QTg9Jk}Lmxx`|DXTv z{geE6;qT`E2N-Vu%ljMokNdyuf4BdC{xE^1qya0spf9 z&t(W=*zo`1|J4kFj6DqO47>iX{{Q;F6oWj&BnD>2UktbZSN)sz@52A-42K!5nHMv8 zGHm;=z_f!&n(->b7RD`%GK@zUGnpb8Xa5iVZ^)3(kjW6u@S357@g`#z~S;vduh6$~bf{0yQ0r!f3uY-6bX=k#BcfrG(}@f0H?!-{{6|J@jh7@QdR z8BQ@=Wi(*A%lMn&`G3X#eE(bL4`T=8r~jM&FJdTXNdI5?KapVx!%Bwh3}p-f|1JJ;{1f`$!r;reg(2-f>;Dvn z$&7}KaSR{-pZ|aA|EB-)pfy(v&J2Z&hD_>=SN^Lp=rOu7u3%_laA)vmP-T3_$igJU zG>>r$gCDrP^Z(z^e@6e`{BLH+Vrcl!@qg-nJBHu?%m45Bf9wC=|2zK6{lEUV?{D|N zw*O2FJPdvRpZ+uYzvVyA|1JOG{xARU^#9~PlmEF4e;IrkjTo2z|Mb`DU+{lXhF|}a z|6Tec^7q+4amHtiQVeeYivR8YKbc_xL(_k|f1dw1{;T}o{jcrcgMUf?yZ;OR-}!I) zzn*{3{uTeP_%HIW;P0h>8Vt4!h5sG@ZT;K(FPeduar^&@e**uz{vZ5z`QNesH~t^^ zU&x@zD8p#MaN_?Fh6={L|7ZV|{`da>76xXgBuCX5>y9x^a77BZatfA+r-gBOD( z!#RdRhL-)1|G^N(SjoW2u$f^NgX901|4RRVW%$hy{@>vr^Z#ImE(U&v zSO1It2mf>bcj5nAhC&Aa|BwIKFuY^bVvPLH`@j4D$^VKBr~j}2x9DFt!)(SDhMNCw z|26-c{AXwQ%2395i{a~kONLbpnhY-gb^j~>|Maiwe*{A(gE@mNgB3$3LpH;X|M~w} z7^Z_yUtnXX`QP=w>HpgQ^B7Ju82=afxAR}!{~!Nd8J7Le`IqqT#lMsP*#9s1Kk5Iz ze;)tD|M~vo{(tuW$Ny#j)BZCuOkgNw*!LfFKKF+I>;9|#zxXftzc0gHhI0(R{ww^q z|9|hl5yP_o`~RP0n7|;&u!Z3o!~g#R3_T3<80IsyGCchs{Qukk*9{i*Z+C{ z&t+J^V9UVF@bJGWgDPVNqbEb;e-j4K$$~upFaERmf8qZGh8V^?#x#b4|JVL+V*u?O zSjF&%A(G+O|0N9Ej0+e{8JrmwF%&TfFeETcVkl-PVNhb2`#WVeS7P|D_lXgZE$r z|2O?_!XVBl$2fuE>wiOrZiYwypZ-s0{L2``n9Q*8f5HD%|5F&;7^4{r|4aP)^6&D0 zCWdMT8OG}jzy8npuf&kg;K}fip_B0^!}b3n|EvBb|I-GqDZT%H?SG~J|Nm+J|Ms7o zQJnG3|E2$a{LT5d@c(%RZN@Z)ng3({XZ&CB|NsBp48e@djB^+&8TS6a^RN7WD+8$9 zJpcd0e?EqIhHDJn4C((b{G0xN3j^p>NW- z&*k5ie{26oGOS^k#Gt~!!|>*R-~TKB9T=P$Oc@Lre*Twc*vP=oxQJo?f6M=I|6~4l z{tsZV1g#eOZ~1@Ke=dd_|7ZW-^`D7BiouDYo1vHC`~O4#Z5hNF68_i!H)H5vux0r0 z|M~w{|9}1$WZ+@A{ojOP0fQC8o&U2L3xPOhRXkU|JnbSXXs#XW{_ksX8`RMefGbdA%sDcp^u@LL5|_;e-;Ky21ABb z|BL?fFsx*l&A`f_^}qAq*?)`w+c0=AL@;b-xXUn`L6>3k|EB-!3}+c$GfZcg!H~ot z!LXNM31beUFvGQfm;W&`h%%-!dN5vPkYYIcp98#`>&<`A>HbF;{{I(bh+>%cpY#94 z|0@~3{*V06$gq&XjG^s+*?%5}iwuVtmi^!O@5R5s{{{aY8AKWHGO#m*{xAD)$I!rV z6tt_7!H2PsA@cvm|6L4S4Dt-8{_g>=3)5ssWQb*uWzb}p$5762`v0^4ix|E$%xBPK zc=P}8|Ly;c7-Sg_G45xSVf_1F^grMK%Kx+eAOCO1kPSXt;Q4$Z$_x(}E-`R3fYt}AGrVM&%<%WW7eg)s69Xs1M26c8 zXBlQQWHM}K5MzADz|Y_XS|P;1!g!UTl;OjF&;LjMJ^Z)xe*}XUgD}I@|9=0K{!jaF z%+Sh^&0xgv;D6cwsQ*>}-TpKDfBw(t|LOl)4Dt-1_KfHM7ys25_Wxh~|MLIF|GodM z89W&t{1;}J%#hFU@c)YcZ~q4|^fQz**f2OTRDk#P%=<6)-}L{x|F;=x7|j{w7=Hd^ z{IAEL#HhfS!0_+CBSQj%EW^wHq6~=)`3(9D+ze0t@B9Dh|G)o}|J(f!|G(|OB>2pc zyZ_((FK0N&5YO=D|K|UV|6~78`+xbr0C=@t9z()^*8e;Hb22RczyH5KLp1{jL-YTI z{{7MU;N*JVGctI!{z^3|C9eO{{Q~J0fRq-5Ca>7 z7Xuf=wErjnhchf^n83ivkoMp9e+PJ#<%a)v{#$_CDm)CJRb!yFkvR<47+x{lWyoVV z{@?$9`2T(X`59yx0vMKnbvrT~_`m1B5ko0M1n8s%hItJ347dOP|6jt;!yv)%{=Y9n z3V5HBID;4i4}&5DH^bZiHVg+D1Q;JOI52$wZ^~fK@bbSPLjpqq!$O8-3?>X33}+c+ z7$-3BF*q z@t=tSv}WIvVH-mR!{h(`|5N_E{-6Cnk>L=-QU+Uwi~raDKk)zg|M&lY{C8qF#BiNK zh(Yx~&;R=WyZ^ubZ^qEb(9H1Zf7Abo|9Aes@&D@oKmUCgj2O=T-~Ru}e?bN%25yEg z|Cjw&{crvM(*Jk=K_fe$bNh02mfdN|MKtcKh6I- z|HJ+t{;$H2#NfqH{=f6zwtq+eH!_$p`2XMV@A1F#|7ZWd|9|j*_xKS)4z@Xmi(`0C})shU}AXkKl?w!fAjx8{+BZ3Fo-hj{a*{-+wk(g zHN)TkUH^0cul;}W|FZvw{?{`IFkWIXVwm<{=>PkF4gWzcdnN`6h9HJ!hN}!)8Ginc z_#glO(EnhDpA3wQNesXLConu?IL^?;u#lmbL51Pt|DWJc2xGX;u$Cc+A()|@0aV&2 zGbl1V`2Xs^8G|ze2ZI_z55rQ18U|Me2?lWnP)Q!b@Z^8V|H=PN8LAkp82B0F7>pQP z84?*%82rH{4^RVW5%-#U;fYjf8_s{|A7q87<3tB7(x3ZpZ{O_--m&j zQJ(Q0!v=;0409R!7$z|+2CvX8WyoMiW$0#@%;3im23{K*!f^Hfn*Uq>U-&P}kjxOx zV8Nil06Mw-=KuNNeU!!wmJBuwX$+AJpZ-VwKk@JMzlr}-7$z_nGi>|6=D!RBD?`+O zz5h4k&)zX^jf!}9+g{}cZ2`~T?wq5m`fFa6KKkig)?u;D*w$GQ$f z7lRMO~1}=tA|DXMT@c++$bp{;`M>8sCqooNFoQe;H-i*t&W0fqEVGp14g=^E4Gso3hBEN(1uX_H z1~G;thD8i385S}0GQ=@}cDw{LWHK}}%w?!z@M6$m5Mi)pXlGcHQH|Ly;B4B-r08JHRWG8|>70`Iq7 z^8fY!R)%W~eGFO*{0yQD-~XTafAha3!z_j>25yF9|7ZPg{D1Jj0)sfihyOAR?hH~4 zcmH4e|Kk7e|Ihw6{1^To`CoydmBET(33zq++W(*a8!!Yj7&DyypYcETfAjx2|M&hE zVen!2@W1YV_5UgV5B)b~Xk-Xtxc9&4zuo_o|8xKE|NjEK!-|3Yvb+QHDq5W~R1uh7blb1|;s4zKJO1DM|MdUq|9k##{=ez}h5ujv3oytrJpSMLzvDkELnA{g186^r zD1#US2g9fTZ~u!hI5F5V*f3Nww1aM`{=ee?hX23+$1}`eh-SF<_szfhyG{(Z~p)OzYBu`!@d8^42}%?46nf}(sdca7<3tU8LSzK z87vtN|6l(9*?&0(Lk1HD9)=D73;%EW@5<1`5Y1r1AO`N4Z2Eun|KI-_4EhY(42}%G z40;UG44e#i{@?u1&Y-~X`TwT>EB@d8FTx9pxwET|F8Ie>%R;GXqTBd!;Sx-y_ePC9l9zEr~fbhKj(kT|MdS$ z{wp)&Fyu3&F*q?WGu-`u@c;Dx?f-fB*lj|NH*0_`m4?jQ?x?zyEK= z5Xcb0P{xqN@a6yh|MCpY42=wN44Dl13@!{N4517T4DbG5`p?G@!;r+F!643H3A!_e z!H1!MA(O$0fro*Y!Jff~!HmIzA&#LG?8^j(EQUe`R|aN=>;GT;cV*}TmwW0A$qX(G z3=DVwZ}|_}gRu4g+y86~G7NGIoDAFyN(_7qSO0JQzv=(n|Be4A{NMZk`2WlQc^T9h zKK$SEfA{|@|8M^P^xuXdm_dQzS|7ZU{`=5hBhC!9Vn1P7_ z)PH1VkY)G<9#Ifu`1Akc|6l*v7z7!_8JHMuf%mT{GuSYI*84j$gfs9lZ1~^$f6ade z1{sFG|3CaUWawvD$PmWx=l_-eSN^~F|NTE`|J{lI$N#f21T#c1NHKi=|N8%f{}=vW z`p?CX%1{RG>z@0s#o)mp%fQGW2EK#i_y4#5-~NC7|Nj3A|JVPY@qhjQ{r|UtcPD!@ zJoFNM46F>C3=9mQ-5jU>-}wLeKQDtegB620g9}3yxL*{=5W>pv*|-u!>}|K9%_|DXN;_W!~EdElLGm;QhI&%mI}V8ZbK|K9(L z{xAH0;6F2iCIbV*&j0KFKmO0g@cTb#MB)GcPybmMlo>3+IrjR09tIx-hDe4;h7^VdhI|G~1}O#+1`UQBhK&r%8Jrmy7{nON8O#}M7-AVFGi+y= z!Vt#b!jQvI%@D<4!obh)=Kr_<`V27)p$zg2xBsvDKN)-u)!+YI44?m>{=fhK%l`rl z3=ALsGcd3)Jp8}u|HS`u{@?g7&LGdg%<%aC#{aGV`~IK)&&Qw(K9T0l|G)pa86+9B z7&IAp8JHO~7{VC>7?>H3|9|jbmBE5Rh=HFWfT5WokHMY6l_8lSn}LzR;s5!6RsS6S zefhiOZ{%O8zvurr{@L`q>37cWpxb?^ot8&tDwB?*F{|ljB$SFRkB`ey{s|;P?CAYJarOv2$L(+4 z-}1l5{;K^8{@49a`u~;xnG8(~;tYNNEB^B{I5O^IQe=6+vWn$8^M9r;rcF!*%zZ51 zS*NgzaQ@^J;kwBAlk){vJkKrO^L$VEy!lq}&g8Y?ljYyZe}LbXKZ9=~uMn>(?^52q zyi<91@Y?d7;1lIn;Fsc8<^RDK%2&<1o5zypDfedX7H&Q6EnF^Kzd3htR&!c%zUNrO zQOIG-!OF3k-Jbn7+b_01YIw|q|iT=m)S^Nvq{KBj+s{~`H9#rvFh2j6DBm3n*W&EYp^ z-rRok=nd=JvbU1&CceA+?(;j<_x6JzJN|6^Gwlz@-=BXU{G0sW zm4S_MCF4`Zvy6KgS(y5m%9#6DJXsxB<5;qpC7D&3U76=FYqM-)dCBsC^5#3jYOfjgP!7taFTCO%RA$9xO<82Nko zSM!(f+w(i~&*JA12o&fOcqkwsC@v^17%QkGq$7M)_>=GwVPWB^LQ{o2g%d^8L=8nx zi=>L!ixh}l5s?$s6n!HyQAAT@v9PQ#gK)a=M&WhBM};p4y9*}>{S^!sx+c4F_`T!T-k)_pn!ca-#`VqiYw?%u zpS?aie~$d@^I7M!(PyvEKA-P>y7sa31M~a(xAJd-U-P{_`YP%b>#KV&|G!j!CI9No zOUsv=U(~z^exddv_{IDe(_gH5(eyIrmH4aLmp5KMe|7D(emlmJ%5?;a>q;aS5IE9elh>~x#tI8{C|1)wZuFB58FO2`LyIcX7Q(v3Eihn!t?ZLP9Z%e-EeV6@y<6Hgr`X8Hqtof1p z)96>qulis2e)<2d`(5;V9XK_l{uTN6{GU9-H-<_EumAJ^N&L5AsA05VUd8&8y@9iv z>nB$+*EG&&9Kjr~*q5+-v#(>@#j4CYk5!eulk*)n53e$h*kKc4;Q{9*S){fGUJlplgW z_`m0TE&9y;sqmA+m*B7Kzt(+i_~Q2Y{3o@~^FCL9*8gqe#~B~0Kiq#`_tw&r_MT-TOCc*WYbUcj^Eqa5mIutgnd?{%vNW>1 zVD4tV!2FTflsS&cj7f!QH)9WDI%o~ne^&-C#zTzf7&!k=`TO|Koj*K(Z~nRR`_)hO zAN#*o{8ay=_^aw3fBgS0_#^B4ysxJ}SAUZG=<_g-Sv5#DzWImaEIR5tCo94G)-);L)@X_$2{>RWyv0s*bRsZVs zx%{L4$4Q^mzD)gM|HbNy*4MLN&wg3)N%y0}$4ehAJ}vlU_Ib@`fiGrXZhqGJZ2Fn+ ztJsgHzjXdg|Gn|&yYIWd-};gC>(uXie**rd|DFGL&tJ>GO@BWA-t=qsk6qune=`5R z@F(rx>Hijt`AoN%beVz~TNopm{F&?+!x^&%T1`%Tt3 zmIut8EWvDT90FWvTv?p8?9HruSx&NAv$wNK@bJ=o~v+rmB!!E*+&e6`%&vBcBk+YlQ z9(yIb9lH;EKf5-&CtC^I753*G-kj4o+c>{-d|)?Yzs9b{>B6~zy_1!NWe4*lmgTJ5 zS=Criv8b`EVzyzq%F@X4k$Erk3+5b_%PgfV7R=I2t&HM~n;C8~C@?uOUuSY;{PF+m zzqfyn{r&e(fnoXoN&k%h{rOw+x8<+*zp{Tu|N8%({5Rp>t$*+T#s8E4SNqTI-+@17 zzXg8Z`6KmW-4+4=j-AGP0(-^IV&`TX*0_V>o`U%!9&vGGUE_uB8i)g>m(!1^ZzA7*etYoU`-jJm_V0hc ze)_`v?cR@@zd!$N`8VTl&maFk(tkRByZt`(Tj}q%e+&O>G59lB{V({N^(Xqz%0DH4 z|NPTrxc)!#-{(Ik{xts6V*Jl!&&Y;p*K-ba_9E6fEFW0r zvhHGC#@fur#*xHvpY0FJb!K5^Rp$51&MaBXzZn}DeVLvxtz)WY+Q9UO=`i@V$#N!T z=0(gqneCZvn2Z>s7d|F8Fd{a^M!+kdb9Q~CGZpN`)Rzc&6{^uzYYm!E6?Jox+I zkIV0+zYhNT`)lLxAAgMgG5`Pi@A}`#e?I-*^E>bN^54h*%=jzwj|1G}R{ih%Z_S^U z-@ATi{Ym+=;rG2?TYjbgw*F)C*YltDf9wBV|78C*|Ec@)^-s#*pMO^Wj{SA+r}Zz6 z-)g^`ep&tc{43~B#9ywz7k+pA>iU`aljm2@ufxBt|61{D$*Q~>d)4!+u-T&|Qzx03B|62Y<{uBHA{CDCX`+pe>4oowcw=w@`{Pq9I|3tncp%mU|z?}&Emz}$oS@e(*F%lP&WemjA3uY+G20n2Z^>GbS?GFim1Q#e9i{fpr3lFG~{(KkIzfd2A6JvYe0D zgW0~a`m=pyt73O&k7S#~`iyls+Xl8MwiT?#EPBj$nLaWqF!239@V|g@E)xSYA9FKP z6{9TUcgD+1E19-1<}rH-#^j+$Nn+=EBd?r&&}WWfBpM; z=_kvtqd)b2a{iqD)9qLGFVkNMzs~%A_c!5R*q`S=H~gsh!Ti(W*V5k)|9Jl`{G<5$ z=Fj;*{(OJ)UG<0P&-K4H{XX$~+V6nh*MF`4CH{N=@4LS_f4~2E<>$X&7Jp{_$^5hG zkM-a1zi0kt{$IrK_J8iby?;0UE&Xfrx90DMzc>CC{oVif!oSS_=l)6lbNeUo|JMH^ zhFS&*hA00|{eSS^mZ64W2g4-Bex@Z%R!q7~XBpEO%Ks}d>}UMRl*k;ze1+*YV=!Y6 zBNx+3COc*p7CF|dtg)S8wGfrc=$kNO9isVK_>|!os)?}7rn#ZvF|MvgS{>L&{GHzqEV9aMwW^iYC&+v+opDB&e zmGLyA2U8%^DMk&(MGSxc8~(Ta*Yub1-`jt0{@wal{eR8>@BdEytNQ=tzx4m0zg&M* z{(S$F`*;3d|9@Bh`Ta}zJM$0opYGoaey9IQ{M+|;-yiWmnSV0>HvN0}PwgM~-;_V~ zf5iTF{k8wQ@Q?JLsNWZVnf(_2lkkWCPuuU9-&cP}{n`BI=bxQ_HvVS+&G?)1x8(0_ zzv_NU|FHe8{XO}|>0ht@O#N%~cgY{6KL>sr{BHY|_sjXW=O6XIIscyg*JYUcZ}lJ5 zKf-@){)zny`m^EJ^j}|oKmN=1Kjwe<|L6bW{+a!={P+5A?B7d&7XEqg$Nz8W-^+it z{E_~v@%P-H>Ob@TeEOsQ_r>4r|5F*H7&QNR{Ym;Q``hF9_1~xeeEWOzU;qDe4311o znYJ)1B3vv5SR7qWUW$1t%n>#*El z(PG`o>ctkrCe5~pbsNi8=2B*HmJ2M~S)^G$GDos3U`b^WW07Myz{1Stz+S@M#P*&= zi&>3{mFY9%ZN`_3Um3qM`ZBpOPhw$Wb!Ks9KFMUyq{kS};LC8AL4(qxb($f3N@j{&(l!XMf-Qvt%%2 z6lJ={bce}|QR^SepQ(T1{>)?f=yN zt@z9PFXJEczs|oFe+B+J|6Tg``(L+zr~X<0*Z;5f|MLG_1~~?&|0(|@|DF8j&LG9q z$^4!y3Y86=^D!s)@asp79o~omiH{bSVCAfFi&RQ!_3Pvjm4gI25S&& z1IsFAIpzYUGRAETOBp6G<}fp`^0H26Udecrp^EVYQx|gtb1>6=233Z+3?7VDjI$Yx z82lLaG59ggV=QG1W(;KHXZ*^b&&b6X$6&<3!nldii7^s9XY%O({{K(^yD{i6B>eaI zm+<%XpErM${!0Fx{^$GeXTP8QG5fdqU(&y8e}n%X`jh>q`%m~Ewcp~u5`JC(z4veY ze>H}q|C9b*`lIy6`_KA6Qh(k5s{iHs`}2?eUyFZV{x$!L{oD8_>yOu;hTl_ub^J>D zo$!bIum0bwe|G&j`d8+^{QqNrHU3!rw)ma-JLPxZ?_VOx|I7XF{y)3_-~R3UEAq$o_krIV{sjI#{@3iE=f6LH_xxS`_vhbh z{}%qg`QMeHgRzt8F5`>;4gYriJMll8!INR(|8M`k|C{??nBm?3wf}eiKk=VcgH4$Y8^;n?Z#!h4BWXFOv@w2h&x?1B|;Er!&eiPGab12x8=8dckPO zc%H$4@hxLH(+8$9<|5{^OtMU?8NV{JGf!o{&XmPi%dm^#2;&l_T}%#4CmE+Oaxpb9 zE3sCvzGwcx7|Gbk6vHx?wT|^5OCw7#%Ngb@=0fJF%oWVLnN~A;F#csUW&Xo_m06oP zfysd}n4y6ol`)AajQIj{CG$q64UFv!)Bk(@mtkOGddeKbGMD)w(=n#&Og>B}7=@Ya zn8Fx^8AAU*{ulPo>!11mR)z}3JB;@jn;17RH2q)yZ}&gX|HuAIFw`=zGMX_mG5%w? z!f^6`?!Oa%MgL9xSNl)(pWZ*uf7<^({yqKo!{4xfTmK#Sm+eVp{+ISI`0wvO5B_rh zpYp%w|J{G(e-r-*{kiyi&2N!E{eKGoeETi*$MEmcf1Ca*F|7Sx{x9<{-`|+O*Z&s& zOZ{)akip=^uzkmNvGR$PS^WX3P<$p5& z7XLl`m;0Z>zkq)S|2_Fv{V(+2fqxwTAO2hW@9;m~|4#qA|0^=gVn}4D`oH2|*}vWY zO#XlPzl7mA!*K=?hUfnR{{8>Q3pzdQAIrboe@qMkjB6Rw7^g8*{@?m<$v^Y|N(?6$ zN*N~pU-*9$gE`{{hOhq_82A{YnT|3sFbOfzkGi`{W1Sr z{I~LN&))-orT^{w=kmY!|BnBf3;_({46pvnF|;vEVqjwk{(t3P)<5HaW&fi7doy@3 zl>P_ZYw_nl2gCROcmMDEzwy5W13Tkc#t)1Yj3o?q|Cj#z_wV`t;|!LJs*LX#E;7ty zaAp9lmSbToW}L!!gVCHxkLeI&E@K1ZDaIR&8yO=RA2V!Yc+Q~5Sjl*m@f+hg#zl<2 zjO!Tu8M+xBGYBwdF}`M$U}9oA$7sShkzqH(OvXAUdFEth6Xvx{{7hRJ&oD|e@iWCS zg4Wo~X6Rx3$M}-*DdStlIgEUaD;Xv*+-68%+{ReTxP)Qf|F!?8GR$SX#+b&a#hA>v zf^imO2jfM?5T-(=vy9gmY#FQ=wlYLB?qXcX$jfNP09p@J`(Kbjl40e4_x~yXZ~PZx z`0{_&f06&;|9bwq|GoJ4{=c{X+Za+9Zv3zKpZUM`f9-#f|9<~k|H}N0`^)}s#=ock zp8Y%Z@6JD||L*_o|6739q@4PH^#8g4+y2}BfAP=b|DOLd{>%RF`uG0tj=#G9KK=9f zf8pPkzuW%$|C9TF_rDlJ-v6$DZ2u1ao%6T*?}Wc^|Hk|a`=|OZ2Ym1PrGLBrvHvgl zzxn^7|BnA({5$jSz`wcwrvBUY@6x|L|JM9_|8K?r5{A_b3=FIOdHvn+$Kr3vzp4L! z|6lt*=6}Ke1^;{h8~wlhZ~s58{}ul~{C8pSWMF4#`w!Zwf92oy|FaoZGH^2N|F6Zc zfnh6yKf{y%Q~%ri|MM^6zaPUDhDruj1}TPJ3^9ytjB$*Lj0+j={EzuR?|&(S4Py-B zYlg`TR~d>J&ob^~OlJhG_+V#DWSqm8!MKs(|Nr0rr!lxPUSbSqiej3|xQ@Y`!JA<( zLo%ZqlOVGJ^HHV*CMl-i^6Am;NvF-{gOL{@wU@@88~k8UKX;egFIaFULQ*f9d~@ z{X6xq``^TWyZ){Ix8mQof7$;J|G)OX{y+QwC;uM&+xzdtKhghj|0Dk&`gi;<=U=VA zKmN}8C-DEu|FsNijQWiFjOmQMjBbpp7)%)y8G;$Q8RjxQy3X{BDVYh>)~;kyVs2ngVSd5n#k7YJ)PK@olw`DHoW}T)QI#o? zshz2T$%*L$<7LJhj7u2Z8UHYRV+dxv$Y{uv&(z7(#N@&Bgt3V+fU%8{fys>N4C7yh z6b4_05C##3oBu(pg#;M({;&SO{l7cIYKHX;u?$E4>;8Z7PZ)d(W!(RS|2O})GTdO8 z%y8?!-T%=43=9hyjxkJONMSH$xc$HX{~GXK#At>{hL`_?|9|>-@!yAkV*fe*U-{Sj zFZEyQKbL{__1}`M2fo)W7@w-u`>`@5a9i{?7ip=I^7w68{AMasKoAxAfoifBgRz{;mHT z_E+lfmp>o=SpR+Vcl$r1|2F?6{&WBT_;2UG?tdcx?Edcf^Xt#Czmxxo{kQoq`hWdD z*MG+UYX9B)XYjx7|F-|j{s;f(|NrG5_y27v5|Lnip|BU|M`M-rBm+>~^ zTgFX{c8t3j@)$}ORx#XQILFY#Ak8rMf9n7B{|y+b8KyIAWjM>QnZb+U>HmBG#TiP$ zy`SF<+ZZ-5XfwWIOkhf8GH23Za$z!H+Q|5vA&MambmtV~d&Y;1FBlz|nwgTBgqYZw zVwmPKWi$O}JjQsO@hanS#$HA<#ybpi7#1@;XHWv)b70Kq%4p5V!gz#XJHsD_a>i$j zicIQEHcb6YcbN__c`)r_RAyYxFrPtz@e$)fCN*YPW>)5@Oae@uj5drqjE0OZj2VnG z88k|Ns1Z`R~O)_WzFmbN(m&*Z=?K-`0PZ{#pIc z{;&W4>A&m$PW(&wcmD6Jzc2o#{5$yX`#%s6|NrV=)<5NcD*tr;x%^A`XZ-Kb-^#zM z{_6eP@bCLS_W#%ZRs4(ix9K0#|I7c{|1JL~`9JQz{r~;{jQ_FzGx;~~pU{7={|5h0 z{nPk2b|0n)! z|EK(a>i?<#js9Q!cl@8&|K|VO{%8C@_Al|@%zxqkO&At3|o^Z%s(|Nb{JTwyrKki@{x@Zta6{}=z?`~UF&@&70O zvoQED^f2sUSj&*l5YMoj!JP3HV+zwArZr54Op_QD8ATXl7>_e5Gr2RdF_kiYVmQih zi-DKXkujVxh*6tSoH2-TJ>wI`3yf14Co{feG-k4A3Sp{as$dFd(q?+ac$ATase$Pz z(^jS`CRL`BjGc^yjCqWKj6#fe7!ERAWsqZxVvJ;TX7pmLU|hx6%=nbSjN#3HUWRmr z2Mqd*9~cxE0{(0N-~B(8VIG4k!(#BcK%ld#ZT`Rfx9Q)@fAjxmFq~r8%wWM#_pzqKCI1(IPsP_`aANRhh+rsW=x3P3kj$XWz{#M@;Kq>3(8sWy;R%Bi<32{vs743l zUxoz?Jq$}24l`V3xXy5yVLL+(gF1scLlnby26x8YjJp_H7)uxn8GRX*88sOT86Psb zGWj!oW}L^kmXV#wjER%!5aUipCZ;m*ykr>@Khti;X2xvBQpRW6ft-( zgfp}->}Gh)z{AMKc!gmCLnMPULmk6Q1{FpvMk7WGMrp<`3=bJjfOmZ+F+OE{#u&^v zpFxj-he4mAm0>?a4}%oLwf`Uf7cj6gDltxBxc-02|C9f3|F8Y8`9Jf&D8qDyH4IG* zVGQmJQ49?XO$@pWz5hWsyPp4N{eS8IcmMeqgcICfAjy+|0@5P{|F-_y@NdJvx&LbaW&NxFxBK6vf3^Qu|6Ta|=|4cYC`cMP`~o-#->Ix|Wz zHZh$2pYgxzKL^7Mh8GO?7#1+ZGdM5=F%&VhGt6Sx#c+_JkHLq*o}qwYIm01_3k>%e zZZn)>IM48a0dy+C0tQb8Hin=7fBt{}|IPp3|Ns2I^M4QcKAkBHYZ#_6OlO$MP{t6& zP|7fkVFAN-hA#{-!JtgKYf&=>O0EC;q4ZxA>p)f6M><|C|2n z{D1cE+`q5?!u}usFUp|7Ai(h9|CRq6|5yJn{J-PBJOgMAz88Z&gDis_gB3$QLk~kF z!-N0c|Ns88{(s?r9K#I;9Y#&YXADyqR2WwN&-!2Tf6sq^26o0y#-)tOj2{^a7(lDQ zjxpFV+A>~YaA&yv|LlJihJ_3-86Gg~U|7tsj^QZ7BL)%1OvbH@TNncvPcsxTBr;So z%w{;sz`*FqSj-sBD9m`AVJX8-2GA`~(F}|X=l?(Xugx%>L6k9=(S}i!@gu`#h8zZS z24x0Qh5+#DT4e@1h75)thGh)v8P+p^c9KqE2x8!8`2L@RfuDhq;mdyp23>|EhS?0a z8U8X{WthP*fnf*31%_^h*Z*U|VIKCs{r{E!!VJ6&JOA7Kzw__tzx)4q{@eXe|6l#T z?f=aGtN*Y1Kka|V{}unA{AU8+X>tI(Z=mo0l>d$Y!~dK9xA|ZG|J;8m1|tR`h9Cb$ z8B7?287}?b_y5xWyZ>+h|NP&Op^%}QA(O#|!JNT_fr(+~|F-`<|M&dA_y5lS>;G^6 zKmUK-|K9(F|BL?j{crmp_TT^ir2qH+zxjXZ|F!?D3}OuD|Hu7T_;2*z;Xl{^z5kB? zi})|Wkk6pWu=0QO|A_zP|I7Zn{ulc%{NM3^=l`w$m;JB(AMjuGKi7ZG|G)p;|9Af% z=YNC$CjYJer~lvlpN+wnp@JcgL7HLSf7Aa=|9}4D{crX^{(r^)*8kK0ul>LI|E&Kp z|0Vv5|1bUj`M(cCB||4eIYTN#EyI2W21aJa!weM+4h)P8=l);(|M@>7!@vK645kc@ z3=Rx23@r@Z4CM^548{y>46puw`me;0!?2U#8v{S%e}=OR9Sq(KRt)|Opfk`x;dAl7 z4nqq=IfEp_jsIW&`!GyoSj8}tp@Jcj!H=PkVKKuthV=}a7>+QUVA#OW%}~gY$56^p z#!$-u+Wp?b5Xlh8(8O?);XlJp2789b|IhsY^*^5BJcABnGNV7^RR&9jH~)DUQW@4W zoM*Vh@QUFPX!j$-c7}Hhx{QvDqKrov;u)A2?)>LxsAsst@Q2|e!xe@t409N|7z!Cc zI{=*-Y#0I(FU=ss@aF%L|JnaT{>T4s|G)76g#UT}8~&gBugGA*AkOgm|B3&gy}e=ojsFY( zXZvsPzwQ6={|EmU{r~rGYW4H~P(_@fgRAppmyvQ)0p^yP|KEDNnJ%cwxGD87F5CbE_s{a%IZ~Oo2zZF9o zLj^-3gD}JL|H=QW|DXBK2EP5``v2?y@BP31|M36W|7-s@|DXAP<^MhZFaLk?|H=P5 z|Ihy4`oHzR)&D>Lp8tFD@B2Tw|EB+~{=5H={a^8a#{VV%>;GH+XZ+9b-}3*Y|L6Z7 z```HA_P@!0|NjyHeg511*Zj}-|Lwmk|4#io`S04l&;Qu}|M~am--&;#{!RL~@Za%& zFaI(9m-%n~Kj6R5fBpY_|3CkG`R~oY*Z*$*+xu_JzZ3r+{(JlH-M?@DSpKvBXZ|nv z-|TbwS9*nk(MvRt>UX1aKxr|wi5sa3M z{EROcPBH9YIL#o)n9I15aTQ|;qcr1rhFuKL7_1me8PgdJ895o57)2Q^8T}aj8GRUo z7=sxd8KoFsGF)P~&+wmtlkpA1I)+RJFNPw9eGCs6wlh?LSCoe{7%^BeR5R>g*vHVu zV9fCIzW_rM!#@Uj#+wW^4ABhr467J+GOS^k$WY7>#gN2M&(P1%%TUN*#PIe1%m4fg zW(*n(FaIz7-}-+Jc=u2&!(4_F42Kx%8H5=&{0H3@ap?b@|Df^YZ~rg-pZh=mfBOH< z{|ElR`v2Ho_At^afX8~^A3 zum8XB|IGhw|K0yH{Xh9{;lBz0rv6*`@4&z7|33T^`fv2#@;}f2z5jauE&ccLpVj~H z|0dv@9cBNU{#W_W@c-$*_x}X{YyCI+Z};EtzbCl$;QGJ%|HA*%{^$G;{-5%H%Kx+f zAOAn}zu~{#f2sen|84$<{15ma^MB(1WB(8R@A{wezw-ZDuutCnzxMy$e`$tPhH{1= z24w~ohI{`H{J;O-fT4n+6I@3pFqAM%XV}khf}xMWfkBBhD!_&8NM+5V|dSSmSF?KYK9FA8yTiCB!TOf2!;xV z2@KO2rZP-rn8eV^kjS9O@bUlu|K<#73^@z|44MoI3{DJ%44n*Z3^m}p!x9;E88{jK z{}*ELWmw2?nc)CKErSUIHv{Qt-Q_y3>#|MH)W;m`jU|8M=@|G)Ep?ElFBIsY5}*Z+_EZ~R~BKPXn+|MUI7 z|L?^={r{8x-~a#f|Ly-X|A+l|`Cs_|=zkstDTbf_ul_&yf93zy|5^W2{+Irr`hVm9 zga6O|KkHkOn5B{I> zzv_R-|2_Zz{?}$OVNhq#VsK{gXRu??W-w;(Ven*7VPIikXE0lp%y6h9RCIiXon%kfDa5j-i2}mth6N zL5712OBh-hvKgWnVi?L9<}s{h=w%3FFlMl3$YGezu#%ylp_n0up_HMUVFCDz5zs9_ z(;1dA^fTl!q%c%7^fJ^j_%KK@fNuU_VF+T_#_){c2tzT00fRJyEkhwg2SXu)KZ6Z} zCIcVCpZ~x9|NQ^u|M&mg3|Hu3<{a^Dx`+p>Ow7cYg(*Lmk5&vWV zd;gdF|McIvf3N<@{dfQG^WW&d_u6;2Sb5{_B8m z>sI-%`QPb(=Krq$v;NQi-}S%ffA;^X|NZ}$|KIoj@c#|}=l$RE|IL3H1}z3f@Xbu1 zHmf9q8AAX=G(#LiB10qt=qw6l@D58U1{Lt0|UAaBpH+$ zG#Sho0vVDS5*ch5{{7$cfA0S^|Iht@@&C>LyZ;Y?cU_(PfA{|jaO(K~{}(uyUjD!J z|NQ@p{_psI`~RQ+ObqY;U;BUP|MLIs|4aUt{cri-^S|qV^Z$nblm2i0f9(JE|MUOP z_`mS~>i?jfm&yMf{#*SI`CtCO{eS!aqW`}C_5K_F_x>OD-}S%le~tfk|6~6b{xAF= z@!$AA-~TWFzWn3*ulQf_KlA@v|4#k8{SS0Y;lqD#{t5hd1D|#=_kZ92rvIS(Lzn#D z@&CmC-T%A($NrE1-}Qgz|6Bjx{D1!cu3%WV_*MClM|K;g_Mg|!MWd<1r&<-5XxZD5#x(x9QtqlDP zwcuK`lVKjiVul3_ix`$N%mUvNsl%YcV94OkkiyW*u!UhK!$gK41}TQ$|Ns97t*rpv zi4(vOz!1++%`lmvn<1V-2fU9?mBEU^8$5E*z|g}mjbR2uGeZD_9D^8x5kn9|5Q8=Y zBg3EniVWTi0Swv<-~V3&x1&I3;0QDP`2X<#qyJz2^D)RXh%zuR{QCdzKNAC}2lnFs z<^Q+-b1--?lrU5<C99Y#Fo}_!&O_fBOIHe_;ka22%!E zhClxw{lEVI{{OH485zF*zyJT#|HJ=J{y+Es-2XHGPyavuAGB-k(El_4&;CFC|N8%T z|9}2}`TzX?{r}he@Ax0}-}%4i|KR`O|KtA`{qOz1i~kq@5BeYSKj(kt|FZuD|I7dP{$C4@!w>)8 z|9|x#G`2Xeqi~raEpZ$OG|M~y7{y+Ht`2WNI&;Eb^&&43h zz{&9L|Ly;e{{Qo577C z2Yg<_28LM-@eHaA(hT+tISlO#Qy6A4%w|}~u$kcs!%v1k47V9JF-&4;WN2fU#juIt zBxo%N!+M53h6eB%6&(!I8CEc?XIRQGouPxFilKy|kRgj9i6NdLfgz3|h{2J;mcg4L zfuWS4iJ_Vyp240$1AHfz0r+GMX$DmWTLyQqi=-I@7;Dh_-|~Ou|C#@L z|F`@v`XBn=;lIoOxc_zkCxTa)H2yF9pZCA$f6f24|I_}j`M>-BzW=-a@A-f1{~2() z0Np|M`9J8ERAz?z|9AXf@qgX_z5kE>KmGq2xOBMwA9NqvxBs91U-`f8|J?r@{@(-N zg)PSL?f>=v$NnGxfAv3TH$AAocJDuEAF3ocH!?GP0QcZ_{y+Br8MxnK!63@;;QxXD zC;z|wFUkPgISsnO`rZFq|L^<b-LpXy!gDZnQgAs!S0|NsygA9WKI9E9`1Tw@hgfKWV7&GXA z&yI3u@L;fKux0RM0Nod-!ywL}%HYfp!H~p|&XB|q0d7MZGw3lWGw?I~`v3X==l^g2 zKl=ad|L^~N4EzlL|G)qL^#ASum;c}S|Kq<9_=Z0Y22lC0&tSvg3cin2hT-Y|P5P?*HxoxBegfzvlna|EvFR_`mx9%>PaQi~r~UFZ`eX zKlgvp|LXr8|0n;S3ckG$B-Z?Y!T+8ALHmJUg6~lV<@fjhbs4I`^$Q1sCxaNnlYegi z{{Hu8HeoSk{QlSAA2*{Eb1U;3#w-7)|NHd!&)>NJX$+qjUW0Gl7G_w^5XtcG|8#~E zjG7GYf5U$3{)zg(f>Dw2+rR05@_w`Yt^6nSZ^a*@-weN=|5W+=nMs~qk8L^AzW=%Z zKQVYR`7=*qif4HJ-;^Qb-;%%l4F4GKGXDPm>96hoOeQ|2a)u@U5BzUrWMV$f_~YO2 zKg|DbGp4aTU}9qCW$|W8_%Ho`62m(teKtnclMFxq?_$2lB=qm~ANT*08NdEd`rr8f z-~UPffBg?<_{MOJ@i9|0%T#7j#%KSo|954GWKv<0{S)==`X678KOB<(JAZun6V6!0 zyq2k-sh81}!S$cTAF)3MzccTiGs&~%Gf!vGV@P3+XW?gP|9kiU zA%=f{zx{dmXX@XDzghnL|EI@N#;VCQ|L^BNssGP2+A|3-XfjS_nE&U>?;C#>F_^N> zVV?X`;>W_j1xzbhPccOOPiAsv-tgz_zdKAD80IsGG4V6_{1*GA{#%maEfWXpLzYtv z8Vsh4U;po6Sk88qk>ZF z*@^-xrAjXqEfs|1x)gL(|7o1nSg3wXwMt>V!b{Z>O@0k-^{Z-38nRkZx~h5;bp3Sq zX?**i0udKF4IWk@5YNvyiH%595Br? zcQLIo&N2`*U^QwnxN1ax0Z8XPd zhOvUFhxtKECQD1RT(eWA$BdVm&NF7xS+5Te zzAG0meZJswj_2g069H#6FZG?2JTU3trh{Vpl#l*7YjF1AvCW6$4%qM2-ZN`o_nzz9 z*KU8YlVR_!L$?lp-D9!Saoh6E%eTDWacKLoEgv>M-qf(=#HPKQ#Wz{6eYX1k+LldS zTU*v&UbT8n+WPsci&ms=n6o`*WBu~-MQlq}ti8N(*J|%Y#>=wT)~#k(v0=r9)gi0e zSFT>MW%Y}-604sqn!ae}!eevo=J_oxSmC~8>pX_}4)a&dY@MsO{O6MD`F0C9=1I)+ znYUnm!s6By7gsngQ(hoC|MSvKYuB&ySUG#qj^#ERr>;*}6|!RYidQS{F2BF><)&GC z_w6j(AhrJ1W|NJp)*M*#XVbdvyjxyxtk_h%`R)d}O%t{i?q=FMV@Jc5o0}3hZ{L1) z@7+Cbcdp;svGx5nr9D~ux9+~N$Kzn-fzW-6PKcZpI-YR+!nq|E9-YZO#d`Yu={=_s zPdJ^jKfC>`(Wyx%L(ZH(d+?m+rAg-tPnVyMyz=tWr1N*riJU9Abopk{b-7D9*QeeM zzQ=lR#ocN5gdfX2oA%__qnnS8Ju-N*=yBX5vFEif`CjjP^Wp{Hi#6|?KmT|?{cXs* zjJI3guKkqsRqxC3?;8Is|3CQk_UHbeOTJ2c*8IHTTl!D=pLc&x{g?MI_t)PazJHGW z|I1*=`0=0rUyHv#f4%v>^5@MzdB0!(XL$qpRRuQ*D)GPM zTFj}+$0wmGD=m>Cnl7@DPnTVquR^j&j!kx^T(rVXnO#yFWDFJ4U?T z|I{?oo~d?5-9h)Ep{0R>&OPmg+6tO->ZZ!6N@vuJH1{YjQaz-TskKAZPyLnVNlk5? z7VSG49%{TATXmB3gVhcz>{HR!Jgc!$?U1^rZnpj`Z7-conqQQyl>0OpwSCo3X};7` z)sa%cn3Lah%v4eIk0j>u0_+MuqZBdA-Y+pGOhBTAJ) zBT!dFT}eq_bGCtm!6V&A`r*32)Y3Eyj6<#78Sc`NGktIMU)M%G-YDDrr;&)k3d4&= zLMB`$yDdU3^!2x?uTXuWHBDbb-&WIH%}dKuS4HQ)TC~PiJx-I2CJAQEhBLHZ>73SC zr`x6f*HA<+PD4ulu{N`wrS=+KR{ceqtjfz({;K&X&z0j>%u)HRFjvk?Wx489#jC13 zx_foK^(3_(D4M8L>%7nwS3a!#NNt|lDkVq7W6F~hpGbR4K9^h}!6|E{a7KQ%jEa1e zinEf2jDd8!!acd=QZHqsO2IIGEn#`#^CD*@??~o}#fce+ zND7zB`mp?zL5b}%TO@&>w7n+y8Wb6Z*FN&!2xQe@*(S_UFKFk1u~d-2HOx z+v{JTRS@5QR(*B-T=sd@mzpmNzdro>@AL9c{oiXCg#Um4y7ptxmxW(eemV2=-0!wO zmcJGLRQ=2R)$;Yu*ONa@|J?f_{o}-M|6dN@zkKKV!T3e={mzdG-{<@&_~!ae_RGt6 zjPGB4H2QG=oUKJAa0MFZ=5DP3+skANzkLegFF5#JlFN6~DZ{@AxeFb@~tM zU#_3>-@N!F{PW81nLoKddA;TS@aF5IZ)e{}y-WL%`e)Mjpr7Y|M}7bJtDJ?EUH+fv z_X}UszX$)@$GnN9p2_I%@$XXKOn!g2!4|IYf|@#ovGI-f55*v$Bgv5RpPWBk9=Z_1yhe(L(J|EJ)`jxU8j-2Wf> zzxAIYqcDT;k6qtR{@n48i>ZnE4D))XrA+sjkNv;+cOiojYZ!|Z^Ae`w{|*1N|N8vq z{eAS0_HX82mcL(p-~Ns1Z~VW@Uxhz^|LMTU!MNj3%=by((|>Y(E&KA~_vC*|e#`xx z@#pG~;$N&tnFR8z$e*OJ<@|WB%?jLM_B>(&WdGgEXpEyI& zzqa4Me?kMexU|-><$~eiHbx?%(e3i{2T1+WfQPm)f@=9M>*xHB>%OM`p7A~R^T+Qtf2RBp z`Ev5pwl8Ns8Gm5>bp6B0xAh-bzHI*d__OxcRi9SBX?+#_+U4EKk5=C%egE|J@~4gO zD&DR6bnoNGw;k{Id_M54_f7ny+F%SN-MsyYZ{X=bc}Lzj1sz_NnjdhHo9;g}-Zk^ZBatdFyAl zZ!5lC{%r7m=esYTG`=nVa`Z#i+dXf$y>I{U>!aC+@OQSKPJSu)koi{lL;PosPygQP zyykdQ@S)`W`qwX?A9?ohdGt$x*UoR_-v50$@#XFJ37>^N#J%u)zT)+<_Y*$Met+y8 z%ZHlx%5Mu^O1(0D)BJMovqw+to}PMs|P z&CesAEPVL#rOC&SZ+u_)y#4a2|K0rOYoG6aCG$r8mGp~wFOR?e`R?rdZ*N84+J2by z{?O~R*ST-C-%fa|^}gzZ$GbUi_PxFJPVZgdo6OgOuiIaHyqWj5^IhV*dvBM#HGaqZ zUi!WLN83-!KMH*;`n=%Fqxbf2PQO$96!2N|i~OgJ?3jKb~aEx^;+Y8oj%-oF0fA9X8&Zy3z!ttCz_s=?pSdNukeH_zRxY>KT1URp; z>vCvuUSt2sdXgiI`yzWI`xNe7yaHVI?4P-2@XX?x!0o}al1-2O0_Riq`>bx954h9V z+L`s(qd7v@d^mi#x3I4K_nJ|gOO9tdXEXaZjv7vP*3-;4*^9YWv&(a6bEI?SaXWBb zVryg5;!tEg_J1u(=ZG=~t|OC}qZKKA=;WvmlfgP6De&tY1@R>ppb<2=U= z78S;NhA4)o3>{1d*&;b^vOM^&`#*-^C-Vl@zif=`pID2S?O0^k4m0lm|K$Ho#;FY5 z3_gqsjDP<7GQDKl%Jk)b`2R0Ve_6%YDw$U^ePi6i;LqgD-pDG%+{~QM`hYcq)sFQk zYXtKPhPTYAZ0a2KT)dnm>>eB|+1@jkvAk!FXFkgO_usPL_ZS2?qgX}$RWp6$e#OhX)l8uX1msNx%o+0u7HKuoLZ#lNHE@sMSc3_^$qQgFo`OBZrf2XmAaZ0e; zvuChfW<0@gokf6sBfA}&8#6aUC+jS}89W~tE&eq!Z)Wvj*~Bcz-pEnOwwx)CS)26* zQyvRD%P!_eOnVsPndI4avHCOB{1^Lo;eQTu4>K!69aAp*3=U70gnyBLdj5+s>#!_j z7GaiQe#NZG`i51Uje+sgUv;K#*0apLO#hjyn9uxc`uBwGAG^T+$-m_pg_)}U9sZN^ zSMLAs{~Qdf7{tr){rddZ;=k(eQ{S?_dH-nn$@6>m-=hDo|7`fy z^!42j-QOWUxBoEubBAFS!?Ay@e`9_p{J#6=&!1oaUNfZrbN$`&r~JP&gB`;;#s>`b zzxV!%|JVIL?*Bx_xePYHl)eUiUH$#rugQNoe!ciI^=sBI$$ydm{D0N_)c*7Jcj(X6 ze_feE|4RJW{q6h@m0txvn!ern-ukod+o^9EKZ3r+d<*#f`mfl(42Fk)Lw-9Lptdw>7FpSs`8e@_2p@ZI9ul%EB^X8$<;E#;@kpM8IP{>uG{ z{jL8q_?!Q?fIl4!Z~yK68TIY;SGDg>KT>|Z{k7!ho*#a{ga0l3BlxrL+nbN#?-{>O z|GV#Z#@EB2l)kWhU-+Zu$DZ%Uz90P__apY_!*9)>mwXlY+4fE1>*ntQe?)#i{l59@ z|8IAGKK>#4?ab%bpDn*teLwzP@Vo7o^`Fc?9sBh8+s_{_zKMV8|B&_h7v*O#RvP zWy*)I?-qa7`l<6H^=re|if_3;f`0!0w)*S-uP?t}{Vw;t;A_lRoo}6AcYIy)EBM!$ zk2>!xzg+#H{*CE#*q8cmJHCDSob$=)v%r^yUn;*8f9v|W=+~8>S-+b~b|J&T}yMJu_`S0hS@6)~=`MULc)=$IV z?SH2IyZeXx=bzu(|DOA4{mt=*>|e+KUw^y&6!=~6KNfVF;D65F=|6t_Jn-B2x53|A z|9F2je>VEU{L7pnfcY7N#-B|;OaC1Cufq7|f7IXjKQsUCWjw>c^hff~{QuJ#4>Fx# zobdnPzp(!mjLfVrm=6E5Vpzn${BPa=SIlRat}|FNy#1TV@Q!H>LmXo#^Ot`=e!cs1 zn&CNf7^@I74`URw8dDnMC#JQG?*Ew><(NJ**fTW#_x<0^9K~VI`HtoJe^JnQA+r(F zGbS5WNj7=r&kW1|&HR6qDTRFz=Pp*^|0TbT{>U)2FmGnr$ri`v#>D@B0mECyXN;>E zw*5WzZyUqP|C;|}nHe~e**CJNF*h;4WZA%$#rBSM5%Z7#Ul}GdUu2%aBFNUu!o~QK zp^90CbqDiF7GCyPw&kqPS+rPUSOnSLuvW4Pvz4;mWwK!sXZB;^WqQCM&$OAjhsmGO zfcY}BE^|3U*#G+fTmEbQ6KAkwyzrlash@p1yCJhZ<2|N7ET@^7nKKzrG45bG$-w(x zhVeGj4u+K4adMJnQ(91e*jNaTjtI@Nn?l zCPn9o$E1NTe z>lU{z?+xC6e0%s$@EqlQ$?=4J6NfBk7uQ{$7yNDfVZ2|tg?LnXr*ePcn#6a6{|xsx z_C^k6&QOk}TrxZb+}Yeqx#HPFS)a1Yam8|}a~xtbW3%C4;9=#qN9GeQq1yU&Z)O!_ zzsfa-*N0~YrxT|KPcN?zj~mx2&bwSy+%vhtxYlrM^Zn%e$n$|`1%D2IH;)Lf1g{Fu zWNtqmNxn`24xvo~3jAMruM6l4$p|p>@$)X>KEsv97b3vIZ_ckTXf3#iPlM+>?*u_! zk*mTE0?hn6f=q(q0z!g!1gr(vgfvB83qR%O=Xt_&M(}~qDqdT@eZt>`{P~jjN(CK+ zMMc+%Ef$?D#2}!~dxU2;f44vq|407q0(pWD1Q~@B1SdI@rfR0wV6*W#Zlcw1OjI8NXW|62YizP&svc~#r)>{kGX2OV|n{| zig;@I>jZRo8@QBtzVa#YFX5TVy_QFw`v=sep1u3@{(Uc&L7<0OYS$164_mX8c)nfzI{ zu?VnVWp8FX!ph97_rH{3CCd~xW>ya7EM{lcjjX3x<}-6Le_~k8^q%!JTMTmuqZgwq zBQsM1L*W0Z|J@iD|KIkvicylSi@EdPl)r2K%={hkEB`m|znu(m{}2DZ{LAK7{I9LQ zRDX;9cKsXt|LUK=-wl7P_?`3T-{0T=WdDf&Joi)e&zwJIzvui)`z80|^>_AP*}wMv zT=?Vaw;A6Ke{=g$_9N$O_E+^ElfScl{{4B?kGbFfeGdHW_+``QrJvY8&;GjnyWBVV zuUcOxe{y_h^zO%}Nnh`MZv0sIndxipC)M`~A3{D)`f}?N+s9KMPQEXA`}OU!4@=+6 zzm@vH`1$5r-Ip(4hkc0o@Zr7Y`wOpmUS4^n|1S7_$JC~Gm)|+P?SA>@#k>9zuxhx z^>yGI&o@DD*1u_fv*mTw>sK!)KG%O)_^R>MtXH>RdAyW)mGs`~quty7m#<#!eq;Pb z@1?{`xi=5rdA)x9eAjE6kGDUhys>;e@lDU`yU!zEoO>7e`RJz`A18fW^Iq*u!P|_F z*FN2Q|M`v48`(*ZU*N2<$linARGcgx?s{J8Jqv-hXpPkcAw zt=$KOPi^ld-fw*`^MU8X%@1auoIf6a|M7k3hfVJs-=F(9@pI*8k5B(T?)voOgYbtv zA2)tl@*(HloVP3=9(~IGoc-zZhsF;TpS-{LeX9IW_36def1mB&GktLR>hz8HSD{`Tuj_&3(?Gd|V5oA++f$J{RlUtWG% z^0D^Q($6-Zb3U#4r2FZ@r<~6^pQnDw{wnh&{Nu`xB46acvV0Ny^6YEt=LH{ked_#j z?KAUdhfi&vE`R#->FJk(uc}{^KeB%=_$u}N>Gv7mq`w^e#Pmh^YwzbnpJKk`eVzT~ z;O9qQ-~Leg5&Bi?>zOZ{pItt?emnE+)#neNK7Bs_rRrPx_h;Y!f2sKL@5{t5LZ6er zZ2lql>+qM9_t!oMel`DY_r3hb&2JrF{(gD*wc*?MulZlpzqbFF{L|)#=l9Rw8oxdG z7W3WsyZ-lpA2WVz{jT^u_@~(K(qHDkrv5Vh74ehvXVlMiKZ3vefB*k|%a5%;nt#6g zb?w*RU*^9#e((SF;pdVcl0O-K2K;#P)9Ux;Uz2|G{5kSl^iTC)!GB-=HvfI_JK%Tx z-;lqGf4cr${r%wg<3C6Ke*Qb*U(A1zf62csexLgj@SFKp>z_}5C;d+SQ}F-g|NH-v z|4#Xn^moO-hX0O?UW`%yuKzvA(7<$+(ThRk|E7QM{$FH}XKZJj^#9J^)&G;3fBq{uwbCF@-SSV)kV{&-#=35kmt* zAEN{_3v(#rWo9XkOKbv6ix>|xuVcw$p3AhFsfXn@>n7#|CJts%<_S#AEJs))SPj{Z zvvYIAu`gqt!d$_8okfyuAKO3nXY7&e+u55qIkl6+p z9wzQnoHblmxbAbE;@-|x&wh|?A?F4jM&7^Nhk5q${^8okexE~@_bDF>e>Wd1Uq07f zHUq8?d^32qaD3<3!WGD~m}dp=6TWKRB|Mw>wD~`9TXT7G@8gc=3FceK7snmO$<6bF zmxnu);~O_Se>Jqkaqs67;^W~~My@_CCT@PN?;I03Ua=c;+~Ta| zJjmw7=F7g6?LAvKCnF~l`!e=G4sW)_%#&I6vPWD% zKL;24ZnjtKM>y5F*z-^6;2MTBiB8#mi+)>ig!?CoswELJQ!>=)SgvTk6GV7<=H&h~}T zow<*rl+%Fq8DkOCA(o%4e^?eUA7nnta*SDz#ges`g_l{5X%piohAzezOlmAytir73 z%=%0V8B3TJF+XB1VwPu?XL-#sfrXu=ig^-KKI3P`E6kZJJ3%MWFtsu(Fo^uU`%ji> zKhp<>P=-#%^^7hI_5bYtM>8&AN3w^@?}`Wu!>2EHYtTe|P`Y|4;t^{{M8wWTv@{Ul`gLuQU2Hxc(3LAOA1lpYVT~ z{~iA(|J(47fx(qw!(WBJ?f>-uNBp12FqeV#|AD{Ke|`V%`+M(i!{7UVzyEV#c+PO) z-}gTXf3^Q|{nPm0|A+Ut(Z8erOaCqUd+V?M-!FgH{nPn-?)R)e9sk<@asIvb+v88% zpV~jm{#N~q_{;J8+0Qq>&iropHTT#5-y44G{IdN$@y~=`K|dpYz4$fd*TLVfe|!Gw z`;qWt>CfFijek1-Hv0Sgx9TskU*^AF{M`OK?>FPG!#@LmcKz7#o&QJQ51k*CKkod{ z`_cPt*_Q?1p8cHi)B1bQwU|MB`q-uL(4FZ|r~)AonXw~lY}znp$Q`|;r0?Qcro z-~QPAQ|U+P_bERdf3p5e{3ZOm@K^9p=AS9w1HM`P-1ckj_XA&ce0%hx`g`%$o^LB45#QLq>3w7VuJvQe4}~A|zaRMi_}lBR;@_@)tNfPr zE$aK8Z@k}Tf3NA{{V($G+~3N-Reopw-u36* zKWm0_|GWRa`*ZyFz2D}4r~iHUXThImf7$ z22O^x|APM5|E~DE`2VSY)Bjli`Tpm}-!uOz{%ibC{_nz&_TT8=hJT0t|NWQw&+Gq( z|D6AK{GZ2ofZ_7LFaJLMEBGt>_r<>?#??#<8PEP-|38A^!+!$?Z^jvnf{Z&DVi<%O zZZaHaux7|+SkJJ6;VWYt^A*O2|Bo=#Gx{)`VED;2iFq^QTLyi`QpRAW?ab#`^jW)E zi&@Sx#WBh;hA@dT%P~J@W@kCaT*Lg2=_1nv<{d0MnHm|InYvkAS!`Kuu_&SrpW%4HIAj4bsw87TM4Tpn-RMJyEglJHXgREY~R@@aJ*m-W@BPq#JZc!k*%54 zo+E=Rf@44HeHJs;*=!u_d~DNL=d&JV)n?nm*2X5qzJmP_+bcE;j%V!8*_hcfSf$uB z*~K|jIAgesIHlM=u=a2iaw>AjuwP~O=IG~O;kw54hEtRCJ;ye7KK5je7o1vL?p)6} zuW(#tFJ@0;-_CxN-Hm-M`$3LKPD{=w9L$_~oR%DX>?_!xb3EtB;b7%h#_q!LkmD-H z3yxzPoE%1+4BY1223&7A_ORP1aW`@o@U-)B@-N^y%f-q4nyZYOdyy_st=S048&o_yW}o*!KMxt(~}c~VJbSs~ICZ(caX0Zy;&$UY z&9#ZAhvxuS0aplj8}}5hF0MyhPTXcZE<8uLI62igYB_2-%ejQP-f)O=KIHV}(&FC7 zy^eD?J1@s8&OR;+&O7Xp9LbzIoIg1BbKd8);FRT9%bvlxk29C!BgaOrZ+h$g0w)N~{9DCXHSWQ{`S$D9?vdw3;W))^*Wfx@I&eF-Un?->24XY8G80$^u z3(RMk`-)}%+kyf z#QdLe8Uqi*Y(_ukD@+F%)tLI3pE9>H|7GH4n$Ez*@SWi~;}*uF3`-ebF@0tH`2W>^ zJH~a46%6JKZHz8V(oBYo-3*NkPZ@L>=Q8LpOk{Y*ki>Y7LFd2d|9uRr850?U|9k!| z``5w9&6LUT?tj()W&f`JJ@8lKe?|*&xIq#RmpKHH_ ze{T78@z1f}_kL~t-TAxpm)9?b-?_g({CfLy+AoXWO22;poccTEH~&wYA3uIn{M`2= z;m52WaX&eJ{rUOx`|7WP-=2II{>k&h;(O(fBR?1anD#y5d*b)=-xq$j`u_Uc-)}F! zDSun>b?dil-`l^-e7E_&_FLN5>tAHPdH#6+gXjC2um0bredGH2{d3z_-S0=gMSi{c zrSYrCH_LBg-zN&o__*V0+{hQgh z_ODJ~L%%V6pZzWCTgtcNU$1{T@x|rqgs(|or+mr(Ec0dm*Na~deL3~T=4;~DzOVM* zPJa9MP2hX{xA3p4zMTE?<7?9Qu-lf5zv+L|_lbp?{B}I`TqRJryu@5{(evVarVcaA9X+8eDD8m^kexCnIDI~`~OJ!Ve~`iN7IjI zKTLmS{ha)B`Oot|%6^>qq5sq8r_s;qpLV~_{9^rO_S50#uAfVO#rzKXeg0SXZ|6Tk zzpZ~2{W|^2`&ZY`M?WY0`uvOIxAX7CzitH_-pY;?N7v?)<1XuaQ`*^yXSAnUztDszXkrR z|C9J<-*2NoOn-m;&iSqR$NO*8U!lJie+~X}{q6bN@=yPt%-^$r_WwEe=lb8afB*k_ z{uTb)`#1I9x&KTI3I9I-nfZ7AzwCbu|JeVX{Tuc7$=|vEO#gHKH~H7}cjMpae_{W` z|2_Nb^Y`Z;rhmErr2c*UC&jSqKmWg7f6M><`X}*U^#6qa7ycjp|Los{e~}`@i5{??2Cf4F4AW|KBlu`S1Bp?4Q`bb^mVt*I{@8K3~A;f9t}Zn?l057$^SC`1^v7G@BY7%zq5Yp{@(rj;UB$!ZGRJg zxBoKzz5Dn6-|>Ic{&N5A`6K#g-S4x%lm0yZZTwr{x5e+dzw`f``t$Gi-Cw!C{{O1} z?eS;nAND`xzkmFe_~ZHe$FF6-8UEP)p7!g=FW=wie?|Q&|JC~I;V-w}bAQkMbNa8@ zpOruJejffg<>#57slQr&CHJ}x z{>$HrOEdFo%m-%0XVd?)b|7!j_F#0n6W)S~>>|fXaxBs6roMd!k+{qBZ_?*#< zQI2r~;~YjQ#?_1x%nz928D$y$m`s@>83mZwnUk3c8KW6DGxjo-Gc90T%D9=yomrQ; zf;od_Hj5hbdB!BBHs%KASf&+B(ky3L_Oi@oKEy1=TE%*hWgZJN>ui=S%=ei+Se@D0 z+4i#~uzg~k#@59q#p=ew%G%5JkbNGzC)-(8Tee-SJ6WUH(>TpIW!aao2D2Sy-^1~k z!;+(w{U_T+b|ubsPIb<$9Fy38v&~`O#_@@xn1h4Efy0P1g3Fw%iQ^jkVvbTyU(O6p zQ7#*<7|xv>i#d6@XK_vBc*}mALy2=YM=?he$8io;&Yc{F9MK$iIV?F%ICpZia>R4S za<`)c*tf8sX8+DHm+J@DWzHAu6>N*yUb1I!L~uOgc)@Xvosqqe{T|0G z&eI%=*?rkRunTeS=bXfOi=%^MDn|f^Gsk6)dmQUHesU;r>T(uvs&iU%OkmgMc**gC z;~)nI=Xnknjx!wooNqZiI6kvKV%On#$nl-y2>Us~_j_Mhz_+Z?u+Y*FkI?0sw!YY&D$dkIjKqhs~7z0^2NBHrBN)x-8RKYFSfQ53(q-{$-ucD!_V)WhqM{ zYbe`XHY2u+taYq8teI@C>`&Rwu+C=jWuDD+i1`zX6-yVh4@*7^ABzP`FN+?_Ef!0* zbhhQJM$DoATmRnu7r_|Ha)9j=+jVBX|0n+(`aheAiJ6UgInzFdOvd|63d}E=%$Utt zRvgO<9&u5|H}Wb zWxU69i$Q}?l_iD6nPJ^u=KrS{9GJ?OA2K~=FlLbcANY@fQI~lUQ#xZY;}@niOw|lE z|7!m4XZ*;(@W1|F^Z%v)`50;#>zQ^iDYHCfHDh`4|HI$O3=z!v%pVxq{ueUTF|KEP z$)v_A%39BC$$0L+5~Cn5jb z*};;-Q1f>qV;HLy>o%rx#zuxq4E!vjZ0ng1F(fj{Gl9-mm19<6b!0xwWY4;XHIn)D z|2l?Braopxme(x8td&eDjI7LuSu5D=SaO-pF@Iov$t=qx#FD}u%&yORnPn+!8|z%= zMCOx>fefGjH!we8UBK+aXw00#CeH51TFm^2C7xv?!?M4;411aGGwo)uVff4F!`jKp z#T>vW&6vRWg6Tfdco}Bw6RMx-#ptoM8FM%*$NOY|dQAw3+1!+k3X(tasVMS^Jr$ zGITILWY%J~WNK$hX7OM$`v2+wWahansZ2{4-!l|2E@zz2l*F`vLHlp^ztzmg*zPcA z{;&C){8y0SH{&aYl7AcjNikhxc4GYY_s;+QEXGXN|2+G>@BcT39se``fB%2r|G9ts z44WCxF|J_v!RX51_BZag-=Bp4HB4g6I~hFwsWLofzQE}FSBkNcWdg(ezb*eh|KF>eoy@2`uoQ3ydOG0B7S6l?fu;J z<>VI_pbpIvyz2QsLmsj6g{~Y_f|BveLTi^M<<^K5jyZHCj zZ;fAteoFpn|GDhPr{6|@Y`@?7a_wi(AD=&5zf-^4{;>Pq`m6D0(l5Gi|3cykC|T?e!TcS@psdYRXALo8;`}N_+_MbEU`2KnRQ{<=eFQuPu z-xq$l^Ud^k%-`F8{`@%g{q0YK-yFaG{aX6l=NI$O((hH@H~v2Q>)4l-UwD2L{h0sb z+wZ--iS`MUjk{11cQe!utsGWz-cOUY-8U$+={{Xh2o;g|V841Z_; zdH2iq*QcK|e!Bj0{3ZWe=CAjE*}p4)*Zh9-bIIQ;4BY?L{apJi_HW7W*FX9H?PHqq zf7|!=Z#93`|GoXa=wb(|6lqy`PcFv8^3A&Z2hOexcBduAJ4yU{K@jy zoniieg>Z{u(NKNo*L`~LDrJA)dF6Qj`|^IyEbB7X<`yZX27r^oki zKfC@KG88eo{*(HZ{9FH@<=?M=TK-8h+A-ApZ1{PWNs29=;pCs9-wnT={sjN=`|r=} z%9!v&?}yC)Tg+B}Wq%h@5&FeUk;4j zENA{-`u*z9>A%{4dH*#2x$%#a=_%ud|BwE@_>=!v|9=`&F>@np8?(?qxnEQNr8Dnl z`uX?OpQjAln8N9LW~9s*$h@p(M($y1Q|^K?fmnX;U`SOgg&e--?$X7FaP z`+NV-TgK@O3jZE4K4gCS*ZbG)zlHys|F{0*U}Rw0^v~(f`+qjf3)w%iZ~K4i&n!lB zrpmuh{{CXR%6R+l_J8k~ILD9dz&shs&flQBd3zn={MncSH+GZZn{G8i&^ z{6Cv<8)F~Cc@{R#`z)LP-D0@O(#cZHn98v4|1E|X#vP0)tO2ZN8J;qfu*R^LGGAd> z!D7hvlfn337^4kK25T&HFQYuua|V{b%D-Ki?AhKh`ThUG*ubXC!t#GALkR0eX3c+j zzq$T@W?I91hjBK;<^PR;egA)9ieWhZyWoET^I=B)e@1_oF>PYq&!G3;j>VdJ&42y> z>zG@=S{dfH5{qHza9h(fZ?Z5QD znT)eoDp+nX&0wlzT<~9sk(s59IphE8KgR!_FzPT%Gaq99%xLhx?{Cfj*9<01$xPz^ z4*ZV)FVFOY@iha>|7ri0FsHLCv+*;_F#ctH{@?yj@xPmFa$JopD*q<`4P-25KFngm zc7**u+fC-Z|EK;x$}*k3mTeD98S?_hw+w+yVJw$fdD)biH5fYo&tfQGj%HoYCdoFB ziE4Jwz46Jeg*8aZ3u!=>4#f&w8EuGbl^*Qsde^>r4 zV&Y?a#@f!Zn<Hlu#a5gViB~}$?8^&c!Icybd2be7wSN`+-C&8G&a))&d`x`bb zHX}9@_N}b5S!CE>vb8X5{qu@3fNc&-B9jkmC)-12X{KDpT*igWTiDjJK4Q>iSi4X6|IxWzl4*W_iR|&hYnt8bbxsDdr#l*Zn)o ze3x}U(}I6qe+B-XVf16Uz@+j|?7sukBc|z$Jq$+}HJKY3@Bdx+SMuK;hAYg`tYxg) zj4pqq{%5h-v43LJ`~RI`D^oYqab^cL6ILnqe{Hg#X9?Co-RA3i=k==*d1j}_Aewi7H;j5-XT z|KI=rospYy&tK+$ZVa25HCZn(mHf+Oux7f!c!J^2zjgo9m?hYbF#h~^kg=Ne_5Xlh zd4CfARsG-3bcgBxznZ^Ye`Egi{_^+}#PEt)k!9OI{=dacH(B>F+5HRnTl&A2aWdnU z{~Zi$Ob!eO820~P^|zDZ0K=@m+5a9h{Qlp`IGO3de<21r#{U0z|DOJ*z`)A%`Csg> zi@$#V&t-egn(^Q3m+OCCwvDXc{;&H}@OK`g57XWMQyJA*r!(dJJ@iZB_r(7tjL#Xq z{}cRE^{3@n4Mj7-RPT3xC`Go&7uQ&%M9-jLOWZ47?0>%w(py{Co7zkw0R88UAYj%lgOq@8%zwKYRaeV#xpd_~-K9T7TL9-2Nr}YvP}z|0n-@ z{?q%T`&0hs*`G&$sQnIQoWYRw>+4Ui--mx~|GDsY)$hdL!oT`|h5b46OY~>RUmd3Z zjGO-M`T6+A{qL?n)Ba}u-|#2;?~H$uzXN|6{=M^e-aqF5h761USNs$Fqx>uNm*B7a ze+?OTF--fr;?KiBssES#WB8rcv0 zzoQtu8Poo-{xbQy?r+GSm%kl;@BhW}m!Cn1(UkGW|5S$ie>{H*{7L+O?vL$nt-tgC zzWH~JaV^s=23ZEz|9<~g{muCYIw{=j-_k!E|NR(m{5$n)-(S7|y}!(V@BUZxzxco2 z|F*xN_PW7u4u&X}3WisI4*hQUJN4hRKgz#n{^|HH%y5Wd2g8kj2mk&5cjoWs-`aml z{!eH4@H_I?>Hpe{A^!vZ^Z)bw^Zjqj- ze}DYj@vrE=6vNFwdw%Qu4`b~8*ZDV_VG#=p>k6hB3<-Y?e(m_B{`Vfk5#~ZBUxr72 zwf>g;x%E4S@g++z)1iM8n3$P0{}=pQ^8Y16#=o9_1`OQ)ruSI*eXBE^!&82Nv} zzeB(O{s{d4i>ZuBn7M&Pi}}_6kiRK^)c$EQSTJ<{`}L2T!HTh!X(kIVOFZMG|Ei2n zSPrpjGVT3$>YqD9ALCVKO}5XB3cq#!OlMrltjj!&Nt<~Fb3bG9U!%X?3=0`-89%bv zvHbnJ>UZehJ%1nmi(#l@n9gwh-^t%yzZm{8F*mVuv#$NK{MW00(->C%)B9h`xSe?y zqt0Kq-~0bRVA5bLXK-a)#AL#7?a$`_Us*aB&;FkG=lcH-|5N_`VhCZWW_I}R_ILds zo4@;+Ua@E~Ze)7SlE7H@mz!xfYZCJh26;wDhQR+?|9SqYF>GL2$)3W>&lLAx`2Vc` zXBlQOzGGIPbdNET?E_~gyDj6je^QLT%>7IzjHeidSy!>0 zV2xr?V_NlpHA4{dMYc!m#jNv~JQ>>f%m^LlN@^x=M=U=W<91T z<_czahPw>mEc$GcY$@#P*%mW}FwS6J#%#hU!KlOJ$NG+SBg-GwaJCxeISl(4!WdRC zy=6Vj_KUTOrHM(7;pTrgrrqp(><1Z7Fi&PF`k(UuG0RkzPyYq~zhdfU-@~?zrHXkA zV*-OQV=YrJlL*sY#yqA(<}9ZF|KBmpU`=5=#W>-ACPO^adL~DfCbloE!i@U=UN9K2 zsCpdAf9C#q%J7Bh7*iHisjE16ER&ik+Y?-0`&=0JuS zj4xO}GR^z*;rCT0Wfs~0+y0#T$Ic+lc$%@F@f(8`gWA9A|1|$A{eA!E`v13#j~TN6 zx%|HR+wbq?e~SP3{$2XNo8kXo(O+}_JYp{95MY`0Z|)z*zxIEX{@(a^hha4%-@l2! z_y6@_e8%X&;P5B?SMZYnF{|q{ayUW4RqSy@8mzb8P2fyGdcgi^8Xz}%D;#| zPyT-WpTe-|ztjH}fA9X&VcgERiNTmL@_*dl!aw`}&Stp9WXs&iz{GIvKhNLx-&g+$ zF!3@bGd3{){dfA?j-NLex3bJ)D*eaxr-^YR`!SX%hP{l@OwayZ_;dN+Lxw1Zpg*hr zJZ5lbxyc&KwCk_b->`qb{sl9fWh!OXW^ns&&9seKndt^Y1S2<7C*v#zCx-X`L;glijFTBk|EDs{VYv2h z_HKK@UeVGn~CvpLi6f6D(a{VQTfW3KsM@O$n*PsY>#5C2=o;LViA z*!w^8@5#Tm|35OGVkr2l{^#qT8~<+nZ)801UyY&tzwzH2f0Y;yGoJZ3^WVGw$Nsu>J40Kkxn-GX(s*`ENGk^Z%QE z-}}?TAo*Y6&zwId|Bo@uV>tZZ_y5#?m;WaJW%$ed*Y{8U-%^G@46pwD|Izq|muV%l zDO1G%13!O%{r$6y;WeZC|H*&<|2_Ke*`FK#Dw$6(uKN4;zYXKVzw`ec`mgr;?(d0= zp-e0O@%%mZr}>ZTAHF|ff1fe_Wit53^OyJE%s<+HF8$;EZ}`vn-;KX=e>wlk{LB1n z_Sf;>iNCeK?f$4R$oymedG@y+!|Z?8|Ee?O{onhi_RpR_7yoTyocI6Xufsn(|1M_8 zVR-z%@BiI@f&cFP$@$g(yOP0;IiG0-L)G6`zc>G5VJc<({~t7>(f_C5U(x^R|AQIU zF@WxqVP{DHANTM3|HTX}e`SB}{oTsg#Jq)xli|dF6^14Mzx>Kw|5pEF{=fPA_IKy+mw*5N&HEMdlj%?AKW_#XhK~Q5e;@po z{}c3U-%rVZD;V_|&j0oK3z}!<|GVPfazGPwRt_?`b( z<=_3^&c71=sWJvLJYaBP3SnUVyZ86b-&%h^{<-_x>d*au4vfsekVM*JU{MXYSw64Ck2|{=fSD@zPsm>_h7yKp|8xH5{}=kl`7ijd)nCT{ z=KnMQe`R22+V_9u-l1% z8JZbyF)ICI_?`B52ZJDE>;LutZ2uqrZ}R`!-`juL{^kDbXI#tF@Xz*d3d0Nr<-a?A zTmP&7-^5VI7|Ar3AplhS|6BX7@SoZLPyatM)-vAwfA8NehLueEOy3#)|IcMGWYl65 zXWYWT%dnSW2je*=5vDEwnHV`)rCDv5#hCgTLK%vg+*o>9_A*^ykYSk0V9zAMypdt& zKLdtDMsvn}{}cZ!F_trJW=deZ^5CGg(eC88JFAF*5rw zcK_FA+Q;I@*zzx*A&v3Ze{sfmmW?cmOe_qw|Ct!|8MzqGF!C~;`TywOGbSEZH|Bo~ z@{9`^=Ko9h=lcKnKLdt-rt8e{j646n`_IoB!1Dk9rav|Rx)@WKcQIEm&t)wCpZ-6K zVGqL%hWpHG*v!}*nUDN$_&be(k#!wwEt5TCEQ1~68m4&W2h2a2&6sqVTv;wNF8a6Q z{~0DrMyvnKjE9&XFo!ZvXKG}+#MH%fn(;ov9>&>BVN9WnM;O!@#hAhv{TZE@-C0DL zCjH;|PwKxU!(zr0jJp}%F{b|){P+C-b;flJwf|)p>KP|7Nc>~}d-wl)h6xOojC_o` z4F3Nd|I0D*F@0xv@PF+;&p-8l0~iw+T>gJ!Sj8a05XC6Vxaxm6LomZy27SgAjBgqI z8TT>@Fx>y2%aHazmcf`Mon-}66w_)(Ri=Z?tW3NAc{A8B7qO%W$W4_Heo#8yg1twV* zP3EhN7n%MtS2OPa*Z!Z8xszF(NuH65=>ekxL+$^A4ELEFnNyhf7r`xsZ7; zqX08Evlt^Ag9+na<~_`^j5Q37OtV?8uqFum2?(${5QTJsB05I+@xTEg039?3m-3ZvOxI|03g2 z#;gB(|G#5!V4A=b#+1ht%&_UdIMYNX76wJe80G_vS^v}j%QI*)>NCYNsW9DPY+}r0 zyvMNrKMzA2<7>u}|K}@=W_iK%jN#<}^Z(ZTcV&FXB*9$HxP{>XqYG0hVn zhHd{>{}*JGX6$5q!c@;3z-a$}^8e!uCm8-SR4^4V`7yls@66E8u#+*AF_wXYaSFqc z|D}vMOo@!`j4Vtt3m-)y4um7Ju z!%D_rMn48Ih86#-{s%GmGBEuA^)KoF^8bte-~VUFV9XfIAoE|FVIpHQ<2i;$47rRo z3>E+W{^MZW!LaK8ECx=da||8~fBqZ&2i+`s`@apt8O9zaB_?%-7yl0a?_z9VQ2HOv zaD*YBA&?=QA&)_sQHwEyVf+7Y|Ctz9Gx9TL{V)9|^-q$)k}>nY_&=BbiHx<3=l}cv zQ(}l?Sp0X%pQr!NGvzZ`GSvJ#|98XREB_w+7iLiVAM@|?zrFv1|0Voc@lS|JigDq; zlmBx5z5QGL&*Q%pL*jqCzgmCn|K9y4%+UKk{GZ#u&VRfA^8Ty&pTV$*VI4!<|3iO% z{L%QI$e_%?z%cLs#D7!%{rmgqkL$k&{|gwVGMF<6|2Ozs{4a`8fHCm@g#W?}KmSen zxBj06!+FL8hL!)0{d4^P^nWbFg8%XVH~e4s|K|TS46_+D8B7=^{Ezzg<)0VB-T#yR z{rkJ_-}?Vw81fn3|J(5Q`rpX^h7A1-stoh~SO1^i^&V zJNB>TU)JA8fA;>h_;=;6%D+wjcKrSLd(Lm~zuy1X{BQmj{x{(7nZGOlTK|pxd;4$C zzpnpo|AYQ5{deMD`#*+%7Jn1|KKxttck5rH|8@Ua|9St7`*-JmG{dHUx_>VIX8RY< z(8<95-}UeGKU@CJ`seU}$A3eHNB{Z$Mf~~w+x2h4|3?g*|GEFF{$>34@GsjxxBu$@ z1OICN&HPvKkN02r-wS_N{Fh`n{=fYHv46M!Hvi50pUb%Of6kx3zg_;N{!jU5{cqa; z1OI*gP5gWBPwAg+e_#Ha@~`FJ&wnrfefnGc_rkv_hOYk_f204_{9E`}=MVc|=l}Em zpZeGJZ}vame>MMp{?qt>>Ywi41;17QPGtyX2>bi#Pw~Gw{|x`nXJ}=p{7G2H*eh|K9q0>|fb`9)^$qum2PLzlGr?!-4-V{;M)BW{~*L z_uuEg>_6pyK@49Q9{l_DckcgQhQ$BI|1SMI^&fN+veW;_zqfx!{{6xr%FM^a{9pU8 z$-f={V;EDI@)*zkJO3x|@ACgs7$O*UFid6O|DW?ulVL4G{QoEa?)}^PZ{h#T4E+p0 z{+lqgGEDlv^RNHkb^qcRJ~J3Hto%QT!I>fJpU}VT|H%xe{!9K}_g{oz-~TiJ1sUr8 zcl^`%cjDjM|5Xfj|5g8O`}gSoqW`D=<@|sDpPRv$K>*yc-tjN|zvq8P@a+z(|0n+s z2i?laFpEL>f8RgT|C9gk{U7%K;r}cDm;7V+zxn@%e}DgpGyM7A`ETpLc!tpb-+oX0 zZTCN!QH`Pb|NsA!{tNzp1WqH9|2zDD`1jD?ScaL5U;dl?zwv*||JZ*Y|LXp?XSn$P z%D;1eSN}cpPlZ8@Vd4LO|0ewF`KS7C#@}`SZZU8(PGLy>fBWyNzpDRR8P+oJ{h#x< z;9t%E`v30#PyOrr7yQ5ZzxKc1f4Tqj{-5&i^1lQBg8%XUJM}m7pXC3U|6Klk_^0zf z^B>2*DgQkG$N#_o@8(~_za@YF|9$x{{QuT}%KsNLs4)osv;BMTufhKsh9wND3SqSWB%{*|K-2t|9crs7>yV%{A>JI^{?t*>wj0qYYZFyHU86M zsAKs5&+Fg3{{@We7?&_i`XBRu$$t}uAOEBNn=<$^x-c;QKmUIs!|eY?|JfNunGP}} z{kLSuX9V3*>A|SO;PBszVIE^I<6edX4Cfe6F{(27|G)S@oWYWD7h@oU;{TNl=1eAx z7yrvKC@^v`e*eGv|9XaW#={K%{+lq|Vo+h=`=9>5o1vaDlF@=;-~Sm5u8f};`v3F( z=VSQE@PvVZQJ9g1LH&Qk|N8$^|KDcdWGZCb@&Cxbr2j$;`3!d$I2h-HPxf~HZ}ooz zLoVZMhM5e%816IN{IB-^@_$3dTZ}o3a~bj&R2g40eEq+efuD(mX%R!vf9L;k45t}A znGP@>WiViHWmwK|i18`oG=>fT{TS9Uu3=PQoX5D1@gBo6h9?XU7*;aQV!FU|l!=vT zE`v40G{$%)U#57b!;HrmHZa^}xX18^L6z}0gBc?;lP=R`Ms>zKh7Ak}jAe|CjGq~g zGyZ1aXAEOZVeDo!U`%5uX1LApkYNpD5R(KrRDLr!GPX0QGi+jDVf?|cn<1594TA`y zKBE((C*wZ`cLoWDP=*H#9H3jm7#}h6G5RprGQ=>%GCW|YV>D)*#VEie$LPwC!*G$o zm(iX{m8pzDh2b{iJSGoDGlq7C?+kp5x{Ui692nj)Y-8kPVr81c_=O>WL4|>hF`j8V z6ED*;#`lbEj0YLkF$gi9U{q!L!T5r42V)iEHpVQbPNv9gHQ6f{eEq3K*|5 zK4O$)YGRzvkjgNLL7cIaQJrx;!*7Oc#?y=^7%wsG{eS!a7ls*(YZxsVZ!#=lG-AqQ z)MM0S^kV?smBq;@&$xl%_x~V<5XN5&kN+z(m@&R$5NFuQ5X30V7{hS&zdXYshF1*h z8P+oFV5nx0V_;)YU^vE*!`RIb{(s~D9)`6Hn;8Bu+-JD;U*!MZ|92QZG0bE5%y6IK z-2b5e$Num8zx{s=LnY&U#!7}4|5*Ni`p?d=onb#?9ityZWrWN-TF6);SR%=|1AC_5alWQ4G@<7#a5d|M|b+|FVC!|HT+LGQI`h%UH_5%^>#w+CK({TMR-B zy#HDLZ~br0(8CbVQ2&4Hzv=%h{y+ZD&0xvk!Jx(v3%c{3;mrS+|3v=xG6*o*GQ9i` zy20Yo|HuD7{g-0UW$0y?!SMaRCc`rZ4Tg>X9RCUaw_%86c=un9L69N!|Mh=9|3Cj< z{NMV2-2dJGxBjpHKmETTgBHWm|BnAJ|3Ao}!La1t{(qbdpj&5VF+BT!@*n5_2mhrQ zI2b1VSNz}lKaioA!GYoTf4Tot{+az3VNhjg`tSCC!~YHcv;VLBug|dd|HXec|AiP% z{@40Hf2aOG{U7)L`M;n4GXGEhzve&aezoVIJ6ZqE{+Gkh z$>8!o?cctCqW^#YyYg?-za#(D{^$Qs`JeGW>A&cIxBtHXwg2z=fB3)U|H}WMd%ivY zyZl%CFZut;zgz$8{_pK?_b$pj(@!WTmC2gkNIExzyE*F|Ihy%|E>S$1G<6z z-<^LG|6lme|KIIj^uI&@H2(Mhulc|H-^0H$|F-|*{U83n_5b64Z2yY?S^bavAMiiy zfBb(?J^S;Y=D&`A@&EJxKm51v--mzs|HS_7{-^$*zxQ8?L4(1UVFCje zgYo~c|9lMn3|x#>jL#Ul7!Lnu{x9&q`~S25fegPH{xN7XtOcKb&%}_*V9GH0|K$IF z|9dk;FcdNPGpIAPFl=F1$HGDI+}|F8Bx?*GUCr3^b5RxxNWRQz}RKjr_k|KSX07|Iw= zGk#`h`oHquzki@~FbjNFT^oZw!{`6&{%`sp#URS~o57di%K!HNIsaK0-Y{%p*!AD{ zfAfDOhN%o`44mNm3+DbeWB9}Hg`u9|*?*J&?Ek0yzxMy^e<=oI23Cg6|116{{(tmu z$3N%)k_=B6elXnn|Mwryf2aRb{(tyC_y31~PyfmOulWDszac{+!^{7_|9$^=`@ayw zlK=VtyZ^uaZ_Oaiu;+j6|84(4r^M&~KmPCGKgRz`{~!Ec&QQTn{r~homjA8)m;EpM z@BDw_e@%uIhSUGO{#XA$_T1z{BQC9&i^$G z8yO537XN4af8?M4|5%2@4BQM8|G)j8!;sGK{C~^;vi}SIZ}@-aKPN*fgE2$&{~!N~ z{>wACGJN>I=KuNsum11*U;E$rzxw~||Ihw2GOYa{{a^0?-hZzDX8b$)zled8A^gA9 z|B(M)|3m*r{%`od zAMt3^EKn|6l#<{{Q(uCxat{48zs`8~$tmpZ;&lzr6n<40a6s4FCSKGOYY> z`rqsS(fIVe?f+8|0DkI z{O`;l#c=Td;r}!LEB$BxU-3VdL6-3cgD`{lf6@O%{|y+{Fsxvh&(Ojk&#>eFvj6k{ zPyGMrzdpmy|C|56|L?`%!SL<>lmBo3oBZGQFZsV6g9St1|M34S|IY`LpZ{O`fAar> z|KI;Jm{>;K>X@5j)^AjGil|BC;8|F8T{XGmobVEF$3&Hpq1=lwtbzkuN$ zLo>tc{}=x6`XBOt(Z9=ogn!TY`R)6=Z@S-@zRG>!{bKuB=9A+`i;sdIFTa<4ci`>X zcOmcH-uJu@`mo`{_V>AO1fH*a5PB=&O8t44vwi0bFK65cy0zwJ|DDM%w*R`$Zp`tC zA@grDBQwW*?o8ew!8zhuGCVTkQejffGE#Czva(Xs#Mek{ko~SCt-_(WK=zOHQt5xv z{IWW7Hu9!Q{%WT+zG-^v+%-61w#=HvR?WuF_N#-b^B>0r_C9vE?P46)J3n{!buw~@ zwllJcv6M6uGd^TkXgt}x(Avr7f@PywxydHuRYqU+Bec_0{p1daT@skjyMSviOZM-O z_sbrpUy(kgc=XrNxKqjJ4xV3dzTv#ag|v$sE?htDeDv*sOZyoPzB)AhaMYm*2d?g) zaq!F0X{QgL@3>fbY2u|n7jB=cIV*8?-kB+cNO zXD`gX)_d>WgO@j6o-sH+>BQ617tjB@vh+sLjmm3_u9@Cm_h{WqnfJn9cmF>0Z|a}P zzjGO#xF+$N2v!T75atsx5qT*(QPNNLne1VytK#BPQi@6H2Ac2G1e9J%*$UNiIkTN% zVP*dCf79QlzrBAtzt8;;^Y+|3r4Op_+27CnxaG6hr}J9JRf-#WaX`yu_)>d!wu1$_{D>-IYP&7}7sAJ@MB{@Uf`@0VNOZu{8qrRv9?|BUQ! zITbmQSdKEfGYT=iWm(OoEBIB^Mxt0kT|!VYO?s_dw9+)y9UA9#ZX0%+8Ck|#zP9kS z{BK!mwbFWuowT#HN0@h|myp|ihu5}2cIu8jE<7HWyjA@YeSdj%c|Gu*9JD4xI{3f; z7N15>Rrl?#Z=6jWr`x+b2s#=%h}wU$tFX(merc+&Z=n_~^F~ZvLQwjSWS{VSE@!6q ze-eJ{{t@}-!MK%GlS`8KG0#`dAoe$`vsunFPhk1W+RMhuR?jk#=_bR?e@}j={$%=b zV|eZBsM#!dGdH?Oi?zH(v4`N(sbr@M~5KOnFtb?42Uo_qBV zO+I$*q|Di(3n`a4F8{i6>gJ96g->Qbvv_vl@%sns@4dTYd^_Rh-D`_3Z@jp}oSuH_*-4p`Z;o3Yn{@d6e&an8cM0!S+bePK&oPO!8JA+NyWYNgr|^#8ZM9pb zx4Z5+J#KlS@HXK?_~$3z9{e)+pUTY5#>`g6(#3p|g`cC3XOp0SSdB!mR1a46mba125aQ&U#dDZ@H)k8`m;bWAEq|>0 z{^NW1H3_EU^I%YBxbny6yW%I=_r34_zCZNw*N1a&7m z0UzFeob_eTx3nLUzgGWF`LpTw+Ft>`KL1+t>(!6)Z__>}y|;Yj^vvXW)mzIiQ@<_z zGX10d`>wZaZ!%tmzC8Wv%UjcT!LM~+roCW(aq#)a=jt!(UhQ}(^z7k-jd$Yjthw*} z`0NwiC(|EYdX)IA?p65PoA2D;*}s1L?7*YD54Jxle%Abg_eJ6J-sjhz_djcWGU@5G z7f)ZkdBgMJ=I4s<&wu^+`}@BpgBrtWCRYws-d%iAeBXIKa7MA_F#ce0V(w$rU`u7S zX8yx)kU@<}o28VkkNp;l>VLbRonQBUIr&xm`_1n~KaTy%|2K>AJyR6(ZRS_Zy)0We zHuHCj@=B>p3`zh}f-gxeRoF6%O*yUNQ7;pbq{eR$3)6e`L z$A2*VVELB&S@ZqHm)g&ipYguxdSCuo_WQfv*$n5H)-&B^Y+;=Hzw3AW_manQT!k^O-#U#s4t+w(`gS-^PEEf8PD}_UrX8M?bp1JNwq~!`hE`-lx2&cy;Xc zxpzSyYToy}Yk%kV?&(|Gw+~(|dEWhO((|(~^k2Pwz2(ihSDnwfo_%^=^!oSP9q%gM zb-#0a@AskZeaUOv=V4FpKQ?{z`q9Q`J+A^@U3(js!;9?K&2RR-GJKKqeEo}>S5IC)e_p0huGcxT=no<~v7Z@iBA5b`nj zE&Gd)Gyf2{Xd`0N1t3N@_|q3Su(17XK{==fT7H=-SoBHYUm%y)YKKFh&{*Ld{$)6J$O{LRXjs?Y16WxZJUBK#@$ z##>qiko{d)P9V{r?yJ68$0iEBDX--|4^fesleAVA;o^!^zHe znrX%VCqGR;TYOahlJ=GTbHK-2AJ2b!`FZ`<+;5Y=wf?a9z3Z3MkN@A7|H}KF`m_I+ z5K{-21>Xi=4S)7?xF}-G<#Q6QM z`d@#Bt*jhe)4Bb)uXE~g_;T#yyveD@#mMW&m%#OtWg>&u@6BIJKVAH|<>Qo(Rv$LK zt$uU!-Q|y5Uy6Uo{nKaI@=xra@Bat?&;N`1cjEt6#-mIbOjG_p|84Pm!=IRc%l?-z z%w)Lmzvf@o|DDVq+05B4GjCz~#kh>QmdjYUN`gx~Lf{|Q4DKEL--U09C5fFDdc%L4 z_bAsN_Wf-C*`~5*vmIkg=SdUVBz#vWNjO-9S;SLFTCheiUNA=B6~7k$P3|LXOPO<- z_p*4hKjxgzagg~vLpbwp4lmw10Tm%ffkvJ#Ef(I_*%HGu+L^&#KOst z^z+%5q^}cxmj9o^a*VZzHG$QLMVV>xf1f|wekJ~~`5X7s^>hA*-S2O|x%x8lmD$^E z@7I2K@ImO)+0RqIiu|zrRr9;z5C5MZKNP<$`(pk1^{4R9m7gp=ZTT|uo77jOPl6wA zzW4sP{?oqCpK{m0j=&jFvCzD)T# z`Nx^R8yI%~nZmy_u{Q{kT(Usirt|DOLt(ub^%#b1KHS$uAPJM-1m*RS83e*O9L z_wUT#SANKSHT%5!%fatYei{6K%JhQQH$I_qazqkLI_jC5I55M((NBpSzI{o{% ze_vQS*yTAxId`)AvTbM0WmRWYVF_ex{4?R_$=~-F4zTX$5a3+FzJ_f*y9%$Tc$Ffz zsbU)RjQDJL8#pJjPGz3O%*gtSm5VKy^%IK`t0}7jbI-pkKl8rFeh>SW`RUZ# zsyAQXX1rVW=JKn8SEt{UfBN@r|CfgM-S3(|Ec_V%Me~>a|7-tCf2Dkx^eN@@pU)pY z`+Z^m7W)0(*Ss$;zP&qLj*xtYU82z>V_m}_nf7(9(dE5Vv`xE^w>^v^K+-MRWQ2zeekp3d-eC( zzn1>B{kQ&a&c86mHkM_~+yCADt@LjJvoz;!uEXqY%$pe$7=76K`I1CdiG1Y~VD< zC9g4eFUJZN4(4C1rkrf-PyVa^KK&=-ztlggKTLn+88VpHva~Zg{>k|@<)1C9Kj$`X zR^A%U?Tm4Mp8j6+SAju_`2hAN;$P zVKPJAAIqQKzdrq0@z0jwBV#Mm2L^?ICx6@g^!g_L?a8k|ri*Nj>|ty_*$g?YxT3g@ zb4}x#&as5;Hd`rYJhvuC2;;B6)eQHU_p`JyhcU+ds~HwE^Rq}YXELQTtzxMABmHCP*Qjr0Kdt^e`Cay7-dCq@)4%n7G> zINaHrShushV41;kg|YE(?@!L}3E$>^fB8f9$B}QVzHR)z^#|jRRo}M%c<|@gU(a7V zzD@ad{8z*OBY)+;zI(gqozIt}Kjr>R`1S3_iQjSz-Hd&VlbNrxPGNn+EX;WI_lmEE zpVB`+`+1isi-VD~gZ&fBJ4PXfj{ooeUuV!}dc|~@@!Nkh2218@HeL24w&QF}9CjQh zS?@9O{5$)*>QC{%EC2T~zF`yL73P&;b^8C1DFYXy5Z%X>x^hX4QU8M;}Pvx~Cc z{=fUL&;PHC+N^8X-8pzTeAuV3wX)t|j%KR(ul+mx2lo%zpX|T*e=+<{{lyUc8 zyFaY|{xGyM8?oMIeZ=yEf#dhjAK(9)vuLs1WSPvgiqV$&I$IN01aGmxU13Qve$j)1 zUwM~uJ>ZDtG~i(s2p3`z;t(j|?ckcrZoyW=zLdj&-HgqGLyCJj*LAjf79-Ym%nSa> z{9^k4>+`=QXFx%xSdu`;l>v(93@$imLj#d4UH ziQR%dhS~p5@Xuv`j{VR17ytXnufM;lH~W%$fc$wEcVX=ha^i#wwO@ zR!J5`rkM;!|FQnw`fc-PiBEN(mVbHr?dNx{@Ap1yeCT|?_T%JF(?0(Bu;at-_g~)M z{q*ef{CC%%pL%Bb>ckt@Hvw-9KAivD{^{`B6EDBMIQ{z9d-G4GA0NFde{1xv{)5@a zCGYpY7yA7FE8{nTud-jBe$;<&_Fm}oobN`zmi=7uHSvAZtGTcKzCZiT;}`dD=Rb0P zm;YAzx$67L?@GV){~h^n_jk>2-hTp2KUfPmCbCsB&1WoS4riUseu7Jk_W{om&OVke z3{M%Dn8jKDvB)!TVv1r}!gh}HJkM_4I-V3RCysK~56mhYQUXszZ-{>4H{|4CKhN=q z^E*c@XE{$JUpnt9?s#rx-grS4F>CQc5lexEyykqt0{lXzLM#G_Jj*zk*}7Tpaa`kV z;D63Lfv1f7FS`*_?cW=Jv>DP_KXDrH{^VaO=qd1(`xwUr&b2%ZeDioG@$BT8z}?F3 z%`C=rocSeN0+$4j8D|>v@qgWa`u<4&Q~IC({}01!=6S4kER~Ft|4;lc#8||%i1FRu zxSzMbi~e5DFrPX2zst89A9j9x`^DtPgFp8ezA+wP>}KL)NoJ{Gj%0lG*W_p8mxmv< zJ}&#PoRB_1CwupC5i7`1$a2 z?E9_n=6v${`RVVgzq@}Q`?cnm;m{bAK!X@r2M?})9&}bfBnqASo2tCF&8sWVco!fm))Ih1xp>v4VI0}j~O2@ zma+t}{bpUl*35CAJ&o0$m62VP?H5xGQ!C3mmU&EqOckuNIP| zTP7Rkt;}q!ob3BKVmQLtyx3N8?&k^MG3QiZ+raXj~C#(ahu|2F?K zW9(;UVM$}E`hWQEnSXo#H~zc&H}3yBMn~o-=2Rwg#tKGu=KIXO%=;N9{B!yJ_~)J9 z-~U%KD*U(lC&JjkEWrGUX$gxs>m{b^3`_s_|IPl>@c#yL0CULy1%JN%>iW6&=fgj< z8TK%A{Jr|i|L5KxKEFTxuVyM@T=jqLzh!^({w)11^LzELh~LG3C;ZQ2`1&v6kI-+e z-}!%1{;y)PW;wwU%(jQai|ZxlIu37kA(ngpru=bb=wnr8U(eFY_>Do1iG%4BqZ4x= zvlxTk-|v6s{$po)#Hz=Z!Q8`mhGFu5)&H*;8ku)7FK6KUv-!LH*S0S)Uygs#_@?pW z(69Y}rvCo-Bm0N#&+1>t{#^aX&EUp3fua9Tz>oCr3x2f!l==PSUo+EZCO*c<|M&mA z_>uq3<=dyPv%lQ?^!>f#o7~qg-*bQ4{^R_Qx?kV^9{#uH_m&@Z-?xAN_v6%0;on#O zn*aaux8aY_pEtjge*68({3-LR;kVE)j_(5BXa5xZbL3wzlNhTFt2}cx<6Fk{Ot%^C z{5kn^!_N!9wg1}w5&O0LN7OI3{}D`m4A1}C{ zm;Y-2D*v%FHZYxIlx2L*7|zncCdl@R74#NTljwRSMVR=-Oc04yMot?$B#>v>kjvB9xm=p9HE>K zc%y|j3EkvppIJZS{=E8c%h=6e_`l$<-Ji368vafD zU-m!oe+}ay7Ee|?ro;bK{u=+8^^5PP_RnoUIe+MUYyQsm>+R23-+jNTf06#8{$=`? z9p40gHU2L7G5d4or$1kIe*5@!*BARQ>0ffb)PA}5Mc`}qSFP_hKbQP0`jPwn^f#Gr zP2a)6-4Puo95d_DO6|Br^B4!<1##Qy#LtLb~yx5^);zd!$e{B!fye;@Nd ze)#S{_=C?$6p_uKmYr-@z?RcPySi|`|>yLpU%G% zf1m!VW8!C@!^z88%ih8!!FHUrf|Z}OnWdLSlvRagDWeMGQDz@DZMG^F8RiV8GYs+n z82;^MSi{`Jc9biJ*Nt0+jfJ_2 zQ?|1_3j|F0&3LwRJ>YEOG~zDdwdBp?Vq*Wu@`yE%^Ciz;-j`e(S$8nWFek9gXIahM z$9$6|gl#LEIO}t!zf2!ldpNeSEn!&u`^4`J|CcjwWszoXW&FhWmf4hT4f}QWMD`_Y zYglKo%w|qz=4ZXeX2+(%qQ$iHf7oB{zt8>!G0guj_D}!sm)|pgPWW--m+!y!|I7Xg z{TBb#_jCG>njgwPD}KEAX8VopThHe`?-Smqe7^hr$SKNBFNfzYqT|`@QN{`;Wa}w|)uuF8T*_A9cwewx4&tzxy8j zJ?Gn@Z(n~n{^|Lz#yInT?(YxZd4K%>`R&(^-xL46Vsc>3V>!*F!nA~;@vp$2TYnW8 z7BjqLIKsri`i5;MM+HYPD+7}>!`%Nq3?CVI8UHZ^Go~;dWRho`@lWN?y`S5D#{W6} z|1;B07I_vWCPjwt|CIj6G1xQCVPs(vV*1KBoiXu0_n)o5pZq(`WW}1ns?Ji&JcT8f z{R!tij@ztJEHhb*Svy%vS>LftXYppa&RokJ#LUAY$~K4nI%_NA&HttS z-Tmk1pUZzg{Yzz7&6vl?^uOkh`k!TgFaLA=SMoRbp9+IFV<+QshIRjb{o(&}=O|Kgv;|0)0P{QL3u%HMr|h5p|C6ZubqL7L&;zx)3#GHhg4W7Fg~%*oAl zltYNUo^>MVycX7bEZnS&Y;RbLSf(?FvADCAvh*|d|117`<=-a8+st7suFM-4I{!}m z9r=6yAJ+f#7@QfR{%`qr;;-7@6@PR8H!%KZQ2tl@H<4i*Gc#);>v^`j>NHK!XC=Hi*drg=0Dqi+y1fsw}#;t6BFwe)^#i!m>x46Wzc4FV=`cH`=|Er%)f8{ zCjJxrH{-9=-(!DF{}%tV{r~o_+HbR8`hVX1Tf{JfVeP-yznA^0|K0RQ`>)Zz@_#S> zEcvbfr|$2Bf4l$r{9Ewv(*M~EW{j0gkC~q_?_%<2eEo0IZ;78WKac-9`&;<;jvvpy ze)v-H?fj2~-{yar|Nj1+^84*ChF{NrT>r7)*Wo`4{uKS1`s2_KwqMtN-ua&ME&luB zpTWPI{`~vP^EGwS&;OeLW%v{RN9>=^|J(mhFeEZ9Vv%I8;V|Vm%yx>^ zfo&<<47R!KTR6qIeYs1xPH-@AeBt=Yxr@_;vx3u`Q;GdAi!1AIw#V!`91A&~awKqG zMB+wtuXDnZ=oYGx+_V`RC%VZNCrwJI45v={n=* ze~W*w{yF_;;_r-qWek7*TmO^)JMlN;Pp9uQzq|ij_3Q4h^*uLkz7AGOE?7C=dii3M{)>ph_l(U zzGjQ!LoFS^t;*_hd+7oX(`eyn{)SDT3)alP1$-hC~KUrf1Bzng25u z{xA6Z@Xyh|NB$Qu?q~S*_x*3?KP7+a|Lps#%@D$<%24r->0j8tssGmfd-Lz$zk7d| z{aNx`_IKMaj$hw@-TPzvH}7}w&+Z@Be>neq{`1DKAHV#5HT-(_yYz3}zr26<|E&4V z`}gU8N5)JBzyFL3Y)m=KIn0}wq8ViwTo{fs9Qc3xuj*g1e-8is|1bPE=Wpxp4?muL z-}NKmm*F3-zwUpg{ON+p}Cp^fPmb0TvB({`r6 zOm2+J|GEFo{(JIo{NKDk4}Nd@E&V(5SK_bkUypzN`Mvn>?|=ILOaJZp`|xkxzqo&I z|9=15`%meA!T%HgmoltiT*KJNz|J7XB*p5>wuSX5i!e(&vkP+<^Bv|OW*Mg4jEzk7 zOni)53{x3aGu-+g{$Gn>2jelOsZ75Zr!fVxbh1XUrm{FNCo(N%Okv3U&&+U_aUwGt z3m@}+#$Lt;j8_<&8NV==GaY1{&#;VP7UMLg4rV=;EzB%T@(geOUHa$2u!kvuC5R=N zxsGWk;}wQ{hT9Ck85aC+`TOHf#Xms?3x=5g*Z)oUf1E*_F`Hrj|E&LW{;&DZ&LGIh z#ni*3$$XeujYW>dklCCmo9Q9*Pu3LnNo;H^j!YFylbCn2{AGQ}X2zb${)4TF)tZHg z|BD%Z zGuSb>{tx~a{rC5uS$}W*D`S|-D8qRBzsvu+e{=t+{GRpO{BQif8I!SXWu-&tA9`Y_TX#6w>{rGfAoL9^p)>x`q!#&C%>=$;q>#(&y~M; zeqZ|K_iM$^Yd?N}U-bRXk4wLs{{8v);cxn1`G0!gl{89>Zy61lUNR;yZe`f|U+~|T z-&Vh6|91TsX3+kB;NSZH+Kkdn8cc$W1^-X~JM=%5F_B4%DTFbTv6#t)c?FXrqX;82 z({!d(rffzzhAIE2{P+3)@ZZUQJN{Yzd-eCiKR!lB=1%61jFk+aSvwoXn@kg!KQM(c z9cMboY|FBixr8ZzaRY-dVwLCQwtp<0%*9N~OdZTRY%AHHu!XQnv6wOMX1c=U z!n}()kwuJEmGuP6T^2vq4XmbY8`*f+*08)`p1`ch9K(E@If3~<<0ppM47Cgy3<(TN z85$UOFim6r!_3WM$$Xj7l5r8^cgE|C{~3LmmNT|8)G+iiE@fh5j%TuEbY~P`&Sc4D zj%S?A@POeRLqCHwL*f6_e_Q_A{fqg3`hV4b-v9Id<^65>ZT8Fk7sKzW-;;hT{#N=G z`cv@d@*n%Z-}?6Zo8FJOpDjP<|KRwc`ZM5n#Gm!QO@6ohIsdPSVJXA5|4sjv|K0tk z?)TAOLBG%c3HrD5|7(U94Br1u{_g+n^?TWG<3CM*_WsfQ+w<4vZ|0w=zjypn|F!Q| z*PoPsdjG5bY5cwMXY1eme>wkx{!RMF_eJ= ziG^tzqcM{z(b^NRH_tf8~|DOJ@X3$|c^UwHi%b(W2cm5YM9%Xp-Py3(f|2&3z#(7MqnAjL^ z|4aFo`~M_{&D{^_qWAw%ir66-}+Phukb(1|EYi9{JHh_ z?7y;q)BXniJ@Pm9-^71Q|8f4${$Ke2%)hyRIsabyoBUso!T5jGU!K33|HA$&GuSZl zFim2d%HYOuh2bD$3DXoNQ>HhJZcNUAnRJ=oGcREdVzOs^!|;UR3Bwr%L59=+=KafN_{kK)BFs|5?7%F+{ETTclLb>C zqY1;(|8M^1F+5`U%pk*X_}|gL`G2qfW&7XFki)3MSkDm5u$;l4QI{!)X)og=26xc< z)c?!=9sV2lch%qPe+~Y+{t5Xr_3zbxcK`SOTlTl{&$i#|f6xE(^RLkVl>f{B<^R3; zN9XT@za9UM{mcEg{;$$s*}v9*t^Q{JJ@t3a--H6#NbSr}qEY z|6qpu4E~HJj8zP0{;&Qo%J7*%i^-I^h`EF5ErSY!BBLa86H67#Po`@OcmK07u3);( zbdYfZ!`lC9|E2#=`0v25nqdlqFM~Ei5`zt+BU2xf7}HF~TE>Npj~Rb4mNTAVc*4-n zc%5+?qY>!*VFrK3M5bR%7n!t}vKXxyMVWe-TUnx5<})iYYcpSBZeaPtEWi}a5X{iX zxQA&0vmuK+%N=HaW+&#=%=?&wn2#{sU|h?f$dJWwh#{WA_kYGelYbunl>S}#TlH7v zugu@}zmNaE_-pr%^?&+*ssEq;75xAFUx#5iLoVY>MrNkJj1w5|G88kEGJIgDWNc&f zVKinmXXIrpV`%t)_1}hn8~(Nb`|{WN@6$hae-;0|_?Q0w-G5nzy#M0=j{N!m`{Hkx zKP7)x{9Ey_?Qh+ml0V=6`2FqwyX|k>-=%-v|5p0L{cj?}Vn!9ldgXT>pyyss6wJ zKb*mhA>u##zt+Fc{<8mD{|_XGyu!GUF@d4)AIsm|KhA#{|0glLW6)#_ zX4GPAV%YhA$$wXdP6ls=N`_wy{}~b(+W+7F7yeJ~-|>I03|@?)jFt?o|F!>X{NMI} zC4(m8L54tvlMEetEG>{r{%@OZ?~b zPyXNkzrO!e{-5|?_W$6&lmGhu8!-qlSpVPlFYW&khP#aQOu0|9|@5#~{nN zmeGo722%yoB}PTYyA0Zl2NgV&SseXf5X2?|Kk38FkEE#!?1?o&;Q#0i~ol* zoMfw-?x8L{;l|z{qOtVqQC5a zjs8mfv-rR9zyAL}e_#CR`?L1X+&{v9`hOq%-S|iGuk&BdzX$)U{v-AG-rt|#vyGen zrvH=r-}(Rfe}9Iv4C;&uj7JzG8KVE2{Xg^nGJ_6N9CHive5UV=-AtS;Myyh-Z)iZen`E{Ehhs(_F@01|No742Kv&=U&WbVq%JCOk&hvVq>;v=3&-kp3HoJxsKVL zc_y+Y@67=vi7lPGFve*Gj%XIGj}qFGyi4U%XFGagSni!hFO+5jcFUB zH)AX#Bhz%IrA$do_ZbZs7codMO#dJ8KluOA|I-lPM2mOIR)%>K-I%uARjGTSo0Wje|9iOGgpgSn6CCF5Sk zH;fEScNwoRsxqx+`oVOSX)4oPrh829nN~7&Gks^OWS+=8hnb0GEei*0I*T*&LZ&TD z49s@SnaoR=pD?SlgtBO|tYpq$e#`uprInS7^#b!2CSIobj7f}B8SR-aF|B60%lLsI zhoOSu9D^m}Hpah5+74+NePt4z#f1m!b|6lR% z!QY>M3jfUi#(#zX zp8Z|;clzIHe|P>h`uF-@)&HXZ&;PmoyZ-ma-;95P|8xGg|6lo^mti8qPlmq?77Sni zW&N}KKZl`;v4-(B!_EJ5|K0z4@}CIfRi;f$j*Q$4j0}$$)-$eQ6l0voP{y!`;XK20 zhRY0#88$J9F-~IK%IL$mlOc*hjp672i~raB@BLr$KmY%-|6B|b4D0@T|JVQj|6j_# zBYzkD75X>h-;#fF|DykX{G<7I``@sC*Z&Fr7y8fi|MNe-|Ed2^{nuq!&!Ehxz_^|P zw4!?M|Ed4i{x4*>0lEQzNtEdiLjl8F25!b`#&?XoOdA+u7$-CSWxUSF#TdyT$gttR z)_?B*A^+F@XJ*i5kY?~@IKv>!_?zKA!!w4*496JuGdySb%&?tdGQ({KOU44mMT{>P zJ(*@P^)N9r88fyrm@pVIq%a(0&}A%R+|J0s#LKjmv4wF7<5ETs#s>_C8BQ|PF}(S| z?!PJnFJlAaONRUZUH$2!v}^l3``7c|Fizh`)Bq)ZLl|GWOP|F8X5_3!7u z-2VapSN?nRH|ww5U%|ijf0O^Z{pI-k>5tam>3?7Uee?JD-)(;v|IPm!_&4rv_22D( zKmPsw_sQS$e=q#q`ZwmU%-`I<*8k4`+w{-u--o}9{|x>`{_FU+@L&5s`+q|J^8Q8q z=Vy5T-}?W#fA9av{}=qv_21yX<^Q+;lK$QOJOA&yzy1G2|1bLQ%n-w{@&E3B4F7Kb z&Hd-_|Ka}>h7Sz>jE;;y8Fn+wW>~=Rl%b4~o5_rch3OUJcgEL@8yJ%rl^8V`vl(j{ zeHn`w-I)TIS2GJSOELv9-eK6v@QT5ov4^pk(S}io@h`QP|o?f>+Dj{p4s&Hwl0-=%-q|6ctq z`OEUR?@#2Pu0N;$T>5kT&-XtDe;NLk{W1L0|3~+4^k3$`NB)TXt^3>fH|TG~-+h0J z{&D@+{eSmg)IWxQjQ=A3UHPZ^-|oNk|409J{k!nb{{PnhNB@`o|NF1`pWDCGf5-nh z{!jmZ@88?M-hWH}CjaaDFT-%}fAoK`{~Z6n{rmAR`2U0dd<^^lhyLgP|MuUbfA9Z^ z{rCF6{C_xu1>+}1L#A_#j~R~q|M>69zx4ke3`~q!jE#(ejO>hi86p{8{=fUblOd6D z2BQ|^bcO_mqYM)nZJ4T<;+PDWOqj};t}yX2Gc#Xf+RL<)=^)cyrWs5rOtMU;7^gBe zGL|zoG45kzXOd+4z_^|4Wz1pBV$5Z9W<1T{%V5qhn?a7TjBy%cE+Z4; z0*2`fuNVv%Eg2OVKQOFjsAXtjSi!KKp@4yh;rRb6{{|6TuQ{lDvf z;s59VRR2x*+w%AFU(tWo{}TT-{+sh}>A(7aPX9#zUH_Z+*Xr-gzfS*F{OkG0{4etF z=09A2w*UV7d)}Xjzfb@E`n&1x)W6UER{jIs-f;B)od1FU9sl?K|Mp*vL4e`<|EB-y z|3Cec{XhFZ3j;I5<^Rk7H~#PYKl8uG|6Tvg|NZ{^{V&fy-GA=?9RDf) z{d4};^zZh+fB&BRJNEDPKi&U5|4;rGU?^v}#PEaR7XuR` z2jdflWehzGYZyK=I5T!Ku4SCTn9Uf;n9n$eaV28}<2{DW3>O*hFq~%i%n;64z{tip zkzoSEPliIqHH_04br@S2gc&Rtt}vuAPGziMOl7QLT+VomaVKLlV-@2&#!jXkOj%4! zOs5zRGOlBcV0_82pW!mYC5Fum>luzR9AQ|&(9O`yFqh#h!(Rq5#{Uc#74-7jQPBBO@x-u#=ZeieO zsQGX3U-7@$|A_yI|D*qB{%`(2?f;_xZU6QDzy2rrf5ZPEhLsGU^OW=$SQ$7O^cg^V zg*X16_`m#r$p85N^Zwud|NQ^<|2hAy{+s{z1-Jbp{!jk@|Gx!;IK#RBOaJ%(kNfZX zfBFADh8D(8jOQ6wGhPCnP0P5Hv79l1(T!1uk%Ms!g9gK~|7-ql`oH7<@&D)kPy4U_ z|NcLo|Aqf2{;&F<|3B}){r^M%#Q$~uE&6-^Z~VW)e=`5h{k`|s^k2`vBme&YtN5?R zu$EyrLlDE;|G)n`F_k00S?BEWf_kZR8H~(cALKzk?TxVFv;K?AzV9H?1z|ZjKzbZpH!$F4g43ilW7`ho=Gbk|1 zF)A>cFq$%Qf$qa#`22tN|APN>{&O+JGdMHc_&@9af&ah$b2G3q{Qm#(|KI=W40;T= z|EK`|8@W8{7?S>?qAYBwtuhw?*AMASLCne z-^G7z{w?~q>EFbE<^LM~P59USukv5fzm9)r|LOeq{QvZy>A$0YAN&peckZ9b|Jwi4 z|4;wF>i?Pl$No?LU-ZB0|H=Q1;M!Y^frsJ8|KI=F!9Mu(|MP!khUpBVjNXizj5ipX z8NwKn7-loDFcvfRGg>mvWBB)f(f>35eHa!qOl0t5&}497$Ycm)U}D(%zx)5Z|F`~w zQlub548u(Z6Gn4JVMcC7UdH|*p}18=0~cceV;*A)V-4dT#tV!y8M7Fh8ILeNWZcP^#K_BdmSF}%I)gVu48v50 z-3%)kY8X5jm>AanZ}>m$|K@to}v(Tk`M1zm@+I{`voF{U?@Au#Czsi4$|IPoe{r~*`-v1~6g&E8lJQ!*iPBJ`ZSium$ zV8u|%u!&(C!wQCd4DT6a8GRTF7;_j+7=JSGFy=7sXI#VR%J`STobe`O9@9#udM0J2 z3yiZEs~NKy^B8j(!x&WHoL>U-rNFf7JhJ|5+LQ80;B-{onh4=l`Go{TNCa0vTR_R$BgN{2%!L zz<*7Kcm{t435HMqnHWqN;uumH5*QK~oEiT7-~7M%fAjy{|3ChJ{(t`ei2u6(KmA+y zuk2sPzdirH{p0z6_g~dNt$*_W9R5Z9%l%jXulZljzu13M|8e{e{_pVr+rO3nTK@I? zoBOZ+pUppsf3E-5|5Ny%^MBI+?f*aj*JiL{0M(D|3}60V|G)eHivRQf@BIJlzaWDj z!(4_d4EGt%F&tpH!63ls$mqkU$@r3C9zzO4I>RJ}eg-p!BmdX_XJ;s9n9oqn5X(@< zu%F=x!wZI24Br@TGqf{UG8i-DFm!`U$36d_{WoOrVF+MoXZXnw&REWv%jm->#`u*% zlChJK6&#N_j0ud(89y>|GBGp#VtmQCnK6~onlYMjA>(z%JB)i7+ZY2Gof$(J(->nI zwHePdWHHDweEomp|LXtM|6~69{SW+~@xSc9-~ZqLR{fj&Z|^^m|7HJA|7T>7Vo+jW zV>tVN>i^3B?f*~xS7%6P$Yls%@L-5%$Y%&)5NG)HUy&h{A)djI;r0Li{~G`A{@ed= z^S>4UX8ddU*Ya=Hzuo^X|2y$-!N1mj&HozzrT?@3C-RTwANxO{f877R{QdaX;NRwd zYX2?%KmXV9FY{mZzwUo^|I+`({!9H={IB?5_P>IE{r~p-yZmq6KbL=?d!9D^mHb!s zui>B9KjDAx{+|20^Y7um-~PJ)>-yL6&-mYozia>g`CIz$%)i_Jmi~+X=k>4T-|>G| z|2O=9`G47ezW*!#o%?6-zwZCE|I_|2_`m7@rvK~yANYUq|C#>_|EK+T{BQH$;J?y; z!~dcGlmEy5_y6zk-|WBr|Fr+p{;&MM`cEHA2Ob2e8s526vdR! zRLE4#G@WS^(+;N1Oxu`tGaYBT&Gd@t6B7foD04gW2WEekg)Dzqa#;_t-evv4>ddy3 z?H1c(wnuCi*jm_R+3v7jVSUPai?x?kj`bYNR+cR+TUhq6++_K}a)+gp#hoRdWh)C8 zt37Klt3Rt1s|4#CmZL25SaMkmSza@@GV?QEW%|M7!Q9KdmU%vNC37Y766UGQyv!j? z3mCsLL^7~4Ffed4y!yZ9f8GD!|1AG!{B!wd^e^w<>3`h+IsZTUx91<|{;mc89{m&g z|NGyXe+B=t{?+}P_;2OE%m1GLyYz4Mza{_P{!9M9_W!#7RsW6uGyebjPvw92|40Ad z{6GDF`hVU3lmA)&OZ~U$-_(Dy|F->I^Y`E1*nheIH2+=uJN<9S-+O-y|4jJp@jK>s z-tV~I@xPb-e*OFOZ=>IVzcPNV`CyK4G zX8zdzkUYPqkldzs~&n{Y&Dv^Y10U?f+cTKx6>JMHhMzfS+={^RvBk4(Wz}M3VU=ZdW9??;WUFCYz_x_#KigLJXpXrY zog9T66FJ^-#B(0!tMRE=8_5&TAZ-IF52$ z<~YM~j^iDNET=A~Jf||J1E(LSDd!yyAC6D#TpT4F-#9`zLpXUj4|1&J*w1l^V;e^V z#~Jn*b{lprc2@RNY+-CySbJH+SU9sf%HW%;}L5Az?F-_L(B{i7C@r@lITb^N;d>$|T9zOMQD`K#GCrEmAY-udeA?eDky z-zWVL`C0w5;OE^RHa}Q?82)hi@$37n?*ZTce4F_#@7wfm7r$-!7V^#d+q7?n-#>is z`*G^W`5zm9RQ?G15&h%zkHYtZ?R{Y}q9rRo2_k>^fe@gu<`_cO& z;iu)V{lAod*Z)5E`^)b~zqkHA`&;af_MgYUC;Z<0JNb|C-?@MH{C)S={9o0-?f<_2 zQ~Ce+pZLG%zq)@zz_tDMzuf;;{hRc^ib0=o8zT=BFViPRC8pU-Pnni5F)=M-Jjf`@ zG=r&%xs^qi)q?du%M+GcELT`wvZ%3!vHG%Vuxha;ur6kmV0*+?%+Abyg0+~Xfti=t zi1`)sYnHdHo7iO7_1Qhym$7qjm~q&1SaHa3++nX|w_#UiXJY@y7R1iP(ZDg6V-80s zM;`kmHWjvmtX`~wtP-qxtkSGMSrk~;u&S^rv1zi+V0*&W%yy17jn$NO2g?`cbY=%; zUgil*vP=O?+RQJQ#aOsmJ}|Fkp2qy2c`?ghmMtuwnJt;WFex%SGqW&nWtz*B#I%?3 z34JM{0)zu^De3>^$*3@i+}|DXKZ^zZIJ)&DyG zKmJ?$Z{fcs|I+_``#bON^1mDYrvByq%m0__@BTkNe_s8*{`>ats^4pWUH#elljT>} zFV|nSKUIE)|6KU<=+AFI&41ba;{EmF=lP!#eEd{qyJgAJ)Gqe^304{Kxj+ z{{O3gi~eo+_v4@I|C0X=|5yGOU>S$L!90 zfGLEj7j%|5%Qn_YY%ADw+19ffu`Xq?VR2!Z%JPCmiB*JkJxe4@5Q{3yS!O1d9W36g zvsjn2IoOwj5Sn7E9)IW-pdgEL|*bnVXrLnAb9|WzJ{* z&eX!>%M``5fayDv2D2QqICB*9ROWo<24+c?SeEU~TbcZro-plTe!^VJ%*Xtkshept z<7I})40joX82>YzVOY&DouQi{j^XqFr2pUkeg9|kzx2P||AqgU{!RGn@i*bG;J-8f zR{s0?x9@Mn-!Fga|1kYY`ThG>`0tEAZhr&*F8*`;x6tp*U)z6r{Pg>|@F(jpmtRr8 zrv0-1J?rz~8FtAEA* zCj3$RBl_pn@7KQr{wV#u`**|NEr0I*KL6Y5Py3&mKT&@+{%QTI^)KPy;(xLKBN?n1 z4=|o!EMUCH;K#tgAkARKaPt4De_Q_Y{1yNE_OIXn7KW<~Aq=PgFZ=)H|3-!>j6zI; zOph7YGUhT0F&<{P!w}DSoN)uA1EUIK9ph_8dnPZYJB(3`{){&m=QD9IgJuK1F}X9B zGWRgQXI{nP$ZF5Jn&mmOA2Tnr8S_Hs-^?Z~qAYuuA2MHK*}yuD^$Lp)ivr7Z77f-c zR$JB`EUGNM%p%NRnSL>yWtzmafN4EbG}C#;rHm&SI~cz+{9#aMTFM;CV#V@}c^7jz zvo!N8CLyK+jB6N+8BZ}tFmN+WWq8ampCOH*njxJ*i9vf5s^c zZ~q_qFU`=(P|m>1@ZvuwgBZh)|C|3?|6l#D=-=yqoBo$GC^BX-YB8Q+XkwVeV8h7C zB*!#~F`01><15DfjEfnI7`Yf1GT1R({h#>%$-lgR!vFaH761GBFX{ip{|o;w{onJy z^ncg?S^ty&%l!ZFZ{@$5e;5Dh|7ZO_@t^j;OMi?1%Km-*=k}k6e?I;Z`0M(2^50i~ zfBaqYSLN^KKW=|c|1SS6|2yH=x}OJruKD%%_w7Fi{=EDx{rmW@cfWFe@BTgMcgt^< zKTUro{ptU+>(8Y>3;x*rIr+Qy_w3&bf0zEw{=ND4uHSaQpZ|*a9r)+%pYMO}{Q33A z@9&nsFa93>+xWNlui(Ec|C;~b`v2nppZ`h>CJZ7Br~e24pZAaHpTxiS|L*;FV^C$d z`~TzrD27uE+KfSrtc)`lRxlVdZfAVUD9sebl*OdT^qtX@X(!VkCL87!=2m7u=1k_R z%;GH1nS+=YG08GrWSqoU&3KP-29rJWT;^)#&rGRId`xOg)lAcvN|>^kdYLvbZDcBD z`o-AC7|B@3c$P7qNs@UL^I7I|%(s}&FqbiNGXG$5XP&@3g*lJej#-IWlKBtQTBdxa z4NPUsN-PpA4a|zn9L%ejVwff{t!7GODrWk|6vOPn+{M(!_>)0_v4OFW@e9Ki1|G%* zjQ<#gnPxEVV(?*TVA#aa#^A=F&XCCPjiHgTn^BqZEW<*E6b3^E&}lWU3?d9C{%ihk z`j_zU?7xEl_y2$Rzwv+0f4~0*{{{a${XhAipJD5N&i@Pk?fUoY-|v6t{_XyE_TSTg z-~avp$NgXSzu5od|N8&k`RDsT_P@!0^ZzdYKmN1)*Z$Y!uj*f^ze0ay|GNI|{d?!H z$-g!KK%@5Q{}lgz`mOl;&M%qYSAL)WGw1K!zl;AS|4sdy^H=HbmOm5!ocQzi&$&NZ ze^P$G`1SZ#+;62n`~STEbM4Q;KX3ko{+;o+?r+B5#=qHrWB#80oAR&cU+TZ$e;WUu z|NZ_q=HHHg2meL?TlrVvulrw~f0zGx|6lh1-Txi`zy5RmC-BeV-p?jhAf8347V6`8P_l}Fg;`JWRzjNz;J}Pt&0xtOz@W~c$Z+_-%m0V}4*q-o&lo&zr}97j|BC;`|3&|s{J-@-jlq|p z@BiL^N&l+<@%`sxc*&r|xP{@=|KtCh{!RX8^S|=H=>N=rZ~vb8d*knyzkmPU`}^zf zqJOdfxBl<{ukio=Ke_)a{~I!tG6XZ+{crn!eg9w8NgBF7|18A=9*MBvJ7={fD{}>z@%Ngq! z;~2FWA2V!a_{(sG@h(#pvmf(vCVr+}jNOc;jK>)cGO#m>Gm0{5GYT@EV3^F%%y5Vy zmhl$jFGda~AEw1jSD9WjonsPYQe?cxz{q%(p_XAALn`ARMt-JsjJk}+82lIx{9o|j znL&whJ>xaT-HZzvcQHO;{KR;jaRzu)H-qsoqX?4|lMvGq#(Ksxj3!LVOaY8S46^?( z|Fil3_kSZp8N;prjQ^Yet^B9{Kk~oa|A+tX{A2&G^#9ktGyneo%m2URf6agM|BU|+ z{p<^S{kKl^{-|GxiU|BEu5`mgqX@xQWvp8x**{q{HKpThsv|1SS`{ww~M z_|N_y$3M1zdH)XloA@v8U)#S6|L*@=|F8X@|3BV;+W$`fYxsZjfBXM}f4~3y`OWp` z?VrDY=l@&#FYTYjzl48t{!Rav_pj#Po_|;V_5PFox9e~9-?YDJe@p-F|NH0f*}qYL zzx;XmC*be;zx{uI{z?7g{AbOd#J@lPs{VWSH}mg}KQ(`5{jvP3{_o>I!~ZY;rTjbo z*Yxk7KVE;Y{5Ad;@vrn>)jzv`O#d|hZT)BQKkPsI|9Sr!|K0p&|KIVy|NnpgB^jSE zK4vs$1g$0nt;z{zbY>J}bZ30Wn91bDbeFM%F@-UOaRTER#wU#X8Os@M8EqIV7#A@X zFn(dkVNhVGV8~`HV{&3%!d%FFibEHqRg7ip3HvC zuFN6Knaugj{mhq`8CdvP&M-4F>ofgf^kkaGG=nLg$%rX{X$zAyvoEt3vjFo{CRV0% zjG|1rOc6})8Rs(AGnO!BGsZBwGI}yrFrHxKVEVzhk8uU#0>)xS6GlVEe8wKeL`FHr z6%2p>7ybA7-}nFfe`^LKhHw9m{onQf(Eo@3#Tn`u{xh&KCNiA(f9by(gEzQ@uw~f% zKkUEW|EK@*|7rfy`=|2n*5BiQP5#aL*YuC?-^9Ome;5+X-Tas3 zAJe~$f2aK2_xIV~Cx6%c&G_s5*Y$70-?+chfBXOZ|GoG3i{D9q-v7z^yAfQ09jEs*NRxy+_s5318@Atp;zcT|fqd%iBqaUL= z<1>ai3~L!)FuZ2i%dnN<7K1wD7DhLwE~a!Q5vH?@%Nb`gwlfAW$}^fXHZsm+jAj&M z6lF|foXeQUXvA30=*V=OX)cp4lLpfYCRJt*W`Cx7Mg>M6#_f!}Og2neOjDWqn39eRoFa76WIR8KF|A~K0|8)PJ|6}l1;@_`- zssHo;H~-)J|J?t@|GWQR{cp*j!2mkhGU)%D|0n+M`Cs;5`2Wd&m;PD*zxF?#p%+}A za4>B9pYUJx|C@iu{yqJt@?Y)$$$v5bB>p}7d;PD-zf$n1toZ-C|6Kp=|2y;V>c4yb zUii!WFXZ3ke-r*C|BL)L=ijG)AO98nJNVbW>#=pvcNB@2L$Mj$3 zzu*7b|K0y5{h#;0_rLf5SO1Rvv;6<&zXrp#{{{c8{ww_d{_oPi5C0tg_xwNqpPNCH z;l%&k|0VxV{{Qp;>i^FF3IEIgPy1j0Kj;7I{{jr|49*OO42leYKx?c1cmLn{|Hc1@ z|F8WQU?^r-&M=K(0>eQDRz_*Y?+nKo<}jo%NHDDaZ}eaIf6adphKbVpzbiilLH0f#J^ov;Y764`AqLSjljfftit?@dd+4hBFN384fXQVOYd4 zhhY`NE{44fix`p^v>8kpS{c4E*f1I}@-hlC8ZufisxrzlnlaWfK4S!>Gfl=shE4yQ z{xdK4nFGelKpA52$C5&Z^HjL(siHwenYZ>?$ zF8=3X=me+dbVe^m4#sl~D;atj`WeJ-}JxXf6M=_|Be4^|1bIf?Y|L&9K-ql#s3xl|M{o> zzy1IB|6vRh8G0C087lw({&)D_`hU0nh5x_)|L^~u|84)@`uFNz*#9H{#Th&pG#IA; z|NrmQKc4@6|6lw+{@?Te+kgE3EB|l$KllG+@EVlm|4sh?|HtxQ=YP`wMgPD24`P_g zu##aV!#ajO1`mdx|JVOt_W%3;1crWwMutj;)eK)4|^w2{K0UN;Won`hOZ3k8KN2N7^)cVF$gj~VQ6CrU~pwfVmQU%&$y6r z4r4r{1mjbN+YCP$3>iZi0~j?JSr~sYh%$OH<}yxXJji&Ov6hjQ@d(2ohDOG-j7u18 z8DBAMVklA;D_&@i*{(q7Gmj5UGzx)5k z|5yKa{;vX?vf=;c{}=wh`42i1GxdMq|B(MZ|L^?gWZ+|X`+vp%vi}wT8~&I4&--8X zzw7_<|9AdNFqkpOGVJ@W^?%*JCI8s}*Z!aPKl1;tf0zHU{ZIS97<|U1@&7~rs{d8~ z>-<;wFXdm;zc>GK{vY~(|NqnfSO2g1U;jVrfBpY`|AiSs7;+ej!E=OF3^oim{!jfs z_5bSsd;dTBZ^)3v;K%Utf60H@{{sJ${$Keo$6&=^%^(jxZS}(c{r_kGZ~kBLzyAM( z{|o23`hr23dwD z|BwEE{ojgV3d2JN0Y+)Y=L|IrJPhalzxeOXu$kcj!$F2lhBAh^4EGrRGkjoJ%Mi*S z&A`a;@4p;FFhdqYG=ndLFGC%abgT>riP8~*?C@9RJ7 z|E>SK{~P>Y_RsF0>c6yqfBvoiug~DiAkJ{$e=+z};Hdu%|EK?-_`mP}!vA~zU;59$ z5XZ2TVGct9gFk~R!^i)J{;vSfv)BHw`+xYqD1$3Q2!jiQ8G|)LAVUg641+&II>UU1 zQw+x#mM~0Yn99(@kjh}mAj81KaO?lZ|8xFN{Xggbng7}h?F@?}FiYIFHeb@d86GgBybzLngx}1_8zpMqfrD#(NB>87?tA zWBA1&$f(X}$Y{=J!YIIam0<(J8is`oRSbR%t_)cWoeV_`jtsgCUJMxw#SF6;JU>tNyS1KlOj! zf5-n)|Ke#Q(DY0sr~_Km51lU+us2e;NP${^|VF_-Fag_MiN}Z-3wX z{r{KyAJad!f0F-X{xSdi_?PRS)xW@h&i}Oj8UIWCH|5`w}G@}8d93vMa8>0lH5u+g^593pYyA1ysTp1e~7cg#N+|PKB z@ham#Mj<8^rq_%Y8P_pRWUOHfW0YkC&BbnI=wT>hNMJAr-+8zH|MCA{{%bJ=G9)r2 zFk~~VW%$p)!FZ4%kHL+>l_8iRi6NCCgh7|#+yC?6RWZ;0^D%(V^JZsIVhCaAVc5;^ zl7XM`AH!ybJcbYke+EwmCvY3Og<&?sLWUv+6^5_>Km7mn|N8%R|EK+5{r~R&KmR}e z-}gWBztI0*|1|$c{m=QI`9JA@-2aUKHUB&Q&;7sbf60H1|DbT}`+xfX=l@&`a-cg0 z7#{y${6Fr$&VRoDZ~qXRsQq&XZ6qapZCAGe~JH`|H=H5`Ir3f+CS<49RDx>+x2hjzoq~B z|MmTw^>6vV9sjQVWB4!mU*^Baf4={m|0Vu=|F8c)>;LxuU;jHYq%njt7&FK+a5Mb) z|M$N+LnFf$hQkbV8G;$4859`&8G0D@Fq~u9%FxBo%CMASJwqQuID;ue1j7af21YT) zHw-fvd>9-VDj5zlyk>aHu#cgWA&a4qVKT#7hLsFc7`hlHGt6U{%+STKj^Q!Gdxnz? zlNh2IY#D4Af*5KTHZa^|xXo~oVFSYfhUW|%jB1RgjFOB;7@`?u8DzjKCtMi(7#bM% zFx&&(M!;~F;WYyvqcx)|qdKD?qavd@qY*f#nK5cGN;7gY-eFk8(95ur;U2>;hVKmj z8I&3I8UHgJVA#&^iy?@yjj@(7kWq^9Hp2{t42BGbE`}uxiy68Z(ij35LK&hM92wLY z%os`-4l!^s8Zs&{K46&2;LpGhJ|p_Xe;I~ih8~7Y1`7shhQI&s{=f16+kZ(0O$Jp4 zB?dJHbp~^W6ozJoECxM>KmYIiKlpze=zhTeG7L@(0Svkf@BSb7zx03gfA{}7|6TvL z|3CWw`v1NE7lPYj+x~;#@&9-K-~E5#|Hc28{vZ8+>i_HiybLM~Y79IKU;h934_XZs z$sokA>3`+_?EeM-tNwR_S27&B;}o|6l(%V8~=BWC&!?We{cHWZ+>?WH4i}WN>0gXPC~g zhv7WKC5B@RyTL2@_!vbP#Texo)fo*K?HN-TXEPpWyvBHy@igN)#u~;5#xTYt##qJx zMmI)3#uCO=j7J%_Fiv31Wwc{tX1vaDoZ&dbeFh;$8%8Te5yp=U4;W4`EMRD0=wdj) z@SQ=3QH+s+@jSx>1|J3ihUfop{D1zRk3k)@_lrS|L772};qQOY4uqutVgK{~FZqA{ z|J(m}{~!Cm|Nr6thyJhr-||2Hzw3Xc|6l&y`}gM`=-z_(|5pEH{)_)t|8M_4@_*j{ z`u`LEum6AJ|BwHF{=fWx>i^3B{r_A3cl@99f8zg%|EK(K{O|W){lDq|l>deQz5c8G zSN-q#zwCeS|5otH=AZxl_$T&X<-g*8_5Viy&HtPIH~FvjpZ)*Ke|P@9`p5EL{J%K3 zyp{g1{9oa})PKqUvj5fpYyDUKum3;n|AhZr{;&Vv@Zb8s$bakq{r`{tKl*>;{}un& z|KIcf;Q!sU zn9JD6*vVMOn9AtK=*bwun8ujR7|f``_>18Q!%c?A3~Y?bjB1QxjI4~07&b9XV5ny( zVaQ&RkAaur!T%Hg zZ~kXwP-bvqh-QdoaAe?PxcqFr~g0r|Iz=K{~!Io_5bGoGyhkBd$TqFr~Y66|IGi7|9Kb~8IJ#N{vZ86 z<$oQxg&p=k@_*_7)=9nj|Kb0O|6l%#FeowbGk{W_FoQg}B+_6|WYA;?Wawbn z#&8;RGdn{pgC>JAgD*o9!y<+a4C@%yfcqus;8yV=h6fC989p)mU|;~Ziv$^eGaP4V zWe8*NVhCbLW$0$uz_5#9IYT=`9zz0yH-jpJB!eqMIRog<3qb}B25p8+hItH|7#1?L zFqAPAGGs7>F*q^UGx#yYF(fkhGUzeLF=#NDGgvU#Gk7p~Ft{-IGej|jGPpBXGZ-_N zGPp4KGFUKhGrR%&T8e>_;pP7;|4;uv|Nrd&9slS2pZ0(0{{{aW{>T3J{_p(XhU**5`|Iq(U|2O@Di_=#)BYF#H~s(i-)wf^h>SNSjXU;V%L|J?r-|C|4> z`hV^Jz5o0FPyb)=-|j#Ef2RL({{#M)|L^)gBs|=SI<}mm%2r>Nq&%d2G@8N?#Q?f*)t$kPL5|_o{|*03{`>!r_+R_K?|;+(g8#Yy>;EtKzyJTW z|2O_`{@?w->;Izv%m4TPPx}wLr$Y0;;eYS{1^=h~UkwhyZU1NeZ}{K+f8+nl|6l(9 z^`D7>oq>-*gn^CW-T#N+Ji7D$%>Q%#9|!N2kzf#F5M+>IkYV6v`27FX|6l)w8DtrR z7=HbK`~S`VPyavt|M36S|2O}C{AU5L#{KaB!~cK(xfoa&-hz9u7ydu`|Kb0e|De+9 z^8ZW!FaJOFf6xEj;66X3J$n8B$^WbW&-lOO|Iz<1|Fbd3Gw3p?FmN)w{(t-bz5nwH~&BV|JMJj{}2CP_kZ61#sAOz|NWnffq~)I{~!N9{{Qfw zgTWXaD=y$&PWlXr46+Ow3~mg$42=vq3=Ryk48jb;4D1YF|G)YF{XaK@1cMlZ0D~lh zK7$>DF@rP%C&SRMWXfgcV$EjK_}lZV=wA|xI{ReSNLD5mO-9qd4S!BDD6sIbE@ld5W@c7pIQRGB zzeJ|lERUF8GBhyuvpBFRGjC;J`G53Z6=ON;WtKjsF18rXW6WHPFBvB=Wc|DHyZL_! z^8|*jzxx?l8GrsSWQhHL{cp{`e#WWHOw8d7I)4`a`t_&ypToZ?4C1Vo%wqq7entH` z^zY&Cmfu(YrTmxq`}nuqzo|^?7(f1&`yunE^Y5EKZNFU^B-rbjVt^tY^?zslxcIM! zDT5)D;Vc^;n>N!0=0D6c|6ltx<7eIP$^Tvc#r!$_X9vR{=B0o8K68I_`+MZ?mH)ad z5-d9y?EX&qzkscmBc37U?}7g}7+*3iVUYj3_}9t*oXpOQKmJ)T^E3Yao5i$<{W-G* zBQN9pKU#lE|MmU%|NV%;oK^Ur|Ie`h`xp=W)%yM8d&A#Q)@jU*fByb^!j#AO;;-c2 z`G5TWv9bg)pZ$~i)8voP|G@uczZJi4{I2$IEpzz4kKd2}+RBvtciGQh3~Sh`{;Pby z@VD)+`i}*lTmBicK4-T3BmA@G&kx2F4r|5}zgZbSb9`m4W!TBMkm)Yl1NLJ~3V$OQ zY`NF)9pPx@2;;2(aplVyCK2|0rb;G0W|hCc|Ku|MXR7#@{O2-L6;A{AQKnUl!d#1Z z_A*=jQD$^!V*L64$G`uvj8p#|WsLYM^tI=Q_umf;(^=U$CD;@GWqq^#{*xh&WgesF zpSi!M{aW%<e)%)G|d+z^) z-)!IB{8`Gv&3=+ig)NBr8`Ev3=l|mWtp9zSVFJ^n|NaaX|9}7QU|qxh`nSc`CEs8F zIlx@P!N(!M-1I&8{n>A;m@lwx_@D7xzrQAo3mCWkGh)(V`te8qXY;@9tT$Qu z{wV%S`@j0n>7Orto?zU^_K2;Q$)1^+LH7R&W~HlyPNp;8b^mm8Ol1>cs{FtG*QxLKe@|m!VA{!`!#JJE z`tO3jIV>D3C;vGAzr(ElU+iBsgEv#a|37RpY{vf_f8GD<&$OFiFY|sDRfgaH)ftTb zdo!l8-eNlb?+?=-wtvhj>~neMuv9Z$;<&-7^nb^nPKHB&z5YIAe$IS|QGl71rQ`3_ zpYPZ>cuq6^{guivmtp5WW|m$iz2B~14gVG~nfSpZCX^Z$1A~nX?!ZSZ}kW{yFjM%O9aXoDBb&mi*0RVdnbqPvOhW?@oUd z{^l@mVetRi|NGHTx$o!x^>SS0kp0K^@BHuXA4k8h{bRro`CIzOvhVBvfz}Ab{P+3I z@a^dLAAh&}`};%jm)zf!KP&!h{ol;|g=H;+(VwTk7ys4$yW;nmulv94`2UPqm1zaD zJ==TclT48;9c&XB_FZQRb z{eO4_{YND@Q>+x{$Ck}g={sfbN)a2&i_;O{{@EYzfUtC;W)_b{om}@{qN@) z47tMD#8_hg&t;j$JN+A?KuKjKto$o|dE zFpKpa%i;eT|3jEeSwvZHFp9AFGi?3ez!b#wne`?E592h(4u)?GQrt#-?Yy0g%YH5X zrOBAbZ1LmZm->J5tmhfzm~>dm7`FZH`Om`sf#WW7-TxzuADOQHyY{E_eb>q4IEE?xxdx_Zp)&?sQJg5;WuwA*WVw)zjv@)Xa4Xj?C%PO zUH^YGJ9E5aaru@0*MT*KE#_a#pQ=C8{(og${a5_gs(5p!IB-y_+`~8ysb@7kNzsKH1SJz3VWw=mrP<^3;>={D0;Mq9>>jM=}Ve!OOg}?dPN)c^u0GcCc;v>(1cDoW``0=_}J|HWSuW%pd<3 zFg|AvWmxfl5sMki%s(Q3-I+_cxj9S!NB?^G-+Zzzx;EDHG|dQpW|O1rfDoI7!LlG{vFDw#OVI>$oFagmb2~uyZy(izkeC) z|0Mo3V4UQ6kv}{B8E}@fMgRN%r|(b1 z&p-b^b2u|^`~BqiedaipHrCevWxu5U<}n)mcV_fq&S3Xo{Qq_HFEiG?Ol?2UGA!e$ zW-Vj7!YJ~8#_ySbwlLYS?qI(0|HI$izd^VDviy1Xi;1cBzs?W2pL)ON{+-IC%f6gR z`4mSx?`hT#KTChQ{4V=@gl!(*B(_h#JN|ky^8K&+`=0R>b1TzfhFHc} zMir(sreBO!j2Hfd{9NOw!-Je0=xImvI8)d)9N@S`4n=vVO=gb}+d8o&5LK@7q7# z|5?ZUovGp9Wd?o5L;rf1cKwg}{rz|E-~E3!{X54T!Eo~L7Y0dYp8v+b4*peRPvN=8 zvGULCPp5yaV;1%4Tq3e#dOb7|Zzi|Fb`y|2-L_7^nW;`R6Pv z2hY3zj=!WC?=tBA^JSdPJoEpqKjthc+$wCoKem14|0BR!%W3hy`G@M?lmFCzy8k@& z*Nk}udkx#1|13X4emSvjVY~V}?fa%b^^B|j{`t}P`|JM-2Gc(){^O#grXt7CFvR%O1(+{x(i zFO5-z@#de*f3h5^ycX;Yf4=_8_?PitooPSoGv>Dp|Nj4ANc^YCpvG*-`0VFpMlp`r z3?2VpFwSD|`tSEYh2a3}9LBG|xBqTny29emEc7Sz{}E0@t~iGN|NogH|62ZyW{75- z$E3};;n(Ir516JfZT}a?WW^H2DEhDE@Abb+{ueOcV_5fV>F;-pcUf<+E#S)Iv0zF5 zX8u*;|2&qfYz7>hY)b#;{Pz8Soxy=&+y9V%zy6f`Wc>4rDV}-j?||Q|EYDaDGM;0| zW^H3R^mp6OS&ZrIxxfE>j`)4|-~C_g|5h*`XMe@=|Ig*Ge&3J&6=Jx}bf3A3k(J@b zf1&@!7zEhfFwOg=_q&2&Hbc{&dyJDgZZO;Yx$>u+VfBA*#xT~sj2XYe{vKqNXSw(f zH0rnLSKF_Kzdrx>u$*9F{CEA2GjkH_SH>fM_y6zwANITX=j8wY7*m;^G2dd4`^WH4 z;CJD#fG)UHfzE@16f*|K|*`MXvom=FPY&a!=e9* z|9JoH{C}EpJ#z~)KXW8YBctG-hCjB9g$(R}_Wg_gd-un*U(XnBvgk8g{|x?e>TB`e z1I(A$o0wMplVF(3xa{xU|B-BAOvT?UzfSxg!1U)&>Tfp2cmF>BY5aeKv54XO|0RsI z%mPe@|2+G1n@NeifK`#W9Lg#mxRpcYdD!nacQ$Ifm)c|Jr{!|5=#dFuVNM{lonK8sm4SBxYYm z1%_AuCjZv``;TGT-=+Wh*s9p07$q6983P$7F&z3I_0N~Fhx0dwFUx}e*MG15ZNyN_ zXw6u}9L8+NaP9A+fA^U=S*sY{{B2>l&1A-SmEjz#9NQ5Ftv|j0o0(=ZTxQH+GGTQ1 z-~CVQZ~NaF|0^y!oxU0TE@3oc)?;|~C-6Tj z(+B2uCd+>se`fuE%rN!e`M)>*#s9YW?)}sJuL+A9$4$0I#v^~P{c-uXoKb>#=l_Bq z9luup=lU=6SMblfe_hN! z(!YfmmNL3C_Ap&y5@ERV*Zo)T@54+kY@sZV8NV^jW@!7{`)AGnbf!tncFc*)dd$E6 z|7Ezu)WS56@g4IMwoc|Fziod-Gwo*P`9Fhk9?N=$vVTm>WlU}V6BvD2RxnLxv|)bF z$n>}7*ZY5Gm?kp1{ay0&_@Dj%=l>J<_x10~e+9o;f9d^u_J8Gnf2KW*&;IfMRsZex z%k$TkKcD_x|If{+!Tg(%>tEBK;Qvj`3s{aZUSXKW;QjyMf5ra+3@e!~GL|wFGvxmN z^e^JyJf?l@t;|3Fg#A0fc$n!7Lk7cb76DchriK66|IPe+kYNF1KXVmpCzIIU8Nc2B zPGn5xn9Ux?=o{mWOkpDuqlFvv1FFed)z`v3Uf+CTZfPX0Of@AuyYf6x4X_AmVp^MA(w zxBpE3cjlke-~9it8N?Wl{PX_5`(NF^FASPYOpLD?0+{Cg`}uDM!=^tHe?03 z{I2yuYWH7m1k&TUdEcl>chm!@Z#^EKkFEtFr8({X1K)khe?ek zkUfg|@b8a*HZUeKZe%cFaAJ7GsLx`>eC2=V|H%vo7^MC!{dbk6n7xZZ;YaeXPKM*m znaqt$mlzot_WpDG_v5ePANzkQ3_%RH89W#t{&o5N_BZoC#eXyY;jf``_OS48ng?e$M>2 zfO#Qf-M=~ir!nR*Mlm!noc%BR&+f1EKRd<_W*^o~Oy~bj{G z8FK>j!+(l@4gW6v$G{}Zx|Ow``QN{e{~^p9nH2uN{L9L4{{M-8vJAhNn3?u5F#Oa1 zckjP4gFC|?rcmZwrX!4%{|)}BG8|%RV`61m!N9=y{r`@C(*H00w_?;_N@Y0vcmD6i zzf=D)GtXhRXOv>z#3=Lk`ybQ)41X1Vv;A{toWl6^f82i|hDydJhGl=({XNFu%OuJ$ z`~M35-~H?RZ`VK5e}}=l3U)E9_}}y^^85GSx0xIm5B#?N74%#7x597J|3?{Z z7=Hg<@y~}ToB6>%k>3eFvwp8-Jj<%c@(y%zCF5&`NB@lf6)O_0|67J*Oxu{3G4=nC`TOXfH4{JcHU_2tDU4H@6q#)P z-u<=ee>T$#hIjw!|IYg#!NSh6jA7y5tiJ;Pw*2d5n8AFOQS{%8f5(_~nYsUe{Wpc7 zkU{hRTt;mcZf2AJ{QrLZ{r$K1pWXjkjMrE+Se7!@GVJ|l&cM%jk>UTpXa;fSO^hr5 zKVw|RlFPXAZ|VPTCO*dGe~GR_3=1MSog;z5cWGU+&+{zhC{$WZ3af z`R|9{CVvzDE&H$hKkLt;Uq^o>|C!IQfhC(s@^90>J52u>{r|K7XJXj1JW-;n9gfUe7&-`D> zV9s#qpFM**^91I}OtFmD|DXE*_J7KMPlhXux=h-Pum0)&<7N_=@oeQ!?Yi z|E-Lhn2Z@_|LWqQuI{qOHT z2@J0pEdJ{MSWx!LakswEqT-0sk!iB{HmGnDRH}?_tJN7ER_e43_`v|GECV|F?}%m&KJK`cL5h zOs4byHU4ul*)yN{zwvM7|9l2k1{p>!=GDv#8Jqvj{=5FK*uT_&_ZWj&6PX|UYyLa! z@87@K|J4~bFjO-#F#P;C@&AW^8UOki1ep5&=ly2*t@(H5e=CM6h8RXQ#;yNF{+;+& z_wUS~TYo<@a52{ZyZm?7|4$4C47>g_{1^MD^?w7y)&KGgR~Y~NzxQYP-)4pY#uA1g zMg!*S%u)>HzjOXP{lD_R(*Go;Se6@%6aIht|CjL+lLce`f7O4!3?CT3G06OX`S;ns zHH@)81 z|6k3J_CNRELxyVRLgtx_pBa8KHZq?1C;jK}pJql?)-_Bb|K0yHGs-dYFfuVMVT@+b z__ycJ+Q0w)uK#Dt^nvO7KevCA83Y*X87?veGd%v6{QonaPvMIp%sM<9|Va|NWO|{KW8-@gCC-##)9+4E79V|Hb|v_@B-& zk+F)Yl@U~~-(=8ceE#Rs?}`5xGHqtC{VVdXfPtS;fKiEI?Y~F=Uj7sL_m|-zQwihg z|407m{a^Usm_d(0`+w5^4gdWA?EC%a|5D~6Mw@?3|DXJS^6%MyK1LtLTE_E?j~H?p z)-uL21u@S2C;Hd#zb&I2V}WoXG&XSKW;18?zcy z5rY$>3X>^g*nf}zR~QYM68^vZx1OPxaVujd(>n&a{|o-H{*(BBp7Ab&^*>RD2~0B? z-TpQHS^3xZ|GocL|7SDYVd(f@_qY3R^Zy1$L&kIe&-~xOu>F7Wzxn^4GYT?_gU(QA zkY{-C|M!2h|9Af_|8K}(&k)Zr>%a6r>wmrfIR7>LOZor#|E7QM|8D-b_CG(vjQ@K7 zd;e|!oAr-@A&=qF|C;~a{}22#{uli3-Tx~Lng1953u3Tk)c8N?-xWq#=06OF{(b!G z@c%qR5#tet%?u@sZ49^mUH@;&e3ZGG@$3I$h7SyF48IxXF{v`2XB1`p!O+gI_5Ztn zQUA9y9$}7PD*Pw;NAll^|4skr{J+MqkgDFfh~dhSUGU|2_Esh0&bB{a@679>%u}V*geDS246O znlmafy!yY3!Gv)ugDqnM(_6+&#t)3vOs^Rn|6lm`_x}TimH(|7W;4BF)?qsHzwRH~ z|NV^ROiLMb|G)m{_P>MSJHt$ds|@!UjQ?->$I1};fB8Ruh6fDB46_*jFimB=@bAOF z7ysoLA{fgV5B|UY&;P$F!z#v0j6MuM{?7O_@82xOpNyat06Q5^Fi!Zt?yuZG=KtCZ zlFTBku1uo;H2(E4TxOW~Kj5F=Kjr_-3^j}uOyW!;j7$DU{JZ(L@QvNsm4`bkDY-dRO zzwAFBqYh*B|84&~{f_kA+cyQTG4Yf9ecV z7(gYUJj4J01q@#q<}ghCzvSQgfBXL>{hR#1oarg^ZN_!~eE(Mdefc-v>0p|-!e@4Z~A}b z|Jnan|4aH8`hP2fF%tvR35GBK-~Rv3pv!cKaozuQ|MdSWGt@9_Wmv%Yo3WH(&p*e1 zqW{?#jxpFXhA3S(ztsO1|5+J6{>%A)pCOGw@PEVq^9&sfxBqYX4>|{D`+vLt zJ^#Nl1T*en=wkTz-{t?h|8p5~8H)Zt`Tv38DZ{z{m;WjJmt&a3u$rNO!I9zbe=~+4 zMqwry#-0DJ{C)Rt-~YS+xBkEVUynh6k(;TSLGEAGKllF+{x<%#|6j$Rz_9H9&HvT^ zKmW7*U;AI^|Ji?g{vG~j_urbqoiT#p%s-9)?u-kVx|sx+lo?n3@A~)rU&;T+|HT;O z7~21L{X6(ioZ&yiHHNbc(->G7bpG%EC;PwQ|APOW|2_Wm{TKhg{{QCx&;H&0|A=uu zqsf1N(B9(zpa1*)Z~njMKl}gv|6KknGd%fU_mA=4?0;7O85s63G%!2^@26ezf5rd2 zehan5R9{MT+BV#0k1A`6YJjQ57 zZALT3EJkTYR))?0V;O`Qmi}MIaD?I5f9L-P{<||6Ff946`@i`At^b@1Xa86HpYZ?N z{}2W%hT8ud{$2d%^*`nR|Nq+=yctgZ=Vz2+;%D?@_|G7~==opiU(@do-@QVEcw6p z|0#yc4C4Pmwa7(A6Q+0ni~rgGzwrOczvzGR|11Aj{_kNp$2gnu_y6X9AO6KLG&7w4 zzv2JQ|NH;1`2X?0Im531{^0XzfB*aYPl(|h!~Op+{%!xifkB7i!v9K!P6pZkZU0&s zelUV|_UvY8V_^Q@`)}U=R)#=^|NnIu-v6KRfBXLchN}!~8Mgl4^6&7!KmXq{s4BW|9>*Wpa0Gb+Ki11kNyS!Z)d3cZ}ji-KMRK2409OF7^eMS^l$0Ei~l-8CU7~2_+{}*N`Wk_Mz!?2cN>i_Bg z6#jcMq%!z2Ok!+dl4j)pANp_ezcv3KFeox|GkpFR@lW^PtABU@moT(3Z2JH0U&sGc zhAajKhU@>08NwNE{qOq^O408bmNGp3Z@`ev@bUlt|2O_0{r~oVDFZXZ)qgMlRsL6F zaA7>hc%Naye~od0kBt^arYANPO1 z|F8dVVmQs9%HZ_B>R;5qGyhorEC2uTznNjf|Hc1q{G0aw;s5Rb#s9DQXZgR6A&!xa zv4r9Cf8GBq{}2ApXL!rd&)ClRk|Cer;(zo1o&S>W@u|DWQU9O+-@>q&Ve)_J|9Adh`@iy^@xMR+PW*rMAGFtb?f<3!JO1DOSNc!( ze;~sahAajahPmMNaeY2GA;8ONN;Y z2N^;c6d9g_R!=bqGnz4o{{Q*!+J8pI5XKt}b_^%}J29j%Fftf01TwHO-1yJMz{zmq zzcYgx<9mk8|6l&8FtjkN`~T>FCqpE|r~g;~Z}=boKjr`Q|Ns7TFl_(d_1}a+hw&f7 zng3k>P5z(yKZD^N!##$(44WAKgZCh9`Om;0$}s)^(*L^{+!$*a+Ws&7|LXs>|C|gW z3?KgA`oH-9+5f!^Um0>3>i&!WH~pXS|KfjZhV2aJ7>pQ}{7?8F@PEnw9tLT~P6p79 zr)&mK#vP1uj9dSk{Lf%$V~l6q%aFtH{lD@5|No}{&tza_lwqu3`2PRE{~!N9Fid4U z%i#O}>py)4PsW!F!3-xETo^YogfpCB;9~@>X!l^SW7x|O&XD>)_J0P0E29LXKf}iV zcK;9j>-zWa-@X6S87?p^WVrjE^*^XSQe$jk;9!tv$oZf1FXP|0e?k8X{;&OS$u|M&m*XV}1SjA1Qcu38~;}@Br)1Eu3^YyP-H0l&-TCazcB+V zXno7S!~b_MY+_($0PR)l`XBnAhv6VY2*c(7jSQxY+Zg`*FZ@6Ce;dO!hB*vV7|a+7 z{_FqW@xPd1K0`OdBL+*xPYkmdQW*Fc_!yQks52@tzGYa;P{UBou#;gMgDJzS{}2BQ zG0bLo%Mi}+`hOL}4Tk9qMGQL`xEa+Ln;EA5H~nAnf8GCm|05X=GVn0?{^w-4$?)j^ ztbYRkAN{}Z|J477|1JK9|2zB7fZ-&ACPVdq@Bg*`fBX+)U}lK;uk%0Vf8GCU|H~OR zGq^D9_`mS~=l{G6`~LU;U-rNL|F3^v|MmX={QviVeTG~H9fnQ+tNw@nSN?DRf9e0v z|L^{<{~!22;D5^h)c+#?<^O~B=Vtu}ox5lGzvMsH|Ns9w{~v>{-cw>Y_n+ne&wo?? z7cg)!u3~ueKl;DKf7Aab|CchHV8~^t{crmJ?0-#$|NlS#mt^o~2xJgr`14<$A%&rY zA%G#90kmV~Bf}ep=M1YDe*Ite-)t5ey9s zRSd=qptaL(3^EM+|MM|iWiV#E%n;1*|NqAS75^{(_hqnVNM=xH%wX(f$okLzzx%%v zLnDJXgDitJLoveyh8~9X3<`{5j3EsB{{Q)3%TU8mz%YR!lHvIO?f+vKE;FPueE1*B zaF9WRA@l#K|K}Ox82cF57~~ixGq^HT|L^%90*=p220w;t|BL<~{=bPqk};3L=l{un z`TuJeKrPDl|6c!D7)lwG8GigXWzb_-@?Y%#n}7cQSr`f!mN2w39R6?gKjr_`|8fir z3={uP`v33$zyJCF`TiIDH)C*Qxc2|be-?%V|5N^d`rpV9$H30;;J*fg2E*q6bN^c~ z>}M!r*z!O5f98Mh|7ZViV%WzZ#<2eX>Hkp-j~F&H{P~~zzwrNw|L6ZV{!jfM_TT^i zjQHo9;O&MYsKKy_9-;SZ1p_oCC;nsf{hH?fch8zFy z|F>X>WcdHT;lI`Yp8pvP`iw!0pmJ}@e+`BZ20@0`|AiT>8B`dQ7;+ePF)U#)VYu*L zkYPSU8-pZ+HbWXiCBs^V8;XT7$hNTR@8TuK+8KW7d{_pw!!e-j2FhPeNS{(bsa`#b?*E_vi!${6cLMK?)%@=QK9~5-zlZ;#{?GaE_y5H|{{Q{|5C5O`KlZ=u z|7-uQ{WJML>HpmSW&eHud;jGTfVUS@^WdO~& zMKVleILmO3VFg1CLmfj0LmGo6gCRp2!(4{L4DT48FjO$8GUzizGVEsXXDnpoVLZ>U zl_8nInqdWl2qQP+5e7$wNB{L0t})0n-es7~(8|!tkjmi9kk9a!L630?gAjuWLjgl2 z!v+QwMt#N;3{4D~4519R3GyHGDki)S5zuo`9|4RRt z|J(kr^1nO-H^YqoasSQ!-}|@wpTYl+|AiR>{`>vg`}f!13IG266ZwDYpZdQ^fBXI# z{`>Xs-#?>&r~VrJoAj^xU--Yd|33cP^Uw01;6ML=v;QssH}T(!f2aTL`?vhx=6~D& z&Hp#^-<^M^|F!<_{1@{t;opgW(f^nI@A+^0U*x~Q|HuFC{ImJr^S}DP{r|ZCJO5w* zfBQcRgA;=+L-l{9|11AjGcYrzFcvZXWhi7YX7FLS!Z3sJ9iuu^7}FW1dCZ+GZmbtr z4cThhuCRHsZ)fM{DCXG0F`L7JV=ntgwzX`w>?|A!98)-Ua>R3-Wk1Uv&9RSTCWk0T zGy5mDST;#ESGFp)IyOtTL##2Z-&v-!%x1a7a*$;`%Pp4kEHNzKnSU~?u`se6XFkjP zocS&D4(2#!8|KN(r$|i(mP_ zR{#3@tNYihpS-{7ei{A}|H<^D`}@A{d_P!!-249Ld(e-u zjlP?GZ~VUUd*t^W-*mtI|H}96@YiQwY`*w^+4Y6zE6dkYUmkr4`?}z3=huX<`CpsA zc79#|_2SnnUypp<^>ydhZC}rP)%tesTk-eT-wl5F{)qcg@?*yj%byQ^y8n{>_5P>X zuam!~{$3%$%e^?X*W|e^H%1)%*&X&n3pg=W)@;eV%fv; zp2d*0hII|=Q`P{s4Q$)lir6&RY}oFyooAoSv5zB{;|qH!yE*$d_Qf2moF_TXbHsAK z<#ghT;qu~Q;@Z#og>x6zQf^ru1s+)*E1p!IQl12!K%NYqWjqgfKJh%}ImftZ_Y3Y?p2a+EJc&HAJgwYsxo&gGaw~A};IikE z;8N$3;^O5J<$A+e%z2rkjbkInHI7~mR*oKaA@*)ICbnKyan>@Hcg)9_S2J5M=P^xU ze8^D8kiuZcaN)o8|6TuF|1JOf`cKuL+&|TS%>I=BKKtv;FX7*}f9d^7__^(e<&TZu z|9w;YmiP7L7yB=9pM^dj|Gedk!dJtu(q9*SdHZ?R=dGWwexC9XGl|1Z8@pMDnp`t$3?ui#&fzux~k_uKN1#vhMAU;mWzm|Ve|9Agi%+Shsit#YxbH*2pix@2!O&C8ho?}vB4q%?k zyq>w1c_XtiOCXCPixtaS7B|)xtQl<8Y*uWAY;x???BVP&>`Wa0INCV3aWZn{a=qvB z=RU&K!+DG20LNsGi5%XXnOs@i|F~IrW^rqCvvKoq8*|5Tb91|Kt>v80$;{=-rOx%3 zvzhZ7M=!@tj$}?puCrVVxL$E8aZcqh0~JgnE49homN zZ((`QQo*u`nVI=JlNs|$rUi`l;C-+M8A=#p8L}A8F!(YyGJ=i(!yk*k zet%{Diu`^4C-%?B-yeQ!|MB|c^=HwaBY*V%?EU@m_wV2FzqkAf|Hby}(9h35gMJnM z3jg)#r`^x`AC5nc{8;fb`qz|SyuVKTSoq!I``+){eti8Q_k-tq{J#7@%!;_9p9FGQ}}-IyX}wf z-}S#Q|Mu>i-w)1Tr+yXxy85&9XYo(BU&ns``;-5-P{xBqDjzZniNCNfQDif4Mm*u$vKc#`2RgD>MV#!99&ObeO*F|B1bWjV}pmE||H zHnRuw4Q5xCi7dxiBw71enb=C%rm#t{tz}hW`^gr>?#rIY?#F(IEuM{$Z7=H~Gm#uq|dg&&tWVgk>hnSr$=NdsY?J?<`iV zyIFU#eq#B>9Lns*yq#H)oe#{q{IGCas zgBdq7GBWuv1v8Z}GBPOqcm5CBwVM3@!9SUQ$N#GS>-^XA@65j`|JVHw_*eYL>bLpt zvOn+s`u@B0H|MX>-y?r){xJSo`a9>>y&sA{9Delwxb(yL=b4|PzZ8DfeDD7j`)&ER z-QQpS$oRSH=hB~2KM(z2`N{V)<43~x!f$-vK7PIO_4C)(Z!zDUf9(IU{l}IcoIf3Z z-uZF%$MK)1e!cj0>er)R>wkUuS@v_oPo`grzhZx_|26TK!mn>XoqsX?PWiLuZ^d7? zKQDe4{?Yow_`CgA%I`UUZ2v0!-S=ntp9Oz<|6KS}_;>%`?|*mxoB99g|K;EhNtr@2NfAH_dzyJR@|113W`+w^H4+agU`AjF6ESVoO=don7>}FPFW@7%x zw3;c1$&Kk4(-h`V7BAya*w5oHI~(brHpwGb2rOvmME4==Fd!N%*$AQus&f6WoKjm z#`=h*k!1->Js^*( zEGaA#m?trvXI#vWmwE`^8f9B7ye27 zfBvueU)R4||IYj?{P*DRnLi(XyZ+($Yw*|n@3y~R{(ArQ`}6F#>z}uOqW(7h-Tn93 z-}Qe*{@(jj|5xJQ)xY_FGybyw&Hj_{=kcFwf6o4{`E~T?&Yur|`u-CA9s9fXSI5sO zKka{A`StBr*RQZ&PQMra5&ql$=fm$izm5N_|HJV2?Vlxo`~NQWj5^1I#y=ZZke$Y+&|bUCye>dW$8WC5Bmr zX#!(C;{?Y2jNcjmG2UQY&3K5>gy}4kFS8kQ2$LpbEQ2J21VaeJJBB(&cg8k`e1=#? zeI`|=<%~>>ZVXZX8UJniv;5Dxzq9{2{r~xYJA)wO6$W_*#s9khX8z6koAY<_-#34? z{ssQq{_pj_-hV9r&i&p0_v~MXf5-m)`1kbR`+vOuUBLG=$o=2(@7O=F{}%sE{u_hm zUvmEO{JZ@3&|lEm!2y5s|33R$@$bOD)BhI#Q~NjJZ!);N-Sl_UU**5Cf29B9{rUB$ z^zWj-?tgp!{QIr@=f)qCzlZ*4{&D=X=FjavXa1b}bL`LjKhyra{uA|g|4RQE|MUMp_3z3^#Ktp0iaJMeGIe>H}a|Goad{TKGn>2K1XxId@<{QAT5 zSNZRUKQsQE`g86t|Nr9ui~sfh75nS-_vGK;e{26q|4;bO`M>I)&cBO)o&Wy+ll(XS zU)6sThWGy&{#X5*_3!Mzo&V1M^Zmc<|Jwgw{x>r0We8&E{D1mi{l88Bp8dP~Z{@$j ze^&nl{=N8n^RL*y?f>TepTOY3sLyD^Q1O4y|2&2^hI{`x|2zIW^!L%<=l`4;{xMu* zC}7BDh-0|@fAat5|7{rj7~~jM{ZIP8^gj!O9>aEq;_ z#sbC@415eL|Nr`blwlX+JSGQbGv->RkBq+<8JIvf-OOcbW8TPY#Jq=TJJTknRHpxo z2N@qRCNO82=Ui)%ff7_x&G%KU;s7{bBf*^#9NQlmC_f*ZyPqcm6N$zf=EO|1bO>_}~A3 z$p3@?xc)u)Yxd9UALqYoe~{%KKW?awc$W+Os&9oML9`FsOM&>2V<;)(;s?2YgnwkDFHh{-Y z_A$(0C}DWU@Pcs%(@UnwOk7Mi7^Rq^n7o<9n1q-LnE040m}{5|m?tt%U^ZvI$@G}% zAJbwcbtWsO=S=&Ul~~>|uV>!He4P0xvkCJCMsRlsZ~ec8|5q}IGIBFoG45s5Wol#E z#gxlb<oo;s3P%5)26pE(|OTTmA?C7yd8*-{HT_e~#D97J^8YRUC-lGX|JMHw|MUKB`s@0a_3!;Z z3V$#Eb^FKqukEkq-`{_P|C;=j{j2mh;&1ui;=dh#&-{J!x90EJKhyrK`7`a$#6OyU z?f$L&$NW$A@996c|1kcQ`D^hv|L=ys_x}p~OZ~U*-?o39|MLHp{agFb;{W6S`V5Ev z^ZnoYZ`Qxoe@p)z`&any#ox_;xBq?jx8vX0f1&?4|7HI(`~UpEI>WR7ssF$Jd+;yv zKPN*w!wH7R49yH%{+s`w`oE6hFT)~+$Ny9Rr~Y61|J46i{}UJ(866oPFi0_E{a5@S z`2WiP5QaSrpp(=7F_bgzVO$IfJ%%>$nM9z|!_*ji7}qf-GIBC1GtOn?WeQSkKUc#q*MLnPw@#vDd- zMmxrM#(KuRjBZS4nE06anfEZsFr_haF@`Z7WcGc17|Ctzm z{tx|s{olENcmMH&&URtwV9aH-Vwmu6=Ue^USU{4M!g@%R4U z^nVNfo%t93|K5Lgh7g7W4D}2X{$KgG^WXA+hX3~cJ@8lm-{yaJ|1J3E_wU!=J%5k> z)%y4O-}5Fd-{il=|E2#07$O+@ z8ICd>VCZJp!%)M>#q^$W6XQX~6O5INR~V!i9{jgqSkG{s;V8p)hC>WD7+4sc8SNQg zGb~`3!Z4o!v?e)+;Tl6a<2=R|#vn#rMn}e#jDHw+GM-^r|DWT(;Qy}w+ze$5?-<$` zpEAy3e8o`7;LgC$z{gO)aF}5a!!m{s40Vh*8P73pW_-w~#Po|Xf^h+ZH^T~sBF0CI z{fz4vcK+A=ulj$&e+`Dk46hl)7!4U!8MiTrGA#Yy_5arY1cn_9=NOJMv@^W_AM#(} zzu|xL|62bY{^$O0{6F#kw*T+`>oOEGOk~Jm2w(_gP-ocv-}S%X|FHjT47Ci}48{My z{X6jQ*gt{)0spQ4fBU!LU)jIPf6xAP{+DLRXUJd>V3_@1!;s2EX zGyk(P$T3{_-}S%ff53n9|Jnbq{1;}p_dnr3^M8*2zW-bPZ}~6Ckj9Y2puxb+AjI(L z|J?t1|C|07{#X6a^FRFmuK!{Tg$%nG4l-CURR7odFY*7$zu*5h{?BDt!7zcLn_&{e z6o#`5j*NAT_Kcqyo-;gQIKnWEA%?+}A(7!2g9>8^V+>;@<95dPj9g6YOlKMW7#}da zV9;PRXZ*v^#}LV|k->^Fm(i2)7sEsbX9gFB=?pB4p^P1j(-~tJZ!&~4*fX>-Ok>bu z*#7_Ie+PyI49gkv88{eL{a^C`&3|!*`~MsMC;XrE|J?su|M&gh{{Pnhm;X2X5BM+s z-}Zm^|BnCO|D*qJ|Ns5JG($8)F@plb_5W%NyBJU0K9iX*| z|6Tvv{ZIYh^Z(R;P6lQ0i9Wagul)bve-c9|!}0%t|K0yrfzN9!{-64P<$qa*6b5Ss z(5Xx+3@`t``LE9q$Y8|q@&B6t`TtG-fBX00U-JJ)|G)fS`QP(D?|`(O9J%l~BX9L@Fr z*Z(Ur++?U{>|#`8T*TnQz{YUy|9Q}AMg~QO_5V};=li-%4 zzyCL8uw)Qr*z@1#KkI+F|1IG2UZ($_{r}N_Q-*Sed`rzxaQJ|BL@yGXyZ4{~z_g^#ASuDhv(`+6-_1 zpZb5{|E2$L{@XM3GJsAI&SZG^zX5zU66iFsng5smfBfH>VIo5#g9gLf|GW$t44n)r z3^V_y{-67wpP_)En!%QVm4SspgTaF#iJ^mGHNz@~84T?VaSSXBOaIUR|Nnn8!xsj3 z#zw|$##;==41fOHF)U{|z!1%F_x}#?$#9_z;S8n>zyCk{&&0sZuCpgk!JtNu&O%dGMF*^`2Y6* zjsM&KANbG6;K7j1PzAo1!k$5g!H7YZ;rstp|7ZMv_TPcQm|^vQuK&CL?fiH5pZfpq z|Cj&Y`@iM?od0+J`!IAeOkl`o5M)^TKl;D@|B(O1|8xI4|2O#W@jvr_{r}1T7yO_3 zzwLkh|1xmtcj&(iLjZ#xgC&CnLjVJ4g_=FXrvHBbo&IP4pY?y`|MvfJ|EvE${qMz4 z$1s7Rib0j(*#8OtlmGkvFZn;?f6jmY|C_Gh~Xf^ zIfgw9^B9U4EEzNz+!=xy>=^7BA{as#>=+Umb~F57xXqBq@caM9|FiyY`2Xp@8iOdq zgZ~%*|M~C6Fo)qW!(WCQ4E+rL3X*iWzbl zQo(0Hf^L(z`CpCUD1#ZJKI3hMP6l5FCGbgeAq>_GPyTm+=klNa2c2km>i?1dUH>)z z|Ndw9|HywW1~Z0V|Ihw^`2Xww^Z$GQNB;NvAOFAo{{iS}Pc{tY3^5E63_t&~F{m=w zFgP%HF+?zgG59igGk{jIJ23o=KrPtL;jop&;Nh?|Ih!g|F8L9_P_7{t^Ys% zU;01ef5rbA@EWk0{~Q0O|4;ir{r}hhAq=$)o(#wT$NqQzpZ@Q>jN!&HV^h6xM{7&7Y1I2%l{YtulgVV-|@fRf5rd2|3&_% z{J-;GjX{rrli}+Bt^bexXJ@cw5NDYBpZ)))e@Ff~|G)QNlHtMsmj71&S^i)8clw{) z|2hAE{O4qN_W#iTQ~$sGmt>G+5M@we&}5Kh;AD95f7}1L;68;s0}J@*a)skJs2Vx`WWUjlrnfQ7&8bmeEKiQkO4kT_5}l|hqjYp z4Z{wG8w?j1y1=e$2cNHel;IY`6NYyTj~E&mZvKz{AO3&R|2_X7{?}lrWth#7&7jL5 z%)rm^|NrIxOaHh3&-m~B-}Zm*|AqgT{_p$W{J-$O&40fCvi}qQ&;Eb|6c$3|G)V6>YwC)-~WaGJN{4m z-~B)Jzr%mfy-9ihZ~ymTs9=a?P-OW1|H=P7{~P|t|1bW(`TyttS`6_Ft>6>zG8xzz zw)~&{f6f2n|DXP6Wng1?@PEz!;{WddE&jXxkNaQnzw!U<|A+s-{{R2~kN*$X|?*BonV|M-D@W1na{D0g3YX3F=NB-~mKjnYZ|F-{g|1bRC z`M>Y~{r_PM3mDoNj2O5W{1|RB#4#>ooX9B5n9A_*|LXty!M!m^&nFJtrZHqFW!TPe zo8c706ox1UBL;nNeb>e?kzpRgZiX8ScNjJ?ZVaFsnClrf zGVEvA22L~940;SE44Mq049X0#409RQGSo8YGyMAh`9C8AFM|k!5X0;LbN&bYcl%%V zfAjxq|L^=i4-Uzm|2O{IGL$pqGPp44G8i$KF(@#6`oHi0jQY z!`=S}|6lq4?mwtJoBMz9|C#@D!8f0K{-5;!<$n_fe+ChT&i|bM-~UtopY*@#fARm6 z|33dk{$KdF_uq$qI{$6|>;KpKZ}s2ff5`vj|8@VT|6lNb&i^_8=l`Gmf8zfN@ER!o z|F{2b|99@6?Ej4a9sei%U-Ez7|NZ~B|KIh0&;R}ZFa3Z0|K0x=|Ns6MV-RCtXJBUd z`~N1mwr~D_;Qy!p1`LG^eGJtM?hMQfH~!!K|MveUaCsrZAj+V~V8!6Tpu-@=AjP21 z5X?}*P{&Zp5X)fCV8r0VP|vW4VJ<^GLo7omLm9(-hE)s;7*;SGV|dQ+nc)mWBZE7* zeWSv_%kcL9z5m}ptGF4Q!0mZC1|0@3hBSt3h5!Z)20;dPhX4P+{{Q!1iUCw|Br+5+ zR4@cGa5FprpOE2t?24@COhG>R(1}6q-2GC9DpZ}i+-+c1?|L6Zt|L^(V^S|l;(*I}vU;lsS z|C|4u4B8Bi3>pld|KIul>i>uTpi`GW{WoI>1)p&!$)LyJ!Vt(1!w?5<5rE`xgZm}! z49X1m|L^;M>pusBIK#XDi~q;`_W<8X0=ipa_WzClcY?$J{r?aD_x+#vf71Us|7-rc z{g?d@x=Eh-zr=sv|Be6K|7ZP={Ga{5|Nr9u%m1(bzx6+8KL|5}K0_!&Izu>v62ry+ zjsN5Rw}4mQMlhr@L@?+xJp14I-{Aj`fB*iu{$Kk4#s7EUm1>>;r~IG&f5rc!|8M@k z@&ES!cmFvUWEg}QUi{zvf93xz|1bUj_Me@Bf#JvhcmE&%fB65^f6xiX=l|dN|L?y% zgE@l>gCm0$0}I3T|LgxR{eSkqAh>;2#xRj#I>S_kg$xH7E;8(7=wirXNMcA~h-UC% zaAyc*C}Eh-aGc>b!*PbW4BZU#81^w-VYtC?mEkhO8HSY%xeUe(VhmCYx(wzF)(k!j z#SF6?xHA|t$T5gBNHgeyTM9i4lNcHpau^C2@)?2|j2JW-v=|H-92ndf ztQmB`wLuI+55pXWA_g-CK?Wv;s2NagX%?4 z+pmDZmErIIqyKmPKllI5|Ihy)g4@+!{xdN!GyMMl{XZ9j7K1Z`FM}6@DFYwFi~pcg zI8XgQ`Tx-Wt^Zg22c6-2{{JQLJp@z#H~+8s-}Zm{|7HJo{J--5=YLS$@cjRt{~P}w z`G5NVk^hJPANarV|C0X;|1bQ%^8dE~JN~cwzvBPC|BwFv{r~s>z5m<(ul|4N|DFH$ z!0~hO|BnCj{?Gcq;{SpFxBtKSfB*mL|B3(g|6Beq`+xX9sMoOZfBFB6|84)5{a^ln z^8ac7cmD^qKX?D{|6lb#{lCwDhyR}cP5$%!fA{b5zs>&^{hRx5)xSgk&ip(6Z|A@5 z|BnBA`j7cP|Nn3QuK&CI@8!S$|911B z^s>~k#IuC5B(TJ?7_u<2d}aR6EY9M{lFX9G;>se$@{jokGb0NJ%O~c2%w^05%s-ee zGVNyC$h4Me1=B31N~S<2H>L!p3Z^oq45oM{e;3otU;cm6|C#@r{`>uB{lD+uw112LJ^W|= zf9n4;{}24n`Tyo$$v@?PfBt^{`~R=hKfQlC|3v@2|9kH5n!nk91^=G^v*pjuKbQWz z`E&hG>mRW{JAb$SF8ZDQJMy=~Z|&b=zd!#v@N43)x?hFAf_~}!692{fi}lx^pWlAo z|2gfa%Fh!&7XDcBWA~41KkoiG`{Tk7#-F}FJAW?ux&7zGpKpGC_<8B)vY#`5ZuxoP z=iQ&Le+v8x{wn+>{qgtn-)DXw`F-m*(;xLe?tfDLH2vB7hwE?N-#veC z{=NJ6^pvqyFhdu^bcP;=UWOSAGZ^MF>}I&i zaD-t2!y1Nv3}uY>7$uk#nAn*_9yII9QWBP*=5+juyM0{v)8gW zv1hW!uqUyHv1_vbW&6PPosFGcmEDIui9Lednw^*Z1X~^(KigT>^{lg5+gamSC0H-8 z^sv~od}KbwyqkFq^L*yn%stG(%#6%uneH($Gyi7V&6L2zz%+$Xk?{mW8~85N`2TTc z{|Wpv@6X0Rlm1lxneyk_AMU?ue;xkj{@wBS>)$7T*Z*Dp_u5~Uf9C%x{_Xwu_8;ee z)&Jh${WX^V9sXDTKMfv*>|13ndF!=nD;U> zu_&`>vZ%6{v(&SEW~pc8WQ%0;VEf9tigi8fXI25W7pyy2m#{8pJ<7_$7RolCZ9m&a zwn8>;w(YD7Sr@a;W$k7yVJ%{9V{K&(Vl`lmW}V8~&T7i~oMjhFD@!0t8OvXm2G(t? zOId4Jy;%iWkFiv;#IV$|Y+~8PGM{Az%Mz9r79EzW%uAVjnWLCLGtFjdW17m8#q^zV zCSx9B5ThBRHDfqq0;3%x6XRuueGGdTPBYwMIKi-*VID(2g9pQ<|1JNU|9AY)_#gH^ z?tk=u+yBD<|NQ&^Pw>Cmf4%=A|Ih!c_~-tw^xubnuK#uZzx#LZ-_w7u{(brP|KI0- z>;9SkyZraeUx|P5{{sI#{2Tt4=*B^w?B{nJofX$ zPuX88zchZ?{BruG|I6lA&acK_J-;sevi;rpd;0If-?qPXe~0{D`1{3gzCZkb{{DXZ zo9$2FpH+Vz|M~Fe!=HbDFV8c}&$z zo0z^aSu)2n$1?jcdojl{moZOgzRE1gBFVCkIh{F?c@Z-MOB%}omTxQ!tWQ}svE;JI zvb<$}#r&6;WZJ~U&z!{E%iPTz#Qcn@hpB|A zn`s5pVW!JW$C#Ed)iOCSJ!72CSjkw<7|tlo_>JKY!#{=_3>O(V8BG`^880(bGgvX0 zGx##ZGGs7>Ge|J(`k(k;^}o=6+5as67yL8&C-cwjpX|SFe|`RP{eAT3+MmyV$; z4gBlySMKl6KTrQ0`cw8t@z0;%pMD?tUHaScx5V!ozgGM@@=N-6_V3=`wZCJ3d;Zq> z{pr_%Usrx<{jU4H{P*_X+kY?rJ?(eX@4VlwzgPX<`TP9uzrW@F82(BAGw;v2KVSa* z`E%>fp+B$w*!->e+wwQ_ul?V@f3E$J{JZoo_dnHtI{(!Ez5Lt$*Wxe#U$(#Ie>?u} z{(JcEzQ23^Uir)M&+}j3zpMWk{)_xq`)~H&@xRS~t^cC`rT@qMKm1>oA(a8N^TL|J zgdve(3j;r+7o#Vm0^@%M8OAn71}0yoSSDX4Qzj0k%ivWql1!OQ^O(*sF)~Xszh|1p zZUOt+Yrn1z`CGu>i(&ZNs6 z#LUi|!gLF~y6F<*cE-hwD;ak&Zf9K0xR9}e(S%WgQG?Nv(TOpVF@@2Mk(2Qj!!d?U z3>^%?3?>YA3>geF8IChtV%W@3#^B80%n;8I%D~D{^Z(Vqs()VpivFGX_wV1^e|!EF z{xkTe_0RWT;lGA|W&g7O<^L=Cm-R36U+urS|MvYm^KbjVs((`d&i=jhSLR>ZzvO>v z|Nj2v`{(d);=dFB*8i*e*8sky=ik4V|Cawt`xp7I=HH=zAOF4ix94B%zsr9u{~rCb z=Fgu$aev$YX8*PN%lY@opTB<`|3?1R{`=$4n?KBdUH(q`d-X5#KY@Sh|C0XI{B!vC z2Y;J>1O zQ~oXbH}7BXzt(?K|E>848k4E~H|O8Ye?R{H|Ht;9=l}D6GycW?OaC|P-;IAJ;Igga z|K9(u42u{xFsujn)>y&!t*|m)VK~ZgpFxDtlQD@gn9+<;nNgQfh4BHy4u+o$<&3Ww zotZM3l9-a2DwsN$rZX*K>Sl6d`og%EaUtV+#*d5|Oj1nDOpZ)jm{^$wm^qjwm|dAC zFdt#=XTHkxhp~k*gRzjYiLsw?KI47H0H(=I9ZYFV{!FS&%uLcuSxg6*q?o&yuQK0a zKF++JIf?lJQ!$ef(_hAWjL#XrF`i`1VpL`nX4GYjW~^f@XUt@5W8A~If>DieAww&} z1BPHp3DlmD0fFaGcJpYQ*Ve@y>n|9kw;```P2-v4>vcK_r5Lf{#RkpF`JW&h`b zM}UO>cm50eH{svie_#JS|99%&=6?(R_5Z8>H}T(&e;fXF{pG@Gs&Y)4v0MFaMSQr}6K`-`RiX z{$2g|?ca`nYX6)6&-mZ^zxsd2|2hA6{lD`6@c+sGqy9_$zx!{+zs7&F{=NU_^uOZ& zvHzyvT|%u4TN&;%oMhO=@Q~p@!yATO3=!wh#BJ}{^< zdNV3AZe(y`5NA+fFl7j3*v(+Vn8ujQ7|xi@xQOvO<1@y4jOQ4qGnz1dVNhq>#~8{~ z&lJEU&&161itz^H14a#|DyCGX*NhVx=QCbl+{Wn1_?qDvgEnIa<1NNNjN2GF866n5 z{-5^$-v1m1F2-)gGmJ+W=P7yL zi}4IYFL=!5)&E`pTmF0gXZnBk-?4vR{`vf$|9|!WzW=rV%l{|+H~jzc-@$)t{!RZ^ z|F7v^|G)Bo0srj&8UK^|C;zYD-?x8`|26-M{15$q`oAuNFM|L>*MGVHU;e%L_vGK_ zf9(H1|J(a-+P@9|Ui_2(54ve-<^S6MA^)@ful@h<|NZ~x{y+H7$)Lud$iTz!;s1sI z8~#uJzx4lu|DXPE|DW^U9(*_8=l`nUn@m6dKlp#r|D^xY|L^{L`!C`DbB# z4TB}ajsG?OQ~uBY|MI^mgD3+d!<+vn{_p+&_kT1)2SY8m2VKdqg5f>`3*%dcEesnO zE;HO@c)=jXsLsgDc!Oa-!&!#!3?CRaGR$Lmz~IQ3#u&pG$r#S4%y^685`!RPBx4I> zCu0$#3nMGzQHIG3Z4C1mZZMcImM|tV>NB!3K4o~rpuiZzIF)e&V;iFy<0XdG3_BUV zGT1R@F=jJnGqy9%VoYabU|hmb%}~$K&QQo{tN%-`7irlz~yB$p2m7 z9fT(TRsIM3pYngf|FZv$|8M@6VBlbQ_W$PpWB+^qTmAp}@8>_||JwhB{`3FW{qOZZ z`hV*Gr2qc^J^n}iFZkaCzA3ZefA0Ux|2h9#{%`&Nqi~oQ954zihgW7B8G{-BGPE&(cGP+^^fH`bc*k&^p`XEr!3=zZ5NN#h{r{8yFaGCX zaA(M1$Yw}laANrVf6f2i{}cXq|DXJS&;PsskNltff6D)T|9Ah-{?GdV{J%T@nE!MA z|M~ChKbHSe|1JJU{ZIZM_}}Wk%m3j2djCKEJN0kTzv6$D|IYn0|DWp_@aI1VgDit7LjZ$6g9(Ey124n(|DXQzFvu`4Fx>us0(=A5iT}U;^D(e9Ffm9o z7&DkNI5MO#R5Bzom@&vP$S~+LWH78}xXbX3L6p&y(U6gq@d3jvhFc6*87?p!Vwk~@ z$l%6c%izoq#9+a|z`(>1z_5_vHG>YL5#u|Cc?=U6&NB!y@-V(&xX*Bp;X1=>1{p?e zMh3<`3^@z}3=jV^Gx#yIGPE&dF{Cl{F|1=)!7ztmE<-OvEQ29~9)l-C0(cbBhXHg3 z+e`)rh86#f{>%M$`JexP;{P50zyEh(=w;Z(u$-ZQL5t!3|3&|6|5yB9@SlmHmEkVK z3x+EU_ZU7h9B0U5aAnA3n8C1;VKPGmgCN6)|BT>K=~RHj2Uzp_|FiwK`k(#3_ zcln?9e-U^^#-aZ^|L^#}`Tw5(&;M&OcrgewZ2jN*zwv*={|WyO{r~d+&;R@XPyfI4 z|IYt&;Jcr$|NsA=o8j&MjsIK!xBQ>}f5rc${~P{C|Ihfp`2VZ_5)51nyZ`5cSAO*V z@A_Z;G5%pY#9T|1bYn{|BwMiu&L3fBApV zZskw^?}1a(+W&k1U;Kan|BL^O4D1Z|{;&PN?*Fa-LJYACI~Z;AB5!GR%~ zA)3LH!G^(uA(|nS!HL0v!IL2Xe8W>9gEGUH|F8c4{jUff4W7s_hoPP!jKP~Bn_(`) zQHGBUGK@-$zZvc@oMu?aP{vTi(8sWq;Tppy1`bA9Mm0uR#@`GF7|I!}8MGM!8M+we zfY}BNQ4GBd8yL2BlyJ^y!r>yD`Z5&r}K`~462@Ap6Af8GBT z;9Hd){xkl+^zY=qXaAVNcXoRGuL0i%4Vo!3|8M@^NI@C;eXsUQKiT|MUO63?U3%47m)#3}^nY`M>1cufA0T{|4;u*Fhnp+XI#lNpV^nClVuKz z600)X9=0krezqhw1NPhO4IG)AQ@N74o458FTd4l{xYlS?7?+TZR@QN-M^$}wb zUnKrq{FwMM@w4KR5(yI1CH70amC%!{kenyENOG?vn^d0E7paNTnleje-pNSGy2&=n z-j+>~)0BTNKT$zOah_toqNlT0EHEz>%w6{%&f$*1u~?X>DNm08Me z%8kljm1|V=Raw=}sb#A_RsW}+uAZPaP1RR5P_;$%t7?_n6*UF*YV~XC1{xh2b2MBv z`qU??g{!itoKoshWK-~#J0LSz`jpfXDQ9V48CTgivP^OXvP)#lWf*1Jq)$oxk&Kn( zm;5DhU7}m!kN9V?PEl161>spjWkMlBw*(IgIP&k{W#iH3+Ru^3(Z<2W@t)0t?HQ{d z>jIWH%reZTOdlCo|7-nq`(ydX?2p->u0PlRMEzO*d;0H1zrXxS`#JMF-?z{&`#%1E z7yS0go6%k1jsE`(VcXtb6`mROhUlYITbS31n`6Y{s9T#{moH@VoeCPSt^M2=<&ugChc;?XQkEbF|9XOeG za^*>dQ`V;rpS*J7=<#dE{vPE&YI)@7;WdZ54~HLCJpB96?L#Gp`VTHXAbH@@{=@s9 z?LWKUZGZPZ=6$R8YVX~;=j@)6y`uZ__D$c{w9kAW@4mZxMfa-jdAHkPkM*AJ-EVen z+10R%ZI{Q+@*Nkp@7n%k`|a(O+xfQhY?s}BYg_9!<88d#Vz!BGf4zOq4*s3dJ3Dty z-nnb1{jP7jDtGVQeR=oP-JH9dcSY=)zDr~GzujN=@a(hOZ+2k*fx`!!4qiT}d#L-6 zz~TDC8HYC?`gd^a!E*^J2S2)RdI^gWI^Up3wU3_q1&4oD^_FiDUSb9=NO zQgTJ|%96`Tm(wn{U0!|p?q!=RaaR+r$KKq3Yx!-@JJ;@Pxhs5s@dNEgIgg(_j(=SC zX#c}a5C1%Ld35Gc{*&*|Dqh@raqs1l*8*>tUNgSB`EvQIsyFlBaeS!%p!31uz14e} zkJmnHep~Tv?U%w&_Mdz|z5LYhRs83+pB&$he>(A@>2u5XQ$KJ0{P^SQSB_5`-#2{J z{tZxs=gm?FAM=)2HAp#pwg-aGso1SbnQh-?r_;9tyd#&5&5 zne8*DF2AmTo`5jlH|}7bX}oiJx%vA9xCK@Ta0x32{T1*KG8U>3(hz+r{#fj=aIp}J z*kZ{ZaV4=;qTfaSiuy`qNo7nGVKtu1{@`nudw#WW>f<#6Rv<&6q$ z3f3wiD%TY3)%S@7qR#>O>L-~$srgDJ7Be^|_4C=eo@2C_ieNnDaWL8+Nl&;mk2D^_|*MrOAris_JULl=D?wR7_N^sccufttzJ`rs1qsu56_KO?QHRt$wfGZ0&3f zCv|zXs~VfNV%3i+`zoa>eN;|Xv($L25uu)~qM+iS%B;eqa!svK>!MzlKDR-)UY*t* zbxRFHjcFQgYN4ttv?l2v(4VKnrSVur0gceLPcA}+447JR>@3M*djko=BKQo zlD=ZF%x9SZIU)Ib(nqD_lHhHA zBOw;y6T(G8{sK4o7xESIoaNyZI4&@iCzPw2+ki`k>l@E&fp&qdJn_7y{1bQ>xUXIlYJ3eIomAuOKex!z1iv+Ui=AWiDnmO z(q~F#VP>1ibcQjVc?sK3wh|_`e|5hP{d)U*0>e+nZl)Xm^ZwNTvtvHP=)j=(|N9@Y zKj#^iG5P*q_*eU{@ZY+>%l;bt?fK>R{nL+yfAW8Zeh>d${P+GZo?kkD-h7|=W#X43 z-;RB$|8nz(!H*+f1HNQ`J@`HE&mz!@h~IAC!@p1ebL>y?udjck8EhDo{=WU;^)u)9 zz2AHP#QpvM{yNJwzCZbX=Ew2BeShD7`~S)2TkcQAUz>mM{8;}p z`$zltx!;fdeER$M&!X=hKihwv{66{T<39?&7yOF+oBMa-pR9j+|Bn2+^XJE(2S29# z$oAH&}lf8GBx?+?>2wV&sHsr*#^ zw*1?s-&u?{OvnGO_}TLPt+>)-G9|M{7VnKu2?{@wX&_s{g7VZXNj zDgCqfcf=pZU)#UO{_y(6@Z0=%*3TQ?e}3oxe(Ov97oD%3pD%yT`ts-VqHo&2{(fKk zrQoadSCdckJ{Em*_#OUB@#mypMn6}7bNhP!%cZYVe`@{_{59jd=+Bg2TfcLDxBPYZ zciWHKU*COG`F`g!*XMQL&;9B7{pQQ^k51pV{Ji_^-w)M4vcC>~oA&MI_vPQ)zW@E+ z@cr4hjo+ldo%yEzbISo%Hr$Ifr7J}&>T@9Ugz zSH4t#e)IXzr)%$ayubFz`?J;ujSrF^wLVLI{Qs`|)2uIRKO23T@ae)w_K*8NE&gQi zA^+Wn_iNu9e{B4$^m*5Wb@n7}7q-M4M-Tk-I-@x5d;Tuq!=d*}-tT;0`yuvY)%$0!mcL%{&g#AA``_=4-$uP$^!nlZAMZcCoA^H9 z{mpm(-+y^;|IY2L-MjMl4DS`+-+jO5!;JT;@0Wg<@M+yg_YdLk?cQJh$oVzn+yBpM zpXI*%`F!ua>09*=qF*{cM}HLgT=-?}=ekdtpLxIKd{_7?{YB+V<`?-db3ecS%>C{0 zx00^`U*CN-{O0qu>YLclpkM2Lmi_w%3Y zem?nK^7r$f>%Y{0-S{=>@7urJzh3{y_|5XC@n`kVu-~kIuK%+6!}RCS&+cE5|5+In z|4#i=`0wcd(Ep8p+yA`zC(9Vc_=O>tA?4rZ-T%F=qTr__zC?H^XWMU4|_T zXBoFL-eweF3S#174rDT7GGIQ%vV_Hvsg%)_`2>>+13yy$TRQ6`#PMNYvx5Pr&+GCyk`B&s=|7RGQ~Oz)Xx*i+f(vtDI6 z%(97f4_hmM_c!>?xdUIo7k8 zu?DmCaQ1U%uy16W#wyRehh+o1C5Ht264om$sm$C=?-^rQgxOZJY-P$}-o{+byo=>8 z+Z2w^9Fw?;xVLf|bKGLLVhdqWWShc%f$a*L8Ji~SU6v}A6)azwotO()*0CA0E3$57 zNnx4Aw3P8K6DR8XED!X`N({f$&%>~^CdP{b^(@VriCm8Y&TfqnfJ5oWld&&#c0D~#JYj0 ziy@3jip79MfyITji*+iqEE6}&cNTS)nar_FYyL0zd*q)DqZ89!hROer{1;$c&FH`+ zz+%lR#bU+uhUp2j3v&qb2BuF8Z~o{0zxZ$G|GkVQjG$A*5B_)g7x-8858t1M|E@E9 z`k(iI8pC16*^G&d@k|L!NlfpVwlXO)IWoC1y<+(Ge-&djvjwv=({@H1#{d8F{&M^` zWmxks_3zZb^Zwrb^Xt#Ef0r0m{P+9&`|sL+ul~IMrS`}EpZ@=?|AhWl{nq{!^LxUd z`G0Kx*!=za&*)#{?}lF-zmtE>`*rZo(*K=|i40%=Jp6t8kI&!uzyJS&MyL4y#{Jg% zZTtKF@27v4{D1IQ>-W)Li+_Lph~GJXj{V#A&*SfwKS6(9{z>?k``_YU z$?xi4HNT90e*a$aGxN{SKUTlL{Z#$+@aM@Nkw2P$F8|5-L*s|jucSYse|vtL|Kk4r z{kP5U>A#QvRr??G@5>*KztjJ|{^Rj`=g*Bl7yWwhtKj$1KNtS^{Vw~x?~nN39e-B* zp7VRz@0q^~{xtl)_4C)y;NOdW@B01i*YRJI|9t(M_UGBJyT7LY6#BX4m&~8~-|fH7 z{aE;&`)Ap&H@~<1UH)gw&-*{Pet-WR@vHF1#qT-a?Y{l_8u8uk=aHZ5e?I+r_GiS; zydMEScz(_MJ@dEj?_Iybe!l(j;@98bKELPvdi#s(*S_!OKazfZ`t{@2```b6KmMim ztM%7~Uo(HE{rvWG@{e8Lt9~l}{`7Op_s;J}ewh7~`nm3x>Yo)qExt4VEcm7IllKS9 zPq$wmerEnS{hj5<$?q;dH~fC|JM`E5Uva-VfAjt_|7HK@^`A|@>VHo7we(lZFVWvV zzj}Tq{+jSh>(|6zdw=Esa{jIQC++vcpQ1nIf6n`L?YH@#%HOrW*8ke~%iy=gAG<%B ze=qp+^l#%|jX!sP_xxS(Z|a|rUj@HZ{_y{u{KxoD{h#l@C4R5{&H8ukU*&(+|62ZV z{$Bb!>(BY$)qhI=XE9j)v;OP+Z|C31zhD3Q|EJ}j^k1vrZNIz!{P}(7*Sz1~|Hl27 z{_pUw|8Lgc>c5?T+J3wJ$^3i#567Q#e`fui^mpB#m_MifF#S3EEB<%-UzUIQe+B-n z_?!GE`p=|4oB!+?|vWt^ZT#gzlgskf6D%N z|4sfE{r~v?Y=#s67yV24m;Rrb@hM{_;|qrK|Be4W`YZl_&HritKmV6z==gv0ul?Wt zf58kcjP8u4jF%Z|7(O%XVB}_6#rTpjhKZBuJp(gC4nrB^14eO1QHC4;z5a*)`}XhA z{~iB|{~rA7`tRF6(Ec5_f1&@5{6E9c%NWVDn5l;;o@qLx2*a^|3;)^tXJhbZ=w&El zjAwlOKj;6l|CJ0jOmCQ^8B6}3`oDl-F#|Khj{lzj>;LWe`|5Az|Be4Y{LA?t^grRB z=)dd##Qt~xTl)9z-^~Bn3|0(G4Eziq{=NHG#W0!Cn=y(Z;s5&okqlZ4DhxUd_y1S@ zZ~ou&|L*@hh64=l48Q(|GCpSd!1RUj0D~z56T_?j2N_zJSeg47Coq^Z`Y;wSeE2WI z;Lo7SaPR+v|LhEh{%`u<`+xiY1comRxr{c9@{Erd(;25SJYoFD6wKtqXuz1pSj~8g zaRHMkb05hjKW9eaOXIa3)!^*!FhypF_$LyZ>}b; zbglp{Ij(xH815wQ72MysBe{#XinzD)u<>wn=Ws{xbn)!wVc=!qz0ZAyQ~q;pu`OY@;W*3j zm*Y9dK@Lxj$Lv4Z`dRr{d)OQ}mUDb!|HxL!mdBRF_LePyqk_YQ{Vv-YHY>J?tSzh+ zY~R>dbFg!GvUjon;?U*{V&BV}%2v)knSC4kadtoUOKkVqKC=0+uVi1&uE>6ojhEe! zU4z|`J(}H=eIa`TM?Hrf#}vFm^>I3J{A8cZv4%sKLy%({2NP!~XA@^Er!c2A=U>iRu78|GoX0rSI1Y1E zaem>@=aAxfz|O|O&RNg7l4A+GKD#k{1N&C?ckKBbYdAi#H?mz}bzraMNaQHy5aK+< zS;)1GOM$D5Qoemj)@#19PJ#eoOv8J?4j(B*qu4fb1-tg;+V}5%VEvo z$?=vWk8>O61$9$O0ARJMI= znrxhG% z%ldzp!GzI(f&G8_zX|`|{QLf|`F|LL1%tx>gnzgH<^1RTAN()v-|~N1|78AU|J(fU z(O>qzAO8IPv+U2bKU@B^{jvOW>bK=@z26PL-~RIXrS!Y-kKms-zpni<{(bD1=C6WZ zcYb^Po%qM}x6p6*-`&4*e$M&1>X+m1>R-ISmi}Ve$M=P=x6h<*S}`}a{A@=OaIrKpO1c?`RV=h!H>|NpMSFbdi68# z*O_0AzxMsm`SI?D(a#e<-v40#DgPtm`~UBWKR5l<`FZ6>)sKQ7&wptBjQ=_R=c1qa zKh1yM{bBy&)At=eYJZyktoyO(`@wI^zlDC!|IYdS^Ec=3lfQ5MKKFav_t@`2-=)4k z`X>54?7P)>%kM?s-M*jvX7cUZ*ZObD-wnP8e%k^*2esv^?$^+-@4n`KEBaRbt>v5A zw~JpLzODPV@>}+|z590U+uLt~-w%9y|25)k^jCqed%lExJ@B>XYwy>!U;V#^ zeU1Mn{JrAaoUiF$TfUz8`r&KqSIe*IUq!wi`m*!uiEq~51i#+>vg2#aH?419zh-

aJ?{r_tCZN|62Z<$~Je~J9s^ELcy&esoLExx_`I_2xSuOGf%`KtTv$~T7Z z8sFD{H~yjiWA^tS-_pK4`}*Rm$+z5Zx4*f6|NSlP+xBlSzR&t0@q_<+^S9=28^7KE z#_?VG`|5A*-?n}e_&)oa*0K_3=3x247XZe2Zd&`e+KWct<{>=Na=eygF13$L? z`1!-+XUC7A@AtlSegFG?<@faOC%)hRzU#Z(k8eM^ezN?G{&DTcgr5_CX8kPtY5cSC zhxm`_KRkYh{WSXN@U!#h|DXGQPWZ9%`?K%Uf9(9R^2gmDEkE!6by+y2k{ zpXWb@|F-{i{~7-+`+N28lE2k|r~j?~YxQ@=Uz30H{u%$T_;2!G{J-aa<^P}lsrsC6 zg9*c824luRMqfrV#*GY041o;3i~>wA7?T(+8A}+Ym|B`yqYl$5rVgfl#z2PK z|7S6DF)n6|V2ot!Vw}#{&NzedFym3iU`AO+Eymjn)eIXMsu<5RDl-N$Ok?0-JjSqq z;UmKzhK~&1j1w7q7`+)kGfZY=VOC_`!+3(>1cMM`2jfRZ4kja}X-w5j;!J@|6PaEy zx-r%=ax;Z7=`pc0aWgqEO=Y^ow2o;O6DPA5^CPBdOtnlinOKG!WsYRFWuC{pkJ+2qj(HjL zIp%fDx0y>=wz3qk=&?w%1hYJ6(Pq8HlFic3@|Y!^rJ7lg*_-(j^Fo%{EW4QSB^%wrBp!^oc2q zxrmvc`8LyErkhN;OgT&snVgtSnP)SxF+F1}V)9`A%$&fo zo6O&slUPbwJXp+G;#nrL1hbrH-pb6wqQp|m{Fq6d`98Bfix|svW-aDG<{Ql4nJ+N! zXRc;uXMW9O!d$@Y%6x8EIKTSEE`$& zvaDt~#UjsI!Mct066+?`nXG$RpR(RyJ;?f&RgX=Qjfw3&>vUF6R%g}_*3+!(*lw^% zvURgovDUIqWaVM&V)JI3&l<;ip4FAjgzX{gV%93w7S<=Ml5Fc)Z?WuSIm3FBO`ctd zot^y%n;qK?RwuR(Y_r+svj(vKU|q#_mF*pyKKnm5JGS$zqHGCl)7jp!$*~_|V`V$Z zn!_f^uE5U59>Kn!{UCcV`&G7QYys?Q?9FUeY^iMVYg3$q`yGV>><^Gq+8(wKKLH#6%qvoVV?n=$J%KVfQPieRc|I>hvu zNs(EZc`MU*#x;z>OeIYDOo~h;jEfi)8B7`WFlaIQFivIs!gz);fl-R_07Dr=H^X%X zDMnXDJ4O@60>(*i2S?7>tCLKlK)Qq z4gKr*x9snpzkL6`{GIqW=Wp0wvA-OD1OAr%HUG=_SN^ZU-%Wos{`~)~|Htc({vX9Z zVt=^*y#2l9chB$G-@3mUezW{`{ayRJ;CI&V)xQt^uKE4pm*uaMKjnYz`StYI_K&kami^;_Au z<=+;4v-_6u_3W2FU#5Q5`quyL+_z)jLcVSOn)P+(SFLZ(-@bfp|7!Ks|Ldx+>%V4y zt@^t5Yx`G+uliqezV?6Z|2qHcgs(kcpL`YjcJyn>*P^erU*~+~`4<08^;^f+pI=^m zk^3t5RsL(xSBI~!zKDL^^i}2?R2etG=m_Lqxa{(SNL8uQip ztNmC1uf|`wzq)??{x#*>zpoKrjlVX0J^%Ib*BxIozbbuw`{nGHyI)kk7Jr@eHT>(P zFMVIWf0_05)z?2?Iluk?y5OtSSMjgQzdrst`|GN&jNi_D&GeE<@m=!! zhj0JB34G`I{{7pxZ&KfVzEAkR;=BF#Mc;b9efwtkJ>vVh?;bz$ez^Z&|8eB|=I__P zzxaOY`_%6h-}}Dr{r>v9<`3T=_CMr)*!@`jgX8CiA2WYs|0w;j@W-Jae}BaNZ2p<@ zv;ODNpL>5+{*?Q9?T7r&yFYDzvH$w|)A*O~FWX=Czp{TV`?cZM#9#A%o&NRam(uU- z-!p&j`F-y9j^8c6Gk@p*?)iQ7x7;7QKZ<`?{^?w_@PjQ@uGz4E8+&xb#4fA{^}_P76U_1`srS^oX`yX^1UzsCRS{yF`7 z`gi-^hku>^b^V+4FXNxiKk}Th{a@|B*njK)S^RJLU;E$fzrugV|4IM-{(Jv#_`l}=l>gcP+y9^YFUsJ<(8jQt zVJ<^4Loq`a_{^ef3_BS>JCQ6I!WbeMau_x+yk>a7FrC4U0d$5(3&Smj!wfwP$>7zz zRSX9h&N0kq=wjHz@QvXg!xx6<3^y3=F=#W+Vm!b&ow1p55#wUU2F8huuNaM((wVxM z{Fzvp6q$mVT$xOn3Yq3I`7>Q+T*>&1(U>WUDV!;ksfekAX%^EJroT*kn5vl;Gd*Kc zVy<95z`U8chj~8pV`fv9U=~-Fc$Nt)^H>^LLRsWl1X&VU4zm1U;bj$OWoP}*!pkbn zD#@zM>dxxO`k&n>JiHZ?W@w$H3vStD3QS=Cu9SdXy2XVqi#X8XxHjkTV& zo^=}QSJou9MQrofg4o2_+}ZlrrnAjuyUKQ-t(c9MO_Z&IZ7^E**e)&*tpm{ z*t*!-*`nE;*u2=n*wWahu&ra8&bEk+ojr@)iTxzoWwrqJMs``U0=*zMUX*mtuZVqeWZnLUeLi2V}VFE&5+cy#9QZopo_zMp*!dpvt0`z>};4snhj?CKo09Qqvj9J@Fs zas+aeaGc?I%dvpNlf#>%ieo*;1CH|?1srM|ejKMbOgZB??K$6btmjz3v65p3M;1pU zM=nPvM?XguM>0nchaX2J$2yK#9Hkr+IrejGP<5@RevYXeh8&yO zOW9Yli-7muzF|MgKAU|Dy8=fZM=Qq?j;$P%If6L&Ic~AvU}xe`;de`>>}(k?3(Pp?0M`-?2haP>;~+X?2hbK?4sjPF^HcmE9HXgRmthZP%upVPQ%DRd*nDrIQK9;8}!mO^W zU99!2Qml_yKxrwD)rHlXRhN~Q^%si>t0QX->ps@=tX-^jtPZTMtOBgJSnjjDW4Xn$ zgr$-tlf{umghhuXn#Gevo<*HSpGAU2ghh|Vo<)%5BJ)1x9n8y_cQQX_KFD0boX_0L z+{K*CoW{J2`4ICo<{aii=4$3FW`AZ!W_xB+W^3kH<_u;#=3h)JnaY{UnM#-vnIf5@ zm;#vGnZlW3m>ikHn07EdWm?Tt%9O!m!}N>s72_X9HYP46Q6?^?EsWlbx{R@ms~G<< z>Ma)CHfgmCazy;LhO0Aj0tU|Nj5e{wMr*_#ghi>VND1vj2(y zqyI{|AYQp{1^QH@1Mf|wEwgJH~jYjuWM)g|NP&re{cS2{15u? z@?Yz}(SP6n@&9A~+x+MM|NY;$e+>T>{=5J8{jd99?ElAqyZ_DpxAotre{cUS|F`hp z&3`=qHUCThfBbLBzs`TN{w?~K_D|#=+ds>HdH)Lj#r`Y$x8>ine>eZF`?uiVynl`V z3jdYN&e&cr~c38pT-RV4uiIbCzjl9({{H&2`Onlp`~Up`&>R+CPndTK<&$$^KLPC+H9JpCi9l{hs{0_IJte+TSyO@A`e= z_p{%hen0ws?Dx*!$A0hmUHV)0_wQf4ztw(g{}%cE;@7TU6Mm)q(*7m=%lTK%ul8S) zezpDz`KA9$>6iL1wO?Ytq<$IvlK6Gu=iHz3eqQ=1`zz*G#xJd3$9{JHtod2|GwEl- z&yt^gKTCcp|9ty{`KQfK`=5V)?EbOfNBxi3ALT#J|1kR*@{{%F;vZ!{8h-5m@#4q1 zAM<|X{qXsb_G8|UjX&o7==xFrBjZQN55FG)Kg@ox{owf#{$s|ENk3A4nE&AZasT_p z@2|f9{SE>jzTf?R;QNyA+rKma@c$A0L;DBok00M3et-O3^+(VTr5{heKmRWM!}&+( zkMbWge@yt{^Mm!r+wa^zjDNWOaQk8N!}f>Q5APp=Kbn5*`?2rGj30}C9Q$$L$L1f0 zf4ur3`_tv8!%yCyw|<=Xar(#kALoAT_%Z#*G;#^r_oRQpEf^*e*XR; z@l*S!+)vq`ravQo_Wj)YbH>l0pV~iFe=7de_-Xqy>SxQ(Z9k9wT=TQ~r~6OKp9Men z{XGA3-_OfG|NPYZmHw;!SM#s5UzWcVe(C=5{gwKw?ANqk=YMhj7XSV0*Wq6ie@*-^UIE&E&lch&D*zxVxK{(JuKZND%4zWMv=?-Re*|DOGO(eLBGKmV5g zWAn%TkL@3&KR(Ve?9+Z{H^|*{Ws=s=--gPet&KMy8g}kJNfU-ztjG1`uqIv zpT9T%?)-cC@4vr%|D^sY{`>j&z~2LZzx|c|C;d;G^6zwiH=|15198bFJ)fCyq$S5b2sx$=9SDd znR}V1Ft;-&Fgq{@GB+^K1dps-Wxl|CfO$LfVdk66@0eLwWLP9wJ~Llue#HEh`8)F` z=5Nejm|rlzVCG>_Wf5ZGWHDwbVCiM4WeEWDby%`lrn5A#c(a(XxU$5tM6#H$aI*Yj z=3o(J;br;C{F?bMGam~ti!_TJO9YEQi!qB5iw27ki#1CSiyw76BG+mfy@mEVeAVEFYL}GqbT+uo$y^VcyI#Ags~{FoMfKKJePSD^D^dz%*&alFlR8k zFgr4bF{d+UGAA*|Glw&KFk3TQGJ7(YG4E%7&3uh{6>~px6LSmm4CbZGQ{FUh}(^{sDOvjjZGBq)U zFhw$TGA&?gVyb4^!t{md2h%>LTqY|fbtY{lVyw13XaVz5<#v_ae z84oZXWZb~Gh;c9DXGRewex|>S?-*Y*eq;Q`_<(T_<7CDL#$Lv`j4K(>G5%uw!+4Ex zIb$nh8DkY=C*u;vV~qD0?=YTWJi&OL@hszU#*>Uk88>8B1}9?Tuc^B4NP0XyZf&(Jz%=Ww1KIL zsgY>|(;lX&OodFvOwCLam?kq#W$IzdXG&tKW}3t_m1#QD0;XL|@0nDXb(p_0tzv3p zn#{D1=?>EgrWs7FOmmo4GEHNuV`^hs%(RB7kExKUjHwPx&SN^w^o;2@6X^Va>r6+O zPBYzLy32H*={eI|rn^kXn2s-!nmgzLpb*3LoEX?nj9y0x45@8l$=42KJx0>Xb zUodTETEw)Q=@!#xCQk5K1U$@A%(~1b%o@xJ%*xD4%nHo<%r4AM%;wCN%+Ad2%(l!1 z%;wBN%=yd>%+<_!%tg#a%qh&V%n8i-%>B%Zm}fK3XWq+vgn1Ej9diwHFY^TEcIF=D z+03((ic=4R#yW*ue;@W@^+b2)P{a|Uw|vo^Cd zvkh|wa~5*|voo_DvoiC4rmsx=%<{}^%uksvGVNko!8DtxhpCDwm#Kki9n)#1y-ahN zT9|5>>X|B-QkdeH(wNeiVwggiyqN5n?3lcnQkhzrx|x!g#F(xzZed)@xP|c$<2^<$ zCLJa`j4v7AFkWF?%vjA>%Gkj;hjBUMa>l8QEsPzEU5tf{-i&&TVvNj;?2HOv z)(eJf44=Vg72jp}$RNrn&nV3Jm0>@_1coMt4u**g^BEQ~G%z?a2s4N=xG)qmG&3}U zWm*_Y88R568LYv(>rVdP^?%*}RsRqCzxV&e|M&kH7(hFxUi^Rk|MmX|(6iTm{Qvi# zlR<((o0%c`~SE7&-tJHzw&?E|J476|3&}v{{Qpu(?8J32S5M4|M&GD=YQeY<588{X^|9SuG z{&xbO$*A;S?!VT5v;W%vK{o<^`uG0d^?!%KXF7szA-(tS$-f)_PW?OhZ_mH||IYrq z@bA#SE&n$B+x&0Uzn*_3|C;~J`8WArG`)}>Pb^qr4>;5{>}e4{onL|EB@{Jx9i`Gf7$GmJ zC-+a;pV~hKe`5Yb{)zvS_ow~O)IWWH8voS)sr-}jC+JVupX5I|e~SO){)zbG_{Z^2 z@}C)h4*a?D=fR&#e>VMD^k>tb!+(zbIsE6`pI?70|Hl8#`P=Zf>u>GfvcEI_Uj6&! z@2$U^{?7XQ{cqU6lm7z#pZ)K|u$94_aRuXhMro!lNIWyWU=M;W#; zv@mEeocllf|Lp%K|Nr|h#PI+B)&I-?xBoBspYY%AKga(o|JMDh_$T&n+uxeMWq-T= z=KPiT`~HvQU$?(`V;WS^bgmcN560Ve*OFX?{mLr{I2-j@_X^`9l!Vf-uQdn z@14K5{+{?d`M1Mw_1|p2FaBEatNNGnueP5IKi~dv`8oaPl%EDa_x%T9}UwFSf`7Hd!>r3L7+%L6Xa=$o#(fDHcMd!=s z&zn9^`ken+_Va~L`#)X&wDnWuC*e;@pHe@~`n2rR;!pcN{rJT9`TeJ7pY%TO`5g7- z{uk%3^S{3Ts{GCOTi3U<-?+ZJf1mT6^+)oLT|cCMHvT;I^ZL*IKcD?<`{nw3_wOIS zHUC)uQTrqF$Ky}KpGAMp|Iz)s^zXaBZ~or-dk>7I|JD9m`|rfRfB$U$*Zx2AUy>o8 z;S9rnhNlc?7{nQ;Gk#>WVCrSM$;82I$ehUB$vla<`!tIj(TDa`JG6bNO>Ia9!Yh z&#BCn&Gm(=i~BjZB2OC65}qAAQ+X_S9&%sg{=zNDW5E;6W5@HJdmZ-#?k4VL?seQ^ zJS{wDc_esydD;1*`5O4@`6BuF`3~{U;?3aw&Qr+4$8(mug8L0uB$p7E7?&cKB9}7P zM@|P$YYrFoHa1?iudFI;a%^i@rCB>!o-n&J-(ad^l4WXR+|2MBd|Cj<|LOmH{>lEk z@;CVJ@jpp_IQ}gBZSs5XFR5QKKTrQ?{1N;^`-jL6t{+@Kn19^)zUX_+_uTIu-}%2^ z|2F?yb*J$}6X5&N_JC;!iX-#2_?`xgGq z^tHCH|Y?_tRfizaRWI{iF3K z|BuMu+P@8dgZ}>eQ~c-M@7uo{{`mgg{rAmZw|~$7CH`0YKjUBRzjOc8|L^}Q?Fc9!i18ymYd`zH1S9IrVuxcs?JbKd8; z!|uZ#$$p&Oo8tk;3eG65#avstK5>O}@8JHy{g3-H_fqaQZclD@ZWZoc?kC(FJPthD zdH(U-=Go07$$N@7iEjp9BcCJRd)|e-xx6X7PP{jH%6W=;X7Xh4Eacw9Rm=5)%Z=NC zTb)~g`##r6E+%e6?sZ(#Id5?s=V0KJ;bi1I!?B5DHAfQ1Quc{#6|9q4JXxl(>|_yS zxzF^CaW~^lMh>QMrbA3@%)-nsnev$on8KLWFvT#Nu=ub{W4_0fz{JC(&m_W}z#_e-)Da&{AvA@{pZK;*547og@3pIQu$^6 zE9Y0(uU|h)e#-x}`MLDxr=K@}7XRe<`QXQ?A4`8M{PFEa;?K^X1wZHf4EeSBm&7lo zpS3?;{+RT0%TKMJK0o$|vRvm9b6V_nMH z#(IV|pY0!;3A-A*G`l>zDSI*dDRz5~$s8;kv)NX$USRcOTfugnt%mIbt1cTmdm6h5 z`yaMNY=>D}SlXBinC)29S(me(XMMoR!`8(1h;1>OA{!H%8(RZgF`E(FSJwBeqHIoV z{%iqkO>8sS9N6}-#<41}a@=6B4zEHjutFjX+UWW36-`~TAas~IjZS}?t1T*|5yHB`ako3 z$^Y&DKm1SlZ~IUFufw0czn}l^{qyqA%Rle_Jo?l7r|{2AWX`cLDZ*MH3a!SVC(PrYAVzdrnW`D^;Gf?w&s z+<*Q2x%ub9pE^G+f6V_r;rs6I55NEX9`i%`=Zl|7zqb7{`Ca=v>vzjtENum;ToLll`ClU-N(eKg)k^|Cam%-Kr7%f5rbu24+Tg zMt4R>MoGrq40a3$|JVMX@&Eb%RE7}7L?$`rGUi3hdzqV<=P*rWG-H%vT*c7L5W$$t z^o6O0nT^GTC5k1H#gpY8vjg*QCNJhQ%secjEafZ$tR<}7tct9bEKSTI%;L-eOxcX@ z7}OYFF>YaUVoqSTV^(BlXWqhO%=C>>kExyM3R5YwJIflDdKPJxlg#s&%b3lXFEaHq zoneY+E@!^QRLC@s=>}69(@n-yMh`{@#vsNSjCUCYnPi#nGj=oTFz#c>VhCd>U?^wM zW?22-=D)~)r~i5X-T!a?C;D&tUyr}NfA#*g{%ij?@n7RVmVecMqyPH+W&bPqchz6n ze;@u%`Mct;&cB*}EdO%Sc* ze(U}2{k`(H@9%xTe8A^%D*kf()$;4buh8Fozt{W>`4Rb}>}UC}tG{}GvHW8DwdmK) zUm3st|7800>8H!j@E?*t=Ks+8+3@q^&!0a({^a?! zewzHe|HJQR*Dsad6Mr558Ts?=54RsPzDIw*{k`u8!_SRBkNsNsd-Ly)zyAJQ_*3ZD ziC^Bon|?d}-t?>X*Wq6;eo6hl_&e(l&mWcFJAaA)X8oh`_wHY&f0zDN|F!(<^LNJI zV}IxUHTtXh_uJnc|9bz)|Ks^5`_K4aRuhX1SnpZovz|AYT?|A+mz{4eu=<3Hwq1%D0yYW$V_tNwS*-`;;3|BwE={5SS* z)!(4MGya(Ux$*>;3n~pBV56bJyRvzXgBS z{5|rw{IC4q`+r>iB>evM%lr46-z)!2`J4Q2^}ou00slJxF@wjx9{wx%XYeoZ-}iq# z|J(oH{rB~6&EJB*VSkza?)>xe&w{_9|9<>i@n4AH+5h7IO8+JPXZ|;2ux5PDxQ&s8 z@fkxeBO}u$MqNfp#u!Ft#_J6C7#tZh8P_qUGwo;k!MK+}jv9L4;K=`oWgvmWzHrVC6Lm=-bhGwozr#uUlq%XFM6ggKb`E>k;GG?N0898(LE z7;`W4CgvFCX-qwgn;Fs=dKlg@L@};pyvDeV@fX9p|LOmy{6GHx`TuZ+?F?-U@BhdC z=l}onAIpEA{|Ekm{=eaW?0?(;U;gF(Gx}HjPwD@&|8M@A|9|tZ;QzP(g$%xoZyC!N z;~A#^umA7HP|B#u^oo&<(TBm9VLL+!BP){|lLwP5(@Dl?#;Xi!44eP+F=#NdGQDSv zW<1Z3%aF;ih+#hiE8}^_IZQj4%$T+@o?%R7+Q{^a@i9Xd!yE>CMm?q{Om~=~nVvJA zWPHOY&1A@A!eq!~#^lD7&a{(BgSm@&HFGlaX(oN9&x~If-!e)wJz~1UY`}7rxr8~A zIi0zYc^dN?=C#c0nU64EVcx}T#$3nb%GAZw%cRDn&h(6FBlA+`V@%r_eHbq><}j^g zvSe0dS;Ml3C7R_gb2qaU^GxP87B|)gR$tbSER$F)S*|dLGJ{s=@-weu{>c1;S(T-T zWd=(+%S+}sW&!3n=2#XTR(aO>ED0>(ETSwcnb$B|vFu{`#bU*3&3c0+lI17!CguWW zcji>^>LzWLo6Ke4y5J;JDziFE7Rzg9apw6<7n!V?otZx~onpGiRKv8I@dZOLLj(ge zV-;f!V*z6!V-}-3<5z}khQI&6|JP!$V5nzsWqiwcgVCLFGeagrK0^aTKSMu*E5lmw zS?bTgcOj@UG&3+U+A(S|>N2`BsxmHPP+(wVuwh7J2xIvEKkNV3f64#${%!mF@o(q9 z?th>EhW%Ck>;1R!@8`d#{t#Zb#2&2Z@djQ=VBwf%Wixr2f1AU-4g)VKT!?h71NF1{MYZh6n#E|I7Y2`hV^J0tO+*0!Ck^0Om&KeN4L; z*%((d>|&5){zE#zrO^<{ai&<``xN=3h(;m~@$rGIla{Gk#{A&cw~k%Y1?j58P~GcIK8Wwc^sViaQh%dnZ@G{Ypu zN~YsX+Dt->+6-I3XPhtkKl%Uq|JVN?`9JIbq5oD4&ly%Tsxf_F6krr&DE(jXpNZid zgB>FqV>W{fgC#>ELn4D8LpVbVLo)+EL(>0K{}TR1|GW4v_J7g;3;$mH4fw0~x9+d# zzs7&H|3v;R`P=#T&fkoGUjJhmRx&*M|Mg$jzv=&W{ag4i>0jW#pns14%>J4GQ~3Ar z@8Z8R|8Dua>tCwtNz~qd*|?yE{m1ry#lPl%y#Me0S7tc!U-G}}zy80< zf4Tn_{WbWv>ED)r3;w;IPjU;j%p=rM#bcrvgt{QjTMpvJh7@d%?M<5UJa21N#01~-OY zhMNprjGT<$86GoKF+BZ$?SBfx1%^`$&l&m|m6*7gIvC$FI4~Uizv(|0!z6}}4E&6G zj3JC>jMo{qGCXB?&rr{>@4x^5IsYXX)ESQb*ZlwNpX2}Q|MMA`7|j@uGq5u3`X9@X z#>mZdo^cmL`TuMGRR1%ATN_@ChZ(m1-wM9F*Ycmpe*=cA3=bG`8Rq}r^^fP@lfU-= z*8F4oZ}Q*Z|A&96{}%lH_~*c%zkfphPX7D!Z^J*P|2+Sn{5$tA``@0wd4Ko+t^Sw# zpO@j;|Ih#U{=NNc@lW_){NE#g4*k*iTk*H^@07p0|Nj3g^Y8B8*uNM4l>W*4bMTMb z-=%-I{ay8U-QRhCBmQdr&Hnq~FT=mXf8+lO{gwY)`gh)6pTB$ll>f>9WBW(!kI^5) zKd*kT{Js6R&7aSIwEkZI)A%R+PxzmLKgoYo{=E9V?f1Oja({&Wp8KoyFBm+EaQp9^ zzr}wu{?`1R^mq2(_P?QjE&lrc?frZ2Z`8kQ|F-=5^EdNv;NRxITmPQ?d+V>|uDt@R;Ec!#0L> z49N^n|M&lQ{D1!6^nb_yvHoZNf9Btje}Dez{V)Ch?El;U7XQ8fZTMUDxApI*zi0j} z|Ifs5^1to>JO4iY1KlsZn&BG5GzJrfXaC>*&t>3c^kfuaJOsYoNtr>40dyPDv;S5M z^$eyAUH=9DbN!F}fAT-*W(ZRTRR(5;*8ki83I2QYSM}fAf1&@s{r~*m>VM3??|-%b z&H4B7pU!{x|C;|_|2y}O^S{S`rvGvOUj2RgH{c)l|8@V5{x|ub^zYffw|9<|>{U`E2;=k(u8~={{JNj?mzw`ed{@e5~@Sp6z@_#P>Z~fo%-~9jEf8YN} z{5Sn?|KH$0&;QT=IR2adm-)Z+pZ-6=e|rBC{;mAS^S|Z)um9`}OaJTsfBEnJKc4?_ z|Cjt<^WXjdwST|8T}ZyGWammFg#><$*`UwnE`YXoF~J525m-8#*+*y7?v^YXZXP& z#rTQg1_L*v8KXI45aVLTXN)fyPcn8e>M*`%_|K5fD9W^wiGi7m`5x1Hre3BDCJCl4 z#*Yl!7#J9f880%*GPyEwGUYHHXXs$Kz+lDb%J`q*EWg}`YZ==Z zOBk~mH5jimtYIi;@L`w?K2z{0gA&84|8@U&{I_J7$*_)L6~jJ;=M21zR*X@MVT>M( zc8uDL@{9(Iu8dxcA&ljW3mDgfd+OU6K&QR3Fvc;iVtmZ_kZ~%b7~^b)8iunBmW;iO zCmAm?PGn?Zv}7pw&;Q@~|Ed2T41Ek!7}^+?GF)Xi&CtOR$`Htq$dJU~#h}i>!obTA zz%ZZTFvDtwLI!(q4b#Nn&+y{^mjAo{UjxrVeE%=W(8h3);Q+&2h8~6_1|f#4|1bW( z`G5QW?f*3x)-XI|c*F38;RnNah8ql}4EMn|@wNVc{ojcph9Q_Ck|Bekh@pVNkHLXq zHiHDCKI35q&<+L*hL;RUjG2twjI$U58O#{$8HyOTGu&r*%J7%LnX!YhmC=@wjZvPl zn(;0p57SG=wTv?vH!?nFMNzFQYP}DtMMj zjWLO_kFk@ngK-_>3C5X>@{DsCq8O?f{xUQ%u4AlblxN(>(7-T-;SR%ZhGPtc3?2++ z3=bIG7`qtz7%dt1fmc80F=R9NFk~}4W{76YWPHP*%dqNy-~WyOul_&sKlT65f0zF~ z{U`80>Ho|Bc?_Klfeg|Num2zaf9t;i!%T)N47(Y;8P@){`fvRoR97uzh-Khn`2U}W zft7)Y0dz->BE!r7d;ahFfARmv{~ioS83Y;G7&kHKGVJ`{^nddI-T!y~-}|4Fp@3mG z10$m+qX*+<23v*~|M&i%{eRtmL54DhHU>8aK?W{{_y6bqPygTX|NQ@V|F8aE{J-h{ zg#X9>fB*mU|I`1!{`)fQW%$SNonaG$0mIJ!tN*|L52~FT7`8B6W%$Qn#u&_~%lMVy z9>ZmZa}3WJL>YA$MH#;`Ffv*&`Y}FbFk#sDf8+m8|IHcv8G;z97?v?KG5q^q_dnu7{w^dc$#50!vqFThU@?L{AXndW2j(AVvu8a_5a!b zYyZ3cNBm#)A9Npa0|Ot!^8Zu*ANc?EzYK#U!}I^k|Cjvt`)~eV`9H^h(3!b^{(1eM z^nc6$)&Hyh`~8pqzxe;H|4;tk`+xuc-T(LgGczPITxAeqe9n-^@b&+O{|*1`{{Q}W z^53a{Z2w*UNB@uiAN*hA|NDPe|K0g_;@|3jXa4E^@A<#{f7Acu|3&}H{s;V5{Ll3N z`#;A2_WzIl4`rxlumPW-D*2!Nzs7&x|F!=Q{J-&k>VK90$Nts*GykXfujJp)e@5Ut zq9^^k^Uvac!~fp@`u|J+o&CG!FY~{|e|`Us|C9Ug@L%}<*?+bF^#8H_Q~B5a@6kW5 z|3?24{(Jmq{{Q0NzkfRaOaJfvf9?Od|6Bf-|JVI5`9JRerT=0Kd<<{?Kl}ga{}%9V zZu|bP{2%pS;Qz0G0{@l%bN~PJkN1-`1=3M|L6am8M+wi8A2Ic82lKb85|j&{s-M475snJ z|5yL{7+4tI{(ttLlfj*#fFX@RmErP#P^{$q2b~@{?LQMkB!fT0xBs*LC;gB8U;BT~ z|Hc33{RiC|mi52x|D6Bx{&)PZ`QQG(@BgI#p!BF_29Fx z`Twi`&-_2<|LXq-|9|^$#Sj8MQMu$l%m1zaR{i__ulWDf|KI-~{vY*U^1t+dng4(P zUHP}^-_(Dz|9$+I`+v>%YihpWnakf5-pb`v;mEO!~+A@8MsO ze~JIP{wnPyr2iBDFaE#i|IGi@|MUO1 z|DXQ9`G3rR%l~TN8!j;p+dY|K9(T{!jbA{r}Pb7ylpozwtll^v*s1cl}@g zzyE*9|EB-D|MM~gGK4XxGrau2^Z(rcbN{dWzvBOd|E2%C|DXK-?EjYk;s4qGzx!wS zf9Zcl215ofh7blbhWq~;|0n)${eSMi3PV4`8-_Ow{S3wonhfa-a~PH~Y+-oCAj&An z_<`XV!(4_542u~yF)U;N-Go=mu!3PN!zzX=42+CF8E!G0W?0Wq&fv;m#}L4f$uO1S zA%iNTKI1=zMGR34J`AZ0pp&)x7shQt30{>%RV^Uvh}r2nV? zzy7btkjgNfp^<@`A@TpMf6M+I`6u^3c8NBi~lqKgKi;iV~AuBX87{|#s3rk=l^f{pZ~w$|JMJS3{4E}3<2QNk3apt`+vj# zrvK&t+y8I=|Np-~LpehcgAK!t|DFGf{#X9*`akdgw*NQ(fB1jz|K9&A{xAQ3N39K#2OKMZV)284;ij8++%pb@R(sQLkmMFgE50Tg8_pn zg9yX*|A+oFGn6tMVc5k`%@EEI$B@R5$PmSl$dJtt!(hUoz#zl$=l_ZS$N#f3gfi4J zq%f#5y#Igp|E~WV|L^{P|352u4akiDIsaS#-~aE!(9h7v5W^tOaPR--|2_Yk|1bJ~ z?*G^SoD86Q(N6q7^Z(U<4u-$~PyV0yKl6X^fA{}U|9iptRf|Ihxv<^TEr5B`7o&&I&TAjV+B5XIodpur%(z|A1ZV9Maf z5W^6{pv}O>z{z015W`T!P{dHlFpc3b!#4&_#>WgZ86p{U7$g|984|&_kFH^;VNheZ z`Tyj9CWbhMMGS`-9xyO6sxo>q1~8g1$}-9^@-bdy=x3;7n9gvJfr-(Nv5B#g(U$QC z!%>F040Q~346_*aFq~&N$*`EAk|CcVpCN+5mcfR>fx(PHjsaB4fB*md|A+tL44|^N zoMAb`3Fyh(HVkGAmJDVL?hHi?QyFG6%w$-~u$SR7!&Qbu3`-e07!nxF8H^c{88$Nf zV9;PRV-#V$!Z4GejbS>&GKS?0D;W+lJYoQy;l77qAwvy=7lSy%umA7=zx@CCzXXF5 zgC~PNgE)f%gDXQd!&Zjt40{<08I&0q7=#!!81xt{7@`@v8MZSVXPD0b8hMaoaA7E7 zn9p#K;TpqrhTRN344Diu489E73?Ki`{qOhRq6~=)84NZIybP=iLJV@?`;|4p zVfo_!uK!2>OENSv>}FWTkj!AuV8dX@AOgOb{rvxz|9|}d@t=pmh9R24i$R5foq?A@ zgTa!)oI#a=gW>ak1_l)deFjAaWd=`%28Q_zO$?x00UQ`q859}(!1ry(GDI?@fNvA6 zW@u;VV(4aQVQ6Dm&G4Qj|@K;K%*F|85S^f1Cd~ z|JVJ$^#92J)&DpAKmGsF|JVPY{=f78(f_yq|NQ^`|LOmG|Ns7%V-RQf^#93!J_cWg zbOs*=afY}5ul(QkfAasv|DE8QJU9Mt{2%o{`hU^?y8ob?08jqE`TxrQL;n~2Z~EW* zfARkn|2zMe{jd4o@qg9-hyTC-Kli`-zrlaL{}TUg{|Eo~{BQl=@qgm~s{iHxWB*(J zm;EpFU-G}%|BU~0|8M)h;{W9T4gX{RoBo&l&;MWczxjXf{{jC4!8f88{LlU$```b+ z2Y4Nn-~Y(}!T%lp>-?Ad&-?%9zgPc0{S*Fg^xxsX+yAitvH$)48~zvh|M}m=e<%N4 z_;>E#!GDMT9r<_U->H9B|K0uf;NR1KumAo2C;Q*`f6o8%|Ed22{)hdq_&?|W+W)Kn z&;38~f8+n+|M}o`Tz&r+{Xg{o^8aoBYyNxxcLKLun*OK%clfXRU-7@{fAjxw|2zNB z{NMgR{=e>jj{pDuasC(iFZQ43Kg)l~|Kb0q|DW+c=D+-Zw*RdEx&QP2=liet-|v6j z{|Vr`0jB)#_+JWc{Ve<6`#%}9d;Pz~e=l&^(EESk|Hc2i|0jceobtcxf75^e{~G_* z|J(eJ{$KZh`Twi`fBgUd|K0y{|2O=f|9|HHN&mb5*ZoiUulWDYza#(N{Zs$%2wpQL z^`HAc$N#_ozWqR@?vn|7HJU{}=tA_kZF4^#4NtFaO*7@BF`C z|MdQQ{x|sl>EH2xH~xwJ_xT_6U+@3Ve>eZ#{rB^q#DA^-O8;5@zx((3AM1bq|6Kpy z{5$+_>%Z&&IKeC1KK;A-@7+Jm|4ILg|0n%-{4e*P`Txg%_x~OGx9Z=@e|!Hu`6v9} z?7u7jzWtN=ukc^$zsdi!|NZ~xgU1n> z|3CTn=bzet&;QZ?1OMy)m;Z16Kk0wx|5g9j{%`po2u@>l{}=yX`M>{v@&BU#P5=A< z_x|Gxi={~!2&>i_=#tNu^^U;n@2 zf8GE7|EvBV`hVj8=KoXwxBs8zwm$N|K$G_|5yIM_5bUC z4h97Vd4})c_S%8}PyX{TXfarW?**`AP-jqL&|)xR&|=_c0NoTU&0xr&%JAp^x&NF0 z@A`l9|M&m@{(t%Z{y)eq`V3ACdJKR69|8OA{eL|MKZZz#IEDxYJ%;c9Z~VXZ|Jnav z|5+HA7`}iXfXsZ6fzVu zgfSQ}s4zG&CcrYk2NHFL!STTq)T=~E0 z|E~Yf{>wAiGgyOf02gK8VEFL==Kl--ul&F9|I+_M|F`_#`~Tkmum8XN|MH&?Tngqe zG%z$Xlruy#m@+6am@y{{Q(e#-PWb%fQcY_y1w=4Z4yHKmQ;9 zzv}<`|A+ry{r~1a4}&BF8^fFbZ~t>JSTIB}#4&_0#4waHG%>U>G&59!?}$xgFl1n3 z0NszG3BL7Lm4S)j0k}=_;6Dq45`zYV27?iUJ3}l(GJ_2R6T|cWzy2#Sm@^nMh%$iI zomwztG88lTF~~76F@SDRPy~l%Kf^4Bi43g_%?w@O-d84rFM}C_GJ`CG9z!rg5kn(G z2g3x0$qc;=jSPtlRt!oEsti^P!Qi_rA{kN{iWzblf*H&ibQzo(@)&v;IvH{p!Wm*1 z3cxqpbTTYqIK%Lm;R^Wva!&?lh6ILghRqCT8E!IMXE@Jrlwk|Q0){CJlNdlZsWdXw zGgLDaGL$g%F>GQu&2WZcAHyMrdkjArela{?*ugM?p@boap`4+ap^srM!wiNz23rOl z1_y?0hD8h)86GhlV`ygxWbk6BU|7wtnxT#%o*|8)kRgL1h{25^kRg|$gQ1t9gu#cw zkin86nxT%NjiD4=Yez6NG3;ab%)rQan_(V927?!a9Ruh#8FvO>1`h^jhG2#=aEq>n zA%($_0kjWYlEIUqm0=~rGKM~eGKO@9SOz}^I|c&=bp|trWQOSs+Zhfq9B0_iu!5nN zp@U%>!(4_=hHQpl1~&#fa2v*kA&{YzVLJH61`h_%?L?rn#F`l9GR$PCWyoYmXUJp7 zWk_ep0f%oALn1>7__im|ozt5bHZ!bcSimrqVFtr$hJ6gj81^%)VVKP@n_&}})yL4x zFo9t{!)k^t4BHvDGwfwJ#c+mUJHs-DZ48eYSQ$APe=^)J`IZ24+TX zMhQk4Mjpnm438P^GCX5oVN_yNXOv*%V-#SNWRzhPUQblMr%ef#y1RC7#=YEVGv*xV&rAyW0YewWHewDVf@7KjNu!D1fwyd z1EVWrFk>jA4&!Bp3UKc&h@qHaD#K=mlMH7V_A<<4Xk}<+n9Z=A;WEPuh7Sx6!D0&- z4lq1t_|EWd%1L(fv=?n)L9y5GkxW%xNp^_nvA%UTaVIjjlhJ6gH8KyEc zG2}BuF?cXIFgPO@Sl}|gW=Qv8~@LM@1EN9f7}1d|G)kR<>9B`5u#WB@BP2@ z|JwiO|Ns7HWBB<0^#4u&xBox)|KWeoP3mjFrT>TjfB!Qw@H5CWC@=^x@H40|I5R{r z#4{u_q%y=agfV!5UHSk2r~m)|i!&%Oh%vA;h%lHicryet1T%y%1TpwAc!Nh-e89Jo zfOZPSGB`09GH8Ko8%_o;1{Q|j|3Pch85w^3e*-SBI2c$NzW;v#zPtJU|L6Zd{{Qj+ z+y5v3kN@8ZzIRFi++Sy9xb^?Y|Lgym88jG77<3qT8Sa5^mbv-={r^wkw)L(5C;p%O z|MWjI0~f=)|NH+>{$KsS`hWNTrT-87zxn^!|0n-%|G)en)Q>*#|MLH9|4)JIzD@rR z{=fA9)_>5AFT4JO!tLhYjleCM*8hF~ ztN$nd_xs5`475Pr~Ln{ z|EvG6`oHA=jQ?%_EB}}O&;1|#-}!&Q|C;|B{$Kci8hoQu#s9?rUf`S6`~M#V-%E1h z|C0ax{~P`n{m=Vf{=fVGg8xhYgKq6x@_*6)>HoX`cmALBf7$;7|1bZ)_<#TZwf`6W zU-Wkvx&(B3`0QVi&}s!~@0uh)Ihd z7w?zQlH4j8BlSS|4iOVVZTC*qKeWjC3ocs z%HNf9RJN*ct4>sXtNKUvt*WA$wfbd^rJAcWZ)pl^eb+41TB&_e`-`TchK5FqrkeI7 zof_S}y0>%|YP0HW(EDMSZ2ZxP-8jZX$yCnto5>fGKvQY1^9J8}^v*KECVi zPMMwmcTC#Gvsrsf?Ut*X>^G`zvDrC&N6FT_Eq6Ds->_g!_u5VC3f3-OJ#|ghnwV9O zmYXe;Sbc9@=!(M&#O5uYcVV&mO5s)IEA}q=v%q1|(q)dTU#(49ZM9r=S=}dtT1` zjHM|n_bh+2Olh^ynky@(ta!70&GJ<%IoIr8)4r;H<@%LJR?c0wV2k1wz0G^J-r2r& z^Nmgacf8syyuDz(zjlGS;w^UE)9zjWXn^QHG!7G1f2bHSs-&)+}Y{nYun z%2V+t=N|sNFLbZ$!M2C@pWS~M@nq6Hi$|p|roCuvNkhcW|+;C%g)Um&Z8%wEWBIff>1oa2zMRlEshOr zDQv-~_*m$s9= zBOxSyTlBQ>E0KR9+eKfA$H=BhuM^df;FV`r;8luLT_Nuxb6P4%VzqFBsE?$(>~u*+ z(N&_m#aBuCiXW7kATKAgLg<7*k;q>0&vLhw6IB8fE-A&Ru&K!^Zk3;|G(oLKZJk1^ zypifQZA;CqDh+CHwI*t*s$WyyAbm~rjg*xvw@jo$n#Kinex-B;XO&|rOH{SA)it~% zKM9pePf~D`->0xdRZE#gK3l0yO;%MyHB!4wi%)sAyrn|3lA@}u%4uaaB_4%#)qi>d z`jR@)20@@+sAN z?LS)D>ho0>tN+oGH~3@xRR6nnh*pB`Jv~pO6!S+W53~c7U#Ohd_^U0hC!*D(rm1m8 zTS@n@uC1nwdau?m9ebU_>iX)l)mT&l72;ICYLshi(`GdIsC`QHzecZ)tZuWRxM7oS zfnk*ST~j_2DHA)x1G>iy42*>I#0`I&3tM^{KR4_%Fg4UNIb$Ym=4~QmdeTJ5c#@Hy zv8{23fs*cK^#o;0WivGuojQXCgAkp6dcGzHm%acvUt5j`S2Pau@PP4JdLk-%P|V4=%Ah1?4T>I6Ln>Ull5pK)B^ z`pKQg^OT2`@0*a9n4;hTo~OJFoYMa@|1`54Wx4#Xhd|C-@E z!?yo147H5zjMe|F|NdieXHsH5$Q;bn{jc!<(*HA=j||1SN% z_BZOc$*-e-pE6kfS^Lw3Wj6;S^SXcbe-HdJ|6cSl?1SJJxzF1^%=tF|m-7#gud!d> zeG&Y+=ts{F`ELt^zrY<)OYspjlXXD#{I4H+r}^4Ul)Gk`OW*w=KJq&4L^_k z%Kz2&d*ScGpY1=AzNvn;|CIK1?GNX#v%hG36aF6d_3M`jpJ#oP`egs*$0yd$6TUQl zzWpWe``a&epNu|l`!xU4|1S%Fdi<&To%UnWH?QwYer)-o^2P9{>aXUneqTg>h=2e2 z<-&K7KP*2Azgd63{Nv)+7oQwHJ^cLTtJD|6&z;|9|GxSo^{e=Iiyy3Cd%w2-kos}y z%hFF4pC)|m_)_<-@15hf?w^akzW!YP^XuOq-+jJ(`6QMt{!!KK>{8 zU&X(BKl{G^{jB@d=lirDAAi34{pa`IA9mk1|B(Kn^1bAz+n=XDlfP~H-tc?rpC>;H zf1LUG@8`}RtAFbL)cv9SE&R*tuT#EH{_*lh)K{fXgA=l&NtQ{?7x%$MEsogmHA7?k6FKTzRmjT^Rw}H;;%Hov?$JbvHzmNYY`Ss|}wqIS}u6_RhdDj==9}9l${&D%o?r+~ew|$uS(fRAz?^nLb z{+;%({s-r`89%=LF#O*0Bkaey&yzpv{NDcC>6g{-c|Uo6GXE_6I{Q<|msy|pemMWW znm?WVJp1E?w=(bi-iLj-_`&ew!_SUiq(2^h`}wu^o9OqgA3lGq`C|L& z#Ow5zYhH`K4SIX>&Dyu|?@qq8c@z4!@#D_-w_Y85UH_i>{hhZO@3+0Z{c7qfuh$b_ z%fDUm=JAWf=O>;ocsl>7;;Tn*<~>(`-0*DSn|E&&-_^fMd0Y3o^d-wn|5tpkRo=XN ztMvBE>-DeyzpZ=E^-k%v;VXu>s&9>6)IGC#wdvK_7w2A0c)Rbd+S`bC>F*A`yYcqX zOUoB0UJ1X^f8F!;;D@x2zuyYJ+5cwt8|K&RU(bBI;jQ26l-Kj#D}T8C+VaJhmu&CM z-k*6N`zi8+`KyaBmc9-C{OJqtCxy4$UbnvCe#iFy>-$;n8Q<@JyY>ysyBqJ$y%l-4 zsP~QK`-!h2-!&_;XgP0?)}B^yYo-UpFO{x|1kW0nqeZ#ZI<)QVNACe z=loyu_w0XH)_GnF$RXX$5t&A5l@z<>VVY7B?jWLZx$&SrVYZqI7W zQpkFVHHNvLrGQ<9!-Lg>WiFc}$3?c;ER&c%GVWtyWtCyK;kd@Joc$hK0{e3gUv4d) zqg+m0o}BYJbGhDgSM&7q=JQ?R?&37z*5mf&T*{r!w}$5chXbb!w-$#A>tZ%tjzae1 zth-rLIHq#lQ^ba<1VF;j-m^#&emMhj%kq9H%koF0R@9w}b)&ck<5WD(0BaF_Y(j zpq9{i-rt<590i;`yodQO^L*iW&iUT$answk(HOJXt5PZeg9t zc8gtsU5#xb%S&c<)|G5WStFR=GMTW3alYqN$oh!oCHrTte)bR+6Xy9$Cz)ed zx!CTpXtKJo33BLi@p7_rD6!vU`ON&BBb?ipLxGKnHJ|w?V=E&k%MCVuHcpl^jNAYJ z{a?b=#mdcgflY&bJ==8l!yFRq>zH3L)-c(yXtEfv9AkB5&tp+$3Su%~`NNjSv7GZQ zmnKgb7ccu4mZz*bY`Vbz3Bwg8KlWhu zsZ7%u7@4jyRx|)_zdB-Bnew^(A%T%VBOn+H~Sl2PlWLm{~j&&LH zJVqJD8H^c>HvgmkF*9iV5C50)fB*m0482T;nY&naFjfEG{*U*+?7usIME?F{xWwGb zxP`%#xrX_||DS&~Kw}?&xPBk~r^O`2c!psI(~bXcekJ|>_?PD&>%VjVD*vAPJ@41* zUkZO-{dxN5!{5IDv;QUhN&L0xm)+m)ztO+dewzPa`nmlV$Di~+Rlnc!XU>ni zKc4^m{LA}S!jDSlr-QmaPpKpHd{qgww>2KLzRlX(vu>Q&PL;U;WZ`Z%2eZTpA%lG_m3%_Ok z2>Q|SJ@5PEZyjIvemnF-{`=f7$zLtMKmPXP>+0|OeqQ|P`z!4C?O)A5{eH&$O#YGd zbNw%ipWNT|zgPSS`gP&=#b0heJAd~7T>Jg-_vJqsex-d^`?l(P_s`Vd5r01YO8P$G zYuq=xAJ#v!e=h&!@~7c8G-t_a?FZW-ce=PW3`?dE=-?wEyx_<8bQTQYJ zhuSx;uTnn_|I+;7^X>h2)?Xig-u))=_2E~~@6&&L{K@<4>rba&BELWUy8V;?SMjf$ zpSjyd=dX{^}Xz?j&|V_dXeXJ^W4T z+x;&+Uy{E3{oMUI`?J)S&@Y=lUHdrmlgFoDAGJU8e!2Kr<;&#Hzdz-DIsL8Vo5Yu- z&sV;z{ucf{@_W^HwjalTi2ls|$?((b$HE`^Kfipx{dLB-%pb>oB!6G_&HDT2?-oC{ z|CssX(zl#1Cq9XMVgGLYz4x2I5B;AfzaRbf@Q2m!@ZW!b#r%HotNZ8O?_A$qz8n77 z{`11GjXzDk8-73ZL*=LQ&&$7he(U^v`StGC&L6eEru?e?IpasykNzL8f7t(e{afPC z$=`GSi2R-Y$L;Ule<%KF{fYU-|7Y9ZfWM}H)BgVayX61Ue+zy^{CxXs+Hb#K$A4b^ zefm$@pU%Gv{{Q`N^l$RtSO5O~cl^KdAOAn@ziNM+{(Sk9^mppN^#8&C&HpcC@M1d6 zbefT$k&#iEVdMW`Mk(e>=DAGl4EO%4F&$#kV+>?aVq|AzVR*%Gf@vbt7e)idIEGY4 zHzsjL3x*dAjf^1-xBo9^kY~_mNMJHxUCDZxNttN{%LFznw)re-EK#hDtoAIN%*M=T zSl+XoWuDCJ$h?H9f$2HZcV-n9cIHh?cbHx?c`-{epJZ}j3TL{{oXt9yMUk=i{}zU1 zCVyssmPKr?9RJuZuzX-`^Q;zZtJFdNawg9AUl8vXQxy zWg5#h=8w$3SZ1Yk5$Lzpl!cxl0%6g6E0rO8rEk-Y4lOBCA^Hh~C*(R~YuqCs-VSCQLpIwLb1hY5WN{$~K4>&WqnmNljA~>8llepx$t-1ej zw6Q9%3UJo*Oy>T?@r1pfLxVG%tBrd%cQV%kj$@o(xi@iZa5-?@=l;e!l~0n_iAR^` z2Dc7RB5yrkC0{0QGmipqFYhlNFW#kmJ$wgvbNJHvoA|5wfAHVsf6lKc@QGhS;Df*f z0c$=T9($gpysdm5e5t&xJeRp2aNF=U^GWeb3S;2^Mve;$8=fV)tTaHY^T0ZRcPfhxX8-U{B`yoP-H z_;(20<`?0A&UcFU3Qr#I6h2+PcAov*y*x|#>iL8CR`B@p81gRUJ;U3NBnP^sV!eo_9Xd{+F=`LzX>3A_`m7M#pKhtG!3oiCd25`U%8USV0`--70Xy@Hy; z4k8*N_QH<^=Ll>RXcjsk@?TU{G)TB!s7KgSF7ZDWwCu%JkCz2wvS2$PbyWkulGvPZzTZEzyZN~f*eAOLgxg(37!*76uc;?FJvVcBd}56slZkK3w)CNZTzSBmhgG-^YicE z-NW;X=K)UzPdZNv&j+43-Zi|ue2jcOJa@R)@bvH$atm^w;mYOW=d$O#!ttHsJI6u} zCXRkKHZ}%!K905QZEOy#Z#-hT{le1ABF1uuDVJ#ib1ut$=F3dinV6YZFxfJF zWQ=F5XZY~n;=kp8kN=ndKKQ-u_nAM6e@p%(|L*@4@+;~0wm%JjKK|1F75XdTm-R1$ zUoF4*e_Q>s|6%nb^XK*-3%;p;d;8tvhx0eaud}|IetYxv-PcoJHNO7);`CMJtM1qR zU#-5a`nKlVfv;6xkA4&R;rV0Ucd73!-}1gb_@eyP@@v7D*Pj)?1buP&()Fd}%lglG zpRa$O^jYiEjE^%v-TFM`^TAKEK0o~O>GS!IEFbTG`1fA+{i}EB?{~frf3N?3@%s($ zb>H*6zxr`CjIo;k&c%3g3CZwR~IhZpyo(Z|1z#d$aA$v^S?- zpLmt=D*6@c>)1CJ-gLfEe#`xi?d_FUe_yG*jd{oQF7&PYoAy`CFEw9UyxR5Z#H)R; zzP`HsO8C{Bm!_}MUNgS=`ugze_}7iEie3u8{QUCqtGZWrUi!YWdL8@P;Z^KQy;ovy z(%$yIm3y1{#`evExAyNBy*vHJ@r}USuy_04^}pqLv*ESS8>u&4Zw|iw`u6&pw{Iff zt$JtwPVF7nyXkLly|sEL`S#}PeXl3IUjF*Un{#h}zy0?1*jxLzFW>BYyZ7DPce?N9 zyiIv??Df?*Q{U;m?|R4i&gWhAyLIof-%omf>0Q%1&-drvr@ue-?&Z5p?`1zsd~f{z z`uqA1^FD0-Q2tTwQ{hL&4~yP6ynp&$_@nVh#Si5l>^_xzvihj`@$<)hAI(41z2Equ z{1e~ju1{^BOg=yUl=o5MWALZBpOwFS`<(On&ZjRQeLm)XWd7v#De2SVPhUSh`1JPE zl+QMwH9u|nsQPikhq#XuKk|HZ|2XMW<7d~;mp)zn^yO34r|M7jp9{Vm|MKU{rZ4%Q z?|ypn+3M@+uOeTgzkK`L{8{C5@8|DdZhuw%`uVf<=c%8Md{O?k;QP1l4d2#(x%c_i z=hiRYUpu}sevSKL_@(HJ&mY>-!^>X`fl^x{@cSZlfEqaGVjZw zFR#Ds`=a@E)7R{;H@|%OBL3~-w~gQaef$62=*N!lOTPd9F8O2g_k{14zWw^z{dM72 zpKlu9SA1XcUFy60x9eXweEs$H;J0tzvc9eUdhhG{Z+zdSzt?}?^!?iR4L@3cTKzQq z@$dV#9|k|8etP~q{Nwv~#UBfPy8qJox%K;tZ)d)RegE-&;rFlK_`l!(e&)xepOb#M z{}TN5@z=KBZogB1z5i+X>+~|Gxh&409O57y|##{&(VE%>VQMD;XFW z4Hz34g_uN{M3~Mor86&QN@V=U@PdJXaVDc7(`?2q3}+b*G9G3UX5Pvz_Zth-sc*$%Q5u;;NCvBk1VvbwMd zb3EbL$6>{>fL)wDfIW~yf-{9Pj+2wKfTNB58k-dRb9M_3Lyjhna~uaa&T+7EUg9{& zq0d>wS*E}v$t{t3{VBq}Dv4GlT0k7caLQ_k8YV zo_3x?+!5S-+{?J$az%36aDU)(w+PR2?$cbaIeR&Ga&F?%;#tm<%I(5=oBa$s8|PB4X6^*; z1a2N41s;BGORfc6%G^=hlelxZuX7c1MRLV)9pTF2mgcGF$>f>MozAtHa}uW)rzz)Z zPA#rbE<-LZu42yX9Lk(+oNk<kPJcYyxajtjAftv7BX@ z%DkN^mAR4S3d<9gEv(^e8(8^Rr?G0V&1Bug62%h4Qo+*3a-L;2>t@y!EK)4*Svpu9 zSuI#kus&sVVO__vo8=bEdX~E^lUX^~uCWTR^0HJiPh}Qoab)?&JeS#pnS(ik`6TlX z=9kPp%nz9CnRJ=TncA4#nN*lIFr8-RXW7sEjQJOHHFG%gV&+n2E#@v}VU}c;$1IMl zUs;k_PBFVM2Qx>pM6-TlImWEde3vPn={}PIiy*5nt10VDmVeBOEY&Q3Syr&hu<@~7 zWZlnN!Rp3(f;EgypY0^;e%6hwzgYZO3Rs$0m{>kD2eL4;gfdq$bFu=*i^H^qn!1NtBtJxt>X#NsFn0=?K$u zCQqhhCN5?x=Cw?`Obkq(OjDR%Fg<5-WZJ?wi!qb&FasBZJi`lyWX5X7JB(6HJ&cPP z@)-UzR5LDQT+C?9SioQeUKhp1z{v3Hzc#}{h7yMO{~7;S{;B_K`M37pzkiGW|MFXP{XfA;_R{wMwKqQ7o`um5TI6ZEI}Pv4)(fAaqr{$c;K_jl^=jNj9LU;Q2X zN9=F)UzfkT|7`rd^%vJ~gFm%@4*#C|+v(4&KRJIK|D5?P{9FDv)1Q@pdjI_XZToxA zuZmwizc_w}{Z9Qo?e~S>8NYY^I{8cGxB737-|v3={aN|@=C9qqZvUG1%kkIdUmd^Q ze(U{e`C0q3_veG3Gk=}`mHmtP*M^_YKUsek{j~kH{@1c!Gk?wg<^Jo=PqtrofA#(@ z|9$&c#IG+uvwk}KT=>)e*S23Pf7$<9`&0R+*iZML5kD{f-0&;>xAX4_zux>j`t#M# z?LVjdy!})Dm+mi(Uw41<{w)3x{G;~AgCF012>oRH>Gk9EcZVORer)=&^vCNTXMYs@ zIQ1j>XUos^Kh=Ik{Ce{<@h8L24?ik?O8nydHS?$I&ksKuf86}u|K0nC{7;FW1wS}{ z@csDxeb)EN?;pR1{rLM``}@9chrX45JN5PI*OT7@zYBi<@lE=>%6G2soZoG}`+fKO zzU;fgk00NQzvp~E{QdLyTOj`T{%`BP#eKi`{nYoG?_u9Pzw3Y3`0nuC;QP;S7T@=O zzx;js_ebAlf2jU=_VMm{?qH1%dZDN7ysP+^Vv_i zU+KTr{EGiI>8Hp~*`HoNeSY%&-1?*S$Ic(-KbwE{{ha#q(NBe6FMdw_srPf=k6k~+ zf8PBO`lICs_s`UyWF*-`=9S2KUV&D^rQR7sqY=%yMHkJD){x{=enP^zux^a z{LTA&#V@X3Nk46W?)z!?tL#_)FQ#8pe&+lH-S0K`=ft0ne>nY!`_cWw`-kI?xF4!N zzJ1sDk@Ca-htLm)AK5>oe>8r7_^s%h%eVG#_TQg;SNL)9yWe;D?`hvBez*Q^^L@{E z)gP5VYJaHx`1t+VceNkyf9(Hh`^)avp`SrNC4V;m=>9JIJ^TCb?^Axf_;Ke)&5xKL zPk)&G-0?%{hu@D+KPG|ile7G}`v=$0SwENj{Q5)m$E@$GzTf!1;Ct!!3*QZYNd0*A zUFJvMkCQ*Le%$)L>ifa(|Gv-rVg6J9=ZYVeKU{xo`QiPu@2AJlD?hgUIPv4jk5@k~ z{CM_5_hIq~O_pO=0L{_6hq_?O&oj^D+<&i*{}GvwFyU+aEN`!)Ah#xIFq zI=`m&Qe-{7w{`=lML${bl)E|M&R6*#BJr7yZlrXZ}y=U&X)s|E_@d3NrqG_RsA9-2WT?Pxznt z-|9c}|MUND{?h}WNT2&(lA)O4?SHHPZvPMe7h|Ym_{U(uD8;D9*vhzwv4=62(VWql zaSh{b#zl-%89y*8GreY9z_^3afaw*}bmooB?##EC&M-+bS23?!}T^9E)%mME6FEK6BpSTtDVSz=kN6L#d3&6leLO< zGHV3uF_sdRWh{qS*0UU8`M~m+WLdz%#=3_!nyry7p3RdjjxCJsFY6Q561I12Z`fY4>9bE@pUa-jUdFzh zeLeeZ_D=SC_CWT}Y<+BvY|q%z+1IfjVn5G5ksWlCLKXWI_Ad6>?5o-9*?rlg+2^ru zW1qu*jGci)nZulekz*EnJi7_I9{VZw+Z@%LPMjAw?sDjI3UE%~_`$w}eLuSvM=!?` zju{+NIovo7ub{+P3c2SO{9G5sQam?nB;5fC94Q;lm5*E23Y?qKe2?rv@m?$=yfxQ=k$ z;@ZR2!!?bIm%EF5HTP!j)7-1M&A5+o?crkKj^tj!{hIqYcMP{2_cyMqT)f;_-0|Ej z+|Rh&xo2~?aQkxGbBA&VaI{akan+_?U69_5_J zxrOryCqI`umpm5_7aP|v&QF{?Tq0a+IE^^9I0HHLIG=E^aW3V2!r8*<#OcAw#aYV1 z$ic{w&#{+d5=SmaJ%=gBJofqQ(i~zOv)SX={n-Dqtz=uucAV`X+ZwjDY?Ijh*gmt) zWwl^^!NST~%sPQJnzev+59=D%U{)d4pDY5b?yOa;S*+(-6j)4H7PHi{d}W@;T+D35 z%+74b+{3(-c@y(`W@qL^rlpKK82y-bFs){CXZpeToAEE>F~&8FuNb+R&N8lMyv+EP z@d@K&#>0$tjINCOj0%j5j8_<%7-Sjl{eSfT%m3H^U;P&V??C+b{{ncQX3zhg|Gxj< z|6BC0@Sop5Ww|9`*!mH3zYujHTHzw>|J{tW=% z?U3}(QWp`TzUdZHX93=j$KK zfAs#S`cd?w?nnL)n;!x{cz!7Uu=-*5bQjvEqmHPoAG8KR$f_`90ysvL8!+)co-L!TaOX_ZieTZvXlBC;Kn{UrfI){+#nO@u$SkFF*W#zW*8ZE8&;QuXjIR z{uKS?^2_^||F5cFD}HVLb@JEyUypz7_;vl4?r-1UY`^FJS_nEv?|0d6+28km9s70W z7t`OMjpEZThG7&%!@X{}}xB z`J4QA<6qH#2LHbQUHmuUZ^+-)zeoRm`TO_p)xY!p=KQt%tNXX+@7upx|Lp&H{d4>0 z^KaI_$Nw(>TlBB%U(i3UfAar2|K0m{>))<_)BnZ)Q~sy?ukRnne~teV|Be1<{ZIT4 z+DHEAzdFPH|B?Us|4aNg`5*E>^S}H5KmT_B+w|}DzwiGZ{k#3|+rMA`-uyHDf8xIy zgD}HA@Qx!5hCqgNh8PAN1|9}A27iVK20sREh7OO{1^K#{a@q1;eU?*YyUO;TlSCjzxRKY|2zIo`FHJ~(*MZ+6aFv!U;5wR zzyAOJ|A+p^|Nrq%_f3N>t`?u%cu75}VUHht$z>y z9{hXoFY~|he{28E|2N~`w12Jtdj9SG_v0VS|J(nT{A>L;`QOoh-2Y?$&;GyUf8l?V z|7!mY{|o*<{%^-W&@QUu|H}Wl{xkUJ`|tF>!v9 z)BjifFaMwLKjDACfBXM!{}~u;7~H|D%>VyC@&D_8c?JfCyZ>1jWEf8U&;MWc|Iq)x z|KI=L_kZ#KP5)2-zxMy>|BwHlf_I8v_|L@P!H~}2!N9}t`v1TGIt;N4y$s73RxxZ~ z*vW8(fs@gev50Xs<66c{MoY$M#yO1J85b}XGR83$GgdHWFh(ca@eboH#@&pY81FI4gHQ1HW%6LkW$I-rV{&4WXL4ZbX4=WLim92Y zo9RAN0CNv>J98`Z8s^Q+t;|i#N0@n8?7=rMsDN*KaAI+0NoASIa-M~O)qu5y^&;yv z*2Sz7SdX$Yu>EGe!g`LClP!?|Bi9DCWj*lXEK*&EoevU_k8a_Df}Wk1ipi@k$ApS_NKA^S~sWsWG0I*xf93ph$R z!Z;i_q&N&XCUZRJVBlop6z8 zz~##2#U;lj$`!$t!zIUci}NR^16LrIG}lSa`JBf%nYrF_uHc-+IfZix=QB<#E?chm zoSQk+3s@^i&;E#*4IwS}vh%Z*EkONL97igsI zJm+}Aahqcw$0Cj;94k2%actzc#Br9RpF@M=9Q!SHXO3+gpE(|I^l(UW%w>0A*JKZ8 z?_;0BUeDgbzMB0C`yX}zj<4)z*-x>bWZ%r*!(PSS$lk`@#lDDrH~Uuh8SE|W_3W+e zi`h@HKW2Z-ewck4doH^*`%ktrY@l1k_}D+Ntzk=Ma{%9e)xcKCR?F7JwwUcc8xOk- zyEHos`)Rf|wmi0GwrOm0*!tM=*@D?z**w@H*s|Fg*`}~{vt_Y`vYD~{W&O*V%66UY zE88WuHa2567B&_(aW*+NSvDg!Q#LNP=d90IpRvAR{mXivwVc(8HIB7}HH_7VwU~82 z>nzq(R$11kEQeXvv&>{EVR2v)WMN_vVNqrI&wP}5AM*odHWmpMK945kb&45bVu4BiaB3{?zM7$z{ZGBhz1 zGXyc%Feos*_`l=-*8ki7cl`JJ@BBadf7*Y?|Ns7-`?v4kv47|OUHy0J-<*GW|3d#+ z|I_#<^H202_rD*1AO1b?x8bkH-|)ZF|8D)e@bApOoBy8qyZ`UJza4)w|62dm{cHQz z;;-Ug&A*O+-T#{YRsQS#chcXrf9wAG{x$gf_s@zy(SKC`{Qv#-_s`!ff8PJT_50%Q z>%TwzX8rT)_vPPff6w~8;`f!`uYNE8ZS?!eudBb_{!;s${5$Kn^>6mycYhuGb^Djt z@9^KHzvF)!{pR`o`q%MaTYv5Tb@er@U7k};jRrSm8*T8lRq~7IQZlGkMBPOe{%hN_T%V})jy{E znDk@Tk7YkL|Je0o$B(r?rvIq=QTU_#$I2fYf6V_;`y>BH3;0%TrJoKz1%F=oaq`FY zAE$q;{xS2%${*)`y#Dd?$Fm`c=F@d50#$|Kb?O{|J?l}=10Jf#Xnens{Z`+W5tiIA5(tx|0w*C_hagh13#|* zc>aUwr_fKgS=KUw?A{V*7RH=fa zF8^8h)9&su)eqH(X_}7bH?|%vWcKhA& z`{3_$zvujp|DE=G!SDUQSNxvvd&BQfzh(c3{$cpT{zvhT;UA4ZLVpDQDE+bhll*7W zpT&Qs{K@~L_lNP1@}HVN8~)7sllsTxkKv!BKg<5S`Xlj|=kJX_Oa3(fY5lYC&xSv% z{%rko_Ydn|!N2leP5bNq*Y9us-pk@1MUO|GNHl{EPjk@bB8+$$zW=uKz3jukzolf0O<-{mc9p_|NBG*uU_9 zKL7mwh5d8;r}7UQP>VNhBy#ERO zWBAAYPyC}T_^Y`T6AAi~YasT80_xA7fzlnbv{%-$!=kKS#jQ{@r zee(C%-vfUi{1y3U_>be?vcDOB8~+~p`{M7DznA`Q1mC_fz~fQz<-JVGXCZLOZ?~Z z&)}caztVpj{yqHn_urd;Xa8OM_wyfUf4kOy&;ODCEB~+gfByfa|L6YS`Tyeolm8$7 zt1)CUOlDZduz_I%!xDyN3}?W1gI;0y%plF^$Qa3(%Gl1hgYgjK9L8G4QpQ9^D@GMY zKgRWppBO(go@3m`xPuXNZoV>;DARYwH;kVd|1wH4`7sqU)BLXJ%yi%6y;sJo6dwz2OU)S2Ay6-p_o3c_;H0<}=Lq zn4d6zWPZndf_X9X9OgC5rf6V8Zk1@Ys293Wnv3z6x z#r&1|8#4zB8_Of+t;`FUS1@m8-pah2`84xQ=8Mc*nWrgNXX&2LGrnOAln2s>5XR2k2 zXNqJ>VJc^;XKH7f$kfCX$K=5j&(y{=k*S0!fhm`%ovEEElgWe0fytUll}VIInn{M~ z590&I>x`Efw=?!I7Bki}PGIb2tOegARl``!7|ZC&Xv%2K7{-{v7|h7SxQAf@!*+&S z49tv*jNFVn8M458&&3&p8H5;Q8FUyd7#tWZzVNY8u>bM@%l;Sr5B?wUKka|=|A7Cl{{#MK{jdK&`TyGgJN~c# zzxe;G|5Lzw0#E%v^Z)$+^ZyV2pYuQCzx98e{|^6C|Cjy`|F833;6LwwvH$A-jsKhf zxB74LU*o^%|1bZp{k!?^&A(UwF8n+E@BTmL|NsA8{kQJljDNlV>i$*y>;AX?-_d{D z{!RK<`Y-)o{J*4sW&gVVP5d|g-`syo|E>ME>)(ZcZ~qDX*9D&~_5a_ie^36s`uF`G z$A6Lk(*KqI%lsGkFZN&Ozv+MF|04fo|Ev60`EUF`MIEd0Oe|L*@s z|DX7O;QyZgJO6`DI@t05-2Z$3Z~wpg|NVbq1_cIL22BQY20aEv1_K5s@aapn49yJP z42u|6GfZH}X2@cg#ITFu2*Uw}BMfI4&NEzQc);+RL4Z+&QH9Z)F^MsP(U&oSaSG!F z#y^alOn(@kGu~jl$M}O$gh`x>ae3&Ab(wRz`YM45h<}z($ z+Qqb%sfVe6DVM2&sgY?O(|M-POdpv*H))+>dd|eiEXFLw%*_0f=`9mKvnsPRvjDRQ zvmi4UvjDRpb2xK4b1btbvlX);vp%yqvpKUqvpTZ|vm_1D?w&=<|5{D=4fUUW(j6KW&vg?W<6$0W(DT=OgETbGJR%x z$#jS59Me{&1x(YJW-~2fn$6V66wBnnBos zo-kZzxXbX9ft!(o@eji<26jdXaL?{7!*hl=3_lpy82K657(X-IWjF&q;g6S5nNf`K z1H)d1c7{}jY=&-zg$zp=rZAK+1Tk2H?>+QnNMWdAXkaK~NM#6P2xjnMFk?_-&|z?7 z2xf?7NM$HsNN2EMU}Sjx|L1>U22BPH1|EjT{}2A(_<#NXmH#LGulk?$KkI+(|H=P* z{}=v`2k#P20iUZC``;bBCpYDP(f`K(z5kp3=lxIqAMxMwzsLXZ|LOlz{zv_f`=9bZ z?7zc*yZ?Uw{r}ti*Z42_pXvYme?R}p{F>3_5C7i%yZ`UB zzm0!;{!ahf_qYCU&ELkqZGYSUPWrq0?}5KN{?7Va@i+Xh(O>bu5`VS+>iiY^`{K{G zKg<5?{qyk8k3T>EJo>ZwPuriWKNJ7#_;cgW(?3uCT>EqI&&EGn{~Y^s@z1$G`~PhD zv-8iXKj;4J`m^HCf?^H0v7%s)kc^8Y0MiT;!FC;d;- zpUgkyf3p7g{c--|^T+Lv)*p#KDu2xW82nNBqwq)OkJumaKO%ov{(S%a_4lXWpML-R z%?fT?fyNbo|Nis)`|nr3Fa199`~2@Wzq$S>{!#xU|3~JJ(jUz~hJP&onEz4z!~5s| z??1oU{_y@?_Qn ze*F8|@8iEW{ht4O@$W6acmLktn1H| zKOKK^{zUwV`&0g>=g;y#C;nXjbNtV`KePT!`!ny)jz4$*eEak35942ZKK=Xo@7=#U|E~Xg`H%U({D0m5y8ku)>;Cup zU-^I8|Ly-*|DX1M>i^aMkNm&%|MCBi|3CbH`TyO2HU>ooGX_6~WQHV$Xod`iYKAiK z`Jj;u%?z6uPB5HgIL&Z@;R3^chLsHS7}hh~WDsNYXN+U?VANrhVw7YwV@zdiVQgb8 zWlUyFVk}|oWn9I0i18HTPR3=73mKO)?qR&i_?Gbv<8#KhjQ_#6l*lnDFljTHG8r%# zFnKc-F->9G%ygV-C(}Zv*-R^#HZyHvTE;Y!X&Tc6raGofrgWwTruj^3nN~8bWjX*> zw}xpw(`lwZOzOwh3w~U_|e=#yLaWV-p zDKaTAu`|77yvlf*@jT;I#*2)n8Ba5wU_8orh;bL=O2&zdEsU*z z<0kM7T|HwXV<%$|V=v=O#^sE27%Lg07?T)#7&kC(V_eNRpK%&vA7eM;B*wXn3mNAz zE@WKKxS4T2V;f@)V<}?>V>qKHqaC9iV*q0^V>)9JV-jO3V;rLwqYp&qY|SkqckHE z;}eE!40joxF}z~<%D~1bz{tnQ!zjk6&S=7D!Dz;4z^KkB&B)65mf;Bl=(KzeMpnk( z44)Z(GO#dmFtRX$z;}jc43`-WGi+nn%CMi|GQ(|#8w?j1E;8I;xXo~#;T*#WhGPuJ z8ICcWVYtC?hv6c_eum`?GZ>~Z%wU+!FqdI6LoGu#Ln=cm_&l>zh9ZVKh8l(xh5!aH z244nm1`mb+h9rgzhDZh%20I2{h8Tt*1`7r)1`P%!23ZDG1``H526F~&22BPN23H1e z1}6qn25kme1_AJCyr03hUi|&f%D~FN!ywKe&cMO&_dhd(FoO((FvGw9U;qF6&&wdo zV8md>pv>^^|C|3G|Ns8a%^<}9Iu(tLL5jhY!HvO}!H>a_L5D#Td;(4jLp?)2*tMW@ zismw`U|7Sjl3_kW2SXM^1Vc1K9zz58|1bYJ7d423`hH1`!4U1}+9xhTq_mJKp|(^8f1p)Biyy>u&jf9 zzx4lx|6Bj>`hV>I@&6nCH~)|R@AcmcddIo?fAjxd|D*q>{7?BG`#HjPK zxBc(^-}1lsf5QL3|8D=C|2zG6`tSMQ|G&e3ng8GZ-TZd~+&8@R@9Mv+|8D+!`0wq% zKmWM?^ZsZ5&-nlQzjyy$|NHvy@4xr|ZvVUd@AAL1{|@}y`ES#|MgJ!M>;BjGZ~DLa z|Cat+{crQXo&OH}JNoa~zq9}D{CoZH^}i?o-uz?!FZN&JztDf4|IGjY{`>on;Xl*= zzyCh`d+_hhzgPd5{|o%*`_J=V;=lHPga7LPHU2yQ&-~x?A2iR_{=fcz-typFaBT1zwmzv|5E-%|MUCj^Dp9G^1q~ivH!xsBP#Cyoc|g86ZyyZkMp0(KL@aw zz!zrFuX|2zNh+`sex&i*_0 zZ~MPB|2FI|g!~Q4y&-h>PzvzGV|FHiy|MmZC{#OIv%+Wa^Aukv5~ zKiB_1|9<>q{LlLT@4v7AzWn?8?;SXn|Ni6n|L@=9e@FkV`M2cX+JC$Mo&0zC-_3v5 z{$2ie=HIS=%m2*>=hijmuYc_S zW&a!hxBYMaU+cf}e}(@N{{{Z@{}=l&4i@(UpZ8<--}1lP|M35b|KtA${&)TF^FQT( z{r~>|z5gr0rC#>`O7LlXssF?O`~MI7pYgxsfBApV>A=nZTmN_epZ0&rf6$qJJO3Z} zfAIf_|M&ibMirj^zw-ao|C9eO{lEYJ(f{lJkN-dP|G@v_|1bZ4`2WrSci^*>{`}`+ zkYtc&kY$i$kY&(fuw-y&2xJIlaAVM7kYJEzFktXwNCVdju?(RM{tUqk(F`dJxeOHy z%?v#Z6Bt0Jyscu`!El)27{fk>O$u~Nt8)}$&ks0$)3r9$(6~MDS#=2DV`|@+_!IKYGtZt zs$!~Ss${BRYG!I@>R@VP>S3C~G>d6I(>$hGOp}-w zy3Dkj3Dn-)%XE_I0@D?yYfRUet}|U>y2^Be=@!!irl(8~m~JuMWV*w2kLfYf6Q&1D zSC|ektz}xuw1Q~^(-x-9Oq-eZFr8pJ$8?72DARtX-Auc{t=N-HN11jotz=rjG>2(2 z_|EDorgEl2rb4C?rd*~3rf8-prZA=eCV!>?CJ!bXCKD!OCL< zWBkl`n{hwma>n_L3mBI%u4UZBxSDYiV=-eAV+vy$bY#SZ(Vo$o(TGunQIwID@h`() z1`b9+Mqb9h46hlUF+68@%5b0I4)|>2?+h%A%#5EHZZn)$WyoZRU~pzIVo+g_1hcj2YCxV!8|_43-QI3{DL044|_SBf;lN`ZGi`q%q_( z6fxw2$C%Q=ye5W;4AU8AG0bF`$}o|klcAO&k0FU6h9QC>oFS4Sfgz0{iy@66nIV=T zoFR-M5`5Y-=p^DqhCuKMeHILs40a5z4E_wE3?U3|3>FN!4B8CZ3`PtN489Cu3^5F` z3}FoZ4BiYb4Auplo3@QxD3^L%_m5YI$fr){Mfs=uc zfs=uO;s1Y524MzJcycgsGVn5pFvu{-fOD}LgEoT#0|&#G|F6I;(;xp?z>$|33rY5^?bVS#WFd=Kpj5_x#`Zf9wC_|1bVO_y6$! z-T$}#U;BUA|3&{7|6dM1`~4)?tlR%D{lE18_W$Sqzx-!pU}pIGA9Rx2r~iBmx(u!i zK@9N>`QVcp;~4xI+!>r0To{5F5*acXGQnXU4G!-th9vNvCBY0q4BiZm43-S045kcr z;ImFs84?-77+VDnkT=4}%XwBslKV84?(xz%6c2ngE@U=L0@3 zFPb41Y=b|8AA>)*d<|y^U~pxyV=!ed4E%l;St&;FnJKkq;2gtxf=9{+9sJO2;-AO1i5e=ztgX_x;#|Kt7_|F8XD z^S|_e_WzXsN&l0i)BnK#ssF3~cm1FIf6D)! z|F!>%{ulqR{@?Py|Nks-3j=ii?9~6W|4;uv;eY%8s{c9vQ~ziD&-$P7KmC6u_!gm> z|Bc|Ynp^)jfzM&C|KIz64p{H>{}aKd)q!qc=>1>yKk0wKe=qR3n%jT3|Mve)!0m8b za4*67ztMl~|El0NkH&ww|3d#c{p$0jp8u@>LG8&$|E_^sS?B*<{dfQ0 z%YU!`z4-U+-_w8h|6K*Qz4rav@o)RTo&UD|+wgD2zxn^B{pD1c!uxo-%o#;{t5n*1ncDf$NG=?AICq@e~SO)|B3zM{m1=}=b!LD$$yIf)c=L3d*|NQ<1{fqpU z{IBp|{lB(<9sm0N&HlII--drX{~i5z_1~j^@BV%L_x<0ef3N?2_y=m&flhd4{QvFW z$A9nsefanN-`{`C|2h8)f$ykL1h2%B{;&LB{lC_K?f<&}jsM&I_xT_BKlXp@|ET}r z|D*mV{?GcK2Tr*O|1-fSUw8a({9pb*58TQu_+R(G@Bj4wbN|o(zv%z6|11Bm0pC;v zx@ThX|2hBX{$Kik&Hr`K9?7}?m;PS{-)em3|Hc2HQwo3o|NZ|bxE2v*&|$D+uxHR` zkYNyEkYZ3_P-T#2;A3E6U}oTDkY-S2P-9SKkY|u)kYi9~&|=U8^VJ!&7}Oc$7(^I^ z7{nN)7$g`388{eN7#J8B8Q2*382B038GikL_y6_(_y2$X2i>kD!XUvQ${@(V&%ndL z%J35`_xAsX{~!K8|9|KIt^W`Hzxe+e3_-Qwr~lvngYLTd^PdG=;`1^vGraqM_y5)Z zpgSXu|3Ccy@c)zluY=FDWME)nV1d@1&;DQkfA0U;|5yJ%{{Qtq3xgno5Cb>ZT?}Bi zF*9&62rvjT@GyYRV1E7o-G9*Oz`_iI3@i*E{@?n4`u{0#IsNqitN$PVfBFCQ|JVN? z{y+Q=ntj^$|JeVF|8If&wKxCY`hOohmjmkm-S~gw|AqfY!Sh@f|3CQu0esTt^Z$?j zKmGsW|EvG+{(k}c=HGu71}<>D4GIT71}+9J1|9|h1|bGP24MzC21N!923-aN1~Udn z1|Nn%27d-$244m*1`h@wh7g8$hD`7Yw-F593=Ry|3>FL)40a42;5&T67@`?s7@`;= z8Dba`8PXXF8EP5Y7`hoIFiZ#cj6ti&wlHi4w`CSG%w?F%u$W;T!*+(<40{;%GaO|& z&2Wz4Ji~d0iwsv7ZZX_pxWRCR;X1=3hPMnK7~U|vWO&2yk>Mi)=p6jp40jpsFkE9e z$8eNkAH!aT!whE`ZZJGzc){?B;RVA}hNldV86Gn{VR+8)is2Q*Ylb%rZyDY*d|~*; z@SWio!(WEq;IoOD74qFV>x3TV;f^X<0Qsz#s
!31bCg17incCu1{XHDeiL31bms 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 z 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–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�NY{KSXOIR6V_tZSk?lTer8eT0A^2? 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 Qh{4X(ycAodawU5^003G%3jhEB literal 0 HcmV?d00001 diff --git a/Media/Textures/callout_circle.dds b/Media/Textures/callout_circle.dds new file mode 100644 index 0000000000000000000000000000000000000000..0ce449bc022180d7a49d2b97fd698eb48b24320e GIT binary patch literal 272 zcmZ>930A0KU|?Vu;9}rmU;yI@3=9m6P|QFAP+(wSU}0cjaES;p!KzIFQ!3I>KbU;lr!|NmPaq~C#|!GU}AulIk-@}fbq%$%xM7rg|T-p_J* a4o@-z14AbF+W%jV_v_vU$sb6F2nPV!p-n9S literal 0 HcmV?d00001 diff --git a/Media/Textures/circle.dds b/Media/Textures/circle.dds new file mode 100644 index 0000000000000000000000000000000000000000..35aa072efdd2f4f65d3c33136adff12cdc100d52 GIT binary patch literal 621072 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 @@ -352,29 +351,32 @@ void DX::DeviceResources::CreateWindowSizeDependentResources() m_d3dRenderTargetView.ReleaseAndGetAddressOf() )); - // Create a depth stencil view for use with 3D rendering if needed. - CD3D11_TEXTURE2D_DESC depthStencilDesc( - m_depthBufferFormat, - backBufferWidth, - backBufferHeight, - 1, // This depth stencil view has only one texture. - 1, // Use a single mipmap level. - D3D11_BIND_DEPTH_STENCIL - ); + if (m_depthBufferFormat != DXGI_FORMAT_UNKNOWN) + { + // Create a depth stencil view for use with 3D rendering if needed. + CD3D11_TEXTURE2D_DESC depthStencilDesc( + m_depthBufferFormat, + backBufferWidth, + backBufferHeight, + 1, // This depth stencil view has only one texture. + 1, // Use a single mipmap level. + D3D11_BIND_DEPTH_STENCIL + ); - ComPtr depthStencil; - DX::ThrowIfFailed(m_d3dDevice->CreateTexture2D( - &depthStencilDesc, - nullptr, - depthStencil.GetAddressOf() - )); + ComPtr depthStencil; + DX::ThrowIfFailed(m_d3dDevice->CreateTexture2D( + &depthStencilDesc, + nullptr, + depthStencil.GetAddressOf() + )); - CD3D11_DEPTH_STENCIL_VIEW_DESC depthStencilViewDesc(D3D11_DSV_DIMENSION_TEXTURE2D); - DX::ThrowIfFailed(m_d3dDevice->CreateDepthStencilView( - depthStencil.Get(), - &depthStencilViewDesc, - m_d3dDepthStencilView.ReleaseAndGetAddressOf() - )); + CD3D11_DEPTH_STENCIL_VIEW_DESC depthStencilViewDesc(D3D11_DSV_DIMENSION_TEXTURE2D); + DX::ThrowIfFailed(m_d3dDevice->CreateDepthStencilView( + depthStencil.Get(), + &depthStencilViewDesc, + m_d3dDepthStencilView.ReleaseAndGetAddressOf() + )); + } // Set the 3D rendering viewport to target the entire window. m_screenViewport = CD3D11_VIEWPORT( @@ -522,8 +524,11 @@ void DX::DeviceResources::Present() // overwritten. If dirty or scroll rects are used, this call should be removed. m_d3dContext->DiscardView(m_d3dRenderTargetView.Get()); - // Discard the contents of the depth stencil. - m_d3dContext->DiscardView(m_d3dDepthStencilView.Get()); + if (m_d3dDepthStencilView) + { + // Discard the contents of the depth stencil. + m_d3dContext->DiscardView(m_d3dDepthStencilView.Get()); + } // If the device was removed either by a disconnection or a driver upgrade, we // must recreate all device resources. @@ -575,7 +580,7 @@ void DX::DeviceResources::GetHardwareAdapter(IDXGIAdapter1** ppAdapter) } #ifdef _DEBUG - WCHAR buff[256] = {}; + wchar_t buff[256] = {}; swprintf_s(buff, L"Direct3D Adapter (%u): VID:%04X, PID:%04X - %ls\n", adapterIndex, desc.VendorId, desc.DeviceId, desc.Description); OutputDebugStringW(buff); #endif diff --git a/Samples/Graphics/DirectXTKSimpleSampleUWP/DeviceResources.h b/Samples/Audio/SimplePlay3DSoundUWP/DeviceResources.h similarity index 100% rename from Samples/Graphics/DirectXTKSimpleSampleUWP/DeviceResources.h rename to Samples/Audio/SimplePlay3DSoundUWP/DeviceResources.h diff --git a/Samples/Audio/SimplePlay3DSoundUWP/Main.cpp b/Samples/Audio/SimplePlay3DSoundUWP/Main.cpp new file mode 100644 index 00000000..7c56cf1e --- /dev/null +++ b/Samples/Audio/SimplePlay3DSoundUWP/Main.cpp @@ -0,0 +1,357 @@ +//-------------------------------------------------------------------------------------- +// Main.cpp +// +// Entry point for Universal Windows Platform (UWP) app. +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#include "pch.h" +#include "SimplePlay3DSound.h" + +#include + +using namespace concurrency; +using namespace Windows::ApplicationModel; +using namespace Windows::ApplicationModel::Core; +using namespace Windows::ApplicationModel::Activation; +using namespace Windows::UI::Core; +using namespace Windows::UI::Input; +using namespace Windows::UI::ViewManagement; +using namespace Windows::System; +using namespace Windows::Foundation; +using namespace Windows::Graphics::Display; +using namespace DirectX; + +ref class ViewProvider sealed : public IFrameworkView +{ +public: + ViewProvider() : + m_exit(false), + m_visible(true), + m_DPI(96.f), + m_logicalWidth(800.f), + m_logicalHeight(600.f), + m_nativeOrientation(DisplayOrientations::None), + m_currentOrientation(DisplayOrientations::None) + { + } + + // IFrameworkView methods + virtual void Initialize(CoreApplicationView^ applicationView) + { + applicationView->Activated += ref new + TypedEventHandler(this, &ViewProvider::OnActivated); + + CoreApplication::Suspending += + ref new EventHandler(this, &ViewProvider::OnSuspending); + + CoreApplication::Resuming += + ref new EventHandler(this, &ViewProvider::OnResuming); + + m_sample = std::make_unique(); + } + + virtual void Uninitialize() + { + m_sample.reset(); + } + + virtual void SetWindow(CoreWindow^ window) + { + window->SizeChanged += + ref new TypedEventHandler(this, &ViewProvider::OnWindowSizeChanged); + + window->VisibilityChanged += + ref new TypedEventHandler(this, &ViewProvider::OnVisibilityChanged); + + window->Closed += + ref new TypedEventHandler(this, &ViewProvider::OnWindowClosed); + + auto dispatcher = CoreWindow::GetForCurrentThread()->Dispatcher; + + dispatcher->AcceleratorKeyActivated += + ref new TypedEventHandler(this, &ViewProvider::OnAcceleratorKeyActivated); + + auto currentDisplayInformation = DisplayInformation::GetForCurrentView(); + + currentDisplayInformation->DpiChanged += + ref new TypedEventHandler(this, &ViewProvider::OnDpiChanged); + + currentDisplayInformation->OrientationChanged += + ref new TypedEventHandler(this, &ViewProvider::OnOrientationChanged); + + DisplayInformation::DisplayContentsInvalidated += + ref new TypedEventHandler(this, &ViewProvider::OnDisplayContentsInvalidated); + + m_DPI = currentDisplayInformation->LogicalDpi; + + m_logicalWidth = window->Bounds.Width; + m_logicalHeight = window->Bounds.Height; + + m_nativeOrientation = currentDisplayInformation->NativeOrientation; + m_currentOrientation = currentDisplayInformation->CurrentOrientation; + + int outputWidth = ConvertDipsToPixels(m_logicalWidth); + int outputHeight = ConvertDipsToPixels(m_logicalHeight); + + DXGI_MODE_ROTATION rotation = ComputeDisplayRotation(); + + if (rotation == DXGI_MODE_ROTATION_ROTATE90 || rotation == DXGI_MODE_ROTATION_ROTATE270) + { + std::swap(outputWidth, outputHeight); + } + + m_sample->Initialize(reinterpret_cast(window), + outputWidth, outputHeight, rotation ); + } + + virtual void Load(Platform::String^ entryPoint) + { + } + + virtual void Run() + { + while (!m_exit) + { + if (m_visible) + { + m_sample->Tick(); + + CoreWindow::GetForCurrentThread()->Dispatcher->ProcessEvents(CoreProcessEventsOption::ProcessAllIfPresent); + } + else + { + CoreWindow::GetForCurrentThread()->Dispatcher->ProcessEvents(CoreProcessEventsOption::ProcessOneAndAllPending); + } + } + } + +protected: + // Event handlers + void OnActivated(CoreApplicationView^ applicationView, IActivatedEventArgs^ args) + { + if (args->Kind == ActivationKind::Launch) + { + auto launchArgs = static_cast(args); + + if (launchArgs->PrelaunchActivated) + { + // Opt-out of Prelaunch + CoreApplication::Exit(); + return; + } + } + + int w, h; + m_sample->GetDefaultSize(w, h); + + m_DPI = DisplayInformation::GetForCurrentView()->LogicalDpi; + + ApplicationView::PreferredLaunchWindowingMode = ApplicationViewWindowingMode::PreferredLaunchViewSize; + // Change to ApplicationViewWindowingMode::FullScreen to default to full screen + + auto desiredSize = Size(ConvertPixelsToDips(w), ConvertPixelsToDips(h)); + + ApplicationView::PreferredLaunchViewSize = desiredSize; + + auto view = ApplicationView::GetForCurrentView(); + + auto minSize = Size(ConvertPixelsToDips(320), ConvertPixelsToDips(200)); + + view->SetPreferredMinSize(minSize); + + CoreWindow::GetForCurrentThread()->Activate(); + + view->FullScreenSystemOverlayMode = FullScreenSystemOverlayMode::Minimal; + + view->TryResizeView(desiredSize); + } + + void OnSuspending(Platform::Object^ sender, SuspendingEventArgs^ args) + { + SuspendingDeferral^ deferral = args->SuspendingOperation->GetDeferral(); + + create_task([this, deferral]() + { + m_sample->OnSuspending(); + + deferral->Complete(); + }); + } + + void OnResuming(Platform::Object^ sender, Platform::Object^ args) + { + m_sample->OnResuming(); + } + + void OnWindowSizeChanged(CoreWindow^ sender, WindowSizeChangedEventArgs^ args) + { + m_logicalWidth = sender->Bounds.Width; + m_logicalHeight = sender->Bounds.Height; + + HandleWindowSizeChanged(); + } + + void OnVisibilityChanged(CoreWindow^ sender, VisibilityChangedEventArgs^ args) + { + m_visible = args->Visible; + if (m_visible) + m_sample->OnActivated(); + else + m_sample->OnDeactivated(); + } + + void OnWindowClosed(CoreWindow^ sender, CoreWindowEventArgs^ args) + { + m_exit = true; + } + + void OnAcceleratorKeyActivated(CoreDispatcher^, AcceleratorKeyEventArgs^ args) + { + if (args->EventType == CoreAcceleratorKeyEventType::SystemKeyDown + && args->VirtualKey == VirtualKey::Enter + && args->KeyStatus.IsMenuKeyDown + && !args->KeyStatus.WasKeyDown) + { + // Implements the classic ALT+ENTER fullscreen toggle + auto view = ApplicationView::GetForCurrentView(); + + if (view->IsFullScreenMode) + view->ExitFullScreenMode(); + else + view->TryEnterFullScreenMode(); + + args->Handled = true; + } + } + + void OnDpiChanged(DisplayInformation^ sender, Object^ args) + { + m_DPI = sender->LogicalDpi; + + HandleWindowSizeChanged(); + } + + void OnOrientationChanged(DisplayInformation^ sender, Object^ args) + { + m_currentOrientation = sender->CurrentOrientation; + + HandleWindowSizeChanged(); + } + + void OnDisplayContentsInvalidated(DisplayInformation^ sender, Object^ args) + { + m_sample->ValidateDevice(); + } + +private: + bool m_exit; + bool m_visible; + float m_DPI; + float m_logicalWidth; + float m_logicalHeight; + std::unique_ptr m_sample; + + Windows::Graphics::Display::DisplayOrientations m_nativeOrientation; + Windows::Graphics::Display::DisplayOrientations m_currentOrientation; + + inline int ConvertDipsToPixels(float dips) const + { + return int(dips * m_DPI / 96.f + 0.5f); + } + + inline float ConvertPixelsToDips(int pixels) const + { + return (float(pixels) * 96.f / m_DPI); + } + + DXGI_MODE_ROTATION ComputeDisplayRotation() const + { + DXGI_MODE_ROTATION rotation = DXGI_MODE_ROTATION_UNSPECIFIED; + + switch (m_nativeOrientation) + { + case DisplayOrientations::Landscape: + switch (m_currentOrientation) + { + case DisplayOrientations::Landscape: + rotation = DXGI_MODE_ROTATION_IDENTITY; + break; + + case DisplayOrientations::Portrait: + rotation = DXGI_MODE_ROTATION_ROTATE270; + break; + + case DisplayOrientations::LandscapeFlipped: + rotation = DXGI_MODE_ROTATION_ROTATE180; + break; + + case DisplayOrientations::PortraitFlipped: + rotation = DXGI_MODE_ROTATION_ROTATE90; + break; + } + break; + + case DisplayOrientations::Portrait: + switch (m_currentOrientation) + { + case DisplayOrientations::Landscape: + rotation = DXGI_MODE_ROTATION_ROTATE90; + break; + + case DisplayOrientations::Portrait: + rotation = DXGI_MODE_ROTATION_IDENTITY; + break; + + case DisplayOrientations::LandscapeFlipped: + rotation = DXGI_MODE_ROTATION_ROTATE270; + break; + + case DisplayOrientations::PortraitFlipped: + rotation = DXGI_MODE_ROTATION_ROTATE180; + break; + } + break; + } + + return rotation; + } + + void HandleWindowSizeChanged() + { + int outputWidth = ConvertDipsToPixels(m_logicalWidth); + int outputHeight = ConvertDipsToPixels(m_logicalHeight); + + DXGI_MODE_ROTATION rotation = ComputeDisplayRotation(); + + if (rotation == DXGI_MODE_ROTATION_ROTATE90 || rotation == DXGI_MODE_ROTATION_ROTATE270) + { + std::swap(outputWidth, outputHeight); + } + + m_sample->OnWindowSizeChanged(outputWidth, outputHeight, rotation); + } +}; + +ref class ViewProviderFactory : IFrameworkViewSource +{ +public: + virtual IFrameworkView^ CreateView() + { + return ref new ViewProvider(); + } +}; + + +// Entry point +[Platform::MTAThread] +int main(Platform::Array^ argv) +{ + UNREFERENCED_PARAMETER(argv); + + auto viewProviderFactory = ref new ViewProviderFactory(); + CoreApplication::Run(viewProviderFactory); + return 0; +} diff --git a/Samples/Audio/SimplePlay3DSoundUWP/Package.appxmanifest b/Samples/Audio/SimplePlay3DSoundUWP/Package.appxmanifest new file mode 100644 index 00000000..bddaba55 --- /dev/null +++ b/Samples/Audio/SimplePlay3DSoundUWP/Package.appxmanifest @@ -0,0 +1,49 @@ + + + + + + + + + + SimplePlay3DSound + jeball + Assets\StoreLogo.png + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/Audio/SimplePlay3DSoundUWP/Readme.docx b/Samples/Audio/SimplePlay3DSoundUWP/Readme.docx new file mode 100644 index 0000000000000000000000000000000000000000..c88f1bf69ea5bccaffd79fbbe799cfed76048f1a GIT binary patch literal 95785 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 literal 0 HcmV?d00001 diff --git a/Samples/Audio/SimplePlay3DSoundUWP/SimplePlay3DSound.cpp b/Samples/Audio/SimplePlay3DSoundUWP/SimplePlay3DSound.cpp new file mode 100644 index 00000000..e29bf964 --- /dev/null +++ b/Samples/Audio/SimplePlay3DSoundUWP/SimplePlay3DSound.cpp @@ -0,0 +1,911 @@ +//-------------------------------------------------------------------------------------- +// SimplePlay3DSound.cpp +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#include "pch.h" +#include "SimplePlay3DSound.h" + +#include "ATGColors.h" +#include "ControllerFont.h" + +using namespace DirectX; + +using Microsoft::WRL::ComPtr; + +namespace +{ + const wchar_t* c_WaveFile = L"ATG_SpatialMotion_monoFunkDrums1Loop.wav"; + const float c_RotateScale = 0.1f; + const float c_MaxHeight = 100; + const float c_MoveScale = 3.0f; + + const XAUDIO2FX_REVERB_I3DL2_PARAMETERS g_ReverbPreset[] = + { + XAUDIO2FX_I3DL2_PRESET_FOREST, + XAUDIO2FX_I3DL2_PRESET_DEFAULT, + XAUDIO2FX_I3DL2_PRESET_GENERIC, + XAUDIO2FX_I3DL2_PRESET_PADDEDCELL, + XAUDIO2FX_I3DL2_PRESET_ROOM, + XAUDIO2FX_I3DL2_PRESET_BATHROOM, + XAUDIO2FX_I3DL2_PRESET_LIVINGROOM, + XAUDIO2FX_I3DL2_PRESET_STONEROOM, + XAUDIO2FX_I3DL2_PRESET_AUDITORIUM, + XAUDIO2FX_I3DL2_PRESET_CONCERTHALL, + XAUDIO2FX_I3DL2_PRESET_CAVE, + XAUDIO2FX_I3DL2_PRESET_ARENA, + XAUDIO2FX_I3DL2_PRESET_HANGAR, + XAUDIO2FX_I3DL2_PRESET_CARPETEDHALLWAY, + XAUDIO2FX_I3DL2_PRESET_HALLWAY, + XAUDIO2FX_I3DL2_PRESET_STONECORRIDOR, + XAUDIO2FX_I3DL2_PRESET_ALLEY, + XAUDIO2FX_I3DL2_PRESET_CITY, + XAUDIO2FX_I3DL2_PRESET_MOUNTAINS, + XAUDIO2FX_I3DL2_PRESET_QUARRY, + XAUDIO2FX_I3DL2_PRESET_PLAIN, + XAUDIO2FX_I3DL2_PRESET_PARKINGLOT, + XAUDIO2FX_I3DL2_PRESET_SEWERPIPE, + XAUDIO2FX_I3DL2_PRESET_UNDERWATER, + XAUDIO2FX_I3DL2_PRESET_SMALLROOM, + XAUDIO2FX_I3DL2_PRESET_MEDIUMROOM, + XAUDIO2FX_I3DL2_PRESET_LARGEROOM, + XAUDIO2FX_I3DL2_PRESET_MEDIUMHALL, + XAUDIO2FX_I3DL2_PRESET_LARGEHALL, + XAUDIO2FX_I3DL2_PRESET_PLATE, + }; + + const wchar_t* g_PresetNames[] = + { + L"Forest", + L"Default", + L"Generic", + L"Padded cell", + L"Room", + L"Bathroom", + L"Living room", + L"Stone room", + L"Auditorium", + L"Concert hall", + L"Cave", + L"Arena", + L"Hangar", + L"Carpeted hallway", + L"Hallway", + L"Stone Corridor", + L"Alley", + L"City", + L"Mountains", + L"Quarry", + L"Plain", + L"Parking lot", + L"Sewer pipe", + L"Underwater", + L"Small room", + L"Medium room", + L"Large room", + L"Medium hall", + L"Large hall", + L"Plate", + }; + + static_assert(_countof(g_ReverbPreset) == _countof(g_PresetNames), "Preset array mismatch"); +} + +Sample::Sample() : + m_masteringVoice(nullptr), + m_sourceVoice(nullptr), + m_submixVoice(nullptr), + m_reverbIndex(0), + m_gamepadPresent(false) +{ + m_deviceResources = std::make_unique(DXGI_FORMAT_B8G8R8A8_UNORM, DXGI_FORMAT_UNKNOWN); + m_deviceResources->RegisterDeviceNotify(this); +} + +// Initialize the Direct3D resources required to run. +void Sample::Initialize(IUnknown* window, int width, int height, DXGI_MODE_ROTATION rotation) +{ + m_gamePad = std::make_unique(); + + m_keyboard = std::make_unique(); + m_keyboard->SetWindow(reinterpret_cast(window)); + + m_deviceResources->SetWindow(window, width, height, rotation); + + m_deviceResources->CreateDeviceResources(); + CreateDeviceDependentResources(); + + m_deviceResources->CreateWindowSizeDependentResources(); + CreateWindowSizeDependentResources(); + + //Start XAudio2 + DX::ThrowIfFailed(XAudio2Create(m_XAudio2.GetAddressOf(), 0)); + DX::ThrowIfFailed(m_XAudio2->CreateMasteringVoice(&m_masteringVoice)); + + DWORD channelMask; + DX::ThrowIfFailed(m_masteringVoice->GetChannelMask(&channelMask)); + + m_masteringVoice->GetVoiceDetails(&m_deviceDetails); + + //Add reverb on a submix + DX::ThrowIfFailed(XAudio2CreateReverb(&m_reverbEffect, 0)); + + XAUDIO2_EFFECT_DESCRIPTOR effects[] = { { m_reverbEffect.Get(), TRUE, 1 } }; + XAUDIO2_EFFECT_CHAIN effectChain = { 1, effects }; + + DX::ThrowIfFailed(m_XAudio2->CreateSubmixVoice(&m_submixVoice, 1, m_deviceDetails.InputSampleRate, 0, 0, NULL, &effectChain)); + + SetReverb(0); + + //Start X3DAudio + DX::ThrowIfFailed(X3DAudioInitialize(channelMask, X3DAUDIO_SPEED_OF_SOUND, m_X3DInstance)); + + memset(&m_X3DDSPSettings, 0, sizeof(X3DAUDIO_DSP_SETTINGS)); + + //Setup DSP + m_matrix = std::make_unique(m_deviceDetails.InputChannels); + m_X3DDSPSettings.SrcChannelCount = 1; + m_X3DDSPSettings.DstChannelCount = m_deviceDetails.InputChannels; + m_X3DDSPSettings.pMatrixCoefficients = m_matrix.get(); + + SetupEnvironment(); + + //Start the audio playback + PlayFile(c_WaveFile); +} + + +//-------------------------------------------------------------------------------------- +// Name: SetupEnvironment() +// Desc: Sets the environment for audio playback +//-------------------------------------------------------------------------------------- + +void Sample::SetupEnvironment() +{ + memset(&m_X3DListener, 0, sizeof(X3DAUDIO_LISTENER)); + memset(&m_X3DEmitter, 0, sizeof(X3DAUDIO_EMITTER)); + + //Listener is facing the top of the screen + m_X3DListener.OrientFront.y = -1.0f; + m_X3DListener.OrientTop.z = 1.0f; + m_listenerAngle = 0.0f; + + //Emitter is facing the bottom of the screen + m_X3DEmitter.OrientFront.y = 1.0f; + m_X3DEmitter.OrientTop.z = 1.0f; + m_emitterAngle = X3DAUDIO_PI; + + //Audio in use is in mono + m_X3DEmitter.ChannelCount = 1; + + //Volume attenuation curve + m_volumePoints[0].Distance = 0.0f; + m_volumePoints[0].DSPSetting = 1.0f; + m_volumePoints[1].Distance = 0.2f; + m_volumePoints[1].DSPSetting = 1.0f; + m_volumePoints[2].Distance = 0.3f; + m_volumePoints[2].DSPSetting = 0.5f; + m_volumePoints[3].Distance = 0.4f; + m_volumePoints[3].DSPSetting = 0.35f; + m_volumePoints[4].Distance = 0.5f; + m_volumePoints[4].DSPSetting = 0.23f; + m_volumePoints[5].Distance = 0.6f; + m_volumePoints[5].DSPSetting = 0.16f; + m_volumePoints[6].Distance = 0.7f; + m_volumePoints[6].DSPSetting = 0.1f; + m_volumePoints[7].Distance = 0.8f; + m_volumePoints[7].DSPSetting = 0.06f; + m_volumePoints[8].Distance = 0.9f; + m_volumePoints[8].DSPSetting = 0.04f; + m_volumePoints[9].Distance = 1.0f; + m_volumePoints[9].DSPSetting = 0.0f; + m_volumeCurve.PointCount = 10; + m_volumeCurve.pPoints = m_volumePoints; + + //Reverb attenuation curve + m_reverbPoints[0].Distance = 0.0f; + m_reverbPoints[0].DSPSetting = 0.7f; + m_reverbPoints[1].Distance = 0.2f; + m_reverbPoints[1].DSPSetting = 0.78f; + m_reverbPoints[2].Distance = 0.3f; + m_reverbPoints[2].DSPSetting = 0.85f; + m_reverbPoints[3].Distance = 0.4f; + m_reverbPoints[3].DSPSetting = 1.0f; + m_reverbPoints[4].Distance = 0.5f; + m_reverbPoints[4].DSPSetting = 1.0f; + m_reverbPoints[5].Distance = 0.6f; + m_reverbPoints[5].DSPSetting = 0.6f; + m_reverbPoints[6].Distance = 0.7f; + m_reverbPoints[6].DSPSetting = 0.4f; + m_reverbPoints[7].Distance = 0.8f; + m_reverbPoints[7].DSPSetting = 0.25f; + m_reverbPoints[8].Distance = 0.9f; + m_reverbPoints[8].DSPSetting = 0.11f; + m_reverbPoints[9].Distance = 1.0f; + m_reverbPoints[9].DSPSetting = 0.0f; + m_reverbCurve.PointCount = 10; + m_reverbCurve.pPoints = m_reverbPoints; + + //Add the curves to every emitter + m_X3DEmitter.pVolumeCurve = &m_volumeCurve; + m_X3DEmitter.pReverbCurve = &m_reverbCurve; + + //Emitter cone (only for the first "mode") + m_emitterCone.InnerAngle = X3DAUDIO_PI / 2; + m_emitterCone.OuterAngle = X3DAUDIO_PI; + m_emitterCone.InnerVolume = 1.0f; + m_emitterCone.OuterVolume = 0.0f; + m_emitterCone.InnerReverb = 1.0f; + m_emitterCone.OuterReverb = 0.0f; + m_X3DEmitter.pCone = &m_emitterCone; + + //Set how much distance influences the sound + m_X3DEmitter.CurveDistanceScaler = 300; + + //Start the listener and emitter in the middle of the screen + auto rect = m_deviceResources->GetOutputSize(); + m_X3DListener.Position = X3DAUDIO_VECTOR(float(rect.right / 2), float(rect.bottom / 2), 0); + m_X3DEmitter.Position = X3DAUDIO_VECTOR(float(rect.right / 2), float((rect.bottom / 2) - 100), 0); +} + +//-------------------------------------------------------------------------------------- +// Name: PlayFile() +// Desc: Starts playback from the given wavefile +//-------------------------------------------------------------------------------------- +void Sample::PlayFile(const wchar_t* filename) +{ + // Read the wave file + DX::WAVData waveData; + DX::ThrowIfFailed(DX::LoadWAVAudioFromFileEx(filename, m_waveFile, waveData)); + + XAUDIO2_SEND_DESCRIPTOR sendDescriptors[2] = {}; + sendDescriptors[0].Flags = XAUDIO2_SEND_USEFILTER; + sendDescriptors[0].pOutputVoice = m_masteringVoice; + sendDescriptors[1].Flags = XAUDIO2_SEND_USEFILTER; + sendDescriptors[1].pOutputVoice = m_submixVoice; + const XAUDIO2_VOICE_SENDS sendList = { 2, sendDescriptors }; + + // Create the source voice + DX::ThrowIfFailed(m_XAudio2->CreateSourceVoice(&m_sourceVoice, waveData.wfx, 0, XAUDIO2_DEFAULT_FREQ_RATIO, NULL, &sendList)); + + // Submit the wave sample data using an XAUDIO2_BUFFER structure + XAUDIO2_BUFFER buffer = {0}; + buffer.pAudioData = waveData.startAudio; + buffer.Flags = XAUDIO2_END_OF_STREAM; + buffer.AudioBytes = waveData.audioBytes; + buffer.LoopCount = XAUDIO2_LOOP_INFINITE; + + DX::ThrowIfFailed(m_sourceVoice->SubmitSourceBuffer(&buffer)); + DX::ThrowIfFailed(m_sourceVoice->Start(0)); +} + +//-------------------------------------------------------------------------------------- +// Name: SetReverb() +// Desc: Sets the reverb settings +//-------------------------------------------------------------------------------------- +void Sample::SetReverb(int index) +{ + XAUDIO2FX_REVERB_PARAMETERS native; + ReverbConvertI3DL2ToNative(&g_ReverbPreset[index], &native); + + //Override rear for mono + native.RearDelay = 5; + m_submixVoice->SetEffectParameters(0, &native, sizeof(native)); +} + +//-------------------------------------------------------------------------------------- +// Name: AdjustFront() +// Desc: Adjusts the front orientation and angle of the body based on an input value +//-------------------------------------------------------------------------------------- +void Sample::AdjustFront(float value, X3DAUDIO_VECTOR *orientFront, float *angle) +{ + float temp = *angle; + temp += value*c_RotateScale; + + //Keep between 0 and 2 pi + if (temp >= X3DAUDIO_2PI) + { + temp -= X3DAUDIO_2PI; + } + else if (temp < 0) + { + temp += X3DAUDIO_2PI; + } + + //Update orientation as a unit vector based on the angle + orientFront->x = sinf(temp); + orientFront->y = -cosf(temp); + + CopyMemory(angle, &temp, sizeof(float)); +} + +//-------------------------------------------------------------------------------------- +// Name: DrawGrid() +// Desc: Draws a grid +//-------------------------------------------------------------------------------------- +void XM_CALLCONV Sample::DrawGrid(size_t xdivs, size_t ydivs, FXMVECTOR color) +{ + auto context = m_deviceResources->GetD3DDeviceContext(); + PIXBeginEvent(context, PIX_COLOR_DEFAULT, L"Draw grid"); + + context->OMSetBlendState(m_states->Opaque(), nullptr, 0xFFFFFFFF); + context->OMSetDepthStencilState(m_states->DepthNone(), 0); + context->RSSetState(m_states->CullNone()); + + m_batchEffect->Apply(context); + + context->IASetInputLayout(m_batchInputLayout.Get()); + + m_batch->Begin(); + + xdivs = std::max(1, xdivs); + ydivs = std::max(1, ydivs); + XMVECTORF32 point1, point2; + + for (size_t i = 0; i <= xdivs; ++i) + { + float fPercent = float(i) / float(xdivs); + fPercent = (fPercent * 2.0f) - 1.0f; + point1 = { fPercent, -1.f, 0.f }; + point2 = { fPercent, 1.f, 0.f }; + + VertexPositionColor v1(point1, color); + VertexPositionColor v2(point2, color); + m_batch->DrawLine(v1, v2); + } + + for (size_t i = 0; i <= ydivs; i++) + { + float fPercent = float(i) / float(ydivs); + fPercent = (fPercent * 2.0f) - 1.0f; + point1 = { -1.f, fPercent, 0.f }; + point2 = { 1.f, fPercent, 0.f }; + + VertexPositionColor v1(point1, color); + VertexPositionColor v2(point2, color); + m_batch->DrawLine(v1, v2); + } + + m_batch->End(); + + PIXEndEvent(context); +} + +//-------------------------------------------------------------------------------------- +// Name: DrawCircle() +// Desc: Draws a circle +//-------------------------------------------------------------------------------------- +void Sample::DrawCircle(X3DAUDIO_VECTOR position, float radius) +{ + auto context = m_deviceResources->GetD3DDeviceContext(); + PIXBeginEvent(context, PIX_COLOR_DEFAULT, L"Draw emitter"); + + XMFLOAT2 pos(position.x, m_deviceResources->GetOutputSize().bottom - position.y); + + //Circle has a default radius of 390 (based on the size of the texture) + //Also account for z(height) in the scale + float scale = (radius / 390) + (position.z / 200); + + m_spriteBatch->Begin(); + m_spriteBatch->Draw(m_circleTexture.Get(), pos, NULL, ATG::Colors::White, 0, XMFLOAT2(394, 394), scale); + m_spriteBatch->End(); + + PIXEndEvent(context); +} + +//-------------------------------------------------------------------------------------- +// Name: DrawEmitter() +// Desc: Draws the emitter triangle and cone +//-------------------------------------------------------------------------------------- +void XM_CALLCONV Sample::DrawEmitter(X3DAUDIO_CONE* cone, X3DAUDIO_VECTOR position, float angle, DirectX::FXMVECTOR color, UINT size) +{ + auto context = m_deviceResources->GetD3DDeviceContext(); + PIXBeginEvent(context, PIX_COLOR_DEFAULT, L"Draw emitter"); + + context->OMSetBlendState(m_states->Opaque(), nullptr, 0xFFFFFFFF); + context->OMSetDepthStencilState(m_states->DepthNone(), 0); + context->RSSetState(m_states->CullNone()); + + m_batchEffect->Apply(context); + + context->IASetInputLayout(m_batchInputLayout.Get()); + + //Scale for z (height) + float localSize = size + (position.z * 2); + float triangleSize = 15.0f + (position.z * .1f); + + float outerX = sinf(cone->OuterAngle / 2) * localSize; + float innerX = sinf(cone->InnerAngle / 2) * localSize; + float outerY = -cosf(cone->OuterAngle / 2) * localSize; + float innerY = -cosf(cone->InnerAngle / 2) * localSize; + + XMVECTOR v[7]; + //Outside cone + v[0] = XMVectorSet(-outerX, outerY, 0.0f, 1.0f); + v[1] = XMVectorSet(outerX, outerY, 0.0f, 1.0f); + //Inside cone + v[2] = XMVectorSet(-innerX, innerY, 0.0f, 1.0f); + v[3] = XMVectorSet(innerX, innerY, 0.0f, 1.0f); + //Emitter Triangle + v[4] = XMVectorSet(0.f, -triangleSize, 0.0f, 1.0f); + v[5] = XMVectorSet(-triangleSize, triangleSize, 0.0f, 1.0f); + v[6] = XMVectorSet(triangleSize, triangleSize, 0.0f, 1.0f); + + XMVECTOR vout[7]; + XMVECTOR vZero = XMVectorSet(0.0f, 0.0f, 0.0f, 1.0f); + XMMATRIX finalTransform = XMMatrixTransformation2D(vZero, 0, XMVectorSet(1, 1, 1.0f, 1.0f), vZero, angle, XMVectorSet(position.x, position.y, 0.0f, 1.0f)); + + for(int i=0; i< 7; i++) + { + vout[i] = XMVector4Transform(v[i], finalTransform); + } + + auto rect = m_deviceResources->GetOutputSize(); + + //Convert to -1,1 space + XMVECTORF32 vPosition = { (position.x * 2 / rect.right) - 1, (position.y * 2 / rect.bottom) - 1, 0.f }; + XMFLOAT3 tempv; + for (int i = 0; i < 7; i++) + { + XMStoreFloat3(&tempv, vout[i]); + + tempv.x = (tempv.x * 2 / rect.right) - 1; + tempv.y = (tempv.y * 2 / rect.bottom) - 1; + + vout[i] = XMLoadFloat3(&tempv); + } + + m_batch->Begin(); + + VertexPositionColor v1(vPosition, color); + VertexPositionColor v2; + + //Draw cones + v2 = VertexPositionColor(vout[0], color); + m_batch->DrawLine(v1, v2); + v2 = VertexPositionColor(vout[1], color); + m_batch->DrawLine(v1, v2); + v2 = VertexPositionColor(vout[2], color); + m_batch->DrawLine(v1, v2); + v2 = VertexPositionColor(vout[3], color); + m_batch->DrawLine(v1, v2); + + //Draw triangle + v1 = VertexPositionColor(vout[4], color); + v2 = VertexPositionColor(vout[5], color); + VertexPositionColor v3 = VertexPositionColor(vout[6], color); + m_batch->DrawTriangle(v1, v2, v3); + + m_batch->End(); + + PIXEndEvent(context); +} + +//-------------------------------------------------------------------------------------- +// Name: DrawListener() +// Desc: Draws the emitter +//-------------------------------------------------------------------------------------- +void XM_CALLCONV Sample::DrawListener(X3DAUDIO_VECTOR position, DirectX::FXMVECTOR color) +{ + auto context = m_deviceResources->GetD3DDeviceContext(); + PIXBeginEvent(context, PIX_COLOR_DEFAULT, L"Draw listener"); + + context->OMSetBlendState(m_states->Opaque(), nullptr, 0xFFFFFFFF); + context->OMSetDepthStencilState(m_states->DepthNone(), 0); + context->RSSetState(m_states->CullNone()); + + m_batchEffect->Apply(context); + + context->IASetInputLayout(m_batchInputLayout.Get()); + + XMVECTOR vout[3]; + + auto rect = m_deviceResources->GetOutputSize(); + + vout[0] = XMVECTORF32{ position.x, position.y - 15.0f, 0.0f, 1.0f }; + vout[1] = XMVECTORF32{ position.x - 15.0f, position.y + 15.0f, 0.0f, 1.0f }; + vout[2] = XMVECTORF32{ position.x + 15.0f, position.y + 15.0f, 0.0f, 1.0f }; + + //Convert to -1,1 space + XMFLOAT3 tempv; + for (int i = 0; i < 3; i++) + { + XMStoreFloat3(&tempv, vout[i]); + + tempv.x = (tempv.x * 2 / rect.right) - 1; + tempv.y = (tempv.y * 2 / rect.bottom) - 1; + + vout[i] = XMLoadFloat3(&tempv); + } + + m_batch->Begin(); + + VertexPositionColor v1(vout[0], color); + VertexPositionColor v2(vout[1], color); + VertexPositionColor v3(vout[2], color); + m_batch->DrawTriangle(v1, v2, v3); + + m_batch->End(); + + PIXEndEvent(context); +} + +#pragma region Frame Update +// Executes basic render loop. +void Sample::Tick() +{ + m_timer.Tick([&]() + { + Update(m_timer); + }); + + Render(); +} + +// Updates the world. +void Sample::Update(DX::StepTimer const& ) +{ + PIXBeginEvent(PIX_COLOR_DEFAULT, L"Update"); + + auto bounds = m_deviceResources->GetOutputSize(); + + auto kb = m_keyboard->GetState(); + m_keyboardButtons.Update(kb); + + auto pad = m_gamePad->GetState(0); + m_gamepadPresent = pad.IsConnected(); + if (m_gamepadPresent) + { + m_gamePadButtons.Update(pad); + + if (pad.IsViewPressed()) + { + Windows::ApplicationModel::Core::CoreApplication::Exit(); + } + + float height = 0.f; + if (pad.IsLeftShoulderPressed() && m_X3DEmitter.Position.z + height > -c_MaxHeight) + { + height -= 1.0f; + } + + if (pad.IsRightShoulderPressed() && m_X3DEmitter.Position.z + height < c_MaxHeight) + { + height += 1.0f; + } + + if (pad.IsLeftStickPressed()) + { + m_X3DEmitter.Position = X3DAUDIO_VECTOR(float(bounds.right / 2), float((bounds.bottom / 2) - 100), 0); + m_X3DEmitter.Velocity = X3DAUDIO_VECTOR(0, 0, 0); + } + + if (pad.IsRightStickPressed()) + { + m_emitterAngle = X3DAUDIO_PI; + } + + float X = -pad.thumbSticks.leftX; + float Y = -pad.thumbSticks.leftY; + m_X3DEmitter.Position = X3DAUDIO_VECTOR(m_X3DEmitter.Position.x - X * c_MoveScale, m_X3DEmitter.Position.y - Y * c_MoveScale, m_X3DEmitter.Position.z + height); + m_X3DEmitter.Velocity = X3DAUDIO_VECTOR(X * c_MoveScale, Y * c_MoveScale, height); + + AdjustFront(-pad.thumbSticks.rightX, &m_X3DEmitter.OrientFront, &m_emitterAngle); + } + else + { + m_gamePadButtons.Reset(); + + //Adjust what direction the emitter is facing + if (kb.D || kb.A) + { + AdjustFront(kb.A ? 1.f : -1.f, &m_X3DEmitter.OrientFront, &m_emitterAngle); + } + + //Adjust emitter height + float height = 0.f; + if (kb.S && (m_X3DEmitter.Position.z + height > -c_MaxHeight)) + { + height -= 1.0f; + } + + if (kb.W && (m_X3DEmitter.Position.z + height < c_MaxHeight)) + { + height += 1.0f; + } + + if (kb.Home) + { + m_X3DEmitter.Position = X3DAUDIO_VECTOR(float(bounds.right / 2), float((bounds.bottom / 2) - 100), 0); + m_X3DEmitter.Velocity = X3DAUDIO_VECTOR(0, 0, 0); + m_emitterAngle = X3DAUDIO_PI; + } + float X = (kb.Right ? -1.f : 0.f) + (kb.Left ? 1.f : 0.f); + float Y = (kb.Up ? -1.f : 0.f) + (kb.Down ? 1.f : 0.f); + m_X3DEmitter.Position = X3DAUDIO_VECTOR(m_X3DEmitter.Position.x - X * c_MoveScale, m_X3DEmitter.Position.y - Y * c_MoveScale, m_X3DEmitter.Position.z + height); + m_X3DEmitter.Velocity = X3DAUDIO_VECTOR(X * c_MoveScale, Y * c_MoveScale, height); + } + + if (m_X3DEmitter.Position.x < float(bounds.left)) + { + m_X3DEmitter.Position.x = float(bounds.left); + m_X3DEmitter.Velocity.x = 0; + } + else if (m_X3DEmitter.Position.x > float(bounds.right)) + { + m_X3DEmitter.Position.x = float(bounds.right); + m_X3DEmitter.Velocity.x = 0; + } + + if (m_X3DEmitter.Position.y < float(bounds.top)) + { + m_X3DEmitter.Position.y = float(bounds.top); + m_X3DEmitter.Velocity.y = 0; + } + else if (m_X3DEmitter.Position.y > float(bounds.bottom)) + { + m_X3DEmitter.Position.y = float(bounds.bottom); + m_X3DEmitter.Velocity.y = 0; + } + + if (kb.Escape) + { + Windows::ApplicationModel::Core::CoreApplication::Exit(); + } + + //Adjust reverb setting + if (m_gamePadButtons.dpadUp == GamePad::ButtonStateTracker::PRESSED + || m_keyboardButtons.IsKeyPressed(Keyboard::E)) + { + m_reverbIndex++; + + if (m_reverbIndex >= _countof(g_ReverbPreset)) + { + m_reverbIndex = 0; + } + + SetReverb(m_reverbIndex); + } + else if (m_gamePadButtons.dpadDown == GamePad::ButtonStateTracker::PRESSED + || m_keyboardButtons.IsKeyPressed(Keyboard::Q)) + { + m_reverbIndex--; + + if (m_reverbIndex < 0) + { + m_reverbIndex = _countof(g_ReverbPreset) - 1; + } + + SetReverb(m_reverbIndex); + } + + // Compute positional audio settings + X3DAudioCalculate(m_X3DInstance, &m_X3DListener, &m_X3DEmitter, + X3DAUDIO_CALCULATE_MATRIX | X3DAUDIO_CALCULATE_DOPPLER | X3DAUDIO_CALCULATE_REVERB, + &m_X3DDSPSettings); + + // Update source voice with positional audio settings + m_sourceVoice->SetOutputMatrix(m_masteringVoice, 1, m_deviceDetails.InputChannels, m_X3DDSPSettings.pMatrixCoefficients); + m_sourceVoice->SetFrequencyRatio(m_X3DDSPSettings.DopplerFactor); + + m_sourceVoice->SetOutputMatrix(m_submixVoice, 1, 1, &m_X3DDSPSettings.ReverbLevel); + + PIXEndEvent(); +} +#pragma endregion + +#pragma region Frame Render +// Draws the scene. +void Sample::Render() +{ + // Don't try to render anything before the first Update. + if (m_timer.GetFrameCount() == 0) + { + return; + } + + Clear(); + + auto context = m_deviceResources->GetD3DDeviceContext(); + PIXBeginEvent(context, PIX_COLOR_DEFAULT, L"Render"); + + if (m_X3DEmitter.Position.z > 0) + { + // Draw the grid + DrawListener(m_X3DListener.Position, ATG::Colors::White); + DrawGrid(20, 20, ATG::Colors::Green); + + // Draw emitter + DrawEmitter(m_X3DEmitter.pCone, m_X3DEmitter.Position, m_emitterAngle, Colors::Black, (UINT)m_X3DEmitter.CurveDistanceScaler); + DrawCircle(m_X3DEmitter.Position, m_X3DEmitter.CurveDistanceScaler); + } + else + { + // Draw emitter + DrawEmitter(m_X3DEmitter.pCone, m_X3DEmitter.Position, m_emitterAngle, Colors::Black, (UINT)m_X3DEmitter.CurveDistanceScaler); + DrawCircle(m_X3DEmitter.Position, m_X3DEmitter.CurveDistanceScaler); + + // Draw the grid + DrawListener(m_X3DListener.Position, ATG::Colors::White); + DrawGrid(20, 20, ATG::Colors::Green); + } + + auto rect = m_deviceResources->GetOutputSize(); + auto safeRect = SimpleMath::Viewport::ComputeTitleSafeArea(rect.right, rect.bottom); + std::wstring tempString; + + XMFLOAT2 pos(float(safeRect.left), float(safeRect.top)); + + m_spriteBatch->Begin(); + m_font->DrawString(m_spriteBatch.get(), L"SimplePlay3DSound", pos, ATG::Colors::White); + pos.y += m_font->GetLineSpacing() * 1.1f; + + tempString = L"Listener ( " + std::to_wstring(m_X3DListener.Position.x) + L", " + std::to_wstring(m_X3DListener.Position.y) + L", " + + std::to_wstring(m_X3DListener.Position.z) + L") Angle: " + std::to_wstring(m_listenerAngle) + L" rad"; + m_font->DrawString(m_spriteBatch.get(), tempString.c_str(), pos, ATG::Colors::White); + pos.y += m_font->GetLineSpacing() * 1.1f; + + tempString = L"Emitter ( " + std::to_wstring(m_X3DEmitter.Position.x) + L", " + std::to_wstring(m_X3DEmitter.Position.y) + L", " + + std::to_wstring(m_X3DEmitter.Position.z) + L") Angle: " + std::to_wstring(m_emitterAngle) + L" rad"; + m_font->DrawString(m_spriteBatch.get(), tempString.c_str(), pos, ATG::Colors::White); + pos.y += m_font->GetLineSpacing() * 1.1f; + + tempString = L"Reverb: " + std::wstring(g_PresetNames[m_reverbIndex]); + m_font->DrawString(m_spriteBatch.get(), tempString.c_str(), pos, ATG::Colors::White); + + const wchar_t* legend = m_gamepadPresent + ? L"[LThumb] Move [RThumb] Rotate [LB]/[RB] Adjust height [DPad] Reverb" + : L"Arrows Keys: Move A/D: Rotate W/S: Adjust height Q/E: Reverb"; + + DX::DrawControllerString(m_spriteBatch.get(), m_font.get(), m_ctrlFont.get(), legend, + XMFLOAT2(float(safeRect.left), float(safeRect.bottom) - m_font->GetLineSpacing()), + ATG::Colors::LightGrey); + + m_spriteBatch->End(); + + PIXEndEvent(context); + + // Show the new frame. + PIXBeginEvent(PIX_COLOR_DEFAULT, L"Present"); + m_deviceResources->Present(); + PIXEndEvent(); +} + +// Helper method to clear the back buffers. +void Sample::Clear() +{ + auto context = m_deviceResources->GetD3DDeviceContext(); + PIXBeginEvent(context, PIX_COLOR_DEFAULT, L"Clear"); + + // Clear the views. + auto renderTarget = m_deviceResources->GetBackBufferRenderTargetView(); + + context->ClearRenderTargetView(renderTarget, ATG::Colors::Background); + + context->OMSetRenderTargets(1, &renderTarget, nullptr); + + // Set the viewport. + auto viewport = m_deviceResources->GetScreenViewport(); + context->RSSetViewports(1, &viewport); + + PIXEndEvent(context); +} +#pragma endregion + +#pragma region Message Handlers +// Message handlers +void Sample::OnActivated() +{ +} + +void Sample::OnDeactivated() +{ +} + +void Sample::OnSuspending() +{ + auto context = m_deviceResources->GetD3DDeviceContext(); + context->ClearState(); + + m_deviceResources->Trim(); +} + +void Sample::OnResuming() +{ + m_timer.ResetElapsedTime(); + m_gamePadButtons.Reset(); + m_keyboardButtons.Reset(); +} + +void Sample::OnWindowSizeChanged(int width, int height, DXGI_MODE_ROTATION rotation) +{ + if (!m_deviceResources->WindowSizeChanged(width, height, rotation)) + return; + + CreateWindowSizeDependentResources(); +} + +void Sample::ValidateDevice() +{ + m_deviceResources->ValidateDevice(); +} + +// Properties +void Sample::GetDefaultSize(int& width, int& height) const +{ + width = 1280; + height = 720; +} +#pragma endregion + +#pragma region Direct3D Resources +// These are the resources that depend on the device. +void Sample::CreateDeviceDependentResources() +{ + auto context = m_deviceResources->GetD3DDeviceContext(); + auto device = m_deviceResources->GetD3DDevice(); + + m_spriteBatch = std::make_unique(context); + + m_font = std::make_unique(device, L"SegoeUI_18.spritefont"); + m_ctrlFont = std::make_unique(device, L"XboxOneControllerLegendSmall.spritefont"); + + m_states = std::make_unique(device); + + m_batchEffect = std::make_unique(device); + m_batchEffect->SetVertexColorEnabled(true); + + { + void const* shaderByteCode; + size_t byteCodeLength; + + m_batchEffect->GetVertexShaderBytecode(&shaderByteCode, &byteCodeLength); + + DX::ThrowIfFailed( + device->CreateInputLayout(VertexPositionColor::InputElements, + VertexPositionColor::InputElementCount, + shaderByteCode, byteCodeLength, + m_batchInputLayout.ReleaseAndGetAddressOf()) + ); + } + + m_batch = std::make_unique>(m_deviceResources->GetD3DDeviceContext()); + + // Load textures + DX::ThrowIfFailed( + CreateDDSTextureFromFile(device, L"circle.dds", nullptr, m_circleTexture.ReleaseAndGetAddressOf()) + ); +} + +// Allocate all memory resources that change on a window SizeChanged event. +void Sample::CreateWindowSizeDependentResources() +{ + m_spriteBatch->SetRotation(m_deviceResources->GetRotation()); + + //Start the listener and emitter in the middle of the screen + auto rect = m_deviceResources->GetOutputSize(); + m_X3DListener.Position = X3DAUDIO_VECTOR(float(rect.right / 2), float(rect.bottom / 2), 0); + m_X3DEmitter.Position = X3DAUDIO_VECTOR(float(rect.right / 2), float((rect.bottom / 2) - 100), 0); +} + +void Sample::OnDeviceLost() +{ + m_spriteBatch.reset(); + m_ctrlFont.reset(); + m_font.reset(); + m_states.reset(); + m_batch.reset(); + m_batchEffect.reset(); + m_circleTexture.Reset(); + m_batchInputLayout.Reset(); +} + +void Sample::OnDeviceRestored() +{ + CreateDeviceDependentResources(); + + CreateWindowSizeDependentResources(); +} +#pragma endregion diff --git a/Samples/Audio/SimplePlay3DSoundUWP/SimplePlay3DSound.h b/Samples/Audio/SimplePlay3DSoundUWP/SimplePlay3DSound.h new file mode 100644 index 00000000..0e2a1a8a --- /dev/null +++ b/Samples/Audio/SimplePlay3DSoundUWP/SimplePlay3DSound.h @@ -0,0 +1,112 @@ +//-------------------------------------------------------------------------------------- +// SimplePlay3DSound.h +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#pragma once + +#include "DeviceResources.h" +#include "StepTimer.h" +#include "WAVFileReader.h" + +// A basic sample implementation that creates a D3D11 device and +// provides a render loop. +class Sample : public DX::IDeviceNotify +{ +public: + + Sample(); + + // Initialization and management + void Initialize(IUnknown* window, int width, int height, DXGI_MODE_ROTATION rotation); + + // Basic render loop + void Tick(); + void Render(); + + // Rendering helpers + void Clear(); + + // IDeviceNotify + virtual void OnDeviceLost() override; + virtual void OnDeviceRestored() override; + + // Messages + void OnActivated(); + void OnDeactivated(); + void OnSuspending(); + void OnResuming(); + void OnWindowSizeChanged(int width, int height, DXGI_MODE_ROTATION rotation); + void ValidateDevice(); + + // Properties + void GetDefaultSize( int& width, int& height ) const; + +private: + //Audio functions + void SetReverb(int index); + void SetupEnvironment(); + void PlayFile(const wchar_t* filename); + void AdjustFront(float value, X3DAUDIO_VECTOR *orientFront, float *angle); + + //Draw functions + void XM_CALLCONV DrawGrid(size_t xdivs, size_t ydivs, DirectX::FXMVECTOR color); + void DrawCircle(X3DAUDIO_VECTOR position, float radius); + void XM_CALLCONV DrawEmitter(X3DAUDIO_CONE* cone, X3DAUDIO_VECTOR position, float angle, DirectX::FXMVECTOR color, UINT size); + void XM_CALLCONV DrawListener(X3DAUDIO_VECTOR position, DirectX::FXMVECTOR color); + + void Update(DX::StepTimer const& timer); + + void CreateDeviceDependentResources(); + void CreateWindowSizeDependentResources(); + + // UI resources. + std::unique_ptr m_deviceResources; + std::unique_ptr> m_batch; + Microsoft::WRL::ComPtr m_circleTexture; + Microsoft::WRL::ComPtr m_batchInputLayout; + std::unique_ptr m_states; + std::unique_ptr m_batchEffect; + std::unique_ptr m_spriteBatch; + std::unique_ptr m_font; + std::unique_ptr m_ctrlFont; + + // Rendering loop timer. + DX::StepTimer m_timer; + + //XAudio2 interfaces + std::unique_ptr m_waveFile; + Microsoft::WRL::ComPtr m_XAudio2; + IXAudio2MasteringVoice* m_masteringVoice; + IXAudio2SourceVoice* m_sourceVoice; + IXAudio2SubmixVoice* m_submixVoice; + Microsoft::WRL::ComPtr m_reverbEffect; + std::unique_ptr m_matrix; + + //X3DAudio values + X3DAUDIO_DISTANCE_CURVE_POINT m_volumePoints[10]; + X3DAUDIO_DISTANCE_CURVE m_volumeCurve; + X3DAUDIO_DISTANCE_CURVE_POINT m_reverbPoints[10]; + X3DAUDIO_DISTANCE_CURVE m_reverbCurve; + X3DAUDIO_HANDLE m_X3DInstance; + X3DAUDIO_LISTENER m_X3DListener; + X3DAUDIO_EMITTER m_X3DEmitter; + X3DAUDIO_DSP_SETTINGS m_X3DDSPSettings; + XAUDIO2_VOICE_DETAILS m_deviceDetails; + X3DAUDIO_CONE m_emitterCone; + + // Game state + int m_reverbIndex; + float m_listenerAngle; + float m_emitterAngle; + + // Input devices. + std::unique_ptr m_gamePad; + std::unique_ptr m_keyboard; + + DirectX::GamePad::ButtonStateTracker m_gamePadButtons; + DirectX::Keyboard::KeyboardStateTracker m_keyboardButtons; + bool m_gamepadPresent; +}; \ No newline at end of file diff --git a/Samples/Audio/SimplePlay3DSoundUWP/SimplePlay3DSound.sln b/Samples/Audio/SimplePlay3DSoundUWP/SimplePlay3DSound.sln new file mode 100644 index 00000000..23f801a0 --- /dev/null +++ b/Samples/Audio/SimplePlay3DSoundUWP/SimplePlay3DSound.sln @@ -0,0 +1,54 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25123.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SimplePlay3DSound", "SimplePlay3DSound.vcxproj", "{7C44D58B-2263-4A61-B9CA-2C8777C34F3A}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectXTK", "..\..\..\Kits\DirectXTK\DirectXTK_Windows10.vcxproj", "{F4776924-619C-42C7-88B2-82C947CCC9E7}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|ARM = Debug|ARM + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|ARM = Release|ARM + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {7C44D58B-2263-4A61-B9CA-2C8777C34F3A}.Debug|ARM.ActiveCfg = Debug|ARM + {7C44D58B-2263-4A61-B9CA-2C8777C34F3A}.Debug|ARM.Build.0 = Debug|ARM + {7C44D58B-2263-4A61-B9CA-2C8777C34F3A}.Debug|ARM.Deploy.0 = Debug|ARM + {7C44D58B-2263-4A61-B9CA-2C8777C34F3A}.Debug|x64.ActiveCfg = Debug|x64 + {7C44D58B-2263-4A61-B9CA-2C8777C34F3A}.Debug|x64.Build.0 = Debug|x64 + {7C44D58B-2263-4A61-B9CA-2C8777C34F3A}.Debug|x64.Deploy.0 = Debug|x64 + {7C44D58B-2263-4A61-B9CA-2C8777C34F3A}.Debug|x86.ActiveCfg = Debug|Win32 + {7C44D58B-2263-4A61-B9CA-2C8777C34F3A}.Debug|x86.Build.0 = Debug|Win32 + {7C44D58B-2263-4A61-B9CA-2C8777C34F3A}.Debug|x86.Deploy.0 = Debug|Win32 + {7C44D58B-2263-4A61-B9CA-2C8777C34F3A}.Release|ARM.ActiveCfg = Release|ARM + {7C44D58B-2263-4A61-B9CA-2C8777C34F3A}.Release|ARM.Build.0 = Release|ARM + {7C44D58B-2263-4A61-B9CA-2C8777C34F3A}.Release|ARM.Deploy.0 = Release|ARM + {7C44D58B-2263-4A61-B9CA-2C8777C34F3A}.Release|x64.ActiveCfg = Release|x64 + {7C44D58B-2263-4A61-B9CA-2C8777C34F3A}.Release|x64.Build.0 = Release|x64 + {7C44D58B-2263-4A61-B9CA-2C8777C34F3A}.Release|x64.Deploy.0 = Release|x64 + {7C44D58B-2263-4A61-B9CA-2C8777C34F3A}.Release|x86.ActiveCfg = Release|Win32 + {7C44D58B-2263-4A61-B9CA-2C8777C34F3A}.Release|x86.Build.0 = Release|Win32 + {7C44D58B-2263-4A61-B9CA-2C8777C34F3A}.Release|x86.Deploy.0 = Release|Win32 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|ARM.ActiveCfg = Debug|ARM + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|ARM.Build.0 = Debug|ARM + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|x64.ActiveCfg = Debug|x64 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|x64.Build.0 = Debug|x64 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|x86.ActiveCfg = Debug|Win32 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|x86.Build.0 = Debug|Win32 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|ARM.ActiveCfg = Release|ARM + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|ARM.Build.0 = Release|ARM + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|x64.ActiveCfg = Release|x64 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|x64.Build.0 = Release|x64 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|x86.ActiveCfg = Release|Win32 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Samples/Audio/SimplePlay3DSoundUWP/SimplePlay3DSound.vcxproj b/Samples/Audio/SimplePlay3DSoundUWP/SimplePlay3DSound.vcxproj new file mode 100644 index 00000000..4465f3a3 --- /dev/null +++ b/Samples/Audio/SimplePlay3DSoundUWP/SimplePlay3DSound.vcxproj @@ -0,0 +1,282 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + Debug + ARM + + + Release + ARM + + + + {7c44d58b-2263-4a61-b9ca-2c8777c34f3a} + DirectXApp + SimplePlay3DSound + en-US + 14.0 + true + Windows Store + 10.0.10586.0 + 10.0.10240.0 + 10.0 + true + + + + Application + true + v140 + + + Application + true + v140 + + + Application + true + v140 + + + Application + false + true + v140 + + + Application + false + true + v140 + + + Application + false + true + v140 + + + + + + + + + + + + + + + + + + + + + + + + + + + + SimplePlay3DSound_TemporaryKey.pfx + + + + xaudio2.lib; d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\arm; $(VCInstallDir)\lib\arm + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + _DEBUG;%(PreprocessorDefinitions) + Fast + + + 4.0_level_9_3 + + + + + xaudio2.lib; d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\arm; $(VCInstallDir)\lib\arm + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + NDEBUG;%(PreprocessorDefinitions) + Fast + + + 4.0_level_9_3 + + + + + xaudio2.lib; d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store; $(VCInstallDir)\lib + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + _DEBUG;%(PreprocessorDefinitions) + Fast + StreamingSIMDExtensions2 + + + 4.0_level_9_3 + + + + + xaudio2.lib; d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store; $(VCInstallDir)\lib + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + NDEBUG;%(PreprocessorDefinitions) + Fast + StreamingSIMDExtensions2 + + + 4.0_level_9_3 + + + + + xaudio2.lib; d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\amd64; $(VCInstallDir)\lib\amd64 + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + _DEBUG;%(PreprocessorDefinitions) + Fast + + + 4.0_level_9_3 + + + + + xaudio2.lib; d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\amd64; $(VCInstallDir)\lib\amd64 + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + NDEBUG;%(PreprocessorDefinitions) + Fast + + + 4.0_level_9_3 + + + + + + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + + + + + Designer + + + true + true + true + true + true + true + + + true + true + true + true + true + true + + + + + + + + + + + + + + + {f4776924-619c-42c7-88b2-82c947ccc9e7} + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/Audio/SimplePlay3DSoundUWP/SimplePlay3DSound.vcxproj.filters b/Samples/Audio/SimplePlay3DSoundUWP/SimplePlay3DSound.vcxproj.filters new file mode 100644 index 00000000..64d3f913 --- /dev/null +++ b/Samples/Audio/SimplePlay3DSoundUWP/SimplePlay3DSound.vcxproj.filters @@ -0,0 +1,83 @@ + + + + + 1f419b0f-c24a-42c7-aabf-b166528fed38 + + + eb3c1cf4-f0f4-45e8-b5d1-c29940766aba + bmp;dds;fbx;gif;jpg;jpeg;tga;tiff;tif;png + + + {10ae51c0-7081-4e55-9ca3-4a9074bfb6a1} + + + + + + + Common + + + Common + + + ATG Tool Kit + + + ATG Tool Kit + + + ATG Tool Kit + + + + + + + + Common + + + ATG Tool Kit + + + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + + + + + + + Assets + + + + Assets + + + + + Assets + + + \ No newline at end of file diff --git a/Samples/Audio/SimplePlay3DSoundUWP/SimplePlay3DSound_TemporaryKey.pfx b/Samples/Audio/SimplePlay3DSoundUWP/SimplePlay3DSound_TemporaryKey.pfx new file mode 100644 index 0000000000000000000000000000000000000000..1c2c89daed79201ba53eeaa2878eabccdd028125 GIT binary patch literal 2452 zcmXqL;+(+5$ZXKW>BGjU)#lOmotKfFaX}NOElU%pr9l&?sX-I#FBB=(*DOt}&kdSb z9~(5W-e=>6>f+&IWLnU~^3R}&<(GjB8y8HNk=cNcg`>ZX&dQeCXg^(dqUvZ{ko>ny zE3=PIJ`d(|sdLF@tUET}`p^shZLZ48D^3V){eN~#e~k7#p4a}|2j}>FHk-qA?atVSER*~!$<$F{b8{1%yp})t*HVv{NG+_*-q!_^{{%!&9U$N78ynZ zX-|=a-|p(0rPqG_$uIb5XYS;jra8a={ad$kvhJ-%KUXxfc6S~%5aDmF3pL&lZ~l4C z`vcW{nMZAP_NeE-o;!8NxkUi??dsio`*mV4Q8NJ{=w z)0Qv7LhF}a3JvYrz|F_KOfP-MtfTMbcAtu!ka=C|*`%cg_sv>N{rcYU3EXwgWjlXS zeGPy3++5EH!D?Q)38y0ZH)V?N$akL9*Czh+{iQXv`RhE_`R~xN;E?OIQ5H5yViK9V zU3{vRfZo&@e}8L-W=~LK5y?Hnzq)*9>!W9i7Z-FdW2;l$^!EszZwr#!JKg-5d+PFNn z{Im@ZH+ynX(||CztV&A%pX zJ$~fvJsEz7#cky))lc-DSiULN#bl!7j+OKE12+Y|F_!%y=QN$^+coYlwC zKAL;uO7(|!-_@P(wO@5-p37r7b98;qGpT&Th#g+SiO*DQ9xRnT!F2xMyY1JH`(#~M zVe%kO&+<}k-`B0HY*%Xco0%<(dlz3Hq0FbaZRxf5j!9Q%t-gM)g_TT&UbPn5_M6F4wQ@-E7w)9Am72{m5^7|p_Dk|j z9JR^wEdrmQP2B=6$o^?PRezCJ(YWR~FZ)d%P2+)k)J`Tusg%CGZ%dGqIF zW`qi?XIpz)Mk-iZm`Twe3#KOa6@ax76bkY{l`b!6L`69rF0@5Hn{j{g`LS?u=9 z$$!0Th`=GUzfSG9)t?Gng=#G9)piG9)vYF&Hu!GME{} zvTJ9Z7%~}B7*ZLE44RmY;VuVN49qGlP0R`gP0TU| zP0SL=r9bn6CZ-PtO-yg#Wk07FDXt{5~i?peUh#K^=XARfPrCo+hq z(Q$&1;62f}W&>WhC5+sx3z9JOwaPzQ zTT-W;c4}%bnX!4dvU0J3*|i6IgHlRYO26=&$2H$C@7jx~8hn@GG%Vqq`u=fG0 z_;%}0QMb-c$S{tTXP3--Dko7@&pQ83dZPLB{QMc>Cob1&FS~6j6RTXfeY*$G;Xu`* z4Kn_Bmfwt&<=WKl^8D+qm&uPlPnz;d*zvgIjyt?M+t0bk>Y4Pf+5hp$h1L46&ZdS> zFPV0ClGIM!rS~8DOYwbqA+xvswR6@vn|s~A#28h&G(ZnLKPkxY#DG-oDeMh3>k z8U|_xJZ#LNvcimv|5=y}7!1TfJXH{n$AF8CLz|6}m6e^D896Mu!C}eB!1{jq5%)i$ zx46_+NzOX?UwXIe_o+(8Gu(FytIyu~`>v*rIn%t*w^yaMckisMT)E@;wm1J*?LX}- z_d>jd5&zPY%W|3umGXWXT} zynP`HpGJPX=F1bP_E@THg>SK~UR;XNw>?R#4p!>lPWiJW-(>cQx%0ve*>mF$J~X~~ zhW*Z*)uu)NzjJ(T_&P=Mx9r9jXD1!o^?dW=GWOv4AGzACcP|ThJNwCje~o_pCmx;qzGvB{ z)}DO6g@&Tov%9r{ya78Kt2Q4qlN5`{HIrx+hrF;t&Ap5j`8nJD?e5>X!Xl!k*(QAL XiSQ=B#Vh~RY`(e8)k3Bn)II_L4Otkc literal 0 HcmV?d00001 diff --git a/Samples/Graphics/DirectXTKSimpleSampleUWP/StepTimer.h b/Samples/Audio/SimplePlay3DSoundUWP/StepTimer.h similarity index 100% rename from Samples/Graphics/DirectXTKSimpleSampleUWP/StepTimer.h rename to Samples/Audio/SimplePlay3DSoundUWP/StepTimer.h diff --git a/Samples/Graphics/DirectXTKSimpleSampleUWP/pch.cpp b/Samples/Audio/SimplePlay3DSoundUWP/pch.cpp similarity index 100% rename from Samples/Graphics/DirectXTKSimpleSampleUWP/pch.cpp rename to Samples/Audio/SimplePlay3DSoundUWP/pch.cpp diff --git a/Samples/Audio/SimplePlay3DSoundUWP/pch.h b/Samples/Audio/SimplePlay3DSoundUWP/pch.h new file mode 100644 index 00000000..30171a56 --- /dev/null +++ b/Samples/Audio/SimplePlay3DSoundUWP/pch.h @@ -0,0 +1,78 @@ +//-------------------------------------------------------------------------------------- +// pch.h +// +// Header for standard system include files. +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#pragma once + +// Use the C++ standard templated min/max +#define NOMINMAX + +#include + +#include +#include +#include +#include + +#include +#include +#include +#include + +#include +#include +#include + +#ifdef _DEBUG +#include +#endif + +#include "CommonStates.h" +#include "DDSTextureLoader.h" +#include "Effects.h" +#include "GamePad.h" +#include "Keyboard.h" +#include "Mouse.h" +#include "PrimitiveBatch.h" +#include "SimpleMath.h" +#include "SpriteBatch.h" +#include "SpriteFont.h" +#include "VertexTypes.h" + +#include +#include +#include + +namespace DX +{ + // Helper class for COM exceptions + class com_exception : public std::exception + { + public: + com_exception(HRESULT hr) : result(hr) {} + + virtual const char* what() const override + { + static char s_str[64] = { 0 }; + sprintf_s(s_str, "Failure with HRESULT of %08X", result); + return s_str; + } + + private: + HRESULT result; + }; + + // Helper utility converts D3D API failures into exceptions. + inline void ThrowIfFailed(HRESULT hr) + { + if (FAILED(hr)) + { + throw com_exception(hr); + } + } +} \ No newline at end of file diff --git a/Samples/Audio/SimplePlaySoundUWP/DeviceResources.cpp b/Samples/Audio/SimplePlaySoundUWP/DeviceResources.cpp index ba23c3af..d549f821 100644 --- a/Samples/Audio/SimplePlaySoundUWP/DeviceResources.cpp +++ b/Samples/Audio/SimplePlaySoundUWP/DeviceResources.cpp @@ -212,8 +212,7 @@ void DX::DeviceResources::CreateDeviceResources() { D3D11_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS, }; - D3D11_INFO_QUEUE_FILTER filter; - memset(&filter, 0, sizeof(filter)); + D3D11_INFO_QUEUE_FILTER filter = {}; filter.DenyList.NumIDs = _countof(hide); filter.DenyList.pIDList = hide; d3dInfoQueue->AddStorageFilterEntries(&filter); @@ -581,7 +580,7 @@ void DX::DeviceResources::GetHardwareAdapter(IDXGIAdapter1** ppAdapter) } #ifdef _DEBUG - WCHAR buff[256] = {}; + wchar_t buff[256] = {}; swprintf_s(buff, L"Direct3D Adapter (%u): VID:%04X, PID:%04X - %ls\n", adapterIndex, desc.VendorId, desc.DeviceId, desc.Description); OutputDebugStringW(buff); #endif diff --git a/Samples/Audio/SimplePlaySoundUWP/Package.appxmanifest b/Samples/Audio/SimplePlaySoundUWP/Package.appxmanifest index 90db57ed..ef74b2a0 100644 --- a/Samples/Audio/SimplePlaySoundUWP/Package.appxmanifest +++ b/Samples/Audio/SimplePlaySoundUWP/Package.appxmanifest @@ -8,14 +8,14 @@ SimplePlaySound - chuckw + Xbox Advanced Technology Group Assets\StoreLogo.png diff --git a/Samples/Audio/SimplePlaySoundUWP/SimplePlaySound.vcxproj b/Samples/Audio/SimplePlaySoundUWP/SimplePlaySound.vcxproj index 2ad9db9a..e10b2f33 100644 --- a/Samples/Audio/SimplePlaySoundUWP/SimplePlaySound.vcxproj +++ b/Samples/Audio/SimplePlaySoundUWP/SimplePlaySound.vcxproj @@ -1,4 +1,4 @@ - + @@ -255,4 +255,4 @@ - + \ No newline at end of file diff --git a/Samples/Graphics/SimpleTextureUWP/Assets/Logo.png b/Samples/Audio/SimpleWASAPICaptureUWP/Assets/Logo.png similarity index 100% rename from Samples/Graphics/SimpleTextureUWP/Assets/Logo.png rename to Samples/Audio/SimpleWASAPICaptureUWP/Assets/Logo.png diff --git a/Samples/Graphics/SimpleTextureUWP/Assets/SmallLogo.png b/Samples/Audio/SimpleWASAPICaptureUWP/Assets/SmallLogo.png similarity index 100% rename from Samples/Graphics/SimpleTextureUWP/Assets/SmallLogo.png rename to Samples/Audio/SimpleWASAPICaptureUWP/Assets/SmallLogo.png diff --git a/Samples/Graphics/SimpleTextureUWP/Assets/SplashScreen.png b/Samples/Audio/SimpleWASAPICaptureUWP/Assets/SplashScreen.png similarity index 100% rename from Samples/Graphics/SimpleTextureUWP/Assets/SplashScreen.png rename to Samples/Audio/SimpleWASAPICaptureUWP/Assets/SplashScreen.png diff --git a/Samples/Graphics/SimpleTextureUWP/Assets/StoreLogo.png b/Samples/Audio/SimpleWASAPICaptureUWP/Assets/StoreLogo.png similarity index 100% rename from Samples/Graphics/SimpleTextureUWP/Assets/StoreLogo.png rename to Samples/Audio/SimpleWASAPICaptureUWP/Assets/StoreLogo.png diff --git a/Samples/Graphics/SimpleTextureUWP/Assets/WideLogo.png b/Samples/Audio/SimpleWASAPICaptureUWP/Assets/WideLogo.png similarity index 100% rename from Samples/Graphics/SimpleTextureUWP/Assets/WideLogo.png rename to Samples/Audio/SimpleWASAPICaptureUWP/Assets/WideLogo.png diff --git a/Samples/Audio/SimpleWASAPICaptureUWP/CBuffer.cpp b/Samples/Audio/SimpleWASAPICaptureUWP/CBuffer.cpp new file mode 100644 index 00000000..788b8063 --- /dev/null +++ b/Samples/Audio/SimpleWASAPICaptureUWP/CBuffer.cpp @@ -0,0 +1,193 @@ +//-------------------------------------------------------------------------------------- +// CBuffer.cpp +// +// Circular buffer +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#include "pch.h" +#include "CBuffer.h" + +// +// CBuffer() +// +CBuffer::CBuffer(uint32_t size) +{ + ZeroMemory( &m_sourceFormat, sizeof( WAVEFORMATEX ) ); + ZeroMemory( &m_renderFormat, sizeof( WAVEFORMATEX ) ); + AllocateSize(size); + m_front = 0; + m_back = 0; + m_sourceSampleSize = 0; + m_renderSampleSize = 0; + + if (!InitializeCriticalSectionEx(&m_critSec, 0, 0)) + { + DX::ThrowIfFailed(HRESULT_FROM_WIN32(GetLastError())); + } +} + + +// +// ~CBuffer() +// +CBuffer::~CBuffer() +{ + ZeroMemory( &m_buffer, sizeof(m_size ) ); + ZeroMemory( &m_sourceFormat, sizeof( WAVEFORMATEX ) ); + ZeroMemory( &m_renderFormat, sizeof( WAVEFORMATEX ) ); + DeleteCriticalSection( &m_critSec ); +} + + +//-------------------------------------------------------------------------------------- +// Name: AllocateSize +// Desc: Allocates buffer +//-------------------------------------------------------------------------------------- +void CBuffer::AllocateSize(uint32_t inSize) +{ + m_buffer = new BYTE[inSize]; + ZeroMemory(m_buffer, inSize); + m_size = inSize; + m_free = inSize; +} + + +//-------------------------------------------------------------------------------------- +// Name: SetSourceFormat +// Desc: Sets the format of the data entering the buffering +//-------------------------------------------------------------------------------------- +void CBuffer::SetSourceFormat(WAVEFORMATEX* sourceWfx) +{ + CopyMemory(&m_sourceFormat, sourceWfx, sizeof( WAVEFORMATEX)); + SetFormatCalculations(); +} + + +//-------------------------------------------------------------------------------------- +// Name: SetRenderFormat +// Desc: Sets the format of the data stored in the buffer +//-------------------------------------------------------------------------------------- +void CBuffer::SetRenderFormat(WAVEFORMATEX* renderWfx) +{ + CopyMemory(&m_renderFormat, renderWfx, sizeof( WAVEFORMATEX)); + SetFormatCalculations(); + + //We can't trust the format in the buffer, so empty it + m_front = 0; + m_back = 0; +} + + +//-------------------------------------------------------------------------------------- +// Name: SetFormatCalculations +// Desc: Sets the format of the data stored in the buffer +//-------------------------------------------------------------------------------------- +void CBuffer::SetFormatCalculations() +{ + if(m_sourceFormat.cbSize != 0 && m_renderFormat.cbSize != 0) + { + if(m_sourceFormat.wBitsPerSample != 32 || m_renderFormat.wBitsPerSample != 32) + { + //We only support 32bit + m_sourceSampleSize = 0; + m_renderSampleSize = 0; + } + else + { + m_sourceSampleSize = m_sourceFormat.nChannels * m_sourceFormat.nBlockAlign; + m_renderSampleSize = m_renderFormat.nChannels * m_renderFormat.nBlockAlign; + } + } +} + + +//-------------------------------------------------------------------------------------- +// Name: GetCaptureBuffer +// Desc: Gets data from the buffer +//-------------------------------------------------------------------------------------- +void CBuffer::GetCaptureBuffer(uint32_t numBytesRequested, byte *data) +{ + //Fills the data buffer with data from circular buffer and silent the rest + uint32_t numBytesWritten = 0; + + if(numBytesRequested > GetCurrentUsage() || m_sourceSampleSize == 0 || m_renderSampleSize == 0) + { + return; + } + + EnterCriticalSection( &m_critSec ); + + if(numBytesRequested > m_size - m_front) + { + //We need to circle + CopyMemory(data, m_buffer + m_front, m_size - m_front); + numBytesWritten = m_size - m_front; + m_front = 0; + } + + CopyMemory(data + numBytesWritten, m_buffer + m_front, numBytesRequested - numBytesWritten); + m_front += numBytesRequested - numBytesWritten; + m_free += numBytesRequested; + + if(m_front >= m_size) + { + m_front -= m_size; + } + + LeaveCriticalSection( &m_critSec ); +} + + +//-------------------------------------------------------------------------------------- +// Name: SetCaptureBuffer +// Desc: Add data to buffer +//-------------------------------------------------------------------------------------- +void CBuffer::SetCaptureBuffer(uint32_t numBytesGiven, byte *data) +{ + if(m_sourceSampleSize == 0 || m_renderSampleSize == 0) + { + return; + } + + EnterCriticalSection( &m_critSec ); + uint32_t numSamplesGiven = numBytesGiven/m_sourceSampleSize; + + for( uint32_t sample = 0; sample < numSamplesGiven; sample++ ) + { + //Add mono sample + CopyMemory(m_buffer + m_back, data + (sample*m_sourceSampleSize), m_sourceSampleSize); + m_back += m_sourceSampleSize; + + if(m_back >= m_size) + { + m_back -= m_size; + } + + //Add blank space for any additional channels + for(DWORD channels = 1; channels < m_renderFormat.nChannels; channels++) + { + ZeroMemory(m_buffer + m_back, m_sourceSampleSize); + m_back += m_sourceSampleSize; + + if(m_back >= m_size) + { + m_back -= m_size; + } + } + } + + if(m_renderSampleSize/m_sourceSampleSize*numBytesGiven > m_free) + { + m_front = m_back; + m_free = 0; + } + else + { + m_free -= numBytesGiven * m_renderSampleSize/m_sourceSampleSize; + } + + LeaveCriticalSection( &m_critSec ); +} diff --git a/Samples/Audio/SimpleWASAPICaptureUWP/CBuffer.h b/Samples/Audio/SimpleWASAPICaptureUWP/CBuffer.h new file mode 100644 index 00000000..6a1a6994 --- /dev/null +++ b/Samples/Audio/SimpleWASAPICaptureUWP/CBuffer.h @@ -0,0 +1,43 @@ +//-------------------------------------------------------------------------------------- +// CBuffer.h +// +// Circular buffer +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#pragma once + +#include +#include "Common.h" + +class CBuffer +{ +public: + CBuffer(uint32_t size); + virtual ~CBuffer(); + + void GetCaptureBuffer(uint32_t numBytesRequested, byte *data); + void SetCaptureBuffer(uint32_t numBytesGiven, byte *data); + + void SetSourceFormat(WAVEFORMATEX* sourceWfx); + void SetRenderFormat(WAVEFORMATEX* renderWfx); + + uint32_t GetCurrentUsage(){ return m_size - m_free;}; + +private: + void AllocateSize(uint32_t inSize); + void SetFormatCalculations(); + + WAVEFORMATEX m_sourceFormat; + WAVEFORMATEX m_renderFormat; + byte* m_buffer; + uint32_t m_size; + uint32_t m_front; + uint32_t m_back; + uint32_t m_free; + CRITICAL_SECTION m_critSec; + int m_sourceSampleSize; + int m_renderSampleSize; +}; diff --git a/Samples/Audio/SimpleWASAPICaptureUWP/Common.h b/Samples/Audio/SimpleWASAPICaptureUWP/Common.h new file mode 100644 index 00000000..cecf3e5f --- /dev/null +++ b/Samples/Audio/SimpleWASAPICaptureUWP/Common.h @@ -0,0 +1,172 @@ +//-------------------------------------------------------------------------------------- +// Common.h +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#pragma once +#include +#include +#include +#include + +//using namespace Microsoft::WRL; + +// GUID to ensure both WASAPI clients share a session +static const GUID AUDIOSESSIONGUID = +{ 0xb3954ae8, 0xc3c3, 0x4094,{ 0x82, 0x1c, 0xc7, 0xbd, 0xf4, 0xab, 0x15, 0x8a } }; + +// release and zero out a possible NULL pointer. note this will +// do the release on a temp copy to avoid reentrancy issues that can result from +// callbacks durring the release +template void SafeRelease( __deref_inout_opt T **ppT ) +{ + T *pTTemp = *ppT; // temp copy + *ppT = nullptr; // zero the input + if (pTTemp) + { + pTTemp->Release(); + } +} + +#ifndef SAFE_RELEASE +#define SAFE_RELEASE(x) { SafeRelease(&x); } +#endif + +#ifndef SAFE_DELETE +#define SAFE_DELETE(x) { delete x; x = nullptr; } +#endif + +#ifndef SAFE_ARRAYDELETE +#define SAFE_ARRAYDELETE(x) { delete[] x; x = nullptr; } +#endif + +#ifndef METHODASYNCCALLBACK +#define METHODASYNCCALLBACK(Parent, AsyncCallback, pfnCallback) \ +class Callback##AsyncCallback :\ + public IMFAsyncCallback \ +{ \ +public: \ + Callback##AsyncCallback() : \ + _parent(((Parent*)((BYTE*)this - offsetof(Parent, m_x##AsyncCallback)))), \ + _dwQueueID( MFASYNC_CALLBACK_QUEUE_MULTITHREADED ) \ + { \ + } \ +\ + STDMETHOD_( ULONG, AddRef )() \ + { \ + return _parent->AddRef(); \ + } \ + STDMETHOD_( ULONG, Release )() \ + { \ + return _parent->Release(); \ + } \ + STDMETHOD( QueryInterface )( REFIID riid, void **ppvObject ) \ + { \ + if (riid == IID_IMFAsyncCallback || riid == IID_IUnknown) \ + { \ + (*ppvObject) = this; \ + AddRef(); \ + return S_OK; \ + } \ + *ppvObject = NULL; \ + return E_NOINTERFACE; \ + } \ + STDMETHOD( GetParameters )( \ + /* [out] */ __RPC__out DWORD *pdwFlags, \ + /* [out] */ __RPC__out DWORD *pdwQueue) \ + { \ + *pdwFlags = 0; \ + *pdwQueue = _dwQueueID; \ + return S_OK; \ + } \ + STDMETHOD( Invoke )( /* [out] */ __RPC__out IMFAsyncResult * pResult ) \ + { \ + _parent->pfnCallback( pResult ); \ + return S_OK; \ + } \ + void SetQueueID( DWORD dwQueueID ) { _dwQueueID = dwQueueID; } \ +\ +protected: \ + Parent* _parent; \ + DWORD _dwQueueID; \ + \ +} m_x##AsyncCallback; +#endif + +// +// CAsyncState +// +// Used to maintain state during MF Work Item callbacks +class CAsyncState : + public Microsoft::WRL::RuntimeClass, IUnknown> +{ +public: + CAsyncState( Platform::Array^ data, uint32_t size ) : + m_Data(data), + m_Size(size) + { + }; + +public: + Platform::Array^ m_Data; + uint32_t m_Size; + +private: + virtual ~CAsyncState() {}; +}; + +struct RenderBuffer +{ + uint32_t BufferSize; + uint32_t BytesFilled; + BYTE *Buffer; + RenderBuffer *Next; + + RenderBuffer() : + BufferSize(0), + BytesFilled(0), + Buffer( nullptr ), + Next( nullptr ) + { + } + + ~RenderBuffer() + { + SAFE_ARRAYDELETE( Buffer ); + } +}; + +enum RenderSampleType +{ + SampleTypeUnknown, + SampleTypeFloat, + SampleType16BitPCM, +}; + +// +// CalculateMixFormatType() +// +// Determine IEEE Float or PCM samples based on media type +// +inline RenderSampleType CalculateMixFormatType( WAVEFORMATEX *wfx ) +{ + if ( (wfx->wFormatTag == WAVE_FORMAT_PCM) || + ( (wfx->wFormatTag == WAVE_FORMAT_EXTENSIBLE) && + (reinterpret_cast(wfx)->SubFormat == KSDATAFORMAT_SUBTYPE_PCM) ) ) + { + if (wfx->wBitsPerSample == 16) + { + return RenderSampleType::SampleType16BitPCM; + } + } + else if ( (wfx->wFormatTag == WAVE_FORMAT_IEEE_FLOAT) || + ( (wfx->wFormatTag == WAVE_FORMAT_EXTENSIBLE) && + (reinterpret_cast(wfx)->SubFormat == KSDATAFORMAT_SUBTYPE_IEEE_FLOAT) ) ) + { + return RenderSampleType::SampleTypeFloat; + } + + return RenderSampleType::SampleTypeUnknown; +} diff --git a/Samples/Graphics/SimpleTextureUWP/DeviceResources.cpp b/Samples/Audio/SimpleWASAPICaptureUWP/DeviceResources.cpp similarity index 91% rename from Samples/Graphics/SimpleTextureUWP/DeviceResources.cpp rename to Samples/Audio/SimpleWASAPICaptureUWP/DeviceResources.cpp index 49dc516d..d549f821 100644 --- a/Samples/Graphics/SimpleTextureUWP/DeviceResources.cpp +++ b/Samples/Audio/SimpleWASAPICaptureUWP/DeviceResources.cpp @@ -212,8 +212,7 @@ void DX::DeviceResources::CreateDeviceResources() { D3D11_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS, }; - D3D11_INFO_QUEUE_FILTER filter; - memset(&filter, 0, sizeof(filter)); + D3D11_INFO_QUEUE_FILTER filter = {}; filter.DenyList.NumIDs = _countof(hide); filter.DenyList.pIDList = hide; d3dInfoQueue->AddStorageFilterEntries(&filter); @@ -352,29 +351,32 @@ void DX::DeviceResources::CreateWindowSizeDependentResources() m_d3dRenderTargetView.ReleaseAndGetAddressOf() )); - // Create a depth stencil view for use with 3D rendering if needed. - CD3D11_TEXTURE2D_DESC depthStencilDesc( - m_depthBufferFormat, - backBufferWidth, - backBufferHeight, - 1, // This depth stencil view has only one texture. - 1, // Use a single mipmap level. - D3D11_BIND_DEPTH_STENCIL - ); + if (m_depthBufferFormat != DXGI_FORMAT_UNKNOWN) + { + // Create a depth stencil view for use with 3D rendering if needed. + CD3D11_TEXTURE2D_DESC depthStencilDesc( + m_depthBufferFormat, + backBufferWidth, + backBufferHeight, + 1, // This depth stencil view has only one texture. + 1, // Use a single mipmap level. + D3D11_BIND_DEPTH_STENCIL + ); - ComPtr depthStencil; - DX::ThrowIfFailed(m_d3dDevice->CreateTexture2D( - &depthStencilDesc, - nullptr, - depthStencil.GetAddressOf() - )); + ComPtr depthStencil; + DX::ThrowIfFailed(m_d3dDevice->CreateTexture2D( + &depthStencilDesc, + nullptr, + depthStencil.GetAddressOf() + )); - CD3D11_DEPTH_STENCIL_VIEW_DESC depthStencilViewDesc(D3D11_DSV_DIMENSION_TEXTURE2D); - DX::ThrowIfFailed(m_d3dDevice->CreateDepthStencilView( - depthStencil.Get(), - &depthStencilViewDesc, - m_d3dDepthStencilView.ReleaseAndGetAddressOf() - )); + CD3D11_DEPTH_STENCIL_VIEW_DESC depthStencilViewDesc(D3D11_DSV_DIMENSION_TEXTURE2D); + DX::ThrowIfFailed(m_d3dDevice->CreateDepthStencilView( + depthStencil.Get(), + &depthStencilViewDesc, + m_d3dDepthStencilView.ReleaseAndGetAddressOf() + )); + } // Set the 3D rendering viewport to target the entire window. m_screenViewport = CD3D11_VIEWPORT( @@ -522,8 +524,11 @@ void DX::DeviceResources::Present() // overwritten. If dirty or scroll rects are used, this call should be removed. m_d3dContext->DiscardView(m_d3dRenderTargetView.Get()); - // Discard the contents of the depth stencil. - m_d3dContext->DiscardView(m_d3dDepthStencilView.Get()); + if (m_d3dDepthStencilView) + { + // Discard the contents of the depth stencil. + m_d3dContext->DiscardView(m_d3dDepthStencilView.Get()); + } // If the device was removed either by a disconnection or a driver upgrade, we // must recreate all device resources. @@ -575,7 +580,7 @@ void DX::DeviceResources::GetHardwareAdapter(IDXGIAdapter1** ppAdapter) } #ifdef _DEBUG - WCHAR buff[256] = {}; + wchar_t buff[256] = {}; swprintf_s(buff, L"Direct3D Adapter (%u): VID:%04X, PID:%04X - %ls\n", adapterIndex, desc.VendorId, desc.DeviceId, desc.Description); OutputDebugStringW(buff); #endif diff --git a/Samples/Graphics/SimpleTextureUWP/DeviceResources.h b/Samples/Audio/SimpleWASAPICaptureUWP/DeviceResources.h similarity index 100% rename from Samples/Graphics/SimpleTextureUWP/DeviceResources.h rename to Samples/Audio/SimpleWASAPICaptureUWP/DeviceResources.h diff --git a/Samples/Audio/SimpleWASAPICaptureUWP/DeviceState.h b/Samples/Audio/SimpleWASAPICaptureUWP/DeviceState.h new file mode 100644 index 00000000..0e1411e7 --- /dev/null +++ b/Samples/Audio/SimpleWASAPICaptureUWP/DeviceState.h @@ -0,0 +1,86 @@ +//-------------------------------------------------------------------------------------- +// DeviceState.h +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#pragma once + +// NB: All states >= DeviceStateInitialized will allow some methods +// to be called successfully on the Audio Client +enum class DeviceState +{ + DeviceStateUnInitialized, + DeviceStateInError, + DeviceStateDiscontinuity, + DeviceStateFlushing, + DeviceStateActivated, + DeviceStateInitialized, + DeviceStateStarting, + DeviceStatePlaying, + DeviceStateCapturing, + DeviceStatePausing, + DeviceStatePaused, + DeviceStateStopping, + DeviceStateStopped +}; + +// Class for DeviceStateChanged events +ref class DeviceStateChangedEventArgs sealed +{ +internal: + DeviceStateChangedEventArgs(DeviceState newState, HRESULT hr) : + m_DeviceState(newState), + m_hr(hr) + {}; + + property DeviceState State + { + DeviceState get() { return m_DeviceState; } + }; + + property int hr + { + int get() { return m_hr; } + } + +private: + DeviceState m_DeviceState; + HRESULT m_hr; +}; + +// DeviceStateChanged delegate +delegate void DeviceStateChangedHandler(Platform::Object^ sender, DeviceStateChangedEventArgs^ e); + +// DeviceStateChanged Event +ref class DeviceStateChangedEvent sealed +{ +public: + DeviceStateChangedEvent() : + m_DeviceState(DeviceState::DeviceStateUnInitialized) + {}; + + +internal: + DeviceState GetState() { return m_DeviceState; }; + + void SetState(DeviceState newState, HRESULT hr, bool FireEvent) { + if (m_DeviceState != newState) + { + m_DeviceState = newState; + + if (FireEvent) + { + DeviceStateChangedEventArgs^ e = ref new DeviceStateChangedEventArgs(m_DeviceState, hr); + StateChangedEvent(this, e); + } + } + }; + +public: + static event DeviceStateChangedHandler^ StateChangedEvent; + +private: + DeviceState m_DeviceState; +}; diff --git a/Samples/Audio/SimpleWASAPICaptureUWP/Main.cpp b/Samples/Audio/SimpleWASAPICaptureUWP/Main.cpp new file mode 100644 index 00000000..6b0b626a --- /dev/null +++ b/Samples/Audio/SimpleWASAPICaptureUWP/Main.cpp @@ -0,0 +1,357 @@ +//-------------------------------------------------------------------------------------- +// Main.cpp +// +// Entry point for Universal Windows Platform (UWP) app. +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#include "pch.h" +#include "SimpleWASAPICaptureUWP.h" + +#include + +using namespace concurrency; +using namespace Windows::ApplicationModel; +using namespace Windows::ApplicationModel::Core; +using namespace Windows::ApplicationModel::Activation; +using namespace Windows::UI::Core; +using namespace Windows::UI::Input; +using namespace Windows::UI::ViewManagement; +using namespace Windows::System; +using namespace Windows::Foundation; +using namespace Windows::Graphics::Display; +using namespace DirectX; + +ref class ViewProvider sealed : public IFrameworkView +{ +public: + ViewProvider() : + m_exit(false), + m_visible(true), + m_DPI(96.f), + m_logicalWidth(800.f), + m_logicalHeight(600.f), + m_nativeOrientation(DisplayOrientations::None), + m_currentOrientation(DisplayOrientations::None) + { + } + + // IFrameworkView methods + virtual void Initialize(CoreApplicationView^ applicationView) + { + applicationView->Activated += ref new + TypedEventHandler(this, &ViewProvider::OnActivated); + + CoreApplication::Suspending += + ref new EventHandler(this, &ViewProvider::OnSuspending); + + CoreApplication::Resuming += + ref new EventHandler(this, &ViewProvider::OnResuming); + + m_sample = std::make_unique(); + } + + virtual void Uninitialize() + { + m_sample.reset(); + } + + virtual void SetWindow(CoreWindow^ window) + { + window->SizeChanged += + ref new TypedEventHandler(this, &ViewProvider::OnWindowSizeChanged); + + window->VisibilityChanged += + ref new TypedEventHandler(this, &ViewProvider::OnVisibilityChanged); + + window->Closed += + ref new TypedEventHandler(this, &ViewProvider::OnWindowClosed); + + auto dispatcher = CoreWindow::GetForCurrentThread()->Dispatcher; + + dispatcher->AcceleratorKeyActivated += + ref new TypedEventHandler(this, &ViewProvider::OnAcceleratorKeyActivated); + + auto currentDisplayInformation = DisplayInformation::GetForCurrentView(); + + currentDisplayInformation->DpiChanged += + ref new TypedEventHandler(this, &ViewProvider::OnDpiChanged); + + currentDisplayInformation->OrientationChanged += + ref new TypedEventHandler(this, &ViewProvider::OnOrientationChanged); + + DisplayInformation::DisplayContentsInvalidated += + ref new TypedEventHandler(this, &ViewProvider::OnDisplayContentsInvalidated); + + m_DPI = currentDisplayInformation->LogicalDpi; + + m_logicalWidth = window->Bounds.Width; + m_logicalHeight = window->Bounds.Height; + + m_nativeOrientation = currentDisplayInformation->NativeOrientation; + m_currentOrientation = currentDisplayInformation->CurrentOrientation; + + int outputWidth = ConvertDipsToPixels(m_logicalWidth); + int outputHeight = ConvertDipsToPixels(m_logicalHeight); + + DXGI_MODE_ROTATION rotation = ComputeDisplayRotation(); + + if (rotation == DXGI_MODE_ROTATION_ROTATE90 || rotation == DXGI_MODE_ROTATION_ROTATE270) + { + std::swap(outputWidth, outputHeight); + } + + m_sample->Initialize(reinterpret_cast(window), + outputWidth, outputHeight, rotation ); + } + + virtual void Load(Platform::String^ entryPoint) + { + } + + virtual void Run() + { + while (!m_exit) + { + if (m_visible) + { + m_sample->Tick(); + + CoreWindow::GetForCurrentThread()->Dispatcher->ProcessEvents(CoreProcessEventsOption::ProcessAllIfPresent); + } + else + { + CoreWindow::GetForCurrentThread()->Dispatcher->ProcessEvents(CoreProcessEventsOption::ProcessOneAndAllPending); + } + } + } + +protected: + // Event handlers + void OnActivated(CoreApplicationView^ applicationView, IActivatedEventArgs^ args) + { + if (args->Kind == ActivationKind::Launch) + { + auto launchArgs = static_cast(args); + + if (launchArgs->PrelaunchActivated) + { + // Opt-out of Prelaunch + CoreApplication::Exit(); + return; + } + } + + int w, h; + m_sample->GetDefaultSize(w, h); + + m_DPI = DisplayInformation::GetForCurrentView()->LogicalDpi; + + ApplicationView::PreferredLaunchWindowingMode = ApplicationViewWindowingMode::PreferredLaunchViewSize; + // Change to ApplicationViewWindowingMode::FullScreen to default to full screen + + auto desiredSize = Size(ConvertPixelsToDips(w), ConvertPixelsToDips(h)); + + ApplicationView::PreferredLaunchViewSize = desiredSize; + + auto view = ApplicationView::GetForCurrentView(); + + auto minSize = Size(ConvertPixelsToDips(320), ConvertPixelsToDips(200)); + + view->SetPreferredMinSize(minSize); + + CoreWindow::GetForCurrentThread()->Activate(); + + view->FullScreenSystemOverlayMode = FullScreenSystemOverlayMode::Minimal; + + view->TryResizeView(desiredSize); + } + + void OnSuspending(Platform::Object^ sender, SuspendingEventArgs^ args) + { + SuspendingDeferral^ deferral = args->SuspendingOperation->GetDeferral(); + + create_task([this, deferral]() + { + m_sample->OnSuspending(); + + deferral->Complete(); + }); + } + + void OnResuming(Platform::Object^ sender, Platform::Object^ args) + { + m_sample->OnResuming(); + } + + void OnWindowSizeChanged(CoreWindow^ sender, WindowSizeChangedEventArgs^ args) + { + m_logicalWidth = sender->Bounds.Width; + m_logicalHeight = sender->Bounds.Height; + + HandleWindowSizeChanged(); + } + + void OnVisibilityChanged(CoreWindow^ sender, VisibilityChangedEventArgs^ args) + { + m_visible = args->Visible; + if (m_visible) + m_sample->OnActivated(); + else + m_sample->OnDeactivated(); + } + + void OnWindowClosed(CoreWindow^ sender, CoreWindowEventArgs^ args) + { + m_exit = true; + } + + void OnAcceleratorKeyActivated(CoreDispatcher^, AcceleratorKeyEventArgs^ args) + { + if (args->EventType == CoreAcceleratorKeyEventType::SystemKeyDown + && args->VirtualKey == VirtualKey::Enter + && args->KeyStatus.IsMenuKeyDown + && !args->KeyStatus.WasKeyDown) + { + // Implements the classic ALT+ENTER fullscreen toggle + auto view = ApplicationView::GetForCurrentView(); + + if (view->IsFullScreenMode) + view->ExitFullScreenMode(); + else + view->TryEnterFullScreenMode(); + + args->Handled = true; + } + } + + void OnDpiChanged(DisplayInformation^ sender, Object^ args) + { + m_DPI = sender->LogicalDpi; + + HandleWindowSizeChanged(); + } + + void OnOrientationChanged(DisplayInformation^ sender, Object^ args) + { + m_currentOrientation = sender->CurrentOrientation; + + HandleWindowSizeChanged(); + } + + void OnDisplayContentsInvalidated(DisplayInformation^ sender, Object^ args) + { + m_sample->ValidateDevice(); + } + +private: + bool m_exit; + bool m_visible; + float m_DPI; + float m_logicalWidth; + float m_logicalHeight; + std::unique_ptr m_sample; + + Windows::Graphics::Display::DisplayOrientations m_nativeOrientation; + Windows::Graphics::Display::DisplayOrientations m_currentOrientation; + + inline int ConvertDipsToPixels(float dips) const + { + return int(dips * m_DPI / 96.f + 0.5f); + } + + inline float ConvertPixelsToDips(int pixels) const + { + return (float(pixels) * 96.f / m_DPI); + } + + DXGI_MODE_ROTATION ComputeDisplayRotation() const + { + DXGI_MODE_ROTATION rotation = DXGI_MODE_ROTATION_UNSPECIFIED; + + switch (m_nativeOrientation) + { + case DisplayOrientations::Landscape: + switch (m_currentOrientation) + { + case DisplayOrientations::Landscape: + rotation = DXGI_MODE_ROTATION_IDENTITY; + break; + + case DisplayOrientations::Portrait: + rotation = DXGI_MODE_ROTATION_ROTATE270; + break; + + case DisplayOrientations::LandscapeFlipped: + rotation = DXGI_MODE_ROTATION_ROTATE180; + break; + + case DisplayOrientations::PortraitFlipped: + rotation = DXGI_MODE_ROTATION_ROTATE90; + break; + } + break; + + case DisplayOrientations::Portrait: + switch (m_currentOrientation) + { + case DisplayOrientations::Landscape: + rotation = DXGI_MODE_ROTATION_ROTATE90; + break; + + case DisplayOrientations::Portrait: + rotation = DXGI_MODE_ROTATION_IDENTITY; + break; + + case DisplayOrientations::LandscapeFlipped: + rotation = DXGI_MODE_ROTATION_ROTATE270; + break; + + case DisplayOrientations::PortraitFlipped: + rotation = DXGI_MODE_ROTATION_ROTATE180; + break; + } + break; + } + + return rotation; + } + + void HandleWindowSizeChanged() + { + int outputWidth = ConvertDipsToPixels(m_logicalWidth); + int outputHeight = ConvertDipsToPixels(m_logicalHeight); + + DXGI_MODE_ROTATION rotation = ComputeDisplayRotation(); + + if (rotation == DXGI_MODE_ROTATION_ROTATE90 || rotation == DXGI_MODE_ROTATION_ROTATE270) + { + std::swap(outputWidth, outputHeight); + } + + m_sample->OnWindowSizeChanged(outputWidth, outputHeight, rotation); + } +}; + +ref class ViewProviderFactory : IFrameworkViewSource +{ +public: + virtual IFrameworkView^ CreateView() + { + return ref new ViewProvider(); + } +}; + + +// Entry point +[Platform::MTAThread] +int main(Platform::Array^ argv) +{ + UNREFERENCED_PARAMETER(argv); + + auto viewProviderFactory = ref new ViewProviderFactory(); + CoreApplication::Run(viewProviderFactory); + return 0; +} diff --git a/Samples/Audio/SimpleWASAPICaptureUWP/Package.appxmanifest b/Samples/Audio/SimpleWASAPICaptureUWP/Package.appxmanifest new file mode 100644 index 00000000..dd0502bf --- /dev/null +++ b/Samples/Audio/SimpleWASAPICaptureUWP/Package.appxmanifest @@ -0,0 +1,29 @@ + + + + + + SimpleWASAPICaptureUWP + jeball + Assets\StoreLogo.png + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/Audio/SimpleWASAPICaptureUWP/Readme.docx b/Samples/Audio/SimpleWASAPICaptureUWP/Readme.docx new file mode 100644 index 0000000000000000000000000000000000000000..20419062064afe64d9fb8681e7fa40c27d4ed206 GIT binary patch literal 75721 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 literal 0 HcmV?d00001 diff --git a/Samples/Audio/SimpleWASAPICaptureUWP/SimpleWASAPICaptureUWP.cpp b/Samples/Audio/SimpleWASAPICaptureUWP/SimpleWASAPICaptureUWP.cpp new file mode 100644 index 00000000..c62af6f2 --- /dev/null +++ b/Samples/Audio/SimpleWASAPICaptureUWP/SimpleWASAPICaptureUWP.cpp @@ -0,0 +1,442 @@ +//-------------------------------------------------------------------------------------- +// SimpleWASAPICaptureUWP.cpp +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#include "pch.h" +#include "SimpleWASAPICaptureUWP.h" +#include "ATGColors.h" + +using namespace DirectX; + +using Microsoft::WRL::ComPtr; +using namespace Windows::Devices::Enumeration; +using namespace Windows::Media::Devices; +using namespace Windows::Foundation; + +Sample::Sample() +{ + m_deviceResources = std::make_unique(); + m_deviceResources->RegisterDeviceNotify(this); +} + +// Initialize the Direct3D resources required to run. +void Sample::Initialize(IUnknown* window, int width, int height, DXGI_MODE_ROTATION rotation) +{ + m_gamePad = std::make_unique(); + + m_keyboard = std::make_unique(); + m_keyboard->SetWindow(reinterpret_cast(window)); + + m_deviceResources->SetWindow(window, width, height, rotation); + + m_deviceResources->CreateDeviceResources(); + CreateDeviceDependentResources(); + + m_deviceResources->CreateWindowSizeDependentResources(); + CreateWindowSizeDependentResources(); + + // Initialize MF + HRESULT hr = MFStartup(MF_VERSION, MFSTARTUP_LITE); + DX::ThrowIfFailed(hr); + + m_readInput = true; + m_currentId = nullptr; + m_isRendererSet = false; + + // Set up device watchers for audio capture devices + m_captureWatcher = DeviceInformation::CreateWatcher(Windows::Media::Devices::MediaDevice::GetAudioCaptureSelector()); + + m_captureWatcher->Added += ref new TypedEventHandler([=](DeviceWatcher ^source, DeviceInformation ^device) + { + //Just add this to our local device list + m_captureDevices.emplace_back(device); + }); + + m_captureWatcher->Removed += ref new TypedEventHandler([=](DeviceWatcher ^source, DeviceInformationUpdate ^device) + { + bool deviceChanged = false; + + //Find and delete the device from our local list + if (m_captureDevices.size() == 1) + { + //This is our last device + deviceChanged = true; + m_currentId = nullptr; + m_captureDevices.clear(); + } + + for (std::vector::iterator it = m_captureDevices.begin(); it != m_captureDevices.end(); it++) + { + if (device->Id == (*it)->Id) + { + if (m_currentId == device->Id) + { + //We lost the device we were capturing from, so reset + m_currentId = m_captureDevices[0]->Id; + deviceChanged = true; + } + + m_captureDevices.erase(it); + } + } + + if (deviceChanged) + { + if (m_captureInterface->GetDeviceStateEvent()->GetState() == DeviceState::DeviceStateCapturing) + { + //Stop + m_captureInterface->StopCaptureAsync(); + } + + if (m_currentId != nullptr) + { + m_captureInterface->InitializeAudioDeviceAsync(m_currentId); + m_finishInit = true; + } + } + }); + + m_captureWatcher->Start(); + m_finishInit = true; + m_captureBuffer = new CBuffer(32768); + + //Start default capture device + m_currentId = MediaDevice::GetDefaultAudioCaptureId(AudioDeviceRole::Default); + m_captureInterface = Microsoft::WRL::Make(); + m_captureInterface->InitializeAudioDeviceAsync(m_currentId); + + //Start default render device + m_renderInterface = Microsoft::WRL::Make(); + m_renderInterface->InitializeAudioDeviceAsync(); +} + +#pragma region Frame Update +// Executes basic render loop. +void Sample::Tick() +{ + m_timer.Tick([&]() + { + Update(m_timer); + }); + + Render(); +} + +// Updates the world. +void Sample::Update(DX::StepTimer const&) +{ + PIXBeginEvent(PIX_COLOR_DEFAULT, L"Update"); + + auto pad = m_gamePad->GetState(0); + if (pad.IsConnected()) + { + m_gamePadButtons.Update(pad); + + if (pad.IsViewPressed()) + { + Windows::ApplicationModel::Core::CoreApplication::Exit(); + } + } + else + { + m_gamePadButtons.Reset(); + } + + auto kb = m_keyboard->GetState(); + m_keyboardButtons.Update(kb); + + if (kb.Escape) + { + Windows::ApplicationModel::Core::CoreApplication::Exit(); + } + + if (m_finishInit) + { + if (m_currentId == nullptr) + { + if (m_captureWatcher->Status == DeviceWatcherStatus::EnumerationCompleted) + { + m_currentId = MediaDevice::GetDefaultAudioCaptureId(AudioDeviceRole::Default); + + m_captureInterface = Microsoft::WRL::Make(); + m_captureInterface->InitializeAudioDeviceAsync(m_currentId); + } + } + else + { + if (m_renderInterface->GetDeviceStateEvent()->GetState() == DeviceState::DeviceStateInitialized) + { + m_renderFormat = m_renderInterface->GetMixFormat(); + m_renderInterface->StartPlaybackAsync(m_captureBuffer); + m_isRendererSet = true; + } + + if (m_isRendererSet && m_captureInterface->GetDeviceStateEvent()->GetState() == DeviceState::DeviceStateInitialized) + { + m_captureBuffer->SetSourceFormat(m_captureInterface->GetMixFormat()); + m_captureBuffer->SetRenderFormat(m_renderFormat); + m_captureInterface->StartCaptureAsync(m_captureBuffer); + + m_finishInit = false; + } + } + } + + int newDeviceIndex = -1; + + // Account for UI input + if (m_readInput && m_captureDevices.size() > 1) + { + if (pad.IsDPadUpPressed() || kb.Up) + { + m_readInput = false; + + for (uint32_t i = 0; i < m_captureDevices.size(); i++) + { + if (m_captureDevices[i]->Id == m_currentId) + { + if (i == 0) + { + newDeviceIndex = (int)m_captureDevices.size() - 1; + } + else + { + newDeviceIndex = i-1; + } + break; + } + } + } + else if (pad.IsDPadDownPressed() || kb.Down) + { + m_readInput = false; + + for (uint32_t i = 0; i < m_captureDevices.size(); i++) + { + if (m_captureDevices[i]->Id == m_currentId) + { + if (i == m_captureDevices.size() - 1) + { + newDeviceIndex = 0; + } + else + { + newDeviceIndex = i+1; + } + break; + } + } + } + + if(newDeviceIndex > -1) + { + //A new device has been selected, so stop the old one and init the new one + if (m_captureInterface->GetDeviceStateEvent()->GetState() == DeviceState::DeviceStateCapturing) + { + //Stop + m_captureInterface->StopCaptureAsync(); + } + + m_currentId = m_captureDevices[newDeviceIndex]->Id; + m_captureInterface->InitializeAudioDeviceAsync(m_currentId); + m_finishInit = true; + } + } + else + { + if (!pad.IsDPadUpPressed() && !kb.Up && !pad.IsDPadDownPressed() && !kb.Down) + { + m_readInput = true; + } + } + + PIXEndEvent(); +} +#pragma endregion + +#pragma region Frame Render +// Draws the scene. +void Sample::Render() +{ + // Don't try to render anything before the first Update. + if (m_timer.GetFrameCount() == 0) + { + return; + } + + Clear(); + + auto context = m_deviceResources->GetD3DDeviceContext(); + PIXBeginEvent(context, PIX_COLOR_DEFAULT, L"Render"); + + auto rect = m_deviceResources->GetOutputSize(); + auto safeRect = SimpleMath::Viewport::ComputeTitleSafeArea(rect.right, rect.bottom); + + XMFLOAT2 pos(float(safeRect.left), float(safeRect.top)); + wchar_t rateString[32]; + + m_spriteBatch->Begin(); + + m_font->DrawString(m_spriteBatch.get(), L"Audio captured from the selected mic is looped to the default output", pos, ATG::Colors::OffWhite); + pos.y += m_font->GetLineSpacing() * 1.f; + m_font->DrawString(m_spriteBatch.get(), L"Note that no sample conversion is done!", pos, ATG::Colors::OffWhite); + pos.y += m_font->GetLineSpacing() * 1.6f; + + // Draw the sample rates + swprintf(rateString, 32, L"Render rate: %dHz", m_renderInterface->GetMixFormat()->nSamplesPerSec); + m_font->DrawString(m_spriteBatch.get(), rateString, pos, ATG::Colors::Orange); + pos.y += m_font->GetLineSpacing() * 1.f; + + if (m_captureDevices.size() == 0) + { + swprintf(rateString, 32, L"Capture rate: N/A"); + } + else + { + swprintf(rateString, 32, L"Capture rate: %dHz", m_captureInterface->GetMixFormat()->nSamplesPerSec); + } + + m_font->DrawString(m_spriteBatch.get(), rateString, pos, ATG::Colors::Orange); + pos.y += m_font->GetLineSpacing() * 1.5f; + + m_font->DrawString(m_spriteBatch.get(), L"Select your capture device:", pos, ATG::Colors::OffWhite); + pos.y += m_font->GetLineSpacing() * 1.f; + + if (m_captureDevices.size() == 0) + { + m_font->DrawString(m_spriteBatch.get(), L"No capture devices!", pos, ATG::Colors::Orange); + } + else + { + // Draw list of capture devices + for (std::vector::iterator it = m_captureDevices.begin(); it != m_captureDevices.end(); it++) + { + if ((*it)->Id == m_currentId) + { + pos.x = float(safeRect.left); + m_font->DrawString(m_spriteBatch.get(), L"> ", pos, ATG::Colors::Green); + } + + pos.x = float(safeRect.left + 36); + m_font->DrawString(m_spriteBatch.get(), (*it)->Name->Data(), pos, ATG::Colors::Green); + pos.y += m_font->GetLineSpacing() * 1.1f; + } + } + + m_spriteBatch->End(); + + PIXEndEvent(context); + + // Show the new frame. + PIXBeginEvent(PIX_COLOR_DEFAULT, L"Present"); + m_deviceResources->Present(); + PIXEndEvent(); +} + +// Helper method to clear the back buffers. +void Sample::Clear() +{ + auto context = m_deviceResources->GetD3DDeviceContext(); + PIXBeginEvent(context, PIX_COLOR_DEFAULT, L"Clear"); + + // Clear the views. + auto renderTarget = m_deviceResources->GetBackBufferRenderTargetView(); + + context->ClearRenderTargetView(renderTarget, ATG::Colors::Background); + + context->OMSetRenderTargets(1, &renderTarget, nullptr); + + // Set the viewport. + auto viewport = m_deviceResources->GetScreenViewport(); + context->RSSetViewports(1, &viewport); + + PIXEndEvent(context); +} +#pragma endregion + +#pragma region Message Handlers +// Message handlers +void Sample::OnActivated() +{ +} + +void Sample::OnDeactivated() +{ + if (m_captureInterface->GetDeviceStateEvent()->GetState() == DeviceState::DeviceStateCapturing) + { + //Stop + m_captureInterface->StopCaptureAsync(); + } +} + +void Sample::OnSuspending() +{ + auto context = m_deviceResources->GetD3DDeviceContext(); + context->ClearState(); + + m_deviceResources->Trim(); +} + +void Sample::OnResuming() +{ + m_timer.ResetElapsedTime(); + m_gamePadButtons.Reset(); + m_keyboardButtons.Reset(); +} + +void Sample::OnWindowSizeChanged(int width, int height, DXGI_MODE_ROTATION rotation) +{ + if (!m_deviceResources->WindowSizeChanged(width, height, rotation)) + return; + + CreateWindowSizeDependentResources(); +} + +void Sample::ValidateDevice() +{ + m_deviceResources->ValidateDevice(); +} + +// Properties +void Sample::GetDefaultSize(int& width, int& height) const +{ + width = 1280; + height = 720; +} +#pragma endregion + +#pragma region Direct3D Resources +// These are the resources that depend on the device. +void Sample::CreateDeviceDependentResources() +{ + auto context = m_deviceResources->GetD3DDeviceContext(); + auto device = m_deviceResources->GetD3DDevice(); + + m_spriteBatch = std::make_unique(context); + + m_font = std::make_unique(device, L"SegoeUI_18.spritefont"); + m_font->SetDefaultCharacter(L' '); +} + +// Allocate all memory resources that change on a window SizeChanged event. +void Sample::CreateWindowSizeDependentResources() +{ + m_spriteBatch->SetRotation(m_deviceResources->GetRotation()); +} + +void Sample::OnDeviceLost() +{ + m_spriteBatch.reset(); + m_font.reset(); +} + +void Sample::OnDeviceRestored() +{ + CreateDeviceDependentResources(); + + CreateWindowSizeDependentResources(); +} +#pragma endregion diff --git a/Samples/Audio/SimpleWASAPICaptureUWP/SimpleWASAPICaptureUWP.h b/Samples/Audio/SimpleWASAPICaptureUWP/SimpleWASAPICaptureUWP.h new file mode 100644 index 00000000..5b5fa319 --- /dev/null +++ b/Samples/Audio/SimpleWASAPICaptureUWP/SimpleWASAPICaptureUWP.h @@ -0,0 +1,84 @@ +//-------------------------------------------------------------------------------------- +// SimpleWASAPICaptureUWP.h +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#pragma once + +#include "DeviceResources.h" +#include "StepTimer.h" +#include "WASAPICapture.h" +#include "WASAPIRenderer.h" +#include + +// A basic sample implementation that creates a D3D11 device and +// provides a render loop. +class Sample : public DX::IDeviceNotify +{ +public: + + Sample(); + + // Initialization and management + void Initialize(IUnknown* window, int width, int height, DXGI_MODE_ROTATION rotation); + + // Basic render loop + void Tick(); + void Render(); + + // Rendering helpers + void Clear(); + + // IDeviceNotify + virtual void OnDeviceLost() override; + virtual void OnDeviceRestored() override; + + // Messages + void OnActivated(); + void OnDeactivated(); + void OnSuspending(); + void OnResuming(); + void OnWindowSizeChanged(int width, int height, DXGI_MODE_ROTATION rotation); + void ValidateDevice(); + + // Properties + void GetDefaultSize( int& width, int& height ) const; + +private: + void Update(DX::StepTimer const& timer); + + void CreateDeviceDependentResources(); + void CreateWindowSizeDependentResources(); + + // Device resources. + std::unique_ptr m_deviceResources; + + // Render objects + std::unique_ptr m_spriteBatch; + std::unique_ptr m_font; + + // WASAPI objects + Microsoft::WRL::ComPtr m_captureInterface; + Microsoft::WRL::ComPtr m_renderInterface; + std::vector m_captureDevices; + Windows::Devices::Enumeration::DeviceWatcher^ m_captureWatcher; + Platform::String^ m_currentId; + CBuffer* m_captureBuffer; + WAVEFORMATEX* m_renderFormat; + + // Rendering loop timer. + DX::StepTimer m_timer; + + bool m_readInput; + bool m_finishInit; + bool m_isRendererSet; + + // Input devices. + std::unique_ptr m_gamePad; + std::unique_ptr m_keyboard; + + DirectX::GamePad::ButtonStateTracker m_gamePadButtons; + DirectX::Keyboard::KeyboardStateTracker m_keyboardButtons; +}; \ No newline at end of file diff --git a/Samples/Audio/SimpleWASAPICaptureUWP/SimpleWASAPICaptureUWP.sln b/Samples/Audio/SimpleWASAPICaptureUWP/SimpleWASAPICaptureUWP.sln new file mode 100644 index 00000000..44028f0e --- /dev/null +++ b/Samples/Audio/SimpleWASAPICaptureUWP/SimpleWASAPICaptureUWP.sln @@ -0,0 +1,54 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25123.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SimpleWASAPICaptureUWP", "SimpleWASAPICaptureUWP.vcxproj", "{A3716BDF-E40A-4992-84A8-7EA718921140}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectXTK", "..\..\..\Kits\DirectXTK\DirectXTK_Windows10.vcxproj", "{F4776924-619C-42C7-88B2-82C947CCC9E7}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|ARM = Debug|ARM + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|ARM = Release|ARM + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {A3716BDF-E40A-4992-84A8-7EA718921140}.Debug|ARM.ActiveCfg = Debug|ARM + {A3716BDF-E40A-4992-84A8-7EA718921140}.Debug|ARM.Build.0 = Debug|ARM + {A3716BDF-E40A-4992-84A8-7EA718921140}.Debug|ARM.Deploy.0 = Debug|ARM + {A3716BDF-E40A-4992-84A8-7EA718921140}.Debug|x64.ActiveCfg = Debug|x64 + {A3716BDF-E40A-4992-84A8-7EA718921140}.Debug|x64.Build.0 = Debug|x64 + {A3716BDF-E40A-4992-84A8-7EA718921140}.Debug|x64.Deploy.0 = Debug|x64 + {A3716BDF-E40A-4992-84A8-7EA718921140}.Debug|x86.ActiveCfg = Debug|Win32 + {A3716BDF-E40A-4992-84A8-7EA718921140}.Debug|x86.Build.0 = Debug|Win32 + {A3716BDF-E40A-4992-84A8-7EA718921140}.Debug|x86.Deploy.0 = Debug|Win32 + {A3716BDF-E40A-4992-84A8-7EA718921140}.Release|ARM.ActiveCfg = Release|ARM + {A3716BDF-E40A-4992-84A8-7EA718921140}.Release|ARM.Build.0 = Release|ARM + {A3716BDF-E40A-4992-84A8-7EA718921140}.Release|ARM.Deploy.0 = Release|ARM + {A3716BDF-E40A-4992-84A8-7EA718921140}.Release|x64.ActiveCfg = Release|x64 + {A3716BDF-E40A-4992-84A8-7EA718921140}.Release|x64.Build.0 = Release|x64 + {A3716BDF-E40A-4992-84A8-7EA718921140}.Release|x64.Deploy.0 = Release|x64 + {A3716BDF-E40A-4992-84A8-7EA718921140}.Release|x86.ActiveCfg = Release|Win32 + {A3716BDF-E40A-4992-84A8-7EA718921140}.Release|x86.Build.0 = Release|Win32 + {A3716BDF-E40A-4992-84A8-7EA718921140}.Release|x86.Deploy.0 = Release|Win32 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|ARM.ActiveCfg = Debug|ARM + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|ARM.Build.0 = Debug|ARM + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|x64.ActiveCfg = Debug|x64 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|x64.Build.0 = Debug|x64 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|x86.ActiveCfg = Debug|Win32 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|x86.Build.0 = Debug|Win32 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|ARM.ActiveCfg = Release|ARM + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|ARM.Build.0 = Release|ARM + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|x64.ActiveCfg = Release|x64 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|x64.Build.0 = Release|x64 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|x86.ActiveCfg = Release|Win32 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Samples/Audio/SimpleWASAPICaptureUWP/SimpleWASAPICaptureUWP.vcxproj b/Samples/Audio/SimpleWASAPICaptureUWP/SimpleWASAPICaptureUWP.vcxproj new file mode 100644 index 00000000..418406a9 --- /dev/null +++ b/Samples/Audio/SimpleWASAPICaptureUWP/SimpleWASAPICaptureUWP.vcxproj @@ -0,0 +1,275 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + Debug + ARM + + + Release + ARM + + + + {a3716bdf-e40a-4992-84a8-7ea718921140} + DirectXApp + SimpleWASAPICaptureUWP + en-US + 14.0 + true + Windows Store + 10.0.10586.0 + 10.0.10240.0 + 10.0 + true + + + + Application + true + v140 + + + Application + true + v140 + + + Application + true + v140 + + + Application + false + true + v140 + + + Application + false + true + v140 + + + Application + false + true + v140 + + + + + + + + + + + + + + + + + + + + + + + + + + + + SimpleWASAPICaptureUWP_TemporaryKey.pfx + + + + Mfuuid.lib;d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\arm; $(VCInstallDir)\lib\arm + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + _DEBUG;%(PreprocessorDefinitions) + Fast + + + 4.0_level_9_3 + + + + + Mfuuid.lib;d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\arm; $(VCInstallDir)\lib\arm + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + NDEBUG;%(PreprocessorDefinitions) + Fast + + + 4.0_level_9_3 + + + + + Mfuuid.lib;d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store; $(VCInstallDir)\lib + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + _DEBUG;%(PreprocessorDefinitions) + Fast + StreamingSIMDExtensions2 + + + 4.0_level_9_3 + + + + + Mfuuid.lib;d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store; $(VCInstallDir)\lib + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + NDEBUG;%(PreprocessorDefinitions) + Fast + StreamingSIMDExtensions2 + + + 4.0_level_9_3 + + + + + Mfuuid.lib;d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\amd64; $(VCInstallDir)\lib\amd64 + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + _DEBUG;%(PreprocessorDefinitions) + Fast + + + 4.0_level_9_3 + + + + + Mfuuid.lib;d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\amd64; $(VCInstallDir)\lib\amd64 + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + NDEBUG;%(PreprocessorDefinitions) + Fast + + + 4.0_level_9_3 + + + + + + + + + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + + + + + + + Designer + + + true + true + true + true + true + true + + + + + + + + + + + + + + {f4776924-619c-42c7-88b2-82c947ccc9e7} + + + + + + + + + \ No newline at end of file diff --git a/Samples/Audio/SimpleWASAPICaptureUWP/SimpleWASAPICaptureUWP.vcxproj.filters b/Samples/Audio/SimpleWASAPICaptureUWP/SimpleWASAPICaptureUWP.vcxproj.filters new file mode 100644 index 00000000..b4aacde8 --- /dev/null +++ b/Samples/Audio/SimpleWASAPICaptureUWP/SimpleWASAPICaptureUWP.vcxproj.filters @@ -0,0 +1,71 @@ + + + + + 7ae04773-f35b-4bba-a8a4-2fb437e5ddbb + + + 34240a1f-fa61-4112-9d3b-1ff1745c3ef9 + bmp;dds;fbx;gif;jpg;jpeg;tga;tiff;tif;png + + + {f2e2be8c-83dd-431c-b13c-244dd6c5a7e7} + + + + + + + Common + + + Common + + + ATG Tool Kit + + + + + + + + + + + + + Common + + + + + + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + + + + + + + Assets + + + + \ No newline at end of file diff --git a/Samples/Audio/SimpleWASAPICaptureUWP/SimpleWASAPICaptureUWP_TemporaryKey.pfx b/Samples/Audio/SimpleWASAPICaptureUWP/SimpleWASAPICaptureUWP_TemporaryKey.pfx new file mode 100644 index 0000000000000000000000000000000000000000..93b6c92b2513b6956b6530d0e61c0e71c9b454ae GIT binary patch literal 2452 zcmXqL;+(+5$ZXKW>BGjU)#lOmotKfFaX}NOElU%pr9l&?sX-I#FBB=(*DOt}&kdSb z9~(5W-e=>6>f+&IWLnU~^3R}&<(GjB8y8HNk=cNcg=1w1Ltel8p8rft>=#&?SZ=u7 zc3HN?w909<(OO2PZ=3HsS#6rOMbGP?l8o5gEh@##uUr;vi7eT)aHCIu*yUZ!Ogn6T zMTCeRjtXCSV5@p>xtM&W;SZL%B5$nKm$!XrUi$Cofnfe56TV3m)~kDTjP)k$e!TQ< z@e|`cS~`{ttz2`1ov#FIzh1p}>%>j(b>d|nootJ`(x%~DV^!R?^6K=BE?g`p?|xJ> zouBDmwxlGdV{6oE&oxZPjR4r|=?p^<}*?Z+K>FOq5kDJo*3CKR&x!-B*FH zA2+|9U41(u*y2I01J7;QvYvNb2JiaKr|f@tQ@tk5eOW~ArrcdpPVtUC8xBrpV)r=1 z7j`t10_3@M2M`wTdr}1lsvP|d9XY-iSdny`sfquM;hMu)TN&sL>n3+8!Uo^jDRY>vzpF0m$Uu{~}Tzw4K- zku$4j)%qZQ*h}3r?DgKek7CU?CnSnq-mpI2R!D!c`Um4S^Bb++y~2{~))cN;^QM0C z0l(?$N)x*ng^z0U<%GJi?dz*&Wt2~Nu{7bNsMMsDTVk%cFiIWRT4_#g3J zJGgjNQ3!kGr^7-Ki%vQo%bn1kTO9aJr25Pr3A>kN|AXUgw$;|(c>l6u*_Cq-obsmy zzvrLV)y`vN7ZSvrlO13l#qwsZ9G8CKtzA*6wG2Vbmo;-fT=9^;wfy#$V9xa~{;i5w zVmzITE5Fcd?$WiNocw>LFr_}2y8TB(#UqK9qT1I=ISoqhyC-JeqIr|r>X zf8KDveK{|qu*!CC?()}~&u{d96l+m@x{U3U<#KbWE}!KWwK>+s1hxuoF#h_kPxIi6 zdKni<>2JxGTO<{)GRa+f^6X)2?8~ep(I%TJioeu0$Z}XIo|dS2wtJtX?t{9}#JbOE z|1YUq>=ujoT4T1PdEwvSV@(gGGbXoqn;Ik^y_lT;I5Lp;wg&6DbGxQ~D`qLE%IAE! zhhg$#y|)_cPPuDI?EiCg!an{l;b(Pp!lJ&*xcD2oorthnzk3^Ybjn^Ea4V$e7l%`*vW!MX4yuUMO)f_G~dmAth`2I@<|2Ze;R!pX_KPo zCx1KE{q6G-_iLZL7ijoKiaZpyd1$24e4Dji^yW0VrsCrpZXI?BeCm1N$LE%BcbR_I z-AlHxVDH)eYmUV2_D*%3-yd?PcBHIP1ELfnx5G-JbuaIj&W_7q@v%hs1fW zqxN@H4*ZYV{^3aW(JQVN7iTaeu3FN?ufnR_Yoq@BSFK9Cb&2KDnt0}OE-$aG>kQW#PhiVT{Vjo~f_RSe83EKSS`22IQ|22IQo z$fZB?f+nU922D(F;AKCj7~_H_raLT6Og9Xgn64N!G45Hw%*4pVBp`gB@8XgVJ2$xT zdIm3P_U1I;gBO}9A34X84zIdC0UnZNS&WN4- zrF8?Y_|VgB(zJeT59U{{Ol=B(tWS{{VJIJB7&^Ut%rb)H_kcCuUPi+2TyZ=Gzi z>n+r36TU>vthT)$s(#ChQBggFXObm%xN>sEu`d;KYvZpS;w95amO^Yf^j>dunTz%_l-=^wd4dI~Ac-QjC2*u)HBfAtqXb;?_BZR$)z zQS8~>+CbibosCtSkC{n|MPzyXxqE;7#ZwJ``~UZ~xg7PqW!WMYk%Ec;I3DmG7crYH R@=Z?C_V?KgGgDCe2mm{%^-BN% literal 0 HcmV?d00001 diff --git a/Samples/Graphics/SimpleTextureUWP/StepTimer.h b/Samples/Audio/SimpleWASAPICaptureUWP/StepTimer.h similarity index 100% rename from Samples/Graphics/SimpleTextureUWP/StepTimer.h rename to Samples/Audio/SimpleWASAPICaptureUWP/StepTimer.h diff --git a/Samples/Audio/SimpleWASAPICaptureUWP/WASAPICapture.cpp b/Samples/Audio/SimpleWASAPICaptureUWP/WASAPICapture.cpp new file mode 100644 index 00000000..8d4979d8 --- /dev/null +++ b/Samples/Audio/SimpleWASAPICaptureUWP/WASAPICapture.cpp @@ -0,0 +1,356 @@ +//-------------------------------------------------------------------------------------- +// WASAPICapture.cpp +// +// Functions to assist in capturing audio in WASAPI +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#include "pch.h" +#include "WASAPICapture.h" + +using namespace Windows::System::Threading; + +// +// WASAPICapture() +// +WASAPICapture::WASAPICapture() : + m_bufferFrames( 0 ), + m_queueID( 0 ), + m_deviceStateChanged( nullptr ), + m_audioClient( nullptr ), + m_audioCaptureClient( nullptr ), + m_sampleReadyAsyncResult( nullptr ), + m_resampler( nullptr ), + m_buffer( nullptr ) +{ + // Create events for sample ready or user stop + m_sampleReadyEvent = CreateEventEx( nullptr, nullptr, 0, EVENT_ALL_ACCESS ); + if (nullptr == m_sampleReadyEvent) + { + DX::ThrowIfFailed( HRESULT_FROM_WIN32( GetLastError() ) ); + } + + m_deviceStateChanged = ref new DeviceStateChangedEvent(); + if (nullptr == m_deviceStateChanged) + { + DX::ThrowIfFailed( E_OUTOFMEMORY ); + } + + // Register MMCSS work queue + HRESULT hr = S_OK; + DWORD taskID = 0; + + hr = MFLockSharedWorkQueue( L"Capture", 0, &taskID, &m_queueID ); + if (FAILED( hr )) + { + DX::ThrowIfFailed( hr ); + } + + // Set the capture event work queue to use the MMCSS queue + m_xSampleReady.SetQueueID(m_queueID); +} + +// +// ~WASAPICapture() +// +WASAPICapture::~WASAPICapture() +{ + if (INVALID_HANDLE_VALUE != m_sampleReadyEvent) + { + CloseHandle( m_sampleReadyEvent ); + m_sampleReadyEvent = INVALID_HANDLE_VALUE; + } + + MFUnlockWorkQueue( m_queueID ); + + m_deviceStateChanged = nullptr; +} + +// +// InitializeAudioDeviceAsync() +// +// Activates the default audio capture on a asynchronous callback thread. This needs +// to be called from the main UI thread. +// +HRESULT WASAPICapture::InitializeAudioDeviceAsync(Platform::String^ deviceIdString) +{ + IActivateAudioInterfaceAsyncOperation *asyncOp; + HRESULT hr = S_OK; + + // This call must be made on the main UI thread. Async operation will call back to + // IActivateAudioInterfaceCompletionHandler::ActivateCompleted, which must be an agile interface implementation + hr = ActivateAudioInterfaceAsync(deviceIdString->Data(), __uuidof(IAudioClient2), nullptr, this, &asyncOp ); + if (FAILED( hr )) + { + m_deviceStateChanged->SetState( DeviceState::DeviceStateInError, hr, true ); + } + + SAFE_RELEASE( asyncOp ); + return hr; +} + +// +// ActivateCompleted() +// +// Callback implementation of ActivateAudioInterfaceAsync function. This will be called on MTA thread +// when results of the activation are available. +// +HRESULT WASAPICapture::ActivateCompleted( IActivateAudioInterfaceAsyncOperation *operation ) +{ + HRESULT hr = S_OK; + HRESULT hrActivateResult = S_OK; + Microsoft::WRL::ComPtr punkAudioInterface = nullptr; + + // Check for a successful activation result + hr = operation->GetActivateResult( &hrActivateResult, &punkAudioInterface ); + if (SUCCEEDED( hr ) && SUCCEEDED( hrActivateResult )) + { + // Get the pointer for the Audio Client + punkAudioInterface.Get()->QueryInterface( IID_PPV_ARGS(&m_audioClient) ); + if (nullptr == m_audioClient) + { + hr = E_FAIL; + goto exit; + } + + hr = m_audioClient->GetMixFormat( &m_mixFormat ); + if (FAILED( hr )) + { + goto exit; + } + + // Initialize the AudioClient in Shared Mode with the user specified buffer + hr = m_audioClient->Initialize( AUDCLNT_SHAREMODE_SHARED, + AUDCLNT_STREAMFLAGS_EVENTCALLBACK | AUDCLNT_STREAMFLAGS_NOPERSIST, + 10000000LL, + 0, + m_mixFormat, + &AUDIOSESSIONGUID); + + if (FAILED( hr )) + { + goto exit; + } + + // Get the maximum size of the AudioClient Buffer + hr = m_audioClient->GetBufferSize( &m_bufferFrames ); + if (FAILED( hr )) + { + goto exit; + } + + // Get the capture client + hr = m_audioClient->GetService( __uuidof(IAudioCaptureClient), (void**) &m_audioCaptureClient ); + if (FAILED( hr )) + { + goto exit; + } + + // Create Async callback for sample events + hr = MFCreateAsyncResult( nullptr, &m_xSampleReady, nullptr, &m_sampleReadyAsyncResult ); + if (FAILED( hr )) + { + goto exit; + } + + // Sets the event handle that the system signals when an audio buffer is ready to be processed by the client + hr = m_audioClient->SetEventHandle( m_sampleReadyEvent ); + if (FAILED( hr )) + { + goto exit; + } + + m_deviceStateChanged->SetState(DeviceState::DeviceStateInitialized, S_OK, true); + } + +exit: + if (FAILED( hr )) + { + m_deviceStateChanged->SetState( DeviceState::DeviceStateInError, hr, true ); + } + + // Need to return S_OK + return S_OK; +} + +// +// StartCaptureAsync() +// +// Starts asynchronous capture on a separate thread via MF Work Item +// +HRESULT WASAPICapture::StartCaptureAsync(CBuffer* bufferToUse) +{ + m_buffer = bufferToUse; + + // We should be in the initialzied state if this is the first time through getting ready to capture. + if (m_deviceStateChanged->GetState() == DeviceState::DeviceStateInitialized) + { + m_deviceStateChanged->SetState( DeviceState::DeviceStateStarting, S_OK, true ); + return MFPutWorkItem2( MFASYNC_CALLBACK_QUEUE_MULTITHREADED, 0, &m_xStartCapture, nullptr ); + } + + // We are in the wrong state + return E_NOT_VALID_STATE; +} + +// +// OnStartCapture() +// +// Callback method to start capture +// +HRESULT WASAPICapture::OnStartCapture( IMFAsyncResult* ) +{ + HRESULT hr = S_OK; + + // Start the capture + hr = m_audioClient->Start(); + if (SUCCEEDED( hr )) + { + m_deviceStateChanged->SetState( DeviceState::DeviceStateCapturing, S_OK, true ); + MFPutWaitingWorkItem( m_sampleReadyEvent, 0, m_sampleReadyAsyncResult.Get(), &m_sampleReadyKey ); + } + else + { + m_deviceStateChanged->SetState( DeviceState::DeviceStateInError, hr, true ); + } + + return S_OK; +} + +// +// StopCaptureAsync() +// +// Stop capture asynchronously via MF Work Item +// +HRESULT WASAPICapture::StopCaptureAsync() +{ + if ( (m_deviceStateChanged->GetState() != DeviceState::DeviceStateCapturing) && + (m_deviceStateChanged->GetState() != DeviceState::DeviceStateInError) ) + { + return E_NOT_VALID_STATE; + } + + m_deviceStateChanged->SetState( DeviceState::DeviceStateStopping, S_OK, true ); + + return MFPutWorkItem2( MFASYNC_CALLBACK_QUEUE_MULTITHREADED, 0, &m_xStopCapture, nullptr ); +} + +// +// OnStopCapture() +// +// Callback method to stop capture +// +HRESULT WASAPICapture::OnStopCapture( IMFAsyncResult* ) +{ + // Stop capture by cancelling Work Item + // Cancel the queued work item (if any) + if (0 != m_sampleReadyKey) + { + MFCancelWorkItem( m_sampleReadyKey ); + m_sampleReadyKey = 0; + } + + m_audioClient->Stop(); + + m_deviceStateChanged->SetState( DeviceState::DeviceStateFlushing, S_OK, true ); + + m_buffer = nullptr; + + return S_OK; +} + +// +// OnSampleReady() +// +// Callback method when ready to fill sample buffer +// +HRESULT WASAPICapture::OnSampleReady( IMFAsyncResult* ) +{ + HRESULT hr = S_OK; + + hr = OnAudioSampleRequested( false ); + + if (SUCCEEDED( hr )) + { + // Re-queue work item for next sample + if (m_deviceStateChanged->GetState() == DeviceState::DeviceStateCapturing) + { + hr = MFPutWaitingWorkItem( m_sampleReadyEvent, 0, m_sampleReadyAsyncResult.Get(), &m_sampleReadyKey ); + } + } + else + { + m_deviceStateChanged->SetState( DeviceState::DeviceStateInError, hr, true ); + } + + return hr; +} + +// +// OnAudioSampleRequested() +// +// Called when audio device fires m_sampleReadyEvent +// +HRESULT WASAPICapture::OnAudioSampleRequested( bool isSilence ) +{ + HRESULT hr = S_OK; + uint32_t framesAvailable = 0; + BYTE *data = nullptr; + DWORD captureFlags; + UINT64 devicePosition = 0; + UINT64 QPCPosition = 0; + DWORD bytesToCapture = 0; + + std::lock_guard lck(m_mutex); + + // If this flag is set, we have already queued up the async call to finialize the WAV header + // So we don't want to grab or write any more data that would possibly give us an invalid size + if ( (m_deviceStateChanged->GetState() == DeviceState::DeviceStateStopping) || + (m_deviceStateChanged->GetState() == DeviceState::DeviceStateFlushing) ) + { + goto exit; + } + + // This should equal the buffer size when GetBuffer() is called + hr = m_audioCaptureClient->GetNextPacketSize( &framesAvailable); + if (FAILED( hr )) + { + goto exit; + } + + if (framesAvailable > 0) + { + bytesToCapture = framesAvailable * m_mixFormat->nBlockAlign; + + // Get sample buffer + hr = m_audioCaptureClient->GetBuffer( &data, &framesAvailable, &captureFlags, &devicePosition, &QPCPosition ); + if (FAILED( hr )) + { + goto exit; + } + + if (captureFlags & AUDCLNT_BUFFERFLAGS_DATA_DISCONTINUITY) + { + // Pass down a discontinuity flag in case the app is interested and reset back to capturing + m_deviceStateChanged->SetState( DeviceState::DeviceStateDiscontinuity, S_OK, true ); + m_deviceStateChanged->SetState( DeviceState::DeviceStateCapturing, S_OK, false ); + } + + // Zero out sample if silence + if ( (captureFlags & AUDCLNT_BUFFERFLAGS_SILENT) || isSilence ) + { + memset( data, 0, framesAvailable * m_mixFormat->nBlockAlign ); + } + + //Update circular buffer + m_buffer->SetCaptureBuffer(bytesToCapture, data); + + // Release buffer back + m_audioCaptureClient->ReleaseBuffer(framesAvailable); + } + +exit: + return hr; +} diff --git a/Samples/Audio/SimpleWASAPICaptureUWP/WASAPICapture.h b/Samples/Audio/SimpleWASAPICaptureUWP/WASAPICapture.h new file mode 100644 index 00000000..b6fc979b --- /dev/null +++ b/Samples/Audio/SimpleWASAPICaptureUWP/WASAPICapture.h @@ -0,0 +1,69 @@ +//-------------------------------------------------------------------------------------- +// WASAPICapture.h +// +// Functions to assist in capturing audio in WASAPI +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#include +#include +#include +#include +#include +#include +#include "DeviceState.h" +#include "Common.h" +#include "CBuffer.h" +#include + +#pragma once + +// Primary WASAPI Capture Class +class WASAPICapture : + public Microsoft::WRL::RuntimeClass< Microsoft::WRL::RuntimeClassFlags< Microsoft::WRL::ClassicCom >, Microsoft::WRL::FtmBase, IActivateAudioInterfaceCompletionHandler > +{ +public: + WASAPICapture(); + + HRESULT InitializeAudioDeviceAsync(Platform::String^ deviceIdString); + HRESULT StartCaptureAsync(CBuffer* bufferToUse); + HRESULT StopCaptureAsync(); + + DeviceStateChangedEvent^ GetDeviceStateEvent() { return m_deviceStateChanged; }; + WAVEFORMATEX* GetMixFormat() { return m_mixFormat; } + + METHODASYNCCALLBACK( WASAPICapture, StartCapture, OnStartCapture ); + METHODASYNCCALLBACK( WASAPICapture, StopCapture, OnStopCapture ); + METHODASYNCCALLBACK( WASAPICapture, SampleReady, OnSampleReady ); + + // IActivateAudioInterfaceCompletionHandler + STDMETHOD(ActivateCompleted)( IActivateAudioInterfaceAsyncOperation *operation ); + +private: + ~WASAPICapture(); + + HRESULT OnStartCapture( IMFAsyncResult* ); + HRESULT OnStopCapture( IMFAsyncResult* ); + HRESULT OnSampleReady( IMFAsyncResult* ); + + HRESULT OnAudioSampleRequested( bool isSilence = false ); + +private: + uint32_t m_bufferFrames; + HANDLE m_sampleReadyEvent; + MFWORKITEM_KEY m_sampleReadyKey; + std::mutex m_mutex; + DWORD m_queueID; + + CBuffer* m_buffer; + + WAVEFORMATEX* m_mixFormat; + Microsoft::WRL::ComPtr m_audioClient; + Microsoft::WRL::ComPtr m_audioCaptureClient; + Microsoft::WRL::ComPtr m_sampleReadyAsyncResult; + Microsoft::WRL::ComPtr m_resampler; + + DeviceStateChangedEvent^ m_deviceStateChanged; +}; diff --git a/Samples/Audio/SimpleWASAPICaptureUWP/WASAPIRenderer.cpp b/Samples/Audio/SimpleWASAPICaptureUWP/WASAPIRenderer.cpp new file mode 100644 index 00000000..09713f89 --- /dev/null +++ b/Samples/Audio/SimpleWASAPICaptureUWP/WASAPIRenderer.cpp @@ -0,0 +1,423 @@ +//-------------------------------------------------------------------------------------- +// WASAPIRenderer.cpp +// +// Functions to assist in rendering audio in WASAPI +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#include "pch.h" +#include "WASAPIRenderer.h" + +using namespace Windows::System::Threading; +using namespace Windows::Media::Devices; + +// +// WASAPIRenderer() +// +WASAPIRenderer::WASAPIRenderer() : + m_bufferFrames( 0 ), + m_deviceStateChanged( nullptr ), + m_audioClient( nullptr ), + m_audioRenderClient( nullptr ), + m_sampleReadyAsyncResult( nullptr ) +{ + // Create events for sample ready or user stop + m_sampleReadyEvent = CreateEventEx( nullptr, nullptr, 0, EVENT_ALL_ACCESS ); + if (nullptr == m_sampleReadyEvent) + { + DX::ThrowIfFailed( HRESULT_FROM_WIN32( GetLastError() ) ); + } + + m_deviceStateChanged = ref new DeviceStateChangedEvent(); + if (nullptr == m_deviceStateChanged) + { + DX::ThrowIfFailed( E_OUTOFMEMORY ); + } +} + +// +// ~WASAPIRenderer() +// +WASAPIRenderer::~WASAPIRenderer() +{ + if (INVALID_HANDLE_VALUE != m_sampleReadyEvent) + { + CloseHandle( m_sampleReadyEvent ); + m_sampleReadyEvent = INVALID_HANDLE_VALUE; + } + + m_deviceStateChanged = nullptr; +} + +// +// InitializeAudioDeviceAsync() +// +// Activates the default audio renderer on a asynchronous callback thread. This needs +// to be called from the main UI thread. +// +HRESULT WASAPIRenderer::InitializeAudioDeviceAsync() +{ + IActivateAudioInterfaceAsyncOperation *asyncOp; + HRESULT hr = S_OK; + + // Get a string representing the Default Audio Device Renderer + Platform::String^ deviceIdString = MediaDevice::GetDefaultAudioRenderId( Windows::Media::Devices::AudioDeviceRole::Default ); + + // This call must be made on the main UI thread. Async operation will call back to + // IActivateAudioInterfaceCompletionHandler::ActivateCompleted, which must be an agile interface implementation + hr = ActivateAudioInterfaceAsync(deviceIdString->Data(), __uuidof(IAudioClient2), nullptr, this, &asyncOp ); + if (FAILED( hr )) + { + m_deviceStateChanged->SetState( DeviceState::DeviceStateInError, hr, true ); + } + + SAFE_RELEASE( asyncOp ); + + return hr; +} + +// +// ActivateCompleted() +// +// Callback implementation of ActivateAudioInterfaceAsync function. This will be called on MTA thread +// when results of the activation are available. +// +HRESULT WASAPIRenderer::ActivateCompleted( IActivateAudioInterfaceAsyncOperation *operation ) +{ + HRESULT hr = S_OK; + HRESULT hrActivateResult = S_OK; + Microsoft::WRL::ComPtr punkAudioInterface = nullptr; + + if (m_deviceStateChanged->GetState() != DeviceState::DeviceStateUnInitialized) + { + hr = E_NOT_VALID_STATE; + goto exit; + } + + // Check for a successful activation result + hr = operation->GetActivateResult( &hrActivateResult, &punkAudioInterface ); + if (SUCCEEDED( hr ) && SUCCEEDED( hrActivateResult )) + { + m_deviceStateChanged->SetState( DeviceState::DeviceStateActivated, S_OK, false ); + + // Get the pointer for the Audio Client + punkAudioInterface.Get()->QueryInterface( IID_PPV_ARGS(&m_audioClient) ); + if( nullptr == m_audioClient ) + { + hr = E_FAIL; + goto exit; + } + + // Configure user defined properties + hr = ConfigureDeviceInternal(); + if (FAILED( hr )) + { + goto exit; + } + + // Initialize the AudioClient in Shared Mode with the user specified buffer + hr = m_audioClient->Initialize( AUDCLNT_SHAREMODE_SHARED, + AUDCLNT_STREAMFLAGS_EVENTCALLBACK | AUDCLNT_STREAMFLAGS_NOPERSIST, + 200000, + 0, + m_mixFormat, + &AUDIOSESSIONGUID); + + if (FAILED( hr )) + { + goto exit; + } + + // Get the maximum size of the AudioClient Buffer + hr = m_audioClient->GetBufferSize( &m_bufferFrames ); + if (FAILED( hr )) + { + goto exit; + } + + // Get the render client + hr = m_audioClient->GetService( __uuidof(IAudioRenderClient), (void**) &m_audioRenderClient ); + if (FAILED( hr )) + { + goto exit; + } + + // Create Async callback for sample events + hr = MFCreateAsyncResult( nullptr, &m_xSampleReady, nullptr, &m_sampleReadyAsyncResult ); + if (FAILED( hr )) + { + goto exit; + } + + // Sets the event handle that the system signals when an audio buffer is ready to be processed by the client + hr = m_audioClient->SetEventHandle( m_sampleReadyEvent ); + if (FAILED( hr )) + { + goto exit; + } + + // Everything succeeded + m_deviceStateChanged->SetState( DeviceState::DeviceStateInitialized, S_OK, true ); + + } + +exit: + + if (FAILED( hr )) + { + m_deviceStateChanged->SetState( DeviceState::DeviceStateInError, hr, true ); + } + + // Need to return S_OK + return S_OK; +} + +// +// ConfigureDeviceInternal() +// +// Sets additional playback parameters and opts into hardware offload +// +HRESULT WASAPIRenderer::ConfigureDeviceInternal() +{ + if (m_deviceStateChanged->GetState() != DeviceState::DeviceStateActivated) + { + return E_NOT_VALID_STATE; + } + + HRESULT hr = S_OK; + + AudioClientProperties audioProps = {0}; + audioProps.cbSize = sizeof( AudioClientProperties ); + audioProps.eCategory = AudioCategory_ForegroundOnlyMedia; + + hr = m_audioClient->SetClientProperties( &audioProps ); + if (FAILED( hr )) + { + return hr; + } + + // This sample opens the device is shared mode so we need to find the supported WAVEFORMATEX mix format + hr = m_audioClient->GetMixFormat( &m_mixFormat ); + + return hr; +} + +// +// StartPlaybackAsync() +// +// Starts asynchronous playback on a separate thread via MF Work Item +// +HRESULT WASAPIRenderer::StartPlaybackAsync(CBuffer* bufferToUse) +{ + m_buffer = bufferToUse; + + // We should be stopped if the user stopped playback, or we should be + // initialzied if this is the first time through getting ready to playback. + if ( (m_deviceStateChanged->GetState() == DeviceState::DeviceStateStopped) || + (m_deviceStateChanged->GetState() == DeviceState::DeviceStateInitialized) ) + { + m_deviceStateChanged->SetState( DeviceState::DeviceStateStarting, S_OK, true ); + return MFPutWorkItem2( MFASYNC_CALLBACK_QUEUE_MULTITHREADED, 0, &m_xStartPlayback, nullptr ); + } + else if (m_deviceStateChanged->GetState() == DeviceState::DeviceStatePaused) + { + return MFPutWorkItem2( MFASYNC_CALLBACK_QUEUE_MULTITHREADED, 0, &m_xStartPlayback, nullptr ); + } + + // Otherwise something else happened + return E_FAIL; +} + +// +// OnStartPlayback() +// +// Callback method to start playback +// +HRESULT WASAPIRenderer::OnStartPlayback( IMFAsyncResult* ) +{ + HRESULT hr = S_OK; + + // Pre-Roll the buffer with silence + hr = OnAudioSampleRequested( true ); + if (FAILED( hr )) + { + goto exit; + } + + // Actually start the playback + hr = m_audioClient->Start(); + if (SUCCEEDED( hr )) + { + m_deviceStateChanged->SetState( DeviceState::DeviceStatePlaying, S_OK, true ); + hr = MFPutWaitingWorkItem( m_sampleReadyEvent, 0, m_sampleReadyAsyncResult.Get(), &m_sampleReadyKey ); + } + +exit: + if (FAILED( hr )) + { + m_deviceStateChanged->SetState( DeviceState::DeviceStateInError, hr, true ); + } + + return S_OK; +} + +// +// StopPlaybackAsync() +// +// Stop playback asynchronously via MF Work Item +// +HRESULT WASAPIRenderer::StopPlaybackAsync() +{ + if ( (m_deviceStateChanged->GetState() != DeviceState::DeviceStatePlaying) && + (m_deviceStateChanged->GetState() != DeviceState::DeviceStatePaused) && + (m_deviceStateChanged->GetState() != DeviceState::DeviceStateInError) ) + { + return E_NOT_VALID_STATE; + } + + m_deviceStateChanged->SetState( DeviceState::DeviceStateStopping, S_OK, true ); + + return MFPutWorkItem2( MFASYNC_CALLBACK_QUEUE_MULTITHREADED, 0, &m_xStopPlayback, nullptr ); +} + +// +// OnStopPlayback() +// +// Callback method to stop playback +// +HRESULT WASAPIRenderer::OnStopPlayback( IMFAsyncResult* ) +{ + // Stop playback by cancelling Work Item + // Cancel the queued work item (if any) + if (0 != m_sampleReadyKey) + { + MFCancelWorkItem( m_sampleReadyKey ); + m_sampleReadyKey = 0; + } + + // Flush anything left in buffer with silence + OnAudioSampleRequested( true ); + + m_audioClient->Stop(); + + m_deviceStateChanged->SetState( DeviceState::DeviceStateStopped, S_OK, true ); + return S_OK; +} + +// +// OnSampleReady() +// +// Callback method when ready to fill sample buffer +// +HRESULT WASAPIRenderer::OnSampleReady( IMFAsyncResult* ) +{ + HRESULT hr = S_OK; + + hr = OnAudioSampleRequested( false ); + + if (SUCCEEDED( hr )) + { + // Re-queue work item for next sample + if (m_deviceStateChanged->GetState() == DeviceState::DeviceStatePlaying) + { + hr = MFPutWaitingWorkItem( m_sampleReadyEvent, 0, m_sampleReadyAsyncResult.Get(), &m_sampleReadyKey ); + } + } + else + { + m_deviceStateChanged->SetState( DeviceState::DeviceStateInError, hr, true ); + } + + return hr; +} + +// +// OnAudioSampleRequested() +// +// Called when audio device fires m_sampleReadyEvent +// +HRESULT WASAPIRenderer::OnAudioSampleRequested( bool isSilence ) +{ + HRESULT hr = S_OK; + uint32_t paddingFrames = 0; + uint32_t framesAvailable = 0; + + std::lock_guard lck(m_mutex); + + // Get padding in existing buffer + hr = m_audioClient->GetCurrentPadding( &paddingFrames); + if (FAILED( hr )) + { + goto exit; + } + + framesAvailable = m_bufferFrames - paddingFrames; + + // Only continue if we have buffer to write data + if (framesAvailable > 0) + { + if (isSilence) + { + BYTE *Data; + + // Fill the buffer with silence + hr = m_audioRenderClient->GetBuffer( framesAvailable, &Data ); + if (FAILED( hr )) + { + goto exit; + } + + hr = m_audioRenderClient->ReleaseBuffer( framesAvailable, AUDCLNT_BUFFERFLAGS_SILENT ); + goto exit; + } + + // Even if we cancel a work item, this may still fire due to the async + // nature of things. There should be a queued work item already to handle + // the process of stopping or stopped + if (m_deviceStateChanged->GetState() == DeviceState::DeviceStatePlaying) + { + BYTE *pRenderData; + uint32_t actualFramesToRead = m_buffer->GetCurrentUsage() / m_mixFormat->nBlockAlign; + uint32_t actualBytesToRead = actualFramesToRead * m_mixFormat->nBlockAlign; + + if (framesAvailable < actualFramesToRead) + { + actualFramesToRead = framesAvailable; + actualBytesToRead = actualFramesToRead * m_mixFormat->nBlockAlign; + } + + if (actualFramesToRead > 0) + { + hr = m_audioRenderClient->GetBuffer(actualFramesToRead, &pRenderData); + + if (SUCCEEDED(hr)) + { + m_buffer->GetCaptureBuffer(actualBytesToRead, pRenderData); + hr = m_audioRenderClient->ReleaseBuffer(actualFramesToRead, 0); + } + } + else + { + //No capture data, just write silence + hr = m_audioRenderClient->GetBuffer(framesAvailable, &pRenderData); + if (FAILED(hr)) + { + goto exit; + } + + hr = m_audioRenderClient->ReleaseBuffer(framesAvailable, AUDCLNT_BUFFERFLAGS_SILENT); + } + } + } + +exit: + if (AUDCLNT_E_RESOURCES_INVALIDATED == hr) + { + m_deviceStateChanged->SetState( DeviceState::DeviceStateUnInitialized, hr, false ); + hr = InitializeAudioDeviceAsync(); + } + + return hr; +} diff --git a/Samples/Audio/SimpleWASAPICaptureUWP/WASAPIRenderer.h b/Samples/Audio/SimpleWASAPICaptureUWP/WASAPIRenderer.h new file mode 100644 index 00000000..7304e29f --- /dev/null +++ b/Samples/Audio/SimpleWASAPICaptureUWP/WASAPIRenderer.h @@ -0,0 +1,67 @@ +//-------------------------------------------------------------------------------------- +// WASAPIRenderer.h +// +// Functions to assist in rendering audio in WASAPI +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#include +#include +#include +#include +#include +#include "DeviceState.h" +#include "Common.h" +#include "CBuffer.h" +#include + +#pragma once + +// Primary WASAPI Renderering Class +class WASAPIRenderer : + public Microsoft::WRL::RuntimeClass< Microsoft::WRL::RuntimeClassFlags< Microsoft::WRL::ClassicCom >, Microsoft::WRL::FtmBase, IActivateAudioInterfaceCompletionHandler > +{ +public: + WASAPIRenderer(); + + HRESULT InitializeAudioDeviceAsync(); + HRESULT StartPlaybackAsync(CBuffer* bufferToUse); + HRESULT StopPlaybackAsync(); + + DeviceStateChangedEvent^ GetDeviceStateEvent() { return m_deviceStateChanged; }; + WAVEFORMATEX* GetMixFormat() { return m_mixFormat; } + + METHODASYNCCALLBACK( WASAPIRenderer, StartPlayback, OnStartPlayback ); + METHODASYNCCALLBACK( WASAPIRenderer, StopPlayback, OnStopPlayback ); + METHODASYNCCALLBACK( WASAPIRenderer, SampleReady, OnSampleReady ); + + // IActivateAudioInterfaceCompletionHandler + STDMETHOD(ActivateCompleted)( IActivateAudioInterfaceAsyncOperation *operation ); + +private: + ~WASAPIRenderer(); + + HRESULT OnStartPlayback( IMFAsyncResult* ); + HRESULT OnStopPlayback( IMFAsyncResult* ); + HRESULT OnSampleReady( IMFAsyncResult* ); + + HRESULT ConfigureDeviceInternal(); + HRESULT OnAudioSampleRequested( bool isSilence = false ); + +private: + uint32_t m_bufferFrames; + HANDLE m_sampleReadyEvent; + MFWORKITEM_KEY m_sampleReadyKey; + std::mutex m_mutex; + + CBuffer* m_buffer; + + WAVEFORMATEX* m_mixFormat; + Microsoft::WRL::ComPtr m_audioClient; + Microsoft::WRL::ComPtr m_audioRenderClient; + Microsoft::WRL::ComPtr m_sampleReadyAsyncResult; + + DeviceStateChangedEvent^ m_deviceStateChanged; +}; diff --git a/Samples/Graphics/SimpleTextureUWP/pch.cpp b/Samples/Audio/SimpleWASAPICaptureUWP/pch.cpp similarity index 100% rename from Samples/Graphics/SimpleTextureUWP/pch.cpp rename to Samples/Audio/SimpleWASAPICaptureUWP/pch.cpp diff --git a/Samples/Audio/SimpleWASAPICaptureUWP/pch.h b/Samples/Audio/SimpleWASAPICaptureUWP/pch.h new file mode 100644 index 00000000..14029cb9 --- /dev/null +++ b/Samples/Audio/SimpleWASAPICaptureUWP/pch.h @@ -0,0 +1,69 @@ +//-------------------------------------------------------------------------------------- +// pch.h +// +// Header for standard system include files. +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#pragma once + +// Use the C++ standard templated min/max +#define NOMINMAX + +#include + +#include +#include +#include +#include + +#include +#include +#include +#include + +#include +#include + +#ifdef _DEBUG +#include +#endif + +#include "SimpleMath.h" +#include "SpriteBatch.h" +#include "SpriteFont.h" + +#include "GamePad.h" +#include "Keyboard.h" +#include "Mouse.h" + +namespace DX +{ + // Helper class for COM exceptions + class com_exception : public std::exception + { + public: + com_exception(HRESULT hr) : result(hr) {} + + virtual const char* what() const override + { + static char s_str[64] = { 0 }; + sprintf_s(s_str, "Failure with HRESULT of %08X", result); + return s_str; + } + + private: + HRESULT result; + }; + + // Helper utility converts D3D API failures into exceptions. + inline void ThrowIfFailed(HRESULT hr) + { + if (FAILED(hr)) + { + throw com_exception(hr); + } + } +} \ No newline at end of file diff --git a/Samples/Graphics/SimpleTextureUWP12/Assets/Logo.png b/Samples/Audio/SimpleWASAPIPlaySoundUWP/Assets/Logo.png similarity index 100% rename from Samples/Graphics/SimpleTextureUWP12/Assets/Logo.png rename to Samples/Audio/SimpleWASAPIPlaySoundUWP/Assets/Logo.png diff --git a/Samples/Graphics/SimpleTextureUWP12/Assets/SmallLogo.png b/Samples/Audio/SimpleWASAPIPlaySoundUWP/Assets/SmallLogo.png similarity index 100% rename from Samples/Graphics/SimpleTextureUWP12/Assets/SmallLogo.png rename to Samples/Audio/SimpleWASAPIPlaySoundUWP/Assets/SmallLogo.png diff --git a/Samples/Graphics/SimpleTextureUWP12/Assets/SplashScreen.png b/Samples/Audio/SimpleWASAPIPlaySoundUWP/Assets/SplashScreen.png similarity index 100% rename from Samples/Graphics/SimpleTextureUWP12/Assets/SplashScreen.png rename to Samples/Audio/SimpleWASAPIPlaySoundUWP/Assets/SplashScreen.png diff --git a/Samples/Graphics/SimpleTextureUWP12/Assets/StoreLogo.png b/Samples/Audio/SimpleWASAPIPlaySoundUWP/Assets/StoreLogo.png similarity index 100% rename from Samples/Graphics/SimpleTextureUWP12/Assets/StoreLogo.png rename to Samples/Audio/SimpleWASAPIPlaySoundUWP/Assets/StoreLogo.png diff --git a/Samples/Graphics/SimpleTextureUWP12/Assets/WideLogo.png b/Samples/Audio/SimpleWASAPIPlaySoundUWP/Assets/WideLogo.png similarity index 100% rename from Samples/Graphics/SimpleTextureUWP12/Assets/WideLogo.png rename to Samples/Audio/SimpleWASAPIPlaySoundUWP/Assets/WideLogo.png diff --git a/Samples/Graphics/SimpleTriangleUWP/DeviceResources.cpp b/Samples/Audio/SimpleWASAPIPlaySoundUWP/DeviceResources.cpp similarity index 91% rename from Samples/Graphics/SimpleTriangleUWP/DeviceResources.cpp rename to Samples/Audio/SimpleWASAPIPlaySoundUWP/DeviceResources.cpp index 49dc516d..d549f821 100644 --- a/Samples/Graphics/SimpleTriangleUWP/DeviceResources.cpp +++ b/Samples/Audio/SimpleWASAPIPlaySoundUWP/DeviceResources.cpp @@ -212,8 +212,7 @@ void DX::DeviceResources::CreateDeviceResources() { D3D11_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS, }; - D3D11_INFO_QUEUE_FILTER filter; - memset(&filter, 0, sizeof(filter)); + D3D11_INFO_QUEUE_FILTER filter = {}; filter.DenyList.NumIDs = _countof(hide); filter.DenyList.pIDList = hide; d3dInfoQueue->AddStorageFilterEntries(&filter); @@ -352,29 +351,32 @@ void DX::DeviceResources::CreateWindowSizeDependentResources() m_d3dRenderTargetView.ReleaseAndGetAddressOf() )); - // Create a depth stencil view for use with 3D rendering if needed. - CD3D11_TEXTURE2D_DESC depthStencilDesc( - m_depthBufferFormat, - backBufferWidth, - backBufferHeight, - 1, // This depth stencil view has only one texture. - 1, // Use a single mipmap level. - D3D11_BIND_DEPTH_STENCIL - ); + if (m_depthBufferFormat != DXGI_FORMAT_UNKNOWN) + { + // Create a depth stencil view for use with 3D rendering if needed. + CD3D11_TEXTURE2D_DESC depthStencilDesc( + m_depthBufferFormat, + backBufferWidth, + backBufferHeight, + 1, // This depth stencil view has only one texture. + 1, // Use a single mipmap level. + D3D11_BIND_DEPTH_STENCIL + ); - ComPtr depthStencil; - DX::ThrowIfFailed(m_d3dDevice->CreateTexture2D( - &depthStencilDesc, - nullptr, - depthStencil.GetAddressOf() - )); + ComPtr depthStencil; + DX::ThrowIfFailed(m_d3dDevice->CreateTexture2D( + &depthStencilDesc, + nullptr, + depthStencil.GetAddressOf() + )); - CD3D11_DEPTH_STENCIL_VIEW_DESC depthStencilViewDesc(D3D11_DSV_DIMENSION_TEXTURE2D); - DX::ThrowIfFailed(m_d3dDevice->CreateDepthStencilView( - depthStencil.Get(), - &depthStencilViewDesc, - m_d3dDepthStencilView.ReleaseAndGetAddressOf() - )); + CD3D11_DEPTH_STENCIL_VIEW_DESC depthStencilViewDesc(D3D11_DSV_DIMENSION_TEXTURE2D); + DX::ThrowIfFailed(m_d3dDevice->CreateDepthStencilView( + depthStencil.Get(), + &depthStencilViewDesc, + m_d3dDepthStencilView.ReleaseAndGetAddressOf() + )); + } // Set the 3D rendering viewport to target the entire window. m_screenViewport = CD3D11_VIEWPORT( @@ -522,8 +524,11 @@ void DX::DeviceResources::Present() // overwritten. If dirty or scroll rects are used, this call should be removed. m_d3dContext->DiscardView(m_d3dRenderTargetView.Get()); - // Discard the contents of the depth stencil. - m_d3dContext->DiscardView(m_d3dDepthStencilView.Get()); + if (m_d3dDepthStencilView) + { + // Discard the contents of the depth stencil. + m_d3dContext->DiscardView(m_d3dDepthStencilView.Get()); + } // If the device was removed either by a disconnection or a driver upgrade, we // must recreate all device resources. @@ -575,7 +580,7 @@ void DX::DeviceResources::GetHardwareAdapter(IDXGIAdapter1** ppAdapter) } #ifdef _DEBUG - WCHAR buff[256] = {}; + wchar_t buff[256] = {}; swprintf_s(buff, L"Direct3D Adapter (%u): VID:%04X, PID:%04X - %ls\n", adapterIndex, desc.VendorId, desc.DeviceId, desc.Description); OutputDebugStringW(buff); #endif diff --git a/Samples/Graphics/SimpleTriangleUWP/DeviceResources.h b/Samples/Audio/SimpleWASAPIPlaySoundUWP/DeviceResources.h similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP/DeviceResources.h rename to Samples/Audio/SimpleWASAPIPlaySoundUWP/DeviceResources.h diff --git a/Samples/Audio/SimpleWASAPIPlaySoundUWP/DeviceState.h b/Samples/Audio/SimpleWASAPIPlaySoundUWP/DeviceState.h new file mode 100644 index 00000000..a8793856 --- /dev/null +++ b/Samples/Audio/SimpleWASAPIPlaySoundUWP/DeviceState.h @@ -0,0 +1,86 @@ +//-------------------------------------------------------------------------------------- +// DeviceState.h +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#pragma once + +// NB: All states >= DeviceStateInitialized will allow some methods +// to be called successfully on the Audio Client +enum class DeviceState +{ + DeviceStateUnInitialized, + DeviceStateInError, + DeviceStateDiscontinuity, + DeviceStateFlushing, + DeviceStateActivated, + DeviceStateInitialized, + DeviceStateStarting, + DeviceStatePlaying, + DeviceStateCapturing, + DeviceStatePausing, + DeviceStatePaused, + DeviceStateStopping, + DeviceStateStopped +}; + +// Class for DeviceStateChanged events +ref class DeviceStateChangedEventArgs sealed +{ +internal: + DeviceStateChangedEventArgs(DeviceState newState, HRESULT hr) : + m_DeviceState(newState), + m_hr(hr) + {}; + + property DeviceState State + { + DeviceState get() { return m_DeviceState; } + }; + + property int hr + { + int get() { return m_hr; } + } + +private: + DeviceState m_DeviceState; + HRESULT m_hr; +}; + +// DeviceStateChanged delegate +delegate void DeviceStateChangedHandler(Platform::Object^ sender, DeviceStateChangedEventArgs^ e); + +// DeviceStateChanged Event +ref class DeviceStateChangedEvent sealed +{ +public: + DeviceStateChangedEvent() : + m_DeviceState(DeviceState::DeviceStateUnInitialized) + {}; + + +internal: + DeviceState GetState() { return m_DeviceState; }; + + void SetState(DeviceState newState, HRESULT hr, bool FireEvent) { + if (m_DeviceState != newState) + { + m_DeviceState = newState; + + if (FireEvent) + { + DeviceStateChangedEventArgs^ e = ref new DeviceStateChangedEventArgs(m_DeviceState, hr); + StateChangedEvent(this, e); + } + } + }; + +public: + static event DeviceStateChangedHandler^ StateChangedEvent; + +private: + DeviceState m_DeviceState; +}; \ No newline at end of file diff --git a/Samples/Audio/SimpleWASAPIPlaySoundUWP/Main.cpp b/Samples/Audio/SimpleWASAPIPlaySoundUWP/Main.cpp new file mode 100644 index 00000000..52a55b79 --- /dev/null +++ b/Samples/Audio/SimpleWASAPIPlaySoundUWP/Main.cpp @@ -0,0 +1,357 @@ +//-------------------------------------------------------------------------------------- +// Main.cpp +// +// Entry point for Universal Windows Platform (UWP) app. +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#include "pch.h" +#include "SimpleWASAPIPlaySound.h" + +#include + +using namespace concurrency; +using namespace Windows::ApplicationModel; +using namespace Windows::ApplicationModel::Core; +using namespace Windows::ApplicationModel::Activation; +using namespace Windows::UI::Core; +using namespace Windows::UI::Input; +using namespace Windows::UI::ViewManagement; +using namespace Windows::System; +using namespace Windows::Foundation; +using namespace Windows::Graphics::Display; +using namespace DirectX; + +ref class ViewProvider sealed : public IFrameworkView +{ +public: + ViewProvider() : + m_exit(false), + m_visible(true), + m_DPI(96.f), + m_logicalWidth(800.f), + m_logicalHeight(600.f), + m_nativeOrientation(DisplayOrientations::None), + m_currentOrientation(DisplayOrientations::None) + { + } + + // IFrameworkView methods + virtual void Initialize(CoreApplicationView^ applicationView) + { + applicationView->Activated += ref new + TypedEventHandler(this, &ViewProvider::OnActivated); + + CoreApplication::Suspending += + ref new EventHandler(this, &ViewProvider::OnSuspending); + + CoreApplication::Resuming += + ref new EventHandler(this, &ViewProvider::OnResuming); + + m_sample = std::make_unique(); + } + + virtual void Uninitialize() + { + m_sample.reset(); + } + + virtual void SetWindow(CoreWindow^ window) + { + window->SizeChanged += + ref new TypedEventHandler(this, &ViewProvider::OnWindowSizeChanged); + + window->VisibilityChanged += + ref new TypedEventHandler(this, &ViewProvider::OnVisibilityChanged); + + window->Closed += + ref new TypedEventHandler(this, &ViewProvider::OnWindowClosed); + + auto dispatcher = CoreWindow::GetForCurrentThread()->Dispatcher; + + dispatcher->AcceleratorKeyActivated += + ref new TypedEventHandler(this, &ViewProvider::OnAcceleratorKeyActivated); + + auto currentDisplayInformation = DisplayInformation::GetForCurrentView(); + + currentDisplayInformation->DpiChanged += + ref new TypedEventHandler(this, &ViewProvider::OnDpiChanged); + + currentDisplayInformation->OrientationChanged += + ref new TypedEventHandler(this, &ViewProvider::OnOrientationChanged); + + DisplayInformation::DisplayContentsInvalidated += + ref new TypedEventHandler(this, &ViewProvider::OnDisplayContentsInvalidated); + + m_DPI = currentDisplayInformation->LogicalDpi; + + m_logicalWidth = window->Bounds.Width; + m_logicalHeight = window->Bounds.Height; + + m_nativeOrientation = currentDisplayInformation->NativeOrientation; + m_currentOrientation = currentDisplayInformation->CurrentOrientation; + + int outputWidth = ConvertDipsToPixels(m_logicalWidth); + int outputHeight = ConvertDipsToPixels(m_logicalHeight); + + DXGI_MODE_ROTATION rotation = ComputeDisplayRotation(); + + if (rotation == DXGI_MODE_ROTATION_ROTATE90 || rotation == DXGI_MODE_ROTATION_ROTATE270) + { + std::swap(outputWidth, outputHeight); + } + + m_sample->Initialize(reinterpret_cast(window), + outputWidth, outputHeight, rotation ); + } + + virtual void Load(Platform::String^ entryPoint) + { + } + + virtual void Run() + { + while (!m_exit) + { + if (m_visible) + { + m_sample->Tick(); + + CoreWindow::GetForCurrentThread()->Dispatcher->ProcessEvents(CoreProcessEventsOption::ProcessAllIfPresent); + } + else + { + CoreWindow::GetForCurrentThread()->Dispatcher->ProcessEvents(CoreProcessEventsOption::ProcessOneAndAllPending); + } + } + } + +protected: + // Event handlers + void OnActivated(CoreApplicationView^ applicationView, IActivatedEventArgs^ args) + { + if (args->Kind == ActivationKind::Launch) + { + auto launchArgs = static_cast(args); + + if (launchArgs->PrelaunchActivated) + { + // Opt-out of Prelaunch + CoreApplication::Exit(); + return; + } + } + + int w, h; + m_sample->GetDefaultSize(w, h); + + m_DPI = DisplayInformation::GetForCurrentView()->LogicalDpi; + + ApplicationView::PreferredLaunchWindowingMode = ApplicationViewWindowingMode::PreferredLaunchViewSize; + // Change to ApplicationViewWindowingMode::FullScreen to default to full screen + + auto desiredSize = Size(ConvertPixelsToDips(w), ConvertPixelsToDips(h)); + + ApplicationView::PreferredLaunchViewSize = desiredSize; + + auto view = ApplicationView::GetForCurrentView(); + + auto minSize = Size(ConvertPixelsToDips(320), ConvertPixelsToDips(200)); + + view->SetPreferredMinSize(minSize); + + CoreWindow::GetForCurrentThread()->Activate(); + + view->FullScreenSystemOverlayMode = FullScreenSystemOverlayMode::Minimal; + + view->TryResizeView(desiredSize); + } + + void OnSuspending(Platform::Object^ sender, SuspendingEventArgs^ args) + { + SuspendingDeferral^ deferral = args->SuspendingOperation->GetDeferral(); + + create_task([this, deferral]() + { + m_sample->OnSuspending(); + + deferral->Complete(); + }); + } + + void OnResuming(Platform::Object^ sender, Platform::Object^ args) + { + m_sample->OnResuming(); + } + + void OnWindowSizeChanged(CoreWindow^ sender, WindowSizeChangedEventArgs^ args) + { + m_logicalWidth = sender->Bounds.Width; + m_logicalHeight = sender->Bounds.Height; + + HandleWindowSizeChanged(); + } + + void OnVisibilityChanged(CoreWindow^ sender, VisibilityChangedEventArgs^ args) + { + m_visible = args->Visible; + if (m_visible) + m_sample->OnActivated(); + else + m_sample->OnDeactivated(); + } + + void OnWindowClosed(CoreWindow^ sender, CoreWindowEventArgs^ args) + { + m_exit = true; + } + + void OnAcceleratorKeyActivated(CoreDispatcher^, AcceleratorKeyEventArgs^ args) + { + if (args->EventType == CoreAcceleratorKeyEventType::SystemKeyDown + && args->VirtualKey == VirtualKey::Enter + && args->KeyStatus.IsMenuKeyDown + && !args->KeyStatus.WasKeyDown) + { + // Implements the classic ALT+ENTER fullscreen toggle + auto view = ApplicationView::GetForCurrentView(); + + if (view->IsFullScreenMode) + view->ExitFullScreenMode(); + else + view->TryEnterFullScreenMode(); + + args->Handled = true; + } + } + + void OnDpiChanged(DisplayInformation^ sender, Object^ args) + { + m_DPI = sender->LogicalDpi; + + HandleWindowSizeChanged(); + } + + void OnOrientationChanged(DisplayInformation^ sender, Object^ args) + { + m_currentOrientation = sender->CurrentOrientation; + + HandleWindowSizeChanged(); + } + + void OnDisplayContentsInvalidated(DisplayInformation^ sender, Object^ args) + { + m_sample->ValidateDevice(); + } + +private: + bool m_exit; + bool m_visible; + float m_DPI; + float m_logicalWidth; + float m_logicalHeight; + std::unique_ptr m_sample; + + Windows::Graphics::Display::DisplayOrientations m_nativeOrientation; + Windows::Graphics::Display::DisplayOrientations m_currentOrientation; + + inline int ConvertDipsToPixels(float dips) const + { + return int(dips * m_DPI / 96.f + 0.5f); + } + + inline float ConvertPixelsToDips(int pixels) const + { + return (float(pixels) * 96.f / m_DPI); + } + + DXGI_MODE_ROTATION ComputeDisplayRotation() const + { + DXGI_MODE_ROTATION rotation = DXGI_MODE_ROTATION_UNSPECIFIED; + + switch (m_nativeOrientation) + { + case DisplayOrientations::Landscape: + switch (m_currentOrientation) + { + case DisplayOrientations::Landscape: + rotation = DXGI_MODE_ROTATION_IDENTITY; + break; + + case DisplayOrientations::Portrait: + rotation = DXGI_MODE_ROTATION_ROTATE270; + break; + + case DisplayOrientations::LandscapeFlipped: + rotation = DXGI_MODE_ROTATION_ROTATE180; + break; + + case DisplayOrientations::PortraitFlipped: + rotation = DXGI_MODE_ROTATION_ROTATE90; + break; + } + break; + + case DisplayOrientations::Portrait: + switch (m_currentOrientation) + { + case DisplayOrientations::Landscape: + rotation = DXGI_MODE_ROTATION_ROTATE90; + break; + + case DisplayOrientations::Portrait: + rotation = DXGI_MODE_ROTATION_IDENTITY; + break; + + case DisplayOrientations::LandscapeFlipped: + rotation = DXGI_MODE_ROTATION_ROTATE270; + break; + + case DisplayOrientations::PortraitFlipped: + rotation = DXGI_MODE_ROTATION_ROTATE180; + break; + } + break; + } + + return rotation; + } + + void HandleWindowSizeChanged() + { + int outputWidth = ConvertDipsToPixels(m_logicalWidth); + int outputHeight = ConvertDipsToPixels(m_logicalHeight); + + DXGI_MODE_ROTATION rotation = ComputeDisplayRotation(); + + if (rotation == DXGI_MODE_ROTATION_ROTATE90 || rotation == DXGI_MODE_ROTATION_ROTATE270) + { + std::swap(outputWidth, outputHeight); + } + + m_sample->OnWindowSizeChanged(outputWidth, outputHeight, rotation); + } +}; + +ref class ViewProviderFactory : IFrameworkViewSource +{ +public: + virtual IFrameworkView^ CreateView() + { + return ref new ViewProvider(); + } +}; + + +// Entry point +[Platform::MTAThread] +int main(Platform::Array^ argv) +{ + UNREFERENCED_PARAMETER(argv); + + auto viewProviderFactory = ref new ViewProviderFactory(); + CoreApplication::Run(viewProviderFactory); + return 0; +} diff --git a/Samples/Audio/SimpleWASAPIPlaySoundUWP/Package.appxmanifest b/Samples/Audio/SimpleWASAPIPlaySoundUWP/Package.appxmanifest new file mode 100644 index 00000000..1c074025 --- /dev/null +++ b/Samples/Audio/SimpleWASAPIPlaySoundUWP/Package.appxmanifest @@ -0,0 +1,28 @@ + + + + + + SimplePlaySound + Xbox Advanced Technology Group + Assets\StoreLogo.png + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/Audio/SimpleWASAPIPlaySoundUWP/Readme.docx b/Samples/Audio/SimpleWASAPIPlaySoundUWP/Readme.docx new file mode 100644 index 0000000000000000000000000000000000000000..c4892217365102ebb649203d113b827d1a174b83 GIT binary patch literal 705030 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%0A3k)8;mT&>IwRXZ$M*D-$Sd9-!TmT;Ma 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 z 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%0DK!Zn{sY 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

L5P`EWoq+#Z^non=y$ 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

SH69W4j}y|KFQ&HJjnrx7jjR&!6&;(Wy0_ z5ZP?F&2CQ{ufB4zFduQ2^>B{#(Z>MkZw@wGGlVUmr;abs_RhJT$ ztK1CCi9Y(Jk!?@YBB@mS$yq<|*UdavS;?gt&lU0T==X??P0vyc>jaWojZSiD1wD(O zC;TkXCCuJX+jm->=B9@MmU0FQ-u!Vks6Em>|A%+eyloMuMO%W_8PC~JlVlmsd}_|0 z?cbIOq#b&^ahveLLm#^iOlI~D`s{i(sl)Q&v<_!36QwahOgZ4by+${g-#Jj|EQ+A&`dT!6gzKu)YEN;L3d-CBmzmw90i@rrJ{Ic*# z=e)C%ovpsFaB5X^b^e>&y!&Et+F_**YoD+pW7eN@npgWN91vS#+p2snF zH+O|Ke>-cG(Kz9qlhBWEm;79&hVPj0Zo@@;m&IlqH~yNyBzLw|cIWvc?9FZ`M3?z- zUik0Zc+q|Fn}Dj*CrdZof9(}{>51dv4_iu?+!ty;wmpDTd{1oZ8WtTdi_3RECuU7Z zP`S8o=Mv7XTijX>2k~9jKc4?DRKJ0zKa6w!)pL<^ti?CfdHEXz-AS>yX~%i>#onEV zo=jwsmAqWsA3g8B!#(#&1`lRzSi9&+i<06M%Y*l}{>jQ`v|_GjGtVr+5`hHnu5vUctqdDo+}S13=)d@jGy zVf}L6H~yTB?)BFWny*W-dHZcn8E=!s$-}A)Mge-+Zg=e-?>)6nYd+(ylYeelF4%sz zq4l_j9mA3f7dW?i{V7_qdD^Y=b!*Z*3XJwL%$c<8_srdC%V!oP&)%$mU2cx#flY1_ z^ZNQfZ%9{F58ck`=dnB_>ekPj>#ltC(7WeU>ueHfVCC4!vdC%YZr_f!kB_eU@%f&c zIbD6FgZk1<&%3@d2JrIAytT2*oKfU1T)*r~&&qeF&bmfk2>h7xT-RaW9os_T1%Fm% zv-D2R%2~7SlTXl>l`r{Tolv^Y^WvtIT7h_h`>JDqTr#imiImq?6pH7`3$=O)DgWZi zQTOdzVU=H!!Zp|a`Fp7&{*K=oZ-*6Jef&Og!#(bqN0)4!&a{7}|CBAt>SA3|wqKql zOS;aGuKAaA?sJ9R-9IPddegdpo)cVqUhLyj`#6?`v%QX&atDe(W&HVbweqx@-LaEr zCvCYJv@av9-?Ap?&Xn$##hi8n|KIf`>b^Pl+)4|$&NiN2aiXkwPC!%Y zhI2MdwvQ|?^wo2UYQj%y!&>mJ^WAi z3E!0~*bUxH(M`$Im~(0M?#5@Vk;44HD*dLJ7)^h9`e9+1)@HHU^JeWdNZ;Jeq6{GSpuFvT)_I z+&LR3imGKe{gW`wdwWPwF#Z0=O{Hvi{f?h+f4ny>{qq*a<~^#C;<_QFUWdIes-H~q zTDU0BTh@K?ky~*q3w!^Wtw@*HKmX9AH>>O~@-T94aXQ4YC~cRGSB-A>lRvUocUHtz z-dCSzvb*e^&J7vgt!Jk?{Z+e|+qvU%vs<0mW!dHeQ4K+*9O1ILHxp{7)iB6Qz1ly4 zWvAplkC1tH8$S06mVA40%2r$Lu;T*#l6Sj&WTpIn7FvB=I4}2$g}8>i?32K(<&EN@ zPtA@c?Fkjp4a( z{HBm!A2Q57C9M&7GrMrw-FaUXJo9HV)u^@2$$9(Ww$|yc3Z;C(-v22ASBjJSI-4yw zcknI>yps`C;dS;J&#Rc~uw8RkuYDu5Y^w9@{*^3N_Z}RU^XoSKz^7*SV5U&nhPNU| zEs~Oi*6sY|@S1-qfAk_{U1PJUEW58Q?%J+y^P=;v)5lG=7bI_J9=yT2@!zv@y$#iR zx2+i&z5lhv&#K;Gm3&fJsgHkZ?R2-sn#WVDHpM>pC#9HGAGN<`|7;89LYr5rGqzZI zPTqdmEuJyx(o*H_^>b!uUD{uH@Mw3zKF?{g>UL%t>`xsGrfdvZmHj+-e`ncehU=fz zIo9vE^TcY;ORYey4igT+>KA95g*+7gzKp5g?~$^(EzUc9uR~n!O^)N|)!M(;r{8cb zPGahhJ`!KM%uSK6=$ggTAEGZl*lMdrX-YI6eZTsn&Vtw8Tko^Rs=Snp|0;22{oD(8 z;!1b!c_}gJOOjHTYEP&9=f$6zsLNb(5;-0&t@vS8>~u!zuZaCu(Ir<|OJX+qiUt2;U;j$d)?+5K;oIog77>R1yS*39 zwiep=a#DS&i;Ju6q2|?>Z<^1X{Q2iAfui7ub)D}!%pG?ftnY9+WW!wMkUBMCo;&Yc z$9)%j$vK|+2@v+%)rGEdqoxdL_1voVc96EQ!i%*G1vCLib`tf;FnWSywFW3Fl z%E_7XIVNjG%AHw{TPI|yWjFs#U2}ZGu9A)E2mUd*-!p!f`b_NX84jJlIjNV-#nV?T z=#P_p#58SDpVw9)jX#nudGqU%zx?4js2=+HY+R7z#GRbcU-Ex-8yP13zTEt=TCMV^ zv3z!MMTli+?_t5HC{34MPCLUd*R6H$zYjaseSqPe0n6_fccxC=aQczvY)P-*RR_0~ zZO-&QTosYWwL$ChXS?Jc##_IhuQPY&X+NQuXv?+h^0J*qLfMYn|L-tp<+-&mbseXk ziBqtykItOS=euXGykc1!`<}@LNHC4bn{pH3EhWI4IO~(^9anzLgMusmsID4Ut!uoJ_jjZsN z$ssq&{?*+7z;R1}&urtq?59zD4(b19{F%+%bXn%*hV)QtSB4Aj%(ui3eqVGaaPj8N zQIZD?ztriRS|#*Nk7XxV5oS&%SJy z?(`;~r`~MhYp33vm8SbBQnW89j5GXY+EVX3*Xz?Gc$4j_&PKKxUf8+q&q2?;9l#HMogW4|^Pg;6YvMnSgW|Mnyd4YfR zlK&T0Y(5p;Snj*f=62=f)f3Xs`knJyknz@4_!aB^_a9~~$thy*QaLGIyydKoFmJTL zJd;Cvt{6`U=H*~Ai<GTeG+ zy-V`U{hLg(TB=XDgqgRPsEe(r{%ThCB))Hxz^0h1ZaQ;BrhUBTT(#$SX8MNzoDs+U zGp{eYxqjmPyI+_17rl|o_}poBw8KwpUdcTrqksE?c^i|>KL{0ldVHWVbmpC=P`8DUn&+m?Hxwc^Knu6x5cl6DEuD!KLb#da>r8ZMnYbeb! z3-G(J_|Jv}dle&xuYs7xP(8_~&zOCeI9u16!8M zE>-fJeKh*s)(l~<4Vgj4#?S1W?JBexCe^!7HT{%6tIhqvSs7WG?Ui>n+~OB1JnZpw zF6Z3kQ8(ATEBU1?)y4gRv*9B1gvAHyw3?Y2ms;O{FSY5SWyedD~YP$D4IS|+R zFg93cR^8MJky53_Z6)I6-o+=|_j?(NKH73)!O1yS`1IvneHao=ne1;y%siHK!Fz>+ zc%AJ`sR^?+r?$oY63On-i>!RD@-RkOLFjh*uBN=1RtHw+IZW#d`>gUX`|wJqN6h{1 zKBCEd^KLmUoHtb^`b@QPPU64%W9L{87OEUySp7fvJgdA zId+%Sh`MW^I#dfB9JRi*B(R=IU}=k)dToaC+(X5?GNw%0Z_->n)l=C+&hp%?rhr|1 zKEBV2tjYs*g%6+XS<%!Uc8@j9SKIxdg?fX=dbut8SM{(5?vvTH?p~6i+0!i34KwaD zmE?zSm+I8^y`T0p_>qY5xmO1Nr!M?m?S5mSqn2~S7U7Dx=-nCiFXGKIe=tW>+_UDg zWO`uu{^F$&A`%=x5BVX+4G<+Y~Vd!}>yr<~Sw7w*5X7S5Y1fIyh zeyseYqF}?eo6}ZoaQB&N-~3edtMMOkRS~YxqP-P8d%xrqyf=NbLsY|Lo~V7{tmdN2 zJ0Dfqblse`oN?Ld<@;xOH(cWHJ{_zw-+}1^Tcknr4K69U>(W`1d8C+sZar$f(Q?(v z!(Ys=&9zifO{v}KecR&7&WRtd{?L25$q`Bg7jB? zh~B$?@pd+mldDv6FI)+lx#|upi=SU-SnqEUT_vri?dCq6u0J0imvz1A+3a!J@&mKd zw#Nn&w&!$QTz4^B@BhtJYfospUD~!MBvO7tknzr`(T{$F-AH=iHjD2qs;^!Zn)T!NYDBL&pxP7GeiK1!8OdfFMEY`YUv#U&bcZuBU;)lLM*1xql7<#;y zY+jbzkP!BYrSa&_OQLaMZkK-?oH%EDc(=e_{MhUe#Ahuw@J_=bmkzY+i&Hl&-nl5^m*G%X*tZ~7n zjiI*1a%;Ks#Tf<_iPF!Jro9d;U zhYyY=B9YvEc1Lv>uuKfsAm2%#-9^RKF-X&;eDp_>$+lA>m8Tup6-~g`|^mc>rVUM zU%f=nwdVfS{(kUj%qoF!sY6e?>iQ-XvrQ@GJNUUtFs!0Z<aI_m1Q4yI-7-@-~5Mr z`BJ87{$GzvI`l7W;hS?~W6rjx`tv^rb~dco&%*4Q^jco%{Q{o48w(oyBbG5wf61ez za7N?dQ#Wvgv%;Nx17+uHT}T(hWRZ& z{)sHt3JeyB`6Y2~OK`=CSrN-unW~+7A$)ep-VWY`66>cA*rlvo?6z#I?pSx7GsADm zRr!iU{e4r`nv4ERm+`TES9TLkE{#J+pf%f<>M=$h5pul~@y^I^*|luJU&$ z&qYZyF?`!{)6;-iN8?RT?fIXtrMFGqX#T8>v1pS9$Ao{fx?c_+aJ}YI{!fjk^UBiu z{Efd-w3jEaPMNq{!?4{+zu`v@zvhbxt;goqxN0z;+f}vo>fTq6r|iAC;)-#`U6YR| z-^A`?5qDQU=i*wGl-=Yw`K!#v_v@9)u60C<%;C8lGe>mAUY$Lm@)Po^M3%JhcpU%Y zEHC2DdCoItDf_`s>wT6BEGzH4(ZJZWE#q>h%m0lrml)TD%!=tusM&AGA2Rz-`uZ(* z*9bN`^j!El&vTP+P9O8c^Ab@nxA^xkd)iz(irwaqW{CZm*y zz@twRtMp|oyFXX$y|K7-(W9@wCgf`Vv2-n8>HSD1Q@cbZG(hgoak1FhCTISN=*?G9 zW@?*0-K}%y=9P?oyfR*UEQF_}a@$Y5m9oO%fN-}B9}Ik+{ySHJ&_`K^9aJ=4c; z7d^ZjE_1PG?w`a9%}qZqDC92aTQ;-UDdA3z%I#Wvree#PYoquC&+VU5ly~E?$azz- zsLw1Nc|B82T zc-H;uirs3>={xqz1Xs_w*LBML>T129gl`Xya2n>^(1`K5cgHt!Wq+JY)lc<%YrGo_ zcKuHJh4#jxh?OZS4j=ie>)bEsj4nNF!+kES2v`R~t9En!~$ zVa@9AoN5yDi!-bqXPB+NW?uMCxJ-Sbzr1Lj+%K`4>c(>7R?Y{mJ_&yEfy0mQ?5FL& zf?fvO@85l{RF9WGMwBl}TxgoBuH9^bhT!f8xn`C&1!B@6KZ96r-rZqltX6pHV7&AF zE%RM$F6|8}IT{u8ZTX`Zd1t$rfb9!gLS=KN2kol2NROFiHBt5Tv6qYnXZT7cWrt`k?+@DL9pGfQ?7g7*WPu5T`R;W)R40C)qIdm49pjAsK5v}9s%iukbWYAK@_zPl zhp?8tnB?5gbk~z^?v7HX}aK)*^cP zg#MhsfPz-%%lh+n=S0{{X*b+qJ89+S6v^wAD(VjfIJ9>6K06oL*xtBsPkOuVTTz>{ zk6E1Ne%ki!m4(T2mAD6YSAMeF!1wrN^L5T0ch9vtbDTS-KmS4^-?2%P6?X1kuB^8I z_|)Khy?>9lO0QJ+Ro~&664klhQ{hnBo1dG{F-%zhFt=-A_R`MwJ2U%Rti!H|#&esu zf7-FDUnyzIh1sHen6G?3VRwE`qi)`;mm7EdZ@r+r-*3*^J)cS{rxyIKd~?g<{{QSt zj?Sk~xm5gntGmqieCdCk2kRoT3}qi(;4NM7XU%;lj|*ur4#%}p7G|*N9%BhtP~Bwu zy!W0)!nb0bm3}#rI?sDPr@WXV_w56N$6AAgkgFS=nobmct7$LZDXi9);QV^>ET%`F zD$o3gT5)aST(^6Fzq&iE+1UH!$wPg+%!(sdC3RN#ea=#H_4eWWaeq>Axwh@P80(d> zrLtKW9N(9mO=W!(JbOp*b2p9$51c(JF1WMKJ9+#6%+w84K{6(r1ZB7{nZCKdrCMcy z1LHc$ch`Iq+?Yb8B?8xdGJ9h;tyZkgPW0E8Rf6}E*B4i~gcnXYTDr~k^7$aYs9nDt zHEKQjQtwW%;FM`#T7IUkhi7F+WjyEU-G3ijr>|RAcOd+g@!ZWN2FKgiGZdSNu4F!7 z`RsNdgNnh7lJ$v~1pXyW4Sics`CstQmW$=~f4%KvA4kX52Rte_)SKRO;nQ=|=OKpI zPDEAy<&lUxA8NK?gJv3|w8OWXOfL+LE0$cpXV}*NK@r^$OqiU45|YeOAzEeU-?rJ(u|R@AO>}S{%6HshPS&)H>H| zy+3jjXGl)m#$7gJ{|%eV%0=@QCteoXa4X^Bl3bJRx6W@9im`8+U4E*n5PwcBw9{Pz5nUMzTGdTmOXqtcNX7=vlWVOOD`6E`I5FnwDL~@ zmr=5ul+uL@5?4HayBkg}Ki7~jO=ypS%i|MWmRnp-z1q9FLi{GL+g)>^Q^o%R_OD*{ zPmK4i^B?MRN(u* z*R{rHP6jOE+!}k!<7R1u-qPh&H?3~=SKLnCoVQtrRh0eqUCR}}PiL_ndY|>>+m%~< z=e2qw&WEpVoqyuM58nFBSG892UP=53xxDLHlB@RTO}jP*pE@!7iguRmW5Mv52fs>8 zi#y=k($6_9`OiV?BRAC!#&YPf@G6v?&W=NS1a9E|L&H!ej|VW+6CNZXASloD=I1wtK9O!+*IoR+QcJ_fq$+haIp7@ zh{f+ZRU_PI^Xt_X?iijqHSITTYJUs)v)Wz$rTp)~`$MyL&8*Wprd4IZWxCC0f5xqd z_|QbF#|bSaDU7P``jx*IGCCdEzx2}&o|e0_ZBOoGxVvSyK{MmaC82A!GJN#2G(POB zc8=b-D8*f;yG$>hsjn`dtLMn|r+CuPRUe;=dP zem-bbXL(W0*fGF$7RM(O#ik#}Ur#wCoYk?i&*p%{CWD>DRq|`<*7hnJr992KHFLtH z2M_xzIHugF<38GQE-P|#U~&?#fq8hu@p5D9jdxpeH_NK^zg`o6zg4VkPtkwYB`YlU z?Gv+CZPWg_``OXAl23nL_;`lD@ua5%!_rBMmMZ8!nzoR2v$N;N$CLg@huzcskQf{kx^sj6Ui}-mP?{OBC-8wPl z?B+7JFeR%u94ZkC{RI)9XOuM+b#b&0|zOEZf+89@#VlPnR zTf6%Etp2;wA6?I~U(c3fxP9f#ou8p58)H8G>5gvfV_0_ZYfJ!Vd%r(R)&E&@pWF#M zoYOi-^_$SYN1H!cJfGoQ*J5P2;67)qz36J)bG8OHa$S@DPY_!Cvv5Jb^CyLzYk9Bk zwBLEUX~XnM?9Z3(`}Lpg`MZ6IUZ)P%|LwXpb>CE#?Ftvp*V_N9Z=1Sgd$P&BmNt8V z?^5D_vkG}#AFzB{u=U)%g)Lp#$=6@AJ&3>bvc98h(dy6Vo<4u>-jp#d zp3dmJJu`3C9!`x@@@!ur@i!~u_uSK$uAZ8;+c06WW8tfihX>m_8yr|B?ea73)^0qoSyd~qS!+~w$mr!#MQ|)cT}FA**uv& z;@xk@qdC`~<<_YPFt$vpy_HsWEIP_TmweMcV5w?pt6x#O=ig_C^!T#%Kfd(ZKN5V){vyWywPvu%#fKI9 zuFA3*vxIQJUi)FjyAu!2v4>olEw@E-PIlwvXZ4lIBIo7Ps!Y%IPJ5SiaK*0v!oJ0> zO0TwwxvrJnedd*6`iwWyw{2Bp{(Vo8WJ&t^(V@)FIy!#x+>IZntGxTY>d&39snfTf z4Kq+)w=MJ7>FxVWP8yyytZnF-H@!IPe{(woY-M1r^Yc0< zUEjTmSx|aK?7Ye(FGpKQooe@f z_4W%su)~>8!$I#rL-_8R%4;P-zcu_fewih5CNtY~US{;!HBTdC4(~78EchgwOC&A+ z!qr=%ZkHF_OUO7B680tdz}tmKGm73^H`(CuR)cNryw4Z5HmTn}UmB??n8Ncyc%s0S z=iR+rRw|d;U+Tyev$v%AduT4&zeV~_>@&UX-p7Bhwp|u2R@v2h%=_0lKI^@<$x+o= zZB~JuU%MQC+)J3}5&N|w+*#wQ*eCm)-^*@PrA@UyG$s7s8#$vVvpl*arv=>N_Oe*C z>;2yx&Mg(zuM(V&t~0nR)pJ?o=$!Pnoc8Uu@w~#z3Vu7ST;TO$aY-iMSI1n5b!%PQ zkBJoReU{0z`Z32QlOXMKSBn)}p8x;MmMn8lC@q+A&WCl?6Ox}_Tgkcb-yNRvXC5V* zS2L{GJe1DI-1qssN%!MljfHdFR`W}m9DnqEfk7+B{>P0bojJ3P?-Z+&Gv3oxw{G4k z2ahi&3gxVxwJg-^so$h-v+kBo7*p}w$cMK!-Cy%oeg8D}0)MYlO#$u?HU=*9%igmn zEA`XatOL&{uV{*zc1Fqno!Oj)3T9c{dsY-~Zy!tN7jbj8$jIM# z`Z&{I{e0c$vzSEI%*}Bw{pGsJqGRs)KkptTNY&V#`E*Tci@)NGX?G16o@m@(zBX~? zb#sd>&icpUPo9PR^*wo6*KKNU(5@rm3iDnceii4?V%{ayI%j|1s^cbK+pgYck6;se zdZ*{&+RRVKT|dQMul&Dd?#G-fjpl+v&nJETaxDC6WYw*r8MWMErc-OL)o#sDwXeO@P{Y+?klOQ2`64&Zd+oz!n9G(wWADnXPKSzuE;vbtTq=9NYG%Q213&-f z|J-Y%N+h|T%oG0L{l_^qG+5~025F`9-P;*=yeY30&PFVs+%T!uE|u zm!^xR#%|YHmwwZx-_kMF@W8nq9%Z3Vq5+H2pLWj;&n=4Ca%Co~sm6l_1u0g~z3(OB z%@05QyRd3q$ppn5KEc@s-#hTyERvCH&^_jUcCy6Xo_{@y=G8oyGIM)WKd&kGaD#_^=^-a`_EV?awnYkaev{VRz9U%Wr>FReP~KuA zYu|Ro5AVveUvJd2QvZ;Be9G=J=e5m>g(n&mn^y08^lfo-P|oRpm#Qu%{xVNX;H}ty z%aQqy*5fI&CcipzY~?~@CDrDqj4Rbj7yj`%xxM4?z0=ECAGIAg@xVwvMWlqM*Gbc= zWLJX=mxW=B=VYCEEr+6*&a7R2=DN+Um+Br<4=fk>7t|hk`b_#W@8Ie2?7OO??0d62 zyx2ZopEvDk_j>s+duLBieBCx`%H_|~bC<{k-im82Igq_*>-0os*JB5qp7KYWU=>|$n7B;xI;p(b{E22UBTx*JpU(6GGI?FP% z>ZhxS$Epox{);7&Y_~74F>5&^yYb|S9h`GQZ@bo;erZ|oIcN9A{Xb3!l^(mWt=R2F zl)J{y(5u1CJA4i7Ixi_0S%$6s9lj!d?WH=4)3eU3$}3)0H$6hX=)Abe)oZR_Lo*C5 z4@&<~y_a_3?yCN#TZ>+=EB$@xe}!&SAXO5Y9;>KE!SCZI=j7_E-bid^|qTOZ{DP_ z{$I|r`s1oy-GU|GZ>~JJ=t#qcr~f0&wNhcJbrldp3}3oB_6bH`z&w0vBg_KQ|GHL@4Y>~0!#-F zG%^(j%uM^kAXSh({pb0}^|KR8n zZ$S5B=eF*QC_UvPTkhXmznAe;`f5*I?t-92VMVz;&$f2_NSoU+)74REFY8G<}y{SC$sK9o4=bq zf$?VUX1n-{(k%~OWxWsnk(aBP`L{LGd&*AZ0Qn89?~k#6_;Yi)$<^z1o2q3U_Pm*U z_0-ztt5fGSrXA*sDe5V_H8Zc*qjSfXDPI*=xGcD~iP7Q4(@k&BKhSTtzj9Eiey!+| zI#+{)!~2gN&{5o%eUjg=DL$U*;MVig)xUoD_v_H}pw^6aAK(0D-gKDn?~`d8KYEB< z+~@qjX4<4=(J6l|%XZg%xt2XOTU9-e_nn}MvuFzU`YC>Cmjpj)_MYlw-0D0n+x3U) z9P=}osxH>GEG2Gx5*`0EG0rziKeV#sPmAb-nt#d&?bIQndl4)Pg?7UzuMMGn=riBg% z&xVLNSsm1Wl)`waJzRO?R-dEK&+40;@~Lq+WuU%W%XQwC+7z=Z>mxJTRyD2D-|{r_ z;@>Av41QlbFw24lg{yme)Qe?*kt;P^)Lq4S zK;y&g$@tIZ?Sqt)ib$iYZd2Tyv!}5rT6MlyuTqsd`w`mze*qr3W ztFq5?*P9Z(LJ8rlobV+$vw`JW((2MAP)1_|sch?z~FU3F8;` zeY!{RUGKrIJ@*$ls7G-t&AxVG_nj#|OW)4-J~{Ww%CE0nIM+4`&XBWcooH&V5v5#u zA?1(N&hVaeP3?kf)y!!#qBV=W_%4+3991kSiuS*1xy|CN!VK?+N-Q(loQ*Bgd$(18 z5;xz&SGyr}jh^?sQ0>V7pJgL|uN?R+m@o_aa2{<`>^`BVLMeRhA} z`{~Y$Pam%SaW5?7U_1U&w*JCPqowL5_t@^Z%PbLnfAC#TrN;E6se30x#y9oIpNW)P zU{Wmk{_?Lwv$Z=n&YZV+n=wbi(KD=y$C~|rx|B+BmYj5(aJ9qzQ|yCTm-F8~p7Q$Z zlIEEzd)5lh@crE;^Hsl5Vp5aizqK>nxne6%J>WaP#`102pPP{yZ`~hEzV>23t=)SnL1li^}mmpPV;xzU7~NuaK?laMNPml?iL} zd0*ZV*f3{OgKW>5(9BztU0<`iFRT#Z>DQ6X&M(bBC0iZlG@a$YhDe`UX7&T-O=Zgh z+5&`a{Z?cJ9GiUI&2;VF`GF3Bv(04NqEAL0)IVM%d1s#b_Gcdj3PdjiK6d%_P-AMO zIn%yBeh>7-Z+c#PIo&*b(aHnojoOZ1KnIC7*S)HP3H*Q?BK45gEdS2JMgJHYk zuJxJvyU2a5_>l1CLD3{zzRo;d!F$24ITna1UzXf28ObE~^L)<7m(Mu$141`9?%nHj z>ipbW*CLfQUYWZvaT!hMnRdeLoCWuE@q=j!29tN!iFs5__gsCk#*sJqkxcK?mIumS z7ugytZZ;SSWm`%Z9#Bi%k`oa1tR$%0#!J;A>GGn5f=*mhocL0vOq^$Pt>uIs3-VbmPbOc)B~jc1@q0*yFZF_}hx5-D@|UR4iM0>xFQ~ z`p<0FZ6a1Z`IZ%+P=8QSZt~(_oy9UcN+Y>Nm_B=iR@*xqx3+XxxUG}_ro<7J6%Mzg zZ@Hbzx;DY6QGAWk-!7kN8v?$_XO%|<#H6yHllrmLEcU6M+)@eg{wbgQbM)#G zzQqWyJIhr3kYD>#FJJwC<)CG9wn3X8?(be#_*%CidgZy*)}3Z&T*TWPCO@m+n18?W zXin8-{)OwWvb_k{`Jqt7{MansV&~)2x9&NyJt4BvOCiXlyW2<4{&b)~+*jS;=+Y@+ z)i?cDS_V5E^6pAGmV0q&MdicC+}84&GjA45^AzL_ebu7z=)J{KIaT`?UiFiHKmD2B z`tH)-T`$(KDw!5!A57cFGoj|Br0K3Y#Vab2ozJcrXqjH}V(ng;pB2aZmMf*>uhnDi zisoA&f=n{^5 z%u8h^C|l0)*~R<)G+X@7$Q5C)e(?(g91yQnn-_YI)Bo{1+nKC>>_>{yJUKqD7uWnU zsc?lyW=riSUtftkPyCN59uwmHdFO=2C*~F&*JjTH8>M%-$&{Xd(E05Bv0mXDUpJes zJv(!~`KLRb8_d6F&Dq^-yVb|`Z`+JwSF=D<#kU1de?8f<__VY~T;)PrH$+vJJ(iqsFkU8Hvgpt$%e9lvSI$<5e${Sgwf1tyd3V|S2uWHFf+es zRq8o=$%17wF5T-eo2z&4LqI3&mGs!y}DeA4nWjae5%m;GDfADJ~#k~4K<@=@L|{RWfP z#_8tN=xuE=Qt)GCe~|czL*lWd)RK%dto?lJPE>?!&aNz6FT>9y_Q@||?`+vg5Ap+bFTo|s0rf1$Wd9nBD4~xazdP28L zRTC4tZ+t8{H*?ViyGK8&-|h9x(JiwnaJ%?M<*uw`QgM`tD^pV2-jdke%72xo`R{ho zPn!5?{UkeuAlZ1%{eVuV1*L7ImlM@9E=@_8yzv z<$ODF=~S6hQc??)`~O^=zdxwXf%*Abo50l<7MdUas_eMq(p`PK=N7fIJ_YT!wvJPu zl)m;!Q^m$Vf-f&cJpOV{ZOi2+sqZ8A@m-u1boi%tXTP;y)7P-F?-w6<9xIBl{8YXx zv*1%`#j6mLhSoRY*4gGek_F3_TAcm)J%dFk?)j4@({pQMhSt+P?GmdvY9wP{D5x}wMP$Vc(H>C@!)ORta2kJ@N;@LrhN>b$$1>$hls7Ydvu zyH}#=)U{gw9cMC{@3Y6bH8mTu7_6LPww*oolwpJ>`)(Y|Ke#|r+oI0T zNLyH@dwIl_<>w8&44*G@-;=+f{OzO@J2iH*v8iuskZ@9Hnc2N^UH6)WuhMUZ_8R%H zy`HUj_)e44x#)xcjxS-JbymHx>iM3t+=m^4#r{k+o$^jB$b{S4>B;HEA3YAH##u%# ziHV*1sbQD+627Oo&WLa)yIpQ7x#Xff2OJS zni;2LURhc2$jocn|O%;)=+Yfc<3{ra(a+1ARdGs1+FqsxS6Oj@+(`n?R9 z)LDN5#rmGVu@9*U_+!Ub5Vz>}>)9s_XCB}4@%_1mU#ata?jH1c#M62$&+6`voC58) z{!szy{8KLdnkj$s!<_H;yY$yBEYVwPRFfpIb8ANWg*p4PHfiO&S#!W-na7XH2eMka zckK^6V}3Z3PdoJuS6`vNm+8$T=6`=YveJ4xOUlAlqweu_?Hgg=k8N_UQJC}6V0DOw zxP!Eo%X@`?6LUT}m}zD`6{=tIr*?zG#{1a~heU7Re7o>|42${US*wZ|?r5h4YqvYy zK9Ov9N4l8t$j0KofyWBYL>;=U%deQW=+~2$Co$4;UnN7ePU{rRJ{0n4ndKI?XCFFW zT;_Qwy|(<#kMo|#^`~(D*?7X>b3#~pxQP9OCu^qYEHt*~7H$Yix80IdAyO%R@L@^J zG^?$DucvD+UsJW?E@SfFh3dZjmM@ofeJ+32ma_KY{|!c4Kd#_boU&@0OOxo|&5W~6 zTc=m~w#z)Ie3oCt9B8n4^Zf1Ee6x!LX7HxyxHzu#>}rszy<6etlx!dRxJSsWb=$jR zvqWFtfAzp(&f^*1D$P^Mdi=tEJWoEs^Vp+td3DBColRl0CTicAs^_@=flv7SD>~_C z8P^A}nyItDzh1$zNKEeF zo=wjV9(S-yYv|MAF^Td|EVnD(=$6bW)%(I)MW`JvIZ~g+vl}Z z*;JP=jwSKm0pHr4-EVH$T)mNhC2iW{!r7v}jpxKdC#AmoezW&L-g^$mOfRh-tDR|g zAJ@!#ES-JM_P~}sMcsR%8qcI|U%{KATvyJU|Ek|uc}|gWtmO@}z1NjG^`5V7Ih(%g zSVri!pSIIuzV4suw91{|bDfrNY;fRvo^!wJD);?t%3rJ~_ky3D^XAIDZ?B`}YYScW z7i*SPX6;^}-o{tAJZkPF=Tmo%UH*4-n-jOUyzQzZH|*QP`MFm;lAV9!9=mz7f9`QR zHOJ!i&r+N0td8?+a*ptmT6XhXYEsZk?VtYEU2I0u*7f#ZJ+{t$zREz%SVydE@$Tc@ zvv->br%eB$5Y1(C=%7d1NyUJjFZRmiY>^c1dNT9=vI>XQ9MQ#I^Il5S-k9QKP~D|^ zU;60UPPOg&@4UAEULWzQHMqauyqv*#nz_LWeOC2IU7wpQyToj+pF5EGaL%E1nklNc z?!|OT{1biVkYnTAqVPg?FHhGlr`+3FoFeBne@t)nKIb1ReSydIlnLLIrIl6<6E8?+ zR7_&zpM5D}pSzZJIzuyKvA&4-L(QU(sEAG+TpRnZp6~^Et)3)F3o!Xd@ z`ETp3INRC{A_q76Z)sR3ul;Yq;Y(}3xX)o&Vl(0LrWUyq>xBQ!-?DQ9|M#R#sq-42 zPbf|`^^&cNlVn`}vswM?vx$>(pU(KRbV~8}IG!#Cp?j=WuP*m>g|hU|shIpCh+&4& zwr!=+-N>k6;U&e?a;t}vZt*6rTUl6J@B*9F)sWXV-Nle83KovW5@zDRQA=fBc# zN}uGskh$^l59U8)+;#QU6jABP&p$Rg$gS|( zX5YBs9gFrXiPwzt?5{LQzS(vz?9;JlN3?UT{+F#w+HoM=S3b+tW;*+n4kOhU#bK>% zZk9YpFYRX#dbOW@A;Vnbv&@sJ~4odpr5@4~nQfBanbQEK13uCHyYwi+vZ z-Q{BSpYO-tZBIQnt(f@y<9B^ljb}e*S?!oDa(Y$ZuE_MzW}b9`P1z0GZ-3tv{qQ%R z>e6GEO%6-9XK+k@*;Q*BAJ#j~j#b+zi|Ig??9||T!HRtw9$)n;=zjC$Q`mwB+@ask zou6=G=d(={+dXUKFHN-+{{DEs@foi&spVc1lsYdQm18Yin{sl)i9=DIj~?DTQ8DGp zll)w%!oC;Nw#QUu#5n2u9qqoDQs%gM`joFX%+82C)D$qkJ=^lKb@hA4=v97(#nW~k ze$BhQY{OwES-YORX-@phtE<(guV-TJJi(M=;KZ}%aLlu>IV?q!^4S%y1?C@Mp8Ias zL(QVuN5B8R*`IGbalXqWZS`-0x=;F?0~ls%K|^zo2))-L8>M?_mw_uiKN z5|TZ?>T=Ao&r56;W^7}f$+(p_q5T$9is;+t8|<1mOOkZ0o|&!`{e3MpRPC#*LByJ? zvsdj5sAOildOUW)g*&cdoL(X`=ic$%yO!lqlxgr`JsGwmEsgF{xgXvy+5F?1^W2p& z!nP?%aZGnh@9bVCWELfpoRGG-&~X{_`H+-H+LA(;QT0oaipft`@m-DekP)Y3sH3o2GqczO|K=@90e{ zi6d6aoE1KQ)~`8Tu&m9l>`{RJt?!JS!T%JLuX(SEoM3r0CGpJeNAcEek`C4fQZKEn z?0Y&neMLYMPhehobah6l-kfFq?dziNFARJ6GvefmvOAYgFB4C^dTK92`?utt@4k1> zZu-uCLXII#K<(`7<#mNC*4^Bbo9LAOib>~}hrrf(_w?r&=d|hXyj!B_l6`)a?{|?o zmbVU`jQO%%{(Kd$f{EqK<{f+ZOYJBBNqJe-bYq%9a;olu{{aUN-?tb0yimdHnjnwg zWy4#B|38TRF1ciy^0MYZUum1LtSFCS%>1zJ>*fhGw@)v`?EW{(&%{I_{U5xarsGn`}*?jsHN6cC?zDFNco)*V2U%@`k6py+taS|j|FoSuh?FvXY=@myy)(l6>qJhXL;mDrEM?jUuJImV9}m} z`sGKS|CCnnS;B4b;_2lGc ztNW)eXkJ|2xAvClCPPK*6FhIWbuPTty-WIIWQet5gr#`vlb&z~)!R#Z)#{dt)pNP* zuqp}4k1Z^mwBSJXJ-H1tef}m*ELg?!X7Zcb;{0>VzCsQRi-PwQIb*&& zyvrza;ntadAM6|Dp7FfDuvF-WEDub4O)KBz2ux8 z*ZrLR^z>`5KX!A=)~haV{kem+EZQpK#V*Zh+C7rzM2dwjn>jZYxrU@IXPXnPWnp8vF=-zMVyR z%^K_TR_CjmCj4}o_b(lI?!rKGEr>k2$=f{bf8$ zs%CPS)jzYy{TKJ+^i#*}XE}I&pO$O0Nwd~I(ilEz=Zc&w_J!xBG`cK&Fyk}7-^r`D z0{EWAbMjrXVS8iS`KMlA^xm6`6Sa$@s&ko)t@am~PM&<(St+PMj`x7y0(Etn1wDV3 zF!)tVzrNDmJBJ}>>ix}pg;5JX-(&S(H(|>*+n%MGb$bQkgV!5h`Yg$YGV{`h>7`!{uQ z=28>c>|KXEEwqbn=I_jpi`;+y`-hu$M_bbm1P1ujN&0U05SkYGxARx1-_N+X{EE$f zDswh{Rpt1r>$ue>?n9tr#T})%wU;Kjbjw$-uD|lPCUstQiRFR0rmr>AS0C+L{rgDL zr5D<-MR!#cPbsT!oV+<%c7BPzJBzIe&Ms{nMyz+)^Bqcs!z}l|21w zVp08O&ispf`CY%^0kBB zT3K&q+}k*J#*a|W$XoB8gvtxfpPV)$Q|edLE17?Joqw%2EWDWAGtq>7o=fzO8}`yW zKa?11RjlZG$1=;)=KS&1q03mUWL?ky^*=G`(<8|x?5#>?_xSES$7Q3q|7>q4XTk27 z7qxWub%(6nm00YlzL#s(`^|q9Qtz$z{ZlvL{7doW3I@|yf+BzWy-;_*N({~aj!k)zhkK*XP#T9_%7eRFqs6gy68k=wVrv~>5^$)Aqw+O%Y< z!qiW?JQ=d7?RncpT{z{}hn#nnE@|6$?|7>6>ZGftvqF+<-fVmoa`#&N^#0?;q9H{q z(igNW@S6Gc-j|!lRhm@Keh~=>xBa+VGC};~{nOk{rJWo6>OwXyQxp2R?D0AGlTs;5 zAN`CtbLK3gnFPxj$ShOBQx>CQ%13MwI1tV@m(ueWnLYryJzR6yR&LG zv7JlVJu_&>%{?)!%^DXj-#?@M-SjBUpIemyF4hsUk&e|j3VJf}_EXt6G6zbos!N>3Yy9Gkw_koRk5 z6sWEY5xT>Epk{`1rE$^ib=3|Z{pC;l-EKE?{=R6-gI{_tKPj|tfpo{IeS?0ce)zuODZ%m?YN z$BUv5A1OKU%EQ{*ZePoec}hnTRk$)myLMkby#7&s;=5w88A)jtj_bpJ-`mUaYWiHK zzPu~g6Di1F`V?pcSEGpf(;v6*n;4&Mc4ZRr(!rN**PlF#01SDuu2h_kKy z$FKZ~9j%ut=Dbx9JlbOr;$G!8)o9Q2@11%tEIduPL1QPLZ!ZuZT0n>uUhO|`Ez=;C;9X6 z**3qNR&?_6*JXFv);iZ;QkyCA?1N?Y*4^o+_rBPzq8I00y;IH7^qbELgPjv{Yvi|h z8L%WRUwlk3BlAFS{JSl#e|4+_O z%XSBsI?nf))|svv^M%EP&+(DE!@s&|hcA38?Uanal;)Z9qWBv7?TH&Z(^Ic>Ef3Vv zeb&-!zOD1FO1ySz>5KaT<%T+Iy1W(2PfB~Ap6BqnyLrw`fxv`-AW5r_>?W*dm#km- z{E~)HS&nBwN_P^o(P&^r2Kc^k_Tjbqj( zj8TOvcf8qL60rU zk4#tY7A-kD^G(1)SGfmSh2h=K^G~POHhwDG_2Jy(OTKPS6y^YJ}i8? zrn-Dmm;RYz#dFi`_dVTY`K)5{gk3h98`f)m{d!aC5nFn2=WBz?qAL^CuS|EhRW_cz z`HZ946SGTa7DO&Rd_w%FR(8mguH$olanIKg=*)j}EOOV9xL0|B(odQ0{n#aLSo&wG z9EWoJS)snvgZC7cc~0f*U-bP_;>UktCNoaF=D6{FW0Q@j$LRabtlqx`&b^BZ>k}2v@Gac zb*oF*)gIh>>zL8c2fEgpX_p>(96NTk zM<@DKutHsFs?1b9>n95w0+vl-Twr%YG?~`6%%X`NWsc&a-Ofm9!@O+lY4?d37 z$Eu4YZq#h*WiCnFo7m5AkjLvLyZ_A(LKA1rUKw+oS!Gt_Pm5KFM@~*#5n=U^ac0@+ z-I5I}Bes=1xvVw8C4OmL_4lp$0=MO%_^LnQ}f1fwcNS0|;-zd*9^HcM- z{OqcwKR5NcXH9=?yk+<1`*(zW0uHg9-l1tO)K#`-Q`3i4(d8Ahuishqms`@cdVRz9 zFORcJwqI6P+t78~=T7z zzep!}qmypzuQ_aY__BA-_g>q0cIB~?>!yU{cKV!;UAQ2QpCfJeG=IkhdduE1Z29_q zmF+FQ6EitJddHsL=bQKct!v`N)y;)#knn3rjZld-gcPXHo3Ju-DmP_;W~%wvi$c>E=gB< zyIk+n+%Cn%*BtaeM&~xRvm^#s*_LaEWt@|9%~gf7W$$Zsv58QwCL9TQojsZSnrN zSj=``;kD~Ye>R>hshryNFfSwKmSx}eX|`O|FJ9hW7_~n{nK81zX*-Wfw#)_52}l2Y zQ=eDVdus8XV#nLdC*;q%tCrm1llWRx%D%F5iF?Teo|khL?sxjR_I}cV5SJ{TO%iUb z`cHBhRMi#lX+Bid+4q!xtwH3BnX!GsZ8f?~Nt|2%)!Z#&yJva5U9sq1dW6xjIZE00 z;)8c2C0}nS{{FvniTc)%D8Ke*XXdjVYd=iNI39OO@o!f~L#@+J<8yD=3C z-E^tK^vt_kzfZhKU}*hNZs1ffZK_;O;cexp^TocGzfXBoxuVm)tW>9hTh0cEPDb1#DXokvw4+r>=Gk? zRF#P{!YWc{d+vW6Qx9R(jyH2Sa)1u-w$=+>|iu>Wr_O<7Wqk1ZTj4s3U^(h}7RIb%3 zee4ntb8^=$>hSt7$e{7Mj(lx*PIVp#`(>?0m zE;)SR%x593ddubiihh32x#r$l)M04u?C`zkos{Xu`zJTe-K~+D_fs=!!Tw7>6Vrs7 z>J+^*ZTilAyrXQ;mUw%~wvQhrGC!2wT-^Djhilxf) zMavIui`31!dr?{I`nw7v39%&wvVj`QciUzC+%Yv{sr2qkim93>JsQ_lN~PSpa5T$q zhEn+i-+;VFjd~$Z@;H5O$_W*mtjJE|)z7}i@mxB;&_Li&&;RGSwT783zAsBn4z{bD z-XWg(*W%sWX!nlFj~1Mzaf!bKr~Z_`@Jhd833uxh&KIlt{yll)A9Aqv#p65YbQFXf z{$Kcb)o=CImZi3)Mm`mW&qE(XeBRnL^XrV6o;I70F7p1lZ$s(TYuZl>o~}8d;vw%) zeY(yryF_-Xz)rEC3;L#KMC|69$1>lpl1(~!VTzWp@VTaLOY4KTs}sfV{_{I~rnOw` z&AV3@AKqT$5t7>(d_YF}^UiO(!+4nXM{K?QMsj7pnMm1_iC?1KsyZe)g-*U?+dex=E+s=3I`lX|JHshiT+oEg!8fmio)+O_NOp)_t zJ!${Z^yTdT%~fu${Tas$q+& zQ_}NE*A7439HE!2nydUgatHfL@mYr%Kd${#B=fbqt=Easx>@vMhe@b`U4l?ZKpDqc z#$&3l_a5^T$mUaixQ|V;-|x~rqgHM|_D=ic%2q~^ZNJnP{!4rKtBr{z>6Lre)bOtJ zix2-cSo1Lddi=`^r|vd$#WkDUUcA3gWBOC)j`J6$@@&mNDwV6=#1UOp^6<;0DH|9} z_wMFr@xH@rw!1~aW<_aK@a&8K_#aq*;Hu%O=_owZp~9g5xAH=r0Go^D>wh&rkKI{# zdgF=!#(xbOljW9vvT8dXU75u9^LdZ=&C2$KIUJUjX$%o@eJy#j&X=wcz4WB*@RptO zMl+lCrj&T9-OQ4?ykxTL9qXLr#AR_)eT(v!L|rrZZk9yWgE$EXtA4x}^NgU7^;HMC(_qXYN<=Zuz|R+rfJem5R2%^RK%v6~k3% zo~RO(dSdbQs=HD%!YbaiE^bxbUO3g_2dD0Oxth(pd#B`=vfrF;XBKswEWbq20IdLtvlXOfxQ^9>hL zx30awYHpkDuY3Q(Ar|hAi3XF-R0%}}+_t`MC3L`Z&GN%{4|#Lk^*VQ@c~_WNRPsfW zlYGlK?9&9bg}I+=fOj>qQn^ZvTNr3KJX{A zDZ=v7#@_qKl0tWJ+rR(vY}1_g70y>5xn$jWDqFSgwt&`W<5tb+?V(5OEFQAVxU8sO z#d+IE!McTcop)*KPu6XB+1j>Q)E-Ee(LK*|P>T0t*M=B_KkTPYe5iBw&0>2LL`Ei2B zant%8^ExV+rq26Y?e}^Pm*!OOP`~XjDj#gxwz<>D;6g|s>&;(xmd0D@Jmq;le@@Tq z2UmrZ7yCVax@|_UDs!zEW{4e*@d#3+>75g!mH+;3*J)ODdyVv)w`swhKrQyP3{|^&p#;xa$ z-u&3o%r3~v^ybeuv)z3z#(IYC^?Gt|XX@8ILDP?Z-ei3A_WGCq&1YC=w(Q;zKCgc< z&)fFB*`a0k_0@S7PIOt`v{Gg1mKle4n9Ix!U3IUaa=|i=hBp>7|L*B#oNB*vc}C9u ziyc#Bo3r{Pe!bo*cJA-8hd*nwR>UluBXFAK+M?CAt1tata>mRiYW0q2$7=ghGp($z z%rSgIR$ZY#TW;@`x)SX8*Pt~ZJ~8QZUi6{e{BloN`?Ym{M0omHEjY6Dt)a2a#2-mt zx(+_IZ9Z=1SXcKw$XCbwhvM_4$0L?aJ?JviYW`)JW!trne^_y1sZ-rQc8W1qsan+8srE;;)bU0#zHf`9FYxQVLW5J=g%Jmk3+m#$9tW+=myE2(6MTME+ za%&H-<#U_3=^iUf8fiQw zB-Cfh?RlTQa>nb{>1)3Ty7@FrW}NTKAa$YWv_W;sJn_iWegq{{Djw?boY*+IZ$qyP*8X>cNjk-=k|%A8pPE zZz})fpS*av`^&}8ZzwKF-s$wKuefZ6aKN!zu!awQ1rT2Wzi*|ix zf5}t6^TV+#WiwMB?NApFSg>6uQ=*i??lx==zm*OEApr%Vzj>CZUub@Q z<>$dE^KYf~uL)~3&|kdy(AFK_A{zf3k=VO4cFod|$5Rv@7_Qcr&lBC~bwgNcXOFIz zKwIzn9q-m`ah};Wv-D(e-d^@kb7feSTP|sT>Q5@Tb!3Gs59@m+0lll|{r`k<%@fjW z@p|@X!>fh&W6QQ}Q#{}L=gP#bFIi&WESx?k#Q#IrnKLf&Nu7Z&EmC)tnVk0js@?ry zs-MY8wR3l#DL%d4Ew@BS_{0XIlCrjfi_?M+`Bg135GbqT>*O%v=kwddJts+Fv(7nd zr#1av_FQpZsxG^B8{UzVQvc<-EBeKPtw*DLMc(9YE45RUVP6;}3r5pTXuoo2WGDCySTVwW~?o?m~g~v!o}RXvKMvdGW`}_XgKwnq1wcZ z9eq)TywQWqkiR!#LH)#wr6+oynXiO@;kHH8xpQhy<)QCLdcnYnfbwTe^Kue|vp6;NZd8(==lX?}|1* zU3b@!NowAK$(dJW9`_h`0EiB`AD%V)2>DxGl2NZioBXl+pQ;*F;#xmWtH`MWIF zHF3%$#{;u8J8z{*&vxE@GtZa1u3)M_`p$qU1s^4!v*oSx{Ql6Id5K%Wa-MFH+y%zp z?L7(%*k2{Yt~`1~{l^og*rzQkx(hOls&$_go@0F@$!*=}r?`55%ooq;YZxC*=PBf} zIcao1q&|EWgY+%gecSA0?)U%YcQ964VxZn(RxvFz~{D>qr2 zxIQcP)V@>vbD823mOkEk=FZ)v&$hiyD+oSsJtKYECcSqji>%Mjd9&ztOE|0IRx6*B zl-}%(lY?)?z7Y)kD-B5Vt!A#za-2o?G{tN#g8bd{V(=xSpVeDWVctZ znOrRXPF$n)M&xVF&a=-re>QSR6uIAA(DUYqd*sS9N;|IBiC(x=Sn|Qbnxj6$P4L$C z5~JlEW{v#AL8=AwlM7c;>C9qimM#*kNZcyd)@ox?;hjci}zj}<`a*) zJ4NEM>iPR_9`?uhB|cl(I!!E4HhkD@xim3FVMph^YsTvwYd>E+DE6pzU*x=oq-i1> z{43N|@34Aq7C3o&Suy8!mk91MzkeSD({5-#i7!q#nW&iQcjemo;5*-(BjwwV860Ab zIibYqo}_ZF=ebV(p(&;vOK%+9erv8{f5Wb4;RPj%LaZWO?Ljwh>ACMTjyKd;ATn!D zQrX7cY2Wu$ZaiHSlP&z#e9o1qG}Hb~7lnMx_B$Q0jyN0esmAey+N+1FMa4r3SdZ%D zk1Ouzy5DkGv)5H=Eu!Y7x5W6}{t@XmS^F}oCA-YxgWRK@5$WKd1SK2j;qG?3bP_VI{t`w z@YB4`^qx%Ez7PKz=LCdeqC&Mb-CC)qJktb?FD*H?r(xCW^-=uGB5!Fn zF`V)^nZ8pqx+-qn1c}G~o1fl(c8j%eJIj=`$vaNp_#=~lkzM}bzfG^})@D6vVNuqP zPYm_6Y5#p+vaKWYt=QTx`?i?;UAH~Sx?+0&2dTpyZcTFjk*teKBef+AO*b+Jbl$xh zl*l#9Hf*6>_SNX~oRYz5i*_ep>iKQE^PcsHQZ>HttHbdD!!vKP9^!oYsAM^|bM`?3j5uv3HmIl@;l+Pi9!YwWMA1viEnk z>r(4)OVv*o{5XYsm)P%Sli3$Goygo-ruAw4^*IxcX6EEBH#wwoDB`r-*NRY|ziY3z zPEnGQ;i)@%@uS}aJ?CPjde8M~3xEH(@M(@w>XPNLDiybGXs+7Sk^jM8 zhl(B2?C14A`wD)T>6W#7Mu=t1p-q#Q+AS}ikSFXRb#Csolw)rX&9`DGkX#UvRa)o! zsAl;wrBC7J`A52!o_;HIQ}1T&`MFkKAL=f7!Vp+wYC9#;^l!VMNg?axKL;~Dzn^x( zc%Ry&TKyZ^TFi#K?3@qu&Z>5`OmUm;w*TjsOT4UF>3JN+y3=0$^y>REkxgY2BXf-O zG>32Q))jy=+Zgx+|o!VW^ z`wSOuQv`q2Zv_b#M(xxd}sv0v+xKG~H_UHD`tXV66&&_SS z@_v@j-Td&)zOEb7ra6CDrKFMf{)a^4xo^vR5~uPn|IKkOU9{_{QN+>KC9j&Qe-)l~ zo%(SjX9D-H!U>B+t6tSJ=so3BJgK|7S}lybL3i%w0Ex-o&zmNsTHFeqcW~-5b=D~L zua9nV%{Vdj zTJN{i1X?VivEpQuhV@z=dMD&o;mM&?0pHNz{#Vt&MC#Ulu;!sUTYM z;A+q(W9>t>Y-e(w9Jaaow&2+bqq-{&9X+qB+>aUmxH9RHYERF)>G#z?2enq6d(HBQ zB}}g~Xc3S9uRF_C7Rx=oo_ce)1gFAB1H~nWUax<2_3M|-mOf0@w{%kfwOUV1>Gr%~ zmY;r6(e=F-7RCh48oZmm5xgowjtwjSF(IbN8=cX^UTc$HDTB zuFx|tCliH3fom6@i4@YyG_^cYbTt?=zcmm9r-3Gyfu=89EZ>PxJF{GF|-YC!;j8_N%ImvqE?Kwu_z`OMALm zjyn7Zdi*O!L4I@Ak$|b9T+8S1&9BdF&O7$3bmGK@?Fxy{pKbsAMt*IDM3`~dIa}Mc zj~8rkSu5_HoB6Y6=Tvfb4)#Pc*-^b3MA1l#cDj#HdUHWDq+cjqHm7=^AXJ-E7ofjPHdiP|7wqdvVlR3Be zFWgt%`fvWzsR}4R& zsd_1}D(l5_OQ~~@yE09TINBT(Rv!B47$>sEDZ-|JkM-)D+Y9_BxB2qU7gnDmuPS<0 zO~Xp)i^|HiDr@T4Vo&-gw>fe^}MB|z3TYc{WJU?GuCn`Zpslm7hfZJHt_VF$!9Mg_Ep@ze`;jGy!RSS zrtj{Vb}ZZP^k_orj5KB$MKf-pnT-2ay42{3gts&wo?usLsIcE->W*)*GwKXa?JDU% zprp8FCezZ5WmCUrJvZL|;1gfsk0Tt@6Z*cn{a*EU+7uoAJHetZlWm0@mp@;kN1miNueFlf=@aSu_w9*({HKM9SJUUmoYz(CX*(A=-*9bu zKeJ|ElB~^N&l}94S7T;Z7Eeg|v%NJSi2e7$>CcqbEp0Q@n|~)JoW;`e`*g)6IW2ze zw+)}X6zXObFUmK#voCkgWyhJZJGfqRFFJmTkF}tHX|Hi;l68#2p?Pf9Z9DC^%&*Fv zVKUoWHDC6&$ie{cx%~EOjMvT|-Xx}ZHRn&{>&)nvcW+*QR5YpTyqNJ_$GrwE2R`R> zXS{w<=kaNdbjOwp;!fOMirLlYb{?{uxm3>l^ymM^bM&n?@)R9?p*fpXsxk58Su3&U zbLXx7Sx{nRy5ZMmvsj6Bsx2y)+Y&4nwVK!F?%%tlgWGlY!mDTI?G>qIknw#p?J0Y# zu0heOBNF8c${y@mzv+|E#$RmbUSD`Ex1iH6sqF0TS1Na%pUt(Xc>nnLZE158>pffi zo778fd>vH|KRLX|&iP$@ZD-O0>j}H^wO@1C7%y@$d#2qdJ?~6@U|xKY$c|${YDeG5 z|FGAxNOn#RVeb)StUW8m+!R&Uf4}6lV8`*NT_>(+zp(lFi0|aWdzZDj zm+kYJnDQv{gyw@&PHF!({FwIgl#2AZw`yB@f1gznE!MJDX)#N<_w7$)qxNcVx8iWw z$di3%tG2Xh?%A@%{?8enKFwv_*ZwK(`@N;OV3nuh>`e;-FCJArdO|1AisOiDmH(yL z4sT!G$ysZczB>QoE)U+bD-u)PBGfiXgm|2;EuL_)Ut^!rW|cr!4Ws&4=2Ke)#FG!M zVbdxuzjuvC)a`V@;&AJq2EK=z0$H@bE%eI``Xs^+cBg zH`p!xSM+Sx-1Kbf%$IX!nzIB-^|$|dsv0%<^6V_x+tCXytxj)_i2r!HmVLY2`@Dbm z%8wWyRG)cyr6zasl_w!=99hBrGp=PX<+aOJvpBNjYm1ah)wfUcCSIL(;mbkpXEyJ7 zdi^(OJmH%!(mkzEL@cPF<#+pfabpLT@*@QwC(4u?Eq`%R_o*1;^xPMY8<*d0=eVhG z_h6cskjhGG)#@$9Z!;)J3i;R&AVq#60=na*mlU#m{^{yOnZJ zby?iO{pZR0=Wjmk;cQ;@Vu~C8)RU7ooSvFm)%#%Myt##pol#C3BwZsv-9EecAnfPcXey7e#9qzZa>GlNx832eR?$e&GIho zgW@cDi?_0_T07$<$0z-;;MY!7i8o$l?7u3{7FqF=U4#Anwyq}~VKn*R0gt{<(hifEP8wY z+8@jPHnE;T0tHeNmv-5$+i&F7+i)=5B9$}T;ghY_!aYkk<_3A1Zo1`QlaS8Jc%$vL zuAZsl0hK8qCOdT>wzE%?-nVn=tSw5CQ5~BTkFy9n{!c1fyJG&wqOcjKwY{zsE}y>5 zoBjQlLe?uOO}tE%`*>bkw#q4OPOn>bpNp;5M&^1c=b43H`-)`hvY!9!-1O6G!+N_% zCQL=!Ov?fvPv+QYJO8=vMuvO*?&SsTOGVrpBOm+4Fh5Mxchb@@J1xXUZFSewE++wnBQp`u#G-l<*I6azW19Ga6aaWDoB7c<07CMkUKQg~Olc zT?@F+c-p>1rn}dk_q*gPzTKGoWa9b!i`;_VQyCewHKMEEc5i@R3d6>1%=5_uO zd4{|CI~a8CCt5do|C+yOA-AMZ_CoV`iFGEEFD`JJp+7@8y7qdH#_MwXmV>`d=iLff z_Bnm~J&&`gYG%lGZQ1dva<*qbuYY-1 zbEWvc)nQ(GyOz5+vnecXXLh}DRY&QK^Ayc1;iC6jIkvO)1hA~z_Z#?UwYGtxfx~#+Uqul z$%!8_aJnjSIN4y%{sfN12*hk2`|-V20aT~(z@&LQN37p9j2@!C&J!OyJ8vC zv}fz51ZKf)&9;wCi^X2AaIcgvcKF(RVC9!c&J~Y$T>ACHO(}F%rkL>u&yVWS)%|z( z89ZfRF5+JiqM9J&QhloXUro&hDLtRwpcLKSpam~;z3$Ev`+YWRo9FuvGcV3rakzig z)T|$0LL%7ZJAY0+v#P+?ro1bA!u z>0>dLuM(Pk%uRV$T!SseS3j}%`g1X#d*_pbyFyO7Tm6XsUD(a7G?QK0VoP0!!PZ^I zZr>X&U;gH@twwx;;6u)Nk?M}${YwL1&dc4jbE?;ovarj~8E4k&=VwT!T&R_2eW_dX z=EkZi<&5S=KOYH7e3S0{e_)2X+d;>;Ffow{L0=UR?)(q6p&eWW)`F3uk`KOzwqu*YgyX&~?9$x89_8-(* zzg}1zD4%*|@jtD(`*?J!ZsZ;}idgEAmeu($Zv9lTu9g{J)zwdy7+;$+J^QMq`TRu= zd@?U~NL{+QG_(KvhwG?5u1bq=5KYIT3&Wk`1QBHRP%j3sibB} z1A7;X*rPz7V{2wiZe%|Z@+Bzo)0``ZnYTn;n6p8l^3}7lvv1V*e@a^`_2i<#UCD*f zOlQ7N3ki(cbnmuo&rf69jl9nj_4t!2)bpQix{^_`y4gzglYQK|HCN`zrG8J?B)?x~ z-!d`#d4Y#FF7c_|z&T-#)sBiE+cJ+l?3&D7Z5$ZIb6}Y<*I#XWy(=dSmqp0EDbjj+ z;yL%Ds*D%^TdPOAF^nMl^5yW-P`K3qDR|Ozju%Bc}^>p-!;B!*DKxU;OK5ym(vbu#l@{ z<)*K*n7#^3Zi`;ZyRT+r$bAo^Z-n=P zY`*2b<Yqi`j(t170s%eb@5Ditcd)1)1Jk%#22)EvOJ>eZ6{)%U>L@6Qs-pg z+)Eid?o6Lo`l+QdM#%AU&?P?8<(yMRqMz)Jx}T}+bM@8YYZI6gaAeHUe;m!$ns!C&r_3cILr3rOqQ-B}qcZj?+}NA9?0!j>=(?vNPp<6= zD|Yn$*5N*X6SEF~j`M*q{~!L(&YUsZ`sD1|gUpQW0O@ z522YI%M6!CO;n0DI%a+A{lwzqSugry-`F>tm~r^pbNLwaxKq!HHrqe8E8iL06usZT zG2(4P&a=ne58^KOygq$>+9Iv2)YTjg5BXlKQW52KTH+V5hE;QG?}BZM-j{pYbv>xw zac1U*OwZ^u4rgVTJ62zPWBWBR^6JN=IXC0>&3EAl+3hE@^YAX;H_NtmUnrWm`;nSY zoAK=@Sw3eUU(3I=wC~0NC*d7ltZz~h?wZ!9a!LJoc+%kX@*j7jh4p^RDSkaQC38uT z`}(M~GMUc3;tSI*e_V7#!tKq4OMeZ0{w9eWSRGp67C2p9>eEfN1v`&7ujp78%ccL2 z<-yv$LJo)at_Ym{CsCm=?vUB47Pi!1oTdlkE%z@t^v>}{>We#?<(DIp>f_?$q(V7) zMLR8PA3Gjs%bu0(DiUwiw|B$2!2BfP>2^yTOR59IOEwpx~DabPx22o_tb1k^Ps0*N%%40e4YO%by;n-xmUn(7D~}|8zL05B`C4S9se zRhNeNbIaDL1;v|wmE9IkS>x|uqOYTPl6SMSWw6pKz0HgddJLD}&h!v%c|7&w#t$aD zb$%QT4^ehpR2cc2?!5r>N!qwWqvhvZ@K8M`pEYyomV#-_}^4YkX=x~ zI&JFZslG~*UrVm=-;?EFwh!^05xwz!=*m@FTW7re+URZN7TKS<*6-NYX@wKD*G%*Z zU{1GaPqGrw;AD8ZLL@-(fiN>`+?~ffSwW%}$6X)txjpxdZPv~|IPYrx2PJL^QQ!S% zrCv(^T~koBka1_7{A@+dxabStXM9*Ni_NgNeXpL-XZr=NdTCj<58Qr!{Pe1AgDx9$ z;?xT^%3+HZ#H?G!BK4(hRoKBDC6{7rPTjuhTbBGX>G>o!zPi9w-|iQAzMA#c#b|46 zN~ds{fuH;LeJAf_s@^;3^QdAr*YWc&lCS(toW?D5`nFd7r%U{T?|&W)syx=AqVhY< zTlm%8DM7FGb{dwiJ0OzkC3{Xw>On8tzL|5UEasfD^v?gXGfiy2ODknK53v=UDvgWb z=UDztNPoe*OJy$>#)pN}=ty6(b~_tw^xxpjGr4MuY+qmAU9o5Gecm)T=ZosCC(_TA zcf2-u^J24Dh;VF+(`S#Jy8oGW`(z%xc)D1_CDAEDO>Il*^8^;JjlJ6a?yUKy>p0wY z7cbLNsQZ|!8d+`n_QjelpSsvKeaoAAZ;p{GH%rG|;cU(+XQUXUZ7;rCVQ+tX{o;_> zyjM^CeA5uQ+aavti@EUTQxn4VoDR>;+PpY*Pu$I&7lo}HZA2NTH7WF@(~ z^!koy??0BR)*E^?H@RzqIhWSK-yjACY(MpKNa}yQmnhef9S( z0kP+vZ&#MQl6$;vVsOqg^=bE8Jf693I{M<^se^AzMOLg%kx5sG;tL9&QL?d+d*@HR z-^X@OND`aD_-NtjQulYo9=D_<^M#ET%>UBju#H{+rIDwKVB5JpS*_;}cvhVI@VNGa zf^4(Zv+12xGpxnWZxZ^rLGMQ4%ISwA4RSpC^=JlpJ*K7~p?Wr3lUANkI_z7@KOn~Qat zuzU6SRoB0MNmqI>yPfwVr^dnprL;eX{=D9-t#$G02gZ|?+bvn1u6PoZ;k&k5eDBL; zFYMOatauuHVcCkrgDP7$>a{KmihN%);m)LBqYAM^XIs_BYm)VEoZb6F#&-UitBZay zziBO>A8_vNj9s(8O`5yxo3MY^reALtCEe2!-V+_M?5i#3l|7+SM>lIr#EI`wiI`Kc z)zt05e?x}{J`0o8Evu#;5kK|$X!eJ;+8;6Q96x6WYvr(fy7D6XAm6h~IaASCZ`Z024kdS?#T@X@Aw0-q_l+J&@z;TuJ6I_Q_{< zici?Hdjl`u!u*pji^G28q{S^}cy=W$aC%A4>$aZQ*H0cytC(k)%Xi?KaB8>6yjA;m zZYs0t-J5-8%67>#%}}N&CEpOyh#iJqPvlY>{`U)|zkPjSPj=((&|h#$c+c<5z{ZxEQ%O9nQ&bbouX436mwgz`;_&Nd=E`KYW5K1u zPn%XbZlIlzpb(4>V=e!ZCU1~d58X_9A5r6?)w?Ojt_HGIMeg((zja} zaCc5@NM=7V%gJZU`xjw1QtQ7@J&_RFqF1-edFLeE7uG8e?LHPDXf{ncdjP@1@nW8 zioSiHlBs^vMc?1w@YGx-hyM6n#S85nuXWurn~XMSO(igk(2!+_HEd6`Lw4a`;%o)S0~wCvwpzf(Qdy@OsFqm)``vE60Sd; z&X;`l@p(bhFlIUHIcpq`KK%UGY~d5><9>@T?=1=x{l0ke$|Q{`v+fEU>SkY`T`=3; zx&IK4*x4*@PVv^vcovnP zQ?oGKcoduRCH@TDJX zP~Z)x#y9u(eY$>5U0%B+t7l>CX`gv(T~ogmG`)5dk@#7ewOm_s-=^f=$dj?v1~H38 z+f;IA70g-l?pXE8w@f+5<1_a-ubHGd0KJC`6oF_^z=u9<9yZCHJ zQR%D$%9~Fs_ion9`z`)gwYBgD@F@5zW`wPIe1x=j2}B6k0DA_t$pm7om4uD_1dw zUwUrvMqi+OwlL4l=XZZNxrRGmxFVJMR%5!?8qr@2dp>2(Iia=qWuwHjtdE7EmPajb zy*#Gc9Lj$u=$f;`Jn^TeEpv++t4iha+hv8tKI-c0PT#ug3V(gt<|KoTq}wYi4;Pi6 z-V)@vsAS5kN&Q>&c;!#MR@dDj>G;@t|Ephq+F7Af9)6pZ*R+dYKYLa43T8jojXSN5 z>^`vHZ}%6m^D8xDZj?4FBrdu7uGpwcyuIVcp#^rmj;`#o&fM1TCe)9iZkJ!+rMszrriNn^M`OgDiH*)vPx$@&D0lqIo=JcgS<{6(?-`3Lk_iHqmCmv;)G=aZ=hKuLBH(`HsdKMhEWjb+L=X12` zuN3taeV384 zdYUtQ!e$t5*{0^>tas|;Yt8{i>V!=aE$B%2u zB`2M_Q?kkJ>Aq*}8|EzU-n!+s^L5qDldRKL_N)?Gc<_v`b9mj31IuKXPE`mAaPc2X z=*sfSJQ@FC#feiw73Ye0oN66sCGQdcAiv`K$+v>-L74^HCO>y|etCYABfE4!Vpp!* zv*iglBty+_O>5L)dT+FI!nQ4Q57-o^ZP5SJmfl|Bu<+WdbyJdTtkb3B8gmU+&s!4S zXE{ml@6E2s`Y0QY)tumbbnXMq`QY^Ep@rK!n8`pGf?jKq|cUJPgx>+q@tU@@wJ$JjA%4J zrOUHupKq$`eZi$)U(Vc~87sN=P#??0qkCq(;1*tde>RU%lwtAIvu)KoD$q4RAR2?u~hNTldoHnLwFqvzP)K^ zJ(3nwtYcg1mMQ*9{L$(we(B{?dPs!|5UaqXU7m_E<+O*PYpXbh}A}XdOk@puI zTOs#jLbzpDgYbhnM|U`SnC;^CTdR@(lQsIBh=WW5ck0BD?;2N>?nQ?!NRAPjS@dS= z)UUfX8FkLs_?Am7q1k+=zLehM%Tkh`tJ_&#Z1a%ZeB;@*W z^~ra=K07-&nexO-;}MU=o3{l13_TX!`BLurk+RuE{LdfGI;>Q+--Vao?W=ww z&$*18GdFInG|KOD|Xzz~0yMEaQAjN728kXUz4-tglV4a@@1TYfr=XBht|deu^`m za4mBbI=iRfv;D+nEv5zc`@3rc_Sn_s>Q@)Vi(<03< zt^dpRD!Z-o`Jm);^8JsFp1IPlYybRu^iiZ+@nY-ZC6^8#N{Lo4pD$pxZN|E~D_Zt-s zob0VD&T@)ZwTo`>J2O#X>Z1dm=g-_Y_xKQx&6>^2Udt^!x^b&;q(I6lPVsC1BHudh zQ2#qi{&9Cy`bM5jJ1h6(ELQ5|(GX@ml*&0dCHC~J$NF{lohLgFvame!ib{O9XP!@WX^P3>+%al{QH(G}k#)~c8(53K8=UnNm z_(f;t1WmhPKh^o!f$7tEPO2|+^qwW)$a2)+rGyOc>Be-Y(EQMXpUXO$Y`HY;_~rN4 zRO!pSyB9rcCL7bkyWgK1@qJkm{K9CzvZ4Qi4^h3}Pd(W?Z&s>Xh}sExzTS0up_}fj zd^@v&pYwr3z(J9ZuXWY#Pv_Czur%VEV}f#OiqYF!L3s=9UrgC^Ci!Q%!ks3rm!*}A z!2!0pM)4^dmp{~ToN%jUo@CBl*+ZshXR$|cC7nEHq%OwuWlc%G=ChCM`9Ite|G%Ki z*CzYgY3Wmb@*Pr(%6pVodA{H3E%?b`oBU3P{foc*RC#zv#-F@lSzP((bI);;!?Qk@ z-xJ%UBiGM#GO|ie;JdxrTMK6sbwkf1*NPwWKL}nPDz!$ZbfMLftj!`Zhkk4po1l1S z>dz^`KYe-AIEt5sYKCnO$S`4JvzuDS@ce7KMb;_JA4e`UUMn(8`lCGmjpZi4>;6`J zsRw*&Cp}WTV{Ea4lg}p5JL!$Cjo$q?^W8#Dv}>NR;9Hy_*k&U%Yv0`0z3&Cp!ltoJ zeB>msLLgZv>y5JYpTIiB39Gg_Z{sZxO;|r&vU;oNO#!_|IVlSwDZyz4X~Q+}gL@ol{oiyj%CDcRU~d#O9ZC{bt=Zz0 zb8KUWUEup&`6u*}wiPM+z14oF;?&uzZ2#h{pGE78hU#y3Us*G3-(TF*7v8*&?@>da zm{@P!s$Ki;n9e@^CMQkB(^LGEQRU6x&C`vKvhP;YZp+`ppq@~0;?R$oz8*p^*D_z& zocm?NOQ-f({tEAZ%s%vC`Xp6RF0=IuU;MnZV2;V52dQQ+=1$jrm@cW6v-Z7N?9x>a zEF&C$ytvl5t2*^8gQ+!p^@gL#*OOz7YQ$4lT29)$a#hf;sJ#u5=}r~T3X9ziDY_?p z-WZzcm+I2;UEZ;hkE8YJ_BhMf1!-NyC!?Kso?cVae7WU~#1`$a&C7e%ZF)Sb`q~=7 zE6t**{^Gt$TcRWPF7kXiL-?mqOyGGd|Hiu4^FMdR=j1V!y-&ZUpK^covurivYe^L; z`%VN_3)%hpnsrGh)W`2>@=H6TCnzB-lpce^J?vmbMux=&Uta*M8&^-FQT~xe@))|uIT)- zoFn!{ydT+2^J70Wy3gD%X(@Rz+NgOh?;L@jnM#4)^DFc&J~K-Fl{#Bhcg=QIiZdAfR}~r(kZr1JeV-Ph0(bw(d|+ zi&5FJklMJ*LJ{tImUqfrtfxC|Id(Ly{)b0FfZxnXUm8p{70bT;Ts`6LL|u)&q9>!G zICZk4FEHk%?VHW`+AvcwaGmN-!FQ8qL~otvqb#zXulB8^_|%?F`cdy&Od2^SKT5s( zS0(+)+S`9sB8&nb``y@Xaz|LNK6&BN3GD*Q`;V^AX-Y$bs~>B zPfXrZ_dRN(r^oBhh1!eL+iy<){&HLUlm%+_wJ%aTB}Gc6uPM&*{d$!>_V%pum9LL- z9y?%n<74n&*PzQ;KOW4D{#YjDqxN*kmWiu5V?{)^xx6q?$d>z?e#6`OqyIEs4x9e7 zahA?UUuraVai5-}_0s+A)3B>dUyWoV?7vJC=k>Z&RX%ag@2~tvt@dxsYJFrfh3!_a z%0}&oJN+A$2dQO8)H0~H21#*E@hW{(zwpnqjTzpewcXcVg?OHoR=uttpx@v2w)gY4 z=|*PvkJui+^6Zzq{u{F&TGhAIGaUK$n%O1&nqV{g&>cVh$RNwP`oAwI-CojCz4Ku{ z|E~g3*=j4_HYSaj6=Db1iGP$?b!@M{*12Wu>FE<4?nV4_x)XHaitFxM3EP;K&*px= z&aEt_GgV1ezIw{)yT9g6K2YwzyUn!O?o8NOgT_{FYnFSHcii{)*js6J|LO0Q-*rAZ zd!L%aRBdG}u=ny@!5`rY#Y|eBr88q5yIh;O_=$12zyrP&Yd&39zvp-7#}j^OTjQTo zZ?h_VW%1%OvM62Udq&~w?o*o%y*%*1w#eIZ!(C0^-qpSpQn~Ir_(o^EJ@>KQuHHk_Xib%-@Bh|CDNLe9D^k;M)?GCF6ZdVl*EXh4&z-wg ztUNQnW>4#{{r_kG&sME0R*c)py7c~=4I5@%`>=eMmE}{rJJQ>3{kQ&+q;WmsLfNsX zPy6;nZs&g*w>fQ%;O)XClmC5H-=OkldV&1Hr;|)?ImNtq{!spW#j|Nq(<)Ye+xws> zc~_rl&EwB$dUqpceLtt!t+Frv_6*jEvg^OuXiVhfGP-p)>y_YLu9t#mYYu9J= z+41DzdHv+~6Dtm;-e@_rux5JHTo3E}l^2Y6UAwSwDwpH(hl|($)D3ty<;KIHN5&Vn z$~@pby3RLSG16~SDx28ba#36Et_}Mv)K5&?yi7to=tL7!mfI(mMU!6Du1&5y@Oh@w z703{i@P2u9U$!Whs)S_OADa{gXee?cI-OW#jPyc^7#b2*p z_D|&Ng%y!y3vRv1^DcPcGtVcos7`y)IhT#8o9Dc)jS=ZPd0ywh%>Ef~IeC}gUpqM} z(y8c{(yxC;Eb<)hoo#MD2$;C?^OWy17RlCEZB6^85f}P{X;O&a(Z7#ej``T-d0!H} zxZ%0x3(KcL?sl&Gl@I1jU2|j8x!VcWOi{K_xkC*Z8u$VT(h=g!{7 zgbkbp;qSDUoW3HXv#lgleB2tav`(MR%YhSi=-0I|>ce%6K zr0TVBta5qzZ{7Wm`7>SZCI8n%c%6MNo_LdE(u%W3`*#{992RmqVsf(K9%D=Jv#HgM zkGfR?i|?(A@wnP~?5n&0>)kKm>FUm1u3UTb(s!20=%uzb7I2)*yAqHRs=qXfVSmn2 z(c{aWU)=HZlQ{R%hbh9d?)@w^^H{s0?eOUWuC(_rmrlG8tagO^ujRvsZ;FMU)R-)D zjR}9FnPdkc_iiCr9x>rrBlkL601B8xb~;F{jOeV zW-FuG>QKpYuK4b^4_3Fs{;+&knslMz_XZ6C50+U4JBp>%(ye4xF&I0&Y5jB3T<_IU zbLUxA0fDAA$4|b#$Fth_x5uNC5jzgaCYdE}==1c+my368-{#Ni^yhullp{TI9d}pG zHF4;)QqED{;Zd-rD&l)$W^~}1ZHW8`}FjT^N?lFEVA84%nO2AX<0wZ-257Z&QB37Ol><#J@)#t-JX7 zrKHUEn-fCU?n&KyzRs?oPkIx(wVJTr#M3_wu1>ZuOb9877r&x&N$~pwfm6~#fy=7; z4)tWn-$-r$cI|=86fe1EzlDEaRc)Jmp!dD!pD)*9R_=0~#H?^~(xs>OlnUhDon*a# zqHAK#W4jx2e5YdS5~p0@JTfO}&iSw6%=_odd|KA^- zQ^J?aUgzv$U*G3iI4x^^LCWn`BmQXu0#Z+T?gsUrzP`vlP+;-IL$-w#V$XdW^gf)I zk?%e~?Y`>&CkN-V+h1$ozOvbJ&!TBY>c%sf{{>fft(^bRFMQvuG(PWGP5Eq|+eg>0 zP+%@Gw|z4=#B@sc=5Ki>T@_~?E^q&}dh60exv4V(#MT8qJFNH4xM$w9#V#syEdoN@ zA1<7o)A~K!E__n<%B|tm;R};==6VP+@n21M+rlPrgW>rv=?_!p-gkO<(oRtH$+y`m z4sRDS?AdAE)6T58{Kg`UDU&Xv-BZ2R5?^DMF(75%g9MR)1>f8P7=bLLDT zLrG!hJ==ZrycXI_%X%sQd6R!YT#W8}3(m4I;UyAoHpVqIuWAmT>{HbAFH$?PX7a-) z=dWt1cs|%?(BC%6e0u48N7Ja={7;v!GxBR%`0}lq^=fUS3ghqWvaL(JW^67cD8x#AE71hZaU^(P7B-> zKRt^l@0EUs&>TA>f&J5zQ>8WtO>TPFwV8+v|y^?*!J#EMTel}^)*?vP^TH61xr|hRjpUU}*m<;6advEQZ zoMI}d_dQ5D^Qb|J@T9BV8|)t2YE0pOoY9+*`#W-NL)cQuy1nL8=ALEm-}ACCH;U)L z;dd7!dB0V9i(R!*)_mJE^HA4L|N9O43ZZ}MHt#(BX@&4J3;tER0vhzr*>kR4Y0Lcj z>)y{C|IFWO{CnM{Kc`V>j-k@(6EF`j>6IyN~^do^)IISd_+`W`85G zq~!{Gm<^oQWxLjg@P6Q1r^c`+QQyzn{)fPZ!xCS~4kr&ckA_YrdsDTzxrh<+HcV71!D_ z#WwxWAI1Pb+d|3L{cp=3EYB;vYQzN4d_tS=Jh ze6ioGce+7N!096=JkH0w?7fjSonJ<%k@c0#q@PFSxVn}dJJa#=v55CAanFKDi$u;I zdReqENxmrElvg@?33EunR=Lt(r`Xw(MVGz)Te7bGN{M>j-iCe81vG%MZIYZ%g>F*FJD+v&L=j^9Rol z{Z*PX!=S+Q*@i-Sz zDHol3AynR?V#*JRyp+k$H*GIZm{NFw;Y5T`ztJ*ZkqsX?GCuv9>>I47{YB^gO|hHDb&a=b&5K*)>i+h(?CP1dN9C&hIj?E8h40vn@8xQsr#G_su7D&or&r?`JXfde^Ct5Z_~&TRU{-%blqx+Q2O+(|wh(Rz06UUr=aIy(hy zyZe3{K4;ZC=>1~yo4>EpSAM!~JJW7b;1>g7l{MK67kjy|MIrX6 z??u(ryZU#Y$z0i7*=KD2?$~dx6po8xFL#-Jn=E2r8vFRRWUTpvM_=de_j=^val+-v zlsi6kO|!13WjDMwK7514{EX=W3z{0U_Fs_ft$yo%v?)i!{I}Zt4UM-oo^xz| z`{uje{{=VIbGIdQUb!ko*`Elu~#Jf|$3#Qi< z^=ADEJngRA^vXwIrTn}Ha}BPzp4%Cy@m}s}$GvrWR_Zoulch55xbp13o7y_Vc%gIE zv62Z5OB1>KgV%dJP5b9q%Q*8w`>B6c?!jz#p1ff)?CImR>`|`vHWWHB`)ic--1WB} zPTcTrLX?{R4x2MpukZYy|4@cs_jPWIMeyO|$D25hEh$*#yRuh^#avwN5)lO_+I>Dg|!oATs++^;iS ztx0U!ML%ZCX{SzW4Gr{v$232+jN_c*^Yr$`F2|A_rrr5rd*FTcibVG2gU??%UE)7G zxiNw9OWgOE3+p#0*6UuKxT5B!a`d+RY6YKb1z)YXWlf&XjQeEsX~V~lEgBlF5B+*L zzZ?I*$)vEX@zJhrf%9$F@jZ)}Ix{;>;^JPHJ-s_6J&(RJEIvG2f3E6@ruO+aRiYyU z9!=v>`F&nS{^nthq*-Q-j8oLY7C*OevoMo9%CKuOU~QQx$o~)-MW=O ztv;py+|+sR?$xU)FYUd3T_u==J^tmDOy7~cKYHPPg>Mso*R9&(A!8>;J}zA$Af9V|gz=Hj&*J4>TsbG7Y@J=ZkK@a{>Cxf4)EeXK zQeKzenBTJZu<*;<{BQYneVrTXli89!t-J4XN}@M7Yn6@j&c)ff4^JgJ-?d?qa+y_B z;?(10bp5Hy$F+9L+@88>Y&aNaaWX86bwi(yfMbWb=(&5BxHg@)W7pLAxoXALUy3EW zr`OotE}Cr+QpmDn2=bukHe4?!@LuvNjcb*DoUC)NUUy*A3Y~i}C%S~@IE7i&+ zZ94WdL+POT_VsJ@O(pIb%vKM)>)qDQv}q%MOJMS83)SjB{27+(k1bn%Xx$f&wE~J7 zV#+%W=e6`zPYgeEZpFNVmxF@V?eXn@aYIngefg|M?%xCz%#)dawS2wsE_<8Sy4iBq z=W#S0Pd#&Om&#pfrPn#~s)er#-3(BZUQ_VqR?`m^-luZ5 z(rlJNBJbNhXU3L^^R27@@+I$H%h`=@((PaR{c=7N6==a1cu zY_5yG#jI*)<7YYXuWCfXr5Ee$qAs|GOgzT5Y|k8l{+YG{+g4Y zS~|6ZDq7yG?AUOrlkvc6&4*4W?=IiL;J^8VX-cJf&8A8LtJ}QuP4w(FK( zhm>rKyO&Uw`Cpl-$@)cQ`ThqDi~gG$gr6<1`|Q?iApdAbiKmsXi`%T%5A)ZpN==!f zQ6fJlb+RXuM3l&@_NPl*MJ}d&xLO*U-!`iv=n$9pmP{X=0FM&kCa>SAUVlE!Tas*()73L>k9+xTS{vjTpAWsuQmxyID0Hp_U&Z5yr<8sjMHy$I5cYSUZ+yrF>zXN z_ivlP^*ZZ0Ub(J+6T;eEvQ_AM@$+xFn|`o%`tW-OXGhO{67b~dKiNt5Cw(ez;#yUC zy_2mVEd1`#U57OE*S}qB-M(4jGslZip7kCMb8Ql43H7@>9uaxo<;fuT<6Y=^u3|rh zy=vDU&GaQ{F|;S zU>KFF=DB9({G~Ng4O`ZH@0=xUUbf(3^DQrV*}2{iysph~Jan_;aCw-@JfR266TX|Z z3K-o=dwARH#&f znGXoA6xgct)s=64waSUVYNzz{4L90;li9pWCa-tyibKw)w@#RLzDf05!WoHs%MV>v zRz0vf>T(x%(Uet_oT^+Fq%nT&URQ86C_Z5A?%Xd={#?HrnQ)2ACN?Nf*eznBg4Y-6 zI|g%?L(@(3V zM;4q*fB%<}(faU`uj@PWsv^G0-1uM6;P}aHhu-Qu?hkP-Qk9Z>J)C?RwkPzMegCw{ zUpbWZ=1;*FHA$<_tGv5>Y3sp&ChxpiOE1_l?ooak^(Ur;Yl7hAysVxtyz;c1r{6Z{J*oNW%=Z_| z${0=u`mE2DuXytPO=(|Mg}N-ip0WMneG3g|W;DFcl-rr3vRhSFdAh)kzcW}aUT|GB zlX?33)~U>=F1@jN|M;2C+-Z6@)A?hcg{B7UFgIwbN6OVtjDjBar_*~%MOQ8Q zH{tRR_xa8#f~_B7ay<^qeYySl*$v^$M=pO#9qv{XUTn+XuJJy4v)=QI-*vK$i0&F0z|?Z07z`I}H3r3xgO39 z)MZ__L~vP3N8#SIYn|J-J$&xy`_T8K+_r;XC-8+hx0`wMUH8rXc7M^0I?>>>rI8b) zJ$0kF+O&9nyzf|7^h9$n+pDh9d)Cc+A`WE6FetB|@$u!xr8R|@1+R8%ipL!gGMeM{ zVe#F`tJVG=^bUWKb+x3X^fALhha>H#{AMOm+vF9u6bt3N@Zc?cy}oJoRf#Jl=i@x{ zF1IS&W-k^Cn<%tvPw<(OhWFal&Xsf8tmwW~eN&{R&-3+`34g>kb)BoV=6`tWc!Edl z3wA5MEg6baZyUrMnsO#jQFrP)<+ACwb3RU(9=Xlv*pEqUYL3S~m~Gm@d@+5Ev%dGs z3##e6=I%IlXt|ezMaAirp=&Bv?^?=ff5cLI(F47yUfbF}%d9)YAT96gS7hG1`+pbz z`h`!PY6-nCR}{O&A+L03XYzwBnF?m?D_P%psopC8F+rp3w*87rL1sI|K4`WC#}xVW zOy+v8^(*m9q>CTVbho;l2VUB}-jz}%^4>bY_FcraE3GU<%(U{H?HA-Y&yvStMNj%};ZqkHeDXIe>L@Ydbp82vjpX&`l?hyOeZCL< z&60w0WI8854qg$j=8?th6f}!Rr>w}yBX{ogbgQD@l&|6*vl>@KetWo3&O761%nb2o zi{2aWy};VAX7e7^2IsF4c|R^hzUVlH3?3cwjO{Wl zl3ab(;FY4dlD2}-I(DlqUq1W3?{tzr@mOu&+nH_t44=zC?{;iu_!zP0!NnqB@uw`( z|4n9Ti#aU&6?5rmk*D^`mG+aW)1n?dmWr8kV!{fJqLeS2UR|rnzjP+DK#lSD0{xF_ z!kgNU+8v$c6YahDjk{Fswds_Oo8i|~&|(Uh+# zA`?GswAJ3Qc=B|UhqE*q7Xr}Ro57VbX2E<)%_<_l5AoaA2? z>%Ts@zxLr|*Z;GPp0;g1oFH-Y9B=f!B`T4hIM1c(hcPDBav59=`SJP556Pe|miA-I zgl1j3v^nU~R%`V=aj()(OiuU| zZ|bH#v}C;Y@92)WZ%K=UA6ncv+2Xa7FZa6VyFMjm!HeN%YMpByMh3SYzB=ikz0hlp ztW6TNrzfs?pR1O2ps_goa@?0yvA3ODq_?TED=cG5RPqyy9ZC(6!H=9^e0TrW|_t?dDr80hN3S9)8ojpECn* zTvjRKTs7g%f_vXfm}^W9=`Vbxeg8oR52G%F^R8OYCcSHam+?J(ut|?&ZTcb2!gqNJ zb0>Y0`Et!zeP?il+3iz@kFE63W9;}oo2_`tiM*_B$6{XW5SMi;{JHx1rPWgpci4#s zu1j`iFV{M*aIxJy^3At-k)K1S2__sm6J+ji-Zz{-?|kBtO&Kd6?N*#6AvF8VkG0z$ z=<4%!PP)pfxcTbN8_o__VoEnXe6ZSfgX^j;vRBP4QiV5|J z{l(`+tBg*5m)ujVCDyz7M%n54nuo7=%4CS$nWg%tYp1ok3`fDY7Qx@CDwZzhEa&v5 z=zrSqnnm2t>SkQ!#4p*Q{Ab^se_kS>4FUD3?$(1RO#uxjGa$y z>paR~wyagn`^i%#uVb&KJv@=Oe}Q1M(D{;Ea+{mh?>euvIc|}E<9lajH=$X(H$6X; zK6jbNm0xUAZ!Oh5y46H~#V_YMydkG859M}u?d#pB>=$~|`uN_8XeR!Zs_s0F?Vmay z_?yUhEZONbeM#1{lbV7pi&vgrqxr@u^;r9-J0G^ZVK;nLp(PQ1TdhnvQ|9`_8@6f( zi*_)wGyl4>jOG8yk}V}-0Z}2|`4dAp%(&lq=PAlB=}>lLw_JELwbezU*zMX@v8|q+ z;Y(txwpbTczSPJr4*Mvw;PlRRPrkD0Q$7E=I5e($sk$Y);a1+Qa6O0P@5MW%x_q`j z+hVx8Q}&+i>A)RECCa;}cg4+iy7l?|!P_Yp%A{`F*5sO` zb@mSC%tch|mbIF{?we7dCcgsb`tv+NH_9|g{Y$IaSgvVP0r zsvGs{9rhD0TAWI(Y?Na6j_&6W=!m<#;>y7Zg1RsHM7Sq*1z(Fhy6A)=SGJGfIis#S zAJ=($@~|K8?N?qn_0S5TGj9&1`AMb!ZOP`?{o_toEZ?HgX5Tnj(H(NHdc5p@t_U!` zw946M!*&60?zg3m!589;rxiu}&UE)s@_AF|S8&EwEhlgPEzTDo7NnLQ`1b17!i#o5Kq?rYEPpC|jM>UX%R?(7Ge+0)K;`jpnpO32^H@%-oa$f-Ls_GWa? z^X=K8th-n1( zeBLAJZ`5f0c;gGxryG-dmS=P%1fG#~4BO=MxWng})THj&|0jG~lsw}^fvIWw!iL>q zJE!bXoqP0D^-3EX>z!rOl&@|lSd8aQd*tupc4cQMZ$ZaOae`*DrrZlb$`#FDrf4%qTXs_ws&S*-Ixb9KLe-!29zG9w#q+=JZ=M zYsua9Q=_WbE^xaYKRaPNpVuJrSpmHyU< z&g>VTgMUofwf1m@>*nuN>9FX#aZ4x})~>DfJ=uH4U!_Nb*PU>BpQ}=t`t$=b4>+f!sb^i?& z1;2dCxVTqhS=0`0)=CqxC)s)WeEpU+MT>gwNZqxS+1vhL)AslMT3>6zuFdk=cwzp! zOAo8&9gJ0P^uHd;^KV+Y_pwarz!JYR0>@?CuBvDh?vHPFGynIx$C9s9cUiX8onO_A zmxA93ip-ktSe|a&I(yA}_Jp9z@)vA>DEzyyhv&&{_pXzYHbE|v?4)aJZ&sb=R29DZ zT&=L_wZX*vjKzP~y)hHsHR*=@1?95^KBYd%InTEKmX3MK6XT$DJA2-8)vL`n(|%0k zopt|@O-!+Ff_vQawauKJj#Bs5-1@Olbn%;=d%_)i10J>+&zk>any}@Sq88m^<|IwO zBjNAO?TfuddxSP~dt~kUuE(03ZoF~IDPBwS;6mk3Hn+F$o4)#eoJa4wm1Qe7#uuF1 zD|MA&{!xdD#4#kp{e)J1Ty4PP8z!(|xqu;_%WKnKx^= z&2^2|Xue>IX>E9y{prr##CiT(U88J|iMP*q`Lp|cc5K5*S%Vd70ZQ-wp1OMN-8T6G zRo|`m-(CxtC)C5^n;-gNUuaBTqhH?*9^;7z#T@?3k}*8R-gaI&smJtzfzHfrH(e`_ znfm;m7Z`e9#o(J%_k!?E7P~iE1kL6UzU%tKJLihVqeag@Sw_d$?3@(2`>jscQpKGY z#rL*V>|R@vu!x6svGJ3?@)r&{_$8Td;C?qPOYBj|5{INtkCTr(8MDuar&K<@cz!0+ zAV_M3mz}bhYu=hTx=j1~??$oz z8VC76!PB9Ri_V{YcG9fJ!{N5buYasTnHBZ(gnu<0)%qF3pX;A@`I=izb0TNlN%cE5 z)t__}rFD-_{Up3u?CGuhHScpPS4yn(tT0BYr zz0J$L*K2bpSCw86{^AqovhGlVmziVwcROt(KO5QEQY}p>Z!|+UF1c~s_`bM|_2jla zFYn1csm;7(&ihbe;uLw`gS);@e3w`pbRq7XQ^wIs-HEMMZn01A@Ez8az7=rp*(a;_ z^L#Egz199(UsE&bzOZ&`^)2P2Vb6EHT9hDifl2NBTvu!6e$Eb&i4^sTetE@Z zLwWnoRK`0GStcL9`_A}jb5z;$nDZ+qvKFV`xnSy8ndkTZf#$dKTxVo#S{2srlY8?Piw!fdC}&Qe@ZSdTb|f<*w23dr|o|vbrx@!{K=88n9VEZm)4=O%lCLI-&J_e z@VI`=MLWN@o0nLtlkr8Zl04Z*^?z(ewegBx3UgdV#&3% z?SR^}^V#j1QgLg}2o~i=Z~gbQx&Kjl*&0R7OSO}kVtsOTe|cS2{Gzfj*~PfZarsTg z2JhHkMemq-!=I_13&$sxUv#Fh#`&Q$N)3-O=58As|+viPEYq@uPM^9+6 zlAuUS_Bzi+)pPZ=Qq1-r$yjoG&5OF&Rk!AyTKhkH>B;$ftpaL4%yRabeI)aE-s3st#uZRxB|J z)a7}1r&_~yuiOu&?+Nea_g~z_B_sQJ&Y}!srA_Rfzr+6?x&3nPi5F}CuH1Uk^IGml z>v{LN?#-RoZ?$sbr@DjJBIbEkyOza#n^W`VMWfQmTSD1N%bmXely#3z_^G_R<)8Tb zx4)yVJldX6woHCWfak(_3qNQ{X?_S7SoFB8XOi9oRsI8eOZi{NsJ)qgoPjqa{D9V> zm7<(CtK8MR&Yx>bt1FN=wCBiPuNOrhFD@w!x5_^`VQJyF9cJ4ccsSSEJKa|?-uvAw zYQ-nH?fE&*Qjd~b1rvFlBy05lj%PzroY*(_PY3H<)cZvzens4lb-d2QbDu|}2+TV@4c&A$Ja*E>^dwMoYhiwpfrTY6H@c5jJ3e|YQETb+LF z@ev=-{8DB2=D)n`*H%}rsbvgDwy!9EW_|E*Q=PQ%YtbJu8xGxH{pj@8vohBo=GZN% z`m!))b${HCrLTJzHrT1PbEvLXNXokZ{5Wsj!^=}N!@OJc6~0_pc%Nr!oIrd;=j0Nr z_POU}E7)SE*WWqh)8LUNqvX4{H|UTLi~Ztr`jd~vJ#}~=*f!DmWaZ`=hh$eTGvBc- z{?#h>PY++}eG^&d<#ki`t}+|%p|ILdcE2lsZ4R^EI>(jU$wT(h)SFwTe1Gsv$>#Io z7kqa!&m`CSsb-(sYxet$Kv(OV&#U$3<)?qzKUu7$sigmm*}HJLe{8SJnl4wEKJ{C9 zCPs4Ys-@z87XMBxG|UrFcPQ16+1!%#C-T#-h)a2HN9Qfz;}(YHXi=@yI9h^6;9wOXB~W&3m(m`<}Gi{6lF* zI~+IO`&qnkuil|^v%~f+7cX3F8oev?>+C~9y-mW}-GwIW`!3jZ%}sO3Ta)kVB<$$1 zcv1AyY45gWf4}xqBPfvj*(IaB5{p?>I=8jnJ-z01mYUneX_pty-n}#b`bwrPXXQR+{nGcJUdNj>cX^qpO8Wd8x(;_)qgP9vmrmUr{`gg? zFyr5%3G+i#DvUChyte2Ncla2t#^2NaX!h1rIaU*S2X9{Em)s8{4o!427u!9jbnEH3 z)NhZxzw>=gWXOEkcBp`Bb^NS~UMT}{@v8F&Po3KPChGHZR_o_~n-Y$!&9pFE9yxw?YxT;tM z6Q6|Nk6DF#Vp6zJk;lU+4-2^S*IJu%n_tTL)|cvKC1QGINlmv%;heuO zc9?j#1pi$;d(NT=_0LCF@T;uaGID@#UNu zN2RM2&pf~R$+*P-DZ9kR$?t?F+rEFvay@vbr<~B+(zdidS+TsR8&@_?nbsSkn&xq* ze|ja$v0qKSg8G`~v%Z#2WY4y;b=I|>73=C5s2#RvW5&(X^CQidJEhxYxVN&a+bNjw zt)IOifTue(`j(INa@U@IhntS=XXH~0mTpnF{)BJE%o}+tZshFxZ+sS0 zzw4t}LhQTdZ5DL+5R{(h<34l2zEkf*i^VkNR$6-gb&c!}$_H&JKjZ{C~#NorrEb+F>Z&2OhJ6!6qItfi>;ZLVjpnPYeC{Ka>YTV^hp z_+8_>B9GVvfsZF+gr7Z_|2R>DU7_u2(Z_2wnntFZ^tm>~dQ9!PqGxkh_V6Z|)ml!o zk1FnneSJ}?eA4E#KAh_MTJb02S1xcp6YzTX6f>Lf{XGYG)qZTav|50xwBo{pono_@ zs{OW2v~r#r+gNul^P^Yu!h5%}dih_fvZmLG1g&T8BLrQzzEt1-_l-TBOP^4kRWU$@9o@%)o6{h}4@_gxCNN=}UWuTr#*r?4&lW&qdhR_3nEzMty7$`?XzobyQ}Tif-zrEi z3=hpYF2p}ELcDJ)hr4V<+&t5!PQR!n@!G!AKBU^QalTu=Q@STr{>{NzW(O>O)d}_$ zr?AwV3VU*?D>3|bg!H;y)lui8_I{4rgWPgYo{t(0BF%J(Ev1nB{h4eSW+C z{hOs`MX!pU&*)`+vHano*!a-Ev+7HC?w5^K%@mX0S+e(NnTK4?qeZF3Yc2myx;E>Q zCD)wqFQVQ}yxcpzVb{ej*H8!D6Vsd>UG!cp6i{8z%IP3f61vrB*U^>BxW3^jmKh4Aj2wjqrjw3b_ue!!pl(X;JLxEw3eNJojh6@tj*{rj)8K<&yHK zi#vCsF|p_s_ao=`J>u7%f2@9c_TVoE;oau~ZpCzjx?a@Z9kME7=KQC}-=DX)T^Be_ zF_-zu7wPxQwyLYUJxO7jY;t|QYMB1x^3Eygx3t~ro^FzPBq;E9L06Kuo9)Rt@&#}I zE(-d0cfI3=#S@g@wX}M4e66~c{cv5iz=`#H&rLGF@PdV}lG`d!;u%+u)JbKl1=k)* z%nFh1w|gwX$Kq$oTl)SmPizbCjk*t2jOD2viiNLuH!}uZ{PcM@(-E~@fo|(Bz0P=P zd2+ww=bYNsu<0=tzn+>d5MlWF(s=4aCB}Kbl1;=L)x}hfiX2vX^Z20|U(V_Er?x3< zYpM^)-F@6@?RJZV6xF#UMV@B<3`>%2S-!aT)al$yyka4FT_EXD{MOg`ZRgF)k^*=) zFyE0@o3+zdhH1XNX3>@T)r%D`@>_5z*>KmKu@1J}oX6VaWOhS$!}8Cry2_ioxr4OB z#aflBBb%H9e6vnUacY}Bc%8Rsa^=y(rc5)!I*M7ZpGfn{n|XKZ)jZzrsTFF%N{3=6 zB-pOr=ovC|^L4IcH}^k1^X2GfaieXu4ja$*JrvD<#A3NxrgNj7uh7%W*>PpXjsJc! zX{zWYm74K))$iK8&~o`SB_UV7)7zzQJi5qlsc*c-s$ZDzTg#ciwUepMS0$4#GI)Is?-UN370KMZc2et1W9h^X*VnJpv9rx7+O@Nre}>DaY2E!6 z)gA>EubHG9qN7**yuLbPyTX>jZLL~@%#t7bW}kY!@@?HcjcE+`X4o6?h1iGIw5g|F zKX_vG2C>2#^~|ze6TUg5NnK_R-p(hYF!k8vO7BmFlG(>nn(v-bI=63UlT~_gex-(o z?3*>0MYsZd91rWM9@1Pl**tMZQ?N|`qrag(yxrQZI!5KeH-hr!&&aEM9BVP7^6rYL z0~?pReSUCtJ#*~Ltx|y>-d2Ql7(UqG%FiVg7&%QNeb-y#|MNaQ`5vkH&wJ+F_GNcG zZUn{qXhirvh&G&?RUG$jqJ-jx7UN3GEQil_DKoF_=CYQ)W4ciE&*gBh5Xsqv|IO+= z-A(2TI#=r|JlvMqCKEFK$jZN~ZYR6Cm>Tzgai6)tb>4B+D{W7IKY8<|J?7Mvkf(i~ zI^t^$GOq5CP@6S(>+8;vWUqu!ebsx48z-!GC%BG$ib=QTRITXFJz*|Gsjm zKj294=_dEvDqgl7DVGG_pPQQ7JX1)O{eNbgH3Q$dzCan5$q_Fk4~NvZzGh!twr5Jd=>mhB zX?ZKw*iYoiV~gzH@$lj8>9-~3^~_zQuV}Mi`>~xZKF4O}tX$XAIF&EER>?@N?u(mA z!^N|FH;PoQX-*HlXF7?0ktoxJ`N6{1zdo3(Aj_H=>R0{g=899-R$F*2418=9`I$?; zd~VI>!qQ&(QkL~+*Na^9do8Y<*7C^U%FU^NxnI5CeLVa`qSbCIw!IVn?n_5qUT;@-s>l0>%cEPy!c4!EZ0EFJ{yggzpT_nDGx;aY zyv$RfKAk&h-~X7^6JGnLXU{trY;TfO(eH6@_1%WM8sC3%u>L$d`bN;i2mQ58bcj5S=xviPm^5E$e&;MNcrSV0T`z^ctroP&BZIcB) zd(0?&vgWO^iND9(nT8g7D_AAh$BRjdWu;w9Hs^SlJ4Ynw!v7Uo&o6l#tXn4~owfC_ z=0(L%!g|-87T1IowAPBgUAygm)jf^#s}g*Klsr6(j$d4VL}$~Jk7|iM%zv_ZZm1Pa zKXd7Yu*)Y)55eB6akDa>+_y;AP4#Pd5W6GGQ0daY#8O^)f$nVM(J3v@J-x>sb$OnEjb=>5(QlU&~TbIkNQ2fgCMf>bytBOGM?Rd} z@+vbnmnA&q{L%$pjQeFQx2`ffzv%7O`7JW~)A#&)bx`z!fvf)P_KV%OcJ#_}FMjFr zK>dpC=Zhux%WrNL=zp*zFlf%ZGis3@UN0{vT)eLPKvpHo-zDnD?$c+at(C%AR3g+k z_nJ$t2|jGdy7qz5{uEAe?Z}{j4QUmw|L)AbAO3g2(s`>5f6x0Iy3#74@vV+?*z@(r z4`u8u(#cJ#Fd z^l|4+-}Rq4>YT@u)HOZDvh(Y|?doOWEZMeuu^3ywV(oq-!L)s6avPVYUNZ1Xdo}Y{ z+1twXOEyjPJvZ4eJke%9OYHSK+l?NmoSso3VHwMxWnkwu_3RnRntnECW|-R)QWJM6b|GynV>;>+O7 zSGVMrtoN$gn_#TGZEbT8$S0y_VWj>vm zHr?sMtcd-hs|vaTb}zS_`2DHjsm`8F6T?hhznW8c7OIj4Jz-!z-ecMd9B ze(U{neD>zUoo^<-*!MO^DPQH=^PCk;+)t0pTRZ*SjDnqp*S)9K-|3YJn9uV`ZC~rA zLLSG1hpeyvJLTVYOef@Wv$OvZdMnlE%sti``$<+$h=` z+FJLzMMlDw%jHkC$Hz2 z@&)8q9Qm7(xNhRwt>UalFXw;Q-v35DpEq67(qMusw^etA{ftvCvUg@YeXe{aZQ~j1swUS(V z0oS`gE}Ima$5}<^8EgLUdiPj)&fLk-H?s`8%2vxOesl`uJX;*GT!?gJyXRumhZc9+NiFj zqcV6>tHF|T^_XoRKZ#$^+22{IxAi^iYoQy5Cw=Z_Vlmu)q|NX5OPLR|?DPDVOx~a4 zo#`4GkgsPHx#5z8(47vspBAQU;`xCr9$Qr`-nh=&6IG!l^iFfXPou0~^yUM?+AqC+ z8W`GJtUPDc`h3ZhdCRr@PG3K0GDo{_@2rK!rpYqu5kl&34W>N&I>&Kl&t#7Mrfc7> zoYnGt!NRA;YtJn>Yc%8ggdYHk0f;j?9qwkp324zF40Sf+kT zbdR6k#da0nlK2xQ&(BPMuK!+avh{86DYHJZ@9A!^T%D_VGuSohEHj^Y?3GV7A-qqX zg>Y@s@l3zEys%XF<0+@L4BgJ}bevXykf|}pw};$2-OpLa`7f^ju;*FG7UgU)``f(|7te*BUNzTRENR8fefBTg ze{VGKSn@K2*ZygtvzPMS7vb$ub}n7Nz2Z|Hudqf&{<$U>%5&)H#_LOu%`JWOX}Nuq zsqUG09+?+Bf4{vuf48dOPWlmN0p+P#fiE--&pN6(`mLX^KwW%&Nlvx$uWZ9&miUSn zbNQcrdu0{Uzu~3QoH?Nhe9N9+-19h0Cp^S$&U>NQ6Wc^=KX>;tN_!YrO;i)J#vdo$uv1A7KZJszIknK@-Ed$y5~46b@C$;|7gAS zDm)a|9(Bki{P=<}X66mt>D&`uc3g=!h~0HK<;sq4Yvx{9@ss-qv(Sn85%WC!Iqt+A z;dw8cda|r{{|-w-vr}Hi7e4N~x_zr0U!ky;rIWqpQomgbzgC7!{5C(u$VDMCNNUE^ z8x~J@|9I>0$jR#8>$e|U-YY#`o!X(fsyW!mN_z zrZ=DSb35CfFI#-khCf>J${{_@1Dor$m#^M)nRmTWqt4DP#d|%Ib#$au3mv=8UKaTg zeRbo5;LPlcMwOd9I42(K{p&b`Yt5d5kDHcHezLV?f>rz3c(!#1ea#|;bo>#*g<4N33s}I|R$Gnlh-1cGR)47!^T>9?SIkubTw%ad=ua@o4+rPJB_OHV&I+pT1m_{n17 z=3`%ZG|x+|-fyqKJ>S^>z2~7<*Y&jI{3IJ0$AxV?e!kY{unb;{9M-fV9#nrzkj zE?*(K^G!$Z1f|?xE~XPsPvVcXb)MUGqhfjV(|Kp|=fA3dx{G_3@Z4uc8y7Br;qmC_ znOC0@r0!qMSyJ)u#tFTh9=|LYOYiZ${3G=x>|Xvp+gE$6z8X5dZRz~LXTQ?mnCskU zU-xj%I?N+Km9M?H(LJduD<7Dd|9dBOH%-YV zf5p^!jp28lW_*7><;SHjMRS+gmiHU3>&OVXaM8+}pM8hX-&^jjw+_#J5u_ktUfi}x zY+$9^~OAJpgZFtEa zv(}XFv&14j-sKCE9y$MCGTCQ^l0k}VUEvvvl~13|j`49@^Z)d=g|3-59<~%7a@FbR zU;g*#fv3gMJ5ML`rXJxx7%R4Y&$Gx|)%#VQs!HXjYs|C^?+QFnv?tNzr@^w|_{R5h zt}Zjlx%toijrWAN7jN>+-1*()@cm2iZ{G@?FbQe0Ed8)_Uez)`VR^}YtnJ$aZ6;jH z@}9uLU98c6!M!;9)XwZF=Bd2BG7A<;aV$w}m2CMQ`F=wGd&kA^79`yEeRZ@i7MQ`89znl{DInvn}j)!+G+M#T-_hE8@(4$*nCgR6@85^JY-Iup$ zt=s7lXLDAdy?68WqScFS6!TMcTeq{_a6h=;W5Nf$=nthlj|5L~u3DYCUbt`CC%tm* z@`v*@dn@<*bk@4Mx~SRzSKE3<l!UZ@Z2xUB$Mud3Mq7Wkm{xi+1S${UX{c@2WHL zz^^;(t_$sSW^7}7@i+E#PC(Q*1_cML*tguCr-_3U`NBb(uNhTXm9h)b3yd1iU;naOxz+t*kh?PsDp7*dbaIU6-_ z3CWdKZr<~Ke*Y$xn=@G-F@LMdo>IwNdU@jVvfWBcO4ZMBzf}_buFzJq;LI%5{^K_v zsVq6aF|lth@2Q;p)#v)8nB-8&s-D|Y`w{erNyif>{k zFWpn6pXAWI>U#Nk$ymYAr$3aBB`!Vu;)ln9o9CTQGjL2)x%KY7Qt;A7zRDKwwc!Vr z-@AC>xY71IUGhGskE~!7OZREG_w(K*9o39%&WbNCHA^afma)$({&xOHbGXjCX3ouh zn{Gus-=6TiMKfmk0(VvQYZp8nA90+kD{r~_|LB*KXBg#6Wt294IrCvoBHzn(*=>%# zcaBP2`h5IUTw_Yo3D1U}l5^ALwst;e|IYt||Km>i20algwtGtRO84djz1p4?vBK?! z9f!b_H>b7yd1KV~q`#BWUtW@aZH02t^KgGz@Bi-ttGn~-xf~|1dH(yuiZ8qG>Lh>E z+_Jx8we=$=u}M5Z0#y-8*HSB2qg;M7}eQ~+>YuUf09*UJe z3wai-_Fi@AOzae{Ch^>xiyY>E(L8K^ttH^zY9?W&l@3L#PVN3AxMhdrR{q1E?>MF( zJo@<3?~@zY*FSUq?y>a7`O_InI`;*;8I^C()xWiFnPAY(*T##NUpX`}X6M$N45R9q z#wIJzx%kBEicSx3-+tP#ZB?UA_T$CuH;s}mzhKGe+~2r}@q}kKV@4U@e7<>?QvzJR z1h;I{eWiOyr1Zm?v-}(Sx8B_lwcx(P(y(r+7gGwCcNacf`ISLOv3;ki%d)0`36)LJ zi9LFIAD%3<>-0^Wd+C+ba;3?i8rRHz`bgyM$&07Y3rwE);eyKcuI2k|zP;^{{1deK zSW-y&!W#FqD%T5g<nfi;I_eyIe zcgL*ceJM2~b6aPS@vbIYyPdv|%Gb)h{_)jZ&6G4+bm z<_{gxk=J*~OQ#&XVsYTNy2Qa0A*UY~`Fzhe9_;w1v3z>k0^zw=4Ko&+%z5InJnGbb z`MR8Xj(O^`=OkCIH@f2AG5cw>(55%(<@>+hTK@CiG$D&knBe)S-+h_&v)}V@+Df0ycM3mlEIc)5O~$P|FYl&ruzY6e9T?2JZ<0##lb1#l zryQErDtyqJZ%TOMp_30apG?hp_-S|M)Sk0uN4K3jFkd;7Z&9LGszl3^V6zRoefu|E zK5=}aQic{tLw)Dg)#<* zT9s>MJnUozENn&hRbETcRBFAnZUei_mHNdS+kStz^z+dzJ2#%A;hG$emq`9EGWrp0 z*dOpQ$mW!GlgqzLk)JXxK5o=&m(XufpZ`PK`|?5MobW|nC66t)t>s~eV9T0oufwq= zM_PsRhPq{zXyw!<>%Ec5Ym3E8nwbk(4u0EmY{mKDrIXK8UNDnB@wodtgVU2Yhp*3A zd-sGDzv}WEMl)tFedKU{qKmP3P>0s!uIK!5cIWtsmNzPce z*wx{|PqD=beMk0))vTQ^ox3*1YRekuPg)+WQ*OTuy)Lz!PrgjDtK{r`wk-QhT>nnq)@{>PPcapnGS6h?7uoI0?|u6C z?Zs{GQ{k2IznpsyU;HM>@mzvozgA$9&gXd&k%9bN(^(e$OkAV>!DzeGZ|1M6J06z3 zIL~v?`pVVacCM=#zfaj(cX&$RTGu&SlK8GG3kZMfeWEw1VdC|UOa4`rFRg#;Z+^G* zcId7E7H)Zt)fP%7vl;)gI((|q5!IBlQ#!LGSR^u9&7S*vTb9n(oSJD8#ogIAUL0~$ zu2@rU{rjf0w4tePgrLgl#_G*4CQkb{G3#jJ6egbqCmlBP$1HnRcG1#w<->xQjL^#! z*Bei(pHqGiGwZCZET2H`-F4e8#|Z?t&512N{L132Uijz4&C8A2zUbSpHu4I&l()lw z*PP-b?oTcmp8KuxYT3E^)x3$K#;PWkvE@ZC9tbW^oSLAa%TrkVT$5)(f9S=PNg5{$ zewb9RK6G-!Mc>5D{x{ah&J~Gfs^n4DlgzuhC#u`xW&3S!K2EJBkHs=(xBBaud;=Av zl%4Ol$91-Ro5RVVV=BHNKBxXdwv5v1nB`B7vCet7;=sX&dHarS-+kQW-P5iGyUxiu zUpT{|`cYTcx%*6zi}s7NjcyI)6HLo3zixiwa=}|%`_BBQ^M3rPIdp83bSFjkAB zepcTNRxAs8F3+&N$N#Nu+EnjP!hD|WeS1O|&QMwBWtjY0@Z;q3wd*tA z@=M%kQvG-9x_1R(ytDmf1b^jrJzua}soRxR|98w^mglyUW70)uT>YJCWmIzW)Jowv z(S3iPUeCWIms}-kbZ(;44ACw2>=8E?P5zs9^w7Wb^k;2JjJgWhUK*V%GXqjLUX(al z8JoEOO3K#$aQ<)n=PBb&8U zP5KtQyK81JZWdSJ=Tv(K|(7PFYYQ`Eiv{+V!e;D|i?#`A$7y{P(qyr}^q{nhXn8 zrnZ>8IJlL4+I5u=mp&#vxj*gZ(~qxqD;53?$PM#l;&eNIYwlv*ttSs|s@!UpDrfz5 zNymk$;NH!@yEB$8z|<*k12o_~sNx7)@2%KWhVs#N<$e#g@|ge+`rWa|1Hg|IAt}W|DvJSm9B2LneOpb=}J=eDnC3g71A~VC(th&y?aS zB=tC%E3xtABKa6j-rFg>X$!O+A{SUF_gNiK{x^NXAHHY3dB?Lmhl_JO_1-*x z$t|V>|16nq>P7XL{I|UIf5w-TMSUL@Z(o#V8f&t&MELKAvW;u5*hTY|92LE_L;CoH z7MDkba?FRs!_96!5-r%t+Asc8eqp)3k6Lw!_V0_#MhESe@ERsuym3%CxATGKM}vPi zcKe<*j1$XwzBr)Mok57_)#96HgjX@2ykd4$HZkOk`p!jq>o)UoZL~O_`Tgl)*11L! z=cTG@Rv6z?IjL9t?C#XB8$2v8xvi~O)h?vFtf59|Ua;X4v8htQRr}s8{n~9?ZKIht z;pwaeRo8bN+s$|C$g?M37Y0w3`WO34*z|Yl_0#V2OMKcZZI{nzd1BhTDmkXax(r~6jg9of9xw*P(=tLsz$rdm%HTG<;Z7-rzOs_pi^d9uB2%UrJ> z_d4*lX4)4|t&7i$@|SFmldHWU=5cd!!Ey=a^Wn)4Y+H|1W>o(xis12xG@e-e)Y45# z?$|-0rKR&rZ&zG&`&TJB*?NC=p6szjpZ;dtDRa>gD|;pXVW+CroDW7}^+F+>Rb4(` zri3f>Es`m%?}$6wn$pYYdUmJH!GIr&cewnT`oYev_NJKHfoy{u_60dcJEt>$VP551YH5Wb!-` zP_B-(X7v5}vC!lG>=z>ab@O%{DEquWn#D_tD|8nlud<0k;8Zi`E4)1aC%A>Z5jgSV z^_fC%n`;dRe%}pvq%39;s9e$&XZK>uX%oGmBahNMdVZ{o{q4(f`S*j+7i!m%SfrAJ zd<70pyYxBr$*veJzMaCY31JQulV%h@8@F| z6O#Wt6qwC2>CZ*R5_aXv4WF35GQF8_gXe1_kDd69-?I~o9%wK85xXbM$MBZSk&ZL3 zj{KT+=!awSyF~}~9!=Y@bkjoi_l%FfKh1bix#o%&>jllYs5-F)Wwya4`lh?G{SRqf zS?>DEs=pzxW^;e_+!yVS9#&8D4zvIAVj|0o)fu}!e)1^PSlc~!&b`+Qf-~3tli0Z; zAoq54@uGx@&x4N4ef?@rXL_C)SJk6cEiuiq$4{@`_wK>Z)!rL#^Rymc^#9OGQ;oz3 zR-GBMGw#>Eid6gakm0OpHW~ary7b_SNMHT>?e6Jv1&$9R4?at3)yO>; zD;mL=dRTJNCAp%*ua6}Bo|tT)@n39P`CRq?>UO>BuOHG5Q&00{*yHtDf%W$}(JlS| zB3lx!r|oznd8KH*p?0y_?vNWlr@Z{B$auTms%} z9NRMSg>;7*^LqX-=T2@fS(=$yqFOX#y2Q;^t(`yo4<6ip=;P%n9&A;~_KR+bzEhd; zQG55H0@(#$`HJ+!b9K1(mFG?{b~Cp4@%n4$45h~lStNMbE z=9E|7PP$$j_9A)Sf>i#_O7r!zbix`IzfPYoxb4p7n3y2(6Nl~uwD8W9pHpVGXyqm2 z-+W&#_;xZGSwERSasAVJ-L8efneX+4`8RBz8aHiE@+mph2{p^~C-VMU!{FWY@Q{*6 z_agqOI_wK<;&kMBOCNvCDb~{qZ+acsT=(*A+mTsm3+31z>}vhB_d{RMIj(<_N%6<$ zyS&c))*dH#_Q?55%5!alpO_yyI?phhS6qFrUqIz+<>Lxx|L9_33$k627t zpMTmozaTr)IP}ubUAZj^DRZj7ZGJHMrF8eY!)3dAUwCy$#l8>NBe>(@-&+^@XXNWD zI9yi#@%TVL$NT^13yOCX{MnQz#d14J(Dmr9*Y>8R+LI@LFEaQR_Q_!tOLy9QL&+cR z1|@QGS3HzMjy$Sz+ZU7k?bQ2+f(t}1q^#^;v|c5{*mub^#b&1|-o{CbE*iBoH5_K! z_KUw|zHh#Tnd7E}f0DcY=`El5!&UF1j>P9>)#iKpzcozcUoSId=IM&2`93o9BI@D} z@0V^mD#d?v_M<1?KD}dKboAxR$TtTqPJQ4z_uOLtgQANQ{?#;gUG}cIYjJ;Tz(-*Q zpXKe6?{AdzJbq-na`oouubWv6uNWlU{-z{#>&GL5w2j+NifB+f{jl#)=Zq!Esmr}qiX3hWJy91Jce(E3Bj3rtE2s5&rc6|f4BOw* zVxr*Y5IRd(aO1P97v^Qy-Q3_8|2+D~nwILCx5318{;D0rv2XWG3b zEr$*oUHGlTex&`*o!4zweYrC7-Z?tUKMktBcX(dg=66>wHYUD)BDpPP!;b9F^CvC5 z@Mo1?`m_8!ye?a2ZN74}o~hPF@AVYdwMJ(brurTF+u9Ynwz3caw(&2w0xzSL;CL?U( zp7-)cP0}B&HByvh3|PFvmuKqU>6Lm~_kQ_=S--Y>$EtMJYn!im=hag7H#cp+8qPRZ zbNTYCJ3F;Impc11>_4NmkSlLu?nh-)>)(+XhF@E1>OG5#m#u1h>CF5i*m6Ryw&&k> zUfLpJxv$n~FV#q!TirG@<^xN&={2n#tM97oJ#tg%XT2HH{hw89qkWl!g-G`%BLUy` zk4Zm`0u;aH+`5*uV#`+s=CDcsCf+<>lyO7-R_7Ac%UAhIR#)Fud2+G$OrTZW?A214 z(#QCZZ1OS<%XSFN`NYt=A@KT!-y37jUzl@SB{e|8R%PeJ{i~F&iWXJu&9+#%Xp>mY z-0)|TXJ<9%2#Kt?)9D?T$$Ndh!M*5H+idPmJSo6#x8YmzxsP1C9;9tO`&8ntqjne* z!=2l+ey+~=d@)^IgzcU}!-jtTi?`c8gs0>cKPmWe=IS5r)(cb4oLd%IVw>{QRXf`4 z*Ub;VBG&cXxRuLg->5IYYqeBK?WYz|jlyFuU5%BetiKSo?v6#>p;m_4e>M|JZyN<< ze3~=$tom7@SIy>Mwzey?rt_svG@F(XCfmsJ)=a(cz&)`|=CxPN6-tY4-irNin7R7P z!~KiDY;E4heSDKrp;5ld7Vo>NYxNT4p6}Xtp3lx?)jy~FOF6IjotAJUrs|!lGW%~( zxzw23_P|d~&MB>5QuX*tCOy6KJNEI)?ocPwEX%yU+RN?Xz4F|#?w<-0Rh2$9zCV|+ z-TL1Ky|O9Wn#36|aK79y$8DB_9OK@-3s*m>DrfIMF9q3x8=w@o^-v0z znwF*fsMEXB%1Y@_@a4;=3IuU)^VDv&!OU%%iGrk;lDFS6nmq-0&y= zT-NLVoYu^&Ckvym@B9D%Re5W%L*Tl3zNzWEPNjOQa5QYOzPW0QfS~8c zgA)Je=&&;HFzG9>xxe7UmEYzn?YbK7jL+AUtdfb?Yn!;&X5)Ip2@Mq|dZ%8fb5724 z$YB-x(3Fy^6WRQ2Tj8&p9ZV`bHPdq~PFxa?;X1tH@Q$_S3pQqoWN&=Yo-H)t-1NhS zOkta#Fr6+oBTJ zmHt{09qDq)=*-RhOADlpd#>kJTr+v@bo$8kfc+LfBa_wU6uY|IGAxKv3RQfQb=F-@ zXNpL_f`R?cxpHnZ>fiidb+{>g_K^v7TnnGG*>j33D#T~%KbchiE0X*2@6Micd$aW~ zm|f!jBORTp%C=fe^%JDouSM*z z2tLKu)N*>h;1e6c2PHy(A7Aw;Zc<}i{=79f_F`3aOv#Gu}c5l6R*I}^3txCzV0qtkeJc7M<5m;YBrJ^g#T zF26y{j?p0W%8DH?Sx%hYQGIlBn!jMs9W(ZyZEp8Co12ZEM$Vi3K0ZTd`n(5c=J4n{ z+t|;_l)cUuIYn1_&H6)o538Ngmbx>M)$^(7`75noOBO#9J2&$b&xJx`o2Tu&B+aJR zrTu)f=8UCBt-jxv1I6d2Xo+7?3zJ;tQ~%ba?7&in9S2`Alr-d@x_5KC)TP@`#S3R7 zNwfdTY%$br|uSd}ny$#*dp9(iLZ9ok~*u z{8ma;+yN>s0;+t|FbCFFsy@uKMM3@v6Q#Aa4mNwKWHvLy|e);a`L8kR@YW;qw zD{j4-$h7)4|H2CsKHR*tYub^l?s@l<4xCo0ZMWR}Qs)grSjMh@pQLzJ?=jfH^TkAB zpOx+TUgy2qGncB(mFyG>Hy2W#w)FlrCW(`mLjG5YuA5>uxA0Vqi;UNbSATR%)6cS4 zeRPnMV>lM5blon0iB;T##ebeQ_cyB;)V?)pzpHiTgu#DLp86$G>=#rVTBiO^nw7gr zbRpNB)C)&EA8v`4E_%c9plo9Jk0C# zz;D%(6PE>UY<1qXaPip=&3E1%&Z}J2-iNOD%9v^|vVHQTl-bg@IZ3KE3ODaY{qA>aHs3lN%l31p_r=mW-Rx;CcSNRTMNGQ* zeeKEk4Oi-`7M_)N@=JYvW+(HW;3YM8&aAZGqU5vhy0}wkxS@T>2a&_Jf0pKEaRtx6 z?yEnC`<;{VikL0aI4kZ?&#GBc+Pu2h`bye?C-Tpx?=0}JaQ&6S;nvmq{zB-!2M^bu zJ-RaE$Ol7*^Ygzxo&5NVY;;AN$M1);SkBa0e%iKlZT7QLzkmxrC+_(=d-DOVsmCgK zDrbB01*#T3m1o}gwd#z))99m@xm(|yYm+{5Rb|GexG&3{FZj2|sB5kGn|L7TO;qOB zo>rylw+?oc$<2^ivCLX`6WfV*H(CFkJY+ue&4uc(XLna-sVvp7S{Q2oT=}@c`lypP zt+US>fA4XbY1z=hrW;a_7Zobzq82of-x}$L?*}ptxcSO0*3O>f z@ZW4Q$gDFLb>6wyyU`)V=M| zd}gb5=$XuMTEa0~>$EKg!)m+bOCvVAFF(l9Yx3~ItR2^PadWJ`$7!(IYkP-;--ev( z!~RDdS391b_QPSG{@ru#1v;${?DPfQeM|S2Da~>=Gm1;zb@+jQhH-zJfN$fYP>UT5 zoH}i)pJnbm3YUwRe@-oW|Eaixe-4^;bFA=ZGkD}b#r6HR4TaZsdJ0^hc~5_CLc^AG zyDv8`_2Mesoqtnmr~O4AE#t^zJO+QPmu=ZmE>&avDcHS1doK^K9-F}R@2fr^c&jYk`|H2X<<+dAtGbU_DgQQjA*7sg zYT0>j)}X?6)~xN4-RC@1__En^OV>W=5@Wd8f9~9|Z(lw;&RYdapIk3yeXg|ihu+?t_9~;kEuTKDWp3|`dBc8Ne!3^;%Xtfqxt^NoAsqGQ z+T)aPw@uIZmwF%lyj7KBi>2UpzTJ~|Z-2kLQD)8U@^u&fnKf_gsd^+8*I;O5bmSlR zmLBcv5ohclo_yN({EYh@r3tRKkGEZP_s%=te`mJrs_$7FPImoXsW;0lp;}G8H{`3{ z>!PbZ-V;-2UAhyu^gmc}H<)P?62IgAsSX%&l6Hw3D?iJza=L?C6bt;hWVjh)Yz9W%L82BrB4;a49CoX_5tlV{7gekb4kMCDS6 zb)t(SjT2fosg~~B)p@UsJKuq2Q)CwB&vRK@pByO--t_;({xxdXcrFPi>$ z{@Z_()*9^*G-Egv%5|}HzS7R$5$TDwT_){51C=I>}f@2vdd zk+$(QA4eAMMH^+*QZM$J>6tCu_TBNzmIteizx&8mzMVPsHs>bW^PQ<{b)+o~C0Cy5 z|6}(?yLgrCEtkHwsv0?u%wx0jAI+D)qL#Yt+VokcS$Gm3|8se|)#jU{z@*1~_UtV& zSB^@3>%YB*`PTj1TPoSRoft|dZeHw>E`8G2QQvZ6_2QS3cOv-sGj*3%T3kGt_I>80 zp84xci&Lli+DOl_`n@Y_A+zo7XRN#5tl7Uv0$2Lq6Mi|vE939d^9@Tqc7EpAWjy=g z=Z!Nsl&=0}KlO&qxAMe+zUQ*_zmD$rvRgHC=aaO!1DA_4|CSTh}BsxA&ej(f^?-FnRKiY-UBzL$AanOjhdzo37YxGAC7t zA?a9*(hA;XX;$y&7i?ZIS6j<=`VNI-OT?eqcKqLWtY_&l+d^*7r_H{N3TcH=qHj2# zPITUJ*O$|6yW|#*eEvhisjm)8{@byp#Y8yb(DY=nrgdMZziU|6AaUwK&dm2yySAiG z;-2@v%q}v8^RRA)TvtzD>ziwHMb3mP{R_#R=iLy?8h0(Rkh5Q1w_@%2qV3$K|8@7B z?f)pipCo&c&zDi;$F~31y*g)U7a!Uyzmw&mS3=?2fUhl`GBLm3eb|uw=;hI$H`zmk zwrIQ(Eq}oLZfeFgJr4D6J*8s#Qg;_E%v<~9&YfB2e|Vycjq8ebx0*BLymvQev^ZCk zESFGLJMFwpd$>xL(#?CF_V3yMbQpXwSr@CpyuZty`>sssw79n|4=h*vIKP}2HOc4T z+;7coeZTluCpmJQeQ|?rYNZNGQhr;}nn=5x=er7e)4MOQ3B8l!O-*>ctaRpgwwDW& zT&B<3dO+5A7L$#<(h0?_yP6;D$>w~)*(Bg-wfVc2<S{|LPQpd`9GxF1=*54=pEZqK)L9Et|$?E(=efg#G?_>3! zp0*P7lh=}wSgE7<_{dcKPWzK*LOQ2}PpeS6ppbKKx}L0>ZL`|{TtDgMmEG$*uaX%*2uIilDyqhfF z{N}IE>0NnpZL|69Ro8yMo@cN)Z2Eea8`D=Xxv5PxWL`aQ?VnC%O=Prz4dy#tz_vj zNzJLTyqVFPS|Z|mmfgFh&av@}({9#hjjxkp=4}5{_&mg@BfleJk)>Vbsrrj<|8nz^ zlRuv6OF6n{#p8XiuO^8fP~UBBY8^|P1li;rITy!lK4 zzjX7F8=PW7{TdtZ+-0v9e(OI?bi&^BQ<7#Iw=Gbb)cddPCil{Hw>h-W8x_5kX-q!< zTt7!RyJ*kS)Qv~nz9i<`CbUg*@jh@}_TQoy)qsA@;8xS~`%iadc2t)a{tzmDa8mqg z_zaKj%NzD~dnD!7z?`A#K6>dgjcYo~KIrKQ#X*H3+NfnzgU;c2Zhr~cI! z-f)CQZk3vP*k07?1lLZ3IcJ`)&b-s#GVA@6D~qBY#EN~$y*l0Hdy|L8Y@=r5`;%td zdHE>cvw!^X%g3fQ6J~RkR$k-E`T1!5E6;mhOaeUwOrk2z*~`h5q;GXAlby#nr%Bg% zRn19JPF=OB88Od}hVM)&Tq^Lnx^Cs~ka@!02@S^@57!*H+rhj?y!OJpLY9@*rlrq( zr)QoGZnk1M742wpS8J8P#T7bf9Fpp$bIw&wX;OTmd~n)veW4?fhT0`BJlHL}&L3{& zTwRmfEZDr<sLeGQ7O+u7TVzhpdkk)JEl^7?P{iAF7^_M>+Sp0G6pb-Kr_ocF_d z;a8u>+yc@(k)QMCls26Eu9?ncS)bZ-p}^WNChhB%oA2yDZO$n^X5TjPY4%O~9be?j zmZ?jmeK`4VqkF!A#Q~d_XQSVFE1q9=!Q^e_B6jiU_%Qv0zmMMZ+Aj0de@&c?-wKiU zvSqJcnK_zsR#jgLx;ST&tXN3z2Ac;jd{VOK+%vJOb7=gx+3Jkpr(Vg~x+Zgdyd{$V zJ?Z)R)g{H-Qz?D&${#sK{tUtoR;65WjahEMC-TB#)+f7_`;4AQu>H&Aa}}(fB;(}9 zJ~eRV>Sy!iH2>0qI7XzG@QHtmXeDle~YDBk}rZK;B;AJ^jg_vLM`2^XrH(3( zpFOhZ_)(wV8TZ5O+2aJ|Wou=cvn2Ozu$*<~Ql^r&#;yCN|HA_B$aNIy)F|(-Qdpp@ zwaCr!TFLr@zhAt$_y36UjR{vj|66!D+ImUt3T@rZiTVpdza7jey>!+5#M!5-*7Zwr z?k&6%)FQH(r83|{p1kPX{aKq{1%#H$%v6ni6T|q@!LfruRd@cs`**`m@aM9%mhs=1 ztbX_w-y+lQtk3JNONjjopUo!FpK$S9+S>13YL7Uro*q7_WcJA1Zp|f|tmEa+&obVh zy&&$fcUFVbTB7 zQMF;K`=-BV3tozNrC+@*T_$DLdfUi(-<-3zR!rV|bEVDCBHt6m+8Y!Ov@P=9arw|5 z5r$uW9?JeV4*xsjDf%V0t=w_*rVquUr81UZ)rDNHIKCH`nC<^MbHT$oY!b~=9|dpb z?B!l!BR==++xtGwmX3#FD#Uj^yIy&fDT;T3MW@bLBf*l_3tb;q*GHvKnO^c`Wo>q= zyU_3Ntcn_XqE3k(Ip;${)U^LB{@jM7rY~{G<<@`8;gs!)+%q7S@d5^ zJkYx{{JGvWjq8)7ue?*8YSj6Wn{BG%&DR;L)V6$E(wgke^Zw|@n!r})`dwFJHr=rE zsrKGt@G&=W+nqB0VBYwe6)St+H|2`Be3>q2Y>+80V6A=sssFaTdB9Bi!;;4|7rg$ zm()DFU4h}+b6cujyiEU;QEV#SBF4`=fkp1KP5YHFzplN{MfP}9n z#LuH&WL0(sFKp%j6%A?`0O>TX}54sw)R-_Q{s*PcxXW*X%wuwcuLX zS?wdN-{O*|Y3jSNd5d*!Pqz{lIc_kg!dT3W-)NEdn_cSm94js^naD8N;fw)e+|;J+ z-<Ftdd-B}Kh-z5Cb>=tZ9iGA`hsPDRdLtm0uSd4hUQfTTTk0-pK~pdIC|9o z&r=zGUYSg})ivR~kDb4{n54z^@b8*wqBN8Le0hY&*%jw^#vHcgU2^VGd5>?U*w3Sy zrk8Esw{0aG(YmhliM8+87O;r)hBQX}FwdLzYJRlwGTYe|AJ$IRaTNb3 zQzYQd;8K4|M)7t05~G~Dlt&)Aq6~bI4pUc@v>k5AZ2V?4K|K6LgV>|aMFt5ob=oKY z$q=)en_y|qeZ3%>WuH@K;xBm_nfsoT3mwe1R+tx0=)3zq(8aLSUiuc{= zY`QeBZ0^1--O?`$pRYOgWKq~peTIe)@7@=?>K$3RH1=8EmPr>mC#7y~Ke73=#hu8^ zHjbXpE+Kr|6Vfk!V6Jd0$W5+)`)Pq%orwBU?>7g3S$+HaU($_1P{Zqn;PQ^XGL?jd zEC;UK-OT@G%Ec1)%GkQivOJO;2|>02{J#=*U5yZSc>Hx%_T*j17G2S*nd5Ty(9C^Z zRqnwR8Z-A_S@`(C?KNsL&TS_;Ju+rZOk*tHx$qaO+#J=-?}}NAwtn+`Iq}h&cgdTC zPqNH3%A1~PYo|GDhvbaJ2S#s?Gi+G(cgNNl0ZTq4oDsU%Z+MO8%bNIklgm=0R`VS` zs?C$`FwK&={^|#jDm#ax5)RBq`B!ylsf3^T@ym*leB8MZC2h_$g`X`Br%vy_}5f3>_p~YI8PrKJB`(Ime zQuB!7lKxeB4!ho!wsJq+zi7gV&!!2tw&hH)QSMznNnGg44M(qEmBCUd*@T6|Yq<8&8}gW%%qir%Z6w#XDzpK5IA{-OCnYRR6PA z*!V)@G|`6FufIz59CP}6Xq`^|f_Z-hUx}}nz2I^4vd6(Mf(rBJdE3n}+xqiV`uTsy zmR^lK_rrasS%`YX&l7oJxmP)D@`P)`W!SBrf0!~=?tE?fg&>e;6Xx<}5P|24>9 zpP5viVZ^ znNzIeGT7r(PWW-neC8y=fBeL|WZsV6tPcVX@keVOhd$M|SNGy9l3aX^rHJR~eUYRS zXBcjtY_0g=m=gP`-6eeMp50ut51RgZ(J*Hl|GvD(9|EWU_;~kbRf38}lGe4{7{{c) z+*?+8@)UO2)+lrAZnNoF<;2}xv^!{4^vcsp>k8g86dh5k%FtK&u*Q37u#d<(W$m^z zJua4;`_HQ1``D8%_$t`$_n!0TWu}{{c+}Z|BtP@4pqL4y6`Y^SUnaQ)4~zhkpzAq@ZsL62tXZ>y{f%53t_R&iJ|Yh{BQv zfi?NYI$K2**33TH{K-~LnKdf(G^6%!F&+F6oXq(;Jr8)(N_V;V=sI_*FvB^LAvH$vt()HBoqHhRu9^ua38K1x9wODZ_j`7$b;|GK!>o9)M=jn7_vqs856Y`l?=4E7nv+}HKdm*vZl|tz)PMWKCrlM1rmqc{H2wY^gDpFc za4h<8hWWSNk*|3L8$}M8bJ@AsF8pou;oirb?1GiEmHTxzmv5crW%<}?|MnAqMUG0A zUt(1EZA;94w@b+K>#n0awN*K|M1>x)E%jZ-xZ1bY`-8nw^N(|4oAkWZ=2T`dgx6^% zC>Pi~jq=e~%6OkIOabiBET!?Ygu=<%keZF2`Qh zxTzdAr(Wu>=$>D#nz!R^@#h2Yv`i0I8q5enZ0d=B}n! zdl$qipN-u7`MZYZrfnAjnYocy_ zXxtsR*!mB{_jCSVpIuAtQc8$ESpIvKO!eF^y4Ni#R!^5yoTYprLw{rEP0! zI40bxvNJYNQ_cVIIw;(FKKoB-MQ_k z`cEOAr`w#4#a^1Pb3oExSbo*V+KGNg6Wiwt`zp${#F!r0X~?B8-R8f`@+-wE9^xw) z{P*fHe%tRG_22gqH%F3O7V|3qmr56Ewz+Tke6}VrU=zQFy13xWoKC}tH zbhqNKOvjTOmsU;uBi3q~{i2bbrDBcH_lYZ~yFaF5gqBEIEMRdvkM4edwcREq6-|kG}kUb=;vtRD9pNGKd zga;P`@4PzsM!)X-#?1ao>qRwxUpEV{+W55S-txyf-mH7Gjw>y3@KhBLXP&-; zam$I{-Lq$0K67(Jp}|7|rZPS6g#v$frV8oQTFt$^YhuxH)m!>GMU!Uz-87v`qCaj$ zO?G|e?)@_t8zt1YXMRxXNnG*lb^p$e%e_0pquhA}Ct6-)6Lb?Ru(|WBjB(x4u=&#k z`9IVz-Lv`8Czq;l=6sp!_p0mI%GKRlc^p-{g~e2!NnhQ#c*h+%+WbZ$7TSx#9WT({lG*51e#qyzh78 z-G}@|lVZ0nPC2}Jof_M&LyLlT-do2#HFZghY|-@oS#`chBVpFPtm&60^qviyC$Bh}*`})N!h+1V zuN40Vzi^hBR-y5LC8fNPL-StM22VR?@xQyyO%vrkE5`a;J22s=q4nD1j}6^A*R@XA zeCB3l=87XGr#y2fs{|FX<<~`h)z9AL@PdEF6q8r{)0<7#%AEOMb$9XAs`<8B*Ur2@ zFo`GN!~3A?2X%Ha2d$DX^zHNAzxt1?WOR?B_kD+yuvwcz7xVr67r(xy_*}Bo4&J9v zI=1sq5I8c`PEhQXf>PeEo#~HMw)pcrs;tEJ4McY zFH_zewddja9<=rIxxfV%?noZEw(mOsfLF!7rts_0<}3?tmAJrRn#os z>CJq7yyWA2KSuV|EOR9$>-0Zx+tWQ^8BZ@)TQ0xv9E%wXm{n8V45viR*J69VChtS) zsf0G~%Wg6US>@hN7JQ)4?fHQ1|LMb)LhpJ$C6$KmxXWe7c_x?L^7Yl_T)Tg>y@?Kw zGWk~rdx%h@{u`kFHqeSNZel}O2r zJ7PDw;+WU^#%jzueDy*~s$0G46U+Ht)9i~`_f6R3(GjTqa@nlH&a~q%ce-e$vPy;M zcd-WKu2=ix{Ql(ycAYaG500r!i(DgQcU32NiT4c#!#sj9pxe} zvmJF4-Lvkt8S~aVFOIVh=31$XOjwb!%gSX}s$Dx5azFH{d?KjuI_TvZ8wRcI^@}E}2VKm_IVpbi zOv9|XUljkdY&}wY|CwxW<{lQ6N;}WTQJ%H;qD^Yo8tq)_7rc-qN7ejZ>JP3@yRL6! zu{No=YAp1gKY!(~B_~&0`YHE+Ph63#%Iz}mb$*o#rH{7WouLXU=e6YXRrf$-rGYiip zI-98}YVFI8jWG9Oc9~*#pefG}-{8j4f zO%(2~n6vN3aW20XYd^()J^xknIj25HZmPW0(by}I8{|S3%nv@t+`8qBVYO4nu}>>M zeK?jpEo+bA&c53#o^zkjZy(8{9sx^Fiat<5@<^7Lln z`s?*|b}5_1FU~cNyR!Y3-FBWL&87F(XY^Zlb1nDEH$EZxJ~Za=vZ6UF?W#8%Wt9D< z{O11N$lx6Q3yPlW`&Uj7a9-c`$;WpWpht% zId}cQF5zopOZdFZ{;3?cS+HZ)+{$Y&4!oTsyyEpSg$Kp*UE%A+UaoHmJ2~Coe__z^ zX4%+dZ7*`tXPF00&RKI!f2-}Pa|=Rd9la~5lVrSC_n%Qg#)Lbc#HE%!RyiKTU1(+Z zGq>ibtM`PPi%*>Nd>p^TCv(p4-+PqUM76D_Z-_ERrt_qO-%Sj^U4<9z*%jmu}@i)YTv zmzK=h+wZcnAuc{4Cw#JUS-yjfxXxZb5261)R?q()#GWoXr$);0A$}2Za@HW@} z9QjDhcjmf)iW!fRw=SFceril@ixT!a(fBMKTS7olQ z(~Zi4<>8_F_EEd7Zxk5Jk#;#%Y}Tcf;8k}{(c!i3^tJxWGrA-OF-z?&6FjC|iTmd778Aj?a1Fb5-;OZJ!p7j3qSWWVjqa5$Nx!+LxbfUOv&9?M zKB$^>`f>W^Yvt~C?H43D9rzCSr<*8yPZ$2NS2Cuzc^c!@bF3A@N#E9Wr0w{%pZR;> z!9V$J%t~D*mj&Yz%U{JKvp;>opZx$bpO zeUBo`*@G4bD;Cu!J8juG;fmVnzU;CC1?pmzcOIx-J;4$E@~vtv}O{(W$&*LfEfU?OJ9l``t8F_J)@%GO25xc+cUbV1#DO zto@6!!?tZvSjk}I;$Zi9%PH#x`qOXRI^uARLrKifzFkbl{&L0-DHm&Xxs5N6*zj$L zKiK`);=|*^P5O&!{DU~UIyLtyZI8OXsp{>It6TQ`OtYC8aX9Ep*`dUhI?{ioVss31 zqTjH8mY0fGY>eJf?I{`{B(~4$o<((P=zFI63pclJJ~8droK+9bJ({w4>xIZ2|Ff3Q z3_JMp+%etn`=9Lm${(G$?xtUZ#>0T!lhD)$H39@*lm+$^k^!B=@#)R1&z}rH?ERe=XF#z$aFQEEL&5ZX1im1n_uvXN9Q)&XMO4LRZOZX z%*OQjrpa#(KaijE>SylE$dY+Gw7L@hDk)Tb1j{x%hBLyg~mD*0c9{WA-iG+9$i=(9M6d4llXgZTG-y;m3xs zuFEovClzy7_G;hiWqcugxmH~Be@oWc#h%$UZnI4e{M_zo{3mqhrVGC(EB`gJn4fQC zv4!_f+k~Sj_Zpc+#bl#H8xG~3^Do?!xjokZ_B)ZOPlNt%XgYIhnqlWu0as6-5C!$v zOVVrNZUw#wxWCLeTk-jfM_Wxf>%Y33lDwW|uw&;Z&WOC=6bPXr>c8&uU zYfNVyS{u7AWBt~**_)n3{#^8FO8pue#>Q(oSq7zTe|&x(xTcyvt+n;Nn|#@xw6xrn zYpOq1>|@<4$mg0Dt0>`e;KA+7leQw@RrsiI~FG=wZ}-(3C5-g?RIj$2o{+x-9Re7RtS z)7;0q(%x~UW=VzS`>$C!{p*^I3!YeHzUG~-AMAFn^5+-s`~QFa<3I2`;3faP?_00A zXznqY`D&B+QTDlIO!dpvpY|J_IykdqMb4Qv%Wm$|E9`GwH@{kU?tH*y)<2J~=sfEZ zJ$cfZPsDewyY#OsfA2cYxP86(&|A(cd42t|{r=`#uZe8C?%rOdxZ_88?3XCD%6}hfFQtnV z{c>FUT{K7ULU*Ps!%A(T_uoJM68IGpy{2}8Zb^CSV`(FgJNJ@J-#P~e{P10Qz#=$6 zM1AkeXp@OoJLZMFP22Y3_Fs|G+b&^$4K$zpR|rcyFT1dD!~CM4j)DOMV_sra~JD*0%NTdC~{=E>w}cc6RrK&UJU@+TWPM z^~744n}fM{pQqt^w|A3w-tYQ)YbM`&EzSumwnUiCyzaGepK#TQ-_>HOmb zJGg2lmxg8kEtnX*Dq(i15NlyhQn2K_SCSVdd>78U+w;qrwQdgYqFKT7Bj=7HB64@|7X?f9RFPAF>|n#uX1_O?(LexeD+oRyoovH zzxN0J5frUc4n45Rv~)`^V|e=9CrqUp3x#7k&+ZI9$tU`Jj+kuz&GoCE?w{zbXy#ex z_y5%Y`>*dB*Ebd}^R4#3Gw;rP*+0*3zuvlB@z?9w1qRy;oe$l}?_0^aB&c$#=%KB` z6JA`feg0K&f9zwO%R9F&eaXCUjsMvjT3fP1O|EafJzqs`*{TPhXZBXa+%ocd_^FBI z_@2Wb?5{1CHd5#n*W3PiUt@2;&lk+h3jcIBob1@Dx%~aLIZ6732M^BU{@0SU?Npcf zq$^fQGX7S-(|*6s^N*09B&F%TQ_bRdqp)?q($5s#$Y1&ayMG<`-f~J>H08X(c8P1E zz8AWtUD$koO4An3F#rEc*nb#H&uN|LfAOK3!b$a|XHx3-{)n2>_H(AzT%(M4j#o2 z(;3Tmtax_N-kd{T@*W$z8|UYuMvHfBQ+~)*Y@f%J)~M#^{`gSvtRn&k&-^V54qS8p z&|>y5f9@qU4y$f2a^LsMZ{?>`cXrll2Kr7bZ8qrkII=&&<5zH=mT!j+Gk?RTDW7}P zO~u7$eq_kDt?a1WxNp_XZbKF+$;}hai`-Q`&Hg2C_r*Hy%Iyx`9i`q~as{1_KJTke zIR4G$PCRp=`daoYFP2UI+WYzD^hZK#W+!x)w!Jz$GgVFNc}&HpJ$9#mZ(JR8f1}2> zPj)=Pe3#1BzC2bYNkFwtgs|j!*=Pc z|7Qzc&G>uxl=!kYOU$laPjL#_JH5~zez9n->iF+&y**w#5O@b>z`-FAz9Jm{u*t^ zrkl6t>oQ-MyMg=l;!_jF1)~=ooe}o?W|`>Sr0aQ)_byD`w9+u3f-&>+?+NN3S3bM_ za;a6F=wiXY2B#eMMQkfi_eICQKZ=Jl#uX&3P z9$Tt`gQCs;aHwdyHhVL-+cSVoVLcbs4etR=)U!< zeO~aTuX~WbqKNCc;=!ATrTbjo9g@Bmzp2>> zny;0|jU|V(--fSR^~LVB$m`Or{D*=W9(_=&3X+=s+Oh+7LW!**vj0zP zm#x^eeCx?l@n8NQ%q!I;!gAfGyzaYM{M}^6G*A8b&CDay|Bc9s0IIezQ< z5~K5K-fg@lQ?r*&UN>F;wM6WdOGQhsZ*|mrw{)4)t|mhbqFBB+GgpTFW4-yvIs)8Gm0m z&or^82bRCRBUyCQ^i$2M+kreem4a@!%|F|*FVC+^s~3qm)ynBHZR>LL+`P+d+o#Wp z?yqj1V6fxup2;J3}@0%)IopAa`>7n`% zl}6z`qMn75nS9MnUDGwqqc?94-14L|#z;Qu=v4hq&Vz4qrRocw=Km8}{`c+G)bFOJ zb#FvFb6gep$9Tfd=J7e@`&(a&_)q-2nCna3gA#R5j?EidFUmG7V7m1r$a?nLC)&M7 zXRF^<4|(%o5>xf#&F81MpVs0Fe8=0a)e`$ z|6*gzOcnMQ8Xd69Qtz-iwdF3)vFCHSXtT=A&$qtne$Cie}q82uPA1FQu z{w3jJ7S%K7*aIF3u^c7;l-)XM*BjHLQW8FCTq)iEnl(Fr(d=l;7y}>AWs#?xw`;{- zy`r{i&dDalPmv4#vxGU41uiW8`PZfBGMjq)>KiZTEr@Jf`R=^yyW9qaGmR@0&d=%y zYZv?y|H)tTlnYb0ZttaAi>v>5Ww?rOJr=xZ*}TJt_s_ie@M*l%mjXG>`3XMti#*y( z83GQ)=Lj{`yjtLL_T>-RSK|NwG0jN*G=C54g$EDAYi0*nKH|6BTo=*yC2az)gQsfG zr2vQXUp*Jjj5txe@ImXM_PjH!+x5?@_N6`g$lm+ny5ik8r&ta?yjd^Q@ar+RP=83i z;uBt>t9({MTi>Nk?A|rcNO~)83s2Y|$4W_?rv39Q4~GcUF}*grR=6y>FWr3KDS={j zkx53s9~*_;>CR~AgzS|<8L%KByP9EG$0qGqWc-CkCaczEjSuC%L>C9QGt zA1>WrYs8Q&?7irV$g3M~e$7sdzPER>M1Xhu!ifg$KXj|pxXU(gs#jVa$=)nko&3tX zxZ}b~IrZCOpKBi6x?ponW#yKy%x3+f3!gEI$V~`;GFd1nqdhUDwesuLM_)I`lw?{) zq^keexc$TWz8wz}XNNpxnX`I|(BsD|zwdBls`LK$Idcd1r9$PSj!rR&O*OZ&r~R6A zAk4A7XIq3htG%eY*NoCui_FrWjF(n6)=ZX6$$AxX=Bu1qX?K`jufno8Yfa(vLd~l< z?i7Wu``ESBSwx6`<5|~lArto*FO3xYxOUl+tjqBemT$Y9b>okM#H7Z@-%Xz^o)UIt z!{;~kuc{S%795*BVQ%V`1Dk)nPm?y4Ec9o}Z0dRNYign(k7dkB8;S7-Cwrv?f+a)0lIyj-(((1|obuPwDgPkzf92BG90$r~zuUWZM@30r!rMRXC9Nj*G9MO5|2EyX|I5ze1qBv1H##=-5G zn4Ww|^4yZgO>OK?V}$pdk>oO+n!D}aw%>mQ);@gNe(+G;Ywl&r7UudJtN-+~-RIJr zu5$2(!zN{y1Ik}5j+rmH*zSKO@?<76SKzy%*XvymERVGmU&4Aw(R>?^&Ap$(lJalT z^c}o>7w`L0yFQBf((b-*69v9o+2cXG{y!}oO^V79&1v{Zp{-IBA%Ww<{| zpOab>*35CNzxRU~IC*EHvi1H+1{;= zHkvKg=4@`BGUpAo)Mv_Po?jkqH*?ByxjD|ym+Wny@9|pcqN*$3HMdnyT^T3siZM7J z>bA9|c)E0ZQ|rTxl3}XR67qd-)<;xyRBf{S7`XoAmzCdIU$wKe`J3qVK48-P`Q;b; z+_};PMXO5sE1s(bYTci;`-zv%o^P|lT2vdY1fv8t)pv)U*j3aeqpPz1S<~Dd&pcY5 z-edK>TiPGH;IPTbCDXLdybw*^^yb;oz30BWehJOl6ukL~hPlw!h3T8pZb$@IPn*lX zowf38qIsUGBbf@YU?=SCknOrWH-c2z(1va#aB&}YXvt)m&O`)T=MDK#@ zIxl8zPTb=nTCH2WxMb(zBcg|jI@8*`Cw8#T{BT~}uQBrboJ9}I78SScyr!L)Z2ZeT z==YO%S+0NbgX&*>jQ?{C?4QbpVr9=L^O7O*+3UtSmHVviHCAa%6jVdbZZb#8*${Wh76l z-b@ueE)w(oc#G)qHI*8Ut($h| zrAV`-9`f2K{`>czr@ne0rd^Hc@i121)~6=*?!SiaZr;puQ3BFcPxa58$cp{cR#-YC zdo}~d9mbGyA>9{M-zcKsh3SCEa!GmX9v)Ps! zKThIIocEwTs6>6i?|pv`MLjFyJ8cnP@m=}P#})hjGfPaLuB&?Xmo9@~`JUeo<6ApA zr>BcpaU3xVt~XT_3@`cGVU zZMg92xnXZ(Fo)>!$2$wBOD(MqyD}|ZiTy#qPTSvn6WP8tFV|~bF$}inl3ow!Ia0oO1^Vp-r+M2Mq>BgFnMvA@!J~C|IwuA`_#tk)ym+1o;xF2 zmHyp&${gai+H(1com|}KkMiV8vL0&8`=fp@U{My=!y5~4Wk;Mzx$gYr7~8*v;(yoG z$VH}RwtaTt662h+>!fs_?+Leqe2W+Obys*l&lq>Y>8O0|JELC_#r>_VFJj77O;^Wo)N2;> z+syto|Zna?4iiCS?u#C|2^^J{Mo#{S`#@0 z@2e|1sI+`A>s1gkz3?lzJYd!gzuW9#o~fpD1lrhm^dw3@7=B+r%Y1cF<+cKToj9SO zyqv;se>U!9T-w&QaP`)y0g-oRAAI&N^)$M zyzPhKlG5q#%x`YhlWdyiV|ewx^@INXiPsV>$}U~W7N1X81bufS^awT>l!bpy>bi11sGde2w_S{@3n0 z{$DpoNGozzNBSj|_as($jQtd@)M)8F?tvBWQVzko~GZfn}woz+qY4!m}d zK4|50^uK`K&i}8c?maVUqc6Mf!B_Ws774Yb+H(u}`*DkY{^(+owdPcZfg|(D`XkT6 zozl(j-sOJT$|hbPg&-S`}TbwcF+H-b^vUK8?cfz-4vv6H{vRP{>>&iWdSNnL{kE!R{lG2@%-ZOmG|5lJZ{p1PbTg#uGklY#g?9Ao&PB$A~?q+*9 zM|PWe>nYc6gH_#phrQz-zTv7gJ>f6m?PrxLe#SsV%y3!?uV1(vi-}^K`V80Lreew7 z1si_f?mc2*_TIDY{}tVtCflP!=e6COYIN^pC2!S~UF)Z|r$wHb6l>Idtar=Q<1%Xk zC&qr{N%4$vW!=XkUa1~*t@tX}tc@?v_Fm53?=ahH$u^si*_$$ET=Q7l^j$u$T(bE7 z%$|2#J?V>01S>2Tgt5GQzT4>j-f!tk812M+mdr^Px7ly;uA0ZqL_~zg>iV-1&41xi zmfN=bdL9*zj5!po`Rd$-DRn0$->5c8G@I_+BHvtlYf>ZUOZ%vDu}G0!j_1u+v)|qF z#e03+=URV7#tHjaX5H0W`oD8Nhg$uld7S2_+N-y$@jD^H&whM&gZ?J{J=f=dn({V* zOL0bhZvOVR{zGA*fj+xCll4+x?=~C*~{CD-QQuw-V+1%(6d(fQY8y>Q( zeU0Qk4a1-RcVE+&>asV!G|-n3r4m238M`6=FmK^n$eI2>|)Z*+d-JN*BkplH$l zwYHxarp{UZD!lM*f&9cWS^2#w=Qg$nr7Y0p{>+hm#Zr{K?7GmCjPozFV?e9f=+1J`e{X3y%Y ztvU3tCH>6I85+#rOLL}Qi(xwx-2Uk%xB8-EisEuv%O~j?UF?|N^jpz%;t6Cr$e-@GdYH4^ETAJY_mGjnI%NVxgV!DplNiit-}_%=)xlU${+^}xQ* zNyXstQCGLdy~=O zp9%V(7=iDp^|o;H2P!j{_g->GWtjMs-6mOL`I+Bx-c!k2%aPkoxS?d+_zf7QHy z{Gj`Wi^ru+jv?XgWC)GAJWI1*75C1$5K^XSKhS&51pC3lr(DB7_;y#0n#l1t`@MLo0TfjQrA z#%%rhkNLTI$%{&3siL2*UnahK?XopdFLUt^v0UL#*XDBEbgJx8x*RaGM!L7#fMd%4 zmQVfHcR6j^$Sdpnx$OZ<{l3l5=b5b5m9wA<4jace0cJPw%~RzdbgJ+|lB<^!UOY`DNnPbFaruf5tEko6J!aSY#jY&A_>pWQ(>2MebglUnxrJ+b zTDW$V$lpt2%lN6eS*Jp{Fk`}|cM|ICraOWb#S$PoMON_28&CA2V#u=nMjx}KVP8OvUz2H zrGi%Xaj7q#D!Z!pZR(HppA}%f@4SHD=`siN+`BF6pnuSE!nFWWEYr#3DEG((Z`k^YVlo#cv#6{A%~j_nA|RG8%Z!&QzRxSh8}*C+syfnjBa4ct7%dv~5>+;N8a^=lKQs-(jX(Wf^1yqwqfL!ef?KR|;2vHQarUK`cfPwo6a zD`xlaY(=9}L8=;8BThRD9k;qwbXoScc%8}3PimbnH0s;R>Yi~nRxkZ_Lg_?eO!K?- z@8&Ddky-k23SX`@Z-Z|3+`pfuiJ+%}WM9dg8+L2{uJ7+JlMWMSNLuO|F!8MFlcU_L8~*S*+FEStowfeM+TAmv zkBYv_SDW=OQroE@=j75v*$&5Z(RTwxAMf8GdA%dU)a-=CRcYlvtwy_~1luK3)#BP0 z|Msyc>hpJeXyEJQ`nKqaX0l&&nvcMOT3wURzI~4c+_wHOIGPogZ`N-<^_!GW(Sjdc zC65gGj{dr!|2#&b*XzbZLFMBCYU>W!v1r}ROU~iBrTTjlGcI`8p{+gZjQ*(IVE!lQ0 zI_Y9w}#>zj8h-&5PK9S{+HK=VecroYT9_26}}LfhtQYh^w!e`9uY?~gY{cehx0|GU5K z#?{L?FArSG{uFhg=I)~0$|py29PeDcm2~XXzTByQg#@;9f7`HYa@_W&3`f24i_3V@ z&33z;d%U=HV$@5+ia87{#!??_xs+#=ovQiiUMBo_ZrF=;iHqL`rbOLRD%UJEF1@3{ zdrr%4jcjn{L@^utnhUzOJf|9Y`m8Sd@J2^A_~s1J`?2iWy4i=0b@8QHg{z#{q_p|D z^4*^dtEQhx4LbIB^NBO8;#XZi>`sjQ=RHewzPa(jEZKYRJ?WE) z^Z94{Ju^T0pre?_ck|-abEH!CZh0=ZCnDsbKxz1|T@uk3gw9#bjk1W%OaJtqS9a@6 zgW3y^`Is-?IIXp?+IDSL<{#bL8}E3x zp`g0+d+(QPA6gs=TGnixa!ga=;k@@8>vHrTan4@6aq?y%gNx4F_RRD6@yW5oPGyzY z)YU8n>u0jB>=8KSX?slm!jc3%&u-4pe z^X<(&%L}1%C$pXAG!Eb^XY*~466frX*%-PdBCq<6hkg6Z^DTc;Ij%pGpXzp8h=Kc1 z`LE~el&kkeWiIy8)O9;}zDMG#-uA}XiTB-OxE~5%n!q6NtZRb8&UGI1UZ#dU^K5*% z~^;^#)f1*tA=LDs-m#Sw~1TaZk-eq$56LwbXyvs}Dw7PyF{#K6M zd-t81?qt67P`Z=)_4B%?+U9%zcqisGF1}*;_sZ`6=QlqEuTr1I_}1={-`%Us7pl4^ z^@QD3JXJKAt+9VzJ;UQmuFQp3#i#qH+Xc*XetNRPe@pvP$BXZ^1y@e_=h6|OF5@@J z>aP9VpMB?-6y|+mjPj_y?B5l;{(e{N-Ij#KH~a1%t_e+l{YP83uXRg0V-S1K8SdHN ze>2Zx@+j(Q^_u7XtC_QC%?C|n*I2vv+T(ATU)pDCge2fufhk|9k&ktugaUhe{=S4uhkzGe>rBfoArORaMiAsB?ZR(%U164?p&$JT=MW= z9+Nh^)09`Mqjvwl?$s12F<&I@=@f%amUm>BJ^WPv zAKbUGw#oBPP)>hmWetC6`+<5Nv1skZnKhmvMjsNNKb};B@6_pzV!5q{wV4Df&e)W;UPv^AEf2 zot;Lu+ci#oGjo$F&w9Whq@p=(>9g`9rym}2k1#!7?B?9~^v~Dw>1HeT-;h~6Q|!$9 zCtJARzK$~EIF`2lvzlnQ-Vxp0dUJ-ycGr&X`n*K%;`jCWf4w%YYT&&lkhOl(3guMG z&b<@;GqdQ+_S7)pv+AGJ&ou2~i89(Ox=_n@I?t&|0`5)qQf$*14y|_QZ?mbX z)HvAb{NGu1jf}k1{5O+TC;z?d9&~s2d(K>zhq-FAPTafdw)JMq|CK$_Cr{evOL=n% z?YZ5Mkrvhu%4!ndcJF2V{3}Lpwys)g>GnLB zN3(a^HJQS;^VwYc^8C-T|25qqY_u-)o66ITYmPS?F0f1YDSjHGxs_$7<;NpwAMeD6 zB_%CXFf%{=wd-uEn}uKUgoTT_JD1A%DJC-n>K6W*ejC%I{E#u*e1D|hw zcV6t_r4cn*C%SCG1MY`!Rd%i_IW_y)1@mmSF9J0$HIF z6Bc&zt@;<6F-K+LYZZ5;Ni|u)srQy`nzU<*hf|oS=;ESjujfq9eCl4qX^=TFd;6Dt z>_vCCu%DE-TDGC}R3E?bCT+XNYI)OB(iqIPy4mvQNSw3j-MY!w==1`;OZ;Z*bf5c9 z=+jSqbdKv>!FG6C{el=V?c<79djy(YrbPu`$&cE#X~(Or z37$VbYrl7Je*R1FUYvR8cGKSlR~o#}Kbc}V{l&RcJO67$zArlVpz*XWllN7H(~9=1 zpQMQi$7cOLJ$u!O6qfyZtCd{8Oo`rVJ#Bj7{)_i^Y(G~%UnPFZgj=^%dd0pvuG+YI zf7iFF9~zpLCO>D?N8UKYWN9q%=hJ(6-goQoe=ijOyI?x&mkjsCr*558IxpsN?AkL| zgD z_iewgJtF0DV{-0ky9%K?^U~w$m!&Ti&5{*qadCY5^um07zT^i}W*sWjHu&txX1Gf9 zakS{RSsA}y6s=OZ8~0DD^_fb=ILBj3(b%ir9o zyBFj?FGo>&t#$>^ZzB;WkKO8brhKctWRY5vrN;DqMt}T9@fF2ddI#SL+~M+F+E%MrwfBDBCHaxmz z_Ih9TWsaItAFbJRV$qjEL4gd%h3*XB0`_JEc*f4ZxZ!&4C;2 z*w+OsExfA8eOPVA_5$W!Z--Bt8QNr4@!5-i<4j8Si1_l`%tX&VLvPIuqv)DzyR(C= zw6yonX^s|owCVILoz#uf=UD_To$p&WA#+mc|$eQUO>JwN4eZ%jH*;87Rd!|kCdG~q7K@*u@$(L^LHl6RdW5tr-{98@!xx41tdUvW``NzEA zZpsbow<%NnkMA?sowh9~Ge*=Y;N=2co(YHV`$-6<|9O2i|JP=@nu0w~_IlsAd%p4Z zcB#USx}X|Do>Emy3Pc+nqx?(!&}z{rl(g zLFQFp4oCH(u7#>GS%!AgKbRk~&#+f0zPp5b=~AcV5qp%5O(s4 zzg8)O~g-eVDR8Bx)7= zoLM%%Z>YFbxIDO|djC%50*$9fEw;>ll{}yK+rKRvRng~|sjX9T9&8EIWEA}wbI-uRbm853Qhw5&dUFp&Zu)GDEN+4TEX!QxLCrdW!fKR@+yO~9p=f1df1?tb6%ZTb)6wT{zFZOx|1o9~oV zpAaZ)^>X2sotHQKGhfK^_W;Z1R@KHkmonUvca%(e^2o`4+b9Sn|Y0=<-mL?`DLeT&t^tllYi}^rYIBn-0j}Qw$Plr z(Tefs*WY@uK2X6yFImN>B(-$*5%v_9`7GyDXV&eJ{4AIvcQsEe{@ke!_nn*!-iZPW zHw(BO&z*iDD~^|A*1p4$; z-MRGi#jDwF;^)r1YdhU*Dj|340@IeAF^?u+&VG=;VNS8^LvP|R1%h25GoX&Rl zFMQIwsH5@Hc~4u;ehc=X;4LR&J9=Kmf2&&|(C%BA{)&msFv*wu;)`+q@FaO&+J zCEHmioeO)Dc_y`=KYWPeUE=FaPdjsU z4(wUDQNmTfE5pb8-Ji7fA8(gr^=$rhHc2jPcbjo`Y_<4Rk@qdrwp1v|*V(8<*_HW; zs`(cxJh<0?sdC?gzK!RNlwD^`;8xk+;`cqG+^630ceRdi$Q*%8pGvNVSF#IVZZ$AH zV13H;iU)U1z^u7nT#vN84p@KrM)ex~x}xsV*GDGRw7y>GAYWj!d7*l!uhEaF2TxW{ ziY^aNTino^Q#n0uk@SBxi)BZTMkdd>8})@xFl$H1>`!SX?_7_43OT%{>EMD7%_noS zt91<)*L*uT=_Jp>r)TD=?fP-}YWBr@-T`e(g5$i?TRfOKvyv55Z5UCO|{jr|+?wvoeSLa&!eltIu zUc4*My;ao8^+wFwOrOo^QpXN%_Bp=d3}?i>U}vEP6=yDi5@`)JVK!-#$y^Ux%ul3&#|B)=5kO9nIafXZt^YcHdRB z_4s5t&e?ib{#|K*t(x$7!^}AaEmu}gnUheLxjTG0!xVLMUC#?v_uq0nPkkJvrnB+o z~h5w3?-h?SDBWTbnqU0!eAXQMX{0$C@> zo>_ff&A(CX=f@+Gi}QDg9m+c5*mk}0d*b5oZ6b?Ve^nRV(0u+*EPnS?Z#lyaMLQo_ zD<5iE<3960-=k^GlaGb%)aLCC;7>A`TX~JG-Sh9X{W>ez_sp94BrGt>j;BmQ$gv8=lBX!@GE!}btOlND?^gaLj zWuBU-Y2nYKFGLJOBDcS+n0_t5zGC;y3cp!?yN{JFx}i|m(`&%Y(^YHi%cSPPlG?k^ z!c@1#)r~>dA$y9C&HTO0!B<}>#rPF8W*s+u`YhpPuhg8CNsXfH=5^@@-JQHY3Hkp} ztu;6&u-L4pE7i_>;(qprlP67R{ot3S@@n-8#`K_K@4E_yb1pxQTXwW<`=)Zi#TV`s zGFg;pUG7u3m~g#cZFkho($BtUEA%c|sclJ}x?Uib%W`47e?-gi<0;OH{|}}*>~lyD zh%Mrre9HahmTQGy#D%<$2ya{D7VwsLdeX5o{42_TmQ0IKUvNJAmmxIe#&!k9&P)h`v{wdHkR*;dvcG@Uq55)#lU3{w_V0dvE@m7#S1RITF|J z7N78tKA#h(@=e0ah+gM=&ih8u~(J8 zet2t9G|%ot+nR&TTZOnLocf=x^e69YV9w-ox0=`r-``rtS81KO)HrpChlstG@ugF9 zm(EW(G<)GG-Y3(Peji-9qEIFBrX16J;T@s#j~?R-*z~4Ei1XtY>uTW-@-sK|s6KnK zHg3E-NwfJ?VWsW_h&wje*e8VC0b*p z5kpz$E+f;q7MmljpQxO>cjd)9=O2}UkE#zexy|5Sf9lAds`+O&#XP=ww{2$w%O}-u z#y@Ua|ICqz&HEbT-aLKpx?`s%sNKGl-A|`pSRMm89dSRV4 zzvua1>(doiH!^QXo8=o&9%oa1Q^|Q%==xC06)t_Uc8{+8o|BU?f73hpSLVu}Haf@q zPyW5^c+sCqr^4CZx$-KO!G%Xv3m$Eg+VphyoJ(&_gJV8FF8SSe=hVWSqercS=ko_G zn!+tP^VB!7a7m%fF{|n)ow(bSaCYvRt2#FN77t&@SS3bY^9f$NfA8~eoijVcOs0sd z{W4f(+RSD4<96t(M@`C3!SDQp`rJ24^Rq=J*}6J?uxujiXDp2CcfR8Z2Zjcd6-~;zP}a;^t2ZW3qI2&e^0N zzAV64=^BG?T|t*LYt|hjOZ7D~n72AG)!r0-*Z5Il;*lrkzSnw8T)H?RD#vb$!|Kkj z%aR`Ne0pSxLw&kZ_Q@&2(y@{kwv`?IUlg-qlkAD0+Y7Ea1o&T^wC}_fb90OLzm;r5 zzx~_VGUxyN#48gFKdiqh!8f-`CjD27*`mCYlL~x4yk+ic*5{vo%YRO!l@!mZ4^OVg zSp?nLY2L9atDmdF`OjuAwj)-X{d*s=7)Ln%(tIgCop;Kn>*-EMFXZumo4MiWwfO~? z9xzVSyis+0a#GCqdC%YfTHqUUVD`2{TPEsQR9&>XTU~l+y+EGCiOVHTTvDIAR6lS_ z>Plbck3d^O=>u>8?td^Qu_t=%? z|M%4!Tz*N&RorTL#1(mfQL6h#d3Dt7l((K!Hk!?O@Iy9G*!tWX-S2s49)ugq|F8cP zxYF0ea|u%mpYY;bcGK5ZP74Ff1Jw<^9*LK%Jed&sig`U(jG*16BGGqqyS!F}epFBM z$chZ`68^Aa`kcw<*lrbkOM2LGn`@2qf-2VMD(-$fS6bfo>lgBTZ(O)Qtu5yE{)wu8 zq7S>jnmg&qpA|aO18S|A8`oZ!o*8doyz%*Dy>A5_4fT3vE|yBqjCN<=eIqU;dTP%6 zBOUyk9W4XQL=>1t>y`A4J;b{~9+^bd(=P!L7x#Hnd9r6Fy-Yq_Us%f?Q zsmWbmG@CxWt9p4wWvXs_zwv@CYed%{V!oL8;Nq5+EYaHFG;Hp?Ddd6+FVdFF>FvI>)2Z(F4Q>bO~v7RSH7Szv|f*T`LE-tnsp zIQ01v{SRJG+v@M9+V)^`auL)0nCJ(bDXW*QZY>jjV&g7(wbv;xc-f!(L6KjB4R02m z5j)&^)$^zYXFhx4+-C~>-bF_jc4ite34i2$=zM^G=DLkn)Sg}2VphC(k|(zaw|}LB z<@$`q`lgCQzdBv4Dg{5wOlSYOMs&B+`||1XrGC4-UKq?bJpS&2>wSaurgkh*5BQt+ za4#`)n8$U>QH|-F_m%mRwz>#!^vyavs7h5;?=y|{GXF~1-AKl9^|7d?D#r zt+&&T>&r+Ms?OoO%d39YCrlFP;1+3OwHs928gMY3@@b)k2uir86pnq8{yR^5ZhS&`(CmK(tY`O3 zHGXqX&26c_k$QZ|5$E`8Vm-WXYyYcHRJnNK@NV8N@l_u}g+Cwsv-S7NH+vs*-&5Y6 z__N_V=gN?ee#@7C-Df2hXeM&w#H0fg3SQQw2G0GrWH0-Jl13j6fqO!-N!C2aLZV8$ z%{kX>UHSZ%8poXdzm|JsK7HS^;?}NH^S27MoceorO~2}NS9#$r6O3oRz0iKW+-9$> z&5gL2i0A)`FI0WzHU7K$OQF^!cK(@GJ-u6*jQ2)V?f>H-_u2f3R87O5BAvF7&o7*O zuk4nb;`-%j=GiYb!A(6&{#_7Wdv|re#ig<=*Nc6Up);!|8f~xXzQE(&&8uU#G;`bf z_``R1x}SJ@j(y$JpcUJ57bWZotKcr^TKAUW^4`GTeEPcE9aImS)?Ass)#6R&AK~(! zwNVb63f?M4T3q<%=6u4^&2aDM=&y`+!3T@_Hun}qn*CM{DT^%MZ^2WopEPf~z2crD zJ3BVVUh>=&-f1{nr|!Ydl{#Vv^Q~JL95SsRw9b&Yf8Ft;TT`yUse~$zr>^hse3`C0 zSNDbETRRcGh|e>uc6|Q3Kki!4|3;=NBklE>nMbORFLjq}o)ejI*kwuRk~Yi2x~)zb zvQzgphS{YWGKy!_^x7O|@%|Xj*!5=1)V=!GPxd7^w61@s`s&uS=XNjEJH;A)rTXfe zkC#a?N)?&AEbWc|)Lrl8r+yANQT#q+%fTHS%hXJ{HCzS#n2hh|i^U}FTC+&!n!~)} zYiAAmHFH$M9l2KNXdPC4c4yg9Cw7K6<(~QvV_X^~UoYv{5);#9^ZThvdFkApy{7{e zd0bDh?^#s7^T)JA7b~H@JDVom)rgVd)4i2b*M4GI=gv8Pw!6!J%`W@A+)eG^L|4&8 z--@Rmjx+zQ`IFVRnb(cI`;u<|`=(2k%8hbc?Ya*+>zvyxAh%1ZZ{wrYC%@{3oVh-2 z%Fet;uXH<%r|;Qcc$LXAsbg-=WLLS>%1bRiK2fXdul<&H=;($`b0ShXqh2()-fxkY zs$E+9tZ$KWqS}vyn-^bRde->=Z@^Zab;}kNgmivjbhi7DmO3Rz`bRapb9jyV{%tKP z)e5dJmAM#__@#SfKj^EeUMe&wkXifT0Asbc)(=_b85#Mn^o7gM>VMKcIWOjXTUpfY zDVv(rg{3D)9doPkGCp7tnEWx*az*OVuM1-Of)+oR=_*sT&Od49`L_=9HypN`oG5s~ zYU7-mT`7B7oxXmT=Tz(DT`OA^v7G4~&&*;5?MAyZ6VmF7SFoCS>y^w);(nOYvv%f< z&pVcW2v5iqzfg5xw|}GMA9+*x1?u}>FuI5By>*Dwd8>4R`1OS@Do3L}-r1CIu&KqS z!NE~*-&B)l%bL@DYb4U_p5||;7M>YX(fD`KVddRRugCq?`J?%8)!j(Gw6F|YP~EB!1ccuW!v-gL?Q_53@gG3R(Mtz@qY z-_N%#vwP~)@@Lo5yuKJ*_}!oI#JD<|^|KVCkGcNO@QwFNm!AuqUcPnu#oni}&)21` z_j&Ik!##cJ9utM>d$aGBn`@l&ik`FH_-1d|0{7_m?8_c`x^MSAXY=^*Q=yz+f2KB_ zj=k^E_IUct_bbC$vn@0#R=;`}l&$0uS-fneNH3>mYwF~G|1`YBx}7#{W|InHuz2uL z{0*N&qzv!pJJ*tQZ?3KQyY2c0kxe`QDyZ6b?|gkPXtu^I_2zJ~yE&g`wO^e(?U5+E zz$%k4?t?bo#)(@`Pv`%l61nkqhnvRH{Jb_@zvGpwx%7iq9a&u7%InzvRdh4UshP}Q zFC5Fwou(F&&l)!+ zenNLrLKBxwpoGe#nF1H`n4U`Wc8jf8VEfGb?8~(F>jEF<{bjl0vxIByncIHr9~rWG zMjqSWG5MF;gBIidE`FD((OSz6++w*`AeC7k-t^l&Bnu`6cGYq))0d1vK>BJryMlB1{+kT-|hfnjsH z`r4UoPM=Vc*eBKUAm#a1_l~}K_bFLg@U2x=_}6{Ax>^oqKIdo1^~sl-vzFUZcxtu! zg%6V@Ef274ER(Ae2>LUBeRbD%<&M_ZMXRGDo#JmCzS1%EwZ`6-zB{{5zsPuTRQl1c zBWbGFRtoA(5=->rQ`KtRZu_;QiT|6U^=fv-;u$~BEIHIMWzCL@f}cy5oK~MF|#Ii!fKY**_W5hOU+O_vf|!a z_o#!Vmydp}@VV0b<%HLDhibcEZ`;jBBTx3}O?a_J|DGqiyJgcM)94TRyvxMOjznG& z%W~E}%C&68uGcOfU4n($W^dujm7RRU<%ika8%{;Xl%|w@N}MM3Kclfdqx`Onl(qf! zwQ@m=3aS*UmrdX3`qAu<(6JduK5uyaP9*NnUoYLH{T9V_i=r2%%QmWQ+4$n>tPgR2 zi*~eqyz-Uz;rfIEuAWu38fTbG3au^*$!6}qaPGLPUFiII>KjZQXUs9Nf4#v#!N5MS zj%|AGl827x-j;mkE*1-a9%;&LbYbrGH~%inM66y|J+JDE^ftGtUTwB=uO|CWx7NNl zh4Vb$MNXb-Irf-&TdrT-5@{9jbNZFC=owM3SM2xc$=x)^_3##kD-v>3UTn`1zy8){ z$>jZ4bq*wKV*Izpzg5%KT&=lg^PJj=$zC_RRTOpYg~L*Ialr(; z_}3S|HglVYGCOkqHBnW1Bv$hvA2E?`z!Tq_NmIl0*qVAL{jojzf@xU+{pH9W%K+k*Tm+yTJLU7 z+R=0At}Lf=t*g5~l&iE{QD>JX^XWer7B;FZ$k88ImiEclV^|RtvP|n%9 zmR}m1G#>9<==^3uxHNn3(yqS;)Mp=Jh*|uHk56#kPW`HqgXx9=noC|3ot%67fUtIt z;7oJ5`I~;Vm|k{{Pq&@VaLt}8g!e<_Y0fS#6>VG1fKmfVxASh{nH!c|$_wt+`q27= zxqsHy=Sd$!UHc|f;Mol^O)@I*uuvezKKQJWb$!OBSzl}jyYEj z&CfZusVM&)+qwXsC9n2`2VQ%*MAJ-L=qLB-*%3mPGL4RBibX|NCC|KW68ovH(%SjU z1TSd@#_V){Eq=+rY~nADG2Z3*vy5+IcYX0}Q|7!LDY3AwA13bWum4ThBBLdg!B;YO z!E27k>@O~!On7=S%yh{V)pZe%dKxdUWCUo%PO00}#;>`x5g(de26jOfIdY%>)(R!8`q4a+Bf2Os&Pk8_SoO#K) z^54rDKJUtAta#qXti56Pnxm~Yeb!&6>k60eKGC$3vDJ>(V>jOsl~d;&MFaout5A4s zbh7c(E7yrv%EY>0e)!u0@WAs>Iu@fB6gC zS#su5>ix*X#Cd^9SzFthwzY5nchu=@`3;(wiaXM%G>uuJnTkg?RGbcDxQBd}!_rBg< zh9?tL^t)% zzWHI~yoZl-zTNOxar&Tec~Xm*pSH{1y7Nj3#!9}Amns)rS7p|$|7oDV`k5MkL0PqhFQ?@Hytn;#$+pI9E9RTG z^!9Fj_`BX?d1h~!bN1xMY)|)>*CRdBwQ~G6yK59TWFFRD(W03cnG*I*`DTi9!NDAW$jel{9kyg*ON5<->Hx97>dt${`&d6u1k;a{z{j+r`(%9)4erA zv)EN;+Rr4fxzXK|7OXyV>(=7UljqLM-1=GZ`V+42dl#~vXL+|V)haY0sk=dnf#Lrb zPZ!4!wv(EBo_*GT88vfqQ{34p#Rg89n!I0)S4q!Uc+b;tRa=MUTyMFq7N(PlSL&L* zSDIe2E?V(_g0KD|CLyyPj}7_Lnil*#JtLsgdoD}ToZ|Vs`;TwbSAQih&g$9nCdari zWVz#C#l-j**SZcHh9ya*77HJmrSmN^!$+C_zU!`aN2}%sna`*Z);)NBjhp17hN%mb zS!Ay4Xq%va=q~5FSM7dRJS|VB`#s$5|I{Z&Cz)EqNAnc>lcR#dBjL zW2C3IpS&2zrfOHPaAoiPPc6~gpR?RqkmI#?!|EN}8uC>kb`Q1Pye`?z}I{t5PP-nD1AJe`!0lyAJL)OD%H3(d`<%w6X*@&B^C!23 zG{=#5PUT8JCtrP(_v@kenhw?A>RXm|De;y}R+TL4mb@S+ED#F3BXE75)$e+ibb=a>q?|T)He9?k` zs!hMp(--}*VgjYTpDtWDe^Zsu_sjkDi~5vr{=LJIo5gixUd;XLF2VVnkv^uTt)`c` z!sE<0eV8Qv_VV1U=EuBqrtax(pK({-Zh`iVF21fMJipCOGiI_De3mxf)aTi=v00;A zcdnqiwu5jLTjMqJvs*5^vv0a7V;{pfLHErm`yL*L1#_Ms+j8&H-8$aP!bZiVIclPI z|0e6JRtkvJo~ja4E|5ABvgzuQJ?7RQ4LGGgoHSXGrJPqNnRX~vF6Wli**Z17!e@$Y znR}naPR%-V;jbT~X2k?4=4YIT)?G@CTV1-@cc=LpMTX?#JM|2Cp4DfF{tZ3fknxw- z>0pc<)4TcEFN65Yi{Ax?^ceZry_cvwvG!_f-~2nzr_?;GQ5H2SQ42gVRaC#>TmAGs ze_q+;&*o{>%kgQiO(=bF`={ZLirl{cJFeZ&{BkG5XLY)p<$*2T4Rt(g^QN%4FWvux z<2Fah)W*r)M}OYuxy}+>s=IUB%s{QnDeS3d#cm$Zm-?g?bHXrdgGTwE8IymfbY80S z=66(Lw`l+AyU;PO^WB_ZSs&OAK1nFs@iNk;f2(3ZNkH{ao#McpX>kQVW(fAgxm+uc z5tz!(b^TDcfXv%!9k;7p9NJ0qD-Vj)#_2Om54-I*=|RG+{qb{7fBPcjwKo5U%jUJZ zlRF##t%$sP`5f+&+eYuKUC!)~SokPE z^5Fg@8=cb{ICeDri@y-a`*r@U%R9XEbo&0)82{~#YP`+V&gXipx%EoHt|L6M{xkMV zyJ${68ENO}F0@cc=*xm$u)Ys#&p5P+s0eEk;9sPS&m69jB!K$K5LZ?tdnb#Ype2>L%ZZCoLH_ z&-`cD_4f@!UBi?6uF~?g4=!&uTT_0NpZ!+5kI0uD^>3TSg|)?2PvCzR>=YEd)^j@l zvHRUTmBHJOewdWt=BUhLbl95`lUHy!~Xp%_dWK$!|nJvPlNH0k@&UnWigje6sctL7Ft}g zpMCnmLW7H6nr~QWa(0H9?>)3&!ZxY4cQqS!tr1mb>=!t`=ug5K#;Qie0L87H-qELv zzCQn!AhhesHj%TTOb5A>ce~W-z3zL|!%}jqCfsRGs)$Pw%cT3^tc(UR8$)iMch%Nu z%Tz0AKP|s?@xThwOmf+!RxY#*Am|??fIb} za;JLPLc!cs@^f2fv-4GTgzcSUT2T`5ui^9Aw=FseJKt~Mv&{X=y=6}R%A51`(~h0d zRrgQw_}SXNsD!2VngGYru!U=b7wNQZUT5v_)#U3fMMb`|n^lrE4=S#<`NeMRttc<5 zTYNrR_({@?U2zj8m2l_h++{zOdTME=IYS1?Kv4Sup7ym%J^$Ch7BO>0ZT4oHHZsS(Cq|A3S(Np#D*msKo+T z`GvPu{-2=c+<1a%Id^UStF%sUx#c&npE`Nx$E6LT0#|>xm{&fwUC8!kMOFHncAY-o zxuyTFL~ml+{%(dR=TE-REt6L)E56Gy@nAnoOuNe@_3x@voEXm-%(E~u;fYh`XxCY6 z`ar1Z(v?+{PiS>$J~3SFrl} zbkk#l|2N(TZ>_%d*_BoF$&1EIT<2Ss*)Xn`#uD+uQoTY`&<7#6rZdH9H_U2>T zlKz-BAF0s5UvV3xKRy>^eigKtJ@V0%^YvbrmuyU%rec24eD`Jx27~!&{9i?4pfUhdvYZ*-*gKKPuz)c^1T1?$@T^IskCXu0@o$BZM2txCJJV_2PSyy!Y?F z?qR2!Hc3J}k?Y{{V~+M*jYbE91D<9*kE>??;g|liGu0*N;EH`$*oz%rzdG_+Ue9^= z*FVqs{0wUg3=jU2|C$jRA$vNA&*sB3j7VkiPMN(q!0x2wHLLpG zX7TX68w}eQoZr-}V{vhT=Ej2gs>_QHw$529zU$I)_o|Sz<#*@U7nn0g$Zd;$y3ok? zG3RIXlw}cR35ib=JiA@|w5y$;9QZ8u{OI?(RpROMXS&?%U}Ri)sKBXl-jb+E=feNr zI>D_j+f()E&Djmx#l)}A|GFr2SFMbB|0a&jY69|h?(P@=_i$;gFq!F6*iti(&2HK5 zPkdiKZ?I{RTHy3=<&pf>*=k(5TXgs?ZDX7o9qqxI>GeQ{@QEW6rOAn)?p@S*I(-`air%6}{rGvp6U z?&jII*y&o3*dAHe#6zyDRlmPH@M+TA;KP*>?oppdwXIm2@ZFlQ_?Do+i?(Vr4L*xkI^O9&!mq4x`ybPV%2wm;yPvf! z&8q%p&;Gkzdu8+M5>BCh&qU=1I*z}msK=k~(LCI|>2*+B(V{ILtrvw1ecdL!>0Fa( zb|sO$a`qZthIkIg$L2Sq)Fx;ynOS=#slmc@-;YbpH=YL1T3J-B;jwY=(YGQ3-jn*$ zKia>rc;xcq={*aH)OR^H-+j!vP8K*ZOp_3C&JgN*Ibru%ZkxK#yZWEb`r^XwYwdV% zirG{(wfa!$bz9}8TtCR%J(FwS$p}3*=HD4p-kRk0&J11M@;mL45JSnkJ;j?&+-o%T zTxs%b){MuYS3fOIOx9XbXC1rYn&-J|Ywv|8mB#u_`13K?itFOOq_?I^&n_toTc95K z&8BZooX`dR>sO*Wi<)0m9S(Z&Wh34@b3EZy=zW9;7RnijEFz0zI^r?B> zU+fLUE*k`SF~&W$7ye<>Ip6lV*vmy9*;&5!rG8$u=lhK_i?wdGeQrLmKK#nrl45%~ zhu`ND`u#U&)BlitDdfT#lT}my*KA$SeqfDUyoB)L#_#3t^vmnT zBktdKXHHZyW;nLO_pesP4s`>i5-EnuQ(DtoTHo#st^U2JMCX9m!#UDhgMznRzPaVc z?8(PCW|VPyhAmRwwAm-!?Su9YJ-2-YyIQ;(E?rv}V)#qpL(32Up!E4Gb!`@U{SMST z&*19Y8DsbE(?N+4QLaPL+(z4Z%0GnEwR~u|5je6oJmbo~6A3jR7ARa7+rMgt1ginB z^~a?pDwC%?l|B=|B)%_eQFLvw{j<9%?TQQCo_z4*3}o5zBYUs=Rqu+mGat{XJiSJs z^XBA`g;&p*PiU;q|)cK)%RP5LfR#CI1PY&t6ys6nA?75{th3(~yxJklnhm2w-2pzNj zc=nEIdGC3RGFi_4d2!-z3f~_5v+3i>@D#=s_dt)JY?RxF7;R0uDqb2 z$GZQv%`D4&m+|DG!W70O&$&Nq9GBVaEU}}rquwOk>ne+IgRd08z2yTB{HS2c( z(R@wF)WMO*8k)ckxfE>Cd@h zcJfH%rqT-sbBonHat@wR=aT(ZrSrNy@Oqy6tM^iCbNkYc7q4V$oAl;?#JlLUGcz|d zH)S;}?_=?P_u!A_`5L)|jLo_&+y7keZn~%M{{2#bXs78v=h-S1i@rQLllJV&w7VZz zM3)~^dlP!~!H?jGY4#2K<4$a~&RW0V8n5XV4qJ~^#u{JOlp8LzI8zWf`Q|L1P*c7c zk!HM-;Zs5biewH&+;VPuVfWf}w{>~%gkNjt6>6j&c<%l_zR5Or**YiNH@sJth5vi2 zeMCFk(soMviVZ90r=)1~uH2=~bpM;#OVvAbTn(?cBxJ0at9tRQ96Q%V=N8{C&4Vuv zZoT9sckujvhto;#zWv#(a(4bSLGOZ+iCWLHBkEsXC~~dWV)js8n)zYsnMKVvO#7#Z zzf+jUpBqXUl>YIAoRb}3tdjYU@p0?lSNkjG^5rkhQu!+yAiN?`M{4bZp!`FhuGww8?wzr4qfKpRw({5XuIOy0 zIbY95d0ACoDWB`Rhi{Ag)HnQZrxab_bpIo4cjZL^2lK=In=I7DPj~Cx{{B#|(U{rI z>`z(JFTK=@CetPrG-%#r=jO6sx@_M~r$-;2323f1SgX2b=F@+Be>BgOSY*U5e~NLB zW^}CC%%G?MiB(IJ78*YPH22hR{-ipIi);3Vo>Y5lonqxG|JaN5kXzTm1=H-KCYHSA z33n`-yOvXW_L;Yz1?TdwyAd_$2Quq7sXpT8t$KbJpZJnQp6vPz|Yg7D^5Q9 z!Fgf%9|NvLvxXZ<6Fu5ie><&Kv3pV5Da#*{MH&V**8c_g?o${(1<_S5j<{R>}ay3M~< z+V{|Nul7X;)4-)##&!=?#W`4Vi`eh9?_6ZJZrh$CrKc7Yu(E7Y;(vIeuhn_wgacd3 z?Bkaxs`h9v?&rP|%v)|hJJT=YTu4Q|P4Ln)CH{ZU+m%QCUwJDkcqPMBe}^Sbj8dh4 zJ^wDS_F1I4`Fkhx^gkXM+uVO|w=v&aTgl|Tt?-ill}U#p6jnVsQ6HV#_<7+Q`R<;Q zj#JCtv!9w~?-QBSnDUOB%b|K{NV593+nZPZd-E$YrPk(8Q3CJTH?J(2Q~th|HT!wb zesf?KPq6gwgV)}%%@m%t@vcSDtv`zkn-=d?oLTI6#5$y==Hl1pv*hx}9!&GKs2?fX{dhd#3zdD~=vTzE?U>*0Mqo)bgg zsjA$t&k|#@j*4Y4StR3sRz5!W*Y)iGEo)Q#qGz-&c^+x`t|tFSPQv6D&YOz2Sm~X4 z=+3uppJ;Oa;eAXzCYv99SX>(a);DBz(0leRnq9(D(`?S%WFwu3CO>p2dsR-AYpp6Q9eRx0%s;BIRJ?ffuu_-%d&3*uUn_#v{=hUjx~K z4Wd6hwmIS6vZ?58+vd-IeYhuBY@3vCdbav>A5+lxCD)?nyEf~rUD}^|V}XNp%wm>0 zQ-f4K@2&luf&4ox{(AloQJ*+R91O? zx?{tv0O!=eCH_~|o?bWcTJ#2)bvsM`bKRY~;3K2op2@fTPwD+xrK+`!|MAv>o+nR# z%4e>>y7JP2rj3vJgOk26-j1kH_;F-qY|&+bQ|6Pm9XiteL^S5=e(%fQ#b0^!9Nn{S zvq#PU_pc85IeqUD`qtuB`PKFJ)sU64H<_2JFPl?pcyY1An||9j+x}}U_*lN+>p9gU zuI2(eolkC9{(9|(gcJcuXSs04Zic_+7INn}&&fY}8vBEDm7V?3nSY*tO36uF^S1G; zmGi~p+CQHke-(Y>;Qye4U4@>_O#83Ao*1@k&e?AU;x7X~_&M)qn|^}PZ+Xt^A6}Jf z-mj}jj9jt&@2Ty6z2TlJLIKwNjeWtyH8tuK4|T?hPdC;9ok%(JIiRQLrT5-QtmY;J&Q+lFaH#*}d$HN+DhE zkK0E5j4{{O-o&%vSl!>QRO4p>VX{;CFR%Ts^YsnmUq$9!Cw-e5V_0~y|Ct}2Qpmdd zUfM}X@h?Yre7(~b#AY^Y3HN5hr;A12oWJ9g6?NuNqVu13@6T16ZJ5W`c~dwj^WGQ5 ze>dNJ^!UYHk!BwCy;Es>XiE2ED-m&j@0~xL_imPCp8nhDr({#YzfXB;y+_jv?j-wh zRYiP_Wsp2195%sJH}zJymEhdEtPkruWP~S8JUT;nljDMu&UVvEq6^-o-_tX6ekq+~ z^I}1B)+Bku=WnC8)$-ce7BCO(QT{!-p`NN;cUiC5iG`X9oRdQVJj5?OraS;mz@ znMs!=g5Q7KH_Q9+uf>;|^Ml=+_I#4dwwx(Y#d3JD^G;Q%OzD-bYxTXK_&n^4ZJexb zx`fAgb3Tuf^wW~%GI?I4m_bS=TF-7e=r?zy#jz>LdJSh%~ewWnzaQ3c0sl98$j)w(y zS8O|immcobS=6ylWVf_LzpC&2rr^ENC$$c}SrL$;6nycvy#dF*Tn6=0zEj(3cHF-w z>7}+uv48vSv>fK|A?IJJDerFbUU6c>iOoe?@xou1Y)<2-JKo$Ut6(qn16>Z2`m$COtyz?MoP~p@m#y_h2X|(lQ?24Mf$E;-e0vkFy+jOD_zST zT=Ee!;ym1#b7TL!E1w+qck{648mwNd=G5~+f6Au4noPOrlJ{;(XNzr#zjYw}sGs^# z?&gl)69Q!#O3t>dt@t!K`She~ziurR{hW2NQ0Qdukr@XI{@n@|+O6*(8zFJ=pwf-I zjP0FIijIc9O3wBbGS}OF_}RIW5@#oET4lZaZJoo@|7%1!ezGt2(0wv#nlnQO_uGjg z-SapS+TT|9svkDf40L>OCpPIo#DDw49mx!FLeo?}*uLD|T@(9wV}R5*wreXt+&oYn zVEFJOtD?;8pVO9Z)tvkMcZ%!z2U=UyPw8hyY+W&D3in4If3wrgZ0jj6kX9dsN#LyZJuq zFh8wojhDSK@06vsHARd(GyX4fxOJxD(hD`~MwXhRHu`I0>I!cZzx|yo5%$Dx zjw#lz;C#U8JK7MsT{-Ei~F8ye?HuF#aJxXd_n-z`*X+HYCIe)R!j$IrM z$5$RYY{N5qe!Gsk=(6036UIFqx94e|_o%d+VAp8Govu3Xlgf%sHqtyr2MWwjt~B~l zKV{w|kF)xWN7Ag$-aO*+(*Ijj@r;gL&z~LUQOr5CO|hRQen&y(tzQKu)eLIg_ac(?!W1F1DXXk&`p}i|-i0&0tTt1EC zlgtX{D3)_o>y9h7EfQI?aL!HU{;Tc_T2%gAeD=(8zm<7-?lEucFkhMblS-?+TVIH* ztbcAP|55$rXK|V8>6`l)pZv+(sa|`)`o_fhUH84G_BAaFF#4@<`rfW*N1Xq=|5c{pQpDsM47V8|$tnFs2r(1~8mIce&Y(rL`=0i_U|H zrhQ)?&p4DcZQ|4Yng?Tk`@RtKtx~$n&opJazl1$^*|QDiE93WGoyl;rXU_klN1nNP z{x}l6g(FtkZ|lFUN0QgA3dy^6V3v#%OYgr@d%oEX)&C5-luPFwkNq^|fXLURTdM26 z-CQ5+*rhJ~Wa~Di-0u%Ia2vc$K77${U2Z|$ydASO4{a*es_@s^u=a>}dbZNxQxj}_ z7VJCDptqgN*=&2=Dqnt`uX)Njbs|R%Id?aTN~GxD_-~f^Rp;l@+?%`W)Nb9WFOmIn z#i)G2ynT*7$>z_4So1f1IXuDSBJcdNtud@Cj(>T*%VT0x;yULA%em@T7*;zk`*7mV zqN2jO6?Tq0#on649ogd5vh(1D7bosNmHX(KwE5GcDYLh|xW)JW%30QZN_x9{`U|J~ zTKmrF`e}N$eE+d728+Wg4t>`)ZY>m-KCs-Y`l@^6*02t~XWQzszpt;lKJlyGBhJWM zmPYr)b2Ib*MHrbTD(ZAFH)kw&@_Zor{E454^+)N<)YEK!HA~W5gP50}FkP6!sX04f z9b??Ib6bw=44d-rlHtN9i4skR>i5O@mliKdn7=UJ&b%@DNYmG)_q>%K7dBdkGaj*D zJk3W{`Fn{LSMljnZw<@hx9qyvnk`>hH!(@H?Lf%!`0#?-`7?z$mexr>v7Z$BGSoWl z^m3QgVM#2B*%IM=a;xSP%?)18?!$VLg#%7jVo$eBV+tycI5esm-3IQhHl)fGgGYpzLe7kbE6q+SUEp#|0jB0T}ij^ zrPIM+e&I_qo0l`BZdf|=-=b-inHw~*VF z$k*a2RtpZh_(z<7^U;$ z{5m{w_EJ;d*@rkT@gH^wdY1O&g6gUh@yyTI*PRylaHw)d;Q5tX<``~0*R%9=zGiB# zw2)MAzU-m2ZK4m1lKekz%FeSpYWi%Mt=NC5>*jr0)1K%*+1)vHi?T_jt(SZfZ(-2K zlPtn34%V{HWYxu&i~l@0 zSx`7vO@7Ku!8==@hdSxN8r`)v2|@ z>t_Yc(3rB%e|lTh{0-^Zg34c6xOsHue_L|#{@oiPQ%V-!ne-zrT zloK3(njRQstv|h8EMvHk*=a?jmQarKL%X59JZ`l&==zTMV|Q-k-F2tm<2S zHB4${(woP>>KT~VFVt;&STpU$gSRKvR{A7d)3Ue8Nc7J!Ivc5WK64w7*q(iRmrj55 z*Krek^I1zi#=b`?D&}ote0;C9b|N*68lts5`%9JtA077;X4& zH{oBf+1Bjv@}F(?{{`N>nXi@Y`tA4Ci1$`gnvRI5I5vvz{;K~bcG~flPwMXugq~da z`xo2HvO|aVeB9^eGA}Vz;)uXfSp$jK)i=-CF7}f%i~aCl>qL!pe4G_W0sDlMOUWxX zOb&2*(~@szW5w`;>K>>w#ocb-_Nzb^m_TncdNhr?QhXc<~*so)<^by zp3UFTasT9UpC4zHpB7GP(b~|E9(K6#-mOT-J^ykp?!Fkkb)RwN)Co(SZ1yNzXH!)_ z|NmN(Q1k*1+a&qwMUKY=FP^S1T9NZQp~hPI<5#)$uWrTs7d}-Mu|eNjLWuA2ro@?- zU;W9naeUd7r8aqD|KmEhj{b^U(Z_ol?37tPUR^12>cJn!b)h_3EMdt_H#h7~oAL43 z<$nooW^9WkIQQHTPS(Bt3X5OJPRLFZ zpCz7^xI=k%*zWz#A3yM`sD3u`NMTx`)^t3-{g2KQqs_M_ItgWjzj1JF5Ko@SH)SPz z{KaVtH@>aBH+AlUH=f$_mc4rXWs21_rWMuiPre8b=1xi2Q8?egQ1MxSXXWKzk-40g z93FdE$fX@&FuH4-IhV(trAdn6a=4#om5{;PHw{S7=0dl zmstmxPTQW}mus5bXHXK;HS+{>z3`O92bHHER9o+z$>cdNc*&VH9%~LSjpv9{P*4AK zCh25c>T!2{hV49NH|F1nJnD5&+{J z;o||WNJZA;<&OM@8+3oiy zH)!Y7?48k#y=NYM6p>bYCve`bbMqIa6*Yfqm#+Hx>H{y=t&>v}--S(@E*o$C>eW`! zvM4=af8~zoxYolC0?o68z8rb@^~TnB+@>+yT0f*`^s%N~-9LY-`%EE?-Ai?@*fezN z8eZ&Ma{Y$0sp1ClP{A! zj7QAO@-MzLE()4k=_qpNr~I9l_nxq=)cyE1HSv2JE8mhRwb}P|u4qLux@%9e>Q|4l zc{YEg*@91kiJl6JK58oTp2)hfQeQZK|3;U!pQE-jZC>iS@$;?FzZ2eUe>Phq!-K7z zC#sI?+2XD@Q_6DtN=v5PI$OW;sNd%!5*>wWGizm>>&l9Bu4hj!*EKlZ`CV(TX144m zg@to9n>`KgGStb(zUW+eey&g!H~-o{7rLY+ueQqEIPk~MJbS&t!oDMQ)278*USm6S z=!~IP`jr=2JOO=n_al7wTd}k~o?F3gtI7Ck>-7C$AErA_;%{GK@J+z@>vsmu9PwwS zm+O>s!>SXCyrN#R?doS?k}3bA9e;E}F@trFWokQ%_L|VgqFGv=3_JTemxuaJ`(S3& zcC_&!WA?Rcu0jmza&`sNC!cn5J!Lmz-I+<88vNgn9+>*%#+H`FoBNsW2Yq4W?kh=O z^Cm?s{EYdum*+mo3TJ#<@hH8xxSGLF@JYOY&s@ob?!_#tKYpoNrTm^P<1t z)UDW-R^L4=eb{YDU(^TfpoI~yxh~7PhjEev%b4cJ-8{PTbg=$frVViSx_13xgx+p}LO=zyHj$?bnvO1ylee0Tz zolm7$tYXjR6m4Iivv`yGYe_4+kS|M0IA3|(s+n zIbd~){99e$l;YhL*Y{`LYzyExRw83zv;4nl=BWoyeso3z7C6nRRC_+*d-r|)r7;Dz zPo~Y#ShASW@@YPAY}oYMH6_j-wXS!hmR{hoo_h53snzR5GfgUr8tcwzukD>A@h@(* z!h>x2U31jjjU#0jpUoBMD-#e{BmSmJLGVVD^;bVDu_f16&HnOuPx>y#8B3Z)c{1V* zEIx)#sZaE%^)eUezw328f9vGF<^B7@r=B^^_4#qof}?jCd}Yi!*0pM-UqMx4gJ1FxNLT+wyeI*VfnK;@_5p9rdh^nLCrCr+s(@(|M%g%>9zdj?Xe{VhDDF<@x zc|Uo-!^H5V%+Yf5Y@1)@y#1ADz;oiyJ+z;5- zRPQTuGw7W5$6f1mVT&2}`5$xo9KSO$p536V!an_ET*2yhFKdJQF1!wDSk9ud%X#&q zGS9zpvzJXh`a#C--1kQh`a-0a<;>bPrObZzON|tp^%dST;@?QgEzs6f$y% z!G{~3KQ^yW_00>ppir8cH*vF{V)8PBDI4b<+dNy|_EMbOj=Hs<>{8*FvEmler&AKWb^CH{-yOsgqTA)# z&#|m{X}d-XJ9Eufb}7A$0TU&sr|*xk=~b2wlHi-Wzu*b?jrc3=cfU)&o~btL`k(x^ z<6Dl$hpT${@T>UbnyLATP0+a-VQse9Ew*I}_cM{0OcjyOw`wa*wh3J0;n*Q_LZ@@{ z=@m5$4L6?iU%yZ*ATFPA?fRSRCoTo3S=^rftjhTEB7V6mlfFuQakJQ*l`L(3D{>9uvL3gI&hf)_OzIrv+{7`xK!@{+-u@XjUdUvDD4$t%2<6YMN z@{GyJg)84h7f&wEck%D3nQ`h$L8+fZNP+EZ$M2b|S07lKFk98!Zy_J^R<4|t{sI$^ z-ch{SerCtvbMgnxnZ?{^&%J3Zz4i;=GvVV~C;DHVXETrgaQjF3vgJP?@}CPaajsga zc&Y8lzI(^6&DUCA@hE(I!~4$;o*IiMSIwxs<~{REX_|FKj0+Rb)5aCk|4kRkwvc>M zaIScvaPzDL@4vd9zxFipT$a7%HP72@pE~^c z_Q~zdlo{RKoTtxQ?5ikwoosmbTaN4G)MFb;Hde{`Z!i~XG6~oull!B7qu;sKgR?J( z&B=N_Z$ek?rLTHn&5L+ECru7~q>`S`CZy4RSa8+(3m?wN-k+iGwM^1%xhlk%8;5Q zEGN9YJkpKJ^1o^w%gWEK`Z65}{1GTYsi%*(^V{sNuG)J~56|_zBdd!?CR6k$NdEe(zC3+Tb@E~NH39)5>9ZIocC582-E(hNeRL8+|le=@zw$PgOW4 zHvM?QWLdqe`%~YqE97jy8nE`A4CBehi)9No*h=13JHI_oi901TtGDywima#i7JuiF z2w$KhTOaVMF?;@o&5OgnUEaGkDoOv*tunPYGI#g?Q{cUQResO2Y!Q2-uVQ9@XD?o^ z;i=>{<;EOdcXz|2Jvp0}J(#p*_jOjM%gt)qLQWl7y@%Q+R|RV&@9emd@n~mQ(9K;X z)@J9$GM9Z|_#1aDF6>WI3HP)qGxNTzx$@M7V={BF^k&w>(9S@nV*AU6lQqbKNT# z%|E_^i z911`6_AEGg`sxoskI*26372ixrY_jD=U!#TMZ@?@S#IV(Z|$1<_~{L)`dCODpcZ zXuEED{MM9bhOv+I8;+PyWuF-k`q|oPds|0p%o42|CMT4{U5q)y9@z*cNbFz#VHtmd zQ~I70YtKtN?NyO5`@mMd*HWEJmp6NR-AxFm;wjNf*S|EKtWx~wVV$r^s-h`Z$y>Zow@!oc5^vto z^(>y7n=RQHVmM_2Z?X$5T9o*57xRLrN9%12wLbT}j|$Bz+fsItqho7KVCg#6S-UUE zKU{kzedEW?inG|5)#BCup8b48Ex$+cm8+IgPDYOz>z@31o8I}}`osJ-LG1RSyQy=F zmIv6MowPtq<@@B)R)y2i`Tv##310Ajo%6DFGT-yRu07jT&sZ9$uK&5-)4FfM-Q6)^ z`bRqz*IqtuHj$y^>>|&%&r7$;bnm<5JIjB&Ma;g(Ct`CqoskWx>FC`tPsk&N`Q!29 z9>?4)VpXJFug41h=hV}*yLvT<`}fQLu8ZGp_#DIdDVezkG#zXMrY zXQ|bnb+2Pft+GAuS)VaEC+Pmp+p$x1EFa(XTEnnS=y%BpgV_bWA)VD~G77U!zO&!3 zZPx<9d6jQ9V>6~^@#(!vEuOfysHH$*bK8NrJlDcHXER)G)%v008MSxq{k0R~(_Hj| zmM+{~FYY4|e^EmHc}mUfd9u8gUR!$d0{sq8o36rm-1()(%a7Uf8>C9kT@5&Q`_#*> zs4wS#eC)kn_`Or%Pu&9FxFao|?em-hXZ=mhiZHTW_A-`pmb!+HNq zFW%eme{1DYeo@=(SJn=fXFZHM(ZHaXr7=s#$+F^jj-vAe**J0gi~L@!OAY$;YSb%3 zx$KRCKdEJX%id~wc_RX}^t$!ul zcKiuCC3+xBf~#wx@ZLG)1&7pD%(|Tyv$r(TzFDV+$K*{07ni-YNv8IBA?=WLzfT<1 zJ6tZo$;m$P=ff!but!;QO=a^F<0~f}iQHcNiO*@;IX)HjJ5N|Z_m9o$K5x3i)~{hj(ar z9X8dI*e{q!8gku@ih63jc&(V=4et}HyVun$WHXD;OmUn%{pY>A*4tF(d-$weu$o0H z`JYDGPQ$r>#s2;}|98Eo|BZb!<@p2sc5L_mapRdwQ?jD#=E#))4_#$vee82#XA8V^ z;=kk76XyQcR#dZ`^fBGFqie3p1!tXkpJlisnI9EP%%2(M+becOeAX1ln<zabs zo|?h%{&aA(%yze(WxrC`9k!SLiQfP1@skW83x^j$?k{Ce*k9A^U@dE5$u?%VZu7u}zgnRi5PZpGj3uMa*RPs|az{MKJUt>)HT*WCSU@}Iu0-?Z18 zC&p4--)|MOd}hR)!wYu(IQjXKi<|w^z4Be()T1Mgu83GVqmXs_?EO=ZJ(~FUv{v&v z^~*e$vM=txcIjEA)B9D^HDpuPyyxJx=RV$R8p88yVYSE#(Zgy>6yw=^51o{(#laMrW_;!g(SlCZ6}BO#kTYICB4- z@&ZA17v?D!+$`UQs$AUtVaC#hUw0*Y-`nwI*Not8J0$K`?aw|X^fkYHf%fXcZuNFS zt}C-<@yZ?-{PN_9boRRw4ao*p|3W|R&RDzTJHrOc&Or9Mzy&#)KkH{mG-w1%d6ci1 zsGD-7?a7w!Ul!yET=bCY5WjV1>8!^|%{yX^o;w&TnBKN!3+l*AVYa@cx{{+#CZngU zPe<;~>zhAMTDtmgI%uTQuyDoIMYU0J(L7xqr+t>Debq@c>wh)>?NYtplY*qZ8wz_` zO%$*F+#IwbZO%Uv4*9EX`p^HweE2%k?dzi3AFdU+s?2y{(mHQ@(P}>FEUl@Z=e$*Q ze{oq~Oy+gfx=ltLofB(*1TNgXY*qc5+p2BsqVt80w>|6X3-3R2P`7^l<2t^Nt6kU1 z8uhB}eX;b;S&ROyhhjvQb{$%|aW|X6y^oWh^yw|qkm70bnSXO@uAYEM^69UBf_1gL ztKC9`u03vfu_oihly8YwwLaB+=lGbquXj?kg-lbPNlcxTW_0evy|b3dWZ%X}_RlR38L(VT6|ra66J zS(z>)|KRNx1%~Ak^@69mEO&qP=_|W6Tk(Z|o%^(^75fa6A0@llNc;YqyEJa!lVwZR zuJga{Wthg*b51;T-};x4&XYH%Zdx|C&++Vrk1_TU5~(RsJC874m|Wa{HS*w|mvdfB z>6rYt*2!{iiCk>qyW;%%nSIF@H0JPWE|1~M;+DQKGk~2td)Es4uTM>GICn28xOMVK zQ?|UlB%j~Z|-nGi`!BUw89RB|!-q*!nbxEz<*v6C=@`y20XPVUi*Q^@rx$mzDXR!nR!3A@aRr1tZ`6TXJ_7v7A1>TAy3t z$8wRwYlL6^cgS3I={MiDHh-Jexx5Sfdc$hZe3=^f{C(32zpqC;Srs~sKBc*zm}kWO zUNztyzd`l$qlffA{<`>W(wv5~Czka}H|I&M3!G5Rd^aWR^?PRDWw$P$67dW5xIX_) z-NEzaeY=l+Fwc@%I{wc+t`;VXX?&P>@|e7e#3USr?x zuh$-md7C$|w3J=nH%GF`VVT+b&D!w~ADXJP_N0U!+57+Giyu6)diAU4WuBZUdAjt6 z#I{cx?7gq@3Ln_6BmTj)ZQFTHhuUrrOLtt9$y&CGE$Zj0v)j~u zJkXWudnNPPr%i;jD*NfWhR~B8v)rwFj@BNkoH{Es>CrNUe#X~x8PX&dw(qM}S-)I$ zDQ`CG-=YTpo0gYO-OH@sdgQQ&XO(H?_W4Z_>b!6FIT*Dl@JIKiB>9D_rp7&yDUh8*=h2mowYx;Uh%UDUl*NIbuK0Bgs!$O zyFtFy`wz)k+YjwZGVoq8(Ie2N_44vtl5t}9j88JLzptnZvJHIn<4l>*pR}zUzY>=6 z&aAPX_g%zbitYP=rO7rvv2I<(0lOxrT6%OHa_8A^QTM|BdR(BZ`-f~X`@NaFRg-Rd zMZUBT@^ASk$yQOir%QilD05=$oR1rJ`~7vF8JV*5aP@^98>6}vga6mJ<=-~B^H;fZ z{np>yks1qH9-O?<_wY>Up3Y}dfs-t=vqP@E*W^s>nU-?iB8Y2_#G=^|@3LgRe)XTK zIek|2eMjY>Px;Fx>|fJq1A~MGx4T=XP?^Lsq#gWlOL>JA+tDdIqQSCF8=D#cyf`3-n_4OCX1YZ@`X#$ebQU$gtIG5 zMQ$}8F5T+;bdUQ_n^{udzH+aq6Z}2F!65kXBwO>f>iQP0)8Dv!FaGPKyER>ZR-o`4 zw#iSAdAyq6U--}QkEWQC;gpOOXAT)n4LWtmYJFeviaDKgID!w&JvxKg|KDYk6_aZ2 zY4bGiU!ZW|rk&ztIqgS1&fTYMw&gNSVC9aHu2XMb`RYc&&+DgSmcBi?ey+%}Z;g$* ztk16-xn&Ay9bjLqd#qY=<;T~@CchSOnf_UP;wSUyto9~p{u{+CdBV=5cz9U;qweMPDZ94L z+^NvIssG=`IR;rLeV_F4EnR%}?WXnFEB~ySY;%ICe96xno<5NQx?aLdiJQl+X*5{&Z(^@&yRvN|j zI)!|4{dqoQ+5!W?P9yd8|K~qsJ)u1(EorgNekQGdVxkw8+`heL-}Q4s-%d=@NdGxS zmFIv)c~R~Dvk4`}rcReNoiw^0N4?0OoBhtxS~$D=B45eA1xn{tejUBBWNGxAx{9mn z;yXCsZO#nbvHY@tYKp-02VGpB4<{ZF?L1~{DfZ=~de0bDxzSz3JvSY}V#r59lIEc*G2y+=0B`q@;o zt7*SLgH?|IMibpEC%5|jlhPy^wmd27=+v7P=JvRLZvt20PpP|0rxheIOxUH>|FTn} z@lm=wvvsz`vJV3HpXcA16*M7I>)Pe1|2FEypPzYRo6MPyH;Q-gEbg2%t!VGbRVNyp z{+(2QDfUDt(tMFm?7o1A`3q*WcJMT|SQDJq~)mc*4qurmsG?5BRQ{b4uxQ*X( zdse!-o5Gv(t?F;>GsMqCC9Ka4`^?SLXr;aEl-T*)MIV?O<}5sZ@T)-hea_mSlk@fV zo3MHRUs}4jEQDvdS9d@~kw^8@c^C7xe^HzD&hE~;d(SkU7K_!sck7C~XP|TJ=6SiW z#%GmzJ1vL)B6nf z(<8G!@+C~qtJ8j#rWAEqQ@M7Je_x<}>fi9En)<5GaVneS=Ni%XxU)>J>QWy)B5 zDA?%p_jR`ST5k9yjW(y%^fZk6jn<@=&XV*Bp&2H6J0wKMM8Dt;$=lKJ9Z_8G>H0@Xal z|0$H2^+=X1Y`fAhL5a=U(Wpb@$FBst!yESPwa-0UUga2{R{H0p^p2oc?~7Wc<|t*C zSp4>V^eWlZyDoonoE5(}*PdFHhRV|qgDqLvm;HL>-1ysZjWeTH!V2}HTaHGK>Pv6b+jo5k&2iI-{iyyuddbXK|BoI5S3}O%3ME;;nz~|7?RK6h`|WR5 zm{dJbV*9*;$Lv|I*|OGY9{g{Vf1Iy-BED5usq47qrhmDY!ae6-4Vv@Wf9afKD`)#U z+j6{|?9G0x_+#Jtk9*|9pZj|A85W%jJ(@l-vugb&*5zjpaIqwuNl#4v@WD_zc2@Ad z*{7agve&AT4|>h6bKvp3n7Xx3gwC}75%pDG5`IIJ`!tVaZjW_G53_o6iihYA|K5*t za-0AA@jMRSyeLRz@(u;&&F`FgCG)sG%1?;lni>|U%^204u=rN(x81r=*R49%{e*F0 z%o(P0ttKaOKFZhTPJGB0Xjl{~C+DhU+`nd#ZQn+_l8R3PlMcUr^rG&_{Kl>QhH_<1 z?>rsc+ZXRsnp$)7xn5EB3ICPtuaEBHUh=qXXN<_AsL4BZ{hrNoZ?dep*0AXc^Wpff z&w1YP)_#nbS~%Hc$}`6KGv8OeoBO@3@_y_Wg>MhnPr1mwV!8j(4oluM?D99ibo^6^ zzrHZVKJVk^&oVdWEviuOj!ZFS5sEz5bJV~pYd)K5-m%it8<_U)kv+w`{=|e2W{-|YG;>B= zd2RNqsI)PHX-3S$RSd4i%eEHUS~{L}2xoPVRmw|r`PDD9Bqo*7<(%M~ZL)^tj1S{u z4|+dflK&EIcJMgQ;oto#6L>zcZgh{l;vMSfu>UvbPKnlU+bgBn&Tt24&v}??DOr~P zu6(xlO7HHJN5@?{OLMRM_;$F^BXH*uo1P!+O%rOiNEL7|W&3dQPHt?8Nx-u}1LYMy zyZ*7*XRiuKN&IpmC900QTIiqi-oI9x_T-6I=*T}2Ui;{A(0hK3%K;3Fc6u1jsc8Ph z`D)#aa>1jOyiU45POK7%?dFpxoEJ4yh(B}ET)*p!wkz{4e&)+0@H8ss0q1+u@A4(r z8(l;4FR-`xRo?tN=~(2eh5nj6pF>Kg>$%K5taGfr{(^LG(r>GWJW?mFYq1&q%{;=W z6K1yjwq?-Y%^O^p8diOs@A`cU55wNKFYfHPUN`mU>fgHqclpQk<-L2{uhK0qbSAx5 zQ(~Lz>6VW_9Xr`%e@ln|)o@%K%6e)3!^PPL=AYT1W5|5jd?&l}G@fqZ#b*+;cKS7( zUN7Dhm8ridT}f$k>gF?=kz30I7Wd2k`>=O{)0%=a29eRv-@I9TT>ryA9WTR;w(74N z!q$2CPo8;m?Z?W`LUw;elxSSM+S87I{#zr5OCf7y#YRU&$` z!{ZnAzEO%%2mN)+-`){Rv%GQ7=skzLUB{lo44ZA*66}hbrf%gtcdb8eSzl)7a+?pA zj(dn!7R=$U51E`VYq95RnM=W6@74Kw4|PulwOujmS}K35dXdcey9@N};x}y;>6Z## zrX@0pXr`c$KXp&HYtS?{|zXWAQEIX3nFC#}J!PULh> z7k$0d!Pr&%{fvN_WnHco{dLz1_RP5w@qWeit&=sq_MLFQveQ3Su<-LGXZ|(GQ`!aZ z1(*x3ntJr-suOO}n*I09e_mJbDthYPXZQZK&vd5N`6*5H?CK{NBc`9%-~Md!m0P|X zM>jBRz4Kk6{S)*OKTJ30pYn)NW?`D?n$leh;-+T{UwJy?{l7NecW26Z z7!;efm+TEc)AVNk?70u6zgtQCbuSecaMH8f>?a;jIIr-)r$k|!q%9YvUrGv}6#p9U z6t_vL*mai6Nw=L_Wkla-t+4xx(?86*VaZXaX?J!@H&3s5l8MsuKQ0L+Dl;RzN{=dN&(Tje z^egsH`oJ0FH}hj;spMI2+AtW>UMUOmNI!T&tPrb29TMC{$Q35Ore`4)8Y z>#d?TXFGeh4G)%A*oWK^d3%fTcjiMIt2wteu0HZ3R-othu2u83*w*W;+!?iPSBPi# z?KQ?xN)PXBJ`k-eV(8>!^K!-~B_5;hO_^a8*9%rcUZ4>$NaL=*PV0rTzda?zm1-7wDY!; zla+SGi`FM7=VDTMED!R6A z;Y4mP=eliWnx{Knr<^#R&As=_Ov9A-I@Px$zXVU`GQRn?rSSNUpksXzw;#A%YOMRo z@~`z-{$G7BCo8>k&6X_B*7|AHU%nsRvLsbH>-@1(<<9TVbxE zH|wwRJI=%RCJ0YkcHHgO&E1fK2iSzdu`sjzA;1r5$km)*6 ze<6V9)v156hVxG?^kngtT;=ol)a*0%$_-23=$_qsTK5Z&a@CQl$;%LYt2qCtUla)I;}cm`I4i2g?H}R7OLAU zs6P3Jv+&23in+l_haYe#&MDH-Zdl6nwmz}DElBn}lz5mqd zYvu}(ObH>i37@8Vp8g)2ZWk{2@QUs11Mfd8eho1Gk#ckSa<$B~PZfXEmOb^GO zPWGzs^cPl_N~?P7zX+`@6j_jWwYt0d#_~_fV$rqio71umnZKXFd;3Mm6!YT7vmp%s zUFXc6ZvtYC%8y9(~~tas14t{0{; zS9Z&&w_iCmx9CstQ}%@-2b3)BZf3sS?|kS&ioqs^_&xJ~X5GnSyLds3(dyQ{H}6h; zkH|{?>b!uZ>+Ib90C4)qBHx0~_g-D+aYA0*Q>yOj|5;!D z{=IShrr*aCa@HR|DoAk}ZdkeUyZ)+PC8gwr7rK_5oA}c_Wi_)0`_ms0Qx+@#w#*YX=JNmRxJ~}+5{rfI-Fw(3e_I>lJg-!m zr@%a8$A9m`?YBRkDVBUZ`N!sfq~1U8_ej@2)=9UV_S>rL>x{|E@5C$$_I)U@bjv>V z*-5hwU;c2oxao)d`gvCsTVHX^msF!p3J2+f!tf|0w+G^k?xz)b?N=P)D-n%QAIb$W$PxL_Sz+I>F?(AcjH~XPn%6B zIX^F>*h6EYqWQ0>xBb<`ro@YX@SmpTe)ms6c3#mWPwSiQT-Mz`qGvAPbZ(DeSr%MW zviM}!9<@iYZIXAEmUdJoXPu*1D>`MEU!o{}nIeduNA6 zZ#r=NZ9%QU>;D^XJ>aQ5sWokldr|DSnQ6B(&)+bMh?ubR7|(~M6dA+50G&GFIS-2T zHi_Pgo;$O?^xwioR~~)VdcA3#qxr4OMB_vX>8Pn;mgd!p6Z#wO@M)TlseXlY7-d z-@cfkcW0CObN$b6M3^J&w&xmT=lLDnxBEnrQNq3BCW^e4H}XELD3H4NH#kUqbLO2V zuI&e|y)oE&xPI+2b%wc*c+Rg|?YDo&_pO|7=bc?%GJB*Yds9V2=^iP)i*?f9&i$E~dOhh`Gxsl#@+7gx z!n=HuCoRu6E0{I$=%=}tcNa)Jej6tHAWXREOjD)$3a2CUw(YRosa^ThTK9Up*WM#W z2Y4p8oobzDkteso)>d?mK#=9s1vC7o<-hkb44)`Gcm94Roqw;6Zfz+28eE#pdw5~p z{0fVs{B4Ic{~Xx)(YA0!Nx{lD3;N$obNTtM-DZ0d_jd)sz?fj;%Xe>>+w9qIb9(v4 zP)GMGiDwSn=l=e*{Nc$J3z_%I9DTUtX4~D1i&SnjR_XY-y<5(4Nyp60{8*4i(ZpZp zyY866dDiaR%J`gTsUN$Lg%PeyY6yf)!o=0v@VJHNdP z>k_%~rEsNj(Mi6a##5}XZe!!r>U8RmUvRDQ=n4DVtS$%pH))(&`jvs3UFO}A7Be~D z5~0AQtaEqyh}mC?STiy0?%4_(N9{z#S;}utJ-TMCxVThSWqHu9r;AJ%7Z zy;v7gwy5?SqpLvo`bNc*RZh*1H_eK4N=okg-`%oQ+H!ie-J&J+DgVy&2>3*;Se`Ta z3funbs*^dPzkdC>+q3-toby}7*lvWXMQ#x~^{T7=#jV$}C$qRx&o8<$Ke2kki<2|n z7|U#Zy+Et=km|O%@@vG831y#R(+V!Lm4)a2GpXBH@{7at zw~Mm!L3#aPRf)otVODvD|96EN`di95o&Oc0<fuB5`_`e**?>_5uFm65(h zXztHo1LKD~+hjNcH_z|?lG$K&(C-PmYKAf2gk_WL?fi{C&Rh8GUTPA@w1&CvP7^lS z-M#%<BOh)w}i6uEuLikY~DD>u6nCSPWn}=iAL@L?Uuq* za-E{mjs+TlJ+IG??HZ?jnbotd-Lq)7bXaqd~B_n-rA$Xv^=GBuF8vc)skat4ys;x z9s5O1H!fg3%NDETUaP&m!oG2jY)ii}Gc@|YResB^AglhvZ0e>bX=Q;j7V~$R|Kkxp z}tq_qjZ zIJP}?H*1w~2E(%X-cxE7)?6rx+3WYZp4H~psi>#&`)wAL{8<{*e7UGub5H6H%P9&> zTuzI%!|#SYy7xt-%8WeUjDTIqW$rYZ~x>wUOZ3Eac_V1`saowo0a8x zdj5uf(RPz$cX0iS`yFPIb9wc~MVswfi^MEGex3F#>jmfevsUXMP>NC?nex-G1 z_5IV;rMtV8=PdpGWa_brwbKsEd#+p7-yW5FcgwlEYvh#n%dd)l5|Yt9G1&2z%Jyw@ z56r!#d%#2`Ak&k@^XKlvH=N7=DDT>oV&KQBQ5Nj$p7s|>zZPDJy)grkiyQ$ z35#A%KgjDfJ?;kgdHuW%Q{pewd0)C(Uhf&P+@-KyhI>cV-tVVk{+NYKJgEPyX4Uk` z8~<1u<;n{OSN*J6=65CAux7ee=jQfj5Bndw%#-==^+nS}TW#h=`!*A0=1=^xGa~DP ze}^x77WPj~{F?0axf#-7sS{?!{p4NQrBfcN*t-A6fop2EQ=8rXuwI?DuyV%p~B^)-Sshr#q_?|7mX7ymYI4iBs-{XU}Zv>)wbSTND0sX2UAB@T*FOHq5tAZ1S0$ zQ2r~b-{EJ! zE(`geKCUR&v-IJ5rRPR${BCnhKC^5~S#(Ui#d>N-vuDG*)02&Q-s~u%t&Wo6Qm^bxX)vGA~ zD?$%i`ZJ0u7dUyB--^BW&_prN;r#VUr}G!deSD)MVJ5z4jY<1FO!@i$9PMu`4_=y{GD%q@+^B1Df6VRZMJ^2f3W0mGqd2FXG~*B1FY|cL%r{p3 zE%G952MaW=S2M62`uY5XwsW0IPfn8HFRHp#!pY#N z5UV=-EaF~^}BVuqK^BXWe+_0Ma8){vMEr2 z!_8@e-j4a772|#@_{==5@$|iSyCwJLDbZ(~tN8+AIIg8ed2eYP}gPxC3+Oi+Q0$uV`je%ZLaQPgxd*X(0TjoSY6 zHn``g3x?8-M@Z{4&@&Y5#-j)l)LtcQ8HNI)#<5Yt`$GiVa7&*~CIW zepgzWRGs2-LNvXWX-A>LgR(Y#m*g7NGm#oo^0=ao%a#Z~wZBoU*T*L;>^oI#{*wbM zGz7PLY_nX;u>7I*-ECvqRdPQO;M=HIRs4wu8k6>nc{zf6uVeP54`wbg^Px=46_uoOuHg$!VO0!khX3T!0ulf0))QSVE zcdLC6TsqBUKZ9m#UCytz_IW&+8W+u5p6P1VJkHO1>9OodggyJ|n=hON#CEpbYIJ;* zdGV*?_ahIN?aXJt88N^3Ti8{P{*O;4edT)drNmfyX_L{vke7LH=FM7uBrvd$Gc!Ub zM{nb=f2p0}ha%M3lp~c=-Ze~fdi?7}X7LC1FF767D*JmljLs)L*-^jt;(z|E*?gxG z?r_WuT7L0#YWVaYy;}EgL}w<6F@!huda1ia^v6GWC-P%aeA4xoOgTmAEsHGk&i&Uu zX%?l+6E9$25j0OXzLiCF)ul7<=B#UP|JnJEoI#mt`1TL-9a^EU7v*oC_NAlswE3jjxz_uqca=@8{c!AVmw{rhnWf#A zoc-T8eQFlA$c2}z+F>Xw@?ci0l|$n4jumzLECWswrhR4gKY1%@$?am!R(0BQj#ZR#FnybN+xGvGpt*{UVms|pOTs)C zev9din-RC6`T5r=KW4p`Qr+SkJMZ`Y(=E9#?`Kx}g)I4z&n#s=kF#;kvx{#s5=Gyv zUuMYIdHQA6rgV$Ir#BDD-e+;C4_Q7t?tEFQ)cN{p*I2&%yS`-VZ{IhHwr>rO?AMM} z3%+nVQ1+oa%Z%t54bJ=z3%!(TqTU5po;A{#@4knG1V#zx<8VeJ#<$bok1h4wL&KpRR0GzH)zV{zU#& zSx1%x={7C+C(d{0SsTlo9=kct^+ngE8=berB-y{eWMi?ML3eJNx#`TOr3^YQr=PrP zoU^U*dU{R4JY$tZuS8oP7X6*<>CZOx&*96;oszGXJ0E|ht@Ho2SfSFUWp0fHPBT9J z%efW2C__8;OVNS!nTm%@Pda~$$;vUo5x%k>zpo{LOpOAYfJ9Q5E01aa_fQ!b|hTX7zI%Z0NiF zCS#|wK-bT=lZ|3xKQoszg8vk;6kTe~H#@9w`Inuh^CO2DQN2n_#P4e^_|bf{%b}e;EWwp` z?^B)VdkLHRlwVlhvo2-b9JTbq&I5dNcL_OacIQecS{tc2_@ukrdQ~k_`>1%?KCYI- zscogo-F2UK@0aw;z4zCl=rS{a>BW{Jzogo%X}FuS8yd z5BIfcI{ddME$ln^jeP<`>#UEPHb^l5)vJg>)Gc(r71jaN%#k5J+q3yD7$6en$7DtEL#zi*!0`eWH| z=f^LuG+0{LdNEndg!Sth-D<~GoD&~?&A7R42EV%K>9UnulY_m^UcT_&)_Jbg#@NeE zZ!gWr_;PE{?)tEGosR{3LU?bObg3MCe>}MGe%FP~Z#r*&U3O#g?H8x3-uD*vthxL1 zNx-u|FN^bkFJ+lu754U`$Ehi$E9CYp((EzW@tTkMb9(2A)nS%j76hM9tgyS{_(I5Q zZ%Nd_4%Ju;l_`o<;8!-I)}es$G9>ms$?@e-59$_C8yess8@n z35*?q9%+}8H>a-@^@-EEy@`9Sf>N%>(vTbcp-)~%KhoCtroK|^yz$H(KYg!E`J%2c zsq%{EO2NPVM$I?wuQ%wCbnJEBx^vZDo7Faj`=`uoI2iQ$;Gg-^d2ghfGq0XHck|NJ zCBaGe+h)9PeYW(s`rge!Tynpbrw0`+SRuH-@#D7Y?8%+VIfc4b1~t27>K4WPD&K#F zyEx&2he)2ir0>cJ^~-&Znr=BZ-@5t0ae0fpk~O8}-V!?%To+hM32PtK^33>uR*ju? z`f00w#zju9)xF2Rt(!H^#J2cn(f28C)tlwj7C%qAIbXQwxqklRH*uFGFAH8fZC1(k z^o1wytjNm(IkO*MyB?gqyRn2xXI<`5^+KCeFM|d7pJy8Q`Xyex{9tK_%$v8jj56=^ za&&xQJaA%zLHqL=%!YzlPI|ApzaG}I{iD<*)AuAdH1;p{)2ZXd^phcak*A- zq}6ii&&|?`YDZpJ8zi{i+_AuHe)*a8JP#Uq#@UP4k0Jr~MP&-c^`xEs=8KwDK-> z$#mA!Idgv~@%(9gB>C{`gH2!WES#P6R^}Fi+wJtjyH2a_wflVMY6iED;?rmOtqD1e zax2^7H|QA){e8;96z^f@7`(T%xXIIbfxDs#^PBziHt+<wpHLRKm0OsYg;SRiz}wRs5VvA7w z^;TH@&GPJ)D27_;ukL)`10KC;7GhJ7^S)h_wrg?Z86@CT2AioaU3JIX zELxyP%zfs$b_KJwncwPv#Z0#gG%&I{T+}^Dh{fQ`p4&m;IiAC-e-a$BJ~0`X9+`3Df z(>8qjG*RVkkmiEdWsA-Fr7ne`6mzp|;fDt3T~r)W@M~TzKx-Ise4Hk&F-4db9?*_^wy) zvA%mUDb`MGy~YkMey^NU5|erlL{GW4beXc@>Ng2pYaEtD@~kggJE3yx+D*5zx2o~7 znf?uYc6w&8yF~w_5D{I=+UB6hyzP4~_*G5TKk#Ie%k9=}k6tr~{XJM5v`0UGRq0-< zBWt{_M`x_}mbZDatKH$OW(?ncgC9#`H%{}_7TLGvW%nXpT5{(47E`JB zoeSEEm)5oZ{!qIkm#J=>tDV*+`v4okw>?+dR$MYP+Iw@Z#2MEQ-g9Pg+p|pP_OkwP zMT>9mopsv`ulfha&-vrItVZKNkxzF`hTfaP3lcHhPdU~;+Uv7h>le2d?=kkXNnNKH zezr_jw>MkN>?(DsbLE8ln)7AfR%x1QoU8eCgQ-f2ns|jz`#a16Rd%*W&x0lXxa_{ye$)`9&AOGc&t_f9$y9 z_Ec0%DoR8%u%q37ca`O|BX1Wp|5;l)&D(6Am&ys#&yo47tQXrYnpIJe5q;8d#aWU0 zUs4WkyELEW@Jj9aDF^?4jLe;RMci5cV`|}>W#7wcPi4yLPuTD6TIRuAbFMLX^COkj zZ5Qpk1i$K?ouI!c;KMgF<(>1&SeuSVeJZQ(NXpc_zIA(U!G5b{8V8G97s|_ori6BH zFTCmNJA>DoCrax2UbEj4vVjkOo}N30YjUD|WJ_hZL*8~FIZgpZb(Vw$8CO62E$EuO zj_1bVW@)=AC;zc)vAx`I>DkjJHjQKaEAlUUl;*s+)y5y1^`^E<;N;ys`co&*xl?Qy zqf@f!&xcOEiBpcB|M}tXDtnJ(3OW}z`?yv=-{+B-lRAAR!;Qm_IzGEp*+_T4aQnk^ z>xwe#q?Z3V&gS!DS`!;Ri&g}mQ8IgZ_uTyKDKq?+>{{pXI(FrYhN}P8hlK)9p7Y{$ zdcZKDdD~^{goB>TU)Y~=JA1hEhPJ9zBE`=8Q${mvT{TkHO$EX2iYsm+f3}&F-)A+ zmiKK->(!Xb6xO9_Q)O>ntIu++w)50Xp1(ZE?uy0JIPJSm5-MBMZf{;xwJdg$^klIR zkCUbQmRQMLPUb7ybo9Qin{ZJ1iz9D}liI5~6TkfBnISx-Lq_n2-20=83gjQ&v)Z_9 zgN>Pje)K}KiLX@>U(F7f+;zqL#>`Tu4gI(5i#1JOb-hWJO4Lr1s=090;E~KOTa)XK zv&1f}{nu95%ziYOIo_^ma`ei)e}&Tpl+*+pjW!x=wS9J6N8@q)!apZZxNWE`U=^&` zp#HGQ|4YgvoAfJ292YDEPFUPDXT8@V9PT2>lQGfHI`8d!8_V!Rc%%-r0tEvs;W#{y^RNQwP712?Ozo78f$ z{=s^wL-SYcUt^}b?!M{Q6B*({9pc{V{#mcCid$Hcm2{hv&6vrt;dyL z1z6{NZR{%f&Zgx1L&Gyqj=>>cwQBjHRS$z6&CF?(d)xHyjCtBdFBj3e;@5oP@z+!q z1@HW_X~F*m2bylPEH`+XnGu|J=4rjdns}ziD~s=LJ~Yv_;NzTctCbecldHNU*gm6U ze!>@(uam>FMZH{(`poKhcI5}B zS6z6R^;y5g|3cmK)`^veygWJAJw0y!rMV{gL&B`!?_uU!(|d(K`B-1i`nF$!&`O zVqpGtamB-}cTV;kY%Oo@J*&solwQ^XAfKek`EZ@j8(q6nxery{o^|-pUJmusQ&mLzWwH#~e9Z%Y7_B(`^GVyK zpEJ5Q?Kv!P@A6u&{Vpb#B3XCrTo}cc!*WpWdc=7yWiQ);#rB#(>hlgH^eHoIYXna^ z8PZ}HeL31{#o-O%LhDQ#f62VGnLNMhw$69&byH`aR_k-V)bY;lf4X4px<~4~ucjPj zz7aidt)OY3rE%kvO%{b`f7}ynJUQXS((sLD?`r*@t8TUmoSh2V~At&)U<-{=`r!y9=yJoMQ5j7(|#v;>; z`2pL5^`?hv+Kn;=X7yfRTXH0P)7!V@8Sz_ZCMT?!DS0i@?xd!EOW3|C(JPN`S|g^a zW4Qmm*UV!})r8Nay>@N6cF%j$%`FNmqW1lNW|8uJ_3gdM+jm}5IlMBspsMB8s@He6 z-SK71I9KzwWVy=H7a~W5y{^sZc2kPoeSo#j_=)xUcj8wM_M`{S%zd};U-#Dw>zKkC zRd_k8et)Ptk#I@hcT?(>h7*5F=6b~MTKPfX)4nNztxM0G_sW%ysXk@@`Ox-%+qb=0 zcJGIe4bPDSGb66oJT`AzcK5E{EP=c?n>coDH&66&o%3DpCi_O06U@B%zkZyX&la@P zfkS?yh4mIU_3zwQy``Ui?p=PDwO&=3cRiHOttS zNO)gdDavQ?`H9K8@-WNgr4pOsQkcJ8x)6Ql$K1|KX?`cvSo|5dwpQ4(RmAhxJxR*H zcs^9~6k~_urfhxPGtnW6-vrZU&f&J+pJk|T@MA{z;l;ay)u+x9d>(V=u%}VYvyi(X z*7KUG3e0#~BId7uHYuS^VxHNhP7xl3*M0`}FKbsQPdyjE?V0D=w!EuyBEMPl(zFk3 z=36GeMB*gN_k|&QpBVpTnbytJa8_aQi(RUVj+dU`JaO-*O@gmPPP5&F+dM*YDf>Hq z{$YK3tu*Dwa--?GiZVe8m0BeRPrrLz6FqKVx5Htdto}2uJPeRu4+_ca3 z3zn+?58}-$-I>_A*C_GB`UfnQJFE@XZOXI=u@1j|V^306CF4)UTA^p_Rpfh)XtF-L zUf8c;=WV!R{q9fiW^>42oGOx57VgsWc|D&>=?usBe&?>=5ReoQBC&D%8f z^J}k*+f5WEo#-<8yVjjEhEB!SzL)$jd@k5JIsW`~A-GC$>xN}Io^#!n z2k&MN-j`tmF2HjP(72ZwoS0)igcNM##xO{{GI!?)8ns8XE{n_D{RtKdZ0On(SH8_h^lZS(O%P;FWxj5t;{jqd;0aG zZAld>-??iLKbXMVWog>FPai()Mqw zQ8xeh&dnhn;oN;>O`6&!DpLK`Ea4rfIJMqc&x@ylw3BOr)G*;c%Z4y&2 zb-Vu&+p-5eb`_sbc>esS`oG(giS1_!+1B(;b+|UNSFVN^8|y1 zhThWtNY!AfEd9})CUEvPSvkt%3 zdx}rC_lk(yRB?3rgq=rXe&v{ly2!ZMIA*DZ>nvtHw^hpLzAkyxFzGi3)9i~UxS4NsyQ~nEV_m_r-zFv~%_6Th zC|dPP+=X3X$!nJWpUkJp)lPtDVw6%G}cbA?>dnb;3~5vLsIW;o80z{*0;<1-q^0$ zQE`;NWNGu9pA31m6X2))`z&ci3woT#0yrxW!63YB*ot9+-XDUId9H-J>R=! zPT*HL>q95zPTgFbKBMu?ilnLACUX_7TkUQ&$*bw*r|lQ-xy%dYd;TI;H>Bqvr^DGc z=Zp1?tMX>0-2TM8ed6nYw%shJ|DHCFY4UZmK6FFb#P6}h)f}agP27ThYNB5c=;;1A zb3NXq*Ylpf5!=g~IUXBAug!M#UAp{AxKNP8_M`IiqbJRft-L(z&}$!_#+mh;JQgb! zhy2$4_H}dW%Cpkto@VdvFqlnVuGP(!H{;<3|CRm)oqB@*u2mSlS~o#^`q!BznZ|Q= zUx{bgR$VB~67)`H)1#U*>g)YB7KzH`UTV9W^=r)(#db?c0bO6^$II_4+=@Q2qQ~z} zV%9QeXYPmI%~MOyeACijacQ1=*aS}Zdk%_=uV*jG7Bfx>E1V-gN%O>O>&aiEzT_=r zoVPkhkda4lnb5bdn}2oA+ibG4>age?QMCsm_jIN|DKe1bN>a95S$*B=zWG(Q|JTIp zdL0)AUi&=JDA>z#XQ!P(y;9t=lHBD1262XW|7R~AMmA3RtE|YBk zq*-6Ay6@(=Np)Jv<%@0>ALZ?q7I7tIR2desH=o_9>+gCv%Zm~svp85AGv^f+ezN1e7^~t;^SrwEtWqJUI-Ze?50$CwX4gY@S zDIapzJkakDh&rjVnlWyM&}ozFGg`xp-@N2{6W!2#F7&LwK&V7P!NLubiufm)@~PXe z&;P%*aY^s2?!9{pPCUsgoUwV6e@aN8y8fQ}_nVcU>v-LncI{EGS^2x|-~R+on zVl>NSDzn=i#jBgoZ+|nt;=oCR`CXet>~#5Wo;7(e!+i1Dr@i9K#KYzqculKz+`O2r zXyYNr?n(N;75Yv!J9dZPdj0d=12>Q2)OALEy>=2M+vdDF{f#-6>Fv}R{DODItA*BX z53fAF(3C+m>|3OE$jh(OYi8zL**nM1J^IqCU!py$U-2JUW3sTpY(i?yRjYZHGi}ao zoR`F@dhw-$bf3A6_HB#HH>Vv8XgH)DoUBq2_?aWEVZDfDSl&{v@+&(3XD=vk4$9`R z{oA6OncaWrox6s$XS&RkqIELATMxy$y;`$-LAxTq?$tD5aQOIMz4VK9ns=UbB+tw{qO}euJxzK1_{z_H|X{Iv?h(-DRhatSj%e|6F~?Y{~N0 z4mOu~9YhItiB&n*@gouO4> z%XU3fZTDu|@2fA{y}R-029xx8yItYi76xsfPjB&w*}o64Z*9x?uVBWIq~I`f`-i0~ zpYhak-MifDe6HqI=$+~3t8#ni2+FS4U(Yq^T=JJyhn61P*^{_`;jBHH%HEsX1*Y#> zSGrAOlF;vkL8re3E?NE{Wt+x?sb_U9wwhn|cGmyLci`c+r+cncr+n>cC}fc9F3qd6 zIugLM^g?e@cHFgd&Taau#3xAw-~Q;c@M)+{#OCgnCmx~qp1&#=b`6~8HusEVZg$q> zi76Q~S`#N8I5$hXx$5>60Vd+V%D!S3%@Z}HGj(t&5ZxDo!MErYGLSW!9}kF zFRWu)r6PLOS~J;JA$|Row>PYdrK<1!E8{f1XQ|EhoXv92X4h0r-FMqM%e`8!1^X*7 zH!WE9dT-jQqX%c2dYyQ3@%API4f8*I{FCom9A{mzdR4bUk(GZ2yQJRE@?XY`PhO`a z-piaP^w5E6=Co3+a}PW%O6P6%=qOuzRZk>jj)>4j?+@84eQdt7hR-Iz+q7?j+z|sNr)6)Rx_^sbf8RAc@#dtp*7y9n6<+tXpWG2sdF|2Pl{s5fY#^7KtQ7m3=~HKM{qw8$HD{ReU)jN^(Ed&8 z>V>0js-*>@Ig>bcWNqcSFnQ&^ggr8Q_b&c!5vgj%H&?-{Qv*$GW_?Ou6!0e6Ak-sN9nlU8@Dy*Sml>2!CHRF&%F`?h&a z5lbq4D!(XfQ{iWvF;jl3f8WYWw^l5TTzQWtJ5euhU$H6k{{IXANOA;i`c`mA$x2;v z&s|4%KIJ}xV@z)k#VvVja^T>GmunKFXGR~Wc&C*1vV)^L#`1=j5=Z8ts}hq_=4jCmp z%Za>&Z$A3mc3-%YAw26!$#g$6-uN7`-ql`F3u*dpEK)&ANldltud)PRmEv?;N32+>a~n|0hKDxcr+cKO=r7Z zC*U&8J(^uB)0I*9I8W%Cm8VyokN#S;g1anoCL7b6#0AC-evaR>%EYCdrbgMX6v$${ zakcr;^VNTZ+fO{JoN-UxPOFWxbHf{<-81%x|2(L5JTK)TA-#+;K^~(jE z8}|J^@^$OAC(2uQM|MovAJwz(=9QC|iryVGTJT7_)8Qcdg!!ot4mZun%Q4+{D#SS8 z{+k~LKR$IRs4lE|>}|s2w1@ddOtkUK#fIzm6mxaBl(47z7Oni7cJoKdYuV>6pC3*6 zmSW<&D13QtHUDMHleSJ*9+(Bor9{QNUU@NPZ(#O`lb#-#Pj-Zt*W8jw-+Uq=pYdbl zqX^zKb0bN!0LW zdEW24vwv>I0nhctf1RG(7RtJd)IXaE_^8M zrJXf$`nw0LUpy3*Lvu;8lWwPk)u zKdmX8aY&QvjP^7Y=$stzI(ThGr) zvp-$=W>Tx;p2f?Vk4%nhWh+lysWjhNZ*ool=lNb|Q;HSyH0^F?x7hA3-5ZwBeLBr* zW{5u*-{QlPOa0dDk?Ee2shGLjE$^xU*M*(_+fEuYHF`e3V=>$Lmg=WZv)h+C@UNRG z{{AT+TcrEPf>kG`-ZXe(FQ3k5v9v5^{l#hDSx;5P8+dIE@lw+^h}oXNBHa8gnImj! z!Uf}khso2*SFG0XlDh1^Rl2LSOJs6ZpZn|JjxtN`e&dXJ9t$5^{Pkdntg(E)-hsC# z>X%Qu>;(J%$xdZ|wq3j~dhF%B%(b`D*9Lf;sStk@YG3m9Tb^b~Z&KK7hD`@p4O*nG zZJi%C_x!ghTRzNXt?S-wcCb$J%M)jH{wCR(qI2IzDOdb^l6b&o`R;PvJK^>1TOOX} z^X_=&t3PGVk`F5PY9~}J-#F*0t#GjTyg4z`)#h&y1WgNGldSBG{&r@Y>_`1_G|7}`) zY44vGQPX?XMP9Qc%6!ZFx9_*%@@(zP)tu9A|B7wP>eZ{a)SO|KSm*Xsyiq9WM=q4fSdt->`}>zj;-z!N~lW<;EA&GCd91 z_p5|@FshVGJgl*s&pNT>UE);nGcP7oTkcTcetITo`sR)2au~BZcyoOI`+6u}X34(H z+P!DTLBBcWZj~-&J2zbKKlJL~v`G#RJ?qro*M{zSH(lYp^7ORHnQv6W@(-QqDrj7J zSm^JHUpv3eS$evYp~WuSQ1oM5{hGME%O6i@?@Sl14i$TNN#U;8-uyPf=b}eqHDz`& z**nhMQgg0+XNX;yW}}47rl9RFkEF&p*3>x0&)sFeCa{ z`2TtL+=Fr_+|AlVjj!j=xc6gn@ac2kH{}@F3jJ9jm#S9n=Y2XL)OO6vx!CtSX| zq%b$XU;OF6#d-0IcErfvwD+*8dF!cutS`RL>66y6^EWm=QTV>Xr*N;rbq5tGfsPwu zCpP>&xUuNt$Clq~8Wytm1#jY;q`tM7XVq3;b=4H7gO^1$*D$-S5GY{Ybd@Xpx5lR6 zbEYd_^QzC-{A<@H=8!1AS0=7`5LVoyz-x9^qd7q%Hy>Wh!gy}-65;nd?Lb0)q#>6sl~KD}P)Gp|iLAM3Q7 z*Ui0a+}sJ^p+uAQ>0W=_(R zR<74-3@=#z`1q`E&B@Pqdz!R7oBZfY?kUx$x(9xI&KG1VEaTJ>(2!Yl<9C<+o-&zr z|9qP|%oU%hJG%dp0vT1pyq_fX3%zSOWvuC=e zN=;u1E5G>}L!XUWljpC`abmCjst{JU=6TA>Ev250^{oaTrl*7sOPtk-um6QWOtTn*Ibx*botw9 z6_!_)XDzBV=<1xaLX6u?+fs(FNaFt7*as)>#O~Xo=xFoz=i^;MJ9+fB7|jYkG2z9V z&s(JvlooYAKb$k+)rBp_zRNPCD|WMJUdoRwarvrz{-*AedF!9+B}NLI)+j%m`*2Bx z&>sWFfaPXQbC)uGTYKQw*$>L!%};A6_)XjGJ7=SFXs5ph|JSv5+qn#SK2K7-;k)_` zliK#Xn_hgZQQm3k_q1I#TQ6mQO{RPE*Xt8s+-+i^}+-;qoHK9V6B)2>>V&L4PaXfvPJ8=G zCy?pJ#W{1bWtLvwG)+9F=1BUi#*Jqjxn8aaJtX!#bYJYr-M%qPWxCn>Cto_+x${ZX zzR!}cqHd`FR;*20vYUPX=XZxXR~7K)8+_0CE^AS0@$l=+2~K-Ot+v(7Z!_H@?_t-u z%Wz`kw3Q4ujWW%H9|-Yn3(&rI|H;=U>hDrqYlTz}Ufh00a=yTnq$x3q?fzE%zN=JX z_WjuMK0x_8>w|auUaYKNSF1ebjLRvn)K=zndDrR1OV*x!+MeJV{@2}CMBC1uN#gZV zUas^h>_>f)|0={f_`Ew}^yKBOJC`L_Ew`~ccj$%Q`56MABAHfPIUc>}=jl1=OU`x6 zxXf)|qu6`3W&c#?y#*68J?@@d`YDh>Bir7A<;N$+=#_UnrbI}joLBI3Q)Vrnec6X& zzi6jLUSRQBhCrs>=C(>3c%zRle`Pcra^_4Jb`a!%QZO1@I|w|e)g zJ8gN>n#y&HPGogvKI6Y+VRbgg&2WKWo~_1Hs|yyr zUwWoLwBdNLlB4PCCAVi$s^%ZpzPUZ|%6y;7Pp1!Qr+Uo_i0}Gpe)zeD=?~|Nw}h3sp8`{ERGQlHc1hX=U3V8-piNA?9yo`){q^UDTC1anE{t>&;5{S{V1oA3e5l zMd~`o%l$r$yNn(7lzxbjGMS_?Gwt^t#t9x)t3}jLU9sQaxGQdzaKgu1$4Rw8(**ZxcDPs5E9c06jkAia`TQs?!)&LY0GqNnZsT%Jmv{**VFpOHtk-ADdQ zitg+$0yZC2jH?T7IZfh9VmzDwT(VR!fH%b0>uhwBR`~4wrC!P3|N2O8xvV4I{Y_Ca zU2Q?DW8RfDdm~h?Y^(Z{kiD$mt)b3g)`J>ert;74CNRo|3z!-&P$Pozs^#G%iwE zd-4JM(YmQDbHublPEHAJX?z`=uXH4O|C~}A=G^4E(`P%cIIP|f9Pnr#!nhbVLKasYmL_m_T<2zU|F0yC>NybV@op1$YAy{~MYF?yUoBi~MXB6x#)H_z|P&pX*(8E-F(iPAnP zwsVo0uy59qu(eGmU4r75@yxj*&e3Md7w9?TWX_KN!o3_@_^mZuZ2mB@RXq#}ZZU7= z2&j5o@c!e1oUcdBR|Q^Jt903ovqa|P#KzvPCqZAiI=4y~ikW({~-t@MIMBsTc1p-N7>FjDpvusOlT`ZNFB(=X|wp+AERV z=2rPKpQzg_RvoQ5zB!BGqM3CBZ(iA&f=0f*!943HKgm=mQ>j>9fA+xAh}Y_MHC_9% zdO4-ONrTYPp;v`v1!r=VzY`^;6} zgO_{hYP=KuAG0^G@AUF4_a`4_pN&1^AD&^mpnB59qff-@HG{%d-gw9z{`G&lgt^`F zf7V6vN^b=h`sdwo5a_K8+x4H}wsL$0X&9tzX;^e0g`0&h_4W+d0d6pVX~Z)+prXJ=SuX zS9|A;IV@Gpi8j|aJ3PFoQoX|E)p@2ElV@eDBE~zX#U1%7!E*n!W0OQId#T5hvu^YL zrUq~SqhCzNZxUF-X*wAo8H@BYSBJD;gE zl*T{U%pnw2BeQMKtG_1J>ymZbRa4`aO`rOvM=?gwz$GamZ{E*CKQaYO3dEG!S7>Uh zy{Wst&G(ZQ)0ss{^LEV2e#bG#|K^0uva08LFV{SO$NHJ^T=u4jTe*cPf`9y+-kzVz zD(YI2cxQrl9Lomv|9U?Uo%fx-`RptWxl`-@eN~&bwc~LA+2YBylb00D3Vdw$r1$C5 zBe_e_6ZAC zGVa;@X49z{<1=kvOv+-A_^E((P zu3csCoHgM}NJ8_Oh_^8X`7UZwHx6j$S2RR*H6&XaA5wTOpRujK?BL}$TP~eClx_W` zwEm^5NL%vD(tvhtp2iSi=CfaKJ>%0+<=RrgdEv$?!CfXdCKrV#{O{c-d-l^Dzs2Ro zn@oT3=a?mJYxdn(@Zv%u!;c1w3oNz2rpVsYTyxzidd+3l?7Q}^*^;`!GX+{c?dJ8k zcTvLg&+!=%X0A&%8os@*bftOjXT8a%_LNVFc4gkY^!x(>qa&t*jcl|2&inI^(cxBc z4BxGiW#>E1Hi-RuwPeClx&5clPdr`xzGZ3HJI<})IV(BXcb>_A*;ZZJd4IwAnWfK{ zG}_cTzp78)!IXV#{)QWM(?4I1x$xzV?Si$93-unp^V=o4%G(+^TTn$dZpDryY1dN*>orN)J~) z_<4o5LP`nC+5ZowI@vebZhbhvK<($9($nwtXSuEYm8GfDn6pQg`(H=eWnP7+EzTU3 z4|epY{fX8&_Hea?39n%1=bF8KoRV2S0dN0a%GoO#>^CuPe$4u=zb~iHe%^IrmTK%9 zy(?{-3dEY`*;~d;FW=Z2x^Ia<@%;l%a%XsZjE^n3DLv0}^G<%AyG)%S8+$h8v@E-< zwRduW-)!UUO1kg7Ro^E9=WsKd?_o~+y-w>?|F`nwU z@cmo0=nUZ!p5%<$^jg2IJGLiix3C)dJ4rkYGEg_1l%3SLTl>_@DFW$dQ~#zOz^R zs;H2a(cY6a=Io}F z50j%A);RnwHM}6u@jcAnrrhQGg^Bmx2wgv^-hX%bqPyScE}s2TBGWIfFSM1%-#|~W z`VZgNLkFk+?LU{eWGheCN1bb11Xs;d6Bh1BC_J+Ii2gH{ow{3j0wWpEZCD-h?rGZZ^+depYQ6cWz>!UhS0o>x*>Cr{>0|&0?OiN~yNt&!eCv7naRemC#ysv*fVL z5#t9AFVCKsY<=>==4aCGX011Gw#sD}&)ge#IyP^+?FB{|e%>bOYmcrx@9+H7eow@S zLFIw2-;9ZgjdLHqH83+={%+dk&GQ1=)mc0_`Lx8Q2u?dTca^389ML^fFYV8sQvTL{ z%CVH@pv}75ZF$%7n;z$~4sLUqd?xPC7f#l^bq@;Jmj{0T8$Y>i@`0}}^RGS=yi>Y) zbNKGVR~G)6lT@htJV;`e$|2Lc6Bu;of0({7p6B2{FD>7*vkSKe+*o_V_0vYKtKJ$v zC(8<|2$&=p@U_m{#LclLVP4f*mCeq*=h8Myv(FY0$U3Q9KX3VRp*wFHZc4e|zxiQr z;Opf!J8l(SP+hh9;H9ev4o%&Z{ySXIaNp0+v-$G78>bqsN&dnd^|Nf>%6bQfiF%jk;$fKHI-UagX@zu(XE&SpWvs*X0&pi2!@!MIg zjIG@V(=2DHOKx6M+h^Ng!TLw{A-BB$j^|Gwr7(O5d(BqmXCbHu1n)iJUUYz-h>D`i4K~ zMHQMW+Ao>Sirw7##aKme&cY?nroLt0Kdr>dZ@N<7=k3ZpNBrd8O6?Fo5Ph}$;q7C$ zF0(3lWiEVi@?T`hzRZsn8_y~%U$pa@%}TZ$-!JS!%=|nzW#+La=E)qJy!m4M5ySgy zF3r)MwJJXR{NcIo7Gd)~v-JJof6P+8i>YDCiEdL%=DKP1!E0{0+{sAZ#KEY{oUOVu zhxzw{{`BI!V+-C#GP`sv~}g8qTSkc`c;mp z8&e(c&zi<9W?AZU`P5#uyIj_Oj`O_k@|>>@*G<*&n5Gdp+1)%*!1t^9*!13Hqsz>vO8L|q z?>X}%Rb!z%<1~#U7uY5-B-IopX_bV(viu^;?593Cu5wZ6yyafs_pr}T_z>A-Dtyn3 zq0s0?xKRyfin8XB3CG=SkNMnK=yBG*&~47zEhZj!HT5{ps`0Dt(Qca)BCTOy)D!&f zbYy+p=c~5MdW_$v9%3|*Z1371x9(1w>)yqepUh@TEr@o-SV|#;fhs zGoxs(baqqNJZFJpg}O7=g!jsH98tO)uXm|x+25kes$Wlicwe|i@LI-UanrhOkHaU1 zi3iJmeZFUjzuNru^LT}d#m+qI`gT4|zKyt<|4u6Xx>-jvs znQ7N$|HYn^>)c!YL;0ev=OiJg)$`7B+_&)9H_LLq)SU)i&po*p7Cmb!TYu(+;UP}# zGoS1()V=VHFH67edZ#ikg#GLVrtHelZ?!F5;rc)33(e54o6t3J*`$Yp^C$f|eVRG( zwuzzi_q2}!AG<5^&i(AJQT&x!;o=oj!ErLpy!rRpcXMytJ?s&&pE-fk@SfhD$omhE zG);Q?T2w8BF-+>e@0s@5jU8z-&L3x}&@x(@cK7(J+jsTb(_d(ZB>Nr}skwI5I^nzL z<=2;mPit=0;aIV^;!B&EG%tgv>DzYgD@fADw(=zgni)Kch z=#kSC+19^I6S$q5&c`G5{Y~$6U%vbW(pg^>bD)U&b4#MXDnW~ri9D6ZTr%xvu<2_{dD3)<)zCmOqn4TkYRT^$4$a> zD*s*KsY{*&m;P{+5>NO(b4J7Z>J*hMk=D0d+K-!fOOITbc5d2?@&>mpEhXP0RCYYe z`Mhbm=EZj#g#H9E-z(bMy?6Piscl_8A{RQU-#*%2a3*Q`s-`{9O!ryKJz23L=H@5E zKX#{H${B};?kiYz#DPie^JRwjO`VH0S)RCLm4Eoj^2}(ndCTlI=R;3(U5lP>=4AKO z@!Tv8uiVDtnM)n+#Vp+yk!v%@TQ2$KR++C8*E6}NXC?7fcVEi>Isa}7v*AY7|37B^ z&t6(9vh=4{+FGA5i%9Q$!|5VcOYi*V%$>Paw>qkUzw7dcJ>FH*QpA{F{G22mk>s<{ z(d}sOhj&T-`6oCf|A+6ob$QXZ&x<-+cNVc2*g zPW$9JA?apmf4?WIUzf;i*d5pTcj9Ez5|yU9U1ob5u2d-9-?`jk|G}+4W1^o{&8z7M zUn0Em-YUIU0W(a6Bi>eRt zXn)eZ>@3Jr5OCz2%uUU0M=L6Jmh8G$cGqrQW7Zw6mj%y zzm@XBi_`*x6*FhdymEef!s7i?eiperJ`t7szw-XCFrx%k&v#15|!f3?_>ut@%L0}Dsfu{qU_?K~pU zKdWz^NxW&z@kP(UQ*Gg&=U1-&bw0U-C0#f5#mrgDR|Ygq{?i-3?eDz=o5COejyx&e z_9AAH6w`XndA>VM-}?IcHAP)nC5Q#2t6$Eb~ZYD@{^c8XNNdz3TL^EuC*d zejB%avMc|xRL+_&wN9(nl}mZ!mOcK=)*m;{Fl8<5a2Jthcr#n})8)ID`kW-g)2u$4 zM%A_4+))%a+f|HnorGN6UhP}Lbth}Po2M7m>W3$8*=6dr)k0W1Sk+HI=};qUm*kd* zB5|wd^!pd~7_2^}xA%jj*{{!6*Xt;jwsU6$3MD_Z=k^V`d1}3($sG;#fa(+Lo9vpD z{!Ok74H9#y=~Vk4(_qf2r=`2%_A{ZLxhu}iw7MU^LxrnAK4!AmG)txmrcY}GXP)}5 zcp&pug7n6Q%(K5_`(kU|CKp#VOpw&66P#FgWUsijyoT#G{r^G9QR?)yj@{ECQ=92uHkohn68(ZI{(t{ z-;u{6r4}@8T(=?Rue;aR^A)N&oqG-cr2KjIeBJjSnnqe$uARxu`RnYCmKSYa_L^OM z+t!%*&WA$hZ?u(Juxw-Zf}dZVn%6dLJfY&|_4oDk-C4a}PqwVyD%fQ9BjI2f!zNAX zO)0OJoUmNftCsrXoJX3;#6R9jgY7Ecp=*7jE30Bve%w)K-D#wqa)fzH zmlcEB%Fuc8K5^`exO*KtU3ec}T+1%wSpLJ|-3vb6(_6IOSbFtdy7#;5pJv^a_MInQ z-qBC{p0nbYzt0|B_8nTS@`dYroz_0+70&9AD%IzFCo((RdBzp>{~Hde9yb<_a8HbW z!s0r!KwRNA&y{a6*>lR$4X60oPDv8$KJaRhNL$4F(_gP|yy@(CKt|>$S3rB1nx0c= z#~<;eB^A5FUllhbRR54knACW>@r8U>sc>D2ppr^oo>{}B!rKp+86KND>I!b^-MnMV z*|pVn!f$6BUE5w({rI%m1?}n(_T5tZ)-O(9D51M>`u~&s|5c8p?tOAH{#N$#6--x; z}>-*)$7KIV8C^V4cC@z4s2!mpc9O9M>liyBiX#E=)R+Aii{+={e7Qtn2 zoKNOm+LZRMXNLW+wG z*-U05-tU4#-doH66%xAKo_ z0#oPT(A(^MEn3TP%giT#Hmyi6U7s|iK!0wnooP2a?>lx4>HQWp8y>uVY5!|OMaV8!}IS-N}UkCG7ix+=-JC)Pdd`5~jF(W@Bn3reGAU2HWzw0=q=QIE}8sD-JD5=Z`~Blw`q3o_0{HFXg!&5XNl^jlZ@0CjYd*KM`epyUkyg?TypIX&22po|kT#^fTLOch=Y6 zvwD)9BYYe;wrlU0eWTAU`Hk?rFKO?3p61?adv6`Q$IF!QvCoa4Cj)|o_kLRN(pEGi zYW`&BLkby(JvmmW-H%_$-zQ$+k@`6)%d>t??QfoIJEE6OxSFi|aYD9~-!2QeM#oC# zpWG*&{?aMEd3f>RD)pxx8|SaRpAqD-YFFH!MgC{g4tNAdmbNpz7PV?MFjWnDrV@23 z@<6q3AKRznMjIwaW_sOUX_=_dK5xS5^wzy1rfJ3MBDO_S4~cauCWZ>%WS*e9 zvQ5kyXMLO8th8r`8%8pvOcAZ!IJqh>X=R4|bHCdxtJ4LwP6h|c`dVHU1uT5t(^lhhde&Z|@rkW<6^yC*I;=om9({ z_2lbf#S#grtAU4nybhF4x6x-kI_s-3WJa%E?{o-}v zw#PN5Wrw}!Yh5i6^Q_CPXT!6uZkf~&k!cQ--Yr#MeJ}pr-z&9dZGMZ{?}duKb8VP; zVny_U1@kn5_C0+Uq0N+hOuxjmhZ_t{hD_AvzE{6zWXbl`>D=4Pq@hIah}$Nr-p)Wbl-5~SuZz~ z?|sfXcgpPfYZl04ecb#eq)lqu0zJM@>&o|C3tZ5ArGTe$q2Y%ff#M~W2efV;-SlSi z=dsTGrhIo=y|t(!PKMY#B!x6rEW30I~$ADW@Kz2L{U>#Mh%^gF!v zW%!a^{#AOWSMN4RtoK$sQd!U*w)V01f|v_&k(+{zUq9Wv^J&qApZ#ap4$O1XPy3>= zT>q6r!o&2F?KdrDk12SuZc08gUn=c*=r^YuSyEfSvDHsw*vd1}pYh=v`P4lOHy%1! zxv%^fFxi}K=jHqMZ>GxcmRa&@>%|F=oz>gDFIxSX->5a|bpnsnQv05h5tAM)|J}=E zplkixYnN+{z(d8$9Y+@};G92gv64B@)frOHzN#JR&iNiP?@;^w>k-%gpWk5iA(<_5 z!;}6gzc(D)$US$tw88VE*W&ZeE1lnQb7R@eH@8>Ve7+bs-*S7`cSDX}9V=B%8MeLo zv?$FfZF9ao-J}NGmDj;=+9DY<|{e3&9H8- zf@R66iXboT!0Ddh;*T;N*;Nw~zB8sMZf=__CH?d2IsP>lgr{Y{&78geLr=6-xKZDn zDL)h4P8Z3G6gock=CgCuO>%9%_-tFVd|=M{*){4L6Plj)o!A_{H?!i!q4zOA-vqvk zPGGJVlKdayxp(gOS>o37<)g!{F|!Nq-@b?BC^MYbtKIfX^q`qy=3yoO2$47Y6 zt4u{|AMtp7-qqOD_k`(jbjXR&3%hbw>~n~fsr+ze(d*6^6?&x?-%NcqNnJl>eOWOZ zS5C&(_N{kUd-Xfy{fvw;*zx2IH=9|zQz!%HDXV~!Y-Mf9kX+3XJ*O*4a<1-9nhwONY2;a@Y+j*&s!=PMW{h!?? z$E=+%awVQg5g+I8WGfS)k~Ie(|G}jfZ9l?r9Wp zlaf4=^lFdkn``n+jT=uM`o;6|dasJ1bB@1Imt*v!<(MaQjA9iO^4 zUp~?2S6otO+KdxBCNDBPwRszB)jE@FT*Vj7{%9Q)jR_~leMi|$6VMhs3y%ehjJL4X_*dSGX;<;)3Z=DrEn*Vlve(-V@Vt919kAKFPM+-1J#E=Y><})_Yx3 z$}_t&)swGM_t!JG=d=5Nv2EHMV!(OPEAZ4S&OfWUd8YdHZ@$c|B*vUllvDiWo#@(S zU5huao)cd5;pEjlK5f2?nzzpQ$v?XBCf%`qy@1#byZuY7o}NC?GrRb4#q!SdRXH{N znlFOGG>&;$GEUy5F8nNdt={%OUS697SOc}w+23i_L>}S~-x0GieHX_dyw;g>(&D!;z#F7k2hgM&&FkIkL2_>YLcf@Afa2h+bwzp?sKB*eVqUD3&| z;@$h*3X9Sv`IMx6kVu^`dVYClm-*jnzRkzCE!Zi!+u1!K@$${E$?_{^2Fwz^<_BY%q5lR` zBKLT=O-)vr8=%2bVE%9WvhNiKR^IS+;`L=s@mZxZ|M@hx&8!*0m&<}4uuM)7y>wBs zzx@5{(28ww4##I3t@EC`@d1nN$#t%=b;VsquPhnej-N0-^_u7IpTILN!p|>lV_Sb` zi{qPFEggKN@4O5nH(d33cJV}@pO^nLyCu{+G9x;tAO@)|1RR`R5*Px-la zV)Tt=MtbwQYg3XqJi`h!9J_vKS!KQ4t|@drVM^9BAKO`(Pd=+kM$FHWfAY?TvABXE zO}wJ7tJ(Paxu%s8edjf9w4XHaTxFr;d-#X4PjdUY5G~F}`*s8=OyI76&b8yI`+4UT zFWA;r#@Q%oo|u_ga(!*u#NTWWBjS?!b~<0bV#|F~Gw^o7hoeWjPu_QZqwKh2kz$*$ z*c7`1VlvG#ufJ~m<&w0ZQGMQ($?yL+gnjzhH1*)}HLGeQ*h`njm+tevSM@g0@4f2b zjUG$NgLZGe75DO4$C0ioFUQ^u7kYVHK3saWF(zkwqeDr|x$q-<^`kEE|F_b6lGMky zQ`#lB=7v%F%o)3!1HZ4FUX@W^QaHcQhO3@2i8X{}-RBmoPYQcJFJ4+v^53ys?Er%( z$Ier$u4ZkzReN9|r)|^b$6v1XTWwJ~mE)tBc>06=+Lm8YzokFz6RvUFu&Vy`m84YD zmR_@zqN#@}&EM4W|Gsg|Xq%tVqJPZy{@LX%I$*I(%l`FS)5TkMGwe!?ONyP*t@8SD z>vMmDc57bedONNu6U%&(UT$XS7AUA=mtya)IUS$Av1!gvYvUblXAMrO*hzYXtl7T# zGP9yxPVDaH_PbGcDmSbtZ%^a6%U-x`sZcRS0#UNPnT8)cC>>8?C-J5^kSmRZj z?uX^t+jAr~Z=P*+{?VDjh|aH1_b5fnls70<1%6_Ut(#%x_EDWbYuZ1XEn8=9Do)?%m85^=)-$F=*0Z@xr%v8U zxUuZj6xl=DURc(@n>9C9v-@0t;mK*@cf((GoJh=Crn#f%uBK+m?JoaS-G@(}J%9C? zoX&e=zbCs?GGe2yzBqHinXShB=F+xf;ek32n7?%@6BkO{v_f@M&$q)oWU(%Vs_l>sui- z^*!ftPh0az>i@o3MJmb94QmbhRZ^$quj86z|H`@U#unkYvO|V@+PR!FmJ9rMoPKd# zFZ1FnT*2!9QmS=sv)iVMz82+63XJtx_Vi|u#vECT{l{9r>Du&Yl?gwa5OwgW>%pC+ zQMVR+%-r$CP?p6mvmkf6cWv5t2fxLql-#CADitO7P2m2y@rvC+-SVhKy4S8RtoS8= zH`gjY{??Y7509&yB^Y1w_bud|Uo9-jd*W|UitCPRTT3kK(-!I6T*qT^g_ke>XufuZ z-mGGCjr5s%(QK#h3tV(J$(p}%E!VMGav}BaukD>?VAgF}`_J^{?vPEhudBN~wZG%q zHGN<7+3!Uz)#sQuao@>hTU#>w`_No-lhbmFAs208e?q?To9GvptO2%}L$Mx%;^IbV^b8*+! z4k;PdZ(AQc=$;#Qk%>cS?q)+loqMmMf4Y5(VV%g5_e=ZP!lDaaVnsV59RpUhd9oaA zn^1Gd&97*=W@Ug|f@FEi12>JxtB0~(1dJZkS3552u6ez9&6bA6jRKX+{@nZ(TBjsz z?Iv|PW^0Q>>qCYwOBbmaR*e3yG{;(0^Kg~Vj>#Vdbf3%jJkq^3(Pv6#akS{nXLg5Yyo|8Y z-t2N|+LcI|)!UEl?SA?5+W*k^(N{g?1Y-;)1#kX!;X(4z8hML1E5dr`xp8^0IWk6n z{dF|cqavVf`twf`GcSC-$#g%!%>2+E@xs*FibrvK?6ccdCTJ%HU8%B4+_Piford}Jh^|xp^jg(&aeMa>#$1xL7Vf=?rui0=`qXyxCw7ztf{;J#)OaSDugDd+xxd;I-nOGc+rbroVW#T-*He=EACee+~T#i}^=N%oO+cPv3NU z)uoW*yq{+2nV(>9mdu%-U26U4>-?7Tb%kdVb-qQuDz^|?RcCQJNqkWX;{-1Ut>7)K z>=Xa^Rj0gD=P+BmX@ilZRa5{M&oX_9|I)v#R-Fr;=e$+mDC4i*|8XxSX_s)>zLt7+ zPpMVxPiR$-1nYx=c=o)~~s?VP)E))Y#W^&_y3Z>^AfXc{Esc+T=)M+z~6PgFL(@&7~heS%#w_sXU8<>b`Xn|O?OLxap z%TkYS=>AgNb-&B|cl6`aDhp2@Vw`Se(|GB{GrJrnft&n~cj!!0byF$Z#_zkKjidTwa0h5y}`FPk3bvESImq}6s~G1L2}!FSH=?BIIxEdQQa z5_jY47Qw*x2ajkA>+b$~>G_|FQx{sZy#M7BqUnFzBes8yS&>L=bH=Y=^_^`uil(gi zAh7$4js<^H%<-G5POd#R6FfGF1@-N1Y`?N$y|K4*f#tOv)#qR4D(Z0`JaBW8!o&wG z5vn&DK5}pzIP+h`&GcgY?O0D00OU!@g z`Lx9cCLYsq;pFsOa9s6lsI}o4hYRbzB~0j<5OFKS(TiO!ExJ8_{^S>SR&t&)u~*F% z`Bv_a5BMQxUpKqT|KinpgWN9sY=aGF!=KqGW`zCejlF9Ogc`wcdovzk6%lwtSz}X}zK%i7ds%+i* z#W$y{IFPS<^KH`lREgY9iML6UgF7}`YWHmvnLPXN)V>*kJjW(Km{?wXd1+z5{=|#x z&N4?fN?lG^8-2Rs+rrYaC(B>nbB{8X?X9pYP)gf!CMb!QXK&I!)0cBRW9BcI+_rH- z=4{XYwEbsf%~q`6>h!0_rf<3LHOE7f=4`clbiw8I`#CE9(&c;yl{CITD-+&%(!uAM z+WgiuqrG2v^mq#1Pk(fn=l9nhRf$896`y|caCn~%05m}|GY2aMd)@% z$8eQ(K`%Jo+SE^Z9rSIU_i^?20W02o+;(L7z8;pZYAj}}cHW+=FSYLU&x!4uBu>?P z`reLgPTh3%;4`-6D()}B__sIBt$+7;DvxcdnO!|$NKgf zW$j9-6$_bc=5wCbOuYU{ec_A)K^HzOe7X1@kL;G4)}K=OFYT{ix-7@CcEvUu&UNPg z%kKL3vDJQ>*fmKq?D_r61<{|99hSts=U9IFlgA9zqVlE1g7(D%$#uOG1Wo2myU%^& z@+hzCOo??=pT6Q$x)$W77)uI-5%S*ivZJVa_*`fU8s?--x z%Y-!uSasxgDC!GdC;E54^PYBJXo8#$Qv;v!}Tks(n~_yZgk8 zj*jSrkY{qC&9Xn^`??*!TA5$kD&#(AnqS$^pAR<1HEOH>Iwokg%(VLORE70r^NJ$; zgc2stS^Ld_?Y>FMg|iA}?aN>9KBe)7-$2loJIHKRnB~)qy_aguTjhg3Cy7~HzxiB~ zabEp+t?$@a8QZVxw^Wa_TEzrwIv&sW>+Y|1IIJDxe`RahLe zc;`88j`!ZOuiJvP%u21pWy|Fgj$BtXUop3cyE&*knLi9$oAn~U?XkelB(JX>g@>Km zZ7!zrcpLIYOkL_2YaqYyWoK?u=+n0o4!%6=J-y*VmBwe~Slgw0SIjB%*&6d-eRalW z3D12Z<{}xDuZu$RLUxIX8F1!^9~4vUENr~7+T(RH+pTj?N@}-ruk~vQK0m*7+FQ;$ zJiOC2_>C8}%&%fy#VT=)$I+J7AL2F z+Vaenosko+28Bx-%bQQ1FTZuhIc*!W2FYs^q*weBk*}D>ylwZ2SJnF_%+`Fjq5Eo8 zD*Fs`(Le{SmjD<*%n`&rJN zKqQ6gv`s$=BR2zf|TyNa_W%E?t>)I=4q+~H^YCBH6C2y}a zwb-Th5*@v{A|X8WH@kY5xn(ZIUm=W*G!kDbk0B{fcEN=$j$$XzQ(SORO{ItypQK8be5DXr&nc6TNw7pe-&Tz@h#lPMOeGX81B4n%4x@wbZcbYQqs`lt5?A?*- z^~T9uqLS0wzh?hg6{4jcE8v>Cv+~!YO~+dt=Or5Y<{fp^p2;38y`9}s zZq4!afeigp9?d!*)+nc+DQIyB%4ZRgM-Ut)42oS|^`Pf5B3J+5g8D zX!zwlpRat>;LT!>#erpc^0pPvgmTV3`m*uw)-A1;Ut>%gIz5dpr1(v|S#!}{d;h}H zxxI<`;(g6$o|Zma`PEsjXjyzv;`+BsG`m*#ZLxMa(4t{`JuC+hCCY&;aX zAS-%-78iFfd&kY#t3<@bBNK6mqXkX3Z)tOLiAe{4R~x!Y~a_1NWq zKCK9k5BU=t=J4vR2H$i?bHh~6E8-K( z)-1_clr&@ghvR>fnk6Z$;U4SH$Ns&RkuQHuIP4 zDaVHij={4Zq+3)(a)yQ6IzB<`%B3xQ49bN;@sGC|N8ick*kvqtr(7gqk@t+KATDRA zYg2B_Zw?ew*fXt8ZH}AiS1xHLj?-d|vFCTLFy)ncb#ktd#Uj3i=Ym`x9PJek+~S(| zR%^}2K%3$x4>_|rza8;y@|$ru^n&=lI7Z&Oeuot^#Y}%N`Aa$_Uzj{mc;&u$wMTn` zmTeER*{0)a^PPE#Q_L#X(&dV|LN-qCUB1=KG!B`;>8IW|`(sC?&Y~lX=YKOLmIc}i zn{h8!pFbsF%EApN!vC)Ik@oOQ-r=?7&&exaeO`KHSmk`;ymDvL$32dmB|CSYiTdz! zw#ez31?de^Wq+HGxM+UfA}uF4_4XOoritdKxgsR>&T4l3(6adU=KJO={u85o8PBX* zKJomCE1&l8Rxgh6ylAp)-h>9pA0AAnGt92P-}QZS!HG0;5mBoYPOg=+GfnyIr#+Ms z+dG5t#Lk6RJbR+7KXw+*+_`*(RkQ1Stvh);s}%k&DST9P_v^&>Ys2`{=YNvseYA_y z#5Jq+|0Ag-FXubi8*>S5Ronahnwa+v7Q_0+)1fXOX7*cMdHYkfP?>|V>6pRwr!6aM z>H-g{yz9?YD_`k$@jg%RF3p&ribo|c0t);RbELUGeu&W1=bw2X&TR7DoXt1OZtW_& zF8All^6-a33JXuTWlp?%iAB!g?*S3USugJ_WBGW?b;dsprK1mLEP5k3k+bQAL#ub{ zx{m7S{^x$Ike$21G+|%&uNM=~e)Fr{UwVEbhjiz&J1whC1wIA5uV#HZr*AR~kJ%(I zhh4$!jX4KAvkkPDv+ZYLW16Yj_9F7Q=g(Dj4^vn~E0@kOQ)iu}ZKk1lVyofaAI2w{ z`6Hjs@rz}zJ&?V3*~OSArwmmKIvY2!Pyc)_J;vA|NcVqT=aGIE_ROXi8^qe?|52!U zuf*cI$aeC+3D2LknDWOo_->mmnwXatmg({HlH~hKKi%)^gm3#Ad|mAMo9t4y-*zib z_eG`}=?B$c-MBpdMB~{vi@dh!HFGMIcuM;6=%2Y4;1DFbmV1JNyj1|%676~o9Fm2XB!6#2$?N2rSoYT8WwFTLPzomL88S$4MVstzv_7_8H#hNq^t{)vE0R~L_c||7xFL3#{k3NaQ%Y#p{PJ@NwwkON zf7|&v_cAmbd32)rk7}Xc{_?k9KOb=_<#hi4b7^FNwrs1Nr+ICj-hxf>Expf`UR~Mq zemA?=^rx%qCQI?3dtep9`ng#*~ zj9lhlePg%7_iu`RUE|9=S9Ev8R5z90aS3qK_BgTmk;J{)6S=po7@B{uX!O{tUB7Dd zJyyQq&EeU0O>ZtIEr^b}Q>v#I5@xW@nmIV=XT*bPUJ?bjH@MDPta!$T(NJ)I@a_}G zHRpux(ylu9G{$>!;oQwPH}&qnC#2&$F+fO=?@aK6IU7AbG_3u3d*4%s-{1Wdwp**# zS3KW(^aJD5(<%!tue#p2nQ6!3Lend3`Crc#stU52eHU2BU%LKphF_nm&+kne^S-+4 zzdDqmVbYd!=E2&43rqcP`m1zGEj;_;LC>6!N3(YXs|51jWixKO7d@e~x421twXpsc z3%zzx?`7UU60aYwYx8HV4qR|Z;D(v&k8(5F*UCyg_KQ6A`&APr2>P+jj47Y#`k_Un zZRbtPH#fxQkrWFLYn`Q=kdu5e& z#T85_o43g;Wxb2rced`|`Cpeu}he-|f#_3uL+kD_2>UMyg7DT<-i}eZ@Qfc`${$`Fnt8aF=2b&#=ia0un?RDE7 z_5W(V^#PI*k;pnK( JQj1t$%h3?Cf*x3X3& zS4rrk%)9>Xx*KaE}7A(_n>F#b`I6I zd13zYvufwe+v?EXr&Rwj)8*=!8!PXqx`eNtuKGOarE~J!L)shKdRfh%_m;}OTFKFI zoIBR{L7~E)-BF!ZK}LE%IC=D*+*VA`{UoA(ep-Okmj~yMD=;6gbuqn@x!i90nsv3+ zJAErRJ`hZ9D``&ukh|yTeaD=n-4zX!17g)tbVHq4 zfh?sui+ztsYMxv9!_x8(=b8BRvh32~xsjUl3k3`MA}v;Z{43yRu{^#m_eS8Wme5Uy zTP&;pSsxC)x<1%WsL}H+<70Qu+M1l|bNhZBi|A`#n|e%Dt^LCx^S;uzcdWF<0v}Gx zHObPCcl!`L`ELwo(UgvN*(KIphBv++nk#E^YfGz-w)5h&%d7I|E!)nd?EEeuY0a+S zkg3*zZn~ zvdlGC&av$h6YjeEM=N$4yV1>cNGWTl#jm<gCADero5wCZe2Cm!tX;w!_ z$*tgnnm2qZ7569FwJ)76eso@yPaI3l9h--$g6*x}vVB(nwhj3ntJHJUQqx&rdz{e5 zTKA%D%#MdU-}f(lZusUjr(ffaM6M?nrZH|dv6McdFv;oe8UFaYtIG~9NM61AV2YTM zVFmA`vhG)ZV@%l}A5ebX!W0tp*x$sqaYOoofPeC#@0@xfjVDaoAyinmc*4_83(*R* zPu??4bJR*+#Hh+o&wQNby{n${@cDWd>zC~c3+E)gHhvVcrP}CC`rblWNdteWO&9V4 zL_WRy(ol2JzbqzJnw!^pj#!;~)N0TB(mPA)cJ)4A|0l3p$>yiYjLj2!XK%c;tT#Jq zlhgzEv@>G5dVfyF+pJr->!!Zj)Y?F=eJ7sIxpX0)YX>XKhc}%K&BeagOjdRqf1S%J z|7g3og*{--!&Ip`XGB`jcf_`hMAIk#W*VS7v@E*PH~p?Kga60=Bze*$eojU zdizurMB)xbi@x;ww0vdo|JC=FcLg*Aye^BiVKgvi_-ZsEUecttsz&B_%!9ccZxh~0 z?F%r}yk@yFwc_j@)r147@qNDh{q2_G(%b!i82;E+oIWGla;3g+;nUD-^K3u#6*GNS zd$Q%>)FbvjF(rO$=1o|`a=0&KdMa~Pwd0%guDta|Q%oKRM;?=x*t_+cmxk(;@2Rd~ zLb>JhOy}k4y*_56w>b6F+lh-(E~@WWKf-=kEoY_aq#EXouj_OEiQE*r$gfm0HQIX4UaK^geC~klwqbW3l=(W{<_{UjwJk$Vq4qWA$`-?zdO^yu%^m zW{KcGXCE9rH!-#2$D!jT4;LtKeq+p7Wo&-mK`+0U(NH9gk&M$>}W zJ)R#QoG(7hY<)|>cS&sKtE*|fcb0Xgie(1Z+eHhv$45C9PfkAd@Q#>$&-~YI%1dIJ ztS3b*=b2}H(M`x>8aQ93WN|A+t8q$9yL z$x=LWAOAckeEz23Fq4-&7QIX3OI-d#TucHr4b|MUCRc#1#S;ywi6b>JvGZzfAn=9HxWS zQ8m4W^J;{{94j}R@QO{>t$AwP8t_lUCro7X+1b}7avNMa^O9xJT$Y~g31ZJoCU=TY zeQ`1U;$%OD7l)6;*Gyt--|L*bWO64yjPt7j&M}leW^Ev>zF28j))jW; z^ueUr`o5N5 zmuXjYb(L6gX~?QSBH1Fw9g%B3C@5JzP|NtUn6)76;m7+s-#54VThAzos&>2Po#tgZ zneqAg|63;+_Nc`3ZRK9%+ukp`=-XV+xet$qy=v9x@klYeGP6x<^X?;hrLQ?Unc|+m z+VlQJvrwD5-a-Bw9M4}ceX!1Y{Lc83->t3-4i{hTdA4`T>8U5xf7rO(c9K3YxnWUr z)$&4h9~PyDwJfeuNfTSApUjYSXED;e!lism>GrnhwQiSNS~!*l)xDFLB$LhoNG`{JA^-!#D^!b)X6*LLKgRo;pQP;x8r_&lV-t3!v z_uR@=GIh55bk=ckX9nG$$sp|4Rd|oJ$mOYIP{^w%-E(SAD{ZbXf7Vf==5%69BU}lBl18mNyTEr*SGhpV&A@ zD$*!Gu5bM(i8sn&+jwU-$}!FT8hl6QIahM-?7fpJrkMSnm(4mYyHY6OSk^i}lY9S{ zc$oXnE7ePOxX1tMw7u<%&_68`F8^gZlJF*0&E4>Ei@o)mr}NG#+N%G5sb8|ex_!^Z zowMJxuJJkLWuYKzy!7D`=d_KXTVnTLi_0{bDRE^-@2d%hhuyx_D7Uiv+|O`cx^vl< z2WHo8UtU?Y{p-K;MV>jk+_YwFUa~oU{iE|;1%@9d_|&Xq&9GVfcJ;<5R@L(ayk46{ zdN6zoZef>mZm835&!~71#j{lHQ6S=SBzVpoCXrA6 zOU?+MJ2n0LPTwUaBIRt)4Ai9zswDrkGV(aq?5PkJ{OXt!kjuE)gsQ4W1`5pN3_S^Qk-{1V6o%r~7(F)6BEsCd?iadV2R%V`_ z>V1tT+Tu)N#+l8L;pM(D0xb}yGy1-xi3-EOO<;9stOZ2BDqhu7Tq;$9^hJ%4h>TTPOy zdxq%*@A4Vd$5gq#p7h>&XZMn->r9PHR<8AsD+tt?v+t;8Y0(Ei>HeLE4lCcfU&6dLZu6R!Po_ZQ~Y{=@8X6E&0;+OJ>|jy?aa~N zd%yaN?oZyl&d%xV*cV;_owmgDw1loX*y*pQ#9-IQC@c%+ZHrZWbtu?2$Z-D-ai7p#(Tj2>Jxnzh_*WyD zE!ok!*t_SASiyIZ>n$RFrjoN?1jU-%yfxc-vAgUyF=qa`Tk0j7hA1oULm0J0u9YK3HUF6vNBk<$w)0214 zlkT+gy&pEA@^ah5H4kJiR=j$XW_O1{$K$!o3`q8DVOWzzO;KfXN7B@ zaBb|1O9zUU7tZ%k(0|LMV3rTbPyTiL8rC662r z_4<5!7q3#Hv$>=C2AkM&DeZT?p$=xR%&oXCGjdj5t{wu!&q_4rVOe^PkNvzp_Z^0V9? zY|xv1=bfOLeA3pP_b)gsW~xfPUzYB%$fKrGXIgEP(Bh`;vEP}`CrGwE@!8Eg)#ZS4 zaamXB>WSytW6r$Zcm8SdnORFe-&rBRqqMVj_r?cvMHlWZ%D<-T&GGFsPu9I!>HB}; zwO`KEJST1t`Ese1miU6dkC$fDc4UeiN}1x~6z<&jvnTbYcD~BwNz#R{Y*(#!Fh0}T z^55rJwz2vr0q3{(b|r2-^z?Z3T4AxHMtwCa z_N^B)ePTFMc-rF?7yeBt@vVw3c*E@8#AS78{|;@;bWDl)?)pa)Pt=-( zSF(m0?D%9m-%PP?mxj*st4+MO9!xcjRgsL!DZ8cWGs`|l@YnRogG~ z=N3J%bUjjZ?Ba^WUsVt6?=)%MlHt1X8guu{wdGO)6FOUtOqjZ`lH-J3+^Md{LxL~f zt!EE==yreNDyho#Hk)J~wQz<_I%QWK#w`6I{IybdC_lEvjYdEtlMUGovMDD z$n|g8W0Pugi+A~}JZw3;0@psxDKO56xoP;^yE4D(ByaR=t^8^GSyU$|>&QRz+(XyB2U;*JXKCMZu=e=F0L~yX;<`e9WmU zCfKR@!On8lkB-GD5XH(Wl8B% z)#hKiA*pNs7|5SI&p+?g!5zYHLbDA1WtR8uIx}mZLHaqC_;zNts+T5tFIQ>5LY0cT93B2~tFE?ea>RZ>eYMb$%&fF~SYxdh!r_T+38`>?VS+ci@zw^h^ zdm*1f8%1VFB(KnQaB}{$k)!RtQO?ev%3ZHtTh=Vzw(#jcuFDI}XI=~I*q9)G+j8gJ zD%-?ZvkyirN6+ikKAPXC8#bB2c(zH$o}Us6qxo(%PXBfL>476jf2LiVvp;F)iS&uL zWq4J+&j|09eiZ*mvaRcsjfF_r&Y338rh@Em(pxN&&RG6@@{B>g|Mo+-=Ml@+H!{A7 zcx@VL65CRsp&@vl?TY-*B@R1}?o3SN$`?7``o>*bZQhcy_Y-s0_^+NLRrjRs^(N!O zBO2XCx&gV9d>8sC>}(L0-dTB9z5SGoUCt4|*gb2$bGzqBg`9HQH+}8_gI_l__uOCo zZ^4n~bwz(}d7YiCZZf4Vdy@M$&(q7S0&KEUf=ycPf7+Wg`&|2%74@87CCYDAg*Eqg zbuT{Bkow%h%z5vuQ{ZTYlkYssGA zspdWP2D>&N`4Pe5zUbdQ)%Q6Lj6LBKqZ}6<639)_n8YdGsTBMueBP9wlT{N{@B6a8 z7Za^Xt?TsAsTJMjJ#&I^)A9dKj#tIo7Dk@=++{Q~e%3>okY_t$GjdMMR!fmx=o_$y zGpb+G)Of@GU7I(v`!zT)z4`o-&dh3S%T9NF%kJH!+ja43Mxvd%_Qp2d_X%c? zH5a{5JRI_QMpsm3b4*gkhg}Q8+W2KJ&K9m!xgT`gdzbpkdH1=s7ulCBKA0H2Sj*&Z z-PwsMLeIZXxaRwE_LnsqoP%d7ughF^Z}&;h2ge20xmm50m=WON@hbK5=77*ib{cyV z{(jo*S#n$F%w2)p$6i67*oct%Y@fNzPcrr-I?wp*U#F4AraSHY6QKtWOP}wp$Twg4@4LiZnlcC-hHS>p8dj+yqvx zi4q4tNB?m!YdXLlaZ{dKt6a$TYt6Zq3&x!XrC;mv>~EQ!o<60&Y=XM1`l6L7-qjPA zd|*x3IHN%@wM&+;uZ~_ES^FuO`xwjKshJv2zuek;fVb6A+4c0)&7vDVY-m|8P+(NO#`WFF zTZ{Oo1a_$NPYv_&_ei_9w~cwq+8Jj5&Kz0A$J(+@y;ore?>4h@0$w*a#lMU=7tlV- zsBdP5g=@ej`?D<5p6>b1ed}3^_XMj{u|-7%9$tsG91nW2Id|rigo;C+zoVwltWn%j za+yo&&z&|4?&UXhI5x|*Dc|mRlkg;ms|VpPTX?E_ppDkWZQZTjf@ z)WLC8>CB&=!c0kOU#8yUPWx$d!TPw*Ug5dyjx|S(ue>#!n;=mv=*hh*dWy%lqY;yj zg%@sJ|9{fy^sIM`2^(V$q@KDM9W?XLbA1ujyQ-E;tt`*0e(s(mxo5NMlh%E~?Ymod zZ+-Vu?$=I#Cad~bj|7h1#+h$)PVViP+-AZw$zEvJ5{^Z_?Ls`md=P6mCPFV(i}sBg88ow{Pv(Nd%LDd(qNpJC0@aolb7oA4B`KV`Rs z1MFkx8$HVVtvOZoM#`2n#XZK4g(h#7H8j1oXr9M=g)F@c=e}~WXy%Wyw%gvt>0Mo$ zBVClLllw|3HEo5~2lG|x<=@qPbaov3%#>!N*R9~-vBF<{t>%2!e-CzOt+0PpzttyZ zs%>Yre6WCv{si|NG_%x(fGhyt>tJLiomq%m3KqypgI36L*52mwjitO!zdflC6*V47sOO7nS~ea8TTJi-k}O>oxNqssd+M z`3gTzeD+{bm-<`1=RX%b5@Ijf`D)8a_X^pQ#S_gEL|f91%)GxUZLgxAup)cj^<(q5 zExNB!(deVLbJ^5@HNj^;r8HHYvAwORaP8Lx&pyLV6QuS(+x`5IXTT!gqE98$G!M9o zYC3X1vb{WuhexA$irs_)wrhJ%#xJ_qFXFpZWzAzQNuF8HO1C_%;ODq??Ly#_?E$lt z))r1%<}Dz6?dtKR%n1ekCp!|JK>NBDZ})vZspY^K70YwdsuW)O)I_oxGn;?f9Lt=fRvQQ%;(!%{lh6{p3{R zfJc0Jk4l%ZteJf_w@WiZ^|Oh{+=UB^a*rG<@mH+2-SRrtWncB9yZ2f>qZBhNb1PqF z$Ikon{k7rAsW%emt+HK|>hq&lIbqk@v&Q^MlYQ&WFG$Y{=VL1rWjLR;bJl|otjqho zpO~(iTcVTOP%>xEh0Cq4FC1pc+8$@Bu_mX?1t0zJ+J#+tjx73QdW#}nr$RDBW^WlHh%Qepz-Ff?< zXhWb~%Z0NapKO{`Z^!>5QSzTj^^@rZsm*dnO>>!aGkaePe&T#ICm`|u?>pZrk3Q91 zm9u+>4Wk58>;YTFZ_5kKgmN4#AKFg2dn%{lzR}-jZAM?cxn|cdPpYsrKYV#h)75ZQ z#qS5&%{QsMel>sLhMDz(*Z1gO+Pm_VZ`CKh(>lk~P3{{1xbxRW{KTUt*Ir~A*kwg5 z7P!=W&ygeVc+9 z^?kt94NBiTPVRnf_C)8>iCFJI)3fVVzdh!;rc`T|P@3?(9%irx*Ki*>{}e z+pv9I=J zZ<=#{M)@qiglh+^mo*r_-Ckb%SW)xGM8|r`go~xeS3Ylg7#nN5Gw9-0)!-b9;s~yr z5489tA57XZgD>oBdV9Ob|1jPFMQc?z@d+xzyjL_=wC`8!&rz9o>19yGwjH92-&jP| zeY-!~Gs&q=V9vZrm#nV{9T55IDj}!0bLGy0vJe|LcC*gf(4Q-f1-CK1^l=H_JmaD2 z)Qs${CP$O6$=nN4^-Pj{Hp2>MGpWQBSvACjjo*cJC!ef(8k&6)y9B-T^?>=%~#);>m z?!Nwo4YID8tWKMyxqIrDOzY*HHZ3Lo()>FsCxq3?PdL9RvGL6=Z6U)yC28NfxI>MY z+BWpZcK_P!JH>79E{W}71ry&?y_SlenUnt1zeQEx>6)J6oqzAQhzXVRe12ea*TP!C zZ{kJmunVr~JC^&jpGcU_@af75jl%2OqCK^;+WI zSvgU`vv=JwZivu5X<+E)8-jhnCc?;E!*PW@EavsC2R$IpkjRD8M4 z^Gw-&^7n*iM^0?LmMJ!?GgLr-!KF-p(Fb2e*|U{<3LBi(i=Xa09sR9JFa7d`hl_V` zOZxP%T9w|@4=*?3Nq8RDWcaA>3P&M#H_x`pdvl-ibF!R{;Xk0bXX)i1vwmoWzcjiY zG@)TlW7J9S(pGgh{Tn|e{;6zL(07>ZwdK_H2HWoSS~-iEnWe7&ES$7gv`c4;U$lY3 zKFx)dDr!F>qnUSP7`%Q~5pTX{%1{4AmT`P{eI|;&+_>ex!tEF5!v00JK3p4p@a~t* z68!g7+}Mha85Os2c(U?@1^=}E7W4jk;IX~M52|J@%>7s4^3Q_(IZH$_r-9M$gV%o%QmBh|UU?72lHQtrhpa!93j|fA7CTX=xKfC&q;Z{EA%0 zU;fHA)G70-@V#$4?Yx!4|8e#)2R;0?!a}Y_fu(kJR?3deTm6Lu1#;sbcbw3$s@HYo z4P0_Gzf?N9Uhdi_8Jp{i6fC$SZ3TncJyv~x145QS)-rXDko}t=6_G+0+f!{u)hNSYUAE zreeg0b*3S=dmo+Mc_sQ+j<4(dla^&idEcCSnez3@HO?HHdFnI2#`ry%cCC5yP2=6K zWH@dr)?5%^TDJSl?DC*;L1PZaO&-g4f7r;G)~~Wc*XO6y4(lVblUS|=R3459akCSj z<(*{9xLtJ56|E&c4>v7x^M3Z)G<#mrd4?7jXT~edD|Yhb-7UEG@X4L?^Bn)onx%WH z^Hb+XU;Qh~c9kj4kC~GYr05;)X0P8ncVk=O{EVqQt=pE0a+}||^Lawh?xu&!{Fg=U z3O4=u&vkZ1qS49%_XCO(ULBr(c$#^=;yXRY$R`OMC)n;(~doQJGe^+i((aUY8*V*ih zy>Wi`uIrDy$|pa}a@TAO;Lchrck#Dlnr)D5*Vl}CsfcMXPU`rdujE8j!QLxPBY6Ce@=Wdd0)}?^pz(y_MT>6_i9a_aMkl~YL@L&10dRvd|a*HxB#P-^{wZH&@~ zQdivYe3ik|FhSwogqgo;!tXtju{8Yv1MIGwO=i24=2Z7yc(H%Q>%aLwX0C8;XtUCl*f4Y6 zvJdC}_6Nm(z%v6NA+DKK!k0`XlY9GpmmNn#BrJH7j^Zr)wRoH#e+w!GS z>)Hh!uiI1FB-W&rI0V)zeLHBAH~*|c%SMHAp?z1}0^TRoJ@~ZG{DR9v!9DyHRt1y3 zv%cJ#wWsX>gX*$rZ!L|hWH0rcvkNNWKcbtssl&gT)7eV!?czW0HEwq<`@j~envfH) z$al(yygvP+7}ME_GaTpb?0i|nH2wXZc)pq?XRrP}z4o$KaqX-L=LIJOyqBIl-_68W zpzg!HH19hsuKdiNU)PBJ)SkD@^Zv4R6AzRt$$ruM%XVPpyDK?=`7=H)Wqs3rGsz%x z!D-(;UwO6n@Y{v{h-CJzZSkEpVeK+It;@$-o=?nOw>hibYSGkb5;~XF6tDmOb$0pc zpin`cq~geBzZstKKU&SRZ1s~*9zt4K$5%hGFJ)fMe*UsoSD1C+6r1u?`_pG~QrdugY{Hw_w2(hua79HS09vxE8A^ zEaKlFzxt8-*E7=_*Vz0%`}jFeve#bLH8=T}onhZy@NIcwOx}Z8(-xfHaVP8**WZQd z`&U`t%4hX8Ki2PjnJMGHxmI%E_5BUktQ_?Xzb;wuh<(S?lta$ZJlgelSMTBf^>CT! zJb9si)6%qcUai!4b0OK+UsUg2ohpc%fye?AN^+5P#-%ru2OvU(bQlizaRT=*LpR6j*CA#qxiO_K;q{}8HtOm z1y|KJDfH_#=o)eKbp4Ha+B7}w!;ILvX7h7;f#0*f-R0SRQno8>vVX*c*Jd}}cUL<* z#9aBmh)a4;tI3Hi>m_$~J)g)iSE{e0z3cZ$|92;RS(98C82*3pba4!+o)~qKGr3JB z^l$KHP4Dpe#w&W|o#(xIp7>)*gL1p#c^<2PC!tdXd+&dE(ebGGbBesG-Vx^ydtcwa zGC5duqL}cLJz1CM#kds)trPut+U-Pzqo9mmkL&dO&8lte8(wAl@6Ob7|7$qW?|Np6 z%1%ig;{&RO$`XG2?@aps!$QmAdDLot$2+2(3uoW=WQ~6PVLpS_oul^o;y3ntSWb1d z4tsm^`Fo}ZTMey0PZm1)Xs$}cy`C4piHwc=0)$LxAhE>oSeTc=w{?W)rJ81}4_OE;N8K~jEa+$@v1v!^XmGQYjoqvc#@ z!~V!Xk*+d(ucrp7F>6cSYd8cw^t}Cm|Ip*dH*Hh3#8ytd(01y|51HRi^GW1R1-n0oEC(%w^vYqu%Q2@5=zwlYQ{OVvMONm9GcfxjBI zzkgPoSg-y_@8|`8+syEFS8hJyO=!^V^)zv8irFFdAk#m><(Mqz#(JB+h0J1ff z71f#F+!oGV*mG0u(KPwrxg81})j`@}W^YPVGlQ(2{>r&yRhLq_Rv^gh*W~bX_nNQ# zmA^2_!}qsrjcrLnPh6FG%KAwf3_I#dZya6G!!|Ww%7sabc{JW{^5)nsHqpCyMUH^Y z2YZ8QbEk){-=p_*!EJ^o^KNeMsoG$@W1F1zE{kZb6l?3!*8azV+rOMI5NhJStpB@U zxsq29tMcbdPHyTdYc`90J+Vqf>6@iZ*@JTF5V5zCQ+H>mIXYc^uxw`7?5}$#8lO=! zklwOSX&>()wx_q&XMHrBxpdD-`%^oo`dvuTHk)4IiZ0XvRBwF(6?yvU?Tw1m%8F0RhS$0$UQ?C5_uhA(h zj$IYm#k8vXfW~`+Nk?stT-@IJ_a>W|Lvom`gyO`{)2A4>7VelikMGIk(4Ur}s%!bJ zW7tj0OJ^I%##DOCzdAhCf~jr7;_~)ox3?YLb$7ScJSqP*t#z;eFTeA8Q~&$CH}$a< z>;Lx~$0h3a=PqjxICE^D5<@}vB5&ah`}O3`uhc%{t6vr-9$+|&JNij}#Fz9Bk`gj~ zoCmMjESr2G>DHY&U#D~1{oHU#_@r;%iIV$0*}fT@f8DfcW(ey~l&;^VBVTDSYrW9V z<7TZEHm7zNJ#Jr=C3|g^l|uBR;I@Kt3HCVAk{L@>1*dL3y~D9bc&YkU(~yJ_2Ao0K(G zC5nr8GunKP?!NT?99Oy4Vfp5{>9guT%%09*DKe+U-^=IX!MXb~SXT*$MV#h1mK&P5 zETrS>`IFa5+AqAHC3M?BSe2d8_vmAnoOrER=J%_nXR^qP&E#I=ZNEoyk5@|F+sO+L z1<2}!oo%!&eZyItwD@GXk)Ee#aof~Ch8pV?)*aoOnLcmFtoSphTNiAbbjpwUqW-;) ztAr(Z75yD9q<-7Cct*{ih4G8tO}{eBWRB~kuP;?O#GN*MDPHT!$6BY<#8j^9vtUuu zybtR)B~FcRvWi+6xr}k8ch~Z&tpT6v_CH~|*euzUuOxF~YvrArnmjp8dYSfdoX%hV z@FlS>j;vYd$=x@v{=x4p9A_p?etgCzG=bq%VECTMnKs_X%-#JIb>BZQICE*$ zg}8R%Ef;)NP0f>99mem-;@?E$a?>{k4ioe74KHaos!DNj{l^ znnAmL-^4s_+$ee_`(jJ`-Outl9eOfm+qV5|>QTKf{Qc~Ob*EMqX|xKYN&9>$W`C~w zdG|L~#lP>e_-hpM;_qZdyLl#YroErPq1g5Lik5YrGhcB;2OeXP4cXDYZq&dEGj@cZ-m7xUw7L_Y4{^DTL)$~mLA&&>TYmhkxS{(g|-bGuCP z#}3g2853pH7Ru|#+Z|?>ihdI}e_yn_%bL6MBr0a7HkO|{aarqSG3VqHFJ3rnXYI+@ zxGLiNq@2D7<$dq0kEzrixu|+;%Kf$9)1x>~1+D6ku@LafThpdiu&v8)XMV44T#RIB z_R5!*K5zFbC;vIcSGLYvasHX)?&(g&FB$F1#AFjYVGV@qZ>%J+N{g*lLrRNc;!@`fZop0ee z(x%{2YIWs2-+ui(@mujt1`7jJZa&}p>%qncb9WwT6kXJl>F9a9p)=9?b+2cPTZ^e) zowFeKh152^`Fj-4xHiSK*4~(LFvsNAB|}ACSNG3y&4pW6_I$avy}Ir>`x&0e99{kY zI?dPC$}3DaQ)STWh>)D-JSO?z!CjNbHZ zElW8f>MY3++_f$J#hvAAW8WHI`|@S>m!0dr?A4s79A5oBGKxv^+n$=OJFS25t}D@G z5l@m&$>&|6?0f9fi6ilM_x7_)pJ6if+2^i{vmdfJ6#r12`SU>bHLh7bEvcqii_U!C zczboh^@*FCuD|mA=W)AePoV*Ct@x}MiR8yQdv03Wn`?H=TI5vAV$xsim!^F9o0*PL z^~rnt{x;5h9jxS*&T>*Y^tXX!Mq^stzxi)% z-5yhg?{Z7F?D&@MbNRR1>C3C@QtJIXv-@@(xcS`ngSO5q&HKW;A6}O9n5(@=cH*Vw zo5FS&c?B@f=mKibsaR6A+I^8ofNAxq1m7jJZ?tvzX_t+_|Jwf$bbW_+Fe&}qW2#P?s{Z`NTx9U*;suh;wzU4E@)ms}XmpSLoc7-RqF zg8MGD=TAk}o#prPQf_cj%-DBm^Y7<@Ez4HsnmIHtzI&hh+wYTw6Qr)iZQ(Q&D$U$b zrT?YF(|^5Q{?ymcwPO!fEwoiszQMrA6(;mAx~5uQ{Ou-N(dRPDu1>zNP%|KUa{sFB z5i3t~HNMr_c|kqFb^}MSRK)M2hD(p=xje6x(hyz0)lR%=x5^1MiHU6|V@oTApYB=z zKAm&=(sQ97A8d(BIp`HReL>sF_g6NtCm!Ti?pQIQ!RmeF>Dv)G2VR;_VR;t(r@lMHDM>ia(%`!jE@uLjwPwnm)B3*oY)hVy(zQf+GRC2Ky1v-SHISxsm-bo0Z3;ty}u9JwQW>r;ArvFe+A-(9&9X|rys zH`TWuS(Nxh`O?*d$&W9!7W}`Ml`a~3F<_^qPSH(+Oe6NITlD6L{Wl7qD5vP?YdDkh z(ZnNH&*;A26e!0Zk-7C`h+&-H!}{FGEZY+rXTF*%`hs)i={1=m`d)fxPB&XU{E{1X zW}c6P+8co*m;Xe|9oqd!{l+%+pKC2UB6c;XSmX;=aUDL~Z{E85=C`$s)Yo1rGUOz?n*#9-h zf>#%|T{tG>dOYO8oZ#Y=Gy0_>PF$96-OpY>TcWYbw*0r~Z@#ZfU-awz`_Ff`H2&T8 zSO0ewon9+(h^;#IREnF4L(FV+Z+7a(2mLkM!!l2*=dIy+j)NC$bd|ic zRqrj>J;7u5s;ko9({{aJKK(SK|LPL1uT{?q`BV;+tPUytzGmUu=;^1|?36n8aEF3h zUF6=~2WAyX>rL}&kZ*qbnNPKG4aXemSl90!Y_2VV6ZA|LimuiUU6{I8t*yoALCAuN zDu-|Bj~^_qx;@b+>N0;sQc0=$7uO4sFPe%B^Iz#ID7#Bey4|r#HM53$hHk-{LzV$i z|C;kHmin&W^*m$C)^|aShN4yGug@!N%N9)IvU_kjNj8wL^HyFx$BK;)!Z)^et)JU& zHf4SME^`yn`1e;UDuQlsE<7g6y7}_6lg4WnG+uN4Ayvn_drg3N^;YSpvgtq19^6sn zf6|R}vLa*dmQUPOE`cWxIG&y@@>9#Ufr&3{bqL3)r>8@HJovR`+OZE40+Vj1%*b!l z-jx3T!>$YS&rgpyb9q9Y?zJW#S+|nNt-?a$rnXEE&dFx{Jb18t2V4A$PlC&}f6C5@ zNdEIYMM%GAnvr*}uf)N$e!Z` zu0J<*NyIC$eD3XD^RiYSv6^DHf2PT&0y^$|N|Nk4^ozc)|XbBNERl z?$^xw;qtxycjh!1xdaW*X&ePXU!zwx#Qh4Aj-u)q$rgZ9n*Zk#b%aE1S>3A02RLXTt{B$C2;s zyE}RdorCYcUD&g%@ZFnw`E%Egoj09rwZF!~+wd&89SzpdpC3GTB{ql+Fn@%a4 zuS@K@mcX`o-PM+elbIi<_iZ(sce>U%)3N&D`yUf0{F!>-+D_-Y>*BqSDlIx&?f3fR zxvXRJ668e>Pk8A5+aje$?RV4PkiUCs3p-!={fPXWbM%P6P5RzquH}C>Y`kExq==Je zky{RL?~HY2j#3%EYj!y>zWrw?Y1jXYTVc+Q*B{=^v1>b$v_a_W@%oykPb_smM2>up ztt$$g?vwnsFkn}6*Y!QGrV6fA(dM^GlbBXML43j54g2KZb4-}9fM4F>Ip3n~Z7TaW zt)5h+@#fTgJIe|%Zl z?LYH4-=&-1KJeoHPL;b~gi7<;ZtjTtQ8xY1{1*S1FB+AldOmtwN7g2u_^q08gOT%j z=g}1HM+v9-*8jSn5wYJ@eS^rcUC9QWJ*{zdt`}nE*fkBaCmD9!;hvf$`g(~Q!^1wt zBVS$}7L2l+Q=#^(JnGOz1`QAS=M4O9(Z@Fa=bqzqF89!$pyJ1S^0oQzyjd=5arjw{ zbV*B9(dwH^oKFPSul^8S;>EB(R9k-M&xKz1xYR|a{i)#H{zC3+LfGln+BaNx7<+xo zIj^5u+SdN2FEZwp%>3scUtaaQEWR@;;Cidqp=miiX(AIP-^`ghqw#al&C6}G`4umE zKb$SSe)nBrNfu_MMg7baIM^;)dPT=bhtB``Z5R&D&hm;CH5b($%LuE5o^^-~YbnnOb*v=GWs( z=gw+A_u}W)3odaLQxFI%W3>vGM>X~)jE@OnYF&gj@9$%$J+_VtwQe_oaAE};>+ z(C$e|pXIg!f9q#oP8IE0yylab#5s|T8zvP^Q4~HewCkU2gUtK~9zu43yoC$T8?Su$ z_3flDr&L&-UMwl_I<&W^lvBr7TFz`rkBRPK+uVjiQ;x${nd@$BdisKS{^wfW=POT% zEqT2xs3(}GAfijhzFYmw%_r%mwksS{6wfjRo?a9EaJP%_M3o;*i4V#ZI~N%iDv7>! zU;4vfb#c%Vea|GbQ}=uPV&ycq&XcyE&-pQe;bhnG57lpfFWGc+a`XA{tv716W;EBy zuW!G1B_PNt*5b)HQ%EpEzO;^v$8JM zCOETix>9`m>#IE%rq1ZzySg{*jKP!{Gwrssc^`VnHT&;T_l17T<@2lp1?1f(mkVsj z$m6^7v|6O+mh26;%YsW6Og+vOSvc|jlU?DZj3p^YZmyX9dsdB{ciiPv?!x*Y|GLtE zg!jK$gcmM-wpOEeT5jFNJ?Djml#^`lO^Lp5G5P$;$)Pt%R}FAg~8d79~&+RCR-{upE(I5%1FbS=w4pQk)UpU+=fb-v(=tA)tFSvO9< zE$6&DqvBDHmCdp$`4yMAgVHl+86I9&R=?Ky>?=ca?U&i}4hfk^9}3apobQ+WyiN66 zf5*mnj?3%k_!_D3o_xh%PtWqBH*v>KjOEe%|w_B?u3_p`n0 zbQ*sD(R?APZ0-NP$$A?8Cv+W*zRila2V=1VIzhZd>5ezb4$%u9>s zoVy;#;^eKkK=7;IPUeT#SF7fIUUB|p3e#47b?1!l2{AJd?MyjWbyF~9PMzM&cb9*; zwRM|Z*eS6kA+yV4rB>_g@K(o~OpzSh0%87h3qtFk3EMPsN2xdb-l3>7*D6kR=6mK0 zXMfuj{4*{ain!U`@sYDU%ib*^!!)(=;2X!i9<@`fcQY?fy&^NW@6G*U_1jkaZ5CWe z5nS@nN2@mJgz<5Qg{Kb`B^XX}Yx(fL^YV++J8!;!_HCKz?;qyDEX$WX>FjqrYV>De zcU)Mn)11b2^VV>vN~wt67XP!qaN4ZRuXgUS`t~aG!fTbu57~8i?#}$)mZ!dK!W5>j zX|=~>*F|TnZ#aL^`d7r1ECW6M@=&q6rZP4Mp4IBUxLqN3+f`?+38UuZm6E4UhTUN1 z-01DiBSy7xbb4Sj7O zyh;2(hS+c0n5S%a&Hg$6=elNXDZlcdB*$DCU8U&LZ&o~T{Mgy^d2bhE(@DKK$HmiP z4$j;!K5I_R;m_S|iLOUq`dcuk~e4bA3uIJHEgv#zrZfow{rhEl`HdE+`HaX-kh*`;?aBjaSMdv4*qPq@10aKC;61!HJxJF z^>5Rw4jANYU#qYxY*J;}Y_V$=|5|$%TB-L=W>Jr1PFr5r7xK%pSRnSw#bTS!`uZ6M zUp8{?Ay--=V{X@Cc8BW$%QE!lP2F?t+DQk4^(g|6R&sBXufFu`9qaGA z)9?F+7f#&35awRU`Q7nypjw5E)+93rCPO9B(+3rfUta8Qd_!S@s{iCms~P1EycAPr z`BSV^rFDAS?>R60Dl$86$MnR^s(IkC+PQJnog*10Uc0w#)rwkjuUlx<>XnyfaxeR3 z=NLbwbgtm;u$pr(PKXFwKb+gJaZARsWnY5ZKUQ2iv((aZv4qy;yPNN9d7U1l@&23Z zTGlH?JDxJ{zOYuO?uUqpz=tfRg6);Q*1M;uC|R>`cypOL&z3pl*RHX8UCgXK5Biz9 zyl$M$@_gI%s@dV_9rvg$b!kseumsHiQ#$kX`&(%nCYD;vR{a+Fb?@KEiC2=DxV zt!$el|JCVh`{q51n#E;zK4|@LJ@35W7nyvvoV7{9Gr3hg)@sx;_e8JD^k4HSIX9O5 zR^ObCCXQ_9{)-CRzPev+`d{k`JtssO8tk+^4}8}?9Lsuc6^|`Xdq2~G zx92VNXD#9D=+OG_B2>uoYr*8_eV?}$tq#*{+hF;>;O_6NH3}&z+YVf|vHksihJHH7 zl5fV#9w(>yu&?{rbG6Lwr|ISC9eI8S3O`Nv?@zkYCikB?%Jb>Hb+%btTkdYX$QrTc z^9rN2CYg-i-+Wr}@bL=|#*m8)cYlZ^aD33Xw&mcY(>}pc4}|VT#k>AEy3DVEfhbpq;g)H`t?j+`0Fp-PP|pu;JF*V;onQgH}mfPFL&izPmbMFLO*Z&*lb& zt#dev;|0&U=6x)%%Vzo7=BKcdKlPSErc>9az1HpQ`%{$WHj7uQ##*GNFG>(p+PkaV z{mz;N?83Vo92#wOZ!J<Jdo9!=4S&3g36;EiKTxoi-bj$hEvwi3B zuqM=f(>>s`Ch^$MoCPgBdP`V(KP_MEr+hM8f13RQ$>on<+*F=^!q!7p@|Vfgmn!NT z)Ps{Z1)ZvAvIuP6BOq1xjnDL2@mY?;@dA@qUH*9Hch$f4t6{c9H61Yzo+fQu${lg= z!YY}+tOb`o|66}K;gQVAXSp}uEBz6x+EH}Az|$kIe7Tr_yi4BEQj3-#u9^e)^m0>w zGx;+U)C^wlHMt!Y%QTEIb+Jwlm0c%({FD#jc&A=9}yDqc75u> z^kd3(mp16WzP?eVXK&Zery)$54*y=QZ+?B@_+hr7waTX%9%#$h-QR7$x0FXE^XhJ{ z$NpZiTWbZstr7g7a%4SsZq=i=UelI~^39aWd39|5?Xu`2o2Hk_oy;^Y&wP<-K7Yx& zk84)nso)&F(=YKlNwPKP!Pwe_>C5dnsU)92IcpD&uC^Jw-e!N|2+KR!{HEaCHcdjHnWN6|~u6}Wa9{8{PkHCJfrKZpM^ z8Q;{hk9#psc6N&V@S|f(a@w-JJ932?Uod`gEv-0v|8vua$TxpDidHWEq-U6uz4Bqe z^^QlS(>)&i`sl>*_f~JGYuZeQRp$F|1WfEPNXeNbaPF+eF$wO=zM}=?( z^Z!m6#U6`mlFo}1UrY_1u6w@h)GhI)o$<{HX3y%>Exnzpo91_4)7jB_b>Uwq>K3&HY z+t2bzpYLR+ zvQwpe?iwc*=iN2?jva~$S8JQWU8Fi|dB*eF=7pP${hgJ9SvQR-c$I z-@{SXa3$LM)vb{3@E0Z)%r|$MY!Hw*Iy5IsBVz<2L2m7NbCB~?y4 zFUO&IFU)o6zt0P}dOow<%2ao(4xI4hb9YCi?#msbd<~~QUD~biAg#6UL8Q(^VT+S< zuD$qvVvCQ{?S-~qF4e40{igP*kIkyzd&$Zvd6}?279i@#agB#=p+1Os-{}`0V3@ zxX@1#^NjP#BEqX#H?~Iydn`XveQDj-1=ly}bImaRYWb9RmZ?o|OttnGS(j_O7Eff6 zo#i>>!@f0}|E#=x^3Xj|kEoB~TgnfVaJ3!2km=IK*u#7K@49)hC2SKfN##wsBH_^_ zU(9{%I%CWV(ewU0ylsWnIUMxW{&Sqy;Pu>^PoHDfII{@9lloO^HSzqa)@-HM(&zZs zm-F&*ANJO{IH{&FFH7R~$pNgx*1oobsGDEFT>D7-pZ(RMKV9qOc_L*#GzqCY(Ns-;{UfYYm_9*QsW(nb{ zT(@ph$g;`H`t{rNkA0Z=`SAjUdx~u*iu{@6cf9WE|0B+@x=K@gi}Jf8S6C;VzO!Q0 zzAINgulF^*75Q4wZnCWIk=%^hj$==YJpWrCKIB@$^2tJfx|D}h3Dfkus?qa99IvPw z*)J%5%cRfa`|INLwN4fDmmhk+$-1*I?1*uD%LC2X56`x!*ggq<8aBhCK2_f5xc<6) zow?^~zc2L6T9xkV-dP*|aN6ffNe2}wbMvo=tj~;`|3=m3czH_oy1+OO#^n7SF&WwI%adOQR-9MXg+GVgIZz-^=X$+IUlg$-7FbOT3ofpDBBf>GUSex1SFR z*=<+ryb;WH^X`8^q199OD(@&?`C4D)LjK$jTPJ?HnyJQ_Qsh*9uTEmos|&45f6uSk zpZW6QHD-Yin_5yelD}{KIh!ZdYPsF^U$=fRH_4pZ89smJBf)5khkV7Wg0eO~@UD_Q zziz_`zlT3weJl?C{CdvD^ONRW=Ifny*S8>Wfy;wUou9-uM@26)uDPZ6|Jpj=E7MMK zGzu!+ZsvYFwS3Qo+@P=0nilbApM^g3?=(_(aGSe5jrGW_^|wok{}|XE`8sE&^kZh( zt#^dx_0Dg3p{|l|-=)7|;)F!AlWW$9X{9ZH{BfrF<5|u(WOpYTeA-bac&**A+H6wl zMrB9&>=)0cF^Pnxgi0R@U3z%3sn3?zb(!q~!sXwOpELb>xONrm9~FbbUeEO&%hS7C z->Rq-@v#+hpI;jNyMN1k`3H-gboTiv9r@=s1Ij+ndDZJzxf&!|k*TU^(g&1xl%#JH5%3%7rjJlx-5z2o8ANUq=3*1o>6 zpBxvSlsfz7V}W?q9Y*7?rbdDtk4}kjaeR|mW;JQrEj=ZnS#49_iOlla-pp`H?7-XV z>+z2yo-cWGHBxh59!C%J#wYq*S3g`5|KOXxF~U7JF6_3g-Ob|4XPcKdnST@1Nb@j# z!;N@HFf{nF3Bu0%j?#b z37gB`smb#A8FzCvYp(xLTe+fL^Iz|*RQ_*UA9byfm->wuifmkJ+xR zb7`8Z8?)`6P3qn&H{Q8id=mL)MyH?Fienc7%$Az%PFg19*2G=WXcVfyYVFlIrHf~k zzvDk?;8$%i!`9VALiCK$Nu3>Pokw$C_;nWBYy#OVv%g19!i>!*2P%?2Y1- zd0#J_e&24?lrSS~Qr$I&hmU@qstmvO{c`=|bimQJ9#QHtUCij_p>z8y+n-HAwxVF7mvZRq) zaGm_krqd{+J*e^UGQxiim}t^81syt(+~l!@mw74919<%F#+H!O7Y|C7G{ z$I;rNud_d$>ex}0!}PJlrs(6GSD9-r?T`=Q|C1}h-`!v?&itJx!rQaB-tOo}-UqiT z=lXw0*fHt-^exv-ywdh1yw6QD7O3v)(Nj9dlb*QhZ`H{slRxJi?u~5oU3UH(7fWQ{ zvp-u?8oUh!PygJkmNnmGo`H%m^YgWT)9*&6sr7NNi<~$Aw>Ly4{)c$;rB8lAl?B_Y zCeG5i82@d@hxvSh&Al(OpHy0O*DQE&HK+9YjRRr^pHnoLSael} zv*-1y&sWYph8`Goq?O1#D z{f;?TFEJfze9E@uXqwpT=#8`1ynQhxrq(w6_zIz;W-v4|~!P3=}*3JF2eAyiP|Jj!==PvJCwzX3I0z1FFOqiwOp{IGNzHHT< zuVYv2C|-I^Sn-esq< zl&xWlt0=Z(c^9u4DK1_j@}Sdssou0#Wp+oSjdE1_POM2jR9r1y-{hAzw|;Y1P*Uv2 zYZ66Ie2>jOStstiYsb=A?#rjjE6ugJT|58gx5))hh4R8y#N9KPWw?By+_$%x>y=o3 z>Qs2nJ-xE4Zi*QDeTyX9HSt_*X4_Y6o|t(2L-gyMXA(1o(_Ih89jInrn05N(wf6@v z{=BrQkEe6pT<+(uEoDExv7V8BMX-jQJLbvCa6w7Oz_6=$C&!`k+hrPod@ zXpzb`dw!!Lyr1fHyl?HU7HfZKmAZ9DOfPr3ZR{blXKmtV z%6FzO|DbV5v;JK4?^i2$CGwIBEZMsDRV?3P?S3)IfMZ|T{+bmm>U+-BK3?=>_Nsez zi&`&#fBL)SqPCRxt7$x(3gJr}6LmaSZJ#pr(&`IytiCz;9WQz? zzguluwH(WCnP``)AjO*FsT>B=9bI%Do_Z-Nv2x1kUB@4uyTUf{Rt4Mg>qhfh7Fg_l zYr3=Pn$`{LMQS2vb7u1G&+N^t^!adj{;OK`m8)L!O>FmNHF>ivZ>nlaWSH7>`vT@0 zq5dM*A3d!0F}nP)l&?QyT>#PSKDK6Z->oemE|JsFn+21a` zAu!W-N#*M-exZwsbu0?^3*0pu-Y;IVB5dOUA(np)kK1D!k|NSBKC-xC^8a7j4O5q+ zl?7sY5z2ad|EtVTXS$a@QAI&VLq+v;s;*Fh<xIG0l6s$x$ZyOU%qijrclS#qojEyKZ{lUSEAgCC{gHFLA7;LB zQ`?v?0vLLk1_Aw_p{GLPvdGrr6xYp?fO&JZ7dd z)d?)~y-@u<@6&=E(tPK6X39P+)R-<~F-1N!c<%8UwG+p8o%K4n?NN4)!)}4KO8o3@ zTX%k2ZIdao-DsWThg*+0`>vK=o>8!A!&{bn`+Q3HO;_wTZrT6o%&c7%?hEI0Q_)y%TC3W;T{E8T(oeG$ z6JdM9@?JKtGH3q!vn)G|DkK-|RS{g?v_fQw*JE$jdsi8LI5e`d@U^xE$z1+-pyk@k z%@qYF%Bo9Vl`)<=w|}YO#V1KKkLg>gtKFEfb#mzM-_t944<`8E*%J0kbHeU9GQ0Rb zpPIn8L&3*^eVN&0Z7#`gk`qhWF5mI(c)O`CCi&Q*tsACF=hR+th*;Qr;zr*Nb-P_3 zxi#dU@o+D3IB!)fZ;)8F{d2&U=36%2IyLNbk2n3D@cFLjv1=;MCLSA}xceS>mVB_p zeBX%>$Kpfk%V$l!ZOdOByYS7@?#?Hv=?Wa2udUa_m&kNEDfm4}37dE0`Pro47cQXr%Tnj8o1cD>UBjt00z5P2w}cl--8gsq=X;*bbC!0UzU87d@i-gjiH)J$ z{VR&(Pn^s7@5{NHBb4u`Mg6x)$FEuH6#iFVC2qKWYoycah7A@hec>VNt$e?63AML> zRBC!^7qRnpaI%hVu&c$DB&DiX{~uTD#V8p!yK%O4eN$4J+BvcIz#ZF7Ew3VM4O!w7 zq}4mC64cGn0w5vdGD*ZPdZETh5v?jM&DYgB$QH^x#YA$Yk){ui0$gDb}P&$ zy?Amz-kZ<;kUjUan8wKqcH767&o;AlXHY$TRp-H#TeT_2k6hdJH*9@&s_GJ_^foD( z#jzQ}igMp>Gie8>vTD3H&b6x)YEu@HFM6OVW%_4^Q*8 zS%s_abhf;>%t2GZHRZ&Yi;N{Z&VH*d{QU0fcGr8ewKjG2KD(yebN5(rQt;7Sn^3^_8g~&5B_J@6p$driZVKzMCyYYjlw>jT0 zi4|H>s~6ZETkV(UUAOs5|F`=eReO5kdrE&zI~Zc!Vy3^+$nWq{L+kfK=U9*3Uz)Qv zbdR_CM>bRLq+fHqI%P^RDODX=?$anGd`Ux^W9{V zIQQ=JpU3(-URv|>px*cH^RG6X6KCy<8lwt2`k+F8;gAZoJ{Tp))sP(-iZ+36EHA{QK~s@!dBS)@;AGqUAHJk3{X4 zbenXg*d}SxEzXZ|OxhhnF+8G&DqegpvRSk_wQO_Fw1uj#lKU+m`fjt~I`p_HHY?ok z(&~~c+(*{c3+d)C?@DeI_PEfrzkXto!-*oFT~8!TmKxRUyB+_Rvwz81&#Xl|PVngL zm}K^A>V-)qPKE_Xnj%vdF@J83)j#%M@X+e0ApI?wwZ*$<6h>En{q_B-{c6{bTqf_I znJr#i*37W;_lgf;uZ~(CS)uMTH~jXs%_`+xpWZZCKfL>Hu3})zJ^|%5OzXn`XEui( zV_9~_gePw{m$i$ZX2bXR^*^u09XTOWY<2yUd5h006Q8$bFLYMt-<_|b%8>t{!wQZ)<$5IIRdq-%`Y$J!(^SWF=AI)=SI<}NZgtFcQaI}?q_+M#x9AsB zHmN$v>g3p-*0^&!UWx_%YuvMQZt(7QyK8^jQp|se>DX1yV0*nue7o_F^w`)HyTm2= zO0>70jOEi*wEoYb#g%q}XQJQB6(8SfaP5dwYjlKm-+3}?*(Bpmv|%AiN5D6UogkU`{V*ozQ!c8)wg#& zT;{rO+sw(nTlTJ+rm7mcuV`n>--935{Aeou_*}J%&tCk%{G#T%IV&Gb+&%d?^L*9y zTLl!Q*E_wP=_$Ig`l!w7d7@GGLsSpdc~n~kTw}Q>|910zi`oX2wHzx{eQ)0G*nPJ8 zNX}gCtM4jhCF>3-p8jYc|Mln^mEK<);x?tTMmg;jRI-gL>s*|0-rTc%$DQU6{&Bmd zel=}bV}B*@c7B$p&!6=kQ9B*ZH$N_s|Fm7lZqdoF7u@-3CNF!{R$tv=BXdG*uCw2| z&e>DNT(V!@mU-Fa@*s7^yTC=dm&H1R1pNeGJ}Hj;zQEh>_eq0)@1nllmi!kXU%P$3 zUwusOJ3TG^2Z6T==f;@)m=SqgD!ykyU*C&<_2WODusAweZ(b7rWKm>;?)QW5T{p*V zSec`#S^i&b&Vx^K;RPif`#c}IzmUG1idU|hW*_Y1$QIR;D1Z`>W8N3re%>#v7f$o7bqp=n0(iK zHC<;T=gSGI=Z`A4E`N3KV^m&Jgj6%*t4Rk-v}EplKe_u7>txYjoo(zl%w`^0zmodv|zqUYeRZ@7k&Qvy)Tb8mxUZ>9O(>?jUDZg$7}@BsrU} zEEj9mH~uj=S$fQ=Dd(};EgN~}=ER#91WKOe-gu;29E(zVO zH4-1ss5ZZzJl&^phr*eYdJ@U+IL>XdjFZb0FDdl>*B-%K*-;-WB;3H;UnWyKBd%rFF^wSAM=Fi&E9Tl^Y_wx_>Xf{mhh8en|xX^T#!>9x`djtt(2pdduM2 z`HK_xq$U>3wp;4k^6iVJ;NF)W7hb+x`LcR{ZNrV%VS-bFPU{6NHahftNoM)q$of4z zay?TDHaFZ9J2d@6B74@V>!QmG7D<;pFpm&8suOe}d_wN&d<&E0yQ)SFRi%2h8{eFr zCvTcFlTmYysE;IT`hlyHg^I0bl@w*VSU(YzHTxzeVRtU(0drgFUu7>Ay-l$ahJ8uz zSx**T408L%(lPCVuq#(Y#3kpCIjfv5SkKbl;^R|Nc+Tp&=GuFqU*62W^f13%X)R}h zMxt}q%&q>u_qA2Z4k_29^qvkoCBQq^Ajxy@vE5; zz>5kw$Gdo@{F@2;=wHLp^hH`Pb%_4=uPtoGBCz9)%s9lusw%ba-N zL}QOw?Hq-)g$I6q4*0O!?(M@QhJyzUBg!)No?fxr{ndBoha&S1gey)>5S_)4rro?( z=4XtY+${d-F4t`(UpL(U$YSc!yYb^e7m4dnH>=0YGWxtvOV5!z`@iYS>dV*as?Tn= zIWzB5`j$)PnfflR%$M?x8O@vE^JBu|lqK~iCuW%4w_o`y!6p6R1p_I$CgrM|d9wP( z;WoU_W);nD{CrMgm7L+7vWeB%S6>P8Oxmcfa4P)6_FwbgDvRI{U!eDPLDem9*_R$tn9-e80!~&%acs&h^V#eDY{AL%c|R`}W_D zciKvquj7&FO5(ctaeC0z#5?+1RE5J%uMwP=w*Kh-P{tExP50zq)!qE7WwY^vfyl8d zLZN)=(+;m+J7KZkq&6nK$a;S<%^y555k8CN=v7zl4VD|e zy2Pn!w3zAtgI!-Xom2QCqhXzGv(%a8+s1j^-0G!^=M>!ky8lc=|GU(U*{m0rUY?`m zqowGimz;4jZ{t+O9506Wb<^r1ZZPZeI85Z6F<17$ca`+^*BQ+F{?xAjbvOTq!?FOE zmwG!(Zg=!Msc0%iEc;=oB*~>-n)EsIfg;ncrFnO&^^KSQKDdG}c6H%egA)Rc77U>` zl0HqDlg+)n?CR|Y-HU$C-ZbrV%*$K><9<&+fxM;*mNEHrpB?nlJ|})YZ*9$0oP< z@uJ|QTqfn;3mMt3l(L?>+NsmydW`c#@=bk}x-}WXFa09bmwS~Q-dOOdV(o{hT!+)n z^CG0J3gi#3cHY~hXvn~1E7$&er<jYkzIw+4rPsb5fYt*+gft>5S@+lX|E9l>L%+JLf~4u#WEq z75}w`+#D8mrx=6|?A{UFxH@j?H223kjBNKZuT1k@&Sr6@S+jxd@cd6(Q+}L0)OdSJ zqbHM6`@UbZA3k_4(8!f%`R=9x^YLWML!alm8~nLv@nws+TJF3{Nq2XY6<0Yrr0JXQ zeHb&l@A2GAONZP=YKeLoGjw-q&bP6oz zy72Q?%2S>S$@BWPd9Pjg)VsVRF9toBnRV#1VbOEtnw%8x%+9_P<-MA}G_?+=EIDU? zX#F08ovG=%r_$c5zH2`CcY>%Y*IR*W3;!6s*fw`g!u~g3F7Wji>>sm2)vTzO-^iySV7^||=e?6d zxKpCj?i%iwrZ4Awda~tDU^9#P|1|cW*B8_sE}kB9Ci2^oi}R}In?8QFj#2T~!hCMy z?ibP>CR^VBFo^oY(xcdLkuBtuSN*A*FWFr7$8(?xncaAe)A z2mVJ~b3DGe?L719g{Vi+`a+R63cuG(e4l5^af?Z7ord2-uQMC`-L72Qe1X~cc*>qB zR|~!WeT=D|)AwcB`CPF~uWiB+G67a5D`&Uf@m^K)c(caEeHzG^C`P{SsmV8T>Z+1@hMw#@r+RJ-?JI3W8ZZO?eH}byuAFcFw6DK zxc4!8B!8&w%egDNd5iaq8*x*owB_|BeT&+2c7^D!_{rJcv%BVtWbFF2CY}GNmveaa z+oL>-q7^1MI2-Xz+qR)ue$q6i?>9dzP7zogC&+P#|B>APYO~2d|4a5w?Y_O_SM!Br z?&E>14IC9R#qYT|ciNaTRqesZ=84K zr)SI73~w)|^2JM1kIp{D^lkHpyQ*yyc2}=YxV1~gR+INy|C68y&WjJ%8Q)syXmoMz z(lslhyJRIiug5EuscX7VtKj)G zw_hzyWUCL7>z&$t%|!9;yNbfXjHZpftN)j^-F)k^;MuHG1v{qxz349HZ(H$2+Btoe zjeMWM0hW0aZ)-kWu;_H_7v5jf-!tZV-}`*?S6KJk$bC;=_F@PW69Ii-Fi~C&8t()HvVPtmOa7?!u)?H7%=%cUpqhNXpqj!+ig)3r`%qy zB*iHlv089ZXvPHd>lb$NXg2ZGtlZSUm))UX74|41?T^>?XqZk`(o}d ztEis^R;wm+9p0;v-Ztr4$1m=){oDT)6lBy^tFmgvzwo<$VZ#Io1%HD>m5F~}8Cq9< z(y&ibO`E`UPhUV_ugJEOwVJ|a`x0VzO>%y!c|Pg0`6u4xLHkZ=i^`)PGO3%Td3 z&UM5@RxeNB+TEOIZ>^u~PF|H2*7GVTB;iM4ZR$K8eSs3ieii42gp^%#c3f5Y)>S*P zE?3;F;c|8OHDCKBPE%4Nc|(0X<{2eN{xP0D-8OXN(Z7z~UzUH0%a$7#-Y7ELoAdp;QG9%c%hSybnR$iA zIyYAOmN!MTbIlSt>R7q-RR0u(1TmlXI6>tjn`fTCHh*pvLy)kJF8hzrv$1-<2}}0r zJ=LA5QOB_H*q!kBQwtB7yb27uE|7D6`J(4Kbu%BnTy4FBex zpXTzyzm{>0m}}m>eUqI;U)5TPFa@x>JK8Zl-s+;8qTkb)e?D!4$qa+j^_v7{I&8bM z>~4p6#@&Z~J|FFZm-vWTYhHF)cK=db*bMtt^#->hA%kw4^bfyoPtE+88NTy$Ld1@U z(*nY?<>!37_s1~fZ$Q$&`ZoQ5=3}3B&VQ7)-b#PPrD(%Y>82g4pSdsSFTRkrCA{+6 zIV0g4S8Bqv7AXJWGZ6ET5bYU764~ zd&Lgri8BMX)GAmiFP?Z?KDA1=ZWoiTgZ+**K2MuBnw$2BOHSI6_$1n`f2s2M$8xNi zts5lMyN<2h@W%Vl&wd^`u}`e!XYF|2=rZ`c3|^3MRXx|z^5Vfc*&$~XKS)XGgzGO- z604Fuuzkj?!y(^-Gjk4hYk3C0ay$Nxxv%E?q<2Tu%hFo|8r5D&es+yTjD>jY@4+3X~&|Lt1lCZUVJg`UUB`IUFLeeD_48+40amq%&C6uK4tsA zi8@6O_pxescxHALR^Phu^wHV96WYROUidI+7U$8P6`y41U+0ck(y`eT=W|{GAx_JCh`nvv)Qt9Z6q(XUDudXCIwl=jOFK-R5Mf z9AN0*736s2MD(nQ&8?*`e=OM=vVnWao}+7y>KX3{&XD&jy`#F!dXfDmt23JdJZ7r= zwZ6x{v15|Lq+OktTGBQN#7DCPr9FERwdJqQkEaf1=RP=^iQG6>_bFFA=`+*6Gb_I4 z+z=?#YSz?wzPZ-M)zDk-tm@|%U4^|a26|k&dREi7?h6i=7Ok)hKGs{bavfh>D&K@X zD%OYPpZkT(}}v0BZ1RaWZll9xJxryJR~2+dpJH+5-){jLMd7g_H;5j?wP3c~`X zMNL3s^3#!*xm(5fDedyPm zD>fGM1Cl$`KlS8PZ7`}UO6m%o@$p}ba?968Q$D|`H&b;#tR7&?{x2Z=@Po+?Q}S1T zF~9gUQK$bE$0-5!8IF%T-z-gH;+4D9kec-L?6Y;Jr#r8UY)k%S_-E0+cm2-CH|?}2 zUshi0WdDDc^QtMOFTyT&Jiqw+=+@5v%14`q;wQdaoQFI4Cq&#u%Ao(sZloD0w0YC2l=cCD`z-^wp<&fL!JTIl!4=BV0(sb9|R z&-HICTxJ~Kl_T$A8NXS#bzSU%@HqRcQmfLMzrI;_=-D+pon7~uQ?sm3ifC@WD*onO zeXULS!_}z^HXPW0I^FQ->dj>qx9-=MKHd7hIg0UJa$1e^$2G@#q7EI~SJksIcHgeB zwbKJwt;HsvsQu+Bxx{I$b=Bq*EAzD7-n^7CyHRw^uzuB}1x+FbV!V@C-z868WS3*J zR6^_`xBS*WhL7FM?dv;IrvY%G| zmOMMm)X}c3r`27uK=9G69h{+TTt9!eefI2YHGEi9J=t;5N#Qf%`?Zhc%<0N%WYlvg zb{E+!|KW4*=F?Lw8PjF|r3QRT%U;G~bjEK#gYD^;D_>Z|X^IpaDCAiz^=O^ynwgdC zlX4>S54`qMDBJ#I&*{w`Z+5*CRlodrLYKLQ=(E|2Ebp~xuoz4+<6a~Y(~;+Q^@7{8 zOP7vSCa6idF*I8LJbfhUv$uXoqpURR!A7T$`yP7dLhbYzUVducA?%mb=x;hP$Mx;K zmtWS%*)Kh{`B=#Ef(r+WEwldwRB@bedVR$~xMS&#gS(DtFUw7k{PI+%be+;UA)6JC zL@&PE@ab%9)z3v|d%LYg8$-_DYW;ckdMLBZr*ro?c@@{4P&+g?t@NVA+A~S<^KPnq z_4_%YZtY)V2OF>M8_z_A+q3Q^OK&*3D<|^$pAW1n^pg*-I*UqY?$1Y;X~?IpI8&jK_V4o2#bTlm@59A+AOk+H>T0Ly% zPn#FFkK9=~nK>rbXpi=~301dURutRsJIWP%NbzLZ+Jen89wzaD5>Dw~iz|b=qwI5D zH`yL8nK4c1cl3%QjY{0k%lfv@joV}77s|3%&`!rg;@HAQp0j30)YqIbGtw62R&zW$ zO}t*hi{q-x*MMsieA*UBs`sQ!s>wVo6l4E}@4C-{8&TmEk^HWse4cA_-{OmjNtK4CS$+gA1CT(9nCAB2#!Sn6aoWFuz1g>4k zYSg9kTx{>J=qH%SlH2dR3Lp)-h}g+}OQNHhi2oMR|4A>wC-2$kc4g zPhZBxTo=j||7KI$auU#jC1~5`QBN`WLucH$@`X1 zsRQppS+O~Piscr1wyn_qpP=t_M=CuuWKwK{dX8*asX^{b-Q$+^6`MJ~C|u6pnpmwa z_Or40+3duw6SLNq&N!+aahdCFO4su{jjz}O7db9pxU^$pgjEaKj_p!< zHHqJ9<4MyQ)^-8QdR9d8XL-L8bK!kyqpWwq=;#H*MJJgSmKA5(%4QchM|=2Xg|F(~ zqrENl_ASYsEOtvy>26&1Dd(oYRYyT{$eq%#cUDadPx{Y&ky`mlisRjANHgt$n`q&cU8r@t2HOILwHjRlfSy48sXQOK$(RUFCn(s`$^E<%|VuU6z*y z$?r{zI;g!wTv>Z*_EmjXwEXj_v-}ORmcoG+(^PLy%C2++6k3*x`<;^NJTb%iW|n#q4Sr=Dpff&y~b4a3jX*$dbdpR^kN%{0%8*@~xba9uhNW?eqyR+U1Md7EVZPo9esH`pPAN)h|S@AF@1j$#ws?h0}c6 zVq?mu`kqYBx;r~D>TJq;tytf-FB&JG2+hyqIeR0v{qFR?`}mJ{US{>b6Vh-il9~0_ zPASVO(HXwH$-ItCtL2JzT+%J;&SUt_Df!EB!iH?!9`^im~!5LFr_UdEbl4mjhD_K8l z+-;r}D`{lNC=hnaYVzZ%J6{(3J!QGd(p1k}x!I*@fl)0>&zB>|Ieex?Gwhk)H&3i+ zo#V_6Wu*tNR@t}gw6N6ad47>YGg#J!zvPnztL>hWe;S_^wB4H)xlP+NyTF8@a_`2h z=bmN_|6(d-75==o@HAs^%|9lw`O3;0uQnNpn@oJqBd2mR(%f_>PjJ)3o1W)H?BXPE z`b>;_BW+RM^f;n^BX^14vX9FI6ql~C(o_@`Jvr;*m%>#(JB`1{{a*4XqOt3ond`~i z1I7Z(IX9XQPrZ3#ih;_ui20YEe>}lu;gv8u`gY23wHB4q4k1V0sOw2Omx6!%U$DwD z<^3z$)7u#Me?67tzL7ou$<)nPy`M_++^F37%G>3Io`~F}qUA1@0S~T7b1!tt{qt#l z@eRFu%6I=MS*kW^tn(0yoK?^gf6Q_6!<%nk&%VLAu;GX6w4;%po?CQxIX&E^^#9n( zYL1M^3+@j$nH@YHa=Xjxwd~{1wklO+URn(n5$AR+GM?L(x1N9h_5FL8Z0DW*$*@rE zY%W7a$(BX$bl8opiXE%o)?cu3_nf}^%klG@7E8x`d)MpmTHJWM+1t)#hMv08t=8Kj zn~rnt{9M>=dn9pg(AKPJ3Oo6pWzN6zy}j>$*7Hf?8%o(WuR6W(b-v???Y~w19SxRz zxv#bK>%moaVT%_(@Ai4yHM2%!-P65mG!Is}Y=63^s&RYou5w#}RjDuAijU4Ot7hei zeq9nMSG4!{e+!YBJK9sV_gZfewX6JL@O`#QtFHIVtUK|#f-gVGUamioQ|Y~!W8N%v zovmk%>siQ){cPhq`kbNBYEjsCx8}ePhjx6v9`JLT&5W}A=bPV^GF-kNy)NG=OfR@E z#dD|MoX)A`%gy%bU-S6&SLp5PGizQ1&D9W0IC{*iyOsagX4V*A`%MRqyClr|)81M! zJ;ghH@ocH*+7F7})SaIt=YIB|W%OpB)Z4dt#Qp}^mI)nxsii)P>9%*%?~f)6qGra- zHash`yn^?Kb479N%U608r_b2E{-18)dm>Wb(d6}ZulMWBdZ)Br{9ADNwU68J`VYxr zEiVif|C=C;(k_T9uFRT z3G(QExG96%cVbYVz^uvt`W^)S+iSv{_+-_gO)}4mk2~Dif3<2&P zyAz_iue_eq)bcE4y^UzmG@IF_GZ>y7+&A-2Kv&vw>K6=pBGaUnTrDfeS3&^|;$tSbW1;54^OjjykbnvhQa9U5okiT&%RVet68} zqBCpTE-~Jgo7=AW2u(ixX~C0X3e9gmt+Uz+gk($DJnyK8H9uJO&QaO(Y{x9SwbYj;E6 z(i3(iM}(v*W(amUc$;s&{QXMw-t)bCj5ErP_^3aO*l~mF`<7>~AAS2$JoCn8otD$9 z{o32vpHE4>@%g~Qg|n1)PWd#&c+JZx7cA`3u3ywk)VNj2Bf2rL#miZGscg&-sRbJo zI}dWsd=amF`~Pq!Z9VgBgelu(spvp(oqOOgEpf%8d|TtB=ppZVUh z+;;xU4^M6waMnH9EAeeww||Gqfjj$elx#e>-zROgbDlW&fr<0CyD4u7-7=wNLxaKF z&ktnOly2BRm~gE*Y2|Gr1N|>L^IN99|5+)%&HA}QZqlyUcJZhM{5HHl-2R{OJavjg zc1x8*+0^_k+k#D2bn5=`Z@k@K?Kn~MY3s&?YYqpLOmLaaAaL{34(X*g&&Kb|o0xZK zLGR|J4|FnrAC364^={j)PU$5&NzeaG{&q%dq2sSoj@17X?rhkj68+(Mw}aQUImJf~ z+KO-OjQG^x8?}$AT7N~dUfxE2gLAv?+NhqMCduFO+;vy?=@}C==B;?EcI}8&>fU*O zljfhT{U{~9!}I!LCazX}zk?h-uR~my7+epDd#85YdBV?A>`b5kY}&5hP#E_&e)7D^ z%aQt`zwRnszfwGf<;rcQffBtPr6ZYvGKg9z>lJ9wb#yE zPY(E5CHXJT_g8C&x}=xDv6TOIaV=+a=B!UW*uhXC)O?Gz<=8H%%#g&A$+r^va`a{^ zw0&En;kY!r}V`ghA*hDoYto|{=boBQl>ZA-sH`>Gy6&ODKuioJ8g z7Ir<1KexTPm!)^5n(?Ewo0S<-uOeIwI3}-Y)|*+pBJ!ZsQNMDZ-&}o(X9_)!E6m$n z_mQ+bHO`Nx1e%h`(>C=DjtDj?_EMUVS zR37Se-i+axG4q3$J8u7Om~;I4wkM}@R;7seA5|(AYcaF2C{TX8qEFr}0z+mA%tnAfqa!ghL>&LgHz_g`$|a86uc<8;1ds?pr-noFD`$~14sB<62iaxywR zz4y2HXNxOe?}u$Wy;tdb&91jsI>Y9BNBh|FC~fLk{9Z!v*O*ZD}OBc%?^(ICIDZA!OR#Np?agjCN_Q=zKq?KJ}GZ|M+ zeKS+=Q}G>5rklE|y}RD*s9nM#qxF#gnI+4{!r4!@SS-Bu+;^4k{i{2THnsYH&3bVz zO6APNo}~HuyVP6KDww@5r4&_lW^8o4F}HOS*G*Oy-@K-Bv&aoGjVvZ{Z@=tpJr?&! zcLnn*e_eZ-G6~ZZ7S`^!UQ1>^cJ#`QQn*-ucOlbHL#lTY^H>O{@`1G@P>aqnF z`py?t%=;Im$hn~ZnM1F%c_E`CQ=)_I&F?OK<%uG97KI+rwX*kqvgiHNNPV_y{W#O2 zh*fbyA#-x&FcSZ*kA6 zzM!5|2gx6YwpmME3{1D}HX8ic=_q{3Xb8cmXa*9=5@p`wn;?H_d4u8itsgd^| z$XTr9l#Th(dF7+PgUy%BkH#rl&}hR7aV7K?~&q{#Ft^X`-v*2`u~qw zrwqjnEIEAmXKrNpqGz(QJ0VkG^)?TM$yd+6dwwEbz&yyL;$~kZ&$XvI7gv5$@$}IA zcv6j7J2)ldMzPZ!ji_6NQrs!UvJD=JyJlt-W@yU$<@||i{(Grxjq<0fb0%DxAdE2>mO-y5u9j!ty)lg*@WJ^54a9%HeEV?K-x~c)=h}3)N|4# zEuOtr{7bVlwLaTLoXA*EM4on?w))^qM96ZgdAF?b$2e0RU)%WaE~PE$1R z<>futE_8U4pv#_byEAlOUiG}Ac|okysBF?snHRdB@e(YJ-|QY)gayGBosTq9z&WzRv6t)COT z=gxgl;ww?yZOM4H=rOP0@srDCmGlgc2E4KVz(0A}wvP*C`mBOaUkcv!=K}L5mohe= zhAG)?x9+7&yM_y=ub-1>d$NS(MslJ_7hdJcXbG8fmza8J@tk!tvwY|h}{{fzB7xTDM1cNg#{+Z60 zCjL|V0Q-^-UggfI&mLR6Q@?k)@O)?=`=#FB4)zzeh~3Eg!y1tpQgq?nq=cKTDXu)T zPfgVNr0lb-{ias>ZMQ_9rDrUImh~quQ_?e#w%IZH*_=sN?kLN+hx07j_b2-CwJ+j* z$MXWWcyF!ywz9{gX#b3sKVeg*id*O&xRf}vKIr2aLCeqbtY3ETl=RE`6ytig$i6K0 zzLW8rMXJvXCl{T#vR%TsaaDlb{`WFo*ZWkJce(7F6e~H)|Bu0Kcex&!17Vflezhil zwK`qik+}Ipr}>2o?6v+kgzxme+crmFp)q zYt1%S+Jv6I-=cT##<5LddQq!x{H{ClVxf=%!!p@p=l1O93<~I7EAP4{AdX=RqgvM5 z$XQl*J{&Qt$@=}PtuU19e3A@<(2O+8Vo zpwe8e-MHCj?usR@|5ZE;tt$)ku1}u5LSWDF-!Be$DgPImb#U+X&zEO^2`_bd+P&rV zjf|9zoPgHuy~1xZ6xdwug}?pw!Q^#|&(lM{XD;Q6ahS{5w6MQWLNz+StmVV0jdNRn zMoNCkTPg5siH@VO{R#P{Qy+^k1l_srmvM3@>*hROuI|O}f7^YFiJF!2RwVaga6sG& z@lU;XTavnW_jkz2+}@)sAM0g#%XvlEF{A&de0-j*wZ44&-s|_ZuG|+L4k*oXobal8 z`kNJ96Mh$M`tv1y>q_CP+>7V)h^Dh=?9Smz(w!WwsynsuMI2kL%C)CO-^xS0Li3CE zcQgGsrQ0fe!n(ih7S|&dy}uphjnC6(D;qJLe=|vYF^7rTjl2JEH>^mEa$dyIM`FKV1o}=dy`8 zW3TIxaLsSqlkQpE&!I&Jlo?8X$BWk#)i@lS_%tbL@{fZzww_A)zT3NZ;^mY` z(`oYISv@J6H8)*OcGi#y2%7$;_8R|&g2@x#rImkFQF-c~9B-~Fn{;HF$krs5ElcYz zXCJXVzG(h~J=>?nT(-~OH~aMDRq@vPMHO40A3n&yK3i6(KJthIW5UEAn0--`nfv1wbRgFno?HNAt=hr)Q^cl zc2~~N)m|F=;?1lF4By^9-(~&r;_Iq&hu+4WaP!iZfAHYTj6=1zcRSoSz4LVG>#q}~ znwU1a3mkn_v-N*{+g6E_zgK)WS>^8QvGrBkF%JIU`(s3U_}7`Z)f+{xP^jgQYP@*; zwcOl*XIpfxZe=#=s=KlI#PKqBm$~lDQi>|t0qQ5jzdW%oUGK3e=*)Uwr7W2pOH=hr z^b!`XU<+#8_Imrn1!dFz3zX@bXuCB^{_}ZSQ~6d(w03=HMb-RdJEfuvg|{5q)!)}o zSyL3Okh4Nvl3`f4+3KUm${w_Idz^xis=b9;j!WaDp508%n!|PfE!5AXH9JevE#J4C!HZ7Jgv4-*%$shhXP&I{PL zHdXbT%u;UodlhLzjRH80Pt2>u;%*}uzglC#6SFK4v>-oEhhPlx6e&6^@cdA~0e zv&E@LO?iEEx+U*Z*R}oqX6;QjOkYEG8kULdik*8dX6jD2_x>05`hT5w{^Po(@9zfh z=9#WgvnTguyJX+(?L9|VCVo3`w)u?OFCRwVj5y2c4R zawk*=FBkXLGmN<0>U8{zk!Wpon(Mru3a)o17F<8dJwZsceb%3!Qy%; zz)tn%>SKYPyv+?S&Tsgk^t5lfTts(-{5zMemdfh>foz%AHA*i{idx|#aDnkaz@xfn zS4$lv!K%fp?=PfRTKjyqNJp^vrT zoo>PEqwA&~=Mhz!dzSIdpeOTEY-^sP7^sX`;&22$|;lgLE=>g9)1Qt`7)j+B=)k!{_?6nsl&a1$HrsLs(aD@PNeNK ze-pjWT`|7%Y`LcRLFa8@lLUU>mwaaF8m0EOzVY%A?m1B|Ev=QOg?G81uv;!UDfh$r znpZDkZfMQl@G&U%N#KS@=i-dmi4J_EeaBkM4&3~lkTq^yvNYzJFcadY%tld6l zG4iT)KmR}A+3wJ>`TCvh{ZkKE>P3BQ6#l>DC+jxtZ{b;s_zg3sCo~1Qolo9->WQnt zw8ov6??bOo!_-t$DoM&zAfq&^ zvEa%bfCk;{}OU z>)?%(G?~=iRsQ1jzg@lYwd8iQaC?>u1@>u2TpdC->h)XrKk)d?#goI*JkcmOdTrcU z(cfEMy2xm6zbJUEVya2{RJNoOGxrwn@D#tXG>+AD?we(wR$R7ckb3txDA;PZkLN6( zi9%DioRizVd#=x8vEt?JN*-=qYcJ2gRlV8A#9UD{dc~pZH(U!2S)7aOd+d2)L#|MG zMgQL7B<9mS&r07+Jn{L)F|Jj*?|iG;ryNV28+RyBcvM% z%1e8yEgoktS^VY0$0ugHEOcr)zsCxlIw{&XV`bD_mmN)yUKmZVU&uCLO_<<^AL?`0 zEw#%|QGd78>%`QTi?)gT?(R-VuW_)wd4^rp_2t4o5sBrCpRNA1Ov2eC~2T&B@<+Vq_vFEn0Obc3bI`h*@6Kj>MY$_{?lgR47s9oxC+uIklw7Ux4J?t3sT zTjGG2iFDC@$Fqg(=>pFt@bL4quCuIssLXxFkmcQ-hiV-;9EZ>C`4j0Ay}lxMQOAJ} zp-oGJkJahLixsbnSJ`Rfy3p>6&ZbjdM<29(tO!?T)>aeAHJF!vGkKbc#pxeUKDwR~ zobe!Z;ym8V!Ucs!d(R&Yakefx!119n&|}S7bM=QI)9YUDcl#((d~sD&Kr+W>sdayL zs+z_X$Cz|pzsj1B@j}${yvQW;uZt2rS8h63V6{TB(my8fn8+>RK;6uL5&W+r);p@7 zQB*i=do%0ds~p`EGnBOx^gczESS!YSSZ`*cr@#H4@&9faFRRU$o2z|c z(!vYx+@dF5{i(fjnc&N_E7q_7Wa_oUo581&Uq9$V%v`O_C!XCXIaspqrYrZOlAaw5 zwtKQaOmSK9$KdYWgSXeMh}5|w|E7M*g4U+yPMLE?QAb&l>}zdXO{U&^V&C{y#`Ruj z(;V|lf$ts6vXWMrtX&?EnGy1J=^F+i#mo1D#d@c@>N%$7#J-<)ui(`7BeVGr&Uwgx zYx^ILADf!vrRs;wD@-fT9-x~+rKF1>e=__D*RlUKP4V1ZImua{TH)2 zG9@h|_J!jt$x3g*dnRSu;=b0e`TJ?Eh}_(ZCm!0{hl<#R*_3wge(`tJ@hlD1+}&a} z2@+{_8KHvyn>6|}bG1G_Hd``bS_KX?@s#cyzIh9rWXZHGh`RsXx+GGRRZ((`7c**n&g|D zRU*5@$m$7$+^N+M{Euxta`H#$T61RJRqIUT-Z_g;Qf&)dksuTwAsigBZi>Zn!?M6R z>6t&ZC0_64*)(Fa(oo#kxcTjb zZOsW1xeq4Y=$CnC!eOznscFK(;|G_-Ke^t&qR{K>Ooj(;$#3SKzP#hJ_9T}x`y;0% zaNToT9{TWko8@i z=lq42Z?(DbpG9qka#mC2tIq1}N?hUeyYVBdeBhMh)16+ef8(Ynsu^B=+&nh-!rZfgA34~P zmTZ>vyyKxRxoM51XKUm92Wr1Hww|$1-Ly0B`TnzOG9TJ6IdewN{)*U~N1KJKYW;Jf zw>bv~`JA6@urqf;pIqr-^KRxnKN4n6|9|qupU@2ksuv#df3#WjsN1vl4f9j?WSyPs ztunSLZIAQT6i5kLwqoaTg-L7H9oAsJmeaD{(np$c&ISEODVrHLJlR4lKXfeOdGJ7a z>C(+Db?-0UUAN}AWHjfq2h08ifA}40*7NXwl8e$|nOcpz6*7`rgf1N2vMs0enws?2 zu(`k5zD(P$^85Xv-}fcw@wMGM=dM-a8*oD5-l8d?k2#qvwmQC2F#N|Y(zuyb(Rq2- zZl4vu=gt#s-09ZZrY5K%aPedC6duWl-KUn$f4V4qDc3q4(PL|h_9^{ZmEyBF!~btR zpFpQT+4;@4whBM4i`UX9TYPPC^zHA@7CHah#Ps;7>4!e@t50)BwQx+Oo_MPp1ZlA~~DEx?T(${4YVa+~5 z57+RQx}Tg`JESz>R2HvDCF<^;QXf@%eu97Ht}q{X`Xs&_m>qPPimfV zPnrCdbJ=}s!N>1jaLDMHz2BvG`gH0+^OY)QIeQ*AI_^6)!&}TaXsg>%ry1*1S1kV% zbY`-3s%xwQbFq4;QT9FQPwFA+zlvA+%hnumntpcm-zR}v!#R()KJ@tAHMj8%qqc%g z=1PvUiu3B)wc93@owD~z=3Q9hHRZ;^*86;yZLRbp-(D|r`;k(aFSS_n^$n8`y&uxG z-dqZt;CFqcmU>r9TCqk%LYMhfkv~G6Eg2ck5oRxylU(<_u-Y@N+S;Qz%SBM(;E|Xn z$)9Tbih2}oD!+_3_1UcPV~(}5FlWKzXHWgL%)<9yFTJtwsE&c5os&nTxZ>LTQM)Ic z)mLz;`nBR=tEpmj*E6ZJALKH7cH6KhN_3pdT(afI`{-Z^PT0-+tSm zAa-C!*3=!cFYX#{nlXjt=Y|IR&?!&f?0ERj+&*#6trI0y=dVT|mA(4+#U{z1eGJEz za!nOnvH$jb^$qX6rauTe;8v*_>VMjy(QWmnO>Qz~hK5c;F2@#0+q|r+dCYU=h`8-B z)=9Eog(q#6`sHcKc``SSW%9S@?CJ@ZpT7z)GbpqvPy^iYFU&RpXPEac3$t_o8A4qW=ULvQfwc~#o9Bk|M*sk#Qn9ne(b=p zGa3$)v^bm%_y1s5Ike4dAH$u9A~uenv*+Bp=*yZvRlDGzU3~pnK~IHZ&by3p#u+v# zDT(THGLsZu^jVg^l3#e|?mymxi;HrSI}2xb-Z;6Dsbk^7Rz+R52^-Q5ZEuO3&e)Qq zZYdbOyN*?xRmbVP#q7j}8O+-0>kRU&q?2`izn<*!L4W5JHPN#+HC?}}7usi^O*3r$kCmTeOY>b&nXR9Ipd^?>Zxx&8Q# zzw&LtC*dY<+q9~*-pwq_{1%dAu9mtJ59K{>q!ZI&X{q7l2;j_!PPnn~$ zY0BIeviFnMI|_x%1^!`hHJw(J;$<1!l&ZSd%i-WDsn}JIU$k|$F1>qTS+OpE<-MLs znzQ5AzS{7;!DZuH4c!?*o(BF+_cwl?Yh5#Cy1?XXb9X;d%Gi5MKJ7|fPRbJfT*<6b zyK;w3%FN;H_P0%YH!}Tu)nlv~7v=if*m?_=gi~eCmW<^OjE9a^a%k(yIOIxR2a-oMdIR_j!{_3|qco zuU_aq0rj1`=E`0&jnS8|e`G0b{Yhnd$i2RtqmOOuG!E!o$-cZw`t4D{2R(ORE=@hd zU~Ut?>fEA-?oAKBGEDUE>0P|YtXsa?_mJhxTXVjw5~;Hj{-t|e?pn*R0^pq3hku5!xmG24+mpnh($E zW$N8>am}yo`i~E~2v6PJHRG&Ia*t2gsssPl_wLzL!N+r-p~d30wwT_dC7w!_-9=7b zRSL$UKjypqP7!qrt9?|q_oSeg$A67;GHDSP{_q+)H0SQQ%O>`=L&1J_%iDXil^OqJ zKhJ#CnjGYKFP2s8yg}1szErR2h6~eMEhM=g9#p$FapLrOv+i*{Ja|*Jy=-^IlUoU2 z%{j94&r6xi5GkI_H7qGo6d;g5N}y8u0$MS1ID}yhG(q&>EFngjOKSVsIe*Q5SYl8#?QV!)Me$YsVi{?X`d5ttyZA$6oWFpAbYAMY12wtl%LLZN-n)2I$gUyFmQmqfe=)}dU%4qiJ6-Rv zXuMsy-{Rzqs}?456Js*E!Y00C^V3`^v@SR9rQPXcdnMyD-x{>P4KZTsVl8=+zdNJ0 zpx^rPz6ZPbOx%(@*Lp@o#R!>XEmX5Fn)y}j#jPa2XNkM+Dr6hf+&XD;|Jc2W3%d6; z8f?0Kz}qn^G%oe(3*nc}T0i_l_OJ3++^t`HTH*QBp7TNW%5|n|jA!1Qz_syD;0?>1 zNk19IB@VA-_g{Ztb=B!@E;Ecn1TCVqYY+XkJoWQ2Tj)c9*K61C7pt6_7cuXRi?`5z z=kv8WZ7c3=h*_{TEAicu=d3SlE6TWkZ4N4nXFh-8e_%&D|DQyz-bqO|>kky!T$`x0 z<(Xu4RR#~K*#B@*^0!s3E|yF^YF2la%DXN; zzwuH0?QeOD@_HAfUiWl4s^0tikMz^n{L0HG-aOl&VDXv9hAk^qu>I@F-=aUmGtZwi zVOLtFcwFdFk-#)D^Miit|0$=fbC-TSrO-M>{Qc&y$B(?7_I}f*{4JAGEW|H|c=ZWB zzN(^|RR2Qz_t~Ij_Pv@b=ICzowz*=LI4`#;@aFV44BgkR&0NhF*{osKKVP-_@0S4M zxbnMB$L@C3XfpN)yXLRSF!q}@U4kQb;nk;B&u{+O{?4;Cy;~?%v^Lq8CuO>Vv3BW` zof^!K+zo_9jK0l0xaFaOZugwm(?9Aqu4QxP$-C{MUOIzEqlP*l}6U_2O=i zeG7A#z3pN$O+1h1Sq41vsPaCe^y7^wZ`bKn+i$7rR)3xEkpJKwQ_{!Wsz3l%CqhVC)_sq+1)|Mads#bsAGBgCpLyp0#$a;P)joS?@t z;p!trqoi^(ua7k|Lc8Bj-X=ab=5V6log}{ti_MQL4`gOFzA1Jk{$%>hZ!TE^g%uxt z1R_5g_yxVWwC;J@(wj```=^!%wp{Pj3JBV{dBdSE4^q#^FT8wop#*=+PlMptpHo&a z3mH4@u#)&L`|slesrel(-yfY${KT=@?a<%%JjEvhi{`zZax36*yQ6dbnzs4{XKJ-} zT-xCpG108~l2dHU{tHPV?^h~+Jjo~dB6vn~*7W3ryOWl#)W2QzQT$m3>*u_@l|@f$ z>izbGL})jM2FfTKqHlQ;0#o_8I!}!)|Yj+j*|H;W&{D57zrS_Ehl7p(NUL7w8 zNweh;d)5|a{4e7W54%Ah z_}zE5d&ro7cfS#=^rL*A_lmuR8Ml{)B^BN~RdVyJYw!D`%Nr$S1-5T~c;&O1fzsD~ z8MdG9y#2h@S^ZhY|{Pu*j0}sM1pNUK|vJUu|c;jq!KcD$LY3aHCC7UM9 z^txr@Zgp0If6B!>!e*c1*UVu3f8g}t3g_P3<^A0X1;rb#?>}b$a_hyox=%WX8Fd}3 z4z3Lhe{*FTl} zduzxEcj*ngU!KwYY4Gn&a?}3ehCh=E*Bw<)JFl5~w&_4!?ZGR%%MB(U`1h+T(lzGb zJy>;96=qgOvX__s~%s-)57i1*V{ZY#e&RW7>xTQJj76Q{;(zWnVa z^AnFA)_d@6mBzD{oj3nmx3y^$sjHk)my7z!pSgGGZ>1?GT5EZYH=TJK_hFaU>>2N- zT)VX}<+;KlV;i=0Dk8zgZyx?;Nx7-aajSL`mxR#tXYYJoI9-3LvXR?tc2%3XSj2ll z3r6msx-aW{Ckj;L`E)z#7qoh+%qS|GRI%_6^RAjDfA(JH)c%?AAzw;5Q9pCDWXmU8 zSb?ZD-=_TKzI4J2h&)cZz+ z$wnA)GW_Da6WzysS^rb&=AL=Cw!{VBebr>~yxw7T+(ZuMkA)0YpT&7q9oA0x8R)R6 z<*CfhI{xQl zMAvIU^Tng?+inW_Dz}=AU#-JHZSj>~JC>?TUrpEE9D8A^cglUM#s9j0*>gVD_T0VC z{r5>hrZ0gnri4t0Gkvi5v*ylNrenH`C(ScE`zow%=Ch?yM@}Re*9c4R-{|`d<@X0jAHMQ^Tyv`c1OqA1IlF-|p zYkWJx_LGKy(6Z;Eb*nbJZG7-y7a}z-B`IGsl?oJ-2q(r$6LAaH?~&oZ@?~7r*qLnqL)ZNT@lt?62$e zyZLh8N~LdAzx)-xR=?=*vLsuzgHIM@S@HE7G(|1By?d*8s9x%{;|cd;)IRiSo_ua# z^Vv&!dM zrQFPG`t#kAJ!eVW^|<6GZr&O`WqQ-r)iK9+rMt#TpV|G*nCsASJAX|#HIqlnZr@kh z^XIvKo$M73m58geY#LTaKbkr@GG2-G-CH5Q{FRZXi;AmH>KKH0g>@JG!|nG?QF|56PtSGOFWzPyzotG#w#Cg+tq>m~9Yh(~kI zkoP)}^HAXAZwu~D&kZMjyRN(+lDC;xPSYZPUH&F#!&8>u>wS0e_LUf^bkAX}J$m5M zfrT@Id;VtNT*BcAflf&Yn4obT0S5xMQldH_@4Y@2*JQ5qYoNxo_c;Ee$K%m42Q3 z+0dOHkaNFkLtg8<1(UX2nszfU+x3%!dEXpMUEvFLb%&q5xzaIz*6zET-|ka2&pWpG zS}S|Qt%*Trx2Lyn`nu}1)Q#OL!mhGx%#0fhBF`lHJAA8bj<|5v$#jn1zwXkDZVw0(5H9R{xzVFy|E)K1j{Rqwr5-!E z>pCobaLfE~qMyP1744}Ohn|S5PZGZSIW=poSJ9gP)p;|HIZJy)yzjX7`NP#M=^Xlx z>rQ=AacSDIuljbm>$1`n8G=8ezMPCuyAr|_x+8bF}NgYg4FC&J0FEVedu+! zvvtlMm8+4TW%Qr#dHR3F37(R})<)Ku!DVl*>eaPR-hC|~B>na=ze?3#uQp#>v!#mV zSk;N^0djmY9t{u7I#gp@*R!oKm-Rm5RKIjZ{Pu;m8=id$t$r@S>{D`PqL0|5o)6!> zA}-i=m`~a8^X1yNdu8))-WQy^#^3F1L#l9Vs`iRxeb?_#RkuH0;=lCGWA}$9Hy?-W zl?d`VIEN#tJaNvH!v(@GT#iY}a~0+?#ck+`c;{1L?jKt(=^Oj<#)(tx3F)z3EusNC z!YZtO2x5 zQ{qbKG1&ui=B9fw&1%eBYxB%lQl;V7dQ-N^Yu*$HA1P05_ptvu^KOZ+=pE_fk7ONv z+V`B{F{%%ZWysn6fg$$6JEPSR%ml?0{ zy#MnPnIx4WUpK3&R;q5-D!eQ3>B6Z`w~yUgGcEV%wV;)cPw!FYaGBJoqBkK+U(SY0 zW2MD0kJ$U1m(X*eCdL z@|9UKbosxuD@EaxWv7B^YXo7zcsV@PBh(_ zwJXA8k@Ce~KhN#5pRw`Vj-&bN94B&4+q(QcxV+=euBP>Os^1@6=2RIjrD2qrwSV2O zj{NfOHH-N6-B3~Id3NyL5`DXeEITAkzWGd+icZ?RQ`|yYYv204k*B;4&0cir$!_I4 zPa+T9RQ|4%Yv0Gr#P{Jzt@c!-+c_MaLi1hUH$OY3{59UOUU;i|s9nyV$EwaRgQ8Pn zO3EAEHj158D?ck5ap}kYiponN=PT+SFX0QfknnmqO_(R{Ui5`GLhgRN%Wvs*?B?-t zUGd23*ZB`?Q`fTC>ZG;uYG~=m3EvA|H@WI%b*1@+e>Le~d~Mj44Q&{?df)*iI=0xgWnjDWvwqFjd#H{IiZrIXGn-v${^j zzD;S?k&9gHUTiyg#Z&X>gwN@xViM2q=;bxs(71kCvd%)^FJ3wGcP{tgyKnfFXTMh5 zvw#ihecE@svL^ZHzUjUmxKeY5VuSvT8%tl#o4+}@+NbtxSk{L{|JURTtxRs^Qdr2M z&^DWg({66|vHdRm!Ip(}cMBfLU2gI27G3Pbx6Q)G{bTfOrK=W4O%}Dbdlt2Ly0jiH zzWjJ^k8AQi?^q)8&$y-NZx(;{#C5Yf-qs&9KBHo+Ag>!^ue40>BZpz> zM^3@q$qWVpp0hivbuZmI{$!2z@(B_Dj5Z1T-T0@JQE0SbW$^=r$?qz!xf)vPsK2Vt zURZgX_1K0!uLaNR{}-2S!}vcck0|y?dvgS zZ&I$xc*iE@)SY=7(l_7r-JjE)+ke)E-c^m9&w5KR-RAlA);~cU^B(V%h|qm?Xnt|s zE|+q1w+2qWZ8g2MQH|z@7d|}uFUC%JvGbGs)DnxyRu3x=M z-;ylur5}`7x9srQ-ebbAru^Gx#m(!)`DW8s3l8z?26d~#zE6#gsZQ!T(d55=+JX4i z_}x#g^H}h`+@zxYbInWHE4?=y^c(p!9-BXkPL24?YIyN{W<>Q|2Ch>-T3FVHO)*N= zW?3p4oq2Ze)525+yZIB(XR+9)I-k3mtrKNd+;u@M8*dBsDa^b(`9!SL z{u|L#XIn|cR|{?v3J`Y4dThMB^Q36*gRb|H787T2um4Y(it+T!Yge~Dxw0W&{lhzkS1#4+x0KvGSuFOXN(AdTsJ%55mSdc+(ZgdqCvkjkL{&Z0kz*3fGie=1^S`czv@&j+Xf>55~Jom40el z)J*o``FU}n+Jks|9J@i+gMFZ|y}`cCe?>8sK5yN0#k_g&2h z*7O921@@`W*S42y=->2k-{~Z~+HKK~4UGFdWG=ibowe$F)shbrF3gGFR%YR#Hsjdi z^$sOFcQ+~h{Ugh}d&-qB6VFD9Only6pdED4Z01ReYY(Sg)p%;SFRLceB+Kg3tBCIX zlFNDjB#CYREuCg`_Q(yf)-x?!-q~E+zMY=m_$F@thT1CvK0 zi+RoR4t11j87)3LpQp*KZSv{1@Usdg8-nkzk$ZokTWR*pWpOU&Pe>lwpLs>MKHTi0 z(REXXtYiDN|Ju)8pX7E}N=*B};R7uC%=K*vT^~PukG;fr<>nKImaPYaYvdgtTx|>7 z8F;Awx~$GZl_jEk7R`D5^x)0LV@+BaG4<2`)D-KUIrH{SyLkzR0K+UM!;N#+XU@&r zoc7+oFGiKE#F~|#mH(FcgP-w})A&zJfAXT><|efblYGM3&R+Mp7bwiq?B%PNT_ySF zYiambzN9NE2iS^@=X%SZT)sNucgvBdEbM%YJDU&9I1$%+YxzCjKLw`OopwC13_3p3 zt;qgrf@Z=A1;@vVGCy0lZarBmvL!{hP-oGW^Xy*bp67R~`vrelaa2~b_)T};!P2L< zZv56cD{0Ahr_nZ8yEy(=DU;8n@-?=v_qj7o_Kkh=-)nKA?@Nc-XM$hqTHl|ZRDP%< zshc%iT&}HyxlQ+F+rC!`ryB(%BG^Qpoek}qTqv>J(WWZYuu`N#P?JeAI+17dI)fh* z3e_QAO~1Y8#OwJpuD2IF^0sdEq`6IL8E0-O`sX|BvGTSkycLx4tg~|FLy>!{-YxsA z_2Kd3*M}E7s4bmRFYy1tuccS=YyYi?V6J%kr+>5jUf-E#US6-z5?W&>6V?2ww3%zI zip6s8Nq6|umn<^bvBA8xkDK-1MW*dv=FhzFal>lvHIoDT1$DOx)o*ZjGg{Vv_~P>K z3qCQ*OuUw%)tAA4kb`Hki<_8f5{I!}|NNX=CGNM_dd}W1i(0d#_-NsSU1}Se+zOTp z|JfsVe4XqPKjoH~shn!6k9Hp3`Dxm-z2BDh@@nkex~XgBq>i`S-$gyHofLM~@9`0X zBr{IkddJNUQ?|VIv)&Zu@%QdC_NfO~xz(-^oOR$qUo03 z5f74L6Qh-SrHxoVY_XoHkXZlYRn4Xr)_Mvz_OZ{!+M{x4}`P_ufPO57x^> z^;utZ9o@qEf^WKxiSQXk)juml+T&PqOE0DSWj$A4RLprbKuGV1Md}Nw#nyccYIE7{ zeqLY1Z2RQ(-43=x%-c^M`QE}+vO@I zl<3FDV9sYO$*Qx#Ow!Y9zs_A}z27(I)YKctc-uHly!rL+v|r{2qh$Mxx#ZO15*zO7 zx7endJoa$cys<>pp< zG;OugqG@yQukM{T%V@c%=~+b)$Mc(SB}?3RX*RELK}g85p8YKn>Nk4km_DA8(XdZ( zz0CXD-WPUEd}wJspJ#`&>O!9W=j>Os%>SOSg{^DiSu_}XH!o7$mQa~d5^1HUT3bI&`J(Hz zO?z$L@I(};B){jM7giD(6m)pgpJqO%1^3L)9oc?CXxr;)PdtxFl!^65>KpMC?)wn5 z?qia!ZpU>&%|)vEnfBsdt2gAk99ihHY*uOIwWy@ZZZ7pe&+lRh5fZQ8UN@cRZZmzu zy~wAPw|2%BTb++kj=4Pbn^5-~kr21zfBDS}b}S5XWS=jep>zGqqHS;NuI4qC&Q1Bx zb6{CWm&W{iDj^;hf7mW}ymkO_oc1vZ} zCpxl2cVQx*#FF5UT2}{dVy!{6M+}YC3ed%sD38otR=CxTEL_?_<<{lyk~>EId@YGWy%7gje($Y@T~c>H)QSB%Si`3w z^nTx?NR6LQ)-f%s`d;twT5?bL4~w^#-mi@*We_}UvTI$nYZ}ig5&2VRSKs*@A%9zG z_vh?e4cUD$74^0N%uz0CV+z!|+8n>#*d zPmXzZd3*8EmF0CQf?`H1+Re8tn^2qmYp3ylM!qGVJ{ZNmbo8DXc2)kek6}>m#@vnM!^)btftFJza-S zrhomB_?UV9_4bo91w=2sUc&PJtfPU)s}8kE4aQG0KGfX2SGv)q^vdziPxDS~+_10v zU&o5;|Fk#%ufOm6R?h0@_g^2@w4QGjo%UcWW3b`$eV^Ur^p50RdYQqhsCRzZArrwf zEZH{K#qX-mk=YjXyF#f;&$6wDzrQ=Hn6>3{=C+-WT7R!Oo#P$2A~Aj5lDx&%jOF*( zznTaC;F))Fg6zuJsN)~El*i5NZa)|s{Ctk6rhnag=EAq)6$v|aZXI5vHZ{ZYSBKU2 zh3efSP=Yba^X=6#nrm!S8vwy`eByY z!}r5C&+V9r)q~QV*35TP_bBrOo;-T{%Fm~&ZN~3X;-f_toceU>O5W|K+ja$8?A=#c z|6zqiP?@J|J+q(`@8TaZ|5t^c+x(1gT~v-z-(Cs#MM|1?eKbeX`<^40mZK` zKl9(bqpz*{YIDeQfs+A0uQZBf`hGqc|61hAONpr~RnN6>z%on7iYS^Xc8sEY)jvWvGPRe4*3Ad+FrG7plkh73`HiRrSVY ziq?Z4IUVkPb0!q$&5_vt%4W%B3)StNwihqiI$pjOeC@``F#8wvKD#z94n4O##e+A& zT(a|oi>B%npOdQT2XbYOM3%?1P72U%d06^b`<|kp=Uj@za@Y8Eelx2rwY z^yGAh=gk5$G;j8uyju1vH`s2)0#WUoH&=NEDpd$>Fpq2x_?Y}eLsQ~Orn2y)EsMNF zFS~MHy19Cf#u2`^e6}kKUd)|m!gMQO{r5SI2`_%OnM~BqzWg_JLZMWYlrm$=Q9i*t z8$Qh5RsNLuw(DCV$A3LHn&#PxMGODvzOVXY(g_2z9V(k2iELfeZ?=Qw+^LAuZFvVb zy_8R8T=eGP3gtw@uNMRZ)$U*EP2RnBU$<_=2XO}};VTDw8wA?!XRehgI&x8H*5RB` zwl=%%6Z&e`hBJsycoQ6Pc!sTr_`@4d?mcatCtrQc+k)S1$CA5$y3TwmEEcnAl-2ZG zEx2`VCGW&6VfC}W_w@TLbbDJ-HCxj%zVH&kT# za(Nwle(z{|>{?y?f@|?y|Ge9hg(7kf?7Df=Li?g)9+-tpmpo?l^_%e%HaH%gEZ(F_>G5`C!$coug-uR+Q z(1({{mW8~Qw{_<=+>_{!J@H!b%gy6zrTda{vPCr&65}j?++^B4>04g;Mwc0rsvHGA zHL8BM+pP87J~MiSzVuy**h&9h=YD$cq{FX!M`!!WtDkPXX)v8x{$b9iH|C3VrJRl! ziU(}CvQqbo#52h0rW%>9p0{}K&gap&O>V!k*|hK6ewlpmjpjeN%IAv;AqQMJpRi*QN6q?65vix>NFe!GVRX zMxOj^i_HFW-?ZMJI-4Vl)iWhv>i(JwpVKza*S0W|ySaV+oQ%01z0aeRmA+4XeenGr z-YuH31&6qIYDOx&7S27)|02@r^vY__@N5tN1Bcp#!mqA3G7I>#^51i|Z%01A{IzQ1 zJO()*{dGTIZd#s_D|LB!zU*?lDHXm!vv=KAtLl2KUR-6UFlSavZ-tx3*$$OMy6%|< zKmQxpgcnwEEkC_9W-oKXXA`D3k%i|r?|Jm#&7QA*inl%r|1D}_O)5RX`u%_Ujjl|l zNG=KY?BI)-`<{?^gY(iwdK>kbum>J@5C{r zExGjhA5}g>cBG-Rl@F(j~k7kEOrt%1!dz zrEOHQ)=$?@dP$qWBO$HCO>X=CGSn8l&)l%z?*8w*q#M`$7tM4DTB&B~weautkc7{% z$;?-5B)OHevvkY!EN4E6HolkfcVD`Ud|m76m9kEKGWo*y@&u*!cnexeTAKR)yQ>(y zWz$(@-KXI*=38$5v9vzp(Pg)@su$HFopL2_JZ1>B(@BvJe1Az+(z$BV;S1L}{1}Xl z{XYB7TR*o>Lp97GuWR#H))&SM`}}<7`k5|!b0GS;eua>(PNi@$!#-=h?@^97 z1XdS@73P&zEZv^*r>}37>C?GsDQRn*p7t)Evr}ljf%y5;rZe`h{IuxouM@YoZ)o4T z*gWDEm*R%1-8wcG?Q}AAd*7x^(cT^XXo9e{_0~r(vl%|@b1RIv>+qhJ$IIsCr3

__$evzIx>bZ^*}So7m-P33QkGsV&&f~5=s~#Tu9lGnBWWxFN z_5v|Xj}o`?_%g=)Fx7A&bu6f_noKfL?%fx88bhX2z-q?y2(LKOgm=o@|=C-;D!bbS<8Ci)}F{Wdqcv6ch8x?vhF`? zSwr;6y*15O4Vhj|nLp9#+L^cYPc|z3h<&1zv0mCqQtjy8I_1YTRlk$w9x`X%m-F|t z?B*NmZix0)Y;0R@@qbDtW89le+u&t?)1C*kYlW}gc|P@%e1CYoFH_jc*yTxIjMcV9t_@pWqcS5w^j5dr z*I5%)PZ?Ts9C11GdM8(>Y2D-`pUHja8sBvBmdh$r&?MKG9@9vU(T;)CI+nSS) z*_|##`Zwk#=(RQM-DhpFXupiD^iHc!PW}t;ul=${{WJH8FidJ~+5~Vgj z`}1vMhBNOpS+5kIWT>ARw)pce)@8=C4n5o!qs{%! zPd80Fw+b!$3x93&^{*%1v&)-G1?RY0!x@N)b>8UE4 zUYB#8I`e+!_rS%<5lbhG$-C@w#wH8S@V zcJB;bYO!1=v$MVGr`wMF+ILOT9dcX4!ed=h#2j-goMaD01>Uy<5O~vrE9fzO)d3`3fVasBLl?{%K+AGJ94i#b;AKDbfuoqOJmucz5R z2baCBzV}G0W6$f4UzYd#TV+JPy1}6QYlBs_xN^o_*3BkP=gz6hrdA29wRy7o=kDyS zB}vTj;TxU{mC37n{)fb<}mYVA{+a6WM5pHGk@N+o!_oq=w0IftuiQ} zinl+Fd!~}Ft6vFYuJ}~5iBq35Ivd8o|hP3IDYf|71I*P#FZvxKjrdE-hQt=44YdP zOVqDq?wyhO$)NGo=U>Y_m|pIv(93z>z2Cj;?(KGl=iHm-K3p!nC2yz8fow^ipZyAE zm-fA94mq^#fvk&h(ptr5X308-~Bx7wBAGsrPQVo!XW!Q@4Du zm#AH!Wv*$qBE)dz&NZJn-TdNPe^1&LyxQL}+Q}o}xXiapvR=)yD`X~Lx_-giL$B+3 zN|oSsc5&+)p<7S#u2B$Jm+VwQV_q*`_DwpI+kG`(_@KtK;sZ$R1CowKr||S`7IKUhb;x zi-eoMy0U&|$!-7PnBvPVDBu*OBimi^=>Mf%%UkY$mlR7``t04O8*2*I?0WWON(Yn7 zluspw@2xIHN-yn?+^+iS@tWql%MaOS=JA|JHeA@n_;=C-_TX7R9F^`&kg`$qJki^# zTa+a7hVRu46JJT`xlTf-Up!%(y>)lM>%)v6-mLuFDLS`l?Vo3BK73IBdt{1f@zu5Q zhpXhRqhE)xG+tkMDqt5&`bz<==f0&ylR|dwo6V;vQF-UVgXB`jMN`(alr4MzJ zQzF9??&djN+~MbBYr18mBO_Ls=*rxD>N971XUhHiDMy;Lm}He~^`~CQUlaYhv&xS9 z>g(T2C$2c@A{rvIRP5sB=`HhaoL_1FZKB_ns;^BIE4)jm1Y7mI4airHkL-z4nH*jo zd*=J=rH?mePw?4zdA^}}-@)DhL+;vj=B`W+s{Mq%*m3UWIo@{e{0X-r%l2>PvG?A- zWMIjj7B3UN$@~)pgyu-Der()SmT)3H)Uh`H^p))AtNnV*?!2C-U!$KaY3TRj>U^b@f{%5K zGzDKSu%2evttkGsPjZIO`lkoHElQZ96}N?c%zY-Tf3WdEV4vE*6JJ8#y9wEAoiWxs z%I@Q1zx71E@J63q_e0hmGvH&p%Kelx?f4fDW7cImb}UOOej@%bWu9Z8)7eS47pCyq ztE6O#Y~U)Cm|4iNL`3UTiqfQb;q1k0_^qZ-oqSp8(!E7#)mwk={ZX~Msbz-7hPY*h z)uqKN=HH2WoW03RCnC>giI29*;<9N1ma(t1Cij`1(+HlxKFuhmCOtUG;b_syy{wY+ zc_sHa^^5)5|M>5Fp3`xumu3Wi?%{d&DWvXXdhzx*B8H_3v!;|hs@MJa;n*{#P4_ml zG3_*(X2$-#$T)vaPDzr*)Qjz3nF7`3d~8{H?eW=`T3zeNgzhKiBIm?TTb;VPavH~} znRfjKGV>ZOWL~+NZ#3jsB3v3j^Md8Izt=hoJhO|WcB)MgRB7Gm+}|*DbM#VixxI}! zw_4x+)na^QbmoCk>hrCi^iE7vOl#hF>yEr*=LJnhbxs?H6?K0!PCvi2dh3?LwZAT1 z-kExCzRz;58Cu7q6@y-44Y;U+(f^!@lg`3ENj**4}aB zvB=B%J>NKEB>rsMwr)+oep=wWNkKuaUbn7@DkrbKJ$cH9)T>wLU-9vEeXUcf-ly~G z(S>${Wkq>a!N-bpBK(6zwr?zD+$g_B=h@A|l;l5gHPbewZwY?#`9UXh;lxXq?y@T$ z(aK55i$A{9FW2%!W^Go1-NoCUyWf3`eZ_t0$hRjFC7-WNUVq0>dgH#P)NQ-x|0qiR z>HLjzm8mS?2 zIyKSNxo3Bt-Tkvub78Kd!=v+7y*WW2(}KI6+>EGMBeGlJB7aP&Zr=4+)&&8<2R}^a zt6lu-^>vQZ_O85X&SyUtYpkA?ja&4g@3&q?wk4+Vt!fbI6cpJ$r!#cE)x>?T zw{n}W-ICDpD{I=chNhZ5I_|;T_uu^yo^O3z!1d^_HFtj=I+rk;*JRE;-{mrUzj18| zWxC5KxFk4XzWO|&M?bfpe9xPb(>dwx)kyZr6#{b)ajdVOQNonlYrQJxOk4M`<)Db) zR&Js4(jSYqv-<0)sxu|cdVIj~=5f}&$;+2+h&@w2rBL{hMB$ImHPghmIYmU?o_(?N zX2P+;yOS?WGU+nC)VpJ^@UrKAMy=15b8V2iE_#2*vzD77nuYpv0hD0#;j z+D!}hS=hKt;GwHX(z6fU(Wl<&d~^Dq)AF)5)xh+l_uGc$d{@-MW_3ir`_K2?{BY$B z#p&rY5?9}=DY^gsjCIQfFPnEhj80PRJY61K>u!}FzQy)m=li76xqb=zCvNE6dBSnt z%oA%`M+-hXL}l$8RG8Y`a4pXxj_z$(*M zca5KigzW9sb2Fdbu&s2RR_eCk?BOdak4$yT_gu-Ad@N>i!)V3q1D^_yKUraWVzu-+ z)tYnDH>JF~)86qzWBDn=$`qf|8bzG*t_Et}ll2p&P2#=^`9VF8 zoK~KTG`#*Z>t3ASo3~FtJiEGY#vzAmj{UDC9dg}&23?N0+%x^;p7UGowGH%|Ll8umKa@WgSCDGn@4d?ah4GK?4YttrV&D!u&pVrbo4j>}2z&z@?Xk4dww z{bwdvzKh$`rQv?i zwVdViWSh5_KYb~2pWbKh)lxgRah~=vnblpN)~V|rYAc9*m;NYia$G4<|wUMvuB2TNBUf=EZ@z?bRVdtQ0mH^%UEiP1oE--8tybt zzWgPDHF{-AQNV0p58+om6K1XJe0Xx_bM^4WWfu-aFTZIy*E!)Bo0+kd=0&5DATgiZ z7Rx33WcPL2{@88wNY_kA{-So?*5nhhe-asm_AOp5c4OLQI}annGmj5!z7h4R^6-)? zE8}=CJ=~h~>gccFi~DMJKAM|6SJ!Wy^?ZlOpu9P1hfew|VtKcwTUzz$?Zqqf_7*=% z;QhAhlM0j6`B0776MBVh)F1hF{@u6M=;;yhOVeM;+9JI8Lc?rZuiatG5^ghG zc98s*B(sob`-x=^0+-S>_EmGf_&A+yLL%1*16B`b4es1C&671)7@8z}{w=Xyo|gJw zs#J#iljo(%+y7D*8jGqf&r`HB`+Cz?s^)#1kG`p|;MKbkSwi3caUTe@TElF-j$0~j zeq>QSv-GOKb(@5X7u9d7y7YT_stTuAX7gqTi8t$BTQ*-c+x|{c=j)GarP}j2I{!q( zZZv(lgvoc=+|skFG&c8a7YX1^yt^*^ozFx|_m6S;dpCNW3cE7@`jlB8^tA3DV|>l< z#kOtHiWge@k6n-c&0bknf8WreF?zxTXYI`D_ctF|ikC0(?`qe7ziVsO?ny<8nTkB} zlOxpw-rab<=-4}7)jzKTVw`yPd|r0js7`pP=~@=APqW@E`6c{GIj{E*!=!`a+1w>F z{v4KgALDvW&((2jN8RMYsf*5a&bj|wXHWe`j#)b-%EZnHc^&)rVX4=&Fza*uqUR&! z*qpZQTlY_7bIX}$;&uu1&pLXj@(OJB-uqG8_JPw;M;GmU^#!{;=KH)ZIL~BrEzR=I zvAQM23oLHFXwTi=>h@wcU&CvbV3*rhrhVHRH*(f8* zYMq{*JM&TR;dFV20wc>(DbcUz_Vuhj_KflBk-q{5gKuYYvniBkitX4W_IBQ1`3p>! zEN1(QTk*wm$k*|T80lRvGQ4)``7~vjs!xRX)h?rPVj%q$aPQc;)AeDHrHNFlS@g= zmeHCwYxbtchh_^06?JRxJ?yCRd-*IMb-(CM6&$}BuW?P8cYkuFMd*&#v(J82-_I?k zH_@Qz@5G&LbH46;x?%;>F_A}G*L<{c^vhTif5L0;-y3J=eLT#|I8*+XmH)BZY!7}L zNExbVKK<`K#UxJp$miQXEY3H*XyRJ3_{CmE>+7Cf{9OLi8p}LxtdP{qkTP8JP|rV#S4D}FF*U}Z1v+onGKIfa{JSSbiu@+2634>BS!6OoG)*#o@Uk~sC4yQchL6p zk9B03Bp0jbMa;Z^wd?3H2M4u%C(rpzniS0c;7eEc(=&>7+R1MupLq)^N;P{)G8}%j zgQfg+Nvm~Ybbwxv&Tm2K#HQ&8=zrOi%a^zjxyXyO=C-F!siJwipvhP>uaSx5! z%j=Hcd#R}^Z}8Fel!8+B%IHvQpPYPaH+n6(e55N`{BDxwsR*CLoXt#(8O!5d>{Ml(*{&9J&s;oC z^uc4Fhj%l??E;@nySnvRy+e1jxW>6N_m-P9%dh!-=+ZJDXO%6>=N&pR-M{(Y(&)wc zVO&8QnSB;bJ)OQ%CR#9uMQr8Gi)u6GsH*=|wY+_NLEZFKB0JSegC!TNwrFzOH|5;! zZ+o|#7y0Ek#<_p}C;XD} zUtF?h!<#>;h3O0V>v$5+at1z3za~3t*^>`DLml<>1)n6}bXGC1aTTwhd~{{#iwk{6 zemWo6AFcZ}thZQsLhAz+UrmkP;^PvZESqHR_5aLG-}S~w?zVo0K>DoAZIAWlhqLdx zae^gkD}O;^%Z23`OX}SBwYGHbIym9IZMJ&o?x0Io>a95w6IBkZn99DiGt%P5qZYfh z?Ms3*y>3mueOuD|#DAsRE#7Ah10_$LX{icKTN#y)l+?4%+`Ikz3wpWd~+}>2KIj_MS*Ix(!@l5Zwy zcu#k})oIT@zVwM&%|~uA*L(a}!r{QCtlxCYnNLpRNV_=uHzjWUQzzoTYtGnUzR%r1 zMDfDX@UD_2DPNDRUGX!)NNt-^QBI%(W5~trd)ZRUW;ex4zYu4V+_qG(ynlh5D^q;< z^lblsH`aYHXLmXFyHh*PRZ!*RWasjOW-gJZ&t2%yTFG}p@2>irNc9hiXD((`_dM#d zIu^R;^(U$BYG&hHH?Mj!O z9awiy#3<>$nzPB(rE|@DL#f+;mA63(+rxQRXFhvr{&e+a zmUZh_hrYgNlD4qsKQHIfb|;OMhZ#$vE}aeEJKtx9=jGpPWWREM6OUPDf2^r7d;SmS z9ygI+_6thQcsk1VKA6JXI?W{Yl=FAnI?vJHGJ~OR^@VbtnP0md8f-pP zANjatB763(bL-ld`9DmQjLKb{KU=#iOw;b*#tP4Xg68O*vxL;&&CCltBl`Bjwp-^e zrM$W6dgf_dtM2Q?uOf2i|GZL`UlTHa^T)~F z(z<5Fr7$(*{zTt*IbHXe_c=2}1pA(o41NB>^}JJI(K!|&DJQY#w`NW^7FlDo`Jc=g`X@ zp2wQ=#BKV-wR69_tYcbTr{|wB?ZL*Y{~r8tJu9@&;EZ^Pf9vHbCuOv*ng(o2Et&c9 zV0vQLgY4^Xg0_X8$UDb4`-1G@T>nq$0Z9&Sm1;-sGR@VvY&5 ziT3hpDH=WB5UjQ-ah7Xbz^gZ=(~B0XztsSwU47}LfeUrA zx+jRZRNJXsy3i>!&vfycEPwH*e_S*Vu zM_Cu2UVeJdqyBQQRG~##y$hDj1eIpN3k+X6S`k8my9*_M}{?w~0 zSm*CeF86-kmH?3mr8@VB=-tM#?M4|BO=T}+x7F6%=(&G%(fW*pB$h75#eK(k)`(8x zia(dVKmW&z{o9{k-(ubvy*S;|FW}+cGnvvmivu5>d-(m#fp@hG0!>FwKA*qvjGRYG zYg^@F&DYiU564~<3BG;5CF5lH>pLR;SKC|eed^}e7WTE)c^Ap*p ze2H}b|4;FJjzEHs_JXa|smv$rMQimQOC8Xt6tdi|{Q0%o;})S+kHQc5=inT4zSY(e2}_rLzOZCYW#X&jiyq4qKX=G?J)Zj3=~Oz$42gG9??uuk zCDbvVigpdw%DJ>e=*Z*Ob7KCSNvfY^aA2Wz^Cccb%~bu_|K~sK+P_)M-44+Ad>95}t~$K22NL(;yo%S+r@ z=vCL1&lmdkr_$>8KKXfPKWn9Hd4IN_{%D=&mHGa2J-fFyFW`wtc08jkG$(3{X5~-y zX{Sun@29LuwQ~D&-l3uE;Ql4bQ{H?P{v(r-$fNrAzup{a^-ASA=RDS?uTwsDzwDFq z*67_6A7!5Tv@`R^Vjo5f5u%&6KWUY`jTLh+?LYV z%o8p-Ws!K$$+sd?H>z!apw%<4f2%~X*uJevY7N?R5^bNRJzgPhyvF$IoC7Z#Onrk+ z*t_5EP>;D-kmB{o({9bv&T}G1&CRdQHGUS!Fl~OC5NGQ*zXgvxs}@dprMANRxO?NW z^ECo5yPATQ@QKZzvuAIqz5{1pLGP`=8`^;vy-O||-F+Z?w9AzH{J*Yk_wT1GnM8d` zzkek2$(bmf%lpmbe%n^--eIbo)OIeQ{pOmGJBII8t8Ww%uw8fkZDPPiU7PLghCTCa zgsNiVGngv%+9J1ScrCYoASC3!Fy@`$HJ(Z%UfrOdOgB3Xi+{d;SL$lov!ZDAxg)0z z&uzCq`HAyQU>|G7M5E_Emldbays>&h^3Dg(`k6L3y7RiRPO~iC# zM&;zD8G#FWq%T}c5@x9R16-tv-9h0gQ&lSiC7T1DlwG>Q{-Eyb*L#`1*>8_8Z8@JNp_kvY|Jwlgf!z1ZLbkt@k_0Q^J3fX&-M#Mub-M+BUW%MZ(hvzFOyvx9O|2Wl1xON zXgiu03&m%q+>nt<*_e?Z{%4izws)6*>1&yL-40N`mbeW9~y`4nYmL#2TPan`iy{u++_a~l|zu57#aP^ZJv zz{J(B)hA1VWp#dbNaz1+&y6RX+*8ucR2(@~FVv>-;p4XaZO`VMe&aHcFSzOan>~3^ z7Rf)Vx|`m%eS{LczpEzP;XeIk+b!I(6`W)!TJwk^gh) z-d??$L+ZV5S5JO4dY>{qXXf;V>)#^`6or2LtDbpgb<5)C^PHATMVV~eV7cz{^PVf_ z>3q3X2Q$1nzf23=GCio_|H68^Mc-=-&%bTh+>-KQq0GEfy{r8;UMXDb)56w#Z1wGf zks8yBe^}I7zb-c1bYrvc6gG41;7({S8mHi$|s8{$3-f zqSAh-aBbwj^rJbMeh(LJ)(!Fcd1+#=-a*GrWrxL=pI8*;RH*an!lh?^--3QB-*%Z> z(^a<3ebbct$9R%vImozuo3LI{>R85M9;a6ttBZviZ&`ugIv5O@5ydJO zfWIsmRYVgzso}PG_vOuglYaX+Oc?E@(hU}kJUy@&2bwQUOLt3CT(Q8naT99 zed&w8b7k{bo0o3g@}29^hx-cGWeeuSu3XJ8ob~_QDV-&j2P+oUGQM7@t~l}fhUvvI zi+;u3{F1x(=JJ49PaZ1mmbzi`zQvsH^Mw;i7j|w~WgB?pxN6aRA9iu^m14a*C6<~; z=2cI4mA>>)^GenpqnC*qO9MKlvnKxkQnaG%&ahI`I+lt7#)CgPYi0tOpo()fyzpW_S`#R=Q`a+$>hSyj) z>?#h2)Ko1=DU=gpJAUW4-nA{SRrISkTK|7Gy{Y|bO2&dS~yo&i$e)J)g_ZvxKTjr|yt;fja{~9KttHN?&!!mm>NsYWWMX!g#w zhM622WfFMIramobSn|BIvU)}2J891(Z&9nCKTk9=&Ca)Nd9`>qqw>MWqBkbjGiK>A zWa~9*&P$2g<+*nIBu@KFzYlhu-+rs~)p5Uv7SSi9j`;Rz?tY!J!o%b7;e{L=GnVuF zcw6EjTlM?WI&dSH=>r8L>@68K7tZToBS zSIdw7dE{j{&*8L{YPl~bi)WUxuSd+BgAdF$xt$QzDct|HF-dLivb7&3$(Qc$4|=mG zyGT1aFOPY{riDdUi&wX;7kzVp-!ZRj|I^90UTk{S!uMjfIp;LR?2Efne-!aw+3DY# z^1>l<|5~=pR@?rEsR{)@AL3K}-HD(`#kvW4?gjPIe-XCH|*K3~nY@B70a=Q6JK zEV^ZKRjBU0a@|31;p*0N?rTaoG|!%z(z!WytDD2I!>;_+P7lw`Xp=hMuDH)s!#Ui_ z^g!I3a4DgH?XRp}NatL>^t!*=(rSLl>I{o1&!33}*3G=Ksz`Q=VqtVDcj$4?5MR5> zQ;xhQzVcOiTB&}8?@qovAGG(A_s+{#et568S4|Orw4w0Xh6}qd=t}o-INWU`6X_yu0d#6l=GRh<#!Tt zCvN}pq4v9tk*MZ-?U^p6>%MngO+M=y!BOY|M6n|G}A^L?o|r;Azd9^4mNS~5Sijo|GgI4zrf(ln$~%xQ8RaCoZj;y z?V{M^xU$~N3pb>DRD8aN8a!Vu`TWlIx?*wmNiMUZdgZtNUw&pU>$B!91rxUk9sK*N z_sFfsYEf1^2?C}XD}Q~M+9v&C+v3kM`WrK5E8i`awJW-}{&7 zEV(1--eRFyiw^6WG?}{e>^iKzaha~+#08N>3(v$%W@O%`{9dQPdb3_?r0GnHXJ3tO z2j8lCbWmEM%Jku-Cqc=FVynG8g%b^Y?yoyA`HHadp@s>{CKaqsHP>6+Zw6l9wzB_~ zjZfmARS%~fIM}J-b?hV4?AB`n3Zb^^B)ruYsPZ#a|FO=w?LR*AT?-RC!#U?%KZka3lFHNt9L5DNc>2%8 zp1C}gX%pw>v#-9XH|?Jt7jaurn)gaaT9K>1(&M8W?sM+Xe8jg{@=cQ)Ys$KrPYdLa zJX`%siQAIfJlWZDMX}&(mGZ#76+2^eWu#dewlW^PZc=w~-$TJqA#B$oeP?gg3o-OP zc(Y_r_eXxMxv6U`*6O}4Tkmc&eWCjM*OMBUrtQ2aA8>ivqt&%{%XbxMcZ&!MY`#*N zdfcFxdl_qV_R~EUJGRb!wQU<`l8VB_{HnZ7&&_f!eLeJE;N&cS$#BbqCiU9`rpLXk zt7i_K1S`Zl7lHK(&&qJ##DaAOB#v ztS=h9W6sM{J8v)iw>@&(<+%y!EmQpqua{mrx-hDaq3XY^!lD0jeyi+MIDCPRA!c3i zYp*SdCqKq9w@#g3DgL{ZqwL7bcPD>Lxs|v5$1KwTv$=-6tg!(RFYPO*O`E><)q5}1 zZq97=IiBsj9ZRhD&2WGDDoS5YZC8o=nXJsePCtU4_eT0XQ!G1jNM*vASlwAW`kS}c zUYn|adRpa@rqqD6XF!v+dT>-;#-rRe8nA z5m_DPZxoep-jGt7WaL$?a`98cGlNb>Da|QafgBn(UEhCH*gbjV=g7S-+Ir%?B%zqf zx7T=ND|}+ON{{hPWO}!=ZEnc&KZz#0=iZ(D;mG{5i_hhEW>rWFg||HjI&CPhbAdcJ z=kBGN0&7_txNeoI9={-=`Rgvv(&;hm)h8ak?)+o-$~=D_Pqm|={v*rVUJOqd-fH&n zPEBf8+MpeuUHE!lM2~(-&SvHR4?XxTk|o3LUiNrv_Oqp7xt`&-lU-r=zs#GxGCga; zmg8XoM#Z}Pn#(?BIA~~8`|f1PzWP$_@Xe6QuEKRaKl!%>bA6l7bVsYVwPWcs`P0nZ zSyorC6isS%h|$~Q`|8chWoPYQD3r))Je`~Smrv;FE2kZIBtNkj9uYZcy(+!7)c(** zt8%todmC2Vv`%Gq6U+BsXcx9bC-P$IB_&I%KP%5I6$(D{)M9V?)VyHLX%kOny=Mt4 zwf@2J|5elGV=~&MduDNT3m*u)@`gnq{P%T%2WO{T|8S|#n>j{rb;YA^`Qo-I5^6^G zCT6-jb1c6o^q|f+$6RDr_Q~7x)VKU!+*%QtrFVYwt%?$rZBmn4%F1^+Ph9LPBen4D zLC4(=zfZoLIi>xH^Nq!&N2c}r9XZ$*fA?`eGwy1zGYGyn*E2sqb=mgtb)sAPob2Q#u1Kp6V3V`RoW8?*+4HZDlaBKTUW$11 zV9vS2ngtEH8^ad;dvE&R{;-J6beD#Gb7L!oOx~5fm7lP_M>B%A({9GsIsaZT|M^|9 z^0Rl{_su3b@rqA7jd~xs>+Lq(*l+%<@#&GMo3~cFY095dGXIj*JLmUn#p^c}_g2i< zC487|mq`q3-|{~hhc=&*o>vv&HRT&e%Z#Wc2i&?HeyE1$tqO?IHt0(C>wiD3NBO_} z4EZzOe{Go>gLPcA>{Z16?wuVyk3Giaj+$MJ?4=u~caus2e>q(0ofmU#?QaiR*D15U z6<8frvf@ul_|m<>sqUbSsce!IrScTerF1cx~+%5J-S<$u>21JV4S2V1#+X)klu-6I;f zB<&8Tg|i;--HlKEYNNMgnHpwlESjmCCLDNOK7%hcM8JPTs#e`3SHms0KY7?)^}lP$ z9a<_Qu=RQg!!7<>`PRQuy4Za?*M&wb+}_&6bT43|yWFd)^my(!YAduJ3&-rXYUR@Z zyu&pA)S`6dgGPP~$C%SfT*?n+X#Di5`Bc~O|CY~&qg<1xuDp`5xhlfo?mhNJIahyq z+&b-bJ+(SdSvt|yb)(=XS-)5F#21IZefL&wPlL<`)doYMG-=_gU$5e|rx*C#6^^^G z{e{%0f}$5rvGV#mOb)V7JQLB?$o%$VX2;)EF?DNad{xotUb1ST+WGZs_VczCSM69B zGwqd>K?f( zebgz1%Qw^SMyB@6`4<)U>D*~OcwyRVMwZ=+!cGc1#G1y7%#F-mdF6uIk2*Wci!C!0 zofzgXZCQA>*FY}sH;<9JljHoAt-7i))205uJn;F8fmo(h=D&&W|3Vl_O5e$6&W+ThVj7lrP=IzZ$CKgar6C)AU3@Wj*Gi=XV@NcD7wLH z@FM5arefCW^eDGOF=kI%vpZgdJ>{Qc@mwJP%e7|*E=;{J zSl4CuUH^8pPmuHOWQK|USAK1EbC*jxdnYMz=X8JTbBZ;89{THX)Tn%M(dpd1e%sCJ z7JJ54jqOU6`<^M?s}Bl|K74hachrPb(H~~rOTL7pzW8FWBbEEjtTWCW>*l9v?%rYb z-?44kuZef|+8vwN@M*%!HD{EYH#6Vaee=Kba#72GDX%#d&Gs+*z4_6OYvxnWX_l0$ zb5^#9ny2{A6gqp~yX)Be)&+^TTlOb&&&(?*n#`cvG3%k&gRfeQxivm7B!8Ua`l#xo zy<*8+0dDtQw{H7JKA7k7VXf<_srH<6*GX<{WRy)@Z=dx0hQ{;G;6fkWw~Hfg%vi~} zg;gkGU)`h6n(qTk%{C?aE{c5VHi;*MU&3l*(T&?XgmR;FpU?fQ&k=k&{HL8=oa8?5 zDXPhRJZ?4&InFIFngY0&Tb(Gob9$U%0Ykg=>*6wXay8iA4hd24w9NV{oW!lDCrZTD&VSOed z`y3A~4Lu=U5R)+DU;3SgdGoj3Tb8CT{#P&khr(W+OoN>n+iTl5*7T>|7P#f4zfSi= zTGr*|8!On~cTXFn%2~S<8dpl^xS3TAX%OA|$xykhR zcEK%1wjWISd8f#F@viv0tlVtLZiD%9yCf}>9=X(VhOv#W4>?DV%uFXak3N-qXZ z6?svSa`xnRht_MX+y@L8@>27B=X(T8cJ98^ZQZAkT9wviEFUy`a}bk<>GN-{|IeF; zE1#0zQ1nCR=wADu7MnB{K0NALd+}0MT;QXvk!ttepJm+5b~JQvpWFHz){=8?E}WdC z=J!8i(}4r8FLM|Fxs_}D{UE==vFr_pqWh(98;C#Hb$6je=CeaR%xB)r3tZHGtcm%} z+5`MQO-`@z)Cf&ntJJ>i`J|`|k^;Z-Y}Tz7QPfNj>5Q1%RlKD6rqv%MhO;KyLzZOJ zzdkW>?kj_54u-)(?=6p*eow2oOoWGWfMYril6$org zoaMt48)drd^r6{@SLriu@QvDDz4_5YUnkFHk^kOLXOqsDEnS|Ikbg5pGcu?0-c-j& zQOz6&?tWgX9oAiV>;2Mii{^@1{7krAd3gC#HqPYDwuU~}Rvsx5ysFkwc#2_0t5B>% z;)T?eOnI>$y-E(R^D;O%mY-aipEO@}XWR2NZ#EvhA=ux$;MT){9Ld)Qb~rXX%2kej zx__d*#lfxI9( z-tDiRX1cZG!0qL7aUcJ7_n+>2nx_%Fddl^leeLfuXXUkDui8E_#hL4w+%o-Jkx??o zeOYeyyl3aM$o~E1V$7_CTRvV4W1ald{qB-eoeLgRJ3p`4YRnZq`B=oXkgZ`4G&7hs z#MDjY`qi>)@!a-kn->vkDU7DA78|YBN8eCx6w))DZ zRae(pr#1;bbeD^*V!GKA=#=}h;^px}XD`M`=mb<`x%lk5r)br;?ZaP1=a~4z$3L#q z4QyK@_2y+2e^i`tO6rQB*)2kA7<|v17u>(<)YNBtdzq#!dZM;)<|eT$-}(Dv8@vC# zILDB&kgsIxtV3G_wM=c(_c0}kg#TM4Guii&3BTXt(9O51CnohG8AcbaL|nY0$h zKP<0}RA#i7+!Nsg+B!oY%%&QVe=|K6DL>&Kb??VNGW^B7f<6=q;^$el;NSrq#_^ znP+A;8cXNd&pi`za!XO?&Au6Z6DnuazLWXt74WR}cKXIuljM%3x(Rf~%*~symODfx zLrR(V(o1FesqL}-u67Rh+c#yNSgV*>=-J<(=~VHrr~7TgrV@YAl}}3+Oi9hzvM+aE z^r!7dBjg`nZ*dBpu)HU#dSY?aZclxe)iZa;p1$7Zar~V|e$wJ84!&E>g#2AL7*@z# zI{$gUgF#6D!=*{Ap}~?p@i7^Rr+rT51vy4td8xV3b+!MAD@L{k2Xz(BeD&QW_FZoO z!%IATNJ>j+xzFG4le>_9@3!rNWlzsWX0N~XtHLtJt6*WC zm0NYN1JQ%ocWpW+6DI<+pHRt z$YRg_KH%Sa(_-TTt2)_khxqrV<^78IwNFldf|k0(xr|LNdiCr%8dvtjzt)t*6=(;mZ}4`L22Pn^`T{CKEj*|~oLk0g)ln3Se7DR01JtM?w;LW*qf#vJ51mLkNI$-cd6!6oS#R)?Ft5~72T{?1jsa^t1iu?z1u zG;A|VcK!Z2Q6XsW1~0{q+rg*r{9Lp0MDpoZhkGt8FM2t3^A$D^Yt7@U{e3?faTHDO zop{WJNxJ#M*F9D#3Y||Db)ReS`2GB;<;guhs@oV+E57l+IAP!LH)fM}$o}uwqjJ{m zFOYq7m~rDl^_9oBoLE%gkbvcTSmGBy`g2_|3^8f?L-K9XR4PU+4S2g?2`qRmb>jo=;PdaPzn- z=_B{qe4X^;V)j46QnP$KPR+mc_QX!#7e+2{_VGa;ol;g z)@}JEbxtg-#icxJ_rdx#9O1gBJ!XsDI`zTyz`a-dKIL3Ccb&M|oVyT7OH*1s=P4Vm4#LHKUUX6ttaPnKLwP4*M}ay;u=rmtr($Fqnq zro;0W<^(@{leqJtfAXAdNtSKDC7*z3kq6Y42syIfMV} zzFxFva!Xy~WVQDPbKSgePEl~!|EXfyo+}b|)<4cis`qbpII^O9(%+xTuY?7UROWtM zp*2T?=amlo8NLmhdFH;mmYLTUJvDOW)fKZ-u|y|&UntXW-_Oz$fl~#2D^H{Ki#rqg)mEi+WKh;H&Z?@ zF{s+{B{!mfDoZOLt8g7hTfiEXml;#tH=kX>eC+*Kael31@!t$Yy3Q@+pCq&C?#qM^ zN)q;5)gLVm{OHhoext3jenD|!osUEB#yPJZ?|M;}(-D|_MJYoxRiVD)$*JVmJl9L- zsdZNrE@@T?E3wzrc|N^cz5UCJI{_>f720PGylig%RWd1AOaJ*5A7GuTP8d*Rs2`>%jMdnbRX$ z7WZGhyY#V`^7%Q_H2+Og`fkyGZFX?JrvBmkilz4-K3ST~y=9uDt^U^ApC|b!+k8B; zMxFi4B*j(dCp#&;xU8Cd$5Z_JD(>E$%biaq=6&2Shv9;{-ll&cTy}o)eQi#W`xZFc z->lD`lQcVWu5-r(<6`BE1cUC6joJT-7OxKM zcxT)`|B>)P-O5OVmk}Z*GtLS-@SWb+6*=pN^}I~m{ch>e+9l>IcKF9c#@u%OD5;Q_ zb#t2bih!b@rwUAVmURWsj5%R7^+@{c=;dGTU%lRDkzm0(HFD<;q0C3`3a&nLaB=Ic z*mL^R?4Y@?o}baXJwx%n*=o%fQS<&i%-iVu%<$*dWh>qk?VJDYJKNQ=m0kI-Gju}^ z9g4M$y)OIZQ1)!M9ihSQr^V+7>^W&arL171v&NCvk~^N<_rCg zYrp?s*=k$6{C`JMILwnuL*J>Z?A~6#|CZzet7Z2uSuJGvU9crz|99idMbDfUdfrGs zTGkrySLb`~#qgNtdp1j6Td=-OpfIJfO(?%vyZ4&^)(ujpTs(f90N9!oljC*4D75fA#%L4RQXh_Yp+SVH^*CfI{ zXSXkNeoS{yv3-y&XXLBwMT}g@Ui-9e2d_2A&R(zo5y4$ok%+a$*dN8+5Ab+UEW4JeA>?FL#7urtp)11$1W_JBQlBOg#O|e9v zgQfCMM8uC<8-F*rNbLx__Kp2`+r`6zg;$FwES~n1xiv?Y-_9cO%ZE*+p8vV8XQvB@ z{kyI4uJ3Z$Hm>~^pSb_8mo7NBBgD=(;Z7LO=A`hbd{MPMHzp`BM=5OdW13U!cJUhH z?33oEjeTlt&zF^UZ9cVAtmoWrMb70C`|n@)Ry^U@3cmQfCK=UJ77Z`{RP`=@r!S_y zJ5u!G!@{NqMJ4)Mg{I3*nDxWZep$gU=lv|slHb;BcYEWfX2f7n%(L70WXZ-pRfTrr zx%Ds2q+WHs%nWE&sy@i{>S@ApF3XA<(|>O`O1x%UXuQ-qWo*g4l=bATNxfVBoNgwD zgsu@g+5RfKveI(z&MBw-*Xm737WQ$NQ&QC5`%g%1&D_HYxvg{0eNY#07Fg=YcQ*dC z^{E*$j}ALU{@lv##b~i3u6uin9jCS3W54NbtFC@kT047vVEZJ^=0(Y=vIbl9ufMcj z_kqoC-m6o_-51W>e4Qiz`oq_Vq}qKYnU;?bj@NV^AYv^l9J4dwVyhPUT=(cIs^G!b6FXUPt}ep3hpR{AjuQ z=~;EgpTj=IzSP&@Ii_Dd$yCMX4b!avtrPn$)||-G{l+)vnt#~IH*01lCOrT4yUy^& zqg0d2Wt$FlS~@1B^j370fA*htXZf?K3SXaTT~nNEyT^h5GTVK{?z!F1CVx+P${m%o z++~8jcYpt$`5iu9yG}<4E4g0^NZWE#tMhEs2TMhdezgNaJ7N|sezKaSq`cEWg6k=R zUC-_-&Pn}~OgsXQ75}nXwy(uJ|Iub+|W`mx?`j6TF4Y7N#B-14u^Qgq4+$u@~^7o1*M zFdLn%+IvlXpZDA5Z)+b_&flatV{uIA!=S|~A?95(??z1Ip8x$NN2u`x1AEa22cDHz z@d|U4ob}ySYnD0P@#nYpOqJ+k!qJXCW%oYax0>$JW_{hOO?vaEo3AgLR;4kSzjc|Y z=(X(Jjmxa-U+v$ad1!mzNtus)s{$AwRjbX(I{BMZ+;y3r%9lSCL4{H5m*x6bSLueF z+ILfJSM!qzDg`F*iZxt6Gk%_9@g_j}yhX?{<>i`3yv;suWPEezsrRA%MmgS=_VSI# zVsjsPvX(knM>S2KBdnh8d%SR+?Ey~r)Juhtep7V#ruoU}FeXpXi7sZH;j68<)pg#2 zIEy%q+JYR0y(-t3PJ&gV)@|4b|A9y_p1<#hbkMLcbrx~$5NElrW13vOHHcgU~d?=#K$wV=aF zX-dNHTT{a%BUvv6a%S@!Xx!9Vv9a=U+pbdrS##ryUM>tV?!26rt@8eiMgO@n#U7We zhJ%^BUyVMuANl@$rog(B);X=>t0um$3w$=Ia@(as*6pt}=3beZacpzW)!8b+r4mzu zwSTu<`h7^)M@PTqT3T3{_L;i%*2ls_gcpWHJyLz6^Uax!>u{gfRpFO!K5*|}B>CsW zlkFULPxzeK$=LFV^LAjZLX7{l_A-Gt*H()8=oz$Wa!&lNx0W~SRL@c!g<#tztLBuQ zf!!;#_#M?FkN`2H^F$ryw}zXEBV-d>PYkCd%LpKxk*(0NVH-xSe3)saD89b zyElKGR4wHS;=?XY`uFe7*V@SkrI#KGQ|`-*$(^ZTR`c!Mg-I^6{VVQ$Saam?7E7@i z`{SnOBuz1l@=D;Z+wNW+6>=&5fz9Q`RsU-m?UqYSopr5xIe<1>=;;P0LzUmARXCKiO$G?abFR`lh#* z$~a& z()T~y<kM2Se8O^7#2XgXN!w^z?b2AK9d{>TQr*St6E>MI zU#fZVkF~hUo<-Kn^&a`u1(^Ry*g0*A^in(BGt9p44(DDGnS)-cYl6M_#TRsTJBY0wzNuChKspozV<=8BSCxRjAv{>kdu(rYUw2yRsP z{wTg6wQki6&8mN%IiD>$Pt>0H9p|3XUEDUI*f4bG-c4VQ+>QwJXp>kRzC&2-pnh7t zhJfdjx3Lf0Qf#gR#qLXW0maZ&n?WvahowsxHHef(uZpH!A5FPGOM zo||WzH>jtt)2x*|+>i<8jmZoA#AtyggAg)%JVP zNi#_`S!wI}8`MAT`?jyp)UxtJ!L)@l&nhoT{%s<>LNm_rQGDFWuOY#`g7L1jln%K8clUmz&)A zx8}gQrxP>h>m(R?ZL#$e+;@_JOEfxXanReALd#{3y$_VX6#cm)?aPy_D;fvfQlHM- ze0I0tl<$!W8V5N3`Aw{4i*-s$+`i>ng_xbVh-%C#hw~+@tJmhPm!B7{Un!h=gm25i z47C~Sb?akur?JYYik$XwE3hhid@g%gtl>}9s3f-JiC5G-zPk0O&pn@QA0`#XuUsIR zdqeNz#xqg7F6!TVc2My~VrWlXB>N*%Gym*+6J6PrVDSW3ZF~(*>9e0rIKO(c+wS&G=X_B| zU-z}!5BYyCOnJO<-*on4&So!+BA;wXjBCBuG-GXsqEgq4Q(Zh0U7lJ0G-sFJvQy=F zSYp>Cx%{Q7sdZb+xPz^}vCaH$Go|S4#nu9J7~a2nEB4E_g^|84;%ORcQ@&VU zva~ey-uf}sFRH-4&NyeO!i-}AE1c6(OE&2qTR(}v;_0KQ*Y+5seE>F00CaCkd=&2j66GBgYJ<067_gkrUvG)H{$Bn$> z@NA@2!ww`yj87n1Uf4p@+ShrVS;@;X{J!*G+FBIzN zh#gtJJHC5wYDI!3@9QHruRP{wd|SCBq{VRh-N#Y;H|^pxp5-ZZtj!@mGHqG+@sdkk zM!R+-{@-|co9p(KnFXhFucV*8b@&nczf0>5hKcdA@&7sh_xWYfr0mAyzf!DOikc^q7CH z(lNg(*_7wkzWQk>tNmEL-X`T~kNRuJ<;L;4X)k6MOp8dW=kB`oFqrxD;(PH+K1ke+ zJ(lROex8j)3G(Oj<8SH7y4V=@G)b>ha z@&2{hGux);+aBDY#q3<3q&RcWFZu10DsAl72}-?R_x0%l{g*!@gi@yzJeek7V(0x@ zJYmnh8IYo5ww9De+; z^O|B`uTo>$nb#G4GV7c7Jj(tOxx8O4^segCt7oF-Wu999^vh{0v6yq4G^>oB@9a=Y zo4MVzb-~RQIUCkJZ#aHFtUBnzrRj#>f3+Kh2nx))pUhlAuImc>@ zN=)V(KK1R0nXu!ILT6gRZZ^SkUQ3VfT~8f5bVLOfobj33A@hMp!`iMyOS?O8Rzl~a zX+_z3C6E4yy-3-*PAlbP6l=iVQ}r%C7yX(m+F-n0=b$3jw%;35F2%l_Vr;P5I)uqM zpUdj|%m**7g#3^SZoXTS<0e<_BeMFKh>_-(t2&2XSn~DGVL9wwwU_5d#j$EZ@1KiT zcWzPf4rIQ&wPnt`ch57}kFq~)-8J#MXYY+{k;Oqj+^5B+X@8f@E_BJBV1DKCrzuM9 zRn;nU^;`J2{ZKr(MyBT}2lvDeJlc6jbf~qw!ku0e8aONk1E{ z8znAh#v4Ds^mpBZx~?rP4Udwzc-&puR2H#vSSShMJ836MHr;NTy>H=%8=D0E(;}br@oe3d?xV%E zNzUeJdQPkA@__L5r`^{__bM&l>|489p{$!LsPS`Q|FQlXul5;#oafDZagV@1ja5O7 zpHqFsWjQ{_s`{%gEccdmQYn@X*ZFZV@6(T}yAQ3myq&Oev%_wk^|`@MK56FsiTrl1 z`AwzzvWAlf|IGDVciOcg@bgWxBPN;U6~B14o@BZA{(RCyf#cQL2ia=%Ej!&ApC=r6vU|~mUpJgLta;k|H0et6e$k&g ze_Q^{uHv?7zOFkXbLNaAm)VlIn^`rR4sR}*x7fe+_>niP1#ez`*6MOGVa(q4L*<^g zj``=6N4a~BC!M_<(6K7{=fcoGnGD+BLVow${`jZOBS~1KbYD_Q(4CK4uDw^;Ud7G3 z<(*2X*ss+)N?xsA5ZvVx=oxTy>UN9ct@~&141BD7vZnId%%97yU%GS6Th#6B*;$vQ zey$e!Tk*~HZ|>W^68!^K=Gl_lbwWPg6TZVEHJ^Ll>os$l$u1DHpYPBGOHJpabC}iV%l+STxZq=TP}`(4N_!(W&i=Ic z`1EykyN_=>b9?Jd+mEL0vRR2Ii{7Fj+! z<=Bmf6C1xc-iq5O+pVW6H|27_@Uddvle;V9{1@$dws+mDFG|sJMzgjYkJPYuYstYF zESB$nPx0rzj-o1e$>V1)80oQPeBb^oe{P(SAMZ}J{cqINWZcEFd1gFRWAVz?o)f8L zDa*9=;O7`unR^kzHzoHA<+7(eHLKP-X#FYZ>V4JI&Wi0#Kkj{z?_I_6zQZC%eSLzK z`ey!fcP8*@WS{!5@L0No)X7fg{6xWkITuYd4dV}(2~;}$Uz2(Kyvyt<&41_eNxyxZ zxwhtY(BjY6Z)Hoi)kd)|y|`a!-G!(L&(9b{W^GC7?rvTEH?(>|LFB2U@!!qfxE>1s z5x0R`z@5_|us!d>tKUn^%&ShvPkNm5)z8gY{QGIPwEJyy+!n?j-gR5-nZ254J z{XZWrs&qTrl>dFhzlp`_XThA-xzS8&>{)^WuOr_nmi0_qC3EE17mX6RsmryWiQc}k zUhex0{%g)Jw@lNioX?htJpvLwC(&dpL26MRLot+XtHqox6AxqOxu-K=&&dT^|cDHusx{#Y^asd zIIkzUto-}J-NAn&b??M4o_Tlrf%LfA4;2?A|5PULZ$GAK68CJo=h?+`k^R>FRE`Y-P?yLS`j z?(kRNmN3z(YWC#UZcH~@X1=?nloqP~L-Xi;_OKKD8KRk+s=1D7uL>@Dx#Q&;&dh7t zB3d$kwVuxXyutMO%+psmK6yqg_-FCsM$x|dXJ0v8nJO1t|FrhfX_Z+n>lU3(M!3)qfvalNB7&;-9OcY(nF=aTAbglGV+x9!nc3U@rtUB#J0?=KK?~d z`NQ%JUpm=cK3S@#lq_t%;=-ye+Bc<@d=2;hi|s$nE@rBw5oWH~vbb>#XGOiWV2k7F z&GK;%zV6``iYPuA_2r0oamA54qWXb?XL)qB_T=_Wt3FsS^fUeC6`@~$uLa&>VEF&V z)5S4F=F1G16A>M$4%UW||DqgUCF8kvaJ;t3-R2vQBRMvFgb$3G?3nse4ZBF57$0}qpdf8I^f*TI4RsQ!$i(yZfN5P3LYnnF36i)LxCib2)u=oJy{Ds>8UyAZ( z|LS~GIA^iNdhxd(8$E8!Uu^W_;zPex%xN7;1nf-6h9<0|m9jWbl)8*ra-e$por*}G996wBYKQkeharbkxr*_X5 z%-xm!ZFbPXm-jdM9`rZ6(Qsnk4T)bGKLY|A>L>Cm%~bc~lb$hA@AX3`o8W|R3g7vi zOsiN^Q!X63bw|cM{rk3(izUWlZ#S>_vnlWq(_i+_d*vGT{$Y`pepJBBs&~lb?ya1U zDeB8EYp?hB&~94cWNtHSl8eN(xe?b&=4J?sF44Fo-TQsomD$Es#*gbgfo8=8v;+PlrWn{a*NLJixARghoI{)o!n|1qE|L^;I zuKDRGVWVpnDr{+L+-=PhUI)1LWvFe^rXZiW!T%R-bwew5U*X4cYx0pX^2fJvA z7hn4swe!2WBDz=$Yc_m}ey!0dqP<{2)j!MsMh{Dt%{Z{E`9IU?kV%IcVmvK3=U&oh z&$#Fm96eY2^|76f6Fxpq5<4$%Ts~pWq>noVXDnJ-%BG&4)Ow5EJ38vhm$0V=Yj*3i zovmg1sadMcaO8iEjwe4aC!hL01mOQw`lJTy@EIg{;x2oDYr|{BIb}Rli>AW2uI41~y zd@*DB)tycv^3!)+>CfO>k*dLS%E{3?T}O9M>#Z#pd6&-%-^0D-XPDVMl|p`vJ@MVn zoIU4RZU}k=bIhOg&gYocfgU+-`>*G4_k1c;y3TZ>pP&QQ*A2Tz~(zI$c(2^Zqn_ zt;CXMz0-{>i?}yQ#(xaBHQB-SY3uUV`bAre51lPu9c?zzF^TI*fz=g3nf$iscMlc5 zoN5hanb5v^@A{2Xj(s`tw}w@{w@v-HaI093#9>U)iv z(dDmV{r#)znEt7iYslP6<@ILNoA$3}wu^hIXmS1~xuv@noq78x^w`!-s!PATDSwzP zxt-1Mk?O(3pn~NmCmlK;6=HS7kz=QJxA+#@VqcAd6|0tg58|%WVBf#k`-1K7=c{Ez zRo5j>^=)y4puMW!;k=m4v9gIDb7hvNrAL8OA23yL(+*cA8}B?lpPPZNF_L-9sW_sum!`WX|Pou>6xGt=$DSRHr@yJfC;<>F%V8_OYOJ6HA*Gs!~ zsJ>#kWxltF(Tw#6^WprG_>SAlJp`}4F}7o6i?eZ^w4uQ$tmuCC+DFwqYwB0Oog2XY zMO@SNf9$1)tBxs7n=xVEbLDR5h`hp#z7MO@0)0*~&Q(&iZ{V!p?bc^X*O+7yJ4@>)h0+ic2r_!k7Np;rr)_T6N*u zsXA}niWG|Hn|S|D-Si?jdBrE=`|l2=)t^&xE8hQf&xOW=D|!opykyE49yr#|SNz7Z zfB$mZ1^jDf?Vo%g;OV2!4>&_+j7N6KGmHd9^hO`pZA0bnYh6}tioHp%z?8`@7d%c>^F1U6phe_

ovRmaZeF{D?U3G4sefnt1uIp=nLX6KOt%)PotD1*;zzTnV}%)yBwxs%dCW5{ zIwg(;MLjOO$zI8?{4_eURpx~0Eg!3!tQ(*0UHonLp4Y{}uX7V0UOwRE&Al>W*@821 zXMd!fW6M@s=auc<{OBa(^RquA58XbRa`s{D?)fRdY87uc^HsPog(!FjE-#Tz{+2dF zpEs#!L+wrhn`@?jekQERHk%Wy?6O!?UfH+MOKaAhr8n~1BJbDVoUO4dL~Yf>?XHyp zD}>5sPMBn~M`)?ue3onJzWJ`}muVNT+iDzkFg*S5qm#B}OH9h@5<3??Y?eHR{t_#4ecMw9rxUTGDyO7}tx_LuL3fc4kRmKJJ&w^Fo6A zywr*Qwc2*ypF~Kc3-%=cIaY9F1%p{QZ~isY4QCENp5%Iax8~bi4Y4GoXxraOvb^yQ#uSMfA701ea`YHr{)3~x2@%Of0nE@ zGA#V3v)3s~_jfZ>e7l@m@#nHaU8O6Zx2@W)U&PV(zG@lA#ua9VZ7wY=E_^hx|1aD6 zHz91yFS*o>4EJuD!(xBr%H+90=dM1LRXobFO0VZu))}5jy7zU@eEHXy@%vYAdm3KZ1&i*F3YwP>#CZ{C~wbJ6JDXDxq-0-G`ee=tsoGl`9a=(V`DbMW?klEP1=%L>2H_eRC^$%GVls&46I(_O1uY%@E z^^inKp)TGWkJbFSZaHS}uP)D1IN0HJeT)ADZ5Ou^p<9#VH|E_vz-ejrc=oF!)#o>D zQWVxHoL1b=`Cjnb6ShAB%lLzm-WC?^eQlnsHL<(Z?75AriL=A4iM;oLi?#I5bn^KZE&AMM)pq&7U}FTEFg`+-nE2~(|Gwm|%Bxth9Z5`vrU`kZ(B z@2%u(DtclwwL-ALWx~;G{$k$xPqJ-Z+I?&~$iI8XhQ(}l*)u#OU$L*v@x1=tDf|D{ zKWm(=ezLhfoo2d|sX`@prOxBYuQ^Ywc*)B$@$_6_i`1mpkU!aL6?IRWlpnPFeC?|P z-z$fCp3^H{Z(2}oC8F!(Y@e8MevjTBsmI*cqL*FMFiF{yol(fDYjb5$faIyH@=2Ok zWrT09j=$uTwSTdbri9Ie$)ESAf3*n9k`MPueBzsS=lRbqrVe#evRIk>_psO4$fQ@6 zm}H-cWw~aZ+5evBdVrMbK8;G(eJ2)e>t{^a@N(Mxhw&+YtKNQdohQt_D4^??J_pxt z#pUsbW9KA%o;YEC>E3oZ$3OF~D6h_2Gk@)}8NDY@@fabGQ*}KVN>jjEmAzp@;avs1Il|; z`vlBod)FKOVb1-uYjUymy~&kV=DO-<7ny8b`Etrzlifx_brMnH=Srhlm&ox*OkSVJ z;3Bx^apcF`3dZi18C=$PFVt&PS~21JiYHqI;@MsIB_6b~46->O8s~XuzeQz1M*mD{ohccS5ld!o z`1$I=&EIl|lB7N!bi38@kMWM_E35eh?vGbSMaWbbFi76yT)=pjZ`sl}sShVMc)ymo zW!YvrZQW@#w$1as;?$41v*c`%uxvl}HuhV^>>$lnmwO{l8 z^{vmHBD^BIXqt-F2Mry+m9Jku-gt{MT*q!v{o{8|AGD`*`l;yOyty?(wR6t1V5EVgRPtCh7; zMZr~#7W>rMiZ`dcW;2X6Q(UHhOD(S3_jFH&5P#vh1ZJh5*C%F6)_fP5{Dbq$C9y*v z+?1oWH*eQ|uM}obn|ETu3(49FCq~gXpM*~e*XW5CahuQo?4n*QmUm;5Si7cl{uMo) z1JA6~4pvLoFS~i8_4?lH8!gsNZYz*KGpF_aW~(YT-CrRe^0jyT&g{66_`!1H(pf=! zR;*sk`1knUHEWkHDV@rq?)OWiLua|T_Q@|k_2<@~;mEnVg89nNMLkEJDn0i4As^7A zeoN$p@##*_Wj1HhZeLkg@uWs?1Lyu#-~X*pSY+nyOZr+&Q;-D+<0i$=&4h4D#d z7<2gapArzu-KgyKZzi6wZbno*%DmeqWS&baRaVzs_|bNi+Osrd*wLTzRwmzU!I+ zJKt_mZneq$s=nAWxMz)_wY7OqaPj^1)1%jPp6GgBoOwmF?dA@V#E!P*3#^t%{hyol zY?p`D(tQz|`GYr?*WG<+=&`|U8QaVde*>+0=TAo`n_sBYyP7=VXgoJ}WvtSwhf=S8 zEL*~<`g8JvzH=1^f8I0hl;*Z~wLSCp757#Z?aAkoo?lAHQ@yt5OUK#0x4D)u&SUFc z8^f%%*-mh>%Fjf_l9dW4f_4Q--YCA$?YHvPa^s$(R|OZPEni6kvFy8Oe258 zy6nrHD@qlU5-J}2Tem6ROIYutWmhBT!=G2I=PimnI;TaB`@V1MmWhY>G~eZIP%DE928@S>+-$2!|48?24ts9)bDZ+SSAE9R8;fo%JqW`_0mc%`3C6{^0il~a5< zF@099TE>GzTW7X)e`AsVyM=+V!6}7deSH2CYr*osuLfHuD0cf#Fgcy&@L8TUZVC!MbrxA7|M(pB+4-YoGJkZumd%xH4{mOR_#ErJh*ivt!9slFNCqAJ& zxm!N0S$y2|`D~q*ACr8_ZGPuW^tKIh-`2U#{NeKo_3bX{ON%EgD6G_^^D}{?ZvrYu3ws`ud~UI{x&Z^~u%?rst__KeINciZPT; z^r;GIUv^?`m4uh43> zQ(pPq6EPC_)Dps9swlc?`Vz-Nm7gysm&EVc*k9(~^Ye30M|L{zwmuir>jJ9V-3-(m zm%q9CSXg`Ii7w;wDpS9)3e8fN)Q#6KUdiJeJ2 z7TA5=bY7BmM9b$zcgzoJ)=XkCwA+1i_flIs<_)T+I}VCPRKKkwW!yk`|`d({P z@7mhsyD(=$$GufHtB*yQe4Er5e3_jo=1a4`&okctaiP-GrqZ7> zRq>{Ryjl%!SM6LHenlbs!FxEvv8l z4xWviaVCPB$0bt<=&aRyyL=sA@a|?1m)lNm)$BY z;nz~0-TZ2;!)X`hh^VEN?jVub^)8p@!vUy3UeU zSC}bUH79Z&oj=t{*y@e%mJKC_&6W?hEA@Etw5dP%d}&_%n)d}?Bi=Bj=sxFcnVUOB z>#E|VWn6Wiw_nxJn%HwL>TR=}Yr?609v@O}InC;@TzAapl0N6UKSI|Eja7S``!e1> zI3T_|vOpjt;KUOVCbbh=?=L;&E@1IwqQ-T*)e$x=&(Cf4*c7u`TrO+En-00Z>lpRp z`=(l`c_y#CqIxVjKIg)$C#PEWEc{uzdiSyWOJ7*#*YZ5F-%=C%@$X+VHIE%@zr0cp z{k&6DaGoBYS0k_~<@os3>Q)=}lGD{j{3 zpXrhjUa>XRGlch2T3zOy_( zZf~46 zGvHBJPtsNgK^D$s4bQkP&r^9YNpp|g-A!k-Vn3|WRMxq5DCgM9%FFu>{SB;oH04Rs z?!^7?bv_kH}Bv58wYQAcZ|qTurr9~b=Cc*D&9iTC_o?_HBl z>8+~ysj^Kx&St^FH5jP=b)`rqWXKv-6$XmqmOS0nRzGVjjzlmdEENwh_$ACerb+_7vxlEmm31w$Z@2zWlG2v2h-mmy;t{SI1XRMeTH%Zv9O#fPR z{MYx#xBdN)ux@Q3Ru;>Cy=njIX67vRy|zv0{nDIc$9@D9Z?5B3 zoUyu<)nmo{TiHC}saq7%O=fJ1`OEgI@3h&AWmk4IYA10Wuj@H_CF;eUXI9U}4=xjY z*rl63O)2BvvRxCNg&00n*c4RB@pNbT_Nz|o-sa@AUgA`~&1X7gTBcs!JLmStSIMjm z(u-J@&)aj|>|N{0w@bfp7}`0n|9rGx;U2r(q)n0YWq zUGd(Vn8!?Emt?-%A9&NMC!B6s=>Myc>y+q*Pt$u(&Eo%ap=b3|oBxHEN?Uf`J1V9B z;K)N4_l=f~@&(05@?Z^Ab^A z|NBKo7u0Vn9%AL@ljEya-^egSR>@{d`lo5L%N}-2mU@zSb*;p%%GO^p>)VV!mMqatRXEm+}29!Gao+gmOtO`EdR#1_TQfq zOg@W6K8U|QUY}lJG$CKnL=7fz~4Drs-K#hK%@f6CefJCkzba|+Wk zmU|V>tKbR#;Nv0a@%+=)xX4i1zGdf@+DLc)RGxdof7_Gp!e)8q-3-zS+AAbxn8#c{ zYF)6$_gVVKqe)XMcRr1EiK?t(3Yr|K862JaP@3tS8~5Wt$*pq!(Vy8Z)+FVyt&N!c z=kxC0g359&yh%Q}PNsH3kd)C?k5wyU#cUEU z)V&nE>e_d^Z^_oRJz+^1O9M5NyuzaXUxZ7+H@z3$!qst>B~Pp%F$sPMSce{(^(qkfQ{9fxsW-@^&oX*tJ^)csquXnN}P z#4dLAwvy)RcOjmqPQFh2nBKU1c|y;`IEhSq--X*!oQ)o^oeP~aS2TZW@rJc#n>{@q zKasZ(Gdo`q%^kX-##q*I$>zkW+|&Q`uRY(gO4TP-GLoHBlZ{DtbJ(er6xE`*V<$uS zD`jM|1lD|$3_fuu{7c_0Z|iG!`x7mGCL3}~6&z&T9Jp?0ch~dFUzWeqZ#y%6&2@)I zkJO`DceSr$y|B85&;IhEApid=CekNNCw^yoZ5+5*!MJ&fX2u7P zvvn7*ojJT$=d6s>+ks8J&w46F72pfzbo@cu zN<-U!|I#Xcx?g?Kykus>xvGgf7;dtxv+Mrf`a6d4^a2i+b*pLv3RZ?H<=UOuqrkdE zWVf5l+MMUT!H4EAxMQ>0)oM!P?X$T*e*e3i_5PM$q`v0KKDm7&t+S+_JN$cKwc3&8 zJE^8E2UyIk3g!X5LBAIyBZ^kiYe+8?@_S%$ObHx;P< zJt1hhy7yPS-A|2=6^}Xp8ELw9E?C6Z*$`AQ<;J z245{UZsM@fFW$J|oZ1C?;Dz<+s zoIccDN!n4R{oUfpO-`-T$$msK~M?~gQ|e~;^~QR8kY?wb~FmPyP9KJ4kf z?^NHBS2Cr7E&P#zgPTcj(5W;%&nm5NqCbQAE{G&sbX!#|l#*4N`gv2{|2Wo3Cnc^c zo9ruyeOZ3?341v6qa!E6OG49rudTcIP|5R;ok+SV!|NZfk6aTATk1LCqiNT_z!|4c zG9))Gcu_nz=b~L*zWY5Hp>Psh;EgAp5 z?R0$o>VQV1hy8}r$4jqqn9S9L#>j zA+w{_<=Z_+o8sue>K7Ncu3#|nQ9b(4u6AmZbGP;#^EOVE+oqb*tM06ql@)2J7T>Zz z=EcUa7564LJ<6V$@p3DZl-5Sm_RkZQozJq@&XW(A=p*;KXwMb{&0mRkCQP%)Yp#ww zdc4k6*lMHZ9bd^d{tu#!2jko(?|FCjgVstr_Qr?1-!$rrUez?VsM~jm>7nXsmkF8g z&70QDnIZHf`BFk?$C|Q53tzB)E9SlaJuC80$I9DB9vk-yTW*eD{iI~h`U3@Gnn#p+ zS--sAGN+}aZduo(*K5t5{_HkU++E4U!YxyMZ~NEoeg0P-rft`e%DsEVU)tuOCg zraG+s-n&CIW96k&Ob=Q!CV%g|U20x2Awn=%UQdhXnEa`qo#Kah=G6ErG^(|RZx+09 zmErmp-+xDMc-}1v{Z?pV-uTz7B)26u{D{Bn1kPW|wrPx_iDDb&KW!4dIy?1${FjHn zPFtR6@Ho7v?55+Jd#t})^t|c|vSw*U99(%_x_7~z*{>H@Ob>S2VRCh^9y{x^s_J9+ zmX`hwf46{p<-4SqiBIpUiG1Aftw-|7k&^zVV1wubFgEZ$Hu zZQBdOpQ$TPe`B<&-05@fbUS~y$z_QP9FG^QwVGez(zN%O?Yh~$YmWWD_Vi_>2A^BY zg}Z9(-@F*Jj$Mt)5_5B_VqCQ2eAlM7S$^s~Zb^-;Yp-()?qgoftN77tYKMU{-(92B z2FEvLejW#3^7Wk3{F0n+{=>CmZrioql@}WCyPj!px;d@-lULEPAoGR)B}=Z=zMZ%B zinG?FStTl~xyvLgD}uN+RFC`5;y>bF;?(mv>iZcJ&9xcA57yqxKT!P0nm187nzQ?# z#iFzwYb4B1RsXvc`0LWn_W>nJdZ8PN;`R&N5m@|ZWyg_S;va7>t7ofoO*h4)KFBS)_;2^($>EbWhHqyP*l|PejC)++(Y|HusXXhII(Y>0LnhVBMv6(k zKh;+&T)|?~R=%q8=BEb-Zft#9RvH70)bIq>WGth&N)ebv8e)-sgd zS=(z@njRUs^I1n~`$ZnjJB^HwW7j*xT?x1qAvw3W?O4ds+N!s{uP@#9d3j4)P&m z>gM>0wX>PdvPkDIwQm=?ds)njs4d0RTG3PhPUE6lOJf~D(#*ZHPSt~jZyz+2-}lFJ35GV)~Zp8X`M6CpS)Q3jYzeG9Z;dclo>C|J(T-(63#td@w}nd73eYe(1&$Mvo|zNC4t+B6M+sHj(Da{nbxVU^_meFrO;z0z!pk!_?yY^S zQXw{Rm$>)e(miY^U)ZY~@0)m_ZhN&z<>oD&UAGMtPV}fAU9`C@!jk*?LC@Wl$Mz}p zioVg8-ru+7`3G6!N#ACYi0 zZ|66cf63wb3M#Kf_sCuS@?pNG<;+PRKdpJV-gAww*cQ_;efx@{`{H4-HT)+;zs{|Q zyRubh>WRY&hf3aA6g3A4Z4SM$kK^Lm{3VJ1IE24{=9*XKa!oSj-O(#a+bSF;@SC3X zF<;hg@tJ+EE62S}(ibKRWNa<-$xwb{Gq*5`yGv(da^)co4_oheMNJX$b+*?NcK0gi zq&Oeps#eK*rs|TvC1BdUUCw(Ber(mzaGOxOYjV0jTmKaqi(89@CZ{Ga2HwsyVhbW6K*bsh6*?2QpVgU3>C$PTcF*5X~w6-vVykVtTllovqSIbfVsd^fj*P$E2RP zq}z%(MAW6NpJ`&}b?t4x(dyGaZzB2pJjCK&RE@>)<@wO?a!;{Tf<+(I1VyC^o)mr3sGu|?teOsl)S(oMBQx@31E@+jS zmpZYGUF_=nl#XRg8H7>TUzE=Z+82= zP$Pifr}^|;#|d6?(Ufm+v=HeD&KrSsy}l#4AEYJAOexpZZb zjCxQ0=~=&T@~CShaQzaRFfHgp=qXFjy?k$#n@?qaiu_tV$y_;|rBI{ZQqGPeYhA>2 z+cWFmm~Jtcqu9O0^GDL`^EbKYq}^S0D^mMd(0ZAy(k|{PX7Ab8ss}2{-?uiIAMnNY z6Vumid)O~a3u`_4m~}{K(k>M~Uj^6KyN|w}<$qS}f3h$4^Z2(9w>U?*HL<8GYdmlL z5cV$co5(byQ}Sy${;IqcdL5Pc^KZioor61`^KrBOEoO1}oNvAN^ppVeV?Q4Dn0+aC znOpppqxoy<#RB8R>m1878LsC}_7sZ#Re153y1-@kyD?@tEw|l%e_l9iI*aL_Z!-fN zZtr@s>fYkT>|5`fE~ws?A*k4_F6W&u8}FelE9mijzN-FQ{qO|$e_LD^ev~)PQNXriuYVy(>wR-vspR2EQ(ma7cALr+Yqq-xTemdFBA2%_s;3xdq;cjBpK&2 zpOoEK>dc2T7rL|{5 z((~2tF1GzVZFue&_xk0@YoE+Ee_Ot*MsSDG{U&(^pX8tHb1&J=JGW>qv(=Sj}R|0ca3)~X=(0{Du-z>-ON4lJ6tfWg`T+CSCqj4|a z`9l1TTMUdQC+F5LvwU!8MvQgZ`pV9Z?!VnNevC_4Vs-vpeH=9Jh4#}qXVYcXXP;i2 zYZ6{;z#ZCh_RPTRnt|Rpjk;+yCkmN32+QcbaU08s`(i-u~=e zE`3hB9=X_f?^3;y^ZT^9y2aL0-}i>j|L80Dq}^EKE=z?-U8}RGk-Lq2@u43bnky@p zrk*`j_|=u`o5Kr^g~DvruMJkl`n>mRIQ?8#?+jO3+7j7QYKLdr-b~oOqiD_Mj+7-_ zpIdBXCR!EjpW_g*N$gdW&C`jgCxlLYT_+;;jqywHggHOgy#4j1UEiUims2@@{R)QP zoj+a8Uv-=RYidwjc4ou3kX6@2Z&*Ifo&WlT+RK87orh*StXU*|ZEmEO3QU0KO@&hk9EwEgTe?qXeTgM=u9cUvQPg*K+z zO}i;^M^nYs>+z|hcdRxX{MnXa9~I^&HQRTclrwK5PdkItw^c1iRWIBwi%^!Ht(zjX z?2leD$D7V&F``-@qvySJ-m=i}jl$30n@;eq@zV6(ywXgw&%7k6`$VwCye zKMD48npijO;4X0ZtSA23!@?%LWV?8!+rpDZ>ht%XOAIgkT=qz4`#JB6{|@aizHYhL z#%#fg^UELf=_|U5@BU_ZI=*r5CI!pW&vKHlajvs0h|^%YY|{BVry{RSz3*U)%0uqO z0ZvyQKK=6a=&o}ar=3qu{HJzTF;Y9gQ=zA`CG{55aigsF!m_{5)ReKT=u?)RF3AyD zzw!OvhmM?DPk*g1>c6ShamKjMY=V~gtdNENiJM3yyD z`{qq=<#0Nj_|5I++?u$R@w4WJ&f4+KLRaOpbP1R8H1j)O^C}(`dfFySnmcdoSn4z< zg~jHz%|dIA{J&~#e;iF1IZga4FKtLTd7-LySLO3Lj4O&fO%i6N{#r8i@H*a2iC^!n zd_O%kAZJml{Q`$B%aX&o6V?9Ledn3Qy-eirJ}0Mug-r?*&ho_F{jT<9`pJ_D-}e{Z zwB9?B!<4Vq`0oql;7KVKbEkMPtT(l~Vln+`!9q!PX{(i+^bHs$|Hw;TZt?WX-mOm^ z*YT>ba(?1GbE#^njFh8Z*3y!x8)Pr~O*+Hm^>d@qvy%*Mi`V<_J!Iy7g5}aJzL}PX zczhSj?2Gz%F8Svv^;eg*9sf>Io8ew(AS}ta@cmqaJ)WG0G*z8lKcCO)DOk#R-}uXw zpC<|(%~DyGiX?D+D>+}Q^}ajj(aW#47Pl-`cA8Z?2TE)*TP@JuvhGH$wNtFxJs;Ir z)eHJA%(LCEOEg@$JjefpA6w8<{geJWZNx0TfolS^ZRyv33ABeU9Na|VTBo+(CG);ZrL@ibU7;iV)v3Ij}FY;@i~!Y z1)I<=|4NSkOl6hJC+|#nza`To!t_Y}*YDhapZxT(vHmc@bN50cV+kI|7lOhUt8Eu8 zGZ0a@#ayV>GX10Y?lQqF>!*#T+m^&c-Z>fg;JWB^wK)Plw&i&bW#l7g)x1xVliIcB zPu@A@OEL8m_zMELl7m-oXl!5V;=4>GaE|2p2}ceD|*8aHSEgH?gZ%VG?TImoG z*5;ADd3v1Dj@`ZCA<9=$VnhuNrx!I@K07|?{>9)K*MgqU%zm7vGuJi3?Rxf-ivmY} zC~mij*im|Df13Hm-*47#ymxfPgku%gX3c(R=^p1Y?_@|W(@C!PGVV{;o@QNEp~hc4 zH@ZG8*`#FE_1J<-GcH;G4cM!8czSQ^#jfMZ!s}gsIc-!r@hr?dU%+bKi3@eRepU;C#P zJx$m0(h)62l{%q}BDXh%b~yzSS67IsA2$1K$=cVL9m;fa_tW1l+h^_k%^jj!wWqp& z_s*O5RxMImlvNhzqGG=;XW^!U<`V+8&8_R2QDS(lHR;K|3D0+*-5Hn^w%7O8HQkFk zOFl2OEe?LQD^VkKde(l97{ghD*EqM`WAyEwGpB}CYvUrPCt94(jI7t+oI05)N|)il zyx4soZZ2h(Yh5N{<9@OIu$$H2>`s4SqX#Q>nVuzw9BbKGEk5OA_E(Fk%u4IG-}`?2 zO+TB^qCFXo&!&WF)fJvIYEyX=!ke!dR2SyKpuBPd^LpMB>{6?X=FN-=ba55+*d=l> zw)n}mwUJx-mUUfeo8Tm>@z_T)O+nygmR?!~-}wz8yS!pgL>nZz{MEUn92r`r&G-I? zw~27$n}uIXzIasR`OW!o?{#q3zgy0xLLEZhMdf`fS3cm^|8#r~v&6>;n-%SD{#Wv6 zvaBn5cYFHbW|qAkTJgJ5c4Y>Wm@%l=Lscy_iDFD=qb5zXr+A4e8eK}z+akf z@aUF`PLIHbJ)gS_@1+*X^TeP0_3h4rW%CwV2|usA-4OiuL1lh^P0osjrRmf6*`BF; zv1DtA74M$!Ygi{Nl`{3J4!>}owe+Ks67T;D{Hv?#rYl}l=liZ4J$r*z&)?6Be*BrK zy07_;k>A7jn?cx&z9EnO>i(-= zmi$f>{Vb3>Tzq| zvfq@jv%>qywxc2UqM4&utQoACGWO0htA(+W-v}-F@297FD6HTJ@r%}3 zzeU4reWB91)b{G`X}Oit9L;!GS#!NUajoor-_`r|=reWAtnDQqGP+}5JVBY{ZBb6MXFe1Z`!0B$BRq8Nxz!R&MR=dG@M&I?f7~A*b;WP% z`7ftgixwySNzyxSahvho_QuJJe)VO~y^2F zvajZD&?rc4X8CZ%{b7k`Ye97MI!1M$rr)Xm7V+$OHS^dZIoTUVk*`)qJm9ncX&pVU z`zNQ+j|KcH!Vb4=$|p^Z=PP>ca!b+d&$Hssl8w7n#rP(DzW&#usAl@i?p4=Q#b$53 z_hH_gNqsw2<~woPY)K6acz=CQIM>ZGt@6{x$Ir_N&B^yqWKei-C4a?hZTw8D>o(si z)9aI0aEsd4-&35k_qFskiEGgUZ+NG8omOPeTDLIn+UEbBFPL90vAo!`={nmY_WIBA z49PiPf~u2cB-+HjyzI_zahSd2LE1Cj$gZpky%k*N=dnKHKE!PFT5{I+M-mm^Jl{yX z+`cHZaJs4gOXnUB_U{H|CnT27`?OZ$eC7?ME2bL{xZk%re(veIKVL4aN%^0>OLk zr9w+V#+93Ig)JQv{#@(Pcxf@c?a;TJLrfNrf;RP6J&(Jne%H6*!2XuYCg-*ru9&e^ zOqT7u%BD;I54CvP25`LE=uoj*OyS<5DPFs-e0^h3HK%0Z{f4Mrf`?CMc$hC~slV&A zSUTAy`tSMaSE4E&bbMd#cm0;IHrs1kx8|EqrJFZu&0z8KidGQncXNF{pQ)oFzoEZ~ z%iC(UQOQD`O$QFzy$aoYXOj9JyO|2}g(nAj{XcaqblNB82jIlBl)ujVlyF(@h3tznx%1vXUKaWJ<9g5F z!;1vC(n}c+eNLBa^2sck9y0AmVAF1;F9}sfn&ytG@n`oH6gz6TDQ2%sd>$z}y*iH_bV=p&%>tivC8&qO{+; z0@7SIEK-^-pMT}Y8V{wdu{)!pN%&?tct^uKBG-cU{fg-|r9edwDNfW?lOr$K>sD z%Nl*=ttt8&`;RK!FwxKFm2@|;7cJ7&TgF$MTON7I*`-ccuXW#%C!QfzG)o`AC z+F8^tq2loY-zuf)5$|4CS@3p7>{qbcdT`1Odsj(j`;D8b3{I*!I-Sh8RvUIL()G%_ zGQsQJ*S5dclm8i)@yl`&t03po4`xvv%JW@1cN$9-xBQsF*W3Fj@vQiqbcdQ-T3ZB+ zzZiTE+>?2?!Rc9uVZ-^j$6RlI2mEAiORQSzwb6gtF0sSA%w4lO@64L+G^zln~uAcd-xxcxWrL+Hje=_Lk(!d(#3D-oPT)p9Nmf_H|%b!`jy(Thn z?SJX9;;Pb=@9R~|HbyY~`0V^D=*!2%{cD%ka7=lb<&f8;KBsNQ0b|`Y`-~?pjhI(; zZg%7{g)^TrQ}*h;u6JSnw2^HZ>!;nzu08#mJY8av&K?uaB)3xmb47xWxg97Hc`g{d zesf8&+nmelhh4bRKbL3!Ipt@$No2BDWpKUcF5!@sPG{DOuYKT_ds$_T@G-8XmtU!? z&+nf0$)I#bU|;Uve%Za*Gd6JOI`+?<7x2+a@WLrh$Fwz#joa1g*{kU&c#Tz9>d89tm+4|Nl{P6pxJ28ShW-l~Y7f+qY{7;3$*v`wwaowx) zD-CXjy$Vca5T7gZ{?_5C+}Q?q?o7I*eRAb;rl9Gedls0No&BghT`ptdtXYEAol9y? zaWPM~D{Q$MVfWwkrRSp~*B?IJb2jFj!m9r_Y%fL2O+NDI_K|X~!$SG~{gv}MuIKgd z*_^tKRcAN*bC(x}7VjkI>iv1AezHxqpq=p?-yDnRiZ_fu>{d*bdS*6Ru}Al>BK~bBAGo0GHecB~JO>-1u^BI`dYLsdm*KkEv`u%JZn3uonl5~vaH_wRbPDSDS$ zsGG!-X;T$?Y|9GGmopyO-qCttea#&6m1--h{MM&`cPaY!E9X-D!i(uqlZB36DnC{D zYU3)Fd-j`7OxpjsGJlnsuj*8TEXy#v?fEn2P5iNB?NX+1)}`Mz9_Y<|^(nREu5Wwm ziB%HQjupxZXWCud=j&}zr2p{7EC2Ry8UOy>IvSn1-KF?##6*d=Q&+ZM?BQ!~2=MJ- zovbRf_^rZeE=yU98N1H0@i|C6EZ88z$5*Zz9qn~h@yrK57R~u7It{t6!=iKYYc^Vk zHU(Csm8JeTzCG>X8ScmtSccpqX&-4uC_0DzQ z|3&kCk4>@{72U8_O)KlwtbpH!qL=(HBdC4lRqiu`I#F@9o#a zG2%aDO?`?PWcXEuIkI1dZag{Jm3jZgXHsoCw(PwP7h)XlhfhAPyXjEr9j5o5*UP-~ zrHU=1nABb@{NeiJ2))WcwS(dW%I;dfjgwzaM602gPg_Dr`9H641dMBI~wK zB7dd+@4Rp7UJD$beq`O&<@|G2W&!K-NFRSgvGj#oQgc>+j{I!gne$_!`mD_xzL#|< z%y}XFPWOviS>}N=FZjNF)~vCeXuY^OTK20f-_`AR66WyR&Qss8BjeQ}$;XHLpEjL4 zS38N_`m)5`yA!jfP5kuwki>-D(s30Bj_!(CP<2{aa!1o%`Cy80@)js4R9le_p0#^X1HRy|W%0 z;5Ayx`ZZ`Y3$NQqZ+a;B} zOqu)mZTZ7ky^mb`@mZnGFyc+7Qz*~m4wqD4@ng%lMf@est==!Wucl@JTT>#tXraOJ ztjQg@O3!1T^8ep-`h(`Fd2&LXH@Cmn*zo1|g0`SQ{=$sK+><0SrYzs*W;y?k!m1m* zdGq-lgc>amuQbX2aOJPsobu+xjeh62*#8|;;yk`ZZt7m$3$tFz8!A`lu8+C4VU?>} z)K($AU+Gh`tc1SrDszhndcU`Et&Hy8KB=C}az|CwjMr;b=5zj9$=vYfx^DHW8Pz95 zpDVWcu63_@yx_9wVZ-F8*G#_On*Uu6JO8QrYzW`wx7(gw<6}rZc2ibqlLlMG_1_Be zY#|r;VxM_>@vXYlydv)EPNyZz?DaR)KGrpyos;ORyKkE?!-qYkvkL;BSr%wa{68b~ zZAfy>;cp!e-n0k?+P(W9VZfgB@aOp#B|o!PTM2u9IA%UIu_$tqOy%8RHKoG}lW)zu z>?%`yE@xryEUUx$8=Y=A?ho}?+p?Ke@$i!L89fsN&VO9=<(z-m=jkn#m;GuMPrmLu zcWSa_VTFXm>4!;1(%H9<>|x|m56??6}d_wN4m+sp;nslqC-cVp~b~H3%&Kv>+)Pr&Z*s+ zJ+u2~@ZU>33(GIeG)xeE{OtO2rcdsjo4-oD-&J(x`R1MrN= zKQ%TgVUz#So%#rM0zEa0|VH&bRx zVfJ;aIi`jGvxAna>a43*>;GJ)-PpbN0|8?h^K=vZ;*^dwWTyDF(yJo_9lfRBfF9iQlINSaF zgJo-U(svn|p6g{lx2ak#bZS>LuC&;A)#hSymTAfM!2Y#44cFGqu6_UAqTj?La!PgH zo)r#X&qV)F5xwwnPJ>MEqzHNGWlp=k#k(wB=jOhsKlK>visdXHjngK~D!-v(&Szp~ z-Ju-)UY~!J@|>K+A7@&)&R=D|6d8K3XqRm3z81G@liOI5&gjYQ$klUac_)20zn>cMr&kszWV@*+ALlDD zP%jgj+mv)nKhext((`Tjo%@-oLd_O&0za$PGEcM&?)PIc`G57x^qu=x{AGE*?ytkO zO+`9WxT6yr+s^k)f8#f2xADH!E@##}H8l@p^7?;l<0rkFZCP_PCC+Mxm*_ebI2^pY zM5p=5mp)69B&MJ!0ju(92cy{|=Njh}o z>ZZ@S$3u?2o+q=Z?5V-ZgE>1&!fYP8T0Q=~`2=gmTI+KweVqPG*5LXy?QV_t{OH~8 zU*%5EYn}E%K%1YRt!3M?rT3KF4r*NOXuPA8@=5t+AXnmN}}MCGv}J<7A$2qdW8bFPwVn zazlQzulebZ4xZPwSIHFStF-TC;eX|@YwfkifA79ivVZ?ewfm42Bg5<`UiZCRh0f^w z{JCFk?{|%9QzgyYXErcR4V`5cy7|4-f^v10-SP+DyuRD9@NHn_v_%Pr=RQace%#g< z*!SSh-Cs8khDF^8W7;+&lsEV!SJXb+MHwrj_HMSd5`FGD^U$_!vpr}3opWg7X12#H z9G_QAPgN7X=x|W~xp{R`;B3$E)zj{+y^?y!vVPB7$DIXQC#U_N*nUlM1554;*6JHS zM4n7pG55koo^40k1zqLux;*^#z+tQE1nu;j3898JTbz4KyYA@jj>uV+w0dtsl*A0? zhb0!>7K4zH{R-qN0XXjORlaKq!AtA=w zJsf8l{(sQC+w1cz_ROxxnLm^k2JkIaE&E+P_kB$5qS<_T;oMgvXZdZqvuwG^)C1nB zpgYSIh0FyScpe1p}w-<+(Hc-e%;P#ClD#seDlv<#cDK z(&ppy4_lTzN>0rCJ|X$qx%wTl6KzgDWl>1Jy>O<>hx{2Q>#ke!HnWRu%W- zRPU%@y}ja#WaI{$HdV!}^yOl%d)U~;{uE__Gg zk$L_8wo6$G5eYih(zAqJcU;)CO)q<~lw9cag8_Ljx>j-UCtg^$>CMAL*$mfR9?DlZ z1FBi39O#~1a9Q#9p~tuK#8>SKH>|mBEM(KaaF@)oI~z9zZ1`dl?wg&nsy6yXgti55 zxUzw_dG1d~H`Do_E|mX1f72@9xJudb-_ki^-+$k}7B#~>ZClUndbg7+e;?sin`Wh# z;_V$7sUndjvwlo;$XUvXF`c-kqZ;fP>_|X!du;@2@ z{;9@#a_`K(#Vh%(G*fntX`lA~_s zS(RRgx3)#Ud=#VeXp`yY znoWn>G!g^OG=y%hyHH-H@cPYsZ&{UdS94sf6@Q)4EPZ+{KfFZwg_z2jZpBF5fFxhb zK&kG>+}XWKFQ>|wEO9@W)?a(AccGP^slQxh@YArBPj2_v{lC5>KXFdWuE-1i{k)lz z(nC#u&v>wTSO3k8Tl#g6)n8igwn5RfGSw8WH8 zlTHXFrrGVy++xzrX=$SP>*&*4p*b%nemXzltE>O6RdFVjA>C=yUOdfW%JEs+$DV(G zrM2=2fx~ya`Z&{qE5$d4%o0dtWsa-$dd7HY!%t7P*)x_;iJAMwGxsd(ljV<$6ZZ)H zGcfrolizXZwfLhnbH8QWyO{kKXL13)kW<+-^a$3GjHji<(sDn`AoTIA?Ez*+WvE;u^W`Q?uZ`K`tx3kmGS%=yYoiz zE)_wix3gwGp0u-#skw;)D2nZcN6`pcX$k2ia^dbh}Q zZOh zsT004=f1y_M@fzFEupZDMri`Fr=59?ajNUL1e&?5gX^=OjgZgG!5L-Mo}q zAJ*GfTO@gY+jf_2ia!r~oP6B=Dl~3OxY&;`Q(3ZCL@qu!$-L`Ce0kEs-kV2`KbsJD z{g>G3O#zQ)9G?<0ZBy)}!b$$u;&0ksw>L_8uko}&Rr=Y%nccZ!_wv3)hFpIxVxzRB zC;Nuz>pVw;_>6_}txIjTiSM^HyVo{1O|hXTm7(Zf%gw6G*M)+QT)BVf$t8wakEd8n zJsCakk(qOBe(w_R2CJ_uP^C#KU(yC`i@Qg6;H3+?Bi3AE~|adwW=s@N${QqlUjq1hM#qf zGj^V+wejRKILq%iC#|ek?&~TJ!wJ8pdmU3ec(?D0^*pU#2V*0SOxl(JSCq6ePit)p%sf^rLM@+3qY$du12yB3YU&X&SDY+LO8VTjN=&?tG56{G*d3 zCu~SL;pX{4?~#9b@(!(yF-G=g^R>AwF04w4UZ}xqInDNGVR_fG&Gma*mlsIwGrhce zvw`WtBWqtC{TF+)`|7-Re`GtJaw@w&Vq6$jG)q8PbaBTv#;%2q>A$9YbdZ{ytTx3- zL4ENKHBt7->g$d(=u8&BDfi;3RdV5#-gS{ns(Ri9&RFwZJ$i20Y~i5aPvz}Cdo3t9 z*P8q5SL)nU(Os{*|D6`%dd8l=`|_&46WDvV91>Pn_7Iv-{PWcECB4ppb8Q|hQ(Mm% zvt3SXZ*ofVi&=*bU(8b2tG#9k?-EJzb+49~AKx;Iow04-{2OYc2*t5av+J*|EDf!L!zHCmo%Tuz}@RaS23#)Wq9{JYwbXl&NAfHIxHPv+&lehPu z*(dyDk)y_(R}RMy**`Hoq2tcg{6PDqr`XAtroZmC?q%zKwEshgI-lyU*u8mSrpHbT zoNC$SoP2>@$wfr5wf4j{NkNY5TJu*OoZ}qfRqkY8n3{Fw(7A;<9V?!14LW}F@e|Jp zkG`{8ZWUttsypXo&Z?uaPDP&lHB(+$FO*xeo~?LQuCm;feO^0)H^$3kTq|ZlceI2v&_X^I1u6%6z*gc`&D#EPq zY)`|NWK{aMNzlms1-H_Glljy7g(-VUF?`gAY1W;*`WYdAKZvcjTNkN;Ry% z8yZ~p;s0r)<9g?2>V$V5d9qo#cv`PZ#;Jv`roT786q(D{GNJF7t=+SBJ$|>wrD?gV zt{z$Qz2UTM)U`KO#=URDt`zicUR8R|f^Eiwdlm2ZtNr!JvHSJuV>lYgOo8mg|qFM%7g37F+bk8uUGtOrL0D zmhvchd;6-m(^4J<$J6GX=dKXD+ zi#}S&q+R`WC@ae4zhh~~XOC06Stp!gJ)GZhYzotFPbSXBSv)gdx2g8GED>o8%gn4` z(6X4MSDbJt(V>Z9Hj~ag#htu|6rX6>>Y1+aoN;iU&HRe@vwLrqcKg}z_IsY~9RxtQ*LfR#_7y+cRHEY9=@XQO$++|zR|J0B}F_3XZ* zt6b%J`(Z&$KvC%93$sq2e>78}Jv4i%+_PU!yUuKPz0dmN!RwlvI~5hS{F?4{xb(w2 zap%QTZ(sDkeMF*9Lpx6Ex2{8Ye#G?06HWW3E^@2&Ry?@+u)zM>6@(P!6f)g!!rMcAiFquCkF8s08S~9_ZYZ0Fc#@O#!iQ6CNPnFETj4^SLFxWYHA^qH zuG?GTTOn=9FqETB zN-ymA)-mh8Us3nod+jrql$-naRFH%wZ3Iu$CiJtgJVFVRR9p7D4==ux&B2}job7d98f zzO!mQ@9XQcGBb8>y<+;LBuCByzfB)63#?giuWC}(qOi9`iA&ARTV7aJKF@RXUlgzE zIQ#CIrTS+&a!R_NAF5^Eug&o9{q;jkCvum^zF?8`_fuY*Ir~~}+Wu`B>Hde#Sk1kw zyyT1-bNKNcjQ@}27AT$lnOdb1qoIyl83_w&)(g(pLd zolHM$7Y}%x_{(OcJ)?2rG$Ea>f)B+!!{*J`yJu@BtW~w**}OWt(x~KlJ&~L2FLC8e z`gGptd;H{oeo94N0m&O5cFo_U*ykj1{^0H$-=dik=XRbeYcKJPjZD$p5wXcO`1n=f zfQ)6~7Hf3v-o!}V5N|va%NMLHcP9RsZn^yDyV(oZb{B@4w4Hx1%wVKs^0Pdm{qu`G zpY`9aXnV9MX~T!R+`2n=@?4bh<#o?s-4n33HlM@7yKT915`F8Qmj$EE6-v9Wq z{^JJSi(+vn1z5aqUkEOo_fRTl?SrlBc0Y0d!MC-+D9lT@sM2ZoeumW>|8;z+QaIsp zXp%~B^0CABq7N)ux9!1AQ=_L({(j(FFoT1e%c*T~(FyLEVb}VqXFs}l;d4likFul1 zjkHfY&E;P7tZTlb`{G4$*`BGD@BjGd#j35Il>Fc8`2?*Hj-KADw^>d}ZP~b$CFM$a zS&W-T+u|p<(+U~7yYbHvhzbn>?VJ`LxcT-EYQjXl& z`7k?JM>D)i?_czL-uK5#9{t<++)iaaj8*=fY*$_M4-&?9V^_ zo1>^k_`{r&Z5oRo_)dCXmSFSd@n4OU(@Q4JKUZb#$UG;=4Ic?Wz*%ZI_)d^+d6v z*j(t0Vocd<$9=8ldXSV#_5#UgE#CKUMW0KU`_oc;>w^tvs(pmC>?3C@9gLp8@otgr zH0^1E+Rlgm^2U{1Ue|L-d~*BbmZjbobhXZEzHxf0*t_@MFQrpihf}_M-1l6@W@1sB z*hih)HIIHTY=5u(*5dNdb!B_bd_VS($<|>flPJq)Po={pQ&0ElFE}^xrtyi3i&Ys_ zy(7wIcIKvjjw;@HOTgmeRO{*G%-4QAogMO1Ml+^BI3YjJBTH^-K;DBNpJtt$S86DK zUNv%7*;`|E##`b~)-OMKfYr{yY<9@0uj&PS|OU$XY)_R@vUow3ZjqAqXV z{K-92uB${ayX*d&)jA^2a;D65h&mYNzT|7~vXF`rtB=R-r|l~85S;R${?WUZuR`~g z7ph&Knc22nF+x^z`q^Nr?B%iHFw2C}P$98<`Peq-^Hsa#09HGbuOt-!@6 z6b@?5lsz(Yc8Oh_ccsuQ@0n*!=QeO2&3bfcwaWRK=1*5@NlXxA+?mFAFl>2;KlctD zy&OSbwYCd(joV&kFGxK)_3Z3*_hu{*o958-?d-NM4E+1L8-v$$_9+NSF77dXd5SaK z#p6lnmV^JDO=j@Dt_9unAYA%b`D<)WnUf#gW^ND%&A#EWe^Se)PlqcNvo^?2Rs4E()_l)~RddTWE_MB&T9kn}_(XVolZ~dYjefZP_&I?0qvUpSb*ej$b$biSW?6r}R`gqd?px;7hnr zX7W>snbVIa`gnE}%A5%H>)WpVdC7V%hZT$_QE!Ze`p%cuY6s+8`H`M2zxm zyZUp>rZew_Wex^K_m}F12FqQNUEn#>_|*D6-|ccXENR-;^^fV4>bXe8px1W}IoNE| zP@m^|h3VFV7h>Bid+qK#@iZ-PDwOzBF*B&S&ZMl4-MH$hRrTq`Za{J3U=6 zu)B=UVE)rx;U34H?^9=*)@V=_m$gVU%~T_E$KiLyoLSFy{aji2^u@MCzax?kUb%A4 z^@+iWBOad(_X(bx6YTe8jqL>6g8W8H%cqn6rK~!2X62Q?9SGVtMytI3_ z?4c{%XKg=l`Z#Xk=dD=OBAhnAOeFH*DR1TPJGqMU-``%Kc4@hqv6gLz!7avq&bikf zK92~M%fH~Oxz)Gdd)_0-*tL5%@)ewq`gWJAz~*1z!LxTK%dxav<754{)5r-i%AIR(yRDmY;n_A^SEyW{iDRjQ3) zHHq$p^?8Xq-*Kl}S3b&Z*7J7!C1NVs*SjWdK12JI7Vfk+&w6J4*0ITR=n9Mc6P@z0 z+WB}V%VFsQD-6%IY|+p))yP@RAu~&I($(g0z4;eAHmm(x`M6lKY==2(KFuafeOZlKrfk zPqj>Dy6SDYIZ(4ef6=XTS06u$-Sc9u!=ZOuqDy^T-d}gl`df6)xo@+M_av63Qt}!1 zY?ybru3TX3vm=j}*S=$y&ZjGH&Sq|yx8Lsb4CS0ym%AV5R#eNDy}7*LMeB>=&jm`; z9JcuCz@O{N?driu>C(UC?HtQv}NsZZ#^TPROj9YImFSo!z1;?%JRC zj6VpS+U3X9{YucsHXiUMXddT>pHE-dHi;@M-YB z$36G*EP{0Q9c&c0{uz6~Qcvikq-k;165D-0_w96+dTTwG`HP_R|GkTEYA3QR3b^LL zG|$QL&d$wZ_8V_*KBif8cS*8Po`=oa`1fxga9j&pTM+iRc~!ugX%phsEMm>!oKU;- zaNV9)foiAC^iopZ_6X}=*l}jfiCaszmd#f!!g>iYXL zwzwP>e8wg{Ys%j#OD?D_DAm0*=VHavunT9eu1wVmv=6y`%j9DB`9)tQ$7DRIdD~EM z&vE6(-ZLeSUl)B?++-Sf!9Tn(fU7ZT@9T51|2Mbf7aiEK*^qN;--q?HQoBB%?-$J7 z(S7D>pNG-Bwfk$IJuh>AG5zOk)!uS{*UMS8RvuGJEnREh$WEE@D!aD-kNwi1Ykg@) z6>lZ+2#N%^q?MIveqT5{KT6=6_oZHYlXt#;_s(8vSetTu;l233>pjhrPbnD-@Ei6p zPyfpG+wFu9x3JqL$GaX8_x=X`SNQ+6%rM>^;ao*%J zI2V_DHjXVvd{cDU30Z*axsg)$K+;A4L&sI%Ce2(udB~(%2_OO z?fEB-6FTo_UN6$Cskxn~^PqrZQ;bT%zK5r_??{_@E$y7W^@)onw{}mmXezww_V3`T z&v%d4b^l@$+b_YC+WApEziYm$-@Sy^!nf<^OEYDhYrWf?nzxDhhRy{u1-ZRp#29@W=x$>x!5}_H+%Y2zwFZD#rcWTm3UsZK4fQ(3y-@M!*@43=g!K#OtaGd+i1J3)p)sr zN#VvvO}2fr3+~D9Sn}HcsKo7E)=59Bf-*%lCrtWY`G_^}Mr`BW3=_pKys9z{!RsG- z+}QA>K}#ZNv#(l1_2*?uRVQEl6L@)$sl?)ILDLHPIcul6h2N>4DOjVt^pg4YbvB&4 ztRL5(+rB+V-eIR#`E-SyQiVN*Wqb@aiaBrRz225=eEg8~Zi&4{%_h^F4u{?7Z(RDu z&i-@yW_yb*lJY?eJ$mm`Hd{C}EW6p)-+1KZ1ik33)(>?&O}Eysn4FOIPmn=)lDEha z8}>&_7ezaF7`n9-AGy6^r<}{Qdo5@F-deyft9P*FU5eXc&%ShBk-y6h8zsIt_HN0& zqkB7)(@Y=DOZ&IetUA~v&pN~7t&Y0Ewa$z6Is&HzOSr;41!l)I&)~3X)OtDfrOl)Q z#frw44~rDl6H~n>y_!)veN)+2D(++3W_cN`zI>EW+>=&`BB~?EgFIgV`xGkjedP#7BkeRhy z?fFa3Gh`cc|mI`3}6B5L(mhGrf@7sdU z%c#rWIR8j)o`~kY6R$q}{=NG2la$p3X*>=}8_NEz5%?R|Va_bKBXr4?$y1)S1VsID z6T0v8Wd>7ULlDEJoaY%ommFX8Y0b^nuswY2MK7b~O?zY9`KGybOj=Hsp zA#!uVZ~i^!7`e4B^#9welCfT?;YeWJHB*H!x0zM9H($uTTWpeg;x3o-`%aCO-t%G( zm^pg}9sWF>vr?eV&cW!OW z)~gZ^J{K?i%qi}d&}+=^{F3G5+0|8rdCbe_Z%A@5$TLoUt9`~=CFYTl-2SFr?SIY& zbHD9P+wpSmwT^jes;AD2{yxeXove6?uar&ZyhGpQSKJjdf`Wxq4wz?sIA!+W+Dz#g z*Y4M7UEIOnz2U3UjTd)KzdbqSynOwUeCJDS{wy6XKd-t+&0Y|;DWNJYmivZ+hFfxI zz4F0}8VVN`eM^3RjxErd+9t0wz5mDa2qs>$8!j0ureFPfld*itW~JvL57)ik(daD~ zbiF+4uO{Xgr=_xlIA;!o;-EcqyD z_`*^6`=J`w`-{bLW?RI~vlJIeUYNG%iJTLs!_W3f4>Nwqsq*RFjs0met)hreY{`XM zmaDt_H|$UUDwyEqZw%Y^}s2A6|v&yKcG2B%WI}{rL6k zo?KOT7Oe0h*t``eyP=bbXotUvDNQ7kt(bAx$sO+fmOru|R(()H^eN4_fj)3G(Z zWQNDS&}sMXc4_>UwEp#C39InM*+2aLG9_8fSkD};&NuB-r|hBYb_H{kJ~KXvs%y5t zCUSe-O=tNHn}mhiw@sU)*t~ms^y|mm>vu=#J>mOuPm(t@mFw2-^>?nhZo0(rQSYsN z@4vc>6FBTX)n_a{@^bCE+O(dtj*l9=!@GaDbA`mal~;M(DgR~Md%nnj<^GA;>G3z~ zRUbN?lLh?eG6g=cC?v)oMr2;IQ80cYnbOKJWJGGdpcXRpK`7<(U6IE%aQpOv=A6Y86)R zK4f_&31+5mGB;{wS@LOOq}}9;Jz@I%$+CuD+SgTgT*-c3?)mun6Sb(@`QM6`dVVoE za<|Q6Zlrm#(DWy^QVtoRn9d&wdwKx zWoMeb<4cCy^57&Xuc!q%2a@7m&b+0WlBH%PTyDnoGhJY@k>U$(t&_@k4D@Gzx}joy zB*KdE>{tHeM^gj?@2U6mb^EnHKQ6V^PIX#L=k2Rpv$xH4vAVNhGE22@TDnAy<%2VZ z71r@(BARF3{Ng#I>T#^<(;Bzle#Q5UU*}}z-Zy2L6?jY6Aer?->zDK-58rv053X`r z^j2W`=A$py*xh^n#=16j+mo}ClQ@`rUmllS&T)omsoR}N1=^P;KH9uu`;!kHPlYX( z@w|3&n!@n^!t*W7=N-JWQ=DGM%{*voU4LlTcb2&f#a~pp?3UFDMV^b|myfCx^YPuo zVzXNCRPPD>Cl!8MG?&KCwmXq5-(|xPo}^kEwz-@C;Jns5(zC9dY`I#~=v}ND^H1?d zyF~Gs`#kDS=VN&832a&Mps9+*^;Da$uof?i>WRb@A#InMeC^CYo_}VGqP_e z7tR-ZYwLfnp;AIJWq(s-jEL-;y$cPl{PyUbb=6qUI%0=F`uZL9=2yyjh4Xe?TYKwN zfY0+2bGL8P4U2EAVf_0dB)Gp%-_xP*HRo=p6nW(XoA)=RrK~Kgl)2!iu{N))<>R#s z{q5J69zE3|)fMf{!E>Qv2l>R_oc{FfzTWaAIY{ zi+4ZLC04%OdTw=tM)`sHH8q=?w|DUbrSG=b!tf+LZPCYwncF!`jQ;toP8VFaXj@2P zcS?Xy$$XxN8B;T-@$M>=*dp;)F`mza^;HRzLww%pXS0+FT$d$AoH!}s;@;9Bsjd|1 zacGIe?z1W-!rh@U&;K0z%D=uo^!3M$WzK1ref0F(IYB3mD<*LV zsFgf?H$&^c1oQVhH#LvUe|gYz>b3dHEF~{Qy>CbpwfmM?dhJ0$_8E=mPmc9(QuRHn z#I}U{(bJb}_oPoT%>6Wj=jjHWn~Qg``Ru;%=u+9l_Vq<&uV+ndkgnf!Zl1xb4W}0G z?zHyw>@Jb*3}rsp?#s93lttOwcdFMt?5dw%PKeR%Px$0Jy&~b}*43<8=SwE`1&1&n zFVGg8^@cYjMWl6s0hhI_plxd_3rm!$JZI&G+Xk)ux{DPr?FK>mj0N$piT1QlCrIg^SjRk%jey16VLpy zb>`V+g+FgE^3c*-=X1X+hWWswW6b|PiR!Ljb^q9+OY-Y(=HH*ipZE2FmxyG`fmN(s zniCo&?dn5+X(c4Dk(dz@%ZpV9{{h!==*Hhf*)Ra3KHPHWw={KNZCs;&E*wEo?SB_C~iG{nw0KSFPpr{=Ond?XT$bc8ffxgD=+}H{%ouIC*5R z-%5pBnm^|}us!V4W)Z7yH#zJ{)`H&h5`#xl`;IJ-xn-}a7wxU_L6+b9nNdez&8n%GRw@FP(k* z$4!4};gci1E3R1XbC%{?zbCBkclI%yr_29r&DhMGikdIBU)7kk?2XEAr(l=|hl_B#MZO+Uw z;x*Sc7QHfg{@It^MK#L;Gn1}p=H$*vGP;|%`pNHw&s;dxcB-xX>A9~#`~Q;ZyeB5h z8;H0?zp%7TwV1AEB)e+4-Z}dTtNgqzvo353e4I4Dc-E_AQ70{DugHUKF6ncVrYL-0 z70xK8CgHw*BSX-ujm4`kSU>#f$}=w_HvWt5u>`Rjk-P4sJbaV#@z7+>S0^`4s=cnp zc~K+n*p}PN@4TxE%4>}Oa^l^zuctDz)*hLVl)>|OOZL_Z?hRgnY>t+3A+>sa#es)R zT0d4^=k?WZn%>|qRMGYP*`GC20$IKEA~yt!>eWU`&HV2=;p-gErri~rdCtyR-@T$> zSBiD{N~d>8_6yrf-wVCXxjE^{4TYZ$k=4H}BXp+vRp|OZQs68*^!!!G&818+T-UkI zo?EjtuD5^KATF zeHgD#+Wyiny7|uItKAOrM|aF&sjE5=%6dBGVArFR6X&`EJU@sF>qPv%eq&KhT1i5@ zMWKAp`n*Ez!i9|rpReZzJ9b)ccyVT#c&>rG;y?8_*Nq-M>=Dvhx$8Wyq?l-2T*9f- z?zQRcmKQoKPd?S|+%}1`GOOZoj^qz6MHj8F?$b&cLS5ddrpNth?%)1wLWAdl*EQ2O z?AvhtsQzQI)oBx&j9wh@x^MfAD|x-$RQCAGhL0y+zPtQ$m9n1~XLL(N{M*u$EDaz1 zEj?jxCZAg?X*TO~p1*%o)~2gXrl>)&*x>cziK+Wy3AL zs5t_6#ZMpm-V`(K44+V6_4W-Wp>HyI1T|mHiql)j3!GBjc4EFGtCM2*F1VF zS@h|h7K4j{Om&*)R{z}nb={BfS@upveNk;gv%e5=(*0cxDZ>Y00D$3oPJ-ay1wMPG*@INh1#U9_+LDQSAq;w}b zf2YPc?`_Rnz1Vnd{QtYN_e*}@6r69p{L-<$^?HxC)c;w|v3Ul& zmB`dt6aR(i%U9ki*3Lh(_VeY%%MA1T1hd|$ypHo(q;9z3|L6Igk7gbVUv=f|-Wyi8 zUh1lESN8Z&6sW#<&iw4tdGcS>*I7qDWL;J39T~c2l}Y<0b;lzHY3HXHCaC>fYdpi; z!shjDo-kq0sV{P$@#LGZf3Da1?JDN>hO>EV%qNx?%JWkUKMMS?c(upc+qZlz+j7B0 z7Mve4IL#lsFIEznb#%+e-MT9mPmX@!Z|JgQd0qI1HECrm9+xlwJp2CWiFq8&Okb5Y zy!`p)2lw$fM=ght<+m*wEGBPRx8d$0m1VvO?Jsusz4|7@w#(YGx7BXa>Kx-;KdX5v zl6ehU{48RsQ@=5t`eF2uA#8=n9vS`01@igKzqdYF#{4qw_#@$(@*OYEdQ7YEp1tae zwEs>Kf2oeEv$c0T>ovO`8)oBmV#_8on;V7}U)EnznZI6o>Ysk2dk=KQL|pYXlLVd| zlu@62$KsfE`MPtNTPB6Aty*rTRv7pqWy)OJ=hnF|WYmw?eSGxAq4?Dn%{eyjIKr== zEWW?+mOE>A;jNZqVJll%OdV26uANHeII8(`PFeA;2{oU4wq-on`d8`PuH&Y5N~Z<# zvg$O_(ii`H&vTf;d&4DDUF|tHBHnwn-MafQhwD6(#I4Vwry{qc%~EmH7 zf4Fb**M&Cs3dN)k$`Vz?L8C2%h5 zY*Fa*tK5A16MnxQTHwTISME<_ zS@T}%kWGxsg?Dpv>nEO47Vh?n*g3m0L|gN4@3%jyGo@b~`t(suB=AJdLLKLAI@!ls z`PARvby~VC#Zks8?pK-D0b}DuP9fbHe2*@9#C=(RqfYhn(+bVItv~nlP5QpvisSvh z8lAv(eO$%oa#y|=XxmZKm|#~vyW!qPJMA5hmt`!C_!#XyeV>7@%_-J{^M$T2cYc#t zc;?c5xp|K+`?zN^JEk5icRg*nMylwz|BdxoXB0~t_!WQ2G6=0?5PJ60JN40_9bYWh z?%%q5+V>TYo1?6EBv%?vkk6Mh)(*0I% zo5NSOVur&m7x%voypf-`r<^r7T6kv1dUuU?+gRlIy<8TW=PNgA6-eF|Z@QP^|4}w% zN%~F8hX$WSkNU0Oe56FY$id*L^fA8upKLC^_j{thIibu$$N1MhziK@Jh78l3eoOlY z;ynI^zZ{sCoVt4>w0gqhFO8eL&$)GKYf5Rbw%%^}Gv|%BRg(6c4O)-iDb9;**YnzV zI_)jn&r=5X8T2G#Ihqzdc_E{}J58`SBjr+H&W5=xp3m31hk91;c0E=2W{Grwkat|< zBrnP6wqrkT=WJMQF`JcDIODc$fFSEX-k{(QyZ!ha@2Tw1uH&1WsMjxa_(JK`N%OD#dQy#@~l#6UMH8f^nv!hCv$gjse5~* z)*g0yd2-&tCiy?oI~iX6-Dlax_+@vF+;k_sRR;5;w`rblUDUnoR`GG&1C|+jvGXR(TBKMkIuc!F7E{aOAQ@7`AGq*uK^@hYfR-7s_Wws077iJj-Xgu#I&@vO<~RZl`1 z1oWj0_dYoA@B8fDh^Y?w`cKa0MmQ<1FW8_k<@3?4^I8{4H8eCZev#qZW%n;g++1Y# z>Fu)nL<_sRU7pmQndAR3{KAUftNoW6^u)CPWqL#&x^`4}M%P92y3>9)y>@L$)_AmF znxXd-nV^Hk6NP5lC!K7szSXxNWMcf()Uwl7t9Z0zMEuS<9=^o3;n1|Ch1pFCe}7Bd z)-w=%FUZid`?+$vzWhATe_wCvcjTRv3)uMRYI6Akv--V(JM4y4e4k zD;>S_L2o6CrB&aR*R4TeT}6(2J2ro^tl^H{>i6pIPK|wc@~&)rGxyHfzcV*QTCPph zjyxmve3vEX&zJm?ONEScxEE%rO)$9b*ZGg>{cZik%;TEPQ<<)BnP!}55^fd#cD|13 z%GvkW7Jrmu5x5wsP@VSo-=~d>elD03AF!iQcd=(vkKq+ZmY^F&-&+4j2kA2H%qlso zlK1Y}RYCRTefk@oAAi)Fx&2Fs!m&DTjmzE-BHM$tnI#I>z4y_4fBA{lB)_=}ud}}M zJhwbGYd53TpE{%!01KfzFt&#KSM>G&ISE7hHz zxAguUn$K`zsZxH|o!;iO8y0Imm3+*a^?KiKWkyGPe@rM9 zTKsORI=}vh9i?;kcpmA0!4stym3xBogk)H|am0*xyVaJe^Bhg>jwb(@!7=&c8~=)E zE{(T~=UCoId3LSB!pG#y%B4y_9~+$x7rP&~WzJ@`y?G}NxZH|*x%Nw|KkFBhnAdOQ zUd&#t`Iwbou*F}l%01_tCzt=>C!4qYxFq7`ap2{CzJ#3UX6DCyNi3mxyW&%v|N8BX zTGqDORl>A9z(3BGarR#Ew7a`p_UL37Kbp6sj>-3(^26V=6QBRv`T2JB{i~CO3ZtZN zta9Ia)3IB>>!rxW+jk?+BFDrkUvallmteu6%Me)u{ zM>eclt?) z1o^e==fx^)y3onHd*c+TGnSsb@eg$BluQonG49)a`iX!n$Cs=y-;aU9f5qc>t?cy9 zoiclF=cefWVY`}6iGOY9omF)`*8Je7vm5?Sdb9I5gTTIJr@4IE=l!vfh}UYl^I_qJ znsxizV$XxfxW;GINJaP;?b{$%g%oR!tINRZ%Gkmh1LzwKp>p ztTFul%+So}B+rq0>+9!@W8O*o$shk0Ed5tq;D5)TxXZs5E#pvmXPh2WVf3Q#-$IMW zkv>znQoo#PE)sKS-~0E|uIHN{1~tA*c9iG%$~_ar-9BYW+oK@%vTw;NUrI^0_+GvkDt2Z^*H`J} z`Kyf$HG9wOboctc#r#B&b2GE@dCRBs`cA!hyM6I3o7>UT&%9cbm~+tO*U@LQKI<~5 z$^_KJye!I3J92MXso&lO+scwoW~a1mI(G2+qI1%o%fCrZI%2aqO>R=0>)%IhF3pqP zUBA}!Q1s!NTCd4V?Iy|SOg?;4{i@57t4rTk*Ls-xR9~~2X_7VHD|x}Uw;#+xW^Oci z-KSl$cS6#0|DbXg`Ch^6{3}lNecigh+ey;<_Xgdg zkHa!Qzx*n=aG}`@-v3HzFC)$;%<*8;u(kg4td5oG%yEI$?U&3Nj%pozKk1bsQ(w7r z&Q;Z?>S{~G^aLl|SUyXjpu@%S)UVx4Ke9s4Ro$I=WdB~H*%k{}4tkXK{%q>*XgASe z^_%?a`7g1Sw3-uhmKxtFjSYXQDY80_CAn@Q1jIwwD@&z;mc=H zyVtDm;b7pk+>?6y+V#udFVC$hHEZ>sGw1qW`3qX*{oJX4ziYd!=9@FIdhwL1o71aG z>yK`~epBXj(vit6ix!<(a?qatL*CA7RI1+3I;Of}(e@)w)xE7MOxB!B{MM}by(Zzn zBBNcMwti0=rucub+4}j(ZJ+r^4ivoK^!A2efXvml(~}Js{&q58I^-o1FIC$L@4GZ6##CKnA*K1^VA2j>*#=TW9_fMB#vtH4{ec1xWyc`Sr z&+d`tVGyla-n@pZBjxO076hF2NH?Gs{4^X?+a@M>?uR;EVna=AsE6X>1`kk@x?Zk7lH<(zK+H5m-IQz^H{%Ylm7uPTG z6>Xj3?sBnE-EZS5Mw!r7_m1jHi;CNarm*^5|2-xDWMw(u#(l?rKl!B`_Wn}d#Qq+k z!>fMJJMCumup#*I*Beq1+hShYTK6hm;E%f+k|ele(~;LR=U5BN9gEzQzna7U`n-+F zqB>VQ@;5FmlM{4(9J6Nf_qVqHx};;XEd@Qdo;Y|Tc(d*O?f1Jc@9_Cj8h|Sh6uPz28(!UA{R}0wNKZJ zoTs;GUQU1W_LV7zO5e%YS; zt8!RQ$|*heG@j_Q`h?NU4uvnZelEa<_8)Nmq>vV&t^s_@9&NFi+~p<&!z0JNHZS@td?7Zo9cmP%-`R zt{?2&)m*st3mr7F)Z-vLKAA&WDe2*+JU$1zyplz~n@Ul-UcJwaZ@+)aU z^;zzeKToIWsW?7yIOQZB7`||Y^Ni27%aYz$taNC!eA)Z*-K}kt!)((Zr=%^ac(uZn zZ^vKfW2-ql!t}4czoGEm+fTo5i7A&M~jL&U|!!WpYd+u{*dRpKGfd3 z*U)wC`ZlevUGx5=rB~a$3iuid4ubk3r^;|Tn%PfiaMyd8; z=3oD>bSp)8tq)jx_af6>x9cmW7~DD$>CX0gQ>WAA82<>VJ5C$Uor;?Lxw!I;vhkG5 zEg#n_eCXJpcxC?6Sms&R=UZ87KCrR~z0Fme*Z1SQ`jhQ`uf1+GMqgBN6RFwPe{af9 zwyz60r|6A0Pk3SL*m$wKO8L)}qn<7A zE-DmqEVO8!$!YOL;MuiB&rdukes@$@^y&Mf@B9Pr?3gV3&No|D@L`4FrqFdkzrq%; zzW$+^Eo$o#m9pEaANU;pGC3u#IoWtmu-e10_pJ6p56Mq0-B08bvvb=e?tIaRE`Rz) z^yw?P8GkRv?+h&tmld0&o1dt6SiN#rV!=^n-=ty^Tbkp?t^yr*Jm}um(9PB`7_i>WbyBYjn97O8kV04o_KH4 zv_)(Ni`|tse5#8PWO98K(Y46?o$)%~$MUY99yA2~PJb1%#q}+dlWbV+&aFL1JpZhEP)EAN9rFDqXu4^O%)$IRFnH>|Gz*jMw`^wyE>kK)B< zYN@_Gv1H>e#+Fm{0kv<`R-Dy0TXOT*-_@=Cg5UL+7gb(P6mYGRxLDH6n>RW9|Mex3 zuFsCj?5M2U>+JG$yLE*4R3Z0tl^VM(E7l9Jyf$}>4AxqDE8xZL?vv$WEB?OX`x~@8 z{`ZzVey?*6n7{jFUG__q?G2kW?W)vGv0~Ny9L3lfw@udFnj^jD$c%S>-y9iQ8&jud zEK&5h!@Y3k`xR@M4jHuwm9>#;u24Dox8>%~l-n zyk4?MdhfQ_9^G{n|C>TSPxZ^6)aq_;1n=x z6O7Ni5Ux}y{}=FB*?+l$(2mxJ(ec-L7x}ZlFLpii?Ztx)Ef*iNylzY8jrRzY=NKo^t%vd>R$KFW&scjfj*&twO)cFM_8} zd&@5S&tZPmwxdo*O|3bOd^vb9Pv2vSz_(d>KZULy5Sm+dc=M{4(b^r(N8Bx#j5>Rt z9W#2HEWK`%k#+kSk%+kSi+9cl-|;EhW-T6~i*Es=(rNVp@dbE#tb1yh~JAO@8)9(ZM z?z1Wq8k=2g`BpF6U*q&zJ_yWPUMx-+54A#IOT1s z@J2z@^{Uu%7N!}CD)cmFDQ)`Yk-4ueWM9Ypyxkt1w|jJ~I)B-GeKU1(_R`CtMHjE# zS^IN#%>AsY7m-Sdk87942rGQPSMw#%vEX>?iF>!Jr#PstaewzRkK6mmySAVNp4bPS zPhCPqmK}K(CH%4}Hvi+Fw9x%AFHByqQa7{zc-#ab9wf1u8Fag zpSG1>FjWuq!9|m0CDt~Ra%q$_j0Hx&{f1gWC zyv38fdLBRLZli*!GnL~OX_dUxnf$$7oM(!m)sCiZv3D;Da$ebeKdh+eW4~hL!Gj9d z+ZUWpUh}XUY^*?ayF&!3Yky!C(Ovret?vUQ!hAYSi-j6&Fr z#8W1=*TjruSA_jec_n`4f$X1&t}+wmX|h+GJ7PcWOU!zn%;24&erJ_GFz@qbs{DOO zdyBhxAG_s+k13fYpEC~ajeQq&hU>k;;!LUN$}IQOr+!*pekNipU3QwE=d?-2#lo0i zxu>&o%QLoDX?(I?x?Jk|kJ&T&!{=P_JhNZOqsS%X^Hc7=-yf%NPkX+~RQ6CZ>s(i3 z7Wr2#djpmf#9rCnkS4#^VTR?LNZlLT`Q!QKon7cDHZ5dnuHO6nww38o{tmY%zTFZZ ztJ=xF_S?7LK3=~X9=;Bh=VL#w^ySCz32iNtg1)*K+BeQrW@xl@s9vi4PVho-1AkY# z;)X4*t~HFQ{8!7Ren%}W@7Q!=-F&AHEA9xNy=bGa=ym+LN zMX}$qxf&OvIE!b#<62#3^yRR?yHk?4{(O~m`sA6k;7cM;i?025+nyM?(+33>IsKT- zW$?Tpc6rmi_^%a`LCdR+`B%^TmLUCJw?EV5-GB)PIM23JD^Ia_9O&$O-+ca>!uk0ekuT4M&famg_TzN9?>es&uI-L}KD)0bpMUjX zTY)!|XKh;jbL%y(cf0O4PAI$bb<^_SVY{RDzcmVF_~<6#ed&y*_f5%gkB{ww0qwaa z1^3GjT33rO?Aysy)npbQXK=*xXo3uq!SnVLdlOd9uTxlkMvWQQr#r@ z{qLL0cTX?3vz1;PS+@9L+tm*%7Dpz&E4pvJ zEWyci9Rq)|-3qnGZ7shTn(qb7TBs;eD(9r71>oM z7lj+NzR9{c|K=j5QlsEzTgG`8Oiv^^RVS9Qo0QF}yXB-+@w??{txnO@XNfB^{jKaT z`_462EZunbYomGWuQ@`O8v2)=&y47W3<{khn9LqTq< zRO`lV!Wzfj9{cerpFgu}-cGseE0->OowMAy)g-W9ON`SOv23wl&vPk_rDdalMa(W=rT(c8 z*JpJ{Y>u*$?)~9st2L1|@K)59e4n1|@YUCQlOs;QO66nIhz~xUcA_ZmQ*a`X?)_RJry|zyHGP(%HpdFP-WQ zI@%p?G3n&`IwR9V@!8_df1ZAnzWUSVmE)ry4xtrOh1^_=FKlAcQoXn9wurFErV~0W z=1nC%uk*AcSGad_OkelAX5oo9)8C(KdRpqc)VH%sS^Ajzc6MjEWcIc)mebDO`9?Vv z%0Ja~U-!E{X};{b;6Z?>pvk5?S2RozrU+o?5?H=Bc+F)Znr-!dWgw`cL$@Q*36S{Bu}|dG1(PutKt&7HLje` zVNvKdUUuEjN9tL>+>2j&cG}VFi!>F#ELh-Os9+XtR zu5#W_$v+$J95X5M@wmx&%y8#+c9jDYkBRH=ZL>b2wDQW&eH!|}zs84UC9K0iI_ z%D#|yb2-er-ll7=vc4U1-78whNa2OZ{Bw~9j|W^mqdc!BH2TfqRha?jj<-z>ZcjYF z#m>qlI!Ui{nhn!J1^1a>BUWEIVBnSQ7no?X`{kK{k}2=LP1#+rvnWDf;}nN4>)we> zJ*I2EGhUVFD~J8gtM+aU0t<9b_ocp`al(Ju)u&n3kMEtFAF22-EYf+_bk*2Yrwe8m zAD+7-H>uEC@5o|5Kea6j^VeGizh10T`GJ$KSi1jeg6gf`)823Ao#nisOxvut@?`^5md$%Vwxx1Ca$dHd|y~Nzw(wtxH4$C&LY`%R@|CId6 zpt<+%E%1?Ym0H@hs%619-Q=BrS7pCmQk!#r#r#!~Et6iIoM* zf3jabyV7vp%zEZ&cP(8X91u^)Idg4-aa2b3;icDdZ*itEh7}uMmVWu}>*{UhGkD6H zcqbQSmoF-qb;$jca+%G1k*zB~Uf8Z}`7fkw^W2`@7Ec^@rhb|eTQu)e)Z9Lvmd83K z4;{~3Iy39W^#HMl7oT2@*K^+pJH6Wx^801-k)~4XuL8}X3}0HxD<|m9 zs5&iLx^JP5A?vE1Aa_BlJm1Aa_i=pDS{t4iq(|_dRU8?9gHS_Q1}{All7pe_S&<(OT|QvFTJy} zxixF^%^Be_3l@sanXyy%`f^$CB3&Iu-j}>L!yCWfvz+%t$Wt`E+eeaX-)n}u$`_*4 z4ODr$7)_mL+hm`)UHY*u|A)%N1-F`RT@y5zeW3l1=ls7BCwopS-sxMR`{U;kU+()a z`Ip*XoV8s2%)~d6TRKFKe)MX)b@9NLieT2Pz@5oQk6wFklv1I&d+|%RXBtAiVQ&SE z{@?Mba({Tu?ak832Wz<|J&z46Tf*=*P2Cnx^3625mPUR#q@G~{E| zyRRFW<$m}oRbD>tI`_QX(?SvP(r??@4a(=7*f`nn?E6XQnG~ONHZ2JHYZCXPl-pj# zF|^G%>%_~@cN&6+Uu!(R6gBT@{`}q6AJ;`|d)OsOMylUA@kr>&B92G0zpou?-5{M{ zezj~z*PGs3TNS<9o4%bbKVa#3!6{ON)8L+4SU!(V&1COQM^|m0zW2Mt`vaPuduz(n z&+1Q`sQY2Mo%pM>8^vs_dsK6O9B)<)`F?tufknXs$s;ZN{#Mt{Ha)rghd(2+eJ1OA z#RwT$u(A5_%q83@ zM}_sbZi}}_-sSCKXdCO4m6Ek!>4w8UpWiJ_@0_5o%D?VH%S`8UC;h($7+q`f)~w~T z=5-E^zT5hC)$t<9MN5`g-;};B^KMRvwz6yUm$2tukKT43p2WBQ@S-bcR+(&`+%T1` zF@JsQ{RCTo=b5jYDqqbN*&Otlch{?rd;hRXvAKV@oV(ib`n)-p9_L6Od%tC$&XxD+ zufJH!S%-+Nt=G9P{IZvK1EZ}_MpD$ZfEdR_woQ)qVHe-T&QbX0`QAuxzIpN8%IO_G zI?@}}Qf7w;+SzlVx6c}LZ~A;i&~MT5*~;oc4xB%g+BwhKEfct+#1N;PbSe32;qp%mGKV?X z^k-Humo3-S{vx4z>d4t%{!ej5;?>6Tzjv@nCzKXR$NY>uHGOTkYPZsqH$~Tlvh>?H znNNL~BpdVc&J~O8!pUD0{9pLAznc=e`>k8k_pgz?H%}|E?`?={>s)nKbMNJ=lm4^s z<7MV_utm&J?pW^jT2&Wr^V&*MA!_@go9w?o85^=ZseQt9%xWtCt)(?9-P~Gs{hxjy ztmcRXf95igh0L>WC^5(SCN*FEzBXZfLcqj1$E}?tG_J8X-B|1(I>G7L^C#1yRlH~X ze&g%?`gUUC^pDXCK0Tp|4wQzR2tTQ9T)W zAg6Zix0k_blk8TS1hpME_#&aHm$g?iY<8FC{Atm9Ixn(uX{VoP>$ADg5X?A#vfNh9 zW}T7!^!d${v&zXqO3!ENreof0-Ti&-uB&VfvRnK0BM7 zVqG)b_P_cNd;Iw((<){QPqSA{$2g|!PuG3$PbFsERcqly=55(;4vxfKE z5jW=h>^4Q#y(`sOn!=_|J+FSs)bj4;Y9{Wp@%vJrY(Dyw*@dV7Q|J|={(lU$?{@D@ zwqkEBWiwM-q8@C3^) z=d;l%+_&kC^O`%k^UMw(a7bX zJASu#zb2x^a}b4`Zwuf&>e*6F6*GnxwbwW6~AY{(#7Pcb~EDiR3GdP{S=<@Y*qG^R) zmbu$gdUckWtS+!GpWt7+ZyN8dYsb$Qerwl{PyVmN?fA;?8_PzuOm+>!{CTq@w%=h@ zE?sk|g1NS+sXq4hwkx76CJqVtH!7dacqH2!x3+r6^|;9rCeQVrCdqA-ZqL4|@rL2D zPFY|cKc{(xiRi&!30rQKzfCiIwmZz*NM9~t*1?>atgf+4$GX2|$0$DtxWV$g)n;1p zkBY)wGn?&RFl}Xg#PM>$+{GVHS^FgMihnZPl-P3bNpj6@WplOCgR8IYz9jPd*Stk4 z(<)`IgsSn$&0gDPCvuVZvFj4CJ(?URX7MkGZN6uMCe9bgJ_H4Ur!?||?SEikHxl?FRCG$^n8>80&3G+2VmKWXH{)TVQ zpQ6|OC~nfdf5s1gO5dv9wD*IO%%8tAwwP!wjwn`LxJe|S+@P)cu8L%fYMFUy;QJ#z!d=?Gl>qHB9}zaDP?u$wT`y_Wtm2*dJHt{7_MBIo~(k>O+enDtUs1 zTjtzc?5}0@dVBfV(sk>CB9hAD6i=miU)ZbR-6{}y$6a{_pA^?MiT1cD+n0S4PrH+S z!k#tZpiIZTD7HJ2>5Hl~R|`EooxkJ#UBlxNw*mu=vm86`aowWvxrZ#mSd9G=){S^YHj&eX;rVVxEiMS{;*jzHYl_H3Xli(cit>GDtIZ z-p$K1YQ(sLrr6dWT`D(s(#NfBhhFO2?CtvVxmIVXa??`7)7o=Zb+jlIUfi}!<6 z(yqX)pr318*BrWY!cla`Nzs*0YOTJ1nKpaAY3X?}>(YjAK1L6hI&3;C?)Tb0)HqMT z@r&E>e@`n~zDC`u+q$qy^U8}R``j06dZSMDYu;o2%%9J*Ot)W`cg|{2ufG@c7U&mm zNm-abe=oaE*na=mmXx)zO1*3a=kEz@D_L0N$rPS&Slf15Cx20u$ApNEcLjD)o60>me(Yy1mmt=|9Ss56s|SgvYhSfzIQ_2PToOJ=Id^EQ0T(0-V)`;OMyHG2*3FUsg* zIjj1`pX;4c1>b`&*OFHKuK0Y$y{|LB%C6SZ^?8hclRon<7CVrwzmTJP4{Kdx zK#@-+r^iq3;uD`(|6L1K7oM5JR9gJ7^0>;=zL&nL<5)F28x( zht-|aGB?L~u^p3~9kykQ#mik`();2nrffAm{(O76Thr82ReMUpYA+_Ld53>Dp0eq6 zk^j{bXY5UGB#5^QxLtP7XV09^@3}nW?~xZw_cgq7bFL{>*=_w*ap9aggVy2SWjg~E z6RRCI$poyajB;GTH|=3E>n+wOwLX2L=gv=`n4b|3)M_m^z0zkX6J#TO?$NfpM})t+ zuF8L&7(P=)UNFRZWRgnS61@jMCb92A||Yqi0qfEtuC7n>+cUhl}X1C#M!g z$ZcP)C^O+r(t{(j7|Q3bo+7+*&fX6!9}L=x%EkSb>@HoIvgJdCOwvOO(M?ZYfA(E0 zXmIcN#imnIN|Ght=X%yJ_L7%u6lBld-TYVka@T8ZdrIG-DfR7?~7d%e0HX8=#hQZBgn*Gd}?Z1PV-^gO+qi1MJ~Cu z^GQ|azCA6~SKjVsns-Du@c3%cRj<4ho-Tj5L00wE;!o^<#fuN-9JMgBVdXz^Y@JyBtIZ0GE&0TmC0O`OA#1sV*b=HNF10N(P`8dgwkl!Kx=Z**0vtdvw|{+02hxe-^e_6&_L-uKR82ab3OW?+5FbNqe73<)&<` zzU7s7O{(ug-HxqXj&~l~y4qQ|?wtB#Yr~EBHS-L$gI*OB`d8nW9Fx(*uK7O7>ZfDp zGUGGZ4gQ;%*Kh<*0YW5P9`&xY{<;EPw$l&DQLrYJFZ;m{&XS@5)Uxr=`LEO{a zlNdjjbi`hyGXxGY`w_WFv%wQe@~yRgaTZX6|r+zRhd&wC!_4s-IKfNALtT+yoN4&c6r1{0Pm)tYE z>dbhXG}rPwZVrBRb`wYGM~&l4Ue8)(leXi@?bpdE>vu1?Jv*#}W3PEJS77_y@2mGJ zdaD+$_MRf0eRs0=?#G@BMC7-h`@UUl^Q@`MYZ_b^F3D?Z4cGh|c7I*PBo^;GwoA`k z5DHBHSZokqp7uIj^BmgOK6w-0A{Ca_%)l2IQofz@ zl5_w1>Jr6$Ep?IC?*_Qu(a3*OnkJGsA&^;SikQ{;_ovQ0D=zePp4Yi4g0pT#-^W+M z9=2bmYVq()sNQ^-dH3HqlV!^L56PTyHfKmXyfD;p{;#R7Kh$Qn#u_3vZqfbgp}Fu*~Lk?eZr)jF!e*IhL=LwLbc|^~|QG%Qn*#b}|~Qdwy>QljF~X zjj0X#Qs!Zk-t4$k@Sv})?zP(ETS=!6EojpdxYxS+Z3c9HqBXUmvpeeEaX2YAh^c$0hg@g~=bERBg7X&YUqaXn@4Ts^PhXV1m{ z2R*^A{(^oFxtR4T{BwKCj$FQ^aQ;ijg@W(bfB->fHFS&Qpz&&y9Mx9?LDxWQqrBb(J@|tY!hf9BS&yI?$@!#|PWXa3R>#mj72S}`R@jI!{ zBXS^VLeq+Eew-iMVuXU8oL}zX6f`lM`JC9L7TZwc?gsbX{j2#`@5^U$Xy*)^usB%% z(ZT2w@gJ6-`WRF0%y(VYEH=G;^Z6AM`B^%v+wG?)uP@NA-(eoLDyr)Bezmo_NlJ&; zyjPr9c=M{^;=hM_KW<`3W_+h$__9>}#M8CmTz$W99+++O@EVKj5q3i3OVf)3Uy8GN|-C%l9PV~-0kYWTXs|R?$#w! zuH|X8G#V}Pd6;2&PsUQ|smLWujYSI`?w=JYn#S>G&nM%XM{_rqoqF_VgP&HdWW)lE zJjXeeO|AkTWFv2IuPgngvT*y|X%n|RVzF%NoG9=h@_3hl!&B~n-4FbH)ICB%{LV_W zIQw4x_3xBA=d-WtZtH5^KV$m+(UezpiIrNL?g%;kztP0>+)}~ySkup<8D2Ys9%!C9ca#5})EVYnQIp;OW=iLO z;+gMmZa#J2?5g>jHw&$JF!j%4=S2_gdZswd`=s$^-7DU8xw>;U{i&VSa8)BMDQfDh zqc_cd=)c+_q4Y)jnc5!r@QM$*FL?BHmO0E|l3cU;+UHugXnB)@r+fb`Zt3g{EuOz> zii7fML#um&AGEn$CdJ*^f1bTYHzOrO;IeIBtzN{mG}Go28?7AfhP*z>)%`EtX-i+E z&pO)(>)ykH=Tz;)VmCdR(i5gB_c8D!>wTq@dThHl*G)ahc*NtXmzm~*`!=sDlh3ru zGWkiA2b{lnQ#ie5@0a^UR+%b1`OiK)*qqh3DAN1uS_YvEt;MEg^US^1?k$%ncdDLs zzSqp3eTHn~g$*1!GTk3O{99fgw@KW@q)P0un)Ul2;r|^kS3J}{|7q=A9V0vKOAHa* zGhVR0nAYy6pSs`s&~v`P8msI%q7{4#jy<_}Q}fNeJ%2SytiR8aE$})pp=Iyp&mH2D zhf^=JxE6SJnx30|U_!sv{nir+StPAOSRAKDX>f&)vE_Jd?&8*<* zm7lr87nB~!P21BDS~k&TUE`U{i}>RvL~c8DFjksDQ+rXsY&VbMx}MnCg?bvNYNIAx z$uoTzR{iCRxZJwCS1ZZ`CFb!uRCdX*ZCAR<(Rp@h`o-Hva(4QQb-q~~xGnO9?S)HU ztsmO{YB8!l@<;P{j%nDF-6h@|7XLI@qqmb~?WxQZcJJj?BLBAQ=QFuP6S z&WbyULV3)4MC}#j_r>cNY|i_}bzCd&l1=ubM9t#ZZ?x1@A6=N`0-nxb8+Mp`}6TZ$E>w7tv`vRv@8t$ z?PhlB}`G_Sr^beUyap%`~Hxuli##29!m>h5eVuHjP=x) zZ{m_GKGaqu5xDAG@#dICR?A8p4tdpSuG#X8ZIOxok?@rhY`dp#o}6R(=-%$2f?Z6r zd_KIsdcI9-_nsXG@19S6#40p#edOxAYpNnIBChcX|5@Y1dd9d>Q+(Z&m$t`aGL-%V zz1?K#5v{yit*G_yB8?wMK0f)X#n}2>F5=R?G;zsuXU>H_*77$CvdFl_;Su&jWcIo* zlm5AHa!@k(&VEl;h1KZp#)UOWW-7it*GidSijI z!-CCx4JH4Ko;e*-T~_l_WL^4Y3C*HU`&j4gJ-%qp-y@ zyK&yPiRsIt&$Ijf8oYe=!%>XcUi?Ox`ghrEW|gB4S6}Ik2zp;xb!l5->!A&X>p9D# zLyJ4JmNBj1Pi?nNt&R3_*cNf9Nod|KnY255ryHHDSJz3ln#H_udw=Ej{I9Xb!c6Ob z#!pTwMDJzw zSAqO6{-rZY(^hsYD)E9x*ylXY}>Hz{Ld4Kn|{Y^Em>(*&1SC26`7NBKt#XJ zq@Uk;!+jO0BGqE;%U5?^-gw=@`OtMg^F;D)ln7(<>CW&`eZ+gn4yV5u4Ht+0Xe91bkj&n&$ zljwyzHAZHOE4)GZv1*Qy&zgO!9Qoet zuReDC{4d6NLFW%D`Lu29Sr;b4rNFPFH}zA;Go8ah6IqYxv|q-4h?HqSFxA8?gcdc84BOZ$2AUD%or zA9GLK2s*GK`>N`zwL4y0cD}vk^&&DzjoE3(Yc0cnbLPI=#FHYi<$lbIS$z&Eok_2c zqsd{%L+P`)1+3Uz@tPn|D^us&t!o_=CLuvp*vC zt{g`S#+J=A4a zyj|RBW@b+2kEdT#wRD&KW8F1BqQIMudmOK2P4>1r-T!60a93&v-^sS3eG}Jtovoheq14r?$Y0>LZ*sq~$kKQ7 zE>%@J|2P$LRKdS2+sisyZ_VaP zTO!JR^1+PrS9sm+6<=}tzK^WDHeW>YQQDSyUQ<%zHCrxTVf?h^(pita%HC7OA87R~ zFNvs^6@JE}CRSgzi96zO`cd&;qH~$TzAv_TkaT}e(7l33)^-!$i!RQHisF?wjFB_E z_V=o`ipAAM+yegZi&i97WOlb1yFO>$b}>un)Y;gSl>ai5ISrS`T}#dSEUE9C_`~v3 zGlSQxg!4&~UNx&$?_KvgcHayCTRNgVZF>%MYBK6EPkpaa_aR$Q`q`TQGx;v<=x2Qw z;-)!sXY}cY`Fio~*PHJ?tO?fqr)RoYBlu#iCEp1PUZqIQ3`6mc2?915pEJUq9a;J@ zFOR=*lZs;Ii!0a7d)VClK27;Pb5+**^^wB1h8w5(am#L22}xYHnEB?OWtVq;E>)^M zo2J@VcJXD>vpGSnN^dx$k9}#>FIL>=6Dzp-YRal)izW31dQ1H|nU-j7?VDU|He+YY zOfQQkmf2qEDTlwsRu#Woy!(&ZtXG}sq?rOf++Ulqy{vk2_SH^@r zE}EHoiO*z1{p*v?y+|!*o2~Tp_O3YAux05pt!7Nro-+F(`*wMDCjQj{H-i1uP5-L$ zs6JUWZIb$%m(yCGgif4NW+S}x+D@(fE6xJK_3TD`Dm!F<1_>yal&^f|D0XOJLnNE* zgiHS(`t4oz^Xr;i$tSt-mzAu=&R$d(;W~S;ew&=0s%z0!&G-ZH3(Ve3j6T7)?$RpP z$6oG!>5I1B>Yk$T*l7>{my3RP<$rp2@>iXGRC2pc{^eXzE3f;T=E*LT(f_wf^wt5+ zj2SNuos+qx6vuX2P2m34@}#+j%`;7`o?YTmJ!SdU@LIX+{N)-mH|YFdsdFsoww~^) zp!-LU__?=+{9Ew)jIX$x*o|{tKSPiI-EykX{rarF#}x$^{qERjOK3&7MCsi)bj3xs zjHk3W<>o1f_m>-g_<}gjx3b8^t@pFH0VLpIBg2 zwC(UZm!3-&m5&-kS)LUwtQIVf>f-#m?NpNdmE0el$B#0+tBKSWc+I^;w({e2rlMv?;B`o5^_BH}SHcq4VCbw6@hTe><44 zAW-h1XU<$FttU5EeEIQd^O{XH+u9a{8U2vvY?IZP24KrNk8j5*c zI49n}+4ahu{SXPA2iD~O#kX*<8Ir*&jNx6Ls&$C$w zA6>otKI6TmpAS6IVSo1Y$dr%F)!Xx?@=q(Bx3T8HEW7znHQOh|=iLvA@v{y3J8hr( zot29>ojhOJWF-}H>gZ#ZH(L#-7`$|fs^7JxP0#0)b$h?V{S4bzPbvqulzlE(=qZZDDv_{7I)^-zPp1uVV{7ZJQkPYQgRc8%&!w^SYcUeI+M0@4Smx zq(xd`=CivzOw7Jbdxg#BO}o%#y!_lGhd>FRrJv{ZJN>87~|AW)0J; zCrQps66;I3>c>?fGts#Ab<8KGxt|hGa<1QXrT5*L75D5!e_fc;<)8M&V8;}tbG7kz zuH||vuil@eY(F7u)ia(ACj8>tHm+J6vs819))%Jjb51r)R;*Tb6)1A)yS`VhH8ypt zN%#}D^NWSvEU8?lTy6PkSM8yVJ9uN|OZmn2@>e?;^PI3^ee}yalewXm^@Iz%*sJt; zd{d^ecT5sbw3e&ctUE3Jjb{Cv9h?2cwNCG{Pb@x_y6a$VLn(jHJjM7KiVH*KPRyD5 zxtsHG^O7&IcTA7!r~N%^@JS`Z7Ucwrfcux(CvSJ ze-(MLt-$>bc6bkNRy&o|{`fiQkgCdcbtTWLfFOf@^q$!b}-%zw%4- zKlNtUB)QMVH`Y8mdEtiIi7ej#dXMhuu(&XIyC?0H5ER~15xDaG#MH$_vr;k-CaGU< zz0vm5`lRd9nHig&ToK`EE0`QJO>f8UeTT}JHZ}=PG~Du6bM4uuFTRNB$j3WnEB(BA zlWzsv`oArf#~sbq{$~0ZceB?bF=YAr=P!c~CmP9p+nw*0S#?9O)Nf|YyyEUVx2@JC zw&iYc=<|5i(wb+;zH#AatDq@&tC#(l^n6N_!=C>yp9r|kt(u$Knw(aUq&H!qXO`Q- zUmFrkb1L?}ni0hL(PT#WRC_zSNfiZe8`rS49lN!UFTv%w{ZbvPl#-_(EY(*UYgQ=i zdd_I0Hi7GE+xdm>Sc*P(D;%@&Q4ePcPvuX2t-Cb8J>%IuP2)G+ClWW`++y?j!A+~! z>93V%wHU2=Q#M7(J8x;^6T$EISM}YW{waL1GSfSwmy46RwxztSm;32*GIwU&^`?Lu zM(_Oi7mqn}!PpIeGf zVQ|en_&UzO_Q#?lmb?7Et`PVjZl!AKaQc_Vd+9SSR_x0%i_~M~Egtc>Of#;k-FCM9 zVM@HwHBXBP36t;aIJ{aV>FWX)aj8?jo<<9L_cnF(Ot94ZqG919rP(mu{Gy1~(Pz^n zbp5`pKk($Jn8SdZ>=Ybu43=(fOh;d@sMe+4o?!t80z3T%^RgPUX$s8CBlxddvRsO9`<3UHVvwBjTIks={OL znVr3%F%ieouScGeDx1K?_~UTH?rR@yjhoiJzmfD>;@0OA3)VjHPPlb#TIDqUNxS6M zx~AtCoZ#u&dym;%OkA5LH(ca ze%9rwPm|vJ?5GT6GJ1Sb^Q~F(^~{>w+QvU(%2&K|6Aw=2m~Q?3hx+0;p3f~0fB%(w zlDy!^;ykyK~mgpXLyKyju5b+s4#vxw;a?myc!Irpl|VJXd-C!UBbNlMi_B zYJ2!5`qPYDF%|LmdJBc#N*Yh?=t_1mkuA9SRAWh_{fqx=j;!Cc=9KNOMGQi|@1s=0 zqMHs(jJe=?OY2KO8{g$6Ywuk7xu%BYhpB~CbdXlsO^*81VNTbeQC>$4XsKGK9Hp!;?5a z39gLS?@##j=v`l3$r=u6;VJSf7wx#5x_A1Foi-bm|FD`bd!#ku2b2mHS2}%Wy4LAQYSy%o78ywN>cF!U*Rhr+y97$uRXN!VC?6N=ov5nD(p*`f3t1w ztoyUx@76pjqaNvXLVWYHI~*muCC()>UrV_6eA0yIiT5?Dy`px`lPS5NCe{(2DvMZRX~WTC(dq671Ud*)^eF&!b@TQO%!ib51Mn z{pM0EA0hkXoS5^K9`8G=ZJw^beco|aV2ER^-VV)(yXAKk>&vHf=VeZvJJEXL0k@xX zo=5PWFALS<+Nu)8ne!o>|Mi5rNiP9m2zgXd!bf6>fzidle(0ZNa5e*j(YG@aFta3Tv zY5&?hbp88}8PAr*oZn|x;1{s1R5)BV==mp|Lq3zcrY5IN&zmsK|3dAn)>G5ePN&Z( zHRc9*n?<{S$3S4Qfk)E$(z`pxnKDS<_^Ab+;#%_tvLK2JH zCj~5iv?;owU86%tSCsQ7tJQPqhjuw3pD!vu{F0V*!t8*qRKYisc{ww;P8HadXLzVO zulS6|#(=NVFWK|O3wEYxnM%n1&XZ9KOuK1)V`_!<^5$2pFZ|wj+nwFsRaU`#?2Y7_ zDN0FuHZ@%Tq{26eyC<3BexL@A*UQwby-6jTUhnk&`1!Bf7_%(}D zviJ3HE{(I?tIo&y{M+fJzR3cWC%>QU=C)sMYaz4i{^QL7epV|_%Q5YCVz_N!&fq)C z!~FM|l$68DmuGev?DzgFt^U4+O+dS~?0uZa>dpTSy==BWnS9!&ldn?xyCR>Vj(){) zMb{pU6wjpv5-h8mbpL9IJ6cK27iK@Kd1&piL*E%f%Q{+PO|CE$CM^7UXLrEO&l6kt z7B{LDvD%pW@0>oX&`wiJll9HP4Nsr0o504xZgZI{vB36O-s*kjcU3||ne;z%wr}2d zCOA%vB}U_%FzdA0ZkL`e6P}y;^Y|8RrYApZM9;TX%#httRQq<8=)0}W$CEcsoXX6; zUuR+J=L0=Wm*cV51Jf>{27}tOk1|<1lQ=AzXYeU9$(AfR>RK*#m(gEjxfe^vZ7Y?9>Hq$1y29)j z6}9StzO2qx!`r!YCF*`B*KYXI_~CK?l?Kiidor!IFPOga$sdm$XJl?hOxwI>a#!#= zm3?f#17B?H{PEdTKAf7HoY?uP|F1Z`K96ts0!T#)PkH<$IXnZ$=>={75_ZauZ(j`*A!?M<`J zaY&x>`*-7O-3Yi7dKxvB4uzKt^MS2?*V(8u$lq|5u&&g(wyxxeb7 zuknJ8BY&Ke&Pd(-#Kz6wA9T`ozroMj(#L~~4mBQ;T$HaZYO!4@b7yW(zw94gu~73MYu>fpq2I$Ne(buH{9Jq%BmX7;Eftf$ zP4M{WJad*gPw4G085`>ZKm5Jg#N~cv84>rad83s@7qULl`Dqj8$3Tj9K}Kb?DKiA^j#5w=3Pd+ve*Q@_nSR-wH0$+4}E zUOlmIwp7@BR)bxD@BX_W)+;j?&s}?2{LY@s3m0FWpeQu=RZ=!z``zg2B1`iR#=8pm zZY$g0i9n$}KJet5Icw_w+u5EKq z^?LqWapmx}iZ0WIiae*M&#x>AXScTu>=*lXc*U#OkJbXt@xdiIkLH!%UFW?$_TJI? zbqeYcVSXQWE7~%Znw?2}kbYtAhb5~Hw_+ zJJzDylWM3_e$zaDYwhI>R^?rncyD}KY*L(3tK2H&sO^7K_?a)~|65bCgk*fpuCH3R zdLB>BosAWTd4EKmiz@R7$xBK|l{}QGx&Hc{tm+!2y)WijaF|$lZ)=yd6|Tv140lRB z$I5VzF=zTZt}3R8;}34{JpX8k!lI8QD=Sk97B1Sxq#*1pH0Ac}^M@WV{9t?YQ*zfi z!&%eWCue{Acys;}iKg0XPOpBlesAov(-bxr_}O{dcGvx8(e8kQZ2R6nDvB@p=V5tj zi;31A`6-NFrG)d-Y=r#2x9gU~>;De9p0wZj=$*xZ74nCUT;JT4&C|qZr}=^TnpTf? zmEo0d9TU`AtG92E>v^od`R(-|yLbIQo68%#G(vF4cU9$@ze*Bw*Jp+=efU;WxG~IQ zvgB^HBPX|CyP+a{NVdvpsr0qfNx#3PS)Bj?rGEHt%P&QrKI)ni8I z?uW^-ueaL&xF`MM>F0<*-P~DcbIytduRYN^Yq{y%&nNW0Ge`)%J+iK7?<4P%%ED9P zZp_vHEcsU5^?~N^{iV}?UOUbdVx&7|xAdgfU28n&tdDzoP>%O@)h0&yX*1P*uQ0w$ z>^C=FWhART|AnedZ+uF(kMkBM$C{{fSHw+XQxx_nJoT<>wzb(Rxy$s0_l#@qQ?DJi zIXKsE;Xy<1m#WH(raq0W;3{8xxJd1K(dQ37+_SW2Z0P^9diuvR$A8IkZEZYI;J{O! zsqw|E{&T<=5j&T(Reg<1zj@!h_WoVuKCWAPH^0>nGIZ?rig+pi_TvR%LG@ccL1KTs zzISJYJ?e52p5di9EBK+#>#!w@m+kp1yK1uKl7{7-Y=K8>t9Ldvu5er_yRqBULGSMT zZ_l&-DcWb1y;b`dSGM_vPUL4(p&u59G_EdI&)3y%ycb%~x7~8HL0<6_kNcgS3~X8K z^H1j7S}@r)eVRqPz}F|mJyZ8|>5JSwSF>-&v+p`zlnyaZu#Ts!d$xqS@ihQ2PF`Y!8R@(%-Xl z?yyLE=QW)UiZ`3SJ}jrmN9_57o67rFHXDCx*!rcQM1L zF=bD$`!pJr%FipcTObhlRKxE1dW${(rZoR9{(Uy)hU>ex5ni{I>@AF5&%1O@HTrtn zg@UfK#gVP|y4e(4)1rH?n6Zj~2x`c$ma%gB`AIQojrO8XXVQ1RsJXUKZCZF~bcwZM zznOxw-t`Lo75)<_ad5i(?4^GU{@wd2?vU=v{*gU) zzI^o3%D(8{^CZD6*ro2D7bH&DW z7az>Cog{A@AT)h*djFcq88vbt*~UK=m`aV78?tUq*qx>{N#x`;`??Mt6O(b^k$G;+bo zx1JZ~J9)G0s$DV9d)l}2mh<;Z9y{<_q_{45SG#ZmZ>`Sgub#xB1{2w`XY+{R|$+-^gC1^Ck5I^SO`L_pD##Wjoie;paAQ+pe3J zcC6m|Vuir1v>WgDcKEZ(Y~nhlv$Nof<-r6k%`bwTNdbHJnH6a($UK|D_3fXPpIgRf zkI>}&&%0VPmP}I-sV(beino8twPh0L+V9P5)roUn=%0B#XIfjt0|kv|U#6@uNifpk z&p)&0bR}PUrf?#=TF}X-FTJL5K8%%md{Xtj>s_6x^RBZ5b{oB7nP8&Bq2zC%CmWqv z#P4X!DBSnsLgeQz!`bUOb}{+~o{`Yt(~wxIVZ8H>z4_wwNAh293hHby=1mjNPT_by zAuW%0n&Z|-S9;XkttI*9RGB`jl{RXf$F{lRlSb@KmX&{|$cNkbJ_#*m|9xmqeymc7 zRtW1RKe??lpVuDS)M)y7a+bvbE)&ift7aX0VWIqH4a3vYzW9BY#4qo&J9d=wznYZ! z-ahM+r~sb_AC(r~-VkT-a-qrFBFA`)6D^>5Mp2^vBT8S6vy zD&Lt4TCOhiFMm4CV172oyWZTWLl+d6Z{XQ}b-CKVNr`t{{=~Q&1#?YMUETA3!OPhj zWY>F4>Z^Tlut+i3PFLuq$qD0x_@DI!Juy?t9)46fAojnncXREli$!+c8HS5$58Jiq z{4QQE*`@aR;R)qlR-62T+K!1)cb86KUp{5~iL#0OeZ7-difY)Nx2&zuaoF|E`25yA zchs$%W&eG?^44gtiQU0%-ZfLwj^1H9%5cH#NZ{UWY8nx)g|>_CG`z`sUfVfQHT_Qm zPm{*%miEbw2lMp0Sf4NT^VPkvZM(d|=>YYxS&F==VVMWn3smL{a1Dh ztt^jkOZJ{z^KE0|Qc*#H=zkj*w;oh5nbJI$>H4Kd$D1`j=~X`eAEkMtS}18hn}|c} zvbQfBT?Bp7FNW0|nW8M=op|_l-qeMhuV+qHiHK15?Fgxh+~ltCnwjP60Z;YaO}8Y( z&Mjx$r{7lkHsEHwTyw@w&x~ChVV(MWL*w84=?cANbtv#X+j;XkX-nQeJBDq6HN?CZvV&sb(9HMTi( zu1j!PvGid4Zmn+5Q@gJ=my5k}5->fSBjC)JsvLTNr)<7<|-x%-g$f? zt48Kcp@n>PZuu{F_I9qD@yp`hrAKpFy8B)Sd*}5WTDwW&Nn^9d%4vT!Uhm)So4hUW zUgUYf>N)S1Y+Lo+yHZX-wUK|D zROvphJNJ~HzO|HQ6nMU%W~Oxn&*Z$`lq(j!eFs^BS~hQz6#uCcc=4TG)nZWw?x4x` zcb*nrRdADkJl)`M@5+x+1*t}AC=+}4i z!#j^O2HQDneAPZMKbL7)skV!O8mHlB1+FDZGhXH2exwq!tUP|_9GRJU)jJ)gykVV? zG4IIcxzjlXSIZXOEkCuf$@tvTqOiW3%KMbk7d2flf6B6K_l50`&RxE(aKh=}Iy=z~ zbK*6ho%URHWa8xHlI*jx`LYX`#P(%p$2Tq3wETEtDT~0rIWBvTH#|@IpqtFZprbKC zPgr23A@|{sTpp;qF{l}CsR_RM)$rks zsh_;w-3_+jZSHvXe%j;wj)))c`cGC(xa)LycFLN@4hQb4PYUvXR8K`-Gj=Vz`}(t- z1hZ_L&bAW^#TGbj6A+FLj5_vj;;Ro2IB!4D)ZTQ2ai5m&-mN^Z%I{VMFv~o;ReNaG zW7%oa?FVK*n^`uqXoqqOlc)JF@0XLaV>isaedei#WUrvBf_a~%XIR)xS<@7zHG6NL zJ)ZxHa{_DguK4H^Zzq{sUa;VpD||=$Rh-O_v`&7ltsTU6-9`m*VgB zr88vi-K8&8leWE;Ss8OK)6cX-_R*fYk5jXks6N)M`W^H5rPR#E2c|#QU+v^b^3QT8 z{a$MPf}vxsrQVs?kgw(HoFa1#eXJW*^G_AXCY|7(-mLh3l1#4F^sQGPH9P9;oRAPy zCm0vFJK8@i{hpc($0VC?VVP66%ubY+>naoyKDE1)Z{7^ykCF1NcN?>EHeFl#O5<{; z@#^!wz5Yqh&h2Qt^RPMUJ`eBh1x=?L=IJt3izLZ8X+0@AW?Ao5d@&%xe3DA^%g$u= z*FkMj#lFv0^B;f3cGdknUv^l~Q$3cj#^pkqokDAO?Bc#GTQW2JzW-kiEtR)xi`lzt z8sk*8zaCdhNwU3a9MS&v*M7CL>g@Ryy)Q*ybbb+Cb6s=on}qF4KBuq-_W1^wBzL*k&z%|UJc0jW zrvl@xw>OSV`BwQ>Us`*~47tDY@4nS;uUFU>CieVG%J1cxEqszXZBykHb$4`3C}~`^ z&h7A_>1$l=I{E&6R{U|{RZO{h*ss$3<#XFyT;DvpGOP1bpZm^s|thW z+?rzco+oCajcJBpvy1Bm%WB&;zoeVoTB@PDUu!(CTD@gT){gu~`$Kt4PjT#-wUVRY z=kvtijS{gbUrw=p*Z;<$(q&bURLS}H!r_Nc-UU56pZ{`3Yr3-%d(yUuKQ#fRtHN{7 zti0qkIpf#CSpCTp;v}^kQ{&Sntca@G{86rA-m$Budx|#fXiJJ&lKlTh*{3BB>z@T* z+^Dq1W{J`J9cvEAzm}XUC;kUsH}-X`jAbU>&Zw^wd?28~|LK! z7%h@{gwC{bU2aLe#a|MgG+iVt^0~%~G&0PDYTra8ZhOoL`ZV26di_=ZwyNq^YxK`Nop`x5?cP%@U&mMH-Wg?H;I0?A za3GZ9=83m@NppN}^4SWAOiY*>lK;OlXnXUld5b4+ye4KdC3D}o^U}7e0kAN}gx{qp=%OP98-eq4Gg$)v~W!;G}ZUGERRSQ-{$RIe)Yn=@UA+v)A0ryHi! zX-*ThIQ~fT0n<~T`W2N8S%KAeJmObtpOQZP*4!oPcJ8MubN7dxoyT!LuJlaw{h1Eh zS*+8PCMZQ6TFmxml88rZ!NUL3W0sgRitYbI#_HZSd6 zQL^XWwuvW;G`7}TmNbP`F}r?Yv~Zr*msFs>U<>=}81J3UagD1d8au^!FX)^bv0e1q zZRdq9oqDUC>rP!|QLOI$p&t>IsPcKroyo1jyM6?y%U66U`gZPR!L5S5jAeCcCg(k4 zIH$Os{V+>1%&zSi=Zj5OvO;<|-yL4}Pien?{KQXdTU`CKKHL3VYBe|iRNr&|F4Gsb zj5Y6_AAF9My;g6zg46lPSFhUtX=d{__BG9LD2 z){XwUXMSxwIPnly>rK7oRsk8p)?4rThE08E)SE2h?6u_hFYiM-LdFlaUl4og5Px>f z?2fa4S7(|1=liv|hsm9Nl0nJ;53^@--DC^6pV>3}%=)vFR+a|*e6c35)q3tsNzJ{Y zKJVt3v7Sk_-zt3BZn=7I?AF-hW$HS0Reoo`PM+^qyIEoXk3d$byNp`=!3EnFd|~~a z?sHZ3jfm!ikB<5dGwb-`i>nVdWY7Pv@bg9ipX!yDT&A~Xz11&U<8I(E>0!TAR$qkg z$q9>({BYcP(pS;%Pz=Ki9rbmrAG8}2)AkGP6!sE&-n-U!z0|S2fy}cFyA`FM8$Ld8 z(9&ILO=fSgzSPPY2^)$RC7yY5+-E8Gn(2L6n|5t)jA)u-xkL4Ciow5M3kAA)re2Bn zpT)X#R`44Q{g3O7mh73fOJkv)!xHTc^}02B?ow4%zYwrW)hgRfb{tRA? zzIzguiLABC_6u{|&E|6PS10G}xopTJ`t?}B-^MBL%U}s^2?la&%@*A3n@1Ka8G6TIMS`^oGxu19%CNCp(1N2xvVTr z^tX}KZJ{j9zg_DR^t9J$?mYfrMbfhAwNFkqYVsev8zFo1Wqp`mcHP96Wha!{wF?F9 zW0biSo)=e~`tIoe^RdLVDr@GOuEh*?d;Zv@{t65I?X1#nqo(_cT}E*IgCp^Fm+o!| zTrr2qewVT5B!{ql&;Oh<^PK-8rE%@*Z6Wd|=O&3vNiSmV)318J&^oj-IB;cQ~2;i!~1o1Znz z^4{AX6D)A_bNTyC=B3gnHb2?^t5(kWNqDN4Hh0F#xFZMbr@YO$7^rceZARKDo5>!D zK6TZ`K1&a5{>E!x{bZ8#+xVi7v5(%*zb<66K4!;d$7`kDa<)|--!Hs=Tw@ooc6-Y{heV*=aU?nb-)iY7~zu2SC{=b@u{CS}g(ak_?f2;(&g-i5u52mYJ?pY={2j;g zJKv&SE}FBtYDuZzI}=N*z|cvb_njBCQ?c?e{3f=?DJolmlcDTus*c9HoSolXA~Ui( zqiuHxh`zhDog;m+qK?_rrJoJ>ljNHYd!9aDa%r{0yj+3u_}rAkvhpRzm;(YAzTF)i z@AUQ3V=>OxEzhSK7f$@UW-C)hVDGiB5^B?#pT9o5^}JKJE#cw(U+4er zT)eS{QVeX0ZcJx{D8Y%v7_DNpu_T+oy zk58U+4O!+tN?pG2{njnfE&O^q-|kh`J=kU+l|BE@$p+??p1)hHPw@S9WOTWI+o~zp z*u<(gYt@MltFoeEJ&nGUcDkSaeP8lgZ3%OB9QzHAx)yWx57V~&5ol*SmtXeoU8i?i z{K?&Z`(-q%ma3$EI$PrXetY=*)$+(j52ZQ@_p-r)KfbyX>8{^8OkkCK>H|2eO#{BxUMd(o$JymJ3ie`GE@!~H?Y zuOsrgd&PRm7WOwu+$%0k>Rzy}Ml zGjN{sHveN=>RQQQg{)NTj`$ZspBxvgD4skiQlaq}Gpnxr^e-ozxGpjZEjluhamm9o zwcZsBnGfbg+8&$z%Fq-7!V~JUjm9e5r0c{p0z9 zN@ZWBDZ&dXJy+GO_H}g|3XjZ%q=r#uHTWvp8M4PKyR41ut?1o?VOa(;`DAFv#CzY zd$?Pwb?&ulENgmKDlFlmYszu!@YebJ_;EP^0dRrF%As{(h#r_miCL20BQMChOl*b66?sw3gL@|DbTpXeUjOXIq1mGB zQn4X=XNpKa7#f%Yq-!nX|nKYqy+sgM+68)j6XA&G|SxP;PTmIW+gG}Yr zpt`#^S7u*id{%hu*1Cs^(&u)ai_Ch$H20;a%c}z?j%g=sm{sd_Ii}n8o}Qd)eWYA$ z#$(;9FRoShPN_fnXdQQCX+YAKBN4)TL)=?9?Vee^*R1=tZt}zO=4;8cBtFfe&&kIDK9I}EwC*tpR{{t%MwBB9ZUWkv<;~WTK4sbR3TIE(dc=z*_1yB zpB5?!+d6&uv1^JmZyro3j^w#I|H@odUQv0*iP=G&@&@>G)&Fg2o^bo{SEo(q z=GrhA+8OvnFS_pV_~z7|ivrC|%TJa)yXq`5eSg-I0RG<`b60ajg`Jxh&k|C*HB5bW z@y7lB)&hfHnaDK-zNukqnw8JIs$3FMMHVc!J5;y4 zmOEX*kGuVYVMUdq=`E|O%&g0&qnLK;3f3^LEe?MEUi5J2InycaHjcZ^=DZ3!Df0TG zl&+p<_5&NGL`@rppiC6gfzU&H?uNM^T z+io{Ml`r;`_jZF7ukIdPx1sl``jrRWefBGEFnek~Y_;6b`ctHuv8|YmgX3t|w{?Fx z&n{M5!`NY(^F#6$)9oXh6Si(yX#R7Lu~nd{=&u7FFBtT!m+{|!Q5>~%YR`1R7Rig( ztM1q(cid%>%j zZk99aCNO__H^a1|SS_&RcV2{wy6*Z}B9r)8xDG44j$ALA{bx%4_s`w+)lTA*teVR* z1p;m+`h1H#F>B|WeahaiZZSNOmYen@n{j{IF@^Y~jD1EjAD27v%Q^pF^+j{>xz!De z+n?#}s0;Fo$y;!J;e)4V)QnE7ujE-0VE1(*%fsdOf^0c{%(iwGbv_{#@MO-b;)8xG z8BOP`I6b9ei=OIVmKK?5e(fH*TcY_c+`Q?|&UsXQ^R`nLZ$7=V>KON?q8B>LWlE0n zRCX(rB>&!PeaptPBW81G_^XNq6Yl=@zRY-!KVF{efmc}ivLZL@8@Ux3mPQjVDE`t7 z_uJ~AnPPW9h(S1gQO$})t*0F}ZPk-JwwCMD?n~ktpK7&cIR96V`~Q61tlnpz^52** z+3niEwM6c7``(#h59jlp)mSEbk>7b%2uJmG{)&W1rC7JU&zD>|5xh0_>6gY-m(Pc$ zZFqL{`i{9*c_+4QX?umo(ie zoL$_zk}c=P9MNr}tM17Bcii1oeac9A#o}DnLam&ziXY|6^WAS)i=AR{m6~X)m}<2) zIgXo^>E9Wq`6~*&Rvq8GR_MyLM?B1vcua4r?9;U6R^F})+>f%Y|8_cdj>#^i@Plo$8+&C| z?=C;#WOif6o|Tbx(~=|_6}jj4S$@C3{Es!c+lA5O>Mvm@cK1_TjAAR-Z?9-cl+6od zI<5a&t|9l&uX)d2!Q|%p^7O@1+qQ^m9K0~& zQ<~yD=AU!&|DJQ;xF~TyC-LG&nMs9L&ab*@ke1*0>R*oYnfMbiv5}!o_q^tqh@RNo zw$RC-lgDoD(?F;5%pNzK{EqIL+EdB$l*_&UNZ9q)&7xr|{t4~bY5c&lMfu~E2TT+0 zhj}o6uDsy#W!jIoqAiCdntn(q{FoB$AC;e#tUt-aN-*z<)1Mb-4Mf`KTb%wXBWC>S zwVD2f^0%7rCz!Z)o3kidh534p`Trtac=TCk&hLacXi_8^j z7ARlSxW90!PWamBuiPi+TyXk!tVw!8$kLgayv!G;o_F?m%-j5R>+F&ugMO8p=Ii>K zsxN={skwTDYw4BNYk}M)fi+oIlYSPge|p!eK4i_B*q0V+Kd!W^J3M`sbyR)n$xorT zlx(d+x%84Nr-^CKd9!y>Q@n`c%|f@%4JZF=3OnY#GWA|HVS2|hiH8$wPc_|TU#xeJ zE&Bh|E38{))wgdtu)L+nQL-e<`C4*!U&-2pA9CL^(%HMBXD^yEV{zH@-4dJM^&EQe zV}rx168VOgN1S*3xf}V`d4a#CPP>l4mEV(_?`M7c-=1u^GVuG=XMGI%t6wgvKGra2 zsny1^oP)O<&h1iI9L{iJC;OjU2K~!^_;H`JI{o%};Ek_)lMh_c+5D1XjAFSB zxy}3HXXKPvFWPX6(_8*XfM1kL>ec(YZu+&$nPZN~2% z-&{V0O|Z85p|Znn;g!977x#4S%IURT^*e#>M)9u?o<+(Zzg+vXuaQZUUHa_lQ(~4s zmMLbgc=It`Gis~Q>B@5}c4pl=ePq_8`5qQRs)jBWIwc1dWN;QQ$(kTv=d2gFZ+}4I z&lQ_%_!w)LJ~X|noAPw$oh2rXU23zHSDxAS~A1>bg%9qZEy9WNYp6>s-*J)kev4Xj-ao)$4J!4Whmen|m;Y)L> z<@p0*Rht}?5>EuWEYo#uyLvBRpXh?wTmM~`oaj7LDv057=mU4hY{er2sFSSGpvUdPYS|Tk2N0YSHftah2ij zSI$n>`gq`SSJRp!Z-4I>>5yEr@&#Yh%VDIEpE*%;~zV(F$wM|UHRhQf1bysdX_Z1n8TxZ3X&y@PGZ1eg<3v)x%I00u zyKV60&T*UgMDyuf3s$z~)o!?`YP6Am=dpgS;KMrkx0c&|k7WqcTA?&GV8_QRVn(E$z1Tic`Q|f<%h^`T?OvNE@w(yh!be{hcAk$@T(D$m zu(I_x!Sge<<&H)znZtf0amEUvzOC%(bIrpa^}fGu+oC@CuSA*ttmoNNK2Cjqw!Z9; zRmbxtc23!VZPVucV4b2h&-?@5-ev9%rw;C~Tr2YW{dM6#Lf(gMCrSLfvgDoc%-cJ{ z|MKLS9shicc}2zn9s3lvT;9_&t>QW;+-_{vr9 zX20y6Il+5W<5Fh1N;zHUUFpuLGxvf2u?owW!@ZYH-tCM2_}=7QdSm}?=cb)fSrXsk!!R=kC7-TMsUu#G+OewD^ID&i#wOWeSB7k4$DO$*kpTpU0*8 zAl2gc+`k>u&hB7gI<#k<=uXS$jGkEwFGoJi=yE@+m@sKY;g7J{O%Fu`Hl61CEEloh zOz-Q3PeNq6CNBQOV|AC)^z8O{@55}7ya)8o?{9G5IZvAJjOJPMBih?p%C+Rk5b{xL#wd67bh3Xq9B!Gm*O{&?nM$`&5^t`gL0Np6jyjTi=|z z<%(>>n#3nDIh&tYOq9xy-_Pu{KrdwFUypS=E#;Todw*{CtAHh|S1+;S-NGX1wO1zI zt$Rsr`_gm%i?6bL|F~;;V8^2O*Y15^WMOH#clV*Y**p{Dtz&Q9d{#KkdDT*uvyJbT zPwlf&+mkDCK5OnN7!vH!fMem3_Y8!|=OoHzOqsHchIUU7gGNW@Wr?ikU-2+R?L$NjfqWfs59g z$G)2w!`Ql*L)Bp81l5B(Z0G;AKh}CPb%Nf9i?>@<|Jmg+>#9v^y_XbVvz%{U;KtKS z`4|}ffAMs23|Y#u)PGBe`ns*cCwE@|5r4G$c2xS7UE5qW)#T6ipE$NJ@zTmU+poC! z#oRf4Zp9_N;0MefwW8OzN}p3{y8q0FOlH7`Te{8$LIO>?C070em#0)fBmn1{lAZ{bqAY@?zXd<@7H7%Un}Id zZ_{#P*3h%LtGU+wKXfnpuJ^;qA@TJ_#-H~5oXnm1=dk?*&6)FAm=FBqH{bTNJU8{3 z!%w00zm}XAu&_$kx#)E5$brKGt0sK@C&Z?*)a;+aU-plaZ{447uX%00{r?Zo*9R}N zzZtOmv!Q2^j{BPMb@7Mq=-yp;ddC7;gQEKq>6P24Xr4Wr=kK3WVXI=6 zo_KzSQTC?M0fvGLMrXoW7K(<)%>MWN|G)eH@Bg3w|M~x4_5bT5ncj(8=Du^2Fwf(! z4%#qZ?p|{Aj7xi&xFdUu)~mf;Sv!ei?_N{>jfrj?Dc@$_+#Y0nblun3?K@Z2*4&!t zyXS_}Zgzdmy_a;R7)eR$c$ev^Utanmx~+4q_u2Ce&HYvqY^*KC`%c{W^&!LkgcQ?< zvSt3(R*6TH&wcd}vzh;K@9Wo`YddUmWRuPmU$3?-3#?T6?>Sveign4MwydSW84}5V zBMWcXZ`pVBW@vrNnzc8?9z>`*&gD8k<f(hb%~M>v%wWSB7BgOZi?y6JTV^v0&T-y$dE;X)(>U3=XJ08+xW8lD zcPXc7>doCEmHWMR9ZtS7GbgNhO{LAw1rP9b3rSCG2Z&+eGdWUEUwG@wMaqR|Ttgh43dI5vhKCBU}27$`^5i z{gu6j_cUKlUtJ&nY2CHR>>PjN6~F!O%vFil(8uS;w|Gk2uSc2}cTBpM`?h??b`j=8 z%PP^p>%Y3!C>HFE@xMIz-qkB-|E*fIYGJK`TZM6M{T|_u{Xw_f*1vxBUqgSzwZzn0 z;XBJqPct~2>FS?%=d+ogary7mcd_qnliscRH|KGEo92lxe-9kE6c>7Ceak25rq93n z|NoT#|MC6*kI&EU|Nndc|Ks(4*pJkn;8{)OB{&C(f+c0+D=MOgL9sNFK*R&aD|Eo;8^6!sjzJHtLCjI?Vn#-TxR!lD|KeqJO zdC`3#|DQau%`y5t+3i!+61Ro-8Z0+#WtebdMy2!7e}C`Kj#%YZ+YvN7CwR^#L&k6V z+xG{T?5kSvS%~A_#`bARj^VGSU+%Y-t5|R6U@I6s|DXK-+yCGG|MdUw{(sYVO8UK! zbWV%;Tz2{XGDFs>bEbM zD_}--`1`#dH?7+F!|-nVsl%HV-m6%)?B3H;TrUvUOR9a}9+O__bfkUi z^Ay2#PjqG`-4U(av~2NK>yj|9=ZQ_{drwD|&Hgp@!R>za>pCKr-&lxb6@@dbmr_}L zKIw?JWqiw*qaS-LAItrDq?dGl)w+}kyH}asx83x|RbnUSm$>7+o7KM?X>I6;Z}nzN z-+RwduPG-cF3r5)Z*Ga*X+7TG-P48MK5Ty&^J&%ci-tQNuU=YKak}fH?VRxZiph7S z_^*UinaU=|X1!=T{QF~jKi^H4`ntmEpk0&9&B_n9e{K20Yp}9dx_bAm(&>y#`0oc5 zvqpu#mo1W4k1>rc-7atS|CwOSa^tc%f8H1K4dy}#6!Mm)wWC@e*7hS>C>c3T&WiuixjgyGp~DEaZz2+{KR_#6ibXT8n z@2hEE-+rz9XWiIs5j>|>X{+Ow&tHO_t8mOD%>0do4{ zI?c6SFOPql%V@{?Cbw+&mAL$aJ8oTl5q#{)8l$?DwWwIN|Dw-_p%8tDbD@d*(djxa`CD%lruskNzyK=MCNATsZ$z z?2fqA@3PG9&n%ai@XdHqv`+_f~)>Y|Ag4TL16g9jm8&8~6XTc`t8r z@D0>O7I3vhON|12%5D@ya`4`=-N-L+?cu%HMt_6Zzw6=s%U>PY>t)KYw4vHEHG4 z+vj7N&QI9)OJn)VDW4Zb{MlN!{^|sS{zxX?)YAMd&kN&LaLq2eDE~e^i{-Pu=hMFb z{$c7X?f=h7{{Q*>{DPtt2`?hQKRQ{r?0fF%i*|uGKeKJpIsdrZI^&jwXPSM)*^~Lo zUr%hG{qT+Cs_*e1SKL2yR>}ItvXgHgFZ21Ne(Fcd-aer_Gv>%hw74w$x}rhONvd=G z?oa39jrZwx<~HaH{PHr(QS)hTwm5Fx!t4C*-}avJO>KqYBA?G3I(l*KY@u71)m~*A zv`n+kd1+%f0#_2S9R#z*fwN}U^Lxt`|MpYq&jT6;=;SZc_bxn-^TH&+zizQAI4 z=G3*l*HxbHdhjcp`FnAD_^162mDj($T=#ixsqA(3bFYoJ?2l^P9%XsFUQqd0@uJ5k zJ+r4pPM+;O@r&NmHYZK2zD6bfQjGM{&$lK_xioiD+^qVA)8<`?pK<5ow}a2^ z%{xB7|9kH2Rq5@%_jBjG=F4WWHvQwREZ4u%-(t6k*Sp~J_n#lrDnIev%xJ&Ezh9SB z|Hu4(zVG|~f7ky=->&~xY}cxr<^9a2=0Wt1>0wFBq?P$*CUSoeJotLrFYmRxU+lCz zSM~p&{lCBUe|G-=fB*mY$?v}Y{BbQJxAg1tvhPo(E*D)LXaB*XeQ}z6@M>q%z^KxXkI7`rXTC#hvJiJb2aLr?$lQy3mcPlb#oRJmzgGe{$~P zO^zp(VP=A7rOUXkMCw-*?c{xOWJUW^9X;Otwx=1?m*tdv*t;W@LEP?v{eMBji3;=C z3&h(etKV-ma;#dF=n~g`-|Q5x9OKOEE#4LfQnx?W=@TyRy7lDb|DQ>rDh!c+9rN5S z{`D(4U>o+u`jJwR`4Y#ui$uQdDec->o|E|0Vbt6<*8{5xi<5S1(D#H0?aj zziOiMi#&xetIZ#GtrybPDw}+wEa%hDsO5LpPhP%i&xgL?BRev<{;E44`#Htc?+pLO z=SN<&HFkWPp7YFc;oH|16J9Ub`-1i3%x7KOKL0SfyO(#>%dL}^99VYb>ikZn-R&nH z+isUH;B5;2ka+0BKPC4^9UODGTYk*Q`4MO*S^bV(Xu&nzcV?dsO^MCl`uDC>w&%Im zA+yq*6iuhjDogGRd#L}pO@8+)|4VDOIIdVd-@n=6r?A?bXD*##pBKJf+Q#(v(VNK| z^{w7#nc2nW+xfg`}Fuv^^H4gZEW`V3Ebb>zbtO~hA*O3&spVJ z_Pc;51J%d#y&8jplGT~SKeCS>U!+c)b@kLfa<8IF0Y&#PKF*Cz)o+hU@<^Jv+Q z~-?G^C!37=zYBS$DF01M{P9fqjKkHsCvHO z+`3KcnfxM4&S}eksB@OL&Tf`e{ZO>-r|%->(CaBnOR|{#@9+9B$Enn&a*5PsnFU%$ zwFA2kUQ=Zkz5Uw8qVxUZn{zxTe{ws-?xpK`ux`zXN1s-eZhn~+YqItK&*$G4|NoW$ z|C|2*Px}9V`2RmqANb{b?&6Df#!rQRCjI$UVk(=Ip|IC{hj&b2)tSkYcQHMgv*hl5 zhQB}ccR$(|GJ&DIO$nf^cKbN>Ht_y0YO z|MzqLzmN0(#muSyZ+T2q+j(&?lj+Zc*3Fue9j4UXD@kz8dgQO6VsUsC`?S43{xI47 zKYPdi!T;^`|EAkluDtZct>$%@;kA#?|J489UjKJ`{lDk+e~#Bb*?us4N>$J+wHY5A zLZ|b%<=*|uoy%ZwKjF{6JDgtgSfBqXU-^H^oB97<#{YZjfApVpCCjgFk=q64CS|{G zSzeLYbL;jK&pdhN3BC52zE<0PU%S5K5?{Z0y>F7@_dnYeZrpvTH)~O%Z^Vl$zx|&b zpS~ki>gk_^1R;CDAs)=yT+(C=Sj}o9*6Z= z|0i8Zp7@--WyYGyZnH;=9N+a#>shw4#ld!oQbJVvi%E9V{?5{m@ZsqEd6|E6qx!<@ z!Miu_W}A2G+QDmF@=*zj+cLf?ge_~%+@s@n#Om_xs<@Mru7xtUEK9uf{ZWsf%$>}Z z!#nOBeZYK#zhLKo0SnpeYY*n7=VdBHcz!uK@3iaLexdsvPnp}>)?Z3aNJ*5w+|N_B zL)3qj^)0!L`3}BM7QR+>`J;A!`{%g|9~JT~_imQhw1WAZdHOICOeqjpIOo9oxm!0aaQ%<7V^D~lh<5sS5dMtCz+GQQSD-qVMy+V`hpK$ zmxcGtUnsEV;`b|SPKn?1Ty}Bq;O3f&CC zZeD854W9DK^zm~uiE>Ix5UnOx!rO;-$&5VomsW;W7V}JvxZ}unUc%T`8lNaiW~p+YwN76 zD$FwHT~gQn`4WraTotKJ5|1~_6&p|6G{?UFUG|Gx=Zeg>#>Cc6{N?VOw?oa6y{PoW z;pVwH1*wY`sy^BJ&F^2Pw4RKCwfl+*JWOHi_QlsEJZ%JT%s(f@GEwdLt7(!8pXhH3 z_@p`MEgMJu-dBQ5;mb1lTjulC|JeENMmyW}OSW4QDsrN%>i*lU*c!Yfd2a1wlWjqT zcRp&S3(pICBlhpb|5+xXVs)X*BA*tSeeRj}Ehg*os+q4{cpSvs*0uQd{>!mv`K7}u z`cz)xrlYVHbGUnZeCnKY&s<|gWo~;f^!;ft`IdRznq;?zUvZO?-%P6EEODuD-Ya%u z)mcp~wPgz@OKkAcdjDXX(fz}U>aFj3j>L+XBwyqggyM$M>X}b#vI=}1O zQ}&}^=FNp?xR_HEUYSj7cQTu$nmA9 zJ9@7U>$=;2)6S^bj$(!rX&A+Q0dSY-m*{x66rv6-nJa4(o>o1f4a@j7Ax;?q}nhVFuO20X4+Pp2c z6{zxj+qP~m=gFV5@35`W@DJUU!qzco4pU)%^S@+M)_5KyrGcS3a{q>qn%Hg$oEjb#-qLYtmB;S91 zUXFz!qtdbQ$+q$hT4pd@1>C zx%)~%4EO#vtuCvd$JX3ppR8aJ_TRrU$S1{s;p+NNu~Fq&2W87Ie{OP16|C>JXXR=A z#3IJ1Xn(b}=!GTr`eT42?omn(P0%di_{i>+ke z5OFJ^)byv$s<11Y&)T#eD$|MSR#-QC%XN)$y_S!{Ye89e$Nq9)#&^nAw&SNi&nyaJpQHJ|W%DZu+to!mW<9T0Eq}$HT%EdD*r?{=yHoe>-#+j9 zkuPjMu7GG#71FLb6nj8X4abJPr-NSC;UI~~e8 zezWkEEIsV>{8dxJr_hCO{+?RrlJ$ha z=ue%Rx6Xf0CNrE^!^|*q{^w8H5~lAy^ZaQt3YA-Qyu4E~HSl+)u^`DGpjy`1Rj-|zAKKAD;O<%XH}CQg;sopW+ZgzdFm zi}x(JBcd|bAp3)MdrEW&+p)Thsf;TTiazzW94(e2pdJ zj4SC2Qy>1D_&V!}O|HyrN$x#s=0xf0IlZ{~wylnFm&_(#Es3?p)6c{Pp6x6xj9paq z=JM6spZSEYt8a3&JRGaK&ru`z#Ob%8T)&&FC)|qv(2-S8_Tllbo}7SxpO$qeww&}! zPC67VC&)E-|F(@P_hv|S*QG!CZ1E=Ic+NwfS#RSba}P<+TC`-x>z8&7W!S9;Id|Ji?Op1q}@>Cs}>eKW(3=antFedci0iZ2shuGlLQGx1u< zy3+yo{)8P7GGJ$XRmv2dY!=FvSr@y~rZ(dV^VB4FnUe1o6_rn_?3B-*y#;H&a|)i zs`{-(YUj0Fm0GJg-x(!XDi>C+*rZ&Vd)Kg}<>{)u*TnwGdOeFS+#hL_85{gX+ON#S z=lxXq4P8=CH4mG<)~-Dq8?kMf1>c_)^%wllrSFwX5j$<~T5;|SYobHpOI7|gmzG+{ z3-NWeikhF6-={9Y@Zw%*gv8$PN`qxToDtu(`$vA!ObgNlco%B!c)7ErJ(%QJpKX6^v zmDLL$t@*lh*;Kxptm`E%YFxhm$?enhmzu{nbV}XpNK9>gR~+{2QicR8g8gY zz8CgRQ1)b((W=;I({7qkocI5SpNw+fwiTXUDRc88b^aR7IP$^gZ&1*Q%}Lu5JOna| zzR%|CitMr2@yl-VrRm~_w+New%(qMBxYsjln$jU3hOhI2O<&}0TNalv`(&`>W20?F z%w3DGgnhhvi|NQ@rlk+Qo^PDo;2+}8_E-OB{n1^KZ5`@q^BjWTl*}r4SfHsHBhR%+ zujVzgf@Sb>?TARGIiLKsY@eTq>1g)pgXwC8st%-#D*2{j%Ts&ULjWOMGYBZ+)5d=9}%NS9&%Z z&wZ3gvW{P$r`^OC8^2-q>I+OU#u>R$9Ry^7&x#;c}ZM=wVo-*o-_4rZ&v?l)uWXYDj%Fyb^;xEmuj zae0QtNd~q*Z=Dxr9ew+3gAS)EL&VgWm;8M}MPICL?tXJ#AgX(+Opnd!SK(z7`nJyy z{q3^upZIV)znWldrV){A}Ugmh~$&rNg^4BlexJpUU-IApcSS_PO0g z`}+DmMpyMO@|_uyefw?++xwM{E`3M!WoI(GCMhMQ-TvpC^}838jq97as_GU~Hh_I2ib(VJq)D7Z0Nie2SJ--M9h7nuukzRo`?_gB~3 zZ0f|;7eO(qciC20<(TX4s%{9*I{0n7tfc$$X#GsZy0@m? z!7at9%kRZ>i$u-q?u>ocC)D~u@xk$R$#Xpo6}37!9!$zq&#m&W;_P55yf<-Sr`%rV zrEeE$8*Hj?c7A)Rm@%jEQWB5!mq?2f3U}Q9SBh*Cv+SH{oA!RPjc9D~uGp7?Ih8su zz3XqX9vC?zyL@pv%nnW5c@iYRNj?JvT#_VR^JUMeoL;_QK`-W<$p zo%UAz<(O=BFv4_^)B&dVXFo3F;9q{tcwR*Md&SB`@V4UZMU<6NBSmf`hMHq@HXUL_hj#ew$j{v z63pS-%NieQZdO|&;PGpo(K-dW$j-k}k=-@C-CgeQUl^@7+w-~Xf4ug}=oa@a)7?V@ zt?oqTw{8@hqg!=+t4D?3?xSlWjxV$LpjGkh)_RsspJM)LGaqhRAt|;;{t4&mV=H$# zPhtP;s?g~-ooOb&*`lP`E6VrDCcfZGRqvZ;|K8_m_+hTZC(+W9g{|Jp@(r$QUbycp zH8rxksyJJTOT6hm>z`lFjs258IJ$me-|3+)F=KLDi-W1r;7yqHDX`k z$g)`S!~9*p6`r2|B<=UMdVYEEN+;zV>B0@Xne`|1YkxIbhwq4TpYek&FMrixZH8HT z`xqrxKXfZ`%t=f?ba5fq%L!|0Y-cmqmA>`AG<$cb>=cKOR|2=R?7Zq@WcOQRtM^Ua zm8pV`YxjQsfBfctl~a>sPL^eeHvD2Nz4@r;#^aj2=FJs38%ouSZ@;-Na-%-fqeh7H zLGI+OE@#giE@$d*JhNHZ=FZs=S67#-wagYN_mbv!{an+1rRtY`dwghN$EnQ%A=_*& z_9%w(nrw>Ue&)FDZeuq$OYl08*2Q9-F@1aFTb?WuJRruoNIrt&t-_s%mm3oddt3IW z*6m+0!6ojcL;vJ=y2pT%-KqVImCKi_9elGTgtC_a^Uvc&f7jh^{SCMN~@bIzIH)g3GGwooed?UgTHE6>Is zk?3@a%ohqX3}|5VmA2G0xoe;EvlZCeMg)e*C^|tZ#wv4~7?w_}duP?vneJ18e!ljzj2S#1%_tyV-xc&J5gP0!`=sR{yt3u$%Pt`v2))!=J_fR}bI+Z+rY>o4HT+ zO#b!veck`B^{j7s8^1GnzWye%8NVKfeCI zTbdL5J>X}C^hAA^u)TG^oxeTZ`ukp<&P#*)KR=tYvhDo0>)W2d%^$z*iTyogB{2cUx;0-PmfX2? zB}3C$k$wA`Pnp)~iN~hh_S~C0@y~Ad{W`|o(}j0GIJ~Scvim=@3)$ZALZ*NM_*&_29T{dijnRnS)ug`V*!V>?^^U=~}=7DAG zR`+!IcfQk(`g%m|)8)rfA9eRF4oF^Gkbd6GC)?-Uh^oZjf>O1f1X(I z(qR9iP0K~qEhqTJZuu#^fd8?i9xH$BTZ@BG#E-nmcr1|ROw@od(Z~EranX{|T?v?!RdG?uSnU=M#SI74G=Xb{X z*&GQjzTcmwjvsPh0ue<@v*xMXY~vx6ki= zP*EmO(sJT=jLh=6H6g1XM|T@{_=n2Q`2LPRJFUcWmV2u4WeE$R1Ls$N>-h6Hu_M9k zhUU5rKFjV)IO!ZWn7VI2fA|O8QtOEYCu+iNvlz~lT{3w+v+jb=*XdC+>^*L_uDG;# zjeGEnhiVH;FU@?eyJb_qyJUVB)9xDQ(pxIeX68vab-&G%KYV0G!0&UscTCN;eD+zp zfBpBXf37^LQwW`$tR(7RCnxvi)TNmVeA~Ab_Xs|#`6KmW)vJATEsyY2TNy0Rx!qAd zNnWV-fbgAco>;qtNcR)vJbQB&&#~e9_V|al%L%8I3g+_h|I?5Cv`>H5_qyuoyAQ9o zneW&7l5hIUD)n!!L&4S~UpBhTy}+}5Liwp@R*P-7pWC>jbo2yMN?^Z(iF^*(vtPD^&4Je$91^2O`6k9MuC|KsYb z{^!c0*ZPW4LzZ#C&kUmKjup`w7tG_*S*8wqxF&R;)U*Pfwk_vho*e(cPu!YDqV9S z^Uy~(VfNEU=X~DUyEIDtOxN|Sg^xX*wRd-IxRfOIY|5YAw+~z|biZVMXiYrx`x|~e z8b;bbFK@q#R{D672f$#uT>g zhkgY4C%zY*y<&IdlcKpRPj8i4Fu9>Q%cA}1M}_DK?Cg<_TOXL+O*?LJ@x2MpADays zc0YSs56hh1krZbB&2Wz-Q$=v9!~bm|i>-7gc298Vds zHubA)KekCAPG-jf73tgSnaq+LnK_?*5ZJc1dXLb8xBaD_0$$$@`I^-_1>ehl4fqsi z&(g}5;!|KzT75AfRoU*N{q~}{4<=~v1UxLRYUE3q?5ld+;@wj9e4~R*lZ_X@yJF0J z=%G5tY$-8`D*5zlf{T~8b~tsW*oljnd{g`?a-wftLQlo9hLw-f1GoK5)14tybYw_tg7AY`;l2eMgi7+b}TWeRS$*jC;d1q|L??ZvXG&ar@f4 zAOHS*eNF4It8cN%@>|=3W}R+U)2-v)8ldI6FK=euub0d1|NS^_|K}fneEAIfKi{^; z|Gss{aOLT9%Zym6Ll%E%RXd%z@87)J_WwTe@Be-G`lRf;>+4UvK0fuT|NQ#YkGEDF zaaYLvk)QMM_5AwZyYCAfli&YO?_Mdl%>S1e z8)iQZ6kYv&(Z2dW?f3uJ>Hggvx?aBi*X8T?qxZZg`?H-pG;aUjyYK71hwhla&*<0b>v!{CH!(e8^pmfj zu3oP2R^vs*l4B}IDr{~VW!!R|l%L%!aFFR*%0lI*>-(?YHpAysS@k89%`9CiXlv*H9E-D;K#yIu+o(E^Hi{<7?~a(fv~H10me(zgotA$&t$!|y-tWZ~esc^8{z(+dY05FknArCD375S1W-0jh z;fuZ}#YKN#C8zaWwY(g?eMOp+(2@na+RU9D#pG9tNiAjLPvF(=ak6^zE^or^B(BA$ zkF5zhGmUGFJnM}Y71~p#RAu^Hof@M%^jx%IVIU zJa-N6i|@)2UFGOH$$y6jxUOv4%6b%UFW+})vpYX zKCTHof8t*(U2$@&>bsU|3+X$%9j&(A4qTtQjQxui)2Xy6MyB_+*omFH{k^w`U*Wp_ zfvB%yS!WI2&FI^E>6+(?7mjb-Z|eR?s+zfJk?3X}@!BPv>3R#^W~e%^%Psgl;YZM~ zj3ryXazs9V*FAqJYwc&oI{Umsq2jj2uVuD=__0yoT2;%749%#MPA9K1CaH4d>)FiP zKF9G{mRP#HOKQDwV<^x6N^>ZCKO0J*yhsx1Ja7;943LkTJ@;?A6FpeJJ-nm%{E-u@?$8&+{Idbn8^Xv$-0VjohADe0<}u z=fhKtgO^!yro@P8rCWK_ZxGP*>{`{hTP9@Jq0|5Qt|>nYI<xHtm)6EZ?D7t9G9>E z^H;v^|Kay_-$h?u=Y9I?{hW5jjmm${Y+L8Kj#*#m%&a4awLhynnq5xfTBKQKR$0EZ|NS`pzV65R|9{T^|8@R<)c0fd|4#TuJ)hg# zTk~?7{2a}cWhP&EbZ$(3>Gi%TEbGlj&2zmg%cBIBJ+Yq=SAV`>f8zX^&n1kT(pSj! zU2ss$+Il;bKeq8-p|@tG+uO*9$<~*%W2JSf<<|S|3Nrd2mYlR(a{v12>y{WV*|5=Z znnXY?b63;p$^DOYgg@~JH>%Iw`CVzI)wL6cyVgGUZEY%hv#e^Wci8F8ox8JxUNvio z6g`16f8M!0OHa52Ub5^kzH7SYWB>Q9+o$JDkm?S--?%jJ z`s{bIaXB;NHrz2^u%Yh%TDzkF+-aoMK_YDbUWIXXY@=)V%xw&NH2 z(xYZtbi8fO+AZcDIwNT|`<(Rn?(5g)*lzybr6};((9mGs$Kq=@-h8M?h-kYWV#IWh-7v1jGJ7-v4SnV#HqaA$m zu1{3>fwg~ClZ>Y7Uk=VKE0)b{bey^I!^u)jjyosQ<*G|OExD7M9$4+Z@Al@XS!0G& zX{mGjNp}10smixS z4GNUBgrq%R9B5wB7f`W%>xSvOR6aEGL_RY`a>j&;6wk)^iuR_(+*ka(3N3G`rN~CTu57=y_FhVFY``r(DJvO~r3Sa$ z-7j8P!n=_5?!MxrSHBW@GIY~kRla)QQI~Q5+|;w{C)q4$dU1qLX!fuEf6EPjYcpo* zOjb{Ox1z$;ByxJWkMipMPtI#x*gd7Oo~z=h=FV90P|YP7ww6j;4t}2Tr%fw8B{wxC zVa=2kN?oN>Hk(iIe`YTCqFwoU(d4~W9DhIo5tQS(fY= zo%2AQx722Xw`b#q8ugFS;>(%Lrd|+9xa3(GBNIr zPK!PE>xzlso9k9bLtZ=0`}8&b)ZbsNAFjWhxo?_Ps8VE#)6V2Kzsy=h!y6xkotoWk zRX?rpX~OM26X%lCtsbZ{4m2>a6+l8 z{_Pb{4!B-FxonEn2W!t|EMNYw|1b4xe%-Ij{jbgclumCjEc;l0p%CC#6o_xI_5){I-y=U@dp*3sT zCOv*tWPA0`l%Q_41vM$>yr*Tee^Gg$xvg=!Wo+3Q?eK`bS=p*@BOXontbS{}t{|{5 zJ;1W%d5#$CQQLw?4V_zBLo+CdpU5=*Kr-t9yts|Vo z+H~#CUT5n|cU3I;CLI?!YkueZYS$%ulI(TQnBEgRyK-m7yE0QF_rE(=+zEgBde(If zeqo->H=jCX=W+{tRttI@Z&NtOQ1{?v`;}3FebqAuWNx3;yMBT;j&d((bn#S8&83W9YEnfVS_wVyn&CyGK{3>!ZT4*JD<>DHHgEjqj z#b$h=U;m#`i``@0vhhsMY&OfzckzEOZ{Oo?bRd7Ll-~6EtvkLko?6qu@@axUuuP$Ny<#Wlq)wIW#@7S$d@=H~jUtK)R zRiZ1kJ|*U)r1H0!9quz(YNzHtowYPF@wsaL-;V{mdtdftmQ1ePJtx`wp-;zb85voo zJ05PF-=bZ^+E4YymOS2|&!K;G!zR_@bNmTWmz=uKeOdD~It#{e?A9=?J`0P6|XKG`;593PV@aG3>o?~q z%qOoI6g<`P-pQ-L^C2&AS;3|D14@gsBR=Rvs^&KGBe zzkdr_XE$C~Z#UAsyM^*l|UoYkwsV023+GKF98A>` z89R*LA2l!1C~Qdkm!hJf>m9n+U-gC5*Co7P_i~0xzKUFUK}cKa)wd5TawhLRYcMJD zq3FjiM#;5{?|XiKdoh=%)=TKFP|&l&w=-Jq9_kgT-Dvgrhgy%4_V>r3!dW^CY`b~l^Ns#T{ws*w9|BQ;ac0^nO4?MzJ#&% z-@MiKyFvf_qe6+;<~J7Kcc$DhzcwN07>AnVi_GA}{?K-=8Smxv4JSxAw%$AP_1m(q zmO>}>r!JGdlbw4#Y5Fw*?}g_@M0$@+Uh}ddu59u#52J2F#kCWHM3WXJbql?o^*ild zM}A2Ti%rwo*i*hWzVE~uji(-)`u4~4uwzr~7=q`xn7!ThYQ}=Ts0Q8g8G1h6YKqmW zebtR|Grl>lj!lU^X=9MUZ+r3FEmc{a^cIlskHf<~4qcj|aPq^0U0ko<3eSu{oK2G z{ZsYDcD=pg`)Gy4jxBmG8lLnT2pP03Ub=r`XL9?7PWAA$^%-8XB6L;D%wKK!udwQG zQsdc!KN}+bgfdk#66Cf`DQ)~zQM9PK-s-X*Pr}V@w~kKZjS!#W6L!bj;C9G8nYh<; z&ok#4@+RIayU!C}b=$-^zS1jOeE(Kcvo~+5bPEeA($uXw&wqPyWZA@yn_F+T)jap^ zaJ9c*q7t(3$=)WW8Od8_6h2?|$ui?;&Pmn@MgNuZO|-jvW7d_V&-q|*cDM1dQ!`bw zSlcWX?KhgsFJf$wI49U=9=A$e-AM!C0KL2%^VQXzF3Q~hQaCoKCNb4y9DJX1Q@KU? z$X83t^aT;}K@5x=CS|U+`u}aG`S#V19z9yQl<&3NHF4wZFLDm`o$)nz8@OU&?~O7g zU-y#u7~!oK{Vp-MO!HdxL~j19$QS&-E?u2e=N5dxd&QRIJfDiUm21*&TRxbpkuE;r z-%=f`1mCyT94{3gYiMtKrFflh&Gok@OqQ?C`OVDa(%O|S5o!A~Lg9C&#{x&&R)w!y z=0A^}BoRG#q3-UTJkhalmgg*AxcK1y->Gi>+UGPq`h3$FypF7{Z$CQicEpxfN8I)n zAItD_o3V9G-=+!d>yPT8`!Tea%8=iC<_wXSo@F9{ixQ+$nZOfwRYogV(>^)^JuSzRtj^f8vL{ z!>*>k4|>_3{iysueaYMYg%58vcdpuNHI37vn`z~ZLrp3=eo7V@HHXVD)^0i)u&L~0 z(#*a%ZKf3)^3~QnSdqM={9Oh6B!|cwC5y8@&EUHu5iR(pL`L+)^R4$k<)t#*Ox)Mj zmbg=;GdOIaUg|F3hO4;AE89znRl- zU){a)`Ypb;wwY2dZ6ANSzxIr%RYx$ZrkCws#zSJqrVH@Ow0!DXxny}mrqu_5GlI+Z zZPwSGQ>5J;`MYCb+Iz!&+c;kTt*ds8Ob~XN@o>T7>}&D@a~$fXF<-X%*3hrhmDnIu z@UnCEpZ*tV(;7D=u*Nx0x0uo57H7KV>%YY!%*Q5jp0>IXI5S;S{@JzEiGM$E-qDFl zD*4se8az47@o9-ECzotR&jHm&{muPKw^P5rm)Mjw{|xtqRkjCTIte-+S|pNp^w8SA z(|ZflW=cIjlUHYIU`0<-)>th9; zxKGLFPP}-s`LWoQ-vSZGbF8&}R#)F%HMOnV@!6(@JOUR?y7i|_SZmZAG((1);$uw@Oo3%d@qlnm0LQhr8Hi@P1L)ee)ioy zlc-(R`&C$`mWhA*Bx-w(H?z)^S1)?@Rg?QC%oz?ysY!gF;Pgt4S0eN~=V|%ZoBB$P z+nzO~-r9K}QeXeh{L8P>m^6C*U%bu{m3vZo_6|pVTUpBO(6gONrEwb_C$#R7{nJtAlLTl>NQJu&D?Bw=SS#bT z^j{92gEQ*OMdIqUI5f7g#eKZ%X@5~ye%4jJ3yP~5r`KgWe643uGV8kbxhctPd#+9p zyHhgX>CM3>Doma$zSVudS!qxGrI#tk-(<-=Q21dS)X=#)clvyZ?{>!>_B4u2Il6Z3 zuA{1KGm5xe8Rx5;ZPh3);i^@?(%)0O;M^qsGa(Nbr?a0;t2)*%l5oBEP2-cE4O-2`4%4;NsAr9b(hx8Pu?}9cJIx9-rcTF5y{tY2p^qxWb?ORBSFubdo8!v zTm5~Jdg*_$tl_;2so#{h-7>NluFnY&+P~>j$}1hIQ_C-LGtDZ|+`_=u!mhw?@_WvM zJ2Up3c6q_!xc1|&7VW$9_D06N^>sRU*es*mS5~*)xl1poJTa#`Pc7=NOnF?x$xr7vFaNn|d*)vaqrmExD^q%ctjyPX z&pq(jxPJfngKyGfug4de=-;dRE9(5SyQJ>x*Yo;yU%BhwHOJRqKUaA4dgOW5m`~x6 z8GmD)*W9vy_Nnxc{(hx9EB1$#c|Gi5_kEdkrOVxjuPpZP=?VXOpI=b8A1YR?XsX+I z+3WK~w#$$9gk{QDu_$XPC!9QE`7kc_)}@^*TjiVUTT>K_zdf0d`kCFkbzb|y_5G_i zguPkuD7>>T+^**8(dO6s8@xDwaxeb#{dLBFzL$SeBjfA$ht_?#?p0s=>i!`f+4_&A z-+%7ORWW}5-*j=B{MHX!4t1*U)bM_;%5&YSG3}kb<|>s$@vmkH{~m)j75usX|NQ?S z_WytXxA|~aY|?><)N-@;RU3DEy^38G`|^ipK;|5eiZrP+=KOY!N9ylS+b4c*reX2L znbi@S>%I$4&VKerynTII&xEIkm$ltsFwco8OLD(`>ul6rBjc3Wb{}4p=I6P8&t5#= zt?At645Q0_t^$nR)>pz-qF>c`;X^9 zbdN~xY=@=u6Q@aJMVH4#W>6Q@X6bk zb^5ZMq&{<%YW;LVcKubgi0z_!-z!Y&3%>lh@?C$?nXKy{-}`0R z-Jf|PgOjm*X3&J)b7mKOy72pFE@Q)$!>OfVbK7TcyzD46-7bFWALG4eSN{6-RX<%lpE6^Y{OYOKicaVIRIn~PYnybZg<%6 zH%=~mJbm4k;O6r4Goo&CYC5!5dFnfRh+WKEdSXp=QhCRUN7p%5%>5qTZaMeepIXri zOss!)ZTedgb;_NqSDvYz5jR+VrLgtucCr7T z?*IR5ZpL48X!*7JzrS8j{P*Yid=Iy_Z-3?1sr{AQcIxuWk8@9$&bRxfadXW>`;Cp0cb{GSQopPw@zYmvi?7Ap$8r;P*Pb?=vR>@pNBO$HukZhP6~4df)-Am|?XhN; z`jpSC4pF*utAEOtpuZm!4k!6H{r>20U-$RF-~9Vqy5F>1J1KtVaJIYMvpIG;Gyc`@ zn$~2Mwqoz|^7`{1B4d&ta31!Wmd?XjW?O0b%_^p{w({x2=f1Y@5~e))HLPzLPA0pos?tftJUw&JpR!5q1iJyeywLSCywS;E9-QxRA;=TXZ zO||vm(*mD?Wgn4h+Gz43lt!_!|F85aahIM~+8m-@Tokm~xW!JC!K*S@*8PC$~w*+HQARQhL|t7X%gXWt2x zGu^3WD=m;7w=hU6qu<*jd!oU;tviHH9So0OpE3E`M89dTr%ib9`oNC`yPwDeosd6s z!#C={`j&fkYvy*}Uz8YjXWi7hYd6(!JzQFTcGKbZ{We+xLFZVTPD&nT+`z1Od!hEc zyN(lOyeI8hzN>AX(lala#rv;ouL+)3%C_jPq_SAptd;BX{o@~QIe-29hJVo?tQX{& zY&qr`{*0wvZ}NX7hi!+y1j^kEFlGGA^go-`_BF?rqL|9QJpvq?JeM;p+p4xJQmtI< zgGj>t-^J&@yVWoJ((>lP!DhvjOIy~=(sjsTVu<{py*hPi)zk38&x-$KF1}(YIaJ^q z_U)Rn-l@#LuAxc=+)P2wX7iu#xiz($S!Hv^&8<3b{^o5Ee;ri!U&`aM>eJn)<{#vF z`));5WR2GC$qIA2TNW8QJk+jT%CdR(@846(pNR+j;jd=Wcz%`fZ^fzT@5_7qm-#ud z|BAK>dsy*;Z(Bj)+heO{yjfVt_W$oKlRf=GZ3XgeUnNf!-JX*ByXEHm?@ta(G@RpB z(`oxD-Stba?fAbC#`54N{FMbsmm2OZf2Z=HW5;POH{B<^cWQe|UM5XpV_m4l7smUf zROFb8Ws216UvX;FBiW*~Zd`LcYLg`M=UVE+Oa>#lT%XRbMD6U$o$~VQ|DZ{V&)H&+9L4QY+vqYw(LuOTl zXOdp{fllV&uq+;Do{A7N`J1x>GZ(%2og7fJ?%$#xABtX2+{W(rG;rTNE1S#*^DIri zm(@shKJuI}?WnlnrOXxbVM#f&1J9=Kj99+SSTQY0$#=u8gmd;$y7AfJua5{6M;UI~ zkhOMw(XRvfvOj*To~rTpPov^b58v1$*Tha*9ZmB$i25IK>v~n`57*x>*?zWvydm8m zw48H>F!#H86MWn4`z#d==4|S-*;`ecJFPb^q<^zTLi>sd;rXYs5^opBUOI98AfxRw zWxJQ**C)4xy1k!d^Dyq(?9(oavKDizerx#7EL>4o{yW*RXm`Xm)p?=rrV7W;JdRT- zc#$?K=_F^*LY)}V#t5HlQa{D#|2V}~tZyIZTt8#mZg-)Y+K8^gqn~13*?*-l{64$x zRQ~j7%qG+A-XtAj{5tjSiOsKToVSM69d}`0+9oUUxGymLgz>T$>vlHXN(`JGH2>z> z;9ooPE?e`@44QdIs6z6><Yva(bBFt*3O-wr>uWEo&7RYDWrL#h%=Wg!&mV?8{W!V*{;gxeuU9`2`x3x$HS46` zjIRG4KN&7YnRhU-J!!4pzcgj`$)CqoD6F6FH1qZj9v`(ukvonvZBDn`Vr=d6ps7VS zC3C-K?r%%+e!(sEpByGPCfCc>mHg^4O3S`{a7j&zrn!XP#FZa6%r|~*V{Pb~`f<%W zb@O*s#~*E2oOX7~6c&RrWoJiAOV35^iO;6FZm`_8vrLDxEPiqKB@T`J(``p4&Wn?g zySZe(tLDq}{pp>5=dhkFf-hOSx<+-L2*M?q4DMj`D18maTWEtn!@xsmS5%tp0}n zukNQpJv>=97CkeWF!$j{zO$>}hVA3Ge`GA!;$Jdj%`y)8J9qA7pLyN%CE%Cfb*>eU z8X~91vOX{15ZT2qusBZs)v|-Sda0ak5@EaJ7PfvrcTu9)^_+KeOa9B*?(gjiUKVk9 zr^)P2SXkU}Z!dGYHDiV7-5r9b4HWf07`A@YVcP5cLw4!rR3){OTP|EOuUq_?_vN#V zN81Ghzc%V}v;Gt?;hwPhjNi*J)1ZmQk9^-Yd&kAI$tJA46>Jj3uwL4#iL=i9M@&HO z0}~6s(}$;)KD6|C#vKu1cW=(E->ZW6w@ItmH+AxD3V0!3J;`-f_FUf5p7Xm-EA05Z zGvwgaiWe#QZ^O$@q|9~toqg8l9Pi}f&37c?zRa5aaCVDFMtE~!>A~^{ zPMam+(RRy2g@1?J%cqCet`V9RUnwyyp5vmO#i}=1lMlO;Uf5pkliY5%ajwa!(8#bA zYkO^ae$CABTc&X#S$M~R-?^ErYf61{FichuK3=RZu% z<>j(mWut$g=jF>_)>q41+jxQb-OlCckTCEMX}G`#5Mb*uI-7&Hw%&WE1Y1=$N7QbQm^kxp^YZ0O8AY9!md*Il(lqgJV(`kAo$5xm=PZBv zy2sXDzP|N(*+sV7%lEfB_8vX@*!RT#+)1@cN++z=Gk@<^IDcY`Y=yRDgM`7)rK}%M z>IH>f;@&!Y#m#p?Cz?+z*i{x0y{;ti%&+TWZECeV52F}uH~8qjPf2_H`NKg^xjReG zs2ug05!#mE?JM#3K$haIXKRID=&^m^`v4x6x6&YSRQ>rIjN^pHcZ5~ndv&8>D&^%s^pARAT^_Pk}G@qF{V$SS>U zFYlaJSbK6KhsY+M$}gt;t+{Q{agS!N_P?LM)syd;`?JTBFHH0C=G0PFNbmY=cQG$^ z&8*zws1C)y^XB`W6Z*2(gr7O$+)1U7hvhz(pKq^DT_7`ghhcV%olVBpA1^KT9ldx! z`tH`S4@|TD+8x9zin=e$Fm64&^?K|F@k?uurp#eoE+bne*30~|do`F`nZxB9YaI#n)vEETp%7^f@R<|?|p zt@dMjeNmp(cDlWduDX(Z=Nu14rSPv_&z=h?pT4Y?6?uQt{|QYwCyuJfB&j%WneasD z*9Nn{i&j}bEo1oKIPIr&(en!x|Gq>qU0}W{zCu-7zAe8^uEOp`)t|J8gEPLojM*Oi z!#BTcd6tuON}TJ#gF>1jUa}LWwz3-itDWk2GA;MJr;aek1ku+9VeO)-mrW~jJ_&8L zHLsORTAMA*m3)I^=X&H4AL%QW{&*^b+PiaL_B#j~9Q9X)v!lXtM6+_gOU=>xS= zzqkYJE>B+zobk@I=eO1T_OLUiD3OIT?#2G>J=1xuliahXa=z!;rM-8p$JA%Ds~+E< zdb?cx?E|;T`^-$d8&PM-zsLA(*8S67P%Wc zdmN+}>2*Exdv^cRJC3AJ;?eV09bt+wKmL>sk-9mvTDY(wy_!KgEL0v5Ik8y!Q0h>%OEtT^SHu*4KUgSb4a4 zR8irX7CqV^Yep zO}ma8?zHS>@G32zx>)YI1j8BE*ZI{9-2yG@nfs<)eR4=J%~MyuvozpP|E>pD?<`}8 zo#%MqmTs9K#}en))|0nwGiSbORB+-fUl}Xg*RyvLA89>Wch>Vk(!|14#Y>)?t9|>P zzTvuY@kYYOqwaIs*>}EOFrh}5FXW88UXt6DsAiBtGjOU$0?y~rYu zDSCm-Jf5m6QB&nRt!<0{T3`FI;xgaLEyv6K6>pRpPn%IQL3mlY&XWqUMSD|g>6SLpO8N8lqKfCA3oZKV%e?M%?E}!}~F*v}iqWb9zg(u5B z8*XVf>nKHg?M*zewanV>=(SB}FGpyZ-$}XSE5Uhr=KB5Te`zFiGRXU^nd^HmXrJwp zt+F#FX0KW#w0_mKjW?g)`sXk);N;r=B^zeEQlEe5$4+LxMSR7Pd)~JGR9aphz0%TZ z|7-J!2Nb-fo7X8b-TT@T#TxNslHr#2%&?~4ai7n-9Ap1Hcja7f2|2|o7CBG$|H>H` ze8WUHa#vlNdCB~woZ+4H4=)dXT6@yC=iKV+Oz8`*-brRJt}nITSMB>CxI*`OHiPr? z#m9N(Y1C=++DAKPR9@Mac&+J|fb_w)WpTU<4_qj>;#g~-wywW#nw)5Y z+i#Y__r+7})%|CjOZ%ChV|nDZ@aYdrrrcpzbLXl0o95Y}ACkZ9J@u$ytA60lCnr4C z@Ee&IX}s%b2>Q48weK5#qkfmY?xhDTw(wWfy>0%zb)xU4S>E-lLj1qwzhHMzvo(3h z>wEl&^PAs?RDK0H^(;*}6{S*dvNz)WC$ng+xI@ji#J%RUcP-z4DLLYRQH}6+Q-0ac z$z5-|q=S;*IY&O-x^8>T);Qy!=lYEPTmJo9c67Sk;e8!K?|F1JLuV9uCBJuIVS2#3 z!8Tsx$xjZM5c8w42&0z zgmnI=*j%aeJ1*O^-e;$r?Wvvu6_z_^)gtG7t6$;rSmENd7SEdg-zQ>CWFl>U`)Wk1 zT0ARbef~gaTgv0Z`<86reXH2rS@S*WD}P9;sDFjjs(ZX|@7=7aI&nlNG`Kj=^N_%e zN%os&JhbZwKcv!eZ12ItCsuqk))4y>S5`RXUWhQ~bb-rdd0n+SWlPwm%Kw

Z>is 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

nFUr|p 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�YxJE8>cPzNGdY+c*hGY-TN#}$_wlnB7?6wGa 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 A6aWAK literal 0 HcmV?d00001 diff --git a/Samples/Audio/SimpleWASAPIPlaySoundUWP/SimplePlaySound_TemporaryKey.pfx b/Samples/Audio/SimpleWASAPIPlaySoundUWP/SimplePlaySound_TemporaryKey.pfx new file mode 100644 index 0000000000000000000000000000000000000000..1c19ce782b2fe04e8309040a761dd38b1b6e3ab9 GIT binary patch literal 2452 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, DXGI_FORMAT_UNKNOWN); + m_deviceResources->RegisterDeviceNotify(this); +} + +// Initialize the Direct3D resources required to run. +void Sample::Initialize(IUnknown* window, int width, int height, DXGI_MODE_ROTATION rotation) +{ + m_gamePad = std::make_unique(); + + m_keyboard = std::make_unique(); + m_keyboard->SetWindow(reinterpret_cast(window)); + + m_deviceResources->SetWindow(window, width, height, rotation); + + m_deviceResources->CreateDeviceResources(); + CreateDeviceDependentResources(); + + m_deviceResources->CreateWindowSizeDependentResources(); + CreateWindowSizeDependentResources(); + + // Initialize MF + HRESULT hr = MFStartup(MF_VERSION, MFSTARTUP_LITE); + if (SUCCEEDED(hr)) + { + m_wm = ref new WASAPIManager(); + m_wm->SetVolume(50); + } + else + { + DX::ThrowIfFailed(hr); + } + +} + +#pragma region Frame Update +// Executes basic render loop. +void Sample::Tick() +{ + m_timer.Tick([&]() + { + Update(m_timer); + }); + + Render(); +} + +// Updates the world. +void Sample::Update(DX::StepTimer const&) +{ + PIXBeginEvent(PIX_COLOR_DEFAULT, L"Update"); + + bool togglePlayback = false; + + auto kb = m_keyboard->GetState(); + m_keyboardButtons.Update(kb); + + auto pad = m_gamePad->GetState(0); + m_gamepadPresent = pad.IsConnected(); + if (m_gamepadPresent) + { + m_gamePadButtons.Update(pad); + + if (pad.IsViewPressed()) + { + Windows::ApplicationModel::Core::CoreApplication::Exit(); + } + + if (m_gamePadButtons.a == m_gamePadButtons.RELEASED) + { + togglePlayback = true; + } + } + else + { + m_gamePadButtons.Reset(); + + if (m_keyboardButtons.IsKeyReleased(DirectX::Keyboard::Keys::Space)) + { + togglePlayback = true; + } + + if (kb.Escape) + { + Windows::ApplicationModel::Core::CoreApplication::Exit(); + } + } + + //Start/Stop sound playback + if (togglePlayback) + { + m_wm->PlayPauseToggle(); + } + + PIXEndEvent(); +} +#pragma endregion + +#pragma region Frame Render +// Draws the scene. +void Sample::Render() +{ + // Don't try to render anything before the first Update. + if (m_timer.GetFrameCount() == 0) + { + return; + } + + Clear(); + + auto context = m_deviceResources->GetD3DDeviceContext(); + PIXBeginEvent(context, PIX_COLOR_DEFAULT, L"Render"); + + auto rect = m_deviceResources->GetOutputSize(); + auto safeRect = SimpleMath::Viewport::ComputeTitleSafeArea(rect.right, rect.bottom); + + XMFLOAT2 pos(float(safeRect.left), float(safeRect.top)); + + m_spriteBatch->Begin(); + + m_spriteBatch->Draw(m_background.Get(), m_deviceResources->GetOutputSize()); + + wchar_t str[128] = { 0 }; + swprintf_s(str, L"Simple WASAPI Playback:"); + m_font->DrawString(m_spriteBatch.get(), str, pos, ATG::Colors::White); + pos.y += 30; + swprintf_s(str, L"Audio Source - Test tone at 440hz : %s", (m_wm->IsPlaying())? L"Is Playing" : L"Is Stopped"); + m_font->DrawString(m_spriteBatch.get(), str, pos, ATG::Colors::White); + + const wchar_t* legend = m_gamepadPresent + ? L"Press [A] to start/stop playback [View] Exit" + : L"Use Space to start/stop playback Esc: Exit"; + + DX::DrawControllerString(m_spriteBatch.get(), m_font.get(), m_ctrlFont.get(), legend, + XMFLOAT2(float(safeRect.left), float(safeRect.bottom) - m_font->GetLineSpacing()), + ATG::Colors::LightGrey); + + m_spriteBatch->End(); + + PIXEndEvent(context); + + // Show the new frame. + PIXBeginEvent(PIX_COLOR_DEFAULT, L"Present"); + m_deviceResources->Present(); + PIXEndEvent(); +} + +// Helper method to clear the back buffers. +void Sample::Clear() +{ + auto context = m_deviceResources->GetD3DDeviceContext(); + PIXBeginEvent(context, PIX_COLOR_DEFAULT, L"Clear"); + + // Clear the views + auto renderTarget = m_deviceResources->GetBackBufferRenderTargetView(); + + // Don't need to clear color as the sample draws a fullscreen image background + + context->OMSetRenderTargets(1, &renderTarget, nullptr); + + // Set the viewport. + auto viewport = m_deviceResources->GetScreenViewport(); + context->RSSetViewports(1, &viewport); + + PIXEndEvent(context); +} +#pragma endregion + +#pragma region Message Handlers +// Message handlers +void Sample::OnActivated() +{ +} + +void Sample::OnDeactivated() +{ +} + +void Sample::OnSuspending() +{ + auto context = m_deviceResources->GetD3DDeviceContext(); + context->ClearState(); + + m_deviceResources->Trim(); + + // Suspend audio engine + m_wm->StopDevice(); +} + +void Sample::OnResuming() +{ + m_timer.ResetElapsedTime(); + m_gamePadButtons.Reset(); + m_keyboardButtons.Reset(); + + // Resume audio engine + m_wm->StartDevice(); + +} + +void Sample::OnWindowSizeChanged(int width, int height, DXGI_MODE_ROTATION rotation) +{ + if (!m_deviceResources->WindowSizeChanged(width, height, rotation)) + return; + + CreateWindowSizeDependentResources(); +} + +void Sample::ValidateDevice() +{ + m_deviceResources->ValidateDevice(); +} + +// Properties +void Sample::GetDefaultSize(int& width, int& height) const +{ + width = 1280; + height = 720; +} +#pragma endregion + +#pragma region Direct3D Resources +// These are the resources that depend on the device. +void Sample::CreateDeviceDependentResources() +{ + auto context = m_deviceResources->GetD3DDeviceContext(); + auto device = m_deviceResources->GetD3DDevice(); + + m_spriteBatch = std::make_unique(context); + + m_font = std::make_unique(device, L"SegoeUI_18.spritefont"); + m_ctrlFont = std::make_unique(device, L"XboxOneControllerLegendSmall.spritefont"); + + DX::ThrowIfFailed(CreateDDSTextureFromFile(device, L"ATGSampleBackground.DDS", nullptr, m_background.ReleaseAndGetAddressOf())); +} + +// Allocate all memory resources that change on a window SizeChanged event. +void Sample::CreateWindowSizeDependentResources() +{ + m_spriteBatch->SetRotation(m_deviceResources->GetRotation()); +} + +void Sample::OnDeviceLost() +{ + m_spriteBatch.reset(); + m_font.reset(); + m_ctrlFont.reset(); + m_background.Reset(); +} + +void Sample::OnDeviceRestored() +{ + CreateDeviceDependentResources(); + + CreateWindowSizeDependentResources(); +} +#pragma endregion + diff --git a/Samples/Audio/SimpleWASAPIPlaySoundUWP/SimpleWASAPIPlaySound.h b/Samples/Audio/SimpleWASAPIPlaySoundUWP/SimpleWASAPIPlaySound.h new file mode 100644 index 00000000..b3dc6c91 --- /dev/null +++ b/Samples/Audio/SimpleWASAPIPlaySoundUWP/SimpleWASAPIPlaySound.h @@ -0,0 +1,77 @@ +//-------------------------------------------------------------------------------------- +// SimpleWASAPIPlaySound.h +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#pragma once + +#include "DeviceResources.h" +#include "StepTimer.h" +#include "WASAPIManager.h" + +// A basic sample implementation that creates a D3D11 device and +// provides a render loop. +class Sample : public DX::IDeviceNotify +{ +public: + + Sample(); + + // Initialization and management + void Initialize(IUnknown* window, int width, int height, DXGI_MODE_ROTATION rotation); + + // Basic render loop + void Tick(); + void Render(); + + // Rendering helpers + void Clear(); + + // IDeviceNotify + virtual void OnDeviceLost() override; + virtual void OnDeviceRestored() override; + + // Messages + void OnActivated(); + void OnDeactivated(); + void OnSuspending(); + void OnResuming(); + void OnWindowSizeChanged(int width, int height, DXGI_MODE_ROTATION rotation); + void ValidateDevice(); + + // Properties + void GetDefaultSize( int& width, int& height ) const; + +private: + + void Update(DX::StepTimer const& timer); + + void CreateDeviceDependentResources(); + void CreateWindowSizeDependentResources(); + + // Device resources. + std::unique_ptr m_deviceResources; + + // Rendering loop timer. + DX::StepTimer m_timer; + + // Input devices. + std::unique_ptr m_gamePad; + std::unique_ptr m_keyboard; + + DirectX::GamePad::ButtonStateTracker m_gamePadButtons; + DirectX::Keyboard::KeyboardStateTracker m_keyboardButtons; + bool m_gamepadPresent; + + // Render objects. + std::unique_ptr m_spriteBatch; + std::unique_ptr m_font; + std::unique_ptr m_ctrlFont; + + Microsoft::WRL::ComPtr m_background; + + WASAPIManager^ m_wm; + unsigned int m_volume; +}; diff --git a/Samples/Audio/SimpleWASAPIPlaySoundUWP/SimpleWASAPIPlaySound.sln b/Samples/Audio/SimpleWASAPIPlaySoundUWP/SimpleWASAPIPlaySound.sln new file mode 100644 index 00000000..383bd019 --- /dev/null +++ b/Samples/Audio/SimpleWASAPIPlaySoundUWP/SimpleWASAPIPlaySound.sln @@ -0,0 +1,54 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.24720.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SimpleWASAPIPlaySound", "SimpleWASAPIPlaySound.vcxproj", "{DC540FD8-0799-4A4B-8735-393D58818D8D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectXTK", "..\..\..\Kits\DirectXTK\DirectXTK_Windows10.vcxproj", "{F4776924-619C-42C7-88B2-82C947CCC9E7}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|ARM = Debug|ARM + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|ARM = Release|ARM + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|ARM.ActiveCfg = Debug|ARM + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|ARM.Build.0 = Debug|ARM + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|x64.ActiveCfg = Debug|x64 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|x64.Build.0 = Debug|x64 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|x86.ActiveCfg = Debug|Win32 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|x86.Build.0 = Debug|Win32 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|ARM.ActiveCfg = Release|ARM + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|ARM.Build.0 = Release|ARM + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|x64.ActiveCfg = Release|x64 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|x64.Build.0 = Release|x64 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|x86.ActiveCfg = Release|Win32 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|x86.Build.0 = Release|Win32 + {DC540FD8-0799-4A4B-8735-393D58818D8D}.Debug|ARM.ActiveCfg = Debug|ARM + {DC540FD8-0799-4A4B-8735-393D58818D8D}.Debug|ARM.Build.0 = Debug|ARM + {DC540FD8-0799-4A4B-8735-393D58818D8D}.Debug|ARM.Deploy.0 = Debug|ARM + {DC540FD8-0799-4A4B-8735-393D58818D8D}.Debug|x64.ActiveCfg = Debug|x64 + {DC540FD8-0799-4A4B-8735-393D58818D8D}.Debug|x64.Build.0 = Debug|x64 + {DC540FD8-0799-4A4B-8735-393D58818D8D}.Debug|x64.Deploy.0 = Debug|x64 + {DC540FD8-0799-4A4B-8735-393D58818D8D}.Debug|x86.ActiveCfg = Debug|Win32 + {DC540FD8-0799-4A4B-8735-393D58818D8D}.Debug|x86.Build.0 = Debug|Win32 + {DC540FD8-0799-4A4B-8735-393D58818D8D}.Debug|x86.Deploy.0 = Debug|Win32 + {DC540FD8-0799-4A4B-8735-393D58818D8D}.Release|ARM.ActiveCfg = Release|ARM + {DC540FD8-0799-4A4B-8735-393D58818D8D}.Release|ARM.Build.0 = Release|ARM + {DC540FD8-0799-4A4B-8735-393D58818D8D}.Release|ARM.Deploy.0 = Release|ARM + {DC540FD8-0799-4A4B-8735-393D58818D8D}.Release|x64.ActiveCfg = Release|x64 + {DC540FD8-0799-4A4B-8735-393D58818D8D}.Release|x64.Build.0 = Release|x64 + {DC540FD8-0799-4A4B-8735-393D58818D8D}.Release|x64.Deploy.0 = Release|x64 + {DC540FD8-0799-4A4B-8735-393D58818D8D}.Release|x86.ActiveCfg = Release|Win32 + {DC540FD8-0799-4A4B-8735-393D58818D8D}.Release|x86.Build.0 = Release|Win32 + {DC540FD8-0799-4A4B-8735-393D58818D8D}.Release|x86.Deploy.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Samples/Audio/SimpleWASAPIPlaySoundUWP/SimpleWASAPIPlaySound.vcxproj b/Samples/Audio/SimpleWASAPIPlaySoundUWP/SimpleWASAPIPlaySound.vcxproj new file mode 100644 index 00000000..85d9faea --- /dev/null +++ b/Samples/Audio/SimpleWASAPIPlaySoundUWP/SimpleWASAPIPlaySound.vcxproj @@ -0,0 +1,269 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + Debug + ARM + + + Release + ARM + + + + {dc540fd8-0799-4a4b-8735-393d58818d8d} + DirectXApp + SimplePlaySound + en-US + 14.0 + true + Windows Store + 10.0.10586.0 + 10.0.10240.0 + 10.0 + true + + + + Application + true + v140 + + + Application + true + v140 + + + Application + true + v140 + + + Application + false + true + v140 + + + Application + false + true + v140 + + + Application + false + true + v140 + + + + + + + + + + + + + + + + + + + + + + + + + + + + SimplePlaySound_TemporaryKey.pfx + + + + MFuuid.lib;d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\arm; $(VCInstallDir)\lib\arm + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + _DEBUG;%(PreprocessorDefinitions) + Fast + + + + + MFuuid.lib;d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\arm; $(VCInstallDir)\lib\arm + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + NDEBUG;%(PreprocessorDefinitions) + Fast + + + + + MFuuid.lib;d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store; $(VCInstallDir)\lib + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + _DEBUG;%(PreprocessorDefinitions) + Fast + StreamingSIMDExtensions2 + + + + + MFuuid.lib;d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store; $(VCInstallDir)\lib + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + NDEBUG;%(PreprocessorDefinitions) + Fast + StreamingSIMDExtensions2 + + + + + MFuuid.lib;d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\amd64; $(VCInstallDir)\lib\amd64 + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + _DEBUG;%(PreprocessorDefinitions) + Fast + + + + + MFuuid.lib;d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\amd64; $(VCInstallDir)\lib\amd64 + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + NDEBUG;%(PreprocessorDefinitions) + Fast + + + + + + + + + + + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + + + + + + + + Designer + + + true + true + true + true + true + true + + + true + true + true + true + true + true + + + + + + + + + + + + + + + {f4776924-619c-42c7-88b2-82c947ccc9e7} + + + + + + + + + \ No newline at end of file diff --git a/Samples/Audio/SimpleWASAPIPlaySoundUWP/SimpleWASAPIPlaySound.vcxproj.filters b/Samples/Audio/SimpleWASAPIPlaySoundUWP/SimpleWASAPIPlaySound.vcxproj.filters new file mode 100644 index 00000000..f6658e48 --- /dev/null +++ b/Samples/Audio/SimpleWASAPIPlaySoundUWP/SimpleWASAPIPlaySound.vcxproj.filters @@ -0,0 +1,90 @@ + + + + + f82b7e7f-5cef-4078-90d5-6165dc506eb0 + + + fb27a840-9692-4adf-8934-0ced3b3a0868 + bmp;dds;fbx;gif;jpg;jpeg;tga;tiff;tif;png + + + {1aaa0de1-c34d-490b-a2cc-34b1eddb8a84} + + + + + + Common + + + Common + + + ATG Tool Kit + + + + + + + Common + + + Common + + + ATG Tool Kit + + + ATG Tool Kit + + + + + + + Common + + + ATG Tool Kit + + + + + + + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + + + + + + + Assets + + + + Assets + + + \ No newline at end of file diff --git a/Samples/Graphics/SimpleTextureUWP12/StepTimer.h b/Samples/Audio/SimpleWASAPIPlaySoundUWP/StepTimer.h similarity index 100% rename from Samples/Graphics/SimpleTextureUWP12/StepTimer.h rename to Samples/Audio/SimpleWASAPIPlaySoundUWP/StepTimer.h diff --git a/Samples/Audio/SimpleWASAPIPlaySoundUWP/ToneSampleGenerator.cpp b/Samples/Audio/SimpleWASAPIPlaySoundUWP/ToneSampleGenerator.cpp new file mode 100644 index 00000000..b214076d --- /dev/null +++ b/Samples/Audio/SimpleWASAPIPlaySoundUWP/ToneSampleGenerator.cpp @@ -0,0 +1,177 @@ +//-------------------------------------------------------------------------------------- +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +// +// ToneSampleGenerator.h +// + +#include "pch.h" +#include "ToneSampleGenerator.h" + +const int TONE_DURATION_SEC = 30; +const double TONE_AMPLITUDE = 0.5; // Scalar value, should be between 0.0 - 1.0 + +// +// Convert from double to float, byte, short or int32. +// +template<> +float Convert(double Value) +{ + return static_cast(Value); +}; + +template<> +short Convert(double Value) +{ + return static_cast(Value * _I16_MAX); +}; + +// +// ToneSampleGenerator() +// +ToneSampleGenerator::ToneSampleGenerator() +{ + m_SampleQueue = nullptr; + m_SampleQueueTail = &m_SampleQueue; +} + +// +// ~ToneSampleGenerator() +// +ToneSampleGenerator::~ToneSampleGenerator() +{ + // Flush unused samples + Flush(); +} + +// +// GenerateSampleBuffer() +// +// Create a linked list of sample buffers +// +HRESULT ToneSampleGenerator::GenerateSampleBuffer(unsigned long Frequency, unsigned int FramesPerPeriod, WAVEFORMATEX *wfx ) +{ + HRESULT hr = S_OK; + + uint32_t renderBufferSizeInBytes = FramesPerPeriod * wfx->nBlockAlign; + uint64_t renderDataLength = ( wfx->nSamplesPerSec * TONE_DURATION_SEC * wfx->nBlockAlign ) + ( renderBufferSizeInBytes - 1 ); + uint64_t renderBufferCount = renderDataLength / renderBufferSizeInBytes; + + double theta = 0; + + for( UINT64 i = 0; i < renderBufferCount; i++ ) + { + RenderBuffer *SampleBuffer = new (std::nothrow) RenderBuffer(); + if (nullptr == SampleBuffer) + { + return E_OUTOFMEMORY; + } + + SampleBuffer->BufferSize = renderBufferSizeInBytes; + SampleBuffer->BytesFilled = renderBufferSizeInBytes; + SampleBuffer->Buffer = new (std::nothrow) unsigned char[ renderBufferSizeInBytes ]; + if (nullptr == SampleBuffer->Buffer) + { + return E_OUTOFMEMORY; + } + + switch( CalculateMixFormatType( wfx ) ) + { + case RenderSampleType::SampleType16BitPCM: + GenerateSineSamples( SampleBuffer->Buffer, SampleBuffer->BufferSize, Frequency, wfx->nChannels, wfx->nSamplesPerSec, TONE_AMPLITUDE, &theta); + break; + + case RenderSampleType::SampleTypeFloat: + GenerateSineSamples( SampleBuffer->Buffer, SampleBuffer->BufferSize, Frequency, wfx->nChannels, wfx->nSamplesPerSec, TONE_AMPLITUDE, &theta); + break; + + default: + return E_UNEXPECTED; + break; + } + + *m_SampleQueueTail = SampleBuffer; + m_SampleQueueTail = &SampleBuffer->Next; + } + return hr; +} + +// +// GenerateSineSamples() +// +// Generate samples which represent a sine wave that fits into the specified buffer. +// +// T: Type of data holding the sample (short, int, byte, float) +// Buffer - Buffer to hold the samples +// BufferLength - Length of the buffer. +// ChannelCount - Number of channels per audio frame. +// SamplesPerSecond - Samples/Second for the output data. +// InitialTheta - Initial theta value - start at 0, modified in this function. +// +template +void ToneSampleGenerator::GenerateSineSamples(unsigned char *Buffer, size_t BufferLength, unsigned long Frequency, unsigned short ChannelCount, unsigned long SamplesPerSecond, double Amplitude, double *InitialTheta) +{ + double sampleIncrement = (Frequency * (M_PI*2)) / (double)SamplesPerSecond; + T *dataBuffer = reinterpret_cast(Buffer); + double theta = (InitialTheta != NULL ? *InitialTheta : 0); + + for (size_t i = 0 ; i < BufferLength / sizeof(T) ; i += ChannelCount) + { + double sinValue = Amplitude * sin( theta ); + for(size_t j = 0 ;j < ChannelCount; j++) + { + dataBuffer[i+j] = Convert(sinValue); + } + theta += sampleIncrement; + } + + if (InitialTheta != NULL) + { + *InitialTheta = theta; + } +} + +// +// FillSampleBuffer() +// +// File the Data buffer of size BytesToRead with the first item in the queue. Caller is responsible for allocating and freeing buffer +// +HRESULT ToneSampleGenerator::FillSampleBuffer( unsigned int BytesToRead, unsigned char *Data ) +{ + if (nullptr == Data) + { + return E_POINTER; + } + + RenderBuffer *SampleBuffer = m_SampleQueue; + + if (BytesToRead > SampleBuffer->BufferSize) + { + return E_INVALIDARG; + } + + CopyMemory( Data, SampleBuffer->Buffer, BytesToRead ); + + m_SampleQueue = m_SampleQueue->Next; + + return S_OK; +} + +// +// Flush() +// +// Remove and free unused samples from the queue +// +void ToneSampleGenerator::Flush() +{ + while( m_SampleQueue != nullptr ) + { + RenderBuffer *SampleBuffer = m_SampleQueue; + m_SampleQueue = SampleBuffer->Next; + SAFE_DELETE( SampleBuffer ); + } +} + diff --git a/Samples/Audio/SimpleWASAPIPlaySoundUWP/ToneSampleGenerator.h b/Samples/Audio/SimpleWASAPIPlaySoundUWP/ToneSampleGenerator.h new file mode 100644 index 00000000..1e66c0a5 --- /dev/null +++ b/Samples/Audio/SimpleWASAPIPlaySoundUWP/ToneSampleGenerator.h @@ -0,0 +1,37 @@ +//-------------------------------------------------------------------------------------- +// ToneSampleGenerator.h +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + + +#pragma once + +#define _USE_MATH_DEFINES +#include +#include + +template T Convert(double Value); + +class ToneSampleGenerator +{ +public: + ToneSampleGenerator(); + ~ToneSampleGenerator(); + + bool IsEOF(){ return (m_SampleQueue == nullptr); }; + unsigned int GetBufferLength(){ return ( m_SampleQueue != nullptr ? m_SampleQueue->BufferSize : 0 ); }; + void Flush(); + + HRESULT GenerateSampleBuffer( unsigned long Frequency, unsigned int FramesPerPeriod, WAVEFORMATEX *wfx ); + HRESULT FillSampleBuffer( unsigned int BytesToRead, unsigned char *Data ); + +private: + template + void GenerateSineSamples(unsigned char *Buffer, size_t BufferLength, unsigned long Frequency, unsigned short ChannelCount, unsigned long SamplesPerSecond, double Amplitude, double *InitialTheta); + +private: + RenderBuffer *m_SampleQueue; + RenderBuffer **m_SampleQueueTail; +}; diff --git a/Samples/Audio/SimpleWASAPIPlaySoundUWP/WASAPIManager.cpp b/Samples/Audio/SimpleWASAPIPlaySoundUWP/WASAPIManager.cpp new file mode 100644 index 00000000..b8238489 --- /dev/null +++ b/Samples/Audio/SimpleWASAPIPlaySoundUWP/WASAPIManager.cpp @@ -0,0 +1,242 @@ +//-------------------------------------------------------------------------------------- +// WASAPIManager.cpp +// +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#include "pch.h" +#include "WASAPIManager.h" + + +using namespace Platform; + +WASAPIManager::WASAPIManager() : + m_StateChangedEvent( nullptr ), + m_Renderer( nullptr ) +{ +} + +WASAPIManager::~WASAPIManager() +{ + if (m_DeviceStateChangeToken.Value != 0) + { + m_StateChangedEvent->StateChangedEvent -= m_DeviceStateChangeToken; + + m_StateChangedEvent = nullptr; + m_DeviceStateChangeToken.Value = 0; + } +} + +//-------------------------------------------------------------------------------------- +// Name: OnDeviceStateChange +// Desc: Event callback from WASAPI renderer for changes in device state +//-------------------------------------------------------------------------------------- +void WASAPIManager::OnDeviceStateChange( Object^ sender, DeviceStateChangedEventArgs^ e ) +{ + // Handle state specific messages + switch( e->State ) + { + case DeviceState::DeviceStateInitialized: + StartDevice(); + break; + + case DeviceState::DeviceStatePlaying: + OutputDebugString( L"Playback Started\n" ); + break; + + case DeviceState::DeviceStatePaused: + OutputDebugString( L"Playback Paused\n" ); + break; + + case DeviceState::DeviceStateStopped: + m_Renderer = nullptr; + + if (m_DeviceStateChangeToken.Value != 0) + { + m_StateChangedEvent->StateChangedEvent -= m_DeviceStateChangeToken; + m_StateChangedEvent = nullptr; + m_DeviceStateChangeToken.Value = 0; + } + + OutputDebugString( L"Playback Stopped\n" ); + break; + + case DeviceState::DeviceStateInError: + HRESULT hr = e->hr; + + if (m_DeviceStateChangeToken.Value != 0) + { + m_StateChangedEvent->StateChangedEvent -= m_DeviceStateChangeToken; + m_StateChangedEvent = nullptr; + m_DeviceStateChangeToken.Value = 0; + } + + m_Renderer = nullptr; + + wchar_t hrVal[11]; + swprintf_s( hrVal, _countof( hrVal ), L"0x%08x", hr ); + String^ strHRVal = ref new String( hrVal ); + + String^ strMessage = ""; + + // Specifically handle a couple of known errors + switch( hr ) + { + case AUDCLNT_E_ENDPOINT_OFFLOAD_NOT_CAPABLE: + strMessage = "ERROR: Endpoint Does Not Support HW Offload (" + strHRVal + ")\n"; + OutputDebugString(strMessage->Data()); + break; + + case AUDCLNT_E_RESOURCES_INVALIDATED: + strMessage = "ERROR: Endpoint Lost Access To Resources (" + strHRVal + ")\n"; + OutputDebugString( strMessage->Data() ); + break; + + default: + strMessage = "ERROR: " + strHRVal + " has occurred.\n"; + OutputDebugString( strMessage->Data() ); + } + } +} + +//-------------------------------------------------------------------------------------- +// Name: OnSetVolume +// Desc: Updates the session volume +//-------------------------------------------------------------------------------------- +void WASAPIManager::SetVolume( unsigned int volume ) +{ + if (m_Renderer) + { + DeviceState deviceState = m_StateChangedEvent->GetState(); + + if ( deviceState == DeviceState::DeviceStatePlaying || deviceState == DeviceState::DeviceStatePaused ) + { + // Updates the Session volume on the AudioClient + m_Renderer->SetVolumeOnSession( volume ); + } + } +} + +//-------------------------------------------------------------------------------------- +// Name: InitializeDevice +// Desc: Sets up a new instance of the WASAPI renderer +//-------------------------------------------------------------------------------------- +void WASAPIManager::InitializeDevice() +{ + if (!m_Renderer) + { + // Create a new WASAPI instance + m_Renderer = Microsoft::WRL::Make(); + + if (nullptr == m_Renderer) + { + OnDeviceStateChange( this, ref new DeviceStateChangedEventArgs( DeviceState::DeviceStateInError, E_OUTOFMEMORY )); + return; + } + + // Get a pointer to the device event interface + m_StateChangedEvent = m_Renderer->GetDeviceStateEvent(); + + if (nullptr == m_StateChangedEvent) + { + OnDeviceStateChange( this, ref new DeviceStateChangedEventArgs( DeviceState::DeviceStateInError, E_FAIL )); + return; + } + + // Register for events + m_DeviceStateChangeToken = m_StateChangedEvent->StateChangedEvent += ref new DeviceStateChangedHandler( this, &WASAPIManager::OnDeviceStateChange ); + + // Configure user based properties + DEVICEPROPS props = { 0 }; + int BufferSize = 0; + props.IsBackground = false; + props.hnsBufferDuration = static_cast(BufferSize); + props.Frequency = 440; + + m_Renderer->SetProperties( props ); + + // Selects the Default Audio Device + m_Renderer->InitializeAudioDeviceAsync(); + } +} + +//-------------------------------------------------------------------------------------- +// Name: StartDevice +// Desc: Initialize and start playback +//-------------------------------------------------------------------------------------- +void WASAPIManager::StartDevice() +{ + if (nullptr == m_Renderer) + { + // Call from main UI thread + InitializeDevice(); + } + else + { + // Starts a work item to begin playback, likely in the paused state + m_Renderer->StartPlaybackAsync(); + } +} + +//-------------------------------------------------------------------------------------- +// Name: StopDevice +// Desc: Stop playback, if WASAPI renderer exists +//-------------------------------------------------------------------------------------- +void WASAPIManager::StopDevice() +{ + if (m_Renderer) + { + // Set the event to stop playback + m_Renderer->StopPlaybackAsync(); + } +} + +//-------------------------------------------------------------------------------------- +// Name: PauseDevice +// Desc: If device is playing, pause playback. Otherwise do nothing. +//-------------------------------------------------------------------------------------- +void WASAPIManager::PauseDevice() +{ + if (m_Renderer) + { + DeviceState deviceState = m_StateChangedEvent->GetState(); + + if (deviceState == DeviceState::DeviceStatePlaying) + { + // Starts a work item to pause playback + m_Renderer->PausePlaybackAsync(); + } + } +} + +//-------------------------------------------------------------------------------------- +// Name: PlayPauseToggle +// Desc: Toggle pause state +//-------------------------------------------------------------------------------------- +void WASAPIManager::PlayPauseToggle() +{ + if (m_Renderer) + { + DeviceState deviceState = m_StateChangedEvent->GetState(); + + // We only permit a pause state change if we're fully playing + // or fully paused. + if (deviceState == DeviceState::DeviceStatePlaying) + { + // Starts a work item to pause playback + m_Renderer->PausePlaybackAsync(); + } + else if (deviceState == DeviceState::DeviceStatePaused) + { + // Starts a work item to pause playback + m_Renderer->StartPlaybackAsync(); + } + } + else + { + StartDevice(); + } +} + diff --git a/Samples/Audio/SimpleWASAPIPlaySoundUWP/WASAPIManager.h b/Samples/Audio/SimpleWASAPIPlaySoundUWP/WASAPIManager.h new file mode 100644 index 00000000..002143e8 --- /dev/null +++ b/Samples/Audio/SimpleWASAPIPlaySoundUWP/WASAPIManager.h @@ -0,0 +1,67 @@ +//-------------------------------------------------------------------------------------- +// WASAPIManager.h +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#pragma once + +#include "pch.h" +#include "DeviceState.h" +#include "WASAPIRenderer.h" +#include "WAVFileReader.h" + + + +ref class WASAPIManager sealed +{ +public: + WASAPIManager(); + + void StartDevice(); + void StopDevice(); + void PauseDevice(); + void PlayPauseToggle(); + + void SetVolume( unsigned int volume ); + + //-------------------------------------------------------------------------------------- + // Name: IsStopped + // Desc: Returns true if the renderer doesn't exist or it does exist and it's in the + // DeviceStateStopped state. + //-------------------------------------------------------------------------------------- + bool IsStopped() + { + bool bStopped = true; + + if ( m_Renderer != nullptr ) + { + bStopped = ( m_StateChangedEvent->GetState() == DeviceState::DeviceStateStopped ); + } + return bStopped; + } + + bool IsPlaying() + { + bool bPlaying = false; + + if (m_Renderer != nullptr) + { + bPlaying = (m_StateChangedEvent->GetState() == DeviceState::DeviceStatePlaying); + } + return bPlaying; + } + +private: + ~WASAPIManager(); + + void OnDeviceStateChange( Object^ sender, DeviceStateChangedEventArgs^ e ); + + void InitializeDevice(); + + Windows::Foundation::EventRegistrationToken m_DeviceStateChangeToken; + + DeviceStateChangedEvent^ m_StateChangedEvent; + Microsoft::WRL::ComPtr m_Renderer; +}; diff --git a/Samples/Audio/SimpleWASAPIPlaySoundUWP/WASAPIRenderer.cpp b/Samples/Audio/SimpleWASAPIPlaySoundUWP/WASAPIRenderer.cpp new file mode 100644 index 00000000..624a2042 --- /dev/null +++ b/Samples/Audio/SimpleWASAPIPlaySoundUWP/WASAPIRenderer.cpp @@ -0,0 +1,634 @@ +//-------------------------------------------------------------------------------------- +// +// WASAPIRenderer.cpp +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + + +#include "pch.h" +#include "WASAPIRenderer.h" + +using namespace Windows::System::Threading; +using namespace Windows::Media::Devices; + +using Microsoft::WRL::ComPtr; + +// +// WASAPIRenderer() +// +WASAPIRenderer::WASAPIRenderer() : + m_BufferFrames( 0 ), + m_DeviceStateChanged( nullptr ), + m_AudioClient( nullptr ), + m_AudioRenderClient( nullptr ), + m_SampleReadyAsyncResult( nullptr ), + m_ToneSource( nullptr ) +{ + // Create events for sample ready or user stop + m_SampleReadyEvent = CreateEventEx( nullptr, nullptr, 0, EVENT_ALL_ACCESS ); + if (nullptr == m_SampleReadyEvent) + { + DX::ThrowIfFailed( HRESULT_FROM_WIN32( GetLastError() ) ); + } + + m_DeviceStateChanged = ref new DeviceStateChangedEvent(); + if (nullptr == m_DeviceStateChanged) + { + DX::ThrowIfFailed( E_OUTOFMEMORY ); + } +} + +// +// ~WASAPIRenderer() +// +WASAPIRenderer::~WASAPIRenderer() +{ + if (INVALID_HANDLE_VALUE != m_SampleReadyEvent) + { + CloseHandle( m_SampleReadyEvent ); + m_SampleReadyEvent = INVALID_HANDLE_VALUE; + } + + m_DeviceStateChanged = nullptr; +} + +// +// InitializeAudioDeviceAsync() +// +// Activates the default audio renderer on a asynchronous callback thread. This needs +// to be called from the main UI thread. +// +HRESULT WASAPIRenderer::InitializeAudioDeviceAsync() +{ + ComPtr asyncOp; + HRESULT hr = S_OK; + + // Get a string representing the Default Audio Device Renderer + m_DeviceIdString = MediaDevice::GetDefaultAudioRenderId( Windows::Media::Devices::AudioDeviceRole::Default ); + + // This call must be made on the main UI thread. Async operation will call back to + // IActivateAudioInterfaceCompletionHandler::ActivateCompleted, which must be an agile interface implementation + hr = ActivateAudioInterfaceAsync( m_DeviceIdString->Data(), __uuidof(IAudioClient2), nullptr, this, &asyncOp ); + if (FAILED( hr )) + { + m_DeviceStateChanged->SetState( DeviceState::DeviceStateInError, hr, true ); + } + + return hr; +} + +// +// ActivateCompleted() +// +// Callback implementation of ActivateAudioInterfaceAsync function. This will be called on MTA thread +// when results of the activation are available. +// +HRESULT WASAPIRenderer::ActivateCompleted( IActivateAudioInterfaceAsyncOperation *operation ) +{ + HRESULT hr = S_OK; + HRESULT hrActivateResult = S_OK; + ComPtr punkAudioInterface = nullptr; + + if (m_DeviceStateChanged->GetState() != DeviceState::DeviceStateUnInitialized) + { + hr = E_NOT_VALID_STATE; + goto exit; + } + + // Check for a successful activation result + hr = operation->GetActivateResult( &hrActivateResult, &punkAudioInterface ); + if (SUCCEEDED( hr ) && SUCCEEDED( hrActivateResult )) + { + m_DeviceStateChanged->SetState( DeviceState::DeviceStateActivated, S_OK, false ); + + // Get the pointer for the Audio Client + punkAudioInterface.Get()->QueryInterface( IID_PPV_ARGS(&m_AudioClient) ); + if( nullptr == m_AudioClient ) + { + hr = E_FAIL; + goto exit; + } + + // Configure user defined properties + hr = ConfigureDeviceInternal(); + if (FAILED( hr )) + { + goto exit; + } + + // Initialize the AudioClient in Shared Mode with the user specified buffer + hr = m_AudioClient->Initialize( AUDCLNT_SHAREMODE_SHARED, + AUDCLNT_STREAMFLAGS_EVENTCALLBACK | AUDCLNT_STREAMFLAGS_NOPERSIST, + m_DeviceProps.hnsBufferDuration, + m_DeviceProps.hnsBufferDuration, + m_MixFormat, + nullptr ); + if (FAILED( hr )) + { + goto exit; + } + + // Get the maximum size of the AudioClient Buffer + hr = m_AudioClient->GetBufferSize( &m_BufferFrames ); + if (FAILED( hr )) + { + goto exit; + } + + // Get the render client + hr = m_AudioClient->GetService( __uuidof(IAudioRenderClient), (void**) &m_AudioRenderClient ); + if (FAILED( hr )) + { + goto exit; + } + + // Create Async callback for sample events + hr = MFCreateAsyncResult( nullptr, &m_xSampleReady, nullptr, &m_SampleReadyAsyncResult ); + if (FAILED( hr )) + { + goto exit; + } + + // Sets the event handle that the system signals when an audio buffer is ready to be processed by the client + hr = m_AudioClient->SetEventHandle( m_SampleReadyEvent ); + if (FAILED( hr )) + { + goto exit; + } + + // Everything succeeded + m_DeviceStateChanged->SetState( DeviceState::DeviceStateInitialized, S_OK, true ); + + } + +exit: + + if (FAILED( hr )) + { + m_DeviceStateChanged->SetState( DeviceState::DeviceStateInError, hr, true ); + } + + // Need to return S_OK + return S_OK; +} + +// +// SetProperties() +// +// Sets various properties that the user defines in the scenario +// +HRESULT WASAPIRenderer::SetProperties( DEVICEPROPS props ) +{ + m_DeviceProps = props; + return S_OK; +} + +// +// GetBufferFramesPerPeriod() +// +// Get the time in seconds between passes of the audio device +// +UINT32 WASAPIRenderer::GetBufferFramesPerPeriod() +{ + REFERENCE_TIME defaultDevicePeriod = 0; + REFERENCE_TIME minimumDevicePeriod = 0; + + if (m_DeviceProps.IsHWOffload) + { + return m_BufferFrames; + } + + // Get the audio device period + HRESULT hr = m_AudioClient->GetDevicePeriod( &defaultDevicePeriod, &minimumDevicePeriod); + if (FAILED( hr )) + { + return 0; + } + + double devicePeriodInSeconds = defaultDevicePeriod / (10000.0*1000.0); + + return static_cast( m_MixFormat->nSamplesPerSec * devicePeriodInSeconds + 0.5 ); +} + +// +// ConfigureDeviceInternal() +// +// Sets additional playback parameters and opts into hardware offload +// +HRESULT WASAPIRenderer::ConfigureDeviceInternal() +{ + if (m_DeviceStateChanged->GetState() != DeviceState::DeviceStateActivated) + { + return E_NOT_VALID_STATE; + } + + HRESULT hr = S_OK; + + // Opt into HW Offloading. If the endpoint does not support offload it will return AUDCLNT_E_ENDPOINT_OFFLOAD_NOT_CAPABLE + AudioClientProperties audioProps = {0}; + audioProps.cbSize = sizeof( AudioClientProperties ); + audioProps.bIsOffload = m_DeviceProps.IsHWOffload; + audioProps.eCategory = AudioCategory_ForegroundOnlyMedia; + + if (m_DeviceProps.IsRawChosen && m_DeviceProps.IsRawSupported) + { + audioProps.Options = AUDCLNT_STREAMOPTIONS_RAW; + } + + hr = m_AudioClient->SetClientProperties( &audioProps ); + if (FAILED( hr )) + { + return hr; + } + + // This sample opens the device is shared mode so we need to find the supported WAVEFORMATEX mix format + hr = m_AudioClient->GetMixFormat( &m_MixFormat ); + if (FAILED( hr )) + { + return hr; + } + + // Verify the user defined value for hardware buffer + hr = ValidateBufferValue(); + + return hr; +} + +// +// ValidateBufferValue() +// +// Verifies the user specified buffer value for hardware offload +// +HRESULT WASAPIRenderer::ValidateBufferValue() +{ + HRESULT hr = S_OK; + + if (!m_DeviceProps.IsHWOffload) + { + // If we aren't using HW Offload, set this to 0 to use the default value + m_DeviceProps.hnsBufferDuration = 0; + return hr; + } + + REFERENCE_TIME hnsMinBufferDuration; + REFERENCE_TIME hnsMaxBufferDuration; + + hr = m_AudioClient->GetBufferSizeLimits( m_MixFormat, true, &hnsMinBufferDuration, &hnsMaxBufferDuration ); + if (SUCCEEDED( hr )) + { + if (m_DeviceProps.hnsBufferDuration < hnsMinBufferDuration) + { + // using MINIMUM size instead + m_DeviceProps.hnsBufferDuration = hnsMinBufferDuration; + } + else if (m_DeviceProps.hnsBufferDuration > hnsMaxBufferDuration) + { + // using MAXIMUM size instead + m_DeviceProps.hnsBufferDuration = hnsMaxBufferDuration; + } + } + + return hr; +} + +// +// SetVolumeOnSession() +// +HRESULT WASAPIRenderer::SetVolumeOnSession(unsigned int volume ) +{ + if (volume > 100) + { + return E_INVALIDARG; + } + + HRESULT hr = S_OK; + + ComPtr SessionAudioVolume = nullptr; + float ChannelVolume = 0.0; + + hr = m_AudioClient->GetService( __uuidof(ISimpleAudioVolume), reinterpret_cast(SessionAudioVolume.Get()) ); + if (FAILED( hr )) + { + goto exit; + } + + ChannelVolume = volume / (float)100.0; + + // Set the session volume on the endpoint + hr = SessionAudioVolume->SetMasterVolume( ChannelVolume, nullptr ); + +exit: + return hr; +} + +// +// ConfigureSource() +// +// Configures tone or file playback +// +HRESULT WASAPIRenderer::ConfigureSource() +{ + HRESULT hr = S_OK; + UINT32 FramesPerPeriod = GetBufferFramesPerPeriod(); + + // Generate the sine wave sample buffer + m_ToneSource = std::make_unique(); + if (m_ToneSource) + { + hr = m_ToneSource->GenerateSampleBuffer( m_DeviceProps.Frequency, FramesPerPeriod, m_MixFormat ); + } + else + { + hr = E_OUTOFMEMORY; + } + + return hr; +} + +// +// StartPlaybackAsync() +// +// Starts asynchronous playback on a separate thread via MF Work Item +// +HRESULT WASAPIRenderer::StartPlaybackAsync() +{ + HRESULT hr = S_OK; + + // We should be stopped if the user stopped playback, or we should be + // initialzied if this is the first time through getting ready to playback. + if ( (m_DeviceStateChanged->GetState() == DeviceState::DeviceStateStopped) || + (m_DeviceStateChanged->GetState() == DeviceState::DeviceStateInitialized) ) + { + // Setup either ToneGeneration or File Playback + hr = ConfigureSource(); + if (FAILED( hr )) + { + m_DeviceStateChanged->SetState( DeviceState::DeviceStateInError, hr, true ); + return hr; + } + + m_DeviceStateChanged->SetState( DeviceState::DeviceStateStarting, S_OK, true ); + return MFPutWorkItem2( MFASYNC_CALLBACK_QUEUE_MULTITHREADED, 0, &m_xStartPlayback, nullptr ); + } + else if (m_DeviceStateChanged->GetState() == DeviceState::DeviceStatePaused) + { + return MFPutWorkItem2( MFASYNC_CALLBACK_QUEUE_MULTITHREADED, 0, &m_xStartPlayback, nullptr ); + } + + // Otherwise something else happened + return E_FAIL; +} + +// +// OnStartPlayback() +// +// Callback method to start playback +// +HRESULT WASAPIRenderer::OnStartPlayback( IMFAsyncResult* ) +{ + HRESULT hr = S_OK; + + // Pre-Roll the buffer with silence + hr = OnAudioSampleRequested( true ); + if (FAILED( hr )) + { + goto exit; + } + + // Actually start the playback + hr = m_AudioClient->Start(); + if (SUCCEEDED( hr )) + { + m_DeviceStateChanged->SetState( DeviceState::DeviceStatePlaying, S_OK, true ); + hr = MFPutWaitingWorkItem( m_SampleReadyEvent, 0, m_SampleReadyAsyncResult.Get(), &m_SampleReadyKey ); + } + +exit: + if (FAILED( hr )) + { + m_DeviceStateChanged->SetState( DeviceState::DeviceStateInError, hr, true ); + } + + return S_OK; +} + +// +// StopPlaybackAsync() +// +// Stop playback asynchronously via MF Work Item +// +HRESULT WASAPIRenderer::StopPlaybackAsync() +{ + if ( (m_DeviceStateChanged->GetState() != DeviceState::DeviceStatePlaying) && + (m_DeviceStateChanged->GetState() != DeviceState::DeviceStatePaused) && + (m_DeviceStateChanged->GetState() != DeviceState::DeviceStateInError) ) + { + return E_NOT_VALID_STATE; + } + + m_DeviceStateChanged->SetState( DeviceState::DeviceStateStopping, S_OK, true ); + + return MFPutWorkItem2( MFASYNC_CALLBACK_QUEUE_MULTITHREADED, 0, &m_xStopPlayback, nullptr ); +} + +// +// OnStopPlayback() +// +// Callback method to stop playback +// +HRESULT WASAPIRenderer::OnStopPlayback( IMFAsyncResult* ) +{ + // Stop playback by cancelling Work Item + // Cancel the queued work item (if any) + if (0 != m_SampleReadyKey) + { + MFCancelWorkItem( m_SampleReadyKey ); + m_SampleReadyKey = 0; + } + + // Flush anything left in buffer with silence + OnAudioSampleRequested( true ); + + m_AudioClient->Stop(); + + m_ToneSource->Flush(); + + m_DeviceStateChanged->SetState( DeviceState::DeviceStateStopped, S_OK, true ); + return S_OK; +} + +// +// PausePlaybackAsync() +// +// Pause playback asynchronously via MF Work Item +// +HRESULT WASAPIRenderer::PausePlaybackAsync() +{ + if ( (m_DeviceStateChanged->GetState() != DeviceState::DeviceStatePlaying) && + (m_DeviceStateChanged->GetState() != DeviceState::DeviceStateInError) ) + { + return E_NOT_VALID_STATE; + } + + // Change state to stop automatic queueing of samples + m_DeviceStateChanged->SetState( DeviceState::DeviceStatePausing, S_OK, false ); + return MFPutWorkItem2( MFASYNC_CALLBACK_QUEUE_MULTITHREADED, 0, &m_xPausePlayback, nullptr ); + +} + +// +// OnPausePlayback() +// +// Callback method to pause playback +// +HRESULT WASAPIRenderer::OnPausePlayback( IMFAsyncResult* ) +{ + m_AudioClient->Stop(); + m_DeviceStateChanged->SetState( DeviceState::DeviceStatePaused, S_OK, true ); + return S_OK; +} + +// +// OnSampleReady() +// +// Callback method when ready to fill sample buffer +// +HRESULT WASAPIRenderer::OnSampleReady( IMFAsyncResult* ) +{ + HRESULT hr = S_OK; + + hr = OnAudioSampleRequested( false ); + + if (SUCCEEDED( hr )) + { + // Re-queue work item for next sample + if (m_DeviceStateChanged->GetState() == DeviceState::DeviceStatePlaying) + { + hr = MFPutWaitingWorkItem( m_SampleReadyEvent, 0, m_SampleReadyAsyncResult.Get(), &m_SampleReadyKey ); + } + } + else + { + m_DeviceStateChanged->SetState( DeviceState::DeviceStateInError, hr, true ); + } + + return hr; +} + +// +// OnAudioSampleRequested() +// +// Called when audio device fires m_SampleReadyEvent +// +HRESULT WASAPIRenderer::OnAudioSampleRequested( bool IsSilence ) +{ + HRESULT hr = S_OK; + UINT32 PaddingFrames = 0; + UINT32 FramesAvailable = 0; + + std::lock_guard lck(m_mutex); + + // Get padding in existing buffer + hr = m_AudioClient->GetCurrentPadding( &PaddingFrames ); + if (FAILED( hr )) + { + goto exit; + } + + // Audio frames available in buffer + if (m_DeviceProps.IsHWOffload) + { + // In HW mode, GetCurrentPadding returns the number of available frames in the + // buffer, so we can just use that directly + FramesAvailable = PaddingFrames; + } + else + { + // In non-HW shared mode, GetCurrentPadding represents the number of queued frames + // so we can subtract that from the overall number of frames we have + FramesAvailable = m_BufferFrames - PaddingFrames; + } + + // Only continue if we have buffer to write data + if (FramesAvailable > 0) + { + if (IsSilence) + { + BYTE *Data; + + // Fill the buffer with silence + hr = m_AudioRenderClient->GetBuffer( FramesAvailable, &Data ); + if (FAILED( hr )) + { + goto exit; + } + + hr = m_AudioRenderClient->ReleaseBuffer( FramesAvailable, AUDCLNT_BUFFERFLAGS_SILENT ); + goto exit; + } + + // Even if we cancel a work item, this may still fire due to the async + // nature of things. There should be a queued work item already to handle + // the process of stopping or stopped + if (m_DeviceStateChanged->GetState() == DeviceState::DeviceStatePlaying) + { + hr = GetToneSample( FramesAvailable ); + } + } + +exit: + + if (AUDCLNT_E_RESOURCES_INVALIDATED == hr) + { + m_DeviceStateChanged->SetState( DeviceState::DeviceStateUnInitialized, hr, false ); + + hr = InitializeAudioDeviceAsync(); + } + + return hr; +} + +// +// GetToneSample() +// +// Fills buffer with a tone sample +// +HRESULT WASAPIRenderer::GetToneSample( unsigned int FramesAvailable ) +{ + HRESULT hr = S_OK; + BYTE *Data; + + // Post-Roll Silence + if (m_ToneSource->IsEOF()) + { + hr = m_AudioRenderClient->GetBuffer( FramesAvailable, &Data ); + if (SUCCEEDED( hr )) + { + // Ignore the return + hr = m_AudioRenderClient->ReleaseBuffer( FramesAvailable, AUDCLNT_BUFFERFLAGS_SILENT ); + } + + StopPlaybackAsync(); + } + else if (m_ToneSource->GetBufferLength() <= ( FramesAvailable * m_MixFormat->nBlockAlign )) + { + UINT32 ActualFramesToRead = m_ToneSource->GetBufferLength() / m_MixFormat->nBlockAlign; + UINT32 ActualBytesToRead = ActualFramesToRead * m_MixFormat->nBlockAlign; + + hr = m_AudioRenderClient->GetBuffer( ActualFramesToRead, &Data ); + if (SUCCEEDED( hr )) + { + hr = m_ToneSource->FillSampleBuffer( ActualBytesToRead, Data ); + if (SUCCEEDED( hr )) + { + hr = m_AudioRenderClient->ReleaseBuffer( ActualFramesToRead, 0 ); + } + } + } + + return hr; +} + + diff --git a/Samples/Audio/SimpleWASAPIPlaySoundUWP/WASAPIRenderer.h b/Samples/Audio/SimpleWASAPIPlaySoundUWP/WASAPIRenderer.h new file mode 100644 index 00000000..4249e75a --- /dev/null +++ b/Samples/Audio/SimpleWASAPIPlaySoundUWP/WASAPIRenderer.h @@ -0,0 +1,93 @@ +//-------------------------------------------------------------------------------------- +// WASAPIRenderer.h +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#include +#include +#include +#include +#include +#include + +#include "DeviceState.h" +#include "common.h" +#include "ToneSampleGenerator.h" + + + +#pragma once + // User Configurable Arguments for Scenario + struct DEVICEPROPS + { + bool IsHWOffload; + bool IsBackground; + bool IsRawSupported; + bool IsRawChosen; + REFERENCE_TIME hnsBufferDuration; + unsigned long Frequency; + }; + + // Primary WASAPI Renderering Class + class WASAPIRenderer : + public Microsoft::WRL::RuntimeClass< Microsoft::WRL::RuntimeClassFlags< Microsoft::WRL::ClassicCom >, Microsoft::WRL::FtmBase, IActivateAudioInterfaceCompletionHandler > + { + public: + WASAPIRenderer(); + + HRESULT SetProperties( DEVICEPROPS props ); + HRESULT InitializeAudioDeviceAsync(); + HRESULT StartPlaybackAsync(); + HRESULT StopPlaybackAsync(); + HRESULT PausePlaybackAsync(); + + HRESULT SetVolumeOnSession( unsigned int volume ); + DeviceStateChangedEvent^ GetDeviceStateEvent() { return m_DeviceStateChanged; }; + + METHODASYNCCALLBACK( WASAPIRenderer, StartPlayback, OnStartPlayback ); + METHODASYNCCALLBACK( WASAPIRenderer, StopPlayback, OnStopPlayback ); + METHODASYNCCALLBACK( WASAPIRenderer, PausePlayback, OnPausePlayback ); + METHODASYNCCALLBACK( WASAPIRenderer, SampleReady, OnSampleReady ); + + // IActivateAudioInterfaceCompletionHandler + STDMETHOD(ActivateCompleted)( IActivateAudioInterfaceAsyncOperation *operation ); + + private: + ~WASAPIRenderer(); + + HRESULT OnStartPlayback( IMFAsyncResult* pResult ); + HRESULT OnStopPlayback( IMFAsyncResult* pResult ); + HRESULT OnPausePlayback( IMFAsyncResult* pResult ); + HRESULT OnSampleReady( IMFAsyncResult* pResult ); + + HRESULT ConfigureDeviceInternal(); + HRESULT ValidateBufferValue(); + HRESULT OnAudioSampleRequested( bool IsSilence = false ); + HRESULT ConfigureSource(); + UINT32 GetBufferFramesPerPeriod(); + + HRESULT GetToneSample( unsigned int FramesAvailable ); + + private: + Platform::String^ m_DeviceIdString; + unsigned int m_BufferFrames; + HANDLE m_SampleReadyEvent; + MFWORKITEM_KEY m_SampleReadyKey; + std::mutex m_mutex; + + WAVEFORMATEX *m_MixFormat; + + Microsoft::WRL::ComPtr m_AudioClient; + Microsoft::WRL::ComPtr m_AudioRenderClient; + Microsoft::WRL::ComPtr m_SampleReadyAsyncResult; + + DeviceStateChangedEvent^ m_DeviceStateChanged; + DEVICEPROPS m_DeviceProps; + + std::unique_ptr m_ToneSource; + }; + + + diff --git a/Samples/Audio/SimpleWASAPIPlaySoundUWP/common.h b/Samples/Audio/SimpleWASAPIPlaySoundUWP/common.h new file mode 100644 index 00000000..c19284c7 --- /dev/null +++ b/Samples/Audio/SimpleWASAPIPlaySoundUWP/common.h @@ -0,0 +1,163 @@ +///-------------------------------------------------------------------------------------- + +// Common.h +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#pragma once +#include +#include +#include +#include + +// release and zero out a possible NULL pointer. note this will +// do the release on a temp copy to avoid reentrancy issues that can result from +// callbacks durring the release +template void SafeRelease( __deref_inout_opt T **ppT ) +{ + T *pTTemp = *ppT; // temp copy + *ppT = nullptr; // zero the input + if (pTTemp) + { + pTTemp->Release(); + } +} + +#ifndef SAFE_DELETE +#define SAFE_DELETE(x) { delete x; x = nullptr; } +#endif + +#ifndef SAFE_ARRAYDELETE +#define SAFE_ARRAYDELETE(x) { delete[] x; x = nullptr; } +#endif + +#ifndef METHODASYNCCALLBACK +#define METHODASYNCCALLBACK(Parent, AsyncCallback, pfnCallback) \ +class Callback##AsyncCallback :\ + public IMFAsyncCallback \ +{ \ +public: \ + Callback##AsyncCallback() : \ + _parent(((Parent*)((BYTE*)this - offsetof(Parent, m_x##AsyncCallback)))), \ + _dwQueueID( MFASYNC_CALLBACK_QUEUE_MULTITHREADED ) \ + { \ + } \ +\ + STDMETHOD_( ULONG, AddRef )() \ + { \ + return _parent->AddRef(); \ + } \ + STDMETHOD_( ULONG, Release )() \ + { \ + return _parent->Release(); \ + } \ + STDMETHOD( QueryInterface )( REFIID riid, void **ppvObject ) \ + { \ + if (riid == IID_IMFAsyncCallback || riid == IID_IUnknown) \ + { \ + (*ppvObject) = this; \ + AddRef(); \ + return S_OK; \ + } \ + *ppvObject = NULL; \ + return E_NOINTERFACE; \ + } \ + STDMETHOD( GetParameters )( \ + /* [out] */ __RPC__out DWORD *pdwFlags, \ + /* [out] */ __RPC__out DWORD *pdwQueue) \ + { \ + *pdwFlags = 0; \ + *pdwQueue = _dwQueueID; \ + return S_OK; \ + } \ + STDMETHOD( Invoke )( /* [out] */ __RPC__out IMFAsyncResult * pResult ) \ + { \ + _parent->pfnCallback( pResult ); \ + return S_OK; \ + } \ + void SetQueueID( DWORD dwQueueID ) { _dwQueueID = dwQueueID; } \ +\ +protected: \ + Parent* _parent; \ + DWORD _dwQueueID; \ + \ +} m_x##AsyncCallback; +#endif + +// +// CAsyncState +// +// Used to maintain state during MF Work Item callbacks +class CAsyncState : + public Microsoft::WRL::RuntimeClass, IUnknown> +{ +public: + CAsyncState( Platform::Array^ data, UINT32 size ) : + m_Data(data), + m_Size(size) + { + }; + +public: + Platform::Array^ m_Data; + UINT32 m_Size; + +private: + virtual ~CAsyncState() {}; +}; + +struct RenderBuffer +{ + UINT32 BufferSize; + UINT32 BytesFilled; + BYTE *Buffer; + RenderBuffer *Next; + + RenderBuffer() : + BufferSize(0), + BytesFilled(0), + Buffer( nullptr ), + Next( nullptr ) + { + } + + ~RenderBuffer() + { + SAFE_ARRAYDELETE( Buffer ); + } +}; + +enum RenderSampleType +{ + SampleTypeUnknown, + SampleTypeFloat, + SampleType16BitPCM, +}; + +// +// CalculateMixFormatType() +// +// Determine IEEE Float or PCM samples based on media type +// +inline RenderSampleType CalculateMixFormatType( WAVEFORMATEX *wfx ) +{ + if ( (wfx->wFormatTag == WAVE_FORMAT_PCM) || + ( (wfx->wFormatTag == WAVE_FORMAT_EXTENSIBLE) && + (reinterpret_cast(wfx)->SubFormat == KSDATAFORMAT_SUBTYPE_PCM) ) ) + { + if (wfx->wBitsPerSample == 16) + { + return RenderSampleType::SampleType16BitPCM; + } + } + else if ( (wfx->wFormatTag == WAVE_FORMAT_IEEE_FLOAT) || + ( (wfx->wFormatTag == WAVE_FORMAT_EXTENSIBLE) && + (reinterpret_cast(wfx)->SubFormat == KSDATAFORMAT_SUBTYPE_IEEE_FLOAT) ) ) + { + return RenderSampleType::SampleTypeFloat; + } + + return RenderSampleType::SampleTypeUnknown; +} diff --git a/Samples/Graphics/SimpleTextureUWP12/pch.cpp b/Samples/Audio/SimpleWASAPIPlaySoundUWP/pch.cpp similarity index 100% rename from Samples/Graphics/SimpleTextureUWP12/pch.cpp rename to Samples/Audio/SimpleWASAPIPlaySoundUWP/pch.cpp diff --git a/Samples/Audio/SimpleWASAPIPlaySoundUWP/pch.h b/Samples/Audio/SimpleWASAPIPlaySoundUWP/pch.h new file mode 100644 index 00000000..5cafcc19 --- /dev/null +++ b/Samples/Audio/SimpleWASAPIPlaySoundUWP/pch.h @@ -0,0 +1,78 @@ +//-------------------------------------------------------------------------------------- +// pch.h +// +// Header for standard system include files. +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#pragma once +#include "Common.h" + +#define _USE_MATH_DEFINES +#include + +#include +#include +#include + +// Use the C++ standard templated min/max +#define NOMINMAX + +#include + +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include +#include + +#ifdef _DEBUG +#include +#endif + +#include "DDSTextureLoader.h" +#include "GamePad.h" +#include "Keyboard.h" +#include "Mouse.h" +#include "SimpleMath.h" +#include "SpriteBatch.h" +#include "SpriteFont.h" + +namespace DX +{ + // Helper class for COM exceptions + class com_exception : public std::exception + { + public: + com_exception(HRESULT hr) : result(hr) {} + + virtual const char* what() const override + { + static char s_str[64] = { 0 }; + sprintf_s(s_str, "Failure with HRESULT of %08X", result); + return s_str; + } + + private: + HRESULT result; + }; + + // Helper utility converts D3D API failures into exceptions. + inline void ThrowIfFailed(HRESULT hr) + { + if (FAILED(hr)) + { + throw com_exception(hr); + } + } +} \ No newline at end of file diff --git a/Samples/Graphics/SimpleTriangleUWP/Assets/Logo.png b/Samples/IntroGraphics/DirectXTKSimpleSampleUWP/Assets/Logo.png similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP/Assets/Logo.png rename to Samples/IntroGraphics/DirectXTKSimpleSampleUWP/Assets/Logo.png diff --git a/Samples/Graphics/SimpleTriangleUWP/Assets/SmallLogo.png b/Samples/IntroGraphics/DirectXTKSimpleSampleUWP/Assets/SmallLogo.png similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP/Assets/SmallLogo.png rename to Samples/IntroGraphics/DirectXTKSimpleSampleUWP/Assets/SmallLogo.png diff --git a/Samples/Graphics/SimpleTriangleUWP/Assets/SplashScreen.png b/Samples/IntroGraphics/DirectXTKSimpleSampleUWP/Assets/SplashScreen.png similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP/Assets/SplashScreen.png rename to Samples/IntroGraphics/DirectXTKSimpleSampleUWP/Assets/SplashScreen.png diff --git a/Samples/Graphics/SimpleTriangleUWP/Assets/StoreLogo.png b/Samples/IntroGraphics/DirectXTKSimpleSampleUWP/Assets/StoreLogo.png similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP/Assets/StoreLogo.png rename to Samples/IntroGraphics/DirectXTKSimpleSampleUWP/Assets/StoreLogo.png diff --git a/Samples/Graphics/SimpleTriangleUWP/Assets/WideLogo.png b/Samples/IntroGraphics/DirectXTKSimpleSampleUWP/Assets/WideLogo.png similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP/Assets/WideLogo.png rename to Samples/IntroGraphics/DirectXTKSimpleSampleUWP/Assets/WideLogo.png diff --git a/Samples/Graphics/DirectXTKSimpleSampleUWP/Assets/seafloor.dds b/Samples/IntroGraphics/DirectXTKSimpleSampleUWP/Assets/seafloor.dds similarity index 100% rename from Samples/Graphics/DirectXTKSimpleSampleUWP/Assets/seafloor.dds rename to Samples/IntroGraphics/DirectXTKSimpleSampleUWP/Assets/seafloor.dds diff --git a/Samples/Graphics/DirectXTKSimpleSampleUWP/Assets/windowslogo.dds b/Samples/IntroGraphics/DirectXTKSimpleSampleUWP/Assets/windowslogo.dds similarity index 100% rename from Samples/Graphics/DirectXTKSimpleSampleUWP/Assets/windowslogo.dds rename to Samples/IntroGraphics/DirectXTKSimpleSampleUWP/Assets/windowslogo.dds diff --git a/Samples/IntroGraphics/DirectXTKSimpleSampleUWP/DeviceResources.cpp b/Samples/IntroGraphics/DirectXTKSimpleSampleUWP/DeviceResources.cpp new file mode 100644 index 00000000..d549f821 --- /dev/null +++ b/Samples/IntroGraphics/DirectXTKSimpleSampleUWP/DeviceResources.cpp @@ -0,0 +1,592 @@ +// +// DeviceResources.cpp - A wrapper for the Direct3D 11 device and swapchain +// (requires DirectX 11.3 Runtime) +// + + +#include "pch.h" +#include "DeviceResources.h" + +using namespace DirectX; + +using Microsoft::WRL::ComPtr; + +namespace +{ +#if defined(_DEBUG) + // Check for SDK Layer support. + inline bool SdkLayersAvailable() + { + HRESULT hr = D3D11CreateDevice( + nullptr, + D3D_DRIVER_TYPE_NULL, // There is no need to create a real hardware device. + 0, + D3D11_CREATE_DEVICE_DEBUG, // Check for the SDK layers. + nullptr, // Any feature level will do. + 0, + D3D11_SDK_VERSION, + nullptr, // No need to keep the D3D device reference. + nullptr, // No need to know the feature level. + nullptr // No need to keep the D3D device context reference. + ); + + return SUCCEEDED(hr); + } +#endif + + inline DXGI_FORMAT NoSRGB(DXGI_FORMAT fmt) + { + switch (fmt) + { + case DXGI_FORMAT_R8G8B8A8_UNORM_SRGB: return DXGI_FORMAT_R8G8B8A8_UNORM; + case DXGI_FORMAT_B8G8R8A8_UNORM_SRGB: return DXGI_FORMAT_B8G8R8A8_UNORM; + case DXGI_FORMAT_B8G8R8X8_UNORM_SRGB: return DXGI_FORMAT_B8G8R8X8_UNORM; + default: return fmt; + } + } +}; + +// Constants used to calculate screen rotations +namespace ScreenRotation +{ + // 0-degree Z-rotation + static const XMFLOAT4X4 Rotation0( + 1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 1.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f + ); + + // 90-degree Z-rotation + static const XMFLOAT4X4 Rotation90( + 0.0f, 1.0f, 0.0f, 0.0f, + -1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f + ); + + // 180-degree Z-rotation + static const XMFLOAT4X4 Rotation180( + -1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, -1.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f + ); + + // 270-degree Z-rotation + static const XMFLOAT4X4 Rotation270( + 0.0f, -1.0f, 0.0f, 0.0f, + 1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f + ); +}; + +// Constructor for DeviceResources. +DX::DeviceResources::DeviceResources(DXGI_FORMAT backBufferFormat, DXGI_FORMAT depthBufferFormat, UINT backBufferCount, D3D_FEATURE_LEVEL minFeatureLevel) : + m_screenViewport{}, + m_backBufferFormat(backBufferFormat), + m_depthBufferFormat(depthBufferFormat), + m_backBufferCount(backBufferCount), + m_d3dMinFeatureLevel(minFeatureLevel), + m_window(nullptr), + m_d3dFeatureLevel(D3D_FEATURE_LEVEL_9_1), + m_rotation(DXGI_MODE_ROTATION_IDENTITY), + m_outputSize{0, 0, 1, 1}, + m_orientationTransform3D(ScreenRotation::Rotation0), + m_deviceNotify(nullptr) +{ +} + +// Configures the Direct3D device, and stores handles to it and the device context. +void DX::DeviceResources::CreateDeviceResources() +{ + UINT creationFlags = D3D11_CREATE_DEVICE_BGRA_SUPPORT; + +#if defined(_DEBUG) + if (SdkLayersAvailable()) + { + // If the project is in a debug build, enable debugging via SDK Layers with this flag. + creationFlags |= D3D11_CREATE_DEVICE_DEBUG; + } + else + { + OutputDebugStringA("WARNING: Direct3D Debug Device is not available\n"); + } +#endif + + // Determine DirectX hardware feature levels this app will support. + static const D3D_FEATURE_LEVEL s_featureLevels[] = + { + D3D_FEATURE_LEVEL_12_1, + D3D_FEATURE_LEVEL_12_0, + D3D_FEATURE_LEVEL_11_1, + D3D_FEATURE_LEVEL_11_0, + D3D_FEATURE_LEVEL_10_1, + D3D_FEATURE_LEVEL_10_0, + D3D_FEATURE_LEVEL_9_3, + D3D_FEATURE_LEVEL_9_2, + D3D_FEATURE_LEVEL_9_1, + }; + + UINT featLevelCount = 0; + for (; featLevelCount < _countof(s_featureLevels); ++featLevelCount) + { + if (s_featureLevels[featLevelCount] < m_d3dMinFeatureLevel) + break; + } + + if (!featLevelCount) + { + throw std::out_of_range("minFeatureLevel too high"); + } + + ComPtr adapter; + GetHardwareAdapter(adapter.GetAddressOf()); + + // Create the Direct3D 11 API device object and a corresponding context. + ComPtr device; + ComPtr context; + + HRESULT hr = E_FAIL; + if (adapter) + { + hr = D3D11CreateDevice( + adapter.Get(), + D3D_DRIVER_TYPE_UNKNOWN, + 0, + creationFlags, // Set debug and Direct2D compatibility flags. + s_featureLevels, + featLevelCount, + D3D11_SDK_VERSION, + device.GetAddressOf(), // Returns the Direct3D device created. + &m_d3dFeatureLevel, // Returns feature level of device created. + context.GetAddressOf() // Returns the device immediate context. + ); + } +#if defined(NDEBUG) + else + { + throw std::exception("No Direct3D hardware device found"); + } +#else + if (FAILED(hr)) + { + // If the initialization fails, fall back to the WARP device. + // For more information on WARP, see: + // http://go.microsoft.com/fwlink/?LinkId=286690 + hr = D3D11CreateDevice( + nullptr, + D3D_DRIVER_TYPE_WARP, // Create a WARP device instead of a hardware device. + 0, + creationFlags, + s_featureLevels, + featLevelCount, + D3D11_SDK_VERSION, + device.GetAddressOf(), + &m_d3dFeatureLevel, + context.GetAddressOf() + ); + + if (SUCCEEDED(hr)) + { + OutputDebugStringA("Direct3D Adapter - WARP\n"); + } + } +#endif + + DX::ThrowIfFailed(hr); + +#ifndef NDEBUG + ComPtr d3dDebug; + if (SUCCEEDED(device.As(&d3dDebug))) + { + ComPtr d3dInfoQueue; + if (SUCCEEDED(d3dDebug.As(&d3dInfoQueue))) + { +#ifdef _DEBUG + d3dInfoQueue->SetBreakOnSeverity(D3D11_MESSAGE_SEVERITY_CORRUPTION, true); + d3dInfoQueue->SetBreakOnSeverity(D3D11_MESSAGE_SEVERITY_ERROR, true); +#endif + D3D11_MESSAGE_ID hide[] = + { + D3D11_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS, + }; + D3D11_INFO_QUEUE_FILTER filter = {}; + filter.DenyList.NumIDs = _countof(hide); + filter.DenyList.pIDList = hide; + d3dInfoQueue->AddStorageFilterEntries(&filter); + } + } +#endif + + DX::ThrowIfFailed(device.As(&m_d3dDevice)); + DX::ThrowIfFailed(context.As(&m_d3dContext)); +} + +// These resources need to be recreated every time the window size is changed. +void DX::DeviceResources::CreateWindowSizeDependentResources() +{ + if (!m_window) + { + throw std::exception("Call SetWindow with a valid CoreWindow pointer"); + } + + // Clear the previous window size specific context. + ID3D11RenderTargetView* nullViews[] = {nullptr}; + m_d3dContext->OMSetRenderTargets(_countof(nullViews), nullViews, nullptr); + m_d3dRenderTargetView.Reset(); + m_d3dDepthStencilView.Reset(); + m_d3dContext->Flush(); + + // Determine the render target size in pixels. + UINT backBufferWidth = std::max(m_outputSize.right - m_outputSize.left, 1); + UINT backBufferHeight = std::max(m_outputSize.bottom - m_outputSize.top, 1); + DXGI_FORMAT backBufferFormat = NoSRGB(m_backBufferFormat); + + if (m_swapChain) + { + // If the swap chain already exists, resize it. + HRESULT hr = m_swapChain->ResizeBuffers( + m_backBufferCount, + backBufferWidth, + backBufferHeight, + backBufferFormat, + 0 + ); + + if (hr == DXGI_ERROR_DEVICE_REMOVED || hr == DXGI_ERROR_DEVICE_RESET) + { +#ifdef _DEBUG + char buff[64] = {}; + sprintf_s(buff, "Device Lost on ResizeBuffers: Reason code 0x%08X\n", (hr == DXGI_ERROR_DEVICE_REMOVED) ? m_d3dDevice->GetDeviceRemovedReason() : hr); + OutputDebugStringA(buff); +#endif + // If the device was removed for any reason, a new device and swap chain will need to be created. + HandleDeviceLost(); + + // Everything is set up now. Do not continue execution of this method. HandleDeviceLost will reenter this method + // and correctly set up the new device. + return; + } + else + { + DX::ThrowIfFailed(hr); + } + } + else + { + // Otherwise, create a new one using the same adapter as the existing Direct3D device. + + // This sequence obtains the DXGI factory that was used to create the Direct3D device above. + ComPtr dxgiDevice; + DX::ThrowIfFailed(m_d3dDevice.As(&dxgiDevice)); + + ComPtr dxgiAdapter; + DX::ThrowIfFailed(dxgiDevice->GetAdapter(dxgiAdapter.GetAddressOf())); + + ComPtr dxgiFactory; + DX::ThrowIfFailed(dxgiAdapter->GetParent(IID_PPV_ARGS(dxgiFactory.GetAddressOf()))); + + DXGI_SWAP_CHAIN_DESC1 swapChainDesc = {}; + swapChainDesc.Width = backBufferWidth; + swapChainDesc.Height = backBufferHeight; + swapChainDesc.Format = backBufferFormat; + swapChainDesc.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT; + swapChainDesc.BufferCount = m_backBufferCount; + swapChainDesc.SampleDesc.Count = 1; + swapChainDesc.SampleDesc.Quality = 0; + swapChainDesc.Scaling = DXGI_SCALING_ASPECT_RATIO_STRETCH; + swapChainDesc.SwapEffect = DXGI_SWAP_EFFECT_FLIP_DISCARD; + swapChainDesc.AlphaMode = DXGI_ALPHA_MODE_IGNORE; + + ComPtr swapChain; + DX::ThrowIfFailed(dxgiFactory->CreateSwapChainForCoreWindow( + m_d3dDevice.Get(), + m_window, + &swapChainDesc, + nullptr, + swapChain.GetAddressOf() + )); + + DX::ThrowIfFailed(swapChain.As(&m_swapChain)); + + // Ensure that DXGI does not queue more than one frame at a time. This both reduces latency and + // ensures that the application will only render after each VSync, minimizing power consumption. + DX::ThrowIfFailed(dxgiDevice->SetMaximumFrameLatency(1)); + } + + // Set the proper orientation for the swap chain, and generate + // matrix transformations for rendering to the rotated swap chain. + switch (m_rotation) + { + default: + case DXGI_MODE_ROTATION_IDENTITY: + m_orientationTransform3D = ScreenRotation::Rotation0; + break; + + case DXGI_MODE_ROTATION_ROTATE90: + m_orientationTransform3D = ScreenRotation::Rotation270; + break; + + case DXGI_MODE_ROTATION_ROTATE180: + m_orientationTransform3D = ScreenRotation::Rotation180; + break; + + case DXGI_MODE_ROTATION_ROTATE270: + m_orientationTransform3D = ScreenRotation::Rotation90; + break; + } + + DX::ThrowIfFailed(m_swapChain->SetRotation(m_rotation)); + + // Create a render target view of the swap chain back buffer. + ComPtr backBuffer; + DX::ThrowIfFailed(m_swapChain->GetBuffer(0, IID_PPV_ARGS(backBuffer.GetAddressOf()))); + + CD3D11_RENDER_TARGET_VIEW_DESC renderTargetViewDesc(D3D11_RTV_DIMENSION_TEXTURE2D, m_backBufferFormat); + DX::ThrowIfFailed(m_d3dDevice->CreateRenderTargetView( + backBuffer.Get(), + &renderTargetViewDesc, + m_d3dRenderTargetView.ReleaseAndGetAddressOf() + )); + + if (m_depthBufferFormat != DXGI_FORMAT_UNKNOWN) + { + // Create a depth stencil view for use with 3D rendering if needed. + CD3D11_TEXTURE2D_DESC depthStencilDesc( + m_depthBufferFormat, + backBufferWidth, + backBufferHeight, + 1, // This depth stencil view has only one texture. + 1, // Use a single mipmap level. + D3D11_BIND_DEPTH_STENCIL + ); + + ComPtr depthStencil; + DX::ThrowIfFailed(m_d3dDevice->CreateTexture2D( + &depthStencilDesc, + nullptr, + depthStencil.GetAddressOf() + )); + + CD3D11_DEPTH_STENCIL_VIEW_DESC depthStencilViewDesc(D3D11_DSV_DIMENSION_TEXTURE2D); + DX::ThrowIfFailed(m_d3dDevice->CreateDepthStencilView( + depthStencil.Get(), + &depthStencilViewDesc, + m_d3dDepthStencilView.ReleaseAndGetAddressOf() + )); + } + + // Set the 3D rendering viewport to target the entire window. + m_screenViewport = CD3D11_VIEWPORT( + 0.0f, + 0.0f, + static_cast(backBufferWidth), + static_cast(backBufferHeight) + ); +} + +// This method is called when the CoreWindow is created (or re-created). +void DX::DeviceResources::SetWindow(IUnknown* window, int width, int height, DXGI_MODE_ROTATION rotation) +{ + m_window = window; + + m_outputSize.left = m_outputSize.top = 0; + m_outputSize.right = width; + m_outputSize.bottom = height; + + m_rotation = rotation; +} + +// This method is called when the window changes size +bool DX::DeviceResources::WindowSizeChanged(int width, int height, DXGI_MODE_ROTATION rotation) +{ + RECT newRc; + newRc.left = newRc.top = 0; + newRc.right = width; + newRc.bottom = height; + if (newRc == m_outputSize && rotation == m_rotation) + { + return false; + } + + m_outputSize = newRc; + m_rotation = rotation; + CreateWindowSizeDependentResources(); + return true; +} + +// This method is called in the event handler for the DisplayContentsInvalidated event. +void DX::DeviceResources::ValidateDevice() +{ + // The D3D Device is no longer valid if the default adapter changed since the device + // was created or if the device has been removed. + + DXGI_ADAPTER_DESC previousDesc; + { + ComPtr dxgiDevice; + DX::ThrowIfFailed(m_d3dDevice.As(&dxgiDevice)); + + ComPtr deviceAdapter; + DX::ThrowIfFailed(dxgiDevice->GetAdapter(deviceAdapter.GetAddressOf())); + + ComPtr deviceFactory; + DX::ThrowIfFailed(deviceAdapter->GetParent(IID_PPV_ARGS(deviceFactory.GetAddressOf()))); + + ComPtr previousDefaultAdapter; + DX::ThrowIfFailed(deviceFactory->EnumAdapters1(0, previousDefaultAdapter.GetAddressOf())); + + DX::ThrowIfFailed(previousDefaultAdapter->GetDesc(&previousDesc)); + } + + DXGI_ADAPTER_DESC currentDesc; + { + ComPtr currentFactory; + DX::ThrowIfFailed(CreateDXGIFactory1(IID_PPV_ARGS(currentFactory.GetAddressOf()))); + + ComPtr currentDefaultAdapter; + DX::ThrowIfFailed(currentFactory->EnumAdapters1(0, currentDefaultAdapter.GetAddressOf())); + + DX::ThrowIfFailed(currentDefaultAdapter->GetDesc(¤tDesc)); + } + + // If the adapter LUIDs don't match, or if the device reports that it has been removed, + // a new D3D device must be created. + + if (previousDesc.AdapterLuid.LowPart != currentDesc.AdapterLuid.LowPart + || previousDesc.AdapterLuid.HighPart != currentDesc.AdapterLuid.HighPart + || FAILED(m_d3dDevice->GetDeviceRemovedReason())) + { +#ifdef _DEBUG + OutputDebugStringA("Device Lost on ValidateDevice\n"); +#endif + + // Create a new device and swap chain. + HandleDeviceLost(); + } +} + +// Recreate all device resources and set them back to the current state. +void DX::DeviceResources::HandleDeviceLost() +{ + if (m_deviceNotify) + { + m_deviceNotify->OnDeviceLost(); + } + + m_d3dDepthStencilView.Reset(); + m_d3dRenderTargetView.Reset(); + m_swapChain.Reset(); + m_d3dContext.Reset(); + m_d3dDevice.Reset(); + +#ifdef _DEBUG + { + ComPtr dxgiDebug; + if (SUCCEEDED(DXGIGetDebugInterface1(0, IID_PPV_ARGS(&dxgiDebug)))) + { + dxgiDebug->ReportLiveObjects(DXGI_DEBUG_ALL, DXGI_DEBUG_RLO_FLAGS(DXGI_DEBUG_RLO_SUMMARY | DXGI_DEBUG_RLO_IGNORE_INTERNAL)); + } + } +#endif + + CreateDeviceResources(); + CreateWindowSizeDependentResources(); + + if (m_deviceNotify) + { + m_deviceNotify->OnDeviceRestored(); + } +} + +// Call this method when the app suspends. It provides a hint to the driver that the app +// is entering an idle state and that temporary buffers can be reclaimed for use by other apps. +void DX::DeviceResources::Trim() +{ + ComPtr dxgiDevice; + if (SUCCEEDED(m_d3dDevice.As(&dxgiDevice))) + { + dxgiDevice->Trim(); + } +} + +// Present the contents of the swap chain to the screen. +void DX::DeviceResources::Present() +{ + // The first argument instructs DXGI to block until VSync, putting the application + // to sleep until the next VSync. This ensures we don't waste any cycles rendering + // frames that will never be displayed to the screen. + HRESULT hr = m_swapChain->Present(1, 0); + + // Discard the contents of the render target. + // This is a valid operation only when the existing contents will be entirely + // overwritten. If dirty or scroll rects are used, this call should be removed. + m_d3dContext->DiscardView(m_d3dRenderTargetView.Get()); + + if (m_d3dDepthStencilView) + { + // Discard the contents of the depth stencil. + m_d3dContext->DiscardView(m_d3dDepthStencilView.Get()); + } + + // If the device was removed either by a disconnection or a driver upgrade, we + // must recreate all device resources. + if (hr == DXGI_ERROR_DEVICE_REMOVED || hr == DXGI_ERROR_DEVICE_RESET) + { +#ifdef _DEBUG + char buff[64] = {}; + sprintf_s(buff, "Device Lost on Present: Reason code 0x%08X\n", (hr == DXGI_ERROR_DEVICE_REMOVED) ? m_d3dDevice->GetDeviceRemovedReason() : hr); + OutputDebugStringA(buff); +#endif + HandleDeviceLost(); + } + else + { + DX::ThrowIfFailed(hr); + } +} + +// This method acquires the first available hardware adapter. +// If no such adapter can be found, *ppAdapter will be set to nullptr. +void DX::DeviceResources::GetHardwareAdapter(IDXGIAdapter1** ppAdapter) +{ + *ppAdapter = nullptr; + + ComPtr dxgiFactory; +#ifdef _DEBUG + UINT creationFlags = 0; + + if (SdkLayersAvailable()) + { + creationFlags |= DXGI_CREATE_FACTORY_DEBUG; + } + + DX::ThrowIfFailed(CreateDXGIFactory2(creationFlags, IID_PPV_ARGS(dxgiFactory.GetAddressOf()))); +#else + DX::ThrowIfFailed(CreateDXGIFactory1(IID_PPV_ARGS(dxgiFactory.GetAddressOf()))); +#endif + + ComPtr adapter; + for (UINT adapterIndex = 0; DXGI_ERROR_NOT_FOUND != dxgiFactory->EnumAdapters1(adapterIndex, adapter.ReleaseAndGetAddressOf()); adapterIndex++) + { + DXGI_ADAPTER_DESC1 desc; + adapter->GetDesc1(&desc); + + if (desc.Flags & DXGI_ADAPTER_FLAG_SOFTWARE) + { + // Don't select the Basic Render Driver adapter. + continue; + } + +#ifdef _DEBUG + wchar_t buff[256] = {}; + swprintf_s(buff, L"Direct3D Adapter (%u): VID:%04X, PID:%04X - %ls\n", adapterIndex, desc.VendorId, desc.DeviceId, desc.Description); + OutputDebugStringW(buff); +#endif + + break; + } + + *ppAdapter = adapter.Detach(); +} \ No newline at end of file diff --git a/Samples/IntroGraphics/DirectXTKSimpleSampleUWP/DeviceResources.h b/Samples/IntroGraphics/DirectXTKSimpleSampleUWP/DeviceResources.h new file mode 100644 index 00000000..1da562ca --- /dev/null +++ b/Samples/IntroGraphics/DirectXTKSimpleSampleUWP/DeviceResources.h @@ -0,0 +1,83 @@ +// +// DeviceResources.h - A wrapper for the Direct3D 11 device and swapchain +// + +#pragma once + +namespace DX +{ + // Provides an interface for an application that owns DeviceResources to be notified of the device being lost or created. + interface IDeviceNotify + { + virtual void OnDeviceLost() = 0; + virtual void OnDeviceRestored() = 0; + }; + + // Controls all the DirectX device resources. + class DeviceResources + { + public: + DeviceResources(DXGI_FORMAT backBufferFormat = DXGI_FORMAT_B8G8R8A8_UNORM, + DXGI_FORMAT depthBufferFormat = DXGI_FORMAT_D24_UNORM_S8_UINT, + UINT backBufferCount = 2, + D3D_FEATURE_LEVEL minFeatureLevel = D3D_FEATURE_LEVEL_9_3); + + void CreateDeviceResources(); + void CreateWindowSizeDependentResources(); + void SetWindow(IUnknown* window, int width, int height, DXGI_MODE_ROTATION rotation); + bool WindowSizeChanged(int width, int height, DXGI_MODE_ROTATION rotation); + void ValidateDevice(); + void HandleDeviceLost(); + void RegisterDeviceNotify(IDeviceNotify* deviceNotify) { m_deviceNotify = deviceNotify; } + void Trim(); + void Present(); + + // Device Accessors. + RECT GetOutputSize() const { return m_outputSize; } + DXGI_MODE_ROTATION GetRotation() const { return m_rotation; } + + // Direct3D Accessors. + ID3D11Device2* GetD3DDevice() const { return m_d3dDevice.Get(); } + ID3D11DeviceContext2* GetD3DDeviceContext() const { return m_d3dContext.Get(); } + IDXGISwapChain3* GetSwapChain() const { return m_swapChain.Get(); } + D3D_FEATURE_LEVEL GetDeviceFeatureLevel() const { return m_d3dFeatureLevel; } + ID3D11RenderTargetView* GetBackBufferRenderTargetView() const { return m_d3dRenderTargetView.Get(); } + ID3D11DepthStencilView* GetDepthStencilView() const { return m_d3dDepthStencilView.Get(); } + DXGI_FORMAT GetBackBufferFormat() const { return m_backBufferFormat; } + DXGI_FORMAT GetDepthBufferFormat() const { return m_depthBufferFormat; } + D3D11_VIEWPORT GetScreenViewport() const { return m_screenViewport; } + UINT GetBackBufferCount() const { return m_backBufferCount; } + DirectX::XMFLOAT4X4 GetOrientationTransform3D() const { return m_orientationTransform3D; } + + private: + void GetHardwareAdapter(IDXGIAdapter1** ppAdapter); + + // Direct3D objects. + Microsoft::WRL::ComPtr m_d3dDevice; + Microsoft::WRL::ComPtr m_d3dContext; + Microsoft::WRL::ComPtr m_swapChain; + + // Direct3D rendering objects. Required for 3D. + Microsoft::WRL::ComPtr m_d3dRenderTargetView; + Microsoft::WRL::ComPtr m_d3dDepthStencilView; + D3D11_VIEWPORT m_screenViewport; + + // Direct3D properties. + DXGI_FORMAT m_backBufferFormat; + DXGI_FORMAT m_depthBufferFormat; + UINT m_backBufferCount; + D3D_FEATURE_LEVEL m_d3dMinFeatureLevel; + + // Cached device properties. + IUnknown* m_window; + D3D_FEATURE_LEVEL m_d3dFeatureLevel; + DXGI_MODE_ROTATION m_rotation; + RECT m_outputSize; + + // Transforms used for display orientation. + DirectX::XMFLOAT4X4 m_orientationTransform3D; + + // The IDeviceNotify can be held directly as it owns the DeviceResources. + IDeviceNotify* m_deviceNotify; + }; +} \ No newline at end of file diff --git a/Samples/Graphics/DirectXTKSimpleSampleUWP/DirectXTKSimpleSample.cpp b/Samples/IntroGraphics/DirectXTKSimpleSampleUWP/DirectXTKSimpleSample.cpp similarity index 100% rename from Samples/Graphics/DirectXTKSimpleSampleUWP/DirectXTKSimpleSample.cpp rename to Samples/IntroGraphics/DirectXTKSimpleSampleUWP/DirectXTKSimpleSample.cpp diff --git a/Samples/Graphics/DirectXTKSimpleSampleUWP/DirectXTKSimpleSample.h b/Samples/IntroGraphics/DirectXTKSimpleSampleUWP/DirectXTKSimpleSample.h similarity index 100% rename from Samples/Graphics/DirectXTKSimpleSampleUWP/DirectXTKSimpleSample.h rename to Samples/IntroGraphics/DirectXTKSimpleSampleUWP/DirectXTKSimpleSample.h diff --git a/Samples/Graphics/DirectXTKSimpleSampleUWP/DirectXTKSimpleSample.sln b/Samples/IntroGraphics/DirectXTKSimpleSampleUWP/DirectXTKSimpleSample.sln similarity index 100% rename from Samples/Graphics/DirectXTKSimpleSampleUWP/DirectXTKSimpleSample.sln rename to Samples/IntroGraphics/DirectXTKSimpleSampleUWP/DirectXTKSimpleSample.sln diff --git a/Samples/Graphics/DirectXTKSimpleSampleUWP/DirectXTKSimpleSample.vcxproj b/Samples/IntroGraphics/DirectXTKSimpleSampleUWP/DirectXTKSimpleSample.vcxproj similarity index 97% rename from Samples/Graphics/DirectXTKSimpleSampleUWP/DirectXTKSimpleSample.vcxproj rename to Samples/IntroGraphics/DirectXTKSimpleSampleUWP/DirectXTKSimpleSample.vcxproj index 5a50fa0a..4b094416 100644 --- a/Samples/Graphics/DirectXTKSimpleSampleUWP/DirectXTKSimpleSample.vcxproj +++ b/Samples/IntroGraphics/DirectXTKSimpleSampleUWP/DirectXTKSimpleSample.vcxproj @@ -1,4 +1,4 @@ - + @@ -100,9 +100,6 @@ DirectXTKSimpleSample_TemporaryKey.pfx - True - Always - x86 @@ -270,4 +267,4 @@ - + \ No newline at end of file diff --git a/Samples/Graphics/DirectXTKSimpleSampleUWP/DirectXTKSimpleSample.vcxproj.filters b/Samples/IntroGraphics/DirectXTKSimpleSampleUWP/DirectXTKSimpleSample.vcxproj.filters similarity index 100% rename from Samples/Graphics/DirectXTKSimpleSampleUWP/DirectXTKSimpleSample.vcxproj.filters rename to Samples/IntroGraphics/DirectXTKSimpleSampleUWP/DirectXTKSimpleSample.vcxproj.filters diff --git a/Samples/Graphics/DirectXTKSimpleSampleUWP/DirectXTKSimpleSample_TemporaryKey.pfx b/Samples/IntroGraphics/DirectXTKSimpleSampleUWP/DirectXTKSimpleSample_TemporaryKey.pfx similarity index 100% rename from Samples/Graphics/DirectXTKSimpleSampleUWP/DirectXTKSimpleSample_TemporaryKey.pfx rename to Samples/IntroGraphics/DirectXTKSimpleSampleUWP/DirectXTKSimpleSample_TemporaryKey.pfx diff --git a/Samples/Graphics/DirectXTKSimpleSampleUWP/Main.cpp b/Samples/IntroGraphics/DirectXTKSimpleSampleUWP/Main.cpp similarity index 100% rename from Samples/Graphics/DirectXTKSimpleSampleUWP/Main.cpp rename to Samples/IntroGraphics/DirectXTKSimpleSampleUWP/Main.cpp diff --git a/Samples/Graphics/DirectXTKSimpleSampleUWP/Package.appxmanifest b/Samples/IntroGraphics/DirectXTKSimpleSampleUWP/Package.appxmanifest similarity index 90% rename from Samples/Graphics/DirectXTKSimpleSampleUWP/Package.appxmanifest rename to Samples/IntroGraphics/DirectXTKSimpleSampleUWP/Package.appxmanifest index 81d0b3b5..2b7799c6 100644 --- a/Samples/Graphics/DirectXTKSimpleSampleUWP/Package.appxmanifest +++ b/Samples/IntroGraphics/DirectXTKSimpleSampleUWP/Package.appxmanifest @@ -8,14 +8,14 @@ DirectXTKSimpleSample - chuckw + Xbox Advanced Technology Group Assets\StoreLogo.png diff --git a/Samples/Graphics/DirectXTKSimpleSampleUWP/Readme.docx b/Samples/IntroGraphics/DirectXTKSimpleSampleUWP/Readme.docx similarity index 100% rename from Samples/Graphics/DirectXTKSimpleSampleUWP/Readme.docx rename to Samples/IntroGraphics/DirectXTKSimpleSampleUWP/Readme.docx diff --git a/Samples/Graphics/SimpleTriangleUWP/StepTimer.h b/Samples/IntroGraphics/DirectXTKSimpleSampleUWP/StepTimer.h similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP/StepTimer.h rename to Samples/IntroGraphics/DirectXTKSimpleSampleUWP/StepTimer.h diff --git a/Samples/Graphics/SimpleTriangleUWP/pch.cpp b/Samples/IntroGraphics/DirectXTKSimpleSampleUWP/pch.cpp similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP/pch.cpp rename to Samples/IntroGraphics/DirectXTKSimpleSampleUWP/pch.cpp diff --git a/Samples/Graphics/DirectXTKSimpleSampleUWP/pch.h b/Samples/IntroGraphics/DirectXTKSimpleSampleUWP/pch.h similarity index 100% rename from Samples/Graphics/DirectXTKSimpleSampleUWP/pch.h rename to Samples/IntroGraphics/DirectXTKSimpleSampleUWP/pch.h diff --git a/Samples/IntroGraphics/SimpleBezierUWP/Assets/BezierDS.hlsl b/Samples/IntroGraphics/SimpleBezierUWP/Assets/BezierDS.hlsl new file mode 100644 index 00000000..c6507784 --- /dev/null +++ b/Samples/IntroGraphics/SimpleBezierUWP/Assets/BezierDS.hlsl @@ -0,0 +1 @@ +#include "SimpleBezier.hlsli" \ No newline at end of file diff --git a/Samples/IntroGraphics/SimpleBezierUWP/Assets/BezierHS_fracEven.hlsl b/Samples/IntroGraphics/SimpleBezierUWP/Assets/BezierHS_fracEven.hlsl new file mode 100644 index 00000000..c6507784 --- /dev/null +++ b/Samples/IntroGraphics/SimpleBezierUWP/Assets/BezierHS_fracEven.hlsl @@ -0,0 +1 @@ +#include "SimpleBezier.hlsli" \ No newline at end of file diff --git a/Samples/IntroGraphics/SimpleBezierUWP/Assets/BezierHS_fracOdd.hlsl b/Samples/IntroGraphics/SimpleBezierUWP/Assets/BezierHS_fracOdd.hlsl new file mode 100644 index 00000000..c6507784 --- /dev/null +++ b/Samples/IntroGraphics/SimpleBezierUWP/Assets/BezierHS_fracOdd.hlsl @@ -0,0 +1 @@ +#include "SimpleBezier.hlsli" \ No newline at end of file diff --git a/Samples/IntroGraphics/SimpleBezierUWP/Assets/BezierHS_int.hlsl b/Samples/IntroGraphics/SimpleBezierUWP/Assets/BezierHS_int.hlsl new file mode 100644 index 00000000..c6507784 --- /dev/null +++ b/Samples/IntroGraphics/SimpleBezierUWP/Assets/BezierHS_int.hlsl @@ -0,0 +1 @@ +#include "SimpleBezier.hlsli" \ No newline at end of file diff --git a/Samples/IntroGraphics/SimpleBezierUWP/Assets/BezierPS.hlsl b/Samples/IntroGraphics/SimpleBezierUWP/Assets/BezierPS.hlsl new file mode 100644 index 00000000..c6507784 --- /dev/null +++ b/Samples/IntroGraphics/SimpleBezierUWP/Assets/BezierPS.hlsl @@ -0,0 +1 @@ +#include "SimpleBezier.hlsli" \ No newline at end of file diff --git a/Samples/IntroGraphics/SimpleBezierUWP/Assets/BezierVS.hlsl b/Samples/IntroGraphics/SimpleBezierUWP/Assets/BezierVS.hlsl new file mode 100644 index 00000000..c6507784 --- /dev/null +++ b/Samples/IntroGraphics/SimpleBezierUWP/Assets/BezierVS.hlsl @@ -0,0 +1 @@ +#include "SimpleBezier.hlsli" \ No newline at end of file diff --git a/Samples/Graphics/SimpleTriangleUWP12/Assets/Logo.png b/Samples/IntroGraphics/SimpleBezierUWP/Assets/Logo.png similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP12/Assets/Logo.png rename to Samples/IntroGraphics/SimpleBezierUWP/Assets/Logo.png diff --git a/Samples/IntroGraphics/SimpleBezierUWP/Assets/SimpleBezier.hlsli b/Samples/IntroGraphics/SimpleBezierUWP/Assets/SimpleBezier.hlsli new file mode 100644 index 00000000..3d0ebc12 --- /dev/null +++ b/Samples/IntroGraphics/SimpleBezierUWP/Assets/SimpleBezier.hlsli @@ -0,0 +1,229 @@ +//-------------------------------------------------------------------------------------- +// SimpleBezier.hlsli +// +// Shader demonstrating DirectX 11 tesselation of a bezier surface +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + + +// The input patch size. In this sample, it is 16 control points. +// This value should match the call to IASetPrimitiveTopology() +#define INPUT_PATCH_SIZE 16 + +// The output patch size. In this sample, it is also 16 control points. +#define OUTPUT_PATCH_SIZE 16 + +//-------------------------------------------------------------------------------------- +// Constant Buffers +//-------------------------------------------------------------------------------------- +cbuffer cbPerFrame : register(b0) +{ + row_major matrix g_mViewProjection; + float3 g_cameraWorldPos; + float g_tessellationFactor; +}; + +//-------------------------------------------------------------------------------------- +// Vertex shader section +//-------------------------------------------------------------------------------------- +struct VS_CONTROL_POINT_INPUT +{ + float3 pos : POSITION; +}; + +struct VS_CONTROL_POINT_OUTPUT +{ + float3 pos : POSITION; +}; + +//-------------------------------------------------------------------------------------- +// This simple vertex shader passes the control points straight through to the +// hull shader. In a more complex scene, you might transform the control points +// or perform skinning at this step. +// +// The input to the vertex shader comes from the vertex buffer. +// +// The output from the vertex shader will go into the hull shader. +//-------------------------------------------------------------------------------------- +VS_CONTROL_POINT_OUTPUT BezierVS(VS_CONTROL_POINT_INPUT Input) +{ + VS_CONTROL_POINT_OUTPUT output; + + output.pos = Input.pos; + + return output; +} + +//-------------------------------------------------------------------------------------- +// Constant data function for the BezierHS. This is executed once per patch. +//-------------------------------------------------------------------------------------- +struct HS_CONSTANT_DATA_OUTPUT +{ + float Edges[4] : SV_TessFactor; + float Inside[2] : SV_InsideTessFactor; +}; + +struct HS_OUTPUT +{ + float3 pos : BEZIERPOS; +}; + +//-------------------------------------------------------------------------------------- +// This constant hull shader is executed once per patch. For the simple Mobius strip +// model, it will be executed 4 times. In this sample, we set the tessellation factor +// via SV_TessFactor and SV_InsideTessFactor for each patch. In a more complex scene, +// you might calculate a variable tessellation factor based on the camera's distance. +//-------------------------------------------------------------------------------------- +HS_CONSTANT_DATA_OUTPUT BezierConstantHS(InputPatch< VS_CONTROL_POINT_OUTPUT, INPUT_PATCH_SIZE > ip, + uint PatchID : SV_PrimitiveID) +{ + HS_CONSTANT_DATA_OUTPUT output; + + float TessAmount = g_tessellationFactor; + + output.Edges[0] = output.Edges[1] = output.Edges[2] = output.Edges[3] = TessAmount; + output.Inside[0] = output.Inside[1] = TessAmount; + + return output; +} + +//-------------------------------------------------------------------------------------- +// BezierHS +// The hull shader is called once per output control point, which is specified with +// outputcontrolpoints. For this sample, we take the control points from the vertex +// shader and pass them directly off to the domain shader. In a more complex scene, +// you might perform a basis conversion from the input control points into a Bezier +// patch, such as the SubD11 SimpleBezier. +// +// The input to the hull shader comes from the vertex shader. +// +// The output from the hull shader will go to the domain shader. +// The tessellation factor, topology, and partition mode will go to the fixed function +// tessellator stage to calculate the UVW barycentric coordinates and domain points. +//-------------------------------------------------------------------------------------- +[domain("quad")] +[partitioning(BEZIER_HS_PARTITION)] +[outputtopology("triangle_cw")] +[outputcontrolpoints(OUTPUT_PATCH_SIZE)] +[patchconstantfunc("BezierConstantHS")] +HS_OUTPUT BezierHS(InputPatch< VS_CONTROL_POINT_OUTPUT, INPUT_PATCH_SIZE > p, + uint i : SV_OutputControlPointID, + uint PatchID : SV_PrimitiveID) +{ + HS_OUTPUT output; + output.pos = p[i].pos; + return output; +} + +//-------------------------------------------------------------------------------------- +// Bezier evaluation domain shader section +//-------------------------------------------------------------------------------------- +struct DS_OUTPUT +{ + float4 pos : SV_POSITION; + float3 worldPos : WORLDPOS; + float3 normal : NORMAL; +}; + +//-------------------------------------------------------------------------------------- +float4 BernsteinBasis(float t) +{ + float invT = 1.0f - t; + + return float4(invT * invT * invT, + 3.0f * t * invT * invT, + 3.0f * t * t * invT, + t * t * t); +} + +//-------------------------------------------------------------------------------------- +float4 dBernsteinBasis(float t) +{ + float invT = 1.0f - t; + + return float4(-3 * invT * invT, + 3 * invT * invT - 6 * t * invT, + 6 * t * invT - 3 * t * t, + 3 * t * t); +} + +//-------------------------------------------------------------------------------------- +float3 EvaluateBezier(const OutputPatch< HS_OUTPUT, OUTPUT_PATCH_SIZE > BezPatch, + float4 BasisU, + float4 BasisV) +{ + float3 value = float3(0, 0, 0); + value = BasisV.x * (BezPatch[0].pos * BasisU.x + BezPatch[1].pos * BasisU.y + BezPatch[2].pos * BasisU.z + BezPatch[3].pos * BasisU.w); + value += BasisV.y * (BezPatch[4].pos * BasisU.x + BezPatch[5].pos * BasisU.y + BezPatch[6].pos * BasisU.z + BezPatch[7].pos * BasisU.w); + value += BasisV.z * (BezPatch[8].pos * BasisU.x + BezPatch[9].pos * BasisU.y + BezPatch[10].pos * BasisU.z + BezPatch[11].pos * BasisU.w); + value += BasisV.w * (BezPatch[12].pos * BasisU.x + BezPatch[13].pos * BasisU.y + BezPatch[14].pos * BasisU.z + BezPatch[15].pos * BasisU.w); + + return value; +} + + +//-------------------------------------------------------------------------------------- +// The domain shader is run once per vertex and calculates the final vertex's position +// and attributes. It receives the UVW from the fixed function tessellator and the +// control point outputs from the hull shader. Since we are using the DirectX 11 +// Tessellation pipeline, it is the domain shader's responsibility to calculate the +// final SV_POSITION for each vertex. In this sample, we evaluate the vertex's +// position using a Bernstein polynomial and the normal is calculated as the cross +// product of the U and V derivatives. +// +// The input SV_DomainLocation to the domain shader comes from fixed function +// tessellator. And the OutputPatch comes from the hull shader. From these, you +// must calculate the final vertex position, color, texcoords, and other attributes. +// +// The output from the domain shader will be a vertex that will go to the video card's +// rasterization pipeline and get drawn to the screen. +//-------------------------------------------------------------------------------------- +[domain("quad")] +DS_OUTPUT BezierDS(HS_CONSTANT_DATA_OUTPUT input, + float2 UV : SV_DomainLocation, + const OutputPatch< HS_OUTPUT, OUTPUT_PATCH_SIZE > BezPatch) +{ + float4 BasisU = BernsteinBasis(UV.x); + float4 BasisV = BernsteinBasis(UV.y); + float4 dBasisU = dBernsteinBasis(UV.x); + float4 dBasisV = dBernsteinBasis(UV.y); + + float3 worldPos = EvaluateBezier(BezPatch, BasisU, BasisV); + float3 tangent = EvaluateBezier(BezPatch, dBasisU, BasisV); + float3 biTangent = EvaluateBezier(BezPatch, BasisU, dBasisV); + float3 normal = normalize(cross(tangent, biTangent)); + + DS_OUTPUT output; + output.pos = mul(float4(worldPos, 1), g_mViewProjection); + output.worldPos = worldPos; + output.normal = normal; + + return output; +} + +//-------------------------------------------------------------------------------------- +// Smooth shading pixel shader section +//-------------------------------------------------------------------------------------- + + +//-------------------------------------------------------------------------------------- +// The pixel shader works the same as it would in a normal graphics pipeline. +// In this sample, it performs very simple N dot L lighting. +//-------------------------------------------------------------------------------------- +float4 BezierPS(DS_OUTPUT Input) : SV_TARGET +{ + float3 N = normalize(Input.normal); + float3 L = normalize(Input.worldPos - g_cameraWorldPos); + return abs(dot(N, L)) * float4(1, 0, 0, 1); +} + +//-------------------------------------------------------------------------------------- +// Solid color shading pixel shader (used for wireframe overlay) +//-------------------------------------------------------------------------------------- +float4 SolidColorPS(DS_OUTPUT Input) : SV_TARGET +{ + // Return a dark green color + return float4(0, 0.25, 0, 1); +} diff --git a/Samples/Graphics/SimpleTriangleUWP12/Assets/SmallLogo.png b/Samples/IntroGraphics/SimpleBezierUWP/Assets/SmallLogo.png similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP12/Assets/SmallLogo.png rename to Samples/IntroGraphics/SimpleBezierUWP/Assets/SmallLogo.png diff --git a/Samples/IntroGraphics/SimpleBezierUWP/Assets/SolidColorPS.hlsl b/Samples/IntroGraphics/SimpleBezierUWP/Assets/SolidColorPS.hlsl new file mode 100644 index 00000000..c6507784 --- /dev/null +++ b/Samples/IntroGraphics/SimpleBezierUWP/Assets/SolidColorPS.hlsl @@ -0,0 +1 @@ +#include "SimpleBezier.hlsli" \ No newline at end of file diff --git a/Samples/Graphics/SimpleTriangleUWP12/Assets/SplashScreen.png b/Samples/IntroGraphics/SimpleBezierUWP/Assets/SplashScreen.png similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP12/Assets/SplashScreen.png rename to Samples/IntroGraphics/SimpleBezierUWP/Assets/SplashScreen.png diff --git a/Samples/Graphics/SimpleTriangleUWP12/Assets/StoreLogo.png b/Samples/IntroGraphics/SimpleBezierUWP/Assets/StoreLogo.png similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP12/Assets/StoreLogo.png rename to Samples/IntroGraphics/SimpleBezierUWP/Assets/StoreLogo.png diff --git a/Samples/Graphics/SimpleTriangleUWP12/Assets/WideLogo.png b/Samples/IntroGraphics/SimpleBezierUWP/Assets/WideLogo.png similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP12/Assets/WideLogo.png rename to Samples/IntroGraphics/SimpleBezierUWP/Assets/WideLogo.png diff --git a/Samples/IntroGraphics/SimpleBezierUWP/DeviceResources.cpp b/Samples/IntroGraphics/SimpleBezierUWP/DeviceResources.cpp new file mode 100644 index 00000000..d549f821 --- /dev/null +++ b/Samples/IntroGraphics/SimpleBezierUWP/DeviceResources.cpp @@ -0,0 +1,592 @@ +// +// DeviceResources.cpp - A wrapper for the Direct3D 11 device and swapchain +// (requires DirectX 11.3 Runtime) +// + + +#include "pch.h" +#include "DeviceResources.h" + +using namespace DirectX; + +using Microsoft::WRL::ComPtr; + +namespace +{ +#if defined(_DEBUG) + // Check for SDK Layer support. + inline bool SdkLayersAvailable() + { + HRESULT hr = D3D11CreateDevice( + nullptr, + D3D_DRIVER_TYPE_NULL, // There is no need to create a real hardware device. + 0, + D3D11_CREATE_DEVICE_DEBUG, // Check for the SDK layers. + nullptr, // Any feature level will do. + 0, + D3D11_SDK_VERSION, + nullptr, // No need to keep the D3D device reference. + nullptr, // No need to know the feature level. + nullptr // No need to keep the D3D device context reference. + ); + + return SUCCEEDED(hr); + } +#endif + + inline DXGI_FORMAT NoSRGB(DXGI_FORMAT fmt) + { + switch (fmt) + { + case DXGI_FORMAT_R8G8B8A8_UNORM_SRGB: return DXGI_FORMAT_R8G8B8A8_UNORM; + case DXGI_FORMAT_B8G8R8A8_UNORM_SRGB: return DXGI_FORMAT_B8G8R8A8_UNORM; + case DXGI_FORMAT_B8G8R8X8_UNORM_SRGB: return DXGI_FORMAT_B8G8R8X8_UNORM; + default: return fmt; + } + } +}; + +// Constants used to calculate screen rotations +namespace ScreenRotation +{ + // 0-degree Z-rotation + static const XMFLOAT4X4 Rotation0( + 1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 1.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f + ); + + // 90-degree Z-rotation + static const XMFLOAT4X4 Rotation90( + 0.0f, 1.0f, 0.0f, 0.0f, + -1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f + ); + + // 180-degree Z-rotation + static const XMFLOAT4X4 Rotation180( + -1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, -1.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f + ); + + // 270-degree Z-rotation + static const XMFLOAT4X4 Rotation270( + 0.0f, -1.0f, 0.0f, 0.0f, + 1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f + ); +}; + +// Constructor for DeviceResources. +DX::DeviceResources::DeviceResources(DXGI_FORMAT backBufferFormat, DXGI_FORMAT depthBufferFormat, UINT backBufferCount, D3D_FEATURE_LEVEL minFeatureLevel) : + m_screenViewport{}, + m_backBufferFormat(backBufferFormat), + m_depthBufferFormat(depthBufferFormat), + m_backBufferCount(backBufferCount), + m_d3dMinFeatureLevel(minFeatureLevel), + m_window(nullptr), + m_d3dFeatureLevel(D3D_FEATURE_LEVEL_9_1), + m_rotation(DXGI_MODE_ROTATION_IDENTITY), + m_outputSize{0, 0, 1, 1}, + m_orientationTransform3D(ScreenRotation::Rotation0), + m_deviceNotify(nullptr) +{ +} + +// Configures the Direct3D device, and stores handles to it and the device context. +void DX::DeviceResources::CreateDeviceResources() +{ + UINT creationFlags = D3D11_CREATE_DEVICE_BGRA_SUPPORT; + +#if defined(_DEBUG) + if (SdkLayersAvailable()) + { + // If the project is in a debug build, enable debugging via SDK Layers with this flag. + creationFlags |= D3D11_CREATE_DEVICE_DEBUG; + } + else + { + OutputDebugStringA("WARNING: Direct3D Debug Device is not available\n"); + } +#endif + + // Determine DirectX hardware feature levels this app will support. + static const D3D_FEATURE_LEVEL s_featureLevels[] = + { + D3D_FEATURE_LEVEL_12_1, + D3D_FEATURE_LEVEL_12_0, + D3D_FEATURE_LEVEL_11_1, + D3D_FEATURE_LEVEL_11_0, + D3D_FEATURE_LEVEL_10_1, + D3D_FEATURE_LEVEL_10_0, + D3D_FEATURE_LEVEL_9_3, + D3D_FEATURE_LEVEL_9_2, + D3D_FEATURE_LEVEL_9_1, + }; + + UINT featLevelCount = 0; + for (; featLevelCount < _countof(s_featureLevels); ++featLevelCount) + { + if (s_featureLevels[featLevelCount] < m_d3dMinFeatureLevel) + break; + } + + if (!featLevelCount) + { + throw std::out_of_range("minFeatureLevel too high"); + } + + ComPtr adapter; + GetHardwareAdapter(adapter.GetAddressOf()); + + // Create the Direct3D 11 API device object and a corresponding context. + ComPtr device; + ComPtr context; + + HRESULT hr = E_FAIL; + if (adapter) + { + hr = D3D11CreateDevice( + adapter.Get(), + D3D_DRIVER_TYPE_UNKNOWN, + 0, + creationFlags, // Set debug and Direct2D compatibility flags. + s_featureLevels, + featLevelCount, + D3D11_SDK_VERSION, + device.GetAddressOf(), // Returns the Direct3D device created. + &m_d3dFeatureLevel, // Returns feature level of device created. + context.GetAddressOf() // Returns the device immediate context. + ); + } +#if defined(NDEBUG) + else + { + throw std::exception("No Direct3D hardware device found"); + } +#else + if (FAILED(hr)) + { + // If the initialization fails, fall back to the WARP device. + // For more information on WARP, see: + // http://go.microsoft.com/fwlink/?LinkId=286690 + hr = D3D11CreateDevice( + nullptr, + D3D_DRIVER_TYPE_WARP, // Create a WARP device instead of a hardware device. + 0, + creationFlags, + s_featureLevels, + featLevelCount, + D3D11_SDK_VERSION, + device.GetAddressOf(), + &m_d3dFeatureLevel, + context.GetAddressOf() + ); + + if (SUCCEEDED(hr)) + { + OutputDebugStringA("Direct3D Adapter - WARP\n"); + } + } +#endif + + DX::ThrowIfFailed(hr); + +#ifndef NDEBUG + ComPtr d3dDebug; + if (SUCCEEDED(device.As(&d3dDebug))) + { + ComPtr d3dInfoQueue; + if (SUCCEEDED(d3dDebug.As(&d3dInfoQueue))) + { +#ifdef _DEBUG + d3dInfoQueue->SetBreakOnSeverity(D3D11_MESSAGE_SEVERITY_CORRUPTION, true); + d3dInfoQueue->SetBreakOnSeverity(D3D11_MESSAGE_SEVERITY_ERROR, true); +#endif + D3D11_MESSAGE_ID hide[] = + { + D3D11_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS, + }; + D3D11_INFO_QUEUE_FILTER filter = {}; + filter.DenyList.NumIDs = _countof(hide); + filter.DenyList.pIDList = hide; + d3dInfoQueue->AddStorageFilterEntries(&filter); + } + } +#endif + + DX::ThrowIfFailed(device.As(&m_d3dDevice)); + DX::ThrowIfFailed(context.As(&m_d3dContext)); +} + +// These resources need to be recreated every time the window size is changed. +void DX::DeviceResources::CreateWindowSizeDependentResources() +{ + if (!m_window) + { + throw std::exception("Call SetWindow with a valid CoreWindow pointer"); + } + + // Clear the previous window size specific context. + ID3D11RenderTargetView* nullViews[] = {nullptr}; + m_d3dContext->OMSetRenderTargets(_countof(nullViews), nullViews, nullptr); + m_d3dRenderTargetView.Reset(); + m_d3dDepthStencilView.Reset(); + m_d3dContext->Flush(); + + // Determine the render target size in pixels. + UINT backBufferWidth = std::max(m_outputSize.right - m_outputSize.left, 1); + UINT backBufferHeight = std::max(m_outputSize.bottom - m_outputSize.top, 1); + DXGI_FORMAT backBufferFormat = NoSRGB(m_backBufferFormat); + + if (m_swapChain) + { + // If the swap chain already exists, resize it. + HRESULT hr = m_swapChain->ResizeBuffers( + m_backBufferCount, + backBufferWidth, + backBufferHeight, + backBufferFormat, + 0 + ); + + if (hr == DXGI_ERROR_DEVICE_REMOVED || hr == DXGI_ERROR_DEVICE_RESET) + { +#ifdef _DEBUG + char buff[64] = {}; + sprintf_s(buff, "Device Lost on ResizeBuffers: Reason code 0x%08X\n", (hr == DXGI_ERROR_DEVICE_REMOVED) ? m_d3dDevice->GetDeviceRemovedReason() : hr); + OutputDebugStringA(buff); +#endif + // If the device was removed for any reason, a new device and swap chain will need to be created. + HandleDeviceLost(); + + // Everything is set up now. Do not continue execution of this method. HandleDeviceLost will reenter this method + // and correctly set up the new device. + return; + } + else + { + DX::ThrowIfFailed(hr); + } + } + else + { + // Otherwise, create a new one using the same adapter as the existing Direct3D device. + + // This sequence obtains the DXGI factory that was used to create the Direct3D device above. + ComPtr dxgiDevice; + DX::ThrowIfFailed(m_d3dDevice.As(&dxgiDevice)); + + ComPtr dxgiAdapter; + DX::ThrowIfFailed(dxgiDevice->GetAdapter(dxgiAdapter.GetAddressOf())); + + ComPtr dxgiFactory; + DX::ThrowIfFailed(dxgiAdapter->GetParent(IID_PPV_ARGS(dxgiFactory.GetAddressOf()))); + + DXGI_SWAP_CHAIN_DESC1 swapChainDesc = {}; + swapChainDesc.Width = backBufferWidth; + swapChainDesc.Height = backBufferHeight; + swapChainDesc.Format = backBufferFormat; + swapChainDesc.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT; + swapChainDesc.BufferCount = m_backBufferCount; + swapChainDesc.SampleDesc.Count = 1; + swapChainDesc.SampleDesc.Quality = 0; + swapChainDesc.Scaling = DXGI_SCALING_ASPECT_RATIO_STRETCH; + swapChainDesc.SwapEffect = DXGI_SWAP_EFFECT_FLIP_DISCARD; + swapChainDesc.AlphaMode = DXGI_ALPHA_MODE_IGNORE; + + ComPtr swapChain; + DX::ThrowIfFailed(dxgiFactory->CreateSwapChainForCoreWindow( + m_d3dDevice.Get(), + m_window, + &swapChainDesc, + nullptr, + swapChain.GetAddressOf() + )); + + DX::ThrowIfFailed(swapChain.As(&m_swapChain)); + + // Ensure that DXGI does not queue more than one frame at a time. This both reduces latency and + // ensures that the application will only render after each VSync, minimizing power consumption. + DX::ThrowIfFailed(dxgiDevice->SetMaximumFrameLatency(1)); + } + + // Set the proper orientation for the swap chain, and generate + // matrix transformations for rendering to the rotated swap chain. + switch (m_rotation) + { + default: + case DXGI_MODE_ROTATION_IDENTITY: + m_orientationTransform3D = ScreenRotation::Rotation0; + break; + + case DXGI_MODE_ROTATION_ROTATE90: + m_orientationTransform3D = ScreenRotation::Rotation270; + break; + + case DXGI_MODE_ROTATION_ROTATE180: + m_orientationTransform3D = ScreenRotation::Rotation180; + break; + + case DXGI_MODE_ROTATION_ROTATE270: + m_orientationTransform3D = ScreenRotation::Rotation90; + break; + } + + DX::ThrowIfFailed(m_swapChain->SetRotation(m_rotation)); + + // Create a render target view of the swap chain back buffer. + ComPtr backBuffer; + DX::ThrowIfFailed(m_swapChain->GetBuffer(0, IID_PPV_ARGS(backBuffer.GetAddressOf()))); + + CD3D11_RENDER_TARGET_VIEW_DESC renderTargetViewDesc(D3D11_RTV_DIMENSION_TEXTURE2D, m_backBufferFormat); + DX::ThrowIfFailed(m_d3dDevice->CreateRenderTargetView( + backBuffer.Get(), + &renderTargetViewDesc, + m_d3dRenderTargetView.ReleaseAndGetAddressOf() + )); + + if (m_depthBufferFormat != DXGI_FORMAT_UNKNOWN) + { + // Create a depth stencil view for use with 3D rendering if needed. + CD3D11_TEXTURE2D_DESC depthStencilDesc( + m_depthBufferFormat, + backBufferWidth, + backBufferHeight, + 1, // This depth stencil view has only one texture. + 1, // Use a single mipmap level. + D3D11_BIND_DEPTH_STENCIL + ); + + ComPtr depthStencil; + DX::ThrowIfFailed(m_d3dDevice->CreateTexture2D( + &depthStencilDesc, + nullptr, + depthStencil.GetAddressOf() + )); + + CD3D11_DEPTH_STENCIL_VIEW_DESC depthStencilViewDesc(D3D11_DSV_DIMENSION_TEXTURE2D); + DX::ThrowIfFailed(m_d3dDevice->CreateDepthStencilView( + depthStencil.Get(), + &depthStencilViewDesc, + m_d3dDepthStencilView.ReleaseAndGetAddressOf() + )); + } + + // Set the 3D rendering viewport to target the entire window. + m_screenViewport = CD3D11_VIEWPORT( + 0.0f, + 0.0f, + static_cast(backBufferWidth), + static_cast(backBufferHeight) + ); +} + +// This method is called when the CoreWindow is created (or re-created). +void DX::DeviceResources::SetWindow(IUnknown* window, int width, int height, DXGI_MODE_ROTATION rotation) +{ + m_window = window; + + m_outputSize.left = m_outputSize.top = 0; + m_outputSize.right = width; + m_outputSize.bottom = height; + + m_rotation = rotation; +} + +// This method is called when the window changes size +bool DX::DeviceResources::WindowSizeChanged(int width, int height, DXGI_MODE_ROTATION rotation) +{ + RECT newRc; + newRc.left = newRc.top = 0; + newRc.right = width; + newRc.bottom = height; + if (newRc == m_outputSize && rotation == m_rotation) + { + return false; + } + + m_outputSize = newRc; + m_rotation = rotation; + CreateWindowSizeDependentResources(); + return true; +} + +// This method is called in the event handler for the DisplayContentsInvalidated event. +void DX::DeviceResources::ValidateDevice() +{ + // The D3D Device is no longer valid if the default adapter changed since the device + // was created or if the device has been removed. + + DXGI_ADAPTER_DESC previousDesc; + { + ComPtr dxgiDevice; + DX::ThrowIfFailed(m_d3dDevice.As(&dxgiDevice)); + + ComPtr deviceAdapter; + DX::ThrowIfFailed(dxgiDevice->GetAdapter(deviceAdapter.GetAddressOf())); + + ComPtr deviceFactory; + DX::ThrowIfFailed(deviceAdapter->GetParent(IID_PPV_ARGS(deviceFactory.GetAddressOf()))); + + ComPtr previousDefaultAdapter; + DX::ThrowIfFailed(deviceFactory->EnumAdapters1(0, previousDefaultAdapter.GetAddressOf())); + + DX::ThrowIfFailed(previousDefaultAdapter->GetDesc(&previousDesc)); + } + + DXGI_ADAPTER_DESC currentDesc; + { + ComPtr currentFactory; + DX::ThrowIfFailed(CreateDXGIFactory1(IID_PPV_ARGS(currentFactory.GetAddressOf()))); + + ComPtr currentDefaultAdapter; + DX::ThrowIfFailed(currentFactory->EnumAdapters1(0, currentDefaultAdapter.GetAddressOf())); + + DX::ThrowIfFailed(currentDefaultAdapter->GetDesc(¤tDesc)); + } + + // If the adapter LUIDs don't match, or if the device reports that it has been removed, + // a new D3D device must be created. + + if (previousDesc.AdapterLuid.LowPart != currentDesc.AdapterLuid.LowPart + || previousDesc.AdapterLuid.HighPart != currentDesc.AdapterLuid.HighPart + || FAILED(m_d3dDevice->GetDeviceRemovedReason())) + { +#ifdef _DEBUG + OutputDebugStringA("Device Lost on ValidateDevice\n"); +#endif + + // Create a new device and swap chain. + HandleDeviceLost(); + } +} + +// Recreate all device resources and set them back to the current state. +void DX::DeviceResources::HandleDeviceLost() +{ + if (m_deviceNotify) + { + m_deviceNotify->OnDeviceLost(); + } + + m_d3dDepthStencilView.Reset(); + m_d3dRenderTargetView.Reset(); + m_swapChain.Reset(); + m_d3dContext.Reset(); + m_d3dDevice.Reset(); + +#ifdef _DEBUG + { + ComPtr dxgiDebug; + if (SUCCEEDED(DXGIGetDebugInterface1(0, IID_PPV_ARGS(&dxgiDebug)))) + { + dxgiDebug->ReportLiveObjects(DXGI_DEBUG_ALL, DXGI_DEBUG_RLO_FLAGS(DXGI_DEBUG_RLO_SUMMARY | DXGI_DEBUG_RLO_IGNORE_INTERNAL)); + } + } +#endif + + CreateDeviceResources(); + CreateWindowSizeDependentResources(); + + if (m_deviceNotify) + { + m_deviceNotify->OnDeviceRestored(); + } +} + +// Call this method when the app suspends. It provides a hint to the driver that the app +// is entering an idle state and that temporary buffers can be reclaimed for use by other apps. +void DX::DeviceResources::Trim() +{ + ComPtr dxgiDevice; + if (SUCCEEDED(m_d3dDevice.As(&dxgiDevice))) + { + dxgiDevice->Trim(); + } +} + +// Present the contents of the swap chain to the screen. +void DX::DeviceResources::Present() +{ + // The first argument instructs DXGI to block until VSync, putting the application + // to sleep until the next VSync. This ensures we don't waste any cycles rendering + // frames that will never be displayed to the screen. + HRESULT hr = m_swapChain->Present(1, 0); + + // Discard the contents of the render target. + // This is a valid operation only when the existing contents will be entirely + // overwritten. If dirty or scroll rects are used, this call should be removed. + m_d3dContext->DiscardView(m_d3dRenderTargetView.Get()); + + if (m_d3dDepthStencilView) + { + // Discard the contents of the depth stencil. + m_d3dContext->DiscardView(m_d3dDepthStencilView.Get()); + } + + // If the device was removed either by a disconnection or a driver upgrade, we + // must recreate all device resources. + if (hr == DXGI_ERROR_DEVICE_REMOVED || hr == DXGI_ERROR_DEVICE_RESET) + { +#ifdef _DEBUG + char buff[64] = {}; + sprintf_s(buff, "Device Lost on Present: Reason code 0x%08X\n", (hr == DXGI_ERROR_DEVICE_REMOVED) ? m_d3dDevice->GetDeviceRemovedReason() : hr); + OutputDebugStringA(buff); +#endif + HandleDeviceLost(); + } + else + { + DX::ThrowIfFailed(hr); + } +} + +// This method acquires the first available hardware adapter. +// If no such adapter can be found, *ppAdapter will be set to nullptr. +void DX::DeviceResources::GetHardwareAdapter(IDXGIAdapter1** ppAdapter) +{ + *ppAdapter = nullptr; + + ComPtr dxgiFactory; +#ifdef _DEBUG + UINT creationFlags = 0; + + if (SdkLayersAvailable()) + { + creationFlags |= DXGI_CREATE_FACTORY_DEBUG; + } + + DX::ThrowIfFailed(CreateDXGIFactory2(creationFlags, IID_PPV_ARGS(dxgiFactory.GetAddressOf()))); +#else + DX::ThrowIfFailed(CreateDXGIFactory1(IID_PPV_ARGS(dxgiFactory.GetAddressOf()))); +#endif + + ComPtr adapter; + for (UINT adapterIndex = 0; DXGI_ERROR_NOT_FOUND != dxgiFactory->EnumAdapters1(adapterIndex, adapter.ReleaseAndGetAddressOf()); adapterIndex++) + { + DXGI_ADAPTER_DESC1 desc; + adapter->GetDesc1(&desc); + + if (desc.Flags & DXGI_ADAPTER_FLAG_SOFTWARE) + { + // Don't select the Basic Render Driver adapter. + continue; + } + +#ifdef _DEBUG + wchar_t buff[256] = {}; + swprintf_s(buff, L"Direct3D Adapter (%u): VID:%04X, PID:%04X - %ls\n", adapterIndex, desc.VendorId, desc.DeviceId, desc.Description); + OutputDebugStringW(buff); +#endif + + break; + } + + *ppAdapter = adapter.Detach(); +} \ No newline at end of file diff --git a/Samples/IntroGraphics/SimpleBezierUWP/DeviceResources.h b/Samples/IntroGraphics/SimpleBezierUWP/DeviceResources.h new file mode 100644 index 00000000..1da562ca --- /dev/null +++ b/Samples/IntroGraphics/SimpleBezierUWP/DeviceResources.h @@ -0,0 +1,83 @@ +// +// DeviceResources.h - A wrapper for the Direct3D 11 device and swapchain +// + +#pragma once + +namespace DX +{ + // Provides an interface for an application that owns DeviceResources to be notified of the device being lost or created. + interface IDeviceNotify + { + virtual void OnDeviceLost() = 0; + virtual void OnDeviceRestored() = 0; + }; + + // Controls all the DirectX device resources. + class DeviceResources + { + public: + DeviceResources(DXGI_FORMAT backBufferFormat = DXGI_FORMAT_B8G8R8A8_UNORM, + DXGI_FORMAT depthBufferFormat = DXGI_FORMAT_D24_UNORM_S8_UINT, + UINT backBufferCount = 2, + D3D_FEATURE_LEVEL minFeatureLevel = D3D_FEATURE_LEVEL_9_3); + + void CreateDeviceResources(); + void CreateWindowSizeDependentResources(); + void SetWindow(IUnknown* window, int width, int height, DXGI_MODE_ROTATION rotation); + bool WindowSizeChanged(int width, int height, DXGI_MODE_ROTATION rotation); + void ValidateDevice(); + void HandleDeviceLost(); + void RegisterDeviceNotify(IDeviceNotify* deviceNotify) { m_deviceNotify = deviceNotify; } + void Trim(); + void Present(); + + // Device Accessors. + RECT GetOutputSize() const { return m_outputSize; } + DXGI_MODE_ROTATION GetRotation() const { return m_rotation; } + + // Direct3D Accessors. + ID3D11Device2* GetD3DDevice() const { return m_d3dDevice.Get(); } + ID3D11DeviceContext2* GetD3DDeviceContext() const { return m_d3dContext.Get(); } + IDXGISwapChain3* GetSwapChain() const { return m_swapChain.Get(); } + D3D_FEATURE_LEVEL GetDeviceFeatureLevel() const { return m_d3dFeatureLevel; } + ID3D11RenderTargetView* GetBackBufferRenderTargetView() const { return m_d3dRenderTargetView.Get(); } + ID3D11DepthStencilView* GetDepthStencilView() const { return m_d3dDepthStencilView.Get(); } + DXGI_FORMAT GetBackBufferFormat() const { return m_backBufferFormat; } + DXGI_FORMAT GetDepthBufferFormat() const { return m_depthBufferFormat; } + D3D11_VIEWPORT GetScreenViewport() const { return m_screenViewport; } + UINT GetBackBufferCount() const { return m_backBufferCount; } + DirectX::XMFLOAT4X4 GetOrientationTransform3D() const { return m_orientationTransform3D; } + + private: + void GetHardwareAdapter(IDXGIAdapter1** ppAdapter); + + // Direct3D objects. + Microsoft::WRL::ComPtr m_d3dDevice; + Microsoft::WRL::ComPtr m_d3dContext; + Microsoft::WRL::ComPtr m_swapChain; + + // Direct3D rendering objects. Required for 3D. + Microsoft::WRL::ComPtr m_d3dRenderTargetView; + Microsoft::WRL::ComPtr m_d3dDepthStencilView; + D3D11_VIEWPORT m_screenViewport; + + // Direct3D properties. + DXGI_FORMAT m_backBufferFormat; + DXGI_FORMAT m_depthBufferFormat; + UINT m_backBufferCount; + D3D_FEATURE_LEVEL m_d3dMinFeatureLevel; + + // Cached device properties. + IUnknown* m_window; + D3D_FEATURE_LEVEL m_d3dFeatureLevel; + DXGI_MODE_ROTATION m_rotation; + RECT m_outputSize; + + // Transforms used for display orientation. + DirectX::XMFLOAT4X4 m_orientationTransform3D; + + // The IDeviceNotify can be held directly as it owns the DeviceResources. + IDeviceNotify* m_deviceNotify; + }; +} \ No newline at end of file diff --git a/Samples/IntroGraphics/SimpleBezierUWP/Main.cpp b/Samples/IntroGraphics/SimpleBezierUWP/Main.cpp new file mode 100644 index 00000000..45d8f8a1 --- /dev/null +++ b/Samples/IntroGraphics/SimpleBezierUWP/Main.cpp @@ -0,0 +1,357 @@ +//-------------------------------------------------------------------------------------- +// Main.cpp +// +// Entry point for Universal Windows Platform (UWP) app. +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#include "pch.h" +#include "SimpleBezier.h" + +#include + +using namespace concurrency; +using namespace Windows::ApplicationModel; +using namespace Windows::ApplicationModel::Core; +using namespace Windows::ApplicationModel::Activation; +using namespace Windows::UI::Core; +using namespace Windows::UI::Input; +using namespace Windows::UI::ViewManagement; +using namespace Windows::System; +using namespace Windows::Foundation; +using namespace Windows::Graphics::Display; +using namespace DirectX; + +ref class ViewProvider sealed : public IFrameworkView +{ +public: + ViewProvider() : + m_exit(false), + m_visible(true), + m_DPI(96.f), + m_logicalWidth(800.f), + m_logicalHeight(600.f), + m_nativeOrientation(DisplayOrientations::None), + m_currentOrientation(DisplayOrientations::None) + { + } + + // IFrameworkView methods + virtual void Initialize(CoreApplicationView^ applicationView) + { + applicationView->Activated += ref new + TypedEventHandler(this, &ViewProvider::OnActivated); + + CoreApplication::Suspending += + ref new EventHandler(this, &ViewProvider::OnSuspending); + + CoreApplication::Resuming += + ref new EventHandler(this, &ViewProvider::OnResuming); + + m_sample = std::make_unique(); + } + + virtual void Uninitialize() + { + m_sample.reset(); + } + + virtual void SetWindow(CoreWindow^ window) + { + window->SizeChanged += + ref new TypedEventHandler(this, &ViewProvider::OnWindowSizeChanged); + + window->VisibilityChanged += + ref new TypedEventHandler(this, &ViewProvider::OnVisibilityChanged); + + window->Closed += + ref new TypedEventHandler(this, &ViewProvider::OnWindowClosed); + + auto dispatcher = CoreWindow::GetForCurrentThread()->Dispatcher; + + dispatcher->AcceleratorKeyActivated += + ref new TypedEventHandler(this, &ViewProvider::OnAcceleratorKeyActivated); + + auto currentDisplayInformation = DisplayInformation::GetForCurrentView(); + + currentDisplayInformation->DpiChanged += + ref new TypedEventHandler(this, &ViewProvider::OnDpiChanged); + + currentDisplayInformation->OrientationChanged += + ref new TypedEventHandler(this, &ViewProvider::OnOrientationChanged); + + DisplayInformation::DisplayContentsInvalidated += + ref new TypedEventHandler(this, &ViewProvider::OnDisplayContentsInvalidated); + + m_DPI = currentDisplayInformation->LogicalDpi; + + m_logicalWidth = window->Bounds.Width; + m_logicalHeight = window->Bounds.Height; + + m_nativeOrientation = currentDisplayInformation->NativeOrientation; + m_currentOrientation = currentDisplayInformation->CurrentOrientation; + + int outputWidth = ConvertDipsToPixels(m_logicalWidth); + int outputHeight = ConvertDipsToPixels(m_logicalHeight); + + DXGI_MODE_ROTATION rotation = ComputeDisplayRotation(); + + if (rotation == DXGI_MODE_ROTATION_ROTATE90 || rotation == DXGI_MODE_ROTATION_ROTATE270) + { + std::swap(outputWidth, outputHeight); + } + + m_sample->Initialize(reinterpret_cast(window), + outputWidth, outputHeight, rotation ); + } + + virtual void Load(Platform::String^ entryPoint) + { + } + + virtual void Run() + { + while (!m_exit) + { + if (m_visible) + { + m_sample->Tick(); + + CoreWindow::GetForCurrentThread()->Dispatcher->ProcessEvents(CoreProcessEventsOption::ProcessAllIfPresent); + } + else + { + CoreWindow::GetForCurrentThread()->Dispatcher->ProcessEvents(CoreProcessEventsOption::ProcessOneAndAllPending); + } + } + } + +protected: + // Event handlers + void OnActivated(CoreApplicationView^ applicationView, IActivatedEventArgs^ args) + { + if (args->Kind == ActivationKind::Launch) + { + auto launchArgs = static_cast(args); + + if (launchArgs->PrelaunchActivated) + { + // Opt-out of Prelaunch + CoreApplication::Exit(); + return; + } + } + + int w, h; + m_sample->GetDefaultSize(w, h); + + m_DPI = DisplayInformation::GetForCurrentView()->LogicalDpi; + + ApplicationView::PreferredLaunchWindowingMode = ApplicationViewWindowingMode::PreferredLaunchViewSize; + // Change to ApplicationViewWindowingMode::FullScreen to default to full screen + + auto desiredSize = Size(ConvertPixelsToDips(w), ConvertPixelsToDips(h)); + + ApplicationView::PreferredLaunchViewSize = desiredSize; + + auto view = ApplicationView::GetForCurrentView(); + + auto minSize = Size(ConvertPixelsToDips(320), ConvertPixelsToDips(200)); + + view->SetPreferredMinSize(minSize); + + CoreWindow::GetForCurrentThread()->Activate(); + + view->FullScreenSystemOverlayMode = FullScreenSystemOverlayMode::Minimal; + + view->TryResizeView(desiredSize); + } + + void OnSuspending(Platform::Object^ sender, SuspendingEventArgs^ args) + { + SuspendingDeferral^ deferral = args->SuspendingOperation->GetDeferral(); + + create_task([this, deferral]() + { + m_sample->OnSuspending(); + + deferral->Complete(); + }); + } + + void OnResuming(Platform::Object^ sender, Platform::Object^ args) + { + m_sample->OnResuming(); + } + + void OnWindowSizeChanged(CoreWindow^ sender, WindowSizeChangedEventArgs^ args) + { + m_logicalWidth = sender->Bounds.Width; + m_logicalHeight = sender->Bounds.Height; + + HandleWindowSizeChanged(); + } + + void OnVisibilityChanged(CoreWindow^ sender, VisibilityChangedEventArgs^ args) + { + m_visible = args->Visible; + if (m_visible) + m_sample->OnActivated(); + else + m_sample->OnDeactivated(); + } + + void OnWindowClosed(CoreWindow^ sender, CoreWindowEventArgs^ args) + { + m_exit = true; + } + + void OnAcceleratorKeyActivated(CoreDispatcher^, AcceleratorKeyEventArgs^ args) + { + if (args->EventType == CoreAcceleratorKeyEventType::SystemKeyDown + && args->VirtualKey == VirtualKey::Enter + && args->KeyStatus.IsMenuKeyDown + && !args->KeyStatus.WasKeyDown) + { + // Implements the classic ALT+ENTER fullscreen toggle + auto view = ApplicationView::GetForCurrentView(); + + if (view->IsFullScreenMode) + view->ExitFullScreenMode(); + else + view->TryEnterFullScreenMode(); + + args->Handled = true; + } + } + + void OnDpiChanged(DisplayInformation^ sender, Object^ args) + { + m_DPI = sender->LogicalDpi; + + HandleWindowSizeChanged(); + } + + void OnOrientationChanged(DisplayInformation^ sender, Object^ args) + { + m_currentOrientation = sender->CurrentOrientation; + + HandleWindowSizeChanged(); + } + + void OnDisplayContentsInvalidated(DisplayInformation^ sender, Object^ args) + { + m_sample->ValidateDevice(); + } + +private: + bool m_exit; + bool m_visible; + float m_DPI; + float m_logicalWidth; + float m_logicalHeight; + std::unique_ptr m_sample; + + Windows::Graphics::Display::DisplayOrientations m_nativeOrientation; + Windows::Graphics::Display::DisplayOrientations m_currentOrientation; + + inline int ConvertDipsToPixels(float dips) const + { + return int(dips * m_DPI / 96.f + 0.5f); + } + + inline float ConvertPixelsToDips(int pixels) const + { + return (float(pixels) * 96.f / m_DPI); + } + + DXGI_MODE_ROTATION ComputeDisplayRotation() const + { + DXGI_MODE_ROTATION rotation = DXGI_MODE_ROTATION_UNSPECIFIED; + + switch (m_nativeOrientation) + { + case DisplayOrientations::Landscape: + switch (m_currentOrientation) + { + case DisplayOrientations::Landscape: + rotation = DXGI_MODE_ROTATION_IDENTITY; + break; + + case DisplayOrientations::Portrait: + rotation = DXGI_MODE_ROTATION_ROTATE270; + break; + + case DisplayOrientations::LandscapeFlipped: + rotation = DXGI_MODE_ROTATION_ROTATE180; + break; + + case DisplayOrientations::PortraitFlipped: + rotation = DXGI_MODE_ROTATION_ROTATE90; + break; + } + break; + + case DisplayOrientations::Portrait: + switch (m_currentOrientation) + { + case DisplayOrientations::Landscape: + rotation = DXGI_MODE_ROTATION_ROTATE90; + break; + + case DisplayOrientations::Portrait: + rotation = DXGI_MODE_ROTATION_IDENTITY; + break; + + case DisplayOrientations::LandscapeFlipped: + rotation = DXGI_MODE_ROTATION_ROTATE270; + break; + + case DisplayOrientations::PortraitFlipped: + rotation = DXGI_MODE_ROTATION_ROTATE180; + break; + } + break; + } + + return rotation; + } + + void HandleWindowSizeChanged() + { + int outputWidth = ConvertDipsToPixels(m_logicalWidth); + int outputHeight = ConvertDipsToPixels(m_logicalHeight); + + DXGI_MODE_ROTATION rotation = ComputeDisplayRotation(); + + if (rotation == DXGI_MODE_ROTATION_ROTATE90 || rotation == DXGI_MODE_ROTATION_ROTATE270) + { + std::swap(outputWidth, outputHeight); + } + + m_sample->OnWindowSizeChanged(outputWidth, outputHeight, rotation); + } +}; + +ref class ViewProviderFactory : IFrameworkViewSource +{ +public: + virtual IFrameworkView^ CreateView() + { + return ref new ViewProvider(); + } +}; + + +// Entry point +[Platform::MTAThread] +int main(Platform::Array^ argv) +{ + UNREFERENCED_PARAMETER(argv); + + auto viewProviderFactory = ref new ViewProviderFactory(); + CoreApplication::Run(viewProviderFactory); + return 0; +} diff --git a/Samples/IntroGraphics/SimpleBezierUWP/Package.appxmanifest b/Samples/IntroGraphics/SimpleBezierUWP/Package.appxmanifest new file mode 100644 index 00000000..bc780d85 --- /dev/null +++ b/Samples/IntroGraphics/SimpleBezierUWP/Package.appxmanifest @@ -0,0 +1,49 @@ + + + + + + + + + + SimpleBezier + Xbox Advanced Technology Group + Assets\StoreLogo.png + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/IntroGraphics/SimpleBezierUWP/Readme.docx b/Samples/IntroGraphics/SimpleBezierUWP/Readme.docx new file mode 100644 index 0000000000000000000000000000000000000000..0e57b684df7fcd85137ba1462aae8f7c9ead0728 GIT binary patch literal 78499 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, + DXGI_FORMAT_D32_FLOAT, 2, D3D_FEATURE_LEVEL_11_0); + m_deviceResources->RegisterDeviceNotify(this); + + m_help = std::make_unique(c_sampleTitle, c_sampleDescription, c_helpButtons, _countof(c_helpButtons), true); +} + +// Initializes the Direct3D resources required to run. +void Sample::Initialize(IUnknown* window, int width, int height, DXGI_MODE_ROTATION rotation) +{ + m_gamePad = std::make_unique(); + + m_keyboard = std::make_unique(); + m_keyboard->SetWindow(reinterpret_cast(window)); + + m_deviceResources->SetWindow(window, width, height, rotation); + + m_deviceResources->CreateDeviceResources(); + CreateDeviceDependentResources(); + + m_deviceResources->CreateWindowSizeDependentResources(); + CreateWindowSizeDependentResources(); +} + +#pragma region Frame Update +// Executes basic render loop. +void Sample::Tick() +{ + m_timer.Tick([&]() + { + Update(m_timer); + }); + + Render(); +} + +// Updates the world. +void Sample::Update(DX::StepTimer const&) +{ + PIXBeginEvent(PIX_COLOR_DEFAULT, L"Update"); + + auto pad = m_gamePad->GetState(0); + if (pad.IsConnected()) + { + m_gamePadButtons.Update(pad); + } + else + { + m_gamePadButtons.Reset(); + } + + auto kb = m_keyboard->GetState(); + m_keyboardButtons.Update(kb); + + if ((!m_showHelp && m_keyboardButtons.IsKeyPressed(Keyboard::Escape)) || pad.IsViewPressed()) + { + Windows::ApplicationModel::Core::CoreApplication::Exit(); + } + + if (m_keyboardButtons.IsKeyPressed(Keyboard::F1) || m_gamePadButtons.menu == GamePad::ButtonStateTracker::PRESSED) + { + m_showHelp = !m_showHelp; + } + else if (m_showHelp && (m_keyboardButtons.IsKeyPressed(Keyboard::Escape) || m_gamePadButtons.b == GamePad::ButtonStateTracker::PRESSED)) + { + m_showHelp = false; + } + else if (m_keyboardButtons.IsKeyPressed(Keyboard::W) || m_gamePadButtons.y == GamePad::ButtonStateTracker::PRESSED) + { + m_drawWires = !m_drawWires; + } + else if (m_keyboardButtons.IsKeyPressed(Keyboard::D1) || m_keyboardButtons.IsKeyPressed(Keyboard::NumPad1) || + m_gamePadButtons.x == GamePad::ButtonStateTracker::PRESSED) + { + m_partitionMode = PartitionMode::PartitionInteger; + } + else if (m_keyboardButtons.IsKeyPressed(Keyboard::D2) || m_keyboardButtons.IsKeyPressed(Keyboard::NumPad2) || + m_gamePadButtons.a == GamePad::ButtonStateTracker::PRESSED) + { + m_partitionMode = PartitionMode::PartitionFractionalEven; + } + else if (m_keyboardButtons.IsKeyPressed(Keyboard::D3) || m_keyboardButtons.IsKeyPressed(Keyboard::NumPad3) || + (!m_showHelp && m_gamePadButtons.b == GamePad::ButtonStateTracker::PRESSED)) + { + m_partitionMode = PartitionMode::PartitionFractionalOdd; + } + + if (kb.Down || pad.IsLeftTriggerPressed()) + { + m_subdivs = std::max(m_subdivs - 0.1f, c_minDivs); + } + + if (kb.Up || pad.IsRightTriggerPressed()) + { + m_subdivs = std::min(m_subdivs + 0.1f, c_maxDivs); + } + + float rotationAxisY = 0.0f; + + if (pad.thumbSticks.leftX != 0.0f) + { + rotationAxisY = -pad.thumbSticks.leftX * c_rotationAnglePerStep; + } + else if (kb.Left) + { + rotationAxisY = c_rotationAnglePerStep; + } + else if (kb.Right) + { + rotationAxisY = -c_rotationAnglePerStep; + } + + if (rotationAxisY != 0.0f) + { + XMVECTOR eye = XMLoadFloat3(&m_cameraEye); + eye = XMVector3Transform(eye, XMMatrixRotationY(rotationAxisY)); + XMMATRIX view = XMMatrixLookAtLH(eye, c_cameraAt, c_cameraUp); + XMStoreFloat4x4(&m_viewMatrix, view); + XMStoreFloat3(&m_cameraEye, eye); + } + + PIXEndEvent(); +} +#pragma endregion + +#pragma region Frame Render +// Draws the scene. +void Sample::Render() +{ + // Don't try to render anything before the first Update. + if (m_timer.GetFrameCount() == 0) + { + return; + } + + Clear(); + + auto context = m_deviceResources->GetD3DDeviceContext(); + PIXBeginEvent(context, PIX_COLOR_DEFAULT, L"Render"); + + if (m_showHelp) + { + //Clear hull and domain shaders so help can render. + context->HSSetShader(nullptr, nullptr, 0); + context->DSSetShader(nullptr, nullptr, 0); + + m_help->Render(); + } + else + { + //Reset state that may have been modified by showing help. + context->OMSetBlendState(m_states->Opaque(), Colors::Black, 0xFFFFFFFF); + context->OMSetDepthStencilState(m_states->DepthDefault(), 0); + + XMMATRIX view = XMLoadFloat4x4(&m_viewMatrix); + XMMATRIX projection = XMLoadFloat4x4(&m_projectionMatrix); + XMMATRIX viewProjectionMatrix = XMMatrixMultiply(view, projection); + + // Update per-frame variables. + auto d3dBuffer = m_cbPerFrame.Get(); + + { + MapGuard mappedResource(context, d3dBuffer, 0, D3D11_MAP_WRITE_DISCARD, 0); + + ConstantBuffer* data = reinterpret_cast(mappedResource.get()); + + XMStoreFloat4x4(&data->viewProjectionMatrix, viewProjectionMatrix); + data->cameraWorldPos = m_cameraEye; + data->tessellationFactor = (float)m_subdivs; + } + + // Render the meshes. + // Bind all of the CBs. + context->VSSetConstantBuffers(0, 1, &d3dBuffer); + context->HSSetConstantBuffers(0, 1, &d3dBuffer); + context->DSSetConstantBuffers(0, 1, &d3dBuffer); + context->PSSetConstantBuffers(0, 1, &d3dBuffer); + + // Set the shaders. + context->VSSetShader(m_vertexShader.Get(), nullptr, 0); + + // For this sample, choose either the "integer", "fractional_even", + // or "fractional_odd" hull shader. + if (m_partitionMode == PartitionMode::PartitionInteger) + { + context->HSSetShader(m_hullShaderInteger.Get(), nullptr, 0); + } + else if (m_partitionMode == PartitionMode::PartitionFractionalEven) + { + context->HSSetShader(m_hullShaderFracEven.Get(), nullptr, 0); + } + else if (m_partitionMode == PartitionMode::PartitionFractionalOdd) + { + context->HSSetShader(m_hullShaderFracOdd.Get(), nullptr, 0); + } + + context->DSSetShader(m_domainShader.Get(), nullptr, 0); + context->GSSetShader(nullptr, nullptr, 0); + + // Optionally draw the wireframe. + if (m_drawWires) + { + context->PSSetShader(m_solidColorPS.Get(), nullptr, 0); + context->RSSetState(m_states->Wireframe()); + } + else + { + context->PSSetShader(m_pixelShader.Get(), nullptr, 0); + context->RSSetState(m_states->CullNone()); + } + + // Set the input assembler. + // This sample uses patches with 16 control points each. + // Although the Mobius strip only needs to use a vertex buffer, + // you can use an index buffer as well by calling IASetIndexBuffer(). + context->IASetInputLayout(m_inputLayout.Get()); + UINT stride = sizeof(XMFLOAT3); + UINT offset = 0; + context->IASetVertexBuffers(0, 1, m_controlPointVB.GetAddressOf(), &stride, &offset); + context->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST); + + // Draw the mesh + context->Draw(_countof(c_mobiusStrip), 0); + } + + PIXEndEvent(context); + + // Show the new frame. + PIXBeginEvent(PIX_COLOR_DEFAULT, L"Present"); + m_deviceResources->Present(); + PIXEndEvent(); +} + +// Helper method to clear the back buffers. +void Sample::Clear() +{ + auto context = m_deviceResources->GetD3DDeviceContext(); + PIXBeginEvent(context, PIX_COLOR_DEFAULT, L"Clear"); + + // Clear the views. + auto renderTarget = m_deviceResources->GetBackBufferRenderTargetView(); + auto depthStencil = m_deviceResources->GetDepthStencilView(); + + context->ClearRenderTargetView(renderTarget, ATG::ColorsLinear::Background); + context->ClearDepthStencilView(depthStencil, D3D11_CLEAR_DEPTH | D3D11_CLEAR_STENCIL, 1.0f, 0); + + context->OMSetRenderTargets(1, &renderTarget, depthStencil); + + // Set the viewport. + auto viewport = m_deviceResources->GetScreenViewport(); + context->RSSetViewports(1, &viewport); + + PIXEndEvent(context); +} +#pragma endregion + +#pragma region Message Handlers +// Message handlers +void Sample::OnActivated() +{ +} + +void Sample::OnDeactivated() +{ +} + +void Sample::OnSuspending() +{ + auto context = m_deviceResources->GetD3DDeviceContext(); + context->ClearState(); + + m_deviceResources->Trim(); +} + +void Sample::OnResuming() +{ + m_timer.ResetElapsedTime(); + m_gamePadButtons.Reset(); + m_keyboardButtons.Reset(); +} + +void Sample::OnWindowSizeChanged(int width, int height, DXGI_MODE_ROTATION rotation) +{ + if (!m_deviceResources->WindowSizeChanged(width, height, rotation)) + return; + + CreateWindowSizeDependentResources(); +} + +void Sample::ValidateDevice() +{ + m_deviceResources->ValidateDevice(); +} + +// Properties +void Sample::GetDefaultSize(int& width, int& height) const +{ + width = 1280; + height = 720; +} +#pragma endregion + +#pragma region Direct3D Resources +// These are the resources that depend on the device. +void Sample::CreateDeviceDependentResources() +{ + auto device = m_deviceResources->GetD3DDevice(); + auto context = m_deviceResources->GetD3DDeviceContext(); + + m_states = std::make_unique(device); + + CreateShaders(); + + // Initialize the world and view matrices. + XMMATRIX world = XMMatrixIdentity(); + XMMATRIX view = XMMatrixLookAtLH(c_cameraEye, c_cameraAt, c_cameraUp); + XMStoreFloat4x4(&m_worldMatrix, world); + XMStoreFloat4x4(&m_viewMatrix, view); + XMStoreFloat3(&m_cameraEye, c_cameraEye); + + m_help->RestoreDevice(context); +} + +// Creates and initializes shaders and their data. +void Sample::CreateShaders() +{ + auto device = m_deviceResources->GetD3DDevice(); + + // Load and create shaders. + auto vertexShaderBlob = DX::ReadData(L"BezierVS.cso"); + DX::ThrowIfFailed( + device->CreateVertexShader(vertexShaderBlob.data(), vertexShaderBlob.size(), + nullptr, m_vertexShader.ReleaseAndGetAddressOf())); + + auto hullShaderIntegerBlob = DX::ReadData(L"BezierHS_int.cso"); + DX::ThrowIfFailed( + device->CreateHullShader(hullShaderIntegerBlob.data(), hullShaderIntegerBlob.size(), + nullptr, m_hullShaderInteger.ReleaseAndGetAddressOf())); + + auto hullShaderFracEvenBlob = DX::ReadData(L"BezierHS_fracEven.cso"); + DX::ThrowIfFailed( + device->CreateHullShader(hullShaderFracEvenBlob.data(), hullShaderFracEvenBlob.size(), + nullptr, m_hullShaderFracEven.ReleaseAndGetAddressOf())); + + auto hullShaderFracOddBlob = DX::ReadData(L"BezierHS_fracOdd.cso"); + DX::ThrowIfFailed( + device->CreateHullShader(hullShaderFracOddBlob.data(), hullShaderFracOddBlob.size(), + nullptr, m_hullShaderFracOdd.ReleaseAndGetAddressOf())); + + auto domainShaderBlob = DX::ReadData(L"BezierDS.cso"); + DX::ThrowIfFailed( + device->CreateDomainShader(domainShaderBlob.data(), domainShaderBlob.size(), + nullptr, m_domainShader.ReleaseAndGetAddressOf())); + + auto pixelShaderBlob = DX::ReadData(L"BezierPS.cso"); + DX::ThrowIfFailed( + device->CreatePixelShader(pixelShaderBlob.data(), pixelShaderBlob.size(), + nullptr, m_pixelShader.ReleaseAndGetAddressOf())); + + auto solidColorPSBlob = DX::ReadData(L"SolidColorPS.cso"); + DX::ThrowIfFailed( + device->CreatePixelShader(solidColorPSBlob.data(), solidColorPSBlob.size(), + nullptr, m_solidColorPS.ReleaseAndGetAddressOf())); + + + // Create our vertex input layout. + static const D3D11_INPUT_ELEMENT_DESC c_inputElementDesc[] = + { + { "POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 }, + }; + + DX::ThrowIfFailed( + device->CreateInputLayout(c_inputElementDesc, _countof(c_inputElementDesc), + vertexShaderBlob.data(), vertexShaderBlob.size(), + m_inputLayout.ReleaseAndGetAddressOf())); + + + // Create constant buffers. + D3D11_BUFFER_DESC bufferDesc; + bufferDesc.Usage = D3D11_USAGE_DYNAMIC; + bufferDesc.BindFlags = D3D11_BIND_CONSTANT_BUFFER; + bufferDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE; + bufferDesc.MiscFlags = 0; + bufferDesc.ByteWidth = sizeof(ConstantBuffer); + + DX::ThrowIfFailed(device->CreateBuffer(&bufferDesc, nullptr, m_cbPerFrame.ReleaseAndGetAddressOf())); + + + // Create vertex buffer. + D3D11_BUFFER_DESC vbDesc = { 0 }; + vbDesc.ByteWidth = sizeof(XMFLOAT3) * ARRAYSIZE(c_mobiusStrip); + vbDesc.Usage = D3D11_USAGE_DEFAULT; + vbDesc.BindFlags = D3D11_BIND_VERTEX_BUFFER; + + D3D11_SUBRESOURCE_DATA vbInitData = { 0 }; + vbInitData.pSysMem = c_mobiusStrip; + + DX::ThrowIfFailed(device->CreateBuffer(&vbDesc, &vbInitData, m_controlPointVB.ReleaseAndGetAddressOf())); +} + +// Allocate all memory resources that change on a window SizeChanged event. +void Sample::CreateWindowSizeDependentResources() +{ + auto size = m_deviceResources->GetOutputSize(); + + XMMATRIX projection = XMMatrixPerspectiveFovLH(XM_PIDIV4, float(size.right) / float(size.bottom), 0.01f, 100.0f); + + XMFLOAT4X4 orient = m_deviceResources->GetOrientationTransform3D(); + + XMStoreFloat4x4(&m_projectionMatrix, projection * XMLoadFloat4x4(&orient)); + + m_help->SetWindow(size); +} + +void Sample::OnDeviceLost() +{ + m_states.reset(); + m_inputLayout.Reset(); + m_vertexShader.Reset(); + m_hullShaderInteger.Reset(); + m_hullShaderFracEven.Reset(); + m_hullShaderFracOdd.Reset(); + m_domainShader.Reset(); + m_pixelShader.Reset(); + m_solidColorPS.Reset(); + m_controlPointVB.Reset(); + m_cbPerFrame.Reset(); + m_rasterizerStateSolid.Reset(); + m_rasterizerStateWireframe.Reset(); + + m_help->ReleaseDevice(); +} + +void Sample::OnDeviceRestored() +{ + CreateDeviceDependentResources(); + + CreateWindowSizeDependentResources(); +} +#pragma endregion diff --git a/Samples/IntroGraphics/SimpleBezierUWP/SimpleBezier.h b/Samples/IntroGraphics/SimpleBezierUWP/SimpleBezier.h new file mode 100644 index 00000000..9c0e55be --- /dev/null +++ b/Samples/IntroGraphics/SimpleBezierUWP/SimpleBezier.h @@ -0,0 +1,113 @@ +//-------------------------------------------------------------------------------------- +// SimpleBezier.h +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#pragma once + +#include "DeviceResources.h" +#include "StepTimer.h" +#include "ControllerHelp.h" + + +// A basic sample implementation that creates a D3D11 device and +// provides a render loop. +class Sample : public DX::IDeviceNotify +{ +public: + + Sample(); + + // Initialization and management + void Initialize(IUnknown* window, int width, int height, DXGI_MODE_ROTATION rotation); + + // Basic render loop + void Tick(); + void Render(); + + // Rendering helpers + void Clear(); + + // IDeviceNotify + virtual void OnDeviceLost() override; + virtual void OnDeviceRestored() override; + + // Messages + void OnActivated(); + void OnDeactivated(); + void OnSuspending(); + void OnResuming(); + void OnWindowSizeChanged(int width, int height, DXGI_MODE_ROTATION rotation); + void ValidateDevice(); + + // Properties + void GetDefaultSize( int& width, int& height ) const; + +private: + + void Update(DX::StepTimer const& timer); + + void CreateDeviceDependentResources(); + void CreateShaders(); + void CreateWindowSizeDependentResources(); + + // Device resources + std::unique_ptr m_deviceResources; + + // Rendering loop timer + DX::StepTimer m_timer; + + // Input devices + std::unique_ptr m_gamePad; + std::unique_ptr m_keyboard; + + DirectX::GamePad::ButtonStateTracker m_gamePadButtons; + DirectX::Keyboard::KeyboardStateTracker m_keyboardButtons; + + // Sample objects + struct ConstantBuffer + { + DirectX::XMFLOAT4X4 viewProjectionMatrix; + DirectX::XMFLOAT3 cameraWorldPos; + float tessellationFactor; + }; + + enum class PartitionMode + { + PartitionInteger, + PartitionFractionalEven, + PartitionFractionalOdd + }; + + std::unique_ptr m_states; + + Microsoft::WRL::ComPtr m_inputLayout; + Microsoft::WRL::ComPtr m_vertexShader; + Microsoft::WRL::ComPtr m_hullShaderInteger; + Microsoft::WRL::ComPtr m_hullShaderFracEven; + Microsoft::WRL::ComPtr m_hullShaderFracOdd; + Microsoft::WRL::ComPtr m_domainShader; + Microsoft::WRL::ComPtr m_pixelShader; + Microsoft::WRL::ComPtr m_solidColorPS; + + Microsoft::WRL::ComPtr m_controlPointVB; // Control points for mesh + Microsoft::WRL::ComPtr m_cbPerFrame; + + Microsoft::WRL::ComPtr m_rasterizerStateSolid; + Microsoft::WRL::ComPtr m_rasterizerStateWireframe; + + //Control variables + float m_subdivs; + bool m_drawWires; + PartitionMode m_partitionMode; + + DirectX::XMFLOAT4X4 m_worldMatrix; + DirectX::XMFLOAT4X4 m_viewMatrix; + DirectX::XMFLOAT4X4 m_projectionMatrix; + DirectX::XMFLOAT3 m_cameraEye; + + std::unique_ptr m_help; + bool m_showHelp; +}; \ No newline at end of file diff --git a/Samples/IntroGraphics/SimpleBezierUWP/SimpleBezier.sln b/Samples/IntroGraphics/SimpleBezierUWP/SimpleBezier.sln new file mode 100644 index 00000000..78402f16 --- /dev/null +++ b/Samples/IntroGraphics/SimpleBezierUWP/SimpleBezier.sln @@ -0,0 +1,54 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25123.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SimpleBezier", "SimpleBezier.vcxproj", "{F2BD98DC-269F-4239-9C5D-20CED0B9E882}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectXTK", "..\..\..\Kits\DirectXTK\DirectXTK_Windows10.vcxproj", "{F4776924-619C-42C7-88B2-82C947CCC9E7}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|ARM = Debug|ARM + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|ARM = Release|ARM + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {F2BD98DC-269F-4239-9C5D-20CED0B9E882}.Debug|ARM.ActiveCfg = Debug|ARM + {F2BD98DC-269F-4239-9C5D-20CED0B9E882}.Debug|ARM.Build.0 = Debug|ARM + {F2BD98DC-269F-4239-9C5D-20CED0B9E882}.Debug|ARM.Deploy.0 = Debug|ARM + {F2BD98DC-269F-4239-9C5D-20CED0B9E882}.Debug|x64.ActiveCfg = Debug|x64 + {F2BD98DC-269F-4239-9C5D-20CED0B9E882}.Debug|x64.Build.0 = Debug|x64 + {F2BD98DC-269F-4239-9C5D-20CED0B9E882}.Debug|x64.Deploy.0 = Debug|x64 + {F2BD98DC-269F-4239-9C5D-20CED0B9E882}.Debug|x86.ActiveCfg = Debug|Win32 + {F2BD98DC-269F-4239-9C5D-20CED0B9E882}.Debug|x86.Build.0 = Debug|Win32 + {F2BD98DC-269F-4239-9C5D-20CED0B9E882}.Debug|x86.Deploy.0 = Debug|Win32 + {F2BD98DC-269F-4239-9C5D-20CED0B9E882}.Release|ARM.ActiveCfg = Release|ARM + {F2BD98DC-269F-4239-9C5D-20CED0B9E882}.Release|ARM.Build.0 = Release|ARM + {F2BD98DC-269F-4239-9C5D-20CED0B9E882}.Release|ARM.Deploy.0 = Release|ARM + {F2BD98DC-269F-4239-9C5D-20CED0B9E882}.Release|x64.ActiveCfg = Release|x64 + {F2BD98DC-269F-4239-9C5D-20CED0B9E882}.Release|x64.Build.0 = Release|x64 + {F2BD98DC-269F-4239-9C5D-20CED0B9E882}.Release|x64.Deploy.0 = Release|x64 + {F2BD98DC-269F-4239-9C5D-20CED0B9E882}.Release|x86.ActiveCfg = Release|Win32 + {F2BD98DC-269F-4239-9C5D-20CED0B9E882}.Release|x86.Build.0 = Release|Win32 + {F2BD98DC-269F-4239-9C5D-20CED0B9E882}.Release|x86.Deploy.0 = Release|Win32 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|ARM.ActiveCfg = Debug|ARM + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|ARM.Build.0 = Debug|ARM + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|x64.ActiveCfg = Debug|x64 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|x64.Build.0 = Debug|x64 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|x86.ActiveCfg = Debug|Win32 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|x86.Build.0 = Debug|Win32 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|ARM.ActiveCfg = Release|ARM + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|ARM.Build.0 = Release|ARM + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|x64.ActiveCfg = Release|x64 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|x64.Build.0 = Release|x64 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|x86.ActiveCfg = Release|Win32 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Samples/IntroGraphics/SimpleBezierUWP/SimpleBezier.vcxproj b/Samples/IntroGraphics/SimpleBezierUWP/SimpleBezier.vcxproj new file mode 100644 index 00000000..06f61076 --- /dev/null +++ b/Samples/IntroGraphics/SimpleBezierUWP/SimpleBezier.vcxproj @@ -0,0 +1,479 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + Debug + ARM + + + Release + ARM + + + + {f2bd98dc-269f-4239-9c5d-20ced0b9e882} + DirectXApp + SimpleBezier + en-US + 14.0 + true + Windows Store + 10.0.10586.0 + 10.0.10240.0 + 10.0 + true + + + + Application + true + v140 + + + Application + true + v140 + + + Application + true + v140 + + + Application + false + true + v140 + + + Application + false + true + v140 + + + Application + false + true + v140 + + + + + + + + + + + + + + + + + + + + + + + + + + + + SimpleBezier_TemporaryKey.pfx + + + + d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\arm; $(VCInstallDir)\lib\arm + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + _DEBUG;%(PreprocessorDefinitions) + Fast + + + 4.0_level_9_3 + + + + + d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\arm; $(VCInstallDir)\lib\arm + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + NDEBUG;%(PreprocessorDefinitions) + Fast + + + 4.0_level_9_3 + + + + + d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store; $(VCInstallDir)\lib + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + _DEBUG;%(PreprocessorDefinitions) + Fast + StreamingSIMDExtensions2 + + + 4.0_level_9_3 + + + + + d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store; $(VCInstallDir)\lib + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + NDEBUG;%(PreprocessorDefinitions) + Fast + StreamingSIMDExtensions2 + + + 4.0_level_9_3 + + + + + d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\amd64; $(VCInstallDir)\lib\amd64 + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + _DEBUG;%(PreprocessorDefinitions) + Fast + + + 4.0_level_9_3 + + + + + d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\amd64; $(VCInstallDir)\lib\amd64 + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + NDEBUG;%(PreprocessorDefinitions) + Fast + + + 4.0_level_9_3 + + + + + + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + + + + + Designer + + + true + + + true + + + true + + + + + + + + + + + + + + + + + {f4776924-619c-42c7-88b2-82c947ccc9e7} + + + + + BezierDS + Domain + BEZIER_HS_PARTITION=\"integer\" + BezierDS + Domain + BEZIER_HS_PARTITION=\"integer\" + BezierDS + Domain + BEZIER_HS_PARTITION=\"integer\" + BezierDS + Domain + BEZIER_HS_PARTITION=\"integer\" + BezierDS + Domain + BEZIER_HS_PARTITION=\"integer\" + BezierDS + Domain + BEZIER_HS_PARTITION=\"integer\" + 5.0 + 5.0 + 5.0 + 5.0 + 5.0 + 5.0 + + + BezierHS + Hull + BEZIER_HS_PARTITION=\"fractional_even\" + BezierHS + Hull + BEZIER_HS_PARTITION=\"fractional_even\" + BezierHS + Hull + BEZIER_HS_PARTITION=\"fractional_even\" + BezierHS + Hull + BEZIER_HS_PARTITION=\"fractional_even\" + BezierHS + Hull + BEZIER_HS_PARTITION=\"fractional_even\" + BezierHS + Hull + BEZIER_HS_PARTITION=\"fractional_even\" + 5.0 + 5.0 + 5.0 + 5.0 + 5.0 + 5.0 + + + BEZIER_HS_PARTITION=\"fractional_odd\" + BEZIER_HS_PARTITION=\"fractional_odd\" + BEZIER_HS_PARTITION=\"fractional_odd\" + BEZIER_HS_PARTITION=\"fractional_odd\" + BEZIER_HS_PARTITION=\"fractional_odd\" + BEZIER_HS_PARTITION=\"fractional_odd\" + BezierHS + Hull + BezierHS + Hull + BezierHS + Hull + BezierHS + Hull + BezierHS + Hull + BezierHS + Hull + 5.0 + 5.0 + 5.0 + 5.0 + 5.0 + 5.0 + + + BEZIER_HS_PARTITION=\"integer\" + BEZIER_HS_PARTITION=\"integer\" + BEZIER_HS_PARTITION=\"integer\" + BEZIER_HS_PARTITION=\"integer\" + BEZIER_HS_PARTITION=\"integer\" + BEZIER_HS_PARTITION=\"integer\" + 5.0 + 5.0 + 5.0 + 5.0 + 5.0 + 5.0 + BezierHS + BezierHS + BezierHS + BezierHS + BezierHS + BezierHS + Hull + Hull + Hull + Hull + Hull + Hull + + + BezierPS + BezierPS + BezierPS + BezierPS + BezierPS + BezierPS + Pixel + BEZIER_HS_PARTITION=\"integer\" + Pixel + BEZIER_HS_PARTITION=\"integer\" + Pixel + BEZIER_HS_PARTITION=\"integer\" + Pixel + BEZIER_HS_PARTITION=\"integer\" + Pixel + BEZIER_HS_PARTITION=\"integer\" + Pixel + BEZIER_HS_PARTITION=\"integer\" + 5.0 + 5.0 + 5.0 + 5.0 + 5.0 + 5.0 + + + Vertex + Vertex + Vertex + Vertex + Vertex + Vertex + + + + + + + + + + + + + Document + + + Vertex + Vertex + Vertex + Vertex + Vertex + Vertex + BezierVS + BEZIER_HS_PARTITION=\"integer\" + BezierVS + BEZIER_HS_PARTITION=\"integer\" + BezierVS + BezierVS + BezierVS + BezierVS + BEZIER_HS_PARTITION=\"integer\" + BEZIER_HS_PARTITION=\"integer\" + BEZIER_HS_PARTITION=\"integer\" + BEZIER_HS_PARTITION=\"integer\" + 5.0 + 5.0 + 5.0 + 5.0 + 5.0 + 5.0 + + + SolidColorPS + Pixel + SolidColorPS + Pixel + SolidColorPS + Pixel + SolidColorPS + Pixel + SolidColorPS + Pixel + SolidColorPS + Pixel + BEZIER_HS_PARTITION=\"integer\" + BEZIER_HS_PARTITION=\"integer\" + BEZIER_HS_PARTITION=\"integer\" + BEZIER_HS_PARTITION=\"integer\" + BEZIER_HS_PARTITION=\"integer\" + BEZIER_HS_PARTITION=\"integer\" + 5.0 + 5.0 + 5.0 + 5.0 + 5.0 + 5.0 + + + + + + + + + \ No newline at end of file diff --git a/Samples/IntroGraphics/SimpleBezierUWP/SimpleBezier.vcxproj.filters b/Samples/IntroGraphics/SimpleBezierUWP/SimpleBezier.vcxproj.filters new file mode 100644 index 00000000..1431857a --- /dev/null +++ b/Samples/IntroGraphics/SimpleBezierUWP/SimpleBezier.vcxproj.filters @@ -0,0 +1,116 @@ + + + + + f1c1fb22-f67b-460c-8554-7d56f4062073 + + + 5bbc21d4-9215-4b1a-849c-2cf66cc1e65a + bmp;dds;fbx;gif;jpg;jpeg;tga;tiff;tif;png + + + {3830e378-670f-487e-a433-7c9d7bcb45e6} + + + {20648530-18a4-417b-a575-0da00dad4566} + + + + + + + Common + + + Common + + + ATG Tool Kit + + + ATG Tool Kit + + + ATG Tool Kit + + + + + + + + Common + + + ATG Tool Kit + + + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + + + + + + + Assets + + + Assets + + + Assets + + + Shaders + + + + + + Shaders + + + Shaders + + + Shaders + + + Shaders + + + Shaders + + + Shaders + + + Shaders + + + \ No newline at end of file diff --git a/Samples/IntroGraphics/SimpleBezierUWP/SimpleBezier_TemporaryKey.pfx b/Samples/IntroGraphics/SimpleBezierUWP/SimpleBezier_TemporaryKey.pfx new file mode 100644 index 0000000000000000000000000000000000000000..c65dd469816d123a3c081c0d677310dac0f4f809 GIT binary patch literal 2458 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 PP*j*5e>_PN)Jg&X3Q6fO literal 0 HcmV?d00001 diff --git a/Samples/Graphics/SimpleTriangleUWP12/StepTimer.h b/Samples/IntroGraphics/SimpleBezierUWP/StepTimer.h similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP12/StepTimer.h rename to Samples/IntroGraphics/SimpleBezierUWP/StepTimer.h diff --git a/Samples/Graphics/SimpleTriangleUWP12/pch.cpp b/Samples/IntroGraphics/SimpleBezierUWP/pch.cpp similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP12/pch.cpp rename to Samples/IntroGraphics/SimpleBezierUWP/pch.cpp diff --git a/Samples/IntroGraphics/SimpleBezierUWP/pch.h b/Samples/IntroGraphics/SimpleBezierUWP/pch.h new file mode 100644 index 00000000..d1a7aa22 --- /dev/null +++ b/Samples/IntroGraphics/SimpleBezierUWP/pch.h @@ -0,0 +1,65 @@ +//-------------------------------------------------------------------------------------- +// pch.h +// +// Header for standard system include files. +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#pragma once + +// Use the C++ standard templated min/max +#define NOMINMAX + +#include + +#include +#include +#include +#include + +#include +#include +#include +#include + +#include +#include + +#ifdef _DEBUG +#include +#endif + +#include "GamePad.h" +#include "Keyboard.h" +#include "Mouse.h" + +namespace DX +{ + // Helper class for COM exceptions + class com_exception : public std::exception + { + public: + com_exception(HRESULT hr) : result(hr) {} + + virtual const char* what() const override + { + static char s_str[64] = { 0 }; + sprintf_s(s_str, "Failure with HRESULT of %08X", result); + return s_str; + } + + private: + HRESULT result; + }; + + // Helper utility converts D3D API failures into exceptions. + inline void ThrowIfFailed(HRESULT hr) + { + if (FAILED(hr)) + { + throw com_exception(hr); + } + } +} \ No newline at end of file diff --git a/Samples/IntroGraphics/SimpleInstancingUWP/Assets/Logo.png b/Samples/IntroGraphics/SimpleInstancingUWP/Assets/Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..6e7e704a106b99487be0f1eded426e6c5a2c65a9 GIT binary patch literal 39826 zcmeAS@N?(olHy`uVBq!ia0y~yV3-EN983%h44admZDn9!;4JWnEM{Qf76xHPhFNnY z7#O&GGo76S0y6ST@{2R_3luz^ofQg-^3yVNQW+R3Zp{rYkC^;j%$F7d3?$8*E zck*|ZZ>_C*|Mu%aFrpY#0BxytkW4T3^y6Q3>0Vz3NqwXwP(-|z2n5n85Flz|b($N#_iM zf&~+Uvz+i*W(6PS1qPS)KUf)G(7MBek>SAUsb{BqUosZiG4+B}`KJ#L9w|OLl(W$( zQCw3Xjq{1poawWbg*~1#`<&xpV37KG@!&rT`w7pVJ$d*n?Rn1oFGm;s%l?qBWT*J? z{=YpvOe_one&^rcihug_8gs#M#to(WvsXql+zMmJxc@WO_%`Q)D6R`tKf5a}{y50Z zTNrS{MplN4oBOS5(!#w4kGt*u8$Zl{&|UZKkAvL5+f^SJ3THXYTzg<~^WVb6ys~vc zea}y`I2q=Bf3E!Rcx(ONKFy1dOg6^oh<1I9=-d&YTw0C65^x_PmgYSusW2=NJbAgUfjq}21%k643T!!OXujH7M1c`ZvB=)p%vN)dL z5KdII>JUuoyP(L<||C44m(%KOLZMvP<*k(gg>@n+M?`>Qd{I~8@4T4e$o3y zX$eDZS6_0&MMJ){o|}m=J?*Xuoe@%M$HkJLMwo{6nV?^I>E@3+cVqawukPL;3amK1TyFNsJ)($d-C2Bj!g|~ z6sAwyK7oIN|D@k14?o#1Vs*6Rkq_r0m7pb4guF~s?VqwNop0ncbHS>>vn%Ia;aJsS zH9yKTcR^WzesKFrVUyBXs%K}5IiFslyZGvbS()jX-!t@Imh9rZ+brig{lfH1*)P~% zK7ZN#rJRSijko!@N0NqQwq&*Ba*6Gd`ZIl&v0k1&^F)ZjbtCDS=`;9e%tfzj$B#-=<&5yqnru-4?WYEDlNDeoV4gQS6ve>c04&n%}CrweMEa+oHE(Z(rYfUs^ENVXn^HuU5HM-%B}nne7VP)w=6;>G@Z7my=&t zzU2IR>MP&NyBFQR=6+fHRs7ZaYws`0n;V#Lm`#w(F|n?G;3-pqQ#_SW)S;y2ZAx!=yqo{^p03=3cpb z#`b9K>fgS4v!zeQ9=3h&_~pa*h)0EI9?xAqd-NFw)>RpuGP(~WB)VnxAm{nfBS#z ze^~iR?4uuR0^>o(r;K|Wr5ZOgXEV#Q%w$>0Zpzxrx|>a($4=CVhm$u_zG!m(0r5}L zKa-8`r0dMOD0+%xu4t6>FM~5`K62Lt``XTP+!v_JU-r}I<(X|99S_`dI(EosO3oDj zSu3KcWwc7~Rp6H3lERYjI@i`biTs_ux9?;B%ATFpx3jhtm8GxA$_dIzelvSV!;V!u z8Y|j=xPF{2R3fax`L^@PksC*BJ0BM_Jz>|Ov{U@q%X6pamD@y` zMoy@)Xq_Q6eUtsuW(B7JeF^`k%kz9?g+H~-ZuNKFx2Shf;KuDcylf^tn;SOuo5fx0 zTIXLGZT@bh$Ba4sgS0CrN>19T{Mk3m<=VY9=WiC?)U}*4XUd$#LA;sMwrF2B*sihN zKTTVEGVhbhXSt`OC%2#a{zUm_@#ov3Ijuey7jFq#7r-axqrXDCB3dH4Vu#0GkEkog z_tXBp`l-y_Bv!L`!iIny8#dqAQ4#s^fzp20-D1k!!Q$n5hOt4rQYtb(T&g{taeC9V zzX6XTf~jSj2V5}z8s zreMvAbw4(^?RfSm+%NuW&DYA@Tet3cZ9nz)wa4ovuk+S?kKDiBYj2k0)eCJOc-KmQ z?0qU7pX+t6WMNg-*S@n`&Yn8UY?^5LHu}uAHMc)4G+X?wYHoe(>9D_RS8v~UQ|;EZ z{ddc&Kl3%qidx@$KjqDyt=bjg*?V1Uzvf+f*L1gEDoJ|R{%3V}cet1PAD!17ch>LUzlk$9$gEe+!>Zuv?1ubXv)|4t-&zo*#dpZ@=|T1T%WA402fSE# z?(m(%XYbFf-~N^3wMV7)C9D0VYjhXqF0fs=_x+2W#dBrjWZm~||6ljs@NshKant_r zc?;%h*na%^q-pZwXod;Is4pYJ{I zkNvQx;EU4tq}!_7z1P~Vvvsd4`1{afeRTfo)bFR?hTE(w`QrQ9`r`Y`^}n(XTrIx- zZxN)4{^3rViZPPR-@vbW>1sj#ZZEyztRNmQuF&B-gas<2f8n`@OLuShJ=H`FuG&&}1xrn9&tC>7yItU8NBDhpEegHnt0ON)|I zgHqF!u^Z%CR)XINs0O)~rRJ4jHL4=F0KY-l>`zIC>nSKL$^i#-O0s@xPHJvyUP-aO zp`Ibu04RWUWZ>FS0s$@!4n%Agmt>~l2tbewPHm|bnK-n8WFXqWX$lh6HsC0>@-NCv z&&*5Aami0E1^LU<#jYZ^KrbaT#md0M+|bC>*i_dr*(god*u*4J*CNRGJjujD z*D^INQ8&%dC?zd1#n?F25NEYY62+nCd1P8(8R?C7YWWnWUK{ zC#4yIA^}Z1Zac~|QuFLUb%?HksjiWEh@qL4p}Cc*p{{|sm4N}wD6lHrh7{+gm6RtI zr8=gk=9Sn%DlNodjI%SSk}^@y2+zz*$uBR~gqez}4Y%>h8Hsu6sVR2)FpV$)bS*ae zps35qq(RIj=jWBB7L||?dj*L_iMgpIsYS(hX`sBGnVXoNs$YrZ{JsSSA@785x`E zni(4y>l!DT80%UjrW)!RBpVy0nIsvR7+F}rLKG=u;|^7Do*T`XxC029E-8*VVk=Q{ z%2ab*BO_3mYGPq!Y)17m)pVqnsRW8qP)Q3fc43(hskA~*TQsacs8^;A9Y0f?GtE;H zjV(pU_sq>>cEw$kkSXW;{of%V0KhMJz^{8qSVBa z{GyQj{2Uz3ZWQlSRlqtw+k<3X+wo1z{%1tb>L#hA}f=DXijczOF{G9wE z-~5zRJ7XJtY{FP|c{)1>K&G1Qii6yp6g*v>%?vHg%yfhnUUDj^ zS6YnPivbVgIVGl}ih>&9&^{0LUb}&@MN)ENnu)Hlp_wscK*Yj4%|bUd$-p4l(7-Uw z%sdH_@NjpV>~I*Jn3$ZJlw?c;qYcw63=9k{%ylh{%nYHfPDwSv4P!vV6cJING7>tLnv;nmK#~&8jEz!L3_t;51a&o)!aCX9)G#f@f)+-nBpI7p zrkJPEz}2b7$;Osu$+U2Fnqi`0s*xc$@liRf(<~E{l9G%}X%HZ3mdS?ZW~oV_bZr1l zA;hI?NNPvT|H!2azS6@6H0TQ&rcKQ&0S`IY8QSP$h#}HCM12HkG%}|YG(=%%Ze(C! zV4!aZBB5H5rO~xU;@65Sjjk1;Gc+%=#Lft68=5eZF3`v{q~s1RNK8%zc@13%U3EZa zMQTojOJ;6rUU6oAo}HnofsH;`6S@pmosl?oBFR8?LZS_6)&yL9LqvmI-0Zk)^ud!o zpot%_6r`M?AqjOD4Q)_RP#Cp@r0^XLuF>EkDFjGTJes;jgNvjPAW89P>KY9$l0twa z#iOZfG`L6#0g@DtrmoT8A}It&QaqZvMuUr_5FknMXzCgbE|NlkB*mktYc#k>3IUQ7 zkEX8C;36pmNK!nSx<-SGq!1uU@o4HA4K9*GfF#AEscSU2ND2Xx6pyB^(cmH}1V~am znz}}Vi=+@BN%3gv8VxRzLVzU2qp52&xJU{Ck`#}ouF>EkDFjGTJes;jgNvjPAW89P z>KY9$l0twa#duQ}7vhAa)Vvg1rE(>EJI$^)QVa|X3dtTpz6=aistgPb%?u1b|1&T& zykuY~HDF+PmB7GYHG_dcJbzOBQ8xw#cMVS$$B>F!OZMLG%e`4BD`EKkmbL!#Cntl~ zD0S=XQoPut5#8c)(3R2b&flaP8PXG;zR&pI`rG_Q{KM1SPsPhu&u1x_sKk44lgeo} z6)&a8=aZhNJll8nVY{XBv5u*#r(NWmLYIHq^zB~uSxMuhBNEDgrq{ike&)`P|6k?J z+Yg`NNqhEg^?Ru^XYTMy{5L93h~Z;v-nnz<%!9}LkL-V@S~>A&(P#I&cVrr7E9%+n z{Ve`7Q{Uj8K+T`CXBm#9fBR#7>iy3@UqAlL`J)uDp6~FFiVc<1ebyVln|+)$G0&jb zqV695r|bVC&wTEaK6CrWg4gB==XU4!eLQOR?&uDNV~g8%CjP0l`}OkzH0b&I@Z-s2k3SVE z%AddR`1HnkpRVGi`$IrfT z?xzk({#(U2t>3pC4LVd)cW3iEfBu#KU&dO@Z)Z_?ZZ+#RU-8f6eP1h&yHDv*R&~11 z@pKwT|JATf8(T}X3?HD8Gp7=j`cY)lg zgcm7U4?os>q#aPbTN86|zk#5XwV=@9J8MsFy(@jJ?$lLF{iikeBm&!)|F7Ums|EXY-BXZc+1yO~{Av!(MM_3xXcK21BjU0ytG z!s)*!r#yasul0oL#G4O$a+1%UXKsDylo!w9av;6rd&D83Y007qc}qN;p8axF=_s~7 zA~$bi`MWPa<@Ih0d^}aS-k9mcvU!E4Ki9e65`9?vM1$}7@62-<{Oi`;`1bkvtjhDt zh4>5JEVD5`xFe~O&#k2Ij#_YIgwKzke8*Go`5m`NRMJxxDwtq-DYaXl%Go~<{VLLKIZw%tR{cvS(hSF&+|GD>gKiIICX3_>-;qfiW)xV zRy2S+DwIQs2W{!Y)7KL6`aW`Fkj#C@-)f5O45lGBvq4I;UeeTrZ9-W7h|`BdYv zSEcYrE6D^~u9RnrXC%H{`Mze7%;#_CoU>vp`Xo%{;#)4)*#3zrO?;E#DYCPB&(9j> zXECW~>XRhT6rFx7{WGj)T@3rN!>8WPZjIs9u(9~Oc~im!=U^}UWU;B%z14Q*9y(io zh(7st>9W!0X+AfMZg!Qht+7sD#A>|E_%p+&JGXQ%^IY@(9Bz0@tXu1x@$Ih>j`hiH z#+y3X)b6BarY)H>JLY}vye}O)gl31-D}0-Jdi9f2kIR_NSx^0(^sso&TA$sUcDd_J zi!?Z3b9ma*V(t8z7B8`xQ4%xPCO7Sw`cvY0^_kDpT|?f4z57~ZyL00Nrj(qxv!6z~1mQ)v!PMmEbR?)1Q1!q%%Gc3{U&l zt}!(td)DmA*{+Y*+)W6ooq7DT?}B#m&3ArHIX>+Gl9lLnrkFe=MpR)&N|GJ*CgfqRTr^d<2*sb@dnzo9ApykEq!9063 z^IabWN*d+fE8n5=VBXK%CG9)SWttYIE)uhJOuo~(K6+V=uCVu$_Q0X5GbK_BB&XKw zbM0Sx?snW`XSt^xr8C>>liw*GO*~}H#(Uv`r3CxrBUdUM#W~d1F|Ur?qNerpi-LR&o#mfzXd){ofJA7o5n}c5DRdG?#$Fp^*n((Zs^dm$p`ZbNMN|d;0k;shv!DyEFthZ|c>3^Of)1@*{Jl+tv2;#usI3ySPm_ zn#d#=$mV&uAyjUWj?aXWL&Z&3RNh>+6<*+TA#&Ff;d8mi=CBACZ@M$p?S@9dy*CTa zC`~O)oSHeMMvySP1HW+#su=af`F>6zMve_lLp&_8{_ z@^hG()SR__%PX@^^Oz}gO1=(IaGw3VVu^q9{S?WEJ$sCUSKp3v*l;3!i`K-ck1v!h z$_~suaj1&T@4Eb%0|Arml7Aj$QTuoC$(H76>)!pE@%)&hnt|?l(IaMGW*uA9azHR? zR_bl%b9(c+S@dmhw>FVY>Kpgwo8KMMo|+g{sf94!$I|!}*cuvP!@1 z^IF@rejolEy7L`Ve^*%mV}gyt_Ri%J+K)R98)V-+qLXgYSZTvL{l*s8yN~Q1e|w|b zlY1?~F#Uc=!z|7qAvGlxk)26mhYAh2zL~E6x1;Lr^GR2>3Aq`ESl%!z-ew{EWO`J@ zx!CWaf+68W!fzPQ%zwH)DsM%l%(ffC7o4`VSe7&9ZS?Zo!1P9lL;hjKwfhQDvMVD* z?meD#_N)OzZOX@|QK_kQJ9n|}yx?oy^NZ`;uRC)kF5S7Yc7n1^7jN30#o71IEdB3v zM~|<5L*w$w^$EWm6n6aF<6ffbcIfO>i|O9lH}@#|TW))t{IzP)g^S+v46m_je-<*| zQ7XC7*6(ggqC*_FOLttADs9xXJH#_*t<0hpOjAviuCi$vI%JF zJ1o&Ni90R(;LHq{wiRpB%5|%kxO7WgUh=rLDp;Sa~gRD9uCJ}wXExq>?m-&l&H4zf{otkt2yt|jtBgR)nL!#Wixi#?X=Z~ zN$Jgz-)Hu5pXxu#xFMm zf6n>Oe;TWlz*)K8=zoycv*igrr{W|sb#3gKHVWQ3aIl>{^ZnvC(rW5Aca*7J)O*mw zGEK*B$x?ge<1buxX(t!7?d8+kZxJVzEw(e}Sj_sh5(oFD#}qSNcbW6x9gx-f9UDMy!Gu0|2t_w>%krw=!XHD3wt%8^5dIrle1*$h*SYrI7 z&)9y`8qZr@LdpxLoZ+&G_Bh!7c;juu;H@3!W_~?#@P&}c#3LtG%w4*EPOnKyVcpxpf-Zr>S={++23rMS;V6mQspOSKc;(1f#h# zW!gFvbEl;iRvi93;Zk1pkqK#DldjYndOdtHWmEq-wM_~ajCEX=^v!;Csj}yL$i@&` zQPqW)-l}ALTB3OL=hTYIY^TE|%on&~X7s0+1qnNLzTs<{#P(TJ==XxuGrLt&ml=1i z^00dRuq*O#oAw?-tqD^6Z;Td~+}R_r<8F(x)2kJaX0Lhm>@okNo^0QF3eo?^Hu{W%UI3Y3`0$}cJ3)mdWyjfny1RDspOW*5xRJKCd(w`&D}lN{XP#_M zoUN+Q;5s?Bs5f-)Bd1MHP1}~re}U~?%ND5?i}UX`H}`1ye{yDW zzNv0@X`7~Qfm{)1?UX4c=OY} zv}4=7c$y;(?YD=ARegv}pQY-3;rZj<;0sa*bt5mGWS%~y?%CqP<#TWK+2}vy%M5Te ziC$FGb*e4mk&ou0f3s_ssZ8(+zQn4-v5!SjfWyMbu>a4+JFA6?Hcf72Vr9*Ed2&mc z%GQf-IG?&#)bKp?4Ct+p$h9z7q&4B?!Hb7ko}I`qHJPzs67x!yh^Mo8|S)=IFs-~xvH(g zc@wS}PkJADxKX8%XUm(fsw(Y1=@V3xc8CR>;+eUt%f)!b*T8T3+0x=oI)dUAX}UTW zmF}#b)az0zVo_-GgR#R~EXi0^MRUfl9Wn76Q=cyIa*=dwHe31C$B$2A%YxZ9i!69f zrnGzL?G&Gy?U7cXre*p$MR2KypJ0PZ%dJmOI5RkNgS59u^#)&RJ=LNGA>n)Rhr=Y<kP z8At3?g|=Tjz&-I?%-O&N)?NoWpNd9o(pSzef4Zjfr}@OR@TXmAdz$|DN^ewg&X_kt zw~$4zKECk%g^n&qk1RbEfu_QnzRn#fTb#Eq3J|__R=&+-BFmS~f4NG2PW^(WYW{mJ zWSlt?!}56XY_oa%H$0s>D%n`E?tT8h3R=) zoSi81_Q4***XNJ=*m*OBICg9dy*K&qd>!WGW|Qs`|J^Ys%LEHfHtVh^T7Olq$;oS- z4Pz>&R!>;jIxpRrD%(8oMGle{s)hNDViB8G%T9Q+yR+YE!L`X+cc=WEe&_m?uh|a+ ztx^`9-2P^-keJiIf^PxA3e$7d=IPJd;=y3&+Ah%9JgIl_Y^6tMKW?3tKrV8qsNb4SBwxmlb&^OOXtW_q(< z`|2=5edcD#YmYLL)w7SC6kFOC@KwD%vq(O+#vn~j-;d$w9LBI9^X@squ?=dUFHZCB zo3*>Qf=g|S+O4|ux4aY2HH2}moYwsEH)m(cH@g;j)iMd!kf?t1hf6$4*j}23HkxHI zRRp&BL?$#Z<5ep%FwPFR-01bU&~_f{*KfC$2-Qtq-O$X-?&)k4-01Ka?^ZSierzWjizNGk19QQ_>ove$_&N#Iv(6mkI{!F7o)e~-S zZWraqIyHUjpEY_Kk42}=RGEG@E44W@IE;ZO^CXMt?Vl`*x|He`n%~db-g=eE$8xK4 z?ed%iDG`kYZ=e+W7HG)s<93Ln?c|ETtXN}0xlm*83{qwv&?L1w$ zy-f6%l9|<#pB+n<%<_6LneV~bIa&W&)c114&fb17*SYXvMqI|+oio#pid0EWjQ7!Q z?sQqa*7H|yZS%?-#Sy_RxArVFT{-#LNy|%T&6K@lo*!!LJf*hLnm?oF)&5QU)aU5? z#$JtPUueS+eR_$E>xQ+C`=`{cGt@g8=f*Vgi;2&U8yEA}E=h>?Dpu@f5-+gsR`ohN zNyKH{{N1a!7^}8wZ?KNj<5?`yXILn@a!oA4CM%Fe7_qpAO7L!Q*#E6Tbn7R%LY)=FIA*e!YChD+p8 z|BVub*L-!?8aAbJ9&DL9^YtzF{Ehk%m7Yp28rFsJ9lx4Vj$O)Ddh~p0tr2UGUQP0` zM{Z${cgSC<6yD3Vf59YeuRm+-OczG!Y5ALqbwn-9YVO$1u(~(Oq|Mm7>gmh;By}!-=-ZRZDY3nX_*t~ZllgZbdW{}Qn)3x=@bA8syL6LShI}dBETl}h($<(>^(am|f zuU3?-{cwc0r6aQ_i0d5BwU`N9#c45FUnP%A*95NP;j%o+m8?J8^{Cf`Gr8su4ZCYI zW_?s)trkrU{&Ri8-5DlbLZywO6MG$IF*oUz=zPsT@+)uCOP*`1j_j_@-I3v?6EJVu zpQXQ?9d>*>b7t3s#e3Y1BL!zJ5oEd4Tg2ofa>Y12qrhbSjlP1fp4C~|{)!!In}79* z{N0;*d&5TaH9jfgoH1NaZ6v}bzC8WY_GkD$BR9=nnJM2Vy|CH7&4D5NU76MD86Fvd zJElMVEG6j}87sBXp|oCS|I^T$%UAFpaZ@^N;V@M-$bGi%j3VuAb&WRHV^Xg#x-WRD zZ!)*h{O#iYjAufbMD3sIuAUX}v`gem)US^hCoVm_E@1A;p9QOYZvH-*zgSuHeq_Ue zv(*cE(x1+MTVTkh>~iPXvWDLtmv#lsGWl6j#1qIj^c8^YGAr_j#b#Ir&&pd1)l$yMr*^*B{OVbJ!b`QMf>W;S{}kq= zb~$J_uh!BlriTpI=r9XcGuEZ0P7l&>P+qO+woU8x+_+1(J}xa=QNk7Idf?HtAj9Yx z;v1vyTs?YPJm!wL^AW9so*O-XDIJ)lVSmx-IHO@B&x^K<_33XtHD_*3((pa$W>wwY zRh(58EIfIxQ)7+KnU1Vn^;UnAnIvXdSe@p4$N11pNI#u>;x>kw>yM_q{-xQ> z!e-c!G%<7X=NSoscRr=XFIaxTNB(M&?(FB2<~)&nv*e{?<KUdCO@k zk4T#52i2IBOOw^NevwpSwY|PHyk75F&&w-;5%C|t?71~rGeuN<{j;XdF6~rEz@?4mM+=1-4O9-jJX&ohYxwld=V!BC+P?JoC4TFIIaA@z z_@7T^Upw{etk%hzwawQq3Rh&!Zc|$D(2%b@)aTME&r0*`>+eH;su}mQ>9Z(*UQqmz z|3X{!q^mMo45!ly;-)3Es{9UASyJfE__}kt$TJS!R`-J{=du#oJuU@%ot^UfhWfrh zmCDvkGre2gCCzhXr?}00wu$G##XkQFJYEyzBRg-f_SW_-kYr8Vb6H^8+K-&G^i2}V z#I0JkOy2XxUjM9ahPqb%ol^@Unl_w#JSEfM<@4DYv(HTU=+yZA(CNk&X2ph!PlPqD zsg~ZFa86NB`fKRcLp3YEymDjgY}va-X&RGla8cKRz%@G#oSISLa_&T7Zv2wQnO~+Y z=bm{)eCBh<4y_d;bG9Cs)84A}`@*t6n+&>Db#&G&x+(p^&3BXd$+*@_d!EXP%?~rV znpT~e(6!ZT-P*Jq!@_k=JQA8ckGu?%jqV%?-Ft#@*=bP?p`P!rN+$X#S7vc6zPNNw z>Zb6Lu;$edt{aBzD}H_9=iE5wh1}`>cYPW1Kguhz@NKv{zf*m){ffh{8=g%1^E~M; z+b`pby3;-hE`QMw9oojv`qj%$@9(2639}hjyk5gNSNzyaZnYoVo_tHRo_wV>lPT3H zb?codJx(i+^%0f7n>mzH4}4hnX%E9TG2!5jtP2{e9aqcoXWK1SFUl;N^3A7|+f-kx z@x}gig~3xd@7xg?l{(!)OWZj(n3JpX(Z{3w%RYViGDkDvwfKzsq*k%3FM4L(+>q>O z8KA1Ana3ca#NeZ$mJ(OaI{6OIX1y;l(Y_%QByTM3Xo~v0qK7TfRVK0{D!k|NI>x(a zs^m*0tyn(=>tCKz@6&nw;^q89X7Ba*G!|D_&v!R7(BoCSY%V@`^7$e;y*~`Q_G*@2 zuY9m@{zb+wd188$Y-|jSfs|&w> z*1TH&`D2C6x6hTEb#9;Cq%%7;at-S>xi|kV+P`?w{`g~w)%-s7i1=HZa-Kikn|tfa zd>8lkd%qXk&-FY0_+yRT!JN%EbEc<8ZkxTdaovF<+EvF3>uu)oFTczwJ9}GX+3B>+ zIcBr3ZPTq}Jn*x|?t7ix{Qmaik3XjLo&D2tJ9YC4Td!TkV((KX0y?giV z+O=obu01;1NU0z;pHFw?m z_4;~cf+DwHR_v+&pSSz=-MWJ6-;bW2{hY3!mmhy`-=1Cj_U+lTXU~osI;S_??CCGG z`~LW2!3}viIeB?Gx%cnx?W_Cx>hJIG`SGSW{)YpA}^zG^C>DRA^hffa|7Z*QWwq57!-miW4&L4mLvB1K{&hFm* z{q?_}ycw_KYB<|#mjDqJ;?+?@% z2DD`z;?6kK7H8SAdzQxq4~^=FY}*h2`@y~c2lxDcd;Rx+`Zzs5FE8%So{GBS;>yC8 zXRF`WvRr;yG5ZeJ_h)N!XZ?OzQuY7c-MhPY?=F9TZ(rr_XJ236|NoHx|LghxUZ&mL z@%v@PuNRB?_kZ^P|9yS!r<2{cZ;P9oo133sueZKt^ULR(V{9aoCyH+0mU;G!oSgjq z{ng*Uy?gie_V)Ghd;k6WzW;xF{g3&#mhIg7_-DoMM@Q{{9{>O3b^Yu5oqKCPK04Yx zd-m+rt5=^*E4G_|v6_9&_c)7r@7}H5dUn~&n~xtq-o3lLygdK@p32{^zOKIi{~&+; z7x{V(iKy}GJo*4JaCqaK@Envqqv>iFNs z<@-L*z5nm||C;^vHZpz7KmRPTy1RFG@%OW7m!q=R_V&-^-Fna6E-v|mBs%& zb$ou!r>|$zHt*hXL+|$gPx1eje0{c7mhX4`zh~z4ueaA%-^`Jdm-khF4b z`#Ph48m!xM`)%3n-1je*AAbDv&hMLhV(qKHJ^EI*`)*uptZjAKUr;bq9ba}cvHr&~ z^L-z0|9=!8^F~kZd;jvwFH5ZUR)0Tt#%%W4w9S(FHJ8;6pE*)#r;gWuV6QK*lAXS7fyV-&w=Z996*|jvVVTRz&Q{^3Oj(g2kEfxj z>ht=P9^Rc|)%N6zYpUkHWA|$Q@7Q1c``yEj`-r=j*<`y82vvclYYoAn@G${Px+Y zElq#x?nhb6^iR}Vyfb?H@87@M+uJXH+;R7?@ z=il2?x!GQ(ul?}H3Y+i6?=L?|$XuH{?QWj6+>^I&-<~~tR{zf<{kqrT^;e^v-^<3b zpUT;O`)}R+*V)_izy1FEucG4fudmnbfByRaQU8Bx z_SkxfeQ*Eo?f<`d%h&C={jTix+s)6<@B4C)UElu4gTwuHe?EB2*S($We_>;0 z?ySc<=U=>79X;)C-uL76pVasNZ zX8QeE-e%?m}B}cpD=B`CilHRKW=~H!tciC?nX=h^t-L2 zA9v@?w71K0trqasf8TcV$NT>e*#G~E|3CY6`t`l@XK%lD>&gz^uvw+=uQm4FJHPk) z=AB#5dUV|`+y48<D4Zol1jah0&+tNS{)-#&eMbo2A`XV_Yt<382ZzgRwR?yqf`vwfx8 ze{GcKV?X@+_xyif(%IhV>1ph1i;a!1ES#k}T`+7}AhYdBwj8%feVjA&=b24eB)NXt zNV^Y#{C;z5NbK>TO z$J3MK8SkCl)4jKQ<|}!=DryB%cxEHtE-m(94 zx&GUEyT4y9Utb^JFI#Fgm#_Ws4(|Uy!nj7y&kw!ACQxm-~adR{U2-Z|61Gr z*V+F2{xS`*t~CX_@9wMq{_g*u@c*wqpSRz?V+Vuo!kHfzU(4cHetAQA$RE~3&D$D= z+;ht!j8^;aU%%poib?P7;v4V3|Ni^2!labdym<5Bk3U?47yoNJS+hDUbBC6>RP?Or zGt(OQ_D3zA5%y!jD*d*q$J3Lqr!PL(qH4eH(yf0R>TlS~d~Yv)ugxn`_>%_~+C93Wp)>X28^d3ol16VHapvD$QxPqhaQ*zeyLax) zIe(Yu-mQNhKYsjJcxTJ&*RSuE-TvSHIa9kL`(2&g{QLXs?N7Z}#U^YgFTG6FPUM;3 z<9#ci-I;8%c(F^kOtZ>smiDAW%VopE!?$nO|IW|9x4bfG@}iIb{{FuFG9~TwroH?2 znYp*Wou^6l3czSJ3FQ2GXuh}hyVXq zUiW@%Zg?FOaAhu&HirtGrTl#@); zK3O4I`0LfHN1M;vReybT^=FNo(k6=ug*J27tzY-=;s0OzYrkAvN+9o*?y1jnu+JqjM@$@$y$?}fBmAf z`0Tss_y51yU~iKDtgO8J`x-*v*S=ftw7W#oVePpcU&Xb)2mHmc;u&d#2CSNeaGKcRhS| zv)E?-_N?u9W8-5LmoS*?$JG@4KKS&js_Es+uV>oDn)2tJ-n3`O&dhgvzh9GzEZ_HN z`wNqz$(7DB9Z!zN1h$1dTM;TdCuq62jm^9F@8!$Hr{`WSiMn|6O;YvF>PpVpA1vAm z?S4J`yGe)p+;hPbdir|ye=bcwxBPQjq)vm_g6odVoJq`cXGRH4Ssl^XsbW>;Hdyd;9RihKpOJQeB?c7R+Dp z{^`-H$K!wg$ev&G_UGBNA1h>T)ZVbTHqk?%`MOai*Q@=qHnWUA3!1##(z*2*x z?&l;ItjJ?MwW(xE$Sv*ZmM%R0X{)0z#BiS#%WP4$^qZTReAVv26o)0-(yjcx8I(5^YG!rSFcuWI8(e$tk&t~joAJN#;+fp)-d1ux?lH= z;ih!P6Cy@@2ic@$x3r&m%sTBPQ|YP;J8eVeIQgy$zBk1s<@Dy2-OqJS{*{?JAxdi5 z9Zw6b&4q4E^L!N6T-oqMnmJ8eeERk9^Jg~j_Y`cueRt1}pSP~>i()?>xl+mCR9oKW z1IIV%OrJhoKQBKzd--LHqSG6;DMmM$RaykPM(tL1`m*JOXT!mSZ9Ve&lZ)S`S)Fy8 z8yIYQ2%y_-wO~l>3ThCs7DtbmwUw`{;Rh6{fWj9LnPMu*lxUYA*|No=&pjP^q zt?TPbx8HtSwmWsR&h4XT&OHx)@9@QX^@KaOmzn10Ze}d7km>vV_hG@0Kk4?r|E15L z+qe9hR7%Di4_BXs=M!w7-VpoZG#HN4qRH+uO_X z&)@&+Pl?rBfAufL6AMhQSK2cDG@4~r-oCf?_qTr!>vrFLC(o}V8YUvxBvJX3?Z(~R z<)AjZ-TUv=-+3?Ah%C}+DR`15zWZ)}{h!D0>%Q;S&&#v>^=Z2Op9kLCexY*KF_cHxB2}4SL*gZU;5Ym z`cSd|?z@=EGdTt;k0(w%74KF)O$ zI8wq86CZC|{jcWEobCDd<@(yqe*S+~V?JpOcYVT>vfHUUckaELGi&zV>hk{u_4$mh z%b$g+l?2SVfByN~vfrPY`Days{`T(g-P^l&iv{;6Jp1Vq^eSNIy=wWl{hxoC>Z6uRbM}TRymXHqBVh?Y+f(|K*=E_uJdp+1cE&w|V#dZ0+VAzK@sG)U&*bmp)6m z<2iAAgHWsPVta=_sdpOQ*Zh(Vo?b9juD8;SbDCFTSjxq`tpBDf*R7T1Yd`$aqVD~p zM@ctzE=647-LYvaKl7$%fA7eDuP&L9xczqCc5&s$V&=;p@h)Kgc<%YebH@S<)r-T`|q~h zej9eYw&7nf;{x$gJ6%d3srH&ch|y;w6Q0Zn9R_?zk@Qv1nQ}X}#^NsR@Exq&J@{v|R9( zZTj`3)f;aHcj)~)%XrJYNW1&&va&zL3k3gmT-h@{&*EXU`?^oUzkRtln;zLsj*FN% zZ;F9wZ10QWsb-q38$6S9UL4Ubl{ES)DYcH@$mO!-grF3@TW=mKXp5$>^e~)%6A~nB z_H1vJm6qPzXGcHoKD%P;m#tSyQ_nH4*thw|xsw8}D~}!Nz2Q~eE_e25$$pQ7E|u%A z4VGPP*fRB(QuUGvoysfMd|egG|LmQ3=CuX(;d>OW91B0Q*Y$F0#UoioHg~;`Ec-6K z(C)l>olmpV$#hnx8l&Fw4beWkO5WbL2)r5a_=vmDCC>Mso_M)7zSA@BzNvd$ZJkfb zrFR+gSUt|4oKw3^E-C!D(2|92eyKTn%+=|>Pu3KKIqP&L^4=1k@wKOKk)MFj<9Olt zn5(DMY>bXOvE97BxM7>jEr*3WpIGZj$o$SaJn8f@k*Sk)7oB~txkcyJ$E(q&7V>ti zw_I^l1J?z%{E(P`bdjC0K*6?ps%g~b^lM@$+A%?+<0zNHAKyb4mf1?$&DC0GWyi?Yb=`th zfA4%Bwae98pL03S+Ty?Fc9N*zrz`qO8S(9W;o{ky3Ws{WKVs68Tb>;GV-oZFuLaW+ z4L^9?yd>^FC4euw*E@WE>rVEVTDfb%5=VbrEO`{mec5*MLdScTQWUssOqcj^1>_!Y zzQ+*Qyu+eO=%Y5bgS*v1)9!^lcfU$+KF%;zXqmp#lp4()6GKc5?{0}bad=K#iRD*0 zD@MkPXTM!NAt~wIx@CvR^lv`x0Xa!w?^?r{ZfRL_Nw2W_aeZx(O~9Phq9-KYR2BH! z1@3OQxpYZASv9))k=%n>D+N|eKXIl~ImzS2qwRTmc`v?{pWL|bQ=-;77l$;}rR-Ni z7yOAj6k%+Z=G+AN_SN1uLta`LT{-EIm07jF?ORwEdxxa4iGIAM!}Vjb zmveUR>Re_J?kKtAj6`As*JhoIiCR;QT%S7pxu0^Y`n3-ZSF}Q2##Z!Cwul>lJs`a9)N7`(w zuz*;@A~S*OY-&YEgC_UI{hA-KU;g~Y&4#m2a8(NV_o%Fnv<@+Fd#>ITrrL06R^ri< z-NIWU6n9;3IojfR^V(JUOKLNtLikdqdF^cESLFZnC?w`g{gWv|Yecr}nAa5~YqKPR zA>$Tn>7}!krHThc&3Y84EQy=*aE_nrrkDkC3scioUrkLd-u!5_;8MM?8sQUbN_K2m z`520aun-djhR>^j)UuK%Z819oE$PuVFJHp?xSw>$= z)9hD@O*%YFx!fD>iUq8^DX-j-4l*t^y)amBW2{x+8{rTyyEp0>Wb*-L!FH~X(D zo<0TP$&6RZ%I8L}n_F?BV9Hn9i+s_I2a}%co;<^7@ehx%WFH5c$uskIoGTY*Z!-E+ zYr+y7tn2nG@)qw*_bD4*zGm!vGIP%4c_w^EJXg0`*cSvmOJO^%@b*jfi61iOR`AL4 zt@teNwcz~2M~{!R@HlSxdVx*YJYiGUbB*b9X1dK+Q=H1dnfS>3=m(D#CuF1yZvX6- zTyFDRA^3&C(l6)3_a}v|3&>hGVREc`;KEBME=OzauGP6&`a>f{MCHi7!^O5Am5Vl% ztGau-v&;Cbw(@e^s^*|FWm|^zPOH#O@yGe(9;ct5DN-t8R=9h^qO)<~JiD|6^`f`zO`XrNwd*9;!L)jxWAP_q9y6IU1PNtsjc>Eav?#xP@>J8;MYo=*XV1~g zzuBg(Y`wLob-LX36Nk=*FP*yOqN0Q2+?7fj{ny_4^wV*!d8D@TOrI5&%fdHrlL_0C zwDxegr>yT+Hn$5Q(lc6j^L3O+dbbxH-(1Qlm8NRO+9klFk*7aVugdTDmp>ej81-4U znM9;)?s3rFvS#6-W?_j8sV12TuGVVX=0B@+%vZeGo2VmNwY2EU)Z|k~o9uHpPfF}d zVmqdJxg|H&{jb&Y8x6^ciItaTRtp=3S^5}$H&}4^$)wdDE<7Ku?(}E(?6B3?WN@+a z)zWzlYqB=kN!SIsEponkaAmsDVw2r33k;8(kG$$MKh3Wv$)N43j_8grPv`OUi7D6T znx46+utd%)Zpl}8g`DCrwmZ$I~$5_iTRC&PzLkPtFk6KDXvT>8Sui&$b9LqhLjMrQM7tP9DseB6wpO zpXb~kQ*zGnJeOQwq%(c;-Xo9f&K}=dB-F*A?OyQ5Kv=5JSV16$#rm;aiR&HbI-l$f z8)kLi>We6sbXVqT;p%eS+>_D9bun<+|A>iwFW-c(YzWA-WDQX%KE3b3?S#$2ikg{c zJ38Win@aw?8+KhU%h2)S#3~DYpDUur-mPw%^txJKlY91Uqv=bOzH4kQ*lNw;%#`ET zZ}V+hsZ_d$oTZq>&k3B*x#rn5+td~?Oiksw_`=b3bLjbr+LH6tOAj1Q z(TU-)J$B03SNysYGmGxH-Ck8`(+1dPdnT2`Hs?z>CPb*b6s|yo!rZGUP*H4#HT^s zYh+ax9*$kmD&*9EF!fpQ+JKMRdf#@)mG?UD**l_! zo}U>fmXpM&p}x0Z^UO7zVqxl~kq*{z={wR}pDZd&cxCd*R@UTfm%+pId&@*P4UAH& z?M~k~lc28SW6U?#ewj|~*4w_p9YN%9{yB8@y8@eczsh#c zu=r)s+8p{1H*pBQxUw>K^}-B29-%d9J1p4`xU$^|`?tbh`c{+D^n(^xraR2cUVU@5 z<(K!}IwD6m$++GTw!N`1*XTx+@#I&oJ490TnCnY+`8E}*K5Td=eVD72@uRbGL^T zH(s56I_%7rj{OsF86^pOF7N*2Q)?ojP%OBdcgKZ5iyA9Y;a5K*AJ1cp?eut&6&;qA z+&npJ=k=l!v72&2zPTsYdz@636-(hWx_tZG0ml!_+Dbu^PDa7!U2W6b=Q~W@CcVX=q z&44MFO~U;7bVkz+@AW}!)=LNZ=iR z35IOhUq>{=!xX-mo@1+i6{7CzymXz_>$Y2R*V|HrS~X*pW3WKMs2ip#skRNcVR zRJQnV`P|h?H4Yszsk^@H`en#`SJn9ZzM@6kk-VZM{KOoO)P@?Z7i-cd zH=pIa6m?-q)^Xi}-)9y_?^00{)M0lI-WoVrOVq&0u5{VEL!LSnn^c((EMWI|=ddbj zvSau)XR8fq6FEGl&RpCd>Fgxh-1T^(vc%dfTN~f@2#ya21?Rru$h;N$>y|?-H|vqI z%6U%V&kjCrIXe0Ls=M2Lq@oO*)wTH~6JvhL#F>bdm^yw`EHz@Bs>`e!oH{j)#r?qc z6Uo7CVH~e5X560aeKhmYf}~9=?9&q8%Wws}R@YZFk#AbQIZ+@&^3kMNvyaX@YFb1t z?&!HB@X*D~Ep^}Gl|PMEm>47)^0!6(NKrXu@TDr=U=4@WOt&V!_TJr>`erno_Ma{s zZn;$}c-gA}si>pvw@xdZ3iW+cVRXk?xi~$dUp&E5a`o!#k|Ez(c*CBxtT*4nIp^W( zYr7oYs3}c0$~|&r#q_f&+D6kag?uqOYns-7HuvU&97lex@C1MykPC|2lVtdi&qsaqIHiqp4Z8ot-A-XJ4P$uEIT8x&O$I zgVi~euAeL}#c7q6?VVDWrZr2kbWL;I;c0iIPs|k(|81nD`^qh#heQ1;m(jBe#;zwN zrmCh$u1LEXdY-YAS1aXUyzwP=(a&0+szq)+*rgs@Fz;8Y``IH)Q(qp9(Z7`Y=-8&S z#?7tY4({Z?=9s!R>2m7~9-prwoSq_c6i@E5ohkA9*(`?0m%S$&AI{;93+PNLWY7)E zN!9GGG8X4bvywM-zqt5^Y})3H&w>qg&1V1m6}V^l&elS;gvPGRY&#|hpD-0RbmHro z>Ui*FqVO8)X?vHPe(`cL&pns(o8=5;A4sT3@H;#Gx;8=P%--2Y*UpSA?|3TXa(Bw9 zWhYbHi%vOxuyZr!_YYd~pqoY6lSg_f@4eF>AD#*?tczJJ-zzbr@#@^L?#UZ1Zhn83 zbFJjm$FM0E8Il7goIDf3xTExBc2elXY!&yijyH$@IG(tB)0pG9^kQSDCEdk$ug%o! z+^!Jte8ETd>54~rbzE#FD!$NZ^%Cu|6`I4Kw#Gwqo6mIF==}@5nx@=Z=vpAzX6To{ z=7p!s+m}Z-?7vbx!7MT=FE!7h)n=Yn+NPQM!j1tRH;uwgmOt${v$E{x9pjsA&wTY< zzK9m+If}=wHed3v$wT0nv?hb8=fl+P(?T!S9N4yPQkICNtj}YnFrA~Kzc=k#;&n9PCp^k zwK1{&l65-=XO~i3?Fz4Ad!Eu|2f4{Wni;F)m%6xQ!?PO+F>+uwA%Q^#bRbP=p zb>9mavzVWq(0KNw(v5?K)##r$CCpv2UFANmr(L*0*zcHz&?z+{>{3qFe#v39qwZc8f~f zvaN3|4SjpHvZ`s`Bj*Qd5qo6T8u2i8EtoRRGi39=18Xeg&Y3OKSQgVB{z@;K@p?t+ z{^`u7bvrJ5wq84%6B@Z|&!w$1ohy%tKUdiAr@Ergyz16R<}+(Pw^woPc{y{9(TOj+ z7Fmi2%NrdxGM)aJcam)Q;k6Bw&Fzz87rbM7dR}O&aBfn$(sIFx#~L5l_Lc9xa4v-X zlvK6wgrABhPqF#yc37sS{Z`(oY~sBrOi^XFg(I8L)FUn@Tqi$`?UoXMw$x}-*812K zZl^nGAKMD&r`(!jwoyTL{}JycbH$4uGj3kJzo6rxu(E9bLhguUA=}gs@tdMAGa821 z%rlfMk!H?5^WgKm{=_L~E*ifK`+eb(NYg9Emg6&(y;QA^eNbHFuvG8#<)GgF4Qbtr zHiahj_?6~9nmDJ%k1tMSrlaBC@F}-ccy^~$g=KKOoV4lyx7YJ~TIDe@4+5-wlNPK$ z`>`o~<)R86*K(yVNdgb=Sw#2$EI$8AL1>QJZ_Yg5e|)7qNzM{BPlYUfcG-8G+$3G{ zX=Tc!IDwTH9=coe_LR(bE%@S|lkq?^(cS^|x_OGo6BJbRMst>%3d>X_t%6yJT^FE!(Ga4V%kC9cFg9=1$w> z_BADtTe(DV)`A&w*@DwdUg`ztn^>lWX-@HBJEPK(qN!GA_saHUX0@Lr?`-o4S0~6a zT##7TZqIVlPw&lV&u6bag%s=$R)8!Rp;zP&UZy2O??g;VoVx03&W+21H2q!`)w-|mdSN4 z%ZfX?{K!8;=DBBQzh8FB<7tG(_nB-#Hs=%bcwZ$PNcY{calNBfr1R3W&RrL^yUlaf zx_280ay=B_R*kuF^=8WS3lU*EL{;~4@5*NTtf%GpP0!bmdCD`B%NxJE5BRKPlW4u` zRn>J9`FQDTS_kheeHRm2+x0JidsW#ME4O>k6i)b6ZP~Qt2CKKZoPNr?pVQ}+T<{aF z%$sP`bMQpgd!ddRq4RT1H&iaz`M9KD*9?|5R%;(!NtvBIL3Hu^n~85!Bft24%u%p3 z{{N=ZM(yZU=NswGeGcVJ7r58;MLufu=E`_}Ui|-qFVmFW9wwDJh&NBUEO|%lR_ft3 zjxOR`%qD6Yzie7xGJl?2|I+E|4<@ZyxMWK^`|QlkXE)9Lwj_A5+y9vBcSE91A2Pk1 zp%}U&e1WJ@IE!}pD(5e_6J|bOsmeE3Sjy%l9mllUNs3_LTMGhY6ooxgBqLaU{=Wfv>C& zt9$RZ)j5Z_ey#H+-pNEHXoOif!WKy}5$+!Ayelz*yejwNW0o!XsW{VXB+suyq9(EZnO?u62D+>Yq${4Nw*37GCyN;?ysBn z@Y2~?d(}D~cf9IoP?zzz9#{A6?Cu?_IGI)(ifuK2f9Y%SMWYpOb5~ZK-m~Y^ewOy6 zgD(wCzFgtH`j;gmsXd0Ps$=bo*=MFJEV#zx9{l{U&7mm4k|z%B5ypCIVp^ zw$}W~Gg;EKp(&`s&ic=~w5@OUbboE*wDQ@w(@IXm)aCg6$+CwQW<^o^l)5^Kx zN1n7eI$L{K{%c+QwAjz>+xZU3iOFtVyWR#Z@3$8gnYqzT@om@hxetVvC|kU{UN6tU YA}aUbQ|(Go1_lNOPgg&ebxsLQ0HMvfUjP6A literal 0 HcmV?d00001 diff --git a/Samples/IntroGraphics/SimpleInstancingUWP/Assets/SmallLogo.png b/Samples/IntroGraphics/SimpleInstancingUWP/Assets/SmallLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..98b09d91991638282fc2426bbfd4a517733ff15a GIT binary patch literal 23704 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 QcF+-zp00i_>zopr0N0Pd_W%F@ literal 0 HcmV?d00001 diff --git a/Samples/IntroGraphics/SimpleInstancingUWP/Assets/SplashScreen.png b/Samples/IntroGraphics/SimpleInstancingUWP/Assets/SplashScreen.png new file mode 100644 index 0000000000000000000000000000000000000000..c352b156fd090a57aec7da81b3b19a3fb5888b43 GIT binary patch literal 26474 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 omdKI;Vst01?W$S^xk5 literal 0 HcmV?d00001 diff --git a/Samples/IntroGraphics/SimpleInstancingUWP/Assets/StoreLogo.png b/Samples/IntroGraphics/SimpleInstancingUWP/Assets/StoreLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..315472e10b9d380e509b2f041ea9ace5f994f5d2 GIT binary patch literal 24268 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 literal 0 HcmV?d00001 diff --git a/Samples/IntroGraphics/SimpleInstancingUWP/Assets/WideLogo.png b/Samples/IntroGraphics/SimpleInstancingUWP/Assets/WideLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..c70f68e2c59214e0ff54844ccd8ae5e955826e10 GIT binary patch literal 46540 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 literal 0 HcmV?d00001 diff --git a/Samples/IntroGraphics/SimpleInstancingUWP/DeviceResources.cpp b/Samples/IntroGraphics/SimpleInstancingUWP/DeviceResources.cpp new file mode 100644 index 00000000..d549f821 --- /dev/null +++ b/Samples/IntroGraphics/SimpleInstancingUWP/DeviceResources.cpp @@ -0,0 +1,592 @@ +// +// DeviceResources.cpp - A wrapper for the Direct3D 11 device and swapchain +// (requires DirectX 11.3 Runtime) +// + + +#include "pch.h" +#include "DeviceResources.h" + +using namespace DirectX; + +using Microsoft::WRL::ComPtr; + +namespace +{ +#if defined(_DEBUG) + // Check for SDK Layer support. + inline bool SdkLayersAvailable() + { + HRESULT hr = D3D11CreateDevice( + nullptr, + D3D_DRIVER_TYPE_NULL, // There is no need to create a real hardware device. + 0, + D3D11_CREATE_DEVICE_DEBUG, // Check for the SDK layers. + nullptr, // Any feature level will do. + 0, + D3D11_SDK_VERSION, + nullptr, // No need to keep the D3D device reference. + nullptr, // No need to know the feature level. + nullptr // No need to keep the D3D device context reference. + ); + + return SUCCEEDED(hr); + } +#endif + + inline DXGI_FORMAT NoSRGB(DXGI_FORMAT fmt) + { + switch (fmt) + { + case DXGI_FORMAT_R8G8B8A8_UNORM_SRGB: return DXGI_FORMAT_R8G8B8A8_UNORM; + case DXGI_FORMAT_B8G8R8A8_UNORM_SRGB: return DXGI_FORMAT_B8G8R8A8_UNORM; + case DXGI_FORMAT_B8G8R8X8_UNORM_SRGB: return DXGI_FORMAT_B8G8R8X8_UNORM; + default: return fmt; + } + } +}; + +// Constants used to calculate screen rotations +namespace ScreenRotation +{ + // 0-degree Z-rotation + static const XMFLOAT4X4 Rotation0( + 1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 1.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f + ); + + // 90-degree Z-rotation + static const XMFLOAT4X4 Rotation90( + 0.0f, 1.0f, 0.0f, 0.0f, + -1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f + ); + + // 180-degree Z-rotation + static const XMFLOAT4X4 Rotation180( + -1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, -1.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f + ); + + // 270-degree Z-rotation + static const XMFLOAT4X4 Rotation270( + 0.0f, -1.0f, 0.0f, 0.0f, + 1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f + ); +}; + +// Constructor for DeviceResources. +DX::DeviceResources::DeviceResources(DXGI_FORMAT backBufferFormat, DXGI_FORMAT depthBufferFormat, UINT backBufferCount, D3D_FEATURE_LEVEL minFeatureLevel) : + m_screenViewport{}, + m_backBufferFormat(backBufferFormat), + m_depthBufferFormat(depthBufferFormat), + m_backBufferCount(backBufferCount), + m_d3dMinFeatureLevel(minFeatureLevel), + m_window(nullptr), + m_d3dFeatureLevel(D3D_FEATURE_LEVEL_9_1), + m_rotation(DXGI_MODE_ROTATION_IDENTITY), + m_outputSize{0, 0, 1, 1}, + m_orientationTransform3D(ScreenRotation::Rotation0), + m_deviceNotify(nullptr) +{ +} + +// Configures the Direct3D device, and stores handles to it and the device context. +void DX::DeviceResources::CreateDeviceResources() +{ + UINT creationFlags = D3D11_CREATE_DEVICE_BGRA_SUPPORT; + +#if defined(_DEBUG) + if (SdkLayersAvailable()) + { + // If the project is in a debug build, enable debugging via SDK Layers with this flag. + creationFlags |= D3D11_CREATE_DEVICE_DEBUG; + } + else + { + OutputDebugStringA("WARNING: Direct3D Debug Device is not available\n"); + } +#endif + + // Determine DirectX hardware feature levels this app will support. + static const D3D_FEATURE_LEVEL s_featureLevels[] = + { + D3D_FEATURE_LEVEL_12_1, + D3D_FEATURE_LEVEL_12_0, + D3D_FEATURE_LEVEL_11_1, + D3D_FEATURE_LEVEL_11_0, + D3D_FEATURE_LEVEL_10_1, + D3D_FEATURE_LEVEL_10_0, + D3D_FEATURE_LEVEL_9_3, + D3D_FEATURE_LEVEL_9_2, + D3D_FEATURE_LEVEL_9_1, + }; + + UINT featLevelCount = 0; + for (; featLevelCount < _countof(s_featureLevels); ++featLevelCount) + { + if (s_featureLevels[featLevelCount] < m_d3dMinFeatureLevel) + break; + } + + if (!featLevelCount) + { + throw std::out_of_range("minFeatureLevel too high"); + } + + ComPtr adapter; + GetHardwareAdapter(adapter.GetAddressOf()); + + // Create the Direct3D 11 API device object and a corresponding context. + ComPtr device; + ComPtr context; + + HRESULT hr = E_FAIL; + if (adapter) + { + hr = D3D11CreateDevice( + adapter.Get(), + D3D_DRIVER_TYPE_UNKNOWN, + 0, + creationFlags, // Set debug and Direct2D compatibility flags. + s_featureLevels, + featLevelCount, + D3D11_SDK_VERSION, + device.GetAddressOf(), // Returns the Direct3D device created. + &m_d3dFeatureLevel, // Returns feature level of device created. + context.GetAddressOf() // Returns the device immediate context. + ); + } +#if defined(NDEBUG) + else + { + throw std::exception("No Direct3D hardware device found"); + } +#else + if (FAILED(hr)) + { + // If the initialization fails, fall back to the WARP device. + // For more information on WARP, see: + // http://go.microsoft.com/fwlink/?LinkId=286690 + hr = D3D11CreateDevice( + nullptr, + D3D_DRIVER_TYPE_WARP, // Create a WARP device instead of a hardware device. + 0, + creationFlags, + s_featureLevels, + featLevelCount, + D3D11_SDK_VERSION, + device.GetAddressOf(), + &m_d3dFeatureLevel, + context.GetAddressOf() + ); + + if (SUCCEEDED(hr)) + { + OutputDebugStringA("Direct3D Adapter - WARP\n"); + } + } +#endif + + DX::ThrowIfFailed(hr); + +#ifndef NDEBUG + ComPtr d3dDebug; + if (SUCCEEDED(device.As(&d3dDebug))) + { + ComPtr d3dInfoQueue; + if (SUCCEEDED(d3dDebug.As(&d3dInfoQueue))) + { +#ifdef _DEBUG + d3dInfoQueue->SetBreakOnSeverity(D3D11_MESSAGE_SEVERITY_CORRUPTION, true); + d3dInfoQueue->SetBreakOnSeverity(D3D11_MESSAGE_SEVERITY_ERROR, true); +#endif + D3D11_MESSAGE_ID hide[] = + { + D3D11_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS, + }; + D3D11_INFO_QUEUE_FILTER filter = {}; + filter.DenyList.NumIDs = _countof(hide); + filter.DenyList.pIDList = hide; + d3dInfoQueue->AddStorageFilterEntries(&filter); + } + } +#endif + + DX::ThrowIfFailed(device.As(&m_d3dDevice)); + DX::ThrowIfFailed(context.As(&m_d3dContext)); +} + +// These resources need to be recreated every time the window size is changed. +void DX::DeviceResources::CreateWindowSizeDependentResources() +{ + if (!m_window) + { + throw std::exception("Call SetWindow with a valid CoreWindow pointer"); + } + + // Clear the previous window size specific context. + ID3D11RenderTargetView* nullViews[] = {nullptr}; + m_d3dContext->OMSetRenderTargets(_countof(nullViews), nullViews, nullptr); + m_d3dRenderTargetView.Reset(); + m_d3dDepthStencilView.Reset(); + m_d3dContext->Flush(); + + // Determine the render target size in pixels. + UINT backBufferWidth = std::max(m_outputSize.right - m_outputSize.left, 1); + UINT backBufferHeight = std::max(m_outputSize.bottom - m_outputSize.top, 1); + DXGI_FORMAT backBufferFormat = NoSRGB(m_backBufferFormat); + + if (m_swapChain) + { + // If the swap chain already exists, resize it. + HRESULT hr = m_swapChain->ResizeBuffers( + m_backBufferCount, + backBufferWidth, + backBufferHeight, + backBufferFormat, + 0 + ); + + if (hr == DXGI_ERROR_DEVICE_REMOVED || hr == DXGI_ERROR_DEVICE_RESET) + { +#ifdef _DEBUG + char buff[64] = {}; + sprintf_s(buff, "Device Lost on ResizeBuffers: Reason code 0x%08X\n", (hr == DXGI_ERROR_DEVICE_REMOVED) ? m_d3dDevice->GetDeviceRemovedReason() : hr); + OutputDebugStringA(buff); +#endif + // If the device was removed for any reason, a new device and swap chain will need to be created. + HandleDeviceLost(); + + // Everything is set up now. Do not continue execution of this method. HandleDeviceLost will reenter this method + // and correctly set up the new device. + return; + } + else + { + DX::ThrowIfFailed(hr); + } + } + else + { + // Otherwise, create a new one using the same adapter as the existing Direct3D device. + + // This sequence obtains the DXGI factory that was used to create the Direct3D device above. + ComPtr dxgiDevice; + DX::ThrowIfFailed(m_d3dDevice.As(&dxgiDevice)); + + ComPtr dxgiAdapter; + DX::ThrowIfFailed(dxgiDevice->GetAdapter(dxgiAdapter.GetAddressOf())); + + ComPtr dxgiFactory; + DX::ThrowIfFailed(dxgiAdapter->GetParent(IID_PPV_ARGS(dxgiFactory.GetAddressOf()))); + + DXGI_SWAP_CHAIN_DESC1 swapChainDesc = {}; + swapChainDesc.Width = backBufferWidth; + swapChainDesc.Height = backBufferHeight; + swapChainDesc.Format = backBufferFormat; + swapChainDesc.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT; + swapChainDesc.BufferCount = m_backBufferCount; + swapChainDesc.SampleDesc.Count = 1; + swapChainDesc.SampleDesc.Quality = 0; + swapChainDesc.Scaling = DXGI_SCALING_ASPECT_RATIO_STRETCH; + swapChainDesc.SwapEffect = DXGI_SWAP_EFFECT_FLIP_DISCARD; + swapChainDesc.AlphaMode = DXGI_ALPHA_MODE_IGNORE; + + ComPtr swapChain; + DX::ThrowIfFailed(dxgiFactory->CreateSwapChainForCoreWindow( + m_d3dDevice.Get(), + m_window, + &swapChainDesc, + nullptr, + swapChain.GetAddressOf() + )); + + DX::ThrowIfFailed(swapChain.As(&m_swapChain)); + + // Ensure that DXGI does not queue more than one frame at a time. This both reduces latency and + // ensures that the application will only render after each VSync, minimizing power consumption. + DX::ThrowIfFailed(dxgiDevice->SetMaximumFrameLatency(1)); + } + + // Set the proper orientation for the swap chain, and generate + // matrix transformations for rendering to the rotated swap chain. + switch (m_rotation) + { + default: + case DXGI_MODE_ROTATION_IDENTITY: + m_orientationTransform3D = ScreenRotation::Rotation0; + break; + + case DXGI_MODE_ROTATION_ROTATE90: + m_orientationTransform3D = ScreenRotation::Rotation270; + break; + + case DXGI_MODE_ROTATION_ROTATE180: + m_orientationTransform3D = ScreenRotation::Rotation180; + break; + + case DXGI_MODE_ROTATION_ROTATE270: + m_orientationTransform3D = ScreenRotation::Rotation90; + break; + } + + DX::ThrowIfFailed(m_swapChain->SetRotation(m_rotation)); + + // Create a render target view of the swap chain back buffer. + ComPtr backBuffer; + DX::ThrowIfFailed(m_swapChain->GetBuffer(0, IID_PPV_ARGS(backBuffer.GetAddressOf()))); + + CD3D11_RENDER_TARGET_VIEW_DESC renderTargetViewDesc(D3D11_RTV_DIMENSION_TEXTURE2D, m_backBufferFormat); + DX::ThrowIfFailed(m_d3dDevice->CreateRenderTargetView( + backBuffer.Get(), + &renderTargetViewDesc, + m_d3dRenderTargetView.ReleaseAndGetAddressOf() + )); + + if (m_depthBufferFormat != DXGI_FORMAT_UNKNOWN) + { + // Create a depth stencil view for use with 3D rendering if needed. + CD3D11_TEXTURE2D_DESC depthStencilDesc( + m_depthBufferFormat, + backBufferWidth, + backBufferHeight, + 1, // This depth stencil view has only one texture. + 1, // Use a single mipmap level. + D3D11_BIND_DEPTH_STENCIL + ); + + ComPtr depthStencil; + DX::ThrowIfFailed(m_d3dDevice->CreateTexture2D( + &depthStencilDesc, + nullptr, + depthStencil.GetAddressOf() + )); + + CD3D11_DEPTH_STENCIL_VIEW_DESC depthStencilViewDesc(D3D11_DSV_DIMENSION_TEXTURE2D); + DX::ThrowIfFailed(m_d3dDevice->CreateDepthStencilView( + depthStencil.Get(), + &depthStencilViewDesc, + m_d3dDepthStencilView.ReleaseAndGetAddressOf() + )); + } + + // Set the 3D rendering viewport to target the entire window. + m_screenViewport = CD3D11_VIEWPORT( + 0.0f, + 0.0f, + static_cast(backBufferWidth), + static_cast(backBufferHeight) + ); +} + +// This method is called when the CoreWindow is created (or re-created). +void DX::DeviceResources::SetWindow(IUnknown* window, int width, int height, DXGI_MODE_ROTATION rotation) +{ + m_window = window; + + m_outputSize.left = m_outputSize.top = 0; + m_outputSize.right = width; + m_outputSize.bottom = height; + + m_rotation = rotation; +} + +// This method is called when the window changes size +bool DX::DeviceResources::WindowSizeChanged(int width, int height, DXGI_MODE_ROTATION rotation) +{ + RECT newRc; + newRc.left = newRc.top = 0; + newRc.right = width; + newRc.bottom = height; + if (newRc == m_outputSize && rotation == m_rotation) + { + return false; + } + + m_outputSize = newRc; + m_rotation = rotation; + CreateWindowSizeDependentResources(); + return true; +} + +// This method is called in the event handler for the DisplayContentsInvalidated event. +void DX::DeviceResources::ValidateDevice() +{ + // The D3D Device is no longer valid if the default adapter changed since the device + // was created or if the device has been removed. + + DXGI_ADAPTER_DESC previousDesc; + { + ComPtr dxgiDevice; + DX::ThrowIfFailed(m_d3dDevice.As(&dxgiDevice)); + + ComPtr deviceAdapter; + DX::ThrowIfFailed(dxgiDevice->GetAdapter(deviceAdapter.GetAddressOf())); + + ComPtr deviceFactory; + DX::ThrowIfFailed(deviceAdapter->GetParent(IID_PPV_ARGS(deviceFactory.GetAddressOf()))); + + ComPtr previousDefaultAdapter; + DX::ThrowIfFailed(deviceFactory->EnumAdapters1(0, previousDefaultAdapter.GetAddressOf())); + + DX::ThrowIfFailed(previousDefaultAdapter->GetDesc(&previousDesc)); + } + + DXGI_ADAPTER_DESC currentDesc; + { + ComPtr currentFactory; + DX::ThrowIfFailed(CreateDXGIFactory1(IID_PPV_ARGS(currentFactory.GetAddressOf()))); + + ComPtr currentDefaultAdapter; + DX::ThrowIfFailed(currentFactory->EnumAdapters1(0, currentDefaultAdapter.GetAddressOf())); + + DX::ThrowIfFailed(currentDefaultAdapter->GetDesc(¤tDesc)); + } + + // If the adapter LUIDs don't match, or if the device reports that it has been removed, + // a new D3D device must be created. + + if (previousDesc.AdapterLuid.LowPart != currentDesc.AdapterLuid.LowPart + || previousDesc.AdapterLuid.HighPart != currentDesc.AdapterLuid.HighPart + || FAILED(m_d3dDevice->GetDeviceRemovedReason())) + { +#ifdef _DEBUG + OutputDebugStringA("Device Lost on ValidateDevice\n"); +#endif + + // Create a new device and swap chain. + HandleDeviceLost(); + } +} + +// Recreate all device resources and set them back to the current state. +void DX::DeviceResources::HandleDeviceLost() +{ + if (m_deviceNotify) + { + m_deviceNotify->OnDeviceLost(); + } + + m_d3dDepthStencilView.Reset(); + m_d3dRenderTargetView.Reset(); + m_swapChain.Reset(); + m_d3dContext.Reset(); + m_d3dDevice.Reset(); + +#ifdef _DEBUG + { + ComPtr dxgiDebug; + if (SUCCEEDED(DXGIGetDebugInterface1(0, IID_PPV_ARGS(&dxgiDebug)))) + { + dxgiDebug->ReportLiveObjects(DXGI_DEBUG_ALL, DXGI_DEBUG_RLO_FLAGS(DXGI_DEBUG_RLO_SUMMARY | DXGI_DEBUG_RLO_IGNORE_INTERNAL)); + } + } +#endif + + CreateDeviceResources(); + CreateWindowSizeDependentResources(); + + if (m_deviceNotify) + { + m_deviceNotify->OnDeviceRestored(); + } +} + +// Call this method when the app suspends. It provides a hint to the driver that the app +// is entering an idle state and that temporary buffers can be reclaimed for use by other apps. +void DX::DeviceResources::Trim() +{ + ComPtr dxgiDevice; + if (SUCCEEDED(m_d3dDevice.As(&dxgiDevice))) + { + dxgiDevice->Trim(); + } +} + +// Present the contents of the swap chain to the screen. +void DX::DeviceResources::Present() +{ + // The first argument instructs DXGI to block until VSync, putting the application + // to sleep until the next VSync. This ensures we don't waste any cycles rendering + // frames that will never be displayed to the screen. + HRESULT hr = m_swapChain->Present(1, 0); + + // Discard the contents of the render target. + // This is a valid operation only when the existing contents will be entirely + // overwritten. If dirty or scroll rects are used, this call should be removed. + m_d3dContext->DiscardView(m_d3dRenderTargetView.Get()); + + if (m_d3dDepthStencilView) + { + // Discard the contents of the depth stencil. + m_d3dContext->DiscardView(m_d3dDepthStencilView.Get()); + } + + // If the device was removed either by a disconnection or a driver upgrade, we + // must recreate all device resources. + if (hr == DXGI_ERROR_DEVICE_REMOVED || hr == DXGI_ERROR_DEVICE_RESET) + { +#ifdef _DEBUG + char buff[64] = {}; + sprintf_s(buff, "Device Lost on Present: Reason code 0x%08X\n", (hr == DXGI_ERROR_DEVICE_REMOVED) ? m_d3dDevice->GetDeviceRemovedReason() : hr); + OutputDebugStringA(buff); +#endif + HandleDeviceLost(); + } + else + { + DX::ThrowIfFailed(hr); + } +} + +// This method acquires the first available hardware adapter. +// If no such adapter can be found, *ppAdapter will be set to nullptr. +void DX::DeviceResources::GetHardwareAdapter(IDXGIAdapter1** ppAdapter) +{ + *ppAdapter = nullptr; + + ComPtr dxgiFactory; +#ifdef _DEBUG + UINT creationFlags = 0; + + if (SdkLayersAvailable()) + { + creationFlags |= DXGI_CREATE_FACTORY_DEBUG; + } + + DX::ThrowIfFailed(CreateDXGIFactory2(creationFlags, IID_PPV_ARGS(dxgiFactory.GetAddressOf()))); +#else + DX::ThrowIfFailed(CreateDXGIFactory1(IID_PPV_ARGS(dxgiFactory.GetAddressOf()))); +#endif + + ComPtr adapter; + for (UINT adapterIndex = 0; DXGI_ERROR_NOT_FOUND != dxgiFactory->EnumAdapters1(adapterIndex, adapter.ReleaseAndGetAddressOf()); adapterIndex++) + { + DXGI_ADAPTER_DESC1 desc; + adapter->GetDesc1(&desc); + + if (desc.Flags & DXGI_ADAPTER_FLAG_SOFTWARE) + { + // Don't select the Basic Render Driver adapter. + continue; + } + +#ifdef _DEBUG + wchar_t buff[256] = {}; + swprintf_s(buff, L"Direct3D Adapter (%u): VID:%04X, PID:%04X - %ls\n", adapterIndex, desc.VendorId, desc.DeviceId, desc.Description); + OutputDebugStringW(buff); +#endif + + break; + } + + *ppAdapter = adapter.Detach(); +} \ No newline at end of file diff --git a/Samples/IntroGraphics/SimpleInstancingUWP/DeviceResources.h b/Samples/IntroGraphics/SimpleInstancingUWP/DeviceResources.h new file mode 100644 index 00000000..1da562ca --- /dev/null +++ b/Samples/IntroGraphics/SimpleInstancingUWP/DeviceResources.h @@ -0,0 +1,83 @@ +// +// DeviceResources.h - A wrapper for the Direct3D 11 device and swapchain +// + +#pragma once + +namespace DX +{ + // Provides an interface for an application that owns DeviceResources to be notified of the device being lost or created. + interface IDeviceNotify + { + virtual void OnDeviceLost() = 0; + virtual void OnDeviceRestored() = 0; + }; + + // Controls all the DirectX device resources. + class DeviceResources + { + public: + DeviceResources(DXGI_FORMAT backBufferFormat = DXGI_FORMAT_B8G8R8A8_UNORM, + DXGI_FORMAT depthBufferFormat = DXGI_FORMAT_D24_UNORM_S8_UINT, + UINT backBufferCount = 2, + D3D_FEATURE_LEVEL minFeatureLevel = D3D_FEATURE_LEVEL_9_3); + + void CreateDeviceResources(); + void CreateWindowSizeDependentResources(); + void SetWindow(IUnknown* window, int width, int height, DXGI_MODE_ROTATION rotation); + bool WindowSizeChanged(int width, int height, DXGI_MODE_ROTATION rotation); + void ValidateDevice(); + void HandleDeviceLost(); + void RegisterDeviceNotify(IDeviceNotify* deviceNotify) { m_deviceNotify = deviceNotify; } + void Trim(); + void Present(); + + // Device Accessors. + RECT GetOutputSize() const { return m_outputSize; } + DXGI_MODE_ROTATION GetRotation() const { return m_rotation; } + + // Direct3D Accessors. + ID3D11Device2* GetD3DDevice() const { return m_d3dDevice.Get(); } + ID3D11DeviceContext2* GetD3DDeviceContext() const { return m_d3dContext.Get(); } + IDXGISwapChain3* GetSwapChain() const { return m_swapChain.Get(); } + D3D_FEATURE_LEVEL GetDeviceFeatureLevel() const { return m_d3dFeatureLevel; } + ID3D11RenderTargetView* GetBackBufferRenderTargetView() const { return m_d3dRenderTargetView.Get(); } + ID3D11DepthStencilView* GetDepthStencilView() const { return m_d3dDepthStencilView.Get(); } + DXGI_FORMAT GetBackBufferFormat() const { return m_backBufferFormat; } + DXGI_FORMAT GetDepthBufferFormat() const { return m_depthBufferFormat; } + D3D11_VIEWPORT GetScreenViewport() const { return m_screenViewport; } + UINT GetBackBufferCount() const { return m_backBufferCount; } + DirectX::XMFLOAT4X4 GetOrientationTransform3D() const { return m_orientationTransform3D; } + + private: + void GetHardwareAdapter(IDXGIAdapter1** ppAdapter); + + // Direct3D objects. + Microsoft::WRL::ComPtr m_d3dDevice; + Microsoft::WRL::ComPtr m_d3dContext; + Microsoft::WRL::ComPtr m_swapChain; + + // Direct3D rendering objects. Required for 3D. + Microsoft::WRL::ComPtr m_d3dRenderTargetView; + Microsoft::WRL::ComPtr m_d3dDepthStencilView; + D3D11_VIEWPORT m_screenViewport; + + // Direct3D properties. + DXGI_FORMAT m_backBufferFormat; + DXGI_FORMAT m_depthBufferFormat; + UINT m_backBufferCount; + D3D_FEATURE_LEVEL m_d3dMinFeatureLevel; + + // Cached device properties. + IUnknown* m_window; + D3D_FEATURE_LEVEL m_d3dFeatureLevel; + DXGI_MODE_ROTATION m_rotation; + RECT m_outputSize; + + // Transforms used for display orientation. + DirectX::XMFLOAT4X4 m_orientationTransform3D; + + // The IDeviceNotify can be held directly as it owns the DeviceResources. + IDeviceNotify* m_deviceNotify; + }; +} \ No newline at end of file diff --git a/Samples/IntroGraphics/SimpleInstancingUWP/Main.cpp b/Samples/IntroGraphics/SimpleInstancingUWP/Main.cpp new file mode 100644 index 00000000..4ed166e7 --- /dev/null +++ b/Samples/IntroGraphics/SimpleInstancingUWP/Main.cpp @@ -0,0 +1,357 @@ +//-------------------------------------------------------------------------------------- +// Main.cpp +// +// Entry point for Universal Windows Platform (UWP) app. +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#include "pch.h" +#include "SimpleInstancing.h" + +#include + +using namespace concurrency; +using namespace Windows::ApplicationModel; +using namespace Windows::ApplicationModel::Core; +using namespace Windows::ApplicationModel::Activation; +using namespace Windows::UI::Core; +using namespace Windows::UI::Input; +using namespace Windows::UI::ViewManagement; +using namespace Windows::System; +using namespace Windows::Foundation; +using namespace Windows::Graphics::Display; +using namespace DirectX; + +ref class ViewProvider sealed : public IFrameworkView +{ +public: + ViewProvider() : + m_exit(false), + m_visible(true), + m_DPI(96.f), + m_logicalWidth(800.f), + m_logicalHeight(600.f), + m_nativeOrientation(DisplayOrientations::None), + m_currentOrientation(DisplayOrientations::None) + { + } + + // IFrameworkView methods + virtual void Initialize(CoreApplicationView^ applicationView) + { + applicationView->Activated += ref new + TypedEventHandler(this, &ViewProvider::OnActivated); + + CoreApplication::Suspending += + ref new EventHandler(this, &ViewProvider::OnSuspending); + + CoreApplication::Resuming += + ref new EventHandler(this, &ViewProvider::OnResuming); + + m_sample = std::make_unique(); + } + + virtual void Uninitialize() + { + m_sample.reset(); + } + + virtual void SetWindow(CoreWindow^ window) + { + window->SizeChanged += + ref new TypedEventHandler(this, &ViewProvider::OnWindowSizeChanged); + + window->VisibilityChanged += + ref new TypedEventHandler(this, &ViewProvider::OnVisibilityChanged); + + window->Closed += + ref new TypedEventHandler(this, &ViewProvider::OnWindowClosed); + + auto dispatcher = CoreWindow::GetForCurrentThread()->Dispatcher; + + dispatcher->AcceleratorKeyActivated += + ref new TypedEventHandler(this, &ViewProvider::OnAcceleratorKeyActivated); + + auto currentDisplayInformation = DisplayInformation::GetForCurrentView(); + + currentDisplayInformation->DpiChanged += + ref new TypedEventHandler(this, &ViewProvider::OnDpiChanged); + + currentDisplayInformation->OrientationChanged += + ref new TypedEventHandler(this, &ViewProvider::OnOrientationChanged); + + DisplayInformation::DisplayContentsInvalidated += + ref new TypedEventHandler(this, &ViewProvider::OnDisplayContentsInvalidated); + + m_DPI = currentDisplayInformation->LogicalDpi; + + m_logicalWidth = window->Bounds.Width; + m_logicalHeight = window->Bounds.Height; + + m_nativeOrientation = currentDisplayInformation->NativeOrientation; + m_currentOrientation = currentDisplayInformation->CurrentOrientation; + + int outputWidth = ConvertDipsToPixels(m_logicalWidth); + int outputHeight = ConvertDipsToPixels(m_logicalHeight); + + DXGI_MODE_ROTATION rotation = ComputeDisplayRotation(); + + if (rotation == DXGI_MODE_ROTATION_ROTATE90 || rotation == DXGI_MODE_ROTATION_ROTATE270) + { + std::swap(outputWidth, outputHeight); + } + + m_sample->Initialize(reinterpret_cast(window), + outputWidth, outputHeight, rotation ); + } + + virtual void Load(Platform::String^ entryPoint) + { + } + + virtual void Run() + { + while (!m_exit) + { + if (m_visible) + { + m_sample->Tick(); + + CoreWindow::GetForCurrentThread()->Dispatcher->ProcessEvents(CoreProcessEventsOption::ProcessAllIfPresent); + } + else + { + CoreWindow::GetForCurrentThread()->Dispatcher->ProcessEvents(CoreProcessEventsOption::ProcessOneAndAllPending); + } + } + } + +protected: + // Event handlers + void OnActivated(CoreApplicationView^ applicationView, IActivatedEventArgs^ args) + { + if (args->Kind == ActivationKind::Launch) + { + auto launchArgs = static_cast(args); + + if (launchArgs->PrelaunchActivated) + { + // Opt-out of Prelaunch + CoreApplication::Exit(); + return; + } + } + + int w, h; + m_sample->GetDefaultSize(w, h); + + m_DPI = DisplayInformation::GetForCurrentView()->LogicalDpi; + + ApplicationView::PreferredLaunchWindowingMode = ApplicationViewWindowingMode::PreferredLaunchViewSize; + // Change to ApplicationViewWindowingMode::FullScreen to default to full screen + + auto desiredSize = Size(ConvertPixelsToDips(w), ConvertPixelsToDips(h)); + + ApplicationView::PreferredLaunchViewSize = desiredSize; + + auto view = ApplicationView::GetForCurrentView(); + + auto minSize = Size(ConvertPixelsToDips(320), ConvertPixelsToDips(200)); + + view->SetPreferredMinSize(minSize); + + CoreWindow::GetForCurrentThread()->Activate(); + + view->FullScreenSystemOverlayMode = FullScreenSystemOverlayMode::Minimal; + + view->TryResizeView(desiredSize); + } + + void OnSuspending(Platform::Object^ sender, SuspendingEventArgs^ args) + { + SuspendingDeferral^ deferral = args->SuspendingOperation->GetDeferral(); + + create_task([this, deferral]() + { + m_sample->OnSuspending(); + + deferral->Complete(); + }); + } + + void OnResuming(Platform::Object^ sender, Platform::Object^ args) + { + m_sample->OnResuming(); + } + + void OnWindowSizeChanged(CoreWindow^ sender, WindowSizeChangedEventArgs^ args) + { + m_logicalWidth = sender->Bounds.Width; + m_logicalHeight = sender->Bounds.Height; + + HandleWindowSizeChanged(); + } + + void OnVisibilityChanged(CoreWindow^ sender, VisibilityChangedEventArgs^ args) + { + m_visible = args->Visible; + if (m_visible) + m_sample->OnActivated(); + else + m_sample->OnDeactivated(); + } + + void OnWindowClosed(CoreWindow^ sender, CoreWindowEventArgs^ args) + { + m_exit = true; + } + + void OnAcceleratorKeyActivated(CoreDispatcher^, AcceleratorKeyEventArgs^ args) + { + if (args->EventType == CoreAcceleratorKeyEventType::SystemKeyDown + && args->VirtualKey == VirtualKey::Enter + && args->KeyStatus.IsMenuKeyDown + && !args->KeyStatus.WasKeyDown) + { + // Implements the classic ALT+ENTER fullscreen toggle + auto view = ApplicationView::GetForCurrentView(); + + if (view->IsFullScreenMode) + view->ExitFullScreenMode(); + else + view->TryEnterFullScreenMode(); + + args->Handled = true; + } + } + + void OnDpiChanged(DisplayInformation^ sender, Object^ args) + { + m_DPI = sender->LogicalDpi; + + HandleWindowSizeChanged(); + } + + void OnOrientationChanged(DisplayInformation^ sender, Object^ args) + { + m_currentOrientation = sender->CurrentOrientation; + + HandleWindowSizeChanged(); + } + + void OnDisplayContentsInvalidated(DisplayInformation^ sender, Object^ args) + { + m_sample->ValidateDevice(); + } + +private: + bool m_exit; + bool m_visible; + float m_DPI; + float m_logicalWidth; + float m_logicalHeight; + std::unique_ptr m_sample; + + Windows::Graphics::Display::DisplayOrientations m_nativeOrientation; + Windows::Graphics::Display::DisplayOrientations m_currentOrientation; + + inline int ConvertDipsToPixels(float dips) const + { + return int(dips * m_DPI / 96.f + 0.5f); + } + + inline float ConvertPixelsToDips(int pixels) const + { + return (float(pixels) * 96.f / m_DPI); + } + + DXGI_MODE_ROTATION ComputeDisplayRotation() const + { + DXGI_MODE_ROTATION rotation = DXGI_MODE_ROTATION_UNSPECIFIED; + + switch (m_nativeOrientation) + { + case DisplayOrientations::Landscape: + switch (m_currentOrientation) + { + case DisplayOrientations::Landscape: + rotation = DXGI_MODE_ROTATION_IDENTITY; + break; + + case DisplayOrientations::Portrait: + rotation = DXGI_MODE_ROTATION_ROTATE270; + break; + + case DisplayOrientations::LandscapeFlipped: + rotation = DXGI_MODE_ROTATION_ROTATE180; + break; + + case DisplayOrientations::PortraitFlipped: + rotation = DXGI_MODE_ROTATION_ROTATE90; + break; + } + break; + + case DisplayOrientations::Portrait: + switch (m_currentOrientation) + { + case DisplayOrientations::Landscape: + rotation = DXGI_MODE_ROTATION_ROTATE90; + break; + + case DisplayOrientations::Portrait: + rotation = DXGI_MODE_ROTATION_IDENTITY; + break; + + case DisplayOrientations::LandscapeFlipped: + rotation = DXGI_MODE_ROTATION_ROTATE270; + break; + + case DisplayOrientations::PortraitFlipped: + rotation = DXGI_MODE_ROTATION_ROTATE180; + break; + } + break; + } + + return rotation; + } + + void HandleWindowSizeChanged() + { + int outputWidth = ConvertDipsToPixels(m_logicalWidth); + int outputHeight = ConvertDipsToPixels(m_logicalHeight); + + DXGI_MODE_ROTATION rotation = ComputeDisplayRotation(); + + if (rotation == DXGI_MODE_ROTATION_ROTATE90 || rotation == DXGI_MODE_ROTATION_ROTATE270) + { + std::swap(outputWidth, outputHeight); + } + + m_sample->OnWindowSizeChanged(outputWidth, outputHeight, rotation); + } +}; + +ref class ViewProviderFactory : IFrameworkViewSource +{ +public: + virtual IFrameworkView^ CreateView() + { + return ref new ViewProvider(); + } +}; + + +// Entry point +[Platform::MTAThread] +int main(Platform::Array^ argv) +{ + UNREFERENCED_PARAMETER(argv); + + auto viewProviderFactory = ref new ViewProviderFactory(); + CoreApplication::Run(viewProviderFactory); + return 0; +} diff --git a/Samples/IntroGraphics/SimpleInstancingUWP/Package.appxmanifest b/Samples/IntroGraphics/SimpleInstancingUWP/Package.appxmanifest new file mode 100644 index 00000000..4e08b08e --- /dev/null +++ b/Samples/IntroGraphics/SimpleInstancingUWP/Package.appxmanifest @@ -0,0 +1,49 @@ + + + + + + + + + + SimpleInstancing + Xbox Advanced Technology Group + Assets\StoreLogo.png + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/IntroGraphics/SimpleInstancingUWP/PixelShader.hlsl b/Samples/IntroGraphics/SimpleInstancingUWP/PixelShader.hlsl new file mode 100644 index 00000000..a1639ea9 --- /dev/null +++ b/Samples/IntroGraphics/SimpleInstancingUWP/PixelShader.hlsl @@ -0,0 +1,2 @@ +// PixelShader.hlsl file to provide an MSBuild target for the SimpleInstancing pixel-shader entry point +#include "SimpleInstancing.hlsli" \ No newline at end of file diff --git a/Samples/IntroGraphics/SimpleInstancingUWP/Readme.docx b/Samples/IntroGraphics/SimpleInstancingUWP/Readme.docx new file mode 100644 index 0000000000000000000000000000000000000000..bd2f9a55805a759d4caadcd8bae21f6b99751662 GIT binary patch literal 377916 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
XGwJw_uGFVDl_D@yNdUK*gLiX{UD4R>> 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%0D7xUH&MO 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%0A~rLnvc0`v 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 literal 0 HcmV?d00001 diff --git a/Samples/IntroGraphics/SimpleInstancingUWP/Shared.h b/Samples/IntroGraphics/SimpleInstancingUWP/Shared.h new file mode 100644 index 00000000..af68383a --- /dev/null +++ b/Samples/IntroGraphics/SimpleInstancingUWP/Shared.h @@ -0,0 +1,10 @@ +//-------------------------------------------------------------------------------------- +// Shared.h +// +// Shared declarations between shaders (HLSL) and C++ source. +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +static const unsigned int c_pointLightCount = 25; diff --git a/Samples/IntroGraphics/SimpleInstancingUWP/SimpleInstancing.cpp b/Samples/IntroGraphics/SimpleInstancingUWP/SimpleInstancing.cpp new file mode 100644 index 00000000..24e403ab --- /dev/null +++ b/Samples/IntroGraphics/SimpleInstancingUWP/SimpleInstancing.cpp @@ -0,0 +1,705 @@ +//-------------------------------------------------------------------------------------- +// SimpleInstancing.cpp +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#include "pch.h" +#include "SimpleInstancing.h" + +#include "ATGColors.h" +#include "ControllerFont.h" +#include "ReadData.h" + +using namespace DirectX; +using namespace DirectX::PackedVector; + +using Microsoft::WRL::ComPtr; + +namespace +{ + //-------------------------------------------------------------------------------------- + // Constants + //-------------------------------------------------------------------------------------- + const uint32_t c_maxInstances = 20000; + const uint32_t c_startInstanceCount = 5000; + const uint32_t c_minInstanceCount = 1000; + const float c_boxBounds = 60.0f; + const size_t c_cubeIndexCount = 36; + const float c_velocityMultiplier = 500.0f; + const float c_rotationGain = 0.004f; + + //-------------------------------------------------------------------------------------- + // Cube vertex definition + //-------------------------------------------------------------------------------------- + struct Vertex + { + XMFLOAT3 pos; + XMFLOAT3 norm; + }; +} + +Sample::Sample() : + m_gamepadPresent(false), + m_usedInstanceCount(c_startInstanceCount), + m_lights{}, + m_pitch(0.0f), + m_yaw(0.0f) +{ + XMStoreFloat4x4(&m_proj, XMMatrixIdentity()); + + // Use gamma-correct rendering. Requires Feature Level 10.0 or greater. + m_deviceResources = std::make_unique(DXGI_FORMAT_B8G8R8A8_UNORM_SRGB, + DXGI_FORMAT_D32_FLOAT, 2, D3D_FEATURE_LEVEL_10_0); + m_deviceResources->RegisterDeviceNotify(this); +} + +// Initialize the Direct3D resources required to run. +void Sample::Initialize(IUnknown* window, int width, int height, DXGI_MODE_ROTATION rotation) +{ + m_gamePad = std::make_unique(); + + m_keyboard = std::make_unique(); + m_keyboard->SetWindow(reinterpret_cast(window)); + + m_mouse = std::make_unique(); + m_mouse->SetWindow(reinterpret_cast(window)); + + m_deviceResources->SetWindow(window, width, height, rotation); + + m_deviceResources->CreateDeviceResources(); + CreateDeviceDependentResources(); + + m_deviceResources->CreateWindowSizeDependentResources(); + CreateWindowSizeDependentResources(); +} + +#pragma region Frame Update +// Executes basic render loop. +void Sample::Tick() +{ + m_timer.Tick([&]() + { + Update(m_timer); + }); + + Render(); +} + +// Updates the world. +void Sample::Update(DX::StepTimer const& timer) +{ + PIXBeginEvent(PIX_COLOR_DEFAULT, L"Update"); + + float elapsedTime = float(timer.GetElapsedSeconds()); + + auto kb = m_keyboard->GetState(); + m_keyboardButtons.Update(kb); + + auto pad = m_gamePad->GetState(0); + m_gamepadPresent = pad.IsConnected(); + if (m_gamepadPresent) + { + m_gamePadButtons.Update(pad); + + if (pad.IsViewPressed()) + { + Windows::ApplicationModel::Core::CoreApplication::Exit(); + } + + if (m_gamePadButtons.a == GamePad::ButtonStateTracker::ButtonState::PRESSED) + { + ResetSimulation(); + } + + if (m_gamePadButtons.rightShoulder == GamePad::ButtonStateTracker::ButtonState::PRESSED) + { + m_usedInstanceCount = std::min(c_maxInstances, m_usedInstanceCount + 1000); + } + else if (m_gamePadButtons.leftShoulder == GamePad::ButtonStateTracker::ButtonState::PRESSED) + { + m_usedInstanceCount = std::max(c_minInstanceCount, m_usedInstanceCount - 1000); + } + + if (pad.IsLeftStickPressed()) + { + m_yaw = m_pitch = 0.f; + } + else + { + m_yaw += pad.thumbSticks.leftX * 0.1f; + m_pitch += pad.thumbSticks.leftY * 0.1f; + } + } + else + { + m_gamePadButtons.Reset(); + + if (kb.A || kb.D) + { + m_yaw += (kb.D ? 0.1f : -0.1f) ; + } + + if (kb.W || kb.S) + { + m_pitch += (kb.W ? 0.1f : -0.1f); + } + + if (kb.Home) + { + m_yaw = m_pitch = 0.f; + } + + // Basic mouse-look + auto mouse = m_mouse->GetState(); + if (mouse.positionMode == Mouse::MODE_RELATIVE) + { + if (!mouse.leftButton) + { + m_mouse->SetMode(Mouse::MODE_ABSOLUTE); + } + else + { + m_pitch -= mouse.y * c_rotationGain; + m_yaw += mouse.x * c_rotationGain; + } + } + else if (mouse.leftButton) + { + m_mouse->SetMode(Mouse::MODE_RELATIVE); + } + } + + if (kb.Escape) + { + Windows::ApplicationModel::Core::CoreApplication::Exit(); + } + + if (m_keyboardButtons.IsKeyPressed(Keyboard::Q)) + { + m_usedInstanceCount = std::max(c_minInstanceCount, m_usedInstanceCount - 1000); + } + else if (m_keyboardButtons.IsKeyPressed(Keyboard::E)) + { + m_usedInstanceCount = std::min(c_maxInstances, m_usedInstanceCount + 1000); + } + + if (m_keyboardButtons.IsKeyPressed(Keyboard::Space)) + { + ResetSimulation(); + } + + // Limit to avoid looking directly up or down + float limit = XM_PI / 2.0f - 0.01f; + m_pitch = std::max(-limit, m_pitch); + m_pitch = std::min(+limit, m_pitch); + + if (m_yaw > XM_PI) + { + m_yaw -= XM_PI * 2.f; + } + else if (m_yaw < -XM_PI) + { + m_yaw += XM_PI * 2.f; + } + + XMVECTOR lookAt = XMVectorSet( + sinf(m_yaw), + m_pitch, + cosf(m_yaw), + 0); + + // Update transforms and constant buffer. + XMMATRIX camera = XMMatrixLookAtLH(g_XMZero, lookAt, g_XMIdentityR1); + XMMATRIX proj = XMLoadFloat4x4(&m_proj); + XMMATRIX clip = XMMatrixTranspose(XMMatrixMultiply(camera, proj)); + ReplaceBufferContents(m_vertexConstants.Get(), sizeof(XMMATRIX), &clip); + + // Overwrite our current instance vertex buffer with new data. + ReplaceBufferContents(m_instanceData.Get(), sizeof(Instance) * m_usedInstanceCount, m_CPUInstanceData.get()); + + // Update instance data for the next frame. + for (size_t i = 1; i < m_usedInstanceCount; ++i) + { + // Update positions... + float velocityMultiplier = i <= c_pointLightCount ? 5.0f * c_velocityMultiplier : c_velocityMultiplier; + XMVECTOR position = XMLoadFloat4(&m_CPUInstanceData[i].positionAndScale); + position += m_velocities[i] * elapsedTime * velocityMultiplier; + XMStoreFloat4(&m_CPUInstanceData[i].positionAndScale, position); + + float X = m_CPUInstanceData[i].positionAndScale.x; + float Y = m_CPUInstanceData[i].positionAndScale.y; + float Z = m_CPUInstanceData[i].positionAndScale.z; + + bool bounce = false; + + // If an instance pops out of bounds in any dimension, reverse velocity in that dimension... + if (X < -c_boxBounds || X > c_boxBounds) + { + m_velocities[i] *= XMVectorSet(-1.0f, 1.0f, 1.0f, 1.0f); + bounce = true; + } + if (Y < -c_boxBounds || Y > c_boxBounds) + { + m_velocities[i] *= XMVectorSet(1.0f, -1.0f, 1.0f, 1.0f); + bounce = true; + } + if (Z < -c_boxBounds || Z > c_boxBounds) + { + m_velocities[i] *= XMVectorSet(1.0f, 1.0f, -1.0f, 1.0f); + bounce = true; + } + + // Apply bounce here. + if (bounce) + { + position = XMLoadFloat4(&m_CPUInstanceData[i].positionAndScale); + position += m_velocities[i] * elapsedTime * c_velocityMultiplier; + XMStoreFloat4(&m_CPUInstanceData[i].positionAndScale, position); + } + + // Set up constant buffer with point light info. + if (i <= c_pointLightCount) + { + m_lights.pointPositions[i - 1] = m_CPUInstanceData[i].positionAndScale; + } + + XMVECTOR q = XMLoadFloat4(&m_CPUInstanceData[i].quaternion); + q = XMQuaternionNormalizeEst(XMQuaternionMultiply(m_rotationQuaternions[i], q)); + XMStoreFloat4(&m_CPUInstanceData[i].quaternion, q); + } + + // Update the D3D11 constant buffer with the new lighting constant data. + ReplaceBufferContents(m_pixelConstants.Get(), sizeof(Lights), &m_lights); + + PIXEndEvent(); +} +#pragma endregion + +#pragma region Frame Render +// Draws the scene. +void Sample::Render() +{ + // Don't try to render anything before the first Update. + if (m_timer.GetFrameCount() == 0) + { + return; + } + + Clear(); + + auto context = m_deviceResources->GetD3DDeviceContext(); + PIXBeginEvent(context, PIX_COLOR_DEFAULT, L"Render"); + + // Use the default blend + context->OMSetBlendState(nullptr, nullptr, D3D11_DEFAULT_SAMPLE_MASK); + + // Set input assembler state. + context->IASetInputLayout(m_inputLayout.Get()); + + // We're rendering a triangle list. + context->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST); + + // Set up the vertex buffers. We have 3 streams: + // Stream 1 contains per-primitive vertices defining the cubes. + // Stream 2 contains the per-instance data for scale, position and orientation + // Stream 3 contains the per-instance data for color. + UINT Strides[] = { sizeof(Vertex), sizeof(Instance), sizeof(uint32_t) }; + UINT Offsets[] = { 0, 0, 0 }; + ID3D11Buffer* Buffers[] = { m_vertexBuffer.Get(), m_instanceData.Get(), m_boxColors.Get() }; + context->IASetVertexBuffers(0, _countof(Strides), Buffers, Strides, Offsets); + + // The per-instance data is referenced by index... + context->IASetIndexBuffer(m_indexBuffer.Get(), DXGI_FORMAT_R16_UINT, 0); + + // Apply the constants for the vertex and pixel shaders. + context->VSSetConstantBuffers(0, 1, m_vertexConstants.GetAddressOf()); + context->PSSetConstantBuffers(0, 1, m_pixelConstants.GetAddressOf()); + + // Set shaders. + context->VSSetShader(m_vertexShader.Get(), nullptr, 0); + context->PSSetShader(m_pixelShader.Get(), nullptr, 0); + + // Draw the entire scene... + context->DrawIndexedInstanced(c_cubeIndexCount, m_usedInstanceCount, 0, 0, 0); + + // Draw UI + auto size = m_deviceResources->GetOutputSize(); + auto safe = SimpleMath::Viewport::ComputeTitleSafeArea(size.right, size.bottom); + + m_batch->Begin(); + + wchar_t str[32] = {}; + swprintf_s(str, L"Instancing count: %u", m_usedInstanceCount); + m_smallFont->DrawString(m_batch.get(), str, XMFLOAT2(float(safe.left), float(safe.top)), ATG::Colors::White); + + const wchar_t* legend = m_gamepadPresent + ? L"[LThumb] Rotate [A] Reset [LB]/[RB] Change instance count [View] Exit" + : L"WASD/Left Mouse Button: Rotate Q/E: Change instance count Home: Center Space: Reset Esc: Exit"; + + DX::DrawControllerString(m_batch.get(), + m_smallFont.get(), m_ctrlFont.get(), + legend, + XMFLOAT2(float(safe.left), + float(safe.bottom) - m_smallFont->GetLineSpacing()), + ATG::Colors::LightGrey); + + m_batch->End(); + + PIXEndEvent(context); + + // Show the new frame. + PIXBeginEvent(PIX_COLOR_DEFAULT, L"Present"); + m_deviceResources->Present(); + PIXEndEvent(); +} + +// Helper method to clear the back buffers. +void Sample::Clear() +{ + auto context = m_deviceResources->GetD3DDeviceContext(); + PIXBeginEvent(context, PIX_COLOR_DEFAULT, L"Clear"); + + // Clear the views. + auto renderTarget = m_deviceResources->GetBackBufferRenderTargetView(); + auto depthStencil = m_deviceResources->GetDepthStencilView(); + + // Use linear clear color for gamma-correct rendering + context->ClearRenderTargetView(renderTarget, ATG::ColorsLinear::Background); + context->ClearDepthStencilView(depthStencil, D3D11_CLEAR_DEPTH | D3D11_CLEAR_STENCIL, 1.0f, 0); + + context->OMSetRenderTargets(1, &renderTarget, depthStencil); + + // Set the viewport. + auto viewport = m_deviceResources->GetScreenViewport(); + context->RSSetViewports(1, &viewport); + + PIXEndEvent(context); +} +#pragma endregion + +#pragma region Message Handlers +// Message handlers +void Sample::OnActivated() +{ +} + +void Sample::OnDeactivated() +{ +} + +void Sample::OnSuspending() +{ + auto context = m_deviceResources->GetD3DDeviceContext(); + context->ClearState(); + + m_deviceResources->Trim(); +} + +void Sample::OnResuming() +{ + m_timer.ResetElapsedTime(); + m_gamePadButtons.Reset(); + m_keyboardButtons.Reset(); +} + +void Sample::OnWindowSizeChanged(int width, int height, DXGI_MODE_ROTATION rotation) +{ + if (!m_deviceResources->WindowSizeChanged(width, height, rotation)) + return; + + CreateWindowSizeDependentResources(); +} + +void Sample::ValidateDevice() +{ + m_deviceResources->ValidateDevice(); +} + +// Properties +void Sample::GetDefaultSize(int& width, int& height) const +{ + width = 1280; + height = 720; +} +#pragma endregion + +#pragma region Direct3D Resources +// These are the resources that depend on the device. +void Sample::CreateDeviceDependentResources() +{ + auto device = m_deviceResources->GetD3DDevice(); + + auto context = m_deviceResources->GetD3DDeviceContext(); + m_batch = std::make_unique(context); + + m_smallFont = std::make_unique(device, L"SegoeUI_18.spritefont"); + m_ctrlFont = std::make_unique(device, L"XboxOneControllerLegendSmall.spritefont"); + + // Create input layout (must match declaration of Vertex). + static const D3D11_INPUT_ELEMENT_DESC inputElementDesc[] = + { + // SemanticName SemanticIndex Format InputSlot AlignedByteOffset InputSlotClass InstancedDataStepRate + { "POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 }, // Vertex local position + { "NORMAL", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_PER_VERTEX_DATA, 0 }, // Vertex normal + { "I_ROTATION", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 1, 0, D3D11_INPUT_PER_INSTANCE_DATA, 1 }, // Instance rotation quaternion + { "I_POSSCALE", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 1, D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_PER_INSTANCE_DATA, 1 }, // Instance position and scale (scale in "w") + { "I_COLOR", 0, DXGI_FORMAT_R8G8B8A8_UNORM, 2, D3D11_APPEND_ALIGNED_ELEMENT, D3D11_INPUT_PER_INSTANCE_DATA, 1 }, // Instance color + }; + + // Load and create shaders. + { + auto shaderBytecode = DX::ReadData(L"VertexShader.cso"); + + DX::ThrowIfFailed( + device->CreateVertexShader(shaderBytecode.data(), shaderBytecode.size(), nullptr, m_vertexShader.ReleaseAndGetAddressOf()) + ); + + DX::ThrowIfFailed( + device->CreateInputLayout(inputElementDesc, _countof(inputElementDesc), shaderBytecode.data(), shaderBytecode.size(), m_inputLayout.ReleaseAndGetAddressOf()) + ); + } + + { + auto shaderBytecode = DX::ReadData(L"PixelShader.cso"); + + DX::ThrowIfFailed( + device->CreatePixelShader(shaderBytecode.data(), shaderBytecode.size(), nullptr, m_pixelShader.ReleaseAndGetAddressOf()) + ); + } + + // Create and initialize the vertex buffer defining a cube. + { + static const Vertex vertices[] = + { + { XMFLOAT3(-1, -1, -1), XMFLOAT3(0, 0, -1) }, + { XMFLOAT3( 1, -1, -1), XMFLOAT3(0, 0, -1) }, + { XMFLOAT3( 1, 1, -1), XMFLOAT3(0, 0, -1) }, + { XMFLOAT3(-1, 1, -1), XMFLOAT3(0, 0, -1) }, // Z negative face + + { XMFLOAT3( 1, -1, 1), XMFLOAT3(0, 0, 1) }, + { XMFLOAT3(-1, -1, 1), XMFLOAT3(0, 0, 1) }, + { XMFLOAT3(-1, 1, 1), XMFLOAT3(0, 0, 1) }, + { XMFLOAT3( 1, 1, 1), XMFLOAT3(0, 0, 1) }, // Z Positive face + + { XMFLOAT3(-1, -1, -1), XMFLOAT3(-1, 0, 0) }, + { XMFLOAT3(-1, 1, -1), XMFLOAT3(-1, 0, 0) }, + { XMFLOAT3(-1, 1, 1), XMFLOAT3(-1, 0, 0) }, + { XMFLOAT3(-1, -1, 1), XMFLOAT3(-1, 0, 0) }, // X negative face + + { XMFLOAT3( 1, 1, -1), XMFLOAT3( 1, 0, 0) }, + { XMFLOAT3( 1, -1, -1), XMFLOAT3( 1, 0, 0) }, + { XMFLOAT3( 1, -1, 1), XMFLOAT3( 1, 0, 0) }, + { XMFLOAT3( 1, 1, 1), XMFLOAT3( 1, 0, 0) }, // X Positive face + + { XMFLOAT3(-1, -1, 1), XMFLOAT3(0, -1, 0) }, + { XMFLOAT3( 1, -1, 1), XMFLOAT3(0, -1, 0) }, + { XMFLOAT3( 1, -1, -1), XMFLOAT3(0, -1, 0) }, + { XMFLOAT3(-1, -1, -1), XMFLOAT3(0, -1, 0) }, // Y negative face + + { XMFLOAT3( 1, 1, 1), XMFLOAT3(0, 1, 0) }, + { XMFLOAT3(-1, 1, 1), XMFLOAT3(0, 1, 0) }, + { XMFLOAT3(-1, 1, -1), XMFLOAT3(0, 1, 0) }, + { XMFLOAT3( 1, 1, -1), XMFLOAT3(0, 1, 0) }, // Y Positive face + }; + + D3D11_SUBRESOURCE_DATA initialData = { vertices, 0, 0 }; + + CD3D11_BUFFER_DESC bufferDesc(sizeof(vertices), D3D11_BIND_VERTEX_BUFFER, D3D11_USAGE_IMMUTABLE); + bufferDesc.StructureByteStride = sizeof(Vertex); + + DX::ThrowIfFailed( + device->CreateBuffer(&bufferDesc, &initialData, m_vertexBuffer.ReleaseAndGetAddressOf()) + ); + } + + // Create vertex buffers with per-instance data. + { + // We create two that we ping-pong between, so we can update one while the GPU is + // consuming the other. + CD3D11_BUFFER_DESC bufferDesc(sizeof(Instance) * c_maxInstances, D3D11_BIND_VERTEX_BUFFER, D3D11_USAGE_DYNAMIC, D3D11_CPU_ACCESS_WRITE); + bufferDesc.StructureByteStride = sizeof(Instance); + + DX::ThrowIfFailed( + device->CreateBuffer(&bufferDesc, nullptr, m_instanceData.ReleaseAndGetAddressOf()) + ); + } + + // Create a static vertex buffer with color data. + { + static const XMVECTORF32 c_bigColor = { 1.f, 1.f, 1.f, 0.f }; + uint32_t colors[c_maxInstances]; + colors[0] = XMCOLOR(c_bigColor); + for (uint32_t i = 1; i < c_maxInstances; ++i) + { + if (i <= c_pointLightCount) + { + m_lights.pointColors[i - 1] = XMFLOAT4(FloatRand(0.25f, 1.0f), FloatRand(0.25f, 1.0f), FloatRand(0.25f, 1.0f), 1.0f); + colors[i] = XMCOLOR(m_lights.pointColors[i - 1].x, m_lights.pointColors[i - 1].y, m_lights.pointColors[i - 1].z, 1.f); + } + else + { + colors[i] = XMCOLOR(FloatRand(0.25f, 1.0f), FloatRand(0.25f, 1.0f), FloatRand(0.25f, 1.0f), 0.f); + } + } + + D3D11_SUBRESOURCE_DATA initialData = { colors, 0, 0 }; + + CD3D11_BUFFER_DESC bufferDesc(sizeof(uint32_t) * c_maxInstances, D3D11_BIND_VERTEX_BUFFER, D3D11_USAGE_IMMUTABLE); + bufferDesc.StructureByteStride = sizeof(uint32_t); + + DX::ThrowIfFailed( + device->CreateBuffer(&bufferDesc, &initialData, m_boxColors.ReleaseAndGetAddressOf()) + ); + } + + // Create and initialize the index buffer for the cube geometry. + { + static const uint16_t indices[] = + { + 0, 2, 1, + 0, 3, 2, + 4, 6, 5, + 4, 7, 6, + 8, 10, 9, + 8, 11, 10, + 12, 14, 13, + 12, 15, 14, + 16, 18, 17, + 16, 19, 18, + 20, 22, 21, + 20, 23, 22, + }; + + D3D11_SUBRESOURCE_DATA initialData = { indices, 0, 0 }; + + CD3D11_BUFFER_DESC bufferDesc(sizeof(indices), D3D11_BIND_INDEX_BUFFER, D3D11_USAGE_IMMUTABLE); + bufferDesc.StructureByteStride = sizeof(uint16_t); + + DX::ThrowIfFailed( + device->CreateBuffer(&bufferDesc, &initialData, m_indexBuffer.ReleaseAndGetAddressOf()) + ); + } + + // Create the vertex shader constant buffer. + { + CD3D11_BUFFER_DESC bufferDesc(sizeof(XMMATRIX), D3D11_BIND_CONSTANT_BUFFER, D3D11_USAGE_DYNAMIC, D3D11_CPU_ACCESS_WRITE); + DX::ThrowIfFailed( + device->CreateBuffer(&bufferDesc, nullptr, m_vertexConstants.ReleaseAndGetAddressOf()) + ); + } + + // Create the pixel shader (lighting) constant buffer. + { + static_assert((sizeof(Lights) % 16) == 0, "Constant buffer must always be 16-byte aligned"); + + CD3D11_BUFFER_DESC bufferDesc(sizeof(Lights), D3D11_BIND_CONSTANT_BUFFER, D3D11_USAGE_DYNAMIC, D3D11_CPU_ACCESS_WRITE); + DX::ThrowIfFailed( + device->CreateBuffer(&bufferDesc, nullptr, m_pixelConstants.ReleaseAndGetAddressOf()) + ); + } + + m_CPUInstanceData.reset(new Instance[c_maxInstances]); + m_rotationQuaternions.reset(reinterpret_cast(_aligned_malloc(sizeof(XMVECTOR) * c_maxInstances, 16))); + m_velocities.reset(reinterpret_cast(_aligned_malloc(sizeof(XMVECTOR) * c_maxInstances, 16))); + + // Set up the position and scale for the container box. Scale is negative to turn the box inside-out + // (this effectively reverses the normals and backface culling). + // Scale the outside box to slightly larger than our scene boundary, so bouncing boxes never actually clip it. + m_CPUInstanceData[0].positionAndScale = XMFLOAT4(0.0f, 0.0f, 0.0f, -(c_boxBounds + 5)); + m_CPUInstanceData[0].quaternion = XMFLOAT4(0.0f, 0.0f, 0.0f, 1.0f); + + // Initialize the directional light. + XMStoreFloat4(&m_lights.directional, XMVector3Normalize(XMVectorSet(1.0f, 4.0f, -2.0f, 0))); + + // Initialize the positions/state of all the cubes in the scene. + ResetSimulation(); +} + +// Allocate all memory resources that change on a window SizeChanged event. +void Sample::CreateWindowSizeDependentResources() +{ + // Initialize the projection matrix. + auto size = m_deviceResources->GetOutputSize(); + + XMMATRIX proj = XMMatrixPerspectiveFovLH(XM_PIDIV4, float(size.right) / float(size.bottom), 0.1f, 500.0f); + + XMFLOAT4X4 orient = m_deviceResources->GetOrientationTransform3D(); + + XMStoreFloat4x4(&m_proj, proj * XMLoadFloat4x4(&orient)); + + m_batch->SetRotation(m_deviceResources->GetRotation()); +} + +void Sample::OnDeviceLost() +{ + m_batch.reset(); + m_smallFont.reset(); + m_ctrlFont.reset(); + m_inputLayout.Reset(); + m_vertexBuffer.Reset(); + m_indexBuffer.Reset(); + m_instanceData.Reset(); + m_boxColors.Reset(); + m_vertexConstants.Reset(); + m_pixelConstants.Reset(); + m_vertexShader.Reset(); + m_pixelShader.Reset(); +} + +void Sample::OnDeviceRestored() +{ + CreateDeviceDependentResources(); + + CreateWindowSizeDependentResources(); +} +#pragma endregion + +void Sample::ReplaceBufferContents(ID3D11Buffer* buffer, size_t bufferSize, const void* data) +{ + auto context = m_deviceResources->GetD3DDeviceContext(); + D3D11_MAPPED_SUBRESOURCE mapped; + + DX::ThrowIfFailed( + context->Map(buffer, 0, D3D11_MAP_WRITE_DISCARD, 0, &mapped) + ); + + memcpy(mapped.pData, data, bufferSize); + context->Unmap(buffer, 0); +} + +void Sample::ResetSimulation() +{ + // Reset positions to starting point, and orientations to identity. + // Note that instance 0 is the scene bounding box, and the position, orientation and scale are static (i.e. never update). + for (size_t i = 1; i < c_maxInstances; ++i) + { + m_CPUInstanceData[i].positionAndScale = XMFLOAT4(0.0f, 0.0f, c_boxBounds / 2.0f, FloatRand(0.1f, 0.4f)); + m_CPUInstanceData[i].quaternion = XMFLOAT4(0.0f, 0.0f, 0.0f, 1.0f); + + // For the first c_pointLightCount in the updated array, we scale up by a small factor so they stand out, and + // update the light constant data with their positions. + if (i <= c_pointLightCount) + { + m_CPUInstanceData[i].positionAndScale.w = 1.53f; + m_lights.pointPositions[i - 1] = m_CPUInstanceData[i].positionAndScale; + } + + // Apply a random spin to each instance. + m_rotationQuaternions[i] = XMQuaternionRotationAxis(XMVector3Normalize(XMVectorSet(FloatRand(), FloatRand(), FloatRand(), 0)), FloatRand(0.001f, 0.1f)); + + // ...and a random velocity. + m_velocities[i] = XMVectorSet(FloatRand(-0.01f, 0.01f), FloatRand(-0.01f, 0.01f), FloatRand(-0.01f, 0.01f), 0); + } +} + +inline float Sample::FloatRand(float lowerBound, float upperBound) +{ + if (lowerBound == upperBound) + return lowerBound; + + std::uniform_real_distribution dist(lowerBound, upperBound); + + return dist(m_randomEngine); +} diff --git a/Samples/IntroGraphics/SimpleInstancingUWP/SimpleInstancing.h b/Samples/IntroGraphics/SimpleInstancingUWP/SimpleInstancing.h new file mode 100644 index 00000000..a8a88f98 --- /dev/null +++ b/Samples/IntroGraphics/SimpleInstancingUWP/SimpleInstancing.h @@ -0,0 +1,123 @@ +//-------------------------------------------------------------------------------------- +// SimpleInstancing.h +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#pragma once + +#include "DeviceResources.h" +#include "StepTimer.h" +#include "Shared.h" + +#include + +// A basic sample implementation that creates a D3D11 device and +// provides a render loop. +class Sample : public DX::IDeviceNotify +{ +public: + + Sample(); + + // Initialization and management + void Initialize(IUnknown* window, int width, int height, DXGI_MODE_ROTATION rotation); + + // Basic render loop + void Tick(); + void Render(); + + // Rendering helpers + void Clear(); + + // IDeviceNotify + virtual void OnDeviceLost() override; + virtual void OnDeviceRestored() override; + + // Messages + void OnActivated(); + void OnDeactivated(); + void OnSuspending(); + void OnResuming(); + void OnWindowSizeChanged(int width, int height, DXGI_MODE_ROTATION rotation); + void ValidateDevice(); + + // Properties + void GetDefaultSize( int& width, int& height ) const; + +private: + + void Update(DX::StepTimer const& timer); + + void CreateDeviceDependentResources(); + void CreateWindowSizeDependentResources(); + + void ReplaceBufferContents(ID3D11Buffer* buffer, size_t bufferSize, const void* data); + void ResetSimulation(); + + float FloatRand(float lowerBound = -1.0f, float upperBound = 1.0f); + + // Device resources. + std::unique_ptr m_deviceResources; + + // Rendering loop timer. + DX::StepTimer m_timer; + + // Input devices. + std::unique_ptr m_gamePad; + std::unique_ptr m_keyboard; + std::unique_ptr m_mouse; + + DirectX::GamePad::ButtonStateTracker m_gamePadButtons; + DirectX::Keyboard::KeyboardStateTracker m_keyboardButtons; + bool m_gamepadPresent; + + // DirectXTK objects. + std::unique_ptr m_batch; + std::unique_ptr m_smallFont; + std::unique_ptr m_ctrlFont; + + //-------------------------------------------------------------------------------------- + // Sample Objects. + //-------------------------------------------------------------------------------------- + + // Instance vertex definition + struct Instance + { + DirectX::XMFLOAT4 quaternion; + DirectX::XMFLOAT4 positionAndScale; + }; + + // Light data structure (maps to constant buffer in pixel shader) + struct Lights + { + DirectX::XMFLOAT4 directional; + DirectX::XMFLOAT4 pointPositions[c_pointLightCount]; + DirectX::XMFLOAT4 pointColors[c_pointLightCount]; + }; + + Microsoft::WRL::ComPtr m_inputLayout; + Microsoft::WRL::ComPtr m_vertexBuffer; + Microsoft::WRL::ComPtr m_indexBuffer; + Microsoft::WRL::ComPtr m_instanceData; + Microsoft::WRL::ComPtr m_boxColors; + Microsoft::WRL::ComPtr m_vertexConstants; + Microsoft::WRL::ComPtr m_pixelConstants; + Microsoft::WRL::ComPtr m_vertexShader; + Microsoft::WRL::ComPtr m_pixelShader; + + struct aligned_deleter { void operator()(void* p) { _aligned_free(p); } }; + + std::unique_ptr m_CPUInstanceData; + std::unique_ptr m_rotationQuaternions; + std::unique_ptr m_velocities; + uint32_t m_usedInstanceCount; + + DirectX::XMFLOAT4X4 m_proj; + Lights m_lights; + float m_pitch; + float m_yaw; + + std::default_random_engine m_randomEngine; +}; \ No newline at end of file diff --git a/Samples/IntroGraphics/SimpleInstancingUWP/SimpleInstancing.hlsli b/Samples/IntroGraphics/SimpleInstancingUWP/SimpleInstancing.hlsli new file mode 100644 index 00000000..94e47d13 --- /dev/null +++ b/Samples/IntroGraphics/SimpleInstancingUWP/SimpleInstancing.hlsli @@ -0,0 +1,119 @@ +//-------------------------------------------------------------------------------------- +// SimpleInstancing.hlsli +// +// Simple shaders demonstrating how to peform instanced drawing. +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#include "Shared.h" + +//-------------------------------------------------------------------------------------- +// Name: InstancingConstants +// Desc: Constant buffer containing clip-space transform. +//-------------------------------------------------------------------------------------- +cbuffer InstancingConstants +{ + float4x4 Clip; // Clip transform +}; + +//-------------------------------------------------------------------------------------- +// Name: Lights +// Desc: Constant buffer containing lighting information. +//-------------------------------------------------------------------------------------- +cbuffer Lights +{ + float4 Directional; + float4 PointPositions[ c_pointLightCount ]; + float4 PointColors[ c_pointLightCount ]; +}; + +//-------------------------------------------------------------------------------------- +// Name: InstancedVertex +// Desc: Structure containing vertex definition for instanced drawing. +// The incoming vertices arrive from 3 streams - one of which contains +// per-primitive information, the other two per-instance. +//-------------------------------------------------------------------------------------- +struct InstancedVertex +{ + float3 Position : POSITION; // Vertex position (per primitive) + float3 Normal : NORMAL; // Vertex normal (per primitive) + float4 InstRotation : I_ROTATION; // Orientation quaternion (per instance) + float4 InstPosScale : I_POSSCALE; // Position and scale (per instance) + float4 InstColor : I_COLOR; // Color (per instance) +}; + +//-------------------------------------------------------------------------------------- +// Name: Interpolants +// Desc: Interpolated values passed to the pixel shader. +//-------------------------------------------------------------------------------------- +struct Interpolants +{ + float4 Position : SV_POSITION; + float3 Normal : TEXCOORD0; + float4 Color : TEXCOORD1; + float3 WorldPos : TEXCOORD2; +}; + +//-------------------------------------------------------------------------------------- +// Name: RotateVectorByQuaternion +// Desc: Rotate a vector using a quaternion. +//-------------------------------------------------------------------------------------- +float3 RotateVectorByQuaternion( float4 Q, float3 V ) +{ + return V + 2.0f * cross( Q.xyz, cross( Q.xyz, V ) + Q.w * V ); +} + +//-------------------------------------------------------------------------------------- +// Name: VSMain() +// Desc: Vertex Shader main entrypoint. +//-------------------------------------------------------------------------------------- +Interpolants VSMain( InstancedVertex In ) +{ + Interpolants Out = ( Interpolants ) 0; + // Scale. + float3 position = In.Position * In.InstPosScale.w; + + // Rotate vertex position and normal based on instance quaternion... + position = RotateVectorByQuaternion( In.InstRotation, position ); + float3 normal = RotateVectorByQuaternion( In.InstRotation, In.Normal ); + + // Move to world space. + position += In.InstPosScale.xyz; + + // ...and clip. + Out.Position = mul( float4( position, 1 ), Clip ); + + // World space transform + Out.WorldPos = position; + + // Finally, output normal and color + Out.Normal = normal; + Out.Color = In.InstColor; + + return Out; +} + +//-------------------------------------------------------------------------------------- +// Name: PSMain() +// Desc: Pixel Shader main entrypoint. +//-------------------------------------------------------------------------------------- +float4 PSMain( Interpolants In ) : SV_Target +{ + float4 colorOut = 0; + + // Directional component: + colorOut = saturate( dot( In.Normal, Directional.xyz ) ) * In.Color * 0.5; + + for( uint i = 0; i < c_pointLightCount; ++i ) + { + float3 pointDirection = PointPositions[ i ].xyz - In.WorldPos; + float d = length( pointDirection ); + float attenuation = max( 0, 1.0f - ( dot( pointDirection, pointDirection ) / 500 ) ); + pointDirection = normalize( pointDirection ); + colorOut += saturate( dot( In.Normal, pointDirection ) ) * In.Color * PointColors[ i ] * attenuation; + } + + return colorOut + ( ( sign( In.Color.a ) * In.Color ) ); +} diff --git a/Samples/IntroGraphics/SimpleInstancingUWP/SimpleInstancing.sln b/Samples/IntroGraphics/SimpleInstancingUWP/SimpleInstancing.sln new file mode 100644 index 00000000..18e4d0ee --- /dev/null +++ b/Samples/IntroGraphics/SimpleInstancingUWP/SimpleInstancing.sln @@ -0,0 +1,54 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25123.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SimpleInstancing", "SimpleInstancing.vcxproj", "{A715348B-0E0A-4739-B184-F829C1A6FD96}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectXTK", "..\..\..\Kits\DirectXTK\DirectXTK_Windows10.vcxproj", "{F4776924-619C-42C7-88B2-82C947CCC9E7}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|ARM = Debug|ARM + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|ARM = Release|ARM + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {A715348B-0E0A-4739-B184-F829C1A6FD96}.Debug|ARM.ActiveCfg = Debug|ARM + {A715348B-0E0A-4739-B184-F829C1A6FD96}.Debug|ARM.Build.0 = Debug|ARM + {A715348B-0E0A-4739-B184-F829C1A6FD96}.Debug|ARM.Deploy.0 = Debug|ARM + {A715348B-0E0A-4739-B184-F829C1A6FD96}.Debug|x64.ActiveCfg = Debug|x64 + {A715348B-0E0A-4739-B184-F829C1A6FD96}.Debug|x64.Build.0 = Debug|x64 + {A715348B-0E0A-4739-B184-F829C1A6FD96}.Debug|x64.Deploy.0 = Debug|x64 + {A715348B-0E0A-4739-B184-F829C1A6FD96}.Debug|x86.ActiveCfg = Debug|Win32 + {A715348B-0E0A-4739-B184-F829C1A6FD96}.Debug|x86.Build.0 = Debug|Win32 + {A715348B-0E0A-4739-B184-F829C1A6FD96}.Debug|x86.Deploy.0 = Debug|Win32 + {A715348B-0E0A-4739-B184-F829C1A6FD96}.Release|ARM.ActiveCfg = Release|ARM + {A715348B-0E0A-4739-B184-F829C1A6FD96}.Release|ARM.Build.0 = Release|ARM + {A715348B-0E0A-4739-B184-F829C1A6FD96}.Release|ARM.Deploy.0 = Release|ARM + {A715348B-0E0A-4739-B184-F829C1A6FD96}.Release|x64.ActiveCfg = Release|x64 + {A715348B-0E0A-4739-B184-F829C1A6FD96}.Release|x64.Build.0 = Release|x64 + {A715348B-0E0A-4739-B184-F829C1A6FD96}.Release|x64.Deploy.0 = Release|x64 + {A715348B-0E0A-4739-B184-F829C1A6FD96}.Release|x86.ActiveCfg = Release|Win32 + {A715348B-0E0A-4739-B184-F829C1A6FD96}.Release|x86.Build.0 = Release|Win32 + {A715348B-0E0A-4739-B184-F829C1A6FD96}.Release|x86.Deploy.0 = Release|Win32 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|ARM.ActiveCfg = Debug|ARM + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|ARM.Build.0 = Debug|ARM + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|x64.ActiveCfg = Debug|x64 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|x64.Build.0 = Debug|x64 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|x86.ActiveCfg = Debug|Win32 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|x86.Build.0 = Debug|Win32 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|ARM.ActiveCfg = Release|ARM + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|ARM.Build.0 = Release|ARM + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|x64.ActiveCfg = Release|x64 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|x64.Build.0 = Release|x64 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|x86.ActiveCfg = Release|Win32 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Samples/IntroGraphics/SimpleInstancingUWP/SimpleInstancing.vcxproj b/Samples/IntroGraphics/SimpleInstancingUWP/SimpleInstancing.vcxproj new file mode 100644 index 00000000..834be222 --- /dev/null +++ b/Samples/IntroGraphics/SimpleInstancingUWP/SimpleInstancing.vcxproj @@ -0,0 +1,321 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + Debug + ARM + + + Release + ARM + + + + {a715348b-0e0a-4739-b184-f829c1a6fd96} + DirectXApp + SimpleInstancing + en-US + 14.0 + true + Windows Store + 10.0.10586.0 + 10.0.10240.0 + 10.0 + true + + + + Application + true + v140 + + + Application + true + v140 + + + Application + true + v140 + + + Application + false + true + v140 + + + Application + false + true + v140 + + + Application + false + true + v140 + + + + + + + + + + + + + + + + + + + + + + + + + + + + SimpleInstancing_TemporaryKey.pfx + + + + d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\arm; $(VCInstallDir)\lib\arm + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + _DEBUG;%(PreprocessorDefinitions) + Fast + + + 4.0_level_9_3 + + + + + d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\arm; $(VCInstallDir)\lib\arm + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + NDEBUG;%(PreprocessorDefinitions) + Fast + + + 4.0_level_9_3 + + + + + d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store; $(VCInstallDir)\lib + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + _DEBUG;%(PreprocessorDefinitions) + Fast + StreamingSIMDExtensions2 + + + 4.0_level_9_3 + + + + + d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store; $(VCInstallDir)\lib + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + NDEBUG;%(PreprocessorDefinitions) + Fast + StreamingSIMDExtensions2 + + + 4.0_level_9_3 + + + + + d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\amd64; $(VCInstallDir)\lib\amd64 + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + _DEBUG;%(PreprocessorDefinitions) + Fast + + + 4.0_level_9_3 + + + + + d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\amd64; $(VCInstallDir)\lib\amd64 + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + NDEBUG;%(PreprocessorDefinitions) + Fast + + + 4.0_level_9_3 + + + + + + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + + + + + Designer + + + true + true + true + true + true + true + + + true + true + true + true + true + true + + + + + + + + + + + + + + + {f4776924-619c-42c7-88b2-82c947ccc9e7} + + + + + PSMain + Pixel + PSMain + Pixel + PSMain + Pixel + PSMain + Pixel + PSMain + Pixel + PSMain + Pixel + 4.0 + 4.0 + 4.0 + 4.0 + 4.0 + 4.0 + + + VSMain + Vertex + VSMain + Vertex + VSMain + Vertex + VSMain + Vertex + VSMain + Vertex + VSMain + Vertex + 4.0 + 4.0 + 4.0 + 4.0 + 4.0 + 4.0 + + + + + + + + + \ No newline at end of file diff --git a/Samples/IntroGraphics/SimpleInstancingUWP/SimpleInstancing.vcxproj.filters b/Samples/IntroGraphics/SimpleInstancingUWP/SimpleInstancing.vcxproj.filters new file mode 100644 index 00000000..e9491efe --- /dev/null +++ b/Samples/IntroGraphics/SimpleInstancingUWP/SimpleInstancing.vcxproj.filters @@ -0,0 +1,89 @@ + + + + + d849c647-8f89-4335-bff1-865567cf1b15 + + + 9b77ee52-153f-4b83-8e14-48648b2a09ee + bmp;dds;fbx;gif;jpg;jpeg;tga;tiff;tif;png + + + {daac6288-49b4-4239-9237-39ae7c22a5d8} + + + {0e3d889f-2057-447d-ab83-9dc0833936ff} + + + + + + + Common + + + Common + + + ATG Tool Kit + + + ATG Tool Kit + + + ATG Tool Kit + + + Shaders + + + + + + + + Common + + + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + + + + + + + Assets + + + Assets + + + Shaders + + + + + + Shaders + + + Shaders + + + \ No newline at end of file diff --git a/Samples/IntroGraphics/SimpleInstancingUWP/SimpleInstancing_TemporaryKey.pfx b/Samples/IntroGraphics/SimpleInstancingUWP/SimpleInstancing_TemporaryKey.pfx new file mode 100644 index 0000000000000000000000000000000000000000..bd3a47bf1035a7e8cc958d8814b545a1c99386c3 GIT binary patch literal 2450 zcmXqL;%sALWHxBxbYkPwYV&CO&dbQoxS)yCn5BtR-=K+8+n|Z{6N(h;W0oe?`vy&{ zw+)(Dud{JOb@6a9GA(Fg`DW0>^2tDkjSD8s$ZWvJ!lB8%X63CF6V5O(v0q?mV!5zn zbS~rk#jke*cy$ezyKSAhw58=j3S+Q~RN0%PFLLr;wv#mM_B;8#@X_KL~Z1vj!8 z?^*Llc~(`cvBmliOpeF@f9LW)8s*dApc)vrB$2T_)PhrSYC^`8PnR4%`t@qA<#UK+ zjF0Q9+aTvPh5L3?b)v=*wH)I^8Mi#7W&SB#e)w%#`@_APl3tx*Wf#+%FWQu}^~#pX zvl*uUuX(VN+x})ghyF&UztKiN4HoP2a-ap~ndn5N2`wH>v_Qvk`f9%et(wu_ddVk(swr}`l^-nV5Ty%4Y zKjV&r2MldxrW;gD1zj$B_2JVxVvoLx!dc-W+gq^kd!Dd)Rv=qHu99y!q3qk z6<62DDof2c)H;RtQ}Z#ac*m!I%~@aiKHe?ov;Db&xnN!D9*4j+o*0xVz!Hj$Neok-i516aBM!`(t(+B^2 z*9s@$bDxj=U#fm=mFr{cWSg1qcHVyz`TuU=?K>Qo+>2y4-aGd3ocpUEorO97j*C`z zpV&LcK~0uPobjrdR*=&F#i}w-7`RUCRF1oFWF-^FgdIf}Zb)xmvbb^5&Zzu-0*oHJ zOB&m5ZnU=1JFt4|=7Q+S@)t!ioIlUZ-=&>BZ>pPpHDAM*C+8EV%o3b)w(>-O_14u) z-Vd6?U0!_k{Q36o_v!UV1hQ1FdTspbK9}{2becf-jnk(y{2zQdt$tW?NBH48nq?l7 z_bN4g-+%V<;gnk8*6)^ge8t{LIy9)B3S4vYm7?%12L|nx0qdu|6mk>3>u`R7v47+l z>!7&r(_>fjUs2Z;Ie1~y9KO9Ja(=rOR+h5Yyi&{3`XOX;V?)9{5od0}-R4~V(!GwW z8idu}vUbZqKd@@+swg+*9r9b+WzSYUE9!QdX)dy|NJ(eIp381(S0mj7JvwGB>I|*) z7V*kXiE&nXzo_Y5s+r5%zLkgT%-ZWTj=d;~x840+f5`*e49km-IlrG>HeKSg_e8_n zHOd-$(yK~4PL;7elwZ*<;C1)F8Q!1g->$nn-73;%Nn)93$+>pv86^{QBVM^#$5kc; z`lZd?@XVEI>7yz8W*hk^*>2b}>1fB&#zjnRVwnmCYXkXyy|ruWWxaHDRa(p1qfUm6 zXAOkm#U!VwAsY(|BLf42K{!HC#L!F5gTa&`ks*yCnZba;n8Ao4nL(E!nZcC7lEH{U zm%)U=l);F>m_e7plEH$(oWYVomm!V8jKP$_n8AP{jUkD_h{1#*k->~1)gYFQQ=5&E zg|W$8kkK$e&X2*DA(J7Qp@<=$p_n0`A&sGgL4hHdp#&_F$B@pTz~IbK#8Amlz)-@F z&ydbg#E{5Pz>opfrN9sXR#(Q5$&kX3%1~s`#B2z6IjBNlR$^&lmNRH#mNIB!7DF!e znHMxMy)$THdIc}@ImH+kG%?*`X=1u&(8P4fpowwU0%j&gCMJQYP!UoNXW{&TD99U}|J;U}|DyY8fTYYiJJQ z8XAJRSadWoDj^%o$jZRn#K_NJ(8S2a)Wpchu)NY+;ELpyME0ET2Wof!j3|7?`F!ye z>6WK_sx*mU2+`9K@G_T&y^`K_PJz9fofde_Bj)OBum zxxsIvl(BGc_u?S`D;4{zI`d|>t(fvgXxhOE8izK2opXPl`aI*rL#IzT)vizI((5{X zATjFJLHn55CqlWUGOjbv4$+;IJgrt;LszdT&Hl~Q89P*1i+u{b0wV)hdxTaUQ2g}L z`tBw114f)m6VI4(Ncd)J>E3g5jW*wT$9Mh}aV7q_9$PMRC7kgvuF)=Nk>^|binA%r z{=t-_i+%U6iJa}wNZotk*6z5<7eTXj^JN#RO+Cwat*U2=2sRFf%7@z +#include + +namespace DX +{ + // Helper class for animation and simulation timing. + class StepTimer + { + public: + StepTimer() : + m_elapsedTicks(0), + m_totalTicks(0), + m_leftOverTicks(0), + m_frameCount(0), + m_framesPerSecond(0), + m_framesThisSecond(0), + m_qpcSecondCounter(0), + m_isFixedTimeStep(false), + m_targetElapsedTicks(TicksPerSecond / 60) + { + if (!QueryPerformanceFrequency(&m_qpcFrequency)) + { + throw std::exception( "QueryPerformanceFrequency" ); + } + + if (!QueryPerformanceCounter(&m_qpcLastTime)) + { + throw std::exception( "QueryPerformanceCounter" ); + } + + // Initialize max delta to 1/10 of a second. + m_qpcMaxDelta = m_qpcFrequency.QuadPart / 10; + } + + // Get elapsed time since the previous Update call. + uint64_t GetElapsedTicks() const { return m_elapsedTicks; } + double GetElapsedSeconds() const { return TicksToSeconds(m_elapsedTicks); } + + // Get total time since the start of the program. + uint64_t GetTotalTicks() const { return m_totalTicks; } + double GetTotalSeconds() const { return TicksToSeconds(m_totalTicks); } + + // Get total number of updates since start of the program. + uint32_t GetFrameCount() const { return m_frameCount; } + + // Get the current framerate. + uint32_t GetFramesPerSecond() const { return m_framesPerSecond; } + + // Set whether to use fixed or variable timestep mode. + void SetFixedTimeStep(bool isFixedTimestep) { m_isFixedTimeStep = isFixedTimestep; } + + // Set how often to call Update when in fixed timestep mode. + void SetTargetElapsedTicks(uint64_t targetElapsed) { m_targetElapsedTicks = targetElapsed; } + void SetTargetElapsedSeconds(double targetElapsed) { m_targetElapsedTicks = SecondsToTicks(targetElapsed); } + + // Integer format represents time using 10,000,000 ticks per second. + static const uint64_t TicksPerSecond = 10000000; + + static double TicksToSeconds(uint64_t ticks) { return static_cast(ticks) / TicksPerSecond; } + static uint64_t SecondsToTicks(double seconds) { return static_cast(seconds * TicksPerSecond); } + + // After an intentional timing discontinuity (for instance a blocking IO operation) + // call this to avoid having the fixed timestep logic attempt a set of catch-up + // Update calls. + + void ResetElapsedTime() + { + if (!QueryPerformanceCounter(&m_qpcLastTime)) + { + throw std::exception("QueryPerformanceCounter"); + } + + m_leftOverTicks = 0; + m_framesPerSecond = 0; + m_framesThisSecond = 0; + m_qpcSecondCounter = 0; + } + + // Update timer state, calling the specified Update function the appropriate number of times. + template + void Tick(const TUpdate& update) + { + // Query the current time. + LARGE_INTEGER currentTime; + + if (!QueryPerformanceCounter(¤tTime)) + { + throw std::exception( "QueryPerformanceCounter" ); + } + + uint64_t timeDelta = currentTime.QuadPart - m_qpcLastTime.QuadPart; + + m_qpcLastTime = currentTime; + m_qpcSecondCounter += timeDelta; + + // Clamp excessively large time deltas (e.g. after paused in the debugger). + if (timeDelta > m_qpcMaxDelta) + { + timeDelta = m_qpcMaxDelta; + } + + // Convert QPC units into a canonical tick format. This cannot overflow due to the previous clamp. + timeDelta *= TicksPerSecond; + timeDelta /= m_qpcFrequency.QuadPart; + + uint32_t lastFrameCount = m_frameCount; + + if (m_isFixedTimeStep) + { + // Fixed timestep update logic + + // If the app is running very close to the target elapsed time (within 1/4 of a millisecond) just clamp + // the clock to exactly match the target value. This prevents tiny and irrelevant errors + // from accumulating over time. Without this clamping, a game that requested a 60 fps + // fixed update, running with vsync enabled on a 59.94 NTSC display, would eventually + // accumulate enough tiny errors that it would drop a frame. It is better to just round + // small deviations down to zero to leave things running smoothly. + + if (abs(static_cast(timeDelta - m_targetElapsedTicks)) < TicksPerSecond / 4000) + { + timeDelta = m_targetElapsedTicks; + } + + m_leftOverTicks += timeDelta; + + while (m_leftOverTicks >= m_targetElapsedTicks) + { + m_elapsedTicks = m_targetElapsedTicks; + m_totalTicks += m_targetElapsedTicks; + m_leftOverTicks -= m_targetElapsedTicks; + m_frameCount++; + + update(); + } + } + else + { + // Variable timestep update logic. + m_elapsedTicks = timeDelta; + m_totalTicks += timeDelta; + m_leftOverTicks = 0; + m_frameCount++; + + update(); + } + + // Track the current framerate. + if (m_frameCount != lastFrameCount) + { + m_framesThisSecond++; + } + + if (m_qpcSecondCounter >= static_cast(m_qpcFrequency.QuadPart)) + { + m_framesPerSecond = m_framesThisSecond; + m_framesThisSecond = 0; + m_qpcSecondCounter %= m_qpcFrequency.QuadPart; + } + } + + private: + // Source timing data uses QPC units. + LARGE_INTEGER m_qpcFrequency; + LARGE_INTEGER m_qpcLastTime; + uint64_t m_qpcMaxDelta; + + // Derived timing data uses a canonical tick format. + uint64_t m_elapsedTicks; + uint64_t m_totalTicks; + uint64_t m_leftOverTicks; + + // Members for tracking the framerate. + uint32_t m_frameCount; + uint32_t m_framesPerSecond; + uint32_t m_framesThisSecond; + uint64_t m_qpcSecondCounter; + + // Members for configuring fixed timestep mode. + bool m_isFixedTimeStep; + uint64_t m_targetElapsedTicks; + }; +} diff --git a/Samples/IntroGraphics/SimpleInstancingUWP/VertexShader.hlsl b/Samples/IntroGraphics/SimpleInstancingUWP/VertexShader.hlsl new file mode 100644 index 00000000..b8a537c8 --- /dev/null +++ b/Samples/IntroGraphics/SimpleInstancingUWP/VertexShader.hlsl @@ -0,0 +1,2 @@ +// VertexShader.hlsl file to provide an MSBuild target for the SimpleInstancing vertex-shader entry point +#include "SimpleInstancing.hlsli" \ No newline at end of file diff --git a/Samples/IntroGraphics/SimpleInstancingUWP/pch.cpp b/Samples/IntroGraphics/SimpleInstancingUWP/pch.cpp new file mode 100644 index 00000000..851c81be --- /dev/null +++ b/Samples/IntroGraphics/SimpleInstancingUWP/pch.cpp @@ -0,0 +1,10 @@ +//-------------------------------------------------------------------------------------- +// pch.cpp +// +// Include the standard header and generate the precompiled header. +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#include "pch.h" diff --git a/Samples/IntroGraphics/SimpleInstancingUWP/pch.h b/Samples/IntroGraphics/SimpleInstancingUWP/pch.h new file mode 100644 index 00000000..dbcf0c21 --- /dev/null +++ b/Samples/IntroGraphics/SimpleInstancingUWP/pch.h @@ -0,0 +1,69 @@ +//-------------------------------------------------------------------------------------- +// pch.h +// +// Header for standard system include files. +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#pragma once + +// Use the C++ standard templated min/max +#define NOMINMAX + +#include + +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include +#include + +#ifdef _DEBUG +#include +#endif + +#include "GamePad.h" +#include "Keyboard.h" +#include "Mouse.h" +#include "SpriteBatch.h" +#include "SimpleMath.h" +#include "SpriteFont.h" + +namespace DX +{ + // Helper class for COM exceptions + class com_exception : public std::exception + { + public: + com_exception(HRESULT hr) : result(hr) {} + + virtual const char* what() const override + { + static char s_str[64] = { 0 }; + sprintf_s(s_str, "Failure with HRESULT of %08X", result); + return s_str; + } + + private: + HRESULT result; + }; + + // Helper utility converts D3D API failures into exceptions. + inline void ThrowIfFailed(HRESULT hr) + { + if (FAILED(hr)) + { + throw com_exception(hr); + } + } +} \ No newline at end of file diff --git a/Samples/IntroGraphics/SimpleLightingUWP/Assets/Logo.png b/Samples/IntroGraphics/SimpleLightingUWP/Assets/Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..6e7e704a106b99487be0f1eded426e6c5a2c65a9 GIT binary patch literal 39826 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 YA}aUbQ|(Go1_lNOPgg&ebxsLQ0HMvfUjP6A literal 0 HcmV?d00001 diff --git a/Samples/IntroGraphics/SimpleLightingUWP/Assets/SmallLogo.png b/Samples/IntroGraphics/SimpleLightingUWP/Assets/SmallLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..98b09d91991638282fc2426bbfd4a517733ff15a GIT binary patch literal 23704 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 QcF+-zp00i_>zopr0N0Pd_W%F@ literal 0 HcmV?d00001 diff --git a/Samples/IntroGraphics/SimpleLightingUWP/Assets/SplashScreen.png b/Samples/IntroGraphics/SimpleLightingUWP/Assets/SplashScreen.png new file mode 100644 index 0000000000000000000000000000000000000000..c352b156fd090a57aec7da81b3b19a3fb5888b43 GIT binary patch literal 26474 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 omdKI;Vst01?W$S^xk5 literal 0 HcmV?d00001 diff --git a/Samples/IntroGraphics/SimpleLightingUWP/Assets/StoreLogo.png b/Samples/IntroGraphics/SimpleLightingUWP/Assets/StoreLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..315472e10b9d380e509b2f041ea9ace5f994f5d2 GIT binary patch literal 24268 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 literal 0 HcmV?d00001 diff --git a/Samples/IntroGraphics/SimpleLightingUWP/Assets/WideLogo.png b/Samples/IntroGraphics/SimpleLightingUWP/Assets/WideLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..c70f68e2c59214e0ff54844ccd8ae5e955826e10 GIT binary patch literal 46540 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 literal 0 HcmV?d00001 diff --git a/Samples/IntroGraphics/SimpleLightingUWP/DeviceResources.cpp b/Samples/IntroGraphics/SimpleLightingUWP/DeviceResources.cpp new file mode 100644 index 00000000..d549f821 --- /dev/null +++ b/Samples/IntroGraphics/SimpleLightingUWP/DeviceResources.cpp @@ -0,0 +1,592 @@ +// +// DeviceResources.cpp - A wrapper for the Direct3D 11 device and swapchain +// (requires DirectX 11.3 Runtime) +// + + +#include "pch.h" +#include "DeviceResources.h" + +using namespace DirectX; + +using Microsoft::WRL::ComPtr; + +namespace +{ +#if defined(_DEBUG) + // Check for SDK Layer support. + inline bool SdkLayersAvailable() + { + HRESULT hr = D3D11CreateDevice( + nullptr, + D3D_DRIVER_TYPE_NULL, // There is no need to create a real hardware device. + 0, + D3D11_CREATE_DEVICE_DEBUG, // Check for the SDK layers. + nullptr, // Any feature level will do. + 0, + D3D11_SDK_VERSION, + nullptr, // No need to keep the D3D device reference. + nullptr, // No need to know the feature level. + nullptr // No need to keep the D3D device context reference. + ); + + return SUCCEEDED(hr); + } +#endif + + inline DXGI_FORMAT NoSRGB(DXGI_FORMAT fmt) + { + switch (fmt) + { + case DXGI_FORMAT_R8G8B8A8_UNORM_SRGB: return DXGI_FORMAT_R8G8B8A8_UNORM; + case DXGI_FORMAT_B8G8R8A8_UNORM_SRGB: return DXGI_FORMAT_B8G8R8A8_UNORM; + case DXGI_FORMAT_B8G8R8X8_UNORM_SRGB: return DXGI_FORMAT_B8G8R8X8_UNORM; + default: return fmt; + } + } +}; + +// Constants used to calculate screen rotations +namespace ScreenRotation +{ + // 0-degree Z-rotation + static const XMFLOAT4X4 Rotation0( + 1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 1.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f + ); + + // 90-degree Z-rotation + static const XMFLOAT4X4 Rotation90( + 0.0f, 1.0f, 0.0f, 0.0f, + -1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f + ); + + // 180-degree Z-rotation + static const XMFLOAT4X4 Rotation180( + -1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, -1.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f + ); + + // 270-degree Z-rotation + static const XMFLOAT4X4 Rotation270( + 0.0f, -1.0f, 0.0f, 0.0f, + 1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f + ); +}; + +// Constructor for DeviceResources. +DX::DeviceResources::DeviceResources(DXGI_FORMAT backBufferFormat, DXGI_FORMAT depthBufferFormat, UINT backBufferCount, D3D_FEATURE_LEVEL minFeatureLevel) : + m_screenViewport{}, + m_backBufferFormat(backBufferFormat), + m_depthBufferFormat(depthBufferFormat), + m_backBufferCount(backBufferCount), + m_d3dMinFeatureLevel(minFeatureLevel), + m_window(nullptr), + m_d3dFeatureLevel(D3D_FEATURE_LEVEL_9_1), + m_rotation(DXGI_MODE_ROTATION_IDENTITY), + m_outputSize{0, 0, 1, 1}, + m_orientationTransform3D(ScreenRotation::Rotation0), + m_deviceNotify(nullptr) +{ +} + +// Configures the Direct3D device, and stores handles to it and the device context. +void DX::DeviceResources::CreateDeviceResources() +{ + UINT creationFlags = D3D11_CREATE_DEVICE_BGRA_SUPPORT; + +#if defined(_DEBUG) + if (SdkLayersAvailable()) + { + // If the project is in a debug build, enable debugging via SDK Layers with this flag. + creationFlags |= D3D11_CREATE_DEVICE_DEBUG; + } + else + { + OutputDebugStringA("WARNING: Direct3D Debug Device is not available\n"); + } +#endif + + // Determine DirectX hardware feature levels this app will support. + static const D3D_FEATURE_LEVEL s_featureLevels[] = + { + D3D_FEATURE_LEVEL_12_1, + D3D_FEATURE_LEVEL_12_0, + D3D_FEATURE_LEVEL_11_1, + D3D_FEATURE_LEVEL_11_0, + D3D_FEATURE_LEVEL_10_1, + D3D_FEATURE_LEVEL_10_0, + D3D_FEATURE_LEVEL_9_3, + D3D_FEATURE_LEVEL_9_2, + D3D_FEATURE_LEVEL_9_1, + }; + + UINT featLevelCount = 0; + for (; featLevelCount < _countof(s_featureLevels); ++featLevelCount) + { + if (s_featureLevels[featLevelCount] < m_d3dMinFeatureLevel) + break; + } + + if (!featLevelCount) + { + throw std::out_of_range("minFeatureLevel too high"); + } + + ComPtr adapter; + GetHardwareAdapter(adapter.GetAddressOf()); + + // Create the Direct3D 11 API device object and a corresponding context. + ComPtr device; + ComPtr context; + + HRESULT hr = E_FAIL; + if (adapter) + { + hr = D3D11CreateDevice( + adapter.Get(), + D3D_DRIVER_TYPE_UNKNOWN, + 0, + creationFlags, // Set debug and Direct2D compatibility flags. + s_featureLevels, + featLevelCount, + D3D11_SDK_VERSION, + device.GetAddressOf(), // Returns the Direct3D device created. + &m_d3dFeatureLevel, // Returns feature level of device created. + context.GetAddressOf() // Returns the device immediate context. + ); + } +#if defined(NDEBUG) + else + { + throw std::exception("No Direct3D hardware device found"); + } +#else + if (FAILED(hr)) + { + // If the initialization fails, fall back to the WARP device. + // For more information on WARP, see: + // http://go.microsoft.com/fwlink/?LinkId=286690 + hr = D3D11CreateDevice( + nullptr, + D3D_DRIVER_TYPE_WARP, // Create a WARP device instead of a hardware device. + 0, + creationFlags, + s_featureLevels, + featLevelCount, + D3D11_SDK_VERSION, + device.GetAddressOf(), + &m_d3dFeatureLevel, + context.GetAddressOf() + ); + + if (SUCCEEDED(hr)) + { + OutputDebugStringA("Direct3D Adapter - WARP\n"); + } + } +#endif + + DX::ThrowIfFailed(hr); + +#ifndef NDEBUG + ComPtr d3dDebug; + if (SUCCEEDED(device.As(&d3dDebug))) + { + ComPtr d3dInfoQueue; + if (SUCCEEDED(d3dDebug.As(&d3dInfoQueue))) + { +#ifdef _DEBUG + d3dInfoQueue->SetBreakOnSeverity(D3D11_MESSAGE_SEVERITY_CORRUPTION, true); + d3dInfoQueue->SetBreakOnSeverity(D3D11_MESSAGE_SEVERITY_ERROR, true); +#endif + D3D11_MESSAGE_ID hide[] = + { + D3D11_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS, + }; + D3D11_INFO_QUEUE_FILTER filter = {}; + filter.DenyList.NumIDs = _countof(hide); + filter.DenyList.pIDList = hide; + d3dInfoQueue->AddStorageFilterEntries(&filter); + } + } +#endif + + DX::ThrowIfFailed(device.As(&m_d3dDevice)); + DX::ThrowIfFailed(context.As(&m_d3dContext)); +} + +// These resources need to be recreated every time the window size is changed. +void DX::DeviceResources::CreateWindowSizeDependentResources() +{ + if (!m_window) + { + throw std::exception("Call SetWindow with a valid CoreWindow pointer"); + } + + // Clear the previous window size specific context. + ID3D11RenderTargetView* nullViews[] = {nullptr}; + m_d3dContext->OMSetRenderTargets(_countof(nullViews), nullViews, nullptr); + m_d3dRenderTargetView.Reset(); + m_d3dDepthStencilView.Reset(); + m_d3dContext->Flush(); + + // Determine the render target size in pixels. + UINT backBufferWidth = std::max(m_outputSize.right - m_outputSize.left, 1); + UINT backBufferHeight = std::max(m_outputSize.bottom - m_outputSize.top, 1); + DXGI_FORMAT backBufferFormat = NoSRGB(m_backBufferFormat); + + if (m_swapChain) + { + // If the swap chain already exists, resize it. + HRESULT hr = m_swapChain->ResizeBuffers( + m_backBufferCount, + backBufferWidth, + backBufferHeight, + backBufferFormat, + 0 + ); + + if (hr == DXGI_ERROR_DEVICE_REMOVED || hr == DXGI_ERROR_DEVICE_RESET) + { +#ifdef _DEBUG + char buff[64] = {}; + sprintf_s(buff, "Device Lost on ResizeBuffers: Reason code 0x%08X\n", (hr == DXGI_ERROR_DEVICE_REMOVED) ? m_d3dDevice->GetDeviceRemovedReason() : hr); + OutputDebugStringA(buff); +#endif + // If the device was removed for any reason, a new device and swap chain will need to be created. + HandleDeviceLost(); + + // Everything is set up now. Do not continue execution of this method. HandleDeviceLost will reenter this method + // and correctly set up the new device. + return; + } + else + { + DX::ThrowIfFailed(hr); + } + } + else + { + // Otherwise, create a new one using the same adapter as the existing Direct3D device. + + // This sequence obtains the DXGI factory that was used to create the Direct3D device above. + ComPtr dxgiDevice; + DX::ThrowIfFailed(m_d3dDevice.As(&dxgiDevice)); + + ComPtr dxgiAdapter; + DX::ThrowIfFailed(dxgiDevice->GetAdapter(dxgiAdapter.GetAddressOf())); + + ComPtr dxgiFactory; + DX::ThrowIfFailed(dxgiAdapter->GetParent(IID_PPV_ARGS(dxgiFactory.GetAddressOf()))); + + DXGI_SWAP_CHAIN_DESC1 swapChainDesc = {}; + swapChainDesc.Width = backBufferWidth; + swapChainDesc.Height = backBufferHeight; + swapChainDesc.Format = backBufferFormat; + swapChainDesc.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT; + swapChainDesc.BufferCount = m_backBufferCount; + swapChainDesc.SampleDesc.Count = 1; + swapChainDesc.SampleDesc.Quality = 0; + swapChainDesc.Scaling = DXGI_SCALING_ASPECT_RATIO_STRETCH; + swapChainDesc.SwapEffect = DXGI_SWAP_EFFECT_FLIP_DISCARD; + swapChainDesc.AlphaMode = DXGI_ALPHA_MODE_IGNORE; + + ComPtr swapChain; + DX::ThrowIfFailed(dxgiFactory->CreateSwapChainForCoreWindow( + m_d3dDevice.Get(), + m_window, + &swapChainDesc, + nullptr, + swapChain.GetAddressOf() + )); + + DX::ThrowIfFailed(swapChain.As(&m_swapChain)); + + // Ensure that DXGI does not queue more than one frame at a time. This both reduces latency and + // ensures that the application will only render after each VSync, minimizing power consumption. + DX::ThrowIfFailed(dxgiDevice->SetMaximumFrameLatency(1)); + } + + // Set the proper orientation for the swap chain, and generate + // matrix transformations for rendering to the rotated swap chain. + switch (m_rotation) + { + default: + case DXGI_MODE_ROTATION_IDENTITY: + m_orientationTransform3D = ScreenRotation::Rotation0; + break; + + case DXGI_MODE_ROTATION_ROTATE90: + m_orientationTransform3D = ScreenRotation::Rotation270; + break; + + case DXGI_MODE_ROTATION_ROTATE180: + m_orientationTransform3D = ScreenRotation::Rotation180; + break; + + case DXGI_MODE_ROTATION_ROTATE270: + m_orientationTransform3D = ScreenRotation::Rotation90; + break; + } + + DX::ThrowIfFailed(m_swapChain->SetRotation(m_rotation)); + + // Create a render target view of the swap chain back buffer. + ComPtr backBuffer; + DX::ThrowIfFailed(m_swapChain->GetBuffer(0, IID_PPV_ARGS(backBuffer.GetAddressOf()))); + + CD3D11_RENDER_TARGET_VIEW_DESC renderTargetViewDesc(D3D11_RTV_DIMENSION_TEXTURE2D, m_backBufferFormat); + DX::ThrowIfFailed(m_d3dDevice->CreateRenderTargetView( + backBuffer.Get(), + &renderTargetViewDesc, + m_d3dRenderTargetView.ReleaseAndGetAddressOf() + )); + + if (m_depthBufferFormat != DXGI_FORMAT_UNKNOWN) + { + // Create a depth stencil view for use with 3D rendering if needed. + CD3D11_TEXTURE2D_DESC depthStencilDesc( + m_depthBufferFormat, + backBufferWidth, + backBufferHeight, + 1, // This depth stencil view has only one texture. + 1, // Use a single mipmap level. + D3D11_BIND_DEPTH_STENCIL + ); + + ComPtr depthStencil; + DX::ThrowIfFailed(m_d3dDevice->CreateTexture2D( + &depthStencilDesc, + nullptr, + depthStencil.GetAddressOf() + )); + + CD3D11_DEPTH_STENCIL_VIEW_DESC depthStencilViewDesc(D3D11_DSV_DIMENSION_TEXTURE2D); + DX::ThrowIfFailed(m_d3dDevice->CreateDepthStencilView( + depthStencil.Get(), + &depthStencilViewDesc, + m_d3dDepthStencilView.ReleaseAndGetAddressOf() + )); + } + + // Set the 3D rendering viewport to target the entire window. + m_screenViewport = CD3D11_VIEWPORT( + 0.0f, + 0.0f, + static_cast(backBufferWidth), + static_cast(backBufferHeight) + ); +} + +// This method is called when the CoreWindow is created (or re-created). +void DX::DeviceResources::SetWindow(IUnknown* window, int width, int height, DXGI_MODE_ROTATION rotation) +{ + m_window = window; + + m_outputSize.left = m_outputSize.top = 0; + m_outputSize.right = width; + m_outputSize.bottom = height; + + m_rotation = rotation; +} + +// This method is called when the window changes size +bool DX::DeviceResources::WindowSizeChanged(int width, int height, DXGI_MODE_ROTATION rotation) +{ + RECT newRc; + newRc.left = newRc.top = 0; + newRc.right = width; + newRc.bottom = height; + if (newRc == m_outputSize && rotation == m_rotation) + { + return false; + } + + m_outputSize = newRc; + m_rotation = rotation; + CreateWindowSizeDependentResources(); + return true; +} + +// This method is called in the event handler for the DisplayContentsInvalidated event. +void DX::DeviceResources::ValidateDevice() +{ + // The D3D Device is no longer valid if the default adapter changed since the device + // was created or if the device has been removed. + + DXGI_ADAPTER_DESC previousDesc; + { + ComPtr dxgiDevice; + DX::ThrowIfFailed(m_d3dDevice.As(&dxgiDevice)); + + ComPtr deviceAdapter; + DX::ThrowIfFailed(dxgiDevice->GetAdapter(deviceAdapter.GetAddressOf())); + + ComPtr deviceFactory; + DX::ThrowIfFailed(deviceAdapter->GetParent(IID_PPV_ARGS(deviceFactory.GetAddressOf()))); + + ComPtr previousDefaultAdapter; + DX::ThrowIfFailed(deviceFactory->EnumAdapters1(0, previousDefaultAdapter.GetAddressOf())); + + DX::ThrowIfFailed(previousDefaultAdapter->GetDesc(&previousDesc)); + } + + DXGI_ADAPTER_DESC currentDesc; + { + ComPtr currentFactory; + DX::ThrowIfFailed(CreateDXGIFactory1(IID_PPV_ARGS(currentFactory.GetAddressOf()))); + + ComPtr currentDefaultAdapter; + DX::ThrowIfFailed(currentFactory->EnumAdapters1(0, currentDefaultAdapter.GetAddressOf())); + + DX::ThrowIfFailed(currentDefaultAdapter->GetDesc(¤tDesc)); + } + + // If the adapter LUIDs don't match, or if the device reports that it has been removed, + // a new D3D device must be created. + + if (previousDesc.AdapterLuid.LowPart != currentDesc.AdapterLuid.LowPart + || previousDesc.AdapterLuid.HighPart != currentDesc.AdapterLuid.HighPart + || FAILED(m_d3dDevice->GetDeviceRemovedReason())) + { +#ifdef _DEBUG + OutputDebugStringA("Device Lost on ValidateDevice\n"); +#endif + + // Create a new device and swap chain. + HandleDeviceLost(); + } +} + +// Recreate all device resources and set them back to the current state. +void DX::DeviceResources::HandleDeviceLost() +{ + if (m_deviceNotify) + { + m_deviceNotify->OnDeviceLost(); + } + + m_d3dDepthStencilView.Reset(); + m_d3dRenderTargetView.Reset(); + m_swapChain.Reset(); + m_d3dContext.Reset(); + m_d3dDevice.Reset(); + +#ifdef _DEBUG + { + ComPtr dxgiDebug; + if (SUCCEEDED(DXGIGetDebugInterface1(0, IID_PPV_ARGS(&dxgiDebug)))) + { + dxgiDebug->ReportLiveObjects(DXGI_DEBUG_ALL, DXGI_DEBUG_RLO_FLAGS(DXGI_DEBUG_RLO_SUMMARY | DXGI_DEBUG_RLO_IGNORE_INTERNAL)); + } + } +#endif + + CreateDeviceResources(); + CreateWindowSizeDependentResources(); + + if (m_deviceNotify) + { + m_deviceNotify->OnDeviceRestored(); + } +} + +// Call this method when the app suspends. It provides a hint to the driver that the app +// is entering an idle state and that temporary buffers can be reclaimed for use by other apps. +void DX::DeviceResources::Trim() +{ + ComPtr dxgiDevice; + if (SUCCEEDED(m_d3dDevice.As(&dxgiDevice))) + { + dxgiDevice->Trim(); + } +} + +// Present the contents of the swap chain to the screen. +void DX::DeviceResources::Present() +{ + // The first argument instructs DXGI to block until VSync, putting the application + // to sleep until the next VSync. This ensures we don't waste any cycles rendering + // frames that will never be displayed to the screen. + HRESULT hr = m_swapChain->Present(1, 0); + + // Discard the contents of the render target. + // This is a valid operation only when the existing contents will be entirely + // overwritten. If dirty or scroll rects are used, this call should be removed. + m_d3dContext->DiscardView(m_d3dRenderTargetView.Get()); + + if (m_d3dDepthStencilView) + { + // Discard the contents of the depth stencil. + m_d3dContext->DiscardView(m_d3dDepthStencilView.Get()); + } + + // If the device was removed either by a disconnection or a driver upgrade, we + // must recreate all device resources. + if (hr == DXGI_ERROR_DEVICE_REMOVED || hr == DXGI_ERROR_DEVICE_RESET) + { +#ifdef _DEBUG + char buff[64] = {}; + sprintf_s(buff, "Device Lost on Present: Reason code 0x%08X\n", (hr == DXGI_ERROR_DEVICE_REMOVED) ? m_d3dDevice->GetDeviceRemovedReason() : hr); + OutputDebugStringA(buff); +#endif + HandleDeviceLost(); + } + else + { + DX::ThrowIfFailed(hr); + } +} + +// This method acquires the first available hardware adapter. +// If no such adapter can be found, *ppAdapter will be set to nullptr. +void DX::DeviceResources::GetHardwareAdapter(IDXGIAdapter1** ppAdapter) +{ + *ppAdapter = nullptr; + + ComPtr dxgiFactory; +#ifdef _DEBUG + UINT creationFlags = 0; + + if (SdkLayersAvailable()) + { + creationFlags |= DXGI_CREATE_FACTORY_DEBUG; + } + + DX::ThrowIfFailed(CreateDXGIFactory2(creationFlags, IID_PPV_ARGS(dxgiFactory.GetAddressOf()))); +#else + DX::ThrowIfFailed(CreateDXGIFactory1(IID_PPV_ARGS(dxgiFactory.GetAddressOf()))); +#endif + + ComPtr adapter; + for (UINT adapterIndex = 0; DXGI_ERROR_NOT_FOUND != dxgiFactory->EnumAdapters1(adapterIndex, adapter.ReleaseAndGetAddressOf()); adapterIndex++) + { + DXGI_ADAPTER_DESC1 desc; + adapter->GetDesc1(&desc); + + if (desc.Flags & DXGI_ADAPTER_FLAG_SOFTWARE) + { + // Don't select the Basic Render Driver adapter. + continue; + } + +#ifdef _DEBUG + wchar_t buff[256] = {}; + swprintf_s(buff, L"Direct3D Adapter (%u): VID:%04X, PID:%04X - %ls\n", adapterIndex, desc.VendorId, desc.DeviceId, desc.Description); + OutputDebugStringW(buff); +#endif + + break; + } + + *ppAdapter = adapter.Detach(); +} \ No newline at end of file diff --git a/Samples/IntroGraphics/SimpleLightingUWP/DeviceResources.h b/Samples/IntroGraphics/SimpleLightingUWP/DeviceResources.h new file mode 100644 index 00000000..1da562ca --- /dev/null +++ b/Samples/IntroGraphics/SimpleLightingUWP/DeviceResources.h @@ -0,0 +1,83 @@ +// +// DeviceResources.h - A wrapper for the Direct3D 11 device and swapchain +// + +#pragma once + +namespace DX +{ + // Provides an interface for an application that owns DeviceResources to be notified of the device being lost or created. + interface IDeviceNotify + { + virtual void OnDeviceLost() = 0; + virtual void OnDeviceRestored() = 0; + }; + + // Controls all the DirectX device resources. + class DeviceResources + { + public: + DeviceResources(DXGI_FORMAT backBufferFormat = DXGI_FORMAT_B8G8R8A8_UNORM, + DXGI_FORMAT depthBufferFormat = DXGI_FORMAT_D24_UNORM_S8_UINT, + UINT backBufferCount = 2, + D3D_FEATURE_LEVEL minFeatureLevel = D3D_FEATURE_LEVEL_9_3); + + void CreateDeviceResources(); + void CreateWindowSizeDependentResources(); + void SetWindow(IUnknown* window, int width, int height, DXGI_MODE_ROTATION rotation); + bool WindowSizeChanged(int width, int height, DXGI_MODE_ROTATION rotation); + void ValidateDevice(); + void HandleDeviceLost(); + void RegisterDeviceNotify(IDeviceNotify* deviceNotify) { m_deviceNotify = deviceNotify; } + void Trim(); + void Present(); + + // Device Accessors. + RECT GetOutputSize() const { return m_outputSize; } + DXGI_MODE_ROTATION GetRotation() const { return m_rotation; } + + // Direct3D Accessors. + ID3D11Device2* GetD3DDevice() const { return m_d3dDevice.Get(); } + ID3D11DeviceContext2* GetD3DDeviceContext() const { return m_d3dContext.Get(); } + IDXGISwapChain3* GetSwapChain() const { return m_swapChain.Get(); } + D3D_FEATURE_LEVEL GetDeviceFeatureLevel() const { return m_d3dFeatureLevel; } + ID3D11RenderTargetView* GetBackBufferRenderTargetView() const { return m_d3dRenderTargetView.Get(); } + ID3D11DepthStencilView* GetDepthStencilView() const { return m_d3dDepthStencilView.Get(); } + DXGI_FORMAT GetBackBufferFormat() const { return m_backBufferFormat; } + DXGI_FORMAT GetDepthBufferFormat() const { return m_depthBufferFormat; } + D3D11_VIEWPORT GetScreenViewport() const { return m_screenViewport; } + UINT GetBackBufferCount() const { return m_backBufferCount; } + DirectX::XMFLOAT4X4 GetOrientationTransform3D() const { return m_orientationTransform3D; } + + private: + void GetHardwareAdapter(IDXGIAdapter1** ppAdapter); + + // Direct3D objects. + Microsoft::WRL::ComPtr m_d3dDevice; + Microsoft::WRL::ComPtr m_d3dContext; + Microsoft::WRL::ComPtr m_swapChain; + + // Direct3D rendering objects. Required for 3D. + Microsoft::WRL::ComPtr m_d3dRenderTargetView; + Microsoft::WRL::ComPtr m_d3dDepthStencilView; + D3D11_VIEWPORT m_screenViewport; + + // Direct3D properties. + DXGI_FORMAT m_backBufferFormat; + DXGI_FORMAT m_depthBufferFormat; + UINT m_backBufferCount; + D3D_FEATURE_LEVEL m_d3dMinFeatureLevel; + + // Cached device properties. + IUnknown* m_window; + D3D_FEATURE_LEVEL m_d3dFeatureLevel; + DXGI_MODE_ROTATION m_rotation; + RECT m_outputSize; + + // Transforms used for display orientation. + DirectX::XMFLOAT4X4 m_orientationTransform3D; + + // The IDeviceNotify can be held directly as it owns the DeviceResources. + IDeviceNotify* m_deviceNotify; + }; +} \ No newline at end of file diff --git a/Samples/IntroGraphics/SimpleLightingUWP/LambertPS.hlsl b/Samples/IntroGraphics/SimpleLightingUWP/LambertPS.hlsl new file mode 100644 index 00000000..62b916fd --- /dev/null +++ b/Samples/IntroGraphics/SimpleLightingUWP/LambertPS.hlsl @@ -0,0 +1,2 @@ +// LambertPS.hlsl file to provide an MSBuild target for the LambertPS pixel-shader entry point +#include "SimpleLighting.hlsli" \ No newline at end of file diff --git a/Samples/IntroGraphics/SimpleLightingUWP/Main.cpp b/Samples/IntroGraphics/SimpleLightingUWP/Main.cpp new file mode 100644 index 00000000..3913cbca --- /dev/null +++ b/Samples/IntroGraphics/SimpleLightingUWP/Main.cpp @@ -0,0 +1,357 @@ +//-------------------------------------------------------------------------------------- +// Main.cpp +// +// Entry point for Universal Windows Platform (UWP) app. +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#include "pch.h" +#include "SimpleLightingUWP.h" + +#include + +using namespace concurrency; +using namespace Windows::ApplicationModel; +using namespace Windows::ApplicationModel::Core; +using namespace Windows::ApplicationModel::Activation; +using namespace Windows::UI::Core; +using namespace Windows::UI::Input; +using namespace Windows::UI::ViewManagement; +using namespace Windows::System; +using namespace Windows::Foundation; +using namespace Windows::Graphics::Display; +using namespace DirectX; + +ref class ViewProvider sealed : public IFrameworkView +{ +public: + ViewProvider() : + m_exit(false), + m_visible(true), + m_DPI(96.f), + m_logicalWidth(800.f), + m_logicalHeight(600.f), + m_nativeOrientation(DisplayOrientations::None), + m_currentOrientation(DisplayOrientations::None) + { + } + + // IFrameworkView methods + virtual void Initialize(CoreApplicationView^ applicationView) + { + applicationView->Activated += ref new + TypedEventHandler(this, &ViewProvider::OnActivated); + + CoreApplication::Suspending += + ref new EventHandler(this, &ViewProvider::OnSuspending); + + CoreApplication::Resuming += + ref new EventHandler(this, &ViewProvider::OnResuming); + + m_sample = std::make_unique(); + } + + virtual void Uninitialize() + { + m_sample.reset(); + } + + virtual void SetWindow(CoreWindow^ window) + { + window->SizeChanged += + ref new TypedEventHandler(this, &ViewProvider::OnWindowSizeChanged); + + window->VisibilityChanged += + ref new TypedEventHandler(this, &ViewProvider::OnVisibilityChanged); + + window->Closed += + ref new TypedEventHandler(this, &ViewProvider::OnWindowClosed); + + auto dispatcher = CoreWindow::GetForCurrentThread()->Dispatcher; + + dispatcher->AcceleratorKeyActivated += + ref new TypedEventHandler(this, &ViewProvider::OnAcceleratorKeyActivated); + + auto currentDisplayInformation = DisplayInformation::GetForCurrentView(); + + currentDisplayInformation->DpiChanged += + ref new TypedEventHandler(this, &ViewProvider::OnDpiChanged); + + currentDisplayInformation->OrientationChanged += + ref new TypedEventHandler(this, &ViewProvider::OnOrientationChanged); + + DisplayInformation::DisplayContentsInvalidated += + ref new TypedEventHandler(this, &ViewProvider::OnDisplayContentsInvalidated); + + m_DPI = currentDisplayInformation->LogicalDpi; + + m_logicalWidth = window->Bounds.Width; + m_logicalHeight = window->Bounds.Height; + + m_nativeOrientation = currentDisplayInformation->NativeOrientation; + m_currentOrientation = currentDisplayInformation->CurrentOrientation; + + int outputWidth = ConvertDipsToPixels(m_logicalWidth); + int outputHeight = ConvertDipsToPixels(m_logicalHeight); + + DXGI_MODE_ROTATION rotation = ComputeDisplayRotation(); + + if (rotation == DXGI_MODE_ROTATION_ROTATE90 || rotation == DXGI_MODE_ROTATION_ROTATE270) + { + std::swap(outputWidth, outputHeight); + } + + m_sample->Initialize(reinterpret_cast(window), + outputWidth, outputHeight, rotation ); + } + + virtual void Load(Platform::String^ entryPoint) + { + } + + virtual void Run() + { + while (!m_exit) + { + if (m_visible) + { + m_sample->Tick(); + + CoreWindow::GetForCurrentThread()->Dispatcher->ProcessEvents(CoreProcessEventsOption::ProcessAllIfPresent); + } + else + { + CoreWindow::GetForCurrentThread()->Dispatcher->ProcessEvents(CoreProcessEventsOption::ProcessOneAndAllPending); + } + } + } + +protected: + // Event handlers + void OnActivated(CoreApplicationView^ applicationView, IActivatedEventArgs^ args) + { + if (args->Kind == ActivationKind::Launch) + { + auto launchArgs = static_cast(args); + + if (launchArgs->PrelaunchActivated) + { + // Opt-out of Prelaunch + CoreApplication::Exit(); + return; + } + } + + int w, h; + m_sample->GetDefaultSize(w, h); + + m_DPI = DisplayInformation::GetForCurrentView()->LogicalDpi; + + ApplicationView::PreferredLaunchWindowingMode = ApplicationViewWindowingMode::PreferredLaunchViewSize; + // Change to ApplicationViewWindowingMode::FullScreen to default to full screen + + auto desiredSize = Size(ConvertPixelsToDips(w), ConvertPixelsToDips(h)); + + ApplicationView::PreferredLaunchViewSize = desiredSize; + + auto view = ApplicationView::GetForCurrentView(); + + auto minSize = Size(ConvertPixelsToDips(320), ConvertPixelsToDips(200)); + + view->SetPreferredMinSize(minSize); + + CoreWindow::GetForCurrentThread()->Activate(); + + view->FullScreenSystemOverlayMode = FullScreenSystemOverlayMode::Minimal; + + view->TryResizeView(desiredSize); + } + + void OnSuspending(Platform::Object^ sender, SuspendingEventArgs^ args) + { + SuspendingDeferral^ deferral = args->SuspendingOperation->GetDeferral(); + + create_task([this, deferral]() + { + m_sample->OnSuspending(); + + deferral->Complete(); + }); + } + + void OnResuming(Platform::Object^ sender, Platform::Object^ args) + { + m_sample->OnResuming(); + } + + void OnWindowSizeChanged(CoreWindow^ sender, WindowSizeChangedEventArgs^ args) + { + m_logicalWidth = sender->Bounds.Width; + m_logicalHeight = sender->Bounds.Height; + + HandleWindowSizeChanged(); + } + + void OnVisibilityChanged(CoreWindow^ sender, VisibilityChangedEventArgs^ args) + { + m_visible = args->Visible; + if (m_visible) + m_sample->OnActivated(); + else + m_sample->OnDeactivated(); + } + + void OnWindowClosed(CoreWindow^ sender, CoreWindowEventArgs^ args) + { + m_exit = true; + } + + void OnAcceleratorKeyActivated(CoreDispatcher^, AcceleratorKeyEventArgs^ args) + { + if (args->EventType == CoreAcceleratorKeyEventType::SystemKeyDown + && args->VirtualKey == VirtualKey::Enter + && args->KeyStatus.IsMenuKeyDown + && !args->KeyStatus.WasKeyDown) + { + // Implements the classic ALT+ENTER fullscreen toggle + auto view = ApplicationView::GetForCurrentView(); + + if (view->IsFullScreenMode) + view->ExitFullScreenMode(); + else + view->TryEnterFullScreenMode(); + + args->Handled = true; + } + } + + void OnDpiChanged(DisplayInformation^ sender, Object^ args) + { + m_DPI = sender->LogicalDpi; + + HandleWindowSizeChanged(); + } + + void OnOrientationChanged(DisplayInformation^ sender, Object^ args) + { + m_currentOrientation = sender->CurrentOrientation; + + HandleWindowSizeChanged(); + } + + void OnDisplayContentsInvalidated(DisplayInformation^ sender, Object^ args) + { + m_sample->ValidateDevice(); + } + +private: + bool m_exit; + bool m_visible; + float m_DPI; + float m_logicalWidth; + float m_logicalHeight; + std::unique_ptr m_sample; + + Windows::Graphics::Display::DisplayOrientations m_nativeOrientation; + Windows::Graphics::Display::DisplayOrientations m_currentOrientation; + + inline int ConvertDipsToPixels(float dips) const + { + return int(dips * m_DPI / 96.f + 0.5f); + } + + inline float ConvertPixelsToDips(int pixels) const + { + return (float(pixels) * 96.f / m_DPI); + } + + DXGI_MODE_ROTATION ComputeDisplayRotation() const + { + DXGI_MODE_ROTATION rotation = DXGI_MODE_ROTATION_UNSPECIFIED; + + switch (m_nativeOrientation) + { + case DisplayOrientations::Landscape: + switch (m_currentOrientation) + { + case DisplayOrientations::Landscape: + rotation = DXGI_MODE_ROTATION_IDENTITY; + break; + + case DisplayOrientations::Portrait: + rotation = DXGI_MODE_ROTATION_ROTATE270; + break; + + case DisplayOrientations::LandscapeFlipped: + rotation = DXGI_MODE_ROTATION_ROTATE180; + break; + + case DisplayOrientations::PortraitFlipped: + rotation = DXGI_MODE_ROTATION_ROTATE90; + break; + } + break; + + case DisplayOrientations::Portrait: + switch (m_currentOrientation) + { + case DisplayOrientations::Landscape: + rotation = DXGI_MODE_ROTATION_ROTATE90; + break; + + case DisplayOrientations::Portrait: + rotation = DXGI_MODE_ROTATION_IDENTITY; + break; + + case DisplayOrientations::LandscapeFlipped: + rotation = DXGI_MODE_ROTATION_ROTATE270; + break; + + case DisplayOrientations::PortraitFlipped: + rotation = DXGI_MODE_ROTATION_ROTATE180; + break; + } + break; + } + + return rotation; + } + + void HandleWindowSizeChanged() + { + int outputWidth = ConvertDipsToPixels(m_logicalWidth); + int outputHeight = ConvertDipsToPixels(m_logicalHeight); + + DXGI_MODE_ROTATION rotation = ComputeDisplayRotation(); + + if (rotation == DXGI_MODE_ROTATION_ROTATE90 || rotation == DXGI_MODE_ROTATION_ROTATE270) + { + std::swap(outputWidth, outputHeight); + } + + m_sample->OnWindowSizeChanged(outputWidth, outputHeight, rotation); + } +}; + +ref class ViewProviderFactory : IFrameworkViewSource +{ +public: + virtual IFrameworkView^ CreateView() + { + return ref new ViewProvider(); + } +}; + + +// Entry point +[Platform::MTAThread] +int main(Platform::Array^ argv) +{ + UNREFERENCED_PARAMETER(argv); + + auto viewProviderFactory = ref new ViewProviderFactory(); + CoreApplication::Run(viewProviderFactory); + return 0; +} diff --git a/Samples/IntroGraphics/SimpleLightingUWP/Package.appxmanifest b/Samples/IntroGraphics/SimpleLightingUWP/Package.appxmanifest new file mode 100644 index 00000000..3cc13756 --- /dev/null +++ b/Samples/IntroGraphics/SimpleLightingUWP/Package.appxmanifest @@ -0,0 +1,49 @@ + + + + + + + + + + SimpleLightingUWP + Xbox Advanced Technology Group + Assets\StoreLogo.png + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/IntroGraphics/SimpleLightingUWP/Readme.docx b/Samples/IntroGraphics/SimpleLightingUWP/Readme.docx new file mode 100644 index 0000000000000000000000000000000000000000..6f9c76181b06cc930ab53ae78686278fd744dd9d GIT binary patch literal 78864 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 + m_deviceResources->RegisterDeviceNotify(this); +} + +// Initialize the Direct3D resources required to run. +void Sample::Initialize(IUnknown* window, int width, int height, DXGI_MODE_ROTATION rotation) +{ + m_gamePad = std::make_unique(); + + m_keyboard = std::make_unique(); + m_keyboard->SetWindow(reinterpret_cast(window)); + + m_deviceResources->SetWindow(window, width, height, rotation); + + m_deviceResources->CreateDeviceResources(); + CreateDeviceDependentResources(); + + m_deviceResources->CreateWindowSizeDependentResources(); + CreateWindowSizeDependentResources(); +} + +#pragma region Frame Update +// Executes basic render loop. +void Sample::Tick() +{ + m_timer.Tick([&]() + { + Update(m_timer); + }); + + Render(); +} + +// Updates the world. +void Sample::Update(DX::StepTimer const& timer) +{ + PIXBeginEvent(PIX_COLOR_DEFAULT, L"Update"); + + float elapsedTime = float(timer.GetElapsedSeconds()); + + // Update the rotation constant + m_curRotationAngleRad += elapsedTime / 3.f; + if (m_curRotationAngleRad >= XM_2PI) + { + m_curRotationAngleRad -= XM_2PI; + } + + // Rotate the cube around the origin + XMStoreFloat4x4(&m_worldMatrix, XMMatrixRotationY(m_curRotationAngleRad)); + + // Setup our lighting parameters + m_lightDirs[0] = XMFLOAT4(-0.577f, 0.577f, -0.577f, 1.0f); + m_lightDirs[1] = XMFLOAT4(0.0f, 0.0f, -1.0f, 1.0f); + + m_lightColors[0] = XMFLOAT4(0.5f, 0.5f, 0.5f, 1.0f); + m_lightColors[1] = XMFLOAT4(0.5f, 0.0f, 0.0f, 1.0f); + + // Rotate the second light around the origin + XMMATRIX rotate = XMMatrixRotationY(-2.0f * m_curRotationAngleRad); + XMVECTOR lightDir = XMLoadFloat4(&m_lightDirs[1]); + lightDir = XMVector3Transform(lightDir, rotate); + XMStoreFloat4(&m_lightDirs[1], lightDir); + + // Handle controller input for exit + auto pad = m_gamePad->GetState(0); + if (pad.IsConnected()) + { + m_gamePadButtons.Update(pad); + + if (pad.IsViewPressed()) + { + Windows::ApplicationModel::Core::CoreApplication::Exit(); + } + } + else + { + m_gamePadButtons.Reset(); + } + + auto kb = m_keyboard->GetState(); + m_keyboardButtons.Update(kb); + + if (kb.Escape) + { + Windows::ApplicationModel::Core::CoreApplication::Exit(); + } + + PIXEndEvent(); +} +#pragma endregion + +#pragma region Frame Render +// Draws the scene. +void Sample::Render() +{ + // Don't try to render anything before the first Update. + if (m_timer.GetFrameCount() == 0) + { + return; + } + + Clear(); + + auto context = m_deviceResources->GetD3DDeviceContext(); + PIXBeginEvent(context, PIX_COLOR_DEFAULT, L"Render"); + + // Set the vertex buffer + UINT stride = sizeof(Vertex); + UINT offset = 0; + context->IASetVertexBuffers(0, 1, m_vertexBuffer.GetAddressOf(), &stride, &offset); + + // Set the index buffer + context->IASetIndexBuffer(m_indexBuffer.Get(), DXGI_FORMAT_R16_UINT, 0); + + // Set the input layout + context->IASetInputLayout(m_inputLayout.Get()); + + // Set the primitive toplogy + context->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST); + + // Set the per-frame constants + ConstantBuffer sceneParameters = {}; + + // Shaders compiled with default row-major matrices + sceneParameters.worldMatrix = XMMatrixTranspose(XMLoadFloat4x4(&m_worldMatrix)); + sceneParameters.viewMatrix = XMMatrixTranspose(XMLoadFloat4x4(&m_viewMatrix)); + sceneParameters.projectionMatrix = XMMatrixTranspose(XMLoadFloat4x4(&m_projectionMatrix)); + + sceneParameters.lightDir[0] = XMLoadFloat4(&m_lightDirs[0]); + sceneParameters.lightDir[1] = XMLoadFloat4(&m_lightDirs[1]); + sceneParameters.lightColor[0] = XMLoadFloat4(&m_lightColors[0]); + sceneParameters.lightColor[1] = XMLoadFloat4(&m_lightColors[1]); + sceneParameters.outputColor = XMLoadFloat4(&m_outputColor); + + { + D3D11_MAPPED_SUBRESOURCE mapped; + DX::ThrowIfFailed(context->Map(m_constantBuffer.Get(), 0, D3D11_MAP_WRITE_DISCARD, 0, &mapped)); + memcpy(mapped.pData, &sceneParameters, sizeof(ConstantBuffer)); + context->Unmap(m_constantBuffer.Get(), 0); + } + + // Render the cube + context->VSSetShader(m_vertexShader.Get(), nullptr, 0); + + // Vertex shader needs view and projection matrices to perform vertex transform + context->VSSetConstantBuffers(0, 1, m_constantBuffer.GetAddressOf()); + + context->PSSetShader(m_pixelShader.Get(), nullptr, 0); + + // Pixel shader needs light-direction vectors to perform per-pixel lighting + context->PSSetConstantBuffers(0, 1, m_constantBuffer.GetAddressOf()); + context->DrawIndexed(36, 0, 0); + + // Render each light + for (int m = 0; m < 2; ++m) + { + XMMATRIX lightMatrix = XMMatrixTranslationFromVector(5.0f * sceneParameters.lightDir[m]); + XMMATRIX lightScaleMatrix = XMMatrixScaling(0.2f, 0.2f, 0.2f); + lightMatrix = lightScaleMatrix * lightMatrix; + + // Update the world variable to reflect the current light + sceneParameters.worldMatrix = XMMatrixTranspose(lightMatrix); + sceneParameters.outputColor = sceneParameters.lightColor[m]; + + { + D3D11_MAPPED_SUBRESOURCE mapped; + DX::ThrowIfFailed(context->Map(m_constantBuffer.Get(), 0, D3D11_MAP_WRITE_DISCARD, 0, &mapped)); + memcpy(mapped.pData, &sceneParameters, sizeof(ConstantBuffer)); + context->Unmap(m_constantBuffer.Get(), 0); + } + + context->VSSetConstantBuffers(0, 1, m_constantBuffer.GetAddressOf()); + context->PSSetConstantBuffers(0, 1, m_constantBuffer.GetAddressOf()); + + context->PSSetShader(m_pixelShaderSolid.Get(), nullptr, 0); + context->DrawIndexed(36, 0, 0); + } + PIXEndEvent(context); + + // Show the new frame. + PIXBeginEvent(PIX_COLOR_DEFAULT, L"Present"); + m_deviceResources->Present(); + PIXEndEvent(); +} + +// Helper method to clear the back buffers. +void Sample::Clear() +{ + auto context = m_deviceResources->GetD3DDeviceContext(); + PIXBeginEvent(context, PIX_COLOR_DEFAULT, L"Clear"); + + // Clear the views. + auto renderTarget = m_deviceResources->GetBackBufferRenderTargetView(); + auto depthStencil = m_deviceResources->GetDepthStencilView(); + + // Use linear clear color for gamma-correct rendering + context->ClearRenderTargetView(renderTarget, ATG::ColorsLinear::Background); + + context->ClearDepthStencilView(depthStencil, D3D11_CLEAR_DEPTH | D3D11_CLEAR_STENCIL, 1.0f, 0); + + context->OMSetRenderTargets(1, &renderTarget, depthStencil); + + // Set the viewport. + auto viewport = m_deviceResources->GetScreenViewport(); + context->RSSetViewports(1, &viewport); + + PIXEndEvent(context); +} +#pragma endregion + +#pragma region Message Handlers +// Message handlers +void Sample::OnActivated() +{ +} + +void Sample::OnDeactivated() +{ +} + +void Sample::OnSuspending() +{ + auto context = m_deviceResources->GetD3DDeviceContext(); + context->ClearState(); + + m_deviceResources->Trim(); +} + +void Sample::OnResuming() +{ + m_timer.ResetElapsedTime(); + m_gamePadButtons.Reset(); + m_keyboardButtons.Reset(); +} + +void Sample::OnWindowSizeChanged(int width, int height, DXGI_MODE_ROTATION rotation) +{ + if (!m_deviceResources->WindowSizeChanged(width, height, rotation)) + return; + + CreateWindowSizeDependentResources(); +} + +void Sample::ValidateDevice() +{ + m_deviceResources->ValidateDevice(); +} + +// Properties +void Sample::GetDefaultSize(int& width, int& height) const +{ + width = 1280; + height = 720; +} +#pragma endregion + +#pragma region Direct3D Resources +// These are the resources that depend on the device. +void Sample::CreateDeviceDependentResources() +{ + auto device = m_deviceResources->GetD3DDevice(); + + // Load and create shaders + { + auto blob = DX::ReadData(L"TriangleVS.cso"); + + DX::ThrowIfFailed( + device->CreateVertexShader(blob.data(), blob.size(), + nullptr, m_vertexShader.ReleaseAndGetAddressOf())); + + // Create the input layout + const D3D11_INPUT_ELEMENT_DESC inputElementDesc[] = + { + { "POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 }, + { "NORMAL", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 12, D3D11_INPUT_PER_VERTEX_DATA, 0 }, + }; + + DX::ThrowIfFailed( + device->CreateInputLayout(inputElementDesc, _countof(inputElementDesc), + blob.data(), blob.size(), + m_inputLayout.ReleaseAndGetAddressOf())); + } + + { + auto blob = DX::ReadData(L"LambertPS.cso"); + + DX::ThrowIfFailed( + device->CreatePixelShader(blob.data(), blob.size(), + nullptr, m_pixelShader.ReleaseAndGetAddressOf())); + } + + { + auto blob = DX::ReadData(L"SolidColorPS.cso"); + + DX::ThrowIfFailed( + device->CreatePixelShader(blob.data(), blob.size(), + nullptr, m_pixelShaderSolid.ReleaseAndGetAddressOf())); + } + + // Create and initialize the vertex buffer + { + static const Vertex vertices[] = + { + { XMFLOAT3(-1.0f, 1.0f, -1.0f), XMFLOAT3(0.0f, 1.0f, 0.0f) }, + { XMFLOAT3(1.0f, 1.0f, -1.0f), XMFLOAT3(0.0f, 1.0f, 0.0f) }, + { XMFLOAT3(1.0f, 1.0f, 1.0f), XMFLOAT3(0.0f, 1.0f, 0.0f) }, + { XMFLOAT3(-1.0f, 1.0f, 1.0f), XMFLOAT3(0.0f, 1.0f, 0.0f) }, + + { XMFLOAT3(-1.0f, -1.0f, -1.0f), XMFLOAT3(0.0f, -1.0f, 0.0f) }, + { XMFLOAT3(1.0f, -1.0f, -1.0f), XMFLOAT3(0.0f, -1.0f, 0.0f) }, + { XMFLOAT3(1.0f, -1.0f, 1.0f), XMFLOAT3(0.0f, -1.0f, 0.0f) }, + { XMFLOAT3(-1.0f, -1.0f, 1.0f), XMFLOAT3(0.0f, -1.0f, 0.0f) }, + + { XMFLOAT3(-1.0f, -1.0f, 1.0f), XMFLOAT3(-1.0f, 0.0f, 0.0f) }, + { XMFLOAT3(-1.0f, -1.0f, -1.0f), XMFLOAT3(-1.0f, 0.0f, 0.0f) }, + { XMFLOAT3(-1.0f, 1.0f, -1.0f), XMFLOAT3(-1.0f, 0.0f, 0.0f) }, + { XMFLOAT3(-1.0f, 1.0f, 1.0f), XMFLOAT3(-1.0f, 0.0f, 0.0f) }, + + { XMFLOAT3(1.0f, -1.0f, 1.0f), XMFLOAT3(1.0f, 0.0f, 0.0f) }, + { XMFLOAT3(1.0f, -1.0f, -1.0f), XMFLOAT3(1.0f, 0.0f, 0.0f) }, + { XMFLOAT3(1.0f, 1.0f, -1.0f), XMFLOAT3(1.0f, 0.0f, 0.0f) }, + { XMFLOAT3(1.0f, 1.0f, 1.0f), XMFLOAT3(1.0f, 0.0f, 0.0f) }, + + { XMFLOAT3(-1.0f, -1.0f, -1.0f), XMFLOAT3(0.0f, 0.0f, -1.0f) }, + { XMFLOAT3(1.0f, -1.0f, -1.0f), XMFLOAT3(0.0f, 0.0f, -1.0f) }, + { XMFLOAT3(1.0f, 1.0f, -1.0f), XMFLOAT3(0.0f, 0.0f, -1.0f) }, + { XMFLOAT3(-1.0f, 1.0f, -1.0f), XMFLOAT3(0.0f, 0.0f, -1.0f) }, + + { XMFLOAT3(-1.0f, -1.0f, 1.0f), XMFLOAT3(0.0f, 0.0f, 1.0f) }, + { XMFLOAT3(1.0f, -1.0f, 1.0f), XMFLOAT3(0.0f, 0.0f, 1.0f) }, + { XMFLOAT3(1.0f, 1.0f, 1.0f), XMFLOAT3(0.0f, 0.0f, 1.0f) }, + { XMFLOAT3(-1.0f, 1.0f, 1.0f), XMFLOAT3(0.0f, 0.0f, 1.0f) }, + }; + + CD3D11_BUFFER_DESC bufferDesc(sizeof(Vertex) * _countof(vertices), D3D11_BIND_VERTEX_BUFFER); + bufferDesc.StructureByteStride = sizeof(Vertex); + + D3D11_SUBRESOURCE_DATA initData = { vertices, 0, 0 }; + DX::ThrowIfFailed(device->CreateBuffer(&bufferDesc, &initData, m_vertexBuffer.ReleaseAndGetAddressOf())); + } + + // Create and initialize the index buffer + { + static const uint16_t indices[] = + { + 3,1,0, + 2,1,3, + + 6,4,5, + 7,4,6, + + 11,9,8, + 10,9,11, + + 14,12,13, + 15,12,14, + + 19,17,16, + 18,17,19, + + 22,20,21, + 23,20,22 + }; + CD3D11_BUFFER_DESC bufferDesc(sizeof(uint16_t) * _countof(indices), D3D11_BIND_INDEX_BUFFER); + bufferDesc.StructureByteStride = sizeof(uint16_t); + + D3D11_SUBRESOURCE_DATA initData = { indices, 0, 0 }; + DX::ThrowIfFailed(device->CreateBuffer(&bufferDesc, &initData, m_indexBuffer.ReleaseAndGetAddressOf())); + } + + // Create the constant buffer + { + CD3D11_BUFFER_DESC bufferDesc(sizeof(ConstantBuffer), D3D11_BIND_CONSTANT_BUFFER, D3D11_USAGE_DYNAMIC, D3D11_CPU_ACCESS_WRITE); + DX::ThrowIfFailed(device->CreateBuffer(&bufferDesc, nullptr, m_constantBuffer.ReleaseAndGetAddressOf())); + } + + // Initialize the world matrix + XMStoreFloat4x4(&m_worldMatrix, XMMatrixIdentity()); + + // Initialize the view matrix + static const XMVECTORF32 eye = { 0.0f, 4.0f, -10.0f, 0.0f }; + static const XMVECTORF32 at = { 0.0f, 1.0f, 0.0f, 0.0f }; + static const XMVECTORF32 up = { 0.0f, 1.0f, 0.0f, 0.0 }; + XMStoreFloat4x4(&m_viewMatrix, XMMatrixLookAtLH(eye, at, up)); + + // Initialize the lighting parameters + m_lightDirs[0] = XMFLOAT4(-0.577f, 0.577f, -0.577f, 1.0f); + m_lightDirs[1] = XMFLOAT4(0.0f, 0.0f, -1.0f, 1.0f); + + m_lightColors[0] = XMFLOAT4(0.5f, 0.5f, 0.5f, 1.0f); + m_lightColors[1] = XMFLOAT4(0.5f, 0.0f, 0.0f, 1.0f); + + // Initialize the scene output color + m_outputColor = XMFLOAT4(0, 0, 0, 0); +} + +// Allocate all memory resources that change on a window SizeChanged event. +void Sample::CreateWindowSizeDependentResources() +{ + // Initialize the projection matrix + auto size = m_deviceResources->GetOutputSize(); + XMMATRIX projection = XMMatrixPerspectiveFovLH(XM_PIDIV4, float(size.right) / float(size.bottom), 0.01f, 100.0f); + + XMFLOAT4X4 orient = m_deviceResources->GetOrientationTransform3D(); + + XMStoreFloat4x4(&m_projectionMatrix, projection * XMLoadFloat4x4(&orient)); +} + +void Sample::OnDeviceLost() +{ + m_inputLayout.Reset(); + m_vertexBuffer.Reset(); + m_indexBuffer.Reset(); + m_constantBuffer.Reset(); + m_vertexShader.Reset(); + m_pixelShader.Reset(); + m_pixelShaderSolid.Reset(); +} + +void Sample::OnDeviceRestored() +{ + CreateDeviceDependentResources(); + + CreateWindowSizeDependentResources(); +} +#pragma endregion diff --git a/Samples/IntroGraphics/SimpleLightingUWP/SimpleLightingUWP.h b/Samples/IntroGraphics/SimpleLightingUWP/SimpleLightingUWP.h new file mode 100644 index 00000000..0c3007ff --- /dev/null +++ b/Samples/IntroGraphics/SimpleLightingUWP/SimpleLightingUWP.h @@ -0,0 +1,87 @@ +//-------------------------------------------------------------------------------------- +// SimpleLightingUWP.h +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#pragma once + +#include "DeviceResources.h" +#include "StepTimer.h" + + +// A basic sample implementation that creates a D3D11 device and +// provides a render loop. +class Sample : public DX::IDeviceNotify +{ +public: + + Sample(); + + // Initialization and management + void Initialize(IUnknown* window, int width, int height, DXGI_MODE_ROTATION rotation); + + // Basic render loop + void Tick(); + void Render(); + + // Rendering helpers + void Clear(); + + // IDeviceNotify + virtual void OnDeviceLost() override; + virtual void OnDeviceRestored() override; + + // Messages + void OnActivated(); + void OnDeactivated(); + void OnSuspending(); + void OnResuming(); + void OnWindowSizeChanged(int width, int height, DXGI_MODE_ROTATION rotation); + void ValidateDevice(); + + // Properties + void GetDefaultSize( int& width, int& height ) const; + +private: + + void Update(DX::StepTimer const& timer); + + void CreateDeviceDependentResources(); + void CreateWindowSizeDependentResources(); + + // Device resources. + std::unique_ptr m_deviceResources; + + // Rendering loop timer. + DX::StepTimer m_timer; + + // Input devices. + std::unique_ptr m_gamePad; + std::unique_ptr m_keyboard; + + DirectX::GamePad::ButtonStateTracker m_gamePadButtons; + DirectX::Keyboard::KeyboardStateTracker m_keyboardButtons; + // Sample Objects + Microsoft::WRL::ComPtr m_inputLayout; + Microsoft::WRL::ComPtr m_vertexBuffer; + Microsoft::WRL::ComPtr m_indexBuffer; + Microsoft::WRL::ComPtr m_constantBuffer; + + Microsoft::WRL::ComPtr m_vertexShader; + Microsoft::WRL::ComPtr m_pixelShader; + Microsoft::WRL::ComPtr m_pixelShaderSolid; + + // Scene constants, updated per-frame + float m_curRotationAngleRad; + + // These computed values will be loaded into a ConstantBuffer + // during Render + DirectX::XMFLOAT4X4 m_worldMatrix; + DirectX::XMFLOAT4X4 m_viewMatrix; + DirectX::XMFLOAT4X4 m_projectionMatrix; + DirectX::XMFLOAT4 m_lightDirs[2]; + DirectX::XMFLOAT4 m_lightColors[2]; + DirectX::XMFLOAT4 m_outputColor; +}; \ No newline at end of file diff --git a/Samples/IntroGraphics/SimpleLightingUWP/SimpleLightingUWP.sln b/Samples/IntroGraphics/SimpleLightingUWP/SimpleLightingUWP.sln new file mode 100644 index 00000000..1a619240 --- /dev/null +++ b/Samples/IntroGraphics/SimpleLightingUWP/SimpleLightingUWP.sln @@ -0,0 +1,54 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.24720.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SimpleLightingUWP", "SimpleLightingUWP.vcxproj", "{A66CACF8-EB0A-4D35-A39F-65CBB6C546B8}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectXTK", "..\..\..\Kits\DirectXTK\DirectXTK_Windows10.vcxproj", "{F4776924-619C-42C7-88B2-82C947CCC9E7}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|ARM = Debug|ARM + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|ARM = Release|ARM + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {A66CACF8-EB0A-4D35-A39F-65CBB6C546B8}.Debug|ARM.ActiveCfg = Debug|ARM + {A66CACF8-EB0A-4D35-A39F-65CBB6C546B8}.Debug|ARM.Build.0 = Debug|ARM + {A66CACF8-EB0A-4D35-A39F-65CBB6C546B8}.Debug|ARM.Deploy.0 = Debug|ARM + {A66CACF8-EB0A-4D35-A39F-65CBB6C546B8}.Debug|x64.ActiveCfg = Debug|x64 + {A66CACF8-EB0A-4D35-A39F-65CBB6C546B8}.Debug|x64.Build.0 = Debug|x64 + {A66CACF8-EB0A-4D35-A39F-65CBB6C546B8}.Debug|x64.Deploy.0 = Debug|x64 + {A66CACF8-EB0A-4D35-A39F-65CBB6C546B8}.Debug|x86.ActiveCfg = Debug|Win32 + {A66CACF8-EB0A-4D35-A39F-65CBB6C546B8}.Debug|x86.Build.0 = Debug|Win32 + {A66CACF8-EB0A-4D35-A39F-65CBB6C546B8}.Debug|x86.Deploy.0 = Debug|Win32 + {A66CACF8-EB0A-4D35-A39F-65CBB6C546B8}.Release|ARM.ActiveCfg = Release|ARM + {A66CACF8-EB0A-4D35-A39F-65CBB6C546B8}.Release|ARM.Build.0 = Release|ARM + {A66CACF8-EB0A-4D35-A39F-65CBB6C546B8}.Release|ARM.Deploy.0 = Release|ARM + {A66CACF8-EB0A-4D35-A39F-65CBB6C546B8}.Release|x64.ActiveCfg = Release|x64 + {A66CACF8-EB0A-4D35-A39F-65CBB6C546B8}.Release|x64.Build.0 = Release|x64 + {A66CACF8-EB0A-4D35-A39F-65CBB6C546B8}.Release|x64.Deploy.0 = Release|x64 + {A66CACF8-EB0A-4D35-A39F-65CBB6C546B8}.Release|x86.ActiveCfg = Release|Win32 + {A66CACF8-EB0A-4D35-A39F-65CBB6C546B8}.Release|x86.Build.0 = Release|Win32 + {A66CACF8-EB0A-4D35-A39F-65CBB6C546B8}.Release|x86.Deploy.0 = Release|Win32 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|ARM.ActiveCfg = Debug|ARM + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|ARM.Build.0 = Debug|ARM + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|x64.ActiveCfg = Debug|x64 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|x64.Build.0 = Debug|x64 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|x86.ActiveCfg = Debug|Win32 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|x86.Build.0 = Debug|Win32 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|ARM.ActiveCfg = Release|ARM + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|ARM.Build.0 = Release|ARM + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|x64.ActiveCfg = Release|x64 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|x64.Build.0 = Release|x64 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|x86.ActiveCfg = Release|Win32 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Samples/IntroGraphics/SimpleLightingUWP/SimpleLightingUWP.vcxproj b/Samples/IntroGraphics/SimpleLightingUWP/SimpleLightingUWP.vcxproj new file mode 100644 index 00000000..e3e8d479 --- /dev/null +++ b/Samples/IntroGraphics/SimpleLightingUWP/SimpleLightingUWP.vcxproj @@ -0,0 +1,307 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + Debug + ARM + + + Release + ARM + + + + {a66cacf8-eb0a-4d35-a39f-65cbb6c546b8} + DirectXApp + SimpleLightingUWP + en-US + 14.0 + true + Windows Store + 10.0.10586.0 + 10.0.10240.0 + 10.0 + true + + + + Application + true + v140 + + + Application + true + v140 + + + Application + true + v140 + + + Application + false + true + v140 + + + Application + false + true + v140 + + + Application + false + true + v140 + + + + + + + + + + + + + + + + + + + + + + + + + + + + SimpleLightingUWP_TemporaryKey.pfx + + + + d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\arm; $(VCInstallDir)\lib\arm + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + _DEBUG;%(PreprocessorDefinitions) + Fast + + + 4.0_level_9_3 + + + + + d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\arm; $(VCInstallDir)\lib\arm + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + NDEBUG;%(PreprocessorDefinitions) + Fast + + + 4.0_level_9_3 + + + + + d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store; $(VCInstallDir)\lib + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + _DEBUG;%(PreprocessorDefinitions) + Fast + StreamingSIMDExtensions2 + + + 4.0_level_9_3 + + + + + d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store; $(VCInstallDir)\lib + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + NDEBUG;%(PreprocessorDefinitions) + Fast + StreamingSIMDExtensions2 + + + 4.0_level_9_3 + + + + + d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\amd64; $(VCInstallDir)\lib\amd64 + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + _DEBUG;%(PreprocessorDefinitions) + Fast + + + 4.0_level_9_3 + + + + + d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\amd64; $(VCInstallDir)\lib\amd64 + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + NDEBUG;%(PreprocessorDefinitions) + Fast + + + 4.0_level_9_3 + + + + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + + + + + Designer + + + + + + + + + + + + + {f4776924-619c-42c7-88b2-82c947ccc9e7} + + + + + + + + + Pixel + Pixel + Pixel + Pixel + Pixel + Pixel + LambertPS + LambertPS + LambertPS + LambertPS + LambertPS + LambertPS + + + Pixel + Pixel + Pixel + Pixel + Pixel + Pixel + SolidColorPS + SolidColorPS + SolidColorPS + SolidColorPS + SolidColorPS + SolidColorPS + + + Vertex + Vertex + Vertex + Vertex + Vertex + Vertex + TriangleVS + TriangleVS + TriangleVS + TriangleVS + TriangleVS + TriangleVS + + + + + + + + + \ No newline at end of file diff --git a/Samples/IntroGraphics/SimpleLightingUWP/SimpleLightingUWP.vcxproj.filters b/Samples/IntroGraphics/SimpleLightingUWP/SimpleLightingUWP.vcxproj.filters new file mode 100644 index 00000000..28f602c8 --- /dev/null +++ b/Samples/IntroGraphics/SimpleLightingUWP/SimpleLightingUWP.vcxproj.filters @@ -0,0 +1,80 @@ + + + + + 10d7c58e-7118-43d8-87df-699ecfe46ff3 + + + efb4a337-55e1-4d03-88ec-7916d13c2348 + bmp;dds;fbx;gif;jpg;jpeg;tga;tiff;tif;png + + + {e27b9846-cbd3-49e5-97c6-254605218852} + + + {585fe56b-1b7e-4a89-a58d-f4cacc87fdb4} + + + + + + + Common + + + Common + + + ATG Tool Kit + + + ATG Tool Kit + + + + + + + + Common + + + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + + + + + + + + Shaders + + + + + Shaders + + + Shaders + + + Shaders + + + \ No newline at end of file diff --git a/Samples/IntroGraphics/SimpleLightingUWP/SimpleLightingUWP_TemporaryKey.pfx b/Samples/IntroGraphics/SimpleLightingUWP/SimpleLightingUWP_TemporaryKey.pfx new file mode 100644 index 0000000000000000000000000000000000000000..9aaf2d17d056c674a47a80634232a276aaa4fa90 GIT binary patch literal 2456 zcmXqL;+(?7$ZXKW8NkM=)#lOmotKfFaX}NOBTEyftw9r~r9l(xFBB=(*DOt}&kdSb z9~(5W-e=>6>f+&IWLnU~^3R}&<(GjB8y8HNk=cNcg+ss6f6|mUPfVDY*e|d&vD}dE zbQ9?BSo5XBNKt&pK?9D3`e9eOgKlg%t9!@k+_VphZ_;J%{(iFAclA~7q)W%<`;kSj@Xq z9B#f}cyim(w8=N-PT6f@-SW2ok%w^f>4%?qF0!rma_IWJGo0<~;r+)uZ+sT(KVG6L zXMfP|P-km1|FhetPd}eG!{Q{PZ95E7$dB7a!F>oO>hI{qxyPyx|KQ-m|?Tinj0ioz8{^~;_~a=imVB}?JG}b=Iy9!-|Od@6Z*qW!ti(h z-su-zjU#?NX(C-uj-R+g~QPuDNW;zI=z&qNf+WzN}sts!_xg9b_oL zd?uCyv)r$M`t|co$9(}*S}iLH5Jz~w>s3Vm1hu6%s(`- zKlc0+Z%eoBB2T#PU)9%`T~TpjpLl}$IoW%RS9P@)-3S*pnR$C{@8bz!-}i|)PX1!D z)p+Hjh~8#_1^>-*82o>yeQw|4yt#e8$?f&wYwMLyc`U5eX^}Z~^<5{|F*DZI28ZKFuxBquoRjA=)k$9XY@A;9(m|?{n$gXprTb- zGw;5Q zmIkqGoZ4)RER0R&f{ca%a()cH44Dkc3`Gq248;uj3~3A{3#}B8EhU0)`B*E(L}Fu(~paOokMORE8phCT4TE%Rv5D-V(+7Cj&nd>Zpo!@LOB2%_gC?dM22G3y7BDk0GBF95+sOS4 z^6{JEv+uv&iy4Qn8t}p`VdQ3IFc3BrG~j1r4rO5$=14CpNG&O;%rcM@=QT7lFf}wZ zv@|s_wulnvH8eLcH8e6X1aq-#YGPDEHk^@_fw_s1pTVGsk&CH`k&$7YzPF83w8_7@#L z9{V;*^KyJFK0$8ITeysmK${;2)bJ21I-Po&KDC%$QYK3#kG z_l3K-v1e*#^4!V~{#D}RVp76)Wc8V{OMJkA32Ub@luz>q4%5iA-eEl0P=>f!$8?j3pt*%dfrv@j!OR0U7N* z>yjV4TGvR#ZdjW6j*W?xx8EjQ&rnXf$vf{z_41ahE3K|*Du>yv+a`NqzQ69I5Yz3= z;wDM5pR97~=gv@F=e6pvqtmwFZzdnolBO=rxs>!Tf5jC2+7ty7{@6{2wbnh`$MuX^ z{9o>J?%+d)qS&*%wSl|=I~%JuA2X8_i^#*B_iM@wU#Qo)oxCNqe#6VElWwzFL=5tl ZK3&`_>bxwsaf_K%f6ph~wLYLW5&(^60j2-| literal 0 HcmV?d00001 diff --git a/Samples/IntroGraphics/SimpleLightingUWP/SolidColorPS.hlsl b/Samples/IntroGraphics/SimpleLightingUWP/SolidColorPS.hlsl new file mode 100644 index 00000000..9bfe2b51 --- /dev/null +++ b/Samples/IntroGraphics/SimpleLightingUWP/SolidColorPS.hlsl @@ -0,0 +1,2 @@ +// SolidColorPS.hlsl file to provide an MSBuild target for the SolidColorPS pixel-shader entry point +#include "SimpleLighting.hlsli" \ No newline at end of file diff --git a/Samples/IntroGraphics/SimpleLightingUWP/StepTimer.h b/Samples/IntroGraphics/SimpleLightingUWP/StepTimer.h new file mode 100644 index 00000000..e6f7acf5 --- /dev/null +++ b/Samples/IntroGraphics/SimpleLightingUWP/StepTimer.h @@ -0,0 +1,188 @@ +// +// StepTimer.h - A simple timer that provides elapsed time information +// + +#pragma once + +#include +#include + +namespace DX +{ + // Helper class for animation and simulation timing. + class StepTimer + { + public: + StepTimer() : + m_elapsedTicks(0), + m_totalTicks(0), + m_leftOverTicks(0), + m_frameCount(0), + m_framesPerSecond(0), + m_framesThisSecond(0), + m_qpcSecondCounter(0), + m_isFixedTimeStep(false), + m_targetElapsedTicks(TicksPerSecond / 60) + { + if (!QueryPerformanceFrequency(&m_qpcFrequency)) + { + throw std::exception( "QueryPerformanceFrequency" ); + } + + if (!QueryPerformanceCounter(&m_qpcLastTime)) + { + throw std::exception( "QueryPerformanceCounter" ); + } + + // Initialize max delta to 1/10 of a second. + m_qpcMaxDelta = m_qpcFrequency.QuadPart / 10; + } + + // Get elapsed time since the previous Update call. + uint64_t GetElapsedTicks() const { return m_elapsedTicks; } + double GetElapsedSeconds() const { return TicksToSeconds(m_elapsedTicks); } + + // Get total time since the start of the program. + uint64_t GetTotalTicks() const { return m_totalTicks; } + double GetTotalSeconds() const { return TicksToSeconds(m_totalTicks); } + + // Get total number of updates since start of the program. + uint32_t GetFrameCount() const { return m_frameCount; } + + // Get the current framerate. + uint32_t GetFramesPerSecond() const { return m_framesPerSecond; } + + // Set whether to use fixed or variable timestep mode. + void SetFixedTimeStep(bool isFixedTimestep) { m_isFixedTimeStep = isFixedTimestep; } + + // Set how often to call Update when in fixed timestep mode. + void SetTargetElapsedTicks(uint64_t targetElapsed) { m_targetElapsedTicks = targetElapsed; } + void SetTargetElapsedSeconds(double targetElapsed) { m_targetElapsedTicks = SecondsToTicks(targetElapsed); } + + // Integer format represents time using 10,000,000 ticks per second. + static const uint64_t TicksPerSecond = 10000000; + + static double TicksToSeconds(uint64_t ticks) { return static_cast(ticks) / TicksPerSecond; } + static uint64_t SecondsToTicks(double seconds) { return static_cast(seconds * TicksPerSecond); } + + // After an intentional timing discontinuity (for instance a blocking IO operation) + // call this to avoid having the fixed timestep logic attempt a set of catch-up + // Update calls. + + void ResetElapsedTime() + { + if (!QueryPerformanceCounter(&m_qpcLastTime)) + { + throw std::exception("QueryPerformanceCounter"); + } + + m_leftOverTicks = 0; + m_framesPerSecond = 0; + m_framesThisSecond = 0; + m_qpcSecondCounter = 0; + } + + // Update timer state, calling the specified Update function the appropriate number of times. + template + void Tick(const TUpdate& update) + { + // Query the current time. + LARGE_INTEGER currentTime; + + if (!QueryPerformanceCounter(¤tTime)) + { + throw std::exception( "QueryPerformanceCounter" ); + } + + uint64_t timeDelta = currentTime.QuadPart - m_qpcLastTime.QuadPart; + + m_qpcLastTime = currentTime; + m_qpcSecondCounter += timeDelta; + + // Clamp excessively large time deltas (e.g. after paused in the debugger). + if (timeDelta > m_qpcMaxDelta) + { + timeDelta = m_qpcMaxDelta; + } + + // Convert QPC units into a canonical tick format. This cannot overflow due to the previous clamp. + timeDelta *= TicksPerSecond; + timeDelta /= m_qpcFrequency.QuadPart; + + uint32_t lastFrameCount = m_frameCount; + + if (m_isFixedTimeStep) + { + // Fixed timestep update logic + + // If the app is running very close to the target elapsed time (within 1/4 of a millisecond) just clamp + // the clock to exactly match the target value. This prevents tiny and irrelevant errors + // from accumulating over time. Without this clamping, a game that requested a 60 fps + // fixed update, running with vsync enabled on a 59.94 NTSC display, would eventually + // accumulate enough tiny errors that it would drop a frame. It is better to just round + // small deviations down to zero to leave things running smoothly. + + if (abs(static_cast(timeDelta - m_targetElapsedTicks)) < TicksPerSecond / 4000) + { + timeDelta = m_targetElapsedTicks; + } + + m_leftOverTicks += timeDelta; + + while (m_leftOverTicks >= m_targetElapsedTicks) + { + m_elapsedTicks = m_targetElapsedTicks; + m_totalTicks += m_targetElapsedTicks; + m_leftOverTicks -= m_targetElapsedTicks; + m_frameCount++; + + update(); + } + } + else + { + // Variable timestep update logic. + m_elapsedTicks = timeDelta; + m_totalTicks += timeDelta; + m_leftOverTicks = 0; + m_frameCount++; + + update(); + } + + // Track the current framerate. + if (m_frameCount != lastFrameCount) + { + m_framesThisSecond++; + } + + if (m_qpcSecondCounter >= static_cast(m_qpcFrequency.QuadPart)) + { + m_framesPerSecond = m_framesThisSecond; + m_framesThisSecond = 0; + m_qpcSecondCounter %= m_qpcFrequency.QuadPart; + } + } + + private: + // Source timing data uses QPC units. + LARGE_INTEGER m_qpcFrequency; + LARGE_INTEGER m_qpcLastTime; + uint64_t m_qpcMaxDelta; + + // Derived timing data uses a canonical tick format. + uint64_t m_elapsedTicks; + uint64_t m_totalTicks; + uint64_t m_leftOverTicks; + + // Members for tracking the framerate. + uint32_t m_frameCount; + uint32_t m_framesPerSecond; + uint32_t m_framesThisSecond; + uint64_t m_qpcSecondCounter; + + // Members for configuring fixed timestep mode. + bool m_isFixedTimeStep; + uint64_t m_targetElapsedTicks; + }; +} diff --git a/Samples/IntroGraphics/SimpleLightingUWP/TriangleVS.hlsl b/Samples/IntroGraphics/SimpleLightingUWP/TriangleVS.hlsl new file mode 100644 index 00000000..1d13961b --- /dev/null +++ b/Samples/IntroGraphics/SimpleLightingUWP/TriangleVS.hlsl @@ -0,0 +1,2 @@ +// TriangleVS.hlsl file to provide an MSBuild target for the TriangleVS vertex-shader entry point +#include "SimpleLighting.hlsli" \ No newline at end of file diff --git a/Samples/IntroGraphics/SimpleLightingUWP/pch.cpp b/Samples/IntroGraphics/SimpleLightingUWP/pch.cpp new file mode 100644 index 00000000..851c81be --- /dev/null +++ b/Samples/IntroGraphics/SimpleLightingUWP/pch.cpp @@ -0,0 +1,10 @@ +//-------------------------------------------------------------------------------------- +// pch.cpp +// +// Include the standard header and generate the precompiled header. +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#include "pch.h" diff --git a/Samples/IntroGraphics/SimpleLightingUWP/pch.h b/Samples/IntroGraphics/SimpleLightingUWP/pch.h new file mode 100644 index 00000000..d1a7aa22 --- /dev/null +++ b/Samples/IntroGraphics/SimpleLightingUWP/pch.h @@ -0,0 +1,65 @@ +//-------------------------------------------------------------------------------------- +// pch.h +// +// Header for standard system include files. +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#pragma once + +// Use the C++ standard templated min/max +#define NOMINMAX + +#include + +#include +#include +#include +#include + +#include +#include +#include +#include + +#include +#include + +#ifdef _DEBUG +#include +#endif + +#include "GamePad.h" +#include "Keyboard.h" +#include "Mouse.h" + +namespace DX +{ + // Helper class for COM exceptions + class com_exception : public std::exception + { + public: + com_exception(HRESULT hr) : result(hr) {} + + virtual const char* what() const override + { + static char s_str[64] = { 0 }; + sprintf_s(s_str, "Failure with HRESULT of %08X", result); + return s_str; + } + + private: + HRESULT result; + }; + + // Helper utility converts D3D API failures into exceptions. + inline void ThrowIfFailed(HRESULT hr) + { + if (FAILED(hr)) + { + throw com_exception(hr); + } + } +} \ No newline at end of file diff --git a/Samples/IntroGraphics/SimpleTextureUWP/Assets/Logo.png b/Samples/IntroGraphics/SimpleTextureUWP/Assets/Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..6e7e704a106b99487be0f1eded426e6c5a2c65a9 GIT binary patch literal 39826 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 YA}aUbQ|(Go1_lNOPgg&ebxsLQ0HMvfUjP6A literal 0 HcmV?d00001 diff --git a/Samples/IntroGraphics/SimpleTextureUWP/Assets/SmallLogo.png b/Samples/IntroGraphics/SimpleTextureUWP/Assets/SmallLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..98b09d91991638282fc2426bbfd4a517733ff15a GIT binary patch literal 23704 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 QcF+-zp00i_>zopr0N0Pd_W%F@ literal 0 HcmV?d00001 diff --git a/Samples/IntroGraphics/SimpleTextureUWP/Assets/SplashScreen.png b/Samples/IntroGraphics/SimpleTextureUWP/Assets/SplashScreen.png new file mode 100644 index 0000000000000000000000000000000000000000..c352b156fd090a57aec7da81b3b19a3fb5888b43 GIT binary patch literal 26474 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 omdKI;Vst01?W$S^xk5 literal 0 HcmV?d00001 diff --git a/Samples/IntroGraphics/SimpleTextureUWP/Assets/StoreLogo.png b/Samples/IntroGraphics/SimpleTextureUWP/Assets/StoreLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..315472e10b9d380e509b2f041ea9ace5f994f5d2 GIT binary patch literal 24268 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 literal 0 HcmV?d00001 diff --git a/Samples/IntroGraphics/SimpleTextureUWP/Assets/WideLogo.png b/Samples/IntroGraphics/SimpleTextureUWP/Assets/WideLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..c70f68e2c59214e0ff54844ccd8ae5e955826e10 GIT binary patch literal 46540 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 literal 0 HcmV?d00001 diff --git a/Samples/IntroGraphics/SimpleTextureUWP/DeviceResources.cpp b/Samples/IntroGraphics/SimpleTextureUWP/DeviceResources.cpp new file mode 100644 index 00000000..d549f821 --- /dev/null +++ b/Samples/IntroGraphics/SimpleTextureUWP/DeviceResources.cpp @@ -0,0 +1,592 @@ +// +// DeviceResources.cpp - A wrapper for the Direct3D 11 device and swapchain +// (requires DirectX 11.3 Runtime) +// + + +#include "pch.h" +#include "DeviceResources.h" + +using namespace DirectX; + +using Microsoft::WRL::ComPtr; + +namespace +{ +#if defined(_DEBUG) + // Check for SDK Layer support. + inline bool SdkLayersAvailable() + { + HRESULT hr = D3D11CreateDevice( + nullptr, + D3D_DRIVER_TYPE_NULL, // There is no need to create a real hardware device. + 0, + D3D11_CREATE_DEVICE_DEBUG, // Check for the SDK layers. + nullptr, // Any feature level will do. + 0, + D3D11_SDK_VERSION, + nullptr, // No need to keep the D3D device reference. + nullptr, // No need to know the feature level. + nullptr // No need to keep the D3D device context reference. + ); + + return SUCCEEDED(hr); + } +#endif + + inline DXGI_FORMAT NoSRGB(DXGI_FORMAT fmt) + { + switch (fmt) + { + case DXGI_FORMAT_R8G8B8A8_UNORM_SRGB: return DXGI_FORMAT_R8G8B8A8_UNORM; + case DXGI_FORMAT_B8G8R8A8_UNORM_SRGB: return DXGI_FORMAT_B8G8R8A8_UNORM; + case DXGI_FORMAT_B8G8R8X8_UNORM_SRGB: return DXGI_FORMAT_B8G8R8X8_UNORM; + default: return fmt; + } + } +}; + +// Constants used to calculate screen rotations +namespace ScreenRotation +{ + // 0-degree Z-rotation + static const XMFLOAT4X4 Rotation0( + 1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 1.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f + ); + + // 90-degree Z-rotation + static const XMFLOAT4X4 Rotation90( + 0.0f, 1.0f, 0.0f, 0.0f, + -1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f + ); + + // 180-degree Z-rotation + static const XMFLOAT4X4 Rotation180( + -1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, -1.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f + ); + + // 270-degree Z-rotation + static const XMFLOAT4X4 Rotation270( + 0.0f, -1.0f, 0.0f, 0.0f, + 1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f + ); +}; + +// Constructor for DeviceResources. +DX::DeviceResources::DeviceResources(DXGI_FORMAT backBufferFormat, DXGI_FORMAT depthBufferFormat, UINT backBufferCount, D3D_FEATURE_LEVEL minFeatureLevel) : + m_screenViewport{}, + m_backBufferFormat(backBufferFormat), + m_depthBufferFormat(depthBufferFormat), + m_backBufferCount(backBufferCount), + m_d3dMinFeatureLevel(minFeatureLevel), + m_window(nullptr), + m_d3dFeatureLevel(D3D_FEATURE_LEVEL_9_1), + m_rotation(DXGI_MODE_ROTATION_IDENTITY), + m_outputSize{0, 0, 1, 1}, + m_orientationTransform3D(ScreenRotation::Rotation0), + m_deviceNotify(nullptr) +{ +} + +// Configures the Direct3D device, and stores handles to it and the device context. +void DX::DeviceResources::CreateDeviceResources() +{ + UINT creationFlags = D3D11_CREATE_DEVICE_BGRA_SUPPORT; + +#if defined(_DEBUG) + if (SdkLayersAvailable()) + { + // If the project is in a debug build, enable debugging via SDK Layers with this flag. + creationFlags |= D3D11_CREATE_DEVICE_DEBUG; + } + else + { + OutputDebugStringA("WARNING: Direct3D Debug Device is not available\n"); + } +#endif + + // Determine DirectX hardware feature levels this app will support. + static const D3D_FEATURE_LEVEL s_featureLevels[] = + { + D3D_FEATURE_LEVEL_12_1, + D3D_FEATURE_LEVEL_12_0, + D3D_FEATURE_LEVEL_11_1, + D3D_FEATURE_LEVEL_11_0, + D3D_FEATURE_LEVEL_10_1, + D3D_FEATURE_LEVEL_10_0, + D3D_FEATURE_LEVEL_9_3, + D3D_FEATURE_LEVEL_9_2, + D3D_FEATURE_LEVEL_9_1, + }; + + UINT featLevelCount = 0; + for (; featLevelCount < _countof(s_featureLevels); ++featLevelCount) + { + if (s_featureLevels[featLevelCount] < m_d3dMinFeatureLevel) + break; + } + + if (!featLevelCount) + { + throw std::out_of_range("minFeatureLevel too high"); + } + + ComPtr adapter; + GetHardwareAdapter(adapter.GetAddressOf()); + + // Create the Direct3D 11 API device object and a corresponding context. + ComPtr device; + ComPtr context; + + HRESULT hr = E_FAIL; + if (adapter) + { + hr = D3D11CreateDevice( + adapter.Get(), + D3D_DRIVER_TYPE_UNKNOWN, + 0, + creationFlags, // Set debug and Direct2D compatibility flags. + s_featureLevels, + featLevelCount, + D3D11_SDK_VERSION, + device.GetAddressOf(), // Returns the Direct3D device created. + &m_d3dFeatureLevel, // Returns feature level of device created. + context.GetAddressOf() // Returns the device immediate context. + ); + } +#if defined(NDEBUG) + else + { + throw std::exception("No Direct3D hardware device found"); + } +#else + if (FAILED(hr)) + { + // If the initialization fails, fall back to the WARP device. + // For more information on WARP, see: + // http://go.microsoft.com/fwlink/?LinkId=286690 + hr = D3D11CreateDevice( + nullptr, + D3D_DRIVER_TYPE_WARP, // Create a WARP device instead of a hardware device. + 0, + creationFlags, + s_featureLevels, + featLevelCount, + D3D11_SDK_VERSION, + device.GetAddressOf(), + &m_d3dFeatureLevel, + context.GetAddressOf() + ); + + if (SUCCEEDED(hr)) + { + OutputDebugStringA("Direct3D Adapter - WARP\n"); + } + } +#endif + + DX::ThrowIfFailed(hr); + +#ifndef NDEBUG + ComPtr d3dDebug; + if (SUCCEEDED(device.As(&d3dDebug))) + { + ComPtr d3dInfoQueue; + if (SUCCEEDED(d3dDebug.As(&d3dInfoQueue))) + { +#ifdef _DEBUG + d3dInfoQueue->SetBreakOnSeverity(D3D11_MESSAGE_SEVERITY_CORRUPTION, true); + d3dInfoQueue->SetBreakOnSeverity(D3D11_MESSAGE_SEVERITY_ERROR, true); +#endif + D3D11_MESSAGE_ID hide[] = + { + D3D11_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS, + }; + D3D11_INFO_QUEUE_FILTER filter = {}; + filter.DenyList.NumIDs = _countof(hide); + filter.DenyList.pIDList = hide; + d3dInfoQueue->AddStorageFilterEntries(&filter); + } + } +#endif + + DX::ThrowIfFailed(device.As(&m_d3dDevice)); + DX::ThrowIfFailed(context.As(&m_d3dContext)); +} + +// These resources need to be recreated every time the window size is changed. +void DX::DeviceResources::CreateWindowSizeDependentResources() +{ + if (!m_window) + { + throw std::exception("Call SetWindow with a valid CoreWindow pointer"); + } + + // Clear the previous window size specific context. + ID3D11RenderTargetView* nullViews[] = {nullptr}; + m_d3dContext->OMSetRenderTargets(_countof(nullViews), nullViews, nullptr); + m_d3dRenderTargetView.Reset(); + m_d3dDepthStencilView.Reset(); + m_d3dContext->Flush(); + + // Determine the render target size in pixels. + UINT backBufferWidth = std::max(m_outputSize.right - m_outputSize.left, 1); + UINT backBufferHeight = std::max(m_outputSize.bottom - m_outputSize.top, 1); + DXGI_FORMAT backBufferFormat = NoSRGB(m_backBufferFormat); + + if (m_swapChain) + { + // If the swap chain already exists, resize it. + HRESULT hr = m_swapChain->ResizeBuffers( + m_backBufferCount, + backBufferWidth, + backBufferHeight, + backBufferFormat, + 0 + ); + + if (hr == DXGI_ERROR_DEVICE_REMOVED || hr == DXGI_ERROR_DEVICE_RESET) + { +#ifdef _DEBUG + char buff[64] = {}; + sprintf_s(buff, "Device Lost on ResizeBuffers: Reason code 0x%08X\n", (hr == DXGI_ERROR_DEVICE_REMOVED) ? m_d3dDevice->GetDeviceRemovedReason() : hr); + OutputDebugStringA(buff); +#endif + // If the device was removed for any reason, a new device and swap chain will need to be created. + HandleDeviceLost(); + + // Everything is set up now. Do not continue execution of this method. HandleDeviceLost will reenter this method + // and correctly set up the new device. + return; + } + else + { + DX::ThrowIfFailed(hr); + } + } + else + { + // Otherwise, create a new one using the same adapter as the existing Direct3D device. + + // This sequence obtains the DXGI factory that was used to create the Direct3D device above. + ComPtr dxgiDevice; + DX::ThrowIfFailed(m_d3dDevice.As(&dxgiDevice)); + + ComPtr dxgiAdapter; + DX::ThrowIfFailed(dxgiDevice->GetAdapter(dxgiAdapter.GetAddressOf())); + + ComPtr dxgiFactory; + DX::ThrowIfFailed(dxgiAdapter->GetParent(IID_PPV_ARGS(dxgiFactory.GetAddressOf()))); + + DXGI_SWAP_CHAIN_DESC1 swapChainDesc = {}; + swapChainDesc.Width = backBufferWidth; + swapChainDesc.Height = backBufferHeight; + swapChainDesc.Format = backBufferFormat; + swapChainDesc.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT; + swapChainDesc.BufferCount = m_backBufferCount; + swapChainDesc.SampleDesc.Count = 1; + swapChainDesc.SampleDesc.Quality = 0; + swapChainDesc.Scaling = DXGI_SCALING_ASPECT_RATIO_STRETCH; + swapChainDesc.SwapEffect = DXGI_SWAP_EFFECT_FLIP_DISCARD; + swapChainDesc.AlphaMode = DXGI_ALPHA_MODE_IGNORE; + + ComPtr swapChain; + DX::ThrowIfFailed(dxgiFactory->CreateSwapChainForCoreWindow( + m_d3dDevice.Get(), + m_window, + &swapChainDesc, + nullptr, + swapChain.GetAddressOf() + )); + + DX::ThrowIfFailed(swapChain.As(&m_swapChain)); + + // Ensure that DXGI does not queue more than one frame at a time. This both reduces latency and + // ensures that the application will only render after each VSync, minimizing power consumption. + DX::ThrowIfFailed(dxgiDevice->SetMaximumFrameLatency(1)); + } + + // Set the proper orientation for the swap chain, and generate + // matrix transformations for rendering to the rotated swap chain. + switch (m_rotation) + { + default: + case DXGI_MODE_ROTATION_IDENTITY: + m_orientationTransform3D = ScreenRotation::Rotation0; + break; + + case DXGI_MODE_ROTATION_ROTATE90: + m_orientationTransform3D = ScreenRotation::Rotation270; + break; + + case DXGI_MODE_ROTATION_ROTATE180: + m_orientationTransform3D = ScreenRotation::Rotation180; + break; + + case DXGI_MODE_ROTATION_ROTATE270: + m_orientationTransform3D = ScreenRotation::Rotation90; + break; + } + + DX::ThrowIfFailed(m_swapChain->SetRotation(m_rotation)); + + // Create a render target view of the swap chain back buffer. + ComPtr backBuffer; + DX::ThrowIfFailed(m_swapChain->GetBuffer(0, IID_PPV_ARGS(backBuffer.GetAddressOf()))); + + CD3D11_RENDER_TARGET_VIEW_DESC renderTargetViewDesc(D3D11_RTV_DIMENSION_TEXTURE2D, m_backBufferFormat); + DX::ThrowIfFailed(m_d3dDevice->CreateRenderTargetView( + backBuffer.Get(), + &renderTargetViewDesc, + m_d3dRenderTargetView.ReleaseAndGetAddressOf() + )); + + if (m_depthBufferFormat != DXGI_FORMAT_UNKNOWN) + { + // Create a depth stencil view for use with 3D rendering if needed. + CD3D11_TEXTURE2D_DESC depthStencilDesc( + m_depthBufferFormat, + backBufferWidth, + backBufferHeight, + 1, // This depth stencil view has only one texture. + 1, // Use a single mipmap level. + D3D11_BIND_DEPTH_STENCIL + ); + + ComPtr depthStencil; + DX::ThrowIfFailed(m_d3dDevice->CreateTexture2D( + &depthStencilDesc, + nullptr, + depthStencil.GetAddressOf() + )); + + CD3D11_DEPTH_STENCIL_VIEW_DESC depthStencilViewDesc(D3D11_DSV_DIMENSION_TEXTURE2D); + DX::ThrowIfFailed(m_d3dDevice->CreateDepthStencilView( + depthStencil.Get(), + &depthStencilViewDesc, + m_d3dDepthStencilView.ReleaseAndGetAddressOf() + )); + } + + // Set the 3D rendering viewport to target the entire window. + m_screenViewport = CD3D11_VIEWPORT( + 0.0f, + 0.0f, + static_cast(backBufferWidth), + static_cast(backBufferHeight) + ); +} + +// This method is called when the CoreWindow is created (or re-created). +void DX::DeviceResources::SetWindow(IUnknown* window, int width, int height, DXGI_MODE_ROTATION rotation) +{ + m_window = window; + + m_outputSize.left = m_outputSize.top = 0; + m_outputSize.right = width; + m_outputSize.bottom = height; + + m_rotation = rotation; +} + +// This method is called when the window changes size +bool DX::DeviceResources::WindowSizeChanged(int width, int height, DXGI_MODE_ROTATION rotation) +{ + RECT newRc; + newRc.left = newRc.top = 0; + newRc.right = width; + newRc.bottom = height; + if (newRc == m_outputSize && rotation == m_rotation) + { + return false; + } + + m_outputSize = newRc; + m_rotation = rotation; + CreateWindowSizeDependentResources(); + return true; +} + +// This method is called in the event handler for the DisplayContentsInvalidated event. +void DX::DeviceResources::ValidateDevice() +{ + // The D3D Device is no longer valid if the default adapter changed since the device + // was created or if the device has been removed. + + DXGI_ADAPTER_DESC previousDesc; + { + ComPtr dxgiDevice; + DX::ThrowIfFailed(m_d3dDevice.As(&dxgiDevice)); + + ComPtr deviceAdapter; + DX::ThrowIfFailed(dxgiDevice->GetAdapter(deviceAdapter.GetAddressOf())); + + ComPtr deviceFactory; + DX::ThrowIfFailed(deviceAdapter->GetParent(IID_PPV_ARGS(deviceFactory.GetAddressOf()))); + + ComPtr previousDefaultAdapter; + DX::ThrowIfFailed(deviceFactory->EnumAdapters1(0, previousDefaultAdapter.GetAddressOf())); + + DX::ThrowIfFailed(previousDefaultAdapter->GetDesc(&previousDesc)); + } + + DXGI_ADAPTER_DESC currentDesc; + { + ComPtr currentFactory; + DX::ThrowIfFailed(CreateDXGIFactory1(IID_PPV_ARGS(currentFactory.GetAddressOf()))); + + ComPtr currentDefaultAdapter; + DX::ThrowIfFailed(currentFactory->EnumAdapters1(0, currentDefaultAdapter.GetAddressOf())); + + DX::ThrowIfFailed(currentDefaultAdapter->GetDesc(¤tDesc)); + } + + // If the adapter LUIDs don't match, or if the device reports that it has been removed, + // a new D3D device must be created. + + if (previousDesc.AdapterLuid.LowPart != currentDesc.AdapterLuid.LowPart + || previousDesc.AdapterLuid.HighPart != currentDesc.AdapterLuid.HighPart + || FAILED(m_d3dDevice->GetDeviceRemovedReason())) + { +#ifdef _DEBUG + OutputDebugStringA("Device Lost on ValidateDevice\n"); +#endif + + // Create a new device and swap chain. + HandleDeviceLost(); + } +} + +// Recreate all device resources and set them back to the current state. +void DX::DeviceResources::HandleDeviceLost() +{ + if (m_deviceNotify) + { + m_deviceNotify->OnDeviceLost(); + } + + m_d3dDepthStencilView.Reset(); + m_d3dRenderTargetView.Reset(); + m_swapChain.Reset(); + m_d3dContext.Reset(); + m_d3dDevice.Reset(); + +#ifdef _DEBUG + { + ComPtr dxgiDebug; + if (SUCCEEDED(DXGIGetDebugInterface1(0, IID_PPV_ARGS(&dxgiDebug)))) + { + dxgiDebug->ReportLiveObjects(DXGI_DEBUG_ALL, DXGI_DEBUG_RLO_FLAGS(DXGI_DEBUG_RLO_SUMMARY | DXGI_DEBUG_RLO_IGNORE_INTERNAL)); + } + } +#endif + + CreateDeviceResources(); + CreateWindowSizeDependentResources(); + + if (m_deviceNotify) + { + m_deviceNotify->OnDeviceRestored(); + } +} + +// Call this method when the app suspends. It provides a hint to the driver that the app +// is entering an idle state and that temporary buffers can be reclaimed for use by other apps. +void DX::DeviceResources::Trim() +{ + ComPtr dxgiDevice; + if (SUCCEEDED(m_d3dDevice.As(&dxgiDevice))) + { + dxgiDevice->Trim(); + } +} + +// Present the contents of the swap chain to the screen. +void DX::DeviceResources::Present() +{ + // The first argument instructs DXGI to block until VSync, putting the application + // to sleep until the next VSync. This ensures we don't waste any cycles rendering + // frames that will never be displayed to the screen. + HRESULT hr = m_swapChain->Present(1, 0); + + // Discard the contents of the render target. + // This is a valid operation only when the existing contents will be entirely + // overwritten. If dirty or scroll rects are used, this call should be removed. + m_d3dContext->DiscardView(m_d3dRenderTargetView.Get()); + + if (m_d3dDepthStencilView) + { + // Discard the contents of the depth stencil. + m_d3dContext->DiscardView(m_d3dDepthStencilView.Get()); + } + + // If the device was removed either by a disconnection or a driver upgrade, we + // must recreate all device resources. + if (hr == DXGI_ERROR_DEVICE_REMOVED || hr == DXGI_ERROR_DEVICE_RESET) + { +#ifdef _DEBUG + char buff[64] = {}; + sprintf_s(buff, "Device Lost on Present: Reason code 0x%08X\n", (hr == DXGI_ERROR_DEVICE_REMOVED) ? m_d3dDevice->GetDeviceRemovedReason() : hr); + OutputDebugStringA(buff); +#endif + HandleDeviceLost(); + } + else + { + DX::ThrowIfFailed(hr); + } +} + +// This method acquires the first available hardware adapter. +// If no such adapter can be found, *ppAdapter will be set to nullptr. +void DX::DeviceResources::GetHardwareAdapter(IDXGIAdapter1** ppAdapter) +{ + *ppAdapter = nullptr; + + ComPtr dxgiFactory; +#ifdef _DEBUG + UINT creationFlags = 0; + + if (SdkLayersAvailable()) + { + creationFlags |= DXGI_CREATE_FACTORY_DEBUG; + } + + DX::ThrowIfFailed(CreateDXGIFactory2(creationFlags, IID_PPV_ARGS(dxgiFactory.GetAddressOf()))); +#else + DX::ThrowIfFailed(CreateDXGIFactory1(IID_PPV_ARGS(dxgiFactory.GetAddressOf()))); +#endif + + ComPtr adapter; + for (UINT adapterIndex = 0; DXGI_ERROR_NOT_FOUND != dxgiFactory->EnumAdapters1(adapterIndex, adapter.ReleaseAndGetAddressOf()); adapterIndex++) + { + DXGI_ADAPTER_DESC1 desc; + adapter->GetDesc1(&desc); + + if (desc.Flags & DXGI_ADAPTER_FLAG_SOFTWARE) + { + // Don't select the Basic Render Driver adapter. + continue; + } + +#ifdef _DEBUG + wchar_t buff[256] = {}; + swprintf_s(buff, L"Direct3D Adapter (%u): VID:%04X, PID:%04X - %ls\n", adapterIndex, desc.VendorId, desc.DeviceId, desc.Description); + OutputDebugStringW(buff); +#endif + + break; + } + + *ppAdapter = adapter.Detach(); +} \ No newline at end of file diff --git a/Samples/IntroGraphics/SimpleTextureUWP/DeviceResources.h b/Samples/IntroGraphics/SimpleTextureUWP/DeviceResources.h new file mode 100644 index 00000000..1da562ca --- /dev/null +++ b/Samples/IntroGraphics/SimpleTextureUWP/DeviceResources.h @@ -0,0 +1,83 @@ +// +// DeviceResources.h - A wrapper for the Direct3D 11 device and swapchain +// + +#pragma once + +namespace DX +{ + // Provides an interface for an application that owns DeviceResources to be notified of the device being lost or created. + interface IDeviceNotify + { + virtual void OnDeviceLost() = 0; + virtual void OnDeviceRestored() = 0; + }; + + // Controls all the DirectX device resources. + class DeviceResources + { + public: + DeviceResources(DXGI_FORMAT backBufferFormat = DXGI_FORMAT_B8G8R8A8_UNORM, + DXGI_FORMAT depthBufferFormat = DXGI_FORMAT_D24_UNORM_S8_UINT, + UINT backBufferCount = 2, + D3D_FEATURE_LEVEL minFeatureLevel = D3D_FEATURE_LEVEL_9_3); + + void CreateDeviceResources(); + void CreateWindowSizeDependentResources(); + void SetWindow(IUnknown* window, int width, int height, DXGI_MODE_ROTATION rotation); + bool WindowSizeChanged(int width, int height, DXGI_MODE_ROTATION rotation); + void ValidateDevice(); + void HandleDeviceLost(); + void RegisterDeviceNotify(IDeviceNotify* deviceNotify) { m_deviceNotify = deviceNotify; } + void Trim(); + void Present(); + + // Device Accessors. + RECT GetOutputSize() const { return m_outputSize; } + DXGI_MODE_ROTATION GetRotation() const { return m_rotation; } + + // Direct3D Accessors. + ID3D11Device2* GetD3DDevice() const { return m_d3dDevice.Get(); } + ID3D11DeviceContext2* GetD3DDeviceContext() const { return m_d3dContext.Get(); } + IDXGISwapChain3* GetSwapChain() const { return m_swapChain.Get(); } + D3D_FEATURE_LEVEL GetDeviceFeatureLevel() const { return m_d3dFeatureLevel; } + ID3D11RenderTargetView* GetBackBufferRenderTargetView() const { return m_d3dRenderTargetView.Get(); } + ID3D11DepthStencilView* GetDepthStencilView() const { return m_d3dDepthStencilView.Get(); } + DXGI_FORMAT GetBackBufferFormat() const { return m_backBufferFormat; } + DXGI_FORMAT GetDepthBufferFormat() const { return m_depthBufferFormat; } + D3D11_VIEWPORT GetScreenViewport() const { return m_screenViewport; } + UINT GetBackBufferCount() const { return m_backBufferCount; } + DirectX::XMFLOAT4X4 GetOrientationTransform3D() const { return m_orientationTransform3D; } + + private: + void GetHardwareAdapter(IDXGIAdapter1** ppAdapter); + + // Direct3D objects. + Microsoft::WRL::ComPtr m_d3dDevice; + Microsoft::WRL::ComPtr m_d3dContext; + Microsoft::WRL::ComPtr m_swapChain; + + // Direct3D rendering objects. Required for 3D. + Microsoft::WRL::ComPtr m_d3dRenderTargetView; + Microsoft::WRL::ComPtr m_d3dDepthStencilView; + D3D11_VIEWPORT m_screenViewport; + + // Direct3D properties. + DXGI_FORMAT m_backBufferFormat; + DXGI_FORMAT m_depthBufferFormat; + UINT m_backBufferCount; + D3D_FEATURE_LEVEL m_d3dMinFeatureLevel; + + // Cached device properties. + IUnknown* m_window; + D3D_FEATURE_LEVEL m_d3dFeatureLevel; + DXGI_MODE_ROTATION m_rotation; + RECT m_outputSize; + + // Transforms used for display orientation. + DirectX::XMFLOAT4X4 m_orientationTransform3D; + + // The IDeviceNotify can be held directly as it owns the DeviceResources. + IDeviceNotify* m_deviceNotify; + }; +} \ No newline at end of file diff --git a/Samples/Graphics/SimpleTextureUWP/Main.cpp b/Samples/IntroGraphics/SimpleTextureUWP/Main.cpp similarity index 100% rename from Samples/Graphics/SimpleTextureUWP/Main.cpp rename to Samples/IntroGraphics/SimpleTextureUWP/Main.cpp diff --git a/Samples/Graphics/SimpleTextureUWP/Package.appxmanifest b/Samples/IntroGraphics/SimpleTextureUWP/Package.appxmanifest similarity index 90% rename from Samples/Graphics/SimpleTextureUWP/Package.appxmanifest rename to Samples/IntroGraphics/SimpleTextureUWP/Package.appxmanifest index fa435f8e..1f755ea6 100644 --- a/Samples/Graphics/SimpleTextureUWP/Package.appxmanifest +++ b/Samples/IntroGraphics/SimpleTextureUWP/Package.appxmanifest @@ -8,14 +8,14 @@ SimpleTextureUWP - chuckw + Xbox Advanced Technology Group Assets\StoreLogo.png diff --git a/Samples/Graphics/SimpleTextureUWP/PixelShader.hlsl b/Samples/IntroGraphics/SimpleTextureUWP/PixelShader.hlsl similarity index 100% rename from Samples/Graphics/SimpleTextureUWP/PixelShader.hlsl rename to Samples/IntroGraphics/SimpleTextureUWP/PixelShader.hlsl diff --git a/Samples/Graphics/SimpleTextureUWP/Readme.docx b/Samples/IntroGraphics/SimpleTextureUWP/Readme.docx similarity index 100% rename from Samples/Graphics/SimpleTextureUWP/Readme.docx rename to Samples/IntroGraphics/SimpleTextureUWP/Readme.docx diff --git a/Samples/Graphics/SimpleTextureUWP/SimpleTextureUWP.cpp b/Samples/IntroGraphics/SimpleTextureUWP/SimpleTextureUWP.cpp similarity index 100% rename from Samples/Graphics/SimpleTextureUWP/SimpleTextureUWP.cpp rename to Samples/IntroGraphics/SimpleTextureUWP/SimpleTextureUWP.cpp diff --git a/Samples/Graphics/SimpleTextureUWP/SimpleTextureUWP.h b/Samples/IntroGraphics/SimpleTextureUWP/SimpleTextureUWP.h similarity index 100% rename from Samples/Graphics/SimpleTextureUWP/SimpleTextureUWP.h rename to Samples/IntroGraphics/SimpleTextureUWP/SimpleTextureUWP.h diff --git a/Samples/Graphics/SimpleTextureUWP/SimpleTextureUWP.sln b/Samples/IntroGraphics/SimpleTextureUWP/SimpleTextureUWP.sln similarity index 100% rename from Samples/Graphics/SimpleTextureUWP/SimpleTextureUWP.sln rename to Samples/IntroGraphics/SimpleTextureUWP/SimpleTextureUWP.sln diff --git a/Samples/Graphics/SimpleTextureUWP/SimpleTextureUWP.vcxproj b/Samples/IntroGraphics/SimpleTextureUWP/SimpleTextureUWP.vcxproj similarity index 98% rename from Samples/Graphics/SimpleTextureUWP/SimpleTextureUWP.vcxproj rename to Samples/IntroGraphics/SimpleTextureUWP/SimpleTextureUWP.vcxproj index 2e13898f..92a15bee 100644 --- a/Samples/Graphics/SimpleTextureUWP/SimpleTextureUWP.vcxproj +++ b/Samples/IntroGraphics/SimpleTextureUWP/SimpleTextureUWP.vcxproj @@ -1,4 +1,4 @@ - + @@ -276,4 +276,4 @@ - + \ No newline at end of file diff --git a/Samples/Graphics/SimpleTextureUWP/SimpleTextureUWP.vcxproj.filters b/Samples/IntroGraphics/SimpleTextureUWP/SimpleTextureUWP.vcxproj.filters similarity index 100% rename from Samples/Graphics/SimpleTextureUWP/SimpleTextureUWP.vcxproj.filters rename to Samples/IntroGraphics/SimpleTextureUWP/SimpleTextureUWP.vcxproj.filters diff --git a/Samples/Graphics/SimpleTextureUWP/SimpleTextureUWP_TemporaryKey.pfx b/Samples/IntroGraphics/SimpleTextureUWP/SimpleTextureUWP_TemporaryKey.pfx similarity index 100% rename from Samples/Graphics/SimpleTextureUWP/SimpleTextureUWP_TemporaryKey.pfx rename to Samples/IntroGraphics/SimpleTextureUWP/SimpleTextureUWP_TemporaryKey.pfx diff --git a/Samples/IntroGraphics/SimpleTextureUWP/StepTimer.h b/Samples/IntroGraphics/SimpleTextureUWP/StepTimer.h new file mode 100644 index 00000000..e6f7acf5 --- /dev/null +++ b/Samples/IntroGraphics/SimpleTextureUWP/StepTimer.h @@ -0,0 +1,188 @@ +// +// StepTimer.h - A simple timer that provides elapsed time information +// + +#pragma once + +#include +#include + +namespace DX +{ + // Helper class for animation and simulation timing. + class StepTimer + { + public: + StepTimer() : + m_elapsedTicks(0), + m_totalTicks(0), + m_leftOverTicks(0), + m_frameCount(0), + m_framesPerSecond(0), + m_framesThisSecond(0), + m_qpcSecondCounter(0), + m_isFixedTimeStep(false), + m_targetElapsedTicks(TicksPerSecond / 60) + { + if (!QueryPerformanceFrequency(&m_qpcFrequency)) + { + throw std::exception( "QueryPerformanceFrequency" ); + } + + if (!QueryPerformanceCounter(&m_qpcLastTime)) + { + throw std::exception( "QueryPerformanceCounter" ); + } + + // Initialize max delta to 1/10 of a second. + m_qpcMaxDelta = m_qpcFrequency.QuadPart / 10; + } + + // Get elapsed time since the previous Update call. + uint64_t GetElapsedTicks() const { return m_elapsedTicks; } + double GetElapsedSeconds() const { return TicksToSeconds(m_elapsedTicks); } + + // Get total time since the start of the program. + uint64_t GetTotalTicks() const { return m_totalTicks; } + double GetTotalSeconds() const { return TicksToSeconds(m_totalTicks); } + + // Get total number of updates since start of the program. + uint32_t GetFrameCount() const { return m_frameCount; } + + // Get the current framerate. + uint32_t GetFramesPerSecond() const { return m_framesPerSecond; } + + // Set whether to use fixed or variable timestep mode. + void SetFixedTimeStep(bool isFixedTimestep) { m_isFixedTimeStep = isFixedTimestep; } + + // Set how often to call Update when in fixed timestep mode. + void SetTargetElapsedTicks(uint64_t targetElapsed) { m_targetElapsedTicks = targetElapsed; } + void SetTargetElapsedSeconds(double targetElapsed) { m_targetElapsedTicks = SecondsToTicks(targetElapsed); } + + // Integer format represents time using 10,000,000 ticks per second. + static const uint64_t TicksPerSecond = 10000000; + + static double TicksToSeconds(uint64_t ticks) { return static_cast(ticks) / TicksPerSecond; } + static uint64_t SecondsToTicks(double seconds) { return static_cast(seconds * TicksPerSecond); } + + // After an intentional timing discontinuity (for instance a blocking IO operation) + // call this to avoid having the fixed timestep logic attempt a set of catch-up + // Update calls. + + void ResetElapsedTime() + { + if (!QueryPerformanceCounter(&m_qpcLastTime)) + { + throw std::exception("QueryPerformanceCounter"); + } + + m_leftOverTicks = 0; + m_framesPerSecond = 0; + m_framesThisSecond = 0; + m_qpcSecondCounter = 0; + } + + // Update timer state, calling the specified Update function the appropriate number of times. + template + void Tick(const TUpdate& update) + { + // Query the current time. + LARGE_INTEGER currentTime; + + if (!QueryPerformanceCounter(¤tTime)) + { + throw std::exception( "QueryPerformanceCounter" ); + } + + uint64_t timeDelta = currentTime.QuadPart - m_qpcLastTime.QuadPart; + + m_qpcLastTime = currentTime; + m_qpcSecondCounter += timeDelta; + + // Clamp excessively large time deltas (e.g. after paused in the debugger). + if (timeDelta > m_qpcMaxDelta) + { + timeDelta = m_qpcMaxDelta; + } + + // Convert QPC units into a canonical tick format. This cannot overflow due to the previous clamp. + timeDelta *= TicksPerSecond; + timeDelta /= m_qpcFrequency.QuadPart; + + uint32_t lastFrameCount = m_frameCount; + + if (m_isFixedTimeStep) + { + // Fixed timestep update logic + + // If the app is running very close to the target elapsed time (within 1/4 of a millisecond) just clamp + // the clock to exactly match the target value. This prevents tiny and irrelevant errors + // from accumulating over time. Without this clamping, a game that requested a 60 fps + // fixed update, running with vsync enabled on a 59.94 NTSC display, would eventually + // accumulate enough tiny errors that it would drop a frame. It is better to just round + // small deviations down to zero to leave things running smoothly. + + if (abs(static_cast(timeDelta - m_targetElapsedTicks)) < TicksPerSecond / 4000) + { + timeDelta = m_targetElapsedTicks; + } + + m_leftOverTicks += timeDelta; + + while (m_leftOverTicks >= m_targetElapsedTicks) + { + m_elapsedTicks = m_targetElapsedTicks; + m_totalTicks += m_targetElapsedTicks; + m_leftOverTicks -= m_targetElapsedTicks; + m_frameCount++; + + update(); + } + } + else + { + // Variable timestep update logic. + m_elapsedTicks = timeDelta; + m_totalTicks += timeDelta; + m_leftOverTicks = 0; + m_frameCount++; + + update(); + } + + // Track the current framerate. + if (m_frameCount != lastFrameCount) + { + m_framesThisSecond++; + } + + if (m_qpcSecondCounter >= static_cast(m_qpcFrequency.QuadPart)) + { + m_framesPerSecond = m_framesThisSecond; + m_framesThisSecond = 0; + m_qpcSecondCounter %= m_qpcFrequency.QuadPart; + } + } + + private: + // Source timing data uses QPC units. + LARGE_INTEGER m_qpcFrequency; + LARGE_INTEGER m_qpcLastTime; + uint64_t m_qpcMaxDelta; + + // Derived timing data uses a canonical tick format. + uint64_t m_elapsedTicks; + uint64_t m_totalTicks; + uint64_t m_leftOverTicks; + + // Members for tracking the framerate. + uint32_t m_frameCount; + uint32_t m_framesPerSecond; + uint32_t m_framesThisSecond; + uint64_t m_qpcSecondCounter; + + // Members for configuring fixed timestep mode. + bool m_isFixedTimeStep; + uint64_t m_targetElapsedTicks; + }; +} diff --git a/Samples/Graphics/SimpleTextureUWP/VertexShader.hlsl b/Samples/IntroGraphics/SimpleTextureUWP/VertexShader.hlsl similarity index 100% rename from Samples/Graphics/SimpleTextureUWP/VertexShader.hlsl rename to Samples/IntroGraphics/SimpleTextureUWP/VertexShader.hlsl diff --git a/Samples/IntroGraphics/SimpleTextureUWP/pch.cpp b/Samples/IntroGraphics/SimpleTextureUWP/pch.cpp new file mode 100644 index 00000000..851c81be --- /dev/null +++ b/Samples/IntroGraphics/SimpleTextureUWP/pch.cpp @@ -0,0 +1,10 @@ +//-------------------------------------------------------------------------------------- +// pch.cpp +// +// Include the standard header and generate the precompiled header. +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#include "pch.h" diff --git a/Samples/Graphics/SimpleTextureUWP/pch.h b/Samples/IntroGraphics/SimpleTextureUWP/pch.h similarity index 100% rename from Samples/Graphics/SimpleTextureUWP/pch.h rename to Samples/IntroGraphics/SimpleTextureUWP/pch.h diff --git a/Samples/IntroGraphics/SimpleTextureUWP12/Assets/Logo.png b/Samples/IntroGraphics/SimpleTextureUWP12/Assets/Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..6e7e704a106b99487be0f1eded426e6c5a2c65a9 GIT binary patch literal 39826 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 YA}aUbQ|(Go1_lNOPgg&ebxsLQ0HMvfUjP6A literal 0 HcmV?d00001 diff --git a/Samples/IntroGraphics/SimpleTextureUWP12/Assets/SmallLogo.png b/Samples/IntroGraphics/SimpleTextureUWP12/Assets/SmallLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..98b09d91991638282fc2426bbfd4a517733ff15a GIT binary patch literal 23704 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 QcF+-zp00i_>zopr0N0Pd_W%F@ literal 0 HcmV?d00001 diff --git a/Samples/IntroGraphics/SimpleTextureUWP12/Assets/SplashScreen.png b/Samples/IntroGraphics/SimpleTextureUWP12/Assets/SplashScreen.png new file mode 100644 index 0000000000000000000000000000000000000000..c352b156fd090a57aec7da81b3b19a3fb5888b43 GIT binary patch literal 26474 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 omdKI;Vst01?W$S^xk5 literal 0 HcmV?d00001 diff --git a/Samples/IntroGraphics/SimpleTextureUWP12/Assets/StoreLogo.png b/Samples/IntroGraphics/SimpleTextureUWP12/Assets/StoreLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..315472e10b9d380e509b2f041ea9ace5f994f5d2 GIT binary patch literal 24268 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 literal 0 HcmV?d00001 diff --git a/Samples/IntroGraphics/SimpleTextureUWP12/Assets/WideLogo.png b/Samples/IntroGraphics/SimpleTextureUWP12/Assets/WideLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..c70f68e2c59214e0ff54844ccd8ae5e955826e10 GIT binary patch literal 46540 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 literal 0 HcmV?d00001 diff --git a/Samples/Graphics/SimpleTriangleUWP12/DeviceResources.cpp b/Samples/IntroGraphics/SimpleTextureUWP12/DeviceResources.cpp similarity index 85% rename from Samples/Graphics/SimpleTriangleUWP12/DeviceResources.cpp rename to Samples/IntroGraphics/SimpleTextureUWP12/DeviceResources.cpp index d8bbdbb3..c7109625 100644 --- a/Samples/Graphics/SimpleTriangleUWP12/DeviceResources.cpp +++ b/Samples/IntroGraphics/SimpleTextureUWP12/DeviceResources.cpp @@ -132,6 +132,27 @@ void DX::DeviceResources::CreateDeviceResources() IID_PPV_ARGS(m_d3dDevice.ReleaseAndGetAddressOf()) )); +#ifndef NDEBUG + // Configure debug device (if active). + ComPtr d3dInfoQueue; + if (SUCCEEDED(m_d3dDevice.As(&d3dInfoQueue))) + { +#ifdef _DEBUG + d3dInfoQueue->SetBreakOnSeverity(D3D12_MESSAGE_SEVERITY_CORRUPTION, true); + d3dInfoQueue->SetBreakOnSeverity(D3D12_MESSAGE_SEVERITY_ERROR, true); +#endif + D3D12_MESSAGE_ID hide[] = + { + D3D12_MESSAGE_ID_MAP_INVALID_NULLRANGE, + D3D12_MESSAGE_ID_UNMAP_INVALID_NULLRANGE + }; + D3D12_INFO_QUEUE_FILTER filter = {}; + filter.DenyList.NumIDs = _countof(hide); + filter.DenyList.pIDList = hide; + d3dInfoQueue->AddStorageFilterEntries(&filter); + } +#endif + // Determine maximum supported feature level for this device static const D3D_FEATURE_LEVEL s_featureLevels[] = { @@ -168,15 +189,19 @@ void DX::DeviceResources::CreateDeviceResources() rtvDescriptorHeapDesc.NumDescriptors = m_backBufferCount; rtvDescriptorHeapDesc.Type = D3D12_DESCRIPTOR_HEAP_TYPE_RTV; - D3D12_DESCRIPTOR_HEAP_DESC dsvDescriptorHeapDesc = {}; - dsvDescriptorHeapDesc.NumDescriptors = 1; - dsvDescriptorHeapDesc.Type = D3D12_DESCRIPTOR_HEAP_TYPE_DSV; - DX::ThrowIfFailed(m_d3dDevice->CreateDescriptorHeap(&rtvDescriptorHeapDesc, IID_PPV_ARGS(m_rtvDescriptorHeap.ReleaseAndGetAddressOf()))); - DX::ThrowIfFailed(m_d3dDevice->CreateDescriptorHeap(&dsvDescriptorHeapDesc, IID_PPV_ARGS(m_dsvDescriptorHeap.ReleaseAndGetAddressOf()))); m_rtvDescriptorSize = m_d3dDevice->GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE_RTV); + if (m_depthBufferFormat != DXGI_FORMAT_UNKNOWN) + { + D3D12_DESCRIPTOR_HEAP_DESC dsvDescriptorHeapDesc = {}; + dsvDescriptorHeapDesc.NumDescriptors = 1; + dsvDescriptorHeapDesc.Type = D3D12_DESCRIPTOR_HEAP_TYPE_DSV; + + DX::ThrowIfFailed(m_d3dDevice->CreateDescriptorHeap(&dsvDescriptorHeapDesc, IID_PPV_ARGS(m_dsvDescriptorHeap.ReleaseAndGetAddressOf()))); + } + // Create a command allocator for each back buffer that will be rendered to. for (UINT n = 0; n < m_backBufferCount; n++) { @@ -306,7 +331,7 @@ void DX::DeviceResources::CreateWindowSizeDependentResources() { DX::ThrowIfFailed(m_swapChain->GetBuffer(n, IID_PPV_ARGS(m_renderTargets[n].GetAddressOf()))); - WCHAR name[25] = {}; + wchar_t name[25] = {}; swprintf_s(name, L"Render target %u", n); m_renderTargets[n]->SetName(name); @@ -321,40 +346,43 @@ void DX::DeviceResources::CreateWindowSizeDependentResources() // Reset the index to the current back buffer. m_backBufferIndex = m_swapChain->GetCurrentBackBufferIndex(); - // Allocate a 2-D surface as the depth/stencil buffer and create a depth/stencil view - // on this surface. - CD3DX12_HEAP_PROPERTIES depthHeapProperties(D3D12_HEAP_TYPE_DEFAULT); + if (m_depthBufferFormat != DXGI_FORMAT_UNKNOWN) + { + // Allocate a 2-D surface as the depth/stencil buffer and create a depth/stencil view + // on this surface. + CD3DX12_HEAP_PROPERTIES depthHeapProperties(D3D12_HEAP_TYPE_DEFAULT); - D3D12_RESOURCE_DESC depthStencilDesc = CD3DX12_RESOURCE_DESC::Tex2D( - m_depthBufferFormat, - backBufferWidth, - backBufferHeight, - 1, // This depth stencil view has only one texture. - 1 // Use a single mipmap level. - ); - depthStencilDesc.Flags |= D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL; - - D3D12_CLEAR_VALUE depthOptimizedClearValue = {}; - depthOptimizedClearValue.Format = m_depthBufferFormat; - depthOptimizedClearValue.DepthStencil.Depth = 1.0f; - depthOptimizedClearValue.DepthStencil.Stencil = 0; - - DX::ThrowIfFailed(m_d3dDevice->CreateCommittedResource( - &depthHeapProperties, - D3D12_HEAP_FLAG_NONE, - &depthStencilDesc, - D3D12_RESOURCE_STATE_DEPTH_WRITE, - &depthOptimizedClearValue, - IID_PPV_ARGS(m_depthStencil.ReleaseAndGetAddressOf()) - )); + D3D12_RESOURCE_DESC depthStencilDesc = CD3DX12_RESOURCE_DESC::Tex2D( + m_depthBufferFormat, + backBufferWidth, + backBufferHeight, + 1, // This depth stencil view has only one texture. + 1 // Use a single mipmap level. + ); + depthStencilDesc.Flags |= D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL; + + D3D12_CLEAR_VALUE depthOptimizedClearValue = {}; + depthOptimizedClearValue.Format = m_depthBufferFormat; + depthOptimizedClearValue.DepthStencil.Depth = 1.0f; + depthOptimizedClearValue.DepthStencil.Stencil = 0; + + DX::ThrowIfFailed(m_d3dDevice->CreateCommittedResource( + &depthHeapProperties, + D3D12_HEAP_FLAG_NONE, + &depthStencilDesc, + D3D12_RESOURCE_STATE_DEPTH_WRITE, + &depthOptimizedClearValue, + IID_PPV_ARGS(m_depthStencil.ReleaseAndGetAddressOf()) + )); - m_depthStencil->SetName(L"Depth stencil"); + m_depthStencil->SetName(L"Depth stencil"); - D3D12_DEPTH_STENCIL_VIEW_DESC dsvDesc = {}; - dsvDesc.Format = m_depthBufferFormat; - dsvDesc.ViewDimension = D3D12_DSV_DIMENSION_TEXTURE2D; + D3D12_DEPTH_STENCIL_VIEW_DESC dsvDesc = {}; + dsvDesc.Format = m_depthBufferFormat; + dsvDesc.ViewDimension = D3D12_DSV_DIMENSION_TEXTURE2D; - m_d3dDevice->CreateDepthStencilView(m_depthStencil.Get(), &dsvDesc, m_dsvDescriptorHeap->GetCPUDescriptorHandleForHeapStart()); + m_d3dDevice->CreateDepthStencilView(m_depthStencil.Get(), &dsvDesc, m_dsvDescriptorHeap->GetCPUDescriptorHandleForHeapStart()); + } // Set the 3D rendering viewport and scissor rectangle to target the entire window. m_screenViewport.TopLeftX = m_screenViewport.TopLeftY = 0.f; @@ -596,7 +624,7 @@ void DX::DeviceResources::GetAdapter(IDXGIAdapter1** ppAdapter) if (SUCCEEDED(D3D12CreateDevice(adapter.Get(), m_d3dMinFeatureLevel, _uuidof(ID3D12Device), nullptr))) { #ifdef _DEBUG - WCHAR buff[256] = {}; + wchar_t buff[256] = {}; swprintf_s(buff, L"Direct3D Adapter (%u): VID:%04X, PID:%04X - %ls\n", adapterIndex, desc.VendorId, desc.DeviceId, desc.Description); OutputDebugStringW(buff); #endif diff --git a/Samples/Graphics/SimpleTextureUWP12/DeviceResources.h b/Samples/IntroGraphics/SimpleTextureUWP12/DeviceResources.h similarity index 100% rename from Samples/Graphics/SimpleTextureUWP12/DeviceResources.h rename to Samples/IntroGraphics/SimpleTextureUWP12/DeviceResources.h diff --git a/Samples/Graphics/SimpleTextureUWP12/Main.cpp b/Samples/IntroGraphics/SimpleTextureUWP12/Main.cpp similarity index 100% rename from Samples/Graphics/SimpleTextureUWP12/Main.cpp rename to Samples/IntroGraphics/SimpleTextureUWP12/Main.cpp diff --git a/Samples/Graphics/SimpleTextureUWP12/Package.appxmanifest b/Samples/IntroGraphics/SimpleTextureUWP12/Package.appxmanifest similarity index 90% rename from Samples/Graphics/SimpleTextureUWP12/Package.appxmanifest rename to Samples/IntroGraphics/SimpleTextureUWP12/Package.appxmanifest index 9eed5b10..4722344f 100644 --- a/Samples/Graphics/SimpleTextureUWP12/Package.appxmanifest +++ b/Samples/IntroGraphics/SimpleTextureUWP12/Package.appxmanifest @@ -8,14 +8,14 @@ SimpleTextureUWP12 - chuckw + Xbox Advanced Technology Group Assets\StoreLogo.png diff --git a/Samples/Graphics/SimpleTextureUWP12/PixelShader.hlsl b/Samples/IntroGraphics/SimpleTextureUWP12/PixelShader.hlsl similarity index 100% rename from Samples/Graphics/SimpleTextureUWP12/PixelShader.hlsl rename to Samples/IntroGraphics/SimpleTextureUWP12/PixelShader.hlsl diff --git a/Samples/Graphics/SimpleTextureUWP12/Readme.docx b/Samples/IntroGraphics/SimpleTextureUWP12/Readme.docx similarity index 100% rename from Samples/Graphics/SimpleTextureUWP12/Readme.docx rename to Samples/IntroGraphics/SimpleTextureUWP12/Readme.docx diff --git a/Samples/Graphics/SimpleTextureUWP12/SimpleTextureUWP12.cpp b/Samples/IntroGraphics/SimpleTextureUWP12/SimpleTextureUWP12.cpp similarity index 100% rename from Samples/Graphics/SimpleTextureUWP12/SimpleTextureUWP12.cpp rename to Samples/IntroGraphics/SimpleTextureUWP12/SimpleTextureUWP12.cpp diff --git a/Samples/Graphics/SimpleTextureUWP12/SimpleTextureUWP12.h b/Samples/IntroGraphics/SimpleTextureUWP12/SimpleTextureUWP12.h similarity index 100% rename from Samples/Graphics/SimpleTextureUWP12/SimpleTextureUWP12.h rename to Samples/IntroGraphics/SimpleTextureUWP12/SimpleTextureUWP12.h diff --git a/Samples/Graphics/SimpleTextureUWP12/SimpleTextureUWP12.sln b/Samples/IntroGraphics/SimpleTextureUWP12/SimpleTextureUWP12.sln similarity index 100% rename from Samples/Graphics/SimpleTextureUWP12/SimpleTextureUWP12.sln rename to Samples/IntroGraphics/SimpleTextureUWP12/SimpleTextureUWP12.sln diff --git a/Samples/Graphics/SimpleTextureUWP12/SimpleTextureUWP12.vcxproj b/Samples/IntroGraphics/SimpleTextureUWP12/SimpleTextureUWP12.vcxproj similarity index 98% rename from Samples/Graphics/SimpleTextureUWP12/SimpleTextureUWP12.vcxproj rename to Samples/IntroGraphics/SimpleTextureUWP12/SimpleTextureUWP12.vcxproj index 70782439..c4dcdd44 100644 --- a/Samples/Graphics/SimpleTextureUWP12/SimpleTextureUWP12.vcxproj +++ b/Samples/IntroGraphics/SimpleTextureUWP12/SimpleTextureUWP12.vcxproj @@ -1,4 +1,4 @@ - + @@ -277,4 +277,4 @@ - + \ No newline at end of file diff --git a/Samples/Graphics/SimpleTextureUWP12/SimpleTextureUWP12.vcxproj.filters b/Samples/IntroGraphics/SimpleTextureUWP12/SimpleTextureUWP12.vcxproj.filters similarity index 100% rename from Samples/Graphics/SimpleTextureUWP12/SimpleTextureUWP12.vcxproj.filters rename to Samples/IntroGraphics/SimpleTextureUWP12/SimpleTextureUWP12.vcxproj.filters diff --git a/Samples/Graphics/SimpleTextureUWP12/SimpleTextureUWP12_TemporaryKey.pfx b/Samples/IntroGraphics/SimpleTextureUWP12/SimpleTextureUWP12_TemporaryKey.pfx similarity index 100% rename from Samples/Graphics/SimpleTextureUWP12/SimpleTextureUWP12_TemporaryKey.pfx rename to Samples/IntroGraphics/SimpleTextureUWP12/SimpleTextureUWP12_TemporaryKey.pfx diff --git a/Samples/IntroGraphics/SimpleTextureUWP12/StepTimer.h b/Samples/IntroGraphics/SimpleTextureUWP12/StepTimer.h new file mode 100644 index 00000000..e6f7acf5 --- /dev/null +++ b/Samples/IntroGraphics/SimpleTextureUWP12/StepTimer.h @@ -0,0 +1,188 @@ +// +// StepTimer.h - A simple timer that provides elapsed time information +// + +#pragma once + +#include +#include + +namespace DX +{ + // Helper class for animation and simulation timing. + class StepTimer + { + public: + StepTimer() : + m_elapsedTicks(0), + m_totalTicks(0), + m_leftOverTicks(0), + m_frameCount(0), + m_framesPerSecond(0), + m_framesThisSecond(0), + m_qpcSecondCounter(0), + m_isFixedTimeStep(false), + m_targetElapsedTicks(TicksPerSecond / 60) + { + if (!QueryPerformanceFrequency(&m_qpcFrequency)) + { + throw std::exception( "QueryPerformanceFrequency" ); + } + + if (!QueryPerformanceCounter(&m_qpcLastTime)) + { + throw std::exception( "QueryPerformanceCounter" ); + } + + // Initialize max delta to 1/10 of a second. + m_qpcMaxDelta = m_qpcFrequency.QuadPart / 10; + } + + // Get elapsed time since the previous Update call. + uint64_t GetElapsedTicks() const { return m_elapsedTicks; } + double GetElapsedSeconds() const { return TicksToSeconds(m_elapsedTicks); } + + // Get total time since the start of the program. + uint64_t GetTotalTicks() const { return m_totalTicks; } + double GetTotalSeconds() const { return TicksToSeconds(m_totalTicks); } + + // Get total number of updates since start of the program. + uint32_t GetFrameCount() const { return m_frameCount; } + + // Get the current framerate. + uint32_t GetFramesPerSecond() const { return m_framesPerSecond; } + + // Set whether to use fixed or variable timestep mode. + void SetFixedTimeStep(bool isFixedTimestep) { m_isFixedTimeStep = isFixedTimestep; } + + // Set how often to call Update when in fixed timestep mode. + void SetTargetElapsedTicks(uint64_t targetElapsed) { m_targetElapsedTicks = targetElapsed; } + void SetTargetElapsedSeconds(double targetElapsed) { m_targetElapsedTicks = SecondsToTicks(targetElapsed); } + + // Integer format represents time using 10,000,000 ticks per second. + static const uint64_t TicksPerSecond = 10000000; + + static double TicksToSeconds(uint64_t ticks) { return static_cast(ticks) / TicksPerSecond; } + static uint64_t SecondsToTicks(double seconds) { return static_cast(seconds * TicksPerSecond); } + + // After an intentional timing discontinuity (for instance a blocking IO operation) + // call this to avoid having the fixed timestep logic attempt a set of catch-up + // Update calls. + + void ResetElapsedTime() + { + if (!QueryPerformanceCounter(&m_qpcLastTime)) + { + throw std::exception("QueryPerformanceCounter"); + } + + m_leftOverTicks = 0; + m_framesPerSecond = 0; + m_framesThisSecond = 0; + m_qpcSecondCounter = 0; + } + + // Update timer state, calling the specified Update function the appropriate number of times. + template + void Tick(const TUpdate& update) + { + // Query the current time. + LARGE_INTEGER currentTime; + + if (!QueryPerformanceCounter(¤tTime)) + { + throw std::exception( "QueryPerformanceCounter" ); + } + + uint64_t timeDelta = currentTime.QuadPart - m_qpcLastTime.QuadPart; + + m_qpcLastTime = currentTime; + m_qpcSecondCounter += timeDelta; + + // Clamp excessively large time deltas (e.g. after paused in the debugger). + if (timeDelta > m_qpcMaxDelta) + { + timeDelta = m_qpcMaxDelta; + } + + // Convert QPC units into a canonical tick format. This cannot overflow due to the previous clamp. + timeDelta *= TicksPerSecond; + timeDelta /= m_qpcFrequency.QuadPart; + + uint32_t lastFrameCount = m_frameCount; + + if (m_isFixedTimeStep) + { + // Fixed timestep update logic + + // If the app is running very close to the target elapsed time (within 1/4 of a millisecond) just clamp + // the clock to exactly match the target value. This prevents tiny and irrelevant errors + // from accumulating over time. Without this clamping, a game that requested a 60 fps + // fixed update, running with vsync enabled on a 59.94 NTSC display, would eventually + // accumulate enough tiny errors that it would drop a frame. It is better to just round + // small deviations down to zero to leave things running smoothly. + + if (abs(static_cast(timeDelta - m_targetElapsedTicks)) < TicksPerSecond / 4000) + { + timeDelta = m_targetElapsedTicks; + } + + m_leftOverTicks += timeDelta; + + while (m_leftOverTicks >= m_targetElapsedTicks) + { + m_elapsedTicks = m_targetElapsedTicks; + m_totalTicks += m_targetElapsedTicks; + m_leftOverTicks -= m_targetElapsedTicks; + m_frameCount++; + + update(); + } + } + else + { + // Variable timestep update logic. + m_elapsedTicks = timeDelta; + m_totalTicks += timeDelta; + m_leftOverTicks = 0; + m_frameCount++; + + update(); + } + + // Track the current framerate. + if (m_frameCount != lastFrameCount) + { + m_framesThisSecond++; + } + + if (m_qpcSecondCounter >= static_cast(m_qpcFrequency.QuadPart)) + { + m_framesPerSecond = m_framesThisSecond; + m_framesThisSecond = 0; + m_qpcSecondCounter %= m_qpcFrequency.QuadPart; + } + } + + private: + // Source timing data uses QPC units. + LARGE_INTEGER m_qpcFrequency; + LARGE_INTEGER m_qpcLastTime; + uint64_t m_qpcMaxDelta; + + // Derived timing data uses a canonical tick format. + uint64_t m_elapsedTicks; + uint64_t m_totalTicks; + uint64_t m_leftOverTicks; + + // Members for tracking the framerate. + uint32_t m_frameCount; + uint32_t m_framesPerSecond; + uint32_t m_framesThisSecond; + uint64_t m_qpcSecondCounter; + + // Members for configuring fixed timestep mode. + bool m_isFixedTimeStep; + uint64_t m_targetElapsedTicks; + }; +} diff --git a/Samples/Graphics/SimpleTextureUWP12/VertexShader.hlsl b/Samples/IntroGraphics/SimpleTextureUWP12/VertexShader.hlsl similarity index 100% rename from Samples/Graphics/SimpleTextureUWP12/VertexShader.hlsl rename to Samples/IntroGraphics/SimpleTextureUWP12/VertexShader.hlsl diff --git a/Samples/Graphics/SimpleTextureUWP12/d3dx12.h b/Samples/IntroGraphics/SimpleTextureUWP12/d3dx12.h similarity index 100% rename from Samples/Graphics/SimpleTextureUWP12/d3dx12.h rename to Samples/IntroGraphics/SimpleTextureUWP12/d3dx12.h diff --git a/Samples/IntroGraphics/SimpleTextureUWP12/pch.cpp b/Samples/IntroGraphics/SimpleTextureUWP12/pch.cpp new file mode 100644 index 00000000..851c81be --- /dev/null +++ b/Samples/IntroGraphics/SimpleTextureUWP12/pch.cpp @@ -0,0 +1,10 @@ +//-------------------------------------------------------------------------------------- +// pch.cpp +// +// Include the standard header and generate the precompiled header. +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#include "pch.h" diff --git a/Samples/Graphics/SimpleTextureUWP12/pch.h b/Samples/IntroGraphics/SimpleTextureUWP12/pch.h similarity index 100% rename from Samples/Graphics/SimpleTextureUWP12/pch.h rename to Samples/IntroGraphics/SimpleTextureUWP12/pch.h diff --git a/Samples/IntroGraphics/SimpleTriangleUWP/Assets/Logo.png b/Samples/IntroGraphics/SimpleTriangleUWP/Assets/Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..6e7e704a106b99487be0f1eded426e6c5a2c65a9 GIT binary patch literal 39826 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 YA}aUbQ|(Go1_lNOPgg&ebxsLQ0HMvfUjP6A literal 0 HcmV?d00001 diff --git a/Samples/IntroGraphics/SimpleTriangleUWP/Assets/SmallLogo.png b/Samples/IntroGraphics/SimpleTriangleUWP/Assets/SmallLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..98b09d91991638282fc2426bbfd4a517733ff15a GIT binary patch literal 23704 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 QcF+-zp00i_>zopr0N0Pd_W%F@ literal 0 HcmV?d00001 diff --git a/Samples/IntroGraphics/SimpleTriangleUWP/Assets/SplashScreen.png b/Samples/IntroGraphics/SimpleTriangleUWP/Assets/SplashScreen.png new file mode 100644 index 0000000000000000000000000000000000000000..c352b156fd090a57aec7da81b3b19a3fb5888b43 GIT binary patch literal 26474 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 omdKI;Vst01?W$S^xk5 literal 0 HcmV?d00001 diff --git a/Samples/IntroGraphics/SimpleTriangleUWP/Assets/StoreLogo.png b/Samples/IntroGraphics/SimpleTriangleUWP/Assets/StoreLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..315472e10b9d380e509b2f041ea9ace5f994f5d2 GIT binary patch literal 24268 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 literal 0 HcmV?d00001 diff --git a/Samples/IntroGraphics/SimpleTriangleUWP/Assets/WideLogo.png b/Samples/IntroGraphics/SimpleTriangleUWP/Assets/WideLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..c70f68e2c59214e0ff54844ccd8ae5e955826e10 GIT binary patch literal 46540 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 literal 0 HcmV?d00001 diff --git a/Samples/IntroGraphics/SimpleTriangleUWP/DeviceResources.cpp b/Samples/IntroGraphics/SimpleTriangleUWP/DeviceResources.cpp new file mode 100644 index 00000000..d549f821 --- /dev/null +++ b/Samples/IntroGraphics/SimpleTriangleUWP/DeviceResources.cpp @@ -0,0 +1,592 @@ +// +// DeviceResources.cpp - A wrapper for the Direct3D 11 device and swapchain +// (requires DirectX 11.3 Runtime) +// + + +#include "pch.h" +#include "DeviceResources.h" + +using namespace DirectX; + +using Microsoft::WRL::ComPtr; + +namespace +{ +#if defined(_DEBUG) + // Check for SDK Layer support. + inline bool SdkLayersAvailable() + { + HRESULT hr = D3D11CreateDevice( + nullptr, + D3D_DRIVER_TYPE_NULL, // There is no need to create a real hardware device. + 0, + D3D11_CREATE_DEVICE_DEBUG, // Check for the SDK layers. + nullptr, // Any feature level will do. + 0, + D3D11_SDK_VERSION, + nullptr, // No need to keep the D3D device reference. + nullptr, // No need to know the feature level. + nullptr // No need to keep the D3D device context reference. + ); + + return SUCCEEDED(hr); + } +#endif + + inline DXGI_FORMAT NoSRGB(DXGI_FORMAT fmt) + { + switch (fmt) + { + case DXGI_FORMAT_R8G8B8A8_UNORM_SRGB: return DXGI_FORMAT_R8G8B8A8_UNORM; + case DXGI_FORMAT_B8G8R8A8_UNORM_SRGB: return DXGI_FORMAT_B8G8R8A8_UNORM; + case DXGI_FORMAT_B8G8R8X8_UNORM_SRGB: return DXGI_FORMAT_B8G8R8X8_UNORM; + default: return fmt; + } + } +}; + +// Constants used to calculate screen rotations +namespace ScreenRotation +{ + // 0-degree Z-rotation + static const XMFLOAT4X4 Rotation0( + 1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 1.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f + ); + + // 90-degree Z-rotation + static const XMFLOAT4X4 Rotation90( + 0.0f, 1.0f, 0.0f, 0.0f, + -1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f + ); + + // 180-degree Z-rotation + static const XMFLOAT4X4 Rotation180( + -1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, -1.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f + ); + + // 270-degree Z-rotation + static const XMFLOAT4X4 Rotation270( + 0.0f, -1.0f, 0.0f, 0.0f, + 1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f + ); +}; + +// Constructor for DeviceResources. +DX::DeviceResources::DeviceResources(DXGI_FORMAT backBufferFormat, DXGI_FORMAT depthBufferFormat, UINT backBufferCount, D3D_FEATURE_LEVEL minFeatureLevel) : + m_screenViewport{}, + m_backBufferFormat(backBufferFormat), + m_depthBufferFormat(depthBufferFormat), + m_backBufferCount(backBufferCount), + m_d3dMinFeatureLevel(minFeatureLevel), + m_window(nullptr), + m_d3dFeatureLevel(D3D_FEATURE_LEVEL_9_1), + m_rotation(DXGI_MODE_ROTATION_IDENTITY), + m_outputSize{0, 0, 1, 1}, + m_orientationTransform3D(ScreenRotation::Rotation0), + m_deviceNotify(nullptr) +{ +} + +// Configures the Direct3D device, and stores handles to it and the device context. +void DX::DeviceResources::CreateDeviceResources() +{ + UINT creationFlags = D3D11_CREATE_DEVICE_BGRA_SUPPORT; + +#if defined(_DEBUG) + if (SdkLayersAvailable()) + { + // If the project is in a debug build, enable debugging via SDK Layers with this flag. + creationFlags |= D3D11_CREATE_DEVICE_DEBUG; + } + else + { + OutputDebugStringA("WARNING: Direct3D Debug Device is not available\n"); + } +#endif + + // Determine DirectX hardware feature levels this app will support. + static const D3D_FEATURE_LEVEL s_featureLevels[] = + { + D3D_FEATURE_LEVEL_12_1, + D3D_FEATURE_LEVEL_12_0, + D3D_FEATURE_LEVEL_11_1, + D3D_FEATURE_LEVEL_11_0, + D3D_FEATURE_LEVEL_10_1, + D3D_FEATURE_LEVEL_10_0, + D3D_FEATURE_LEVEL_9_3, + D3D_FEATURE_LEVEL_9_2, + D3D_FEATURE_LEVEL_9_1, + }; + + UINT featLevelCount = 0; + for (; featLevelCount < _countof(s_featureLevels); ++featLevelCount) + { + if (s_featureLevels[featLevelCount] < m_d3dMinFeatureLevel) + break; + } + + if (!featLevelCount) + { + throw std::out_of_range("minFeatureLevel too high"); + } + + ComPtr adapter; + GetHardwareAdapter(adapter.GetAddressOf()); + + // Create the Direct3D 11 API device object and a corresponding context. + ComPtr device; + ComPtr context; + + HRESULT hr = E_FAIL; + if (adapter) + { + hr = D3D11CreateDevice( + adapter.Get(), + D3D_DRIVER_TYPE_UNKNOWN, + 0, + creationFlags, // Set debug and Direct2D compatibility flags. + s_featureLevels, + featLevelCount, + D3D11_SDK_VERSION, + device.GetAddressOf(), // Returns the Direct3D device created. + &m_d3dFeatureLevel, // Returns feature level of device created. + context.GetAddressOf() // Returns the device immediate context. + ); + } +#if defined(NDEBUG) + else + { + throw std::exception("No Direct3D hardware device found"); + } +#else + if (FAILED(hr)) + { + // If the initialization fails, fall back to the WARP device. + // For more information on WARP, see: + // http://go.microsoft.com/fwlink/?LinkId=286690 + hr = D3D11CreateDevice( + nullptr, + D3D_DRIVER_TYPE_WARP, // Create a WARP device instead of a hardware device. + 0, + creationFlags, + s_featureLevels, + featLevelCount, + D3D11_SDK_VERSION, + device.GetAddressOf(), + &m_d3dFeatureLevel, + context.GetAddressOf() + ); + + if (SUCCEEDED(hr)) + { + OutputDebugStringA("Direct3D Adapter - WARP\n"); + } + } +#endif + + DX::ThrowIfFailed(hr); + +#ifndef NDEBUG + ComPtr d3dDebug; + if (SUCCEEDED(device.As(&d3dDebug))) + { + ComPtr d3dInfoQueue; + if (SUCCEEDED(d3dDebug.As(&d3dInfoQueue))) + { +#ifdef _DEBUG + d3dInfoQueue->SetBreakOnSeverity(D3D11_MESSAGE_SEVERITY_CORRUPTION, true); + d3dInfoQueue->SetBreakOnSeverity(D3D11_MESSAGE_SEVERITY_ERROR, true); +#endif + D3D11_MESSAGE_ID hide[] = + { + D3D11_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS, + }; + D3D11_INFO_QUEUE_FILTER filter = {}; + filter.DenyList.NumIDs = _countof(hide); + filter.DenyList.pIDList = hide; + d3dInfoQueue->AddStorageFilterEntries(&filter); + } + } +#endif + + DX::ThrowIfFailed(device.As(&m_d3dDevice)); + DX::ThrowIfFailed(context.As(&m_d3dContext)); +} + +// These resources need to be recreated every time the window size is changed. +void DX::DeviceResources::CreateWindowSizeDependentResources() +{ + if (!m_window) + { + throw std::exception("Call SetWindow with a valid CoreWindow pointer"); + } + + // Clear the previous window size specific context. + ID3D11RenderTargetView* nullViews[] = {nullptr}; + m_d3dContext->OMSetRenderTargets(_countof(nullViews), nullViews, nullptr); + m_d3dRenderTargetView.Reset(); + m_d3dDepthStencilView.Reset(); + m_d3dContext->Flush(); + + // Determine the render target size in pixels. + UINT backBufferWidth = std::max(m_outputSize.right - m_outputSize.left, 1); + UINT backBufferHeight = std::max(m_outputSize.bottom - m_outputSize.top, 1); + DXGI_FORMAT backBufferFormat = NoSRGB(m_backBufferFormat); + + if (m_swapChain) + { + // If the swap chain already exists, resize it. + HRESULT hr = m_swapChain->ResizeBuffers( + m_backBufferCount, + backBufferWidth, + backBufferHeight, + backBufferFormat, + 0 + ); + + if (hr == DXGI_ERROR_DEVICE_REMOVED || hr == DXGI_ERROR_DEVICE_RESET) + { +#ifdef _DEBUG + char buff[64] = {}; + sprintf_s(buff, "Device Lost on ResizeBuffers: Reason code 0x%08X\n", (hr == DXGI_ERROR_DEVICE_REMOVED) ? m_d3dDevice->GetDeviceRemovedReason() : hr); + OutputDebugStringA(buff); +#endif + // If the device was removed for any reason, a new device and swap chain will need to be created. + HandleDeviceLost(); + + // Everything is set up now. Do not continue execution of this method. HandleDeviceLost will reenter this method + // and correctly set up the new device. + return; + } + else + { + DX::ThrowIfFailed(hr); + } + } + else + { + // Otherwise, create a new one using the same adapter as the existing Direct3D device. + + // This sequence obtains the DXGI factory that was used to create the Direct3D device above. + ComPtr dxgiDevice; + DX::ThrowIfFailed(m_d3dDevice.As(&dxgiDevice)); + + ComPtr dxgiAdapter; + DX::ThrowIfFailed(dxgiDevice->GetAdapter(dxgiAdapter.GetAddressOf())); + + ComPtr dxgiFactory; + DX::ThrowIfFailed(dxgiAdapter->GetParent(IID_PPV_ARGS(dxgiFactory.GetAddressOf()))); + + DXGI_SWAP_CHAIN_DESC1 swapChainDesc = {}; + swapChainDesc.Width = backBufferWidth; + swapChainDesc.Height = backBufferHeight; + swapChainDesc.Format = backBufferFormat; + swapChainDesc.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT; + swapChainDesc.BufferCount = m_backBufferCount; + swapChainDesc.SampleDesc.Count = 1; + swapChainDesc.SampleDesc.Quality = 0; + swapChainDesc.Scaling = DXGI_SCALING_ASPECT_RATIO_STRETCH; + swapChainDesc.SwapEffect = DXGI_SWAP_EFFECT_FLIP_DISCARD; + swapChainDesc.AlphaMode = DXGI_ALPHA_MODE_IGNORE; + + ComPtr swapChain; + DX::ThrowIfFailed(dxgiFactory->CreateSwapChainForCoreWindow( + m_d3dDevice.Get(), + m_window, + &swapChainDesc, + nullptr, + swapChain.GetAddressOf() + )); + + DX::ThrowIfFailed(swapChain.As(&m_swapChain)); + + // Ensure that DXGI does not queue more than one frame at a time. This both reduces latency and + // ensures that the application will only render after each VSync, minimizing power consumption. + DX::ThrowIfFailed(dxgiDevice->SetMaximumFrameLatency(1)); + } + + // Set the proper orientation for the swap chain, and generate + // matrix transformations for rendering to the rotated swap chain. + switch (m_rotation) + { + default: + case DXGI_MODE_ROTATION_IDENTITY: + m_orientationTransform3D = ScreenRotation::Rotation0; + break; + + case DXGI_MODE_ROTATION_ROTATE90: + m_orientationTransform3D = ScreenRotation::Rotation270; + break; + + case DXGI_MODE_ROTATION_ROTATE180: + m_orientationTransform3D = ScreenRotation::Rotation180; + break; + + case DXGI_MODE_ROTATION_ROTATE270: + m_orientationTransform3D = ScreenRotation::Rotation90; + break; + } + + DX::ThrowIfFailed(m_swapChain->SetRotation(m_rotation)); + + // Create a render target view of the swap chain back buffer. + ComPtr backBuffer; + DX::ThrowIfFailed(m_swapChain->GetBuffer(0, IID_PPV_ARGS(backBuffer.GetAddressOf()))); + + CD3D11_RENDER_TARGET_VIEW_DESC renderTargetViewDesc(D3D11_RTV_DIMENSION_TEXTURE2D, m_backBufferFormat); + DX::ThrowIfFailed(m_d3dDevice->CreateRenderTargetView( + backBuffer.Get(), + &renderTargetViewDesc, + m_d3dRenderTargetView.ReleaseAndGetAddressOf() + )); + + if (m_depthBufferFormat != DXGI_FORMAT_UNKNOWN) + { + // Create a depth stencil view for use with 3D rendering if needed. + CD3D11_TEXTURE2D_DESC depthStencilDesc( + m_depthBufferFormat, + backBufferWidth, + backBufferHeight, + 1, // This depth stencil view has only one texture. + 1, // Use a single mipmap level. + D3D11_BIND_DEPTH_STENCIL + ); + + ComPtr depthStencil; + DX::ThrowIfFailed(m_d3dDevice->CreateTexture2D( + &depthStencilDesc, + nullptr, + depthStencil.GetAddressOf() + )); + + CD3D11_DEPTH_STENCIL_VIEW_DESC depthStencilViewDesc(D3D11_DSV_DIMENSION_TEXTURE2D); + DX::ThrowIfFailed(m_d3dDevice->CreateDepthStencilView( + depthStencil.Get(), + &depthStencilViewDesc, + m_d3dDepthStencilView.ReleaseAndGetAddressOf() + )); + } + + // Set the 3D rendering viewport to target the entire window. + m_screenViewport = CD3D11_VIEWPORT( + 0.0f, + 0.0f, + static_cast(backBufferWidth), + static_cast(backBufferHeight) + ); +} + +// This method is called when the CoreWindow is created (or re-created). +void DX::DeviceResources::SetWindow(IUnknown* window, int width, int height, DXGI_MODE_ROTATION rotation) +{ + m_window = window; + + m_outputSize.left = m_outputSize.top = 0; + m_outputSize.right = width; + m_outputSize.bottom = height; + + m_rotation = rotation; +} + +// This method is called when the window changes size +bool DX::DeviceResources::WindowSizeChanged(int width, int height, DXGI_MODE_ROTATION rotation) +{ + RECT newRc; + newRc.left = newRc.top = 0; + newRc.right = width; + newRc.bottom = height; + if (newRc == m_outputSize && rotation == m_rotation) + { + return false; + } + + m_outputSize = newRc; + m_rotation = rotation; + CreateWindowSizeDependentResources(); + return true; +} + +// This method is called in the event handler for the DisplayContentsInvalidated event. +void DX::DeviceResources::ValidateDevice() +{ + // The D3D Device is no longer valid if the default adapter changed since the device + // was created or if the device has been removed. + + DXGI_ADAPTER_DESC previousDesc; + { + ComPtr dxgiDevice; + DX::ThrowIfFailed(m_d3dDevice.As(&dxgiDevice)); + + ComPtr deviceAdapter; + DX::ThrowIfFailed(dxgiDevice->GetAdapter(deviceAdapter.GetAddressOf())); + + ComPtr deviceFactory; + DX::ThrowIfFailed(deviceAdapter->GetParent(IID_PPV_ARGS(deviceFactory.GetAddressOf()))); + + ComPtr previousDefaultAdapter; + DX::ThrowIfFailed(deviceFactory->EnumAdapters1(0, previousDefaultAdapter.GetAddressOf())); + + DX::ThrowIfFailed(previousDefaultAdapter->GetDesc(&previousDesc)); + } + + DXGI_ADAPTER_DESC currentDesc; + { + ComPtr currentFactory; + DX::ThrowIfFailed(CreateDXGIFactory1(IID_PPV_ARGS(currentFactory.GetAddressOf()))); + + ComPtr currentDefaultAdapter; + DX::ThrowIfFailed(currentFactory->EnumAdapters1(0, currentDefaultAdapter.GetAddressOf())); + + DX::ThrowIfFailed(currentDefaultAdapter->GetDesc(¤tDesc)); + } + + // If the adapter LUIDs don't match, or if the device reports that it has been removed, + // a new D3D device must be created. + + if (previousDesc.AdapterLuid.LowPart != currentDesc.AdapterLuid.LowPart + || previousDesc.AdapterLuid.HighPart != currentDesc.AdapterLuid.HighPart + || FAILED(m_d3dDevice->GetDeviceRemovedReason())) + { +#ifdef _DEBUG + OutputDebugStringA("Device Lost on ValidateDevice\n"); +#endif + + // Create a new device and swap chain. + HandleDeviceLost(); + } +} + +// Recreate all device resources and set them back to the current state. +void DX::DeviceResources::HandleDeviceLost() +{ + if (m_deviceNotify) + { + m_deviceNotify->OnDeviceLost(); + } + + m_d3dDepthStencilView.Reset(); + m_d3dRenderTargetView.Reset(); + m_swapChain.Reset(); + m_d3dContext.Reset(); + m_d3dDevice.Reset(); + +#ifdef _DEBUG + { + ComPtr dxgiDebug; + if (SUCCEEDED(DXGIGetDebugInterface1(0, IID_PPV_ARGS(&dxgiDebug)))) + { + dxgiDebug->ReportLiveObjects(DXGI_DEBUG_ALL, DXGI_DEBUG_RLO_FLAGS(DXGI_DEBUG_RLO_SUMMARY | DXGI_DEBUG_RLO_IGNORE_INTERNAL)); + } + } +#endif + + CreateDeviceResources(); + CreateWindowSizeDependentResources(); + + if (m_deviceNotify) + { + m_deviceNotify->OnDeviceRestored(); + } +} + +// Call this method when the app suspends. It provides a hint to the driver that the app +// is entering an idle state and that temporary buffers can be reclaimed for use by other apps. +void DX::DeviceResources::Trim() +{ + ComPtr dxgiDevice; + if (SUCCEEDED(m_d3dDevice.As(&dxgiDevice))) + { + dxgiDevice->Trim(); + } +} + +// Present the contents of the swap chain to the screen. +void DX::DeviceResources::Present() +{ + // The first argument instructs DXGI to block until VSync, putting the application + // to sleep until the next VSync. This ensures we don't waste any cycles rendering + // frames that will never be displayed to the screen. + HRESULT hr = m_swapChain->Present(1, 0); + + // Discard the contents of the render target. + // This is a valid operation only when the existing contents will be entirely + // overwritten. If dirty or scroll rects are used, this call should be removed. + m_d3dContext->DiscardView(m_d3dRenderTargetView.Get()); + + if (m_d3dDepthStencilView) + { + // Discard the contents of the depth stencil. + m_d3dContext->DiscardView(m_d3dDepthStencilView.Get()); + } + + // If the device was removed either by a disconnection or a driver upgrade, we + // must recreate all device resources. + if (hr == DXGI_ERROR_DEVICE_REMOVED || hr == DXGI_ERROR_DEVICE_RESET) + { +#ifdef _DEBUG + char buff[64] = {}; + sprintf_s(buff, "Device Lost on Present: Reason code 0x%08X\n", (hr == DXGI_ERROR_DEVICE_REMOVED) ? m_d3dDevice->GetDeviceRemovedReason() : hr); + OutputDebugStringA(buff); +#endif + HandleDeviceLost(); + } + else + { + DX::ThrowIfFailed(hr); + } +} + +// This method acquires the first available hardware adapter. +// If no such adapter can be found, *ppAdapter will be set to nullptr. +void DX::DeviceResources::GetHardwareAdapter(IDXGIAdapter1** ppAdapter) +{ + *ppAdapter = nullptr; + + ComPtr dxgiFactory; +#ifdef _DEBUG + UINT creationFlags = 0; + + if (SdkLayersAvailable()) + { + creationFlags |= DXGI_CREATE_FACTORY_DEBUG; + } + + DX::ThrowIfFailed(CreateDXGIFactory2(creationFlags, IID_PPV_ARGS(dxgiFactory.GetAddressOf()))); +#else + DX::ThrowIfFailed(CreateDXGIFactory1(IID_PPV_ARGS(dxgiFactory.GetAddressOf()))); +#endif + + ComPtr adapter; + for (UINT adapterIndex = 0; DXGI_ERROR_NOT_FOUND != dxgiFactory->EnumAdapters1(adapterIndex, adapter.ReleaseAndGetAddressOf()); adapterIndex++) + { + DXGI_ADAPTER_DESC1 desc; + adapter->GetDesc1(&desc); + + if (desc.Flags & DXGI_ADAPTER_FLAG_SOFTWARE) + { + // Don't select the Basic Render Driver adapter. + continue; + } + +#ifdef _DEBUG + wchar_t buff[256] = {}; + swprintf_s(buff, L"Direct3D Adapter (%u): VID:%04X, PID:%04X - %ls\n", adapterIndex, desc.VendorId, desc.DeviceId, desc.Description); + OutputDebugStringW(buff); +#endif + + break; + } + + *ppAdapter = adapter.Detach(); +} \ No newline at end of file diff --git a/Samples/IntroGraphics/SimpleTriangleUWP/DeviceResources.h b/Samples/IntroGraphics/SimpleTriangleUWP/DeviceResources.h new file mode 100644 index 00000000..1da562ca --- /dev/null +++ b/Samples/IntroGraphics/SimpleTriangleUWP/DeviceResources.h @@ -0,0 +1,83 @@ +// +// DeviceResources.h - A wrapper for the Direct3D 11 device and swapchain +// + +#pragma once + +namespace DX +{ + // Provides an interface for an application that owns DeviceResources to be notified of the device being lost or created. + interface IDeviceNotify + { + virtual void OnDeviceLost() = 0; + virtual void OnDeviceRestored() = 0; + }; + + // Controls all the DirectX device resources. + class DeviceResources + { + public: + DeviceResources(DXGI_FORMAT backBufferFormat = DXGI_FORMAT_B8G8R8A8_UNORM, + DXGI_FORMAT depthBufferFormat = DXGI_FORMAT_D24_UNORM_S8_UINT, + UINT backBufferCount = 2, + D3D_FEATURE_LEVEL minFeatureLevel = D3D_FEATURE_LEVEL_9_3); + + void CreateDeviceResources(); + void CreateWindowSizeDependentResources(); + void SetWindow(IUnknown* window, int width, int height, DXGI_MODE_ROTATION rotation); + bool WindowSizeChanged(int width, int height, DXGI_MODE_ROTATION rotation); + void ValidateDevice(); + void HandleDeviceLost(); + void RegisterDeviceNotify(IDeviceNotify* deviceNotify) { m_deviceNotify = deviceNotify; } + void Trim(); + void Present(); + + // Device Accessors. + RECT GetOutputSize() const { return m_outputSize; } + DXGI_MODE_ROTATION GetRotation() const { return m_rotation; } + + // Direct3D Accessors. + ID3D11Device2* GetD3DDevice() const { return m_d3dDevice.Get(); } + ID3D11DeviceContext2* GetD3DDeviceContext() const { return m_d3dContext.Get(); } + IDXGISwapChain3* GetSwapChain() const { return m_swapChain.Get(); } + D3D_FEATURE_LEVEL GetDeviceFeatureLevel() const { return m_d3dFeatureLevel; } + ID3D11RenderTargetView* GetBackBufferRenderTargetView() const { return m_d3dRenderTargetView.Get(); } + ID3D11DepthStencilView* GetDepthStencilView() const { return m_d3dDepthStencilView.Get(); } + DXGI_FORMAT GetBackBufferFormat() const { return m_backBufferFormat; } + DXGI_FORMAT GetDepthBufferFormat() const { return m_depthBufferFormat; } + D3D11_VIEWPORT GetScreenViewport() const { return m_screenViewport; } + UINT GetBackBufferCount() const { return m_backBufferCount; } + DirectX::XMFLOAT4X4 GetOrientationTransform3D() const { return m_orientationTransform3D; } + + private: + void GetHardwareAdapter(IDXGIAdapter1** ppAdapter); + + // Direct3D objects. + Microsoft::WRL::ComPtr m_d3dDevice; + Microsoft::WRL::ComPtr m_d3dContext; + Microsoft::WRL::ComPtr m_swapChain; + + // Direct3D rendering objects. Required for 3D. + Microsoft::WRL::ComPtr m_d3dRenderTargetView; + Microsoft::WRL::ComPtr m_d3dDepthStencilView; + D3D11_VIEWPORT m_screenViewport; + + // Direct3D properties. + DXGI_FORMAT m_backBufferFormat; + DXGI_FORMAT m_depthBufferFormat; + UINT m_backBufferCount; + D3D_FEATURE_LEVEL m_d3dMinFeatureLevel; + + // Cached device properties. + IUnknown* m_window; + D3D_FEATURE_LEVEL m_d3dFeatureLevel; + DXGI_MODE_ROTATION m_rotation; + RECT m_outputSize; + + // Transforms used for display orientation. + DirectX::XMFLOAT4X4 m_orientationTransform3D; + + // The IDeviceNotify can be held directly as it owns the DeviceResources. + IDeviceNotify* m_deviceNotify; + }; +} \ No newline at end of file diff --git a/Samples/Graphics/SimpleTriangleUWP/Main.cpp b/Samples/IntroGraphics/SimpleTriangleUWP/Main.cpp similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP/Main.cpp rename to Samples/IntroGraphics/SimpleTriangleUWP/Main.cpp diff --git a/Samples/Graphics/SimpleTriangleUWP/Package.appxmanifest b/Samples/IntroGraphics/SimpleTriangleUWP/Package.appxmanifest similarity index 90% rename from Samples/Graphics/SimpleTriangleUWP/Package.appxmanifest rename to Samples/IntroGraphics/SimpleTriangleUWP/Package.appxmanifest index a1d9dfe0..1fb6cc1f 100644 --- a/Samples/Graphics/SimpleTriangleUWP/Package.appxmanifest +++ b/Samples/IntroGraphics/SimpleTriangleUWP/Package.appxmanifest @@ -8,14 +8,14 @@ SimpleTriangleUWP - chuckw + Xbox Advanced Technology Group Assets\StoreLogo.png diff --git a/Samples/Graphics/SimpleTriangleUWP/PixelShader.hlsl b/Samples/IntroGraphics/SimpleTriangleUWP/PixelShader.hlsl similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP/PixelShader.hlsl rename to Samples/IntroGraphics/SimpleTriangleUWP/PixelShader.hlsl diff --git a/Samples/Graphics/SimpleTriangleUWP/Readme.docx b/Samples/IntroGraphics/SimpleTriangleUWP/Readme.docx similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP/Readme.docx rename to Samples/IntroGraphics/SimpleTriangleUWP/Readme.docx diff --git a/Samples/Graphics/SimpleTriangleUWP/SimpleTriangleUWP.cpp b/Samples/IntroGraphics/SimpleTriangleUWP/SimpleTriangleUWP.cpp similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP/SimpleTriangleUWP.cpp rename to Samples/IntroGraphics/SimpleTriangleUWP/SimpleTriangleUWP.cpp diff --git a/Samples/Graphics/SimpleTriangleUWP/SimpleTriangleUWP.h b/Samples/IntroGraphics/SimpleTriangleUWP/SimpleTriangleUWP.h similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP/SimpleTriangleUWP.h rename to Samples/IntroGraphics/SimpleTriangleUWP/SimpleTriangleUWP.h diff --git a/Samples/Graphics/SimpleTriangleUWP/SimpleTriangleUWP.sln b/Samples/IntroGraphics/SimpleTriangleUWP/SimpleTriangleUWP.sln similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP/SimpleTriangleUWP.sln rename to Samples/IntroGraphics/SimpleTriangleUWP/SimpleTriangleUWP.sln diff --git a/Samples/Graphics/SimpleTriangleUWP/SimpleTriangleUWP.vcxproj b/Samples/IntroGraphics/SimpleTriangleUWP/SimpleTriangleUWP.vcxproj similarity index 98% rename from Samples/Graphics/SimpleTriangleUWP/SimpleTriangleUWP.vcxproj rename to Samples/IntroGraphics/SimpleTriangleUWP/SimpleTriangleUWP.vcxproj index 0ca06fc6..c627a194 100644 --- a/Samples/Graphics/SimpleTriangleUWP/SimpleTriangleUWP.vcxproj +++ b/Samples/IntroGraphics/SimpleTriangleUWP/SimpleTriangleUWP.vcxproj @@ -1,4 +1,4 @@ - + @@ -275,4 +275,4 @@ - + \ No newline at end of file diff --git a/Samples/Graphics/SimpleTriangleUWP/SimpleTriangleUWP.vcxproj.filters b/Samples/IntroGraphics/SimpleTriangleUWP/SimpleTriangleUWP.vcxproj.filters similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP/SimpleTriangleUWP.vcxproj.filters rename to Samples/IntroGraphics/SimpleTriangleUWP/SimpleTriangleUWP.vcxproj.filters diff --git a/Samples/Graphics/SimpleTriangleUWP/SimpleTriangleUWP_TemporaryKey.pfx b/Samples/IntroGraphics/SimpleTriangleUWP/SimpleTriangleUWP_TemporaryKey.pfx similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP/SimpleTriangleUWP_TemporaryKey.pfx rename to Samples/IntroGraphics/SimpleTriangleUWP/SimpleTriangleUWP_TemporaryKey.pfx diff --git a/Samples/IntroGraphics/SimpleTriangleUWP/StepTimer.h b/Samples/IntroGraphics/SimpleTriangleUWP/StepTimer.h new file mode 100644 index 00000000..e6f7acf5 --- /dev/null +++ b/Samples/IntroGraphics/SimpleTriangleUWP/StepTimer.h @@ -0,0 +1,188 @@ +// +// StepTimer.h - A simple timer that provides elapsed time information +// + +#pragma once + +#include +#include + +namespace DX +{ + // Helper class for animation and simulation timing. + class StepTimer + { + public: + StepTimer() : + m_elapsedTicks(0), + m_totalTicks(0), + m_leftOverTicks(0), + m_frameCount(0), + m_framesPerSecond(0), + m_framesThisSecond(0), + m_qpcSecondCounter(0), + m_isFixedTimeStep(false), + m_targetElapsedTicks(TicksPerSecond / 60) + { + if (!QueryPerformanceFrequency(&m_qpcFrequency)) + { + throw std::exception( "QueryPerformanceFrequency" ); + } + + if (!QueryPerformanceCounter(&m_qpcLastTime)) + { + throw std::exception( "QueryPerformanceCounter" ); + } + + // Initialize max delta to 1/10 of a second. + m_qpcMaxDelta = m_qpcFrequency.QuadPart / 10; + } + + // Get elapsed time since the previous Update call. + uint64_t GetElapsedTicks() const { return m_elapsedTicks; } + double GetElapsedSeconds() const { return TicksToSeconds(m_elapsedTicks); } + + // Get total time since the start of the program. + uint64_t GetTotalTicks() const { return m_totalTicks; } + double GetTotalSeconds() const { return TicksToSeconds(m_totalTicks); } + + // Get total number of updates since start of the program. + uint32_t GetFrameCount() const { return m_frameCount; } + + // Get the current framerate. + uint32_t GetFramesPerSecond() const { return m_framesPerSecond; } + + // Set whether to use fixed or variable timestep mode. + void SetFixedTimeStep(bool isFixedTimestep) { m_isFixedTimeStep = isFixedTimestep; } + + // Set how often to call Update when in fixed timestep mode. + void SetTargetElapsedTicks(uint64_t targetElapsed) { m_targetElapsedTicks = targetElapsed; } + void SetTargetElapsedSeconds(double targetElapsed) { m_targetElapsedTicks = SecondsToTicks(targetElapsed); } + + // Integer format represents time using 10,000,000 ticks per second. + static const uint64_t TicksPerSecond = 10000000; + + static double TicksToSeconds(uint64_t ticks) { return static_cast(ticks) / TicksPerSecond; } + static uint64_t SecondsToTicks(double seconds) { return static_cast(seconds * TicksPerSecond); } + + // After an intentional timing discontinuity (for instance a blocking IO operation) + // call this to avoid having the fixed timestep logic attempt a set of catch-up + // Update calls. + + void ResetElapsedTime() + { + if (!QueryPerformanceCounter(&m_qpcLastTime)) + { + throw std::exception("QueryPerformanceCounter"); + } + + m_leftOverTicks = 0; + m_framesPerSecond = 0; + m_framesThisSecond = 0; + m_qpcSecondCounter = 0; + } + + // Update timer state, calling the specified Update function the appropriate number of times. + template + void Tick(const TUpdate& update) + { + // Query the current time. + LARGE_INTEGER currentTime; + + if (!QueryPerformanceCounter(¤tTime)) + { + throw std::exception( "QueryPerformanceCounter" ); + } + + uint64_t timeDelta = currentTime.QuadPart - m_qpcLastTime.QuadPart; + + m_qpcLastTime = currentTime; + m_qpcSecondCounter += timeDelta; + + // Clamp excessively large time deltas (e.g. after paused in the debugger). + if (timeDelta > m_qpcMaxDelta) + { + timeDelta = m_qpcMaxDelta; + } + + // Convert QPC units into a canonical tick format. This cannot overflow due to the previous clamp. + timeDelta *= TicksPerSecond; + timeDelta /= m_qpcFrequency.QuadPart; + + uint32_t lastFrameCount = m_frameCount; + + if (m_isFixedTimeStep) + { + // Fixed timestep update logic + + // If the app is running very close to the target elapsed time (within 1/4 of a millisecond) just clamp + // the clock to exactly match the target value. This prevents tiny and irrelevant errors + // from accumulating over time. Without this clamping, a game that requested a 60 fps + // fixed update, running with vsync enabled on a 59.94 NTSC display, would eventually + // accumulate enough tiny errors that it would drop a frame. It is better to just round + // small deviations down to zero to leave things running smoothly. + + if (abs(static_cast(timeDelta - m_targetElapsedTicks)) < TicksPerSecond / 4000) + { + timeDelta = m_targetElapsedTicks; + } + + m_leftOverTicks += timeDelta; + + while (m_leftOverTicks >= m_targetElapsedTicks) + { + m_elapsedTicks = m_targetElapsedTicks; + m_totalTicks += m_targetElapsedTicks; + m_leftOverTicks -= m_targetElapsedTicks; + m_frameCount++; + + update(); + } + } + else + { + // Variable timestep update logic. + m_elapsedTicks = timeDelta; + m_totalTicks += timeDelta; + m_leftOverTicks = 0; + m_frameCount++; + + update(); + } + + // Track the current framerate. + if (m_frameCount != lastFrameCount) + { + m_framesThisSecond++; + } + + if (m_qpcSecondCounter >= static_cast(m_qpcFrequency.QuadPart)) + { + m_framesPerSecond = m_framesThisSecond; + m_framesThisSecond = 0; + m_qpcSecondCounter %= m_qpcFrequency.QuadPart; + } + } + + private: + // Source timing data uses QPC units. + LARGE_INTEGER m_qpcFrequency; + LARGE_INTEGER m_qpcLastTime; + uint64_t m_qpcMaxDelta; + + // Derived timing data uses a canonical tick format. + uint64_t m_elapsedTicks; + uint64_t m_totalTicks; + uint64_t m_leftOverTicks; + + // Members for tracking the framerate. + uint32_t m_frameCount; + uint32_t m_framesPerSecond; + uint32_t m_framesThisSecond; + uint64_t m_qpcSecondCounter; + + // Members for configuring fixed timestep mode. + bool m_isFixedTimeStep; + uint64_t m_targetElapsedTicks; + }; +} diff --git a/Samples/Graphics/SimpleTriangleUWP/VertexShader.hlsl b/Samples/IntroGraphics/SimpleTriangleUWP/VertexShader.hlsl similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP/VertexShader.hlsl rename to Samples/IntroGraphics/SimpleTriangleUWP/VertexShader.hlsl diff --git a/Samples/IntroGraphics/SimpleTriangleUWP/pch.cpp b/Samples/IntroGraphics/SimpleTriangleUWP/pch.cpp new file mode 100644 index 00000000..851c81be --- /dev/null +++ b/Samples/IntroGraphics/SimpleTriangleUWP/pch.cpp @@ -0,0 +1,10 @@ +//-------------------------------------------------------------------------------------- +// pch.cpp +// +// Include the standard header and generate the precompiled header. +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#include "pch.h" diff --git a/Samples/Graphics/SimpleTriangleUWP/pch.h b/Samples/IntroGraphics/SimpleTriangleUWP/pch.h similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP/pch.h rename to Samples/IntroGraphics/SimpleTriangleUWP/pch.h diff --git a/Samples/IntroGraphics/SimpleTriangleUWP12/Assets/Logo.png b/Samples/IntroGraphics/SimpleTriangleUWP12/Assets/Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..6e7e704a106b99487be0f1eded426e6c5a2c65a9 GIT binary patch literal 39826 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 YA}aUbQ|(Go1_lNOPgg&ebxsLQ0HMvfUjP6A literal 0 HcmV?d00001 diff --git a/Samples/IntroGraphics/SimpleTriangleUWP12/Assets/SmallLogo.png b/Samples/IntroGraphics/SimpleTriangleUWP12/Assets/SmallLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..98b09d91991638282fc2426bbfd4a517733ff15a GIT binary patch literal 23704 zcmeAS@N?(olHy`uVBq!ia0y~yV9)_!4kiW$hKbM4hA}WOa29w(7Bet#3xhBt!>lF1cW8{o zJNY}yx7Jp@fBW|L_1}A*&w2jmT;+NG20i7 z76pN4rw^sG9%W$oz+72TSF*wW599iL1}27rt9mLz#~=Q0-W8x0&Y&=n;enFSb8f~7 zK@2DKLQaShO9B!o5w=`bBQ#IRtEgOVQ0fpv@xk=u;inHu)8GL-d2OyGA&U}%`>q;rNr z!GejwSx)#Yvw{!v0)tEYAFPZoXx-t#$Z+8F)U(sQFByyMn0i5~{L_aAj}#vr%Gv0Y zD6T1x#`#2P&h**J!XD3=ea`VPFi8Epc<`Tv{eoFxgkIJgeUzW} zmveGCFTN1i1-2YCwBUXIKq#j1b%8irg2cQ-5_{S>SsYJr z2q!99bqFT)-B3EmAwIK@MJdt4WKzQtg_j*7fl5bD6fI#|>6A4w)e&&|Y`o_5!S&Il>B<6_BABTU2kO_OCK%*#Zj56nw^&!NK9-5~si zBd$f@P)^f?3GNX-5zZ@A-zaYp+Qkvh+1z4yNL^|23jZytRYE_HR3uq#oDku*M(v%V zoZ>vyICVbZ_{knBd?zP8@#9idonYk2?V0Uy+e3Fr@DjUA0-1As)Lu`>J$dg5$EJog z3ezWUpTIxCf70)hho5X0u{zrE$cJ;0O3;!iLSCk+_D@-s&Np(JxnNb`*_HFIaIEUE znjhtvyPzyUKe&CRuu17G)w8q3oKG*&U3~SztjzSx?-}|pOLlSIZI*MLeqs8h>=*1W zpTBJWQqIHM#@l?{BS}LtTe4bmxx{u!{h2tE^cnm!@Bn zPCO+v)oNR#U%W5=Z_}@2-c4<-ZVTEx7KbEnKPK6$D0a*!^<#w7wW2WQ*E-oVe3PO# z{e0t7#`;^jOuyPE*tvLB+M2Y9X>*?yo@L}aw(-FS%bRn&&MBVbJy)&EtZT2k@mki} zw6%3>&2LrR+IK7IZP8n?x36!#FD;nsFjr^pSF2pB@1>l(%ytFtYTb3a^!zKk%gL`R zUvhpu^_B1C-HYyDbH6P9D*o#Iwf7h0%?(UA%qB?Y7+NHMI5Q#nMfQx$9Tz{eJX|4o zI%C(wBN>Y?dM;Mqq4usl{jq6eX%5eSF%jX*H)=r}<9% zzGg<4U07w<*RbnrJg>#P)_I+KEj%YcI(#dSD)nyHrLC90E}p%6_MNpibFbVz zV|%oA^>1Ij+0rLt58J+X{PN*@#G}G9kLNC*z5LMU3D5Q8%Hks9e(#m@-#kZc-Zg{V z6St2E}$HucxJm&|s@?3m_P&2QhgY@gD7+kMJ)*Xm~0vHzL(+xpk(zx_Y< zKdk&D_R)_uf$<>YQ^viGQjMFLvzg^tX0j}0H)ZW*-OZ-YV<+mw!^s;dUo<)YfcPir zpUK8|(sgEC6g|Z;S2Rlcm%$k|AGvFSeQoDC?hDlAFZ=29^2|1ljtA~J9XsSRC1;BN ztQFDJGFqkgDsW41Nny!%ooj2JME*|S+xM}5WzSCQ+gaO+%F@?lRL{jGiA==Al}SrTePnmY}eTC zpQf!nnfFQMv)ohCliN>yf1>=e`15VioK~NUi?;-=3*Zy;(O;om5iJp2vBP7pN7NPL z`)U7P{Z!^|606xeVMD-<4V!Q5sEGXdKxx10ZZYNVVDWN2!`Pr*DHWL?F4dmSIK64w z-+)IEL7|_rD(`&i3u?Z!bg8p;Q@F|0l~Ych&Rh2-YG<-&;?$JT_gT}gMu*jFiBFAR zQ?O>mx*r?dc079&?iYWx=4)l{ty}lJwx4?Y+T-<-*LiEcNA6$mwKvQ0>V>usylbUD z_CA%4&-J=jval-aYv0)|XHT7FHcd2r8+~Tmn%kcinl1iTHMc(YblBgutGDmFsdnqy z{=4PXpZS_)MXm3>pYmqUR_%)L?7gnFU-K@#Yr5Mnl_b4u|FgQgJKW3tkIw6_URurm z&Gr53tdjhkJL~uF-^7_4WY#O^VO8*Sc0>NH*>7i+Z!L(@;ydK{^q~6vWi{20170jV zclgfXv-fA#Z~w~i+M`nYlGXmwHM)y)7uYV``~F4G;<>VMvhMq~|F3&*_&B-rxM_d* zyajVLY(M^d(lq(;@|5NC=K9&&UYU8P^1IKUnc1;{v3t{<&(E_LFL~#)J^uU2&-b49 z$9~vT@I~o+(rwl4-fL~w*}B&i{C()LK05z(>i5%c!)?};eDQs4eewO}`d?WGt`=Ya zaa}KVe&ycx$KFV9&r`cAvqN>)*B@oy-inuVz4N&fTh(8&{?EQ!e_yfx;(t}Y<=@8C z1Gx`=BpgUMe>jr=Js)TLynj>vUv7VR$^DG`Rb@Bj-u}7r^3uFgdq1U|oBVM3rscxt zPt}F}uY6s+`uY98kA8cfkN9)r1NYDF^ZVCTuKZl|e)Y=rR>zf(%kMc?Y5Q^6pS9<1 z*S_EJe%Jlud*x?p{Bigf@cH7e_D2ed( zu}aR*)k{ptPfFFR$Sq(10UP^@g2d$P)DnfH)bz|eTc!8A_bVx6rr0WloBA5~7C5J7 zWO`H;r3P2|g(O#HCtIc{+1qj1R9IEy7UZUuBq~(o=HwMyRoE(l&9%xawgL(3D=C1L zlw{i~If5)yi0}h<*DQUJ!86_nJR{Hwo<>h+i#(Mch>H3D2mX`Vk zM*2oZx6$OES}N1RzKTr?%9JOdQ%kG7xRxGzE!j8*mg``4?rT zXXYj5xa237g8b#_Vpow{pqG-FVr5`rZfIm`Y^rORY?P*JY+{nAYmsD_qMK}DmYQOk zYH4I*Zf2v8(-=gmf?9=S1tia;RMQ&nCcoQrKOmsr6eUAn55e1V`xXX36!rP z(kY18!ydFrX2}Lg7A6+D2BxOT(4b9BNzzS8GBh!_FgG_zO-q5kGK)*{iz<;MKmh_O*n(3FQAJ@AIhjPp8a(b?%Sx;glR-tMU2$Sr zDmajk#1Kw~=m1$%Tmn*nCBoATOcKpglT&q5j8hDC&5}(_brX#ZEOgD1&CQHV(oB+* z(u_cnfTkU{9pxFRd3K;WMAyJn*T_7?(9Fuv+{)BY*TCG$zyM|xSQTzViu2P-$`gxH z9n(|uO6(w&7Gf~Q*%?$xnJ8$4XXd5kmltcoOhwg(+xX;+#Ju#>6gz#GMwkG)78`v~ z)a7K-Am)O-xVKFUU(*D9KkyEGWpyOilzP z3jMOY6lmQDFUMdWMKXhqeocX78JHuWX&2oAh;)kNN_a3S3^6}boHI=vn(q=gr|u*`>4TA`;c8rC1wD^rJ#pDE6n#wI3a zmMJNgx``=irn+VZCT6;p=1EDqDalDjMybXrM#dJ2uxKT2^cGBma_HPAJ%pl&;L;L21;>4Vzwfc0W9J1U?av6XXCYGO%# zQAmD%4vuCwigzk<3sAHm%0Gl@sV<2nsqh|wp>c?zF{npiXaK9d;D$g{qM6~FpOTqY zi7*3uY=O)`Qi*OxYDr>BVo4%VrXZ_DGAAY3DlNY#H?hPHsRBR31ije>FgW;nQFEx4sv%=@N{)HGqf}_(>2mFL^cLV9aeK-!x4^o$*G`T zX)$Uq20V=Cl$eex3TlKy`#jit?FPmcNy&+6Cc4IkX2y_SyM=k0g>Gt+fkCpNfnl1N zc@iYy;qErs;V?QeF*!9U$(RO48>U$p7#LcZ>slC@8A4s1l4_!xWMG_>Y?^3no@Qo1 zrmKk?#(;(?BBDTLBy=n_Clg12Bqf>|8>OZgfC9t_>S`*5b+WmsVOoj>EsRb{GB&kL zF;Am`t5c1WjV;ZRY2oTL!$iYWBSUcFqjFfMStceWB^jC0AVAVAlMT(yQjVV9O z)SL*H%-qzx;>`R!I};NdeXt&M39K3;acM-7fNF$98q%BzxbTLE2D!M|aoOmDr+Prs zK42+GDMLdN>M$DGprD{IY6(fTqK16Ns32P*JyB&6apkE9!*`N!9`LCkfeAtb&UoWNg+Uz;?dMK z8eAlW07;7RrY*?PBk=1Eb_wg#Eg zmM0qWPPI2mFo|?GK4!4;ycoFrhunX`gMvMOSWg%7F{K>+c+#`NXi9TQ0mE|vP9u>{ zmoG=39-nmQ?#w#7l5k)CmnjGPXWpB+?)v(;&~Vdpb1apW7+f@%I`=CvbsRbP<)XBM zOUo6;>JF!Bo7mv>s(UB^A;d>xQQ)OaJhmVBda@IwcUG7rd*he1h{x$nA1RGkUFFuo z$`U5GYNd-Nl7(9`vn+2p_a1zsB`KgRamj5$tn*tA*O(esCZi=AU##NbU{X7B>BrI6 zx0D4;-t`wWs2u!%x;;COF{p)Qj>_8!XP$TdS2VGRQ@!YLvXxV?aGk8|P8SZY%acw1 zq?q_J1g?9w`^g-W;7|SHj4^I*%Ex5_K4%**`_RJ`67C_^>o-+E>Bx?6ZbHYb7a8a} zyirSMzWFQnr~tROtQyP2+}_3~ECEb2lKee{y_lX(JpLll%!q3NcQ~iCFjxO9$494A zdfWp#T(nRA&|R#2x!G>IO3~*NM#~K+FP~v^s^Z1&oQ7H68A;tIRpJC2%+;50hdNsq zAA05{_s;71!;m?wYMKQ~jtwfwi}`#W?6Gj^o@OFj^4MW>zsYYG>u8y$3bVw#dUy*B zT^1XeZkEz#5x6_iCb27k{lFEG^kCr&77j676O0oM17a1#6+4HA1q;{92^k)Fo%&AY z+fK~!UwE;l<0JU7x@Y~|#M4Xk)vk3C5=Ub!_@4`DFPwKZbj522Czf-f zu7U@JvuvL7I^MCq;5WUXpddQ>cIk@e&!0cv75n_onptmqzkmPstxa7_=FYPWlk4xl z|1Lh)IOS!@rp=pmn;v#P%qTWloz{GC!Tr~aGtQ+|KmM3eTwGTdP*z>`}z5~{+~yO{`@&`kh7)n_iuLp`F4LlKQHGB|MTtd_vvEOty0sCW{Rw1 z2ngL={r!D?+3#=X@7Mi)^y=utKTI-C9Hp{pmtSU>>?(bIZE?Q5taVw;CAn)ko9s^c zmo_fa`1bw#_3PK~@BDG@QRh+re?L4!Ll>?)y(uO#a%b7wTju|NJ-hAR&-HxYzvtJb zrKQ8y#Z>-y@bGW-_qsoq=b!odyL3hU*LS$vsi=H}tkR9#*P z)C5{Qf3@pfg}n^l>s{+sttwb||GmDxzP_Gb+pNbQ^SCOXKQOSgxN+~ErNxc?H9tRn zey;!S-rx2Ek9su&W~_QEGDSd=ubp4+PxagP^}k;%wzv6r{_*|#9}iDHO=XwyQMkA z(T}hB_-uB%S3Db=vQze%oZUQ%C8yu53|_yt>T6bgetv3dYGR@z%jT@GX-~Vw^~=hR zyB=pQI4A1*@y*T8ckjl&w^b;(^!D4oUr(ot>%~;O-y6@ofF)?z<(Ic^-Kw8&TmSc~ ze3yln!|rFtqx1jr6wFde(r{=vw94whr?53=W^9_Ic2t1rvVp?lvw@+Z%?B6gcr$Fi znPVgO{@oiHd7fQ&<3htf*0QlJWKnFs?z8mwj%Tl5mb{wty2MMDmGNMSm2S<$Zl#tb zZ(pV`J?DBa*))M?PJ9GMsqO5u$EuTqS{6RG_Ez@~l5p~Pnvr29?sZ1EQgW?h%(T>+ zb6LECFUxj|+@7U5#V_($>(VIecXQ5_TFL6q>+x1=720C6^`FiXue(pT=1BL8hJ+QU z=~OYEbmtV@u=VLpHkKz>JFit0&gf9+m=?R&{a)6S*hu5HFzuox+nmZ~i_5gjm9MPw zy)EB&#nZC3a4T=|#>ZQnbSXU)o%Ia>vpxMu6^tCWA+c=+F>W$I^hHhevH zvDH+9rE;cIaN2FT&qkVJDmi^BMSHH;x9^>B^Xd17FJbKw$0HPfcQNz~>(u^?CPc3+m^67#bG414_!e!JLX`tz0Mt3scwqqEOVKeO!m zoO9cpDkJP}a)zZGiele#C%tfDRP^PgZ|k}gCtfmnV!|lB&*n>1yJ-h|`ZafT_G8NG zYUSF-Czvm|%nUmxGjX9Iqp|g+;QSP>kIPtWTa!0eS+BG{61a}jtZG@xmL-kTtdl;< zfB$~R){bjEr=xB1;&0g#Dt1h`lsv88NzGBX+0o#;ru7+-n+Zyu`cdhb;@S(m46R>p zR@*jrrp`N^b-L3H{j+)FFL{-mVmaD(IpN)vY10L!&k~#X{(gwj_JGD&X0vyPxokeE zq~tXJocANATgUxB{xM8ZkDVxQ+u(I4atG^K;e$#_jJ#}90!7a_$Ly14xV@_;z3$LT QcF+-zp00i_>zopr0N0Pd_W%F@ literal 0 HcmV?d00001 diff --git a/Samples/IntroGraphics/SimpleTriangleUWP12/Assets/SplashScreen.png b/Samples/IntroGraphics/SimpleTriangleUWP12/Assets/SplashScreen.png new file mode 100644 index 0000000000000000000000000000000000000000..c352b156fd090a57aec7da81b3b19a3fb5888b43 GIT binary patch literal 26474 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 omdKI;Vst01?W$S^xk5 literal 0 HcmV?d00001 diff --git a/Samples/IntroGraphics/SimpleTriangleUWP12/Assets/StoreLogo.png b/Samples/IntroGraphics/SimpleTriangleUWP12/Assets/StoreLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..315472e10b9d380e509b2f041ea9ace5f994f5d2 GIT binary patch literal 24268 zcmeAS@N?(olHy`uVBq!ia0y~yU@!t<4kiW$hKaHA&lngOI14-?iy0WWg+Z8+Vb&Z8 z1_mzQOlRkSfQa5QtnPFo_|tML@{mXln;on24z09FNc=O;@=*=5{<0XHb~P@IXoEIXB~k zAchlqAtyu_PDn6p2;Q8+#W00|A*Zs&Nr_<Sfx)Hy4_3w(wC?a=WH@ko>e=bumyAVrOuZmg{^`SmM~aUQk>|0Og9H@K8$kfdjajA^Kq3*M8j}-Sr27z=Fqss3L43qc&?03*+ zWH>v0$zukFJuf6;R!kB1ImW@j;Ig1mYl9;@&q0wj2l(b3l-+YcoGFpb#eqlVfQ^6? z+mi+vu7wiQ93?{zSlwXRx`A10f#9r%0$UCmTJS!9AQaR1x!JKfw@AdYH^$-D zgxe<+jJp1G?Qu7p(zq#*`3h61!_F1*QeDRu6kjYc;g4;YwkZ3e)D}70hHZl1h5r`SDxsf8Dw3==PKa<@qxMcw zPH~=UoI0Oy{A3RmzLS%l_;D$!PB8N1_RRLU?V-CQc!}L5fy_BRYOg2cp1k*jV^hN# zh3ONwPvD>6Kk4_$!%w!0SRL(ne<<1&Zn2?F1~tUR%UwU_YD1)CA&E9Hp{tAzcBq$_6zox z&tEowDd*vB<840fk)$D+EmBtF06K$Tj=J1$16Fnh^@Z5QZ{t=O0#w6 zg35#X1I`D=FWwjbx9L|h@20j^w*_q;i$jvPACv4=6gy^=`Z2=kT2UDDYn|*FzDd!W ze!lT3WBn~%reEz7>|DGmZB5$5w7Jg;&oc5I+xXyv<;^)>=M>NJo~zbn*0tB&cr9yf z+Sc3u zFFC)S`pWn6?nU>nxnCB46@T^q+WU+0<_0DlW)mcH3@wsBoSBgPB6~*Wj*A~!9%7jr7M>Fz9X^|9w$<#@+g7Zdz4l1i?A-ezk3{-4FKK=a z&bwv!=Fc0hH?!Wby|w(7_)Ya&?zi)@XJmwAuUVH^*A$hMo+-;I*zpg7th{3`_9^%xmWI< zu{~P5`nRv%Z0VD+hi%_Ge);e{;!)w5$8(p@UViBFgy;HkWpR;lzxT@dZ=Rzz@0vmG ziQ7k_AM8C{onU2WoBHeAOJ=)cc1-iD=C|)#womE4?LOtYYjrd0*#FG?ZT;)?-~J!_ zA69-6`{>7-z<7}HDdXNosm9IB+061RGg+3ho3i$@?q<{Hu@iOT;pB~!FPfZxK>U;R z&t&5}={mD6ik{+_D;g#J%ixTfkK8rEzP9rm_XX7Ajvexuk~77B z){1Cq8LiTL6}Tn1q_E_>&b2j9B7djv?fcljvS+9D?W}D@W$A0Oa)NS_-^||8uw&JZ z#)|eIt{%^S-~klU&8F=I~uAnnSDl9P5SfA$S?xpr^O`J06|buFjNnKEZ_5O3zRE!x)&wrgzn zPt(?(%=@JBS?($6$?d1UKT-Z!{Q0(MPOHzw#an{b1@MXa=&#VOh?a=1*x|9)BkGFr z{j`6tekyY}iPh|#upwZ_hRrv2R78G!ptRq0x0rHwuz0ziVQkQ@l#0v`mugREoZd9; zZ@{C7pwLfQm3Kb%1vOt_Dcof0$|)yL=dJq^wKG{XacWBF`>g3#qr>X8#HYru zDOj^&-H#1!JDxoX_lv(;^R+Vf)~$P9+fTiH?eTia>%2AJBloZO+MDHg^+MYR-nG&n zd!I_j=X%{MSy+|zweRefv!~87nuyCMJ9?6I1=X=ll zV?XRE_@eYZ>9*>2@3pq;Y~AY${yy|rAD#a?_510!;Wq0^zWBbjzWDxf{jaP8SBtOz zxULsFzjE*UV{fFl=c(P5*`d1Y>yNT;Z^g^G-uc{#t?I8>|7YK=zpvPT@xQ9y@^546 zf!qf_5)LGsKOD*bo{zJA-oGjTFSkFuR498#6F?c4me|ltlRY zSS9D@>LsS+C#C9DKU4vo12*HC>R+Sn(7-E>l+*B8W~%e z7+9GYDL{de9hZWFf=y9MnpKdC8`Qd@lr&qVjFOT9D}DX)@^Za$W4-*MbbUihOG|wN zBYh(y-J+B<-Qvo;lEez#ykcdDAuw}XQj3#|G7CyF^Yauy<|ZcPmzLNnDS<44+NuDx zs3Nz(*B5S8UNJQElJj%*D-sLz4fPE4b942v=`1b@N<}yltIpz(%7Rq=pw#00(xT+l zpwu*F>;}1(mEd;*szI)0sd*(>jjG5kz;6&X`%{wPdJ0O5a=-zdlB}PalbV~FS5mBR zsAq^Z0199o8MtN8HhG;nu0{N4LFLe{EITv zGxHL2T=J7kLH_b|v8%`}&`Zfou`)0*H#9OeHq|vuHcHbqHZe)mwMa5d(M>inOHDCN zwKOs@H?z^lX$&G&L9Ifv0+MG^@{==Dtl$A+m6&2-U}RyGrfZR6ZlP;vm};tYGiC-VVG!;1hWvyFbs=4^NLFn^O94ce#y*Cu}U;CGfhr3G}lcuGc?vUN-;6i zO-f2N)-_8pHAuEJGE6c?_ytKjhS4smMVV!(DQ-pix!^2RkXTfl3QEqlO0e_{&vVdl z24@JXOiVXfq$V3!nwuKxCMTz*=^7fE80uPBq?qa&C#9vBr==t%8Vf#u_~CT+2$V5|cqird@Gj zSt>Y?ki-y9hUfrUR9pg5fF;7y3``QuQrclFiMGOwvq} zlhTYpk$|Qhw;kmfsd;vwIz-pNRM*Hn#L&#j(A>(@P}jiR%D@0-6j&8*LyGg$O3D+9 zQXSJ%^GfU>l@?+!#@QKENtq~UglFcZNGvGG$xKcJ zB?|qrycB5N2rtKA9z`;Pj($ynWEq$vplKJ~0f=;pwxD{MYC6)(R072)sHBA#yRgiMR9c~@EgIGz)GJemj-M&cnZ_n2 zW|k=_mb!^4X{Nen1}0{@mgY%Gx+%#?MnPZWNa=&x@qqPWFgq%s9~Ak0GVpGD-LpZQt)(jHZ!y|Gt)KFGekB9NgY;mV8aoPdC94u zUTHCEF9tk}=aiU^Dhg_ZL;F0~d+i3s7D>s8X(qbHhGxc)Ub}^PnuTs^l7T_8p@CtV znRyZ<;o|yIsbN}*1ucwDNisII zOfgTRfvZ!ElZ`FSl4;@UG{Z#0R3k%h;-hj{r&%T@B_$b|(jY+6ERzk*%~F#<>DmCA zLWoP(kkpQv|B*`X(Gqlmi5JRMOi24Z7Xk<<)Xo$kj+{nPd zz(C&+L_)P9OQUOz#IF@u8eJskeHkb@*27jy6S+; ziqxD4m(1MMyyDFKJUdeZ8-1`IbP22)BXMa&l7MQ2L>khZ3Apfvhz7a1*>TzEgQt2x z(>`D+NGU@@66!D-+MuAIFlq@&;X4{!qrpW|2#}TqK16Ns32P*JyB&6apkE9!*`N!9`LCkfeAt zb&UoWNg+Uz;?dMK8eAlW07;5RQ`cy4krV5(GJ&B@tb(d}}i=}&(H=OpEAf+u#fY+G}3QqBY>vDph$DjFvUcz$4E^-(dd zI3`!!HuL4XRppy@ykC85N$Sq(U2#`;zrRy_{%^)S+iEcePX`7@0Tu=hm4y4u9rBzV z4IT^=KD8bU;=C%)pc)po05F{@*?wERu0DkCZem%DZu8NZlPxdcyklN>Fc34n^ zwbE@Kzr@r`|8sA{ob+dBgh?`Tag}Z25L%*TAqx}FIKtA%H0e3^%%UT_%G!i4jtI;zYQ7rp4-9#PV9rY5auhO;Y6SlG>FK|=A& zr&aeIEt7Yupe$_UW^Nv zpY#ML7DNYDZaB7j!kQPq4lLhluw+KCAG?pvWFz~fr|K+rB}ip|-*Kc=vwMR2rgiBv zmAWzlXI3Y0)w>vKP2?BgVtRR||CsV*b$6DN7deGoEnPYL?Y1p(O?&ydByj$Wr<*<{ zwNCD771LR=T19D*p%Sa>R*_(%>49fO850U;E)vjY6moI0TOEALHqtP_VD*{gi#p3* zX#QE)Fh`1)eY(YZj=d8$I~>y7wQI%R`S&NUxO(?n$fEgKiN2dAimA8w2+S1a?lCgp z5L~7rl9TVM;k?AgczfhY=TF&}*n*wImvr}B$qQ|5+zw4~#ev7@|evj|< zoX_|A_vGKcR&74}+_K9r*S!9<&-|mBrIe+8)~!PC=V_B)rWnmE-7N6yLN|--TxrvL z+jFCZs(Uz6e|~&sX%rrzs;Jenb?es4%l+4{StBFauPQ4icW>|R&u_Qi_gj8hfayT+ za=*D2g-L~(E8kl^kGcM}{QbR~ckaxQk?T5VInVO*!Xo zRzACyL;1PNGgX)T?zJo`}S??h5p;hvG+?iXI}1O-1GI??D@6dZa$r^Ki|53-}~R|UZ-8w z^stxe?U%WE>(;KSudm8y&-Om;EwuWd%B0K6r)m~%EnfWcOTq7R*B1BNR#jB|I3}Gh zBO_CCw9v00s4~((L~U|9^db?R$BSUG1+23IDsL&F%jGk#|4#_<8-$Kj-JyemnQ=+uyr) z*RH)iJ$_%!`+Ix0-><7Svdo#aY+Y_o^vri3&su(~-Cw`q{+72DHs9`Xb8#IDxL;u| z<+*6Xu5E0IRmZ%Bzc%K9BF>p}9$#GSety1n{pZ)SmF#{#nY{n+*Y|xD-!AFTtNFBi zfBk3v_}Z`Y+v~p+Sj%a*=p0tFn^(Hum4RcSeE;osxv2QKsJN(@sOZ?Q_so5n3$FQk zu3NXx%vX5H6sMw~1G{4}!_+pCD-j7Fn)AizNe!X12d~@XW(mt8qn#*SK zbw8JW|M%nL<7;1(%(Z-G6+S$4o@4qFEjOiuH`n|=ncS}{6T4&M#)ls6>`ERg=jK|M z|G)Qlef~X}{^J5pFWk?~t$x(G_V)JuKi`|@-i|tZp}h9R;a?|(U%!6sF5dSm?Mmt2 z@Au#5=ic2{`Z|mw@rj$GA}@o}gq6)I9}l&1Z;`uWm?}R>X6MCw_ww$4KOPpYd)4^q zin(*Eb8qYD>VJ)u7j8dv?wsH4ZQb78wbyU!G0yN^Hu>d}*J-ixP8?y`*3WA$Z}C-j zoZz(KkhVu!Qb3Q(kva#xg{-Z0g@qFf`4$D$3arjP&d_3aWRpA7#$CI#G`}di3#;1a z)m-M7)Wo9U;StR((iGGrwWQYke(Y4Qr6E5wBQ9|teV)pwJuU0P$&DuSt}HOp+H1w0 z7CCW}Szm0bZFa(|EA74)KV&Zbyq0_Mlu42O^)qIkT^KucX4l>MUeArL-{0`dJUoFn z-K$ymRb{m4eb1xyJ|^}C*Mma$9=Xzcu%i9*=S5XL$1g1oRW`VK*)ibo#0b-qr)r<@ zi%c%m4>zAVM|$biqu>8a=3Hek?A;V}UhQ0?Pomu8gZqMJ$^4t3JFED3^E<{%1|M)eS4*!y!x5^;9mNyU(A~trR!w`ogp))iP~=okFaS_$vE+GhuOc=M3m* zTQz5|o#od9om%?gn{{msWZ52kR(%#{9G=?46L@mb&W)OSK_3gVW|*e9S=~%1%g=Vs zJFXhyk1g6+U-f1odR0#bf$MXX}^0fyf(y*%`$uW-N$Pp=6v^&Tcy4t zD}$|3E9A$tZnJd(u1T8@hSxNjzI0llu8%>QR6NsPvC~UdEAxlQ)qn{# za<5m+JE5)^#2Ym;vDGGR1%K9jCm~73ZIjuGq8~0-n)dZVT*LYPZss*EbvHM-Jv}bu zU7@&c+vTT03R1bM2Fi8^BUZ`uE<7h%+|e|()NYC86yJ`XFEhOl%QKvMVYpdg(Zs1v zo6c!%vX~Mt8=Bg8{i9h?k07Sz+#&t;ucLK6V)2=KrF literal 0 HcmV?d00001 diff --git a/Samples/IntroGraphics/SimpleTriangleUWP12/Assets/WideLogo.png b/Samples/IntroGraphics/SimpleTriangleUWP12/Assets/WideLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..c70f68e2c59214e0ff54844ccd8ae5e955826e10 GIT binary patch literal 46540 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 literal 0 HcmV?d00001 diff --git a/Samples/Graphics/SimpleTextureUWP12/DeviceResources.cpp b/Samples/IntroGraphics/SimpleTriangleUWP12/DeviceResources.cpp similarity index 85% rename from Samples/Graphics/SimpleTextureUWP12/DeviceResources.cpp rename to Samples/IntroGraphics/SimpleTriangleUWP12/DeviceResources.cpp index d8bbdbb3..c7109625 100644 --- a/Samples/Graphics/SimpleTextureUWP12/DeviceResources.cpp +++ b/Samples/IntroGraphics/SimpleTriangleUWP12/DeviceResources.cpp @@ -132,6 +132,27 @@ void DX::DeviceResources::CreateDeviceResources() IID_PPV_ARGS(m_d3dDevice.ReleaseAndGetAddressOf()) )); +#ifndef NDEBUG + // Configure debug device (if active). + ComPtr d3dInfoQueue; + if (SUCCEEDED(m_d3dDevice.As(&d3dInfoQueue))) + { +#ifdef _DEBUG + d3dInfoQueue->SetBreakOnSeverity(D3D12_MESSAGE_SEVERITY_CORRUPTION, true); + d3dInfoQueue->SetBreakOnSeverity(D3D12_MESSAGE_SEVERITY_ERROR, true); +#endif + D3D12_MESSAGE_ID hide[] = + { + D3D12_MESSAGE_ID_MAP_INVALID_NULLRANGE, + D3D12_MESSAGE_ID_UNMAP_INVALID_NULLRANGE + }; + D3D12_INFO_QUEUE_FILTER filter = {}; + filter.DenyList.NumIDs = _countof(hide); + filter.DenyList.pIDList = hide; + d3dInfoQueue->AddStorageFilterEntries(&filter); + } +#endif + // Determine maximum supported feature level for this device static const D3D_FEATURE_LEVEL s_featureLevels[] = { @@ -168,15 +189,19 @@ void DX::DeviceResources::CreateDeviceResources() rtvDescriptorHeapDesc.NumDescriptors = m_backBufferCount; rtvDescriptorHeapDesc.Type = D3D12_DESCRIPTOR_HEAP_TYPE_RTV; - D3D12_DESCRIPTOR_HEAP_DESC dsvDescriptorHeapDesc = {}; - dsvDescriptorHeapDesc.NumDescriptors = 1; - dsvDescriptorHeapDesc.Type = D3D12_DESCRIPTOR_HEAP_TYPE_DSV; - DX::ThrowIfFailed(m_d3dDevice->CreateDescriptorHeap(&rtvDescriptorHeapDesc, IID_PPV_ARGS(m_rtvDescriptorHeap.ReleaseAndGetAddressOf()))); - DX::ThrowIfFailed(m_d3dDevice->CreateDescriptorHeap(&dsvDescriptorHeapDesc, IID_PPV_ARGS(m_dsvDescriptorHeap.ReleaseAndGetAddressOf()))); m_rtvDescriptorSize = m_d3dDevice->GetDescriptorHandleIncrementSize(D3D12_DESCRIPTOR_HEAP_TYPE_RTV); + if (m_depthBufferFormat != DXGI_FORMAT_UNKNOWN) + { + D3D12_DESCRIPTOR_HEAP_DESC dsvDescriptorHeapDesc = {}; + dsvDescriptorHeapDesc.NumDescriptors = 1; + dsvDescriptorHeapDesc.Type = D3D12_DESCRIPTOR_HEAP_TYPE_DSV; + + DX::ThrowIfFailed(m_d3dDevice->CreateDescriptorHeap(&dsvDescriptorHeapDesc, IID_PPV_ARGS(m_dsvDescriptorHeap.ReleaseAndGetAddressOf()))); + } + // Create a command allocator for each back buffer that will be rendered to. for (UINT n = 0; n < m_backBufferCount; n++) { @@ -306,7 +331,7 @@ void DX::DeviceResources::CreateWindowSizeDependentResources() { DX::ThrowIfFailed(m_swapChain->GetBuffer(n, IID_PPV_ARGS(m_renderTargets[n].GetAddressOf()))); - WCHAR name[25] = {}; + wchar_t name[25] = {}; swprintf_s(name, L"Render target %u", n); m_renderTargets[n]->SetName(name); @@ -321,40 +346,43 @@ void DX::DeviceResources::CreateWindowSizeDependentResources() // Reset the index to the current back buffer. m_backBufferIndex = m_swapChain->GetCurrentBackBufferIndex(); - // Allocate a 2-D surface as the depth/stencil buffer and create a depth/stencil view - // on this surface. - CD3DX12_HEAP_PROPERTIES depthHeapProperties(D3D12_HEAP_TYPE_DEFAULT); + if (m_depthBufferFormat != DXGI_FORMAT_UNKNOWN) + { + // Allocate a 2-D surface as the depth/stencil buffer and create a depth/stencil view + // on this surface. + CD3DX12_HEAP_PROPERTIES depthHeapProperties(D3D12_HEAP_TYPE_DEFAULT); - D3D12_RESOURCE_DESC depthStencilDesc = CD3DX12_RESOURCE_DESC::Tex2D( - m_depthBufferFormat, - backBufferWidth, - backBufferHeight, - 1, // This depth stencil view has only one texture. - 1 // Use a single mipmap level. - ); - depthStencilDesc.Flags |= D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL; - - D3D12_CLEAR_VALUE depthOptimizedClearValue = {}; - depthOptimizedClearValue.Format = m_depthBufferFormat; - depthOptimizedClearValue.DepthStencil.Depth = 1.0f; - depthOptimizedClearValue.DepthStencil.Stencil = 0; - - DX::ThrowIfFailed(m_d3dDevice->CreateCommittedResource( - &depthHeapProperties, - D3D12_HEAP_FLAG_NONE, - &depthStencilDesc, - D3D12_RESOURCE_STATE_DEPTH_WRITE, - &depthOptimizedClearValue, - IID_PPV_ARGS(m_depthStencil.ReleaseAndGetAddressOf()) - )); + D3D12_RESOURCE_DESC depthStencilDesc = CD3DX12_RESOURCE_DESC::Tex2D( + m_depthBufferFormat, + backBufferWidth, + backBufferHeight, + 1, // This depth stencil view has only one texture. + 1 // Use a single mipmap level. + ); + depthStencilDesc.Flags |= D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL; + + D3D12_CLEAR_VALUE depthOptimizedClearValue = {}; + depthOptimizedClearValue.Format = m_depthBufferFormat; + depthOptimizedClearValue.DepthStencil.Depth = 1.0f; + depthOptimizedClearValue.DepthStencil.Stencil = 0; + + DX::ThrowIfFailed(m_d3dDevice->CreateCommittedResource( + &depthHeapProperties, + D3D12_HEAP_FLAG_NONE, + &depthStencilDesc, + D3D12_RESOURCE_STATE_DEPTH_WRITE, + &depthOptimizedClearValue, + IID_PPV_ARGS(m_depthStencil.ReleaseAndGetAddressOf()) + )); - m_depthStencil->SetName(L"Depth stencil"); + m_depthStencil->SetName(L"Depth stencil"); - D3D12_DEPTH_STENCIL_VIEW_DESC dsvDesc = {}; - dsvDesc.Format = m_depthBufferFormat; - dsvDesc.ViewDimension = D3D12_DSV_DIMENSION_TEXTURE2D; + D3D12_DEPTH_STENCIL_VIEW_DESC dsvDesc = {}; + dsvDesc.Format = m_depthBufferFormat; + dsvDesc.ViewDimension = D3D12_DSV_DIMENSION_TEXTURE2D; - m_d3dDevice->CreateDepthStencilView(m_depthStencil.Get(), &dsvDesc, m_dsvDescriptorHeap->GetCPUDescriptorHandleForHeapStart()); + m_d3dDevice->CreateDepthStencilView(m_depthStencil.Get(), &dsvDesc, m_dsvDescriptorHeap->GetCPUDescriptorHandleForHeapStart()); + } // Set the 3D rendering viewport and scissor rectangle to target the entire window. m_screenViewport.TopLeftX = m_screenViewport.TopLeftY = 0.f; @@ -596,7 +624,7 @@ void DX::DeviceResources::GetAdapter(IDXGIAdapter1** ppAdapter) if (SUCCEEDED(D3D12CreateDevice(adapter.Get(), m_d3dMinFeatureLevel, _uuidof(ID3D12Device), nullptr))) { #ifdef _DEBUG - WCHAR buff[256] = {}; + wchar_t buff[256] = {}; swprintf_s(buff, L"Direct3D Adapter (%u): VID:%04X, PID:%04X - %ls\n", adapterIndex, desc.VendorId, desc.DeviceId, desc.Description); OutputDebugStringW(buff); #endif diff --git a/Samples/Graphics/SimpleTriangleUWP12/DeviceResources.h b/Samples/IntroGraphics/SimpleTriangleUWP12/DeviceResources.h similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP12/DeviceResources.h rename to Samples/IntroGraphics/SimpleTriangleUWP12/DeviceResources.h diff --git a/Samples/Graphics/SimpleTriangleUWP12/Main.cpp b/Samples/IntroGraphics/SimpleTriangleUWP12/Main.cpp similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP12/Main.cpp rename to Samples/IntroGraphics/SimpleTriangleUWP12/Main.cpp diff --git a/Samples/Graphics/SimpleTriangleUWP12/Package.appxmanifest b/Samples/IntroGraphics/SimpleTriangleUWP12/Package.appxmanifest similarity index 90% rename from Samples/Graphics/SimpleTriangleUWP12/Package.appxmanifest rename to Samples/IntroGraphics/SimpleTriangleUWP12/Package.appxmanifest index f89d3294..09fb1ae1 100644 --- a/Samples/Graphics/SimpleTriangleUWP12/Package.appxmanifest +++ b/Samples/IntroGraphics/SimpleTriangleUWP12/Package.appxmanifest @@ -8,14 +8,14 @@ SimpleTriangleUWP12 - chuckw + Xbox Advanced Technology Group Assets\StoreLogo.png diff --git a/Samples/Graphics/SimpleTriangleUWP12/PixelShader.hlsl b/Samples/IntroGraphics/SimpleTriangleUWP12/PixelShader.hlsl similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP12/PixelShader.hlsl rename to Samples/IntroGraphics/SimpleTriangleUWP12/PixelShader.hlsl diff --git a/Samples/Graphics/SimpleTriangleUWP12/Readme.docx b/Samples/IntroGraphics/SimpleTriangleUWP12/Readme.docx similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP12/Readme.docx rename to Samples/IntroGraphics/SimpleTriangleUWP12/Readme.docx diff --git a/Samples/Graphics/SimpleTriangleUWP12/SimpleTriangleUWP12.cpp b/Samples/IntroGraphics/SimpleTriangleUWP12/SimpleTriangleUWP12.cpp similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP12/SimpleTriangleUWP12.cpp rename to Samples/IntroGraphics/SimpleTriangleUWP12/SimpleTriangleUWP12.cpp diff --git a/Samples/Graphics/SimpleTriangleUWP12/SimpleTriangleUWP12.h b/Samples/IntroGraphics/SimpleTriangleUWP12/SimpleTriangleUWP12.h similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP12/SimpleTriangleUWP12.h rename to Samples/IntroGraphics/SimpleTriangleUWP12/SimpleTriangleUWP12.h diff --git a/Samples/Graphics/SimpleTriangleUWP12/SimpleTriangleUWP12.sln b/Samples/IntroGraphics/SimpleTriangleUWP12/SimpleTriangleUWP12.sln similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP12/SimpleTriangleUWP12.sln rename to Samples/IntroGraphics/SimpleTriangleUWP12/SimpleTriangleUWP12.sln diff --git a/Samples/Graphics/SimpleTriangleUWP12/SimpleTriangleUWP12.vcxproj b/Samples/IntroGraphics/SimpleTriangleUWP12/SimpleTriangleUWP12.vcxproj similarity index 98% rename from Samples/Graphics/SimpleTriangleUWP12/SimpleTriangleUWP12.vcxproj rename to Samples/IntroGraphics/SimpleTriangleUWP12/SimpleTriangleUWP12.vcxproj index 0a6f5e6a..99722745 100644 --- a/Samples/Graphics/SimpleTriangleUWP12/SimpleTriangleUWP12.vcxproj +++ b/Samples/IntroGraphics/SimpleTriangleUWP12/SimpleTriangleUWP12.vcxproj @@ -1,4 +1,4 @@ - + @@ -288,4 +288,4 @@ - + \ No newline at end of file diff --git a/Samples/Graphics/SimpleTriangleUWP12/SimpleTriangleUWP12.vcxproj.filters b/Samples/IntroGraphics/SimpleTriangleUWP12/SimpleTriangleUWP12.vcxproj.filters similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP12/SimpleTriangleUWP12.vcxproj.filters rename to Samples/IntroGraphics/SimpleTriangleUWP12/SimpleTriangleUWP12.vcxproj.filters diff --git a/Samples/Graphics/SimpleTriangleUWP12/SimpleTriangleUWP12_TemporaryKey.pfx b/Samples/IntroGraphics/SimpleTriangleUWP12/SimpleTriangleUWP12_TemporaryKey.pfx similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP12/SimpleTriangleUWP12_TemporaryKey.pfx rename to Samples/IntroGraphics/SimpleTriangleUWP12/SimpleTriangleUWP12_TemporaryKey.pfx diff --git a/Samples/IntroGraphics/SimpleTriangleUWP12/StepTimer.h b/Samples/IntroGraphics/SimpleTriangleUWP12/StepTimer.h new file mode 100644 index 00000000..e6f7acf5 --- /dev/null +++ b/Samples/IntroGraphics/SimpleTriangleUWP12/StepTimer.h @@ -0,0 +1,188 @@ +// +// StepTimer.h - A simple timer that provides elapsed time information +// + +#pragma once + +#include +#include + +namespace DX +{ + // Helper class for animation and simulation timing. + class StepTimer + { + public: + StepTimer() : + m_elapsedTicks(0), + m_totalTicks(0), + m_leftOverTicks(0), + m_frameCount(0), + m_framesPerSecond(0), + m_framesThisSecond(0), + m_qpcSecondCounter(0), + m_isFixedTimeStep(false), + m_targetElapsedTicks(TicksPerSecond / 60) + { + if (!QueryPerformanceFrequency(&m_qpcFrequency)) + { + throw std::exception( "QueryPerformanceFrequency" ); + } + + if (!QueryPerformanceCounter(&m_qpcLastTime)) + { + throw std::exception( "QueryPerformanceCounter" ); + } + + // Initialize max delta to 1/10 of a second. + m_qpcMaxDelta = m_qpcFrequency.QuadPart / 10; + } + + // Get elapsed time since the previous Update call. + uint64_t GetElapsedTicks() const { return m_elapsedTicks; } + double GetElapsedSeconds() const { return TicksToSeconds(m_elapsedTicks); } + + // Get total time since the start of the program. + uint64_t GetTotalTicks() const { return m_totalTicks; } + double GetTotalSeconds() const { return TicksToSeconds(m_totalTicks); } + + // Get total number of updates since start of the program. + uint32_t GetFrameCount() const { return m_frameCount; } + + // Get the current framerate. + uint32_t GetFramesPerSecond() const { return m_framesPerSecond; } + + // Set whether to use fixed or variable timestep mode. + void SetFixedTimeStep(bool isFixedTimestep) { m_isFixedTimeStep = isFixedTimestep; } + + // Set how often to call Update when in fixed timestep mode. + void SetTargetElapsedTicks(uint64_t targetElapsed) { m_targetElapsedTicks = targetElapsed; } + void SetTargetElapsedSeconds(double targetElapsed) { m_targetElapsedTicks = SecondsToTicks(targetElapsed); } + + // Integer format represents time using 10,000,000 ticks per second. + static const uint64_t TicksPerSecond = 10000000; + + static double TicksToSeconds(uint64_t ticks) { return static_cast(ticks) / TicksPerSecond; } + static uint64_t SecondsToTicks(double seconds) { return static_cast(seconds * TicksPerSecond); } + + // After an intentional timing discontinuity (for instance a blocking IO operation) + // call this to avoid having the fixed timestep logic attempt a set of catch-up + // Update calls. + + void ResetElapsedTime() + { + if (!QueryPerformanceCounter(&m_qpcLastTime)) + { + throw std::exception("QueryPerformanceCounter"); + } + + m_leftOverTicks = 0; + m_framesPerSecond = 0; + m_framesThisSecond = 0; + m_qpcSecondCounter = 0; + } + + // Update timer state, calling the specified Update function the appropriate number of times. + template + void Tick(const TUpdate& update) + { + // Query the current time. + LARGE_INTEGER currentTime; + + if (!QueryPerformanceCounter(¤tTime)) + { + throw std::exception( "QueryPerformanceCounter" ); + } + + uint64_t timeDelta = currentTime.QuadPart - m_qpcLastTime.QuadPart; + + m_qpcLastTime = currentTime; + m_qpcSecondCounter += timeDelta; + + // Clamp excessively large time deltas (e.g. after paused in the debugger). + if (timeDelta > m_qpcMaxDelta) + { + timeDelta = m_qpcMaxDelta; + } + + // Convert QPC units into a canonical tick format. This cannot overflow due to the previous clamp. + timeDelta *= TicksPerSecond; + timeDelta /= m_qpcFrequency.QuadPart; + + uint32_t lastFrameCount = m_frameCount; + + if (m_isFixedTimeStep) + { + // Fixed timestep update logic + + // If the app is running very close to the target elapsed time (within 1/4 of a millisecond) just clamp + // the clock to exactly match the target value. This prevents tiny and irrelevant errors + // from accumulating over time. Without this clamping, a game that requested a 60 fps + // fixed update, running with vsync enabled on a 59.94 NTSC display, would eventually + // accumulate enough tiny errors that it would drop a frame. It is better to just round + // small deviations down to zero to leave things running smoothly. + + if (abs(static_cast(timeDelta - m_targetElapsedTicks)) < TicksPerSecond / 4000) + { + timeDelta = m_targetElapsedTicks; + } + + m_leftOverTicks += timeDelta; + + while (m_leftOverTicks >= m_targetElapsedTicks) + { + m_elapsedTicks = m_targetElapsedTicks; + m_totalTicks += m_targetElapsedTicks; + m_leftOverTicks -= m_targetElapsedTicks; + m_frameCount++; + + update(); + } + } + else + { + // Variable timestep update logic. + m_elapsedTicks = timeDelta; + m_totalTicks += timeDelta; + m_leftOverTicks = 0; + m_frameCount++; + + update(); + } + + // Track the current framerate. + if (m_frameCount != lastFrameCount) + { + m_framesThisSecond++; + } + + if (m_qpcSecondCounter >= static_cast(m_qpcFrequency.QuadPart)) + { + m_framesPerSecond = m_framesThisSecond; + m_framesThisSecond = 0; + m_qpcSecondCounter %= m_qpcFrequency.QuadPart; + } + } + + private: + // Source timing data uses QPC units. + LARGE_INTEGER m_qpcFrequency; + LARGE_INTEGER m_qpcLastTime; + uint64_t m_qpcMaxDelta; + + // Derived timing data uses a canonical tick format. + uint64_t m_elapsedTicks; + uint64_t m_totalTicks; + uint64_t m_leftOverTicks; + + // Members for tracking the framerate. + uint32_t m_frameCount; + uint32_t m_framesPerSecond; + uint32_t m_framesThisSecond; + uint64_t m_qpcSecondCounter; + + // Members for configuring fixed timestep mode. + bool m_isFixedTimeStep; + uint64_t m_targetElapsedTicks; + }; +} diff --git a/Samples/Graphics/SimpleTriangleUWP12/VertexShader.hlsl b/Samples/IntroGraphics/SimpleTriangleUWP12/VertexShader.hlsl similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP12/VertexShader.hlsl rename to Samples/IntroGraphics/SimpleTriangleUWP12/VertexShader.hlsl diff --git a/Samples/Graphics/SimpleTriangleUWP12/d3dx12.h b/Samples/IntroGraphics/SimpleTriangleUWP12/d3dx12.h similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP12/d3dx12.h rename to Samples/IntroGraphics/SimpleTriangleUWP12/d3dx12.h diff --git a/Samples/IntroGraphics/SimpleTriangleUWP12/pch.cpp b/Samples/IntroGraphics/SimpleTriangleUWP12/pch.cpp new file mode 100644 index 00000000..851c81be --- /dev/null +++ b/Samples/IntroGraphics/SimpleTriangleUWP12/pch.cpp @@ -0,0 +1,10 @@ +//-------------------------------------------------------------------------------------- +// pch.cpp +// +// Include the standard header and generate the precompiled header. +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#include "pch.h" diff --git a/Samples/Graphics/SimpleTriangleUWP12/pch.h b/Samples/IntroGraphics/SimpleTriangleUWP12/pch.h similarity index 100% rename from Samples/Graphics/SimpleTriangleUWP12/pch.h rename to Samples/IntroGraphics/SimpleTriangleUWP12/pch.h diff --git a/Samples/System/CPUSets/CPUSets.cpp b/Samples/System/CPUSets/CPUSets.cpp index 8b2fb3a8..4d48c659 100644 --- a/Samples/System/CPUSets/CPUSets.cpp +++ b/Samples/System/CPUSets/CPUSets.cpp @@ -113,6 +113,27 @@ void Sample::Update(DX::StepTimer const& /*timer*/) auto kb = m_keyboard->GetState(); m_keyboardButtons.Update(kb); + if (kb.A) + { + ULONG size; + HANDLE curProc = GetCurrentProcess(); + (void)GetSystemCpuSetInformation(nullptr, 0, &size, curProc, 0); + + std::unique_ptr buffer(new uint8_t[size]); + + PSYSTEM_CPU_SET_INFORMATION cpuSets = reinterpret_cast(buffer.get()); + GetSystemCpuSetInformation(cpuSets, size, &size, GetCurrentProcess(), 0); + + size_t count = 0; + while (size > 0) + { + size -= cpuSets[count].Size; + ++count; + } + + ReportCPUInformation(cpuSets, count); + } + if (kb.Escape) { Windows::ApplicationModel::Core::CoreApplication::Exit(); @@ -275,13 +296,25 @@ void Sample::ReportCPUInformation(SYSTEM_CPU_SET_INFORMATION* cpuSetInfo, size_t for (size_t i = 0; i < count; ++i) { wchar_t buffer[1024] = { L'\0' }; - swprintf_s(buffer, 1024, L"CPU ID: %i\n\tGroup: %i\n\tLogical index: %i\n\tCore index: %i\n\tCache ID: %i\n\tNUMA ID: %i\n", + swprintf_s(buffer, 1024, L"CPU ID: %i\n\tGroup: %i" + "\n\tLogical index: %i\n\tCore index: %i\n\tCache ID: %i" + "\n\tNUMA ID: %i\n\tEfficiency class: %i\n\tAll flags: %i" + "\n\tAllocated: %i\n\tAllocated to target: %i" + "\n\tParked: %i\n\tRealtime: %i\n\tReserved flags: %i\n\tReserved: %i\n", cpuSetInfo[i].CpuSet.Id, // Unique ID for every CPU core. This is the value to use with SetProcessDefaultCpuSets cpuSetInfo[i].CpuSet.Group, // Some PCs (mostly servers) have groups of CPU cores cpuSetInfo[i].CpuSet.LogicalProcessorIndex, // Index of the logical core of the CPU, relative to this CPU group cpuSetInfo[i].CpuSet.CoreIndex, // Index of the home core any logical core is associated with, relative to this CPU group cpuSetInfo[i].CpuSet.LastLevelCacheIndex, // ID of the memory cache this core uses, relative to this CPU group - cpuSetInfo[i].CpuSet.NumaNodeIndex); // ID of the NUMA group for this core, relative to this CPU group + cpuSetInfo[i].CpuSet.NumaNodeIndex, // ID of the NUMA group for this core, relative to this CPU group + cpuSetInfo[i].CpuSet.EfficiencyClass, + cpuSetInfo[i].CpuSet.AllFlags, + cpuSetInfo[i].CpuSet.Allocated, + cpuSetInfo[i].CpuSet.AllocatedToTargetProcess, + cpuSetInfo[i].CpuSet.Parked, + cpuSetInfo[i].CpuSet.RealTime, + cpuSetInfo[i].CpuSet.ReservedFlags, + cpuSetInfo[i].CpuSet.Reserved); OutputDebugString(buffer); } @@ -328,6 +361,44 @@ void Sample::OrganizeCPUSets(SYSTEM_CPU_SET_INFORMATION* cpuSetInfo, size_t coun } } } + + { + unsigned long retsize = 0; + (void)GetSystemCpuSetInformation(nullptr, 0, &retsize, + GetCurrentProcess(), 0); + + std::unique_ptr data(new uint8_t[retsize]); + if (!GetSystemCpuSetInformation( + reinterpret_cast(data.get()), + retsize, &retsize, GetCurrentProcess(), 0)) + { + // Error! + } + + unsigned long count2 = retsize / sizeof(SYSTEM_CPU_SET_INFORMATION); + bool sharedcache = false; + + std::map> cachemap; + for (size_t i = 0; i < count2; ++i) + { + auto cpuset = reinterpret_cast(data.get())[i]; + if (cpuset.Type == CPU_SET_INFORMATION_TYPE::CpuSetInformation) + { + if (cachemap.find(cpuset.CpuSet.LastLevelCacheIndex) == cachemap.end()) + { + std::pair> newvalue; + newvalue.first = cpuset.CpuSet.LastLevelCacheIndex; + newvalue.second.push_back(cpuset); + cachemap.insert(newvalue); + } + else + { + sharedcache = true; + cachemap[cpuset.CpuSet.LastLevelCacheIndex].push_back(cpuset); + } + } + } + } } unsigned long __stdcall Sample::GeneratorThread(void* params) diff --git a/Samples/System/CPUSets/CPUSets.h b/Samples/System/CPUSets/CPUSets.h index 18ff1052..56404785 100644 --- a/Samples/System/CPUSets/CPUSets.h +++ b/Samples/System/CPUSets/CPUSets.h @@ -46,7 +46,7 @@ public: HANDLE GetGraphicsMutex() { return m_graphicsMutex; } void SetWorldMatrix(DirectX::SimpleMath::Matrix& matrix) { m_world = matrix; } DirectX::AudioEngine* GetAudioEngine() { return m_audioEngine.get(); } - static const WCHAR* g_graphicsMutexName; + static const wchar_t* g_graphicsMutexName; bool CpuIsUsingHyperthreading() { return m_hyperThreading == HyperThreadedState::HyperThreaded; } diff --git a/Samples/System/CPUSets/CPUSets.vcxproj b/Samples/System/CPUSets/CPUSets.vcxproj index fd9862f5..cf2d8990 100644 --- a/Samples/System/CPUSets/CPUSets.vcxproj +++ b/Samples/System/CPUSets/CPUSets.vcxproj @@ -1,4 +1,4 @@ - + @@ -100,9 +100,6 @@ CPUSets_TemporaryKey.pfx - True - Always - x86 @@ -259,4 +256,4 @@ - + \ No newline at end of file diff --git a/Samples/System/CPUSets/DeviceResources.cpp b/Samples/System/CPUSets/DeviceResources.cpp index ba23c3af..d549f821 100644 --- a/Samples/System/CPUSets/DeviceResources.cpp +++ b/Samples/System/CPUSets/DeviceResources.cpp @@ -212,8 +212,7 @@ void DX::DeviceResources::CreateDeviceResources() { D3D11_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS, }; - D3D11_INFO_QUEUE_FILTER filter; - memset(&filter, 0, sizeof(filter)); + D3D11_INFO_QUEUE_FILTER filter = {}; filter.DenyList.NumIDs = _countof(hide); filter.DenyList.pIDList = hide; d3dInfoQueue->AddStorageFilterEntries(&filter); @@ -581,7 +580,7 @@ void DX::DeviceResources::GetHardwareAdapter(IDXGIAdapter1** ppAdapter) } #ifdef _DEBUG - WCHAR buff[256] = {}; + wchar_t buff[256] = {}; swprintf_s(buff, L"Direct3D Adapter (%u): VID:%04X, PID:%04X - %ls\n", adapterIndex, desc.VendorId, desc.DeviceId, desc.Description); OutputDebugStringW(buff); #endif diff --git a/Samples/System/CPUSets/Package.appxmanifest b/Samples/System/CPUSets/Package.appxmanifest index 5c53a36f..4300a04c 100644 --- a/Samples/System/CPUSets/Package.appxmanifest +++ b/Samples/System/CPUSets/Package.appxmanifest @@ -1,10 +1,10 @@  - + CPUSets - ATG + Xbox Advanced Technology Group Assets\StoreLogo.png diff --git a/Samples/System/CollisionUWP/Assets/Logo.png b/Samples/System/CollisionUWP/Assets/Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..6e7e704a106b99487be0f1eded426e6c5a2c65a9 GIT binary patch literal 39826 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 YA}aUbQ|(Go1_lNOPgg&ebxsLQ0HMvfUjP6A literal 0 HcmV?d00001 diff --git a/Samples/System/CollisionUWP/Assets/SmallLogo.png b/Samples/System/CollisionUWP/Assets/SmallLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..98b09d91991638282fc2426bbfd4a517733ff15a GIT binary patch literal 23704 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 QcF+-zp00i_>zopr0N0Pd_W%F@ literal 0 HcmV?d00001 diff --git a/Samples/System/CollisionUWP/Assets/SplashScreen.png b/Samples/System/CollisionUWP/Assets/SplashScreen.png new file mode 100644 index 0000000000000000000000000000000000000000..c352b156fd090a57aec7da81b3b19a3fb5888b43 GIT binary patch literal 26474 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 omdKI;Vst01?W$S^xk5 literal 0 HcmV?d00001 diff --git a/Samples/System/CollisionUWP/Assets/StoreLogo.png b/Samples/System/CollisionUWP/Assets/StoreLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..315472e10b9d380e509b2f041ea9ace5f994f5d2 GIT binary patch literal 24268 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 literal 0 HcmV?d00001 diff --git a/Samples/System/CollisionUWP/Assets/WideLogo.png b/Samples/System/CollisionUWP/Assets/WideLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..c70f68e2c59214e0ff54844ccd8ae5e955826e10 GIT binary patch literal 46540 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 literal 0 HcmV?d00001 diff --git a/Samples/System/CollisionUWP/Collision.cpp b/Samples/System/CollisionUWP/Collision.cpp new file mode 100644 index 00000000..d15e088a --- /dev/null +++ b/Samples/System/CollisionUWP/Collision.cpp @@ -0,0 +1,720 @@ +//-------------------------------------------------------------------------------------- +// Collision.cpp +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#include "pch.h" +#include "Collision.h" + +#include "ATGColors.h" +#include "DebugDraw.h" + +using namespace DirectX; +using namespace DirectX::SimpleMath; + +using Microsoft::WRL::ComPtr; + +namespace +{ + static const float c_cameraSpacing = 50.f; + + //-------------------------------------------------------------------------------------- + // Returns the color based on the collision result and the group number. + // Frustum tests (group 0) return 0, 1, or 2 for outside, partially inside, and fully inside; + // all other tests return 0 or 1 for no collision or collision. + //-------------------------------------------------------------------------------------- + inline XMVECTOR GetCollisionColor(ContainmentType collision, int groupnumber) + { + // special case: a value of 1 for groups 1 and higher needs to register as a full collision + if (groupnumber >= 3 && collision > 0) + collision = CONTAINS; + + switch (collision) + { + case DISJOINT: return ATG::Colors::Green; + case INTERSECTS: return ATG::Colors::Orange; + case CONTAINS: + default: return ATG::Colors::White; + } + } + + const wchar_t* g_SampleTitle = L"Collision sample"; + const wchar_t* g_SampleDescription = L"This sample demonstrates DirectXMath's collision types"; + const ATG::HelpButtonAssignment g_HelpButtons[] = { + { ATG::HelpID::MENU_BUTTON, L"Toggle help" }, + { ATG::HelpID::VIEW_BUTTON, L"Exit" }, + { ATG::HelpID::RIGHT_STICK, L"Orbit X/Y" }, + { ATG::HelpID::RIGHT_STICK_CLICK, L"Reset view" }, + { ATG::HelpID::DPAD_LEFT, L"Ray" }, + { ATG::HelpID::DPAD_RIGHT, L"Axis-aligned box" }, + { ATG::HelpID::DPAD_UP, L"Frustum" }, + { ATG::HelpID::DPAD_DOWN, L"Oriented box" }, + }; +} + +Sample::Sample() : + m_showHelp(false) +{ + m_deviceResources = std::make_unique(); + m_deviceResources->RegisterDeviceNotify(this); + + m_camera.SetRadius(25.f); + m_camera.SetSensitivity(5.f, 1.f, 10.f, .25f); + m_camera.SetProjectionParameters(XM_PI / 4.f, 0.1f, 1000.f); + m_camera.SetFlags(DX::OrbitCamera::c_FlagsDisableTranslation + | DX::OrbitCamera::c_FlagsDisableRollZ + | DX::OrbitCamera::c_FlagsArrowKeysOrbit + | DX::OrbitCamera::c_FlagsDisableRadiusControl + | DX::OrbitCamera::c_FlagsDisableSensitivityControl); + + m_help = std::make_unique(g_SampleTitle, g_SampleDescription, g_HelpButtons, _countof(g_HelpButtons)); +} + +// Initialize the Direct3D resources required to run. +void Sample::Initialize(IUnknown* window, int width, int height, DXGI_MODE_ROTATION rotation) +{ + InitializeObjects(); + + SetViewForGroup(0); + + m_gamePad = std::make_unique(); + + m_keyboard = std::make_unique(); + m_keyboard->SetWindow(reinterpret_cast(window)); + + m_mouse = std::make_unique(); + m_mouse->SetWindow(reinterpret_cast(window)); + + m_deviceResources->SetWindow(window, width, height, rotation); + + m_deviceResources->CreateDeviceResources(); + CreateDeviceDependentResources(); + + m_deviceResources->CreateWindowSizeDependentResources(); + CreateWindowSizeDependentResources(); +} + +#pragma region Frame Update +// Executes basic render loop. +void Sample::Tick() +{ + m_timer.Tick([&]() + { + Update(m_timer); + }); + + Render(); +} + +// Updates the world. +void Sample::Update(DX::StepTimer const& timer) +{ + PIXBeginEvent(PIX_COLOR_DEFAULT, L"Update"); + + // Update position of collision objects. + Animate(timer.GetTotalSeconds()); + + // Compute collisions. + Collide(); + + float elapsedTime = float(timer.GetElapsedSeconds()); + + auto pad = m_gamePad->GetState(0); + if (pad.IsConnected()) + { + m_gamePadButtons.Update(pad); + + if (pad.IsViewPressed()) + { + Windows::ApplicationModel::Core::CoreApplication::Exit(); + } + + if (m_gamePadButtons.menu == GamePad::ButtonStateTracker::PRESSED) + { + m_showHelp = !m_showHelp; + } + else if (m_showHelp && m_gamePadButtons.b == GamePad::ButtonStateTracker::PRESSED) + { + m_showHelp = false; + } + else if (!m_showHelp) + { + m_camera.Update(elapsedTime, pad); + + if (m_gamePadButtons.dpadUp == GamePad::ButtonStateTracker::PRESSED) + { + SetViewForGroup(0); + } + else if (m_gamePadButtons.dpadRight == GamePad::ButtonStateTracker::PRESSED) + { + SetViewForGroup(1); + } + else if (m_gamePadButtons.dpadDown == GamePad::ButtonStateTracker::PRESSED) + { + SetViewForGroup(2); + } + else if (m_gamePadButtons.dpadLeft == GamePad::ButtonStateTracker::PRESSED) + { + SetViewForGroup(3); + } + } + } + else + { + m_gamePadButtons.Reset(); + + if (!m_showHelp) + m_camera.Update(elapsedTime, *m_mouse, *m_keyboard); + } + + auto kb = m_keyboard->GetState(); + m_keyboardButtons.Update(kb); + + // Keyboard input handling for controller help menu. + if (m_keyboardButtons.IsKeyPressed(Keyboard::F1)) + { + m_showHelp = !m_showHelp; + } + else if (m_showHelp && kb.Escape) + { + m_showHelp = false; + } + else if (m_keyboardButtons.IsKeyPressed(Keyboard::Escape)) + { + Windows::ApplicationModel::Core::CoreApplication::Exit(); + } + else if (!m_showHelp) + { + if (m_keyboardButtons.IsKeyPressed(Keyboard::Keys::D1)) + { + SetViewForGroup(0); + } + else if (m_keyboardButtons.IsKeyPressed(Keyboard::Keys::D2)) + { + SetViewForGroup(1); + } + else if (m_keyboardButtons.IsKeyPressed(Keyboard::Keys::D3)) + { + SetViewForGroup(2); + } + else if (m_keyboardButtons.IsKeyPressed(Keyboard::Keys::D4)) + { + SetViewForGroup(3); + } + } + + PIXEndEvent(); +} +#pragma endregion + +#pragma region Frame Render +// Draws the scene. +void Sample::Render() +{ + // Don't try to render anything before the first Update. + if (m_timer.GetFrameCount() == 0) + { + return; + } + + Clear(); + + auto context = m_deviceResources->GetD3DDeviceContext(); + PIXBeginEvent(context, PIX_COLOR_DEFAULT, L"Render"); + + if (m_showHelp) + { + // Draw help screen. + m_help->Render(); + } + else + { + context->OMSetBlendState(m_states->Opaque(), nullptr, 0xFFFFFFFF); + context->OMSetDepthStencilState(m_states->DepthNone(), 0); + context->RSSetState(m_states->CullNone()); + + XMMATRIX projection = m_camera.GetProjection(); + + XMFLOAT4X4 orient = m_deviceResources->GetOrientationTransform3D(); + projection *= XMLoadFloat4x4(&orient); + + m_effect->SetView(m_camera.GetView()); + m_effect->SetProjection(projection); + m_effect->Apply(context); + + context->IASetInputLayout(m_layout.Get()); + + m_batch->Begin(); + + // Draw ground planes + for (size_t i = 0; i < c_groupCount; ++i) + { + static const XMVECTORF32 s_xAxis = { 20.f, 0.f, 0.f, 0.f }; + static const XMVECTORF32 s_yAxis = { 0.f, 0.f, 20.f, 0.f }; + + static const XMVECTORF32 s_Offset = { 0.f, 10.f, 0.f, 0.f }; + XMVECTOR origin = m_cameraOrigins[i] - s_Offset; + + DX::DrawGrid(m_batch.get(), s_xAxis, s_yAxis, origin, 20, 20, ATG::Colors::OffWhite); + } + + // Draw primary collision objects in white + DX::Draw(m_batch.get(), m_primaryFrustum, ATG::Colors::Blue); + DX::Draw(m_batch.get(), m_primaryAABox, ATG::Colors::Blue); + DX::Draw(m_batch.get(), m_primaryOrientedBox, ATG::Colors::Blue); + + { + XMVECTOR direction = XMVectorScale(m_primaryRay.direction, 10.0f); + DX::DrawRay(m_batch.get(), m_primaryRay.origin, direction, false, ATG::Colors::LightGrey); + DX::DrawRay(m_batch.get(), m_primaryRay.origin, direction, false, ATG::Colors::White); + } + + // Draw secondary collision objects in colors based on collision results + for (int i = 0; i < c_groupCount; ++i) + { + const CollisionSphere& sphere = m_secondarySpheres[i]; + XMVECTOR c = GetCollisionColor(sphere.collision, i); + DX::Draw(m_batch.get(), sphere.sphere, c); + + const CollisionBox& obox = m_secondaryOrientedBoxes[i]; + c = GetCollisionColor(obox.collision, i); + DX::Draw(m_batch.get(), obox.obox, c); + + const CollisionAABox& aabox = m_secondaryAABoxes[i]; + c = GetCollisionColor(aabox.collision, i); + DX::Draw(m_batch.get(), aabox.aabox, c); + + const CollisionTriangle& tri = m_secondaryTriangles[i]; + c = GetCollisionColor(tri.collision, i); + DX::DrawTriangle(m_batch.get(), tri.pointa, tri.pointb, tri.pointc, c); + } + + // Draw results of ray-object intersection, if there was a hit this frame + if (m_rayHitResultBox.collision != DISJOINT) + DX::Draw(m_batch.get(), m_rayHitResultBox.aabox, ATG::Colors::Orange); + + m_batch->End(); + + auto rect = m_deviceResources->GetOutputSize(); + + auto safeRect = Viewport::ComputeTitleSafeArea(rect.right, rect.bottom); + + m_sprites->Begin(); + + m_font->DrawString(m_sprites.get(), m_name.c_str(), XMFLOAT2(float(safeRect.left), float(safeRect.top)), ATG::Colors::White); + + m_sprites->End(); + } + + PIXEndEvent(context); + + // Show the new frame. + PIXBeginEvent(PIX_COLOR_DEFAULT, L"Present"); + m_deviceResources->Present(); + PIXEndEvent(); +} + +// Helper method to clear the back buffers. +void Sample::Clear() +{ + auto context = m_deviceResources->GetD3DDeviceContext(); + PIXBeginEvent(context, PIX_COLOR_DEFAULT, L"Clear"); + + // Clear the views. + auto renderTarget = m_deviceResources->GetBackBufferRenderTargetView(); + auto depthStencil = m_deviceResources->GetDepthStencilView(); + + context->ClearRenderTargetView(renderTarget, ATG::Colors::Background); + context->ClearDepthStencilView(depthStencil, D3D11_CLEAR_DEPTH | D3D11_CLEAR_STENCIL, 1.0f, 0); + + context->OMSetRenderTargets(1, &renderTarget, depthStencil); + + // Set the viewport. + auto viewport = m_deviceResources->GetScreenViewport(); + context->RSSetViewports(1, &viewport); + + PIXEndEvent(context); +} +#pragma endregion + +#pragma region Message Handlers +// Message handlers +void Sample::OnActivated() +{ +} + +void Sample::OnDeactivated() +{ +} + +void Sample::OnSuspending() +{ + auto context = m_deviceResources->GetD3DDeviceContext(); + context->ClearState(); + + m_deviceResources->Trim(); +} + +void Sample::OnResuming() +{ + m_timer.ResetElapsedTime(); + m_gamePadButtons.Reset(); + m_keyboardButtons.Reset(); + m_camera.Reset(); +} + +void Sample::OnWindowSizeChanged(int width, int height, DXGI_MODE_ROTATION rotation) +{ + if (!m_deviceResources->WindowSizeChanged(width, height, rotation)) + return; + + CreateWindowSizeDependentResources(); +} + +void Sample::ValidateDevice() +{ + m_deviceResources->ValidateDevice(); +} + +// Properties +void Sample::GetDefaultSize(int& width, int& height) const +{ + width = 1280; + height = 720; +} +#pragma endregion + +#pragma region Direct3D Resources +// These are the resources that depend on the device. +void Sample::CreateDeviceDependentResources() +{ + auto device = m_deviceResources->GetD3DDevice(); + auto context = m_deviceResources->GetD3DDeviceContext(); + + m_states = std::make_unique(device); + + m_batch = std::make_unique>(context); + + m_sprites = std::make_unique(context); + + m_font = std::make_unique(device, L"SegoeUI_18.spritefont"); + + m_effect = std::make_unique(device); + m_effect->SetVertexColorEnabled(true); + + { + void const* shaderByteCode; + size_t byteCodeLength; + + m_effect->GetVertexShaderBytecode(&shaderByteCode, &byteCodeLength); + + DX::ThrowIfFailed( + device->CreateInputLayout( + VertexPositionColor::InputElements, VertexPositionColor::InputElementCount, + shaderByteCode, byteCodeLength, + m_layout.ReleaseAndGetAddressOf())); + } + + // Set help device context. + m_help->RestoreDevice(context); +} + +// Allocate all memory resources that change on a window SizeChanged event. +void Sample::CreateWindowSizeDependentResources() +{ + auto output = m_deviceResources->GetOutputSize(); + + m_camera.SetWindow(output.right - output.left, output.bottom - output.top); + + m_sprites->SetRotation(m_deviceResources->GetRotation()); + + // Set help rendering size. + m_help->SetWindow(output); +} + +void Sample::OnDeviceLost() +{ + m_states.reset(); + m_effect.reset(); + m_batch.reset(); + m_font.reset(); + m_sprites.reset(); + m_layout.Reset(); + + // Inform help of lost device. + m_help->ReleaseDevice(); +} + +void Sample::OnDeviceRestored() +{ + CreateDeviceDependentResources(); + + CreateWindowSizeDependentResources(); +} +#pragma endregion + + +void Sample::InitializeObjects() +{ + const XMVECTOR c_zero = XMVectorZero(); + + // Set up the primary frustum object from a D3D projection matrix + // NOTE: This can also be done on your camera's projection matrix. The projection + // matrix built here is somewhat contrived so it renders well. + XMMATRIX xmProj = XMMatrixPerspectiveFovLH( XM_PIDIV4, 1.77778f, 0.5f, 10.0f ); + BoundingFrustum::CreateFromMatrix( m_primaryFrustum, xmProj ); + m_primaryFrustum.Origin.z = -7.0f; + m_cameraOrigins[0] = c_zero; + + // Set up the primary axis aligned box + m_primaryAABox.Center = XMFLOAT3( c_cameraSpacing, 0, 0 ); + m_primaryAABox.Extents = XMFLOAT3( 5, 5, 5 ); + m_cameraOrigins[1] = Vector3( c_cameraSpacing, 0, 0 ); + + // Set up the primary oriented box with some rotation + m_primaryOrientedBox.Center = XMFLOAT3( -c_cameraSpacing, 0, 0 ); + m_primaryOrientedBox.Extents = XMFLOAT3( 5, 5, 5 ); + XMStoreFloat4( &m_primaryOrientedBox.Orientation, XMQuaternionRotationRollPitchYaw( XM_PIDIV4, XM_PIDIV4, 0 ) ); + m_cameraOrigins[2] = Vector3( -c_cameraSpacing, 0, 0 ); + + // Set up the primary ray + m_primaryRay.origin = Vector3( 0, 0, c_cameraSpacing ); + m_primaryRay.direction = Vector3::UnitZ; + m_cameraOrigins[3] = Vector3( 0, 0, c_cameraSpacing ); + + // Initialize all of the secondary objects with default values + for(size_t i = 0; i < c_groupCount; i++ ) + { + m_secondarySpheres[i].sphere.Radius = 1.0f; + m_secondarySpheres[i].sphere.Center = XMFLOAT3( 0, 0, 0 ); + m_secondarySpheres[i].collision = DISJOINT; + + m_secondaryOrientedBoxes[i].obox.Center = XMFLOAT3( 0, 0, 0 ); + m_secondaryOrientedBoxes[i].obox.Extents = XMFLOAT3( 0.5f, 0.5f, 0.5f ); + m_secondaryOrientedBoxes[i].obox.Orientation = XMFLOAT4( 0, 0, 0, 1 ); + m_secondaryOrientedBoxes[i].collision = DISJOINT; + + m_secondaryAABoxes[i].aabox.Center = XMFLOAT3( 0, 0, 0 ); + m_secondaryAABoxes[i].aabox.Extents = XMFLOAT3( 0.5f, 0.5f, 0.5f ); + m_secondaryAABoxes[i].collision = DISJOINT; + + m_secondaryTriangles[i].pointa = c_zero; + m_secondaryTriangles[i].pointb = c_zero; + m_secondaryTriangles[i].pointc = c_zero; + m_secondaryTriangles[i].collision = DISJOINT; + } + + // Set up ray hit result box + m_rayHitResultBox.aabox.Center = XMFLOAT3( 0, 0, 0 ); + m_rayHitResultBox.aabox.Extents = XMFLOAT3( 0.05f, 0.05f, 0.05f ); +} + +void Sample::Animate( double fTime ) +{ + float t = static_cast(fTime * 0.2); + + const float camera0OriginX = XMVectorGetX(m_cameraOrigins[0]); + const float camera1OriginX = XMVectorGetX(m_cameraOrigins[1]); + const float camera2OriginX = XMVectorGetX(m_cameraOrigins[2]); + const float camera3OriginX = XMVectorGetX(m_cameraOrigins[3]); + const float camera3OriginZ = XMVectorGetZ(m_cameraOrigins[3]); + + // animate sphere 0 around the frustum + m_secondarySpheres[0].sphere.Center.x = 10.f * sinf( 3.f * t ); + m_secondarySpheres[0].sphere.Center.y = 7.f * cosf( 5.f * t ); + + // animate oriented box 0 around the frustum + m_secondaryOrientedBoxes[0].obox.Center.x = 8.f * sinf( 3.5f * t ); + m_secondaryOrientedBoxes[0].obox.Center.y = 5.f * cosf( 5.1f * t ); + XMStoreFloat4( &( m_secondaryOrientedBoxes[0].obox.Orientation ), XMQuaternionRotationRollPitchYaw( t * 1.4f, t * 0.2f, t ) ); + + // animate aligned box 0 around the frustum + m_secondaryAABoxes[0].aabox.Center.x = 10.f * sinf( 2.1f * t ); + m_secondaryAABoxes[0].aabox.Center.y = 7.f * cosf( 3.8f * t ); + + // animate sphere 1 around the aligned box + m_secondarySpheres[1].sphere.Center.x = 8.f * sinf( 2.9f * t ) + camera1OriginX; + m_secondarySpheres[1].sphere.Center.y = 8.f * cosf( 4.6f * t ); + m_secondarySpheres[1].sphere.Center.z = 8.f * cosf( 1.6f * t ); + + // animate oriented box 1 around the aligned box + m_secondaryOrientedBoxes[1].obox.Center.x = 8.f * sinf( 3.2f * t ) + camera1OriginX; + m_secondaryOrientedBoxes[1].obox.Center.y = 8.f * cosf( 2.1f * t ); + m_secondaryOrientedBoxes[1].obox.Center.z = 8.f * sinf( 1.6f * t ); + XMStoreFloat4( &( m_secondaryOrientedBoxes[1].obox.Orientation ), XMQuaternionRotationRollPitchYaw( t * 0.7f, t * 1.3f, t ) ); + + // animate aligned box 1 around the aligned box + m_secondaryAABoxes[1].aabox.Center.x = 8.f * sinf( 1.1f * t ) + camera1OriginX; + m_secondaryAABoxes[1].aabox.Center.y = 8.f * cosf( 5.8f * t ); + m_secondaryAABoxes[1].aabox.Center.z = 8.f * cosf( 3.0f * t ); + + // animate sphere 2 around the oriented box + m_secondarySpheres[2].sphere.Center.x = 8.f * sinf( 2.2f * t ) + camera2OriginX; + m_secondarySpheres[2].sphere.Center.y = 8.f * cosf( 4.3f * t ); + m_secondarySpheres[2].sphere.Center.z = 8.f * cosf( 1.8f * t ); + + // animate oriented box 2 around the oriented box + m_secondaryOrientedBoxes[2].obox.Center.x = 8.f * sinf( 3.7f * t ) + camera2OriginX; + m_secondaryOrientedBoxes[2].obox.Center.y = 8.f * cosf( 2.5f * t ); + m_secondaryOrientedBoxes[2].obox.Center.z = 8.f * sinf( 1.1f * t ); + XMStoreFloat4( &( m_secondaryOrientedBoxes[2].obox.Orientation ), XMQuaternionRotationRollPitchYaw( t * 0.9f, t * 1.8f, t ) ); + + // animate aligned box 2 around the oriented box + m_secondaryAABoxes[2].aabox.Center.x = 8.f * sinf( 1.3f * t ) + camera2OriginX; + m_secondaryAABoxes[2].aabox.Center.y = 8.f * cosf( 5.2f * t ); + m_secondaryAABoxes[2].aabox.Center.z = 8.f * cosf( 3.5f * t ); + + // triangle points in local space - equilateral triangle with radius of 2 + const static XMVECTORF32 TrianglePointA = { 0.f, 2.f, 0.f, 0.f }; + const static XMVECTORF32 TrianglePointB = { 1.732f, -1.f, 0.f, 0.f }; + const static XMVECTORF32 TrianglePointC = { -1.732f, -1.f, 0.f, 0.f }; + + // animate triangle 0 around the frustum + XMMATRIX TriangleCoords = XMMatrixRotationRollPitchYaw( t * 1.4f, t * 2.5f, t ); + XMMATRIX Translation = XMMatrixTranslation( 5.f * sinf( 5.3f * t ) + camera0OriginX, 5.f * cosf( 2.3f * t ), 5.f * sinf( 3.4f * t ) ); + TriangleCoords = XMMatrixMultiply( TriangleCoords, Translation ); + m_secondaryTriangles[0].pointa = XMVector3Transform( TrianglePointA, TriangleCoords ); + m_secondaryTriangles[0].pointb = XMVector3Transform( TrianglePointB, TriangleCoords ); + m_secondaryTriangles[0].pointc = XMVector3Transform( TrianglePointC, TriangleCoords ); + + // animate triangle 1 around the aligned box + TriangleCoords = XMMatrixRotationRollPitchYaw( t * 1.4f, t * 2.5f, t ); + Translation = XMMatrixTranslation( 8.f * sinf( 5.3f * t ) + camera1OriginX, 8.f * cosf( 2.3f * t ), 8.f * sinf( 3.4f * t ) ); + TriangleCoords = XMMatrixMultiply( TriangleCoords, Translation ); + m_secondaryTriangles[1].pointa = XMVector3Transform( TrianglePointA, TriangleCoords ); + m_secondaryTriangles[1].pointb = XMVector3Transform( TrianglePointB, TriangleCoords ); + m_secondaryTriangles[1].pointc = XMVector3Transform( TrianglePointC, TriangleCoords ); + + // animate triangle 2 around the oriented box + TriangleCoords = XMMatrixRotationRollPitchYaw( t * 1.4f, t * 2.5f, t ); + Translation = XMMatrixTranslation( 8.f * sinf( 5.3f * t ) + camera2OriginX, 8.f * cosf( 2.3f * t ), 8.f * sinf( 3.4f * t ) ); + TriangleCoords = XMMatrixMultiply( TriangleCoords, Translation ); + m_secondaryTriangles[2].pointa = XMVector3Transform( TrianglePointA, TriangleCoords ); + m_secondaryTriangles[2].pointb = XMVector3Transform( TrianglePointB, TriangleCoords ); + m_secondaryTriangles[2].pointc = XMVector3Transform( TrianglePointC, TriangleCoords ); + + // animate primary ray (this is the only animated primary object) + m_primaryRay.direction = Vector3( sinf( t * 3.f), 0.f, cosf( t * 3.f) ); + + // animate sphere 3 around the ray + m_secondarySpheres[3].sphere.Center = XMFLOAT3( camera3OriginX - 3.f, 0.5f * sinf( t * 5.f), camera3OriginZ ); + + // animate aligned box 3 around the ray + m_secondaryAABoxes[3].aabox.Center = XMFLOAT3( camera3OriginX + 3.f, 0.5f * sinf( t * 4.f), camera3OriginZ ); + + // animate oriented box 3 around the ray + m_secondaryOrientedBoxes[3].obox.Center = XMFLOAT3( camera3OriginX, 0.5f * sinf( t * 4.5f ), camera3OriginZ + 3.f); + XMStoreFloat4( &( m_secondaryOrientedBoxes[3].obox.Orientation ), XMQuaternionRotationRollPitchYaw( t * 0.9f, t * 1.8f, t ) ); + + // animate triangle 3 around the ray + TriangleCoords = XMMatrixRotationRollPitchYaw( t * 1.4f, t * 2.5f, t ); + Translation = XMMatrixTranslation( camera3OriginX, 0.5f * cosf( 4.3f * t ), camera3OriginZ - 3.f ); + TriangleCoords = XMMatrixMultiply( TriangleCoords, Translation ); + m_secondaryTriangles[3].pointa = XMVector3Transform( TrianglePointA, TriangleCoords ); + m_secondaryTriangles[3].pointb = XMVector3Transform( TrianglePointB, TriangleCoords ); + m_secondaryTriangles[3].pointc = XMVector3Transform( TrianglePointC, TriangleCoords ); +} + +void Sample::Collide() +{ + // test collisions between objects and frustum + m_secondarySpheres[0].collision = m_primaryFrustum.Contains( m_secondarySpheres[0].sphere ); + m_secondaryOrientedBoxes[0].collision = m_primaryFrustum.Contains( m_secondaryOrientedBoxes[0].obox ); + m_secondaryAABoxes[0].collision = m_primaryFrustum.Contains( m_secondaryAABoxes[0].aabox ); + m_secondaryTriangles[0].collision = m_primaryFrustum.Contains( m_secondaryTriangles[0].pointa, + m_secondaryTriangles[0].pointb, + m_secondaryTriangles[0].pointc ); + + // test collisions between objects and aligned box + m_secondarySpheres[1].collision = m_primaryAABox.Contains( m_secondarySpheres[1].sphere ); + m_secondaryOrientedBoxes[1].collision = m_primaryAABox.Contains( m_secondaryOrientedBoxes[1].obox ); + m_secondaryAABoxes[1].collision = m_primaryAABox.Contains( m_secondaryAABoxes[1].aabox ); + m_secondaryTriangles[1].collision = m_primaryAABox.Contains( m_secondaryTriangles[1].pointa, + m_secondaryTriangles[1].pointb, + m_secondaryTriangles[1].pointc ); + + // test collisions between objects and oriented box + m_secondarySpheres[2].collision = m_primaryOrientedBox.Contains( m_secondarySpheres[2].sphere ); + m_secondaryOrientedBoxes[2].collision = m_primaryOrientedBox.Contains( m_secondaryOrientedBoxes[2].obox ); + m_secondaryAABoxes[2].collision = m_primaryOrientedBox.Contains( m_secondaryAABoxes[2].aabox ); + m_secondaryTriangles[2].collision = m_primaryOrientedBox.Contains( m_secondaryTriangles[2].pointa, + m_secondaryTriangles[2].pointb, + m_secondaryTriangles[2].pointc ); + + // test collisions between objects and ray + float fDistance = -1.0f; + + float fDist; + if ( m_secondarySpheres[3].sphere.Intersects( m_primaryRay.origin, m_primaryRay.direction, fDist ) ) + { + fDistance = fDist; + m_secondarySpheres[3].collision = INTERSECTS; + } + else + m_secondarySpheres[3].collision = DISJOINT; + + if ( m_secondaryOrientedBoxes[3].obox.Intersects( m_primaryRay.origin, m_primaryRay.direction, fDist ) ) + { + fDistance = fDist; + m_secondaryOrientedBoxes[3].collision = INTERSECTS; + } + else + m_secondaryOrientedBoxes[3].collision = DISJOINT; + + if ( m_secondaryAABoxes[3].aabox.Intersects( m_primaryRay.origin, m_primaryRay.direction, fDist ) ) + { + fDistance = fDist; + m_secondaryAABoxes[3].collision = INTERSECTS; + } + else + m_secondaryAABoxes[3].collision = DISJOINT; + + if ( TriangleTests::Intersects( m_primaryRay.origin, m_primaryRay.direction, + m_secondaryTriangles[3].pointa, + m_secondaryTriangles[3].pointb, + m_secondaryTriangles[3].pointc, + fDist ) ) + { + fDistance = fDist; + m_secondaryTriangles[3].collision = INTERSECTS; + } + else + m_secondaryTriangles[3].collision = DISJOINT; + + // If one of the ray intersection tests was successful, fDistance will be positive. + // If so, compute the intersection location and store it in g_RayHitResultBox. + if( fDistance > 0 ) + { + // The primary ray's direction is assumed to be normalized. + XMVECTOR HitLocation = XMVectorMultiplyAdd( m_primaryRay.direction, XMVectorReplicate( fDistance ), + m_primaryRay.origin ); + XMStoreFloat3( &m_rayHitResultBox.aabox.Center, HitLocation ); + m_rayHitResultBox.collision = INTERSECTS; + } + else + { + m_rayHitResultBox.collision = DISJOINT; + } +} + + +//-------------------------------------------------------------------------------------- +// Sets the camera to view a particular group of objects +//-------------------------------------------------------------------------------------- +void Sample::SetViewForGroup( int group ) +{ + assert( group < c_groupCount); + + m_camera.SetFocus(m_cameraOrigins[group]); + m_camera.SetRotation(XMQuaternionRotationRollPitchYaw(-XM_PI / 4.f, 0.f, 0.f)); + + switch (group) + { + default: m_name = L"Frustum"; break; + case 1: m_name = L"Axis-aligned box"; break; + case 2: m_name = L"Oriented box"; break; + case 3: m_name = L"Ray"; break; + } +} diff --git a/Samples/System/CollisionUWP/Collision.h b/Samples/System/CollisionUWP/Collision.h new file mode 100644 index 00000000..5d4927d1 --- /dev/null +++ b/Samples/System/CollisionUWP/Collision.h @@ -0,0 +1,154 @@ +//-------------------------------------------------------------------------------------- +// Collision.h +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#pragma once + +#include "DeviceResources.h" +#include "StepTimer.h" +#include "ControllerHelp.h" +#include "OrbitCamera.h" + + +// A basic sample implementation that creates a D3D11 device and +// provides a render loop. +class Sample : public DX::IDeviceNotify +{ +public: + + Sample(); + + // Initialization and management + void Initialize(IUnknown* window, int width, int height, DXGI_MODE_ROTATION rotation); + + // Basic render loop + void Tick(); + void Render(); + + // Rendering helpers + void Clear(); + + // IDeviceNotify + virtual void OnDeviceLost() override; + virtual void OnDeviceRestored() override; + + // Messages + void OnActivated(); + void OnDeactivated(); + void OnSuspending(); + void OnResuming(); + void OnWindowSizeChanged(int width, int height, DXGI_MODE_ROTATION rotation); + void ValidateDevice(); + + // Properties + void GetDefaultSize( int& width, int& height ) const; + +private: + + void Update(DX::StepTimer const& timer); + + void CreateDeviceDependentResources(); + void CreateWindowSizeDependentResources(); + + void InitializeObjects(); + void Animate(double fTime); + void Collide(); + void SetViewForGroup(int group); + + // Device resources. + std::unique_ptr m_deviceResources; + + // Rendering loop timer. + DX::StepTimer m_timer; + + // Input devices. + std::unique_ptr m_gamePad; + std::unique_ptr m_keyboard; + std::unique_ptr m_mouse; + + DirectX::GamePad::ButtonStateTracker m_gamePadButtons; + DirectX::Keyboard::KeyboardStateTracker m_keyboardButtons; + + // Rendering objects. + std::unique_ptr m_states; + std::unique_ptr m_effect; + std::unique_ptr> m_batch; + std::unique_ptr m_font; + std::unique_ptr m_sprites; + + Microsoft::WRL::ComPtr m_layout; + + std::wstring m_name; + + // Sample Help. + std::unique_ptr m_help; + bool m_showHelp; + + // View camera. + DX::OrbitCamera m_camera; + + // Collision sample. + using BoundingSphere = DirectX::BoundingSphere; + using BoundingOrientedBox = DirectX::BoundingOrientedBox; + using BoundingBox = DirectX::BoundingBox; + using BoundingFrustum = DirectX::BoundingFrustum; + using ContainmentType = DirectX::ContainmentType; + using Vector3 = DirectX::SimpleMath::Vector3; + + struct CollisionSphere + { + BoundingSphere sphere; + ContainmentType collision; + }; + + struct CollisionBox + { + BoundingOrientedBox obox; + ContainmentType collision; + }; + + struct CollisionAABox + { + BoundingBox aabox; + ContainmentType collision; + }; + + struct CollisionFrustum + { + BoundingFrustum frustum; + ContainmentType collision; + }; + + struct CollisionTriangle + { + Vector3 pointa; + Vector3 pointb; + Vector3 pointc; + ContainmentType collision; + }; + + struct CollisionRay + { + Vector3 origin; + Vector3 direction; + }; + + static const size_t c_groupCount = 4; + + BoundingFrustum m_primaryFrustum; + BoundingOrientedBox m_primaryOrientedBox; + BoundingBox m_primaryAABox; + CollisionRay m_primaryRay; + + CollisionSphere m_secondarySpheres[c_groupCount]; + CollisionBox m_secondaryOrientedBoxes[c_groupCount]; + CollisionAABox m_secondaryAABoxes[c_groupCount]; + CollisionTriangle m_secondaryTriangles[c_groupCount]; + + CollisionAABox m_rayHitResultBox; + + Vector3 m_cameraOrigins[c_groupCount]; +}; \ No newline at end of file diff --git a/Samples/System/CollisionUWP/Collision.sln b/Samples/System/CollisionUWP/Collision.sln new file mode 100644 index 00000000..802dfcca --- /dev/null +++ b/Samples/System/CollisionUWP/Collision.sln @@ -0,0 +1,54 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25123.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Collision", "Collision.vcxproj", "{0FDAF30A-3C4F-482B-B744-D8E0ED720BF8}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectXTK", "..\..\..\Kits\DirectXTK\DirectXTK_Windows10.vcxproj", "{F4776924-619C-42C7-88B2-82C947CCC9E7}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|ARM = Debug|ARM + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|ARM = Release|ARM + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {0FDAF30A-3C4F-482B-B744-D8E0ED720BF8}.Debug|ARM.ActiveCfg = Debug|ARM + {0FDAF30A-3C4F-482B-B744-D8E0ED720BF8}.Debug|ARM.Build.0 = Debug|ARM + {0FDAF30A-3C4F-482B-B744-D8E0ED720BF8}.Debug|ARM.Deploy.0 = Debug|ARM + {0FDAF30A-3C4F-482B-B744-D8E0ED720BF8}.Debug|x64.ActiveCfg = Debug|x64 + {0FDAF30A-3C4F-482B-B744-D8E0ED720BF8}.Debug|x64.Build.0 = Debug|x64 + {0FDAF30A-3C4F-482B-B744-D8E0ED720BF8}.Debug|x64.Deploy.0 = Debug|x64 + {0FDAF30A-3C4F-482B-B744-D8E0ED720BF8}.Debug|x86.ActiveCfg = Debug|Win32 + {0FDAF30A-3C4F-482B-B744-D8E0ED720BF8}.Debug|x86.Build.0 = Debug|Win32 + {0FDAF30A-3C4F-482B-B744-D8E0ED720BF8}.Debug|x86.Deploy.0 = Debug|Win32 + {0FDAF30A-3C4F-482B-B744-D8E0ED720BF8}.Release|ARM.ActiveCfg = Release|ARM + {0FDAF30A-3C4F-482B-B744-D8E0ED720BF8}.Release|ARM.Build.0 = Release|ARM + {0FDAF30A-3C4F-482B-B744-D8E0ED720BF8}.Release|ARM.Deploy.0 = Release|ARM + {0FDAF30A-3C4F-482B-B744-D8E0ED720BF8}.Release|x64.ActiveCfg = Release|x64 + {0FDAF30A-3C4F-482B-B744-D8E0ED720BF8}.Release|x64.Build.0 = Release|x64 + {0FDAF30A-3C4F-482B-B744-D8E0ED720BF8}.Release|x64.Deploy.0 = Release|x64 + {0FDAF30A-3C4F-482B-B744-D8E0ED720BF8}.Release|x86.ActiveCfg = Release|Win32 + {0FDAF30A-3C4F-482B-B744-D8E0ED720BF8}.Release|x86.Build.0 = Release|Win32 + {0FDAF30A-3C4F-482B-B744-D8E0ED720BF8}.Release|x86.Deploy.0 = Release|Win32 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|ARM.ActiveCfg = Debug|ARM + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|ARM.Build.0 = Debug|ARM + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|x64.ActiveCfg = Debug|x64 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|x64.Build.0 = Debug|x64 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|x86.ActiveCfg = Debug|Win32 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|x86.Build.0 = Debug|Win32 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|ARM.ActiveCfg = Release|ARM + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|ARM.Build.0 = Release|ARM + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|x64.ActiveCfg = Release|x64 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|x64.Build.0 = Release|x64 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|x86.ActiveCfg = Release|Win32 + {F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Samples/System/CollisionUWP/Collision.vcxproj b/Samples/System/CollisionUWP/Collision.vcxproj new file mode 100644 index 00000000..5105ccc0 --- /dev/null +++ b/Samples/System/CollisionUWP/Collision.vcxproj @@ -0,0 +1,292 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + Debug + ARM + + + Release + ARM + + + + {0fdaf30a-3c4f-482b-b744-d8e0ed720bf8} + DirectXApp + Collision + en-US + 14.0 + true + Windows Store + 10.0.10586.0 + 10.0.10240.0 + 10.0 + true + + + + Application + true + v140 + + + Application + true + v140 + + + Application + true + v140 + + + Application + false + true + v140 + + + Application + false + true + v140 + + + Application + false + true + v140 + + + + + + + + + + + + + + + + + + + + + + + + + + + + Collision_TemporaryKey.pfx + + + + d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\arm; $(VCInstallDir)\lib\arm + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + _DEBUG;%(PreprocessorDefinitions) + Fast + + + 4.0_level_9_3 + + + + + d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\arm; $(VCInstallDir)\lib\arm + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + NDEBUG;%(PreprocessorDefinitions) + Fast + + + 4.0_level_9_3 + + + + + d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store; $(VCInstallDir)\lib + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + _DEBUG;%(PreprocessorDefinitions) + Fast + StreamingSIMDExtensions2 + + + 4.0_level_9_3 + + + + + d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store; $(VCInstallDir)\lib + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + NDEBUG;%(PreprocessorDefinitions) + Fast + StreamingSIMDExtensions2 + + + 4.0_level_9_3 + + + + + d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\amd64; $(VCInstallDir)\lib\amd64 + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + _DEBUG;%(PreprocessorDefinitions) + Fast + + + 4.0_level_9_3 + + + + + d2d1.lib; d3d11.lib; dxgi.lib; dxguid.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + %(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\amd64; $(VCInstallDir)\lib\amd64 + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(IntermediateOutputPath);..\..\..\Kits\DirectXTK\Inc;..\..\..\Kits\ATGTK;%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + Level4 + NDEBUG;%(PreprocessorDefinitions) + Fast + + + 4.0_level_9_3 + + + + + + + + + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + + + + + Designer + + + true + true + true + true + true + true + + + true + true + true + true + true + true + + + true + true + true + true + true + true + + + + + + + + + + + + + + + + + {f4776924-619c-42c7-88b2-82c947ccc9e7} + + + + + + + + + \ No newline at end of file diff --git a/Samples/System/CollisionUWP/Collision.vcxproj.filters b/Samples/System/CollisionUWP/Collision.vcxproj.filters new file mode 100644 index 00000000..b931ba91 --- /dev/null +++ b/Samples/System/CollisionUWP/Collision.vcxproj.filters @@ -0,0 +1,96 @@ + + + + + 4f997ca7-682a-4977-9615-a9a7246ef390 + + + d6f4b9ac-4f29-4a83-bf72-9b37f8eb8c3d + bmp;dds;fbx;gif;jpg;jpeg;tga;tiff;tif;png + + + {35073fcb-7490-4930-8c71-c15e2d082b70} + + + + + + + Common + + + Common + + + ATG Tool Kit + + + ATG Tool Kit + + + ATG Tool Kit + + + ATG Tool Kit + + + + + + + + Common + + + ATG Tool Kit + + + ATG Tool Kit + + + ATG Tool Kit + + + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + + + + + + + Assets + + + Assets + + + Assets + + + + \ No newline at end of file diff --git a/Samples/System/CollisionUWP/Collision_TemporaryKey.pfx b/Samples/System/CollisionUWP/Collision_TemporaryKey.pfx new file mode 100644 index 0000000000000000000000000000000000000000..e32b4dc979ddce45048a581daece7e107d227168 GIT binary patch literal 2452 zcmXqL;+(+5$ZXKW>BGjU)#lOmotKfFaX}NOElU%pr9l&?sX-I#FBB=(*DOt}&kdSb z9~(5W-e=>6>f+&IWLnU~^3R}&<(GjB8y8HNk=cNcg~MAw_Wwj_u}UT;_6sacEH`G_ zPgrx*qCDExEdIUx$5n2;CX!S+(hQGpn(g{vQZ|F!k?vY@hGdu?uiesfInk84@giado( z&BqUuJ#Kt@VrpQsKeli4qF))}a!p@n=GyQSM{l`rex-&ZTkd{MhQpq)viU&=9?rYN z#WH)tvj5yQ>z;8t>9q?2c1pWdcbwn#XkOLDTdxmn zyZ!Rp+MxbL^OO4@{fk}1pOBk)Y!fppOQ@nM z41S}hTmE{g-jq)Tb3gGU&n%3T2tRRco#Oueb|0oEDxA{2$F9OCW$+@i>$K}S zA@(Vzdp4h&bZO3%o5t$qJozH)t6guWUi$a(%Joa!ua3{x+C8WD{={cG$2rUH{CnYb zLG#Mx)c*P-4Vyk{9}iqPb*DyxS-e(>$D`TYlh^Iw6o{9(|7BkEkCSGl`R#K9Uv#aO zcg;#GFZyx*zJ*ohCdaQa^A|9`c)D3(Nu@_}sqoF|vXO5WWZNFtdh0=B{ja=4<=83-FxX#{w&rB!3&?7&P)`Wdq?*E=JmV2DAjWu zk7VXLXdzp*;R=`M-0sl0|dL;=ciJzURn^ zhp(*YkbP%+WYvK!+jRJ)&y?EMu9~({K2k6G2v@;00jch2ueiIH z4W_Gp_05o6f9$zjj?}L`yP7vE6*J}4UtO?-mAiPgjSpVhx;12*T;hV{ zq_RGJF(1jL!V>OM`B{t2zgFIP>oSEuXKwMXmc{>7mqw>Ywm*D9NU4;7je7r!-~JAdw7fhN;xjzIJ5TASuX(aY{f_1Y?UeHksU_#zW`5jPo$M*Wn)QCl?b|2Q zH66FT@$m`H|Id&&E&r6PsqVg$*}P3Z+V!-l2g=>jfI7gfq}sw93d!T=q2aDkjh}pV8D>Xkj#+6V9Jol zpvz#ukjRkCki?+NV8W2dkjjwEpv#cRV9a2|V8)=!V8md|U;$Qd#E`~d!jJ^kmtqjh z#;MK5$imoUF34yYAm_*6%aF;C%uvLT&rr;e&ydDY!l1wq%uoUr$zw=oP+)LoC}OB& zC}1dI$Y)4rC}K!tC}79{>r!9{0IMrw$Ye-iNM$H8Xks>oyBt(8FsraMF)J7}G0PY< zF-stq{>%%Sm_8UZF};D8{hVTq3!0ejurx8C^#j5 zg^R=qD3k#A%#&;(p_%kE|`(jMpFP{7yTRpRq1`O@RE*2(7?5 z0@J4$TaOUUS z&AegtT{)Z5J{lVv8!guh4fv$I<6aNMW;mXyHamyP0!wWgR) ziuG}gn7<+E!({F*i-l>Kav#;H78U2G>JTP?AZiJ6gsaj}Mh zngI_RbEvE^BjbM-CIbcoF%VA`#N#pGV&l+eV`ODzXJ$qYOKxyjGBOB7Wkp?IXMN_0 zY_(N<`OiS+n{)R4*ppJc z>0kG{-!B8Qclf%viR5J6=I$XmR>fi zG!(_2-K`De4cOUOwfUHtq*z4MTsP$W-elB!A>!Ifol_;>H1eawSVT0p%!po}K7H@B T$f*)H7d6K&zNB3NY99dr=;{mL literal 0 HcmV?d00001 diff --git a/Samples/System/CollisionUWP/DeviceResources.cpp b/Samples/System/CollisionUWP/DeviceResources.cpp new file mode 100644 index 00000000..d549f821 --- /dev/null +++ b/Samples/System/CollisionUWP/DeviceResources.cpp @@ -0,0 +1,592 @@ +// +// DeviceResources.cpp - A wrapper for the Direct3D 11 device and swapchain +// (requires DirectX 11.3 Runtime) +// + + +#include "pch.h" +#include "DeviceResources.h" + +using namespace DirectX; + +using Microsoft::WRL::ComPtr; + +namespace +{ +#if defined(_DEBUG) + // Check for SDK Layer support. + inline bool SdkLayersAvailable() + { + HRESULT hr = D3D11CreateDevice( + nullptr, + D3D_DRIVER_TYPE_NULL, // There is no need to create a real hardware device. + 0, + D3D11_CREATE_DEVICE_DEBUG, // Check for the SDK layers. + nullptr, // Any feature level will do. + 0, + D3D11_SDK_VERSION, + nullptr, // No need to keep the D3D device reference. + nullptr, // No need to know the feature level. + nullptr // No need to keep the D3D device context reference. + ); + + return SUCCEEDED(hr); + } +#endif + + inline DXGI_FORMAT NoSRGB(DXGI_FORMAT fmt) + { + switch (fmt) + { + case DXGI_FORMAT_R8G8B8A8_UNORM_SRGB: return DXGI_FORMAT_R8G8B8A8_UNORM; + case DXGI_FORMAT_B8G8R8A8_UNORM_SRGB: return DXGI_FORMAT_B8G8R8A8_UNORM; + case DXGI_FORMAT_B8G8R8X8_UNORM_SRGB: return DXGI_FORMAT_B8G8R8X8_UNORM; + default: return fmt; + } + } +}; + +// Constants used to calculate screen rotations +namespace ScreenRotation +{ + // 0-degree Z-rotation + static const XMFLOAT4X4 Rotation0( + 1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 1.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f + ); + + // 90-degree Z-rotation + static const XMFLOAT4X4 Rotation90( + 0.0f, 1.0f, 0.0f, 0.0f, + -1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f + ); + + // 180-degree Z-rotation + static const XMFLOAT4X4 Rotation180( + -1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, -1.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f + ); + + // 270-degree Z-rotation + static const XMFLOAT4X4 Rotation270( + 0.0f, -1.0f, 0.0f, 0.0f, + 1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f + ); +}; + +// Constructor for DeviceResources. +DX::DeviceResources::DeviceResources(DXGI_FORMAT backBufferFormat, DXGI_FORMAT depthBufferFormat, UINT backBufferCount, D3D_FEATURE_LEVEL minFeatureLevel) : + m_screenViewport{}, + m_backBufferFormat(backBufferFormat), + m_depthBufferFormat(depthBufferFormat), + m_backBufferCount(backBufferCount), + m_d3dMinFeatureLevel(minFeatureLevel), + m_window(nullptr), + m_d3dFeatureLevel(D3D_FEATURE_LEVEL_9_1), + m_rotation(DXGI_MODE_ROTATION_IDENTITY), + m_outputSize{0, 0, 1, 1}, + m_orientationTransform3D(ScreenRotation::Rotation0), + m_deviceNotify(nullptr) +{ +} + +// Configures the Direct3D device, and stores handles to it and the device context. +void DX::DeviceResources::CreateDeviceResources() +{ + UINT creationFlags = D3D11_CREATE_DEVICE_BGRA_SUPPORT; + +#if defined(_DEBUG) + if (SdkLayersAvailable()) + { + // If the project is in a debug build, enable debugging via SDK Layers with this flag. + creationFlags |= D3D11_CREATE_DEVICE_DEBUG; + } + else + { + OutputDebugStringA("WARNING: Direct3D Debug Device is not available\n"); + } +#endif + + // Determine DirectX hardware feature levels this app will support. + static const D3D_FEATURE_LEVEL s_featureLevels[] = + { + D3D_FEATURE_LEVEL_12_1, + D3D_FEATURE_LEVEL_12_0, + D3D_FEATURE_LEVEL_11_1, + D3D_FEATURE_LEVEL_11_0, + D3D_FEATURE_LEVEL_10_1, + D3D_FEATURE_LEVEL_10_0, + D3D_FEATURE_LEVEL_9_3, + D3D_FEATURE_LEVEL_9_2, + D3D_FEATURE_LEVEL_9_1, + }; + + UINT featLevelCount = 0; + for (; featLevelCount < _countof(s_featureLevels); ++featLevelCount) + { + if (s_featureLevels[featLevelCount] < m_d3dMinFeatureLevel) + break; + } + + if (!featLevelCount) + { + throw std::out_of_range("minFeatureLevel too high"); + } + + ComPtr adapter; + GetHardwareAdapter(adapter.GetAddressOf()); + + // Create the Direct3D 11 API device object and a corresponding context. + ComPtr device; + ComPtr context; + + HRESULT hr = E_FAIL; + if (adapter) + { + hr = D3D11CreateDevice( + adapter.Get(), + D3D_DRIVER_TYPE_UNKNOWN, + 0, + creationFlags, // Set debug and Direct2D compatibility flags. + s_featureLevels, + featLevelCount, + D3D11_SDK_VERSION, + device.GetAddressOf(), // Returns the Direct3D device created. + &m_d3dFeatureLevel, // Returns feature level of device created. + context.GetAddressOf() // Returns the device immediate context. + ); + } +#if defined(NDEBUG) + else + { + throw std::exception("No Direct3D hardware device found"); + } +#else + if (FAILED(hr)) + { + // If the initialization fails, fall back to the WARP device. + // For more information on WARP, see: + // http://go.microsoft.com/fwlink/?LinkId=286690 + hr = D3D11CreateDevice( + nullptr, + D3D_DRIVER_TYPE_WARP, // Create a WARP device instead of a hardware device. + 0, + creationFlags, + s_featureLevels, + featLevelCount, + D3D11_SDK_VERSION, + device.GetAddressOf(), + &m_d3dFeatureLevel, + context.GetAddressOf() + ); + + if (SUCCEEDED(hr)) + { + OutputDebugStringA("Direct3D Adapter - WARP\n"); + } + } +#endif + + DX::ThrowIfFailed(hr); + +#ifndef NDEBUG + ComPtr d3dDebug; + if (SUCCEEDED(device.As(&d3dDebug))) + { + ComPtr d3dInfoQueue; + if (SUCCEEDED(d3dDebug.As(&d3dInfoQueue))) + { +#ifdef _DEBUG + d3dInfoQueue->SetBreakOnSeverity(D3D11_MESSAGE_SEVERITY_CORRUPTION, true); + d3dInfoQueue->SetBreakOnSeverity(D3D11_MESSAGE_SEVERITY_ERROR, true); +#endif + D3D11_MESSAGE_ID hide[] = + { + D3D11_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS, + }; + D3D11_INFO_QUEUE_FILTER filter = {}; + filter.DenyList.NumIDs = _countof(hide); + filter.DenyList.pIDList = hide; + d3dInfoQueue->AddStorageFilterEntries(&filter); + } + } +#endif + + DX::ThrowIfFailed(device.As(&m_d3dDevice)); + DX::ThrowIfFailed(context.As(&m_d3dContext)); +} + +// These resources need to be recreated every time the window size is changed. +void DX::DeviceResources::CreateWindowSizeDependentResources() +{ + if (!m_window) + { + throw std::exception("Call SetWindow with a valid CoreWindow pointer"); + } + + // Clear the previous window size specific context. + ID3D11RenderTargetView* nullViews[] = {nullptr}; + m_d3dContext->OMSetRenderTargets(_countof(nullViews), nullViews, nullptr); + m_d3dRenderTargetView.Reset(); + m_d3dDepthStencilView.Reset(); + m_d3dContext->Flush(); + + // Determine the render target size in pixels. + UINT backBufferWidth = std::max(m_outputSize.right - m_outputSize.left, 1); + UINT backBufferHeight = std::max(m_outputSize.bottom - m_outputSize.top, 1); + DXGI_FORMAT backBufferFormat = NoSRGB(m_backBufferFormat); + + if (m_swapChain) + { + // If the swap chain already exists, resize it. + HRESULT hr = m_swapChain->ResizeBuffers( + m_backBufferCount, + backBufferWidth, + backBufferHeight, + backBufferFormat, + 0 + ); + + if (hr == DXGI_ERROR_DEVICE_REMOVED || hr == DXGI_ERROR_DEVICE_RESET) + { +#ifdef _DEBUG + char buff[64] = {}; + sprintf_s(buff, "Device Lost on ResizeBuffers: Reason code 0x%08X\n", (hr == DXGI_ERROR_DEVICE_REMOVED) ? m_d3dDevice->GetDeviceRemovedReason() : hr); + OutputDebugStringA(buff); +#endif + // If the device was removed for any reason, a new device and swap chain will need to be created. + HandleDeviceLost(); + + // Everything is set up now. Do not continue execution of this method. HandleDeviceLost will reenter this method + // and correctly set up the new device. + return; + } + else + { + DX::ThrowIfFailed(hr); + } + } + else + { + // Otherwise, create a new one using the same adapter as the existing Direct3D device. + + // This sequence obtains the DXGI factory that was used to create the Direct3D device above. + ComPtr dxgiDevice; + DX::ThrowIfFailed(m_d3dDevice.As(&dxgiDevice)); + + ComPtr dxgiAdapter; + DX::ThrowIfFailed(dxgiDevice->GetAdapter(dxgiAdapter.GetAddressOf())); + + ComPtr dxgiFactory; + DX::ThrowIfFailed(dxgiAdapter->GetParent(IID_PPV_ARGS(dxgiFactory.GetAddressOf()))); + + DXGI_SWAP_CHAIN_DESC1 swapChainDesc = {}; + swapChainDesc.Width = backBufferWidth; + swapChainDesc.Height = backBufferHeight; + swapChainDesc.Format = backBufferFormat; + swapChainDesc.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT; + swapChainDesc.BufferCount = m_backBufferCount; + swapChainDesc.SampleDesc.Count = 1; + swapChainDesc.SampleDesc.Quality = 0; + swapChainDesc.Scaling = DXGI_SCALING_ASPECT_RATIO_STRETCH; + swapChainDesc.SwapEffect = DXGI_SWAP_EFFECT_FLIP_DISCARD; + swapChainDesc.AlphaMode = DXGI_ALPHA_MODE_IGNORE; + + ComPtr swapChain; + DX::ThrowIfFailed(dxgiFactory->CreateSwapChainForCoreWindow( + m_d3dDevice.Get(), + m_window, + &swapChainDesc, + nullptr, + swapChain.GetAddressOf() + )); + + DX::ThrowIfFailed(swapChain.As(&m_swapChain)); + + // Ensure that DXGI does not queue more than one frame at a time. This both reduces latency and + // ensures that the application will only render after each VSync, minimizing power consumption. + DX::ThrowIfFailed(dxgiDevice->SetMaximumFrameLatency(1)); + } + + // Set the proper orientation for the swap chain, and generate + // matrix transformations for rendering to the rotated swap chain. + switch (m_rotation) + { + default: + case DXGI_MODE_ROTATION_IDENTITY: + m_orientationTransform3D = ScreenRotation::Rotation0; + break; + + case DXGI_MODE_ROTATION_ROTATE90: + m_orientationTransform3D = ScreenRotation::Rotation270; + break; + + case DXGI_MODE_ROTATION_ROTATE180: + m_orientationTransform3D = ScreenRotation::Rotation180; + break; + + case DXGI_MODE_ROTATION_ROTATE270: + m_orientationTransform3D = ScreenRotation::Rotation90; + break; + } + + DX::ThrowIfFailed(m_swapChain->SetRotation(m_rotation)); + + // Create a render target view of the swap chain back buffer. + ComPtr backBuffer; + DX::ThrowIfFailed(m_swapChain->GetBuffer(0, IID_PPV_ARGS(backBuffer.GetAddressOf()))); + + CD3D11_RENDER_TARGET_VIEW_DESC renderTargetViewDesc(D3D11_RTV_DIMENSION_TEXTURE2D, m_backBufferFormat); + DX::ThrowIfFailed(m_d3dDevice->CreateRenderTargetView( + backBuffer.Get(), + &renderTargetViewDesc, + m_d3dRenderTargetView.ReleaseAndGetAddressOf() + )); + + if (m_depthBufferFormat != DXGI_FORMAT_UNKNOWN) + { + // Create a depth stencil view for use with 3D rendering if needed. + CD3D11_TEXTURE2D_DESC depthStencilDesc( + m_depthBufferFormat, + backBufferWidth, + backBufferHeight, + 1, // This depth stencil view has only one texture. + 1, // Use a single mipmap level. + D3D11_BIND_DEPTH_STENCIL + ); + + ComPtr depthStencil; + DX::ThrowIfFailed(m_d3dDevice->CreateTexture2D( + &depthStencilDesc, + nullptr, + depthStencil.GetAddressOf() + )); + + CD3D11_DEPTH_STENCIL_VIEW_DESC depthStencilViewDesc(D3D11_DSV_DIMENSION_TEXTURE2D); + DX::ThrowIfFailed(m_d3dDevice->CreateDepthStencilView( + depthStencil.Get(), + &depthStencilViewDesc, + m_d3dDepthStencilView.ReleaseAndGetAddressOf() + )); + } + + // Set the 3D rendering viewport to target the entire window. + m_screenViewport = CD3D11_VIEWPORT( + 0.0f, + 0.0f, + static_cast(backBufferWidth), + static_cast(backBufferHeight) + ); +} + +// This method is called when the CoreWindow is created (or re-created). +void DX::DeviceResources::SetWindow(IUnknown* window, int width, int height, DXGI_MODE_ROTATION rotation) +{ + m_window = window; + + m_outputSize.left = m_outputSize.top = 0; + m_outputSize.right = width; + m_outputSize.bottom = height; + + m_rotation = rotation; +} + +// This method is called when the window changes size +bool DX::DeviceResources::WindowSizeChanged(int width, int height, DXGI_MODE_ROTATION rotation) +{ + RECT newRc; + newRc.left = newRc.top = 0; + newRc.right = width; + newRc.bottom = height; + if (newRc == m_outputSize && rotation == m_rotation) + { + return false; + } + + m_outputSize = newRc; + m_rotation = rotation; + CreateWindowSizeDependentResources(); + return true; +} + +// This method is called in the event handler for the DisplayContentsInvalidated event. +void DX::DeviceResources::ValidateDevice() +{ + // The D3D Device is no longer valid if the default adapter changed since the device + // was created or if the device has been removed. + + DXGI_ADAPTER_DESC previousDesc; + { + ComPtr dxgiDevice; + DX::ThrowIfFailed(m_d3dDevice.As(&dxgiDevice)); + + ComPtr deviceAdapter; + DX::ThrowIfFailed(dxgiDevice->GetAdapter(deviceAdapter.GetAddressOf())); + + ComPtr deviceFactory; + DX::ThrowIfFailed(deviceAdapter->GetParent(IID_PPV_ARGS(deviceFactory.GetAddressOf()))); + + ComPtr previousDefaultAdapter; + DX::ThrowIfFailed(deviceFactory->EnumAdapters1(0, previousDefaultAdapter.GetAddressOf())); + + DX::ThrowIfFailed(previousDefaultAdapter->GetDesc(&previousDesc)); + } + + DXGI_ADAPTER_DESC currentDesc; + { + ComPtr currentFactory; + DX::ThrowIfFailed(CreateDXGIFactory1(IID_PPV_ARGS(currentFactory.GetAddressOf()))); + + ComPtr currentDefaultAdapter; + DX::ThrowIfFailed(currentFactory->EnumAdapters1(0, currentDefaultAdapter.GetAddressOf())); + + DX::ThrowIfFailed(currentDefaultAdapter->GetDesc(¤tDesc)); + } + + // If the adapter LUIDs don't match, or if the device reports that it has been removed, + // a new D3D device must be created. + + if (previousDesc.AdapterLuid.LowPart != currentDesc.AdapterLuid.LowPart + || previousDesc.AdapterLuid.HighPart != currentDesc.AdapterLuid.HighPart + || FAILED(m_d3dDevice->GetDeviceRemovedReason())) + { +#ifdef _DEBUG + OutputDebugStringA("Device Lost on ValidateDevice\n"); +#endif + + // Create a new device and swap chain. + HandleDeviceLost(); + } +} + +// Recreate all device resources and set them back to the current state. +void DX::DeviceResources::HandleDeviceLost() +{ + if (m_deviceNotify) + { + m_deviceNotify->OnDeviceLost(); + } + + m_d3dDepthStencilView.Reset(); + m_d3dRenderTargetView.Reset(); + m_swapChain.Reset(); + m_d3dContext.Reset(); + m_d3dDevice.Reset(); + +#ifdef _DEBUG + { + ComPtr dxgiDebug; + if (SUCCEEDED(DXGIGetDebugInterface1(0, IID_PPV_ARGS(&dxgiDebug)))) + { + dxgiDebug->ReportLiveObjects(DXGI_DEBUG_ALL, DXGI_DEBUG_RLO_FLAGS(DXGI_DEBUG_RLO_SUMMARY | DXGI_DEBUG_RLO_IGNORE_INTERNAL)); + } + } +#endif + + CreateDeviceResources(); + CreateWindowSizeDependentResources(); + + if (m_deviceNotify) + { + m_deviceNotify->OnDeviceRestored(); + } +} + +// Call this method when the app suspends. It provides a hint to the driver that the app +// is entering an idle state and that temporary buffers can be reclaimed for use by other apps. +void DX::DeviceResources::Trim() +{ + ComPtr dxgiDevice; + if (SUCCEEDED(m_d3dDevice.As(&dxgiDevice))) + { + dxgiDevice->Trim(); + } +} + +// Present the contents of the swap chain to the screen. +void DX::DeviceResources::Present() +{ + // The first argument instructs DXGI to block until VSync, putting the application + // to sleep until the next VSync. This ensures we don't waste any cycles rendering + // frames that will never be displayed to the screen. + HRESULT hr = m_swapChain->Present(1, 0); + + // Discard the contents of the render target. + // This is a valid operation only when the existing contents will be entirely + // overwritten. If dirty or scroll rects are used, this call should be removed. + m_d3dContext->DiscardView(m_d3dRenderTargetView.Get()); + + if (m_d3dDepthStencilView) + { + // Discard the contents of the depth stencil. + m_d3dContext->DiscardView(m_d3dDepthStencilView.Get()); + } + + // If the device was removed either by a disconnection or a driver upgrade, we + // must recreate all device resources. + if (hr == DXGI_ERROR_DEVICE_REMOVED || hr == DXGI_ERROR_DEVICE_RESET) + { +#ifdef _DEBUG + char buff[64] = {}; + sprintf_s(buff, "Device Lost on Present: Reason code 0x%08X\n", (hr == DXGI_ERROR_DEVICE_REMOVED) ? m_d3dDevice->GetDeviceRemovedReason() : hr); + OutputDebugStringA(buff); +#endif + HandleDeviceLost(); + } + else + { + DX::ThrowIfFailed(hr); + } +} + +// This method acquires the first available hardware adapter. +// If no such adapter can be found, *ppAdapter will be set to nullptr. +void DX::DeviceResources::GetHardwareAdapter(IDXGIAdapter1** ppAdapter) +{ + *ppAdapter = nullptr; + + ComPtr dxgiFactory; +#ifdef _DEBUG + UINT creationFlags = 0; + + if (SdkLayersAvailable()) + { + creationFlags |= DXGI_CREATE_FACTORY_DEBUG; + } + + DX::ThrowIfFailed(CreateDXGIFactory2(creationFlags, IID_PPV_ARGS(dxgiFactory.GetAddressOf()))); +#else + DX::ThrowIfFailed(CreateDXGIFactory1(IID_PPV_ARGS(dxgiFactory.GetAddressOf()))); +#endif + + ComPtr adapter; + for (UINT adapterIndex = 0; DXGI_ERROR_NOT_FOUND != dxgiFactory->EnumAdapters1(adapterIndex, adapter.ReleaseAndGetAddressOf()); adapterIndex++) + { + DXGI_ADAPTER_DESC1 desc; + adapter->GetDesc1(&desc); + + if (desc.Flags & DXGI_ADAPTER_FLAG_SOFTWARE) + { + // Don't select the Basic Render Driver adapter. + continue; + } + +#ifdef _DEBUG + wchar_t buff[256] = {}; + swprintf_s(buff, L"Direct3D Adapter (%u): VID:%04X, PID:%04X - %ls\n", adapterIndex, desc.VendorId, desc.DeviceId, desc.Description); + OutputDebugStringW(buff); +#endif + + break; + } + + *ppAdapter = adapter.Detach(); +} \ No newline at end of file diff --git a/Samples/System/CollisionUWP/DeviceResources.h b/Samples/System/CollisionUWP/DeviceResources.h new file mode 100644 index 00000000..1da562ca --- /dev/null +++ b/Samples/System/CollisionUWP/DeviceResources.h @@ -0,0 +1,83 @@ +// +// DeviceResources.h - A wrapper for the Direct3D 11 device and swapchain +// + +#pragma once + +namespace DX +{ + // Provides an interface for an application that owns DeviceResources to be notified of the device being lost or created. + interface IDeviceNotify + { + virtual void OnDeviceLost() = 0; + virtual void OnDeviceRestored() = 0; + }; + + // Controls all the DirectX device resources. + class DeviceResources + { + public: + DeviceResources(DXGI_FORMAT backBufferFormat = DXGI_FORMAT_B8G8R8A8_UNORM, + DXGI_FORMAT depthBufferFormat = DXGI_FORMAT_D24_UNORM_S8_UINT, + UINT backBufferCount = 2, + D3D_FEATURE_LEVEL minFeatureLevel = D3D_FEATURE_LEVEL_9_3); + + void CreateDeviceResources(); + void CreateWindowSizeDependentResources(); + void SetWindow(IUnknown* window, int width, int height, DXGI_MODE_ROTATION rotation); + bool WindowSizeChanged(int width, int height, DXGI_MODE_ROTATION rotation); + void ValidateDevice(); + void HandleDeviceLost(); + void RegisterDeviceNotify(IDeviceNotify* deviceNotify) { m_deviceNotify = deviceNotify; } + void Trim(); + void Present(); + + // Device Accessors. + RECT GetOutputSize() const { return m_outputSize; } + DXGI_MODE_ROTATION GetRotation() const { return m_rotation; } + + // Direct3D Accessors. + ID3D11Device2* GetD3DDevice() const { return m_d3dDevice.Get(); } + ID3D11DeviceContext2* GetD3DDeviceContext() const { return m_d3dContext.Get(); } + IDXGISwapChain3* GetSwapChain() const { return m_swapChain.Get(); } + D3D_FEATURE_LEVEL GetDeviceFeatureLevel() const { return m_d3dFeatureLevel; } + ID3D11RenderTargetView* GetBackBufferRenderTargetView() const { return m_d3dRenderTargetView.Get(); } + ID3D11DepthStencilView* GetDepthStencilView() const { return m_d3dDepthStencilView.Get(); } + DXGI_FORMAT GetBackBufferFormat() const { return m_backBufferFormat; } + DXGI_FORMAT GetDepthBufferFormat() const { return m_depthBufferFormat; } + D3D11_VIEWPORT GetScreenViewport() const { return m_screenViewport; } + UINT GetBackBufferCount() const { return m_backBufferCount; } + DirectX::XMFLOAT4X4 GetOrientationTransform3D() const { return m_orientationTransform3D; } + + private: + void GetHardwareAdapter(IDXGIAdapter1** ppAdapter); + + // Direct3D objects. + Microsoft::WRL::ComPtr m_d3dDevice; + Microsoft::WRL::ComPtr m_d3dContext; + Microsoft::WRL::ComPtr m_swapChain; + + // Direct3D rendering objects. Required for 3D. + Microsoft::WRL::ComPtr m_d3dRenderTargetView; + Microsoft::WRL::ComPtr m_d3dDepthStencilView; + D3D11_VIEWPORT m_screenViewport; + + // Direct3D properties. + DXGI_FORMAT m_backBufferFormat; + DXGI_FORMAT m_depthBufferFormat; + UINT m_backBufferCount; + D3D_FEATURE_LEVEL m_d3dMinFeatureLevel; + + // Cached device properties. + IUnknown* m_window; + D3D_FEATURE_LEVEL m_d3dFeatureLevel; + DXGI_MODE_ROTATION m_rotation; + RECT m_outputSize; + + // Transforms used for display orientation. + DirectX::XMFLOAT4X4 m_orientationTransform3D; + + // The IDeviceNotify can be held directly as it owns the DeviceResources. + IDeviceNotify* m_deviceNotify; + }; +} \ No newline at end of file diff --git a/Samples/System/CollisionUWP/Main.cpp b/Samples/System/CollisionUWP/Main.cpp new file mode 100644 index 00000000..300b7d68 --- /dev/null +++ b/Samples/System/CollisionUWP/Main.cpp @@ -0,0 +1,357 @@ +//-------------------------------------------------------------------------------------- +// Main.cpp +// +// Entry point for universal Windows app. +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#include "pch.h" +#include "Collision.h" + +#include + +using namespace concurrency; +using namespace Windows::ApplicationModel; +using namespace Windows::ApplicationModel::Core; +using namespace Windows::ApplicationModel::Activation; +using namespace Windows::UI::Core; +using namespace Windows::UI::Input; +using namespace Windows::UI::ViewManagement; +using namespace Windows::System; +using namespace Windows::Foundation; +using namespace Windows::Graphics::Display; +using namespace DirectX; + +ref class ViewProvider sealed : public IFrameworkView +{ +public: + ViewProvider() : + m_exit(false), + m_visible(true), + m_DPI(96.f), + m_logicalWidth(800.f), + m_logicalHeight(600.f), + m_nativeOrientation(DisplayOrientations::None), + m_currentOrientation(DisplayOrientations::None) + { + } + + // IFrameworkView methods + virtual void Initialize(CoreApplicationView^ applicationView) + { + applicationView->Activated += ref new + TypedEventHandler(this, &ViewProvider::OnActivated); + + CoreApplication::Suspending += + ref new EventHandler(this, &ViewProvider::OnSuspending); + + CoreApplication::Resuming += + ref new EventHandler(this, &ViewProvider::OnResuming); + + m_sample = std::make_unique(); + } + + virtual void Uninitialize() + { + m_sample.reset(); + } + + virtual void SetWindow(CoreWindow^ window) + { + window->SizeChanged += + ref new TypedEventHandler(this, &ViewProvider::OnWindowSizeChanged); + + window->VisibilityChanged += + ref new TypedEventHandler(this, &ViewProvider::OnVisibilityChanged); + + window->Closed += + ref new TypedEventHandler(this, &ViewProvider::OnWindowClosed); + + auto dispatcher = CoreWindow::GetForCurrentThread()->Dispatcher; + + dispatcher->AcceleratorKeyActivated += + ref new TypedEventHandler(this, &ViewProvider::OnAcceleratorKeyActivated); + + auto currentDisplayInformation = DisplayInformation::GetForCurrentView(); + + currentDisplayInformation->DpiChanged += + ref new TypedEventHandler(this, &ViewProvider::OnDpiChanged); + + currentDisplayInformation->OrientationChanged += + ref new TypedEventHandler(this, &ViewProvider::OnOrientationChanged); + + DisplayInformation::DisplayContentsInvalidated += + ref new TypedEventHandler(this, &ViewProvider::OnDisplayContentsInvalidated); + + m_DPI = currentDisplayInformation->LogicalDpi; + + m_logicalWidth = window->Bounds.Width; + m_logicalHeight = window->Bounds.Height; + + m_nativeOrientation = currentDisplayInformation->NativeOrientation; + m_currentOrientation = currentDisplayInformation->CurrentOrientation; + + int outputWidth = ConvertDipsToPixels(m_logicalWidth); + int outputHeight = ConvertDipsToPixels(m_logicalHeight); + + DXGI_MODE_ROTATION rotation = ComputeDisplayRotation(); + + if (rotation == DXGI_MODE_ROTATION_ROTATE90 || rotation == DXGI_MODE_ROTATION_ROTATE270) + { + std::swap(outputWidth, outputHeight); + } + + m_sample->Initialize(reinterpret_cast(window), + outputWidth, outputHeight, rotation ); + } + + virtual void Load(Platform::String^ entryPoint) + { + } + + virtual void Run() + { + while (!m_exit) + { + if (m_visible) + { + m_sample->Tick(); + + CoreWindow::GetForCurrentThread()->Dispatcher->ProcessEvents(CoreProcessEventsOption::ProcessAllIfPresent); + } + else + { + CoreWindow::GetForCurrentThread()->Dispatcher->ProcessEvents(CoreProcessEventsOption::ProcessOneAndAllPending); + } + } + } + +protected: + // Event handlers + void OnActivated(CoreApplicationView^ applicationView, IActivatedEventArgs^ args) + { + if (args->Kind == ActivationKind::Launch) + { + auto launchArgs = static_cast(args); + + if (launchArgs->PrelaunchActivated) + { + // Opt-out of Prelaunch + CoreApplication::Exit(); + return; + } + } + + int w, h; + m_sample->GetDefaultSize(w, h); + + m_DPI = DisplayInformation::GetForCurrentView()->LogicalDpi; + + ApplicationView::PreferredLaunchWindowingMode = ApplicationViewWindowingMode::PreferredLaunchViewSize; + // Change to ApplicationViewWindowingMode::FullScreen to default to full screen + + auto desiredSize = Size(ConvertPixelsToDips(w), ConvertPixelsToDips(h)); + + ApplicationView::PreferredLaunchViewSize = desiredSize; + + auto view = ApplicationView::GetForCurrentView(); + + auto minSize = Size(ConvertPixelsToDips(320), ConvertPixelsToDips(200)); + + view->SetPreferredMinSize(minSize); + + CoreWindow::GetForCurrentThread()->Activate(); + + view->FullScreenSystemOverlayMode = FullScreenSystemOverlayMode::Minimal; + + view->TryResizeView(desiredSize); + } + + void OnSuspending(Platform::Object^ sender, SuspendingEventArgs^ args) + { + SuspendingDeferral^ deferral = args->SuspendingOperation->GetDeferral(); + + create_task([this, deferral]() + { + m_sample->OnSuspending(); + + deferral->Complete(); + }); + } + + void OnResuming(Platform::Object^ sender, Platform::Object^ args) + { + m_sample->OnResuming(); + } + + void OnWindowSizeChanged(CoreWindow^ sender, WindowSizeChangedEventArgs^ args) + { + m_logicalWidth = sender->Bounds.Width; + m_logicalHeight = sender->Bounds.Height; + + HandleWindowSizeChanged(); + } + + void OnVisibilityChanged(CoreWindow^ sender, VisibilityChangedEventArgs^ args) + { + m_visible = args->Visible; + if (m_visible) + m_sample->OnActivated(); + else + m_sample->OnDeactivated(); + } + + void OnWindowClosed(CoreWindow^ sender, CoreWindowEventArgs^ args) + { + m_exit = true; + } + + void OnAcceleratorKeyActivated(CoreDispatcher^, AcceleratorKeyEventArgs^ args) + { + if (args->EventType == CoreAcceleratorKeyEventType::SystemKeyDown + && args->VirtualKey == VirtualKey::Enter + && args->KeyStatus.IsMenuKeyDown + && !args->KeyStatus.WasKeyDown) + { + // Implements the classic ALT+ENTER fullscreen toggle + auto view = ApplicationView::GetForCurrentView(); + + if (view->IsFullScreenMode) + view->ExitFullScreenMode(); + else + view->TryEnterFullScreenMode(); + + args->Handled = true; + } + } + + void OnDpiChanged(DisplayInformation^ sender, Object^ args) + { + m_DPI = sender->LogicalDpi; + + HandleWindowSizeChanged(); + } + + void OnOrientationChanged(DisplayInformation^ sender, Object^ args) + { + m_currentOrientation = sender->CurrentOrientation; + + HandleWindowSizeChanged(); + } + + void OnDisplayContentsInvalidated(DisplayInformation^ sender, Object^ args) + { + m_sample->ValidateDevice(); + } + +private: + bool m_exit; + bool m_visible; + float m_DPI; + float m_logicalWidth; + float m_logicalHeight; + std::unique_ptr m_sample; + + Windows::Graphics::Display::DisplayOrientations m_nativeOrientation; + Windows::Graphics::Display::DisplayOrientations m_currentOrientation; + + inline int ConvertDipsToPixels(float dips) const + { + return int(dips * m_DPI / 96.f + 0.5f); + } + + inline float ConvertPixelsToDips(int pixels) const + { + return (float(pixels) * 96.f / m_DPI); + } + + DXGI_MODE_ROTATION ComputeDisplayRotation() const + { + DXGI_MODE_ROTATION rotation = DXGI_MODE_ROTATION_UNSPECIFIED; + + switch (m_nativeOrientation) + { + case DisplayOrientations::Landscape: + switch (m_currentOrientation) + { + case DisplayOrientations::Landscape: + rotation = DXGI_MODE_ROTATION_IDENTITY; + break; + + case DisplayOrientations::Portrait: + rotation = DXGI_MODE_ROTATION_ROTATE270; + break; + + case DisplayOrientations::LandscapeFlipped: + rotation = DXGI_MODE_ROTATION_ROTATE180; + break; + + case DisplayOrientations::PortraitFlipped: + rotation = DXGI_MODE_ROTATION_ROTATE90; + break; + } + break; + + case DisplayOrientations::Portrait: + switch (m_currentOrientation) + { + case DisplayOrientations::Landscape: + rotation = DXGI_MODE_ROTATION_ROTATE90; + break; + + case DisplayOrientations::Portrait: + rotation = DXGI_MODE_ROTATION_IDENTITY; + break; + + case DisplayOrientations::LandscapeFlipped: + rotation = DXGI_MODE_ROTATION_ROTATE270; + break; + + case DisplayOrientations::PortraitFlipped: + rotation = DXGI_MODE_ROTATION_ROTATE180; + break; + } + break; + } + + return rotation; + } + + void HandleWindowSizeChanged() + { + int outputWidth = ConvertDipsToPixels(m_logicalWidth); + int outputHeight = ConvertDipsToPixels(m_logicalHeight); + + DXGI_MODE_ROTATION rotation = ComputeDisplayRotation(); + + if (rotation == DXGI_MODE_ROTATION_ROTATE90 || rotation == DXGI_MODE_ROTATION_ROTATE270) + { + std::swap(outputWidth, outputHeight); + } + + m_sample->OnWindowSizeChanged(outputWidth, outputHeight, rotation); + } +}; + +ref class ViewProviderFactory : IFrameworkViewSource +{ +public: + virtual IFrameworkView^ CreateView() + { + return ref new ViewProvider(); + } +}; + + +// Entry point +[Platform::MTAThread] +int main(Platform::Array^ argv) +{ + UNREFERENCED_PARAMETER(argv); + + auto viewProviderFactory = ref new ViewProviderFactory(); + CoreApplication::Run(viewProviderFactory); + return 0; +} diff --git a/Samples/System/CollisionUWP/Package.appxmanifest b/Samples/System/CollisionUWP/Package.appxmanifest new file mode 100644 index 00000000..e8ab3b31 --- /dev/null +++ b/Samples/System/CollisionUWP/Package.appxmanifest @@ -0,0 +1,49 @@ + + + + + + + + + + Collision + Xbox Advanced Technology Group + Assets\StoreLogo.png + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/System/CollisionUWP/Readme.docx b/Samples/System/CollisionUWP/Readme.docx new file mode 100644 index 0000000000000000000000000000000000000000..21b215a5c283413f7bd925cc3426c8945f4c90dd GIT binary patch literal 101864 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 YSwXjRGRQN?GrVSJV0hlj$iTn=0DAjWCIA2c literal 0 HcmV?d00001 diff --git a/Samples/System/CollisionUWP/StepTimer.h b/Samples/System/CollisionUWP/StepTimer.h new file mode 100644 index 00000000..e6f7acf5 --- /dev/null +++ b/Samples/System/CollisionUWP/StepTimer.h @@ -0,0 +1,188 @@ +// +// StepTimer.h - A simple timer that provides elapsed time information +// + +#pragma once + +#include +#include + +namespace DX +{ + // Helper class for animation and simulation timing. + class StepTimer + { + public: + StepTimer() : + m_elapsedTicks(0), + m_totalTicks(0), + m_leftOverTicks(0), + m_frameCount(0), + m_framesPerSecond(0), + m_framesThisSecond(0), + m_qpcSecondCounter(0), + m_isFixedTimeStep(false), + m_targetElapsedTicks(TicksPerSecond / 60) + { + if (!QueryPerformanceFrequency(&m_qpcFrequency)) + { + throw std::exception( "QueryPerformanceFrequency" ); + } + + if (!QueryPerformanceCounter(&m_qpcLastTime)) + { + throw std::exception( "QueryPerformanceCounter" ); + } + + // Initialize max delta to 1/10 of a second. + m_qpcMaxDelta = m_qpcFrequency.QuadPart / 10; + } + + // Get elapsed time since the previous Update call. + uint64_t GetElapsedTicks() const { return m_elapsedTicks; } + double GetElapsedSeconds() const { return TicksToSeconds(m_elapsedTicks); } + + // Get total time since the start of the program. + uint64_t GetTotalTicks() const { return m_totalTicks; } + double GetTotalSeconds() const { return TicksToSeconds(m_totalTicks); } + + // Get total number of updates since start of the program. + uint32_t GetFrameCount() const { return m_frameCount; } + + // Get the current framerate. + uint32_t GetFramesPerSecond() const { return m_framesPerSecond; } + + // Set whether to use fixed or variable timestep mode. + void SetFixedTimeStep(bool isFixedTimestep) { m_isFixedTimeStep = isFixedTimestep; } + + // Set how often to call Update when in fixed timestep mode. + void SetTargetElapsedTicks(uint64_t targetElapsed) { m_targetElapsedTicks = targetElapsed; } + void SetTargetElapsedSeconds(double targetElapsed) { m_targetElapsedTicks = SecondsToTicks(targetElapsed); } + + // Integer format represents time using 10,000,000 ticks per second. + static const uint64_t TicksPerSecond = 10000000; + + static double TicksToSeconds(uint64_t ticks) { return static_cast(ticks) / TicksPerSecond; } + static uint64_t SecondsToTicks(double seconds) { return static_cast(seconds * TicksPerSecond); } + + // After an intentional timing discontinuity (for instance a blocking IO operation) + // call this to avoid having the fixed timestep logic attempt a set of catch-up + // Update calls. + + void ResetElapsedTime() + { + if (!QueryPerformanceCounter(&m_qpcLastTime)) + { + throw std::exception("QueryPerformanceCounter"); + } + + m_leftOverTicks = 0; + m_framesPerSecond = 0; + m_framesThisSecond = 0; + m_qpcSecondCounter = 0; + } + + // Update timer state, calling the specified Update function the appropriate number of times. + template + void Tick(const TUpdate& update) + { + // Query the current time. + LARGE_INTEGER currentTime; + + if (!QueryPerformanceCounter(¤tTime)) + { + throw std::exception( "QueryPerformanceCounter" ); + } + + uint64_t timeDelta = currentTime.QuadPart - m_qpcLastTime.QuadPart; + + m_qpcLastTime = currentTime; + m_qpcSecondCounter += timeDelta; + + // Clamp excessively large time deltas (e.g. after paused in the debugger). + if (timeDelta > m_qpcMaxDelta) + { + timeDelta = m_qpcMaxDelta; + } + + // Convert QPC units into a canonical tick format. This cannot overflow due to the previous clamp. + timeDelta *= TicksPerSecond; + timeDelta /= m_qpcFrequency.QuadPart; + + uint32_t lastFrameCount = m_frameCount; + + if (m_isFixedTimeStep) + { + // Fixed timestep update logic + + // If the app is running very close to the target elapsed time (within 1/4 of a millisecond) just clamp + // the clock to exactly match the target value. This prevents tiny and irrelevant errors + // from accumulating over time. Without this clamping, a game that requested a 60 fps + // fixed update, running with vsync enabled on a 59.94 NTSC display, would eventually + // accumulate enough tiny errors that it would drop a frame. It is better to just round + // small deviations down to zero to leave things running smoothly. + + if (abs(static_cast(timeDelta - m_targetElapsedTicks)) < TicksPerSecond / 4000) + { + timeDelta = m_targetElapsedTicks; + } + + m_leftOverTicks += timeDelta; + + while (m_leftOverTicks >= m_targetElapsedTicks) + { + m_elapsedTicks = m_targetElapsedTicks; + m_totalTicks += m_targetElapsedTicks; + m_leftOverTicks -= m_targetElapsedTicks; + m_frameCount++; + + update(); + } + } + else + { + // Variable timestep update logic. + m_elapsedTicks = timeDelta; + m_totalTicks += timeDelta; + m_leftOverTicks = 0; + m_frameCount++; + + update(); + } + + // Track the current framerate. + if (m_frameCount != lastFrameCount) + { + m_framesThisSecond++; + } + + if (m_qpcSecondCounter >= static_cast(m_qpcFrequency.QuadPart)) + { + m_framesPerSecond = m_framesThisSecond; + m_framesThisSecond = 0; + m_qpcSecondCounter %= m_qpcFrequency.QuadPart; + } + } + + private: + // Source timing data uses QPC units. + LARGE_INTEGER m_qpcFrequency; + LARGE_INTEGER m_qpcLastTime; + uint64_t m_qpcMaxDelta; + + // Derived timing data uses a canonical tick format. + uint64_t m_elapsedTicks; + uint64_t m_totalTicks; + uint64_t m_leftOverTicks; + + // Members for tracking the framerate. + uint32_t m_frameCount; + uint32_t m_framesPerSecond; + uint32_t m_framesThisSecond; + uint64_t m_qpcSecondCounter; + + // Members for configuring fixed timestep mode. + bool m_isFixedTimeStep; + uint64_t m_targetElapsedTicks; + }; +} diff --git a/Samples/System/CollisionUWP/pch.cpp b/Samples/System/CollisionUWP/pch.cpp new file mode 100644 index 00000000..851c81be --- /dev/null +++ b/Samples/System/CollisionUWP/pch.cpp @@ -0,0 +1,10 @@ +//-------------------------------------------------------------------------------------- +// pch.cpp +// +// Include the standard header and generate the precompiled header. +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#include "pch.h" diff --git a/Samples/System/CollisionUWP/pch.h b/Samples/System/CollisionUWP/pch.h new file mode 100644 index 00000000..d7939ddd --- /dev/null +++ b/Samples/System/CollisionUWP/pch.h @@ -0,0 +1,76 @@ +//-------------------------------------------------------------------------------------- +// pch.h +// +// Header for standard system include files. +// +// Advanced Technology Group (ATG) +// Copyright (C) Microsoft Corporation. All rights reserved. +//-------------------------------------------------------------------------------------- + +#pragma once + +// Use the C++ standard templated min/max +#define NOMINMAX + +#include + +#include +#include +#include +#include + +// Include the DirectXMath collision types +#include + +#include +#include +#include +#include +#include + +#include +#include + +#ifdef _DEBUG +#include +#endif + +#include "CommonStates.h" +#include "Effects.h" +#include "GamePad.h" +#include "Keyboard.h" +#include "Mouse.h" +#include "PrimitiveBatch.h" +#include "SimpleMath.h" +#include "SpriteBatch.h" +#include "SpriteFont.h" +#include "VertexTypes.h" + +namespace DX +{ + // Helper class for COM exceptions + class com_exception : public std::exception + { + public: + com_exception(HRESULT hr) : result(hr) {} + + virtual const char* what() const override + { + static char s_str[64] = { 0 }; + sprintf_s(s_str, "Failure with HRESULT of %08X", result); + return s_str; + } + + private: + HRESULT result; + }; + + // Helper utility converts D3D API failures into exceptions. + inline void ThrowIfFailed(HRESULT hr) + { + if (FAILED(hr)) + { + throw com_exception(hr); + } + } +} \ No newline at end of file diff --git a/Samples/System/GamepadUWP/DeviceResources.cpp b/Samples/System/GamepadUWP/DeviceResources.cpp index ba23c3af..d549f821 100644 --- a/Samples/System/GamepadUWP/DeviceResources.cpp +++ b/Samples/System/GamepadUWP/DeviceResources.cpp @@ -212,8 +212,7 @@ void DX::DeviceResources::CreateDeviceResources() { D3D11_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS, }; - D3D11_INFO_QUEUE_FILTER filter; - memset(&filter, 0, sizeof(filter)); + D3D11_INFO_QUEUE_FILTER filter = {}; filter.DenyList.NumIDs = _countof(hide); filter.DenyList.pIDList = hide; d3dInfoQueue->AddStorageFilterEntries(&filter); @@ -581,7 +580,7 @@ void DX::DeviceResources::GetHardwareAdapter(IDXGIAdapter1** ppAdapter) } #ifdef _DEBUG - WCHAR buff[256] = {}; + wchar_t buff[256] = {}; swprintf_s(buff, L"Direct3D Adapter (%u): VID:%04X, PID:%04X - %ls\n", adapterIndex, desc.VendorId, desc.DeviceId, desc.Description); OutputDebugStringW(buff); #endif diff --git a/Samples/System/GamepadUWP/GamepadUWP.cpp b/Samples/System/GamepadUWP/GamepadUWP.cpp index 196148ad..ed958678 100644 --- a/Samples/System/GamepadUWP/GamepadUWP.cpp +++ b/Samples/System/GamepadUWP/GamepadUWP.cpp @@ -327,6 +327,7 @@ void Sample::CreateDeviceDependentResources() // Allocate all memory resources that change on a window SizeChanged event. void Sample::CreateWindowSizeDependentResources() { + m_spriteBatch->SetRotation(m_deviceResources->GetRotation()); } void Sample::OnDeviceLost() diff --git a/Samples/System/GamepadUWP/GamepadUWP.vcxproj b/Samples/System/GamepadUWP/GamepadUWP.vcxproj index c6316766..534cfea7 100644 --- a/Samples/System/GamepadUWP/GamepadUWP.vcxproj +++ b/Samples/System/GamepadUWP/GamepadUWP.vcxproj @@ -1,4 +1,4 @@ - + @@ -274,4 +274,4 @@ - + \ No newline at end of file diff --git a/Samples/System/GamepadUWP/Package.appxmanifest b/Samples/System/GamepadUWP/Package.appxmanifest index ad6f4c42..8b178eb6 100644 --- a/Samples/System/GamepadUWP/Package.appxmanifest +++ b/Samples/System/GamepadUWP/Package.appxmanifest @@ -8,14 +8,14 @@ GamepadUWP - jeball + Xbox Advanced Technology Group Assets\StoreLogo.png diff --git a/Samples/System/GamepadVibrationUWP/DeviceResources.cpp b/Samples/System/GamepadVibrationUWP/DeviceResources.cpp index ba23c3af..d549f821 100644 --- a/Samples/System/GamepadVibrationUWP/DeviceResources.cpp +++ b/Samples/System/GamepadVibrationUWP/DeviceResources.cpp @@ -212,8 +212,7 @@ void DX::DeviceResources::CreateDeviceResources() { D3D11_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS, }; - D3D11_INFO_QUEUE_FILTER filter; - memset(&filter, 0, sizeof(filter)); + D3D11_INFO_QUEUE_FILTER filter = {}; filter.DenyList.NumIDs = _countof(hide); filter.DenyList.pIDList = hide; d3dInfoQueue->AddStorageFilterEntries(&filter); @@ -581,7 +580,7 @@ void DX::DeviceResources::GetHardwareAdapter(IDXGIAdapter1** ppAdapter) } #ifdef _DEBUG - WCHAR buff[256] = {}; + wchar_t buff[256] = {}; swprintf_s(buff, L"Direct3D Adapter (%u): VID:%04X, PID:%04X - %ls\n", adapterIndex, desc.VendorId, desc.DeviceId, desc.Description); OutputDebugStringW(buff); #endif diff --git a/Samples/System/GamepadVibrationUWP/GamepadVibrationUWP.cpp b/Samples/System/GamepadVibrationUWP/GamepadVibrationUWP.cpp index 4d162c3a..e6ce3a7c 100644 --- a/Samples/System/GamepadVibrationUWP/GamepadVibrationUWP.cpp +++ b/Samples/System/GamepadVibrationUWP/GamepadVibrationUWP.cpp @@ -567,6 +567,7 @@ void Sample::CreateDeviceDependentResources() // Allocate all memory resources that change on a window SizeChanged event. void Sample::CreateWindowSizeDependentResources() { + m_spriteBatch->SetRotation(m_deviceResources->GetRotation()); } void Sample::OnDeviceLost() diff --git a/Samples/System/GamepadVibrationUWP/GamepadVibrationUWP.vcxproj b/Samples/System/GamepadVibrationUWP/GamepadVibrationUWP.vcxproj index 189edd1f..660cd6a7 100644 --- a/Samples/System/GamepadVibrationUWP/GamepadVibrationUWP.vcxproj +++ b/Samples/System/GamepadVibrationUWP/GamepadVibrationUWP.vcxproj @@ -1,4 +1,4 @@ - + @@ -274,4 +274,4 @@ - + \ No newline at end of file diff --git a/Samples/System/GamepadVibrationUWP/Package.appxmanifest b/Samples/System/GamepadVibrationUWP/Package.appxmanifest index eb9673dc..b04f9cbb 100644 --- a/Samples/System/GamepadVibrationUWP/Package.appxmanifest +++ b/Samples/System/GamepadVibrationUWP/Package.appxmanifest @@ -8,14 +8,14 @@ GamepadVibrationUWP - jeball + Xbox Advanced Technology Group Assets\StoreLogo.png diff --git a/Samples/System/MemoryStatisticsUWP/DeviceResources.cpp b/Samples/System/MemoryStatisticsUWP/DeviceResources.cpp index 426421b7..d549f821 100644 --- a/Samples/System/MemoryStatisticsUWP/DeviceResources.cpp +++ b/Samples/System/MemoryStatisticsUWP/DeviceResources.cpp @@ -212,8 +212,7 @@ void DX::DeviceResources::CreateDeviceResources() { D3D11_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS, }; - D3D11_INFO_QUEUE_FILTER filter; - memset(&filter, 0, sizeof(filter)); + D3D11_INFO_QUEUE_FILTER filter = {}; filter.DenyList.NumIDs = _countof(hide); filter.DenyList.pIDList = hide; d3dInfoQueue->AddStorageFilterEntries(&filter); @@ -297,7 +296,7 @@ void DX::DeviceResources::CreateWindowSizeDependentResources() swapChainDesc.BufferCount = m_backBufferCount; swapChainDesc.SampleDesc.Count = 1; swapChainDesc.SampleDesc.Quality = 0; - swapChainDesc.Scaling = DXGI_SCALING_STRETCH; + swapChainDesc.Scaling = DXGI_SCALING_ASPECT_RATIO_STRETCH; swapChainDesc.SwapEffect = DXGI_SWAP_EFFECT_FLIP_DISCARD; swapChainDesc.AlphaMode = DXGI_ALPHA_MODE_IGNORE; @@ -581,7 +580,7 @@ void DX::DeviceResources::GetHardwareAdapter(IDXGIAdapter1** ppAdapter) } #ifdef _DEBUG - WCHAR buff[256] = {}; + wchar_t buff[256] = {}; swprintf_s(buff, L"Direct3D Adapter (%u): VID:%04X, PID:%04X - %ls\n", adapterIndex, desc.VendorId, desc.DeviceId, desc.Description); OutputDebugStringW(buff); #endif diff --git a/Samples/System/MemoryStatisticsUWP/MemoryStatistics.cpp b/Samples/System/MemoryStatisticsUWP/MemoryStatistics.cpp index 7c363b02..53528a51 100644 --- a/Samples/System/MemoryStatisticsUWP/MemoryStatistics.cpp +++ b/Samples/System/MemoryStatisticsUWP/MemoryStatistics.cpp @@ -12,6 +12,7 @@ #include "ControllerFont.h" using namespace DirectX; +using namespace DirectX::SimpleMath; using Microsoft::WRL::ComPtr; @@ -162,12 +163,12 @@ void Sample::Render() for (auto & teapot : m_teapots) { - auto world = SimpleMath::Matrix::CreateRotationY(teapot.m_lifeFrameCount++ / 100.f); + auto world = Matrix::CreateRotationY(teapot.m_lifeFrameCount++ / 100.f); teapot.m_teapot->Draw(world * teapot.m_location, m_view, m_projection); } auto rect = m_deviceResources->GetOutputSize(); - auto safeRect = SimpleMath::Viewport::ComputeTitleSafeArea(rect.right, rect.bottom); + auto safeRect = Viewport::ComputeTitleSafeArea(rect.right, rect.bottom); XMFLOAT2 pos(float(safeRect.left), float(safeRect.top)); @@ -320,9 +321,11 @@ void Sample::CreateDeviceDependentResources() // Allocate all memory resources that change on a window SizeChanged event. void Sample::CreateWindowSizeDependentResources() { - m_at = SimpleMath::Vector3(0.f, 0.f, -0.1f); - m_eye = SimpleMath::Vector3(0.0f, 0.0f, 0.0f); - m_view = SimpleMath::Matrix::CreateLookAt(m_eye, m_at, SimpleMath::Vector3::UnitY); + m_batch->SetRotation(m_deviceResources->GetRotation()); + + m_at = Vector3(0.f, 0.f, -0.1f); + m_eye = Vector3(0.0f, 0.0f, 0.0f); + m_view = Matrix::CreateLookAt(m_eye, m_at, Vector3::UnitY); auto size = m_deviceResources->GetOutputSize(); float aspectRatio = float(size.right) / float(size.bottom); @@ -335,12 +338,14 @@ void Sample::CreateWindowSizeDependentResources() fovAngleY *= 2.0f; } - m_projection = SimpleMath::Matrix::CreatePerspectiveFieldOfView( + Matrix projection = Matrix::CreatePerspectiveFieldOfView( fovAngleY, aspectRatio, 0.01f, 100.0f ); + + m_projection = projection * m_deviceResources->GetOrientationTransform3D(); } void Sample::OnDeviceLost() @@ -371,7 +376,7 @@ void Sample::CreateNewTeapot() TeapotData teapot; teapot.m_lifeFrameCount = 0; - teapot.m_location = SimpleMath::Matrix::CreateTranslation(FloatRand(-4.f, 4.f), FloatRand(-4.f, 4.f), FloatRand(-8.f, -4.f)); + teapot.m_location = Matrix::CreateTranslation(FloatRand(-4.f, 4.f), FloatRand(-4.f, 4.f), FloatRand(-8.f, -4.f)); m_teapots.push_back(teapot); m_teapots.back().m_teapot = DirectX::GeometricPrimitive::CreateTeapot(context); diff --git a/Samples/System/MemoryStatisticsUWP/MemoryStatistics.vcxproj b/Samples/System/MemoryStatisticsUWP/MemoryStatistics.vcxproj index e849864f..d6a503ef 100644 --- a/Samples/System/MemoryStatisticsUWP/MemoryStatistics.vcxproj +++ b/Samples/System/MemoryStatisticsUWP/MemoryStatistics.vcxproj @@ -1,4 +1,4 @@ - + @@ -271,4 +271,4 @@ - + \ No newline at end of file diff --git a/Samples/System/MemoryStatisticsUWP/Package.appxmanifest b/Samples/System/MemoryStatisticsUWP/Package.appxmanifest index ebb76c64..0d411ee4 100644 --- a/Samples/System/MemoryStatisticsUWP/Package.appxmanifest +++ b/Samples/System/MemoryStatisticsUWP/Package.appxmanifest @@ -1,10 +1,10 @@  - + MemoryStatistics - ATG + Xbox Advanced Technology Group Assets\StoreLogo.png diff --git a/Samples/System/MouseCursor/DeviceResources.cpp b/Samples/System/MouseCursor/DeviceResources.cpp index 49dc516d..d549f821 100644 --- a/Samples/System/MouseCursor/DeviceResources.cpp +++ b/Samples/System/MouseCursor/DeviceResources.cpp @@ -212,8 +212,7 @@ void DX::DeviceResources::CreateDeviceResources() { D3D11_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS, }; - D3D11_INFO_QUEUE_FILTER filter; - memset(&filter, 0, sizeof(filter)); + D3D11_INFO_QUEUE_FILTER filter = {}; filter.DenyList.NumIDs = _countof(hide); filter.DenyList.pIDList = hide; d3dInfoQueue->AddStorageFilterEntries(&filter); @@ -352,29 +351,32 @@ void DX::DeviceResources::CreateWindowSizeDependentResources() m_d3dRenderTargetView.ReleaseAndGetAddressOf() )); - // Create a depth stencil view for use with 3D rendering if needed. - CD3D11_TEXTURE2D_DESC depthStencilDesc( - m_depthBufferFormat, - backBufferWidth, - backBufferHeight, - 1, // This depth stencil view has only one texture. - 1, // Use a single mipmap level. - D3D11_BIND_DEPTH_STENCIL - ); + if (m_depthBufferFormat != DXGI_FORMAT_UNKNOWN) + { + // Create a depth stencil view for use with 3D rendering if needed. + CD3D11_TEXTURE2D_DESC depthStencilDesc( + m_depthBufferFormat, + backBufferWidth, + backBufferHeight, + 1, // This depth stencil view has only one texture. + 1, // Use a single mipmap level. + D3D11_BIND_DEPTH_STENCIL + ); - ComPtr depthStencil; - DX::ThrowIfFailed(m_d3dDevice->CreateTexture2D( - &depthStencilDesc, - nullptr, - depthStencil.GetAddressOf() - )); + ComPtr depthStencil; + DX::ThrowIfFailed(m_d3dDevice->CreateTexture2D( + &depthStencilDesc, + nullptr, + depthStencil.GetAddressOf() + )); - CD3D11_DEPTH_STENCIL_VIEW_DESC depthStencilViewDesc(D3D11_DSV_DIMENSION_TEXTURE2D); - DX::ThrowIfFailed(m_d3dDevice->CreateDepthStencilView( - depthStencil.Get(), - &depthStencilViewDesc, - m_d3dDepthStencilView.ReleaseAndGetAddressOf() - )); + CD3D11_DEPTH_STENCIL_VIEW_DESC depthStencilViewDesc(D3D11_DSV_DIMENSION_TEXTURE2D); + DX::ThrowIfFailed(m_d3dDevice->CreateDepthStencilView( + depthStencil.Get(), + &depthStencilViewDesc, + m_d3dDepthStencilView.ReleaseAndGetAddressOf() + )); + } // Set the 3D rendering viewport to target the entire window. m_screenViewport = CD3D11_VIEWPORT( @@ -522,8 +524,11 @@ void DX::DeviceResources::Present() // overwritten. If dirty or scroll rects are used, this call should be removed. m_d3dContext->DiscardView(m_d3dRenderTargetView.Get()); - // Discard the contents of the depth stencil. - m_d3dContext->DiscardView(m_d3dDepthStencilView.Get()); + if (m_d3dDepthStencilView) + { + // Discard the contents of the depth stencil. + m_d3dContext->DiscardView(m_d3dDepthStencilView.Get()); + } // If the device was removed either by a disconnection or a driver upgrade, we // must recreate all device resources. @@ -575,7 +580,7 @@ void DX::DeviceResources::GetHardwareAdapter(IDXGIAdapter1** ppAdapter) } #ifdef _DEBUG - WCHAR buff[256] = {}; + wchar_t buff[256] = {}; swprintf_s(buff, L"Direct3D Adapter (%u): VID:%04X, PID:%04X - %ls\n", adapterIndex, desc.VendorId, desc.DeviceId, desc.Description); OutputDebugStringW(buff); #endif diff --git a/Samples/System/MouseCursor/MouseCursor.vcxproj b/Samples/System/MouseCursor/MouseCursor.vcxproj index 9f9ff310..75a94d98 100644 --- a/Samples/System/MouseCursor/MouseCursor.vcxproj +++ b/Samples/System/MouseCursor/MouseCursor.vcxproj @@ -1,4 +1,4 @@ - + @@ -39,7 +39,6 @@ 10.0.10586.0 true 100 - neutral @@ -300,4 +299,4 @@ - + \ No newline at end of file diff --git a/Samples/System/MouseCursor/Package.appxmanifest b/Samples/System/MouseCursor/Package.appxmanifest index 28ad01a9..5d661b57 100644 --- a/Samples/System/MouseCursor/Package.appxmanifest +++ b/Samples/System/MouseCursor/Package.appxmanifest @@ -8,14 +8,14 @@ MouseCursor - Microsoft ATG + Xbox Advanced Technology Group Assets\StoreLogo.png diff --git a/Samples/System/NLSAndLocalizationUWP/Assets/Images/de-DE/Image.dds b/Samples/System/NLSAndLocalizationUWP/Assets/Images/de-DE/Image.dds new file mode 100644 index 0000000000000000000000000000000000000000..5d056013e0bb5570c08602e335916464c0631c27 GIT binary patch literal 2654292 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

TL&5wbm$iA1Yo|v?8g|$?Vd-BE% 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�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

}4lX{|h6@fH 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

MN7hpl;Ggn?LR>yABpY?$0GySN^9aXIW_AeQsd z*xao%QNklo#3N9kfK~dJ_Vyc~^WvHoX6Q(CvHgB^Y}veHi3&%-=g;+)$^BTY&Bp2| z0NGzy)TEYkNbLagp#lS$fBzd8K(K=W%X|%JbK+qG4hGH(jGPnvSX>NQOmq)B8-7~C zp2@x4VfwPEm6`wkozhEX^kVqG&dv9lhR-n#pKBTq8%sW4jCYv6G_)}EU%h|A|IYm1 zY_GO)t7x89Ry}R3T2mKwc8dkm?Lv`Ri6XNTMV9jaEy-+`Fpv^pOMV!jBgW_Y?)B@; z85U|HT**cY4b+6WB<5)8F?E6V|EY9NQsG;`D5S`k;ionkdcNq%hCmia@O&S5eo^RT zb947=(0rjM(tbh>(8METe(}Vw*Q?hnO!jmUn)u^CJJ+gpD;6*?obXZ;@^lgEbWxe) zv67it2Kjtbel9LP4fuTGSsg*M~%bc3G6CNwN8rzK7YDp z1@4cTcuq9&yl$TVdtJW848Ik@CqeUt8X=bpOJaU32v~lZGu3Kgkb21b*Q@N9u9yTu z(CV;TFOIOuT~YCcpzUkl{{HUEHCe@XvWV|w72g8>xi&AkR!s0xy3`>eHPK7y(p$cp zCR#x(t`PM4|Nna`oa-(MJ6>eAy(sJ`*x9M{{x*}~76%9_c;PYck-Y=xJpPb>|HT>1 z7_$V|3$yWxSMrKi`ij?1kgsT9y74VOIV3(fAR#zp)mNo}`3s!<8e{khBlrqqZpbm! zw8c9dIa#2!+RGo>tDLB?_KD6y3}tJ4JlWy;O&DiOCN{{{27r|KTub+>*t3VI%MO*?!rdDWfQ?lgH zk>Yhr+8CfB#_h_%RabL>y~i>7#=rV4{S)^mymNT7?Bpbaj!8NllMD>)PP)dVF!7}L zo=*1UPVxPrwEYYFZl)X03a3BIz45H@1FP%>_P-IoYwRAZyZ-xUjopH`pSOPClI& zLi2&7%8P-{M+Kk%(8PQ9!dh7gT@h|K$oj7%hcq5M0G)RqpzyDLT}=){R>|@j*!_pS z2eKSi`Lvybo?rSuuvk>skMU)>gIiK!fXu(TdB+*tnRqxA4!AXe=F9%qAK&=*n`SyE zbbhOTm2>iO;qT!Ep!v1{iGOtg>^E;t;dEdHpBD-`|MTtb@QK#!0S?C+LFb*;{gMu0 zm)y14-QmdN3kD|t{__d)6uBy-euLeQC}+oLS8Y7|>ThV16AM?v=~x`6LXT;x*z*6GVe+q@JL_0}E4zd!)cybKH#}#YX)ONq zUyGwiiy>$~;-f@u{n$p({=*EJfAx+Bh0g!)+^uK@pHCEEf41_T-lL<10xg9C&4mI+ zXCCiJvN_b6sL&E9(-J7d)4FatU&x`>K!uh-1(!etMUL=us)-Kmiza5M{Hxz~y_lJ~ zmPyy4eNkhE!oPnGOMlEr;A_~o${lo{q70j(%wqFL5*eLLAp5{pXo;^iPvASyerRHW z%D?|SJCgg8g)du09c`33QYdkxP-6Gva1;qR1x#NH%vtWbolNo2zb%^Bif zKXo)pbTmqMG)hDST=Rc;;~l)e_JMOnT)sbty^PTDX2n7q38CW|e-DG#lTI-BSD(3x zcdPfOnLpAxCP}n6fe?cR)3fga4qeHYK=)mo@0>n$dJCrqsDB6A-#@`?Rph)W6GC5j zYlyq2BxSm&O>^@*SgCr$U1K6=3e!XfwF#cWHT%lVyeDaRH-S*w?^hGI$5wey((#(4 z;XO&GFes@)@9_bz7NwOQ|NeV0>2dHiok$YuS)|cD34}iJ)z|C!9`I@_0?i+m8<#T_ zv=`U=ojGK3dXveSLnaZ5|EKwQ^1;tXGMHT>$#BZ->|=womkrK7HdtVPng6k%178O7 zt(JfFGfuOd6ghclK4`x>KlsX_E82Sls@s!y*!+}+d(d`{Poj+^=1sV>=!iu&UCn||NQpffB$X%-@TLj zKkdGsyhfdzM4h}w-G@Uu8|J%ZFt$4>1aN#|Y!0&1IaA4^ zejsTAhYs8S|NmJ7f|R!gOy9xReBhx0hX`NufrZ7Nr=DR-{L%Q}dE>+9jWMret+}k( zZXZvby&Z&jcAU0)As-gLH8Ff?Z1~bxg}(w5SzQ0JqsC@#|MJ5hYi#D8v$Xh7z}0uzqW7>#?_m>T2IfzT^tsxYB_N0) zfzj#!JET_z>Fa^WQ9dXX5O_2^5McpgjfMv(6cBhcJP=_4VvU9eC=?KQG&~St0b&id z@Ze+kB*XAXhT)S;6SL$726l@QhXwr4KYuK7Sm2-S=@rG%;G%L-U4^UBX>q`>3%_bV zT{Q8WsNy=M4L{gnm&9rFV;f?uX6P4!co^hr0_vtm)m$|;;vtrq&N3@(0F>gaHV zYpK)9fB#*J%Ac3NR5-~8-ftKhni{%aZu9nJ_M)k&ks+a>Q$r&!DtLO#PVLwbV=%qz zY0}CFy|6NE=U05<(_*i+g3uPVwYQ$IE3BWX{cO_T-{zNJtiD(K_v(QNUbE(l|Nd({ zb9kM#EiFlH=Cs1dw%nQ1avAn)U!d4|AgZry^}~PlReFZ%yXS13;}(6qP-=Uw^!8k~ z2i)t{9D<%dT0f05xFE7X;qt3{*Ff`ycaP=9Y@d4mtM`f*c{`=gm2G~Svt#zm!!ly9 z`wpXb?@s=GVaK(KJ4Ke!yzQ%R7FkHIUnBn7Z_csIIond_9LwBluO>PBp2IEQu-P~N z{d@3kw^Bm@Lu=B^X^Au15@$|JjJf*QbYHH6#9Pzmi~s6(ZQmOCeCtecw(zo4@v_A5 zveY;6Og#sfl%|(Pf>A8Pq$iAjrd8~X(4CrnG-z+s+N&(vwz;x}rGgG84NDDuVfuTq z$V#oL;LV*=T|@6FpS|!@wn@}9RMa$3)HL*?cj%YHza6H6_aoLfy>a>H_U1&_wkaxs z!Js9^fisTG-_LpYz~vL*`NN6j#WM?zmdtz z@y!ae`Muxg@oy3Gzih#O*~0&_jhoV+&+P0D(EW(b|Ch-8$X}Nqb@s7M&t=dRh#s@f zWTfSM>bYzI+Fy9t!e>(ZA!#XN^@8|7g z=!i6$(fhRNW`xlUU$s9yHEG`UN-q7=I_aF!vx-+XyU!uB=>wk5EBNfoTQnvfh8(mvy)fYj9uIx$)8P z?)3@>9#-R%0ssCR8te%DoyyRBfU6CB9?Hr2UpieR&-+!x8Ax}tF5VbpAl)7ER9BEA zS!WtgThh)1ooPKW_Lu*yh%}n+qndm$!brS_eXI6)Gr0MGlGpRCV4uZx7-S#UVVzK+ zugACBaYUGa)Srwnnch>Xx!TN*`>+AmVIA(nI;PqJkIpxM<_8Z3{QJ*P9_kgsQt-Yb zP*0o-w4Pp1{FKCfW=98}qeeRe{{6oysMMI|oqg9MKxb;#5u=3xI>KJYm)QjzPJ&LG z{8w+jYSkyrua>6{bhQYrbop2Ba;0GA?OJbc(0MSR`NNl6f>$q-jxcoaN@1Gm@bAC4 zU~fl%hQv0|`7@aw|NhsWT3@@~GVAAocJO_F|Cd&=KU$=+pkUF-MwJfGmO};MWr_PY zs~+fJzSLpy@BiPlZZTOyiOrz>HWMuV{o^V=x^mu!x~T`+S_Bh4{?+Hl9GG92Ru)hO zy8m#J4ErP*k(u}3eUd!p-lW0?MmJaOQQ^7U;iS}mg85Q|jRJ4Ss`uhgG#r#Bv9mB0 zIw%ORH#NNb;pNe!;9ex-UL+H8AoL{ff&(X=AI-4%SKrr$K1e~JLWsN1xm0wim*Bg z{I=c~Y{3Y+|IZC{-lqsh>r!WTPcGL$2^P?JkwAld>_pbTD|AG<-IyjOs0ef%ZCLp7 zCWnqpzuTdY5h@b>N1ej6jm_95$sC;sLOhv|{gax^+Ja5pf=yeKEg2X5oBD*&j6Egv zSaKj+N+{!l|M%xJ{jdmH8^(M!%QQsqI#bAhM=SOwNA@CH_9n-MZ~wRJGMJrc_B~PT zd!jjz;lcmg@(edzY}N}e`E2B9v*9wszyFM8CyRYMiak#>`!YQE|6kq%#P2NjJXs9o z|L}0r33oY?6u~))!!BD=m|y) zPqzP;zYx}S*rD^V!^y)AlLS@5tG{z3m`U@bO+J`lCVhtg!DD$ozG4I3VjaF>orY<9 z{w!o=I#DRoo+#0tD3N)9E$0Bm^M`iFL6a{M#}Xx`Epd!uVR+O!S=M#3q|0Q8c1xJX+G;dd@ zl_4rqycRcd^+`k+&F*=+X=jAd+@5QfPi9J;HFkxdW^wzPS92UfULSGV`LDkCSKxAi zI9~-+ad4q`=YOp9iG+!0UT@|0n%X_|^8uZtnNe znCGQ)zgNx|%bfU4lj^Cr85K)ygGJCCy37meVG4&OCADn?v#$3FmYF z{u?bd+~)Ms;Fpxt*MOT}0;IkM91LFj;~_Jfz+#>Ai*y7Q>li3MIzG=ft|Lgs-3f$b zp9r37p2MLd(&ft3=%FIe(Zb8k#Rr;CY*PZ|AI>($#?~p9I5sOBUnFyUkqp;@o#%|5 zK=X5;^G2V(D_^Hx&U1{71GHILhP_GVk9Pm>g#EYR2qJb&k5cz0_%V!tDg$HO{p zju$R+f*eN}D{W*1+F#yMGoIy91lr8VUL-R`uX?-MLGXE?g$f;sGSk#w9=vapVWZIB z0ojk;vDEIl8V7iO@L`3EOz-j8zx39)f#w5?WY~&iI2*(cyxUrJVj^hqe@CIr&#t8x z^TXvp_YEe3<`?^Gvv;SzK%6H!eZh&_Y4?NJn-q>Wg60!h@4oTgzO@ZB9|_(MINki` zq%F~6;Q2hzlwJeh+l}#(Y~cF}LFcQ^(YQT%XY&txC4TqE9}`UE_}%UqJG8;}7lwx# zhq6Z41%TFnfaXJUo+YHMSeBLsvY#D%A7d562?p;4i22K_iINi-Y&+cK`c53aSYad8 z)82cr=i?4*1%40k{fE8BlS*FdbAjhiCD@B36f6a}m?v@AC`@vP-2dnn@jFW4Sm$B` zkHrQZiwzca{ovsJYUP(|%NJ_N7izoUU);S1B79-X5=E!QhAm4x;4B=HxFv1+vdpk) zsne&W?&k~M!DzyC{fo=AFD}=|;?>6c_xy!^>>B7ua&MIG8Puf3i6K$>P$!eeb{WRhY=}96z)$K}Uw`*r$mL z7aU+;yfH)L-+$xv!d}M4%Wgr>-}}d~fMEl}V}@s-`54G~j~DiDy}fxah!2@h%mANP z4B{it&#Ks-8Aw~uUMwtU*C!hFqT=6;a#HVoQ|J8B~ZD&&r&x9JDO*Ld#c<}#n zk*G7JnWs}zPnTv+3}m(VwCce1qp6j#|LR$H&e?tC{epR`e2x|PY|HUEmeZ;C<^b26 zj%Jx2&J_!1G)Q%EE_na?r-g}}==~q=$xd`TYuU7B|B5s zB9*R1DxHf|nB*r&uVm%$(GWS+;xrRPJ$T(M&k>*@+|^>V&_hF*i%}vX4s`zL$rPiB zK5D|9PNFO#Abw|x5_tdO+12~xK>G=y`xQGLJBEs)%rE|4y&kb2QPA_l!-tKC`A8-P zwuA$05+I9HjAr_%33nw|GB8*K>P+csaatLmF~#fI)s!co`NLC(47d*)d{MT&q@>G{ zVlryLe7A@eFbCT;US6Wr_cxD<*+c zz*B_RGP)gS|74r2;yXzNG#|($Si=Q0?Ow0ONJP%9&uMezuN^0p?ar@SPvkQ-H z&Of%f@YrUO&h6bQp5Xm33IFO1J_I*}il#<@_R}m(`S-u_kHdDC5*`ya-p4Tzq)>Z! z|9kr)g-}U(S4o9X$y;yk&*V}#(7}DFX~)0%0s)28ck8FuOC8zl(7YIg8Wz6)%O>D( zg)!Ab^k2O{gAuFS%yWN!UD_aUX@S6`1w4Z5KK`m-r@(RKVS>ev|BD$I6c#L4umC-M zqVt z57LuA;FcQ*nm;u7t?*0W2g7%+GfPy?Oi?(qMB!uG;kxhfOx?nf-OQog!jTm=$BIRc zFim}y8~QAF>a*NGt@@AHY7Wesp#FyU|3Akvfyooj{M_%CxV%zvd1>PE$~TH}m&AWE z-QMDHYm3Y6Egm&aYY(yS32R>{<2F&kZK8xi{31=>`%K3YC0fBpkTNhZFfCvJweP_D z4Mi$;Z=bz`aT#d-FHnTVQAEozgOSA(F@LDwz@*}Uxjzx&ITlCIVd@MF42$4=1xAkv z3Y-qdK#j$J^;TCyLqknNL#rU|Nft+u9cr55UtAnml@~f_{HuT69o)gu8ob-V&8ZQz zK22KCBI3r6z`wBh#PjbWgx5R6(&ght5@_6-p{d~b(Vz&WWAb<2s>-`dU44E zEzAck4F3I#`7Mwjp_RaY;0W_Y(EOUbkZb#_AK_meTn-;FF!=Z1e}a4RdN%h2rlXD$ zhYdvz8;Wq$zA4|Rcfk4Z1r39L^|I5`G?(Ru{nu+r6lo3=XbKb%Sus7}k9pfsM~N0g z(3D)0;YG%ohYlQdObn3tSO0-oRhelMYXK8mpv+MR(0z($SeLw+FMQ4gv_DaT*-^sa zrMs%jR}Kq-PUpuB1}1zROxw1<%{&B}oO6_Ec9i+S7#VPw8#>?lk7eDvG%vqZ_n`d$ zg`!){8SE-wI@vh)75#c+^bkRdcfVXA- zn)j)BM;k$hi?$RBJUr_XF(FxtEl>ioe^P<{tHHx;30sjq7v+NvCIUT&xxTE^b2!Qj zzVDE6BO7A^WA=j}H%HLqADf|!N8gz;p}MMLffB8bAoTXf@d!sLIrl~pHZXeYmQ~M` zpXXjEz?R6vmdGPo!LZk<^FXWfMF)$2^?FBjo+_z1=0nW?^Z#_@>6ovaPa_YsA8IU6 z`1gNt;QC2b47>tfY)zoe`$r2UY-)}-{O4w33sO1isBqL#!K*K?QCN<{NT#=a(Z&J| zDemLL?U}pbaPX>uA#GC{pPt(%?B=>nOb&bbbz~|H|0+&SS-*46Xww zSd=P5{{8>=?t7n0OGnBij>#IwCuy)x)>v_|;rE6Ohq@;jcuz9uo@6jh`c`ew3MHFI;PcqvSIky!|3^$c;PH;0 z$2K4Hj=xd0ZtDMR;rH31pV{(I#kzYc^Vu$d7jIu=w*9c*EbFn^iwRy!E}Sr7n&`7+ z!osPaw8Ad2_+Aq66&4Mgxc79T+`j|Dr?*&b{a1hDf60IMKO*b@iKao%yZRwF_aock zxUgl3VapQ3wb{2AFW#?XPQfUIY7=&skdUE8M~KxYpp{fc>b`S z;oQ?RPv11e-QetWQ=9;5zq=*QyYur&gKnh8-*6J2YOFVc9`?}*rBce>Sz9UzU^?^c_)*YYT#9sKrz+8^J)1X z`2RQvWqgrr{P%zQ-{OA-KZ|c#G}$dUcl`6i2AlbQmo9&Nz)@f&)tk2XV1bp?*_QTp zekNWfi8G86yi5`W4BP@t7LZy1G_ni9qkKp>z{t_?fQ1Bv9t{sjIKar!@PLH`gdPnK zNI1aA(eQwU1cV-J;lb7L(4gU=PQyc;PYygC4;YyES!~aN&nsS@--sC8khH~uo_*ppxw@tU=GXWWMAU+;=Ku|+IP6`z(UzASZ9 z)$i@Ab~{A!nss0N_kW_xgYtLp+@FU@9nZYEE%oNM)Co(1j+9+@y1lIM*0kJP%L*rj z`F@eT^ey^$snqsD>FuRL{n;B*mO9+!O+S72-~aA>(fE$W4nc>xyy2&B{`-G+jl>H3 z#rqa3n9t=cKmGUj``B%VzSYNnJunA!-{GHnuRoCwPJVw=!UWmRD1AJ0&!ZjfQq2c$ zuQA(v@!$UoX>6ATJ})+Qn7u}9^T~hpFWs0JIueepVVXHDb;h*BnbT5xfA4Jc-gxZh z)WjQ86K_sUWz>JUgv-%Eyoa^;;J<$l_|_?{TcpI~An|%@*T#SKi5-qFBDRSg^$Smp z3=546PmP@*{B@$jH>R-A$S~K?u+Yer4t{SM-vo(|t~Fs;|D+xEr`52fHt6|I>b z%9G3O)|nib)FGnP`R~8+{p=lL9r@N=0W7WoEUpt+Jkyj!_enq>?pecG;t4*lwDMm)W9!zAPz~0n zRTCaN1YCBQ@YrDwr~Y$~=}e%@4 zyKK^X+2Gt`gGH~dt1@aZ`CSGbPU`pAMEk&*-upI5y^jrgAM5mfHV~6@xml_L+kePa z9$7oNd}?(T-(eHp!=NKgKm4~jdQr8`=P+n~(dV#5*hV)`xupkAAKSDu=U;ukSz6$H z;gvR*ybqgjA2#tmY_e_7+iPE0BjSxDPpeK|8Dk{rot^Jl_#(kboL8;*VuF$Q*~beS zeB*dGo1EQbz`NOG$Fr|1UuwYi14c8=40xle!0E)j*?$Q zsnfxbfAy-HHZ?H?JZe}5o&US6Q{(ac_~-xN{f;63>KnVZb_-gBT5Fv>q;YnW#@Ry} zPLJL=iZr=#UDi2uNr&sQPQg`K{r$5J@H`DV8St-OY(t|&BO{yWC&*!{XE&Mb<1i^p z6}_*Q2wH`dvU^n(?^VU`uwY(=6=_7 z>KSI%1E-HD?ezKg|5lsf=F}Srq7L0lgf_bTtM|CGiYZYcAqm|7a`^Y3^Fo?~TdsrV z0T1YX5^Zej)K+9=WjLx$=X5FRbWoY@!IC0V&vbI30tC&;dAa=l3()-B1e1UD364j^ zQ@k&DAAs}^|3#OFTj~XGu*-8VQejV0U{6x`KGE20tLuRdp`D|SKd(>jr;aN)A;qvA3LcSwITAnwA^(lgaD2RtD9bCWi(xHvL2 z@p%-ffR5BFQm}b)LR=Dj-Y95@yGcg;)5E|$7E+-7g5dpyg$nD1nJpboJW;Il`1jv) zLgmau=MK2Dc@(K|fRTuW?qsHup#6)SlN2~7DIA!;!}p&^9_aAWCK-<=86#E+0f+5T z9+NaYz*`VEt@C|-yM&1|Nam!Y#7Req70Q`6K<9CZaJMQg1l=dt;@{ox4?2(0jj1sJ zbpF)F2PRXY<7F<6A{W$hC#Br{)fy-QTH@>|GC^6zHTsL((TOsx6D3+FN(4RO?SCyQ z<~~Wotx3hLNyBi#EPLNcJG@kcJzbPKT~vfStNxZQb>k>@grG9PKb!)bFOFmg3i^l% z9?cL8Z1~T}5OT}AOXS-mrKNk9cm!TzSoL+C*Ap;uX|?~tknq?nVW~pGRGEcSWmq2k ze=W~&gCSCwqrkM1BXV*(!@s|bHy9!(vlp0VazsvUWB7L!#D~a73!eb(AG^U4E9~*X zwDCubFb8OVnc0J-3J;blJY1^4@Zf*Fw1<^qN6drv2&ImgJ%9c)DtL;X_j+>1i{-o* zi}&Ac|Lr}^B9Q2;w^?{45a&6%uQGWUr(ME#Gq6IhhVKPgjS zQRd1A{~Mq1+X)t>3Kk^_7Nv?j_^ErKRnEU2$#EM(w2 zyGW&HkwWhxl?B#UzW!Pu;i4ttp5m0~q9)?j#Q3>RLqn?DrD>sqf>;su-bacGF} zxGF6SP!Qrc!XQv05a&8chqXz=Ws(kuXuhJ%3Q&17LFeDUl+5H?3vMk~3ELmo9o@D2 z!R{p;pz}*X_Yst2g+BM@Mq68lli>Sc>u1CkaE5cvjN}6Ce+F-nn^Jajw`sN;e7|AN);p0CbH%{s z%N%c%xnggw_-Pr3jnV{n=1&DC3Vm+;>Ab>B;Q2v?V}%Nx4!QpqIUN8ko-q0M|M%|3 z(6o-5H^F>^fB%(Nv~23$W?`4)-lV`*1VVF8t^HG!_X;$BSSWKmQHI6D^Y$XfN9>UO zeT@?A^8Wv1I29(cFJa95^ZWgkpvdz2zkd&a%3GU%|JAJC89NvoID_s_bbtIY!$hv% z?fl~PVNUE|!`X@yDl;$4+QaB@0<>B2-#>;9Rt>%;yN+ex`F)x8L>WaEe~SQSHpqFT z#|kCBtGwTwp8dmFPT=_Bj|nzXeaFn_Zwrz-(J0eiDA8Uh(r&z8E312ljlx9t!;G0G zG82xqH?7YD-?wP+@1Mcm&3|wHzB_Xk$o?c5wj`N8z1tJ5-*ea~2%db**k~fd&$0a9 zt63aAI&wWrF70&DlI{6a@#_~8f2r^J5)eAbRPselp5sV{v2>2w>Z55!(gM)b+{zKIrn3oU-kf4`IOk>0UHg;wzX zLXJNtKSxO4u$16ucfJ^5Ai~@FZT`6{LhOzr#|#9H83;(oDKRK%K;~OOTeuj&_y2+T zM+`t)3@aMgavE4beB}87G^76$d3Ea0H>2vsKOgRajPn>+x`J^{LXg(3b7v^+gWMEM9T%-cpueeC1BmR+R(4J;0=^&dq&znVhZ<<}A$W?DiBToz z)iUt>;U%3@mkh3|S8rm=W;^@Y=ImpOv!87?GASD{DKqh_xSkhwx|NnMhhx5n4_m2xJ z8Yicw|60)nR4z5V~#{s6D5 z@lBt9^{@7PJ@fhQgL`VH7a2fMgZ%Bux)*K*P8SuJE*Lmnu*ZJSaoJdQQHu(fzh`1t?39*2W)Q;LD)zk1PR zgUOA@-~4A{b`&^dz;noeCsctoNP(4&#Zcg|0Vw@4i8wH@96(R6Oe}#S%#H$w9Rvat zn1vJ=Vdt5u2z0i{$$4>cxh9IR1cJ^#NH{5!D!J^1fkaQM)4~7^p)Qx*VlpCZZpFE- z$(gRjxsCD~jeH7R5z|e?+f5?cO_Ty#B3`sJbt~I?DO-9e+g^5(Kfr8tAk_b8^w)p& ziMtYCHM|b|bs*6ne4iJuaXNdJ)$)3#1t%&Kc2q7n(b#n`u}Qd!>CV%bIZq?*JdLSz zT4Th$i;1U5;Y^~;nM9dCE`FC-bD;Bwt$`xE35;S37@69@lZmdd`9CK3{2#QvK_Z{a zH4%D0VgaXk0mpQ7^Fa4ew>p95S36o5MFJcpG{m~xoEj4pggTCL^DSEsojo~?Mm@$6`zKnn=*DA=xV`p@LR4xV59 zKbIjODzoPg=)S)~(Eh(U`D{O}4!0PC_9sS2{HwpaEMrMPm#Kh*`=UnBe!TUcdA^)| zwPLFkYmxv<5D!ZbPp|CMjJO*!j0Cva9yKIr@Npc|nDFp|*f9r*qXr<<@%Fo)*c-Xl zK!FxVffh%eM}B{+Fd3B~XIdQH0r1B=m{>y!El5{f!AC|Na~7n!)kH zqkDB$3-o?R5r&>PYn?No^G`wkX}_BA&ERVT7ifQGg3P}<#`AN(Mh2{1e2?8xg3VCm zn1M*N+}!93bA{mH*Q5F{-p-b(1w6m$>?l!GAAalMSFn3z{?!+<|7Ttk>UY7(Jx~T@ zgrkIR+jaif7U+J@|BN*T`^_Q+3qP?r$*>xM&?E-yiSK6|IKuqU!sOq-hMC7p_f&uF zOL8xiU@H`1D->}MekZ47al=5Vr=4k2frbK?`-4UN`Uj3WKlHHpSO4F1cSL+t;h!Y; zLIw9k8TLdOz5^=*wf8w3bN(1$^Y8yJg_udYEe%y>20;lv}* z{NR7K7M5>$ZtPvRP9`dJf|1GbnVRe$qTDA*xHU<*O%j>%rD^3CKL?J(VD-K#ZVVSx zzNLWH2Z7dOHN?fedl33S?*Iq$rUspV_1z0v4rf1SSksr` z`+v1u&ms*UP!m$)huAgW#cV<+C+R>?R(ZC)%WuB!L!iy*-G?-;tgw~p^*jJQ&-C8D z(0!7n=I+pIj@glq#WDH;LkR<`19W{z9+R32S6aSO$3#DkOD9USCI)B-%RZTS<-p}v zTbwrj`|pv~(8jh(<%z>p@263F|NV>k+VcCreus}t;%%8?ZJ_f^KkW_uyoxnSa(d>? zwp7XKnVhz_XKu-Nn7wY=>bL*uU&l@PUG#hEFT1aP9BuI&ZL`#}?=T!Vun2q~Vm<4Fh^E)tFO;4wl;~T)(X~*b z@5r{agEheS1r#OrCx?@KFDT@UMUW7R+2=$1sysiRr=f(gn{87d$Ui zjSqKJV&aNz&y6Y1jcLyfS}Xp5>8-=`m7!Hr|JA3yOj?$*oM8&b1V2TglV1cU`YaH1 zRy*>9qrpM`Jo}fAH4gIqvz9HN&D4L{0)oCQi@&7yldX3WLvIrZHOMCl^KuTh@!V1O zK1T_xpDi9;-kx`Q8%KkK;)LhIpDOGWC;a{?DWNt|#Wg_1H9*9*z-U_D!(|dPywrtH zhA2(+Q421 z-CK7*ire~H?E2KiX|1u>r^Yrg=6`(G<#6MTYW2x~{|jFhlo!<%JwJ4FS?Y{si8Gg_ zw*F{b(R;J#*0#c#%W`in%T*}Pe|hcgH|guCw~nRWI+i)%_a%{Q+ZOf2RXDe_EcOTr*8(d+D5Qg?F|UMz|b*X!4dxW_hXf@3KGw&SBoS|?fF~4ov>}|Qx;QJLhuedtxi#Z^DR&Dp$fAuUg8E&%Q3}$ke z^G59O$$$0pXE>a6Jv!$E)68kP5p9_>r{zvbHQl6p^H;>QMDb~f5z7+y%rf)5^#4Ev z_pz>>|NdK_iJU%XHq&c|YuQhe4*siu;CpiVyr6T@%RuvosiEPekxL{uJk@)8AcXs< z*Vcdkc(T@UEK6}~aS-!rOXTFW59t$TTq6 zG*D^!?F0u`==@>5ki1ypHL*5n@O)wKzyH#cgMS$BFzn`-;IjCVhKkZem&KD_{*ITL zF~Mi?`4uX^Cio~%P-*uzb`bOct>3C&!CsYfYF)x{hYQaigU&DINm076OiAt9j&cVD z|L31yRyZh}_iK%v>LBp^Fk|7r|D{vQBLn6YPyfdE#p2v&3%)NFc1vE1eQ^SfSAgaV zC$E}SwO(YVOWL`|HfJx}oO^6@C&xdBD}B|u$0ogxP0l?w5&Kwq-TD6kANIp1OaA?r zFOUv?9l1LgI$!u-(+&k0Z56{CJ|Eb9g>7k>xA*(M>fLPOv)Q0`v&jc0_g-erM?Q;9xEGu7 zEH>HjwRu~XQ`*@>CT9*AoIPZ4<)^#CoC1kt9r3eElP)G`O+TAoz+-cO>sZmolz;W+ z#`7M(ba>}{%^S3NPs97L#)s{{S27)h&M(&O-JK_$%aOL#!PnLKV#vR`-&XMr{Wm)P z!sZtZDvM|CjE$VFclMCR8SwmH+2h+*b3L8F=IMAJ)=@gVEVpmZ0k5`6D^vdce_X$B zZLL6gumkt9ri}^z{`0dbB|LFh&a#jDum;y=4erAlU#yQ*ZuC%)8^?xUdj!v8B%cHQslS}pHzdWq6TkAMFd;tk4YZk=4A)&E`5YAf8e_J)SLiXf*7Q>TNHKqvFOZ$?ZfC(4|hDAP4j=FGCS#ns(>T%i7* z%E>~Nm(#CCaxzxAfflPuur*0!W<9xKma)%$l7br;HE4df=rTOu0qJiBH?K;~4>hoW zu222f;PpzY#f@uO7RMye=AILcG7I!xeNcS}?Qi~%?)=l)+0C5+U7z|dVH=Zg!~Txl zp#6=Y{f>M4+ir`Q8UJ?jSft=S34{_J^G4n4fz2NlR@V7wde&4v0&O;&B;zqj#;45r zm)S`#(EdbF7gwc0t}v55LJV>rB4?Az2Zq!0Og(paC{6TaVVdZoAmGW*KSh*_Gf0Nh zN#cZ~L~@JQf)_XZTEUn7xi|_iTwub>I{d5u^Z(fHGq+Fg^{`Qya?;sorj5#!&hsxb3(Pzx>3BA2 zcudlmqU6c`BEW%D8FU}Xf5GhzyC=N6`u>H93@_W_gAoQ&Jx5;#8b%v+Br3EA%CrZ{ zsQv70@}2m?L5b%$^QH_Ng>JT|pH?q`@g0=9kNv#5xWmCy8N6PYf#GENzjyEd9q@GC zG(+cKJtNc1^7rT7{X5{947%U4o{=FV?cUq>|E;=`6gt6Z%D4Z*oE`}I@{YUr{{Kht zJ7)g-|Ns9BA2q%cE|)5NRC?PT{xLGV@KNdSfb#!@Gcp))7Ac%elsTCwGvP2R0|N)4 z`94bJIV@y&+!r4#Fp=tZd;hyStI4e@$gL`IkFR6Ng^~Sjz zhI7xU7vIb=ntLIGCxVIpK-#34C0hUg?|xmpGkCf|$$_VVl_^U9>vLbH>~QIDXx$;# z>$+rPgo{%DF%@AZ@6$|*l3fou+LR=_I2<&WCB5!oY(5}w!10H%^}ziz2U*n*$e-W- z`{Td*wBLz040jl|fzKy;_^&?fM$it!tp=@3(%UnomuJds&t$8dApWtLX(niK3}}D- z{5=Pyo;ZW+v#tOBcm8QPm9)Zfh1j*w*lD4W*Fs|%6k~6_TFbE{Y^AVQtI^W1mBGtc z`}>%LO+7EExC)zkvQ$ox-q6T2QN%G&#BrjCBil|eKj4c4{}-EpFAgmU8Pk?!GM)cy zaqh9j`Og+C1{b(DHZt{s)|Z&{UN&J-V6=L`%;$U9g!ixk?_raz=DwFyV?Xh323;O| zc9X%DwcNi_Vy(Cr>zrAn!M#{#)n3-91w!Ec)IR_In~U7Od;9Fevr@uiwtq5iH;yEYR-EQ{up0 z@qm#7a-XM%iVz3O;)M$q95||?=os+tpW$zXp8_WZwr6oSX`CulIaR2_!1q8x@9_c1 z{8xQ_efgQ9nj&@B{Gq~hh7g8G9oGm)r3vkiA2xul`TOWK^IL_BlHdturb-)y3GKHs zSVa#&=JV>Kwsxqth9(3!bSOUp-DmjAFt|CiGqm$S`w{SZ`?}pn%0r9wCa`f#QaAyg zf7FV+k{h)PrvFypj*k(B!o3yn`9uEWfySxgp#6c6_5Qww-(wPEq4S;p`Ms7il{-9I zY_bW=AD3tiN z?dj)5{8A?hp!X5ZifCF`I1BEc1w2X&Ps$xY_8lu!IF_g|_2GJ})q7`HDok{L%vfk5 zC*Y>*`hGF!{zNwL{=;dt@9r^AW`fNhN__O5rgB&Synj*WU%dlc)(f{62^|g{j}L;* zyIxt&Qtsm8HnYM`VM6=ij~OO1{l_-``C%ntp(ND#SaG6(oY2XHgbWJ~9|QR_M;`6; z(UIe+Dyk{s=n2!A>9Mt|H%uo|aPrJqdN-Hl&Rmvxb6Kv2B!2+2?g2^fZL>E1`>*)T z;F7~PhA&K0zBq(Du?czN@IiauCnkL+zR5bg%^JMT8bR!}0nGY*ClX~k5@k99B`z@Y zJyPJ8(9w|ZYkG83MPuIC#Rm^2GWjK|_ysHY1uLv@w)*F;&S56Q-?r#tfQ|&OYn<`1 z^B(4MJfIs8b)>l54sY9I02*(OkofoCb`}+LDa1@F!o>lf)guGy?=A=g@eag$Kosh>i@GpXZ_Cni;<55x<6KdfhD4A zX*?JEAr1CTAXFeID!g*SiAcTa+)INt255Fx?(QC)O z8N@lYNry3k`xfscjz}#r@7AD|AsW-W9NmLgvz=N5x}30Uk%ovu=d_H~DD#c0S2t?- zYKU~XI4$(i5btVUNb(#l+8CfC>0Mt@P{0Jf|IniMvqcE^ z)(PAj{rE*dgTeeFjx}3vubt0eCiuib;E9dk69 zdK19opA#-y2xzW-{oj|%|FVtWVbJ*<1<`kBJb|6}U(euFQa*F$nVAlKX_Fsj{Hrf5 zKXd%dng3@va?ED+x=p^AV=~M4@s=%OKXOf^d)*eF%rKGa%?rJHe?^XoRIeI@zy8(x zUlw5g+)C_^fPB6M_dV7-Y!M?L)Er_$oM8Fjz5d#cvZIGxSdM@Y7t7a| zH}{rx7@M|((IQ=mtGAuGxE*;;8StDk;Hcu9UiESkM*3udrC&&Ym_tE;`^dow4iY?^ zEe;MTDWLu0uHgNK9W0L(7#Q3j=a;rPim=aO@tkA{-G9g$C{pdfRCj=h&5bFP^;3u| zQ)r|7iHSU%4)Pm^Uxv|HU-rS!VFF)G5z0 zLzv%w5dZ5J_oFrTM`PTN)*g*tD{QZYEfViaWbaxe-nF9cV%ah$ru)-e@3lGJpXOQ- z>lQ3<)S-XzZkuL_*3w<;0=d~Ob^@Qg%LUuTt}ZgdX$DZ&$NLdqk$m+#?4+1E{_iw==`hK|2^~M&+@4=h1e2Bz*iUw{QdgE>?*O`fP~_kL+=dydllf;HKEUQw z2(r(N`(}RH%#+LqT%8I*`ztTW-t=|6?|cR9KZAe&ZNp0HH<+U~4A zuVqmQc@D=L6Ej5q)vx4S(B^v0!~OuP6KKEVf8#G^cZ`J&E@V0iy3CNLC6U8}@zv2w z&!WKl|3F&+U-cS1{8Y`MBGtv()aaog(Q%}{Z|@2Rm&Y3nbpHL{!?ym-tre>mIk+V? zg63DF7yJ#i_}{R*jipHBaH7EBM1c=!TvmpEezk)3FM^IVExGws-XZxA=>Ee*kt2yB zFZ>VvnvetCKUmKl$-eKd-+69_qsk9K`widvXP?b(-pzQ(JyC`&QRY~J%+0*>>};7_ zt$_-yjxsKeG8>ihUaNB-V08h{4<7VS;F=l1$Z~hs`KKJO1X2vlmM|YUmdqIG@UOlq|NsB+ zuK}kW+`#>je+A_QM^07zuW$hM*G&G^o6V45v^;Tw=Mmc^nPZI-#~Nimr0ihYZg+}( zk_;Odz2JWF`_?|D6AKkOCdzaylqstIdOtePfqkiAX28FH9L$CFhkMF*95{Z&u+ZmU zeMb4Ow3TI?Q77Eg1h`y2&2UiR_tH-JI5)@xv|bZ*{~_bN?>~1va_el;=x74%KV-;! zSgXVUIv;1D!@qy_*EbkU*u3?+!>Jabg)V>U8U1+pjyRlo!{oh4!+Vj6_ac?N&D-s` zCoDR(NaxffjZ>3!{#?|(weT&tf9&zE-ox9AZ34?{Zg77*Sc7K^t%mP5AZE3ewpyE-rV%T{An}yhdKDFU%puJuionQ)41KnruQ89I+$Oz{Hw1k z-TXZ8b@a^}jV^M69#0q>UE~6Pe*eki5U80VH22@XJwG9Rd4SFA9ea5eZ`zgoL zs?4s2#!d;1yc!zYQ~SHMuIs?G9@gTs|LP@;3chTdQ&PzkF)cS@TJDT#xi$6I3iy;x;QqqhfB&MAn3Thr*_ofoa@5IkRLM%zHp$ws3EDIPQ=#TvWzy1Fqts+R> z0wPEGpin^I(eOZo1&B2o9-vS_;L-3vgawE-8XllfK;Y5vK!gQ|Mep$7PD)|}qc$dX zg$3;VQs(wq<{ z-WGeUHS$_(>;-1u1~pxW8*fBG^M#&gT%M_I@d`fD2;jLx4x3(2_l`UspAl4_ny-*4?|5vysC0?>?KgW}-Z8Cjf zyB}tl&e>ylGs)sbmX-9mWvd_NSV_B;|Cc=w!|Q(f>c4u%B^}FHo;hSlJkQ#7ySHui z!z|0_@@tLRoj4HH!?yb9zyGXL4X!g>Hs2~FRhD`)HBqW8^@4RJquf!4ncCMT?fq9DVjNPe zFrDGtxf`X4H&SD7mL@LP^Z)$%CkL*dT3WUC-~ZKt7>!{b-DBaNI zmma!1h-H-~E&TU?@d~$RTHiWym_keg!6>v>?Dyp5_GZDRp+c&G!KR@S{#iGC(mEFU zsEK5`7%lWso6`AZ@2j}UB7wo6`%VH&I0cFl{@G0w@r9syHvj)UaJHD}vPe*qMQWnU zqKWc+dOtwtJt#K*t7l~M%6YTu*s(Z45yy+dwt^y#8bLyD9(VN#iP&CbwiObwjj>H* z^!=~I|HXmti39%^hlE4tmavvNoJ;@wu;$5oeDPl^zsm-^mks>Y|Ni$Ru(^08WE?mJ+JCqiwEu8|vS5S2 z|4DFuWW%-}iX0Bz$0lve`1e2jp=qFL@yT%5eSzXxX2$oe)|%Y{-DkL1$9uCu?*f(` zRSwYofPZiBr*t{qc(=-d*VXxEz`wc;*;_;3E{mS!b!L-6&mw~}n+#m`7d8s)zjk_) zN%tay?oB40j*Hn2Y^d`F-H)Tgec3=GaiM75W7zznC&!X5FTYi8YP{g_ao)`aD-QAA zdUBMBd$S4GVgv5QCM(XJ*ys26SkECH2r{yjoO8G>B0^8x=V;Qw5FIg}rnP6KVe^5z z-%Yqn>5ZG(vaI!xFGp9M~sGeS8CDB7&Y-z zzYB!7ah;i@(>+P&%p{#%zWS!WBD+p*(m1(E<>V%n_sOeQ+sQd}9}xo0C$0+p+TJ?d zVgldEMJf=q#gHj?;q<)DMJgVP6gn3vbnUVG9(>~fSIegjHvj(f{>$8%8a(ar0S;E9 z#(;nIeA5|18AM-Kg4dh6{P}{r;vatXunX0$-nwr0k`@0md6&mxfiKG#-DZaz9pu(gYGx`l)Uwv+9hR_S{ZTs5;sxQZ0MegFSG$Nw8=lgf!k5L(TY$DeSU3ACB8 zNWr5><*rHOL_6^^(0-sv3ha{VBOjWSFiA`?ss=x zCb<7E^RIrxtSh^opT4!m3o=;b;wZ33&)e^x3WouBKca(%0B6gk$?+~7+7djhP756r z1h`z@t>>BOz^d}m!QtP3!SxB}H@yFNUhPC9Xfx7@Mwyl84`0faX6x9b(GEtJ;%%-L z@8vpGq|%wBaw?=sC8-s&1Xxu|kQqL=b9C;njON-NQtN zkA3mM3g2pxPPv{y}s; zq~<1GJ-UAEd^YwVkzdMr})t-j?Yi|0PuZ-iniP8zRnpZ8{mZ;l`;Gckb{_PmP@(8aX{R_9}by2G)3J z{Z-d`D&bYa3WpO8AunCLrvCfC{BQH$#=D7k`9Ozfv$zI{cy3jX-oWkx2c(*D^&t-{`L&p=rLYII4J^A>`T}l?Pz|K46f44@x zZaLc`2}h*~9giP&SjhFAxXTbw;?T+bsKMZ0z2jZ4Rqq(y8B18IOn~i2Jp5JZ;xvvT z(0#Bc3T37|^L%xYg~Lgyzk~TwgM|XG$J*xmm$~5QgI?f@y~wjG!&XJ0UHMang#!Pv zrCKli4xCWl1e%YmsB+{fl&W&cuu+-_*`LUN{N%duVwn5p^Ej0koveBz;jGZt4&D#h z?Cz%i-gg(}Aj6^8km2Vz@(?tC*gpUNwE9J${eg`VM;j%SZtVW6 zdpHer-y-OUU>R=NPmEu@+rXMZ`xluMZZIh1CPDZA1#|H=h z+e&b_$W35B@-f3fs-JDC*PYEm;KNE~*n(tEzrDF#wuKF(zX&wHsJTb{&mmzsczM2~ zcJ}5J?gOB}G5A;C`Y2#i)24(_2lf`mM2CO%+t|zU(u_mXW`GWUZGM_|8pI z>1_g`jm*~H9_w>)Bql~K2aQP+i0xA*amwrm3?zGNA`U=X@f z9REx$o~=Dm#ywENEl^_X^X%QGo;NJTdf1#dCKw2H9bK&^Zqt%k!m%~ zS#}ejo9#JMOFlE(8{to7jb0u)f6b@wn9uoRK2_Tkd15}4MIH%|+!7GAC1h7h_VJ&K z51fBm%ozLcA47vdOZ*Z304CAt3Zm^Yq3tqfaE~d1)Zn1R$D#P>-Ma&x zZcQ^2{{26&=i`~L@4o)O5urDu=V;Q-2tA22y#E+kUc~6l=ssGsF+yhsH}f4wh8r<@ zl0HX^c82K9IIR;GFUk>PB;ozEXk~JOiFq?JEMIQby+{Xw zw082&N{PM^poN&9WMRnC2+PpS=NIY(-Os4eIZ0!RZRBJfPmT~BDW0X1b_VFo z>i+iYL&1#1*u?L!1w+GDdrk&35NET2-(eHQkN@xM zI%gedZ`|e#3?`0ESP?On2DfQ#F+WSnrp!FD_ zBRp12^LulIJtDZ|6X)-|W-wK( z4dZVzgrGaWvm_bh4;;%djGFMLo?9R-?ezPqyJjwjJ(xFpFm3h`d$7MgxcyX%vw*X) zK(ny`!vaQqBaHpA=;@b@B~ak7gUDeA9%cpx295?M_|y~@HsqNmMiVT6W2H)|#rhk%5Igw&;`MnPQ(sh|fR6BC*4Zq=BxRORkcl_Jjl z7wxAoc|UgH2BQ?oqro<w$aV^GoZa&V>IC_*d}%fMUQ8 zX}16W8J?*eV%Wft6sHhgDj!~`5MElslyZgZFVpE1jng42r$bbFT6eB_y^F&_rpK)r zbl+*0tM!i`KR65|xZA+{BRP-iYgN5MpYNlT&!I2Y?dr5JKt-tYNDE_Oshw-02xN+I zGRsNf1#7fm?M;#GxvsxebV2u3y95fj1PU}{ao@9?snn7v;*u!h94PQ5@AkC)OiZka z0!IUQjs);j2d%ihS&HjupiGOSM2n-u78V(aL;45Uk_sba{{0XCwWH0znXhYGtD}UA zp@@s2M3_!albwYe_*uSt2q~8&w|7Q0pt8ea1Zs7S;)z{>K`!RFt8FN4B!4E2e{ zp!+N%6#o5x$$3EG-Sh%>1)k%JHfH?!eVlXdn(uexuRDP5M^yOtpSz$Y<-7k>MJBgI z1-C#2wm^jsJ|7fM%ER_Eoqa1Wyu|Fgq~;m=kxMP?rjBX$K#El{emas_H?WeI@oR0(J0a0DAL|2QsG`wCG?ofJxReW zNyaTnCh^O(7k;bD*qS8Ria@AGQZ&S_E{Ls319HCvPh8c0>)k6%l=x3FJ?hX==<|4z z>^=Vy_`FjIwk8P6?**p|Nf25M8S=6TQ&UT`Z|vsoZutV)48}dD<#8K zjgQ0SP=$jEug9YkdEOrWDib0Qszr9sAl?k*Tu?aNa7-nY6yyP}VfQm>bi_^paIT6l7Pph*IaHfIoAE~#iWSCRE zulBzKS6b1+gn$1QymDH=_DqKj%CDCT+!$JZwfY?ws6P)nlE~!2gZke63|u^iEqD%_ z@Eo=fl)3Pb`+`>QXA{s7OrK5e+Pc2#T6uu4_QNeKEr0CxB+I!b)LGH1N$G=|NmFMdH&Af zP1TVD@)ynj2>$irnpnd=2>gvBm^_j8_q zZ1cjUEaCY#jvOoL-nPXjGc0ELJa6R}3*))K!+ijRF3A6$*#8I8D+JZ_5Io9Y(@PLE^j2sOQSV%xXM`dYZH`O7GgixUkTQy-6Fx zx!JO}CK!bKy?j`3YkFI182CQGEmC?4v;RBX^8PmK;J^Q`VpJ8FCTwF3nmsKysx32m zT4sgZmVZ~(;$n_vN^eVzK9;$!_DIR3Ghx!(A^Qglr>IoE+N6Hy?zYl7%L?x-D@>fi zc!hDtin|3nqu;hIzFDv{YPqfYL8h4FnbF5HV~%GsIYj-cn|fe2ulVkp|Ndz-DQRhV zb$B_*yj44V_TT?MrfFto43m?YZf(m2%~vkVooZHT_ry1D_O#sD(=umI%S>RDU&sH? zENWS5)Uw#9WrUUCo7^YHKHsrqAhjrh8+J({9KZ4u{TO1CEH>-E>6q5(Bu&D z`e@hIfAwO^Y}0yA-8lbZOT?Nm@1XdJA`F{ z_Zx2O-Dqvtk$88;%7E1&r=~cq4AP#O@p8rcGSGfQ(EMTGoz+%(t$9qsroNX{e1%N| zTiAcLzma5`Y~mTD;yT&HQ&Zw!?#t;F6FpQXc9;lF^id6*m;O%qfB>fn*TjGSqjra? zawtVVVhUt&75w57#NzqliP*a68y)R-3V|;k3${8b2!%GxC@H!iY&${N_JXkO6Wg`U z&wp6)vDor`vEXB|edB0!@b-Q=zArX>Pi*+U*yvUzw>xFbD6~=l-S1LhrEtEX@hiUr zU&iN$4gda!bF*?kWhgLLkm_Hy_~W17$9>QK{r3HPy`0}=8@|gHevfS`(z_M)nJls_ z=Jd23KAB-Lhv)c}r$6U`?>DsIyKGTd)+~Exq7r!g!-V&;N#?~xsmx4Se1|P~H=FPs zw(z*SaMHn#P2HCbybtSiUp7$qJiRP{|3LS#Nh>q{{d+TI)$3RDc4o@)Z8m`*s|)P) z53f1&swQ8I`1kJvM;aGLSVPx=9@gZO5&!>eRupsLwbpG)F_UKSn#?b2LOlLRg zoY^FCc9YJBCBAo#I68QxH7!i}S6{7jK7Qt;|K}@WHN?)O2JKAH5bL=c!?6&$-|v5p zsvE@;9AzSGC^y`sr0qnAr4$=;PJEB+vgPI zgdRJ8sArKu&mx_kMFv~nKP^6&rUt)XF?`2mgVf0$QAT1tPn`}%7>V(8dOnYU&OiPa zShY3mc3N}vxigzgK=YT2Oc;VU+o|q>%GVokUat<{Sv36s53BRZfPepIbL{+gX65V_ zF3{lGB+w9>1IwLz-B2hjX`Csk-j$xt1yqh$StTMsYvRckringU0-X<^zy2E4u}H%MG^MC=>shak z8hagQlLlvz3TKhZBJtVF(>_Z$s0nbUJeuI3#&=TCXon(bKi~|LfAv4LrfPUP%v{QJ zvQVW1eE!X^!p$7T!W`yGd?%O=Rp==69RILl-f!r5@PGM`+vXdMvTU4_G(c0DjViNRT=Ewuf#&~aIQ;v6^5mQ&EHf*ofX-Jf zbop1m{`=Qo#ot5!WOyh|YG)BD^iU9N|GnwZVc7n}iRDG*mFH%<9Pot9ABMhe3JqfF zh}Hw0zmufko}}<@vGKA~_8dAA+^$Xw9aKa(Sq?qe$-v|azVDF5QKZ6!siW_VLz@%$ zKE&L-taVy>S+Bt3D~SRui2{@AfA3#!>2S=&FficX|AW;}+P|0HEYGk~n$*rLRA`|z zsr|G6-|`*4dec0g6ixKdo7S0p=gw=slZg@?ff8MT5+?k*pQgPv1K-CZ(HbbRRnPa{ zzFe#JL>V{mcy+e)-A$<{I}AYceH#;WB)Hv}9WDqmxhKlFC4$DYr#*_?m*UM~BGt>* zd@w>sqNg=Vh>erOK&tmx6IlJR_3Kt}3&H0HCoX!~T)FXvsZ1XmWInJh?$v)S(0typ zM9}?#A`Gky3=E1YN-9bq@W|YOi7kPd!vZv)crn31ir0;gD=yl>eeuN%gMan)-@pI= zUtj(oq#rW>2pUhM|NNnZg-oAo^T7xciJqemUnV9p$;@6QJ$qHm>UBj9>|YY{Eqqr7 zt}Kz78npV-N_(^0`Vye|#1JmfeBz2DtfJ8lD}-RD**;3VBF{V_{X(^tQmU>Q`wt#ci(zgyOA1!>u{?}*TcDdtA` zUpu^T*x|5^gQL+Q{=@groQ((O-`#B3$#m~}B?R@SX3kpno8v{<_87nP!!OIW%eXuF zz2mr&w^{0}+TxpeTcTW_ym`lQCTYVAoo`KNQ#M4@6cv47x}F*fK@AKX4GbC_8^ScN zdbI{^3|o2CG9sWr=!%K&6cyhqCcZB6CJUIfm?n#O28p;%7V&)H!1shfM@W#x5p0y<3AeM(Bv1F5a04))(MGKcK;Rpbo zU+B~spfTk{6JsL-n_F|PYjdvaXMct{k`PqJGMgwAf<;Gb?C(E7RrQ|8kz0wfl;~r-Jt*TKxMTpv}*eXrvVE)u#A;<4=yFpm< zzzO9`4JQBo1@tTQMD%oo!q!hjN6r@({SmsE@5DsV`hnw(GAB*W%+!tl;S9R}@M49H z9M6fFAG=q<_WRXW`8;tiIL-+!{|x^9*Id|~^*K8$LkfDIVv<6M&WCNQ&HFf-6hKpe zg$gfS&skh?VB#oJI9@1oyilf@PohCA0<>QcEH5)fJ+jdz7qmVk(c$0!`0`5ixNz?B zH1D4Q@-LO;WJO21!g^3LJacQ}I&$!_G4Xb7;GSfRxBXK&|!^>^rCK2%`vufAqg+VZ=sx67D3HmR^LQea=CAgBK| zfM3$A+r-dIMYqdDcZ1#Q`w!z4-Ow*Tt_n zY-D=c7H>?jkmz##{o_XklbfKatDqsPpy>m4y9Ml8Onpf*en}F2K@veK@t;LvBTQv_ z-4}1n(2?jqmiwaUybxOwbUfK;R*-p8B^$e=z%c`!V+K42oNcZ++cJUoYk}qu8`vZo zm@wuKA@Yd%M5bmVU1ud#CnL>57Lf*Kjcb>Z9VZ4mUP^XUV644=TI1F9!;WE_9m5Yh z9)Dr~n_1jJDy?i~>c9V53SBe*ZrfeJ#DCd=|FVt1Wt#@+59=TQV7j|R;m#C=yHgY% z@c%Dj*N2_gJxOKD0?AhwOgJJ;X8Nc$AB-@Pt9&O#a1%5k4QC|afY?|V2r_xGmI-f95Mr4W(^vz zH4s^FchUmS8xeXld6qWqjL?~JntR_DMhEYV*Z31<#!N|IY06A)QlTG<`{K zZuAtpQ-=&rZ33Zb3EBVl``!pOn9lVyX`zpSSQpd3(EnzhmvlT2X?R}J(QpuYQ_t{^ zYq1X3VhygvI$!K=PHXXekzg>L`&rP&1U=Eym&6$u+|C@*>E5K#vq?we>aG00w_YUZ zNpvqwS{R`xcIwyawOS56PlFDI{Hxbiy4wwcOlLM3oCY;P4OSfEdvkz~iRZAvX^@aX zvlys6;z%%(IKx`JGr>T@hnayvfFr?ZX3x{2ohe2$eFOvq7(nWIzz5WVR5O71CSbk^ z^gLTI2Q(jvU7jPwV8V%`Oq~e^6Ha`(u}8+NbCLq+2=++|Tg5VR4^Cn8no`3#rNVPc z%|hl~6XbuI1s|#rI#dySsAl8+_w|>KnfYx@@mrYUw=v_ux-YRWPdT(|FnV?T`yW?o z$Z+P}n*U~84_&w}dYpdX(R1y;XH$BIHcz|nqJ#@79BgM<9rN8W(kD1QgB%TUZ@~o2W zL0c*WZDOz9AeYD#JXt5WStGbvrG{fd+1i25!*)LkU;#{n$*L6BsxqbQp?tw}Q{d?`+|{F8_Chp&0iu zrHKI=LY%Hg7kW53ure=n(D?VCp_ife!d>2m11yg>fX@G{o?0XLF8E|6)6qcCWMPY= zL?id)domKR`KbjRzuuo%)w*6oL#oH6X`_RJMAzZl0)gibv^9bD*Zt$TFw^%w%b#+w zR!5Om(EWu13f1r4u6V;?AjEr=>7auKAJ38V;jN|T!1I|BE{+n@RHDp+9v*0Ue8Ixt z-~T>)hU07wjBI)>i3-kvGR}cA48JGW^V)D|NO7|yEwoS&<7&1R-<$jibiS#BNUMR! zgQ~w=s*@aA9)s>%tS|arnX*T)#AOz1qR5c|fg=F|89#S`enj0`&^661P=?J>g4I!?Q}*8<|M4xP%6Kz$Wx&6Gzjg_P z32ti+cHm0+w7}+H{oVd+JCcnzq(SfFsDGW?clQNX7lTE(iZHjT(#jAO;cn*2-U7Xo zi*z7Jrp_kaKBA0kvCgSQ8mAWN1aO`>$6VuZhQ%0kUQe6BhVI?F-*qd@Jk>gB<&XdE zYD*Ltm>3wK>yhib4Y~zQ8AJn_dLEmA&}WlRD>%AOZ$EI>{qfD3fB(auGd`d9eCqB= z0kHdJrtm%GWctDsDB>F^;u|F5yXwuUmh1Q8Cc5}ebn(3u;#)30^A@wc#heh$X_~E3 zb3-(*m7hMjlw(bl!L+WgNo%7vUSmtUdofI^ELE~BF{&-~Ra*YaX1fD3c*8*J`Olu8 z^T+M{gr9ja$4jHPm(Dp}$-sZbfiEI%?(@dj=e6^mH@3+3UY7B2NYpD43~n>A4V+}fAreSVv5i5 zOC2Ff6TQ?Xt=h56E@N(hTJT91rMUsBmz*6xeqss<4HXUz3<(XKB5gQ%_g1FR)KC#H zU)Xr7u=Rq7wNW}#vzB_Tj949VDpP*4R2caFzOdBDjB9=oDw4#!%wqj?~F4DSN?NmL&t%XEs{KH-3L>)M837*Pf)tCt#HP++#B0+H%xlAy_`saEZilb_tDoR9^JE>14v&`1 z_R`ziN@cc}GBPk6JSBf1s;_ME(|`Z#b@Y!;JM-(^atf^Tm|NXz@X*k7H)cVV% zFxOBq*U&K6$bi2`lkVLd2-^U%gv^N`b+A)~ODYA^gNw3@f^NvR*I=i8u_IZHr%K{QJLqYv5JutHM7VdLid?#FelHg@(*40-sMB^Y4GUqXCP7 zL)sUMY_qw%YL`zYn9TLv6ZZM465nMD-ov2zM21`H-nUtPB$>?Wb!|SGU^2@$NNu-l z9`9k3vxh+IsWT3|7W}ol@9ZU=GnaJEUeaOvV^Z(133gt{>R>Sjd4}xfPvHB^b-XX@ z>@C@xzhc9w?!!9Xn>D%*YfMRPepM~&1YRF#!oAt#pWCS`8*QQc_x^8^3*0RoxbL|a zNPaO${)+cYp`v41XTbXl&ulUgc;oVa&2uB}%R1bLHFz%Tgsf?=+pYW}R8NxoXw%9N zJ;~D?X-sdVAp04)H|tE?$Nu4obeI?TK1Hw126v6;I!$nQ@M@d1Fyr6ly#o*BzevCg4ms6W3;gQ;T%CHtQ&U;nNf0J>Y%RX=lK{{|-z?*j(JWntsG- zNp!ast&Gu0dKizK|Ro?gHse8XBnh=Wiq(*<(`qRw=x_(um!hrwVyhRxh_ z|Mr8)qe;dce7|Dl$F2ImcZjirHb2U+Pm=k@D;D-J?AOUd8Yd2EoIIp)ZvVOW&(t(5 z#JJm%HwIXUaknmB`tEs#kpxd$)5ZV|32xVJf2O<>;Q2rBe4s0ni--esut*KsX zqgG$be!cj(d!1(2D$TA{S+iDo1jtRjc!|SdvA>4NuNJqZ7hb5Oy?a+-Ip1&D=bI^Z z3(r4Wv~Y2ogz?lU-z%%*#%eUZKLghOqjo64sM7p;lMREmE5_~Gz)gN6y;f6#fQ zKMZdqUgO|s-k%`wf|;-RKtgO()eDY4HM{4nU;g@UjkWyk8#jJ%yeYAmt5<&dZJEX0 z$cl;rjXQZJv(K8XzFS~&J31ob9>4~(7#*>0c`iOajsUGGTuYT^g60pE zmppmG5uhP@D#dALfZCLk|9<`Y#pYoc%b^&_VHg`7XL^y_*5UTbv{Q5c)zADh>CdFs z39p%iLS%$oK`e-g^Fb36r*F!Ay9&Jj7?l5H_EZ#nTmQ&o5{Sb-NoLMgnJkAJ4kwjAby)nX zpW*A`($d1xp&)Ql`BB54-|EdR*S?2_|9=O%-w-^7IEDAd?05b@oRlUUXZ}=RqtM^> zDN0}oY`eTei;OgjOj(uxVc`=d;VTxG4qFHxvG~bu_ru$MMWT{mH>=RX z2nE5e8z*j@;INV5X>SJ2A9A%>R#g08YZLZu74~cu_HAJP(a8UUiN9Fle3HodB#{Dv z=f%R??b;h<+zKV!3MDjxzN!A)a>HD%_t>G05js*_tjwGYm$;5QinJSwv>6H{9AL{k zzy_Ir0nZ;YWi+rxK=_FH7j(V@^U46FIsfX7-WI$!{KNP)NZ2Itl5(uDN#Y89Mh5S? zQ+I+*X9pYJNj5#PVC$QO;to-6(-x-wtJe~!nErd}D+fNo!!8#tIS3whVKG$N`>d8p zcBzW&QU%$i3Lo6df3>MGbxu<0oTSh>Nr7+w<>(!)KcbCh`La&F7-BT@?4yT_J8q;H zN%68RKAB=5b$0DKy9GB=Or&_#7N1Npk~+I+MQA99@2fWXVv3Pe@8T@xx3c$MvB>7Ubn*+ zQ%vUiD*dfD<;by;=xZy!nPD}9H}i9dpGAz8Xm_jA$_S0Ar)njHg*YO#rg^mnEez3` z+VyYss$Cp0degm+25k({5%qq%>h-%Bkvd}DM}t;^u6=y{{`*&^)0=c42wK0KJ_O}A zNbhLm-T|5qgvdk6BbFY+V-g|(4hJQYdm>k_TE*sb*noSp4$onOX^N7Ql(a$WL9u<< z0BRnD!$T~eBSmKd`?603DLVYeCvLd#gAG(3H7T$+DO_dJZeZjPI{u~M_?H^?uMJC- zel4=+G86cu$^S@`|C8n>^V^M@zn*nW6K$U+*gj1#j{8Tf(CxC$BLbaAcsh^paBQq` zJoN9tQ4dA0o_}?3rU@{(D*rz(cEZ7?-2j9N7BH|pU_wuyLd@XFLh$*!cNtSWB@_g> zk3O8>A;HJla_GQ=$B6P8(lh5U5bFWYj|p|P{Oyao2R*-(B~YM&djkXa1P&7!>0^r) zM(Rk+a?LBMs9?Ig&1CK}le^1I_9gAT#+ZJ`r{rj)* zUE!+0SAnfeVpB}SS`5Tm41Ouue{nX4(N9Ye294+IwD+cP7?!E1UQZsIWRoP(39YDb7~Aw z5#eZkDmP)Rn46;ntDy+1p-ASP+56XB=W`2`U=0*ubreZ*%_#A)1nswD4HRGv6!3`M zl zlsV!kaoACUVFly7^5{!P19@5;d0HGfDq_zH`1BrfPZVGexd!#t9C4tXZee1#9$o9+m|1`El0k%M%qX9gO^^0fpPpN8k6lnp^e}0+0dul<= z0k)<>(EiBtMPJzO{VU&a;K<_#7NGM>+;%w}`IK0^j13f?60C+20+!p3z7AnK8Ys~M zzOwvWE>B3k0(ieC_eSr8`yW{yB^JKPl52T( zz=ipsgUP>t-?G*p`6j>E{y?kpK@WpJ^?dK9*FA8l@o{Kne&}HF@83U0=Z2XV|CTtk zDqr+4_*efs{*3T?MyaK+^F}3Ie9QS4%ya#3Jl{PjdV;xv1LQoD`q=pf;oF@n z)1Dmz?T?gc4U}oHnRxlL>nrvm5w;`&wj=>J^+W0!*H5t(iLe%luqKJT5I<@0QPtrD z)1n5IfAzeHU&~f-Mesd4Hc{s2M2VvlB_8oq zv4iffS79$wxs)%xf3LJ0sQ*@|bFxrpi?Frp!`}|4k{`{m`1j9j*Dq@`=B(YI^Kd}- zX_P&-+O6saJT%hxSK-5*k3 z7hbddfO)`;cq6GZs*?}K7)hO(e1*08)fw>o;hD!K+rGW<=c_!xqw)D&80J#sbzG!doOY?`Kj}KhyQH{R%uYT5_8NW~dUi|aGtRA-2 zC;$Doba8R4cl_@aH|JPo%(l|G$0}ERjNqToq;&UtA>=+pmZG1V87jZYbJX2quaf7e zn=mtGSx1S(L;V-R|Nhm#?o*BE;O=ImQ0pPZe{NrXa`5yzE!w~#!`JJm z^!M$VnL&>vx)yS@J(B1O=}PpNtN`A>{qNs@$!|{AT+-T-g%*A9epzB6e?B=O&4CFtdB_5qLY!uvIXN$OMUR*2 z#0(d%P7f8q*Nzr^5fi*Lgh3a0c&JVKb^V(dldx;3uxX&MYv6J*?RW|NSpNJ^jtpedW73P9zx5TqD|iGQn8lbtMNQ-^^{95zA6% zZp&==Q*WQ)=n$3HHv8ef|C#xPo+4~Z@|mQL=Sm&VlscY!V7qRv1G~elyf)DMU~1*e z^FQmJ?T@%qWEJyv+UlDHyP|i^X)Di?Ii4%MJyUvnri$3g>xB=^q>q>0+EyxkymU%R zuIkG}Zg-F6-r1IU_gHSijBlY;Cmm$onjOCQ?|*bat|W=hU07_uHL&Y;g{Bzo7-&0*5$Ts?#`C-hzdbUNGQ}e3W%GkOugC+yJFYDCLIXHE}T}|LQs0Ivh^5^s#~N zFT5G@uYO`ih;;<#7fBf=ob+`^|a9`HRIHXv6amTfDhjh*! z(l~cWBcw=#2HxQPiZKcu|4qv?0`A!n@Cf`6|-{hygJ|NhUO$2qYw)O%Q}4RqdU&EDSTcQ>*)VfQaSPzgVMP6oE0P_eGav!v!wQ5soVL<{(SnZEq&Ymcjb_{;U5IP$Q;M~?5r$A^j!IULlca=I8zbWoYX5qvW! zh>g2hg{xSFyI4gi2aAvoQDo)n920GFW#77BE`*io0)-$4YYqTQKB_bVk!gYB_(bT6REyq zO&1e%BzTX>G-dj87=Y#v4<>--AAN1FEab41>0xU=m|!5mbBuu@K><8J2tBW~UoVS+ zsU0?-xU$7*X^8&~Gx&bRV~@DvA3C@%KA2(hul|4i|N8I$zt?+M$n?1_z6d(sl#QvO zVIlauQ^UZm3nx&lonkU=(pft4dbLj*E^C~_(;%FBzXOHs5_P_R=`@RxG^ zC+_`BGH$VVTq9-OV!tryfzB(P;nKzF+0rq?rK6*!qM`zQ{~;G>^9pGH1`jjm1P0Ct zTpGO8gznmntk2dfi)BX9`9*DNQ)R{HVf4p^yFjOty$OfXaW+Bb*JL;zu=zBw!{-0iWOXIFWOc}c z)>nY`Gde$?>wea>Jm|m)X7K%pyI%xFybbMTW#VW8pD$Xdz`&x>Am?}B_!GuVmw)vu zo-{eEa>-KRaFLtHeuS~mK}w*#NI~zn!%5{!p!1xwQ(D=U_O-qfgWpd#fhT)*>WQ`! zjWQjLGVP5L3sRBDokBd^&#jjhlRof_Qwwk4CMISd%sF^fc7JT_Dd$ptUSc?qa`1_ zKhoyke}(5qpTB%lev;|rC7lj1+N!VmEh(MNFT~duj4sCS-jQv?B(^Q}>ef`TZK=E1 zzdgvykGPv*Iw#j{_uUNBJG~RSgdJvOhAo=56oT~wlnfyeU)HY+V#jUY;1v#Z2~V_ z1YWjS&U(3ij=R_OODWSYrOddL(H#Hd@cPFb0XkDpE-{+uqb1_GY;CWYMuf&Jp43GL zL)2#VF!PAX-N-PJ?p0fSF~daq?3>l$p&X$5`qUO*%rTMfefNLeJ}ckLCJ>~^3GxAG z{;&sfpC9j|g$ou4LC&l2y=(1oJgA%%J!GN&7~JhKe%vJ_ecB``Dzx{)h0U zsd~MSEqouF^ggzjpptpXYPuEp{z8-9&lXd@+}))!~PG89n&`!7OIq6c(-tDd;GlLLbQXg(0K z{}7~FOU%fG#<8H^_j;04V^)GcZ{QoEG5GH(nN8FJEVa-P~ z4FA=ijJo&V;nV`xGVdi4-cv-pmxy$Vi{H4vyDY%SKmd$bmp*4+@RjR~fk3x`K#zhz z!P=YidT$a+ub}zE)`t@uK=X%A-ib*ZI$~Ym{f7b_M;sj;9XWKwdLZqmE|;@)@%JQ5 zrFxDfEsRhR>1LfcA>aekaYe~CLCH2n$p-!%4eS<7amRGxj%mal(>URh`&rtY?X<9O zH?wEAu&=f9uZ70Dxq^=-PB|Jo9_`){F)gNBI5OBCM7Zj4P*d7>IPYF-?rn5a?{> z)T-i}p(n%b+BDHYMS}B)c!r?KftJSyEDZkrk75%G-jVt_>Ja>VO})5J#x02sZcU*3 z1nV1{ZwEAXf0buyDHL!?9}7AUG(qOy|Ib~PFXyMu=ep&RD8QV^!<@+TUtZ_TY<(s+(EdM}V-7M0 z*1EPl+~vULR2U%f?|-E4A@-Q*?B5SS<_rHd`OYwzUc5iR4enmX0|(5m@gHyj`@jC5 zK^bGZyxGhHtdRLd18dfeTO)r*dKe3I9%U+w&=F{74U|*l-^P|Gz?vw)8pu;VOD#=| zsm$F`hRsoi%~0k-@Pr%ZR)XgLK;b#RV7IBYq?kPD{zK4xjLo}+^LzjI3yQG@f#z3_ zI7)m@yvXpD!2xuiq0PU40rpDlpTjnk!}Kp$cIeld-_KTo_8(f9{QKuLPvp0V!kmL( z^%no?7GyH5j!)+=1Md%2`S;&ock8bkzq%5#+yhnE92M9c6;u}bhdXtE*6+0jg3cci z`D4$;z|hAQBykjUUaH8^Wm(<#8<<#&Bv^|?Sc*hioc^w_V_@n`ROkoJ^4;FN^~@ebTo=E|K+%UIr|h_k_uZ82p>5)EqdTg7zEMA3Mg7={(W=C-gj+ ze=RJVUL-ZNaIEr}q~p<~<1tA`v?bx;CHq62lN36@>s>13y(4EWKj6U%o<9s&D!OFt zvGXYoo~}+4L;n3g_`KwhpOVV~=y|6907W)oim#Z7+CBkN=G}KUbbjs&cFZ1r5H{w$oYKofcNo3J4^okPhCHK)}*7=zYg@e zU%pxK@Bho^PV-7w9Ht!LgWQL>c=fgOfoB3* zUNi}`+v56!%}D2mUyi-QhZu$ zu!CrIaQJ~4x?z*={`+5i-r$tM@?@7!QrB~(j^|2W&zbhFZAHQDR6caK%dU9Vm6 zZ}mdG6t;Wpp!vgl>~$Y?=3f_G0i8emf7y0huYLaB4(NHN_4odtymRH$%0D+adyg!f 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⋘=RI=eE4 zZL)}Gu!!em5zl3&uT0!)Eqa_51Zc1@^*SxMkd@_S#RR&4$t&kiS@a^9S~cdj2? zfAoL0P%~S6di^(rIcMDt-~93a^2Lu|8yglZ=*Tvb@MSALnPD))XXp3tj1W}F-3=AA0S|VJnMl(Y+rg(1Nx_2+zsU(HYAP|~rn>ksRk*RH= zt?NQd*M*i1%mxii5*&L%mWFVL8tn~P8uGCqBI|gbFg;p% zdz%9j$0UUl;PXbkCV$DD-Cp6OGND8HQ-g&P{|V8l7Y#w{3pz~x)hFgPbS&jaQ#jy$ zgt5@!U;XRW7ZH7}tQ`@KN&+2^A68h%@f}~2@5BpMZ}G3bTj@1NQ*?K0hl7j|#}URx z2MK|WmW+?OKb({VPB4Eeuu)vkbA-BnffKYb#~U0a8~L+!ThMgMxn30U5>qh4KiQXQK*oU61VEgT@DA8zINtE z6&4D7?#c|4_VdB_2WH=@tG(L9#L*;kyinqJp@i6i>+!aX)4-b#LH8~GVs>yAWUX+O zo5;T8V}^rNf7{KPj0Mk56smyki%e8#)vIV?v*d7)6F7eOV}^|se_NaMS*{sYO8xDR z4<=a1@wA0YUVNf{tA<<*Ku5n3^>7v;~tal zg==xVCXNsk=c&4cc@NXot*KYGCSKi|Sl~GQ0k>^k^z~fn>$%a_bBn&%*OcsIy1T4! z?zF*3eMEIx2zyE=+3tkuAa(KnzAk%ZK zd1Hi)1lQ5}iV7>HHt>0iuJHXvtwn||NxCjYy2UKQ4N4YFAwdelK{6svGBuv}4zXF^ zFqY~&+H^2NL#(GId-aBDx1*rTYC-!~reFAE_H%QRo1*}$BM*xsj{^VP2G$=O3IZHQ z9u`V7m4pVHyafsPOz~e?RxY_2W+~YyZ`o z8GJPRFZMswq5Evm<{SV19f-ete&?Q9-&f6_Vmp6|?t&$TQYW63FX7&GMJV+$Q|c9= zOoKh%jV}&fy7b5gf)2lVlH#_Vqr^_u_xa|FC3dpBPkY7X%6dK<^gK4``D`$CzTUH& zyiEPD^=e|)8-+hFahoAZxtnnYhTuz7Hl zSj_QjKm4-9V$L~1IdK`#{YU+mE&4B8yo&$-^!Kg<=h7BG%=!1fWk>6djvWyOd-nPWDa*U{0Dkt4-mh7a51lPLx>&O}B;L|7ym%;-6qv@^kA zW{)6469Y$rkz~))BG7`DGmjpwUI&`LgPcD)MTP$!6RSpo(Ttv_lTL#6FEWa-uz=*z z<_k^0e3J%7hek#QEb`#fK8ZcQv?D`@i+x#BLW&N@F`X{wOpjoZE>_k?j{t!Vmc`G1 z?qhRp6mcmOU?~*Pj5(wl!(`Sb>eni2)v9W@$jV;tPRP3{6_Ozpl2a=r{}~>ArDwP8 z_?DWsB{gkJTAUgL?>)QhaCy-b3&nr`S%SkX=38Ief53$^&}quQdRc{iYP-+2?K!}F z;)75n#bge~to&!9Ik{XR^5jiZDA0Fgpq~ za2YBvn}P241KoERD9|YXp;3N^P-~)uOCV^zaBBkhHAUtMGbvtBdqqWzi*>f1roDuj z!z*(;_`G1+)$#8i<4M7*21g72aCF32 zMyzP9?u@aV@gXQUW?Afw)|eBGu{T-;ByR=t{IcNfbXij8dE6 z3zt7BZw}1sOn)`=-+zUr3P%mT8~tDkEK&$ak_kwXxu9(KElD5LK7q_1W;n2AIIyL; zfzK~xaTKZ8y?y808|d?g^WggrIT$7}crc*L6Xqw1xPtG8WRm{CC_jNiN2CWd|EeO; z`|6ktu{sqjvV-70RymMFpsp5l9OFK_M@ zvw7h8FVGgd9LLrvDRvI+P2lr6KV1L)_y48)3{32WB5a8Q#}Wh-nyf3g|8;PAe89lq zU%k*7|MTwOWZfKC9&Z56x7kIS&X#)@9-ih7I?q#r%~9eH!(9J6?+-99UZA1zul~lF zs#D8F-Y zT4*67!g*LZf2xE-%i{wECjaUyDu1SJEtk9vp5HV0_s{Hi1Y_#rKxqygDb6;~d9M=f zt=BIsum;VSCdmA&pC8}S@teJ)2V@^;f1~)1TYtAD_9j5}*B6vHu(MQsVSfjnKLz=h zV^+hYy&`(;g%WOsB5s8u1)oGthg5^^djy%cC*Xsv8Ee7?F18|(V~GN+NdiW3+vAxf zLFPG_{HYK6`t{hK$hqAP?oEXt^}S!4o5MIHcG$5sNgQnyINB&sk+|y97iH-ArT;c0 zHGRwe%+|mJk}niFS}4+U{7GwhOCa|IJsE=yQhKHn>H!1 zPf}<-m>v1hJPLH4Op}UxlZs2up2WY4!Sjhe|NiGjI{Xp;y(-C}{fHu{f45`@*I)jx z`kR0F_R63eeCS=m7F7M!d zglVJ8zxtge4(%l#zdPc(7wLE{(&=8LQ}L!^$$>++xE5z>CZK0U8Hx{POJ zo5}U29ln@hCfCa~xBi`jUkCG}mVf`x?pm0|`O`g+qr*m7V1+VMr;W0JLK90GM~mB% zU=I_cR<|X=^XExw9thDi4VwC|es<7L);TO|TpdEVuX^qLS0DJh^5oQ$0ehIPfiEYz z-WoYY^(hmxg2S!sXNwO0``4E|)9gL-YZixFxn-*#{;SV@k^Jpgw!!aZv$xkqZ?BBm zUaKq@^N?#V=sv_a@O_9{D=kibo+S4`yl#Pb-2?HuKQG1OUcU#eZ&d#G@BiGwDdN*b zc6xF!x4S3=SbSk@cX{xv{>>KHeTW%PGEzju@`W50Pms{z`v0G8ahllY|DUrCCq`wVfS=7!>+>T_uzTqg6p{pp67P?XWiVm-AZ~|>8;j6>9*2^f9KwN$;%WG8W`^C zJHyqtCgNzYgb2q3KgCNYSfqM=7F={md9qB1AAFc8{}+cjijv!&=5mzS%{{m5@XZpt zIlgYp{QPXZheaT0f&3!{E(Jyg1|~3aVqjq4c)&0^o(*Yd!N}3@fQ1Bv9t{sjIKar! z@PLH`gdPnKNI1aA(eQwU1cW9O9u5tx35*e-^-T;17#=Zv<47@)@papLGQ~uO*E6fi z;sB_9(D3h{Lx;nwq*qC=I9lA63VOH*wYn^snDsKais_Pz=OhylnxefjKvA?}PQZ$g zmnBv+1Jpy7-;$cMVnN8NE1FZC76z>hnOqR*&J-FNDe4+38X8*t#piF6{->#-ks+>; zp`nqjE{DYS-=484Mr&GEYtqUHtuW3^&nHY`ZL#1cMeGg!>@SYK4mZxQRv-OWzcDFo zclPU+RU8-6HqX)#TYNUjNXl7px#EGFx?z)V{;My09sIiRUin)!@OcNBw~l27eEM^v zIfd!&vC=u)3hx{%{UPJZ>XPx|aoMi9y6uQpCu7UTq)=U;Tda2s6#|t5cqz>AQ8_L&%Y%a&)EW4Tp`Hj!P$LZ zPcHHoapV`V4G?kcdG~kQg93+%>`ypr|J8GLaJ(=vS<#gQYA-#p;s4?=Wm7`*th!kj zm~AI~wz$A-yTjxaZ;8KDKeJ{3XOn(r%LD8=vnwux#%nF@bbiGB-KMj}Z(iLf z=5yErg0B3W`7Tn*;jC-%#h8Epm#V!w(bbT{(8deikHWjzAS>&K@4k5G{=t9Ub0&QMd1lqz<@U`CXjVBZMyio)0#RhTq2X?1rSAq8{ zYMeQwp|$AE*?VP7+=q1_`w_Wh7ni;^h3r54_doFInw1Y8ANUc+1v;qvxei zPirxr!y2bIsqh@uP>6f^uwDKDS6k7-gn#vpsY&^KZ3)q!^G6T*{HyOZ<}jB2WzAaE zb4a6mlS{xZ=VYCelR&6tPDX)(v0wKh6>rdeU@Gog4}Raf z{QzWsu>RYQ)(+$Mtgo58n>4(dG`yQMiumu}Plrb_Qs@CuslP zhgt)Lsg=L)I&?Z;nqcy;-XUko$_Y~v(k#4WCU6{K>~xTs&@t=Zu~-N2`J?~-@#J?{ zr7#;hpE?N|td}^^D4`Oyylnju$bDD}>`4kH%zxb%pJH=wl3@d*+^#3GD<{gG0NszM z(B7z^5y8OYAs`2uj|5+taid+UljS~my{gB*e<}{oRw<-)F^F+Y0(DN=CnuQ$)H!u;Qdv-HG^NZ6dY)X%ia0xp$V~U# zzx5zueoB`o`%Uffw98J9BZTqZSpDQHYAUIrSO1O?df>+c7b_X}-g8>Hr>R0Hk zIdkd_)2bVWQoXIv`?k*6&U*+N--euL8lsZXxP;TKtx&=(QNk@zr0VbOKd!e>_78p# zXek4of0PJ1k8~<415;EA8)$qaQN%4#q(OS^#1*}5koykX0!6O4G&Q+2f#wTa!RiAN zTEh}p&$TDYfX$cCj#kKCGsD6{s+X-9G#tzA*1mO1pM|wlA6xUq2m^^;SGnxd>zR%f z%0T7|#W^PmEu5g&o+!~CDA5)uq49cC>2ux_77{#e$r~dK#JF2E)3#pWYXfgaXblv( z#KtOKa5%(Edcw zenbggHl~Ib>u*@f@VbM}PnGClV{}=GG@l3=|9p15RODEx$gxy`N%9s9HVjee8lvhF zqUjQXo8I2ISJC5;BIxNO^}k*y*>Fem-P?ba7DM(IN_2Tn`uFyGzC#jZy{^I5;G3nl zXa42jsJBbFaQ!!D{k{bm!Iy2==3lRj2hSHW*(NRZv*CDCVlnq!+vT?<7P1dMmY5un z(KWw(@n3zwwB(tkE2rIJi*8GeYD95`D%Gx+0Ci3H(O(GPK`Ac`}NuX7uWUF z*y*8>*HdFZ@Wx+y;tQ(Jq89%9$2djdxWmbUH%wPde6OhZUNP}K=%km@z|J*U#B&l0 zX#Viay4ZV9efdD^Tfp}nE_9E1(!iT_;j_bp$2Oo@#NK0(^BzL$k9vja4$~cGx}4O5 zpGUnk?u)B38%K(P1P@#C&J+WQ9-AsFJB}EgX{V1mt&GtT>yC|*l4Cjz8jsQFUZnHV zN$<}g{SzS?BBxxGCI)B-bzNS$Mun*>Nu?7sg{X2jS$A8a2Zw>%`rAogHfg%8mtK6L zpn@sf)lgQyAJR!h{&+~VX(G#0&Q^=&a8Q|eoSCW6 zMqxr5(|h&qIFCs(;4Od>@BU?MXL9g^pJ)0f*);qymxiOlgbwihUZ1=Dhd7=cj_~tG zk4v9D9(v#ec)fmoKvn6h^3ZbgOQ8LX;PX(osOoRXj|8oMfY?7}i|+)L`&k@C3da*= z*pp=XHhkg!WRn5g?*xJ8a!qh$vIv<%RbG^>@@k03*whDY5k1tkO$nhNC+ru7w z3tXPdv^UB)uKjGz!NlPpGpW6qvC=|fLfetE?9DrDl?2)!e=IPO<7-tcNM z-~aYMg|8ESPdp7ePh<7lfBysawEx_>CvIJ61OcNFx1c1>OCYuY~za2Q0H+5+I`#mj1C8&4_J1*OPGIny z(8L-Pal|p?h+{;XyaywX1Cw})jaZ0{c!lP; zNco4(Kj3`ULHo+TdWBgAs|@}K6gl*-5&nGUPkq3i*ZTP;5e$CUuVh?5l5yimPQbqx z;ngcoNiWg8Gg#Aj)eG8xXd-o1T1G~W1A2aGhKUrfGb4ioM~2Z%$o}Y=KGFgL0!%*O z(DQ-J=PkgP?~_O|nt6t``Cx*PgpZD%Ru;+gfxKYzc@G;@JYcVTz)nd2jVzrWpJj^< zr08(||v9c;PIw%NnxCA_Wc<_J=ucPygfBzX5 zGJG?5dBpobqVo<7y?_7TvwiMx{KGaSYxc&HsD%Zy7nWSQ7xy)F;i7IvRW3nAZbii? zh5nz+IaPw6B?LcK=^QO|JX*;<=Al{?rGbU`sg9@^1Z%8kx4%<$(b;QY@~Q z*R5EGp1#oe9SQ=RM-DbvNbs;XGdeUTI9T&oZxGO%;8XdO?3}3YU1@JdLV(5@qu= zs+Jae$REBU^+=-Yp+wgsi7qCe+)D~~IRu(*9(-8-S+LpW!H>_ss+i_}OPKR5X70Cy z2L9a%>FNi3m^Yu$`Bz`~cfr2}{}=rOt+zS`ZeMV<%1OyZA?E)e?F9rMnjayJ6BhXT z0s{OWI%44Vi;7TZOOR{eKTv(v>I6D}yOV{Y`%})wk zu$Owj=feT_MU4eA|LT`;1e?u%9QB#QLV(Zp@C6SOF5V;eK78)AP!#Do!nn~vM4+oV zhB5C|hp9*pi}FGT9f7W9v00ygIk-GtV4(BwpA56XhTmbk|AF=kx`6i!-ngq#|L_!t zu1L2F6KH>Gr!&_SQG4)wrp~|r_72R6bC#_?c7W9>(L?0le|!Ct_LKjHGBB|^N*r+z zX>kzw$hd#?YJ&sKj}{oH{Hu3(qxbI2xs&BiY>fg(3qWYg%){?i$!vq4k17&<;P3uo zCeZzkj-dI~FA1y<^lJ~aJicII^6&p-*08jt-oR`u_`afQ)_WQmF%n4?obb z`1jA^cf+1-HFc{&_cyXRN*r^LxcTX+bjXAsni4#$NgF*B#JZ12>U>c?aD@4yg$3yR z(6s0ui`zp%`wKz)5u@{&I!w11XCG))zUX1{@Bh=d&<&b%7&w`Z1@AM(T(#6 zlyMJ~aCej_YyM~W_u7G0=ZhW||NiHE%XpCXA^wwxjtpPhqKgq4QoKj6Xg}h2a7$qf zbof_)g8h@0%SpB46=pJh9E%Tj7)bSWEY-+xKfunssX^yo{Vs-`k>BPfbIveT;y=#x zC__h~&+Xx6wLQ@Ni1pHf4IjUXHn5tpgDZw8{c-~oFsE{A_z?o`Y#@RV;|=v z1yGl4l8naxhGY3398M)aT43?7Ui*8om$^Z-3+(=h^Pa~QLgxj%+t;~B1Jd8^wqJIk zafL;MijbG9(98%G!LF+9qHi3ymwZ~_^6&p#=4tzq{VYumoL(Zd(c@oz?l!kJ-wnME z4yRI+W+wdmXZXF|Io)g3Eb#i{fPeM991py_0~{Eb&RjBppp4&Jbewk`fSzaimZL?h z&Beh(uJ^M^&u5d~&nBD1g4#c)JNRXQ<`3%&cb4p^-0A+)%b&&3pT*Lj#gVh>$%8YS z;x3xFPB3x3=;B$xl%i1d>6)-H$%o zuSrM${Wth+x+8d7>NmfLw#@Lh%o)>iTbuJZ_`WzvZBLclo*1<~l_4%V^9yUm(~KRm zd2P2}W?9bbZJ5k<;BNl&$AACTPkX-gxZrcqLs9ZCYUN(k%D%+PS6F%_l*W)DDXROExA22x4Sl)_K52Xnc269#U_? z$kFhCg#?5i4G%~-z{t_?fQ1Bv9t{sjIKar!@PLH`gl1~EsNirAgc{g24>0gE`FytE z`E20x+2W&k#YeV$K7J9~bIi8d2z)*3mzH8z8J^S&os zd=b-f#oItv1WwUDAYjSBaU#P!$|r61(X?%m-va;CK+h|!FF51%on?7>l~?rfTnJjB zcTlJE52mh&f6k&R&DXkye+e&l4qH6&6<`O)s{JHT4sd5?!NE&9cL0YMewL~ zpH0{l;Vmj!bYKSewXU82{xxs2*eH>lcvniiEKw{iR=h0niPQf}%j>PKrN&-OjTK9a z?Xo;LOYz`=Yh6o=mj3(iuw_d`z>b!tD$wLCXnrEw;&GynY)z9qP-(aP|a$6TMK6IZ$j&Gk_Y;(O?G6?|T4=f8hW6AWhwuFouS zn7l&7sQ2Ih&~wT&4|5)^gq~OWKVwCfS`OQ@v;!C2zeqOzs}r`ZpI={CXjv7&;^_ay zA%Mko&hpyH_ZSWYuwUV<{P!<`ql4|+iMA7<{U4C=+ZR3Vb6q?;nk?k{+b=(Cu#oTn z`k>;I9N!mPu`h9?J`Q(=c|Ng6NzFAwm zoqgvtzsoj$mu>tn+c3_p2;g|2*L&FljBM_SN6${&?%>zf{4(X=|LB15^6N9tly8Hc z=YQE^<-+HJw%gH6a^^zSQ7{5&!DX z&up2=y2GUv+MfPbZMng6x552@13j$CCnNs-_o$pX@$SsIk}&ys>u0&YS}^ZRMT(9n z&oZZjDLSHOX3g3=oymK#0rz4Z@5KfTiN$CC)gS0;o3t?FUwzuN^8uBt%B6Ck`NK`1 z`9qKEb)L+Xa@>n`xEAYhFV<<d>0xf1f59)s~KIl+lVC!&m=w6}(;`=r+ zbSS(^I>7{*Zv;&dYDjWV&z@&_z(dt(V#vS$4>DdPyzA-fDe9i2;XO&Edy+08l>1>eg$S)Sj@RXb4am29ELq_C;y6DUK zE1cCPoN)fsV58Q5;_0+LfWH=_tcutaN5?-;f_o0w`kqQL8nso3)t69~_i83d^ z=trP$$-8_t_aYTG@cPvM$|lb%Q^Y)y6x_k+k7@LSWB;M&oz~y^o%^}jP|VE129q~I}0L2U0e?q3VR{Y{U5|L0FASD5KJ?@<=#BG9-M=OhJ-+?#bP&art+ z(ts?9y`-FX`3!@FlZp_Bi&CM3ije!OV>NfVID%x@og~C z9Oyqa`O}(z^^PYUekJ{0@JH?1)!1uKBgLM@7I3BIJ(Kbx<)K!m&X*RL&KD~u(2+L|^-Xh?LsF1s62AYmZYb2MpTf{qwho2u0Oi#LqKc#b)3 z4A2qbJ{m199|4+wYXdK#Uo67FAfn~K-n=nE=ifh%FD^?&R;`zpI-V%g2A~fB)GoTQoBpFj%m`=Nsof^4w(>8DSvP3qJ2us>ii`)p`yNQ<+}2#Tye0 zq`27@=P50K?KcdRU^kJRmFB?&I=>V=Wd8eW)`_E99R?CS$D9^M=!kS3{TP0KzXO}| zLD2cDImgsebk3a1;R5aVNfdES6j2m93eL!0S;z0kChnbUXfyu0cF zd))$d(0bkpl2fzp{`UA&wR>Lw^2dLxcE@>ME{$c1J6;Mw3*-O&dCKnqJ^x!_s=?0U z+f)DYf$#gxoINd5k-g^25pIW@+RrBK{r8WtfME*5ai^DjH&SD-r^en$jeX_+?$1$P zCh&c}q0>VnPxR-#ILglzq8b=t>KmdO_{;zQ2VQTcD=NN|MLe&l_`aC_{?9XchoB4= zrPhD-imd^yK|5MsFu~6&J>?en;wV2yjg4&o^20A{Y-IfdgJWZ);P>TzV)x&)#FNPn zeBYtpVUsJ?e~VVnk4P~R2hATQ7>M&M-myb31L?lQ#~U>C9JrSnZ4CHVpSmh(S=y^* zuORmw8qM_45IMyxA|i0WtEp&#%)ff)RSByaUu}NH#a>c)thkV^q?A!f_SZvsCh<^T zu~5(OP~SiKvfC7y5BN1TKac^P@BQ)J=Xc-VfyP^1!SjcmF8o|vQU_dB9X$j7{dYXA z@Y~^c;%_FONisf7U?l#our~jMqrybaBOf~)WcoXPIA5)D>u6E|9g$q5kh5vQ6R+YI zo(ck;#$nkIhqeObvbEBsKBm;g20QGW{I7H35t>9F-

haV=`$nYJrdbU#WhrN=Z2QyQpiNXZ;pRcz)WnwQv2T=0u@{$nTBPE2pS|Cr?3Bs13jW z{}r~ku!ohabqX0OsokYdpNjdRYQ7JJQppyTnu3WI<3iV+>rN;_CX9o(0EOtAU) zpMR12JNH-17lHk6@UK3DZ4JW`wF6vkCl?uXOw#F?q|+ul^#)%q8$Yw_`A;tVpItQe zOtkwV=OC18B7N~+eaWtX*N(3pb~?<;o3{AnzyG^;ZQHfsl*0N)caN3M1*4)r6S+kt z4@j>{+cfoGy}}Qr@4?FrwlQ7WY;tk4$;HJcHC=iKm~0$QB`unu@~=MeufgwxTLIfM zbfkFLk{1T3h;g~{@G*h*7fHB6&adXvXkdH6cl}|^^otSG4@S&rT+s9GFW2#6iS}fX zwq%jy_z&5S3^)v=c-oT|W@w0UwdMYln)Sk1rl+lGVT6iA=h4Q5B_HEj9YtCU1zZdT zq8&J9Jp#`k9(Le4?7+hydx24M2m1UC7Cv}8oB>Azvqb~5#lNm?mY&;8JCB*h$LxK%c|b=L9qzx;U8 zyuU_ze+~8i8tM4`tL5D^hmfZ(j-mhRPxpNETp%UTqETZszmNU#LlAXZv)9au@3IX9 zO`6Gl>gf}|vyW^bXutcjnT;1XDlF#ur5}D-VKKMQ*@1(Nqr_@1ALzVNtGVZ1Rld*w z-JjTZ*`n{U4I@uP1EVZQfrWIR+vJO&`9McUM@NTqZj*0j`~%&G_`Upl`F|$g%O(&6 z>92A5UN!(D6VUuF=Om2`6G>mU=93vFGtWru*s}+8UMUY-@y-+@2_JbmDLE|jd(i!a z3=A3!3>fo^Sk!}e-$CXh39Ii&G2!G;E3QZ|YG-GB@G{%MSE>1g!k_wt|KI=r|Nrhk zhl&swy>+ z_LqkL>T9^(aXs;7{mV38Np`-H>d2BCv_`|t7ock&Z7itcQ2++qVo$`hxB^goHPT zf&kBvhZ_tec(|G$IVen6p^G@5RDz3(2Q&jvQF1!9sa#j@*e6QIM)rj zpYy-Ma)(_-uNVD}3;&)g_B}KFd+rBKnHLM| z3b}tfC(SHbIm_r3hmHu>QKpFwDgqow93tc@AA!!t08I%B^vijyi)&SK2k$RrOBCRd zvHSA7cGi(VnPx|cW=DxHEkg);PW~qS{xc&=yBA z_G7Ircm9C(=S9f;t4~{I^>tdXWdffYZ2#f`y3VXjf+0q4U9 zGz|XzEBWnu=3M4(o&#=+!29*ytlmFi)xVB^O)ZWR&S2DG-?%-ko~gxAq6K`PW7Nw1 zPng6HIR^?jgZC>IYz~-q^k$G-q5x|k&(Q!5g~FG=8SbdLILf#fN-!HrG_2YCC!qmm z|KC*`6p}8nx)DZvsk|U*>ZsWP-20^zk11?oBNl|&qu|RXTLO8`vU@5NSc1-Lbujr?|FJwkXmUlR_kp&iiJ<#$7ytLIU$tKL`zp|U zZlJ``0Eq@Z-=lRgQ1$;A(^ux7v9~&A2A@C7k$BLM$bO)G(L~UBrU$F;H^w=&M-+7= zinu2VxF-r|l{7GZN_XgZ)L5bLufDw@B4xeG?ldm8B!#1aGDibtRA$Y3uXt-2TawDr zL=fW1ZT@4N_rgq}hwbsg1Oo*wx4(}v+zzlG-dLdXuRdvaa<1WCLtDO%Mv3-D(D|ba zqCXuuc&iG&pD=@8!u3n9-wE*HkqIkb<7O-SMT!w`<^52r=mdpJ=WXEqh6(@v=j5+X*&Q0j!V#r6!;5wD$_Tv~UBR)5n-BP?I$sR= z_rKlkg~Lp*-#SS?mo2<6oA_L|2;llNz46WgzP8CP6aLi)Fzj8`Z57+aQD7%~;n?M$ z1$J^5JPNHY`uU4Ef{|;T0MiV?Lq9sbmIijX2zC0XUgGvoU+-|KvqWm;zyI5Jm)^U2 zZ|h&Ckkr87(7-9Ffj_zTPS|gBV5;}ksGa}nU%Z?7PU(Tm8@BLiiQ>}|BbKEq#Q$w& zG_W|4wQc5_wAmN4%x*0lAOF<{eh)piX}Z!0i!UX6V)T#i{#&*uhDXk9 zp2qKn{c`WWzy8^b{GNoE!@xR!sCP6`C8iBJh~1 zdM`(VoBRd$FN}>Y@&dkmel8WYcJt4*KYmzaHP7#wVfV_4OpDolZIf?iSj_Z|WeM|R z;$;#!!w5o!48j6T7LZ;dq^<&yqkK>(An<5-Ai@H~8VwInC?N1?cp$<8#2O6`P$(eq zXm}vP0>nZO4{4_~HZWpgDBBkCdb?EbXN#W4p!G!!?6D6X%5qdVEuO%x!c^<9Sm4v2 zKP5~PO*{ilTql}%E)dUn!V||e*~NE~i|1q)-wNs6yBu@5LO}N&`U<=H7ITU?ES$ix zAVf=)YpT=25KWO{8zZY9Dw=xJ@7gZE z%-eaFpGoJrgPdRa?T7#BW#rqsjnf);7{whgmE8{7PuQ^h=KlAd91kjX-u7+Z{IG22 zZLW^|Mu$7^rX7Cy@BdRT^`!Dg1z8<8igrZ4O`CkPV8_ijDJJFzqWaoaKmAvKJ#4Yr zQnB^cCvK#fMEjbpzL{n+d)9{L?j1LiwnXxpO}?458Y{POA{x`XEd^?bLmP^?*O83D?Ab_5a+~2(1%ScT*Dl;&Ab^gWwm3AKE(W|Ja|q!0dW~ z+3^Ci>qBpb_wO%2??0?JyE*-;`BYX`CjKuDeBdJ+=B$nGdhTR5;j@GPV}}W!9XfKK zsV(zl;(KBPK@-*EHmPYI>jzzK2)gfZh0YTt{`-FY;LE%FAKU!c_$2n?H9P;uHhy3s zmaaXn(y|Wck1hV0^RND2eeF&5-?av8J&!GVE?e|Gwy-_Cd2zLjgI`+n!<2vZi~&ll zPx+XF!h9}Ufc6(&wzybwJ9?S2ozG2-FT{G`_AGY8IpLe?C0#kU+S%>arlU8Q@tB?L3u|mEhN;T>X zX#b(cnL|1)-(UWHZqEegXFS-x^4_8_uEjcBlR;C2Q|2`$&%49KwHP!X$hBDK@wdvh zr{_6hH6%}`PTClwA$fY!(uKDjp!1CkVhXR*zpINK@M>#XnewmRNK}rMZ#$!b17yG9 z|9H)s%DCcyNUrWf8eW?;x({h^#Qt9!w+eKh`oe^N^+vCS%>xU!7J$zu_4!wS@`=lf z6>kolIMC@D)EM)x{@9vdd25n?B|CV!g69M4my{K}b6KZkzJhBF-gT^l16})&Ffa?11FOof%s{vw#~R9&Zmhe-1zWG$U{)gY{$t$9i7F==6*?Lfco#5BJ(h)?XFC7f@i`}% zrq{7`fDbSAXi{0h822>P?48FX4akwETUgIFuxB`MJXHkk$BYYoZaGy_^eAk9=Dw-h zr%v7(IFIRMpiGCOM2DlqSKZr9N+0+@>%SdETnt6_+in%+n!=$Y#qE|fF+fF(({=G~ zJ1q+x2`)FMi4iIy9Igi$1xy@{swg^o{Hve$bIR_foe8^xI#L4L!RXKApA%Yo%&s4o zxxO8Q7Rg0!lb@uPn5vQ(3PK4F_-{Q}|HD9vzdh+;hK5+*u|@wD?2~FM6ln#cIlp&) zwr}{MBh}a5bg@7~g4g})6|Mj#wjzn6;Pa0f?Kd=D=lfwI(Z}w5vA{rtw|(&@o6H{u z5`65=4+{)L_}UkoiD!(1tN&`2$UNOltE~}wUQ^cTOYiGEmB8{6M++rZ`d(JL!}h~O zs-HdiVS#}d-*LynKl>%jWcrUaJxtJ%;5)Yd|6-0C)(U)VhYv;=$n>x_v3^*0z%Aut zgw4NtGgH%0LDPMeO6?yd+&+r9eH58udUKLJC)cqeiK9s(N0USzO8;a0xnqT?6wk4w zgAqDnJuDV7GA!WzkD&2Jk){P64I&;IMpC_PNgES1#JZ32D3xAkYD<)H1{KDZ_hj2KR5mN%YXHP#)hfE zJ34-=%{yKhx4m@U@yde9s-9gTu=zrv6vt(4uU7oCxRbRhs#k6H-JDIc9{l`Yt`t=$ z5}7Cxl_{{@bjHk~1fY&YCF7upsyU|NmwYDI(%2A`vMf4Nw067xOqEws>oX z?!S5lfz-7BAo;7w5?7K%t|p5J9Ql_UJ;^LISt2A^Bs5t>^(2VzAmqG7K@+b2ota>= zgg~;0U^3V|T}LziVu|xfBIlDt7@qvEzdgqCol1Rkz>-+rM7uN zh7mW{@BfSp5{VKsPNo)4j1il0lIiOI{~oatVx6ghoiSo!oy=GN|GyET#N)=gDI!9t z`{?RFj0|R{5+zP0igYE4FeE&F8$V6XJyGIBg2;&kk*k%rx2Jd>aLbz*{pR2Qzk4^H zW7xqUaA5kPsTHdK{tGHH6fitF^N-6t5Of(6o1*~J%L#lhCvZUqb6Fe(7&#{}a8BTB zzog-INyY7w%0a%r9~kFrB&Y~v? zK#l-?;q-mQ_of3UK!=z9t6Q?lN@>+%zk}QHuvth zeOCx{o@k-Mi9(r@HNLyH#TuO`R5_8Ta6D1rQTJPmH)|{$<)HU7PGI}g+|l8{euOd6 z;a~lhy4Th30`?WNootji0iJ?eq53Fu?|RVoAI8Er|BZ`+*GlYM8Rl^O@W%v)fB!w# z9a#6|jE>R@PZ@rWB@Zhcr1;n~{N_)C&4=desHvwZJUV{BeFPc3oh2{k-~pEZ|4MID^oAW9-uZ#&2PN2>BtFQeaBdTu1=?>28d8+m z{w`oSx4eX-oWP02A1iF6_}qn`Y(3KO|L_MiiX?V$NW(0&KA{9+qV_Q)&?2bqb-7c&;xNC~v>tBBSHoyT1n@~?hY z)s#I7zZkahbu(LfGn;xdn<{zdeq)hmx|ou9Atm-=O5%q(?Zp=DOfknwrMH#F94obH zy}{z z@XFu?*Qq3xQ$Y%+f)t99mRIq`^FhupWOWqLcK2H1;)_21zp8brs7tG0%Tz&!mM0ef zUvu%NI-CyyA;Sf{RS(q6>qsn9cT6n(@9CdB0(xfB?gc z9E(|y^Gav=I)#Xcq0b+J_amxJz6jcu7%wF)1)V=U2%0|>6cG^Mg3PY+95zto6jESh zV&XXrpD$!!5TV9=A;dfbaC~Gq^n&IG|J4gKFeW(se*R9aJ5a>iQN-I(;Np`T+j3ts zxjKqC8w#)(3hX<3_svy3xt5I~&S0eJ;Gpp5&%MK`wTDA%nbUf`cX_|Rr`@L*BKa^_ zR4GLAm-wxTw^)rrJ0wFoB&W`h{30~rp4a+CY|fgj&Z?}=s=>eiL@W}l3Ji7#2(}3f zcBoNo`8RcH73W5WlM8H4Zg7w|$8`1m;~5P~?5)oe9ctuST~6#iet3Mm?hgl3;0l+(6)qE3xcpcyt9R6c z?ToT*x3FcmvTdVm^kFp{rAu2gg|?*zZOdd3d+nTUCv{W2Y$kizP4Th|{%N}&9OB^a zbWxa~@rAR~C1KacuYWj1I-QgXC1k`postqtOKJ|>f5Xmv>R-J;tH4r$r;b0EZccW% zG1=zkWQPOZTfU{rbDc<(X%7S)iEvdl_TCd;zgAFVLd3;U}%d#a1qb0#lwZub*oo)C!sp1nsYrO*mbs!VEhq> zCVEKx`)|I1!Qkfa4}uQtO@#>(|Ne_-MY`_KW-|!_&v(hNI!dfq_}NPJg~Rd2zyy(h z^$g4k``lAYikaL&=aGuA8HzmcdHwO|JqMP<8w_;*)qmzMODo$wXLs09@Op?Nh5|xa zoeulH_8m!-X$h2Q4wPtc%W^3A;K05pF+<{Cz14)wWu^PBRYUdv+hb*#yo2F?mt0FB z=rTj+M4kr=PFHIkWnzQQ2lBj4{=a!X^Qt3(pvll?M~NMN&GI~F4jg&3z(V8Sf6h9G zI=&@uN$i~gV}-|#Ba;h19}=>A0By%NlZ#thrS*aBsaI)G4@bB65&#se;o zH(2QWtB(^6-Msbb&fo)Vknm9aT~L!2W;_9WUaG;r|LMCdHc zOS8Zpt=eVa&3_{9jv^Wh{>w`?zB-zy&=M%q5-9UO#dFsByU_Dv>)Mt{BnrweT;Q1O%6KB z95s}A({+Er${PpT4^1pk`B%55c7YeWz%0%KuHgNQ^-=fw9@;(Rc;~=zcwvFYzxoNg zH}9@wuiXUO?-=;>-Mcr>r`N zwG)jJ9fcqyu`<8bWdAw#NiuAcB-kcNwCb~GDf1n0YXP@UgfA~k{MBXs@qh>Op$3D0 z|C|5kzd7&I_JYX`q+W(?k_>~eYQED1kbH;EzyA!a=Bmc*znPTUn`GRJK**@5ZV;RziL598s}tZ65#_+Iz~{Bd#A}j) z*CLb5m{}PwnwfeQ8F(+!=~-m(u5;q5<}m1Z!2j3Q0lNby%oJerK5W3f*?{}7f#FfV z_X+|^J(oe3;r3iMXsFM7Xxnt_>}QiRpH0qwHYsR6I5lWLM~T^dKljfME6f(~^&S4F z#N@}~$oIv;pT+f$iKhyKGx)xvDgXYjdS|}8aMi>04nkQaS_}WxMZKH4JK*Ki*AYwn zv_(!Wv053h`ijD|dFR5eg+^X=4ZRi`xxj4ws=jRs`ZKk^P5S%$^-0Br-@ksn>Tpvx zZSuo^^&Wp2PB9;2Joat&w!-LTg>$x*R;+*Rsm7aA_#u0JQ*0lFXY z?|-%bQa_Vsz4+0xe*yms=3g!Q6J~CXyKq2WP~(r_|Nl{2W4B)W-}>1?xb=X-M|KvW z<^vD5`)u@UdnnQM0KCQfonmeq!wHAv4ICzH|No~)q=vHo$aw9Llz&3`)4%$JYr(4& zW-4rOSa5Fo@2CI%ulzlES;97x5~ir>v6AhPQtgqPZ0Y~h z{o#GCODvufzqm~N;v&l+|KMr781#IuD-OM>vA5Q}Wjc4+qW7>#-(icMWiMxa|I6lE z#K4op;8VoVARocVF?xO}11dlt-yY?Uh7WQGjHUG)MGcP@^eix z@eEXP4K#86#KL*e#g|Dq)c2AL2z^nzKW%CCw~)|45m(<3*FZK_hG`S>m_kxRLqY>X zLIVTr6qpq^aIA<}8|t++Xla;EXwrN45RNS&I@h(9CT$E_J#8+x>)8WhIZu=J{;T&m zS#Z+j_>?zd;?okZx5kQ3i@l~X^;Pb4wi(NE!>57vAEu<2tB9LA%sC^r`{=*=dgjmm zpS`PsPQ#De7aXM5F9V(LRIt17_tJg8x?%Hw=lR~Ps&w#N!ttSG z=Uu(_%O6X2#tJ%Zwsw$tzwGeafA!G;T3hoJ!lE7S>ZV`5`>(!HBS3?%shf4htAgFp z@0M+TS+IMyf9uKn4l!@t4qyHE&yk^E4nrMN<+eG;GUsf|oO3MmZv2kPQ}!_3nwEQW zTIQ{3xf}97$7LKi5S7EW`sly<8I>%?LFF^&RUAp#bi-RM`)G>M%(-1%eNHz@6KABx z-Y8AHur2(ec&>v4_p+vq|LUF2OnEo+-^-T{kn>9GFZEvTP2O$1Eekw<7&KXS4;v$T|+xwOpIc6=MpguyrSYOVj4KXC1Sqg z-2=iWO{^yV`)@0_ZTF7*-EGS*s`yS+@x7?xJ7t0YFM*%~0h%sCQ~%Y+_H8vwOJopa z0-XoP;ws4E`a<4D;mEst@co807Z&+$-twZsO5wus$3Gh!7EJhcINI}+KZ`8{y?J2J z&dVIc|HOv>iUt1@o2m02d9bCFfzKCmU95~mu_+`$&dev92Ry|XD_Kpv9-qdA_ z-p4kjOX@!)a31JuoBT54U;Ts$b6ln$XLut7zW>m|@34i|i)qr4tOxkoib3n?n7f+) z^WPHNb%58c_-4Yt{|i>|G_A;4lhMU{*?{M=0qb zLqLEP_hu8&{NZMkk7BNJf(>oniw(HI`wOqUJs5AycEE?#`DDPqfA{(eTbaKGci8o8 z(&^p=x^J*+jlc)bY1_Ci>u?>`;kv9-vX$YV+UjLon?aWsa&0zvApep%i)Go_O)9;c zRL*Wv`PaAnZ1)-_F7W+_T$?qRJCByvG^K&|A5PLaHA$yjBs2Qc;vbP})4EfWc1Ea8 zJALikDL2r42i}Wxycg+QT5^BER#v`Khcr%ZQaN=yCpz}@**wZ{}7I;^9>P+fdqO{UOXVR$!Mt@d=_B*ch_*Y*L%31o-^sqU2 zf1<;``g>DD4Q5U#GJXb`9P?;WnI@X`YhNh1e--fWUsgi^!`Ac1ewlerQs8Wo;cSw* zV8@#xy~W{FGk8B@)f25i?hOnj(EWP#Ckkesn^*GuIC#F$=U+Wz*~xFY3z=741D(&; zq~g}3(tGBm@%ngBe-G53)4DKqLgaML^12hC`?FL!3RMp7J*|=QIKx4u|Ag|T1{)>b z6UVRX2OR+IFVy+>KUwgI+c|%w42Lf8d8q%47|MHp{GVZxbh1&U1B|9Ly}os5g&$~g z61?7Z+QWlg`xN9Ln+4sQR6NukJezWYuLCxJDHtcL z0?mguf$l$?w)A1{C({)!Y7;mh_Z^6giP7(vc|8EI&g~lkpK~{t$eAl-QOVn^h|1kzJ=%FFd)$;rQVNRyjKn2%885c*HV7tIz1JtwbIt)d6k1}oa&=BZuQTl)TI}?0;dB>7}e?LE$ zFcj%)RXXUQA<%P#`)RcNC-*=JHb)UQM*)$Aj=!(hzA%yDKH9XyPD;X1f}5=w zG@r=DDky$9eubF?&oQTi0XiZ)t&b+LFa)(F%0SLv6`8fg`~FtY{YH@UR5Ks2)g531 z-S^1Wd@#X4f~QSbL_`FMe~cM)rG|-AFI3)*Uy6&%LRZDso9WPM6{Y=M5{juuon)6+ z%1*D8TV5-=QPE%SuA1!jLYd{cvfB$!et&;&AtTf5Ww{Wv&`l@f0Xv^mh|Vo%4Jj9m zMj6Y3j7fUOCTbpCsCsmx?1o%vwt8L;69c|uhb~3v==8ce9#m|*VJaoa*31~GBQc?s z?;m6M4HJo8j^u+4I%3=%YySObykRIM$d>#uLPu!N>*zit>y@t#Q9SfL}*?as{e zKmLY^1P@2@#tI#=uJ-l+{xi0*B}uRafe^!j++1tMA0`Ss#~v+=(2?Uh%E0hX{)UMJ zH%Icq3InmO_I>~VGa~cfgX}Yr;69PG5M;VIakQq6sA5=^h;VpYex* z92e{3g#j9J94$-?|3q(?NOT1tgx zF+fAAqh+3*=V=dJv2ItVg#ije9Y@+elw9r5R*`9av@lRXLB^#*PA=VuZL!0#MGmZs z9X4od99?Y=pTBGFZfxxD{PenI+;IpSjhEztXy^K-4A!A39$1{KW^}tB?RAJcul@?|ASmB(0zSPp#67@ zcc$rePT_D-n81GIV}XMVe|vajRTS8MlYjLSjAxdfoO@>a4qK&(?aZGFOceT$@x_E~ z1l>P){4irC=>9>UEp;C)Y!&#yTL9&H-7Tk@|MPH@6X0C(u){`*uVbwY`@#b!m@idW z{Hs?;>d00&!_l_FMuFdh`B8<5LZACGlj(aw^L=dKBgKlhD(1i5=D^;<80qk@-saZ& zto*gPYqx>j3z`oU5joLdzw?HxTtCN=hYb!=eeHV=74~IVEA_WCU#c)s=sgxECmqFh zqEV&2P@%n0VXMylZnfMj_9g}J{e&_MaSPZ56pY-#fyrK^AfoRvYt0Qa$bLr9t*Kiy z+myUdf#w?vW!e*EzU%77U2_4?7aIJlX9#AV8fiB*{2XZUM#^ zfzD^WZ07s!me~#mCBY75p+*ZO!4nS~8w*ZxJ<;KOqQUt@W1HNs3dW5bEnX|cJ4%XL zy;e-$$SpaO>DJcLnM(_AZ7rR{+hFS=yJgNTJNz_n_nn`&7o{*sg{R&MOOy&v zZ9BGk)A^ka)7+*;rvCe%`a9uI!0UjUOq`QtI46s6P8Q+W%h3Pkpq*PFXng{!ql9Ms zC&mBb=<^3bZiybOfiA3p9wPHL8d98DByO%$kzZfcR=$OYf;^f~VR-RqT*^9p%f9C_O9A8_wz0L|wxJA(Ej zidbG0T)9(>#ZUmWKhc1vLH_?o``aLSr5BNTOp2rm=?I7^5v7>>?pO_R{F5x z>hKrxC(bw|s&z=F{i|m<9=Ls)(oe2wq0F_RpDV(cYpotOw-huS5);u4W7Z85);%lT z9?`r;qta?-0O){Pv*`h+nPqDlu3A2qDDE+Q{^$Sy4@X~bap+YIz8LcF-@3Tsp9a$z zrg9V-i1e^IZ!9nn;bxR-G5=9uHv5#@;)MlfQe8oTtY#58CbQ0h&nunPE6>KJhdzI} zBiCeBFLeG;Hqo<)iTAJp1Z6g`RWz`n>_3!}lETq`VIS8elacT@Qmv{ z=;8}TQ>GW#bLcsFZ*<@SquPa4@iYD!U2sylV5D%tNTK7SI8y=xhYb9F!^08`OkC*c z2c6Hy5-4-nLE^B31cN{WBi8~B1F`O-N)tUagg9NI;^XBabin1ahl&s<3%9U*3=ndE^D%{vCfAgWSHP`J&I*Ifwz zyC>6+L!kG_qYV}+LcK?lgo0}|Dny(2B^sXK7Hi(O@b;`*MSKe3x$^G03huf0gKNH} zsWS;T>j)QX2p4NS^w$59B+g+0x-S}Z9s*aZEa?30Ht=Bvtd0Vjj_oRrOz8QYRK5h_ zyi%8a>wm8XwWlCUU{=Kcs(&$E0vvu5LE(2~?>cQc4t>!6!-)Y3LY*$o3~L%HG(qdp z8Y2{hI9yMsY_@lBOKJq&-{;}G;C|JTstX5Pm=A)|SB2Y_oeuvCSA`t`Pi{2_3S4%| z-Sh7Y)6qnc7SNVC0UPO`%y$%$zRTP zqrwqGnIncWn%9^E+s)P769w1;dDsGZJ{+{W?Q@Qa-BIS418D!^r+LZpkEI+S_b>i8 zJ~oZyZiX_fiW01f5?p^H96fFwa9#}F-*|rKYlmOzPjBvHOB6Yp z078yOO!jzif$i7%_uq!qEH*#wn}OF6M}ZbF@^Oo=P|JYjUxO;=dY6?-C7|$jF!=Yc zYG>i&bK$RzLH8Yk&Ogon&z|=_sHG$)6qU9r|M{LPq zdB*}Jjyj4Qbre}~>0iZHZs>gC|9FP`0lO>Nb(@X`N`R1~M2SsBpIBYM{>d#-fi+QvEm4NyOIzpLqHXShGVFme#~oyB zpK`FieSE@Ntk>Q7V1bDc_wlgbt#{+tlT<)ch=~ec6n%>nUmiFPo{#(=Xm4z8^=_Bh{{Q>;tTqpPIkHSgqD<3!6SgZxp!+H& z==`hCncQUXpLIvrGx&K04G$dFela@-I-Dj+#XU)7$8~oOlPyvnpz|M8+>2Bg7`A`C z-2pnEbcV&hI{vNGCvP>FKh>e*iD0G2zyB{8*b}N&Eqf;6qcG+86T?Cuxhd_hU!C+| z>X@X_-lWk!N#jN0M7G-52RK-r8Uy~-H=a2ax?U?TL+u3kvW|`>jbl%_8igu;cxniH zr6|pG(U{~VbzFP_sDHoF;M4 zNgthQXY_A*EBphEM_kt6x~#Lfyy9?w3ZM67(0NSWmkkzdRyx{j>u~1Srh_^E{s;dT zTowH{`j_0f$2Mm#Tbz4r^C#-{29XyBE*v||SoyEMgZDabtw_I!!=>~minagh%sGEC z&t~2g&U8^EaH5LuC6mA_c7ee)(Z|Ub}l3bR0b7`v7wp7W5JJxMyaFBUxcKGVQ|7J|gtTn7} zO5!V61hxzyAAc#@d7PKRYa2 zazOr~`5(dm_0hAxc1HeTJpnzRv_9-!=)UPw#ka!tA5NSae$y^|c7a3k1qsmnVdbA` zl@2A2(+?>6zmWd-@4v}Zg_D9)83I7(nF@dUS3mzpl~(4^Su|@Mw4-!UDt^4G&N#An<5-Ai@H~VsqH206`5h7Z{iE1Hxo!~|4a1ymdbR9qW4-y0kh=9uE6A-u9gX`EVLmwm3b<%8dE_^@`j{PT3X=Sc>WEN|CNcrHUnB$ev$4g_5mo{Geyj9-HAubQJ|M1_w^OK)XXPs&3a8I}V_RW9w z35>$~0`?iNa*)+^zkKyy{lX4|cEg^~P`;S$rPA9=W44!Gvv|0Twb4Nqa-WmqlPQ0K zcDL-faVg8>PLJE>i&-Xj8Vie*7TwyGI&)d-t!=43zdtfOkaCE4>)L$v-+!rX%fc*} z`IDI>+raw`+ftXDkJ^`9&2*y_ba&oQ+~8{X)zVUn9v9_{9wtn^F3N$z zX$dk+6Inb1zPLM`g&OdhG|KhM^i{S-z(I1r-@_pd*8Rqw?>s}8KI}hGp zc;T}}g_BFq=52cC9)r$*Klj*Xg36E2DwzlRA@>^wgfhgR3|-A|fH&ju&4z#f#aMrB z-Iit+EO+*?0R-JyR=dKt(t*FN`D4PLddIXD{}cX4y#M)MHt@S_;D6a*!L+IswGQAt*zvN^X_Cn`pz}soX8ilNcYX>_wjEod z1L%H&n1BDHd7hrx?*7#80QXbyd8OVoiLr*Od z{<}GxR4tkq^Y33?LG8x+-QNU2_Y>~)_*Xx3)q!(AtGGhI=kxje`{%Xuzwvy@pS}*= zp!vo>^}O%4@Vc>W*n8^aCKU+U=O=4g$1B&lNC$KU;Ut~TqyJKF+IxhlO!i_`S{R}v ze2V>Sq?cbO=sZ%5&Pf`9{M;Puvx7P}X>@GT=-i}XvFH5_@sI;2Sc^dWAJalIw|}2L zaXP5~13I7Oj_|Ez8Vgtbg5FQ~-^f~EuRt)DfP=?V$I5_z_4VZrE?fMntACwbsB&_l z!pVgSGd9G^*SSb>G-;eDR5?+oGFdJ1_>3uBTumwvR8n(v&;P>*+>bgI2K@WSRT8lO zW99UgM;(h4IwpZof$iCa4jr>Ni&Rb)g3uJ@!{^J7!sZ_rwlcJOzt~@=baJ8s1aZaP zSkY+1VWBj^lljvG69xX0F}KqcncPA5g-Nha64CmSaKFl%kG)9cSfUDBlFBCjLmzy< z9cW7tjCA?;KYV3MeE9wJ*aOh}7Sn%a>{!at5FOOsq~Hcd-Vb=?4)F)MPtsv;(qM1W z*mhSUyZaw_zSQU6|C9wxX|L2$T&z05lZPHnDk3&Frq}uBbxcz5Xp-@0k`YT(G-I-W z-jDdd-S|i1Zn5sPI8Tsz1&=0`yJ{Y{7Q}P7s7&@yG3s<-p2(&_Uzhf7vp_@-p+f z<$Cb>H?7DCif(7QK<7_^r`!^xCpiX90-*+Pt!(csu=|qNx7!Rw`LhyY^hc5hi zl3^sm-O4o4L4$|0Ztk2z0c>%Jcij z9c`330v_+E$(-k=xQFSuXz4N0QZ}*5B4+CeY!ePF(9sY+_3xjp#6c5AH9DJI&TyfE;=ldcI#ClwrMB^h6=bbV*Ft9i<{4jyfM;_h3Yeg9PenWIV@_gdL2MZRkbtH$Yt;*wc>tDDt~j??T9TxUAj3`j-Yw zy-5-x!vE`cIb zlr%RbTR%GbP^9IdK+8jcAJ6^&eXx)^8tmEF=I=O;d~9%#;qT~@TDO`Het+Rqp0f=$Cn_9O1Wqb{>abAi_t1Q?`i&Xne#DMO z8C&IvIu|!NaJqokx8J;V<=umIPx`_*VDn{lBDWnGA8@!R@ST9}M+_94xIM~ak^*>( zo{X5ujTrT0x09gFh6*PN6>b=y+~pHtfi-??**N|+yJ^iwxGaw=H36C z91e1P9iT0b3OpXZKV#M$IKlh~bbjhQr;~@y6!08jI?<>C*)MtM$-5;@Y<=vY@)I;) z`Q^*~(o5+a4s!e*haXm0$n+hzR$zGGaN_aB3WI~Lqmw`$ghWU zr*bHWakMBFT1W`AHMj9ht7Bqy6gXl4+EiEJz@+zp9eutBozK?dAkl0f;%p$YKpNyi zFaGB;{Ldx)pG%1HyvnRLc93dcwlnu%ePiCvy5IAD>&gX}8A8x3(Ib^}dL80cu)k{j zSHFy3Wx3V#)#lq2pBO&4tgHCMP-mY*+>&;O+0UjOO#N41*S0MDT0BFAosVmzk7=ln zYvj?#vhSGo@%gD5`iUC)sTwktXq8XjajWOBN6%rGp2Hq;4;Vic1p4`GHt=4ooAD;AoCyLUP0tDcwHO_El|lF6{bv?PKKbwe|Nk>W#5#|qOiTz7>Nxtk zZ`B$O4Y4j)rG)`1LLEmKMMOe6Kzyf(U_Ou5s(igxLq!)wMHfTGDJq^#X6nkvUZ^a2 zrgH2>3xk>N8RI{o{crO*z$z4=?Q1kiZv=Pv{&>U6EZw1qLi7;v;V|FE;OLr)**d?l7bfx`&` zhZDg2TSY9Gjs!}yI0`g7iX<&$vuj`mm)8*gwme?2KrKT@tjE;}blzsy5$@!;5DNnd zzBZ?W5h_AFtWAy!J3K5Tma{n*CK(8+v$ZuRC(rWQ-f;R@iTCz~PfhaojxaNEGh1>o zn{qLmPQ3o-#W{JVfTf`VQv(H-hE5c&bPU$#n(-|&{8{FVZ?6(-%XA!dB zVixjm4s(-d@-I^0Pm0S`_fmLpU zLz~mY0EK`5r-$zRX+3dsrxW4xs$swCta)5V(CP;u0wERn2$TKTo#SL>U)w z`O&Q6`pS;8;Ad(DT@DC3UqeXZXK;4lf#U}gGerK? zUo>qq0q?JLc9f{#=xbpQgzX=!5;T4oY`j^t zkIhkp)llT9fk0*aR?A1?aW07>EP(>dfdW&MU(Qpn)B>G{YAE7tD8g{0Kk+#O=)Bbg znSXU`+@=AGBffD%&2M&;;5Z`A^>#0GzOa6+)Yr7X8G;-8TEX_WI7*}(X}ot}{~`85 ziDL;O#}Y&;{%@LapBZ}J;lHYNTMq?#f=ZPD{TEBlY>VbB@zQ3 zJ)CIZ;0`(OR8HaWNf8DH7l-4ECT1x7`xp3g_Fwf{hDe8_$`2iE{?&hpszpku4md@hZBz$R%raI=l*%>&C4~cOZZqp=b0)T4OG~syhm)y0k`%- z1$Qvw;M=41mm8$t!{T4P)Y9{zCtigAa%f8t1odZ}=6=!rzTf5MA@(F0$oevi@*O)` z?&h&ik~r1~LM>leP zoj>*cjk}WVo7vf5=f~JKX05vW|5v<2r}CuNc2bb(mWa|Xq-_bEiXVd?yW|UAE!9Y{7Tg=EZ`EF?afzdLKLVUbg9b?C@3fqTM5i^{G$x_4+iFv<#6@e~&E3{ml&a)|Z*@m7aWP1m5A|LSARSPd!- z=Cd6L;XdlM^I!elGYM16zm}goAlAd0eez$u!D)lv!N0@BnIxxW-kh2$IW4nmo5s2Y z8ca8j<=)(uD|I}#rgCXO_0$8i&rLi0@?ZVKGh5$ux$SKu2aQBmKkES{pQ zo)4Vse{uhHxTyYwv-V$o$ttB)O2-{mF~RObw3)LYa@O)%jRK3AXFVU z>m-u|1Ti=;`aEDC9q$HLOK@T|Jm5hAW{idhI2ho>Xn4Sb0?Zf<4{$KRiP7+Y2L+fR zci@o3flU$&hb0>13>Pr4GxdD7@OcbE3%GZGNfuXw+;@16+4f_qXxvdzhd@meq0WEx zj1L%IF|1N}!m1RutbQYa?)v+>6M=Wb=(8@6Fsi&_VdVb)l_S2x9fBuJbG@Vd; z6Z(T=M}k4*>#t2)@d^tX*?@+jif~*fE>;>UNU@x7SVE{PJIYQ~-BD=X z;uTNItmXWsUw&A!>u%JAXgLQtzx3O8|J4bHZ;hN7`ZM}m%<)p`?S(PhOTRphYx&0t z-GBK1yL6l3wzjs8usg>pXKyRLbF4CfYvR`VPub>d%bmR}bI!KhsDoMyoJA}yW^I|Z zMr}5TN^`$2>=3EzHu>hi|IxvF%4KFgo$5EUEpddy(k_j3`)yfW$+Q%ks{Z}6o zoWvHCZP2DPBNcRB>5bCF3Tvm6VVMqL+EOHV#$y#L5FS;aR<#B;KWZ^fIOGi+K+7ezcTvbbIp@$5a|JvD|Y zYXXaB0E_1Y5zkfcv)dF{;sn2d4l5O6alFKnv-+ux(8bRV7e3nvesP#!m%q?8`@jVC zD}t5(>H}Z5d8l~=a7>%<*`fb4=zLN^mIHN#Jsu4<^LaZi-)yj%-+TYr+9-!}>7e@! z|MPoJIa%VP`G^g)p6xMcJ=>d8;$oGn4*04+zF70`|Eh0)Q=`N}1J3zhwg92W7LViK zW0pZ1 z^fONd9zHwJwQSMKjDP=yBrf&~w+UNtMCgh0J}o*Jp(ozE@7?Rl#1xk_FmluWb<*dT zIUo0C1JM12n++EHd3Tj9f{E*}&Z$EhT!(ceBCa!<3C-hPY~TgD64Bt6hHlS$&Lr={ z8eE4pybo)bNuGGQ@et@dQ?A7tT#I$iC@>s*ki~RrkpXDS;Ua^t%=!P;-36ULGBe@d ze@C~1^go`vy;nr4iFCU@L~lXj66Nb@9(Q;T#$ zRWdKHtNan9HR)7~(!v0(NnDj`@kbAIx+cwx_*efQ`u2^dybo!39a8Z=q@lHl z%l7ObQZ=$&U~?9o7W;8u0=Xti*!y%2MXMOBi21h!>dW7dy>Y7hR?A_ z#KXYzgDM@HGyXZYVDUW72{QI9=o>-Ia zBI&?&0zChBVv$0nF#GxyCPgQ~>oZR_X{ZS*`aZTjz}50;fz7{q!@sRRcHCwC2p0R%_XniVZ{I@rrnSsGdtQ$HX`2YXRoPe3kKP{`^ z_jk3=dJ?a&q`n@JJF~DS^`_BP*rfFiZ9U1 zy-0-}jHayeEU#Mu-Y@C#?;pb}C$AQ*l(b`BjcC6$ehRD1qcXjvqQxRj$Vw z$5{j#TtAU06Wn0`f!)G^eKF{Ky7~iWHXPf;zISXDm8j&2z9s=|C%!8hn^6RD`-AbfXk)tv@P!mUD*6%N6Vy#)0<9c zN^r3{6$U7XaJZO+T0G*=kPu*VdYGXg!si+t<&hEY)Zqm|SITUzyRc?OJa3G6-Z=An zYcgB^2d?)_Q7Ix2^nuwnfN@G+8)$w|q%Bc`!C~4Il}Ha089w&Kpz}t1j@hngSj`66 zOxTtvp>cpI=Kz}=Xy;R+L|dSQ{1Qj26kZM!DPFc_@cu>CN56mnQ|LL?v@zkw@7FIM zJ_NOe(B})$`6%;;3mz;$m-jH0>gG(IIKe=I^W*`84KPcqJ1SP5`D4erNaM&tl_LvP z7!K6^zrX*7hLRZ9Bgcsfa#KB-LjFtIv2M~ivJiwA7Oed*|KHB_kO9jf9hO5npz~DY z_uIK%GGMu+!*WT7;lQ^4^Tq9sUbHxJ(d5WQ3&sVL{C@e{wSF{d`Do(u(WG(7-GBep zf9Oa_`zI}YsURlp&%ENFxn1i+8<&d~E)OlHsCfSR#%_1a(6&|4vQ^QRfq`M#UsWa6 z(7+=hzDGiQnHfB`{IfS=RS7&I9LS;)xOo2t`&%=ZrkI3=n1oI>3H`spYeP(mgNVx4 z0Na266aF9i_x0Vc_a___CUiW0*kK{pccM~4POigAL9m0Fsn9|}z#7~ufuoUj-TNDgBJhln>IIY?%3VC zgTp~-;_=6fg*I{%+WPcYD%^0F69C_@DAj-BY-*Sehl7G3=Mlk9(EMd}7Fz~rybM(S zWp;P8tZU

v9KK4x0b_@$&P8FLhkt{eUv;O(I*? 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%0AM+kO?_BV_^}+L2o0ErpeO9~Ozm_}iTIT(0xeQYO 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 z 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 i9Xz#=K$u9;yg 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 zVvU9eC=?KQG&~St0b-4Y2PhN}cr-i^VF6-|h6gAV5O_2^5McpgjfMv(6cBhcJP=_4 zVvU9eC=?KQG&~St0b-4Y2PhN}cr-i^VF6-|h6gAV5O_2^5McpgjfMv(6cBhcJP=_4 zVvU9eC=?KQG&~St0b-4Y2PhN}cr-i^VF6-|h6gAV5O_2^5McpgjfMv(6cBhcJP=_4 zVvU9eC=?KQG&~St0b-4Y2PhN}cr-i^VF6-|h6gAV5O_2^5McpgjfMv(6cBhcJP=_4 zVvU9eC=?KQG&~St0b-4Y2PhN}cr-i^VF6-|h6gAV5O_2^5McpgjfMv(6cBhcJP=_4 zVvU9eC=?KQG&~St0b-4Y2PhN}cr-i^VF6-|h6gAV5O_2^5McpgjfMv(6cBhcJP=_4 zVvU9eC=?KQG&~St0b-4Y2PhN}cr-i^VF6-|h6gAV5O_2^5McpgjfMv(6cBhcJP=_4 zVvU9eC=?KQG&~St0b-4Y2PhN}cr-i^VF6-|h6gAV5O_2^5McpgjfMv(6cBhcJP=_4 zVvU9eC=?KQG&~St0b-4Y2PhN}cr-i^VF6-|h6gAV5O_2^5McpgjfMv(6cBhcJP=_4 zVvU9eC=?KQG&~St0b-4Y2PhN}cr-i^VF6-|h6gAV5O_2^5McpgjfMv(6cBhcJP=_4 zVvU9eC=?KQG&~St0b-4Y2PhN}cr-i^VF6-|h6gAV5O_2^5McpgjfMv(6cBhcJP=_4 zVvU9eC=?KQG&~St0b-4Y2PhN}cr-i^VF6-|h6gAV5O_2^5McpgjfMv(6cBhcJP=_4 zVvU9eC=?KQG&~St0b-4Y2PhN}cr-i^VF6-|h6gAV5O_2^5McpgjfMv(6cBhcJP=_4 zVvU9eC=?KQG&~St0b-4Y2PhN}cr-i^VF6-|h6gAV5O_2^5McpgjfMv(6cBhcJP=_4 zVvU9eC=?KQG&~St0b-4Y2PhN}cr-i^VF6-|h6gAV5O_2^5McpgjfMv(6cBhcJP=_4 zVvU9eC=?KQG&~St0b-4Y2PhN}cr-i^VF6-|h6gAV5O_2^5McpgjfMv(6cBhcJP=_4 zVvU9eC=?KQG&~St0b-4Y2PhN}cr-i^VF6-|h6gAV5O_2^5McpgjfMv(6cBhcJP=_4 zVvU9eC=?KQG&~St0b-4Y2PhN}cr-i^VF6-|h6gAV5O_2^5McpgjfMv(6cBhcJP=_4 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

=sE(GcNEHJTZq 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

Sk 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 BJgkB|j0^t$*JCtu6XakMdV-1QC9RL0cGq}3^ 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�~dw#C}HTze|&mBLae*E};v;NnepAkPN{OJ90 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%0A&AKw=F=Q~vG2H)u`u~^zwhXQepw@^X!@>Vi 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 s99&H}DAoIklbdE9vpaINRu#hJnRjYESo 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